@supersoniks/concorde 5.0.3 → 5.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/concorde-component-docs/SKILL.md +194 -0
- package/.agents/skills/concorde-component-docs/template.md +45 -0
- package/ai/cursor/rules/concorde-theme.mdc +1 -1
- package/ai/cursor/rules/concorde.mdc +1 -1
- package/ai/skills/concorde/SKILL.md +1 -1
- package/ai/skills/concorde-theme/SKILL.md +21 -10
- package/build-infos.json +1 -1
- package/concorde-core.bundle.js +515 -521
- package/concorde-core.es.js +5151 -5056
- package/dist/concorde-core.bundle.js +515 -521
- package/dist/concorde-core.es.js +5151 -5056
- package/dist/docs-mock-api-sw.js +2 -0
- package/dist/docs-mock-api-sw.js.map +2 -2
- package/docs/assets/index-CD4WyL6o.css +1 -0
- package/docs/assets/{index-BnK6OS7w.js → index-wVZpLVYW.js} +815 -808
- package/docs/crawl/core/components/ui/alert/alert.html +76 -5
- package/docs/crawl/core/components/ui/alert-messages/alert-messages.html +113 -5
- package/docs/crawl/core/components/ui/badge/badge.html +57 -8
- package/docs/crawl/core/components/ui/captcha/captcha.html +90 -8
- package/docs/crawl/core/components/ui/card/card.html +122 -12
- package/docs/crawl/core/components/ui/divider/divider.html +117 -31
- package/docs/crawl/core/components/ui/form/fieldset/fieldset.html +232 -101
- package/docs/crawl/core/components/ui/form/form-actions/form-actions.html +95 -52
- package/docs/crawl/core/components/ui/form/form-layout/form-layout.html +97 -38
- package/docs/crawl/core/components/ui/group/group.html +60 -38
- package/docs/crawl/core/components/ui/icon/icon.html +136 -47
- package/docs/crawl/core/components/ui/image/image.html +118 -6
- package/docs/crawl/core/components/ui/link/link.html +65 -7
- package/docs/crawl/core/components/ui/loader/loader.html +97 -23
- package/docs/crawl/core/components/ui/menu/menu.html +162 -90
- package/docs/crawl/core/components/ui/modal/modal.html +275 -50
- package/docs/crawl/core/components/ui/pop/pop.html +242 -124
- package/docs/crawl/core/components/ui/progress/progress.html +103 -30
- package/docs/crawl/core/components/ui/table/table.html +303 -171
- package/docs/crawl/core/components/ui/theme/theme.html +131 -0
- package/docs/crawl/core/components/ui/toast/toast.html +170 -59
- package/docs/crawl/core/components/ui/tooltip/tooltip.html +90 -29
- package/docs/crawl/docs/_decorators/ancestor-attribute.html +3 -2
- package/docs/crawl/docs/_getting-started/start.html +1 -1
- package/docs/crawl/docs/_getting-started/theming.html +311 -63
- package/docs/crawl/hubs/form-components.html +71 -49
- package/docs/crawl/index.html +7 -6
- package/docs/docs-mock-api-sw.js +2 -0
- package/docs/docs-mock-api-sw.js.map +2 -2
- package/docs/index.html +6 -4
- package/docs/llms-full.txt +1468 -405
- package/docs/llms.txt +23 -30
- package/docs/sitemap.xml +3 -0
- package/docs/src/core/components/ui/alert/alert.md +21 -2
- package/docs/src/core/components/ui/alert-messages/alert-messages.md +85 -0
- package/docs/src/core/components/ui/badge/badge.md +19 -6
- package/docs/src/core/components/ui/captcha/captcha.md +65 -6
- package/docs/src/core/components/ui/card/card.md +73 -10
- package/docs/src/core/components/ui/divider/divider.md +107 -13
- package/docs/src/core/components/ui/form/fieldset/fieldset.md +175 -99
- package/docs/src/core/components/ui/form/form-actions/form-actions.md +75 -52
- package/docs/src/core/components/ui/form/form-layout/form-layout.md +109 -34
- package/docs/src/core/components/ui/group/group.md +36 -36
- package/docs/src/core/components/ui/icon/icon.md +132 -43
- package/docs/src/core/components/ui/image/image.md +35 -3
- package/docs/src/core/components/ui/link/link.md +43 -5
- package/docs/src/core/components/ui/loader/loader.md +79 -22
- package/docs/src/core/components/ui/menu/menu.md +133 -92
- package/docs/src/core/components/ui/modal/modal.md +163 -47
- package/docs/src/core/components/ui/pop/pop.md +217 -123
- package/docs/src/core/components/ui/progress/progress.md +76 -30
- package/docs/src/core/components/ui/table/table.md +147 -171
- package/docs/src/core/components/ui/theme/theme.md +122 -0
- package/docs/src/core/components/ui/toast/toast.md +108 -58
- package/docs/src/core/components/ui/tooltip/tooltip.md +68 -26
- package/docs/src/docs/_decorators/ancestor-attribute.md +3 -2
- package/docs/src/docs/_getting-started/start.md +1 -1
- package/docs/src/docs/_getting-started/theming.md +223 -61
- package/docs/src/docs/search/docs-search.json +2504 -399
- package/docs/src/tsconfig.json +18 -0
- package/index.html +4 -2
- package/package.json +7 -1
- package/public/docs-mock-api-sw.js +2 -0
- package/public/docs-mock-api-sw.js.map +2 -2
- package/src/core/components/ui/_css/align.ts +1 -0
- package/src/core/components/ui/_css/type.ts +86 -8
- package/src/core/components/ui/_i18n/ui-aria-labels.ts +8 -0
- package/src/core/components/ui/alert/alert.md +21 -2
- package/src/core/components/ui/alert-messages/alert-messages.md +85 -0
- package/src/core/components/ui/badge/badge.md +19 -6
- package/src/core/components/ui/badge/badge.ts +8 -9
- package/src/core/components/ui/button/button.ts +5 -15
- package/src/core/components/ui/captcha/captcha.md +65 -6
- package/src/core/components/ui/card/card.md +73 -10
- package/src/core/components/ui/card/card.ts +24 -22
- package/src/core/components/ui/divider/divider.md +107 -13
- package/src/core/components/ui/divider/divider.ts +40 -33
- package/src/core/components/ui/form/fieldset/fieldset.md +175 -99
- package/src/core/components/ui/form/fieldset/fieldset.ts +15 -28
- package/src/core/components/ui/form/fieldset/legend.ts +13 -13
- package/src/core/components/ui/form/form-actions/form-actions.md +75 -52
- package/src/core/components/ui/form/form-actions/form-actions.ts +7 -5
- package/src/core/components/ui/form/form-layout/form-layout.md +109 -34
- package/src/core/components/ui/form/form-layout/form-layout.ts +27 -24
- package/src/core/components/ui/form/textarea/textarea.ts +4 -3
- package/src/core/components/ui/group/group.md +36 -36
- package/src/core/components/ui/group/group.ts +5 -10
- package/src/core/components/ui/icon/icon.md +132 -43
- package/src/core/components/ui/image/image.md +35 -3
- package/src/core/components/ui/link/link.md +43 -5
- package/src/core/components/ui/loader/loader.md +79 -22
- package/src/core/components/ui/loader/loader.ts +67 -27
- package/src/core/components/ui/loader/styles/fixed.ts +6 -11
- package/src/core/components/ui/menu/menu.md +133 -92
- package/src/core/components/ui/menu/menu.ts +53 -58
- package/src/core/components/ui/modal/modal.md +163 -47
- package/src/core/components/ui/modal/modal.ts +2 -4
- package/src/core/components/ui/pop/pop.md +217 -123
- package/src/core/components/ui/pop/pop.ts +0 -1
- package/src/core/components/ui/progress/progress.md +76 -30
- package/src/core/components/ui/progress/progress.ts +25 -56
- package/src/core/components/ui/table/table-caption.ts +2 -2
- package/src/core/components/ui/table/table-tbody.ts +3 -3
- package/src/core/components/ui/table/table-td.ts +23 -18
- package/src/core/components/ui/table/table-th.ts +8 -8
- package/src/core/components/ui/table/table-tr.ts +4 -4
- package/src/core/components/ui/table/table.md +147 -171
- package/src/core/components/ui/table/table.ts +20 -19
- package/src/core/components/ui/theme/theme-collection/auto.ts +15 -0
- package/src/core/components/ui/theme/theme-collection/core-variables.ts +8 -31
- package/src/core/components/ui/theme/theme-collection/dark.ts +1 -7
- package/src/core/components/ui/theme/theme-collection/light.ts +30 -26
- package/src/core/components/ui/theme/theme.md +122 -0
- package/src/core/components/ui/theme/theme.ts +30 -7
- package/src/core/components/ui/toast/toast-item.ts +6 -9
- package/src/core/components/ui/toast/toast.md +108 -58
- package/src/core/components/ui/toast/types.ts +1 -1
- package/src/core/components/ui/tooltip/tooltip.md +68 -26
- package/src/core/decorators/subscriber/ancestorAttribute.spec.ts +26 -0
- package/src/core/decorators/subscriber/ancestorAttribute.ts +3 -4
- package/src/core/utils/AncestorAttributeObserver.ts +183 -70
- package/src/docs/_decorators/ancestor-attribute.md +3 -2
- package/src/docs/_getting-started/start.md +1 -1
- package/src/docs/_getting-started/theming.md +223 -61
- package/src/docs/code.ts +125 -58
- package/src/docs/header/header.ts +62 -54
- package/src/docs/mock-api/router.ts +2 -0
- package/src/docs/navigation/navigation.ts +6 -3
- package/src/docs/search/docs-search.json +2504 -399
- package/src/docs/search/markdown-renderer.ts +6 -6
- package/src/docs/search/search.ts +4 -4
- package/src/docs/tailwind/css/tailwind.css +6 -5
- package/src/tsconfig.json +18 -0
- package/src/tsconfig.tsbuildinfo +1 -1
- package/tailwind.config.js +19 -0
- package/docs/assets/index--GpD7R7a.css +0 -1
package/docs/llms-full.txt
CHANGED
|
@@ -948,13 +948,59 @@ I prefer
|
|
|
948
948
|
|
|
949
949
|
---
|
|
950
950
|
|
|
951
|
-
##
|
|
951
|
+
## Alert messages
|
|
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, UI component, sonic-alert-messages, web component
|
|
955
|
+
- Keywords: Concorde, supersoniks, core/components/ui/alert-messages/alert-messages, alert-messages, Alert messages, UI component, sonic-alert-messages, web component, sonic-alert, messages, submitResultDataProvider, type="public", announce, dataProvider, type
|
|
956
956
|
|
|
957
|
+
Alert messages
|
|
957
958
|
|
|
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.
|
|
958
1004
|
|
|
959
1005
|
---
|
|
960
1006
|
|
|
@@ -962,13 +1008,13 @@ I prefer
|
|
|
962
1008
|
|
|
963
1009
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/alert/alert.html
|
|
964
1010
|
- Doc ID: core/components/ui/alert/alert
|
|
965
|
-
- Keywords: Concorde, supersoniks, core/components/ui/alert/alert, alert, Alert, UI component, sonic-alert, web component, label, text, status, default,
|
|
1011
|
+
- Keywords: Concorde, supersoniks, core/components/ui/alert/alert, alert, Alert, UI component, sonic-alert, web component, label, text, announce, status, default, role, aria-live
|
|
966
1012
|
|
|
967
1013
|
Alert
|
|
968
1014
|
|
|
969
|
-
|
|
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.
|
|
970
1016
|
|
|
971
|
-
|
|
1017
|
+
Basic example
|
|
972
1018
|
|
|
973
1019
|
Status
|
|
974
1020
|
|
|
@@ -1056,19 +1102,36 @@ With dismissForever, dismissal is stored in localStorage (key sonic-alert-dismis
|
|
|
1056
1102
|
|
|
1057
1103
|
This address is already in use.
|
|
1058
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 |
|
|
1123
|
+
|
|
1059
1124
|
---
|
|
1060
1125
|
|
|
1061
1126
|
## Badge
|
|
1062
1127
|
|
|
1063
1128
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/badge/badge.html
|
|
1064
1129
|
- Doc ID: core/components/ui/badge/badge
|
|
1065
|
-
- Keywords: Concorde, supersoniks, core/components/ui/badge/badge, badge, Badge, UI component, sonic-badge, web component, sonic-button, type, variant, size,
|
|
1130
|
+
- Keywords: Concorde, supersoniks, core/components/ui/badge/badge, badge, Badge, UI component, sonic-badge, web component, sonic-button, type, variant, size, default, base-100, neutral, base-content, outline
|
|
1066
1131
|
|
|
1067
1132
|
Badge
|
|
1068
1133
|
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
Colors come from theme tokens (--sc-primary, --sc-danger, …) or the semantic type values below.
|
|
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.
|
|
1072
1135
|
|
|
1073
1136
|
Type
|
|
1074
1137
|
|
|
@@ -1084,7 +1147,7 @@ default — subtle background (base-100). neutral — dark fill (base-content) w
|
|
|
1084
1147
|
|
|
1085
1148
|
Variant
|
|
1086
1149
|
|
|
1087
|
-
outline — border and text in the type color. ghost — text only, no padding (except in forced-colors mode).
|
|
1150
|
+
Default variant is filled. outline — border and text in the type color. ghost — text only, no padding (except in forced-colors mode).
|
|
1088
1151
|
|
|
1089
1152
|
Outline
|
|
1090
1153
|
|
|
@@ -1149,6 +1212,21 @@ Count inside a button (slot="suffix") or a badge absolutely positioned on a butt
|
|
|
1149
1212
|
|
|
1150
1213
|
33
|
|
1151
1214
|
|
|
1215
|
+
API reference
|
|
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 |
|
|
1229
|
+
|
|
1152
1230
|
---
|
|
1153
1231
|
|
|
1154
1232
|
## Button
|
|
@@ -1259,11 +1337,54 @@ Custom styles & active states with tailwind
|
|
|
1259
1337
|
|
|
1260
1338
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/captcha/captcha.html
|
|
1261
1339
|
- Doc ID: core/components/ui/captcha/captcha
|
|
1262
|
-
- Keywords: Concorde, supersoniks, core/components/ui/captcha/captcha, captcha, Captcha, UI component, sonic-captcha, web component
|
|
1340
|
+
- Keywords: Concorde, supersoniks, core/components/ui/captcha/captcha, captcha, Captcha, UI component, sonic-captcha, web component, captchaToken, needsCaptchaValidation, formDataProvider, headersDataProvider, sonic-submit, key, generateEncryptedKey
|
|
1263
1341
|
|
|
1264
1342
|
Captcha
|
|
1265
1343
|
|
|
1266
|
-
|
|
1344
|
+
sonic-captcha embeds an ALTCHA widget and wires captchaToken / needsCaptchaValidation on the ancestor formDataProvider (or headersDataProvider). sonic-submit waits for a token before sending when validation is required. The widget loads only on HTTPS; on plain HTTP the host renders nothing.
|
|
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.
|
|
1267
1388
|
|
|
1268
1389
|
---
|
|
1269
1390
|
|
|
@@ -1271,18 +1392,23 @@ Captcha
|
|
|
1271
1392
|
|
|
1272
1393
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/card/card.html
|
|
1273
1394
|
- Doc ID: core/components/ui/card/card
|
|
1274
|
-
- Keywords: Concorde, supersoniks, core/components/ui/card/card, card, Card, UI component, sonic-card, web component, type, sonic-card-header, sonic-card-main, sonic-card-footer, base,
|
|
1395
|
+
- Keywords: Concorde, supersoniks, core/components/ui/card/card, card, Card, UI component, sonic-card, web component, type, shadow, lg, sonic-card-header, sonic-card-main, sonic-card-footer, base, default, light
|
|
1275
1396
|
|
|
1276
1397
|
Card
|
|
1277
1398
|
|
|
1278
|
-
|
|
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.
|
|
1279
1400
|
|
|
1280
|
-
|
|
1401
|
+
Basic example
|
|
1402
|
+
|
|
1403
|
+
Related content on a raised surface.
|
|
1281
1404
|
|
|
1282
1405
|
Type
|
|
1283
1406
|
|
|
1407
|
+
Default type is base. default and light share the same surface tokens.
|
|
1408
|
+
|
|
1284
1409
|
Base
|
|
1285
1410
|
Light
|
|
1411
|
+
Default
|
|
1286
1412
|
Primary
|
|
1287
1413
|
Info
|
|
1288
1414
|
Success
|
|
@@ -1291,9 +1417,20 @@ Type
|
|
|
1291
1417
|
Neutral
|
|
1292
1418
|
Invert
|
|
1293
1419
|
|
|
1420
|
+
Shadow
|
|
1421
|
+
|
|
1422
|
+
Set shadow to control elevation. Default is lg.
|
|
1423
|
+
|
|
1424
|
+
None
|
|
1425
|
+
Small
|
|
1426
|
+
Medium
|
|
1427
|
+
Large
|
|
1428
|
+
|
|
1294
1429
|
Header
|
|
1295
1430
|
|
|
1296
|
-
Quick titles with label and description
|
|
1431
|
+
Quick titles with label and description, or full control through the default slot. slot="suffix" aligns badges or actions on the right; suffix content does not shrink when the title wraps.
|
|
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.
|
|
1297
1434
|
|
|
1298
1435
|
Body content goes in the card slot or in sonic-card-main .
|
|
1299
1436
|
|
|
@@ -1305,8 +1442,6 @@ Quick titles with label and description attributes, or full control through the
|
|
|
1305
1442
|
|
|
1306
1443
|
Use the header slot when attributes are not enough.
|
|
1307
1444
|
|
|
1308
|
-
label and description accept HTML (rendered as markup). Prefer plain text when possible; use the slot for structured content.
|
|
1309
|
-
|
|
1310
1445
|
Main
|
|
1311
1446
|
|
|
1312
1447
|
Optional wrapper for the primary content area (typography, media, forms).
|
|
@@ -1333,25 +1468,115 @@ Header, media, body, and footer together.
|
|
|
1333
1468
|
From $249
|
|
1334
1469
|
Book
|
|
1335
1470
|
|
|
1471
|
+
API reference
|
|
1472
|
+
|
|
1473
|
+
sonic-card
|
|
1474
|
+
|
|
1475
|
+
| Attribute | Values | Description |
|
|
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 |
|
|
1479
|
+
|
|
1480
|
+
| Slot | Description |
|
|
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) |
|
|
1507
|
+
|
|
1336
1508
|
---
|
|
1337
1509
|
|
|
1338
1510
|
## Divider
|
|
1339
1511
|
|
|
1340
1512
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/divider/divider.html
|
|
1341
1513
|
- Doc ID: core/components/ui/divider/divider
|
|
1342
|
-
- Keywords: Concorde, supersoniks, core/components/ui/divider/divider, divider, Divider, UI component, sonic-divider, web component
|
|
1514
|
+
- Keywords: Concorde, supersoniks, core/components/ui/divider/divider, divider, Divider, UI component, sonic-divider, web component, sonic-menu, label, align, center, lineStyle, solid, size, 0.5rem
|
|
1343
1515
|
|
|
1344
1516
|
Divider
|
|
1345
1517
|
|
|
1346
|
-
|
|
1518
|
+
sonic-divider draws a horizontal or vertical rule with optional centered label copy. Use it to separate sections in forms, cards, and sonic-menu. Set label for simple HTML captions or use the default slot for richer markup; default align is center and default lineStyle is solid.
|
|
1347
1519
|
|
|
1348
|
-
|
|
1520
|
+
Basic example
|
|
1521
|
+
|
|
1522
|
+
A bare divider is a full-width line with vertical margin. Omit size to use the host default spacing (0.5rem block margin).
|
|
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.
|
|
1349
1527
|
|
|
1350
1528
|
Size
|
|
1351
1529
|
|
|
1352
|
-
|
|
1530
|
+
size adjusts block margin and label font size. Values follow the shared Concorde scale (2xs … 2xl).
|
|
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.
|
|
1353
1554
|
|
|
1354
|
-
|
|
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.
|
|
1563
|
+
|
|
1564
|
+
API reference
|
|
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.
|
|
1355
1580
|
|
|
1356
1581
|
---
|
|
1357
1582
|
|
|
@@ -1410,98 +1635,212 @@ Checked blacklistFlags values are sent to the mock API (?blacklistFlags=racist,s
|
|
|
1410
1635
|
|
|
1411
1636
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/form/fieldset/fieldset.html
|
|
1412
1637
|
- Doc ID: core/components/ui/form/fieldset/fieldset
|
|
1413
|
-
- Keywords: Concorde, supersoniks, core/components/ui/form/fieldset/fieldset, fieldset, Fieldset, UI component, form, sonic-fieldset, web component
|
|
1638
|
+
- Keywords: Concorde, supersoniks, core/components/ui/form/fieldset/fieldset, fieldset, Fieldset, UI component, form, sonic-fieldset, web component, , sonic-legend, label, description, iconName, variant, default, sonic-form-layout, ghost
|
|
1414
1639
|
|
|
1415
1640
|
Fieldset
|
|
1416
1641
|
|
|
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
|
+
|
|
1417
1646
|
Variant
|
|
1418
1647
|
|
|
1419
|
-
|
|
1648
|
+
ghost and shadow use a transparent border; shadow also applies --sc-shadow-lg.
|
|
1420
1649
|
|
|
1421
|
-
|
|
1650
|
+
Tight layout
|
|
1422
1651
|
|
|
1423
|
-
|
|
1652
|
+
Set tight to remove horizontal padding and side borders (flat strip inside a parent).
|
|
1424
1653
|
|
|
1425
1654
|
Legend
|
|
1426
1655
|
|
|
1427
|
-
|
|
1656
|
+
Use sonic-legend for the group title. Set label and description for simple copy, or use the default slot for custom markup. Add secondary text with sonic-legend-description. Place actions in slot="suffix" on the legend.
|
|
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
|
|
1428
1664
|
|
|
1429
|
-
|
|
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.
|
|
1430
1666
|
|
|
1431
|
-
|
|
1667
|
+
Legend actions
|
|
1432
1668
|
|
|
1433
|
-
|
|
1669
|
+
Use slot="suffix" on sonic-legend for menus or icon buttons aligned to the end of the legend row.
|
|
1434
1670
|
|
|
1435
|
-
|
|
1436
|
-
|
|
1671
|
+
Legal notice
|
|
1672
|
+
Terms of use
|
|
1437
1673
|
|
|
1438
|
-
|
|
1439
|
-
Conditions générales d'utilisation
|
|
1674
|
+
Form association and disabled state
|
|
1440
1675
|
|
|
1441
|
-
|
|
1442
|
-
Je préfère ne pas le dire
|
|
1443
|
-
Homme
|
|
1444
|
-
Femme
|
|
1676
|
+
Associating a distant form
|
|
1445
1677
|
|
|
1446
|
-
|
|
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.
|
|
1447
1679
|
|
|
1448
|
-
|
|
1680
|
+
Save billing
|
|
1449
1681
|
|
|
1450
|
-
|
|
1682
|
+
Disabling a group
|
|
1451
1683
|
|
|
1452
|
-
|
|
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.
|
|
1685
|
+
|
|
1686
|
+
Accessibility
|
|
1687
|
+
|
|
1688
|
+
The inner carries grouping semantics. disabled is applied on that element so nested controls are disabled in the usual way. sonic-legend renders a native for the group label.
|
|
1689
|
+
|
|
1690
|
+
API reference
|
|
1691
|
+
|
|
1692
|
+
sonic-fieldset
|
|
1693
|
+
|
|
1694
|
+
| Attribute | Values | Description |
|
|
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) |
|
|
1706
|
+
|
|
1707
|
+
| Slot | Description |
|
|
1708
|
+
|------|-------------|
|
|
1709
|
+
| (default) | Legend (optional) and field group content in visual order |
|
|
1710
|
+
|
|
1711
|
+
sonic-legend
|
|
1712
|
+
|
|
1713
|
+
| Attribute | Values | Description |
|
|
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 |
|
|
1721
|
+
|
|
1722
|
+
| Slot | Description |
|
|
1723
|
+
|------|-------------|
|
|
1724
|
+
| (default) | Legend title and description components |
|
|
1725
|
+
| suffix | Trailing actions (menus, icon buttons) |
|
|
1726
|
+
|
|
1727
|
+
sonic-legend-description
|
|
1728
|
+
|
|
1729
|
+
Muted description line below the legend title. No attributes—project content through the default slot.
|
|
1453
1730
|
|
|
1454
1731
|
---
|
|
1455
1732
|
|
|
1456
|
-
## Form
|
|
1733
|
+
## Form actions
|
|
1457
1734
|
|
|
1458
1735
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/form/form-actions/form-actions.html
|
|
1459
1736
|
- Doc ID: core/components/ui/form/form-actions/form-actions
|
|
1460
|
-
- Keywords: Concorde, supersoniks, core/components/ui/form/form-actions/form-actions, form-actions, Form
|
|
1737
|
+
- Keywords: Concorde, supersoniks, core/components/ui/form/form-actions/form-actions, form-actions, Form actions, UI component, form, sonic-form-actions, web component, sonic-form-layout, direction, row, justify, flex-start, alignItems, center, justify-content
|
|
1461
1738
|
|
|
1462
|
-
Form
|
|
1739
|
+
Form actions
|
|
1463
1740
|
|
|
1464
|
-
|
|
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.
|
|
1465
1742
|
|
|
1466
|
-
|
|
1467
|
-
Cancel
|
|
1743
|
+
Basic example
|
|
1468
1744
|
|
|
1469
|
-
|
|
1745
|
+
With no attributes, actions align to the start of the row (typical for left-to-right forms).
|
|
1470
1746
|
|
|
1471
|
-
|
|
1472
|
-
|
|
1747
|
+
Submit
|
|
1748
|
+
Cancel
|
|
1473
1749
|
|
|
1474
|
-
|
|
1750
|
+
Justify content
|
|
1475
1751
|
|
|
1476
|
-
|
|
1477
|
-
Cancel
|
|
1752
|
+
justify maps to CSS justify-content. Use flex-end for dialog-style footers or center for balanced toolbars.
|
|
1478
1753
|
|
|
1479
|
-
|
|
1754
|
+
Submit
|
|
1755
|
+
Cancel
|
|
1480
1756
|
|
|
1481
|
-
|
|
1757
|
+
Flex direction
|
|
1482
1758
|
|
|
1483
|
-
|
|
1759
|
+
direction maps to flex-direction. row-reverse swaps visual order while keeping DOM order (focus order unchanged).
|
|
1760
|
+
|
|
1761
|
+
Submit
|
|
1762
|
+
Cancel
|
|
1763
|
+
|
|
1764
|
+
Mixed controls
|
|
1765
|
+
|
|
1766
|
+
Combine sonic-button with sonic-divider vertical or other slotted content. Default alignItems center keeps unlike heights aligned on the cross axis.
|
|
1767
|
+
|
|
1768
|
+
Left seats
|
|
1769
|
+
|
|
1770
|
+
Right seats
|
|
1771
|
+
|
|
1772
|
+
API reference
|
|
1773
|
+
|
|
1774
|
+
| Attribute | Values | Description |
|
|
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 |
|
|
1779
|
+
|
|
1780
|
+
The component exposes a single unnamed slot; there are no named slots. Slotted nodes use the host’s flex gap (0.3rem) and flex-wrap.
|
|
1781
|
+
|
|
1782
|
+
| Slot | Description |
|
|
1783
|
+
|------|-------------|
|
|
1784
|
+
| (default) | Footer actions (sonic-button and related controls) |
|
|
1484
1785
|
|
|
1485
1786
|
---
|
|
1486
1787
|
|
|
1487
|
-
## Form
|
|
1788
|
+
## Form layout
|
|
1488
1789
|
|
|
1489
1790
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/form/form-layout/form-layout.html
|
|
1490
1791
|
- Doc ID: core/components/ui/form/form-layout/form-layout
|
|
1491
|
-
- Keywords: Concorde, supersoniks, core/components/ui/form/form-layout/form-layout, form-layout, Form
|
|
1792
|
+
- Keywords: Concorde, supersoniks, core/components/ui/form/form-layout/form-layout, form-layout, Form layout, UI component, form, sonic-form-layout, web component, sonic-input, sonic-select, sonic-input-autocomplete, sonic-form-actions, sonic-fieldset, offsetWidth
|
|
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
|
|
1809
|
+
|
|
1810
|
+
I accept the
|
|
1811
|
+
terms and conditions
|
|
1812
|
+
|
|
1813
|
+
Submit
|
|
1814
|
+
|
|
1815
|
+
Responsive columns
|
|
1816
|
+
|
|
1817
|
+
When the host offsetWidth is greater than 440px, the grid uses two equal columns with slightly larger gap (1.75rem). Below that breakpoint, fields stack in a single column (1.5rem gap).
|
|
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
|
|
1492
1832
|
|
|
1493
|
-
|
|
1833
|
+
Custom column wrapper
|
|
1494
1834
|
|
|
1495
|
-
|
|
1496
|
-
Je préfère ne pas le dire
|
|
1497
|
-
Homme
|
|
1498
|
-
Femme
|
|
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.
|
|
1499
1836
|
|
|
1500
|
-
|
|
1501
|
-
Inscription à la newsletter
|
|
1502
|
-
J'ai lu et accepte les Conditions générales de ventes
|
|
1837
|
+
API reference
|
|
1503
1838
|
|
|
1504
|
-
|
|
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 |
|
|
1505
1844
|
|
|
1506
1845
|
---
|
|
1507
1846
|
|
|
@@ -1736,47 +2075,91 @@ Size
|
|
|
1736
2075
|
|
|
1737
2076
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/group/group.html
|
|
1738
2077
|
- Doc ID: core/components/ui/group/group
|
|
1739
|
-
- Keywords: Concorde, supersoniks, core/components/ui/group/group, group, Group, UI component, sonic-group, web component
|
|
2078
|
+
- Keywords: Concorde, supersoniks, core/components/ui/group/group, group, Group, UI component, sonic-group, web component, sonic-button, sonic-input, sonic-select, label, description, radio, name, formDataProvider
|
|
1740
2079
|
|
|
1741
2080
|
Group
|
|
1742
2081
|
|
|
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
|
+
|
|
1743
2084
|
Radio group
|
|
1744
2085
|
|
|
2086
|
+
Pair with sonic-button radio and a shared name; ancestor formDataProvider stores the selected value.
|
|
2087
|
+
|
|
1745
2088
|
😎 Standard
|
|
1746
2089
|
⭐ Premium
|
|
1747
2090
|
💎 Diamond
|
|
1748
2091
|
|
|
1749
2092
|
Button group
|
|
1750
2093
|
|
|
1751
|
-
|
|
2094
|
+
Adjacent link or action buttons without merging into one control.
|
|
2095
|
+
|
|
2096
|
+
🗼 Air France
|
|
1752
2097
|
🌴 Air Tahiti
|
|
1753
2098
|
💣 Air Corsica
|
|
1754
2099
|
|
|
1755
2100
|
Input actions prefix
|
|
1756
2101
|
|
|
2102
|
+
Action control before the field. label or description on sonic-group annotate the row.
|
|
2103
|
+
|
|
1757
2104
|
Input actions suffix
|
|
1758
2105
|
|
|
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
|
+
|
|
1759
2122
|
---
|
|
1760
2123
|
|
|
1761
2124
|
## Icon
|
|
1762
2125
|
|
|
1763
2126
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/icon/icon.html
|
|
1764
2127
|
- Doc ID: core/components/ui/icon/icon
|
|
1765
|
-
- Keywords: Concorde, supersoniks, core/components/ui/icon/icon, icon, Icon, UI component, sonic-icon, web component
|
|
2128
|
+
- Keywords: Concorde, supersoniks, core/components/ui/icon/icon, icon, Icon, UI component, sonic-icon, web component, name, library, prefix, size, currentColor, aria-hidden, icons.json
|
|
1766
2129
|
|
|
1767
2130
|
Icon
|
|
1768
2131
|
|
|
1769
|
-
|
|
2132
|
+
sonic-icon renders inline SVG icons from the bundled core set or from CDN libraries. Set name (and library / prefix when needed); scale with size. Icons inherit currentColor and are aria-hidden by default—keep visible text nearby or label the control that contains them.
|
|
1770
2133
|
|
|
1771
|
-
|
|
2134
|
+
Core library
|
|
1772
2135
|
|
|
1773
|
-
|
|
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.
|
|
1774
2137
|
|
|
1775
|
-
|
|
2138
|
+
cancel
|
|
1776
2139
|
|
|
1777
|
-
|
|
2140
|
+
check
|
|
2141
|
+
|
|
2142
|
+
check-circled-outline
|
|
2143
|
+
|
|
2144
|
+
emoji-puzzled
|
|
1778
2145
|
|
|
1779
|
-
|
|
2146
|
+
info-empty
|
|
2147
|
+
|
|
2148
|
+
loader
|
|
2149
|
+
|
|
2150
|
+
minus-small
|
|
2151
|
+
|
|
2152
|
+
more-horiz
|
|
2153
|
+
|
|
2154
|
+
more-vert
|
|
2155
|
+
|
|
2156
|
+
nav-arrow-down
|
|
2157
|
+
|
|
2158
|
+
warning-circled-outline
|
|
2159
|
+
|
|
2160
|
+
External libraries
|
|
2161
|
+
|
|
2162
|
+
Set library to load SVGs from a built-in CDN template. prefix falls back to each library’s default when omitted (outline for heroicons, regular for fontAwesome and material, and so on).
|
|
1780
2163
|
|
|
1781
2164
|
heroicons
|
|
1782
2165
|
|
|
@@ -1792,8 +2175,20 @@ External
|
|
|
1792
2175
|
|
|
1793
2176
|
lucide
|
|
1794
2177
|
|
|
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
|
+
|
|
1795
2188
|
Size
|
|
1796
2189
|
|
|
2190
|
+
Omit size for the default scale (1em height). Larger steps use 3xl.
|
|
2191
|
+
|
|
1797
2192
|
2xs
|
|
1798
2193
|
|
|
1799
2194
|
xs
|
|
@@ -1810,17 +2205,34 @@ Size
|
|
|
1810
2205
|
|
|
1811
2206
|
3xl
|
|
1812
2207
|
|
|
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
|
+
|
|
1813
2225
|
---
|
|
1814
2226
|
|
|
1815
2227
|
## Image
|
|
1816
2228
|
|
|
1817
2229
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/image/image.html
|
|
1818
2230
|
- Doc ID: core/components/ui/image/image
|
|
1819
|
-
- Keywords: Concorde, supersoniks, core/components/ui/image/image, image, Image, UI component, sonic-image, web component, , object-fit: cover, --sc-placeholder-bg, loading, lazy, loading="eager", rounded, --sc-rounded
|
|
2231
|
+
- Keywords: Concorde, supersoniks, core/components/ui/image/image, image, Image, UI component, sonic-image, web component, , object-fit: cover, --sc-placeholder-bg, loading, lazy, loading="eager", rounded, --sc-rounded
|
|
1820
2232
|
|
|
1821
2233
|
Image
|
|
1822
2234
|
|
|
1823
|
-
|
|
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.
|
|
1824
2236
|
|
|
1825
2237
|
Rounded
|
|
1826
2238
|
|
|
@@ -1868,69 +2280,175 @@ Accessibility and parts
|
|
|
1868
2280
|
|
|
1869
2281
|
Always set meaningful alt text (empty string only for decorative images).
|
|
1870
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
|
+
|
|
1871
2315
|
---
|
|
1872
2316
|
|
|
1873
2317
|
## Link
|
|
1874
2318
|
|
|
1875
2319
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/link/link.html
|
|
1876
2320
|
- Doc ID: core/components/ui/link/link
|
|
1877
|
-
- Keywords: Concorde, supersoniks, core/components/ui/link/link, link, Link, UI component, sonic-link, web component
|
|
2321
|
+
- Keywords: Concorde, supersoniks, core/components/ui/link/link, link, Link, UI component, sonic-link, web component, href, pushstate, autoActive, active, target="_blank", rel="noopener noreferrer", partial
|
|
1878
2322
|
|
|
1879
2323
|
Link
|
|
1880
2324
|
|
|
1881
|
-
|
|
2325
|
+
Links navigate with inherited typography: internal routes, anchors, or external URLs. The default slot is the anchor label. For in-app routing, pair href with pushstate; use autoActive to reflect the current URL on the host (active).
|
|
2326
|
+
|
|
2327
|
+
Basic example
|
|
1882
2328
|
|
|
1883
2329
|
Basic link with href attribute
|
|
1884
2330
|
|
|
1885
2331
|
Target
|
|
1886
2332
|
|
|
2333
|
+
target="blank" opens a new browsing context and sets rel="noopener noreferrer".
|
|
2334
|
+
|
|
1887
2335
|
Link with target attribute
|
|
1888
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)
|
|
2342
|
+
|
|
1889
2343
|
AutoActive
|
|
1890
2344
|
|
|
2345
|
+
Default autoActive is partial: the host gets active when the current URL starts with href. Style with [&[active]]: utilities or host selectors.
|
|
2346
|
+
|
|
1891
2347
|
autoActive partial (default)
|
|
1892
2348
|
|
|
1893
|
-
AutoActive
|
|
2349
|
+
AutoActive strict vs partial
|
|
2350
|
+
|
|
2351
|
+
strict requires pathname, search, and hash to match. strict-path-only matches pathname and hash but ignores search.
|
|
1894
2352
|
|
|
1895
2353
|
autoActive strict
|
|
1896
|
-
autoActive strict
|
|
2354
|
+
autoActive strict (long href)
|
|
2355
|
+
autoActive strict-path-only
|
|
1897
2356
|
|
|
1898
2357
|
AutoActive disabled
|
|
1899
2358
|
|
|
1900
2359
|
autoActive disabled
|
|
1901
2360
|
|
|
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
|
+
|
|
1902
2379
|
---
|
|
1903
2380
|
|
|
1904
2381
|
## Loader
|
|
1905
2382
|
|
|
1906
2383
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/loader/loader.html
|
|
1907
2384
|
- Doc ID: core/components/ui/loader/loader
|
|
1908
|
-
- Keywords: Concorde, supersoniks, core/components/ui/loader/loader, loader, Loader, UI component, sonic-loader, web component
|
|
2385
|
+
- Keywords: Concorde, supersoniks, core/components/ui/loader/loader, loader, Loader, UI component, sonic-loader, web component, mode, fixed, inline, noDelay, sonic-fetch, sonic-list, currentColor
|
|
1909
2386
|
|
|
1910
2387
|
Loader
|
|
1911
2388
|
|
|
1912
|
-
|
|
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.
|
|
1913
2390
|
|
|
1914
|
-
|
|
2391
|
+
Basic example
|
|
1915
2392
|
|
|
1916
|
-
|
|
2393
|
+
Inline loaders fit content areas; they use the theme primary color unless currentColor is set.
|
|
1917
2394
|
|
|
1918
|
-
|
|
2395
|
+
Mode
|
|
1919
2396
|
|
|
1920
|
-
|
|
2397
|
+
inline — ellipsis animation in the document flow. fixed — centered overlay (position: fixed); default when the tag is omitted.
|
|
1921
2398
|
|
|
1922
|
-
|
|
2399
|
+
Use the checkbox below to toggle a fixed loader over the page (default mode on sonic-loader).
|
|
1923
2400
|
|
|
1924
|
-
|
|
2401
|
+
Inline alignment and color
|
|
1925
2402
|
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
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
|
+
});
|
|
2425
|
+
|
|
2426
|
+
Loader.hide();
|
|
2427
|
+
|
|
2428
|
+
Composition
|
|
2429
|
+
|
|
2430
|
+
sonic-button loading shows an icon spinner and sets aria-busy on the button. sonic-fetch and sonic-list render sonic-loader when their loader attribute is set: true or an empty string maps to fixed; otherwise use inline or fixed.
|
|
2431
|
+
|
|
2432
|
+
Save changes
|
|
2433
|
+
|
|
2434
|
+
API reference
|
|
2435
|
+
|
|
2436
|
+
| Attribute | Values | Description |
|
|
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 |
|
|
2443
|
+
|
|
2444
|
+
This component has no slots. The animation markup is internal.
|
|
2445
|
+
|
|
2446
|
+
Static methods
|
|
2447
|
+
|
|
2448
|
+
| Method | Description |
|
|
2449
|
+
|--------|-------------|
|
|
2450
|
+
| Loader.show(conf?) | Mounts the shared loader instance. conf.mode, conf.noDelay, conf.announce, optional conf.container. Without container, uses the theme pop container and forces fixed. |
|
|
2451
|
+
| Loader.hide() | Decrements the show counter and removes the instance from the DOM when it reaches zero. |
|
|
1934
2452
|
|
|
1935
2453
|
---
|
|
1936
2454
|
|
|
@@ -1938,12 +2456,24 @@ import {Loader} from "@supersoniks/concorde/core/components/ui/loader/loader";
|
|
|
1938
2456
|
|
|
1939
2457
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/menu/menu.html
|
|
1940
2458
|
- Doc ID: core/components/ui/menu/menu
|
|
1941
|
-
- Keywords: Concorde, supersoniks, core/components/ui/menu/menu, menu, Menu, UI component, sonic-menu, web component
|
|
2459
|
+
- Keywords: Concorde, supersoniks, core/components/ui/menu/menu, menu, Menu, UI component, sonic-menu, web component, direction, sonic-menu-item, variant, shape, sonic-divider, more, href, pushstate, autoActive
|
|
1942
2460
|
|
|
1943
2461
|
Menu
|
|
1944
2462
|
|
|
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
|
+
|
|
1945
2473
|
Direction
|
|
1946
2474
|
|
|
2475
|
+
Default direction is column. Use row for horizontal toolbars or tabs.
|
|
2476
|
+
|
|
1947
2477
|
Row
|
|
1948
2478
|
|
|
1949
2479
|
Profile
|
|
@@ -1966,7 +2496,9 @@ Direction
|
|
|
1966
2496
|
|
|
1967
2497
|
Size
|
|
1968
2498
|
|
|
1969
|
-
|
|
2499
|
+
size on the menu propagates to items and the more trigger when they omit their own size.
|
|
2500
|
+
|
|
2501
|
+
XS
|
|
1970
2502
|
|
|
1971
2503
|
Profile
|
|
1972
2504
|
|
|
@@ -1974,7 +2506,7 @@ Size
|
|
|
1974
2506
|
|
|
1975
2507
|
Orders
|
|
1976
2508
|
|
|
1977
|
-
|
|
2509
|
+
Small
|
|
1978
2510
|
|
|
1979
2511
|
Profile
|
|
1980
2512
|
|
|
@@ -1982,7 +2514,7 @@ Size
|
|
|
1982
2514
|
|
|
1983
2515
|
Orders
|
|
1984
2516
|
|
|
1985
|
-
|
|
2517
|
+
Medium
|
|
1986
2518
|
|
|
1987
2519
|
Profile
|
|
1988
2520
|
|
|
@@ -1990,7 +2522,7 @@ Size
|
|
|
1990
2522
|
|
|
1991
2523
|
Orders
|
|
1992
2524
|
|
|
1993
|
-
|
|
2525
|
+
Large
|
|
1994
2526
|
|
|
1995
2527
|
Profile
|
|
1996
2528
|
|
|
@@ -1998,7 +2530,7 @@ Size
|
|
|
1998
2530
|
|
|
1999
2531
|
Orders
|
|
2000
2532
|
|
|
2001
|
-
|
|
2533
|
+
XL
|
|
2002
2534
|
|
|
2003
2535
|
Profile
|
|
2004
2536
|
|
|
@@ -2008,30 +2540,36 @@ Size
|
|
|
2008
2540
|
|
|
2009
2541
|
Shadow
|
|
2010
2542
|
|
|
2011
|
-
|
|
2543
|
+
Optional shadow wraps the menu surface (no shadow when omitted).
|
|
2012
2544
|
|
|
2013
|
-
|
|
2545
|
+
None
|
|
2014
2546
|
|
|
2015
|
-
|
|
2547
|
+
Small
|
|
2016
2548
|
|
|
2017
|
-
|
|
2549
|
+
Medium
|
|
2550
|
+
|
|
2551
|
+
Large
|
|
2018
2552
|
|
|
2019
2553
|
Align
|
|
2020
2554
|
|
|
2021
|
-
|
|
2555
|
+
align propagates to items except square / circle shape.
|
|
2022
2556
|
|
|
2023
|
-
|
|
2557
|
+
Home
|
|
2024
2558
|
|
|
2025
|
-
|
|
2559
|
+
Profile
|
|
2026
2560
|
|
|
2027
|
-
|
|
2561
|
+
Home
|
|
2028
2562
|
|
|
2029
|
-
|
|
2563
|
+
Profile
|
|
2030
2564
|
|
|
2031
|
-
|
|
2565
|
+
Home
|
|
2566
|
+
|
|
2567
|
+
Profile
|
|
2032
2568
|
|
|
2033
2569
|
More
|
|
2034
2570
|
|
|
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
|
+
|
|
2035
2573
|
Home
|
|
2036
2574
|
|
|
2037
2575
|
Profile
|
|
@@ -2048,6 +2586,8 @@ More
|
|
|
2048
2586
|
|
|
2049
2587
|
Scrollable
|
|
2050
2588
|
|
|
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
|
+
|
|
2051
2591
|
Home
|
|
2052
2592
|
|
|
2053
2593
|
Profile
|
|
@@ -2082,74 +2622,189 @@ Scrollable
|
|
|
2082
2622
|
|
|
2083
2623
|
Log out
|
|
2084
2624
|
|
|
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
|
+
|
|
2085
2644
|
---
|
|
2086
2645
|
|
|
2087
|
-
##
|
|
2646
|
+
## Modal
|
|
2088
2647
|
|
|
2089
2648
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/modal/modal.html
|
|
2090
2649
|
- Doc ID: core/components/ui/modal/modal
|
|
2091
|
-
- Keywords: Concorde, supersoniks, core/components/ui/modal/modal, modal, UI component, sonic-modal, web component
|
|
2650
|
+
- Keywords: Concorde, supersoniks, core/components/ui/modal/modal, modal, Modal, UI component, sonic-modal, web component, , sonic-modal-title, sonic-modal-subtitle, sonic-modal-content, sonic-modal-actions, show(), hideModal, hide(), forceAction
|
|
2092
2651
|
|
|
2093
2652
|
Modal
|
|
2094
2653
|
|
|
2095
|
-
|
|
2654
|
+
sonic-modal presents focused content in a overlay with backdrop, enter/exit animation, and a built-in close control. Compose sonic-modal-title / sonic-modal-subtitle / sonic-modal-content / sonic-modal-actions, or use the default slot. Call show() on the element to open; use hideModal on action buttons or hide() from script. Set forceAction when dismissal must go through explicit actions only. Imperative dialogs: Modal.create() (also window.SonicModal).
|
|
2096
2655
|
|
|
2097
|
-
|
|
2098
|
-
|
|
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.
|
|
2659
|
+
|
|
2660
|
+
Open modal
|
|
2099
2661
|
|
|
2100
|
-
|
|
2662
|
+
Export ready
|
|
2663
|
+
New
|
|
2101
2664
|
|
|
2102
|
-
|
|
2665
|
+
Your report finished processing.
|
|
2103
2666
|
|
|
2104
|
-
|
|
2667
|
+
Download the CSV now or review the summary in your dashboard before sharing.
|
|
2105
2668
|
|
|
2106
|
-
|
|
2669
|
+
Save draft
|
|
2107
2670
|
|
|
2108
|
-
|
|
2671
|
+
Download
|
|
2109
2672
|
|
|
2110
|
-
|
|
2673
|
+
Scrollable content
|
|
2111
2674
|
|
|
2112
|
-
|
|
2113
|
-
Du mercredi au samedi de 13h30 à 19h et le dimanche de 13h30 à 18h
|
|
2114
|
-
+ horaires spécifiques pour événements ou festivals
|
|
2675
|
+
Long copy scrolls inside the dialog. Default maxHeight is 90vh. Default align is left.
|
|
2115
2676
|
|
|
2116
|
-
|
|
2117
|
-
La participation à certains événements et activités est soumise à un système de billetterie avec achats ou
|
|
2118
|
-
réservations disponibles en ligne ou au guichet.
|
|
2677
|
+
Venue details
|
|
2119
2678
|
|
|
2120
|
-
|
|
2121
|
-
varier selon la nature de l’événement. Les tarifs sont identiques en ligne et au guichet. Il est néanmoins
|
|
2122
|
-
conseillé de réserver les billets en avance pour s’assurer une place.
|
|
2679
|
+
Hours and tickets
|
|
2123
2680
|
|
|
2124
|
-
|
|
2125
|
-
|
|
2681
|
+
Opening hours
|
|
2682
|
+
Wednesday–Saturday, 1:30 p.m.–7:00 p.m.; Sunday, 1:30 p.m.–6:00 p.m.
|
|
2126
2683
|
|
|
2127
|
-
|
|
2684
|
+
Ticketing
|
|
2685
|
+
Some events require online or box-office reservations. Prices vary by event; booking ahead is recommended when capacity is limited.
|
|
2128
2686
|
|
|
2129
|
-
|
|
2130
|
-
|
|
2687
|
+
Contact
|
|
2688
|
+
tickets@example.com · +33 3 28 33 48 33
|
|
2131
2689
|
|
|
2132
|
-
|
|
2133
|
-
|
|
2690
|
+
Access
|
|
2691
|
+
14 Place Faidherbe, 59100 Roubaix
|
|
2692
|
+
Metro line 2, Eurotéléport stop
|
|
2134
2693
|
|
|
2135
2694
|
Force action
|
|
2136
2695
|
|
|
2137
|
-
|
|
2696
|
+
With forceAction, backdrop click, Escape, and the default close button are disabled. Provide sonic-modal-actions (or sonic-modal-close) so users can finish the flow.
|
|
2138
2697
|
|
|
2139
|
-
|
|
2698
|
+
Cookie consent
|
|
2140
2699
|
|
|
2141
|
-
|
|
2700
|
+
Allow analytics cookies?
|
|
2142
2701
|
|
|
2143
|
-
|
|
2144
|
-
|
|
2702
|
+
We use cookies to measure traffic and improve the product. You can change this later in settings.
|
|
2703
|
+
|
|
2704
|
+
Decline
|
|
2705
|
+
Accept
|
|
2145
2706
|
|
|
2146
2707
|
Custom dimensions
|
|
2147
2708
|
|
|
2148
|
-
|
|
2709
|
+
Set width / height / maxWidth / maxHeight (CSS lengths). On narrow viewports the panel becomes a bottom sheet. Use rounded="none" for edge-to-edge media.
|
|
2710
|
+
|
|
2711
|
+
Image preview
|
|
2149
2712
|
|
|
2150
2713
|
Fullscreen
|
|
2151
2714
|
|
|
2152
|
-
|
|
2715
|
+
fullscreen fills the viewport and hides the backdrop.
|
|
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 |
|
|
2153
2808
|
|
|
2154
2809
|
---
|
|
2155
2810
|
|
|
@@ -2157,71 +2812,81 @@ Fullscreen
|
|
|
2157
2812
|
|
|
2158
2813
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/pop/pop.html
|
|
2159
2814
|
- Doc ID: core/components/ui/pop/pop
|
|
2160
|
-
- Keywords: Concorde, supersoniks, core/components/ui/pop/pop, pop, Pop, UI component, sonic-pop, web component,
|
|
2815
|
+
- Keywords: Concorde, supersoniks, core/components/ui/pop/pop, pop, Pop, UI component, sonic-pop, web component, slot="content", manual, placement, bottom, top, left, right, -start
|
|
2161
2816
|
|
|
2162
2817
|
Pop
|
|
2163
2818
|
|
|
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
|
+
|
|
2164
2829
|
Placement
|
|
2165
2830
|
|
|
2166
|
-
|
|
2831
|
+
Use top · bottom · left · right for the main axis. Add -start · -center · -end to align along the trigger edge. With no align suffix, content aligns to start. Legacy space syntax (placement="bottom center") still works but is deprecated—prefer bottom-center.
|
|
2167
2832
|
|
|
2168
|
-
|
|
2833
|
+
Left
|
|
2169
2834
|
|
|
2170
|
-
|
|
2835
|
+
Notifications
|
|
2171
2836
|
|
|
2172
|
-
|
|
2837
|
+
Right
|
|
2173
2838
|
|
|
2174
|
-
|
|
2839
|
+
Notifications
|
|
2175
2840
|
|
|
2176
|
-
|
|
2841
|
+
Top
|
|
2177
2842
|
|
|
2178
|
-
|
|
2843
|
+
Notifications
|
|
2179
2844
|
|
|
2180
|
-
|
|
2845
|
+
Bottom
|
|
2181
2846
|
|
|
2182
|
-
|
|
2847
|
+
Notifications
|
|
2183
2848
|
|
|
2184
|
-
|
|
2849
|
+
Center-aligned sides
|
|
2185
2850
|
|
|
2186
|
-
|
|
2851
|
+
Bottom center
|
|
2187
2852
|
|
|
2188
|
-
|
|
2853
|
+
Notifications
|
|
2189
2854
|
|
|
2190
|
-
|
|
2855
|
+
Top center
|
|
2191
2856
|
|
|
2192
|
-
|
|
2857
|
+
Notifications
|
|
2193
2858
|
|
|
2194
|
-
|
|
2859
|
+
Left center
|
|
2195
2860
|
|
|
2196
|
-
|
|
2861
|
+
Notifications
|
|
2197
2862
|
|
|
2198
|
-
|
|
2863
|
+
Right center
|
|
2199
2864
|
|
|
2200
|
-
|
|
2865
|
+
Notifications
|
|
2201
2866
|
|
|
2202
2867
|
Shadow
|
|
2203
2868
|
|
|
2204
|
-
Default shadow is lg.
|
|
2869
|
+
Default shadow is lg. The shadow applies to the floating content panel.
|
|
2205
2870
|
|
|
2206
|
-
|
|
2871
|
+
None
|
|
2207
2872
|
|
|
2208
|
-
|
|
2873
|
+
Notifications
|
|
2209
2874
|
|
|
2210
|
-
|
|
2875
|
+
Small
|
|
2211
2876
|
|
|
2212
|
-
|
|
2877
|
+
Notifications
|
|
2213
2878
|
|
|
2214
|
-
|
|
2879
|
+
Medium
|
|
2215
2880
|
|
|
2216
|
-
|
|
2881
|
+
Notifications
|
|
2217
2882
|
|
|
2218
|
-
|
|
2883
|
+
Large
|
|
2219
2884
|
|
|
2220
|
-
|
|
2885
|
+
Notifications
|
|
2221
2886
|
|
|
2222
2887
|
Inline
|
|
2223
2888
|
|
|
2224
|
-
By default
|
|
2889
|
+
By default the host is middle-aligned with siblings. Set inline to baseline-align the trigger inside running text.
|
|
2225
2890
|
|
|
2226
2891
|
The Concorde flew from Paris to
|
|
2227
2892
|
|
|
@@ -2232,98 +2897,152 @@ By default, pop is vertically aligned to the middle. Use inline to align it on t
|
|
|
2232
2897
|
|
|
2233
2898
|
in about 3.5 hours.
|
|
2234
2899
|
|
|
2235
|
-
|
|
2900
|
+
No toggle
|
|
2901
|
+
|
|
2902
|
+
With noToggle, a click on the trigger still opens the pop but does not close it when it is already open. Use hide() or an outside click to dismiss.
|
|
2903
|
+
|
|
2904
|
+
No toggle on click
|
|
2905
|
+
|
|
2906
|
+
Notifications
|
|
2236
2907
|
|
|
2237
|
-
|
|
2908
|
+
Default toggle on click
|
|
2238
2909
|
|
|
2239
|
-
|
|
2910
|
+
Notifications
|
|
2240
2911
|
|
|
2241
|
-
|
|
2912
|
+
Manual control
|
|
2242
2913
|
|
|
2243
|
-
|
|
2914
|
+
Set manual to disable built-in click and keyboard toggle on the trigger. Call show() and hide() on the element instead. The pop dispatches show when it opens and hide when it closes.
|
|
2244
2915
|
|
|
2245
|
-
|
|
2916
|
+
Click Click to open pop to open the panel programmatically.
|
|
2246
2917
|
|
|
2247
|
-
Manual
|
|
2918
|
+
Manual trigger
|
|
2248
2919
|
|
|
2249
|
-
|
|
2920
|
+
It worked!
|
|
2250
2921
|
|
|
2251
2922
|
Click to open pop
|
|
2252
2923
|
|
|
2253
2924
|
Keep open on select
|
|
2254
2925
|
|
|
2255
|
-
By default, a click inside
|
|
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.
|
|
2256
2927
|
|
|
2257
|
-
|
|
2928
|
+
Closes on select
|
|
2258
2929
|
|
|
2259
|
-
|
|
2260
|
-
|
|
2930
|
+
Option A
|
|
2931
|
+
Option B
|
|
2261
2932
|
|
|
2262
|
-
|
|
2933
|
+
Stays open on select
|
|
2263
2934
|
|
|
2264
|
-
|
|
2265
|
-
|
|
2935
|
+
Option A
|
|
2936
|
+
Option B
|
|
2266
2937
|
|
|
2267
|
-
Keyboard
|
|
2938
|
+
Keyboard and dismissal
|
|
2268
2939
|
|
|
2269
|
-
|
|
2270
|
-
- Escape closes the last opened pop and gives focus back to its trigger.
|
|
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.
|
|
2271
2941
|
|
|
2272
|
-
|
|
2942
|
+
Focus me — ArrowDown opens, Escape closes
|
|
2273
2943
|
|
|
2274
|
-
|
|
2944
|
+
First item
|
|
2945
|
+
Second item
|
|
2275
2946
|
|
|
2276
|
-
|
|
2277
|
-
pop.addEventListener("hide", () => console.log("pop closed"));
|
|
2278
|
-
pop.show();
|
|
2947
|
+
API reference
|
|
2279
2948
|
|
|
2280
|
-
|
|
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() |
|
|
2281
2956
|
|
|
2282
|
-
|
|
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 |
|
|
2283
2961
|
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
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.
|
|
2287
2967
|
|
|
2288
2968
|
---
|
|
2289
2969
|
|
|
2290
|
-
## Progress
|
|
2970
|
+
## Progress
|
|
2291
2971
|
|
|
2292
2972
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/progress/progress.html
|
|
2293
2973
|
- Doc ID: core/components/ui/progress/progress
|
|
2294
|
-
- Keywords: Concorde, supersoniks, core/components/ui/progress/progress, progress, Progress
|
|
2974
|
+
- Keywords: Concorde, supersoniks, core/components/ui/progress/progress, progress, Progress, UI component, sonic-progress, web component, value, max, , remaining, invert, sonic-card, to **, ** (default
|
|
2295
2975
|
|
|
2296
|
-
Progress
|
|
2976
|
+
Progress
|
|
2297
2977
|
|
|
2298
|
-
|
|
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.
|
|
2299
2979
|
|
|
2300
|
-
|
|
2980
|
+
Basic example
|
|
2301
2981
|
|
|
2302
|
-
|
|
2982
|
+
Set value from 0 to max (default 100). Label text uses the type color.
|
|
2303
2983
|
|
|
2304
|
-
|
|
2984
|
+
50%
|
|
2305
2985
|
|
|
2306
|
-
|
|
2986
|
+
Indeterminate
|
|
2307
2987
|
|
|
2308
|
-
|
|
2309
|
-
25%
|
|
2310
|
-
25%
|
|
2311
|
-
25%
|
|
2312
|
-
25%
|
|
2313
|
-
25%
|
|
2314
|
-
25%
|
|
2988
|
+
With no value, the bar animates until progress is known.
|
|
2315
2989
|
|
|
2316
2990
|
Type
|
|
2317
2991
|
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
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
|
|
3003
|
+
|
|
3004
|
+
Bar height scales with typography via size. With no size, font size matches md (1rem).
|
|
3005
|
+
|
|
3006
|
+
25%
|
|
3007
|
+
25%
|
|
3008
|
+
25%
|
|
3009
|
+
25%
|
|
3010
|
+
25%
|
|
3011
|
+
25%
|
|
3012
|
+
25%
|
|
3013
|
+
|
|
3014
|
+
Default and remaining slots
|
|
3015
|
+
|
|
3016
|
+
The default slot is the main label (left). remaining is right-aligned with lighter weight—use it for “left to complete” copy.
|
|
3017
|
+
|
|
3018
|
+
80% Used 20% left
|
|
2323
3019
|
|
|
2324
3020
|
Invert
|
|
2325
3021
|
|
|
2326
|
-
|
|
3022
|
+
On tinted backgrounds, invert adjusts track and fill tokens so the bar stays readable (pair with matching type on sonic-card or similar).
|
|
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) |
|
|
2327
3046
|
|
|
2328
3047
|
---
|
|
2329
3048
|
|
|
@@ -2331,11 +3050,15 @@ Invert
|
|
|
2331
3050
|
|
|
2332
3051
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/table/table.html
|
|
2333
3052
|
- Doc ID: core/components/ui/table/table
|
|
2334
|
-
- Keywords: Concorde, supersoniks, core/components/ui/table/table, table, Table, UI component, sonic-table, web component
|
|
3053
|
+
- Keywords: Concorde, supersoniks, core/components/ui/table/table, table, Table, UI component, sonic-table, web component, sonic-tr, sonic-th, sonic-td, size, maxHeight, sonic-thead, sonic-tbody, sonic-list
|
|
2335
3054
|
|
|
2336
3055
|
Table
|
|
2337
3056
|
|
|
2338
|
-
|
|
3057
|
+
sonic-table lays out tabular data with composable sonic-tr / sonic-th / sonic-td children. The root applies shared typography via size, scrolls horizontally when content overflows, and optionally caps height with maxHeight. Pair with sonic-thead and sonic-tbody for structure and with sonic-list to render fetched rows.
|
|
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.
|
|
2339
3062
|
|
|
2340
3063
|
Id
|
|
2341
3064
|
Name
|
|
@@ -2353,7 +3076,9 @@ Basic usage
|
|
|
2353
3076
|
Emma Wong
|
|
2354
3077
|
emma.wong@reqres.in
|
|
2355
3078
|
|
|
2356
|
-
List
|
|
3079
|
+
List and fetch
|
|
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.
|
|
2357
3082
|
|
|
2358
3083
|
Id
|
|
2359
3084
|
Name
|
|
@@ -2363,6 +3088,8 @@ List / fetch
|
|
|
2363
3088
|
|
|
2364
3089
|
Size
|
|
2365
3090
|
|
|
3091
|
+
Default font size is md (omit size). Sizes follow the shared scale (2xs … 2xl).
|
|
3092
|
+
|
|
2366
3093
|
2xs
|
|
2367
3094
|
|
|
2368
3095
|
xs
|
|
@@ -2381,6 +3108,8 @@ Size
|
|
|
2381
3108
|
|
|
2382
3109
|
Bordered
|
|
2383
3110
|
|
|
3111
|
+
Set bordered on sonic-table for an outer frame and horizontal rules between rows.
|
|
3112
|
+
|
|
2384
3113
|
Id
|
|
2385
3114
|
Name
|
|
2386
3115
|
Email
|
|
@@ -2397,7 +3126,9 @@ Bordered
|
|
|
2397
3126
|
Emma Wong
|
|
2398
3127
|
emma.wong@reqres.in
|
|
2399
3128
|
|
|
2400
|
-
|
|
3129
|
+
Max height
|
|
3130
|
+
|
|
3131
|
+
maxHeight applies to the scroll container (for example 8rem), so the body scrolls vertically while the table can still scroll horizontally.
|
|
2401
3132
|
|
|
2402
3133
|
Id
|
|
2403
3134
|
Name
|
|
@@ -2407,36 +3138,34 @@ MaxHeight
|
|
|
2407
3138
|
|
|
2408
3139
|
Type
|
|
2409
3140
|
|
|
2410
|
-
|
|
3141
|
+
Set type on sonic-th / sonic-td / sonic-tr for semantic text color (primary · info · success · warning · danger · neutral · default).
|
|
3142
|
+
|
|
3143
|
+
Attribute type set on
|
|
3144
|
+
sonic-th
|
|
2411
3145
|
|
|
2412
|
-
|
|
2413
|
-
|
|
3146
|
+
Attribute type set on
|
|
3147
|
+
sonic-td
|
|
2414
3148
|
|
|
2415
|
-
|
|
2416
|
-
|
|
3149
|
+
Attribute type set on
|
|
3150
|
+
sonic-tr
|
|
2417
3151
|
|
|
2418
|
-
|
|
2419
|
-
sonic-tr
|
|
3152
|
+
Colspan and rowspan
|
|
2420
3153
|
|
|
2421
|
-
|
|
3154
|
+
Use colSpan and rowSpan on sonic-th or sonic-td (maps to colspan / rowspan on the cell).
|
|
2422
3155
|
|
|
2423
|
-
colspan
|
|
3156
|
+
colspan: 2
|
|
2424
3157
|
cell
|
|
2425
3158
|
|
|
2426
3159
|
cell
|
|
2427
3160
|
cell
|
|
2428
|
-
rowspan
|
|
3161
|
+
rowspan: 2
|
|
2429
3162
|
|
|
2430
3163
|
cell
|
|
2431
3164
|
cell
|
|
2432
3165
|
|
|
2433
|
-
Cell
|
|
3166
|
+
Cell alignment and width
|
|
2434
3167
|
|
|
2435
|
-
|
|
2436
|
-
- align
|
|
2437
|
-
- minWidth
|
|
2438
|
-
- maxWidth
|
|
2439
|
-
- width
|
|
3168
|
+
align sets horizontal alignment (left · center · right). minWidth / maxWidth / width set inline dimensions on the cell. vAlign is available on sonic-td only.
|
|
2440
3169
|
|
|
2441
3170
|
align
|
|
2442
3171
|
minWidth
|
|
@@ -2455,12 +3184,12 @@ The following attributes will be used to set the style of the component :
|
|
|
2455
3184
|
|
|
2456
3185
|
right
|
|
2457
3186
|
20rem
|
|
2458
|
-
5rem
|
|
2459
|
-
15rem
|
|
3187
|
+
5rem — Lorem ipsum dolor
|
|
3188
|
+
15rem — Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
2460
3189
|
|
|
2461
|
-
Responsive
|
|
3190
|
+
Responsive layout
|
|
2462
3191
|
|
|
2463
|
-
|
|
3192
|
+
Tables scroll horizontally by default when columns exceed the viewport. Use minWidth on wide columns to preserve readable line length.
|
|
2464
3193
|
|
|
2465
3194
|
Id
|
|
2466
3195
|
Name
|
|
@@ -2469,9 +3198,11 @@ Every table is responsive by default
|
|
|
2469
3198
|
|
|
2470
3199
|
$lastname ">
|
|
2471
3200
|
|
|
2472
|
-
|
|
3201
|
+
Phasellus suscipit vulputate lacus, in tempor turpis aliquam vel. Nunc eleifend, velit id ultrices elementum, ipsum felis porttitor dui, id laoreet diam nulla sed urna.
|
|
2473
3202
|
|
|
2474
|
-
Sticky header
|
|
3203
|
+
Sticky header and caption
|
|
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.
|
|
2475
3206
|
|
|
2476
3207
|
Company
|
|
2477
3208
|
Contact
|
|
@@ -2490,18 +3221,6 @@ Sticky header
|
|
|
2490
3221
|
3
|
|
2491
3222
|
40€
|
|
2492
3223
|
|
|
2493
|
-
Ernst Handel
|
|
2494
|
-
Roland Mendel
|
|
2495
|
-
Austria
|
|
2496
|
-
4
|
|
2497
|
-
40€
|
|
2498
|
-
|
|
2499
|
-
Island Trading
|
|
2500
|
-
Helen Bennett
|
|
2501
|
-
UK
|
|
2502
|
-
1
|
|
2503
|
-
40€
|
|
2504
|
-
|
|
2505
3224
|
Laughing Bacchus Winecellars
|
|
2506
3225
|
Yoshi Tannamuri
|
|
2507
3226
|
Canada
|
|
@@ -2514,42 +3233,165 @@ Sticky header
|
|
|
2514
3233
|
20
|
|
2515
3234
|
40€
|
|
2516
3235
|
|
|
2517
|
-
|
|
2518
|
-
Maria Anders
|
|
2519
|
-
Germany
|
|
2520
|
-
2
|
|
2521
|
-
40€
|
|
3236
|
+
Table caption
|
|
2522
3237
|
|
|
2523
|
-
|
|
2524
|
-
no information yet
|
|
2525
|
-
3
|
|
2526
|
-
40€
|
|
3238
|
+
API reference
|
|
2527
3239
|
|
|
2528
|
-
|
|
2529
|
-
Roland Mendel
|
|
2530
|
-
Austria
|
|
2531
|
-
4
|
|
2532
|
-
40€
|
|
3240
|
+
sonic-table
|
|
2533
3241
|
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
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 |
|
|
2539
3249
|
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
0
|
|
2544
|
-
40€
|
|
3250
|
+
| Slot | Description |
|
|
3251
|
+
|------|-------------|
|
|
3252
|
+
| (default) | Table sections and rows (sonic-thead, sonic-tbody, sonic-tr, …) |
|
|
2545
3253
|
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
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 |
|
|
2551
3297
|
|
|
2552
|
-
|
|
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
|
|
3376
|
+
|
|
3377
|
+
On connect, the theme publishes resolved --sc- values and linked font stylesheet URLs (Google Fonts / Adobe Fonts) to the sonic-theme data channel and postMessages them to same-page iframes. Iframes can request a refresh by posting { type: "GetSonicTheme" }.
|
|
3378
|
+
|
|
3379
|
+
// Inside the iframe — ask the parent theme to rebroadcast tokens
|
|
3380
|
+
window.parent.postMessage({ type: "GetSonicTheme" }, "");
|
|
3381
|
+
|
|
3382
|
+
API reference
|
|
3383
|
+
|
|
3384
|
+
| Attribute | Values | Description |
|
|
3385
|
+
|----------|---------|-------------|
|
|
3386
|
+
| theme | omitted · custom (default) · light · dark · auto | Omitted or custom: core tokens and your --sc- only. light / dark: fixed presets. auto: presets follow prefers-color-scheme |
|
|
3387
|
+
| color | boolean | Host text color uses --sc-base-content |
|
|
3388
|
+
| font | boolean | Host font uses --sc-font-family-base and related base weight/style tokens |
|
|
3389
|
+
|
|
3390
|
+
| Slot | Description |
|
|
3391
|
+
|------|-------------|
|
|
3392
|
+
| (default) | Application markup and Concorde components |
|
|
3393
|
+
|
|
3394
|
+
Surface background: Tailwind bg-base on sonic-theme (requires Concorde Tailwind color base → --sc-base).
|
|
2553
3395
|
|
|
2554
3396
|
---
|
|
2555
3397
|
|
|
@@ -2557,17 +3399,21 @@ Sticky header
|
|
|
2557
3399
|
|
|
2558
3400
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/toast/toast.html
|
|
2559
3401
|
- Doc ID: core/components/ui/toast/toast
|
|
2560
|
-
- Keywords: Concorde, supersoniks, core/components/ui/toast/toast, toast, Toast, UI component, sonic-toast, web component,
|
|
3402
|
+
- Keywords: Concorde, supersoniks, core/components/ui/toast/toast, toast, Toast, UI component, sonic-toast, web component, SonicToast.add(), SonicToast, label, preserve, text, status
|
|
2561
3403
|
|
|
2562
3404
|
Toast
|
|
2563
3405
|
|
|
2564
|
-
|
|
3406
|
+
Toasts surface short-lived feedback in a fixed stack (bottom-right in the main window). Queue messages with SonicToast.add() on the global SonicToast class—the host sonic-toast is created automatically. Prefer label for a heading; use preserve or interactive text when the user must read or act before dismiss.
|
|
2565
3407
|
|
|
2566
|
-
|
|
3408
|
+
Basic example
|
|
3409
|
+
|
|
3410
|
+
Click the button to show a toast.
|
|
2567
3411
|
|
|
2568
|
-
|
|
3412
|
+
Show toast
|
|
2569
3413
|
|
|
2570
|
-
|
|
3414
|
+
Status
|
|
3415
|
+
|
|
3416
|
+
status drives color, icon, and live-region behavior. Omit status or pass an empty string for a neutral toast.
|
|
2571
3417
|
|
|
2572
3418
|
Default
|
|
2573
3419
|
|
|
@@ -2579,69 +3425,105 @@ Les statuts disponibles sont : success, error, warning, info ou vide (par défau
|
|
|
2579
3425
|
|
|
2580
3426
|
Info
|
|
2581
3427
|
|
|
2582
|
-
|
|
3428
|
+
Label
|
|
2583
3429
|
|
|
2584
|
-
|
|
3430
|
+
Set label for a bold title above text. title still works but is deprecated—use label in new code.
|
|
2585
3431
|
|
|
2586
|
-
Toast
|
|
3432
|
+
Toast with label
|
|
2587
3433
|
|
|
2588
|
-
|
|
3434
|
+
Error with label
|
|
2589
3435
|
|
|
2590
|
-
|
|
3436
|
+
HTML in text
|
|
2591
3437
|
|
|
2592
|
-
HTML
|
|
2593
|
-
Toast avec HTML
|
|
3438
|
+
text (and label) can include HTML strings. Links and controls in text automatically enable preserve so the toast does not auto-hide while the user interacts.
|
|
2594
3439
|
|
|
2595
|
-
|
|
3440
|
+
HTML and an action link ', status: 'info' })"
|
|
3441
|
+
>
|
|
3442
|
+
Toast with HTML
|
|
2596
3443
|
|
|
2597
|
-
|
|
3444
|
+
Preserve
|
|
2598
3445
|
|
|
2599
|
-
|
|
3446
|
+
Without preserve, toasts auto-hide after about six seconds (timer pauses on hover or focus). Set preserve to keep the toast until the user closes it.
|
|
2600
3447
|
|
|
2601
|
-
|
|
3448
|
+
Persistent toast
|
|
2602
3449
|
|
|
2603
|
-
|
|
3450
|
+
Dismiss forever
|
|
2604
3451
|
|
|
2605
|
-
|
|
3452
|
+
With dismissForever and a stable id, closing the toast stores dismissal in localStorage—SonicToast.add skips it on later visits. Duplicate payloads (same fields, ignoring id) are not queued twice.
|
|
2606
3453
|
|
|
2607
|
-
|
|
3454
|
+
Dismiss forever
|
|
2608
3455
|
|
|
2609
|
-
|
|
3456
|
+
Ghost
|
|
3457
|
+
|
|
3458
|
+
ghost renders a semi-transparent, non-interactive toast—useful for loading or background states. SonicToast.removeAll leaves ghost toasts in place.
|
|
2610
3459
|
|
|
2611
|
-
|
|
3460
|
+
Ghost toast
|
|
2612
3461
|
|
|
2613
|
-
|
|
3462
|
+
Dismissal
|
|
2614
3463
|
|
|
2615
|
-
|
|
3464
|
+
Use static helpers to clear the stack from app logic (for example after navigation).
|
|
2616
3465
|
|
|
2617
|
-
|
|
3466
|
+
Remove all
|
|
2618
3467
|
|
|
2619
|
-
|
|
2620
|
-
Ajouter toast 2
|
|
2621
|
-
Ajouter toast 3
|
|
2622
|
-
Supprimer tous
|
|
3468
|
+
Removes every toast except ghost items.
|
|
2623
3469
|
|
|
2624
|
-
|
|
3470
|
+
Add toast 1
|
|
3471
|
+
Add toast 2
|
|
3472
|
+
Add toast 3
|
|
3473
|
+
Remove all
|
|
2625
3474
|
|
|
2626
|
-
|
|
3475
|
+
Remove by status
|
|
2627
3476
|
|
|
2628
3477
|
Success
|
|
2629
3478
|
Error
|
|
2630
3479
|
Warning
|
|
2631
|
-
|
|
2632
|
-
|
|
3480
|
+
Remove success
|
|
3481
|
+
Remove error
|
|
3482
|
+
|
|
3483
|
+
Remove temporary items
|
|
3484
|
+
|
|
3485
|
+
Removes toasts that are not preserve.
|
|
3486
|
+
|
|
3487
|
+
Temporary
|
|
3488
|
+
|
|
3489
|
+
Persistent
|
|
3490
|
+
|
|
3491
|
+
Remove temporary
|
|
3492
|
+
|
|
3493
|
+
Combined options
|
|
3494
|
+
|
|
3495
|
+
Full example
|
|
2633
3496
|
|
|
2634
|
-
|
|
3497
|
+
Accessibility
|
|
2635
3498
|
|
|
2636
|
-
|
|
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.
|
|
2637
3500
|
|
|
2638
|
-
|
|
2639
|
-
Persistant
|
|
2640
|
-
Supprimer temporaires
|
|
3501
|
+
API reference
|
|
2641
3502
|
|
|
2642
|
-
|
|
3503
|
+
Options passed to SonicToast.add(conf):
|
|
2643
3504
|
|
|
2644
|
-
|
|
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.
|
|
2645
3527
|
|
|
2646
3528
|
---
|
|
2647
3529
|
|
|
@@ -2649,25 +3531,29 @@ Exemple complet
|
|
|
2649
3531
|
|
|
2650
3532
|
- URL: https://concorde.supersoniks.org/crawl/core/components/ui/tooltip/tooltip.html
|
|
2651
3533
|
- Doc ID: core/components/ui/tooltip/tooltip
|
|
2652
|
-
- Keywords: Concorde, supersoniks, core/components/ui/tooltip/tooltip, tooltip, Tooltip, UI component, sonic-tooltip, web component
|
|
3534
|
+
- Keywords: Concorde, supersoniks, core/components/ui/tooltip/tooltip, tooltip, Tooltip, UI component, sonic-tooltip, web component, label, placement, top, disabled, bottom, left, right, -start
|
|
2653
3535
|
|
|
2654
3536
|
Tooltip
|
|
2655
3537
|
|
|
2656
|
-
hover
|
|
3538
|
+
Tooltip shows a short label on hover (and on focus when the trigger can receive focus). Wrap the trigger in the default slot—buttons, icons, or plain text. Default placement is top (center-aligned). An empty label hides the bubble the same way as disabled.
|
|
3539
|
+
|
|
3540
|
+
Basic example
|
|
3541
|
+
|
|
3542
|
+
Hover me
|
|
2657
3543
|
|
|
2658
3544
|
Placement
|
|
2659
3545
|
|
|
2660
|
-
|
|
3546
|
+
Use top · bottom · left · right for the main axis. Add -start or -end to align the bubble along the anchor edge.
|
|
2661
3547
|
|
|
2662
|
-
|
|
3548
|
+
Top
|
|
2663
3549
|
|
|
2664
|
-
|
|
3550
|
+
Bottom
|
|
2665
3551
|
|
|
2666
|
-
|
|
3552
|
+
Right
|
|
2667
3553
|
|
|
2668
|
-
|
|
3554
|
+
Left
|
|
2669
3555
|
|
|
2670
|
-
|
|
3556
|
+
Aligned placements
|
|
2671
3557
|
|
|
2672
3558
|
Top start
|
|
2673
3559
|
|
|
@@ -2685,14 +3571,39 @@ More placement
|
|
|
2685
3571
|
|
|
2686
3572
|
Left end
|
|
2687
3573
|
|
|
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
|
+
|
|
2688
3580
|
Focusable
|
|
2689
3581
|
|
|
2690
|
-
|
|
3582
|
+
On non-interactive triggers, set focusable so the host gets tabindex="0" and the tooltip opens on keyboard focus as well as hover.
|
|
3583
|
+
|
|
3584
|
+
Focus or hover this text
|
|
2691
3585
|
|
|
2692
3586
|
Disabled
|
|
2693
3587
|
|
|
2694
3588
|
Tooltip disabled
|
|
2695
3589
|
|
|
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
|
+
|
|
2696
3607
|
---
|
|
2697
3608
|
|
|
2698
3609
|
## Data flow
|
|
@@ -2992,8 +3903,9 @@ Behavior
|
|
|
2992
3903
|
- By default (dynamic: false), the value is read once at connect time and is not updated afterward
|
|
2993
3904
|
- With { dynamic: true }, the property stays in sync when:
|
|
2994
3905
|
- an ancestor changes the attribute value
|
|
2995
|
-
- a closer ancestor gains the attribute (
|
|
2996
|
-
- the
|
|
3906
|
+
- a closer ancestor gains / loses the attribute (fallback / null)
|
|
3907
|
+
- the component is reparented (no extra opt-in) — parent childList only reacts if this node moves
|
|
3908
|
+
- Observers are shared (one per ancestor attribute / one per parent) so large lists of sonic-icon stay cheap on Firefox.
|
|
2997
3909
|
- When dynamic is enabled, updates also propagate to @subscribe / @bind paths that depend on the decorated property (e.g. ${dataProvider})
|
|
2998
3910
|
|
|
2999
3911
|
Dynamic mode
|
|
@@ -5260,7 +6172,7 @@ Introduction
|
|
|
5260
6172
|
What is Concorde?
|
|
5261
6173
|
|
|
5262
6174
|
Based on lit.dev, Concorde is a collection of web components for shared apps and websites.
|
|
5263
|
-
Build UIs without tying components to a specific host stack, while keeping visual consistency through
|
|
6175
|
+
Build UIs without tying components to a specific host stack, while keeping visual consistency through the smallest set of CSS variables needed to define a theme.
|
|
5264
6176
|
|
|
5265
6177
|
Why and use case
|
|
5266
6178
|
|
|
@@ -5301,91 +6213,242 @@ The starter runs yarn ai:sync for you. Details: AI agents (skills). Manual Vite
|
|
|
5301
6213
|
|
|
5302
6214
|
---
|
|
5303
6215
|
|
|
5304
|
-
##
|
|
6216
|
+
## Customization
|
|
5305
6217
|
|
|
5306
6218
|
- URL: https://concorde.supersoniks.org/crawl/docs/_getting-started/theming.html
|
|
5307
6219
|
- Doc ID: docs/_getting-started/theming
|
|
5308
|
-
- Keywords: Concorde, supersoniks, docs/_getting-started/theming, theming,
|
|
5309
|
-
|
|
5310
|
-
|
|
5311
|
-
|
|
5312
|
-
|
|
5313
|
-
|
|
5314
|
-
|
|
5315
|
-
|
|
5316
|
-
|
|
5317
|
-
|
|
5318
|
-
|
|
5319
|
-
|
|
5320
|
-
|
|
5321
|
-
|
|
5322
|
-
|
|
5323
|
-
|
|
5324
|
-
|
|
5325
|
-
|
|
5326
|
-
|
|
5327
|
-
|
|
5328
|
-
|
|
5329
|
-
|
|
5330
|
-
|
|
5331
|
-
|
|
5332
|
-
|
|
6220
|
+
- Keywords: Concorde, supersoniks, docs/_getting-started/theming, theming, Customization, guide, , :root, theme="custom", --sc-*, theme="light", "dark", "auto", auto, prefers-color-scheme
|
|
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
|
+
}
|
|
5333
6304
|
|
|
5334
|
-
|
|
6305
|
+
Palette generator: concordecolors
|
|
5335
6306
|
|
|
5336
|
-
|
|
6307
|
+
Without these overrides, components keep Concorde’s per-component fallbacks. Built-in light/dark palettes apply only when you set theme="light", theme="dark", or theme="auto".
|
|
5337
6308
|
|
|
5338
|
-
|
|
6309
|
+
What we intentionally avoid: large public --sc-alert- / --sc-badge- APIs or ::part() styling hooks on most components. Prefer attributes (type, status, size, …) and the theme tokens above.
|
|
5339
6310
|
|
|
5340
|
-
|
|
5341
|
-
Therefore, be careful to define it according to the needs, as one might mistakenly expect it to be block as with a regular .
|
|
6311
|
+
Only essential CSS variables (public theme API)
|
|
5342
6312
|
|
|
5343
|
-
|
|
6313
|
+
These are the smallest set we recommend customizing. Everything else should stay internal to the theme or to components (--sc private variables, attributes like type, size, variant).
|
|
5344
6314
|
|
|
5345
|
-
|
|
5346
|
-
- It is no longer possible to directly add classes to the component or style it from the outside.
|
|
5347
|
-
Ultimately, the amount of code to write increases significantly.
|
|
6315
|
+
Surfaces and foreground
|
|
5348
6316
|
|
|
5349
|
-
|
|
6317
|
+
Tokens without a -content suffix are fill / background colors.
|
|
6318
|
+
Tokens with -content are text and icons on top of the matching fill (solid buttons, badges, alerts, etc.).
|
|
5350
6319
|
|
|
5351
|
-
|
|
5352
|
-
To use it, you need to import the following:
|
|
6320
|
+
Neutral fills
|
|
5353
6321
|
|
|
5354
|
-
|
|
6322
|
+
| Variable | Role |
|
|
6323
|
+
|----------|------|
|
|
6324
|
+
| --sc-base | Main surface / page background |
|
|
6325
|
+
| --sc-base-50 … --sc-base-900 | Neutral scale (borders, subtle backgrounds, muted UI) |
|
|
5355
6326
|
|
|
5356
|
-
|
|
6327
|
+
Neutral foreground
|
|
5357
6328
|
|
|
5358
|
-
|
|
6329
|
+
| Variable | Role |
|
|
6330
|
+
|----------|------|
|
|
6331
|
+
| --sc-base-content | Default body text and icons on neutral surfaces |
|
|
5359
6332
|
|
|
5360
|
-
|
|
6333
|
+
Semantic fills
|
|
5361
6334
|
|
|
5362
|
-
|
|
6335
|
+
| Variable | Role |
|
|
6336
|
+
|----------|------|
|
|
6337
|
+
| --sc-primary | Primary actions, links, emphasis |
|
|
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) |
|
|
5363
6341
|
|
|
5364
|
-
|
|
6342
|
+
Semantic foreground
|
|
5365
6343
|
|
|
5366
|
-
|
|
6344
|
+
| Variable | Role |
|
|
6345
|
+
|----------|------|
|
|
6346
|
+
| --sc-primary-content, --sc-secondary-content, … | Text/icons on the matching semantic fill (--sc-primary, etc.) |
|
|
5367
6347
|
|
|
5368
|
-
|
|
6348
|
+
Shape
|
|
5369
6349
|
|
|
5370
|
-
|
|
5371
|
-
|
|
6350
|
+
| Variable | Role |
|
|
6351
|
+
|----------|------|
|
|
6352
|
+
| --sc-rounded | Single primitive corner radius; the theme computes --sc-rounded-sm, --sc-btn-rounded, --sc-input-rounded, etc. |
|
|
5372
6353
|
|
|
5373
|
-
|
|
6354
|
+
Typography
|
|
5374
6355
|
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
-
|
|
6356
|
+
| Variable | Role |
|
|
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.) |
|
|
5378
6361
|
|
|
5379
|
-
|
|
6362
|
+
Forms (only if you customize inputs globally)
|
|
5380
6363
|
|
|
5381
|
-
|
|
6364
|
+
Interactive controls expose a few extra theme-level tokens; prefer these over styling individual inputs from outside.
|
|
5382
6365
|
|
|
5383
|
-
|
|
5384
|
-
|
|
6366
|
+
| Variable | Role |
|
|
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 |
|
|
5385
6372
|
|
|
5386
|
-
|
|
6373
|
+
---
|
|
5387
6374
|
|
|
5388
|
-
|
|
6375
|
+
Tailwind in new components ?
|
|
6376
|
+
|
|
6377
|
+
Set tailwind.config.js to match concorde style token in your custom component.
|
|
6378
|
+
|
|
6379
|
+
...
|
|
6380
|
+
theme: {
|
|
6381
|
+
borderRadius: {
|
|
6382
|
+
DEFAULT: "var(--sc-rounded)",
|
|
6383
|
+
none: "0",
|
|
6384
|
+
sm: "var(--sc-rounded-sm)",
|
|
6385
|
+
md: "var(--sc-rounded-md)",
|
|
6386
|
+
lg: "var(--sc-rounded-lg)",
|
|
6387
|
+
xl: "var(--sc-rounded-xl)",
|
|
6388
|
+
full: "9999px",
|
|
6389
|
+
},
|
|
6390
|
+
boxShadow: {
|
|
6391
|
+
DEFAULT: "var(--sc-shadow)",
|
|
6392
|
+
none: "none",
|
|
6393
|
+
sm: "var(--sc-shadow-sm)",
|
|
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
|
+
}
|
|
5389
6452
|
|
|
5390
6453
|
---
|
|
5391
6454
|
|