@basic-ui-components-stc/basic-ui-components 1.0.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/LICENSE +21 -0
- package/dist/assets/fonts/symbol-defs.svg +939 -0
- package/dist/assets/images/404.svg +104 -0
- package/dist/assets/images/no-cards.svg +5 -0
- package/dist/assets/images/no-connection.svg +56 -0
- package/dist/assets/images/no-data.svg +38 -0
- package/dist/assets/images/no-lists.svg +10 -0
- package/dist/assets/images/not-authorized.svg +6 -0
- package/dist/assets/images/user.svg +4 -0
- package/dist/assets/js/svgxuse.min.js +12 -0
- package/dist/assets/scss/_bootstrap.scss +16 -0
- package/dist/assets/scss/_colors.scss +5 -0
- package/dist/assets/scss/_fonts.scss +278 -0
- package/dist/assets/scss/_general.scss +401 -0
- package/dist/assets/scss/_reset.scss +67 -0
- package/dist/assets/scss/_variables.scss +18 -0
- package/dist/assets/scss/angular-material/_accordion.scss +131 -0
- package/dist/assets/scss/angular-material/_checkbox.scss +59 -0
- package/dist/assets/scss/angular-material/_chip-list.scss +33 -0
- package/dist/assets/scss/angular-material/_chips.scss +46 -0
- package/dist/assets/scss/angular-material/_datepicker.scss +192 -0
- package/dist/assets/scss/angular-material/_form-field.scss +383 -0
- package/dist/assets/scss/angular-material/_popover.scss +384 -0
- package/dist/assets/scss/angular-material/_popups.scss +127 -0
- package/dist/assets/scss/angular-material/_radiobox.scss +67 -0
- package/dist/assets/scss/angular-material/_sidenav.scss +46 -0
- package/dist/assets/scss/angular-material/_slider.scss +131 -0
- package/dist/assets/scss/angular-material/_stepper.scss +162 -0
- package/dist/assets/scss/angular-material/_tab.scss +87 -0
- package/dist/assets/scss/angular-material/_table.scss +108 -0
- package/dist/assets/scss/angular-material/_toggle-slide.scss +108 -0
- package/dist/assets/scss/angular-material/_toggle.scss +112 -0
- package/dist/assets/scss/angular-material/_tooltip.scss +74 -0
- package/dist/assets/scss/angular-material/material.scss +16 -0
- package/dist/assets/scss/base.scss +66 -0
- package/dist/assets/scss/components/_breadcrumb.scss +63 -0
- package/dist/assets/scss/components/_card.scss +24 -0
- package/dist/assets/scss/components/_charts.scss +190 -0
- package/dist/assets/scss/components/_components.scss +19 -0
- package/dist/assets/scss/components/_full-calendar.scss +391 -0
- package/dist/assets/scss/components/_helper.scss +444 -0
- package/dist/assets/scss/components/_images.scss +67 -0
- package/dist/assets/scss/components/_info-section.scss +112 -0
- package/dist/assets/scss/components/_introJs.scss +109 -0
- package/dist/assets/scss/components/_lists.scss +171 -0
- package/dist/assets/scss/components/_loading.scss +38 -0
- package/dist/assets/scss/components/_ngx-pagination.scss +66 -0
- package/dist/assets/scss/components/_page-title.scss +18 -0
- package/dist/assets/scss/components/_progress.scss +70 -0
- package/dist/assets/scss/components/_repeated-list.scss +38 -0
- package/dist/assets/scss/components/_scrollbar.scss +32 -0
- package/dist/assets/scss/components/_status.scss +119 -0
- package/dist/assets/scss/components/_stc-icons.scss +1051 -0
- package/dist/assets/scss/components/_toaster.scss +109 -0
- package/dist/assets/scss/components/_user-list.scss +40 -0
- package/dist/assets/scss/hub/_hub.scss +756 -0
- package/dist/assets/scss/hub/_new-hub.scss +115 -0
- package/dist/assets/scss/mixins/_button-mixin.scss +98 -0
- package/dist/assets/scss/mixins/_colors-mixin.scss +58 -0
- package/dist/assets/scss/mixins/_fonts-mixin.scss +39 -0
- package/dist/assets/scss/mixins/_radius-mixin.scss +12 -0
- package/dist/assets/scss/mixins/mixins.scss +4 -0
- package/dist/assets/scss/web-components/_alert.scss +32 -0
- package/dist/assets/scss/web-components/_buttons.scss +94 -0
- package/dist/assets/scss/web-components/_status.scss +66 -0
- package/dist/assets/scss/web-components/web-components.scss +3 -0
- package/dist/assets/scss-old/_bootstrap.scss +16 -0
- package/dist/assets/scss-old/_colors.scss +5 -0
- package/dist/assets/scss-old/_fonts.scss +273 -0
- package/dist/assets/scss-old/_general.scss +401 -0
- package/dist/assets/scss-old/_reset.scss +60 -0
- package/dist/assets/scss-old/_variables.scss +18 -0
- package/dist/assets/scss-old/angular-material/_accordion.scss +130 -0
- package/dist/assets/scss-old/angular-material/_checkbox.scss +48 -0
- package/dist/assets/scss-old/angular-material/_chip-list.scss +32 -0
- package/dist/assets/scss-old/angular-material/_chips.scss +42 -0
- package/dist/assets/scss-old/angular-material/_datepicker.scss +191 -0
- package/dist/assets/scss-old/angular-material/_form-field.scss +665 -0
- package/dist/assets/scss-old/angular-material/_popover.scss +352 -0
- package/dist/assets/scss-old/angular-material/_popups.scss +125 -0
- package/dist/assets/scss-old/angular-material/_radiobox.scss +40 -0
- package/dist/assets/scss-old/angular-material/_sidenav.scss +46 -0
- package/dist/assets/scss-old/angular-material/_slider.scss +94 -0
- package/dist/assets/scss-old/angular-material/_stepper.scss +162 -0
- package/dist/assets/scss-old/angular-material/_tab.scss +68 -0
- package/dist/assets/scss-old/angular-material/_table.scss +101 -0
- package/dist/assets/scss-old/angular-material/_toggle-slide.scss +59 -0
- package/dist/assets/scss-old/angular-material/_toggle.scss +115 -0
- package/dist/assets/scss-old/angular-material/_tooltip.scss +46 -0
- package/dist/assets/scss-old/angular-material/material.scss +16 -0
- package/dist/assets/scss-old/base.scss +63 -0
- package/dist/assets/scss-old/components/_breadcrumb.scss +63 -0
- package/dist/assets/scss-old/components/_card.scss +24 -0
- package/dist/assets/scss-old/components/_components.scss +16 -0
- package/dist/assets/scss-old/components/_full-calendar.scss +391 -0
- package/dist/assets/scss-old/components/_helper.scss +427 -0
- package/dist/assets/scss-old/components/_images.scss +67 -0
- package/dist/assets/scss-old/components/_info-section.scss +112 -0
- package/dist/assets/scss-old/components/_introJs.scss +109 -0
- package/dist/assets/scss-old/components/_lists.scss +105 -0
- package/dist/assets/scss-old/components/_loading.scss +38 -0
- package/dist/assets/scss-old/components/_ngx-pagination.scss +66 -0
- package/dist/assets/scss-old/components/_page-title.scss +18 -0
- package/dist/assets/scss-old/components/_progress.scss +70 -0
- package/dist/assets/scss-old/components/_scrollbar.scss +32 -0
- package/dist/assets/scss-old/components/_status.scss +119 -0
- package/dist/assets/scss-old/components/_stc-icons.scss +955 -0
- package/dist/assets/scss-old/components/_toaster.scss +125 -0
- package/dist/assets/scss-old/hub/_hub.scss +756 -0
- package/dist/assets/scss-old/hub/_new-hub.scss +115 -0
- package/dist/assets/scss-old/mixins/_button-mixin.scss +98 -0
- package/dist/assets/scss-old/mixins/_colors-mixin.scss +56 -0
- package/dist/assets/scss-old/mixins/_fonts-mixin.scss +38 -0
- package/dist/assets/scss-old/mixins/_radius-mixin.scss +11 -0
- package/dist/assets/scss-old/mixins/mixins.scss +4 -0
- package/dist/assets/scss-old/web-components/_alert.scss +32 -0
- package/dist/assets/scss-old/web-components/_buttons.scss +92 -0
- package/dist/assets/scss-old/web-components/_status.scss +66 -0
- package/dist/assets/scss-old/web-components/web-components.scss +3 -0
- package/dist/cjs/ds-activity-log_16.cjs.entry.js +767 -0
- package/dist/cjs/ds-components.cjs.js +23 -0
- package/dist/cjs/ds-loading-page.cjs.entry.js +19 -0
- package/dist/cjs/ds-splash.cjs.entry.js +20 -0
- package/dist/cjs/index-67056d48.js +2391 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/loader.cjs.js +22 -0
- package/dist/collection/assets/fonts/symbol-defs.svg +939 -0
- package/dist/collection/assets/images/404.svg +104 -0
- package/dist/collection/assets/images/no-cards.svg +5 -0
- package/dist/collection/assets/images/no-connection.svg +56 -0
- package/dist/collection/assets/images/no-data.svg +38 -0
- package/dist/collection/assets/images/no-lists.svg +10 -0
- package/dist/collection/assets/images/not-authorized.svg +6 -0
- package/dist/collection/assets/images/user.svg +4 -0
- package/dist/collection/assets/js/svgxuse.min.js +12 -0
- package/dist/collection/collection-manifest.json +29 -0
- package/dist/collection/components/ds-activity-log/ds-activity-log.css +91 -0
- package/dist/collection/components/ds-activity-log/ds-activity-log.js +105 -0
- package/dist/collection/components/ds-alert/ds-alert.css +34 -0
- package/dist/collection/components/ds-alert/ds-alert.js +61 -0
- package/dist/collection/components/ds-approvals/ds-approvals.css +60 -0
- package/dist/collection/components/ds-approvals/ds-approvals.js +71 -0
- package/dist/collection/components/ds-attachments/ds-attachments.css +84 -0
- package/dist/collection/components/ds-attachments/ds-attachments.js +229 -0
- package/dist/collection/components/ds-avatar/ds-avatar.css +84 -0
- package/dist/collection/components/ds-avatar/ds-avatar.js +138 -0
- package/dist/collection/components/ds-button/ds-button.css +196 -0
- package/dist/collection/components/ds-button/ds-button.js +313 -0
- package/dist/collection/components/ds-card/ds-card.css +53 -0
- package/dist/collection/components/ds-card/ds-card.js +64 -0
- package/dist/collection/components/ds-file-picker/ds-file-picker.css +79 -0
- package/dist/collection/components/ds-file-picker/ds-file-picker.js +67 -0
- package/dist/collection/components/ds-icon/ds-icon.js +55 -0
- package/dist/collection/components/ds-icon/stc-icon.css +1403 -0
- package/dist/collection/components/ds-loading-chart/ds-loading-chart.css +80 -0
- package/dist/collection/components/ds-loading-chart/ds-loading-chart.js +70 -0
- package/dist/collection/components/ds-loading-page/ds-loading-page.css +116 -0
- package/dist/collection/components/ds-loading-page/ds-loading-page.js +18 -0
- package/dist/collection/components/ds-loading-table/ds-loading-table.css +3 -0
- package/dist/collection/components/ds-loading-table/ds-loading-table.js +90 -0
- package/dist/collection/components/ds-message/ds-message.css +28 -0
- package/dist/collection/components/ds-message/ds-message.js +95 -0
- package/dist/collection/components/ds-sla/ds-sla.css +6 -0
- package/dist/collection/components/ds-sla/ds-sla.js +196 -0
- package/dist/collection/components/ds-slider/ds-slider.css +111 -0
- package/dist/collection/components/ds-slider/ds-slider.js +329 -0
- package/dist/collection/components/ds-splash/ds-splash.css +62 -0
- package/dist/collection/components/ds-splash/ds-splash.js +42 -0
- package/dist/collection/components/ds-status/ds-status.css +47 -0
- package/dist/collection/components/ds-status/ds-status.js +106 -0
- package/dist/collection/components/ds-user-card/ds-user-card.css +54 -0
- package/dist/collection/components/ds-user-card/ds-user-card.js +102 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/utils/ej2.min.js +10 -0
- package/dist/collection/utils/generate-icons.js +72 -0
- package/dist/collection/utils/myScripts.js +0 -0
- package/dist/collection/utils/rollup-utils.js +41 -0
- package/dist/collection/utils/svgxuse.min.js +12 -0
- package/dist/collection/utils/utils.js +1 -0
- package/dist/components/ds-activity-log.d.ts +11 -0
- package/dist/components/ds-activity-log.js +105 -0
- package/dist/components/ds-alert.d.ts +11 -0
- package/dist/components/ds-alert.js +44 -0
- package/dist/components/ds-approvals.d.ts +11 -0
- package/dist/components/ds-approvals.js +76 -0
- package/dist/components/ds-attachments.d.ts +11 -0
- package/dist/components/ds-attachments.js +6 -0
- package/dist/components/ds-attachments2.js +103 -0
- package/dist/components/ds-avatar.d.ts +11 -0
- package/dist/components/ds-avatar.js +6 -0
- package/dist/components/ds-avatar2.js +72 -0
- package/dist/components/ds-button.d.ts +11 -0
- package/dist/components/ds-button.js +6 -0
- package/dist/components/ds-button2.js +99 -0
- package/dist/components/ds-card.d.ts +11 -0
- package/dist/components/ds-card.js +58 -0
- package/dist/components/ds-file-picker.d.ts +11 -0
- package/dist/components/ds-file-picker.js +43 -0
- package/dist/components/ds-icon.d.ts +11 -0
- package/dist/components/ds-icon.js +6 -0
- package/dist/components/ds-icon2.js +44 -0
- package/dist/components/ds-loading-chart.d.ts +11 -0
- package/dist/components/ds-loading-chart.js +60 -0
- package/dist/components/ds-loading-page.d.ts +11 -0
- package/dist/components/ds-loading-page.js +33 -0
- package/dist/components/ds-loading-table.d.ts +11 -0
- package/dist/components/ds-loading-table.js +49 -0
- package/dist/components/ds-message.d.ts +11 -0
- package/dist/components/ds-message.js +61 -0
- package/dist/components/ds-sla.d.ts +11 -0
- package/dist/components/ds-sla.js +71 -0
- package/dist/components/ds-slider.d.ts +11 -0
- package/dist/components/ds-slider.js +235 -0
- package/dist/components/ds-splash.d.ts +11 -0
- package/dist/components/ds-splash.js +36 -0
- package/dist/components/ds-status.d.ts +11 -0
- package/dist/components/ds-status.js +6 -0
- package/dist/components/ds-status2.js +48 -0
- package/dist/components/ds-user-card.d.ts +11 -0
- package/dist/components/ds-user-card.js +6 -0
- package/dist/components/ds-user-card2.js +58 -0
- package/dist/components/index.d.ts +48 -0
- package/dist/components/index.js +19 -0
- package/dist/ds-components/ds-components.css +5780 -0
- package/dist/ds-components/ds-components.esm.js +1 -0
- package/dist/ds-components/index.esm.js +0 -0
- package/dist/ds-components/p-2bf203e1.entry.js +1 -0
- package/dist/ds-components/p-60a24d37.entry.js +1 -0
- package/dist/ds-components/p-a4922f25.entry.js +1 -0
- package/dist/ds-components/p-f85fbdb4.js +2 -0
- package/dist/esm/ds-activity-log_16.entry.js +748 -0
- package/dist/esm/ds-components.js +18 -0
- package/dist/esm/ds-loading-page.entry.js +15 -0
- package/dist/esm/ds-splash.entry.js +16 -0
- package/dist/esm/index-b257ae8c.js +2362 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/loader.js +18 -0
- package/dist/esm/polyfills/core-js.js +11 -0
- package/dist/esm/polyfills/css-shim.js +1 -0
- package/dist/esm/polyfills/dom.js +79 -0
- package/dist/esm/polyfills/es5-html-element.js +1 -0
- package/dist/esm/polyfills/index.js +34 -0
- package/dist/esm/polyfills/system.js +6 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/types/components/ds-activity-log/ds-activity-log.d.ts +22 -0
- package/dist/types/components/ds-alert/ds-alert.d.ts +5 -0
- package/dist/types/components/ds-approvals/ds-approvals.d.ts +18 -0
- package/dist/types/components/ds-attachments/ds-attachments.d.ts +26 -0
- package/dist/types/components/ds-avatar/ds-avatar.d.ts +14 -0
- package/dist/types/components/ds-button/ds-button.d.ts +23 -0
- package/dist/types/components/ds-card/ds-card.d.ts +20 -0
- package/dist/types/components/ds-file-picker/ds-file-picker.d.ts +9 -0
- package/dist/types/components/ds-icon/ds-icon.d.ts +4 -0
- package/dist/types/components/ds-loading-chart/ds-loading-chart.d.ts +9 -0
- package/dist/types/components/ds-loading-page/ds-loading-page.d.ts +3 -0
- package/dist/types/components/ds-loading-table/ds-loading-table.d.ts +8 -0
- package/dist/types/components/ds-message/ds-message.d.ts +8 -0
- package/dist/types/components/ds-sla/ds-sla.d.ts +18 -0
- package/dist/types/components/ds-slider/ds-slider.d.ts +50 -0
- package/dist/types/components/ds-splash/ds-splash.d.ts +4 -0
- package/dist/types/components/ds-status/ds-status.d.ts +8 -0
- package/dist/types/components/ds-user-card/ds-user-card.d.ts +15 -0
- package/dist/types/components.d.ts +389 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +1637 -0
- package/dist/types/utils/utils.d.ts +3 -0
- package/hydrate/index.d.ts +217 -0
- package/hydrate/index.js +7561 -0
- package/hydrate/package.json +6 -0
- package/loader/cdn.js +3 -0
- package/loader/index.cjs.js +3 -0
- package/loader/index.d.ts +21 -0
- package/loader/index.es2017.js +3 -0
- package/loader/index.js +4 -0
- package/loader/package.json +11 -0
- package/package.json +40 -0
- package/readme.md +75 -0
@@ -0,0 +1,138 @@
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
2
|
+
import defaultUser from "../../assets/images/user.svg";
|
3
|
+
export class DsAvatar {
|
4
|
+
constructor() {
|
5
|
+
this.colors = ["#00C48C", "#FF375E", "#50008C", "#1BCED8", "#FF6A39", "#A54EE1"];
|
6
|
+
this.handleImageLoad = () => {
|
7
|
+
this.imageStatus = "loaded";
|
8
|
+
};
|
9
|
+
this.handleImageError = () => {
|
10
|
+
this.imageStatus = "error";
|
11
|
+
if (this.label.length < 1) {
|
12
|
+
this.imageStatus = "loaded";
|
13
|
+
this.image = defaultUser;
|
14
|
+
}
|
15
|
+
};
|
16
|
+
this.image = undefined;
|
17
|
+
this.label = "";
|
18
|
+
this.size = "medium";
|
19
|
+
this.shape = "circle";
|
20
|
+
this.imageStatus = "loading";
|
21
|
+
}
|
22
|
+
watchImageChange(newValue, oldValue) {
|
23
|
+
// console.log('The old value of busy is: ', oldValue);
|
24
|
+
// console.log('The new value of busy is: ', newValue);
|
25
|
+
if (newValue !== oldValue) {
|
26
|
+
this.imageStatus = "loading";
|
27
|
+
}
|
28
|
+
}
|
29
|
+
getRandomColor() {
|
30
|
+
if (this.imageStatus === "loaded" || this.imageStatus === "loading")
|
31
|
+
return 'transparent';
|
32
|
+
return this.colors[Math.floor(Math.random() * this.colors.length)];
|
33
|
+
}
|
34
|
+
render() {
|
35
|
+
return (h(Host, null, h("figure", { part: "base", class: `avatar avatar--${this.size} avatar--${this.shape}`, style: { '--avatar-bg': this.getRandomColor() } }, (this.imageStatus === "loaded" || this.imageStatus === "loading") && h("img", { src: this.image, alt: this.label || "No Label", onLoad: this.handleImageLoad, onError: this.handleImageError, style: { display: this.imageStatus === "loading" ? 'none' : '' } }), this.imageStatus === "loading" && h("div", { part: "loading", class: "avatar--loader" }), (this.imageStatus === "error" && this.label) && h("div", { part: "text", class: "avatar--text" }, this.label.split(" ").length > 1
|
36
|
+
? `${this.label.split(" ")[0][0]} ${this.label.split(" ")[this.label.split(" ").length - 1][0]}`
|
37
|
+
: this.label.slice(0, 2).split('').join(" ")))));
|
38
|
+
}
|
39
|
+
static get is() { return "ds-avatar"; }
|
40
|
+
static get originalStyleUrls() {
|
41
|
+
return {
|
42
|
+
"$": ["ds-avatar.scss"]
|
43
|
+
};
|
44
|
+
}
|
45
|
+
static get styleUrls() {
|
46
|
+
return {
|
47
|
+
"$": ["ds-avatar.css"]
|
48
|
+
};
|
49
|
+
}
|
50
|
+
static get assetsDirs() { return ["assets"]; }
|
51
|
+
static get properties() {
|
52
|
+
return {
|
53
|
+
"image": {
|
54
|
+
"type": "string",
|
55
|
+
"mutable": true,
|
56
|
+
"complexType": {
|
57
|
+
"original": "string",
|
58
|
+
"resolved": "string",
|
59
|
+
"references": {}
|
60
|
+
},
|
61
|
+
"required": false,
|
62
|
+
"optional": false,
|
63
|
+
"docs": {
|
64
|
+
"tags": [],
|
65
|
+
"text": ""
|
66
|
+
},
|
67
|
+
"attribute": "image",
|
68
|
+
"reflect": true
|
69
|
+
},
|
70
|
+
"label": {
|
71
|
+
"type": "string",
|
72
|
+
"mutable": true,
|
73
|
+
"complexType": {
|
74
|
+
"original": "string",
|
75
|
+
"resolved": "string",
|
76
|
+
"references": {}
|
77
|
+
},
|
78
|
+
"required": false,
|
79
|
+
"optional": false,
|
80
|
+
"docs": {
|
81
|
+
"tags": [],
|
82
|
+
"text": ""
|
83
|
+
},
|
84
|
+
"attribute": "label",
|
85
|
+
"reflect": true,
|
86
|
+
"defaultValue": "\"\""
|
87
|
+
},
|
88
|
+
"size": {
|
89
|
+
"type": "string",
|
90
|
+
"mutable": false,
|
91
|
+
"complexType": {
|
92
|
+
"original": "\"xx-small\" | \"x-small\" | \"small\" | \"medium\" | \"large\"",
|
93
|
+
"resolved": "\"large\" | \"medium\" | \"small\" | \"x-small\" | \"xx-small\"",
|
94
|
+
"references": {}
|
95
|
+
},
|
96
|
+
"required": false,
|
97
|
+
"optional": false,
|
98
|
+
"docs": {
|
99
|
+
"tags": [],
|
100
|
+
"text": ""
|
101
|
+
},
|
102
|
+
"attribute": "size",
|
103
|
+
"reflect": false,
|
104
|
+
"defaultValue": "\"medium\""
|
105
|
+
},
|
106
|
+
"shape": {
|
107
|
+
"type": "string",
|
108
|
+
"mutable": false,
|
109
|
+
"complexType": {
|
110
|
+
"original": "\"circle\" | \"square\" | \"rounded\"",
|
111
|
+
"resolved": "\"circle\" | \"rounded\" | \"square\"",
|
112
|
+
"references": {}
|
113
|
+
},
|
114
|
+
"required": false,
|
115
|
+
"optional": false,
|
116
|
+
"docs": {
|
117
|
+
"tags": [],
|
118
|
+
"text": ""
|
119
|
+
},
|
120
|
+
"attribute": "shape",
|
121
|
+
"reflect": false,
|
122
|
+
"defaultValue": "\"circle\""
|
123
|
+
}
|
124
|
+
};
|
125
|
+
}
|
126
|
+
static get states() {
|
127
|
+
return {
|
128
|
+
"imageStatus": {}
|
129
|
+
};
|
130
|
+
}
|
131
|
+
static get elementRef() { return "el"; }
|
132
|
+
static get watchers() {
|
133
|
+
return [{
|
134
|
+
"propName": "image",
|
135
|
+
"methodName": "watchImageChange"
|
136
|
+
}];
|
137
|
+
}
|
138
|
+
}
|
@@ -0,0 +1,196 @@
|
|
1
|
+
:host {
|
2
|
+
display: inline-block;
|
3
|
+
--btn-color: white;
|
4
|
+
--btn-bg-color: transparent;
|
5
|
+
--btn-border-color: var(--coral);
|
6
|
+
--btn-overlay-color: var(--coral);
|
7
|
+
--btn-disabled: gray;
|
8
|
+
--btn-min-width: var(--default-size);
|
9
|
+
--btn-width: inherit;
|
10
|
+
--btn-height: var(--default-size);
|
11
|
+
--icon-color: inherit;
|
12
|
+
--icon-size: 1.3rem;
|
13
|
+
}
|
14
|
+
:host .button {
|
15
|
+
display: inline-flex;
|
16
|
+
align-items: center;
|
17
|
+
justify-content: center;
|
18
|
+
height: var(--btn-height);
|
19
|
+
min-width: var(--btn-min-width);
|
20
|
+
width: var(--btn-width, inherit);
|
21
|
+
border-style: solid;
|
22
|
+
text-decoration: none;
|
23
|
+
user-select: none;
|
24
|
+
white-space: nowrap;
|
25
|
+
vertical-align: middle;
|
26
|
+
border-width: var(--border-width, 1px);
|
27
|
+
border-color: var(--btn-border-color);
|
28
|
+
border-radius: var(--btn-radius, 3px);
|
29
|
+
color: var(--btn-color);
|
30
|
+
background-color: var(--btn-bg-color);
|
31
|
+
font-family: var(--font-family);
|
32
|
+
font-weight: var(--btn-fw, 400);
|
33
|
+
font-size: var(--btn-fs, 1rem);
|
34
|
+
padding: var(--btn-padding, 0 1rem);
|
35
|
+
position: relative;
|
36
|
+
cursor: pointer;
|
37
|
+
box-shadow: var(--btn-shadow, none);
|
38
|
+
transition: var(--default-transition);
|
39
|
+
}
|
40
|
+
:host .button:active {
|
41
|
+
transform: scale(0.94);
|
42
|
+
}
|
43
|
+
:host .button:hover {
|
44
|
+
color: var(--btn-overlay-color);
|
45
|
+
}
|
46
|
+
:host .button:hover .button__focus-overlay {
|
47
|
+
width: 0;
|
48
|
+
}
|
49
|
+
:host .button__focus-overlay {
|
50
|
+
content: "";
|
51
|
+
background-color: var(--btn-overlay-color);
|
52
|
+
border-radius: var(--btn-radius, 3px);
|
53
|
+
bottom: -2px;
|
54
|
+
left: -2px;
|
55
|
+
position: absolute;
|
56
|
+
right: -2px;
|
57
|
+
top: -2px;
|
58
|
+
transition: all 0.4s;
|
59
|
+
width: calc(100% + 4px);
|
60
|
+
height: calc(100% + 4px);
|
61
|
+
}
|
62
|
+
:host .button--square {
|
63
|
+
--btn-padding: 0;
|
64
|
+
}
|
65
|
+
:host .button--circle {
|
66
|
+
--btn-radius: 50%;
|
67
|
+
--btn-padding: 0;
|
68
|
+
}
|
69
|
+
:host .button--circle:hover .button__focus-overlay {
|
70
|
+
opacity: 0;
|
71
|
+
transform: scale(0);
|
72
|
+
width: calc(100% + 4px);
|
73
|
+
}
|
74
|
+
:host .button--circle.button--outline:hover .button__focus-overlay {
|
75
|
+
transform: scale(1);
|
76
|
+
opacity: 1;
|
77
|
+
}
|
78
|
+
:host .button--circle.button--outline .button__focus-overlay {
|
79
|
+
transform: scale(0);
|
80
|
+
opacity: 0;
|
81
|
+
width: calc(100% + 4px);
|
82
|
+
}
|
83
|
+
:host .button--circle .button__focus-overlay {
|
84
|
+
border-radius: 50%;
|
85
|
+
}
|
86
|
+
:host .button--small {
|
87
|
+
--btn-height: var(--default-size-sm);
|
88
|
+
--btn-min-width: var(--default-size-sm);
|
89
|
+
--btn-padding: 0.75rem;
|
90
|
+
--btn-fs: 1rem;
|
91
|
+
--border-width: 1px;
|
92
|
+
}
|
93
|
+
:host .button--medium {
|
94
|
+
--btn-height: var(--default-size);
|
95
|
+
--btn-min-width: var(--default-size);
|
96
|
+
}
|
97
|
+
:host .button--large {
|
98
|
+
--btn-height: var(--default-size-lg);
|
99
|
+
--btn-min-width: var(--default-size-lg);
|
100
|
+
--btn-fs: 1.2rem;
|
101
|
+
}
|
102
|
+
:host .button--icon {
|
103
|
+
--btn-padding: 0;
|
104
|
+
--btn-fs: var(--icon-size);
|
105
|
+
--btn-color: var(--icon-color);
|
106
|
+
--btn-bg-color: var(--light-gray);
|
107
|
+
--btn-border-color: var(--light-gray);
|
108
|
+
transition: var(--default-transition);
|
109
|
+
}
|
110
|
+
:host .button--icon:hover {
|
111
|
+
--btn-bg-color: var(--light-gray);
|
112
|
+
opacity: 0.9;
|
113
|
+
--btn-color: inherit;
|
114
|
+
}
|
115
|
+
:host .button--icon .button__focus-overlay {
|
116
|
+
display: none;
|
117
|
+
}
|
118
|
+
:host .button--no-gap__wrapper {
|
119
|
+
gap: 0;
|
120
|
+
}
|
121
|
+
:host .button--text {
|
122
|
+
--border-width: 0;
|
123
|
+
--btn-color: var(--coral);
|
124
|
+
}
|
125
|
+
:host .button--text.button--underlined {
|
126
|
+
text-decoration: underline;
|
127
|
+
}
|
128
|
+
:host .button--text .button__focus-overlay {
|
129
|
+
transform: scale(0);
|
130
|
+
opacity: 0;
|
131
|
+
width: 0;
|
132
|
+
}
|
133
|
+
:host .button--text:hover {
|
134
|
+
text-decoration: underline;
|
135
|
+
}
|
136
|
+
:host .button--flat .button__focus-overlay {
|
137
|
+
width: 100%;
|
138
|
+
height: 100%;
|
139
|
+
top: 0;
|
140
|
+
left: 0;
|
141
|
+
bottom: 0;
|
142
|
+
}
|
143
|
+
:host .button--outline {
|
144
|
+
--btn-color: var(--coral);
|
145
|
+
color: var(--btn-color);
|
146
|
+
background-color: var(--btn-bg-color);
|
147
|
+
overflow: hidden;
|
148
|
+
}
|
149
|
+
:host .button--outline:hover {
|
150
|
+
color: white;
|
151
|
+
overflow: visible;
|
152
|
+
}
|
153
|
+
:host .button--outline:hover .button__focus-overlay {
|
154
|
+
width: calc(100% + 4px);
|
155
|
+
}
|
156
|
+
:host .button--outline .button__focus-overlay {
|
157
|
+
width: 0;
|
158
|
+
}
|
159
|
+
:host .button--disabled, :host .button--loading {
|
160
|
+
opacity: 0.3;
|
161
|
+
cursor: not-allowed;
|
162
|
+
pointer-events: none;
|
163
|
+
}
|
164
|
+
:host .button--disabled:active, :host .button--loading:active {
|
165
|
+
transform: scale(1);
|
166
|
+
}
|
167
|
+
:host .button__wrapper {
|
168
|
+
align-items: center;
|
169
|
+
display: flex;
|
170
|
+
gap: var(--btn-label-p, 0.5rem);
|
171
|
+
justify-content: center;
|
172
|
+
position: relative;
|
173
|
+
}
|
174
|
+
:host .button__label, :host .button__prefix, :host .button__suffix {
|
175
|
+
display: inline-flex;
|
176
|
+
align-items: center;
|
177
|
+
justify-content: center;
|
178
|
+
}
|
179
|
+
:host .button__label:empty, :host .button__prefix:empty, :host .button__suffix:empty {
|
180
|
+
display: none;
|
181
|
+
}
|
182
|
+
:host .button .spin {
|
183
|
+
display: inline-flex;
|
184
|
+
animation-name: spin;
|
185
|
+
animation-duration: 400ms;
|
186
|
+
animation-iteration-count: infinite;
|
187
|
+
animation-timing-function: linear;
|
188
|
+
}
|
189
|
+
@keyframes spin {
|
190
|
+
from {
|
191
|
+
transform: rotate(0deg);
|
192
|
+
}
|
193
|
+
to {
|
194
|
+
transform: rotate(360deg);
|
195
|
+
}
|
196
|
+
}
|
@@ -0,0 +1,313 @@
|
|
1
|
+
import { h, Host } from '@stencil/core';
|
2
|
+
export class DsButton {
|
3
|
+
constructor() {
|
4
|
+
this.disabled = undefined;
|
5
|
+
this.loading = undefined;
|
6
|
+
this.caret = undefined;
|
7
|
+
this.icon = undefined;
|
8
|
+
this.circle = undefined;
|
9
|
+
this.square = undefined;
|
10
|
+
this.underlined = undefined;
|
11
|
+
this.type = 'button';
|
12
|
+
this.color = undefined;
|
13
|
+
this.shape = 'default';
|
14
|
+
this.size = 'medium';
|
15
|
+
this.href = undefined;
|
16
|
+
this.download = undefined;
|
17
|
+
this.target = undefined;
|
18
|
+
}
|
19
|
+
componentWillLoad() {
|
20
|
+
this.hasPrefixSlot = !!this.hostElement.querySelector('[slot="prefix"]');
|
21
|
+
this.hasSuffixSlot = !!this.hostElement.querySelector('[slot="suffix"]');
|
22
|
+
}
|
23
|
+
render() {
|
24
|
+
const classMap = this.getCssClassMap();
|
25
|
+
const TagType = this.href === undefined ? 'button' : 'a';
|
26
|
+
const attrs = TagType === 'button'
|
27
|
+
? { type: this.type }
|
28
|
+
: {
|
29
|
+
download: this.download,
|
30
|
+
href: this.href,
|
31
|
+
target: this.target,
|
32
|
+
};
|
33
|
+
return (h(Host, null, h(TagType, Object.assign({}, attrs, { part: "base", class: Object.assign({ 'button': true }, classMap), disabled: this.disabled }), h("span", { part: "overlay", class: 'button__focus-overlay' }), h("span", { part: "wrapper", class: 'button__wrapper' }, (this.hasPrefixSlot && !this.loading) &&
|
34
|
+
h("span", { part: 'prefix', class: 'button__prefix' }, h("slot", { name: 'prefix' })), (this.loading && !this.icon) &&
|
35
|
+
h("span", { part: 'prefix', class: 'button__prefix' }, h("ds-icon", { icon: "spinner", class: "spin" })), h("span", { part: "label", class: "button__label" }, (this.loading && this.icon) ?
|
36
|
+
h("ds-icon", { icon: "spinner", class: "spin" }) : h("slot", null)), this.hasSuffixSlot &&
|
37
|
+
h("span", { part: 'suffix', class: 'button__suffix' }, h("slot", { name: 'suffix' })), this.caret &&
|
38
|
+
h("span", { part: 'caret', class: 'button__caret' }, h("svg", { viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', "stroke-width": '2', "stroke-linecap": 'round', "stroke-linejoin": 'round' }, h("polyline", { points: '6 9 12 15 18 9' })))))));
|
39
|
+
}
|
40
|
+
getCssClassMap() {
|
41
|
+
return {
|
42
|
+
[`button--${this.color}`]: this.color != null,
|
43
|
+
[`button--${this.shape}`]: true,
|
44
|
+
[`button--${this.size}`]: true,
|
45
|
+
[`button--no-gap`]: !this.hasSuffixSlot && !this.hasPrefixSlot,
|
46
|
+
[`button--loading`]: this.loading,
|
47
|
+
[`button--disabled`]: this.disabled,
|
48
|
+
[`button--circle`]: this.circle,
|
49
|
+
[`button--square`]: this.square,
|
50
|
+
[`button--icon`]: this.icon,
|
51
|
+
[`button--caret`]: this.caret,
|
52
|
+
[`button--underlined`]: this.underlined,
|
53
|
+
};
|
54
|
+
}
|
55
|
+
static get is() { return "ds-button"; }
|
56
|
+
static get encapsulation() { return "shadow"; }
|
57
|
+
static get originalStyleUrls() {
|
58
|
+
return {
|
59
|
+
"$": ["ds-button.scss"]
|
60
|
+
};
|
61
|
+
}
|
62
|
+
static get styleUrls() {
|
63
|
+
return {
|
64
|
+
"$": ["ds-button.css"]
|
65
|
+
};
|
66
|
+
}
|
67
|
+
static get properties() {
|
68
|
+
return {
|
69
|
+
"disabled": {
|
70
|
+
"type": "boolean",
|
71
|
+
"mutable": false,
|
72
|
+
"complexType": {
|
73
|
+
"original": "boolean",
|
74
|
+
"resolved": "boolean",
|
75
|
+
"references": {}
|
76
|
+
},
|
77
|
+
"required": false,
|
78
|
+
"optional": false,
|
79
|
+
"docs": {
|
80
|
+
"tags": [],
|
81
|
+
"text": ""
|
82
|
+
},
|
83
|
+
"attribute": "disabled",
|
84
|
+
"reflect": true
|
85
|
+
},
|
86
|
+
"loading": {
|
87
|
+
"type": "boolean",
|
88
|
+
"mutable": false,
|
89
|
+
"complexType": {
|
90
|
+
"original": "boolean",
|
91
|
+
"resolved": "boolean",
|
92
|
+
"references": {}
|
93
|
+
},
|
94
|
+
"required": false,
|
95
|
+
"optional": false,
|
96
|
+
"docs": {
|
97
|
+
"tags": [],
|
98
|
+
"text": ""
|
99
|
+
},
|
100
|
+
"attribute": "loading",
|
101
|
+
"reflect": true
|
102
|
+
},
|
103
|
+
"caret": {
|
104
|
+
"type": "boolean",
|
105
|
+
"mutable": false,
|
106
|
+
"complexType": {
|
107
|
+
"original": "boolean",
|
108
|
+
"resolved": "boolean",
|
109
|
+
"references": {}
|
110
|
+
},
|
111
|
+
"required": false,
|
112
|
+
"optional": false,
|
113
|
+
"docs": {
|
114
|
+
"tags": [],
|
115
|
+
"text": ""
|
116
|
+
},
|
117
|
+
"attribute": "caret",
|
118
|
+
"reflect": true
|
119
|
+
},
|
120
|
+
"icon": {
|
121
|
+
"type": "boolean",
|
122
|
+
"mutable": false,
|
123
|
+
"complexType": {
|
124
|
+
"original": "boolean",
|
125
|
+
"resolved": "boolean",
|
126
|
+
"references": {}
|
127
|
+
},
|
128
|
+
"required": false,
|
129
|
+
"optional": false,
|
130
|
+
"docs": {
|
131
|
+
"tags": [],
|
132
|
+
"text": ""
|
133
|
+
},
|
134
|
+
"attribute": "icon",
|
135
|
+
"reflect": true
|
136
|
+
},
|
137
|
+
"circle": {
|
138
|
+
"type": "boolean",
|
139
|
+
"mutable": false,
|
140
|
+
"complexType": {
|
141
|
+
"original": "boolean",
|
142
|
+
"resolved": "boolean",
|
143
|
+
"references": {}
|
144
|
+
},
|
145
|
+
"required": false,
|
146
|
+
"optional": false,
|
147
|
+
"docs": {
|
148
|
+
"tags": [],
|
149
|
+
"text": ""
|
150
|
+
},
|
151
|
+
"attribute": "circle",
|
152
|
+
"reflect": true
|
153
|
+
},
|
154
|
+
"square": {
|
155
|
+
"type": "boolean",
|
156
|
+
"mutable": false,
|
157
|
+
"complexType": {
|
158
|
+
"original": "boolean",
|
159
|
+
"resolved": "boolean",
|
160
|
+
"references": {}
|
161
|
+
},
|
162
|
+
"required": false,
|
163
|
+
"optional": false,
|
164
|
+
"docs": {
|
165
|
+
"tags": [],
|
166
|
+
"text": ""
|
167
|
+
},
|
168
|
+
"attribute": "square",
|
169
|
+
"reflect": true
|
170
|
+
},
|
171
|
+
"underlined": {
|
172
|
+
"type": "boolean",
|
173
|
+
"mutable": false,
|
174
|
+
"complexType": {
|
175
|
+
"original": "boolean",
|
176
|
+
"resolved": "boolean",
|
177
|
+
"references": {}
|
178
|
+
},
|
179
|
+
"required": false,
|
180
|
+
"optional": false,
|
181
|
+
"docs": {
|
182
|
+
"tags": [],
|
183
|
+
"text": ""
|
184
|
+
},
|
185
|
+
"attribute": "underlined",
|
186
|
+
"reflect": true
|
187
|
+
},
|
188
|
+
"type": {
|
189
|
+
"type": "string",
|
190
|
+
"mutable": false,
|
191
|
+
"complexType": {
|
192
|
+
"original": "'button' | 'reset' | 'submit'",
|
193
|
+
"resolved": "\"button\" | \"reset\" | \"submit\"",
|
194
|
+
"references": {}
|
195
|
+
},
|
196
|
+
"required": false,
|
197
|
+
"optional": false,
|
198
|
+
"docs": {
|
199
|
+
"tags": [],
|
200
|
+
"text": ""
|
201
|
+
},
|
202
|
+
"attribute": "type",
|
203
|
+
"reflect": false,
|
204
|
+
"defaultValue": "'button'"
|
205
|
+
},
|
206
|
+
"color": {
|
207
|
+
"type": "string",
|
208
|
+
"mutable": false,
|
209
|
+
"complexType": {
|
210
|
+
"original": "'primary' | 'secondary' | 'gray' | 'info' | 'success' | 'warning' | 'danger' | 'orange' | 'white' | 'transparent'",
|
211
|
+
"resolved": "\"danger\" | \"gray\" | \"info\" | \"orange\" | \"primary\" | \"secondary\" | \"success\" | \"transparent\" | \"warning\" | \"white\"",
|
212
|
+
"references": {}
|
213
|
+
},
|
214
|
+
"required": false,
|
215
|
+
"optional": false,
|
216
|
+
"docs": {
|
217
|
+
"tags": [],
|
218
|
+
"text": ""
|
219
|
+
},
|
220
|
+
"attribute": "color",
|
221
|
+
"reflect": false
|
222
|
+
},
|
223
|
+
"shape": {
|
224
|
+
"type": "string",
|
225
|
+
"mutable": false,
|
226
|
+
"complexType": {
|
227
|
+
"original": "'default' | 'flat' | 'outline' | 'text'",
|
228
|
+
"resolved": "\"default\" | \"flat\" | \"outline\" | \"text\"",
|
229
|
+
"references": {}
|
230
|
+
},
|
231
|
+
"required": false,
|
232
|
+
"optional": false,
|
233
|
+
"docs": {
|
234
|
+
"tags": [],
|
235
|
+
"text": ""
|
236
|
+
},
|
237
|
+
"attribute": "shape",
|
238
|
+
"reflect": false,
|
239
|
+
"defaultValue": "'default'"
|
240
|
+
},
|
241
|
+
"size": {
|
242
|
+
"type": "string",
|
243
|
+
"mutable": false,
|
244
|
+
"complexType": {
|
245
|
+
"original": "'small' | 'medium' | 'large'",
|
246
|
+
"resolved": "\"large\" | \"medium\" | \"small\"",
|
247
|
+
"references": {}
|
248
|
+
},
|
249
|
+
"required": false,
|
250
|
+
"optional": false,
|
251
|
+
"docs": {
|
252
|
+
"tags": [],
|
253
|
+
"text": ""
|
254
|
+
},
|
255
|
+
"attribute": "size",
|
256
|
+
"reflect": false,
|
257
|
+
"defaultValue": "'medium'"
|
258
|
+
},
|
259
|
+
"href": {
|
260
|
+
"type": "string",
|
261
|
+
"mutable": false,
|
262
|
+
"complexType": {
|
263
|
+
"original": "string | undefined",
|
264
|
+
"resolved": "string",
|
265
|
+
"references": {}
|
266
|
+
},
|
267
|
+
"required": false,
|
268
|
+
"optional": false,
|
269
|
+
"docs": {
|
270
|
+
"tags": [],
|
271
|
+
"text": ""
|
272
|
+
},
|
273
|
+
"attribute": "href",
|
274
|
+
"reflect": false
|
275
|
+
},
|
276
|
+
"download": {
|
277
|
+
"type": "string",
|
278
|
+
"mutable": false,
|
279
|
+
"complexType": {
|
280
|
+
"original": "string | undefined",
|
281
|
+
"resolved": "string",
|
282
|
+
"references": {}
|
283
|
+
},
|
284
|
+
"required": false,
|
285
|
+
"optional": false,
|
286
|
+
"docs": {
|
287
|
+
"tags": [],
|
288
|
+
"text": ""
|
289
|
+
},
|
290
|
+
"attribute": "download",
|
291
|
+
"reflect": false
|
292
|
+
},
|
293
|
+
"target": {
|
294
|
+
"type": "string",
|
295
|
+
"mutable": false,
|
296
|
+
"complexType": {
|
297
|
+
"original": "string | undefined",
|
298
|
+
"resolved": "string",
|
299
|
+
"references": {}
|
300
|
+
},
|
301
|
+
"required": false,
|
302
|
+
"optional": false,
|
303
|
+
"docs": {
|
304
|
+
"tags": [],
|
305
|
+
"text": ""
|
306
|
+
},
|
307
|
+
"attribute": "target",
|
308
|
+
"reflect": false
|
309
|
+
}
|
310
|
+
};
|
311
|
+
}
|
312
|
+
static get elementRef() { return "hostElement"; }
|
313
|
+
}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
:host {
|
2
|
+
display: block;
|
3
|
+
}
|
4
|
+
:host * {
|
5
|
+
box-sizing: border-box;
|
6
|
+
}
|
7
|
+
:host .card {
|
8
|
+
display: block;
|
9
|
+
width: 100%;
|
10
|
+
min-width: 200px;
|
11
|
+
max-width: 100%;
|
12
|
+
height: var(--card-height, auto);
|
13
|
+
position: relative;
|
14
|
+
padding: var(--card-padding, 1rem);
|
15
|
+
text-align: var(--card-align, inherit);
|
16
|
+
background-color: var(--card-bg, white);
|
17
|
+
box-shadow: var(--card-shadow, none);
|
18
|
+
transition: transform 0.5s, opacity 0.5s, z-index 0.5s;
|
19
|
+
}
|
20
|
+
:host .card__status-border {
|
21
|
+
background-color: var(--status-border-color, white);
|
22
|
+
bottom: var(--bottom-position, auto);
|
23
|
+
left: var(--left-position, 0);
|
24
|
+
right: var(--right-position, auto);
|
25
|
+
top: var(--top-position, 0);
|
26
|
+
height: var(--status-border-height, 100%);
|
27
|
+
width: var(--status-border-size, 7px);
|
28
|
+
position: var(--status-border-position, absolute);
|
29
|
+
}
|
30
|
+
:host .card__image {
|
31
|
+
width: 100%;
|
32
|
+
height: var(--card-image-height, auto);
|
33
|
+
overflow: hidden;
|
34
|
+
border-radius: var(--card-image-radius, 0);
|
35
|
+
margin-bottom: var(--margin-bottom, 1rem);
|
36
|
+
}
|
37
|
+
:host .card__image:empty {
|
38
|
+
display: none;
|
39
|
+
}
|
40
|
+
:host .card__image img {
|
41
|
+
width: 100%;
|
42
|
+
height: 100%;
|
43
|
+
object-fit: cover;
|
44
|
+
}
|
45
|
+
:host .card__header {
|
46
|
+
color: var(--bs-black-rgb, black);
|
47
|
+
font-size: var(--font-size, 1rem);
|
48
|
+
font-weight: bold;
|
49
|
+
}
|
50
|
+
:host .card__body {
|
51
|
+
color: var(--bs-gray-dark, #ccc);
|
52
|
+
font-size: var(--font-size, 1rem);
|
53
|
+
}
|