wj-elements 0.3.0 → 0.3.1

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 (352) hide show
  1. package/dist/animations.js.map +1 -1
  2. package/dist/base-path.js.map +1 -1
  3. package/dist/date.js.map +1 -1
  4. package/dist/element-utils.js.map +1 -1
  5. package/dist/event.js.map +1 -1
  6. package/dist/form-associated-element-DEQ4y-jn.js.map +1 -1
  7. package/dist/icon-DVyMc4Wv.js.map +1 -1
  8. package/dist/localize.js.map +1 -1
  9. package/dist/{translations → packages/translations}/sk-sk.d.ts +5 -0
  10. package/dist/{wje-button → packages/wje-button}/button.element.d.ts +11 -0
  11. package/dist/{wje-dialog → packages/wje-dialog}/dialog.element.d.ts +2 -0
  12. package/dist/{wje-menu-item → packages/wje-menu-item}/menu-item.element.d.ts +2 -1
  13. package/dist/{wje-router-link → packages/wje-router-link}/router-link.element.d.ts +1 -0
  14. package/dist/{wje-tab → packages/wje-tab}/tab.element.d.ts +1 -0
  15. package/dist/{wje-tree-item → packages/wje-tree-item}/tree-item.element.d.ts +13 -0
  16. package/dist/permissions.js.map +1 -1
  17. package/dist/{popup.element-Cl6QeG8M.js → popup.element-DklicGea.js} +129 -96
  18. package/dist/popup.element-DklicGea.js.map +1 -0
  19. package/dist/{router-links-CJnOdbas.js → router-links-wjqCnncc.js} +9 -3
  20. package/dist/router-links-wjqCnncc.js.map +1 -0
  21. package/dist/universal-service.js.map +1 -1
  22. package/dist/utils.js.map +1 -1
  23. package/dist/wje-accordion-item.js.map +1 -1
  24. package/dist/wje-accordion.js.map +1 -1
  25. package/dist/wje-animation.js.map +1 -1
  26. package/dist/wje-aside.js.map +1 -1
  27. package/dist/wje-avatar.js.map +1 -1
  28. package/dist/wje-badge.js.map +1 -1
  29. package/dist/wje-breadcrumb.js.map +1 -1
  30. package/dist/wje-breadcrumbs.js.map +1 -1
  31. package/dist/wje-button-group.js.map +1 -1
  32. package/dist/wje-button.js +43 -18
  33. package/dist/wje-button.js.map +1 -1
  34. package/dist/wje-card-content.js.map +1 -1
  35. package/dist/wje-card-controls.js.map +1 -1
  36. package/dist/wje-card-header.js.map +1 -1
  37. package/dist/wje-card-subtitle.js.map +1 -1
  38. package/dist/wje-card-title.js.map +1 -1
  39. package/dist/wje-card.js.map +1 -1
  40. package/dist/wje-carousel-item.js.map +1 -1
  41. package/dist/wje-carousel.js.map +1 -1
  42. package/dist/wje-checkbox.js.map +1 -1
  43. package/dist/wje-chip.js.map +1 -1
  44. package/dist/wje-col.js.map +1 -1
  45. package/dist/wje-color-picker.js +2 -2
  46. package/dist/wje-color-picker.js.map +1 -1
  47. package/dist/wje-container.js.map +1 -1
  48. package/dist/wje-copy-button.js.map +1 -1
  49. package/dist/wje-dialog.js +20 -16
  50. package/dist/wje-dialog.js.map +1 -1
  51. package/dist/wje-divider.js.map +1 -1
  52. package/dist/wje-dropdown.js +1 -1
  53. package/dist/wje-dropdown.js.map +1 -1
  54. package/dist/wje-element.js.map +1 -1
  55. package/dist/wje-file-upload-item.js.map +1 -1
  56. package/dist/wje-file-upload.js.map +1 -1
  57. package/dist/wje-footer.js.map +1 -1
  58. package/dist/wje-form.js.map +1 -1
  59. package/dist/wje-format-digital.js.map +1 -1
  60. package/dist/wje-grid.js.map +1 -1
  61. package/dist/wje-header.js.map +1 -1
  62. package/dist/wje-icon-library.js.map +1 -1
  63. package/dist/wje-icon-picker.js.map +1 -1
  64. package/dist/wje-img-comparer.js.map +1 -1
  65. package/dist/wje-img.js.map +1 -1
  66. package/dist/wje-infinite-scroll.js.map +1 -1
  67. package/dist/wje-input-file.js.map +1 -1
  68. package/dist/wje-input.js.map +1 -1
  69. package/dist/wje-item.js.map +1 -1
  70. package/dist/wje-kanban.js.map +1 -1
  71. package/dist/wje-label.js.map +1 -1
  72. package/dist/wje-level-indicator.js.map +1 -1
  73. package/dist/wje-list.js.map +1 -1
  74. package/dist/wje-main.js.map +1 -1
  75. package/dist/wje-masonry.js.map +1 -1
  76. package/dist/wje-master.js +8 -3
  77. package/dist/wje-master.js.map +1 -1
  78. package/dist/wje-menu-button.js.map +1 -1
  79. package/dist/wje-menu-item.js +17 -3
  80. package/dist/wje-menu-item.js.map +1 -1
  81. package/dist/wje-menu-label.js.map +1 -1
  82. package/dist/wje-menu.js.map +1 -1
  83. package/dist/wje-option.js +11 -0
  84. package/dist/wje-option.js.map +1 -1
  85. package/dist/wje-options.js.map +1 -1
  86. package/dist/wje-orgchart-group.js.map +1 -1
  87. package/dist/wje-orgchart-item.js.map +1 -1
  88. package/dist/wje-orgchart.js.map +1 -1
  89. package/dist/wje-pagination.js.map +1 -1
  90. package/dist/wje-popup.js +1 -1
  91. package/dist/wje-progress-bar.js.map +1 -1
  92. package/dist/wje-qr-code.js +3 -3
  93. package/dist/wje-qr-code.js.map +1 -1
  94. package/dist/wje-radio-group.js.map +1 -1
  95. package/dist/wje-radio.js.map +1 -1
  96. package/dist/wje-rate.js.map +1 -1
  97. package/dist/wje-relative-time.js.map +1 -1
  98. package/dist/wje-reorder-dropzone.js.map +1 -1
  99. package/dist/wje-reorder-handle.js.map +1 -1
  100. package/dist/wje-reorder-item.js.map +1 -1
  101. package/dist/wje-reorder.js.map +1 -1
  102. package/dist/wje-route.js.map +1 -1
  103. package/dist/wje-router-link.js +12 -2
  104. package/dist/wje-router-link.js.map +1 -1
  105. package/dist/wje-router-outlet.js +15 -5
  106. package/dist/wje-router-outlet.js.map +1 -1
  107. package/dist/wje-routerx.js +64 -66
  108. package/dist/wje-routerx.js.map +1 -1
  109. package/dist/wje-row.js.map +1 -1
  110. package/dist/wje-select.js +1 -1
  111. package/dist/wje-select.js.map +1 -1
  112. package/dist/wje-slider.js.map +1 -1
  113. package/dist/wje-sliding-container.js.map +1 -1
  114. package/dist/wje-split-view.js.map +1 -1
  115. package/dist/wje-status.js.map +1 -1
  116. package/dist/wje-step.js.map +1 -1
  117. package/dist/wje-stepper.js.map +1 -1
  118. package/dist/wje-store.js.map +1 -1
  119. package/dist/wje-tab-group.js.map +1 -1
  120. package/dist/wje-tab-panel.js.map +1 -1
  121. package/dist/wje-tab.js +12 -2
  122. package/dist/wje-tab.js.map +1 -1
  123. package/dist/wje-textarea.js.map +1 -1
  124. package/dist/wje-thumbnail.js.map +1 -1
  125. package/dist/wje-toast.js.map +1 -1
  126. package/dist/wje-toggle.js.map +1 -1
  127. package/dist/wje-toolbar-action.js.map +1 -1
  128. package/dist/wje-toolbar.js.map +1 -1
  129. package/dist/wje-tooltip.js +1 -1
  130. package/dist/wje-tooltip.js.map +1 -1
  131. package/dist/wje-tree-item.js +32 -3
  132. package/dist/wje-tree-item.js.map +1 -1
  133. package/dist/wje-tree.js.map +1 -1
  134. package/dist/wje-visually-hidden.js.map +1 -1
  135. package/package.json +2 -2
  136. package/dist/popup.element-Cl6QeG8M.js.map +0 -1
  137. package/dist/router-links-CJnOdbas.js.map +0 -1
  138. /package/dist/{index.d.ts → packages/index.d.ts} +0 -0
  139. /package/dist/{internals → packages/internals}/form-associated-element.d.ts +0 -0
  140. /package/dist/{localize → packages/localize}/localize.d.ts +0 -0
  141. /package/dist/{translations → packages/translations}/en-gb.d.ts +0 -0
  142. /package/dist/{utils → packages/utils}/animations.d.ts +0 -0
  143. /package/dist/{utils → packages/utils}/base-path.d.ts +0 -0
  144. /package/dist/{utils → packages/utils}/date.d.ts +0 -0
  145. /package/dist/{utils → packages/utils}/element-utils.d.ts +0 -0
  146. /package/dist/{utils → packages/utils}/event.d.ts +0 -0
  147. /package/dist/{utils → packages/utils}/icon-library.d.ts +0 -0
  148. /package/dist/{utils → packages/utils}/localize.d.ts +0 -0
  149. /package/dist/{utils → packages/utils}/permissions.d.ts +0 -0
  150. /package/dist/{utils → packages/utils}/universal-service.d.ts +0 -0
  151. /package/dist/{utils → packages/utils}/utils.d.ts +0 -0
  152. /package/dist/{wje-accordion → packages/wje-accordion}/accordion.d.ts +0 -0
  153. /package/dist/{wje-accordion → packages/wje-accordion}/accordion.element.d.ts +0 -0
  154. /package/dist/{wje-accordion-item → packages/wje-accordion-item}/accordion-item.d.ts +0 -0
  155. /package/dist/{wje-accordion-item → packages/wje-accordion-item}/accordion-item.element.d.ts +0 -0
  156. /package/dist/{wje-animation → packages/wje-animation}/animation.d.ts +0 -0
  157. /package/dist/{wje-animation → packages/wje-animation}/animation.element.d.ts +0 -0
  158. /package/dist/{wje-aside → packages/wje-aside}/aside.d.ts +0 -0
  159. /package/dist/{wje-aside → packages/wje-aside}/aside.element.d.ts +0 -0
  160. /package/dist/{wje-avatar → packages/wje-avatar}/avatar.d.ts +0 -0
  161. /package/dist/{wje-avatar → packages/wje-avatar}/avatar.element.d.ts +0 -0
  162. /package/dist/{wje-avatar → packages/wje-avatar}/service/service.d.ts +0 -0
  163. /package/dist/{wje-badge → packages/wje-badge}/badge.d.ts +0 -0
  164. /package/dist/{wje-badge → packages/wje-badge}/badge.element.d.ts +0 -0
  165. /package/dist/{wje-breadcrumb → packages/wje-breadcrumb}/breadcrumb.d.ts +0 -0
  166. /package/dist/{wje-breadcrumb → packages/wje-breadcrumb}/breadcrumb.element.d.ts +0 -0
  167. /package/dist/{wje-breadcrumbs → packages/wje-breadcrumbs}/breadcrumbs.d.ts +0 -0
  168. /package/dist/{wje-breadcrumbs → packages/wje-breadcrumbs}/breadcrumbs.element.d.ts +0 -0
  169. /package/dist/{wje-button → packages/wje-button}/button.d.ts +0 -0
  170. /package/dist/{wje-button-group → packages/wje-button-group}/button-group.d.ts +0 -0
  171. /package/dist/{wje-button-group → packages/wje-button-group}/button-group.element.d.ts +0 -0
  172. /package/dist/{wje-card → packages/wje-card}/card.d.ts +0 -0
  173. /package/dist/{wje-card → packages/wje-card}/card.element.d.ts +0 -0
  174. /package/dist/{wje-card-content → packages/wje-card-content}/card-content.d.ts +0 -0
  175. /package/dist/{wje-card-content → packages/wje-card-content}/card-content.element.d.ts +0 -0
  176. /package/dist/{wje-card-controls → packages/wje-card-controls}/card-controls.d.ts +0 -0
  177. /package/dist/{wje-card-controls → packages/wje-card-controls}/card-controls.element.d.ts +0 -0
  178. /package/dist/{wje-card-header → packages/wje-card-header}/card-header.d.ts +0 -0
  179. /package/dist/{wje-card-header → packages/wje-card-header}/card-header.element.d.ts +0 -0
  180. /package/dist/{wje-card-subtitle → packages/wje-card-subtitle}/card-subtitle.d.ts +0 -0
  181. /package/dist/{wje-card-subtitle → packages/wje-card-subtitle}/card-subtitle.element.d.ts +0 -0
  182. /package/dist/{wje-card-title → packages/wje-card-title}/card-title.d.ts +0 -0
  183. /package/dist/{wje-card-title → packages/wje-card-title}/card-title.element.d.ts +0 -0
  184. /package/dist/{wje-carousel → packages/wje-carousel}/carousel.d.ts +0 -0
  185. /package/dist/{wje-carousel → packages/wje-carousel}/carousel.element.d.ts +0 -0
  186. /package/dist/{wje-carousel-item → packages/wje-carousel-item}/carousel-item.d.ts +0 -0
  187. /package/dist/{wje-carousel-item → packages/wje-carousel-item}/carousel-item.element.d.ts +0 -0
  188. /package/dist/{wje-checkbox → packages/wje-checkbox}/checkbox.d.ts +0 -0
  189. /package/dist/{wje-checkbox → packages/wje-checkbox}/checkbox.element.d.ts +0 -0
  190. /package/dist/{wje-chip → packages/wje-chip}/chip.d.ts +0 -0
  191. /package/dist/{wje-chip → packages/wje-chip}/chip.element.d.ts +0 -0
  192. /package/dist/{wje-col → packages/wje-col}/col.d.ts +0 -0
  193. /package/dist/{wje-col → packages/wje-col}/col.element.d.ts +0 -0
  194. /package/dist/{wje-color-picker → packages/wje-color-picker}/color-picker.d.ts +0 -0
  195. /package/dist/{wje-color-picker → packages/wje-color-picker}/color-picker.element.d.ts +0 -0
  196. /package/dist/{wje-container → packages/wje-container}/container.d.ts +0 -0
  197. /package/dist/{wje-container → packages/wje-container}/container.element.d.ts +0 -0
  198. /package/dist/{wje-copy-button → packages/wje-copy-button}/copy-button.d.ts +0 -0
  199. /package/dist/{wje-copy-button → packages/wje-copy-button}/copy-button.element.d.ts +0 -0
  200. /package/dist/{wje-copy-button → packages/wje-copy-button}/service/service.d.ts +0 -0
  201. /package/dist/{wje-dialog → packages/wje-dialog}/dialog.d.ts +0 -0
  202. /package/dist/{wje-divider → packages/wje-divider}/divider.d.ts +0 -0
  203. /package/dist/{wje-divider → packages/wje-divider}/divider.element.d.ts +0 -0
  204. /package/dist/{wje-dropdown → packages/wje-dropdown}/dropdown.d.ts +0 -0
  205. /package/dist/{wje-dropdown → packages/wje-dropdown}/dropdown.element.d.ts +0 -0
  206. /package/dist/{wje-element → packages/wje-element}/element.d.ts +0 -0
  207. /package/dist/{wje-file-upload → packages/wje-file-upload}/file-upload.d.ts +0 -0
  208. /package/dist/{wje-file-upload → packages/wje-file-upload}/file-upload.element.d.ts +0 -0
  209. /package/dist/{wje-file-upload → packages/wje-file-upload}/service/service.d.ts +0 -0
  210. /package/dist/{wje-file-upload-item → packages/wje-file-upload-item}/file-upload-item.d.ts +0 -0
  211. /package/dist/{wje-file-upload-item → packages/wje-file-upload-item}/file-upload-item.element.d.ts +0 -0
  212. /package/dist/{wje-footer → packages/wje-footer}/footer.d.ts +0 -0
  213. /package/dist/{wje-footer → packages/wje-footer}/footer.element.d.ts +0 -0
  214. /package/dist/{wje-form → packages/wje-form}/form.d.ts +0 -0
  215. /package/dist/{wje-form → packages/wje-form}/form.element.d.ts +0 -0
  216. /package/dist/{wje-format-digital → packages/wje-format-digital}/format-digital.d.ts +0 -0
  217. /package/dist/{wje-format-digital → packages/wje-format-digital}/format-digital.element.d.ts +0 -0
  218. /package/dist/{wje-grid → packages/wje-grid}/grid.d.ts +0 -0
  219. /package/dist/{wje-grid → packages/wje-grid}/grid.element.d.ts +0 -0
  220. /package/dist/{wje-header → packages/wje-header}/header.d.ts +0 -0
  221. /package/dist/{wje-header → packages/wje-header}/header.element.d.ts +0 -0
  222. /package/dist/{wje-icon → packages/wje-icon}/icon.d.ts +0 -0
  223. /package/dist/{wje-icon → packages/wje-icon}/icon.element.d.ts +0 -0
  224. /package/dist/{wje-icon → packages/wje-icon}/service/library.d.ts +0 -0
  225. /package/dist/{wje-icon → packages/wje-icon}/service/service.d.ts +0 -0
  226. /package/dist/{wje-icon-picker → packages/wje-icon-picker}/icon-picker.d.ts +0 -0
  227. /package/dist/{wje-icon-picker → packages/wje-icon-picker}/icon-picker.element.d.ts +0 -0
  228. /package/dist/{wje-img → packages/wje-img}/img.d.ts +0 -0
  229. /package/dist/{wje-img → packages/wje-img}/img.element.d.ts +0 -0
  230. /package/dist/{wje-img-comparer → packages/wje-img-comparer}/img-comparer.d.ts +0 -0
  231. /package/dist/{wje-img-comparer → packages/wje-img-comparer}/img-comparer.element.d.ts +0 -0
  232. /package/dist/{wje-img-comparer → packages/wje-img-comparer}/service/service.d.ts +0 -0
  233. /package/dist/{wje-infinite-scroll → packages/wje-infinite-scroll}/infinite-scroll.d.ts +0 -0
  234. /package/dist/{wje-infinite-scroll → packages/wje-infinite-scroll}/infinite-scroll.element.d.ts +0 -0
  235. /package/dist/{wje-input → packages/wje-input}/input.d.ts +0 -0
  236. /package/dist/{wje-input → packages/wje-input}/input.element.d.ts +0 -0
  237. /package/dist/{wje-input-file → packages/wje-input-file}/input-file.d.ts +0 -0
  238. /package/dist/{wje-input-file → packages/wje-input-file}/input-file.element.d.ts +0 -0
  239. /package/dist/{wje-item → packages/wje-item}/item.d.ts +0 -0
  240. /package/dist/{wje-item → packages/wje-item}/item.element.d.ts +0 -0
  241. /package/dist/{wje-kanban → packages/wje-kanban}/kanban.d.ts +0 -0
  242. /package/dist/{wje-kanban → packages/wje-kanban}/kanban.element.d.ts +0 -0
  243. /package/dist/{wje-label → packages/wje-label}/label.d.ts +0 -0
  244. /package/dist/{wje-label → packages/wje-label}/label.element.d.ts +0 -0
  245. /package/dist/{wje-level-indicator → packages/wje-level-indicator}/level-indicator.d.ts +0 -0
  246. /package/dist/{wje-level-indicator → packages/wje-level-indicator}/level-indicator.element.d.ts +0 -0
  247. /package/dist/{wje-list → packages/wje-list}/list.d.ts +0 -0
  248. /package/dist/{wje-list → packages/wje-list}/list.element.d.ts +0 -0
  249. /package/dist/{wje-main → packages/wje-main}/main.d.ts +0 -0
  250. /package/dist/{wje-main → packages/wje-main}/main.element.d.ts +0 -0
  251. /package/dist/{wje-masonry → packages/wje-masonry}/masonry.d.ts +0 -0
  252. /package/dist/{wje-masonry → packages/wje-masonry}/masonry.element.d.ts +0 -0
  253. /package/dist/{wje-masonry → packages/wje-masonry}/service/service.d.ts +0 -0
  254. /package/dist/{wje-menu → packages/wje-menu}/menu.d.ts +0 -0
  255. /package/dist/{wje-menu → packages/wje-menu}/menu.element.d.ts +0 -0
  256. /package/dist/{wje-menu-button → packages/wje-menu-button}/menu-button.d.ts +0 -0
  257. /package/dist/{wje-menu-button → packages/wje-menu-button}/menu-button.element.d.ts +0 -0
  258. /package/dist/{wje-menu-item → packages/wje-menu-item}/menu-item.d.ts +0 -0
  259. /package/dist/{wje-menu-label → packages/wje-menu-label}/menu-label.d.ts +0 -0
  260. /package/dist/{wje-menu-label → packages/wje-menu-label}/menu-label.element.d.ts +0 -0
  261. /package/dist/{wje-option → packages/wje-option}/option.d.ts +0 -0
  262. /package/dist/{wje-option → packages/wje-option}/option.element.d.ts +0 -0
  263. /package/dist/{wje-options → packages/wje-options}/options.d.ts +0 -0
  264. /package/dist/{wje-options → packages/wje-options}/options.element.d.ts +0 -0
  265. /package/dist/{wje-orgchart → packages/wje-orgchart}/orgchart.d.ts +0 -0
  266. /package/dist/{wje-orgchart → packages/wje-orgchart}/orgchart.element.d.ts +0 -0
  267. /package/dist/{wje-orgchart-group → packages/wje-orgchart-group}/orgchart-group.d.ts +0 -0
  268. /package/dist/{wje-orgchart-group → packages/wje-orgchart-group}/orgchart-group.element.d.ts +0 -0
  269. /package/dist/{wje-orgchart-item → packages/wje-orgchart-item}/orgchart-item.d.ts +0 -0
  270. /package/dist/{wje-orgchart-item → packages/wje-orgchart-item}/orgchart-item.element.d.ts +0 -0
  271. /package/dist/{wje-pagination → packages/wje-pagination}/pagination.d.ts +0 -0
  272. /package/dist/{wje-pagination → packages/wje-pagination}/pagination.element.d.ts +0 -0
  273. /package/dist/{wje-pagination → packages/wje-pagination}/service/service.d.ts +0 -0
  274. /package/dist/{wje-panel → packages/wje-panel}/panel.d.ts +0 -0
  275. /package/dist/{wje-panel → packages/wje-panel}/panel.element.d.ts +0 -0
  276. /package/dist/{wje-popup → packages/wje-popup}/popup.d.ts +0 -0
  277. /package/dist/{wje-popup → packages/wje-popup}/popup.element.d.ts +0 -0
  278. /package/dist/{wje-progress-bar → packages/wje-progress-bar}/progress-bar.d.ts +0 -0
  279. /package/dist/{wje-progress-bar → packages/wje-progress-bar}/progress-bar.element.d.ts +0 -0
  280. /package/dist/{wje-qr-code → packages/wje-qr-code}/qr-code.d.ts +0 -0
  281. /package/dist/{wje-qr-code → packages/wje-qr-code}/qr-code.element.d.ts +0 -0
  282. /package/dist/{wje-radio → packages/wje-radio}/radio.d.ts +0 -0
  283. /package/dist/{wje-radio → packages/wje-radio}/radio.element.d.ts +0 -0
  284. /package/dist/{wje-radio-group → packages/wje-radio-group}/radio-group.d.ts +0 -0
  285. /package/dist/{wje-radio-group → packages/wje-radio-group}/radio-group.element.d.ts +0 -0
  286. /package/dist/{wje-rate → packages/wje-rate}/rate.d.ts +0 -0
  287. /package/dist/{wje-rate → packages/wje-rate}/rate.element.d.ts +0 -0
  288. /package/dist/{wje-relative-time → packages/wje-relative-time}/relative-time.d.ts +0 -0
  289. /package/dist/{wje-relative-time → packages/wje-relative-time}/relative-time.element.d.ts +0 -0
  290. /package/dist/{wje-reorder → packages/wje-reorder}/reorder.d.ts +0 -0
  291. /package/dist/{wje-reorder → packages/wje-reorder}/reorder.element.d.ts +0 -0
  292. /package/dist/{wje-reorder-dropzone → packages/wje-reorder-dropzone}/reorder-dropzone.d.ts +0 -0
  293. /package/dist/{wje-reorder-dropzone → packages/wje-reorder-dropzone}/reorder-dropzone.element.d.ts +0 -0
  294. /package/dist/{wje-reorder-handle → packages/wje-reorder-handle}/reorder-handle.d.ts +0 -0
  295. /package/dist/{wje-reorder-handle → packages/wje-reorder-handle}/reorder-handle.element.d.ts +0 -0
  296. /package/dist/{wje-reorder-item → packages/wje-reorder-item}/reorder-item.d.ts +0 -0
  297. /package/dist/{wje-reorder-item → packages/wje-reorder-item}/reorder-item.element.d.ts +0 -0
  298. /package/dist/{wje-route → packages/wje-route}/route.d.ts +0 -0
  299. /package/dist/{wje-route → packages/wje-route}/route.element.d.ts +0 -0
  300. /package/dist/{wje-router → packages/wje-router}/router.d.ts +0 -0
  301. /package/dist/{wje-router → packages/wje-router}/router.element.d.ts +0 -0
  302. /package/dist/{wje-router-link → packages/wje-router-link}/router-link.d.ts +0 -0
  303. /package/dist/{wje-router-outlet → packages/wje-router-outlet}/router-outlet.d.ts +0 -0
  304. /package/dist/{wje-router-outlet → packages/wje-router-outlet}/router-outlet.element.d.ts +0 -0
  305. /package/dist/{wje-row → packages/wje-row}/row.d.ts +0 -0
  306. /package/dist/{wje-row → packages/wje-row}/row.element.d.ts +0 -0
  307. /package/dist/{wje-select → packages/wje-select}/select.d.ts +0 -0
  308. /package/dist/{wje-select → packages/wje-select}/select.element.d.ts +0 -0
  309. /package/dist/{wje-slider → packages/wje-slider}/slider.d.ts +0 -0
  310. /package/dist/{wje-slider → packages/wje-slider}/slider.element.d.ts +0 -0
  311. /package/dist/{wje-sliding-container → packages/wje-sliding-container}/sliding-container.d.ts +0 -0
  312. /package/dist/{wje-sliding-container → packages/wje-sliding-container}/sliding-container.element.d.ts +0 -0
  313. /package/dist/{wje-split-view → packages/wje-split-view}/service/service.d.ts +0 -0
  314. /package/dist/{wje-split-view → packages/wje-split-view}/split-view.d.ts +0 -0
  315. /package/dist/{wje-split-view → packages/wje-split-view}/split-view.element.d.ts +0 -0
  316. /package/dist/{wje-status → packages/wje-status}/status.d.ts +0 -0
  317. /package/dist/{wje-status → packages/wje-status}/status.element.d.ts +0 -0
  318. /package/dist/{wje-step → packages/wje-step}/step.d.ts +0 -0
  319. /package/dist/{wje-step → packages/wje-step}/step.element.d.ts +0 -0
  320. /package/dist/{wje-stepper → packages/wje-stepper}/stepper.d.ts +0 -0
  321. /package/dist/{wje-stepper → packages/wje-stepper}/stepper.element.d.ts +0 -0
  322. /package/dist/{wje-store → packages/wje-store}/default-store-actions.d.ts +0 -0
  323. /package/dist/{wje-store → packages/wje-store}/pubsub.d.ts +0 -0
  324. /package/dist/{wje-store → packages/wje-store}/store.d.ts +0 -0
  325. /package/dist/{wje-tab → packages/wje-tab}/tab.d.ts +0 -0
  326. /package/dist/{wje-tab-group → packages/wje-tab-group}/tab-group.d.ts +0 -0
  327. /package/dist/{wje-tab-group → packages/wje-tab-group}/tab-group.element.d.ts +0 -0
  328. /package/dist/{wje-tab-panel → packages/wje-tab-panel}/tab-panel.d.ts +0 -0
  329. /package/dist/{wje-tab-panel → packages/wje-tab-panel}/tab-panel.element.d.ts +0 -0
  330. /package/dist/{wje-textarea → packages/wje-textarea}/textarea.d.ts +0 -0
  331. /package/dist/{wje-textarea → packages/wje-textarea}/textarea.element.d.ts +0 -0
  332. /package/dist/{wje-thumbnail → packages/wje-thumbnail}/thumbnail.d.ts +0 -0
  333. /package/dist/{wje-thumbnail → packages/wje-thumbnail}/thumbnail.element.d.ts +0 -0
  334. /package/dist/{wje-timeline → packages/wje-timeline}/timeline.d.ts +0 -0
  335. /package/dist/{wje-timeline → packages/wje-timeline}/timeline.element.d.ts +0 -0
  336. /package/dist/{wje-timeline-item → packages/wje-timeline-item}/timeline-item.d.ts +0 -0
  337. /package/dist/{wje-timeline-item → packages/wje-timeline-item}/timeline-item.element.d.ts +0 -0
  338. /package/dist/{wje-toast → packages/wje-toast}/toast.d.ts +0 -0
  339. /package/dist/{wje-toast → packages/wje-toast}/toast.element.d.ts +0 -0
  340. /package/dist/{wje-toggle → packages/wje-toggle}/toggle.d.ts +0 -0
  341. /package/dist/{wje-toggle → packages/wje-toggle}/toggle.element.d.ts +0 -0
  342. /package/dist/{wje-toolbar → packages/wje-toolbar}/toolbar.d.ts +0 -0
  343. /package/dist/{wje-toolbar → packages/wje-toolbar}/toolbar.element.d.ts +0 -0
  344. /package/dist/{wje-toolbar-action → packages/wje-toolbar-action}/toolbar-action.d.ts +0 -0
  345. /package/dist/{wje-toolbar-action → packages/wje-toolbar-action}/toolbar-action.element.d.ts +0 -0
  346. /package/dist/{wje-tooltip → packages/wje-tooltip}/tooltip.d.ts +0 -0
  347. /package/dist/{wje-tooltip → packages/wje-tooltip}/tooltip.element.d.ts +0 -0
  348. /package/dist/{wje-tree → packages/wje-tree}/tree.d.ts +0 -0
  349. /package/dist/{wje-tree → packages/wje-tree}/tree.element.d.ts +0 -0
  350. /package/dist/{wje-tree-item → packages/wje-tree-item}/tree-item.d.ts +0 -0
  351. /package/dist/{wje-visually-hidden → packages/wje-visually-hidden}/visually-hidden.d.ts +0 -0
  352. /package/dist/{wje-visually-hidden → packages/wje-visually-hidden}/visually-hidden.element.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"wje-level-indicator.js","sources":["../packages/wje-level-indicator/level-indicator.element.js","../packages/wje-level-indicator/level-indicator.js"],"sourcesContent":["import { default as WJElement, event } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary LevelIndicator is a custom web component that extends WJElement.\n * @documentation https://elements.webjet.sk/components/LevelIndicator\n * @status stable\n * @augments WJElement\n * @csspart - Styles the element.\n * @tag wje-level-indicator\n * @example\n * <wje-level-indicator></wje-level-indicator>\n */\nexport default class LevelIndicator extends WJElement {\n /**\n * Creates an instance of LevelIndicator.\n * @class\n */\n constructor() {\n super();\n }\n\n /**\n * Sets the level attribute for an instance.\n * @param {string} value The value to set for the 'level' attribute.\n */\n set level(value) {\n this.setAttribute('level', value);\n }\n\n /**\n * Retrieves the level attribute of an element, with validation to ensure\n * it is within the range of 0 to 3. If the level attribute is not present,\n * the default value is 1. The result is parsed as an integer and constrained\n * to the valid range.\n * @returns {number} The normalized level value, which is an integer between 0 and 3.\n */\n get level() {\n return Math.min(this.bars, Math.max(0, parseInt(this.getAttribute('level') || '1', 10)));\n }\n\n /**\n * Sets the value of the \"bars\" attribute.\n * @param {string} value The value to set for the \"bars\" attribute.\n */\n set bars(value) {\n this.setAttribute('bars', value);\n }\n\n /**\n * Retrieves the value of the \"bars\" attribute, parses it as an integer,\n * and ensures it is at least 1. If the attribute is not set, defaults to 3.\n * @returns {number} The parsed integer value of the \"bars\" attribute or the default value of 3, constrained to a minimum of 1.\n */\n get bars() {\n return Math.max(1, parseInt(this.getAttribute('bars') || '3', 10));\n }\n\n /**\n * Sets the 'colorize' attribute on the element. If the provided value is truthy,\n * the attribute will be set. If the value is falsy, the attribute will be removed.\n * @param {boolean} value A boolean determining whether to set or remove the 'colorize' attribute.\n */\n set colorize(value) {\n this.removeAttribute('colorize');\n\n if (value) this.setAttribute('colorize', '');\n }\n\n /**\n * Determines whether the element has the \"colorize\" attribute set.\n * @returns {boolean} Returns true if the \"colorize\" attribute is present, otherwise false.\n */\n get colorize() {\n return this.hasAttribute('colorize');\n }\n\n /**\n * Sets the 'reverse' attribute on the element. If the provided value is truthy, the attribute is added;\n * otherwise, the attribute is removed.\n * @param {boolean} value The value determining whether to set or remove the 'reverse' attribute.\n */\n set reverse(value) {\n this.removeAttribute('reverse');\n\n if (value) this.setAttribute('reverse', '');\n }\n\n /**\n * Getter method to check if the \"reverse\" attribute is present on the element.\n * @returns {boolean} Returns true if the \"reverse\" attribute is set; otherwise, returns false.\n */\n get reverse() {\n return this.hasAttribute('reverse');\n }\n\n className = 'LevelIndicator';\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 ['level', 'bars'];\n }\n\n /**\n * Sets up the attributes for the component.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n this.syncAria();\n }\n\n /**\n * Creates a document fragment, appends a new slot element to it, and returns the fragment.\n * @returns {DocumentFragment} A document fragment containing a slot element.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.classList.add('native-level-indicator');\n if (this.reverse) native.classList.add('reverse');\n\n let defaultBar = document.createElement('div');\n defaultBar.classList.add('bar');\n\n this.barsArray = [];\n\n for (let i = 0; i < this.bars; i++) {\n const width = ((i + 1) / this.bars) * 100;\n\n let bar = defaultBar.cloneNode(true);\n bar.style.setProperty('width', width + '%');\n\n native.appendChild(bar);\n this.barsArray.push(bar);\n }\n\n fragment.appendChild(native);\n\n this.native = native;\n\n return fragment;\n }\n\n /**\n * Executes any additional operations or updates required after the drawing process is completed.\n * @returns {void} This method does not return any value.\n */\n afterDraw() {\n this.syncAria();\n this.updateBars(this.level, this.barsArray);\n\n if (this.colorize)\n this.native.style.setProperty(\n '--wje-level-indicator-color-active',\n `var(${this.getColor(this.level, this.barsArray.length)})`\n );\n }\n\n /**\n * Handles attribute changes for ARIA sync.\n * @param {string} name\n * @param {string|null} oldValue\n * @param {string|null} newValue\n */\n attributeChangedCallback(name, oldValue, newValue) {\n if (super.attributeChangedCallback) {\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n if (oldValue !== newValue) {\n this.syncAria();\n }\n }\n\n /**\n * Sync ARIA attributes on host.\n */\n syncAria() {\n this.setAriaState({\n role: 'meter',\n valuemin: 0,\n valuemax: this.bars,\n valuenow: this.level,\n valuetext: `${this.level} of ${this.bars}`,\n });\n }\n\n /**\n * Updates the class of each bar element based on the specified level.\n * @param {number} level The threshold level determining how many bars should be active.\n * @param {Array} bars An array of bar elements to be updated.\n * @returns {void} This method does not return a value.\n */\n updateBars(level, bars) {\n bars.forEach((bar, index) => {\n bar.classList.toggle('active', index < level);\n });\n }\n\n /**\n * Determines the color indicator based on the given level and bars.\n * @param {number} level The current value level used to calculate the ratio.\n * @param {number} bars The maximum value that level can reach.\n * @returns {string | undefined} A string representing the color code based on the ratio, or undefined if colorize is disabled.\n */\n\n getColor(level, bars) {\n const thresholds = [\n '--wje-level-indicator-color-low',\n '--wje-level-indicator-color-medium',\n '--wje-level-indicator-color-high', // 67% - 100% (tretia tretina)\n ];\n\n const index = Math.min(2, Math.floor((level - 1) / (bars / 3)));\n return thresholds[index];\n }\n}\n","import LevelIndicator from './level-indicator.element.js';\n\nexport default LevelIndicator;\n\nLevelIndicator.define('wje-level-indicator', LevelIndicator);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wje-level-indicator.js","sources":["../packages/wje-level-indicator/level-indicator.element.js","../packages/wje-level-indicator/level-indicator.js"],"sourcesContent":["import { default as WJElement, event } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary LevelIndicator is a custom web component that extends WJElement.\n * @documentation https://elements.webjet.sk/components/LevelIndicator\n * @status stable\n * @augments WJElement\n * @csspart - Styles the element.\n * @tag wje-level-indicator\n * @example\n * <wje-level-indicator></wje-level-indicator>\n */\nexport default class LevelIndicator extends WJElement {\n /**\n * Creates an instance of LevelIndicator.\n * @class\n */\n constructor() {\n super();\n }\n\n /**\n * Sets the level attribute for an instance.\n * @param {string} value The value to set for the 'level' attribute.\n */\n set level(value) {\n this.setAttribute('level', value);\n }\n\n /**\n * Retrieves the level attribute of an element, with validation to ensure\n * it is within the range of 0 to 3. If the level attribute is not present,\n * the default value is 1. The result is parsed as an integer and constrained\n * to the valid range.\n * @returns {number} The normalized level value, which is an integer between 0 and 3.\n */\n get level() {\n return Math.min(this.bars, Math.max(0, parseInt(this.getAttribute('level') || '1', 10)));\n }\n\n /**\n * Sets the value of the \"bars\" attribute.\n * @param {string} value The value to set for the \"bars\" attribute.\n */\n set bars(value) {\n this.setAttribute('bars', value);\n }\n\n /**\n * Retrieves the value of the \"bars\" attribute, parses it as an integer,\n * and ensures it is at least 1. If the attribute is not set, defaults to 3.\n * @returns {number} The parsed integer value of the \"bars\" attribute or the default value of 3, constrained to a minimum of 1.\n */\n get bars() {\n return Math.max(1, parseInt(this.getAttribute('bars') || '3', 10));\n }\n\n /**\n * Sets the 'colorize' attribute on the element. If the provided value is truthy,\n * the attribute will be set. If the value is falsy, the attribute will be removed.\n * @param {boolean} value A boolean determining whether to set or remove the 'colorize' attribute.\n */\n set colorize(value) {\n this.removeAttribute('colorize');\n\n if (value) this.setAttribute('colorize', '');\n }\n\n /**\n * Determines whether the element has the \"colorize\" attribute set.\n * @returns {boolean} Returns true if the \"colorize\" attribute is present, otherwise false.\n */\n get colorize() {\n return this.hasAttribute('colorize');\n }\n\n /**\n * Sets the 'reverse' attribute on the element. If the provided value is truthy, the attribute is added;\n * otherwise, the attribute is removed.\n * @param {boolean} value The value determining whether to set or remove the 'reverse' attribute.\n */\n set reverse(value) {\n this.removeAttribute('reverse');\n\n if (value) this.setAttribute('reverse', '');\n }\n\n /**\n * Getter method to check if the \"reverse\" attribute is present on the element.\n * @returns {boolean} Returns true if the \"reverse\" attribute is set; otherwise, returns false.\n */\n get reverse() {\n return this.hasAttribute('reverse');\n }\n\n className = 'LevelIndicator';\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 ['level', 'bars'];\n }\n\n /**\n * Sets up the attributes for the component.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n this.syncAria();\n }\n\n /**\n * Creates a document fragment, appends a new slot element to it, and returns the fragment.\n * @returns {DocumentFragment} A document fragment containing a slot element.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.classList.add('native-level-indicator');\n if (this.reverse) native.classList.add('reverse');\n\n let defaultBar = document.createElement('div');\n defaultBar.classList.add('bar');\n\n this.barsArray = [];\n\n for (let i = 0; i < this.bars; i++) {\n const width = ((i + 1) / this.bars) * 100;\n\n let bar = defaultBar.cloneNode(true);\n bar.style.setProperty('width', width + '%');\n\n native.appendChild(bar);\n this.barsArray.push(bar);\n }\n\n fragment.appendChild(native);\n\n this.native = native;\n\n return fragment;\n }\n\n /**\n * Executes any additional operations or updates required after the drawing process is completed.\n * @returns {void} This method does not return any value.\n */\n afterDraw() {\n this.syncAria();\n this.updateBars(this.level, this.barsArray);\n\n if (this.colorize)\n this.native.style.setProperty(\n '--wje-level-indicator-color-active',\n `var(${this.getColor(this.level, this.barsArray.length)})`\n );\n }\n\n /**\n * Handles attribute changes for ARIA sync.\n * @param {string} name\n * @param {string|null} oldValue\n * @param {string|null} newValue\n */\n attributeChangedCallback(name, oldValue, newValue) {\n if (super.attributeChangedCallback) {\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n if (oldValue !== newValue) {\n this.syncAria();\n }\n }\n\n /**\n * Sync ARIA attributes on host.\n */\n syncAria() {\n this.setAriaState({\n role: 'meter',\n valuemin: 0,\n valuemax: this.bars,\n valuenow: this.level,\n valuetext: `${this.level} of ${this.bars}`,\n });\n }\n\n /**\n * Updates the class of each bar element based on the specified level.\n * @param {number} level The threshold level determining how many bars should be active.\n * @param {Array} bars An array of bar elements to be updated.\n * @returns {void} This method does not return a value.\n */\n updateBars(level, bars) {\n bars.forEach((bar, index) => {\n bar.classList.toggle('active', index < level);\n });\n }\n\n /**\n * Determines the color indicator based on the given level and bars.\n * @param {number} level The current value level used to calculate the ratio.\n * @param {number} bars The maximum value that level can reach.\n * @returns {string | undefined} A string representing the color code based on the ratio, or undefined if colorize is disabled.\n */\n\n getColor(level, bars) {\n const thresholds = [\n '--wje-level-indicator-color-low',\n '--wje-level-indicator-color-medium',\n '--wje-level-indicator-color-high', // 67% - 100% (tretia tretina)\n ];\n\n const index = Math.min(2, Math.floor((level - 1) / (bars / 3)));\n return thresholds[index];\n }\n}\n","import LevelIndicator from './level-indicator.element.js';\n\nexport default LevelIndicator;\n\nLevelIndicator.define('wje-level-indicator', LevelIndicator);\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wje-list.js","sources":["../packages/wje-list/list.element.js","../packages/wje-list/list.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\n\nimport styles from './styles/styles.css?inline';\n\n/**\n * `List` is a custom web component that represents a list.\n * It extends from `WJElement`.\n * @summary This element represents a list.\n * @documentation https://elements.webjet.sk/components/list\n * @status stable\n * @augments {WJElement}\n * @slot - The default slot for the list.\n * @cssproperty [--wje-list-inset-padding=1rem] - The padding of the list when it is inset.\n * @cssproperty [--wje-list-border-radius=8px] - The border radius of the list. Accepts any valid CSS length.\n * @cssproperty [--wje-list-background=var(--wje-background)] - The background of the list. Accepts any valid CSS color value.\n * @tag wje-list\n */\nexport default class List extends WJElement {\n /**\n * Creates an instance of List.\n * @class\n */\n constructor() {\n super();\n }\n\n className = 'List';\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 this.syncAria();\n }\n\n /**\n * Returns the list of attributes to observe for changes.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let element = document.createElement('slot');\n fragment.appendChild(element);\n\n return fragment;\n }\n\n /**\n * Called after the component has been drawn.\n */\n afterDraw() {\n this.syncAria();\n this.classList.toggle('wje-lines-' + this.lines, this.hasAttribute('lines'));\n this.classList.toggle('wje-inset', this.hasAttribute('inset'));\n }\n\n /**\n * Sync ARIA attributes on host.\n */\n syncAria() {\n if (!this.hasAttribute('role')) {\n this.setAriaState({ role: 'list' });\n }\n }\n}\n","import List from './list.element.js';\n\nexport default List;\n\nList.define('wje-list', List);\n"],"names":[],"mappings":";;;;;AAiBe,MAAM,aAAa,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAKxC,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;AACpB,SAAK,SAAU;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMI,OAAO;AACH,QAAI,WAAW,SAAS,uBAAwB;AAEhD,QAAI,UAAU,SAAS,cAAc,MAAM;AAC3C,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACf;AAAA;AAAA;AAAA;AAAA,EAKI,YAAY;AACR,SAAK,SAAU;AACf,SAAK,UAAU,OAAO,eAAe,KAAK,OAAO,KAAK,aAAa,OAAO,CAAC;AAC3E,SAAK,UAAU,OAAO,aAAa,KAAK,aAAa,OAAO,CAAC;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA,EAKI,WAAW;AACP,QAAI,CAAC,KAAK,aAAa,MAAM,GAAG;AAC5B,WAAK,aAAa,EAAE,MAAM,OAAM,CAAE;AAAA,IAC9C;AAAA,EACA;AACA;ACvEA,KAAK,OAAO,YAAY,IAAI;"}
1
+ {"version":3,"file":"wje-list.js","sources":["../packages/wje-list/list.element.js","../packages/wje-list/list.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\n\nimport styles from './styles/styles.css?inline';\n\n/**\n * `List` is a custom web component that represents a list.\n * It extends from `WJElement`.\n * @summary This element represents a list.\n * @documentation https://elements.webjet.sk/components/list\n * @status stable\n * @augments {WJElement}\n * @slot - The default slot for the list.\n * @cssproperty [--wje-list-inset-padding=1rem] - The padding of the list when it is inset.\n * @cssproperty [--wje-list-border-radius=8px] - The border radius of the list. Accepts any valid CSS length.\n * @cssproperty [--wje-list-background=var(--wje-background)] - The background of the list. Accepts any valid CSS color value.\n * @tag wje-list\n */\nexport default class List extends WJElement {\n /**\n * Creates an instance of List.\n * @class\n */\n constructor() {\n super();\n }\n\n className = 'List';\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 this.syncAria();\n }\n\n /**\n * Returns the list of attributes to observe for changes.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let element = document.createElement('slot');\n fragment.appendChild(element);\n\n return fragment;\n }\n\n /**\n * Called after the component has been drawn.\n */\n afterDraw() {\n this.syncAria();\n this.classList.toggle('wje-lines-' + this.lines, this.hasAttribute('lines'));\n this.classList.toggle('wje-inset', this.hasAttribute('inset'));\n }\n\n /**\n * Sync ARIA attributes on host.\n */\n syncAria() {\n if (!this.hasAttribute('role')) {\n this.setAriaState({ role: 'list' });\n }\n }\n}\n","import List from './list.element.js';\n\nexport default List;\n\nList.define('wje-list', List);\n"],"names":[],"mappings":";;;;;AAiBe,MAAM,aAAa,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAKxC,cAAc;AACV,UAAK;AAGT,qCAAY;AAAA,EAFZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB;AACd,SAAK,eAAe;AACpB,SAAK,SAAQ;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO;AACH,QAAI,WAAW,SAAS,uBAAsB;AAE9C,QAAI,UAAU,SAAS,cAAc,MAAM;AAC3C,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AACR,SAAK,SAAQ;AACb,SAAK,UAAU,OAAO,eAAe,KAAK,OAAO,KAAK,aAAa,OAAO,CAAC;AAC3E,SAAK,UAAU,OAAO,aAAa,KAAK,aAAa,OAAO,CAAC;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACP,QAAI,CAAC,KAAK,aAAa,MAAM,GAAG;AAC5B,WAAK,aAAa,EAAE,MAAM,OAAM,CAAE;AAAA,IACtC;AAAA,EACJ;AACJ;ACvEA,KAAK,OAAO,YAAY,IAAI;"}
@@ -1 +1 @@
1
- {"version":3,"file":"wje-main.js","sources":["../packages/wje-main/main.element.js","../packages/wje-main/main.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `Main` is a custom web component that represents a main section.\n * It extends from `WJElement`.\n * @summary This element represents a main section.\n * @documentation https://elements.webjet.sk/components/main\n * @status stable\n * @augments {WJElement}\n * @slot - The default slot for the main section.\n * @tag wje-main\n */\n\nexport default class Main extends WJElement {\n /**\n * Creates an instance of Main.\n * @class\n */\n constructor() {\n super();\n }\n\n className = 'Main';\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 [];\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 main section.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let element = document.createElement('slot');\n fragment.appendChild(element);\n\n return fragment;\n }\n}\n","import Main from './main.element.js';\n\nexport default Main;\n\nMain.define('wje-main', Main);\n"],"names":[],"mappings":";;;;;AAce,MAAM,aAAa,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAKxC,cAAc;AACV,UAAO;AAGX,qCAAY;AAAA,EAFhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASI,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOI,WAAW,qBAAqB;AAC5B,WAAO,CAAE;AAAA,EACjB;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,UAAU,SAAS,cAAc,MAAM;AAC3C,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACf;AACA;AC1DA,KAAK,OAAO,YAAY,IAAI;"}
1
+ {"version":3,"file":"wje-main.js","sources":["../packages/wje-main/main.element.js","../packages/wje-main/main.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `Main` is a custom web component that represents a main section.\n * It extends from `WJElement`.\n * @summary This element represents a main section.\n * @documentation https://elements.webjet.sk/components/main\n * @status stable\n * @augments {WJElement}\n * @slot - The default slot for the main section.\n * @tag wje-main\n */\n\nexport default class Main extends WJElement {\n /**\n * Creates an instance of Main.\n * @class\n */\n constructor() {\n super();\n }\n\n className = 'Main';\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 [];\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 main section.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let element = document.createElement('slot');\n fragment.appendChild(element);\n\n return fragment;\n }\n}\n","import Main from './main.element.js';\n\nexport default Main;\n\nMain.define('wje-main', Main);\n"],"names":[],"mappings":";;;;;AAce,MAAM,aAAa,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAKxC,cAAc;AACV,UAAK;AAGT,qCAAY;AAAA,EAFZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAW,qBAAqB;AAC5B,WAAO,CAAA;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB;AACd,SAAK,eAAe;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO;AACH,QAAI,WAAW,SAAS,uBAAsB;AAE9C,QAAI,UAAU,SAAS,cAAc,MAAM;AAC3C,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACX;AACJ;AC1DA,KAAK,OAAO,YAAY,IAAI;"}
@@ -1 +1 @@
1
- {"version":3,"file":"wje-masonry.js","sources":["../packages/wje-masonry/service/service.js","../packages/wje-masonry/masonry.element.js","../packages/wje-masonry/masonry.js"],"sourcesContent":["export const DEFAULT_MAX_COL_WIDTH = 500;\nexport const DEFAULT_DEBOUNCE_MS = 300;\n\nexport const COL_COUNT_CSS_VAR_NAME = `--wje-masonry-layout-col-count`;\nexport const GAP_CSS_VAR_NAME = `--wje-masonry-layout-gap`;\n\nexport const ELEMENT_NODE_TYPE = 1;\n\nconst DEBOUNCE_MAP = new Map();\n\n/**\n * Returns a number attribute from an element.\n * @param $elem\n * @param name\n * @param defaultValue\n * @returns {string|number}\n */\nexport function getNumberAttribute($elem, name, defaultValue) {\n const value = parseFloat($elem.getAttribute(name) || '');\n return isNaN(value) ? defaultValue : value;\n}\n\n/**\n * Returns the amount of cols that the masonry grid should have.\n * @param totalWidth\n * @param cols\n * @param maxColWidth\n */\nexport function getColCount(totalWidth, cols, maxColWidth) {\n return isNaN(cols) ? Math.max(1, Math.ceil(totalWidth / maxColWidth)) : cols;\n}\n\n/**\n * Debounces a function.\n * @param cb\n * @param ms\n * @param id\n */\nexport function debounce(cb, ms, id) {\n const existingTimeout = DEBOUNCE_MAP.get(id);\n if (existingTimeout !== null && existingTimeout !== undefined) window.clearTimeout(existingTimeout);\n DEBOUNCE_MAP.set(id, window.setTimeout(cb, ms));\n}\n\n/**\n * Returns the index of the column with the smallest height.\n * @param colHeights\n */\nexport function findSmallestColIndex(colHeights) {\n let smallestIndex = 0;\n let smallestHeight = Infinity;\n\n colHeights.forEach((height, i) => {\n if (height < smallestHeight) {\n smallestHeight = height;\n smallestIndex = i;\n }\n });\n\n return smallestIndex;\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport {\n COL_COUNT_CSS_VAR_NAME,\n debounce,\n DEFAULT_DEBOUNCE_MS,\n DEFAULT_MAX_COL_WIDTH,\n ELEMENT_NODE_TYPE,\n findSmallestColIndex,\n GAP_CSS_VAR_NAME,\n getColCount,\n getNumberAttribute,\n} from './service/service.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `Masonry` is a custom web component that represents a masonry layout.\n * It extends from `WJElement`.\n * @summary This element represents a masonry layout.\n * @documentation https://elements.webjet.sk/components/masonry\n * @status stable\n * @augments {WJElement}\n * @csspart native - The native part of the masonry layout.\n * @csspart column - The individual columns in the masonry layout.\n * @slot - The default slot for the masonry layout.\n * @cssproperty [--wje-masonry-layout-gap=1rem] - The gap between items in the masonry layout. Accepts any valid CSS length. Default is 1rem.\n * @cssproperty [--wje-masonry-layout-col-count=1] - The count column in the masonry layout. Accepts any valid CSS length.\n * @tag wje-masonry\n */\nexport default class Masonry extends WJElement {\n /**\n * Constructor for the Masonry class.\n */\n constructor() {\n super();\n\n this.debounceId = `layout_${Math.random()}`;\n this.ro = undefined;\n this.currentRequestAnimationFrameCallback = undefined;\n this.unsetSlot = undefined;\n }\n\n /**\n * Setter for the maxColWidth property.\n * @param {number} value The maximum column width.\n */\n set maxColWidth(value) {\n this.setAttribute('max-col-width', value);\n }\n\n /**\n * Getter for the maxColWidth property.\n * @returns {number} The maximum column width.\n */\n get maxColWidth() {\n return this.hasAttribute('max-col-width') ? +this.getAttribute('max-col-width') : +DEFAULT_MAX_COL_WIDTH;\n }\n\n /**\n * Setter for the cols property.\n * @param {number} value The number of columns.\n */\n set cols(value) {\n if (this.hasAttribute('cols')) this.setAttribute('cols', value);\n else this.setAttribute('cols', 'auto');\n }\n\n /**\n * Getter for the cols property.\n * @returns {number} The number of columns.\n */\n get cols() {\n return getNumberAttribute(this, 'cols', 'auto');\n }\n\n /**\n * Setter for the gap property.\n * @param {number} value The gap between columns.\n */\n set gap(value) {\n this.setAttribute('gap', value);\n }\n\n /**\n * Getter for the gap property.\n * @returns {number} The gap between columns.\n */\n get gap() {\n return getNumberAttribute(this, 'gap', '24');\n }\n\n /**\n * Setter for the debounce property.\n * @param {number} value The debounce time.\n */\n set debounce(value) {\n this.setAttribute('debounce', value);\n }\n\n /**\n * Getter for the debounce property.\n * @returns {number} The debounce time.\n */\n get debounce() {\n return getNumberAttribute(this, 'debounce', DEFAULT_DEBOUNCE_MS);\n }\n\n /**\n * Getter for the columns property.\n * @returns {Array} An array of all the columns.\n */\n get columns() {\n return Array.from(this.shadowRoot.querySelectorAll(`.column`));\n }\n\n debounceId = `layout_${Math.random()}`;\n\n ro = undefined;\n\n className = 'Masonry';\n\n /**\n * Getter for the cssStyleSheet property.\n * @static\n * @returns {CSSStyleSheet} The CSS style sheet for the masonry layout.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observedAttributes property.\n * @returns {Array} An array of the observed attributes.\n */\n static get observedAttributes() {\n return ['max-col-width', 'gap', 'cols'];\n }\n\n /**\n * Callback for when an attribute changes.\n */\n attributeChangedCallback(name, old, newName) {\n switch (name) {\n case 'gap':\n this.style.setProperty(GAP_CSS_VAR_NAME, `${this.gap}px`);\n break;\n }\n\n this.scheduleLayout();\n }\n\n /**\n * Callback for when the element is disconnected.\n */\n beforeDisconnect() {\n this.unsetSlot.removeEventListener('slotchange', this.onSlotChange);\n window.removeEventListener('resize', this.onResize);\n if (this.ro !== null && this.ro !== undefined) {\n this.ro.unobserve(this);\n }\n }\n\n /**\n * Sets up the attributes for the element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the element for the masonry layout.\n * @returns {DocumentFragment} The drawn element.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.setAttribute('id', 'unset-items');\n native.setAttribute('part', 'native');\n\n let unsetSlot = document.createElement('slot');\n\n native.appendChild(unsetSlot);\n\n this.unsetSlot = unsetSlot;\n this.native = native;\n\n fragment.appendChild(native);\n\n return fragment;\n }\n\n /**\n * Called after the element is drawn.\n */\n afterDraw() {\n this.onSlotChange();\n this.onResize();\n this.layout();\n\n this.unsetSlot.addEventListener('slotchange', this.onSlotChange);\n\n if ('ResizeObserver' in window) {\n this.ro = new ResizeObserver(this.onResize);\n this.ro.observe(this);\n } else {\n window.addEventListener('resize', this.onResize);\n }\n }\n\n /**\n * Called when the slot changes.\n */\n onSlotChange = () => {\n const $unsetElements = (this.unsetSlot.assignedNodes() || []).filter(\n (node) => node.nodeType === ELEMENT_NODE_TYPE\n );\n if ($unsetElements.length > 0) {\n this.layout();\n }\n };\n\n /**\n * Called when the window resizes.\n * @param {Array} entries The entries to use.\n */\n onResize = (entries) => {\n const { width } =\n entries !== null && entries !== undefined && Array.isArray(entries) && entries.length > 0\n ? entries[0].contentRect\n : { width: this.offsetWidth };\n const colCount = getColCount(width, this.cols, this.maxColWidth);\n if (colCount !== this.columns.length) {\n this.scheduleLayout();\n }\n };\n\n /**\n * Renders the columns.\n * @param {number} colCount The number of columns to render.\n */\n renderCols(colCount) {\n const columns = this.columns;\n\n if (columns.length === colCount) {\n return;\n }\n\n for (let i = 0; i < colCount; i++) {\n const column = document.createElement('div');\n column.classList.add('column');\n column.setAttribute('part', `column column-${i}`);\n\n const slot = document.createElement('slot');\n slot.setAttribute('name', i);\n\n column.appendChild(slot);\n\n this.context.appendChild(column);\n }\n\n this.style.setProperty(COL_COUNT_CSS_VAR_NAME, colCount);\n }\n\n /**\n * Schedules a layout.\n * @param {number} ms The number of milliseconds to wait before laying out.\n */\n scheduleLayout(ms = this.debounce) {\n debounce(this.layout, ms, this.debounceId);\n }\n\n /**\n * Lays out the element.\n */\n layout = () => {\n if (\n this.currentRequestAnimationFrameCallback !== null &&\n this.currentRequestAnimationFrameCallback !== undefined\n ) {\n window.cancelAnimationFrame(this.currentRequestAnimationFrameCallback);\n }\n\n this.currentRequestAnimationFrameCallback = requestAnimationFrame(() => {\n const gap = this.gap;\n const $elements = Array.from(this.children).filter((node) => node.nodeType === ELEMENT_NODE_TYPE);\n const colCount = getColCount(this.offsetWidth, this.cols, this.maxColWidth);\n const colHeights = Array(colCount).fill(0);\n const writes = [];\n\n for (const elem of $elements) {\n const height = elem.getBoundingClientRect().height;\n let smallestColIndex = findSmallestColIndex(colHeights);\n\n colHeights[smallestColIndex] += height + +gap;\n\n const newSlot = smallestColIndex;\n\n if (elem.slot !== newSlot) {\n writes.push(() => (elem.slot = newSlot));\n }\n }\n\n for (const write of writes) {\n write();\n }\n\n this.renderCols(colCount);\n });\n };\n}\n","import Masonry from './masonry.element.js';\n\nexport default Masonry;\n\nMasonry.define('wje-masonry', Masonry);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wje-masonry.js","sources":["../packages/wje-masonry/service/service.js","../packages/wje-masonry/masonry.element.js","../packages/wje-masonry/masonry.js"],"sourcesContent":["export const DEFAULT_MAX_COL_WIDTH = 500;\nexport const DEFAULT_DEBOUNCE_MS = 300;\n\nexport const COL_COUNT_CSS_VAR_NAME = `--wje-masonry-layout-col-count`;\nexport const GAP_CSS_VAR_NAME = `--wje-masonry-layout-gap`;\n\nexport const ELEMENT_NODE_TYPE = 1;\n\nconst DEBOUNCE_MAP = new Map();\n\n/**\n * Returns a number attribute from an element.\n * @param $elem\n * @param name\n * @param defaultValue\n * @returns {string|number}\n */\nexport function getNumberAttribute($elem, name, defaultValue) {\n const value = parseFloat($elem.getAttribute(name) || '');\n return isNaN(value) ? defaultValue : value;\n}\n\n/**\n * Returns the amount of cols that the masonry grid should have.\n * @param totalWidth\n * @param cols\n * @param maxColWidth\n */\nexport function getColCount(totalWidth, cols, maxColWidth) {\n return isNaN(cols) ? Math.max(1, Math.ceil(totalWidth / maxColWidth)) : cols;\n}\n\n/**\n * Debounces a function.\n * @param cb\n * @param ms\n * @param id\n */\nexport function debounce(cb, ms, id) {\n const existingTimeout = DEBOUNCE_MAP.get(id);\n if (existingTimeout !== null && existingTimeout !== undefined) window.clearTimeout(existingTimeout);\n DEBOUNCE_MAP.set(id, window.setTimeout(cb, ms));\n}\n\n/**\n * Returns the index of the column with the smallest height.\n * @param colHeights\n */\nexport function findSmallestColIndex(colHeights) {\n let smallestIndex = 0;\n let smallestHeight = Infinity;\n\n colHeights.forEach((height, i) => {\n if (height < smallestHeight) {\n smallestHeight = height;\n smallestIndex = i;\n }\n });\n\n return smallestIndex;\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport {\n COL_COUNT_CSS_VAR_NAME,\n debounce,\n DEFAULT_DEBOUNCE_MS,\n DEFAULT_MAX_COL_WIDTH,\n ELEMENT_NODE_TYPE,\n findSmallestColIndex,\n GAP_CSS_VAR_NAME,\n getColCount,\n getNumberAttribute,\n} from './service/service.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `Masonry` is a custom web component that represents a masonry layout.\n * It extends from `WJElement`.\n * @summary This element represents a masonry layout.\n * @documentation https://elements.webjet.sk/components/masonry\n * @status stable\n * @augments {WJElement}\n * @csspart native - The native part of the masonry layout.\n * @csspart column - The individual columns in the masonry layout.\n * @slot - The default slot for the masonry layout.\n * @cssproperty [--wje-masonry-layout-gap=1rem] - The gap between items in the masonry layout. Accepts any valid CSS length. Default is 1rem.\n * @cssproperty [--wje-masonry-layout-col-count=1] - The count column in the masonry layout. Accepts any valid CSS length.\n * @tag wje-masonry\n */\nexport default class Masonry extends WJElement {\n /**\n * Constructor for the Masonry class.\n */\n constructor() {\n super();\n\n this.debounceId = `layout_${Math.random()}`;\n this.ro = undefined;\n this.currentRequestAnimationFrameCallback = undefined;\n this.unsetSlot = undefined;\n }\n\n /**\n * Setter for the maxColWidth property.\n * @param {number} value The maximum column width.\n */\n set maxColWidth(value) {\n this.setAttribute('max-col-width', value);\n }\n\n /**\n * Getter for the maxColWidth property.\n * @returns {number} The maximum column width.\n */\n get maxColWidth() {\n return this.hasAttribute('max-col-width') ? +this.getAttribute('max-col-width') : +DEFAULT_MAX_COL_WIDTH;\n }\n\n /**\n * Setter for the cols property.\n * @param {number} value The number of columns.\n */\n set cols(value) {\n if (this.hasAttribute('cols')) this.setAttribute('cols', value);\n else this.setAttribute('cols', 'auto');\n }\n\n /**\n * Getter for the cols property.\n * @returns {number} The number of columns.\n */\n get cols() {\n return getNumberAttribute(this, 'cols', 'auto');\n }\n\n /**\n * Setter for the gap property.\n * @param {number} value The gap between columns.\n */\n set gap(value) {\n this.setAttribute('gap', value);\n }\n\n /**\n * Getter for the gap property.\n * @returns {number} The gap between columns.\n */\n get gap() {\n return getNumberAttribute(this, 'gap', '24');\n }\n\n /**\n * Setter for the debounce property.\n * @param {number} value The debounce time.\n */\n set debounce(value) {\n this.setAttribute('debounce', value);\n }\n\n /**\n * Getter for the debounce property.\n * @returns {number} The debounce time.\n */\n get debounce() {\n return getNumberAttribute(this, 'debounce', DEFAULT_DEBOUNCE_MS);\n }\n\n /**\n * Getter for the columns property.\n * @returns {Array} An array of all the columns.\n */\n get columns() {\n return Array.from(this.shadowRoot.querySelectorAll(`.column`));\n }\n\n debounceId = `layout_${Math.random()}`;\n\n ro = undefined;\n\n className = 'Masonry';\n\n /**\n * Getter for the cssStyleSheet property.\n * @static\n * @returns {CSSStyleSheet} The CSS style sheet for the masonry layout.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observedAttributes property.\n * @returns {Array} An array of the observed attributes.\n */\n static get observedAttributes() {\n return ['max-col-width', 'gap', 'cols'];\n }\n\n /**\n * Callback for when an attribute changes.\n */\n attributeChangedCallback(name, old, newName) {\n switch (name) {\n case 'gap':\n this.style.setProperty(GAP_CSS_VAR_NAME, `${this.gap}px`);\n break;\n }\n\n this.scheduleLayout();\n }\n\n /**\n * Callback for when the element is disconnected.\n */\n beforeDisconnect() {\n this.unsetSlot.removeEventListener('slotchange', this.onSlotChange);\n window.removeEventListener('resize', this.onResize);\n if (this.ro !== null && this.ro !== undefined) {\n this.ro.unobserve(this);\n }\n }\n\n /**\n * Sets up the attributes for the element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the element for the masonry layout.\n * @returns {DocumentFragment} The drawn element.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.setAttribute('id', 'unset-items');\n native.setAttribute('part', 'native');\n\n let unsetSlot = document.createElement('slot');\n\n native.appendChild(unsetSlot);\n\n this.unsetSlot = unsetSlot;\n this.native = native;\n\n fragment.appendChild(native);\n\n return fragment;\n }\n\n /**\n * Called after the element is drawn.\n */\n afterDraw() {\n this.onSlotChange();\n this.onResize();\n this.layout();\n\n this.unsetSlot.addEventListener('slotchange', this.onSlotChange);\n\n if ('ResizeObserver' in window) {\n this.ro = new ResizeObserver(this.onResize);\n this.ro.observe(this);\n } else {\n window.addEventListener('resize', this.onResize);\n }\n }\n\n /**\n * Called when the slot changes.\n */\n onSlotChange = () => {\n const $unsetElements = (this.unsetSlot.assignedNodes() || []).filter(\n (node) => node.nodeType === ELEMENT_NODE_TYPE\n );\n if ($unsetElements.length > 0) {\n this.layout();\n }\n };\n\n /**\n * Called when the window resizes.\n * @param {Array} entries The entries to use.\n */\n onResize = (entries) => {\n const { width } =\n entries !== null && entries !== undefined && Array.isArray(entries) && entries.length > 0\n ? entries[0].contentRect\n : { width: this.offsetWidth };\n const colCount = getColCount(width, this.cols, this.maxColWidth);\n if (colCount !== this.columns.length) {\n this.scheduleLayout();\n }\n };\n\n /**\n * Renders the columns.\n * @param {number} colCount The number of columns to render.\n */\n renderCols(colCount) {\n const columns = this.columns;\n\n if (columns.length === colCount) {\n return;\n }\n\n for (let i = 0; i < colCount; i++) {\n const column = document.createElement('div');\n column.classList.add('column');\n column.setAttribute('part', `column column-${i}`);\n\n const slot = document.createElement('slot');\n slot.setAttribute('name', i);\n\n column.appendChild(slot);\n\n this.context.appendChild(column);\n }\n\n this.style.setProperty(COL_COUNT_CSS_VAR_NAME, colCount);\n }\n\n /**\n * Schedules a layout.\n * @param {number} ms The number of milliseconds to wait before laying out.\n */\n scheduleLayout(ms = this.debounce) {\n debounce(this.layout, ms, this.debounceId);\n }\n\n /**\n * Lays out the element.\n */\n layout = () => {\n if (\n this.currentRequestAnimationFrameCallback !== null &&\n this.currentRequestAnimationFrameCallback !== undefined\n ) {\n window.cancelAnimationFrame(this.currentRequestAnimationFrameCallback);\n }\n\n this.currentRequestAnimationFrameCallback = requestAnimationFrame(() => {\n const gap = this.gap;\n const $elements = Array.from(this.children).filter((node) => node.nodeType === ELEMENT_NODE_TYPE);\n const colCount = getColCount(this.offsetWidth, this.cols, this.maxColWidth);\n const colHeights = Array(colCount).fill(0);\n const writes = [];\n\n for (const elem of $elements) {\n const height = elem.getBoundingClientRect().height;\n let smallestColIndex = findSmallestColIndex(colHeights);\n\n colHeights[smallestColIndex] += height + +gap;\n\n const newSlot = smallestColIndex;\n\n if (elem.slot !== newSlot) {\n writes.push(() => (elem.slot = newSlot));\n }\n }\n\n for (const write of writes) {\n write();\n }\n\n this.renderCols(colCount);\n });\n };\n}\n","import Masonry from './masonry.element.js';\n\nexport default Masonry;\n\nMasonry.define('wje-masonry', Masonry);\n"],"names":[],"mappings":";;;;AACO,MAAM,sBAAsB;AAE5B,MAAM,yBAAyB;AAC/B,MAAM,mBAAmB;AAEzB,MAAM,oBAAoB;AAEjC,MAAM,eAAe,oBAAI,IAAG;AASrB,SAAS,mBAAmB,OAAO,MAAM,cAAc;AAC1D,QAAM,QAAQ,WAAW,MAAM,aAAa,IAAI,KAAK,EAAE;AACvD,SAAO,MAAM,KAAK,IAAI,eAAe;AACzC;AAQO,SAAS,YAAY,YAAY,MAAM,aAAa;AACvD,SAAO,MAAM,IAAI,IAAI,KAAK,IAAI,GAAG,KAAK,KAAK,aAAa,WAAW,CAAC,IAAI;AAC5E;AAQO,SAAS,SAAS,IAAI,IAAI,IAAI;AACjC,QAAM,kBAAkB,aAAa,IAAI,EAAE;AAC3C,MAAI,oBAAoB,QAAQ,oBAAoB,OAAW,QAAO,aAAa,eAAe;AAClG,eAAa,IAAI,IAAI,OAAO,WAAW,IAAI,EAAE,CAAC;AAClD;AAMO,SAAS,qBAAqB,YAAY;AAC7C,MAAI,gBAAgB;AACpB,MAAI,iBAAiB;AAErB,aAAW,QAAQ,CAAC,QAAQ,MAAM;AAC9B,QAAI,SAAS,gBAAgB;AACzB,uBAAiB;AACjB,sBAAgB;AAAA,IACpB;AAAA,EACJ,CAAC;AAED,SAAO;AACX;;AChCe,MAAM,gBAAgB,UAAU;AAAA;AAAA;AAAA;AAAA,EAI3C,cAAc;AACV,UAAK;AAiFT,sCAAa,UAAU,KAAK,OAAM,CAAE;AAEpC;AAEA,qCAAY;AA8FZ;AAAA;AAAA;AAAA,wCAAe,MAAM;AACjB,YAAM,kBAAkB,KAAK,UAAU,cAAa,KAAM,CAAA,GAAI;AAAA,QAC1D,CAAC,SAAS,KAAK,aAAa;AAAA,MACxC;AACQ,UAAI,eAAe,SAAS,GAAG;AAC3B,aAAK,OAAM;AAAA,MACf;AAAA,IACJ;AAMA;AAAA;AAAA;AAAA;AAAA,oCAAW,CAAC,YAAY;AACpB,YAAM,EAAE,MAAK,IACT,YAAY,QAAQ,YAAY,UAAa,MAAM,QAAQ,OAAO,KAAK,QAAQ,SAAS,IAClF,QAAQ,CAAC,EAAE,cACX,EAAE,OAAO,KAAK,YAAW;AACnC,YAAM,WAAW,YAAY,OAAO,KAAK,MAAM,KAAK,WAAW;AAC/D,UAAI,aAAa,KAAK,QAAQ,QAAQ;AAClC,aAAK,eAAc;AAAA,MACvB;AAAA,IACJ;AAwCA;AAAA;AAAA;AAAA,kCAAS,MAAM;AACX,UACI,KAAK,yCAAyC,QAC9C,KAAK,yCAAyC,QAChD;AACE,eAAO,qBAAqB,KAAK,oCAAoC;AAAA,MACzE;AAEA,WAAK,uCAAuC,sBAAsB,MAAM;AACpE,cAAM,MAAM,KAAK;AACjB,cAAM,YAAY,MAAM,KAAK,KAAK,QAAQ,EAAE,OAAO,CAAC,SAAS,KAAK,aAAa,iBAAiB;AAChG,cAAM,WAAW,YAAY,KAAK,aAAa,KAAK,MAAM,KAAK,WAAW;AAC1E,cAAM,aAAa,MAAM,QAAQ,EAAE,KAAK,CAAC;AACzC,cAAM,SAAS,CAAA;AAEf,mBAAW,QAAQ,WAAW;AAC1B,gBAAM,SAAS,KAAK,sBAAqB,EAAG;AAC5C,cAAI,mBAAmB,qBAAqB,UAAU;AAEtD,qBAAW,gBAAgB,KAAK,SAAS,CAAC;AAE1C,gBAAM,UAAU;AAEhB,cAAI,KAAK,SAAS,SAAS;AACvB,mBAAO,KAAK,MAAO,KAAK,OAAO,OAAQ;AAAA,UAC3C;AAAA,QACJ;AAEA,mBAAW,SAAS,QAAQ;AACxB,gBAAK;AAAA,QACT;AAEA,aAAK,WAAW,QAAQ;AAAA,MAC5B,CAAC;AAAA,IACL;AAjRI,SAAK,aAAa,UAAU,KAAK,OAAM,CAAE;AACzC,SAAK,KAAK;AACV,SAAK,uCAAuC;AAC5C,SAAK,YAAY;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,YAAY,OAAO;AACnB,SAAK,aAAa,iBAAiB,KAAK;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,cAAc;AACd,WAAO,KAAK,aAAa,eAAe,IAAI,CAAC,KAAK,aAAa,eAAe,IAAI;AAAA,EACtF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,KAAK,OAAO;AACZ,QAAI,KAAK,aAAa,MAAM,EAAG,MAAK,aAAa,QAAQ,KAAK;AAAA,QACzD,MAAK,aAAa,QAAQ,MAAM;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,OAAO;AACP,WAAO,mBAAmB,MAAM,QAAQ,MAAM;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,IAAI,OAAO;AACX,SAAK,aAAa,OAAO,KAAK;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,MAAM;AACN,WAAO,mBAAmB,MAAM,OAAO,IAAI;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,SAAS,OAAO;AAChB,SAAK,aAAa,YAAY,KAAK;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,WAAW;AACX,WAAO,mBAAmB,MAAM,YAAY,mBAAmB;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,UAAU;AACV,WAAO,MAAM,KAAK,KAAK,WAAW,iBAAiB,SAAS,CAAC;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,WAAW,qBAAqB;AAC5B,WAAO,CAAC,iBAAiB,OAAO,MAAM;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAKA,yBAAyB,MAAM,KAAK,SAAS;AACzC,YAAQ,MAAI;AAAA,MACR,KAAK;AACD,aAAK,MAAM,YAAY,kBAAkB,GAAG,KAAK,GAAG,IAAI;AACxD;AAAA,IAChB;AAEQ,SAAK,eAAc;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAmB;AACf,SAAK,UAAU,oBAAoB,cAAc,KAAK,YAAY;AAClE,WAAO,oBAAoB,UAAU,KAAK,QAAQ;AAClD,QAAI,KAAK,OAAO,QAAQ,KAAK,OAAO,QAAW;AAC3C,WAAK,GAAG,UAAU,IAAI;AAAA,IAC1B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB;AACd,SAAK,eAAe;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO;AACH,QAAI,WAAW,SAAS,uBAAsB;AAE9C,QAAI,SAAS,SAAS,cAAc,KAAK;AACzC,WAAO,aAAa,MAAM,aAAa;AACvC,WAAO,aAAa,QAAQ,QAAQ;AAEpC,QAAI,YAAY,SAAS,cAAc,MAAM;AAE7C,WAAO,YAAY,SAAS;AAE5B,SAAK,YAAY;AACjB,SAAK,SAAS;AAEd,aAAS,YAAY,MAAM;AAE3B,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AACR,SAAK,aAAY;AACjB,SAAK,SAAQ;AACb,SAAK,OAAM;AAEX,SAAK,UAAU,iBAAiB,cAAc,KAAK,YAAY;AAE/D,QAAI,oBAAoB,QAAQ;AAC5B,WAAK,KAAK,IAAI,eAAe,KAAK,QAAQ;AAC1C,WAAK,GAAG,QAAQ,IAAI;AAAA,IACxB,OAAO;AACH,aAAO,iBAAiB,UAAU,KAAK,QAAQ;AAAA,IACnD;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAiCA,WAAW,UAAU;AACjB,UAAM,UAAU,KAAK;AAErB,QAAI,QAAQ,WAAW,UAAU;AAC7B;AAAA,IACJ;AAEA,aAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AAC/B,YAAM,SAAS,SAAS,cAAc,KAAK;AAC3C,aAAO,UAAU,IAAI,QAAQ;AAC7B,aAAO,aAAa,QAAQ,iBAAiB,CAAC,EAAE;AAEhD,YAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,WAAK,aAAa,QAAQ,CAAC;AAE3B,aAAO,YAAY,IAAI;AAEvB,WAAK,QAAQ,YAAY,MAAM;AAAA,IACnC;AAEA,SAAK,MAAM,YAAY,wBAAwB,QAAQ;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,eAAe,KAAK,KAAK,UAAU;AAC/B,aAAS,KAAK,QAAQ,IAAI,KAAK,UAAU;AAAA,EAC7C;AAwCJ;ACjTA,QAAQ,OAAO,eAAe,OAAO;"}
@@ -1,7 +1,7 @@
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 { b } from "./router-links-CJnOdbas.js";
4
+ import { b } from "./router-links-wjqCnncc.js";
5
5
  import { Localizer } from "./localize.js";
6
6
  import { Permissions } from "./permissions.js";
7
7
  import { UniversalService } from "./universal-service.js";
@@ -105,7 +105,7 @@ import { default as default89 } from "./wje-tooltip.js";
105
105
  import { default as default90 } from "./wje-tree.js";
106
106
  import { default as default91 } from "./wje-tree-item.js";
107
107
  import { default as default92 } from "./wje-visually-hidden.js";
108
- import { P } from "./popup.element-Cl6QeG8M.js";
108
+ import { P } from "./popup.element-DklicGea.js";
109
109
  const skSk = {
110
110
  code: "sk-sk",
111
111
  name: "Slovak",
@@ -117,7 +117,12 @@ const skSk = {
117
117
  "wj.stepper.button.next": "Ďalej",
118
118
  "wj.stepper.button.finish": "Dokončiť",
119
119
  "wj.stepper.button.previous": "Späť",
120
- "wj.stepper.step": "Krok"
120
+ "wj.stepper.step": "Krok",
121
+ "wj.pagination.of": "z",
122
+ "wj.pagination.first": "Prvá stránka",
123
+ "wj.pagination.prev": "Predchádzajúca",
124
+ "wj.pagination.next": "Ďalšia",
125
+ "wj.pagination.last": "Posledná stránka"
121
126
  };
122
127
  Localizer.registerTranslation(skSk);
123
128
  const enGb = {
@@ -1 +1 @@
1
- {"version":3,"file":"wje-master.js","sources":["../packages/translations/sk-sk.js","../packages/translations/en-gb.js","../packages/wje-timeline/timeline.element.js","../packages/wje-timeline/timeline.js","../packages/wje-timeline-item/timeline-item.element.js","../packages/wje-timeline-item/timeline-item.js"],"sourcesContent":["import { Localizer } from '../utils/localize.js';\n\nexport const skSk = {\n code: 'sk-sk',\n name: 'Slovak',\n dir: 'ltr',\n\n welcome: 'Vitajte',\n 'wj.file.upload.button': 'Vybrať súbor',\n 'wj.file.upload.uploaded': 'Nahraných: ',\n 'wj.file.upload.from': 'z',\n 'wj.stepper.button.next': 'Ďalej',\n 'wj.stepper.button.finish': 'Dokončiť',\n 'wj.stepper.button.previous': 'Späť',\n 'wj.stepper.step': 'Krok',\n};\n\nLocalizer.registerTranslation(skSk);\n","import { Localizer } from '../utils/localize.js';\n\nexport const enGb = {\n code: 'en-gb',\n name: 'English',\n dir: 'ltr',\n\n welcome: 'Welcome',\n 'wj.file.upload.button': 'Browse files',\n 'wj.file.upload.uploaded': 'Uploaded: ',\n 'wj.file.upload.from': 'from',\n 'wj.stepper.button.next': 'Next',\n 'wj.stepper.button.finish': 'Finish',\n 'wj.stepper.button.previous': 'Previous',\n 'wj.stepper.step': 'Step',\n 'wj.pagination.of': 'of',\n 'wj.pagination.first': 'First page',\n 'wj.pagination.prev': 'Previous',\n 'wj.pagination.next': 'Next',\n 'wj.pagination.last': 'Last page',\n};\n\nLocalizer.registerTranslation(enGb);\n","import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `Timeline` is a custom web component that represents a timeline.\n * @summary This element represents a timeline.\n * @documentation https://elements.webjet.sk/components/timeline\n * @status stable\n * @augments WJElement\n * @slot - Slot for the timeline items.\n * @csspart native - The native part of the rating component.\n * @csspart vertical-line - The vertical line part of the rating component.\n * @tag wje-timeline\n */\nexport default class Timeline extends WJElement {\n /**\n * Creates an instance of Timeline.\n */\n constructor() {\n super();\n }\n\n /**\n * The class name for the component.\n */\n className = 'Timeline';\n\n /**\n * Returns the CSS stylesheet for the component.\n * @static\n * @returns {CSSStyleSheet} The CSS stylesheet\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 this.syncAria();\n }\n\n /**\n * Draws the component for the timeline.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n const native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.classList.add('native-timeline');\n\n const verticalLine = document.createElement('div');\n verticalLine.setAttribute('part', 'vertical-line');\n verticalLine.classList.add('vertical-line');\n\n const slot = document.createElement('slot');\n\n native.appendChild(verticalLine);\n native.appendChild(slot);\n\n fragment.appendChild(native);\n\n return fragment;\n }\n\n /**\n * Sync ARIA attributes on host.\n */\n syncAria() {\n if (!this.hasAttribute('role')) {\n this.setAriaState({ role: 'list' });\n }\n }\n}\n","import Timeline from './timeline.element.js';\n\nexport default Timeline;\n\nTimeline.define('wje-timeline', Timeline);\n","import { formatDate } from '../utils/date.js';\nimport { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * The TimelineItem component.\n * @summary This element represents a timeline item.\n * @documentation https://elements.webjet.sk/components/timeline-item\n * @status stable\n * @augments {WJElement}\n * @csspart native - The native part of the timeline item.\n * @csspart content-container - The content container part of the timeline item.\n * @csspart default-icon - The default icon part of the timeline item.\n * @slot - Slot for the content of the timeline item.\n * @slot status - Slot for the status of the timeline item.\n * @tag wje-timeline-item\n */\nexport default class TimelineItem extends WJElement {\n constructor() {\n super();\n }\n\n /**\n * Returns the class name of the tab.\n * @returns {string} The class name of the tab.\n */\n className = 'TimelineItem';\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 this.setAttribute('relative-time', '');\n }\n\n /**\n * Draws the component for the timeline 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('native-timeline-item');\n\n let contentContainer = document.createElement('div');\n contentContainer.setAttribute('part', 'content-container');\n contentContainer.classList.add('content-container');\n\n let tooltip = document.createElement('wje-tooltip');\n tooltip.setAttribute('text', this.getAttribute('tooltip') || '');\n tooltip.setAttribute('position', 'top');\n tooltip.setAttribute('content', formatDate(this.datetime, 'dd.MM.yyyy HH:mm'));\n\n let relativeTime = document.createElement('wje-relative-time');\n relativeTime.setAttribute('date', this.datetime || '');\n relativeTime.setAttribute('format', this.getAttribute('format') || '');\n\n tooltip.appendChild(relativeTime);\n\n let event = document.createElement('h3');\n event.classList.add('event');\n event.textContent = this.getAttribute('event') || '';\n\n // additional text content\n let slot = document.createElement('slot');\n\n // status slot\n let slotStatus = document.createElement('wje-icon');\n slotStatus.setAttribute('name', 'circle-dot');\n slotStatus.setAttribute('filled', '');\n slotStatus.setAttribute('part', 'default-icon');\n\n // if status slot is present\n if (this.querySelector('[slot=\"status\"]')) {\n slotStatus = document.createElement('slot');\n slotStatus.setAttribute('name', 'status');\n }\n\n contentContainer.appendChild(tooltip);\n contentContainer.appendChild(event);\n contentContainer.appendChild(slot);\n\n native.appendChild(slotStatus);\n native.appendChild(contentContainer);\n\n fragment.appendChild(native);\n\n return fragment;\n }\n}\n","import TimelineItem from './timeline-item.element.js';\n\nexport default TimelineItem;\n\nTimelineItem.define('wje-timeline-item', TimelineItem);\n"],"names":["styles","event"],"mappings":"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"}
1
+ {"version":3,"file":"wje-master.js","sources":["../packages/translations/sk-sk.js","../packages/translations/en-gb.js","../packages/wje-timeline/timeline.element.js","../packages/wje-timeline/timeline.js","../packages/wje-timeline-item/timeline-item.element.js","../packages/wje-timeline-item/timeline-item.js"],"sourcesContent":["import { Localizer } from '../utils/localize.js';\n\nexport const skSk = {\n code: 'sk-sk',\n name: 'Slovak',\n dir: 'ltr',\n\n welcome: 'Vitajte',\n 'wj.file.upload.button': 'Vybrať súbor',\n 'wj.file.upload.uploaded': 'Nahraných: ',\n 'wj.file.upload.from': 'z',\n 'wj.stepper.button.next': 'Ďalej',\n 'wj.stepper.button.finish': 'Dokončiť',\n 'wj.stepper.button.previous': 'Späť',\n 'wj.stepper.step': 'Krok',\n 'wj.pagination.of': 'z',\n 'wj.pagination.first': 'Prvá stránka',\n 'wj.pagination.prev': 'Predchádzajúca',\n 'wj.pagination.next': 'Ďalšia',\n 'wj.pagination.last': 'Posledná stránka',\n};\n\nLocalizer.registerTranslation(skSk);\n","import { Localizer } from '../utils/localize.js';\n\nexport const enGb = {\n code: 'en-gb',\n name: 'English',\n dir: 'ltr',\n\n welcome: 'Welcome',\n 'wj.file.upload.button': 'Browse files',\n 'wj.file.upload.uploaded': 'Uploaded: ',\n 'wj.file.upload.from': 'from',\n 'wj.stepper.button.next': 'Next',\n 'wj.stepper.button.finish': 'Finish',\n 'wj.stepper.button.previous': 'Previous',\n 'wj.stepper.step': 'Step',\n 'wj.pagination.of': 'of',\n 'wj.pagination.first': 'First page',\n 'wj.pagination.prev': 'Previous',\n 'wj.pagination.next': 'Next',\n 'wj.pagination.last': 'Last page',\n};\n\nLocalizer.registerTranslation(enGb);\n","import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `Timeline` is a custom web component that represents a timeline.\n * @summary This element represents a timeline.\n * @documentation https://elements.webjet.sk/components/timeline\n * @status stable\n * @augments WJElement\n * @slot - Slot for the timeline items.\n * @csspart native - The native part of the rating component.\n * @csspart vertical-line - The vertical line part of the rating component.\n * @tag wje-timeline\n */\nexport default class Timeline extends WJElement {\n /**\n * Creates an instance of Timeline.\n */\n constructor() {\n super();\n }\n\n /**\n * The class name for the component.\n */\n className = 'Timeline';\n\n /**\n * Returns the CSS stylesheet for the component.\n * @static\n * @returns {CSSStyleSheet} The CSS stylesheet\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 this.syncAria();\n }\n\n /**\n * Draws the component for the timeline.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n const native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.classList.add('native-timeline');\n\n const verticalLine = document.createElement('div');\n verticalLine.setAttribute('part', 'vertical-line');\n verticalLine.classList.add('vertical-line');\n\n const slot = document.createElement('slot');\n\n native.appendChild(verticalLine);\n native.appendChild(slot);\n\n fragment.appendChild(native);\n\n return fragment;\n }\n\n /**\n * Sync ARIA attributes on host.\n */\n syncAria() {\n if (!this.hasAttribute('role')) {\n this.setAriaState({ role: 'list' });\n }\n }\n}\n","import Timeline from './timeline.element.js';\n\nexport default Timeline;\n\nTimeline.define('wje-timeline', Timeline);\n","import { formatDate } from '../utils/date.js';\nimport { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * The TimelineItem component.\n * @summary This element represents a timeline item.\n * @documentation https://elements.webjet.sk/components/timeline-item\n * @status stable\n * @augments {WJElement}\n * @csspart native - The native part of the timeline item.\n * @csspart content-container - The content container part of the timeline item.\n * @csspart default-icon - The default icon part of the timeline item.\n * @slot - Slot for the content of the timeline item.\n * @slot status - Slot for the status of the timeline item.\n * @tag wje-timeline-item\n */\nexport default class TimelineItem extends WJElement {\n constructor() {\n super();\n }\n\n /**\n * Returns the class name of the tab.\n * @returns {string} The class name of the tab.\n */\n className = 'TimelineItem';\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 this.setAttribute('relative-time', '');\n }\n\n /**\n * Draws the component for the timeline 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('native-timeline-item');\n\n let contentContainer = document.createElement('div');\n contentContainer.setAttribute('part', 'content-container');\n contentContainer.classList.add('content-container');\n\n let tooltip = document.createElement('wje-tooltip');\n tooltip.setAttribute('text', this.getAttribute('tooltip') || '');\n tooltip.setAttribute('position', 'top');\n tooltip.setAttribute('content', formatDate(this.datetime, 'dd.MM.yyyy HH:mm'));\n\n let relativeTime = document.createElement('wje-relative-time');\n relativeTime.setAttribute('date', this.datetime || '');\n relativeTime.setAttribute('format', this.getAttribute('format') || '');\n\n tooltip.appendChild(relativeTime);\n\n let event = document.createElement('h3');\n event.classList.add('event');\n event.textContent = this.getAttribute('event') || '';\n\n // additional text content\n let slot = document.createElement('slot');\n\n // status slot\n let slotStatus = document.createElement('wje-icon');\n slotStatus.setAttribute('name', 'circle-dot');\n slotStatus.setAttribute('filled', '');\n slotStatus.setAttribute('part', 'default-icon');\n\n // if status slot is present\n if (this.querySelector('[slot=\"status\"]')) {\n slotStatus = document.createElement('slot');\n slotStatus.setAttribute('name', 'status');\n }\n\n contentContainer.appendChild(tooltip);\n contentContainer.appendChild(event);\n contentContainer.appendChild(slot);\n\n native.appendChild(slotStatus);\n native.appendChild(contentContainer);\n\n fragment.appendChild(native);\n\n return fragment;\n }\n}\n","import TimelineItem from './timeline-item.element.js';\n\nexport default TimelineItem;\n\nTimelineItem.define('wje-timeline-item', TimelineItem);\n"],"names":["styles","event"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wje-menu-button.js","sources":["../packages/wje-menu-button/menu-button.element.js","../packages/wje-menu-button/menu-button.js"],"sourcesContent":["import { default as WJElement, event } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `MenuButton` is a custom web component that represents a menu button.\n * @summary This element represents a menu button.\n * @documentation https://elements.webjet.sk/components/menu-button\n * @status stable\n * @augments {WJElement}\n * @slot - The default slot for the menu button.\n * // @fires click - Event fired when the menu button is clicked.\n * @tag wje-menu-button\n */\n\nexport default class MenuButton extends WJElement {\n /**\n * Creates an instance of MenuButton.\n * @class\n */\n constructor() {\n super();\n }\n\n className = 'MenuButton';\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 [];\n }\n\n /**\n * Sets up the attributes for the component.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n this.setAriaState({ role: 'button' });\n }\n\n /**\n * Draws the component for the menu button.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let slot = document.createElement('slot');\n\n fragment.appendChild(slot);\n\n return fragment;\n }\n\n /**\n * Refreshes the component after drawing. Adds a click event listener that toggles the \"open\" class on the content element.\n */\n afterDraw() {\n event.addListener(this, 'click', null, (e) => {\n document.querySelector(`#${this.contentId}`).classList.toggle('open');\n });\n }\n}\n","import MenuButton from './menu-button.element.js';\n\nexport default MenuButton;\n\nMenuButton.define('wje-menu-button', MenuButton);\n"],"names":[],"mappings":";;;;;;AAce,MAAM,mBAAmB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAK9C,cAAc;AACV,UAAO;AAGX,qCAAY;AAAA,EAFhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASI,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOI,WAAW,qBAAqB;AAC5B,WAAO,CAAE;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA,EAKI,kBAAkB;AACd,SAAK,eAAe;AACpB,SAAK,aAAa,EAAE,MAAM,SAAQ,CAAE;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMI,OAAO;AACH,QAAI,WAAW,SAAS,uBAAwB;AAEhD,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,aAAS,YAAY,IAAI;AAEzB,WAAO;AAAA,EACf;AAAA;AAAA;AAAA;AAAA,EAKI,YAAY;AACR,UAAM,YAAY,MAAM,SAAS,MAAM,CAAC,MAAM;AAC1C,eAAS,cAAc,IAAI,KAAK,SAAS,EAAE,EAAE,UAAU,OAAO,MAAM;AAAA,IAChF,CAAS;AAAA,EACT;AACA;ACrEA,WAAW,OAAO,mBAAmB,UAAU;"}
1
+ {"version":3,"file":"wje-menu-button.js","sources":["../packages/wje-menu-button/menu-button.element.js","../packages/wje-menu-button/menu-button.js"],"sourcesContent":["import { default as WJElement, event } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `MenuButton` is a custom web component that represents a menu button.\n * @summary This element represents a menu button.\n * @documentation https://elements.webjet.sk/components/menu-button\n * @status stable\n * @augments {WJElement}\n * @slot - The default slot for the menu button.\n * // @fires click - Event fired when the menu button is clicked.\n * @tag wje-menu-button\n */\n\nexport default class MenuButton extends WJElement {\n /**\n * Creates an instance of MenuButton.\n * @class\n */\n constructor() {\n super();\n }\n\n className = 'MenuButton';\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 [];\n }\n\n /**\n * Sets up the attributes for the component.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n this.setAriaState({ role: 'button' });\n }\n\n /**\n * Draws the component for the menu button.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let slot = document.createElement('slot');\n\n fragment.appendChild(slot);\n\n return fragment;\n }\n\n /**\n * Refreshes the component after drawing. Adds a click event listener that toggles the \"open\" class on the content element.\n */\n afterDraw() {\n event.addListener(this, 'click', null, (e) => {\n document.querySelector(`#${this.contentId}`).classList.toggle('open');\n });\n }\n}\n","import MenuButton from './menu-button.element.js';\n\nexport default MenuButton;\n\nMenuButton.define('wje-menu-button', MenuButton);\n"],"names":[],"mappings":";;;;;;AAce,MAAM,mBAAmB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAK9C,cAAc;AACV,UAAK;AAGT,qCAAY;AAAA,EAFZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAW,qBAAqB;AAC5B,WAAO,CAAA;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB;AACd,SAAK,eAAe;AACpB,SAAK,aAAa,EAAE,MAAM,SAAQ,CAAE;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO;AACH,QAAI,WAAW,SAAS,uBAAsB;AAE9C,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,aAAS,YAAY,IAAI;AAEzB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AACR,UAAM,YAAY,MAAM,SAAS,MAAM,CAAC,MAAM;AAC1C,eAAS,cAAc,IAAI,KAAK,SAAS,EAAE,EAAE,UAAU,OAAO,MAAM;AAAA,IACxE,CAAC;AAAA,EACL;AACJ;ACrEA,WAAW,OAAO,mBAAmB,UAAU;"}
@@ -8,7 +8,7 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
8
8
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
9
9
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
10
10
  var _MenuItem_instances, populateCustomEvent_fn;
11
- import { b as bindRouterLinks } from "./router-links-CJnOdbas.js";
11
+ import { b as bindRouterLinks } from "./router-links-wjqCnncc.js";
12
12
  import WJElement from "./wje-element.js";
13
13
  import { WjElementUtils } from "./element-utils.js";
14
14
  import { event } from "./event.js";
@@ -209,7 +209,11 @@ class MenuItem extends WJElement {
209
209
  }
210
210
  });
211
211
  __publicField(this, "rebindRouterLinks", (e) => {
212
- this.unbindPortalRouterLinks = bindRouterLinks(e.detail.container, { selector: "[route]" });
212
+ var _a, _b;
213
+ const container = (_a = e == null ? void 0 : e.detail) == null ? void 0 : _a.container;
214
+ if (!container) return;
215
+ (_b = this.unbindPortalRouterLinks) == null ? void 0 : _b.call(this);
216
+ this.unbindPortalRouterLinks = bindRouterLinks(container, { selector: "[route]" });
213
217
  });
214
218
  /**
215
219
  * Handles the click event on the MenuItem.
@@ -501,7 +505,10 @@ class MenuItem extends WJElement {
501
505
  * Adds event listeners after drawing the MenuItem.
502
506
  */
503
507
  afterDraw() {
504
- this.unbindRouterLinks = bindRouterLinks(this.parentElement, { selector: "[route]" });
508
+ this.bindRouterLinks();
509
+ if (!this.unbindRouterLinks) {
510
+ queueMicrotask(() => this.bindRouterLinks());
511
+ }
505
512
  document.addEventListener("wje-router:rebind", this.rebindRouterLinks);
506
513
  this.addEventListener("mousemove", this.dispatchMove);
507
514
  this.addEventListener("wje-popup:reposition", this.dispatchReposition);
@@ -531,6 +538,13 @@ class MenuItem extends WJElement {
531
538
  expanded: hasSubmenu ? expanded : void 0
532
539
  });
533
540
  }
541
+ bindRouterLinks() {
542
+ var _a;
543
+ const parent = this.parentElement;
544
+ if (!parent) return;
545
+ (_a = this.unbindRouterLinks) == null ? void 0 : _a.call(this);
546
+ this.unbindRouterLinks = bindRouterLinks(parent, { selector: "[route]" });
547
+ }
534
548
  /**
535
549
  * Creates a tooltip for the MenuItem when it is collapsed.
536
550
  * @param {HTMLElement} native The native MenuItem element.
@@ -1 +1 @@
1
- {"version":3,"file":"wje-menu-item.js","sources":["../packages/wje-menu-item/menu-item.element.js","../packages/wje-menu-item/menu-item.js"],"sourcesContent":["import { bindRouterLinks } from 'slick-router/middlewares/router-links.js';\n\nimport { default as WJElement, event, WjElementUtils } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `MenuItem` is a custom web component that represents a menu item.\n * @summary This element represents a menu item.\n * @documentation https://elements.webjet.sk/components/menu-item\n * @status stable\n * @augments {WJElement}\n * @csspart native - The native part of the menu item.\n * @csspart submenu - The submenu part of the menu item.\n * @slot - The default slot for the menu item.\n * @slot start - The slot for the start of the menu item.\n * @slot end - The slot for the end of the menu item.\n * @slot submenu - The slot for the submenu of the menu item.\n * @cssproperty [--wje-menu-item-color=var(--wje-color)] - Sets the text color of a menu item. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-background=transparent] - Defines the background color of a menu item. Default is `transparent`. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-color-hover=var(--wje-color-contrast-8)] - Specifies the text color of a menu item when hovered. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-background-hover=var(--wje-border-color)] - Sets the background color of a menu item when hovered. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-color-focus=var(--wje-color-contrast-8)] - Defines the text color of a menu item when focused. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-background-focus=var(--wje-border-color)] - Specifies the background color of a menu item when focused. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-color-active=var(--wje-color-contrast-8)] - Sets the text color of a menu item when active. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-background-active=var(--wje-border-color)] - Specifies the background color of a menu item when active. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-padding-top=.5rem] - Specifies the top padding inside a menu item. Accepts any valid CSS length value (e.g., `px`, `rem`).\n * @cssproperty [--wje-menu-item-padding-bottom=.5rem] - Specifies the bottom padding inside a menu item. Accepts any valid CSS length value (e.g., `px`, `rem`).\n * @cssproperty [--wje-menu-item-line-height=1.8rem] - Sets the line height for the text within a menu item. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-submenu-offset=0] - Determines the horizontal offset of a submenu relative to its parent. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-item-icon-visibility=hidden] - Controls the visibility of the icon in a menu item. Accepts `visible`, `hidden`, or `collapse`.\n * @cssproperty [--wje-menu-item-safe-triangle-cursor-x] - Specifies the x-coordinate of the cursor for the safe triangle area. Used for managing hover or focus transitions between menu items and submenus.\n * @cssproperty [--wje-menu-item-safe-triangle-cursor-y] - Specifies the y-coordinate of the cursor for the safe triangle area.\n * @cssproperty [--wje-menu-item-safe-triangle-submenu-start-x] - Defines the x-coordinate where the submenu's safe triangle starts. Helps prevent accidental submenu closing when navigating.\n * @cssproperty [--wje-menu-item-safe-triangle-submenu-start-y] - Defines the y-coordinate where the submenu's safe triangle starts.\n * @cssproperty [--wje-menu-item-safe-triangle-submenu-end-x] - Specifies the x-coordinate where the submenu's safe triangle ends.\n * @cssproperty [--wje-menu-item-safe-triangle-submenu-end-y] - Specifies the y-coordinate where the submenu's safe triangle ends.\n * @tag wje-menu-item\n */\nexport default class MenuItem extends WJElement {\n /**\n * Constructor for MenuItem class.\n * @class\n */\n constructor() {\n super();\n\n this._bind = false;\n\n }\n\n /**\n * Getter for placement attribute.\n * @returns {string} The placement attribute of the menu or \"right-start\" if it doesn't exist.\n */\n get placement() {\n let menu = this.querySelector('wje-menu');\n\n if (menu?.hasAttribute('placement')) {\n return menu.getAttribute('placement');\n }\n return 'right-start';\n }\n\n /**\n * Getter for offset attribute.\n * @returns {string} The offset attribute of the menu or \"0\" if it doesn't exist.\n */\n get offset() {\n let menu = this.querySelector('wje-menu');\n\n if (menu?.hasAttribute('offset')) {\n return menu.getAttribute('offset');\n }\n return '0';\n }\n\n /**\n * Getter for variant attribute.\n * @returns {string} The variant attribute of the menu or \"CONTEXT\" if it doesn't exist.\n */\n get variant() {\n let menu = this.querySelector('wje-menu');\n\n if (menu?.hasAttribute('variant') && !this.collapse) {\n return menu.getAttribute('variant').toUpperCase();\n }\n\n return 'CONTEXT';\n }\n\n /**\n * Getter for collapse attribute.\n * @returns {boolean} True if the closest parent has the collapse attribute, false otherwise.\n */\n get collapse() {\n if (this.closest('[collapse]')) return true;\n\n return false;\n }\n\n /**\n * Sets the value of the custom event attribute.\n * @param {string} value The value to be assigned to the custom event attribute.\n */\n set customEvent(value) {\n this.setAttribute('custom-event', value);\n }\n\n /**\n * Retrieves the value of the 'custom-event' attribute from the element.\n * @returns {string | null} The value of the 'custom-event' attribute, or null if the attribute is not set.\n */\n get customEvent() {\n return this.getAttribute('custom-event');\n }\n\n /**\n * Retrieves a mapped object containing custom event parameters extracted from the element's attributes.\n * Attributes considered are those that begin with 'custom-event-'.\n * The mapped object's keys are derived by removing the 'custom-event-' prefix from the attribute names,\n * and the values are the corresponding attribute values.\n * @returns {object} An object containing key-value pairs of custom event parameters.\n */\n get customEventParameters() {\n const attributes = Array.from(this.attributes).filter((attr) => attr.name.startsWith('custom-event-'));\n\n return attributes.reduce((acc, attr) => {\n const key = attr.name.replace('custom-event-', '');\n acc[key] = attr.value;\n\n return acc;\n }, {});\n }\n\n className = 'MenuItem';\n\n /**\n * Getter for cssStyleSheet.\n * @returns {string} The styles imported from styles.css.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for observedAttributes.\n * @returns {Array} An empty array as no attributes are being observed.\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Sets up the attributes for the MenuItem element.\n */\n setupAttributes() {\n super.setupAttributes();\n this.isShadowRoot = 'open';\n this.syncAria();\n }\n\n /**\n * Removes the active attribute from the menu before drawing the MenuItem.\n */\n beforeDraw() {\n this.querySelector('wje-menu')?.removeAttribute('active');\n }\n\n /**\n * Draws the MenuItem element and sets the variant and collapse attributes.\n * @returns {DocumentFragment} The fragment to be appended to the MenuItem.\n */\n draw() {\n this.hasSubmenu = WjElementUtils.hasSlot(this, 'submenu');\n\n let fragment = document.createDocumentFragment();\n\n this.setAttribute('tabindex', '0');\n\n this.classList.forEach((className) => {\n // Ak trieda začína na \"wje-menu-variant-\", odstráňte ju\n if (className.startsWith('wje-menu-variant-')) {\n this.classList.remove(className);\n }\n });\n\n this.classList.remove('collapse');\n this.classList.add('wje-menu-variant-' + this.variant.toLowerCase());\n\n if (!this.collapse) {\n this.querySelector('wje-menu')?.setAttribute('variant', this.variant.toLowerCase());\n } else if (this.parentElement?.hasAttribute('collapse')) {\n this.classList.add('collapse');\n }\n\n let native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.setAttribute('id', 'anchor');\n native.classList.add('native-menu-item');\n\n // CHECKED - Icon\n let checkedIcon = document.createElement('span');\n checkedIcon.setAttribute('part', 'check');\n checkedIcon.classList.add('check-icon');\n checkedIcon.innerHTML = `<wje-icon name=\"check\"></wje-icon>`;\n\n if (this.hasAttribute('checked')) checkedIcon.classList.add('checked');\n else checkedIcon.classList.remove('checked');\n\n // SLOT - Start\n let start = document.createElement('slot');\n start.name = 'start';\n\n // SLOT\n let slot = document.createElement('slot');\n slot.classList.add('label');\n\n // SLOT - End\n let end = document.createElement('slot');\n end.setAttribute('part', 'end');\n end.name = 'end';\n\n // SLOT - Submenu\n let submenu = document.createElement('slot');\n submenu.setAttribute('part', 'submenu');\n submenu.name = 'submenu';\n\n // SUBMENU - Icon\n let submenuIconClass = this.collapse ? 'collapse' : 'expand';\n let submenuIcon = document.createElement('span');\n submenuIcon.setAttribute('part', 'submenu-icon');\n submenuIcon.classList.add('submenu-icon', submenuIconClass);\n submenuIcon.innerHTML = this.collapse\n ? `<wje-icon name=\"chevron-down\"></wje-icon>`\n : `<wje-icon name=\"chevron-right\"></wje-icon>`;\n\n if (this.hasSubmenu) native.classList.add('has-submenu');\n else native.classList.remove('has-submenu');\n\n native.appendChild(checkedIcon);\n native.appendChild(start);\n native.appendChild(slot);\n native.appendChild(end);\n native.appendChild(submenuIcon);\n\n let isAppend = false;\n // ak je variant typu CONTEXT zobrazime submenu ako popup\n if (this.variant === 'CONTEXT' && this.hasSubmenu) {\n native.setAttribute('slot', 'anchor'); // pridame slot anchor pre popup\n\n let popup = document.createElement('wje-popup');\n popup.setAttribute('anchor', 'anchor');\n popup.setAttribute('placement', this.placement);\n popup.setAttribute('offset', this.offset);\n\n popup.appendChild(native);\n popup.appendChild(submenu);\n\n this.popup = popup;\n fragment.appendChild(popup);\n isAppend = true;\n }\n\n if (this.parentElement?.hasAttribute('collapse') && !this.hasSubmenu) {\n fragment.appendChild(this.collapseItem(native));\n } else if (!isAppend) {\n fragment.appendChild(native);\n }\n\n if ((!this.collapse && this.variant === 'NAV') || (this.variant === 'MEGAMENU' && this.hasSubmenu)) {\n fragment.appendChild(submenu);\n }\n\n this.native = native;\n this.submenu = submenu;\n\n this.syncAria();\n return fragment;\n }\n\n /**\n * Adds event listeners after drawing the MenuItem.\n */\n afterDraw() {\n\n this.unbindRouterLinks = bindRouterLinks(this.parentElement, { selector: '[route]' });\n\n document.addEventListener('wje-router:rebind', this.rebindRouterLinks);\n\n this.addEventListener('mousemove', this.dispatchMove);\n this.addEventListener('wje-popup:reposition', this.dispatchReposition);\n\n // Event na zobrazenie submenu\n event.addListener(this, 'mouseenter', null, this.mouseenterHandler);\n // Event na zrusenie zobrazenia submenu ked sa klikne mimo\n event.addListener(this, 'mouseleave', null, this.shouldHideSubmenu);\n // Event na zrusenie zobrazenia submenu ked sa klikne mimo\n event.addListener(this, 'focusout', null, this.shouldHideSubmenu);\n event.addListener(this, 'click', null, this.clickHandler);\n\n if (this.hasAttribute('custom-event')) {\n event.addListener(this, 'click', null, this.#populateCustomEvent);\n }\n\n if(this.hasAttribute('active-class')) {\n this.addEventListener('click', this.handleActiveClick);\n }\n }\n\n /**\n * Syncs ARIA attributes based on menu item state.\n */\n syncAria() {\n const hasSubmenu = !!this.hasSubmenu;\n const expanded = this.classList.contains('expanded-submenu') || this.native?.classList?.contains('expanded-submenu');\n const disabled = this.hasAttribute('disabled');\n\n this.setAriaState({\n role: 'menuitem',\n disabled,\n haspopup: hasSubmenu ? 'menu' : undefined,\n expanded: hasSubmenu ? expanded : undefined,\n });\n }\n\n mouseenterHandler = (e) => {\n if (this.collapse || (this.variant === 'CONTEXT' && this.hasSubmenu)) {\n if (this.hasAttribute('manual') || (this.variant === 'NAV' && this.collapse)) return;\n\n this.activateSubmenu(e);\n\n e.stopPropagation();\n\n this.showSubmenu();\n }\n };\n\n rebindRouterLinks = (e) => {\n this.unbindPortalRouterLinks = bindRouterLinks(e.detail.container, { selector: '[route]' });\n }\n\n /**\n * Handles the click event on the MenuItem.\n * @param {object} e\n */\n clickHandler = (e) => {\n if (this.hasAttribute('disabled')) return;\n switch (this.variant) {\n case 'NAV':\n if (!this.collapse && this.hasSubmenu) {\n this.submenuToggle(e);\n this.hideSubmenu();\n e.stopPropagation();\n } else {\n event.dispatchCustomEvent(this, 'wje-menu-item:click');\n event.dispatchCustomEvent(this, this.dialog);\n }\n break;\n case 'CONTEXT':\n if (!this.collapse && this.hasSubmenu) {\n let submenuElements = this.submenu.assignedElements({ flatten: true })[0];\n if (submenuElements?.hasAttribute('active')) {\n this.shouldHideSubmenu(e);\n } else {\n this.activateSubmenu(e);\n this.showSubmenu(e);\n }\n } else {\n event.dispatchCustomEvent(this, 'wje-menu-item:click');\n event.dispatchCustomEvent(this, this.dialog);\n }\n\n break;\n }\n }\n\n /**\n * Checks if the submenu should be hidden based on the event.\n * @param {Event} e The event object.\n */\n shouldHideSubmenu = (e) => {\n if (this.collapse || (this.variant === 'CONTEXT' && this.hasSubmenu)) {\n if ((e.relatedTarget && this.contains(e.relatedTarget)) || (this.variant === 'NAV' && !this.collapse)) {\n return;\n }\n\n this.deactivateSubmenu();\n this.hideSubmenu();\n }\n };\n\n /**\n * Creates a tooltip for the MenuItem when it is collapsed.\n * @param {HTMLElement} native The native MenuItem element.\n * @returns {HTMLElement} The tooltip element.\n */\n collapseItem(native) {\n let tooltipStart = document.createElement('slot');\n tooltipStart.setAttribute('slot', 'start');\n tooltipStart.setAttribute('name', 'tooltip-start');\n\n let tooltipEnd = document.createElement('slot');\n tooltipEnd.setAttribute('slot', 'end');\n tooltipEnd.setAttribute('name', 'tooltip-end');\n\n let tooltip = document.createElement('wje-tooltip');\n tooltip.setAttribute('content', this.getTextFromElement(this));\n tooltip.setAttribute('placement', 'right');\n tooltip.setAttribute('offset', this.offset || '0');\n\n tooltip.appendChild(tooltipStart);\n tooltip.appendChild(tooltipEnd);\n tooltip.appendChild(native);\n\n return tooltip;\n }\n\n /**\n * Dispatches a mousemove event.\n */\n dispatchMove = (e) => {\n this.style.setProperty('--wje-menu-item-safe-triangle-cursor-x', `${e.clientX}px`);\n this.style.setProperty('--wje-menu-item-safe-triangle-cursor-y', `${e.clientY}px`);\n };\n\n /**\n * Dispatches a reposition event.\n */\n dispatchReposition = (e) => {\n // ak nemame submenu tak to ukoncime\n if (this.submenu.assignedNodes().length === 0) return;\n\n let submenu = this.submenu.assignedNodes()[0];\n const { left, top, width, height } = submenu.getBoundingClientRect();\n\n this.style.setProperty('--wje-menu-item-safe-triangle-submenu-start-x', `${left}px`);\n this.style.setProperty('--wje-menu-item-safe-triangle-submenu-start-y', `${top}px`);\n this.style.setProperty('--wje-menu-item-safe-triangle-submenu-end-x', `${left}px`);\n this.style.setProperty('--wje-menu-item-safe-triangle-submenu-end-y', `${top + height}px`);\n };\n\n /**\n * Shows the submenu of the MenuItem.\n */\n showSubmenu() {\n this.tabIndex = -1;\n if (this.hasSubmenu) {\n this.popup?.show();\n this.classList.add('expanded-submenu');\n this.native.classList.add('expanded-submenu');\n this.syncAria();\n }\n }\n\n /**\n * Hides the submenu of the MenuItem.\n */\n hideSubmenu() {\n this.tabIndex = 0;\n if (this.hasSubmenu) {\n this.popup?.hide();\n this.classList.remove('expanded-submenu');\n this.native.classList.remove('expanded-submenu');\n this.syncAria();\n }\n }\n\n /**\n * Toggles the active state of the submenu element.\n * If the submenu is not active, it sets the \"active\" attribute.\n * If the submenu is already active, it removes the \"active\" attribute.\n * @param {Event} e The event object.\n */\n submenuToggle(e) {\n if (this.hasSubmenu) {\n let submenuElements = this.submenu.assignedElements({ flatten: true })[0];\n if (!submenuElements.hasAttribute('active')) {\n submenuElements.setAttribute('active', '');\n this.syncAria();\n } else {\n if (this === e.target) submenuElements.removeAttribute('active');\n this.syncAria();\n }\n }\n }\n\n /**\n * Deactivates the submenu by removing the \"active\" attribute.\n */\n deactivateSubmenu() {\n if (this.hasSubmenu) {\n let submenuElements = this.submenu.assignedElements({ flatten: true })[0];\n if (submenuElements?.hasAttribute('active')) {\n submenuElements?.removeAttribute('active');\n this.syncAria();\n }\n }\n }\n\n /**\n * Activates the submenu of the menu item.\n */\n activateSubmenu() {\n if (this.hasSubmenu) {\n let submenuElements = this.submenu.assignedElements({ flatten: true })[0];\n if (!submenuElements?.hasAttribute('active')) {\n submenuElements?.setAttribute('active', '');\n this.syncAria();\n }\n }\n }\n\n /**\n * Gets the text from the element and returns it.\n */\n beforeDisconnect() {\n document.removeEventListener('wje-router:rebind', this.rebindRouterLinks);\n\n this.removeEventListener('mousemove', this.dispatchMove);\n this.removeEventListener('wje-popup:reposition', this.dispatchReposition);\n\n event.removeListener(this, 'mouseenter', null, this.mouseenterHandler);\n event.removeListener(this, 'mouseleave', null, this.shouldHideSubmenu);\n event.removeListener(this, 'focusout', null, this.shouldHideSubmenu);\n event.removeListener(this, 'click', null, this.clickHandler);\n\n this.unbindRouterLinks?.();\n this.unbindPortalRouterLinks?.();\n }\n\n /**\n * Extracts and returns the concatenated text content from all text nodes within the specified element.\n * @param {HTMLElement} element The HTML element from which to extract text content.\n * @returns {string} The concatenated and trimmed text content from the element's text nodes.\n */\n getTextFromElement(element) {\n let text = '';\n for (let node of element.childNodes) {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n }\n return text.trim();\n }\n\n /**\n * Dispatches a custom event with specified parameters.\n * This method uses the `customEvent` and `customEventParameters` properties\n * to create and dispatch a `CustomEvent`. The event is configured to be\n * composed and bubbles up through the DOM.\n * @returns {void} This method does not return a value.\n */\n #populateCustomEvent() {\n this.dispatchEvent(\n new CustomEvent(this.customEvent, { detail: this.customEventParameters, composed: true, bubbles: true })\n );\n }\n\n handleActiveClick = (e) => {\n const target = e.target.closest('wje-menu-item');\n if (!target) return;\n\n let rootMenu = target.closest('wje-menu');\n let currentMenu = rootMenu;\n\n // Nájdite najvyšší rodičovský wje-menu, ktorý obsahuje tento menu-item\n while (currentMenu?.parentElement) {\n const parent = currentMenu.parentElement.closest?.('wje-menu');\n if (!parent) break;\n rootMenu = parent;\n currentMenu = parent;\n }\n\n // Ak je item v portálovanom submenu, pôvodný closest nemusí nájsť root menu.\n // Skúsime ho získať z composedPath a vystúpiť na najvyšší <wje-menu>.\n if (!rootMenu) {\n const path = typeof e.composedPath === 'function' ? e.composedPath() : [];\n let firstMenuInPath = path.find(n => n && n.tagName === 'WJE-MENU');\n if (firstMenuInPath) {\n let top = firstMenuInPath;\n while (top && top.parentElement) {\n const parent = top.parentElement.closest?.('wje-menu');\n if (!parent) break;\n top = parent;\n }\n rootMenu = top;\n }\n }\n\n // Ak stále nemáme rootMenu, nevieme kde aplikovať active-class\n if (!rootMenu) return;\n\n // Odstráň všetky existujúce triedy z predchádzajúcich kliknutí\n rootMenu.querySelectorAll('wje-menu-item').forEach(item => {\n const activeClass = item.getAttribute('active-class');\n if (activeClass) item.classList.remove(activeClass);\n });\n\n // Pridaj active-class všetkým nadradeným menu-itemom vrátane targetu\n let current = target;\n while (current && current.tagName === 'WJE-MENU-ITEM') {\n const activeClass = current.getAttribute('active-class');\n if (activeClass) current.classList.add(activeClass);\n\n // nájdi najbližší parent wje-menu\n const parentMenu = current.closest('wje-menu');\n if (!parentMenu) break;\n\n // pokračuj na menu-item, ktorý má ako submenu tento parentMenu\n const candidate = parentMenu.closest('wje-menu-item');\n if (!candidate) break;\n\n current = candidate;\n }\n }\n}\n","import MenuItem from './menu-item.element.js';\n\nexport default MenuItem;\n\nMenuItem.define('wje-menu-item', MenuItem);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wje-menu-item.js","sources":["../packages/wje-menu-item/menu-item.element.js","../packages/wje-menu-item/menu-item.js"],"sourcesContent":["import { bindRouterLinks } from 'slick-router/middlewares/router-links.js';\n\nimport { default as WJElement, event, WjElementUtils } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `MenuItem` is a custom web component that represents a menu item.\n * @summary This element represents a menu item.\n * @documentation https://elements.webjet.sk/components/menu-item\n * @status stable\n * @augments {WJElement}\n * @csspart native - The native part of the menu item.\n * @csspart submenu - The submenu part of the menu item.\n * @slot - The default slot for the menu item.\n * @slot start - The slot for the start of the menu item.\n * @slot end - The slot for the end of the menu item.\n * @slot submenu - The slot for the submenu of the menu item.\n * @cssproperty [--wje-menu-item-color=var(--wje-color)] - Sets the text color of a menu item. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-background=transparent] - Defines the background color of a menu item. Default is `transparent`. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-color-hover=var(--wje-color-contrast-8)] - Specifies the text color of a menu item when hovered. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-background-hover=var(--wje-border-color)] - Sets the background color of a menu item when hovered. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-color-focus=var(--wje-color-contrast-8)] - Defines the text color of a menu item when focused. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-background-focus=var(--wje-border-color)] - Specifies the background color of a menu item when focused. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-color-active=var(--wje-color-contrast-8)] - Sets the text color of a menu item when active. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-background-active=var(--wje-border-color)] - Specifies the background color of a menu item when active. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-item-padding-top=.5rem] - Specifies the top padding inside a menu item. Accepts any valid CSS length value (e.g., `px`, `rem`).\n * @cssproperty [--wje-menu-item-padding-bottom=.5rem] - Specifies the bottom padding inside a menu item. Accepts any valid CSS length value (e.g., `px`, `rem`).\n * @cssproperty [--wje-menu-item-line-height=1.8rem] - Sets the line height for the text within a menu item. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-submenu-offset=0] - Determines the horizontal offset of a submenu relative to its parent. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-item-icon-visibility=hidden] - Controls the visibility of the icon in a menu item. Accepts `visible`, `hidden`, or `collapse`.\n * @cssproperty [--wje-menu-item-safe-triangle-cursor-x] - Specifies the x-coordinate of the cursor for the safe triangle area. Used for managing hover or focus transitions between menu items and submenus.\n * @cssproperty [--wje-menu-item-safe-triangle-cursor-y] - Specifies the y-coordinate of the cursor for the safe triangle area.\n * @cssproperty [--wje-menu-item-safe-triangle-submenu-start-x] - Defines the x-coordinate where the submenu's safe triangle starts. Helps prevent accidental submenu closing when navigating.\n * @cssproperty [--wje-menu-item-safe-triangle-submenu-start-y] - Defines the y-coordinate where the submenu's safe triangle starts.\n * @cssproperty [--wje-menu-item-safe-triangle-submenu-end-x] - Specifies the x-coordinate where the submenu's safe triangle ends.\n * @cssproperty [--wje-menu-item-safe-triangle-submenu-end-y] - Specifies the y-coordinate where the submenu's safe triangle ends.\n * @tag wje-menu-item\n */\nexport default class MenuItem extends WJElement {\n /**\n * Constructor for MenuItem class.\n * @class\n */\n constructor() {\n super();\n\n this._bind = false;\n\n }\n\n /**\n * Getter for placement attribute.\n * @returns {string} The placement attribute of the menu or \"right-start\" if it doesn't exist.\n */\n get placement() {\n let menu = this.querySelector('wje-menu');\n\n if (menu?.hasAttribute('placement')) {\n return menu.getAttribute('placement');\n }\n return 'right-start';\n }\n\n /**\n * Getter for offset attribute.\n * @returns {string} The offset attribute of the menu or \"0\" if it doesn't exist.\n */\n get offset() {\n let menu = this.querySelector('wje-menu');\n\n if (menu?.hasAttribute('offset')) {\n return menu.getAttribute('offset');\n }\n return '0';\n }\n\n /**\n * Getter for variant attribute.\n * @returns {string} The variant attribute of the menu or \"CONTEXT\" if it doesn't exist.\n */\n get variant() {\n let menu = this.querySelector('wje-menu');\n\n if (menu?.hasAttribute('variant') && !this.collapse) {\n return menu.getAttribute('variant').toUpperCase();\n }\n\n return 'CONTEXT';\n }\n\n /**\n * Getter for collapse attribute.\n * @returns {boolean} True if the closest parent has the collapse attribute, false otherwise.\n */\n get collapse() {\n if (this.closest('[collapse]')) return true;\n\n return false;\n }\n\n /**\n * Sets the value of the custom event attribute.\n * @param {string} value The value to be assigned to the custom event attribute.\n */\n set customEvent(value) {\n this.setAttribute('custom-event', value);\n }\n\n /**\n * Retrieves the value of the 'custom-event' attribute from the element.\n * @returns {string | null} The value of the 'custom-event' attribute, or null if the attribute is not set.\n */\n get customEvent() {\n return this.getAttribute('custom-event');\n }\n\n /**\n * Retrieves a mapped object containing custom event parameters extracted from the element's attributes.\n * Attributes considered are those that begin with 'custom-event-'.\n * The mapped object's keys are derived by removing the 'custom-event-' prefix from the attribute names,\n * and the values are the corresponding attribute values.\n * @returns {object} An object containing key-value pairs of custom event parameters.\n */\n get customEventParameters() {\n const attributes = Array.from(this.attributes).filter((attr) => attr.name.startsWith('custom-event-'));\n\n return attributes.reduce((acc, attr) => {\n const key = attr.name.replace('custom-event-', '');\n acc[key] = attr.value;\n\n return acc;\n }, {});\n }\n\n className = 'MenuItem';\n\n /**\n * Getter for cssStyleSheet.\n * @returns {string} The styles imported from styles.css.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for observedAttributes.\n * @returns {Array} An empty array as no attributes are being observed.\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Sets up the attributes for the MenuItem element.\n */\n setupAttributes() {\n super.setupAttributes();\n this.isShadowRoot = 'open';\n this.syncAria();\n }\n\n /**\n * Removes the active attribute from the menu before drawing the MenuItem.\n */\n beforeDraw() {\n this.querySelector('wje-menu')?.removeAttribute('active');\n }\n\n /**\n * Draws the MenuItem element and sets the variant and collapse attributes.\n * @returns {DocumentFragment} The fragment to be appended to the MenuItem.\n */\n draw() {\n this.hasSubmenu = WjElementUtils.hasSlot(this, 'submenu');\n\n let fragment = document.createDocumentFragment();\n\n this.setAttribute('tabindex', '0');\n\n this.classList.forEach((className) => {\n // Ak trieda začína na \"wje-menu-variant-\", odstráňte ju\n if (className.startsWith('wje-menu-variant-')) {\n this.classList.remove(className);\n }\n });\n\n this.classList.remove('collapse');\n this.classList.add('wje-menu-variant-' + this.variant.toLowerCase());\n\n if (!this.collapse) {\n this.querySelector('wje-menu')?.setAttribute('variant', this.variant.toLowerCase());\n } else if (this.parentElement?.hasAttribute('collapse')) {\n this.classList.add('collapse');\n }\n\n let native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.setAttribute('id', 'anchor');\n native.classList.add('native-menu-item');\n\n // CHECKED - Icon\n let checkedIcon = document.createElement('span');\n checkedIcon.setAttribute('part', 'check');\n checkedIcon.classList.add('check-icon');\n checkedIcon.innerHTML = `<wje-icon name=\"check\"></wje-icon>`;\n\n if (this.hasAttribute('checked')) checkedIcon.classList.add('checked');\n else checkedIcon.classList.remove('checked');\n\n // SLOT - Start\n let start = document.createElement('slot');\n start.name = 'start';\n\n // SLOT\n let slot = document.createElement('slot');\n slot.classList.add('label');\n\n // SLOT - End\n let end = document.createElement('slot');\n end.setAttribute('part', 'end');\n end.name = 'end';\n\n // SLOT - Submenu\n let submenu = document.createElement('slot');\n submenu.setAttribute('part', 'submenu');\n submenu.name = 'submenu';\n\n // SUBMENU - Icon\n let submenuIconClass = this.collapse ? 'collapse' : 'expand';\n let submenuIcon = document.createElement('span');\n submenuIcon.setAttribute('part', 'submenu-icon');\n submenuIcon.classList.add('submenu-icon', submenuIconClass);\n submenuIcon.innerHTML = this.collapse\n ? `<wje-icon name=\"chevron-down\"></wje-icon>`\n : `<wje-icon name=\"chevron-right\"></wje-icon>`;\n\n if (this.hasSubmenu) native.classList.add('has-submenu');\n else native.classList.remove('has-submenu');\n\n native.appendChild(checkedIcon);\n native.appendChild(start);\n native.appendChild(slot);\n native.appendChild(end);\n native.appendChild(submenuIcon);\n\n let isAppend = false;\n // ak je variant typu CONTEXT zobrazime submenu ako popup\n if (this.variant === 'CONTEXT' && this.hasSubmenu) {\n native.setAttribute('slot', 'anchor'); // pridame slot anchor pre popup\n\n let popup = document.createElement('wje-popup');\n popup.setAttribute('anchor', 'anchor');\n popup.setAttribute('placement', this.placement);\n popup.setAttribute('offset', this.offset);\n\n popup.appendChild(native);\n popup.appendChild(submenu);\n\n this.popup = popup;\n fragment.appendChild(popup);\n isAppend = true;\n }\n\n if (this.parentElement?.hasAttribute('collapse') && !this.hasSubmenu) {\n fragment.appendChild(this.collapseItem(native));\n } else if (!isAppend) {\n fragment.appendChild(native);\n }\n\n if ((!this.collapse && this.variant === 'NAV') || (this.variant === 'MEGAMENU' && this.hasSubmenu)) {\n fragment.appendChild(submenu);\n }\n\n this.native = native;\n this.submenu = submenu;\n\n this.syncAria();\n return fragment;\n }\n\n /**\n * Adds event listeners after drawing the MenuItem.\n */\n afterDraw() {\n this.bindRouterLinks();\n if (!this.unbindRouterLinks) {\n queueMicrotask(() => this.bindRouterLinks());\n }\n\n document.addEventListener('wje-router:rebind', this.rebindRouterLinks);\n\n this.addEventListener('mousemove', this.dispatchMove);\n this.addEventListener('wje-popup:reposition', this.dispatchReposition);\n\n // Event na zobrazenie submenu\n event.addListener(this, 'mouseenter', null, this.mouseenterHandler);\n // Event na zrusenie zobrazenia submenu ked sa klikne mimo\n event.addListener(this, 'mouseleave', null, this.shouldHideSubmenu);\n // Event na zrusenie zobrazenia submenu ked sa klikne mimo\n event.addListener(this, 'focusout', null, this.shouldHideSubmenu);\n event.addListener(this, 'click', null, this.clickHandler);\n\n if (this.hasAttribute('custom-event')) {\n event.addListener(this, 'click', null, this.#populateCustomEvent);\n }\n\n if(this.hasAttribute('active-class')) {\n this.addEventListener('click', this.handleActiveClick);\n }\n }\n\n /**\n * Syncs ARIA attributes based on menu item state.\n */\n syncAria() {\n const hasSubmenu = !!this.hasSubmenu;\n const expanded = this.classList.contains('expanded-submenu') || this.native?.classList?.contains('expanded-submenu');\n const disabled = this.hasAttribute('disabled');\n\n this.setAriaState({\n role: 'menuitem',\n disabled,\n haspopup: hasSubmenu ? 'menu' : undefined,\n expanded: hasSubmenu ? expanded : undefined,\n });\n }\n\n mouseenterHandler = (e) => {\n if (this.collapse || (this.variant === 'CONTEXT' && this.hasSubmenu)) {\n if (this.hasAttribute('manual') || (this.variant === 'NAV' && this.collapse)) return;\n\n this.activateSubmenu(e);\n\n e.stopPropagation();\n\n this.showSubmenu();\n }\n };\n\n rebindRouterLinks = (e) => {\n const container = e?.detail?.container;\n if (!container) return;\n\n this.unbindPortalRouterLinks?.();\n this.unbindPortalRouterLinks = bindRouterLinks(container, { selector: '[route]' });\n }\n\n bindRouterLinks() {\n const parent = this.parentElement;\n if (!parent) return;\n\n this.unbindRouterLinks?.();\n this.unbindRouterLinks = bindRouterLinks(parent, { selector: '[route]' });\n }\n\n /**\n * Handles the click event on the MenuItem.\n * @param {object} e\n */\n clickHandler = (e) => {\n if (this.hasAttribute('disabled')) return;\n switch (this.variant) {\n case 'NAV':\n if (!this.collapse && this.hasSubmenu) {\n this.submenuToggle(e);\n this.hideSubmenu();\n e.stopPropagation();\n } else {\n event.dispatchCustomEvent(this, 'wje-menu-item:click');\n event.dispatchCustomEvent(this, this.dialog);\n }\n break;\n case 'CONTEXT':\n if (!this.collapse && this.hasSubmenu) {\n let submenuElements = this.submenu.assignedElements({ flatten: true })[0];\n if (submenuElements?.hasAttribute('active')) {\n this.shouldHideSubmenu(e);\n } else {\n this.activateSubmenu(e);\n this.showSubmenu(e);\n }\n } else {\n event.dispatchCustomEvent(this, 'wje-menu-item:click');\n event.dispatchCustomEvent(this, this.dialog);\n }\n\n break;\n }\n }\n\n /**\n * Checks if the submenu should be hidden based on the event.\n * @param {Event} e The event object.\n */\n shouldHideSubmenu = (e) => {\n if (this.collapse || (this.variant === 'CONTEXT' && this.hasSubmenu)) {\n if ((e.relatedTarget && this.contains(e.relatedTarget)) || (this.variant === 'NAV' && !this.collapse)) {\n return;\n }\n\n this.deactivateSubmenu();\n this.hideSubmenu();\n }\n };\n\n /**\n * Creates a tooltip for the MenuItem when it is collapsed.\n * @param {HTMLElement} native The native MenuItem element.\n * @returns {HTMLElement} The tooltip element.\n */\n collapseItem(native) {\n let tooltipStart = document.createElement('slot');\n tooltipStart.setAttribute('slot', 'start');\n tooltipStart.setAttribute('name', 'tooltip-start');\n\n let tooltipEnd = document.createElement('slot');\n tooltipEnd.setAttribute('slot', 'end');\n tooltipEnd.setAttribute('name', 'tooltip-end');\n\n let tooltip = document.createElement('wje-tooltip');\n tooltip.setAttribute('content', this.getTextFromElement(this));\n tooltip.setAttribute('placement', 'right');\n tooltip.setAttribute('offset', this.offset || '0');\n\n tooltip.appendChild(tooltipStart);\n tooltip.appendChild(tooltipEnd);\n tooltip.appendChild(native);\n\n return tooltip;\n }\n\n /**\n * Dispatches a mousemove event.\n */\n dispatchMove = (e) => {\n this.style.setProperty('--wje-menu-item-safe-triangle-cursor-x', `${e.clientX}px`);\n this.style.setProperty('--wje-menu-item-safe-triangle-cursor-y', `${e.clientY}px`);\n };\n\n /**\n * Dispatches a reposition event.\n */\n dispatchReposition = (e) => {\n // ak nemame submenu tak to ukoncime\n if (this.submenu.assignedNodes().length === 0) return;\n\n let submenu = this.submenu.assignedNodes()[0];\n const { left, top, width, height } = submenu.getBoundingClientRect();\n\n this.style.setProperty('--wje-menu-item-safe-triangle-submenu-start-x', `${left}px`);\n this.style.setProperty('--wje-menu-item-safe-triangle-submenu-start-y', `${top}px`);\n this.style.setProperty('--wje-menu-item-safe-triangle-submenu-end-x', `${left}px`);\n this.style.setProperty('--wje-menu-item-safe-triangle-submenu-end-y', `${top + height}px`);\n };\n\n /**\n * Shows the submenu of the MenuItem.\n */\n showSubmenu() {\n this.tabIndex = -1;\n if (this.hasSubmenu) {\n this.popup?.show();\n this.classList.add('expanded-submenu');\n this.native.classList.add('expanded-submenu');\n this.syncAria();\n }\n }\n\n /**\n * Hides the submenu of the MenuItem.\n */\n hideSubmenu() {\n this.tabIndex = 0;\n if (this.hasSubmenu) {\n this.popup?.hide();\n this.classList.remove('expanded-submenu');\n this.native.classList.remove('expanded-submenu');\n this.syncAria();\n }\n }\n\n /**\n * Toggles the active state of the submenu element.\n * If the submenu is not active, it sets the \"active\" attribute.\n * If the submenu is already active, it removes the \"active\" attribute.\n * @param {Event} e The event object.\n */\n submenuToggle(e) {\n if (this.hasSubmenu) {\n let submenuElements = this.submenu.assignedElements({ flatten: true })[0];\n if (!submenuElements.hasAttribute('active')) {\n submenuElements.setAttribute('active', '');\n this.syncAria();\n } else {\n if (this === e.target) submenuElements.removeAttribute('active');\n this.syncAria();\n }\n }\n }\n\n /**\n * Deactivates the submenu by removing the \"active\" attribute.\n */\n deactivateSubmenu() {\n if (this.hasSubmenu) {\n let submenuElements = this.submenu.assignedElements({ flatten: true })[0];\n if (submenuElements?.hasAttribute('active')) {\n submenuElements?.removeAttribute('active');\n this.syncAria();\n }\n }\n }\n\n /**\n * Activates the submenu of the menu item.\n */\n activateSubmenu() {\n if (this.hasSubmenu) {\n let submenuElements = this.submenu.assignedElements({ flatten: true })[0];\n if (!submenuElements?.hasAttribute('active')) {\n submenuElements?.setAttribute('active', '');\n this.syncAria();\n }\n }\n }\n\n /**\n * Gets the text from the element and returns it.\n */\n beforeDisconnect() {\n document.removeEventListener('wje-router:rebind', this.rebindRouterLinks);\n\n this.removeEventListener('mousemove', this.dispatchMove);\n this.removeEventListener('wje-popup:reposition', this.dispatchReposition);\n\n event.removeListener(this, 'mouseenter', null, this.mouseenterHandler);\n event.removeListener(this, 'mouseleave', null, this.shouldHideSubmenu);\n event.removeListener(this, 'focusout', null, this.shouldHideSubmenu);\n event.removeListener(this, 'click', null, this.clickHandler);\n\n this.unbindRouterLinks?.();\n this.unbindPortalRouterLinks?.();\n }\n\n /**\n * Extracts and returns the concatenated text content from all text nodes within the specified element.\n * @param {HTMLElement} element The HTML element from which to extract text content.\n * @returns {string} The concatenated and trimmed text content from the element's text nodes.\n */\n getTextFromElement(element) {\n let text = '';\n for (let node of element.childNodes) {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n }\n return text.trim();\n }\n\n /**\n * Dispatches a custom event with specified parameters.\n * This method uses the `customEvent` and `customEventParameters` properties\n * to create and dispatch a `CustomEvent`. The event is configured to be\n * composed and bubbles up through the DOM.\n * @returns {void} This method does not return a value.\n */\n #populateCustomEvent() {\n this.dispatchEvent(\n new CustomEvent(this.customEvent, { detail: this.customEventParameters, composed: true, bubbles: true })\n );\n }\n\n handleActiveClick = (e) => {\n const target = e.target.closest('wje-menu-item');\n if (!target) return;\n\n let rootMenu = target.closest('wje-menu');\n let currentMenu = rootMenu;\n\n // Nájdite najvyšší rodičovský wje-menu, ktorý obsahuje tento menu-item\n while (currentMenu?.parentElement) {\n const parent = currentMenu.parentElement.closest?.('wje-menu');\n if (!parent) break;\n rootMenu = parent;\n currentMenu = parent;\n }\n\n // Ak je item v portálovanom submenu, pôvodný closest nemusí nájsť root menu.\n // Skúsime ho získať z composedPath a vystúpiť na najvyšší <wje-menu>.\n if (!rootMenu) {\n const path = typeof e.composedPath === 'function' ? e.composedPath() : [];\n let firstMenuInPath = path.find(n => n && n.tagName === 'WJE-MENU');\n if (firstMenuInPath) {\n let top = firstMenuInPath;\n while (top && top.parentElement) {\n const parent = top.parentElement.closest?.('wje-menu');\n if (!parent) break;\n top = parent;\n }\n rootMenu = top;\n }\n }\n\n // Ak stále nemáme rootMenu, nevieme kde aplikovať active-class\n if (!rootMenu) return;\n\n // Odstráň všetky existujúce triedy z predchádzajúcich kliknutí\n rootMenu.querySelectorAll('wje-menu-item').forEach(item => {\n const activeClass = item.getAttribute('active-class');\n if (activeClass) item.classList.remove(activeClass);\n });\n\n // Pridaj active-class všetkým nadradeným menu-itemom vrátane targetu\n let current = target;\n while (current && current.tagName === 'WJE-MENU-ITEM') {\n const activeClass = current.getAttribute('active-class');\n if (activeClass) current.classList.add(activeClass);\n\n // nájdi najbližší parent wje-menu\n const parentMenu = current.closest('wje-menu');\n if (!parentMenu) break;\n\n // pokračuj na menu-item, ktorý má ako submenu tento parentMenu\n const candidate = parentMenu.closest('wje-menu-item');\n if (!candidate) break;\n\n current = candidate;\n }\n }\n}\n","import MenuItem from './menu-item.element.js';\n\nexport default MenuItem;\n\nMenuItem.define('wje-menu-item', MenuItem);\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wje-menu-label.js","sources":["../packages/wje-menu-label/menu-label.element.js","../packages/wje-menu-label/menu-label.js"],"sourcesContent":["import { default as WJElement, WjElementUtils } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `MenuLabel` is a custom web component that represents a menu label.\n * @summary This element represents a menu label.\n * @documentation https://elements.webjet.sk/components/menu-label\n * @status stable\n * @augments {WJElement}\n * @csspart native - The native part of the menu label.\n * @slot - The default slot for the menu label.\n * @cssproperty [--wje-menu-label-font-size=.75rem] - Sets the font size of the menu label. Accepts any valid CSS length unit (e.g., `rem`, `px`, `em`).\n * @cssproperty [--wje-menu-label-weight=600] - Specifies the font weight of the menu label. Accepts values such as `normal`, `bold`, or numeric values (e.g., `400`, `600`).\n * @cssproperty [--wje-letter-spacing=.025rem] - Defines the spacing between letters in the menu label. Accepts any valid CSS length unit. Default value ensures slight spacing for improved readability.\n * @cssproperty [--wje-menu-label-color=var(--wje-color-contrast-6)] - Specifies the text color of the menu label. Accepts any valid CSS color value, including variables and named colors.\n * @cssproperty [--wje-padding-top=0] - Sets the top padding of the menu label. Accepts any valid CSS length value to control spacing above the label.\n * @cssproperty [--wje-padding-bottom=0] - Sets the bottom padding of the menu label. Accepts any valid CSS length value to control spacing below the label.\n * @cssproperty [--wje-padding-start=1.5rem] - Specifies the left padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the right padding. Accepts any valid CSS length value.\n * @cssproperty [--wje-padding-end=1.5rem] - Specifies the right padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the left padding. Accepts any valid CSS length value.\n * @tag wje-menu-label\n */\n\nexport default class MenuLabel extends WJElement {\n /**\n * Creates an instance of MenuLabel.\n * @class\n */\n constructor() {\n super();\n\n this.hasSubmenu = WjElementUtils.hasSlot(this, 'submenu');\n }\n\n className = 'MenuLabel';\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 [];\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 menu label.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n // SLOT\n let slot = document.createElement('slot');\n slot.setAttribute('part', 'native');\n slot.classList.add('native-menu-label');\n\n fragment.appendChild(slot);\n\n return fragment;\n }\n}\n","import MenuLabel from './menu-label.element.js';\n\nexport default MenuLabel;\n\nMenuLabel.define('wje-menu-label', MenuLabel);\n"],"names":[],"mappings":";;;;;;AAsBe,MAAM,kBAAkB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7C,cAAc;AACV,UAAO;AAKX,qCAAY;AAHR,SAAK,aAAa,eAAe,QAAQ,MAAM,SAAS;AAAA,EAChE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASI,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOI,WAAW,qBAAqB;AAC5B,WAAO,CAAE;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA,EAKI,kBAAkB;AACd,SAAK,eAAe;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMI,OAAO;AACH,QAAI,WAAW,SAAS,uBAAwB;AAGhD,QAAI,OAAO,SAAS,cAAc,MAAM;AACxC,SAAK,aAAa,QAAQ,QAAQ;AAClC,SAAK,UAAU,IAAI,mBAAmB;AAEtC,aAAS,YAAY,IAAI;AAEzB,WAAO;AAAA,EACf;AACA;ACxEA,UAAU,OAAO,kBAAkB,SAAS;"}
1
+ {"version":3,"file":"wje-menu-label.js","sources":["../packages/wje-menu-label/menu-label.element.js","../packages/wje-menu-label/menu-label.js"],"sourcesContent":["import { default as WJElement, WjElementUtils } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `MenuLabel` is a custom web component that represents a menu label.\n * @summary This element represents a menu label.\n * @documentation https://elements.webjet.sk/components/menu-label\n * @status stable\n * @augments {WJElement}\n * @csspart native - The native part of the menu label.\n * @slot - The default slot for the menu label.\n * @cssproperty [--wje-menu-label-font-size=.75rem] - Sets the font size of the menu label. Accepts any valid CSS length unit (e.g., `rem`, `px`, `em`).\n * @cssproperty [--wje-menu-label-weight=600] - Specifies the font weight of the menu label. Accepts values such as `normal`, `bold`, or numeric values (e.g., `400`, `600`).\n * @cssproperty [--wje-letter-spacing=.025rem] - Defines the spacing between letters in the menu label. Accepts any valid CSS length unit. Default value ensures slight spacing for improved readability.\n * @cssproperty [--wje-menu-label-color=var(--wje-color-contrast-6)] - Specifies the text color of the menu label. Accepts any valid CSS color value, including variables and named colors.\n * @cssproperty [--wje-padding-top=0] - Sets the top padding of the menu label. Accepts any valid CSS length value to control spacing above the label.\n * @cssproperty [--wje-padding-bottom=0] - Sets the bottom padding of the menu label. Accepts any valid CSS length value to control spacing below the label.\n * @cssproperty [--wje-padding-start=1.5rem] - Specifies the left padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the right padding. Accepts any valid CSS length value.\n * @cssproperty [--wje-padding-end=1.5rem] - Specifies the right padding of the menu label in left-to-right (LTR) layouts. In right-to-left (RTL) layouts, this becomes the left padding. Accepts any valid CSS length value.\n * @tag wje-menu-label\n */\n\nexport default class MenuLabel extends WJElement {\n /**\n * Creates an instance of MenuLabel.\n * @class\n */\n constructor() {\n super();\n\n this.hasSubmenu = WjElementUtils.hasSlot(this, 'submenu');\n }\n\n className = 'MenuLabel';\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 [];\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 menu label.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n // SLOT\n let slot = document.createElement('slot');\n slot.setAttribute('part', 'native');\n slot.classList.add('native-menu-label');\n\n fragment.appendChild(slot);\n\n return fragment;\n }\n}\n","import MenuLabel from './menu-label.element.js';\n\nexport default MenuLabel;\n\nMenuLabel.define('wje-menu-label', MenuLabel);\n"],"names":[],"mappings":";;;;;;AAsBe,MAAM,kBAAkB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7C,cAAc;AACV,UAAK;AAKT,qCAAY;AAHR,SAAK,aAAa,eAAe,QAAQ,MAAM,SAAS;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAW,qBAAqB;AAC5B,WAAO,CAAA;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB;AACd,SAAK,eAAe;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO;AACH,QAAI,WAAW,SAAS,uBAAsB;AAG9C,QAAI,OAAO,SAAS,cAAc,MAAM;AACxC,SAAK,aAAa,QAAQ,QAAQ;AAClC,SAAK,UAAU,IAAI,mBAAmB;AAEtC,aAAS,YAAY,IAAI;AAEzB,WAAO;AAAA,EACX;AACJ;ACxEA,UAAU,OAAO,kBAAkB,SAAS;"}
@@ -1 +1 @@
1
- {"version":3,"file":"wje-menu.js","sources":["../packages/wje-menu/menu.element.js","../packages/wje-menu/menu.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `Menu` is a custom web component that represents a menu.\n * It extends from `WJElement`.\n * @summary This element represents a menu.\n * @documentation https://elements.webjet.sk/components/menu\n * @status stable\n * @augments {WJElement}\n * @csspart native - The native part of the menu.\n * @slot - The default slot for the menu.\n * @cssproperty [--wje-menu-background=var(--wje-background)] - Defines the background color of the menu. Accepts any valid CSS color value, such as `#ffffff`, `rgb(255, 255, 255)`, or CSS variables.\n * @cssproperty [--wje-menu-border-width=1px] - Specifies the width of the menu's border. Accepts any valid CSS length value (e.g., `px`, `em`, `%`).\n * @cssproperty [--wje-menu-border-style=solid] - Sets the style of the menu's border. Common values include `solid`, `dashed`, `dotted`, etc.\n * @cssproperty [--wje-menu-border-color=var(--wje-border-color)] - Defines the color of the menu's border. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-border-radius=var(--wje-border-radius-small)] - Determines the radius of the menu's corners, creating rounded edges. Accepts any valid CSS length value (e.g., `px`, `%`).\n * @cssproperty [--wje-menu-padding-top=.5rem] - Specifies the top padding inside the menu. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-padding-bottom=.5rem] - Specifies the bottom padding inside the menu. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-padding-inline=0] - Sets the horizontal (left and right) padding inside the menu. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-margin-top=0] - Defines the top margin outside the menu. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-margin-bottom=0] - Defines the bottom margin outside the menu. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-margin-inline=0] - Specifies the horizontal (left and right) margin outside the menu. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-collapse-width=65px] - Sets the width of the menu when it is collapsed. This property is typically used to define the reduced size of the menu in collapsed state. Accepts any valid CSS length value.\n * @tag wje-menu\n */\nexport default class Menu extends WJElement {\n /**\n * Creates an instance of Menu.\n * @class\n */\n constructor() {\n super();\n }\n\n className = 'Menu';\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 ['active', 'collapse'];\n }\n\n /**\n * Sets up the attributes for the component.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n this.setAriaState({\n role: 'menu',\n });\n }\n\n /**\n * Draws the component for the menu.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n this.classList.remove('wje-menu-collapse');\n\n if (this.hasAttribute('collapse')) this.classList.add('wje-menu-collapse');\n\n let native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.classList.add('native-menu');\n\n let slot = document.createElement('slot');\n\n native.appendChild(slot);\n fragment.appendChild(native);\n\n return fragment;\n }\n\n /**\n * Refreshes the component after drawing.\n */\n afterDraw() {\n Array.from(this.children).forEach((child) => {\n if (child.tagName.includes('-')) child.refresh();\n });\n }\n\n /**\n * Cleans up the component before disconnecting.\n */\n beforeDisconnect() {\n this.context.innerHTML = '';\n }\n}\n","import Menu from './menu.element.js';\n\nexport default Menu;\n\nMenu.define('wje-menu', Menu);\n"],"names":[],"mappings":";;;;;AA0Be,MAAM,aAAa,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAKxC,cAAc;AACV,UAAO;AAGX,qCAAY;AAAA,EAFhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASI,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOI,WAAW,qBAAqB;AAC5B,WAAO,CAAC,UAAU,UAAU;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA,EAKI,kBAAkB;AACd,SAAK,eAAe;AACpB,SAAK,aAAa;AAAA,MACd,MAAM;AAAA,IAClB,CAAS;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMI,OAAO;AACH,QAAI,WAAW,SAAS,uBAAwB;AAEhD,SAAK,UAAU,OAAO,mBAAmB;AAEzC,QAAI,KAAK,aAAa,UAAU,EAAG,MAAK,UAAU,IAAI,mBAAmB;AAEzE,QAAI,SAAS,SAAS,cAAc,KAAK;AACzC,WAAO,aAAa,QAAQ,QAAQ;AACpC,WAAO,UAAU,IAAI,aAAa;AAElC,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,WAAO,YAAY,IAAI;AACvB,aAAS,YAAY,MAAM;AAE3B,WAAO;AAAA,EACf;AAAA;AAAA;AAAA;AAAA,EAKI,YAAY;AACR,UAAM,KAAK,KAAK,QAAQ,EAAE,QAAQ,CAAC,UAAU;AACzC,UAAI,MAAM,QAAQ,SAAS,GAAG,EAAG,OAAM,QAAS;AAAA,IAC5D,CAAS;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKI,mBAAmB;AACf,SAAK,QAAQ,YAAY;AAAA,EACjC;AACA;ACnGA,KAAK,OAAO,YAAY,IAAI;"}
1
+ {"version":3,"file":"wje-menu.js","sources":["../packages/wje-menu/menu.element.js","../packages/wje-menu/menu.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `Menu` is a custom web component that represents a menu.\n * It extends from `WJElement`.\n * @summary This element represents a menu.\n * @documentation https://elements.webjet.sk/components/menu\n * @status stable\n * @augments {WJElement}\n * @csspart native - The native part of the menu.\n * @slot - The default slot for the menu.\n * @cssproperty [--wje-menu-background=var(--wje-background)] - Defines the background color of the menu. Accepts any valid CSS color value, such as `#ffffff`, `rgb(255, 255, 255)`, or CSS variables.\n * @cssproperty [--wje-menu-border-width=1px] - Specifies the width of the menu's border. Accepts any valid CSS length value (e.g., `px`, `em`, `%`).\n * @cssproperty [--wje-menu-border-style=solid] - Sets the style of the menu's border. Common values include `solid`, `dashed`, `dotted`, etc.\n * @cssproperty [--wje-menu-border-color=var(--wje-border-color)] - Defines the color of the menu's border. Accepts any valid CSS color value.\n * @cssproperty [--wje-menu-border-radius=var(--wje-border-radius-small)] - Determines the radius of the menu's corners, creating rounded edges. Accepts any valid CSS length value (e.g., `px`, `%`).\n * @cssproperty [--wje-menu-padding-top=.5rem] - Specifies the top padding inside the menu. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-padding-bottom=.5rem] - Specifies the bottom padding inside the menu. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-padding-inline=0] - Sets the horizontal (left and right) padding inside the menu. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-margin-top=0] - Defines the top margin outside the menu. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-margin-bottom=0] - Defines the bottom margin outside the menu. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-margin-inline=0] - Specifies the horizontal (left and right) margin outside the menu. Accepts any valid CSS length value.\n * @cssproperty [--wje-menu-collapse-width=65px] - Sets the width of the menu when it is collapsed. This property is typically used to define the reduced size of the menu in collapsed state. Accepts any valid CSS length value.\n * @tag wje-menu\n */\nexport default class Menu extends WJElement {\n /**\n * Creates an instance of Menu.\n * @class\n */\n constructor() {\n super();\n }\n\n className = 'Menu';\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 ['active', 'collapse'];\n }\n\n /**\n * Sets up the attributes for the component.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n this.setAriaState({\n role: 'menu',\n });\n }\n\n /**\n * Draws the component for the menu.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n this.classList.remove('wje-menu-collapse');\n\n if (this.hasAttribute('collapse')) this.classList.add('wje-menu-collapse');\n\n let native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.classList.add('native-menu');\n\n let slot = document.createElement('slot');\n\n native.appendChild(slot);\n fragment.appendChild(native);\n\n return fragment;\n }\n\n /**\n * Refreshes the component after drawing.\n */\n afterDraw() {\n Array.from(this.children).forEach((child) => {\n if (child.tagName.includes('-')) child.refresh();\n });\n }\n\n /**\n * Cleans up the component before disconnecting.\n */\n beforeDisconnect() {\n this.context.innerHTML = '';\n }\n}\n","import Menu from './menu.element.js';\n\nexport default Menu;\n\nMenu.define('wje-menu', Menu);\n"],"names":[],"mappings":";;;;;AA0Be,MAAM,aAAa,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAKxC,cAAc;AACV,UAAK;AAGT,qCAAY;AAAA,EAFZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAW,qBAAqB;AAC5B,WAAO,CAAC,UAAU,UAAU;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB;AACd,SAAK,eAAe;AACpB,SAAK,aAAa;AAAA,MACd,MAAM;AAAA,IAClB,CAAS;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO;AACH,QAAI,WAAW,SAAS,uBAAsB;AAE9C,SAAK,UAAU,OAAO,mBAAmB;AAEzC,QAAI,KAAK,aAAa,UAAU,EAAG,MAAK,UAAU,IAAI,mBAAmB;AAEzE,QAAI,SAAS,SAAS,cAAc,KAAK;AACzC,WAAO,aAAa,QAAQ,QAAQ;AACpC,WAAO,UAAU,IAAI,aAAa;AAElC,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,WAAO,YAAY,IAAI;AACvB,aAAS,YAAY,MAAM;AAE3B,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AACR,UAAM,KAAK,KAAK,QAAQ,EAAE,QAAQ,CAAC,UAAU;AACzC,UAAI,MAAM,QAAQ,SAAS,GAAG,EAAG,OAAM,QAAO;AAAA,IAClD,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAmB;AACf,SAAK,QAAQ,YAAY;AAAA,EAC7B;AACJ;ACnGA,KAAK,OAAO,YAAY,IAAI;"}
@@ -41,6 +41,17 @@ const styles = `/*
41
41
  margin-block: 0;
42
42
  }
43
43
 
44
+ slot[name='check'] {
45
+ flex: 0 0 auto;
46
+ display: inline-flex;
47
+ align-items: center;
48
+ }
49
+
50
+ ::slotted([slot='check']) {
51
+ flex: 0 0 auto;
52
+ flex-shrink: 0;
53
+ }
54
+
44
55
  :host([selected]) {
45
56
  ::slotted([slot='check']) {
46
57
  visibility: visible;