@supersoniks/concorde 5.1.1 → 5.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/concorde-docs/SKILL.md +153 -0
- package/.agents/skills/{concorde-component-docs/template.md → concorde-docs/templates/component.md} +6 -2
- package/.agents/skills/concorde-docs/templates/decorator.md +43 -0
- package/.agents/skills/concorde-docs/templates/guide.md +25 -0
- package/PLAN-DOCS-AGENTS.md +80 -0
- package/README.md +4 -4
- package/ai/README.md +29 -41
- package/ai/skills/concorde/SKILL.md +54 -324
- package/ai/skills/concorde/rules/composition.md +32 -0
- package/ai/skills/concorde/rules/data.md +47 -0
- package/ai/skills/concorde/rules/http.md +25 -0
- package/ai/skills/concorde/rules/lists-forms.md +35 -0
- package/ai/skills/concorde/rules/styling.md +46 -0
- package/ai/skills/concorde/rules/troubleshooting.md +45 -0
- package/build-infos.json +1 -1
- package/concorde-core.bundle.js +21 -21
- package/concorde-core.es.js +977 -980
- package/custom-elements-manifest.public.config.mjs +8 -0
- package/{.tmp-cem/custom-elements.json → custom-elements.json} +11758 -8904
- package/dist/concorde-core.bundle.js +21 -21
- package/dist/concorde-core.es.js +977 -980
- package/dist/docs-mock-api-sw.js +58 -223
- package/dist/docs-mock-api-sw.js.map +4 -4
- package/dist/img/concorde/plane_01.jpg +0 -0
- package/dist/img/concorde/plane_02.jpg +0 -0
- package/dist/img/concorde/plane_03.jpg +0 -0
- package/dist/img/concorde/plane_04.jpg +0 -0
- package/dist/img/concorde/plane_05.jpg +0 -0
- package/dist/img/concorde/plane_06.jpg +0 -0
- package/dist/img/concorde/plane_07.jpg +0 -0
- package/dist/img/concorde/plane_08.jpg +0 -0
- package/dist/img/concorde/plane_09.jpg +0 -0
- package/dist/img/concorde/plane_10.jpg +0 -0
- package/dist/img/concorde/plane_11.jpg +0 -0
- package/dist/img/concorde/plane_12.jpg +0 -0
- package/dist/img/concorde/plane_13.jpg +0 -0
- package/dist/img/og-concorde.jpg +0 -0
- package/dist/robots.txt +11 -10
- package/docs/.htaccess +82 -0
- package/docs/404.html +15 -0
- package/docs/404.md +5 -0
- package/docs/about.html +111 -0
- package/docs/about.md +22 -0
- package/docs/assets/{index-Bb-_LRyY.js → index-6sS76xWj.js} +2625 -3158
- package/docs/assets/index-DkdPbH0F.css +1 -0
- package/docs/core/components/functional/date/date.html +211 -0
- package/docs/core/components/functional/date/date.md +150 -0
- package/docs/core/components/functional/fetch/fetch.html +180 -0
- package/docs/core/components/functional/fetch/fetch.md +108 -0
- package/docs/core/components/functional/if/if.html +65 -0
- package/docs/core/components/functional/if/if.md +34 -0
- package/docs/core/components/functional/jsonata/jsonata.html +110 -0
- package/docs/core/components/functional/jsonata/jsonata.md +61 -0
- package/docs/core/components/functional/list/list.html +200 -0
- package/docs/core/components/functional/list/list.md +125 -0
- package/docs/core/components/functional/mix/mix.html +78 -0
- package/docs/core/components/functional/mix/mix.md +46 -0
- package/docs/core/components/functional/queue/queue.html +155 -0
- package/docs/core/components/functional/queue/queue.md +51 -0
- package/docs/core/components/functional/router/router.html +154 -0
- package/docs/core/components/functional/router/router.md +93 -0
- package/docs/core/components/functional/sdui/sdui-extension-points.html +127 -0
- package/docs/core/components/functional/sdui/sdui-extension-points.md +94 -0
- package/docs/core/components/functional/sdui/sdui.html +397 -0
- package/docs/core/components/functional/sdui/sdui.md +307 -0
- package/docs/core/components/functional/states/states.html +141 -0
- package/docs/core/components/functional/states/states.md +112 -0
- package/docs/core/components/functional/submit/submit.html +178 -0
- package/docs/core/components/functional/submit/submit.md +106 -0
- package/docs/core/components/functional/subscriber/subscriber.html +68 -0
- package/docs/core/components/functional/subscriber/subscriber.md +91 -0
- package/docs/core/components/functional/translation/translation.html +60 -0
- package/docs/core/components/functional/translation/translation.md +38 -0
- package/docs/core/components/functional/value/value.html +81 -0
- package/docs/core/components/functional/value/value.md +47 -0
- package/docs/core/components/ui/alert/alert.html +201 -0
- package/docs/core/components/ui/alert/alert.md +186 -0
- package/docs/core/components/ui/alert-messages/alert-messages.html +132 -0
- package/docs/core/components/ui/alert-messages/alert-messages.md +85 -0
- package/docs/core/components/ui/badge/badge.html +197 -0
- package/docs/core/components/ui/badge/badge.md +181 -0
- package/docs/core/components/ui/button/button.html +309 -0
- package/docs/core/components/ui/button/button.md +216 -0
- package/docs/core/components/ui/captcha/captcha.html +80 -0
- package/docs/core/components/ui/captcha/captcha.md +56 -0
- package/docs/core/components/ui/card/card.html +254 -0
- package/docs/core/components/ui/card/card.md +215 -0
- package/docs/core/components/ui/divider/divider.html +144 -0
- package/docs/core/components/ui/divider/divider.md +126 -0
- package/docs/core/components/ui/form/checkbox/checkbox.html +200 -0
- package/docs/core/components/ui/form/checkbox/checkbox.md +125 -0
- package/docs/core/components/ui/form/fieldset/fieldset.html +238 -0
- package/docs/core/components/ui/form/fieldset/fieldset.md +161 -0
- package/docs/core/components/ui/form/form-actions/form-actions.html +122 -0
- package/docs/core/components/ui/form/form-actions/form-actions.md +98 -0
- package/docs/core/components/ui/form/form-layout/form-layout.html +115 -0
- package/docs/core/components/ui/form/form-layout/form-layout.md +109 -0
- package/docs/core/components/ui/form/input/input.html +235 -0
- package/docs/core/components/ui/form/input/input.md +142 -0
- package/docs/core/components/ui/form/radio/radio.html +144 -0
- package/docs/core/components/ui/form/radio/radio.md +78 -0
- package/docs/core/components/ui/form/select/select.html +178 -0
- package/docs/core/components/ui/form/select/select.md +86 -0
- package/docs/core/components/ui/form/switch/switch.html +146 -0
- package/docs/core/components/ui/form/switch/switch.md +80 -0
- package/docs/core/components/ui/form/textarea/textarea.html +162 -0
- package/docs/core/components/ui/form/textarea/textarea.md +82 -0
- package/docs/core/components/ui/group/group.html +113 -0
- package/docs/core/components/ui/group/group.md +77 -0
- package/docs/core/components/ui/icon/icon.html +223 -0
- package/docs/core/components/ui/icon/icon.md +214 -0
- package/docs/core/components/ui/image/image.html +194 -0
- package/docs/core/components/ui/image/image.md +167 -0
- package/docs/core/components/ui/link/link.html +101 -0
- package/docs/core/components/ui/link/link.md +81 -0
- package/docs/core/components/ui/loader/loader.html +114 -0
- package/docs/core/components/ui/loader/loader.md +87 -0
- package/docs/core/components/ui/menu/menu.html +395 -0
- package/docs/core/components/ui/menu/menu.md +370 -0
- package/docs/core/components/ui/modal/modal.html +324 -0
- package/docs/core/components/ui/modal/modal.md +211 -0
- package/docs/core/components/ui/pop/pop.html +250 -0
- package/docs/core/components/ui/pop/pop.md +216 -0
- package/docs/core/components/ui/progress/progress.html +132 -0
- package/docs/core/components/ui/progress/progress.md +109 -0
- package/docs/core/components/ui/table/table.html +333 -0
- package/docs/core/components/ui/table/table.md +267 -0
- package/docs/core/components/ui/theme/theme.html +116 -0
- package/docs/core/components/ui/theme/theme.md +97 -0
- package/docs/core/components/ui/toast/toast.html +185 -0
- package/docs/core/components/ui/toast/toast.md +147 -0
- package/docs/core/components/ui/tooltip/tooltip.html +112 -0
- package/docs/core/components/ui/tooltip/tooltip.md +89 -0
- package/docs/custom-elements.json +16559 -0
- package/docs/docs/decorators/ancestor-attribute.html +71 -0
- package/docs/docs/decorators/ancestor-attribute.md +59 -0
- package/docs/docs/decorators/auto-subscribe.html +61 -0
- package/docs/docs/decorators/auto-subscribe.md +40 -0
- package/docs/docs/decorators/bind.html +87 -0
- package/docs/docs/decorators/bind.md +76 -0
- package/docs/docs/decorators/get.html +166 -0
- package/docs/docs/decorators/get.md +160 -0
- package/docs/docs/decorators/handle.html +139 -0
- package/docs/docs/decorators/handle.md +119 -0
- package/docs/docs/decorators/on-assign.html +72 -0
- package/docs/docs/decorators/on-assign.md +63 -0
- package/docs/docs/decorators/patch.html +76 -0
- package/docs/docs/decorators/patch.md +44 -0
- package/docs/docs/decorators/post.html +150 -0
- package/docs/docs/decorators/post.md +134 -0
- package/docs/docs/decorators/publish.html +74 -0
- package/docs/docs/decorators/publish.md +56 -0
- package/docs/docs/decorators/put.html +83 -0
- package/docs/docs/decorators/put.md +51 -0
- package/docs/docs/decorators/subscribe.html +91 -0
- package/docs/docs/decorators/subscribe.md +87 -0
- package/docs/docs/decorators/wait-for-ancestors.html +82 -0
- package/docs/docs/decorators/wait-for-ancestors.md +76 -0
- package/docs/docs/directives/sub.html +79 -0
- package/docs/docs/directives/sub.md +75 -0
- package/docs/docs/directives/t.html +91 -0
- package/docs/docs/directives/t.md +73 -0
- package/docs/docs/getting-started/ai-agents.html +130 -0
- package/docs/docs/getting-started/ai-agents.md +50 -0
- package/docs/docs/getting-started/components.html +27 -0
- package/docs/docs/getting-started/create-a-component.html +108 -0
- package/{src/docs/_getting-started → docs/docs/getting-started}/create-a-component.md +3 -6
- package/docs/docs/getting-started/dataFlow.html +174 -0
- package/{src/docs/_core-concept → docs/docs/getting-started}/dataFlow.md +18 -19
- package/docs/docs/getting-started/installation.html +69 -0
- package/docs/docs/getting-started/installation.md +36 -0
- package/docs/docs/getting-started/my-first-component.html +180 -0
- package/{src/docs/_getting-started → docs/docs/getting-started}/my-first-component.md +5 -14
- package/docs/docs/getting-started/start.html +47 -0
- package/{src/docs/_getting-started → docs/docs/getting-started}/start.md +1 -13
- package/docs/docs/getting-started/theming.html +334 -0
- package/docs/docs/index.html +99 -0
- package/docs/docs/misc/api-configuration.html +149 -0
- package/{src/docs/_misc → docs/docs/misc}/api-configuration.md +10 -12
- package/docs/docs/misc/dataProviderKey.html +136 -0
- package/{src/docs/_misc → docs/docs/misc}/dataProviderKey.md +4 -4
- package/docs/docs/misc/docs-mock-api.html +155 -0
- package/{src/docs/_misc → docs/docs/misc}/docs-mock-api.md +12 -13
- package/docs/docs/misc/dynamic-path.html +181 -0
- package/{src/docs/_misc → docs/docs/misc}/dynamic-path.md +8 -8
- package/docs/docs/misc/endpoint.html +51 -0
- package/{src/docs/_misc → docs/docs/misc}/endpoint.md +8 -8
- package/docs/docs/misc/html-integration.html +45 -0
- package/{src/docs/_misc → docs/docs/misc}/html-integration.md +4 -5
- package/docs/docs-mock-api-sw.js +58 -223
- package/docs/docs-mock-api-sw.js.map +4 -4
- package/docs/hubs/decorators.html +438 -0
- package/docs/hubs/form-components.html +404 -0
- package/docs/hubs/remote-data.html +367 -0
- package/docs/img/archive/concorde-001-2cv.webp +0 -0
- package/docs/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
- package/docs/img/archive/concorde-red-arrows-2002.webm +0 -0
- package/docs/img/archive/credits.json +28 -0
- package/docs/img/concorde/plane_01.jpg +0 -0
- package/docs/img/concorde/plane_02.jpg +0 -0
- package/docs/img/concorde/plane_03.jpg +0 -0
- package/docs/img/concorde/plane_04.jpg +0 -0
- package/docs/img/concorde/plane_05.jpg +0 -0
- package/docs/img/concorde/plane_06.jpg +0 -0
- package/docs/img/concorde/plane_07.jpg +0 -0
- package/docs/img/concorde/plane_08.jpg +0 -0
- package/docs/img/concorde/plane_09.jpg +0 -0
- package/docs/img/concorde/plane_10.jpg +0 -0
- package/docs/img/concorde/plane_11.jpg +0 -0
- package/docs/img/concorde/plane_12.jpg +0 -0
- package/docs/img/concorde/plane_13.jpg +0 -0
- package/docs/img/og-concorde.jpg +0 -0
- package/docs/index.html +184 -68
- package/docs/index.md +22 -0
- package/docs/llms-full.txt +5779 -0
- package/docs/llms.txt +108 -0
- package/docs/privacy.html +122 -0
- package/docs/privacy.md +32 -0
- package/docs/robots.txt +11 -10
- package/docs/sitemap.xml +243 -0
- package/docs/src/core/components/functional/date/date.md +150 -0
- package/docs/src/core/components/functional/fetch/fetch.md +108 -0
- package/docs/src/core/components/functional/if/if.md +34 -0
- package/docs/src/core/components/functional/jsonata/jsonata.md +61 -0
- package/docs/src/core/components/functional/list/list.md +125 -0
- package/docs/src/core/components/functional/mix/mix.md +46 -0
- package/docs/src/core/components/functional/queue/queue.md +51 -0
- package/docs/src/core/components/functional/router/router.md +93 -0
- package/docs/src/core/components/functional/sdui/component-catalog.gaps.json +511 -0
- package/docs/src/core/components/functional/sdui/component-catalog.json +3103 -0
- package/docs/src/core/components/functional/sdui/default-library.json +108 -0
- package/docs/src/core/components/functional/sdui/example.json +32 -0
- package/docs/src/core/components/functional/sdui/sdui-extension-points.md +94 -0
- package/docs/src/core/components/functional/sdui/sdui.md +307 -0
- package/docs/src/core/components/functional/states/states.md +112 -0
- package/docs/src/core/components/functional/submit/submit.md +106 -0
- package/docs/src/core/components/functional/subscriber/subscriber.md +91 -0
- package/docs/src/core/components/functional/translation/translation.md +38 -0
- package/docs/src/core/components/functional/value/value.md +47 -0
- package/docs/src/core/components/ui/alert/alert.md +186 -0
- package/docs/src/core/components/ui/alert-messages/alert-messages.md +85 -0
- package/docs/src/core/components/ui/badge/badge.md +181 -0
- package/docs/src/core/components/ui/button/button.md +216 -0
- package/docs/src/core/components/ui/captcha/captcha.md +56 -0
- package/docs/src/core/components/ui/card/card.md +215 -0
- package/docs/src/core/components/ui/divider/divider.md +126 -0
- package/docs/src/core/components/ui/form/checkbox/checkbox.md +125 -0
- package/docs/src/core/components/ui/form/fieldset/fieldset.md +161 -0
- package/docs/src/core/components/ui/form/form-actions/form-actions.md +98 -0
- package/docs/src/core/components/ui/form/form-layout/form-layout.md +109 -0
- package/docs/src/core/components/ui/form/input/input.md +142 -0
- package/docs/src/core/components/ui/form/radio/radio.md +78 -0
- package/docs/src/core/components/ui/form/select/select.md +86 -0
- package/docs/src/core/components/ui/form/switch/switch.md +80 -0
- package/docs/src/core/components/ui/form/textarea/textarea.md +82 -0
- package/docs/src/core/components/ui/group/group.md +77 -0
- package/docs/src/core/components/ui/icon/icon.md +214 -0
- package/docs/src/core/components/ui/icon/icons.json +1 -0
- package/docs/src/core/components/ui/image/image.md +167 -0
- package/docs/src/core/components/ui/link/link.md +81 -0
- package/docs/src/core/components/ui/loader/loader.md +87 -0
- package/docs/src/core/components/ui/menu/menu.md +370 -0
- package/docs/src/core/components/ui/modal/modal.md +211 -0
- package/docs/src/core/components/ui/pop/pop.md +216 -0
- package/docs/src/core/components/ui/progress/progress.md +109 -0
- package/docs/src/core/components/ui/table/table.md +267 -0
- package/docs/src/core/components/ui/theme/theme.md +97 -0
- package/docs/src/core/components/ui/toast/toast.md +147 -0
- package/docs/src/core/components/ui/tooltip/tooltip.md +89 -0
- package/docs/src/docs/decorators/ancestor-attribute.md +59 -0
- package/docs/src/docs/decorators/auto-subscribe.md +40 -0
- package/docs/src/docs/decorators/bind.md +76 -0
- package/docs/src/docs/decorators/get.md +160 -0
- package/docs/src/docs/decorators/handle.md +119 -0
- package/docs/src/docs/decorators/on-assign.md +63 -0
- package/docs/src/docs/decorators/patch.md +44 -0
- package/docs/src/docs/decorators/post.md +134 -0
- package/docs/src/docs/decorators/publish.md +56 -0
- package/docs/src/docs/decorators/put.md +51 -0
- package/docs/src/docs/decorators/subscribe.md +87 -0
- package/docs/src/docs/decorators/wait-for-ancestors.md +76 -0
- package/docs/src/docs/directives/sub.md +75 -0
- package/docs/src/docs/directives/t.md +73 -0
- package/docs/src/docs/getting-started/ai-agents.md +50 -0
- package/docs/src/docs/getting-started/components.md +5 -0
- package/docs/src/docs/getting-started/create-a-component.md +136 -0
- package/docs/src/docs/getting-started/dataFlow.md +87 -0
- package/docs/src/docs/getting-started/installation.md +36 -0
- package/docs/src/docs/getting-started/my-first-component.md +227 -0
- package/docs/src/docs/getting-started/start.md +35 -0
- package/docs/src/docs/getting-started/theming.md +253 -0
- package/docs/src/docs/misc/api-configuration.md +79 -0
- package/docs/src/docs/misc/dataProviderKey.md +168 -0
- package/docs/src/docs/misc/docs-mock-api.md +62 -0
- package/docs/src/docs/misc/dynamic-path.md +71 -0
- package/docs/src/docs/misc/endpoint.md +45 -0
- package/docs/src/docs/misc/html-integration.md +14 -0
- package/docs/src/docs/search/docs-search.json +10332 -0
- package/docs/src/tag-list.json +1 -0
- package/docs/src/tsconfig-model.json +23 -0
- package/docs/src/tsconfig.json +1359 -0
- package/index.html +157 -5
- package/package.json +8 -4
- package/public/docs-mock-api-sw.js +58 -223
- package/public/docs-mock-api-sw.js.map +4 -4
- package/public/img/concorde/plane_01.jpg +0 -0
- package/public/img/concorde/plane_02.jpg +0 -0
- package/public/img/concorde/plane_03.jpg +0 -0
- package/public/img/concorde/plane_04.jpg +0 -0
- package/public/img/concorde/plane_05.jpg +0 -0
- package/public/img/concorde/plane_06.jpg +0 -0
- package/public/img/concorde/plane_07.jpg +0 -0
- package/public/img/concorde/plane_08.jpg +0 -0
- package/public/img/concorde/plane_09.jpg +0 -0
- package/public/img/concorde/plane_10.jpg +0 -0
- package/public/img/concorde/plane_11.jpg +0 -0
- package/public/img/concorde/plane_12.jpg +0 -0
- package/public/img/concorde/plane_13.jpg +0 -0
- package/public/img/og-concorde.jpg +0 -0
- package/public/robots.txt +11 -10
- package/scripts/ai-init.mjs +104 -379
- package/scripts/ai-init.test.mjs +81 -239
- package/scripts/docs-markdown-vite-plugin.ts +43 -0
- package/scripts/docs-public-url.mjs +56 -0
- package/scripts/docs.htaccess +82 -0
- package/scripts/generate-cem.mjs +244 -0
- package/scripts/generate-cem.test.mjs +122 -0
- package/scripts/generate-crawl-docs.mjs +233 -118
- package/scripts/generate-crawl-docs.test.mjs +124 -0
- package/scripts/generate-sdui-catalog.mjs +11 -10
- package/scripts/post-build-docs.js +37 -50
- package/scripts/pre-publish.mjs +2 -1
- package/scripts/site-pages.mjs +212 -0
- package/scripts/site-pages.test.mjs +116 -0
- package/site-pages/about.md +22 -0
- package/site-pages/privacy.md +32 -0
- package/src/core/components/functional/date/date.md +91 -231
- package/src/core/components/functional/fetch/fetch.md +66 -83
- package/src/core/components/functional/if/if.md +28 -3
- package/src/core/components/functional/jsonata/jsonata.md +42 -37
- package/src/core/components/functional/list/list.md +103 -43
- package/src/core/components/functional/mix/mix.md +31 -26
- package/src/core/components/functional/queue/queue.demo.ts +10 -7
- package/src/core/components/functional/queue/queue.md +40 -61
- package/src/core/components/functional/router/router.demo.ts +16 -16
- package/src/core/components/functional/router/router.md +64 -65
- package/src/core/components/functional/sdui/component-catalog.gaps.json +1 -1
- package/src/core/components/functional/sdui/component-catalog.json +1 -1
- package/src/core/components/functional/sdui/example.json +19 -86
- package/src/core/components/functional/sdui/sdui-extension-points.md +1 -1
- package/src/core/components/functional/sdui/sdui.md +187 -358
- package/src/core/components/functional/states/states.demo.ts +21 -22
- package/src/core/components/functional/states/states.md +86 -61
- package/src/core/components/functional/states/states.ts +1 -1
- package/src/core/components/functional/submit/submit.md +64 -72
- package/src/core/components/functional/translation/translation.md +38 -0
- package/src/core/components/functional/value/value.md +34 -22
- package/src/core/components/ui/alert/alert.md +48 -58
- package/src/core/components/ui/badge/badge.md +27 -34
- package/src/core/components/ui/button/button.md +139 -106
- package/src/core/components/ui/captcha/captcha.md +17 -32
- package/src/core/components/ui/card/card.md +6 -6
- package/src/core/components/ui/divider/divider.md +8 -11
- package/src/core/components/ui/form/checkbox/checkbox.md +90 -42
- package/src/core/components/ui/form/fieldset/fieldset.md +31 -75
- package/src/core/components/ui/form/form-actions/form-actions.md +14 -16
- package/src/core/components/ui/form/form-layout/form-layout.md +19 -29
- package/src/core/components/ui/form/input/input.md +95 -95
- package/src/core/components/ui/form/radio/radio.md +55 -34
- package/src/core/components/ui/form/select/select.md +60 -45
- package/src/core/components/ui/form/switch/switch.md +57 -34
- package/src/core/components/ui/form/textarea/textarea.md +55 -38
- package/src/core/components/ui/group/group.md +35 -33
- package/src/core/components/ui/icon/icon.md +4 -4
- package/src/core/components/ui/image/image.md +41 -107
- package/src/core/components/ui/link/link.md +6 -6
- package/src/core/components/ui/loader/loader.md +30 -55
- package/src/core/components/ui/menu/menu.md +27 -27
- package/src/core/components/ui/modal/modal.md +72 -96
- package/src/core/components/ui/pop/pop.md +80 -158
- package/src/core/components/ui/progress/progress.md +2 -2
- package/src/core/components/ui/table/table.md +91 -255
- package/src/core/components/ui/theme/theme.md +11 -36
- package/src/core/components/ui/toast/toast.md +48 -117
- package/src/core/components/ui/tooltip/tooltip.md +27 -62
- package/src/core/decorators/subscriber/bind.ts +9 -14
- package/src/core/utils/LocationHandler.spec.ts +80 -0
- package/src/core/utils/LocationHandler.ts +5 -9
- package/src/docs/components/docs-demo-sources.ts +55 -140
- package/src/docs/components/docs-lit-demo.ts +1 -3
- package/src/docs/components/docs-source-link.ts +0 -82
- package/src/docs/decorators/ancestor-attribute.md +59 -0
- package/src/docs/decorators/auto-subscribe.md +40 -0
- package/src/docs/decorators/bind.md +76 -0
- package/src/docs/decorators/get.md +160 -0
- package/src/docs/decorators/handle.md +119 -0
- package/src/docs/decorators/on-assign.md +63 -0
- package/src/docs/decorators/patch.md +44 -0
- package/src/docs/decorators/post.md +134 -0
- package/src/docs/decorators/publish.md +56 -0
- package/src/docs/decorators/put.md +51 -0
- package/src/docs/decorators/subscribe.md +87 -0
- package/src/docs/decorators/wait-for-ancestors.md +76 -0
- package/src/docs/directives/sub.md +75 -0
- package/src/docs/directives/t.md +73 -0
- package/src/docs/docs-location.spec.ts +56 -0
- package/src/docs/docs-location.ts +133 -32
- package/src/docs/docs.ts +1 -2
- package/src/docs/example/decorators-demo-bind-demos.ts +83 -135
- package/src/docs/example/decorators-demo-geo.ts +30 -19
- package/src/docs/example/decorators-demo-post.ts +88 -186
- package/src/docs/example/decorators-demo-subscribe-publish-get-demos.ts +165 -268
- package/src/docs/example/decorators-demo.ts +85 -98
- package/src/docs/example/docs-api-config-demos.ts +19 -20
- package/src/docs/example/docs-flight-demos.ts +147 -0
- package/src/docs/example/docs-jsonata-demos.ts +52 -52
- package/src/docs/example/docs-list-demos.ts +43 -123
- package/src/docs/example/docs-provider-keys.ts +21 -28
- package/src/docs/example/docs-queue-demos.ts +37 -77
- package/src/docs/example/docs-router-demos.ts +20 -25
- package/src/docs/example/docs-submit-demos.ts +48 -48
- package/src/docs/example/docs-toggle-demos.ts +4 -3
- package/src/docs/getting-started/ai-agents.md +50 -0
- package/src/docs/getting-started/components.md +5 -0
- package/src/docs/getting-started/create-a-component.md +136 -0
- package/src/docs/getting-started/dataFlow.md +87 -0
- package/src/docs/getting-started/installation.md +36 -0
- package/src/docs/getting-started/my-first-component.md +227 -0
- package/src/docs/getting-started/start.md +35 -0
- package/src/docs/getting-started/theming.md +253 -0
- package/src/docs/header/header.ts +11 -6
- package/src/docs/home/catalog.ts +1 -1
- package/src/docs/home/home.ts +20 -11
- package/src/docs/layout.ts +12 -13
- package/src/docs/misc/api-configuration.md +79 -0
- package/src/docs/misc/dataProviderKey.md +168 -0
- package/src/docs/misc/docs-mock-api.md +62 -0
- package/src/docs/misc/dynamic-path.md +71 -0
- package/src/docs/misc/endpoint.md +45 -0
- package/src/docs/misc/html-integration.md +14 -0
- package/src/docs/mock-api/api-config-mock.ts +5 -0
- package/src/docs/mock-api/fixtures.ts +0 -278
- package/src/docs/mock-api/flights.ts +89 -0
- package/src/docs/mock-api/router.ts +3 -4
- package/src/docs/mock-api/urls.ts +1 -2
- package/src/docs/navigation/navigation.ts +82 -103
- package/src/docs/navigation/toc.ts +7 -4
- package/src/docs/search/docs-search.json +2804 -5024
- package/src/docs/search/markdown-renderer.ts +31 -8
- package/src/docs/search/page.ts +9 -6
- package/src/docs/search/search.ts +154 -122
- package/src/docs/tailwind/css/docs/content.css +4 -5
- package/src/tsconfig.json +11 -5
- package/src/tsconfig.tsbuildinfo +1 -1
- package/vite.config.mts +11 -2
- package/.agents/skills/concorde-component-docs/SKILL.md +0 -194
- package/ai/AGENTS.md +0 -56
- package/ai/cursor/rules/concorde-menu.mdc +0 -15
- package/ai/cursor/rules/concorde-scope.mdc +0 -14
- package/ai/cursor/rules/concorde-theme.mdc +0 -13
- package/ai/cursor/rules/concorde.mdc +0 -66
- package/ai/jetbrains/rules/concorde.md +0 -53
- package/ai/skills/concorde-get-set-dp/SKILL.md +0 -194
- package/ai/skills/concorde-imports/SKILL.md +0 -78
- package/ai/skills/concorde-menu/SKILL.md +0 -74
- package/ai/skills/concorde-scope/SKILL.md +0 -70
- package/ai/skills/concorde-theme/SKILL.md +0 -57
- package/docs/assets/index-CD4WyL6o.css +0 -1
- package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -29
- package/src/docs/_core-concept/overview.md +0 -57
- package/src/docs/_core-concept/subscriber.md +0 -75
- package/src/docs/_decorators/ancestor-attribute.md +0 -128
- package/src/docs/_decorators/auto-subscribe.md +0 -202
- package/src/docs/_decorators/bind.md +0 -167
- package/src/docs/_decorators/get.md +0 -162
- package/src/docs/_decorators/handle.md +0 -175
- package/src/docs/_decorators/on-assign.md +0 -390
- package/src/docs/_decorators/patch.md +0 -70
- package/src/docs/_decorators/post.md +0 -146
- package/src/docs/_decorators/publish.md +0 -55
- package/src/docs/_decorators/put.md +0 -70
- package/src/docs/_decorators/subscribe.md +0 -100
- package/src/docs/_decorators/wait-for-ancestors.md +0 -163
- package/src/docs/_directives/sub.md +0 -91
- package/src/docs/_getting-started/ai-agents.md +0 -76
- package/src/docs/_getting-started/concorde-manual-install.md +0 -133
- package/src/docs/_getting-started/concorde-outside.md +0 -33
- package/src/docs/_getting-started/my-first-subscriber.md +0 -120
- package/src/docs/_getting-started/pubsub.md +0 -37
- package/src/docs/_misc/formelement-subscriber-removal.md +0 -115
- package/src/docs/example/docs-input-autocomplete-demos.ts +0 -110
- package/src/docs/example/docs-joke-demos.ts +0 -297
- /package/{src/docs/_getting-started → docs/docs/getting-started}/components.md +0 -0
- /package/{src/docs/_getting-started → docs/docs/getting-started}/theming.md +0 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en" data-doc-url="https://concorde.supersoniks.org/core/components/ui/loader" data-doc-id="core/components/ui/loader/loader">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Loader — Concorde by Supersoniks</title>
|
|
7
|
+
<meta name="description" content="sonic-loader shows a loading animation, either in the content flow or as a viewport overlay. With no mode, it is fixed (centered overlay); use mode="inline" inside content areas. For Fetch and List, s">
|
|
8
|
+
<meta name="keywords" content="Concorde, supersoniks, core/components/ui/loader/loader, loader, Loader, UI component, sonic-loader, web component, mode, fixed, mode="inline", inline, align, left">
|
|
9
|
+
<meta name="concorde-doc-id" content="core/components/ui/loader/loader">
|
|
10
|
+
<link rel="canonical" href="https://concorde.supersoniks.org/core/components/ui/loader">
|
|
11
|
+
<link rel="alternate" type="text/markdown" href="https://concorde.supersoniks.org/core/components/ui/loader.md">
|
|
12
|
+
</head>
|
|
13
|
+
<body>
|
|
14
|
+
<header>
|
|
15
|
+
<p><a href="/docs/index.html">Concorde documentation</a> · <a href="https://concorde.supersoniks.org/core/components/ui/loader">same URL (interactive)</a> · <a href="/llms.txt">llms.txt</a></p>
|
|
16
|
+
</header>
|
|
17
|
+
<main>
|
|
18
|
+
<article>
|
|
19
|
+
<p class="doc-lead" id="doc-summary"><strong>Concorde UI component — Loader</strong>. sonic-loader shows a loading animation, either in the content flow or as a viewport overlay. With no mode, it is fixed (centered overlay); use mode="inline" inside content areas. For Fetch and List, s <span>Doc ID: <code>core/components/ui/loader/loader</code>. Keywords: Concorde, supersoniks, core/components/ui/loader/loader, loader, Loader, UI component, sonic-loader, web component, mode, fixed, mode="inline", inline, align, left. URL: <a href="https://concorde.supersoniks.org/core/components/ui/loader">https://concorde.supersoniks.org/core/components/ui/loader</a>.</span></p>
|
|
20
|
+
<h1 id="loader">Loader</h1>
|
|
21
|
+
<p><strong><code>sonic-loader</code></strong> shows a loading animation, either in the content flow or as a viewport overlay. With no <code>mode</code>, it is <code>fixed</code> (centered overlay); use <code>mode="inline"</code> inside content areas. For <a href="/core/components/functional/fetch">Fetch</a> and <a href="/core/components/functional/list">List</a>, set their <code>loader</code> attribute instead of adding the tag yourself.</p>
|
|
22
|
+
<h2 id="mode">Mode</h2>
|
|
23
|
+
<p><code>inline</code> renders an ellipsis animation in the document flow. <code>fixed</code> (default) covers the viewport with a centered animation; toggle it with the checkbox below.</p>
|
|
24
|
+
<pre><code><sonic-loader mode="inline"></sonic-loader>
|
|
25
|
+
</code></pre>
|
|
26
|
+
<p><docs-lit-demo for="docs-toggle-loader-demo"></docs-lit-demo></p>
|
|
27
|
+
<h2 id="alignment-and-color">Alignment and color</h2>
|
|
28
|
+
<p><code>align</code> only affects <code>mode="inline"</code>: <code>left</code> · <code>center</code> (default) · <code>right</code>. Dots use <code>--sc-primary</code>; set <code>currentColor</code> to follow the host <code>color</code>.</p>
|
|
29
|
+
<pre><code><div class="grid gap-4">
|
|
30
|
+
<sonic-loader mode="inline" currentColor style="color: purple;"></sonic-loader>
|
|
31
|
+
<sonic-loader mode="inline" align="left"></sonic-loader>
|
|
32
|
+
<sonic-loader mode="inline" align="center"></sonic-loader>
|
|
33
|
+
<sonic-loader mode="inline" align="right"></sonic-loader>
|
|
34
|
+
</div>
|
|
35
|
+
</code></pre>
|
|
36
|
+
<h2 id="delay">Delay</h2>
|
|
37
|
+
<p>A <code>fixed</code> loader waits 0.5 s before fading in, so short requests show nothing. <code>inline</code> loaders appear at once. Set <code>noDelay</code> (or pass <code>noDelay: true</code> to <code>Loader.show()</code>) to show a <code>fixed</code> loader immediately.</p>
|
|
38
|
+
<pre><code><sonic-loader mode="inline" noDelay></sonic-loader>
|
|
39
|
+
</code></pre>
|
|
40
|
+
<h2 id="accessibility">Accessibility</h2>
|
|
41
|
+
<p>The animation is <code>aria-hidden</code> by default so screen readers are not flooded on every request. Set <code>announce</code> when the loader appears after a user action: the host gets <code>role="status"</code>, <code>aria-live="polite"</code> and a localized "Loading" label. For a busy button, use the <code>loading</code> attribute of <code>sonic-button</code> instead.</p>
|
|
42
|
+
<pre><code><div class="flex flex-wrap items-center gap-4">
|
|
43
|
+
<sonic-loader mode="inline" announce></sonic-loader>
|
|
44
|
+
<sonic-button loading>Confirm check-in</sonic-button>
|
|
45
|
+
</div>
|
|
46
|
+
</code></pre>
|
|
47
|
+
<h2 id="show-and-hide-programmatically">Show and hide programmatically</h2>
|
|
48
|
+
<p><code>Loader.show()</code> mounts one shared instance; <code>Loader.hide()</code> is reference-counted, so call it once per <code>show()</code>. <strong>Without <code>container</code>, the loader goes to the theme pop container and <code>mode</code> is forced to <code>fixed</code>.</strong></p>
|
|
49
|
+
<pre><code class="language-javascript">import { Loader } from "@supersoniks/concorde/ui/loader";
|
|
50
|
+
|
|
51
|
+
Loader.show({ announce: true });
|
|
52
|
+
// …
|
|
53
|
+
Loader.hide();
|
|
54
|
+
|
|
55
|
+
// Inline loader inside a given element
|
|
56
|
+
Loader.show({ mode: "inline", container: document.querySelector("#results") });
|
|
57
|
+
</code></pre>
|
|
58
|
+
<h2 id="api-reference">API reference</h2>
|
|
59
|
+
<table>
|
|
60
|
+
<thead>
|
|
61
|
+
<tr>
|
|
62
|
+
<th>Attribute</th>
|
|
63
|
+
<th>Values</th>
|
|
64
|
+
<th>Description</th>
|
|
65
|
+
</tr>
|
|
66
|
+
</thead>
|
|
67
|
+
<tbody><tr>
|
|
68
|
+
<td><code>mode</code></td>
|
|
69
|
+
<td><code>inline</code> · <code>fixed</code> (default <code>fixed</code>)</td>
|
|
70
|
+
<td>In-flow ellipsis or viewport-centered overlay</td>
|
|
71
|
+
</tr>
|
|
72
|
+
<tr>
|
|
73
|
+
<td><code>noDelay</code></td>
|
|
74
|
+
<td>boolean</td>
|
|
75
|
+
<td>Skips the 0.5 s fade-in delay of <code>fixed</code></td>
|
|
76
|
+
</tr>
|
|
77
|
+
<tr>
|
|
78
|
+
<td><code>announce</code></td>
|
|
79
|
+
<td>boolean</td>
|
|
80
|
+
<td>Adds <code>role="status"</code>, <code>aria-live="polite"</code> and a localized label</td>
|
|
81
|
+
</tr>
|
|
82
|
+
<tr>
|
|
83
|
+
<td><code>align</code></td>
|
|
84
|
+
<td><code>left</code> · <code>center</code> · <code>right</code> (default <code>center</code>)</td>
|
|
85
|
+
<td>Horizontal alignment, <code>mode="inline"</code> only</td>
|
|
86
|
+
</tr>
|
|
87
|
+
<tr>
|
|
88
|
+
<td><code>currentColor</code></td>
|
|
89
|
+
<td>boolean</td>
|
|
90
|
+
<td>Dots use <code>currentColor</code> instead of <code>--sc-primary</code></td>
|
|
91
|
+
</tr>
|
|
92
|
+
</tbody></table>
|
|
93
|
+
<p>No slots.</p>
|
|
94
|
+
<table>
|
|
95
|
+
<thead>
|
|
96
|
+
<tr>
|
|
97
|
+
<th>Static method</th>
|
|
98
|
+
<th>Description</th>
|
|
99
|
+
</tr>
|
|
100
|
+
</thead>
|
|
101
|
+
<tbody><tr>
|
|
102
|
+
<td><code>Loader.show(conf?)</code></td>
|
|
103
|
+
<td>Mounts the shared instance. <code>conf</code>: <code>mode</code> · <code>noDelay</code> · <code>announce</code> · <code>container</code></td>
|
|
104
|
+
</tr>
|
|
105
|
+
<tr>
|
|
106
|
+
<td><code>Loader.hide()</code></td>
|
|
107
|
+
<td>Decrements the show counter; removes the instance when it reaches zero</td>
|
|
108
|
+
</tr>
|
|
109
|
+
</tbody></table>
|
|
110
|
+
|
|
111
|
+
</article>
|
|
112
|
+
</main>
|
|
113
|
+
</body>
|
|
114
|
+
</html>
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Loader
|
|
2
|
+
|
|
3
|
+
**`sonic-loader`** shows a loading animation, either in the content flow or as a viewport overlay. With no `mode`, it is `fixed` (centered overlay); use `mode="inline"` inside content areas. For [Fetch](/core/components/functional/fetch) and [List](/core/components/functional/list), set their `loader` attribute instead of adding the tag yourself.
|
|
4
|
+
|
|
5
|
+
## Mode
|
|
6
|
+
|
|
7
|
+
`inline` renders an ellipsis animation in the document flow. `fixed` (default) covers the viewport with a centered animation; toggle it with the checkbox below.
|
|
8
|
+
|
|
9
|
+
<sonic-code>
|
|
10
|
+
<template>
|
|
11
|
+
<sonic-loader mode="inline"></sonic-loader>
|
|
12
|
+
</template>
|
|
13
|
+
</sonic-code>
|
|
14
|
+
|
|
15
|
+
<docs-lit-demo for="docs-toggle-loader-demo"></docs-lit-demo>
|
|
16
|
+
|
|
17
|
+
## Alignment and color
|
|
18
|
+
|
|
19
|
+
`align` only affects `mode="inline"`: `left` · `center` (default) · `right`. Dots use `--sc-primary`; set `currentColor` to follow the host `color`.
|
|
20
|
+
|
|
21
|
+
<sonic-code>
|
|
22
|
+
<template>
|
|
23
|
+
<div class="grid gap-4">
|
|
24
|
+
<sonic-loader mode="inline" currentColor style="color: purple;"></sonic-loader>
|
|
25
|
+
<sonic-loader mode="inline" align="left"></sonic-loader>
|
|
26
|
+
<sonic-loader mode="inline" align="center"></sonic-loader>
|
|
27
|
+
<sonic-loader mode="inline" align="right"></sonic-loader>
|
|
28
|
+
</div>
|
|
29
|
+
</template>
|
|
30
|
+
</sonic-code>
|
|
31
|
+
|
|
32
|
+
## Delay
|
|
33
|
+
|
|
34
|
+
A `fixed` loader waits 0.5 s before fading in, so short requests show nothing. `inline` loaders appear at once. Set `noDelay` (or pass `noDelay: true` to `Loader.show()`) to show a `fixed` loader immediately.
|
|
35
|
+
|
|
36
|
+
<sonic-code>
|
|
37
|
+
<template>
|
|
38
|
+
<sonic-loader mode="inline" noDelay></sonic-loader>
|
|
39
|
+
</template>
|
|
40
|
+
</sonic-code>
|
|
41
|
+
|
|
42
|
+
## Accessibility
|
|
43
|
+
|
|
44
|
+
The animation is `aria-hidden` by default so screen readers are not flooded on every request. Set `announce` when the loader appears after a user action: the host gets `role="status"`, `aria-live="polite"` and a localized "Loading" label. For a busy button, use the `loading` attribute of `sonic-button` instead.
|
|
45
|
+
|
|
46
|
+
<sonic-code>
|
|
47
|
+
<template>
|
|
48
|
+
<div class="flex flex-wrap items-center gap-4">
|
|
49
|
+
<sonic-loader mode="inline" announce></sonic-loader>
|
|
50
|
+
<sonic-button loading>Confirm check-in</sonic-button>
|
|
51
|
+
</div>
|
|
52
|
+
</template>
|
|
53
|
+
</sonic-code>
|
|
54
|
+
|
|
55
|
+
## Show and hide programmatically
|
|
56
|
+
|
|
57
|
+
`Loader.show()` mounts one shared instance; `Loader.hide()` is reference-counted, so call it once per `show()`. **Without `container`, the loader goes to the theme pop container and `mode` is forced to `fixed`.**
|
|
58
|
+
|
|
59
|
+
<sonic-code language="javascript">
|
|
60
|
+
<template>
|
|
61
|
+
import { Loader } from "@supersoniks/concorde/ui/loader";
|
|
62
|
+
|
|
63
|
+
Loader.show({ announce: true });
|
|
64
|
+
// …
|
|
65
|
+
Loader.hide();
|
|
66
|
+
|
|
67
|
+
// Inline loader inside a given element
|
|
68
|
+
Loader.show({ mode: "inline", container: document.querySelector("#results") });
|
|
69
|
+
</template>
|
|
70
|
+
</sonic-code>
|
|
71
|
+
|
|
72
|
+
## API reference
|
|
73
|
+
|
|
74
|
+
| Attribute | Values | Description |
|
|
75
|
+
|----------|---------|-------------|
|
|
76
|
+
| `mode` | `inline` · `fixed` (default `fixed`) | In-flow ellipsis or viewport-centered overlay |
|
|
77
|
+
| `noDelay` | boolean | Skips the 0.5 s fade-in delay of `fixed` |
|
|
78
|
+
| `announce` | boolean | Adds `role="status"`, `aria-live="polite"` and a localized label |
|
|
79
|
+
| `align` | `left` · `center` · `right` (default `center`) | Horizontal alignment, `mode="inline"` only |
|
|
80
|
+
| `currentColor` | boolean | Dots use `currentColor` instead of `--sc-primary` |
|
|
81
|
+
|
|
82
|
+
No slots.
|
|
83
|
+
|
|
84
|
+
| Static method | Description |
|
|
85
|
+
|--------|-------------|
|
|
86
|
+
| `Loader.show(conf?)` | Mounts the shared instance. `conf`: `mode` · `noDelay` · `announce` · `container` |
|
|
87
|
+
| `Loader.hide()` | Decrements the show counter; removes the instance when it reaches zero |
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en" data-doc-url="https://concorde.supersoniks.org/core/components/ui/menu" data-doc-id="core/components/ui/menu/menu">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Menu — Concorde by Supersoniks</title>
|
|
7
|
+
<meta name="description" content="sonic-menu lays out navigation or actions as a direction row or column of sonic-menu-item entries (ghost variant and block shape by default), optional sonic-divider separators, and overflow content in">
|
|
8
|
+
<meta name="keywords" content="Concorde, supersoniks, core/components/ui/menu/menu, menu, Menu, UI component, sonic-menu, web component, direction, sonic-menu-item, variant, shape, sonic-divider, more, href, pushstate, autoActive">
|
|
9
|
+
<meta name="concorde-doc-id" content="core/components/ui/menu/menu">
|
|
10
|
+
<link rel="canonical" href="https://concorde.supersoniks.org/core/components/ui/menu">
|
|
11
|
+
<link rel="alternate" type="text/markdown" href="https://concorde.supersoniks.org/core/components/ui/menu.md">
|
|
12
|
+
</head>
|
|
13
|
+
<body>
|
|
14
|
+
<header>
|
|
15
|
+
<p><a href="/docs/index.html">Concorde documentation</a> · <a href="https://concorde.supersoniks.org/core/components/ui/menu">same URL (interactive)</a> · <a href="/llms.txt">llms.txt</a></p>
|
|
16
|
+
</header>
|
|
17
|
+
<main>
|
|
18
|
+
<article>
|
|
19
|
+
<p class="doc-lead" id="doc-summary"><strong>Concorde UI component — Menu</strong>. sonic-menu lays out navigation or actions as a direction row or column of sonic-menu-item entries (ghost variant and block shape by default), optional sonic-divider separators, and overflow content in <span>Doc ID: <code>core/components/ui/menu/menu</code>. Keywords: Concorde, supersoniks, core/components/ui/menu/menu, menu, Menu, UI component, sonic-menu, web component, direction, sonic-menu-item, variant, shape, sonic-divider, more, href, pushstate, autoActive. URL: <a href="https://concorde.supersoniks.org/core/components/ui/menu">https://concorde.supersoniks.org/core/components/ui/menu</a>.</span></p>
|
|
20
|
+
<h1 id="menu">Menu</h1>
|
|
21
|
+
<p><strong><code>sonic-menu</code></strong> lays out navigation or actions as a <strong><code>direction</code></strong> row or column of <strong><code>sonic-menu-item</code></strong> entries (ghost <strong><code>variant</code></strong> and block <strong><code>shape</code></strong> by default), optional <strong><code>sonic-divider</code></strong> separators, and overflow content in the <strong><code>more</code></strong> slot (popover “…” trigger). Set <code>href</code> / <code>pushstate</code> / <code>autoActive</code> on each <code>sonic-menu-item</code> (same API as <code>sonic-button</code>), not on the menu host.</p>
|
|
22
|
+
<h2 id="basic-example">Basic example</h2>
|
|
23
|
+
<pre><code><sonic-menu direction="row">
|
|
24
|
+
<sonic-menu-item variant="ghost">
|
|
25
|
+
<sonic-icon library="iconoir" name="home" slot="prefix"></sonic-icon>
|
|
26
|
+
Home
|
|
27
|
+
</sonic-menu-item>
|
|
28
|
+
<sonic-menu-item>
|
|
29
|
+
<sonic-icon library="iconoir" name="user" slot="prefix"></sonic-icon>
|
|
30
|
+
Profile
|
|
31
|
+
</sonic-menu-item>
|
|
32
|
+
<sonic-menu-item type="danger">
|
|
33
|
+
<sonic-icon library="iconoir" name="log-out" slot="prefix"></sonic-icon>
|
|
34
|
+
Log out
|
|
35
|
+
</sonic-menu-item>
|
|
36
|
+
</sonic-menu>
|
|
37
|
+
</code></pre>
|
|
38
|
+
<h2 id="direction">Direction</h2>
|
|
39
|
+
<p>Default <strong><code>direction</code></strong> is <strong><code>column</code></strong>. Use <strong><code>row</code></strong> for horizontal toolbars or tabs.</p>
|
|
40
|
+
<pre><code><sonic-menu direction="row">
|
|
41
|
+
<sonic-menu-item variant="ghost">
|
|
42
|
+
<sonic-icon library="iconoir" name="arrow-right" slot="prefix"></sonic-icon>
|
|
43
|
+
Row
|
|
44
|
+
</sonic-menu-item>
|
|
45
|
+
<sonic-menu-item>
|
|
46
|
+
<sonic-icon library="iconoir" name="user" slot="prefix"></sonic-icon>
|
|
47
|
+
Profile
|
|
48
|
+
</sonic-menu-item>
|
|
49
|
+
<sonic-menu-item>
|
|
50
|
+
<sonic-icon library="iconoir" name="clock-outline" slot="prefix"></sonic-icon>
|
|
51
|
+
Flights
|
|
52
|
+
</sonic-menu-item>
|
|
53
|
+
<sonic-menu-item>
|
|
54
|
+
<sonic-icon library="iconoir" name="bag" slot="prefix"></sonic-icon>
|
|
55
|
+
Baggage
|
|
56
|
+
</sonic-menu-item>
|
|
57
|
+
<sonic-menu-item type="danger">
|
|
58
|
+
<sonic-icon library="iconoir" name="log-out" slot="prefix"></sonic-icon>
|
|
59
|
+
Log out
|
|
60
|
+
</sonic-menu-item>
|
|
61
|
+
</sonic-menu>
|
|
62
|
+
<sonic-menu direction="column">
|
|
63
|
+
<sonic-menu-item variant="ghost">
|
|
64
|
+
<sonic-icon library="iconoir" name="arrow-down" slot="prefix"></sonic-icon>
|
|
65
|
+
Column
|
|
66
|
+
</sonic-menu-item>
|
|
67
|
+
<sonic-menu-item>
|
|
68
|
+
<sonic-icon library="iconoir" name="user" slot="prefix"></sonic-icon>
|
|
69
|
+
Profile
|
|
70
|
+
</sonic-menu-item>
|
|
71
|
+
<sonic-menu-item>
|
|
72
|
+
<sonic-icon library="iconoir" name="clock-outline" slot="prefix"></sonic-icon>
|
|
73
|
+
Flights
|
|
74
|
+
</sonic-menu-item>
|
|
75
|
+
<sonic-menu-item>
|
|
76
|
+
<sonic-icon library="iconoir" name="bag" slot="prefix"></sonic-icon>
|
|
77
|
+
Baggage
|
|
78
|
+
</sonic-menu-item>
|
|
79
|
+
<sonic-menu-item type="danger">
|
|
80
|
+
<sonic-icon library="iconoir" name="log-out" slot="prefix"></sonic-icon>
|
|
81
|
+
Log out
|
|
82
|
+
</sonic-menu-item>
|
|
83
|
+
</sonic-menu>
|
|
84
|
+
</code></pre>
|
|
85
|
+
<h2 id="size">Size</h2>
|
|
86
|
+
<p><strong><code>size</code></strong> on the menu propagates to items and the <strong><code>more</code></strong> trigger when they omit their own <strong><code>size</code></strong>.</p>
|
|
87
|
+
<pre><code><div class="grid gap-3">
|
|
88
|
+
<sonic-menu size="xs" direction="row">
|
|
89
|
+
<sonic-menu-item>XS</sonic-menu-item>
|
|
90
|
+
<sonic-menu-item>
|
|
91
|
+
<sonic-icon library="iconoir" name="user" slot="prefix"></sonic-icon>
|
|
92
|
+
Profile
|
|
93
|
+
</sonic-menu-item>
|
|
94
|
+
<sonic-menu-item>
|
|
95
|
+
<sonic-icon library="iconoir" name="clock-outline" slot="prefix"></sonic-icon>
|
|
96
|
+
Flights
|
|
97
|
+
</sonic-menu-item>
|
|
98
|
+
<sonic-menu-item>
|
|
99
|
+
<sonic-icon library="iconoir" name="bag" slot="prefix"></sonic-icon>
|
|
100
|
+
Baggage
|
|
101
|
+
</sonic-menu-item>
|
|
102
|
+
</sonic-menu>
|
|
103
|
+
<sonic-menu size="sm" direction="row">
|
|
104
|
+
<sonic-menu-item>Small</sonic-menu-item>
|
|
105
|
+
<sonic-menu-item>
|
|
106
|
+
<sonic-icon library="iconoir" name="user" slot="prefix"></sonic-icon>
|
|
107
|
+
Profile
|
|
108
|
+
</sonic-menu-item>
|
|
109
|
+
<sonic-menu-item>
|
|
110
|
+
<sonic-icon library="iconoir" name="clock-outline" slot="prefix"></sonic-icon>
|
|
111
|
+
Flights
|
|
112
|
+
</sonic-menu-item>
|
|
113
|
+
<sonic-menu-item>
|
|
114
|
+
<sonic-icon library="iconoir" name="bag" slot="prefix"></sonic-icon>
|
|
115
|
+
Baggage
|
|
116
|
+
</sonic-menu-item>
|
|
117
|
+
</sonic-menu>
|
|
118
|
+
<sonic-menu direction="row">
|
|
119
|
+
<sonic-menu-item>Medium</sonic-menu-item>
|
|
120
|
+
<sonic-menu-item>
|
|
121
|
+
<sonic-icon library="iconoir" name="user" slot="prefix"></sonic-icon>
|
|
122
|
+
Profile
|
|
123
|
+
</sonic-menu-item>
|
|
124
|
+
<sonic-menu-item>
|
|
125
|
+
<sonic-icon library="iconoir" name="clock-outline" slot="prefix"></sonic-icon>
|
|
126
|
+
Flights
|
|
127
|
+
</sonic-menu-item>
|
|
128
|
+
<sonic-menu-item>
|
|
129
|
+
<sonic-icon library="iconoir" name="bag" slot="prefix"></sonic-icon>
|
|
130
|
+
Baggage
|
|
131
|
+
</sonic-menu-item>
|
|
132
|
+
</sonic-menu>
|
|
133
|
+
<sonic-menu size="lg" direction="row">
|
|
134
|
+
<sonic-menu-item>Large</sonic-menu-item>
|
|
135
|
+
<sonic-menu-item>
|
|
136
|
+
<sonic-icon library="iconoir" name="user" slot="prefix"></sonic-icon>
|
|
137
|
+
Profile
|
|
138
|
+
</sonic-menu-item>
|
|
139
|
+
<sonic-menu-item>
|
|
140
|
+
<sonic-icon library="iconoir" name="clock-outline" slot="prefix"></sonic-icon>
|
|
141
|
+
Flights
|
|
142
|
+
</sonic-menu-item>
|
|
143
|
+
<sonic-menu-item>
|
|
144
|
+
<sonic-icon library="iconoir" name="bag" slot="prefix"></sonic-icon>
|
|
145
|
+
Baggage
|
|
146
|
+
</sonic-menu-item>
|
|
147
|
+
</sonic-menu>
|
|
148
|
+
<sonic-menu size="xl" direction="row">
|
|
149
|
+
<sonic-menu-item>XL</sonic-menu-item>
|
|
150
|
+
<sonic-menu-item>
|
|
151
|
+
<sonic-icon library="iconoir" name="user" slot="prefix"></sonic-icon>
|
|
152
|
+
Profile
|
|
153
|
+
</sonic-menu-item>
|
|
154
|
+
<sonic-menu-item>
|
|
155
|
+
<sonic-icon library="iconoir" name="clock-outline" slot="prefix"></sonic-icon>
|
|
156
|
+
Flights
|
|
157
|
+
</sonic-menu-item>
|
|
158
|
+
<sonic-menu-item>
|
|
159
|
+
<sonic-icon library="iconoir" name="bag" slot="prefix"></sonic-icon>
|
|
160
|
+
Baggage
|
|
161
|
+
</sonic-menu-item>
|
|
162
|
+
</sonic-menu>
|
|
163
|
+
</div>
|
|
164
|
+
</code></pre>
|
|
165
|
+
<h2 id="shadow">Shadow</h2>
|
|
166
|
+
<p>Optional <strong><code>shadow</code></strong> wraps the menu surface (no shadow when omitted).</p>
|
|
167
|
+
<pre><code><div class="grid gap-3">
|
|
168
|
+
<sonic-menu direction="row">
|
|
169
|
+
<sonic-menu-item>None</sonic-menu-item>
|
|
170
|
+
</sonic-menu>
|
|
171
|
+
<sonic-menu shadow="sm" direction="row">
|
|
172
|
+
<sonic-menu-item>Small</sonic-menu-item>
|
|
173
|
+
</sonic-menu>
|
|
174
|
+
<sonic-menu shadow="md" direction="row">
|
|
175
|
+
<sonic-menu-item>Medium</sonic-menu-item>
|
|
176
|
+
</sonic-menu>
|
|
177
|
+
<sonic-menu shadow="lg" direction="row">
|
|
178
|
+
<sonic-menu-item>Large</sonic-menu-item>
|
|
179
|
+
</sonic-menu>
|
|
180
|
+
</div>
|
|
181
|
+
</code></pre>
|
|
182
|
+
<h2 id="align">Align</h2>
|
|
183
|
+
<p><strong><code>align</code></strong> propagates to items except square / circle <strong><code>shape</code></strong>.</p>
|
|
184
|
+
<pre><code><div class="grid gap-3">
|
|
185
|
+
<sonic-menu align="center">
|
|
186
|
+
<sonic-menu-item variant="ghost">
|
|
187
|
+
<sonic-icon library="iconoir" name="home"></sonic-icon>
|
|
188
|
+
Home
|
|
189
|
+
</sonic-menu-item>
|
|
190
|
+
<sonic-menu-item>
|
|
191
|
+
<sonic-icon library="iconoir" name="user"></sonic-icon>
|
|
192
|
+
Profile
|
|
193
|
+
</sonic-menu-item>
|
|
194
|
+
</sonic-menu>
|
|
195
|
+
<sonic-menu align="left">
|
|
196
|
+
<sonic-menu-item variant="ghost">
|
|
197
|
+
<sonic-icon library="iconoir" name="home"></sonic-icon>
|
|
198
|
+
Home
|
|
199
|
+
</sonic-menu-item>
|
|
200
|
+
<sonic-menu-item>
|
|
201
|
+
<sonic-icon library="iconoir" name="user"></sonic-icon>
|
|
202
|
+
Profile
|
|
203
|
+
</sonic-menu-item>
|
|
204
|
+
</sonic-menu>
|
|
205
|
+
<sonic-menu align="right">
|
|
206
|
+
<sonic-menu-item variant="ghost">
|
|
207
|
+
<sonic-icon library="iconoir" name="home"></sonic-icon>
|
|
208
|
+
Home
|
|
209
|
+
</sonic-menu-item>
|
|
210
|
+
<sonic-menu-item>
|
|
211
|
+
<sonic-icon library="iconoir" name="user"></sonic-icon>
|
|
212
|
+
Profile
|
|
213
|
+
</sonic-menu-item>
|
|
214
|
+
</sonic-menu>
|
|
215
|
+
</div>
|
|
216
|
+
</code></pre>
|
|
217
|
+
<h2 id="more">More</h2>
|
|
218
|
+
<p>Assign nodes to <strong><code>slot="more"</code></strong> to show the overflow popover. The trigger appears only when the slot has content. Icon orientation follows <strong><code>direction</code></strong> (vertical ellipsis in a row menu).</p>
|
|
219
|
+
<pre><code><sonic-menu direction="row">
|
|
220
|
+
<sonic-menu-item variant="ghost">
|
|
221
|
+
<sonic-icon library="iconoir" name="home"></sonic-icon>
|
|
222
|
+
Home
|
|
223
|
+
</sonic-menu-item>
|
|
224
|
+
<sonic-menu-item>
|
|
225
|
+
<sonic-icon library="iconoir" name="user"></sonic-icon>
|
|
226
|
+
Profile
|
|
227
|
+
</sonic-menu-item>
|
|
228
|
+
<sonic-menu-item>
|
|
229
|
+
<sonic-icon library="iconoir" name="clock-outline" slot="prefix"></sonic-icon>
|
|
230
|
+
Flights
|
|
231
|
+
</sonic-menu-item>
|
|
232
|
+
<sonic-menu-item>
|
|
233
|
+
<sonic-icon library="iconoir" name="bag" slot="prefix"></sonic-icon>
|
|
234
|
+
Baggage
|
|
235
|
+
</sonic-menu-item>
|
|
236
|
+
<sonic-menu slot="more">
|
|
237
|
+
<sonic-menu-item>
|
|
238
|
+
<sonic-icon library="iconoir" name="settings" slot="prefix"></sonic-icon>
|
|
239
|
+
Settings
|
|
240
|
+
</sonic-menu-item>
|
|
241
|
+
<sonic-menu-item>
|
|
242
|
+
<sonic-icon library="iconoir" name="chat-bubble" slot="prefix"></sonic-icon>
|
|
243
|
+
Messages
|
|
244
|
+
</sonic-menu-item>
|
|
245
|
+
<sonic-divider></sonic-divider>
|
|
246
|
+
<sonic-menu-item type="danger">
|
|
247
|
+
<sonic-icon library="iconoir" name="log-out" slot="prefix"></sonic-icon>
|
|
248
|
+
Log out
|
|
249
|
+
</sonic-menu-item>
|
|
250
|
+
</sonic-menu>
|
|
251
|
+
</sonic-menu>
|
|
252
|
+
</code></pre>
|
|
253
|
+
<h2 id="scrollable">Scrollable</h2>
|
|
254
|
+
<p>With <strong><code>scrollable</code></strong>, the main slot scrolls with edge fade masks; drag-to-scroll works on pointer devices. When exactly one item is <strong><code>active</code></strong>, the menu scrolls it into view.</p>
|
|
255
|
+
<pre><code><sonic-menu direction="row" scrollable>
|
|
256
|
+
<sonic-menu-item variant="ghost">
|
|
257
|
+
<sonic-icon library="iconoir" name="home" slot="prefix"></sonic-icon>
|
|
258
|
+
Home
|
|
259
|
+
</sonic-menu-item>
|
|
260
|
+
<sonic-menu-item>
|
|
261
|
+
<sonic-icon library="iconoir" name="user" slot="prefix"></sonic-icon>
|
|
262
|
+
Profile
|
|
263
|
+
</sonic-menu-item>
|
|
264
|
+
<sonic-menu-item>
|
|
265
|
+
<sonic-icon library="iconoir" name="clock-outline" slot="prefix"></sonic-icon>
|
|
266
|
+
Flights
|
|
267
|
+
</sonic-menu-item>
|
|
268
|
+
<sonic-menu-item>
|
|
269
|
+
<sonic-icon library="iconoir" name="bag" slot="prefix"></sonic-icon>
|
|
270
|
+
Baggage
|
|
271
|
+
</sonic-menu-item>
|
|
272
|
+
<sonic-menu-item variant="ghost">
|
|
273
|
+
<sonic-icon library="iconoir" name="home" slot="prefix"></sonic-icon>
|
|
274
|
+
Home
|
|
275
|
+
</sonic-menu-item>
|
|
276
|
+
<sonic-menu-item>
|
|
277
|
+
<sonic-icon library="iconoir" name="user" slot="prefix"></sonic-icon>
|
|
278
|
+
Profile
|
|
279
|
+
</sonic-menu-item>
|
|
280
|
+
<sonic-menu-item>
|
|
281
|
+
<sonic-icon library="iconoir" name="clock-outline" slot="prefix"></sonic-icon>
|
|
282
|
+
Flights
|
|
283
|
+
</sonic-menu-item>
|
|
284
|
+
<sonic-menu-item>
|
|
285
|
+
<sonic-icon library="iconoir" name="bag" slot="prefix"></sonic-icon>
|
|
286
|
+
Baggage
|
|
287
|
+
</sonic-menu-item>
|
|
288
|
+
<sonic-menu-item variant="ghost">
|
|
289
|
+
<sonic-icon library="iconoir" name="home" slot="prefix"></sonic-icon>
|
|
290
|
+
Home
|
|
291
|
+
</sonic-menu-item>
|
|
292
|
+
<sonic-menu-item>
|
|
293
|
+
<sonic-icon library="iconoir" name="user" slot="prefix"></sonic-icon>
|
|
294
|
+
Profile
|
|
295
|
+
</sonic-menu-item>
|
|
296
|
+
<sonic-menu-item>
|
|
297
|
+
<sonic-icon library="iconoir" name="clock-outline" slot="prefix"></sonic-icon>
|
|
298
|
+
Flights
|
|
299
|
+
</sonic-menu-item>
|
|
300
|
+
<sonic-menu-item>
|
|
301
|
+
<sonic-icon library="iconoir" name="bag" slot="prefix"></sonic-icon>
|
|
302
|
+
Baggage
|
|
303
|
+
</sonic-menu-item>
|
|
304
|
+
<sonic-menu-item>
|
|
305
|
+
<sonic-icon library="iconoir" name="settings" slot="prefix"></sonic-icon>
|
|
306
|
+
Settings
|
|
307
|
+
</sonic-menu-item>
|
|
308
|
+
<sonic-menu-item>
|
|
309
|
+
<sonic-icon library="iconoir" name="chat-bubble" slot="prefix"></sonic-icon>
|
|
310
|
+
Messages
|
|
311
|
+
</sonic-menu-item>
|
|
312
|
+
<sonic-menu slot="more">
|
|
313
|
+
<sonic-menu-item>
|
|
314
|
+
<sonic-icon library="iconoir" name="settings" slot="prefix"></sonic-icon>
|
|
315
|
+
Settings
|
|
316
|
+
</sonic-menu-item>
|
|
317
|
+
<sonic-menu-item>
|
|
318
|
+
<sonic-icon library="iconoir" name="chat-bubble" slot="prefix"></sonic-icon>
|
|
319
|
+
Messages
|
|
320
|
+
</sonic-menu-item>
|
|
321
|
+
<sonic-divider></sonic-divider>
|
|
322
|
+
<sonic-menu-item type="danger">
|
|
323
|
+
<sonic-icon library="iconoir" name="log-out" slot="prefix"></sonic-icon>
|
|
324
|
+
Log out
|
|
325
|
+
</sonic-menu-item>
|
|
326
|
+
</sonic-menu>
|
|
327
|
+
</sonic-menu>
|
|
328
|
+
</code></pre>
|
|
329
|
+
<h2 id="api-reference">API reference</h2>
|
|
330
|
+
<table>
|
|
331
|
+
<thead>
|
|
332
|
+
<tr>
|
|
333
|
+
<th>Attribute</th>
|
|
334
|
+
<th>Values</th>
|
|
335
|
+
<th>Description</th>
|
|
336
|
+
</tr>
|
|
337
|
+
</thead>
|
|
338
|
+
<tbody><tr>
|
|
339
|
+
<td><code>direction</code></td>
|
|
340
|
+
<td><code>column</code> (default) · <code>row</code></td>
|
|
341
|
+
<td>Vertical list or horizontal bar</td>
|
|
342
|
+
</tr>
|
|
343
|
+
<tr>
|
|
344
|
+
<td><code>align</code></td>
|
|
345
|
+
<td><code>left</code> (default) · <code>center</code> · <code>right</code></td>
|
|
346
|
+
<td>Alignment propagated to items (except square / circle <strong><code>shape</code></strong>)</td>
|
|
347
|
+
</tr>
|
|
348
|
+
<tr>
|
|
349
|
+
<td><code>size</code></td>
|
|
350
|
+
<td><code>2xs</code> … <code>2xl</code> (default: items keep their own size)</td>
|
|
351
|
+
<td>Propagated to items and the <strong><code>more</code></strong> trigger when unset on the item</td>
|
|
352
|
+
</tr>
|
|
353
|
+
<tr>
|
|
354
|
+
<td><code>shadow</code></td>
|
|
355
|
+
<td><code>none</code> · <code>sm</code> · <code>md</code> · <code>lg</code></td>
|
|
356
|
+
<td>Shadow around the menu; none when omitted</td>
|
|
357
|
+
</tr>
|
|
358
|
+
<tr>
|
|
359
|
+
<td><code>minWidth</code></td>
|
|
360
|
+
<td>CSS length</td>
|
|
361
|
+
<td>Minimum width of the container (default <code>0</code>)</td>
|
|
362
|
+
</tr>
|
|
363
|
+
<tr>
|
|
364
|
+
<td><code>scrollable</code></td>
|
|
365
|
+
<td>boolean</td>
|
|
366
|
+
<td>Scroll with edge fade; auto-scroll when a single item is <strong><code>active</code></strong></td>
|
|
367
|
+
</tr>
|
|
368
|
+
<tr>
|
|
369
|
+
<td><code>moreShape</code></td>
|
|
370
|
+
<td><code>circle</code> (default) · <code>square</code></td>
|
|
371
|
+
<td>Shape of the <strong><code>more</code></strong> slot trigger button</td>
|
|
372
|
+
</tr>
|
|
373
|
+
</tbody></table>
|
|
374
|
+
<table>
|
|
375
|
+
<thead>
|
|
376
|
+
<tr>
|
|
377
|
+
<th>Slot</th>
|
|
378
|
+
<th>Description</th>
|
|
379
|
+
</tr>
|
|
380
|
+
</thead>
|
|
381
|
+
<tbody><tr>
|
|
382
|
+
<td><em>(default)</em></td>
|
|
383
|
+
<td>Visible items: <code>sonic-menu-item</code> · <code>sonic-divider</code> · nested <code>sonic-menu</code></td>
|
|
384
|
+
</tr>
|
|
385
|
+
<tr>
|
|
386
|
+
<td><code>more</code></td>
|
|
387
|
+
<td>Popover content for the “…” control; shown only when the slot has assigned nodes</td>
|
|
388
|
+
</tr>
|
|
389
|
+
</tbody></table>
|
|
390
|
+
<p><strong><code>sonic-menu-item</code></strong> extends <strong><code>sonic-button</code></strong> (defaults <code>variant="ghost"</code> and <code>shape="block"</code>). See <a href="/core/components/ui/button">Button</a> for <code>type</code> · <code>variant</code> · <code>href</code> · <code>pushstate</code> · <code>autoActive</code> and the item slots.</p>
|
|
391
|
+
|
|
392
|
+
</article>
|
|
393
|
+
</main>
|
|
394
|
+
</body>
|
|
395
|
+
</html>
|