Home / registry / README

LARC Component Registry

The official registry for LARC web components. Browse, discover, and share components built for the LARC framework.

๐ŸŒŸ Features

  • Searchable Directory: Find components by category, tags, or keywords
  • Quality Verified: Components reviewed and verified by the LARC team
  • Try Before Install: Test components directly in the playground
  • NPM Integration: All components available via npm
  • CDN Ready: Use components directly from CDN without build steps

๐Ÿ“ฆ Browse Components

Visit larcjs.com/components to browse the full registry.

Categories

  • ๐Ÿงญ Routing & Navigation - Client-side routing solutions
  • ๐Ÿ’พ State Management - Data persistence and state handling
  • ๐Ÿ“ Forms & Input - Form handling and validation
  • ๐Ÿ”Œ Data & Connectivity - API integration and data fetching
  • ๐ŸŽจ UI Components - Interface building blocks
  • ๐Ÿ“„ Content & Media - Content display and editing
  • ๐Ÿ” Authentication - Security and authentication
  • ๐ŸŽญ Theming - Theme management
  • ๐Ÿ”ง Developer Tools - Debugging utilities
  • โš™๏ธ Advanced - Advanced functionality

๐Ÿš€ Quick Start

Using a Component

# Install from npm
npm install @larcjs/ui

# Or use from CDN
<script type="importmap">
{
  "imports": {
    "@larcjs/ui": "https://cdn.jsdelivr.net/npm/@larcjs/ui@latest/dist/index.js"
  }
}
</script>

<script type="module">
  import '@larcjs/ui/pan-card';
</script>

<pan-card header="Hello World">
  Your content here
</pan-card>

Using the CLI

# Create a new LARC app
npx create-larc-app my-app

# Add a component
cd my-app
npx larc add @username/component-name

# Generate a new component
npx larc generate component my-widget

๐Ÿค Contributing a Component

We welcome community contributions! Here's how to add your component to the registry:

Prerequisites

  • Publish to npm - Your component must be available on npm
  • Follow LARC conventions - Use PAN bus for communication
  • Include documentation - README with examples
  • Add tests (recommended) - Improves quality score
  • Submission Process

  • Fork this repository
  • Create a component entry in components/your-component.json:
  • {
      "name": "your-component",
      "displayName": "Your Component",
      "description": "Brief description of what it does",
      "category": "ui",
      "npm": {
        "package": "@username/your-component",
        "version": "1.0.0",
        "url": "https://www.npmjs.com/package/@username/your-component"
      },
      "repository": {
        "type": "github",
        "url": "https://github.com/username/your-component"
      },
      "demo": "https://username.github.io/your-component",
      "icon": "๐ŸŽจ",
      "tags": ["ui", "widget"],
      "status": "stable",
      "author": {
        "name": "Your Name",
        "github": "username"
      },
      "license": "MIT",
      "panTopics": ["widget:*"],
      "attributes": [
        {
          "name": "color",
          "type": "string",
          "default": "blue",
          "description": "Widget color",
          "required": false
        }
      ]
    }
  • Submit a Pull Request
  • See CONTRIBUTING.md for detailed guidelines.

    ๐Ÿ“‹ Component Requirements

    Required

    • โœ… Published on npm
    • โœ… Valid component name (kebab-case with at least one hyphen)
    • โœ… Basic documentation
    • โœ… MIT-compatible license
    • โœ… Follows web component standards

    Recommended (for better quality score)

    • โญ TypeScript definitions
    • โญ Unit tests
    • โญ Live demo
    • โญ Usage examples
    • โญ PAN bus integration

    ๐Ÿ† Quality Badges

    Components receive quality scores based on:

    • A Grade: Tests, types, docs, examples, verified
    • B Grade: Types, docs, examples
    • C Grade: Basic docs
    • D Grade: Minimal docs
    • F Grade: No docs

    ๐Ÿ” Verification

    The LARC team reviews submitted components for:

    • โœ… Security (no malicious code)
    • โœ… Standards compliance (proper web component implementation)
    • โœ… PAN bus usage (correct topic patterns)
    • โœ… Documentation quality
    • โœ… Code quality
    Verified components get a โœ“ badge in the registry.

    ๐Ÿ“Š Statistics

    Components with npm packages get automatic stats:

    • Monthly downloads
    • GitHub stars
    • Last updated date
    • Bundle size

    ๐Ÿ› ๏ธ Development

    Building the Registry

    # Install dependencies
    npm install
    
    # Generate registry from component files
    npm run build
    
    # Validate registry
    npm run validate
    
    # Run tests
    npm test

    Local Preview

    # Start registry browser locally
    npm run dev
    
    # Open http://localhost:3000

    ๐Ÿ“š Documentation

    ๐Ÿ”— Links

    ๐Ÿ“„ License

    MIT License - see LICENSE for details

    ๐Ÿ™ Credits

    Built with โค๏ธ by the LARC community.

    Special thanks to all contributors!