{"id":51009218,"url":"https://github.com/openmfp/webcomponents","last_synced_at":"2026-06-21T00:36:05.802Z","repository":{"id":357562616,"uuid":"1161641624","full_name":"openmfp/webcomponents","owner":"openmfp","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-20T12:42:54.000Z","size":2489,"stargazers_count":0,"open_issues_count":23,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-21T00:36:00.546Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openmfp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-19T10:49:33.000Z","updated_at":"2026-06-18T12:46:40.000Z","dependencies_parsed_at":"2026-05-27T17:01:52.843Z","dependency_job_id":null,"html_url":"https://github.com/openmfp/webcomponents","commit_stats":null,"previous_names":["openmfp/webcomponents"],"tags_count":95,"template":false,"template_full_name":null,"purl":"pkg:github/openmfp/webcomponents","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmfp%2Fwebcomponents","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmfp%2Fwebcomponents/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmfp%2Fwebcomponents/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmfp%2Fwebcomponents/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openmfp","download_url":"https://codeload.github.com/openmfp/webcomponents/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmfp%2Fwebcomponents/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34590214,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-21T00:36:01.140Z","updated_at":"2026-06-21T00:36:05.793Z","avatar_url":"https://github.com/openmfp.png","language":"TypeScript","funding_links":[],"categories":["Third Party Components"],"sub_categories":["UI Libraries"],"readme":"# OpenMFP Web Components Library\n\nA modern Angular 21 web components library featuring declarative UI components built with the latest signal-based APIs.\n\n![Build Status](https://github.com/openmfp/webcomponents/actions/workflows/pipeline.yaml/badge.svg)\n\n## ✨ Features\n\n- **Angular 21** - Built with the latest Angular features and signal-based APIs\n- **Web Components Ready** - Exportable as native web components via Angular Elements\n- **Declarative UI** - Intuitive generic ui component\n- **Vitest Testing** - Fast, modern testing framework\n- **TypeScript** - Full type safety with strict mode\n- **Tree-Shakeable** - Optimized bundle size with ES modules\n\n## 🚀 Getting Started\n\n### Installation\n\n```bash\n# Install dependencies\nnpm install\n\n# Build the library\nnpm run build\n```\n\n### Build Commands\n\nRun `npm run build` to build the project. The build artifacts will be stored in the `dist/` directory.\n\n```bash\n# Build once\nnpm run build\n\n# Build in watch mode (for development)\nnpm run build:watch\n\n# Build and publish to yalc (for local testing)\nnpm run build:watch:yalc\n```\n\n### Testing\n\nRun `npm run test` to execute unit tests with Vitest.\n\n```bash\n# Run tests once\nnpm test\n\n# Run tests in watch mode\nnpm run test:watch\n\n# Generate coverage report\nnpm run test:cov\n```\n\n### Storybook\n\nStorybook is used to develop, document, and visually test components in isolation. Stories live alongside components under `projects/ngx/**/stories/*.stories.ts`.\n\n```bash\n# Start Storybook in development mode (default port: 6006)\nnpm run storybook\n\n# Build a static Storybook site (output: storybook-static/)\nnpm run build:storybook\n```\n\nOnce running, open Storybook at [http://localhost:6006/](http://localhost:6006/).\n\n### Code Quality\n\n```bash\n# Lint code\nnpm run lint\n\n# Fix linting issues\nnpm run lint:fix\n\n# Format code with Prettier\nnpm run format\n\n# Check code formatting\nnpm run check-format\n```\n\n### Web Components Support\n\nComponents can be exported as native web components using Angular Elements, making them framework-agnostic.\n\n## Components\n\n| Angular tag | Web Component tag | Documentation                                                    |\n|---|---|------------------------------------------------------------------|\n| `\u003cmfp-declarative-table\u003e` | `\u003cmfp-wc-declarative-table\u003e` | [docs/declarative-table.md](docs/declarative-table.md)           |\n| `\u003cmfp-declarative-form\u003e` | `\u003cmfp-wc-declarative-form\u003e` | [docs/declarative-form.md](docs/declarative-form.md)             |\n| `\u003cmfp-declarative-table-card\u003e` | `\u003cmfp-wc-declarative-table-card\u003e` | [docs/declarative-table-card.md](docs/declarative-table-card.md) |\n| `\u003cmfp-dashboard\u003e` | `\u003cmfp-wc-dashboard\u003e` | [docs/dashboard.md](docs/dashboard.md)                           |\n\n## NeoNephos Foundation\n\nThis project is part of the [NeoNephos Foundation](https://neonephos.org), a Linux Foundation Europe initiative.\n\n\u003cp align=\"center\"\u003e\u003cimg alt=\"Bundesministerium für Wirtschaft und Energie (BMWE)-EU funding logo\" src=\"https://apeirora.eu/assets/img/BMWK-EU.png\" width=\"400\"/\u003e\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmfp%2Fwebcomponents","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenmfp%2Fwebcomponents","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmfp%2Fwebcomponents/lists"}