@supersoniks/concorde 5.0.0 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitlab-ci.yml +0 -13
- package/build-infos.json +1 -1
- package/concorde-core.bundle.js +606 -689
- package/concorde-core.es.js +4511 -4329
- package/dist/concorde-core.bundle.js +606 -689
- package/dist/concorde-core.es.js +4511 -4329
- package/gitlab/job_tests.sh +25 -12
- package/index.html +3 -3
- package/package.json +16 -1
- package/scripts/post-build-docs.js +0 -0
- package/scripts/post-build.mjs +0 -0
- package/src/core/components/functional/fetch/fetch.md +0 -0
- package/src/core/components/functional/if/if.md +0 -0
- package/src/core/components/functional/list/list.demo.ts +0 -0
- package/src/core/components/functional/list/list.md +0 -0
- package/src/core/components/functional/list/list.ts +0 -0
- package/src/core/components/functional/router/router.md +0 -0
- package/src/core/components/functional/router/router.ts +0 -0
- package/src/core/components/functional/sdui/sdui.md +0 -0
- package/src/core/components/functional/states/states.md +0 -0
- package/src/core/components/functional/submit/submit.md +0 -0
- package/src/core/components/ui/_css/rounded.ts +36 -0
- package/src/core/components/ui/_css/size.ts +0 -0
- package/src/core/components/ui/_css/type.ts +49 -0
- package/src/core/components/ui/_i18n/ui-aria-labels.ts +104 -0
- package/src/core/components/ui/alert/alert.md +128 -72
- package/src/core/components/ui/alert/alert.spec.ts +145 -0
- package/src/core/components/ui/alert/alert.ts +86 -91
- package/src/core/components/ui/alert-messages/alert-messages.ts +1 -1
- package/src/core/components/ui/badge/badge.md +126 -78
- package/src/core/components/ui/badge/badge.ts +29 -81
- package/src/core/components/ui/button/button.md +1 -0
- package/src/core/components/ui/button/button.ts +11 -8
- package/src/core/components/ui/captcha/altchaStyles.ts +0 -0
- package/src/core/components/ui/captcha/captcha.md +0 -0
- package/src/core/components/ui/card/card-header.ts +7 -2
- package/src/core/components/ui/card/card.md +120 -65
- package/src/core/components/ui/divider/divider.ts +4 -9
- package/src/core/components/ui/form/fieldset/legend-description.ts +1 -1
- package/src/core/components/ui/form/fieldset/legend.ts +1 -1
- package/src/core/components/ui/form/input/input.md +1 -1
- package/src/core/components/ui/form/input/input.ts +19 -15
- package/src/core/components/ui/form/radio/radio.md +0 -0
- package/src/core/components/ui/form/select/select.md +0 -0
- package/src/core/components/ui/form/switch/switch.md +0 -0
- package/src/core/components/ui/form/textarea/textarea.md +1 -1
- package/src/core/components/ui/image/image.md +147 -53
- package/src/core/components/ui/image/image.ts +10 -44
- package/src/core/components/ui/link/link.md +2 -2
- package/src/core/components/ui/link/link.ts +42 -37
- package/src/core/components/ui/loader/loader.md +0 -0
- package/src/core/components/ui/menu/menu.md +0 -0
- package/src/core/components/ui/modal/modal-close.ts +8 -12
- package/src/core/components/ui/modal/modal.md +0 -0
- package/src/core/components/ui/modal/modal.ts +18 -18
- package/src/core/components/ui/pop/pop.md +105 -1
- package/src/core/components/ui/pop/pop.ts +143 -148
- package/src/core/components/ui/table/table-caption.ts +0 -0
- package/src/core/components/ui/table/table.md +0 -0
- package/src/core/components/ui/table/table.ts +2 -8
- package/src/core/components/ui/theme/theme.ts +1 -1
- package/src/core/components/ui/toast/dismissed.ts +14 -0
- package/src/core/components/ui/toast/toast-item.ts +139 -91
- package/src/core/components/ui/toast/toast.ts +4 -7
- package/src/core/components/ui/tooltip/tooltip.ts +176 -154
- package/src/core/utils/LocationHandler.ts +12 -5
- package/src/core/utils/dismissed.ts +22 -0
- package/src/core/utils/positioning.spec.ts +208 -0
- package/src/core/utils/positioning.ts +183 -0
- package/src/core/utils/route.ts +0 -0
- package/src/directives.ts +2 -3
- package/src/docs/_core-concept/subscriber.md +0 -0
- package/src/docs/_getting-started/concorde-outside.md +3 -3
- package/src/docs/_getting-started/my-first-subscriber.md +0 -0
- package/src/docs/_getting-started/pubsub.md +0 -0
- package/src/docs/_getting-started/start.md +0 -0
- package/src/docs/code.ts +3 -1
- package/src/docs/example/users.ts +0 -0
- package/src/docs/search/docs-search.json +651 -21
- package/src/docs/search/page.ts +0 -0
- package/src/docs/tailwind/css/tailwind.css +13 -6
- package/src/tsconfig.json +45 -0
- package/src/tsconfig.tsbuildinfo +1 -1
- package/tailwind.config.js +50 -3
- package/vitest.setup.ts +49 -13
- package/.github/workflows/ci.yml +0 -21
- package/.github-export-ignore +0 -30
- package/CONTRIBUTING.md +0 -59
- package/DEV.md +0 -54
- package/LICENSE +0 -21
- package/OPEN_SOURCE_CHECKPOINT.md +0 -133
- package/concorde-3d.bundle.js +0 -3960
- package/concorde-3d.es.js +0 -33433
- package/concorde-hugging-face-infer.bundle.js +0 -32
- package/concorde-hugging-face-infer.es.js +0 -2952
- package/concorde-shader.bundle.js +0 -116
- package/concorde-shader.es.js +0 -8353
- package/concorde-webgpu.bundle.js +0 -307
- package/concorde-webgpu.es.js +0 -8627
- package/docs/altcha-widget.js +0 -2662
- package/docs/assets/index-BZiZXMU-.css +0 -1
- package/docs/assets/index-FmK4JaIM.js +0 -11992
- package/docs/crawl/core/components/functional/date/date.html +0 -190
- package/docs/crawl/core/components/functional/fetch/fetch.html +0 -109
- package/docs/crawl/core/components/functional/if/if.html +0 -27
- package/docs/crawl/core/components/functional/jsonata/jsonata.html +0 -79
- package/docs/crawl/core/components/functional/list/list.html +0 -70
- package/docs/crawl/core/components/functional/mix/mix.html +0 -45
- package/docs/crawl/core/components/functional/queue/queue.html +0 -96
- package/docs/crawl/core/components/functional/router/router.html +0 -106
- package/docs/crawl/core/components/functional/sdui/sdui.html +0 -269
- package/docs/crawl/core/components/functional/states/states.html +0 -66
- package/docs/crawl/core/components/functional/submit/submit.html +0 -160
- package/docs/crawl/core/components/functional/subscriber/subscriber.html +0 -67
- package/docs/crawl/core/components/functional/value/value.html +0 -51
- package/docs/crawl/core/components/ui/alert/alert.html +0 -110
- package/docs/crawl/core/components/ui/alert-messages/alert-messages.html +0 -23
- package/docs/crawl/core/components/ui/badge/badge.html +0 -119
- package/docs/crawl/core/components/ui/button/button.html +0 -149
- package/docs/crawl/core/components/ui/captcha/captcha.html +0 -30
- package/docs/crawl/core/components/ui/card/card.html +0 -99
- package/docs/crawl/core/components/ui/divider/divider.html +0 -58
- package/docs/crawl/core/components/ui/form/checkbox/checkbox.html +0 -73
- package/docs/crawl/core/components/ui/form/fieldset/fieldset.html +0 -135
- package/docs/crawl/core/components/ui/form/form-actions/form-actions.html +0 -79
- package/docs/crawl/core/components/ui/form/form-layout/form-layout.html +0 -62
- package/docs/crawl/core/components/ui/form/input/input.html +0 -109
- package/docs/crawl/core/components/ui/form/input-autocomplete/input-autocomplete.html +0 -106
- package/docs/crawl/core/components/ui/form/radio/radio.html +0 -56
- package/docs/crawl/core/components/ui/form/select/select.html +0 -73
- package/docs/crawl/core/components/ui/form/switch/switch.html +0 -56
- package/docs/crawl/core/components/ui/form/textarea/textarea.html +0 -59
- package/docs/crawl/core/components/ui/group/group.html +0 -82
- package/docs/crawl/core/components/ui/icon/icon.html +0 -133
- package/docs/crawl/core/components/ui/image/image.html +0 -110
- package/docs/crawl/core/components/ui/link/link.html +0 -42
- package/docs/crawl/core/components/ui/loader/loader.html +0 -50
- package/docs/crawl/core/components/ui/menu/menu.html +0 -322
- package/docs/crawl/core/components/ui/modal/modal.html +0 -117
- package/docs/crawl/core/components/ui/pop/pop.html +0 -102
- package/docs/crawl/core/components/ui/progress/progress.html +0 -58
- package/docs/crawl/core/components/ui/table/table.html +0 -413
- package/docs/crawl/core/components/ui/toast/toast.html +0 -122
- package/docs/crawl/core/components/ui/tooltip/tooltip.html +0 -79
- package/docs/crawl/docs/_core-concept/dataFlow.html +0 -177
- package/docs/crawl/docs/_core-concept/overview.html +0 -66
- package/docs/crawl/docs/_core-concept/subscriber.html +0 -75
- package/docs/crawl/docs/_decorators/ancestor-attribute.html +0 -116
- package/docs/crawl/docs/_decorators/auto-subscribe.html +0 -202
- package/docs/crawl/docs/_decorators/bind.html +0 -141
- package/docs/crawl/docs/_decorators/get.html +0 -149
- package/docs/crawl/docs/_decorators/handle.html +0 -165
- package/docs/crawl/docs/_decorators/on-assign.html +0 -355
- package/docs/crawl/docs/_decorators/patch.html +0 -78
- package/docs/crawl/docs/_decorators/post.html +0 -139
- package/docs/crawl/docs/_decorators/publish.html +0 -61
- package/docs/crawl/docs/_decorators/put.html +0 -78
- package/docs/crawl/docs/_decorators/subscribe.html +0 -109
- package/docs/crawl/docs/_decorators/wait-for-ancestors.html +0 -137
- package/docs/crawl/docs/_directives/sub.html +0 -93
- package/docs/crawl/docs/_getting-started/ai-agents.html +0 -173
- package/docs/crawl/docs/_getting-started/concorde-manual-install.html +0 -100
- package/docs/crawl/docs/_getting-started/concorde-outside.html +0 -58
- package/docs/crawl/docs/_getting-started/create-a-component.html +0 -111
- package/docs/crawl/docs/_getting-started/my-first-component.html +0 -189
- package/docs/crawl/docs/_getting-started/my-first-subscriber.html +0 -110
- package/docs/crawl/docs/_getting-started/pubsub.html +0 -62
- package/docs/crawl/docs/_getting-started/start.html +0 -76
- package/docs/crawl/docs/_getting-started/theming.html +0 -85
- package/docs/crawl/docs/_misc/api-configuration.html +0 -149
- package/docs/crawl/docs/_misc/dataProviderKey.html +0 -135
- package/docs/crawl/docs/_misc/docs-mock-api.html +0 -158
- package/docs/crawl/docs/_misc/dynamic-path.html +0 -180
- package/docs/crawl/docs/_misc/endpoint.html +0 -50
- package/docs/crawl/docs/_misc/formelement-subscriber-removal.html +0 -138
- package/docs/crawl/docs/_misc/html-integration.html +0 -48
- package/docs/crawl/hubs/decorators.html +0 -547
- package/docs/crawl/hubs/form-components.html +0 -357
- package/docs/crawl/hubs/remote-data.html +0 -452
- package/docs/crawl/index.html +0 -101
- package/docs/css/docs.css +0 -0
- package/docs/docs-mock-api-sw.js +0 -720
- package/docs/docs-mock-api-sw.js.map +0 -7
- package/docs/fonts/ClashGrotesk-Bold.eot +0 -0
- package/docs/fonts/ClashGrotesk-Bold.ttf +0 -0
- package/docs/fonts/ClashGrotesk-Bold.woff +0 -0
- package/docs/fonts/ClashGrotesk-Bold.woff2 +0 -0
- package/docs/fonts/ClashGrotesk-Extralight.eot +0 -0
- package/docs/fonts/ClashGrotesk-Extralight.ttf +0 -0
- package/docs/fonts/ClashGrotesk-Extralight.woff +0 -0
- package/docs/fonts/ClashGrotesk-Extralight.woff2 +0 -0
- package/docs/fonts/ClashGrotesk-Light.eot +0 -0
- package/docs/fonts/ClashGrotesk-Light.ttf +0 -0
- package/docs/fonts/ClashGrotesk-Light.woff +0 -0
- package/docs/fonts/ClashGrotesk-Light.woff2 +0 -0
- package/docs/fonts/ClashGrotesk-Medium.eot +0 -0
- package/docs/fonts/ClashGrotesk-Medium.ttf +0 -0
- package/docs/fonts/ClashGrotesk-Medium.woff +0 -0
- package/docs/fonts/ClashGrotesk-Medium.woff2 +0 -0
- package/docs/fonts/ClashGrotesk-Regular.eot +0 -0
- package/docs/fonts/ClashGrotesk-Regular.ttf +0 -0
- package/docs/fonts/ClashGrotesk-Regular.woff +0 -0
- package/docs/fonts/ClashGrotesk-Regular.woff2 +0 -0
- package/docs/fonts/ClashGrotesk-Semibold.eot +0 -0
- package/docs/fonts/ClashGrotesk-Semibold.ttf +0 -0
- package/docs/fonts/ClashGrotesk-Semibold.woff +0 -0
- package/docs/fonts/ClashGrotesk-Semibold.woff2 +0 -0
- package/docs/fonts/ClashGrotesk-Variable.eot +0 -0
- package/docs/fonts/ClashGrotesk-Variable.ttf +0 -0
- package/docs/fonts/ClashGrotesk-Variable.woff +0 -0
- package/docs/fonts/ClashGrotesk-Variable.woff2 +0 -0
- package/docs/img/concorde-icon.svg +0 -5
- package/docs/img/concorde-logo.svg +0 -1
- package/docs/img/concorde.png +0 -0
- package/docs/img/concorde_def.png +0 -0
- package/docs/img/concorde_seuil.png.webp +0 -0
- package/docs/img/concorde_seuil_invert.png +0 -0
- package/docs/img/paul_metrand.jpg +0 -0
- package/docs/img/paul_metrand_xs.jpg +0 -0
- package/docs/index.html +0 -93
- package/docs/llms-full.txt +0 -5787
- package/docs/llms.txt +0 -104
- package/docs/robots.txt +0 -16
- package/docs/sitemap.xml +0 -237
- package/docs/src/core/components/functional/date/date.md +0 -290
- package/docs/src/core/components/functional/fetch/fetch.md +0 -125
- package/docs/src/core/components/functional/if/if.md +0 -9
- package/docs/src/core/components/functional/jsonata/jsonata.md +0 -56
- package/docs/src/core/components/functional/list/list.md +0 -65
- package/docs/src/core/components/functional/mix/mix.md +0 -41
- package/docs/src/core/components/functional/queue/queue.md +0 -72
- package/docs/src/core/components/functional/router/router.md +0 -94
- package/docs/src/core/components/functional/sdui/default-library.json +0 -108
- package/docs/src/core/components/functional/sdui/example.json +0 -99
- package/docs/src/core/components/functional/sdui/sdui.md +0 -356
- package/docs/src/core/components/functional/states/states.md +0 -87
- package/docs/src/core/components/functional/submit/submit.md +0 -114
- package/docs/src/core/components/functional/subscriber/subscriber.md +0 -91
- package/docs/src/core/components/functional/value/value.md +0 -35
- package/docs/src/core/components/ui/alert/alert.md +0 -121
- package/docs/src/core/components/ui/alert-messages/alert-messages.md +0 -0
- package/docs/src/core/components/ui/badge/badge.md +0 -127
- package/docs/src/core/components/ui/button/button.md +0 -182
- package/docs/src/core/components/ui/captcha/captcha.md +0 -12
- package/docs/src/core/components/ui/card/card.md +0 -97
- package/docs/src/core/components/ui/divider/divider.md +0 -35
- package/docs/src/core/components/ui/form/checkbox/checkbox.md +0 -77
- package/docs/src/core/components/ui/form/fieldset/fieldset.md +0 -129
- package/docs/src/core/components/ui/form/form-actions/form-actions.md +0 -77
- package/docs/src/core/components/ui/form/form-layout/form-layout.md +0 -44
- package/docs/src/core/components/ui/form/input/input.md +0 -142
- package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -133
- package/docs/src/core/components/ui/form/radio/radio.md +0 -57
- package/docs/src/core/components/ui/form/select/select.md +0 -71
- package/docs/src/core/components/ui/form/switch/switch.md +0 -57
- package/docs/src/core/components/ui/form/textarea/textarea.md +0 -65
- package/docs/src/core/components/ui/group/group.md +0 -75
- package/docs/src/core/components/ui/icon/icon.md +0 -125
- package/docs/src/core/components/ui/icon/icons.json +0 -1
- package/docs/src/core/components/ui/image/image.md +0 -107
- package/docs/src/core/components/ui/link/link.md +0 -43
- package/docs/src/core/components/ui/loader/loader.md +0 -55
- package/docs/src/core/components/ui/menu/menu.md +0 -329
- package/docs/src/core/components/ui/modal/modal.md +0 -119
- package/docs/src/core/components/ui/pop/pop.md +0 -96
- package/docs/src/core/components/ui/progress/progress.md +0 -63
- package/docs/src/core/components/ui/table/table.md +0 -455
- package/docs/src/core/components/ui/toast/toast.md +0 -166
- package/docs/src/core/components/ui/tooltip/tooltip.md +0 -82
- package/docs/src/docs/_core-concept/dataFlow.md +0 -88
- package/docs/src/docs/_core-concept/overview.md +0 -57
- package/docs/src/docs/_core-concept/subscriber.md +0 -75
- package/docs/src/docs/_decorators/ancestor-attribute.md +0 -127
- package/docs/src/docs/_decorators/auto-subscribe.md +0 -202
- package/docs/src/docs/_decorators/bind.md +0 -167
- package/docs/src/docs/_decorators/get.md +0 -162
- package/docs/src/docs/_decorators/handle.md +0 -175
- package/docs/src/docs/_decorators/on-assign.md +0 -390
- package/docs/src/docs/_decorators/patch.md +0 -70
- package/docs/src/docs/_decorators/post.md +0 -146
- package/docs/src/docs/_decorators/publish.md +0 -55
- package/docs/src/docs/_decorators/put.md +0 -70
- package/docs/src/docs/_decorators/subscribe.md +0 -100
- package/docs/src/docs/_decorators/wait-for-ancestors.md +0 -163
- package/docs/src/docs/_directives/sub.md +0 -91
- package/docs/src/docs/_getting-started/ai-agents.md +0 -76
- package/docs/src/docs/_getting-started/concorde-manual-install.md +0 -133
- package/docs/src/docs/_getting-started/concorde-outside.md +0 -33
- package/docs/src/docs/_getting-started/create-a-component.md +0 -139
- package/docs/src/docs/_getting-started/my-first-component.md +0 -236
- package/docs/src/docs/_getting-started/my-first-subscriber.md +0 -120
- package/docs/src/docs/_getting-started/pubsub.md +0 -37
- package/docs/src/docs/_getting-started/start.md +0 -47
- package/docs/src/docs/_getting-started/theming.md +0 -91
- package/docs/src/docs/_misc/api-configuration.md +0 -81
- package/docs/src/docs/_misc/dataProviderKey.md +0 -168
- package/docs/src/docs/_misc/docs-mock-api.md +0 -63
- package/docs/src/docs/_misc/dynamic-path.md +0 -71
- package/docs/src/docs/_misc/endpoint.md +0 -45
- package/docs/src/docs/_misc/formelement-subscriber-removal.md +0 -115
- package/docs/src/docs/_misc/html-integration.md +0 -15
- package/docs/src/docs/search/docs-search.json +0 -9512
- package/docs/src/tag-list.json +0 -1
- package/docs/src/tsconfig-model.json +0 -23
- package/docs/src/tsconfig.declarations.json +0 -22
- package/docs/src/tsconfig.emit.json +0 -23
- package/docs/src/tsconfig.json +0 -858
- package/docs/svg/regular/plane.svg +0 -1
- package/docs/svg/solid/plane.svg +0 -1
- package/gitlab/job_github_mirror.sh +0 -39
- package/scripts/github-export.mjs +0 -150
- package/src/css.d.ts +0 -19
- package/src/tsconfig.declarations.json +0 -22
- package/src/tsconfig.emit.json +0 -23
|
@@ -1,127 +1,175 @@
|
|
|
1
1
|
# Badge
|
|
2
2
|
|
|
3
|
+
A **non-interactive** pill for labels, counts, or highlights (counter, status, category). The API mirrors `sonic-button` (`type`, `variant`, `size`) without focus or click states.
|
|
4
|
+
|
|
5
|
+
Colors come from theme tokens (`--sc-primary`, `--sc-danger`, …) or the semantic `type` values below.
|
|
6
|
+
|
|
3
7
|
## Type
|
|
8
|
+
|
|
9
|
+
`default` — subtle background (`base-100`). `neutral` — dark fill (`base-content`) with light text, useful on light backgrounds.
|
|
10
|
+
|
|
4
11
|
<sonic-code>
|
|
5
12
|
<template>
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
<div class="flex flex-wrap gap-2">
|
|
14
|
+
<sonic-badge>Default</sonic-badge>
|
|
15
|
+
<sonic-badge type="primary">Primary</sonic-badge>
|
|
16
|
+
<sonic-badge type="neutral">Neutral</sonic-badge>
|
|
17
|
+
<sonic-badge type="warning">Warning</sonic-badge>
|
|
18
|
+
<sonic-badge type="info">Info</sonic-badge>
|
|
19
|
+
<sonic-badge type="success">Success</sonic-badge>
|
|
20
|
+
<sonic-badge type="danger">Danger</sonic-badge>
|
|
21
|
+
</div>
|
|
14
22
|
</template>
|
|
15
23
|
</sonic-code>
|
|
16
24
|
|
|
25
|
+
## Variant
|
|
26
|
+
|
|
27
|
+
`outline` — border and text in the `type` color. `ghost` — text only, no padding (except in forced-colors mode).
|
|
17
28
|
|
|
18
29
|
## Outline
|
|
30
|
+
|
|
19
31
|
<sonic-code>
|
|
20
32
|
<template>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
</div>
|
|
33
|
+
<div class="flex items-center flex-wrap gap-3">
|
|
34
|
+
<sonic-badge variant="outline">Default</sonic-badge>
|
|
35
|
+
<sonic-badge variant="outline" type="primary">Primary</sonic-badge>
|
|
36
|
+
<sonic-badge variant="outline" type="neutral">Neutral</sonic-badge>
|
|
37
|
+
<sonic-badge variant="outline" type="warning">Warning</sonic-badge>
|
|
38
|
+
<sonic-badge variant="outline" type="info">Info</sonic-badge>
|
|
39
|
+
<sonic-badge variant="outline" type="success">Success</sonic-badge>
|
|
40
|
+
<sonic-badge variant="outline" type="danger">Danger</sonic-badge>
|
|
41
|
+
</div>
|
|
31
42
|
</template>
|
|
32
43
|
</sonic-code>
|
|
33
44
|
|
|
34
45
|
## Ghost
|
|
46
|
+
|
|
35
47
|
<sonic-code>
|
|
36
48
|
<template>
|
|
37
49
|
<div class="flex items-center flex-wrap gap-3">
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
</div>
|
|
50
|
+
<sonic-badge variant="ghost">Default</sonic-badge>
|
|
51
|
+
<sonic-badge variant="ghost" type="primary">Primary</sonic-badge>
|
|
52
|
+
<sonic-badge variant="ghost" type="neutral">Neutral</sonic-badge>
|
|
53
|
+
<sonic-badge variant="ghost" type="warning">Warning</sonic-badge>
|
|
54
|
+
<sonic-badge variant="ghost" type="info">Info</sonic-badge>
|
|
55
|
+
<sonic-badge variant="ghost" type="success">Success</sonic-badge>
|
|
56
|
+
<sonic-badge variant="ghost" type="danger">Danger</sonic-badge>
|
|
57
|
+
</div>
|
|
47
58
|
</template>
|
|
48
59
|
</sonic-code>
|
|
49
60
|
|
|
50
61
|
## Size
|
|
62
|
+
|
|
63
|
+
Default size is `md` (omit the `size` attribute). Typography and padding follow `sonic-button`.
|
|
64
|
+
|
|
51
65
|
<sonic-code>
|
|
52
66
|
<template>
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
67
|
+
<div class="flex flex-wrap items-center gap-2">
|
|
68
|
+
<sonic-badge size="2xs">2Xs</sonic-badge>
|
|
69
|
+
<sonic-badge size="xs">Xs</sonic-badge>
|
|
70
|
+
<sonic-badge size="sm">Sm</sonic-badge>
|
|
71
|
+
<sonic-badge>Md</sonic-badge>
|
|
72
|
+
<sonic-badge size="lg">Lg</sonic-badge>
|
|
73
|
+
<sonic-badge size="xl">Xl</sonic-badge>
|
|
74
|
+
<sonic-badge size="2xl">2Xl</sonic-badge>
|
|
75
|
+
</div>
|
|
60
76
|
</template>
|
|
61
77
|
</sonic-code>
|
|
62
78
|
|
|
79
|
+
## Prefix and suffix slots
|
|
80
|
+
|
|
81
|
+
Icons or short text before / after the main label.
|
|
63
82
|
|
|
64
|
-
## Empty badges
|
|
65
83
|
<sonic-code>
|
|
66
84
|
<template>
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
<sonic-badge type="
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
</div>
|
|
85
|
+
<sonic-badge type="info" size="sm">
|
|
86
|
+
<sonic-icon slot="prefix" name="info-empty" library="iconoir"></sonic-icon>
|
|
87
|
+
Info
|
|
88
|
+
</sonic-badge>
|
|
89
|
+
<sonic-badge type="success">
|
|
90
|
+
Verified
|
|
91
|
+
<sonic-icon slot="suffix" name="check" library="iconoir"></sonic-icon>
|
|
92
|
+
</sonic-badge>
|
|
76
93
|
</template>
|
|
77
94
|
</sonic-code>
|
|
78
95
|
|
|
96
|
+
## Empty badges
|
|
97
|
+
|
|
98
|
+
Badge with no text (visual dot). `min-width` / `min-height` keep a readable shape.
|
|
99
|
+
|
|
100
|
+
<sonic-code>
|
|
101
|
+
<template>
|
|
102
|
+
<div class="flex items-center flex-wrap gap-3">
|
|
103
|
+
<sonic-badge type="danger" size="2xs"></sonic-badge>
|
|
104
|
+
<sonic-badge type="danger" size="xs"></sonic-badge>
|
|
105
|
+
<sonic-badge type="danger" size="sm"></sonic-badge>
|
|
106
|
+
<sonic-badge type="danger"></sonic-badge>
|
|
107
|
+
<sonic-badge type="danger" size="lg"></sonic-badge>
|
|
108
|
+
<sonic-badge type="danger" size="xl"></sonic-badge>
|
|
109
|
+
<sonic-badge type="danger" size="2xl"></sonic-badge>
|
|
110
|
+
</div>
|
|
111
|
+
</template>
|
|
112
|
+
</sonic-code>
|
|
79
113
|
|
|
80
114
|
## Ellipsis
|
|
115
|
+
|
|
116
|
+
With `ellipsis`, long labels truncate. The parent must constrain width (`max-width`, grid, etc.).
|
|
117
|
+
|
|
81
118
|
<sonic-code>
|
|
82
119
|
<template>
|
|
83
|
-
<div class="grid grid-cols-
|
|
84
|
-
|
|
85
|
-
<sonic-icon slot="prefix" name="info-empty" library="iconoir"></sonic-icon>
|
|
86
|
-
|
|
120
|
+
<div class="grid grid-cols-2 gap-4 max-w-xl">
|
|
121
|
+
<sonic-badge ellipsis size="sm" variant="outline">
|
|
122
|
+
<sonic-icon slot="prefix" name="info-empty" library="iconoir"></sonic-icon>
|
|
123
|
+
Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod.
|
|
124
|
+
</sonic-badge>
|
|
125
|
+
<sonic-badge ellipsis size="sm">
|
|
126
|
+
<sonic-icon slot="prefix" name="info-empty" library="iconoir"></sonic-icon>
|
|
127
|
+
Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod.
|
|
128
|
+
</sonic-badge>
|
|
87
129
|
</div>
|
|
88
130
|
</template>
|
|
89
131
|
</sonic-code>
|
|
90
132
|
|
|
91
133
|
## Badge in button
|
|
134
|
+
|
|
135
|
+
Count inside a button (`slot="suffix"`) or a badge absolutely positioned on a button / icon.
|
|
136
|
+
|
|
92
137
|
<sonic-code>
|
|
93
138
|
<template>
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
</sonic-button>
|
|
98
|
-
<div class="relative inline-block">
|
|
99
|
-
<sonic-button type="success" class="relative"> Mon compte </sonic-button>
|
|
100
|
-
<sonic-badge type="danger" size="xs" class="absolute right-1 top-0 pe-none transform -translate-y-1/2"
|
|
101
|
-
>12</sonic-badge
|
|
102
|
-
>
|
|
103
|
-
</div>
|
|
104
|
-
<div class="relative inline-block">
|
|
105
|
-
<sonic-button type="neutral" shape="circle" variant="outline"
|
|
106
|
-
><sonic-icon library="iconoir" name="user"></sonic-icon>
|
|
107
|
-
</sonic-button>
|
|
108
|
-
<sonic-badge
|
|
109
|
-
type="danger"
|
|
110
|
-
size="xs"
|
|
111
|
-
class="absolute right-1 bottom-1 pe-none transform translate-y-1/2 translate-x-1/2"
|
|
112
|
-
>33</sonic-badge
|
|
113
|
-
>
|
|
114
|
-
</div>
|
|
115
|
-
<div class="relative inline-block">
|
|
116
|
-
<sonic-button type="neutral" shape="circle" variant="outline"
|
|
117
|
-
><sonic-icon library="iconoir" name="user"></sonic-icon>
|
|
139
|
+
<div class="flex flex-wrap gap-4 items-center">
|
|
140
|
+
<sonic-button type="default">
|
|
141
|
+
Messages <sonic-badge slot="suffix" type="danger" size="xs">5</sonic-badge>
|
|
118
142
|
</sonic-button>
|
|
119
|
-
<
|
|
120
|
-
type="
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
143
|
+
<div class="relative inline-block">
|
|
144
|
+
<sonic-button type="success" class="relative">My account</sonic-button>
|
|
145
|
+
<sonic-badge
|
|
146
|
+
type="danger"
|
|
147
|
+
size="xs"
|
|
148
|
+
class="absolute right-1 top-0 pe-none transform -translate-y-1/2"
|
|
149
|
+
>12</sonic-badge
|
|
150
|
+
>
|
|
151
|
+
</div>
|
|
152
|
+
<div class="relative inline-block">
|
|
153
|
+
<sonic-button type="neutral" shape="circle" variant="outline">
|
|
154
|
+
<sonic-icon library="iconoir" name="user"></sonic-icon>
|
|
155
|
+
</sonic-button>
|
|
156
|
+
<sonic-badge
|
|
157
|
+
type="danger"
|
|
158
|
+
size="xs"
|
|
159
|
+
class="absolute right-1 bottom-1 pe-none transform translate-y-1/2 translate-x-1/2"
|
|
160
|
+
>33</sonic-badge
|
|
161
|
+
>
|
|
162
|
+
</div>
|
|
163
|
+
<div class="relative inline-block">
|
|
164
|
+
<sonic-button type="neutral" shape="circle" variant="outline">
|
|
165
|
+
<sonic-icon library="iconoir" name="user"></sonic-icon>
|
|
166
|
+
</sonic-button>
|
|
167
|
+
<sonic-badge
|
|
168
|
+
type="danger"
|
|
169
|
+
size="xs"
|
|
170
|
+
class="absolute right-2 bottom-2 pe-none transform translate-y-1/2 translate-x-1/2"
|
|
171
|
+
></sonic-badge>
|
|
172
|
+
</div>
|
|
124
173
|
</div>
|
|
125
|
-
</div>
|
|
126
174
|
</template>
|
|
127
175
|
</sonic-code>
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
fontSize,
|
|
5
5
|
Size,
|
|
6
6
|
} from "@supersoniks/concorde/core/components/ui/_css/size";
|
|
7
|
+
import { typesBg } from "@supersoniks/concorde/core/components/ui/_css/type";
|
|
7
8
|
|
|
8
9
|
const tagName = "sonic-badge";
|
|
9
10
|
/**
|
|
@@ -15,125 +16,73 @@ const tagName = "sonic-badge";
|
|
|
15
16
|
export class Badge extends LitElement {
|
|
16
17
|
static styles = [
|
|
17
18
|
fontSize,
|
|
19
|
+
typesBg,
|
|
18
20
|
css`
|
|
19
21
|
:host {
|
|
20
|
-
--sc-
|
|
21
|
-
--sc-
|
|
22
|
-
--sc-
|
|
23
|
-
|
|
24
|
-
--sc-
|
|
25
|
-
--sc-
|
|
26
|
-
|
|
27
|
-
/*--sc-badge-border-width: var(--sc-form-border-width, 0.1rem);*/
|
|
28
|
-
--sc-badge-border-width: 1px;
|
|
29
|
-
--sc-badge-border-color: transparent;
|
|
30
|
-
--sc-badge-border: var(--sc-badge-border-width) solid
|
|
31
|
-
var(--sc-badge-border-color);
|
|
32
|
-
|
|
33
|
-
--sc-badge-rounded: 0.85em;
|
|
34
|
-
--sc-badge-fw: var(--sc-font-weight-base, 400);
|
|
22
|
+
--sc-_gap: 0.3em;
|
|
23
|
+
--sc-_py: 0.35em;
|
|
24
|
+
--sc-_px: 0.67em;
|
|
25
|
+
--sc-_rounded: 0.85em;
|
|
26
|
+
--sc-_fw: var(--sc-font-weight-base, 400);
|
|
27
|
+
--sc-_border-width: 1px;
|
|
28
|
+
--sc-_border-color: transparent;
|
|
35
29
|
|
|
36
30
|
display: inline-flex;
|
|
37
31
|
align-items: center;
|
|
32
|
+
gap: var(--sc-_gap);
|
|
38
33
|
box-sizing: border-box;
|
|
39
|
-
line-height: var(--sc-_lh);
|
|
40
|
-
border-radius: var(--sc-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
padding-top: var(--sc-badge-py);
|
|
49
|
-
padding-bottom: var(--sc-badge-py);
|
|
50
|
-
padding-left: var(--sc-badge-px);
|
|
51
|
-
padding-right: var(--sc-badge-px);
|
|
52
|
-
/**Round pour lissage px */
|
|
53
|
-
min-height: round(calc(var(--sc-badge-px) * 2), 1px);
|
|
54
|
-
min-width: round(calc(var(--sc-badge-px) * 2), 1px);
|
|
55
|
-
border: var(--sc-badge-border);
|
|
34
|
+
line-height: var(--sc-_lh, 1);
|
|
35
|
+
border-radius: var(--sc-_rounded);
|
|
36
|
+
font-family: var(--sc-font-family-base, sans-serif);
|
|
37
|
+
font-weight: var(--sc-_fw);
|
|
38
|
+
padding: var(--sc-_py) var(--sc-_px);
|
|
39
|
+
min-height: round(calc(var(--sc-_px) * 2), 1px);
|
|
40
|
+
min-width: round(calc(var(--sc-_px) * 2), 1px);
|
|
41
|
+
border: var(--sc-_border-width) solid var(--sc-_border-color);
|
|
56
42
|
-webkit-print-color-adjust: exact;
|
|
57
43
|
}
|
|
58
44
|
|
|
59
|
-
/*TYPES*/
|
|
60
|
-
:host([type="primary"]) {
|
|
61
|
-
--sc-badge-color: var(--sc-primary-content, var(--sc-base, #fff));
|
|
62
|
-
--sc-badge-bg: var(--sc-primary, var(--sc-base-content, #000));
|
|
63
|
-
}
|
|
64
|
-
:host([type="warning"]) {
|
|
65
|
-
--sc-badge-color: var(--sc-warning-content, var(--sc-base, #fff));
|
|
66
|
-
--sc-badge-bg: var(--sc-warning, var(--sc-base-content, #000));
|
|
67
|
-
}
|
|
68
|
-
:host([type="danger"]) {
|
|
69
|
-
--sc-badge-color: var(--sc-danger-content, var(--sc-base, #fff));
|
|
70
|
-
--sc-badge-bg: var(--sc-danger, var(--sc-base-content, #000));
|
|
71
|
-
}
|
|
72
|
-
:host([type="info"]) {
|
|
73
|
-
--sc-badge-color: var(--sc-info-content, var(--sc-base, #fff));
|
|
74
|
-
--sc-badge-bg: var(--sc-info, var(--sc-base-content, #000));
|
|
75
|
-
}
|
|
76
|
-
:host([type="success"]) {
|
|
77
|
-
--sc-badge-color: var(--sc-success-content, var(--sc-base, #fff));
|
|
78
|
-
--sc-badge-bg: var(--sc-success, var(--sc-base-content, #000));
|
|
79
|
-
}
|
|
80
|
-
:host([type="neutral"]) {
|
|
81
|
-
--sc-badge-color: var(--sc-base, #fff);
|
|
82
|
-
--sc-badge-bg: var(--sc-base-content, #000);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
:host([contrast]),
|
|
86
|
-
:host([type="contrast"]) {
|
|
87
|
-
--sc-badge-color: var(--sc-contrast-content, #fff);
|
|
88
|
-
--sc-badge-bg: var(--sc-contrast, #000);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/*SIZE*/
|
|
92
|
-
:host {
|
|
93
|
-
gap: var(--sc-badge-gap);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
45
|
:host([size="2xs"]),
|
|
97
46
|
:host([size="xs"]),
|
|
98
47
|
:host([size="sm"]) {
|
|
99
|
-
--sc-
|
|
48
|
+
--sc-_gap: 0.35em;
|
|
100
49
|
}
|
|
101
50
|
|
|
102
51
|
:host([size="lg"]),
|
|
103
52
|
:host([size="xl"]) {
|
|
104
53
|
--sc-_lh: 1.2;
|
|
105
|
-
--sc-
|
|
54
|
+
--sc-_gap: 0.5em;
|
|
106
55
|
}
|
|
107
56
|
|
|
108
57
|
/*OUTLINE*/
|
|
109
58
|
:host([variant="outline"][type]) {
|
|
110
|
-
border-width: var(--sc-
|
|
111
|
-
border-color: var(--sc-
|
|
112
|
-
color: var(--sc-
|
|
59
|
+
border-width: var(--sc-_border-width) !important;
|
|
60
|
+
border-color: var(--sc-_bg);
|
|
61
|
+
color: var(--sc-_bg);
|
|
113
62
|
background: transparent;
|
|
114
63
|
}
|
|
115
64
|
|
|
116
65
|
:host([variant="outline"][type="default"]) {
|
|
117
|
-
border-color: var(--sc-
|
|
118
|
-
color: var(--sc-
|
|
66
|
+
border-color: var(--sc-_color);
|
|
67
|
+
color: var(--sc-_color);
|
|
119
68
|
background: transparent;
|
|
120
69
|
}
|
|
121
70
|
|
|
122
71
|
/*GHOST*/
|
|
123
72
|
:host([variant="ghost"][type]) {
|
|
124
|
-
color: var(--sc-
|
|
73
|
+
color: var(--sc-_bg);
|
|
125
74
|
background: transparent;
|
|
126
75
|
padding: 0;
|
|
127
76
|
}
|
|
128
77
|
|
|
129
78
|
@media (forced-colors: active) {
|
|
130
79
|
:host([variant="ghost"][type]) {
|
|
131
|
-
padding: var(--sc-
|
|
80
|
+
padding: var(--sc-_py) var(--sc-_px);
|
|
132
81
|
}
|
|
133
82
|
}
|
|
134
|
-
|
|
83
|
+
/* surcharge du default pour le ghost */
|
|
135
84
|
:host([variant="ghost"][type="default"]) {
|
|
136
|
-
color: var(--sc-
|
|
85
|
+
color: var(--sc-_color);
|
|
137
86
|
background: transparent;
|
|
138
87
|
}
|
|
139
88
|
|
|
@@ -169,7 +118,6 @@ export class Badge extends LitElement {
|
|
|
169
118
|
| "danger"
|
|
170
119
|
| "success"
|
|
171
120
|
| "info"
|
|
172
|
-
| "contrast"
|
|
173
121
|
| "neutral" = "default";
|
|
174
122
|
/**
|
|
175
123
|
* Le composant par defaut sans se paramètre à forte afordance
|
|
@@ -71,6 +71,7 @@ The length of the button depends on the size of its content
|
|
|
71
71
|
<template>
|
|
72
72
|
<sonic-button loading></sonic-button>
|
|
73
73
|
<sonic-button loading>Loading button</sonic-button>
|
|
74
|
+
<sonic-button loading><span slot="prefix">🚀</span>Loading with prefix<span slot="suffix">😂</span></sonic-button>
|
|
74
75
|
</template>
|
|
75
76
|
</sonic-code>
|
|
76
77
|
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import LocationHandler
|
|
1
|
+
import LocationHandler, {
|
|
2
|
+
type AutoActiveMode,
|
|
3
|
+
} from "@supersoniks/concorde/core/utils/LocationHandler";
|
|
2
4
|
import { html, LitElement, css, CSSResultGroup } from "lit";
|
|
3
5
|
import {
|
|
4
6
|
customElement,
|
|
@@ -381,8 +383,9 @@ export class Button extends FormCheckable(FormElement(LitElement)) {
|
|
|
381
383
|
position: relative;
|
|
382
384
|
}
|
|
383
385
|
|
|
384
|
-
:host([loading]) slot
|
|
385
|
-
|
|
386
|
+
:host([loading]) slot,
|
|
387
|
+
:host([loading]) slot::slotted(*) {
|
|
388
|
+
visibility: hidden !important;
|
|
386
389
|
pointer-events: none;
|
|
387
390
|
}
|
|
388
391
|
/*Loading*/
|
|
@@ -395,8 +398,8 @@ export class Button extends FormCheckable(FormElement(LitElement)) {
|
|
|
395
398
|
align-items: center;
|
|
396
399
|
justify-content: center;
|
|
397
400
|
line-height: 0;
|
|
398
|
-
height: var(--sc-btn-
|
|
399
|
-
width: var(--sc-btn-
|
|
401
|
+
height: var(--sc-btn-fs);
|
|
402
|
+
width: var(--sc-btn-fs);
|
|
400
403
|
animation: rotation 2s infinite linear;
|
|
401
404
|
}
|
|
402
405
|
|
|
@@ -479,8 +482,7 @@ export class Button extends FormCheckable(FormElement(LitElement)) {
|
|
|
479
482
|
* - strict-path-only : l'url courante match exactement avec le path du bouton sans les query params
|
|
480
483
|
* - disabled : aucune activation / désactivation
|
|
481
484
|
*/
|
|
482
|
-
@property({ type: String }) autoActive:
|
|
483
|
-
"partial";
|
|
485
|
+
@property({ type: String }) autoActive: AutoActiveMode = "partial";
|
|
484
486
|
|
|
485
487
|
/**
|
|
486
488
|
* Laisse apparaitre un loader en remplacement du contenu du bouton.
|
|
@@ -627,7 +629,7 @@ export class Button extends FormCheckable(FormElement(LitElement)) {
|
|
|
627
629
|
flexDirection: this.direction,
|
|
628
630
|
alignItems: this.alignItems,
|
|
629
631
|
justifyContent: this.justify,
|
|
630
|
-
|
|
632
|
+
textAlign: this.align,
|
|
631
633
|
minWidth: this.minWidth,
|
|
632
634
|
};
|
|
633
635
|
|
|
@@ -640,6 +642,7 @@ export class Button extends FormCheckable(FormElement(LitElement)) {
|
|
|
640
642
|
aria-expanded=${ifDefined(this.sonicAriaExpanded)}
|
|
641
643
|
aria-label=${ifDefined(this.ariaLabel)}
|
|
642
644
|
aria-labelledby=${ifDefined(this.ariaLabelledby)}
|
|
645
|
+
aria-busy=${ifDefined(this.loading ? "true" : undefined)}
|
|
643
646
|
?disabled=${this.disabled}
|
|
644
647
|
@click=${this.handleChange}
|
|
645
648
|
@pointerdown=${this.handleRepeatStart}
|
|
File without changes
|
|
File without changes
|
|
@@ -10,7 +10,7 @@ export class CardHeader extends LitElement {
|
|
|
10
10
|
css`
|
|
11
11
|
:host {
|
|
12
12
|
--sc-card-header-mb: 1.35rem;
|
|
13
|
-
--sc-card-header-font-size: 1.
|
|
13
|
+
--sc-card-header-font-size: 1.5rem;
|
|
14
14
|
--sc-card-header-font-weight: var(--sc-headings-font-weight, 700);
|
|
15
15
|
--sc-card-header-font-style: var(--sc-headings-font-style, normal);
|
|
16
16
|
--sc-card-header-family: var(
|
|
@@ -42,8 +42,13 @@ export class CardHeader extends LitElement {
|
|
|
42
42
|
flex-shrink: 0;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
::slotted([slot="suffix"]) {
|
|
46
|
+
flex-shrink: 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
sonic-card-header-description,
|
|
45
50
|
::slotted(sonic-card-header-description) {
|
|
46
|
-
margin-top: 0.
|
|
51
|
+
margin-top: 0.12em;
|
|
47
52
|
}
|
|
48
53
|
`,
|
|
49
54
|
];
|