wj-elements 0.7.6 → 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 (234) 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 +9053 -9048
  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/packages/wje-img/img.element.d.ts +4 -4
  22. package/dist/permissions.js +14 -41
  23. package/dist/permissions.js.map +1 -1
  24. package/dist/popup.element-CbkhthPP.js +806 -0
  25. package/dist/{popup.element-CwXvVFK7.js.map → popup.element-CbkhthPP.js.map} +1 -1
  26. package/dist/router-links-CNsJ-elb.js +105 -0
  27. package/dist/{router-links-wjqCnncc.js.map → router-links-CNsJ-elb.js.map} +1 -1
  28. package/dist/skeleton.css +1 -197
  29. package/dist/styles.css +1 -866
  30. package/dist/universal-service.js +48 -109
  31. package/dist/universal-service.js.map +1 -1
  32. package/dist/utils.js +11 -18
  33. package/dist/utils.js.map +1 -1
  34. package/dist/web-types.json +698 -698
  35. package/dist/wje-accordion-item.js +33 -106
  36. package/dist/wje-accordion-item.js.map +1 -1
  37. package/dist/wje-accordion.js +19 -84
  38. package/dist/wje-accordion.js.map +1 -1
  39. package/dist/wje-animation.js +37 -4258
  40. package/dist/wje-animation.js.map +1 -1
  41. package/dist/wje-aside.js +9 -34
  42. package/dist/wje-aside.js.map +1 -1
  43. package/dist/wje-avatar.js +36 -126
  44. package/dist/wje-avatar.js.map +1 -1
  45. package/dist/wje-badge.js +10 -52
  46. package/dist/wje-badge.js.map +1 -1
  47. package/dist/wje-breadcrumb.js +205 -668
  48. package/dist/wje-breadcrumb.js.map +1 -1
  49. package/dist/wje-breadcrumbs.js +177 -633
  50. package/dist/wje-breadcrumbs.js.map +1 -1
  51. package/dist/wje-button-group.js +48 -153
  52. package/dist/wje-button-group.js.map +1 -1
  53. package/dist/wje-button.js +92 -413
  54. package/dist/wje-button.js.map +1 -1
  55. package/dist/wje-card-content.js +7 -30
  56. package/dist/wje-card-content.js.map +1 -1
  57. package/dist/wje-card-controls.js +7 -30
  58. package/dist/wje-card-controls.js.map +1 -1
  59. package/dist/wje-card-header.js +7 -30
  60. package/dist/wje-card-header.js.map +1 -1
  61. package/dist/wje-card-subtitle.js +7 -34
  62. package/dist/wje-card-subtitle.js.map +1 -1
  63. package/dist/wje-card-title.js +7 -34
  64. package/dist/wje-card-title.js.map +1 -1
  65. package/dist/wje-card.js +15 -71
  66. package/dist/wje-card.js.map +1 -1
  67. package/dist/wje-carousel-item.js +12 -56
  68. package/dist/wje-carousel-item.js.map +1 -1
  69. package/dist/wje-carousel.js +154 -509
  70. package/dist/wje-carousel.js.map +1 -1
  71. package/dist/wje-checkbox.js +50 -227
  72. package/dist/wje-checkbox.js.map +1 -1
  73. package/dist/wje-chip.js +43 -160
  74. package/dist/wje-chip.js.map +1 -1
  75. package/dist/wje-col.js +7 -20
  76. package/dist/wje-col.js.map +1 -1
  77. package/dist/wje-color-picker.js +445 -1464
  78. package/dist/wje-color-picker.js.map +1 -1
  79. package/dist/wje-container.js +9 -35
  80. package/dist/wje-container.js.map +1 -1
  81. package/dist/wje-copy-button.js +64 -204
  82. package/dist/wje-copy-button.js.map +1 -1
  83. package/dist/wje-dialog.js +85 -553
  84. package/dist/wje-dialog.js.map +1 -1
  85. package/dist/wje-divider.js +7 -34
  86. package/dist/wje-divider.js.map +1 -1
  87. package/dist/wje-dropdown.js +78 -305
  88. package/dist/wje-dropdown.js.map +1 -1
  89. package/dist/wje-element.js +191 -700
  90. package/dist/wje-element.js.map +1 -1
  91. package/dist/wje-file-upload-item.js +51 -156
  92. package/dist/wje-file-upload-item.js.map +1 -1
  93. package/dist/wje-file-upload.js +181 -619
  94. package/dist/wje-file-upload.js.map +1 -1
  95. package/dist/wje-footer.js +7 -31
  96. package/dist/wje-footer.js.map +1 -1
  97. package/dist/wje-form.js +7 -32
  98. package/dist/wje-form.js.map +1 -1
  99. package/dist/wje-format-digital.js +26 -118
  100. package/dist/wje-format-digital.js.map +1 -1
  101. package/dist/wje-grid.js +7 -33
  102. package/dist/wje-grid.js.map +1 -1
  103. package/dist/wje-header.js +9 -35
  104. package/dist/wje-header.js.map +1 -1
  105. package/dist/wje-icon-library.js +12 -18
  106. package/dist/wje-icon-library.js.map +1 -1
  107. package/dist/wje-icon-picker.js +65 -320
  108. package/dist/wje-icon-picker.js.map +1 -1
  109. package/dist/wje-icon.js +1 -1
  110. package/dist/wje-img-comparer.js +37 -114
  111. package/dist/wje-img-comparer.js.map +1 -1
  112. package/dist/wje-img.js +50 -197
  113. package/dist/wje-img.js.map +1 -1
  114. package/dist/wje-infinite-scroll.js +94 -346
  115. package/dist/wje-infinite-scroll.js.map +1 -1
  116. package/dist/wje-input-file.js +23 -84
  117. package/dist/wje-input-file.js.map +1 -1
  118. package/dist/wje-input.js +78 -392
  119. package/dist/wje-input.js.map +1 -1
  120. package/dist/wje-item.js +11 -64
  121. package/dist/wje-item.js.map +1 -1
  122. package/dist/wje-kanban.js +124 -401
  123. package/dist/wje-kanban.js.map +1 -1
  124. package/dist/wje-label.js +9 -32
  125. package/dist/wje-label.js.map +1 -1
  126. package/dist/wje-level-indicator.js +38 -157
  127. package/dist/wje-level-indicator.js.map +1 -1
  128. package/dist/wje-list.js +10 -40
  129. package/dist/wje-list.js.map +1 -1
  130. package/dist/wje-main.js +7 -31
  131. package/dist/wje-main.js.map +1 -1
  132. package/dist/wje-masonry.js +66 -211
  133. package/dist/wje-masonry.js.map +1 -1
  134. package/dist/wje-master.js +45 -161
  135. package/dist/wje-master.js.map +1 -1
  136. package/dist/wje-menu-button.js +10 -38
  137. package/dist/wje-menu-button.js.map +1 -1
  138. package/dist/wje-menu-item.js +127 -577
  139. package/dist/wje-menu-item.js.map +1 -1
  140. package/dist/wje-menu-label.js +9 -35
  141. package/dist/wje-menu-label.js.map +1 -1
  142. package/dist/wje-menu.js +14 -49
  143. package/dist/wje-menu.js.map +1 -1
  144. package/dist/wje-option.js +48 -279
  145. package/dist/wje-option.js.map +1 -1
  146. package/dist/wje-options.js +130 -384
  147. package/dist/wje-options.js.map +1 -1
  148. package/dist/wje-orgchart-group.js +16 -52
  149. package/dist/wje-orgchart-group.js.map +1 -1
  150. package/dist/wje-orgchart-item.js +24 -93
  151. package/dist/wje-orgchart-item.js.map +1 -1
  152. package/dist/wje-orgchart.js +18 -68
  153. package/dist/wje-orgchart.js.map +1 -1
  154. package/dist/wje-pagination.js +113 -397
  155. package/dist/wje-pagination.js.map +1 -1
  156. package/dist/wje-popup.js +3 -3
  157. package/dist/wje-popup.js.map +1 -1
  158. package/dist/wje-progress-bar.js +53 -205
  159. package/dist/wje-progress-bar.js.map +1 -1
  160. package/dist/wje-qr-code.js +398 -2980
  161. package/dist/wje-qr-code.js.map +1 -1
  162. package/dist/wje-radio-group.js +52 -190
  163. package/dist/wje-radio-group.js.map +1 -1
  164. package/dist/wje-radio.js +24 -118
  165. package/dist/wje-radio.js.map +1 -1
  166. package/dist/wje-rate.js +62 -266
  167. package/dist/wje-rate.js.map +1 -1
  168. package/dist/wje-relative-time.js +24 -99
  169. package/dist/wje-relative-time.js.map +1 -1
  170. package/dist/wje-reorder-dropzone.js +9 -31
  171. package/dist/wje-reorder-dropzone.js.map +1 -1
  172. package/dist/wje-reorder-handle.js +67 -204
  173. package/dist/wje-reorder-handle.js.map +1 -1
  174. package/dist/wje-reorder-item.js +14 -44
  175. package/dist/wje-reorder-item.js.map +1 -1
  176. package/dist/wje-reorder.js +61 -246
  177. package/dist/wje-reorder.js.map +1 -1
  178. package/dist/wje-route.js +6 -24
  179. package/dist/wje-route.js.map +1 -1
  180. package/dist/wje-router-link.js +11 -39
  181. package/dist/wje-router-link.js.map +1 -1
  182. package/dist/wje-router-outlet.js +76 -172
  183. package/dist/wje-router-outlet.js.map +1 -1
  184. package/dist/wje-routerx.js +537 -1331
  185. package/dist/wje-routerx.js.map +1 -1
  186. package/dist/wje-row.js +9 -31
  187. package/dist/wje-row.js.map +1 -1
  188. package/dist/wje-select.js +326 -1152
  189. package/dist/wje-select.js.map +1 -1
  190. package/dist/wje-slider.js +44 -225
  191. package/dist/wje-slider.js.map +1 -1
  192. package/dist/wje-sliding-container.js +295 -1319
  193. package/dist/wje-sliding-container.js.map +1 -1
  194. package/dist/wje-split-view.js +35 -121
  195. package/dist/wje-split-view.js.map +1 -1
  196. package/dist/wje-status.js +14 -45
  197. package/dist/wje-status.js.map +1 -1
  198. package/dist/wje-step.js +9 -32
  199. package/dist/wje-step.js.map +1 -1
  200. package/dist/wje-stepper.js +109 -357
  201. package/dist/wje-stepper.js.map +1 -1
  202. package/dist/wje-store.js +67 -360
  203. package/dist/wje-store.js.map +1 -1
  204. package/dist/wje-tab-group.js +85 -314
  205. package/dist/wje-tab-group.js.map +1 -1
  206. package/dist/wje-tab-panel.js +7 -28
  207. package/dist/wje-tab-panel.js.map +1 -1
  208. package/dist/wje-tab.js +21 -198
  209. package/dist/wje-tab.js.map +1 -1
  210. package/dist/wje-textarea.js +64 -264
  211. package/dist/wje-textarea.js.map +1 -1
  212. package/dist/wje-thumbnail.js +10 -51
  213. package/dist/wje-thumbnail.js.map +1 -1
  214. package/dist/wje-toast.js +127 -632
  215. package/dist/wje-toast.js.map +1 -1
  216. package/dist/wje-toggle.js +52 -177
  217. package/dist/wje-toggle.js.map +1 -1
  218. package/dist/wje-toolbar-action.js +128 -456
  219. package/dist/wje-toolbar-action.js.map +1 -1
  220. package/dist/wje-toolbar.js +75 -270
  221. package/dist/wje-toolbar.js.map +1 -1
  222. package/dist/wje-tooltip.js +50 -161
  223. package/dist/wje-tooltip.js.map +1 -1
  224. package/dist/wje-tree-item.js +70 -301
  225. package/dist/wje-tree-item.js.map +1 -1
  226. package/dist/wje-tree.js +145 -489
  227. package/dist/wje-tree.js.map +1 -1
  228. package/dist/wje-visually-hidden.js +7 -34
  229. package/dist/wje-visually-hidden.js.map +1 -1
  230. package/package.json +4 -2
  231. package/dist/form-associated-element-DEQ4y-jn.js +0 -245
  232. package/dist/icon-CReYMzAK.js +0 -245
  233. package/dist/popup.element-CwXvVFK7.js +0 -2133
  234. 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