@supersoniks/concorde 5.0.5 → 5.1.0
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/.github/workflows/ci.yml +21 -0
- package/.github-export-ignore +30 -0
- package/.tmp-cem/custom-elements.json +13705 -0
- package/CONTRIBUTING.md +59 -0
- package/DEV.md +54 -0
- package/LICENSE +21 -0
- package/OPEN_SOURCE_CHECKPOINT.md +133 -0
- package/build-infos.json +1 -1
- package/concorde-3d.bundle.js +3960 -0
- package/concorde-3d.es.js +33433 -0
- package/concorde-core.bundle.js +196 -196
- package/concorde-core.es.js +3685 -3405
- package/concorde-hugging-face-infer.bundle.js +32 -0
- package/concorde-hugging-face-infer.es.js +2952 -0
- package/concorde-interactive.bundle.js +1157 -0
- package/concorde-interactive.es.js +10734 -0
- package/concorde-shader.bundle.js +116 -0
- package/concorde-shader.es.js +8353 -0
- package/concorde-webgpu.bundle.js +307 -0
- package/concorde-webgpu.es.js +8627 -0
- package/custom-elements-manifest.config.mjs +14 -0
- package/dist/concorde-core.bundle.js +196 -196
- package/dist/concorde-core.es.js +3685 -3405
- package/docs/assets/{index-wVZpLVYW.js → index-D8MVWqY6.js} +1351 -1222
- package/docs/assets/index-DiD0qYvE.css +1 -0
- package/docs/crawl/core/components/ui/alert/alert.html +71 -172
- package/docs/crawl/core/components/ui/alert-messages/alert-messages.html +5 -113
- package/docs/crawl/core/components/ui/badge/badge.html +79 -157
- package/docs/crawl/core/components/ui/button/button.html +0 -1
- package/docs/crawl/core/components/ui/captcha/captcha.html +8 -90
- package/docs/crawl/core/components/ui/card/card.html +68 -222
- package/docs/crawl/core/components/ui/divider/divider.html +31 -117
- package/docs/crawl/core/components/ui/form/fieldset/fieldset.html +101 -232
- package/docs/crawl/core/components/ui/form/form-actions/form-actions.html +52 -95
- package/docs/crawl/core/components/ui/form/form-layout/form-layout.html +38 -97
- package/docs/crawl/core/components/ui/form/input/input.html +3 -3
- package/docs/crawl/core/components/ui/form/textarea/textarea.html +3 -3
- package/docs/crawl/core/components/ui/group/group.html +38 -60
- package/docs/crawl/core/components/ui/icon/icon.html +47 -136
- package/docs/crawl/core/components/ui/image/image.html +56 -244
- package/docs/crawl/core/components/ui/link/link.html +9 -67
- package/docs/crawl/core/components/ui/loader/loader.html +23 -97
- package/docs/crawl/core/components/ui/menu/menu.html +90 -162
- package/docs/crawl/core/components/ui/modal/modal.html +50 -275
- package/docs/crawl/core/components/ui/pop/pop.html +66 -260
- package/docs/crawl/core/components/ui/progress/progress.html +30 -103
- package/docs/crawl/core/components/ui/table/table.html +171 -303
- package/docs/crawl/core/components/ui/toast/toast.html +59 -170
- package/docs/crawl/core/components/ui/tooltip/tooltip.html +29 -90
- package/docs/crawl/docs/_decorators/ancestor-attribute.html +2 -3
- package/docs/crawl/docs/_getting-started/concorde-outside.html +3 -3
- package/docs/crawl/docs/_getting-started/start.html +1 -1
- package/docs/crawl/docs/_getting-started/theming.html +63 -311
- package/docs/crawl/hubs/form-components.html +53 -75
- package/docs/crawl/index.html +6 -7
- package/docs/docs-mock-api-sw.js +0 -2
- package/docs/docs-mock-api-sw.js.map +2 -2
- package/docs/index.html +7 -9
- package/docs/llms-full.txt +456 -1703
- package/docs/llms.txt +32 -25
- package/docs/sitemap.xml +0 -3
- package/docs/src/core/components/functional/fetch/fetch.md +0 -0
- package/docs/src/core/components/functional/if/if.md +0 -0
- package/docs/src/core/components/functional/list/list.md +0 -0
- package/docs/src/core/components/functional/router/router.md +0 -0
- package/docs/src/core/components/functional/sdui/sdui.md +0 -0
- package/docs/src/core/components/functional/states/states.md +0 -0
- package/docs/src/core/components/functional/submit/submit.md +0 -0
- package/docs/src/core/components/ui/alert/alert.md +72 -147
- package/docs/src/core/components/ui/alert-messages/alert-messages.md +0 -85
- package/docs/src/core/components/ui/badge/badge.md +80 -141
- package/docs/src/core/components/ui/button/button.md +0 -1
- package/docs/src/core/components/ui/captcha/captcha.md +6 -65
- package/docs/src/core/components/ui/card/card.md +65 -183
- package/docs/src/core/components/ui/divider/divider.md +13 -107
- package/docs/src/core/components/ui/form/fieldset/fieldset.md +99 -175
- package/docs/src/core/components/ui/form/form-actions/form-actions.md +52 -75
- package/docs/src/core/components/ui/form/form-layout/form-layout.md +34 -109
- package/docs/src/core/components/ui/form/input/input.md +1 -1
- package/docs/src/core/components/ui/form/radio/radio.md +0 -0
- package/docs/src/core/components/ui/form/select/select.md +0 -0
- package/docs/src/core/components/ui/form/switch/switch.md +0 -0
- package/docs/src/core/components/ui/form/textarea/textarea.md +1 -1
- package/docs/src/core/components/ui/group/group.md +36 -36
- package/docs/src/core/components/ui/icon/icon.md +43 -132
- package/docs/src/core/components/ui/image/image.md +53 -179
- package/docs/src/core/components/ui/link/link.md +7 -45
- package/docs/src/core/components/ui/loader/loader.md +22 -79
- package/docs/src/core/components/ui/menu/menu.md +92 -133
- package/docs/src/core/components/ui/modal/modal.md +47 -163
- package/docs/src/core/components/ui/pop/pop.md +64 -262
- package/docs/src/core/components/ui/progress/progress.md +30 -76
- package/docs/src/core/components/ui/table/table.md +171 -147
- package/docs/src/core/components/ui/toast/toast.md +58 -108
- package/docs/src/core/components/ui/tooltip/tooltip.md +26 -68
- package/docs/src/docs/_core-concept/subscriber.md +0 -0
- package/docs/src/docs/_decorators/ancestor-attribute.md +2 -3
- package/docs/src/docs/_getting-started/concorde-outside.md +3 -3
- package/docs/src/docs/_getting-started/my-first-subscriber.md +0 -0
- package/docs/src/docs/_getting-started/pubsub.md +0 -0
- package/docs/src/docs/_getting-started/start.md +1 -1
- package/docs/src/docs/_getting-started/theming.md +61 -223
- package/docs/src/docs/search/docs-search.json +348 -3083
- package/docs/src/tsconfig.declarations.json +22 -0
- package/docs/src/tsconfig.emit.json +23 -0
- package/docs/src/tsconfig.json +3 -63
- package/gitlab/job_github_mirror.sh +39 -0
- package/package.json +36 -2
- package/scripts/generate-sdui-catalog.mjs +250 -0
- package/scripts/generate-sdui-catalog.spec.ts +91 -0
- package/scripts/github-export.mjs +150 -0
- package/scripts/post-build-docs.js +0 -0
- package/scripts/post-build.mjs +0 -0
- package/scripts/pre-build.mjs +15 -0
- package/src/core/components/functional/fetch/fetch.md +0 -0
- package/src/core/components/functional/if/if.md +0 -0
- package/src/core/components/functional/if/if.ts +0 -0
- package/src/core/components/functional/list/list.demo.ts +0 -0
- package/src/core/components/functional/list/list.md +0 -0
- package/src/core/components/functional/router/router.md +0 -0
- package/src/core/components/functional/router/router.ts +0 -0
- package/src/core/components/functional/sdui/SDUIDescriptorTransformer.ts +5 -5
- package/src/core/components/functional/sdui/__fixtures__/descriptors.ts +251 -0
- package/src/core/components/functional/sdui/__snapshots__/sdui-action.spec.ts.snap +73 -0
- package/src/core/components/functional/sdui/__snapshots__/sdui-incremental.spec.ts.snap +50 -0
- package/src/core/components/functional/sdui/__snapshots__/sdui-partial.spec.ts.snap +50 -0
- package/src/core/components/functional/sdui/__snapshots__/sdui.regression.spec.ts.snap +461 -0
- package/src/core/components/functional/sdui/component-catalog.gaps.json +511 -0
- package/src/core/components/functional/sdui/component-catalog.json +3103 -0
- package/src/core/components/functional/sdui/component-catalog.spec.ts +23 -0
- package/src/core/components/functional/sdui/sdui-action.spec.ts +99 -0
- package/src/core/components/functional/sdui/sdui-dom-snapshot.ts +61 -0
- package/src/core/components/functional/sdui/sdui-extension-points.md +94 -0
- package/src/core/components/functional/sdui/sdui-incremental.spec.ts +137 -0
- package/src/core/components/functional/sdui/sdui-partial.spec.ts +83 -0
- package/src/core/components/functional/sdui/sdui-partial.ts +19 -0
- package/src/core/components/functional/sdui/sdui-safe.spec.ts +188 -0
- package/src/core/components/functional/sdui/sdui-safe.ts +100 -0
- package/src/core/components/functional/sdui/sdui.md +122 -0
- package/src/core/components/functional/sdui/sdui.regression.spec.ts +64 -0
- package/src/core/components/functional/sdui/sdui.ts +442 -34
- package/src/core/components/functional/sdui/types.ts +49 -0
- package/src/core/components/functional/states/states.md +0 -0
- package/src/core/components/functional/submit/submit.md +0 -0
- package/src/core/components/functional/subscriber/subscriber.ts +0 -0
- 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/captcha/altchaStyles.ts +0 -0
- package/src/core/components/ui/form/radio/radio.md +0 -0
- package/src/core/components/ui/form/select/select.md +0 -0
- package/src/core/components/ui/form/switch/switch.md +0 -0
- package/src/core/mixins/Subscriber.ts +0 -0
- package/src/core/utils/DataBindObserver.ts +0 -0
- package/src/core/utils/Objects.ts +0 -0
- package/src/core/utils/route.ts +0 -0
- package/src/css.d.ts +19 -0
- package/src/docs/_core-concept/subscriber.md +0 -0
- package/src/docs/_getting-started/my-first-subscriber.md +0 -0
- package/src/docs/_getting-started/pubsub.md +0 -0
- package/src/docs/example/users.ts +0 -0
- package/src/docs/search/page.ts +0 -0
- package/src/tsconfig.declarations.json +22 -0
- package/src/tsconfig.emit.json +23 -0
- package/src/tsconfig.json +90 -0
- package/src/tsconfig.tsbuildinfo +1 -1
- package/docs/assets/index-CD4WyL6o.css +0 -1
- package/docs/crawl/core/components/ui/theme/theme.html +0 -131
- package/docs/src/core/components/ui/theme/theme.md +0 -122
package/docs/llms-full.txt
CHANGED
|
@@ -948,59 +948,13 @@ I prefer
|
|
|
948
948
|
|
|
949
949
|
---
|
|
950
950
|
|
|
951
|
-
##
|
|
951
|
+
## Concorde
|
|
952
952
|
|
|
953
953
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/alert-messages/alert-messages.html
|
|
954
954
|
- Doc ID: core/components/ui/alert-messages/alert-messages
|
|
955
|
-
- Keywords: Concorde, supersoniks, core/components/ui/alert-messages/alert-messages, alert-messages,
|
|
955
|
+
- Keywords: Concorde, supersoniks, core/components/ui/alert-messages/alert-messages, alert-messages, UI component, sonic-alert-messages, web component
|
|
956
956
|
|
|
957
|
-
Alert messages
|
|
958
957
|
|
|
959
|
-
sonic-alert-messages renders a vertical stack of sonic-alert items from a messages array on a linked data provider (typical pattern: submitResultDataProvider after a form submit). Only entries with type="public" are shown. Each alert gets announce so screen readers pick up feedback after the request.
|
|
960
|
-
|
|
961
|
-
With submit result
|
|
962
|
-
|
|
963
|
-
Bind dataProvider to the same publisher as submitResultDataProvider. API messages entries need type: public, plus content and optional status (warning · success · error · info).
|
|
964
|
-
|
|
965
|
-
Submit (empty fields → error messages)
|
|
966
|
-
|
|
967
|
-
Shared alert props
|
|
968
|
-
|
|
969
|
-
size · background and noIcon apply to every rendered sonic-alert in the list.
|
|
970
|
-
|
|
971
|
-
Load sample messages
|
|
972
|
-
|
|
973
|
-
Message shape
|
|
974
|
-
|
|
975
|
-
Example JSON on the result publisher (or API response merged into it):
|
|
976
|
-
|
|
977
|
-
{
|
|
978
|
-
"messages": [
|
|
979
|
-
{
|
|
980
|
-
"type": "public",
|
|
981
|
-
"content": "The product has been added to your cart",
|
|
982
|
-
"status": "success"
|
|
983
|
-
}
|
|
984
|
-
]
|
|
985
|
-
}
|
|
986
|
-
|
|
987
|
-
API reference
|
|
988
|
-
|
|
989
|
-
| Attribute | Values | Description |
|
|
990
|
-
|----------|---------|-------------|
|
|
991
|
-
| dataProvider | publisher id | Source object; messages array is auto-filled via Subscriber |
|
|
992
|
-
| size | 2xs … 2xl (default md) | Passed to each sonic-alert |
|
|
993
|
-
| background | boolean | Tinted background on each alert |
|
|
994
|
-
| noIcon | boolean | Hides icons on each alert |
|
|
995
|
-
| messages | Message[] | Usually set by the publisher; each item uses content as alert text |
|
|
996
|
-
|
|
997
|
-
| Message field | Values | Description |
|
|
998
|
-
|---------------|---------|-------------|
|
|
999
|
-
| type | public | Required for the message to render |
|
|
1000
|
-
| content | string | Alert body (text on sonic-alert) |
|
|
1001
|
-
| status | warning · success · error · info | Alert status; defaults to default when omitted |
|
|
1002
|
-
|
|
1003
|
-
No slots — alerts are generated from messages.
|
|
1004
958
|
|
|
1005
959
|
---
|
|
1006
960
|
|
|
@@ -1008,118 +962,68 @@ No slots — alerts are generated from messages.
|
|
|
1008
962
|
|
|
1009
963
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/alert/alert.html
|
|
1010
964
|
- Doc ID: core/components/ui/alert/alert
|
|
1011
|
-
- Keywords: Concorde, supersoniks, core/components/ui/alert/alert, alert, Alert, UI component, sonic-alert, web component
|
|
965
|
+
- Keywords: Concorde, supersoniks, core/components/ui/alert/alert, alert, Alert, UI component, sonic-alert, web component
|
|
1012
966
|
|
|
1013
967
|
Alert
|
|
1014
968
|
|
|
1015
|
-
Alerts surface important feedback inline—errors, confirmations, or contextual help. Use label / text for simple copy, or the default slot for rich content (links, buttons). Set announce when the message appears after an action so screen readers pick it up.
|
|
1016
|
-
|
|
1017
|
-
Basic example
|
|
1018
|
-
|
|
1019
969
|
Status
|
|
1020
970
|
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
This address is already in use.
|
|
1027
|
-
This address is already in use.
|
|
1028
|
-
|
|
1029
|
-
Accessibility (announce)
|
|
1030
|
-
|
|
1031
|
-
By default, an alert already in the DOM is not announced (no role / aria-live). Set announce when the message appears after user action (API response, validation, etc.): screen readers get role="alert" for error, otherwise role="status" and aria-live="polite".
|
|
1032
|
-
|
|
1033
|
-
sonic-alert-messages sets announce on every rendered alert.
|
|
1034
|
-
|
|
1035
|
-
Content and icon
|
|
1036
|
-
|
|
1037
|
-
label and text accept plain text only. The default slot is rendered after text. Use the icon slot to replace the default sonic-icon. noIcon hides the icon.
|
|
1038
|
-
|
|
1039
|
-
Custom icon slot
|
|
1040
|
-
|
|
1041
|
-
Project any markup into slot="icon" (emoji, image, custom component). Keep it decorative with aria-hidden="true" when the message text already conveys meaning.
|
|
1042
|
-
|
|
1043
|
-
🎉
|
|
1044
|
-
You unlocked a new badge.
|
|
971
|
+
This address is already in use.
|
|
972
|
+
This address is already in use.
|
|
973
|
+
This address is already in use.
|
|
974
|
+
This address is already in use.
|
|
975
|
+
This address is already in use.
|
|
1045
976
|
|
|
1046
977
|
Sizes
|
|
1047
978
|
|
|
1048
|
-
|
|
979
|
+
This address is already in use. Lorem ipsum dolor sit amet.
|
|
1049
980
|
|
|
1050
|
-
|
|
981
|
+
This address is already in use. Lorem ipsum dolor sit amet.
|
|
1051
982
|
|
|
1052
|
-
|
|
983
|
+
This address is already in use. Lorem ipsum dolor sit amet.
|
|
1053
984
|
|
|
1054
|
-
|
|
985
|
+
This address is already in use. Lorem ipsum dolor sit amet.
|
|
1055
986
|
|
|
1056
|
-
|
|
987
|
+
This address is already in use. Lorem ipsum dolor sit amet.
|
|
1057
988
|
|
|
1058
|
-
|
|
989
|
+
This address is already in use. Lorem ipsum dolor sit amet.
|
|
1059
990
|
|
|
1060
|
-
|
|
991
|
+
This address is already in use. Lorem ipsum dolor sit amet.
|
|
1061
992
|
|
|
1062
993
|
Alert with link
|
|
1063
994
|
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
You have 2 unread messages
|
|
995
|
+
You have 2 unread messages
|
|
1067
996
|
|
|
1068
|
-
|
|
1069
|
-
|
|
997
|
+
See messages
|
|
998
|
+
dismiss
|
|
1070
999
|
|
|
1071
1000
|
Background
|
|
1072
1001
|
|
|
1073
|
-
|
|
1002
|
+
This address is already in use.
|
|
1074
1003
|
|
|
1075
|
-
|
|
1004
|
+
This address is already in use.
|
|
1076
1005
|
|
|
1077
|
-
|
|
1006
|
+
This address is already in use.
|
|
1078
1007
|
|
|
1079
|
-
|
|
1008
|
+
This address is already in use.
|
|
1080
1009
|
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
This address is already in use.
|
|
1010
|
+
This address is already in use.
|
|
1084
1011
|
|
|
1085
1012
|
Dismissible
|
|
1086
1013
|
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
This address is already in use.
|
|
1014
|
+
This address is already in use.
|
|
1090
1015
|
|
|
1091
|
-
|
|
1016
|
+
This address is already in use.
|
|
1092
1017
|
|
|
1093
|
-
|
|
1018
|
+
This address is already in use.
|
|
1094
1019
|
|
|
1095
|
-
|
|
1020
|
+
This address is already in use.
|
|
1096
1021
|
|
|
1097
|
-
|
|
1022
|
+
This address is already in use.
|
|
1098
1023
|
|
|
1099
1024
|
Dismiss forever
|
|
1100
1025
|
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
This address is already in use.
|
|
1104
|
-
|
|
1105
|
-
API reference
|
|
1106
|
-
|
|
1107
|
-
| Attribute | Values | Description |
|
|
1108
|
-
|----------|---------|-------------|
|
|
1109
|
-
| status | default · info · success · warning · error | Color and default icon |
|
|
1110
|
-
| label | string | Title (plain text) |
|
|
1111
|
-
| text | string | Short body (plain text), rendered before the slot |
|
|
1112
|
-
| size | 2xs … 2xl | Corner radius and typography |
|
|
1113
|
-
| background | boolean | Tinted background (color-mix on status color) |
|
|
1114
|
-
| dismissible | boolean | Close control; removes the element from the DOM |
|
|
1115
|
-
| dismissForever | boolean | Persists dismissal in localStorage; requires id |
|
|
1116
|
-
| noIcon | boolean | Hides the icon (including custom icon slot content) |
|
|
1117
|
-
| announce | boolean | role="alert" / aria-live for dynamically injected content |
|
|
1118
|
-
|
|
1119
|
-
| Slot | Description |
|
|
1120
|
-
|------|-------------|
|
|
1121
|
-
| (default) | Message body (HTML, actions); rendered after text |
|
|
1122
|
-
| icon | Replaces the default sonic-icon |
|
|
1026
|
+
This address is already in use.
|
|
1123
1027
|
|
|
1124
1028
|
---
|
|
1125
1029
|
|
|
@@ -1127,105 +1031,68 @@ API reference
|
|
|
1127
1031
|
|
|
1128
1032
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/badge/badge.html
|
|
1129
1033
|
- Doc ID: core/components/ui/badge/badge
|
|
1130
|
-
- Keywords: Concorde, supersoniks, core/components/ui/badge/badge, badge, Badge, UI component, sonic-badge, web component
|
|
1034
|
+
- Keywords: Concorde, supersoniks, core/components/ui/badge/badge, badge, Badge, UI component, sonic-badge, web component
|
|
1131
1035
|
|
|
1132
1036
|
Badge
|
|
1133
1037
|
|
|
1134
|
-
Badges are compact, non-interactive labels for status, counts, or categories. They mirror sonic-button styling (type, variant, size) without focus rings or click handling—use a button when the control should be actionable.
|
|
1135
|
-
|
|
1136
1038
|
Type
|
|
1137
1039
|
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
Danger
|
|
1147
|
-
|
|
1148
|
-
Variant
|
|
1149
|
-
|
|
1150
|
-
Default variant is filled. outline — border and text in the type color. ghost — text only, no padding (except in forced-colors mode).
|
|
1040
|
+
Default
|
|
1041
|
+
Primary
|
|
1042
|
+
Neutral
|
|
1043
|
+
Warning
|
|
1044
|
+
Info
|
|
1045
|
+
Success
|
|
1046
|
+
Danger
|
|
1047
|
+
Contrast
|
|
1151
1048
|
|
|
1152
1049
|
Outline
|
|
1153
1050
|
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1051
|
+
Default
|
|
1052
|
+
Primary
|
|
1053
|
+
Neutral
|
|
1054
|
+
Warning
|
|
1055
|
+
Info
|
|
1056
|
+
Success
|
|
1057
|
+
Danger
|
|
1058
|
+
Contrast
|
|
1161
1059
|
|
|
1162
1060
|
Ghost
|
|
1163
1061
|
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1062
|
+
Default
|
|
1063
|
+
Primary
|
|
1064
|
+
Neutral
|
|
1065
|
+
Warning
|
|
1066
|
+
Info
|
|
1067
|
+
Success
|
|
1068
|
+
Danger
|
|
1069
|
+
Contrast
|
|
1171
1070
|
|
|
1172
1071
|
Size
|
|
1173
1072
|
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
Xl
|
|
1182
|
-
2Xl
|
|
1183
|
-
|
|
1184
|
-
Prefix and suffix slots
|
|
1185
|
-
|
|
1186
|
-
Icons or short text before / after the main label.
|
|
1187
|
-
|
|
1188
|
-
Info
|
|
1189
|
-
|
|
1190
|
-
Verified
|
|
1073
|
+
2Xs badge
|
|
1074
|
+
Xs badge
|
|
1075
|
+
Sm badge
|
|
1076
|
+
Md badge
|
|
1077
|
+
Lg badge
|
|
1078
|
+
Xl badge
|
|
1079
|
+
2Xl badge
|
|
1191
1080
|
|
|
1192
1081
|
Empty badges
|
|
1193
1082
|
|
|
1194
|
-
Badge with no text (visual dot). min-width / min-height keep a readable shape.
|
|
1195
|
-
|
|
1196
1083
|
Ellipsis
|
|
1197
1084
|
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod.
|
|
1201
|
-
|
|
1202
|
-
Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod.
|
|
1085
|
+
Lorem ipsum dolor sit consectetur adipiscing elit. Lorem ipsum dolor sit consectetur adipiscing elit.
|
|
1086
|
+
Lorem ipsum dolor sit consectetur adipiscing elit. Lorem ipsum dolor sit consectetur adipiscing elit.
|
|
1203
1087
|
|
|
1204
1088
|
Badge in button
|
|
1205
1089
|
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
Messages 5
|
|
1209
|
-
|
|
1210
|
-
My account
|
|
1211
|
-
12
|
|
1090
|
+
Messages 5
|
|
1212
1091
|
|
|
1213
|
-
|
|
1092
|
+
Mon compte
|
|
1093
|
+
12
|
|
1214
1094
|
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
| Attribute | Values | Description |
|
|
1218
|
-
|----------|---------|-------------|
|
|
1219
|
-
| type | default (default) · primary · neutral · warning · info · success · danger | Semantic color (--sc- tokens) |
|
|
1220
|
-
| variant | default (default) · outline · ghost | Filled, bordered, or text-only |
|
|
1221
|
-
| size | 2xs … 2xl (default md) | Typography and padding (aligned with sonic-button) |
|
|
1222
|
-
| ellipsis | boolean | Single-line truncation; parent must constrain width |
|
|
1223
|
-
|
|
1224
|
-
| Slot | Description |
|
|
1225
|
-
|------|-------------|
|
|
1226
|
-
| (default) | Main label |
|
|
1227
|
-
| prefix | Icon or short text before the label |
|
|
1228
|
-
| suffix | Icon or short text after the label |
|
|
1095
|
+
33
|
|
1229
1096
|
|
|
1230
1097
|
---
|
|
1231
1098
|
|
|
@@ -1287,7 +1154,6 @@ Loading
|
|
|
1287
1154
|
The length of the button depends on the size of its content
|
|
1288
1155
|
|
|
1289
1156
|
Loading button
|
|
1290
|
-
🚀 Loading with prefix 😂
|
|
1291
1157
|
|
|
1292
1158
|
Swap
|
|
1293
1159
|
|
|
@@ -1337,54 +1203,11 @@ Custom styles & active states with tailwind
|
|
|
1337
1203
|
|
|
1338
1204
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/captcha/captcha.html
|
|
1339
1205
|
- Doc ID: core/components/ui/captcha/captcha
|
|
1340
|
-
- Keywords: Concorde, supersoniks, core/components/ui/captcha/captcha, captcha, Captcha, UI component, sonic-captcha, web component
|
|
1206
|
+
- Keywords: Concorde, supersoniks, core/components/ui/captcha/captcha, captcha, Captcha, UI component, sonic-captcha, web component
|
|
1341
1207
|
|
|
1342
1208
|
Captcha
|
|
1343
1209
|
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
> Live widget calls the Supersoniks challenge service — not part of docs mock API.
|
|
1347
|
-
|
|
1348
|
-
Basic example
|
|
1349
|
-
|
|
1350
|
-
Wrap the form scope and place sonic-submit in the default slot so the challenge appears above the action.
|
|
1351
|
-
|
|
1352
|
-
Submit with captcha
|
|
1353
|
-
|
|
1354
|
-
Encrypted site key
|
|
1355
|
-
|
|
1356
|
-
Optional key skips client-side key generation. When omitted, the component derives an encrypted key on connect (after generateEncryptedKey).
|
|
1357
|
-
|
|
1358
|
-
Complete the challenge above to enable submit
|
|
1359
|
-
|
|
1360
|
-
Form publisher fields
|
|
1361
|
-
|
|
1362
|
-
On connect (HTTPS only), needsCaptchaValidation is set to true and captchaToken is cleared. When the ALTCHA widget reaches verified, captchaToken is written on the form publisher and sonic-captcha-validate fires (detail.valid · detail.state · optional detail.token / detail.payload). sonic-submit still listens for requesttoken to refresh the token immediately before send.
|
|
1363
|
-
|
|
1364
|
-
{
|
|
1365
|
-
needsCaptchaValidation: true,
|
|
1366
|
-
captchaKey: "…",
|
|
1367
|
-
captchaToken: "…"
|
|
1368
|
-
}
|
|
1369
|
-
|
|
1370
|
-
API reference
|
|
1371
|
-
|
|
1372
|
-
| Attribute | Values | Description |
|
|
1373
|
-
|----------|---------|-------------|
|
|
1374
|
-
| formDataProvider | publisher id | Same as ancestor form scope; reads/writes needsCaptchaValidation · captchaKey · captchaToken |
|
|
1375
|
-
| key | string | ALTCHA site key; auto-generated when empty |
|
|
1376
|
-
| action | string | Optional action name forwarded to the widget |
|
|
1377
|
-
| zIndex | number (default 9999) | Stacking for the challenge overlay |
|
|
1378
|
-
|
|
1379
|
-
| Slot | Description |
|
|
1380
|
-
|------|-------------|
|
|
1381
|
-
| (default) | Form actions (typically sonic-submit and fields) rendered below the widget |
|
|
1382
|
-
|
|
1383
|
-
| Event | Description |
|
|
1384
|
-
|-------|-------------|
|
|
1385
|
-
| sonic-captcha-validate | Fired when state is verified · error or expired; detail.valid is true only for verified |
|
|
1386
|
-
|
|
1387
|
-
Related: Submit — needsCaptchaValidation and deferred send.
|
|
1210
|
+
Submit with captcha
|
|
1388
1211
|
|
|
1389
1212
|
---
|
|
1390
1213
|
|
|
@@ -1392,118 +1215,49 @@ Related: Submit — needsCaptchaValidation and deferred send.
|
|
|
1392
1215
|
|
|
1393
1216
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/card/card.html
|
|
1394
1217
|
- Doc ID: core/components/ui/card/card
|
|
1395
|
-
- Keywords: Concorde, supersoniks, core/components/ui/card/card, card, Card, UI component, sonic-card, web component
|
|
1218
|
+
- Keywords: Concorde, supersoniks, core/components/ui/card/card, card, Card, UI component, sonic-card, web component
|
|
1396
1219
|
|
|
1397
1220
|
Card
|
|
1398
1221
|
|
|
1399
|
-
Cards group related content on a padded surface with radius, theme type colors, and elevation. Default shadow is lg. Compose sonic-card-header / sonic-card-main / sonic-card-footer, or place any markup in the default slot.
|
|
1400
|
-
|
|
1401
|
-
Basic example
|
|
1402
|
-
|
|
1403
|
-
Related content on a raised surface.
|
|
1404
|
-
|
|
1405
1222
|
Type
|
|
1406
1223
|
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
Danger
|
|
1417
|
-
Neutral
|
|
1418
|
-
Invert
|
|
1419
|
-
|
|
1420
|
-
Shadow
|
|
1421
|
-
|
|
1422
|
-
Set shadow to control elevation. Default is lg.
|
|
1423
|
-
|
|
1424
|
-
None
|
|
1425
|
-
Small
|
|
1426
|
-
Medium
|
|
1427
|
-
Large
|
|
1224
|
+
Base
|
|
1225
|
+
Light
|
|
1226
|
+
Primary
|
|
1227
|
+
Warning
|
|
1228
|
+
Danger
|
|
1229
|
+
Success
|
|
1230
|
+
Info
|
|
1231
|
+
Neutral
|
|
1232
|
+
Invert
|
|
1428
1233
|
|
|
1429
1234
|
Header
|
|
1430
1235
|
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
label and description accept HTML (rendered as markup). Prefer plain text when possible; use sonic-card-header-description or the default slot for structured content.
|
|
1434
|
-
|
|
1435
|
-
Body content goes in the card slot or in sonic-card-main .
|
|
1236
|
+
Description rendu via le composant : "sonic-card-header-description"
|
|
1436
1237
|
|
|
1437
|
-
|
|
1238
|
+
Suffix
|
|
1438
1239
|
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
Use the header slot when attributes are not enough.
|
|
1240
|
+
Header custom
|
|
1241
|
+
Tout le contenu excepté l'icône ✈ passe par le slot du header
|
|
1242
|
+
✈
|
|
1444
1243
|
|
|
1445
1244
|
Main
|
|
1446
1245
|
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
Improved performance on large lists and fixed an issue with keyboard navigation in menus.
|
|
1450
|
-
|
|
1451
|
-
See the changelog for details.
|
|
1246
|
+
Main area
|
|
1247
|
+
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Iure id dolor debitis deleniti eligendi natus dolorem a commodi sunt dicta? Ipsa asperiores magni consequuntur dolor voluptatibus. Maxime, nemo? Facere, odio.
|
|
1452
1248
|
|
|
1453
1249
|
Footer
|
|
1454
1250
|
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
This project and all of its data will be removed permanently.
|
|
1458
|
-
|
|
1459
|
-
Cancel
|
|
1460
|
-
Delete
|
|
1461
|
-
|
|
1462
|
-
Full example
|
|
1463
|
-
|
|
1464
|
-
Header, media, body, and footer together.
|
|
1465
|
-
|
|
1466
|
-
Nonstop flight with flexible dates. Prices shown include taxes and fees.
|
|
1467
|
-
|
|
1468
|
-
From $249
|
|
1469
|
-
Book
|
|
1251
|
+
Footer area
|
|
1252
|
+
Debitis deleniti eligendi natus dolorem aufdh.
|
|
1470
1253
|
|
|
1471
|
-
|
|
1254
|
+
🛫 ✈ ✈ ✈ ✈ ✈ 🛬
|
|
1472
1255
|
|
|
1473
|
-
|
|
1256
|
+
Example of use
|
|
1474
1257
|
|
|
1475
|
-
|
|
1476
|
-
|----------|---------|-------------|
|
|
1477
|
-
| type | base (default) · light · invert · default · primary · warning · danger · success · info · neutral | Semantic background and text (default and light share the same surface) |
|
|
1478
|
-
| shadow | none · sm · md · lg (default lg) | Elevation on the card surface |
|
|
1258
|
+
Main - Lorem ipsum dolor sit, amet consectetur adipisicing elit. Iure id dolor debitis deleniti eligendi natus dolorem a commodi sunt dicta? Ipsa asperiores magni consequuntur dolor voluptatibus. Maxime, nemo? Facere, odio.
|
|
1479
1259
|
|
|
1480
|
-
|
|
1481
|
-
|------|-------------|
|
|
1482
|
-
| (default) | Free-form content (header, main, footer, or direct markup) |
|
|
1483
|
-
|
|
1484
|
-
sonic-card-header
|
|
1485
|
-
|
|
1486
|
-
| Attribute | Values | Description |
|
|
1487
|
-
|----------|---------|-------------|
|
|
1488
|
-
| label | HTML | Title (rendered as markup) |
|
|
1489
|
-
| description | HTML | Subtitle below the title |
|
|
1490
|
-
|
|
1491
|
-
| Slot | Description |
|
|
1492
|
-
|------|-------------|
|
|
1493
|
-
| (default) | Custom title / description when attributes are not enough |
|
|
1494
|
-
| suffix | Actions or badges aligned on the right (does not shrink) |
|
|
1495
|
-
|
|
1496
|
-
sonic-card-header-description
|
|
1497
|
-
|
|
1498
|
-
| Slot | Description |
|
|
1499
|
-
|------|-------------|
|
|
1500
|
-
| (default) | Subtitle text; styled below the title when slotted in sonic-card-header |
|
|
1501
|
-
|
|
1502
|
-
sonic-card-main · sonic-card-footer
|
|
1503
|
-
|
|
1504
|
-
| Slot | Description |
|
|
1505
|
-
|------|-------------|
|
|
1506
|
-
| (default) | Primary content (main) or actions / metadata (footer) |
|
|
1260
|
+
Footer - Amet consectetur adipisicing
|
|
1507
1261
|
|
|
1508
1262
|
---
|
|
1509
1263
|
|
|
@@ -1511,72 +1265,19 @@ sonic-card-main · sonic-card-footer
|
|
|
1511
1265
|
|
|
1512
1266
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/divider/divider.html
|
|
1513
1267
|
- Doc ID: core/components/ui/divider/divider
|
|
1514
|
-
- Keywords: Concorde, supersoniks, core/components/ui/divider/divider, divider, Divider, UI component, sonic-divider, web component
|
|
1268
|
+
- Keywords: Concorde, supersoniks, core/components/ui/divider/divider, divider, Divider, UI component, sonic-divider, web component
|
|
1515
1269
|
|
|
1516
1270
|
Divider
|
|
1517
1271
|
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
Basic example
|
|
1272
|
+
Default
|
|
1521
1273
|
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
Label and align
|
|
1525
|
-
|
|
1526
|
-
label renders inside the line (HTML via the same pipeline as other form labels). align controls which side(s) of the line remain visible: left drops the leading segment, right drops the trailing segment, center keeps both.
|
|
1274
|
+
Align
|
|
1527
1275
|
|
|
1528
1276
|
Size
|
|
1529
1277
|
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
Line style
|
|
1533
|
-
|
|
1534
|
-
lineStyle sets the stroke of the rule (solid · dashed · dotted). In HTML use the reflected attribute linestyle (case-insensitive).
|
|
1535
|
-
|
|
1536
|
-
Vertical and margin
|
|
1537
|
-
|
|
1538
|
-
Set vertical for a column rule (for example between toolbar actions). noMargin removes host margin when a parent layout already provides spacing.
|
|
1539
|
-
|
|
1540
|
-
Before
|
|
1541
|
-
|
|
1542
|
-
After
|
|
1543
|
-
|
|
1544
|
-
Default slot
|
|
1545
|
-
|
|
1546
|
-
Slotted content replaces or augments label. Useful for badges, icons, or mixed markup in menus.
|
|
1547
|
-
|
|
1548
|
-
Section title
|
|
1549
|
-
+25
|
|
1550
|
-
|
|
1551
|
-
Inside typed cards
|
|
1552
|
-
|
|
1553
|
-
On sonic-card with semantic type (primary · warning · danger · info · success), the rule uses the card’s text color at reduced opacity so it stays visible on tinted surfaces. label and slotted captions use the same foreground color as surrounding copy.
|
|
1554
|
-
|
|
1555
|
-
This action cannot be undone.
|
|
1556
|
-
|
|
1557
|
-
Project files
|
|
1558
|
-
Shared links
|
|
1559
|
-
|
|
1560
|
-
Maintenance is scheduled for tonight.
|
|
1561
|
-
|
|
1562
|
-
Expected downtime: about 15 minutes.
|
|
1278
|
+
Custom
|
|
1563
1279
|
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
| Attribute | Values | Description |
|
|
1567
|
-
|----------|---------|-------------|
|
|
1568
|
-
| label | string (HTML) | Caption centered on the rule; combined with default-slot content when both are set |
|
|
1569
|
-
| align | left · center · right (default center) | Hides the leading or trailing line segment for left/right alignment |
|
|
1570
|
-
| size | 2xs · xs · sm · md · lg · xl · 2xl · inherit | Vertical margin and label font-size; omit for host defaults |
|
|
1571
|
-
| lineStyle | solid · dashed · dotted (default solid) | Stroke style of the rule (HTML attribute linestyle) |
|
|
1572
|
-
| vertical | boolean | Renders a vertical rule; swap block/inline margins |
|
|
1573
|
-
| noMargin | boolean | Sets host margin to 0 |
|
|
1574
|
-
|
|
1575
|
-
| Slot | Description |
|
|
1576
|
-
|------|-------------|
|
|
1577
|
-
| (default) | Label markup when label is insufficient or empty |
|
|
1578
|
-
|
|
1579
|
-
The inner flex container exposes part="divider" for theme overrides.
|
|
1280
|
+
Lorem ipsum dolor sit amet +25
|
|
1580
1281
|
|
|
1581
1282
|
---
|
|
1582
1283
|
|
|
@@ -1635,212 +1336,98 @@ Checked blacklistFlags values are sent to the mock API (?blacklistFlags=racist,s
|
|
|
1635
1336
|
|
|
1636
1337
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/form/fieldset/fieldset.html
|
|
1637
1338
|
- Doc ID: core/components/ui/form/fieldset/fieldset
|
|
1638
|
-
- Keywords: Concorde, supersoniks, core/components/ui/form/fieldset/fieldset, fieldset, Fieldset, UI component, form, sonic-fieldset, web component
|
|
1339
|
+
- Keywords: Concorde, supersoniks, core/components/ui/form/fieldset/fieldset, fieldset, Fieldset, UI component, form, sonic-fieldset, web component
|
|
1639
1340
|
|
|
1640
1341
|
Fieldset
|
|
1641
1342
|
|
|
1642
|
-
sonic-fieldset groups related form controls with a bordered container and an accessible semantics layer. Put fields in the default slot; add a title with sonic-legend or the shorthand label / description / iconName attributes. Default variant is default. Pair the body with sonic-form-layout for responsive columns.
|
|
1643
|
-
|
|
1644
|
-
Basic example
|
|
1645
|
-
|
|
1646
1343
|
Variant
|
|
1647
1344
|
|
|
1648
|
-
|
|
1345
|
+
Default
|
|
1649
1346
|
|
|
1650
|
-
|
|
1347
|
+
Ghost
|
|
1651
1348
|
|
|
1652
|
-
|
|
1349
|
+
Shadow
|
|
1653
1350
|
|
|
1654
1351
|
Legend
|
|
1655
1352
|
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
Attribute values on sonic-legend are rendered as HTML—use only trusted content.
|
|
1659
|
-
|
|
1660
|
-
Custom title in the default slot
|
|
1661
|
-
Description via sonic-legend-description
|
|
1662
|
-
|
|
1663
|
-
Shorthand legend on the fieldset
|
|
1664
|
-
|
|
1665
|
-
When label is set on sonic-fieldset, the component renders sonic-legend for you. Pass description iconName iconLibrary and iconPrefix the same way. Do not combine shorthand label with a separate slotted sonic-legend—you will get two legends.
|
|
1666
|
-
|
|
1667
|
-
Legend actions
|
|
1668
|
-
|
|
1669
|
-
Use slot="suffix" on sonic-legend for menus or icon buttons aligned to the end of the legend row.
|
|
1670
|
-
|
|
1671
|
-
Legal notice
|
|
1672
|
-
Terms of use
|
|
1673
|
-
|
|
1674
|
-
Form association and disabled state
|
|
1675
|
-
|
|
1676
|
-
Associating a distant form
|
|
1677
|
-
|
|
1678
|
-
Set form on sonic-fieldset to the id of a elsewhere in the page (same as the native form attribute on ). Named fields in the fieldset then belong to that form for submit and constraint validation—for example a toolbar form and a field group rendered lower on the layout.
|
|
1679
|
-
|
|
1680
|
-
Save billing
|
|
1681
|
-
|
|
1682
|
-
Disabling a group
|
|
1683
|
-
|
|
1684
|
-
Set disabled on sonic-fieldset to disable the inner and every control in the group (same as a native fieldset). Use it for read-only steps or sections gated by permissions.
|
|
1353
|
+
Custom legend via slot
|
|
1685
1354
|
|
|
1686
|
-
|
|
1355
|
+
Description via composant : sonic-legend-description
|
|
1687
1356
|
|
|
1688
|
-
|
|
1357
|
+
Short hand
|
|
1689
1358
|
|
|
1690
|
-
|
|
1359
|
+
Example of use
|
|
1691
1360
|
|
|
1692
|
-
|
|
1361
|
+
Informations personnelles
|
|
1362
|
+
Description du fieldset lorem ipsum dolor
|
|
1693
1363
|
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
| variant | default · ghost · shadow (default default) | Border and shadow treatment |
|
|
1697
|
-
| tight | boolean | Removes horizontal padding and side borders |
|
|
1698
|
-
| label | string | Shorthand legend title; renders sonic-legend when set |
|
|
1699
|
-
| description | string | Shorthand legend description (HTML) |
|
|
1700
|
-
| iconName | string | Shorthand legend icon name |
|
|
1701
|
-
| iconLibrary | string | Shorthand legend icon library |
|
|
1702
|
-
| iconPrefix | string | Shorthand legend icon prefix |
|
|
1703
|
-
| disabled | boolean | Disables the native and its controls |
|
|
1704
|
-
| form | string | id of an associated form |
|
|
1705
|
-
| dataProvider | string | Subscriber key; can autofill properties that match publisher fields (e.g. label) |
|
|
1364
|
+
Mentions légales
|
|
1365
|
+
Conditions générales d'utilisation
|
|
1706
1366
|
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1367
|
+
- Sélectionner -
|
|
1368
|
+
Je préfère ne pas le dire
|
|
1369
|
+
Homme
|
|
1370
|
+
Femme
|
|
1710
1371
|
|
|
1711
|
-
|
|
1372
|
+
Coordonnées
|
|
1712
1373
|
|
|
1713
|
-
|
|
1714
|
-
|----------|---------|-------------|
|
|
1715
|
-
| label | string | Title HTML when not using the default slot |
|
|
1716
|
-
| description | string | Description HTML (wrapped in sonic-legend-description) |
|
|
1717
|
-
| iconName | string | Leading sonic-icon name |
|
|
1718
|
-
| iconLibrary | string | Icon library |
|
|
1719
|
-
| iconPrefix | string | Icon prefix |
|
|
1720
|
-
| forceAutoFill | boolean | Allows Subscriber autofill to override attribute-backed label / description |
|
|
1374
|
+
S'inscrire
|
|
1721
1375
|
|
|
1722
|
-
|
|
1723
|
-
|------|-------------|
|
|
1724
|
-
| (default) | Legend title and description components |
|
|
1725
|
-
| suffix | Trailing actions (menus, icon buttons) |
|
|
1376
|
+
Continuer sans m'inscrire
|
|
1726
1377
|
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
Muted description line below the legend title. No attributes—project content through the default slot.
|
|
1378
|
+
Submitted informations...
|
|
1730
1379
|
|
|
1731
1380
|
---
|
|
1732
1381
|
|
|
1733
|
-
## Form
|
|
1382
|
+
## Form-actions
|
|
1734
1383
|
|
|
1735
1384
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/form/form-actions/form-actions.html
|
|
1736
1385
|
- Doc ID: core/components/ui/form/form-actions/form-actions
|
|
1737
|
-
- Keywords: Concorde, supersoniks, core/components/ui/form/form-actions/form-actions, form-actions, Form
|
|
1738
|
-
|
|
1739
|
-
Form actions
|
|
1740
|
-
|
|
1741
|
-
sonic-form-actions lays out submit / cancel and other form footer controls in a wrapping flex row with a small fixed gap. Place it inside sonic-form-layout (full-width row) or any block that should end with actions. Defaults: direction row · justify flex-start · alignItems center.
|
|
1742
|
-
|
|
1743
|
-
Basic example
|
|
1744
|
-
|
|
1745
|
-
With no attributes, actions align to the start of the row (typical for left-to-right forms).
|
|
1746
|
-
|
|
1747
|
-
Submit
|
|
1748
|
-
Cancel
|
|
1749
|
-
|
|
1750
|
-
Justify content
|
|
1751
|
-
|
|
1752
|
-
justify maps to CSS justify-content. Use flex-end for dialog-style footers or center for balanced toolbars.
|
|
1753
|
-
|
|
1754
|
-
Submit
|
|
1755
|
-
Cancel
|
|
1386
|
+
- Keywords: Concorde, supersoniks, core/components/ui/form/form-actions/form-actions, form-actions, Form-actions, UI component, form, sonic-form-actions, web component
|
|
1756
1387
|
|
|
1757
|
-
|
|
1388
|
+
Form-actions
|
|
1758
1389
|
|
|
1759
|
-
|
|
1390
|
+
Left by default
|
|
1760
1391
|
|
|
1761
|
-
|
|
1762
|
-
|
|
1392
|
+
Submit
|
|
1393
|
+
Cancel
|
|
1763
1394
|
|
|
1764
|
-
|
|
1395
|
+
Justify
|
|
1765
1396
|
|
|
1766
|
-
|
|
1397
|
+
Submit
|
|
1398
|
+
Cancel
|
|
1767
1399
|
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
Right seats
|
|
1400
|
+
Direction
|
|
1771
1401
|
|
|
1772
|
-
|
|
1402
|
+
Submit
|
|
1403
|
+
Cancel
|
|
1773
1404
|
|
|
1774
|
-
|
|
1775
|
-
|----------|---------|-------------|
|
|
1776
|
-
| direction | row (default) · column · row-reverse · column-reverse | Main-axis layout of slotted controls |
|
|
1777
|
-
| justify | CSS justify-content (default flex-start) | Distribution along the main axis |
|
|
1778
|
-
| alignItems | CSS align-items (default center) | Cross-axis alignment when items differ in height |
|
|
1405
|
+
Center
|
|
1779
1406
|
|
|
1780
|
-
|
|
1407
|
+
Left seats
|
|
1781
1408
|
|
|
1782
|
-
|
|
1783
|
-
|------|-------------|
|
|
1784
|
-
| (default) | Footer actions (sonic-button and related controls) |
|
|
1409
|
+
Right seats
|
|
1785
1410
|
|
|
1786
1411
|
---
|
|
1787
1412
|
|
|
1788
|
-
## Form
|
|
1413
|
+
## Form-layout
|
|
1789
1414
|
|
|
1790
1415
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/form/form-layout/form-layout.html
|
|
1791
1416
|
- Doc ID: core/components/ui/form/form-layout/form-layout
|
|
1792
|
-
- Keywords: Concorde, supersoniks, core/components/ui/form/form-layout/form-layout, form-layout, Form
|
|
1793
|
-
|
|
1794
|
-
Form layout
|
|
1795
|
-
|
|
1796
|
-
sonic-form-layout arranges slotted form controls in a responsive CSS grid with consistent vertical spacing. Pair sonic-input · sonic-select and sonic-input-autocomplete fields side by side when the host is wider than 440px; textareas, toggles, dividers, and sonic-form-actions span the full width. Wrap a form or sonic-fieldset body—no attributes are required.
|
|
1797
|
-
|
|
1798
|
-
Basic example
|
|
1799
|
-
|
|
1800
|
-
Typical registration-style form: short fields flow in two columns on wide layouts; long or grouped blocks stay full width.
|
|
1801
|
-
|
|
1802
|
-
— Select —
|
|
1803
|
-
Prefer not to say
|
|
1804
|
-
Male
|
|
1805
|
-
Female
|
|
1806
|
-
|
|
1807
|
-
Enable optional feature
|
|
1808
|
-
Subscribe to newsletter
|
|
1417
|
+
- Keywords: Concorde, supersoniks, core/components/ui/form/form-layout/form-layout, form-layout, Form-layout, UI component, form, sonic-form-layout, web component
|
|
1809
1418
|
|
|
1810
|
-
|
|
1811
|
-
terms and conditions
|
|
1419
|
+
Form-layout
|
|
1812
1420
|
|
|
1813
|
-
|
|
1421
|
+
- Sélectionner -
|
|
1422
|
+
Je préfère ne pas le dire
|
|
1423
|
+
Homme
|
|
1424
|
+
Femme
|
|
1814
1425
|
|
|
1815
|
-
|
|
1426
|
+
Activer une superbe option
|
|
1427
|
+
Inscription à la newsletter
|
|
1428
|
+
J'ai lu et accepte les Conditions générales de ventes
|
|
1816
1429
|
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
If the slot contains exactly one direct sonic-input, sonic-select, or sonic-input-autocomplete, the layout stays one column even above the breakpoint so a lone field does not sit in half an empty row.
|
|
1820
|
-
|
|
1821
|
-
Narrow host (single column)
|
|
1822
|
-
|
|
1823
|
-
Wide host (two columns for inputs)
|
|
1824
|
-
|
|
1825
|
-
Full-width slotted blocks
|
|
1826
|
-
|
|
1827
|
-
Everything except sonic-input, sonic-select, sonic-input-autocomplete, and slotted elements with class form-item-container is assigned grid-column: 1 / -1. Use this for sonic-textarea, sonic-checkbox, sonic-switch, sonic-form-actions, sonic-divider, and similar blocks.
|
|
1828
|
-
|
|
1829
|
-
Slotted sonic-divider sets --sc-divider-my: 0 so divider spacing matches the grid rhythm. Slotted sonic-submit uses display: contents so submit controls participate in the grid without an extra wrapper box.
|
|
1830
|
-
|
|
1831
|
-
Send
|
|
1832
|
-
|
|
1833
|
-
Custom column wrapper
|
|
1834
|
-
|
|
1835
|
-
Add class form-item-container on a slotted wrapper (for example a div) when a field is not a direct sonic-input / sonic-select / sonic-input-autocomplete but should still share the two-column flow with short inputs.
|
|
1836
|
-
|
|
1837
|
-
API reference
|
|
1838
|
-
|
|
1839
|
-
No public attributes — layout follows slotted children and host width.
|
|
1840
|
-
|
|
1841
|
-
| Slot | Description |
|
|
1842
|
-
|------|-------------|
|
|
1843
|
-
| (default) | Form fields and blocks in visual order; column vs full-width rules apply per slotted tag or form-item-container class |
|
|
1430
|
+
Valider
|
|
1844
1431
|
|
|
1845
1432
|
---
|
|
1846
1433
|
|
|
@@ -1882,7 +1469,7 @@ data-keyboard-nav sur le champ et les items (flèches haut / bas).
|
|
|
1882
1469
|
|
|
1883
1470
|
Input
|
|
1884
1471
|
|
|
1885
|
-
Native
|
|
1472
|
+
Native attibutes list
|
|
1886
1473
|
|
|
1887
1474
|
Label
|
|
1888
1475
|
|
|
@@ -2053,7 +1640,7 @@ Same mock filter as Checkbox; switches can enable several flags (comma-separated
|
|
|
2053
1640
|
|
|
2054
1641
|
Textarea
|
|
2055
1642
|
|
|
2056
|
-
Native
|
|
1643
|
+
Native attibutes list
|
|
2057
1644
|
|
|
2058
1645
|
Label
|
|
2059
1646
|
|
|
@@ -2075,91 +1662,47 @@ Size
|
|
|
2075
1662
|
|
|
2076
1663
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/group/group.html
|
|
2077
1664
|
- Doc ID: core/components/ui/group/group
|
|
2078
|
-
- Keywords: Concorde, supersoniks, core/components/ui/group/group, group, Group, UI component, sonic-group, web component
|
|
1665
|
+
- Keywords: Concorde, supersoniks, core/components/ui/group/group, group, Group, UI component, sonic-group, web component
|
|
2079
1666
|
|
|
2080
1667
|
Group
|
|
2081
1668
|
|
|
2082
|
-
sonic-group lays out slotted sonic-button · sonic-input and sonic-select controls in a single horizontal row with shared corner radius (first / middle / last items). Optional label and description follow form field styling. Use it for button groups, radio rows, or input + action toolbars.
|
|
2083
|
-
|
|
2084
1669
|
Radio group
|
|
2085
1670
|
|
|
2086
|
-
Pair with sonic-button radio and a shared name; ancestor formDataProvider stores the selected value.
|
|
2087
|
-
|
|
2088
1671
|
😎 Standard
|
|
2089
1672
|
⭐ Premium
|
|
2090
1673
|
💎 Diamond
|
|
2091
1674
|
|
|
2092
1675
|
Button group
|
|
2093
1676
|
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
🗼 Air France
|
|
1677
|
+
🗼Air France
|
|
2097
1678
|
🌴 Air Tahiti
|
|
2098
1679
|
💣 Air Corsica
|
|
2099
1680
|
|
|
2100
1681
|
Input actions prefix
|
|
2101
1682
|
|
|
2102
|
-
Action control before the field. label or description on sonic-group annotate the row.
|
|
2103
|
-
|
|
2104
1683
|
Input actions suffix
|
|
2105
1684
|
|
|
2106
|
-
Field first, action after (submit, validate, etc.).
|
|
2107
|
-
|
|
2108
|
-
API reference
|
|
2109
|
-
|
|
2110
|
-
| Attribute | Values | Description |
|
|
2111
|
-
|----------|---------|-------------|
|
|
2112
|
-
| label | string (HTML) | Label above the row; slot="label" overrides / extends |
|
|
2113
|
-
| description | string (HTML) | Help text below the row; slot="description" overrides / extends |
|
|
2114
|
-
| alignItems | CSS align-items (default center) | Cross-axis alignment of the main flex row |
|
|
2115
|
-
|
|
2116
|
-
| Slot | Description |
|
|
2117
|
-
|------|-------------|
|
|
2118
|
-
| (default) | sonic-button · sonic-input · sonic-select in visual order |
|
|
2119
|
-
| label | Custom label markup |
|
|
2120
|
-
| description | Custom description markup |
|
|
2121
|
-
|
|
2122
1685
|
---
|
|
2123
1686
|
|
|
2124
1687
|
## Icon
|
|
2125
1688
|
|
|
2126
1689
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/icon/icon.html
|
|
2127
1690
|
- Doc ID: core/components/ui/icon/icon
|
|
2128
|
-
- Keywords: Concorde, supersoniks, core/components/ui/icon/icon, icon, Icon, UI component, sonic-icon, web component
|
|
1691
|
+
- Keywords: Concorde, supersoniks, core/components/ui/icon/icon, icon, Icon, UI component, sonic-icon, web component
|
|
2129
1692
|
|
|
2130
1693
|
Icon
|
|
2131
1694
|
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
Core library
|
|
2135
|
-
|
|
2136
|
-
Omit library to use the bundled set in icons.json. Available name values: cancel · check · check-circled-outline · emoji-puzzled · info-empty · loader · minus-small · more-horiz · more-vert · nav-arrow-down · warning-circled-outline.
|
|
2137
|
-
|
|
2138
|
-
cancel
|
|
2139
|
-
|
|
2140
|
-
check
|
|
2141
|
-
|
|
2142
|
-
check-circled-outline
|
|
2143
|
-
|
|
2144
|
-
emoji-puzzled
|
|
2145
|
-
|
|
2146
|
-
info-empty
|
|
2147
|
-
|
|
2148
|
-
loader
|
|
2149
|
-
|
|
2150
|
-
minus-small
|
|
1695
|
+
Custom
|
|
2151
1696
|
|
|
2152
|
-
|
|
1697
|
+
Icons located in the following folder : /svg/$prefix/$name.svg
|
|
2153
1698
|
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
nav-arrow-down
|
|
1699
|
+
regular
|
|
2157
1700
|
|
|
2158
|
-
|
|
1701
|
+
solid
|
|
2159
1702
|
|
|
2160
|
-
|
|
1703
|
+
default prefix
|
|
2161
1704
|
|
|
2162
|
-
|
|
1705
|
+
External
|
|
2163
1706
|
|
|
2164
1707
|
heroicons
|
|
2165
1708
|
|
|
@@ -2175,20 +1718,8 @@ Set library to load SVGs from a built-in CDN template. prefix falls back to each
|
|
|
2175
1718
|
|
|
2176
1719
|
lucide
|
|
2177
1720
|
|
|
2178
|
-
Custom library
|
|
2179
|
-
|
|
2180
|
-
Use library="custom" with SVG files on your origin. On an ancestor (for example sonic-scope or sonic-code), set customIconLibraryPath to a URL template with $prefix and $name placeholders, and optionally customIconDefaultPrefix when prefix is omitted.
|
|
2181
|
-
|
|
2182
|
-
regular
|
|
2183
|
-
|
|
2184
|
-
solid
|
|
2185
|
-
|
|
2186
|
-
default prefix
|
|
2187
|
-
|
|
2188
1721
|
Size
|
|
2189
1722
|
|
|
2190
|
-
Omit size for the default scale (1em height). Larger steps use 3xl.
|
|
2191
|
-
|
|
2192
1723
|
2xs
|
|
2193
1724
|
|
|
2194
1725
|
xs
|
|
@@ -2205,250 +1736,87 @@ Omit size for the default scale (1em height). Larger steps use 3xl.
|
|
|
2205
1736
|
|
|
2206
1737
|
3xl
|
|
2207
1738
|
|
|
2208
|
-
Accessibility
|
|
2209
|
-
|
|
2210
|
-
On connect, the host sets aria-hidden="true". Treat icons as decorative unless the surrounding control already has an accessible name. Do not rely on sonic-icon alone for meaning—use visible text or aria-label on the parent button / link.
|
|
2211
|
-
|
|
2212
|
-
API reference
|
|
2213
|
-
|
|
2214
|
-
| Attribute | Values | Description |
|
|
2215
|
-
|----------|---------|-------------|
|
|
2216
|
-
| name | string | Icon id in the core bundle or in the remote library |
|
|
2217
|
-
| library | heroicons · iconoir · feathers · lucide · material · fontAwesome · custom | CDN or custom template; omit for bundled core icons |
|
|
2218
|
-
| prefix | string | Library-specific variant; defaults per library when empty |
|
|
2219
|
-
| size | 2xs · xs · sm · lg · xl · 2xl · 3xl (default md) | em-based SVG scale on the host |
|
|
2220
|
-
|
|
2221
|
-
Ancestor attributes (for library="custom" only): customIconLibraryPath (URL template with $prefix and $name) and customIconDefaultPrefix. May be set on sonic-scope, theme roots, or globally in the document.
|
|
2222
|
-
|
|
2223
|
-
No slots — the component inlines fetched or bundled SVG markup.
|
|
2224
|
-
|
|
2225
1739
|
---
|
|
2226
1740
|
|
|
2227
1741
|
## Image
|
|
2228
1742
|
|
|
2229
1743
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/image/image.html
|
|
2230
1744
|
- Doc ID: core/components/ui/image/image
|
|
2231
|
-
- Keywords: Concorde, supersoniks, core/components/ui/image/image, image, Image, UI component, sonic-image, web component
|
|
1745
|
+
- Keywords: Concorde, supersoniks, core/components/ui/image/image, image, Image, UI component, sonic-image, web component
|
|
2232
1746
|
|
|
2233
1747
|
Image
|
|
2234
1748
|
|
|
2235
|
-
sonic-image wraps a responsive with aspect ratio, object-fit: cover, optional rounded corners, and load transitions. The host shows a placeholder background (--sc-placeholder-bg) until the asset loads. Default loading is lazy; use loading="eager" for above-the-fold heroes.
|
|
2236
|
-
|
|
2237
1749
|
Rounded
|
|
2238
1750
|
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
default
|
|
2242
|
-
|
|
2243
|
-
sm
|
|
2244
|
-
|
|
2245
|
-
rounded
|
|
2246
|
-
|
|
2247
|
-
md
|
|
2248
|
-
|
|
2249
|
-
lg
|
|
2250
|
-
|
|
2251
|
-
xl
|
|
2252
|
-
|
|
2253
|
-
full
|
|
2254
|
-
|
|
2255
|
-
Aspect ratio
|
|
2256
|
-
|
|
2257
|
-
ratio sets CSS aspect-ratio on the image (default auto). The image still fills the host width (width: 100%).
|
|
1751
|
+
Ratio
|
|
2258
1752
|
|
|
2259
1753
|
Object position
|
|
2260
1754
|
|
|
2261
|
-
objectPosition maps to CSS object-position (default center center). Useful on wide crops when the subject sits off-center.
|
|
2262
|
-
|
|
2263
1755
|
Cover
|
|
2264
1756
|
|
|
2265
|
-
cover stretches the image to fill a positioned parent (position: relative + fixed height or inset). Aspect ratio on the host is ignored while cover is set.
|
|
2266
|
-
|
|
2267
|
-
Load transition
|
|
2268
|
-
|
|
2269
|
-
Set transition to fade (default when the attribute is present) or fade-scale-out. The image stays at opacity: 0 until the browser fires load, then the loaded class runs the animation. Changing src on an existing element does not replay the effect — mount a new sonic-image when you need another entrance (galleries, infinite scroll).
|
|
2270
|
-
|
|
2271
|
-
Click Add image to append small thumbnails and replay the transition. Clear resets the row.
|
|
2272
|
-
|
|
2273
|
-
Add image (fade)
|
|
2274
|
-
|
|
2275
|
-
Add image (fade-scale-out)
|
|
2276
|
-
|
|
2277
|
-
Clear
|
|
2278
|
-
|
|
2279
|
-
Accessibility and parts
|
|
2280
|
-
|
|
2281
|
-
Always set meaningful alt text (empty string only for decorative images).
|
|
2282
|
-
|
|
2283
|
-
API reference
|
|
2284
|
-
|
|
2285
|
-
| Attribute | Values | Description |
|
|
2286
|
-
|----------|---------|-------------|
|
|
2287
|
-
| src | URL | Image URL passed to |
|
|
2288
|
-
| alt | string | Accessible description; use "" only for decorative images |
|
|
2289
|
-
| loading | lazy (default), eager | Native lazy loading |
|
|
2290
|
-
| ratio | CSS ratio, auto (default) | Host aspect-ratio on the image (ignored when cover is set) |
|
|
2291
|
-
| rounded | none (default), boolean, base, sm, md, lg, xl, full | Corner radius from theme tokens; full is a circle (often with ratio="1/1") |
|
|
2292
|
-
| objectPosition | CSS position | Maps to object-position (default center center) |
|
|
2293
|
-
| imageRendering | CSS value | Maps to image-rendering (default auto) |
|
|
2294
|
-
| cover | boolean | Absolutely fills a positioned parent; host aspect ratio is ignored |
|
|
2295
|
-
| transition | fade, fade-scale-out | Opacity (and scale) animation after load; remount to replay on src change |
|
|
2296
|
-
|
|
2297
|
-
No slots — content is driven entirely by attributes on the inner .
|
|
2298
|
-
|
|
2299
|
-
API reference
|
|
2300
|
-
|
|
2301
|
-
| Attribute | Values | Description |
|
|
2302
|
-
|----------|---------|-------------|
|
|
2303
|
-
| src | URL | Image URL passed to |
|
|
2304
|
-
| alt | string | Accessible description; use "" only for decorative images |
|
|
2305
|
-
| loading | lazy (default), eager | Native lazy loading |
|
|
2306
|
-
| ratio | CSS ratio, auto (default) | Host aspect-ratio on the image (ignored when cover is set) |
|
|
2307
|
-
| rounded | none (default), boolean, base, sm, md, lg, xl, full | Corner radius from theme tokens; full is a circle (often with ratio="1/1") |
|
|
2308
|
-
| objectPosition | CSS position | Maps to object-position (default center center) |
|
|
2309
|
-
| imageRendering | CSS value | Maps to image-rendering (default auto) |
|
|
2310
|
-
| cover | boolean | Absolutely fills a positioned parent; host aspect ratio is ignored |
|
|
2311
|
-
| transition | fade, fade-scale-out | Opacity (and scale) animation after load; remount to replay on src change |
|
|
2312
|
-
|
|
2313
|
-
No slots — content is driven entirely by attributes on the inner .
|
|
2314
|
-
|
|
2315
1757
|
---
|
|
2316
1758
|
|
|
2317
1759
|
## Link
|
|
2318
1760
|
|
|
2319
1761
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/link/link.html
|
|
2320
1762
|
- Doc ID: core/components/ui/link/link
|
|
2321
|
-
- Keywords: Concorde, supersoniks, core/components/ui/link/link, link, Link, UI component, sonic-link, web component
|
|
1763
|
+
- Keywords: Concorde, supersoniks, core/components/ui/link/link, link, Link, UI component, sonic-link, web component
|
|
2322
1764
|
|
|
2323
1765
|
Link
|
|
2324
1766
|
|
|
2325
|
-
|
|
1767
|
+
Href
|
|
2326
1768
|
|
|
2327
|
-
Basic
|
|
2328
|
-
|
|
2329
|
-
Basic link with href attribute
|
|
1769
|
+
Basic link with href attibute
|
|
2330
1770
|
|
|
2331
1771
|
Target
|
|
2332
1772
|
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
Link with target attribute
|
|
2336
|
-
|
|
2337
|
-
Pushstate
|
|
2338
|
-
|
|
2339
|
-
Set pushstate on same-origin href values to intercept clicks and navigate through Concorde’s client router without a full reload.
|
|
2340
|
-
|
|
2341
|
-
Client navigation (pushstate)
|
|
1773
|
+
Link with target attibute
|
|
2342
1774
|
|
|
2343
1775
|
AutoActive
|
|
2344
1776
|
|
|
2345
|
-
Default autoActive is partial: the host gets active when the current URL starts with href. Style with [&[active]]: utilities or host selectors.
|
|
2346
|
-
|
|
2347
1777
|
autoActive partial (default)
|
|
2348
1778
|
|
|
2349
|
-
AutoActive
|
|
2350
|
-
|
|
2351
|
-
strict requires pathname, search, and hash to match. strict-path-only matches pathname and hash but ignores search.
|
|
1779
|
+
AutoActive Strict vs partial
|
|
2352
1780
|
|
|
2353
1781
|
autoActive strict
|
|
2354
|
-
autoActive strict
|
|
2355
|
-
autoActive strict-path-only
|
|
1782
|
+
autoActive strict
|
|
2356
1783
|
|
|
2357
1784
|
AutoActive disabled
|
|
2358
1785
|
|
|
2359
1786
|
autoActive disabled
|
|
2360
1787
|
|
|
2361
|
-
Accessibility
|
|
2362
|
-
|
|
2363
|
-
The inner uses focus-visible outline styling. Set data-aria-label when the slot text is not sufficient on its own.
|
|
2364
|
-
|
|
2365
|
-
API reference
|
|
2366
|
-
|
|
2367
|
-
| Attribute | Values | Description |
|
|
2368
|
-
|----------|---------|-------------|
|
|
2369
|
-
| href | URL | Link target; without href, only the slot is rendered (no ) |
|
|
2370
|
-
| target | e.g. blank | Navigation target; blank adds rel="noopener noreferrer" |
|
|
2371
|
-
| pushstate | boolean | Intercepts click for Concorde client navigation without reload |
|
|
2372
|
-
| autoActive | partial (default) · strict · strict-path-only · disabled | When the host gets the active attribute (same-origin href only) |
|
|
2373
|
-
| data-aria-label | string | Accessible aria-label when the slot text is not enough |
|
|
2374
|
-
|
|
2375
|
-
| Slot | Description |
|
|
2376
|
-
|------|-------------|
|
|
2377
|
-
| (default) | Link content (text, icons) |
|
|
2378
|
-
|
|
2379
1788
|
---
|
|
2380
1789
|
|
|
2381
1790
|
## Loader
|
|
2382
1791
|
|
|
2383
|
-
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/loader/loader.html
|
|
2384
|
-
- Doc ID: core/components/ui/loader/loader
|
|
2385
|
-
- Keywords: Concorde, supersoniks, core/components/ui/loader/loader, loader, Loader, UI component, sonic-loader, web component
|
|
2386
|
-
|
|
2387
|
-
Loader
|
|
2388
|
-
|
|
2389
|
-
sonic-loader shows a loading animation in the page or as a viewport overlay. Default mode is fixed (centered overlay). Use inline inside lists and fetch placeholders. Pair noDelay when the spinner should appear without the default fade-in wait. For sonic-fetch / sonic-list, set the parent loader attribute instead of embedding a tag manually.
|
|
2390
|
-
|
|
2391
|
-
Basic example
|
|
2392
|
-
|
|
2393
|
-
Inline loaders fit content areas; they use the theme primary color unless currentColor is set.
|
|
2394
|
-
|
|
2395
|
-
Mode
|
|
2396
|
-
|
|
2397
|
-
inline — ellipsis animation in the document flow. fixed — centered overlay (position: fixed); default when the tag is omitted.
|
|
2398
|
-
|
|
2399
|
-
Use the checkbox below to toggle a fixed loader over the page (default mode on sonic-loader).
|
|
2400
|
-
|
|
2401
|
-
Inline alignment and color
|
|
2402
|
-
|
|
2403
|
-
align only affects mode="inline": left · center (default) · right. Set currentColor so dots follow the host color (for example on a purple parent).
|
|
2404
|
-
|
|
2405
|
-
noDelay
|
|
2406
|
-
|
|
2407
|
-
By default mode="fixed" waits briefly before fading in. mode="inline" already skips that wait. Set noDelay on fixed (or pass noDelay: true to Loader.show()) to appear immediately.
|
|
2408
|
-
|
|
2409
|
-
Accessibility (announce)
|
|
2410
|
-
|
|
2411
|
-
The animation is aria-hidden by default so screen readers are not spammed on every fetch. Set announce when the loader is injected after user action (for example a global overlay): the host gets role="status", aria-live="polite", and a localized aria-label (“Loading” / “Chargement en cours”, …). For in-button loading, prefer sonic-button loading and aria-busy on the control—not on the loader.
|
|
2412
|
-
|
|
2413
|
-
Show and hide programmatically
|
|
2414
|
-
|
|
2415
|
-
Import Loader and call Loader.show() / Loader.hide(). hide() is reference-counted: call it once per show(). With no container, the loader is appended to the theme pop container and mode is always fixed. Pass container and mode: "inline" to mount an inline instance in a specific element.
|
|
2416
|
-
|
|
2417
|
-
import { Loader } from "@supersoniks/concorde/core/components/ui/loader/loader";
|
|
2418
|
-
|
|
2419
|
-
Loader.show({
|
|
2420
|
-
mode: "fixed",
|
|
2421
|
-
noDelay: false,
|
|
2422
|
-
announce: true,
|
|
2423
|
-
container: document.querySelector("#foo"),
|
|
2424
|
-
});
|
|
1792
|
+
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/loader/loader.html
|
|
1793
|
+
- Doc ID: core/components/ui/loader/loader
|
|
1794
|
+
- Keywords: Concorde, supersoniks, core/components/ui/loader/loader, loader, Loader, UI component, sonic-loader, web component
|
|
2425
1795
|
|
|
2426
|
-
Loader
|
|
1796
|
+
Loader
|
|
2427
1797
|
|
|
2428
|
-
|
|
1798
|
+
Inline mode
|
|
2429
1799
|
|
|
2430
|
-
|
|
1800
|
+
CurrentColor
|
|
2431
1801
|
|
|
2432
|
-
|
|
1802
|
+
Align
|
|
2433
1803
|
|
|
2434
|
-
|
|
1804
|
+
Fixed mode
|
|
2435
1805
|
|
|
2436
|
-
|
|
2437
|
-
|----------|---------|-------------|
|
|
2438
|
-
| mode | inline · fixed (default fixed) | Layout: in-flow ellipsis vs viewport-centered overlay |
|
|
2439
|
-
| noDelay | boolean | Skips the initial fade-in delay before the animation appears |
|
|
2440
|
-
| announce | boolean | role="status" and aria-live="polite" with localized loading label when the loader should be announced |
|
|
2441
|
-
| align | left · center · right | Horizontal alignment for mode="inline" only (attribute selector; default centered) |
|
|
2442
|
-
| currentColor | boolean | Uses currentColor for dot fill instead of --sc-primary |
|
|
1806
|
+
Loading button
|
|
2443
1807
|
|
|
2444
|
-
|
|
1808
|
+
A loading button
|
|
2445
1809
|
|
|
2446
|
-
|
|
1810
|
+
Hide / show programmatically
|
|
2447
1811
|
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
1812
|
+
import {Loader} from "@supersoniks/concorde/core/components/ui/loader/loader";
|
|
1813
|
+
// Show
|
|
1814
|
+
Loader.show({
|
|
1815
|
+
mode:"fixed" // optional : fixed | inline
|
|
1816
|
+
container : document.querySelector('#foo') // optional, default : parent sonic-theme || document.body
|
|
1817
|
+
});
|
|
1818
|
+
// Hide
|
|
1819
|
+
Loader.hide();
|
|
2452
1820
|
|
|
2453
1821
|
---
|
|
2454
1822
|
|
|
@@ -2456,24 +1824,12 @@ Static methods
|
|
|
2456
1824
|
|
|
2457
1825
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/menu/menu.html
|
|
2458
1826
|
- Doc ID: core/components/ui/menu/menu
|
|
2459
|
-
- Keywords: Concorde, supersoniks, core/components/ui/menu/menu, menu, Menu, UI component, sonic-menu, web component
|
|
1827
|
+
- Keywords: Concorde, supersoniks, core/components/ui/menu/menu, menu, Menu, UI component, sonic-menu, web component
|
|
2460
1828
|
|
|
2461
1829
|
Menu
|
|
2462
1830
|
|
|
2463
|
-
sonic-menu lays out navigation or actions as a direction row or column of sonic-menu-item entries (ghost variant and block shape by default), optional sonic-divider separators, and overflow content in the more slot (popover “…” trigger). Set href / pushstate / autoActive on each sonic-menu-item—same API as sonic-button—not on the menu host.
|
|
2464
|
-
|
|
2465
|
-
Basic example
|
|
2466
|
-
|
|
2467
|
-
Home
|
|
2468
|
-
|
|
2469
|
-
Profile
|
|
2470
|
-
|
|
2471
|
-
Log out
|
|
2472
|
-
|
|
2473
1831
|
Direction
|
|
2474
1832
|
|
|
2475
|
-
Default direction is column. Use row for horizontal toolbars or tabs.
|
|
2476
|
-
|
|
2477
1833
|
Row
|
|
2478
1834
|
|
|
2479
1835
|
Profile
|
|
@@ -2496,9 +1852,7 @@ Default direction is column. Use row for horizontal toolbars or tabs.
|
|
|
2496
1852
|
|
|
2497
1853
|
Size
|
|
2498
1854
|
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
XS
|
|
1855
|
+
XS
|
|
2502
1856
|
|
|
2503
1857
|
Profile
|
|
2504
1858
|
|
|
@@ -2506,7 +1860,7 @@ size on the menu propagates to items and the more trigger when they omit their o
|
|
|
2506
1860
|
|
|
2507
1861
|
Orders
|
|
2508
1862
|
|
|
2509
|
-
|
|
1863
|
+
Small
|
|
2510
1864
|
|
|
2511
1865
|
Profile
|
|
2512
1866
|
|
|
@@ -2514,7 +1868,7 @@ size on the menu propagates to items and the more trigger when they omit their o
|
|
|
2514
1868
|
|
|
2515
1869
|
Orders
|
|
2516
1870
|
|
|
2517
|
-
|
|
1871
|
+
Medium
|
|
2518
1872
|
|
|
2519
1873
|
Profile
|
|
2520
1874
|
|
|
@@ -2522,7 +1876,7 @@ size on the menu propagates to items and the more trigger when they omit their o
|
|
|
2522
1876
|
|
|
2523
1877
|
Orders
|
|
2524
1878
|
|
|
2525
|
-
|
|
1879
|
+
Large
|
|
2526
1880
|
|
|
2527
1881
|
Profile
|
|
2528
1882
|
|
|
@@ -2530,7 +1884,7 @@ size on the menu propagates to items and the more trigger when they omit their o
|
|
|
2530
1884
|
|
|
2531
1885
|
Orders
|
|
2532
1886
|
|
|
2533
|
-
|
|
1887
|
+
XL
|
|
2534
1888
|
|
|
2535
1889
|
Profile
|
|
2536
1890
|
|
|
@@ -2540,36 +1894,30 @@ size on the menu propagates to items and the more trigger when they omit their o
|
|
|
2540
1894
|
|
|
2541
1895
|
Shadow
|
|
2542
1896
|
|
|
2543
|
-
|
|
1897
|
+
None
|
|
2544
1898
|
|
|
2545
|
-
|
|
1899
|
+
Small
|
|
2546
1900
|
|
|
2547
|
-
|
|
1901
|
+
Medium
|
|
2548
1902
|
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
Large
|
|
1903
|
+
Large
|
|
2552
1904
|
|
|
2553
1905
|
Align
|
|
2554
1906
|
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
Home
|
|
1907
|
+
Home
|
|
2558
1908
|
|
|
2559
|
-
|
|
1909
|
+
Profile
|
|
2560
1910
|
|
|
2561
|
-
|
|
1911
|
+
Home
|
|
2562
1912
|
|
|
2563
|
-
|
|
1913
|
+
Profile
|
|
2564
1914
|
|
|
2565
|
-
|
|
1915
|
+
Home
|
|
2566
1916
|
|
|
2567
|
-
|
|
1917
|
+
Profile
|
|
2568
1918
|
|
|
2569
1919
|
More
|
|
2570
1920
|
|
|
2571
|
-
Assign nodes to slot="more" to show the overflow popover. The trigger appears only when the slot has content. Icon orientation follows direction (vertical ellipsis in a row menu).
|
|
2572
|
-
|
|
2573
1921
|
Home
|
|
2574
1922
|
|
|
2575
1923
|
Profile
|
|
@@ -2586,8 +1934,6 @@ Assign nodes to slot="more" to show the overflow popover. The trigger appears on
|
|
|
2586
1934
|
|
|
2587
1935
|
Scrollable
|
|
2588
1936
|
|
|
2589
|
-
With scrollable, the main slot scrolls with edge fade masks; drag-to-scroll works on pointer devices. When exactly one item is active, the menu scrolls it into view.
|
|
2590
|
-
|
|
2591
1937
|
Home
|
|
2592
1938
|
|
|
2593
1939
|
Profile
|
|
@@ -2622,189 +1968,74 @@ With scrollable, the main slot scrolls with edge fade masks; drag-to-scroll work
|
|
|
2622
1968
|
|
|
2623
1969
|
Log out
|
|
2624
1970
|
|
|
2625
|
-
API reference
|
|
2626
|
-
|
|
2627
|
-
| Attribute | Values | Description |
|
|
2628
|
-
|----------|---------|-------------|
|
|
2629
|
-
| direction | column (default) · row | Vertical list or horizontal bar |
|
|
2630
|
-
| align | left (default) · center · right | Alignment propagated to items (except square / circle shape) |
|
|
2631
|
-
| size | xs · sm · md · lg · xl | Propagated to items and the more trigger when unset on the item |
|
|
2632
|
-
| shadow | sm · md · lg | Shadow around the menu; omitted for none |
|
|
2633
|
-
| minWidth | CSS length | Minimum width of the container (default 0) |
|
|
2634
|
-
| scrollable | boolean | Scroll with edge fade; auto-scroll when a single item is active |
|
|
2635
|
-
| moreShape | circle (default) · square | Shape of the more slot trigger button |
|
|
2636
|
-
|
|
2637
|
-
| Slot | Description |
|
|
2638
|
-
|------|-------------|
|
|
2639
|
-
| (default) | Visible items: sonic-menu-item, sonic-divider, nested sonic-menu |
|
|
2640
|
-
| more | Popover content for the “…” control; shown only when the slot has assigned nodes |
|
|
2641
|
-
|
|
2642
|
-
sonic-menu-item extends sonic-button (defaults: variant="ghost", shape="block"). Use the button docs for type, variant, href, pushstate, autoActive, and item slots.
|
|
2643
|
-
|
|
2644
1971
|
---
|
|
2645
1972
|
|
|
2646
|
-
##
|
|
1973
|
+
## Concorde
|
|
2647
1974
|
|
|
2648
1975
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/modal/modal.html
|
|
2649
1976
|
- Doc ID: core/components/ui/modal/modal
|
|
2650
|
-
- Keywords: Concorde, supersoniks, core/components/ui/modal/modal, modal,
|
|
1977
|
+
- Keywords: Concorde, supersoniks, core/components/ui/modal/modal, modal, UI component, sonic-modal, web component
|
|
2651
1978
|
|
|
2652
1979
|
Modal
|
|
2653
1980
|
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
Basic example
|
|
2657
|
-
|
|
2658
|
-
Click the trigger to open. sonic-modal-actions lays out footer buttons; hideModal closes the modal on click. Scope form state with formDataProvider on sonic-modal-actions so child sonic-button elements share one publisher.
|
|
1981
|
+
Simple modal
|
|
2659
1982
|
|
|
2660
|
-
|
|
1983
|
+
Lorem ipsum dolor sit amet +33
|
|
1984
|
+
Donec sed vestibulum augue.
|
|
2661
1985
|
|
|
2662
|
-
|
|
2663
|
-
New
|
|
1986
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget quam eu mi luctus faucibus.
|
|
2664
1987
|
|
|
2665
|
-
|
|
1988
|
+
Click don't close
|
|
2666
1989
|
|
|
2667
|
-
|
|
1990
|
+
Confirm
|
|
2668
1991
|
|
|
2669
|
-
|
|
1992
|
+
Long text
|
|
2670
1993
|
|
|
2671
|
-
|
|
1994
|
+
Long text
|
|
2672
1995
|
|
|
2673
|
-
|
|
1996
|
+
Infos et tarifs
|
|
2674
1997
|
|
|
2675
|
-
|
|
1998
|
+
Horaires d’ouverture
|
|
1999
|
+
Du mercredi au samedi de 13h30 à 19h et le dimanche de 13h30 à 18h
|
|
2000
|
+
+ horaires spécifiques pour événements ou festivals
|
|
2676
2001
|
|
|
2677
|
-
|
|
2002
|
+
Billetterie
|
|
2003
|
+
La participation à certains événements et activités est soumise à un système de billetterie avec achats ou
|
|
2004
|
+
réservations disponibles en ligne ou au guichet.
|
|
2678
2005
|
|
|
2679
|
-
|
|
2006
|
+
Les tarifs (Tarif plein / Tarif Réduit / Tarif Spécifique) sont indiqués pour chaque événement et peuvent
|
|
2007
|
+
varier selon la nature de l’événement. Les tarifs sont identiques en ligne et au guichet. Il est néanmoins
|
|
2008
|
+
conseillé de réserver les billets en avance pour s’assurer une place.
|
|
2680
2009
|
|
|
2681
|
-
|
|
2682
|
-
|
|
2010
|
+
L’accès au Skatepark, Fablab et Halle C sont soumis à adhésions. Les adhésions sont gratuites et
|
|
2011
|
+
nominatives. Elle donnent accès aux espaces dans la limite des places disponibles.
|
|
2683
2012
|
|
|
2684
|
-
|
|
2685
|
-
Some events require online or box-office reservations. Prices vary by event; booking ahead is recommended when capacity is limited.
|
|
2013
|
+
+ d’infos billetterie@laconditionpublique.com +33 (0)328334833
|
|
2686
2014
|
|
|
2687
|
-
|
|
2688
|
-
|
|
2015
|
+
Accès 14, place Faidherbe 59100 Roubaix Métro / Tram : Arrêt
|
|
2016
|
+
Eurotéléport, Ligne 2 Bus / V’Lille : Arrêt Condition Publique
|
|
2689
2017
|
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
Metro line 2, Eurotéléport stop
|
|
2018
|
+
Accès handicapés : nous contacter avant votre venue au 03 28 33 48 33 ou par mail
|
|
2019
|
+
billetterie@laconditionpublique.com
|
|
2693
2020
|
|
|
2694
2021
|
Force action
|
|
2695
2022
|
|
|
2696
|
-
|
|
2023
|
+
Force action to close
|
|
2697
2024
|
|
|
2698
|
-
|
|
2025
|
+
Do you want some cookies ?
|
|
2699
2026
|
|
|
2700
|
-
|
|
2027
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget quam eu mi luctus faucibus.
|
|
2701
2028
|
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
Decline
|
|
2705
|
-
Accept
|
|
2029
|
+
Nope
|
|
2030
|
+
Hell yes !
|
|
2706
2031
|
|
|
2707
2032
|
Custom dimensions
|
|
2708
2033
|
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
Image preview
|
|
2034
|
+
Custom width
|
|
2712
2035
|
|
|
2713
2036
|
Fullscreen
|
|
2714
2037
|
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
Fullscreen
|
|
2718
|
-
|
|
2719
|
-
Programmatic creation
|
|
2720
|
-
|
|
2721
|
-
Use Modal.create(options) when there is no modal in the template—for confirmations, toasts that need a follow-up, or one-off flows from script. The modal is appended to the nearest sonic-theme pop container (same as declarative modals), opened automatically, and returns the sonic-modal instance. Set removeOnHide: true to detach it from the DOM after close. In the browser, window.SonicModal is the same class after the module loads.
|
|
2722
|
-
|
|
2723
|
-
Pass title / subtitle / content / actions as HTML strings (or Lit template results from application code). Put hideModal on action buttons in the actions string so clicks close the dialog.
|
|
2724
|
-
|
|
2725
|
-
Open programmatic modal
|
|
2726
|
-
|
|
2727
|
-
import { Modal } from "@supersoniks/concorde/core/components/ui/modal/modal";
|
|
2728
|
-
|
|
2729
|
-
const modal = Modal.create({
|
|
2730
|
-
title: "Delete project?",
|
|
2731
|
-
subtitle: "This cannot be undone.",
|
|
2732
|
-
content: " All files in Acme HQ will be removed. ",
|
|
2733
|
-
actions:
|
|
2734
|
-
Cancel
|
|
2735
|
-
Delete
|
|
2736
|
-
,
|
|
2737
|
-
removeOnHide: true,
|
|
2738
|
-
forceAction: false,
|
|
2739
|
-
maxWidth: "min(100vw, 28rem)",
|
|
2740
|
-
});
|
|
2741
|
-
|
|
2742
|
-
modal.addEventListener("hidden", () => {
|
|
2743
|
-
console.log("Modal removed from the DOM");
|
|
2744
|
-
});
|
|
2745
|
-
|
|
2746
|
-
// Or close from script: await modal.hide(); await modal.dispose();
|
|
2747
|
-
|
|
2748
|
-
API reference
|
|
2749
|
-
|
|
2750
|
-
sonic-modal
|
|
2751
|
-
|
|
2752
|
-
| Attribute | Values | Description |
|
|
2753
|
-
|----------|---------|-------------|
|
|
2754
|
-
| align | left (default) · center · right | Align title and slotted content |
|
|
2755
|
-
| maxWidth | CSS length (default min(100vw, 40rem)) | Dialog max width |
|
|
2756
|
-
| maxHeight | CSS length (default 90vh) | Scrollable body max height |
|
|
2757
|
-
| width | CSS length (default 100%) | Dialog width |
|
|
2758
|
-
| height | CSS length (default fit-content) | Dialog height |
|
|
2759
|
-
| paddingX · paddingY | CSS length | Override content padding (--sc-modal-px / --sc-modal-py) |
|
|
2760
|
-
| zIndex | CSS number | Stacking order (default 990) |
|
|
2761
|
-
| effect | slide (default) · fade · none | Open/close animation |
|
|
2762
|
-
| fullscreen | boolean | Full viewport; no backdrop |
|
|
2763
|
-
| forceAction | boolean | Disable overlay, Escape, and default close button |
|
|
2764
|
-
| noCloseButton | boolean | Hide built-in close when not forceAction |
|
|
2765
|
-
| closeButtonType | sonic-button type | Style of built-in close |
|
|
2766
|
-
| visible | boolean | When toggled, opens or closes the dialog |
|
|
2767
|
-
| removeOnHide | boolean | Remove element from DOM after close |
|
|
2768
|
-
| removeHashOnHide | boolean | Clear URL hash on close |
|
|
2769
|
-
| closeOnLocationChange | boolean | Close when app location changes |
|
|
2770
|
-
| resetDataProviderOnHide | string | Reset named formDataProvider on close |
|
|
2771
|
-
| rounded | none | Square dialog corners (useful for full-bleed media) |
|
|
2772
|
-
|
|
2773
|
-
| Slot | Description |
|
|
2774
|
-
|------|-------------|
|
|
2775
|
-
| (default) | Additional markup alongside structured children |
|
|
2776
|
-
|
|
2777
|
-
| Event | Description |
|
|
2778
|
-
|-------|-------------|
|
|
2779
|
-
| show | Fired when open animation completes |
|
|
2780
|
-
| hide | Fired when close starts |
|
|
2781
|
-
| hidden | Fired when close finishes |
|
|
2782
|
-
|
|
2783
|
-
Methods: show() · hide() · dispose() (hide and remove). Static Modal.create(options) appends a modal to the theme pop container and opens it. options / styleSheet are JavaScript-only.
|
|
2784
|
-
|
|
2785
|
-
sonic-modal-title · sonic-modal-subtitle · sonic-modal-content
|
|
2786
|
-
|
|
2787
|
-
| Slot | Description |
|
|
2788
|
-
|------|-------------|
|
|
2789
|
-
| (default) | Title, subtitle, or main body content |
|
|
2790
|
-
|
|
2791
|
-
sonic-modal-actions
|
|
2792
|
-
|
|
2793
|
-
| Slot | Description |
|
|
2794
|
-
|------|-------------|
|
|
2795
|
-
| (default) | Footer actions (typically sonic-button) |
|
|
2796
|
-
|
|
2797
|
-
Put hideModal on a sonic-button to close the parent modal on click. Ancestor formDataProvider on this element is inherited by child form controls.
|
|
2798
|
-
|
|
2799
|
-
sonic-modal-close
|
|
2800
|
-
|
|
2801
|
-
Rendered automatically unless forceAction or noCloseButton is set. Calls hide() on the parent modal.
|
|
2802
|
-
|
|
2803
|
-
| Attribute | Values | Description |
|
|
2804
|
-
|----------|---------|-------------|
|
|
2805
|
-
| type | sonic-button type | Close button color |
|
|
2806
|
-
| reset | string | Passed to inner sonic-button reset |
|
|
2807
|
-
| translation | UI label object | Overrides default close aria-label |
|
|
2038
|
+
Fullscreen
|
|
2808
2039
|
|
|
2809
2040
|
---
|
|
2810
2041
|
|
|
@@ -2812,237 +2043,103 @@ Rendered automatically unless forceAction or noCloseButton is set. Calls hide()
|
|
|
2812
2043
|
|
|
2813
2044
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/pop/pop.html
|
|
2814
2045
|
- Doc ID: core/components/ui/pop/pop
|
|
2815
|
-
- Keywords: Concorde, supersoniks, core/components/ui/pop/pop, pop, Pop, UI component, sonic-pop, web component
|
|
2046
|
+
- Keywords: Concorde, supersoniks, core/components/ui/pop/pop, pop, Pop, UI component, sonic-pop, web component
|
|
2816
2047
|
|
|
2817
2048
|
Pop
|
|
2818
2049
|
|
|
2819
|
-
sonic-pop anchors floating panels to a trigger: put the control in the default slot and the panel in slot="content" (menus, forms, custom markup). Click toggles open/closed unless manual is set; default placement is bottom (start-aligned). Position updates while open and flips inside the viewport when space is tight.
|
|
2820
|
-
|
|
2821
|
-
Basic example
|
|
2822
|
-
|
|
2823
|
-
Notifications
|
|
2824
|
-
|
|
2825
|
-
Notifications
|
|
2826
|
-
|
|
2827
|
-
Settings
|
|
2828
|
-
|
|
2829
2050
|
Placement
|
|
2830
2051
|
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
Left
|
|
2834
|
-
|
|
2835
|
-
Notifications
|
|
2836
|
-
|
|
2837
|
-
Right
|
|
2838
|
-
|
|
2839
|
-
Notifications
|
|
2840
|
-
|
|
2841
|
-
Top
|
|
2842
|
-
|
|
2843
|
-
Notifications
|
|
2844
|
-
|
|
2845
|
-
Bottom
|
|
2846
|
-
|
|
2847
|
-
Notifications
|
|
2848
|
-
|
|
2849
|
-
Center-aligned sides
|
|
2850
|
-
|
|
2851
|
-
Bottom center
|
|
2052
|
+
Left
|
|
2852
2053
|
|
|
2853
|
-
|
|
2054
|
+
Notifications
|
|
2854
2055
|
|
|
2855
|
-
|
|
2056
|
+
Right
|
|
2856
2057
|
|
|
2857
|
-
|
|
2058
|
+
Notifications
|
|
2858
2059
|
|
|
2859
|
-
|
|
2060
|
+
Top
|
|
2860
2061
|
|
|
2861
|
-
|
|
2062
|
+
Notifications
|
|
2862
2063
|
|
|
2863
|
-
|
|
2064
|
+
Bottom
|
|
2864
2065
|
|
|
2865
|
-
|
|
2066
|
+
Notifications
|
|
2866
2067
|
|
|
2867
2068
|
Shadow
|
|
2868
2069
|
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
None
|
|
2872
|
-
|
|
2873
|
-
Notifications
|
|
2874
|
-
|
|
2875
|
-
Small
|
|
2876
|
-
|
|
2877
|
-
Notifications
|
|
2878
|
-
|
|
2879
|
-
Medium
|
|
2880
|
-
|
|
2881
|
-
Notifications
|
|
2882
|
-
|
|
2883
|
-
Large
|
|
2884
|
-
|
|
2885
|
-
Notifications
|
|
2886
|
-
|
|
2887
|
-
Inline
|
|
2888
|
-
|
|
2889
|
-
By default the host is middle-aligned with siblings. Set inline to baseline-align the trigger inside running text.
|
|
2070
|
+
None
|
|
2890
2071
|
|
|
2891
|
-
|
|
2072
|
+
Notifications
|
|
2892
2073
|
|
|
2893
|
-
|
|
2074
|
+
Small
|
|
2894
2075
|
|
|
2895
|
-
|
|
2896
|
-
Book a seat
|
|
2076
|
+
Notifications
|
|
2897
2077
|
|
|
2898
|
-
|
|
2078
|
+
Medium
|
|
2899
2079
|
|
|
2900
|
-
|
|
2080
|
+
Notifications
|
|
2901
2081
|
|
|
2902
|
-
|
|
2082
|
+
Large
|
|
2903
2083
|
|
|
2904
|
-
|
|
2084
|
+
Notifications
|
|
2905
2085
|
|
|
2906
|
-
|
|
2086
|
+
noToggle
|
|
2907
2087
|
|
|
2908
|
-
|
|
2088
|
+
No toggle on click
|
|
2909
2089
|
|
|
2910
|
-
|
|
2090
|
+
Notifications
|
|
2911
2091
|
|
|
2912
|
-
|
|
2092
|
+
Default toggle on click
|
|
2913
2093
|
|
|
2914
|
-
|
|
2094
|
+
Notifications
|
|
2915
2095
|
|
|
2916
|
-
|
|
2096
|
+
manual
|
|
2917
2097
|
|
|
2918
|
-
Manual
|
|
2098
|
+
Manual doesn't open on click
|
|
2919
2099
|
|
|
2920
|
-
|
|
2100
|
+
Hourra !
|
|
2921
2101
|
|
|
2922
2102
|
Click to open pop
|
|
2923
2103
|
|
|
2924
|
-
Keep open on select
|
|
2925
|
-
|
|
2926
|
-
By default, a click inside content closes the pop (same as an outside click). Set data-on-select="keep" on the panel or a descendant to keep it open while selecting checkboxes, toggles, or menu items.
|
|
2927
|
-
|
|
2928
|
-
Closes on select
|
|
2929
|
-
|
|
2930
|
-
Option A
|
|
2931
|
-
Option B
|
|
2932
|
-
|
|
2933
|
-
Stays open on select
|
|
2934
|
-
|
|
2935
|
-
Option A
|
|
2936
|
-
Option B
|
|
2937
|
-
|
|
2938
|
-
Keyboard and dismissal
|
|
2939
|
-
|
|
2940
|
-
ArrowDown on the trigger opens the pop when it is closed. Escape closes the most recently opened pop (capture phase, before ancestors such as sonic-modal) and returns focus to that trigger. Multiple pops on the page stack in open order for Escape.
|
|
2941
|
-
|
|
2942
|
-
Focus me — ArrowDown opens, Escape closes
|
|
2943
|
-
|
|
2944
|
-
First item
|
|
2945
|
-
Second item
|
|
2946
|
-
|
|
2947
|
-
API reference
|
|
2948
|
-
|
|
2949
|
-
| Attribute | Values | Description |
|
|
2950
|
-
|----------|---------|-------------|
|
|
2951
|
-
| placement | bottom (default) · top · left · right · top-start · top-center · top-end · bottom-start · bottom-center · bottom-end · left-start · left-center · left-end · right-start · right-center · right-end | Side and alignment relative to the trigger; repositions while open and flips within the viewport |
|
|
2952
|
-
| shadow | none · sm · md · lg (default lg) | Box shadow on the content panel |
|
|
2953
|
-
| inline | boolean | Baseline-align the host for inline triggers |
|
|
2954
|
-
| noToggle | boolean | When open, trigger click does not close the pop |
|
|
2955
|
-
| manual | boolean | Disable default trigger toggle; use show() / hide() |
|
|
2956
|
-
|
|
2957
|
-
| Slot | Description |
|
|
2958
|
-
|------|-------------|
|
|
2959
|
-
| (default) | Trigger; listens for click and keydown (ArrowDown opens when closed) unless manual |
|
|
2960
|
-
| content | Floating panel; receives focus tabindex="0" while open |
|
|
2961
|
-
|
|
2962
|
-
Methods: show() · hide() on the host element.
|
|
2963
|
-
|
|
2964
|
-
Events: show · hide (non-bubbling CustomEvent).
|
|
2965
|
-
|
|
2966
|
-
Content attribute: data-on-select="keep" on content or descendants prevents close-on-click inside the panel.
|
|
2967
|
-
|
|
2968
2104
|
---
|
|
2969
2105
|
|
|
2970
|
-
## Progress
|
|
2106
|
+
## Progress bar
|
|
2971
2107
|
|
|
2972
2108
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/progress/progress.html
|
|
2973
2109
|
- Doc ID: core/components/ui/progress/progress
|
|
2974
|
-
- Keywords: Concorde, supersoniks, core/components/ui/progress/progress, progress, Progress, UI component, sonic-progress, web component
|
|
2975
|
-
|
|
2976
|
-
Progress
|
|
2977
|
-
|
|
2978
|
-
Shows task completion on a value / max scale via a native bar. Omit value for an indeterminate loading animation. Put primary copy in the default slot and optional secondary text in remaining; set invert when the bar sits on a colored surface such as sonic-card.
|
|
2110
|
+
- Keywords: Concorde, supersoniks, core/components/ui/progress/progress, progress, Progress bar, UI component, sonic-progress, web component
|
|
2979
2111
|
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
Set value from 0 to max (default 100). Label text uses the type color.
|
|
2112
|
+
Progress bar
|
|
2983
2113
|
|
|
2984
|
-
|
|
2114
|
+
Displays an indicator showing the completion progress of a task.
|
|
2985
2115
|
|
|
2986
2116
|
Indeterminate
|
|
2987
2117
|
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
Type
|
|
2991
|
-
|
|
2992
|
-
Semantic color follows type. With no type, behavior is default.
|
|
2993
|
-
|
|
2994
|
-
50%
|
|
2995
|
-
50%
|
|
2996
|
-
50%
|
|
2997
|
-
50%
|
|
2998
|
-
50%
|
|
2999
|
-
50%
|
|
3000
|
-
50%
|
|
3001
|
-
|
|
3002
|
-
Size
|
|
2118
|
+
Remaining
|
|
3003
2119
|
|
|
3004
|
-
|
|
2120
|
+
80% Used 20% left
|
|
3005
2121
|
|
|
3006
|
-
|
|
3007
|
-
25%
|
|
3008
|
-
25%
|
|
3009
|
-
25%
|
|
3010
|
-
25%
|
|
3011
|
-
25%
|
|
3012
|
-
25%
|
|
2122
|
+
Sizes
|
|
3013
2123
|
|
|
3014
|
-
|
|
2124
|
+
25%
|
|
2125
|
+
25%
|
|
2126
|
+
25%
|
|
2127
|
+
25%
|
|
2128
|
+
25%
|
|
2129
|
+
25%
|
|
2130
|
+
25%
|
|
3015
2131
|
|
|
3016
|
-
|
|
2132
|
+
Type
|
|
3017
2133
|
|
|
3018
|
-
|
|
2134
|
+
50%
|
|
2135
|
+
50%
|
|
2136
|
+
50%
|
|
2137
|
+
50%
|
|
2138
|
+
50%
|
|
3019
2139
|
|
|
3020
2140
|
Invert
|
|
3021
2141
|
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
50%
|
|
3025
|
-
|
|
3026
|
-
50%
|
|
3027
|
-
|
|
3028
|
-
50%
|
|
3029
|
-
|
|
3030
|
-
50%
|
|
3031
|
-
|
|
3032
|
-
API reference
|
|
3033
|
-
|
|
3034
|
-
| Attribute | Values | Description |
|
|
3035
|
-
|----------|---------|-------------|
|
|
3036
|
-
| value | number | Completion amount; omit for indeterminate state |
|
|
3037
|
-
| max | number (default 100) | Upper bound for value |
|
|
3038
|
-
| type | default (default) · primary · neutral · warning · info · success · danger | Semantic bar and label color |
|
|
3039
|
-
| size | 2xs · xs · sm · md · lg · xl · 2xl · inherit | Typography scale (bar height follows em) |
|
|
3040
|
-
| invert | boolean | High-contrast tokens on colored backgrounds |
|
|
3041
|
-
|
|
3042
|
-
| Slot | Description |
|
|
3043
|
-
|------|-------------|
|
|
3044
|
-
| (default) | Primary label below the bar (left) |
|
|
3045
|
-
| remaining | Secondary label below the bar (right) |
|
|
2142
|
+
50%
|
|
3046
2143
|
|
|
3047
2144
|
---
|
|
3048
2145
|
|
|
@@ -3050,15 +2147,11 @@ API reference
|
|
|
3050
2147
|
|
|
3051
2148
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/table/table.html
|
|
3052
2149
|
- Doc ID: core/components/ui/table/table
|
|
3053
|
-
- Keywords: Concorde, supersoniks, core/components/ui/table/table, table, Table, UI component, sonic-table, web component
|
|
2150
|
+
- Keywords: Concorde, supersoniks, core/components/ui/table/table, table, Table, UI component, sonic-table, web component
|
|
3054
2151
|
|
|
3055
2152
|
Table
|
|
3056
2153
|
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
Basic example
|
|
3060
|
-
|
|
3061
|
-
A header row plus body rows is enough for static tables; sonic-thead / sonic-tbody are optional for simple layouts.
|
|
2154
|
+
Basic usage
|
|
3062
2155
|
|
|
3063
2156
|
Id
|
|
3064
2157
|
Name
|
|
@@ -3076,9 +2169,7 @@ A header row plus body rows is enough for static tables; sonic-thead / sonic-tbo
|
|
|
3076
2169
|
Emma Wong
|
|
3077
2170
|
emma.wong@reqres.in
|
|
3078
2171
|
|
|
3079
|
-
List
|
|
3080
|
-
|
|
3081
|
-
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.
|
|
2172
|
+
List / fetch
|
|
3082
2173
|
|
|
3083
2174
|
Id
|
|
3084
2175
|
Name
|
|
@@ -3088,8 +2179,6 @@ Place sonic-list inside sonic-tbody so each item template renders a sonic-tr. so
|
|
|
3088
2179
|
|
|
3089
2180
|
Size
|
|
3090
2181
|
|
|
3091
|
-
Default font size is md (omit size). Sizes follow the shared scale (2xs … 2xl).
|
|
3092
|
-
|
|
3093
2182
|
2xs
|
|
3094
2183
|
|
|
3095
2184
|
xs
|
|
@@ -3108,8 +2197,6 @@ Default font size is md (omit size). Sizes follow the shared scale (2xs … 2xl)
|
|
|
3108
2197
|
|
|
3109
2198
|
Bordered
|
|
3110
2199
|
|
|
3111
|
-
Set bordered on sonic-table for an outer frame and horizontal rules between rows.
|
|
3112
|
-
|
|
3113
2200
|
Id
|
|
3114
2201
|
Name
|
|
3115
2202
|
Email
|
|
@@ -3126,9 +2213,7 @@ Set bordered on sonic-table for an outer frame and horizontal rules between rows
|
|
|
3126
2213
|
Emma Wong
|
|
3127
2214
|
emma.wong@reqres.in
|
|
3128
2215
|
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
maxHeight applies to the scroll container (for example 8rem), so the body scrolls vertically while the table can still scroll horizontally.
|
|
2216
|
+
MaxHeight
|
|
3132
2217
|
|
|
3133
2218
|
Id
|
|
3134
2219
|
Name
|
|
@@ -3138,34 +2223,36 @@ maxHeight applies to the scroll container (for example 8rem), so the body scroll
|
|
|
3138
2223
|
|
|
3139
2224
|
Type
|
|
3140
2225
|
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
Attribute type set on
|
|
3144
|
-
sonic-th
|
|
2226
|
+
Values available : primary, info, success, warning, danger
|
|
3145
2227
|
|
|
3146
|
-
|
|
3147
|
-
|
|
2228
|
+
Attribute type set on
|
|
2229
|
+
sonic-th
|
|
3148
2230
|
|
|
3149
|
-
|
|
3150
|
-
|
|
2231
|
+
Attribute type set on
|
|
2232
|
+
sonic-td
|
|
3151
2233
|
|
|
3152
|
-
|
|
2234
|
+
Attribute type set on
|
|
2235
|
+
sonic-tr
|
|
3153
2236
|
|
|
3154
|
-
|
|
2237
|
+
Colspan / rowspan
|
|
3155
2238
|
|
|
3156
|
-
colspan: 2
|
|
2239
|
+
colspan : 2
|
|
3157
2240
|
cell
|
|
3158
2241
|
|
|
3159
2242
|
cell
|
|
3160
2243
|
cell
|
|
3161
|
-
rowspan: 2
|
|
2244
|
+
rowspan : 2
|
|
3162
2245
|
|
|
3163
2246
|
cell
|
|
3164
2247
|
cell
|
|
3165
2248
|
|
|
3166
|
-
Cell
|
|
2249
|
+
Cell style attributes
|
|
3167
2250
|
|
|
3168
|
-
|
|
2251
|
+
The following attributes will be used to set the style of the component :
|
|
2252
|
+
- align
|
|
2253
|
+
- minWidth
|
|
2254
|
+
- maxWidth
|
|
2255
|
+
- width
|
|
3169
2256
|
|
|
3170
2257
|
align
|
|
3171
2258
|
minWidth
|
|
@@ -3184,12 +2271,12 @@ align sets horizontal alignment (left · center · right). minWidth / maxWidth /
|
|
|
3184
2271
|
|
|
3185
2272
|
right
|
|
3186
2273
|
20rem
|
|
3187
|
-
5rem
|
|
3188
|
-
15rem
|
|
2274
|
+
5rem - Lorem ipsum dolor
|
|
2275
|
+
15rem - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam porta sollicitudin mollis. Curabitur sit amet nibh diam. Vivamus a pharetra mauris.
|
|
3189
2276
|
|
|
3190
|
-
Responsive
|
|
2277
|
+
Responsive
|
|
3191
2278
|
|
|
3192
|
-
|
|
2279
|
+
Every table is responsive by default
|
|
3193
2280
|
|
|
3194
2281
|
Id
|
|
3195
2282
|
Name
|
|
@@ -3198,11 +2285,9 @@ Tables scroll horizontally by default when columns exceed the viewport. Use minW
|
|
|
3198
2285
|
|
|
3199
2286
|
$lastname ">
|
|
3200
2287
|
|
|
3201
|
-
|
|
2288
|
+
hasellus suscipit vulputate lacus, in tempor turpis aliquam vel. Nunc eleifend, velit id ultrices elementum, ipsum felis porttitor dui, id laoreet diam nulla sed urna.
|
|
3202
2289
|
|
|
3203
|
-
Sticky header
|
|
3204
|
-
|
|
3205
|
-
sonic-th uses position: sticky with top: 0 inside the table. For page-level sticky headers, set noCustomScroll on sonic-table and position sonic-thead (for example class="sticky top-16"). Add sonic-caption for a table title below the grid.
|
|
2290
|
+
Sticky header
|
|
3206
2291
|
|
|
3207
2292
|
Company
|
|
3208
2293
|
Contact
|
|
@@ -3221,6 +2306,18 @@ sonic-th uses position: sticky with top: 0 inside the table. For page-level stic
|
|
|
3221
2306
|
3
|
|
3222
2307
|
40€
|
|
3223
2308
|
|
|
2309
|
+
Ernst Handel
|
|
2310
|
+
Roland Mendel
|
|
2311
|
+
Austria
|
|
2312
|
+
4
|
|
2313
|
+
40€
|
|
2314
|
+
|
|
2315
|
+
Island Trading
|
|
2316
|
+
Helen Bennett
|
|
2317
|
+
UK
|
|
2318
|
+
1
|
|
2319
|
+
40€
|
|
2320
|
+
|
|
3224
2321
|
Laughing Bacchus Winecellars
|
|
3225
2322
|
Yoshi Tannamuri
|
|
3226
2323
|
Canada
|
|
@@ -3233,165 +2330,42 @@ sonic-th uses position: sticky with top: 0 inside the table. For page-level stic
|
|
|
3233
2330
|
20
|
|
3234
2331
|
40€
|
|
3235
2332
|
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
| Attribute | Values | Description |
|
|
3243
|
-
|----------|---------|-------------|
|
|
3244
|
-
| size | 2xs · xs · sm · md · lg · xl · 2xl · inherit (default md) | Scales table font size via shared size tokens |
|
|
3245
|
-
| bordered | boolean | Outer border and row dividers |
|
|
3246
|
-
| noCustomScroll | boolean | Disables custom scrollbar styling on the horizontal scroll container |
|
|
3247
|
-
| rounded | boolean | Reflected on the host; no default table styles |
|
|
3248
|
-
| maxHeight | CSS length | Max height on the scroll container; enables vertical scrolling |
|
|
3249
|
-
|
|
3250
|
-
| Slot | Description |
|
|
3251
|
-
|------|-------------|
|
|
3252
|
-
| (default) | Table sections and rows (sonic-thead, sonic-tbody, sonic-tr, …) |
|
|
3253
|
-
|
|
3254
|
-
sonic-thead · sonic-tbody · sonic-tfoot
|
|
3255
|
-
|
|
3256
|
-
| Slot | Description |
|
|
3257
|
-
|------|-------------|
|
|
3258
|
-
| (default) | Row elements (sonic-tr) |
|
|
3259
|
-
|
|
3260
|
-
sonic-tbody wraps slotted rows in a native and applies zebra / hover backgrounds to sonic-tr children.
|
|
3261
|
-
|
|
3262
|
-
sonic-caption
|
|
3263
|
-
|
|
3264
|
-
| Slot | Description |
|
|
3265
|
-
|------|-------------|
|
|
3266
|
-
| (default) | Caption text rendered as table-caption |
|
|
3267
|
-
|
|
3268
|
-
sonic-tr
|
|
3269
|
-
|
|
3270
|
-
| Attribute | Values | Description |
|
|
3271
|
-
|----------|---------|-------------|
|
|
3272
|
-
| type | default · primary · info · success · warning · danger · neutral | Semantic text color for the row |
|
|
3273
|
-
| even | boolean | Striping background; usually set by sonic-list metadata |
|
|
3274
|
-
| odd | boolean | Alternate striping background; usually set by sonic-list |
|
|
3275
|
-
| last | boolean | Removes bottom cell border on the last row when bordered |
|
|
3276
|
-
|
|
3277
|
-
| Slot | Description |
|
|
3278
|
-
|------|-------------|
|
|
3279
|
-
| (default) | Header or data cells (sonic-th / sonic-td) |
|
|
3280
|
-
|
|
3281
|
-
sonic-th
|
|
3282
|
-
|
|
3283
|
-
| Attribute | Values | Description |
|
|
3284
|
-
|----------|---------|-------------|
|
|
3285
|
-
| type | default · primary · info · success · warning · danger · neutral | Semantic text color |
|
|
3286
|
-
| align | left · center · right | Horizontal text alignment |
|
|
3287
|
-
| colSpan | number | Column span |
|
|
3288
|
-
| rowSpan | number | Row span |
|
|
3289
|
-
| minWidth | CSS length | Minimum cell width |
|
|
3290
|
-
| maxWidth | CSS length | Maximum cell width |
|
|
3291
|
-
| width | CSS length | Cell width |
|
|
3292
|
-
| noBorder | boolean | Removes the bottom border under the header cell |
|
|
3293
|
-
|
|
3294
|
-
| Slot | Description |
|
|
3295
|
-
|------|-------------|
|
|
3296
|
-
| (default) | Header label content |
|
|
3297
|
-
|
|
3298
|
-
sonic-td
|
|
3299
|
-
|
|
3300
|
-
| Attribute | Values | Description |
|
|
3301
|
-
|----------|---------|-------------|
|
|
3302
|
-
| type | default · primary · info · success · warning · danger · neutral | Semantic text color |
|
|
3303
|
-
| align | left · center · right | Horizontal text alignment |
|
|
3304
|
-
| vAlign | CSS vertical-align value | Vertical alignment |
|
|
3305
|
-
| colSpan | number | Column span |
|
|
3306
|
-
| rowSpan | number | Row span |
|
|
3307
|
-
| minWidth | CSS length | Minimum cell width |
|
|
3308
|
-
| maxWidth | CSS length | Maximum cell width |
|
|
3309
|
-
| width | CSS length | Cell width |
|
|
3310
|
-
|
|
3311
|
-
| Slot | Description |
|
|
3312
|
-
|------|-------------|
|
|
3313
|
-
| (default) | Cell content |
|
|
3314
|
-
|
|
3315
|
-
---
|
|
3316
|
-
|
|
3317
|
-
## Theme
|
|
3318
|
-
|
|
3319
|
-
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/theme/theme.html
|
|
3320
|
-
- Doc ID: core/components/ui/theme/theme
|
|
3321
|
-
- Keywords: Concorde, supersoniks, core/components/ui/theme/theme, theme, Theme, UI component, sonic-theme, web component, --sc-*, theme="custom", light, dark, auto, color, font, bg-base
|
|
3322
|
-
|
|
3323
|
-
Theme
|
|
3324
|
-
|
|
3325
|
-
sonic-theme wraps a Concorde UI: it registers --sc- design tokens and provides the default slot for your app. With no theme attribute (or theme="custom"), only shared primitives and your overrides apply—built-in light / dark / auto palettes are opt-in. Set color and font when the host should carry base text and typography; add Tailwind bg-base and block (or min-h-screen) on the tag for a full surface fill. Popovers, modals, and toasts mount under the nearest connected theme (see Pop container). Import @supersoniks/concorde/theme once at the app entry. For the full public token list and brand overrides, see Customization.
|
|
3326
|
-
|
|
3327
|
-
Basic example
|
|
3328
|
-
|
|
3329
|
-
Wrap interactive components so tokens and overlays resolve from one root.
|
|
3330
|
-
|
|
3331
|
-
Save changes
|
|
3332
|
-
|
|
3333
|
-
Theme mode
|
|
3334
|
-
|
|
3335
|
-
Default: omit theme or set theme="custom". The host loads core tokens (--sc-rounded, shadows, form defaults, …) and any --sc- you set; it does not apply the built-in light or dark palette.
|
|
3336
|
-
|
|
3337
|
-
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).
|
|
3338
|
-
|
|
3339
|
-
theme="light"
|
|
3340
|
-
|
|
3341
|
-
Primary
|
|
3342
|
-
Success
|
|
3343
|
-
Danger
|
|
3344
|
-
|
|
3345
|
-
theme="dark"
|
|
3346
|
-
|
|
3347
|
-
Primary
|
|
3348
|
-
Success
|
|
3349
|
-
Danger
|
|
3350
|
-
|
|
3351
|
-
Presentation
|
|
3352
|
-
|
|
3353
|
-
color sets text from --sc-base-content. font applies --sc-font-family-base, --sc-font-weight-base, and --sc-font-style-base. For the page or shell background, use bg-base on sonic-theme (maps to --sc-base in Tailwind) with block so the host paints the surface. Components keep their own fallbacks when color / font are omitted.
|
|
3354
|
-
|
|
3355
|
-
Body copy inherits base content color and font from the theme host.
|
|
3356
|
-
|
|
3357
|
-
Custom tokens
|
|
3358
|
-
|
|
3359
|
-
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.
|
|
3360
|
-
|
|
3361
|
-
Brand primary
|
|
3362
|
-
|
|
3363
|
-
Pop container
|
|
3364
|
-
|
|
3365
|
-
Theme.getPopContainer() returns the last connected sonic-theme, or document.body if none is connected. When a theme disconnects, the previous connected instance is adopted. Imperative Modal.create() and declarative sonic-modal use the same container.
|
|
3366
|
-
|
|
3367
|
-
Open modal
|
|
3368
|
-
|
|
3369
|
-
Mounted on theme
|
|
3370
|
-
|
|
3371
|
-
This dialog is appended under the nearest sonic-theme pop container.
|
|
3372
|
-
|
|
3373
|
-
Close
|
|
3374
|
-
|
|
3375
|
-
Embedded iframes
|
|
2333
|
+
Alfreds Futterkiste
|
|
2334
|
+
Maria Anders
|
|
2335
|
+
Germany
|
|
2336
|
+
2
|
|
2337
|
+
40€
|
|
3376
2338
|
|
|
3377
|
-
|
|
2339
|
+
Centro comercial Moctezuma
|
|
2340
|
+
no information yet
|
|
2341
|
+
3
|
|
2342
|
+
40€
|
|
3378
2343
|
|
|
3379
|
-
|
|
3380
|
-
|
|
2344
|
+
Ernst Handel
|
|
2345
|
+
Roland Mendel
|
|
2346
|
+
Austria
|
|
2347
|
+
4
|
|
2348
|
+
40€
|
|
3381
2349
|
|
|
3382
|
-
|
|
2350
|
+
Island Trading
|
|
2351
|
+
Helen Bennett
|
|
2352
|
+
UK
|
|
2353
|
+
1
|
|
2354
|
+
40€
|
|
3383
2355
|
|
|
3384
|
-
|
|
3385
|
-
|
|
3386
|
-
|
|
3387
|
-
|
|
3388
|
-
|
|
2356
|
+
Laughing Bacchus Winecellars
|
|
2357
|
+
Yoshi Tannamuri
|
|
2358
|
+
Canada
|
|
2359
|
+
0
|
|
2360
|
+
40€
|
|
3389
2361
|
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
2362
|
+
Magazzini Alimentari Riuniti
|
|
2363
|
+
Giovanni Rovelli
|
|
2364
|
+
Italy
|
|
2365
|
+
20
|
|
2366
|
+
40€
|
|
3393
2367
|
|
|
3394
|
-
|
|
2368
|
+
table caption
|
|
3395
2369
|
|
|
3396
2370
|
---
|
|
3397
2371
|
|
|
@@ -3399,21 +2373,17 @@ Surface background: Tailwind bg-base on sonic-theme (requires Concorde Tailwind
|
|
|
3399
2373
|
|
|
3400
2374
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/toast/toast.html
|
|
3401
2375
|
- Doc ID: core/components/ui/toast/toast
|
|
3402
|
-
- Keywords: Concorde, supersoniks, core/components/ui/toast/toast, toast, Toast, UI component, sonic-toast, web component,
|
|
2376
|
+
- Keywords: Concorde, supersoniks, core/components/ui/toast/toast, toast, Toast, UI component, sonic-toast, web component, success, error, warning, info, preserve: true, dismissForever: true, id, ghost: true
|
|
3403
2377
|
|
|
3404
2378
|
Toast
|
|
3405
2379
|
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
Basic example
|
|
3409
|
-
|
|
3410
|
-
Click the button to show a toast.
|
|
2380
|
+
Utilisation de base
|
|
3411
2381
|
|
|
3412
|
-
|
|
2382
|
+
Afficher un toast
|
|
3413
2383
|
|
|
3414
|
-
|
|
2384
|
+
Statut
|
|
3415
2385
|
|
|
3416
|
-
|
|
2386
|
+
Les statuts disponibles sont : success, error, warning, info ou vide (par défaut).
|
|
3417
2387
|
|
|
3418
2388
|
Default
|
|
3419
2389
|
|
|
@@ -3425,105 +2395,69 @@ status drives color, icon, and live-region behavior. Omit status or pass an empt
|
|
|
3425
2395
|
|
|
3426
2396
|
Info
|
|
3427
2397
|
|
|
3428
|
-
|
|
3429
|
-
|
|
3430
|
-
Set label for a bold title above text. title still works but is deprecated—use label in new code.
|
|
2398
|
+
Avec titre
|
|
3431
2399
|
|
|
3432
|
-
Toast
|
|
2400
|
+
Toast avec titre
|
|
3433
2401
|
|
|
3434
|
-
|
|
2402
|
+
Toast d'erreur avec titre
|
|
3435
2403
|
|
|
3436
|
-
|
|
2404
|
+
Avec contenu HTML
|
|
3437
2405
|
|
|
3438
|
-
|
|
2406
|
+
Le contenu du toast peut contenir du HTML.
|
|
3439
2407
|
|
|
3440
|
-
HTML
|
|
3441
|
-
|
|
3442
|
-
Toast with HTML
|
|
2408
|
+
HTML et un lien cliquable ', status: 'info' })">
|
|
2409
|
+
Toast avec HTML
|
|
3443
2410
|
|
|
3444
|
-
|
|
2411
|
+
Persistance
|
|
3445
2412
|
|
|
3446
|
-
|
|
2413
|
+
Par défaut, les toasts disparaissent automatiquement. Avec preserve: true, le toast reste affiché jusqu'à ce qu'il soit fermé manuellement.
|
|
3447
2414
|
|
|
3448
|
-
|
|
2415
|
+
Toast persistant
|
|
3449
2416
|
|
|
3450
|
-
|
|
2417
|
+
Masquer définitivement
|
|
3451
2418
|
|
|
3452
|
-
|
|
2419
|
+
Avec dismissForever: true et un id, le toast peut être masqué définitivement. Une fois fermé, il ne réapparaîtra plus même après rechargement de la page.
|
|
3453
2420
|
|
|
3454
|
-
|
|
2421
|
+
Toast avec dismiss forever
|
|
3455
2422
|
|
|
3456
|
-
|
|
2423
|
+
Fantôme
|
|
3457
2424
|
|
|
3458
|
-
ghost
|
|
2425
|
+
Avec ghost: true, le toast devient semi-transparent et non-interactif.
|
|
3459
2426
|
|
|
3460
|
-
|
|
2427
|
+
Toast ghost
|
|
3461
2428
|
|
|
3462
|
-
|
|
2429
|
+
Méthodes de suppression
|
|
3463
2430
|
|
|
3464
|
-
|
|
2431
|
+
Tout supprimer
|
|
3465
2432
|
|
|
3466
|
-
|
|
2433
|
+
Supprime tous les toasts sauf ceux marqués comme ghost.
|
|
3467
2434
|
|
|
3468
|
-
|
|
2435
|
+
Ajouter toast 1
|
|
2436
|
+
Ajouter toast 2
|
|
2437
|
+
Ajouter toast 3
|
|
2438
|
+
Supprimer tous
|
|
3469
2439
|
|
|
3470
|
-
|
|
3471
|
-
Add toast 2
|
|
3472
|
-
Add toast 3
|
|
3473
|
-
Remove all
|
|
2440
|
+
Supprimer par statut
|
|
3474
2441
|
|
|
3475
|
-
|
|
2442
|
+
Supprime tous les toasts d'un statut spécifique.
|
|
3476
2443
|
|
|
3477
2444
|
Success
|
|
3478
2445
|
Error
|
|
3479
2446
|
Warning
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
Remove temporary items
|
|
2447
|
+
Supprimer success
|
|
2448
|
+
Supprimer error
|
|
3484
2449
|
|
|
3485
|
-
|
|
2450
|
+
Supprimer les éléments temporaires
|
|
3486
2451
|
|
|
3487
|
-
|
|
2452
|
+
Supprime tous les toasts qui ne sont pas marqués comme preserve.
|
|
3488
2453
|
|
|
3489
|
-
|
|
2454
|
+
Temporaire
|
|
2455
|
+
Persistant
|
|
2456
|
+
Supprimer temporaires
|
|
3490
2457
|
|
|
3491
|
-
|
|
2458
|
+
Exemple complet
|
|
3492
2459
|
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
Full example
|
|
3496
|
-
|
|
3497
|
-
Accessibility
|
|
3498
|
-
|
|
3499
|
-
Each toast uses role="alert" for error and role="status" otherwise (with aria-live="polite" when applicable). Status icons are decorative (aria-hidden). The close control has an i18n aria-label. When there is no label, a truncated string aria-label may be derived from plain text.
|
|
3500
|
-
|
|
3501
|
-
API reference
|
|
3502
|
-
|
|
3503
|
-
Options passed to SonicToast.add(conf):
|
|
3504
|
-
|
|
3505
|
-
| Option | Values | Description |
|
|
3506
|
-
|----------|---------|-------------|
|
|
3507
|
-
| text | string · Lit template | Main body; HTML strings are supported |
|
|
3508
|
-
| label | string · Lit template | Optional heading above text |
|
|
3509
|
-
| title | string · Lit template | Deprecated alias for label |
|
|
3510
|
-
| status | success · error · warning · info · (empty) | Semantic styling and live region behavior |
|
|
3511
|
-
| id | string · number | Stable id for deduplication and dismissForever (defaults to timestamp) |
|
|
3512
|
-
| preserve | boolean | Skip auto-hide; forced when text contains interactive markup |
|
|
3513
|
-
| ghost | boolean | Semi-transparent and non-interactive; kept by removeAll |
|
|
3514
|
-
| dismissForever | boolean | Persist dismissal in localStorage when closed (requires stable id) |
|
|
3515
|
-
| styleSheet | modal style input | Extra adopted styles on the toast item shadow root |
|
|
3516
|
-
| useSlot | boolean | Legacy: project text into the light DOM slot |
|
|
3517
|
-
|
|
3518
|
-
| Method | Description |
|
|
3519
|
-
|--------|-------------|
|
|
3520
|
-
| SonicToast.add(conf) | Append a toast; returns the config or null if skipped (dismissed forever or duplicate) |
|
|
3521
|
-
| SonicToast.removeAll() | Remove all non-ghost toasts |
|
|
3522
|
-
| SonicToast.removeItemsByStatus(status) | Remove toasts matching status |
|
|
3523
|
-
| SonicToast.removeItemById(id) | Remove a single toast by id |
|
|
3524
|
-
| SonicToast.removeTemporaryItems() | Remove toasts without preserve |
|
|
3525
|
-
|
|
3526
|
-
sonic-toast is mounted automatically; sonic-toast-item is internal. In iframes, toasts can delegate to the parent window via postMessage.
|
|
2460
|
+
Toast complet
|
|
3527
2461
|
|
|
3528
2462
|
---
|
|
3529
2463
|
|
|
@@ -3531,29 +2465,25 @@ sonic-toast is mounted automatically; sonic-toast-item is internal. In iframes,
|
|
|
3531
2465
|
|
|
3532
2466
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/tooltip/tooltip.html
|
|
3533
2467
|
- Doc ID: core/components/ui/tooltip/tooltip
|
|
3534
|
-
- Keywords: Concorde, supersoniks, core/components/ui/tooltip/tooltip, tooltip, Tooltip, UI component, sonic-tooltip, web component
|
|
2468
|
+
- Keywords: Concorde, supersoniks, core/components/ui/tooltip/tooltip, tooltip, Tooltip, UI component, sonic-tooltip, web component
|
|
3535
2469
|
|
|
3536
2470
|
Tooltip
|
|
3537
2471
|
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
Basic example
|
|
3541
|
-
|
|
3542
|
-
Hover me
|
|
2472
|
+
hover me
|
|
3543
2473
|
|
|
3544
2474
|
Placement
|
|
3545
2475
|
|
|
3546
|
-
|
|
2476
|
+
By default, tooltip is centered next to its content
|
|
3547
2477
|
|
|
3548
|
-
|
|
2478
|
+
Top
|
|
3549
2479
|
|
|
3550
|
-
|
|
2480
|
+
Bottom
|
|
3551
2481
|
|
|
3552
|
-
|
|
2482
|
+
Right
|
|
3553
2483
|
|
|
3554
|
-
|
|
2484
|
+
Left
|
|
3555
2485
|
|
|
3556
|
-
|
|
2486
|
+
More placement
|
|
3557
2487
|
|
|
3558
2488
|
Top start
|
|
3559
2489
|
|
|
@@ -3571,39 +2501,14 @@ Aligned placements
|
|
|
3571
2501
|
|
|
3572
2502
|
Left end
|
|
3573
2503
|
|
|
3574
|
-
Label formatting
|
|
3575
|
-
|
|
3576
|
-
label supports line breaks (\n in markup or multiline text). Lines are trimmed; is normalized to spaces. white-space: pre-line preserves breaks in the bubble (max width 18rem).
|
|
3577
|
-
|
|
3578
|
-
Multiline label
|
|
3579
|
-
|
|
3580
2504
|
Focusable
|
|
3581
2505
|
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
Focus or hover this text
|
|
2506
|
+
Focus or hover non interactive element
|
|
3585
2507
|
|
|
3586
2508
|
Disabled
|
|
3587
2509
|
|
|
3588
2510
|
Tooltip disabled
|
|
3589
2511
|
|
|
3590
|
-
Accessibility
|
|
3591
|
-
|
|
3592
|
-
The bubble uses popover="hint" (non-modal, no pointer capture). Prefer focusable when the slotted content is not already focusable. When the Popover API is unavailable, the host falls back to the native title attribute with a single-line label. Opacity transitions respect prefers-reduced-motion.
|
|
3593
|
-
|
|
3594
|
-
API reference
|
|
3595
|
-
|
|
3596
|
-
| Attribute | Values | Description |
|
|
3597
|
-
|----------|---------|-------------|
|
|
3598
|
-
| label | string | Tooltip copy; whitespace-only values suppress the bubble |
|
|
3599
|
-
| placement | top (default) · bottom · left · right · top-start · top-end · bottom-start · bottom-end · left-start · left-end · right-start · right-end | Position relative to the trigger; repositions while open |
|
|
3600
|
-
| disabled | boolean | Suppress show/hide; sets tabindex="-1" on the host |
|
|
3601
|
-
| focusable | boolean | Add tabindex="0" on the host for keyboard access |
|
|
3602
|
-
|
|
3603
|
-
| Slot | Description |
|
|
3604
|
-
|------|-------------|
|
|
3605
|
-
| (default) | Trigger content (hover target) |
|
|
3606
|
-
|
|
3607
2512
|
---
|
|
3608
2513
|
|
|
3609
2514
|
## Data flow
|
|
@@ -3903,9 +2808,8 @@ Behavior
|
|
|
3903
2808
|
- By default (dynamic: false), the value is read once at connect time and is not updated afterward
|
|
3904
2809
|
- With { dynamic: true }, the property stays in sync when:
|
|
3905
2810
|
- an ancestor changes the attribute value
|
|
3906
|
-
- a closer ancestor gains
|
|
3907
|
-
- the
|
|
3908
|
-
- Observers are shared (one per ancestor attribute / one per parent) so large lists of sonic-icon stay cheap on Firefox.
|
|
2811
|
+
- a closer ancestor gains the attribute (that value wins)
|
|
2812
|
+
- the nearest ancestor loses the attribute (falls back to the next one up, or null)
|
|
3909
2813
|
- When dynamic is enabled, updates also propagate to @subscribe / @bind paths that depend on the decorated property (e.g. ${dataProvider})
|
|
3910
2814
|
|
|
3911
2815
|
Dynamic mode
|
|
@@ -5708,8 +4612,8 @@ In the HTML of a JS or TS component or in the HTML of the web page containing th
|
|
|
5708
4612
|
|
|
5709
4613
|
Installation
|
|
5710
4614
|
|
|
5711
|
-
|
|
5712
|
-
|
|
4615
|
+
For almost all new projects, use create-concorde-ts-starter .
|
|
4616
|
+
You get Vite + TypeScript + Lit + Tailwind, an example component, npx concorde enable-short-paths ready to run, and yarn ai:sync for AI agent skills ( AGENTS.md , Cursor / JetBrains rules) without extra setup.
|
|
5713
4617
|
|
|
5714
4618
|
Starter
|
|
5715
4619
|
|
|
@@ -6172,7 +5076,7 @@ Introduction
|
|
|
6172
5076
|
What is Concorde?
|
|
6173
5077
|
|
|
6174
5078
|
Based on lit.dev, Concorde is a collection of web components for shared apps and websites.
|
|
6175
|
-
Build UIs without tying components to a specific host stack, while keeping visual consistency through
|
|
5079
|
+
Build UIs without tying components to a specific host stack, while keeping visual consistency through a small set of CSS variables.
|
|
6176
5080
|
|
|
6177
5081
|
Why and use case
|
|
6178
5082
|
|
|
@@ -6213,242 +5117,91 @@ The starter runs yarn ai:sync for you. Details: AI agents (skills). Manual Vite
|
|
|
6213
5117
|
|
|
6214
5118
|
---
|
|
6215
5119
|
|
|
6216
|
-
##
|
|
5120
|
+
## Adding styles
|
|
6217
5121
|
|
|
6218
5122
|
- URL: https://concorde.supersoniks.org/crawl/docs/_getting-started/theming.html
|
|
6219
5123
|
- Doc ID: docs/_getting-started/theming
|
|
6220
|
-
- Keywords: Concorde, supersoniks, docs/_getting-started/theming, theming,
|
|
6221
|
-
|
|
6222
|
-
Customization
|
|
6223
|
-
|
|
6224
|
-
Theme-first customization
|
|
6225
|
-
|
|
6226
|
-
Concorde components ship with default styles (fallback values in each component and in ).
|
|
6227
|
-
You do not need to define any CSS variables to get a usable UI.
|
|
6228
|
-
|
|
6229
|
-
To align the kit with your brand, override only the essential theme tokens on , on :root, or in a project stylesheet.
|
|
6230
|
-
Concorde derives radius steps, button/input rounding, shadows, and most per-component layout from these primitives—do not copy long lists of derived variables unless you have a specific need.
|
|
6231
|
-
|
|
6232
|
-
import "@supersoniks/concorde/theme";
|
|
6233
|
-
|
|
6234
|
-
| Attribute | Effect |
|
|
6235
|
-
|-----------|--------|
|
|
6236
|
-
| (omit) \| theme="custom" | Default: core tokens + your --sc-; no built-in light/dark palette |
|
|
6237
|
-
| theme="light" \| "dark" \| "auto" | Opt-in presets; auto follows prefers-color-scheme |
|
|
6238
|
-
| class="bg-base block" (Tailwind) | Page/surface background (--sc-base) |
|
|
6239
|
-
| color | Text color (--sc-base-content) |
|
|
6240
|
-
| font | Base font family/weight (--sc-font-family-base, etc.) |
|
|
6241
|
-
|
|
6242
|
-
Popovers, modals, and toasts mount under the nearest .
|
|
6243
|
-
|
|
6244
|
-
Customization example
|
|
6245
|
-
|
|
6246
|
-
Example (full brand override on or :root). Set every essential token below; derived radii and shadows still come from the theme engine—only --sc-rounded is listed here.
|
|
6247
|
-
|
|
6248
|
-
sonic-theme {
|
|
6249
|
-
/ Semantic fills /
|
|
6250
|
-
--sc-primary: #353429;
|
|
6251
|
-
--sc-secondary: #f43f5e;
|
|
6252
|
-
--sc-info: #7c3aed;
|
|
6253
|
-
--sc-danger: #d71839;
|
|
6254
|
-
--sc-warning: #f97316;
|
|
6255
|
-
--sc-success: #10b981;
|
|
6256
|
-
--sc-contrast: #111;
|
|
6257
|
-
|
|
6258
|
-
/ Text/icons on semantic fills /
|
|
6259
|
-
--sc-primary-content: #fff;
|
|
6260
|
-
--sc-secondary-content: #fff;
|
|
6261
|
-
--sc-info-content: #fff;
|
|
6262
|
-
--sc-danger-content: #fff;
|
|
6263
|
-
--sc-warning-content: #fff;
|
|
6264
|
-
--sc-success-content: #fff;
|
|
6265
|
-
--sc-contrast-content: #fff;
|
|
6266
|
-
|
|
6267
|
-
/ Neutral fills /
|
|
6268
|
-
--sc-base: #fff;
|
|
6269
|
-
--sc-base-50: #f6f6f5;
|
|
6270
|
-
--sc-base-100: #ededec;
|
|
6271
|
-
--sc-base-200: #d7d7d4;
|
|
6272
|
-
--sc-base-300: #c8c7c4;
|
|
6273
|
-
--sc-base-400: #a8a7a2;
|
|
6274
|
-
--sc-base-500: #94938c;
|
|
6275
|
-
--sc-base-600: #76756c;
|
|
6276
|
-
--sc-base-700: #59584e;
|
|
6277
|
-
--sc-base-800: #47463b;
|
|
6278
|
-
--sc-base-900: #353429;
|
|
6279
|
-
|
|
6280
|
-
/ Text/icons on neutral surfaces /
|
|
6281
|
-
--sc-base-content: var(--sc-base-900);
|
|
6282
|
-
|
|
6283
|
-
/ Typography /
|
|
6284
|
-
--sc-font-family-base: "Oswald", system-ui, -apple-system, "Segoe UI", Roboto,
|
|
6285
|
-
"Helvetica Neue", Arial, sans-serif;
|
|
6286
|
-
--sc-headings-font-family: "alternate-gothic-compressed", system-ui, sans-serif;
|
|
6287
|
-
--sc-headings-line-height: 1.1;
|
|
6288
|
-
--sc-headings-font-weight: bold;
|
|
6289
|
-
--sc-headings-text-transform: none;
|
|
6290
|
-
|
|
6291
|
-
/ Shape (primitive only) /
|
|
6292
|
-
--sc-rounded: 0;
|
|
6293
|
-
|
|
6294
|
-
/ Forms /
|
|
6295
|
-
--sc-border-width: 0.2rem;
|
|
6296
|
-
--sc-form-height: 2em;
|
|
6297
|
-
--sc-input-bg: var(--sc-base);
|
|
6298
|
-
--sc-input-color: var(--sc-base-content);
|
|
6299
|
-
--sc-input-border-color: var(--sc-input-color);
|
|
6300
|
-
--sc-input-active-bg: var(--sc-primary);
|
|
6301
|
-
--sc-input-active-color: var(--sc-primary-content);
|
|
6302
|
-
--sc-input-active-border-color: var(--sc-primary);
|
|
6303
|
-
}
|
|
5124
|
+
- Keywords: Concorde, supersoniks, docs/_getting-started/theming, theming, Adding styles, guide, , size, {reflect: true}, :host(), :host([type='primary']){...}, inline, block, display, contents
|
|
6304
5125
|
|
|
6305
|
-
|
|
5126
|
+
Adding styles
|
|
6306
5127
|
|
|
6307
|
-
|
|
5128
|
+
Normal Behavior
|
|
6308
5129
|
|
|
6309
|
-
|
|
5130
|
+
No style crosses the shadow root of a component, except for inheritable properties (which have the "inherit" property possible) and CSS variables.
|
|
5131
|
+
Properties integrated via a "slot" remain stylizable in a conventional way.
|
|
6310
5132
|
|
|
6311
|
-
|
|
5133
|
+
- During creation / from the inside:
|
|
5134
|
+
- We edit the static "styles" property of the lit component, which can also reference shared and dynamic styles.
|
|
5135
|
+
These styles are scoped and do not impact the outside.
|
|
5136
|
+
- We use CSS variables as the value of properties intended to be customized from the outside.
|
|
5137
|
+
For each variable, we define a default value to have a simple but consistent base style.
|
|
5138
|
+
- We only rewrite inheritable properties with hard values if they are truly specific to the component.
|
|
5139
|
+
- The tag as a direct child can be used as a last resort, especially if there is a need for particularly dynamic customization. Performance is reduced.
|
|
5140
|
+
- During use / from the outside:
|
|
5141
|
+
We define values for inheritable CSS properties (e.g., font-\, color...) using tools like Tailwind.
|
|
5142
|
+
We modify the value of CSS variables used by the component.
|
|
6312
5143
|
|
|
6313
|
-
|
|
5144
|
+
Choosing Style Presets via Reactive Properties:
|
|
6314
5145
|
|
|
6315
|
-
|
|
5146
|
+
The declaration of reactive properties is useful for selecting a particular configuration that mostly affects a set of properties.
|
|
6316
5147
|
|
|
6317
|
-
|
|
6318
|
-
Tokens with -content are text and icons on top of the matching fill (solid buttons, badges, alerts, etc.).
|
|
5148
|
+
For example, a size property (xs, sm, md, xl) will affect margins, font, line heights to align them with the corresponding CSS vars, which can be customized using the methods mentioned earlier if necessary.
|
|
6319
5149
|
|
|
6320
|
-
|
|
5150
|
+
It is recommended to use the {reflect: true} property for reactive properties that have an associated style on the :host(). For example: :host([type='primary']){...}
|
|
6321
5151
|
|
|
6322
|
-
|
|
6323
|
-
|----------|------|
|
|
6324
|
-
| --sc-base | Main surface / page background |
|
|
6325
|
-
| --sc-base-50 … --sc-base-900 | Neutral scale (borders, subtle backgrounds, muted UI) |
|
|
5152
|
+
☢️ Caution: Passing class names via reactive properties / HTML attributes of the component should be avoided as it can quickly lead to difficult-to-manage situations.
|
|
6326
5153
|
|
|
6327
|
-
|
|
5154
|
+
CSS "display" Property
|
|
6328
5155
|
|
|
6329
|
-
|
|
6330
|
-
|
|
6331
|
-
| --sc-base-content | Default body text and icons on neutral surfaces |
|
|
5156
|
+
By default, the display property is inline.
|
|
5157
|
+
Therefore, be careful to define it according to the needs, as one might mistakenly expect it to be block as with a regular .
|
|
6332
5158
|
|
|
6333
|
-
|
|
5159
|
+
☢️ Caution: Defining the display property as contents may seem attractive at first, but:
|
|
6334
5160
|
|
|
6335
|
-
|
|
6336
|
-
|
|
6337
|
-
|
|
6338
|
-
| --sc-secondary | Secondary brand accent (when used) |
|
|
6339
|
-
| --sc-info, --sc-success, --sc-warning, --sc-danger | Status and feedback |
|
|
6340
|
-
| --sc-contrast | High-contrast fills (e.g. on media) |
|
|
5161
|
+
- It almost always leads to the creation of wrappers to style the content (instead of using :host).
|
|
5162
|
+
- It is no longer possible to directly add classes to the component or style it from the outside.
|
|
5163
|
+
Ultimately, the amount of code to write increases significantly.
|
|
6341
5164
|
|
|
6342
|
-
|
|
5165
|
+
TAILWIND Functional Classes
|
|
6343
5166
|
|
|
6344
|
-
|
|
6345
|
-
|
|
6346
|
-
| --sc-primary-content, --sc-secondary-content, … | Text/icons on the matching semantic fill (--sc-primary, etc.) |
|
|
5167
|
+
tailwind has been integrated into Concorde and is available in scoped components (with Shadow DOM).
|
|
5168
|
+
To use it, you need to import the following:
|
|
6347
5169
|
|
|
6348
|
-
|
|
5170
|
+
import { tailwind } from "@supersoniks/concorde/la-billetterie/ui/theme/theme";
|
|
6349
5171
|
|
|
6350
|
-
|
|
6351
|
-
|----------|------|
|
|
6352
|
-
| --sc-rounded | Single primitive corner radius; the theme computes --sc-rounded-sm, --sc-btn-rounded, --sc-input-rounded, etc. |
|
|
5172
|
+
Then include the tailwind style in the static styles property of the component:
|
|
6353
5173
|
|
|
6354
|
-
|
|
5174
|
+
static styles = [tailwind];
|
|
6355
5175
|
|
|
6356
|
-
|
|
6357
|
-
|----------|------|
|
|
6358
|
-
| --sc-font-family-base | Body UI text |
|
|
6359
|
-
| --sc-font-weight-base, --sc-font-style-base | Optional |
|
|
6360
|
-
| --sc-headings-font-family, --sc-headings-line-height, --sc-headings-font-weight, --sc-headings-text-transform | Headings (modal titles, etc.) |
|
|
5176
|
+
Finally, use it in the HTML within the render function:
|
|
6361
5177
|
|
|
6362
|
-
|
|
5178
|
+
A paragraph with margin
|
|
6363
5179
|
|
|
6364
|
-
|
|
5180
|
+
The colors from Concorde's theme are referenced in Tailwind's theme.
|
|
6365
5181
|
|
|
6366
|
-
|
|
6367
|
-
|----------|------|
|
|
6368
|
-
| --sc-border-width | Default border thickness |
|
|
6369
|
-
| --sc-form-height | Control height |
|
|
6370
|
-
| --sc-input-bg, --sc-input-color, --sc-input-border-color | Default field chrome |
|
|
6371
|
-
| --sc-input-active-bg, --sc-input-active-color, --sc-input-active-border-color | Focus/active state |
|
|
5182
|
+
Operation without Shadow DOM
|
|
6372
5183
|
|
|
6373
|
-
|
|
5184
|
+
Usefulness
|
|
6374
5185
|
|
|
6375
|
-
|
|
6376
|
-
|
|
6377
|
-
|
|
6378
|
-
|
|
6379
|
-
|
|
6380
|
-
|
|
6381
|
-
|
|
6382
|
-
|
|
6383
|
-
|
|
6384
|
-
|
|
6385
|
-
|
|
6386
|
-
|
|
6387
|
-
|
|
6388
|
-
|
|
6389
|
-
|
|
6390
|
-
|
|
6391
|
-
|
|
6392
|
-
|
|
6393
|
-
|
|
6394
|
-
md: "var(--sc-shadow-md)",
|
|
6395
|
-
lg: "var(--sc-shadow-lg)",
|
|
6396
|
-
xl: "var(--sc-shadow-xl)",
|
|
6397
|
-
},
|
|
6398
|
-
colors: {
|
|
6399
|
-
transparent: "transparent",
|
|
6400
|
-
current: "currentColor",
|
|
6401
|
-
content: "var(--sc-base-content)",
|
|
6402
|
-
base: "var(--sc-base)",
|
|
6403
|
-
neutral: {
|
|
6404
|
-
0: "var(--sc-base)",
|
|
6405
|
-
50: "var(--sc-base-50)",
|
|
6406
|
-
100: "var(--sc-base-100)",
|
|
6407
|
-
200: "var(--sc-base-200)",
|
|
6408
|
-
300: "var(--sc-base-300)",
|
|
6409
|
-
400: "var(--sc-base-400)",
|
|
6410
|
-
500: "var(--sc-base-500)",
|
|
6411
|
-
600: "var(--sc-base-600)",
|
|
6412
|
-
700: "var(--sc-base-700)",
|
|
6413
|
-
800: "var(--sc-base-800)",
|
|
6414
|
-
900: "var(--sc-base-900)",
|
|
6415
|
-
content: "var(--sc-base)",
|
|
6416
|
-
},
|
|
6417
|
-
primary: {
|
|
6418
|
-
DEFAULT: "var(--sc-primary)",
|
|
6419
|
-
content: "var(--sc-primary-content)",
|
|
6420
|
-
},
|
|
6421
|
-
success: {
|
|
6422
|
-
DEFAULT: "var(--sc-success)",
|
|
6423
|
-
content: "var(--sc-success-content)",
|
|
6424
|
-
},
|
|
6425
|
-
danger: {
|
|
6426
|
-
DEFAULT: "var(--sc-danger)",
|
|
6427
|
-
content: "var(--sc-danger-content)",
|
|
6428
|
-
},
|
|
6429
|
-
warning: {
|
|
6430
|
-
DEFAULT: "var(--sc-warning)",
|
|
6431
|
-
content: "var(--sc-warning-content)",
|
|
6432
|
-
},
|
|
6433
|
-
info: {
|
|
6434
|
-
DEFAULT: "var(--sc-info)",
|
|
6435
|
-
content: "var(--sc-info-content)",
|
|
6436
|
-
},
|
|
6437
|
-
contrast: {
|
|
6438
|
-
DEFAULT: "var(--sc-contrast)",
|
|
6439
|
-
content: "var(--sc-contrast-content)",
|
|
6440
|
-
},
|
|
6441
|
-
},
|
|
6442
|
-
extend: {
|
|
6443
|
-
borderWidth: {
|
|
6444
|
-
DEFAULT: "var(--sc-border-width)",
|
|
6445
|
-
},
|
|
6446
|
-
fontFamily: {
|
|
6447
|
-
headings: ["var(--sc-headings-font-family, var(--sc-font-family-base, sans-serif))"],
|
|
6448
|
-
body: ["var(--sc-font-family-base)"],
|
|
6449
|
-
monospace: ["var(--sc-font-family-monospace, monospace)"],
|
|
6450
|
-
}
|
|
6451
|
-
}
|
|
5186
|
+
This operation is particularly useful when it comes to adding behavior to a simple existing element.
|
|
5187
|
+
It may also become necessary to establish compatibility with a traditional JS library.
|
|
5188
|
+
|
|
5189
|
+
For example, with a text input:
|
|
5190
|
+
|
|
5191
|
+
- Trigger automatic data or filter update when typing text.
|
|
5192
|
+
- Automatic formatting.
|
|
5193
|
+
- Constraints that cannot be handled by native methods.
|
|
5194
|
+
|
|
5195
|
+
Consequences
|
|
5196
|
+
|
|
5197
|
+
If there is no shadow DOM (see the noShadowDom property of Subscriber):
|
|
5198
|
+
|
|
5199
|
+
- Styling using the static "styles" property of the lit component will not be applied.
|
|
5200
|
+
- The element and its content can be styled in a traditional manner.
|
|
5201
|
+
|
|
5202
|
+
For example, the components queue, list, and fetch do not have a shadow DOM.
|
|
5203
|
+
|
|
5204
|
+
ℹ️ Note: Specifically in this case, it may be useful to set the display property to contents.
|
|
6452
5205
|
|
|
6453
5206
|
---
|
|
6454
5207
|
|