@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
|
@@ -1,158 +1,65 @@
|
|
|
1
1
|
# Table
|
|
2
2
|
|
|
3
|
-
**`sonic-table`** lays out tabular data with
|
|
3
|
+
**`sonic-table`** lays out tabular data with **`sonic-tr`** · **`sonic-th`** · **`sonic-td`** children, optionally grouped in **`sonic-thead`** · **`sonic-tbody`** · **`sonic-tfoot`**. It scrolls horizontally when columns overflow; set **`minWidth`** on wide cells to keep them readable. Render fetched rows with **`sonic-list`**.
|
|
4
4
|
|
|
5
5
|
## Basic example
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
<sonic-code>
|
|
10
|
-
<template>
|
|
11
|
-
<sonic-table>
|
|
12
|
-
<sonic-tr>
|
|
13
|
-
<sonic-th>Id</sonic-th>
|
|
14
|
-
<sonic-th>Name</sonic-th>
|
|
15
|
-
<sonic-th>Email</sonic-th>
|
|
16
|
-
</sonic-tr>
|
|
17
|
-
<sonic-tr>
|
|
18
|
-
<sonic-td>1</sonic-td>
|
|
19
|
-
<sonic-td>George Bluth</sonic-td>
|
|
20
|
-
<sonic-td>george.bluth@reqres.in</sonic-td>
|
|
21
|
-
</sonic-tr>
|
|
22
|
-
<sonic-tr>
|
|
23
|
-
<sonic-td>2</sonic-td>
|
|
24
|
-
<sonic-td>Janet Weaver</sonic-td>
|
|
25
|
-
<sonic-td>janet.weaver@reqres.in</sonic-td>
|
|
26
|
-
</sonic-tr>
|
|
27
|
-
<sonic-tr>
|
|
28
|
-
<sonic-td>3</sonic-td>
|
|
29
|
-
<sonic-td>Emma Wong</sonic-td>
|
|
30
|
-
<sonic-td>emma.wong@reqres.in</sonic-td>
|
|
31
|
-
</sonic-tr>
|
|
32
|
-
</sonic-table>
|
|
33
|
-
</template>
|
|
34
|
-
</sonic-code>
|
|
35
|
-
|
|
36
|
-
## List and fetch
|
|
37
|
-
|
|
38
|
-
Place **`sonic-list`** inside **`sonic-tbody`** so each item template renders a **`sonic-tr`**. **`sonic-list`** sets row metadata (`even` / `odd` / `last`) on **`sonic-tr`** for striping and borders.
|
|
39
|
-
|
|
40
|
-
<sonic-code>
|
|
41
|
-
<template>
|
|
42
|
-
<sonic-table>
|
|
43
|
-
<sonic-thead>
|
|
44
|
-
<sonic-tr>
|
|
45
|
-
<sonic-th>Id</sonic-th>
|
|
46
|
-
<sonic-th>Name</sonic-th>
|
|
47
|
-
<sonic-th>Email</sonic-th>
|
|
48
|
-
</sonic-tr>
|
|
49
|
-
</sonic-thead>
|
|
50
|
-
<sonic-tbody>
|
|
51
|
-
<sonic-list debug fetch serviceURL="/docs-mock-api" dataProvider="api/users" key="data" displayContents>
|
|
52
|
-
<template>
|
|
53
|
-
<sonic-tr>
|
|
54
|
-
<sonic-td data-bind ::inner-html="$id"></sonic-td>
|
|
55
|
-
<sonic-td data-bind ::inner-html="$first_name <b>$last_name</b>"></sonic-td>
|
|
56
|
-
<sonic-td data-bind ::inner-html="$email"></sonic-td>
|
|
57
|
-
</sonic-tr>
|
|
58
|
-
</template>
|
|
59
|
-
</sonic-list>
|
|
60
|
-
</sonic-tbody>
|
|
61
|
-
</sonic-table>
|
|
62
|
-
</template>
|
|
63
|
-
</sonic-code>
|
|
64
|
-
|
|
65
|
-
## Size
|
|
66
|
-
|
|
67
|
-
Default font size is **`md`** (omit **`size`**). Sizes follow the shared scale (`2xs` … `2xl`).
|
|
68
|
-
|
|
69
|
-
<sonic-code>
|
|
70
|
-
<template>
|
|
71
|
-
<div class="grid grid-cols-4 gap-3">
|
|
72
|
-
<sonic-table size="2xs" bordered>
|
|
73
|
-
<sonic-tr><sonic-td class="w-[5rem]">2xs</sonic-td></sonic-tr>
|
|
74
|
-
</sonic-table>
|
|
75
|
-
<sonic-table size="xs" bordered>
|
|
76
|
-
<sonic-tr><sonic-td class="w-[5rem]">xs</sonic-td></sonic-tr>
|
|
77
|
-
</sonic-table>
|
|
78
|
-
<sonic-table size="sm" bordered>
|
|
79
|
-
<sonic-tr><sonic-td class="w-[5rem]">sm</sonic-td></sonic-tr>
|
|
80
|
-
</sonic-table>
|
|
81
|
-
<sonic-table size="md" bordered>
|
|
82
|
-
<sonic-tr><sonic-td class="w-[5rem]">md</sonic-td></sonic-tr>
|
|
83
|
-
</sonic-table>
|
|
84
|
-
<sonic-table bordered>
|
|
85
|
-
<sonic-tr><sonic-td class="w-[5rem]">default</sonic-td></sonic-tr>
|
|
86
|
-
</sonic-table>
|
|
87
|
-
<sonic-table size="lg" bordered>
|
|
88
|
-
<sonic-tr><sonic-td class="w-[5rem]">lg</sonic-td></sonic-tr>
|
|
89
|
-
</sonic-table>
|
|
90
|
-
<sonic-table size="xl" bordered>
|
|
91
|
-
<sonic-tr><sonic-td class="w-[5rem]">xl</sonic-td></sonic-tr>
|
|
92
|
-
</sonic-table>
|
|
93
|
-
<sonic-table size="2xl" bordered>
|
|
94
|
-
<sonic-tr><sonic-td class="w-[5rem]">2xl</sonic-td></sonic-tr>
|
|
95
|
-
</sonic-table>
|
|
96
|
-
</div>
|
|
97
|
-
</template>
|
|
98
|
-
</sonic-code>
|
|
99
|
-
|
|
100
|
-
## Bordered
|
|
101
|
-
|
|
102
|
-
Set **`bordered`** on **`sonic-table`** for an outer frame and horizontal rules between rows.
|
|
7
|
+
**`bordered`** adds an outer frame and row dividers. **`sonic-tbody`** stripes and highlights its rows on hover.
|
|
103
8
|
|
|
104
9
|
<sonic-code>
|
|
105
10
|
<template>
|
|
106
11
|
<sonic-table bordered>
|
|
107
12
|
<sonic-thead>
|
|
108
13
|
<sonic-tr>
|
|
109
|
-
<sonic-th>
|
|
110
|
-
<sonic-th>
|
|
111
|
-
<sonic-th>
|
|
14
|
+
<sonic-th>Flight</sonic-th>
|
|
15
|
+
<sonic-th>Destination</sonic-th>
|
|
16
|
+
<sonic-th>Status</sonic-th>
|
|
112
17
|
</sonic-tr>
|
|
113
18
|
</sonic-thead>
|
|
114
19
|
<sonic-tbody>
|
|
115
20
|
<sonic-tr>
|
|
116
|
-
<sonic-td>
|
|
117
|
-
<sonic-td>
|
|
118
|
-
<sonic-td>
|
|
21
|
+
<sonic-td>CN 001</sonic-td>
|
|
22
|
+
<sonic-td>New York JFK</sonic-td>
|
|
23
|
+
<sonic-td>Boarding</sonic-td>
|
|
119
24
|
</sonic-tr>
|
|
120
25
|
<sonic-tr>
|
|
121
|
-
<sonic-td>
|
|
122
|
-
<sonic-td>
|
|
123
|
-
<sonic-td>
|
|
26
|
+
<sonic-td>CN 014</sonic-td>
|
|
27
|
+
<sonic-td>London LHR</sonic-td>
|
|
28
|
+
<sonic-td>On time</sonic-td>
|
|
124
29
|
</sonic-tr>
|
|
125
30
|
<sonic-tr>
|
|
126
|
-
<sonic-td>
|
|
127
|
-
<sonic-td>
|
|
128
|
-
<sonic-td>
|
|
31
|
+
<sonic-td>CN 102</sonic-td>
|
|
32
|
+
<sonic-td>Rio de Janeiro GIG</sonic-td>
|
|
33
|
+
<sonic-td>Delayed</sonic-td>
|
|
129
34
|
</sonic-tr>
|
|
130
35
|
</sonic-tbody>
|
|
131
36
|
</sonic-table>
|
|
132
37
|
</template>
|
|
133
38
|
</sonic-code>
|
|
134
39
|
|
|
135
|
-
##
|
|
40
|
+
## List, fetch and max height
|
|
136
41
|
|
|
137
|
-
**`
|
|
42
|
+
Put a **`sonic-list`** with `displayContents` inside **`sonic-tbody`** and render one **`sonic-tr`** per item; the list sets `even` · `odd` · `last` on each row. **`maxHeight`** caps the scroll container so the body scrolls vertically.
|
|
138
43
|
|
|
139
44
|
<sonic-code>
|
|
140
45
|
<template>
|
|
141
|
-
<sonic-table maxHeight="
|
|
46
|
+
<sonic-table maxHeight="10rem">
|
|
142
47
|
<sonic-thead>
|
|
143
48
|
<sonic-tr>
|
|
144
|
-
<sonic-th>
|
|
145
|
-
<sonic-th>
|
|
146
|
-
<sonic-th>
|
|
49
|
+
<sonic-th>Time</sonic-th>
|
|
50
|
+
<sonic-th>Flight</sonic-th>
|
|
51
|
+
<sonic-th>Destination</sonic-th>
|
|
52
|
+
<sonic-th>Gate</sonic-th>
|
|
147
53
|
</sonic-tr>
|
|
148
54
|
</sonic-thead>
|
|
149
55
|
<sonic-tbody>
|
|
150
|
-
<sonic-list fetch serviceURL="/docs-mock-api" dataProvider="
|
|
56
|
+
<sonic-list fetch serviceURL="/docs-mock-api" dataProvider="flights" key="flights" displayContents>
|
|
151
57
|
<template>
|
|
152
58
|
<sonic-tr>
|
|
153
|
-
<sonic-td data-bind ::inner-html="$
|
|
154
|
-
<sonic-td data-bind ::inner-html="$
|
|
155
|
-
<sonic-td data-bind ::inner-html="$
|
|
59
|
+
<sonic-td data-bind ::inner-html="$time"></sonic-td>
|
|
60
|
+
<sonic-td data-bind ::inner-html="$code"></sonic-td>
|
|
61
|
+
<sonic-td minWidth="10rem" data-bind ::inner-html="$city <b>$airport</b>"></sonic-td>
|
|
62
|
+
<sonic-td data-bind ::inner-html="$gate"></sonic-td>
|
|
156
63
|
</sonic-tr>
|
|
157
64
|
</template>
|
|
158
65
|
</sonic-list>
|
|
@@ -161,23 +68,41 @@ Set **`bordered`** on **`sonic-table`** for an outer frame and horizontal rules
|
|
|
161
68
|
</template>
|
|
162
69
|
</sonic-code>
|
|
163
70
|
|
|
71
|
+
## Size
|
|
72
|
+
|
|
73
|
+
With no **`size`**, the table uses `md`.
|
|
74
|
+
|
|
75
|
+
<sonic-code>
|
|
76
|
+
<template>
|
|
77
|
+
<div class="grid grid-cols-4 gap-3">
|
|
78
|
+
<sonic-table size="2xs" bordered><sonic-tr><sonic-td>2xs</sonic-td></sonic-tr></sonic-table>
|
|
79
|
+
<sonic-table size="xs" bordered><sonic-tr><sonic-td>xs</sonic-td></sonic-tr></sonic-table>
|
|
80
|
+
<sonic-table size="sm" bordered><sonic-tr><sonic-td>sm</sonic-td></sonic-tr></sonic-table>
|
|
81
|
+
<sonic-table size="md" bordered><sonic-tr><sonic-td>md</sonic-td></sonic-tr></sonic-table>
|
|
82
|
+
<sonic-table size="lg" bordered><sonic-tr><sonic-td>lg</sonic-td></sonic-tr></sonic-table>
|
|
83
|
+
<sonic-table size="xl" bordered><sonic-tr><sonic-td>xl</sonic-td></sonic-tr></sonic-table>
|
|
84
|
+
<sonic-table size="2xl" bordered><sonic-tr><sonic-td>2xl</sonic-td></sonic-tr></sonic-table>
|
|
85
|
+
</div>
|
|
86
|
+
</template>
|
|
87
|
+
</sonic-code>
|
|
88
|
+
|
|
164
89
|
## Type
|
|
165
90
|
|
|
166
|
-
|
|
91
|
+
**`type`** on **`sonic-tr`** · **`sonic-th`** · **`sonic-td`** sets a semantic text color.
|
|
167
92
|
|
|
168
93
|
<sonic-code>
|
|
169
94
|
<template>
|
|
170
95
|
<sonic-table bordered>
|
|
171
96
|
<sonic-tr>
|
|
172
|
-
<sonic-th type="info">
|
|
97
|
+
<sonic-th type="info">Set on</sonic-th>
|
|
173
98
|
<sonic-th type="info">sonic-th</sonic-th>
|
|
174
99
|
</sonic-tr>
|
|
175
100
|
<sonic-tr>
|
|
176
|
-
<sonic-td type="danger">
|
|
101
|
+
<sonic-td type="danger">Set on</sonic-td>
|
|
177
102
|
<sonic-td type="danger">sonic-td</sonic-td>
|
|
178
103
|
</sonic-tr>
|
|
179
104
|
<sonic-tr type="success">
|
|
180
|
-
<sonic-td>
|
|
105
|
+
<sonic-td>Set on</sonic-td>
|
|
181
106
|
<sonic-td>sonic-tr</sonic-td>
|
|
182
107
|
</sonic-tr>
|
|
183
108
|
</sonic-table>
|
|
@@ -186,11 +111,9 @@ Set **`type`** on **`sonic-th`** / **`sonic-td`** / **`sonic-tr`** for semantic
|
|
|
186
111
|
|
|
187
112
|
## Colspan and rowspan
|
|
188
113
|
|
|
189
|
-
Use **`colSpan`** and **`rowSpan`** on **`sonic-th`** or **`sonic-td`** (maps to `colspan` / `rowspan` on the cell).
|
|
190
|
-
|
|
191
114
|
<sonic-code>
|
|
192
115
|
<template>
|
|
193
|
-
<sonic-table>
|
|
116
|
+
<sonic-table bordered>
|
|
194
117
|
<sonic-tbody>
|
|
195
118
|
<sonic-tr>
|
|
196
119
|
<sonic-td colspan="2" class="bg-info text-neutral-0">colspan: 2</sonic-td>
|
|
@@ -210,73 +133,36 @@ Use **`colSpan`** and **`rowSpan`** on **`sonic-th`** or **`sonic-td`** (maps to
|
|
|
210
133
|
</template>
|
|
211
134
|
</sonic-code>
|
|
212
135
|
|
|
213
|
-
##
|
|
136
|
+
## Alignment and width
|
|
214
137
|
|
|
215
|
-
**`align`** sets horizontal alignment
|
|
138
|
+
**`align`** sets horizontal alignment. **`width`** · **`minWidth`** · **`maxWidth`** set the cell dimensions. **`vAlign`** exists on **`sonic-td`** only.
|
|
216
139
|
|
|
217
140
|
<sonic-code>
|
|
218
141
|
<template>
|
|
219
142
|
<sonic-table bordered>
|
|
220
143
|
<sonic-thead>
|
|
221
144
|
<sonic-tr>
|
|
222
|
-
<sonic-th width="
|
|
223
|
-
<sonic-th
|
|
224
|
-
<sonic-th>
|
|
225
|
-
<sonic-th>width</sonic-th>
|
|
145
|
+
<sonic-th width="8rem">align</sonic-th>
|
|
146
|
+
<sonic-th maxWidth="8rem">maxWidth 8rem</sonic-th>
|
|
147
|
+
<sonic-th>vAlign</sonic-th>
|
|
226
148
|
</sonic-tr>
|
|
227
149
|
</sonic-thead>
|
|
228
150
|
<sonic-tbody>
|
|
229
151
|
<sonic-tr>
|
|
230
|
-
<sonic-td align="left">
|
|
231
|
-
<sonic-td>
|
|
232
|
-
<sonic-td>
|
|
233
|
-
<sonic-td>15rem</sonic-td>
|
|
152
|
+
<sonic-td align="left">left</sonic-td>
|
|
153
|
+
<sonic-td maxWidth="8rem">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</sonic-td>
|
|
154
|
+
<sonic-td vAlign="top">top</sonic-td>
|
|
234
155
|
</sonic-tr>
|
|
235
156
|
<sonic-tr>
|
|
236
157
|
<sonic-td align="center">center</sonic-td>
|
|
237
|
-
<sonic-td>
|
|
238
|
-
<sonic-td
|
|
239
|
-
<sonic-td>15rem</sonic-td>
|
|
158
|
+
<sonic-td maxWidth="8rem">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</sonic-td>
|
|
159
|
+
<sonic-td vAlign="middle">middle</sonic-td>
|
|
240
160
|
</sonic-tr>
|
|
241
161
|
<sonic-tr>
|
|
242
162
|
<sonic-td align="right">right</sonic-td>
|
|
243
|
-
<sonic-td>
|
|
244
|
-
<sonic-td
|
|
245
|
-
<sonic-td width="60rem">15rem — Lorem ipsum dolor sit amet, consectetur adipiscing elit.</sonic-td>
|
|
246
|
-
</sonic-tr>
|
|
247
|
-
</sonic-tbody>
|
|
248
|
-
</sonic-table>
|
|
249
|
-
</template>
|
|
250
|
-
</sonic-code>
|
|
251
|
-
|
|
252
|
-
## Responsive layout
|
|
253
|
-
|
|
254
|
-
Tables scroll horizontally by default when columns exceed the viewport. Use **`minWidth`** on wide columns to preserve readable line length.
|
|
255
|
-
|
|
256
|
-
<sonic-code>
|
|
257
|
-
<template>
|
|
258
|
-
<sonic-table bordered>
|
|
259
|
-
<sonic-thead>
|
|
260
|
-
<sonic-tr>
|
|
261
|
-
<sonic-th>Id</sonic-th>
|
|
262
|
-
<sonic-th>Name</sonic-th>
|
|
263
|
-
<sonic-th>Email</sonic-th>
|
|
264
|
-
<sonic-th>Comment</sonic-th>
|
|
163
|
+
<sonic-td maxWidth="8rem">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</sonic-td>
|
|
164
|
+
<sonic-td vAlign="bottom">bottom</sonic-td>
|
|
265
165
|
</sonic-tr>
|
|
266
|
-
</sonic-thead>
|
|
267
|
-
<sonic-tbody>
|
|
268
|
-
<sonic-list fetch serviceURL="/docs-mock-api" dataProvider="api/users" key="data" displayContents>
|
|
269
|
-
<template>
|
|
270
|
-
<sonic-tr>
|
|
271
|
-
<sonic-td data-bind ::inner-html="$id"></sonic-td>
|
|
272
|
-
<sonic-td minWidth="10rem" data-bind ::inner-html="$first_name <b>$last_name</b>"></sonic-td>
|
|
273
|
-
<sonic-td data-bind ::inner-html="$email"></sonic-td>
|
|
274
|
-
<sonic-td minWidth="40rem">
|
|
275
|
-
Phasellus suscipit vulputate lacus, in tempor turpis aliquam vel. Nunc eleifend, velit id ultrices elementum, ipsum felis porttitor dui, id laoreet diam nulla sed urna.
|
|
276
|
-
</sonic-td>
|
|
277
|
-
</sonic-tr>
|
|
278
|
-
</template>
|
|
279
|
-
</sonic-list>
|
|
280
166
|
</sonic-tbody>
|
|
281
167
|
</sonic-table>
|
|
282
168
|
</template>
|
|
@@ -284,16 +170,14 @@ Tables scroll horizontally by default when columns exceed the viewport. Use **`m
|
|
|
284
170
|
|
|
285
171
|
## Sticky header and caption
|
|
286
172
|
|
|
287
|
-
**`sonic-th`**
|
|
173
|
+
**`sonic-th`** cells stick to the top of the scroll container. To stick the header to the page instead, set **`noCustomScroll`** (which removes the scroll container) and position **`sonic-thead`** yourself. **`sonic-caption`** adds a caption.
|
|
288
174
|
|
|
289
175
|
<sonic-code>
|
|
290
176
|
<template>
|
|
291
177
|
<sonic-table bordered noCustomScroll>
|
|
292
178
|
<sonic-thead class="sticky top-16">
|
|
293
179
|
<sonic-tr>
|
|
294
|
-
<sonic-th minWidth="
|
|
295
|
-
<sonic-th type="success">Contact</sonic-th>
|
|
296
|
-
<sonic-th>Country</sonic-th>
|
|
180
|
+
<sonic-th minWidth="12rem">Product</sonic-th>
|
|
297
181
|
<sonic-th align="center">Quantity</sonic-th>
|
|
298
182
|
<sonic-th align="right">Price</sonic-th>
|
|
299
183
|
<sonic-th></sonic-th>
|
|
@@ -301,54 +185,37 @@ Tables scroll horizontally by default when columns exceed the viewport. Use **`m
|
|
|
301
185
|
</sonic-thead>
|
|
302
186
|
<sonic-tbody>
|
|
303
187
|
<sonic-tr>
|
|
304
|
-
<sonic-td>
|
|
305
|
-
<sonic-td>Maria Anders</sonic-td>
|
|
306
|
-
<sonic-td>Germany</sonic-td>
|
|
188
|
+
<sonic-td>Desk lamp</sonic-td>
|
|
307
189
|
<sonic-td align="center">2</sonic-td>
|
|
308
|
-
<sonic-td align="right">40€</sonic-td>
|
|
309
|
-
<sonic-td align="right">
|
|
310
|
-
<sonic-button shape="circle" variant="outline" size="sm">
|
|
311
|
-
<sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon>
|
|
312
|
-
</sonic-button>
|
|
313
|
-
</sonic-td>
|
|
314
|
-
</sonic-tr>
|
|
315
|
-
<sonic-tr>
|
|
316
|
-
<sonic-td>Centro comercial Moctezuma</sonic-td>
|
|
317
|
-
<sonic-td colspan="2" align="center" class="text-center text-neutral-400">no information yet</sonic-td>
|
|
318
|
-
<sonic-td align="center">3</sonic-td>
|
|
319
|
-
<sonic-td align="right">40€</sonic-td>
|
|
190
|
+
<sonic-td align="right">40 €</sonic-td>
|
|
320
191
|
<sonic-td align="right">
|
|
321
|
-
<sonic-button shape="circle" variant="outline" size="sm">
|
|
192
|
+
<sonic-button shape="circle" variant="outline" size="sm" aria-label="Edit">
|
|
322
193
|
<sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon>
|
|
323
194
|
</sonic-button>
|
|
324
195
|
</sonic-td>
|
|
325
196
|
</sonic-tr>
|
|
326
197
|
<sonic-tr type="warning">
|
|
327
|
-
<sonic-td>
|
|
328
|
-
<sonic-td>Yoshi Tannamuri</sonic-td>
|
|
329
|
-
<sonic-td>Canada</sonic-td>
|
|
198
|
+
<sonic-td>Notebook</sonic-td>
|
|
330
199
|
<sonic-td align="center">0</sonic-td>
|
|
331
|
-
<sonic-td align="right">
|
|
200
|
+
<sonic-td align="right">8 €</sonic-td>
|
|
332
201
|
<sonic-td align="right">
|
|
333
|
-
<sonic-button shape="circle" variant="outline" size="sm">
|
|
202
|
+
<sonic-button shape="circle" variant="outline" size="sm" aria-label="Edit">
|
|
334
203
|
<sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon>
|
|
335
204
|
</sonic-button>
|
|
336
205
|
</sonic-td>
|
|
337
206
|
</sonic-tr>
|
|
338
207
|
<sonic-tr>
|
|
339
|
-
<sonic-td>
|
|
340
|
-
<sonic-td>
|
|
341
|
-
<sonic-td type="danger">
|
|
342
|
-
<sonic-td align="center">20</sonic-td>
|
|
343
|
-
<sonic-td align="right">40€</sonic-td>
|
|
208
|
+
<sonic-td>Headphones</sonic-td>
|
|
209
|
+
<sonic-td align="center">1</sonic-td>
|
|
210
|
+
<sonic-td align="right" type="danger">120 €</sonic-td>
|
|
344
211
|
<sonic-td align="right">
|
|
345
|
-
<sonic-button shape="circle" variant="outline" size="sm">
|
|
212
|
+
<sonic-button shape="circle" variant="outline" size="sm" aria-label="Edit">
|
|
346
213
|
<sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon>
|
|
347
214
|
</sonic-button>
|
|
348
215
|
</sonic-td>
|
|
349
216
|
</sonic-tr>
|
|
350
217
|
</sonic-tbody>
|
|
351
|
-
<sonic-caption>
|
|
218
|
+
<sonic-caption>Cart contents</sonic-caption>
|
|
352
219
|
</sonic-table>
|
|
353
220
|
</template>
|
|
354
221
|
</sonic-code>
|
|
@@ -359,72 +226,41 @@ Tables scroll horizontally by default when columns exceed the viewport. Use **`m
|
|
|
359
226
|
|
|
360
227
|
| Attribute | Values | Description |
|
|
361
228
|
|----------|---------|-------------|
|
|
362
|
-
| `size` | `2xs`
|
|
229
|
+
| `size` | `2xs` … `2xl` · `inherit` (default `md`) | Font size |
|
|
363
230
|
| `bordered` | boolean | Outer border and row dividers |
|
|
364
|
-
| `
|
|
365
|
-
| `
|
|
366
|
-
| `maxHeight` | CSS length | Max height on the scroll container; enables vertical scrolling |
|
|
367
|
-
|
|
368
|
-
| Slot | Description |
|
|
369
|
-
|------|-------------|
|
|
370
|
-
| *(default)* | Table sections and rows (`sonic-thead`, `sonic-tbody`, `sonic-tr`, …) |
|
|
371
|
-
|
|
372
|
-
### `sonic-thead` · `sonic-tbody` · `sonic-tfoot`
|
|
231
|
+
| `maxHeight` | CSS length | Max height of the scroll container |
|
|
232
|
+
| `noCustomScroll` | boolean | Remove the scroll container and its custom scrollbar |
|
|
373
233
|
|
|
374
234
|
| Slot | Description |
|
|
375
235
|
|------|-------------|
|
|
376
|
-
| *(default)* |
|
|
377
|
-
|
|
378
|
-
`sonic-tbody` wraps slotted rows in a native `<tbody>` and applies zebra / hover backgrounds to **`sonic-tr`** children.
|
|
236
|
+
| *(default)* | Sections, rows and caption |
|
|
379
237
|
|
|
380
|
-
### `sonic-caption`
|
|
238
|
+
### `sonic-thead` · `sonic-tbody` · `sonic-tfoot` · `sonic-caption`
|
|
381
239
|
|
|
382
|
-
|
|
383
|
-
|------|-------------|
|
|
384
|
-
| *(default)* | Caption text rendered as `table-caption` |
|
|
240
|
+
No attributes. Default slot only. `sonic-tbody` stripes and highlights its rows.
|
|
385
241
|
|
|
386
242
|
### `sonic-tr`
|
|
387
243
|
|
|
388
244
|
| Attribute | Values | Description |
|
|
389
245
|
|----------|---------|-------------|
|
|
390
|
-
| `type` | `default` · `primary` · `info` · `success` · `warning` · `danger` · `neutral` |
|
|
391
|
-
| `even` | boolean | Striping background;
|
|
392
|
-
| `
|
|
393
|
-
| `last` | boolean | Removes bottom cell border on the last row when **`bordered`** |
|
|
394
|
-
|
|
395
|
-
| Slot | Description |
|
|
396
|
-
|------|-------------|
|
|
397
|
-
| *(default)* | Header or data cells (`sonic-th` / `sonic-td`) |
|
|
398
|
-
|
|
399
|
-
### `sonic-th`
|
|
400
|
-
|
|
401
|
-
| Attribute | Values | Description |
|
|
402
|
-
|----------|---------|-------------|
|
|
403
|
-
| `type` | `default` · `primary` · `info` · `success` · `warning` · `danger` · `neutral` | Semantic text color |
|
|
404
|
-
| `align` | `left` · `center` · `right` | Horizontal text alignment |
|
|
405
|
-
| `colSpan` | number | Column span |
|
|
406
|
-
| `rowSpan` | number | Row span |
|
|
407
|
-
| `minWidth` | CSS length | Minimum cell width |
|
|
408
|
-
| `maxWidth` | CSS length | Maximum cell width |
|
|
409
|
-
| `width` | CSS length | Cell width |
|
|
410
|
-
| `noBorder` | boolean | Removes the bottom border under the header cell |
|
|
246
|
+
| `type` | `default` · `primary` · `info` · `success` · `warning` · `danger` · `neutral` | Text color |
|
|
247
|
+
| `even` · `odd` | boolean | Striping background; set by `sonic-list` |
|
|
248
|
+
| `last` | boolean | No bottom border; set by `sonic-list` |
|
|
411
249
|
|
|
412
250
|
| Slot | Description |
|
|
413
251
|
|------|-------------|
|
|
414
|
-
| *(default)* |
|
|
252
|
+
| *(default)* | `sonic-th` or `sonic-td` cells |
|
|
415
253
|
|
|
416
|
-
### `sonic-td`
|
|
254
|
+
### `sonic-th` · `sonic-td`
|
|
417
255
|
|
|
418
256
|
| Attribute | Values | Description |
|
|
419
257
|
|----------|---------|-------------|
|
|
420
|
-
| `type` |
|
|
421
|
-
| `align` | `left` · `center` · `right` | Horizontal
|
|
422
|
-
| `vAlign` | CSS `vertical-align`
|
|
423
|
-
| `colSpan` | number | Column span |
|
|
424
|
-
| `
|
|
425
|
-
| `
|
|
426
|
-
| `maxWidth` | CSS length | Maximum cell width |
|
|
427
|
-
| `width` | CSS length | Cell width |
|
|
258
|
+
| `type` | same as `sonic-tr` | Text color |
|
|
259
|
+
| `align` | `left` · `center` · `right` | Horizontal alignment |
|
|
260
|
+
| `vAlign` | CSS `vertical-align` | Vertical alignment (`sonic-td` only) |
|
|
261
|
+
| `colSpan` · `rowSpan` | number | Column and row span |
|
|
262
|
+
| `width` · `minWidth` · `maxWidth` | CSS length | Cell dimensions |
|
|
263
|
+
| `noBorder` | boolean | No bottom border (`sonic-th` only) |
|
|
428
264
|
|
|
429
265
|
| Slot | Description |
|
|
430
266
|
|------|-------------|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
# Theme
|
|
2
2
|
|
|
3
|
-
**`sonic-theme`**
|
|
3
|
+
**`sonic-theme`** is the root element of a Concorde UI: it holds the `--sc-*` design tokens, optionally applies a built-in palette, and is where popovers, modals and toasts are mounted. Import `@supersoniks/concorde/theme` once at the app entry and wrap your app in it. Token names and brand overrides are covered in [Theming](/docs/getting-started/theming).
|
|
4
4
|
|
|
5
5
|
## Basic example
|
|
6
6
|
|
|
7
|
-
Wrap interactive components so tokens and overlays resolve from one root.
|
|
8
|
-
|
|
9
7
|
<sonic-code>
|
|
10
8
|
<template>
|
|
11
9
|
<sonic-theme color font class="block bg-base p-6 rounded-lg">
|
|
@@ -16,9 +14,7 @@ Wrap interactive components so tokens and overlays resolve from one root.
|
|
|
16
14
|
|
|
17
15
|
## Theme mode
|
|
18
16
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
Set **`theme`** to **`light`** or **`dark`** for Concorde’s preset palettes. Set **`theme="auto"`** to follow **`prefers-color-scheme`** (light palette until the OS prefers dark).
|
|
17
|
+
With no `theme` (or `theme="custom"`), only the core tokens and your own `--sc-*` overrides apply. `light` and `dark` apply the built-in palettes; `auto` switches between them with `prefers-color-scheme`.
|
|
22
18
|
|
|
23
19
|
<sonic-code>
|
|
24
20
|
<template>
|
|
@@ -43,39 +39,21 @@ Set **`theme`** to **`light`** or **`dark`** for Concorde’s preset palettes. S
|
|
|
43
39
|
</template>
|
|
44
40
|
</sonic-code>
|
|
45
41
|
|
|
46
|
-
##
|
|
42
|
+
## Text color and font
|
|
47
43
|
|
|
48
|
-
|
|
44
|
+
`color` sets the host text color to `--sc-base-content`. `font` applies the base font family, weight and style tokens. Both are off by default. To paint the background, add the Tailwind classes `block` and `bg-base` on the host.
|
|
49
45
|
|
|
50
46
|
<sonic-code>
|
|
51
47
|
<template>
|
|
52
|
-
<sonic-theme theme="light" color font class="block bg-base p-6
|
|
53
|
-
<p>Body copy inherits base content color and font from the theme
|
|
54
|
-
</sonic-theme>
|
|
55
|
-
</template>
|
|
56
|
-
</sonic-code>
|
|
57
|
-
|
|
58
|
-
## Custom tokens
|
|
59
|
-
|
|
60
|
-
Override **primitives** on **`sonic-theme`** (or **`:root`** / a project stylesheet). Derived radii, shadows, and control rounding are computed from tokens such as **`--sc-rounded`**—avoid copying long lists of internal variables unless you have a specific need.
|
|
61
|
-
|
|
62
|
-
<sonic-code>
|
|
63
|
-
<template>
|
|
64
|
-
<sonic-theme
|
|
65
|
-
theme="custom"
|
|
66
|
-
color
|
|
67
|
-
font
|
|
68
|
-
class="block bg-base p-6 rounded-lg"
|
|
69
|
-
style="--sc-primary: #353429; --sc-rounded: 0.25rem;"
|
|
70
|
-
>
|
|
71
|
-
<sonic-button type="primary">Brand primary</sonic-button>
|
|
48
|
+
<sonic-theme theme="light" color font class="block bg-base p-6 rounded-lg">
|
|
49
|
+
<p>Body copy inherits the base content color and font from the theme.</p>
|
|
72
50
|
</sonic-theme>
|
|
73
51
|
</template>
|
|
74
52
|
</sonic-code>
|
|
75
53
|
|
|
76
54
|
## Pop container
|
|
77
55
|
|
|
78
|
-
|
|
56
|
+
Overlays such as `sonic-modal` are appended to the last connected `sonic-theme`, or to `document.body` when there is none. `Theme.getPopContainer()` returns that element.
|
|
79
57
|
|
|
80
58
|
<sonic-code>
|
|
81
59
|
<template>
|
|
@@ -98,11 +76,10 @@ Override **primitives** on **`sonic-theme`** (or **`:root`** / a project stylesh
|
|
|
98
76
|
|
|
99
77
|
## Embedded iframes
|
|
100
78
|
|
|
101
|
-
On connect, the theme
|
|
79
|
+
On connect, the theme posts its resolved `--sc-*` values and linked Google Fonts / Adobe Fonts stylesheets to every iframe on the page (message type `SonicTheme`). An iframe can ask for them again:
|
|
102
80
|
|
|
103
81
|
<sonic-code language="javascript">
|
|
104
82
|
<template>
|
|
105
|
-
// Inside the iframe — ask the parent theme to rebroadcast tokens
|
|
106
83
|
window.parent.postMessage({ type: "GetSonicTheme" }, "*");
|
|
107
84
|
</template>
|
|
108
85
|
</sonic-code>
|
|
@@ -111,12 +88,10 @@ window.parent.postMessage({ type: "GetSonicTheme" }, "*");
|
|
|
111
88
|
|
|
112
89
|
| Attribute | Values | Description |
|
|
113
90
|
|----------|---------|-------------|
|
|
114
|
-
| `theme` |
|
|
91
|
+
| `theme` | `custom` (default) · `light` · `dark` · `auto` | Built-in palette; `custom` applies core tokens and your overrides only |
|
|
115
92
|
| `color` | boolean | Host text color uses `--sc-base-content` |
|
|
116
|
-
| `font` | boolean | Host
|
|
93
|
+
| `font` | boolean | Host uses the base font family, weight and style tokens |
|
|
117
94
|
|
|
118
95
|
| Slot | Description |
|
|
119
96
|
|------|-------------|
|
|
120
|
-
| *(default)* | Application
|
|
121
|
-
|
|
122
|
-
Surface background: Tailwind **`bg-base`** on **`sonic-theme`** (requires Concorde Tailwind color **`base`** → **`--sc-base`**).
|
|
97
|
+
| *(default)* | Application content |
|