@solid-design-system/components 1.35.1 → 1.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/es/checkbox-group.js +1 -1
- package/dist/components/es/checkbox.js +1 -1
- package/dist/components/es/form.js +1 -1
- package/dist/components/es/input.js +1 -1
- package/dist/components/es/option.js +1 -1
- package/dist/components/es/radio-button.js +1 -0
- package/dist/components/es/radio-group.js +1 -1
- package/dist/components/es/radio.js +1 -1
- package/dist/components/es/select.js +2 -2
- package/dist/components/es/solid-components2.js +1 -1
- package/dist/components/es/solid-element.js +1 -1
- package/dist/components/es/switch.js +1 -1
- package/dist/components/es/textarea.js +1 -1
- package/dist/components/umd/solid-components.js +19 -19
- package/dist/custom-elements.json +1 -1
- package/dist/package/components/checkbox/checkbox.d.ts +2 -0
- package/dist/package/components/checkbox/checkbox.js +23 -6
- package/dist/package/components/checkbox-group/checkbox-group.js +1 -1
- package/dist/package/components/input/input.d.ts +3 -0
- package/dist/package/components/input/input.js +20 -19
- package/dist/package/components/option/option.js +0 -2
- package/dist/package/components/radio/radio.js +3 -3
- package/dist/package/components/radio-button/radio-button.d.ts +25 -0
- package/dist/package/components/radio-button/radio-button.js +118 -0
- package/dist/package/components/radio-group/radio-group.d.ts +4 -3
- package/dist/package/components/radio-group/radio-group.js +26 -26
- package/dist/package/components/select/select.d.ts +3 -3
- package/dist/package/components/select/select.js +18 -23
- package/dist/package/components/switch/switch.d.ts +2 -0
- package/dist/package/components/switch/switch.js +15 -7
- package/dist/package/components/textarea/textarea.d.ts +3 -0
- package/dist/package/components/textarea/textarea.js +30 -24
- package/dist/package/internal/form.d.ts +3 -1
- package/dist/package/internal/form.js +38 -10
- package/dist/package/internal/solid-element.d.ts +2 -0
- package/dist/package/solid-components.d.ts +1 -0
- package/dist/package/solid-components.js +20 -18
- package/dist/package/styles/tailwind.css.js +1 -1
- package/dist/versioned-components/es/accordion-group.js +1 -1
- package/dist/versioned-components/es/accordion.js +1 -1
- package/dist/versioned-components/es/badge.js +1 -1
- package/dist/versioned-components/es/brandshape.js +1 -1
- package/dist/versioned-components/es/button.js +1 -1
- package/dist/versioned-components/es/carousel-item.js +1 -1
- package/dist/versioned-components/es/carousel.js +3 -3
- package/dist/versioned-components/es/checkbox-group.js +1 -1
- package/dist/versioned-components/es/checkbox.js +1 -1
- package/dist/versioned-components/es/divider.js +1 -1
- package/dist/versioned-components/es/drawer.js +1 -1
- package/dist/versioned-components/es/dropdown.js +1 -1
- package/dist/versioned-components/es/form.js +1 -1
- package/dist/versioned-components/es/header.js +1 -1
- package/dist/versioned-components/es/icon.js +1 -1
- package/dist/versioned-components/es/include.js +1 -1
- package/dist/versioned-components/es/input.js +1 -1
- package/dist/versioned-components/es/link.js +1 -1
- package/dist/versioned-components/es/navigation-item.js +1 -1
- package/dist/versioned-components/es/notification.js +1 -1
- package/dist/versioned-components/es/option.js +1 -1
- package/dist/versioned-components/es/popup.js +1 -1
- package/dist/versioned-components/es/radio-button.js +1 -0
- package/dist/versioned-components/es/radio-group.js +1 -1
- package/dist/versioned-components/es/radio.js +1 -1
- package/dist/versioned-components/es/select.js +2 -2
- package/dist/versioned-components/es/solid-components2.js +1 -1
- package/dist/versioned-components/es/solid-element.js +1 -1
- package/dist/versioned-components/es/spinner.js +1 -1
- package/dist/versioned-components/es/switch.js +1 -1
- package/dist/versioned-components/es/tag.js +1 -1
- package/dist/versioned-components/es/teaser.js +1 -1
- package/dist/versioned-components/es/textarea.js +1 -1
- package/dist/versioned-components/es/tooltip.js +2 -2
- package/dist/versioned-components/es/video.js +1 -1
- package/dist/versioned-package/_components/button-group/button-group.d.ts +1 -1
- package/dist/versioned-package/_components/button-group/button-group.js +11 -11
- package/dist/versioned-package/components/accordion/accordion.d.ts +1 -1
- package/dist/versioned-package/components/accordion/accordion.js +2 -2
- package/dist/versioned-package/components/accordion-group/accordion-group.d.ts +1 -1
- package/dist/versioned-package/components/accordion-group/accordion-group.js +3 -3
- package/dist/versioned-package/components/badge/badge.d.ts +1 -1
- package/dist/versioned-package/components/badge/badge.js +1 -1
- package/dist/versioned-package/components/brandshape/brandshape.d.ts +1 -1
- package/dist/versioned-package/components/brandshape/brandshape.js +1 -1
- package/dist/versioned-package/components/button/button.d.ts +1 -1
- package/dist/versioned-package/components/button/button.js +4 -4
- package/dist/versioned-package/components/carousel/carousel.d.ts +1 -1
- package/dist/versioned-package/components/carousel/carousel.js +6 -6
- package/dist/versioned-package/components/carousel-item/carousel-item.d.ts +1 -1
- package/dist/versioned-package/components/carousel-item/carousel-item.js +1 -1
- package/dist/versioned-package/components/checkbox/checkbox.d.ts +3 -1
- package/dist/versioned-package/components/checkbox/checkbox.js +27 -10
- package/dist/versioned-package/components/checkbox-group/checkbox-group.d.ts +1 -1
- package/dist/versioned-package/components/checkbox-group/checkbox-group.js +6 -6
- package/dist/versioned-package/components/divider/divider.d.ts +1 -1
- package/dist/versioned-package/components/divider/divider.js +2 -2
- package/dist/versioned-package/components/drawer/drawer.d.ts +1 -1
- package/dist/versioned-package/components/drawer/drawer.js +2 -2
- package/dist/versioned-package/components/dropdown/dropdown.d.ts +1 -1
- package/dist/versioned-package/components/dropdown/dropdown.js +8 -8
- package/dist/versioned-package/components/header/header.d.ts +1 -1
- package/dist/versioned-package/components/header/header.js +4 -4
- package/dist/versioned-package/components/icon/icon.d.ts +1 -1
- package/dist/versioned-package/components/icon/icon.js +1 -1
- package/dist/versioned-package/components/include/include.d.ts +1 -1
- package/dist/versioned-package/components/include/include.js +1 -1
- package/dist/versioned-package/components/input/input.d.ts +4 -1
- package/dist/versioned-package/components/input/input.js +23 -22
- package/dist/versioned-package/components/link/link.d.ts +1 -1
- package/dist/versioned-package/components/link/link.js +2 -2
- package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +1 -1
- package/dist/versioned-package/components/navigation-item/navigation-item.js +3 -3
- package/dist/versioned-package/components/notification/notification.d.ts +1 -1
- package/dist/versioned-package/components/notification/notification.js +5 -5
- package/dist/versioned-package/components/option/option.d.ts +1 -1
- package/dist/versioned-package/components/option/option.js +2 -4
- package/dist/versioned-package/components/popup/popup.d.ts +1 -1
- package/dist/versioned-package/components/popup/popup.js +1 -1
- package/dist/versioned-package/components/radio/radio.d.ts +1 -1
- package/dist/versioned-package/components/radio/radio.js +5 -5
- package/dist/versioned-package/components/radio-button/radio-button.d.ts +25 -0
- package/dist/versioned-package/components/radio-button/radio-button.js +118 -0
- package/dist/versioned-package/components/radio-group/radio-group.d.ts +6 -5
- package/dist/versioned-package/components/radio-group/radio-group.js +39 -39
- package/dist/versioned-package/components/select/select.d.ts +7 -7
- package/dist/versioned-package/components/select/select.js +44 -49
- package/dist/versioned-package/components/spinner/spinner.d.ts +1 -1
- package/dist/versioned-package/components/spinner/spinner.js +1 -1
- package/dist/versioned-package/components/switch/switch.d.ts +3 -1
- package/dist/versioned-package/components/switch/switch.js +17 -9
- package/dist/versioned-package/components/tag/tag.d.ts +1 -1
- package/dist/versioned-package/components/tag/tag.js +2 -2
- package/dist/versioned-package/components/teaser/teaser.js +1 -1
- package/dist/versioned-package/components/textarea/textarea.d.ts +4 -1
- package/dist/versioned-package/components/textarea/textarea.js +32 -26
- package/dist/versioned-package/components/tooltip/tooltip.d.ts +1 -1
- package/dist/versioned-package/components/tooltip/tooltip.js +5 -5
- package/dist/versioned-package/components/video/video.d.ts +1 -1
- package/dist/versioned-package/components/video/video.js +2 -2
- package/dist/versioned-package/internal/form.d.ts +3 -1
- package/dist/versioned-package/internal/form.js +40 -12
- package/dist/versioned-package/internal/solid-element.d.ts +2 -0
- package/dist/versioned-package/solid-components.d.ts +1 -0
- package/dist/versioned-package/solid-components.js +20 -18
- package/dist/versioned-package/styles/tailwind.css.js +1 -1
- package/dist/versioned-styles/solid-styles.css +1 -1
- package/dist/vscode.html-custom-data.json +107 -33
- package/dist/web-types.json +177 -18
- package/package.json +5 -4
- package/dist/components/es/form-control.styles.js +0 -1
- package/dist/package/styles/form-control.styles.d.ts +0 -2
- package/dist/package/styles/form-control.styles.js +0 -5
- package/dist/versioned-components/es/form-control.styles.js +0 -1
- package/dist/versioned-package/styles/form-control.styles.d.ts +0 -2
- package/dist/versioned-package/styles/form-control.styles.js +0 -5
|
@@ -123,7 +123,7 @@ __decorateClass([
|
|
|
123
123
|
state()
|
|
124
124
|
], SdBrandshape.prototype, "componentBreakpoint", 2);
|
|
125
125
|
SdBrandshape = __decorateClass([
|
|
126
|
-
customElement("sd-1-
|
|
126
|
+
customElement("sd-1-37-0-brandshape")
|
|
127
127
|
], SdBrandshape);
|
|
128
128
|
export {
|
|
129
129
|
SdBrandshape as default
|
|
@@ -213,19 +213,19 @@ let SdButton = class extends SolidElement {
|
|
|
213
213
|
md: "ml-2",
|
|
214
214
|
lg: "ml-2"
|
|
215
215
|
}[this.size]
|
|
216
|
-
)}"></slot>${this.loading ? html`<sd-1-
|
|
216
|
+
)}"></slot>${this.loading ? html`<sd-1-37-0-spinner class="${cx("absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2")}"></sd-1-37-0-spinner>` : ""}</${tag}>`;
|
|
217
217
|
}
|
|
218
218
|
};
|
|
219
219
|
SdButton.styles = [
|
|
220
220
|
componentStyles,
|
|
221
221
|
SolidElement.styles,
|
|
222
|
-
css`:host{position:relative;display:inline-block;width:var(--sd-spacing-auto,auto);cursor:pointer}sd-1-
|
|
222
|
+
css`:host{position:relative;display:inline-block;width:var(--sd-spacing-auto,auto);cursor:pointer}sd-1-37-0-spinner{--indicator-color:currentColor;--track-color:var(--tw-varcolor-200)}::slotted(sd-1-37-0-badge){pointer-events:none;position:absolute;top:var(--sd-spacing-0,0);right:var(--sd-spacing-0,0);--tw-translate-x:50%!important;--tw-translate-y:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}::slotted(sd-1-37-0-icon),sd-1-37-0-spinner{font-size:calc(var(--tw-varspacing)/ 2)}`
|
|
223
223
|
];
|
|
224
224
|
__decorateClass([
|
|
225
225
|
query("a, button")
|
|
226
226
|
], SdButton.prototype, "button", 2);
|
|
227
227
|
__decorateClass([
|
|
228
|
-
queryAssignedElements({ selector: "sd-1-
|
|
228
|
+
queryAssignedElements({ selector: "sd-1-37-0-icon" })
|
|
229
229
|
], SdButton.prototype, "_iconsInDefaultSlot", 2);
|
|
230
230
|
__decorateClass([
|
|
231
231
|
state()
|
|
@@ -288,7 +288,7 @@ __decorateClass([
|
|
|
288
288
|
watch("disabled", { waitUntilFirstUpdate: true })
|
|
289
289
|
], SdButton.prototype, "handleDisabledChange", 1);
|
|
290
290
|
SdButton = __decorateClass([
|
|
291
|
-
customElement("sd-1-
|
|
291
|
+
customElement("sd-1-37-0-button")
|
|
292
292
|
], SdButton);
|
|
293
293
|
export {
|
|
294
294
|
SdButton as default
|
|
@@ -39,7 +39,7 @@ let SdCarousel = class extends SolidElement {
|
|
|
39
39
|
this.pausedAutoplay = false;
|
|
40
40
|
this.autoplayController = new AutoplayController(this, () => this.next());
|
|
41
41
|
this.scrollController = new ScrollController(this);
|
|
42
|
-
this.slides = this.getElementsByTagName("sd-1-
|
|
42
|
+
this.slides = this.getElementsByTagName("sd-1-37-0-carousel-item");
|
|
43
43
|
this.intersectionObserverEntries = /* @__PURE__ */ new Map();
|
|
44
44
|
this.localize = new LocalizeController(this);
|
|
45
45
|
this.handleSlotChange = (mutations) => {
|
|
@@ -276,7 +276,7 @@ let SdCarousel = class extends SolidElement {
|
|
|
276
276
|
"!mr-6 !rounded-sm sd-interactive",
|
|
277
277
|
!prevEnabled && "sd-interactive--disabled",
|
|
278
278
|
this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset"
|
|
279
|
-
)}" aria-label="${this.localize.term("previousSlide")}" aria-controls="scroll-container" aria-disabled="${prevEnabled ? "false" : "true"}" @click="${prevEnabled ? () => this.previous() : null}"><slot name="previous-icon"><sd-1-
|
|
279
|
+
)}" aria-label="${this.localize.term("previousSlide")}" aria-controls="scroll-container" aria-disabled="${prevEnabled ? "false" : "true"}" @click="${prevEnabled ? () => this.previous() : null}"><slot name="previous-icon"><sd-1-37-0-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-down" : "chevron-up"}"></sd-1-37-0-icon></slot></button> ${this.variant === "dot" ? html`<div part="pagination-dot" role="tablist" class="${cx("carousel__pagination dot flex wrap items-center gap-2")}" aria-controls="scroll-container">${map(range(pagesCount), (index) => {
|
|
280
280
|
const isActive = index === currentPage;
|
|
281
281
|
return html`<button part="pagination-item ${isActive ? "pagination-item--active" : ""}" class="${cx(
|
|
282
282
|
"carousel__pagination-item",
|
|
@@ -296,19 +296,19 @@ let SdCarousel = class extends SolidElement {
|
|
|
296
296
|
)}" aria-label="${this.localize.term("nextSlide")}" aria-controls="scroll-container" aria-disabled="${nextEnabled ? "false" : "true"}" @click="${nextEnabled ? () => {
|
|
297
297
|
console.log("click-next");
|
|
298
298
|
this.next();
|
|
299
|
-
} : null}"><slot name="next-icon"><sd-1-
|
|
299
|
+
} : null}"><slot name="next-icon"><sd-1-37-0-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-up" : "chevron-down"}"></sd-1-37-0-icon></slot></button></div><button class="${cx(
|
|
300
300
|
"ml-6 !rounded-sm",
|
|
301
301
|
"!absolute !right-0 sd-interactive",
|
|
302
302
|
this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset",
|
|
303
303
|
!this.autoplay && "!hidden"
|
|
304
|
-
)}" part="autoplay-controls" @click="${() => this.pausedAutoplay = !this.pausedAutoplay}"><slot name="autoplay-start" class="${cx(!this.pausedAutoplay ? "hidden" : "")}"><sd-1-
|
|
304
|
+
)}" part="autoplay-controls" @click="${() => this.pausedAutoplay = !this.pausedAutoplay}"><slot name="autoplay-start" class="${cx(!this.pausedAutoplay ? "hidden" : "")}"><sd-1-37-0-icon class="h-6 w-6 grid place-items-center" library="system" name="start"></sd-1-37-0-icon></slot><slot name="autoplay-pause" class="${cx(this.pausedAutoplay ? "hidden" : "")}"><sd-1-37-0-icon class="h-6 w-6 grid place-items-center" library="system" name="pause"></sd-1-37-0-icon></slot></button></div></div>`;
|
|
305
305
|
}
|
|
306
306
|
};
|
|
307
307
|
SdCarousel.styles = [
|
|
308
308
|
SolidElement.styles,
|
|
309
309
|
unsafeCSS(InteractiveStyles),
|
|
310
310
|
componentStyles,
|
|
311
|
-
css`:host{--slide-gap:var(--sl-spacing-medium, 1rem);--scroll-hint:0px;display:flex}.carousel{grid-template-areas:'. slides .' '. pagination .'}.carousel__pagination{grid-area:pagination}.carousel__slides{grid-area:slides;scrollbar-width:none;--slide-size:calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));grid-auto-columns:var(--slide-size);-moz-column-gap:var(--slide-gap);column-gap:var(--slide-gap);scroll-padding-inline:var(--scroll-hint);padding-inline:var(--scroll-hint)}.carousel__slides::-webkit-scrollbar{display:none}@media (prefers-reduced-motion){:where(.carousel__slides){scroll-behavior:auto}}.carousel__navigation{grid-area:navigation}sd-1-
|
|
311
|
+
css`:host{--slide-gap:var(--sl-spacing-medium, 1rem);--scroll-hint:0px;display:flex}.carousel{grid-template-areas:'. slides .' '. pagination .'}.carousel__pagination{grid-area:pagination}.carousel__slides{grid-area:slides;scrollbar-width:none;--slide-size:calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));grid-auto-columns:var(--slide-size);-moz-column-gap:var(--slide-gap);column-gap:var(--slide-gap);scroll-padding-inline:var(--scroll-hint);padding-inline:var(--scroll-hint)}.carousel__slides::-webkit-scrollbar{display:none}@media (prefers-reduced-motion){:where(.carousel__slides){scroll-behavior:auto}}.carousel__navigation{grid-area:navigation}sd-1-37-0-button::part(label){pointer-events:none;display:flex;flex:1 1 auto;align-items:center}`
|
|
312
312
|
];
|
|
313
313
|
__decorateClass([
|
|
314
314
|
property({ type: String, reflect: true })
|
|
@@ -360,7 +360,7 @@ __decorateClass([
|
|
|
360
360
|
watch("autoplay")
|
|
361
361
|
], SdCarousel.prototype, "handleAutoplayChange", 1);
|
|
362
362
|
SdCarousel = __decorateClass([
|
|
363
|
-
customElement("sd-1-
|
|
363
|
+
customElement("sd-1-37-0-carousel")
|
|
364
364
|
], SdCarousel);
|
|
365
365
|
export {
|
|
366
366
|
SdCarousel as default
|
|
@@ -31,7 +31,7 @@ SdCarouselItem.styles = [
|
|
|
31
31
|
css`:host{aspect-ratio:var(--aspect-ratio);scroll-snap-align:start;scroll-snap-stop:always;display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center}::slotted(img){height:100%;width:100%;-o-object-fit:cover;object-fit:cover}`
|
|
32
32
|
];
|
|
33
33
|
SdCarouselItem = __decorateClass([
|
|
34
|
-
customElement("sd-1-
|
|
34
|
+
customElement("sd-1-37-0-carousel-item")
|
|
35
35
|
], SdCarouselItem);
|
|
36
36
|
export {
|
|
37
37
|
SdCarouselItem as default
|
|
@@ -4,6 +4,7 @@ import type { SolidFormControl } from '../../internal/solid-element';
|
|
|
4
4
|
export default class SdCheckbox extends SolidElement implements SolidFormControl {
|
|
5
5
|
private readonly formControlController;
|
|
6
6
|
input: HTMLInputElement;
|
|
7
|
+
invalidMessage: HTMLDivElement;
|
|
7
8
|
title: string;
|
|
8
9
|
name: string;
|
|
9
10
|
value: string;
|
|
@@ -14,6 +15,7 @@ export default class SdCheckbox extends SolidElement implements SolidFormControl
|
|
|
14
15
|
defaultChecked: boolean;
|
|
15
16
|
form: string;
|
|
16
17
|
required: boolean;
|
|
18
|
+
showInvalidStyle: boolean;
|
|
17
19
|
get validity(): ValidityState;
|
|
18
20
|
firstUpdated(): void;
|
|
19
21
|
private handleClick;
|
|
@@ -35,6 +37,6 @@ export default class SdCheckbox extends SolidElement implements SolidFormControl
|
|
|
35
37
|
}
|
|
36
38
|
declare global {
|
|
37
39
|
interface HTMLElementTagNameMap {
|
|
38
|
-
'sd-1-
|
|
40
|
+
'sd-1-37-0-checkbox': SdCheckbox;
|
|
39
41
|
}
|
|
40
42
|
}
|
|
@@ -5,7 +5,7 @@ import { defaultValue } from "../../internal/default-value.js";
|
|
|
5
5
|
import { FormControlController } from "../../internal/form.js";
|
|
6
6
|
import { ifDefined } from "lit/directives/if-defined.js";
|
|
7
7
|
import { live } from "lit/directives/live.js";
|
|
8
|
-
import { query, property } from "lit/decorators.js";
|
|
8
|
+
import { query, property, state } from "lit/decorators.js";
|
|
9
9
|
import { watch } from "../../internal/watch.js";
|
|
10
10
|
import cx from "classix";
|
|
11
11
|
import SolidElement from "../../internal/solid-element.js";
|
|
@@ -37,6 +37,7 @@ let SdCheckbox = class extends SolidElement {
|
|
|
37
37
|
this.defaultChecked = false;
|
|
38
38
|
this.form = "";
|
|
39
39
|
this.required = false;
|
|
40
|
+
this.showInvalidStyle = false;
|
|
40
41
|
}
|
|
41
42
|
/** Gets the validity state object */
|
|
42
43
|
get validity() {
|
|
@@ -54,11 +55,12 @@ let SdCheckbox = class extends SolidElement {
|
|
|
54
55
|
this.emit("sd-blur");
|
|
55
56
|
}
|
|
56
57
|
handleInput() {
|
|
57
|
-
this.emit("sd-1-
|
|
58
|
+
this.emit("sd-1-37-0-input");
|
|
58
59
|
}
|
|
59
60
|
handleInvalid(event) {
|
|
60
61
|
this.formControlController.setValidity(false);
|
|
61
62
|
this.formControlController.emitInvalidEvent(event);
|
|
63
|
+
this.invalidMessage.textContent = event.target.validationMessage;
|
|
62
64
|
}
|
|
63
65
|
handleFocus() {
|
|
64
66
|
this.emit("sd-focus");
|
|
@@ -105,8 +107,9 @@ let SdCheckbox = class extends SolidElement {
|
|
|
105
107
|
this.formControlController.updateValidity();
|
|
106
108
|
}
|
|
107
109
|
render() {
|
|
110
|
+
const checkboxState = this.disabled && this.indeterminate ? "disabledIndeterminate" : this.disabled && this.checked ? "disabledChecked" : this.disabled ? "disabled" : this.showInvalidStyle && this.indeterminate ? "invalidIndeterminate" : this.showInvalidStyle ? "invalid" : this.checked || this.indeterminate ? "filled" : "default";
|
|
108
111
|
return html`<label part="base" class="${cx(
|
|
109
|
-
"sd-1-
|
|
112
|
+
"sd-1-37-0-checkbox group flex items-start text-base leading-normal text-black cursor-pointer",
|
|
110
113
|
this.disabled && "hover:cursor-not-allowed",
|
|
111
114
|
{
|
|
112
115
|
/* sizes, fonts */
|
|
@@ -121,20 +124,31 @@ let SdCheckbox = class extends SolidElement {
|
|
|
121
124
|
sm: "mt-[2px]",
|
|
122
125
|
lg: "mt-[3px]"
|
|
123
126
|
}[this.size],
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
{
|
|
128
|
+
disabledIndeterminate: "border-neutral-500 bg-neutral-500",
|
|
129
|
+
disabledChecked: "border-neutral-500 bg-neutral-500",
|
|
130
|
+
disabled: "border-neutral-500",
|
|
131
|
+
invalidIndeterminate: "border-error bg-error group-hover:bg-error-400",
|
|
132
|
+
invalid: "border-error group-hover:bg-neutral-200",
|
|
133
|
+
filled: "border-accent hover:border-accent-550 group-hover:border-accent-550 bg-accent group-hover:bg-accent-550",
|
|
134
|
+
default: "border-neutral-800 hover:bg-neutral-200 group-hover:bg-neutral-200 bg-white"
|
|
135
|
+
}[checkboxState]
|
|
136
|
+
)}">${this.checked ? html`<sd-1-37-0-icon part="checked-icon" class="text-white w-3 h-3" library="system" name="status-hook"></sd-1-37-0-icon>` : ""} ${!this.checked && this.indeterminate ? html`<sd-1-37-0-icon part="indeterminate-icon" class="text-white w-3 h-3" library="system" name="status-minus"></sd-1-37-0-icon>` : ""} </span><span part="label" id="label" class="${cx(
|
|
137
|
+
"select-none inline-block ml-2",
|
|
138
|
+
this.disabled ? "text-neutral-500" : this.showInvalidStyle ? "text-error" : "text-black"
|
|
139
|
+
)}"><slot></slot></span></label> ${this.formControlController.renderInvalidMessage()}`;
|
|
129
140
|
}
|
|
130
141
|
};
|
|
131
142
|
SdCheckbox.styles = [
|
|
132
143
|
SolidElement.styles,
|
|
133
|
-
css`:host{display:block}:host(:focus-visible){outline-width:0}:host([required]) #label::after{content:' *'}
|
|
144
|
+
css`:host{display:block}:host(:focus-visible){outline-width:0}:host([required]) #label::after{content:' *'}`
|
|
134
145
|
];
|
|
135
146
|
__decorateClass([
|
|
136
147
|
query('input[type="checkbox"]')
|
|
137
148
|
], SdCheckbox.prototype, "input", 2);
|
|
149
|
+
__decorateClass([
|
|
150
|
+
query("#invalid-message")
|
|
151
|
+
], SdCheckbox.prototype, "invalidMessage", 2);
|
|
138
152
|
__decorateClass([
|
|
139
153
|
property()
|
|
140
154
|
], SdCheckbox.prototype, "title", 2);
|
|
@@ -165,6 +179,9 @@ __decorateClass([
|
|
|
165
179
|
__decorateClass([
|
|
166
180
|
property({ type: Boolean, reflect: true })
|
|
167
181
|
], SdCheckbox.prototype, "required", 2);
|
|
182
|
+
__decorateClass([
|
|
183
|
+
state()
|
|
184
|
+
], SdCheckbox.prototype, "showInvalidStyle", 2);
|
|
168
185
|
__decorateClass([
|
|
169
186
|
watch("disabled", { waitUntilFirstUpdate: true })
|
|
170
187
|
], SdCheckbox.prototype, "handleDisabledChange", 1);
|
|
@@ -172,7 +189,7 @@ __decorateClass([
|
|
|
172
189
|
watch(["checked", "indeterminate"], { waitUntilFirstUpdate: true })
|
|
173
190
|
], SdCheckbox.prototype, "handleStateChange", 1);
|
|
174
191
|
SdCheckbox = __decorateClass([
|
|
175
|
-
customElement("sd-1-
|
|
192
|
+
customElement("sd-1-37-0-checkbox")
|
|
176
193
|
], SdCheckbox);
|
|
177
194
|
export {
|
|
178
195
|
SdCheckbox as default
|
|
@@ -27,7 +27,7 @@ let SdCheckboxGroup = class extends SolidElement {
|
|
|
27
27
|
this.orientation = "vertical";
|
|
28
28
|
}
|
|
29
29
|
getAllCheckboxes() {
|
|
30
|
-
return [...this.querySelectorAll("sd-1-
|
|
30
|
+
return [...this.querySelectorAll("sd-1-37-0-checkbox")];
|
|
31
31
|
}
|
|
32
32
|
async syncCheckboxElements() {
|
|
33
33
|
const checkboxes = this.getAllCheckboxes();
|
|
@@ -43,10 +43,10 @@ let SdCheckboxGroup = class extends SolidElement {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
syncCheckboxes() {
|
|
46
|
-
if (customElements.get("sd-1-
|
|
46
|
+
if (customElements.get("sd-1-37-0-checkbox")) {
|
|
47
47
|
this.syncCheckboxElements();
|
|
48
48
|
} else {
|
|
49
|
-
customElements.whenDefined("sd-1-
|
|
49
|
+
customElements.whenDefined("sd-1-37-0-checkbox").then(() => this.syncCheckboxes());
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
handleSizeChange() {
|
|
@@ -66,7 +66,7 @@ let SdCheckboxGroup = class extends SolidElement {
|
|
|
66
66
|
sm: "text-sm",
|
|
67
67
|
lg: "text-base"
|
|
68
68
|
}[this.size]
|
|
69
|
-
)}" role="group" aria-labelledby="label"><label part="form-control-label" id="label" class="${cx("mb-2 p-0 font-bold leading-normal text-black", hasLabel ? "flex" : "hidden")}" aria-hidden="${
|
|
69
|
+
)}" role="group" aria-labelledby="label"><label part="form-control-label" id="label" class="${cx("mb-2 p-0 font-bold leading-normal text-black", hasLabel ? "flex" : "hidden")}" aria-hidden="${hasLabel ? "false" : "true"}"><slot name="label">${this.label}</slot></label><div part="form-control-input" class="${cx(
|
|
70
70
|
{
|
|
71
71
|
vertical: "flex flex-col",
|
|
72
72
|
horizontal: "flex flex-row"
|
|
@@ -77,7 +77,7 @@ let SdCheckboxGroup = class extends SolidElement {
|
|
|
77
77
|
SdCheckboxGroup.styles = [
|
|
78
78
|
componentStyles,
|
|
79
79
|
SolidElement.styles,
|
|
80
|
-
css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-1-
|
|
80
|
+
css`:host{display:block}:host([orientation=vertical]) ::slotted(sd-1-37-0-checkbox){margin-bottom:var(--sd-spacing-2,.5rem);display:flex}:host([orientation=vertical]) ::slotted(sd-1-37-0-checkbox:last-of-type){margin-bottom:var(--sd-spacing-0,0)}:host([orientation=horizontal]) ::slotted(sd-1-37-0-checkbox){margin-right:var(--sd-spacing-6,1.5rem)}:host([orientation=horizontal]) ::slotted(sd-1-37-0-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-1-37-0-checkbox){margin-right:var(--sd-spacing-4,1rem)}:host([orientation=horizontal]):host([size=sm]) ::slotted(sd-1-37-0-checkbox:last-of-type){margin-right:var(--sd-spacing-0,0)}`
|
|
81
81
|
];
|
|
82
82
|
__decorateClass([
|
|
83
83
|
property()
|
|
@@ -95,7 +95,7 @@ __decorateClass([
|
|
|
95
95
|
watch("invalid", { waitUntilFirstUpdate: true })
|
|
96
96
|
], SdCheckboxGroup.prototype, "handleInvalid", 1);
|
|
97
97
|
SdCheckboxGroup = __decorateClass([
|
|
98
|
-
customElement("sd-1-
|
|
98
|
+
customElement("sd-1-37-0-checkbox-group")
|
|
99
99
|
], SdCheckboxGroup);
|
|
100
100
|
export {
|
|
101
101
|
SdCheckboxGroup as default
|
|
@@ -35,7 +35,7 @@ let SdDivider = class extends SolidElement {
|
|
|
35
35
|
SdDivider.styles = [
|
|
36
36
|
componentStyles,
|
|
37
37
|
SolidElement.styles,
|
|
38
|
-
css`:host{margin:var(--sd-spacing-0,0)}:host(sd-1-
|
|
38
|
+
css`:host{margin:var(--sd-spacing-0,0)}:host(sd-1-37-0-divider[orientation=horizontal]){display:block}:host(sd-1-37-0-divider[orientation=vertical]){display:inline-block}`
|
|
39
39
|
];
|
|
40
40
|
__decorateClass([
|
|
41
41
|
property({ reflect: true })
|
|
@@ -44,7 +44,7 @@ __decorateClass([
|
|
|
44
44
|
property({ type: Boolean, reflect: true })
|
|
45
45
|
], SdDivider.prototype, "inverted", 2);
|
|
46
46
|
SdDivider = __decorateClass([
|
|
47
|
-
customElement("sd-1-
|
|
47
|
+
customElement("sd-1-37-0-divider")
|
|
48
48
|
], SdDivider);
|
|
49
49
|
export {
|
|
50
50
|
SdDivider as default
|
|
@@ -183,7 +183,7 @@ let SdDrawer = class extends SolidElement {
|
|
|
183
183
|
end: "top-0 end-0 bottom-auto start-auto w-[--width] h-full",
|
|
184
184
|
start: "top-0 end-auto bottom-auto start-0 w-[--width] h-full"
|
|
185
185
|
}[this.placement]
|
|
186
|
-
)}" role="dialog" aria-modal="true" aria-hidden="${this.open ? "false" : "true"}" aria-label="${this.label}" aria-labelledby="${ifDefined(!this.noHeader ? "title" : void 0)}" tabindex="0">${!this.noHeader ? html`<header part="header" class="flex justify-between py-2 px-4 items-center flex-shrink-0" style="min-height:56px"><div part="title"><slot name="header" part="title" class="flex-auto text-xl m-0" id="title"></slot></div><div class="shrink-0 flex flex-wrap justify-end gap-1 ml-4 absolute top-2 right-2"><sd-1-
|
|
186
|
+
)}" role="dialog" aria-modal="true" aria-hidden="${this.open ? "false" : "true"}" aria-label="${this.label}" aria-labelledby="${ifDefined(!this.noHeader ? "title" : void 0)}" tabindex="0">${!this.noHeader ? html`<header part="header" class="flex justify-between py-2 px-4 items-center flex-shrink-0" style="min-height:56px"><div part="title"><slot name="header" part="title" class="flex-auto text-xl m-0" id="title"></slot></div><div class="shrink-0 flex flex-wrap justify-end gap-1 ml-4 absolute top-2 right-2"><sd-1-37-0-button variant="tertiary" size="lg" part="close-button" @click="${() => this.requestClose("close-button")}"><sd-1-37-0-icon name="close" library="system"></sd-1-37-0-icon></sd-1-37-0-button></div></header>` : ""}<div part="body" class="flex-auto block px-4"><slot></slot></div><footer part="footer" class="${cx(this.hasSlotController.test("footer") ? "text-left p-4" : "hidden")}"><slot name="footer"></slot></footer></div></div>`;
|
|
187
187
|
}
|
|
188
188
|
};
|
|
189
189
|
SdDrawer.styles = [
|
|
@@ -222,7 +222,7 @@ __decorateClass([
|
|
|
222
222
|
watch("contained", { waitUntilFirstUpdate: true })
|
|
223
223
|
], SdDrawer.prototype, "handleNoModalChange", 1);
|
|
224
224
|
SdDrawer = __decorateClass([
|
|
225
|
-
customElement("sd-1-
|
|
225
|
+
customElement("sd-1-37-0-drawer")
|
|
226
226
|
], SdDrawer);
|
|
227
227
|
setDefaultAnimation("drawer.showStart", {
|
|
228
228
|
keyframes: [
|
|
@@ -170,7 +170,7 @@ let SdDropdown = class extends SolidElement {
|
|
|
170
170
|
// that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,
|
|
171
171
|
// a child of the slotted element, or an element in the slotted element's shadow root.
|
|
172
172
|
//
|
|
173
|
-
// For example, the accessible trigger of an <sd-1-
|
|
173
|
+
// For example, the accessible trigger of an <sd-1-37-0-button> is a <button> located inside its shadow root.
|
|
174
174
|
//
|
|
175
175
|
// To determine this, we assume the first tabbable element in the trigger slot is the "accessible trigger."
|
|
176
176
|
//
|
|
@@ -180,8 +180,8 @@ let SdDropdown = class extends SolidElement {
|
|
|
180
180
|
let target;
|
|
181
181
|
if (accessibleTrigger) {
|
|
182
182
|
switch (accessibleTrigger.tagName.toLowerCase()) {
|
|
183
|
-
case "sd-1-
|
|
184
|
-
case "sd-1-
|
|
183
|
+
case "sd-1-37-0-button":
|
|
184
|
+
case "sd-1-37-0-icon-button":
|
|
185
185
|
target = accessibleTrigger.button;
|
|
186
186
|
break;
|
|
187
187
|
default:
|
|
@@ -216,7 +216,7 @@ let SdDropdown = class extends SolidElement {
|
|
|
216
216
|
}
|
|
217
217
|
addOpenListeners() {
|
|
218
218
|
this.panel.addEventListener("sd-activate", this.handleMenuItemActivate);
|
|
219
|
-
this.panel.addEventListener("sd-1-
|
|
219
|
+
this.panel.addEventListener("sd-1-37-0-select", this.handlePanelSelect);
|
|
220
220
|
this.panel.addEventListener("keydown", this.handleKeyDown);
|
|
221
221
|
document.addEventListener("keydown", this.handleDocumentKeyDown);
|
|
222
222
|
document.addEventListener("mousedown", this.handleDocumentMouseDown);
|
|
@@ -224,7 +224,7 @@ let SdDropdown = class extends SolidElement {
|
|
|
224
224
|
removeOpenListeners() {
|
|
225
225
|
if (this.panel) {
|
|
226
226
|
this.panel.removeEventListener("sd-activate", this.handleMenuItemActivate);
|
|
227
|
-
this.panel.removeEventListener("sd-1-
|
|
227
|
+
this.panel.removeEventListener("sd-1-37-0-select", this.handlePanelSelect);
|
|
228
228
|
this.panel.removeEventListener("keydown", this.handleKeyDown);
|
|
229
229
|
}
|
|
230
230
|
document.removeEventListener("keydown", this.handleDocumentKeyDown);
|
|
@@ -257,11 +257,11 @@ let SdDropdown = class extends SolidElement {
|
|
|
257
257
|
}
|
|
258
258
|
}
|
|
259
259
|
render() {
|
|
260
|
-
return html`<sd-1-
|
|
260
|
+
return html`<sd-1-37-0-popup part="base" id="dropdown" placement="${this.placement}" distance="${this.rounded && this.distance < 1 ? 1 : this.distance}" skidding="${this.skidding}" strategy="${this.hoist ? "fixed" : "absolute"}" ?flip="${!this.noFlip}" shift auto-size="vertical" auto-size-padding="10" ?active="${this.open}"><slot name="trigger" slot="anchor" part="trigger" class="block" @click="${this.handleTriggerClick}" @keydown="${this.handleTriggerKeyDown}" @keyup="${this.handleTriggerKeyUp}" @slotchange="${this.handleTriggerSlotChange}"></slot><slot part="panel" class="${cx(
|
|
261
261
|
"shadow bg-white",
|
|
262
262
|
this.open ? "block pointer-events-auto" : "pointer-events-none",
|
|
263
263
|
this.rounded && "rounded-md"
|
|
264
|
-
)}" aria-hidden="${this.open ? "false" : "true"}" aria-labelledby="dropdown"></slot></sd-1-
|
|
264
|
+
)}" aria-hidden="${this.open ? "false" : "true"}" aria-labelledby="dropdown"></slot></sd-1-37-0-popup>`;
|
|
265
265
|
}
|
|
266
266
|
};
|
|
267
267
|
SdDropdown.styles = [
|
|
@@ -315,7 +315,7 @@ __decorateClass([
|
|
|
315
315
|
watch("open", { waitUntilFirstUpdate: true })
|
|
316
316
|
], SdDropdown.prototype, "handleOpenChange", 1);
|
|
317
317
|
SdDropdown = __decorateClass([
|
|
318
|
-
customElement("sd-1-
|
|
318
|
+
customElement("sd-1-37-0-dropdown")
|
|
319
319
|
], SdDropdown);
|
|
320
320
|
setDefaultAnimation("dropdown.show", {
|
|
321
321
|
keyframes: [
|
|
@@ -64,11 +64,11 @@ let SdHeader = class extends SolidElement {
|
|
|
64
64
|
setCalculatedHeightProperty() {
|
|
65
65
|
if (this.fixed && this.refHeaderElement) {
|
|
66
66
|
document.documentElement.style.setProperty(
|
|
67
|
-
"--sd-1-
|
|
67
|
+
"--sd-1-37-0-header-calculated-height",
|
|
68
68
|
`${this.refHeaderElement.clientHeight}px`
|
|
69
69
|
);
|
|
70
70
|
} else {
|
|
71
|
-
document.documentElement.style.removeProperty("--sd-1-
|
|
71
|
+
document.documentElement.style.removeProperty("--sd-1-37-0-header-calculated-height");
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
render() {
|
|
@@ -85,7 +85,7 @@ let SdHeader = class extends SolidElement {
|
|
|
85
85
|
SdHeader.styles = [
|
|
86
86
|
SolidElement.styles,
|
|
87
87
|
componentStyles,
|
|
88
|
-
css`:host{display:block}:host([fixed]){position:fixed;left:var(--sd-spacing-0,0);top:var(--sd-spacing-0,0);width:100%}:host([fixed]) header::after{content:'';position:absolute;left:var(--sd-spacing-0,0);right:var(--sd-spacing-0,0);top:100%;height:var(--sd-spacing-2,.5rem);background:var(--gradient-vertical-black-40-transparent,linear-gradient(0deg,#18181800 50%,#18181866 100%))}[part=main]{width:var(--sd-1-
|
|
88
|
+
css`:host{display:block}:host([fixed]){position:fixed;left:var(--sd-spacing-0,0);top:var(--sd-spacing-0,0);width:100%}:host([fixed]) header::after{content:'';position:absolute;left:var(--sd-spacing-0,0);right:var(--sd-spacing-0,0);top:100%;height:var(--sd-spacing-2,.5rem);background:var(--gradient-vertical-black-40-transparent,linear-gradient(0deg,#18181800 50%,#18181866 100%))}[part=main]{width:var(--sd-1-37-0-header-inner-width);max-width:var(--sd-1-37-0-header-inner-max-width);padding:var(--sd-1-37-0-header-padding,12px 16px)}`
|
|
89
89
|
];
|
|
90
90
|
__decorateClass([
|
|
91
91
|
property({ reflect: true, type: Boolean })
|
|
@@ -94,7 +94,7 @@ __decorateClass([
|
|
|
94
94
|
debounce(100)
|
|
95
95
|
], SdHeader.prototype, "onResize", 1);
|
|
96
96
|
SdHeader = __decorateClass([
|
|
97
|
-
customElement("sd-1-
|
|
97
|
+
customElement("sd-1-37-0-header")
|
|
98
98
|
], SdHeader);
|
|
99
99
|
export {
|
|
100
100
|
SdHeader as default
|
|
@@ -7,7 +7,10 @@ export default class SdInput extends SolidElement implements SolidFormControl {
|
|
|
7
7
|
private readonly hasSlotController;
|
|
8
8
|
private readonly localize;
|
|
9
9
|
input: HTMLInputElement;
|
|
10
|
+
invalidMessage: HTMLDivElement;
|
|
10
11
|
private hasFocus;
|
|
12
|
+
showValidStyle: boolean;
|
|
13
|
+
showInvalidStyle: boolean;
|
|
11
14
|
type: 'date' | 'datetime-local' | 'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'time' | 'url';
|
|
12
15
|
size: 'lg' | 'md' | 'sm';
|
|
13
16
|
inputmode: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
|
|
@@ -71,6 +74,6 @@ export default class SdInput extends SolidElement implements SolidFormControl {
|
|
|
71
74
|
}
|
|
72
75
|
declare global {
|
|
73
76
|
interface HTMLElementTagNameMap {
|
|
74
|
-
'sd-1-
|
|
77
|
+
'sd-1-37-0-input': SdInput;
|
|
75
78
|
}
|
|
76
79
|
}
|