wj-elements 0.1.131 → 0.1.132

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 (419) hide show
  1. package/dist/infinite-scroll.element-XVJukzjy.js +0 -1
  2. package/dist/list.element-Ce1vIm1O.js +0 -1
  3. package/dist/localize.js +0 -1
  4. package/dist/packages/index.d.ts +99 -0
  5. package/dist/packages/localize/localize.d.ts +17 -0
  6. package/dist/packages/translations/en-GB.d.ts +13 -0
  7. package/dist/packages/translations/sk-SK.d.ts +13 -0
  8. package/dist/packages/utils/animations.d.ts +2 -0
  9. package/dist/packages/utils/date.d.ts +1 -0
  10. package/dist/packages/utils/element-utils.d.ts +46 -0
  11. package/dist/packages/utils/event.d.ts +67 -0
  12. package/dist/packages/utils/localize.d.ts +4 -0
  13. package/dist/packages/utils/permissions-api.d.ts +34 -0
  14. package/dist/packages/utils/utils.d.ts +1 -0
  15. package/dist/packages/utils/wje-import-firefox.d.ts +0 -0
  16. package/dist/packages/utils/wje-import.d.ts +0 -0
  17. package/dist/packages/wje-accordion/accordion.d.ts +2 -0
  18. package/dist/packages/wje-accordion/accordion.element.d.ts +72 -0
  19. package/dist/packages/wje-accordion-item/accordion-item.d.ts +2 -0
  20. package/dist/packages/wje-accordion-item/accordion-item.element.d.ts +40 -0
  21. package/dist/packages/wje-animation/animation.d.ts +2 -0
  22. package/dist/packages/wje-animation/animation.element.d.ts +153 -0
  23. package/dist/packages/wje-animation/animation.test.d.ts +1 -0
  24. package/dist/packages/wje-aside/aside.d.ts +2 -0
  25. package/dist/packages/wje-aside/aside.element.d.ts +31 -0
  26. package/dist/packages/wje-avatar/avatar.d.ts +2 -0
  27. package/dist/packages/wje-avatar/avatar.element.d.ts +37 -0
  28. package/dist/packages/wje-avatar/service/service.d.ts +40 -0
  29. package/dist/packages/wje-badge/badge.d.ts +2 -0
  30. package/dist/packages/wje-badge/badge.element.d.ts +35 -0
  31. package/dist/packages/wje-badge/badge.test.d.ts +1 -0
  32. package/dist/packages/wje-breadcrumb/breadcrumb.d.ts +2 -0
  33. package/dist/packages/wje-breadcrumb/breadcrumb.element.d.ts +80 -0
  34. package/dist/packages/wje-breadcrumbs/breadcrumbs.d.ts +2 -0
  35. package/dist/packages/wje-breadcrumbs/breadcrumbs.element.d.ts +97 -0
  36. package/dist/packages/wje-breadcrumbs/breadcrumbs.test.d.ts +1 -0
  37. package/dist/packages/wje-button/button.d.ts +2 -0
  38. package/dist/packages/wje-button/button.element.d.ts +173 -0
  39. package/dist/packages/wje-button/button.test.d.ts +1 -0
  40. package/dist/packages/wje-button-group/button-group.d.ts +2 -0
  41. package/dist/packages/wje-button-group/button-group.element.d.ts +39 -0
  42. package/dist/packages/wje-card/card.d.ts +2 -0
  43. package/dist/packages/wje-card/card.element.d.ts +29 -0
  44. package/dist/packages/wje-card-content/card-content.d.ts +2 -0
  45. package/dist/packages/wje-card-content/card-content.element.d.ts +22 -0
  46. package/dist/packages/wje-card-controls/card-controls.d.ts +2 -0
  47. package/dist/packages/wje-card-controls/card-controls.element.d.ts +23 -0
  48. package/dist/packages/wje-card-header/card-header.d.ts +2 -0
  49. package/dist/packages/wje-card-header/card-header.element.d.ts +22 -0
  50. package/dist/packages/wje-card-subtitle/card-subtitle.d.ts +2 -0
  51. package/dist/packages/wje-card-subtitle/card-subtitle.element.d.ts +30 -0
  52. package/dist/packages/wje-card-title/card-title.d.ts +2 -0
  53. package/dist/packages/wje-card-title/card-title.element.d.ts +32 -0
  54. package/dist/packages/wje-carousel/carousel.d.ts +2 -0
  55. package/dist/packages/wje-carousel/carousel.element.d.ts +146 -0
  56. package/dist/packages/wje-carousel-item/carousel-item.d.ts +2 -0
  57. package/dist/packages/wje-carousel-item/carousel-item.element.d.ts +38 -0
  58. package/dist/packages/wje-checkbox/checkbox.d.ts +2 -0
  59. package/dist/packages/wje-checkbox/checkbox.element.d.ts +171 -0
  60. package/dist/packages/wje-chip/chip.d.ts +2 -0
  61. package/dist/packages/wje-chip/chip.element.d.ts +29 -0
  62. package/dist/packages/wje-col/col.d.ts +2 -0
  63. package/dist/packages/wje-col/col.element.d.ts +16 -0
  64. package/dist/packages/wje-color-picker/color-picker.d.ts +2 -0
  65. package/dist/packages/wje-color-picker/color-picker.element.d.ts +187 -0
  66. package/dist/packages/wje-container/container.d.ts +2 -0
  67. package/dist/packages/wje-container/container.element.d.ts +31 -0
  68. package/dist/packages/wje-copy-button/copy-button.d.ts +2 -0
  69. package/dist/packages/wje-copy-button/copy-button.element.d.ts +89 -0
  70. package/dist/packages/wje-copy-button/service/service.d.ts +12 -0
  71. package/dist/packages/wje-dialog/dialog.d.ts +2 -0
  72. package/dist/packages/wje-dialog/dialog.element.d.ts +116 -0
  73. package/dist/packages/wje-divider/divider.d.ts +2 -0
  74. package/dist/packages/wje-divider/divider.element.d.ts +32 -0
  75. package/dist/packages/wje-dropdown/dropdown.d.ts +2 -0
  76. package/dist/packages/wje-dropdown/dropdown.element.d.ts +85 -0
  77. package/dist/packages/wje-element/element.d.ts +312 -0
  78. package/dist/packages/wje-element/service/universal-service.d.ts +18 -0
  79. package/dist/packages/wje-file-upload/file-upload.d.ts +2 -0
  80. package/dist/packages/wje-file-upload/file-upload.element.d.ts +191 -0
  81. package/dist/packages/wje-file-upload/service/service.d.ts +70 -0
  82. package/dist/packages/wje-file-upload-item/file-upload-item.d.ts +2 -0
  83. package/dist/packages/wje-file-upload-item/file-upload-item.element.d.ts +62 -0
  84. package/dist/packages/wje-footer/footer.d.ts +2 -0
  85. package/dist/packages/wje-footer/footer.element.d.ts +28 -0
  86. package/dist/packages/wje-form/form.d.ts +2 -0
  87. package/dist/packages/wje-form/form.element.d.ts +28 -0
  88. package/dist/packages/wje-format-digital/format-digital.d.ts +2 -0
  89. package/dist/packages/wje-format-digital/format-digital.element.d.ts +87 -0
  90. package/dist/packages/wje-format-digital/format-digital.test.d.ts +1 -0
  91. package/dist/packages/wje-grid/grid.d.ts +2 -0
  92. package/dist/packages/wje-grid/grid.element.d.ts +26 -0
  93. package/dist/packages/wje-header/header.d.ts +2 -0
  94. package/dist/packages/wje-header/header.element.d.ts +35 -0
  95. package/dist/packages/wje-icon/icon.d.ts +2 -0
  96. package/dist/packages/wje-icon/icon.element.d.ts +40 -0
  97. package/dist/packages/wje-icon/service/service.d.ts +11 -0
  98. package/dist/packages/wje-icon-picker/icon-picker.d.ts +2 -0
  99. package/dist/packages/wje-icon-picker/icon-picker.element.d.ts +197 -0
  100. package/dist/packages/wje-img/img.d.ts +2 -0
  101. package/dist/packages/wje-img/img.element.d.ts +30 -0
  102. package/dist/packages/wje-img-comparer/img-comparer.d.ts +2 -0
  103. package/dist/packages/wje-img-comparer/img-comparer.element.d.ts +60 -0
  104. package/dist/packages/wje-img-comparer/service/service.d.ts +1 -0
  105. package/dist/packages/wje-infinite-scroll/infinite-scroll.d.ts +2 -0
  106. package/dist/packages/wje-infinite-scroll/infinite-scroll.element.d.ts +134 -0
  107. package/dist/packages/wje-input/input.d.ts +2 -0
  108. package/dist/packages/wje-input/input.element.d.ts +204 -0
  109. package/dist/packages/wje-input-file/input-file.d.ts +2 -0
  110. package/dist/packages/wje-input-file/input-file.element.d.ts +50 -0
  111. package/dist/packages/wje-item/item.d.ts +2 -0
  112. package/dist/packages/wje-item/item.element.d.ts +68 -0
  113. package/dist/packages/wje-kanban/kanban.d.ts +2 -0
  114. package/dist/packages/wje-kanban/kanban.element.d.ts +183 -0
  115. package/dist/packages/wje-label/label.d.ts +2 -0
  116. package/dist/packages/wje-label/label.element.d.ts +34 -0
  117. package/dist/packages/wje-list/list.d.ts +2 -0
  118. package/dist/packages/wje-list/list.element.d.ts +31 -0
  119. package/dist/packages/wje-main/main.d.ts +2 -0
  120. package/dist/packages/wje-main/main.element.d.ts +30 -0
  121. package/dist/packages/wje-masonry/masonry.d.ts +2 -0
  122. package/dist/packages/wje-masonry/masonry.element.d.ts +114 -0
  123. package/dist/packages/wje-masonry/service/service.d.ts +32 -0
  124. package/dist/packages/wje-menu/menu.d.ts +2 -0
  125. package/dist/packages/wje-menu/menu.element.d.ts +47 -0
  126. package/dist/packages/wje-menu-button/menu-button.d.ts +2 -0
  127. package/dist/packages/wje-menu-button/menu-button.element.d.ts +34 -0
  128. package/dist/packages/wje-menu-item/menu-item.d.ts +2 -0
  129. package/dist/packages/wje-menu-item/menu-item.element.d.ts +139 -0
  130. package/dist/packages/wje-menu-label/menu-label.d.ts +2 -0
  131. package/dist/packages/wje-menu-label/menu-label.element.d.ts +39 -0
  132. package/dist/packages/wje-option/option.d.ts +2 -0
  133. package/dist/packages/wje-option/option.element.d.ts +59 -0
  134. package/dist/packages/wje-options/options.d.ts +2 -0
  135. package/dist/packages/wje-options/options.element.d.ts +180 -0
  136. package/dist/packages/wje-orgchart/orgchart.d.ts +2 -0
  137. package/dist/packages/wje-orgchart/orgchart.element.d.ts +24 -0
  138. package/dist/packages/wje-orgchart-group/orgchart-group.d.ts +2 -0
  139. package/dist/packages/wje-orgchart-group/orgchart-group.element.d.ts +28 -0
  140. package/dist/packages/wje-orgchart-item/orgchart-item.d.ts +2 -0
  141. package/dist/packages/wje-orgchart-item/orgchart-item.element.d.ts +49 -0
  142. package/dist/packages/wje-panel/panel.d.ts +2 -0
  143. package/dist/packages/wje-panel/panel.element.d.ts +34 -0
  144. package/dist/packages/wje-popup/popup.d.ts +2 -0
  145. package/dist/packages/wje-popup/popup.element.d.ts +93 -0
  146. package/dist/packages/wje-progress-bar/progress-bar.d.ts +2 -0
  147. package/dist/packages/wje-progress-bar/progress-bar.element.d.ts +96 -0
  148. package/dist/packages/wje-qr-code/qr-code.d.ts +2 -0
  149. package/dist/packages/wje-qr-code/qr-code.element.d.ts +33 -0
  150. package/dist/packages/wje-radio/radio.d.ts +2 -0
  151. package/dist/packages/wje-radio/radio.element.d.ts +53 -0
  152. package/dist/packages/wje-radio-group/radio-group.d.ts +2 -0
  153. package/dist/packages/wje-radio-group/radio-group.element.d.ts +137 -0
  154. package/dist/packages/wje-rate/rate.d.ts +2 -0
  155. package/dist/packages/wje-rate/rate.element.d.ts +156 -0
  156. package/dist/packages/wje-relative-time/relative-time.d.ts +2 -0
  157. package/dist/packages/wje-relative-time/relative-time.element.d.ts +55 -0
  158. package/dist/packages/wje-relative-time/relative-time.test.d.ts +1 -0
  159. package/dist/packages/wje-reorder/reorder.d.ts +2 -0
  160. package/dist/packages/wje-reorder/reorder.element.d.ts +119 -0
  161. package/dist/packages/wje-reorder-dropzone/reorder-dropzone.d.ts +2 -0
  162. package/dist/packages/wje-reorder-dropzone/reorder-dropzone.element.d.ts +23 -0
  163. package/dist/packages/wje-reorder-handle/reorder-handle.d.ts +2 -0
  164. package/dist/packages/wje-reorder-handle/reorder-handle.element.d.ts +75 -0
  165. package/dist/packages/wje-reorder-item/reorder-item.d.ts +2 -0
  166. package/dist/packages/wje-reorder-item/reorder-item.element.d.ts +24 -0
  167. package/dist/packages/wje-route/route.d.ts +2 -0
  168. package/dist/packages/wje-route/route.element.d.ts +22 -0
  169. package/dist/packages/wje-router/router.d.ts +2 -0
  170. package/dist/packages/wje-router/router.element.d.ts +39 -0
  171. package/dist/packages/wje-router-link/router-link.d.ts +2 -0
  172. package/dist/packages/wje-router-link/router-link.element.d.ts +31 -0
  173. package/dist/packages/wje-router-outlet/router-outlet.d.ts +2 -0
  174. package/dist/packages/wje-router-outlet/router-outlet.element.d.ts +15 -0
  175. package/dist/packages/wje-row/row.d.ts +2 -0
  176. package/dist/packages/wje-row/row.element.d.ts +23 -0
  177. package/dist/packages/wje-select/select.d.ts +2 -0
  178. package/dist/packages/wje-select/select.element.d.ts +315 -0
  179. package/dist/packages/wje-slider/slider.d.ts +2 -0
  180. package/dist/packages/wje-slider/slider.element.d.ts +103 -0
  181. package/dist/packages/wje-split-view/service/service.d.ts +1 -0
  182. package/dist/packages/wje-split-view/split-view.d.ts +2 -0
  183. package/dist/packages/wje-split-view/split-view.element.d.ts +66 -0
  184. package/dist/packages/wje-status/status.d.ts +2 -0
  185. package/dist/packages/wje-status/status.element.d.ts +26 -0
  186. package/dist/packages/wje-step/step.d.ts +2 -0
  187. package/dist/packages/wje-step/step.element.d.ts +23 -0
  188. package/dist/packages/wje-stepper/stepper.d.ts +2 -0
  189. package/dist/packages/wje-stepper/stepper.element.d.ts +78 -0
  190. package/dist/packages/wje-store/default-store-actions.d.ts +20 -0
  191. package/dist/packages/wje-store/pubsub.d.ts +21 -0
  192. package/dist/packages/wje-store/store.d.ts +153 -0
  193. package/dist/packages/wje-tab/tab.d.ts +2 -0
  194. package/dist/packages/wje-tab/tab.element.d.ts +41 -0
  195. package/dist/packages/wje-tab-group/tab-group.d.ts +2 -0
  196. package/dist/packages/wje-tab-group/tab-group.element.d.ts +67 -0
  197. package/dist/packages/wje-tab-panel/tab-panel.d.ts +2 -0
  198. package/dist/packages/wje-tab-panel/tab-panel.element.d.ts +23 -0
  199. package/dist/packages/wje-textarea/textarea.d.ts +2 -0
  200. package/dist/packages/wje-textarea/textarea.element.d.ts +176 -0
  201. package/dist/packages/wje-thumbnail/thumbnail.d.ts +2 -0
  202. package/dist/packages/wje-thumbnail/thumbnail.element.d.ts +31 -0
  203. package/dist/packages/wje-timeline/timeline.d.ts +2 -0
  204. package/dist/packages/wje-timeline/timeline.element.d.ts +25 -0
  205. package/dist/packages/wje-timeline-item/timeline-item.d.ts +2 -0
  206. package/dist/packages/wje-timeline-item/timeline-item.element.d.ts +27 -0
  207. package/dist/packages/wje-toast/toast.d.ts +2 -0
  208. package/dist/packages/wje-toast/toast.element.d.ts +173 -0
  209. package/dist/packages/wje-toast/toast.test.d.ts +1 -0
  210. package/dist/packages/wje-toggle/toggle.d.ts +2 -0
  211. package/dist/packages/wje-toggle/toggle.element.d.ts +65 -0
  212. package/dist/packages/wje-toolbar/toolbar.d.ts +2 -0
  213. package/dist/packages/wje-toolbar/toolbar.element.d.ts +39 -0
  214. package/dist/packages/wje-toolbar-action/toolbar-action.d.ts +2 -0
  215. package/dist/packages/wje-toolbar-action/toolbar-action.element.d.ts +35 -0
  216. package/dist/packages/wje-tooltip/tooltip.d.ts +2 -0
  217. package/dist/packages/wje-tooltip/tooltip.element.d.ts +71 -0
  218. package/dist/packages/wje-visually-hidden/visually-hidden.d.ts +2 -0
  219. package/dist/packages/wje-visually-hidden/visually-hidden.element.d.ts +29 -0
  220. package/dist/{popup.element-4DNn6DjX.js → popup.element-tyYxow0p.js} +199 -80
  221. package/dist/router-links-CJnOdbas.js +0 -1
  222. package/dist/wje-accordion-item.js +0 -1
  223. package/dist/wje-accordion.js +0 -1
  224. package/dist/wje-animation.js +2 -5
  225. package/dist/wje-aside.js +0 -1
  226. package/dist/wje-avatar.js +0 -1
  227. package/dist/wje-badge.js +0 -1
  228. package/dist/wje-breadcrumb.js +0 -1
  229. package/dist/wje-breadcrumbs.js +0 -1
  230. package/dist/wje-button-group.js +0 -1
  231. package/dist/wje-button.js +0 -1
  232. package/dist/wje-card-content.js +0 -1
  233. package/dist/wje-card-controls.js +0 -1
  234. package/dist/wje-card-header.js +0 -1
  235. package/dist/wje-card-subtitle.js +0 -1
  236. package/dist/wje-card-title.js +0 -1
  237. package/dist/wje-card.js +0 -1
  238. package/dist/wje-carousel-item.js +0 -1
  239. package/dist/wje-carousel.js +0 -1
  240. package/dist/wje-checkbox.js +0 -1
  241. package/dist/wje-chip.js +0 -1
  242. package/dist/wje-col.js +0 -1
  243. package/dist/wje-color-picker.js +0 -1
  244. package/dist/wje-container.js +0 -1
  245. package/dist/wje-copy-button.js +0 -1
  246. package/dist/wje-dialog.js +29 -3
  247. package/dist/wje-divider.js +0 -1
  248. package/dist/wje-dropdown.js +1 -2
  249. package/dist/wje-element.js +0 -1
  250. package/dist/wje-fetchAndParseCSS.js +0 -1
  251. package/dist/wje-file-upload-item.js +0 -1
  252. package/dist/wje-file-upload.js +29 -14
  253. package/dist/wje-footer.js +0 -1
  254. package/dist/wje-form.js +0 -1
  255. package/dist/wje-format-digital.js +0 -1
  256. package/dist/wje-grid.js +0 -1
  257. package/dist/wje-header.js +0 -1
  258. package/dist/wje-icon-picker.js +1 -2
  259. package/dist/wje-icon.js +0 -1
  260. package/dist/wje-img-comparer.js +0 -1
  261. package/dist/wje-img.js +0 -1
  262. package/dist/wje-infinite-scroll.js +0 -1
  263. package/dist/wje-input-file.js +0 -1
  264. package/dist/wje-input.js +0 -1
  265. package/dist/wje-item.js +0 -1
  266. package/dist/wje-kanban.js +0 -1
  267. package/dist/wje-label.js +0 -1
  268. package/dist/wje-list.js +0 -1
  269. package/dist/wje-main.js +0 -1
  270. package/dist/wje-masonry.js +1 -3
  271. package/dist/wje-master.js +4 -9
  272. package/dist/wje-menu-button.js +0 -1
  273. package/dist/wje-menu-item.js +0 -1
  274. package/dist/wje-menu-label.js +0 -1
  275. package/dist/wje-menu.js +0 -1
  276. package/dist/wje-option.js +0 -1
  277. package/dist/wje-options.js +0 -1
  278. package/dist/wje-orgchart-group.js +0 -1
  279. package/dist/wje-orgchart-item.js +0 -1
  280. package/dist/wje-orgchart.js +0 -1
  281. package/dist/wje-popup.js +1 -2
  282. package/dist/wje-progress-bar.js +0 -1
  283. package/dist/wje-qr-code.js +2684 -2679
  284. package/dist/wje-radio-group.js +0 -1
  285. package/dist/wje-radio.js +0 -1
  286. package/dist/wje-rate.js +0 -1
  287. package/dist/wje-relative-time.js +0 -1
  288. package/dist/wje-reorder-dropzone.js +0 -1
  289. package/dist/wje-reorder-handle.js +0 -1
  290. package/dist/wje-reorder-item.js +0 -1
  291. package/dist/wje-reorder.js +0 -1
  292. package/dist/wje-route.js +0 -1
  293. package/dist/wje-router-link.js +0 -1
  294. package/dist/wje-router-outlet.js +0 -1
  295. package/dist/wje-routerx.js +0 -1
  296. package/dist/wje-row.js +0 -1
  297. package/dist/wje-select.js +1 -2
  298. package/dist/wje-slider.js +0 -1
  299. package/dist/wje-sliding-container.js +0 -1
  300. package/dist/wje-split-view.js +0 -1
  301. package/dist/wje-status.js +0 -1
  302. package/dist/wje-step.js +0 -1
  303. package/dist/wje-stepper.js +0 -1
  304. package/dist/wje-store.js +7 -7
  305. package/dist/wje-tab-group.js +0 -1
  306. package/dist/wje-tab-panel.js +0 -1
  307. package/dist/wje-tab.js +0 -1
  308. package/dist/wje-textarea.js +0 -1
  309. package/dist/wje-thumbnail.js +0 -1
  310. package/dist/wje-toast.js +0 -1
  311. package/dist/wje-toggle.js +0 -1
  312. package/dist/wje-toolbar-action.js +0 -1
  313. package/dist/wje-toolbar.js +0 -1
  314. package/dist/wje-tooltip.js +0 -1
  315. package/dist/wje-visually-hidden.js +0 -1
  316. package/package.json +20 -8
  317. package/dist/infinite-scroll.element-XVJukzjy.js.map +0 -1
  318. package/dist/list.element-Ce1vIm1O.js.map +0 -1
  319. package/dist/localize.js.map +0 -1
  320. package/dist/popup.element-4DNn6DjX.js.map +0 -1
  321. package/dist/router-links-CJnOdbas.js.map +0 -1
  322. package/dist/wje-accordion-item.js.map +0 -1
  323. package/dist/wje-accordion.js.map +0 -1
  324. package/dist/wje-animation.js.map +0 -1
  325. package/dist/wje-aside.js.map +0 -1
  326. package/dist/wje-avatar.js.map +0 -1
  327. package/dist/wje-badge.js.map +0 -1
  328. package/dist/wje-breadcrumb.js.map +0 -1
  329. package/dist/wje-breadcrumbs.js.map +0 -1
  330. package/dist/wje-button-group.js.map +0 -1
  331. package/dist/wje-button.js.map +0 -1
  332. package/dist/wje-card-content.js.map +0 -1
  333. package/dist/wje-card-controls.js.map +0 -1
  334. package/dist/wje-card-header.js.map +0 -1
  335. package/dist/wje-card-subtitle.js.map +0 -1
  336. package/dist/wje-card-title.js.map +0 -1
  337. package/dist/wje-card.js.map +0 -1
  338. package/dist/wje-carousel-item.js.map +0 -1
  339. package/dist/wje-carousel.js.map +0 -1
  340. package/dist/wje-checkbox.js.map +0 -1
  341. package/dist/wje-chip.js.map +0 -1
  342. package/dist/wje-col.js.map +0 -1
  343. package/dist/wje-color-picker.js.map +0 -1
  344. package/dist/wje-container.js.map +0 -1
  345. package/dist/wje-copy-button.js.map +0 -1
  346. package/dist/wje-dialog.js.map +0 -1
  347. package/dist/wje-divider.js.map +0 -1
  348. package/dist/wje-dropdown.js.map +0 -1
  349. package/dist/wje-element.js.map +0 -1
  350. package/dist/wje-fetchAndParseCSS.js.map +0 -1
  351. package/dist/wje-file-upload-item.js.map +0 -1
  352. package/dist/wje-file-upload.js.map +0 -1
  353. package/dist/wje-footer.js.map +0 -1
  354. package/dist/wje-form.js.map +0 -1
  355. package/dist/wje-format-digital.js.map +0 -1
  356. package/dist/wje-grid.js.map +0 -1
  357. package/dist/wje-header.js.map +0 -1
  358. package/dist/wje-icon-picker.js.map +0 -1
  359. package/dist/wje-icon.js.map +0 -1
  360. package/dist/wje-img-comparer.js.map +0 -1
  361. package/dist/wje-img.js.map +0 -1
  362. package/dist/wje-infinite-scroll.js.map +0 -1
  363. package/dist/wje-input-file.js.map +0 -1
  364. package/dist/wje-input.js.map +0 -1
  365. package/dist/wje-item.js.map +0 -1
  366. package/dist/wje-kanban.js.map +0 -1
  367. package/dist/wje-label.js.map +0 -1
  368. package/dist/wje-list.js.map +0 -1
  369. package/dist/wje-main.js.map +0 -1
  370. package/dist/wje-masonry.js.map +0 -1
  371. package/dist/wje-master.js.map +0 -1
  372. package/dist/wje-menu-button.js.map +0 -1
  373. package/dist/wje-menu-item.js.map +0 -1
  374. package/dist/wje-menu-label.js.map +0 -1
  375. package/dist/wje-menu.js.map +0 -1
  376. package/dist/wje-option.js.map +0 -1
  377. package/dist/wje-options.js.map +0 -1
  378. package/dist/wje-orgchart-group.js.map +0 -1
  379. package/dist/wje-orgchart-item.js.map +0 -1
  380. package/dist/wje-orgchart.js.map +0 -1
  381. package/dist/wje-popup.js.map +0 -1
  382. package/dist/wje-progress-bar.js.map +0 -1
  383. package/dist/wje-qr-code.js.map +0 -1
  384. package/dist/wje-radio-group.js.map +0 -1
  385. package/dist/wje-radio.js.map +0 -1
  386. package/dist/wje-rate.js.map +0 -1
  387. package/dist/wje-relative-time.js.map +0 -1
  388. package/dist/wje-reorder-dropzone.js.map +0 -1
  389. package/dist/wje-reorder-handle.js.map +0 -1
  390. package/dist/wje-reorder-item.js.map +0 -1
  391. package/dist/wje-reorder.js.map +0 -1
  392. package/dist/wje-route.js.map +0 -1
  393. package/dist/wje-router-link.js.map +0 -1
  394. package/dist/wje-router-outlet.js.map +0 -1
  395. package/dist/wje-routerx.js.map +0 -1
  396. package/dist/wje-row.js.map +0 -1
  397. package/dist/wje-select.js.map +0 -1
  398. package/dist/wje-slider.js.map +0 -1
  399. package/dist/wje-sliding-container.js.map +0 -1
  400. package/dist/wje-split-view.js.map +0 -1
  401. package/dist/wje-status.js.map +0 -1
  402. package/dist/wje-step.js.map +0 -1
  403. package/dist/wje-stepper.js.map +0 -1
  404. package/dist/wje-store.js.map +0 -1
  405. package/dist/wje-tab-group.js.map +0 -1
  406. package/dist/wje-tab-panel.js.map +0 -1
  407. package/dist/wje-tab.js.map +0 -1
  408. package/dist/wje-textarea.js.map +0 -1
  409. package/dist/wje-thumbnail.js.map +0 -1
  410. package/dist/wje-toast.js.map +0 -1
  411. package/dist/wje-toggle.js.map +0 -1
  412. package/dist/wje-toolbar-action.js.map +0 -1
  413. package/dist/wje-toolbar.js.map +0 -1
  414. package/dist/wje-tooltip.js.map +0 -1
  415. package/dist/wje-tree-item.js +0 -121
  416. package/dist/wje-tree-item.js.map +0 -1
  417. package/dist/wje-tree.js +0 -68
  418. package/dist/wje-tree.js.map +0 -1
  419. package/dist/wje-visually-hidden.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"popup.element-4DNn6DjX.js","sources":["../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../packages/wje-popup/popup.element.js"],"sourcesContent":["const sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n return {\n ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain positioning strategy.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n continue;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n ...rects.floating,\n x,\n y\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$map$so;\n const placement = (_overflowsData$map$so = overflowsData.map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: 0,\n crossAxis: 0,\n alignmentAxis: null,\n ...rawValue\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n const {\n x,\n y\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const overflowAvailableHeight = height - overflow[heightSide];\n const overflowAvailableWidth = width - overflow[widthSide];\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if (isYAxis) {\n const maximumClippingWidth = width - overflow.left - overflow.right;\n availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;\n } else {\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null ? void 0 : (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n // Browsers without `ShadowRoot` support.\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n const webkit = isWebKit();\n const css = getComputedStyle(element);\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = getParentNode(currentNode);\n }\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isWebKit };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getDocumentElement, getNodeName, isOverflowElement, getNodeScroll, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentIFrame = win.frameElement;\n while (currentIFrame && offsetParent && offsetWin !== win) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentIFrame = getWindow(currentIFrame).frameElement;\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n if (offsetParent === documentElement) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\nfunction getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n ...clippingAncestor,\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n return getCssDimensions(element);\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n return element.offsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const window = getWindow(element);\n if (!isHTMLElement(element)) {\n return window;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n return offsetParent || getContainingBlock(element) || window;\n}\n\nconst getElementRects = async function (_ref) {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n return {\n reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),\n floating: {\n x: 0,\n y: 0,\n ...(await getDimensionsFn(floating))\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n clearTimeout(timeoutId);\n io && io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 100);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n resizeObserver && resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo && cleanupIo();\n resizeObserver && resizeObserver.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain CSS positioning\n * strategy.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { autoUpdate, computePosition, platform };\n","import { arrow, autoUpdate, computePosition, flip, offset, size } from '@floating-ui/dom';\n\nimport { default as WJElement, event } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * `Popup` is a custom web component that represents a popup.\n * @summary This element represents a popup.\n * @documentation https://elements.webjet.sk/components/popup\n * @status stable\n * @augments {WJElement}\n * @csspart native - The native part of the popup.\n * @slot anchor - The slot for the anchor of the popup.\n * @slot arrow - The slot for the arrow of the popup.\n * @slot - The default slot for the popup.\n * // @fires wje-popup:reposition - Event fired when the popup is repositioned.\n * // @fires wje-popup:show - Event fired when the popup is shown.\n * // @fires wje-popup:hide - Event fired when the popup is hidden.\n * @tag wje-popup\n */\nexport default class Popup extends WJElement {\n /**\n * Creates an instance of Popup.\n * @class\n */\n constructor() {\n super();\n this._manual = false;\n }\n\n /**\n * Sets the manual property of the popup.\n * @param {boolean} value The value to set.\n */\n set manual(value) {\n this._manual = value;\n }\n\n /**\n * Gets the manual property of the popup.\n * @returns {boolean} The value of the manual property.\n */\n get manual() {\n if (this.hasAttribute('manual')) this._manual = true;\n\n return this._manual;\n }\n\n className = 'Popup';\n\n /**\n * Returns the CSS styles for the component.\n * @static\n * @returns {CSSStyleSheet} The CSS styles for the component.\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'];\n }\n\n /**\n * Sets up the attributes for the component.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Called when an attribute changes.\n */\n attributeChangedCallback(name, old, newName) {\n if (name === 'active') {\n if (this.hasAttribute(name)) {\n this.show();\n } else {\n this.hide();\n }\n }\n }\n\n afterDisconnect() {\n event.removeElement(this.anchorEl);\n document.removeEventListener('click', this.clickHandler, { capture: true });\n this.cleanup?.();\n }\n\n beforeDraw(context, store, params) {\n document.removeEventListener('click', this.clickHandler, { capture: true });\n this.cleanup?.();\n }\n\n /**\n * Draws the component for the popup.\n * @returns {DocumentFragment}\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let slotAnchor = document.createElement('slot');\n slotAnchor.setAttribute('name', 'anchor');\n\n let slotArrow = document.createElement('slot');\n slotArrow.setAttribute('name', 'arrow');\n\n let native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.classList.add('native-popup');\n\n let slot = document.createElement('slot');\n\n native.appendChild(slot);\n native.appendChild(slotArrow);\n\n fragment.appendChild(slotAnchor);\n fragment.appendChild(native);\n\n this.slotAnchor = slotAnchor;\n this.slotArrow = slotArrow;\n this.native = native;\n\n return fragment;\n }\n\n /**\n * After Draws the component.\n */\n afterDraw() {\n this.setAnchor();\n\n if (this.hasAttribute('active')) this.show(false);\n\n if (!this.hasAttribute('active')) this.hide(false);\n }\n\n /**\n * Sets the anchor for the popup.\n * Adds a click event listener to the anchor element.\n */\n setAnchor() {\n if (this.slotAnchor && typeof this.anchor === 'string') {\n const root = this.getRootNode();\n this.anchorEl = root.querySelector('#' + this.anchor);\n } else if (this.slotAnchor instanceof HTMLSlotElement) {\n this.anchorEl = this.slotAnchor.assignedElements({ flatten: true })[0];\n }\n\n if (this.manual) {\n event.addListener(\n this.anchorEl,\n 'click',\n null,\n (e) => {\n if (this.hasAttribute('disabled')) return;\n\n this.showHide();\n },\n { stopPropagation: true }\n );\n }\n\n document.removeEventListener('click', this.clickHandler, { capture: true });\n document.addEventListener('click', this.clickHandler, { capture: true });\n }\n\n clickHandler = (e) => {\n let clickToHost = e.composedPath().some((el) => el === this);\n\n if (!clickToHost) {\n if (this.hasAttribute('active')) this.removeAttribute('active');\n }\n };\n\n /**\n * Toggles the active attribute of the popup.\n */\n showHide() {\n if (this.hasAttribute('active')) {\n this.removeAttribute('active');\n } else {\n this.setAttribute('active', '');\n }\n }\n\n /**\n * Repositions the popup.\n * Uses the floating-ui library to compute the position.\n */\n reposition() {\n const middleware = [];\n\n this.offsetCalc = +this.offset || 0;\n\n if (this.slotArrow instanceof HTMLSlotElement) {\n this.arrow = this.slotArrow.assignedElements({ flatten: true })[0];\n\n if (this.arrow) {\n middleware.push(\n arrow({\n element: this.arrow,\n })\n );\n this.offsetCalc = Math.sqrt(2 * this.arrow.offsetWidth ** 2) / 2 + +this.offset;\n }\n }\n\n middleware.push(offset(this.offsetCalc));\n\n middleware.push(flip());\n\n if (this.hasAttribute('size')) {\n middleware.push(\n size({\n apply({ availableWidth, availableHeight, elements }) {\n Object.assign(elements.floating.style, {\n width: `${elements.reference.offsetWidth}px`,\n });\n },\n })\n );\n }\n\n computePosition(this.anchorEl, this.native, {\n placement: this.placement || 'bottom',\n strategy: 'fixed',\n middleware: middleware,\n }).then(({ x, y, middlewareData, placement, strategy }) => {\n this.native.style.setProperty('--wje-popup-left', x + 'px');\n this.native.style.setProperty('--wje-popup-top', y + 'px');\n\n this.native.style.position = strategy;\n\n if (this.arrow) {\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement];\n\n if (middlewareData.arrow) {\n const { width, height } = this.native.getBoundingClientRect();\n let osX = middlewareData.arrow.x;\n let osY = middlewareData.arrow.y;\n\n Object.assign(this.arrow.style, {\n left: osX !== null && osX !== undefined ? `${width / 2 - this.arrow.offsetWidth / 2}px` : '',\n top: osY !== null && osY !== undefined ? `${height / 2 - this.arrow.offsetHeight / 2}px` : '',\n [staticSide]: `${-this.arrow.offsetHeight / 2}px`,\n });\n }\n }\n });\n\n event.dispatchCustomEvent(this, 'wje-popup:reposition', {\n data: { top: 'bottom', right: 'left', bottom: 'top', left: 'right' },\n context: this,\n event: this,\n });\n }\n\n /**\n * Shows the popup.\n * Adds the popup-active class to the native element.\n * Sets up auto update for repositioning.\n */\n show(dispatchEvent = true) {\n if (dispatchEvent) {\n event.dispatchCustomEvent(this, 'wje-popup:show');\n }\n\n this.native.classList.add('popup-active');\n\n this.cleanup?.();\n this.cleanup = autoUpdate(this.anchorEl, this.native, () => {\n this.reposition();\n });\n\n if (!this.hasAttribute('active')) this.setAttribute('active', '');\n }\n\n /**\n * Hides the popup.\n * Removes the popup-active class from the native element.\n * Cleans up the auto update for repositioning.\n */\n hide(dispatchEvent = true) {\n if (dispatchEvent) {\n event.dispatchCustomEvent(this, 'wje-popup:hide');\n }\n\n this.native.classList.remove('popup-active');\n\n this.cleanup?.();\n this.cleanup = undefined;\n\n if (this.hasAttribute('active')) this.removeAttribute('active');\n }\n\n /**\n * Removes the active attribute when the popup is hidden.\n */\n handleHide = () => {\n this.removeAttribute('active');\n };\n}\n"],"names":["computePosition","platform","max","offset","side","placement","overflow","window"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"router-links-CJnOdbas.js","sources":["../node_modules/slick-router/lib/middlewares/router-links.js"],"sourcesContent":["const routerLinksData = Symbol('routerLinksData')\r\nconst linkContainers = new Set()\r\nlet router\r\n\r\n/**\r\n * @callback RoutePropCallback\r\n * @param {String} routeName\r\n * @param {HTMLElement} routeEl\r\n * @return {Object}\r\n *\r\n * @typedef {Object} RouterLinksOptions\r\n * @property {Object | RoutePropCallback} [params]\r\n * @property {Object | RoutePropCallback} [query]\r\n */\r\n\r\n// Make a event delegation handler for the given `eventName` and `selector`\r\n// and attach it to `el`.\r\n// If selector is empty, the listener will be bound to `el`. If not, a\r\n// new handler that will recursively traverse up the event target's DOM\r\n// hierarchy looking for a node that matches the selector. If one is found,\r\n// the event's `delegateTarget` property is set to it and the return the\r\n// result of calling bound `listener` with the parameters given to the\r\n// handler.\r\n\r\n/**\r\n * @param {HTMLElement} el\r\n * @param {String} eventName\r\n * @param {String} selector\r\n * @param {Function} listener\r\n * @param {*} context\r\n * @return {Function}\r\n */\r\nconst delegate = function (el, eventName, selector, listener, context) {\r\n const handler = function (e) {\r\n let node = e.target\r\n for (; node && node !== el; node = node.parentNode) {\r\n if (node.matches && node.matches(selector)) {\r\n e.selectorTarget = node\r\n listener.call(context, e)\r\n }\r\n }\r\n }\r\n\r\n handler.eventName = eventName\r\n el.addEventListener(eventName, handler, false)\r\n return handler\r\n}\r\n\r\nfunction isModifiedEvent(event) {\r\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey)\r\n}\r\n\r\nconst undelegate = function (el, handler) {\r\n const eventName = handler.eventName\r\n el.removeEventListener(eventName, handler, false)\r\n}\r\n\r\nconst camelize = (str) => {\r\n if (str.indexOf('-') === -1) return str\r\n const words = str.split('-')\r\n let result = ''\r\n for (let i = 0; i < words.length; i++) {\r\n const word = words[i]\r\n result += i ? word.charAt(0).toUpperCase() + word.slice(1) : word\r\n }\r\n return result\r\n}\r\n\r\nfunction mutationHandler(mutations, observer) {\r\n mutations.forEach(function (mutation) {\r\n if (mutation.type === 'attributes') {\r\n const attr = mutation.attributeName\r\n if (attr.indexOf('param-') === 0 || attr.indexOf('query-') === 0) {\r\n updateLink(mutation.target, observer.rootEl)\r\n }\r\n } else {\r\n mutation.addedNodes.forEach((node) => {\r\n if (node.nodeType === 1) {\r\n if (node.getAttribute('route')) updateLink(node, observer.rootEl)\r\n createLinks(observer.rootEl, node)\r\n }\r\n })\r\n }\r\n })\r\n}\r\n\r\nconst elementsObserverConfig = { childList: true, subtree: true, attributes: true }\r\n\r\nfunction getAttributeValues(el, prefix, result) {\r\n const attributes = el.attributes\r\n\r\n for (let i = 0; i < attributes.length; i++) {\r\n const attr = attributes[i]\r\n if (attr.name.indexOf(prefix) === 0) {\r\n const paramName = camelize(attr.name.slice(prefix.length))\r\n result[paramName] = attr.value\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction getDefaults(rootEl, routeName, propName, routeEl, options) {\r\n let result = options[propName]\r\n if (typeof result === 'function') result = result.call(rootEl, routeName, routeEl)\r\n return result || {}\r\n}\r\n\r\nfunction getRouteProp(rootEl, routeName, routeEl, propName, attrPrefix) {\r\n const options = rootEl[routerLinksData].options\r\n const defaults = getDefaults(rootEl, routeName, propName, routeEl, options)\r\n getAttributeValues(rootEl, attrPrefix, defaults)\r\n return getAttributeValues(routeEl, attrPrefix, defaults)\r\n}\r\n\r\nfunction updateActiveClass(el, routeName, params, query) {\r\n const activeClass = el.hasAttribute('active-class') ? el.getAttribute('active-class') : 'active'\r\n if (activeClass) {\r\n const isActive = router.isActive(routeName, params, query, el.hasAttribute('exact'))\r\n el.classList.toggle(activeClass, isActive)\r\n }\r\n}\r\n\r\nfunction updateLink(el, rootEl) {\r\n const routeName = el.getAttribute('route')\r\n if (!routeName) return\r\n const params = getRouteProp(rootEl, routeName, el, 'params', 'param-')\r\n const query = getRouteProp(rootEl, routeName, el, 'query', 'query-')\r\n try {\r\n const href = router.generate(routeName, params, query)\r\n const anchorEl = el.tagName === 'A' ? el : el.querySelector('a')\r\n if (anchorEl) anchorEl.setAttribute('href', href)\r\n if (!router.state.activeTransition) {\r\n updateActiveClass(el, routeName, params, query)\r\n }\r\n } catch (error) {\r\n console.warn(`Error generating link for \"${routeName}\": ${error}`)\r\n }\r\n}\r\n\r\n/**\r\n * @param {HTMLElement} rootEl\r\n */\r\nfunction createLinks(rootEl) {\r\n const routeEls = rootEl.querySelectorAll('[route]')\r\n\r\n routeEls.forEach((el) => {\r\n updateLink(el, rootEl)\r\n })\r\n}\r\n\r\nfunction linkClickHandler(e) {\r\n if (e.button !== 0 || isModifiedEvent(e)) return\r\n e.preventDefault()\r\n const el = e.selectorTarget\r\n const routeName = el.getAttribute('route')\r\n if (!routeName) return\r\n const params = getRouteProp(this, routeName, el, 'params', 'param-')\r\n const query = getRouteProp(this, routeName, el, 'query', 'query-')\r\n const method = el.hasAttribute('replace') ? 'replaceWith' : 'transitionTo'\r\n router[method](routeName, params, query)\r\n}\r\n\r\n/**\r\n * @export\r\n * @param {HTMLElement} rootEl\r\n * @param {RouterLinksOptions} [options={}]\r\n * @return {Function}\r\n */\r\nexport function bindRouterLinks(rootEl, options = {}) {\r\n const observer = new MutationObserver(mutationHandler)\r\n\r\n observer.rootEl = rootEl\r\n rootEl[routerLinksData] = { options, observer }\r\n\r\n const eventHandler = delegate(rootEl, 'click', '[route]', linkClickHandler, rootEl)\r\n createLinks(rootEl)\r\n observer.observe(rootEl, elementsObserverConfig)\r\n\r\n linkContainers.add(rootEl)\r\n\r\n return function () {\r\n linkContainers.delete(rootEl)\r\n undelegate(rootEl, eventHandler)\r\n }\r\n}\r\n\r\nfunction create(instance) {\r\n router = instance\r\n}\r\n\r\nfunction done() {\r\n linkContainers.forEach((rootEl) => {\r\n rootEl.querySelectorAll('[route]').forEach((el) => {\r\n const routeName = el.getAttribute('route')\r\n if (!routeName) return\r\n const params = getRouteProp(rootEl, routeName, el, 'params', 'param-')\r\n const query = getRouteProp(rootEl, routeName, el, 'query', 'query-')\r\n updateActiveClass(el, routeName, params, query)\r\n })\r\n })\r\n}\r\n\r\nexport const routerLinks = {\r\n create,\r\n done,\r\n}\r\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-accordion-item.js","sources":["../packages/wje-accordion-item/accordion-item.element.js","../packages/wje-accordion-item/accordion-item.js"],"sourcesContent":["import { default as WJElement, event } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents an Accordion Item element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/accordion-item\n * @status stable\n * @augments WJElement\n * @slot - The accordion item main content.\n * @tag wje-accordion\n */\nexport default class AccordionItem extends WJElement {\n /**\n * Constructor for the AccordionItem class.\n */\n constructor() {\n super();\n }\n\n /**\n * The class name for the Accordion Item element.\n * @type {string}\n */\n className = 'AccordionItem';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {object} The styles for the Accordion Item element.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {Array} An array containing the name of the observed attribute.\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Method to setup attributes for the Accordion Item element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Method to draw the Accordion Item element. This method returns a document fragment containing the drawn element.\n * @returns {object} The document fragment containing the drawn element.\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-accordion-item');\n\n let headline = document.createElement('div');\n headline.setAttribute('part', 'headline');\n headline.classList.add('headline');\n\n let headlineDescription = document.createElement('slot');\n headlineDescription.setAttribute('part', 'description');\n headlineDescription.setAttribute('name', 'description');\n\n let slotHeadline = document.createElement('slot');\n slotHeadline.setAttribute('name', 'headline');\n\n let toggle = document.createElement('slot');\n toggle.setAttribute('part', 'toggle');\n toggle.setAttribute('name', 'toggle');\n\n let mark = document.createElement('wje-icon');\n mark.setAttribute('name', 'chevron-down');\n\n let content = document.createElement('div');\n content.setAttribute('part', 'content');\n content.setAttribute('id', 'content');\n\n let slot = document.createElement('slot');\n slot.setAttribute('name', 'content');\n\n toggle.appendChild(mark);\n\n headline.appendChild(slotHeadline);\n headline.appendChild(toggle);\n headline.appendChild(headlineDescription);\n\n content.appendChild(slot);\n\n native.appendChild(headline);\n native.appendChild(content);\n\n fragment.appendChild(native);\n\n this.headline = headline;\n this.toggle = toggle;\n\n return fragment;\n }\n\n /**\n * Method to execute after the Accordion Item element is drawn.\n */\n afterDraw() {\n if (!this.classList.contains('expanded')) this.classList.add('collapsed');\n\n this.headline.addEventListener('click', () => {\n if (this.classList.contains('collapsed')) {\n event.dispatchCustomEvent(this, 'wje-accordion-item:open');\n this.toggle.style.setProperty('--wje-accordion-marker-rotate', '180deg');\n this.expand();\n } else {\n event.dispatchCustomEvent(this, 'wje-accordion-item:close');\n this.toggle.style.setProperty('--wje-accordion-marker-rotate', '0deg');\n this.collapse();\n }\n });\n }\n\n /**\n * Method to handle the attribute changes.\n */\n collapse = () => {\n this.classList.remove('expanded');\n this.classList.add('collapsed');\n };\n\n /**\n * Method to handle the attribute changes.\n */\n expand = () => {\n this.classList.remove('collapsed');\n this.classList.add('expanded');\n };\n}\n","import AccordionItem from './accordion-item.element.js';\n\nexport default AccordionItem;\n\nAccordionItem.define('wje-accordion-item', AccordionItem);\n"],"names":[],"mappings":";;;;;AAWe,MAAM,sBAAsB,UAAU;AAAA;AAAA;AAAA;AAAA,EAIjD,cAAc;AACV;AAOJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAsGZ;AAAA;AAAA;AAAA,oCAAW,MAAM;AACb,WAAK,UAAU,OAAO,UAAU;AAChC,WAAK,UAAU,IAAI,WAAW;AAAA,IACtC;AAKI;AAAA;AAAA;AAAA,kCAAS,MAAM;AACX,WAAK,UAAU,OAAO,WAAW;AACjC,WAAK,UAAU,IAAI,UAAU;AAAA,IACrC;AAAA,EAvHK;AAAA;AAAA;AAAA;AAAA;AAAA,EAYD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,WAAW,qBAAqB;AAC5B,WAAO;EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,SAAS,SAAS,cAAc,KAAK;AACzC,WAAO,aAAa,QAAQ,QAAQ;AACpC,WAAO,UAAU,IAAI,uBAAuB;AAE5C,QAAI,WAAW,SAAS,cAAc,KAAK;AAC3C,aAAS,aAAa,QAAQ,UAAU;AACxC,aAAS,UAAU,IAAI,UAAU;AAEjC,QAAI,sBAAsB,SAAS,cAAc,MAAM;AACvD,wBAAoB,aAAa,QAAQ,aAAa;AACtD,wBAAoB,aAAa,QAAQ,aAAa;AAEtD,QAAI,eAAe,SAAS,cAAc,MAAM;AAChD,iBAAa,aAAa,QAAQ,UAAU;AAE5C,QAAI,SAAS,SAAS,cAAc,MAAM;AAC1C,WAAO,aAAa,QAAQ,QAAQ;AACpC,WAAO,aAAa,QAAQ,QAAQ;AAEpC,QAAI,OAAO,SAAS,cAAc,UAAU;AAC5C,SAAK,aAAa,QAAQ,cAAc;AAExC,QAAI,UAAU,SAAS,cAAc,KAAK;AAC1C,YAAQ,aAAa,QAAQ,SAAS;AACtC,YAAQ,aAAa,MAAM,SAAS;AAEpC,QAAI,OAAO,SAAS,cAAc,MAAM;AACxC,SAAK,aAAa,QAAQ,SAAS;AAEnC,WAAO,YAAY,IAAI;AAEvB,aAAS,YAAY,YAAY;AACjC,aAAS,YAAY,MAAM;AAC3B,aAAS,YAAY,mBAAmB;AAExC,YAAQ,YAAY,IAAI;AAExB,WAAO,YAAY,QAAQ;AAC3B,WAAO,YAAY,OAAO;AAE1B,aAAS,YAAY,MAAM;AAE3B,SAAK,WAAW;AAChB,SAAK,SAAS;AAEd,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAKD,YAAY;AACR,QAAI,CAAC,KAAK,UAAU,SAAS,UAAU,EAAG,MAAK,UAAU,IAAI,WAAW;AAExE,SAAK,SAAS,iBAAiB,SAAS,MAAM;AAC1C,UAAI,KAAK,UAAU,SAAS,WAAW,GAAG;AACtC,cAAM,oBAAoB,MAAM,yBAAyB;AACzD,aAAK,OAAO,MAAM,YAAY,iCAAiC,QAAQ;AACvE,aAAK,OAAM;AAAA,MAC3B,OAAmB;AACH,cAAM,oBAAoB,MAAM,0BAA0B;AAC1D,aAAK,OAAO,MAAM,YAAY,iCAAiC,MAAM;AACrE,aAAK,SAAQ;AAAA,MAChB;AAAA,IACb,CAAS;AAAA,EACJ;AAiBL;ACrIA,cAAc,OAAO,sBAAsB,aAAa;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-accordion.js","sources":["../packages/wje-accordion/accordion.element.js","../packages/wje-accordion/accordion.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents an Accordion element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/accordion\n * @status stable\n * @augments WJElement\n * @attribute {boolean} multiple - The multiple attribute for the accordion.\n * @attribute {number} index - The index attribute for the accordion.\n * @attribute {boolean} disabled - The disabled attribute for the accordion.\n * @attribute {boolean} expanded - The expanded attribute for the accordion.\n * @slot - The accordion main content.\n * //@fires [wje-accordion-item:open] The event fired when the accordion item is opened.\n * @tag wje-accordion\n */\nexport default class Accordion extends WJElement {\n /**\n * Constructor for the Accordion class.\n */\n constructor() {\n super();\n }\n\n /**\n * Sets the `multiple` attribute on the element.\n * If `true`, the `multiple` attribute is added.\n * If `false`, the `multiple` attribute is removed.\n * @param {boolean} value A boolean value indicating whether the element should support multiple selections.\n */\n set multiple(value) {\n if (value) {\n this.setAttribute('multiple', '');\n } else {\n this.removeAttribute('multiple');\n }\n }\n\n /**\n * Determines whether the element has the `multiple` attribute.\n * @returns {boolean} `true` if the `multiple` attribute is present, otherwise `false`.\n */\n get multiple() {\n return this.hasAttribute('multiple');\n }\n\n /**\n * Sets the value of the `index` attribute.\n * @param {number|string} value The value to set for the `index` attribute.\n */\n set index(value) {\n this.setAttribute('index', value);\n }\n\n /**\n * Retrieves the value of the `index` attribute as a number.\n * @returns {number} The numerical value of the `index` attribute, or `0` if the attribute is not set.\n */\n get index() {\n return +this.getAttribute('index') || 0;\n }\n\n /**\n * The class name for the Accordion element.\n * @type {string}\n */\n className = 'Accordion';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {object} The styles for the Accordion element.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {Array} An array containing the name of the observed attribute.\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Method to setup attributes for the Accordion element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Method to run before the element is drawn.\n */\n beforeDraw() {\n this.getAccordions().forEach((accordion, index) => {\n if (this.index && +this.index === index) {\n accordion.classList.add('expanded');\n }\n });\n }\n\n /**\n * Method to draw the Accordion element.\n * @returns {object} The document fragment containing the drawn element.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let slot = document.createElement('slot');\n\n fragment.appendChild(slot);\n\n this.slotEl = slot;\n\n return fragment;\n }\n\n /**\n * Method to run after the element is drawn.\n */\n afterDraw() {\n this.addEventListener('wje-accordion-item:open', (e) => {\n if (!this.multiple) this.collapseAll(e.detail.context);\n });\n }\n\n /**\n * Method to run after the element is drawn.\n * @param exception\n */\n collapseAll(exception) {\n this.getAccordions().forEach((accordion) => {\n if (accordion !== exception) accordion.collapse();\n });\n }\n\n /**\n * Method to get the accordions.\n * @returns {Array} An array containing the accordions.\n */\n getAccordions() {\n return Array.from(this.querySelectorAll(':scope > wje-accordion-item'));\n }\n}\n","import Accordion from './accordion.element.js';\n\nexport default Accordion;\n\nAccordion.define('wje-accordion', Accordion);\n"],"names":[],"mappings":";;;;;AAgBe,MAAM,kBAAkB,UAAU;AAAA;AAAA;AAAA;AAAA,EAI7C,cAAc;AACV;AA6CJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EA5CX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQD,IAAI,SAAS,OAAO;AAChB,QAAI,OAAO;AACP,WAAK,aAAa,YAAY,EAAE;AAAA,IAC5C,OAAe;AACH,WAAK,gBAAgB,UAAU;AAAA,IAClC;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,WAAW;AACX,WAAO,KAAK,aAAa,UAAU;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,MAAM,OAAO;AACb,SAAK,aAAa,SAAS,KAAK;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,QAAQ;AACR,WAAO,CAAC,KAAK,aAAa,OAAO,KAAK;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA;AAAA,EAYD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,WAAW,qBAAqB;AAC5B,WAAO;EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKD,aAAa;AACT,SAAK,cAAe,EAAC,QAAQ,CAAC,WAAW,UAAU;AAC/C,UAAI,KAAK,SAAS,CAAC,KAAK,UAAU,OAAO;AACrC,kBAAU,UAAU,IAAI,UAAU;AAAA,MACrC;AAAA,IACb,CAAS;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,aAAS,YAAY,IAAI;AAEzB,SAAK,SAAS;AAEd,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAKD,YAAY;AACR,SAAK,iBAAiB,2BAA2B,CAAC,MAAM;AACpD,UAAI,CAAC,KAAK,SAAU,MAAK,YAAY,EAAE,OAAO,OAAO;AAAA,IACjE,CAAS;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,YAAY,WAAW;AACnB,SAAK,cAAa,EAAG,QAAQ,CAAC,cAAc;AACxC,UAAI,cAAc,UAAW,WAAU,SAAQ;AAAA,IAC3D,CAAS;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,gBAAgB;AACZ,WAAO,MAAM,KAAK,KAAK,iBAAiB,6BAA6B,CAAC;AAAA,EACzE;AACL;AC5IA,UAAU,OAAO,iBAAiB,SAAS;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-animation.js","sources":["../packages/wje-animation/animation.element.js","../packages/wje-animation/animation.js"],"sourcesContent":["import animations from 'animate.css?inline';\n\nimport styles from '../styles/styles.css?inline';\nimport { fetchAndParseCSS } from '../utils/animations.js';\nimport { default as WJElement } from '../wje-element/element.js';\n\n/**\n * @summary This class represents an Animation element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/animation\n * @status stable\n * @augments WJElement\n * @slot - The animation main content.\n * @cssproperty --size - The size of the avatar.\n * @tag wje-animation\n */\nexport default class Animation extends WJElement {\n /**\n * Constructor for the Animation class.\n */\n constructor() {\n super();\n this._animations = [];\n }\n\n /**\n * Setter for the name attribute.\n * @param value\n */\n set name(value) {\n this.setAttribute('name', value);\n }\n\n /**\n * Getter for the name attribute.\n * @returns {string}\n */\n get name() {\n return this.getAttribute('name') || 'heartBeat';\n }\n\n /**\n * Setter for the name attribute.\n * @param value\n */\n set duration(value) {\n this.setAttribute('duration', value);\n }\n\n /**\n * Getter for the name attribute.\n * @returns {number}\n */\n get duration() {\n return +this.getAttribute('duration') || 1000;\n }\n\n /**\n * Setter for the name attribute.\n * @param value\n */\n set delay(value) {\n this.setAttribute('delay', value);\n }\n\n /**\n * Getter for the name attribute.\n * @returns {number}\n */\n get delay() {\n return +this.getAttribute('delay') || 0;\n }\n\n /**\n * Setter for the name attribute.\n * @param value\n */\n set endDelay(value) {\n this.setAttribute('endDelay', value);\n }\n\n /**\n * Getter for the name attribute.\n * @returns {number}\n */\n get endDelay() {\n return +this.getAttribute('endDelay') || 0;\n }\n\n /**\n * Setter for the name attribute.\n * @param value\n */\n set fill(value) {\n this.setAttribute('fill', value);\n }\n\n /**\n * Getter for the name attribute.\n * @returns {string}\n */\n get fill() {\n return this.getAttribute('fill') || 'auto';\n }\n\n /**\n * Setter for the name attribute.\n * @param value\n */\n set iterations(value) {\n this.setAttribute('iterations', value);\n }\n\n /**\n * Getter for the name attribute.\n * @returns {string|number}\n */\n get iterations() {\n return this.getAttribute('iterations') || Infinity;\n }\n\n /**\n * Setter for the name attribute.\n * @param value\n */\n set iterationStart(value) {\n this.setAttribute('iterationStart', value);\n }\n\n /**\n * Getter for the name attribute.\n * @returns {number}\n */\n get iterationStart() {\n return +this.getAttribute('iterationStart') || 0;\n }\n\n /**\n * Setter for the name attribute.\n * @param value\n */\n set direction(value) {\n this.setAttribute('direction', value);\n }\n\n /**\n * Getter for the name attribute.\n * @returns {string}\n */\n get direction() {\n return this.getAttribute('direction') || 'normal';\n }\n\n /**\n * Setter for the name attribute.\n * @param value\n */\n set easing(value) {\n this.setAttribute('easing', value);\n }\n\n /**\n * Getter for the name attribute.\n * @returns {string}\n */\n get easing() {\n return this.getAttribute('easing') || 'linear';\n }\n\n /**\n * Setter for the animations property.\n * @param {Array} value The new value for the animations property.\n */\n set animations(value) {\n this._animations = value;\n }\n\n /**\n * Getter for the animations' property.\n * @returns {Array} The current value of the animations' property.\n */\n get animations() {\n return this._animations;\n }\n\n /**\n * The class name for the Animation element.\n * @type {string}\n */\n className = 'Animation';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {object} The styles for the Animation element.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {Array} An array containing the name of the observed attribute.\n */\n static get observedAttributes() {\n return ['name'];\n }\n\n /**\n * Method to setup attributes for the Animation element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Method to draw the Animation element.\n * @returns {object} The document fragment containing the drawn element.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let slot = document.createElement('slot');\n\n fragment.appendChild(slot);\n\n this.slotEl = slot;\n\n return fragment;\n }\n\n /**\n * Method to perform actions after the Animation element is drawn.\n * This method destroys any existing animation, fetches a new animations array,\n * selects the appropriate animation, and applies it to the element.\n */\n async afterDraw() {\n this.destroyAnimation();\n\n const element = this.slotEl.assignedElements()[0];\n this.animations = await this.getAnimationsArray();\n const selected = await this.animations.find((k) => k.name === this.name);\n console.log(\"SELECTED:\", selected, element);\n this.animation = element?.animate(selected?.keyframes, {\n delay: +this.delay,\n endDelay: +this.endDelay,\n fill: this.fill,\n duration: +this.duration,\n iterationStart: +this.iterationStart,\n iterations: this.iterations,\n direction: this.direction,\n easing: this.easing,\n });\n if (this.animation) this.animation.play();\n }\n\n /**\n * Method to fetch and parse the animations array from a CSS file.\n * @returns {Array} An array of animation definitions parsed from the CSS file.\n */\n async getAnimationsArray() {\n return await fetchAndParseCSS(animations);\n }\n\n /**\n * Method to destroy the current animation.\n */\n destroyAnimation() {\n if (this.animation) {\n this.cancel();\n }\n }\n\n /**\n * Method to play the current animation.\n */\n play() {\n if (this.animation) {\n this.animation.play();\n }\n }\n\n /**\n * Method to cancel the current animation.\n */\n cancel() {\n if (this.animation && typeof this.animation.cancel === 'function') {\n this.animation.cancel();\n } else {\n console.warn('Animation is not initialized or cancel is not available');\n }\n\n console.log(\"ANIMATION CANCELLED\", this.animation.playState);\n }\n}\n","import Animation from './animation.element.js';\n\nexport default Animation;\n\nAnimation.define('wje-animation', Animation);\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-aside.js","sources":["../packages/wje-aside/aside.element.js","../packages/wje-aside/aside.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents an Aside element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/aside\n * @status stable\n * @augments WJElement\n * @slot - The aside main content.\n * @cssproperty --wje-aside-width;\n * @cssproperty --wje-aside-top;\n * @cssproperty --wje-aside-border-color: var(--wje-border-color);\n * @cssproperty --wje-aside-border-width;\n * @cssproperty --wje-aside-border-style;\n * @tag wje-aside\n */\nexport default class Aside extends WJElement {\n /**\n * Constructor for the Aside class.\n */\n constructor() {\n super();\n }\n\n /**\n * The class name for the Aside element ddddd.\n * @type {string}\n */\n className = 'Aside';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {object} The styles for the Aside element.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {Array} An empty array as there are no observed attributes.\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Method to setup attributes for the Aside element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Method to draw the Aside element.\n * @returns {object} The document fragment containing the drawn element.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n if (this.width) this.style.setProperty('--wje-aside-width', this.width);\n\n if (this.top && this.hasAttribute('fixed')) this.style.setProperty('--wje-aside-top', this.top);\n\n let element = document.createElement('slot');\n\n fragment.appendChild(element);\n\n return fragment;\n }\n}\n","import Aside from './aside.element.js';\n\n// export * from \"./aside.element.js\";\nexport default Aside;\n\nAside.define('wje-aside', Aside);\n"],"names":[],"mappings":";;;;;AAgBe,MAAM,cAAc,UAAU;AAAA;AAAA;AAAA;AAAA,EAIzC,cAAc;AACV;AAOJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EANX;AAAA;AAAA;AAAA;AAAA;AAAA,EAYD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,WAAW,qBAAqB;AAC5B,WAAO;EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,KAAK,MAAO,MAAK,MAAM,YAAY,qBAAqB,KAAK,KAAK;AAEtE,QAAI,KAAK,OAAO,KAAK,aAAa,OAAO,EAAG,MAAK,MAAM,YAAY,mBAAmB,KAAK,GAAG;AAE9F,QAAI,UAAU,SAAS,cAAc,MAAM;AAE3C,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACV;AACL;ACjEA,MAAM,OAAO,aAAa,KAAK;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-avatar.js","sources":["../packages/wje-avatar/service/service.js","../packages/wje-avatar/avatar.element.js","../packages/wje-avatar/avatar.js"],"sourcesContent":["/**\n * Generates an HSL color value based on the input text.\n * @param {string} text The input text to generate the HSL color.\n * @param {number} [s] The saturation value (in percentage) for the HSL color.\n * @param {number} [l] The lightness value (in percentage) for the HSL color.\n * @returns {string} - The HSL color string in the format `hsl(h, s%, l%)`.\n * @description\n * This function computes a hash from the input text and uses it to generate\n * a hue value. The hue is combined with the provided saturation and lightness\n * values to create an HSL color. This can be useful for consistently assigning\n * colors based on text input, such as for avatars or tags.\n * @example\n * // Returns 'hsl(180, 40%, 65%)'\n * getHsl('example');\n * @example\n * // Returns 'hsl(300, 50%, 70%)'\n * getHsl('test', 50, 70);\n */\nexport function getHsl(text, s = 40, l = 65) {\n let str = text;\n let hash = 0;\n\n for (let i = 0; i < str?.length; i++) {\n hash = str.charCodeAt(i) + hash * 31;\n }\n\n let h = hash % 360;\n\n return `hsl(${h}, ${s}%, ${l}%)`;\n}\n\n/**\n * Generates initials from a given string.\n * @param {string} string The input string, typically a full name.\n * @param {number} [length] The desired number of initials (default is 2).\n * @returns {string} - The generated initials in uppercase.\n * @description\n * This function takes a string, splits it by spaces, and generates initials.\n * It always includes the first character of the first word. If the input string\n * contains more than one word and the `length` parameter is greater than 1, it\n * also includes the first character of the last word.\n * @example\n * // Returns 'JD'\n * getInitials('John Doe');\n * @example\n * // Returns 'J'\n * getInitials('John');\n * @example\n * // Returns 'JM'\n * getInitials('John Michael Doe', 2);\n */\nexport function getInitials(string, length = 2) {\n let names = string.split(' ');\n let initials = names[0].substring(0, 1).toUpperCase();\n\n if (names.length > 1 && length > 1) {\n initials += names[names.length - 1].substring(0, 1).toUpperCase();\n }\n return initials;\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport { getHsl, getInitials } from './service/service.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents an Avatar element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/avatar\n * @status stable\n * @augments WJElement\n * @slot - The avatar main content.\n * @csspart native - The component's native wrapper.\n * @cssproperty --wje-avatar-width;\n * @cssproperty --wje-avatar-height;\n * @cssproperty --wje-avatar-font-size;\n * @cssproperty --wje-avatar-font-weight;\n * @cssproperty --wje-avatar-color;\n * @cssproperty --wje-avatar-background-color;\n * @cssproperty --wje-avatar-border-radius;\n * @cssproperty --wje-avatar-border-color;\n * @cssproperty --wje-avatar-border-width;\n * @cssproperty --wje-avatar-border-style;\n * @tag wje-avatar\n */\nexport default class Avatar extends WJElement {\n /**\n * Avatar class constructor.\n */\n constructor() {\n super();\n }\n\n /**\n * Class name for the Avatar element.\n */\n className = 'Avatar';\n\n /**\n * Getter for cssStyleSheet.\n * @returns {string} styles\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Method to setup attributes.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Method to draw the avatar element and return a document fragment.\n * @returns {object} fragment - The document fragment\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let element = document.createElement('div');\n element.setAttribute('part', 'native');\n element.classList.add('native-avatar');\n\n let slot = document.createElement('slot');\n\n element.appendChild(slot);\n\n if (this.hasAttribute('initials')) {\n let initials = getInitials(this.label);\n\n this.setAttribute('style', `--wje-avatar-background-color: ${getHsl(initials)}`);\n element.innerText = initials;\n } else {\n let slotIcon = document.createElement('slot');\n slotIcon.setAttribute('name', 'icon');\n\n element.appendChild(slotIcon);\n }\n\n let status = document.createElement('slot');\n status.setAttribute('name', 'status');\n status.setAttribute('part', 'status');\n\n let secondary = document.createElement('slot');\n secondary.setAttribute('name', 'secondary');\n secondary.setAttribute('part', 'secondary');\n\n element.appendChild(status);\n element.appendChild(secondary);\n\n fragment.appendChild(element);\n\n return fragment;\n }\n\n /**\n * Method to check if the avatar is an image.\n * @returns {boolean} - True if the avatar is an image, false otherwise\n */\n isImage() {\n return this.getElementsByTagName('wje-img').length > 0;\n }\n}\n","import Avatar from './avatar.element.js';\n\nexport default Avatar;\n\nAvatar.define('wje-avatar', Avatar);\n"],"names":[],"mappings":";;;;AAkBO,SAAS,OAAO,MAAM,IAAI,IAAI,IAAI,IAAI;AACzC,MAAI,MAAM;AACV,MAAI,OAAO;AAEX,WAAS,IAAI,GAAG,KAAI,2BAAK,SAAQ,KAAK;AAClC,WAAO,IAAI,WAAW,CAAC,IAAI,OAAO;AAAA,EACrC;AAED,MAAI,IAAI,OAAO;AAEf,SAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;AAChC;AAsBO,SAAS,YAAY,QAAQ,SAAS,GAAG;AAC5C,MAAI,QAAQ,OAAO,MAAM,GAAG;AAC5B,MAAI,WAAW,MAAM,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE;AAExC,MAAI,MAAM,SAAS,KAAK,SAAS,GAAG;AAChC,gBAAY,MAAM,MAAM,SAAS,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE;EACvD;AACD,SAAO;AACX;;ACpCe,MAAM,eAAe,UAAU;AAAA;AAAA;AAAA;AAAA,EAI1C,cAAc;AACV;AAMJ;AAAA;AAAA;AAAA,qCAAY;AAAA,EALX;AAAA;AAAA;AAAA;AAAA;AAAA,EAWD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,UAAU,SAAS,cAAc,KAAK;AAC1C,YAAQ,aAAa,QAAQ,QAAQ;AACrC,YAAQ,UAAU,IAAI,eAAe;AAErC,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,YAAQ,YAAY,IAAI;AAExB,QAAI,KAAK,aAAa,UAAU,GAAG;AAC/B,UAAI,WAAW,YAAY,KAAK,KAAK;AAErC,WAAK,aAAa,SAAS,kCAAkC,OAAO,QAAQ,CAAC,EAAE;AAC/E,cAAQ,YAAY;AAAA,IAChC,OAAe;AACH,UAAI,WAAW,SAAS,cAAc,MAAM;AAC5C,eAAS,aAAa,QAAQ,MAAM;AAEpC,cAAQ,YAAY,QAAQ;AAAA,IAC/B;AAED,QAAI,SAAS,SAAS,cAAc,MAAM;AAC1C,WAAO,aAAa,QAAQ,QAAQ;AACpC,WAAO,aAAa,QAAQ,QAAQ;AAEpC,QAAI,YAAY,SAAS,cAAc,MAAM;AAC7C,cAAU,aAAa,QAAQ,WAAW;AAC1C,cAAU,aAAa,QAAQ,WAAW;AAE1C,YAAQ,YAAY,MAAM;AAC1B,YAAQ,YAAY,SAAS;AAE7B,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,UAAU;AACN,WAAO,KAAK,qBAAqB,SAAS,EAAE,SAAS;AAAA,EACxD;AACL;ACjGA,OAAO,OAAO,cAAc,MAAM;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-badge.js","sources":["../packages/wje-badge/badge.element.js","../packages/wje-badge/badge.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents a Badge element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/badge\n * @status stable\n * @augments WJElement\n * @attribute {string} color - The color of the badge element. Accepts any valid string primary, secondary, success, danger, warning, info, default.\n * @slot - The badge's main content.\n * @csspart native - The component's native wrapper.\n * @cssproperty [--wje-badge-border-radius=var(--wje-border-radius-pill)] - Border radius of the badge element.\n * @tag wje-badge\n */\n\nexport default class Badge extends WJElement {\n /**\n * Creates an instance of Badge.\n * Represents a custom Badge element.\n * @class\n */\n constructor() {\n super();\n }\n\n /**\n * The class name for the Badge element.\n * @type {string} The class name for the Badge element.\n */\n className = 'Badge';\n\n /**\n * Retrieves the CSS stylesheet for the Badge element.\n * @static\n * @returns {CSSStyleSheet} The CSS styles associated with the Badge.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Specifies the attributes to observe for changes.\n * @static\n * @returns {Array<string>} An array containing the names of attributes to observe.\n * @example\n * static get observedAttributes() {\n * return ['color'];\n * }\n */\n static get observedAttributes() {\n return ['color'];\n }\n\n /**\n * Configures initial attributes for the Badge element.\n * @returns {void} Nothing is returned.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Creates the DOM structure for the Badge element.\n * @returns {DocumentFragment} A document fragment containing the Badge's structure.\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-badge');\n\n // Add color classes based on the `color` attribute\n if (this.hasAttribute('color')) {\n native.classList.add(`wje-color-${this.color}`, 'wje-color');\n } else {\n native.classList.add('wje-color-default', 'wje-color');\n }\n\n let slot = document.createElement('slot');\n\n native.appendChild(slot);\n\n fragment.appendChild(native);\n\n return fragment;\n }\n}\n","import Badge from './badge.element.js';\n\nexport default Badge;\n\nBadge.define('wje-badge', Badge);\n"],"names":[],"mappings":";;;;;AAee,MAAM,cAAc,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMzC,cAAc;AACV;AAOJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EANX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWD,WAAW,qBAAqB;AAC5B,WAAO,CAAC,OAAO;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,SAAS,SAAS,cAAc,KAAK;AACzC,WAAO,aAAa,QAAQ,QAAQ;AACpC,WAAO,UAAU,IAAI,cAAc;AAGnC,QAAI,KAAK,aAAa,OAAO,GAAG;AAC5B,aAAO,UAAU,IAAI,aAAa,KAAK,KAAK,IAAI,WAAW;AAAA,IACvE,OAAe;AACH,aAAO,UAAU,IAAI,qBAAqB,WAAW;AAAA,IACxD;AAED,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,WAAO,YAAY,IAAI;AAEvB,aAAS,YAAY,MAAM;AAE3B,WAAO;AAAA,EACV;AACL;ACnFA,MAAM,OAAO,aAAa,KAAK;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-breadcrumb.js","sources":["../packages/wje-breadcrumb/breadcrumb.element.js","../packages/wje-breadcrumb/breadcrumb.js"],"sourcesContent":["import { default as WJElement, event, WjElementUtils } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents a Breadcrumb element, extending the WJElement class. It provides a navigational aid in user interfaces, displaying the current location within a hierarchy.\n * @documentation https://elements.webjet.sk/components/breadcrumb\n * @status stable\n * @augments WJElement\n * @slot - The main content of the breadcrumb.\n * @slot start - Slot for content at the start of the breadcrumb.\n * @slot end - Slot for content at the end of the breadcrumb.\n * @slot separator - Slot for a custom separator between breadcrumb items.\n * @csspart native - The native wrapper of the breadcrumb component.\n * @csspart separator - The separator between breadcrumb items.\n * @cssproperty [--wje-breadcrumb-a=var(--wje-color-contrast-8)] - The color of the breadcrumb text.\n * @cssproperty [--wje-breadcrumb-a-hover=var(--wje-color-contrast-6)] - The color of the breadcrumb separator line.\n * @tag wje-breadcrumb\n */\nexport default class Breadcrumb extends WJElement {\n /**\n * Breadcrumb constructor method.\n */\n constructor() {\n super();\n\n this._showSeparator = true;\n this.showCollapsedIndicator = false;\n }\n\n /**\n * Get show separator flag.\n * @returns {boolean} showSeparator - The show separator flag\n */\n get showSeparator() {\n return this._showSeparator;\n }\n\n /**\n * Set show separator flag.\n * @param {boolean} value The value to set\n */\n set showSeparator(value) {\n this._showSeparator = value;\n }\n\n /**\n * Set collapsed variant.\n * @param {string} value The value to set\n */\n set collapsedVariant(value) {\n this._collapsedVariant = value;\n }\n\n /**\n * Get collapsed variant.\n * @returns {string} The collapsed variant value in uppercase.\n */\n get collapsedVariant() {\n let variant = this.parentElement.variant || this._collapsedVariant;\n return variant.toUpperCase();\n }\n\n /**\n * Class name for the Breadcrumb element.\n * @type {string}\n */\n className = 'Breadcrumb';\n\n /**\n * Get CSS stylesheet for the Breadcrumb element.\n * @static\n * @returns {object} styles - The CSS styles\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Get observed attributes for the Breadcrumb element.\n * @static\n * @returns {Array<string>} - The observed attributes array for the Breadcrumb element.\n */\n static get observedAttributes() {\n return ['show-collapsed-indicator', 'collapsed', 'last'];\n }\n\n /**\n * Attribute changed callback method.\n * @returns {boolean} false - Always returns false\n */\n attributeChangedCallback(name, oldValue, newValue) {\n if (name === 'collapsed') {\n if (WjElementUtils.stringToBoolean(newValue) && !this.hasAttribute('show-collapsed-indicator'))\n this.classList.add('collapsed');\n } else if (name === 'show-collapsed-indicator') {\n if (WjElementUtils.stringToBoolean(newValue)) {\n this.showCollapsedIndicator = true;\n this.refresh();\n }\n } else if (name === 'last') {\n this.active = WjElementUtils.stringToBoolean(newValue);\n this.showSeparator = !WjElementUtils.stringToBoolean(newValue);\n this.refresh();\n }\n\n return false;\n }\n\n /**\n * Setup attributes for the Breadcrumb element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draw method for the Breadcrumb element.\n * @returns {object} fragment - The document fragment\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('a');\n native.classList.add('native-breadcrumb');\n native.setAttribute('part', 'native');\n\n if (this.active) native.classList.add('active');\n\n let slot = document.createElement('slot');\n\n let start = document.createElement('slot');\n start.setAttribute('name', 'start');\n\n let end = document.createElement('slot');\n end.setAttribute('name', 'end');\n\n native.appendChild(start);\n native.appendChild(slot);\n native.appendChild(end);\n\n fragment.appendChild(native);\n if (WjElementUtils.stringToBoolean(this.showCollapsedIndicator)) {\n // pridame button za native element\n fragment.appendChild(this.drawCollapsedIndicator());\n\n // skryjeme native element\n native.classList.add('hidden');\n }\n\n if (this.showSeparator) {\n let separator = document.createElement('span');\n separator.classList.add('separator');\n separator.setAttribute('part', 'separator');\n\n if (WjElementUtils.hasSlot(this, 'separator')) {\n let slotSeparator = document.createElement('slot');\n slotSeparator.setAttribute('name', 'separator');\n\n separator.appendChild(slotSeparator);\n } else {\n separator.innerHTML = `<wje-icon name=${this.separator || 'chevron-right'}></wje-icon>`;\n }\n\n fragment.appendChild(separator);\n }\n\n this.native = native;\n\n return fragment;\n }\n\n /**\n * Draw collapsed indicator method.\n * @returns {object} - The collapsed indicator element.\n */\n drawCollapsedIndicator() {\n let collapsedIndicator = null;\n\n if (this.collapsedVariant === 'DROPDOWN') {\n collapsedIndicator = this.collapseDropdown();\n } else {\n collapsedIndicator = this.collapseButton();\n }\n\n return collapsedIndicator;\n }\n\n /**\n * Collapse dropdown button.\n * @returns {object} dropdown - The dropdown button.\n */\n collapseDropdown() {\n let dropdown = document.createElement('wje-dropdown');\n dropdown.setAttribute('placement', 'bottom');\n dropdown.setAttribute('offset', '10');\n\n let button = document.createElement('wje-button');\n button.setAttribute('slot', 'trigger');\n button.setAttribute('fill', 'link');\n button.innerHTML = `<wje-icon name=\"dots\"></wje-icon>`;\n\n let menu = document.createElement('wje-menu');\n menu.setAttribute('variant', 'context');\n\n dropdown.appendChild(button);\n dropdown.appendChild(menu);\n\n dropdown.innerHTML = `<wje-button slot=\"trigger\" fill=\"link\">\n <wje-icon name=\"dots\"></wje-icon>\n </wje-button>\n <wje-menu variant=\"context\">\n <wje-menu-item>Test 0</wje-menu-item>\n <wje-menu-item>Test 1</wje-menu-item>\n <wje-menu-item>Test 2</wje-menu-item>\n </wje-menu>`;\n\n this.parentElement.querySelectorAll('wje-breadcrumb').forEach((el) => {\n // console.log(el);\n });\n\n return dropdown;\n }\n\n /**\n * Collapse button method.\n * @returns {object} - The button element.\n */\n collapseButton() {\n let button = document.createElement('button');\n button.setAttribute('aria-label', 'Show more breadcrumbs');\n button.setAttribute('part', 'collapsed-indicator');\n button.innerHTML = `<wje-icon name=\"dots\"></wje-icon>`;\n\n event.addListener(button, 'click', null, (e) => {\n this.native.classList.remove('hidden');\n button.remove();\n this.parentElement.querySelectorAll('wje-breadcrumb').forEach((el) => {\n el.classList.remove('collapsed');\n });\n e.stopPropagation();\n });\n\n return button;\n }\n}\n","import Breadcrumb from './breadcrumb.element.js';\n\n// export * from \"./breadcrumb.element.js\";\nexport default Breadcrumb;\n\nBreadcrumb.define('wje-breadcrumb', Breadcrumb);\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-breadcrumbs.js","sources":["../packages/wje-breadcrumbs/breadcrumbs.element.js","../packages/wje-breadcrumbs/breadcrumbs.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents a Breadcrumbs container, extending the WJElement class. It acts as a wrapper for individual breadcrumb elements and manages their behavior, such as collapsing and marking the last breadcrumb.\n * @documentation https://elements.webjet.sk/components/breadcrumbs\n * @status stable\n * @augments WJElement\n * @slot - The container for breadcrumb elements.\n * @csspart container - The component's container wrapper.\n * @attribute {number} max-items - The maximum number of visible breadcrumbs before collapsing.\n * @attribute {number} items-before-collapse - The number of breadcrumbs to show before the collapsed indicator.\n * @attribute {number} items-after-collapse - The number of breadcrumbs to show after the collapsed indicator.\n * @tag wje-breadcrumbs\n * @example\n * <!-- Example usage -->\n * <wje-breadcrumbs max-items=\"5\" items-before-collapse=\"2\" items-after-collapse=\"2\">\n * <wje-breadcrumb>Home</wje-breadcrumb>\n * <wje-breadcrumb>About</wje-breadcrumb>\n * <wje-breadcrumb>Services</wje-breadcrumb>\n * <wje-breadcrumb>Portfolio</wje-breadcrumb>\n * <wje-breadcrumb>Contact</wje-breadcrumb>\n * </wje-breadcrumbs>\n *\n * <!-- Output: Only the first two and last two breadcrumbs will be visible, with a collapsed indicator in the middle -->\n */\n\nexport default class Breadcrumbs extends WJElement {\n /**\n * Breadcrumbs constructor method.\n * @class\n */\n constructor() {\n super();\n\n /**\n * Last breadcrumb flag\n * @type {boolean}\n */\n this.last = false;\n }\n\n /**\n * Set variant attribute for the Breadcrumbs element.\n * @param value\n */\n set variant(value) {\n this.setAttribute('variant', value);\n }\n\n /**\n * Get variant attribute for the Breadcrumbs element.\n * @returns {string}\n */\n get variant() {\n return this.getAttribute('variant') || 'button';\n }\n\n /**\n * Get items before collapse attribute.\n * @param {string} value\n */\n set maxItems(value) {\n this.setAttribute('max-items', value || 0);\n }\n\n /**\n * Get items before collapse attribute.\n * @returns {number}\n */\n get maxItems() {\n return +this.getAttribute('max-items' || 0);\n }\n\n /**\n * Get items before collapse attribute.\n * @param value\n */\n set itemsBeforeCollapse(value) {\n this.setAttribute('items-before-collapse', value || 1);\n }\n\n /**\n * Get items before collapse attribute.\n * @returns {number}\n */\n get itemsBeforeCollapse() {\n return +this.getAttribute('items-before-collapse') || 1;\n }\n\n /**\n * Get items after collapse attribute.\n * @param value\n */\n set itemsAfterCollapse(value) {\n this.setAttribute('items-after-collapse', value || 1);\n }\n\n /**\n * Get items after collapse attribute.\n * @returns {number}\n */\n get itemsAfterCollapse() {\n return +this.getAttribute('items-after-collapse') || 1;\n }\n\n /**\n * Class name for the Breadcrumbs element.\n * @type {string}\n */\n className = 'Breadcrumbs';\n\n /**\n * Get CSS stylesheet for the Breadcrumbs element.\n * @static\n * @returns {object} styles - The CSS styles\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Get observed attributes for the Breadcrumb element.\n * @static\n * @returns {Array<string>} - The observed attributes array for the Breadcrumb element.\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Setup attributes for the Breadcrumbs element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draw method for the Breadcrumbs element.\n * @returns {object} fragment - The document fragment\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let element = document.createElement('slot');\n\n fragment.appendChild(element);\n\n return fragment;\n }\n\n /**\n * After draw method for the Breadcrumbs element.\n */\n afterDraw() {\n let breadcrumbs = this.getBreadcrumbs();\n\n if (breadcrumbs.length === 0) return;\n\n let breadcrumb = breadcrumbs.findLast((e) => e);\n\n breadcrumb.setAttribute('last', true);\n\n const shouldCollapse =\n this.maxItems !== undefined &&\n breadcrumbs.length > this.maxItems &&\n this.itemsBeforeCollapse + this.itemsAfterCollapse <= this.maxItems;\n\n if (shouldCollapse) {\n breadcrumbs.forEach((b, index) => {\n if (index === this.itemsBeforeCollapse) {\n b.setAttribute('show-collapsed-indicator', true);\n }\n\n if (index >= this.itemsBeforeCollapse && index < breadcrumbs.length - this.itemsAfterCollapse) {\n b.setAttribute('collapsed', true);\n }\n });\n }\n }\n\n /**\n * Get breadcrumbs method.\n * @returns {Array} - The breadcrumbs array\n */\n getBreadcrumbs() {\n return Array.from(this.querySelectorAll('wje-breadcrumb')) || [];\n }\n}\n","import Breadcrumbs from './breadcrumbs.element.js';\n\nexport default Breadcrumbs;\n\nBreadcrumbs.define('wje-breadcrumbs', Breadcrumbs);\n"],"names":[],"mappings":";;;;;AA2Be,MAAM,oBAAoB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAK/C,cAAc;AACV;AA6EJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAvER,SAAK,OAAO;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,QAAQ,OAAO;AACf,SAAK,aAAa,WAAW,KAAK;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,UAAU;AACV,WAAO,KAAK,aAAa,SAAS,KAAK;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,SAAS,OAAO;AAChB,SAAK,aAAa,aAAa,SAAS,CAAC;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,WAAW;AACX,WAAO,CAAC,KAAK,aAAa,WAAgB;AAAA,EAC7C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,oBAAoB,OAAO;AAC3B,SAAK,aAAa,yBAAyB,SAAS,CAAC;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,sBAAsB;AACtB,WAAO,CAAC,KAAK,aAAa,uBAAuB,KAAK;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,mBAAmB,OAAO;AAC1B,SAAK,aAAa,wBAAwB,SAAS,CAAC;AAAA,EACvD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,IAAI,qBAAqB;AACrB,WAAO,CAAC,KAAK,aAAa,sBAAsB,KAAK;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,WAAW,qBAAqB;AAC5B,WAAO;EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,UAAU,SAAS,cAAc,MAAM;AAE3C,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAKD,YAAY;AACR,QAAI,cAAc,KAAK;AAEvB,QAAI,YAAY,WAAW,EAAG;AAE9B,QAAI,aAAa,YAAY,SAAS,CAAC,MAAM,CAAC;AAE9C,eAAW,aAAa,QAAQ,IAAI;AAEpC,UAAM,iBACF,KAAK,aAAa,UAClB,YAAY,SAAS,KAAK,YAC1B,KAAK,sBAAsB,KAAK,sBAAsB,KAAK;AAE/D,QAAI,gBAAgB;AAChB,kBAAY,QAAQ,CAAC,GAAG,UAAU;AAC9B,YAAI,UAAU,KAAK,qBAAqB;AACpC,YAAE,aAAa,4BAA4B,IAAI;AAAA,QAClD;AAED,YAAI,SAAS,KAAK,uBAAuB,QAAQ,YAAY,SAAS,KAAK,oBAAoB;AAC3F,YAAE,aAAa,aAAa,IAAI;AAAA,QACnC;AAAA,MACjB,CAAa;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,iBAAiB;AACb,WAAO,MAAM,KAAK,KAAK,iBAAiB,gBAAgB,CAAC,KAAK;EACjE;AACL;ACxLA,YAAY,OAAO,mBAAmB,WAAW;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-button-group.js","sources":["../packages/wje-button-group/button-group.element.js","../packages/wje-button-group/button-group.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary ButtonGroup class\n * @class\n * @augments WJElement\n * @csspart native - The component's native wrapper.\n * @slot - The button group main content.\n * @csspart native - The component's native wrapper.\n */\n\nexport default class ButtonGroup extends WJElement {\n /**\n * ButtonGroup constructor method.\n * @class\n */\n constructor() {\n super();\n }\n\n /**\n * Class name for the ButtonGroup element\n * @type {string}\n */\n className = 'ButtonGroup';\n\n /**\n * Get CSS stylesheet for the ButtonGroup element.\n * @static\n * @returns {object} styles - The CSS styles\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Get observed attributes for the ButtonGroup element.\n * @static\n * @returns {Array<string>} observedAttributes - The observed attributes array\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Setup attributes for the ButtonGroup element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draw method for the ButtonGroup element.\n * @returns {object} fragment - The document fragment\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let element = document.createElement('div');\n element.classList.add('native-button-group');\n element.setAttribute('part', 'native');\n\n this.slotElement = document.createElement('slot');\n\n element.appendChild(this.slotElement);\n\n fragment.appendChild(element);\n\n return fragment;\n }\n\n /**\n * After draw method for the ButtonGroup element.\n */\n afterDraw() {\n const slottedElements = [...this.slotElement.assignedElements({ flatten: true })];\n\n slottedElements.forEach((el) => {\n let index = slottedElements.indexOf(el);\n let button = this.findButton(el);\n if (button) {\n button.classList.add('wje-button-group-button');\n button.classList.toggle('wje-button-group-first', index === 0);\n button.classList.toggle('wje-button-group-inner', index > 0 && index < slottedElements.length - 1);\n button.classList.toggle('wje-button-group-last', index === slottedElements.length - 1);\n }\n });\n }\n\n /**\n * Find button method to find the button element.\n * @param {object} el The element\n * @returns {object} button - The button element\n */\n findButton(el) {\n const selector = 'wje-button';\n\n return el.closest(selector) ?? el.querySelector(selector);\n }\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport ButtonGroup from './button-group.element.js';\n\n// export * from \"./button-group.element.js\";\nexport default ButtonGroup;\n\nWJElement.define('wje-button-group', ButtonGroup);\n"],"names":[],"mappings":";;;;;AAYe,MAAM,oBAAoB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAK/C,cAAc;AACV;AAOJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EANX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,WAAW,qBAAqB;AAC5B,WAAO;EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,UAAU,SAAS,cAAc,KAAK;AAC1C,YAAQ,UAAU,IAAI,qBAAqB;AAC3C,YAAQ,aAAa,QAAQ,QAAQ;AAErC,SAAK,cAAc,SAAS,cAAc,MAAM;AAEhD,YAAQ,YAAY,KAAK,WAAW;AAEpC,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAKD,YAAY;AACR,UAAM,kBAAkB,CAAC,GAAG,KAAK,YAAY,iBAAiB,EAAE,SAAS,KAAM,CAAA,CAAC;AAEhF,oBAAgB,QAAQ,CAAC,OAAO;AAC5B,UAAI,QAAQ,gBAAgB,QAAQ,EAAE;AACtC,UAAI,SAAS,KAAK,WAAW,EAAE;AAC/B,UAAI,QAAQ;AACR,eAAO,UAAU,IAAI,yBAAyB;AAC9C,eAAO,UAAU,OAAO,0BAA0B,UAAU,CAAC;AAC7D,eAAO,UAAU,OAAO,0BAA0B,QAAQ,KAAK,QAAQ,gBAAgB,SAAS,CAAC;AACjG,eAAO,UAAU,OAAO,yBAAyB,UAAU,gBAAgB,SAAS,CAAC;AAAA,MACxF;AAAA,IACb,CAAS;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,WAAW,IAAI;AACX,UAAM,WAAW;AAEjB,WAAO,GAAG,QAAQ,QAAQ,KAAK,GAAG,cAAc,QAAQ;AAAA,EAC3D;AACL;AC9FA,UAAU,OAAO,oBAAoB,WAAW;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-button.js","sources":["../packages/utils/utils.js","../packages/wje-button/button.element.js","../packages/wje-button/button.js"],"sourcesContent":["export const bool = (v) => {\n return v === 'false' || v === 'null' || v === 'NaN' || v === 'undefined' || v === '0' ? false : !!v;\n};\n","import { bindRouterLinks } from 'slick-router/middlewares/router-links.js';\n\nimport { bool } from '../utils/utils.js';\nimport { default as WJElement, event, WjElementUtils } from '../wje-element/element.js';\nimport Icon from '../wje-icon/icon.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents Button element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/button\n * @status stable\n * @augments WJElement\n * @dependency wje-icon\n * @slot - The button main content.\n * @slot icon - The button icon.\n * @slot caret - The button caret.\n * @slot start - The button start slot.\n * @slot end - The button end slot.\n * @slot toggle - The button toggle slot.\n * @csspart native - The component's native wrapper.\n * @cssproperty [--wje-button-background-color=transparent] - Background color of the component;\n * @cssproperty [--wje-button-border-color=--wje-color-contrast-4] - Border color of the component;\n * @cssproperty [--wje-button-color=--wje-color-contrast-11] - Color of the component;\n * @cssproperty [--wje-button-border-radius=--wje-border-radius-medium] - Border radius of the component;\n * @cssproperty [--wje-button-border-width=1px] - Border width of the component;\n * @cssproperty [--wje-button-border-style=solid] - Border style of the component;\n * @cssproperty [--wje-button-border-color=--wje-color-contrast-1] - Border color of the component;\n * @cssproperty [--wje-button-margin-inline=0] - Margin inline of the component;\n */\n\nexport default class Button extends WJElement {\n /**\n * Button constructor method.\n * @class\n */\n constructor() {\n super();\n\n this.internals_ = this.attachInternals();\n }\n\n /**\n * Dependencies of the Button element.\n * @type {object}\n */\n dependencies = {\n 'wje-icon': Icon,\n };\n\n /**\n * Properties of the element Button.\n * @param value\n */\n set color(value) {\n this.setAttribute('color', value || 'default');\n }\n\n /**\n * Get color of the Button element.\n * @returns {string|string}\n */\n get color() {\n return this.getAttribute('color') || 'default';\n }\n\n /**\n * Set variant of the Button element.\n * @param value\n */\n set caret(value) {\n this.setAttribute('caret', value);\n }\n\n /**\n * Get variant of the Button element.\n * @returns {boolean}\n */\n get caret() {\n return this.hasAttribute('caret');\n }\n\n /**\n * Set variant of the Button element.\n * @param value\n */\n set tooltip(value) {\n this.setAttribute('tooltip', value);\n }\n\n /**\n * Get variant of the Button element.\n * @returns {boolean}\n */\n get tooltip() {\n return this.hasAttribute('tooltip');\n }\n\n /**\n * Set variant of the Button element.\n * @param value\n */\n set dialog(value) {\n this.setAttribute('dialog', value);\n }\n\n /**\n * Get variant of the Button element.\n * @returns {string|object}\n */\n get dialog() {\n return this.getAttribute('dialog');\n }\n\n /**\n * Set active state of the Button element.\n * @param {boolean} value The value to set\n */\n set active(value) {\n this.setAttribute('active', '');\n }\n\n /**\n * Get active state of the Button element.\n * @returns {boolean} active - The active state\n */\n get active() {\n return this.hasAttribute('active');\n }\n\n /**\n * Set disabled state of the Button element.\n * @param {boolean} value The value to set\n */\n set disabled(value) {\n if (value) this.setAttribute('disabled', '');\n else this.removeAttribute('disabled');\n }\n\n /**\n * Get disabled state of the Button element.\n * @returns {boolean} disabled - The disabled state\n */\n get disabled() {\n return this.hasAttribute('disabled');\n }\n\n /**\n * Set fill of the Button element.\n * @param {string} value The value to set\n */\n set fill(value) {\n this.setAttribute('fill', value);\n }\n\n /**\n * Get fill of the Button element.\n * @returns {string} fill - The fill value\n */\n get fill() {\n return this.getAttribute('fill') || 'solid';\n }\n\n /**\n * Set outline state of the Button element.\n * @param {boolean} value The value to set\n */\n set outline(value) {\n this.setAttribute('outline', '');\n }\n\n /**\n * Get outline state of the Button element.\n * @returns {boolean} outline - The outline state\n */\n get outline() {\n return this.hasAttribute('outline');\n }\n\n /**\n * Set stop propagation state of the Button element.\n * @param {boolean} value The value to set\n */\n set stopPropagation(value) {\n this.setAttribute('stop-propagation', bool(value));\n }\n\n /**\n * Get stop propagation state of the Button element.\n * @returns {boolean} stopPropagation - The stop propagation state\n */\n get stopPropagation() {\n return bool(this.getAttribute('stop-propagation'));\n }\n\n /**\n * Class name for the Button element\n * @type {string}\n */\n className = 'Button';\n\n /**\n * Get CSS stylesheet for the Button element.\n * @static\n * @returns {CSSStyleSheet} styles - The CSS stylesheet for the Button element.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Get observed attributes for the Button element.\n * @static\n * @returns {Array<string>} observedAttributes - The observed attributes array for the Button element.\n */\n static get observedAttributes() {\n return ['disabled'];\n }\n\n /**\n * @summary A static property that indicates whether the custom element is form-associated or not.\n * Form-associated custom elements are elements that can participate in form submission.\n * @type {boolean}\n */\n static formAssociated = true;\n\n /**\n * @summary Callback function that is called when the custom element is associated with a form.\n * This function sets the internal `_form` property to the associated form.\n * @param {HTMLFormElement} form The form the custom element is associated with.\n */\n formAssociatedCallback(form) {\n this._form = form;\n }\n\n /**\n * @summary Callback function that is called when the form-associated state of the custom element changes.\n * This function updates the 'disabled' attribute of the element based on the new state.\n * @param {boolean} disabled The new form-associated state.\n */\n formDisabledCallback(disabled) {\n if (disabled) {\n this.setAttribute('disabled', '');\n } else {\n this.removeAttribute('disabled');\n }\n }\n\n /**\n * Setup attributes for the Button element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draw method for the Button element.\n * @returns {object} fragment - The document fragment containing the drawn element.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement(this.hasAttribute('href') ? 'a' : 'button');\n if (this.hasAttribute('href')) {\n native.setAttribute('href', this.getAttribute('href'));\n } else {\n if (this.type === 'submit') {\n native.setAttribute('type', 'submit');\n }\n }\n\n native.classList.add('native-button');\n native.setAttribute('part', 'native');\n\n this.classList.remove('wje-button-disabled');\n\n if (this.disabled) native.classList.add('wje-button-disabled');\n\n if (this.variant) native.classList.add('wje-button-' + this.variant);\n\n if (this.hasAttribute('round')) native.classList.add('wje-button-round');\n\n if (this.hasAttribute('circle')) native.classList.add('wje-button-circle');\n\n if (this.outline) native.classList.add('wje-outline');\n\n if (this.fill) native.classList.add('wje-button-' + this.fill);\n\n if (this.size) native.classList.add('wje-button-' + this.size);\n\n if (\n (this.querySelectorAll('[slot=caret]').length < 1 && this.hasAttribute('caret')) ||\n this.hasAttribute('only-caret')\n ) {\n let i = document.createElement('wje-icon');\n i.style.setProperty('--wje-icon-size', '14px');\n i.setAttribute('slot', 'caret');\n i.setAttribute('name', 'chevron-down');\n i.setAttribute('part', 'caret');\n\n this.appendChild(i);\n }\n\n if (this.active) {\n this.classList.add('wje-active');\n let i = document.createElement('wje-icon');\n i.setAttribute('name', 'check');\n\n this.appendChild(i);\n }\n\n native.classList.add('wje-color-' + this.color, 'wje-color');\n\n let span = document.createElement('span');\n span.setAttribute('part', 'inner');\n span.classList.add('button-inner');\n\n let slot = document.createElement('slot');\n slot.setAttribute('name', 'icon-only');\n span.appendChild(slot);\n\n slot = document.createElement('slot');\n slot.setAttribute('name', 'start');\n span.appendChild(slot);\n\n slot = document.createElement('slot');\n span.appendChild(slot);\n\n slot = document.createElement('slot');\n slot.setAttribute('name', 'end');\n span.appendChild(slot);\n\n slot = document.createElement('slot');\n slot.setAttribute('name', 'caret');\n span.appendChild(slot);\n\n this.hasToggle = WjElementUtils.hasSlot(this, 'toggle');\n\n if (this.hasToggle) {\n this.slotToggle = document.createElement('slot');\n this.slotToggle.setAttribute('name', 'toggle');\n\n span.appendChild(this.slotToggle);\n }\n\n native.appendChild(span);\n\n if (this.tooltip) {\n let tooltip = document.createElement('wje-tooltip');\n tooltip.setAttribute('content', this.getAttribute('tooltip'));\n tooltip.setAttribute('placement', this.getAttribute('tooltip-placement') || 'top');\n tooltip.appendChild(native);\n\n fragment.appendChild(tooltip);\n } else {\n fragment.appendChild(native);\n }\n\n return fragment;\n }\n\n /**\n * After draw method for the Button element.\n */\n afterDraw() {\n if (this.hasAttribute('route')) {\n this.unbindRouterLinks = bindRouterLinks(this.parentElement, { selector: false });\n }\n\n // nastavenie toggle podla atributu, ak nie je nastaveny, tak sa zobrazi vzdy prvy element\n if (this.hasToggle) {\n if (this.toggle === 'off') {\n this.slotToggle.assignedNodes()[1].classList.add('show');\n this.setAttribute('value', 'off');\n } else {\n this.slotToggle.assignedNodes()[0].classList.add('show');\n this.setAttribute('value', 'on');\n }\n }\n\n if (this.hasAttribute('dialog')) {\n event.addListener(this, 'click', null, this.eventDialogOpen);\n } else {\n event.addListener(this, 'click', 'wje-button:click', null); // { stopPropagation: this.stopPropagation } - zrusene kvoli dropdown kde som nevedel odchytit event click\n }\n\n if (this.hasToggle)\n event.addListener(this, 'click', 'wje-button:toggle', this.toggleStates, {\n stopPropagation: this.stopPropagation,\n });\n\n if (this.type === 'submit') {\n event.addListener(this, 'click', 'wje-button:submit', () => {\n console.log('submit', this.internals_.form);\n event.dispatchCustomEvent(this.internals_.form, 'submit', {});\n });\n }\n\n if (this.type === 'reset') {\n event.addListener(this, 'click', 'wje-button:reset', () => {\n this.internals_.form.reset();\n });\n }\n }\n\n /**\n * Before disconnect method for the Button element.\n */\n beforeDisconnect() {\n this.removeEventListener('click', this.eventDialogOpen);\n this.unbindRouterLinks?.();\n }\n\n /**\n * Event dialog open method for the Button element.\n * @param {Event} e The event object\n */\n eventDialogOpen = (e) => {\n event.dispatchCustomEvent(this, this.dialog);\n };\n\n /**\n * Toggle states method for the Button element.\n */\n toggleStates = () => {\n const nodes = this.slotToggle.assignedNodes().filter((node) => node.nodeType === Node.ELEMENT_NODE);\n\n nodes.forEach((node, index) => {\n if (node.classList.contains('show')) {\n node.classList.remove('show');\n } else {\n node.classList.add('show');\n this.setAttribute('value', index === 0 ? 'on' : 'off');\n }\n });\n };\n}\n","import Button from './button.element.js';\n\nexport default Button;\n\nButton.define('wje-button', Button);\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-card-content.js","sources":["../packages/wje-card-content/card-content.element.js","../packages/wje-card-content/card-content.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents an Card Content element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/card-content\n * @status stable\n * @augments WJElement\n * @slot - The card content main content.\n * @cssproperty [--wje-card-padding=0] - Padding of the component;\n */\nexport default class CardContent extends WJElement {\n /**\n * CardContent constructor method.\n * @class\n */\n constructor() {\n super();\n }\n\n /**\n * Class name for the CardContent element.\n * @type {string}\n */\n className = 'CardContent';\n\n /**\n * Get CSS stylesheet for the CardContent element.\n * @static\n * @returns {object} styles - The CSS styles for the CardContent element.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Setup attributes for the CardContent element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draw method for the CardContent element.\n * @returns {object} fragment - The document fragment containing the drawn element.\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 { default as WJElement } from '../wje-element/element.js';\nimport CardContent from './card-content.element.js';\n\n// export * from \"./card-content.element.js\";\nexport default CardContent;\n\nWJElement.define('wje-card-content', CardContent);\n"],"names":[],"mappings":";;;;;AAWe,MAAM,oBAAoB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAK/C,cAAc;AACV;AAOJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EANX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,UAAU,SAAS,cAAc,MAAM;AAC3C,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACV;AACL;AChDA,UAAU,OAAO,oBAAoB,WAAW;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-card-controls.js","sources":["../packages/wje-card-controls/card-controls.element.js","../packages/wje-card-controls/card-controls.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents Card Controls element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/card-controls\n * @status stable\n * @augments WJElement\n * @slot - The card controls main content.\n * @cssproperty [--wje-card-controls-font-size=11px] - Font size of the component;\n * @cssproperty [--wje-card-controls-font-family=--wje-font-family-secondary] - Font family of the component;\n */\nexport default class CardControls extends WJElement {\n /**\n * CardControls constructor method.\n * @class\n */\n constructor() {\n super();\n }\n\n /**\n * Class name for the CardControls element.\n * @type {string}\n */\n className = 'CardControls';\n\n /**\n * Get CSS stylesheet for the CardControls element.\n * @static\n * @returns {object} styles - The CSS styles\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Setup attributes for the CardControls element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draw method for the CardControls element.\n * @returns {object} fragment - The document fragment\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let element = document.createElement('slot');\n\n fragment.appendChild(element);\n\n return fragment;\n }\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport CardControls from './card-controls.element.js';\n\n// export * from \"./card-controls.element.js\";\nexport default CardControls;\n\nWJElement.define('wje-card-controls', CardControls);\n"],"names":[],"mappings":";;;;;AAYe,MAAM,qBAAqB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhD,cAAc;AACV;AAOJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EANX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,UAAU,SAAS,cAAc,MAAM;AAE3C,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACV;AACL;AClDA,UAAU,OAAO,qBAAqB,YAAY;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-card-header.js","sources":["../packages/wje-card-header/card-header.element.js","../packages/wje-card-header/card-header.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary CardHeader class that extends WJElement.\n * @documentation https://elements.webjet.sk/components/card-header\n * @status stable\n * @augments WJElement\n * @slot - The card header main content.\n * @cssproperty [--wje-card-header-padding=1rem 1rem 0.5rem] - Padding of the component;\n */\nexport default class CardHeader extends WJElement {\n /**\n * CardHeader constructor method.\n */\n constructor() {\n super();\n }\n\n /**\n * Class name for the CardHeader.\n * @type {string}\n */\n className = 'CardHeader';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {object} The styles object.\n * @static\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Sets up the attributes for the CardHeader.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the CardHeader.\n * @returns {DocumentFragment} The created document fragment.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let element = document.createElement('slot');\n\n if (this.hasAttribute('separator')) this.classList.add('wje-separator');\n\n fragment.appendChild(element);\n\n return fragment;\n }\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport CardHeader from './card-header.element.js';\n\n// export * from \"./card-header.element.js\";\nexport default CardHeader;\n\nWJElement.define('wje-card-header', CardHeader);\n"],"names":[],"mappings":";;;;;AAWe,MAAM,mBAAmB,UAAU;AAAA;AAAA;AAAA;AAAA,EAI9C,cAAc;AACV;AAOJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EANX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,UAAU,SAAS,cAAc,MAAM;AAE3C,QAAI,KAAK,aAAa,WAAW,EAAG,MAAK,UAAU,IAAI,eAAe;AAEtE,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACV;AACL;AClDA,UAAU,OAAO,mBAAmB,UAAU;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-card-subtitle.js","sources":["../packages/wje-card-subtitle/card-subtitle.element.js","../packages/wje-card-subtitle/card-subtitle.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary CardSubtitle class that extends WJElement.\n * @documentation https://elements.webjet.sk/components/card-subtitle\n * @status stable\n * @augments WJElement\n * @slot - The card subtitle main content.\n * @cssproperty [--wje-card-subtitle-font-size=11px] - Font size of the component;\n * @cssproperty [--wje-card-subtitle-font-family=var(--wje-font-family-secondary)] - Font family of the component;\n * @cssproperty [--wje-card-subtitle-padding=0] - Padding of the component;\n */\nexport default class CardSubtitle extends WJElement {\n /**\n * CardSubtitle constructor method.\n */\n constructor() {\n super();\n }\n\n /**\n * Class name for the CardSubtitle.\n * @type {string}\n */\n className = 'CardTitle';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {object} The styles object.\n * @static\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {Array} An empty array.\n * @static\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Sets up the attributes for the CardSubtitle.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the CardSubtitle element.\n * @returns {DocumentFragment} The created document fragment.\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 { default as WJElement } from '../wje-element/element.js';\nimport CardSubtitle from './card-subtitle.element.js';\n\n// export * from \"./card-subtitle.element.js\";\nexport default CardSubtitle;\n\nWJElement.define('wje-card-subtitle', CardSubtitle);\n"],"names":[],"mappings":";;;;;AAae,MAAM,qBAAqB,UAAU;AAAA;AAAA;AAAA;AAAA,EAIhD,cAAc;AACV;AAOJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EANX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,WAAW,qBAAqB;AAC5B,WAAO;EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,UAAU,SAAS,cAAc,MAAM;AAC3C,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACV;AACL;AC1DA,UAAU,OAAO,qBAAqB,YAAY;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-card-title.js","sources":["../packages/wje-card-title/card-title.element.js","../packages/wje-card-title/card-title.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary CardTitle class that extends WJElement.\n * @documentation https://elements.webjet.sk/components/card-title\n * @status stable\n * @augments WJElement\n * @slot - The card title main content.\n * @cssproperty [--wje-card-title-font-size=24px] - Font size of the component;\n * @cssproperty [--wje-card-title-font-weight=500] - Font weight of the component;\n * @cssproperty [--wje-card-title-margin=0] - Margin of the component;\n * @cssproperty [--wje-card-title-padding=0] - Padding of the component;\n * @cssproperty [--wje-card-title-line-height=1.2] - Line height of the component;\n */\nexport default class CardTitle extends WJElement {\n /**\n * CardTitle constructor method.\n */\n constructor() {\n super();\n }\n\n /**\n * Class name for the CardTitle.\n * @type {string}\n */\n className = 'CardTitle';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {object} The styles object.\n * @static\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {Array} An empty array.\n * @static\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Sets up the attributes for the CardTitle.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draws the CardTitle element.\n * @returns {DocumentFragment} The created document fragment.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let element = document.createElement('slot');\n\n fragment.appendChild(element);\n\n return fragment;\n }\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport CardTitle from './card-title.element.js';\n\n// export * from \"./card-title.element.js\";\nexport default CardTitle;\n\nWJElement.define('wje-card-title', CardTitle);\n"],"names":[],"mappings":";;;;;AAee,MAAM,kBAAkB,UAAU;AAAA;AAAA;AAAA;AAAA,EAI7C,cAAc;AACV;AAOJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EANX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,WAAW,qBAAqB;AAC5B,WAAO;EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,QAAI,WAAW,SAAS;AAExB,QAAI,UAAU,SAAS,cAAc,MAAM;AAE3C,aAAS,YAAY,OAAO;AAE5B,WAAO;AAAA,EACV;AACL;AC7DA,UAAU,OAAO,kBAAkB,SAAS;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wje-card.js","sources":["../packages/wje-card/card.element.js","../packages/wje-card/card.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents Card element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/card\n * @status stable\n * @augments WJElement\n * @slot - The card main content.\n * @cssproperty [--wje-card-margin-top=0] - Margin top of the component;\n * @cssproperty [--wje-card-margin-bottom=1rem] - Margin bottom of the component;\n * @cssproperty [--wje-card-margin-inline=0] - Margin inline of the component;\n * @cssproperty [--wje-card-border-color=transparent] - Border color of the component;\n * @cssproperty [--wje-card-background=#fff] - Background of the component;\n */\nexport default class Card extends WJElement {\n /**\n * Card constructor method.\n * @class\n */\n constructor() {\n super();\n }\n\n /**\n * Class name for the Card element.\n * @type {string}\n */\n className = 'Card';\n\n /**\n * Get CSS stylesheet for the Card element.\n * @static\n * @returns {object} styles - The CSS styles\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Setup attributes for the Card element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Draw method for the Card element.\n * @param {object} context The context object\n * @param {object} store The store object\n * @param {object} params The parameters\n * @returns {object} fragment - The document fragment\n */\n draw(context, store, params) {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.classList.add('native-card');\n\n let slot = document.createElement('slot');\n\n if (params.color) native.classList.add('wje-color-' + params.color);\n\n native.appendChild(slot);\n\n fragment.appendChild(native);\n\n return fragment;\n }\n}\n","import { default as WJElement } from '../wje-element/element.js';\nimport Card from './card.element.js';\n\n// export * from \"./card.element.js\";\nexport default Card;\n\nWJElement.define('wje-card', Card);\n"],"names":[],"mappings":";;;;;AAee,MAAM,aAAa,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAKxC,cAAc;AACV;AAOJ;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EANX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaD,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAKD,kBAAkB;AACd,SAAK,eAAe;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASD,KAAK,SAAS,OAAO,QAAQ;AACzB,QAAI,WAAW,SAAS;AAExB,QAAI,SAAS,SAAS,cAAc,KAAK;AACzC,WAAO,aAAa,QAAQ,QAAQ;AACpC,WAAO,UAAU,IAAI,aAAa;AAElC,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,QAAI,OAAO,MAAO,QAAO,UAAU,IAAI,eAAe,OAAO,KAAK;AAElE,WAAO,YAAY,IAAI;AAEvB,aAAS,YAAY,MAAM;AAE3B,WAAO;AAAA,EACV;AACL;AChEA,UAAU,OAAO,YAAY,IAAI;"}