@zanichelli/albe-web-components 20.0.5 → 20.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (950) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/_commonjsHelpers-CFO10eej.js +0 -3
  3. package/dist/cjs/breakpoints-B7vFm-3T.js +0 -3
  4. package/dist/cjs/iconset-BIdMT0Ke.js +0 -3
  5. package/dist/cjs/index-DppFfqsn.js +0 -3
  6. package/dist/cjs/{index-CZz7uP-M.js → index-ps8icjTZ.js} +37 -13
  7. package/dist/cjs/index.cjs.js +0 -3
  8. package/dist/cjs/loader.cjs.js +2 -5
  9. package/dist/cjs/{reactive-controller-DJkjAuqS.js → reactive-controller-B7HE6OC5.js} +1 -4
  10. package/dist/cjs/utils-BnCPu0Si.js +0 -3
  11. package/dist/cjs/utils-C6lcMaul.js +0 -3
  12. package/dist/cjs/web-components-library.cjs.js +3 -6
  13. package/dist/cjs/z-accordion.cjs.entry.js +1 -4
  14. package/dist/cjs/z-anchor-navigation.cjs.entry.js +1 -4
  15. package/dist/cjs/z-app-header_12.cjs.entry.js +73 -39
  16. package/dist/cjs/z-aria-alert.cjs.entry.js +2 -5
  17. package/dist/cjs/z-avatar.cjs.entry.js +3 -6
  18. package/dist/cjs/z-book-card-app.cjs.entry.js +2 -5
  19. package/dist/cjs/z-book-card.cjs.entry.js +2 -5
  20. package/dist/cjs/z-book-cover.cjs.entry.js +2 -5
  21. package/dist/cjs/z-breadcrumb.cjs.entry.js +3 -6
  22. package/dist/cjs/z-button-sort.cjs.entry.js +2 -5
  23. package/dist/cjs/z-card.cjs.entry.js +1 -4
  24. package/dist/cjs/z-carousel.cjs.entry.js +2 -5
  25. package/dist/cjs/z-chip.cjs.entry.js +3 -6
  26. package/dist/cjs/z-color-picker.cjs.entry.js +2 -5
  27. package/dist/cjs/z-combobox.cjs.entry.js +4 -7
  28. package/dist/cjs/z-cover-hero.cjs.entry.js +3 -6
  29. package/dist/cjs/z-date-picker.cjs.entry.js +1 -4
  30. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +6 -9
  31. package/dist/cjs/z-file-upload.cjs.entry.js +1 -4
  32. package/dist/cjs/z-file.cjs.entry.js +1 -4
  33. package/dist/cjs/z-ghost-loading.cjs.entry.js +2 -5
  34. package/dist/cjs/z-info-box.cjs.entry.js +2 -5
  35. package/dist/cjs/z-info-reveal.cjs.entry.js +2 -5
  36. package/dist/cjs/z-input-range.cjs.entry.js +3 -6
  37. package/dist/cjs/z-logo.cjs.entry.js +2 -5
  38. package/dist/cjs/z-menu-section.cjs.entry.js +2 -5
  39. package/dist/cjs/z-menu.cjs.entry.js +1 -4
  40. package/dist/cjs/z-navigation-tabs.cjs.entry.js +3 -6
  41. package/dist/cjs/z-notification.cjs.entry.js +2 -5
  42. package/dist/cjs/z-pagination.cjs.entry.js +1 -4
  43. package/dist/cjs/z-popover.cjs.entry.js +2 -5
  44. package/dist/cjs/z-range-picker.cjs.entry.js +1 -4
  45. package/dist/cjs/z-result-card.cjs.entry.js +1 -4
  46. package/dist/cjs/z-select.cjs.entry.js +12 -9
  47. package/dist/cjs/z-skip-to-content.cjs.entry.js +2 -5
  48. package/dist/cjs/z-stepper-item.cjs.entry.js +2 -5
  49. package/dist/cjs/z-stepper.cjs.entry.js +2 -5
  50. package/dist/cjs/z-table.cjs.entry.js +1 -4
  51. package/dist/cjs/z-tbody.cjs.entry.js +1 -4
  52. package/dist/cjs/z-td.cjs.entry.js +1 -4
  53. package/dist/cjs/z-tfoot.cjs.entry.js +1 -4
  54. package/dist/cjs/z-th.cjs.entry.js +1 -4
  55. package/dist/cjs/z-thead.cjs.entry.js +1 -4
  56. package/dist/cjs/z-toast-notification-list.cjs.entry.js +2 -5
  57. package/dist/cjs/z-toast-notification.cjs.entry.js +4 -7
  58. package/dist/cjs/z-toggle-switch.cjs.entry.js +5 -8
  59. package/dist/cjs/z-tool.cjs.entry.js +4 -7
  60. package/dist/cjs/z-toolbar.cjs.entry.js +2 -5
  61. package/dist/cjs/z-tooltip.cjs.entry.js +2 -5
  62. package/dist/cjs/z-tr.cjs.entry.js +1 -4
  63. package/dist/cjs/z-tree-list.cjs.entry.js +1 -4
  64. package/dist/cjs/z-visually-hidden.cjs.entry.js +2 -5
  65. package/dist/collection/beans/index.js +0 -1
  66. package/dist/collection/collection-manifest.json +1 -1
  67. package/dist/collection/components/book-card/z-book-card/index.js +0 -1
  68. package/dist/collection/components/book-card/z-book-card-app/index.js +0 -1
  69. package/dist/collection/components/css-components/z-label/styles.css +7 -3
  70. package/dist/collection/components/css-components/z-scrollbar/styles.css +53 -13
  71. package/dist/collection/components/date-picker/utils.js +0 -1
  72. package/dist/collection/components/date-picker/z-date-picker/index.js +0 -1
  73. package/dist/collection/components/date-picker/z-range-picker/index.js +0 -1
  74. package/dist/collection/components/deprecated/table/cells/z-td/index.js +0 -1
  75. package/dist/collection/components/deprecated/table/cells/z-th/index.js +0 -1
  76. package/dist/collection/components/deprecated/table/z-table/index.js +0 -1
  77. package/dist/collection/components/deprecated/table/z-tbody/index.js +0 -1
  78. package/dist/collection/components/deprecated/table/z-tfoot/index.js +0 -1
  79. package/dist/collection/components/deprecated/table/z-thead/index.js +0 -1
  80. package/dist/collection/components/deprecated/table/z-tr/index.js +0 -1
  81. package/dist/collection/components/file-upload/z-dragdrop-area/index.js +0 -1
  82. package/dist/collection/components/file-upload/z-file/index.js +0 -1
  83. package/dist/collection/components/file-upload/z-file-upload/index.js +0 -1
  84. package/dist/collection/components/index.js +0 -1
  85. package/dist/collection/components/list/z-list/index.js +0 -1
  86. package/dist/collection/components/list/z-list-element/index.js +0 -1
  87. package/dist/collection/components/list/z-list-group/index.js +0 -1
  88. package/dist/collection/components/list/z-tree-list/index.js +0 -1
  89. package/dist/collection/components/z-accordion/index.js +0 -1
  90. package/dist/collection/components/z-anchor-navigation/index.js +0 -1
  91. package/dist/collection/components/z-app-header/index.js +9 -15
  92. package/dist/collection/components/z-app-header/styles.css +12 -20
  93. package/dist/collection/components/z-aria-alert/index.js +1 -2
  94. package/dist/collection/components/z-avatar/index.js +2 -3
  95. package/dist/collection/components/z-book-cover/index.js +1 -2
  96. package/dist/collection/components/z-breadcrumb/index.js +2 -3
  97. package/dist/collection/components/z-button/index.js +0 -1
  98. package/dist/collection/components/z-button-sort/index.js +1 -2
  99. package/dist/collection/components/z-card/index.js +0 -1
  100. package/dist/collection/components/z-carousel/index.js +0 -1
  101. package/dist/collection/components/z-chip/index.js +2 -3
  102. package/dist/collection/components/z-color-picker/index.js +1 -2
  103. package/dist/collection/components/z-combobox/index.js +1 -2
  104. package/dist/collection/components/z-combobox/styles.css +3 -3
  105. package/dist/collection/components/z-cover-hero/index.js +2 -3
  106. package/dist/collection/components/z-divider/index.js +1 -2
  107. package/dist/collection/components/z-ghost-loading/index.js +1 -2
  108. package/dist/collection/components/z-icon/index.js +1 -2
  109. package/dist/collection/components/z-info-box/index.js +1 -2
  110. package/dist/collection/components/z-info-reveal/index.js +1 -2
  111. package/dist/collection/components/z-input/index.js +50 -8
  112. package/dist/collection/components/z-input/styles-general.css +74 -23
  113. package/dist/collection/components/z-input/styles-text.css +13 -16
  114. package/dist/collection/components/z-input/styles-textarea.css +2 -1
  115. package/dist/collection/components/z-input-message/index.js +1 -2
  116. package/dist/collection/components/z-input-message/styles.css +9 -5
  117. package/dist/collection/components/z-input-range/index.js +1 -2
  118. package/dist/collection/components/z-logo/index.js +1 -2
  119. package/dist/collection/components/z-menu/index.js +0 -1
  120. package/dist/collection/components/z-menu-section/index.js +1 -2
  121. package/dist/collection/components/z-modal/index.js +4 -5
  122. package/dist/collection/components/z-navigation-tabs/index.js +2 -3
  123. package/dist/collection/components/z-notification/index.js +1 -2
  124. package/dist/collection/components/z-offcanvas/index.js +2 -3
  125. package/dist/collection/components/z-pagination/index.js +0 -1
  126. package/dist/collection/components/z-popover/index.js +1 -2
  127. package/dist/collection/components/z-result-card/index.js +0 -1
  128. package/dist/collection/components/z-searchbar/index.js +3 -4
  129. package/dist/collection/components/z-searchbar/styles.css +4 -0
  130. package/dist/collection/components/z-select/index.js +10 -5
  131. package/dist/collection/components/z-select/styles.css +4 -2
  132. package/dist/collection/components/z-skip-to-content/index.js +1 -2
  133. package/dist/collection/components/z-stepper/index.js +1 -2
  134. package/dist/collection/components/z-stepper-item/index.js +1 -2
  135. package/dist/collection/components/z-tag/index.js +2 -3
  136. package/dist/collection/components/z-toast-notification/index.js +3 -4
  137. package/dist/collection/components/z-toast-notification-list/index.js +1 -2
  138. package/dist/collection/components/z-toggle-switch/index.js +3 -4
  139. package/dist/collection/components/z-toggle-switch/styles.css +337 -4
  140. package/dist/collection/components/z-tool/index.js +2 -3
  141. package/dist/collection/components/z-toolbar/index.js +1 -2
  142. package/dist/collection/components/z-tooltip/index.js +1 -2
  143. package/dist/collection/components/z-visually-hidden/index.js +1 -2
  144. package/dist/collection/constants/breakpoints.js +0 -1
  145. package/dist/collection/constants/icons.js +0 -1
  146. package/dist/collection/constants/iconset.js +0 -1
  147. package/dist/collection/index.js +0 -1
  148. package/dist/collection/tokens/typography.css +537 -75
  149. package/dist/collection/utils/focus-trap-controller.js +0 -1
  150. package/dist/collection/utils/reactive-controller.js +0 -1
  151. package/dist/collection/utils/storybook-utils.js +0 -1
  152. package/dist/collection/utils/utils.js +0 -1
  153. package/dist/components/_commonjsHelpers.js +1 -2
  154. package/dist/components/breakpoints.js +1 -2
  155. package/dist/components/iconset.js +1 -2
  156. package/dist/components/index.js +1 -2
  157. package/dist/components/index10.js +1 -2
  158. package/dist/components/index11.js +1 -2
  159. package/dist/components/index12.js +1 -2
  160. package/dist/components/index13.js +1 -2
  161. package/dist/components/index14.js +1 -2
  162. package/dist/components/index15.js +1 -2
  163. package/dist/components/index16.js +1 -2
  164. package/dist/components/index17.js +1 -2
  165. package/dist/components/index18.js +1 -2
  166. package/dist/components/index19.js +1 -2
  167. package/dist/components/index2.js +1 -2
  168. package/dist/components/index20.js +1 -2
  169. package/dist/components/index21.js +1 -2
  170. package/dist/components/index3.js +1 -2
  171. package/dist/components/index4.js +1 -2
  172. package/dist/components/index5.js +1 -2
  173. package/dist/components/index6.js +1 -2
  174. package/dist/components/index7.js +1 -2
  175. package/dist/components/index8.js +1 -2
  176. package/dist/components/index9.js +1 -2
  177. package/dist/components/reactive-controller.js +2 -3
  178. package/dist/components/utils.js +2 -3
  179. package/dist/components/utils2.js +1 -2
  180. package/dist/components/z-accordion.js +1 -2
  181. package/dist/components/z-anchor-navigation.js +1 -2
  182. package/dist/components/z-app-header.js +1 -2
  183. package/dist/components/z-aria-alert.js +1 -2
  184. package/dist/components/z-avatar.js +1 -2
  185. package/dist/components/z-book-card-app.js +1 -2
  186. package/dist/components/z-book-card.js +1 -2
  187. package/dist/components/z-book-cover.js +1 -2
  188. package/dist/components/z-breadcrumb.js +1 -2
  189. package/dist/components/z-button-sort.js +1 -2
  190. package/dist/components/z-button.js +1 -2
  191. package/dist/components/z-card.js +1 -2
  192. package/dist/components/z-carousel.js +1 -2
  193. package/dist/components/z-chip.js +1 -2
  194. package/dist/components/z-color-picker.js +1 -2
  195. package/dist/components/z-combobox.js +1 -2
  196. package/dist/components/z-cover-hero.js +1 -2
  197. package/dist/components/z-date-picker.js +2 -3
  198. package/dist/components/z-divider.js +1 -2
  199. package/dist/components/z-dragdrop-area.js +1 -2
  200. package/dist/components/z-file-upload.js +1 -2
  201. package/dist/components/z-file.js +1 -2
  202. package/dist/components/z-ghost-loading.js +1 -2
  203. package/dist/components/z-icon.js +1 -2
  204. package/dist/components/z-info-box.js +1 -2
  205. package/dist/components/z-info-reveal.js +1 -2
  206. package/dist/components/z-input-message.js +1 -2
  207. package/dist/components/z-input-range.js +1 -2
  208. package/dist/components/z-input.js +1 -2
  209. package/dist/components/z-list-element.js +1 -2
  210. package/dist/components/z-list-group.js +1 -2
  211. package/dist/components/z-list.js +1 -2
  212. package/dist/components/z-logo.js +1 -2
  213. package/dist/components/z-menu-section.js +1 -2
  214. package/dist/components/z-menu.js +1 -2
  215. package/dist/components/z-modal.js +1 -2
  216. package/dist/components/z-navigation-tabs.js +1 -2
  217. package/dist/components/z-notification.js +1 -2
  218. package/dist/components/z-offcanvas.js +1 -2
  219. package/dist/components/z-pagination.js +1 -2
  220. package/dist/components/z-popover.js +1 -2
  221. package/dist/components/z-range-picker.js +1 -2
  222. package/dist/components/z-result-card.js +1 -2
  223. package/dist/components/z-searchbar.js +1 -2
  224. package/dist/components/z-select.js +1 -2
  225. package/dist/components/z-skip-to-content.js +1 -2
  226. package/dist/components/z-stepper-item.js +1 -2
  227. package/dist/components/z-stepper.js +1 -2
  228. package/dist/components/z-table.js +1 -2
  229. package/dist/components/z-tag.js +1 -2
  230. package/dist/components/z-tbody.js +1 -2
  231. package/dist/components/z-td.js +1 -2
  232. package/dist/components/z-tfoot.js +1 -2
  233. package/dist/components/z-th.js +1 -2
  234. package/dist/components/z-thead.js +1 -2
  235. package/dist/components/z-toast-notification-list.js +1 -2
  236. package/dist/components/z-toast-notification.js +2 -8
  237. package/dist/components/z-toggle-switch.js +1 -2
  238. package/dist/components/z-tool.js +1 -2
  239. package/dist/components/z-toolbar.js +1 -2
  240. package/dist/components/z-tooltip.js +1 -2
  241. package/dist/components/z-tr.js +1 -2
  242. package/dist/components/z-tree-list.js +1 -2
  243. package/dist/components/z-visually-hidden.js +1 -2
  244. package/dist/esm/_commonjsHelpers-B85MJLTf.js +0 -3
  245. package/dist/esm/breakpoints-Q-tWjk7P.js +0 -3
  246. package/dist/esm/iconset-D1c5gR45.js +0 -3
  247. package/dist/esm/index-DdetsoIY.js +0 -3
  248. package/dist/esm/{index-BcDWN4F1.js → index-SFwvdS4t.js} +37 -13
  249. package/dist/esm/index.js +0 -3
  250. package/dist/esm/loader.js +3 -6
  251. package/dist/esm/{reactive-controller-CHemhYDp.js → reactive-controller-Bp_OSSRX.js} +1 -4
  252. package/dist/esm/utils-BO5sSCUY.js +0 -3
  253. package/dist/esm/utils-CJc3A9NX.js +0 -3
  254. package/dist/esm/web-components-library.js +4 -7
  255. package/dist/esm/z-accordion.entry.js +1 -4
  256. package/dist/esm/z-anchor-navigation.entry.js +1 -4
  257. package/dist/esm/z-app-header_12.entry.js +73 -39
  258. package/dist/esm/z-aria-alert.entry.js +2 -5
  259. package/dist/esm/z-avatar.entry.js +3 -6
  260. package/dist/esm/z-book-card-app.entry.js +2 -5
  261. package/dist/esm/z-book-card.entry.js +2 -5
  262. package/dist/esm/z-book-cover.entry.js +2 -5
  263. package/dist/esm/z-breadcrumb.entry.js +3 -6
  264. package/dist/esm/z-button-sort.entry.js +2 -5
  265. package/dist/esm/z-card.entry.js +1 -4
  266. package/dist/esm/z-carousel.entry.js +2 -5
  267. package/dist/esm/z-chip.entry.js +3 -6
  268. package/dist/esm/z-color-picker.entry.js +2 -5
  269. package/dist/esm/z-combobox.entry.js +4 -7
  270. package/dist/esm/z-cover-hero.entry.js +3 -6
  271. package/dist/esm/z-date-picker.entry.js +1 -4
  272. package/dist/esm/z-dragdrop-area_2.entry.js +6 -9
  273. package/dist/esm/z-file-upload.entry.js +1 -4
  274. package/dist/esm/z-file.entry.js +1 -4
  275. package/dist/esm/z-ghost-loading.entry.js +2 -5
  276. package/dist/esm/z-info-box.entry.js +2 -5
  277. package/dist/esm/z-info-reveal.entry.js +2 -5
  278. package/dist/esm/z-input-range.entry.js +3 -6
  279. package/dist/esm/z-logo.entry.js +2 -5
  280. package/dist/esm/z-menu-section.entry.js +2 -5
  281. package/dist/esm/z-menu.entry.js +1 -4
  282. package/dist/esm/z-navigation-tabs.entry.js +3 -6
  283. package/dist/esm/z-notification.entry.js +2 -5
  284. package/dist/esm/z-pagination.entry.js +1 -4
  285. package/dist/esm/z-popover.entry.js +2 -5
  286. package/dist/esm/z-range-picker.entry.js +1 -4
  287. package/dist/esm/z-result-card.entry.js +1 -4
  288. package/dist/esm/z-select.entry.js +12 -9
  289. package/dist/esm/z-skip-to-content.entry.js +2 -5
  290. package/dist/esm/z-stepper-item.entry.js +2 -5
  291. package/dist/esm/z-stepper.entry.js +2 -5
  292. package/dist/esm/z-table.entry.js +1 -4
  293. package/dist/esm/z-tbody.entry.js +1 -4
  294. package/dist/esm/z-td.entry.js +1 -4
  295. package/dist/esm/z-tfoot.entry.js +1 -4
  296. package/dist/esm/z-th.entry.js +1 -4
  297. package/dist/esm/z-thead.entry.js +1 -4
  298. package/dist/esm/z-toast-notification-list.entry.js +2 -5
  299. package/dist/esm/z-toast-notification.entry.js +4 -7
  300. package/dist/esm/z-toggle-switch.entry.js +5 -8
  301. package/dist/esm/z-tool.entry.js +4 -7
  302. package/dist/esm/z-toolbar.entry.js +2 -5
  303. package/dist/esm/z-tooltip.entry.js +2 -5
  304. package/dist/esm/z-tr.entry.js +1 -4
  305. package/dist/esm/z-tree-list.entry.js +1 -4
  306. package/dist/esm/z-visually-hidden.entry.js +2 -5
  307. package/dist/types/components/z-app-header/index.d.ts +2 -3
  308. package/dist/types/components/z-input/index.d.ts +7 -0
  309. package/dist/types/components/z-select/index.d.ts +2 -0
  310. package/dist/types/components.d.ts +4 -4
  311. package/dist/types/stencil-public-runtime.d.ts +1 -0
  312. package/dist/web-components-library/index.esm.js +1 -2
  313. package/dist/web-components-library/p-01045d94.entry.js +1 -0
  314. package/dist/web-components-library/p-029b5462.entry.js +1 -0
  315. package/dist/web-components-library/p-07ad2d64.entry.js +1 -0
  316. package/dist/web-components-library/p-12086d02.entry.js +1 -0
  317. package/dist/web-components-library/p-16d11cd8.entry.js +1 -0
  318. package/dist/web-components-library/p-18a1ae5c.entry.js +1 -0
  319. package/dist/web-components-library/p-1b5a788a.entry.js +1 -0
  320. package/dist/web-components-library/p-1e47d958.entry.js +1 -0
  321. package/dist/web-components-library/p-265691af.entry.js +1 -0
  322. package/dist/web-components-library/p-26f6964c.entry.js +1 -0
  323. package/dist/web-components-library/p-28056b47.entry.js +1 -0
  324. package/dist/web-components-library/p-282fec35.entry.js +1 -0
  325. package/dist/web-components-library/p-2a122434.entry.js +1 -0
  326. package/dist/web-components-library/p-30458bad.entry.js +1 -0
  327. package/dist/web-components-library/p-33e1ffe6.entry.js +1 -0
  328. package/dist/web-components-library/p-35f50eb5.entry.js +1 -0
  329. package/dist/web-components-library/p-3fa6766d.entry.js +1 -0
  330. package/dist/web-components-library/p-417ff6c3.entry.js +16 -0
  331. package/dist/web-components-library/p-48da181b.entry.js +1 -0
  332. package/dist/web-components-library/p-48e6d036.entry.js +1 -0
  333. package/{www/build/p-ea462d53.entry.js → dist/web-components-library/p-4b506603.entry.js} +1 -2
  334. package/dist/web-components-library/p-566141b5.entry.js +1 -0
  335. package/dist/web-components-library/p-5684466e.entry.js +1 -0
  336. package/dist/web-components-library/p-5adb300f.entry.js +1 -0
  337. package/dist/web-components-library/p-5b2d9cb2.entry.js +1 -0
  338. package/dist/web-components-library/p-5e1546ca.entry.js +1 -0
  339. package/dist/web-components-library/p-5e276f04.entry.js +1 -0
  340. package/dist/web-components-library/p-5fe609c7.entry.js +1 -0
  341. package/dist/web-components-library/p-6631dd57.entry.js +1 -0
  342. package/dist/web-components-library/p-74796120.entry.js +1 -0
  343. package/dist/web-components-library/p-74b66d40.entry.js +1 -0
  344. package/dist/web-components-library/p-755fbc56.entry.js +1 -0
  345. package/dist/web-components-library/p-76e5775e.entry.js +1 -0
  346. package/dist/web-components-library/p-7d7db1de.entry.js +1 -0
  347. package/dist/web-components-library/p-8247cb21.entry.js +1 -0
  348. package/dist/web-components-library/p-867029d2.entry.js +1 -0
  349. package/dist/web-components-library/p-899ef830.entry.js +1 -0
  350. package/dist/web-components-library/p-8a2dc548.entry.js +1 -0
  351. package/dist/web-components-library/p-8a99f71b.entry.js +2 -0
  352. package/dist/web-components-library/p-B6jtvVtV.js +1 -2
  353. package/dist/web-components-library/p-B85MJLTf.js +1 -2
  354. package/dist/web-components-library/p-D1c5gR45.js +1 -2
  355. package/dist/web-components-library/p-DPrEzmhI.js +2 -3
  356. package/dist/web-components-library/p-DWyY-2H5.js +5 -0
  357. package/dist/web-components-library/p-DdetsoIY.js +1 -2
  358. package/dist/web-components-library/p-Q-tWjk7P.js +1 -2
  359. package/dist/web-components-library/p-SFwvdS4t.js +2 -0
  360. package/dist/web-components-library/p-b8e25468.entry.js +1 -0
  361. package/dist/web-components-library/p-c375c57c.entry.js +1 -0
  362. package/dist/web-components-library/p-c5dded69.entry.js +1 -0
  363. package/dist/web-components-library/p-c629fdb3.entry.js +1 -0
  364. package/dist/web-components-library/p-d22f34ac.entry.js +1 -0
  365. package/dist/web-components-library/p-e0db0935.entry.js +1 -0
  366. package/dist/web-components-library/p-e17981fe.entry.js +1 -0
  367. package/dist/web-components-library/p-e18ead24.entry.js +1 -0
  368. package/dist/web-components-library/p-e69a2a0b.entry.js +1 -0
  369. package/dist/web-components-library/p-ea40b987.entry.js +1 -0
  370. package/dist/web-components-library/p-eb0bd443.entry.js +1 -0
  371. package/dist/web-components-library/p-f5a6cde3.entry.js +1 -0
  372. package/dist/web-components-library/p-fdb00ffd.entry.js +1 -0
  373. package/dist/web-components-library/web-components-library.css +1149 -91
  374. package/dist/web-components-library/web-components-library.esm.js +1 -2
  375. package/package.json +13 -13
  376. package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +0 -1
  377. package/dist/cjs/breakpoints-B7vFm-3T.js.map +0 -1
  378. package/dist/cjs/iconset-BIdMT0Ke.js.map +0 -1
  379. package/dist/cjs/index-CZz7uP-M.js.map +0 -1
  380. package/dist/cjs/index-DppFfqsn.js.map +0 -1
  381. package/dist/cjs/index.cjs.js.map +0 -1
  382. package/dist/cjs/loader.cjs.js.map +0 -1
  383. package/dist/cjs/reactive-controller-DJkjAuqS.js.map +0 -1
  384. package/dist/cjs/utils-BnCPu0Si.js.map +0 -1
  385. package/dist/cjs/utils-C6lcMaul.js.map +0 -1
  386. package/dist/cjs/web-components-library.cjs.js.map +0 -1
  387. package/dist/cjs/z-accordion.cjs.entry.js.map +0 -1
  388. package/dist/cjs/z-anchor-navigation.cjs.entry.js.map +0 -1
  389. package/dist/cjs/z-app-header_12.cjs.entry.js.map +0 -1
  390. package/dist/cjs/z-aria-alert.cjs.entry.js.map +0 -1
  391. package/dist/cjs/z-avatar.cjs.entry.js.map +0 -1
  392. package/dist/cjs/z-book-card-app.cjs.entry.js.map +0 -1
  393. package/dist/cjs/z-book-card.cjs.entry.js.map +0 -1
  394. package/dist/cjs/z-book-cover.cjs.entry.js.map +0 -1
  395. package/dist/cjs/z-breadcrumb.cjs.entry.js.map +0 -1
  396. package/dist/cjs/z-button-sort.cjs.entry.js.map +0 -1
  397. package/dist/cjs/z-card.cjs.entry.js.map +0 -1
  398. package/dist/cjs/z-carousel.cjs.entry.js.map +0 -1
  399. package/dist/cjs/z-chip.cjs.entry.js.map +0 -1
  400. package/dist/cjs/z-color-picker.cjs.entry.js.map +0 -1
  401. package/dist/cjs/z-combobox.cjs.entry.js.map +0 -1
  402. package/dist/cjs/z-cover-hero.cjs.entry.js.map +0 -1
  403. package/dist/cjs/z-date-picker.cjs.entry.js.map +0 -1
  404. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js.map +0 -1
  405. package/dist/cjs/z-file-upload.cjs.entry.js.map +0 -1
  406. package/dist/cjs/z-file.cjs.entry.js.map +0 -1
  407. package/dist/cjs/z-ghost-loading.cjs.entry.js.map +0 -1
  408. package/dist/cjs/z-info-box.cjs.entry.js.map +0 -1
  409. package/dist/cjs/z-info-reveal.cjs.entry.js.map +0 -1
  410. package/dist/cjs/z-input-range.cjs.entry.js.map +0 -1
  411. package/dist/cjs/z-logo.cjs.entry.js.map +0 -1
  412. package/dist/cjs/z-menu-section.cjs.entry.js.map +0 -1
  413. package/dist/cjs/z-menu.cjs.entry.js.map +0 -1
  414. package/dist/cjs/z-navigation-tabs.cjs.entry.js.map +0 -1
  415. package/dist/cjs/z-notification.cjs.entry.js.map +0 -1
  416. package/dist/cjs/z-pagination.cjs.entry.js.map +0 -1
  417. package/dist/cjs/z-popover.cjs.entry.js.map +0 -1
  418. package/dist/cjs/z-range-picker.cjs.entry.js.map +0 -1
  419. package/dist/cjs/z-result-card.cjs.entry.js.map +0 -1
  420. package/dist/cjs/z-select.cjs.entry.js.map +0 -1
  421. package/dist/cjs/z-skip-to-content.cjs.entry.js.map +0 -1
  422. package/dist/cjs/z-stepper-item.cjs.entry.js.map +0 -1
  423. package/dist/cjs/z-stepper.cjs.entry.js.map +0 -1
  424. package/dist/cjs/z-table.cjs.entry.js.map +0 -1
  425. package/dist/cjs/z-tbody.cjs.entry.js.map +0 -1
  426. package/dist/cjs/z-td.cjs.entry.js.map +0 -1
  427. package/dist/cjs/z-tfoot.cjs.entry.js.map +0 -1
  428. package/dist/cjs/z-th.cjs.entry.js.map +0 -1
  429. package/dist/cjs/z-thead.cjs.entry.js.map +0 -1
  430. package/dist/cjs/z-toast-notification-list.cjs.entry.js.map +0 -1
  431. package/dist/cjs/z-toast-notification.cjs.entry.js.map +0 -1
  432. package/dist/cjs/z-toggle-switch.cjs.entry.js.map +0 -1
  433. package/dist/cjs/z-tool.cjs.entry.js.map +0 -1
  434. package/dist/cjs/z-toolbar.cjs.entry.js.map +0 -1
  435. package/dist/cjs/z-tooltip.cjs.entry.js.map +0 -1
  436. package/dist/cjs/z-tr.cjs.entry.js.map +0 -1
  437. package/dist/cjs/z-tree-list.cjs.entry.js.map +0 -1
  438. package/dist/cjs/z-visually-hidden.cjs.entry.js.map +0 -1
  439. package/dist/collection/beans/index.js.map +0 -1
  440. package/dist/collection/components/book-card/z-book-card/index.js.map +0 -1
  441. package/dist/collection/components/book-card/z-book-card-app/index.js.map +0 -1
  442. package/dist/collection/components/date-picker/utils.js.map +0 -1
  443. package/dist/collection/components/date-picker/z-date-picker/index.js.map +0 -1
  444. package/dist/collection/components/date-picker/z-range-picker/index.js.map +0 -1
  445. package/dist/collection/components/deprecated/table/cells/z-td/index.js.map +0 -1
  446. package/dist/collection/components/deprecated/table/cells/z-th/index.js.map +0 -1
  447. package/dist/collection/components/deprecated/table/z-table/index.js.map +0 -1
  448. package/dist/collection/components/deprecated/table/z-tbody/index.js.map +0 -1
  449. package/dist/collection/components/deprecated/table/z-tfoot/index.js.map +0 -1
  450. package/dist/collection/components/deprecated/table/z-thead/index.js.map +0 -1
  451. package/dist/collection/components/deprecated/table/z-tr/index.js.map +0 -1
  452. package/dist/collection/components/file-upload/z-dragdrop-area/index.js.map +0 -1
  453. package/dist/collection/components/file-upload/z-file/index.js.map +0 -1
  454. package/dist/collection/components/file-upload/z-file-upload/index.js.map +0 -1
  455. package/dist/collection/components/index.js.map +0 -1
  456. package/dist/collection/components/list/z-list/index.js.map +0 -1
  457. package/dist/collection/components/list/z-list-element/index.js.map +0 -1
  458. package/dist/collection/components/list/z-list-group/index.js.map +0 -1
  459. package/dist/collection/components/list/z-tree-list/index.js.map +0 -1
  460. package/dist/collection/components/z-accordion/index.js.map +0 -1
  461. package/dist/collection/components/z-anchor-navigation/index.js.map +0 -1
  462. package/dist/collection/components/z-app-header/index.js.map +0 -1
  463. package/dist/collection/components/z-aria-alert/index.js.map +0 -1
  464. package/dist/collection/components/z-avatar/index.js.map +0 -1
  465. package/dist/collection/components/z-book-cover/index.js.map +0 -1
  466. package/dist/collection/components/z-breadcrumb/index.js.map +0 -1
  467. package/dist/collection/components/z-button/index.js.map +0 -1
  468. package/dist/collection/components/z-button-sort/index.js.map +0 -1
  469. package/dist/collection/components/z-card/index.js.map +0 -1
  470. package/dist/collection/components/z-carousel/index.js.map +0 -1
  471. package/dist/collection/components/z-chip/index.js.map +0 -1
  472. package/dist/collection/components/z-color-picker/index.js.map +0 -1
  473. package/dist/collection/components/z-combobox/index.js.map +0 -1
  474. package/dist/collection/components/z-cover-hero/index.js.map +0 -1
  475. package/dist/collection/components/z-divider/index.js.map +0 -1
  476. package/dist/collection/components/z-ghost-loading/index.js.map +0 -1
  477. package/dist/collection/components/z-icon/index.js.map +0 -1
  478. package/dist/collection/components/z-info-box/index.js.map +0 -1
  479. package/dist/collection/components/z-info-reveal/index.js.map +0 -1
  480. package/dist/collection/components/z-input/index.js.map +0 -1
  481. package/dist/collection/components/z-input-message/index.js.map +0 -1
  482. package/dist/collection/components/z-input-range/index.js.map +0 -1
  483. package/dist/collection/components/z-logo/index.js.map +0 -1
  484. package/dist/collection/components/z-menu/index.js.map +0 -1
  485. package/dist/collection/components/z-menu-section/index.js.map +0 -1
  486. package/dist/collection/components/z-modal/index.js.map +0 -1
  487. package/dist/collection/components/z-navigation-tabs/index.js.map +0 -1
  488. package/dist/collection/components/z-notification/index.js.map +0 -1
  489. package/dist/collection/components/z-offcanvas/index.js.map +0 -1
  490. package/dist/collection/components/z-pagination/index.js.map +0 -1
  491. package/dist/collection/components/z-popover/index.js.map +0 -1
  492. package/dist/collection/components/z-result-card/index.js.map +0 -1
  493. package/dist/collection/components/z-searchbar/index.js.map +0 -1
  494. package/dist/collection/components/z-select/index.js.map +0 -1
  495. package/dist/collection/components/z-skip-to-content/index.js.map +0 -1
  496. package/dist/collection/components/z-stepper/index.js.map +0 -1
  497. package/dist/collection/components/z-stepper-item/index.js.map +0 -1
  498. package/dist/collection/components/z-tag/index.js.map +0 -1
  499. package/dist/collection/components/z-toast-notification/index.js.map +0 -1
  500. package/dist/collection/components/z-toast-notification-list/index.js.map +0 -1
  501. package/dist/collection/components/z-toggle-switch/index.js.map +0 -1
  502. package/dist/collection/components/z-tool/index.js.map +0 -1
  503. package/dist/collection/components/z-toolbar/index.js.map +0 -1
  504. package/dist/collection/components/z-tooltip/index.js.map +0 -1
  505. package/dist/collection/components/z-visually-hidden/index.js.map +0 -1
  506. package/dist/collection/constants/breakpoints.js.map +0 -1
  507. package/dist/collection/constants/icons.js.map +0 -1
  508. package/dist/collection/constants/iconset.js.map +0 -1
  509. package/dist/collection/index.js.map +0 -1
  510. package/dist/collection/utils/focus-trap-controller.js.map +0 -1
  511. package/dist/collection/utils/reactive-controller.js.map +0 -1
  512. package/dist/collection/utils/storybook-utils.js.map +0 -1
  513. package/dist/collection/utils/utils.js.map +0 -1
  514. package/dist/components/_commonjsHelpers.js.map +0 -1
  515. package/dist/components/breakpoints.js.map +0 -1
  516. package/dist/components/iconset.js.map +0 -1
  517. package/dist/components/index.js.map +0 -1
  518. package/dist/components/index10.js.map +0 -1
  519. package/dist/components/index11.js.map +0 -1
  520. package/dist/components/index12.js.map +0 -1
  521. package/dist/components/index13.js.map +0 -1
  522. package/dist/components/index14.js.map +0 -1
  523. package/dist/components/index15.js.map +0 -1
  524. package/dist/components/index16.js.map +0 -1
  525. package/dist/components/index17.js.map +0 -1
  526. package/dist/components/index18.js.map +0 -1
  527. package/dist/components/index19.js.map +0 -1
  528. package/dist/components/index2.js.map +0 -1
  529. package/dist/components/index20.js.map +0 -1
  530. package/dist/components/index21.js.map +0 -1
  531. package/dist/components/index3.js.map +0 -1
  532. package/dist/components/index4.js.map +0 -1
  533. package/dist/components/index5.js.map +0 -1
  534. package/dist/components/index6.js.map +0 -1
  535. package/dist/components/index7.js.map +0 -1
  536. package/dist/components/index8.js.map +0 -1
  537. package/dist/components/index9.js.map +0 -1
  538. package/dist/components/reactive-controller.js.map +0 -1
  539. package/dist/components/utils.js.map +0 -1
  540. package/dist/components/utils2.js.map +0 -1
  541. package/dist/components/z-accordion.js.map +0 -1
  542. package/dist/components/z-anchor-navigation.js.map +0 -1
  543. package/dist/components/z-app-header.js.map +0 -1
  544. package/dist/components/z-aria-alert.js.map +0 -1
  545. package/dist/components/z-avatar.js.map +0 -1
  546. package/dist/components/z-book-card-app.js.map +0 -1
  547. package/dist/components/z-book-card.js.map +0 -1
  548. package/dist/components/z-book-cover.js.map +0 -1
  549. package/dist/components/z-breadcrumb.js.map +0 -1
  550. package/dist/components/z-button-sort.js.map +0 -1
  551. package/dist/components/z-button.js.map +0 -1
  552. package/dist/components/z-card.js.map +0 -1
  553. package/dist/components/z-carousel.js.map +0 -1
  554. package/dist/components/z-chip.js.map +0 -1
  555. package/dist/components/z-color-picker.js.map +0 -1
  556. package/dist/components/z-combobox.js.map +0 -1
  557. package/dist/components/z-cover-hero.js.map +0 -1
  558. package/dist/components/z-date-picker.js.map +0 -1
  559. package/dist/components/z-divider.js.map +0 -1
  560. package/dist/components/z-dragdrop-area.js.map +0 -1
  561. package/dist/components/z-file-upload.js.map +0 -1
  562. package/dist/components/z-file.js.map +0 -1
  563. package/dist/components/z-ghost-loading.js.map +0 -1
  564. package/dist/components/z-icon.js.map +0 -1
  565. package/dist/components/z-info-box.js.map +0 -1
  566. package/dist/components/z-info-reveal.js.map +0 -1
  567. package/dist/components/z-input-message.js.map +0 -1
  568. package/dist/components/z-input-range.js.map +0 -1
  569. package/dist/components/z-input.js.map +0 -1
  570. package/dist/components/z-list-element.js.map +0 -1
  571. package/dist/components/z-list-group.js.map +0 -1
  572. package/dist/components/z-list.js.map +0 -1
  573. package/dist/components/z-logo.js.map +0 -1
  574. package/dist/components/z-menu-section.js.map +0 -1
  575. package/dist/components/z-menu.js.map +0 -1
  576. package/dist/components/z-modal.js.map +0 -1
  577. package/dist/components/z-navigation-tabs.js.map +0 -1
  578. package/dist/components/z-notification.js.map +0 -1
  579. package/dist/components/z-offcanvas.js.map +0 -1
  580. package/dist/components/z-pagination.js.map +0 -1
  581. package/dist/components/z-popover.js.map +0 -1
  582. package/dist/components/z-range-picker.js.map +0 -1
  583. package/dist/components/z-result-card.js.map +0 -1
  584. package/dist/components/z-searchbar.js.map +0 -1
  585. package/dist/components/z-select.js.map +0 -1
  586. package/dist/components/z-skip-to-content.js.map +0 -1
  587. package/dist/components/z-stepper-item.js.map +0 -1
  588. package/dist/components/z-stepper.js.map +0 -1
  589. package/dist/components/z-table.js.map +0 -1
  590. package/dist/components/z-tag.js.map +0 -1
  591. package/dist/components/z-tbody.js.map +0 -1
  592. package/dist/components/z-td.js.map +0 -1
  593. package/dist/components/z-tfoot.js.map +0 -1
  594. package/dist/components/z-th.js.map +0 -1
  595. package/dist/components/z-thead.js.map +0 -1
  596. package/dist/components/z-toast-notification-list.js.map +0 -1
  597. package/dist/components/z-toast-notification.js.map +0 -1
  598. package/dist/components/z-toggle-switch.js.map +0 -1
  599. package/dist/components/z-tool.js.map +0 -1
  600. package/dist/components/z-toolbar.js.map +0 -1
  601. package/dist/components/z-tooltip.js.map +0 -1
  602. package/dist/components/z-tr.js.map +0 -1
  603. package/dist/components/z-tree-list.js.map +0 -1
  604. package/dist/components/z-visually-hidden.js.map +0 -1
  605. package/dist/esm/_commonjsHelpers-B85MJLTf.js.map +0 -1
  606. package/dist/esm/breakpoints-Q-tWjk7P.js.map +0 -1
  607. package/dist/esm/iconset-D1c5gR45.js.map +0 -1
  608. package/dist/esm/index-BcDWN4F1.js.map +0 -1
  609. package/dist/esm/index-DdetsoIY.js.map +0 -1
  610. package/dist/esm/index.js.map +0 -1
  611. package/dist/esm/loader.js.map +0 -1
  612. package/dist/esm/reactive-controller-CHemhYDp.js.map +0 -1
  613. package/dist/esm/utils-BO5sSCUY.js.map +0 -1
  614. package/dist/esm/utils-CJc3A9NX.js.map +0 -1
  615. package/dist/esm/web-components-library.js.map +0 -1
  616. package/dist/esm/z-accordion.entry.js.map +0 -1
  617. package/dist/esm/z-anchor-navigation.entry.js.map +0 -1
  618. package/dist/esm/z-app-header_12.entry.js.map +0 -1
  619. package/dist/esm/z-aria-alert.entry.js.map +0 -1
  620. package/dist/esm/z-avatar.entry.js.map +0 -1
  621. package/dist/esm/z-book-card-app.entry.js.map +0 -1
  622. package/dist/esm/z-book-card.entry.js.map +0 -1
  623. package/dist/esm/z-book-cover.entry.js.map +0 -1
  624. package/dist/esm/z-breadcrumb.entry.js.map +0 -1
  625. package/dist/esm/z-button-sort.entry.js.map +0 -1
  626. package/dist/esm/z-card.entry.js.map +0 -1
  627. package/dist/esm/z-carousel.entry.js.map +0 -1
  628. package/dist/esm/z-chip.entry.js.map +0 -1
  629. package/dist/esm/z-color-picker.entry.js.map +0 -1
  630. package/dist/esm/z-combobox.entry.js.map +0 -1
  631. package/dist/esm/z-cover-hero.entry.js.map +0 -1
  632. package/dist/esm/z-date-picker.entry.js.map +0 -1
  633. package/dist/esm/z-dragdrop-area_2.entry.js.map +0 -1
  634. package/dist/esm/z-file-upload.entry.js.map +0 -1
  635. package/dist/esm/z-file.entry.js.map +0 -1
  636. package/dist/esm/z-ghost-loading.entry.js.map +0 -1
  637. package/dist/esm/z-info-box.entry.js.map +0 -1
  638. package/dist/esm/z-info-reveal.entry.js.map +0 -1
  639. package/dist/esm/z-input-range.entry.js.map +0 -1
  640. package/dist/esm/z-logo.entry.js.map +0 -1
  641. package/dist/esm/z-menu-section.entry.js.map +0 -1
  642. package/dist/esm/z-menu.entry.js.map +0 -1
  643. package/dist/esm/z-navigation-tabs.entry.js.map +0 -1
  644. package/dist/esm/z-notification.entry.js.map +0 -1
  645. package/dist/esm/z-pagination.entry.js.map +0 -1
  646. package/dist/esm/z-popover.entry.js.map +0 -1
  647. package/dist/esm/z-range-picker.entry.js.map +0 -1
  648. package/dist/esm/z-result-card.entry.js.map +0 -1
  649. package/dist/esm/z-select.entry.js.map +0 -1
  650. package/dist/esm/z-skip-to-content.entry.js.map +0 -1
  651. package/dist/esm/z-stepper-item.entry.js.map +0 -1
  652. package/dist/esm/z-stepper.entry.js.map +0 -1
  653. package/dist/esm/z-table.entry.js.map +0 -1
  654. package/dist/esm/z-tbody.entry.js.map +0 -1
  655. package/dist/esm/z-td.entry.js.map +0 -1
  656. package/dist/esm/z-tfoot.entry.js.map +0 -1
  657. package/dist/esm/z-th.entry.js.map +0 -1
  658. package/dist/esm/z-thead.entry.js.map +0 -1
  659. package/dist/esm/z-toast-notification-list.entry.js.map +0 -1
  660. package/dist/esm/z-toast-notification.entry.js.map +0 -1
  661. package/dist/esm/z-toggle-switch.entry.js.map +0 -1
  662. package/dist/esm/z-tool.entry.js.map +0 -1
  663. package/dist/esm/z-toolbar.entry.js.map +0 -1
  664. package/dist/esm/z-tooltip.entry.js.map +0 -1
  665. package/dist/esm/z-tr.entry.js.map +0 -1
  666. package/dist/esm/z-tree-list.entry.js.map +0 -1
  667. package/dist/esm/z-visually-hidden.entry.js.map +0 -1
  668. package/dist/web-components-library/index.esm.js.map +0 -1
  669. package/dist/web-components-library/p-04b6a9f8.entry.js +0 -2
  670. package/dist/web-components-library/p-04b6a9f8.entry.js.map +0 -1
  671. package/dist/web-components-library/p-09ac8cb2.entry.js +0 -2
  672. package/dist/web-components-library/p-09ac8cb2.entry.js.map +0 -1
  673. package/dist/web-components-library/p-10ffee06.entry.js +0 -2
  674. package/dist/web-components-library/p-10ffee06.entry.js.map +0 -1
  675. package/dist/web-components-library/p-13bc7433.entry.js +0 -2
  676. package/dist/web-components-library/p-13bc7433.entry.js.map +0 -1
  677. package/dist/web-components-library/p-16423e69.entry.js +0 -2
  678. package/dist/web-components-library/p-16423e69.entry.js.map +0 -1
  679. package/dist/web-components-library/p-1702efd5.entry.js +0 -2
  680. package/dist/web-components-library/p-1702efd5.entry.js.map +0 -1
  681. package/dist/web-components-library/p-1fedbf42.entry.js +0 -2
  682. package/dist/web-components-library/p-1fedbf42.entry.js.map +0 -1
  683. package/dist/web-components-library/p-248ff73f.entry.js +0 -2
  684. package/dist/web-components-library/p-248ff73f.entry.js.map +0 -1
  685. package/dist/web-components-library/p-2f8bd98f.entry.js +0 -2
  686. package/dist/web-components-library/p-2f8bd98f.entry.js.map +0 -1
  687. package/dist/web-components-library/p-315ca31f.entry.js +0 -2
  688. package/dist/web-components-library/p-315ca31f.entry.js.map +0 -1
  689. package/dist/web-components-library/p-320b05fc.entry.js +0 -2
  690. package/dist/web-components-library/p-320b05fc.entry.js.map +0 -1
  691. package/dist/web-components-library/p-3a9a120f.entry.js +0 -2
  692. package/dist/web-components-library/p-3a9a120f.entry.js.map +0 -1
  693. package/dist/web-components-library/p-41a3f231.entry.js +0 -2
  694. package/dist/web-components-library/p-41a3f231.entry.js.map +0 -1
  695. package/dist/web-components-library/p-4362efeb.entry.js +0 -2
  696. package/dist/web-components-library/p-4362efeb.entry.js.map +0 -1
  697. package/dist/web-components-library/p-484f3064.entry.js +0 -2
  698. package/dist/web-components-library/p-484f3064.entry.js.map +0 -1
  699. package/dist/web-components-library/p-4bc9e06a.entry.js +0 -2
  700. package/dist/web-components-library/p-4bc9e06a.entry.js.map +0 -1
  701. package/dist/web-components-library/p-4c054dc5.entry.js +0 -2
  702. package/dist/web-components-library/p-4c054dc5.entry.js.map +0 -1
  703. package/dist/web-components-library/p-4d6ea6b1.entry.js +0 -2
  704. package/dist/web-components-library/p-4d6ea6b1.entry.js.map +0 -1
  705. package/dist/web-components-library/p-50d68051.entry.js +0 -2
  706. package/dist/web-components-library/p-50d68051.entry.js.map +0 -1
  707. package/dist/web-components-library/p-57ba851d.entry.js +0 -2
  708. package/dist/web-components-library/p-57ba851d.entry.js.map +0 -1
  709. package/dist/web-components-library/p-5ecdc465.entry.js +0 -2
  710. package/dist/web-components-library/p-5ecdc465.entry.js.map +0 -1
  711. package/dist/web-components-library/p-6005c944.entry.js +0 -2
  712. package/dist/web-components-library/p-6005c944.entry.js.map +0 -1
  713. package/dist/web-components-library/p-61b49075.entry.js +0 -2
  714. package/dist/web-components-library/p-61b49075.entry.js.map +0 -1
  715. package/dist/web-components-library/p-67a2f55e.entry.js +0 -2
  716. package/dist/web-components-library/p-67a2f55e.entry.js.map +0 -1
  717. package/dist/web-components-library/p-6ce99251.entry.js +0 -2
  718. package/dist/web-components-library/p-6ce99251.entry.js.map +0 -1
  719. package/dist/web-components-library/p-6f6cf4eb.entry.js +0 -2
  720. package/dist/web-components-library/p-6f6cf4eb.entry.js.map +0 -1
  721. package/dist/web-components-library/p-791a76d6.entry.js +0 -2
  722. package/dist/web-components-library/p-791a76d6.entry.js.map +0 -1
  723. package/dist/web-components-library/p-885472aa.entry.js +0 -2
  724. package/dist/web-components-library/p-885472aa.entry.js.map +0 -1
  725. package/dist/web-components-library/p-90613329.entry.js +0 -2
  726. package/dist/web-components-library/p-90613329.entry.js.map +0 -1
  727. package/dist/web-components-library/p-9dc4d290.entry.js +0 -2
  728. package/dist/web-components-library/p-9dc4d290.entry.js.map +0 -1
  729. package/dist/web-components-library/p-B6jtvVtV.js.map +0 -1
  730. package/dist/web-components-library/p-B85MJLTf.js.map +0 -1
  731. package/dist/web-components-library/p-BcDWN4F1.js +0 -3
  732. package/dist/web-components-library/p-BcDWN4F1.js.map +0 -1
  733. package/dist/web-components-library/p-BjrC13Q0.js +0 -6
  734. package/dist/web-components-library/p-BjrC13Q0.js.map +0 -1
  735. package/dist/web-components-library/p-D1c5gR45.js.map +0 -1
  736. package/dist/web-components-library/p-DPrEzmhI.js.map +0 -1
  737. package/dist/web-components-library/p-DdetsoIY.js.map +0 -1
  738. package/dist/web-components-library/p-Q-tWjk7P.js.map +0 -1
  739. package/dist/web-components-library/p-a1f060c0.entry.js +0 -2
  740. package/dist/web-components-library/p-a1f060c0.entry.js.map +0 -1
  741. package/dist/web-components-library/p-a30b5538.entry.js +0 -2
  742. package/dist/web-components-library/p-a30b5538.entry.js.map +0 -1
  743. package/dist/web-components-library/p-a5e15158.entry.js +0 -2
  744. package/dist/web-components-library/p-a5e15158.entry.js.map +0 -1
  745. package/dist/web-components-library/p-acd3b237.entry.js +0 -2
  746. package/dist/web-components-library/p-acd3b237.entry.js.map +0 -1
  747. package/dist/web-components-library/p-ae51be93.entry.js +0 -2
  748. package/dist/web-components-library/p-ae51be93.entry.js.map +0 -1
  749. package/dist/web-components-library/p-b3d0d75c.entry.js +0 -2
  750. package/dist/web-components-library/p-b3d0d75c.entry.js.map +0 -1
  751. package/dist/web-components-library/p-b5d18aae.entry.js +0 -2
  752. package/dist/web-components-library/p-b5d18aae.entry.js.map +0 -1
  753. package/dist/web-components-library/p-bd1876f7.entry.js +0 -2
  754. package/dist/web-components-library/p-bd1876f7.entry.js.map +0 -1
  755. package/dist/web-components-library/p-bd663d9d.entry.js +0 -2
  756. package/dist/web-components-library/p-bd663d9d.entry.js.map +0 -1
  757. package/dist/web-components-library/p-ca2d01fd.entry.js +0 -2
  758. package/dist/web-components-library/p-ca2d01fd.entry.js.map +0 -1
  759. package/dist/web-components-library/p-d4ad8db2.entry.js +0 -2
  760. package/dist/web-components-library/p-d4ad8db2.entry.js.map +0 -1
  761. package/dist/web-components-library/p-d70ab97a.entry.js +0 -2
  762. package/dist/web-components-library/p-d70ab97a.entry.js.map +0 -1
  763. package/dist/web-components-library/p-d76c3418.entry.js +0 -17
  764. package/dist/web-components-library/p-d76c3418.entry.js.map +0 -1
  765. package/dist/web-components-library/p-d8c06756.entry.js +0 -2
  766. package/dist/web-components-library/p-d8c06756.entry.js.map +0 -1
  767. package/dist/web-components-library/p-de682f93.entry.js +0 -2
  768. package/dist/web-components-library/p-de682f93.entry.js.map +0 -1
  769. package/dist/web-components-library/p-ea462d53.entry.js +0 -2
  770. package/dist/web-components-library/p-ea462d53.entry.js.map +0 -1
  771. package/dist/web-components-library/p-eb2deba7.entry.js +0 -2
  772. package/dist/web-components-library/p-eb2deba7.entry.js.map +0 -1
  773. package/dist/web-components-library/p-f074b98b.entry.js +0 -2
  774. package/dist/web-components-library/p-f074b98b.entry.js.map +0 -1
  775. package/dist/web-components-library/p-f8fd6f08.entry.js +0 -2
  776. package/dist/web-components-library/p-f8fd6f08.entry.js.map +0 -1
  777. package/dist/web-components-library/p-f95adaa5.entry.js +0 -8
  778. package/dist/web-components-library/p-f95adaa5.entry.js.map +0 -1
  779. package/dist/web-components-library/p-fa11fd2d.entry.js +0 -2
  780. package/dist/web-components-library/p-fa11fd2d.entry.js.map +0 -1
  781. package/dist/web-components-library/p-ffe7860b.entry.js +0 -2
  782. package/dist/web-components-library/p-ffe7860b.entry.js.map +0 -1
  783. package/dist/web-components-library/web-components-library.esm.js.map +0 -1
  784. package/www/assets/favicon.png +0 -0
  785. package/www/assets/images/png/arrowDown.png +0 -0
  786. package/www/assets/images/png/arrowUp.png +0 -0
  787. package/www/assets/images/png/back-button.png +0 -0
  788. package/www/assets/images/png/bovolenta-logo.png +0 -0
  789. package/www/assets/images/png/cart-icon.png +0 -0
  790. package/www/assets/images/png/cea-logo.png +0 -0
  791. package/www/assets/images/png/clitt-logo.png +0 -0
  792. package/www/assets/images/png/down-arrow.png +0 -0
  793. package/www/assets/images/png/download.png +0 -0
  794. package/www/assets/images/png/facebook.png +0 -0
  795. package/www/assets/images/png/gruoss.png +0 -0
  796. package/www/assets/images/png/instagram.png +0 -0
  797. package/www/assets/images/png/lucisano-logo.png +0 -0
  798. package/www/assets/images/png/myzanichelli-logo.png +0 -0
  799. package/www/assets/images/png/placeholder-cover.png +0 -0
  800. package/www/assets/images/png/question-mark.png +0 -0
  801. package/www/assets/images/png/suitcase-icon.png +0 -0
  802. package/www/assets/images/png/twitter.png +0 -0
  803. package/www/assets/images/png/up-arrow.png +0 -0
  804. package/www/assets/images/png/user.png +0 -0
  805. package/www/assets/images/png/user_transparent.png +0 -0
  806. package/www/assets/images/png/youtube.png +0 -0
  807. package/www/assets/images/png/zanichelli-add-book-gray@8x.png +0 -0
  808. package/www/assets/images/png/zanichelli-book-remove-gray@8x.png +0 -0
  809. package/www/assets/images/png/zanichelli-error-image.png +0 -0
  810. package/www/assets/images/png/zanichelli-external-link-2@8x.png +0 -0
  811. package/www/assets/images/png/zanichelli-external-link-3@8x.png +0 -0
  812. package/www/assets/images/png/zanichelli-external-link@8x.png +0 -0
  813. package/www/assets/images/png/zanichelli-logo-2.png +0 -0
  814. package/www/assets/images/png/zanichelli-logo-footer.png +0 -0
  815. package/www/assets/images/png/zanichelli-logo.png +0 -0
  816. package/www/build/index.esm.js +0 -2
  817. package/www/build/index.esm.js.map +0 -1
  818. package/www/build/p-04b6a9f8.entry.js +0 -2
  819. package/www/build/p-04b6a9f8.entry.js.map +0 -1
  820. package/www/build/p-09ac8cb2.entry.js +0 -2
  821. package/www/build/p-09ac8cb2.entry.js.map +0 -1
  822. package/www/build/p-10ffee06.entry.js +0 -2
  823. package/www/build/p-10ffee06.entry.js.map +0 -1
  824. package/www/build/p-13bc7433.entry.js +0 -2
  825. package/www/build/p-13bc7433.entry.js.map +0 -1
  826. package/www/build/p-16423e69.entry.js +0 -2
  827. package/www/build/p-16423e69.entry.js.map +0 -1
  828. package/www/build/p-1702efd5.entry.js +0 -2
  829. package/www/build/p-1702efd5.entry.js.map +0 -1
  830. package/www/build/p-188d1101.css +0 -2716
  831. package/www/build/p-1fedbf42.entry.js +0 -2
  832. package/www/build/p-1fedbf42.entry.js.map +0 -1
  833. package/www/build/p-248ff73f.entry.js +0 -2
  834. package/www/build/p-248ff73f.entry.js.map +0 -1
  835. package/www/build/p-2f8bd98f.entry.js +0 -2
  836. package/www/build/p-2f8bd98f.entry.js.map +0 -1
  837. package/www/build/p-315ca31f.entry.js +0 -2
  838. package/www/build/p-315ca31f.entry.js.map +0 -1
  839. package/www/build/p-320b05fc.entry.js +0 -2
  840. package/www/build/p-320b05fc.entry.js.map +0 -1
  841. package/www/build/p-3a9a120f.entry.js +0 -2
  842. package/www/build/p-3a9a120f.entry.js.map +0 -1
  843. package/www/build/p-41a3f231.entry.js +0 -2
  844. package/www/build/p-41a3f231.entry.js.map +0 -1
  845. package/www/build/p-4362efeb.entry.js +0 -2
  846. package/www/build/p-4362efeb.entry.js.map +0 -1
  847. package/www/build/p-484f3064.entry.js +0 -2
  848. package/www/build/p-484f3064.entry.js.map +0 -1
  849. package/www/build/p-4bc9e06a.entry.js +0 -2
  850. package/www/build/p-4bc9e06a.entry.js.map +0 -1
  851. package/www/build/p-4c054dc5.entry.js +0 -2
  852. package/www/build/p-4c054dc5.entry.js.map +0 -1
  853. package/www/build/p-4d6ea6b1.entry.js +0 -2
  854. package/www/build/p-4d6ea6b1.entry.js.map +0 -1
  855. package/www/build/p-50d68051.entry.js +0 -2
  856. package/www/build/p-50d68051.entry.js.map +0 -1
  857. package/www/build/p-57ba851d.entry.js +0 -2
  858. package/www/build/p-57ba851d.entry.js.map +0 -1
  859. package/www/build/p-5ecdc465.entry.js +0 -2
  860. package/www/build/p-5ecdc465.entry.js.map +0 -1
  861. package/www/build/p-6005c944.entry.js +0 -2
  862. package/www/build/p-6005c944.entry.js.map +0 -1
  863. package/www/build/p-61b49075.entry.js +0 -2
  864. package/www/build/p-61b49075.entry.js.map +0 -1
  865. package/www/build/p-67a2f55e.entry.js +0 -2
  866. package/www/build/p-67a2f55e.entry.js.map +0 -1
  867. package/www/build/p-6ce99251.entry.js +0 -2
  868. package/www/build/p-6ce99251.entry.js.map +0 -1
  869. package/www/build/p-6f6cf4eb.entry.js +0 -2
  870. package/www/build/p-6f6cf4eb.entry.js.map +0 -1
  871. package/www/build/p-791a76d6.entry.js +0 -2
  872. package/www/build/p-791a76d6.entry.js.map +0 -1
  873. package/www/build/p-885472aa.entry.js +0 -2
  874. package/www/build/p-885472aa.entry.js.map +0 -1
  875. package/www/build/p-90613329.entry.js +0 -2
  876. package/www/build/p-90613329.entry.js.map +0 -1
  877. package/www/build/p-9dc4d290.entry.js +0 -2
  878. package/www/build/p-9dc4d290.entry.js.map +0 -1
  879. package/www/build/p-B6jtvVtV.js +0 -2
  880. package/www/build/p-B6jtvVtV.js.map +0 -1
  881. package/www/build/p-B85MJLTf.js +0 -2
  882. package/www/build/p-B85MJLTf.js.map +0 -1
  883. package/www/build/p-BcDWN4F1.js +0 -3
  884. package/www/build/p-BcDWN4F1.js.map +0 -1
  885. package/www/build/p-BjrC13Q0.js +0 -6
  886. package/www/build/p-BjrC13Q0.js.map +0 -1
  887. package/www/build/p-D1c5gR45.js +0 -2
  888. package/www/build/p-D1c5gR45.js.map +0 -1
  889. package/www/build/p-DPrEzmhI.js +0 -7
  890. package/www/build/p-DPrEzmhI.js.map +0 -1
  891. package/www/build/p-DdetsoIY.js +0 -2
  892. package/www/build/p-DdetsoIY.js.map +0 -1
  893. package/www/build/p-Q-tWjk7P.js +0 -2
  894. package/www/build/p-Q-tWjk7P.js.map +0 -1
  895. package/www/build/p-a1f060c0.entry.js +0 -2
  896. package/www/build/p-a1f060c0.entry.js.map +0 -1
  897. package/www/build/p-a30b5538.entry.js +0 -2
  898. package/www/build/p-a30b5538.entry.js.map +0 -1
  899. package/www/build/p-a5e15158.entry.js +0 -2
  900. package/www/build/p-a5e15158.entry.js.map +0 -1
  901. package/www/build/p-acd3b237.entry.js +0 -2
  902. package/www/build/p-acd3b237.entry.js.map +0 -1
  903. package/www/build/p-ae51be93.entry.js +0 -2
  904. package/www/build/p-ae51be93.entry.js.map +0 -1
  905. package/www/build/p-b3d0d75c.entry.js +0 -2
  906. package/www/build/p-b3d0d75c.entry.js.map +0 -1
  907. package/www/build/p-b52a669c.js +0 -2
  908. package/www/build/p-b5d18aae.entry.js +0 -2
  909. package/www/build/p-b5d18aae.entry.js.map +0 -1
  910. package/www/build/p-bd1876f7.entry.js +0 -2
  911. package/www/build/p-bd1876f7.entry.js.map +0 -1
  912. package/www/build/p-bd663d9d.entry.js +0 -2
  913. package/www/build/p-bd663d9d.entry.js.map +0 -1
  914. package/www/build/p-ca2d01fd.entry.js +0 -2
  915. package/www/build/p-ca2d01fd.entry.js.map +0 -1
  916. package/www/build/p-d4ad8db2.entry.js +0 -2
  917. package/www/build/p-d4ad8db2.entry.js.map +0 -1
  918. package/www/build/p-d70ab97a.entry.js +0 -2
  919. package/www/build/p-d70ab97a.entry.js.map +0 -1
  920. package/www/build/p-d76c3418.entry.js +0 -17
  921. package/www/build/p-d76c3418.entry.js.map +0 -1
  922. package/www/build/p-d8c06756.entry.js +0 -2
  923. package/www/build/p-d8c06756.entry.js.map +0 -1
  924. package/www/build/p-de682f93.entry.js +0 -2
  925. package/www/build/p-de682f93.entry.js.map +0 -1
  926. package/www/build/p-ea462d53.entry.js.map +0 -1
  927. package/www/build/p-eb2deba7.entry.js +0 -2
  928. package/www/build/p-eb2deba7.entry.js.map +0 -1
  929. package/www/build/p-f074b98b.entry.js +0 -2
  930. package/www/build/p-f074b98b.entry.js.map +0 -1
  931. package/www/build/p-f8fd6f08.entry.js +0 -2
  932. package/www/build/p-f8fd6f08.entry.js.map +0 -1
  933. package/www/build/p-f95adaa5.entry.js +0 -8
  934. package/www/build/p-f95adaa5.entry.js.map +0 -1
  935. package/www/build/p-fa11fd2d.entry.js +0 -2
  936. package/www/build/p-fa11fd2d.entry.js.map +0 -1
  937. package/www/build/p-ffe7860b.entry.js +0 -2
  938. package/www/build/p-ffe7860b.entry.js.map +0 -1
  939. package/www/build/web-components-library.css +0 -2716
  940. package/www/build/web-components-library.esm.js +0 -2
  941. package/www/build/web-components-library.esm.js.map +0 -1
  942. package/www/build/web-components-library.js +0 -33
  943. package/www/host.config.json +0 -15
  944. package/www/index.html +0 -3
  945. package/www/pages/book-cards.html +0 -345
  946. package/www/pages/file-upload.html +0 -258
  947. package/www/pages/notification.html +0 -299
  948. package/www/pages/stepper/stepper-1.html +0 -127
  949. package/www/pages/stepper/stepper-2.html +0 -128
  950. package/www/pages/stepper/stepper-3.html +0 -153
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-popover/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {Device, KeyboardCode, PopoverPosition} from \"../../beans\";\nimport {\n containsElement,\n findContainingBlockAncestor,\n getDevice,\n getParentElement,\n isElementVisibleInContainer,\n} from \"../../utils/utils\";\n\n/** Centering offset modifier. 0 for no offset, 0.5 for centering. */\ntype OffsetModifier = 0 | 0.5;\ntype Offsets = {top: number; right: number; bottom: number; left: number};\n\n/**\n * Popover component.\n * This component displays a popover bound to an element.\n * It supports various positions and can automatically adjust it based on available space, accounting for scrollable containers.\n *\n * Notes:\n * - If positioning has an odd behavior, consider manually adjusting the size of the slotted elements (using `width`, `height`, `max-width`, `max-height`, etc...) when its content is \"fluid\" (like text), because it can interfere with the position calculation (for example a long text on one single line can be bigger than the available space, letting the algorithm think the popover doesn't fits).\n */\n@Component({\n tag: \"z-popover\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZPopover implements ComponentInterface {\n /**\n * The preferred position to render the popover.\n * The popover will automatically search another position if not enough space is available for the preferred position.\n * If the preferred position is not available, it will try to find the best position starting from `TOP` and going clockwise.\n */\n @Prop({reflect: true, mutable: true})\n position?: PopoverPosition = PopoverPosition.TOP;\n\n /**\n * The initial open state of the popover.\n * Internal changes of this prop are emitted through the `openChange` event.\n * Make sure to listen to that event if you need the updated state of the popover from the outside, to avoid inconsistent values.\n */\n @Prop({reflect: true, mutable: true})\n open = false;\n\n /**\n * The selector or the element bound with the popover.\n * If string css selector is provided make sure to use a valid selector.\n */\n @Prop()\n bindTo?: string | HTMLElement;\n\n /** Whether to show popover's arrow. */\n @Prop({reflect: true})\n showArrow = false;\n\n /** Whether to center the popup on the main side (according to \"position\"). */\n @Prop({reflect: true})\n center = false;\n\n /**\n * Whether the popover can be closed by clicking outside of it or pressing the escape key.\n * Otherwise, it will be closed only programmatically (by setting `open` to `false`).\n * Default: `true`.\n */\n @Prop()\n closable = true;\n\n /**\n * The current position of the popover.\n * It differs from `position` only when calculated automatically for space reasons.\n */\n @State()\n currentPosition?: PopoverPosition;\n\n @Element() host: HTMLZPopoverElement;\n\n // Clockwise order of positions.\n private static readonly positionOrder: PopoverPosition[] = [\n PopoverPosition.TOP,\n PopoverPosition.TOP_RIGHT,\n PopoverPosition.TOP_LEFT,\n PopoverPosition.RIGHT,\n PopoverPosition.RIGHT_BOTTOM,\n PopoverPosition.RIGHT_TOP,\n PopoverPosition.BOTTOM,\n PopoverPosition.BOTTOM_LEFT,\n PopoverPosition.BOTTOM_RIGHT,\n PopoverPosition.LEFT,\n PopoverPosition.LEFT_TOP,\n PopoverPosition.LEFT_BOTTOM,\n ] as const;\n\n private animationFrameRequestId?: number;\n\n /** space tolerance for space calculations */\n private readonly spaceTolerance = 3;\n\n /** The element bound to the popover. */\n private boundElement?: HTMLElement;\n\n /** Cached available space around the bound element to avoid unnecessary recalculations */\n private cachedAvailableSpace?: Offsets;\n\n /** Last bounding rect of the bound element to detect changes and eventually invalidate the caches. */\n private lastBoundRect?: DOMRect;\n\n /** Fired when the position changes. */\n @Event()\n positionChange: EventEmitter<{position: PopoverPosition}>;\n\n /** Event emitted when the open state of the popover changes (e.g. when the user clicks outside the popover to close it, if `closable` is true). */\n @Event()\n openChange: EventEmitter<{open: boolean}>;\n\n @Listen(\"keyup\", {target: \"window\", capture: true})\n closePopoverWithKeyboard(e: KeyboardEvent): void {\n if (this.closable && e.key === KeyboardCode.ESC) {\n e.stopPropagation();\n this.open = false;\n }\n }\n\n /**\n * Close the popover when clicking outside of its content.\n * Stop event propagation if the click was fired by popover's trigger element,\n * to prevent close and reopen glitches.\n */\n @Listen(\"click\", {target: \"body\", capture: true})\n handleOutsideClick(e: MouseEvent): void {\n const target = e.target as Element;\n if (!this.closable || !this.open || containsElement(this.host, target)) {\n return;\n }\n\n if (containsElement(this.boundElement, target)) {\n // stop propagation if the click was on the trigger element to prevent close and reopen glitches\n e.stopPropagation();\n }\n this.open = false;\n }\n\n @Watch(\"position\")\n validatePosition(newValue: PopoverPosition): void {\n if (!Object.values(PopoverPosition).includes(newValue as PopoverPosition) || newValue === PopoverPosition.AUTO) {\n newValue = PopoverPosition.TOP;\n this.position = newValue;\n }\n this.currentPosition = newValue;\n if (this.open) {\n this.setPosition();\n }\n }\n\n /** Setup popover behaviors when `open` changes. */\n @Watch(\"open\")\n onOpen(): void {\n cancelAnimationFrame(this.animationFrameRequestId);\n this.openChange.emit({open: this.open});\n if (!this.open) {\n Object.assign(this.host.style, {\n // Reset all positioning properties\n top: \"auto\",\n right: \"auto\",\n bottom: \"auto\",\n left: \"auto\",\n maxWidth: \"\",\n maxHeight: \"\",\n // Set initial visibility to hidden while calculating position...\n visibility: \"hidden\",\n });\n this.currentPosition = undefined;\n\n return;\n }\n\n const updatePositionLoop = (): void => {\n if (!this.open) {\n return;\n }\n\n this.setPosition();\n this.animationFrameRequestId = requestAnimationFrame(updatePositionLoop);\n };\n\n // call `setPosition` after a tick to ensure the DOM is ready and sizes are available\n setTimeout(() => {\n updatePositionLoop();\n }, 0);\n }\n\n @Watch(\"bindTo\")\n onBindingChange(): void {\n this.findBoundElement();\n }\n\n /** Returns the offset modifier to use in calculations to align the popover with the bound element. */\n private get offsetModifier(): OffsetModifier {\n return this.center ? 0.5 : 0;\n }\n\n private findBoundElement(): void {\n if (typeof this.bindTo === \"string\") {\n this.boundElement = this.host.ownerDocument.querySelector(this.bindTo) as HTMLElement;\n } else if (this.bindTo) {\n this.boundElement = this.bindTo;\n } else {\n this.boundElement = getParentElement(this.host) as HTMLElement;\n if (this.boundElement.tagName.toLowerCase() === \"z-tooltip\") {\n // If the popover is used inside a tooltip without a specified `bindTo`, bind it to the parent of the tooltip.\n this.boundElement = getParentElement(this.boundElement) as HTMLElement;\n }\n }\n }\n\n /**\n * Check if element has enough space to the right and left to be centered.\n * Used for `TOP` and `BOTTOM` position.\n * When `center` is not enabled, only one side needs to be checked and `RIGHT` is the default.\n */\n private hasCenteredHorizontalSpace(\n availableLeft: number,\n availableRight: number,\n hostWidth: number,\n boundElementWidth: number\n ): boolean {\n const requiredSideSpace = (hostWidth - boundElementWidth) * (1 - this.offsetModifier);\n\n if (!this.center) {\n return availableRight >= requiredSideSpace - this.spaceTolerance;\n }\n\n return (\n availableRight >= requiredSideSpace - this.spaceTolerance &&\n availableLeft >= requiredSideSpace - this.spaceTolerance\n );\n }\n\n /**\n * Check if element has enough space to the top and bottom to be centered.\n * Used for `RIGHT` and `LEFT` position.\n * When `center` is not enabled, only one side needs to be checked and `BOTTOM` is the default.\n */\n private hasCenteredVerticalSpace(\n availableTop: number,\n availableBottom: number,\n hostHeight: number,\n boundElementHeight: number\n ): boolean {\n const requiredSideSpace = (hostHeight - boundElementHeight) * (1 - this.offsetModifier);\n\n if (!this.center) {\n return availableBottom >= requiredSideSpace - this.spaceTolerance;\n }\n\n return (\n availableTop >= requiredSideSpace - this.spaceTolerance &&\n availableBottom >= requiredSideSpace - this.spaceTolerance\n );\n }\n\n /**\n * Check if there is enough space in the given direction to fit the popover.\n * Used for composed positions like TOP_RIGHT, LEFT_BOTTOM, etc.\n */\n private hasEnoughSideSpace(\n availableSpace: number,\n hostSize: number,\n boundElementSize: number,\n offsetModifier: OffsetModifier\n ): boolean {\n return availableSpace >= hostSize - boundElementSize * (1 - offsetModifier) - this.spaceTolerance;\n }\n\n /**\n * Given a desired position and available space around the bound element, returns the best position\n * that fits the popover, trying all positions if needed.\n * Takes into account offsetModifier for centering.\n * @param desiredPosition The desired position of the popover.\n * @param availableSpace The available space around the bound element.\n */\n private getOptimalPopoverPosition(desiredPosition: PopoverPosition, availableSpace: Offsets): PopoverPosition {\n const hostWidth = this.host.offsetWidth;\n const hostHeight = this.host.offsetHeight;\n const boundElementWidth = this.boundElement.getBoundingClientRect().width;\n const boundElementHeight = this.boundElement.getBoundingClientRect().height;\n const offsetModifier = this.offsetModifier;\n\n /** Check if there is enough space to fit the popover in the desired position */\n const fits = (pos: PopoverPosition): boolean => {\n switch (pos) {\n case PopoverPosition.TOP:\n return (\n availableSpace.top >= hostHeight - this.spaceTolerance &&\n this.hasCenteredHorizontalSpace(availableSpace.left, availableSpace.right, hostWidth, boundElementWidth)\n );\n case PopoverPosition.TOP_RIGHT:\n return (\n availableSpace.top >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.right, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.TOP_LEFT:\n return (\n availableSpace.top >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.left, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.RIGHT:\n return (\n availableSpace.right >= hostWidth &&\n this.hasCenteredVerticalSpace(availableSpace.top, availableSpace.bottom, hostHeight, boundElementHeight)\n );\n case PopoverPosition.RIGHT_BOTTOM:\n return (\n availableSpace.right >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.bottom, hostHeight, boundElementHeight, offsetModifier)\n );\n case PopoverPosition.RIGHT_TOP:\n return (\n availableSpace.right >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.top, hostHeight, boundElementHeight, offsetModifier)\n );\n case PopoverPosition.BOTTOM:\n return (\n availableSpace.bottom >= hostHeight &&\n this.hasCenteredHorizontalSpace(availableSpace.left, availableSpace.right, hostWidth, boundElementWidth)\n );\n case PopoverPosition.BOTTOM_LEFT:\n return (\n availableSpace.bottom >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.left, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.BOTTOM_RIGHT:\n return (\n availableSpace.bottom >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.right, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.LEFT:\n return (\n availableSpace.left >= hostWidth &&\n this.hasCenteredVerticalSpace(availableSpace.top, availableSpace.bottom, hostHeight, boundElementHeight)\n );\n case PopoverPosition.LEFT_TOP:\n return (\n availableSpace.left >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.top, hostHeight, boundElementHeight, offsetModifier)\n );\n case PopoverPosition.LEFT_BOTTOM:\n return (\n availableSpace.left >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.bottom, hostHeight, boundElementHeight, offsetModifier)\n );\n\n default:\n return false;\n }\n };\n\n // Check desired position first\n if (fits(desiredPosition)) {\n return desiredPosition;\n }\n\n // Find position index and create rotation starting from next position\n const positions = ZPopover.positionOrder;\n const startIndex = positions.indexOf(desiredPosition);\n\n if (startIndex === -1) {\n return desiredPosition; // fallback if position not found\n }\n\n // Try all other positions starting from the next one\n for (let i = 1; i < positions.length; i++) {\n const posIndex = (startIndex + i) % positions.length;\n const pos = positions[posIndex];\n if (fits(pos)) {\n return pos;\n }\n }\n\n return this.findBestFallbackPosition(availableSpace);\n }\n\n /** Find the best fallback position based on available space when no position fits perfectly. */\n private findBestFallbackPosition(availableSpace: Offsets): PopoverPosition {\n // Determine which horizontal and vertical direction has the most available space\n const bestHorizontalDirection =\n availableSpace.right >= availableSpace.left ? PopoverPosition.RIGHT : PopoverPosition.LEFT;\n\n const bestVerticalDirection =\n availableSpace.bottom >= availableSpace.top ? PopoverPosition.BOTTOM : PopoverPosition.TOP;\n\n // Choose the main direction based on which axis has more space overall\n const maxHorizontalSpace = Math.max(availableSpace.right, availableSpace.left);\n const maxVerticalSpace = Math.max(availableSpace.bottom, availableSpace.top);\n\n const mainDirection = maxVerticalSpace >= maxHorizontalSpace ? bestVerticalDirection : bestHorizontalDirection;\n\n // Decide if a secondary direction is needed\n // Only add a secondary direction if the difference between min and max in that axis is at least double\n let needsSecondaryDirection = false;\n\n if (mainDirection === bestVerticalDirection) {\n // If main direction is vertical, check horizontal space difference\n const minHorizontalSpace = Math.min(availableSpace.right, availableSpace.left);\n needsSecondaryDirection = maxHorizontalSpace >= minHorizontalSpace * 2;\n } else {\n // If main direction is horizontal, check vertical space difference\n const minVerticalSpace = Math.min(availableSpace.bottom, availableSpace.top);\n needsSecondaryDirection = maxVerticalSpace >= minVerticalSpace * 2;\n }\n\n if (!needsSecondaryDirection) {\n return mainDirection;\n }\n\n const secondaryDirection =\n mainDirection === bestVerticalDirection ? bestHorizontalDirection : bestVerticalDirection;\n\n // Return a combined position (e.g., \"bottom_right\")\n return `${mainDirection}_${secondaryDirection}` as PopoverPosition;\n }\n\n /**\n * Find the nearest scrollable ancestor of an element to take as a reference for positioning.\n * The ancestor is considered scrollable if it doesn't have `overflow` property set to `hidden` and its scroll size is bigger than its client size.\n */\n private findScrollableAncestor(element: HTMLElement): HTMLElement {\n let parent = getParentElement(element);\n\n while (parent) {\n if (parent === element.ownerDocument.documentElement) {\n return parent as HTMLElement;\n }\n\n const style = getComputedStyle(parent);\n const {overflow, overflowX, overflowY} = style;\n const hasHiddenOverflow = overflow === \"hidden\" || overflowY === \"hidden\" || overflowX === \"hidden\";\n const isScrollable =\n (parent.scrollHeight > parent.clientHeight && overflow !== \"visible\" && overflowY !== \"visible\") ||\n (parent.scrollWidth > parent.clientWidth && overflow !== \"visible\" && overflowX !== \"visible\");\n\n if (!hasHiddenOverflow && isScrollable) {\n return parent as HTMLElement;\n }\n\n parent = getParentElement(parent);\n }\n\n return element.ownerDocument.documentElement;\n }\n\n /**\n * Calculate available space around the element bound with the popover, based on its nearest scrollable ancestor.\n *\n * Calculations for `right` and `bottom` can be a little bit confusing because `boundingRect.right` and `bottom` may not be what you expect...\n * For more information see the explanation in the docs.\n * @link https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect#return_value\n */\n private calculateAvailableSpace(): Offsets {\n const boundElementRect = this.boundElement.getBoundingClientRect();\n\n if (\n this.lastBoundRect &&\n this.lastBoundRect.x === boundElementRect.x &&\n this.lastBoundRect.y === boundElementRect.y &&\n this.lastBoundRect.width === boundElementRect.width &&\n this.lastBoundRect.height === boundElementRect.height &&\n this.cachedAvailableSpace\n ) {\n // If the bound element's rect hasn't changed, return the cached rect\n return this.cachedAvailableSpace;\n }\n\n this.lastBoundRect = boundElementRect;\n const scrollableAncestor = this.findScrollableAncestor(this.boundElement);\n const scrollableAncestorRect = scrollableAncestor.getBoundingClientRect();\n const isScrollableAncestorNested = scrollableAncestor !== this.boundElement.ownerDocument.documentElement;\n const documentWidth = this.boundElement.ownerDocument.documentElement.clientWidth;\n const documentHeight = this.boundElement.ownerDocument.documentElement.clientHeight;\n const safeSpace = 8; // extra space to avoid popover being too close to the edges\n\n // These deltas represent the offset between the scrollable ancestor and the viewport.\n // They are used to adjust the available space calculations when the scrollable ancestor is not the document or body,\n // to try to fit the popover inside the scrollable ancestor.\n const deltaTop = isScrollableAncestorNested ? scrollableAncestorRect.top : 0;\n const deltaRight = isScrollableAncestorNested ? documentWidth - scrollableAncestorRect.right : 0;\n const deltaBottom = isScrollableAncestorNested ? documentHeight - scrollableAncestorRect.bottom : 0;\n const deltaLeft = isScrollableAncestorNested ? scrollableAncestorRect.left : 0;\n\n this.cachedAvailableSpace = {\n top: boundElementRect.top - deltaTop - safeSpace,\n right: documentWidth - boundElementRect.right - deltaRight - safeSpace,\n bottom: documentHeight - boundElementRect.bottom - deltaBottom - safeSpace,\n left: boundElementRect.left - deltaLeft - safeSpace,\n };\n\n return this.cachedAvailableSpace;\n }\n\n /** Calculate the space around the bound element relative to the viewport. */\n private getBoundElementOffsets(): Offsets {\n const elementRect = this.boundElement.getBoundingClientRect();\n const documentWidth = this.boundElement.ownerDocument.documentElement.clientWidth;\n const documentHeight = this.boundElement.ownerDocument.documentElement.clientHeight;\n\n return {\n top: elementRect.top,\n right: documentWidth - elementRect.right,\n bottom: documentHeight - elementRect.bottom,\n left: elementRect.left,\n };\n }\n\n /** Compute positioning offsets in the appropriate coordinate space, accounting for transformed containing blocks and scroll. */\n private computePositionOffsets(): Offsets {\n const boundElementOffsets = this.getBoundElementOffsets();\n const containingBlockAncestor = findContainingBlockAncestor(this.host);\n const isDocumentElement = containingBlockAncestor === this.host.ownerDocument.documentElement;\n\n if (isDocumentElement) {\n return boundElementOffsets;\n }\n\n const containingBlockRect = containingBlockAncestor.getBoundingClientRect();\n const containingBlockStyle = getComputedStyle(containingBlockAncestor);\n /** Padding box of the containing block, accounting for borders. */\n const paddingBox = {\n top: containingBlockRect.top + parseFloat(containingBlockStyle.borderTopWidth),\n right: containingBlockRect.right - parseFloat(containingBlockStyle.borderRightWidth),\n bottom: containingBlockRect.bottom - parseFloat(containingBlockStyle.borderBottomWidth),\n left: containingBlockRect.left + parseFloat(containingBlockStyle.borderLeftWidth),\n };\n\n const boundElementRect = this.boundElement.getBoundingClientRect();\n /** Bound element offsets relative to the containing block padding box. */\n const relativeOffsets = {\n top: boundElementRect.top - paddingBox.top,\n right: paddingBox.right - boundElementRect.right,\n bottom: paddingBox.bottom - boundElementRect.bottom,\n left: boundElementRect.left - paddingBox.left,\n };\n\n /** Account for scroll to keep the popover aligned while the containing block scrolls. */\n return {\n top: relativeOffsets.top + containingBlockAncestor.scrollTop,\n right: relativeOffsets.right - containingBlockAncestor.scrollLeft,\n bottom: relativeOffsets.bottom - containingBlockAncestor.scrollTop,\n left: relativeOffsets.left + containingBlockAncestor.scrollLeft,\n };\n }\n\n /** Apply positioning styles based on `position` parameter. */\n private applyPositionStyles(position: PopoverPosition, availableSpace: Offsets): void {\n const boundElementWidth = this.boundElement.offsetWidth;\n const boundElementHeight = this.boundElement.offsetHeight;\n const offsetModifier = this.offsetModifier;\n /**\n * Distance between the arrow center and the popover edge.\n * Needed to align the center of the arrow with the center of the bound element when `showArrow` and `center` are enabled.\n */\n const arrowModifier = this.showArrow && this.center ? 8 : 0;\n const hostStyle = this.host.style;\n /** Gap between the popover and the bound element, set as margin in CSS. */\n const distanceFromBound = parseFloat(getComputedStyle(this.host).marginTop.replace(\"px\", \"\")) || 0;\n const positionOffsets = this.computePositionOffsets();\n\n /**\n * Precomputed bases to reduce repeated arithmetic in the switch below.\n * They represent the bound element edges plus optional centering offsets.\n */\n const leftBase = positionOffsets.left + boundElementWidth * offsetModifier;\n const rightBase = positionOffsets.right + boundElementWidth * offsetModifier;\n const topBase = positionOffsets.top + boundElementHeight;\n const bottomBase = positionOffsets.bottom + boundElementHeight;\n const sideTopBase = positionOffsets.top + boundElementHeight * offsetModifier;\n const sideBottomBase = positionOffsets.bottom + boundElementHeight * offsetModifier;\n\n let maxWidth: number;\n let maxHeight: number;\n\n switch (position) {\n case PopoverPosition.TOP:\n case PopoverPosition.TOP_RIGHT:\n hostStyle.bottom = `${bottomBase}px`;\n hostStyle.left = `${leftBase - (position === PopoverPosition.TOP_RIGHT ? arrowModifier : 0)}px`;\n maxHeight = availableSpace.top - distanceFromBound;\n if (position === PopoverPosition.TOP_RIGHT) {\n maxWidth = availableSpace.right + boundElementWidth * offsetModifier;\n }\n break;\n\n case PopoverPosition.TOP_LEFT:\n hostStyle.right = `${rightBase - arrowModifier}px`;\n hostStyle.bottom = `${bottomBase}px`;\n maxWidth = availableSpace.left + boundElementWidth * offsetModifier;\n maxHeight = availableSpace.top - distanceFromBound;\n break;\n\n case PopoverPosition.BOTTOM:\n case PopoverPosition.BOTTOM_RIGHT:\n hostStyle.top = `${topBase}px`;\n hostStyle.left = `${leftBase - (position === PopoverPosition.BOTTOM_RIGHT ? arrowModifier : 0)}px`;\n maxHeight = availableSpace.bottom - distanceFromBound;\n if (position === PopoverPosition.BOTTOM_RIGHT) {\n maxWidth = availableSpace.right + boundElementWidth * offsetModifier;\n }\n break;\n\n case PopoverPosition.BOTTOM_LEFT:\n hostStyle.top = `${topBase}px`;\n hostStyle.right = `${rightBase - arrowModifier}px`;\n maxWidth = availableSpace.left + boundElementWidth * offsetModifier;\n maxHeight = availableSpace.bottom - distanceFromBound;\n break;\n\n case PopoverPosition.RIGHT:\n case PopoverPosition.RIGHT_BOTTOM:\n hostStyle.top = `${sideTopBase - (position === PopoverPosition.RIGHT_BOTTOM ? arrowModifier : 0)}px`;\n hostStyle.left = `${positionOffsets.left + boundElementWidth}px`;\n maxWidth = availableSpace.right - distanceFromBound;\n if (position === PopoverPosition.RIGHT) {\n maxHeight = availableSpace.top + availableSpace.bottom + boundElementHeight;\n } else {\n maxHeight = availableSpace.bottom + boundElementHeight * offsetModifier;\n }\n break;\n\n case PopoverPosition.RIGHT_TOP:\n hostStyle.bottom = `${sideBottomBase - arrowModifier}px`;\n hostStyle.left = `${positionOffsets.left + boundElementWidth}px`;\n maxWidth = availableSpace.right - distanceFromBound;\n maxHeight = availableSpace.top + boundElementHeight * offsetModifier;\n break;\n\n case PopoverPosition.LEFT:\n case PopoverPosition.LEFT_BOTTOM:\n hostStyle.top = `${sideTopBase - (position === PopoverPosition.LEFT_BOTTOM ? arrowModifier : 0)}px`;\n hostStyle.right = `${positionOffsets.right + boundElementWidth}px`;\n maxWidth = availableSpace.left - distanceFromBound;\n if (position === PopoverPosition.LEFT_BOTTOM) {\n maxHeight = availableSpace.bottom + boundElementHeight * offsetModifier;\n }\n break;\n\n case PopoverPosition.LEFT_TOP:\n hostStyle.right = `${positionOffsets.right + boundElementWidth}px`;\n hostStyle.bottom = `${sideBottomBase - arrowModifier}px`;\n maxWidth = availableSpace.left - distanceFromBound;\n maxHeight = availableSpace.top + boundElementHeight * offsetModifier;\n break;\n }\n\n if (getDevice() !== Device.MOBILE) {\n // Only force max sizes on non-mobile viewports\n Object.assign(hostStyle, {\n maxWidth: maxWidth ? `${maxWidth}px` : \"\",\n maxHeight: maxHeight ? `${maxHeight}px` : \"\",\n });\n }\n }\n\n /** Set the position of the popover. */\n private setPosition(): void {\n if (!this.boundElement) {\n return;\n }\n\n if (!isElementVisibleInContainer(this.boundElement, this.findScrollableAncestor(this.boundElement))) {\n // If the bound element is not visible, hide the popover too\n this.open = false;\n\n return;\n }\n\n Object.assign(this.host.style, {\n // Reset all positioning properties\n top: \"auto\",\n right: \"auto\",\n bottom: \"auto\",\n left: \"auto\",\n maxWidth: \"\",\n maxHeight: \"\",\n // Set initial visibility to hidden while calculating position...\n visibility: \"hidden\",\n });\n\n const availableSpace = this.calculateAvailableSpace();\n const position = this.getOptimalPopoverPosition(this.position, availableSpace);\n\n this.applyPositionStyles(position, availableSpace);\n this.currentPosition = position;\n this.positionChange.emit({position: this.currentPosition});\n\n // ...then restore the visibility\n this.host.style.visibility = \"visible\";\n }\n\n componentWillLoad(): void {\n this.validatePosition(this.position);\n }\n\n componentDidLoad(): void {\n this.findBoundElement();\n if (this.open) {\n this.onOpen();\n }\n }\n\n disconnectedCallback(): void {\n cancelAnimationFrame(this.animationFrameRequestId);\n }\n\n render(): HTMLZPopoverElement {\n return (\n <Host current-position={this.currentPosition}>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-result-card/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, ComponentInterface, Element, Host, Prop, h} from \"@stencil/core\";\n\n/**\n * @slot tags - slot containing the descriptors for the opera variant\n * @slot volumes - slot containing the volume count to be displayed in the opera variant\n */\n@Component({\n tag: \"z-result-card\",\n styleUrls: [\"styles.css\"],\n shadow: true,\n})\nexport class ZResultCard implements ComponentInterface {\n @Element() hostElement: HTMLZResultCardElement;\n\n /** The title of the card. */\n @Prop()\n cardTitle: string;\n\n /** The subtitle of the card. */\n @Prop()\n cardSubtitle: string;\n\n /** The authors of the opera. */\n @Prop()\n authors?: string;\n\n /** The URL of the cover image of the opera. */\n @Prop()\n cover?: string;\n\n /** [optional] Fallback cover URL. */\n @Prop()\n fallbackCover?: string;\n\n /** [optional] Alt text for the cover image. When provided, the image is exposed to assistive technologies. */\n @Prop()\n coverAlt?: string;\n\n /** Whether to show a stack of covers to represent multiple books. */\n @Prop()\n hasMultipleCovers = false;\n\n /** Enables the \"info\" variant of the card. */\n @Prop()\n isInfoCard = false;\n\n /** [optional] Set a specific heading level as html tag for the title. */\n @Prop()\n titleHtmlTag?: string;\n\n private authorsRef: HTMLElement;\n\n private titleRef: HTMLElement;\n\n private subtitleRef: HTMLElement;\n\n private setTooltipTitle(el: HTMLElement): void {\n if (!el) {\n return;\n }\n\n // Check if element uses line-clamp\n const style = window.getComputedStyle(el);\n const hasLineClamp = style.getPropertyValue(\"-webkit-line-clamp\") !== \"none\";\n\n let isTruncated;\n if (hasLineClamp) {\n // For elements with line-clamp, check if content height exceeds line-clamp height\n const lineHeight = parseInt(style.lineHeight);\n const maxLines = parseInt(style.getPropertyValue(\"-webkit-line-clamp\"));\n const maxHeight = lineHeight * maxLines;\n\n isTruncated = el.scrollHeight > maxHeight;\n } else {\n // Original check for elements without line-clamp\n isTruncated = el.scrollWidth > el.clientWidth || el.scrollHeight > el.clientHeight;\n }\n\n if (isTruncated) {\n el.setAttribute(\"title\", el.textContent.trim());\n } else {\n el.removeAttribute(\"title\");\n }\n }\n\n componentDidRender(): void {\n this.setTooltipTitle(this.authorsRef);\n this.setTooltipTitle(this.titleRef);\n this.setTooltipTitle(this.subtitleRef);\n }\n\n private resizeHandler = (): void => {\n this.setTooltipTitle(this.authorsRef);\n this.setTooltipTitle(this.titleRef);\n this.setTooltipTitle(this.subtitleRef);\n };\n\n componentDidLoad(): void {\n window.addEventListener(\"resize\", this.resizeHandler);\n }\n\n disconnectedCallback(): void {\n window.removeEventListener(\"resize\", this.resizeHandler);\n }\n\n private renderTitle = (): HTMLElement => {\n const TitleTag = this.titleHtmlTag || \"div\";\n\n return (\n <TitleTag\n class=\"card-title\"\n ref={(el) => (this.titleRef = el as HTMLElement)}\n >\n {this.cardTitle}\n </TitleTag>\n );\n };\n\n private renderSubtitle = (): HTMLSpanElement => {\n return (\n <span\n class=\"card-subtitle\"\n ref={(el) => (this.subtitleRef = el as HTMLElement)}\n >\n {this.cardSubtitle}\n </span>\n );\n };\n\n private renderOperaCard = (): HTMLZResultCardElement => {\n return (\n <Host>\n <z-book-cover\n cover={this.cover}\n coverAlt={this.coverAlt}\n fallbackCover={this.fallbackCover}\n multiple={this.hasMultipleCovers}\n bordered={true}\n ></z-book-cover>\n <div class=\"info-container\">\n {this.authors && (\n <span\n class=\"authors-label\"\n ref={(el) => (this.authorsRef = el as HTMLElement)}\n >\n {this.authors}\n </span>\n )}\n {this.renderTitle()}\n {this.renderSubtitle()}\n <div class=\"tags-container\">\n <slot name=\"tags\"></slot>\n </div>\n <div class=\"volumes-label\">\n <slot name=\"volumes\"></slot>\n </div>\n </div>\n </Host>\n );\n };\n\n private renderInfoCard = (): HTMLZResultCardElement => {\n return (\n <Host class=\"info-card\">\n <div class=\"info-icon-container\">\n <z-icon\n class=\"info-icon\"\n name=\"link\"\n />\n </div>\n <div class=\"info-container\">\n {this.renderTitle()}\n {this.renderSubtitle()}\n </div>\n </Host>\n );\n };\n\n render(): HTMLZResultCardElement {\n return this.isInfoCard ? this.renderInfoCard() : this.renderOperaCard();\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-searchbar/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {\n ButtonVariant,\n ControlSize,\n KeyboardCode,\n SearchbarGroup,\n SearchbarGroupedItem,\n SearchbarItem,\n} from \"../../beans\";\nimport {handleEnterKeydSubmit, randomId} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-searchbar\",\n styleUrls: [\n \"styles.css\",\n \"../css-components/z-label/styles.css\",\n \"../css-components/z-scrollbar/styles.css\",\n \"../../tokens/typography.css\",\n ],\n shadow: true,\n})\nexport class ZSearchbar implements ComponentInterface {\n @Element() host: HTMLZSearchbarElement;\n\n /** The id of the searchbar element */\n @Prop({reflect: true})\n htmlid = `searchbar-${randomId()}`;\n\n /** Prevent submit action */\n @Prop()\n preventSubmit?: boolean = false;\n\n /** The input label */\n @Prop()\n label?: string;\n\n /** The input aria-label */\n @Prop()\n htmlAriaLabel?: string;\n\n /** Input search string */\n @Prop()\n value?: string;\n\n /** Search input placeholder */\n @Prop()\n placeholder?: string;\n\n /** Show autocomplete results */\n @Prop()\n autocomplete?: boolean = false;\n\n /** Minimun number of characters to dispatch typing event */\n @Prop()\n autocompleteMinChars?: number = 3;\n\n /** Number of results shown. Default: all */\n @Prop()\n resultsCount?: number;\n\n /** Search helper text */\n @Prop()\n searchHelperLabel?: string = \"Cerca {searchString}\";\n\n /** Autocomplete results items */\n @Prop()\n resultsItems?: SearchbarItem[] | string;\n\n /** Sort autocomplete results items */\n @Prop()\n sortResultsItems?: boolean = false;\n\n /** Show submit button */\n @Prop()\n showSearchButton?: boolean = false;\n\n /** Hide the label of the submit button, showing only the icon */\n @Prop()\n searchButtonIconOnly?: boolean = false;\n\n /** The label of the submit button */\n @Prop()\n searchButtonLabel?: string = \"CERCA\";\n\n /** Size of the `z-input` and submit `z-button` */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n /** Submit `z-button` variant */\n @Prop()\n variant?: ButtonVariant = ButtonVariant.PRIMARY;\n\n @State()\n searchString = this.value;\n\n @State()\n currResultsCount: number | undefined = this.resultsCount;\n\n @State()\n showResults = false;\n\n @State()\n isMobile = false;\n\n @State()\n selectedItem?: SearchbarItem;\n\n private resultsItemsList: SearchbarItem[] | undefined = null;\n\n private inputRef: HTMLZInputElement;\n\n /** Media query list for detecting mobile view. */\n private mql?: MediaQueryList;\n\n /** Listener for changes in the mobile view media query. */\n private onMobileViewChange?: (e: MediaQueryListEvent) => void;\n\n /** Emitted on search submit, return search string */\n @Event()\n searchSubmit: EventEmitter<string>;\n\n /** Emitted on search typing, return search string */\n @Event()\n searchTyping: EventEmitter<string>;\n\n /** Emitted on search result click, return item */\n @Event()\n searchItemClick: EventEmitter<SearchbarItem>;\n\n private emitSearchItemClick(item: SearchbarItem): void {\n this.searchItemClick.emit(item);\n this.selectedItem = item;\n this.searchString = \"\";\n }\n\n private emitSearchSubmit(): void {\n this.searchSubmit.emit(this.inputRef.value);\n }\n\n @Watch(\"resultsItems\")\n watchItems(): void {\n this.resultsItemsList = this.getResultsItemsList();\n }\n\n @Watch(\"resultsCount\")\n watchResultsCount(): void {\n this.currResultsCount = this.resultsCount;\n }\n\n @Watch(\"value\")\n watchValue(): void {\n this.searchString = this.value;\n }\n\n @Watch(\"searchString\")\n watchSearchString(): void {\n this.searchTyping.emit(this.searchString);\n if (!this.searchString) {\n this.currResultsCount = this.resultsCount;\n }\n }\n\n private getResultsItemsList(): SearchbarItem[] | undefined {\n return typeof this.resultsItems === \"string\" ? JSON.parse(this.resultsItems) : this.resultsItems;\n }\n\n private getGroupedItems(): SearchbarGroupedItem {\n const groupedItems = {};\n this.resultsItemsList.forEach((item: SearchbarItem) => {\n const key = `${item?.category}${item?.subcategory}`;\n groupedItems[key] = groupedItems[key] ?? {\n category: item?.category,\n subcategory: item?.subcategory,\n items: [],\n };\n groupedItems[key][\"items\"].push(item);\n });\n\n if (this.sortResultsItems) {\n return Object.keys(groupedItems)\n .sort()\n .reduce((obj, key) => {\n obj[key] = {\n ...groupedItems[key],\n items: groupedItems[key][\"items\"].sort((a: SearchbarItem, b: SearchbarItem) => {\n const nameA = a.label.toUpperCase();\n const nameB = b.label.toUpperCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n\n return 0;\n }),\n };\n\n return obj;\n }, {});\n }\n\n return groupedItems;\n }\n\n private onListItemKeyDown(e: KeyboardEvent, item: SearchbarItem): void {\n if (e.key === KeyboardCode.ENTER) {\n e.preventDefault();\n this.emitSearchItemClick(item);\n\n return;\n }\n\n this.handleArrowsNavigation(e);\n }\n\n private onSearchHelperKeyDown(e: KeyboardEvent): void {\n if (e.key === KeyboardCode.ENTER) {\n e.preventDefault();\n this.emitSearchSubmit();\n\n return;\n }\n\n this.handleArrowsNavigation(e);\n }\n\n private handleArrowsNavigation(e: KeyboardEvent): void {\n if (![KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP].includes(e.key as KeyboardCode)) {\n return;\n }\n\n const currentElement = e.target as HTMLElement;\n const items = Array.from(this.host.shadowRoot?.querySelectorAll(\"z-list .list-item\") ?? []);\n const currentIndex = items.indexOf(currentElement);\n\n if (e.key === KeyboardCode.ARROW_DOWN) {\n e.preventDefault();\n const nextIndex = currentIndex + 1;\n if (nextIndex < items.length) {\n (items[nextIndex] as HTMLElement).focus();\n }\n }\n\n if (e.key === KeyboardCode.ARROW_UP) {\n e.preventDefault();\n const prevIndex = currentIndex - 1;\n if (prevIndex < 0) {\n this.host.shadowRoot?.querySelector(\"input\")?.focus();\n this.host.shadowRoot\n ?.querySelector(\"input\")\n ?.setSelectionRange(this.inputRef.value.length, this.inputRef.value.length);\n }\n if (prevIndex >= 0) {\n (items[prevIndex] as HTMLElement).focus();\n }\n }\n }\n\n private handleStopTyping(e: CustomEvent): void {\n e.stopPropagation();\n this.searchString = e.detail.value;\n this.selectedItem = undefined;\n }\n\n private handleSubmit(): void {\n if (this.preventSubmit) {\n return;\n }\n\n this.emitSearchSubmit();\n }\n\n @Listen(\"click\", {target: \"document\"})\n private handleOutsideClick(e: MouseEvent): void {\n const cp = e.composedPath();\n if (cp.includes(this.host)) {\n return;\n }\n\n this.showResults = false;\n }\n\n componentWillLoad(): void {\n this.resultsItemsList = this.getResultsItemsList();\n\n this.mql = matchMedia(\"(max-width: 767px)\");\n this.onMobileViewChange = (e: MediaQueryListEvent) => (this.isMobile = e.matches);\n this.mql.addEventListener(\"change\", this.onMobileViewChange);\n this.isMobile = this.mql.matches;\n }\n\n disconnectedCallback(): void {\n this.mql?.removeEventListener(\"change\", this.onMobileViewChange);\n }\n\n private renderItemLabel(label: string): string {\n if (!this.searchString) {\n return label;\n }\n\n return label.replace(\n new RegExp(this.searchString.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"), \"gmi\"),\n (found) => `<mark>${found}</mark>`\n );\n }\n\n private renderItem(item: SearchbarItem, index: number): HTMLZListElementElement {\n return (\n <z-list-element\n id={`list-item-${this.htmlid}-${index}`}\n role=\"presentation\"\n htmlTabindex={-1}\n onKeyDown={(e: KeyboardEvent) => this.onListItemKeyDown(e, item)}\n onClick={(e: MouseEvent) => {\n e.stopPropagation();\n this.emitSearchItemClick(item);\n }}\n >\n <div\n class=\"list-item ellipsis\"\n role=\"option\"\n tabindex={0}\n >\n {!!item?.icon && (\n <z-icon\n class=\"item-icon\"\n name={item.icon}\n />\n )}\n\n <div\n class=\"item-label body-3 mobile-body-4\"\n title={item.label}\n innerHTML={this.renderItemLabel(item.label)}\n />\n {!!item?.tag && <z-tag icon={item.tag.icon}>{!this.isMobile ? item.tag.text : \"\"}</z-tag>}\n </div>\n {!!item.children?.length && (\n <z-list\n class=\"sub-list\"\n role=\"group\"\n aria-label={item.label || undefined}\n >\n {item.children.map((child, index) => this.renderItem(child, index))}\n </z-list>\n )}\n </z-list-element>\n );\n }\n\n /**\n * Renders the item grouped by category and subcategory. If `resultsCount` is set, it limits the number of rendered items.\n */\n private renderItemGroups(): HTMLZListGroupElement[] | undefined {\n if (!this.resultsItemsList?.length) {\n return;\n }\n\n const groupedItems = Object.values(this.getGroupedItems()) as SearchbarGroup[];\n const listGroups: HTMLZListGroupElement[] = [];\n const hasResultsLimit = !!this.currResultsCount;\n let renderedCount = 0;\n\n for (const groupItem of groupedItems) {\n const remaining = hasResultsLimit ? this.currResultsCount - renderedCount : groupItem.items.length;\n if (remaining <= 0) {\n break;\n }\n\n const visibleItems = groupItem.items.slice(0, remaining);\n const listGroupsElements: HTMLZListElement[] = visibleItems.map((item: SearchbarItem, subindex: number) =>\n this.renderItem(item, subindex)\n );\n renderedCount += listGroupsElements.length;\n\n if (!listGroupsElements.length) {\n continue;\n }\n\n const ariaLabel = [groupItem.category, groupItem.subcategory].filter(Boolean).join(\" \");\n\n listGroups.push(\n <z-list-group aria-label={ariaLabel || undefined}>\n {groupItem.category && (\n <z-list-element\n class=\"category-heading body-3 mobile-body-4\"\n slot=\"header-title\"\n role=\"presentation\"\n htmlTabindex={-1}\n >\n <div class=\"category\">{groupItem.category}</div>\n {groupItem.subcategory && <div class=\"subcategory\">{groupItem.subcategory}</div>}\n </z-list-element>\n )}\n\n {listGroupsElements}\n </z-list-group>\n );\n }\n\n return listGroups;\n }\n\n render(): HTMLZSearchbarElement {\n return (\n <Host\n onFocus={() => (this.showResults = true)}\n onClick={(e: MouseEvent) => this.handleOutsideClick(e)}\n class={{\"has-submit\": !!this.showSearchButton, \"has-results\": !!this.autocomplete}}\n >\n <div class=\"input-container\">\n <z-input\n ref={(el) => (this.inputRef = el)}\n htmlid={`input-${this.htmlid}`}\n message={false}\n placeholder={this.placeholder}\n onStopTyping={(e: CustomEvent) => this.handleStopTyping(e)}\n onKeyUp={(e: KeyboardEvent) => {\n handleEnterKeydSubmit(e, () => this.handleSubmit());\n this.handleArrowsNavigation(e);\n }}\n onFocus={() => (this.showResults = true)}\n value={this.searchString || this.selectedItem?.label}\n size={this.size}\n label={this.label}\n htmlAriaLabel={this.htmlAriaLabel || this.placeholder || undefined}\n />\n\n {!!(\n this.showResults &&\n this.autocomplete &&\n this.searchString &&\n this.searchString.length >= this.autocompleteMinChars &&\n this.resultsItemsList\n ) && (\n <div class=\"results z-scrollbar\">\n {this.preventSubmit && !this.resultsItemsList?.length ? (\n <div class=\"item-no-results body-3 mobile-body-4\">\n Non abbiamo trovato risultati per <b>{this.searchString}</b>\n <br />\n <br />\n Cosa puoi fare?\n <ul>\n <li>Verificare di aver scritto bene</li>\n <li>Provare a cercare un'altra parola</li>\n <li>Provare a cercare qualcosa di più generico</li>\n </ul>\n </div>\n ) : (\n <z-list\n role=\"listbox\"\n id={`list-${this.htmlid}`}\n aria-label={this.htmlAriaLabel || this.label || undefined}\n >\n {this.autocomplete && !this.preventSubmit && !!this.searchString && (\n <z-list-element\n role=\"presentation\"\n htmlTabindex={-1}\n id={`list-item-${this.htmlid}-search`}\n onKeyDown={(e: KeyboardEvent) => this.onSearchHelperKeyDown(e)}\n onClick={() => this.emitSearchSubmit()}\n >\n <div\n class=\"list-item item-search\"\n role=\"option\"\n tabindex={0}\n >\n <z-icon\n class=\"search-icon\"\n name=\"left-magnifying-glass\"\n />\n <div\n class=\"item-label body-3 mobile-body-4\"\n innerHTML={this.searchHelperLabel?.replace(\n \"{searchString}\",\n `<mark>${this.searchString}</mark>`\n )}\n />\n </div>\n </z-list-element>\n )}\n\n {this.renderItemGroups()}\n\n {!!(\n this.searchString &&\n this.resultsItemsList?.length &&\n this.currResultsCount &&\n this.currResultsCount < this.resultsItemsList?.length\n ) && (\n <z-list-element\n role=\"presentation\"\n htmlTabindex={-1}\n id={`list-item-${this.htmlid}-show-all`}\n >\n <div\n role=\"option\"\n class=\"item-show-all body-3 mobile-body-4\"\n tabindex={0}\n onClick={() => (this.currResultsCount = undefined)}\n >\n Vedi tutti i risultati\n </div>\n </z-list-element>\n )}\n </z-list>\n )}\n </div>\n )}\n </div>\n\n {this.showSearchButton && (\n <z-button\n icon={this.searchButtonIconOnly ? \"search\" : undefined}\n aria-label={this.searchButtonIconOnly ? this.searchButtonLabel.trim() || \"CERCA\" : undefined}\n disabled={!!this.preventSubmit}\n variant={this.variant}\n size={this.size}\n onClick={() => this.handleSubmit()}\n >\n {this.searchButtonIconOnly ? \"\" : this.searchButtonLabel.trim() || \"CERCA\"}\n </z-button>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-select/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {ControlSize, InputStatus, KeyboardCode, ListDividerType, ListSize, SelectItem} from \"../../beans\";\nimport {boolean, encodeString, getClickedElement, getElementTree, getPlainText, randomId} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-select\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZSelect implements ComponentInterface {\n @Element() host: HTMLZSelectElement;\n\n /** the id of the input element */\n @Prop()\n htmlid = `id-${randomId()}`;\n\n /** the input select options */\n @Prop()\n items!: SelectItem[] | string;\n\n /** the input name */\n @Prop()\n name?: string;\n\n /** the input label */\n @Prop()\n label?: string;\n\n /** the input `aria-label` */\n @Prop()\n htmlAriaLabel?: string;\n\n /** the input is disabled */\n @Prop()\n disabled?: boolean = false;\n\n /** the input is readonly */\n @Prop()\n readonly?: boolean = false;\n\n /** the input is required */\n @Prop()\n required?: boolean = false;\n\n /** the input placeholder (optional) */\n @Prop()\n placeholder?: string;\n\n /** the input html title (optional) */\n @Prop()\n htmltitle?: string;\n\n /** the input status (optional) */\n @Prop()\n status?: InputStatus;\n\n /** input helper message (optional) - if set to `false` message won't be displayed */\n @Prop()\n message?: string | boolean = true;\n\n /** the input has autocomplete option */\n @Prop()\n autocomplete?: boolean = false;\n\n /** no result text message */\n @Prop()\n noresultslabel?: string = \"Nessun risultato\";\n\n /** */\n @Prop()\n hasGroupItems?: boolean;\n\n /** */\n @Prop()\n hasTreeItems?: boolean;\n\n /** If true and an item matches the search string, children of matching item are shown even if they don't match the search string */\n @Prop()\n showChildrenOfMatchingParent?: boolean;\n\n /** When fixed, it occupies space and pushes down next elements. */\n @Prop()\n isfixed?: boolean = false;\n\n /** */\n @Prop()\n resetItem?: string;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n @State()\n isOpen = false;\n\n @State()\n selectedItem: null | SelectItem = null;\n\n @State()\n focusedItemId: string;\n\n @State()\n searchString: null | string;\n\n private itemsList: SelectItem[] = [];\n\n constructor() {\n this.toggleSelectUl = this.toggleSelectUl.bind(this);\n this.handleSelectFocus = this.handleSelectFocus.bind(this);\n }\n\n @Watch(\"items\")\n watchItems(): void {\n this.itemsList = this.getInitialItemsArray();\n\n this.selectedItem = this.findSelectedItem(this.itemsList);\n }\n\n /** get the input selected options */\n @Method()\n async getSelectedItem(): Promise<SelectItem> {\n return this.selectedItem;\n }\n\n /** get the input value */\n @Method()\n async getValue(): Promise<string> {\n return this.getSelectedValue();\n }\n\n /** set the input value */\n @Method()\n async setValue(value: string | string[]): Promise<void> {\n let values: string[] = [];\n if (typeof value === \"string\") {\n values.push(value);\n } else {\n values = value;\n }\n\n this.itemsList = this.getInitialItemsArray();\n if (values.length) {\n this.updateSelection(this.itemsList, values[0]);\n }\n this.selectedItem = this.findSelectedItem(this.itemsList);\n }\n\n /** Emitted on select option selection, returns select id, selected item id */\n @Event()\n optionSelect: EventEmitter;\n\n private emitOptionSelect(): void {\n this.optionSelect.emit({\n id: this.htmlid,\n selected: this.getSelectedValue(),\n });\n }\n\n /** Emitted on reset selected item, returns select id, selected item id */\n @Event()\n resetSelect: EventEmitter;\n\n private emitResetSelect(): void {\n this.resetSelect.emit({\n id: this.htmlid,\n });\n }\n\n componentWillLoad(): void {\n this.watchItems();\n }\n\n componentWillRender(): void {\n this.filterItems(this.searchString);\n }\n\n private getInitialItemsArray(): SelectItem[] {\n return typeof this.items === \"string\" ? JSON.parse(this.items) : this.items;\n }\n\n private mapSelectedItemToItemsArray(): SelectItem[] {\n const initialItemsList = this.getInitialItemsArray();\n\n this.updateSelection(initialItemsList, this.selectedItem?.id);\n\n return initialItemsList;\n }\n\n private getSelectedValue(): string {\n return this.selectedItem?.id;\n }\n\n private getOptionId(item: SelectItem): string {\n return `${this.htmlid}_key_${item.id ? encodeString(`${item.id}`) : encodeString(`${item.name}`)}`;\n }\n\n private getResetOptionId(): string {\n return `${this.htmlid}_key_reset`;\n }\n\n private getGroupedItems(): [string, SelectItem[]][] {\n if (!this.itemsList.length) {\n return [];\n }\n\n return Object.entries(\n this.itemsList.reduce(\n (group, item) => {\n const category = item.category || \"Altra categoria\";\n group[category] = group[category] || [];\n group[category].push(item);\n\n return group;\n },\n {} as Record<string, SelectItem[]>\n )\n );\n }\n\n private filterItems(searchString: string): void {\n let prevList = this.mapSelectedItemToItemsArray();\n\n if (!searchString?.length) {\n this.itemsList = prevList;\n\n return;\n }\n\n prevList = prevList.map((item) => ({...item, name: getPlainText(item.name)}));\n\n if (this.hasTreeItems) {\n this.itemsList = this.filterTree(prevList, searchString, false);\n } else {\n this.itemsList = prevList\n .filter((item: SelectItem) => item.name.toUpperCase().includes(searchString.toUpperCase()))\n .map((item: SelectItem) => {\n item.name = this.getHighlightedText(item.name, searchString);\n\n return item;\n });\n }\n }\n\n private filterTree(items: SelectItem[], searchString: string, matchingParent: boolean): SelectItem[] {\n if (!items) {\n return [];\n }\n\n return items\n .map((item) => {\n const match = item.name.toUpperCase().includes(searchString.toUpperCase());\n\n const newItem: SelectItem = {...item};\n if (newItem.children && newItem.children.length > 0) {\n newItem.children = this.filterTree(\n newItem.children.map((item) => ({...item, name: getPlainText(item.name)})),\n searchString,\n match\n );\n }\n\n if (match) {\n newItem.name = this.getHighlightedText(newItem.name, searchString);\n }\n if (\n match ||\n (newItem.children && newItem.children.length > 0) ||\n (this.showChildrenOfMatchingParent && matchingParent)\n ) {\n return newItem;\n }\n\n return null;\n })\n .filter((item) => item !== null) as SelectItem[];\n }\n\n private getHighlightedText(text: string, search: string): string {\n const upperText = text.toUpperCase();\n const upperSearch = search.toUpperCase();\n const start = upperText.indexOf(upperSearch);\n\n if (start === -1) {\n return text;\n }\n\n const end = start + search.length;\n\n return text.substring(0, start) + `<strong>${text.substring(start, end)}</strong>` + text.substring(end);\n }\n\n private hasAutocomplete(): boolean {\n return boolean(this.autocomplete) === true;\n }\n\n private handleInputChange(e: CustomEvent): void {\n this.searchString = e.detail.value;\n if (!this.isOpen) {\n this.toggleSelectUl();\n }\n }\n\n private updateSelection(items: SelectItem[], selectedId: string): void {\n if (items) {\n items.forEach((item) => {\n item.selected = item.id === selectedId;\n if (item.children && item.children.length > 0) {\n this.updateSelection(item.children, selectedId);\n }\n });\n }\n }\n\n private findSelectedItem(items: SelectItem[]): SelectItem | null {\n if (items) {\n for (const item of items) {\n if (item.selected) {\n return item;\n }\n if (item.children && item.children.length > 0) {\n const found = this.findSelectedItem(item.children);\n if (found) {\n return found;\n }\n }\n }\n }\n\n return null;\n }\n\n private selectItem(selected: null | SelectItem): void {\n if (selected?.disabled) {\n return;\n }\n\n this.itemsList = this.getInitialItemsArray();\n\n if (selected) {\n this.updateSelection(this.itemsList, selected.id);\n }\n\n this.selectedItem = this.findSelectedItem(this.itemsList);\n this.emitOptionSelect();\n this.toggleSelectUl();\n if (this.searchString) {\n this.searchString = null;\n }\n }\n\n private handleResetClick(): void {\n this.selectedItem = null;\n this.searchString = null;\n this.focusedItemId = \"\";\n this.emitResetSelect();\n this.toggleSelectUl();\n }\n\n private handleInputKeyDown(e: KeyboardEvent): void {\n switch (e.code as KeyboardCode) {\n case KeyboardCode.ENTER:\n case KeyboardCode.SPACE:\n if (this.focusedItemId) {\n if (this.focusedItemId === this.getResetOptionId()) {\n this.handleResetClick();\n } else {\n const item = this.itemsList.find((e) => this.getOptionId(e) === this.focusedItemId) || null;\n if (item) {\n this.selectedItem = item;\n this.emitOptionSelect();\n this.toggleSelectUl();\n }\n }\n } else if (!this.hasAutocomplete()) {\n e.preventDefault();\n this.toggleSelectUl();\n }\n break;\n case KeyboardCode.ARROW_DOWN:\n case KeyboardCode.ARROW_UP:\n this.arrowsSelectNav(e);\n break;\n }\n }\n\n private arrowsSelectNav(e: KeyboardEvent): void {\n const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];\n\n if (!arrows.includes(e.key as KeyboardCode)) {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n const currElem = this.focusedItemId ? this.host.querySelector(`#${this.focusedItemId}`) : null;\n const options = Array.from(this.host.querySelectorAll('[role=\"option\"]'));\n\n if (!options.length) {\n return;\n }\n\n const currElemIndex = currElem ? options.indexOf(currElem) : null;\n const firstElemIndex = 0;\n const lastElemIndex = options.length - 1;\n\n if (!this.isOpen) {\n this.toggleSelectUl();\n\n if (this.selectedItem) {\n this.focusSelectItem(this.getOptionId(this.selectedItem));\n\n return;\n }\n }\n\n let nextElem = null;\n if (e.code === KeyboardCode.ARROW_DOWN) {\n nextElem =\n currElemIndex === null ? options[firstElemIndex] : options[currElemIndex + 1] || options[lastElemIndex];\n } else if (e.code === KeyboardCode.ARROW_UP) {\n nextElem =\n currElemIndex === null ? options[lastElemIndex] : options[currElemIndex - 1] || options[firstElemIndex];\n }\n\n this.focusSelectItem(nextElem.id);\n }\n\n private focusSelectItem(optionId: string): void {\n this.focusedItemId = optionId;\n const elem = this.host.querySelector(`#${optionId}`);\n // @ts-expect-error 'container' does not exist in type 'ScrollIntoViewOptions'\n elem.scrollIntoView({block: \"nearest\", container: \"nearest\"});\n }\n\n private toggleSelectUl(selfFocusOnClose = false): void {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (!this.isOpen) {\n document.addEventListener(\"click\", this.handleSelectFocus);\n document.addEventListener(\"keyup\", this.handleSelectFocus);\n } else {\n document.removeEventListener(\"click\", this.handleSelectFocus);\n document.removeEventListener(\"keyup\", this.handleSelectFocus);\n if (selfFocusOnClose) {\n (this.host.querySelector(`#${this.htmlid}_select_input`) as HTMLInputElement)?.focus();\n }\n\n if (this.selectedItem && this.searchString) {\n this.searchString = null;\n this.filterItems(this.searchString);\n }\n }\n\n this.focusedItemId = \"\";\n this.isOpen = !this.isOpen;\n }\n\n private handleInputClick(e: MouseEvent | KeyboardEvent): void {\n if ((e.target as HTMLElement).closest(\".reset-icon\")) {\n e.stopPropagation();\n\n return;\n }\n\n this.toggleSelectUl();\n }\n\n private handleSelectFocus(e: MouseEvent | KeyboardEvent): void {\n if (e instanceof KeyboardEvent && e.key === KeyboardCode.ESC) {\n e.stopPropagation();\n\n return this.toggleSelectUl(true);\n }\n\n if (e instanceof KeyboardEvent && e.key !== KeyboardCode.TAB) {\n return;\n }\n\n const clickedElement = getClickedElement();\n if (clickedElement?.hasAttribute(\"disabled\")) {\n return;\n }\n\n if (\n !getElementTree(clickedElement).find(\n (elem: HTMLElement) => elem.nodeName.toLowerCase() === \"z-input\" && elem.id === `${this.htmlid}_input`\n )\n ) {\n const zSelect = getElementTree(clickedElement).find((e) => e.nodeName === \"Z-SELECT\");\n this.toggleSelectUl(zSelect === this.host);\n }\n }\n\n private scrollToLetter(letter: string): void {\n if (!this.itemsList.length) {\n return;\n }\n\n const foundItem = this.itemsList.find(\n (item: SelectItem) => item.name.toLowerCase().charAt(0) === letter.toLowerCase()\n );\n if (foundItem) {\n if (!this.isOpen) {\n this.toggleSelectUl();\n }\n this.focusSelectItem(this.getOptionId(foundItem));\n }\n }\n\n private renderInput(): HTMLElement[] {\n let value = null;\n if (this.selectedItem) {\n value = getPlainText(this.selectedItem.name);\n }\n if (this.isOpen && this.searchString !== undefined) {\n value = this.searchString;\n }\n\n return [\n <z-input\n class={{\n \"active-select\": this.isOpen,\n \"cursor-select\": !this.autocomplete,\n }}\n id={`${this.htmlid}_input`}\n htmlid={`${this.htmlid}_select_input`}\n placeholder={this.placeholder}\n value={value}\n label={this.label}\n autocomplete=\"off\"\n htmlAriaLabel={this.htmlAriaLabel || undefined}\n icon={this.isOpen ? \"caret-up\" : \"caret-down\"}\n hasclearicon={false}\n message={false}\n name={this.name}\n disabled={this.disabled}\n readonly={this.readonly || (!this.hasAutocomplete() && this.isOpen)}\n required={this.required}\n status={this.isOpen ? undefined : this.status}\n size={this.size}\n role=\"combobox\"\n html-aria-expanded={this.isOpen ? \"true\" : \"false\"}\n html-aria-controls={`${this.htmlid}_list`}\n html-aria-activedescendant={this.isOpen ? this.focusedItemId : \"\"}\n html-aria-autocomplete={this.hasAutocomplete() ? \"list\" : undefined}\n onClick={(e: MouseEvent) => this.handleInputClick(e)}\n onKeyDown={(e: KeyboardEvent) => this.handleInputKeyDown(e)}\n onInputChange={(e: CustomEvent) => this.handleInputChange(e)}\n onKeyPress={(e: KeyboardEvent) => {\n if (!this.hasAutocomplete()) {\n e.preventDefault();\n this.scrollToLetter(e.key);\n }\n }}\n />,\n ];\n }\n\n private renderSelectUl(): HTMLDivElement {\n return (\n <div class={this.isOpen ? \"open\" : \"closed\"}>\n <div\n class={{\n \"ul-scroll-wrapper\": true,\n \"fixed\": this.isfixed,\n }}\n >\n <z-list\n role=\"listbox\"\n aria-label={this.htmlAriaLabel || this.label}\n tabindex={this.disabled || this.readonly || !this.isOpen ? -1 : 0}\n id={`${this.htmlid}_list`}\n aria-multiselectable={false}\n size={this.listSizeType()}\n class={{\n \"disabled\": this.disabled,\n \"readonly\": this.readonly,\n [`input-${this.status}`]: !this.isOpen && !!this.status,\n \"z-scrollbar\": true,\n }}\n >\n {this.resetItem && this.renderResetItem()}\n {this.renderSelectUlItems()}\n </z-list>\n </div>\n </div>\n );\n }\n\n private renderResetItem(): HTMLZListElementElement {\n const hidden = !this.selectedItem || !this.resetItem;\n\n return (\n <z-list-element\n class={{\n \"hide\": hidden,\n \"reset-item\": true,\n \"reset-item-margin\": !this.hasGroupItems,\n }}\n clickable={true}\n disabled={false}\n dividerType={ListDividerType.ELEMENT}\n role={hidden ? \"presentation\" : \"option\"}\n htmlTabindex={this.isOpen ? 0 : null}\n aria-selected=\"false\"\n aria-label={hidden ? undefined : this.resetItem}\n id={this.getResetOptionId()}\n size={this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType()}\n onClickItem={() => this.handleResetClick()}\n >\n <div\n class={{\n \"reset-item-content\": true,\n \"tree-list-reset-item\": this.hasTreeItems,\n \"active\": this.focusedItemId === this.getResetOptionId(),\n }}\n aria-hidden=\"true\"\n >\n <z-icon name=\"multiply-circled\" />\n <span>{this.resetItem}</span>\n </div>\n </z-list-element>\n );\n }\n\n private renderItem(item: SelectItem, lastItem: boolean): HTMLZListElementElement {\n return (\n <z-list-element\n clickable={!item.disabled}\n disabled={item.disabled}\n dividerType={lastItem ? ListDividerType.HEADER : ListDividerType.ELEMENT}\n role={item.disabled ? \"presentation\" : \"option\"}\n htmlTabindex={-1}\n aria-selected={item.selected ? \"true\" : \"false\"}\n aria-label={item.disabled ? undefined : getPlainText(item.name)}\n id={this.getOptionId(item)}\n size={this.listSizeType()}\n onClickItem={() => this.selectItem(item)}\n >\n <div\n class={{\n \"list-element-container\": true,\n \"active\": this.focusedItemId === this.getOptionId(item),\n }}\n aria-hidden=\"true\"\n >\n <div\n class={{\n \"selected\": !!item.selected,\n \"list-element-content\": true,\n }}\n innerHTML={item.name}\n />\n {item.icon && <z-tag icon={item.icon}></z-tag>}\n </div>\n </z-list-element>\n );\n }\n\n private listSizeType(): ListSize {\n if (this.hasTreeItems) {\n return ListSize.NONE;\n }\n\n if (this.size === ControlSize.SMALL || this.size === ControlSize.X_SMALL) {\n return ListSize.SMALL;\n }\n\n return ListSize.MEDIUM;\n }\n\n private renderSelectUlItems():\n | HTMLZListElementElement\n | (HTMLZListElementElement | HTMLZListElementElement[])[]\n | HTMLZListGroupElement[] {\n if (!this.itemsList.length) {\n return this.renderNoSearchResults();\n }\n\n if (this.hasGroupItems) {\n if (this.hasTreeItems) {\n return this.renderGroupedTree();\n }\n\n return this.renderSelectGroupItems();\n }\n\n return this.itemsList.map((item: SelectItem, index, array) => {\n const isLastItem = index === array.length - 1;\n const parentHasSiblings = array.length > 1;\n\n if (this.hasTreeItems) {\n return this.renderTreeItems(item, isLastItem, parentHasSiblings, true, item.disabled);\n }\n\n return this.renderItem(item, isLastItem);\n });\n }\n\n private renderTreeItems(\n item: SelectItem,\n isLastChild: boolean,\n parentHasSiblings: boolean,\n isTopLevel?: boolean,\n disabledAncestor?: boolean\n ): HTMLZListElementElement[] {\n const isDisabled = item.disabled || disabledAncestor;\n\n const hasDivider = this.hasGroupItems\n ? undefined\n : this.hasGroupItems\n ? isLastChild && !parentHasSiblings\n ? ListDividerType.ELEMENT\n : undefined\n : isTopLevel && parentHasSiblings && !isLastChild\n ? ListDividerType.ELEMENT\n : undefined;\n\n return (\n <z-list-element\n clickable={!item.disabled}\n disabled={isDisabled}\n class={{\n \"grouped-tree-parent-node\": this.hasGroupItems && !!item.children?.length,\n \"tree-search-item\": this.hasGroupItems && isTopLevel && !item.children?.length && !!this.searchString,\n }}\n size={this.listSizeType()}\n dividerType={hasDivider}\n hasTreeItems={this.hasTreeItems}\n htmlTabindex={null}\n role=\"presentation\"\n >\n <div\n id={this.getOptionId(item)}\n role={isDisabled ? \"presentation\" : \"option\"}\n aria-label={isDisabled ? undefined : getPlainText(item.name)}\n class={{\"list-element\": true, \"active\": this.focusedItemId === this.getOptionId(item)}}\n onClick={() => this.selectItem(item)}\n >\n <span\n class=\"item ellipsis\"\n aria-hidden=\"true\"\n >\n <span\n class={{\n \"item-label\": true,\n \"selected\": !!item.selected,\n }}\n title={item.name}\n innerHTML={item.name}\n />\n </span>\n {item.icon && <z-tag icon={item.icon}></z-tag>}\n </div>\n {item.children && item.children.length > 0 ? (\n <z-list role=\"presentation\">\n <div class=\"children-node\">\n {item.children.map((child, index, arr) =>\n this.renderTreeItems(\n child,\n index === arr.length - 1,\n arr.length > 1,\n false, // isTopLevel = false for children\n isDisabled\n )\n )}\n </div>\n </z-list>\n ) : null}\n </z-list-element>\n );\n }\n\n private renderGroupedTree(): HTMLZListGroupElement[] {\n const groupedItems = this.getGroupedItems();\n\n return groupedItems.map(([category, items], index, entries) => {\n const parentHasSiblings = Object.values(groupedItems).some((groupItems) => groupItems.length > 1);\n\n return (\n <z-list-group\n divider-type={index === entries.length - 1 ? undefined : ListDividerType.ELEMENT}\n hasTreeItems={true}\n aria-labelledby={`${this.htmlid}_tree_${index}`}\n >\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n id={`${this.htmlid}_tree_${index}`}\n aria-hidden=\"true\"\n >\n {category}\n </span>\n <z-list role=\"presentation\">\n {items.map((item, i, arr) => [\n this.renderTreeItems(item, i === arr.length - 1, parentHasSiblings, true, item.disabled),\n i < arr.length - 1 ? (\n <z-divider\n key={`divider-${i}`}\n style={{zIndex: \"100\", height: \"var(--border-size-small)\"}}\n />\n ) : null,\n ])}\n </z-list>\n {index !== entries.length - 1 && <z-divider style={{zIndex: \"100\", height: \"var(--border-size-small)\"}} />}\n </z-list-group>\n );\n });\n }\n\n private renderSelectGroupItems(): HTMLZListElementElement[] {\n const groupedItems = this.getGroupedItems();\n\n return groupedItems.map(([key, items], index) => {\n const isLastGroup = groupedItems.length === index + 1;\n\n return (\n <z-list-group\n divider-type={ListDividerType.ELEMENT}\n aria-labelledby={`${this.htmlid}_group_${index}`}\n >\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n id={`${this.htmlid}_group_${index}`}\n aria-hidden=\"true\"\n >\n {key}\n </span>\n {items.map((item, subindex) => {\n const isLastItem = items.length === subindex + 1;\n\n return this.renderItem(item, isLastGroup && isLastItem);\n })}\n </z-list-group>\n );\n });\n }\n\n private renderNoSearchResults(): HTMLZListElementElement {\n return (\n <z-list-element\n class=\"no-results\"\n size={this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType()}\n htmlTabindex={null}\n role=\"presentation\"\n >\n {this.noresultslabel}\n </z-list-element>\n );\n }\n\n private renderMessage(): HTMLZInputMessageElement {\n if (boolean(this.message) === false) {\n return;\n }\n\n return (\n <z-input-message\n message={boolean(this.message) === true ? undefined : (this.message as string)}\n status={this.status}\n class={this.size}\n disabled={this.disabled}\n />\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div class=\"select-wrapper\">\n {this.renderInput()}\n {this.renderSelectUl()}\n {this.renderMessage()}\n </div>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-skip-to-content/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, ComponentInterface, Element, Host, Listen, Prop, State, h} from \"@stencil/core\";\nimport {SkipToContentLink, ThemeVariant} from \"../../beans\";\nimport {getElementTree, handleKeyboardSubmit} from \"../../utils/utils\";\n\n/**\n * Component short description.\n */\n@Component({\n tag: \"z-skip-to-content\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZSkipToContent implements ComponentInterface {\n /** Graphical variant: `dark`, `light`. */\n @Prop({reflect: true})\n variant?: ThemeVariant;\n\n /** Array to fill link into skip-content */\n @Prop({mutable: true})\n links: string | SkipToContentLink[] = [];\n\n @State()\n visible = false;\n\n @State()\n visibleLink = \"\";\n\n @Element() hostElement: HTMLZSkipToContentElement;\n\n @Listen(\"focusout\", {target: \"document\"})\n handleFocusOutSkipToContent(e: FocusEvent): void {\n if (this.isInSkipToContent(e.target)) {\n this.visible = false;\n }\n }\n\n @Listen(\"focusin\", {target: \"document\"})\n handleFocusSkipToContent(e: FocusEvent): void {\n if (this.isInSkipToContent(e.target)) {\n this.visible = true;\n }\n }\n\n componentDidLoad(): void {\n this.showFirstChild();\n }\n\n componentWillRender(): void {\n if (this.links) {\n this.links = typeof this.links === \"string\" ? JSON.parse(this.links) : this.links;\n }\n }\n\n private isInSkipToContent(elem): boolean {\n const tree = getElementTree(elem);\n const menuParent = tree.find((elem: Element) => elem.nodeName.toLowerCase() === \"z-skip-to-content\");\n\n return !!menuParent;\n }\n\n private showFirstChild(): void {\n const firstChild = this.hostElement.children?.[0];\n if (firstChild) {\n this.visibleLink = firstChild.id;\n }\n }\n\n private handleLinkClick(): void {\n this.visible = false;\n }\n\n render(): HTMLZSkipToContentElement {\n return (\n <Host\n class={{\n [this.variant]: true,\n \"skip-to-content-visible\": this.visible,\n }}\n >\n {(this.links as SkipToContentLink[]).map((link, i) => {\n const id = `skip-to-content-${i}`;\n\n return (\n <div class=\"link-container\">\n <a\n id={id}\n class={{\n \"body-1-sb\": true,\n \"z-link\": true,\n \"z-link-underline\": true,\n \"z-link-inverse\": this.variant === ThemeVariant.DARK,\n \"link-visible\": id == this.visibleLink,\n \"link-invisible\": id != this.visibleLink,\n }}\n aria-label={link.ariaLabel || link.label}\n href={link.href}\n onFocus={() => (this.visibleLink = id)}\n onClick={() => this.handleLinkClick()}\n onKeyUp={(e) => handleKeyboardSubmit(e, this.handleLinkClick.bind(this))}\n >\n {link.label}\n </a>\n </div>\n );\n })}\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-stepper/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAsB,IAAI,EAAE,CAAC,EAAC,MAAM,eAAe,CAAC;AAErE;;GAEG;AAMH,MAAM,OAAO,QAAQ;IACnB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,IAAI,EAAC,YAAY;YACrB,4DACE,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,MAAM;gBAEX,8DAAQ,CACJ,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import {Component, ComponentInterface, Host, h} from \"@stencil/core\";\n\n/**\n * @slot - slot for `z-stepper-item`\n */\n@Component({\n tag: \"z-stepper\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZStepper implements ComponentInterface {\n render(): HTMLDivElement {\n return (\n <Host role=\"navigation\">\n <div\n class=\"stepper-list\"\n role=\"list\"\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-stepper-item/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAsB,IAAI,EAAE,IAAI,EAAE,CAAC,EAAC,MAAM,eAAe,CAAC;AAO3E,MAAM,OAAO,YAAY;IAqCf,aAAa;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpG,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,cAAc,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,MAAM,WAAW,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7G,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAExG,+FACK,IAAI,GACJ,IAAI,GACJ,OAAO,GACP,QAAQ,GACR,WAAW,GACX,YAAY,EACf;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,IAAI,EAAC,UAAU;YACnB,6EACE,KAAK,EAAC,cAAc,EACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IACnB,IAAI,CAAC,aAAa,EAAE,kBACZ,IAAI,CAAC,aAAa;gBAE9B,4DAAK,KAAK,EAAC,WAAW,IACnB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAQ,IAAI,EAAC,WAAW,GAAG,CAAC,CAAC,CAAC,YAAM,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,KAAK,CAAQ,CAC5F;gBACN;oBACE,8DAAQ,CACH,CACA,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {Component, ComponentInterface, Host, Prop, h} from \"@stencil/core\";\n\n@Component({\n tag: \"z-stepper-item\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZStepperItem implements ComponentInterface {\n /**\n * The number of the step item.\n */\n @Prop({reflect: true})\n index: number;\n\n /**\n * The href to navigate on click.\n */\n @Prop({reflect: true})\n href: string;\n\n /**\n * The pressed state of the item.\n */\n @Prop({reflect: true})\n pressed: boolean;\n\n /**\n * The checked state of the item.\n */\n @Prop({reflect: true})\n checked: boolean;\n\n /**\n * The disabled state of the item.\n */\n @Prop({reflect: true})\n disabled: boolean;\n\n /**\n * Aria label of the item.\n */\n @Prop()\n htmlAriaLabel: string;\n\n private getAttributes(): Record<string, unknown> {\n const href = this.href && !this.disabled ? {onClick: () => (location.href = this.href)} : undefined;\n const role = href ? {role: \"link\"} : undefined;\n const current = this.pressed && !this.disabled ? {\"aria-current\": \"step\"} : undefined;\n const tabindex = this.href === \"\" ? {tabIndex: -1} : undefined;\n const ariaPressed = !role && this.pressed !== undefined ? {\"aria-pressed\": String(this.pressed)} : undefined;\n const ariaDisabled = this.disabled !== undefined ? {\"aria-disabled\": String(this.disabled)} : undefined;\n\n return {\n ...href,\n ...role,\n ...current,\n ...tabindex,\n ...ariaPressed,\n ...ariaDisabled,\n };\n }\n\n render(): HTMLAnchorElement | HTMLButtonElement {\n return (\n <Host role=\"listitem\">\n <button\n class=\"stepper-item\"\n disabled={this.disabled}\n {...this.getAttributes()}\n aria-label={this.htmlAriaLabel}\n >\n <div class=\"indicator\">\n {this.checked ? <z-icon name=\"checkmark\" /> : <span class=\"indicator-number\">{this.index}</span>}\n </div>\n <span>\n <slot />\n </span>\n </button>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-tag/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAsB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAC,MAAM,eAAe,CAAC;AAEpF;;;GAGG;AAOH,MAAM,OAAO,IAAI;IAWf,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,YAAY,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI;gBAC5C,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;aAC3C;YAEA,IAAI,CAAC,IAAI,IAAI,+DAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI;YACzC;gBACE,8DAAQ,CACJ,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {Component, ComponentInterface, Element, Host, Prop, h} from \"@stencil/core\";\n\n/**\n * Ztag component.\n * @slot - The text of the z-tag.\n */\n@Component({\n tag: \"z-tag\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZTag implements ComponentInterface {\n @Element() host: HTMLZTagElement;\n\n /** [optional] Tag icon */\n @Prop()\n icon?: string;\n\n /** [optional] Hide the text and show it on hover*/\n @Prop()\n expandable?: boolean;\n\n render(): HTMLZTagElement {\n return (\n <Host\n class={{\n \"expandable\": this.expandable && !!this.icon,\n \"has-text\": !!this.host.textContent.trim(),\n }}\n >\n {this.icon && <z-icon name={this.icon} />}\n <div>\n <slot />\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-toast-notification/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, ComponentInterface, Element, Event, EventEmitter, Host, Prop, State, Watch, h} from \"@stencil/core\";\nimport {KeyboardCode, ToastNotification, ToastNotificationTransition} from \"../../beans\";\n\nimport DOMPurify from \"dompurify\";\nimport Hammer from \"hammerjs\";\n\n/** Map of slide-in transitions to their corresponding slide-out transitions */\nconst SLIDE_OUT_TRANSITION_MAP = {\n [ToastNotificationTransition.SLIDE_IN_DOWN]: ToastNotificationTransition.SLIDE_OUT_UP,\n [ToastNotificationTransition.SLIDE_IN_UP]: ToastNotificationTransition.SLIDE_OUT_DOWN,\n [ToastNotificationTransition.SLIDE_IN_LEFT]: ToastNotificationTransition.SLIDE_OUT_RIGHT,\n [ToastNotificationTransition.SLIDE_IN_RIGHT]: ToastNotificationTransition.SLIDE_OUT_LEFT,\n};\n\n/**\n * ZToastNotification component.\n * @slot message - Custom HTML message\n * @slot button - Custom button\n */\n@Component({\n tag: \"z-toast-notification\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZToastNotification implements ComponentInterface {\n @Element() hostElement: HTMLZToastNotificationElement;\n\n /** toast notification's title */\n @Prop()\n heading?: string;\n\n /** toast notification's message */\n @Prop()\n message: string;\n\n /** toggles closing button rendering */\n @Prop()\n closebutton: boolean;\n\n /** toast notification closing timeout (ms) */\n @Prop()\n autoclose?: number;\n\n /** toast notification autoclose can be paused */\n @Prop()\n pauseonfocusloss?: boolean = true;\n\n /** toast notification type: dark, light, accent, error, success, warning */\n @Prop()\n type?: ToastNotification;\n\n /** toast notification can be draggable*/\n @Prop()\n isdraggable?: boolean = true;\n\n /** toast notification draggable percentage*/\n @Prop()\n draggablepercentage?: number = 80;\n\n /** toast notification animation type: slide-in-left, slide-in-right, slide-in-down, slide-in-up*/\n @Prop()\n transition?: ToastNotificationTransition;\n\n @State()\n percentage: number;\n\n /** Indicates if the toast notification has a slotted button. */\n @State()\n hasSlottedButton: boolean;\n\n /** notification close event */\n @Event()\n toastClose: EventEmitter;\n\n private sliderManager: HammerManager;\n\n private elapsedTime: number;\n\n private timeoutHandle: number;\n\n private startTime: number;\n\n private isCloseEventCalled = false;\n\n @Watch(\"isdraggable\")\n watchPropIsdraggable(newValue: boolean): void {\n if (newValue) {\n this.sliderManager.get(\"pan\").set({enable: true});\n } else {\n this.sliderManager.get(\"pan\").set({enable: false});\n }\n }\n\n @Watch(\"autoclose\")\n watchPropAutoclose(newValue: number): void {\n clearTimeout(this.timeoutHandle);\n this.startClosingTimeout(newValue);\n }\n\n @Watch(\"pauseonfocusloss\")\n watchPropPauseonfocusloss(newValue: boolean): void {\n if (this.autoclose) {\n if (newValue) {\n document.addEventListener(\"visibilitychange\", this.visibilityChangeEventHandler);\n } else {\n document.removeEventListener(\"visibilitychange\", this.visibilityChangeEventHandler);\n }\n }\n }\n\n private close(closingTransition: string, stopTimer: boolean): void {\n if (stopTimer && this.timeoutHandle) {\n clearTimeout(this.timeoutHandle);\n }\n this.timeoutHandle = null;\n this.elapsedTime = null;\n this.toastClose.emit();\n if (closingTransition) {\n this.hostElement.classList.add(closingTransition);\n } else {\n this.hostElement.parentNode.removeChild(this.hostElement);\n }\n }\n\n private visibilityChangeEventHandler(): void {\n if (document.visibilityState === \"hidden\") {\n if (this.timeoutHandle) {\n this.onBlur();\n }\n } else if (this.elapsedTime) {\n this.onFocus();\n }\n }\n\n private validateAutoclose(): void {\n if (!this.autoclose && !this.closebutton) {\n console.error(\"At least one between autoclose and closebutton must be present\");\n }\n }\n\n private calculateDraggedPercentage(e): number {\n const bounding = this.hostElement.getBoundingClientRect();\n\n return Math.round((100 * e.deltaX) / bounding.width);\n }\n\n private handleSlideOutDragAnimation(): void {\n this.sliderManager = new Hammer(this.hostElement);\n this.sliderManager.get(\"pan\").set({\n direction: Hammer.DIRECTION_HORIZONTAL,\n });\n\n this.sliderManager.on(\"pan\", (e) => {\n this.percentage = this.calculateDraggedPercentage(e);\n this.hostElement.style.transition = \"none\";\n if (this.transition) {\n this.hostElement.classList.remove(this.transition);\n }\n const translateObj = {\n translate: `translateX(${this.percentage}%)`,\n translateBack: \"translateX(0)\",\n };\n\n this.hostElement.style.opacity = `${100 - Math.abs(this.percentage)}%`;\n if (e.eventType === Hammer.DIRECTION_LEFT || e.eventType === Hammer.DIRECTION_RIGHT) {\n this.hostElement.style.transform = translateObj.translate;\n if (Math.abs(this.percentage) > this.draggablepercentage && !this.isCloseEventCalled) {\n this.isCloseEventCalled = true;\n this.close(\n e.direction === Hammer.DIRECTION_LEFT\n ? ToastNotificationTransition.SLIDE_OUT_LEFT\n : ToastNotificationTransition.SLIDE_OUT_RIGHT,\n true\n );\n }\n }\n\n if (e.isFinal && Math.abs(this.percentage) < this.draggablepercentage) {\n this.hostElement.style.transform = translateObj.translateBack;\n this.hostElement.style.transition = \"all 1s\";\n this.hostElement.style.opacity = \"100%\";\n this.percentage = 0;\n }\n });\n }\n\n private onFocus(): void {\n let time = this.autoclose;\n if (this.elapsedTime) {\n time = this.autoclose - this.elapsedTime;\n }\n if (time > 0) {\n this.startClosingTimeout(time);\n }\n }\n\n private onBlur(): void {\n this.elapsedTime = Date.now() - this.startTime;\n clearTimeout(this.timeoutHandle);\n }\n\n private startClosingTimeout(time: number): void {\n this.timeoutHandle = window.setTimeout(() => this.close(SLIDE_OUT_TRANSITION_MAP[this.transition], false), time);\n }\n\n private checkSlottedButton(): void {\n this.hasSlottedButton = !!this.hostElement.querySelector(\"[slot='button']\");\n }\n\n componentWillLoad(): void {\n this.validateAutoclose();\n this.checkSlottedButton();\n this.percentage = 0;\n }\n\n componentDidLoad(): void {\n this.startTime = Date.now();\n if (this.autoclose) {\n if (this.pauseonfocusloss) {\n document.addEventListener(\"visibilitychange\", this.visibilityChangeEventHandler);\n }\n if (!this.transition) {\n this.startClosingTimeout(this.autoclose);\n }\n }\n\n if (this.isdraggable) {\n this.handleSlideOutDragAnimation();\n }\n }\n\n render(): HTMLZToastNotificationElement {\n return (\n <Host\n style={{\"--percentuale\": `${this.percentage}%`}}\n class={{[this.transition]: !!this.transition, [this.type]: !!this.type}}\n onAnimationEnd={(e: AnimationEvent) => {\n if (this.autoclose && e.animationName.includes(\"slidein\")) {\n this.startClosingTimeout(this.autoclose);\n }\n if (e.animationName.includes(\"slideout\")) {\n this.hostElement.parentNode.removeChild(this.hostElement);\n }\n }}\n >\n <div class=\"toast-notification-container\">\n <div class=\"toast-notification-content\">\n <div class=\"toast-notification-text\">\n {this.heading && <span class=\"title\">{this.heading}</span>}\n <span class=\"message\">\n <slot name=\"message\">{this.message && <span innerHTML={DOMPurify.sanitize(this.message)} />}</slot>\n </span>\n </div>\n <div\n class=\"button-container\"\n hidden={!this.hasSlottedButton}\n >\n <slot\n name=\"button\"\n onSlotchange={() => this.checkSlottedButton()}\n />\n </div>\n </div>\n {this.closebutton && (\n <button\n class=\"close-button\"\n aria-label=\"Chiudi notifica\"\n onClick={() => this.close(SLIDE_OUT_TRANSITION_MAP[this.transition], true)}\n onKeyDown={(e) => {\n if (e.code == KeyboardCode.SPACE || e.code == KeyboardCode.ENTER) {\n e.preventDefault();\n this.close(SLIDE_OUT_TRANSITION_MAP[this.transition], true);\n }\n }}\n >\n <z-icon name=\"multiply-circled\" />\n </button>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-toast-notification-list/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAsB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAC,MAAM,eAAe,CAAC;AACrF,OAAO,EAAC,yBAAyB,EAAC,MAAM,aAAa,CAAC;AAOtD,MAAM,OAAO,sBAAsB;IALnC;QAQE,6HAA6H;QAE7H,aAAQ,GAA8B,yBAAyB,CAAC,SAAS,CAAC;QAE1E,4DAA4D;QAE5D,gBAAW,GAAa,IAAI,CAAC;QAErB,sBAAiB,GAAc,EAAE,CAAC;KAuC3C;IApCC,oBAAoB,CAAC,QAAiB;QACpC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChG,CAAC;IAEO,iBAAiB;QACvB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAClH,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,OAAO,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,6DAAM,IAAI,EAAC,QAAQ,GAAQ,CAAC;IACrC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {Component, ComponentInterface, Element, Prop, Watch, h} from \"@stencil/core\";\nimport {ToastNotificationPosition} from \"../../beans\";\n\n@Component({\n tag: \"z-toast-notification-list\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZToastNotificationList implements ComponentInterface {\n @Element() hostElement: HTMLZToastNotificationListElement;\n\n /**Set the position of toast notification list - top-left, top-centre, top-right, bottom-left, bottom-centre, bottom-right */\n @Prop({reflect: true})\n position: ToastNotificationPosition = ToastNotificationPosition.TOP_RIGHT;\n\n /**Set the entry position of new notification in the list */\n @Prop()\n newestontop?: boolean = true;\n\n private notificationArray: Element[] = [];\n\n @Watch(\"newestontop\")\n watchPropNewestontop(newValue: boolean): void {\n this.hostElement.append(...this.notificationArray.reverse());\n if (newValue) {\n this.hostElement.shadowRoot.addEventListener(\"slotchange\", this.slotChangeHandler);\n } else {\n this.hostElement.shadowRoot.removeEventListener(\"slotchange\", this.slotChangeHandler);\n }\n }\n\n componentWillLoad(): void {\n if (this.newestontop) {\n this.handleNewestOnTop();\n }\n }\n\n private handleNewestOnTop(): void {\n this.notificationArray = Array.from(this.hostElement.children);\n this.hostElement.append(...this.notificationArray.reverse());\n this.hostElement.shadowRoot.addEventListener(\"slotchange\", this.slotChangeHandler.bind(this));\n }\n\n private slotChangeHandler(): void {\n const difference = Array.from(this.hostElement.children).filter((elem) => !this.notificationArray.includes(elem));\n if (difference) {\n difference.forEach((elem) => {\n this.notificationArray.push(elem);\n const newElem = elem;\n elem.remove();\n this.hostElement.prepend(newElem);\n });\n }\n }\n\n render(): HTMLSlotElement {\n return <slot name=\"toasts\"></slot>;\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-toggle-switch/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAsB,KAAK,EAAgB,IAAI,EAAE,IAAI,EAAE,CAAC,EAAC,MAAM,eAAe,CAAC;AAChG,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAQ3C,MAAM,OAAO,aAAa;IAN1B;QAOE,oBAAoB;QAEpB,aAAQ,GAAa,KAAK,CAAC;QAE3B,qBAAqB;QAErB,kBAAa,GAAI,aAAa,CAAC,IAAI,CAAC;QAEpC,oBAAoB;QAEpB,YAAO,GAAa,KAAK,CAAC;QAE1B,wDAAwD;QAExD,WAAM,GAAG,oBAAoB,QAAQ,EAAE,EAAE,CAAC;KA+D3C;IAzDS,eAAe;QACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACpB,EAAE,EAAE,IAAI,CAAC,MAAM;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,EAAE;QACpB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,8DACE,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GACrC;YACF,8DACE,OAAO,EAAE,IAAI,CAAC,MAAM,EACpB,KAAK,EAAE;oBACL,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI;oBAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB;gBAED;oBACE,8DAAQ,CACH;gBACP,6DACE,KAAK,EAAE;wBACL,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;qBACtB;oBAED,6DAAM,KAAK,EAAC,QAAQ,IACjB,IAAI,CAAC,OAAO,IAAI,CACf,+DACE,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,IAAI,EAAC,WAAW,GACR,CACX,CACI,CACF,CACD,CACH,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {Component, ComponentInterface, Event, EventEmitter, Host, Prop, h} from \"@stencil/core\";\nimport {LabelPosition} from \"../../beans\";\nimport {randomId} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-toggle-switch\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZToggleSwitch implements ComponentInterface {\n /** Disabled flag */\n @Prop({reflect: true})\n disabled?: boolean = false;\n\n /** Label position */\n @Prop({reflect: true})\n labelPosition? = LabelPosition.LEFT;\n\n /** Checked state */\n @Prop({mutable: true})\n checked?: boolean = false;\n\n /** HTML id attribute to set to the internal checkbox */\n @Prop()\n htmlid = `toggle-switch-id-${randomId()}`;\n\n /** Toggle click event */\n @Event()\n toggleClick: EventEmitter;\n\n private emitToggleClick(): void {\n this.toggleClick.emit({\n id: this.htmlid,\n checked: this.checked,\n });\n }\n\n private handleClick(ev): void {\n if (this.disabled) {\n return;\n }\n\n this.checked = ev.target.checked;\n this.emitToggleClick();\n }\n\n render(): HTMLZToggleSwitchElement {\n return (\n <Host>\n <input\n id={this.htmlid}\n type=\"checkbox\"\n checked={this.checked}\n disabled={this.disabled}\n onChange={this.handleClick.bind(this)}\n />\n <label\n htmlFor={this.htmlid}\n class={{\n [this.labelPosition]: true,\n disabled: this.disabled,\n }}\n >\n <span>\n <slot />\n </span>\n <span\n class={{\n container: true,\n disabled: this.disabled,\n checked: this.checked,\n }}\n >\n <span class=\"circle\">\n {this.checked && (\n <z-icon\n width={12}\n height={12}\n name=\"checkmark\"\n ></z-icon>\n )}\n </span>\n </span>\n </label>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-tool/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {ColorPickerPalette, KeyboardCode, PopoverPosition} from \"../../beans\";\nimport {ZColorPickerCustomEvent, ZToolCustomEvent, ZTooltipCustomEvent} from \"../../components\";\nimport {IconName} from \"../../constants/iconset\";\nimport {containsElement} from \"../../utils/utils\";\n\n/**\n * ZTool component. Can display an icon, an optional tooltip (mainly for hints about the tool's functionality), and can contain a nested `z-toolbar` as a submenu that opens on click.\n * @slot - Optional slot for nested content (e.g., a secondary `z-toolbar`) that appears when the tool is open/clicked.\n */\n@Component({\n tag: \"z-tool\",\n styleUrls: [\"styles.css\", \"../../tokens/typography.css\"],\n shadow: true,\n})\nexport class ZTool implements ComponentInterface {\n @Element() hostElement: HTMLZToolElement;\n\n /** Tool icon */\n @Prop()\n icon: IconName;\n\n /** Text displayed inside the tooltip. */\n @Prop()\n tooltip?: string;\n\n /** Preferred tooltip position. Defaults to true. */\n @Prop()\n tooltipPosition: PopoverPosition = PopoverPosition.TOP;\n\n /** Accessible label for the tool trigger. Falls back to tooltip content. */\n @Prop()\n htmlAriaLabel?: string;\n\n /** Visual active state. */\n @Prop({reflect: true})\n active = false;\n\n /** Disabled state. */\n @Prop({reflect: true})\n disabled = false;\n\n /** Open state. */\n @Prop({reflect: true, mutable: true})\n open = false;\n\n /**\n * Color to use to fill the icon's color indicator, if it has one.\n * Can be any valid value for the `fill` svg attribute.\n * The value of this prop is passed down to the `z-icon` component inside the tool.\n *\n * If `z-color-picker` component is used inside the tool's slot, its `colorSelected` event is listened\n * to automatically update `indicatorColor` and change the color of the icon indicator accordingly.\n */\n @Prop({mutable: true})\n indicatorColor?: string;\n\n @State()\n tooltipOpen = false;\n\n @State()\n hasSlottedContent = false;\n\n @State()\n isMobile = false;\n\n /** Indicates if the tool has nested open tools. Used to decide whether to auto-close the submenu. */\n @State()\n hasNestedOpenTools = false;\n\n /** Emitted when the open state changes. */\n @Event()\n toggleSubmenu: EventEmitter;\n\n /** Emitted when the tooltip open state changes. */\n @Event()\n toggleTooltip: EventEmitter;\n\n private buttonRef?: HTMLButtonElement;\n\n private iconRef?: HTMLElement;\n\n private tooltipRef?: HTMLZTooltipElement;\n\n private hoverDelay?: ReturnType<typeof setTimeout>;\n\n /** Indicates if the tool is nested inside another tool. */\n private isNested = false;\n\n /** Main `z-toolbar` ancestor element, meant to be the top-level toolbar not nested inside another tool. */\n private mainToolbar?: HTMLZToolbarElement;\n\n /** Media query list for detecting mobile view. */\n private mql?: MediaQueryList;\n\n /** Listener for changes in the mobile view media query. */\n private onMobileViewChange?: (e: MediaQueryListEvent) => void;\n\n /**\n * Opens the tooltip with a delay when the button is hovered or focused, and if the tool's content isn't already visible.\n */\n private handleTooltipOpen = (ev: FocusEvent | MouseEvent): void => {\n if (!this.tooltip || this.open || !this.buttonRef.contains(ev.target as Node)) {\n return;\n }\n\n clearTimeout(this.hoverDelay);\n this.hoverDelay = setTimeout(() => {\n this.tooltipOpen = true;\n }, 1000);\n };\n\n /**\n * Closes the tooltip immediately on button blur or when the mouse leaves the button or the tooltip, clearing any pending hover delay.\n */\n private handleTooltipClose = (ev: FocusEvent | MouseEvent): void => {\n if (!this.tooltip || (ev.relatedTarget as HTMLElement)?.closest(\"z-tooltip\") === this.tooltipRef) {\n return;\n }\n\n clearTimeout(this.hoverDelay);\n this.tooltipOpen = false;\n };\n\n /**\n * Handles click events on the tool's button element.\n * If the tool has slotted content, toggles the open state and focuses the active/selected item in the nested toolbar or color picker,\n * or the first item if no active/selected item is found.\n */\n private handleClick = (): void => {\n if (this.disabled || !this.hasSlottedContent) {\n return;\n }\n\n this.open = !this.open;\n if (this.open) {\n const colorPicker = this.hostElement.querySelector(\":scope > z-color-picker\") as HTMLZColorPickerElement | null;\n if (colorPicker) {\n colorPicker.setFocus();\n\n return;\n }\n\n // Focus the first active tool in the nested toolbar, or the first enabled if no active tool is found.\n const firstActiveOrEnabledNestedTool = (this.hostElement.querySelector(\n \":scope > z-toolbar z-tool[active]:not(:disabled)\"\n ) || this.hostElement.querySelector(\":scope > z-toolbar z-tool:not(:disabled)\")) as HTMLZToolElement | null;\n\n firstActiveOrEnabledNestedTool?.setFocus();\n }\n };\n\n /**\n * Handles `openChange` events from the tooltip popover to keep the `tooltipOpen` state in sync, but only if the event is coming from this tool's tooltip (and not from nested tools' tooltips).\n */\n private onTooltipOpenChange = (event: ZTooltipCustomEvent<{open: boolean}>): void => {\n if ((event.target as HTMLElement) === this.tooltipRef) {\n return;\n }\n\n this.tooltipOpen = event.detail.open;\n };\n\n @Watch(\"open\")\n handleOpenChange(): void {\n this.toggleSubmenu.emit(this.open);\n }\n\n @Watch(\"tooltipOpen\")\n handleTooltipOpenChange(): void {\n this.toggleTooltip.emit(this.tooltipOpen);\n }\n\n /**\n * Handle `ESC` and `shift+TAB` to close the submenu and move focus back to the button.\n */\n @Listen(\"keydown\")\n handleKeyDown(event: KeyboardEvent): void {\n if (!this.open || this.hasNestedOpenTools) {\n return;\n }\n\n switch (event.key) {\n case KeyboardCode.ESC:\n event.stopPropagation();\n this.open = false;\n this.setFocus();\n break;\n case KeyboardCode.TAB:\n if (event.shiftKey && (event.target as Element).closest(\"z-tool:not(:scope)\") === this.hostElement) {\n this.open = false;\n }\n break;\n }\n }\n\n /**\n * Close the popover on clicks outside the component, only if there are no nested open tools.\n * In that case any outside click should close the nested submenu(s) first.\n */\n @Listen(\"click\", {target: \"body\"})\n onOutsideClick(event: MouseEvent): void {\n const target = event.composedPath()[0] as HTMLElement;\n if (!this.open || containsElement(this.hostElement, target) || this.hasNestedOpenTools) {\n return;\n }\n\n this.open = false;\n }\n\n @Listen(\"toggleSubmenu\")\n onNestedToolToggle(ev: ZToolCustomEvent<boolean>): void {\n if (ev.target === this.hostElement) {\n return;\n }\n\n if (ev.detail === true) {\n this.hasNestedOpenTools = true;\n\n return;\n }\n\n this.hasNestedOpenTools = Array.from(this.hostElement.querySelectorAll(\"z-tool\")).some((tool) => tool.open);\n }\n\n /**\n * Handles the `colorSelected` event from a nested `z-color-picker` component.\n * Updates the `indicatorColor` and closes the tool's popover.\n */\n @Listen(\"colorSelected\")\n handleColorSelected(event: ZColorPickerCustomEvent<ColorPickerPalette>): void {\n if (!Array.from(this.hostElement.children).includes(event.target as Element)) {\n return;\n }\n\n this.indicatorColor = event.detail;\n this.open = false;\n this.setFocus();\n }\n\n /**\n * Close the submenu when focus moves outside the tool.\n */\n @Listen(\"focusin\", {target: \"body\", passive: true})\n handleExternalFocusin(ev: FocusEvent): void {\n const target = ev.target as Node;\n if (!containsElement(this.hostElement, target)) {\n this.open = false;\n }\n }\n\n /** Focuses the tool's button element. */\n @Method()\n async setFocus(): Promise<void> {\n if (this.disabled) {\n return;\n }\n\n setTimeout(() => {\n this.buttonRef?.focus();\n }, 50);\n }\n\n /** Sets the tab index of the tool's internal button element. */\n @Method()\n async setTabIndex(value: number): Promise<void> {\n if (!this.buttonRef) {\n return;\n }\n\n this.buttonRef.tabIndex = this.disabled ? -1 : value;\n }\n\n /** Closes the tooltip. */\n @Method()\n async closeTooltip(): Promise<void> {\n clearTimeout(this.hoverDelay);\n this.tooltipOpen = false;\n }\n\n componentWillLoad(): void {\n this.hasSlottedContent = this.hostElement.children.length > 0;\n this.isNested = !!this.hostElement.closest(\"z-tool:not(:scope)\");\n this.mainToolbar = this.hostElement.closest(\"z-toolbar:not(z-toolbar z-toolbar)\");\n this.hasNestedOpenTools = !!this.hostElement.querySelector(\"z-tool[open]\");\n\n this.mql = matchMedia(\"(max-width: 767px)\");\n this.onMobileViewChange = (e: MediaQueryListEvent) => (this.isMobile = e.matches);\n this.mql.addEventListener(\"change\", this.onMobileViewChange);\n this.isMobile = this.mql.matches;\n }\n\n disconnectedCallback(): void {\n clearTimeout(this.hoverDelay);\n this.mql?.removeEventListener(\"change\", this.onMobileViewChange);\n }\n\n render(): HTMLZToolElement {\n return (\n <Host class={{\"z-tool-tooltip-open\": this.tooltipOpen}}>\n <button\n class=\"z-tool\"\n type=\"button\"\n ref={(el) => (this.buttonRef = el)}\n aria-pressed={this.hasSlottedContent ? undefined : this.active ? \"true\" : \"false\"}\n aria-expanded={this.hasSlottedContent ? (this.open ? \"true\" : \"false\") : undefined}\n aria-haspopup={this.hasSlottedContent ? \"true\" : undefined}\n aria-label={this.htmlAriaLabel || this.tooltip || undefined}\n disabled={this.disabled}\n onClick={this.handleClick}\n onMouseEnter={this.handleTooltipOpen}\n onMouseLeave={this.handleTooltipClose}\n onFocus={this.handleTooltipOpen}\n onBlur={this.handleTooltipClose}\n >\n <z-icon\n ref={(el) => (this.iconRef = el)}\n name={this.icon}\n indicatorColor={this.indicatorColor}\n ></z-icon>\n </button>\n {this.tooltip && (\n <z-tooltip\n class=\"z-tool-tooltip\"\n ref={(el) => (this.tooltipRef = el)}\n bindTo={this.iconRef}\n open={this.tooltipOpen && !this.open}\n position={this.isNested ? PopoverPosition.BOTTOM : this.tooltipPosition}\n dark\n onMouseLeave={this.handleTooltipClose}\n onBlur={this.handleTooltipClose}\n onOpenChange={this.onTooltipOpenChange}\n >\n <span class=\"body-4\">{this.tooltip}</span>\n </z-tooltip>\n )}\n {this.hasSlottedContent && (\n <z-popover\n class=\"z-tool-submenu\"\n open={this.open}\n bindTo={this.isMobile && this.mainToolbar ? this.mainToolbar : this.hostElement}\n center\n /* disable auto-close to prevent unwanted close behaviors on mobile,\n when the bound element is the main toolbar */\n closable={false}\n position={this.isMobile ? PopoverPosition.TOP : PopoverPosition.BOTTOM}\n >\n <slot></slot>\n </z-popover>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-toolbar/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, ComponentInterface, Element, Host, Listen, Prop, State, h} from \"@stencil/core\";\nimport {KeyboardCode} from \"../../beans\";\nimport {ZToolCustomEvent} from \"../../components\";\n\n/**\n * ZToolbar component. This component mainly serves as a container for `z-tool` elements, but can also be nested inside a `z-tool` to create submenus.\n * Implements WCAG toolbar pattern with roving tabindex keyboard navigation.\n * Tools can be visually grouped using `z-divider` elements as separators.\n * @see https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/\n *\n */\n@Component({\n tag: \"z-toolbar\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZToolbar implements ComponentInterface {\n @Element() hostElement: HTMLZToolbarElement;\n\n /** Accessible label for the toolbar. */\n @Prop()\n htmlAriaLabel?: string;\n\n /** Index of the currently focusable item (roving tabindex). */\n @State()\n currentFocusIndex = 0;\n\n /** List of focusable tool elements. */\n private toolItems: HTMLZToolElement[] = [];\n\n componentDidLoad(): void {\n this.collectToolItems();\n this.updateTabIndexes();\n // set css variable `--z-toolbar-columns` based on the number of tools in the toolbar, so that the background pattern can adapt to the number of rows\n let mobileColumnCount = parseInt(getComputedStyle(this.hostElement).getPropertyValue(\"--z-toolbar-columns\") || \"6\");\n mobileColumnCount = this.toolItems.length <= mobileColumnCount ? this.toolItems.length : mobileColumnCount;\n this.hostElement.style.setProperty(\"--z-toolbar-columns\", mobileColumnCount.toString());\n }\n\n /** Collect first level children `z-tool` elements in the toolbar (not nested ones). */\n private collectToolItems(): void {\n this.toolItems = Array.from(this.hostElement.querySelectorAll(\"z-tool:not(:scope z-tool z-tool)\"));\n }\n\n /**\n * Update the `tabindex` of all children tools based on the current focus index,\n * so that only the currently focusable tool is in the tab order (tabindex=\"0\") and all others are not focusable via keyboard (tabindex=\"-1\").\n */\n private updateTabIndexes(): void {\n this.toolItems.forEach((tool, index) => {\n tool.setTabIndex(index === this.currentFocusIndex ? 0 : -1);\n });\n }\n\n private focusToolAt(index: number, fallback: \"previous\" | \"next\" = \"next\"): void {\n const tool = this.toolItems[index];\n if (!tool) {\n return;\n }\n\n this.currentFocusIndex = index;\n if (!tool.disabled) {\n tool.setFocus();\n this.updateTabIndexes();\n\n return;\n }\n\n if (fallback === \"next\") {\n this.focusNextTool();\n } else {\n this.focusPreviousTool();\n }\n }\n\n private focusNextTool(): void {\n const nextIndex = (this.currentFocusIndex + 1) % this.toolItems.length;\n this.focusToolAt(nextIndex);\n }\n\n private focusPreviousTool(): void {\n const prevIndex = (this.currentFocusIndex - 1 + this.toolItems.length) % this.toolItems.length;\n this.focusToolAt(prevIndex, \"previous\");\n }\n\n /**\n * Listen for custom \"toggleSubmenu\" events from child tools and close sibling submenus when one is opened,\n * to prevent multiple submenus from being open at the same time.\n */\n @Listen(\"toggleSubmenu\")\n closeSiblingSubmenusOnOpen(event: ZToolCustomEvent<boolean>): void {\n if (event.detail !== true) {\n return;\n }\n\n const targetTool = (event.target as HTMLElement).closest(\"z-tool\") as HTMLZToolElement | null;\n if (!targetTool || !this.toolItems.includes(targetTool)) {\n return;\n }\n\n this.toolItems.forEach((tool) => {\n if (tool !== targetTool && tool.open) {\n tool.open = false;\n }\n });\n }\n\n /**\n * Listen for custom \"toggleTooltip\" events from child tools and close sibling tooltips when one is opened,\n * to prevent multiple tooltips from being open at the same time.\n */\n @Listen(\"toggleTooltip\")\n closeSiblingTooltipsOnOpen(event: ZToolCustomEvent<boolean>): void {\n if (event.detail !== true) {\n return;\n }\n\n const targetTool = event.target;\n if (!this.toolItems.includes(targetTool)) {\n return;\n }\n\n this.toolItems.forEach((tool) => {\n if (tool !== targetTool) {\n tool.closeTooltip();\n }\n });\n }\n\n @Listen(\"keydown\")\n handleKeyDown(event: KeyboardEvent): void {\n const target = event.target as HTMLElement;\n const toolElement = target.closest(\"z-tool\") as HTMLZToolElement;\n\n if (!toolElement || !this.toolItems.includes(toolElement)) {\n return;\n }\n\n const focusedIndex = this.toolItems.indexOf(toolElement);\n if (focusedIndex !== -1) {\n this.currentFocusIndex = focusedIndex;\n }\n\n switch (event.key) {\n case KeyboardCode.ARROW_RIGHT:\n event.preventDefault();\n this.focusNextTool();\n break;\n case KeyboardCode.ARROW_LEFT:\n event.preventDefault();\n this.focusPreviousTool();\n break;\n }\n }\n\n /**\n * When focus enters the toolbar, update the current focus index to match the focused tool,\n * so that roving tabindex is in sync with actual focus.\n */\n @Listen(\"focusin\")\n handleFocusIn(event: FocusEvent): void {\n const target = event.target as HTMLElement;\n const toolElement = target.closest(\"z-tool\") as HTMLZToolElement;\n const index = this.toolItems.indexOf(toolElement);\n if (index !== -1 && index !== this.currentFocusIndex) {\n this.currentFocusIndex = index;\n this.updateTabIndexes();\n }\n }\n\n render(): HTMLZToolbarElement {\n return (\n <Host\n role=\"toolbar\"\n aria-label={this.htmlAriaLabel}\n >\n <slot\n onSlotchange={() => {\n this.collectToolItems();\n this.updateTabIndexes();\n }}\n ></slot>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-tooltip/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAsB,KAAK,EAAgB,MAAM,EAAE,IAAI,EAAE,CAAC,EAAC,MAAM,eAAe,CAAC;AAClG,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAE5C;;;GAGG;AAMH,MAAM,OAAO,QAAQ;IALrB;QAME,wBAAwB;QAExB,aAAQ,GAAoB,eAAe,CAAC,IAAI,CAAC;QAEjD,gCAAgC;QAEhC,SAAI,GAAG,KAAK,CAAC;QAEb;;WAEG;QAEH,SAAI,GAAG,KAAK,CAAC;QAQb;;;;WAIG;QAEH,aAAQ,GAAG,IAAI,CAAC;KAgCjB;IApBC,mBAAmB;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAClC,CAAC;IAED,MAAM;QACJ,OAAO,CACL,kEACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAyB,CAAC,EACzD,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,QACN,SAAS,QACT,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAE3D,8DAAa,CACH,CACb,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {Component, ComponentInterface, Event, EventEmitter, Listen, Prop, h} from \"@stencil/core\";\nimport {PopoverPosition} from \"../../beans\";\n\n/**\n * Tooltip component.\n * It is basically a wrapper for the `<z-popover>` component with custom configuration.\n */\n@Component({\n tag: \"z-tooltip\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZTooltip implements ComponentInterface {\n /** Tooltip position. */\n @Prop({reflect: true})\n position: PopoverPosition = PopoverPosition.AUTO;\n\n /** Enable tooltip dark mode. */\n @Prop({reflect: true})\n dark = false;\n\n /**\n * The open state of the tooltip.\n */\n @Prop({reflect: true, mutable: true})\n open = false;\n\n /**\n * The selector or the element bound with the tooltip.\n */\n @Prop()\n bindTo?: string | HTMLElement;\n\n /**\n * Reflects `closable` prop of the popover.\n * \"If true, the popover can be closed by clicking outside of it or pressing the escape key.\n * Otherwise, it will be closed only programmatically (by setting `open` to `false`).\"\n */\n @Prop()\n closable = true;\n\n /**\n * Propagation of the `openChange` event from the internal `z-popover` to allow listening to it directly on `z-tooltip`.\n * This is necessary to keep the internal state of the `open` prop in sync when the popover is closed by user interaction instead of programmatically.\n */\n @Event()\n openChange: EventEmitter<{open: boolean}>;\n\n private popoverEl: HTMLZPopoverElement;\n\n @Listen(\"openChange\")\n onPopoverOpenChange(): void {\n this.open = this.popoverEl.open;\n }\n\n render(): HTMLZPopoverElement {\n return (\n <z-popover\n ref={(el) => (this.popoverEl = el as HTMLZPopoverElement)}\n bindTo={this.bindTo}\n open={this.open}\n position={this.position}\n closable={this.closable}\n center\n showArrow\n onOpenChange={(event) => this.openChange.emit(event.detail)}\n >\n <slot></slot>\n </z-popover>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-visually-hidden/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAsB,CAAC,EAAC,MAAM,eAAe,CAAC;AAO/D,MAAM,OAAO,eAAe;IAC1B,MAAM;QACJ,OAAO,8DAAQ,CAAC;IAClB,CAAC;;;;;;;;;CACF","sourcesContent":["import {Component, ComponentInterface, h} from \"@stencil/core\";\n\n@Component({\n tag: \"z-visually-hidden\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZVisuallyHidden implements ComponentInterface {\n render(): HTMLSlotElement {\n return <slot />;\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"breakpoints.js","sourceRoot":"","sources":["../../src/constants/breakpoints.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,mDAAY,CAAA;IACZ,oDAAa,CAAA;IACb,sDAAc,CAAA;AAChB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB","sourcesContent":["/** Breakpoints for responsive design. The values are the max width of the screen for each breakpoint. */\nexport enum Breakpoints {\n MOBILE = 767,\n TABLET = 1151,\n DESKTOP = 1365,\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/constants/icons.tsx"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG;IACZ,YAAY,EAAE,UAAU;IACxB,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;CAC/B,CAAC;AAEF,eAAe,KAAK,CAAC","sourcesContent":["const icons = {\n iconuserlogo: \"user.png\",\n iconarrowup: \"arrowUp.png\",\n iconarrowdown: \"arrowDown.png\",\n};\n\nexport default icons;\n"]}