@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
|
@@ -1,24 +1,21 @@
|
|
|
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
|
const tagName = "sonic-card-header-description";
|
|
4
4
|
@customElement(tagName)
|
|
5
5
|
export class CardHeaderDescription extends LitElement {
|
|
6
6
|
static styles = [
|
|
7
7
|
css`
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
font-family: var(--sc-font-family-base);
|
|
8
|
+
:host() {
|
|
9
|
+
display: block;
|
|
11
10
|
font-size: 0.7em;
|
|
12
|
-
|
|
11
|
+
line-height: 1.1;
|
|
12
|
+
font-family: var(--sc-font-family-base, sans-serif);
|
|
13
|
+
font-weight: var(--sc-font-style-base, normal);
|
|
13
14
|
}
|
|
14
15
|
`,
|
|
15
16
|
];
|
|
16
17
|
|
|
17
18
|
render() {
|
|
18
|
-
return html
|
|
19
|
-
<div>
|
|
20
|
-
<slot></slot>
|
|
21
|
-
</div>
|
|
22
|
-
`;
|
|
19
|
+
return html`<slot></slot>`;
|
|
23
20
|
}
|
|
24
21
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {html, LitElement, css} from "lit";
|
|
2
|
-
import {customElement, property} from "lit/decorators.js";
|
|
1
|
+
import { html, LitElement, css, nothing } from "lit";
|
|
2
|
+
import { customElement, property } from "lit/decorators.js";
|
|
3
3
|
import "@supersoniks/concorde/core/components/ui/card/card-header-descripton";
|
|
4
|
-
import {unsafeHTML} from "lit/directives/unsafe-html.js";
|
|
4
|
+
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
5
5
|
const tagName = "sonic-card-header";
|
|
6
6
|
|
|
7
7
|
@customElement(tagName)
|
|
@@ -11,17 +11,13 @@ export class CardHeader extends LitElement {
|
|
|
11
11
|
:host {
|
|
12
12
|
--sc-card-header-mb: 1.35rem;
|
|
13
13
|
--sc-card-header-font-size: 1.875rem;
|
|
14
|
-
--sc-card-header-font-weight: var(--sc-headings-font-weight);
|
|
15
|
-
--sc-card-header-font-style: var(--sc-headings-font-style);
|
|
16
|
-
--sc-card-header-family: var(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
:
|
|
21
|
-
--sc-card-header-font-size: 1.45rem;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
.header {
|
|
14
|
+
--sc-card-header-font-weight: var(--sc-headings-font-weight, 700);
|
|
15
|
+
--sc-card-header-font-style: var(--sc-headings-font-style, normal);
|
|
16
|
+
--sc-card-header-family: var(
|
|
17
|
+
--sc-headings-font-family,
|
|
18
|
+
var(--sc-font-family-base, sans-serif)
|
|
19
|
+
);
|
|
20
|
+
--sc-card-header-line-height: var(--sc-headings-line-height, 1.1);
|
|
25
21
|
display: flex;
|
|
26
22
|
align-items: flex-start;
|
|
27
23
|
gap: 0.5em 1em;
|
|
@@ -32,6 +28,11 @@ export class CardHeader extends LitElement {
|
|
|
32
28
|
font-style: var(--sc-card-header-font-style);
|
|
33
29
|
font-weight: var(--sc-card-header-font-weight);
|
|
34
30
|
}
|
|
31
|
+
@media print {
|
|
32
|
+
:host {
|
|
33
|
+
--sc-card-header-font-size: 1.45rem;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
35
36
|
|
|
36
37
|
.header-content {
|
|
37
38
|
flex-grow: 1;
|
|
@@ -40,6 +41,10 @@ export class CardHeader extends LitElement {
|
|
|
40
41
|
slot[name="suffix"] {
|
|
41
42
|
flex-shrink: 0;
|
|
42
43
|
}
|
|
44
|
+
|
|
45
|
+
::slotted(sonic-card-header-description) {
|
|
46
|
+
margin-top: 0.1em;
|
|
47
|
+
}
|
|
43
48
|
`,
|
|
44
49
|
];
|
|
45
50
|
|
|
@@ -48,16 +53,16 @@ export class CardHeader extends LitElement {
|
|
|
48
53
|
|
|
49
54
|
render() {
|
|
50
55
|
return html`
|
|
51
|
-
<div class="header">
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
<slot name="suffix"></slot>
|
|
56
|
+
<div class="header-content">
|
|
57
|
+
${unsafeHTML(this.label)}
|
|
58
|
+
${this.description
|
|
59
|
+
? html`<sonic-card-header-description
|
|
60
|
+
>${unsafeHTML(this.description)}</sonic-card-header-description
|
|
61
|
+
>`
|
|
62
|
+
: nothing}
|
|
63
|
+
<slot></slot>
|
|
60
64
|
</div>
|
|
65
|
+
<slot name="suffix"></slot>
|
|
61
66
|
`;
|
|
62
67
|
}
|
|
63
68
|
}
|
|
@@ -1,24 +1,19 @@
|
|
|
1
|
-
import {html, LitElement} 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
|
const tagName = "sonic-card-main";
|
|
5
5
|
|
|
6
6
|
@customElement(tagName)
|
|
7
7
|
export class CardMain extends LitElement {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
// ];
|
|
8
|
+
static styles = [
|
|
9
|
+
css`
|
|
10
|
+
:host {
|
|
11
|
+
display: block;
|
|
12
|
+
}
|
|
13
|
+
`,
|
|
14
|
+
];
|
|
16
15
|
|
|
17
16
|
render() {
|
|
18
|
-
return html
|
|
19
|
-
<div>
|
|
20
|
-
<slot></slot>
|
|
21
|
-
</div>
|
|
22
|
-
`;
|
|
17
|
+
return html`<slot></slot>`;
|
|
23
18
|
}
|
|
24
19
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
<sonic-code>
|
|
5
5
|
<template>
|
|
6
6
|
<div class="grid grid-cols-3 gap-3">
|
|
7
|
-
<sonic-card type="
|
|
7
|
+
<sonic-card type="base">Base</sonic-card>
|
|
8
|
+
<sonic-card type="light">Light</sonic-card>
|
|
8
9
|
<sonic-card type="primary">Primary</sonic-card>
|
|
9
10
|
<sonic-card type="warning">Warning</sonic-card>
|
|
10
11
|
<sonic-card type="danger">Danger</sonic-card>
|
|
@@ -1,88 +1,44 @@
|
|
|
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/card/card-header";
|
|
4
4
|
import "@supersoniks/concorde/core/components/ui/card/card-main";
|
|
5
5
|
import "@supersoniks/concorde/core/components/ui/card/card-footer";
|
|
6
|
+
import { typesBg } from "../_css/type";
|
|
6
7
|
|
|
7
8
|
const tagName = "sonic-card";
|
|
8
9
|
@customElement(tagName)
|
|
9
10
|
export class Card extends LitElement {
|
|
10
11
|
static styles = [
|
|
12
|
+
typesBg,
|
|
11
13
|
css`
|
|
12
14
|
* {
|
|
13
15
|
box-sizing: border-box;
|
|
14
16
|
}
|
|
15
17
|
:host {
|
|
16
|
-
--sc-
|
|
17
|
-
--sc-
|
|
18
|
-
--sc-
|
|
19
|
-
--sc-
|
|
20
|
-
--sc-
|
|
18
|
+
--sc-_padding: 1.5rem;
|
|
19
|
+
--sc-_color: var(--sc-base-content, #000);
|
|
20
|
+
--sc-_bg: var(--sc-base, #fff);
|
|
21
|
+
--sc-_rounded: var(--sc-rounded-lg);
|
|
22
|
+
--sc-_shadow: var(--sc-shadow-lg);
|
|
21
23
|
-webkit-print-color-adjust: exact;
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
@media print {
|
|
25
|
-
|
|
27
|
+
:host {
|
|
26
28
|
page-break-inside: avoid;
|
|
27
29
|
break-inside: avoid;
|
|
28
30
|
box-shadow: none !important;
|
|
29
|
-
border: 1px solid var(--sc-base-200);
|
|
31
|
+
border: 1px solid var(--sc-base-200, rgba(0, 0, 0, 0.12));
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
34
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
/*TYPES*/
|
|
42
|
-
:host([type="primary"]) {
|
|
43
|
-
--sc-card-bg: var(--sc-primary);
|
|
44
|
-
--sc-card-color: var(--sc-primary-content);
|
|
45
|
-
--sc-border-color: var(--sc-primary-content);
|
|
46
|
-
--sc-divider-opacity: 0.2;
|
|
47
|
-
}
|
|
48
|
-
:host([type="warning"]) {
|
|
49
|
-
--sc-card-bg: var(--sc-warning);
|
|
50
|
-
--sc-card-color: var(--sc-warning-content);
|
|
51
|
-
--sc-border-color: var(--sc-primary-content);
|
|
52
|
-
--sc-divider-opacity: 0.2;
|
|
53
|
-
}
|
|
54
|
-
:host([type="danger"]) {
|
|
55
|
-
--sc-card-bg: var(--sc-danger);
|
|
56
|
-
--sc-card-color: var(--sc-danger-content);
|
|
57
|
-
--sc-border-color: var(--sc-primary-content);
|
|
58
|
-
--sc-divider-opacity: 0.2;
|
|
59
|
-
}
|
|
60
|
-
:host([type="info"]) {
|
|
61
|
-
--sc-card-bg: var(--sc-info);
|
|
62
|
-
--sc-card-color: var(--sc-info-content);
|
|
63
|
-
--sc-border-color: var(--sc-primary-content);
|
|
64
|
-
--sc-divider-opacity: 0.2;
|
|
65
|
-
}
|
|
66
|
-
:host([type="success"]) {
|
|
67
|
-
--sc-card-bg: var(--sc-success);
|
|
68
|
-
--sc-card-color: var(--sc-success-content);
|
|
69
|
-
--sc-border-color: var(--sc-primary-content);
|
|
70
|
-
--sc-divider-opacity: 0.2;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
:host([type="light"]) {
|
|
74
|
-
--sc-card-bg: var(--sc-base-100);
|
|
75
|
-
--sc-card-color: var(--sc-base-content);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
:host([type="neutral"]) {
|
|
79
|
-
--sc-card-bg: var(--sc-base-content);
|
|
80
|
-
--sc-card-color: var(--sc-base);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
:host([type="invert"]) {
|
|
84
|
-
--sc-card-color: var(--sc-base);
|
|
85
|
-
--sc-card-bg: var(--sc-base-900);
|
|
35
|
+
:host {
|
|
36
|
+
display: block;
|
|
37
|
+
padding: var(--sc-_padding);
|
|
38
|
+
background-color: var(--sc-_bg);
|
|
39
|
+
border-radius: var(--sc-_rounded);
|
|
40
|
+
box-shadow: var(--sc-_shadow);
|
|
41
|
+
color: var(--sc-_color);
|
|
86
42
|
}
|
|
87
43
|
`,
|
|
88
44
|
];
|
|
@@ -90,14 +46,19 @@ export class Card extends LitElement {
|
|
|
90
46
|
/**
|
|
91
47
|
* Le type change surtout la couleur composant
|
|
92
48
|
*/
|
|
93
|
-
@property({type: String, reflect: true})
|
|
94
|
-
type:
|
|
49
|
+
@property({ type: String, reflect: true })
|
|
50
|
+
type:
|
|
51
|
+
| "light"
|
|
52
|
+
| "primary"
|
|
53
|
+
| "warning"
|
|
54
|
+
| "danger"
|
|
55
|
+
| "success"
|
|
56
|
+
| "info"
|
|
57
|
+
| "neutral"
|
|
58
|
+
| "invert"
|
|
59
|
+
| "base" = "base";
|
|
95
60
|
|
|
96
61
|
render() {
|
|
97
|
-
return html
|
|
98
|
-
<div part="card" class="card">
|
|
99
|
-
<slot></slot>
|
|
100
|
-
</div>
|
|
101
|
-
`;
|
|
62
|
+
return html`<slot></slot> `;
|
|
102
63
|
}
|
|
103
64
|
}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import {html, LitElement, css} from "lit";
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { html, LitElement, css } from "lit";
|
|
2
|
+
import {
|
|
3
|
+
customElement,
|
|
4
|
+
property,
|
|
5
|
+
queryAssignedNodes,
|
|
6
|
+
query,
|
|
7
|
+
} from "lit/decorators.js";
|
|
8
|
+
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
4
9
|
const tagName = "sonic-divider";
|
|
5
10
|
@customElement(tagName)
|
|
6
11
|
export class Divider extends LitElement {
|
|
@@ -9,14 +14,17 @@ export class Divider extends LitElement {
|
|
|
9
14
|
:host {
|
|
10
15
|
--sc-divider-my: 0.5rem;
|
|
11
16
|
--sc-divider-mx: 0;
|
|
12
|
-
--sc-divider-border-width: max(
|
|
17
|
+
--sc-divider-border-width: max(
|
|
18
|
+
1px,
|
|
19
|
+
var(--sc-border-width, max(1px, 0.12rem))
|
|
20
|
+
);
|
|
13
21
|
--sc-divider-border-color: var(--sc-border-color);
|
|
14
22
|
--sc-divider-border-style: solid;
|
|
15
23
|
--sc-divider-color: currentColor;
|
|
16
|
-
--sc-divider-ff: var(--sc-font-family-base);
|
|
24
|
+
--sc-divider-ff: var(--sc-font-family-base, sans-serif);
|
|
17
25
|
--sc-divider-fs: 1rem;
|
|
18
|
-
--sc-divider-fw: var(--sc-font-weight-base);
|
|
19
|
-
--sc-divider-fst: var(--sc-font-style-base);
|
|
26
|
+
--sc-divider-fw: var(--sc-font-weight-base, 400);
|
|
27
|
+
--sc-divider-fst: var(--sc-font-style-base, normal);
|
|
20
28
|
|
|
21
29
|
margin: var(--sc-divider-my) var(--sc-divider-mx);
|
|
22
30
|
font-size: var(--sc-divider-fs);
|
|
@@ -69,7 +77,8 @@ export class Divider extends LitElement {
|
|
|
69
77
|
div::after {
|
|
70
78
|
content: "";
|
|
71
79
|
flex-grow: 1;
|
|
72
|
-
border-top: var(--sc-divider-border-width)
|
|
80
|
+
border-top: var(--sc-divider-border-width)
|
|
81
|
+
var(--sc-divider-border-style) var(--sc-divider-border-color);
|
|
73
82
|
width: 100%;
|
|
74
83
|
opacity: var(--sc-divider-opacity, 1);
|
|
75
84
|
}
|
|
@@ -90,7 +99,7 @@ export class Divider extends LitElement {
|
|
|
90
99
|
:host([vertical]) div {
|
|
91
100
|
flex-direction: column;
|
|
92
101
|
height: 100%;
|
|
93
|
-
min-height: var(--sc-form-height);
|
|
102
|
+
min-height: var(--sc-form-height, 2.5em);
|
|
94
103
|
}
|
|
95
104
|
|
|
96
105
|
:host([vertical]) .has-text {
|
|
@@ -100,7 +109,8 @@ export class Divider extends LitElement {
|
|
|
100
109
|
:host([vertical]) div::before,
|
|
101
110
|
:host([vertical]) div::after {
|
|
102
111
|
border-top: none;
|
|
103
|
-
border-left: var(--sc-divider-border-width)
|
|
112
|
+
border-left: var(--sc-divider-border-width)
|
|
113
|
+
var(--sc-divider-border-style) var(--sc-divider-border-color);
|
|
104
114
|
width: auto;
|
|
105
115
|
height: 100%;
|
|
106
116
|
opacity: var(--sc-divider-opacity, 1);
|
|
@@ -133,19 +143,29 @@ export class Divider extends LitElement {
|
|
|
133
143
|
}
|
|
134
144
|
`,
|
|
135
145
|
];
|
|
136
|
-
@queryAssignedNodes({flatten: true})
|
|
146
|
+
@queryAssignedNodes({ flatten: true })
|
|
137
147
|
slotNodes!: Array<Node>;
|
|
138
148
|
|
|
139
149
|
@query("div")
|
|
140
150
|
divider!: HTMLDivElement;
|
|
141
151
|
|
|
142
|
-
@property({type: String}) label = "";
|
|
143
|
-
@property({type: String, reflect: true}) size?:
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
152
|
+
@property({ type: String }) label = "";
|
|
153
|
+
@property({ type: String, reflect: true }) size?:
|
|
154
|
+
| "2xs"
|
|
155
|
+
| "xs"
|
|
156
|
+
| "sm"
|
|
157
|
+
| "md"
|
|
158
|
+
| "lg"
|
|
159
|
+
| "xl"
|
|
160
|
+
| "2xl";
|
|
161
|
+
@property({ type: String, reflect: true }) align:
|
|
162
|
+
| "left"
|
|
163
|
+
| "right"
|
|
164
|
+
| "center" = "center";
|
|
165
|
+
@property({ type: Boolean, reflect: true }) vertical = false;
|
|
166
|
+
@property({ type: Boolean, reflect: true }) noMargin = false;
|
|
167
|
+
@property({ type: Boolean, reflect: true }) dashed = false;
|
|
168
|
+
@property({ type: Boolean, reflect: true }) dotted = false;
|
|
149
169
|
|
|
150
170
|
firstUpdated(changedProperties: Map<string | number | symbol, unknown>) {
|
|
151
171
|
super.firstUpdated(changedProperties);
|
|
@@ -156,7 +176,9 @@ export class Divider extends LitElement {
|
|
|
156
176
|
|
|
157
177
|
render() {
|
|
158
178
|
return html`<div part="divider">
|
|
159
|
-
<span class="text"
|
|
179
|
+
<span class="text"
|
|
180
|
+
>${unsafeHTML(this.label ? this.label : "")}<slot></slot
|
|
181
|
+
></span>
|
|
160
182
|
</div>`;
|
|
161
183
|
}
|
|
162
184
|
}
|
|
@@ -63,34 +63,32 @@
|
|
|
63
63
|
## Example of use
|
|
64
64
|
<sonic-code>
|
|
65
65
|
<template>
|
|
66
|
-
<sonic-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
<
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
>
|
|
86
|
-
<
|
|
87
|
-
<
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
</sonic-queue>
|
|
94
|
-
</sonic-theme>
|
|
66
|
+
<sonic-subscriber dataProvider="jokeFilter" class="text-xl my-4 block font-bold">
|
|
67
|
+
Remove following jokes :
|
|
68
|
+
<sonic-value key="blacklistFlags" class="block text-sm"></sonic-value>
|
|
69
|
+
</sonic-subscriber>
|
|
70
|
+
<div formDataProvider="jokeFilter" class="grid grid-cols-2 lg:grid-cols-3 gap-x-6 gap-y-2 mt-2 mb-3">
|
|
71
|
+
<sonic-checkbox name="blacklistFlags" value="nsfw">nsfw</sonic-checkbox>
|
|
72
|
+
<sonic-checkbox name="blacklistFlags" value="religious">religious</sonic-checkbox>
|
|
73
|
+
<sonic-checkbox name="blacklistFlags" value="political">political</sonic-checkbox>
|
|
74
|
+
<sonic-checkbox name="blacklistFlags" value="racist" checked disabled>racist</sonic-checkbox>
|
|
75
|
+
<sonic-checkbox name="blacklistFlags" value="sexist" checked disabled>sexist</sonic-checkbox>
|
|
76
|
+
<sonic-checkbox name="blacklistFlags" value="explicit">explicit</sonic-checkbox>
|
|
77
|
+
</div>
|
|
78
|
+
<sonic-queue
|
|
79
|
+
lazyload
|
|
80
|
+
dataProviderExpression="joke/Any?amount=10&lang=en"
|
|
81
|
+
dataFilterProvider="jokeFilter"
|
|
82
|
+
serviceURL="https://v2.jokeapi.dev"
|
|
83
|
+
key="jokes"
|
|
84
|
+
>
|
|
85
|
+
<template>
|
|
86
|
+
<div class="border-0 border-b-[1px] border-b-neutral-300 py-3 leading-tight">
|
|
87
|
+
<sonic-value key="joke"></sonic-value>
|
|
88
|
+
<sonic-value key="setup" class="font-bold"></sonic-value><br>
|
|
89
|
+
<sonic-value key="delivery"></sonic-value>
|
|
90
|
+
</div>
|
|
91
|
+
</template>
|
|
92
|
+
</sonic-queue>
|
|
95
93
|
</template>
|
|
96
94
|
</sonic-code>
|
|
@@ -40,7 +40,10 @@ export class Checkbox extends FormCheckable(
|
|
|
40
40
|
css`
|
|
41
41
|
:host {
|
|
42
42
|
--sc-checkbox-border-width: var(--sc-form-border-width);
|
|
43
|
-
--sc-checkbox-border-color: var(
|
|
43
|
+
--sc-checkbox-border-color: var(
|
|
44
|
+
--sc-input-border-color,
|
|
45
|
+
var(--sc-base-content, #000)
|
|
46
|
+
);
|
|
44
47
|
--sc-checkbox-bg: var(--sc-input-bg);
|
|
45
48
|
--sc-checkbox-color: transparent;
|
|
46
49
|
}
|
|
@@ -55,7 +58,7 @@ export class Checkbox extends FormCheckable(
|
|
|
55
58
|
gap: 0.5em;
|
|
56
59
|
line-height: 1.2;
|
|
57
60
|
align-items: flex-start;
|
|
58
|
-
font-size: var(--sc-
|
|
61
|
+
font-size: var(--sc-_fs);
|
|
59
62
|
}
|
|
60
63
|
|
|
61
64
|
.icon-container {
|
|
@@ -68,8 +71,8 @@ export class Checkbox extends FormCheckable(
|
|
|
68
71
|
box-sizing: border-box;
|
|
69
72
|
appearance: none;
|
|
70
73
|
flex-shrink: 0;
|
|
71
|
-
height: calc(var(--sc-
|
|
72
|
-
width: calc(var(--sc-
|
|
74
|
+
height: calc(var(--sc-_fs) * 1.25);
|
|
75
|
+
width: calc(var(--sc-_fs) * 1.25);
|
|
73
76
|
display: block;
|
|
74
77
|
cursor: pointer;
|
|
75
78
|
border-radius: 0.25em;
|
|
@@ -83,7 +86,7 @@ export class Checkbox extends FormCheckable(
|
|
|
83
86
|
|
|
84
87
|
input:focus,
|
|
85
88
|
:host(:not([disabled])) input:active {
|
|
86
|
-
box-shadow: 0 0 0 2px var(--sc-primary);
|
|
89
|
+
box-shadow: 0 0 0 2px var(--sc-primary, var(--sc-base-content, #000));
|
|
87
90
|
}
|
|
88
91
|
|
|
89
92
|
:host(:not([disabled])) label {
|
|
@@ -105,7 +108,7 @@ export class Checkbox extends FormCheckable(
|
|
|
105
108
|
} */
|
|
106
109
|
|
|
107
110
|
.description {
|
|
108
|
-
color: var(--sc-base-400);
|
|
111
|
+
color: var(--sc-base-400, var(--sc-base-content, #000));
|
|
109
112
|
font-size: 0.85em;
|
|
110
113
|
margin-top: 0.2em;
|
|
111
114
|
display: block;
|
|
@@ -115,13 +118,16 @@ export class Checkbox extends FormCheckable(
|
|
|
115
118
|
input:checked,
|
|
116
119
|
input[data-indeterminate],
|
|
117
120
|
input[checked] {
|
|
118
|
-
--sc-checkbox-border-color: var(
|
|
119
|
-
|
|
121
|
+
--sc-checkbox-border-color: var(
|
|
122
|
+
--sc-primary,
|
|
123
|
+
var(--sc-base-content, #000)
|
|
124
|
+
);
|
|
125
|
+
--sc-checkbox-bg: var(--sc-primary, var(--sc-base-content, #000));
|
|
120
126
|
}
|
|
121
127
|
input:checked + sonic-icon,
|
|
122
128
|
input[data-indeterminate] + sonic-icon,
|
|
123
129
|
input[checked] + sonic-icon {
|
|
124
|
-
--sc-checkbox-color: var(--sc-primary-content);
|
|
130
|
+
--sc-checkbox-color: var(--sc-primary-content, var(--sc-base, #fff));
|
|
125
131
|
transform: translateX(-50%) translateY(-50%) scale(1);
|
|
126
132
|
}
|
|
127
133
|
/*DISABLED */
|
|
@@ -153,16 +159,6 @@ export class Checkbox extends FormCheckable(
|
|
|
153
159
|
.hidden {
|
|
154
160
|
display: none;
|
|
155
161
|
}
|
|
156
|
-
|
|
157
|
-
/*ERROR*/
|
|
158
|
-
/*
|
|
159
|
-
:host([touched]) .checkbox-container:has(input:not(:focus):invalid) {
|
|
160
|
-
--sc-checkbox-border-color:var(--sc-danger);
|
|
161
|
-
}
|
|
162
|
-
:host([touched]) .checkbox-container:has(input:not(:focus):invalid) .checkbox-text{
|
|
163
|
-
color:var(--sc-danger);
|
|
164
|
-
}
|
|
165
|
-
*/
|
|
166
162
|
` as CSSResultGroup,
|
|
167
163
|
];
|
|
168
164
|
|