wj-elements 0.7.7 → 0.8.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 (233) hide show
  1. package/dist/animations.js +28 -51
  2. package/dist/animations.js.map +1 -1
  3. package/dist/base-path.js +19 -31
  4. package/dist/base-path.js.map +1 -1
  5. package/dist/custom-elements.json +11504 -11499
  6. package/dist/dark.css +1 -302
  7. package/dist/date.js +16 -36
  8. package/dist/date.js.map +1 -1
  9. package/dist/element-utils.js +20 -81
  10. package/dist/element-utils.js.map +1 -1
  11. package/dist/event.js +49 -165
  12. package/dist/event.js.map +1 -1
  13. package/dist/form-associated-element-BjeJn7j8.js +101 -0
  14. package/dist/{form-associated-element-DEQ4y-jn.js.map → form-associated-element-BjeJn7j8.js.map} +1 -1
  15. package/dist/icon-DmsqtDpL.js +102 -0
  16. package/dist/{icon-CReYMzAK.js.map → icon-DmsqtDpL.js.map} +1 -1
  17. package/dist/light.css +1 -731
  18. package/dist/localize.js +36 -111
  19. package/dist/localize.js.map +1 -1
  20. package/dist/packages/wje-accordion-item/accordion-item.element.d.ts +3 -2
  21. package/dist/permissions.js +14 -41
  22. package/dist/permissions.js.map +1 -1
  23. package/dist/popup.element-CbkhthPP.js +806 -0
  24. package/dist/{popup.element-CwXvVFK7.js.map → popup.element-CbkhthPP.js.map} +1 -1
  25. package/dist/router-links-CNsJ-elb.js +105 -0
  26. package/dist/{router-links-wjqCnncc.js.map → router-links-CNsJ-elb.js.map} +1 -1
  27. package/dist/skeleton.css +1 -197
  28. package/dist/styles.css +1 -866
  29. package/dist/universal-service.js +48 -109
  30. package/dist/universal-service.js.map +1 -1
  31. package/dist/utils.js +11 -18
  32. package/dist/utils.js.map +1 -1
  33. package/dist/web-types.json +760 -760
  34. package/dist/wje-accordion-item.js +33 -106
  35. package/dist/wje-accordion-item.js.map +1 -1
  36. package/dist/wje-accordion.js +19 -84
  37. package/dist/wje-accordion.js.map +1 -1
  38. package/dist/wje-animation.js +37 -4258
  39. package/dist/wje-animation.js.map +1 -1
  40. package/dist/wje-aside.js +9 -34
  41. package/dist/wje-aside.js.map +1 -1
  42. package/dist/wje-avatar.js +36 -126
  43. package/dist/wje-avatar.js.map +1 -1
  44. package/dist/wje-badge.js +10 -52
  45. package/dist/wje-badge.js.map +1 -1
  46. package/dist/wje-breadcrumb.js +205 -672
  47. package/dist/wje-breadcrumb.js.map +1 -1
  48. package/dist/wje-breadcrumbs.js +177 -633
  49. package/dist/wje-breadcrumbs.js.map +1 -1
  50. package/dist/wje-button-group.js +48 -153
  51. package/dist/wje-button-group.js.map +1 -1
  52. package/dist/wje-button.js +92 -413
  53. package/dist/wje-button.js.map +1 -1
  54. package/dist/wje-card-content.js +7 -30
  55. package/dist/wje-card-content.js.map +1 -1
  56. package/dist/wje-card-controls.js +7 -30
  57. package/dist/wje-card-controls.js.map +1 -1
  58. package/dist/wje-card-header.js +7 -30
  59. package/dist/wje-card-header.js.map +1 -1
  60. package/dist/wje-card-subtitle.js +7 -34
  61. package/dist/wje-card-subtitle.js.map +1 -1
  62. package/dist/wje-card-title.js +7 -34
  63. package/dist/wje-card-title.js.map +1 -1
  64. package/dist/wje-card.js +15 -71
  65. package/dist/wje-card.js.map +1 -1
  66. package/dist/wje-carousel-item.js +12 -56
  67. package/dist/wje-carousel-item.js.map +1 -1
  68. package/dist/wje-carousel.js +154 -509
  69. package/dist/wje-carousel.js.map +1 -1
  70. package/dist/wje-checkbox.js +50 -227
  71. package/dist/wje-checkbox.js.map +1 -1
  72. package/dist/wje-chip.js +43 -160
  73. package/dist/wje-chip.js.map +1 -1
  74. package/dist/wje-col.js +7 -20
  75. package/dist/wje-col.js.map +1 -1
  76. package/dist/wje-color-picker.js +445 -1464
  77. package/dist/wje-color-picker.js.map +1 -1
  78. package/dist/wje-container.js +9 -35
  79. package/dist/wje-container.js.map +1 -1
  80. package/dist/wje-copy-button.js +64 -204
  81. package/dist/wje-copy-button.js.map +1 -1
  82. package/dist/wje-dialog.js +85 -553
  83. package/dist/wje-dialog.js.map +1 -1
  84. package/dist/wje-divider.js +7 -34
  85. package/dist/wje-divider.js.map +1 -1
  86. package/dist/wje-dropdown.js +78 -305
  87. package/dist/wje-dropdown.js.map +1 -1
  88. package/dist/wje-element.js +191 -700
  89. package/dist/wje-element.js.map +1 -1
  90. package/dist/wje-file-upload-item.js +51 -156
  91. package/dist/wje-file-upload-item.js.map +1 -1
  92. package/dist/wje-file-upload.js +181 -619
  93. package/dist/wje-file-upload.js.map +1 -1
  94. package/dist/wje-footer.js +7 -31
  95. package/dist/wje-footer.js.map +1 -1
  96. package/dist/wje-form.js +7 -32
  97. package/dist/wje-form.js.map +1 -1
  98. package/dist/wje-format-digital.js +26 -118
  99. package/dist/wje-format-digital.js.map +1 -1
  100. package/dist/wje-grid.js +7 -33
  101. package/dist/wje-grid.js.map +1 -1
  102. package/dist/wje-header.js +9 -35
  103. package/dist/wje-header.js.map +1 -1
  104. package/dist/wje-icon-library.js +12 -18
  105. package/dist/wje-icon-library.js.map +1 -1
  106. package/dist/wje-icon-picker.js +65 -320
  107. package/dist/wje-icon-picker.js.map +1 -1
  108. package/dist/wje-icon.js +1 -1
  109. package/dist/wje-img-comparer.js +37 -114
  110. package/dist/wje-img-comparer.js.map +1 -1
  111. package/dist/wje-img.js +50 -198
  112. package/dist/wje-img.js.map +1 -1
  113. package/dist/wje-infinite-scroll.js +94 -346
  114. package/dist/wje-infinite-scroll.js.map +1 -1
  115. package/dist/wje-input-file.js +23 -84
  116. package/dist/wje-input-file.js.map +1 -1
  117. package/dist/wje-input.js +78 -392
  118. package/dist/wje-input.js.map +1 -1
  119. package/dist/wje-item.js +11 -64
  120. package/dist/wje-item.js.map +1 -1
  121. package/dist/wje-kanban.js +124 -401
  122. package/dist/wje-kanban.js.map +1 -1
  123. package/dist/wje-label.js +9 -32
  124. package/dist/wje-label.js.map +1 -1
  125. package/dist/wje-level-indicator.js +38 -157
  126. package/dist/wje-level-indicator.js.map +1 -1
  127. package/dist/wje-list.js +10 -40
  128. package/dist/wje-list.js.map +1 -1
  129. package/dist/wje-main.js +7 -31
  130. package/dist/wje-main.js.map +1 -1
  131. package/dist/wje-masonry.js +66 -211
  132. package/dist/wje-masonry.js.map +1 -1
  133. package/dist/wje-master.js +45 -161
  134. package/dist/wje-master.js.map +1 -1
  135. package/dist/wje-menu-button.js +10 -38
  136. package/dist/wje-menu-button.js.map +1 -1
  137. package/dist/wje-menu-item.js +127 -577
  138. package/dist/wje-menu-item.js.map +1 -1
  139. package/dist/wje-menu-label.js +9 -35
  140. package/dist/wje-menu-label.js.map +1 -1
  141. package/dist/wje-menu.js +14 -49
  142. package/dist/wje-menu.js.map +1 -1
  143. package/dist/wje-option.js +48 -279
  144. package/dist/wje-option.js.map +1 -1
  145. package/dist/wje-options.js +130 -384
  146. package/dist/wje-options.js.map +1 -1
  147. package/dist/wje-orgchart-group.js +16 -52
  148. package/dist/wje-orgchart-group.js.map +1 -1
  149. package/dist/wje-orgchart-item.js +24 -93
  150. package/dist/wje-orgchart-item.js.map +1 -1
  151. package/dist/wje-orgchart.js +18 -68
  152. package/dist/wje-orgchart.js.map +1 -1
  153. package/dist/wje-pagination.js +113 -397
  154. package/dist/wje-pagination.js.map +1 -1
  155. package/dist/wje-popup.js +3 -3
  156. package/dist/wje-popup.js.map +1 -1
  157. package/dist/wje-progress-bar.js +53 -205
  158. package/dist/wje-progress-bar.js.map +1 -1
  159. package/dist/wje-qr-code.js +398 -2980
  160. package/dist/wje-qr-code.js.map +1 -1
  161. package/dist/wje-radio-group.js +52 -190
  162. package/dist/wje-radio-group.js.map +1 -1
  163. package/dist/wje-radio.js +24 -118
  164. package/dist/wje-radio.js.map +1 -1
  165. package/dist/wje-rate.js +62 -266
  166. package/dist/wje-rate.js.map +1 -1
  167. package/dist/wje-relative-time.js +24 -99
  168. package/dist/wje-relative-time.js.map +1 -1
  169. package/dist/wje-reorder-dropzone.js +9 -31
  170. package/dist/wje-reorder-dropzone.js.map +1 -1
  171. package/dist/wje-reorder-handle.js +67 -204
  172. package/dist/wje-reorder-handle.js.map +1 -1
  173. package/dist/wje-reorder-item.js +14 -44
  174. package/dist/wje-reorder-item.js.map +1 -1
  175. package/dist/wje-reorder.js +61 -246
  176. package/dist/wje-reorder.js.map +1 -1
  177. package/dist/wje-route.js +6 -24
  178. package/dist/wje-route.js.map +1 -1
  179. package/dist/wje-router-link.js +11 -39
  180. package/dist/wje-router-link.js.map +1 -1
  181. package/dist/wje-router-outlet.js +76 -172
  182. package/dist/wje-router-outlet.js.map +1 -1
  183. package/dist/wje-routerx.js +537 -1331
  184. package/dist/wje-routerx.js.map +1 -1
  185. package/dist/wje-row.js +9 -31
  186. package/dist/wje-row.js.map +1 -1
  187. package/dist/wje-select.js +326 -1152
  188. package/dist/wje-select.js.map +1 -1
  189. package/dist/wje-slider.js +44 -225
  190. package/dist/wje-slider.js.map +1 -1
  191. package/dist/wje-sliding-container.js +295 -1319
  192. package/dist/wje-sliding-container.js.map +1 -1
  193. package/dist/wje-split-view.js +35 -121
  194. package/dist/wje-split-view.js.map +1 -1
  195. package/dist/wje-status.js +14 -45
  196. package/dist/wje-status.js.map +1 -1
  197. package/dist/wje-step.js +9 -32
  198. package/dist/wje-step.js.map +1 -1
  199. package/dist/wje-stepper.js +109 -357
  200. package/dist/wje-stepper.js.map +1 -1
  201. package/dist/wje-store.js +67 -360
  202. package/dist/wje-store.js.map +1 -1
  203. package/dist/wje-tab-group.js +85 -314
  204. package/dist/wje-tab-group.js.map +1 -1
  205. package/dist/wje-tab-panel.js +7 -28
  206. package/dist/wje-tab-panel.js.map +1 -1
  207. package/dist/wje-tab.js +21 -198
  208. package/dist/wje-tab.js.map +1 -1
  209. package/dist/wje-textarea.js +64 -264
  210. package/dist/wje-textarea.js.map +1 -1
  211. package/dist/wje-thumbnail.js +10 -51
  212. package/dist/wje-thumbnail.js.map +1 -1
  213. package/dist/wje-toast.js +127 -632
  214. package/dist/wje-toast.js.map +1 -1
  215. package/dist/wje-toggle.js +52 -177
  216. package/dist/wje-toggle.js.map +1 -1
  217. package/dist/wje-toolbar-action.js +128 -456
  218. package/dist/wje-toolbar-action.js.map +1 -1
  219. package/dist/wje-toolbar.js +75 -270
  220. package/dist/wje-toolbar.js.map +1 -1
  221. package/dist/wje-tooltip.js +50 -161
  222. package/dist/wje-tooltip.js.map +1 -1
  223. package/dist/wje-tree-item.js +70 -301
  224. package/dist/wje-tree-item.js.map +1 -1
  225. package/dist/wje-tree.js +145 -489
  226. package/dist/wje-tree.js.map +1 -1
  227. package/dist/wje-visually-hidden.js +7 -34
  228. package/dist/wje-visually-hidden.js.map +1 -1
  229. package/package.json +3 -2
  230. package/dist/form-associated-element-DEQ4y-jn.js +0 -245
  231. package/dist/icon-CReYMzAK.js +0 -245
  232. package/dist/popup.element-CwXvVFK7.js +0 -2133
  233. package/dist/router-links-wjqCnncc.js +0 -156
