@getflip/swirl-components 0.80.0 → 0.81.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/components.json +724 -82
- package/dist/cjs/index-506fe4ea.js +36 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/swirl-button.cjs.entry.js +1 -1
- package/dist/cjs/swirl-chip.cjs.entry.js +10 -4
- package/dist/cjs/swirl-components.cjs.js +1 -1
- package/dist/cjs/swirl-icon-arrow-left_4.cjs.entry.js +12 -3
- package/dist/cjs/swirl-icon-format-h-one.cjs.entry.js +23 -0
- package/dist/cjs/swirl-icon-mic.cjs.entry.js +23 -0
- package/dist/cjs/swirl-icon-open-in-full.cjs.entry.js +23 -0
- package/dist/cjs/swirl-icon-pause-circle.cjs.entry.js +23 -0
- package/dist/cjs/swirl-icon-pause.cjs.entry.js +23 -0
- package/dist/cjs/swirl-icon-reply.cjs.entry.js +1 -1
- package/dist/cjs/swirl-icon-report.cjs.entry.js +23 -0
- package/dist/cjs/swirl-icon-stop.cjs.entry.js +23 -0
- package/dist/cjs/swirl-icon-translate.cjs.entry.js +23 -0
- package/dist/cjs/swirl-modal.cjs.entry.js +2 -1
- package/dist/collection/collection-manifest.json +8 -0
- package/dist/collection/components/swirl-button/swirl-button.css +20 -8
- package/dist/collection/components/swirl-button/swirl-button.js +1 -1
- package/dist/collection/components/swirl-chip/swirl-chip.css +68 -13
- package/dist/collection/components/swirl-chip/swirl-chip.js +90 -3
- package/dist/collection/components/swirl-chip/swirl-chip.spec.js +11 -7
- package/dist/collection/components/swirl-icon/icons/swirl-icon-format-h-one.js +52 -0
- package/dist/collection/components/swirl-icon/icons/swirl-icon-mic.js +52 -0
- package/dist/collection/components/swirl-icon/icons/swirl-icon-open-in-full.js +52 -0
- package/dist/collection/components/swirl-icon/icons/swirl-icon-pause-circle.js +52 -0
- package/dist/collection/components/swirl-icon/icons/swirl-icon-pause.js +52 -0
- package/dist/collection/components/swirl-icon/icons/swirl-icon-reply.js +1 -1
- package/dist/collection/components/swirl-icon/icons/swirl-icon-report.js +52 -0
- package/dist/collection/components/swirl-icon/icons/swirl-icon-stop.js +52 -0
- package/dist/collection/components/swirl-icon/icons/swirl-icon-translate.js +52 -0
- package/dist/collection/components/swirl-menu-item/swirl-menu-item.spec.js +2 -2
- package/dist/collection/components/swirl-modal/swirl-modal.js +19 -1
- package/dist/collection/components/swirl-thumbnail/swirl-thumbnail.css +52 -0
- package/dist/collection/components/swirl-thumbnail/swirl-thumbnail.js +100 -4
- package/dist/collection/components/swirl-thumbnail/swirl-thumbnail.spec.js +22 -1
- package/dist/collection/components/swirl-thumbnail/swirl-thumbnail.stories.js +8 -0
- package/dist/components/swirl-button2.js +1 -1
- package/dist/components/swirl-chip.js +22 -6
- package/dist/components/swirl-icon-format-h-one.d.ts +11 -0
- package/dist/components/swirl-icon-format-h-one.js +40 -0
- package/dist/components/swirl-icon-mic.d.ts +11 -0
- package/dist/components/swirl-icon-mic.js +40 -0
- package/dist/components/swirl-icon-open-in-full.d.ts +11 -0
- package/dist/components/swirl-icon-open-in-full.js +40 -0
- package/dist/components/swirl-icon-pause-circle.d.ts +11 -0
- package/dist/components/swirl-icon-pause-circle.js +40 -0
- package/dist/components/swirl-icon-pause.d.ts +11 -0
- package/dist/components/swirl-icon-pause.js +40 -0
- package/dist/components/swirl-icon-reply.js +1 -1
- package/dist/components/swirl-icon-report.d.ts +11 -0
- package/dist/components/swirl-icon-report.js +40 -0
- package/dist/components/swirl-icon-stop.d.ts +11 -0
- package/dist/components/swirl-icon-stop.js +40 -0
- package/dist/components/swirl-icon-translate.d.ts +11 -0
- package/dist/components/swirl-icon-translate.js +40 -0
- package/dist/components/swirl-lightbox.js +28 -16
- package/dist/components/swirl-modal.js +3 -1
- package/dist/components/swirl-progress-indicator.js +1 -44
- package/dist/components/swirl-progress-indicator2.js +46 -0
- package/dist/components/swirl-thumbnail2.js +31 -5
- package/dist/esm/index-99d0060d.js +36 -4
- package/dist/esm/loader.js +1 -1
- package/dist/esm/swirl-button.entry.js +1 -1
- package/dist/esm/swirl-chip.entry.js +10 -4
- package/dist/esm/swirl-components.js +1 -1
- package/dist/esm/swirl-icon-arrow-left_4.entry.js +12 -3
- package/dist/esm/swirl-icon-format-h-one.entry.js +19 -0
- package/dist/esm/swirl-icon-mic.entry.js +19 -0
- package/dist/esm/swirl-icon-open-in-full.entry.js +19 -0
- package/dist/esm/swirl-icon-pause-circle.entry.js +19 -0
- package/dist/esm/swirl-icon-pause.entry.js +19 -0
- package/dist/esm/swirl-icon-reply.entry.js +1 -1
- package/dist/esm/swirl-icon-report.entry.js +19 -0
- package/dist/esm/swirl-icon-stop.entry.js +19 -0
- package/dist/esm/swirl-icon-translate.entry.js +19 -0
- package/dist/esm/swirl-modal.entry.js +2 -1
- package/dist/swirl-components/p-006b10e2.entry.js +1 -0
- package/dist/swirl-components/{p-7c2e9a36.entry.js → p-198f5db0.entry.js} +1 -1
- package/dist/swirl-components/p-21164ff1.entry.js +1 -0
- package/dist/swirl-components/p-29d32e39.entry.js +1 -0
- package/dist/swirl-components/p-3056c429.entry.js +1 -0
- package/dist/swirl-components/p-40afc2c1.entry.js +1 -0
- package/dist/swirl-components/p-4d89e91b.entry.js +1 -0
- package/dist/swirl-components/p-57b8a4b5.entry.js +1 -0
- package/dist/swirl-components/p-91113cd1.entry.js +1 -0
- package/dist/swirl-components/p-a506a82f.entry.js +1 -0
- package/dist/swirl-components/p-a7568135.entry.js +10 -0
- package/dist/swirl-components/p-af180d4d.entry.js +1 -0
- package/dist/swirl-components/p-d2845730.entry.js +1 -0
- package/dist/swirl-components/swirl-components.esm.js +1 -1
- package/dist/types/components/swirl-button/swirl-button.d.ts +1 -1
- package/dist/types/components/swirl-chip/swirl-chip.d.ts +6 -0
- package/dist/types/components/swirl-icon/icons/swirl-icon-format-h-one.d.ts +5 -0
- package/dist/types/components/swirl-icon/icons/swirl-icon-mic.d.ts +5 -0
- package/dist/types/components/swirl-icon/icons/swirl-icon-open-in-full.d.ts +5 -0
- package/dist/types/components/swirl-icon/icons/swirl-icon-pause-circle.d.ts +5 -0
- package/dist/types/components/swirl-icon/icons/swirl-icon-pause.d.ts +5 -0
- package/dist/types/components/swirl-icon/icons/swirl-icon-report.d.ts +5 -0
- package/dist/types/components/swirl-icon/icons/swirl-icon-stop.d.ts +5 -0
- package/dist/types/components/swirl-icon/icons/swirl-icon-translate.d.ts +5 -0
- package/dist/types/components/swirl-modal/swirl-modal.d.ts +1 -0
- package/dist/types/components/swirl-thumbnail/swirl-thumbnail.d.ts +7 -2
- package/dist/types/components/swirl-thumbnail/swirl-thumbnail.stories.d.ts +8 -0
- package/dist/types/components.d.ts +143 -3
- package/dist/typings.d.ts +1 -0
- package/icons.json +1 -1
- package/package.json +16 -16
- package/vscode-data.json +166 -0
- package/dist/swirl-components/p-0fce283f.entry.js +0 -1
- package/dist/swirl-components/p-3aa690fc.entry.js +0 -1
- package/dist/swirl-components/p-44422011.entry.js +0 -1
- package/dist/swirl-components/p-99738fe7.entry.js +0 -10
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// DO NOT EDIT. THIS FILE GETS GENERATED VIA "yarn generate".
|
|
2
|
+
import { Fragment, h } from "@stencil/core";
|
|
3
|
+
import classnames from "classnames";
|
|
4
|
+
export class SwirlIconPause {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.size = 24;
|
|
7
|
+
}
|
|
8
|
+
render() {
|
|
9
|
+
const viewBoxSize = this.size === 20 ? 24 : this.size;
|
|
10
|
+
const className = classnames("swirl-icon", `swirl-icon--size-${this.size}`);
|
|
11
|
+
return (h("svg", { class: className, fill: "none", height: this.size, part: "icon", viewBox: `0 0 ${viewBoxSize} ${viewBoxSize}`, width: this.size, xmlns: "http://www.w3.org/2000/svg" }, this.size === 16 && (h(Fragment, null, h("path", { d: "M5.33333 12.6666C6.06667 12.6666 6.66667 12.0666 6.66667 11.3333V4.66659C6.66667 3.93325 6.06667 3.33325 5.33333 3.33325C4.6 3.33325 4 3.93325 4 4.66659V11.3333C4 12.0666 4.6 12.6666 5.33333 12.6666ZM9.33333 4.66659V11.3333C9.33333 12.0666 9.93333 12.6666 10.6667 12.6666C11.4 12.6666 12 12.0666 12 11.3333V4.66659C12 3.93325 11.4 3.33325 10.6667 3.33325C9.93333 3.33325 9.33333 3.93325 9.33333 4.66659Z", fill: "currentColor" }))), (this.size === 20 || this.size === 24) && (h(Fragment, null, h("path", { d: "M8 19C9.1 19 10 18.1 10 17V7C10 5.9 9.1 5 8 5C6.9 5 6 5.9 6 7V17C6 18.1 6.9 19 8 19ZM14 7V17C14 18.1 14.9 19 16 19C17.1 19 18 18.1 18 17V7C18 5.9 17.1 5 16 5C14.9 5 14 5.9 14 7Z", fill: "currentColor" }))), this.size === 28 && (h(Fragment, null, h("path", { d: "M9.33333 22.1666C10.6167 22.1666 11.6667 21.1166 11.6667 19.8333V8.16659C11.6667 6.88325 10.6167 5.83325 9.33333 5.83325C8.05 5.83325 7 6.88325 7 8.16659V19.8333C7 21.1166 8.05 22.1666 9.33333 22.1666ZM16.3333 8.16659V19.8333C16.3333 21.1166 17.3833 22.1666 18.6667 22.1666C19.95 22.1666 21 21.1166 21 19.8333V8.16659C21 6.88325 19.95 5.83325 18.6667 5.83325C17.3833 5.83325 16.3333 6.88325 16.3333 8.16659Z", fill: "currentColor" })))));
|
|
12
|
+
}
|
|
13
|
+
static get is() { return "swirl-icon-pause"; }
|
|
14
|
+
static get encapsulation() { return "shadow"; }
|
|
15
|
+
static get originalStyleUrls() {
|
|
16
|
+
return {
|
|
17
|
+
"$": ["../swirl-icon.css"]
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
static get styleUrls() {
|
|
21
|
+
return {
|
|
22
|
+
"$": ["../swirl-icon.css"]
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
static get properties() {
|
|
26
|
+
return {
|
|
27
|
+
"size": {
|
|
28
|
+
"type": "number",
|
|
29
|
+
"mutable": false,
|
|
30
|
+
"complexType": {
|
|
31
|
+
"original": "SwirlIconSize",
|
|
32
|
+
"resolved": "16 | 20 | 24 | 28",
|
|
33
|
+
"references": {
|
|
34
|
+
"SwirlIconSize": {
|
|
35
|
+
"location": "import",
|
|
36
|
+
"path": "../swirl-icon.types"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"required": false,
|
|
41
|
+
"optional": false,
|
|
42
|
+
"docs": {
|
|
43
|
+
"tags": [],
|
|
44
|
+
"text": ""
|
|
45
|
+
},
|
|
46
|
+
"attribute": "size",
|
|
47
|
+
"reflect": false,
|
|
48
|
+
"defaultValue": "24"
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -8,7 +8,7 @@ export class SwirlIconReply {
|
|
|
8
8
|
render() {
|
|
9
9
|
const viewBoxSize = this.size === 20 ? 24 : this.size;
|
|
10
10
|
const className = classnames("swirl-icon", `swirl-icon--size-${this.size}`);
|
|
11
|
-
return (h("svg", { class: className, fill: "none", height: this.size, part: "icon", viewBox: `0 0 ${viewBoxSize} ${viewBoxSize}`, width: this.size, xmlns: "http://www.w3.org/2000/svg" }, this.size === 16 && (h(Fragment, null, h("path", { d: "M6.
|
|
11
|
+
return (h("svg", { class: className, fill: "none", height: this.size, part: "icon", viewBox: `0 0 ${viewBoxSize} ${viewBoxSize}`, width: this.size, xmlns: "http://www.w3.org/2000/svg" }, this.size === 16 && (h(Fragment, null, h("path", { d: "M6.66667 6.00009V4.94009C6.66667 4.34676 5.94667 4.04676 5.52667 4.46676L2.46667 7.52676C2.20667 7.78676 2.20667 8.20676 2.46667 8.46676L5.52667 11.5268C5.94667 11.9468 6.66667 11.6534 6.66667 11.0601V9.93343C10 9.93343 12.3333 11.0001 14 13.3334C13.3333 10.0001 11.3333 6.66676 6.66667 6.00009Z", fill: "currentColor" }))), (this.size === 20 || this.size === 24) && (h(Fragment, null, h("path", { d: "M9.99997 9.00002V7.41002C9.99997 6.52002 8.91997 6.07002 8.28997 6.70002L3.69997 11.29C3.30997 11.68 3.30997 12.31 3.69997 12.7L8.28997 17.29C8.91997 17.92 9.99997 17.48 9.99997 16.59V14.9C15 14.9 18.5 16.5 21 20C20 15 17 10 9.99997 9.00002Z", fill: "currentColor" }))), this.size === 28 && (h(Fragment, null, h("path", { d: "M11.6667 10.5V8.64498C11.6667 7.60665 10.4067 7.08165 9.67165 7.81665L4.31665 13.1716C3.86165 13.6266 3.86165 14.3616 4.31665 14.8166L9.67165 20.1716C10.4067 20.9066 11.6667 20.3933 11.6667 19.355V17.3833C17.5 17.3833 21.5833 19.25 24.5 23.3333C23.3333 17.5 19.8333 11.6666 11.6667 10.5Z", fill: "currentColor" })))));
|
|
12
12
|
}
|
|
13
13
|
static get is() { return "swirl-icon-reply"; }
|
|
14
14
|
static get encapsulation() { return "shadow"; }
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// DO NOT EDIT. THIS FILE GETS GENERATED VIA "yarn generate".
|
|
2
|
+
import { Fragment, h } from "@stencil/core";
|
|
3
|
+
import classnames from "classnames";
|
|
4
|
+
export class SwirlIconReport {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.size = 24;
|
|
7
|
+
}
|
|
8
|
+
render() {
|
|
9
|
+
const viewBoxSize = this.size === 20 ? 24 : this.size;
|
|
10
|
+
const className = classnames("swirl-icon", `swirl-icon--size-${this.size}`);
|
|
11
|
+
return (h("svg", { class: className, fill: "none", height: this.size, part: "icon", viewBox: `0 0 ${viewBoxSize} ${viewBoxSize}`, width: this.size, xmlns: "http://www.w3.org/2000/svg" }, this.size === 16 && (h(Fragment, null, h("path", { d: "M3.99998 14.0001C3.81109 14.0001 3.65276 13.9362 3.52498 13.8084C3.3972 13.6806 3.33331 13.5223 3.33331 13.3334V3.33341C3.33331 3.14453 3.3972 2.98619 3.52498 2.85841C3.65276 2.73064 3.81109 2.66675 3.99998 2.66675H8.78331C8.93887 2.66675 9.07776 2.71675 9.19998 2.81675C9.3222 2.91675 9.39998 3.04453 9.43331 3.20008L9.59998 4.00008H12.6666C12.8555 4.00008 13.0139 4.06397 13.1416 4.19175C13.2694 4.31953 13.3333 4.47786 13.3333 4.66675V10.0001C13.3333 10.189 13.2694 10.3473 13.1416 10.4751C13.0139 10.6029 12.8555 10.6667 12.6666 10.6667H9.21665C9.06109 10.6667 8.9222 10.6167 8.79998 10.5167C8.67776 10.4167 8.59998 10.289 8.56665 10.1334L8.39998 9.33341H4.66665V13.3334C4.66665 13.5223 4.60276 13.6806 4.47498 13.8084C4.3472 13.9362 4.18887 14.0001 3.99998 14.0001ZM9.76665 9.33341H12V5.33341H8.49998L8.23331 4.00008H4.66665V8.00008H9.49998L9.76665 9.33341Z", fill: "currentColor" }))), (this.size === 20 || this.size === 24) && (h(Fragment, null, h("path", { d: "M6 21C5.71667 21 5.47917 20.9042 5.2875 20.7125C5.09583 20.5208 5 20.2833 5 20V5C5 4.71667 5.09583 4.47917 5.2875 4.2875C5.47917 4.09583 5.71667 4 6 4H13.175C13.4083 4 13.6167 4.075 13.8 4.225C13.9833 4.375 14.1 4.56667 14.15 4.8L14.4 6H19C19.2833 6 19.5208 6.09583 19.7125 6.2875C19.9042 6.47917 20 6.71667 20 7V15C20 15.2833 19.9042 15.5208 19.7125 15.7125C19.5208 15.9042 19.2833 16 19 16H13.825C13.5917 16 13.3833 15.925 13.2 15.775C13.0167 15.625 12.9 15.4333 12.85 15.2L12.6 14H7V20C7 20.2833 6.90417 20.5208 6.7125 20.7125C6.52083 20.9042 6.28333 21 6 21ZM14.65 14H18V8H12.75L12.35 6H7V12H14.25L14.65 14Z", fill: "currentColor" }))), this.size === 28 && (h(Fragment, null, h("path", { d: "M6.99998 24.5001C6.66942 24.5001 6.39234 24.3883 6.16873 24.1647C5.94512 23.9411 5.83331 23.664 5.83331 23.3334V5.83341C5.83331 5.50286 5.94512 5.22578 6.16873 5.00216C6.39234 4.77855 6.66942 4.66675 6.99998 4.66675H15.3708C15.643 4.66675 15.8861 4.75425 16.1 4.92925C16.3139 5.10425 16.45 5.32786 16.5083 5.60008L16.8 7.00008H22.1666C22.4972 7.00008 22.7743 7.11189 22.9979 7.3355C23.2215 7.55911 23.3333 7.83619 23.3333 8.16675V17.5001C23.3333 17.8306 23.2215 18.1077 22.9979 18.3313C22.7743 18.5549 22.4972 18.6667 22.1666 18.6667H16.1291C15.8569 18.6667 15.6139 18.5792 15.4 18.4042C15.1861 18.2292 15.05 18.0056 14.9916 17.7334L14.7 16.3334H8.16665V23.3334C8.16665 23.664 8.05484 23.9411 7.83123 24.1647C7.60762 24.3883 7.33054 24.5001 6.99998 24.5001ZM17.0916 16.3334H21V9.33342H14.875L14.4083 7.00008H8.16665V14.0001H16.625L17.0916 16.3334Z", fill: "currentColor" })))));
|
|
12
|
+
}
|
|
13
|
+
static get is() { return "swirl-icon-report"; }
|
|
14
|
+
static get encapsulation() { return "shadow"; }
|
|
15
|
+
static get originalStyleUrls() {
|
|
16
|
+
return {
|
|
17
|
+
"$": ["../swirl-icon.css"]
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
static get styleUrls() {
|
|
21
|
+
return {
|
|
22
|
+
"$": ["../swirl-icon.css"]
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
static get properties() {
|
|
26
|
+
return {
|
|
27
|
+
"size": {
|
|
28
|
+
"type": "number",
|
|
29
|
+
"mutable": false,
|
|
30
|
+
"complexType": {
|
|
31
|
+
"original": "SwirlIconSize",
|
|
32
|
+
"resolved": "16 | 20 | 24 | 28",
|
|
33
|
+
"references": {
|
|
34
|
+
"SwirlIconSize": {
|
|
35
|
+
"location": "import",
|
|
36
|
+
"path": "../swirl-icon.types"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"required": false,
|
|
41
|
+
"optional": false,
|
|
42
|
+
"docs": {
|
|
43
|
+
"tags": [],
|
|
44
|
+
"text": ""
|
|
45
|
+
},
|
|
46
|
+
"attribute": "size",
|
|
47
|
+
"reflect": false,
|
|
48
|
+
"defaultValue": "24"
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// DO NOT EDIT. THIS FILE GETS GENERATED VIA "yarn generate".
|
|
2
|
+
import { Fragment, h } from "@stencil/core";
|
|
3
|
+
import classnames from "classnames";
|
|
4
|
+
export class SwirlIconStop {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.size = 24;
|
|
7
|
+
}
|
|
8
|
+
render() {
|
|
9
|
+
const viewBoxSize = this.size === 20 ? 24 : this.size;
|
|
10
|
+
const className = classnames("swirl-icon", `swirl-icon--size-${this.size}`);
|
|
11
|
+
return (h("svg", { class: className, fill: "none", height: this.size, part: "icon", viewBox: `0 0 ${viewBoxSize} ${viewBoxSize}`, width: this.size, xmlns: "http://www.w3.org/2000/svg" }, this.size === 16 && (h(Fragment, null, h("path", { d: "M5.33333 4H10.6667C11.4 4 12 4.6 12 5.33333V10.6667C12 11.4 11.4 12 10.6667 12H5.33333C4.6 12 4 11.4 4 10.6667V5.33333C4 4.6 4.6 4 5.33333 4Z", fill: "currentColor" }))), (this.size === 20 || this.size === 24) && (h(Fragment, null, h("path", { d: "M8 6H16C17.1 6 18 6.9 18 8V16C18 17.1 17.1 18 16 18H8C6.9 18 6 17.1 6 16V8C6 6.9 6.9 6 8 6Z", fill: "currentColor" }))), this.size === 28 && (h(Fragment, null, h("path", { d: "M9.33333 7H18.6667C19.95 7 21 8.05 21 9.33333V18.6667C21 19.95 19.95 21 18.6667 21H9.33333C8.05 21 7 19.95 7 18.6667V9.33333C7 8.05 8.05 7 9.33333 7Z", fill: "currentColor" })))));
|
|
12
|
+
}
|
|
13
|
+
static get is() { return "swirl-icon-stop"; }
|
|
14
|
+
static get encapsulation() { return "shadow"; }
|
|
15
|
+
static get originalStyleUrls() {
|
|
16
|
+
return {
|
|
17
|
+
"$": ["../swirl-icon.css"]
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
static get styleUrls() {
|
|
21
|
+
return {
|
|
22
|
+
"$": ["../swirl-icon.css"]
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
static get properties() {
|
|
26
|
+
return {
|
|
27
|
+
"size": {
|
|
28
|
+
"type": "number",
|
|
29
|
+
"mutable": false,
|
|
30
|
+
"complexType": {
|
|
31
|
+
"original": "SwirlIconSize",
|
|
32
|
+
"resolved": "16 | 20 | 24 | 28",
|
|
33
|
+
"references": {
|
|
34
|
+
"SwirlIconSize": {
|
|
35
|
+
"location": "import",
|
|
36
|
+
"path": "../swirl-icon.types"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"required": false,
|
|
41
|
+
"optional": false,
|
|
42
|
+
"docs": {
|
|
43
|
+
"tags": [],
|
|
44
|
+
"text": ""
|
|
45
|
+
},
|
|
46
|
+
"attribute": "size",
|
|
47
|
+
"reflect": false,
|
|
48
|
+
"defaultValue": "24"
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// DO NOT EDIT. THIS FILE GETS GENERATED VIA "yarn generate".
|
|
2
|
+
import { Fragment, h } from "@stencil/core";
|
|
3
|
+
import classnames from "classnames";
|
|
4
|
+
export class SwirlIconTranslate {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.size = 24;
|
|
7
|
+
}
|
|
8
|
+
render() {
|
|
9
|
+
const viewBoxSize = this.size === 20 ? 24 : this.size;
|
|
10
|
+
const className = classnames("swirl-icon", `swirl-icon--size-${this.size}`);
|
|
11
|
+
return (h("svg", { class: className, fill: "none", height: this.size, part: "icon", viewBox: `0 0 ${viewBoxSize} ${viewBoxSize}`, width: this.size, xmlns: "http://www.w3.org/2000/svg" }, this.size === 16 && (h(Fragment, null, h("path", { d: "M7.93335 14.6666L10.9667 6.66658H12.3667L15.4 14.6666H14L13.3 12.6333H10.0667L9.33335 14.6666H7.93335ZM10.4667 11.4666H12.8667L11.7 8.16658H11.6334L10.4667 11.4666ZM2.66669 12.6666L1.73335 11.7333L5.10002 8.36658C4.6778 7.89992 4.30835 7.41658 3.99169 6.91658C3.67502 6.41658 3.40002 5.88881 3.16669 5.33325H4.56669C4.76669 5.73325 4.98058 6.09436 5.20835 6.41658C5.43613 6.73881 5.71113 7.0777 6.03335 7.43325C6.52224 6.89992 6.9278 6.3527 7.25002 5.79159C7.57224 5.23047 7.84447 4.63325 8.06669 3.99992H0.666687V2.66659H5.33335V1.33325H6.66669V2.66659H11.3334V3.99992H9.40002C9.16669 4.78881 8.85002 5.55547 8.45002 6.29992C8.05002 7.04436 7.55558 7.74436 6.96669 8.39992L8.56669 10.0333L8.06669 11.3999L6.00002 9.33325L2.66669 12.6666Z", fill: "currentColor" }))), (this.size === 20 || this.size === 24) && (h(Fragment, null, h("path", { d: "M11.9 22L16.45 10H18.55L23.1 22H21L19.95 18.95H15.1L14 22H11.9ZM15.7 17.2H19.3L17.55 12.25H17.45L15.7 17.2ZM4 19L2.6 17.6L7.65 12.55C7.01667 11.85 6.4625 11.125 5.9875 10.375C5.5125 9.625 5.1 8.83333 4.75 8H6.85C7.15 8.6 7.47083 9.14167 7.8125 9.625C8.15417 10.1083 8.56667 10.6167 9.05 11.15C9.78333 10.35 10.3917 9.52917 10.875 8.6875C11.3583 7.84583 11.7667 6.95 12.1 6H1V4H8V2H10V4H17V6H14.1C13.75 7.18333 13.275 8.33333 12.675 9.45C12.075 10.5667 11.3333 11.6167 10.45 12.6L12.85 15.05L12.1 17.1L9 14L4 19Z", fill: "currentColor" }))), this.size === 28 && (h(Fragment, null, h("path", { d: "M13.8834 25.6666L19.1917 11.6666H21.6417L26.95 25.6666H24.5L23.275 22.1083H17.6167L16.3334 25.6666H13.8834ZM18.3167 20.0666H22.5167L20.475 14.2916H20.3584L18.3167 20.0666ZM4.66669 22.1666L3.03335 20.5333L8.92502 14.6416C8.18613 13.8249 7.5396 12.9791 6.98544 12.1041C6.43127 11.2291 5.95002 10.3055 5.54169 9.33325H7.99169C8.34169 10.0333 8.71599 10.6652 9.1146 11.2291C9.51321 11.793 9.99446 12.386 10.5584 13.0083C11.4139 12.0749 12.1236 11.1173 12.6875 10.1353C13.2514 9.15339 13.7278 8.10825 14.1167 6.99992H1.16669V4.66659H9.33335V2.33325H11.6667V4.66659H19.8334V6.99992H16.45C16.0417 8.38047 15.4875 9.72214 14.7875 11.0249C14.0875 12.3277 13.2222 13.5527 12.1917 14.6999L14.9917 17.5583L14.1167 19.9499L10.5 16.3333L4.66669 22.1666Z", fill: "currentColor" })))));
|
|
12
|
+
}
|
|
13
|
+
static get is() { return "swirl-icon-translate"; }
|
|
14
|
+
static get encapsulation() { return "shadow"; }
|
|
15
|
+
static get originalStyleUrls() {
|
|
16
|
+
return {
|
|
17
|
+
"$": ["../swirl-icon.css"]
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
static get styleUrls() {
|
|
21
|
+
return {
|
|
22
|
+
"$": ["../swirl-icon.css"]
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
static get properties() {
|
|
26
|
+
return {
|
|
27
|
+
"size": {
|
|
28
|
+
"type": "number",
|
|
29
|
+
"mutable": false,
|
|
30
|
+
"complexType": {
|
|
31
|
+
"original": "SwirlIconSize",
|
|
32
|
+
"resolved": "16 | 20 | 24 | 28",
|
|
33
|
+
"references": {
|
|
34
|
+
"SwirlIconSize": {
|
|
35
|
+
"location": "import",
|
|
36
|
+
"path": "../swirl-icon.types"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"required": false,
|
|
41
|
+
"optional": false,
|
|
42
|
+
"docs": {
|
|
43
|
+
"tags": [],
|
|
44
|
+
"text": ""
|
|
45
|
+
},
|
|
46
|
+
"attribute": "size",
|
|
47
|
+
"reflect": false,
|
|
48
|
+
"defaultValue": "24"
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -16,7 +16,7 @@ describe("swirl-menu-item", () => {
|
|
|
16
16
|
const page = await newSpecPage({
|
|
17
17
|
components: [SwirlPopover, SwirlMenu, SwirlMenuItem],
|
|
18
18
|
html: `
|
|
19
|
-
<swirl-popover label="Menu"
|
|
19
|
+
<swirl-popover label="Menu">
|
|
20
20
|
<swirl-menu label="Menu">
|
|
21
21
|
<swirl-menu-item label="Item"></swirl-menu-item>
|
|
22
22
|
</swirl-menu>
|
|
@@ -38,7 +38,7 @@ describe("swirl-menu-item", () => {
|
|
|
38
38
|
const page = await newSpecPage({
|
|
39
39
|
components: [SwirlPopover, SwirlMenu, SwirlMenuItem],
|
|
40
40
|
html: `
|
|
41
|
-
<swirl-popover label="Menu"
|
|
41
|
+
<swirl-popover label="Menu">
|
|
42
42
|
<swirl-menu label="Menu" variant="selection">
|
|
43
43
|
<swirl-menu-item label="Item" value="Value"></swirl-menu-item>
|
|
44
44
|
</swirl-menu>
|
|
@@ -46,6 +46,7 @@ export class SwirlModal {
|
|
|
46
46
|
this.hideCloseButton = undefined;
|
|
47
47
|
this.hideLabel = undefined;
|
|
48
48
|
this.label = undefined;
|
|
49
|
+
this.maxHeight = undefined;
|
|
49
50
|
this.maxWidth = undefined;
|
|
50
51
|
this.padded = true;
|
|
51
52
|
this.primaryActionLabel = undefined;
|
|
@@ -146,7 +147,7 @@ export class SwirlModal {
|
|
|
146
147
|
"modal--scrolled": this.scrolled,
|
|
147
148
|
"modal--scrolled-down": this.scrolledDown,
|
|
148
149
|
});
|
|
149
|
-
return (h(Host, null, h("section", { "aria-hidden": String(!this.isOpen), "aria-label": this.label, "aria-modal": "true", class: className, onKeyDown: this.onKeyDown, role: "dialog", ref: (el) => (this.modalEl = el) }, h("div", { class: "modal__backdrop", onClick: this.onBackdropClick }), h("div", { class: "modal__body", style: { maxWidth: this.maxWidth } }, h("header", { class: "modal__custom-header" }, h("slot", { name: "custom-header" })), (!this.hideLabel || !this.hideCloseButton) && (h("header", { class: "modal__header" }, h("div", { class: "modal__header-bar" }, !this.hideCloseButton && (h("swirl-button", { class: "modal__close-button", hideLabel: true, icon: this.variant === "default"
|
|
150
|
+
return (h(Host, null, h("section", { "aria-hidden": String(!this.isOpen), "aria-label": this.label, "aria-modal": "true", class: className, onKeyDown: this.onKeyDown, role: "dialog", ref: (el) => (this.modalEl = el) }, h("div", { class: "modal__backdrop", onClick: this.onBackdropClick }), h("div", { class: "modal__body", style: { maxHeight: this.maxHeight, maxWidth: this.maxWidth } }, h("header", { class: "modal__custom-header" }, h("slot", { name: "custom-header" })), (!this.hideLabel || !this.hideCloseButton) && (h("header", { class: "modal__header" }, h("div", { class: "modal__header-bar" }, !this.hideCloseButton && (h("swirl-button", { class: "modal__close-button", hideLabel: true, icon: this.variant === "default"
|
|
150
151
|
? "<swirl-icon-close></swirl-icon-close>"
|
|
151
152
|
: "<swirl-icon-double-arrow-right></swirl-icon-double-arrow-right>", label: this.closeButtonLabel, onClick: this.onCloseButtonClick })), !this.hideLabel && (h("swirl-heading", { as: "h2", class: "modal__heading", level: 3, text: this.label }))), h("div", { class: "modal__header-tools" }, h("slot", { name: "header-tools" })))), h("div", { class: "modal__content", onScroll: this.determineScrollStatus, ref: (el) => (this.scrollContainer = el) }, h("slot", null)), h("div", { class: "modal__custom-footer" }, h("slot", { name: "custom-footer" })), showControls && (h("footer", { class: "modal__controls" }, h("swirl-button-group", { wrap: true }, this.secondaryActionLabel && (h("swirl-button", { label: this.secondaryActionLabel, onClick: this.onSecondaryAction })), this.primaryActionLabel && (h("swirl-button", { intent: "primary", label: this.primaryActionLabel, onClick: this.onPrimaryAction, variant: "flat" })))))))));
|
|
152
153
|
}
|
|
@@ -232,6 +233,23 @@ export class SwirlModal {
|
|
|
232
233
|
"attribute": "label",
|
|
233
234
|
"reflect": false
|
|
234
235
|
},
|
|
236
|
+
"maxHeight": {
|
|
237
|
+
"type": "string",
|
|
238
|
+
"mutable": false,
|
|
239
|
+
"complexType": {
|
|
240
|
+
"original": "string",
|
|
241
|
+
"resolved": "string",
|
|
242
|
+
"references": {}
|
|
243
|
+
},
|
|
244
|
+
"required": false,
|
|
245
|
+
"optional": true,
|
|
246
|
+
"docs": {
|
|
247
|
+
"tags": [],
|
|
248
|
+
"text": ""
|
|
249
|
+
},
|
|
250
|
+
"attribute": "max-height",
|
|
251
|
+
"reflect": false
|
|
252
|
+
},
|
|
235
253
|
"maxWidth": {
|
|
236
254
|
"type": "string",
|
|
237
255
|
"mutable": false,
|
|
@@ -26,6 +26,18 @@
|
|
|
26
26
|
--swirl-thumbnail-size: 4rem;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
.thumbnail--size-l .thumbnail__remove-button {
|
|
30
|
+
top: 0;
|
|
31
|
+
right: 0;
|
|
32
|
+
transform: scale(0.75);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.thumbnail--size-xl {
|
|
36
|
+
--swirl-thumbnail-size: 5rem;
|
|
37
|
+
|
|
38
|
+
border-radius: var(--s-border-radius-sm);
|
|
39
|
+
}
|
|
40
|
+
|
|
29
41
|
.thumbnail--format-landscape {
|
|
30
42
|
width: var(--swirl-thumbnail-size);
|
|
31
43
|
aspect-ratio: 4 / 3;
|
|
@@ -53,9 +65,49 @@
|
|
|
53
65
|
width: 100%;
|
|
54
66
|
}
|
|
55
67
|
|
|
68
|
+
.thumbnail--has-progress .thumbnail__timestamp {
|
|
69
|
+
bottom: var(--s-space-8);
|
|
70
|
+
}
|
|
71
|
+
|
|
56
72
|
.thumbnail__image {
|
|
57
73
|
position: absolute;
|
|
58
74
|
top: 50%;
|
|
59
75
|
left: 50%;
|
|
60
76
|
transform: translate3d(-50%, -50%, 0);
|
|
61
77
|
}
|
|
78
|
+
|
|
79
|
+
.thumbnail__progress-indicator {
|
|
80
|
+
position: absolute;
|
|
81
|
+
z-index: 1;
|
|
82
|
+
right: 0;
|
|
83
|
+
bottom: 0;
|
|
84
|
+
left: 0;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.thumbnail__remove-button {
|
|
88
|
+
position: absolute;
|
|
89
|
+
z-index: 1;
|
|
90
|
+
top: var(--s-space-4);
|
|
91
|
+
right: var(--s-space-4);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.thumbnail__timestamp {
|
|
95
|
+
position: absolute;
|
|
96
|
+
z-index: 1;
|
|
97
|
+
bottom: var(--s-space-4);
|
|
98
|
+
left: var(--s-space-4);
|
|
99
|
+
display: block;
|
|
100
|
+
overflow: hidden;
|
|
101
|
+
max-width: calc(100% - 2 * var(--s-space-4));
|
|
102
|
+
height: 1.5rem;
|
|
103
|
+
padding-right: var(--s-space-8);
|
|
104
|
+
padding-left: var(--s-space-8);
|
|
105
|
+
align-items: center;
|
|
106
|
+
border-radius: var(--s-border-radius-s);
|
|
107
|
+
color: var(--s-text-on-image);
|
|
108
|
+
background-color: rgba(0, 0, 0, 0.6);
|
|
109
|
+
font-size: var(--s-font-size-sm);
|
|
110
|
+
line-height: 1.5rem;
|
|
111
|
+
white-space: nowrap;
|
|
112
|
+
text-overflow: ellipsis;
|
|
113
|
+
}
|
|
@@ -4,12 +4,21 @@ export class SwirlThumbnail {
|
|
|
4
4
|
constructor() {
|
|
5
5
|
this.alt = undefined;
|
|
6
6
|
this.format = "landscape";
|
|
7
|
+
this.progress = undefined;
|
|
8
|
+
this.progressLabel = "Loading progress";
|
|
9
|
+
this.removeButtonLabel = "Remove";
|
|
10
|
+
this.showRemoveButton = undefined;
|
|
7
11
|
this.size = "m";
|
|
8
12
|
this.src = undefined;
|
|
13
|
+
this.timestamp = undefined;
|
|
9
14
|
}
|
|
10
15
|
render() {
|
|
11
|
-
const
|
|
12
|
-
|
|
16
|
+
const showRemoveButton = this.showRemoveButton && this.size === "xl" && this.format === "square";
|
|
17
|
+
const showTimestamp = Boolean(this.timestamp) && this.size === "xl" && this.format === "square";
|
|
18
|
+
const className = classnames("thumbnail", `thumbnail--format-${this.format}`, `thumbnail--size-${this.size}`, {
|
|
19
|
+
"thumbnail--has-progress": this.progress !== undefined,
|
|
20
|
+
});
|
|
21
|
+
return (h(Host, null, h("span", { class: className, role: "group" }, h("img", { alt: this.alt, class: "thumbnail__image", loading: "lazy", src: this.src }), this.progress !== undefined && (h("span", { class: "thumbnail__progress-indicator" }, h("swirl-progress-indicator", { label: this.progressLabel, value: this.progress }))), showRemoveButton && (h("span", { class: "thumbnail__remove-button" }, h("swirl-button", { hideLabel: true, icon: "<swirl-icon-close></swirl-icon-close>", label: this.removeButtonLabel, pill: true, variant: "on-image" }))), showTimestamp && (h("span", { class: "thumbnail__timestamp" }, this.timestamp)))));
|
|
13
22
|
}
|
|
14
23
|
static get is() { return "swirl-thumbnail"; }
|
|
15
24
|
static get encapsulation() { return "shadow"; }
|
|
@@ -65,12 +74,82 @@ export class SwirlThumbnail {
|
|
|
65
74
|
"reflect": false,
|
|
66
75
|
"defaultValue": "\"landscape\""
|
|
67
76
|
},
|
|
77
|
+
"progress": {
|
|
78
|
+
"type": "number",
|
|
79
|
+
"mutable": false,
|
|
80
|
+
"complexType": {
|
|
81
|
+
"original": "number",
|
|
82
|
+
"resolved": "number",
|
|
83
|
+
"references": {}
|
|
84
|
+
},
|
|
85
|
+
"required": false,
|
|
86
|
+
"optional": true,
|
|
87
|
+
"docs": {
|
|
88
|
+
"tags": [],
|
|
89
|
+
"text": ""
|
|
90
|
+
},
|
|
91
|
+
"attribute": "progress",
|
|
92
|
+
"reflect": false
|
|
93
|
+
},
|
|
94
|
+
"progressLabel": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"mutable": false,
|
|
97
|
+
"complexType": {
|
|
98
|
+
"original": "string",
|
|
99
|
+
"resolved": "string",
|
|
100
|
+
"references": {}
|
|
101
|
+
},
|
|
102
|
+
"required": false,
|
|
103
|
+
"optional": true,
|
|
104
|
+
"docs": {
|
|
105
|
+
"tags": [],
|
|
106
|
+
"text": ""
|
|
107
|
+
},
|
|
108
|
+
"attribute": "progress-label",
|
|
109
|
+
"reflect": false,
|
|
110
|
+
"defaultValue": "\"Loading progress\""
|
|
111
|
+
},
|
|
112
|
+
"removeButtonLabel": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"mutable": false,
|
|
115
|
+
"complexType": {
|
|
116
|
+
"original": "string",
|
|
117
|
+
"resolved": "string",
|
|
118
|
+
"references": {}
|
|
119
|
+
},
|
|
120
|
+
"required": false,
|
|
121
|
+
"optional": true,
|
|
122
|
+
"docs": {
|
|
123
|
+
"tags": [],
|
|
124
|
+
"text": ""
|
|
125
|
+
},
|
|
126
|
+
"attribute": "remove-button-label",
|
|
127
|
+
"reflect": false,
|
|
128
|
+
"defaultValue": "\"Remove\""
|
|
129
|
+
},
|
|
130
|
+
"showRemoveButton": {
|
|
131
|
+
"type": "boolean",
|
|
132
|
+
"mutable": false,
|
|
133
|
+
"complexType": {
|
|
134
|
+
"original": "boolean",
|
|
135
|
+
"resolved": "boolean",
|
|
136
|
+
"references": {}
|
|
137
|
+
},
|
|
138
|
+
"required": false,
|
|
139
|
+
"optional": true,
|
|
140
|
+
"docs": {
|
|
141
|
+
"tags": [],
|
|
142
|
+
"text": ""
|
|
143
|
+
},
|
|
144
|
+
"attribute": "show-remove-button",
|
|
145
|
+
"reflect": false
|
|
146
|
+
},
|
|
68
147
|
"size": {
|
|
69
148
|
"type": "string",
|
|
70
149
|
"mutable": false,
|
|
71
150
|
"complexType": {
|
|
72
151
|
"original": "SwirlThumbnailSize",
|
|
73
|
-
"resolved": "\"l\" | \"m\" | \"s\"",
|
|
152
|
+
"resolved": "\"l\" | \"m\" | \"s\" | \"xl\"",
|
|
74
153
|
"references": {
|
|
75
154
|
"SwirlThumbnailSize": {
|
|
76
155
|
"location": "local",
|
|
@@ -79,7 +158,7 @@ export class SwirlThumbnail {
|
|
|
79
158
|
}
|
|
80
159
|
},
|
|
81
160
|
"required": false,
|
|
82
|
-
"optional":
|
|
161
|
+
"optional": true,
|
|
83
162
|
"docs": {
|
|
84
163
|
"tags": [],
|
|
85
164
|
"text": ""
|
|
@@ -104,6 +183,23 @@ export class SwirlThumbnail {
|
|
|
104
183
|
},
|
|
105
184
|
"attribute": "src",
|
|
106
185
|
"reflect": false
|
|
186
|
+
},
|
|
187
|
+
"timestamp": {
|
|
188
|
+
"type": "string",
|
|
189
|
+
"mutable": false,
|
|
190
|
+
"complexType": {
|
|
191
|
+
"original": "string",
|
|
192
|
+
"resolved": "string",
|
|
193
|
+
"references": {}
|
|
194
|
+
},
|
|
195
|
+
"required": false,
|
|
196
|
+
"optional": true,
|
|
197
|
+
"docs": {
|
|
198
|
+
"tags": [],
|
|
199
|
+
"text": ""
|
|
200
|
+
},
|
|
201
|
+
"attribute": "timestamp",
|
|
202
|
+
"reflect": false
|
|
107
203
|
}
|
|
108
204
|
};
|
|
109
205
|
}
|
|
@@ -9,11 +9,32 @@ describe("swirl-thumbnail", () => {
|
|
|
9
9
|
expect(page.root).toEqualHtml(`
|
|
10
10
|
<swirl-thumbnail alt="Brief description of the image." format="portrait" size="l" src="https://picsum.photos/id/433/400/400">
|
|
11
11
|
<mock:shadow-root>
|
|
12
|
-
<span class="thumbnail thumbnail--format-portrait thumbnail--size-l">
|
|
12
|
+
<span class="thumbnail thumbnail--format-portrait thumbnail--size-l" role="group">
|
|
13
13
|
<img alt="Brief description of the image." class="thumbnail__image" loading="lazy" src="https://picsum.photos/id/433/400/400">
|
|
14
14
|
</span>
|
|
15
15
|
</mock:shadow-root>
|
|
16
16
|
</swirl-thumbnail>
|
|
17
17
|
`);
|
|
18
18
|
});
|
|
19
|
+
it("renders timestamp and remove button", async () => {
|
|
20
|
+
const page = await newSpecPage({
|
|
21
|
+
components: [SwirlThumbnail],
|
|
22
|
+
html: `<swirl-thumbnail alt="Brief description of the image." format="square" src="https://picsum.photos/id/433/400/400" show-remove-button size="xl" timestamp="12:12"></swirl-thumbnail>`,
|
|
23
|
+
});
|
|
24
|
+
expect(page.root).toEqualHtml(`
|
|
25
|
+
<swirl-thumbnail alt="Brief description of the image." format="square" show-remove-button="" size="xl" src="https://picsum.photos/id/433/400/400" timestamp="12:12">
|
|
26
|
+
<mock:shadow-root>
|
|
27
|
+
<span class="thumbnail thumbnail--format-square thumbnail--size-xl" role="group">
|
|
28
|
+
<img alt="Brief description of the image." class="thumbnail__image" loading="lazy" src="https://picsum.photos/id/433/400/400">
|
|
29
|
+
<span class="thumbnail__remove-button">
|
|
30
|
+
<swirl-button hidelabel="" icon="<swirl-icon-close></swirl-icon-close>" label="Remove" pill="" variant="on-image"></swirl-button>
|
|
31
|
+
</span>
|
|
32
|
+
<span class="thumbnail__timestamp">
|
|
33
|
+
12:12
|
|
34
|
+
</span>
|
|
35
|
+
</span>
|
|
36
|
+
</mock:shadow-root>
|
|
37
|
+
</swirl-thumbnail>
|
|
38
|
+
`);
|
|
39
|
+
});
|
|
19
40
|
});
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { generateStoryElement } from "../../utils";
|
|
2
2
|
import Docs from "./swirl-thumbnail.mdx";
|
|
3
3
|
export default {
|
|
4
|
+
argTypes: {
|
|
5
|
+
showRemoveButton: {
|
|
6
|
+
description: "Only displayed with size `xl` and format `square`.",
|
|
7
|
+
},
|
|
8
|
+
timestamp: {
|
|
9
|
+
description: "Only displayed with size `xl` and format `square`.",
|
|
10
|
+
},
|
|
11
|
+
},
|
|
4
12
|
component: "swirl-thumbnail",
|
|
5
13
|
tags: ["autodocs"],
|
|
6
14
|
parameters: {
|
|
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal
|
|
|
2
2
|
import { c as classnames } from './index2.js';
|
|
3
3
|
import { g as getDesktopMediaQuery } from './utils.js';
|
|
4
4
|
|
|
5
|
-
const swirlButtonCss = ".sc-swirl-button-h{display:inline-block;max-width:100%;flex-shrink:0}.sc-swirl-button-h *.sc-swirl-button{box-sizing:border-box}.button.sc-swirl-button{display:inline-flex;width:100%;padding:var(--s-space-8) var(--s-space-16);justify-content:center;align-items:center;border:none;border-top-left-radius:var(--swirl-button-border-top-left-radius);border-top-right-radius:var(--swirl-button-border-top-right-radius);border-bottom-right-radius:var(--swirl-button-border-bottom-right-radius);border-bottom-left-radius:var(--swirl-button-border-bottom-left-radius);color:var(--s-text-subdued);background-color:var(--swirl-ghost-button-background-default);font:inherit;font-weight:var(--s-font-weight-medium);line-height:var(--s-line-height-lg);text-decoration:none;cursor:pointer;gap:var(--s-space-8)}.button.sc-swirl-button:hover{background-color:var(--swirl-ghost-button-background-hovered)}.button.sc-swirl-button:active{background-color:var(--swirl-ghost-button-background-pressed)}.button.sc-swirl-button:disabled{color:var(--s-text-disabled);background-color:var(--swirl-ghost-button-background-default);cursor:default}.button.sc-swirl-button:disabled .button__icon.sc-swirl-button{color:var(--s-icon-disabled)}.button.sc-swirl-button:focus:not(:focus-visible){outline:none}.button.sc-swirl-button:focus-visible{outline-color:var(--s-focus-default);outline-offset:var(--s-space-2)}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.button.sc-swirl-button{padding:var(--s-space-8) var(--s-space-12);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm);gap:var(--s-space-4)}}.button--variant-ghost.button--intent-primary.sc-swirl-button:not(:disabled){color:var(--s-text-highlight)}.button--variant-ghost.button--intent-primary.sc-swirl-button:not(:disabled) .button__icon.sc-swirl-button{color:var(--s-icon-highlight)}.button--variant-ghost.button--intent-critical.sc-swirl-button:not(:disabled){color:var(--s-text-critical)}.button--variant-ghost.button--intent-critical.sc-swirl-button:not(:disabled) .button__icon.sc-swirl-button{color:var(--s-icon-critical)}.button--variant-ghost.button--size-l.sc-swirl-button{padding:var(--s-space-12) var(--s-space-20)}.button--variant-ghost.button--size-l.button--icon-only.sc-swirl-button{padding:var(--s-space-12)}.button--variant-flat.sc-swirl-button{color:var(--s-text-default);background-color:var(--s-action-neutral-default)}.button--variant-flat.sc-swirl-button:hover{background-color:var(--s-action-neutral-hovered)}.button--variant-flat.sc-swirl-button:active{background-color:var(--s-action-neutral-pressed)}.button--variant-flat.sc-swirl-button:disabled{background-color:var(--s-action-neutral-disabled)}.button--variant-flat.button--intent-primary.sc-swirl-button:not(:disabled){color:var(--s-text-on-action-primary);background-color:var(--s-action-primary-default)}.button--variant-flat.button--intent-primary.sc-swirl-button:not(:disabled):hover{background-color:var(--s-action-primary-hovered)}.button--variant-flat.button--intent-primary.sc-swirl-button:not(:disabled):active{background-color:var(--s-action-primary-pressed)}.button--variant-flat.button--intent-primary.sc-swirl-button:not(:disabled) .button__icon.sc-swirl-button{color:var(--s-icon-on-action-primary)}.button--variant-flat.sc-swirl-button .button__icon.sc-swirl-button{color:var(--s-icon-strong)}.button--variant-outline.sc-swirl-button{color:var(--s-text-default);box-shadow:inset 0 0 0 var(--s-border-width-default) var(--s-border-strong)}.button--variant-outline.sc-swirl-button:disabled{box-shadow:inset 0 0 0 var(--s-border-width-default)\n var(--s-border-default)}.button--variant-outline.button--intent-critical.sc-swirl-button:not(:disabled){color:var(--s-text-critical);box-shadow:inset 0 0 0 var(--s-border-width-default)\n var(--s-border-critical)}.button--variant-outline.button--intent-critical.sc-swirl-button:not(:disabled) .button__icon.sc-swirl-button{color:var(--s-icon-critical)}.button--variant-outline.button--size-l.sc-swirl-button{padding:var(--s-space-12) var(--s-space-20)}.button--variant-outline.button--size-l.button--icon-only.sc-swirl-button{padding:var(--s-space-12)}.button--variant-outline.sc-swirl-button .button__icon.sc-swirl-button{color:var(--s-icon-default)}.button--variant-plain.sc-swirl-button{padding:0;border-radius:0;color:var(--s-interactive-neutral-default);background-color:transparent}.button--variant-plain.sc-swirl-button:hover:not(:disabled){color:var(--s-interactive-neutral-default);background-color:transparent;text-decoration:underline;text-underline-offset:var(--s-space-4)}.button--variant-plain.sc-swirl-button:hover:not(:disabled) .button__icon.sc-swirl-button{color:var(--s-interactive-neutral-default)}.button--variant-plain.sc-swirl-button:active:not(:disabled){color:var(--s-interactive-neutral-hovered);background-color:transparent}.button--variant-plain.sc-swirl-button:active:not(:disabled) .button__icon.sc-swirl-button{color:var(--s-interactive-neutral-hovered)}.button--variant-plain.sc-swirl-button:disabled{color:var(--s-interactive-neutral-disabled);background-color:transparent}.button--variant-plain.sc-swirl-button:disabled .button__icon.sc-swirl-button{color:var(--s-interactive-neutral-disabled)}.button--variant-plain.button--icon-only.sc-swirl-button{padding:0}.button--variant-plain.button--intent-primary.sc-swirl-button{color:var(--s-interactive-primary-default)}.button--variant-plain.button--intent-primary.sc-swirl-button:hover{color:var(--s-interactive-primary-default)}.button--variant-plain.button--intent-primary.sc-swirl-button:hover .button__icon.sc-swirl-button{color:var(--s-interactive-primary-default)}.button--variant-plain.button--intent-primary.sc-swirl-button:active{color:var(--s-interactive-primary-hovered)}.button--variant-plain.button--intent-primary.sc-swirl-button:active .button__icon.sc-swirl-button{color:var(--s-interactive-primary-hovered)}.button--variant-plain.button--intent-primary.sc-swirl-button:disabled{color:var(--s-interactive-primary-disabled)}.button--variant-plain.button--intent-primary.sc-swirl-button:disabled .button__icon.sc-swirl-button{color:var(--s-interactive-primary-disabled)}.button--variant-plain.button--intent-primary.sc-swirl-button .button__icon.sc-swirl-button{color:var(--s-interactive-primary-default)}.button--variant-plain.sc-swirl-button .button__icon.sc-swirl-button{margin-left:0;color:var(--s-interactive-neutral-default)}.button--variant-on-image.sc-swirl-button{color:var(--s-text-on-image);background:linear-gradient(0deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),\n rgba(255, 255, 255, 0.3)}.button--variant-on-image.sc-swirl-button:hover{background:linear-gradient(0deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)),\n rgba(255, 255, 255, 0.4)}.button--variant-on-image.sc-swirl-button:active{background:linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)),\n rgba(255, 255, 255, 0.5)}.button--variant-on-image.sc-swirl-button:disabled{color:var(--s-text-on-image);background:linear-gradient(0deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),\n rgba(255, 255, 255, 0.3)}.button--variant-on-image.sc-swirl-button:disabled .button__icon.sc-swirl-button{color:var(--s-icon-on-image)}.button--variant-on-image.sc-swirl-button .button__icon.sc-swirl-button{color:var(--s-icon-on-image)}.button--variant-floating.sc-swirl-button{color:var(--s-text-default);background-color:var(--s-surface-overlay-default);box-shadow:var(--s-shadow-level-1)}.button--variant-floating.sc-swirl-button:hover{color:var(--s-text-on-action-primary);background-color:var(--s-surface-overlay-hovered)}.button--variant-floating.sc-swirl-button:active{color:var(--s-text-on-action-primary);background-color:var(--s-surface-overlay-pressed)}.button--variant-floating.button--icon-only.sc-swirl-button{padding:var(--s-space-12)}.button--variant-floating.button--intent-primary.sc-swirl-button{padding:var(--s-space-12) var(--s-space-20);border-radius:1.5rem;color:var(--s-text-on-action-primary);background-color:var(--s-action-primary-default)}.button--variant-floating.button--intent-primary.sc-swirl-button:hover:not(:disabled){color:var(--s-text-on-action-primary);background-color:var(--s-action-primary-hovered)}.button--variant-floating.button--intent-primary.sc-swirl-button:active:not(:disabled){color:var(--s-text-on-action-primary);background-color:var(--s-action-primary-pressed)}.button--variant-floating.button--intent-primary.sc-swirl-button:disabled{color:var(--s-text-on-action-primary)}.button--variant-floating.button--intent-primary.sc-swirl-button:disabled .button__icon.sc-swirl-button{color:var(--s-icon-on-action-primary)}.button--variant-floating.button--intent-primary.button--icon-only.sc-swirl-button{padding:var(--s-space-12)}.button--variant-floating.button--intent-primary.sc-swirl-button .button__icon.sc-swirl-button{color:var(--s-icon-on-action-primary)}.button--variant-floating.sc-swirl-button .button__icon.sc-swirl-button{color:var(--s-icon-strong)}.button--icon-position-end.sc-swirl-button .button__icon.sc-swirl-button{margin-right:calc(-1 * var(--s-space-4));margin-left:0;order:2}.button--pill.sc-swirl-button{border-radius:1.25rem}.button--pill.button--size-l.sc-swirl-button{border-radius:1.5rem}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.button--pill.button--size-l.sc-swirl-button{border-radius:1.375rem}}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.button--pill.sc-swirl-button{border-radius:1.125rem}}.button--icon-only.sc-swirl-button{padding:var(--s-space-8)}.button--icon-only.button--pill.sc-swirl-button{border-top-left-radius:var(--swirl-icon-button-border-top-left-radius);border-top-right-radius:var(--swirl-icon-button-border-top-right-radius);border-bottom-right-radius:var(\n --swirl-icon-button-border-bottom-right-radius\n );border-bottom-left-radius:var(\n --swirl-icon-button-border-bottom-left-radius\n )}.button--icon-only.sc-swirl-button .button__icon.sc-swirl-button{margin-right:0;margin-left:0}.button__icon.sc-swirl-button{display:inline-flex;margin-left:calc(-1 * var(--s-space-4));color:var(--s-icon-default);order:0}.button__label.sc-swirl-button{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis;order:1}";
|
|
5
|
+
const swirlButtonCss = ".sc-swirl-button-h{display:inline-block;max-width:100%;flex-shrink:0}.sc-swirl-button-h *.sc-swirl-button{box-sizing:border-box}.button.sc-swirl-button{display:inline-flex;width:100%;padding:var(--s-space-8) var(--s-space-16);justify-content:center;align-items:center;border:none;border-top-left-radius:var(--swirl-button-border-top-left-radius);border-top-right-radius:var(--swirl-button-border-top-right-radius);border-bottom-right-radius:var(--swirl-button-border-bottom-right-radius);border-bottom-left-radius:var(--swirl-button-border-bottom-left-radius);color:var(--s-text-subdued);background-color:var(--swirl-ghost-button-background-default);font:inherit;font-weight:var(--s-font-weight-medium);line-height:var(--s-line-height-lg);text-decoration:none;cursor:pointer;gap:var(--s-space-8)}.button.sc-swirl-button:hover{background-color:var(--swirl-ghost-button-background-hovered)}.button.sc-swirl-button:active{background-color:var(--swirl-ghost-button-background-pressed)}.button.sc-swirl-button:disabled{color:var(--s-text-disabled);background-color:var(--swirl-ghost-button-background-default);cursor:default}.button.sc-swirl-button:disabled .button__icon.sc-swirl-button{color:var(--s-icon-disabled)}.button.sc-swirl-button:focus:not(:focus-visible){outline:none}.button.sc-swirl-button:focus-visible{outline-color:var(--s-focus-default);outline-offset:var(--s-space-2)}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.button.sc-swirl-button{padding:var(--s-space-8) var(--s-space-12);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm);gap:var(--s-space-4)}}.button--variant-ghost.button--intent-strong.sc-swirl-button:not(:disabled){color:var(--s-text-default)}.button--variant-ghost.button--intent-strong.sc-swirl-button:not(:disabled) .button__icon.sc-swirl-button{color:var(--s-icon-strong)}.button--variant-ghost.button--intent-primary.sc-swirl-button:not(:disabled){color:var(--s-text-highlight)}.button--variant-ghost.button--intent-primary.sc-swirl-button:not(:disabled) .button__icon.sc-swirl-button{color:var(--s-icon-highlight)}.button--variant-ghost.button--intent-critical.sc-swirl-button:not(:disabled){color:var(--s-text-critical)}.button--variant-ghost.button--intent-critical.sc-swirl-button:not(:disabled) .button__icon.sc-swirl-button{color:var(--s-icon-critical)}.button--variant-ghost.button--size-l.sc-swirl-button{padding:var(--s-space-12) var(--s-space-20)}.button--variant-ghost.button--size-l.button--icon-only.sc-swirl-button{padding:var(--s-space-12)}.button--variant-flat.sc-swirl-button{color:var(--s-text-default);background-color:var(--s-action-neutral-default)}.button--variant-flat.sc-swirl-button:hover{background-color:var(--s-action-neutral-hovered)}.button--variant-flat.sc-swirl-button:active{background-color:var(--s-action-neutral-pressed)}.button--variant-flat.sc-swirl-button:disabled{background-color:var(--s-action-neutral-disabled)}.button--variant-flat.button--intent-primary.sc-swirl-button:not(:disabled){color:var(--s-text-on-action-primary);background-color:var(--s-action-primary-default)}.button--variant-flat.button--intent-primary.sc-swirl-button:not(:disabled):hover{background-color:var(--s-action-primary-hovered)}.button--variant-flat.button--intent-primary.sc-swirl-button:not(:disabled):active{background-color:var(--s-action-primary-pressed)}.button--variant-flat.button--intent-primary.sc-swirl-button:not(:disabled) .button__icon.sc-swirl-button{color:var(--s-icon-on-action-primary)}.button--variant-flat.sc-swirl-button .button__icon.sc-swirl-button{color:var(--s-icon-strong)}.button--variant-outline.sc-swirl-button{color:var(--s-text-default);box-shadow:inset 0 0 0 var(--s-border-width-default) var(--s-border-strong)}.button--variant-outline.sc-swirl-button:disabled{box-shadow:inset 0 0 0 var(--s-border-width-default)\n var(--s-border-default)}.button--variant-outline.button--intent-critical.sc-swirl-button:not(:disabled){color:var(--s-text-critical);box-shadow:inset 0 0 0 var(--s-border-width-default)\n var(--s-border-critical)}.button--variant-outline.button--intent-critical.sc-swirl-button:not(:disabled) .button__icon.sc-swirl-button{color:var(--s-icon-critical)}.button--variant-outline.button--size-l.sc-swirl-button{padding:var(--s-space-12) var(--s-space-20)}.button--variant-outline.button--size-l.button--icon-only.sc-swirl-button{padding:var(--s-space-12)}.button--variant-outline.sc-swirl-button .button__icon.sc-swirl-button{color:var(--s-icon-default)}.button--variant-plain.sc-swirl-button{padding:0;border-radius:0;color:var(--s-interactive-neutral-default);background-color:transparent}.button--variant-plain.sc-swirl-button:hover:not(:disabled){color:var(--s-interactive-neutral-default);background-color:transparent;text-decoration:underline;text-underline-offset:var(--s-space-4)}.button--variant-plain.sc-swirl-button:hover:not(:disabled) .button__icon.sc-swirl-button{color:var(--s-interactive-neutral-default)}.button--variant-plain.sc-swirl-button:active:not(:disabled){color:var(--s-interactive-neutral-hovered);background-color:transparent}.button--variant-plain.sc-swirl-button:active:not(:disabled) .button__icon.sc-swirl-button{color:var(--s-interactive-neutral-hovered)}.button--variant-plain.sc-swirl-button:disabled{color:var(--s-interactive-neutral-disabled);background-color:transparent}.button--variant-plain.sc-swirl-button:disabled .button__icon.sc-swirl-button{color:var(--s-interactive-neutral-disabled)}.button--variant-plain.button--icon-only.sc-swirl-button{padding:0}.button--variant-plain.button--intent-strong.sc-swirl-button:not(:disabled){color:var(--s-text-default)}.button--variant-plain.button--intent-strong.sc-swirl-button:not(:disabled) .button__icon.sc-swirl-button{color:var(--s-icon-strong)}.button--variant-plain.button--intent-primary.sc-swirl-button{color:var(--s-interactive-primary-default)}.button--variant-plain.button--intent-primary.sc-swirl-button:hover{color:var(--s-interactive-primary-default)}.button--variant-plain.button--intent-primary.sc-swirl-button:hover .button__icon.sc-swirl-button{color:var(--s-interactive-primary-default)}.button--variant-plain.button--intent-primary.sc-swirl-button:active{color:var(--s-interactive-primary-hovered)}.button--variant-plain.button--intent-primary.sc-swirl-button:active .button__icon.sc-swirl-button{color:var(--s-interactive-primary-hovered)}.button--variant-plain.button--intent-primary.sc-swirl-button:disabled{color:var(--s-interactive-primary-disabled)}.button--variant-plain.button--intent-primary.sc-swirl-button:disabled .button__icon.sc-swirl-button{color:var(--s-interactive-primary-disabled)}.button--variant-plain.button--intent-primary.sc-swirl-button .button__icon.sc-swirl-button{color:var(--s-interactive-primary-default)}.button--variant-plain.sc-swirl-button .button__icon.sc-swirl-button{margin-left:0;color:var(--s-interactive-neutral-default)}.button--variant-on-image.sc-swirl-button{color:var(--s-text-on-image);background:rgba(0, 0, 0, 0.6)}.button--variant-on-image.sc-swirl-button:hover{background:rgba(0, 0, 0, 0.5)}.button--variant-on-image.sc-swirl-button:active{background:rgba(0, 0, 0, 0.4)}.button--variant-on-image.sc-swirl-button:disabled{color:var(--s-text-on-image);background:rgba(0, 0, 0, 0.3)}.button--variant-on-image.sc-swirl-button:disabled .button__icon.sc-swirl-button{color:var(--s-icon-on-image)}.button--variant-on-image.sc-swirl-button .button__icon.sc-swirl-button{color:var(--s-icon-on-image)}.button--variant-floating.sc-swirl-button{color:var(--s-text-default);background-color:var(--s-surface-overlay-default);box-shadow:var(--s-shadow-level-1)}.button--variant-floating.sc-swirl-button:hover{color:var(--s-text-on-action-primary);background-color:var(--s-surface-overlay-hovered)}.button--variant-floating.sc-swirl-button:active{color:var(--s-text-on-action-primary);background-color:var(--s-surface-overlay-pressed)}.button--variant-floating.button--icon-only.sc-swirl-button{padding:var(--s-space-12)}.button--variant-floating.button--intent-primary.sc-swirl-button{padding:var(--s-space-12) var(--s-space-20);border-radius:1.5rem;color:var(--s-text-on-action-primary);background-color:var(--s-action-primary-default)}.button--variant-floating.button--intent-primary.sc-swirl-button:hover:not(:disabled){color:var(--s-text-on-action-primary);background-color:var(--s-action-primary-hovered)}.button--variant-floating.button--intent-primary.sc-swirl-button:active:not(:disabled){color:var(--s-text-on-action-primary);background-color:var(--s-action-primary-pressed)}.button--variant-floating.button--intent-primary.sc-swirl-button:disabled{color:var(--s-text-on-action-primary)}.button--variant-floating.button--intent-primary.sc-swirl-button:disabled .button__icon.sc-swirl-button{color:var(--s-icon-on-action-primary)}.button--variant-floating.button--intent-primary.button--icon-only.sc-swirl-button{padding:var(--s-space-12)}.button--variant-floating.button--intent-primary.sc-swirl-button .button__icon.sc-swirl-button{color:var(--s-icon-on-action-primary)}.button--variant-floating.sc-swirl-button .button__icon.sc-swirl-button{color:var(--s-icon-strong)}.button--icon-position-end.sc-swirl-button .button__icon.sc-swirl-button{margin-right:calc(-1 * var(--s-space-4));margin-left:0;order:2}.button--pill.sc-swirl-button{border-radius:1.25rem}.button--pill.button--size-l.sc-swirl-button{border-radius:1.5rem}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.button--pill.button--size-l.sc-swirl-button{border-radius:1.375rem}}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.button--pill.sc-swirl-button{border-radius:1.125rem}}.button--icon-only.sc-swirl-button{padding:var(--s-space-8)}.button--icon-only.button--pill.sc-swirl-button{border-top-left-radius:var(--swirl-icon-button-border-top-left-radius);border-top-right-radius:var(--swirl-icon-button-border-top-right-radius);border-bottom-right-radius:var(\n --swirl-icon-button-border-bottom-right-radius\n );border-bottom-left-radius:var(\n --swirl-icon-button-border-bottom-left-radius\n )}.button--icon-only.sc-swirl-button .button__icon.sc-swirl-button{margin-right:0;margin-left:0}.button__icon.sc-swirl-button{display:inline-flex;margin-left:calc(-1 * var(--s-space-4));color:var(--s-icon-default);order:0}.button__label.sc-swirl-button{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis;order:1}";
|
|
6
6
|
|
|
7
7
|
const SwirlButton = /*@__PURE__*/ proxyCustomElement(class SwirlButton extends HTMLElement {
|
|
8
8
|
constructor() {
|