@supersoniks/concorde 3.1.40 → 3.1.42
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/build-infos.json +1 -1
- package/concorde-core.bundle.js +676 -648
- package/concorde-core.es.js +3387 -3208
- package/dist/concorde-core.bundle.js +676 -648
- package/dist/concorde-core.es.js +3387 -3208
- package/index.html +16 -16
- package/package.json +7 -1
- package/scripts/pre-build.mjs +0 -0
- package/scripts/pre-publish.mjs +0 -0
- package/src/core/_types/types.ts +0 -0
- package/src/core/components/functional/date/date.ts +21 -12
- package/src/core/components/functional/functional.ts +1 -0
- package/src/core/components/functional/queue/queue.ts +0 -0
- package/src/core/components/functional/router/router.md +28 -32
- package/src/core/components/functional/router/router.ts +1 -5
- package/src/core/components/functional/sonic-scope/sonic-scope.ts +2 -2
- package/src/core/components/functional/states/states.md +4 -4
- package/src/core/components/functional/states/states.ts +0 -0
- package/src/core/components/functional/submit/submit.md +0 -0
- package/src/core/components/functional/submit/submit.ts +0 -0
- package/src/core/components/functional/translation/translation.ts +12 -0
- package/src/core/components/ui/_css/scroll.ts +1 -1
- package/src/core/components/ui/_css/shadow.ts +24 -0
- package/src/core/components/ui/_css/size.ts +12 -12
- package/src/core/components/ui/_css/type.ts +54 -23
- package/src/core/components/ui/alert/alert.md +15 -15
- package/src/core/components/ui/alert/alert.ts +71 -58
- package/src/core/components/ui/alert-messages/alert-messages.ts +0 -0
- package/src/core/components/ui/badge/badge.md +30 -5
- package/src/core/components/ui/badge/badge.ts +62 -54
- package/src/core/components/ui/button/button.ts +33 -32
- package/src/core/components/ui/card/card-footer.ts +9 -10
- package/src/core/components/ui/card/card-header-descripton.ts +8 -11
- package/src/core/components/ui/card/card-header.ts +28 -23
- package/src/core/components/ui/card/card-main.ts +10 -15
- package/src/core/components/ui/card/card.md +2 -1
- package/src/core/components/ui/card/card.ts +30 -69
- package/src/core/components/ui/divider/divider.ts +41 -19
- package/src/core/components/ui/form/checkbox/checkbox.md +27 -29
- package/src/core/components/ui/form/checkbox/checkbox.ts +15 -19
- package/src/core/components/ui/form/css/form-control.ts +39 -43
- package/src/core/components/ui/form/fieldset/fieldset.ts +0 -0
- package/src/core/components/ui/form/fieldset/legend-description.ts +5 -5
- package/src/core/components/ui/form/fieldset/legend.ts +30 -17
- package/src/core/components/ui/form/input/input.md +25 -26
- package/src/core/components/ui/form/input/input.ts +4 -2
- package/src/core/components/ui/form/input/password-helper.ts +0 -0
- package/src/core/components/ui/form/input/same-value-helper.ts +0 -0
- package/src/core/components/ui/form/input-autocomplete/input-autocomplete.ts +13 -6
- package/src/core/components/ui/form/radio/radio.md +0 -2
- package/src/core/components/ui/form/radio/radio.ts +6 -4
- package/src/core/components/ui/form/select/select.md +26 -28
- package/src/core/components/ui/form/select/select.ts +2 -2
- package/src/core/components/ui/form/textarea/textarea.ts +2 -2
- package/src/core/components/ui/group/group.ts +0 -0
- package/src/core/components/ui/image/image.ts +32 -16
- package/src/core/components/ui/loader/loader.md +35 -5
- package/src/core/components/ui/loader/loader.ts +20 -11
- package/src/core/components/ui/loader/styles/fixed.ts +8 -10
- package/src/core/components/ui/loader/styles/inline.ts +2 -2
- package/src/core/components/ui/menu/menu.ts +3 -27
- package/src/core/components/ui/modal/modal-subtitle.ts +9 -5
- package/src/core/components/ui/modal/modal-title.ts +9 -4
- package/src/core/components/ui/modal/modal.md +6 -6
- package/src/core/components/ui/modal/modal.ts +6 -3
- package/src/core/components/ui/pop/pop.ts +5 -27
- package/src/core/components/ui/progress/progress.ts +13 -10
- package/src/core/components/ui/table/table-tbody.ts +4 -3
- package/src/core/components/ui/table/table-th.ts +19 -13
- package/src/core/components/ui/table/table.ts +12 -8
- package/src/core/components/ui/theme/theme-collection/core-variables.ts +34 -34
- package/src/core/components/ui/theme/theme-collection/dark.ts +1 -1
- package/src/core/components/ui/theme/theme-collection/light.ts +7 -11
- package/src/core/components/ui/theme/theme.ts +6 -6
- package/src/core/components/ui/toast/message-subscriber.ts +0 -0
- package/src/core/components/ui/toast/toast-item.ts +12 -10
- package/src/core/components/ui/toast/toast.ts +0 -0
- package/src/core/components/ui/tooltip/tooltip.ts +2 -2
- package/src/core/components/ui/ui.ts +0 -0
- package/src/core/core.ts +0 -0
- package/src/core/directives/DataProvider.ts +5 -4
- package/src/core/directives/Wording.ts +8 -6
- package/src/core/mixins/FormCheckable.ts +0 -0
- package/src/core/mixins/FormElement.ts +0 -0
- package/src/core/mixins/Subscriber.ts +0 -0
- package/src/core/utils/HTML.ts +0 -0
- package/src/core/utils/LocationHandler.ts +0 -0
- package/src/core/utils/Objects.ts +0 -0
- package/src/core/utils/PublisherProxy.ts +0 -0
- package/src/core/utils/api.ts +0 -0
- package/src/core/utils/route.ts +0 -0
- package/src/docs/docs.ts +1 -0
- package/src/docs/header/header.ts +2 -5
- package/src/docs/layout.ts +18 -0
- package/src/docs/search/docs-search.json +0 -0
- package/src/docs/search/page.ts +6 -4
- package/src/docs/tailwind/css/tailwind.css +42 -33
- package/src/index.ts +0 -2
- package/src/tsconfig-model.json +0 -0
- package/src/tsconfig.json +18 -0
- package/src/tsconfig.tsbuildinfo +1 -0
- package/tailwind.config.js +1 -1
- package/vite/config.js +0 -0
- package/vite.config.mts.timestamp-1728318208370-f1724bcfd87d3.mjs +85 -0
- package/docs/assets/index-D1OO2yIk.js +0 -4421
- package/docs/assets/index-DCqvoAAf.css +0 -1
- package/docs/css/docs.css +0 -0
- 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/src/core/components/functional/date/date.md +0 -290
- package/docs/src/core/components/functional/fetch/fetch.md +0 -117
- package/docs/src/core/components/functional/if/if.md +0 -16
- package/docs/src/core/components/functional/list/list.md +0 -199
- package/docs/src/core/components/functional/mix/mix.md +0 -41
- package/docs/src/core/components/functional/queue/queue.md +0 -87
- package/docs/src/core/components/functional/router/router.md +0 -112
- 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 -83
- 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/badge/badge.md +0 -102
- package/docs/src/core/components/ui/button/button.md +0 -184
- package/docs/src/core/components/ui/captcha/captcha.md +0 -12
- package/docs/src/core/components/ui/card/card.md +0 -96
- package/docs/src/core/components/ui/divider/divider.md +0 -35
- package/docs/src/core/components/ui/form/checkbox/checkbox.md +0 -96
- 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 -43
- package/docs/src/core/components/ui/form/input/input.md +0 -168
- package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -130
- package/docs/src/core/components/ui/form/radio/radio.md +0 -86
- package/docs/src/core/components/ui/form/select/select.md +0 -99
- 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 -37
- package/docs/src/core/components/ui/menu/menu.md +0 -288
- package/docs/src/core/components/ui/modal/modal.md +0 -123
- package/docs/src/core/components/ui/pop/pop.md +0 -79
- 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/tooltip/tooltip.md +0 -82
- package/docs/src/docs/_core-concept/overview.md +0 -57
- package/docs/src/docs/_core-concept/subscriber.md +0 -76
- package/docs/src/docs/_getting-started/concorde-outside.md +0 -143
- package/docs/src/docs/_getting-started/create-a-component.md +0 -137
- package/docs/src/docs/_getting-started/my-first-subscriber.md +0 -174
- package/docs/src/docs/_getting-started/pubsub.md +0 -150
- package/docs/src/docs/_getting-started/start.md +0 -39
- package/docs/src/docs/_getting-started/theming.md +0 -91
- package/docs/src/docs/search/docs-search.json +0 -3887
- package/docs/src/tag-list.json +0 -1
- package/docs/src/tsconfig-model.json +0 -23
- package/docs/src/tsconfig.json +0 -808
- package/docs/svg/regular/plane.svg +0 -1
- package/docs/svg/solid/plane.svg +0 -1
|
@@ -15,8 +15,8 @@ export const passwordToggle = css`
|
|
|
15
15
|
|
|
16
16
|
export const label = css`
|
|
17
17
|
:host {
|
|
18
|
-
--sc-label-fs: var(--sc-
|
|
19
|
-
--sc-label-fw: var(--sc-label-font-weight);
|
|
18
|
+
--sc-label-fs: var(--sc-_fs, 1rem);
|
|
19
|
+
--sc-label-fw: var(--sc-label-font-weight, 500);
|
|
20
20
|
}
|
|
21
21
|
label {
|
|
22
22
|
font-size: var(--sc-label-fs);
|
|
@@ -31,7 +31,7 @@ export const label = css`
|
|
|
31
31
|
|
|
32
32
|
export const description = css`
|
|
33
33
|
.form-description {
|
|
34
|
-
color: var(--sc-base-400);
|
|
34
|
+
color: var(--sc-base-400, var(--sc-base-content, #000));
|
|
35
35
|
font-size: 0.85em;
|
|
36
36
|
margin-top: 0.2em;
|
|
37
37
|
display: block;
|
|
@@ -44,23 +44,26 @@ export const formControl = css`
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
:host {
|
|
47
|
-
--sc-input-height: var(--sc-form-height);
|
|
48
|
-
--sc-input-c: var(--sc-input-color, var(--sc-base-content));
|
|
47
|
+
--sc-input-height: var(--sc-form-height, 2.5em);
|
|
48
|
+
--sc-input-c: var(--sc-input-color, var(--sc-base-content, #000));
|
|
49
49
|
--sc-input-b-width: var(--sc-form-border-width);
|
|
50
|
-
--sc-input-b-color: var(
|
|
50
|
+
--sc-input-b-color: var(
|
|
51
|
+
--sc-input-border-color,
|
|
52
|
+
var(--sc-base-content, #000)
|
|
53
|
+
);
|
|
51
54
|
|
|
52
55
|
--sc-item-rounded-tr: var(--sc-input-rounded);
|
|
53
56
|
--sc-item-rounded-tl: var(--sc-input-rounded);
|
|
54
57
|
--sc-item-rounded-bl: var(--sc-input-rounded);
|
|
55
58
|
--sc-item-rounded-br: var(--sc-input-rounded);
|
|
56
59
|
|
|
57
|
-
--sc-input-fs: var(--sc-
|
|
60
|
+
--sc-input-fs: var(--sc-_fs, 1rem);
|
|
58
61
|
--sc-input-ff: inherit;
|
|
59
62
|
--sc-input-py: 0.55em;
|
|
60
63
|
--sc-input-px: clamp(0.3em, 8%, 1.1em);
|
|
61
64
|
|
|
62
65
|
--sc-input-background: var(--sc-input-bg);
|
|
63
|
-
--sc-input-addon-c: var(--sc-input-addon-color, var(--sc-base));
|
|
66
|
+
--sc-input-addon-c: var(--sc-input-addon-color, var(--sc-base, #fff));
|
|
64
67
|
--sc-input-addon-bg: var(--sc-input-c);
|
|
65
68
|
}
|
|
66
69
|
|
|
@@ -158,7 +161,7 @@ export const formControl = css`
|
|
|
158
161
|
display: flex;
|
|
159
162
|
align-items: center;
|
|
160
163
|
gap: 0.35em;
|
|
161
|
-
min-height: var(--sc-form-height);
|
|
164
|
+
min-height: var(--sc-form-height, 2.5em);
|
|
162
165
|
}
|
|
163
166
|
|
|
164
167
|
:host([inlineContent]) .form-element .form-element {
|
|
@@ -225,7 +228,7 @@ export const formControl = css`
|
|
|
225
228
|
/*PLACEHOLDER*/
|
|
226
229
|
::placeholder {
|
|
227
230
|
color: inherit;
|
|
228
|
-
opacity: 0.
|
|
231
|
+
opacity: 0.6;
|
|
229
232
|
}
|
|
230
233
|
|
|
231
234
|
:host([placehoderAsLabel]) ::placeholder {
|
|
@@ -249,13 +252,6 @@ export const formControl = css`
|
|
|
249
252
|
display: block;
|
|
250
253
|
}
|
|
251
254
|
|
|
252
|
-
.form-description {
|
|
253
|
-
color: var(--sc-base-400);
|
|
254
|
-
font-size: 0.85em;
|
|
255
|
-
margin-top: 0.2em;
|
|
256
|
-
display: block;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
255
|
/*Utilitaires*/
|
|
260
256
|
.hidden {
|
|
261
257
|
display: none;
|
|
@@ -266,7 +262,7 @@ export const formControl = css`
|
|
|
266
262
|
|
|
267
263
|
/*ERROR*/
|
|
268
264
|
:host([error]) {
|
|
269
|
-
--sc-input-b-color: var(--sc-danger);
|
|
265
|
+
--sc-input-b-color: var(--sc-danger, var(--sc-base-content, #000));
|
|
270
266
|
}
|
|
271
267
|
|
|
272
268
|
:host input:visited {
|
|
@@ -274,22 +270,22 @@ export const formControl = css`
|
|
|
274
270
|
}
|
|
275
271
|
|
|
276
272
|
:host([touched][required]) :not(:focus):invalid {
|
|
277
|
-
--sc-input-b-color: var(--sc-danger);
|
|
278
|
-
--sc-input-c: var(--sc-danger);
|
|
273
|
+
--sc-input-b-color: var(--sc-danger, var(--sc-base-content, #000));
|
|
274
|
+
--sc-input-c: var(--sc-danger, var(--sc-base-content, #000));
|
|
279
275
|
}
|
|
280
276
|
|
|
281
277
|
:host([touched][required]) :not(:focus):invalid + .select-chevron {
|
|
282
|
-
--sc-input-c: var(--sc-danger);
|
|
278
|
+
--sc-input-c: var(--sc-danger, var(--sc-base-content, #000));
|
|
283
279
|
}
|
|
284
280
|
|
|
285
281
|
/*VALID*/
|
|
286
282
|
:host([touched][required]) :not([value=""]):not(:focus):valid {
|
|
287
|
-
--sc-input-b-color: var(--sc-success);
|
|
288
|
-
--sc-input-c: var(--sc-success);
|
|
283
|
+
--sc-input-b-color: var(--sc-success, var(--sc-base-content, #000));
|
|
284
|
+
--sc-input-c: var(--sc-success, var(--sc-base-content, #000));
|
|
289
285
|
}
|
|
290
286
|
|
|
291
287
|
:host([touched][required]) :not(:focus):valid + .select-chevron {
|
|
292
|
-
--sc-input-c: var(--sc-success);
|
|
288
|
+
--sc-input-c: var(--sc-success, var(--sc-base-content, #000));
|
|
293
289
|
}
|
|
294
290
|
|
|
295
291
|
/*Input COLOR*/
|
|
@@ -358,33 +354,33 @@ export const formControl = css`
|
|
|
358
354
|
|
|
359
355
|
/*type color "default" | "success" | "error" | "warning" | "info" */
|
|
360
356
|
:host([status="success"]) {
|
|
361
|
-
--sc-input-b-color: var(--sc-success);
|
|
362
|
-
--sc-input-c: var(--sc-success);
|
|
363
|
-
--sc-input-addon-bg: var(--sc-success);
|
|
364
|
-
--sc-input-addon-color: var(--sc-success-content);
|
|
357
|
+
--sc-input-b-color: var(--sc-success, var(--sc-base-content, #000));
|
|
358
|
+
--sc-input-c: var(--sc-success, var(--sc-base-content, #000));
|
|
359
|
+
--sc-input-addon-bg: var(--sc-success, var(--sc-base-content, #000));
|
|
360
|
+
--sc-input-addon-color: var(--sc-success-content, var(--sc-base, #fff));
|
|
365
361
|
}
|
|
366
362
|
:host([status="error"]) {
|
|
367
|
-
--sc-input-b-color: var(--sc-danger);
|
|
368
|
-
--sc-input-c: var(--sc-danger);
|
|
369
|
-
--sc-input-addon-bg: var(--sc-danger);
|
|
370
|
-
--sc-input-addon-color: var(--sc-danger-content);
|
|
363
|
+
--sc-input-b-color: var(--sc-danger, var(--sc-base-content, #000));
|
|
364
|
+
--sc-input-c: var(--sc-danger, var(--sc-base-content, #000));
|
|
365
|
+
--sc-input-addon-bg: var(--sc-danger, var(--sc-base-content, #000));
|
|
366
|
+
--sc-input-addon-color: var(--sc-danger-content, var(--sc-base, #fff));
|
|
371
367
|
}
|
|
372
368
|
:host([status="warning"]) {
|
|
373
369
|
--sc-input-b-color: var(--sc-warning);
|
|
374
|
-
--sc-input-c: var(--sc-warning);
|
|
375
|
-
--sc-input-addon-bg: var(--sc-warning);
|
|
376
|
-
--sc-input-addon-color: var(--sc-warning-content);
|
|
370
|
+
--sc-input-c: var(--sc-warning, var(--sc-base-content, #000));
|
|
371
|
+
--sc-input-addon-bg: var(--sc-warning, var(--sc-base-content, #000));
|
|
372
|
+
--sc-input-addon-color: var(--sc-warning-content, var(--sc-base, #fff));
|
|
377
373
|
}
|
|
378
374
|
:host([status="info"]) {
|
|
379
|
-
--sc-input-b-color: var(--sc-info);
|
|
380
|
-
--sc-input-c: var(--sc-info);
|
|
381
|
-
--sc-input-addon-bg: var(--sc-info);
|
|
382
|
-
--sc-input-addon-color: var(--sc-info-content);
|
|
375
|
+
--sc-input-b-color: var(--sc-info, var(--sc-base-content, #000));
|
|
376
|
+
--sc-input-c: var(--sc-info, var(--sc-base-content, #000));
|
|
377
|
+
--sc-input-addon-bg: var(--sc-info, var(--sc-base-content, #000));
|
|
378
|
+
--sc-input-addon-color: var(--sc-info-content, var(--sc-base, #fff));
|
|
383
379
|
}
|
|
384
380
|
:host([status="primary"]) {
|
|
385
|
-
--sc-input-b-color: var(--sc-primary);
|
|
386
|
-
--sc-input-c: var(--sc-primary);
|
|
387
|
-
--sc-input-addon-bg: var(--sc-primary);
|
|
388
|
-
--sc-input-addon-color: var(--sc-primary-content);
|
|
381
|
+
--sc-input-b-color: var(--sc-primary, var(--sc-base-content, #000));
|
|
382
|
+
--sc-input-c: var(--sc-primary, var(--sc-base-content, #000));
|
|
383
|
+
--sc-input-addon-bg: var(--sc-primary, var(--sc-base-content, #000));
|
|
384
|
+
--sc-input-addon-color: var(--sc-primary-content, var(--sc-base, #fff));
|
|
389
385
|
}
|
|
390
386
|
`;
|
|
File without changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {html, LitElement, css} from "lit";
|
|
2
|
-
import {customElement} from "lit/decorators.js";
|
|
1
|
+
import { html, LitElement, css } from "lit";
|
|
2
|
+
import { customElement } from "lit/decorators.js";
|
|
3
3
|
|
|
4
4
|
@customElement("sonic-legend-description")
|
|
5
5
|
export class LegendDescription extends LitElement {
|
|
@@ -9,9 +9,9 @@ export class LegendDescription extends LitElement {
|
|
|
9
9
|
font-size: 1.15rem;
|
|
10
10
|
line-height: 1.2;
|
|
11
11
|
display: block;
|
|
12
|
-
color: var(--sc-base-500);
|
|
13
|
-
font-weight: var(--sc-font-weight-base);
|
|
14
|
-
font-style: var(--sc-font-style-base);
|
|
12
|
+
color: var(--sc-base-500, var(--sc-base-content, #000));
|
|
13
|
+
font-weight: var(--sc-font-weight-base, 400);
|
|
14
|
+
font-style: var(--sc-font-style-base, normal);
|
|
15
15
|
margin-top: 0.2em;
|
|
16
16
|
}
|
|
17
17
|
`,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {html, LitElement, css} from "lit";
|
|
2
|
-
import {customElement, property} from "lit/decorators.js";
|
|
1
|
+
import { html, LitElement, css } from "lit";
|
|
2
|
+
import { customElement, property } from "lit/decorators.js";
|
|
3
3
|
import "@supersoniks/concorde/core/components/ui/form/fieldset/legend-description";
|
|
4
|
-
import {unsafeHTML} from "lit/directives/unsafe-html.js";
|
|
5
|
-
import {ifDefined} from "lit/directives/if-defined.js";
|
|
4
|
+
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
5
|
+
import { ifDefined } from "lit/directives/if-defined.js";
|
|
6
6
|
|
|
7
7
|
const tagName = "sonic-legend";
|
|
8
8
|
|
|
@@ -12,11 +12,14 @@ export class Legend extends LitElement {
|
|
|
12
12
|
css`
|
|
13
13
|
:host {
|
|
14
14
|
--sc-legend-font-size: 1.5rem;
|
|
15
|
-
--sc-legend-font-weight: var(--sc-font-weight-base);
|
|
16
|
-
--sc-legend-font-style: var(--sc-headings-font-style);
|
|
17
|
-
--sc-legend-family: var(
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
--sc-legend-font-weight: var(--sc-font-weight-base, 400);
|
|
16
|
+
--sc-legend-font-style: var(--sc-headings-font-style, normal);
|
|
17
|
+
--sc-legend-family: var(
|
|
18
|
+
--sc-headings-font-family,
|
|
19
|
+
var(--sc-font-family-base, sans-serif)
|
|
20
|
+
);
|
|
21
|
+
--sc-legend-line-height: var(--sc-headings-line-height, 1.1);
|
|
22
|
+
--sc-legend-color: var(--sc-base-content, #000);
|
|
20
23
|
display: flex;
|
|
21
24
|
width: 100%;
|
|
22
25
|
}
|
|
@@ -47,13 +50,14 @@ export class Legend extends LitElement {
|
|
|
47
50
|
`,
|
|
48
51
|
];
|
|
49
52
|
|
|
50
|
-
@property({type: Boolean}) forceAutoFill = false;
|
|
53
|
+
@property({ type: Boolean }) forceAutoFill = false;
|
|
51
54
|
_description?: string;
|
|
52
55
|
@property() get description(): string | undefined {
|
|
53
56
|
return this._description;
|
|
54
57
|
}
|
|
55
58
|
set description(value) {
|
|
56
|
-
if (this.hasAttribute("description") && !this.forceAutoFill)
|
|
59
|
+
if (this.hasAttribute("description") && !this.forceAutoFill)
|
|
60
|
+
value = this.getAttribute("description") as string;
|
|
57
61
|
this._description = value;
|
|
58
62
|
this.requestUpdate();
|
|
59
63
|
}
|
|
@@ -62,26 +66,35 @@ export class Legend extends LitElement {
|
|
|
62
66
|
return this._label;
|
|
63
67
|
}
|
|
64
68
|
set label(value) {
|
|
65
|
-
if (this.hasAttribute("label") && !this.forceAutoFill)
|
|
69
|
+
if (this.hasAttribute("label") && !this.forceAutoFill)
|
|
70
|
+
value = this.getAttribute("label") as string;
|
|
66
71
|
this._label = value;
|
|
67
72
|
this.requestUpdate();
|
|
68
73
|
}
|
|
69
74
|
|
|
70
|
-
@property({type: String}) iconName?: string;
|
|
71
|
-
@property({type: String}) iconLibrary?: string;
|
|
72
|
-
@property({type: String}) iconPrefix?: string;
|
|
75
|
+
@property({ type: String }) iconName?: string;
|
|
76
|
+
@property({ type: String }) iconLibrary?: string;
|
|
77
|
+
@property({ type: String }) iconPrefix?: string;
|
|
73
78
|
|
|
74
79
|
render() {
|
|
75
80
|
return html`<legend part="legend">
|
|
76
81
|
${this.iconName
|
|
77
82
|
? html`<div class="icon">
|
|
78
|
-
<sonic-icon
|
|
83
|
+
<sonic-icon
|
|
84
|
+
name=${this.iconName}
|
|
85
|
+
prefix=${ifDefined(this.iconPrefix)}
|
|
86
|
+
library=${ifDefined(this.iconLibrary)}
|
|
87
|
+
></sonic-icon>
|
|
79
88
|
</div>`
|
|
80
89
|
: ""}
|
|
81
90
|
|
|
82
91
|
<div class="legend-content">
|
|
83
92
|
${unsafeHTML(this.label ? this.label : "")}
|
|
84
|
-
${this.description
|
|
93
|
+
${this.description
|
|
94
|
+
? html`<sonic-legend-description
|
|
95
|
+
>${unsafeHTML(this.description)}</sonic-legend-description
|
|
96
|
+
>`
|
|
97
|
+
: ""}
|
|
85
98
|
<slot></slot>
|
|
86
99
|
</div>
|
|
87
100
|
<slot name="suffix"></slot>
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
|
|
109
109
|
<sonic-code>
|
|
110
110
|
<template>
|
|
111
|
-
<div class="grid grid-cols-
|
|
111
|
+
<div class="grid grid-cols-2 gap-3">
|
|
112
112
|
<sonic-input inlineContent type="search" label="Search icon in input" placeholder="Search plane">
|
|
113
113
|
<sonic-icon library="iconoir" name="search" slot="prefix"></sonic-icon>
|
|
114
114
|
</sonic-input>
|
|
@@ -127,31 +127,30 @@
|
|
|
127
127
|
## Example of use
|
|
128
128
|
<sonic-code>
|
|
129
129
|
<template>
|
|
130
|
-
<sonic-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
</sonic-theme>
|
|
130
|
+
<sonic-input
|
|
131
|
+
formDataProvider="input-filter"
|
|
132
|
+
name="contains"
|
|
133
|
+
value="chien"
|
|
134
|
+
class="mb-4"
|
|
135
|
+
></sonic-input>
|
|
136
|
+
<sonic-subscriber dataProvider="input-filter" class="text-xl my-4 block font-bold">
|
|
137
|
+
Blagues trouvées pour "<span data-bind ::inner-html="$contains"></span>" :
|
|
138
|
+
</sonic-subscriber>
|
|
139
|
+
<sonic-queue
|
|
140
|
+
lazyload
|
|
141
|
+
dataProviderExpression="joke/Any?amount=10&lang=fr"
|
|
142
|
+
dataFilterProvider="input-filter"
|
|
143
|
+
serviceURL="https://v2.jokeapi.dev"
|
|
144
|
+
key="jokes"
|
|
145
|
+
>
|
|
146
|
+
<template>
|
|
147
|
+
<div class="border-0 border-b-[1px] border-b-neutral-300 border-dotted py-3">
|
|
148
|
+
<div data-bind ::inner-html="$joke"></div>
|
|
149
|
+
<div data-bind ::inner-html="$setup"></div>
|
|
150
|
+
<div data-bind ::inner-html="$delivery"></div>
|
|
151
|
+
</div>
|
|
152
|
+
</template>
|
|
153
|
+
</sonic-queue>
|
|
155
154
|
</template>
|
|
156
155
|
</sonic-code>
|
|
157
156
|
|
|
@@ -166,7 +166,9 @@ export class Input extends FormInput(FormElement(Subscriber(LitElement))) {
|
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
// toggle password visibility
|
|
169
|
-
togglePasswordVisibility() {
|
|
169
|
+
togglePasswordVisibility(e: Event) {
|
|
170
|
+
e.preventDefault();
|
|
171
|
+
e.stopPropagation();
|
|
170
172
|
this.isPassword = !this.isPassword;
|
|
171
173
|
this._type = this.isPassword ? "password" : "text";
|
|
172
174
|
// this.type = this.isPassword ? "password" : "text";
|
|
@@ -232,7 +234,7 @@ export class Input extends FormInput(FormElement(Subscriber(LitElement))) {
|
|
|
232
234
|
shape="circle"
|
|
233
235
|
class="password-toggle"
|
|
234
236
|
@click=${this.togglePasswordVisibility}
|
|
235
|
-
aria-label="Toggle password visibility"
|
|
237
|
+
data-aria-label="Toggle password visibility"
|
|
236
238
|
variant="unstyled"
|
|
237
239
|
>
|
|
238
240
|
<sonic-icon
|
|
File without changes
|
|
File without changes
|
|
@@ -113,7 +113,10 @@ export class InputAutocomplete extends TemplatesContainer(
|
|
|
113
113
|
);
|
|
114
114
|
// Si la liste de this.queueDataProvider est bien initialisée, mais qu'aucun item ne correspond à la recherche
|
|
115
115
|
// On affiche quand même la valeur dans le champ de recherche, car il provient directement du formDataProvider
|
|
116
|
-
if (
|
|
116
|
+
if (
|
|
117
|
+
found === false &&
|
|
118
|
+
(!this.searchParameter || this.searchParameter === this.name)
|
|
119
|
+
) {
|
|
117
120
|
this.lastValidSearch = value;
|
|
118
121
|
this.searchPublisher?.set(this.lastValidSearch);
|
|
119
122
|
}
|
|
@@ -181,7 +184,6 @@ export class InputAutocomplete extends TemplatesContainer(
|
|
|
181
184
|
connectedCallback() {
|
|
182
185
|
super.connectedCallback();
|
|
183
186
|
|
|
184
|
-
|
|
185
187
|
/**
|
|
186
188
|
* Nom de la valeur de recherche
|
|
187
189
|
* Si non défini, on utilise name
|
|
@@ -266,10 +268,14 @@ export class InputAutocomplete extends TemplatesContainer(
|
|
|
266
268
|
) {
|
|
267
269
|
const queuePublisher = PublisherManager.get(queueDataProvider);
|
|
268
270
|
let listItem: ListItem | undefined;
|
|
269
|
-
|
|
270
|
-
|
|
271
|
+
let listsDescriptors = queuePublisher.get();
|
|
272
|
+
|
|
273
|
+
if (!listsDescriptors || !Array.isArray(listsDescriptors)) {
|
|
274
|
+
return false;
|
|
275
|
+
}
|
|
276
|
+
if (!listsDescriptors.length) return false;
|
|
271
277
|
for (const listDescriptor of listsDescriptors) {
|
|
272
|
-
|
|
278
|
+
let list = PublisherManager.get(listDescriptor.dataProvider).get();
|
|
273
279
|
if (!Array.isArray(list)) continue;
|
|
274
280
|
listItem = list.find(itemFinder);
|
|
275
281
|
if (listItem) {
|
|
@@ -302,6 +308,7 @@ export class InputAutocomplete extends TemplatesContainer(
|
|
|
302
308
|
<sonic-pop noToggle style="display:block;" @hide=${this.handleHide}>
|
|
303
309
|
<sonic-input
|
|
304
310
|
dataProvider="${this.initSearchDataProvider + Math.random()}"
|
|
311
|
+
noAutofill
|
|
305
312
|
formDataProvider="${this.searchDataProvider}"
|
|
306
313
|
type="search"
|
|
307
314
|
data-keyboard-nav="${this.getAttribute("data-keyboard-nav") || ""}"
|
|
@@ -310,7 +317,7 @@ export class InputAutocomplete extends TemplatesContainer(
|
|
|
310
317
|
name="${ifDefined(this.searchParameter || this.name)}"
|
|
311
318
|
placeholder="${ifDefined(this.placeholder)}"
|
|
312
319
|
?readonly="${this.readonly}"
|
|
313
|
-
autocomplete="
|
|
320
|
+
autocomplete="off"
|
|
314
321
|
clearable
|
|
315
322
|
inlineContent
|
|
316
323
|
size=${this.size}
|
|
@@ -53,7 +53,6 @@
|
|
|
53
53
|
## Example of use
|
|
54
54
|
<sonic-code>
|
|
55
55
|
<template>
|
|
56
|
-
<sonic-theme color background theme=${theme} class="p-8">
|
|
57
56
|
<sonic-subscriber dataProvider="jokeFilterRadio" class="text-xl my-4 block font-bold">
|
|
58
57
|
Remove following jokes :
|
|
59
58
|
<sonic-value key="blacklistFlags" class="block text-sm"></sonic-value>
|
|
@@ -81,6 +80,5 @@
|
|
|
81
80
|
</div>
|
|
82
81
|
</template>
|
|
83
82
|
</sonic-queue>
|
|
84
|
-
</sonic-theme>
|
|
85
83
|
</template>
|
|
86
84
|
</sonic-code>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {css} from "lit";
|
|
2
|
-
import {customElement} from "lit/decorators.js";
|
|
3
|
-
import {Checkbox} from "@supersoniks/concorde/core/components/ui/form/checkbox/checkbox";
|
|
1
|
+
import { css } from "lit";
|
|
2
|
+
import { customElement } from "lit/decorators.js";
|
|
3
|
+
import { Checkbox } from "@supersoniks/concorde/core/components/ui/form/checkbox/checkbox";
|
|
4
4
|
|
|
5
5
|
const tagName = "sonic-radio";
|
|
6
6
|
/**
|
|
@@ -21,12 +21,14 @@ export class Radio extends Checkbox {
|
|
|
21
21
|
:host sonic-icon {
|
|
22
22
|
border-radius: 50%;
|
|
23
23
|
overflow: hidden;
|
|
24
|
-
background-color: var(--sc-primary-content);
|
|
24
|
+
background-color: var(--sc-primary-content, var(--sc-base, #fff));
|
|
25
25
|
line-height: 0;
|
|
26
26
|
display: block;
|
|
27
27
|
font-size: 1em;
|
|
28
28
|
height: 0.6em;
|
|
29
|
+
height: round(0.6em, 1px);
|
|
29
30
|
width: 0.6em;
|
|
31
|
+
width: round(0.6em, 1px);
|
|
30
32
|
}
|
|
31
33
|
`,
|
|
32
34
|
];
|
|
@@ -67,33 +67,31 @@
|
|
|
67
67
|
## Example of use
|
|
68
68
|
<sonic-code>
|
|
69
69
|
<template>
|
|
70
|
-
<sonic-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
>
|
|
89
|
-
<
|
|
90
|
-
<div
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
</sonic-queue>
|
|
97
|
-
</sonic-theme>
|
|
70
|
+
<sonic-select
|
|
71
|
+
formDataProvider="select-filter"
|
|
72
|
+
name="lang"
|
|
73
|
+
value="fr"
|
|
74
|
+
>
|
|
75
|
+
<option value="fr">fr<option>
|
|
76
|
+
<optionn value="en">en<option>
|
|
77
|
+
</sonic-select>
|
|
78
|
+
<sonic-subscriber dataProvider="select-filter" class="text-xl my-4 block font-bold">
|
|
79
|
+
Blagues trouvées pour le code de langue"<span data-bind ::inner-html="$lang"></span>" :
|
|
80
|
+
</sonic-subscriber>
|
|
81
|
+
<sonic-queue
|
|
82
|
+
lazyload
|
|
83
|
+
dataProviderExpression="joke/Any?amount=10"
|
|
84
|
+
dataFilterProvider="select-filter"
|
|
85
|
+
serviceURL="https://v2.jokeapi.dev"
|
|
86
|
+
key="jokes"
|
|
87
|
+
>
|
|
88
|
+
<template>
|
|
89
|
+
<div class="border-0 border-b-[1px] border-b-neutral-300 border-dotted py-3">
|
|
90
|
+
<div data-bind ::inner-html="$joke"></div>
|
|
91
|
+
<div data-bind ::inner-html="$setup"></div>
|
|
92
|
+
<div data-bind ::inner-html="$delivery"></div>
|
|
93
|
+
</div>
|
|
94
|
+
</template>
|
|
95
|
+
</sonic-queue>
|
|
98
96
|
</template>
|
|
99
97
|
</sonic-code>
|
|
@@ -85,8 +85,8 @@ export class Select extends FormElement(Subscriber(LitElement)) {
|
|
|
85
85
|
|
|
86
86
|
option {
|
|
87
87
|
padding: 0.1rem var(--sc-input-px);
|
|
88
|
-
color: var(--sc-base-content);
|
|
89
|
-
background: var(--sc-base);
|
|
88
|
+
color: var(--sc-base-content, #000);
|
|
89
|
+
background: var(--sc-base, #fff);
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
select[multiple] option {
|
|
@@ -51,13 +51,13 @@ export class Textarea extends FormInput(FormElement(Subscriber(LitElement))) {
|
|
|
51
51
|
@property({ type: String }) wrap?: "hard" | "soft";
|
|
52
52
|
@property({ type: Boolean }) readonly = false;
|
|
53
53
|
@property({ type: String }) placeholder?: string;
|
|
54
|
-
@property({ type: String }) resize
|
|
54
|
+
@property({ type: String }) resize:
|
|
55
55
|
| "none"
|
|
56
56
|
| "both"
|
|
57
57
|
| "horizontal"
|
|
58
58
|
| "vertical"
|
|
59
59
|
| "block"
|
|
60
|
-
| "inline";
|
|
60
|
+
| "inline" = "vertical";
|
|
61
61
|
|
|
62
62
|
@queryAssignedNodes({ slot: "label", flatten: true })
|
|
63
63
|
slotLabelNodes!: Array<Node>;
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {html, LitElement, css} from "lit";
|
|
2
|
-
import {customElement, property} from "lit/decorators.js";
|
|
3
|
-
import {styleMap} from "lit/directives/style-map.js";
|
|
1
|
+
import { html, LitElement, css } from "lit";
|
|
2
|
+
import { customElement, property } from "lit/decorators.js";
|
|
3
|
+
import { styleMap } from "lit/directives/style-map.js";
|
|
4
4
|
const tagName = "sonic-image";
|
|
5
5
|
@customElement(tagName)
|
|
6
6
|
export class Image extends LitElement {
|
|
@@ -8,7 +8,7 @@ export class Image extends LitElement {
|
|
|
8
8
|
css`
|
|
9
9
|
:host {
|
|
10
10
|
--sc-img-radius: 0;
|
|
11
|
-
--sc-img-bg: var(--sc-placeholder-bg);
|
|
11
|
+
--sc-img-bg: var(--sc-placeholder-bg, rgba(12, 12, 12, 0.05));
|
|
12
12
|
border-radius: var(--sc-img-radius);
|
|
13
13
|
display: block;
|
|
14
14
|
width: 100%;
|
|
@@ -72,7 +72,8 @@ export class Image extends LitElement {
|
|
|
72
72
|
|
|
73
73
|
:host([transition="fade-scale-out"]) img {
|
|
74
74
|
scale: 1.08;
|
|
75
|
-
transition: opacity 0.3s linear,
|
|
75
|
+
transition: opacity 0.3s linear,
|
|
76
|
+
scale 0.3s cubic-bezier(0.16, 1, 0.3, 1);
|
|
76
77
|
}
|
|
77
78
|
:host([transition]) img.loaded {
|
|
78
79
|
opacity: 1;
|
|
@@ -81,17 +82,27 @@ export class Image extends LitElement {
|
|
|
81
82
|
`,
|
|
82
83
|
];
|
|
83
84
|
|
|
84
|
-
@property({type: String}) rounded:
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
@property({type: String})
|
|
92
|
-
@property({type:
|
|
85
|
+
@property({ type: String }) rounded:
|
|
86
|
+
| ""
|
|
87
|
+
| "none"
|
|
88
|
+
| "full"
|
|
89
|
+
| "sm"
|
|
90
|
+
| "md"
|
|
91
|
+
| "lg" = "none";
|
|
92
|
+
@property({ type: String }) src = "";
|
|
93
|
+
@property({ type: String }) alt = "";
|
|
94
|
+
@property({ type: String }) loading: "eager" | "lazy" = "lazy";
|
|
95
|
+
@property({ type: String, reflect: true }) transition?:
|
|
96
|
+
| "fade"
|
|
97
|
+
| "fade-scale-out";
|
|
98
|
+
@property({ type: String }) ratio = "auto";
|
|
99
|
+
@property({ type: String }) objectPosition = "center center";
|
|
100
|
+
@property({ type: String }) imageRendering = "auto";
|
|
101
|
+
@property({ type: Boolean, reflect: true }) cover = false;
|
|
93
102
|
|
|
94
|
-
firstUpdated(
|
|
103
|
+
firstUpdated(
|
|
104
|
+
changedProperties: Map<string | number | symbol, unknown>
|
|
105
|
+
): void {
|
|
95
106
|
if (this.transition) {
|
|
96
107
|
const img = this.shadowRoot?.querySelector("img");
|
|
97
108
|
if (!img) return;
|
|
@@ -110,7 +121,12 @@ export class Image extends LitElement {
|
|
|
110
121
|
};
|
|
111
122
|
return html`<div part="image">
|
|
112
123
|
<picture part="picture"
|
|
113
|
-
><img
|
|
124
|
+
><img
|
|
125
|
+
part="img"
|
|
126
|
+
src="${this.src}"
|
|
127
|
+
loading="${this.loading}"
|
|
128
|
+
alt="${this.alt}"
|
|
129
|
+
style=${styleMap(imgStyles)}
|
|
114
130
|
/></picture>
|
|
115
131
|
</div>`;
|
|
116
132
|
}
|