@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.
Files changed (278) hide show
  1. package/LICENSE +21 -0
  2. package/dist/assets/fonts/symbol-defs.svg +939 -0
  3. package/dist/assets/images/404.svg +104 -0
  4. package/dist/assets/images/no-cards.svg +5 -0
  5. package/dist/assets/images/no-connection.svg +56 -0
  6. package/dist/assets/images/no-data.svg +38 -0
  7. package/dist/assets/images/no-lists.svg +10 -0
  8. package/dist/assets/images/not-authorized.svg +6 -0
  9. package/dist/assets/images/user.svg +4 -0
  10. package/dist/assets/js/svgxuse.min.js +12 -0
  11. package/dist/assets/scss/_bootstrap.scss +16 -0
  12. package/dist/assets/scss/_colors.scss +5 -0
  13. package/dist/assets/scss/_fonts.scss +278 -0
  14. package/dist/assets/scss/_general.scss +401 -0
  15. package/dist/assets/scss/_reset.scss +67 -0
  16. package/dist/assets/scss/_variables.scss +18 -0
  17. package/dist/assets/scss/angular-material/_accordion.scss +131 -0
  18. package/dist/assets/scss/angular-material/_checkbox.scss +59 -0
  19. package/dist/assets/scss/angular-material/_chip-list.scss +33 -0
  20. package/dist/assets/scss/angular-material/_chips.scss +46 -0
  21. package/dist/assets/scss/angular-material/_datepicker.scss +192 -0
  22. package/dist/assets/scss/angular-material/_form-field.scss +383 -0
  23. package/dist/assets/scss/angular-material/_popover.scss +384 -0
  24. package/dist/assets/scss/angular-material/_popups.scss +127 -0
  25. package/dist/assets/scss/angular-material/_radiobox.scss +67 -0
  26. package/dist/assets/scss/angular-material/_sidenav.scss +46 -0
  27. package/dist/assets/scss/angular-material/_slider.scss +131 -0
  28. package/dist/assets/scss/angular-material/_stepper.scss +162 -0
  29. package/dist/assets/scss/angular-material/_tab.scss +87 -0
  30. package/dist/assets/scss/angular-material/_table.scss +108 -0
  31. package/dist/assets/scss/angular-material/_toggle-slide.scss +108 -0
  32. package/dist/assets/scss/angular-material/_toggle.scss +112 -0
  33. package/dist/assets/scss/angular-material/_tooltip.scss +74 -0
  34. package/dist/assets/scss/angular-material/material.scss +16 -0
  35. package/dist/assets/scss/base.scss +66 -0
  36. package/dist/assets/scss/components/_breadcrumb.scss +63 -0
  37. package/dist/assets/scss/components/_card.scss +24 -0
  38. package/dist/assets/scss/components/_charts.scss +190 -0
  39. package/dist/assets/scss/components/_components.scss +19 -0
  40. package/dist/assets/scss/components/_full-calendar.scss +391 -0
  41. package/dist/assets/scss/components/_helper.scss +444 -0
  42. package/dist/assets/scss/components/_images.scss +67 -0
  43. package/dist/assets/scss/components/_info-section.scss +112 -0
  44. package/dist/assets/scss/components/_introJs.scss +109 -0
  45. package/dist/assets/scss/components/_lists.scss +171 -0
  46. package/dist/assets/scss/components/_loading.scss +38 -0
  47. package/dist/assets/scss/components/_ngx-pagination.scss +66 -0
  48. package/dist/assets/scss/components/_page-title.scss +18 -0
  49. package/dist/assets/scss/components/_progress.scss +70 -0
  50. package/dist/assets/scss/components/_repeated-list.scss +38 -0
  51. package/dist/assets/scss/components/_scrollbar.scss +32 -0
  52. package/dist/assets/scss/components/_status.scss +119 -0
  53. package/dist/assets/scss/components/_stc-icons.scss +1051 -0
  54. package/dist/assets/scss/components/_toaster.scss +109 -0
  55. package/dist/assets/scss/components/_user-list.scss +40 -0
  56. package/dist/assets/scss/hub/_hub.scss +756 -0
  57. package/dist/assets/scss/hub/_new-hub.scss +115 -0
  58. package/dist/assets/scss/mixins/_button-mixin.scss +98 -0
  59. package/dist/assets/scss/mixins/_colors-mixin.scss +58 -0
  60. package/dist/assets/scss/mixins/_fonts-mixin.scss +39 -0
  61. package/dist/assets/scss/mixins/_radius-mixin.scss +12 -0
  62. package/dist/assets/scss/mixins/mixins.scss +4 -0
  63. package/dist/assets/scss/web-components/_alert.scss +32 -0
  64. package/dist/assets/scss/web-components/_buttons.scss +94 -0
  65. package/dist/assets/scss/web-components/_status.scss +66 -0
  66. package/dist/assets/scss/web-components/web-components.scss +3 -0
  67. package/dist/assets/scss-old/_bootstrap.scss +16 -0
  68. package/dist/assets/scss-old/_colors.scss +5 -0
  69. package/dist/assets/scss-old/_fonts.scss +273 -0
  70. package/dist/assets/scss-old/_general.scss +401 -0
  71. package/dist/assets/scss-old/_reset.scss +60 -0
  72. package/dist/assets/scss-old/_variables.scss +18 -0
  73. package/dist/assets/scss-old/angular-material/_accordion.scss +130 -0
  74. package/dist/assets/scss-old/angular-material/_checkbox.scss +48 -0
  75. package/dist/assets/scss-old/angular-material/_chip-list.scss +32 -0
  76. package/dist/assets/scss-old/angular-material/_chips.scss +42 -0
  77. package/dist/assets/scss-old/angular-material/_datepicker.scss +191 -0
  78. package/dist/assets/scss-old/angular-material/_form-field.scss +665 -0
  79. package/dist/assets/scss-old/angular-material/_popover.scss +352 -0
  80. package/dist/assets/scss-old/angular-material/_popups.scss +125 -0
  81. package/dist/assets/scss-old/angular-material/_radiobox.scss +40 -0
  82. package/dist/assets/scss-old/angular-material/_sidenav.scss +46 -0
  83. package/dist/assets/scss-old/angular-material/_slider.scss +94 -0
  84. package/dist/assets/scss-old/angular-material/_stepper.scss +162 -0
  85. package/dist/assets/scss-old/angular-material/_tab.scss +68 -0
  86. package/dist/assets/scss-old/angular-material/_table.scss +101 -0
  87. package/dist/assets/scss-old/angular-material/_toggle-slide.scss +59 -0
  88. package/dist/assets/scss-old/angular-material/_toggle.scss +115 -0
  89. package/dist/assets/scss-old/angular-material/_tooltip.scss +46 -0
  90. package/dist/assets/scss-old/angular-material/material.scss +16 -0
  91. package/dist/assets/scss-old/base.scss +63 -0
  92. package/dist/assets/scss-old/components/_breadcrumb.scss +63 -0
  93. package/dist/assets/scss-old/components/_card.scss +24 -0
  94. package/dist/assets/scss-old/components/_components.scss +16 -0
  95. package/dist/assets/scss-old/components/_full-calendar.scss +391 -0
  96. package/dist/assets/scss-old/components/_helper.scss +427 -0
  97. package/dist/assets/scss-old/components/_images.scss +67 -0
  98. package/dist/assets/scss-old/components/_info-section.scss +112 -0
  99. package/dist/assets/scss-old/components/_introJs.scss +109 -0
  100. package/dist/assets/scss-old/components/_lists.scss +105 -0
  101. package/dist/assets/scss-old/components/_loading.scss +38 -0
  102. package/dist/assets/scss-old/components/_ngx-pagination.scss +66 -0
  103. package/dist/assets/scss-old/components/_page-title.scss +18 -0
  104. package/dist/assets/scss-old/components/_progress.scss +70 -0
  105. package/dist/assets/scss-old/components/_scrollbar.scss +32 -0
  106. package/dist/assets/scss-old/components/_status.scss +119 -0
  107. package/dist/assets/scss-old/components/_stc-icons.scss +955 -0
  108. package/dist/assets/scss-old/components/_toaster.scss +125 -0
  109. package/dist/assets/scss-old/hub/_hub.scss +756 -0
  110. package/dist/assets/scss-old/hub/_new-hub.scss +115 -0
  111. package/dist/assets/scss-old/mixins/_button-mixin.scss +98 -0
  112. package/dist/assets/scss-old/mixins/_colors-mixin.scss +56 -0
  113. package/dist/assets/scss-old/mixins/_fonts-mixin.scss +38 -0
  114. package/dist/assets/scss-old/mixins/_radius-mixin.scss +11 -0
  115. package/dist/assets/scss-old/mixins/mixins.scss +4 -0
  116. package/dist/assets/scss-old/web-components/_alert.scss +32 -0
  117. package/dist/assets/scss-old/web-components/_buttons.scss +92 -0
  118. package/dist/assets/scss-old/web-components/_status.scss +66 -0
  119. package/dist/assets/scss-old/web-components/web-components.scss +3 -0
  120. package/dist/cjs/ds-activity-log_16.cjs.entry.js +767 -0
  121. package/dist/cjs/ds-components.cjs.js +23 -0
  122. package/dist/cjs/ds-loading-page.cjs.entry.js +19 -0
  123. package/dist/cjs/ds-splash.cjs.entry.js +20 -0
  124. package/dist/cjs/index-67056d48.js +2391 -0
  125. package/dist/cjs/index.cjs.js +2 -0
  126. package/dist/cjs/loader.cjs.js +22 -0
  127. package/dist/collection/assets/fonts/symbol-defs.svg +939 -0
  128. package/dist/collection/assets/images/404.svg +104 -0
  129. package/dist/collection/assets/images/no-cards.svg +5 -0
  130. package/dist/collection/assets/images/no-connection.svg +56 -0
  131. package/dist/collection/assets/images/no-data.svg +38 -0
  132. package/dist/collection/assets/images/no-lists.svg +10 -0
  133. package/dist/collection/assets/images/not-authorized.svg +6 -0
  134. package/dist/collection/assets/images/user.svg +4 -0
  135. package/dist/collection/assets/js/svgxuse.min.js +12 -0
  136. package/dist/collection/collection-manifest.json +29 -0
  137. package/dist/collection/components/ds-activity-log/ds-activity-log.css +91 -0
  138. package/dist/collection/components/ds-activity-log/ds-activity-log.js +105 -0
  139. package/dist/collection/components/ds-alert/ds-alert.css +34 -0
  140. package/dist/collection/components/ds-alert/ds-alert.js +61 -0
  141. package/dist/collection/components/ds-approvals/ds-approvals.css +60 -0
  142. package/dist/collection/components/ds-approvals/ds-approvals.js +71 -0
  143. package/dist/collection/components/ds-attachments/ds-attachments.css +84 -0
  144. package/dist/collection/components/ds-attachments/ds-attachments.js +229 -0
  145. package/dist/collection/components/ds-avatar/ds-avatar.css +84 -0
  146. package/dist/collection/components/ds-avatar/ds-avatar.js +138 -0
  147. package/dist/collection/components/ds-button/ds-button.css +196 -0
  148. package/dist/collection/components/ds-button/ds-button.js +313 -0
  149. package/dist/collection/components/ds-card/ds-card.css +53 -0
  150. package/dist/collection/components/ds-card/ds-card.js +64 -0
  151. package/dist/collection/components/ds-file-picker/ds-file-picker.css +79 -0
  152. package/dist/collection/components/ds-file-picker/ds-file-picker.js +67 -0
  153. package/dist/collection/components/ds-icon/ds-icon.js +55 -0
  154. package/dist/collection/components/ds-icon/stc-icon.css +1403 -0
  155. package/dist/collection/components/ds-loading-chart/ds-loading-chart.css +80 -0
  156. package/dist/collection/components/ds-loading-chart/ds-loading-chart.js +70 -0
  157. package/dist/collection/components/ds-loading-page/ds-loading-page.css +116 -0
  158. package/dist/collection/components/ds-loading-page/ds-loading-page.js +18 -0
  159. package/dist/collection/components/ds-loading-table/ds-loading-table.css +3 -0
  160. package/dist/collection/components/ds-loading-table/ds-loading-table.js +90 -0
  161. package/dist/collection/components/ds-message/ds-message.css +28 -0
  162. package/dist/collection/components/ds-message/ds-message.js +95 -0
  163. package/dist/collection/components/ds-sla/ds-sla.css +6 -0
  164. package/dist/collection/components/ds-sla/ds-sla.js +196 -0
  165. package/dist/collection/components/ds-slider/ds-slider.css +111 -0
  166. package/dist/collection/components/ds-slider/ds-slider.js +329 -0
  167. package/dist/collection/components/ds-splash/ds-splash.css +62 -0
  168. package/dist/collection/components/ds-splash/ds-splash.js +42 -0
  169. package/dist/collection/components/ds-status/ds-status.css +47 -0
  170. package/dist/collection/components/ds-status/ds-status.js +106 -0
  171. package/dist/collection/components/ds-user-card/ds-user-card.css +54 -0
  172. package/dist/collection/components/ds-user-card/ds-user-card.js +102 -0
  173. package/dist/collection/index.js +1 -0
  174. package/dist/collection/utils/ej2.min.js +10 -0
  175. package/dist/collection/utils/generate-icons.js +72 -0
  176. package/dist/collection/utils/myScripts.js +0 -0
  177. package/dist/collection/utils/rollup-utils.js +41 -0
  178. package/dist/collection/utils/svgxuse.min.js +12 -0
  179. package/dist/collection/utils/utils.js +1 -0
  180. package/dist/components/ds-activity-log.d.ts +11 -0
  181. package/dist/components/ds-activity-log.js +105 -0
  182. package/dist/components/ds-alert.d.ts +11 -0
  183. package/dist/components/ds-alert.js +44 -0
  184. package/dist/components/ds-approvals.d.ts +11 -0
  185. package/dist/components/ds-approvals.js +76 -0
  186. package/dist/components/ds-attachments.d.ts +11 -0
  187. package/dist/components/ds-attachments.js +6 -0
  188. package/dist/components/ds-attachments2.js +103 -0
  189. package/dist/components/ds-avatar.d.ts +11 -0
  190. package/dist/components/ds-avatar.js +6 -0
  191. package/dist/components/ds-avatar2.js +72 -0
  192. package/dist/components/ds-button.d.ts +11 -0
  193. package/dist/components/ds-button.js +6 -0
  194. package/dist/components/ds-button2.js +99 -0
  195. package/dist/components/ds-card.d.ts +11 -0
  196. package/dist/components/ds-card.js +58 -0
  197. package/dist/components/ds-file-picker.d.ts +11 -0
  198. package/dist/components/ds-file-picker.js +43 -0
  199. package/dist/components/ds-icon.d.ts +11 -0
  200. package/dist/components/ds-icon.js +6 -0
  201. package/dist/components/ds-icon2.js +44 -0
  202. package/dist/components/ds-loading-chart.d.ts +11 -0
  203. package/dist/components/ds-loading-chart.js +60 -0
  204. package/dist/components/ds-loading-page.d.ts +11 -0
  205. package/dist/components/ds-loading-page.js +33 -0
  206. package/dist/components/ds-loading-table.d.ts +11 -0
  207. package/dist/components/ds-loading-table.js +49 -0
  208. package/dist/components/ds-message.d.ts +11 -0
  209. package/dist/components/ds-message.js +61 -0
  210. package/dist/components/ds-sla.d.ts +11 -0
  211. package/dist/components/ds-sla.js +71 -0
  212. package/dist/components/ds-slider.d.ts +11 -0
  213. package/dist/components/ds-slider.js +235 -0
  214. package/dist/components/ds-splash.d.ts +11 -0
  215. package/dist/components/ds-splash.js +36 -0
  216. package/dist/components/ds-status.d.ts +11 -0
  217. package/dist/components/ds-status.js +6 -0
  218. package/dist/components/ds-status2.js +48 -0
  219. package/dist/components/ds-user-card.d.ts +11 -0
  220. package/dist/components/ds-user-card.js +6 -0
  221. package/dist/components/ds-user-card2.js +58 -0
  222. package/dist/components/index.d.ts +48 -0
  223. package/dist/components/index.js +19 -0
  224. package/dist/ds-components/ds-components.css +5780 -0
  225. package/dist/ds-components/ds-components.esm.js +1 -0
  226. package/dist/ds-components/index.esm.js +0 -0
  227. package/dist/ds-components/p-2bf203e1.entry.js +1 -0
  228. package/dist/ds-components/p-60a24d37.entry.js +1 -0
  229. package/dist/ds-components/p-a4922f25.entry.js +1 -0
  230. package/dist/ds-components/p-f85fbdb4.js +2 -0
  231. package/dist/esm/ds-activity-log_16.entry.js +748 -0
  232. package/dist/esm/ds-components.js +18 -0
  233. package/dist/esm/ds-loading-page.entry.js +15 -0
  234. package/dist/esm/ds-splash.entry.js +16 -0
  235. package/dist/esm/index-b257ae8c.js +2362 -0
  236. package/dist/esm/index.js +1 -0
  237. package/dist/esm/loader.js +18 -0
  238. package/dist/esm/polyfills/core-js.js +11 -0
  239. package/dist/esm/polyfills/css-shim.js +1 -0
  240. package/dist/esm/polyfills/dom.js +79 -0
  241. package/dist/esm/polyfills/es5-html-element.js +1 -0
  242. package/dist/esm/polyfills/index.js +34 -0
  243. package/dist/esm/polyfills/system.js +6 -0
  244. package/dist/index.cjs.js +1 -0
  245. package/dist/index.js +1 -0
  246. package/dist/types/components/ds-activity-log/ds-activity-log.d.ts +22 -0
  247. package/dist/types/components/ds-alert/ds-alert.d.ts +5 -0
  248. package/dist/types/components/ds-approvals/ds-approvals.d.ts +18 -0
  249. package/dist/types/components/ds-attachments/ds-attachments.d.ts +26 -0
  250. package/dist/types/components/ds-avatar/ds-avatar.d.ts +14 -0
  251. package/dist/types/components/ds-button/ds-button.d.ts +23 -0
  252. package/dist/types/components/ds-card/ds-card.d.ts +20 -0
  253. package/dist/types/components/ds-file-picker/ds-file-picker.d.ts +9 -0
  254. package/dist/types/components/ds-icon/ds-icon.d.ts +4 -0
  255. package/dist/types/components/ds-loading-chart/ds-loading-chart.d.ts +9 -0
  256. package/dist/types/components/ds-loading-page/ds-loading-page.d.ts +3 -0
  257. package/dist/types/components/ds-loading-table/ds-loading-table.d.ts +8 -0
  258. package/dist/types/components/ds-message/ds-message.d.ts +8 -0
  259. package/dist/types/components/ds-sla/ds-sla.d.ts +18 -0
  260. package/dist/types/components/ds-slider/ds-slider.d.ts +50 -0
  261. package/dist/types/components/ds-splash/ds-splash.d.ts +4 -0
  262. package/dist/types/components/ds-status/ds-status.d.ts +8 -0
  263. package/dist/types/components/ds-user-card/ds-user-card.d.ts +15 -0
  264. package/dist/types/components.d.ts +389 -0
  265. package/dist/types/index.d.ts +1 -0
  266. package/dist/types/stencil-public-runtime.d.ts +1637 -0
  267. package/dist/types/utils/utils.d.ts +3 -0
  268. package/hydrate/index.d.ts +217 -0
  269. package/hydrate/index.js +7561 -0
  270. package/hydrate/package.json +6 -0
  271. package/loader/cdn.js +3 -0
  272. package/loader/index.cjs.js +3 -0
  273. package/loader/index.d.ts +21 -0
  274. package/loader/index.es2017.js +3 -0
  275. package/loader/index.js +4 -0
  276. package/loader/package.json +11 -0
  277. package/package.json +40 -0
  278. 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
+ }