{"id":51136062,"url":"https://github.com/alexandroit/stackline-angular-multiselect-angular-22","last_synced_at":"2026-06-25T18:01:17.019Z","repository":{"id":362585915,"uuid":"1258808077","full_name":"alexandroit/stackline-angular-multiselect-angular-22","owner":"alexandroit","description":"Angular 22 StackBlitz playground for @stackline/angular-multiselect-dropdown","archived":false,"fork":false,"pushed_at":"2026-06-05T00:05:22.000Z","size":1540,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-05T01:08:00.268Z","etag":null,"topics":["stackline"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexandroit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"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":null,"dco":null,"cla":null}},"created_at":"2026-06-04T00:05:26.000Z","updated_at":"2026-06-05T00:05:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/alexandroit/stackline-angular-multiselect-angular-22","commit_stats":null,"previous_names":["alexandroit/stackline-angular-multiselect-angular-22"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/alexandroit/stackline-angular-multiselect-angular-22","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandroit%2Fstackline-angular-multiselect-angular-22","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandroit%2Fstackline-angular-multiselect-angular-22/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandroit%2Fstackline-angular-multiselect-angular-22/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandroit%2Fstackline-angular-multiselect-angular-22/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexandroit","download_url":"https://codeload.github.com/alexandroit/stackline-angular-multiselect-angular-22/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandroit%2Fstackline-angular-multiselect-angular-22/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34786231,"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-25T02:00:05.521Z","response_time":101,"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":["stackline"],"created_at":"2026-06-25T18:01:16.197Z","updated_at":"2026-06-25T18:01:17.014Z","avatar_url":"https://github.com/alexandroit.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @stackline/angular-multiselect-dropdown Angular 22 Playground\n\nLightweight StackBlitz playground for the Angular 22 line of `@stackline/angular-multiselect-dropdown`.\n\nThis playground installs `@stackline/angular-multiselect-dropdown@22.0.4` against Angular `22.0.2`.\n\nThis project includes the full live test matrix in one Angular app. Each example is isolated in its own folder, Angular module, route, and data object:\n\n```text\nsrc/app/examples/basic/basic.module.ts\nsrc/app/examples/basic/basic.component.ts\nsrc/app/examples/basic/basic.component.html\nsrc/app/examples/basic/basic.component.scss\nsrc/app/examples/basic/basic.data.ts\n```\n\nThe same pattern is used for every route.\n\nShared layout follows the same maintainable Angular shape:\n\n```text\nsrc/app/app.component.ts\nsrc/app/app.component.html\nsrc/app/app.component.scss\nsrc/app/shared/example-source.component.ts\nsrc/app/shared/example-source.component.html\nsrc/app/shared/example-source.component.scss\n```\n\n- settings-only skin switching\n- classic, material, dark, custom, and brand skins\n- accessibility-focused keyboard and ARIA contract checks\n- `aria-selected` plus `aria-checked` multiselect state checks\n- template slot examples for custom badges, labels, items, headers, and empty states\n- renderless/headless state helper examples for custom Angular HTML\n- dialog and overflow clipping support with `tagToBody`\n- search, single selection, grouping, templating, limits, lazy loading, virtual scrolling, events, and disabled states\n\n## Routes\n\nEvery route has its own module, component, template, stylesheet, and data file.\n\n| Example | Route |\n| --- | --- |\n| Basic usage | `/basic` |\n| Keyboard contract | `/keyboard-contract` |\n| ARIA state | `/aria-state` |\n| Template slots | `/template-slots` |\n| Headless + ARIA | `/headless-aria` |\n| Single selection | `/single-selection` |\n| Search filter | `/search-filter` |\n| Custom search from API | `/custom-search-api` |\n| Search filter by property | `/search-filter-by-property` |\n| Search and add new item | `/search-add-new-item` |\n| Group by | `/group-by` |\n| Templating | `/templating` |\n| Template-driven forms | `/template-driven-forms` |\n| Reactive forms | `/reactive-forms` |\n| Virtual scrolling | `/virtual-scrolling` |\n| Lazy loading from API | `/lazy-loading-api` |\n| Data from remote API | `/remote-data` |\n| Using in list for loop | `/list-loop` |\n| Using inside dialog | `/dialog` |\n| Multiple dropdowns | `/multiple-dropdowns` |\n| Load dynamic data | `/dynamic-data` |\n| Methods | `/methods` |\n| Events | `/events` |\n| Disabled state | `/disabled` |\n| Limit selection | `/limit-selection` |\n| Limit badges | `/limit-badges` |\n| Custom placeholder | `/custom-placeholder` |\n| Styling | `/styling` |\n\n## Run\n\n```bash\nnpm install\nnpm start\n```\n\n`npm start` is StackBlitz-safe. It starts the Angular CLI dev server when the runtime supports Angular 22, and serves the committed preview build when the WebContainer Node version is older than Angular 22 requires.\n\nUse this command when you specifically want the real Angular CLI dev server:\n\n```bash\nnpm run dev\n```\n\nAngular 22 CLI requires Node `22.22.3+`, `24.15.0+`, or `26.0.0+`.\n\n## StackBlitz\n\n```text\nhttps://stackblitz.com/github/alexandroit/stackline-angular-multiselect-angular-22?startScript=start\n```\n\nOpen a specific route by adding `initialpath`:\n\n```text\nhttps://stackblitz.com/github/alexandroit/stackline-angular-multiselect-angular-22?startScript=start\u0026initialpath=%2Fsearch-filter\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandroit%2Fstackline-angular-multiselect-angular-22","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexandroit%2Fstackline-angular-multiselect-angular-22","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandroit%2Fstackline-angular-multiselect-angular-22/lists"}