wj-elements 0.1.136 → 0.1.137

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 (202) hide show
  1. package/dist/dark.css +223 -0
  2. package/dist/infinite-scroll.element-XVJukzjy.js +272 -0
  3. package/dist/infinite-scroll.element-XVJukzjy.js.map +1 -0
  4. package/dist/light.css +534 -0
  5. package/dist/list.element-Ce1vIm1O.js +50 -0
  6. package/dist/list.element-Ce1vIm1O.js.map +1 -0
  7. package/dist/localize.js +70 -0
  8. package/dist/localize.js.map +1 -0
  9. package/dist/popup.element-tyYxow0p.js +1623 -0
  10. package/dist/popup.element-tyYxow0p.js.map +1 -0
  11. package/dist/router-links-CJnOdbas.js +150 -0
  12. package/dist/router-links-CJnOdbas.js.map +1 -0
  13. package/dist/styles.css +849 -0
  14. package/dist/wje-accordion-item.js +113 -0
  15. package/dist/wje-accordion-item.js.map +1 -0
  16. package/dist/wje-accordion.js +122 -0
  17. package/dist/wje-accordion.js.map +1 -0
  18. package/dist/wje-animation.js +4326 -0
  19. package/dist/wje-animation.js.map +1 -0
  20. package/dist/wje-aside.js +55 -0
  21. package/dist/wje-aside.js.map +1 -0
  22. package/dist/wje-avatar.js +90 -0
  23. package/dist/wje-avatar.js.map +1 -0
  24. package/dist/wje-badge.js +71 -0
  25. package/dist/wje-badge.js.map +1 -0
  26. package/dist/wje-breadcrumb.js +195 -0
  27. package/dist/wje-breadcrumb.js.map +1 -0
  28. package/dist/wje-breadcrumbs.js +140 -0
  29. package/dist/wje-breadcrumbs.js.map +1 -0
  30. package/dist/wje-button-group.js +85 -0
  31. package/dist/wje-button-group.js.map +1 -0
  32. package/dist/wje-button.js +352 -0
  33. package/dist/wje-button.js.map +1 -0
  34. package/dist/wje-card-content.js +48 -0
  35. package/dist/wje-card-content.js.map +1 -0
  36. package/dist/wje-card-controls.js +48 -0
  37. package/dist/wje-card-controls.js.map +1 -0
  38. package/dist/wje-card-header.js +48 -0
  39. package/dist/wje-card-header.js.map +1 -0
  40. package/dist/wje-card-subtitle.js +55 -0
  41. package/dist/wje-card-subtitle.js.map +1 -0
  42. package/dist/wje-card-title.js +55 -0
  43. package/dist/wje-card-title.js.map +1 -0
  44. package/dist/wje-card.js +56 -0
  45. package/dist/wje-card.js.map +1 -0
  46. package/dist/wje-carousel-item.js +63 -0
  47. package/dist/wje-carousel-item.js.map +1 -0
  48. package/dist/wje-carousel.js +380 -0
  49. package/dist/wje-carousel.js.map +1 -0
  50. package/dist/wje-checkbox.js +540 -0
  51. package/dist/wje-checkbox.js.map +1 -0
  52. package/dist/wje-chip.js +76 -0
  53. package/dist/wje-chip.js.map +1 -0
  54. package/dist/wje-col.js +38 -0
  55. package/dist/wje-col.js.map +1 -0
  56. package/dist/wje-color-picker.js +1339 -0
  57. package/dist/wje-color-picker.js.map +1 -0
  58. package/dist/wje-container.js +56 -0
  59. package/dist/wje-container.js.map +1 -0
  60. package/dist/wje-copy-button.js +218 -0
  61. package/dist/wje-copy-button.js.map +1 -0
  62. package/dist/wje-dialog.js +249 -0
  63. package/dist/wje-dialog.js.map +1 -0
  64. package/dist/wje-divider.js +55 -0
  65. package/dist/wje-divider.js.map +1 -0
  66. package/dist/wje-dropdown.js +194 -0
  67. package/dist/wje-dropdown.js.map +1 -0
  68. package/dist/wje-element.js +967 -0
  69. package/dist/wje-element.js.map +1 -0
  70. package/dist/wje-fetchAndParseCSS.js +60 -0
  71. package/dist/wje-fetchAndParseCSS.js.map +1 -0
  72. package/dist/wje-file-upload-item.js +140 -0
  73. package/dist/wje-file-upload-item.js.map +1 -0
  74. package/dist/wje-file-upload.js +552 -0
  75. package/dist/wje-file-upload.js.map +1 -0
  76. package/dist/wje-footer.js +52 -0
  77. package/dist/wje-footer.js.map +1 -0
  78. package/dist/wje-form.js +53 -0
  79. package/dist/wje-form.js.map +1 -0
  80. package/dist/wje-format-digital.js +146 -0
  81. package/dist/wje-format-digital.js.map +1 -0
  82. package/dist/wje-grid.js +54 -0
  83. package/dist/wje-grid.js.map +1 -0
  84. package/dist/wje-header.js +56 -0
  85. package/dist/wje-header.js.map +1 -0
  86. package/dist/wje-icon-picker.js +349 -0
  87. package/dist/wje-icon-picker.js.map +1 -0
  88. package/dist/wje-icon.js +191 -0
  89. package/dist/wje-icon.js.map +1 -0
  90. package/dist/wje-img-comparer.js +131 -0
  91. package/dist/wje-img-comparer.js.map +1 -0
  92. package/dist/wje-img.js +80 -0
  93. package/dist/wje-img.js.map +1 -0
  94. package/dist/wje-infinite-scroll.js +6 -0
  95. package/dist/wje-infinite-scroll.js.map +1 -0
  96. package/dist/wje-input-file.js +111 -0
  97. package/dist/wje-input-file.js.map +1 -0
  98. package/dist/wje-input.js +452 -0
  99. package/dist/wje-input.js.map +1 -0
  100. package/dist/wje-item.js +88 -0
  101. package/dist/wje-item.js.map +1 -0
  102. package/dist/wje-kanban.js +462 -0
  103. package/dist/wje-kanban.js.map +1 -0
  104. package/dist/wje-label.js +53 -0
  105. package/dist/wje-label.js.map +1 -0
  106. package/dist/wje-list.js +6 -0
  107. package/dist/wje-list.js.map +1 -0
  108. package/dist/wje-main.js +52 -0
  109. package/dist/wje-main.js.map +1 -0
  110. package/dist/wje-masonry.js +267 -0
  111. package/dist/wje-masonry.js.map +1 -0
  112. package/dist/wje-master.js +687 -0
  113. package/dist/wje-master.js.map +1 -0
  114. package/dist/wje-menu-button.js +60 -0
  115. package/dist/wje-menu-button.js.map +1 -0
  116. package/dist/wje-menu-item.js +545 -0
  117. package/dist/wje-menu-item.js.map +1 -0
  118. package/dist/wje-menu-label.js +55 -0
  119. package/dist/wje-menu-label.js.map +1 -0
  120. package/dist/wje-menu.js +72 -0
  121. package/dist/wje-menu.js.map +1 -0
  122. package/dist/wje-option.js +112 -0
  123. package/dist/wje-option.js.map +1 -0
  124. package/dist/wje-options.js +355 -0
  125. package/dist/wje-options.js.map +1 -0
  126. package/dist/wje-orgchart-group.js +72 -0
  127. package/dist/wje-orgchart-group.js.map +1 -0
  128. package/dist/wje-orgchart-item.js +98 -0
  129. package/dist/wje-orgchart-item.js.map +1 -0
  130. package/dist/wje-orgchart.js +49 -0
  131. package/dist/wje-orgchart.js.map +1 -0
  132. package/dist/wje-popup.js +6 -0
  133. package/dist/wje-popup.js.map +1 -0
  134. package/dist/wje-progress-bar.js +213 -0
  135. package/dist/wje-progress-bar.js.map +1 -0
  136. package/dist/wje-qr-code.js +2892 -0
  137. package/dist/wje-qr-code.js.map +1 -0
  138. package/dist/wje-radio-group.js +228 -0
  139. package/dist/wje-radio-group.js.map +1 -0
  140. package/dist/wje-radio.js +106 -0
  141. package/dist/wje-radio.js.map +1 -0
  142. package/dist/wje-rate.js +300 -0
  143. package/dist/wje-rate.js.map +1 -0
  144. package/dist/wje-relative-time.js +115 -0
  145. package/dist/wje-relative-time.js.map +1 -0
  146. package/dist/wje-reorder-dropzone.js +49 -0
  147. package/dist/wje-reorder-dropzone.js.map +1 -0
  148. package/dist/wje-reorder-handle.js +218 -0
  149. package/dist/wje-reorder-handle.js.map +1 -0
  150. package/dist/wje-reorder-item.js +61 -0
  151. package/dist/wje-reorder-item.js.map +1 -0
  152. package/dist/wje-reorder.js +281 -0
  153. package/dist/wje-reorder.js.map +1 -0
  154. package/dist/wje-route.js +43 -0
  155. package/dist/wje-route.js.map +1 -0
  156. package/dist/wje-router-link.js +64 -0
  157. package/dist/wje-router-link.js.map +1 -0
  158. package/dist/wje-router-outlet.js +192 -0
  159. package/dist/wje-router-outlet.js.map +1 -0
  160. package/dist/wje-routerx.js +1437 -0
  161. package/dist/wje-routerx.js.map +1 -0
  162. package/dist/wje-row.js +49 -0
  163. package/dist/wje-row.js.map +1 -0
  164. package/dist/wje-select.js +630 -0
  165. package/dist/wje-select.js.map +1 -0
  166. package/dist/wje-slider.js +221 -0
  167. package/dist/wje-slider.js.map +1 -0
  168. package/dist/wje-sliding-container.js +474 -0
  169. package/dist/wje-sliding-container.js.map +1 -0
  170. package/dist/wje-split-view.js +153 -0
  171. package/dist/wje-split-view.js.map +1 -0
  172. package/dist/wje-status.js +61 -0
  173. package/dist/wje-status.js.map +1 -0
  174. package/dist/wje-step.js +50 -0
  175. package/dist/wje-step.js.map +1 -0
  176. package/dist/wje-stepper.js +231 -0
  177. package/dist/wje-stepper.js.map +1 -0
  178. package/dist/wje-store.js +401 -0
  179. package/dist/wje-store.js.map +1 -0
  180. package/dist/wje-tab-group.js +137 -0
  181. package/dist/wje-tab-group.js.map +1 -0
  182. package/dist/wje-tab-panel.js +46 -0
  183. package/dist/wje-tab-panel.js.map +1 -0
  184. package/dist/wje-tab.js +59 -0
  185. package/dist/wje-tab.js.map +1 -0
  186. package/dist/wje-textarea.js +373 -0
  187. package/dist/wje-textarea.js.map +1 -0
  188. package/dist/wje-thumbnail.js +54 -0
  189. package/dist/wje-thumbnail.js.map +1 -0
  190. package/dist/wje-toast.js +334 -0
  191. package/dist/wje-toast.js.map +1 -0
  192. package/dist/wje-toggle.js +125 -0
  193. package/dist/wje-toggle.js.map +1 -0
  194. package/dist/wje-toolbar-action.js +72 -0
  195. package/dist/wje-toolbar-action.js.map +1 -0
  196. package/dist/wje-toolbar.js +63 -0
  197. package/dist/wje-toolbar.js.map +1 -0
  198. package/dist/wje-tooltip.js +166 -0
  199. package/dist/wje-tooltip.js.map +1 -0
  200. package/dist/wje-visually-hidden.js +55 -0
  201. package/dist/wje-visually-hidden.js.map +1 -0
  202. package/package.json +1 -1