@@ -1,476 +1,199 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import Checkbox from "./wje-checkbox.js";
5
- import WJElement from "./wje-element.js";
6
- import MenuItem from "./wje-menu-item.js";
7
- const styles = "/*\n[ Wj kanban ]\n*/\n\n:host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n}\n.native {\n height: 100%;\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: 300px;\n overflow-x: auto;\n gap: 1rem;\n}\n\n.pool {\n display: inline-block;\n width: 300px;\n flex: 0 0 300px;\n vertical-align: top;\n overflow: auto;\n padding: 8px;\n border-radius: 8px;\n margin-right: 15px;\n}\n\nh4 {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n}\n\n.card {\n border-radius: 5px;\n background: #fff;\n border: 1px solid #ddd;\n margin-bottom: 5px;\n padding: 8px 10px;\n color: #000;\n}\n\n.card:hover {\n opacity: 0.5;\n}\n\n.dragging {\n box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);\n transform: rotate(-2deg);\n opacity: 0.5;\n position: relative;\n z-index: 1000;\n}\n\n.card-placeholder {\n display: block;\n height: 34px;\n border: 1px dashed #ddd;\n margin: 3px 0;\n border-radius: 5px;\n}\n\n.pool-header {\n display: flex;\n align-items: center;\n margin-bottom: 0.25rem;\n gap: 0 0.25rem;\n wje-checkbox {\n margin: 0;\n }\n wje-badge {\n margin-inline-start: auto;\n }\n}\n";
8
- class Kanban extends WJElement {
9
- /**
10
- * Creates an instance of Kanban.
11
- * @class
12
- */
4
+ import e from "./wje-checkbox.js";
5
+ import t from "./wje-element.js";
6
+ import a from "./wje-menu-item.js";
7
+ class r extends t {
13
8
  constructor() {
14
9
  super();
15
- /**
16
- * Dependencies of the Option component.
17
- */
18
- __publicField(this, "dependencies", {
19
- "wje-checkbox": Checkbox,
20
- "wje-menu-item": MenuItem
21
- });
22
- /**
23
- * Sets the URL for fetching data.
24
- * @type {string}
25
- */
10
+ __publicField(this, "dependencies", { "wje-checkbox": e, "wje-menu-item": a });
26
11
  __publicField(this, "className", "Kanban");
27
- /**
28
- * Iterates over a list of items, generates an HTML card for each, and appends it to the specified pool's content area.
29
- * @param {HTMLElement} pool The container element where the cards will be appended. It should contain an element with the class `.pool-content`.
30
- * @param {Array} items An array of items used to generate HTML cards.
31
- */
32
- __publicField(this, "customForeach", (pool, items) => {
33
- for (const item of items) {
34
- let card = this.htmlCard(item);
35
- pool.querySelector(".pool-content").appendChild(card);
12
+ __publicField(this, "customForeach", (e2, t2) => {
13
+ for (const a2 of t2) {
14
+ let t3 = this.htmlCard(a2);
15
+ e2.querySelector(".pool-content").appendChild(t3);
36
16
  }
37
17
  });
38
- /**
39
- * Handles the menu item click event.
40
- * @param e
41
- */
42
- __publicField(this, "menuItemClickHandler", (e) => {
43
- const action = e.target.dataset.action;
44
- const pool = e.target.closest(".pool");
45
- this.handlePoolAction(action, pool);
18
+ __publicField(this, "menuItemClickHandler", (e2) => {
19
+ const t2 = e2.target.dataset.action, a2 = e2.target.closest(".pool");
20
+ this.handlePoolAction(t2, a2);
46
21
  });
47
- /**
48
- * Updates the column item count.
49
- */
50
22
  __publicField(this, "updateColumnItemCount", () => {
51
- const pools = this.shadowRoot.querySelectorAll(".pool");
52
- pools.forEach((pool) => {
53
- const itemCount = pool.querySelectorAll(".pool-content .card").length;
54
- let itemCountDisplay = pool.querySelector(".item-count");
55
- itemCountDisplay.innerHTML = itemCount;
23
+ this.shadowRoot.querySelectorAll(".pool").forEach((e2) => {
24
+ const t2 = e2.querySelectorAll(".pool-content .card").length;
25
+ e2.querySelector(".item-count").innerHTML = t2;
56
26
  });
57
27
  });
58
- /**
59
- * Gets the pool.
60
- * @param data {Array}
61
- * @param poolName {string}
62
- * @returns {*}
63
- */
64
- __publicField(this, "getPool", (data, poolName) => {
65
- return data.reduce((acc, item) => {
66
- const statusName = item.status.name;
67
- if (!acc[statusName]) {
68
- acc[statusName] = [];
69
- }
70
- acc[statusName].push(item);
71
- return acc;
72
- }, {});
73
- });
74
- /**
75
- * Returns the HTML for the pool.
76
- * @param title {string}
77
- * @param countItems {number}
78
- * @returns {Element}
79
- */
80
- __publicField(this, "htmlPool", (title, countItems) => {
81
- let poolHtml = document.createElement("div");
82
- poolHtml.classList.add("pool");
83
- let header = document.createElement("div");
84
- header.classList.add("pool-header");
85
- let checkbox = document.createElement("wje-checkbox");
86
- checkbox.setAttribute("type", "checkbox");
87
- checkbox.classList.add("select-all-cards");
88
- checkbox.title = "Select all cards";
89
- let h4 = document.createElement("h4");
90
- h4.textContent = title;
91
- let badge = document.createElement("wje-badge");
92
- badge.setAttribute("color", "danger");
93
- badge.classList.add("item-count");
94
- badge.textContent = countItems;
95
- let dropdown = document.createElement("wje-dropdown");
96
- dropdown.setAttribute("placement", "bottom-start");
97
- dropdown.setAttribute("offset", "5");
98
- dropdown.setAttribute("collapsible", "");
99
- dropdown.innerHTML = `
100
- <wje-button fill="link" slot="trigger" size="small" round>
101
- <wje-icon name="dots-vertical"></wje-icon>
102
- </wje-button>
103
- <wje-menu active>
104
- <wje-menu-item data-action="rename-pool">
105
- <wj-label>Zmeniť názov</wj-label>
106
- </wje-menu-item>
107
- <wje-menu-item data-action="move-left">
108
- <wj-label>Posunúť doľava</wj-label>
109
- </wje-menu-item>
110
- <wje-menu-item data-action="move-right">
111
- <wj-label>Posunúť doprava</wj-label>
112
- </wje-menu-item>
113
- </wje-menu>
114
- `;
115
- header.appendChild(checkbox);
116
- header.appendChild(h4);
117
- header.appendChild(badge);
118
- header.appendChild(dropdown);
119
- let content = document.createElement("div");
120
- content.classList.add("pool-content");
121
- poolHtml.appendChild(header);
122
- poolHtml.appendChild(content);
123
- return poolHtml;
124
- });
125
- /**
126
- * Returns the HTML for the card.
127
- * @param item {Object}
128
- * @returns {Element}
129
- */
130
- __publicField(this, "htmlCard", (item) => {
131
- let card = document.createElement("div");
132
- card.classList.add("card");
133
- card.draggable = true;
134
- card.setAttribute("data-id", item.id);
135
- card.innerHTML = `
28
+ __publicField(this, "getPool", (e2, t2) => e2.reduce((e3, t3) => {
29
+ const a2 = t3.status.name;
30
+ return e3[a2] || (e3[a2] = []), e3[a2].push(t3), e3;
31
+ }, {}));
32
+ __publicField(this, "htmlPool", (e2, t2) => {
33
+ let a2 = document.createElement("div");
34
+ a2.classList.add("pool");
35
+ let r2 = document.createElement("div");
36
+ r2.classList.add("pool-header");
37
+ let s = document.createElement("wje-checkbox");
38
+ s.setAttribute("type", "checkbox"), s.classList.add("select-all-cards"), s.title = "Select all cards";
39
+ let l = document.createElement("h4");
40
+ l.textContent = e2;
41
+ let o = document.createElement("wje-badge");
42
+ o.setAttribute("color", "danger"), o.classList.add("item-count"), o.textContent = t2;
43
+ let i = document.createElement("wje-dropdown");
44
+ i.setAttribute("placement", "bottom-start"), i.setAttribute("offset", "5"), i.setAttribute("collapsible", ""), i.innerHTML = '\n <wje-button fill="link" slot="trigger" size="small" round>\n <wje-icon name="dots-vertical"></wje-icon>\n </wje-button>\n <wje-menu active>\n <wje-menu-item data-action="rename-pool">\n <wj-label>Zmeniť názov</wj-label>\n </wje-menu-item>\n <wje-menu-item data-action="move-left">\n <wj-label>Posunúť doľava</wj-label>\n </wje-menu-item>\n <wje-menu-item data-action="move-right">\n <wj-label>Posunúť doprava</wj-label>\n </wje-menu-item>\n </wje-menu>\n ', r2.appendChild(s), r2.appendChild(l), r2.appendChild(o), r2.appendChild(i);
45
+ let n = document.createElement("div");
46
+ return n.classList.add("pool-content"), a2.appendChild(r2), a2.appendChild(n), a2;
47
+ });
48
+ __publicField(this, "htmlCard", (e2) => {
49
+ let t2 = document.createElement("div");
50
+ return t2.classList.add("card"), t2.draggable = true, t2.setAttribute("data-id", e2.id), t2.innerHTML = `
136
51
  <wje-checkbox type="checkbox" class="select-card" title="Select card"></wje-checkbox>
137
- <div>${item.body}</div>
138
- `;
139
- return card;
52
+ <div>${e2.body}</div>
53
+ `, t2;
140
54
  });
141
- this.totalPages = 0;
142
- this.isLoading = [];
143
- this._response = {};
144
- this.isDragging = false;
145
- this.selectedCards = [];
55
+ this.totalPages = 0, this.isLoading = [], this._response = {}, this.isDragging = false, this.selectedCards = [];
146
56
  }
147
- /**
148
- * Sets the URL for fetching data.
149
- * @param value {string}
150
- */
151
- set response(value) {
152
- this._response = value;
57
+ set response(e2) {
58
+ this._response = e2;
153
59
  }
154
- /**
155
- * Gets the URL for fetching data.
156
- * @returns {*|{}|{}}
157
- */
158
60
  get response() {
159
61
  return this._response;
160
62
  }
161
- /**
162
- * Sets the URL for fetching data.
163
- * @param value {array}
164
- */
165
- set selectedItems(value) {
166
- this._selectedItems = value;
63
+ set selectedItems(e2) {
64
+ this._selectedItems = e2;
167
65
  }
168
- /**
169
- * Gets the URL for fetching data.
170
- * @returns {Array}
171
- */
172
66
  get selectedItems() {
173
67
  return this._selectedItems;
174
68
  }
175
- /**
176
- * Returns the CSS styles for the component.
177
- * @static
178
- * @returns {CSSStyleSheet}
179
- */
180
69
  static get cssStyleSheet() {
181
- return styles;
70
+ return ":host{display:flex;flex-direction:column;width:100%;height:100%}.native{height:100%;display:grid;grid-auto-flow:column;grid-auto-columns:300px;overflow-x:auto;gap:1rem}.pool{display:inline-block;width:300px;flex:0 0 300px;vertical-align:top;overflow:auto;padding:8px;border-radius:8px;margin-right:15px}h4{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.card{border-radius:5px;background:#fff;border:1px solid #ddd;margin-bottom:5px;padding:8px 10px;color:#000}.card:hover{opacity:.5}.dragging{box-shadow:0 0 5px #0000001a;transform:rotate(-2deg);opacity:.5;position:relative;z-index:1000}.card-placeholder{display:block;height:34px;border:1px dashed #ddd;margin:3px 0;border-radius:5px}.pool-header{display:flex;align-items:center;margin-bottom:.25rem;gap:0 .25rem}.pool-header wje-checkbox{margin:0}.pool-header wje-badge{margin-inline-start:auto}";
182
71
  }
183
- /**
184
- * Returns the list of attributes to observe for changes.
185
- * @static
186
- * @returns {Array<string>}
187
- */
188
72
  static get observedAttributes() {
189
73
  return [];
190
74
  }
191
- /**
192
- * Sets up the attributes for the component.
193
- */
194
75
  setupAttributes() {
195
- this.isShadowRoot = "open";
196
- this.syncAria();
76
+ this.isShadowRoot = "open", this.syncAria();
197
77
  }
198
- /**
199
- * Prepares the component before drawing.
200
- * @param {object} context The context for drawing.
201
- * @param {object} store The store for drawing.
202
- * @param {object} params The parameters for drawing.
203
- */
204
- async beforeDraw(context, store, params) {
78
+ async beforeDraw(e2, t2, a2) {
205
79
  this.response = await this.getPages();
206
80
  }
207
- /**
208
- * Draws the component after it has been prepared.
209
- * @returns {DocumentFragment}
210
- */
211
81
  draw() {
212
- let fragment = document.createDocumentFragment();
213
- let native = document.createElement("div");
214
- native.classList.add("native");
215
- native.setAttribute("part", "native-infinite-scroll");
216
- let pools = this.getPool(this.response, this.poolName);
217
- for (const statusName in pools) {
218
- if (pools.hasOwnProperty(statusName)) {
219
- let pool = this.htmlPool(statusName, pools[statusName].length);
220
- native.appendChild(pool);
221
- const items = pools[statusName];
222
- this.customForeach(pool, items);
223
- }
82
+ let e2 = document.createDocumentFragment(), t2 = document.createElement("div");
83
+ t2.classList.add("native"), t2.setAttribute("part", "native-infinite-scroll");
84
+ let a2 = this.getPool(this.response, this.poolName);
85
+ for (const e3 in a2) if (a2.hasOwnProperty(e3)) {
86
+ let r2 = this.htmlPool(e3, a2[e3].length);
87
+ t2.appendChild(r2);
88
+ const s = a2[e3];
89
+ this.customForeach(r2, s);
224
90
  }
225
- fragment.appendChild(native);
226
- return fragment;
91
+ return e2.appendChild(t2), e2;
227
92
  }
228
- /**
229
- * Sync ARIA attributes on host.
230
- */
231
93
  syncAria() {
232
- if (!this.hasAttribute("role")) {
233
- this.setAriaState({ role: "region" });
234
- }
235
- const ariaLabel = this.getAttribute("aria-label");
236
- const label = this.getAttribute("label");
237
- if (!ariaLabel && label) {
238
- this.setAriaState({ label });
239
- }
94
+ this.hasAttribute("role") || this.setAriaState({ role: "region" });
95
+ const e2 = this.getAttribute("aria-label"), t2 = this.getAttribute("label");
96
+ !e2 && t2 && this.setAriaState({ label: t2 });
240
97
  }
241
- /**
242
- * Called after the component has been drawn.
243
- */
244
98
  afterDraw() {
245
- this.ui = {
246
- elBoard: this.shadowRoot.getElementById("board"),
247
- elTotalCardCount: this.shadowRoot.getElementById("totalCards"),
248
- elCardPlaceholder: null
249
- };
250
- this.setupDragAndDropEvents();
251
- this.setupSelectAllCardsEvent();
252
- this.setupMenuItemClickEvents();
99
+ this.ui = { elBoard: this.shadowRoot.getElementById("board"), elTotalCardCount: this.shadowRoot.getElementById("totalCards"), elCardPlaceholder: null }, this.setupDragAndDropEvents(), this.setupSelectAllCardsEvent(), this.setupMenuItemClickEvents();
253
100
  }
254
- /**
255
- * Sets up the drag and drop events for the component.
256
- */
257
101
  setupDragAndDropEvents() {
258
- this.live("dragstart", ".pool .card", (e) => {
259
- this.isDragging = true;
260
- e.dataTransfer.clearData();
261
- e.dataTransfer.setData("text/plain", e.target.dataset.id);
262
- e.dataTransfer.dropEffect = "move";
263
- e.target.style.opacity = "0.5";
264
- const rect = e.target.getBoundingClientRect();
265
- this.draggedElementWidth = rect.width;
266
- this.draggedElementHeight = rect.height;
267
- });
268
- this.live("dragend", ".pool .card", (e) => {
269
- e.target.style.opacity = "";
270
- if (this.ui.elCardPlaceholder) {
271
- this.ui.elCardPlaceholder.remove();
272
- }
273
- this.ui.elCardPlaceholder = null;
274
- this.isDragging = false;
275
- });
276
- this.live("dragover", ".pool, .pool .card, .pool .card-placeholder", (e) => {
277
- e.preventDefault();
278
- e.dataTransfer.dropEffect = "move";
279
- if (e.target.classList.contains("pool")) {
280
- e.target.appendChild(this.getCardPlaceholder());
281
- } else if (e.target.classList.contains("card")) {
282
- e.target.parentNode.insertBefore(this.getCardPlaceholder(), e.target);
283
- }
284
- });
285
- this.live("drop", ".pool, .pool .card-placeholder", (e) => {
286
- e.preventDefault();
287
- if (!this.isDragging) return;
288
- const todo_id = +e.dataTransfer.getData("text");
289
- const card = this.shadowRoot.querySelector('.card[data-id="' + todo_id + '"]');
290
- if (e.target.classList.contains("pool")) {
291
- e.target.querySelector(".pool-content").appendChild(card);
292
- } else if (e.target.classList.contains("card-placeholder")) {
293
- e.target.parentNode.replaceChild(card, e.target);
294
- }
295
- window.setTimeout(this.updateColumnItemCount, 100);
102
+ this.live("dragstart", ".pool .card", (e2) => {
103
+ this.isDragging = true, e2.dataTransfer.clearData(), e2.dataTransfer.setData("text/plain", e2.target.dataset.id), e2.dataTransfer.dropEffect = "move", e2.target.style.opacity = "0.5";
104
+ const t2 = e2.target.getBoundingClientRect();
105
+ this.draggedElementWidth = t2.width, this.draggedElementHeight = t2.height;
106
+ }), this.live("dragend", ".pool .card", (e2) => {
107
+ e2.target.style.opacity = "", this.ui.elCardPlaceholder && this.ui.elCardPlaceholder.remove(), this.ui.elCardPlaceholder = null, this.isDragging = false;
108
+ }), this.live("dragover", ".pool, .pool .card, .pool .card-placeholder", (e2) => {
109
+ e2.preventDefault(), e2.dataTransfer.dropEffect = "move", e2.target.classList.contains("pool") ? e2.target.appendChild(this.getCardPlaceholder()) : e2.target.classList.contains("card") && e2.target.parentNode.insertBefore(this.getCardPlaceholder(), e2.target);
110
+ }), this.live("drop", ".pool, .pool .card-placeholder", (e2) => {
111
+ if (e2.preventDefault(), !this.isDragging) return;
112
+ const t2 = +e2.dataTransfer.getData("text"), a2 = this.shadowRoot.querySelector('.card[data-id="' + t2 + '"]');
113
+ e2.target.classList.contains("pool") ? e2.target.querySelector(".pool-content").appendChild(a2) : e2.target.classList.contains("card-placeholder") && e2.target.parentNode.replaceChild(a2, e2.target), window.setTimeout(this.updateColumnItemCount, 100);
296
114
  });
297
115
  }
298
- /**
299
- * Sets up the select all cards event for the component.
300
- */
301
116
  setupSelectAllCardsEvent() {
302
- this.live("wje-toggle:change", ".select-all-cards", (e) => {
303
- const pool = e.target.closest(".pool");
304
- this.updateSelectedCards(pool, e.target.checked);
305
- });
306
- this.live("wje-toggle:change", ".select-card", (e) => {
307
- const card = e.target.closest(".card");
308
- this.setSelectedCards(e.target.checked, card);
309
- if (this.selectedCards.length === 0) {
310
- e.target.closest(".pool").querySelector(".select-all-cards").checked = false;
311
- }
312
- this.setSelectedItems();
117
+ this.live("wje-toggle:change", ".select-all-cards", (e2) => {
118
+ const t2 = e2.target.closest(".pool");
119
+ this.updateSelectedCards(t2, e2.target.checked);
120
+ }), this.live("wje-toggle:change", ".select-card", (e2) => {
121
+ const t2 = e2.target.closest(".card");
122
+ this.setSelectedCards(e2.target.checked, t2), 0 === this.selectedCards.length && (e2.target.closest(".pool").querySelector(".select-all-cards").checked = false), this.setSelectedItems();
313
123
  });
314
124
  }
315
- /**
316
- * Sets up the menu item click events for the component.
317
- */
318
125
  setupMenuItemClickEvents() {
319
- this.context.querySelectorAll("wje-menu-item").forEach((menuItem) => {
320
- menuItem.removeEventListener("wje-menu-item:click", this.menuItemClickHandler);
321
- });
322
- this.context.querySelectorAll("wje-menu-item").forEach((menuItem) => {
323
- menuItem.addEventListener("wje-menu-item:click", this.menuItemClickHandler);
126
+ this.context.querySelectorAll("wje-menu-item").forEach((e2) => {
127
+ e2.removeEventListener("wje-menu-item:click", this.menuItemClickHandler);
128
+ }), this.context.querySelectorAll("wje-menu-item").forEach((e2) => {
129
+ e2.addEventListener("wje-menu-item:click", this.menuItemClickHandler);
324
130
  });
325
131
  }
326
- /**
327
- * Updates the selected cards in the pool.
328
- * @param pool {HTMLElement}
329
- * @param isChecked {boolean}
330
- */
331
- updateSelectedCards(pool, isChecked) {
332
- const cards = pool.querySelectorAll(".pool-content .card");
333
- cards.forEach((card) => {
334
- const checkbox = card.querySelector("wje-checkbox");
335
- if (checkbox) {
336
- checkbox.checked = isChecked;
337
- }
338
- this.setSelectedCards(isChecked, card);
339
- });
340
- this.setSelectedItems();
132
+ updateSelectedCards(e2, t2) {
133
+ e2.querySelectorAll(".pool-content .card").forEach((e3) => {
134
+ const a2 = e3.querySelector("wje-checkbox");
135
+ a2 && (a2.checked = t2), this.setSelectedCards(t2, e3);
136
+ }), this.setSelectedItems();
341
137
  }
342
- /**
343
- * Handles the pool action.
344
- * @param action {string}
345
- * @param pool {HTMLElement}
346
- */
347
- handlePoolAction(action, pool) {
348
- switch (action) {
138
+ handlePoolAction(e2, t2) {
139
+ switch (e2) {
349
140
  case "move-left":
350
- this.movePool(pool, "left");
141
+ this.movePool(t2, "left");
351
142
  break;
352
143
  case "move-right":
353
- this.movePool(pool, "right");
144
+ this.movePool(t2, "right");
354
145
  break;
355
146
  case "rename-pool":
356
- this.renamePool(pool);
147
+ this.renamePool(t2);
357
148
  break;
358
149
  default:
359
- console.error(`Neznáma akcia: ${action}`);
150
+ console.error(`Neznáma akcia: ${e2}`);
360
151
  }
361
152
  }
362
- /**
363
- * Moves the pool in the specified direction.
364
- * @param pool {HTMLElement}
365
- * @param direction {string}
366
- */
367
- movePool(pool, direction) {
368
- const parent = pool.parentElement;
369
- if (direction === "left" && pool.previousElementSibling) {
370
- parent.insertBefore(pool, pool.previousElementSibling);
371
- } else if (direction === "right" && pool.nextElementSibling) {
372
- parent.insertBefore(pool.nextElementSibling, pool);
373
- }
374
- this.setupMenuItemClickEvents();
153
+ movePool(e2, t2) {
154
+ const a2 = e2.parentElement;
155
+ "left" === t2 && e2.previousElementSibling ? a2.insertBefore(e2, e2.previousElementSibling) : "right" === t2 && e2.nextElementSibling && a2.insertBefore(e2.nextElementSibling, e2), this.setupMenuItemClickEvents();
375
156
  }
376
- /**
377
- * Renames the pool.
378
- * @param pool {HTMLElement}
379
- */
380
- renamePool(pool) {
381
- const newName = prompt("Zadajte nový názov pre stĺpec:");
382
- if (newName) {
383
- const header = pool.querySelector(".pool-header h4");
384
- header.innerHTML = `${newName} (<span class="item-count">0</span> položiek)`;
385
- this.updateColumnItemCount();
157
+ renamePool(e2) {
158
+ const t2 = prompt("Zadajte nový názov pre stĺpec:");
159
+ if (t2) {
160
+ e2.querySelector(".pool-header h4").innerHTML = `${t2} (<span class="item-count">0</span> položiek)`, this.updateColumnItemCount();
386
161
  }
387
162
  }
388
- /**
389
- * Gets the card placeholder.
390
- * @returns {null|*}
391
- */
392
163
  getCardPlaceholder() {
393
- if (!this.ui.elCardPlaceholder) {
394
- this.ui.elCardPlaceholder = document.createElement("div");
395
- this.ui.elCardPlaceholder.className = "card-placeholder";
396
- this.ui.elCardPlaceholder.style.width = this.draggedElementWidth + "px";
397
- this.ui.elCardPlaceholder.style.height = this.draggedElementHeight + "px";
398
- } else {
399
- this.ui.elCardPlaceholder.style.width = this.draggedElementWidth + "px";
400
- this.ui.elCardPlaceholder.style.height = this.draggedElementHeight + "px";
401
- }
402
- return this.ui.elCardPlaceholder;
403
- }
404
- /**
405
- * Adds a live event listener to the component.
406
- * @param eventType {string}
407
- * @param selector {string}
408
- * @param callback {function}
409
- */
410
- live(eventType, selector, callback) {
411
- const attachListener = (root) => {
412
- root.addEventListener(
413
- eventType,
414
- (e) => {
415
- if (e.target.matches(selector)) {
416
- callback.call(e.target, e);
417
- }
418
- },
419
- false
420
- );
421
- };
422
- const traverseAndAttach = (root) => {
423
- attachListener(root);
424
- root.querySelectorAll("*").forEach((node) => {
425
- if (node.shadowRoot) {
426
- traverseAndAttach(node.shadowRoot);
427
- }
164
+ return this.ui.elCardPlaceholder ? (this.ui.elCardPlaceholder.style.width = this.draggedElementWidth + "px", this.ui.elCardPlaceholder.style.height = this.draggedElementHeight + "px") : (this.ui.elCardPlaceholder = document.createElement("div"), this.ui.elCardPlaceholder.className = "card-placeholder", this.ui.elCardPlaceholder.style.width = this.draggedElementWidth + "px", this.ui.elCardPlaceholder.style.height = this.draggedElementHeight + "px"), this.ui.elCardPlaceholder;
165
+ }
166
+ live(e2, t2, a2) {
167
+ const r2 = (s) => {
168
+ ((r3) => {
169
+ r3.addEventListener(e2, (e3) => {
170
+ e3.target.matches(t2) && a2.call(e3.target, e3);
171
+ }, false);
172
+ })(s), s.querySelectorAll("*").forEach((e3) => {
173
+ e3.shadowRoot && r2(e3.shadowRoot);
428
174
  });
429
175
  };
430
- traverseAndAttach(this.shadowRoot || this);
176
+ r2(this.shadowRoot || this);
431
177
  }
432
- /**
433
- * Sets the selected cards.
434
- * @param isChecked {boolean}
435
- * @param card {HTMLElement}
436
- */
437
- setSelectedCards(isChecked, card) {
438
- if (isChecked) {
439
- if (!this.selectedCards.includes(card)) {
440
- this.selectedCards.push(card);
441
- }
442
- } else {
443
- this.selectedCards = this.selectedCards.filter((selectedCard) => selectedCard !== card);
444
- }
178
+ setSelectedCards(e2, t2) {
179
+ e2 ? this.selectedCards.includes(t2) || this.selectedCards.push(t2) : this.selectedCards = this.selectedCards.filter((e3) => e3 !== t2);
445
180
  }
446
- /**
447
- * Sets the selected items.
448
- */
449
181
  setSelectedItems() {
450
- const selectedIds = this.selectedCards.map((card) => card.getAttribute("data-id"));
451
- this.selectedItems = this.response.filter((item) => selectedIds.includes(item.id));
182
+ const e2 = this.selectedCards.map((e3) => e3.getAttribute("data-id"));
183
+ this.selectedItems = this.response.filter((t2) => e2.includes(t2.id));
452
184
  }
453
- /**
454
- * Fetches the pages.
455
- * @param page
456
- * @returns {Promise<any>}
457
- */
458
- async getPages(page = 0) {
459
- let hasParams = this.url.includes("?");
460
- const response = await fetch(
461
- `${this.url}${hasParams ? "&" : "?"}page=${page}&size=${this.size}${this == null ? void 0 : this.queryParams}`
462
- );
463
- if (!response.ok) {
464
- throw new Error(`An error occurred: ${response.status}`);
465
- }
466
- return await response.json();
185
+ async getPages(e2 = 0) {
186
+ let t2 = this.url.includes("?");
187
+ const a2 = await fetch(`${this.url}${t2 ? "&" : "?"}page=${e2}&size=${this.size}${this == null ? void 0 : this.queryParams}`);
188
+ if (!a2.ok) throw new Error(`An error occurred: ${a2.status}`);
189
+ return await a2.json();
467
190
  }
468
- dispatchEvent(event) {
191
+ dispatchEvent(e2) {
469
192
  return false;
470
193
  }
471
194
  }
472
- Kanban.define("wje-kanban", Kanban);
195
+ r.define("wje-kanban", r);
473
196
  export {
474
- Kanban as default
197
+ r as default
475
198
  };
476
199
  //# sourceMappingURL=wje-kanban.js.map