@solid-design-system/components 1.16.0 → 1.18.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/accordion-group.js +1 -1
- package/dist/components/es/accordion.js +1 -1
- package/dist/components/es/animation-registry.js +1 -0
- package/dist/components/es/autoplay-controller.js +1 -0
- package/dist/components/es/carousel-item.js +1 -0
- package/dist/components/es/carousel.js +11 -0
- package/dist/components/es/drawer.js +1 -1
- package/dist/components/es/dropdown.js +1 -1
- package/dist/components/es/event.js +1 -1
- package/dist/components/es/scroll-controller.js +1 -0
- package/dist/components/es/solid-components2.js +1 -1
- package/dist/components/es/solid-element.js +1 -1
- package/dist/components/umd/solid-components.js +26 -16
- package/dist/custom-elements.json +1 -1
- package/dist/package/components/carousel/autoplay-controller.d.ts +18 -0
- package/dist/package/components/carousel/autoplay-controller.js +65 -0
- package/dist/package/components/carousel/carousel.d.ts +46 -0
- package/dist/package/components/carousel/carousel.js +366 -0
- package/dist/package/components/carousel/scroll-controller.d.ts +25 -0
- package/dist/package/components/carousel/scroll-controller.js +141 -0
- package/dist/package/components/carousel-item/carousel-item.d.ts +12 -0
- package/dist/package/components/carousel-item/carousel-item.js +37 -0
- package/dist/package/components/icon/library.system.d.ts +2 -0
- package/dist/package/components/icon/library.system.js +9 -1
- package/dist/package/internal/debounce.d.ts +1 -0
- package/dist/package/internal/debounce.js +15 -0
- package/dist/package/internal/math.d.ts +1 -0
- package/dist/package/internal/math.js +13 -0
- package/dist/package/solid-components.d.ts +2 -0
- package/dist/package/solid-components.js +26 -22
- package/dist/package/styles/interactive/interactive.css.js +4 -0
- package/dist/package/styles/tailwind.css.js +1 -1
- package/dist/package/translations/en.js +6 -1
- package/dist/package/utilities/localize.d.ts +6 -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/animation-registry.js +1 -0
- package/dist/versioned-components/es/autoplay-controller.js +1 -0
- 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 -0
- package/dist/versioned-components/es/carousel.js +11 -0
- 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/event.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/link.js +1 -1
- package/dist/versioned-components/es/navigation-item.js +1 -1
- package/dist/versioned-components/es/popup.js +1 -1
- package/dist/versioned-components/es/scroll-controller.js +1 -0
- 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/tag.js +1 -1
- package/dist/versioned-components/es/teaser.js +1 -1
- 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/autoplay-controller.d.ts +18 -0
- package/dist/versioned-package/components/carousel/autoplay-controller.js +65 -0
- package/dist/versioned-package/components/carousel/carousel.d.ts +46 -0
- package/dist/versioned-package/components/carousel/carousel.js +366 -0
- package/dist/versioned-package/components/carousel/scroll-controller.d.ts +25 -0
- package/dist/versioned-package/components/carousel/scroll-controller.js +141 -0
- package/dist/versioned-package/components/carousel-item/carousel-item.d.ts +12 -0
- package/dist/versioned-package/components/carousel-item/carousel-item.js +37 -0
- 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 +6 -6
- 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/icon/library.system.d.ts +2 -0
- package/dist/versioned-package/components/icon/library.system.js +9 -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/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/popup/popup.d.ts +1 -1
- package/dist/versioned-package/components/popup/popup.js +1 -1
- 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/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/internal/debounce.d.ts +1 -0
- package/dist/versioned-package/internal/debounce.js +15 -0
- package/dist/versioned-package/internal/form.js +1 -1
- package/dist/versioned-package/internal/math.d.ts +1 -0
- package/dist/versioned-package/internal/math.js +13 -0
- package/dist/versioned-package/solid-components.d.ts +2 -0
- package/dist/versioned-package/solid-components.js +26 -22
- package/dist/versioned-package/styles/interactive/interactive.css.js +4 -0
- package/dist/versioned-package/styles/tailwind.css.js +1 -1
- package/dist/versioned-package/translations/en.js +6 -1
- package/dist/versioned-package/utilities/localize.d.ts +6 -1
- package/dist/versioned-styles/solid-styles.css +1 -1
- package/dist/vscode.html-custom-data.json +116 -16
- package/dist/web-types.json +621 -17
- package/package.json +3 -3
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { debounce } from "../../internal/debounce.js";
|
|
2
|
+
import { prefersReducedMotion } from "../../internal/animate.js";
|
|
3
|
+
import { waitForEvent } from "../../internal/event.js";
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
7
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
8
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
9
|
+
if (decorator = decorators[i])
|
|
10
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
11
|
+
if (kind && result)
|
|
12
|
+
__defProp(target, key, result);
|
|
13
|
+
return result;
|
|
14
|
+
};
|
|
15
|
+
class ScrollController {
|
|
16
|
+
constructor(host) {
|
|
17
|
+
this.pointers = /* @__PURE__ */ new Set();
|
|
18
|
+
this.dragging = false;
|
|
19
|
+
this.scrolling = false;
|
|
20
|
+
this.mouseDragging = false;
|
|
21
|
+
this.handleScroll = () => {
|
|
22
|
+
if (!this.scrolling) {
|
|
23
|
+
this.scrolling = true;
|
|
24
|
+
this.host.requestUpdate();
|
|
25
|
+
}
|
|
26
|
+
this.handleScrollEnd();
|
|
27
|
+
};
|
|
28
|
+
this.handlePointerDown = (event) => {
|
|
29
|
+
if (event.pointerType === "touch") {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
this.pointers.add(event.pointerId);
|
|
33
|
+
const canDrag = this.mouseDragging && !this.dragging && event.button === 0;
|
|
34
|
+
if (canDrag) {
|
|
35
|
+
event.preventDefault();
|
|
36
|
+
this.host.scrollContainer.addEventListener("pointermove", this.handlePointerMove);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
this.handlePointerMove = (event) => {
|
|
40
|
+
const scrollContainer = this.host.scrollContainer;
|
|
41
|
+
const hasMoved = !!event.movementX || !!event.movementY;
|
|
42
|
+
if (!this.dragging && hasMoved) {
|
|
43
|
+
scrollContainer.setPointerCapture(event.pointerId);
|
|
44
|
+
this.handleDragStart();
|
|
45
|
+
} else if (scrollContainer.hasPointerCapture(event.pointerId)) {
|
|
46
|
+
this.handleDrag(event);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
this.handlePointerUp = (event) => {
|
|
50
|
+
this.pointers.delete(event.pointerId);
|
|
51
|
+
this.host.scrollContainer.releasePointerCapture(event.pointerId);
|
|
52
|
+
if (this.pointers.size === 0) {
|
|
53
|
+
this.handleDragEnd();
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
this.handleTouchEnd = (event) => {
|
|
57
|
+
for (const touch of event.changedTouches) {
|
|
58
|
+
this.pointers.delete(touch.identifier);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
this.handleTouchStart = (event) => {
|
|
62
|
+
for (const touch of event.touches) {
|
|
63
|
+
this.pointers.add(touch.identifier);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
this.host = host;
|
|
67
|
+
host.addController(this);
|
|
68
|
+
}
|
|
69
|
+
async hostConnected() {
|
|
70
|
+
const host = this.host;
|
|
71
|
+
await host.updateComplete;
|
|
72
|
+
const scrollContainer = host.scrollContainer;
|
|
73
|
+
scrollContainer.addEventListener("scroll", this.handleScroll, { passive: true });
|
|
74
|
+
scrollContainer.addEventListener("pointerdown", this.handlePointerDown);
|
|
75
|
+
scrollContainer.addEventListener("pointerup", this.handlePointerUp);
|
|
76
|
+
scrollContainer.addEventListener("pointercancel", this.handlePointerUp);
|
|
77
|
+
scrollContainer.addEventListener("touchstart", this.handleTouchStart, { passive: true });
|
|
78
|
+
scrollContainer.addEventListener("touchend", this.handleTouchEnd);
|
|
79
|
+
}
|
|
80
|
+
hostDisconnected() {
|
|
81
|
+
const host = this.host;
|
|
82
|
+
const scrollContainer = host.scrollContainer;
|
|
83
|
+
scrollContainer.removeEventListener("scroll", this.handleScroll);
|
|
84
|
+
scrollContainer.removeEventListener("pointerdown", this.handlePointerDown);
|
|
85
|
+
scrollContainer.removeEventListener("pointerup", this.handlePointerUp);
|
|
86
|
+
scrollContainer.removeEventListener("pointercancel", this.handlePointerUp);
|
|
87
|
+
scrollContainer.removeEventListener("touchstart", this.handleTouchStart);
|
|
88
|
+
scrollContainer.removeEventListener("touchend", this.handleTouchEnd);
|
|
89
|
+
}
|
|
90
|
+
handleScrollEnd() {
|
|
91
|
+
if (!this.pointers.size) {
|
|
92
|
+
this.scrolling = false;
|
|
93
|
+
this.host.scrollContainer.dispatchEvent(
|
|
94
|
+
new CustomEvent("scrollend", {
|
|
95
|
+
bubbles: false,
|
|
96
|
+
cancelable: false
|
|
97
|
+
})
|
|
98
|
+
);
|
|
99
|
+
this.host.requestUpdate();
|
|
100
|
+
} else {
|
|
101
|
+
this.handleScrollEnd();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
handleDragStart() {
|
|
105
|
+
const host = this.host;
|
|
106
|
+
this.dragging = true;
|
|
107
|
+
host.scrollContainer.style.setProperty("scroll-snap-type", "unset");
|
|
108
|
+
host.requestUpdate();
|
|
109
|
+
}
|
|
110
|
+
handleDrag(event) {
|
|
111
|
+
this.host.scrollContainer.scrollBy({
|
|
112
|
+
left: -event.movementX,
|
|
113
|
+
top: -event.movementY
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
async handleDragEnd() {
|
|
117
|
+
const host = this.host;
|
|
118
|
+
const scrollContainer = host.scrollContainer;
|
|
119
|
+
scrollContainer.removeEventListener("pointermove", this.handlePointerMove);
|
|
120
|
+
this.dragging = false;
|
|
121
|
+
const startLeft = scrollContainer.scrollLeft;
|
|
122
|
+
const startTop = scrollContainer.scrollTop;
|
|
123
|
+
scrollContainer.style.removeProperty("scroll-snap-type");
|
|
124
|
+
const finalLeft = scrollContainer.scrollLeft;
|
|
125
|
+
const finalTop = scrollContainer.scrollTop;
|
|
126
|
+
scrollContainer.style.setProperty("scroll-snap-type", "unset");
|
|
127
|
+
scrollContainer.scrollTo({ left: startLeft, top: startTop, behavior: "auto" });
|
|
128
|
+
scrollContainer.scrollTo({ left: finalLeft, top: finalTop, behavior: prefersReducedMotion() ? "auto" : "smooth" });
|
|
129
|
+
if (this.scrolling) {
|
|
130
|
+
await waitForEvent(scrollContainer, "scrollend");
|
|
131
|
+
}
|
|
132
|
+
scrollContainer.style.removeProperty("scroll-snap-type");
|
|
133
|
+
host.requestUpdate();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
__decorateClass([
|
|
137
|
+
debounce(100)
|
|
138
|
+
], ScrollController.prototype, "handleScrollEnd", 1);
|
|
139
|
+
export {
|
|
140
|
+
ScrollController
|
|
141
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import SolidElement from '../../internal/solid-element.js';
|
|
2
|
+
export default class SdCarouselItem extends SolidElement {
|
|
3
|
+
static isCarouselItem(node: Node): boolean;
|
|
4
|
+
connectedCallback(): void;
|
|
5
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
6
|
+
static styles: import("lit").CSSResultGroup[];
|
|
7
|
+
}
|
|
8
|
+
declare global {
|
|
9
|
+
interface HTMLElementTagNameMap {
|
|
10
|
+
'sd-1-18-0-carousel-item': SdCarouselItem;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { css, html } from "lit";
|
|
2
|
+
import { customElement } from "../../internal/register-custom-element.js";
|
|
3
|
+
import componentStyles from "../../styles/component.styles.js";
|
|
4
|
+
import SolidElement from "../../internal/solid-element.js";
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
8
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
9
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
10
|
+
if (decorator = decorators[i])
|
|
11
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
12
|
+
if (kind && result)
|
|
13
|
+
__defProp(target, key, result);
|
|
14
|
+
return result;
|
|
15
|
+
};
|
|
16
|
+
let SdCarouselItem = class extends SolidElement {
|
|
17
|
+
static isCarouselItem(node) {
|
|
18
|
+
return node instanceof Element && node.getAttribute("aria-roledescription") === "slide";
|
|
19
|
+
}
|
|
20
|
+
connectedCallback() {
|
|
21
|
+
super.connectedCallback();
|
|
22
|
+
this.setAttribute("role", "group");
|
|
23
|
+
}
|
|
24
|
+
render() {
|
|
25
|
+
return html`<slot></slot>`;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
SdCarouselItem.styles = [
|
|
29
|
+
SolidElement.styles,
|
|
30
|
+
css`${componentStyles}:host{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;height:100%;aspect-ratio:var(--aspect-ratio);scroll-snap-align:start;scroll-snap-stop:always}::slotted(img){width:100%;height:100%;object-fit:cover}`
|
|
31
|
+
];
|
|
32
|
+
SdCarouselItem = __decorateClass([
|
|
33
|
+
customElement("sd-1-18-0-carousel-item")
|
|
34
|
+
], SdCarouselItem);
|
|
35
|
+
export {
|
|
36
|
+
SdCarouselItem as default
|
|
37
|
+
};
|
|
@@ -35,7 +35,7 @@ let SdDivider = class extends SolidElement {
|
|
|
35
35
|
SdDivider.styles = [
|
|
36
36
|
componentStyles,
|
|
37
37
|
SolidElement.styles,
|
|
38
|
-
css`:host{margin:0}:host(sd-1-
|
|
38
|
+
css`:host{margin:0}:host(sd-1-18-0-divider[orientation=horizontal]){display:block}:host(sd-1-18-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-18-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-18-0-button variant="tertiary" size="lg" part="close-button" @click="${() => this.requestClose("close-button")}"><sd-1-18-0-icon name="close" library="system"></sd-1-18-0-icon></sd-1-18-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 = [
|
|
@@ -221,7 +221,7 @@ __decorateClass([
|
|
|
221
221
|
watch("contained", { waitUntilFirstUpdate: true })
|
|
222
222
|
], SdDrawer.prototype, "handleNoModalChange", 1);
|
|
223
223
|
SdDrawer = __decorateClass([
|
|
224
|
-
customElement("sd-1-
|
|
224
|
+
customElement("sd-1-18-0-drawer")
|
|
225
225
|
], SdDrawer);
|
|
226
226
|
setDefaultAnimation("drawer.showStart", {
|
|
227
227
|
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-18-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-18-0-button":
|
|
184
|
+
case "sd-1-18-0-icon-button":
|
|
185
185
|
target = accessibleTrigger.button;
|
|
186
186
|
break;
|
|
187
187
|
default:
|
|
@@ -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-18-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-18-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-18-0-dropdown")
|
|
319
319
|
], SdDropdown);
|
|
320
320
|
setDefaultAnimation("dropdown.show", {
|
|
321
321
|
keyframes: [
|
|
@@ -13,7 +13,15 @@ const icons = {
|
|
|
13
13
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
14
14
|
<path d="M21.707 2.293a1 1 0 0 0-1.414 0L12 10.586 3.707 2.293a1 1 0 0 0-1.413 1.414l-.001-.001 8.293 8.293-8.293 8.293a1 1 0 0 0 0 1.414 1 1 0 0 0 1.414 0L12 13.413l8.293 8.293a1 1 0 0 0 1.414 0 1 1 0 0 0 0-1.414l-8.293-8.293 8.293-8.293a1 1 0 0 0 0-1.414z"/></svg>
|
|
15
15
|
</svg>
|
|
16
|
-
|
|
16
|
+
`,
|
|
17
|
+
start: `
|
|
18
|
+
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m19.54 11.16-14-9c-.153-.099-.339-.158-.54-.158-.552 0-.999.447-1 .998v18c0 .552.448 1 1 1 .201-.001.387-.06.544-.162l-.004.002 14-9c.271-.182.447-.487.447-.833s-.176-.652-.444-.831l-.004-.002zm-13.54 8.007v-14.333l11.15 7.167z"/></svg>
|
|
19
|
+
`,
|
|
20
|
+
pause: `
|
|
21
|
+
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
22
|
+
<path d="M9 22a.99997.99997 0 0 0 1-1V3a1.00003 1.00003 0 0 0-1-1H5a1.00003 1.00003 0 0 0-1 1v18a.99997.99997 0 0 0 1 1h4ZM6 4h2v16H6V4ZM19 22c.2652 0 .5196-.1054.7071-.2929A1.0001 1.0001 0 0 0 20 21V3a.99997.99997 0 0 0-1-1h-4a.99997.99997 0 0 0-1 1v18c0 .2652.1054.5196.2929.7071S14.7348 22 15 22h4ZM16 4h2v16h-2V4Z"/>
|
|
23
|
+
</svg>
|
|
24
|
+
`
|
|
17
25
|
};
|
|
18
26
|
const systemLibrary = {
|
|
19
27
|
name: "system",
|
|
@@ -77,7 +77,7 @@ let SdLink = class extends SolidElement {
|
|
|
77
77
|
};
|
|
78
78
|
SdLink.styles = [
|
|
79
79
|
SolidElement.styles,
|
|
80
|
-
css`::slotted(sd-1-
|
|
80
|
+
css`::slotted(sd-1-18-0-icon){font-size:1.25em;margin-bottom:-.25em}:host([size=sm][standalone]) ::slotted(sd-1-18-0-icon){font-size:1rem}:host([size=lg][standalone]) ::slotted(sd-1-18-0-icon){font-size:1.5rem}`
|
|
81
81
|
];
|
|
82
82
|
__decorateClass([
|
|
83
83
|
query("a")
|
|
@@ -101,7 +101,7 @@ __decorateClass([
|
|
|
101
101
|
property()
|
|
102
102
|
], SdLink.prototype, "download", 2);
|
|
103
103
|
SdLink = __decorateClass([
|
|
104
|
-
customElement("sd-1-
|
|
104
|
+
customElement("sd-1-18-0-link")
|
|
105
105
|
], SdLink);
|
|
106
106
|
export {
|
|
107
107
|
SdLink as default
|
|
@@ -105,10 +105,10 @@ let SdNavigationItem = class extends SolidElement {
|
|
|
105
105
|
isAccordion ? "grow" : "w-full",
|
|
106
106
|
slots["description"] ? "pb-1" : horizontalPaddingBottom,
|
|
107
107
|
this.calculatePaddingX()
|
|
108
|
-
)}">${this.divider && this.vertical ? html`<sd-1-
|
|
108
|
+
)}">${this.divider && this.vertical ? html`<sd-1-18-0-divider part="divider" class="${cx("w-full transition-all absolute -top-[1px] left-0", this.calculatePaddingX())}"></sd-1-18-0-divider>` : ""} <span class="inline-flex items-center flex-auto"><slot part="content" class="inline"></slot></span>${(this.chevron || slots["children"]) && this.vertical ? html`<sd-1-18-0-icon name="chevron-down" part="chevron" library="system" color="currentColor" class="${cx(
|
|
109
109
|
"h-6 w-6 ml-2 transition-all",
|
|
110
110
|
isAccordion ? this.open ? "rotate-180" : "rotate-0" : "rotate-[270deg]"
|
|
111
|
-
)}"></sd-1-
|
|
111
|
+
)}"></sd-1-18-0-icon>` : ""} </span>${slots["description"] && this.vertical ? html`<slot name="description" part="description" class="${cx(
|
|
112
112
|
"inline-block text-sm text-left text-black",
|
|
113
113
|
isAccordion ? "grow" : "w-full",
|
|
114
114
|
horizontalPaddingBottom,
|
|
@@ -159,7 +159,7 @@ __decorateClass([
|
|
|
159
159
|
property({ type: Boolean, reflect: true })
|
|
160
160
|
], SdNavigationItem.prototype, "open", 2);
|
|
161
161
|
SdNavigationItem = __decorateClass([
|
|
162
|
-
customElement("sd-1-
|
|
162
|
+
customElement("sd-1-18-0-navigation-item")
|
|
163
163
|
], SdNavigationItem);
|
|
164
164
|
export {
|
|
165
165
|
SdNavigationItem as default
|
|
@@ -312,7 +312,7 @@ __decorateClass([
|
|
|
312
312
|
property({ attribute: "auto-size-padding", type: Number })
|
|
313
313
|
], SdPopup.prototype, "autoSizePadding", 2);
|
|
314
314
|
SdPopup = __decorateClass([
|
|
315
|
-
customElement("sd-1-
|
|
315
|
+
customElement("sd-1-18-0-popup")
|
|
316
316
|
], SdPopup);
|
|
317
317
|
export {
|
|
318
318
|
SdPopup as default
|
|
@@ -72,7 +72,7 @@ let SdTag = class extends SolidElement {
|
|
|
72
72
|
lg: "text-base",
|
|
73
73
|
sm: "text-[12px]"
|
|
74
74
|
}[this.size]
|
|
75
|
-
)}"><sd-1-
|
|
75
|
+
)}"><sd-1-18-0-icon library="system" name="close" label="remove"></sd-1-18-0-icon></slot></${tag}>`;
|
|
76
76
|
}
|
|
77
77
|
};
|
|
78
78
|
SdTag.styles = [
|
|
@@ -104,7 +104,7 @@ __decorateClass([
|
|
|
104
104
|
property()
|
|
105
105
|
], SdTag.prototype, "download", 2);
|
|
106
106
|
SdTag = __decorateClass([
|
|
107
|
-
customElement("sd-1-
|
|
107
|
+
customElement("sd-1-18-0-tag")
|
|
108
108
|
], SdTag);
|
|
109
109
|
export {
|
|
110
110
|
SdTag as default
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const debounce: (delay: number) => <T>(_target: T, _propertyKey: string, descriptor: PropertyDescriptor) => void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const TIMER_ID_KEY = Symbol();
|
|
2
|
+
const debounce = (delay) => {
|
|
3
|
+
return (_target, _propertyKey, descriptor) => {
|
|
4
|
+
const fn = descriptor.value;
|
|
5
|
+
descriptor.value = function(...args) {
|
|
6
|
+
clearTimeout(this[TIMER_ID_KEY]);
|
|
7
|
+
this[TIMER_ID_KEY] = window.setTimeout(() => {
|
|
8
|
+
fn.apply(this, args);
|
|
9
|
+
}, delay);
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
debounce
|
|
15
|
+
};
|
|
@@ -90,7 +90,7 @@ class FormControlController {
|
|
|
90
90
|
const disabled = this.options.disabled(this.host);
|
|
91
91
|
const name = this.options.name(this.host);
|
|
92
92
|
const value = this.options.value(this.host);
|
|
93
|
-
const isButton = this.host.tagName.toLowerCase() === "sd-1-
|
|
93
|
+
const isButton = this.host.tagName.toLowerCase() === "sd-1-18-0-button";
|
|
94
94
|
if (!disabled && !isButton && typeof name === "string" && name.length > 0 && typeof value !== "undefined") {
|
|
95
95
|
if (Array.isArray(value)) {
|
|
96
96
|
value.forEach((val) => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function clamp(value: number, min: number, max: number): number;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
function clamp(value, min, max) {
|
|
2
|
+
const noNegativeZero = (n) => Object.is(n, -0) ? 0 : n;
|
|
3
|
+
if (value < min) {
|
|
4
|
+
return noNegativeZero(min);
|
|
5
|
+
}
|
|
6
|
+
if (value > max) {
|
|
7
|
+
return noNegativeZero(max);
|
|
8
|
+
}
|
|
9
|
+
return noNegativeZero(value);
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
clamp
|
|
13
|
+
};
|
|
@@ -3,6 +3,8 @@ export { default as SdAccordionGroup } from './components/accordion-group/accord
|
|
|
3
3
|
export { default as SdBadge } from './components/badge/badge';
|
|
4
4
|
export { default as SdBrandshape } from './components/brandshape/brandshape';
|
|
5
5
|
export { default as SdButton } from './components/button/button';
|
|
6
|
+
export { default as SdCarousel } from './components/carousel/carousel';
|
|
7
|
+
export { default as SdCarouselItem } from './components/carousel-item/carousel-item';
|
|
6
8
|
export { default as SdDivider } from './components/divider/divider';
|
|
7
9
|
export { default as SdDrawer } from './components/drawer/drawer';
|
|
8
10
|
export { default as SdDropdown } from './components/dropdown/dropdown';
|
|
@@ -3,17 +3,19 @@ import { default as default3 } from "./components/accordion-group/accordion-grou
|
|
|
3
3
|
import { default as default4 } from "./components/badge/badge.js";
|
|
4
4
|
import { default as default5 } from "./components/brandshape/brandshape.js";
|
|
5
5
|
import { default as default6 } from "./components/button/button.js";
|
|
6
|
-
import { default as default7 } from "./components/
|
|
7
|
-
import { default as default8 } from "./components/
|
|
8
|
-
import { default as default9 } from "./components/
|
|
9
|
-
import { default as default10 } from "./components/
|
|
10
|
-
import { default as default11 } from "./components/
|
|
11
|
-
import { default as default12 } from "./components/
|
|
12
|
-
import { default as default13 } from "./components/
|
|
13
|
-
import { default as default14 } from "./components/
|
|
14
|
-
import { default as default15 } from "./components/
|
|
15
|
-
import { default as default16 } from "./components/
|
|
16
|
-
import { default as default17 } from "./components/
|
|
6
|
+
import { default as default7 } from "./components/carousel/carousel.js";
|
|
7
|
+
import { default as default8 } from "./components/carousel-item/carousel-item.js";
|
|
8
|
+
import { default as default9 } from "./components/divider/divider.js";
|
|
9
|
+
import { default as default10 } from "./components/drawer/drawer.js";
|
|
10
|
+
import { default as default11 } from "./components/dropdown/dropdown.js";
|
|
11
|
+
import { default as default12 } from "./components/icon/icon.js";
|
|
12
|
+
import { default as default13 } from "./components/include/include.js";
|
|
13
|
+
import { default as default14 } from "./components/link/link.js";
|
|
14
|
+
import { default as default15 } from "./components/navigation-item/navigation-item.js";
|
|
15
|
+
import { default as default16 } from "./components/popup/popup.js";
|
|
16
|
+
import { default as default17 } from "./components/spinner/spinner.js";
|
|
17
|
+
import { default as default18 } from "./components/tag/tag.js";
|
|
18
|
+
import { default as default19 } from "./components/teaser/teaser.js";
|
|
17
19
|
import { registerIconLibrary, unregisterIconLibrary } from "./components/icon/library.js";
|
|
18
20
|
import { LocalizeController } from "./utilities/localize.js";
|
|
19
21
|
export {
|
|
@@ -23,17 +25,19 @@ export {
|
|
|
23
25
|
default4 as SdBadge,
|
|
24
26
|
default5 as SdBrandshape,
|
|
25
27
|
default6 as SdButton,
|
|
26
|
-
default7 as
|
|
27
|
-
default8 as
|
|
28
|
-
default9 as
|
|
29
|
-
default10 as
|
|
30
|
-
default11 as
|
|
31
|
-
default12 as
|
|
32
|
-
default13 as
|
|
33
|
-
default14 as
|
|
34
|
-
default15 as
|
|
35
|
-
default16 as
|
|
36
|
-
default17 as
|
|
28
|
+
default7 as SdCarousel,
|
|
29
|
+
default8 as SdCarouselItem,
|
|
30
|
+
default9 as SdDivider,
|
|
31
|
+
default10 as SdDrawer,
|
|
32
|
+
default11 as SdDropdown,
|
|
33
|
+
default12 as SdIcon,
|
|
34
|
+
default13 as SdInclude,
|
|
35
|
+
default14 as SdLink,
|
|
36
|
+
default15 as SdNavigationItem,
|
|
37
|
+
default16 as SdPopup,
|
|
38
|
+
default17 as SdSpinner,
|
|
39
|
+
default18 as SdTag,
|
|
40
|
+
default19 as SdTeaser,
|
|
37
41
|
registerIconLibrary,
|
|
38
42
|
unregisterIconLibrary
|
|
39
43
|
};
|