@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,"names":["stylesCss","ZCombobox","__stencil_proxyCustomElement","HTMLElement","watchItems","this","itemsList","items","JSON","parse","selectedCounter","filter","item","checked","length","updateRenderItemsList","watchSearchValue","filterItems","searchValue","emitComboboxChange","comboboxChange","emit","id","inputid","constructor","registerHost","randomId","disabled","hassearch","noresultslabel","isopen","isfixed","hascheckall","checkalltext","uncheckalltext","maxcheckableitems","size","ControlSize","BIG","renderItemsList","focusedItemId","inputType","InputType","TEXT","toggleComboBox","bind","closeFilterItems","componentWillLoad","componentWillRender","getControlToListSize","X_SMALL","ListSize","SMALL","MEDIUM","LARGE","getOptionId","encodeString","name","getCheckAllOptionId","allOptionsSelected","hasReachedMaxSelections","handleHeaderKeyDown","e","code","KeyboardCode","ENTER","SPACE","preventDefault","checkOption","ESC","ARROW_DOWN","ARROW_UP","handleArrowsNavigation","handleInputKeyDown","TAB","optionId","map","Object","assign","i","includes","stopPropagation","currElem","element","shadowRoot","querySelector","options","Array","from","querySelectorAll","currElemIndex","indexOf","firstElemIndex","lastElemIndex","nextElem","scrollIntoView","block","container","resetRenderItemsList","forEach","push","value","start","toUpperCase","end","newName","substring","getHeaderAriaLabel","label","undefined","suffix","getComboboxA11yAttributes","isZInput","role","ariaExpanded","ariaActivedescendant","ariaControls","htmlAriaLabel","renderHeader","comboboxA11yAttributes","h","class","onClick","onKeyDown","tabindex","renderContent","renderSearchInput","join","renderItems","tabIndex","renderList","renderItem","index","isDisabled","htmlTabindex","dividerType","ListDividerType","ELEMENT","NONE","getPlainText","innerHTML","renderNoSearchResults","hasgroupitems","renderGroups","renderCheckAll","newData","reduce","group","category","zListItem","_a","listGroups","entries","key","slot","htmlid","searchlabel","placeholder","searchplaceholder","htmltitle","searchtitle","type","message","onInputChange","detail","allChecked","isPartiallySelected","dividerColor","render","open","fixed"],"sources":["src/components/css-components/z-label/styles.css?tag=z-combobox&encapsulation=shadow","src/components/z-combobox/styles.css?tag=z-combobox&encapsulation=shadow","src/components/z-combobox/index.tsx"],"sourcesContent":[".z-label {\n display: block;\n padding-bottom: var(--space-unit);\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-size: var(--font-size-1);\n font-weight: var(--font-sb);\n text-align: left;\n text-transform: uppercase;\n}\n",":host {\n display: block;\n min-width: 290px;\n color: var(--color-form-default-text);\n fill: var(--color-form-default-icon);\n font-family: var(--font-family-sans);\n}\n\n:host > div.fixed {\n position: relative;\n}\n\n:host > div > .header {\n position: relative;\n z-index: 10;\n display: flex;\n min-height: 42px;\n align-items: center;\n justify-content: space-between;\n padding: 0 calc(var(--space-unit) * 1.5);\n border: var(--border-size-small) solid var(--color-form-surface04);\n margin: 0;\n background-color: var(--color-form-background);\n border-radius: var(--border-radius-small);\n cursor: pointer;\n}\n\n:host([size=\"small\"]) > div > .header {\n min-height: 34px;\n font-size: var(--font-size-2);\n}\n\n:host([size=\"x-small\"]) > div > .header {\n min-height: 30px;\n font-size: var(--font-size-2);\n}\n\n:host > div > .header:hover {\n outline: var(--border-size-medium) solid var(--color-form-surface04);\n outline-offset: -2px;\n}\n\n:host > div > div.header:focus:focus-visible {\n z-index: 16;\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host > div > .header > span.body-3 > span {\n font-weight: var(--font-sb);\n}\n\n:host > div > .header > z-icon {\n fill: var(--color-form-default-icon);\n}\n\n:host > div > .header > z-icon.small,\n:host > div > .header > z-icon.x-small {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n:host > div.open > .header {\n border: var(--border-size-small) solid var(--color-form-active-primary);\n border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;\n}\n\n:host > div.disabled {\n pointer-events: none;\n}\n\n:host > div.disabled .header {\n border-color: var(--color-form-disabled03);\n fill: var(--color-form-disabled01-icon);\n}\n\n:host > div.disabled .header > span.body-3 {\n color: var(--color-form-disabled03);\n}\n\n:host > div.disabled .header > z-icon:last-child {\n fill: var(--color-form-disabled01-icon);\n}\n\n:host > div > div.open-combo-data {\n display: none;\n}\n\n:host > div.open > div.open-combo-data {\n position: relative;\n z-index: 12;\n display: block;\n padding: var(--space-unit) calc(var(--space-unit) * 2);\n border: var(--border-size-small) solid var(--color-form-surface03);\n border-top: 0;\n background-color: var(--color-form-background);\n border-radius: 0;\n box-shadow: var(--shadow-2);\n}\n\n:host .open .open-combo-data z-input .z-label {\n color: var(--color-form-default-text);\n}\n\n:host > div.open > div.open-combo-data > div > div {\n overflow: auto;\n max-height: 235px;\n padding: 0;\n padding-left: var(--space-unit); /* padding left and negative margin in order to enable focus */\n margin-left: calc(var(--space-unit) * -1); /* padding left and negative margin in order to enable focus */\n}\n\n:host > div.open > div.open-combo-data > z-input {\n width: 100%;\n margin-bottom: calc(var(--space-unit) * 2);\n}\n\n:host > div.open > div.open-combo-data > div > div > ul {\n max-height: 235px;\n padding: 0 calc(var(--space-unit) * 0.5); /* needed for checkbox focus shadow */\n margin: 0;\n}\n\n:host .open-combo-data z-list-element {\n --background-color-list-element: var(--color-form-background);\n --background-hover-color-list-element: var(--color-form-surface03);\n --background-active-color-list-element: var(--color-form-surface03);\n}\n\n:host .open-combo-data z-list-element[disabled] {\n pointer-events: none;\n}\n\n:host .open-combo-data z-list-element .option-wrap {\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: pointer;\n gap: var(--space-unit);\n}\n\n:host .open-combo-data z-list-element[size=\"medium\"] .option-wrap,\n:host .open-combo-data z-list-element[size=\"small\"] .option-wrap {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n\n font-size: var(--font-size-2);\n gap: calc(var(--space-unit) / 2);\n}\n\n:host .open-combo-data z-list-element .option-wrap > z-icon {\n fill: var(--color-primary01-icon);\n}\n\n:host .open-combo-data z-list-element[disabled] .option-wrap > z-icon {\n fill: var(--color-disabled01);\n}\n\n:host .open-combo-data z-list-element .option-wrap > z-icon.focused {\n border-radius: var(--border-radius-small);\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host .open-combo-data z-list-element .option-wrap > [role=\"option\"]:focus,\n:host .open-combo-data z-list-element .option-wrap > [role=\"option\"]:focus-visible {\n outline: none;\n}\n\n::-webkit-scrollbar {\n width: 6px;\n background: linear-gradient(to right, transparent 0 1px, var(--gray200) 1px 5px, transparent 5px 6px);\n}\n\n::-webkit-scrollbar-thumb {\n background-color: var(--color-primary01);\n}\n\n::-webkit-scrollbar-thumb:hover {\n background-color: var(--color-hover-primary);\n}\n\n/* Firefox scrollbar */\n@supports not selector(::-webkit-scrollbar-track) {\n :host {\n scrollbar-color: var(--color-primary01) transparent;\n }\n}\n\n:host > div.open > z-input {\n position: relative;\n z-index: 1;\n width: 238px;\n margin: 0 calc(var(--space-unit) * 2);\n color: var(--color-form-active-primary);\n}\n\n:host > div.open > div.open-combo-data > div > div.search {\n overflow: hidden;\n max-height: none;\n margin-top: 0;\n}\n\n:host > div.open > div.open-combo-data > div > div.search > ul {\n overflow: auto;\n max-height: 180px;\n padding: var(--space-unit) calc(var(--space-unit) * 2);\n}\n\n:host .open .open-combo-data .search .no-results {\n display: flex;\n align-items: center;\n column-gap: var(--space-unit);\n}\n\n:host > .open > .open-combo-data .search .close-search {\n display: flex;\n justify-content: center;\n}\n\n:host > div.open > div.open-combo-data > div > div.search .close-search > a {\n display: inline-block;\n height: 44px;\n color: var(--color-form-active-primary);\n cursor: pointer;\n font-size: 14px;\n font-weight: var(--font-sb);\n line-height: 44px;\n text-align: center;\n text-transform: uppercase;\n}\n\n:host > div.open > div.open-combo-data > div > div.search .close-search > a:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host > div.open > div.open-combo-data > div > div.check-all-wrapper {\n /* padding left and negative margin in order to enable focus */\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5) calc(var(--space-unit) * 2)\n calc(var(--space-unit) * 1.5);\n border-bottom: var(--border-size-small) solid var(--gray800);\n margin-bottom: var(--space-unit);\n margin-left: calc(var(--space-unit) * -1);\n text-align: left;\n}\n\n:host([size=\"small\"]) > div.open > div.open-combo-data > div > div.check-all-wrapper {\n padding: calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 0.5);\n}\n\n:host([size=\"x-small\"]) > div.open > div.open-combo-data > div > div.check-all-wrapper {\n padding: var(--space-unit) calc(var(--space-unit) * 0.5);\n}\n","import {Component, ComponentInterface, Element, Event, EventEmitter, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ComboItem, ControlSize, InputType, KeyboardCode, ListDividerType, ListSize} from \"../../beans\";\nimport {encodeString, getPlainText, randomId} from \"../../utils/utils\";\nimport {ZInput} from \"../z-input\";\n\n@Component({\n tag: \"z-combobox\",\n styleUrls: [\"../css-components/z-label/styles.css\", \"styles.css\"],\n shadow: true,\n})\nexport class ZCombobox implements ComponentInterface {\n @Element() element: HTMLZComboboxElement;\n\n /** input unique id */\n @Prop()\n inputid = `combo-${randomId()}`;\n\n /** list items array */\n @Prop()\n items: ComboItem[] | string;\n\n /** label text */\n @Prop()\n label: string;\n\n /** the combobox is disabled */\n @Prop({reflect: true})\n disabled?: boolean = false;\n\n /** show search input flag (optional) */\n @Prop()\n hassearch?: boolean = false;\n\n /** search input label text (optional) */\n @Prop()\n searchlabel?: string;\n\n /** search input placeholder text (optional) */\n @Prop()\n searchplaceholder?: string;\n\n /** search input title text (optional) */\n @Prop()\n searchtitle?: string;\n\n /** no result text message */\n @Prop()\n noresultslabel?: string = \"Nessun risultato\";\n\n /** toggle combo list opening flag */\n @Prop({mutable: true})\n isopen = false;\n\n /** fixed style flag */\n @Prop()\n isfixed = false;\n\n /** show \"check all\" checkbox (optional) */\n @Prop()\n hascheckall?: boolean = false;\n\n /** check all label (optional) */\n @Prop()\n checkalltext?: string = \"Seleziona tutti\";\n\n /** uncheck all label (optional) */\n @Prop()\n uncheckalltext?: string = \"Deseleziona tutti\";\n\n /** max number of checkable items (0 = unlimited) */\n @Prop()\n maxcheckableitems = 0;\n\n /** group items by category */\n @Prop()\n hasgroupitems?: boolean;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n /** the combobox aria-label */\n @Prop()\n htmlAriaLabel?: string;\n\n @State()\n searchValue: string;\n\n @State()\n selectedCounter: number;\n\n @State()\n renderItemsList: ComboItem[] = []; // used for render only\n\n @State()\n focusedItemId = \"\";\n\n private itemsList: ComboItem[] = [];\n\n private inputType: InputType = InputType.TEXT;\n\n @Watch(\"items\")\n watchItems(): void {\n this.itemsList = typeof this.items === \"string\" ? JSON.parse(this.items) : this.items;\n this.selectedCounter = this.itemsList.filter((item) => item.checked).length;\n this.updateRenderItemsList();\n }\n\n @Watch(\"searchValue\")\n watchSearchValue(): void {\n this.filterItems(this.searchValue);\n }\n\n /** Emitted when value is checked/unchecked. Returns id, items. */\n @Event()\n comboboxChange: EventEmitter;\n\n private emitComboboxChange(): void {\n this.comboboxChange.emit({id: this.inputid, items: this.itemsList});\n }\n\n constructor() {\n this.toggleComboBox = this.toggleComboBox.bind(this);\n this.closeFilterItems = this.closeFilterItems.bind(this);\n }\n\n componentWillLoad(): void {\n this.watchItems();\n }\n\n componentWillRender(): void {\n this.selectedCounter = this.itemsList.filter((item) => item.checked).length;\n }\n\n private getControlToListSize(): ListSize {\n switch (this.size) {\n case ControlSize.X_SMALL:\n return ListSize.SMALL;\n case ControlSize.SMALL:\n return ListSize.MEDIUM;\n default:\n return ListSize.LARGE;\n }\n }\n\n private getOptionId(item: ComboItem): string {\n return `${this.inputid}-option-${item.id ? encodeString(`${item.id}`) : encodeString(`${item.name}`)}`;\n }\n\n private getCheckAllOptionId(): string {\n return `${this.inputid}-check-all`;\n }\n\n private allOptionsSelected(): boolean {\n return this.selectedCounter === this.itemsList.length;\n }\n\n private hasReachedMaxSelections(): boolean {\n return !!(this.maxcheckableitems && this.selectedCounter >= this.maxcheckableitems);\n }\n\n private handleHeaderKeyDown(e: KeyboardEvent): void {\n if (e.code === KeyboardCode.ENTER && !this.focusedItemId) {\n this.toggleComboBox();\n }\n\n if (!this.isopen || this.hassearch) {\n return;\n }\n\n switch (e.code as KeyboardCode) {\n case KeyboardCode.SPACE:\n case KeyboardCode.ENTER:\n if (this.focusedItemId) {\n e.preventDefault();\n this.checkOption(this.focusedItemId);\n }\n break;\n case KeyboardCode.ESC:\n if (this.focusedItemId) {\n this.focusedItemId = \"\";\n }\n break;\n case KeyboardCode.ARROW_DOWN:\n case KeyboardCode.ARROW_UP:\n this.handleArrowsNavigation(e);\n break;\n }\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 e.preventDefault();\n this.checkOption(this.focusedItemId);\n break;\n }\n break;\n case KeyboardCode.ARROW_DOWN:\n case KeyboardCode.ARROW_UP:\n this.handleArrowsNavigation(e);\n break;\n case KeyboardCode.ESC:\n if (this.focusedItemId) {\n this.focusedItemId = \"\";\n break;\n }\n this.closeFilterItems();\n break;\n case KeyboardCode.TAB:\n this.focusedItemId = \"\";\n break;\n }\n }\n\n private checkOption(optionId: string): void {\n if (optionId === this.getCheckAllOptionId()) {\n this.itemsList = this.itemsList.map((item: ComboItem) => ({\n ...item,\n checked: !this.allOptionsSelected(),\n }));\n\n this.focusedItemId = this.getCheckAllOptionId();\n } else {\n this.itemsList = this.itemsList.map((i: ComboItem) => {\n if (optionId === this.getOptionId(i)) {\n i.checked = !i.checked;\n }\n\n return i;\n });\n }\n\n this.updateRenderItemsList();\n this.emitComboboxChange();\n }\n\n private handleArrowsNavigation(e: KeyboardEvent): void {\n if (![KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP].includes(e.code as KeyboardCode) || !this.isopen) {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n const currElem = this.focusedItemId ? this.element.shadowRoot.querySelector(`#${this.focusedItemId}`) : null;\n const options = Array.from(this.element.shadowRoot.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 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.focusedItemId = nextElem.id;\n nextElem.scrollIntoView({block: \"nearest\", container: \"nearest\"});\n }\n\n private updateRenderItemsList(): void {\n if (this.searchValue) {\n this.filterItems(this.searchValue);\n } else {\n this.resetRenderItemsList();\n }\n }\n\n private resetRenderItemsList(): void {\n const renderItemsList = [];\n this.itemsList.forEach((item: ComboItem) => {\n renderItemsList.push({...item});\n });\n this.renderItemsList = renderItemsList;\n }\n\n private filterItems(value: string): void {\n if (!value) {\n return this.closeFilterItems();\n }\n\n this.resetRenderItemsList();\n this.renderItemsList = this.renderItemsList.filter((item) => {\n const start = item.name.toUpperCase().indexOf(value.toUpperCase());\n const end = start + value.length;\n const newName =\n item.name.substring(0, start) +\n \"<strong>\" +\n item.name.substring(start, end) +\n \"</strong>\" +\n item.name.substring(end, item.name.length);\n\n item.name = newName;\n\n return start >= 0;\n });\n }\n\n private closeFilterItems(): void {\n this.searchValue = \"\";\n this.resetRenderItemsList();\n }\n\n private toggleComboBox(): void {\n this.isopen = !this.isopen;\n }\n\n private getHeaderAriaLabel(): string | undefined {\n if (!this.label || this.selectedCounter <= 0) {\n return undefined;\n }\n\n const suffix = this.selectedCounter === 1 ? \"elemento selezionato\" : \"elementi selezionati\";\n\n return `${this.label}: ${this.selectedCounter} ${suffix}`;\n }\n\n private getComboboxA11yAttributes(isZInput: boolean): Record<string, string> {\n const role = \"combobox\";\n const ariaExpanded = this.isopen ? \"true\" : \"false\";\n const ariaActivedescendant = this.isopen ? this.focusedItemId : \"\";\n const ariaControls = `${this.inputid}_list`;\n\n if (isZInput) {\n return {\n \"role\": role,\n \"aria-label\": this.htmlAriaLabel,\n \"html-aria-expanded\": ariaExpanded,\n \"html-aria-activedescendant\": ariaActivedescendant,\n \"html-aria-controls\": ariaControls,\n };\n }\n\n return {\n \"role\": role,\n \"aria-expanded\": ariaExpanded,\n \"aria-activedescendant\": ariaActivedescendant,\n \"aria-controls\": ariaControls,\n };\n }\n\n private renderHeader(): HTMLDivElement {\n const comboboxA11yAttributes = !this.hassearch ? this.getComboboxA11yAttributes(false) : {};\n\n return (\n <div\n class=\"header\"\n onClick={() => this.toggleComboBox()}\n onKeyDown={(e: KeyboardEvent) => this.handleHeaderKeyDown(e)}\n role=\"button\"\n tabindex={0}\n aria-controls=\"open-combo-data\"\n aria-expanded={this.isopen ? \"true\" : \"false\"}\n aria-label={this.getHeaderAriaLabel()}\n {...comboboxA11yAttributes}\n >\n <span class=\"body-3\">\n {this.label}\n <span>{this.selectedCounter > 0 && ` (${this.selectedCounter})`}</span>\n </span>\n <z-icon\n name={this.isopen ? \"caret-up\" : \"caret-down\"}\n class={this.size}\n />\n </div>\n );\n }\n\n private renderContent(): HTMLDivElement {\n return (\n <div\n id=\"open-combo-data\"\n class=\"open-combo-data\"\n >\n {this.hassearch && this.renderSearchInput()}\n <div\n role=\"listbox\"\n aria-label={this.label}\n aria-multiselectable=\"true\"\n id={`${this.inputid}_list`}\n aria-owns={`${this.hascheckall ? `${this.getCheckAllOptionId()} ` : ``}${this.itemsList.map((item) => this.getOptionId(item)).join(\" \")}`}\n >\n {this.renderItems()}\n </div>\n </div>\n );\n }\n\n private renderItems(): HTMLDivElement {\n return (\n <div\n class={this.searchValue && \"search\"}\n tabIndex={-1}\n role=\"presentation\"\n >\n {this.renderList(this.renderItemsList)}\n </div>\n );\n }\n\n private renderItem(item: ComboItem, index: number, length: number): HTMLZListElement {\n const optionId = this.getOptionId(item);\n const isDisabled = !item.checked && this.hasReachedMaxSelections();\n\n return (\n <z-list-element\n htmlTabindex={-1}\n dividerType={index !== length - 1 ? ListDividerType.ELEMENT : ListDividerType.NONE}\n size={this.getControlToListSize()}\n role=\"presentation\"\n disabled={!!isDisabled}\n >\n <span\n class=\"option-wrap\"\n role=\"presentation\"\n onClick={() => {\n this.focusedItemId = \"\";\n this.checkOption(optionId);\n }}\n >\n <z-icon\n name={item.checked ? \"checkbox-checked\" : \"checkbox\"}\n class={this.focusedItemId === optionId ? \"focused\" : \"\"}\n />\n <span\n id={optionId}\n role={isDisabled ? \"presentation\" : \"option\"}\n aria-selected={item.checked ? \"true\" : \"false\"}\n aria-label={isDisabled ? undefined : getPlainText(item.name)}\n >\n <span\n aria-hidden=\"true\"\n innerHTML={item.name}\n />\n </span>\n </span>\n </z-list-element>\n );\n }\n\n private renderList(items: ComboItem[]): HTMLUListElement {\n if (!items) {\n return;\n }\n if (!items.length && this.searchValue) {\n return this.renderNoSearchResults();\n }\n\n if (this.hasgroupitems) {\n return this.renderGroups(items);\n }\n\n return (\n <ul role=\"presentation\">\n {this.renderCheckAll()}\n {items.map((item, i) => {\n return this.renderItem(item, i, items.length);\n })}\n </ul>\n );\n }\n\n private renderGroups(items: ComboItem[]): HTMLUListElement {\n const newData = items.reduce((group, item, index) => {\n const category = item.category || \"Altra categoria\";\n const zListItem = this.renderItem(item, index, items.length);\n\n group[category] = group[category] ?? [];\n group[category].push(zListItem);\n\n return group;\n }, {});\n\n const listGroups = Object.entries(newData as {[key: string]: HTMLZListElementElement[]}).map(\n ([key, value], index) => {\n return (\n <z-list-group\n size={this.getControlToListSize()}\n divider-type={ListDividerType.ELEMENT}\n aria-labelledby={`${this.inputid}_list_group_${index}`}\n >\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n id={`${this.inputid}_list_group_${index}`}\n aria-hidden=\"true\"\n >\n {key}\n </span>\n {value.map((item) => item)}\n </z-list-group>\n );\n }\n );\n\n return (\n <ul role=\"presentation\">\n {this.renderCheckAll()}\n {listGroups}\n </ul>\n );\n }\n\n private renderNoSearchResults(): HTMLUListElement {\n return (\n <div class=\"no-results\">\n <span>{this.noresultslabel}</span>\n </div>\n );\n }\n\n private renderSearchInput(): ZInput {\n return (\n <z-input\n htmlid={`${this.inputid}_search`}\n label={this.searchlabel}\n placeholder={this.searchplaceholder}\n htmltitle={this.searchtitle}\n type={this.inputType}\n value={this.searchValue}\n message={false}\n size={this.size}\n html-aria-autocomplete=\"list\"\n {...this.getComboboxA11yAttributes(true)}\n onKeyDown={(e: KeyboardEvent) => this.handleInputKeyDown(e)}\n onInputChange={(e: CustomEvent) => {\n this.searchValue = e.detail.value;\n this.focusedItemId = \"\";\n }}\n />\n );\n }\n\n private renderCheckAll(): HTMLDivElement {\n if (!this.hascheckall || this.searchValue) {\n return;\n }\n\n const optionId = this.getCheckAllOptionId();\n const allChecked = this.allOptionsSelected();\n const isPartiallySelected = this.selectedCounter > 0 && !allChecked;\n const isDisabled =\n !allChecked &&\n (this.hasReachedMaxSelections() || (this.maxcheckableitems && this.maxcheckableitems < this.itemsList.length));\n\n return (\n <z-list-element\n class=\"check-all-wrapper\"\n role=\"presentation\"\n htmlTabindex={-1}\n dividerType={ListDividerType.ELEMENT}\n dividerColor=\"gray800\"\n size={this.getControlToListSize()}\n disabled={!!isDisabled}\n >\n <span\n class=\"option-wrap\"\n role=\"presentation\"\n onClick={() => this.checkOption(optionId)}\n >\n <z-icon\n name={isPartiallySelected ? \"indeterminated-checkbox\" : allChecked ? \"checkbox-checked\" : \"checkbox\"}\n class={this.focusedItemId === optionId ? \"focused\" : \"\"}\n />\n <span\n id={optionId}\n role={isDisabled ? \"presentation\" : \"option\"}\n aria-selected={allChecked ? \"true\" : \"false\"}\n >\n {allChecked ? this.uncheckalltext : this.checkalltext}\n </span>\n </span>\n </z-list-element>\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div\n data-action={`combo-${this.inputid}`}\n class={{open: this.isopen, fixed: this.isfixed, disabled: this.disabled}}\n id={this.inputid}\n >\n {this.renderHeader()}\n {!this.disabled && this.renderContent()}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZCoverHero","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","variant","CoverHeroVariant","OVERLAY","contentPosition","CoverHeroContentPosition","TOP","preserveAspectRatio","onImgLoad","target","Image","closest","ratio","naturalWidth","naturalHeight","host","style","setProperty","toString","renderContent","h","class","name","render","Host","key","STACKED","BOTTOM"],"sources":["src/components/z-cover-hero/styles.css?tag=z-cover-hero&encapsulation=shadow","src/components/z-cover-hero/index.tsx"],"sourcesContent":[":host {\n /**\n * @prop --cover-hero-overlay: overlay color of the cover hero (CSS `background` property). **Default**: `linear-gradient(270deg, #0000 0%, #000000e6 100%)`.\n * @prop --cover-hero-text-color: color of the text.\n * @prop --cover-hero-aspect-ratio: aspect ratio to use for the image. You can pass a fraction or a number representing the ratio. **Default**: the intrinsic aspect ratio of the slotted image or `16/9`.\n */\n --cover-hero-overlay: linear-gradient(270deg, #0000 0%, #000000e6 100%);\n --cover-hero-text-color: var(--color-text-inverse);\n --cover-hero-aspect-ratio: ;\n\n display: block;\n overflow: hidden;\n}\n\n:host,\n* {\n box-sizing: border-box;\n}\n\n:host .main-container {\n position: relative;\n width: 100%;\n align-items: baseline;\n}\n\n:host .content-container {\n color: var(--cover-hero-text-color);\n fill: var(--cover-hero-text-color);\n}\n\n:host .main-container .cover-container {\n position: relative;\n width: 100%;\n padding-top: calc(100% / (var(--cover-hero-aspect-ratio, var(--image-aspect-ratio, 16/9))));\n background-color: var(--gray600);\n}\n\n::slotted([slot=\"cover\"]) {\n position: absolute;\n display: block;\n width: 100%;\n height: 100%;\n inset: 0;\n object-fit: cover;\n object-position: top center;\n}\n\n::slotted(z-info-reveal) {\n position: absolute;\n z-index: 1;\n right: var(--grid-margin);\n bottom: var(--grid-margin);\n}\n\n/* Variant overlay */\n:host([variant=\"overlay\"]:not([preserve-aspect-ratio=\"\"], [preserve-aspect-ratio=\"true\"])) .main-container {\n height: 100%;\n}\n\n:host([variant=\"overlay\"]:not([preserve-aspect-ratio=\"\"], [preserve-aspect-ratio=\"true\"]))\n .main-container\n .cover-container {\n position: absolute;\n z-index: -1;\n height: 100%;\n padding: 0;\n}\n\n:host([variant=\"overlay\"]) .main-container .cover-container::after {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: var(--cover-hero-overlay);\n content: \"\";\n}\n\n:host([variant=\"overlay\"]:is([preserve-aspect-ratio=\"\"], [preserve-aspect-ratio=\"true\"]))\n .main-container\n .content-container {\n position: absolute;\n inset: 0;\n}\n\n:host([variant=\"overlay\"]) .main-container .content-container {\n height: 100%;\n padding: var(--grid-margin);\n}\n\n/* Variant stacked */\n:host([variant=\"stacked\"]) {\n --cover-hero-text-color: var(--color-default-text);\n}\n\n:host([variant=\"stacked\"]) .content-container ::slotted(*) {\n padding: var(--grid-margin) 0;\n}\n","import {Component, ComponentInterface, Element, Host, Listen, Prop, h} from \"@stencil/core\";\nimport {CoverHeroContentPosition, CoverHeroVariant} from \"../../beans\";\n\n/**\n * Cover hero component.\n * Component to display a hero image with content.\n *\n * @slot cover - slot for the cover image.\n * @slot content - slot for the content.\n * @slot info-reveal - slot for the info reveal.\n */\n@Component({\n tag: \"z-cover-hero\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZCoverHero implements ComponentInterface {\n @Element() host: HTMLZCoverHeroElement;\n\n /**\n * Cover hero variant. Can be `OVERLAY` or `STACKED`.\n */\n @Prop({reflect: true})\n variant: CoverHeroVariant = CoverHeroVariant.OVERLAY;\n\n /**\n * Vertical content position (for `STACKED` variant).\n */\n @Prop({reflect: true})\n contentPosition: CoverHeroContentPosition = CoverHeroContentPosition.TOP;\n\n /**\n * Whether to keep the image aspect ratio.\n * If set to `false`, the cssprop `--cover-hero-aspect-ratio` will not affect the component's size;\n * instead, the height of the component follows the content's one.\n * Note: it may be necessary to set a min and/or max height to the component.\n */\n @Prop({reflect: true})\n preserveAspectRatio = true;\n\n /**\n * Store the intrinsic aspect ratio of the slotted image when loaded,\n * to have a default when `--cover-hero-aspect-ratio` is not set.\n * @param target The event target\n */\n @Listen(\"load\", {capture: true})\n protected onImgLoad({target}: Event): void {\n if (target instanceof Image && target.closest(\"[slot=cover]\")) {\n const ratio = target.naturalWidth / target.naturalHeight;\n this.host.style.setProperty(\"--image-aspect-ratio\", ratio.toString());\n }\n }\n\n /**\n * Template for the content.\n */\n private renderContent(): HTMLDivElement {\n return (\n <div class=\"content-container\">\n <slot name=\"content\"></slot>\n </div>\n );\n }\n\n render(): HTMLZCoverHeroElement {\n return (\n <Host>\n {this.variant === CoverHeroVariant.STACKED &&\n this.contentPosition === CoverHeroContentPosition.TOP &&\n this.renderContent()}\n <div class=\"main-container\">\n <div class=\"cover-container\">\n <slot name=\"cover\"></slot>\n </div>\n <slot name=\"info-reveal\"></slot>\n {this.variant === CoverHeroVariant.OVERLAY && this.renderContent()}\n </div>\n {this.variant === CoverHeroVariant.STACKED &&\n this.contentPosition === CoverHeroContentPosition.BOTTOM &&\n this.renderContent()}\n </Host>\n );\n }\n}\n"],"mappings":"8JAAA,MAAMA,EAAY,IAAM,6nD,MCgBXC,EAAUC,EAAA,MAAAD,UAAAE,EALvB,WAAAC,CAAAC,G,kEAYEC,KAAAC,QAA4BC,EAAiBC,QAM7CH,KAAAI,gBAA4CC,EAAyBC,IASrEN,KAAAO,oBAAsB,IA6CvB,CArCW,SAAAC,EAAUC,OAACA,IACnB,GAAIA,aAAkBC,OAASD,EAAOE,QAAQ,gBAAiB,CAC7D,MAAMC,EAAQH,EAAOI,aAAeJ,EAAOK,cAC3Cd,KAAKe,KAAKC,MAAMC,YAAY,uBAAwBL,EAAMM,W,EAOtD,aAAAC,GACN,OACEC,EAAA,OAAKC,MAAM,qBACTD,EAAA,QAAME,KAAK,Y,CAKjB,MAAAC,GACE,OACEH,EAACI,EAAI,CAAAC,IAAA,4CACFzB,KAAKC,UAAYC,EAAiBwB,SACjC1B,KAAKI,kBAAoBC,EAAyBC,KAClDN,KAAKmB,gBACPC,EAAA,OAAAK,IAAA,2CAAKJ,MAAM,kBACTD,EAAA,OAAAK,IAAA,2CAAKJ,MAAM,mBACTD,EAAA,QAAAK,IAAA,2CAAMH,KAAK,WAEbF,EAAA,QAAAK,IAAA,2CAAMH,KAAK,gBACVtB,KAAKC,UAAYC,EAAiBC,SAAWH,KAAKmB,iBAEpDnB,KAAKC,UAAYC,EAAiBwB,SACjC1B,KAAKI,kBAAoBC,EAAyBsB,QAClD3B,KAAKmB,gB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["global","factory","module","exports","this","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","monthToStr","monthNumber","shorthand","locale","months","clearNode","node","firstChild","removeChild","getEventTarget","event","composedPath","path","target","error","defaultConfig","dateFormat","altFormat","theme","monthSelectPlugin","pluginConfig","config","fp","self","monthsContainer","clearUnnecessaryDOMElements","rContainer","index","monthElements","element","parentNode","build","_createElement","tabIndex","buildMonths","appendChild","calendarContainer","classList","add","frag","document","createDocumentFragment","month","createDay","Date","currentYear","dateObj","getMonth","getFullYear","textContent","l10n","addEventListener","selectMonth","minDate","prevMonthNav","remove","maxDate","nextMonthNav","bindEvents","_bind","e","preventDefault","stopPropagation","changeYear","selectYear","mode","onMouseOver","setCurrentlySelected","selectedDates","currentlySelected","querySelectorAll","targetMonth","querySelector","selectedDate","setFullYear","currentYearElement","value","String","forEach","eventTarget","Element","contains","setMonth","closeOnSelect","single","range","close","date","getDate","push","concat","sort","a","b","getTime","setDate","shifts","onKeyDown","_","__","___","shouldMove","keyCode","undefined","Array","indexOf","children","activeElement","firstElementChild","focus","$i","closeHook","_a","clear","stubCurrentMonth","_stubbedCurrentMonth","_initialDate","currentMonth","unstubCurrentMonth","destroyPluginInstance","removeEventListener","onParseConfig","enableTime","onValueUpdate","onReady","onClose","loadedPlugins","onDestroy","filter","hook","stylesCss","ZDatePicker","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","ZDatePickerMode","DATE","name","flatpickrPosition","ZDatePickerPosition","BOTTOM","inputError","emitDateSelect","dateSelect","emit","handleKeyDown","ev","key","picker","hasChildren","_b","open","isCrossIconEntered","_c","isPrevArrowEntered","isNextArrowEntered","arrowPressed","MONTHS","_d","_e","calendar","getElementsByClassName","setAttribute","innerHTML","from","curMonth","curYear","_f","changeMonth","_g","componentWillLoad","customToggle","componentDidLoad","setupPickers","classToAppend","datePickerId","flatpickr","appendTo","DATE_TIME","Italian","allowInput","ariaDateFormat","minuteIncrement","time_24hr","onChange","_selectedDates","dateStr","onOpen","setAriaOptions","setFlatpickrPosition","wrap","plugins","trim","charAt","formatDate","onStopTyping","text","detail","englishData","split","time","englishParsedData","join","isValidDate","validateDate","renderSlottedContent","h","class","renderZInput","htmlAriaLabel","label","type","InputType","TEXT","icon","message","tabindex","onStartTyping","render"],"sources":["node_modules/flatpickr/dist/plugins/monthSelect/index.js","src/components/date-picker/styles.css?tag=z-date-picker","src/components/date-picker/z-date-picker/index.tsx"],"sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.monthSelectPlugin = factory());\n}(this, (function () { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n\r\n var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n };\n\n var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\n\n function clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n }\n function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n }\n\n var defaultConfig = {\n shorthand: false,\n dateFormat: \"F Y\",\n altFormat: \"F Y\",\n theme: \"light\",\n };\n function monthSelectPlugin(pluginConfig) {\n var config = __assign(__assign({}, defaultConfig), pluginConfig);\n return function (fp) {\n fp.config.dateFormat = config.dateFormat;\n fp.config.altFormat = config.altFormat;\n var self = { monthsContainer: null };\n function clearUnnecessaryDOMElements() {\n if (!fp.rContainer)\n return;\n clearNode(fp.rContainer);\n for (var index = 0; index < fp.monthElements.length; index++) {\n var element = fp.monthElements[index];\n if (!element.parentNode)\n continue;\n element.parentNode.removeChild(element);\n }\n }\n function build() {\n if (!fp.rContainer)\n return;\n self.monthsContainer = fp._createElement(\"div\", \"flatpickr-monthSelect-months\");\n self.monthsContainer.tabIndex = -1;\n buildMonths();\n fp.rContainer.appendChild(self.monthsContainer);\n fp.calendarContainer.classList.add(\"flatpickr-monthSelect-theme-\" + config.theme);\n }\n function buildMonths() {\n if (!self.monthsContainer)\n return;\n clearNode(self.monthsContainer);\n var frag = document.createDocumentFragment();\n for (var i = 0; i < 12; i++) {\n var month = fp.createDay(\"flatpickr-monthSelect-month\", new Date(fp.currentYear, i), 0, i);\n if (month.dateObj.getMonth() === new Date().getMonth() &&\n month.dateObj.getFullYear() === new Date().getFullYear())\n month.classList.add(\"today\");\n month.textContent = monthToStr(i, config.shorthand, fp.l10n);\n month.addEventListener(\"click\", selectMonth);\n frag.appendChild(month);\n }\n self.monthsContainer.appendChild(frag);\n if (fp.config.minDate &&\n fp.currentYear === fp.config.minDate.getFullYear())\n fp.prevMonthNav.classList.add(\"flatpickr-disabled\");\n else\n fp.prevMonthNav.classList.remove(\"flatpickr-disabled\");\n if (fp.config.maxDate &&\n fp.currentYear === fp.config.maxDate.getFullYear())\n fp.nextMonthNav.classList.add(\"flatpickr-disabled\");\n else\n fp.nextMonthNav.classList.remove(\"flatpickr-disabled\");\n }\n function bindEvents() {\n fp._bind(fp.prevMonthNav, \"click\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n fp.changeYear(fp.currentYear - 1);\n selectYear();\n buildMonths();\n });\n fp._bind(fp.nextMonthNav, \"click\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n fp.changeYear(fp.currentYear + 1);\n selectYear();\n buildMonths();\n });\n fp._bind(self.monthsContainer, \"mouseover\", function (e) {\n if (fp.config.mode === \"range\")\n fp.onMouseOver(getEventTarget(e), \"flatpickr-monthSelect-month\");\n });\n }\n function setCurrentlySelected() {\n if (!fp.rContainer)\n return;\n if (!fp.selectedDates.length)\n return;\n var currentlySelected = fp.rContainer.querySelectorAll(\".flatpickr-monthSelect-month.selected\");\n for (var index = 0; index < currentlySelected.length; index++) {\n currentlySelected[index].classList.remove(\"selected\");\n }\n var targetMonth = fp.selectedDates[0].getMonth();\n var month = fp.rContainer.querySelector(\".flatpickr-monthSelect-month:nth-child(\" + (targetMonth + 1) + \")\");\n if (month) {\n month.classList.add(\"selected\");\n }\n }\n function selectYear() {\n var selectedDate = fp.selectedDates[0];\n if (selectedDate) {\n selectedDate = new Date(selectedDate);\n selectedDate.setFullYear(fp.currentYear);\n if (fp.config.minDate && selectedDate < fp.config.minDate) {\n selectedDate = fp.config.minDate;\n }\n if (fp.config.maxDate && selectedDate > fp.config.maxDate) {\n selectedDate = fp.config.maxDate;\n }\n fp.currentYear = selectedDate.getFullYear();\n }\n fp.currentYearElement.value = String(fp.currentYear);\n if (fp.rContainer) {\n var months = fp.rContainer.querySelectorAll(\".flatpickr-monthSelect-month\");\n months.forEach(function (month) {\n month.dateObj.setFullYear(fp.currentYear);\n if ((fp.config.minDate && month.dateObj < fp.config.minDate) ||\n (fp.config.maxDate && month.dateObj > fp.config.maxDate)) {\n month.classList.add(\"flatpickr-disabled\");\n }\n else {\n month.classList.remove(\"flatpickr-disabled\");\n }\n });\n }\n setCurrentlySelected();\n }\n function selectMonth(e) {\n e.preventDefault();\n e.stopPropagation();\n var eventTarget = getEventTarget(e);\n if (!(eventTarget instanceof Element))\n return;\n if (eventTarget.classList.contains(\"flatpickr-disabled\"))\n return;\n if (eventTarget.classList.contains(\"notAllowed\"))\n return; // necessary??\n setMonth(eventTarget.dateObj);\n if (fp.config.closeOnSelect) {\n var single = fp.config.mode === \"single\";\n var range = fp.config.mode === \"range\" && fp.selectedDates.length === 2;\n if (single || range)\n fp.close();\n }\n }\n function setMonth(date) {\n var selectedDate = new Date(fp.currentYear, date.getMonth(), date.getDate());\n var selectedDates = [];\n switch (fp.config.mode) {\n case \"single\":\n selectedDates = [selectedDate];\n break;\n case \"multiple\":\n selectedDates.push(selectedDate);\n break;\n case \"range\":\n if (fp.selectedDates.length === 2) {\n selectedDates = [selectedDate];\n }\n else {\n selectedDates = fp.selectedDates.concat([selectedDate]);\n selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n break;\n }\n fp.setDate(selectedDates, true);\n setCurrentlySelected();\n }\n var shifts = {\n 37: -1,\n 39: 1,\n 40: 3,\n 38: -3,\n };\n function onKeyDown(_, __, ___, e) {\n var shouldMove = shifts[e.keyCode] !== undefined;\n if (!shouldMove && e.keyCode !== 13) {\n return;\n }\n if (!fp.rContainer || !self.monthsContainer)\n return;\n var currentlySelected = fp.rContainer.querySelector(\".flatpickr-monthSelect-month.selected\");\n var index = Array.prototype.indexOf.call(self.monthsContainer.children, document.activeElement);\n if (index === -1) {\n var target = currentlySelected || self.monthsContainer.firstElementChild;\n target.focus();\n index = target.$i;\n }\n if (shouldMove) {\n self.monthsContainer.children[(12 + index + shifts[e.keyCode]) % 12].focus();\n }\n else if (e.keyCode === 13 &&\n self.monthsContainer.contains(document.activeElement)) {\n setMonth(document.activeElement.dateObj);\n }\n }\n function closeHook() {\n var _a;\n if (((_a = fp.config) === null || _a === void 0 ? void 0 : _a.mode) === \"range\" && fp.selectedDates.length === 1)\n fp.clear(false);\n if (!fp.selectedDates.length)\n buildMonths();\n }\n // Help the prev/next year nav honor config.minDate (see 3fa5a69)\n function stubCurrentMonth() {\n config._stubbedCurrentMonth = fp._initialDate.getMonth();\n fp._initialDate.setMonth(config._stubbedCurrentMonth);\n fp.currentMonth = config._stubbedCurrentMonth;\n }\n function unstubCurrentMonth() {\n if (!config._stubbedCurrentMonth)\n return;\n fp._initialDate.setMonth(config._stubbedCurrentMonth);\n fp.currentMonth = config._stubbedCurrentMonth;\n delete config._stubbedCurrentMonth;\n }\n function destroyPluginInstance() {\n if (self.monthsContainer !== null) {\n var months = self.monthsContainer.querySelectorAll(\".flatpickr-monthSelect-month\");\n for (var index = 0; index < months.length; index++) {\n months[index].removeEventListener(\"click\", selectMonth);\n }\n }\n }\n return {\n onParseConfig: function () {\n fp.config.enableTime = false;\n },\n onValueUpdate: setCurrentlySelected,\n onKeyDown: onKeyDown,\n onReady: [\n stubCurrentMonth,\n clearUnnecessaryDOMElements,\n build,\n bindEvents,\n setCurrentlySelected,\n function () {\n fp.config.onClose.push(closeHook);\n fp.loadedPlugins.push(\"monthSelect\");\n },\n ],\n onDestroy: [\n unstubCurrentMonth,\n destroyPluginInstance,\n function () {\n fp.config.onClose = fp.config.onClose.filter(function (hook) { return hook !== closeHook; });\n },\n ],\n };\n };\n }\n\n return monthSelectPlugin;\n\n})));\n","@import \"~flatpickr/dist/flatpickr.min.css\";\n@import \"~flatpickr/dist/plugins/monthSelect/style.css\";\n\n/* stylelint-disable selector-class-pattern -- we have no control over flatpickr css classes naming */\n\n:host {\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n\n --z-range-picker--toggle-height: 0;\n}\n\nz-date-picker {\n position: relative;\n}\n\nz-date-picker > div > * {\n cursor: pointer !important;\n}\n\nz-range-picker {\n position: relative;\n}\n\n.flatpickr-toggle-container {\n width: fit-content;\n}\n\n.range-pickers-container > div {\n position: relative;\n}\n\n.hidden-input {\n position: absolute;\n bottom: 0;\n width: 0;\n height: 0;\n visibility: hidden !important;\n}\n\n/* Calendar container selectors */\n.flatpickr-calendar::before,\n.flatpickr-calendar::after {\n display: none;\n}\n\n.flatpickr-calendar {\n position: absolute !important;\n top: var(--z-range-picker--toggle-height) !important;\n left: 0 !important;\n padding-top: calc(var(--space-unit) * 2);\n border-radius: 2px;\n box-shadow: var(--shadow-2);\n font-family: var(--font-family-sans) !important;\n}\n\n.months.top > .flatpickr-calendar {\n top: -288px !important;\n}\n\n.date.top > .flatpickr-calendar,\n.date.top > div > .flatpickr-calendar {\n top: -401px !important;\n}\n\n.date-time.top > .flatpickr-calendar,\n.date-time.top > div > .flatpickr-calendar {\n top: -523px !important;\n}\n\n.flatpickr-calendar,\n.flatpickr-innerContainer,\n.flatpickr-days,\n.dayContainer,\n.flatpickr-rContainer,\n.flatpickr-monthSelect-months {\n width: calc(var(--space-unit) * 42) !important;\n max-width: calc(var(--space-unit) * 42) !important;\n}\n\n.flatpickr-monthSelect-months {\n box-sizing: border-box;\n padding: 0 !important;\n margin: calc(var(--space-unit) * 2) 0 !important;\n}\n\n/* Months and year row containers selectors */\n.flatpickr-months {\n position: relative;\n height: calc(var(--space-unit) * 6) !important;\n align-items: center;\n margin-bottom: var(--space-unit) 0 !important;\n}\n\n.flatpickr-month {\n overflow: visible !important;\n height: calc(var(--space-unit) * 6) !important;\n}\n\n.flatpickr-current-month {\n left: 0 !important;\n display: flex !important;\n width: fill-available;\n height: calc(var(--space-unit) * 6);\n align-items: baseline;\n justify-content: space-evenly;\n padding-top: 0;\n}\n\n/* Months arrows selectors */\n.flatpickr-next-month,\n.flatpickr-prev-month {\n position: static !important;\n display: flex;\n width: calc(var(--space-unit) * 4) !important;\n height: calc(var(--space-unit) * 4) !important;\n align-items: center;\n justify-content: center;\n padding: 0 !important;\n}\n\n.flatpickr-prev-month {\n margin-left: var(--space-unit);\n}\n\n.flatpickr-next-month {\n margin-right: var(--space-unit);\n}\n\n.flatpickr-next-month > svg,\n.flatpickr-prev-month > svg {\n width: calc(var(--space-unit) * 2) !important;\n height: calc(var(--space-unit) * 2) !important;\n fill: var(--color-primary01);\n}\n\n.flatpickr-next-month:hover,\n.flatpickr-prev-month:hover,\n.flatpickr-next-month:focus,\n.flatpickr-prev-month:focus {\n border: none !important;\n border-color: var(--color-primary03) !important;\n background-color: var(--color-primary03) !important;\n border-radius: var(--border-radius);\n color: var(--color-hover-primary) !important;\n outline: none !important;\n}\n\n.flatpickr-next-month:hover svg,\n.flatpickr-prev-month:hover svg {\n fill: var(--color-hover-primary) !important;\n}\n\n.flatpickr-next-month:active,\n.flatpickr-prev-month:active {\n border-color: var(--color-surface01) !important;\n background-color: var(--color-surface01) !important;\n border-radius: var(--border-radius);\n box-shadow: var(--shadow-2) !important;\n color: var(--color-primary01) !important;\n}\n\n.flatpickr-next-month:focus svg,\n.flatpickr-prev-month:focus svg {\n fill: var(--color-primary01) !important;\n}\n\n/* Months dropdown selectors */\n.flatpickr-monthDropdown-months {\n width: 108px !important;\n height: calc(var(--space-unit) * 5.5) !important;\n padding-left: var(--space-unit) !important;\n background: var(--color-surface01) !important;\n color: var(--color-default-text) !important;\n font-size: var(--font-size-3) !important;\n font-weight: var(--font-rg) !important;\n outline: 1px solid black !important;\n}\n\n.flatpickr-monthDropdown-months:hover,\n.flatpickr-monthDropdown-months:focus {\n outline: 1px solid var(--color-primary01) !important;\n}\n\n/* Year toggle selectors */\n.flatpickr-current-month > .numInputWrapper {\n display: flex;\n width: calc(var(--space-unit) * 10);\n height: calc(var(--space-unit) * 5.5) !important;\n background: var(--color-surface01) !important;\n color: var(--color-default-text);\n outline: 1px solid black !important;\n}\n\n.flatpickr-current-month > .numInputWrapper:hover,\n.flatpickr-current-month > .numInputWrapper:focus-within {\n outline: 1px solid var(--color-primary01) !important;\n}\n\n.flatpickr-current-month > .numInputWrapper > input {\n padding: 0 calc(var(--space-unit) * 3) 0 var(--space-unit);\n font-size: var(--font-size-3) !important;\n font-weight: var(--font-rg) !important;\n text-align: center;\n}\n\n/* Weekdays selectors */\n.flatpickr-weekdays {\n height: calc(var(--space-unit) * 6);\n border-bottom: 1px solid var(--color-surface03);\n}\n\n.flatpickr-weekday {\n font-size: var(--font-size-3) !important;\n font-weight: var(--font-rg) !important;\n}\n\n/* Calendar days and months selectors */\n.flatpickr-day,\n.flatpickr-monthSelect-month {\n width: calc(var(--space-unit) * 6) !important;\n max-width: 100% !important;\n height: calc(var(--space-unit) * 6) !important;\n border: none;\n margin: 0 !important;\n border-radius: 0 !important;\n box-shadow: none !important;\n font-size: var(--font-size-3) !important;\n line-height: calc(var(--space-unit) * 6) !important;\n}\n\n.flatpickr-day {\n width: calc(var(--space-unit) * 6) !important;\n border: none;\n line-height: calc(var(--space-unit) * 6) !important;\n}\n\n.flatpickr-monthSelect-month {\n width: calc(var(--space-unit) * 14) !important;\n padding: 0 !important;\n border: 2px solid var(--color-surface01) !important;\n line-height: calc(var(--space-unit) * 5) !important;\n}\n\n.flatpickr-day:not(.flatpickr-disabled):hover,\n.flatpickr-day:not(.flatpickr-disabled):active,\n.flatpickr-day:not(.flatpickr-disabled):focus,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:hover,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:active,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:focus,\n.flatpickr-day:not(.flatpickr-disabled).selected:hover,\n.flatpickr-day:not(.flatpickr-disabled).selected:active,\n.flatpickr-day:not(.flatpickr-disabled).selected:focus,\n.flatpickr-monthSelect-month:hover,\n.flatpickr-monthSelect-month:active,\n.flatpickr-monthSelect-month:focus {\n border-color: var(--color-hover-primary) !important;\n background-color: var(--color-hover-primary) !important;\n color: var(--color-text-inverse) !important;\n}\n\n.flatpickr-day.today,\n.flatpickr-monthSelect-month.today {\n border: 2px solid var(--color-hover-primary) !important;\n}\n\n.flatpickr-day.selected:not(.flatpickr-disabled),\n.flatpickr-monthSelect-month.selected:not(.flatpickr-disabled) {\n border-color: var(--color-primary01) !important;\n background-color: var(--color-primary01) !important;\n}\n\n.flatpickr-weekday:nth-child(6),\n.flatpickr-weekday:nth-child(7),\n.flatpickr-day:nth-child(7n + 6),\n.flatpickr-day:nth-child(7n + 7) {\n font-weight: var(--font-sb) !important;\n}\n\n/* Date and time selectors */\n.flatpickr-time {\n display: block;\n height: 90px !important;\n max-height: 90px !important;\n text-align: left;\n}\n\n.flatpickr-time::before {\n display: block;\n width: 100%;\n padding-left: var(--space-unit);\n color: var(--color-default-text) !important;\n content: \"Orario\";\n font-size: var(--font-size-1);\n font-weight: var(--font-sb);\n text-transform: uppercase;\n}\n\n.flatpickr-time.time24hr {\n margin: calc(var(--space-unit) * 2) !important;\n}\n\n.flatpickr-time.time24hr > .numInputWrapper > input:hover,\n.flatpickr-time.time24hr > .numInputWrapper > input:focus,\n.flatpickr-time.time24hr > .numInputWrapper:hover {\n background-color: var(--color-surface01) !important;\n}\n\n.flatpickr-time.time24hr > div {\n width: calc(var(--space-unit) * 10) !important;\n height: calc(var(--space-unit) * 5.5) !important;\n margin-right: var(--space-unit) !important;\n margin-left: var(--space-unit) !important;\n}\n\n.flatpickr-time-separator {\n display: flex;\n height: calc(var(--space-unit) * 5.5) !important;\n align-items: center;\n justify-content: center;\n font-weight: unset !important;\n}\n\n.flatpickr-minute,\n.flatpickr-hour {\n font-size: var(--font-size-3) !important;\n font-weight: var(--font-rg) !important;\n outline: 1px solid black !important;\n}\n\n.numInputWrapper:hover .flatpickr-minute,\n.numInputWrapper:hover .flatpickr-hour,\n.flatpickr-minute:focus,\n.flatpickr-hour:focus {\n outline: 1px solid var(--color-primary01) !important;\n}\n\n/* toggle arrows selectors */\n.arrowUp,\n.arrowDown {\n width: calc(var(--space-unit) * 2) !important;\n height: calc(var(--space-unit) * 2) !important;\n padding: 0 !important;\n border: none !important;\n opacity: 1 !important;\n}\n\n.arrowUp {\n margin-top: calc(var(--space-unit) / 2) !important;\n margin-right: calc(var(--space-unit) / 2) !important;\n}\n\n.arrowDown {\n top: auto !important;\n margin-top: calc(var(--space-unit) * 3) !important;\n margin-right: calc(var(--space-unit) / 2) !important;\n}\n\n.arrowUp:hover,\n.arrowDown:hover {\n border-color: var(--color-primary03) !important;\n background-color: var(--color-primary03) !important;\n border-radius: var(--border-radius);\n color: var(--color-hover-primary) !important;\n}\n\n.arrowUp:active,\n.arrowDown:active {\n border-color: var(--color-surface01) !important;\n background-color: var(--color-surface01) !important;\n border-radius: var(--border-radius);\n box-shadow: var(--shadow-2) !important;\n color: var(--color-primary01) !important;\n}\n\n.arrowUp::after,\n.arrowDown::after {\n padding: 2.5px !important;\n border: solid var(--color-primary01) !important;\n border-width: 0 1px 1px 0 !important;\n}\n\n.arrowUp::after {\n top: 0 !important;\n margin-top: 6px !important;\n margin-left: 5.5px !important;\n transform: rotate(-135deg);\n}\n\n.arrowDown::after {\n top: 0 !important;\n left: 5.5px !important;\n margin-top: 4px !important;\n transform: rotate(45deg);\n}\n\n/* range-date-picker selectors */\n\n.flatpickr-day:not(.flatpickr-disabled).inRange:hover,\n.flatpickr-day:not(.flatpickr-disabled).today.inRange:hover,\n.flatpickr-day.prevMonthDay:not(.flatpickr-disabled).inRange:hover,\n.flatpickr-monthSelect-month:not(.flatpickr-disabled).inRange:hover {\n border-color: var(--color-hover-primary) !important;\n background-color: var(--color-hover-primary) !important;\n}\n\n.flatpickr-day:not(.flatpickr-disabled).inRange,\n.flatpickr-day:not(.flatpickr-disabled).today.inRange,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.inRange,\n.flatpickr-monthSelect-month:not(.flatpickr-disabled).inRange {\n border-color: var(--color-primary03);\n background-color: var(--color-primary03);\n}\n\n.flatpickr-day:not(.flatpickr-disabled).startRange,\n.flatpickr-day:not(.flatpickr-disabled).endRange,\n.flatpickr-monthSelect-month:not(.flatpickr-disabled).startRange,\n.flatpickr-monthSelect-month:not(.flatpickr-disabled).endRange {\n border-color: var(--color-primary01) !important;\n background-color: var(--color-primary01) !important;\n}\n\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.selected.startRange,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.selected.endRange {\n border-color: var(--color-primary01) !important;\n background-color: var(--color-primary01) !important;\n}\n\n.flatpickr-range.second-input {\n cursor: pointer;\n}\n\n.range-pickers-container {\n display: flex;\n gap: 16px;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Listen,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\n\nimport flatpickr from \"flatpickr\";\nimport {Italian} from \"flatpickr/dist/l10n/it.js\";\nimport monthSelectPlugin from \"flatpickr/dist/plugins/monthSelect\";\nimport {InputType, ZDatePickerMode, ZDatePickerPosition} from \"../../../beans\";\nimport {setAriaOptions, setFlatpickrPosition, validateDate} from \"../utils\";\n\n@Component({\n tag: \"z-date-picker\",\n styleUrl: \"../styles.css\",\n shadow: false,\n})\nexport class ZDatePicker implements ComponentInterface {\n @Element() element: HTMLZDatePickerElement;\n\n /** unique id */\n @Prop()\n datePickerId: string;\n\n /** z-input aria label */\n @Prop()\n htmlAriaLabel?: string;\n\n /** z-input label */\n @Prop()\n label?: string;\n\n /** [Optional] datepicker mode: date, datetime, only months */\n @Prop()\n mode: ZDatePickerMode = ZDatePickerMode.DATE;\n\n /** [Optional] the datepicker input name */\n @Prop()\n name?: string = undefined;\n\n /** [Optional] the datepicker input value */\n @Prop()\n value?: string = undefined;\n\n @State()\n flatpickrPosition: ZDatePickerPosition = ZDatePickerPosition.BOTTOM;\n\n @State()\n inputError = false;\n\n private picker;\n\n private hasChildren: boolean;\n\n /** emitted when date changes, returns selected date */\n @Event()\n dateSelect: EventEmitter;\n\n private emitDateSelect(date): void {\n this.dateSelect.emit(date);\n }\n\n @Listen(\"keydown\", {capture: true})\n handleKeyDown(ev: KeyboardEvent): void {\n if (ev.key === \"Escape\") {\n this.picker?.close();\n }\n\n if (ev.key === \"Enter\" || ev.key === \" \") {\n if (!this.hasChildren) {\n this.picker?.open();\n }\n\n const isCrossIconEntered = document.activeElement.classList.contains(\"reset-icon\");\n\n if (isCrossIconEntered) {\n this.inputError = false;\n this.picker?.setDate([]);\n this.dateSelect.emit(null);\n }\n\n const flatpickrDayPressed = document.activeElement.classList.contains(\"flatpickr-day\");\n if (flatpickrDayPressed) {\n //Sistemare il toggle\n }\n const isPrevArrowEntered = document.activeElement.classList.contains(\"flatpickr-prev-month\");\n const isNextArrowEntered = document.activeElement.classList.contains(\"flatpickr-next-month\");\n const arrowPressed = isPrevArrowEntered || isNextArrowEntered;\n\n if (arrowPressed && ev.key === \" \") {\n ev.preventDefault();\n }\n\n if (this.mode === ZDatePickerMode.MONTHS) {\n if (isPrevArrowEntered) {\n this.picker?.changeYear(this.picker.currentYear - 1);\n }\n\n if (isNextArrowEntered) {\n this.picker?.changeYear(this.picker.currentYear + 1);\n }\n\n if (arrowPressed) {\n const calendar = this.element.getElementsByClassName(\"flatpickr-calendar\")[0];\n const months = calendar?.querySelectorAll(\".flatpickr-monthSelect-month\");\n months?.forEach((element) => {\n element.setAttribute(\"aria-label\", `${element.innerHTML} ${this.picker?.currentYear}`);\n });\n\n //Force check of the current day\n Array.from(months ?? []).forEach((element, index) => {\n const curMonth = new Date().getMonth();\n const curYear = new Date().getFullYear();\n\n if (index === curMonth) {\n if (this.picker?.currentYear === curYear) {\n element.setAttribute(\"class\", \"flatpickr-monthSelect-month today\");\n } else {\n element.setAttribute(\"class\", \"flatpickr-monthSelect-month\");\n }\n }\n });\n }\n } else {\n if (isPrevArrowEntered) {\n this.picker?.changeMonth(-1);\n }\n if (isNextArrowEntered) {\n this.picker?.changeMonth(1);\n }\n }\n }\n }\n\n componentWillLoad(): void {\n const customToggle = this.element.querySelector(\"[slot=toggle]\");\n this.hasChildren = !!customToggle;\n if (this.hasChildren) {\n customToggle.setAttribute(\"data-toggle\", \"data-toggle\");\n }\n }\n\n componentDidLoad(): void {\n this.setupPickers();\n }\n\n @Watch(\"mode\")\n setupPickers(): void {\n const classToAppend = this.hasChildren ? `${this.datePickerId}-hidden` : `${this.datePickerId}-container`;\n\n this.picker = flatpickr(`.${classToAppend}`, {\n appendTo: this.element.children[0] as HTMLElement,\n enableTime: this.mode === ZDatePickerMode.DATE_TIME,\n locale: Italian,\n allowInput: true,\n dateFormat: this.mode === ZDatePickerMode.DATE_TIME ? \"d-m-Y - H:i\" : \"d-m-Y\",\n ariaDateFormat: this.mode === ZDatePickerMode.MONTHS ? \"F Y\" : \"d F Y\",\n minuteIncrement: 1,\n time_24hr: true,\n onChange: (_selectedDates, dateStr) => {\n this.emitDateSelect(dateStr);\n },\n onOpen: () => {\n setAriaOptions(this.element as HTMLElement, this.mode);\n this.flatpickrPosition = setFlatpickrPosition(this.element as HTMLElement, this.mode);\n },\n onKeyDown: () => {\n setAriaOptions(this.element as HTMLElement, this.mode);\n },\n wrap: true,\n plugins: this.mode === ZDatePickerMode.MONTHS && [\n monthSelectPlugin({\n dateFormat: \"m-Y\",\n altFormat: \"m-Y\",\n }),\n ],\n });\n\n this.element.querySelectorAll(\".flatpickr-weekday\").forEach((element) => {\n element.innerHTML = element.innerHTML.trim().charAt(0);\n });\n }\n\n private formatDate(date): string {\n if (this.mode === ZDatePickerMode.DATE) {\n return `${flatpickr.formatDate(date, \"d-m-Y\")}`;\n } else if (this.mode === ZDatePickerMode.MONTHS) {\n return `${flatpickr.formatDate(date, \"m-Y\")}`;\n }\n\n return `${flatpickr.formatDate(date, \"d-m-Y - H:i\")}`;\n }\n\n private onStopTyping(value): void {\n let text = value.detail.value;\n\n if (this.mode === ZDatePickerMode.MONTHS) {\n text = \"01-\".concat(value.detail.value);\n }\n\n const englishData = text.split(\"-\");\n const time = this.mode === ZDatePickerMode.DATE_TIME ? `T${englishData[3]}:00` : \"\";\n const englishParsedData = `${englishData[2]}-${englishData[1]}-${englishData[0]}${time}`.split(\" \").join(\"\");\n\n const isValidDate = validateDate(englishParsedData, this.mode === ZDatePickerMode.DATE_TIME);\n\n if (text === \"\") {\n this.inputError = false;\n this.picker.setDate([]);\n this.dateSelect.emit(null);\n } else if (!isValidDate) {\n this.inputError = true;\n this.dateSelect.emit(null);\n } else if (isValidDate) {\n this.inputError = false;\n this.picker.setDate([value.detail.value]);\n this.dateSelect.emit(this.formatDate(new Date(englishParsedData)));\n }\n }\n\n private renderSlottedContent(): HTMLDivElement {\n return (\n <div class={`${this.datePickerId}-hidden`}>\n <input\n class=\"hidden-input\"\n data-input\n name={this.name}\n value={this.value}\n ></input>\n <slot name=\"toggle\"></slot>\n </div>\n );\n }\n\n private renderZInput(): HTMLDivElement {\n return (\n <div class={`${this.datePickerId}-container`}>\n <z-input\n data-input=\"data-input\"\n htmlAriaLabel={this.htmlAriaLabel}\n label={this.label}\n class={this.datePickerId}\n type={InputType.TEXT}\n icon=\"event\"\n message={false}\n name={this.name}\n tabindex=\"0\"\n value={this.value}\n onStopTyping={(value) => {\n this.onStopTyping(value);\n }}\n onStartTyping={() => {\n this.inputError = false;\n }}\n ></z-input>\n </div>\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div\n class={{\n \"flatpickr-toggle-container\": true,\n [this.flatpickrPosition]: true,\n [this.mode]: true,\n }}\n >\n {this.hasChildren ? this.renderSlottedContent() : this.renderZInput()}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZFileUpload","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","type","ZFileUploadType","DEFAULT","uploadBtnLabel","dragAndDropLabel","uploadClickableMessage","uploadMessage","errorModalTitle","uploadedFilesLabel","hasFileSection","inputName","showErrors","_type","files","invalidFiles","Map","onFileRemoved","e","removeFile","detail","fileName","fileDroppedListener","input","checkFilesValidity","getFiles","index","findIndex","file","name","splice","length","Array","from","forEach","fileSize","size","fileFormatOk","acceptedFormat","split","some","ext","toLowerCase","endsWith","trim","fileSizeOk","fileMaxSize","find","f","fileInput","emit","value","sizeError","formatError","errors","cause","message","filter","Boolean","set","fileError","resetErrors","onFilesChange","target","componentWillLoad","mql","window","matchMedia","matches","addEventListener","componentDidUpdate","errorModal","open","renderDescription","cssClass","description","h","id","class","renderAllowedFilesMessage","fileFormatString","fileWeightString","fileFormat","map","string","substring","toUpperCase","join","defaultMessage","undefined","allowedFilesMessage","renderFileSection","hidden","renderInput","multiple","onChange","accept","ref","val","renderUploadButton","onClick","click","onKeyPress","code","preventDefault","variant","buttonVariant","icon","renderUploadLink","tabIndex","renderDefaultMode","renderDragDropMode","renderFileErrors","prefix","replace","render","Host","key","mainTitle","modalid","modaltitle","onModalClose","onModalBackgroundClick","slot","errorModalMessage"],"sources":["src/components/file-upload/z-file-upload/styles.css?tag=z-file-upload&encapsulation=scoped","src/components/file-upload/z-file-upload/index.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host .modal-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: calc(var(--space-unit) * 2);\n row-gap: calc(var(--space-unit) * 2);\n}\n\n:host .modal-wrapper > .files-wrapper {\n display: flex;\n flex-direction: column;\n margin: calc(var(--space-unit) * 4);\n gap: var(--space-unit);\n}\n\n:host .text-container {\n display: flex;\n flex-direction: column;\n margin: auto;\n text-align: center;\n}\n\n:host .text-container .upload-link {\n color: var(--color-text-link-blue);\n cursor: pointer;\n text-decoration: underline;\n}\n\n:host .text-container .upload-link:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none !important;\n}\n\n:host .text-container .upload-link-text {\n margin-bottom: var(--space-unit);\n}\n\n:host input[type=\"file\"] {\n display: none;\n}\n\n:host #title + #description {\n margin-top: var(--space-unit);\n}\n\n:host > * + z-button,\n:host > .files-container + *,\n:host > .files-container:not(:first-child) {\n margin-top: calc(var(--space-unit) * 3);\n}\n\n:host > .files-container.hidden {\n display: none;\n}\n\n:host > .files-container > .uploaded-files-label {\n margin-bottom: calc(var(--space-unit) * 2);\n}\n\n:host > .files-container > .files-wrapper {\n display: flex;\n flex-wrap: wrap;\n column-gap: calc(var(--space-unit) * 2);\n row-gap: calc(var(--space-unit) * 2);\n}\n\n/* Tablet breakpoint */\n@media (min-width: 768px) {\n :host > .container > z-button {\n align-self: flex-start;\n }\n\n :host .modal-wrapper {\n padding: calc(var(--space-unit) * 3);\n }\n}\n\n@media (min-width: 1152px) {\n :host .modal-wrapper {\n padding: calc(var(--space-unit) * 4);\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n State,\n h,\n} from \"@stencil/core\";\nimport {ButtonVariant, ZFileUploadType} from \"../../../beans\";\n\nexport type ZFileUploadError = {cause: \"format\" | \"size\"; message: string};\n\n@Component({\n tag: \"z-file-upload\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZFileUpload implements ComponentInterface {\n /** Prop indicating the file upload type - can be default or dragdrop */\n @Prop({reflect: true})\n type: ZFileUploadType = ZFileUploadType.DEFAULT;\n\n /** Prop indicating the button variant*/\n @Prop()\n buttonVariant?: ButtonVariant;\n\n /** Prop indicating the accepted file type: ex \".pdf, .doc, .jpg\" */\n @Prop()\n acceptedFormat?: string;\n\n /** Max file dimension in Megabyte */\n @Prop()\n fileMaxSize?: number;\n\n /** Title */\n @Prop()\n mainTitle?: string;\n\n /** Description */\n @Prop()\n description?: string;\n\n /** upoload button label */\n @Prop()\n uploadBtnLabel?: string = \"allega\";\n\n /** drag & drop button label */\n @Prop()\n dragAndDropLabel?: string = \"Rilascia i file in questa area per allegarli.\";\n\n /** allowed file message */\n @Prop()\n allowedFilesMessage?: string;\n\n /** upload clickable message */\n @Prop()\n uploadClickableMessage?: string = \"Carica\";\n\n /** upload message */\n @Prop()\n uploadMessage?: string = \"o trascina dal tuo computer\";\n\n /** error modal title */\n @Prop()\n errorModalTitle?: string = \"Errore di caricamento\";\n\n /** error modal message */\n @Prop()\n errorModalMessage?: string;\n\n /** loaded files label */\n @Prop()\n uploadedFilesLabel?: string = \"File appena caricati\";\n\n /** uploaded files history rendering */\n @Prop()\n hasFileSection?: boolean = true;\n\n /** Value to set on the file input's `name` attribute (for use with forms) */\n @Prop()\n inputName? = \"z-file-upload\";\n\n /**\n * Whether to show errors in the internal modal or leave the handling to the app.\n * Errors will still be emitted.\n */\n @Prop()\n showErrors = true;\n\n /** Internal store of the component type. It will change when viewport goes from desktop to tablet/mobile and vice versa */\n @State()\n private _type: ZFileUploadType = this.type;\n\n /** Files added by the user */\n @State()\n files: File[] = [];\n\n /** Map of files whose upload caused an error and the relative errors, with the cause and a message */\n @State()\n invalidFiles: Map<string, ZFileUploadError[]> = new Map<string, ZFileUploadError[]>();\n\n /** Input ref */\n @State()\n private input: HTMLInputElement;\n\n /** Emitted when user select one or more files */\n @Event()\n fileInput: EventEmitter<File>;\n\n /**\n * Emits an array of error messages related to one or more files not allowed.\n * Emitted when some file is dropped or selected.\n */\n @Event()\n fileError: EventEmitter<{file: string; errors: ZFileUploadError[]}>;\n\n @Element() host: HTMLZFileUploadElement;\n\n private errorModal: HTMLZModalElement;\n\n /** Listen `removeFile` event sent from z-file component */\n @Listen(\"removeFile\")\n onFileRemoved(e: CustomEvent): void {\n this.removeFile(e.detail.fileName);\n }\n\n /** Listen fileDropped event sent from z-dragdrop-area component */\n @Listen(\"fileDropped\")\n fileDroppedListener(e: CustomEvent): void {\n this.input.files = e.detail;\n this.checkFilesValidity(this.input.files);\n }\n\n /** Get the list of uploaded files */\n @Method()\n async getFiles(): Promise<File[]> {\n return this.files;\n }\n\n /** Remove a previously uploaded file */\n @Method()\n async removeFile(fileName: string): Promise<void> {\n const files = this.files;\n const index = files.findIndex((file) => file.name === fileName);\n if (index >= 0) {\n files.splice(index, 1);\n this.files = [...files];\n }\n }\n\n private checkFilesValidity(files: FileList): Map<string, string[]> {\n if (!files.length) {\n return;\n }\n\n Array.from(files).forEach((file: File) => {\n const fileSize = file.size / 1024 / 1024;\n const fileFormatOk = this.acceptedFormat\n .split(\",\")\n .some((ext: string) => file.name.toLowerCase().endsWith(ext.trim()));\n const fileSizeOk = fileSize <= this.fileMaxSize;\n if (fileSizeOk && fileFormatOk && !this.files.find((f) => f.name === file.name)) {\n this.files = [...this.files, file];\n this.fileInput.emit(file);\n this.input.value = \"\";\n\n return;\n }\n\n const sizeError = `Il file ${file.name} supera il limite di ${this.fileMaxSize}MB`;\n const formatError = `Il file ${file.name} ha un formato non supportato`;\n const errors = [\n !fileSizeOk && {cause: \"size\" as const, message: sizeError},\n !fileFormatOk && {cause: \"format\" as const, message: formatError},\n ].filter(Boolean);\n this.invalidFiles.set(file.name, errors);\n this.invalidFiles = new Map(this.invalidFiles); // trigger state update\n this.fileError.emit({file: file.name, errors});\n });\n }\n\n private resetErrors(): void {\n this.invalidFiles = new Map<string, ZFileUploadError[]>();\n }\n\n private onFilesChange(e: Event): void {\n this.checkFilesValidity((e.target as HTMLInputElement).files);\n }\n\n componentWillLoad(): void {\n // force default type on mobile and tablet viewport\n const mql = window.matchMedia(\"(max-width: 1151px)\");\n this._type = mql.matches ? ZFileUploadType.DEFAULT : this.type;\n mql.addEventListener(\"change\", (e) => {\n this._type = e.matches ? ZFileUploadType.DEFAULT : this.type;\n });\n }\n\n componentDidUpdate(): void {\n if (!this.showErrors || !this.invalidFiles.size) {\n return;\n }\n\n this.errorModal.open();\n }\n\n private renderDescription(cssClass): HTMLElement | undefined {\n if (!this.description) {\n return;\n }\n\n return (\n <span\n id=\"description\"\n class={cssClass}\n >\n {this.description}\n </span>\n );\n }\n\n private renderAllowedFilesMessage(): HTMLElement {\n let fileFormatString = \"\";\n let fileWeightString = \"\";\n\n if (this.acceptedFormat) {\n const fileFormat = this.acceptedFormat\n .split(\", \")\n .map((string) => string.substring(1).toUpperCase())\n .join(\", \");\n fileFormatString = ` nei formati ${fileFormat}`;\n }\n\n if (this.fileMaxSize) {\n fileWeightString = ` per un massimo di ${this.fileMaxSize}MB di peso`;\n }\n\n const defaultMessage =\n fileFormatString || fileWeightString ? `Puoi allegare file${fileFormatString}${fileWeightString}.` : undefined;\n\n if (!this.allowedFilesMessage && !defaultMessage) {\n return;\n }\n\n return <span class=\"allowed-files-message body-3\">{this.allowedFilesMessage || defaultMessage}</span>;\n }\n\n private renderFileSection(): HTMLElement {\n if (!this.hasFileSection) {\n return;\n }\n\n return (\n <section class={{\"files-container\": true, \"hidden\": !this.files.length}}>\n <div class=\"uploaded-files-label heading-3-sb\">{this.uploadedFilesLabel}</div>\n <div class=\"files-wrapper\">\n <slot name=\"files\" />\n </div>\n </section>\n );\n }\n\n private renderInput(): HTMLInputElement {\n return (\n <input\n type=\"file\"\n name={this.inputName}\n multiple\n onChange={(e) => this.onFilesChange(e)}\n accept={this.acceptedFormat}\n aria-labelledby={this.description ? \"description\" : undefined}\n ref={(val) => (this.input = val)}\n />\n );\n }\n\n private renderUploadButton(): unknown[] {\n return [\n <z-button\n onClick={() => this.input.click()}\n onKeyPress={(e) => {\n if (e.code == \"Space\" || e.code == \"Enter\") {\n e.preventDefault();\n this.input.click();\n }\n }}\n id=\"fileSelect\"\n variant={this.buttonVariant}\n icon=\"upload\"\n >\n {this.uploadBtnLabel}\n </z-button>,\n this.renderInput(),\n ];\n }\n\n private renderUploadLink(): unknown[] {\n return [\n this.renderInput(),\n <span class=\"body-1 upload-link-text\">\n <span\n tabIndex={0}\n class=\"body-1-sb upload-link\"\n onClick={() => this.input.click()}\n onKeyPress={(e) => {\n if (e.code == \"Space\" || e.code == \"Enter\") {\n e.preventDefault();\n this.input.click();\n }\n }}\n >\n {this.uploadClickableMessage}\n </span>{\" \"}\n {this.uploadMessage}\n </span>,\n ];\n }\n\n private renderDefaultMode(): unknown[] {\n return [\n this.renderDescription(\"body-3-sb\"),\n this.renderAllowedFilesMessage(),\n this.renderFileSection(),\n this.renderUploadButton(),\n ];\n }\n\n private renderDragDropMode(): unknown[] {\n return [\n this.renderFileSection(),\n <z-dragdrop-area drag-and-drop-label={this.dragAndDropLabel}>\n <div class=\"text-container\">\n {this.renderDescription(\"body-1\")}\n {this.renderUploadLink()}\n {this.renderAllowedFilesMessage()}\n </div>\n </z-dragdrop-area>,\n ];\n }\n\n private renderFileErrors(): HTMLElement[] {\n return Array.from(this.invalidFiles).map(([fileName, errors]) => {\n const prefix = `Il file ${fileName}`;\n\n return (\n <span class=\"error-message\">\n Il file <span class=\"body-3-sb\">{fileName}</span>\n {errors.map(({message}) => message.replace(prefix, \"\")).join(\" e \")}.\n </span>\n );\n });\n }\n\n render(): HTMLZFileUploadElement {\n return (\n <Host>\n {this.mainTitle && (\n <div\n id=\"title\"\n class=\"heading-3-sb\"\n >\n {this.mainTitle}\n </div>\n )}\n {this._type == ZFileUploadType.DEFAULT ? this.renderDefaultMode() : this.renderDragDropMode()}\n {!!this.invalidFiles.size && this.showErrors && (\n <z-modal\n modalid={`file-upload-${this.type}-error-modal`}\n ref={(val) => (this.errorModal = val)}\n modaltitle={this.errorModalTitle}\n onModalClose={() => this.resetErrors()}\n onModalBackgroundClick={() => this.resetErrors()}\n >\n <div slot=\"modalContent\">\n <div class=\"modal-wrapper body-3\">\n {this.errorModalMessage ? this.errorModalMessage : this.renderFileErrors()}\n </div>\n </div>\n </z-modal>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZFile","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","allowPopover","popoverVisible","removeFileHandler","removeFile","emit","fileName","el","remove","onMouseOver","onMouseLeave","onInteractiveIconClick","componentDidLoad","elementHasEllipsis","window","innerWidth","Breakpoints","TABLET","_b","_a","icon","focus","call","ellipsis","offsetWidth","scrollWidth","render","h","Host","key","open","position","PopoverPosition","AUTO","bindTo","chip","class","innerText","ref","id","fileNumber","interactiveIcon","type","ZChipType","DEFAULT","tabIndex"],"sources":["src/components/file-upload/z-file/styles.css?tag=z-file&encapsulation=scoped","src/components/file-upload/z-file/index.tsx"],"sourcesContent":[":host {\n position: relative;\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host > z-popover {\n z-index: 10;\n}\n\n:host > z-popover > .tooltip-content {\n white-space: nowrap;\n}\n\n:host > z-chip span {\n display: block;\n overflow: hidden;\n max-width: 250px;\n letter-spacing: 0.32px;\n line-height: 1.33;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","import {Component, ComponentInterface, Element, Event, EventEmitter, Host, Listen, Prop, State, h} from \"@stencil/core\";\nimport {PopoverPosition, ZChipType} from \"../../../beans\";\nimport {Breakpoints} from \"../../../constants/breakpoints\";\n\n@Component({\n tag: \"z-file\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZFile implements ComponentInterface {\n private icon: HTMLElement;\n\n private ellipsis?: HTMLSpanElement;\n\n private chip?: HTMLZChipElement;\n\n /** File chip id */\n @Prop()\n fileNumber: number;\n\n /** File name */\n @Prop()\n fileName: string;\n\n @State()\n allowPopover = false;\n\n @State()\n popoverVisible = false;\n\n @Element() el: HTMLZFileElement;\n\n /** Emitted when a z-file component is removed from the DOM */\n @Event()\n removeFile: EventEmitter;\n\n private removeFileHandler(): void {\n this.removeFile.emit({fileName: this.fileName});\n this.el.remove();\n }\n\n @Listen(\"mouseover\")\n onMouseOver(): void {\n this.popoverVisible = true;\n }\n\n @Listen(\"mouseleave\")\n onMouseLeave(): void {\n this.popoverVisible = false;\n }\n\n @Listen(\"interactiveIconClick\")\n onInteractiveIconClick(): void {\n this.removeFileHandler();\n }\n\n componentDidLoad(): void {\n if (this.elementHasEllipsis() && window.innerWidth > Breakpoints.TABLET) {\n this.allowPopover = true;\n }\n\n this.icon?.focus?.();\n }\n\n private elementHasEllipsis(): boolean {\n return this.ellipsis.offsetWidth < this.ellipsis.scrollWidth;\n }\n\n render(): HTMLZFileElement {\n return (\n <Host>\n {this.allowPopover && (\n <z-popover\n open={this.popoverVisible}\n position={PopoverPosition.AUTO}\n bindTo={this.chip}\n >\n <span class=\"body-5 tooltip-content\">{this.ellipsis.innerText}</span>\n </z-popover>\n )}\n <z-chip\n ref={(el) => (this.chip = el as HTMLZChipElement)}\n id={`chip-${this.fileNumber}`}\n interactiveIcon=\"multiply-circled\"\n type={ZChipType.DEFAULT}\n >\n <span\n ref={(el) => (this.ellipsis = el as HTMLSpanElement)}\n tabIndex={-1}\n >\n {this.fileName}\n </span>\n </z-chip>\n </Host>\n );\n }\n}\n"],"mappings":"sTAAA,MAAMA,EAAY,IAAM,wY,MCUXC,EAAKC,EAAA,MAAAD,UAAAE,EANlB,WAAAC,CAAAC,G,mFAsBEC,KAAAC,aAAe,MAGfD,KAAAE,eAAiB,KAoElB,CA5DS,iBAAAC,GACNH,KAAKI,WAAWC,KAAK,CAACC,SAAUN,KAAKM,WACrCN,KAAKO,GAAGC,Q,CAIV,WAAAC,GACET,KAAKE,eAAiB,I,CAIxB,YAAAQ,GACEV,KAAKE,eAAiB,K,CAIxB,sBAAAS,GACEX,KAAKG,mB,CAGP,gBAAAS,G,QACE,GAAIZ,KAAKa,sBAAwBC,OAAOC,WAAaC,EAAYC,OAAQ,CACvEjB,KAAKC,aAAe,I,EAGtBiB,GAAAC,EAAAnB,KAAKoB,QAAI,MAAAD,SAAA,SAAAA,EAAEE,SAAK,MAAAH,SAAA,SAAAA,EAAAI,KAAAH,E,CAGV,kBAAAN,GACN,OAAOb,KAAKuB,SAASC,YAAcxB,KAAKuB,SAASE,W,CAGnD,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACF7B,KAAKC,cACJ0B,EAAA,aAAAE,IAAA,2CACEC,KAAM9B,KAAKE,eACX6B,SAAUC,EAAgBC,KAC1BC,OAAQlC,KAAKmC,MAEbR,EAAA,QAAAE,IAAA,2CAAMO,MAAM,0BAA0BpC,KAAKuB,SAASc,YAGxDV,EAAA,UAAAE,IAAA,2CACES,IAAM/B,GAAQP,KAAKmC,KAAO5B,EAC1BgC,GAAI,QAAQvC,KAAKwC,aACjBC,gBAAgB,mBAChBC,KAAMC,EAAUC,SAEhBjB,EAAA,QAAAE,IAAA,2CACES,IAAM/B,GAAQP,KAAKuB,SAAWhB,EAC9BsC,UAAU,GAET7C,KAAKM,W","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZInfoBox","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","isclosable","closeButtonAriaLabel","emitInfoBoxClose","infoBoxClose","emit","boxid","render","h","Host","key","id","class","leftIcon","name","onClick"],"sources":["src/components/z-info-box/styles.css?tag=z-info-box&encapsulation=shadow","src/components/z-info-box/index.tsx"],"sourcesContent":[":host,\n*,\n::slotted(*) {\n box-sizing: border-box;\n}\n\n:host {\n /**\n * @prop --z-info-box--border-color: The border color of the info box.\n * @prop --z-info-box--background-color: The background color of the info box.\n * @prop --z-info-box--left-icon-color: The fill color of the icon displayed on the top left of the info box. If `--z-info-box--border-color` is set, this property will default to that value. Otherwise, it will default to `--color-primary01-icon`.\n */\n --z-info-box--border-color: unset;\n --z-info-box--left-icon-color: var(--z-info-box--border-color, var(--color-primary01-icon));\n --z-info-box--background-color: var(--color-primary03);\n\n display: flex;\n flex-direction: column;\n padding: calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);\n border: var(--border-size-medium) solid var(--z-info-box--border-color, transparent);\n background: var(--z-info-box--background-color);\n border-radius: var(--border-radius);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n gap: calc(var(--space-unit) * 2);\n}\n\n.main-content {\n display: flex;\n align-items: flex-start;\n}\n\n/* visually vertically align the icons to the first line of the text content */\n.main-content .left-icon,\n.close-button {\n display: flex;\n height: 1.25rem;\n align-items: center;\n}\n\n.main-content .left-icon z-icon {\n --z-icon-width: 1rem;\n --z-icon-height: 1rem;\n\n fill: var(--z-info-box--left-icon-color);\n}\n\n::slotted([slot=\"content\"]) {\n color: var(--color-default-text);\n font-size: var(--font-size-2);\n line-height: 1.25rem;\n}\n\n.main-content .left-icon + ::slotted([slot=\"content\"]) {\n margin-left: var(--space-unit);\n}\n\n:host([isclosable]) ::slotted([slot=\"content\"]) {\n margin-right: calc(var(--space-unit) * 2);\n}\n\n.close-button {\n padding: 0;\n border: none;\n margin: 0;\n margin-left: auto;\n background: none;\n cursor: pointer;\n}\n\n.close-button z-icon {\n fill: var(--color-primary01-icon);\n}\n","import {Component, ComponentInterface, Event, EventEmitter, Host, Prop, h} from \"@stencil/core\";\nimport {IconName} from \"../../constants/iconset\";\n\n/**\n * @slot content - set the info box content\n */\n@Component({\n tag: \"z-info-box\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZInfoBox implements ComponentInterface {\n /** info box unique id */\n @Prop()\n boxid: string;\n\n /** render close icon */\n @Prop({reflect: true})\n isclosable = true;\n\n /** Aria label for the close button */\n @Prop()\n closeButtonAriaLabel = \"Chiudi pannello informazioni\";\n\n /**\n * Name of the icon to display on the top left of the info box.\n * The icon's color will be inherited from the border color set through the `--z-info-box--border-color` CSS variable, if set.\n * Otherwise it can be customized using the `--z-info-box--left-icon-color` CSS variable.\n * If none of them is set, the icon will be colored using the `--color-primary01-icon` token.\n */\n @Prop()\n leftIcon: IconName;\n\n /** emitted on close icon click */\n @Event()\n infoBoxClose: EventEmitter<{boxid: string}>;\n\n private emitInfoBoxClose(): void {\n this.infoBoxClose.emit({boxid: this.boxid});\n }\n\n render(): HTMLDivElement {\n return (\n <Host id={this.boxid}>\n <div class=\"main-content\">\n {this.leftIcon && (\n <div class=\"left-icon\">\n <z-icon name={this.leftIcon} />\n </div>\n )}\n\n <slot name=\"content\" />\n\n {this.isclosable && (\n <button\n class=\"close-button\"\n aria-label={this.closeButtonAriaLabel}\n onClick={() => this.emitInfoBoxClose()}\n >\n <z-icon name=\"multiply\" />\n </button>\n )}\n </div>\n\n <slot name=\"additional-content\" />\n </Host>\n );\n }\n}\n"],"mappings":"wKAAA,MAAMA,EAAY,IAAM,qvC,MCWXC,EAAQC,EAAA,MAAAD,UAAAE,EALrB,WAAAC,CAAAC,G,6GAYEC,KAAAC,WAAa,KAIbD,KAAAE,qBAAuB,8BA8CxB,CA/BS,gBAAAC,GACNH,KAAKI,aAAaC,KAAK,CAACC,MAAON,KAAKM,O,CAGtC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,GAAIX,KAAKM,OACbE,EAAA,OAAAE,IAAA,2CAAKE,MAAM,gBACRZ,KAAKa,UACJL,EAAA,OAAAE,IAAA,2CAAKE,MAAM,aACTJ,EAAA,UAAAE,IAAA,2CAAQI,KAAMd,KAAKa,YAIvBL,EAAA,QAAAE,IAAA,2CAAMI,KAAK,YAEVd,KAAKC,YACJO,EAAA,UAAAE,IAAA,2CACEE,MAAM,eAAc,aACRZ,KAAKE,qBACjBa,QAAS,IAAMf,KAAKG,oBAEpBK,EAAA,UAAAE,IAAA,2CAAQI,KAAK,eAKnBN,EAAA,QAAAE,IAAA,2CAAMI,KAAK,uB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","typographyCss","ZInputRange","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","disabled","htmlId","randomId","max","min","showEdges","step","value","currentValue","showValueTooltip","needsNativeValueSync","ariaLabel","_a","htmlAriaLabel","orientation","Orientation","VERTICAL","label","undefined","tooltipPosition","valuePosition","PopoverPosition","LEFT","TOP","updateCurrentValue","nextValue","Number","isNaN","internals","setFormValue","toString","getCurrentRatio","range","ratio","Math","updateProgress","progress","host","style","setProperty","_b","syncCurrentValueFromNativeInput","inputRef","valueAsNumber","onInput","event","stopPropagation","rangeInput","emit","onChange","rangeChange","onConstraintsChange","componentDidLoad","componentDidRender","render","h","Host","key","class","htmlFor","ref","el","type","id","onFocus","onBlur","tooltipGuideRef","position","bindTo","open","closable"],"sources":["src/components/z-input-range/styles.css?tag=z-input-range&encapsulation=shadow","src/tokens/typography.css?tag=z-input-range&encapsulation=shadow","src/components/z-input-range/index.tsx"],"sourcesContent":[":host,\n* {\n box-sizing: border-box;\n}\n\n:host {\n /* Internal CSS variable used to store the progress of the input range as a percentage.\n Needed to color the progress in the runnable track of the input (only Firefox natively provides a pseudo-element to do that: `::-moz-range-progress`).\n The value is updated by the component. */\n --progress: 0%;\n\n /* Internal CSS variable used to store the ratio of the current value to the total range, used for positioning the tooltip guide.\n The value is updated by the component. */\n --progress-ratio: 0;\n --z-input-range-thumb-size: calc(var(--space-unit) * 3);\n\n display: flex;\n width: fit-content;\n height: fit-content;\n flex-direction: column;\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host([size=\"small\"]) {\n --z-input-range-thumb-size: calc(var(--space-unit) * 2);\n}\n\n:host([size=\"x-small\"]) {\n --z-input-range-thumb-size: calc(var(--space-unit) * 1.5);\n}\n\n:host([orientation=\"vertical\"]) {\n height: 100%;\n flex-direction: row;\n}\n\n.input-container {\n /* Thickness of the track. It is calculated as one-third of the thumb size. */\n --z-input-range-track-size: calc(var(--z-input-range-thumb-size) / 3);\n\n position: relative;\n display: flex;\n width: 100%;\n height: 100%;\n}\n\nlabel.z-label {\n padding: 0;\n margin-bottom: calc(var(--space-unit) * 1.5);\n}\n\n:host([orientation=\"vertical\"]) label.z-label {\n display: none;\n}\n\ninput[type=\"range\"] {\n --main-color: var(--color-primary01);\n\n width: 100%;\n height: var(--z-input-range-thumb-size);\n padding: 0;\n margin: 0;\n appearance: none;\n background: transparent;\n writing-mode: horizontal-tb;\n}\n\ninput[type=\"range\"]:hover,\ninput[type=\"range\"]:hover ~ z-tooltip {\n --main-color: var(--color-hover-primary);\n}\n\ninput[type=\"range\"]:focus:focus-visible {\n outline: none;\n}\n\ninput[type=\"range\"]:disabled,\ninput[type=\"range\"]:disabled ~ z-tooltip {\n --main-color: var(--color-form-disabled03);\n\n cursor: default;\n}\n\ninput[type=\"range\"]::-webkit-slider-runnable-track {\n width: 100%;\n height: var(--z-input-range-track-size);\n border: none;\n appearance: none;\n background:\n linear-gradient(var(--main-color), var(--main-color)) 0 / var(--progress) 100% no-repeat,\n var(--color-surface03);\n border-radius: var(--border-radius);\n}\n\n:host([orientation=\"vertical\"]) input[type=\"range\"] {\n width: var(--z-input-range-thumb-size);\n height: 100%;\n direction: rtl;\n writing-mode: vertical-lr;\n}\n\n:host([orientation=\"vertical\"]) input[type=\"range\"]::-webkit-slider-runnable-track {\n width: var(--z-input-range-track-size);\n height: 100%;\n background:\n linear-gradient(var(--main-color), var(--main-color)) 0 100% / 100% var(--progress) no-repeat,\n var(--color-surface03);\n}\n\ninput[type=\"range\"]::-webkit-slider-thumb {\n width: var(--z-input-range-thumb-size);\n height: var(--z-input-range-thumb-size);\n box-sizing: border-box;\n border: calc(var(--z-input-range-thumb-size) / 4.8) solid var(--main-color);\n margin-top: calc((var(--z-input-range-track-size) - var(--z-input-range-thumb-size)) / 2);\n appearance: none;\n background-color: var(--color-surface01);\n border-radius: 50%;\n}\n\n:host([orientation=\"vertical\"]) input[type=\"range\"]::-webkit-slider-thumb {\n margin-top: 0;\n margin-left: calc((var(--z-input-range-track-size) - var(--z-input-range-thumb-size)) / 2);\n}\n\ninput[type=\"range\"]:not(:disabled)::-webkit-slider-runnable-track {\n cursor: pointer;\n}\n\ninput[type=\"range\"]:not(:disabled)::-webkit-slider-thumb {\n cursor: grab;\n}\n\ninput[type=\"range\"]:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: var(--shadow-focus-primary);\n}\n\ninput[type=\"range\"]:active:not(:disabled)::-webkit-slider-thumb {\n cursor: grabbing;\n}\n\n/* --- Firefox styles --- */\n\n/* All styles must be duplicated, because using comma-separated selectors\n(like `input[type=\"range\"]::-webkit-slider-thumb, input[type=\"range\"]::-moz-range-thumb`) would break webkit styles...\n*/\ninput[type=\"range\"]::-moz-range-track {\n width: 100%;\n height: var(--z-input-range-track-size);\n border: none;\n appearance: none;\n background: var(--color-surface03);\n border-radius: var(--border-radius);\n}\n\n:host([orientation=\"vertical\"]) input[type=\"range\"]::-moz-range-track {\n width: var(--z-input-range-track-size);\n height: 100%;\n}\n\ninput[type=\"range\"]::-moz-range-progress {\n height: var(--z-input-range-track-size);\n border: none;\n background: var(--main-color);\n border-radius: var(--border-radius);\n}\n\n:host([orientation=\"vertical\"]) input[type=\"range\"]::-moz-range-progress {\n width: var(--z-input-range-track-size);\n height: auto;\n}\n\ninput[type=\"range\"]::-moz-range-thumb {\n width: var(--z-input-range-thumb-size);\n height: var(--z-input-range-thumb-size);\n box-sizing: border-box;\n border: calc(var(--z-input-range-thumb-size) / 4.8) solid var(--main-color);\n margin-top: calc((var(--z-input-range-track-size) - var(--z-input-range-thumb-size)) / 2);\n appearance: none;\n background-color: var(--color-surface01);\n border-radius: 50%;\n}\n\n:host([orientation=\"vertical\"]) input[type=\"range\"]::-moz-range-thumb {\n margin-top: 0;\n margin-left: calc((var(--z-input-range-track-size) - var(--z-input-range-thumb-size)) / 2);\n}\n\ninput[type=\"range\"]:not(:disabled)::-moz-range-track,\ninput[type=\"range\"]:not(:disabled)::-moz-range-progress {\n cursor: pointer;\n}\n\ninput[type=\"range\"]:not(:disabled)::-moz-range-thumb {\n cursor: grab;\n}\n\ninput[type=\"range\"]:active:not(:disabled)::-moz-range-thumb {\n cursor: grabbing;\n}\n\ninput[type=\"range\"]:focus:not(:active)::-moz-range-thumb {\n box-shadow: var(--shadow-focus-primary);\n}\n\n/* --- End of Firefox styles --- */\n\n.tooltip-guide {\n --progress-position: calc(\n (var(--progress-ratio) * (100% - var(--z-input-range-thumb-size))) + (var(--z-input-range-thumb-size) / 2)\n );\n\n position: absolute;\n z-index: -1;\n top: 0;\n\n /* `--progress` is good for painting the filled track, but not enough for representing the thumb center.\n * The thumb center cannot go from 0 to 100%:\n * at min it sits at thumbSize/2, and at max it sits at width - thumbSize/2.\n * So we map a normalized ratio (0..1) over the usable travel distance\n * (width - thumbSize), then add thumbSize/2 to get the correct center coordinate.\n */\n left: var(--progress-position);\n width: var(--z-input-range-thumb-size);\n height: var(--z-input-range-thumb-size);\n background: transparent;\n pointer-events: none;\n transform: translateX(-50%);\n}\n\n:host([orientation=\"vertical\"]) .tooltip-guide {\n top: auto;\n bottom: var(--progress-position);\n left: 0;\n transform: translateY(50%);\n}\n\nz-tooltip {\n --main-color: var(--color-primary01);\n --z-tooltip-theme--surface: var(--main-color);\n --z-tooltip-theme--text: var(--color-text-inverse);\n --z-tooltip-padding: calc(var(--space-unit) / 2);\n}\n\nz-tooltip .current-value {\n min-width: calc(var(--space-unit) * 3.5);\n}\n\n.edges {\n display: flex;\n justify-content: space-between;\n}\n\n.edges :is(.min, .max) {\n min-width: var(--z-input-range-thumb-size); /* visually align single digit values to the center of the thumb */\n text-align: center;\n}\n\n:host([orientation=\"vertical\"]) .edges {\n display: none;\n}\n",":root {\n /* font-family */\n --font-family-sans: \"IBM Plex Sans\", sans-serif;\n --font-family-serif: \"IBM Plex Serif\", serif;\n\n /* font-weight */\n --font-lt: 300;\n --font-rg: 400;\n --font-sb: 600;\n --font-bd: 700;\n\n /* font-size type scale */\n --font-size-1: 0.75rem; /* 12px */\n --font-size-2: 0.875rem; /* 14px */\n --font-size-3: 1rem; /* assuming 16px */\n --font-size-4: 1.125rem; /* 18px */\n --font-size-5: 1.25rem; /* 20px */\n --font-size-6: 1.5rem; /* 24px */\n --font-size-7: 1.75rem; /* 28px */\n --font-size-8: 2rem; /* 32px */\n --font-size-9: 2.25rem; /* 36px */\n --font-size-10: 2.625rem; /* 42px */\n --font-size-11: 3rem; /* 48px */\n --font-size-12: 3.375rem; /* 54px */\n --font-size-13: 3.75rem; /* 60px */\n --font-size-14: 4.25rem; /* 68px */\n --font-size-15: 4.75rem; /* 76px */\n --font-size-16: 5.25rem; /* 84px */\n --font-size-17: 5.75rem; /* 92px */\n\n /* cssprops to use with `font` shorthand property */\n --section-title-1: var(--font-sb) var(--font-size-11) / 1.083 var(--font-family-serif);\n --section-title-2: var(--font-sb) var(--font-size-10) / 1.142 var(--font-family-serif);\n --section-title-3: var(--font-sb) var(--font-size-9) / 1.222 var(--font-family-serif);\n --section-title-4: var(--font-sb) var(--font-size-8) / 1.25 var(--font-family-serif);\n --section-title-5: var(--font-sb) var(--font-size-7) / 1.2857 var(--font-family-serif);\n --section-title-6: var(--font-sb) var(--font-size-6) / 1.333 var(--font-family-serif);\n}\n\n/* Typography classes */\n.heading-1,\n.heading-1-sb,\n.heading-1-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n}\n\n.heading-2,\n.heading-2-sb,\n.heading-2-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n}\n\n.heading-3,\n.heading-3-sb,\n.heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n}\n\n.heading-4,\n.heading-4-sb,\n.heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n}\n\n.body-1,\n.body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n}\n\n.body-2,\n.body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n}\n\n.body-3,\n.body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n}\n\n.body-4,\n.body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n}\n\n.body-5,\n.body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n}\n\n.interactive-1,\n.interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n}\n\n.interactive-2,\n.interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n}\n\n.interactive-3,\n.interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n}\n\n.helper,\n.helper-sb {\n font-size: var(--font-size-1);\n font-style: italic;\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n}\n\n/* section title */\n.section-title-1 {\n font: var(--section-title-1);\n}\n\n.section-title-2 {\n font: var(--section-title-2);\n}\n\n.section-title-3 {\n font: var(--section-title-3);\n}\n\n.section-title-4 {\n font: var(--section-title-4);\n}\n\n.section-title-5 {\n font: var(--section-title-5);\n}\n\n.section-title-6 {\n font: var(--section-title-6);\n}\n\n/* heading-1/2 for desktop and wide viewports */\n@media (min-width: 1152px) {\n .heading-1,\n .heading-1-sb,\n .heading-1-lt {\n font-size: var(--font-size-8);\n font-weight: var(--font-rg);\n line-height: 1.25;\n }\n\n .heading-2,\n .heading-2-sb,\n .heading-2-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n}\n\n/* viewport classes */\n@media (max-width: 767px) {\n .mobile-heading-1,\n .mobile-heading-1-sb,\n .mobile-heading-1-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .mobile-heading-2,\n .mobile-heading-2-sb,\n .mobile-heading-2-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .mobile-heading-3,\n .mobile-heading-3-sb,\n .mobile-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .mobile-heading-4,\n .mobile-heading-4-sb,\n .mobile-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .mobile-body-1,\n .mobile-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .mobile-body-2,\n .mobile-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .mobile-body-3,\n .mobile-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .mobile-body-4,\n .mobile-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .mobile-body-5,\n .mobile-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .mobile-interactive-1,\n .mobile-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .mobile-interactive-2,\n .mobile-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .mobile-interactive-3,\n .mobile-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .mobile-section-title-1 {\n font: var(--section-title-1);\n }\n\n .mobile-section-title-2 {\n font: var(--section-title-2);\n }\n\n .mobile-section-title-3 {\n font: var(--section-title-3);\n }\n\n .mobile-section-title-4 {\n font: var(--section-title-4);\n }\n\n .mobile-section-title-5 {\n font: var(--section-title-5);\n }\n\n .mobile-section-title-6 {\n font: var(--section-title-6);\n }\n\n .mobile-heading-1-lt,\n .mobile-heading-2-lt,\n .mobile-heading-3-lt,\n .mobile-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .mobile-heading-1-sb,\n .mobile-heading-2-sb,\n .mobile-heading-3-sb,\n .mobile-heading-4-sb,\n .mobile-body-1-sb,\n .mobile-body-2-sb,\n .mobile-body-3-sb,\n .mobile-body-4-sb,\n .mobile-body-5-sb,\n .mobile-interactive-1-sb,\n .mobile-interactive-2-sb,\n .mobile-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n@media (min-width: 768px) and (max-width: 1151px) {\n .tablet-heading-1,\n .tablet-heading-1-sb,\n .tablet-heading-1-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .tablet-heading-2,\n .tablet-heading-2-sb,\n .tablet-heading-2-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .tablet-heading-3,\n .tablet-heading-3-sb,\n .tablet-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .tablet-heading-4,\n .tablet-heading-4-sb,\n .tablet-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .tablet-body-1,\n .tablet-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .tablet-body-2,\n .tablet-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .tablet-body-3,\n .tablet-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .tablet-body-4,\n .tablet-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .tablet-body-5,\n .tablet-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .tablet-interactive-1,\n .tablet-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .tablet-interactive-2,\n .tablet-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .tablet-interactive-3,\n .tablet-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .tablet-section-title-1 {\n font: var(--section-title-1);\n }\n\n .tablet-section-title-2 {\n font: var(--section-title-2);\n }\n\n .tablet-section-title-3 {\n font: var(--section-title-3);\n }\n\n .tablet-section-title-4 {\n font: var(--section-title-4);\n }\n\n .tablet-section-title-5 {\n font: var(--section-title-5);\n }\n\n .tablet-section-title-6 {\n font: var(--section-title-6);\n }\n\n .tablet-heading-1-lt,\n .tablet-heading-2-lt,\n .tablet-heading-3-lt,\n .tablet-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .tablet-heading-1-sb,\n .tablet-heading-2-sb,\n .tablet-heading-3-sb,\n .tablet-heading-4-sb,\n .tablet-body-1-sb,\n .tablet-body-2-sb,\n .tablet-body-3-sb,\n .tablet-body-4-sb,\n .tablet-body-5-sb,\n .tablet-interactive-1-sb,\n .tablet-interactive-2-sb,\n .tablet-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n@media (min-width: 1152px) and (max-width: 1365px) {\n .desktop-heading-1,\n .desktop-heading-1-sb,\n .desktop-heading-1-lt {\n font-size: var(--font-size-8);\n font-weight: var(--font-rg);\n line-height: 1.25;\n }\n\n .desktop-heading-2,\n .desktop-heading-2-sb,\n .desktop-heading-2-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .desktop-heading-3,\n .desktop-heading-3-sb,\n .desktop-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .desktop-heading-4,\n .desktop-heading-4-sb,\n .desktop-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .desktop-body-1,\n .desktop-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .desktop-body-2,\n .desktop-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .desktop-body-3,\n .desktop-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .desktop-body-4,\n .desktop-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .desktop-body-5,\n .desktop-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .desktop-interactive-1,\n .desktop-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .desktop-interactive-2,\n .desktop-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .desktop-interactive-3,\n .desktop-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .desktop-section-title-1 {\n font: var(--section-title-1);\n }\n\n .desktop-section-title-2 {\n font: var(--section-title-2);\n }\n\n .desktop-section-title-3 {\n font: var(--section-title-3);\n }\n\n .desktop-section-title-4 {\n font: var(--section-title-4);\n }\n\n .desktop-section-title-5 {\n font: var(--section-title-5);\n }\n\n .desktop-section-title-6 {\n font: var(--section-title-6);\n }\n\n .desktop-heading-1-lt,\n .desktop-heading-2-lt,\n .desktop-heading-3-lt,\n .desktop-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .desktop-heading-1-sb,\n .desktop-heading-2-sb,\n .desktop-heading-3-sb,\n .desktop-heading-4-sb,\n .desktop-body-1-sb,\n .desktop-body-2-sb,\n .desktop-body-3-sb,\n .desktop-body-4-sb,\n .desktop-body-5-sb,\n .desktop-interactive-1-sb,\n .desktop-interactive-2-sb,\n .desktop-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n@media (min-width: 1366px) {\n .wide-heading-1,\n .wide-heading-1-sb,\n .wide-heading-1-lt {\n font-size: var(--font-size-8);\n font-weight: var(--font-rg);\n line-height: 1.25;\n }\n\n .wide-heading-2,\n .wide-heading-2-sb,\n .wide-heading-2-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .wide-heading-3,\n .wide-heading-3-sb,\n .wide-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .wide-heading-4,\n .wide-heading-4-sb,\n .wide-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .wide-body-1,\n .wide-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .wide-body-2,\n .wide-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .wide-body-3,\n .wide-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .wide-body-4,\n .wide-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .wide-body-5,\n .wide-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .wide-interactive-1,\n .wide-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .wide-interactive-2,\n .wide-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .wide-interactive-3,\n .wide-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .wide-section-title-1 {\n font: var(--section-title-1);\n }\n\n .wide-section-title-2 {\n font: var(--section-title-2);\n }\n\n .wide-section-title-3 {\n font: var(--section-title-3);\n }\n\n .wide-section-title-4 {\n font: var(--section-title-4);\n }\n\n .wide-section-title-5 {\n font: var(--section-title-5);\n }\n\n .wide-section-title-6 {\n font: var(--section-title-6);\n }\n\n .wide-heading-1-lt,\n .wide-heading-2-lt,\n .wide-heading-3-lt,\n .wide-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .wide-heading-1-sb,\n .wide-heading-2-sb,\n .wide-heading-3-sb,\n .wide-heading-4-sb,\n .wide-body-1-sb,\n .wide-body-2-sb,\n .wide-body-3-sb,\n .wide-body-4-sb,\n .wide-body-5-sb,\n .wide-interactive-1-sb,\n .wide-interactive-2-sb,\n .wide-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n/* font-weight variants */\n.heading-1-lt,\n.heading-2-lt,\n.heading-3-lt,\n.heading-4-lt {\n font-weight: var(--font-lt);\n}\n\n.heading-1-sb,\n.heading-2-sb,\n.heading-3-sb,\n.heading-4-sb,\n.body-1-sb,\n.body-2-sb,\n.body-3-sb,\n.body-4-sb,\n.body-5-sb,\n.interactive-1-sb,\n.interactive-2-sb,\n.interactive-3-sb,\n.helper-sb {\n font-weight: var(--font-sb);\n}\n","import {\n AttachInternals,\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {ControlSize, Orientation, PopoverPosition} from \"../../beans\";\nimport {randomId} from \"../../utils/utils\";\n\n/**\n * Input range component.\n */\n@Component({\n tag: \"z-input-range\",\n styleUrls: [\"styles.css\", \"../../tokens/typography.css\"],\n shadow: true,\n formAssociated: true,\n})\nexport class ZInputRange implements ComponentInterface {\n @Element() host: HTMLZInputRangeElement;\n\n @AttachInternals() internals: ElementInternals;\n\n /** Whether the input range is disabled. */\n @Prop()\n disabled = false;\n\n /**\n * The aria label of the input range. for accessibility.\n * Not necessary if the `label` prop is set.\n */\n @Prop()\n htmlAriaLabel: string;\n\n /** ID of the input range. */\n @Prop()\n htmlId = `z-input-range-${randomId()}`;\n\n /**\n * The label of the input range.\n * When `orientation` is set to `vertical`, the label is not visible but used as `aria-label`, unless `htmlAriaLabel` is provided.\n */\n @Prop()\n label: string;\n\n /** The greatest value in the range of permitted values. */\n @Prop()\n max = 100;\n\n /** The lowest value in the range of permitted values. */\n @Prop()\n min = 0;\n\n /** The orientation of the input range. */\n @Prop({reflect: true})\n orientation: Orientation;\n\n /** Whether to show `min` and `max` values of the input range. Only visible with the `horizontal` orientation. */\n @Prop()\n showEdges = false;\n\n /** The size of the input range. Default: `ControlSize.BIG` */\n @Prop({reflect: true})\n size: ControlSize.BIG;\n\n /** The step value for the input range. */\n @Prop()\n step = 1;\n\n /** The value of the input range. */\n @Prop()\n value = 0;\n\n /**\n * The position of the tooltip displaying the current value.\n * Defaults to `top` for horizontal orientation and `left` for vertical orientation.\n * May be necessary to adjust this prop when the input range is close to the edges of the screen,\n * to prevent the tooltip from showing out of the screen or in an unintended position due to auto adjustment.\n * For example, for a horizontal input range close to the top of the screen, you may want to set this prop to `bottom`.\n */\n @Prop()\n valuePosition: PopoverPosition.TOP | PopoverPosition.BOTTOM | PopoverPosition.LEFT | PopoverPosition.RIGHT;\n\n /** Emitted when the value of the input range is being changed (`input` native event). */\n @Event()\n rangeInput: EventEmitter<number>;\n\n /** Emitted when the value of the input range has changed (`change` native event). */\n @Event()\n rangeChange: EventEmitter<number>;\n\n /** The current value of the input range synchronized with the native input element. */\n @State()\n currentValue = this.value;\n\n /**\n * Whether to show the tooltip displaying the current value.\n * The tooltip is shown only when the input range is focused or while the user is changing the value.\n */\n @State()\n showValueTooltip = false;\n\n /**\n * Whether the native input value needs to be synced with the component state.\n * This is necessary when the `step` prop changes, as the browser may round the value,\n * so we need to update the component state accordingly.\n */\n private needsNativeValueSync = false;\n\n private inputRef: HTMLInputElement;\n\n private tooltipGuideRef: HTMLSpanElement;\n\n private get ariaLabel(): string | undefined {\n return this.htmlAriaLabel ?? (this.orientation === Orientation.VERTICAL ? this.label : undefined);\n }\n\n private get tooltipPosition(): typeof this.valuePosition {\n return (\n this.valuePosition ?? (this.orientation === Orientation.VERTICAL ? PopoverPosition.LEFT : PopoverPosition.TOP)\n );\n }\n\n private updateCurrentValue(nextValue: number): void {\n if (Number.isNaN(nextValue) || nextValue === this.currentValue) {\n return;\n }\n\n this.currentValue = nextValue;\n this.internals.setFormValue(this.currentValue.toString());\n }\n\n /** Calculates the current ratio of the input range value. */\n private getCurrentRatio(): number {\n const range = this.max - this.min;\n if (range <= 0) {\n return 0;\n }\n\n const ratio = (this.currentValue - this.min) / range;\n\n return Math.min(1, Math.max(0, ratio));\n }\n\n /** Updates the CSS variables used to color the track progress and tooltip guide position. */\n private updateProgress(): void {\n const ratio = this.getCurrentRatio();\n const progress = ratio * 100;\n\n this.host?.style.setProperty(\"--progress-ratio\", `${ratio}`);\n this.host?.style.setProperty(\"--progress\", `${progress}%`);\n }\n\n /**\n * Syncs current value from native input after render-time browser coercions:\n * when `step` changes, the browser may round the value, so we need to update the component state accordingly.\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/range#step\n */\n private syncCurrentValueFromNativeInput(): void {\n if (!this.inputRef) {\n return;\n }\n\n this.updateCurrentValue(this.inputRef.valueAsNumber);\n this.updateProgress();\n }\n\n private onInput(event: InputEvent): void {\n event.stopPropagation();\n this.syncCurrentValueFromNativeInput();\n this.rangeInput.emit(this.currentValue);\n }\n\n private onChange(event: Event): void {\n event.stopPropagation();\n this.syncCurrentValueFromNativeInput();\n this.rangeChange.emit(this.currentValue);\n }\n\n @Watch(\"min\")\n @Watch(\"max\")\n @Watch(\"step\")\n @Watch(\"value\")\n onConstraintsChange(): void {\n this.needsNativeValueSync = true;\n }\n\n componentDidLoad() {\n this.needsNativeValueSync = true;\n this.syncCurrentValueFromNativeInput();\n }\n\n componentDidRender() {\n if (!this.needsNativeValueSync) {\n return;\n }\n\n this.syncCurrentValueFromNativeInput();\n this.needsNativeValueSync = false;\n }\n\n render() {\n return (\n <Host>\n {this.label && (\n <label\n class=\"z-label\"\n htmlFor={this.htmlId}\n >\n {this.label}\n </label>\n )}\n <div class=\"input-container body-3\">\n <input\n ref={(el) => (this.inputRef = el)}\n type=\"range\"\n aria-label={this.ariaLabel}\n id={this.htmlId}\n disabled={this.disabled}\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.currentValue}\n onInput={(event) => this.onInput(event)}\n onChange={(event) => this.onChange(event)}\n onFocus={() => (this.showValueTooltip = true)}\n onBlur={() => (this.showValueTooltip = false)}\n />\n <div\n class=\"tooltip-guide\"\n ref={(el) => (this.tooltipGuideRef = el)}\n ></div>\n <z-tooltip\n position={this.tooltipPosition}\n bindTo={this.tooltipGuideRef}\n open={this.showValueTooltip}\n closable={false}\n >\n <div class=\"current-value\">{this.currentValue}</div>\n </z-tooltip>\n </div>\n {this.showEdges && (\n <div class=\"edges body-3\">\n <span class=\"min\">{this.min}</span>\n <span class=\"max\">{this.max}</span>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZLogo","__stencil_proxyCustomElement","HTMLElement","render","style","this","width","height","h","Host","key","class","mobile","mobileLogo","link","href","target","targetBlank","alt","imageAlt"],"sources":["src/components/z-logo/styles.css?tag=z-logo&encapsulation=shadow","src/components/z-logo/index.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: 255px;\n height: 64px;\n vertical-align: top;\n}\n\nimg {\n display: block;\n width: 100%;\n height: 100%;\n margin: auto;\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='255px' height='64px' viewBox='0 0 255 64'%3E%3Cg id='Logo/Zanichelli/Centered-(reworked)' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Group'%3E%3Cpolygon id='Background' fill='%23E2001A' points='1.70530257e-13 64 254.39 64 254.39 0 1.70530257e-13 0'%3E%3C/polygon%3E%3Cpath d='M233.36,51.3553859 L242.390252,51.3553859 L242.390252,12.6427292 L233.36,12.6427292 L233.36,51.3553859 Z M211.120346,51.3553859 L230.477617,51.3553859 L230.477617,44.5040053 L220.685891,44.5040053 L220.685891,12.6427292 L211.120346,12.6427292 L211.120346,51.3553859 Z M188.880124,51.3553859 L208.23551,51.3553859 L208.23551,44.5040053 L198.445669,44.5040053 L198.445669,12.6427292 L188.880124,12.6427292 L188.880124,51.3553859 Z M165.354444,12.6427292 L165.354444,51.3553859 L185.999058,51.3553859 L185.999058,44.5021204 L175.027425,44.5021204 L175.027425,35.1778343 L185.377062,35.1778343 L185.377062,28.2699086 L175.027425,28.2699086 L175.027425,19.4978796 L185.999058,19.4978796 L185.999058,12.6427292 L165.354444,12.6427292 Z M136.666196,51.3553859 L146.239281,51.3553859 L146.239281,35.1778343 L152.902178,35.1778343 L152.902178,51.3553859 L162.473377,51.3553859 L162.473377,12.6427292 L152.902178,12.6427292 L152.902178,28.2717934 L146.239281,28.2717934 L146.239281,12.6427292 L136.666196,12.6427292 L136.666196,51.3553859 Z M96.064744,51.3553859 L105.098765,51.3553859 L105.098765,12.6427292 L96.064744,12.6427292 L96.064744,51.3553859 Z M53.2364527,36.5160682 L50.6824993,19.7429083 L48.0757704,36.5160682 L53.2364527,36.5160682 Z M65.4935444,51.3553859 L56.2710395,51.3553859 L54.9441146,42.5286966 L47.7101121,42.5286966 L46.3304118,51.3553859 L37.1060221,51.3553859 L45.0053718,12.6427292 L57.5960795,12.6427292 L65.4935444,51.3553859 Z M85.0468382,37.7581755 L76.7969089,12.6427292 L67.3764961,12.6427292 L67.3764961,51.3553859 L75.4040147,51.3553859 L75.4040147,26.132504 L83.5955141,51.3553859 L93.1855622,51.3553859 L93.1855622,12.6427292 L85.0468382,12.6427292 L85.0468382,37.7581755 Z M107.977948,32 C107.977948,34.5200264 107.977948,36.7893695 108.187165,39.1246819 C108.396382,41.4713034 108.818585,43.6878711 109.678071,45.6009801 C111.423429,49.487513 114.932995,52 121.708982,52 C129.508435,52 133.787014,48.4753558 133.787014,38.0220526 L133.787014,37.5640373 L124.937707,37.5640373 L124.922628,38.0050891 C124.894356,38.7571388 124.884931,39.6185091 124.826501,40.4855339 C124.769956,41.3431345 124.66629,42.1875412 124.460843,42.9301668 C124.048064,44.3965696 123.279051,45.3559514 121.708982,45.3559514 C117.743286,45.3559514 117.057205,42.0574875 117.057205,32 C117.057205,21.9425125 117.743286,18.6440486 121.708982,18.6440486 C123.605127,18.6440486 124.547546,20.0030157 124.547546,25.1806616 L124.547546,25.6424465 L133.344077,25.6424465 L133.361041,25.1995099 C133.689003,16.7855998 130.235982,12 121.708982,12 C114.934879,12 111.427199,14.4823297 109.678071,18.3594383 C108.818585,20.265008 108.396382,22.4778061 108.187165,24.830082 C107.977948,27.1710489 107.977948,29.4554707 107.977948,32 L107.977948,32 Z M34.9007634,12.6446141 L34.9007634,20.3196683 L21.6051268,44.5040053 L35.2268401,44.5040053 L35.2268401,51.3553859 L12,51.3553859 L12,43.7915371 L25.2975214,19.4997644 L13.683159,19.4997644 L13.683159,12.6446141 L34.9007634,12.6446141 Z' id='Logotipo-(reworked)' fill='%23FFFFFF'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n}\n\na {\n display: block;\n width: 100%;\n height: 100%;\n}\n\na:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host(.mobile) {\n width: 31px;\n height: 40px;\n}\n\n:host(.mobile) img {\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31px' height='40px' viewBox='0 0 31 40'%3E%3Cg id='Symbols' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Topbar/Mobile/Logged' transform='translate(-16.000000, -4.000000)'%3E%3Cg id='Group' transform='translate(16.000000, 4.000000)'%3E%3Cpolygon id='Fill-1' fill='%23E2001A' points='0 40 30.625 40 30.625 0 0 0'%3E%3C/polygon%3E%3Cpolygon id='Fill-2' fill='%23FEFEFE' points='8.17111587 6.20689655 23.4311708 6.20689655 23.4311708 11.671267 13.8691261 28.9163861 23.6647727 28.9163861 23.6647727 33.7931034 6.96022727 33.7931034 6.96022727 28.408218 16.522272 11.0831673 8.17111587 11.0831673'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n}\n","import {Component, ComponentInterface, Host, Prop, h} from \"@stencil/core\";\n\n@Component({\n tag: \"z-logo\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZLogo implements ComponentInterface {\n /** image width */\n @Prop()\n width?: number;\n\n /** image height */\n @Prop()\n height?: number;\n\n /** alternative image text */\n @Prop()\n imageAlt?: string;\n\n /** link url (optional) */\n @Prop()\n link?: string;\n\n /** link target: true means _blank, false means _self */\n @Prop()\n targetBlank?: boolean;\n\n /** if true, the mobile logo is displayed, otherwise the desktop one */\n @Prop()\n mobileLogo?: boolean;\n\n render(): HTMLZLogoElement {\n const style = {};\n\n if (this.width) {\n style[\"width\"] = style[\"max-width\"] = `${this.width}px`;\n }\n\n if (this.height) {\n style[\"height\"] = style[\"max-height\"] = `${this.height}px`;\n }\n\n return (\n <Host\n style={style}\n class={{mobile: !!this.mobileLogo}}\n >\n {this.link ? (\n <a\n href={this.link}\n target={this.targetBlank ? \"_blank\" : \"_self\"}\n >\n <img alt={this.imageAlt} />\n </a>\n ) : (\n <img alt={this.imageAlt} />\n )}\n </Host>\n );\n }\n}\n"],"mappings":"uHAAA,MAAMA,EAAY,IAAM,m5I,MCOXC,EAAKC,EAAA,MAAAD,UAAAE,E,iFAyBhB,MAAAC,GACE,MAAMC,EAAQ,GAEd,GAAIC,KAAKC,MAAO,CACdF,EAAM,SAAWA,EAAM,aAAe,GAAGC,KAAKC,S,CAGhD,GAAID,KAAKE,OAAQ,CACfH,EAAM,UAAYA,EAAM,cAAgB,GAAGC,KAAKE,U,CAGlD,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHN,MAAOA,EACPO,MAAO,CAACC,SAAUP,KAAKQ,aAEtBR,KAAKS,KACJN,EAAA,KACEO,KAAMV,KAAKS,KACXE,OAAQX,KAAKY,YAAc,SAAW,SAEtCT,EAAA,OAAKU,IAAKb,KAAKc,YAGjBX,EAAA,OAAKU,IAAKb,KAAKc,W","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZMenuSection","__stencil_proxyCustomElement","HTMLElement","focusableItem","this","items","find","tabIndex","toggle","hasItems","open","setItemsA11yAttrs","forEach","item","setAttribute","onItemsChange","Array","from","host","querySelectorAll","length","onLabelSlotChange","ev","labelElement","target","assignedElements","dataset","text","textContent","onLabelClick","setFocus","onLabelKeydown","key","KeyboardCode","ENTER","SPACE","preventDefault","stopPropagation","focustFirstItem","moveFocus","receiver","current","setTimeout","focus","focusLastItem","htmlTabindex","label","onOpenChange","closed","emit","opened","onTabindexChange","onItemsKeydown","ESC","ARROW_LEFT","ARROW_RIGHT","ARROW_DOWN","document","activeElement","currentIndex","indexOf","ARROW_UP","constructor","registerHost","bind","connectedCallback","render","h","Host","ref","el","class","role","tabindex","onClick","onKeyDown","onSlotchange","name","hidden"],"sources":["src/components/z-menu-section/styles.css?tag=z-menu-section&encapsulation=shadow","src/components/z-menu-section/index.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n padding: 0;\n font-family: var(--font-family-sans);\n}\n\n:host,\n::slotted(*),\n* {\n box-sizing: border-box;\n}\n\n::slotted(a) {\n text-decoration: none;\n}\n\n::slotted(*) {\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n.label {\n display: flex;\n width: 100%;\n align-items: center;\n padding: var(--space-unit) 0;\n border: 0;\n border-bottom: var(--border-size-small) solid var(--color-surface03);\n margin: 0;\n background: transparent;\n border-radius: 0;\n cursor: pointer;\n text-align: left;\n}\n\n:host(:last-child:not([open])) .label {\n border-bottom: none;\n}\n\n:host(:is([active], [open])) .label,\n.label:focus:focus-visible,\n.label:hover {\n border-color: var(--color-primary01);\n}\n\n.label:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host(:is([active], [open])) .label ::slotted(*),\n.label:focus:focus-visible ::slotted(*),\n.label:hover ::slotted(*) {\n font-weight: var(--font-bd);\n}\n\n::slotted([data-text]) {\n display: inline-flex;\n flex-direction: column;\n}\n\n/* Trick to prevent layout shifts on font-weight changes.\nThe trick is to put an hidden copy of the text already set to bold,\nso the needed space is correctly calculated before any hover/active state changes the\nfont-weight of the real text.\nThe hidden text has an height of 0px so it can expand the width without changing the height\nwhen placed below the real text using `flex-direction: column`. */\n::slotted([data-text])::after {\n overflow: hidden;\n height: 0;\n content: attr(data-text);\n content: attr(data-text) / \"\";\n font-weight: var(--font-bd);\n pointer-events: none;\n user-select: none;\n visibility: hidden;\n}\n\n@media speech {\n ::slotted([data-text])::after {\n display: none;\n }\n}\n\n.label ::slotted(*) {\n width: 100%;\n margin: 0;\n font-size: var(--font-size-3);\n line-height: 1.5;\n}\n\n.label z-icon {\n margin-left: calc(var(--space-unit) * 4);\n fill: var(--color-default-icon);\n}\n\n.items {\n display: flex;\n width: 100%;\n flex-direction: column;\n padding: calc(var(--space-unit) / 2);\n padding-bottom: calc(var(--space-unit) * 1.5);\n}\n\n.items[hidden] {\n display: none;\n}\n\n::slotted([slot=\"section\"]) {\n display: inline-flex;\n padding: calc(var(--space-unit) / 2);\n margin: 0;\n font-size: var(--font-size-1);\n line-height: 1.333;\n outline: none;\n}\n\n::slotted([slot=\"section\"]:last-of-type) {\n border: none;\n}\n\n::slotted([slot=\"section\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n color: var(--color-primary01);\n}\n\n::slotted([slot=\"section\"]:hover),\n::slotted([slot=\"section\"]:focus:focus-visible),\n::slotted([slot=\"section\"]:active),\n::slotted([slot=\"section\"][active]),\n::slotted([slot=\"section\"][data-active]) {\n color: var(--color-primary01);\n font-weight: var(--font-bd);\n}\n","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 {KeyboardCode} from \"../../beans\";\n\n/**\n * A component to create submenus inside the ZMenu.\n * @slot - Label of the menu section.\n * @slot section - Single entry of the menu section. Set the same slot name to different elements to put many of them. Add the `data-active` attribute to a slotted element to highlight it (`active` also works but `data-active` is preferable).\n */\n@Component({\n tag: \"z-menu-section\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMenuSection implements ComponentInterface {\n @Element() host: HTMLZMenuSectionElement;\n\n /** Active state */\n @Prop({reflect: true})\n active?: boolean;\n\n /**\n * Tabindex value to set on the label button.\n * Useful to manage keyboard navigation focus with roving tabindex handled by this component's parent (usually ZMenu).\n */\n @Prop()\n htmlTabindex = -1;\n\n /** The opening state of the section. */\n @Prop({mutable: true})\n open: boolean;\n\n @State()\n hasItems: boolean;\n\n @State()\n items: HTMLElement[];\n\n /** The section has been opened. */\n @Event()\n opened: EventEmitter;\n\n /** The section has been closed. */\n @Event()\n closed: EventEmitter;\n\n private label: HTMLButtonElement;\n\n private get focusableItem(): HTMLElement {\n return this.items.find(({tabIndex}) => tabIndex === 0);\n }\n\n private toggle(): void {\n if (!this.hasItems) {\n return;\n }\n\n this.open = !this.open;\n }\n\n private setItemsA11yAttrs(): void {\n if (!this.hasItems) {\n return;\n }\n\n this.items.forEach((item) => {\n item.setAttribute(\"role\", \"menuitem\");\n item.tabIndex = -1;\n });\n }\n\n private onItemsChange(): void {\n this.items = Array.from(this.host.querySelectorAll('[slot=\"section\"]')) as HTMLElement[];\n this.hasItems = this.items.length > 0;\n this.setItemsA11yAttrs();\n }\n\n /**\n * Sets slotted item text as `data-text` attribute value, to let CSS use it through `attr()`.\n * @param ev Slotchange event\n */\n private onLabelSlotChange(ev: Event): void {\n const labelElement = (ev.target as HTMLSlotElement).assignedElements()[0] as HTMLElement;\n labelElement.dataset.text = labelElement?.textContent;\n }\n\n private onLabelClick(): void {\n this.toggle();\n this.setFocus();\n }\n\n private onLabelKeydown(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.ENTER || ev.key === KeyboardCode.SPACE) {\n ev.preventDefault();\n ev.stopPropagation();\n this.toggle();\n if (this.open) {\n this.focustFirstItem();\n }\n }\n }\n\n /**\n * Move focus and adjust the tabindex value of `receiver` and `current` elements,\n * setting -1 to the `current` and 0 to the `receiver`, then focus the `receiver` element.\n */\n private moveFocus(receiver: HTMLElement, current?: HTMLElement): void {\n receiver.tabIndex = 0;\n setTimeout(() => {\n receiver.focus();\n }, 100);\n if (current) {\n current.tabIndex = -1;\n }\n }\n\n private focustFirstItem(): void {\n this.moveFocus(this.items[0]);\n }\n\n /** Focus the last item. */\n @Method()\n async focusLastItem(): Promise<void> {\n this.moveFocus(this.items[this.items.length - 1]);\n }\n\n /** Set tabindex of the label to 0, then focus it. */\n @Method()\n async setFocus(): Promise<void> {\n this.htmlTabindex = 0;\n setTimeout(() => {\n this.label.focus();\n }, 100);\n }\n\n @Watch(\"open\")\n onOpenChange(): void {\n if (!this.open) {\n this.setItemsA11yAttrs();\n this.closed.emit();\n } else {\n this.opened.emit();\n }\n }\n\n @Watch(\"htmlTabindex\")\n onTabindexChange(): void {\n if (!this.label) {\n return;\n }\n\n this.label.tabIndex = this.htmlTabindex;\n }\n\n @Listen(\"keydown\")\n private onItemsKeydown(ev: KeyboardEvent): void {\n switch (ev.key) {\n case KeyboardCode.ESC:\n case KeyboardCode.ARROW_LEFT:\n if (!this.open) {\n break;\n }\n ev.preventDefault();\n ev.stopPropagation();\n this.moveFocus(this.label, this.focusableItem);\n this.open = false;\n break;\n case KeyboardCode.ARROW_RIGHT:\n if (this.open) {\n break;\n }\n ev.preventDefault();\n ev.stopPropagation();\n this.open = true;\n this.focustFirstItem();\n break;\n case KeyboardCode.ARROW_DOWN: {\n if (!this.open) {\n break;\n }\n if (document.activeElement === this.host) {\n ev.preventDefault();\n ev.stopPropagation();\n this.focustFirstItem();\n break;\n }\n const currentIndex = this.items.indexOf(this.focusableItem);\n const receiver = this.items[currentIndex + 1];\n if (receiver) {\n ev.preventDefault();\n ev.stopPropagation();\n this.moveFocus(receiver, this.focusableItem);\n } else {\n this.htmlTabindex = 0;\n this.focusableItem.tabIndex = -1;\n }\n break;\n }\n case KeyboardCode.ARROW_UP: {\n if (!this.open || document.activeElement === this.host) {\n break;\n }\n const currentIndex = this.items.indexOf(this.focusableItem);\n const receiver = this.items[currentIndex - 1];\n ev.preventDefault();\n ev.stopPropagation();\n if (receiver) {\n this.moveFocus(receiver, this.focusableItem);\n } else {\n // since there isn't a previous item to focus, give the focus to the label element\n this.focusableItem.tabIndex = -1;\n this.setFocus();\n }\n break;\n }\n }\n }\n\n constructor() {\n this.toggle = this.toggle.bind(this);\n this.onItemsChange = this.onItemsChange.bind(this);\n this.onLabelSlotChange = this.onLabelSlotChange.bind(this);\n this.onLabelClick = this.onLabelClick.bind(this);\n this.onLabelKeydown = this.onLabelKeydown.bind(this);\n this.onItemsKeydown = this.onItemsKeydown.bind(this);\n }\n\n connectedCallback(): void {\n this.onItemsChange();\n }\n\n render(): HTMLZMenuSectionElement {\n return (\n <Host open={this.open}>\n <button\n ref={(el) => (this.label = el)}\n class=\"label\"\n aria-haspopup={`${!!this.hasItems}`}\n aria-expanded={`${!!this.open}`}\n role=\"menuitem\"\n tabindex={this.htmlTabindex}\n onClick={this.onLabelClick}\n onKeyDown={this.onLabelKeydown}\n >\n <slot onSlotchange={this.onLabelSlotChange} />\n {this.hasItems && <z-icon name={this.open ? \"chevron-up\" : \"chevron-down\"} />}\n </button>\n <div\n class=\"items\"\n role=\"menu\"\n hidden={!this.open}\n >\n <slot\n name=\"section\"\n onSlotchange={this.onItemsChange}\n />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","isZMenuSection","el","tagName","ZMenu","__stencil_proxyCustomElement","HTMLElement","focusableItem","this","items","find","item","htmlTabindex","tabIndex","toggle","hasContent","open","onLabelSlotChange","ev","labelElement","target","assignedElements","dataset","text","textContent","setLabelA11yAttrs","reflow","live","floating","content","style","left","host","getBoundingClientRect","widthPx","getComputedStyle","width","parseFloat","replace","safeScrollbarSpace","Math","min","window","innerWidth","raf","requestAnimationFrame","bind","checkContent","hasHeader","querySelectorAll","length","setItemTabindex","setItemsA11yAttrs","forEach","index","tabindex","setAttribute","onItemsChange","Array","from","children","filter","slot","moveFocus","receiver","current","setFocus","setTimeout","focus","onLabelClick","onLabelKeydown","key","KeyboardCode","ENTER","SPACE","preventDefault","stopPropagation","verticalContext","ARROW_RIGHT","label","labelButton","firstElementChild","focusLastItem","lastItem","onOpenChanged","cancelAnimationFrame","closed","emit","opened","slottedLabel","role","onItemClick","clickedItem","containsElement","onKeyDown","ESC","ARROW_DOWN","document","activeElement","currentIndex","indexOf","ARROW_UP","_a","ARROW_LEFT","constructor","registerHost","componentWillLoad","render","h","class","onSlotchange","Host","ref","onClick","name"],"sources":["src/components/z-menu/styles.css?tag=z-menu&encapsulation=shadow","src/components/z-menu/index.tsx"],"sourcesContent":[":host,\n::slotted(*),\n* {\n box-sizing: border-box;\n outline: none;\n}\n\n:host {\n /**\n * @prop --z-menu-label-color: Color of the label's text.\n */\n --z-menu-label-color: ;\n\n position: relative;\n display: inline-flex;\n height: fit-content;\n flex-direction: column;\n}\n\n::slotted(a) {\n text-decoration: none;\n}\n\n::slotted(*) {\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n.menu-label {\n position: relative;\n display: flex;\n width: 100%;\n align-items: center;\n padding: 0;\n border: 0;\n border-bottom: var(--border-size-large) solid transparent;\n margin: 0;\n background: transparent;\n border-radius: 0;\n color: inherit;\n text-align: left;\n}\n\nbutton.menu-label {\n cursor: pointer;\n}\n\n.menu-label:focus-visible,\ndiv.menu-label:focus-within {\n box-shadow: var(--shadow-focus-primary);\n}\n\n:host(:is([active], [open])) .menu-label ::slotted(*),\n.menu-label:focus-visible ::slotted(*),\ndiv.menu-label:focus-within ::slotted(*) {\n color: var(--color-primary01);\n font-weight: var(--font-bd);\n}\n\n:host([vertical-context]) .menu-label {\n padding: var(--space-unit) 0;\n border-width: var(--border-size-small);\n border-color: var(--color-surface03);\n}\n\n:host(:is([active], [open])) .menu-label,\n.menu-label:hover,\n.menu-label:focus-visible,\ndiv.menu-label:focus-within {\n border-color: var(--color-primary01);\n}\n\n:host([vertical-context]:is([active], [open])) .menu-label::after,\n:host([vertical-context]) .menu-label:hover::after,\n:host([vertical-context]) .menu-label:focus-visible::after,\n:host([vertical-context]) div.menu-label:focus-within::after {\n position: absolute;\n bottom: calc(var(--border-size-small) * -1);\n left: 0;\n width: 100%;\n height: var(--border-size-large);\n background-color: var(--color-primary01);\n content: \"\";\n}\n\n:host([vertical-context]) .menu-label ::slotted(*) {\n padding: 0;\n}\n\n.menu-label ::slotted(*) {\n display: inline-flex;\n width: 100%;\n min-width: fit-content;\n padding-bottom: 2px;\n margin: 0;\n appearance: none;\n color: var(--z-menu-label-color, var(--color-default-text));\n font-family: var(--font-family-sans);\n font-size: var(--font-size-3);\n font-weight: inherit;\n line-height: 1.5;\n white-space: nowrap;\n}\n\n.menu-label z-icon {\n margin-left: calc(var(--space-unit) * 1.5);\n fill: var(--color-default-icon);\n}\n\n/* Prevents layout shifts on font-weight changes.\nThe trick is to put an hidden copy of the text already set to bold,\nso the needed space is correctly calculated before any hover/active state changes the\nfont-weight of the real text.\nThe hidden text has an height of 0px so it can expand the width without changing the height\nwhen placed below the real text using `flex-direction: column`. */\n::slotted([data-text]:not([slot]))::after {\n height: 0;\n content: attr(data-text);\n content: attr(data-text) / \"\";\n font-weight: var(--font-bd);\n letter-spacing: normal;\n pointer-events: none;\n user-select: none;\n visibility: hidden;\n}\n\n@media speech {\n ::slotted([data-text]:not([slot]))::after {\n display: none;\n }\n}\n\n::slotted([data-text]:not([slot])) {\n display: inline-flex;\n flex-direction: column;\n}\n\n.content {\n background: var(--color-surface01);\n}\n\n:host(:not([open])) .content {\n display: none;\n}\n\n:host([floating]:not([vertical-context])) .content {\n position: absolute;\n top: 100%;\n left: 0;\n width: 375px;\n min-width: 100%;\n max-width: 100vw;\n padding: 0 calc(var(--space-unit) * 2);\n box-shadow: var(--shadow-2);\n}\n\n:host(:not([floating])) .content {\n width: 100%;\n}\n\n.header {\n display: flex;\n align-items: center;\n padding: var(--space-unit) 0 calc(var(--space-unit) * 2);\n}\n\n.header ::slotted(img[slot=\"header\"]) {\n width: calc(var(--space-unit) * 11.25);\n height: auto;\n object-fit: contain;\n}\n\n.header ::slotted([slot=\"header\"]:not(:first-child)) {\n margin: auto 0;\n margin-left: calc(var(--space-unit) * 2.5);\n font-size: var(--font-size-3);\n font-weight: var(--font-sb);\n line-height: 1.5;\n}\n\n.items {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n background: inherit;\n}\n\n.items > ::slotted([slot=\"item\"]) {\n width: 100%;\n margin: 0;\n font-size: var(--font-size-3);\n line-height: 1.5;\n}\n\n.items > ::slotted([slot=\"item\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n}\n\n.items > ::slotted([slot=\"item\"]:not(z-menu-section)) {\n padding: var(--space-unit) 0;\n border-bottom: var(--border-size-small) solid var(--color-surface03);\n}\n\n:host(:not([vertical-context])) .items > ::slotted([slot=\"item\"]:last-child) {\n border-bottom: 0;\n}\n\n.items > ::slotted([slot=\"item\"]:hover),\n.items > ::slotted([slot=\"item\"]:focus:focus-visible),\n.items > ::slotted([slot=\"item\"]:active),\n.items > ::slotted([slot=\"item\"][active]),\n.items > ::slotted([slot=\"item\"][data-active]) {\n border-color: var(--color-primary01);\n font-weight: var(--font-bd);\n}\n","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 {KeyboardCode} from \"../../beans\";\nimport {containsElement} from \"../../utils/utils\";\n\nconst isZMenuSection = (el: HTMLElement | HTMLZMenuSectionElement): el is HTMLZMenuSectionElement =>\n el?.tagName === \"Z-MENU-SECTION\";\n\n/**\n * @slot - Menu label\n * @slot header - Header to display as the first entry of the open menu.\n * @slot item - Single entry of the section. Can be slotted multiple times to insert items onto the menu. Set the `data-active` HTML attribute on the element to highlight it (`active` also works but `data-active` is preferable). Use `z-menu-section` for submenus.\n */\n@Component({\n tag: \"z-menu\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMenu implements ComponentInterface {\n @Element() host: HTMLZMenuElement;\n\n /** Flag to set the active status of the menu. */\n @Prop({reflect: true})\n active?: boolean;\n\n /**\n * Flag to set the display mode of the list.\n * If true, the list will be absolutely positioned under the menu label,\n * stacked beneath it otherwise.\n */\n @Prop({reflect: true})\n floating? = true;\n\n /** The opening state of the menu. */\n @Prop({mutable: true, reflect: true})\n open = false;\n\n /**\n * Tells the component that it's placed in a vertical context with other `ZMenu`s (usually in the ZAppHeader's offcanvas).\n * A small border is placed under it as a separator from other elements.\n */\n @Prop({reflect: true})\n verticalContext = false;\n\n /**\n * Tabindex value to set on the menu label.\n * Useful to manage keyboard navigation focus with roving tabindex handled by this component's parent (usually ZAppHeader).\n */\n @Prop({mutable: true})\n htmlTabindex = -1;\n\n @State()\n hasHeader: boolean;\n\n @State()\n hasContent: boolean;\n\n /** The menu has been opened. */\n @Event()\n opened: EventEmitter;\n\n /** The menu has been closed. */\n @Event()\n closed: EventEmitter;\n\n private labelButton: HTMLButtonElement;\n\n private content: HTMLElement;\n\n private items: (HTMLElement | HTMLZMenuSectionElement)[] = [];\n\n /** Animation frame request id. */\n private raf: number;\n\n private get focusableItem(): HTMLZMenuSectionElement | HTMLElement | null {\n return this.items.find((item) => (isZMenuSection(item) ? item.htmlTabindex === 0 : item.tabIndex === 0));\n }\n\n private toggle(): void {\n if (!this.hasContent) {\n return;\n }\n\n this.open = !this.open;\n }\n\n /**\n * Sets slotted item text as `data-text` attribute value, to let CSS use it through `attr()`.\n * @param ev Slotchange event\n */\n private onLabelSlotChange(ev: Event): void {\n const labelElement = (ev.target as HTMLSlotElement).assignedElements()[0] as HTMLElement;\n labelElement.dataset.text = labelElement?.textContent;\n this.setLabelA11yAttrs();\n }\n\n /**\n * Correctly set position of the floating menu in order to prevent overflow.\n * @param live Should run the method on every refresh frame.\n */\n private reflow(live = false): void {\n if (!this.floating) {\n return;\n }\n\n if (this.content && this.hasContent) {\n const {style} = this.content;\n const {left} = this.host.getBoundingClientRect();\n const widthPx = getComputedStyle(this.content).width;\n const width = widthPx ? parseFloat(widthPx.replace(\"px\", \"\")) : 375;\n const safeScrollbarSpace = 30;\n style.left = `${Math.min(window.innerWidth - left - width - safeScrollbarSpace, 0)}px`;\n }\n if (live) {\n this.raf = requestAnimationFrame(this.reflow.bind(this, live));\n }\n }\n\n /**\n * Check if some content slot is set.\n */\n private checkContent(): void {\n this.hasHeader = !!this.host.querySelectorAll(\"[slot=header]\").length;\n this.hasContent = !!this.host.querySelectorAll(\"[slot=item]\").length || this.hasHeader;\n }\n\n private setItemTabindex(item: HTMLElement | HTMLZMenuSectionElement, tabIndex: number): void {\n if (isZMenuSection(item)) {\n item.htmlTabindex = tabIndex;\n } else {\n item.tabIndex = tabIndex;\n }\n }\n\n /**\n * Set `menuitem` role to all menu items (ZMenuSection items already have it).\n * Set -1 to the tabindex of the items and 0 to the first one.\n */\n private setItemsA11yAttrs(): void {\n this.items.forEach((item, index) => {\n const tabindex = index === 0 ? 0 : -1;\n this.setItemTabindex(item, tabindex);\n if (!isZMenuSection(item)) {\n item.setAttribute(\"role\", \"menuitem\");\n }\n });\n }\n\n private onItemsChange(): void {\n this.checkContent();\n this.items = Array.from(this.host.children).filter(({slot}) => slot === \"item\") as HTMLElement[];\n this.setItemsA11yAttrs();\n this.items.forEach((item) => {\n if (!isZMenuSection(item)) {\n item.dataset.text = item.textContent;\n }\n });\n }\n\n /**\n * Move focus and adjust the tabindex value of `receiver` and `current` elements,\n * setting -1 to the `current` and 0 to the `receiver`, then focus the `receiver` element.\n * If the receiver is a ZMenuSection and it's open, focus its first focusable item.\n */\n private moveFocus(\n receiver: HTMLElement | HTMLZMenuSectionElement,\n current?: HTMLElement | HTMLZMenuSectionElement\n ): void {\n if (isZMenuSection(receiver)) {\n receiver.setFocus();\n } else {\n receiver.tabIndex = 0;\n setTimeout(() => {\n receiver.focus();\n }, 100);\n }\n if (!current) {\n return;\n }\n\n this.setItemTabindex(current, -1);\n }\n\n private onLabelClick(): void {\n this.toggle();\n this.setFocus();\n }\n\n private onLabelKeydown(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.ENTER || ev.key === KeyboardCode.SPACE) {\n ev.preventDefault();\n ev.stopPropagation();\n this.toggle();\n if (this.open) {\n this.moveFocus(this.items[0]);\n }\n\n return;\n }\n\n if (!this.verticalContext) {\n return;\n }\n\n if (ev.key === KeyboardCode.ARROW_RIGHT && !this.open) {\n ev.preventDefault();\n ev.stopPropagation();\n this.open = true;\n this.moveFocus(this.items[0]);\n }\n }\n\n /** Set tabindex of the label to 0, then focus it. */\n @Method()\n async setFocus(): Promise<void> {\n this.htmlTabindex = 0;\n const label = this.hasContent ? this.labelButton : (this.host.firstElementChild as HTMLElement);\n label.focus();\n }\n\n /**\n * Focus the last item.\n */\n @Method()\n async focusLastItem(): Promise<void> {\n const lastItem = this.items[this.items.length - 1];\n if (isZMenuSection(lastItem) && lastItem.open) {\n lastItem.focusLastItem();\n\n return;\n }\n\n this.moveFocus(lastItem);\n }\n\n @Watch(\"open\")\n onOpenChanged(): void {\n if (!this.open) {\n cancelAnimationFrame(this.raf);\n this.closed.emit();\n this.items.forEach((item) => {\n if (isZMenuSection(item) && item.open) {\n item.open = false;\n }\n });\n\n return;\n }\n\n this.setItemsA11yAttrs();\n this.opened.emit();\n if (this.floating) {\n this.reflow(true);\n }\n }\n\n @Watch(\"htmlTabindex\")\n setLabelA11yAttrs(): void {\n if (this.hasContent && this.labelButton) {\n this.labelButton.tabIndex = this.htmlTabindex;\n\n return;\n }\n\n const slottedLabel = this.host.firstElementChild as HTMLElement;\n slottedLabel.role = \"menuitem\";\n slottedLabel.tabIndex = this.htmlTabindex;\n }\n\n /**\n * Set tabindex to -1 to all siblings of the clicked item.\n */\n @Listen(\"click\", {target: \"document\"})\n onItemClick(ev: MouseEvent): void {\n const clickedItem = this.items.find((item) => containsElement(item, ev.target as HTMLElement));\n if (clickedItem) {\n this.items.forEach((item) => {\n if (item === clickedItem) {\n return;\n }\n\n if (isZMenuSection(item)) {\n item.htmlTabindex = -1;\n } else {\n item.tabIndex = -1;\n }\n });\n }\n }\n\n @Listen(\"keydown\")\n onKeyDown(ev: KeyboardEvent): void {\n if (!this.hasContent) {\n return;\n }\n\n switch (ev.key) {\n case KeyboardCode.ESC:\n if (!this.open) {\n break;\n }\n ev.stopPropagation();\n ev.preventDefault();\n this.open = false;\n this.setFocus();\n break;\n case KeyboardCode.ARROW_DOWN: {\n if (document.activeElement === this.host) {\n if (this.verticalContext && !this.open) {\n break;\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n if (!this.open) {\n this.open = true;\n }\n this.moveFocus(this.items[0]);\n break;\n }\n\n const currentIndex = this.items.indexOf(this.focusableItem);\n if (this.verticalContext && currentIndex === this.items.length - 1) {\n // navigation is going to leave this menu. restore tabindex to the label and let the parent handle it\n this.setItemTabindex(this.items[currentIndex], -1);\n this.htmlTabindex = 0;\n break;\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n const receiver = this.items[currentIndex + 1];\n // if the last item is already focused, navigate to the first one\n this.moveFocus(receiver ?? this.items[0], this.focusableItem);\n break;\n }\n case KeyboardCode.ARROW_UP: {\n if (document.activeElement === this.host) {\n if (this.verticalContext) {\n break;\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n // open the menu and focus the last item\n if (!this.open) {\n this.open = true;\n }\n this.moveFocus(this.items[this.items.length - 1], this.focusableItem);\n break;\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n const currentIndex = this.items.indexOf(this.focusableItem);\n if (currentIndex === 0 && this.verticalContext) {\n this.setItemTabindex(this.focusableItem, -1);\n this.setFocus();\n break;\n }\n\n const receiver = this.items[currentIndex - 1] ?? this.items[this.items.length - 1];\n // if the receiver is a ZMenuSection and it's open, focus its last item\n if (isZMenuSection(receiver) && receiver.open) {\n this.setItemTabindex(this.focusableItem, -1);\n receiver.focusLastItem();\n break;\n }\n\n this.moveFocus(receiver, this.focusableItem);\n break;\n }\n case KeyboardCode.ARROW_LEFT:\n if (!this.open || !this.verticalContext) {\n break;\n }\n\n // close the menu and focus the label\n ev.preventDefault();\n ev.stopPropagation();\n this.open = false;\n this.setFocus();\n }\n }\n\n constructor() {\n this.toggle = this.toggle.bind(this);\n this.checkContent = this.checkContent.bind(this);\n this.onLabelSlotChange = this.onLabelSlotChange.bind(this);\n this.onLabelClick = this.onLabelClick.bind(this);\n this.onItemsChange = this.onItemsChange.bind(this);\n this.onLabelKeydown = this.onLabelKeydown.bind(this);\n }\n\n componentWillLoad(): void {\n this.setLabelA11yAttrs();\n this.onItemsChange();\n }\n\n render(): HTMLDivElement | HTMLZMenuElement {\n if (!this.hasContent) {\n return (\n <div class=\"menu-label\">\n <slot onSlotchange={this.onLabelSlotChange} />\n </div>\n );\n }\n\n return (\n <Host>\n <button\n ref={(el) => (this.labelButton = el)}\n class=\"menu-label\"\n aria-expanded={`${!!this.open}`}\n aria-haspopup={`${this.hasContent}`}\n aria-label={this.open ? \"Chiudi menù\" : \"Apri menù\"}\n role=\"menuitem\"\n tabIndex={this.htmlTabindex}\n onClick={this.onLabelClick}\n onKeyDown={this.onLabelKeydown}\n >\n <slot onSlotchange={this.onLabelSlotChange} />\n <z-icon name={this.open ? \"chevron-up\" : \"chevron-down\"} />\n </button>\n\n <div\n class=\"content\"\n ref={(el) => (this.content = el)}\n >\n {this.hasHeader && (\n <header class=\"header\">\n <slot\n name=\"header\"\n onSlotchange={this.checkContent}\n />\n </header>\n )}\n\n <div\n class=\"items\"\n role=\"menu\"\n >\n <slot\n name=\"item\"\n onSlotchange={this.onItemsChange}\n />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}