@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,196 @@
1
+ import { Host, h } from '@stencil/core';
2
+ export class DsSla {
3
+ constructor() {
4
+ this.radius = 0;
5
+ this.strokeDasharray = 0;
6
+ this.strokeDashoffset = 0;
7
+ this.maxValue = undefined;
8
+ this.value = 0;
9
+ this.canvasScale = 80;
10
+ this.innerLineColor = '#FAFAFA';
11
+ this.outerLineColor = '#02C389';
12
+ this.innerLineWidth = 4;
13
+ this.outerLineWidth = 4;
14
+ this.customValue = '';
15
+ }
16
+ componentWillUpdate() {
17
+ this.animateSLA();
18
+ }
19
+ componentWillRender() {
20
+ this.animateSLA();
21
+ }
22
+ animateSLA() {
23
+ this.radius = (this.canvasScale / 2) - this.outerLineWidth;
24
+ this.strokeDasharray = Math.PI * (this.radius * 2);
25
+ // this.strokeDashoffset = this.strokeDasharray;
26
+ this.transform = `rotate(-90 ${this.canvasScale / 2} ${this.canvasScale / 2})`;
27
+ if (this.value > this.maxValue) {
28
+ this.strokeDashoffset = 0;
29
+ }
30
+ else {
31
+ this.strokeDashoffset = ((this.maxValue - this.value) / this.maxValue) * this.strokeDasharray;
32
+ }
33
+ }
34
+ render() {
35
+ return (h(Host, null, h("svg", { part: "base", width: `${this.canvasScale}px`, height: `${this.canvasScale}px` }, h("circle", { fill: "transparent", cx: this.canvasScale / 2, cy: this.canvasScale / 2, r: this.radius, stroke: this.innerLineColor, "stroke-width": this.innerLineWidth }), h("circle", { class: "another-circle", fill: "transparent", transform: this.transform, cx: this.canvasScale / 2, cy: this.canvasScale / 2, r: this.radius, stroke: this.outerLineColor, "stroke-width": this.outerLineWidth, "stroke-dasharray": this.strokeDasharray, "stroke-dashoffset": this.strokeDashoffset }), h("text", { part: "text", x: this.canvasScale / 2, y: this.canvasScale / 2, "text-anchor": "middle", "alignment-baseline": "middle" }, this.customValue.length < 1 ? this.value + '/' + this.maxValue : this.customValue))));
36
+ }
37
+ static get is() { return "ds-sla"; }
38
+ static get encapsulation() { return "shadow"; }
39
+ static get originalStyleUrls() {
40
+ return {
41
+ "$": ["ds-sla.scss"]
42
+ };
43
+ }
44
+ static get styleUrls() {
45
+ return {
46
+ "$": ["ds-sla.css"]
47
+ };
48
+ }
49
+ static get properties() {
50
+ return {
51
+ "maxValue": {
52
+ "type": "number",
53
+ "mutable": true,
54
+ "complexType": {
55
+ "original": "number",
56
+ "resolved": "number",
57
+ "references": {}
58
+ },
59
+ "required": true,
60
+ "optional": false,
61
+ "docs": {
62
+ "tags": [],
63
+ "text": ""
64
+ },
65
+ "attribute": "max-value",
66
+ "reflect": true
67
+ },
68
+ "value": {
69
+ "type": "number",
70
+ "mutable": true,
71
+ "complexType": {
72
+ "original": "number",
73
+ "resolved": "number",
74
+ "references": {}
75
+ },
76
+ "required": false,
77
+ "optional": false,
78
+ "docs": {
79
+ "tags": [],
80
+ "text": ""
81
+ },
82
+ "attribute": "value",
83
+ "reflect": true,
84
+ "defaultValue": "0"
85
+ },
86
+ "canvasScale": {
87
+ "type": "number",
88
+ "mutable": false,
89
+ "complexType": {
90
+ "original": "number",
91
+ "resolved": "number",
92
+ "references": {}
93
+ },
94
+ "required": false,
95
+ "optional": false,
96
+ "docs": {
97
+ "tags": [],
98
+ "text": ""
99
+ },
100
+ "attribute": "canvas-scale",
101
+ "reflect": true,
102
+ "defaultValue": "80"
103
+ },
104
+ "innerLineColor": {
105
+ "type": "string",
106
+ "mutable": false,
107
+ "complexType": {
108
+ "original": "string",
109
+ "resolved": "string",
110
+ "references": {}
111
+ },
112
+ "required": false,
113
+ "optional": false,
114
+ "docs": {
115
+ "tags": [],
116
+ "text": ""
117
+ },
118
+ "attribute": "inner-line-color",
119
+ "reflect": true,
120
+ "defaultValue": "'#FAFAFA'"
121
+ },
122
+ "outerLineColor": {
123
+ "type": "string",
124
+ "mutable": false,
125
+ "complexType": {
126
+ "original": "string",
127
+ "resolved": "string",
128
+ "references": {}
129
+ },
130
+ "required": false,
131
+ "optional": false,
132
+ "docs": {
133
+ "tags": [],
134
+ "text": ""
135
+ },
136
+ "attribute": "outer-line-color",
137
+ "reflect": true,
138
+ "defaultValue": "'#02C389'"
139
+ },
140
+ "innerLineWidth": {
141
+ "type": "number",
142
+ "mutable": false,
143
+ "complexType": {
144
+ "original": "number",
145
+ "resolved": "number",
146
+ "references": {}
147
+ },
148
+ "required": false,
149
+ "optional": false,
150
+ "docs": {
151
+ "tags": [],
152
+ "text": ""
153
+ },
154
+ "attribute": "inner-line-width",
155
+ "reflect": true,
156
+ "defaultValue": "4"
157
+ },
158
+ "outerLineWidth": {
159
+ "type": "number",
160
+ "mutable": false,
161
+ "complexType": {
162
+ "original": "number",
163
+ "resolved": "number",
164
+ "references": {}
165
+ },
166
+ "required": false,
167
+ "optional": false,
168
+ "docs": {
169
+ "tags": [],
170
+ "text": ""
171
+ },
172
+ "attribute": "outer-line-width",
173
+ "reflect": true,
174
+ "defaultValue": "4"
175
+ },
176
+ "customValue": {
177
+ "type": "string",
178
+ "mutable": false,
179
+ "complexType": {
180
+ "original": "string",
181
+ "resolved": "string",
182
+ "references": {}
183
+ },
184
+ "required": false,
185
+ "optional": false,
186
+ "docs": {
187
+ "tags": [],
188
+ "text": ""
189
+ },
190
+ "attribute": "custom-value",
191
+ "reflect": true,
192
+ "defaultValue": "''"
193
+ }
194
+ };
195
+ }
196
+ }
@@ -0,0 +1,111 @@
1
+ :host {
2
+ display: block;
3
+ --slider-width: 500px;
4
+ --pagination-size: 50px;
5
+ --pagination-radius: 50%;
6
+ --pagination-bg: #ddd;
7
+ --pagination-color: black;
8
+ --pagination-bg-active: purple;
9
+ --pagination-color-active: white;
10
+ --progress-height: 10px;
11
+ --progress-color: #ddd;
12
+ --progress-color-active: purple;
13
+ --step-border-width: 1px;
14
+ --step-border-color: black;
15
+ --step-bg-color: #ddd;
16
+ }
17
+ :host * {
18
+ box-sizing: border-box;
19
+ }
20
+ :host .ds-slider {
21
+ max-width: var(--slider-width);
22
+ margin: auto;
23
+ overflow: hidden;
24
+ position: relative;
25
+ width: 100%;
26
+ transform-style: preserve-3d;
27
+ }
28
+ :host .ds-slider .slides {
29
+ display: flex;
30
+ flex-wrap: nowrap;
31
+ position: relative;
32
+ margin: auto;
33
+ transition: transform 0.5s;
34
+ cursor: grab;
35
+ }
36
+ :host .ds-slider .slides ::slotted([part=slide]) {
37
+ overflow: hidden;
38
+ user-select: none;
39
+ pointer-events: none;
40
+ }
41
+ :host .ds-slider .progress {
42
+ display: grid;
43
+ grid-gap: 10px;
44
+ }
45
+ :host .ds-slider .progress .progress-item {
46
+ height: var(--progress-height);
47
+ background-color: var(--progress-color);
48
+ display: block;
49
+ width: 100%;
50
+ transition: background-color 0.5s linear;
51
+ }
52
+ :host .ds-slider .progress .progress-item.active {
53
+ background-color: var(--progress-color-active);
54
+ }
55
+ :host .ds-slider .pagination {
56
+ display: grid;
57
+ grid-gap: 10px;
58
+ grid-auto-flow: column;
59
+ place-content: center;
60
+ cursor: default !important;
61
+ }
62
+ :host .ds-slider .pagination .page-item {
63
+ display: inline-flex;
64
+ align-items: center;
65
+ justify-content: center;
66
+ width: var(--pagination-size);
67
+ height: var(--pagination-size);
68
+ border-radius: var(--pagination-radius);
69
+ background-color: var(--pagination-bg);
70
+ color: var(--pagination-color);
71
+ cursor: pointer !important;
72
+ transition: all 0.5s;
73
+ }
74
+ :host .ds-slider .pagination .page-item.active {
75
+ color: var(--pagination-color-active);
76
+ background-color: var(--pagination-bg-active);
77
+ }
78
+ :host .ds-slider .stepper {
79
+ display: grid;
80
+ grid-gap: 10px;
81
+ grid-auto-flow: column;
82
+ place-content: center;
83
+ }
84
+ :host .ds-slider .stepper .step-item {
85
+ display: flex;
86
+ flex-direction: column;
87
+ align-items: center;
88
+ justify-content: center;
89
+ cursor: pointer;
90
+ }
91
+ :host .ds-slider .stepper .step-item.visited {
92
+ --step-border-color: green;
93
+ --step-border-width: 2px;
94
+ }
95
+ :host .ds-slider .stepper .step-item.active {
96
+ --step-border-color: purple;
97
+ --step-border-width: 2px;
98
+ }
99
+ :host .ds-slider .stepper .step-item .step-number {
100
+ min-width: 30px;
101
+ height: 30px;
102
+ display: flex;
103
+ align-items: center;
104
+ justify-content: center;
105
+ border: var(--step-border-width) solid var(--step-border-color);
106
+ }
107
+ :host .ds-slider .controls {
108
+ display: flex;
109
+ justify-content: space-between;
110
+ padding: 1rem;
111
+ }
@@ -0,0 +1,329 @@
1
+ import { Host, h } from '@stencil/core';
2
+ export class DsSlider {
3
+ constructor() {
4
+ this.initialConfig = Object.assign({ initialSlide: 1, loop: false, dir: 'rtl', slidesPerView: 3, showPagination: true, showProgress: true, showStepper: true }, this.config);
5
+ this.startPos = 0;
6
+ this.touchstartX = 0;
7
+ this.touchendX = 0;
8
+ this.isMouseDown = false;
9
+ this.config = {};
10
+ this.slidesLength = undefined;
11
+ this.currentSlide = undefined;
12
+ this.currentSlideNumber = undefined;
13
+ }
14
+ watchPropHandler(newValue) {
15
+ this.currentSlide = +newValue;
16
+ // console.log('The new value of activated is: ', newValue);
17
+ }
18
+ handleResize() {
19
+ this.applyStyles();
20
+ }
21
+ async handelEvents(e, eventType) {
22
+ switch (eventType) {
23
+ case 'touchstart':
24
+ this.touchstartX = e.changedTouches[0].screenX;
25
+ this.slidesWrapper.style.cursor = 'grabbing';
26
+ break;
27
+ case 'touchend':
28
+ this.touchendX = e.changedTouches[0].screenX;
29
+ this.slidesWrapper.style.cursor = 'grab';
30
+ this.handleSwipe();
31
+ break;
32
+ case 'mousedown':
33
+ this.isMouseDown = true;
34
+ this.touchstartX = e.screenX;
35
+ this.slidesWrapper.style.cursor = 'grabbing';
36
+ break;
37
+ case 'mousemove':
38
+ if (this.isMouseDown) {
39
+ // console.log(e.screenX);
40
+ // this.startPos = (this.currentSlideNumber - 1) * this.slideWidth + e.screenX
41
+ // console.log(this.startPos);
42
+ // this.applyStyles()
43
+ }
44
+ break;
45
+ case 'mouseup':
46
+ this.touchendX = e.screenX;
47
+ this.isMouseDown = false;
48
+ this.slidesWrapper.style.cursor = 'grab';
49
+ this.handleSwipe();
50
+ break;
51
+ case 'onNext':
52
+ !this.nextButton.disabled && this.move('');
53
+ break;
54
+ case 'onPrev':
55
+ !this.prevButton.disabled && this.move('back');
56
+ default:
57
+ return;
58
+ }
59
+ }
60
+ async slideTo(slideNumber) {
61
+ if (slideNumber <= 0 || slideNumber >= this.slides.length + 1) {
62
+ return;
63
+ }
64
+ const classesToRemove = ['prev', 'current', 'next'];
65
+ this.prev.classList.remove(...classesToRemove);
66
+ this.current.classList.remove(...classesToRemove);
67
+ this.next.classList.remove(...classesToRemove);
68
+ this.currentSlideNumber = slideNumber;
69
+ [this.prev, this.current, this.next] = [
70
+ this.slides[slideNumber - 2] || this.slider.lastElementChild,
71
+ this.slides[slideNumber - 1],
72
+ this.slides[slideNumber] || this.slider.firstElementChild,
73
+ ];
74
+ this.applyClasses();
75
+ }
76
+ componentWillLoad() {
77
+ this.assignVariables();
78
+ this.slidesLength = this.slides.length;
79
+ }
80
+ componentDidLoad() {
81
+ this.slidesWrapper.addEventListener('touchstart', (e) => this.handelEvents(e, 'touchstart'), false);
82
+ this.slidesWrapper.addEventListener('touchend', (e) => this.handelEvents(e, 'touchend'), false);
83
+ this.slidesWrapper.addEventListener('mousedown', (e) => this.handelEvents(e, 'mousedown'), false);
84
+ this.slidesWrapper.addEventListener('mousemove', (e) => this.handelEvents(e, 'mousemove'), false);
85
+ this.slidesWrapper.addEventListener('mouseup', (e) => this.handelEvents(e, 'mouseup'), false);
86
+ }
87
+ componentDidRender() {
88
+ this.slidesWrapper = this.slider.shadowRoot.querySelector('.slider-wrapper');
89
+ this.applyStyles();
90
+ this.applyClasses();
91
+ this.sliderControls();
92
+ }
93
+ componentDidUpdate() {
94
+ }
95
+ componentWillUpdate() {
96
+ }
97
+ assignVariables() {
98
+ var _a, _b;
99
+ this.currentSlideNumber = this.initialConfig.initialSlide;
100
+ this.slides = this.slider.querySelectorAll('.slide-item');
101
+ this.steps = this.slider.querySelectorAll("[part='step']");
102
+ // console.log(this.steps);
103
+ this.slider.querySelectorAll('.step-label').forEach(item => {
104
+ item.remove();
105
+ });
106
+ if (this.initialConfig.initialSlide > this.slides.length + 1 || this.slides.length < 0) {
107
+ throw new Error('The initial slider bigger than the slides length');
108
+ }
109
+ this.current = this.slider.querySelector('.current') || this.slides[this.initialConfig.initialSlide - 1];
110
+ this.prev = ((_a = this.current) === null || _a === void 0 ? void 0 : _a.previousElementSibling) || this.slider.lastElementChild;
111
+ this.next = ((_b = this.current) === null || _b === void 0 ? void 0 : _b.nextElementSibling) || this.slider.lastElementChild;
112
+ }
113
+ applyStyles() {
114
+ this.slidesContainer = this.slider.shadowRoot.querySelector('.slides');
115
+ this.slideWidth = (this.slidesContainer.offsetWidth / this.initialConfig.slidesPerView);
116
+ this.slides.forEach(item => {
117
+ item.style.minWidth = `${this.slideWidth}px`;
118
+ });
119
+ this.startPos = (this.currentSlideNumber - 1) * this.slideWidth;
120
+ this.startPos = this.initialConfig.dir === 'ltr' ? -this.startPos : this.startPos;
121
+ if (this.initialConfig.slidesPerView < this.slides.length + 1) {
122
+ this.slidesContainer.style.transform = `translateX(${this.startPos}px)`;
123
+ }
124
+ }
125
+ applyClasses() {
126
+ var _a, _b, _c;
127
+ (_a = this.current) === null || _a === void 0 ? void 0 : _a.classList.add('current');
128
+ (_b = this.prev) === null || _b === void 0 ? void 0 : _b.classList.add('prev');
129
+ (_c = this.next) === null || _c === void 0 ? void 0 : _c.classList.add('next');
130
+ }
131
+ sliderControls() {
132
+ this.prevButton.disabled = !this.initialConfig.loop && (this.currentSlideNumber < this.initialConfig.slidesPerView - this.currentSlideNumber || this.currentSlideNumber == 1);
133
+ this.nextButton.disabled = !this.initialConfig.loop && (this.currentSlideNumber > (this.slides.length - this.initialConfig.slidesPerView));
134
+ if (this.initialConfig.slidesPerView >= this.slides.length) {
135
+ this.prevButton.remove();
136
+ this.nextButton.remove();
137
+ }
138
+ }
139
+ handleSwipe() {
140
+ if (this.touchendX > this.touchstartX) {
141
+ if (!this.initialConfig.loop && (this.currentSlideNumber < this.initialConfig.slidesPerView - this.currentSlideNumber || this.currentSlideNumber == 1)) {
142
+ return;
143
+ }
144
+ else
145
+ this.move('back');
146
+ }
147
+ if (this.touchendX < this.touchstartX) {
148
+ if (!this.initialConfig.loop && (this.currentSlideNumber > (this.slides.length - this.initialConfig.slidesPerView))) {
149
+ return;
150
+ }
151
+ else
152
+ this.move('');
153
+ }
154
+ }
155
+ move(direction) {
156
+ var _a, _b, _c, _d, _e;
157
+ const classesToRemove = ['prev', 'current', 'next'];
158
+ (_a = this.prev) === null || _a === void 0 ? void 0 : _a.classList.remove(...classesToRemove);
159
+ (_b = this.current) === null || _b === void 0 ? void 0 : _b.classList.remove(...classesToRemove);
160
+ (_c = this.next) === null || _c === void 0 ? void 0 : _c.classList.remove(...classesToRemove);
161
+ if (direction === 'back') {
162
+ [this.prev, this.current, this.next] = [((_d = this.prev) === null || _d === void 0 ? void 0 : _d.previousElementSibling) || this.slider.lastElementChild, this.prev, this.current];
163
+ this.currentSlideNumber = [...this.slides].indexOf(this.current) + 1;
164
+ }
165
+ else {
166
+ [this.prev, this.current, this.next] = [this.current, this.next, ((_e = this.next) === null || _e === void 0 ? void 0 : _e.nextElementSibling) || this.slider.firstElementChild];
167
+ this.currentSlideNumber = [...this.slides].indexOf(this.current) + 1;
168
+ }
169
+ this.applyClasses();
170
+ }
171
+ drawPagination() {
172
+ return Array.apply(null, { length: this.slides.length + 1 - this.initialConfig.slidesPerView }).map((page, index) => {
173
+ return (h("div", { onClick: () => this.slideTo(index + 1), id: page === null || page === void 0 ? void 0 : page.length, class: `page-item page-${index + 1} ${index === this.currentSlideNumber - 1 ? 'active' : ''}` }, index + 1));
174
+ });
175
+ }
176
+ drawProgress() {
177
+ return Array.apply(null, { length: this.slides.length + 1 - this.initialConfig.slidesPerView }).map((page, index) => {
178
+ return (h("span", { id: page === null || page === void 0 ? void 0 : page.length, class: `progress-item page-${index + 1} ${index <= this.currentSlideNumber - 1 ? 'active' : ''}` }));
179
+ });
180
+ }
181
+ drawStepper() {
182
+ return [...this.steps].map((step, index) => {
183
+ return (h("div", { onClick: () => this.slideTo(index + 1), class: `step-item step-${index + 1} ${index < this.currentSlideNumber - 1 ? 'visited' : ''} ${index === this.currentSlideNumber - 1 ? 'active' : ''}` }, h("span", { class: "step-number" }, index + 1), [...step.childNodes].map(child => {
184
+ return h("span", { class: child.className }, child.textContent);
185
+ })));
186
+ });
187
+ }
188
+ render() {
189
+ return (h(Host, { dir: this.initialConfig.dir }, h("div", { part: 'base', class: 'ds-slider' }, this.initialConfig.showStepper &&
190
+ h("div", { part: 'stepper', class: 'stepper', style: { gridTemplateColumns: `repeat(${this.slides.length + 1 - this.initialConfig.slidesPerView}, 1fr)` } }, this.drawStepper()), this.initialConfig.showProgress &&
191
+ h("div", { part: 'progress', class: 'progress', style: { gridTemplateColumns: `repeat(${this.slides.length + 1 - this.initialConfig.slidesPerView}, 1fr)` } }, this.drawProgress()), h("div", { class: 'slider-wrapper' }, h("div", { part: 'slides', class: 'slides' }, h("slot", null))), h("div", { part: 'pagination', class: 'pagination' }, this.current && this.drawPagination()), h("div", { part: 'controls', class: 'controls' }, h("ds-button", { class: 'to-prev', onClick: (e) => this.handelEvents(e, 'onPrev'), ref: e => this.prevButton = e }, h("ds-icon", { slot: 'prefix', icon: 'arrow-left' }), "Prev"), h("ds-button", { class: 'to-next', onClick: (e) => this.handelEvents(e, 'onNext'), ref: e => this.nextButton = e }, h("ds-icon", { slot: 'suffix', icon: 'arrow-right' }), "Next")))));
192
+ }
193
+ static get is() { return "ds-slider"; }
194
+ static get encapsulation() { return "shadow"; }
195
+ static get originalStyleUrls() {
196
+ return {
197
+ "$": ["ds-slider.scss"]
198
+ };
199
+ }
200
+ static get styleUrls() {
201
+ return {
202
+ "$": ["ds-slider.css"]
203
+ };
204
+ }
205
+ static get properties() {
206
+ return {
207
+ "config": {
208
+ "type": "unknown",
209
+ "mutable": false,
210
+ "complexType": {
211
+ "original": "SliderConfig",
212
+ "resolved": "SliderConfig",
213
+ "references": {
214
+ "SliderConfig": {
215
+ "location": "local"
216
+ }
217
+ }
218
+ },
219
+ "required": false,
220
+ "optional": false,
221
+ "docs": {
222
+ "tags": [],
223
+ "text": ""
224
+ },
225
+ "defaultValue": "{}"
226
+ },
227
+ "slidesLength": {
228
+ "type": "number",
229
+ "mutable": true,
230
+ "complexType": {
231
+ "original": "number",
232
+ "resolved": "number",
233
+ "references": {}
234
+ },
235
+ "required": false,
236
+ "optional": false,
237
+ "docs": {
238
+ "tags": [],
239
+ "text": ""
240
+ },
241
+ "attribute": "slides-length",
242
+ "reflect": false
243
+ },
244
+ "currentSlide": {
245
+ "type": "number",
246
+ "mutable": true,
247
+ "complexType": {
248
+ "original": "number",
249
+ "resolved": "number",
250
+ "references": {}
251
+ },
252
+ "required": false,
253
+ "optional": false,
254
+ "docs": {
255
+ "tags": [],
256
+ "text": ""
257
+ },
258
+ "attribute": "current-slide",
259
+ "reflect": true
260
+ }
261
+ };
262
+ }
263
+ static get states() {
264
+ return {
265
+ "currentSlideNumber": {}
266
+ };
267
+ }
268
+ static get methods() {
269
+ return {
270
+ "handelEvents": {
271
+ "complexType": {
272
+ "signature": "(e: any, eventType: string) => Promise<void>",
273
+ "parameters": [{
274
+ "tags": [],
275
+ "text": ""
276
+ }, {
277
+ "tags": [],
278
+ "text": ""
279
+ }],
280
+ "references": {
281
+ "Promise": {
282
+ "location": "global"
283
+ }
284
+ },
285
+ "return": "Promise<void>"
286
+ },
287
+ "docs": {
288
+ "text": "",
289
+ "tags": []
290
+ }
291
+ },
292
+ "slideTo": {
293
+ "complexType": {
294
+ "signature": "(slideNumber: number) => Promise<void>",
295
+ "parameters": [{
296
+ "tags": [],
297
+ "text": ""
298
+ }],
299
+ "references": {
300
+ "Promise": {
301
+ "location": "global"
302
+ }
303
+ },
304
+ "return": "Promise<void>"
305
+ },
306
+ "docs": {
307
+ "text": "",
308
+ "tags": []
309
+ }
310
+ }
311
+ };
312
+ }
313
+ static get elementRef() { return "slider"; }
314
+ static get watchers() {
315
+ return [{
316
+ "propName": "currentSlideNumber",
317
+ "methodName": "watchPropHandler"
318
+ }];
319
+ }
320
+ static get listeners() {
321
+ return [{
322
+ "name": "resize",
323
+ "method": "handleResize",
324
+ "target": "window",
325
+ "capture": false,
326
+ "passive": true
327
+ }];
328
+ }
329
+ }
@@ -0,0 +1,62 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+ :host .splash {
5
+ background-color: var(--purple);
6
+ display: flex;
7
+ flex-direction: column;
8
+ align-items: center;
9
+ justify-content: center;
10
+ width: 100vw;
11
+ height: 100vh;
12
+ position: fixed;
13
+ z-index: 99999;
14
+ top: 0;
15
+ left: 0;
16
+ right: 0;
17
+ bottom: 0;
18
+ animation: seconds 1s forwards;
19
+ animation-iteration-count: 1;
20
+ animation-delay: 5s;
21
+ }
22
+ @keyframes seconds {
23
+ 0% {
24
+ transform: translateX(0);
25
+ }
26
+ 100% {
27
+ transform: translateX(-100vw);
28
+ transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1);
29
+ }
30
+ }
31
+ :host .splash .text-container {
32
+ height: 75px;
33
+ overflow: hidden;
34
+ }
35
+ :host .splash .text {
36
+ animation: diamondMovesBack linear;
37
+ animation-duration: 0.9s;
38
+ text-align: center;
39
+ }
40
+ :host .splash svg {
41
+ width: 170px;
42
+ height: 85px;
43
+ margin-bottom: 20px;
44
+ }
45
+ @keyframes diamondMovesBack {
46
+ 0% {
47
+ transform: translate(0, -100px);
48
+ opacity: 0;
49
+ }
50
+ 100% {
51
+ transform: translate(0, 0);
52
+ opacity: 1;
53
+ }
54
+ }
55
+ @keyframes slide {
56
+ from {
57
+ transform: translateX(-80px);
58
+ }
59
+ to {
60
+ transform: translateX(0px);
61
+ }
62
+ }