@supersoniks/concorde 5.1.1 → 5.1.2
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/.tmp-cem/custom-elements.json +503 -503
- package/PLAN-DOCS-AGENTS.md +80 -0
- package/README.md +3 -3
- package/ai/skills/concorde/SKILL.md +1 -1
- package/ai/skills/concorde-get-set-dp/SKILL.md +3 -3
- package/ai/skills/concorde-theme/SKILL.md +1 -1
- package/build-infos.json +1 -1
- package/concorde-core.bundle.js +1 -1
- package/concorde-core.es.js +1 -1
- package/dist/concorde-core.bundle.js +1 -1
- package/dist/concorde-core.es.js +1 -1
- package/docs/.htaccess +75 -0
- package/docs/404.html +15 -0
- package/docs/404.md +5 -0
- package/docs/assets/{index-Bb-_LRyY.js → index-BgG6FFPt.js} +2582 -3097
- package/docs/assets/index-x89XINSG.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 +198 -0
- package/docs/core/components/functional/list/list.md +121 -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/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 +86 -0
- package/docs/docs/decorators/bind.md +77 -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 +174 -0
- package/{src/docs/_getting-started → docs/docs/getting-started}/ai-agents.md +3 -3
- 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 +17 -18
- 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 +443 -0
- package/docs/hubs/form-components.html +404 -0
- package/docs/hubs/remote-data.html +371 -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/index.html +95 -68
- package/docs/index.md +22 -0
- package/docs/llms-full.txt +5795 -0
- package/docs/llms.txt +106 -0
- package/docs/robots.txt +11 -10
- package/docs/sitemap.xml +237 -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 +121 -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 +77 -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 +76 -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 +10287 -0
- package/docs/src/tag-list.json +1 -0
- package/docs/src/tsconfig-model.json +23 -0
- package/docs/src/tsconfig.json +1353 -0
- package/index.html +68 -5
- package/package.json +1 -1
- 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/robots.txt +11 -10
- package/scripts/docs-markdown-vite-plugin.ts +37 -0
- package/scripts/docs-public-url.mjs +50 -0
- package/scripts/docs.htaccess +75 -0
- package/scripts/generate-crawl-docs.mjs +207 -116
- package/scripts/generate-crawl-docs.test.mjs +124 -0
- package/scripts/post-build-docs.js +34 -50
- 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 +99 -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/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 +77 -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 +46 -0
- package/src/docs/docs-location.ts +123 -32
- package/src/docs/docs.ts +1 -2
- package/src/docs/example/decorators-demo-bind-demos.ts +81 -116
- 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 +76 -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 +17 -10
- 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 +2845 -5110
- package/src/docs/search/markdown-renderer.ts +25 -7
- package/src/docs/search/page.ts +9 -6
- package/src/docs/search/search.ts +154 -122
- package/vite.config.mts +11 -2
- package/.agents/skills/concorde-component-docs/SKILL.md +0 -194
- 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/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,238 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en" data-doc-url="https://concorde.supersoniks.org/core/components/ui/form/fieldset" data-doc-id="core/components/ui/form/fieldset/fieldset">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Fieldset — Concorde by Supersoniks</title>
|
|
7
|
+
<meta name="description" content="sonic-fieldset groups related form controls in a bordered container rendered as a native <fieldset>. Put fields in the default slot and title the group with a slotted sonic-legend or with the label an">
|
|
8
|
+
<meta name="keywords" content="Concorde, supersoniks, core/components/ui/form/fieldset/fieldset, fieldset, Fieldset, UI component, form, sonic-fieldset, web component, , sonic-legend, label, description, sonic-form-layout, variant, default, ghost, shadow">
|
|
9
|
+
<meta name="concorde-doc-id" content="core/components/ui/form/fieldset/fieldset">
|
|
10
|
+
<link rel="canonical" href="https://concorde.supersoniks.org/core/components/ui/form/fieldset">
|
|
11
|
+
<link rel="alternate" type="text/markdown" href="https://concorde.supersoniks.org/core/components/ui/form/fieldset.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/form/fieldset">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 — Fieldset</strong>. sonic-fieldset groups related form controls in a bordered container rendered as a native <fieldset>. Put fields in the default slot and title the group with a slotted sonic-legend or with the label an <span>Doc ID: <code>core/components/ui/form/fieldset/fieldset</code>. Keywords: Concorde, supersoniks, core/components/ui/form/fieldset/fieldset, fieldset, Fieldset, UI component, form, sonic-fieldset, web component, , sonic-legend, label, description, sonic-form-layout, variant, default, ghost, shadow. URL: <a href="https://concorde.supersoniks.org/core/components/ui/form/fieldset">https://concorde.supersoniks.org/core/components/ui/form/fieldset</a>.</span></p>
|
|
20
|
+
<h1 id="fieldset">Fieldset</h1>
|
|
21
|
+
<p><strong><code>sonic-fieldset</code></strong> groups related form controls in a bordered container rendered as a native <code><fieldset></code>. Put fields in the default slot and title the group with a slotted <code>sonic-legend</code> or with the <code>label</code> and <code>description</code> shorthand. Pair the body with <code>sonic-form-layout</code> for responsive columns.</p>
|
|
22
|
+
<h2 id="basic-example">Basic example</h2>
|
|
23
|
+
<pre><code><sonic-fieldset>
|
|
24
|
+
<sonic-legend label="Passenger contact"></sonic-legend>
|
|
25
|
+
<sonic-form-layout>
|
|
26
|
+
<sonic-input autocomplete="email" label="Email" name="email" type="email"></sonic-input>
|
|
27
|
+
<sonic-input autocomplete="tel" label="Phone" name="phone" type="tel"></sonic-input>
|
|
28
|
+
</sonic-form-layout>
|
|
29
|
+
</sonic-fieldset>
|
|
30
|
+
</code></pre>
|
|
31
|
+
<h2 id="variant">Variant</h2>
|
|
32
|
+
<p>With no <code>variant</code>, the fieldset is <code>default</code> (bordered). <code>ghost</code> and <code>shadow</code> hide the border; <code>shadow</code> adds <code>--sc-shadow-lg</code>.</p>
|
|
33
|
+
<pre><code><div class="grid gap-4">
|
|
34
|
+
<sonic-fieldset variant="default">
|
|
35
|
+
<sonic-legend label="Default"></sonic-legend>
|
|
36
|
+
<sonic-input label="Field" name="a"></sonic-input>
|
|
37
|
+
</sonic-fieldset>
|
|
38
|
+
<sonic-fieldset variant="ghost">
|
|
39
|
+
<sonic-legend label="Ghost"></sonic-legend>
|
|
40
|
+
<sonic-input label="Field" name="b"></sonic-input>
|
|
41
|
+
</sonic-fieldset>
|
|
42
|
+
<sonic-fieldset variant="shadow">
|
|
43
|
+
<sonic-legend label="Shadow"></sonic-legend>
|
|
44
|
+
<sonic-input label="Field" name="c"></sonic-input>
|
|
45
|
+
</sonic-fieldset>
|
|
46
|
+
</div>
|
|
47
|
+
</code></pre>
|
|
48
|
+
<h2 id="tight">Tight</h2>
|
|
49
|
+
<p><code>tight</code> removes horizontal padding, side borders and rounding, for a flat strip inside a parent.</p>
|
|
50
|
+
<pre><code><sonic-fieldset tight variant="ghost">
|
|
51
|
+
<sonic-legend label="Tight fieldset"></sonic-legend>
|
|
52
|
+
<sonic-input label="Field" name="tight"></sonic-input>
|
|
53
|
+
</sonic-fieldset>
|
|
54
|
+
</code></pre>
|
|
55
|
+
<h2 id="legend">Legend</h2>
|
|
56
|
+
<p><code>sonic-legend</code> takes <code>label</code> and <code>description</code>, or custom markup in its default slot with <code>sonic-legend-description</code> for the secondary line. <code>iconName</code> adds a leading <code>sonic-icon</code>. <strong><code>label</code> and <code>description</code> are rendered as HTML</strong>: pass trusted content only.</p>
|
|
57
|
+
<pre><code><div class="grid gap-4">
|
|
58
|
+
<sonic-fieldset>
|
|
59
|
+
<sonic-legend label="Attributes" description="Short description via attributes"></sonic-legend>
|
|
60
|
+
<sonic-input label="Field" name="attr"></sonic-input>
|
|
61
|
+
</sonic-fieldset>
|
|
62
|
+
<sonic-fieldset>
|
|
63
|
+
<sonic-legend iconLibrary="iconoir" iconName="pin-alt">
|
|
64
|
+
Custom title in the default slot
|
|
65
|
+
<sonic-legend-description>Description via sonic-legend-description</sonic-legend-description>
|
|
66
|
+
</sonic-legend>
|
|
67
|
+
<sonic-input label="Field" name="slot"></sonic-input>
|
|
68
|
+
</sonic-fieldset>
|
|
69
|
+
</div>
|
|
70
|
+
</code></pre>
|
|
71
|
+
<h2 id="shorthand-legend">Shorthand legend</h2>
|
|
72
|
+
<p>When <code>label</code> is set on <code>sonic-fieldset</code>, it renders the <code>sonic-legend</code> itself and forwards <code>description</code> · <code>iconName</code> · <code>iconLibrary</code> · <code>iconPrefix</code>. Do not also slot a <code>sonic-legend</code>, or the group gets two titles.</p>
|
|
73
|
+
<pre><code><sonic-fieldset
|
|
74
|
+
label="Crew profile"
|
|
75
|
+
description="Basic crew member fields"
|
|
76
|
+
iconLibrary="iconoir"
|
|
77
|
+
iconName="user"
|
|
78
|
+
>
|
|
79
|
+
<sonic-input label="Display name" name="display_name"></sonic-input>
|
|
80
|
+
</sonic-fieldset>
|
|
81
|
+
</code></pre>
|
|
82
|
+
<h2 id="legend-actions">Legend actions</h2>
|
|
83
|
+
<p><code>slot="suffix"</code> on <code>sonic-legend</code> aligns menus or icon buttons to the end of the title row.</p>
|
|
84
|
+
<pre><code><sonic-fieldset>
|
|
85
|
+
<sonic-legend label="Passenger details">
|
|
86
|
+
<sonic-pop class="inline-block" slot="suffix">
|
|
87
|
+
<sonic-button shape="circle" variant="ghost">
|
|
88
|
+
<sonic-icon library="iconoir" size="lg" name="more-vert"></sonic-icon>
|
|
89
|
+
</sonic-button>
|
|
90
|
+
<sonic-menu slot="content" minWidth="12rem">
|
|
91
|
+
<sonic-menu-item>Legal notice</sonic-menu-item>
|
|
92
|
+
<sonic-menu-item>Terms of use</sonic-menu-item>
|
|
93
|
+
</sonic-menu>
|
|
94
|
+
</sonic-pop>
|
|
95
|
+
</sonic-legend>
|
|
96
|
+
<sonic-form-layout>
|
|
97
|
+
<sonic-input autocomplete="family-name" label="Last name" name="last_name"></sonic-input>
|
|
98
|
+
<sonic-input autocomplete="given-name" label="First name" name="first_name"></sonic-input>
|
|
99
|
+
</sonic-form-layout>
|
|
100
|
+
</sonic-fieldset>
|
|
101
|
+
</code></pre>
|
|
102
|
+
<p><sonic-alert status="warning" label="Disabled state and form association" text="Both attributes are set on the inner native fieldset only. Slotted Concorde fields are not disabled or re-associated by them: set disabled on each field instead."></sonic-alert></p>
|
|
103
|
+
<h2 id="api-reference">API reference</h2>
|
|
104
|
+
<h3 id="sonic-fieldset"><code>sonic-fieldset</code></h3>
|
|
105
|
+
<table>
|
|
106
|
+
<thead>
|
|
107
|
+
<tr>
|
|
108
|
+
<th>Attribute</th>
|
|
109
|
+
<th>Values</th>
|
|
110
|
+
<th>Description</th>
|
|
111
|
+
</tr>
|
|
112
|
+
</thead>
|
|
113
|
+
<tbody><tr>
|
|
114
|
+
<td><code>variant</code></td>
|
|
115
|
+
<td><code>default</code> · <code>ghost</code> · <code>shadow</code> (default <code>default</code>)</td>
|
|
116
|
+
<td>Border and shadow treatment</td>
|
|
117
|
+
</tr>
|
|
118
|
+
<tr>
|
|
119
|
+
<td><code>tight</code></td>
|
|
120
|
+
<td>boolean</td>
|
|
121
|
+
<td>Removes horizontal padding, side borders and rounding</td>
|
|
122
|
+
</tr>
|
|
123
|
+
<tr>
|
|
124
|
+
<td><code>label</code></td>
|
|
125
|
+
<td>string</td>
|
|
126
|
+
<td>Shorthand title; renders a <code>sonic-legend</code> when set</td>
|
|
127
|
+
</tr>
|
|
128
|
+
<tr>
|
|
129
|
+
<td><code>description</code></td>
|
|
130
|
+
<td>string</td>
|
|
131
|
+
<td>Shorthand description (HTML)</td>
|
|
132
|
+
</tr>
|
|
133
|
+
<tr>
|
|
134
|
+
<td><code>iconName</code></td>
|
|
135
|
+
<td>string</td>
|
|
136
|
+
<td>Shorthand legend icon <code>name</code></td>
|
|
137
|
+
</tr>
|
|
138
|
+
<tr>
|
|
139
|
+
<td><code>iconLibrary</code></td>
|
|
140
|
+
<td>string</td>
|
|
141
|
+
<td>Shorthand legend icon <code>library</code></td>
|
|
142
|
+
</tr>
|
|
143
|
+
<tr>
|
|
144
|
+
<td><code>iconPrefix</code></td>
|
|
145
|
+
<td>string</td>
|
|
146
|
+
<td>Shorthand legend icon <code>prefix</code></td>
|
|
147
|
+
</tr>
|
|
148
|
+
<tr>
|
|
149
|
+
<td><code>disabled</code></td>
|
|
150
|
+
<td>boolean</td>
|
|
151
|
+
<td>Sets <code>disabled</code> on the inner native <code><fieldset></code></td>
|
|
152
|
+
</tr>
|
|
153
|
+
<tr>
|
|
154
|
+
<td><code>form</code></td>
|
|
155
|
+
<td>string</td>
|
|
156
|
+
<td>Sets <code>form</code> on the inner native <code><fieldset></code></td>
|
|
157
|
+
</tr>
|
|
158
|
+
<tr>
|
|
159
|
+
<td><code>dataProvider</code></td>
|
|
160
|
+
<td>string</td>
|
|
161
|
+
<td>Publisher key; matching publisher fields (e.g. <code>label</code>) fill the properties</td>
|
|
162
|
+
</tr>
|
|
163
|
+
</tbody></table>
|
|
164
|
+
<table>
|
|
165
|
+
<thead>
|
|
166
|
+
<tr>
|
|
167
|
+
<th>Slot</th>
|
|
168
|
+
<th>Description</th>
|
|
169
|
+
</tr>
|
|
170
|
+
</thead>
|
|
171
|
+
<tbody><tr>
|
|
172
|
+
<td><em>(default)</em></td>
|
|
173
|
+
<td>Optional <code>sonic-legend</code>, then the grouped fields</td>
|
|
174
|
+
</tr>
|
|
175
|
+
</tbody></table>
|
|
176
|
+
<h3 id="sonic-legend"><code>sonic-legend</code></h3>
|
|
177
|
+
<table>
|
|
178
|
+
<thead>
|
|
179
|
+
<tr>
|
|
180
|
+
<th>Attribute</th>
|
|
181
|
+
<th>Values</th>
|
|
182
|
+
<th>Description</th>
|
|
183
|
+
</tr>
|
|
184
|
+
</thead>
|
|
185
|
+
<tbody><tr>
|
|
186
|
+
<td><code>label</code></td>
|
|
187
|
+
<td>string</td>
|
|
188
|
+
<td>Title (HTML)</td>
|
|
189
|
+
</tr>
|
|
190
|
+
<tr>
|
|
191
|
+
<td><code>description</code></td>
|
|
192
|
+
<td>string</td>
|
|
193
|
+
<td>Description (HTML), wrapped in <code>sonic-legend-description</code></td>
|
|
194
|
+
</tr>
|
|
195
|
+
<tr>
|
|
196
|
+
<td><code>iconName</code></td>
|
|
197
|
+
<td>string</td>
|
|
198
|
+
<td>Leading <code>sonic-icon</code> <code>name</code></td>
|
|
199
|
+
</tr>
|
|
200
|
+
<tr>
|
|
201
|
+
<td><code>iconLibrary</code></td>
|
|
202
|
+
<td>string</td>
|
|
203
|
+
<td>Icon <code>library</code></td>
|
|
204
|
+
</tr>
|
|
205
|
+
<tr>
|
|
206
|
+
<td><code>iconPrefix</code></td>
|
|
207
|
+
<td>string</td>
|
|
208
|
+
<td>Icon <code>prefix</code></td>
|
|
209
|
+
</tr>
|
|
210
|
+
<tr>
|
|
211
|
+
<td><code>forceAutoFill</code></td>
|
|
212
|
+
<td>boolean</td>
|
|
213
|
+
<td>Lets a <code>label</code> or <code>description</code> set as a property override the attribute value</td>
|
|
214
|
+
</tr>
|
|
215
|
+
</tbody></table>
|
|
216
|
+
<table>
|
|
217
|
+
<thead>
|
|
218
|
+
<tr>
|
|
219
|
+
<th>Slot</th>
|
|
220
|
+
<th>Description</th>
|
|
221
|
+
</tr>
|
|
222
|
+
</thead>
|
|
223
|
+
<tbody><tr>
|
|
224
|
+
<td><em>(default)</em></td>
|
|
225
|
+
<td>Custom title and <code>sonic-legend-description</code></td>
|
|
226
|
+
</tr>
|
|
227
|
+
<tr>
|
|
228
|
+
<td><code>suffix</code></td>
|
|
229
|
+
<td>Trailing actions (menus, icon buttons)</td>
|
|
230
|
+
</tr>
|
|
231
|
+
</tbody></table>
|
|
232
|
+
<h3 id="sonic-legend-description"><code>sonic-legend-description</code></h3>
|
|
233
|
+
<p>No attributes. The default slot holds the muted line under the legend title.</p>
|
|
234
|
+
|
|
235
|
+
</article>
|
|
236
|
+
</main>
|
|
237
|
+
</body>
|
|
238
|
+
</html>
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Fieldset
|
|
2
|
+
|
|
3
|
+
**`sonic-fieldset`** groups related form controls in a bordered container rendered as a native `<fieldset>`. Put fields in the default slot and title the group with a slotted `sonic-legend` or with the `label` and `description` shorthand. Pair the body with `sonic-form-layout` for responsive columns.
|
|
4
|
+
|
|
5
|
+
## Basic example
|
|
6
|
+
|
|
7
|
+
<sonic-code>
|
|
8
|
+
<template>
|
|
9
|
+
<sonic-fieldset>
|
|
10
|
+
<sonic-legend label="Passenger contact"></sonic-legend>
|
|
11
|
+
<sonic-form-layout>
|
|
12
|
+
<sonic-input autocomplete="email" label="Email" name="email" type="email"></sonic-input>
|
|
13
|
+
<sonic-input autocomplete="tel" label="Phone" name="phone" type="tel"></sonic-input>
|
|
14
|
+
</sonic-form-layout>
|
|
15
|
+
</sonic-fieldset>
|
|
16
|
+
</template>
|
|
17
|
+
</sonic-code>
|
|
18
|
+
|
|
19
|
+
## Variant
|
|
20
|
+
|
|
21
|
+
With no `variant`, the fieldset is `default` (bordered). `ghost` and `shadow` hide the border; `shadow` adds `--sc-shadow-lg`.
|
|
22
|
+
|
|
23
|
+
<sonic-code>
|
|
24
|
+
<template>
|
|
25
|
+
<div class="grid gap-4">
|
|
26
|
+
<sonic-fieldset variant="default">
|
|
27
|
+
<sonic-legend label="Default"></sonic-legend>
|
|
28
|
+
<sonic-input label="Field" name="a"></sonic-input>
|
|
29
|
+
</sonic-fieldset>
|
|
30
|
+
<sonic-fieldset variant="ghost">
|
|
31
|
+
<sonic-legend label="Ghost"></sonic-legend>
|
|
32
|
+
<sonic-input label="Field" name="b"></sonic-input>
|
|
33
|
+
</sonic-fieldset>
|
|
34
|
+
<sonic-fieldset variant="shadow">
|
|
35
|
+
<sonic-legend label="Shadow"></sonic-legend>
|
|
36
|
+
<sonic-input label="Field" name="c"></sonic-input>
|
|
37
|
+
</sonic-fieldset>
|
|
38
|
+
</div>
|
|
39
|
+
</template>
|
|
40
|
+
</sonic-code>
|
|
41
|
+
|
|
42
|
+
## Tight
|
|
43
|
+
|
|
44
|
+
`tight` removes horizontal padding, side borders and rounding, for a flat strip inside a parent.
|
|
45
|
+
|
|
46
|
+
<sonic-code>
|
|
47
|
+
<template>
|
|
48
|
+
<sonic-fieldset tight variant="ghost">
|
|
49
|
+
<sonic-legend label="Tight fieldset"></sonic-legend>
|
|
50
|
+
<sonic-input label="Field" name="tight"></sonic-input>
|
|
51
|
+
</sonic-fieldset>
|
|
52
|
+
</template>
|
|
53
|
+
</sonic-code>
|
|
54
|
+
|
|
55
|
+
## Legend
|
|
56
|
+
|
|
57
|
+
`sonic-legend` takes `label` and `description`, or custom markup in its default slot with `sonic-legend-description` for the secondary line. `iconName` adds a leading `sonic-icon`. **`label` and `description` are rendered as HTML**: pass trusted content only.
|
|
58
|
+
|
|
59
|
+
<sonic-code>
|
|
60
|
+
<template>
|
|
61
|
+
<div class="grid gap-4">
|
|
62
|
+
<sonic-fieldset>
|
|
63
|
+
<sonic-legend label="Attributes" description="Short description via attributes"></sonic-legend>
|
|
64
|
+
<sonic-input label="Field" name="attr"></sonic-input>
|
|
65
|
+
</sonic-fieldset>
|
|
66
|
+
<sonic-fieldset>
|
|
67
|
+
<sonic-legend iconLibrary="iconoir" iconName="pin-alt">
|
|
68
|
+
Custom title in the default slot
|
|
69
|
+
<sonic-legend-description>Description via sonic-legend-description</sonic-legend-description>
|
|
70
|
+
</sonic-legend>
|
|
71
|
+
<sonic-input label="Field" name="slot"></sonic-input>
|
|
72
|
+
</sonic-fieldset>
|
|
73
|
+
</div>
|
|
74
|
+
</template>
|
|
75
|
+
</sonic-code>
|
|
76
|
+
|
|
77
|
+
## Shorthand legend
|
|
78
|
+
|
|
79
|
+
When `label` is set on `sonic-fieldset`, it renders the `sonic-legend` itself and forwards `description` · `iconName` · `iconLibrary` · `iconPrefix`. Do not also slot a `sonic-legend`, or the group gets two titles.
|
|
80
|
+
|
|
81
|
+
<sonic-code>
|
|
82
|
+
<template>
|
|
83
|
+
<sonic-fieldset
|
|
84
|
+
label="Crew profile"
|
|
85
|
+
description="Basic crew member fields"
|
|
86
|
+
iconLibrary="iconoir"
|
|
87
|
+
iconName="user"
|
|
88
|
+
>
|
|
89
|
+
<sonic-input label="Display name" name="display_name"></sonic-input>
|
|
90
|
+
</sonic-fieldset>
|
|
91
|
+
</template>
|
|
92
|
+
</sonic-code>
|
|
93
|
+
|
|
94
|
+
## Legend actions
|
|
95
|
+
|
|
96
|
+
`slot="suffix"` on `sonic-legend` aligns menus or icon buttons to the end of the title row.
|
|
97
|
+
|
|
98
|
+
<sonic-code>
|
|
99
|
+
<template>
|
|
100
|
+
<sonic-fieldset>
|
|
101
|
+
<sonic-legend label="Passenger details">
|
|
102
|
+
<sonic-pop class="inline-block" slot="suffix">
|
|
103
|
+
<sonic-button shape="circle" variant="ghost">
|
|
104
|
+
<sonic-icon library="iconoir" size="lg" name="more-vert"></sonic-icon>
|
|
105
|
+
</sonic-button>
|
|
106
|
+
<sonic-menu slot="content" minWidth="12rem">
|
|
107
|
+
<sonic-menu-item>Legal notice</sonic-menu-item>
|
|
108
|
+
<sonic-menu-item>Terms of use</sonic-menu-item>
|
|
109
|
+
</sonic-menu>
|
|
110
|
+
</sonic-pop>
|
|
111
|
+
</sonic-legend>
|
|
112
|
+
<sonic-form-layout>
|
|
113
|
+
<sonic-input autocomplete="family-name" label="Last name" name="last_name"></sonic-input>
|
|
114
|
+
<sonic-input autocomplete="given-name" label="First name" name="first_name"></sonic-input>
|
|
115
|
+
</sonic-form-layout>
|
|
116
|
+
</sonic-fieldset>
|
|
117
|
+
</template>
|
|
118
|
+
</sonic-code>
|
|
119
|
+
|
|
120
|
+
<sonic-alert status="warning" label="Disabled state and form association" text="Both attributes are set on the inner native fieldset only. Slotted Concorde fields are not disabled or re-associated by them: set disabled on each field instead."></sonic-alert>
|
|
121
|
+
|
|
122
|
+
## API reference
|
|
123
|
+
|
|
124
|
+
### `sonic-fieldset`
|
|
125
|
+
|
|
126
|
+
| Attribute | Values | Description |
|
|
127
|
+
|----------|---------|-------------|
|
|
128
|
+
| `variant` | `default` · `ghost` · `shadow` (default `default`) | Border and shadow treatment |
|
|
129
|
+
| `tight` | boolean | Removes horizontal padding, side borders and rounding |
|
|
130
|
+
| `label` | string | Shorthand title; renders a `sonic-legend` when set |
|
|
131
|
+
| `description` | string | Shorthand description (HTML) |
|
|
132
|
+
| `iconName` | string | Shorthand legend icon `name` |
|
|
133
|
+
| `iconLibrary` | string | Shorthand legend icon `library` |
|
|
134
|
+
| `iconPrefix` | string | Shorthand legend icon `prefix` |
|
|
135
|
+
| `disabled` | boolean | Sets `disabled` on the inner native `<fieldset>` |
|
|
136
|
+
| `form` | string | Sets `form` on the inner native `<fieldset>` |
|
|
137
|
+
| `dataProvider` | string | Publisher key; matching publisher fields (e.g. `label`) fill the properties |
|
|
138
|
+
|
|
139
|
+
| Slot | Description |
|
|
140
|
+
|------|-------------|
|
|
141
|
+
| *(default)* | Optional `sonic-legend`, then the grouped fields |
|
|
142
|
+
|
|
143
|
+
### `sonic-legend`
|
|
144
|
+
|
|
145
|
+
| Attribute | Values | Description |
|
|
146
|
+
|----------|---------|-------------|
|
|
147
|
+
| `label` | string | Title (HTML) |
|
|
148
|
+
| `description` | string | Description (HTML), wrapped in `sonic-legend-description` |
|
|
149
|
+
| `iconName` | string | Leading `sonic-icon` `name` |
|
|
150
|
+
| `iconLibrary` | string | Icon `library` |
|
|
151
|
+
| `iconPrefix` | string | Icon `prefix` |
|
|
152
|
+
| `forceAutoFill` | boolean | Lets a `label` or `description` set as a property override the attribute value |
|
|
153
|
+
|
|
154
|
+
| Slot | Description |
|
|
155
|
+
|------|-------------|
|
|
156
|
+
| *(default)* | Custom title and `sonic-legend-description` |
|
|
157
|
+
| `suffix` | Trailing actions (menus, icon buttons) |
|
|
158
|
+
|
|
159
|
+
### `sonic-legend-description`
|
|
160
|
+
|
|
161
|
+
No attributes. The default slot holds the muted line under the legend title.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en" data-doc-url="https://concorde.supersoniks.org/core/components/ui/form/form-actions" data-doc-id="core/components/ui/form/form-actions/form-actions">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Form actions — Concorde by Supersoniks</title>
|
|
7
|
+
<meta name="description" content="sonic-form-actions lays out form footer controls (submit, cancel) in a wrapping flex row with a 0.3rem gap. Place it inside sonic-form-layout, where it spans the full width, or at the end of any block">
|
|
8
|
+
<meta name="keywords" content="Concorde, supersoniks, core/components/ui/form/form-actions/form-actions, form-actions, Form actions, UI component, form, sonic-form-actions, web component, 0.3rem, sonic-form-layout, justify, direction, justify-content, flex-start, flex-end, center">
|
|
9
|
+
<meta name="concorde-doc-id" content="core/components/ui/form/form-actions/form-actions">
|
|
10
|
+
<link rel="canonical" href="https://concorde.supersoniks.org/core/components/ui/form/form-actions">
|
|
11
|
+
<link rel="alternate" type="text/markdown" href="https://concorde.supersoniks.org/core/components/ui/form/form-actions.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/form/form-actions">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 — Form actions</strong>. sonic-form-actions lays out form footer controls (submit, cancel) in a wrapping flex row with a 0.3rem gap. Place it inside sonic-form-layout, where it spans the full width, or at the end of any block <span>Doc ID: <code>core/components/ui/form/form-actions/form-actions</code>. Keywords: Concorde, supersoniks, core/components/ui/form/form-actions/form-actions, form-actions, Form actions, UI component, form, sonic-form-actions, web component, 0.3rem, sonic-form-layout, justify, direction, justify-content, flex-start, flex-end, center. URL: <a href="https://concorde.supersoniks.org/core/components/ui/form/form-actions">https://concorde.supersoniks.org/core/components/ui/form/form-actions</a>.</span></p>
|
|
20
|
+
<h1 id="form-actions">Form actions</h1>
|
|
21
|
+
<p><strong><code>sonic-form-actions</code></strong> lays out form footer controls (submit, cancel) in a wrapping flex row with a <code>0.3rem</code> gap. Place it inside <code>sonic-form-layout</code>, where it spans the full width, or at the end of any block. Use <code>justify</code> and <code>direction</code> to arrange the controls.</p>
|
|
22
|
+
<h2 id="basic-example">Basic example</h2>
|
|
23
|
+
<p>With no attributes, actions align to the start of the row.</p>
|
|
24
|
+
<pre><code><form>
|
|
25
|
+
<sonic-form-layout>
|
|
26
|
+
<sonic-input label="First name"></sonic-input>
|
|
27
|
+
<sonic-input label="Last name"></sonic-input>
|
|
28
|
+
<sonic-form-actions>
|
|
29
|
+
<sonic-button type="success"><sonic-icon name="check" library="iconoir"></sonic-icon> Check in</sonic-button>
|
|
30
|
+
<sonic-button type="danger" variant="ghost"><sonic-icon name="undo" library="iconoir"></sonic-icon> Cancel</sonic-button>
|
|
31
|
+
</sonic-form-actions>
|
|
32
|
+
</sonic-form-layout>
|
|
33
|
+
</form>
|
|
34
|
+
</code></pre>
|
|
35
|
+
<h2 id="justify">Justify</h2>
|
|
36
|
+
<p><code>justify</code> is the CSS <code>justify-content</code> of the row (default <code>flex-start</code>). Use <code>flex-end</code> for dialog-style footers or <code>center</code> for toolbars.</p>
|
|
37
|
+
<pre><code><form>
|
|
38
|
+
<sonic-form-layout>
|
|
39
|
+
<sonic-input label="First name"></sonic-input>
|
|
40
|
+
<sonic-input label="Last name"></sonic-input>
|
|
41
|
+
<sonic-form-actions justify="flex-end">
|
|
42
|
+
<sonic-button type="success"><sonic-icon name="check" library="iconoir"></sonic-icon> Submit</sonic-button>
|
|
43
|
+
<sonic-button type="danger" variant="ghost"><sonic-icon name="undo" library="iconoir"></sonic-icon> Cancel</sonic-button>
|
|
44
|
+
</sonic-form-actions>
|
|
45
|
+
</sonic-form-layout>
|
|
46
|
+
</form>
|
|
47
|
+
</code></pre>
|
|
48
|
+
<h2 id="direction">Direction</h2>
|
|
49
|
+
<p><code>direction</code> is the CSS <code>flex-direction</code> (default <code>row</code>). <code>row-reverse</code> swaps the visual order but keeps the DOM and focus order.</p>
|
|
50
|
+
<pre><code><form>
|
|
51
|
+
<sonic-form-layout>
|
|
52
|
+
<sonic-input label="First name"></sonic-input>
|
|
53
|
+
<sonic-input label="Last name"></sonic-input>
|
|
54
|
+
<sonic-form-actions direction="row-reverse">
|
|
55
|
+
<sonic-button type="success"><sonic-icon name="check" library="iconoir"></sonic-icon> Submit</sonic-button>
|
|
56
|
+
<sonic-button type="danger" variant="ghost"><sonic-icon name="undo" library="iconoir"></sonic-icon> Cancel</sonic-button>
|
|
57
|
+
</sonic-form-actions>
|
|
58
|
+
</sonic-form-layout>
|
|
59
|
+
</form>
|
|
60
|
+
</code></pre>
|
|
61
|
+
<h2 id="mixed-controls">Mixed controls</h2>
|
|
62
|
+
<p>Any content can be slotted, such as a vertical <code>sonic-divider</code>. The default <code>alignItems</code> (<code>center</code>) keeps items of different heights aligned.</p>
|
|
63
|
+
<pre><code><form>
|
|
64
|
+
<sonic-form-layout>
|
|
65
|
+
<sonic-input label="First name"></sonic-input>
|
|
66
|
+
<sonic-input label="Last name"></sonic-input>
|
|
67
|
+
<sonic-form-actions justify="center">
|
|
68
|
+
<sonic-button type="info" minWidth="12rem">
|
|
69
|
+
<sonic-icon name="nav-arrow-left" library="iconoir" slot="prefix"></sonic-icon>
|
|
70
|
+
Previous step
|
|
71
|
+
</sonic-button>
|
|
72
|
+
<sonic-divider vertical></sonic-divider>
|
|
73
|
+
<sonic-button type="info" minWidth="12rem">
|
|
74
|
+
<sonic-icon name="nav-arrow-right" library="iconoir" slot="suffix"></sonic-icon>
|
|
75
|
+
Next step
|
|
76
|
+
</sonic-button>
|
|
77
|
+
</sonic-form-actions>
|
|
78
|
+
</sonic-form-layout>
|
|
79
|
+
</form>
|
|
80
|
+
</code></pre>
|
|
81
|
+
<h2 id="api-reference">API reference</h2>
|
|
82
|
+
<table>
|
|
83
|
+
<thead>
|
|
84
|
+
<tr>
|
|
85
|
+
<th>Attribute</th>
|
|
86
|
+
<th>Values</th>
|
|
87
|
+
<th>Description</th>
|
|
88
|
+
</tr>
|
|
89
|
+
</thead>
|
|
90
|
+
<tbody><tr>
|
|
91
|
+
<td><code>direction</code></td>
|
|
92
|
+
<td><code>row</code> (default) · <code>column</code> · <code>row-reverse</code> · <code>column-reverse</code></td>
|
|
93
|
+
<td>CSS <code>flex-direction</code> of the row</td>
|
|
94
|
+
</tr>
|
|
95
|
+
<tr>
|
|
96
|
+
<td><code>justify</code></td>
|
|
97
|
+
<td>CSS <code>justify-content</code> value (default <code>flex-start</code>)</td>
|
|
98
|
+
<td>Distribution along the main axis</td>
|
|
99
|
+
</tr>
|
|
100
|
+
<tr>
|
|
101
|
+
<td><code>alignItems</code></td>
|
|
102
|
+
<td>CSS <code>align-items</code> value (default <code>center</code>)</td>
|
|
103
|
+
<td>Cross-axis alignment</td>
|
|
104
|
+
</tr>
|
|
105
|
+
</tbody></table>
|
|
106
|
+
<table>
|
|
107
|
+
<thead>
|
|
108
|
+
<tr>
|
|
109
|
+
<th>Slot</th>
|
|
110
|
+
<th>Description</th>
|
|
111
|
+
</tr>
|
|
112
|
+
</thead>
|
|
113
|
+
<tbody><tr>
|
|
114
|
+
<td><em>(default)</em></td>
|
|
115
|
+
<td>Footer controls</td>
|
|
116
|
+
</tr>
|
|
117
|
+
</tbody></table>
|
|
118
|
+
|
|
119
|
+
</article>
|
|
120
|
+
</main>
|
|
121
|
+
</body>
|
|
122
|
+
</html>
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Form actions
|
|
2
|
+
|
|
3
|
+
**`sonic-form-actions`** lays out form footer controls (submit, cancel) in a wrapping flex row with a `0.3rem` gap. Place it inside `sonic-form-layout`, where it spans the full width, or at the end of any block. Use `justify` and `direction` to arrange the controls.
|
|
4
|
+
|
|
5
|
+
## Basic example
|
|
6
|
+
|
|
7
|
+
With no attributes, actions align to the start of the row.
|
|
8
|
+
|
|
9
|
+
<sonic-code>
|
|
10
|
+
<template>
|
|
11
|
+
<form>
|
|
12
|
+
<sonic-form-layout>
|
|
13
|
+
<sonic-input label="First name"></sonic-input>
|
|
14
|
+
<sonic-input label="Last name"></sonic-input>
|
|
15
|
+
<sonic-form-actions>
|
|
16
|
+
<sonic-button type="success"><sonic-icon name="check" library="iconoir"></sonic-icon> Check in</sonic-button>
|
|
17
|
+
<sonic-button type="danger" variant="ghost"><sonic-icon name="undo" library="iconoir"></sonic-icon> Cancel</sonic-button>
|
|
18
|
+
</sonic-form-actions>
|
|
19
|
+
</sonic-form-layout>
|
|
20
|
+
</form>
|
|
21
|
+
</template>
|
|
22
|
+
</sonic-code>
|
|
23
|
+
|
|
24
|
+
## Justify
|
|
25
|
+
|
|
26
|
+
`justify` is the CSS `justify-content` of the row (default `flex-start`). Use `flex-end` for dialog-style footers or `center` for toolbars.
|
|
27
|
+
|
|
28
|
+
<sonic-code>
|
|
29
|
+
<template>
|
|
30
|
+
<form>
|
|
31
|
+
<sonic-form-layout>
|
|
32
|
+
<sonic-input label="First name"></sonic-input>
|
|
33
|
+
<sonic-input label="Last name"></sonic-input>
|
|
34
|
+
<sonic-form-actions justify="flex-end">
|
|
35
|
+
<sonic-button type="success"><sonic-icon name="check" library="iconoir"></sonic-icon> Submit</sonic-button>
|
|
36
|
+
<sonic-button type="danger" variant="ghost"><sonic-icon name="undo" library="iconoir"></sonic-icon> Cancel</sonic-button>
|
|
37
|
+
</sonic-form-actions>
|
|
38
|
+
</sonic-form-layout>
|
|
39
|
+
</form>
|
|
40
|
+
</template>
|
|
41
|
+
</sonic-code>
|
|
42
|
+
|
|
43
|
+
## Direction
|
|
44
|
+
|
|
45
|
+
`direction` is the CSS `flex-direction` (default `row`). `row-reverse` swaps the visual order but keeps the DOM and focus order.
|
|
46
|
+
|
|
47
|
+
<sonic-code>
|
|
48
|
+
<template>
|
|
49
|
+
<form>
|
|
50
|
+
<sonic-form-layout>
|
|
51
|
+
<sonic-input label="First name"></sonic-input>
|
|
52
|
+
<sonic-input label="Last name"></sonic-input>
|
|
53
|
+
<sonic-form-actions direction="row-reverse">
|
|
54
|
+
<sonic-button type="success"><sonic-icon name="check" library="iconoir"></sonic-icon> Submit</sonic-button>
|
|
55
|
+
<sonic-button type="danger" variant="ghost"><sonic-icon name="undo" library="iconoir"></sonic-icon> Cancel</sonic-button>
|
|
56
|
+
</sonic-form-actions>
|
|
57
|
+
</sonic-form-layout>
|
|
58
|
+
</form>
|
|
59
|
+
</template>
|
|
60
|
+
</sonic-code>
|
|
61
|
+
|
|
62
|
+
## Mixed controls
|
|
63
|
+
|
|
64
|
+
Any content can be slotted, such as a vertical `sonic-divider`. The default `alignItems` (`center`) keeps items of different heights aligned.
|
|
65
|
+
|
|
66
|
+
<sonic-code>
|
|
67
|
+
<template>
|
|
68
|
+
<form>
|
|
69
|
+
<sonic-form-layout>
|
|
70
|
+
<sonic-input label="First name"></sonic-input>
|
|
71
|
+
<sonic-input label="Last name"></sonic-input>
|
|
72
|
+
<sonic-form-actions justify="center">
|
|
73
|
+
<sonic-button type="info" minWidth="12rem">
|
|
74
|
+
<sonic-icon name="nav-arrow-left" library="iconoir" slot="prefix"></sonic-icon>
|
|
75
|
+
Previous step
|
|
76
|
+
</sonic-button>
|
|
77
|
+
<sonic-divider vertical></sonic-divider>
|
|
78
|
+
<sonic-button type="info" minWidth="12rem">
|
|
79
|
+
<sonic-icon name="nav-arrow-right" library="iconoir" slot="suffix"></sonic-icon>
|
|
80
|
+
Next step
|
|
81
|
+
</sonic-button>
|
|
82
|
+
</sonic-form-actions>
|
|
83
|
+
</sonic-form-layout>
|
|
84
|
+
</form>
|
|
85
|
+
</template>
|
|
86
|
+
</sonic-code>
|
|
87
|
+
|
|
88
|
+
## API reference
|
|
89
|
+
|
|
90
|
+
| Attribute | Values | Description |
|
|
91
|
+
|----------|---------|-------------|
|
|
92
|
+
| `direction` | `row` (default) · `column` · `row-reverse` · `column-reverse` | CSS `flex-direction` of the row |
|
|
93
|
+
| `justify` | CSS `justify-content` value (default `flex-start`) | Distribution along the main axis |
|
|
94
|
+
| `alignItems` | CSS `align-items` value (default `center`) | Cross-axis alignment |
|
|
95
|
+
|
|
96
|
+
| Slot | Description |
|
|
97
|
+
|------|-------------|
|
|
98
|
+
| *(default)* | Footer controls |
|