@@ -0,0 +1,72 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ import WJElement, { event } from "./wje-element.js";
5
+ const styles = ":host {\n text-align: center;\n list-style-type: none;\n position: relative;\n padding: var(--wje-orgchart-group-height-line) 0 0 0;\n transition: all 0.5s;\n\n &::before,\n &::after {\n content: '';\n position: absolute;\n top: 0;\n right: 50%;\n border-top: 1px solid var(--wje-border-color);\n width: 50%;\n height: var(--wje-orgchart-group-height-line);\n }\n\n &::after {\n right: auto;\n left: 50%;\n border-left: 1px solid var(--wje-border-color);\n }\n\n wje-card::part(native) {\n box-sizing: border-box;\n padding: var(--wje-orgchart-group-padding);\n }\n\n wje-card h4 {\n margin: 0;\n }\n wje-card .items {\n display: flex;\n }\n\n .orgchart-group {\n display: flex;\n flex-direction: column;\n wje-card {\n margin: 0 auto;\n width: var(--wje-orgchart-group-width);\n }\n }\n}\n\n:host(:only-child)::after,\n:host(:only-child)::before {\n display: none;\n}\n\n:host(:only-child) {\n padding-top: 0;\n}\n\n:host(:first-child)::before,\n:host(:last-child)::after {\n border: 0 none;\n}\n\n:host(:last-child)::before {\n border-right: 1px solid var(--wje-border-color);\n border-radius: 0 var(--wje-orgchart-group-border-radius) 0 0;\n}\n\n:host(:first-child)::after {\n border-radius: var(--wje-orgchart-group-border-radius) 0 0 0;\n}\n";
6
+ class OrgchartGroup extends WJElement {
7
+ /**
8
+ * Creates an instance of OrgchartGroup.
9
+ * @class
10
+ */
11
+ constructor() {
12
+ super();
13
+ /**
14
+ * The class name for the component.
15
+ * @type {string}
16
+ */
17
+ __publicField(this, "className", "OrgchartGroup");
18
+ }
19
+ /**
20
+ * Returns the CSS styles for the component.
21
+ * @static
22
+ * @returns {CSSStyleSheet}
23
+ */
24
+ static get cssStyleSheet() {
25
+ return styles;
26
+ }
27
+ /**
28
+ * Sets up the attributes for the component.
29
+ */
30
+ setupAttributes() {
31
+ this.isShadowRoot = "open";
32
+ }
33
+ /**
34
+ * Draws the component for the org chart group.
35
+ * @returns {DocumentFragment}
36
+ */
37
+ draw() {
38
+ let fragment = document.createDocumentFragment();
39
+ let native = document.createElement("div");
40
+ native.setAttribute("part", "native");
41
+ native.classList.add("orgchart-group");
42
+ let card = document.createElement("wje-card");
43
+ let title = document.createElement("h4");
44
+ title.setAttribute("part", "title");
45
+ title.innerHTML = this.getAttribute("title") || "";
46
+ let items = document.createElement("div");
47
+ items.setAttribute("part", "items");
48
+ items.classList.add("items");
49
+ let slot = document.createElement("slot");
50
+ items.appendChild(slot);
51
+ card.appendChild(title);
52
+ card.appendChild(items);
53
+ native.appendChild(card);
54
+ fragment.appendChild(native);
55
+ this.card = card;
56
+ return fragment;
57
+ }
58
+ /**
59
+ * After Draws the component for the org chart group.
60
+ */
61
+ afterDraw() {
62
+ this.card.addEventListener("click", (e) => {
63
+ e.stopPropagation();
64
+ event.dispatchCustomEvent(this.card, "wje-orgchart-group:click", { target: this });
65
+ });
66
+ }
67
+ }
68
+ OrgchartGroup.define("wje-orgchart-group", OrgchartGroup);
69
+ export {
70
+ OrgchartGroup as default
71
+ };
72
+ //# sourceMappingURL=wje-orgchart-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wje-orgchart-group.js","sources":["../packages/wje-orgchart-group/orgchart-group.element.js","../packages/wje-orgchart-group/orgchart-group.js"],"sourcesContent":["import { default as WJElement, event } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary OrgchartItem is a custom web component that extends WJElement.\n * @documentation https://elements.webjet.sk/components/OrgchartItem\n * @status stable\n * @augments WJElement\n * @csspart - Styles the element.\n * @tag wje-orgchart-item\n * @example\n */\nexport default class OrgchartGroup extends WJElement {\n /**\n * Creates an instance of OrgchartGroup.\n * @class\n */\n constructor() {\n super();\n }\n\n /**\n * The class name for the component.\n * @type {string}\n */\n className = 'OrgchartGroup';\n\n /**\n * Returns the CSS styles for the component.\n * @static\n * @returns {CSSStyleSheet}\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Sets up the attributes for the component.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the component for the org chart group.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.classList.add('orgchart-group');\n\n let card = document.createElement('wje-card');\n\n let title = document.createElement('h4');\n title.setAttribute('part', 'title');\n title.innerHTML = this.getAttribute('title') || '';\n\n let items = document.createElement('div');\n items.setAttribute('part', 'items');\n items.classList.add('items');\n\n let slot = document.createElement('slot');\n\n items.appendChild(slot);\n\n card.appendChild(title);\n card.appendChild(items);\n\n native.appendChild(card);\n\n fragment.appendChild(native);\n\n this.card = card;\n\n return fragment;\n }\n\n /**\n * After Draws the component for the org chart group.\n */\n afterDraw() {\n this.card.addEventListener('click', (e) => {\n e.stopPropagation();\n event.dispatchCustomEvent(this.card, 'wje-orgchart-group:click', { target: this });\n });\n }\n}\n","import OrgchartGroup from './orgchart-group.element.js';\n\nexport default OrgchartGroup;\n\nOrgchartGroup.define('wje-orgchart-group', OrgchartGroup);\n"],"names":[],"mappings":";;;;;AAYe,MAAM,sBAAsB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjD,cAAc;AACV,UAAO;AAOX;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EANhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaI,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACf;AAAA;AAAA;AAAA;AAAA,EAKI,kBAAkB;AACd,SAAK,eAAe;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMI,OAAO;AACH,QAAI,WAAW,SAAS,uBAAwB;AAEhD,QAAI,SAAS,SAAS,cAAc,KAAK;AACzC,WAAO,aAAa,QAAQ,QAAQ;AACpC,WAAO,UAAU,IAAI,gBAAgB;AAErC,QAAI,OAAO,SAAS,cAAc,UAAU;AAE5C,QAAI,QAAQ,SAAS,cAAc,IAAI;AACvC,UAAM,aAAa,QAAQ,OAAO;AAClC,UAAM,YAAY,KAAK,aAAa,OAAO,KAAK;AAEhD,QAAI,QAAQ,SAAS,cAAc,KAAK;AACxC,UAAM,aAAa,QAAQ,OAAO;AAClC,UAAM,UAAU,IAAI,OAAO;AAE3B,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,UAAM,YAAY,IAAI;AAEtB,SAAK,YAAY,KAAK;AACtB,SAAK,YAAY,KAAK;AAEtB,WAAO,YAAY,IAAI;AAEvB,aAAS,YAAY,MAAM;AAE3B,SAAK,OAAO;AAEZ,WAAO;AAAA,EACf;AAAA;AAAA;AAAA;AAAA,EAKI,YAAY;AACR,SAAK,KAAK,iBAAiB,SAAS,CAAC,MAAM;AACvC,QAAE,gBAAiB;AACnB,YAAM,oBAAoB,KAAK,MAAM,4BAA4B,EAAE,QAAQ,MAAM;AAAA,IAC7F,CAAS;AAAA,EACT;AACA;ACrFA,cAAc,OAAO,sBAAsB,aAAa;"}
@@ -0,0 +1,98 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ import WJElement from "./wje-element.js";
5
+ const styles = ":host {\n width: var(--wje-orgchart-item-width);\n box-sizing: border-box;\n\n .orgchart-item {\n display: flex;\n flex-direction: column;\n\n wje-card {\n margin: 0 auto;\n padding-inline: 0.25rem;\n width: var(--wje-orgchart-item-width);\n box-sizing: border-box;\n &::part(native) {\n border-radius: var(--wje-orgchart-border-radius) !important;\n box-sizing: border-box;\n overflow: visible;\n padding-block: 0.125rem;\n background: var(--wje-orgchart-item-background);\n }\n }\n }\n\n .expander {\n position: absolute;\n left: calc(50% + 1px / 2);\n border: 1px solid var(--wje-border-color);\n border-radius: 50%;\n width: var(--wje-orgchart-item-expander-size);\n height: var(--wje-orgchart-item-expander-size);\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--wje-color-contrast-0);\n font-size: 8px;\n line-height: 1;\n box-sizing: border-box;\n transform: translate(-50%, calc(var(--wje-orgchart-item-expander-size) / 2));\n padding-bottom: 1px;\n cursor: pointer;\n z-index: 999;\n bottom: 0;\n &.collapse {\n content: '+';\n wje-orgchart {\n display: none;\n }\n }\n &:hover {\n background: var(--wje-color-contrast-1);\n }\n }\n}\n\n:host(.collapse) {\n .expander {\n content: '+';\n }\n slot[name='child'] {\n display: none;\n }\n}\n/* ak nie je parent-group */\n:host(:not(.parent-group)) {\n text-align: center;\n list-style-type: none;\n position: relative;\n padding: var(--wje-orgchart-item-height-line) 0 0 0;\n transition: all 0.5s;\n width: auto;\n box-sizing: border-box;\n\n &::before,\n &::after {\n content: '';\n position: absolute;\n top: 0;\n right: 50%;\n border-top: 1px solid var(--wje-border-color);\n width: 50%;\n height: calc(var(--wje-orgchart-item-height-line) - 1px);\n }\n\n &::after {\n right: auto;\n left: 50%;\n border-left: 1px solid var(--wje-border-color);\n }\n\n wje-card::part(native) {\n box-sizing: border-box;\n }\n}\n\n:host([boss]) {\n wje-card::part(native) {\n background: var(--wje-orgchart-item-boss-background);\n border: var(--wje-orgchart-item-boss-border);\n }\n}\n\n:host(:hover) {\n wje-card::part(native) {\n background: var(--wje-orgchart-item-hover-background);\n border: var(--wje-orgchart-item-hover-border);\n }\n}\n\n:host(.highlight) {\n wje-card::part(native) {\n background: var(--wje-orgchart-item-highlight-background);\n border: var(--wje-orgchart-item-highlight-border);\n }\n}\n\n:host(:only-child)::after,\n:host(:only-child)::before {\n display: none;\n}\n\n:host(:only-child) {\n padding-top: 0;\n}\n\n:host(:first-child)::before,\n:host(:last-child)::after {\n border: 0 none;\n}\n\n:host(:last-child)::before {\n border-right: 1px solid var(--wje-border-color);\n border-radius: 0 var(--wje-orgchart-item-border-radius) 0 0;\n}\n\n:host(:first-child)::after {\n border-radius: var(--wje-orgchart-item-border-radius) 0 0 0;\n}\n";
6
+ class OrgchartItem extends WJElement {
7
+ /**
8
+ * Creates an instance of OrgchartItem.
9
+ * @class
10
+ */
11
+ constructor() {
12
+ super();
13
+ __publicField(this, "className", "OrgchartItem");
14
+ /**
15
+ * Toggles the children of the orgchart item.
16
+ * @param e The event object.
17
+ */
18
+ __publicField(this, "toggleChildren", (e) => {
19
+ this.classList.toggle("collapse");
20
+ if (this.classList.contains("collapse")) e.target.innerHTML = "+";
21
+ else e.target.innerHTML = "-";
22
+ });
23
+ }
24
+ /**
25
+ * Sets the boss of the orgchart item.
26
+ * @param value
27
+ */
28
+ set boss(value) {
29
+ if (value) this.setAttribute("boss", value);
30
+ }
31
+ /**
32
+ * Gets the boss of the orgchart item.
33
+ * @returns {boolean}
34
+ */
35
+ get boss() {
36
+ return this.hasAttribute("boss");
37
+ }
38
+ /**
39
+ * Returns the CSS styles for the component.
40
+ * @static
41
+ * @returns {CSSStyleSheet}
42
+ */
43
+ static get cssStyleSheet() {
44
+ return styles;
45
+ }
46
+ /**
47
+ * Sets up the attributes for the component.
48
+ */
49
+ setupAttributes() {
50
+ this.isShadowRoot = "open";
51
+ }
52
+ beforeDraw() {
53
+ if (this.parentElement && this.parentElement.tagName === "WJE-ORGCHART-GROUP") {
54
+ this.classList.add("parent-group");
55
+ }
56
+ }
57
+ /**
58
+ * Draws the component for the org chart item.
59
+ * @returns {DocumentFragment}
60
+ */
61
+ draw() {
62
+ let fragment = document.createDocumentFragment();
63
+ let native = document.createElement("div");
64
+ native.setAttribute("part", "native");
65
+ native.classList.add("orgchart-item");
66
+ let card = document.createElement("wje-card");
67
+ card.setAttribute("part", "card");
68
+ let slot = document.createElement("slot");
69
+ let child = document.createElement("slot");
70
+ child.setAttribute("name", "child");
71
+ let expander = document.createElement("div");
72
+ expander.setAttribute("part", "expander");
73
+ expander.classList.add("expander");
74
+ expander.innerHTML = "-";
75
+ card.appendChild(slot);
76
+ if (this.children.length > 0 && Array.from(this.children).some((el) => el.tagName === "WJE-ORGCHART"))
77
+ card.appendChild(expander);
78
+ native.appendChild(card);
79
+ native.appendChild(child);
80
+ fragment.appendChild(native);
81
+ this.expander = expander;
82
+ return fragment;
83
+ }
84
+ /**
85
+ * After Draws the component for the org chart item.
86
+ */
87
+ afterDraw() {
88
+ this.expander.addEventListener("click", this.toggleChildren);
89
+ }
90
+ dispatchEvent(e) {
91
+ return false;
92
+ }
93
+ }
94
+ OrgchartItem.define("wje-orgchart-item", OrgchartItem);
95
+ export {
96
+ OrgchartItem as default
97
+ };
98
+ //# sourceMappingURL=wje-orgchart-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wje-orgchart-item.js","sources":["../packages/wje-orgchart-item/orgchart-item.element.js","../packages/wje-orgchart-item/orgchart-item.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary OrgchartItem is a custom web component that extends WJElement.\n * @documentation https://elements.webjet.sk/components/OrgchartItem\n * @status stable\n * @augments WJElement\n * @attribute {boolean} boss - The boss of the orgchart item (default: false).\n * @slot - The default slot for the orgchart item.\n * @slot child - The child slot for the orgchart item.\n * @csspart - Styles the element.\n * @csspart native - Styles the native element.\n * @csspart expander - Styles the expander element.\n * @tag wje-orgchart-item\n */\nexport default class OrgchartItem extends WJElement {\n /**\n * Creates an instance of OrgchartItem.\n * @class\n */\n constructor() {\n super();\n }\n\n /**\n * Sets the boss of the orgchart item.\n * @param value\n */\n\n set boss(value) {\n if (value) this.setAttribute('boss', value);\n }\n\n /**\n * Gets the boss of the orgchart item.\n * @returns {boolean}\n */\n\n get boss() {\n return this.hasAttribute('boss');\n }\n\n className = 'OrgchartItem';\n\n /**\n * Returns the CSS styles for the component.\n * @static\n * @returns {CSSStyleSheet}\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Sets up the attributes for the component.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n beforeDraw() {\n if (this.parentElement && this.parentElement.tagName === 'WJE-ORGCHART-GROUP') {\n this.classList.add('parent-group');\n }\n }\n\n /**\n * Draws the component for the org chart item.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.classList.add('orgchart-item');\n\n let card = document.createElement('wje-card');\n card.setAttribute('part', 'card');\n\n let slot = document.createElement('slot');\n\n let child = document.createElement('slot');\n child.setAttribute('name', 'child');\n\n let expander = document.createElement('div');\n expander.setAttribute('part', 'expander');\n expander.classList.add('expander');\n expander.innerHTML = '-';\n\n card.appendChild(slot);\n if (this.children.length > 0 && Array.from(this.children).some((el) => el.tagName === 'WJE-ORGCHART'))\n card.appendChild(expander); // if the orgchart item has children and\n\n native.appendChild(card);\n native.appendChild(child);\n\n fragment.appendChild(native);\n\n this.expander = expander;\n\n return fragment;\n }\n\n /**\n * After Draws the component for the org chart item.\n */\n afterDraw() {\n this.expander.addEventListener('click', this.toggleChildren);\n }\n\n /**\n * Toggles the children of the orgchart item.\n * @param e The event object.\n */\n toggleChildren = (e) => {\n this.classList.toggle('collapse');\n if (this.classList.contains('collapse')) e.target.innerHTML = '+';\n else e.target.innerHTML = '-';\n };\n\n dispatchEvent(e) {\n return false;\n }\n}\n","import OrgchartItem from './orgchart-item.element.js';\n\nexport default OrgchartItem;\n\nOrgchartItem.define('wje-orgchart-item', OrgchartItem);\n"],"names":[],"mappings":";;;;;AAgBe,MAAM,qBAAqB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhD,cAAc;AACV,UAAO;AAqBX,qCAAY;AAyEZ;AAAA;AAAA;AAAA;AAAA,0CAAiB,CAAC,MAAM;AACpB,WAAK,UAAU,OAAO,UAAU;AAChC,UAAI,KAAK,UAAU,SAAS,UAAU,EAAG,GAAE,OAAO,YAAY;AAAA,UACzD,GAAE,OAAO,YAAY;AAAA,IAC7B;AAAA,EAjGL;AAAA;AAAA;AAAA;AAAA;AAAA,EAOI,IAAI,KAAK,OAAO;AACZ,QAAI,MAAO,MAAK,aAAa,QAAQ,KAAK;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA,EAOI,IAAI,OAAO;AACP,WAAO,KAAK,aAAa,MAAM;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASI,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACf;AAAA;AAAA;AAAA;AAAA,EAKI,kBAAkB;AACd,SAAK,eAAe;AAAA,EAC5B;AAAA,EAEI,aAAa;AACT,QAAI,KAAK,iBAAiB,KAAK,cAAc,YAAY,sBAAsB;AAC3E,WAAK,UAAU,IAAI,cAAc;AAAA,IAC7C;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMI,OAAO;AACH,QAAI,WAAW,SAAS,uBAAwB;AAEhD,QAAI,SAAS,SAAS,cAAc,KAAK;AACzC,WAAO,aAAa,QAAQ,QAAQ;AACpC,WAAO,UAAU,IAAI,eAAe;AAEpC,QAAI,OAAO,SAAS,cAAc,UAAU;AAC5C,SAAK,aAAa,QAAQ,MAAM;AAEhC,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,QAAI,QAAQ,SAAS,cAAc,MAAM;AACzC,UAAM,aAAa,QAAQ,OAAO;AAElC,QAAI,WAAW,SAAS,cAAc,KAAK;AAC3C,aAAS,aAAa,QAAQ,UAAU;AACxC,aAAS,UAAU,IAAI,UAAU;AACjC,aAAS,YAAY;AAErB,SAAK,YAAY,IAAI;AACrB,QAAI,KAAK,SAAS,SAAS,KAAK,MAAM,KAAK,KAAK,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG,YAAY,cAAc;AAChG,WAAK,YAAY,QAAQ;AAE7B,WAAO,YAAY,IAAI;AACvB,WAAO,YAAY,KAAK;AAExB,aAAS,YAAY,MAAM;AAE3B,SAAK,WAAW;AAEhB,WAAO;AAAA,EACf;AAAA;AAAA;AAAA;AAAA,EAKI,YAAY;AACR,SAAK,SAAS,iBAAiB,SAAS,KAAK,cAAc;AAAA,EACnE;AAAA,EAYI,cAAc,GAAG;AACb,WAAO;AAAA,EACf;AACA;ACzHA,aAAa,OAAO,qBAAqB,YAAY;"}
@@ -0,0 +1,49 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ import WJElement from "./wje-element.js";
5
+ const styles = "* {\n margin: 0;\n padding: 0;\n}\n\n:host {\n position: relative;\n .native-orgchart {\n padding-top: var(--wje-orgchart-height-line);\n display: flex;\n justify-content: center;\n }\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 50%;\n border-left: 1px solid var(--wje-border-color);\n width: 0;\n height: var(--wje-orgchart-height-line);\n }\n}\n";
6
+ class Orgchart extends WJElement {
7
+ /**
8
+ * Creates an instance of Orgchart.
9
+ * @class
10
+ */
11
+ constructor() {
12
+ super();
13
+ __publicField(this, "className", "Orgchart");
14
+ }
15
+ /**
16
+ * Returns the CSS styles for the component.
17
+ * @static
18
+ * @returns {CSSStyleSheet}
19
+ */
20
+ static get cssStyleSheet() {
21
+ return styles;
22
+ }
23
+ /**
24
+ * Sets up the attributes for the component.
25
+ */
26
+ setupAttributes() {
27
+ this.isShadowRoot = "open";
28
+ }
29
+ /**
30
+ * Draws the component for the org chart.
31
+ * @returns {DocumentFragment}
32
+ */
33
+ draw() {
34
+ let fragment = document.createDocumentFragment();
35
+ let native = document.createElement("div");
36
+ native.setAttribute("part", "native");
37
+ native.classList.add("native-orgchart");
38
+ let slot = document.createElement("slot");
39
+ native.appendChild(slot);
40
+ fragment.appendChild(native);
41
+ this.native = native;
42
+ return fragment;
43
+ }
44
+ }
45
+ Orgchart.define("wje-orgchart", Orgchart);
46
+ export {
47
+ Orgchart as default
48
+ };
49
+ //# sourceMappingURL=wje-orgchart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wje-orgchart.js","sources":["../packages/wje-orgchart/orgchart.element.js","../packages/wje-orgchart/orgchart.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary Orgchart is a custom web component that extends WJElement.\n * @documentation https://elements.webjet.sk/components/Orgchart\n * @status stable\n * @augments WJElement\n * @csspart - Styles the element.\n * @tag wje-orgchart\n * @example\n */\nexport default class Orgchart extends WJElement {\n /**\n * Creates an instance of Orgchart.\n * @class\n */\n constructor() {\n super();\n }\n\n className = 'Orgchart';\n\n /**\n * Returns the CSS styles for the component.\n * @static\n * @returns {CSSStyleSheet}\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Sets up the attributes for the component.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the component for the org chart.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.classList.add('native-orgchart');\n\n let slot = document.createElement('slot');\n\n native.appendChild(slot);\n\n fragment.appendChild(native);\n\n this.native = native;\n\n return fragment;\n }\n}\n","import Orgchart from './orgchart.element.js';\n\nexport default Orgchart;\n\nOrgchart.define('wje-orgchart', Orgchart);\n"],"names":[],"mappings":";;;;;AAYe,MAAM,iBAAiB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAK5C,cAAc;AACV,UAAO;AAGX,qCAAY;AAAA,EAFhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASI,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACf;AAAA;AAAA;AAAA;AAAA,EAKI,kBAAkB;AACd,SAAK,eAAe;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMI,OAAO;AACH,QAAI,WAAW,SAAS,uBAAwB;AAEhD,QAAI,SAAS,SAAS,cAAc,KAAK;AACzC,WAAO,aAAa,QAAQ,QAAQ;AACpC,WAAO,UAAU,IAAI,iBAAiB;AAEtC,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,WAAO,YAAY,IAAI;AAEvB,aAAS,YAAY,MAAM;AAE3B,SAAK,SAAS;AAEd,WAAO;AAAA,EACf;AACA;ACxDA,SAAS,OAAO,gBAAgB,QAAQ;"}
@@ -0,0 +1,6 @@
1
+ import { P as Popup } from "./popup.element-tyYxow0p.js";
2
+ Popup.define("wje-popup", Popup);
3
+ export {
4
+ Popup as default
5
+ };
6
+ //# sourceMappingURL=wje-popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wje-popup.js","sources":["../packages/wje-popup/popup.js"],"sourcesContent":["import Popup from './popup.element.js';\n\nexport default Popup;\n\nPopup.define('wje-popup', Popup);\n"],"names":[],"mappings":";AAIA,MAAM,OAAO,aAAa,KAAK;"}
@@ -0,0 +1,213 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ import WJElement from "./wje-element.js";
5
+ const styles = "/*\n[ WJ Progress bar ]\n*/\n\n:host([color='primary']) {\n --wje-progress-bar-background-color: var(--wje-color-primary-2);\n --wje-progress-bar-color: var(--wje-color-primary-9);\n}\n\n:host([color='complete']) {\n --wje-progress-bar-background-color: var(--wje-color-complete-2);\n --wje-progress-bar-color: var(--wje-color-complete-9);\n}\n\n:host([color='success']) {\n --wje-progress-bar-background-color: var(--wje-color-success-2);\n --wje-progress-bar-color: var(--wje-color-success-9);\n}\n\n:host([color='warning']) {\n --wje-progress-bar-background-color: var(--wje-color-warning-2);\n --wje-progress-bar-color: var(--wje-color-warning-9);\n}\n\n:host([color='danger']) {\n --wje-progress-bar-background-color: var(--wje-color-danger-2);\n --wje-progress-bar-color: var(--wje-color-danger-9);\n}\n\n:host([color='info']) {\n --wje-progress-bar-background-color: var(--wje-color-info-2);\n --wje-progress-bar-color: var(--wje-color-info-9);\n}\n\n/*:host(.wje-color-dark) {*/\n/* --wje-progress-bar-color: var(--wje-color-contrast-0);*/\n/*}*/\n\n/*:host(.wje-color-light) #bar {*/\n/* --wje-progress-bar-color: var(--wje-color-contrast-9);*/\n/*}*/\n\n:host {\n --wje-progress-bar-background-color: var(--wje-color-contrast-2);\n --wje-progress-bar-color: var(--wje-color-contrast-6);\n --wje-progress-bar-text-size: 0.75rem;\n --wje-progress-bar-text-color: var(--wje-color);\n /*--wje-progress-bar-stroke: var(--wje-color-contrast-3);*/\n fill: var(--wje-progress-bar-background-color);\n .progress {\n position: relative;\n display: flex;\n align-items: center;\n }\n\n .slot-wrapper {\n display: flex;\n position: absolute;\n top: 0;\n align-items: center;\n width: 100%;\n height: 100%;\n justify-content: center;\n }\n #bar {\n fill: var(--wje-progress-bar-color);\n }\n\n text {\n transform: rotate(90deg);\n transform-origin: center;\n text-anchor: middle;\n dominant-baseline: middle;\n font-size: var(--wje-progress-bar-text-size);\n fill: var(--wje-progress-bar-text-color);\n stroke: var(--wje-progress-bar-text-color);\n }\n}\n\n:host(.wje-color) #bar {\n fill: var(--wje-progress-bar-color);\n}\n\n::slotted([slot='start']) {\n margin-inline: 0 1rem;\n}\n\n::slotted([slot='end']) {\n margin-inline: 1rem 0;\n}\n";
6
+ class ProgressBar extends WJElement {
7
+ /**
8
+ * Creates an instance of ProgressBar.
9
+ * @class
10
+ */
11
+ constructor() {
12
+ super();
13
+ __publicField(this, "className", "ProgressBar");
14
+ }
15
+ /**
16
+ * Sets the radius of the progress bar.
17
+ * @param {number} value The value to set.
18
+ */
19
+ set radius(value) {
20
+ this.setAttribute("radius", value);
21
+ }
22
+ /**
23
+ * Gets the radius of the progress bar.
24
+ * @returns {number} The value of the radius.
25
+ */
26
+ get radius() {
27
+ return +this.getAttribute("radius") || 70;
28
+ }
29
+ /**
30
+ * Gets the diameter of the progress bar.
31
+ * @returns {number} The value of the diameter.
32
+ */
33
+ get diameter() {
34
+ return this.radius * 2;
35
+ }
36
+ /**
37
+ * Gets the diameter of the progress bar.
38
+ * @returns {number} The value of the diameter.
39
+ */
40
+ get containerSize() {
41
+ return this.diameter + 2 * this.stroke;
42
+ }
43
+ /**
44
+ * Sets the stroke of the progress bar.
45
+ * @param {number} value The value to set.
46
+ */
47
+ set stroke(value) {
48
+ this.setAttribute("stroke", value);
49
+ }
50
+ /**
51
+ * Gets the stroke of the progress bar.
52
+ * @returns {number} The value of the stroke.
53
+ */
54
+ get stroke() {
55
+ return +this.getAttribute("stroke") || 6;
56
+ }
57
+ /**
58
+ * Gets the linecap of the progress bar.
59
+ * @returns {string} The value of the linecap.
60
+ */
61
+ get linecap() {
62
+ return this.getAttribute("linecap") || "square";
63
+ }
64
+ /**
65
+ * Returns the CSS styles for the component.
66
+ * @static
67
+ * @returns {CSSStyleSheet}
68
+ */
69
+ static get cssStyleSheet() {
70
+ return styles;
71
+ }
72
+ /**
73
+ * Returns the list of attributes to observe for changes.
74
+ * @static
75
+ * @returns {Array<string>}
76
+ */
77
+ static get observedAttributes() {
78
+ return ["progress"];
79
+ }
80
+ /**
81
+ * Sets up the attributes for the component.
82
+ */
83
+ setupAttributes() {
84
+ this.isShadowRoot = "open";
85
+ }
86
+ /**
87
+ * Draws the component.
88
+ * @param {object} context The context for drawing.
89
+ * @param {object} store The store for drawing.
90
+ * @param {object} params The parameters for drawing.
91
+ * @returns {DocumentFragment}
92
+ */
93
+ draw(context, store, params) {
94
+ this.radius + this.stroke / 2;
95
+ let fragment = document.createDocumentFragment();
96
+ if (params.color) this.classList.add("wje-color");
97
+ let element = document.createElement("div");
98
+ element.classList.add("progress");
99
+ let slot = document.createElement("slot");
100
+ let slotWrapper = document.createElement("div");
101
+ slotWrapper.classList.add("slot-wrapper");
102
+ let slotStart = document.createElement("slot");
103
+ slotStart.setAttribute("name", "start");
104
+ let slotEnd = document.createElement("slot");
105
+ slotEnd.setAttribute("name", "end");
106
+ const svgNamespace = "http://www.w3.org/2000/svg";
107
+ let svg = document.createElementNS(svgNamespace, "svg");
108
+ let background;
109
+ let bar;
110
+ if ((this == null ? void 0 : this.type) === "circle") {
111
+ svg.setAttribute("width", this.containerSize);
112
+ svg.setAttribute("height", this.containerSize);
113
+ svg.setAttribute("viewBox", `0 0 ${this.containerSize} ${this.containerSize}`);
114
+ svg.setAttribute("style", "transform: rotate(-90deg)");
115
+ background = document.createElementNS(svgNamespace, "circle");
116
+ background.setAttribute("stroke", "var(--wje-progress-bar-background-color)");
117
+ background.setAttribute("stroke-width", this.stroke);
118
+ background.setAttribute("fill", "transparent");
119
+ background.setAttribute("r", this.radius);
120
+ background.setAttribute("cx", this.containerSize / 2);
121
+ background.setAttribute("cy", this.containerSize / 2);
122
+ bar = document.createElementNS(svgNamespace, "circle");
123
+ bar.setAttribute("stroke", "var(--wje-progress-bar-color)");
124
+ bar.setAttribute("stroke-width", this.stroke);
125
+ bar.setAttribute("fill", "transparent");
126
+ bar.setAttribute("r", this.radius);
127
+ bar.setAttribute("cx", this.containerSize / 2);
128
+ bar.setAttribute("cy", this.containerSize / 2);
129
+ bar.setAttribute("stroke-linecap", this.linecap);
130
+ let text = document.createElementNS(svgNamespace, "text");
131
+ text.setAttribute("x", "50%");
132
+ text.setAttribute("y", "50%");
133
+ text.innerHTML = this.progress + "%";
134
+ svg.appendChild(text);
135
+ } else {
136
+ svg.setAttribute("width", "100%");
137
+ svg.setAttribute("height", this.stroke);
138
+ svg.setAttribute("preserveAspectRatio", "none");
139
+ background = document.createElementNS(svgNamespace, "rect");
140
+ background.setAttribute("x", 0);
141
+ background.setAttribute("y", 0);
142
+ background.setAttribute("width", "100%");
143
+ background.setAttribute("height", this.stroke);
144
+ if (this.linecap === "round") {
145
+ background.setAttribute("rx", this.stroke / 2);
146
+ background.setAttribute("ry", this.stroke / 2);
147
+ }
148
+ bar = document.createElementNS(svgNamespace, "rect");
149
+ bar.setAttribute("x", 0);
150
+ bar.setAttribute("y", 0);
151
+ bar.setAttribute("width", this.progress + "%");
152
+ bar.setAttribute("height", this.stroke);
153
+ bar.setAttribute("id", "bar");
154
+ if (this.linecap === "round") {
155
+ bar.setAttribute("rx", this.stroke / 2);
156
+ bar.setAttribute("ry", this.stroke / 2);
157
+ }
158
+ }
159
+ svg.appendChild(background);
160
+ svg.appendChild(bar);
161
+ slotWrapper.appendChild(slot);
162
+ element.appendChild(slotStart);
163
+ element.appendChild(slotWrapper);
164
+ element.appendChild(svg);
165
+ element.appendChild(slotEnd);
166
+ fragment.appendChild(element);
167
+ this.background = background;
168
+ this.bar = bar;
169
+ return fragment;
170
+ }
171
+ /**
172
+ * Adds event listeners after the component is drawn.
173
+ */
174
+ afterDraw() {
175
+ if (this.type === "circle") {
176
+ this.setCircleProgress(this.progress);
177
+ }
178
+ }
179
+ /**
180
+ * Returns the dasharray for a circle with the given radius.
181
+ * @param {number} radius The radius of the circle in pixels.
182
+ * @returns {number} The dasharray value.
183
+ */
184
+ getCircleDasharray(radius = 70) {
185
+ return 2 * Math.PI * radius;
186
+ }
187
+ /**
188
+ * Returns the dashoffset for a circle with the given progress and radius.
189
+ * @param {number} progress The progress of the circle in percentage.
190
+ * @param {number} radius The radius of the circle in pixels.
191
+ * @returns {number} The dashoffset value.
192
+ */
193
+ getCircleDashoffset(progress = 0, radius = 70) {
194
+ return this.getCircleDasharray(radius) * ((100 - progress) / 100);
195
+ }
196
+ /**
197
+ * Sets the progress of the circle.
198
+ * @param percent
199
+ */
200
+ setCircleProgress(percent) {
201
+ const progress = this.bar;
202
+ const radius = progress.r.baseVal.value;
203
+ const circumference = 2 * Math.PI * radius;
204
+ progress.style.strokeDasharray = `${circumference}`;
205
+ const offset = circumference - percent / 100 * circumference;
206
+ progress.style.strokeDashoffset = offset;
207
+ }
208
+ }
209
+ ProgressBar.define("wje-progress-bar", ProgressBar);
210
+ export {
211
+ ProgressBar as default
212
+ };
213
+ //# sourceMappingURL=wje-progress-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wje-progress-bar.js","sources":["../packages/wje-progress-bar/progress-bar.element.js","../packages/wje-progress-bar/progress-bar.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `ProgressBar` is a custom web component that represents a progress bar.\n * @summary This element represents a progress bar.\n * @documentation https://elements.webjet.sk/components/progress-bar\n * @status stable\n * @augments {WJElement}\n * @slot - The default slot for the progress bar.\n * @slot start - The start slot of the progress bar.\n * @slot end - The end slot of the progress bar.\n * @cssproperty [--wje-progress-bar-color=var(--wje-color-contrast-6)] - Sets the color of the progress bar. This property controls the fill color of the progress indicator. Accepts any valid CSS color value, such as named colors (`red`), hex values (`#ff0000`), or CSS variables.\n * @cssproperty [--wje-progress-bar-text-size=.75rem] - Defines the font size of the text displayed within the progress bar. Accepts any valid CSS length unit (e.g., `rem`, `px`, `em`) to control text size relative to the bar's design.\n * @cssproperty [--wje-progress-bar-text-color=var(--wje-color)] - Specifies the color of the text displayed within the progress bar. Accepts any valid CSS color value to ensure contrast and readability against the progress bar's background.\n * @tag wje-progress-bar\n */\nexport default class ProgressBar extends WJElement {\n /**\n * Creates an instance of ProgressBar.\n * @class\n */\n constructor() {\n super();\n }\n\n /**\n * Sets the radius of the progress bar.\n * @param {number} value The value to set.\n */\n set radius(value) {\n this.setAttribute('radius', value);\n }\n\n /**\n * Gets the radius of the progress bar.\n * @returns {number} The value of the radius.\n */\n get radius() {\n return +this.getAttribute('radius') || 70;\n }\n\n /**\n * Gets the diameter of the progress bar.\n * @returns {number} The value of the diameter.\n */\n get diameter() {\n return this.radius * 2;\n }\n\n /**\n * Gets the diameter of the progress bar.\n * @returns {number} The value of the diameter.\n */\n get containerSize() {\n return this.diameter + 2 * this.stroke;\n }\n\n /**\n * Sets the stroke of the progress bar.\n * @param {number} value The value to set.\n */\n set stroke(value) {\n this.setAttribute('stroke', value);\n }\n\n /**\n * Gets the stroke of the progress bar.\n * @returns {number} The value of the stroke.\n */\n get stroke() {\n return +this.getAttribute('stroke') || 6;\n }\n\n /**\n * Gets the linecap of the progress bar.\n * @returns {string} The value of the linecap.\n */\n get linecap() {\n return this.getAttribute('linecap') || 'square';\n }\n\n className = 'ProgressBar';\n\n /**\n * Returns the CSS styles for the component.\n * @static\n * @returns {CSSStyleSheet}\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Returns the list of attributes to observe for changes.\n * @static\n * @returns {Array<string>}\n */\n static get observedAttributes() {\n return ['progress'];\n }\n\n /**\n * Sets up the attributes for the component.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the component.\n * @param {object} context The context for drawing.\n * @param {object} store The store for drawing.\n * @param {object} params The parameters for drawing.\n * @returns {DocumentFragment}\n */\n draw(context, store, params) {\n let xy = this.radius + this.stroke / 2;\n\n let fragment = document.createDocumentFragment();\n\n if (params.color) this.classList.add('wje-color');\n\n let element = document.createElement('div');\n element.classList.add('progress');\n\n let slot = document.createElement('slot');\n\n let slotWrapper = document.createElement('div');\n slotWrapper.classList.add('slot-wrapper');\n\n let slotStart = document.createElement('slot');\n slotStart.setAttribute('name', 'start');\n\n let slotEnd = document.createElement('slot');\n slotEnd.setAttribute('name', 'end');\n\n const svgNamespace = 'http://www.w3.org/2000/svg';\n\n let svg = document.createElementNS(svgNamespace, 'svg');\n\n let background;\n let bar;\n\n if (this?.type === 'circle') {\n // console.log(\"CIRCLE\", \"RADIUS:\", this.radius, \"DIAMETER:\", this.diameter, \"CONTAINER SIZE:\", this.containerSize, \"STROKE:\", this.stroke);\n svg.setAttribute('width', this.containerSize);\n svg.setAttribute('height', this.containerSize);\n svg.setAttribute('viewBox', `0 0 ${this.containerSize} ${this.containerSize}`);\n svg.setAttribute('style', 'transform: rotate(-90deg)');\n\n background = document.createElementNS(svgNamespace, 'circle');\n background.setAttribute('stroke', 'var(--wje-progress-bar-background-color)');\n background.setAttribute('stroke-width', this.stroke);\n background.setAttribute('fill', 'transparent');\n background.setAttribute('r', this.radius);\n background.setAttribute('cx', this.containerSize / 2);\n background.setAttribute('cy', this.containerSize / 2);\n\n bar = document.createElementNS(svgNamespace, 'circle');\n bar.setAttribute('stroke', 'var(--wje-progress-bar-color)');\n bar.setAttribute('stroke-width', this.stroke);\n bar.setAttribute('fill', 'transparent');\n bar.setAttribute('r', this.radius);\n bar.setAttribute('cx', this.containerSize / 2);\n bar.setAttribute('cy', this.containerSize / 2);\n bar.setAttribute('stroke-linecap', this.linecap);\n\n let text = document.createElementNS(svgNamespace, 'text');\n text.setAttribute('x', '50%');\n text.setAttribute('y', '50%');\n text.innerHTML = this.progress + '%';\n\n svg.appendChild(text);\n } else {\n svg.setAttribute('width', '100%');\n svg.setAttribute('height', this.stroke);\n svg.setAttribute('preserveAspectRatio', 'none');\n\n background = document.createElementNS(svgNamespace, 'rect');\n background.setAttribute('x', 0);\n background.setAttribute('y', 0);\n background.setAttribute('width', '100%');\n background.setAttribute('height', this.stroke);\n if (this.linecap === 'round') {\n background.setAttribute('rx', this.stroke / 2);\n background.setAttribute('ry', this.stroke / 2);\n }\n\n bar = document.createElementNS(svgNamespace, 'rect');\n bar.setAttribute('x', 0);\n bar.setAttribute('y', 0);\n bar.setAttribute('width', this.progress + '%');\n bar.setAttribute('height', this.stroke);\n bar.setAttribute('id', 'bar');\n\n if (this.linecap === 'round') {\n bar.setAttribute('rx', this.stroke / 2);\n bar.setAttribute('ry', this.stroke / 2);\n }\n }\n\n svg.appendChild(background);\n svg.appendChild(bar);\n\n slotWrapper.appendChild(slot);\n\n element.appendChild(slotStart);\n element.appendChild(slotWrapper);\n element.appendChild(svg);\n element.appendChild(slotEnd);\n\n fragment.appendChild(element);\n\n this.background = background;\n this.bar = bar;\n\n return fragment;\n }\n\n /**\n * Adds event listeners after the component is drawn.\n */\n afterDraw() {\n if (this.type === 'circle') {\n this.setCircleProgress(this.progress);\n }\n }\n\n /**\n * Returns the dasharray for a circle with the given radius.\n * @param {number} radius The radius of the circle in pixels.\n * @returns {number} The dasharray value.\n */\n getCircleDasharray(radius = 70) {\n return 2 * Math.PI * radius;\n }\n\n /**\n * Returns the dashoffset for a circle with the given progress and radius.\n * @param {number} progress The progress of the circle in percentage.\n * @param {number} radius The radius of the circle in pixels.\n * @returns {number} The dashoffset value.\n */\n getCircleDashoffset(progress = 0, radius = 70) {\n return this.getCircleDasharray(radius) * ((100 - progress) / 100);\n }\n\n /**\n * Sets the progress of the circle.\n * @param percent\n */\n setCircleProgress(percent) {\n const progress = this.bar;\n const radius = progress.r.baseVal.value;\n const circumference = 2 * Math.PI * radius;\n\n progress.style.strokeDasharray = `${circumference}`;\n const offset = circumference - (percent / 100) * circumference;\n progress.style.strokeDashoffset = offset;\n }\n}\n","import ProgressBar from './progress-bar.element.js';\n\nexport default ProgressBar;\n\nProgressBar.define('wje-progress-bar', ProgressBar);\n"],"names":[],"mappings":"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"}