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
Submission Process
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
}
]
}
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
๐ 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!