@supersoniks/concorde 5.1.0 → 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/.claude/launch.json +15 -0
- package/.claude/vite.http.config.mjs +7 -0
- package/.taste-skill/after/desktop-fold.jpg +0 -0
- package/.taste-skill/after/desktop-page-01.jpg +0 -0
- package/.taste-skill/after/desktop-page-02.jpg +0 -0
- package/.taste-skill/after/desktop-page-03.jpg +0 -0
- package/.taste-skill/after/mobile-fold.jpg +0 -0
- package/.taste-skill/after/mobile-page-01.jpg +0 -0
- package/.taste-skill/after/report.json +4103 -0
- package/.taste-skill/after/tablet-fold.jpg +0 -0
- package/.taste-skill/after/tablet-page-01.jpg +0 -0
- package/.taste-skill/after/tablet-page-02.jpg +0 -0
- package/.taste-skill/before/desktop-fold.jpg +0 -0
- package/.taste-skill/before/desktop-page-01.jpg +0 -0
- package/.taste-skill/before/desktop-page-02.jpg +0 -0
- package/.taste-skill/before/mobile-fold.jpg +0 -0
- package/.taste-skill/before/mobile-page-01.jpg +0 -0
- package/.taste-skill/before/report.json +2556 -0
- package/.taste-skill/before/tablet-fold.jpg +0 -0
- package/.taste-skill/before/tablet-page-01.jpg +0 -0
- package/.taste-skill/direction.json +510 -0
- package/.taste-skill/notes.md +84 -0
- package/.taste-skill/prod/desktop-fold.jpg +0 -0
- package/.taste-skill/prod/desktop-page-01.jpg +0 -0
- package/.taste-skill/prod/desktop-page-02.jpg +0 -0
- package/.taste-skill/prod/desktop-page-03.jpg +0 -0
- package/.taste-skill/prod/mobile-fold.jpg +0 -0
- package/.taste-skill/prod/mobile-page-01.jpg +0 -0
- package/.taste-skill/prod/mobile-page-02.jpg +0 -0
- package/.taste-skill/prod/report.json +1973 -0
- package/.taste-skill/prod/tablet-fold.jpg +0 -0
- package/.taste-skill/prod/tablet-page-01.jpg +0 -0
- package/.taste-skill/prod/tablet-page-02.jpg +0 -0
- package/.tmp-cem/custom-elements.json +2013 -2013
- package/AUDIT.md +228 -0
- package/PLAN-AMELIORATION.md +220 -0
- 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 +16 -16
- package/concorde-core.es.js +235 -233
- package/dist/concorde-core.bundle.js +16 -16
- package/dist/concorde-core.es.js +235 -233
- package/dist/img/archive/concorde-001-2cv.webp +0 -0
- package/dist/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
- package/dist/img/archive/concorde-red-arrows-2002.webm +0 -0
- package/dist/img/archive/credits.json +28 -0
- package/docs/.htaccess +75 -0
- package/docs/404.html +15 -0
- package/docs/404.md +5 -0
- package/docs/assets/index-BgG6FFPt.js +11765 -0
- 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/{crawl/core → core}/components/functional/subscriber/subscriber.html +6 -5
- 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/{crawl/core → core}/components/ui/menu/menu.html +189 -116
- 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/{crawl/docs/_getting-started → docs/getting-started}/ai-agents.html +12 -11
- 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/components.md +5 -0
- package/docs/{crawl/docs/_getting-started → docs/getting-started}/create-a-component.html +11 -14
- package/docs/{src/docs/_getting-started → docs/getting-started}/create-a-component.md +3 -6
- package/docs/{crawl/docs/_core-concept → docs/getting-started}/dataFlow.html +26 -29
- package/docs/{src/docs/_core-concept → 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/{crawl/docs/_getting-started → docs/getting-started}/my-first-component.html +13 -22
- package/docs/{src/docs/_getting-started → 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/{src/docs/_getting-started → docs/docs/getting-started}/theming.md +2 -2
- package/docs/docs/index.html +99 -0
- package/docs/{crawl/docs/_misc → docs/misc}/api-configuration.html +18 -18
- package/docs/{src/docs/_misc → docs/misc}/api-configuration.md +10 -12
- package/docs/{crawl/docs/_misc → docs/misc}/dataProviderKey.html +12 -11
- package/{src/docs/_misc → docs/docs/misc}/dataProviderKey.md +4 -4
- package/docs/{crawl/docs/_misc → docs/misc}/docs-mock-api.html +25 -28
- package/docs/{src/docs/_misc → docs/misc}/docs-mock-api.md +12 -13
- package/docs/{crawl/docs/_misc → docs/misc}/dynamic-path.html +16 -15
- package/{src/docs/_misc → docs/docs/misc}/dynamic-path.md +8 -8
- package/docs/{crawl/docs/_misc → docs/misc}/endpoint.html +16 -15
- package/{src/docs/_misc → docs/docs/misc}/endpoint.md +8 -8
- package/docs/{crawl/docs/_misc → docs/misc}/html-integration.html +12 -15
- package/docs/{src/docs/_misc → docs/misc}/html-integration.md +4 -5
- package/docs/docs-mock-api-sw.js +60 -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 +96 -67
- package/docs/index.md +22 -0
- package/docs/llms-full.txt +3329 -3295
- package/docs/llms.txt +94 -92
- package/docs/robots.txt +11 -10
- package/docs/sitemap.xml +78 -78
- package/docs/src/core/components/functional/date/date.md +91 -231
- package/docs/src/core/components/functional/fetch/fetch.md +66 -83
- package/docs/src/core/components/functional/if/if.md +28 -3
- package/docs/src/core/components/functional/jsonata/jsonata.md +42 -37
- package/docs/src/core/components/functional/list/list.md +99 -43
- package/docs/src/core/components/functional/mix/mix.md +31 -26
- package/docs/src/core/components/functional/queue/queue.md +40 -61
- package/docs/src/core/components/functional/router/router.md +64 -65
- 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/example.json +19 -86
- package/docs/src/core/components/functional/sdui/sdui-extension-points.md +94 -0
- package/docs/src/core/components/functional/sdui/sdui.md +196 -245
- package/docs/src/core/components/functional/states/states.md +86 -61
- package/docs/src/core/components/functional/submit/submit.md +64 -72
- package/docs/src/core/components/functional/translation/translation.md +38 -0
- package/docs/src/core/components/functional/value/value.md +34 -22
- package/docs/src/core/components/ui/alert/alert.md +139 -74
- package/docs/src/core/components/ui/alert-messages/alert-messages.md +85 -0
- package/docs/src/core/components/ui/badge/badge.md +137 -83
- package/docs/src/core/components/ui/button/button.md +139 -105
- package/docs/src/core/components/ui/captcha/captcha.md +50 -6
- package/docs/src/core/components/ui/card/card.md +183 -65
- package/docs/src/core/components/ui/divider/divider.md +104 -13
- package/docs/src/core/components/ui/form/checkbox/checkbox.md +90 -42
- package/docs/src/core/components/ui/form/fieldset/fieldset.md +135 -103
- package/docs/src/core/components/ui/form/form-actions/form-actions.md +71 -50
- package/docs/src/core/components/ui/form/form-layout/form-layout.md +99 -34
- package/docs/src/core/components/ui/form/input/input.md +95 -95
- package/docs/src/core/components/ui/form/radio/radio.md +55 -34
- package/docs/src/core/components/ui/form/select/select.md +60 -45
- package/docs/src/core/components/ui/form/switch/switch.md +57 -34
- package/docs/src/core/components/ui/form/textarea/textarea.md +55 -38
- package/docs/src/core/components/ui/group/group.md +49 -47
- package/docs/src/core/components/ui/icon/icon.md +132 -43
- package/docs/src/core/components/ui/image/image.md +132 -72
- package/docs/src/core/components/ui/link/link.md +46 -8
- package/docs/src/core/components/ui/loader/loader.md +55 -23
- package/docs/src/core/components/ui/menu/menu.md +155 -114
- package/docs/src/core/components/ui/modal/modal.md +154 -62
- package/docs/src/core/components/ui/pop/pop.md +185 -65
- package/docs/src/core/components/ui/progress/progress.md +76 -30
- package/docs/src/core/components/ui/table/table.md +146 -334
- package/docs/src/core/components/ui/theme/theme.md +97 -0
- package/docs/src/core/components/ui/toast/toast.md +80 -99
- package/docs/src/core/components/ui/tooltip/tooltip.md +52 -45
- 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 → getting-started}/ai-agents.md +3 -3
- package/docs/src/docs/getting-started/components.md +5 -0
- package/{src/docs/_getting-started → docs/src/docs/getting-started}/create-a-component.md +3 -6
- package/{src/docs/_core-concept → docs/src/docs/getting-started}/dataFlow.md +17 -18
- package/docs/src/docs/getting-started/installation.md +36 -0
- package/{src/docs/_getting-started → docs/src/docs/getting-started}/my-first-component.md +5 -14
- package/docs/src/docs/getting-started/start.md +35 -0
- package/docs/src/docs/getting-started/theming.md +253 -0
- package/{src/docs/_misc → docs/src/docs/misc}/api-configuration.md +10 -12
- package/docs/src/docs/{_misc → misc}/dataProviderKey.md +4 -4
- package/{src/docs/_misc → docs/src/docs/misc}/docs-mock-api.md +12 -13
- package/docs/src/docs/{_misc → misc}/dynamic-path.md +8 -8
- package/docs/src/docs/{_misc → misc}/endpoint.md +8 -8
- package/{src/docs/_misc → docs/src/docs/misc}/html-integration.md +4 -5
- package/docs/src/docs/search/docs-search.json +3729 -2949
- package/docs/src/tsconfig.json +176 -5
- package/index.html +94 -67
- package/package.json +11 -4
- package/public/docs-mock-api-sw.js +58 -223
- package/public/docs-mock-api-sw.js.map +4 -4
- package/public/img/archive/concorde-001-2cv.webp +0 -0
- package/public/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
- package/public/img/archive/concorde-red-arrows-2002.webm +0 -0
- package/public/img/archive/credits.json +28 -0
- 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/scripts/post-build.mjs +0 -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/if/if.ts +0 -0
- package/src/core/components/functional/jsonata/jsonata.md +42 -37
- package/src/core/components/functional/list/list.demo.ts +0 -0
- 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/router/router.ts +0 -0
- package/src/core/components/functional/sdui/SDUIDescriptorTransformer.ts +0 -0
- 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/sdui/types.ts +0 -0
- 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/subscriber/subscriber.ts +0 -0
- package/src/core/components/functional/translation/translation.md +38 -0
- package/src/core/components/functional/value/value.md +34 -22
- package/src/core/components/functional/value/value.ts +0 -0
- package/src/core/components/ui/_css/size.ts +0 -0
- 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/altchaStyles.ts +0 -0
- 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/modal/modal.ts +14 -11
- 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/mixins/Subscriber.ts +0 -0
- package/src/core/utils/DataBindObserver.ts +0 -0
- package/src/core/utils/LocationHandler.spec.ts +80 -0
- package/src/core/utils/LocationHandler.ts +5 -9
- package/src/core/utils/Objects.ts +0 -0
- package/src/core/utils/route.ts +0 -0
- package/src/docs/code.ts +88 -75
- package/src/docs/components/docs-demo-sources.ts +70 -147
- package/src/docs/components/docs-lit-demo.ts +20 -40
- 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 +6 -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-boarding-pass-demo.ts +134 -0
- 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 +33 -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/example/users.ts +0 -0
- 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 +240 -71
- package/src/docs/home/catalog.ts +44 -0
- package/src/docs/home/home.ts +520 -0
- package/src/docs/home/mach-stage.ts +389 -0
- package/src/docs/layout.ts +12 -11
- 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/components-index.ts +56 -0
- package/src/docs/navigation/navigation.ts +219 -232
- package/src/docs/navigation/pager.ts +67 -0
- package/src/docs/navigation/toc.ts +101 -0
- package/src/docs/search/docs-search.json +2419 -4374
- package/src/docs/search/markdown-renderer.ts +33 -7
- package/src/docs/search/page.ts +9 -6
- package/src/docs/search/search.ts +154 -122
- package/src/docs/shiki/index.ts +109 -0
- package/src/docs/tailwind/css/base/scrollbar.css +22 -0
- package/src/docs/tailwind/css/base/theme.css +96 -0
- package/src/docs/tailwind/css/base/typography.css +4 -0
- package/src/docs/tailwind/css/docs/boarding-pass.css +65 -0
- package/src/docs/tailwind/css/docs/content.css +32 -0
- package/src/docs/tailwind/css/docs/page.css +10 -0
- package/src/docs/tailwind/css/docs.css +9 -0
- package/src/docs/tailwind/css/home/hero.css +210 -0
- package/src/docs/tailwind/css/home/motion.css +84 -0
- package/src/docs/tailwind/css/home/sections.css +416 -0
- package/src/docs/tailwind/css/tailwind.css +7 -185
- package/src/tsconfig.json +23 -2
- package/src/tsconfig.tsbuildinfo +1 -1
- package/tailwind.config.js +8 -4
- package/vite.config.mts +11 -2
- package/.agents/skills/concorde-component-docs/SKILL.md +0 -194
- package/.github/workflows/ci.yml +0 -21
- package/.github-export-ignore +0 -30
- package/CONTRIBUTING.md +0 -59
- package/DEV.md +0 -54
- package/LICENSE +0 -21
- package/OPEN_SOURCE_CHECKPOINT.md +0 -133
- package/concorde-3d.bundle.js +0 -3960
- package/concorde-3d.es.js +0 -33433
- package/concorde-hugging-face-infer.bundle.js +0 -32
- package/concorde-hugging-face-infer.es.js +0 -2952
- package/concorde-interactive.bundle.js +0 -1157
- package/concorde-interactive.es.js +0 -10734
- package/concorde-shader.bundle.js +0 -116
- package/concorde-shader.es.js +0 -8353
- package/concorde-webgpu.bundle.js +0 -307
- package/concorde-webgpu.es.js +0 -8627
- package/docs/assets/index-D8MVWqY6.js +0 -12251
- package/docs/assets/index-DiD0qYvE.css +0 -1
- package/docs/crawl/core/components/functional/date/date.html +0 -190
- package/docs/crawl/core/components/functional/fetch/fetch.html +0 -109
- package/docs/crawl/core/components/functional/if/if.html +0 -27
- package/docs/crawl/core/components/functional/jsonata/jsonata.html +0 -79
- package/docs/crawl/core/components/functional/list/list.html +0 -70
- package/docs/crawl/core/components/functional/mix/mix.html +0 -45
- package/docs/crawl/core/components/functional/queue/queue.html +0 -96
- package/docs/crawl/core/components/functional/router/router.html +0 -106
- package/docs/crawl/core/components/functional/sdui/sdui.html +0 -269
- package/docs/crawl/core/components/functional/states/states.html +0 -66
- package/docs/crawl/core/components/functional/submit/submit.html +0 -160
- package/docs/crawl/core/components/functional/value/value.html +0 -51
- package/docs/crawl/core/components/ui/alert/alert.html +0 -110
- package/docs/crawl/core/components/ui/alert-messages/alert-messages.html +0 -23
- package/docs/crawl/core/components/ui/badge/badge.html +0 -119
- package/docs/crawl/core/components/ui/button/button.html +0 -149
- package/docs/crawl/core/components/ui/captcha/captcha.html +0 -30
- package/docs/crawl/core/components/ui/card/card.html +0 -99
- package/docs/crawl/core/components/ui/divider/divider.html +0 -58
- package/docs/crawl/core/components/ui/form/checkbox/checkbox.html +0 -73
- package/docs/crawl/core/components/ui/form/fieldset/fieldset.html +0 -135
- package/docs/crawl/core/components/ui/form/form-actions/form-actions.html +0 -79
- package/docs/crawl/core/components/ui/form/form-layout/form-layout.html +0 -62
- package/docs/crawl/core/components/ui/form/input/input.html +0 -109
- package/docs/crawl/core/components/ui/form/input-autocomplete/input-autocomplete.html +0 -38
- package/docs/crawl/core/components/ui/form/radio/radio.html +0 -56
- package/docs/crawl/core/components/ui/form/select/select.html +0 -73
- package/docs/crawl/core/components/ui/form/switch/switch.html +0 -56
- package/docs/crawl/core/components/ui/form/textarea/textarea.html +0 -59
- package/docs/crawl/core/components/ui/group/group.html +0 -82
- package/docs/crawl/core/components/ui/icon/icon.html +0 -133
- package/docs/crawl/core/components/ui/image/image.html +0 -110
- package/docs/crawl/core/components/ui/link/link.html +0 -42
- package/docs/crawl/core/components/ui/loader/loader.html +0 -50
- package/docs/crawl/core/components/ui/modal/modal.html +0 -117
- package/docs/crawl/core/components/ui/pop/pop.html +0 -102
- package/docs/crawl/core/components/ui/progress/progress.html +0 -58
- package/docs/crawl/core/components/ui/table/table.html +0 -413
- package/docs/crawl/core/components/ui/toast/toast.html +0 -122
- package/docs/crawl/core/components/ui/tooltip/tooltip.html +0 -79
- package/docs/crawl/docs/_core-concept/overview.html +0 -66
- package/docs/crawl/docs/_core-concept/subscriber.html +0 -75
- package/docs/crawl/docs/_decorators/ancestor-attribute.html +0 -116
- package/docs/crawl/docs/_decorators/auto-subscribe.html +0 -202
- package/docs/crawl/docs/_decorators/bind.html +0 -141
- package/docs/crawl/docs/_decorators/get.html +0 -149
- package/docs/crawl/docs/_decorators/handle.html +0 -165
- package/docs/crawl/docs/_decorators/on-assign.html +0 -355
- package/docs/crawl/docs/_decorators/patch.html +0 -78
- package/docs/crawl/docs/_decorators/post.html +0 -139
- package/docs/crawl/docs/_decorators/publish.html +0 -61
- package/docs/crawl/docs/_decorators/put.html +0 -78
- package/docs/crawl/docs/_decorators/subscribe.html +0 -109
- package/docs/crawl/docs/_decorators/wait-for-ancestors.html +0 -137
- package/docs/crawl/docs/_directives/sub.html +0 -93
- package/docs/crawl/docs/_getting-started/concorde-manual-install.html +0 -100
- package/docs/crawl/docs/_getting-started/concorde-outside.html +0 -58
- package/docs/crawl/docs/_getting-started/my-first-subscriber.html +0 -110
- package/docs/crawl/docs/_getting-started/pubsub.html +0 -62
- package/docs/crawl/docs/_getting-started/start.html +0 -76
- package/docs/crawl/docs/_getting-started/theming.html +0 -85
- package/docs/crawl/docs/_misc/formelement-subscriber-removal.html +0 -138
- package/docs/crawl/hubs/decorators.html +0 -547
- package/docs/crawl/hubs/form-components.html +0 -359
- package/docs/crawl/hubs/remote-data.html +0 -452
- package/docs/crawl/index.html +0 -101
- package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -29
- package/docs/src/docs/_core-concept/overview.md +0 -57
- package/docs/src/docs/_core-concept/subscriber.md +0 -75
- package/docs/src/docs/_decorators/ancestor-attribute.md +0 -127
- package/docs/src/docs/_decorators/auto-subscribe.md +0 -202
- package/docs/src/docs/_decorators/bind.md +0 -167
- package/docs/src/docs/_decorators/get.md +0 -162
- package/docs/src/docs/_decorators/handle.md +0 -175
- package/docs/src/docs/_decorators/on-assign.md +0 -390
- package/docs/src/docs/_decorators/patch.md +0 -70
- package/docs/src/docs/_decorators/post.md +0 -146
- package/docs/src/docs/_decorators/publish.md +0 -55
- package/docs/src/docs/_decorators/put.md +0 -70
- package/docs/src/docs/_decorators/subscribe.md +0 -100
- package/docs/src/docs/_decorators/wait-for-ancestors.md +0 -163
- package/docs/src/docs/_directives/sub.md +0 -91
- package/docs/src/docs/_getting-started/concorde-manual-install.md +0 -133
- package/docs/src/docs/_getting-started/concorde-outside.md +0 -33
- package/docs/src/docs/_getting-started/my-first-subscriber.md +0 -120
- package/docs/src/docs/_getting-started/pubsub.md +0 -37
- package/docs/src/docs/_getting-started/start.md +0 -47
- package/docs/src/docs/_getting-started/theming.md +0 -91
- package/docs/src/docs/_misc/formelement-subscriber-removal.md +0 -115
- package/docs/src/tsconfig.declarations.json +0 -22
- package/docs/src/tsconfig.emit.json +0 -23
- package/gitlab/job_github_mirror.sh +0 -39
- package/scripts/github-export.mjs +0 -150
- package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -29
- package/src/css.d.ts +0 -19
- 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/prism/index.ts +0 -6
- package/src/docs/prism/prism.css +0 -158
- package/src/docs/prism/prism.js +0 -1022
- package/src/tsconfig.declarations.json +0 -22
- package/src/tsconfig.emit.json +0 -23
|
@@ -1,69 +1,50 @@
|
|
|
1
|
-
|
|
1
|
+
# Modal
|
|
2
|
+
|
|
3
|
+
**`sonic-modal`** shows focused content in a dialog with a backdrop, an enter / exit animation and a built-in close button. Compose it with **`sonic-modal-title`** · **`sonic-modal-subtitle`** · **`sonic-modal-content`** · **`sonic-modal-actions`**, open it with **`show()`** and close it with **`hide()`** or a **`hideModal`** button.
|
|
4
|
+
|
|
5
|
+
## Basic example
|
|
6
|
+
|
|
7
|
+
Backdrop click, Escape and the close button all close the modal. In **`sonic-modal-actions`**, a **`sonic-button`** with **`hideModal`** closes it on click.
|
|
2
8
|
|
|
3
9
|
<sonic-code>
|
|
4
10
|
<template>
|
|
5
11
|
<sonic-button onclick="document.getElementById('modalExample').show()">
|
|
6
|
-
|
|
12
|
+
Open modal
|
|
7
13
|
</sonic-button>
|
|
8
14
|
<sonic-modal id="modalExample">
|
|
9
|
-
<sonic-modal-title
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
<sonic-modal-title>
|
|
16
|
+
Boarding pass ready
|
|
17
|
+
<sonic-badge type="success" size="sm">New</sonic-badge>
|
|
18
|
+
</sonic-modal-title>
|
|
19
|
+
<sonic-modal-subtitle>Your check-in is complete.</sonic-modal-subtitle>
|
|
13
20
|
<sonic-modal-content>
|
|
14
|
-
|
|
21
|
+
Download your boarding pass now or review your seat before departure.
|
|
15
22
|
</sonic-modal-content>
|
|
16
|
-
<sonic-modal-actions
|
|
17
|
-
<sonic-button
|
|
18
|
-
|
|
19
|
-
</sonic-button>
|
|
20
|
-
<sonic-button minWidth="8rem" type="success" hideModal>Confirm</sonic-button>
|
|
23
|
+
<sonic-modal-actions>
|
|
24
|
+
<sonic-button minWidth="8rem" hideModal>Later</sonic-button>
|
|
25
|
+
<sonic-button minWidth="8rem" type="success" hideModal>Download</sonic-button>
|
|
21
26
|
</sonic-modal-actions>
|
|
22
27
|
</sonic-modal>
|
|
23
28
|
</template>
|
|
24
29
|
</sonic-code>
|
|
25
30
|
|
|
31
|
+
**`hideModal`** only works on **`sonic-button`** elements that are direct children of **`sonic-modal-actions`**.
|
|
26
32
|
|
|
27
|
-
##
|
|
33
|
+
## Scrollable content
|
|
34
|
+
|
|
35
|
+
Long content scrolls inside the dialog once it reaches **`maxHeight`** (default `90vh`). Content is left-aligned by default; set **`align`** to `center` or `right`.
|
|
28
36
|
|
|
29
37
|
<sonic-code>
|
|
30
38
|
<template>
|
|
31
|
-
<sonic-button onclick="document.getElementById('modalText').show()">
|
|
32
|
-
<sonic-modal
|
|
33
|
-
<sonic-modal-title>
|
|
39
|
+
<sonic-button onclick="document.getElementById('modalText').show()">Baggage details</sonic-button>
|
|
40
|
+
<sonic-modal id="modalText" maxHeight="20rem">
|
|
41
|
+
<sonic-modal-title>Baggage allowance</sonic-modal-title>
|
|
34
42
|
<sonic-modal-content>
|
|
35
43
|
<div class="prose">
|
|
36
|
-
<p>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
</p>
|
|
41
|
-
<p>
|
|
42
|
-
<strong> Billetterie <br /></strong>
|
|
43
|
-
La participation à certains événements et activités est soumise à un système de billetterie avec achats ou
|
|
44
|
-
réservations disponibles en ligne ou au guichet. <strong><br /></strong>
|
|
45
|
-
</p>
|
|
46
|
-
<p>
|
|
47
|
-
Les tarifs (Tarif plein / Tarif Réduit / Tarif Spécifique) sont indiqués pour chaque événement et peuvent
|
|
48
|
-
varier selon la nature de l’événement. Les tarifs sont identiques en ligne et au guichet. Il est néanmoins
|
|
49
|
-
conseillé de réserver les billets en avance pour s’assurer une place.
|
|
50
|
-
</p>
|
|
51
|
-
<p>
|
|
52
|
-
L’accès au Skatepark, Fablab et Halle C sont soumis à adhésions. Les adhésions sont gratuites et
|
|
53
|
-
nominatives. Elle donnent accès aux espaces dans la limite des places disponibles.
|
|
54
|
-
</p>
|
|
55
|
-
<p>
|
|
56
|
-
<strong>+ d’infos <br /></strong>billetterie@laconditionpublique.com <br />+33 (0)328334833
|
|
57
|
-
</p>
|
|
58
|
-
<br />
|
|
59
|
-
<p>
|
|
60
|
-
<strong>Accès <br /></strong>14, place Faidherbe <br />59100 Roubaix <br />Métro / Tram : Arrêt
|
|
61
|
-
Eurotéléport, Ligne 2 <br />Bus / V’Lille : Arrêt Condition Publique
|
|
62
|
-
</p>
|
|
63
|
-
<p>
|
|
64
|
-
Accès handicapés : nous contacter avant votre venue au 03 28 33 48 33 ou par mail
|
|
65
|
-
billetterie@laconditionpublique.com
|
|
66
|
-
</p>
|
|
44
|
+
<p><strong>Cabin bag</strong><br />One cabin bag and one personal item are included in every cabin class.</p>
|
|
45
|
+
<p><strong>Checked baggage</strong><br />Drop checked bags at the counter at least one hour before departure.</p>
|
|
46
|
+
<p><strong>Extra baggage</strong><br />Add extra baggage online up to 24 hours before the flight.</p>
|
|
47
|
+
<p><strong>Contact</strong><br />support@example.com</p>
|
|
67
48
|
</div>
|
|
68
49
|
</sonic-modal-content>
|
|
69
50
|
</sonic-modal>
|
|
@@ -72,33 +53,43 @@
|
|
|
72
53
|
|
|
73
54
|
## Force action
|
|
74
55
|
|
|
56
|
+
With **`forceAction`**, backdrop click, Escape and the close button are disabled. Provide **`hideModal`** buttons so users can finish the flow. **`noCloseButton`** only hides the close button.
|
|
57
|
+
|
|
75
58
|
<sonic-code>
|
|
76
59
|
<template>
|
|
77
|
-
<sonic-button onclick="document.getElementById('force').show()">
|
|
60
|
+
<sonic-button onclick="document.getElementById('force').show()">Cookie consent</sonic-button>
|
|
78
61
|
<sonic-modal forceAction id="force">
|
|
79
|
-
<sonic-modal-title>
|
|
62
|
+
<sonic-modal-title>Allow analytics cookies?</sonic-modal-title>
|
|
80
63
|
<sonic-modal-content>
|
|
81
|
-
|
|
64
|
+
Analytics cookies measure traffic. You can change this later in settings.
|
|
82
65
|
</sonic-modal-content>
|
|
83
|
-
<sonic-modal-actions
|
|
84
|
-
<sonic-button hideModal minWidth="8rem">
|
|
85
|
-
<sonic-button hideModal minWidth="8rem" type="success">
|
|
66
|
+
<sonic-modal-actions>
|
|
67
|
+
<sonic-button hideModal minWidth="8rem">Decline</sonic-button>
|
|
68
|
+
<sonic-button hideModal minWidth="8rem" type="success">Accept</sonic-button>
|
|
86
69
|
</sonic-modal-actions>
|
|
87
70
|
</sonic-modal>
|
|
88
|
-
</sonic-modal>
|
|
89
71
|
</template>
|
|
90
72
|
</sonic-code>
|
|
91
73
|
|
|
92
|
-
##
|
|
74
|
+
## Dimensions
|
|
75
|
+
|
|
76
|
+
Set **`width`** · **`height`** · **`maxWidth`** · **`maxHeight`** with CSS lengths. Below 768px the panel becomes a bottom sheet. **`rounded="none"`** removes the corner radius for edge-to-edge media.
|
|
93
77
|
|
|
94
78
|
<sonic-code>
|
|
95
79
|
<template>
|
|
96
|
-
<sonic-button onclick="document.getElementById('CustomWidth').show()">
|
|
97
|
-
<sonic-modal
|
|
80
|
+
<sonic-button onclick="document.getElementById('CustomWidth').show()">Image preview</sonic-button>
|
|
81
|
+
<sonic-modal
|
|
82
|
+
rounded="none"
|
|
83
|
+
maxHeight="50vh"
|
|
84
|
+
maxWidth="90vw"
|
|
85
|
+
width="100%"
|
|
86
|
+
height="100%"
|
|
87
|
+
id="CustomWidth"
|
|
88
|
+
>
|
|
98
89
|
<sonic-image
|
|
99
90
|
cover
|
|
100
|
-
|
|
101
|
-
|
|
91
|
+
src="img/concorde/plane_12.jpg"
|
|
92
|
+
alt="Concorde at the gate with boarding stairs"
|
|
102
93
|
></sonic-image>
|
|
103
94
|
</sonic-modal>
|
|
104
95
|
</template>
|
|
@@ -106,14 +97,115 @@
|
|
|
106
97
|
|
|
107
98
|
## Fullscreen
|
|
108
99
|
|
|
100
|
+
**`fullscreen`** fills the viewport and hides the backdrop.
|
|
101
|
+
|
|
109
102
|
<sonic-code>
|
|
110
103
|
<template>
|
|
111
|
-
<sonic-button onclick="document.getElementById('Fullscreen').show()">
|
|
104
|
+
<sonic-button onclick="document.getElementById('Fullscreen').show()">Fullscreen</sonic-button>
|
|
112
105
|
<sonic-modal fullscreen id="Fullscreen">
|
|
113
106
|
<sonic-image
|
|
114
107
|
cover
|
|
115
|
-
src="
|
|
108
|
+
src="img/concorde/plane_10.jpg"
|
|
109
|
+
alt="Concorde fleet parked in a star"
|
|
116
110
|
></sonic-image>
|
|
117
111
|
</sonic-modal>
|
|
118
112
|
</template>
|
|
119
|
-
</sonic-code>
|
|
113
|
+
</sonic-code>
|
|
114
|
+
|
|
115
|
+
## Programmatic creation
|
|
116
|
+
|
|
117
|
+
**`Modal.create(options)`** (also `window.SonicModal.create`) appends a modal to the theme pop container, opens it and returns the element. **`title`** · **`subtitle`** · **`content`** · **`actions`** accept HTML strings or Lit templates. Set **`removeOnHide: true`** to remove it from the DOM after closing.
|
|
118
|
+
|
|
119
|
+
<sonic-code>
|
|
120
|
+
<template>
|
|
121
|
+
<sonic-button
|
|
122
|
+
onclick="window.SonicModal.create({
|
|
123
|
+
title: 'Announce gate change?',
|
|
124
|
+
subtitle: 'Passengers are notified immediately.',
|
|
125
|
+
content: 'Flight CN 001 now departs from gate B12.',
|
|
126
|
+
actions: '<sonic-button hideModal minWidth=\'8rem\'>Cancel</sonic-button><sonic-button hideModal minWidth=\'8rem\' type=\'success\'>Send</sonic-button>',
|
|
127
|
+
removeOnHide: true
|
|
128
|
+
})"
|
|
129
|
+
>
|
|
130
|
+
Open programmatic modal
|
|
131
|
+
</sonic-button>
|
|
132
|
+
</template>
|
|
133
|
+
</sonic-code>
|
|
134
|
+
|
|
135
|
+
<sonic-code language="typescript">
|
|
136
|
+
<template>
|
|
137
|
+
import { Modal } from "@supersoniks/concorde/ui/modal";
|
|
138
|
+
|
|
139
|
+
const modal = Modal.create({
|
|
140
|
+
title: "Remove flight CN 001?",
|
|
141
|
+
content: "It will no longer appear on the departures board.",
|
|
142
|
+
actions: `
|
|
143
|
+
<sonic-button hideModal>Cancel</sonic-button>
|
|
144
|
+
<sonic-button hideModal type="danger">Remove</sonic-button>
|
|
145
|
+
`,
|
|
146
|
+
removeOnHide: true,
|
|
147
|
+
maxWidth: "min(100vw, 28rem)",
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
modal.addEventListener("hidden", () => console.log("closed"));
|
|
151
|
+
</template>
|
|
152
|
+
</sonic-code>
|
|
153
|
+
|
|
154
|
+
## API reference
|
|
155
|
+
|
|
156
|
+
### `sonic-modal`
|
|
157
|
+
|
|
158
|
+
| Attribute | Values | Description |
|
|
159
|
+
|----------|---------|-------------|
|
|
160
|
+
| `align` | `left` (default) · `center` · `right` | Content alignment |
|
|
161
|
+
| `width` | CSS length (default `100%`) | Dialog width |
|
|
162
|
+
| `height` | CSS length (default `fit-content`) | Dialog height |
|
|
163
|
+
| `maxWidth` | CSS length (default `min(100vw, 40rem)`) | Dialog max width |
|
|
164
|
+
| `maxHeight` | CSS length (default `90vh`) | Dialog max height; content scrolls beyond |
|
|
165
|
+
| `paddingX` · `paddingY` | CSS length (default `1.5rem` · `2.5rem`) | Content padding |
|
|
166
|
+
| `zIndex` | number (default `990`) | Stacking order |
|
|
167
|
+
| `effect` | `slide` (default) · `fade` · `none` | Open / close animation |
|
|
168
|
+
| `fullscreen` | boolean | Fill the viewport, no backdrop |
|
|
169
|
+
| `rounded` | `none` | Remove the corner radius |
|
|
170
|
+
| `forceAction` | boolean | Disable backdrop click, Escape and close button |
|
|
171
|
+
| `noCloseButton` | boolean | Hide the close button only |
|
|
172
|
+
| `closeButtonType` | `sonic-button` type | Color of the close button |
|
|
173
|
+
| `visible` | boolean | Opens or closes the modal when toggled |
|
|
174
|
+
| `removeOnHide` | boolean | Remove the element after closing |
|
|
175
|
+
| `removeHashOnHide` | boolean | Clear the URL hash after closing |
|
|
176
|
+
| `closeOnLocationChange` | boolean | Close when the location changes |
|
|
177
|
+
| `resetDataProviderOnHide` | publisher id | Reset this data provider to `{}` after closing |
|
|
178
|
+
|
|
179
|
+
JavaScript-only properties: `options` (same keys as `Modal.create`) and `styleSheet` (`CSSResult` or `CSSStyleSheet`, or an array, adopted in the shadow root).
|
|
180
|
+
|
|
181
|
+
| Slot | Description |
|
|
182
|
+
|------|-------------|
|
|
183
|
+
| *(default)* | Modal content, usually the `sonic-modal-*` children |
|
|
184
|
+
|
|
185
|
+
| Method | Description |
|
|
186
|
+
|--------|-------------|
|
|
187
|
+
| `show()` | Open the modal |
|
|
188
|
+
| `hide()` | Close the modal (returns a promise) |
|
|
189
|
+
| `dispose()` | Close and remove the modal |
|
|
190
|
+
| `Modal.create(options)` | Static: create, append and open a modal |
|
|
191
|
+
| `Modal.disposeAll()` | Static: close and remove every modal |
|
|
192
|
+
|
|
193
|
+
| Event | Description |
|
|
194
|
+
|-------|-------------|
|
|
195
|
+
| `show` | Open animation finished |
|
|
196
|
+
| `hide` | Close started |
|
|
197
|
+
| `hidden` | Close finished |
|
|
198
|
+
|
|
199
|
+
### `sonic-modal-title` · `sonic-modal-subtitle` · `sonic-modal-content` · `sonic-modal-actions`
|
|
200
|
+
|
|
201
|
+
No attributes. Default slot only. In `sonic-modal-actions`, child `sonic-button` elements with `hideModal` close the modal.
|
|
202
|
+
|
|
203
|
+
### `sonic-modal-close`
|
|
204
|
+
|
|
205
|
+
Rendered automatically unless `forceAction` or `noCloseButton` is set. Place it manually to add a close button elsewhere.
|
|
206
|
+
|
|
207
|
+
| Attribute | Values | Description |
|
|
208
|
+
|----------|---------|-------------|
|
|
209
|
+
| `type` | `sonic-button` type | Button color |
|
|
210
|
+
| `reset` | publisher id | Passed to the inner `sonic-button` `reset` |
|
|
211
|
+
| `translation` | label object | Overrides the default `aria-label` |
|
|
@@ -1,96 +1,216 @@
|
|
|
1
1
|
# Pop
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**`sonic-pop`** anchors a floating panel to a trigger: put the control in the default slot and the panel (menu, form, any markup) in **`slot="content"`**. A click on the trigger toggles the panel unless **`manual`** is set. The panel follows the trigger while open and flips to stay inside the viewport.
|
|
4
|
+
|
|
5
|
+
## Basic example
|
|
6
|
+
|
|
4
7
|
<sonic-code>
|
|
5
8
|
<template>
|
|
6
|
-
<sonic-pop
|
|
7
|
-
<sonic-button>
|
|
8
|
-
<sonic-menu slot="content">
|
|
9
|
-
<sonic-menu-item><sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>Notifications</sonic-menu-item>
|
|
10
|
-
</sonic-menu>
|
|
11
|
-
</sonic-pop>
|
|
12
|
-
<sonic-pop class="inline-block" placement="right">
|
|
13
|
-
<sonic-button>Right</sonic-button>
|
|
14
|
-
<sonic-menu slot="content">
|
|
15
|
-
<sonic-menu-item><sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>Notifications</sonic-menu-item>
|
|
16
|
-
</sonic-menu>
|
|
17
|
-
</sonic-pop>
|
|
18
|
-
<sonic-pop class="inline-block" placement="top">
|
|
19
|
-
<sonic-button>Top</sonic-button>
|
|
9
|
+
<sonic-pop>
|
|
10
|
+
<sonic-button>Notifications</sonic-button>
|
|
20
11
|
<sonic-menu slot="content">
|
|
21
|
-
<sonic-menu-item
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
12
|
+
<sonic-menu-item>
|
|
13
|
+
<sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
|
|
14
|
+
Notifications
|
|
15
|
+
</sonic-menu-item>
|
|
16
|
+
<sonic-menu-item>
|
|
17
|
+
<sonic-icon library="iconoir" name="settings" slot="prefix"></sonic-icon>
|
|
18
|
+
Settings
|
|
19
|
+
</sonic-menu-item>
|
|
28
20
|
</sonic-menu>
|
|
29
21
|
</sonic-pop>
|
|
30
22
|
</template>
|
|
31
23
|
</sonic-code>
|
|
32
24
|
|
|
25
|
+
## Placement
|
|
26
|
+
|
|
27
|
+
**`placement`** is a side (`top` · `bottom` · `left` · `right`) with an optional alignment suffix (`-start` · `-center` · `-end`). Default is `bottom`; without a suffix, the panel aligns to `start`. The space syntax (`bottom center`) is deprecated.
|
|
28
|
+
|
|
29
|
+
<sonic-code>
|
|
30
|
+
<template>
|
|
31
|
+
<div class="flex flex-wrap gap-2">
|
|
32
|
+
<sonic-pop placement="top">
|
|
33
|
+
<sonic-button>Top</sonic-button>
|
|
34
|
+
<sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
|
|
35
|
+
</sonic-pop>
|
|
36
|
+
<sonic-pop placement="bottom">
|
|
37
|
+
<sonic-button>Bottom</sonic-button>
|
|
38
|
+
<sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
|
|
39
|
+
</sonic-pop>
|
|
40
|
+
<sonic-pop placement="left">
|
|
41
|
+
<sonic-button>Left</sonic-button>
|
|
42
|
+
<sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
|
|
43
|
+
</sonic-pop>
|
|
44
|
+
<sonic-pop placement="right">
|
|
45
|
+
<sonic-button>Right</sonic-button>
|
|
46
|
+
<sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
|
|
47
|
+
</sonic-pop>
|
|
48
|
+
<sonic-pop placement="top-center">
|
|
49
|
+
<sonic-button>Top center</sonic-button>
|
|
50
|
+
<sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
|
|
51
|
+
</sonic-pop>
|
|
52
|
+
<sonic-pop placement="bottom-center">
|
|
53
|
+
<sonic-button>Bottom center</sonic-button>
|
|
54
|
+
<sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
|
|
55
|
+
</sonic-pop>
|
|
56
|
+
<sonic-pop placement="left-center">
|
|
57
|
+
<sonic-button>Left center</sonic-button>
|
|
58
|
+
<sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
|
|
59
|
+
</sonic-pop>
|
|
60
|
+
<sonic-pop placement="bottom-end">
|
|
61
|
+
<sonic-button>Bottom end</sonic-button>
|
|
62
|
+
<sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
|
|
63
|
+
</sonic-pop>
|
|
64
|
+
</div>
|
|
65
|
+
</template>
|
|
66
|
+
</sonic-code>
|
|
67
|
+
|
|
33
68
|
## Shadow
|
|
69
|
+
|
|
70
|
+
The panel shadow defaults to `lg`.
|
|
71
|
+
|
|
34
72
|
<sonic-code>
|
|
35
73
|
<template>
|
|
36
|
-
<
|
|
37
|
-
<sonic-
|
|
38
|
-
|
|
39
|
-
<sonic-menu
|
|
40
|
-
</sonic-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
<sonic-
|
|
50
|
-
|
|
51
|
-
<sonic-menu
|
|
52
|
-
</sonic-
|
|
53
|
-
</
|
|
54
|
-
<sonic-pop class="inline-block" shadow="lg" placement='top'>
|
|
55
|
-
<sonic-button>Large</sonic-button>
|
|
56
|
-
<sonic-menu slot="content">
|
|
57
|
-
<sonic-menu-item><sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>Notifications</sonic-menu-item>
|
|
58
|
-
</sonic-menu>
|
|
59
|
-
</sonic-pop>
|
|
74
|
+
<div class="flex flex-wrap gap-2">
|
|
75
|
+
<sonic-pop shadow="none">
|
|
76
|
+
<sonic-button>None</sonic-button>
|
|
77
|
+
<sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
|
|
78
|
+
</sonic-pop>
|
|
79
|
+
<sonic-pop shadow="sm">
|
|
80
|
+
<sonic-button>Small</sonic-button>
|
|
81
|
+
<sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
|
|
82
|
+
</sonic-pop>
|
|
83
|
+
<sonic-pop shadow="md">
|
|
84
|
+
<sonic-button>Medium</sonic-button>
|
|
85
|
+
<sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
|
|
86
|
+
</sonic-pop>
|
|
87
|
+
<sonic-pop shadow="lg">
|
|
88
|
+
<sonic-button>Large</sonic-button>
|
|
89
|
+
<sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
|
|
90
|
+
</sonic-pop>
|
|
91
|
+
</div>
|
|
60
92
|
</template>
|
|
61
93
|
</sonic-code>
|
|
62
94
|
|
|
63
|
-
##
|
|
95
|
+
## Inline
|
|
96
|
+
|
|
97
|
+
The host is middle-aligned by default. Set **`inline`** to baseline-align a trigger inside running text.
|
|
98
|
+
|
|
64
99
|
<sonic-code>
|
|
65
100
|
<template>
|
|
66
|
-
<
|
|
67
|
-
|
|
68
|
-
<sonic-
|
|
69
|
-
<sonic-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
101
|
+
<p>
|
|
102
|
+
You are signed in as
|
|
103
|
+
<sonic-pop inline>
|
|
104
|
+
<sonic-button variant="link">ada.lindqvist@example.com</sonic-button>
|
|
105
|
+
<sonic-menu slot="content">
|
|
106
|
+
<sonic-menu-item>Profile</sonic-menu-item>
|
|
107
|
+
<sonic-menu-item>Sign out</sonic-menu-item>
|
|
108
|
+
</sonic-menu>
|
|
109
|
+
</sonic-pop>
|
|
110
|
+
on this device.
|
|
111
|
+
</p>
|
|
112
|
+
</template>
|
|
113
|
+
</sonic-code>
|
|
114
|
+
|
|
115
|
+
## No toggle
|
|
116
|
+
|
|
117
|
+
With **`noToggle`**, clicking the trigger opens the pop but does not close it. Close it with an outside click, Escape or **`hide()`**.
|
|
118
|
+
|
|
119
|
+
<sonic-code>
|
|
120
|
+
<template>
|
|
121
|
+
<div class="flex flex-wrap gap-2">
|
|
122
|
+
<sonic-pop noToggle>
|
|
123
|
+
<sonic-button>No toggle</sonic-button>
|
|
124
|
+
<sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
|
|
125
|
+
</sonic-pop>
|
|
126
|
+
<sonic-pop>
|
|
127
|
+
<sonic-button>Default toggle</sonic-button>
|
|
128
|
+
<sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
|
|
129
|
+
</sonic-pop>
|
|
130
|
+
</div>
|
|
131
|
+
</template>
|
|
132
|
+
</sonic-code>
|
|
133
|
+
|
|
134
|
+
## Manual control
|
|
135
|
+
|
|
136
|
+
**`manual`** disables the built-in click and keyboard handling on the trigger. Call **`show()`** and **`hide()`** instead.
|
|
137
|
+
|
|
138
|
+
<sonic-code>
|
|
139
|
+
<template>
|
|
140
|
+
<sonic-pop manual id="manualPop">
|
|
141
|
+
<sonic-button onclick="alert('Custom action, the pop stays closed')">Manual trigger</sonic-button>
|
|
74
142
|
<sonic-menu slot="content">
|
|
75
|
-
<sonic-menu-item
|
|
143
|
+
<sonic-menu-item>Opened from script</sonic-menu-item>
|
|
76
144
|
</sonic-menu>
|
|
77
145
|
</sonic-pop>
|
|
146
|
+
<sonic-button onclick="document.getElementById('manualPop').show()" class="ml-5" variant="outline">
|
|
147
|
+
Open the pop
|
|
148
|
+
</sonic-button>
|
|
78
149
|
</template>
|
|
79
150
|
</sonic-code>
|
|
80
151
|
|
|
152
|
+
## Keep open on select
|
|
153
|
+
|
|
154
|
+
A click inside the panel closes the pop by default. Set **`data-on-select="keep"`** on the panel or a descendant to keep it open, for example while ticking checkboxes.
|
|
81
155
|
|
|
82
|
-
## manual
|
|
83
156
|
<sonic-code>
|
|
84
157
|
<template>
|
|
85
|
-
<
|
|
86
|
-
<sonic-
|
|
158
|
+
<div class="flex flex-wrap gap-2">
|
|
159
|
+
<sonic-pop>
|
|
160
|
+
<sonic-button>Closes on select</sonic-button>
|
|
161
|
+
<div slot="content" class="grid gap-2 p-3">
|
|
162
|
+
<sonic-checkbox>Window seat</sonic-checkbox>
|
|
163
|
+
<sonic-checkbox>Extra baggage</sonic-checkbox>
|
|
164
|
+
</div>
|
|
165
|
+
</sonic-pop>
|
|
166
|
+
<sonic-pop>
|
|
167
|
+
<sonic-button>Stays open on select</sonic-button>
|
|
168
|
+
<div slot="content" class="grid gap-2 p-3" data-on-select="keep">
|
|
169
|
+
<sonic-checkbox>Window seat</sonic-checkbox>
|
|
170
|
+
<sonic-checkbox>Extra baggage</sonic-checkbox>
|
|
171
|
+
</div>
|
|
172
|
+
</sonic-pop>
|
|
173
|
+
</div>
|
|
174
|
+
</template>
|
|
175
|
+
</sonic-code>
|
|
176
|
+
|
|
177
|
+
## Keyboard
|
|
178
|
+
|
|
179
|
+
**ArrowDown** on the trigger opens the pop. **Escape** closes the most recently opened pop, before an enclosing `sonic-modal`, and returns focus to its trigger.
|
|
180
|
+
|
|
181
|
+
<sonic-code>
|
|
182
|
+
<template>
|
|
183
|
+
<sonic-pop>
|
|
184
|
+
<sonic-button>Focus me, then press ArrowDown</sonic-button>
|
|
87
185
|
<sonic-menu slot="content">
|
|
88
|
-
<sonic-menu-item>
|
|
186
|
+
<sonic-menu-item>First item</sonic-menu-item>
|
|
187
|
+
<sonic-menu-item>Second item</sonic-menu-item>
|
|
89
188
|
</sonic-menu>
|
|
90
189
|
</sonic-pop>
|
|
91
|
-
<sonic-button onclick="document.getElementById('manualPop').show()" class="ml-5" variant="outline">
|
|
92
|
-
<sonic-icon name="sparkles" library="custom"></sonic-icon>
|
|
93
|
-
Click to open pop
|
|
94
|
-
</sonic-button>
|
|
95
190
|
</template>
|
|
96
|
-
</sonic-code>
|
|
191
|
+
</sonic-code>
|
|
192
|
+
|
|
193
|
+
## API reference
|
|
194
|
+
|
|
195
|
+
| Attribute | Values | Description |
|
|
196
|
+
|----------|---------|-------------|
|
|
197
|
+
| `placement` | `top` · `bottom` (default) · `left` · `right`, each with optional `-start` · `-center` · `-end` | Side and alignment relative to the trigger |
|
|
198
|
+
| `shadow` | `none` · `sm` · `md` · `lg` (default `lg`) | Panel shadow |
|
|
199
|
+
| `inline` | boolean | Baseline-align the host in text |
|
|
200
|
+
| `noToggle` | boolean | A trigger click does not close an open pop |
|
|
201
|
+
| `manual` | boolean | Disable trigger click and keyboard handling |
|
|
202
|
+
|
|
203
|
+
| Slot | Description |
|
|
204
|
+
|------|-------------|
|
|
205
|
+
| *(default)* | Trigger |
|
|
206
|
+
| `content` | Floating panel; `data-on-select="keep"` inside it prevents close on click |
|
|
207
|
+
|
|
208
|
+
| Method | Description |
|
|
209
|
+
|--------|-------------|
|
|
210
|
+
| `show()` | Open the panel |
|
|
211
|
+
| `hide()` | Close the panel |
|
|
212
|
+
|
|
213
|
+
| Event | Description |
|
|
214
|
+
|-------|-------------|
|
|
215
|
+
| `show` | Panel opened |
|
|
216
|
+
| `hide` | Panel closed |
|