@zanichelli/albe-web-components 19.2.12-rc3 → 19.2.12

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 (1449) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/_commonjsHelpers-CFO10eej.js +3 -0
  3. package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +1 -0
  4. package/dist/cjs/breakpoints-B7vFm-3T.js +3 -0
  5. package/dist/cjs/breakpoints-B7vFm-3T.js.map +1 -0
  6. package/dist/cjs/iconset-Cz-UsfoU.js +3 -0
  7. package/dist/cjs/iconset-Cz-UsfoU.js.map +1 -0
  8. package/dist/cjs/index-D_S5lGcb.js +3 -0
  9. package/dist/cjs/index-D_S5lGcb.js.map +1 -0
  10. package/dist/cjs/index-wGaSHN1_.js +3 -0
  11. package/dist/cjs/index-wGaSHN1_.js.map +1 -0
  12. package/dist/cjs/index.cjs.js +4 -1
  13. package/dist/cjs/index.cjs.js.map +1 -0
  14. package/dist/cjs/loader.cjs.js +4 -1
  15. package/dist/cjs/loader.cjs.js.map +1 -0
  16. package/dist/cjs/reactive-controller-BmGKM-4y.js +1446 -0
  17. package/dist/cjs/reactive-controller-BmGKM-4y.js.map +1 -0
  18. package/dist/cjs/utils-C5_wGVkJ.js +3 -0
  19. package/dist/cjs/utils-C5_wGVkJ.js.map +1 -0
  20. package/dist/cjs/utils-DRCgbM7t.js +919 -0
  21. package/dist/cjs/utils-DRCgbM7t.js.map +1 -0
  22. package/dist/cjs/web-components-library.cjs.js +4 -1
  23. package/dist/cjs/web-components-library.cjs.js.map +1 -0
  24. package/dist/cjs/z-accordion.cjs.entry.js +4 -1
  25. package/dist/cjs/z-accordion.cjs.entry.js.map +1 -0
  26. package/dist/cjs/z-alert.cjs.entry.js +3 -0
  27. package/dist/cjs/z-alert.cjs.entry.js.map +1 -0
  28. package/dist/cjs/z-anchor-navigation.cjs.entry.js +5 -2
  29. package/dist/cjs/z-anchor-navigation.cjs.entry.js.map +1 -0
  30. package/dist/cjs/z-app-header-deprecated.cjs.entry.js +4 -1
  31. package/dist/cjs/z-app-header-deprecated.cjs.entry.js.map +1 -0
  32. package/dist/cjs/z-app-header_12.cjs.entry.js +57 -121
  33. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -0
  34. package/dist/cjs/z-aria-alert.cjs.entry.js +4 -1
  35. package/dist/cjs/z-aria-alert.cjs.entry.js.map +1 -0
  36. package/dist/cjs/z-avatar.cjs.entry.js +5 -2
  37. package/dist/cjs/z-avatar.cjs.entry.js.map +1 -0
  38. package/dist/cjs/z-book-card-app.cjs.entry.js +4 -1
  39. package/dist/cjs/z-book-card-app.cjs.entry.js.map +1 -0
  40. package/dist/cjs/z-book-card-deprecated.cjs.entry.js +5 -2
  41. package/dist/cjs/z-book-card-deprecated.cjs.entry.js.map +1 -0
  42. package/dist/cjs/z-book-card.cjs.entry.js +4 -1
  43. package/dist/cjs/z-book-card.cjs.entry.js.map +1 -0
  44. package/dist/cjs/z-book-cover.cjs.entry.js +4 -1
  45. package/dist/cjs/z-book-cover.cjs.entry.js.map +1 -0
  46. package/dist/cjs/z-breadcrumb.cjs.entry.js +6 -3
  47. package/dist/cjs/z-breadcrumb.cjs.entry.js.map +1 -0
  48. package/dist/cjs/z-button-sort.cjs.entry.js +4 -1
  49. package/dist/cjs/z-button-sort.cjs.entry.js.map +1 -0
  50. package/dist/cjs/z-card.cjs.entry.js +3 -0
  51. package/dist/cjs/z-card.cjs.entry.js.map +1 -0
  52. package/dist/cjs/z-carousel.cjs.entry.js +4 -1
  53. package/dist/cjs/z-carousel.cjs.entry.js.map +1 -0
  54. package/dist/cjs/z-chip.cjs.entry.js +5 -2
  55. package/dist/cjs/z-chip.cjs.entry.js.map +1 -0
  56. package/dist/cjs/z-color-picker.cjs.entry.js +5 -2
  57. package/dist/cjs/z-color-picker.cjs.entry.js.map +1 -0
  58. package/dist/cjs/z-combobox.cjs.entry.js +5 -2
  59. package/dist/cjs/z-combobox.cjs.entry.js.map +1 -0
  60. package/dist/cjs/z-cover-hero.cjs.entry.js +5 -2
  61. package/dist/cjs/z-cover-hero.cjs.entry.js.map +1 -0
  62. package/dist/cjs/z-date-picker.cjs.entry.js +4 -1
  63. package/dist/cjs/z-date-picker.cjs.entry.js.map +1 -0
  64. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +23 -39
  65. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js.map +1 -0
  66. package/dist/cjs/z-file-upload.cjs.entry.js +5 -2
  67. package/dist/cjs/z-file-upload.cjs.entry.js.map +1 -0
  68. package/dist/cjs/z-file.cjs.entry.js +4 -1
  69. package/dist/cjs/z-file.cjs.entry.js.map +1 -0
  70. package/dist/cjs/z-ghost-loading.cjs.entry.js +4 -1
  71. package/dist/cjs/z-ghost-loading.cjs.entry.js.map +1 -0
  72. package/dist/cjs/z-info-box.cjs.entry.js +4 -1
  73. package/dist/cjs/z-info-box.cjs.entry.js.map +1 -0
  74. package/dist/cjs/z-info-reveal.cjs.entry.js +4 -1
  75. package/dist/cjs/z-info-reveal.cjs.entry.js.map +1 -0
  76. package/dist/cjs/z-logo.cjs.entry.js +5 -2
  77. package/dist/cjs/z-logo.cjs.entry.js.map +1 -0
  78. package/dist/cjs/z-menu-deprecated.cjs.entry.js +5 -2
  79. package/dist/cjs/z-menu-deprecated.cjs.entry.js.map +1 -0
  80. package/dist/cjs/z-menu-section-deprecated.cjs.entry.js +4 -1
  81. package/dist/cjs/z-menu-section-deprecated.cjs.entry.js.map +1 -0
  82. package/dist/cjs/z-menu-section.cjs.entry.js +4 -1
  83. package/dist/cjs/z-menu-section.cjs.entry.js.map +1 -0
  84. package/dist/cjs/z-menu.cjs.entry.js +4 -1
  85. package/dist/cjs/z-menu.cjs.entry.js.map +1 -0
  86. package/dist/cjs/z-myz-card-alert.cjs.entry.js +3 -0
  87. package/dist/cjs/z-myz-card-alert.cjs.entry.js.map +1 -0
  88. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +3 -0
  89. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js.map +1 -0
  90. package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js +3 -0
  91. package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js.map +1 -0
  92. package/dist/cjs/z-myz-card-footer.cjs.entry.js +3 -0
  93. package/dist/cjs/z-myz-card-footer.cjs.entry.js.map +1 -0
  94. package/dist/cjs/z-myz-card-icon.cjs.entry.js +3 -0
  95. package/dist/cjs/z-myz-card-icon.cjs.entry.js.map +1 -0
  96. package/dist/cjs/z-myz-card-info.cjs.entry.js +5 -2
  97. package/dist/cjs/z-myz-card-info.cjs.entry.js.map +1 -0
  98. package/dist/cjs/z-myz-card-list.cjs.entry.js +3 -0
  99. package/dist/cjs/z-myz-card-list.cjs.entry.js.map +1 -0
  100. package/dist/cjs/z-myz-card_4.cjs.entry.js +4 -1
  101. package/dist/cjs/z-myz-card_4.cjs.entry.js.map +1 -0
  102. package/dist/cjs/z-myz-list-item.cjs.entry.js +4 -1
  103. package/dist/cjs/z-myz-list-item.cjs.entry.js.map +1 -0
  104. package/dist/cjs/z-myz-list.cjs.entry.js +3 -0
  105. package/dist/cjs/z-myz-list.cjs.entry.js.map +1 -0
  106. package/dist/cjs/z-navigation-tabs.cjs.entry.js +5 -2
  107. package/dist/cjs/z-navigation-tabs.cjs.entry.js.map +1 -0
  108. package/dist/cjs/z-notification.cjs.entry.js +4 -1
  109. package/dist/cjs/z-notification.cjs.entry.js.map +1 -0
  110. package/dist/cjs/z-otp.cjs.entry.js +3 -0
  111. package/dist/cjs/z-otp.cjs.entry.js.map +1 -0
  112. package/dist/cjs/z-pagination.cjs.entry.js +3 -0
  113. package/dist/cjs/z-pagination.cjs.entry.js.map +1 -0
  114. package/dist/cjs/z-panel-elem.cjs.entry.js +5 -2
  115. package/dist/cjs/z-panel-elem.cjs.entry.js.map +1 -0
  116. package/dist/cjs/z-popover.cjs.entry.js +5 -2
  117. package/dist/cjs/z-popover.cjs.entry.js.map +1 -0
  118. package/dist/cjs/z-range-picker.cjs.entry.js +6 -3
  119. package/dist/cjs/z-range-picker.cjs.entry.js.map +1 -0
  120. package/dist/cjs/z-result-card.cjs.entry.js +3 -0
  121. package/dist/cjs/z-result-card.cjs.entry.js.map +1 -0
  122. package/dist/cjs/z-section-title.cjs.entry.js +4 -1
  123. package/dist/cjs/z-section-title.cjs.entry.js.map +1 -0
  124. package/dist/cjs/z-select.cjs.entry.js +9 -6
  125. package/dist/cjs/z-select.cjs.entry.js.map +1 -0
  126. package/dist/cjs/z-skip-to-content.cjs.entry.js +5 -2
  127. package/dist/cjs/z-skip-to-content.cjs.entry.js.map +1 -0
  128. package/dist/cjs/z-slideshow.cjs.entry.js +4 -1
  129. package/dist/cjs/z-slideshow.cjs.entry.js.map +1 -0
  130. package/dist/cjs/z-stepper-item.cjs.entry.js +4 -1
  131. package/dist/cjs/z-stepper-item.cjs.entry.js.map +1 -0
  132. package/dist/cjs/z-stepper.cjs.entry.js +4 -1
  133. package/dist/cjs/z-stepper.cjs.entry.js.map +1 -0
  134. package/dist/cjs/z-table.cjs.entry.js +5 -2
  135. package/dist/cjs/z-table.cjs.entry.js.map +1 -0
  136. package/dist/cjs/z-tbody.cjs.entry.js +4 -1
  137. package/dist/cjs/z-tbody.cjs.entry.js.map +1 -0
  138. package/dist/cjs/z-td.cjs.entry.js +4 -1
  139. package/dist/cjs/z-td.cjs.entry.js.map +1 -0
  140. package/dist/cjs/z-tfoot.cjs.entry.js +4 -1
  141. package/dist/cjs/z-tfoot.cjs.entry.js.map +1 -0
  142. package/dist/cjs/z-th.cjs.entry.js +4 -1
  143. package/dist/cjs/z-th.cjs.entry.js.map +1 -0
  144. package/dist/cjs/z-thead.cjs.entry.js +4 -1
  145. package/dist/cjs/z-thead.cjs.entry.js.map +1 -0
  146. package/dist/cjs/z-toast-notification-list.cjs.entry.js +4 -1
  147. package/dist/cjs/z-toast-notification-list.cjs.entry.js.map +1 -0
  148. package/dist/cjs/z-toast-notification.cjs.entry.js +6 -3
  149. package/dist/cjs/z-toast-notification.cjs.entry.js.map +1 -0
  150. package/dist/cjs/z-toggle-button.cjs.entry.js +5 -2
  151. package/dist/cjs/z-toggle-button.cjs.entry.js.map +1 -0
  152. package/dist/cjs/z-toggle-switch.cjs.entry.js +7 -4
  153. package/dist/cjs/z-toggle-switch.cjs.entry.js.map +1 -0
  154. package/dist/cjs/z-tool.cjs.entry.js +6 -3
  155. package/dist/cjs/z-tool.cjs.entry.js.map +1 -0
  156. package/dist/cjs/z-toolbar.cjs.entry.js +4 -1
  157. package/dist/cjs/z-toolbar.cjs.entry.js.map +1 -0
  158. package/dist/cjs/z-tooltip.cjs.entry.js +4 -1
  159. package/dist/cjs/z-tooltip.cjs.entry.js.map +1 -0
  160. package/dist/cjs/z-tr.cjs.entry.js +6 -3
  161. package/dist/cjs/z-tr.cjs.entry.js.map +1 -0
  162. package/dist/cjs/z-tree-list.cjs.entry.js +4 -1
  163. package/dist/cjs/z-tree-list.cjs.entry.js.map +1 -0
  164. package/dist/cjs/z-visually-hidden.cjs.entry.js +4 -1
  165. package/dist/cjs/z-visually-hidden.cjs.entry.js.map +1 -0
  166. package/dist/collection/beans/index.js +1 -0
  167. package/dist/collection/beans/index.js.map +1 -0
  168. package/dist/collection/collection-manifest.json +11 -11
  169. package/dist/collection/components/book-card/z-book-card/index.js +2 -8
  170. package/dist/collection/components/book-card/z-book-card/index.js.map +1 -0
  171. package/dist/collection/components/book-card/z-book-card/styles.css +9 -0
  172. package/dist/collection/components/book-card/z-book-card-app/index.js +2 -3
  173. package/dist/collection/components/book-card/z-book-card-app/index.js.map +1 -0
  174. package/dist/collection/components/book-card/z-book-card-app/styles.css +4 -0
  175. package/dist/collection/components/date-picker/utils.js +1 -0
  176. package/dist/collection/components/date-picker/utils.js.map +1 -0
  177. package/dist/collection/components/date-picker/z-date-picker/index.js +2 -1
  178. package/dist/collection/components/date-picker/z-date-picker/index.js.map +1 -0
  179. package/dist/collection/components/date-picker/z-range-picker/index.js +4 -3
  180. package/dist/collection/components/date-picker/z-range-picker/index.js.map +1 -0
  181. package/dist/collection/components/deprecated/z-app-header-deprecated/index.js +2 -54
  182. package/dist/collection/components/deprecated/z-app-header-deprecated/index.js.map +1 -0
  183. package/dist/collection/components/deprecated/z-app-header-deprecated/styles.css +49 -0
  184. package/dist/collection/components/deprecated/z-book-card-deprecated/index.js +2 -5
  185. package/dist/collection/components/deprecated/z-book-card-deprecated/index.js.map +1 -0
  186. package/dist/collection/components/deprecated/z-book-card-deprecated/styles.css +6 -0
  187. package/dist/collection/components/deprecated/z-menu-deprecated/index.js +2 -2
  188. package/dist/collection/components/deprecated/z-menu-deprecated/index.js.map +1 -0
  189. package/dist/collection/components/deprecated/z-menu-deprecated/styles.css +5 -2
  190. package/dist/collection/components/deprecated/z-menu-section-deprecated/index.js +2 -1
  191. package/dist/collection/components/deprecated/z-menu-section-deprecated/index.js.map +1 -0
  192. package/dist/collection/components/deprecated/z-section-title/index.js +2 -2
  193. package/dist/collection/components/deprecated/z-section-title/index.js.map +1 -0
  194. package/dist/collection/components/deprecated/z-section-title/styles.css +3 -0
  195. package/dist/collection/components/file-upload/z-dragdrop-area/index.js +3 -2
  196. package/dist/collection/components/file-upload/z-dragdrop-area/index.js.map +1 -0
  197. package/dist/collection/components/file-upload/z-file/index.js +2 -1
  198. package/dist/collection/components/file-upload/z-file/index.js.map +1 -0
  199. package/dist/collection/components/file-upload/z-file-upload/index.js +3 -2
  200. package/dist/collection/components/file-upload/z-file-upload/index.js.map +1 -0
  201. package/dist/collection/components/index.js +1 -0
  202. package/dist/collection/components/index.js.map +1 -0
  203. package/dist/collection/components/list/z-list/index.js +2 -1
  204. package/dist/collection/components/list/z-list/index.js.map +1 -0
  205. package/dist/collection/components/list/z-list-element/index.js +2 -1
  206. package/dist/collection/components/list/z-list-element/index.js.map +1 -0
  207. package/dist/collection/components/list/z-list-group/index.js +3 -2
  208. package/dist/collection/components/list/z-list-group/index.js.map +1 -0
  209. package/dist/collection/components/list/z-tree-list/index.js +2 -1
  210. package/dist/collection/components/list/z-tree-list/index.js.map +1 -0
  211. package/dist/collection/components/table/cells/z-td/index.js +2 -1
  212. package/dist/collection/components/table/cells/z-td/index.js.map +1 -0
  213. package/dist/collection/components/table/cells/z-th/index.js +2 -1
  214. package/dist/collection/components/table/cells/z-th/index.js.map +1 -0
  215. package/dist/collection/components/table/z-table/index.js +2 -2
  216. package/dist/collection/components/table/z-table/index.js.map +1 -0
  217. package/dist/collection/components/table/z-table/styles.css +3 -0
  218. package/dist/collection/components/table/z-tbody/index.js +2 -1
  219. package/dist/collection/components/table/z-tbody/index.js.map +1 -0
  220. package/dist/collection/components/table/z-tfoot/index.js +2 -1
  221. package/dist/collection/components/table/z-tfoot/index.js.map +1 -0
  222. package/dist/collection/components/table/z-thead/index.js +2 -1
  223. package/dist/collection/components/table/z-thead/index.js.map +1 -0
  224. package/dist/collection/components/table/z-tr/index.js +2 -1
  225. package/dist/collection/components/table/z-tr/index.js.map +1 -0
  226. package/dist/collection/components/table/z-tr/styles.css +2 -2
  227. package/dist/collection/components/z-accordion/index.js +4 -11
  228. package/dist/collection/components/z-accordion/index.js.map +1 -0
  229. package/dist/collection/components/z-accordion/styles.css +12 -0
  230. package/dist/collection/components/z-anchor-navigation/index.js +4 -3
  231. package/dist/collection/components/z-anchor-navigation/index.js.map +1 -0
  232. package/dist/collection/components/z-app-header/index.js +22 -8
  233. package/dist/collection/components/z-app-header/index.js.map +1 -0
  234. package/dist/collection/components/z-app-header/styles.css +12 -12
  235. package/dist/collection/components/z-aria-alert/index.js +2 -1
  236. package/dist/collection/components/z-aria-alert/index.js.map +1 -0
  237. package/dist/collection/components/z-avatar/index.js +3 -2
  238. package/dist/collection/components/z-avatar/index.js.map +1 -0
  239. package/dist/collection/components/z-book-cover/index.js +2 -5
  240. package/dist/collection/components/z-book-cover/index.js.map +1 -0
  241. package/dist/collection/components/z-book-cover/styles.css +6 -0
  242. package/dist/collection/components/z-breadcrumb/index.js +3 -2
  243. package/dist/collection/components/z-breadcrumb/index.js.map +1 -0
  244. package/dist/collection/components/z-button/index.js +3 -2
  245. package/dist/collection/components/z-button/index.js.map +1 -0
  246. package/dist/collection/components/z-button-sort/index.js +2 -1
  247. package/dist/collection/components/z-button-sort/index.js.map +1 -0
  248. package/dist/collection/components/z-card/index.js +2 -8
  249. package/dist/collection/components/z-card/index.js.map +1 -0
  250. package/dist/collection/components/z-card/styles.css +9 -0
  251. package/dist/collection/components/z-carousel/index.js +1 -2
  252. package/dist/collection/components/z-carousel/index.js.map +1 -0
  253. package/dist/collection/components/z-carousel/styles.css +7 -3
  254. package/dist/collection/components/z-chip/index.js +3 -2
  255. package/dist/collection/components/z-chip/index.js.map +1 -0
  256. package/dist/collection/components/z-color-picker/index.js +2 -1
  257. package/dist/collection/components/z-color-picker/index.js.map +1 -0
  258. package/dist/collection/components/z-combobox/index.js +2 -1
  259. package/dist/collection/components/z-combobox/index.js.map +1 -0
  260. package/dist/collection/components/z-cover-hero/index.js +3 -5
  261. package/dist/collection/components/z-cover-hero/index.js.map +1 -0
  262. package/dist/collection/components/z-cover-hero/styles.css +5 -0
  263. package/dist/collection/components/z-divider/index.js +2 -1
  264. package/dist/collection/components/z-divider/index.js.map +1 -0
  265. package/dist/collection/components/z-ghost-loading/index.js +2 -1
  266. package/dist/collection/components/z-ghost-loading/index.js.map +1 -0
  267. package/dist/collection/components/z-icon/index.js +4 -3
  268. package/dist/collection/components/z-icon/index.js.map +1 -0
  269. package/dist/collection/components/z-info-box/index.js +2 -1
  270. package/dist/collection/components/z-info-box/index.js.map +1 -0
  271. package/dist/collection/components/z-info-reveal/index.js +2 -5
  272. package/dist/collection/components/z-info-reveal/index.js.map +1 -0
  273. package/dist/collection/components/z-info-reveal/styles.css +7 -1
  274. package/dist/collection/components/z-input/index.js +2 -1
  275. package/dist/collection/components/z-input/index.js.map +1 -0
  276. package/dist/collection/components/z-input-message/index.js +2 -1
  277. package/dist/collection/components/z-input-message/index.js.map +1 -0
  278. package/dist/collection/components/z-logo/index.js +2 -1
  279. package/dist/collection/components/z-logo/index.js.map +1 -0
  280. package/dist/collection/components/z-logo/styles.css +5 -0
  281. package/dist/collection/components/z-menu/index.js +1 -1
  282. package/dist/collection/components/z-menu/index.js.map +1 -0
  283. package/dist/collection/components/z-menu/styles.css +3 -0
  284. package/dist/collection/components/z-menu-section/index.js +2 -1
  285. package/dist/collection/components/z-menu-section/index.js.map +1 -0
  286. package/dist/collection/components/z-modal/index.js +17 -37
  287. package/dist/collection/components/z-modal/index.js.map +1 -0
  288. package/dist/collection/components/z-modal/styles.css +5 -2
  289. package/dist/collection/components/z-navigation-tabs/index.js +3 -4
  290. package/dist/collection/components/z-navigation-tabs/index.js.map +1 -0
  291. package/dist/collection/components/z-navigation-tabs/styles.css +4 -0
  292. package/dist/collection/components/z-notification/index.js +2 -4
  293. package/dist/collection/components/z-notification/index.js.map +1 -0
  294. package/dist/collection/components/z-notification/styles.css +5 -0
  295. package/dist/collection/components/z-offcanvas/index.js +43 -119
  296. package/dist/collection/components/z-offcanvas/index.js.map +1 -0
  297. package/dist/collection/components/z-offcanvas/styles.css +6 -0
  298. package/dist/collection/components/z-pagination/index.js +1 -2
  299. package/dist/collection/components/z-pagination/index.js.map +1 -0
  300. package/dist/collection/components/z-pagination/styles.css +6 -0
  301. package/dist/collection/components/z-panel-elem/index.js +3 -2
  302. package/dist/collection/components/z-panel-elem/index.js.map +1 -0
  303. package/dist/collection/components/z-popover/index.js +2 -6
  304. package/dist/collection/components/z-popover/index.js.map +1 -0
  305. package/dist/collection/components/z-popover/styles.css +6 -0
  306. package/dist/collection/components/z-result-card/index.js +1 -0
  307. package/dist/collection/components/z-result-card/index.js.map +1 -0
  308. package/dist/collection/components/z-searchbar/index.js +4 -8
  309. package/dist/collection/components/z-searchbar/index.js.map +1 -0
  310. package/dist/collection/components/z-searchbar/styles.css +5 -0
  311. package/dist/collection/components/z-select/index.js +6 -5
  312. package/dist/collection/components/z-select/index.js.map +1 -0
  313. package/dist/collection/components/z-skip-to-content/index.js +2 -1
  314. package/dist/collection/components/z-skip-to-content/index.js.map +1 -0
  315. package/dist/collection/components/z-stepper/index.js +2 -1
  316. package/dist/collection/components/z-stepper/index.js.map +1 -0
  317. package/dist/collection/components/z-stepper-item/index.js +2 -1
  318. package/dist/collection/components/z-stepper-item/index.js.map +1 -0
  319. package/dist/collection/components/z-tag/index.js +3 -4
  320. package/dist/collection/components/z-tag/index.js.map +1 -0
  321. package/dist/collection/components/z-tag/styles.css +5 -0
  322. package/dist/collection/components/z-toast-notification/index.js +4 -3
  323. package/dist/collection/components/z-toast-notification/index.js.map +1 -0
  324. package/dist/collection/components/z-toast-notification-list/index.js +2 -1
  325. package/dist/collection/components/z-toast-notification-list/index.js.map +1 -0
  326. package/dist/collection/components/z-toggle-button/index.js +3 -2
  327. package/dist/collection/components/z-toggle-button/index.js.map +1 -0
  328. package/dist/collection/components/z-toggle-switch/index.js +4 -3
  329. package/dist/collection/components/z-toggle-switch/index.js.map +1 -0
  330. package/dist/collection/components/z-tool/index.js +3 -2
  331. package/dist/collection/components/z-tool/index.js.map +1 -0
  332. package/dist/collection/components/z-toolbar/index.js +2 -2
  333. package/dist/collection/components/z-toolbar/index.js.map +1 -0
  334. package/dist/collection/components/z-toolbar/styles.css +4 -0
  335. package/dist/collection/components/z-tooltip/index.js +2 -5
  336. package/dist/collection/components/z-tooltip/index.js.map +1 -0
  337. package/dist/collection/components/z-tooltip/styles.css +6 -0
  338. package/dist/collection/components/z-visually-hidden/index.js +2 -1
  339. package/dist/collection/components/z-visually-hidden/index.js.map +1 -0
  340. package/dist/collection/constants/breakpoints.js +1 -0
  341. package/dist/collection/constants/breakpoints.js.map +1 -0
  342. package/dist/collection/constants/icons.js +1 -0
  343. package/dist/collection/constants/icons.js.map +1 -0
  344. package/dist/collection/constants/iconset.js +1 -0
  345. package/dist/collection/constants/iconset.js.map +1 -0
  346. package/dist/collection/index.js +1 -0
  347. package/dist/collection/index.js.map +1 -0
  348. package/dist/collection/snowflakes/myz/card/z-myz-card/index.js +3 -2
  349. package/dist/collection/snowflakes/myz/card/z-myz-card/index.js.map +1 -0
  350. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.js +1 -0
  351. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.js.map +1 -0
  352. package/dist/collection/snowflakes/myz/card/z-myz-card-body/index.js +1 -0
  353. package/dist/collection/snowflakes/myz/card/z-myz-card-body/index.js.map +1 -0
  354. package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.js +1 -0
  355. package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.js.map +1 -0
  356. package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.js +1 -0
  357. package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.js.map +1 -0
  358. package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.js +1 -0
  359. package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.js.map +1 -0
  360. package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.js +1 -0
  361. package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.js.map +1 -0
  362. package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.js +1 -0
  363. package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.js.map +1 -0
  364. package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.js +1 -0
  365. package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.js.map +1 -0
  366. package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.js +3 -2
  367. package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.js.map +1 -0
  368. package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.js +1 -0
  369. package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.js.map +1 -0
  370. package/dist/collection/snowflakes/myz/list/z-myz-list/index.js +1 -0
  371. package/dist/collection/snowflakes/myz/list/z-myz-list/index.js.map +1 -0
  372. package/dist/collection/snowflakes/myz/list/z-myz-list-item/index.js +1 -0
  373. package/dist/collection/snowflakes/myz/list/z-myz-list-item/index.js.map +1 -0
  374. package/dist/collection/snowflakes/myz/z-alert/index.js +1 -0
  375. package/dist/collection/snowflakes/myz/z-alert/index.js.map +1 -0
  376. package/dist/collection/snowflakes/myz/z-otp/index.js +1 -0
  377. package/dist/collection/snowflakes/myz/z-otp/index.js.map +1 -0
  378. package/dist/collection/snowflakes/myz/z-slideshow/index.js +1 -0
  379. package/dist/collection/snowflakes/myz/z-slideshow/index.js.map +1 -0
  380. package/dist/collection/utils/focus-trap-controller.js +100 -0
  381. package/dist/collection/utils/focus-trap-controller.js.map +1 -0
  382. package/dist/collection/utils/reactive-controller.js +46 -0
  383. package/dist/collection/utils/reactive-controller.js.map +1 -0
  384. package/dist/collection/utils/storybook-utils.js +8 -0
  385. package/dist/collection/utils/storybook-utils.js.map +1 -0
  386. package/dist/collection/utils/utils.js +60 -1
  387. package/dist/collection/utils/utils.js.map +1 -0
  388. package/dist/components/_commonjsHelpers.js +2 -1
  389. package/dist/components/_commonjsHelpers.js.map +1 -0
  390. package/dist/components/breakpoints.js +2 -1
  391. package/dist/components/breakpoints.js.map +1 -0
  392. package/dist/components/iconset.js +2 -1
  393. package/dist/components/iconset.js.map +1 -0
  394. package/dist/components/index.js +2 -1
  395. package/dist/components/index.js.map +1 -0
  396. package/dist/components/index10.js +2 -1
  397. package/dist/components/index10.js.map +1 -0
  398. package/dist/components/index11.js +2 -1
  399. package/dist/components/index11.js.map +1 -0
  400. package/dist/components/index12.js +2 -1
  401. package/dist/components/index12.js.map +1 -0
  402. package/dist/components/index13.js +2 -1
  403. package/dist/components/index13.js.map +1 -0
  404. package/dist/components/index14.js +2 -1
  405. package/dist/components/index14.js.map +1 -0
  406. package/dist/components/index15.js +2 -1
  407. package/dist/components/index15.js.map +1 -0
  408. package/dist/components/index16.js +2 -1
  409. package/dist/components/index16.js.map +1 -0
  410. package/dist/components/index17.js +2 -1
  411. package/dist/components/index17.js.map +1 -0
  412. package/dist/components/index18.js +2 -1
  413. package/dist/components/index18.js.map +1 -0
  414. package/dist/components/index19.js +2 -1
  415. package/dist/components/index19.js.map +1 -0
  416. package/dist/components/index2.js +2 -1
  417. package/dist/components/index2.js.map +1 -0
  418. package/dist/components/index20.js +2 -1
  419. package/dist/components/index20.js.map +1 -0
  420. package/dist/components/index21.js +2 -1
  421. package/dist/components/index21.js.map +1 -0
  422. package/dist/components/index22.js +2 -1
  423. package/dist/components/index22.js.map +1 -0
  424. package/dist/components/index23.js +2 -1
  425. package/dist/components/index23.js.map +1 -0
  426. package/dist/components/index24.js +2 -1
  427. package/dist/components/index24.js.map +1 -0
  428. package/dist/components/index25.js +2 -1
  429. package/dist/components/index25.js.map +1 -0
  430. package/dist/components/index26.js +2 -1
  431. package/dist/components/index26.js.map +1 -0
  432. package/dist/components/index27.js +2 -1
  433. package/dist/components/index27.js.map +1 -0
  434. package/dist/components/index3.js +2 -1
  435. package/dist/components/index3.js.map +1 -0
  436. package/dist/components/index4.js +2 -1
  437. package/dist/components/index4.js.map +1 -0
  438. package/dist/components/index5.js +2 -1
  439. package/dist/components/index5.js.map +1 -0
  440. package/dist/components/index6.js +2 -1
  441. package/dist/components/index6.js.map +1 -0
  442. package/dist/components/index7.js +2 -1
  443. package/dist/components/index7.js.map +1 -0
  444. package/dist/components/index8.js +2 -1
  445. package/dist/components/index8.js.map +1 -0
  446. package/dist/components/index9.js +2 -1
  447. package/dist/components/index9.js.map +1 -0
  448. package/dist/components/reactive-controller.js +6 -0
  449. package/dist/components/reactive-controller.js.map +1 -0
  450. package/dist/components/utils.js +7 -1
  451. package/dist/components/utils.js.map +1 -0
  452. package/dist/components/utils2.js +2 -1
  453. package/dist/components/utils2.js.map +1 -0
  454. package/dist/components/z-accordion.js +2 -1
  455. package/dist/components/z-accordion.js.map +1 -0
  456. package/dist/components/z-alert.js +2 -1
  457. package/dist/components/z-alert.js.map +1 -0
  458. package/dist/components/z-anchor-navigation.js +2 -1
  459. package/dist/components/z-anchor-navigation.js.map +1 -0
  460. package/dist/components/z-app-header-deprecated.js +2 -1
  461. package/dist/components/z-app-header-deprecated.js.map +1 -0
  462. package/dist/components/z-app-header.js +2 -1
  463. package/dist/components/z-app-header.js.map +1 -0
  464. package/dist/components/z-aria-alert.js +2 -1
  465. package/dist/components/z-aria-alert.js.map +1 -0
  466. package/dist/components/z-avatar.js +2 -1
  467. package/dist/components/z-avatar.js.map +1 -0
  468. package/dist/components/z-book-card-app.js +2 -1
  469. package/dist/components/z-book-card-app.js.map +1 -0
  470. package/dist/components/z-book-card-deprecated.js +2 -1
  471. package/dist/components/z-book-card-deprecated.js.map +1 -0
  472. package/dist/components/z-book-card.js +2 -1
  473. package/dist/components/z-book-card.js.map +1 -0
  474. package/dist/components/z-book-cover.js +2 -1
  475. package/dist/components/z-book-cover.js.map +1 -0
  476. package/dist/components/z-breadcrumb.js +2 -1
  477. package/dist/components/z-breadcrumb.js.map +1 -0
  478. package/dist/components/z-button-sort.js +2 -1
  479. package/dist/components/z-button-sort.js.map +1 -0
  480. package/dist/components/z-button.js +2 -1
  481. package/dist/components/z-button.js.map +1 -0
  482. package/dist/components/z-card.js +2 -1
  483. package/dist/components/z-card.js.map +1 -0
  484. package/dist/components/z-carousel.js +2 -1
  485. package/dist/components/z-carousel.js.map +1 -0
  486. package/dist/components/z-chip.js +2 -1
  487. package/dist/components/z-chip.js.map +1 -0
  488. package/dist/components/z-color-picker.js +2 -1
  489. package/dist/components/z-color-picker.js.map +1 -0
  490. package/dist/components/z-combobox.js +2 -1
  491. package/dist/components/z-combobox.js.map +1 -0
  492. package/dist/components/z-cover-hero.js +2 -1
  493. package/dist/components/z-cover-hero.js.map +1 -0
  494. package/dist/components/z-date-picker.js +3 -2
  495. package/dist/components/z-date-picker.js.map +1 -0
  496. package/dist/components/z-divider.js +2 -1
  497. package/dist/components/z-divider.js.map +1 -0
  498. package/dist/components/z-dragdrop-area.js +2 -1
  499. package/dist/components/z-dragdrop-area.js.map +1 -0
  500. package/dist/components/z-file-upload.js +2 -1
  501. package/dist/components/z-file-upload.js.map +1 -0
  502. package/dist/components/z-file.js +2 -1
  503. package/dist/components/z-file.js.map +1 -0
  504. package/dist/components/z-ghost-loading.js +2 -1
  505. package/dist/components/z-ghost-loading.js.map +1 -0
  506. package/dist/components/z-icon.js +2 -1
  507. package/dist/components/z-icon.js.map +1 -0
  508. package/dist/components/z-info-box.js +2 -1
  509. package/dist/components/z-info-box.js.map +1 -0
  510. package/dist/components/z-info-reveal.js +2 -1
  511. package/dist/components/z-info-reveal.js.map +1 -0
  512. package/dist/components/z-input-message.js +2 -1
  513. package/dist/components/z-input-message.js.map +1 -0
  514. package/dist/components/z-input.js +2 -1
  515. package/dist/components/z-input.js.map +1 -0
  516. package/dist/components/z-list-element.js +2 -1
  517. package/dist/components/z-list-element.js.map +1 -0
  518. package/dist/components/z-list-group.js +2 -1
  519. package/dist/components/z-list-group.js.map +1 -0
  520. package/dist/components/z-list.js +2 -1
  521. package/dist/components/z-list.js.map +1 -0
  522. package/dist/components/z-logo.js +2 -1
  523. package/dist/components/z-logo.js.map +1 -0
  524. package/dist/components/z-menu-deprecated.js +2 -1
  525. package/dist/components/z-menu-deprecated.js.map +1 -0
  526. package/dist/components/z-menu-section-deprecated.js +2 -1
  527. package/dist/components/z-menu-section-deprecated.js.map +1 -0
  528. package/dist/components/z-menu-section.js +2 -1
  529. package/dist/components/z-menu-section.js.map +1 -0
  530. package/dist/components/z-menu.js +2 -1
  531. package/dist/components/z-menu.js.map +1 -0
  532. package/dist/components/z-modal.js +2 -1
  533. package/dist/components/z-modal.js.map +1 -0
  534. package/dist/components/z-myz-card-alert.js +2 -1
  535. package/dist/components/z-myz-card-alert.js.map +1 -0
  536. package/dist/components/z-myz-card-body.js +2 -1
  537. package/dist/components/z-myz-card-body.js.map +1 -0
  538. package/dist/components/z-myz-card-cover.js +2 -1
  539. package/dist/components/z-myz-card-cover.js.map +1 -0
  540. package/dist/components/z-myz-card-dictionary.js +2 -1
  541. package/dist/components/z-myz-card-dictionary.js.map +1 -0
  542. package/dist/components/z-myz-card-footer-sections.js +2 -1
  543. package/dist/components/z-myz-card-footer-sections.js.map +1 -0
  544. package/dist/components/z-myz-card-footer.js +2 -1
  545. package/dist/components/z-myz-card-footer.js.map +1 -0
  546. package/dist/components/z-myz-card-header.js +2 -1
  547. package/dist/components/z-myz-card-header.js.map +1 -0
  548. package/dist/components/z-myz-card-icon.js +2 -1
  549. package/dist/components/z-myz-card-icon.js.map +1 -0
  550. package/dist/components/z-myz-card-info.js +2 -1
  551. package/dist/components/z-myz-card-info.js.map +1 -0
  552. package/dist/components/z-myz-card-list.js +2 -1
  553. package/dist/components/z-myz-card-list.js.map +1 -0
  554. package/dist/components/z-myz-card.js +2 -1
  555. package/dist/components/z-myz-card.js.map +1 -0
  556. package/dist/components/z-myz-list-item.js +2 -1
  557. package/dist/components/z-myz-list-item.js.map +1 -0
  558. package/dist/components/z-myz-list.js +2 -1
  559. package/dist/components/z-myz-list.js.map +1 -0
  560. package/dist/components/z-navigation-tabs.js +2 -1
  561. package/dist/components/z-navigation-tabs.js.map +1 -0
  562. package/dist/components/z-notification.js +2 -1
  563. package/dist/components/z-notification.js.map +1 -0
  564. package/dist/components/z-offcanvas.js +2 -1
  565. package/dist/components/z-offcanvas.js.map +1 -0
  566. package/dist/components/z-otp.js +2 -1
  567. package/dist/components/z-otp.js.map +1 -0
  568. package/dist/components/z-pagination.js +2 -1
  569. package/dist/components/z-pagination.js.map +1 -0
  570. package/dist/components/z-panel-elem.js +2 -1
  571. package/dist/components/z-panel-elem.js.map +1 -0
  572. package/dist/components/z-popover.js +2 -1
  573. package/dist/components/z-popover.js.map +1 -0
  574. package/dist/components/z-range-picker.js +2 -1
  575. package/dist/components/z-range-picker.js.map +1 -0
  576. package/dist/components/z-result-card.js +2 -1
  577. package/dist/components/z-result-card.js.map +1 -0
  578. package/dist/components/z-searchbar.js +2 -1
  579. package/dist/components/z-searchbar.js.map +1 -0
  580. package/dist/components/z-section-title.js +2 -1
  581. package/dist/components/z-section-title.js.map +1 -0
  582. package/dist/components/z-select.js +2 -1
  583. package/dist/components/z-select.js.map +1 -0
  584. package/dist/components/z-skip-to-content.js +2 -1
  585. package/dist/components/z-skip-to-content.js.map +1 -0
  586. package/dist/components/z-slideshow.js +2 -1
  587. package/dist/components/z-slideshow.js.map +1 -0
  588. package/dist/components/z-stepper-item.js +2 -1
  589. package/dist/components/z-stepper-item.js.map +1 -0
  590. package/dist/components/z-stepper.js +2 -1
  591. package/dist/components/z-stepper.js.map +1 -0
  592. package/dist/components/z-table.js +2 -1
  593. package/dist/components/z-table.js.map +1 -0
  594. package/dist/components/z-tag.js +2 -1
  595. package/dist/components/z-tag.js.map +1 -0
  596. package/dist/components/z-tbody.js +2 -1
  597. package/dist/components/z-tbody.js.map +1 -0
  598. package/dist/components/z-td.js +2 -1
  599. package/dist/components/z-td.js.map +1 -0
  600. package/dist/components/z-tfoot.js +2 -1
  601. package/dist/components/z-tfoot.js.map +1 -0
  602. package/dist/components/z-th.js +2 -1
  603. package/dist/components/z-th.js.map +1 -0
  604. package/dist/components/z-thead.js +2 -1
  605. package/dist/components/z-thead.js.map +1 -0
  606. package/dist/components/z-toast-notification-list.js +2 -1
  607. package/dist/components/z-toast-notification-list.js.map +1 -0
  608. package/dist/components/z-toast-notification.js +8 -2
  609. package/dist/components/z-toast-notification.js.map +1 -0
  610. package/dist/components/z-toggle-button.js +2 -1
  611. package/dist/components/z-toggle-button.js.map +1 -0
  612. package/dist/components/z-toggle-switch.js +2 -1
  613. package/dist/components/z-toggle-switch.js.map +1 -0
  614. package/dist/components/z-tool.js +2 -1
  615. package/dist/components/z-tool.js.map +1 -0
  616. package/dist/components/z-toolbar.js +2 -1
  617. package/dist/components/z-toolbar.js.map +1 -0
  618. package/dist/components/z-tooltip.js +2 -1
  619. package/dist/components/z-tooltip.js.map +1 -0
  620. package/dist/components/z-tr.js +2 -1
  621. package/dist/components/z-tr.js.map +1 -0
  622. package/dist/components/z-tree-list.js +2 -1
  623. package/dist/components/z-tree-list.js.map +1 -0
  624. package/dist/components/z-visually-hidden.js +2 -1
  625. package/dist/components/z-visually-hidden.js.map +1 -0
  626. package/dist/esm/_commonjsHelpers-B85MJLTf.js +3 -0
  627. package/dist/esm/_commonjsHelpers-B85MJLTf.js.map +1 -0
  628. package/dist/esm/breakpoints-Q-tWjk7P.js +3 -0
  629. package/dist/esm/breakpoints-Q-tWjk7P.js.map +1 -0
  630. package/dist/esm/iconset-AwzX9V8L.js +3 -0
  631. package/dist/esm/iconset-AwzX9V8L.js.map +1 -0
  632. package/dist/esm/index-BKCj6NR2.js +3 -0
  633. package/dist/esm/index-BKCj6NR2.js.map +1 -0
  634. package/dist/esm/index-DPdXlnVe.js +3 -0
  635. package/dist/esm/index-DPdXlnVe.js.map +1 -0
  636. package/dist/esm/index.js +4 -1
  637. package/dist/esm/index.js.map +1 -0
  638. package/dist/esm/loader.js +4 -1
  639. package/dist/esm/loader.js.map +1 -0
  640. package/dist/esm/reactive-controller-DZQWST94.js +1443 -0
  641. package/dist/esm/reactive-controller-DZQWST94.js.map +1 -0
  642. package/dist/esm/utils-D-T4RQuj.js +896 -0
  643. package/dist/esm/utils-D-T4RQuj.js.map +1 -0
  644. package/dist/esm/utils-DuuLzXZj.js +3 -0
  645. package/dist/esm/utils-DuuLzXZj.js.map +1 -0
  646. package/dist/esm/web-components-library.js +4 -1
  647. package/dist/esm/web-components-library.js.map +1 -0
  648. package/dist/esm/z-accordion.entry.js +4 -1
  649. package/dist/esm/z-accordion.entry.js.map +1 -0
  650. package/dist/esm/z-alert.entry.js +3 -0
  651. package/dist/esm/z-alert.entry.js.map +1 -0
  652. package/dist/esm/z-anchor-navigation.entry.js +5 -2
  653. package/dist/esm/z-anchor-navigation.entry.js.map +1 -0
  654. package/dist/esm/z-app-header-deprecated.entry.js +4 -1
  655. package/dist/esm/z-app-header-deprecated.entry.js.map +1 -0
  656. package/dist/esm/z-app-header_12.entry.js +57 -121
  657. package/dist/esm/z-app-header_12.entry.js.map +1 -0
  658. package/dist/esm/z-aria-alert.entry.js +4 -1
  659. package/dist/esm/z-aria-alert.entry.js.map +1 -0
  660. package/dist/esm/z-avatar.entry.js +5 -2
  661. package/dist/esm/z-avatar.entry.js.map +1 -0
  662. package/dist/esm/z-book-card-app.entry.js +4 -1
  663. package/dist/esm/z-book-card-app.entry.js.map +1 -0
  664. package/dist/esm/z-book-card-deprecated.entry.js +5 -2
  665. package/dist/esm/z-book-card-deprecated.entry.js.map +1 -0
  666. package/dist/esm/z-book-card.entry.js +4 -1
  667. package/dist/esm/z-book-card.entry.js.map +1 -0
  668. package/dist/esm/z-book-cover.entry.js +4 -1
  669. package/dist/esm/z-book-cover.entry.js.map +1 -0
  670. package/dist/esm/z-breadcrumb.entry.js +6 -3
  671. package/dist/esm/z-breadcrumb.entry.js.map +1 -0
  672. package/dist/esm/z-button-sort.entry.js +4 -1
  673. package/dist/esm/z-button-sort.entry.js.map +1 -0
  674. package/dist/esm/z-card.entry.js +3 -0
  675. package/dist/esm/z-card.entry.js.map +1 -0
  676. package/dist/esm/z-carousel.entry.js +4 -1
  677. package/dist/esm/z-carousel.entry.js.map +1 -0
  678. package/dist/esm/z-chip.entry.js +5 -2
  679. package/dist/esm/z-chip.entry.js.map +1 -0
  680. package/dist/esm/z-color-picker.entry.js +5 -2
  681. package/dist/esm/z-color-picker.entry.js.map +1 -0
  682. package/dist/esm/z-combobox.entry.js +5 -2
  683. package/dist/esm/z-combobox.entry.js.map +1 -0
  684. package/dist/esm/z-cover-hero.entry.js +5 -2
  685. package/dist/esm/z-cover-hero.entry.js.map +1 -0
  686. package/dist/esm/z-date-picker.entry.js +4 -1
  687. package/dist/esm/z-date-picker.entry.js.map +1 -0
  688. package/dist/esm/z-dragdrop-area_2.entry.js +23 -39
  689. package/dist/esm/z-dragdrop-area_2.entry.js.map +1 -0
  690. package/dist/esm/z-file-upload.entry.js +5 -2
  691. package/dist/esm/z-file-upload.entry.js.map +1 -0
  692. package/dist/esm/z-file.entry.js +4 -1
  693. package/dist/esm/z-file.entry.js.map +1 -0
  694. package/dist/esm/z-ghost-loading.entry.js +4 -1
  695. package/dist/esm/z-ghost-loading.entry.js.map +1 -0
  696. package/dist/esm/z-info-box.entry.js +4 -1
  697. package/dist/esm/z-info-box.entry.js.map +1 -0
  698. package/dist/esm/z-info-reveal.entry.js +4 -1
  699. package/dist/esm/z-info-reveal.entry.js.map +1 -0
  700. package/dist/esm/z-logo.entry.js +5 -2
  701. package/dist/esm/z-logo.entry.js.map +1 -0
  702. package/dist/esm/z-menu-deprecated.entry.js +5 -2
  703. package/dist/esm/z-menu-deprecated.entry.js.map +1 -0
  704. package/dist/esm/z-menu-section-deprecated.entry.js +4 -1
  705. package/dist/esm/z-menu-section-deprecated.entry.js.map +1 -0
  706. package/dist/esm/z-menu-section.entry.js +4 -1
  707. package/dist/esm/z-menu-section.entry.js.map +1 -0
  708. package/dist/esm/z-menu.entry.js +4 -1
  709. package/dist/esm/z-menu.entry.js.map +1 -0
  710. package/dist/esm/z-myz-card-alert.entry.js +3 -0
  711. package/dist/esm/z-myz-card-alert.entry.js.map +1 -0
  712. package/dist/esm/z-myz-card-dictionary.entry.js +3 -0
  713. package/dist/esm/z-myz-card-dictionary.entry.js.map +1 -0
  714. package/dist/esm/z-myz-card-footer-sections.entry.js +3 -0
  715. package/dist/esm/z-myz-card-footer-sections.entry.js.map +1 -0
  716. package/dist/esm/z-myz-card-footer.entry.js +3 -0
  717. package/dist/esm/z-myz-card-footer.entry.js.map +1 -0
  718. package/dist/esm/z-myz-card-icon.entry.js +3 -0
  719. package/dist/esm/z-myz-card-icon.entry.js.map +1 -0
  720. package/dist/esm/z-myz-card-info.entry.js +5 -2
  721. package/dist/esm/z-myz-card-info.entry.js.map +1 -0
  722. package/dist/esm/z-myz-card-list.entry.js +3 -0
  723. package/dist/esm/z-myz-card-list.entry.js.map +1 -0
  724. package/dist/esm/z-myz-card_4.entry.js +4 -1
  725. package/dist/esm/z-myz-card_4.entry.js.map +1 -0
  726. package/dist/esm/z-myz-list-item.entry.js +4 -1
  727. package/dist/esm/z-myz-list-item.entry.js.map +1 -0
  728. package/dist/esm/z-myz-list.entry.js +3 -0
  729. package/dist/esm/z-myz-list.entry.js.map +1 -0
  730. package/dist/esm/z-navigation-tabs.entry.js +5 -2
  731. package/dist/esm/z-navigation-tabs.entry.js.map +1 -0
  732. package/dist/esm/z-notification.entry.js +4 -1
  733. package/dist/esm/z-notification.entry.js.map +1 -0
  734. package/dist/esm/z-otp.entry.js +3 -0
  735. package/dist/esm/z-otp.entry.js.map +1 -0
  736. package/dist/esm/z-pagination.entry.js +3 -0
  737. package/dist/esm/z-pagination.entry.js.map +1 -0
  738. package/dist/esm/z-panel-elem.entry.js +5 -2
  739. package/dist/esm/z-panel-elem.entry.js.map +1 -0
  740. package/dist/esm/z-popover.entry.js +5 -2
  741. package/dist/esm/z-popover.entry.js.map +1 -0
  742. package/dist/esm/z-range-picker.entry.js +6 -3
  743. package/dist/esm/z-range-picker.entry.js.map +1 -0
  744. package/dist/esm/z-result-card.entry.js +3 -0
  745. package/dist/esm/z-result-card.entry.js.map +1 -0
  746. package/dist/esm/z-section-title.entry.js +4 -1
  747. package/dist/esm/z-section-title.entry.js.map +1 -0
  748. package/dist/esm/z-select.entry.js +9 -6
  749. package/dist/esm/z-select.entry.js.map +1 -0
  750. package/dist/esm/z-skip-to-content.entry.js +5 -2
  751. package/dist/esm/z-skip-to-content.entry.js.map +1 -0
  752. package/dist/esm/z-slideshow.entry.js +4 -1
  753. package/dist/esm/z-slideshow.entry.js.map +1 -0
  754. package/dist/esm/z-stepper-item.entry.js +4 -1
  755. package/dist/esm/z-stepper-item.entry.js.map +1 -0
  756. package/dist/esm/z-stepper.entry.js +4 -1
  757. package/dist/esm/z-stepper.entry.js.map +1 -0
  758. package/dist/esm/z-table.entry.js +5 -2
  759. package/dist/esm/z-table.entry.js.map +1 -0
  760. package/dist/esm/z-tbody.entry.js +4 -1
  761. package/dist/esm/z-tbody.entry.js.map +1 -0
  762. package/dist/esm/z-td.entry.js +4 -1
  763. package/dist/esm/z-td.entry.js.map +1 -0
  764. package/dist/esm/z-tfoot.entry.js +4 -1
  765. package/dist/esm/z-tfoot.entry.js.map +1 -0
  766. package/dist/esm/z-th.entry.js +4 -1
  767. package/dist/esm/z-th.entry.js.map +1 -0
  768. package/dist/esm/z-thead.entry.js +4 -1
  769. package/dist/esm/z-thead.entry.js.map +1 -0
  770. package/dist/esm/z-toast-notification-list.entry.js +4 -1
  771. package/dist/esm/z-toast-notification-list.entry.js.map +1 -0
  772. package/dist/esm/z-toast-notification.entry.js +6 -3
  773. package/dist/esm/z-toast-notification.entry.js.map +1 -0
  774. package/dist/esm/z-toggle-button.entry.js +5 -2
  775. package/dist/esm/z-toggle-button.entry.js.map +1 -0
  776. package/dist/esm/z-toggle-switch.entry.js +7 -4
  777. package/dist/esm/z-toggle-switch.entry.js.map +1 -0
  778. package/dist/esm/z-tool.entry.js +6 -3
  779. package/dist/esm/z-tool.entry.js.map +1 -0
  780. package/dist/esm/z-toolbar.entry.js +4 -1
  781. package/dist/esm/z-toolbar.entry.js.map +1 -0
  782. package/dist/esm/z-tooltip.entry.js +4 -1
  783. package/dist/esm/z-tooltip.entry.js.map +1 -0
  784. package/dist/esm/z-tr.entry.js +6 -3
  785. package/dist/esm/z-tr.entry.js.map +1 -0
  786. package/dist/esm/z-tree-list.entry.js +4 -1
  787. package/dist/esm/z-tree-list.entry.js.map +1 -0
  788. package/dist/esm/z-visually-hidden.entry.js +4 -1
  789. package/dist/esm/z-visually-hidden.entry.js.map +1 -0
  790. package/dist/types/components/book-card/z-book-card/index.d.ts +0 -7
  791. package/dist/types/components/book-card/z-book-card-app/index.d.ts +0 -2
  792. package/dist/types/components/deprecated/z-app-header-deprecated/index.d.ts +0 -53
  793. package/dist/types/components/deprecated/z-book-card-deprecated/index.d.ts +0 -4
  794. package/dist/types/components/deprecated/z-menu-deprecated/index.d.ts +0 -1
  795. package/dist/types/components/deprecated/z-section-title/index.d.ts +0 -1
  796. package/dist/types/components/table/z-table/index.d.ts +0 -1
  797. package/dist/types/components/z-accordion/index.d.ts +2 -10
  798. package/dist/types/components/z-anchor-navigation/index.d.ts +1 -1
  799. package/dist/types/components/z-app-header/index.d.ts +4 -6
  800. package/dist/types/components/z-book-cover/index.d.ts +0 -4
  801. package/dist/types/components/z-button/index.d.ts +1 -1
  802. package/dist/types/components/z-card/index.d.ts +1 -8
  803. package/dist/types/components/z-carousel/index.d.ts +0 -2
  804. package/dist/types/components/z-cover-hero/index.d.ts +0 -3
  805. package/dist/types/components/z-info-reveal/index.d.ts +0 -4
  806. package/dist/types/components/z-menu/index.d.ts +0 -1
  807. package/dist/types/components/z-modal/index.d.ts +4 -11
  808. package/dist/types/components/z-navigation-tabs/index.d.ts +0 -2
  809. package/dist/types/components/z-notification/index.d.ts +0 -3
  810. package/dist/types/components/z-offcanvas/index.d.ts +12 -37
  811. package/dist/types/components/z-pagination/index.d.ts +0 -2
  812. package/dist/types/components/z-popover/index.d.ts +0 -5
  813. package/dist/types/components/z-searchbar/index.d.ts +0 -5
  814. package/dist/types/components/z-tag/index.d.ts +0 -2
  815. package/dist/types/components/z-toolbar/index.d.ts +0 -1
  816. package/dist/types/components/z-tooltip/index.d.ts +0 -4
  817. package/dist/types/components.d.ts +18 -601
  818. package/dist/types/snowflakes/myz/card/z-myz-card/index.d.ts +1 -1
  819. package/dist/types/snowflakes/myz/card/z-myz-card-info/index.d.ts +1 -1
  820. package/dist/types/utils/focus-trap-controller.d.ts +53 -0
  821. package/dist/types/utils/reactive-controller.d.ts +39 -0
  822. package/dist/types/utils/storybook-utils.d.ts +7 -2
  823. package/dist/types/utils/utils.d.ts +10 -0
  824. package/dist/web-components-library/index.esm.js +2 -1
  825. package/dist/web-components-library/index.esm.js.map +1 -0
  826. package/dist/web-components-library/p-02741f3e.entry.js +2 -0
  827. package/dist/web-components-library/p-02741f3e.entry.js.map +1 -0
  828. package/dist/web-components-library/p-02b47708.entry.js +2 -0
  829. package/dist/web-components-library/p-02b47708.entry.js.map +1 -0
  830. package/dist/web-components-library/p-02e3f7db.entry.js +2 -0
  831. package/dist/web-components-library/p-02e3f7db.entry.js.map +1 -0
  832. package/dist/web-components-library/p-0b8313b7.entry.js +2 -0
  833. package/dist/web-components-library/p-0b8313b7.entry.js.map +1 -0
  834. package/dist/web-components-library/p-0f79c6e8.entry.js +2 -0
  835. package/dist/web-components-library/p-0f79c6e8.entry.js.map +1 -0
  836. package/dist/web-components-library/p-168426fe.entry.js +2 -0
  837. package/dist/web-components-library/p-168426fe.entry.js.map +1 -0
  838. package/dist/web-components-library/p-1f64ba04.entry.js +8 -0
  839. package/dist/web-components-library/p-1f64ba04.entry.js.map +1 -0
  840. package/dist/web-components-library/p-29816d9c.entry.js +2 -0
  841. package/dist/web-components-library/p-29816d9c.entry.js.map +1 -0
  842. package/dist/web-components-library/p-2a00eea3.entry.js +2 -0
  843. package/dist/web-components-library/p-2a00eea3.entry.js.map +1 -0
  844. package/dist/web-components-library/p-2ffbc315.entry.js +2 -0
  845. package/dist/web-components-library/p-2ffbc315.entry.js.map +1 -0
  846. package/dist/web-components-library/p-31635e9d.entry.js +2 -0
  847. package/dist/web-components-library/p-31635e9d.entry.js.map +1 -0
  848. package/dist/web-components-library/p-338fc882.entry.js +2 -0
  849. package/dist/web-components-library/p-338fc882.entry.js.map +1 -0
  850. package/dist/web-components-library/p-40079bb3.entry.js +2 -0
  851. package/dist/web-components-library/p-40079bb3.entry.js.map +1 -0
  852. package/dist/web-components-library/p-413c743d.entry.js +2 -0
  853. package/dist/web-components-library/p-413c743d.entry.js.map +1 -0
  854. package/dist/web-components-library/p-441cb2d9.entry.js +2 -0
  855. package/dist/web-components-library/p-441cb2d9.entry.js.map +1 -0
  856. package/dist/web-components-library/p-44b8aba8.entry.js +2 -0
  857. package/dist/web-components-library/p-44b8aba8.entry.js.map +1 -0
  858. package/dist/web-components-library/p-4767a2b3.entry.js +2 -0
  859. package/dist/web-components-library/p-4767a2b3.entry.js.map +1 -0
  860. package/dist/web-components-library/p-48b9411e.entry.js +2 -0
  861. package/dist/web-components-library/p-48b9411e.entry.js.map +1 -0
  862. package/dist/web-components-library/p-52e01182.entry.js +2 -0
  863. package/dist/web-components-library/p-52e01182.entry.js.map +1 -0
  864. package/dist/web-components-library/p-56f926d7.entry.js +2 -0
  865. package/dist/web-components-library/p-56f926d7.entry.js.map +1 -0
  866. package/dist/web-components-library/p-585b7068.entry.js +2 -0
  867. package/dist/web-components-library/p-585b7068.entry.js.map +1 -0
  868. package/dist/web-components-library/p-5928e726.entry.js +2 -0
  869. package/dist/web-components-library/p-5928e726.entry.js.map +1 -0
  870. package/dist/web-components-library/p-5b72a84e.entry.js +2 -0
  871. package/dist/web-components-library/p-5b72a84e.entry.js.map +1 -0
  872. package/dist/web-components-library/p-5fc0afef.entry.js +2 -0
  873. package/dist/web-components-library/p-5fc0afef.entry.js.map +1 -0
  874. package/dist/web-components-library/p-602aad3e.entry.js +2 -0
  875. package/dist/web-components-library/p-602aad3e.entry.js.map +1 -0
  876. package/dist/web-components-library/p-65013fbe.entry.js +2 -0
  877. package/dist/web-components-library/p-65013fbe.entry.js.map +1 -0
  878. package/dist/web-components-library/p-680e12d3.entry.js +2 -0
  879. package/dist/web-components-library/p-680e12d3.entry.js.map +1 -0
  880. package/dist/web-components-library/p-6a949aa2.entry.js +2 -0
  881. package/dist/web-components-library/p-6a949aa2.entry.js.map +1 -0
  882. package/dist/web-components-library/p-6d5dac88.entry.js +2 -0
  883. package/dist/web-components-library/p-6d5dac88.entry.js.map +1 -0
  884. package/dist/web-components-library/p-6df25588.entry.js +2 -0
  885. package/dist/web-components-library/p-6df25588.entry.js.map +1 -0
  886. package/dist/web-components-library/p-720d8465.entry.js +2 -0
  887. package/dist/web-components-library/p-720d8465.entry.js.map +1 -0
  888. package/dist/web-components-library/p-7825ea5e.entry.js +2 -0
  889. package/dist/web-components-library/p-7825ea5e.entry.js.map +1 -0
  890. package/dist/web-components-library/p-7a0eb225.entry.js +2 -0
  891. package/dist/web-components-library/p-7a0eb225.entry.js.map +1 -0
  892. package/dist/web-components-library/p-7c1da49a.entry.js +2 -0
  893. package/dist/web-components-library/p-7c1da49a.entry.js.map +1 -0
  894. package/dist/web-components-library/p-7c3e6b8d.entry.js +2 -0
  895. package/dist/web-components-library/p-7c3e6b8d.entry.js.map +1 -0
  896. package/dist/web-components-library/p-7d9d5708.entry.js +2 -0
  897. package/dist/web-components-library/p-7d9d5708.entry.js.map +1 -0
  898. package/dist/web-components-library/p-813716a7.entry.js +2 -0
  899. package/dist/web-components-library/p-813716a7.entry.js.map +1 -0
  900. package/dist/web-components-library/p-8282c9d3.entry.js +2 -0
  901. package/dist/web-components-library/p-8282c9d3.entry.js.map +1 -0
  902. package/dist/web-components-library/p-829ea489.entry.js +2 -0
  903. package/dist/web-components-library/p-829ea489.entry.js.map +1 -0
  904. package/dist/web-components-library/p-832c0410.entry.js +2 -0
  905. package/dist/web-components-library/p-832c0410.entry.js.map +1 -0
  906. package/dist/web-components-library/p-83d30a6b.entry.js +2 -0
  907. package/dist/web-components-library/p-83d30a6b.entry.js.map +1 -0
  908. package/dist/web-components-library/p-8437b51b.entry.js +17 -0
  909. package/dist/web-components-library/p-8437b51b.entry.js.map +1 -0
  910. package/dist/web-components-library/p-883a78e8.entry.js +2 -0
  911. package/dist/web-components-library/p-883a78e8.entry.js.map +1 -0
  912. package/dist/web-components-library/p-8b02ad8e.entry.js +2 -0
  913. package/dist/web-components-library/p-8b02ad8e.entry.js.map +1 -0
  914. package/dist/web-components-library/p-93762440.entry.js +2 -0
  915. package/dist/web-components-library/p-93762440.entry.js.map +1 -0
  916. package/dist/web-components-library/p-9640df86.entry.js +2 -0
  917. package/dist/web-components-library/p-9640df86.entry.js.map +1 -0
  918. package/dist/web-components-library/p-9738ace8.entry.js +2 -0
  919. package/dist/web-components-library/p-9738ace8.entry.js.map +1 -0
  920. package/dist/web-components-library/p-97f87456.entry.js +2 -0
  921. package/dist/web-components-library/p-97f87456.entry.js.map +1 -0
  922. package/dist/web-components-library/p-9b4f88c3.entry.js +2 -0
  923. package/dist/web-components-library/p-9b4f88c3.entry.js.map +1 -0
  924. package/dist/web-components-library/p-9d9a2685.entry.js +2 -0
  925. package/dist/web-components-library/p-9d9a2685.entry.js.map +1 -0
  926. package/dist/web-components-library/p-9db95f97.entry.js +2 -0
  927. package/dist/web-components-library/p-9db95f97.entry.js.map +1 -0
  928. package/dist/web-components-library/p-9f86e284.entry.js +2 -0
  929. package/dist/web-components-library/p-9f86e284.entry.js.map +1 -0
  930. package/dist/web-components-library/p-AwzX9V8L.js +2 -1
  931. package/dist/web-components-library/p-AwzX9V8L.js.map +1 -0
  932. package/dist/web-components-library/p-B85MJLTf.js +2 -1
  933. package/dist/web-components-library/p-B85MJLTf.js.map +1 -0
  934. package/dist/web-components-library/p-B8WJfd4z.js +2 -1
  935. package/dist/web-components-library/p-B8WJfd4z.js.map +1 -0
  936. package/dist/web-components-library/p-BKCj6NR2.js +2 -1
  937. package/dist/web-components-library/p-BKCj6NR2.js.map +1 -0
  938. package/dist/web-components-library/p-C-uijUlb.js +6 -0
  939. package/dist/web-components-library/p-C-uijUlb.js.map +1 -0
  940. package/dist/web-components-library/p-DALRZVXG.js +7 -0
  941. package/dist/web-components-library/p-DALRZVXG.js.map +1 -0
  942. package/dist/web-components-library/p-DPdXlnVe.js +3 -2
  943. package/dist/web-components-library/p-DPdXlnVe.js.map +1 -0
  944. package/dist/web-components-library/p-Q-tWjk7P.js +2 -1
  945. package/dist/web-components-library/p-Q-tWjk7P.js.map +1 -0
  946. package/dist/web-components-library/p-a1f1e2da.entry.js +2 -0
  947. package/dist/web-components-library/p-a1f1e2da.entry.js.map +1 -0
  948. package/dist/web-components-library/p-a3b628d2.entry.js +2 -0
  949. package/dist/web-components-library/p-a3b628d2.entry.js.map +1 -0
  950. package/dist/web-components-library/p-a5647972.entry.js +2 -0
  951. package/dist/web-components-library/p-a5647972.entry.js.map +1 -0
  952. package/dist/web-components-library/p-a97bfd11.entry.js +2 -0
  953. package/dist/web-components-library/p-a97bfd11.entry.js.map +1 -0
  954. package/dist/web-components-library/p-af91a46b.entry.js +2 -0
  955. package/dist/web-components-library/p-af91a46b.entry.js.map +1 -0
  956. package/dist/web-components-library/p-b02a920c.entry.js +2 -0
  957. package/dist/web-components-library/p-b02a920c.entry.js.map +1 -0
  958. package/dist/web-components-library/p-b3c84f65.entry.js +2 -0
  959. package/dist/web-components-library/p-b3c84f65.entry.js.map +1 -0
  960. package/dist/web-components-library/p-bba3b3ac.entry.js +2 -0
  961. package/dist/web-components-library/p-bba3b3ac.entry.js.map +1 -0
  962. package/dist/web-components-library/p-c700b3b6.entry.js +2 -0
  963. package/dist/web-components-library/p-c700b3b6.entry.js.map +1 -0
  964. package/dist/web-components-library/p-c9f7a6fd.entry.js +2 -0
  965. package/dist/web-components-library/p-c9f7a6fd.entry.js.map +1 -0
  966. package/dist/web-components-library/p-d13bba23.entry.js +2 -0
  967. package/dist/web-components-library/p-d13bba23.entry.js.map +1 -0
  968. package/dist/web-components-library/p-dcd96768.entry.js +2 -0
  969. package/dist/web-components-library/p-dcd96768.entry.js.map +1 -0
  970. package/dist/web-components-library/p-e44e5a9e.entry.js +2 -0
  971. package/dist/web-components-library/p-e44e5a9e.entry.js.map +1 -0
  972. package/dist/web-components-library/p-ec0ef7bb.entry.js +2 -0
  973. package/dist/web-components-library/p-ec0ef7bb.entry.js.map +1 -0
  974. package/dist/web-components-library/p-f1fa85fe.entry.js +2 -0
  975. package/dist/web-components-library/p-f1fa85fe.entry.js.map +1 -0
  976. package/dist/web-components-library/p-f70d4f1f.entry.js +2 -0
  977. package/dist/web-components-library/p-f70d4f1f.entry.js.map +1 -0
  978. package/dist/web-components-library/p-fb41e2bb.entry.js +2 -0
  979. package/dist/web-components-library/p-fb41e2bb.entry.js.map +1 -0
  980. package/dist/web-components-library/p-fb804d28.entry.js +2 -0
  981. package/dist/web-components-library/p-fb804d28.entry.js.map +1 -0
  982. package/dist/web-components-library/p-ffb1c8ae.entry.js +2 -0
  983. package/dist/web-components-library/p-ffb1c8ae.entry.js.map +1 -0
  984. package/dist/web-components-library/web-components-library.esm.js +2 -1
  985. package/dist/web-components-library/web-components-library.esm.js.map +1 -0
  986. package/package.json +16 -16
  987. package/readme.md +8 -19
  988. package/www/build/index.esm.js +2 -1
  989. package/www/build/index.esm.js.map +1 -0
  990. package/www/build/p-02741f3e.entry.js +2 -0
  991. package/www/build/p-02741f3e.entry.js.map +1 -0
  992. package/www/build/p-02b47708.entry.js +2 -0
  993. package/www/build/p-02b47708.entry.js.map +1 -0
  994. package/www/build/p-02e3f7db.entry.js +2 -0
  995. package/www/build/p-02e3f7db.entry.js.map +1 -0
  996. package/www/build/p-0b8313b7.entry.js +2 -0
  997. package/www/build/p-0b8313b7.entry.js.map +1 -0
  998. package/www/build/p-0f79c6e8.entry.js +2 -0
  999. package/www/build/p-0f79c6e8.entry.js.map +1 -0
  1000. package/www/build/p-168426fe.entry.js +2 -0
  1001. package/www/build/p-168426fe.entry.js.map +1 -0
  1002. package/www/build/p-1f64ba04.entry.js +8 -0
  1003. package/www/build/p-1f64ba04.entry.js.map +1 -0
  1004. package/www/build/p-29816d9c.entry.js +2 -0
  1005. package/www/build/p-29816d9c.entry.js.map +1 -0
  1006. package/www/build/p-2a00eea3.entry.js +2 -0
  1007. package/www/build/p-2a00eea3.entry.js.map +1 -0
  1008. package/www/build/p-2ffbc315.entry.js +2 -0
  1009. package/www/build/p-2ffbc315.entry.js.map +1 -0
  1010. package/www/build/p-31635e9d.entry.js +2 -0
  1011. package/www/build/p-31635e9d.entry.js.map +1 -0
  1012. package/www/build/p-338fc882.entry.js +2 -0
  1013. package/www/build/p-338fc882.entry.js.map +1 -0
  1014. package/www/build/p-40079bb3.entry.js +2 -0
  1015. package/www/build/p-40079bb3.entry.js.map +1 -0
  1016. package/www/build/p-413c743d.entry.js +2 -0
  1017. package/www/build/p-413c743d.entry.js.map +1 -0
  1018. package/www/build/p-441cb2d9.entry.js +2 -0
  1019. package/www/build/p-441cb2d9.entry.js.map +1 -0
  1020. package/www/build/p-44b8aba8.entry.js +2 -0
  1021. package/www/build/p-44b8aba8.entry.js.map +1 -0
  1022. package/www/build/p-4767a2b3.entry.js +2 -0
  1023. package/www/build/p-4767a2b3.entry.js.map +1 -0
  1024. package/www/build/p-48b9411e.entry.js +2 -0
  1025. package/www/build/p-48b9411e.entry.js.map +1 -0
  1026. package/www/build/p-52e01182.entry.js +2 -0
  1027. package/www/build/p-52e01182.entry.js.map +1 -0
  1028. package/www/build/p-56f926d7.entry.js +2 -0
  1029. package/www/build/p-56f926d7.entry.js.map +1 -0
  1030. package/www/build/p-585b7068.entry.js +2 -0
  1031. package/www/build/p-585b7068.entry.js.map +1 -0
  1032. package/www/build/p-5928e726.entry.js +2 -0
  1033. package/www/build/p-5928e726.entry.js.map +1 -0
  1034. package/www/build/p-5b72a84e.entry.js +2 -0
  1035. package/www/build/p-5b72a84e.entry.js.map +1 -0
  1036. package/www/build/p-5fc0afef.entry.js +2 -0
  1037. package/www/build/p-5fc0afef.entry.js.map +1 -0
  1038. package/www/build/p-602aad3e.entry.js +2 -0
  1039. package/www/build/p-602aad3e.entry.js.map +1 -0
  1040. package/www/build/p-65013fbe.entry.js +2 -0
  1041. package/www/build/p-65013fbe.entry.js.map +1 -0
  1042. package/www/build/p-680e12d3.entry.js +2 -0
  1043. package/www/build/p-680e12d3.entry.js.map +1 -0
  1044. package/www/build/p-6a949aa2.entry.js +2 -0
  1045. package/www/build/p-6a949aa2.entry.js.map +1 -0
  1046. package/www/build/p-6d5dac88.entry.js +2 -0
  1047. package/www/build/p-6d5dac88.entry.js.map +1 -0
  1048. package/www/build/p-6df25588.entry.js +2 -0
  1049. package/www/build/p-6df25588.entry.js.map +1 -0
  1050. package/www/build/p-720d8465.entry.js +2 -0
  1051. package/www/build/p-720d8465.entry.js.map +1 -0
  1052. package/www/build/p-7825ea5e.entry.js +2 -0
  1053. package/www/build/p-7825ea5e.entry.js.map +1 -0
  1054. package/www/build/p-7a0eb225.entry.js +2 -0
  1055. package/www/build/p-7a0eb225.entry.js.map +1 -0
  1056. package/www/build/p-7c1da49a.entry.js +2 -0
  1057. package/www/build/p-7c1da49a.entry.js.map +1 -0
  1058. package/www/build/p-7c3e6b8d.entry.js +2 -0
  1059. package/www/build/p-7c3e6b8d.entry.js.map +1 -0
  1060. package/www/build/p-7d9d5708.entry.js +2 -0
  1061. package/www/build/p-7d9d5708.entry.js.map +1 -0
  1062. package/www/build/p-813716a7.entry.js +2 -0
  1063. package/www/build/p-813716a7.entry.js.map +1 -0
  1064. package/www/build/p-8282c9d3.entry.js +2 -0
  1065. package/www/build/p-8282c9d3.entry.js.map +1 -0
  1066. package/www/build/p-829ea489.entry.js +2 -0
  1067. package/www/build/p-829ea489.entry.js.map +1 -0
  1068. package/www/build/p-832c0410.entry.js +2 -0
  1069. package/www/build/p-832c0410.entry.js.map +1 -0
  1070. package/www/build/p-83d30a6b.entry.js +2 -0
  1071. package/www/build/p-83d30a6b.entry.js.map +1 -0
  1072. package/www/build/p-8437b51b.entry.js +17 -0
  1073. package/www/build/p-8437b51b.entry.js.map +1 -0
  1074. package/www/build/p-883a78e8.entry.js +2 -0
  1075. package/www/build/p-883a78e8.entry.js.map +1 -0
  1076. package/www/build/p-8b02ad8e.entry.js +2 -0
  1077. package/www/build/p-8b02ad8e.entry.js.map +1 -0
  1078. package/www/build/p-93762440.entry.js +2 -0
  1079. package/www/build/p-93762440.entry.js.map +1 -0
  1080. package/www/build/p-9640df86.entry.js +2 -0
  1081. package/www/build/p-9640df86.entry.js.map +1 -0
  1082. package/www/build/p-9738ace8.entry.js +2 -0
  1083. package/www/build/p-9738ace8.entry.js.map +1 -0
  1084. package/www/build/p-97f87456.entry.js +2 -0
  1085. package/www/build/p-97f87456.entry.js.map +1 -0
  1086. package/www/build/p-9b4f88c3.entry.js +2 -0
  1087. package/www/build/p-9b4f88c3.entry.js.map +1 -0
  1088. package/www/build/p-9d9a2685.entry.js +2 -0
  1089. package/www/build/p-9d9a2685.entry.js.map +1 -0
  1090. package/www/build/p-9db95f97.entry.js +2 -0
  1091. package/www/build/p-9db95f97.entry.js.map +1 -0
  1092. package/www/build/p-9f86e284.entry.js +2 -0
  1093. package/www/build/p-9f86e284.entry.js.map +1 -0
  1094. package/www/build/p-AwzX9V8L.js +2 -1
  1095. package/www/build/p-AwzX9V8L.js.map +1 -0
  1096. package/www/build/p-B85MJLTf.js +2 -1
  1097. package/www/build/p-B85MJLTf.js.map +1 -0
  1098. package/www/build/p-B8WJfd4z.js +2 -1
  1099. package/www/build/p-B8WJfd4z.js.map +1 -0
  1100. package/www/build/p-BKCj6NR2.js +2 -1
  1101. package/www/build/p-BKCj6NR2.js.map +1 -0
  1102. package/www/build/p-C-uijUlb.js +6 -0
  1103. package/www/build/p-C-uijUlb.js.map +1 -0
  1104. package/www/build/p-DALRZVXG.js +7 -0
  1105. package/www/build/p-DALRZVXG.js.map +1 -0
  1106. package/www/build/p-DPdXlnVe.js +3 -2
  1107. package/www/build/p-DPdXlnVe.js.map +1 -0
  1108. package/www/build/p-Q-tWjk7P.js +2 -1
  1109. package/www/build/p-Q-tWjk7P.js.map +1 -0
  1110. package/www/build/p-a1f1e2da.entry.js +2 -0
  1111. package/www/build/p-a1f1e2da.entry.js.map +1 -0
  1112. package/www/build/p-a3b628d2.entry.js +2 -0
  1113. package/www/build/p-a3b628d2.entry.js.map +1 -0
  1114. package/www/build/p-a5647972.entry.js +2 -0
  1115. package/www/build/p-a5647972.entry.js.map +1 -0
  1116. package/www/build/p-a97bfd11.entry.js +2 -0
  1117. package/www/build/p-a97bfd11.entry.js.map +1 -0
  1118. package/www/build/p-af91a46b.entry.js +2 -0
  1119. package/www/build/p-af91a46b.entry.js.map +1 -0
  1120. package/www/build/p-b02a920c.entry.js +2 -0
  1121. package/www/build/p-b02a920c.entry.js.map +1 -0
  1122. package/www/build/p-b3c84f65.entry.js +2 -0
  1123. package/www/build/p-b3c84f65.entry.js.map +1 -0
  1124. package/www/build/p-bba3b3ac.entry.js +2 -0
  1125. package/www/build/p-bba3b3ac.entry.js.map +1 -0
  1126. package/www/build/p-c700b3b6.entry.js +2 -0
  1127. package/www/build/p-c700b3b6.entry.js.map +1 -0
  1128. package/www/build/p-c9f7a6fd.entry.js +2 -0
  1129. package/www/build/p-c9f7a6fd.entry.js.map +1 -0
  1130. package/www/build/p-d13bba23.entry.js +2 -0
  1131. package/www/build/p-d13bba23.entry.js.map +1 -0
  1132. package/www/build/p-dcd96768.entry.js +2 -0
  1133. package/www/build/p-dcd96768.entry.js.map +1 -0
  1134. package/www/build/p-e44e5a9e.entry.js +2 -0
  1135. package/www/build/p-e44e5a9e.entry.js.map +1 -0
  1136. package/www/build/p-ec0ef7bb.entry.js +2 -0
  1137. package/www/build/p-ec0ef7bb.entry.js.map +1 -0
  1138. package/www/build/p-f1fa85fe.entry.js +2 -0
  1139. package/www/build/p-f1fa85fe.entry.js.map +1 -0
  1140. package/www/build/p-f70d4f1f.entry.js +2 -0
  1141. package/www/build/p-f70d4f1f.entry.js.map +1 -0
  1142. package/www/build/p-f78b0ee3.js +2 -0
  1143. package/www/build/p-fb41e2bb.entry.js +2 -0
  1144. package/www/build/p-fb41e2bb.entry.js.map +1 -0
  1145. package/www/build/p-fb804d28.entry.js +2 -0
  1146. package/www/build/p-fb804d28.entry.js.map +1 -0
  1147. package/www/build/p-ffb1c8ae.entry.js +2 -0
  1148. package/www/build/p-ffb1c8ae.entry.js.map +1 -0
  1149. package/www/build/web-components-library.esm.js +2 -1
  1150. package/www/build/web-components-library.esm.js.map +1 -0
  1151. package/www/index.html +1 -1
  1152. package/dist/cjs/utils-BY7xrW7W.js +0 -265
  1153. package/dist/collection/__mocks__/fileMock.js +0 -1
  1154. package/dist/collection/components/book-card/z-book-card/index.stories.js +0 -175
  1155. package/dist/collection/components/book-card/z-book-card-app/index.stories.js +0 -40
  1156. package/dist/collection/components/css-components/z-fab/index.stories.js +0 -103
  1157. package/dist/collection/components/css-components/z-label/index.stories.js +0 -9
  1158. package/dist/collection/components/css-components/z-link/index.stories.js +0 -73
  1159. package/dist/collection/components/css-components/z-scrollbar/index.stories.js +0 -72
  1160. package/dist/collection/components/date-picker/z-date-picker/index.stories.js +0 -111
  1161. package/dist/collection/components/date-picker/z-range-picker/index.stories.js +0 -109
  1162. package/dist/collection/components/deprecated/z-app-header-deprecated/index.stories.js +0 -636
  1163. package/dist/collection/components/deprecated/z-book-card-deprecated/index.stories.js +0 -383
  1164. package/dist/collection/components/deprecated/z-menu-deprecated/index.stories.js +0 -128
  1165. package/dist/collection/components/deprecated/z-menu-section-deprecated/index.stories.js +0 -40
  1166. package/dist/collection/components/deprecated/z-section-title/index.stories.js +0 -56
  1167. package/dist/collection/components/file-upload/z-file/index.stories.js +0 -16
  1168. package/dist/collection/components/file-upload/z-file-upload/index.stories.js +0 -139
  1169. package/dist/collection/components/list/z-list/index.stories.js +0 -184
  1170. package/dist/collection/components/list/z-list-element/index.stories.js +0 -127
  1171. package/dist/collection/components/list/z-list-group/index.stories.js +0 -120
  1172. package/dist/collection/components/list/z-tree-list/index.stories.js +0 -119
  1173. package/dist/collection/components/table/z-table/index.stories.js +0 -282
  1174. package/dist/collection/components/z-accordion/index.stories.js +0 -164
  1175. package/dist/collection/components/z-anchor-navigation/index.stories.js +0 -350
  1176. package/dist/collection/components/z-app-header/index.stories.js +0 -318
  1177. package/dist/collection/components/z-aria-alert/index.stories.js +0 -75
  1178. package/dist/collection/components/z-avatar/index.stories.js +0 -50
  1179. package/dist/collection/components/z-book-cover/index.stories.js +0 -30
  1180. package/dist/collection/components/z-breadcrumb/index.stories.js +0 -67
  1181. package/dist/collection/components/z-button/index.stories.js +0 -103
  1182. package/dist/collection/components/z-button-sort/index.stories.js +0 -30
  1183. package/dist/collection/components/z-card/index.stories.js +0 -302
  1184. package/dist/collection/components/z-carousel/index.stories.js +0 -128
  1185. package/dist/collection/components/z-chip/index.stories.js +0 -69
  1186. package/dist/collection/components/z-color-picker/index.stories.js +0 -33
  1187. package/dist/collection/components/z-combobox/index.stories.js +0 -77
  1188. package/dist/collection/components/z-cover-hero/index.stories.js +0 -255
  1189. package/dist/collection/components/z-divider/index.stories.js +0 -44
  1190. package/dist/collection/components/z-ghost-loading/index.stories.js +0 -21
  1191. package/dist/collection/components/z-icon/index.stories.js +0 -70
  1192. package/dist/collection/components/z-info-box/index.stories.js +0 -19
  1193. package/dist/collection/components/z-info-reveal/index.stories.js +0 -58
  1194. package/dist/collection/components/z-input/index.stories.js +0 -293
  1195. package/dist/collection/components/z-input-message/index.stories.js +0 -36
  1196. package/dist/collection/components/z-logo/index.stories.js +0 -25
  1197. package/dist/collection/components/z-menu/index.stories.js +0 -122
  1198. package/dist/collection/components/z-menu-section/index.stories.js +0 -40
  1199. package/dist/collection/components/z-modal/index.stories.js +0 -201
  1200. package/dist/collection/components/z-navigation-tabs/index.stories.js +0 -190
  1201. package/dist/collection/components/z-notification/index.stories.js +0 -174
  1202. package/dist/collection/components/z-offcanvas/index.stories.js +0 -143
  1203. package/dist/collection/components/z-pagination/index.stories.js +0 -117
  1204. package/dist/collection/components/z-panel-elem/index.stories.js +0 -25
  1205. package/dist/collection/components/z-popover/index.stories.js +0 -282
  1206. package/dist/collection/components/z-result-card/z-result-card.stories.js +0 -147
  1207. package/dist/collection/components/z-searchbar/index.stories.js +0 -332
  1208. package/dist/collection/components/z-select/index.stories.js +0 -359
  1209. package/dist/collection/components/z-skip-to-content/index.stories.js +0 -40
  1210. package/dist/collection/components/z-stepper/index.stories.js +0 -108
  1211. package/dist/collection/components/z-stepper-item/index.stories.js +0 -58
  1212. package/dist/collection/components/z-tag/index.stories.js +0 -63
  1213. package/dist/collection/components/z-toast-notification/index.stories.js +0 -176
  1214. package/dist/collection/components/z-toast-notification-list/index.stories.js +0 -147
  1215. package/dist/collection/components/z-toggle-button/index.stories.js +0 -22
  1216. package/dist/collection/components/z-toggle-switch/index.stories.js +0 -26
  1217. package/dist/collection/components/z-tool/index.stories.js +0 -146
  1218. package/dist/collection/components/z-toolbar/index.stories.js +0 -317
  1219. package/dist/collection/components/z-tooltip/index.stories.js +0 -122
  1220. package/dist/collection/components/z-visually-hidden/index.stories.js +0 -27
  1221. package/dist/collection/snowflakes/myz/card/z-myz-card/index.stories.js +0 -72
  1222. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.stories.js +0 -24
  1223. package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.stories.js +0 -24
  1224. package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.stories.js +0 -128
  1225. package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.stories.js +0 -28
  1226. package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.stories.js +0 -16
  1227. package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.stories.js +0 -22
  1228. package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.stories.js +0 -22
  1229. package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.stories.js +0 -18
  1230. package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.stories.js +0 -14
  1231. package/dist/collection/snowflakes/myz/list/z-myz-list/index.stories.js +0 -18
  1232. package/dist/collection/snowflakes/myz/list/z-myz-list-item/index.stories.js +0 -28
  1233. package/dist/collection/snowflakes/myz/z-alert/index.stories.js +0 -30
  1234. package/dist/collection/snowflakes/myz/z-otp/index.stories.js +0 -32
  1235. package/dist/collection/snowflakes/myz/z-slideshow/index.stories.js +0 -16
  1236. package/dist/esm/utils-BEzZQwOB.js +0 -249
  1237. package/dist/types/__mocks__/fileMock.d.ts +0 -2
  1238. package/dist/types/components/book-card/z-book-card/index.stories.d.ts +0 -50
  1239. package/dist/types/components/book-card/z-book-card-app/index.stories.d.ts +0 -39
  1240. package/dist/types/components/css-components/z-fab/index.stories.d.ts +0 -63
  1241. package/dist/types/components/css-components/z-label/index.stories.d.ts +0 -9
  1242. package/dist/types/components/css-components/z-link/index.stories.d.ts +0 -45
  1243. package/dist/types/components/css-components/z-scrollbar/index.stories.d.ts +0 -57
  1244. package/dist/types/components/date-picker/z-date-picker/index.stories.d.ts +0 -33
  1245. package/dist/types/components/date-picker/z-range-picker/index.stories.d.ts +0 -51
  1246. package/dist/types/components/deprecated/z-app-header-deprecated/index.stories.d.ts +0 -120
  1247. package/dist/types/components/deprecated/z-book-card-deprecated/index.stories.d.ts +0 -106
  1248. package/dist/types/components/deprecated/z-menu-deprecated/index.stories.d.ts +0 -27
  1249. package/dist/types/components/deprecated/z-menu-section-deprecated/index.stories.d.ts +0 -16
  1250. package/dist/types/components/deprecated/z-section-title/index.stories.d.ts +0 -41
  1251. package/dist/types/components/file-upload/z-file/index.stories.d.ts +0 -14
  1252. package/dist/types/components/file-upload/z-file-upload/index.stories.d.ts +0 -58
  1253. package/dist/types/components/list/z-list/index.stories.d.ts +0 -62
  1254. package/dist/types/components/list/z-list-element/index.stories.d.ts +0 -77
  1255. package/dist/types/components/list/z-list-group/index.stories.d.ts +0 -47
  1256. package/dist/types/components/list/z-tree-list/index.stories.d.ts +0 -25
  1257. package/dist/types/components/table/z-table/index.stories.d.ts +0 -98
  1258. package/dist/types/components/z-accordion/index.stories.d.ts +0 -142
  1259. package/dist/types/components/z-anchor-navigation/index.stories.d.ts +0 -34
  1260. package/dist/types/components/z-app-header/index.stories.d.ts +0 -128
  1261. package/dist/types/components/z-aria-alert/index.stories.d.ts +0 -26
  1262. package/dist/types/components/z-avatar/index.stories.d.ts +0 -42
  1263. package/dist/types/components/z-book-cover/index.stories.d.ts +0 -21
  1264. package/dist/types/components/z-breadcrumb/index.stories.d.ts +0 -52
  1265. package/dist/types/components/z-button/index.stories.d.ts +0 -79
  1266. package/dist/types/components/z-button-sort/index.stories.d.ts +0 -22
  1267. package/dist/types/components/z-card/index.stories.d.ts +0 -75
  1268. package/dist/types/components/z-carousel/index.stories.d.ts +0 -100
  1269. package/dist/types/components/z-chip/index.stories.d.ts +0 -46
  1270. package/dist/types/components/z-color-picker/index.stories.d.ts +0 -33
  1271. package/dist/types/components/z-combobox/index.stories.d.ts +0 -58
  1272. package/dist/types/components/z-cover-hero/index.stories.d.ts +0 -113
  1273. package/dist/types/components/z-divider/index.stories.d.ts +0 -37
  1274. package/dist/types/components/z-ghost-loading/index.stories.d.ts +0 -9
  1275. package/dist/types/components/z-icon/index.stories.d.ts +0 -56
  1276. package/dist/types/components/z-info-box/index.stories.d.ts +0 -12
  1277. package/dist/types/components/z-info-reveal/index.stories.d.ts +0 -42
  1278. package/dist/types/components/z-input/index.stories.d.ts +0 -126
  1279. package/dist/types/components/z-input-message/index.stories.d.ts +0 -33
  1280. package/dist/types/components/z-logo/index.stories.d.ts +0 -18
  1281. package/dist/types/components/z-menu/index.stories.d.ts +0 -26
  1282. package/dist/types/components/z-menu-section/index.stories.d.ts +0 -16
  1283. package/dist/types/components/z-modal/index.stories.d.ts +0 -37
  1284. package/dist/types/components/z-navigation-tabs/index.stories.d.ts +0 -78
  1285. package/dist/types/components/z-notification/index.stories.d.ts +0 -77
  1286. package/dist/types/components/z-offcanvas/index.stories.d.ts +0 -76
  1287. package/dist/types/components/z-pagination/index.stories.d.ts +0 -102
  1288. package/dist/types/components/z-panel-elem/index.stories.d.ts +0 -18
  1289. package/dist/types/components/z-popover/index.stories.d.ts +0 -82
  1290. package/dist/types/components/z-result-card/z-result-card.stories.d.ts +0 -12
  1291. package/dist/types/components/z-searchbar/index.stories.d.ts +0 -163
  1292. package/dist/types/components/z-select/index.stories.d.ts +0 -84
  1293. package/dist/types/components/z-skip-to-content/index.stories.d.ts +0 -31
  1294. package/dist/types/components/z-stepper/index.stories.d.ts +0 -25
  1295. package/dist/types/components/z-stepper-item/index.stories.d.ts +0 -34
  1296. package/dist/types/components/z-tag/index.stories.d.ts +0 -39
  1297. package/dist/types/components/z-toast-notification/index.stories.d.ts +0 -96
  1298. package/dist/types/components/z-toast-notification-list/index.stories.d.ts +0 -87
  1299. package/dist/types/components/z-toggle-button/index.stories.d.ts +0 -16
  1300. package/dist/types/components/z-toggle-switch/index.stories.d.ts +0 -22
  1301. package/dist/types/components/z-tool/index.stories.d.ts +0 -70
  1302. package/dist/types/components/z-toolbar/index.stories.d.ts +0 -52
  1303. package/dist/types/components/z-tooltip/index.stories.d.ts +0 -40
  1304. package/dist/types/components/z-visually-hidden/index.stories.d.ts +0 -9
  1305. package/dist/web-components-library/p-0105149a.entry.js +0 -1
  1306. package/dist/web-components-library/p-087956fa.entry.js +0 -1
  1307. package/dist/web-components-library/p-10e5e16e.entry.js +0 -1
  1308. package/dist/web-components-library/p-13e7f751.entry.js +0 -1
  1309. package/dist/web-components-library/p-1580db58.entry.js +0 -1
  1310. package/dist/web-components-library/p-1993b0ad.entry.js +0 -1
  1311. package/dist/web-components-library/p-1a95491d.entry.js +0 -1
  1312. package/dist/web-components-library/p-20d94cce.entry.js +0 -1
  1313. package/dist/web-components-library/p-21c85e04.entry.js +0 -1
  1314. package/dist/web-components-library/p-23b46642.entry.js +0 -1
  1315. package/dist/web-components-library/p-271dfd9c.entry.js +0 -1
  1316. package/dist/web-components-library/p-29dde955.entry.js +0 -1
  1317. package/dist/web-components-library/p-2abf765d.entry.js +0 -1
  1318. package/dist/web-components-library/p-2d4c01c3.entry.js +0 -1
  1319. package/dist/web-components-library/p-2dabe353.entry.js +0 -1
  1320. package/dist/web-components-library/p-2df6d169.entry.js +0 -1
  1321. package/dist/web-components-library/p-2ef82e17.entry.js +0 -1
  1322. package/dist/web-components-library/p-313fc91d.entry.js +0 -1
  1323. package/dist/web-components-library/p-324933f6.entry.js +0 -1
  1324. package/dist/web-components-library/p-3c53e451.entry.js +0 -1
  1325. package/dist/web-components-library/p-41584e90.entry.js +0 -1
  1326. package/dist/web-components-library/p-4d1b3d16.entry.js +0 -1
  1327. package/dist/web-components-library/p-50e10a10.entry.js +0 -1
  1328. package/dist/web-components-library/p-52899754.entry.js +0 -1
  1329. package/dist/web-components-library/p-53670be4.entry.js +0 -1
  1330. package/dist/web-components-library/p-5a05dc1e.entry.js +0 -1
  1331. package/dist/web-components-library/p-5d20fc3d.entry.js +0 -1
  1332. package/dist/web-components-library/p-622466f9.entry.js +0 -1
  1333. package/dist/web-components-library/p-62d2247e.entry.js +0 -1
  1334. package/dist/web-components-library/p-64c025f6.entry.js +0 -1
  1335. package/dist/web-components-library/p-658f022d.entry.js +0 -1
  1336. package/dist/web-components-library/p-7226f07a.entry.js +0 -1
  1337. package/dist/web-components-library/p-7371a543.entry.js +0 -2
  1338. package/dist/web-components-library/p-77bf39a4.entry.js +0 -1
  1339. package/dist/web-components-library/p-788eaac7.entry.js +0 -1
  1340. package/dist/web-components-library/p-7bf7539a.entry.js +0 -1
  1341. package/dist/web-components-library/p-81eb43fd.entry.js +0 -1
  1342. package/dist/web-components-library/p-88a3ba7c.entry.js +0 -1
  1343. package/dist/web-components-library/p-89daaeb5.entry.js +0 -1
  1344. package/dist/web-components-library/p-8a33c769.entry.js +0 -1
  1345. package/dist/web-components-library/p-8d7e2e16.entry.js +0 -1
  1346. package/dist/web-components-library/p-8de064a4.entry.js +0 -1
  1347. package/dist/web-components-library/p-8eb8b5be.entry.js +0 -1
  1348. package/dist/web-components-library/p-8f4a04aa.entry.js +0 -1
  1349. package/dist/web-components-library/p-B0bOjMSb.js +0 -1
  1350. package/dist/web-components-library/p-a4f673f8.entry.js +0 -1
  1351. package/dist/web-components-library/p-aa4fc3d3.entry.js +0 -1
  1352. package/dist/web-components-library/p-aa72d766.entry.js +0 -1
  1353. package/dist/web-components-library/p-ad2cd7fc.entry.js +0 -1
  1354. package/dist/web-components-library/p-b01ff8e6.entry.js +0 -1
  1355. package/dist/web-components-library/p-b6223d7e.entry.js +0 -1
  1356. package/dist/web-components-library/p-b851f20b.entry.js +0 -1
  1357. package/dist/web-components-library/p-b9343431.entry.js +0 -1
  1358. package/dist/web-components-library/p-be354b22.entry.js +0 -1
  1359. package/dist/web-components-library/p-c42ddd93.entry.js +0 -1
  1360. package/dist/web-components-library/p-c4e7bd16.entry.js +0 -1
  1361. package/dist/web-components-library/p-c643f3ff.entry.js +0 -1
  1362. package/dist/web-components-library/p-c944a943.entry.js +0 -1
  1363. package/dist/web-components-library/p-cd33f4b1.entry.js +0 -1
  1364. package/dist/web-components-library/p-cdd88182.entry.js +0 -16
  1365. package/dist/web-components-library/p-ce3bbaf2.entry.js +0 -1
  1366. package/dist/web-components-library/p-cf403b75.entry.js +0 -1
  1367. package/dist/web-components-library/p-d121122f.entry.js +0 -1
  1368. package/dist/web-components-library/p-d3053434.entry.js +0 -1
  1369. package/dist/web-components-library/p-d63665c1.entry.js +0 -1
  1370. package/dist/web-components-library/p-da70be9b.entry.js +0 -1
  1371. package/dist/web-components-library/p-dabccb20.entry.js +0 -1
  1372. package/dist/web-components-library/p-dc5ab2cc.entry.js +0 -1
  1373. package/dist/web-components-library/p-dfd43710.entry.js +0 -1
  1374. package/dist/web-components-library/p-e1d0a6e3.entry.js +0 -1
  1375. package/dist/web-components-library/p-ec4940ce.entry.js +0 -1
  1376. package/dist/web-components-library/p-ef5018bb.entry.js +0 -1
  1377. package/www/build/p-0105149a.entry.js +0 -1
  1378. package/www/build/p-087956fa.entry.js +0 -1
  1379. package/www/build/p-10e5e16e.entry.js +0 -1
  1380. package/www/build/p-13e7f751.entry.js +0 -1
  1381. package/www/build/p-1580db58.entry.js +0 -1
  1382. package/www/build/p-1993b0ad.entry.js +0 -1
  1383. package/www/build/p-1a95491d.entry.js +0 -1
  1384. package/www/build/p-20d94cce.entry.js +0 -1
  1385. package/www/build/p-21c85e04.entry.js +0 -1
  1386. package/www/build/p-23b46642.entry.js +0 -1
  1387. package/www/build/p-271dfd9c.entry.js +0 -1
  1388. package/www/build/p-29dde955.entry.js +0 -1
  1389. package/www/build/p-2abf765d.entry.js +0 -1
  1390. package/www/build/p-2d4c01c3.entry.js +0 -1
  1391. package/www/build/p-2dabe353.entry.js +0 -1
  1392. package/www/build/p-2df6d169.entry.js +0 -1
  1393. package/www/build/p-2ef82e17.entry.js +0 -1
  1394. package/www/build/p-313fc91d.entry.js +0 -1
  1395. package/www/build/p-324933f6.entry.js +0 -1
  1396. package/www/build/p-3c53e451.entry.js +0 -1
  1397. package/www/build/p-41584e90.entry.js +0 -1
  1398. package/www/build/p-4d1b3d16.entry.js +0 -1
  1399. package/www/build/p-50e10a10.entry.js +0 -1
  1400. package/www/build/p-52899754.entry.js +0 -1
  1401. package/www/build/p-53670be4.entry.js +0 -1
  1402. package/www/build/p-5a05dc1e.entry.js +0 -1
  1403. package/www/build/p-5d20fc3d.entry.js +0 -1
  1404. package/www/build/p-622466f9.entry.js +0 -1
  1405. package/www/build/p-62d2247e.entry.js +0 -1
  1406. package/www/build/p-64c025f6.entry.js +0 -1
  1407. package/www/build/p-658f022d.entry.js +0 -1
  1408. package/www/build/p-7226f07a.entry.js +0 -1
  1409. package/www/build/p-7371a543.entry.js +0 -2
  1410. package/www/build/p-77bf39a4.entry.js +0 -1
  1411. package/www/build/p-788eaac7.entry.js +0 -1
  1412. package/www/build/p-7bf7539a.entry.js +0 -1
  1413. package/www/build/p-81eb43fd.entry.js +0 -1
  1414. package/www/build/p-88a3ba7c.entry.js +0 -1
  1415. package/www/build/p-89daaeb5.entry.js +0 -1
  1416. package/www/build/p-8a33c769.entry.js +0 -1
  1417. package/www/build/p-8d7e2e16.entry.js +0 -1
  1418. package/www/build/p-8de064a4.entry.js +0 -1
  1419. package/www/build/p-8eb8b5be.entry.js +0 -1
  1420. package/www/build/p-8f4a04aa.entry.js +0 -1
  1421. package/www/build/p-B0bOjMSb.js +0 -1
  1422. package/www/build/p-a4f673f8.entry.js +0 -1
  1423. package/www/build/p-aa4fc3d3.entry.js +0 -1
  1424. package/www/build/p-aa72d766.entry.js +0 -1
  1425. package/www/build/p-ad2cd7fc.entry.js +0 -1
  1426. package/www/build/p-b01ff8e6.entry.js +0 -1
  1427. package/www/build/p-b6223d7e.entry.js +0 -1
  1428. package/www/build/p-b851f20b.entry.js +0 -1
  1429. package/www/build/p-b9343431.entry.js +0 -1
  1430. package/www/build/p-be354b22.entry.js +0 -1
  1431. package/www/build/p-c42ddd93.entry.js +0 -1
  1432. package/www/build/p-c4e7bd16.entry.js +0 -1
  1433. package/www/build/p-c643f3ff.entry.js +0 -1
  1434. package/www/build/p-c944a943.entry.js +0 -1
  1435. package/www/build/p-cd33f4b1.entry.js +0 -1
  1436. package/www/build/p-cdd88182.entry.js +0 -16
  1437. package/www/build/p-ce3bbaf2.entry.js +0 -1
  1438. package/www/build/p-cf403b75.entry.js +0 -1
  1439. package/www/build/p-d121122f.entry.js +0 -1
  1440. package/www/build/p-d3053434.entry.js +0 -1
  1441. package/www/build/p-d63665c1.entry.js +0 -1
  1442. package/www/build/p-da70be9b.entry.js +0 -1
  1443. package/www/build/p-dabccb20.entry.js +0 -1
  1444. package/www/build/p-dc5ab2cc.entry.js +0 -1
  1445. package/www/build/p-dfd43710.entry.js +0 -1
  1446. package/www/build/p-e1d0a6e3.entry.js +0 -1
  1447. package/www/build/p-ec4940ce.entry.js +0 -1
  1448. package/www/build/p-ef5018bb.entry.js +0 -1
  1449. package/www/build/p-f6f0b188.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stylesCss","SUPPORT_INTERSECTION_OBSERVER","IntersectionObserver","ZAppHeader","onStuck","scrollParent","this","sticking","emit","_stuck","setMenuFloatingMode","menuElements","length","forEach","element","open","verticalContext","drawerOpen","onStuckChange","container","stuck","_a","stuckIntersecObserver","observe","_b","unobserve","title","hostElement","querySelector","textContent","trim","parent","offsetParent","document","body","documentElement","window","canShowMenu","enableOffcanvas","isMobile","focusableMenu","find","el","htmlTabindex","openDrawer","index","setTimeout","setFocus","closeDrawer","burgerButton","focus","collectMenuElements","Array","from","querySelectorAll","menuLength","menuWidth","reduce","acc","getBoundingClientRect","width","setupMenuResizeObserver","menuResizeObserver","ResizeObserver","entries","containerWidth","contentBoxSize","inlineSize","hasSlot","slotName","moveFocus","current","receiver","onOffcanvasKeydown","ev","key","KeyboardCode","TAB","closestMenu","target","closest","preventDefault","stopPropagation","closeDrawerButton","shiftKey","filter","menu","pop","manageMenus","targetMenu","containsElement","handleKeydown","ESC","some","elem","contains","currentIndex","indexOf","ARROW_RIGHT","ARROW_DOWN","ARROW_LEFT","ARROW_UP","focusLastItem","renderSeachbar","searchPageUrl","isTablet","h","class","variant","ButtonVariant","SECONDARY","href","icon","size","ControlSize","X_SMALL","searchLabel","value","searchString","placeholder","searchPlaceholder","label","showSearchButton","searchButtonIconOnly","searchButtonLabel","undefined","preventSubmit","onSearchTyping","e","detail","renderProductLogos","Fragment","enableZLogo","alt","name","renderMenuButton","ref","onClick","renderOffcanvas","id","OffCanvasVariant","OVERLAY","transitiondirection","TransitionDirection","RIGHT","onCanvasOpenStatusChanged","onKeyDown","slot","disabled","onSlotchange","renderStuck","enableSearch","constructor","hostRef","entry","isIntersecting","threshold","bind","componentWillLoad","mobileMediaQuery","matchMedia","Breakpoints","MOBILE","matches","addEventListener","tabletMediaQuery","TABLET","componentDidLoad","disconnectedCallback","disconnect","render","hasTopSubtitle","Host","role","ZButton","ariaLabel","type","ButtonType","BUTTON","PRIMARY","iconPosition","IconPosition","LEFT","BIG","hasText","attributes","htmlid","renderIcon","normalizedAriaLabel","normalizedRole","htmlrole","Object","assign","ZDivider","DividerSize","SMALL","color","orientation","DividerOrientation","HORIZONTAL","style","backgroundColor","ICON_NAME_SUFFIX_REGEX","ZIcon","selectPathOrPolygon","iconValue","startsWith","d","points","hasColorIndicator","COLOR_INDICATOR_ICONS","includes","needsTransparentIndicator","indicatorColor","toLowerCase","getTransparentIndicatorIconIfNeeded","transparentIconName","replace","ICONS","renderColorIndicator","fill","viewBox","height","renderBaseIcon","iconid","stylesGeneralCss","stylesTextCss","stylesTextareaCss","stylesCheckboxRadioCss","ZInput","randomId","htmlAriaExpanded","readonly","required","checked","message","labelPosition","LabelPosition","hasclearicon","isTyping","passwordHidden","typingtimeout","inputCheckListener","data","InputType","RADIO","isChecked","CHECKBOX","console","warn","emitInputChange","emitStartTyping","validity","TEXTAREA","getValidity","inputChange","clearTimeout","timer","emitStopTyping","startTyping","stopTyping","emitInputCheck","inputCheck","emitInputFocus","inputFocus","emitInputBlur","inputBlur","input","getTextAttributes","htmltitle","minlength","maxlength","status","autocomplete","onInput","getNumberAttributes","NUMBER","min","max","step","getPatternAttribute","PASSWORD","TEXT","TEL","SEARCH","URL","EMAIL","pattern","inputHasMessage","boolean","getAriaAttributes","htmlAriaDescribedBy","htmlAriaLabelledby","getTextAriaAttributes","expanded","controls","htmlAriaControls","htmlAriaAutocomplete","activedescendant","htmlAriaActivedescendant","ariaDescribedby","ariaInvalid","InputStatus","ERROR","getFocusBlurAttributes","onFocus","onBlur","renderInputText","attr","renderLabel","inputRef","renderIcons","renderMessage","htmlFor","renderResetIcon","renderShowHidePassword","hidden","renderTextarea","ariaAttributes","handleCheck","renderCheckbox","onChange","after","before","innerHTML","renderRadio","ZInputMessage","htmlId","htmlRole","statusIcons","success","error","warning","statusRole","onMessageChange","ZList","ListSize","MEDIUM","listType","ListType","NONE","setChildrenSizeType","children","host","i","setAttribute","toString","ZListElement","accessibleFocusHandler","listElementId","toFocus","shadowRoot","getElementById","alignButton","ExpandableListButtonAlign","clickable","dividerColor","dividerType","ListDividerType","dividerSize","expandable","expandableStyle","ExpandableListStyle","ACCORDION","listElementPosition","showInnerContent","openElementConfig","accordion","close","handleClick","handleKeyDown","clickItem","event","expandByKey","code","ENTER","accessibleFocus","renderExpandableButton","renderExpandedContent","renderContent","ORDERED","UNORDERED","ariaDescendantFocus","tabIndex","hasTreeItems","tabindex","part","ELEMENT","ZListGroup","hasHeader","HEADER","ZOffcanvas","ReactiveControllerHost","PUSHCONTENT","skipLoadAnimation","showBackdrop","skipAnimation","focusTrapController","FocusTrapController","fallbackFocus","canvasContent","isActive","handleWrapTab","handlePageScroll","overflow","UP","ownerDocument","onOpenChanged","canvasOpenStatusChanged","sync","super","componentDidRender","getTabbableElements","typographyCss","ZSearchbar","autocompleteMinChars","searchHelperLabel","sortResultsItems","currResultsCount","resultsCount","showResults","resultsItemsList","emitSearchItemClick","item","searchItemClick","selectedItem","emitSearchSubmit","searchSubmit","watchItems","getResultsItemsList","watchResultsCount","watchValue","watchSearchString","searchTyping","resultsItems","JSON","parse","getGroupedItems","groupedItems","category","subcategory","items","push","keys","sort","obj","a","b","nameA","toUpperCase","nameB","onListItemKeyDown","handleArrowsNavigation","onSearchHelperKeyDown","currentElement","nextIndex","prevIndex","_d","_c","_f","_e","setSelectionRange","handleStopTyping","handleSubmit","handleOutsideClick","cp","composedPath","mql","onMobileViewChange","removeEventListener","renderItemLabel","RegExp","found","renderItem","tag","text","map","child","renderItemGroups","values","listGroups","hasResultsLimit","renderedCount","groupItem","remaining","visibleItems","slice","listGroupsElements","subindex","Boolean","join","onStopTyping","onKeyUp","handleEnterKeydSubmit","htmlAriaLabel","ZTag"],"sources":["src/components/z-app-header/styles.css?tag=z-app-header&encapsulation=shadow","src/components/z-app-header/index.tsx","src/components/z-button/styles.css?tag=z-button&encapsulation=scoped","src/components/z-button/index.tsx","src/components/z-divider/styles.css?tag=z-divider&encapsulation=scoped","src/components/z-divider/index.tsx","src/components/z-icon/styles.css?tag=z-icon&encapsulation=shadow","src/components/z-icon/index.tsx","src/components/z-input/styles-general.css?tag=z-input&encapsulation=scoped","src/components/z-input/styles-text.css?tag=z-input&encapsulation=scoped","src/components/z-input/styles-textarea.css?tag=z-input&encapsulation=scoped","src/components/z-input/styles-checkbox-radio.css?tag=z-input&encapsulation=scoped","src/components/z-input/index.tsx","src/components/z-input-message/styles.css?tag=z-input-message&encapsulation=shadow","src/components/z-input-message/index.tsx","src/components/list/z-list/styles.css?tag=z-list&encapsulation=shadow","src/components/list/z-list/index.tsx","src/components/list/z-list-element/styles.css?tag=z-list-element&encapsulation=shadow","src/components/list/z-list-element/index.tsx","src/components/list/z-list-group/styles.css?tag=z-list-group&encapsulation=shadow","src/components/list/z-list-group/index.tsx","src/components/z-offcanvas/styles.css?tag=z-offcanvas&encapsulation=scoped","src/components/z-offcanvas/index.tsx","src/components/z-searchbar/styles.css?tag=z-searchbar&encapsulation=shadow","src/components/css-components/z-label/styles.css?tag=z-searchbar&encapsulation=shadow","src/components/css-components/z-scrollbar/styles.css?tag=z-searchbar&encapsulation=shadow","src/tokens/typography.css?tag=z-searchbar&encapsulation=shadow","src/components/z-searchbar/index.tsx","src/components/z-tag/styles.css?tag=z-tag&encapsulation=scoped","src/components/z-tag/index.tsx"],"sourcesContent":[":host {\n /**\n * @prop --app-header-content-max-width: Use it to set header's content max width. Useful when the project use a fixed width layout. Defaults to `100%`.\n * @prop --app-header-top-offset: Top offset for the stuck header. Useful when there are other fixed elements above the header. Defaults to `48px` (the height of the main topbar).\n * @prop --app-header-bg: Header background color. Defaults to `--color-surface01`.\n * @prop --app-header-text-color: Header text color. Defaults to `--color-default-text`.\n * @prop --app-header-stucked-bg: Stuck header background color. Defaults to `--color-surface01`.\n * @prop --app-header-stucked-text-color: Stuck header text color. Defaults to `--color-default-text`.\n */\n --app-header-content-max-width: ;\n --app-header-top-offset: ;\n --app-header-bg: ;\n --app-header-text-color: ;\n --app-header-stucked-bg: ;\n --app-header-stucked-text-color: ;\n\n position: relative;\n display: block;\n box-shadow: var(--shadow-2);\n}\n\n:host,\n* {\n box-sizing: border-box;\n}\n\n.heading-panel {\n --title-line-height: 1.333;\n --title-font-size: var(--font-size-6);\n\n position: relative;\n display: flex;\n width: 100%;\n max-width: var(--app-header-content-max-width, 100%);\n flex-direction: column;\n flex-grow: 0;\n flex-shrink: 0;\n align-items: baseline;\n padding: calc(var(--space-unit) * 2);\n margin: 0 auto;\n background: var(--app-header-bg, var(--color-surface01));\n}\n\n:host(:empty) .heading-panel {\n padding: 0;\n}\n\n.heading-container {\n position: relative;\n z-index: 1;\n display: flex;\n width: 100%;\n max-width: 100%;\n flex: 1 auto;\n flex-direction: column;\n justify-content: flex-start;\n}\n\n.heading-panel.has-menubar {\n padding-bottom: 0;\n}\n\n.heading-panel .heading-container {\n flex-direction: column-reverse;\n}\n\n:host([enable-search]) .heading-panel .heading-container {\n flex-direction: column;\n}\n\n:host([enable-search][search-page-url]) .heading-panel .heading-container {\n flex-direction: row;\n}\n\n.heading-title {\n display: flex;\n width: 100%;\n flex-direction: row;\n align-items: flex-start;\n}\n\n.heading-title:not(:last-child) {\n margin-right: var(--space-unit);\n}\n\n.z-logo,\n.search-page-button {\n display: flex;\n height: calc(var(--title-font-size) * var(--title-line-height));\n align-items: center;\n}\n\n.z-logo img {\n height: 24px;\n margin: 0 var(--space-unit) 0 0;\n content: url('data:image/svg+xml,<svg width=\"61\" height=\"32\" viewBox=\"0 0 61 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15.9874 32C7.1595 32 0 24.8349 0 16C0 7.16513 7.1595 0 15.9874 0H45.0126C53.8405 0 61 7.16513 61 16C61 24.8349 53.8405 32 45.0126 32H15.9874Z\" fill=\"%23E2011A\"/><path d=\"M58.5435 15.9992C58.5435 23.4743 52.4892 29.5403 45.0129 29.5403C37.5367 29.5403 31.4824 23.4813 31.4824 15.9992C31.4824 8.51701 37.5367 2.45801 45.0129 2.45801C52.4892 2.45801 58.5435 8.51701 58.5435 15.9992Z\" fill=\"white\"/><path d=\"M40.7107 8.01862H49.8976V11.3158L44.139 21.7077H50.0384V24.6457H39.9785V21.4048L45.7371 10.9636H40.7107V8.01862Z\" fill=\"%23E2011A\"/><path d=\"M12.2914 24.6449C10.982 24.6449 10.271 23.8136 10.271 22.6722V7.04565H12.1718V22.9822H13.981V24.6449H12.2914Z\" fill=\"white\"/><path d=\"M25.6461 24.6448C24.2452 24.6448 23.675 23.7853 23.5342 22.6439H23.4145C22.8935 24.1446 21.5841 24.9266 19.8735 24.9266C17.2828 24.9266 15.7622 23.4964 15.7622 21.2137C15.7622 18.931 17.4236 17.6206 20.9928 17.6206H23.4145V16.4088C23.4145 14.6756 22.4641 13.7245 20.5141 13.7245C19.0428 13.7245 18.0642 14.4361 17.4025 15.5563L16.262 14.4854C16.9308 13.175 18.4021 12.0829 20.6126 12.0829C23.5623 12.0829 25.3152 13.6259 25.3152 16.2186V22.9751H26.7162V24.6378H25.6461V24.6448ZM23.4145 21.0799V19.0578H20.8942C18.733 19.0578 17.7545 19.7272 17.7545 20.9108V21.411C17.7545 22.6228 18.7049 23.3132 20.1762 23.3132C22.0558 23.3132 23.4074 22.341 23.4074 21.0799H23.4145Z\" fill=\"white\"/></svg>');\n}\n\n.product-logo {\n display: none;\n}\n\n.product-logo ::slotted([slot=\"product-logo\"]) {\n width: 32px;\n height: 32px;\n margin-right: var(--space-unit);\n}\n\n.product-logo ::slotted([slot=\"product-logo\"]) img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n::slotted([slot=\"title\"]),\n::slotted([slot=\"stucked-title\"]),\n.stucked-title {\n margin: 0;\n color: var(--app-header-text-color, var(--color-default-text));\n font-family: var(--font-family-serif);\n font-weight: var(--font-sb);\n}\n\n::slotted([slot=\"title\"]) {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n font-size: var(--title-font-size);\n -webkit-line-clamp: 2;\n line-clamp: 2;\n line-height: var(--title-line-height);\n text-overflow: ellipsis;\n}\n\n::slotted(a:is([slot=\"title\"], [slot=\"stucked-title\"])) {\n text-decoration: none;\n}\n\n:host([enable-search]) ::slotted([slot=\"title\"]) + * {\n margin-left: calc(var(--space-unit) * 2);\n}\n\n:host([enable-offcanvas]:not([menu-length=\"0\"])) .top-subtitle {\n padding-left: calc(var(--space-unit) * 4 + var(--space-unit));\n}\n\n::slotted([slot=\"top-subtitle\"]) {\n display: -webkit-box;\n overflow: hidden;\n max-width: 80%;\n margin: 0;\n -webkit-box-orient: vertical;\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-size: var(--font-size-2);\n font-style: italic;\n font-weight: var(--font-rg);\n -webkit-line-clamp: 2;\n line-clamp: 2;\n}\n\n.search-page-button {\n margin-left: auto;\n}\n\n.menu-container {\n display: flex;\n flex: 1 auto;\n column-gap: calc(var(--space-unit) * 4);\n}\n\n.menu-container:focus:focus-visible {\n outline: none;\n}\n\n:host([menu-length=\"0\"]) .menu-container,\n.menu-container:empty {\n display: none;\n}\n\n.menu-container ::slotted([open]) {\n position: relative;\n z-index: 3;\n}\n\n.menu-container ::slotted([slot=\"menu\"]:not(:last-child))::after {\n position: absolute;\n top: calc(1.5em / 2); /* half the line-height of the label */\n right: calc(var(--space-unit) * -2);\n width: var(--border-size-small);\n height: 1em;\n background-color: var(--color-default-icon);\n content: \"\";\n font-size: var(--font-size-3);\n transform: translateY(-50%);\n}\n\nz-searchbar {\n z-index: 0;\n display: flex;\n width: 100%;\n align-items: center;\n}\n\nz-searchbar.has-label {\n align-items: flex-end;\n}\n\n.heading-stuck {\n position: fixed;\n z-index: 20;\n top: var(--app-header-top-offset, 48px);\n left: 0;\n width: 100%;\n max-width: 100%;\n animation: slide-stuck-heading-in 250ms ease-out;\n background: var(--app-header-stucked-bg, var(--color-surface01));\n box-shadow: var(--shadow-2);\n color: var(--app-header-stucked-text-color, var(--color-default-text));\n}\n\n.heading-stuck-content {\n display: flex;\n max-width: var(--app-header-content-max-width, 100%);\n align-items: center;\n padding: var(--space-unit) var(--grid-margin);\n margin: 0 auto;\n}\n\n.heading-stuck .heading-title {\n --title-font-size: var(--font-size-5);\n --title-line-height: 1.4;\n\n overflow: hidden;\n align-items: center;\n}\n\n.heading-stuck .stucked-title {\n overflow: hidden;\n font-size: var(--title-font-size);\n line-height: var(--title-line-height);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.drawer-trigger,\n::slotted([slot=\"menu-button\"]) {\n display: flex;\n height: calc(var(--title-font-size) * var(--title-line-height));\n align-items: center;\n padding: 0;\n border: 0;\n margin-right: var(--space-unit);\n appearance: none;\n background: none;\n border-radius: 0;\n color: inherit;\n cursor: pointer;\n outline: none;\n}\n\n.drawer-trigger:focus:focus-visible z-icon {\n box-shadow: var(--shadow-focus-primary);\n}\n\n.drawer-trigger z-icon {\n --z-icon-width: calc(var(--space-unit) * 4);\n --z-icon-height: calc(var(--space-unit) * 4);\n\n fill: var(--color-default-icon);\n}\n\n.drawer-content {\n display: none;\n}\n\nz-offcanvas {\n --z-offcanvas--top-space: var(--app-header-top-offset);\n}\n\nz-offcanvas[open] .drawer-content {\n display: flex;\n width: 100%;\n flex: 1 auto;\n flex-direction: column;\n}\n\nz-offcanvas[open] .drawer-content ::slotted(z-menu) {\n width: 100%;\n}\n\n.drawer-close {\n --z-icon-width: calc(var(--space-unit) * 4);\n --z-icon-height: calc(var(--space-unit) * 4);\n\n padding: 0;\n border: 0;\n margin: var(--space-unit) 0 calc(var(--space-unit) * 2.5);\n appearance: none;\n background: transparent;\n border-radius: 0;\n cursor: pointer;\n outline: none;\n}\n\n.drawer-close z-icon {\n fill: var(--color-default-icon);\n}\n\n.drawer-close:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n}\n\n@media (max-width: 767px) {\n :host([enable-search]) .heading-panel .heading-container {\n row-gap: calc(var(--space-unit) * 1.5);\n }\n}\n\n/* Tablet breakpoint */\n@media (min-width: 768px) {\n .heading-panel {\n --title-font-size: var(--font-size-9);\n\n padding: calc(var(--space-unit) * 1.5) var(--grid-margin) calc(var(--space-unit) * 1.25);\n }\n\n :host([enable-search][search-page-url]) .heading-panel .heading-container {\n flex-direction: column;\n }\n\n .heading-panel .heading-container {\n flex-direction: column;\n margin-right: auto;\n }\n\n .z-logo img {\n height: 32px;\n }\n\n .product-logo {\n display: flex;\n height: calc(var(--title-font-size) * var(--title-line-height));\n align-items: center;\n }\n\n .has-top-subtitle .z-logo {\n display: none;\n }\n\n .top-subtitle.has-product-logo {\n padding-left: calc(32px + var(--space-unit));\n }\n\n z-searchbar {\n width: 30%;\n height: calc(var(--title-font-size) * var(--title-line-height));\n margin-left: auto;\n }\n\n .menu-container {\n flex: initial;\n }\n\n .menu-container > [role=\"menubar\"] {\n display: contents;\n }\n\n :host(:not([enable-offcanvas])) .menu-container {\n margin-top: calc((var(--space-unit) * 1.75));\n }\n\n :host(:not([enable-offcanvas])) .heading-container .drawer-trigger {\n display: none;\n }\n\n .heading-stuck .heading-title {\n --title-font-size: var(--font-size-8);\n --title-line-height: 1.5;\n }\n\n .heading-stuck-content {\n padding: 6px var(--grid-margin);\n }\n\n :host(:not([enable-offcanvas], [menu-length=\"0\"])) {\n padding-left: 0;\n }\n}\n\n/* Desktop breakpoint */\n@media (min-width: 1152px) {\n z-searchbar {\n min-width: calc(var(--space-unit) * 45);\n }\n}\n\n@keyframes slide-stuck-heading-in {\n 0% {\n transform: translate3d(0, -100%, 0);\n }\n\n 100% {\n transform: none;\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Fragment,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {ButtonVariant, ControlSize, KeyboardCode, OffCanvasVariant, TransitionDirection} from \"../../beans\";\nimport {Breakpoints} from \"../../constants/breakpoints\";\nimport {containsElement} from \"../../utils/utils\";\n\nconst SUPPORT_INTERSECTION_OBSERVER = typeof IntersectionObserver !== \"undefined\";\n\n/**\n * @slot menu-button - Slot for a custom menu button. It will replace the default burger icon.\n * @slot title - Slot for the main title\n * @slot top-subtitle - Slot for the top subtitle. It will not appear in stuck header.\n * @slot stucked-title - Title for the stuck header. By default it uses the text from the `title` slot.\n * @slot product-logo - To insert the product logo, it should be used with an img tag.\n */\n@Component({\n tag: \"z-app-header\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZAppHeader implements ComponentInterface {\n @Element() hostElement: HTMLZAppHeaderElement;\n\n /**\n * Stuck mode for the header.\n * You can programmatically set it using an IntersectionObserver.\n */\n @Prop({reflect: true})\n stuck = false;\n\n /**\n * When enabled, the menu bar is not displayed and a burger icon appears to open the offcanvas menu. Automatically enabled on mobile and when the menu items overflow the container.\n */\n @Prop({reflect: true, mutable: true})\n enableOffcanvas = false;\n\n /**\n * Enable the search bar.\n */\n @Prop({reflect: true})\n enableSearch = false;\n\n /**\n * Visible label for the search bar.\n */\n @Prop()\n searchLabel?: string;\n\n /**\n * Placeholder text for the search bar.\n */\n @Prop()\n searchPlaceholder = \"Cerca\";\n\n /**\n * Label of the search button.\n */\n @Prop()\n searchButtonLabel?: string;\n\n /**\n * Search string for the search bar.\n */\n @Prop({mutable: true})\n searchString = \"\";\n\n /**\n * Url to the search page.\n * Set this prop and `enableSearch` to show a link-button on mobile and tablet viewports, instead of the normal searchbar.\n * The link will also appear on the sticky header.\n */\n @Prop()\n searchPageUrl: string;\n\n /**\n * Enable laZ logo.\n */\n @Prop({reflect: true})\n enableZLogo = true;\n\n /**\n * The opening state of the drawer.\n */\n @Prop({mutable: true})\n drawerOpen = false;\n\n /**\n * Emitted when the `stuck` state of the header changes\n */\n @Event()\n sticking: EventEmitter;\n\n /**\n * The stuck state of the bar.\n */\n @State()\n private _stuck = false;\n\n /**\n * Current count of menu items.\n */\n @State()\n private menuLength: number;\n\n @State()\n private isMobile = true;\n\n @State()\n private isTablet = false;\n\n private container?: HTMLDivElement;\n\n private menuElements: HTMLZMenuElement[] = [];\n\n private menuWidth: number;\n\n private closeDrawerButton: HTMLButtonElement;\n\n private burgerButton: HTMLButtonElement;\n\n private menuResizeObserver: ResizeObserver;\n\n private stuckIntersecObserver?: IntersectionObserver = SUPPORT_INTERSECTION_OBSERVER\n ? new IntersectionObserver(\n ([entry]) => {\n this._stuck = !entry.isIntersecting;\n },\n {threshold: 0.5}\n )\n : undefined;\n\n @Watch(\"_stuck\")\n onStuck(): void {\n const scrollParent = this.scrollParent;\n if (!scrollParent) {\n return;\n }\n\n this.sticking.emit(this._stuck);\n }\n\n @Watch(\"drawerOpen\")\n setMenuFloatingMode(): void {\n if (this.menuElements.length === 0) {\n return;\n }\n\n this.menuElements.forEach((element) => {\n element.open = false;\n element.verticalContext = this.drawerOpen;\n });\n }\n\n @Watch(\"stuck\")\n onStuckChange(): void {\n if (!this.container) {\n return;\n }\n\n if (this.stuck) {\n this.stuckIntersecObserver?.observe(this.container);\n } else {\n this._stuck = false;\n this.stuckIntersecObserver?.unobserve(this.container);\n }\n }\n\n private get title(): string {\n return this.hostElement.querySelector('[slot=\"title\"]')?.textContent.trim();\n }\n\n private get scrollParent(): Window | Element {\n const parent = this.hostElement.offsetParent;\n if (parent === document.body || parent === document.documentElement) {\n return window;\n }\n\n return parent;\n }\n\n private get canShowMenu(): boolean {\n return !this.enableOffcanvas && this.menuElements.length > 0 && !this.isMobile && !this.drawerOpen;\n }\n\n private get focusableMenu(): HTMLZMenuElement {\n return this.menuElements.find((el) => el.htmlTabindex === 0);\n }\n\n private openDrawer(): void {\n this.drawerOpen = true;\n this.menuElements.forEach((element, index) => (element.htmlTabindex = index === 0 ? 0 : -1));\n setTimeout(() => this.menuElements[0].setFocus(), 400); /* wait for the 400ms offcanvas transition */\n }\n\n private closeDrawer(): void {\n this.drawerOpen = false;\n setTimeout(() => this.burgerButton.focus(), 100);\n }\n\n private collectMenuElements(): void {\n this.menuElements = Array.from(this.hostElement.querySelectorAll('[slot=\"menu\"]'));\n this.menuElements.forEach((element, index) => (element.htmlTabindex = index === 0 ? 0 : -1));\n this.menuLength = this.menuElements.length;\n if (!this.enableOffcanvas) {\n this.menuWidth =\n this.menuElements.reduce((acc, el) => acc + el.getBoundingClientRect().width, 0) +\n (this.menuLength - 1) * 32 /* 32px is the gap between each menu item */;\n }\n this.setMenuFloatingMode();\n }\n\n /** Automatically use offcanvas mode when the menubar doesn't fit in the header. */\n private setupMenuResizeObserver(): void {\n if (this.enableOffcanvas) {\n return;\n }\n\n this.menuResizeObserver = new ResizeObserver((entries) => {\n if (this.isMobile) {\n this.enableOffcanvas = true;\n\n return;\n }\n\n const containerWidth = entries[0].contentBoxSize[0].inlineSize;\n if (this.menuWidth === 0) {\n return;\n }\n\n if (this.menuWidth > containerWidth && !this.enableOffcanvas) {\n this.enableOffcanvas = true;\n } else if (this.menuWidth <= containerWidth && this.enableOffcanvas) {\n this.enableOffcanvas = false;\n }\n });\n this.menuResizeObserver.observe(this.container);\n }\n\n private hasSlot(slotName: string): boolean {\n return this.hostElement.querySelector(`[slot=\"${slotName}\"]`) !== null;\n }\n\n private moveFocus(current: HTMLZMenuElement, receiver: HTMLZMenuElement): void {\n current.htmlTabindex = -1;\n receiver.setFocus();\n }\n\n private onOffcanvasKeydown(ev: KeyboardEvent): void {\n if (ev.key !== KeyboardCode.TAB || !this.drawerOpen) {\n return;\n }\n\n const closestMenu = (ev.target as HTMLElement).closest(\"z-menu\");\n if (closestMenu) {\n ev.preventDefault();\n ev.stopPropagation();\n // restore tabindex to the zmenu containing the focused element\n closestMenu.htmlTabindex = 0;\n this.closeDrawerButton.focus();\n } else if (ev.target === this.closeDrawerButton) {\n ev.preventDefault();\n ev.stopPropagation();\n if (ev.shiftKey) {\n // give focus to the last open menu if any or the last menu otherwhise\n (this.menuElements.filter((menu) => menu.open).pop() ?? this.menuElements[this.menuLength - 1]).setFocus();\n } else {\n // give focus to the first open menu if any or the first menu otherwhise\n (this.menuElements.find((menu) => menu.open) ?? this.menuElements[0]).setFocus();\n }\n }\n }\n\n /** Close each menu except the one receiving focus/click, if any */\n @Listen(\"focusin\", {target: \"document\", passive: true})\n @Listen(\"click\", {target: \"document\", passive: true})\n manageMenus(ev: FocusEvent | PointerEvent): void {\n const targetMenu = this.menuElements.find((menu) => containsElement(menu, ev.target as Element));\n if (targetMenu) {\n this.menuElements.forEach((menu) => {\n if (menu === targetMenu) {\n return;\n }\n\n menu.htmlTabindex = -1;\n if (!this.drawerOpen) {\n menu.open = false;\n }\n });\n } else if (!this.drawerOpen) {\n this.menuElements.forEach((menu) => {\n menu.open = false;\n });\n }\n }\n\n @Listen(\"keydown\", {passive: true})\n handleKeydown(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.ESC && this.drawerOpen) {\n this.closeDrawer();\n\n return;\n }\n\n if (!this.menuElements.some((elem) => elem.contains(ev.target as HTMLElement))) {\n return;\n }\n\n const current = this.focusableMenu;\n const currentIndex = this.menuElements.indexOf(current);\n let receiver: HTMLZMenuElement;\n if (\n (ev.key === KeyboardCode.ARROW_RIGHT && !current.verticalContext) ||\n (ev.key === KeyboardCode.ARROW_DOWN && current.verticalContext)\n ) {\n receiver = this.menuElements[currentIndex + 1] ?? this.menuElements[0];\n } else if (\n (ev.key === KeyboardCode.ARROW_LEFT && !current.verticalContext) ||\n (ev.key === KeyboardCode.ARROW_UP && current.verticalContext)\n ) {\n receiver = this.menuElements[currentIndex - 1] ?? this.menuElements[this.menuLength - 1];\n }\n if (!receiver) {\n return;\n }\n\n if (ev.key === KeyboardCode.ARROW_UP && current.verticalContext) {\n if (receiver.open) {\n current.htmlTabindex = -1;\n receiver.focusLastItem();\n\n return;\n }\n }\n\n this.moveFocus(current, receiver);\n }\n\n private renderSeachbar(): HTMLZButtonElement | HTMLZSearchbarElement | undefined {\n if (this.isMobile && !this.searchPageUrl && this._stuck) {\n return;\n }\n\n if (this.searchPageUrl && (this.isMobile || this.isTablet)) {\n return (\n <z-button\n class=\"search-page-button\"\n variant={ButtonVariant.SECONDARY}\n href={this.searchPageUrl}\n icon=\"search\"\n size={ControlSize.X_SMALL}\n />\n );\n }\n\n return (\n <z-searchbar\n class={{\"has-label\": !!this.searchLabel}}\n value={this.searchString}\n placeholder={this.searchPlaceholder}\n label={this.searchLabel}\n showSearchButton={true}\n searchButtonIconOnly={this.isMobile || this.isTablet}\n searchButtonLabel={this.isMobile || this.isTablet ? undefined : this.searchButtonLabel}\n size={ControlSize.X_SMALL}\n variant={ButtonVariant.SECONDARY}\n preventSubmit={this.searchString.length < 3}\n onSearchTyping={(e) => (this.searchString = e.detail)}\n />\n );\n }\n\n private renderProductLogos(): HTMLElement | null {\n return (\n <Fragment>\n {this.enableZLogo && (\n <span class=\"z-logo\">\n <img alt=\"Logo Zanichelli\" />\n </span>\n )}\n {this.hostElement.querySelector(\"[slot='product-logo']\") && (\n <span class=\"product-logo\">\n <slot name=\"product-logo\" />\n </span>\n )}\n </Fragment>\n );\n }\n\n private renderMenuButton(): HTMLButtonElement {\n return (\n this.menuLength > 0 &&\n (this.enableOffcanvas || this._stuck || this.isMobile) && (\n <button\n ref={(el) => (this.burgerButton = el as HTMLButtonElement)}\n class=\"drawer-trigger\"\n aria-label=\"Apri menu\"\n aria-haspopup=\"menu\"\n aria-expanded={`${this.drawerOpen}`}\n aria-controls=\"offcanvas-menu\"\n onClick={this.openDrawer}\n >\n <z-icon name=\"burger-menu\" />\n </button>\n )\n );\n }\n\n private renderOffcanvas(): HTMLZOffcanvasElement {\n return (\n <z-offcanvas\n id=\"offcanvas-menu\"\n variant={OffCanvasVariant.OVERLAY}\n transitiondirection={TransitionDirection.RIGHT}\n open={this.drawerOpen}\n onCanvasOpenStatusChanged={(ev) => (this.drawerOpen = ev.detail)}\n onKeyDown={this.onOffcanvasKeydown}\n >\n <div slot=\"canvasContent\">\n <button\n ref={(el) => (this.closeDrawerButton = el)}\n class=\"drawer-close\"\n aria-label=\"Chiudi menu\"\n onClick={this.closeDrawer}\n aria-hidden={`${!this.drawerOpen}`}\n disabled={!this.drawerOpen}\n >\n <z-icon name=\"close\" />\n </button>\n\n <div\n class=\"drawer-content\"\n aria-hidden={`${!this.drawerOpen}`}\n >\n <slot\n name=\"menu\"\n onSlotchange={this.collectMenuElements}\n />\n </div>\n </div>\n </z-offcanvas>\n );\n }\n\n private renderStuck(): HTMLElement {\n return (\n <div class=\"heading-stuck\">\n <div class=\"heading-stuck-content\">\n {this.renderMenuButton()}\n <div class=\"heading-title\">\n {this.renderProductLogos()}\n <div class=\"stucked-title\">\n <slot name=\"stucked-title\">{this.title}</slot>\n </div>\n </div>\n {this.enableSearch && this.renderSeachbar()}\n </div>\n </div>\n );\n }\n\n constructor() {\n this.openDrawer = this.openDrawer.bind(this);\n this.closeDrawer = this.closeDrawer.bind(this);\n this.collectMenuElements = this.collectMenuElements.bind(this);\n this.onOffcanvasKeydown = this.onOffcanvasKeydown.bind(this);\n }\n\n componentWillLoad(): void {\n this.collectMenuElements();\n\n // mobile and tablet media queries listeners\n const mobileMediaQuery = window.matchMedia(`(max-width: ${Breakpoints.MOBILE}px)`);\n this.isMobile = mobileMediaQuery.matches;\n mobileMediaQuery.addEventListener(\"change\", (e) => (this.isMobile = e.matches));\n const tabletMediaQuery = window.matchMedia(\n `(min-width: ${Breakpoints.MOBILE + 1}px) and (max-width: ${Breakpoints.TABLET}px)`\n );\n this.isTablet = tabletMediaQuery.matches;\n tabletMediaQuery.addEventListener(\"change\", (e) => (this.isTablet = e.matches));\n }\n\n componentDidLoad(): void {\n this.onStuckChange();\n this.setupMenuResizeObserver();\n }\n\n disconnectedCallback(): void {\n this.menuResizeObserver?.disconnect();\n }\n\n render(): HTMLZAppHeaderElement {\n const hasTopSubtitle = this.hasSlot(\"top-subtitle\");\n\n return (\n <Host menu-length={this.menuLength}>\n <div\n class={{\"heading-panel\": true, \"has-menubar\": this.menuLength > 0 && !this.enableOffcanvas}}\n ref={(el) => (this.container = el)}\n >\n <div class={{\"heading-container\": true, \"has-top-subtitle\": hasTopSubtitle}}>\n {((!this.enableSearch && this.isMobile) || !this.isMobile) && (\n <div class={{\"top-subtitle\": true, \"has-product-logo\": hasTopSubtitle && this.hasSlot(\"product-logo\")}}>\n <slot name=\"top-subtitle\" />\n </div>\n )}\n <div class=\"heading-title\">\n <slot name=\"menu-button\">{this.renderMenuButton()}</slot>\n {!this._stuck && this.renderProductLogos()}\n <slot name=\"title\" />\n {this.enableSearch && !this.isMobile && this.renderSeachbar()}\n </div>\n {this.enableSearch && this.isMobile && this.renderSeachbar()}\n </div>\n\n <nav\n class=\"menu-container\"\n aria-label={this.title || undefined}\n >\n {this.canShowMenu && (\n <div\n role=\"menubar\"\n aria-label={this.title || undefined}\n >\n <slot\n name=\"menu\"\n onSlotchange={this.collectMenuElements}\n />\n </div>\n )}\n </nav>\n </div>\n {this.renderOffcanvas()}\n {this._stuck && this.renderStuck()}\n </Host>\n );\n }\n}\n",":host {\n display: inline-block;\n\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n --z-icon-right-margin: 0;\n --z-icon-left-margin: 0;\n}\n\n:host([disabled]:not([disabled=\"false\"])) {\n pointer-events: none;\n}\n\n:host .z-button--container {\n display: inline-flex;\n width: 100%;\n box-sizing: border-box;\n align-items: center;\n justify-content: center;\n padding: 0;\n border-width: var(--border-size-medium);\n border-style: solid;\n border-radius: var(--border-radius);\n column-gap: var(--space-unit);\n cursor: pointer;\n fill: currentcolor;\n font-family: var(--font-family-sans);\n font-size: 14px;\n font-weight: var(--font-sb);\n letter-spacing: 0.3px;\n line-height: 1;\n outline: none;\n text-decoration: none;\n text-transform: uppercase;\n white-space: nowrap;\n}\n\n:host .z-button--container:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n}\n\n:host .z-button--container.z-button--has-text {\n min-width: calc(var(--space-unit) * 8);\n padding: 0 calc(var(--space-unit) * 2);\n}\n\n:host([icon-position=\"right\"]) .z-button--container.z-button--has-text {\n flex-direction: row-reverse;\n}\n\n:host([size=\"big\"]) .z-button--container {\n min-width: 44px;\n height: 44px;\n}\n\n:host([size=\"small\"]) .z-button--container {\n min-width: 36px;\n height: 36px;\n}\n\n:host([size=\"x-small\"]) .z-button--container {\n min-width: 32px;\n height: 32px;\n}\n\n:host([variant=\"primary\"]) .z-button--container {\n border-color: var(--color-primary01);\n background-color: var(--color-primary01);\n color: var(--color-text-inverse);\n}\n\n@media (hover: hover) {\n :host([variant=\"primary\"]) .z-button--container:hover {\n border-color: var(--color-hover-primary);\n background-color: var(--color-hover-primary);\n color: var(--color-text-inverse);\n }\n}\n\n:host([variant=\"primary\"]) .z-button--container:active {\n border-color: var(--color-pressed-primary);\n background-color: var(--color-pressed-primary);\n box-shadow: var(--shadow-2);\n color: var(--color-text-inverse);\n}\n\n:host([variant=\"primary\"][disabled]:not([disabled=\"false\"])) .z-button--container {\n border-color: var(--color-disabled01);\n background-color: var(--color-disabled01);\n color: var(--color-disabled03);\n}\n\n:host([variant=\"secondary\"]) .z-button--container {\n border-color: var(--color-primary01);\n background-color: var(--color-button-secondary);\n color: var(--color-primary01);\n}\n\n@media (hover: hover) {\n :host([variant=\"secondary\"]) .z-button--container:hover {\n border-color: var(--color-hover-primary);\n background-color: var(--color-button-secondary);\n color: var(--color-hover-primary);\n }\n}\n\n:host([variant=\"secondary\"]) .z-button--container:active {\n border-color: var(--color-pressed-primary);\n background-color: var(--color-button-secondary);\n box-shadow: var(--shadow-2);\n color: var(--color-pressed-primary);\n}\n\n:host([variant=\"secondary\"][disabled]:not([disabled=\"false\"])) .z-button--container {\n border-color: var(--color-disabled01);\n background-color: var(--color-button-secondary);\n color: var(--color-disabled03);\n}\n\n:host([variant=\"tertiary\"]) .z-button--container {\n border-color: var(--color-primary02);\n background-color: var(--color-primary02);\n color: var(--color-primary01);\n}\n\n@media (hover: hover) {\n :host([variant=\"tertiary\"]) .z-button--container:hover {\n border-color: var(--color-primary03);\n background-color: var(--color-primary03);\n color: var(--color-hover-primary);\n }\n}\n\n:host([variant=\"tertiary\"]) .z-button--container:focus:focus-visible {\n border-color: var(--color-primary02);\n background-color: var(--color-primary02);\n color: var(--color-primary01);\n}\n\n:host([variant=\"tertiary\"]) .z-button--container:active {\n border-color: var(--color-primary02);\n background-color: var(--color-primary02);\n box-shadow: var(--shadow-2);\n color: var(--color-primary01);\n}\n\n:host([variant=\"tertiary\"][disabled]:not([disabled=\"false\"])) .z-button--container {\n border-color: var(--color-disabled01);\n background-color: var(--color-disabled01);\n color: var(--color-disabled03);\n}\n","import {Component, ComponentInterface, Element, Prop, h} from \"@stencil/core\";\nimport {JSXBase} from \"@stencil/core/internal\";\nimport {ButtonSize, ButtonType, ButtonVariant, ControlSize, IconPosition} from \"../../beans\";\n\n/**\n * @slot - button label\n */\n@Component({\n tag: \"z-button\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZButton implements ComponentInterface {\n @Element() hostElement: HTMLZButtonElement;\n\n /** defines a string value that labels the internal interactive element. Used for accessibility. */\n @Prop()\n ariaLabel: string | undefined = undefined;\n\n /**\n * Use `htmlrole` instead.\n * @deprecated This prop has been deprecated in favor of `htmlrole` for better accessibility.\n */\n @Prop()\n role = \"\";\n\n /** defines role attribute, used for accessibility. */\n @Prop()\n htmlrole?: string;\n\n /** HTML <a> href attribute. If it is set, it renders an HTML <a> tag. */\n @Prop()\n href?: string;\n\n /** HTML a target attribute. */\n @Prop()\n target?: string;\n\n /** Identifier, should be unique. */\n @Prop()\n htmlid?: string;\n\n /** HTML button name attribute. */\n @Prop()\n name?: string;\n\n /** HTML button disabled attribute. */\n @Prop({reflect: true})\n disabled?: boolean = false;\n\n /** HTML button type attribute. */\n @Prop()\n type?: ButtonType = ButtonType.BUTTON;\n\n /** Graphical variant: `primary`, `secondary`, `tertiary`. Defaults to `primary`. */\n @Prop({reflect: true})\n variant?: ButtonVariant = ButtonVariant.PRIMARY;\n\n /** `z-icon` name to use (optional). */\n @Prop()\n icon?: string;\n\n /** the button icon position. Defaults to `left` */\n @Prop({reflect: true})\n iconPosition?: IconPosition = IconPosition.LEFT;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop({reflect: true})\n size?: ButtonSize | ControlSize = ControlSize.BIG;\n\n private hasText = false;\n\n componentWillLoad(): void {\n this.hasText = !!this.hostElement.textContent?.trim();\n }\n\n private get attributes(): JSXBase.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement> {\n return {\n id: this.htmlid,\n class: {\n \"z-button--container\": true,\n \"z-button--has-text\": this.hasText,\n },\n };\n }\n\n private renderIcon(): HTMLZIconElement | undefined {\n return this.icon && <z-icon name={this.icon} />;\n }\n\n render(): HTMLAnchorElement | HTMLButtonElement {\n const normalizedAriaLabel = this.ariaLabel?.trim() || undefined;\n const normalizedRole = this.htmlrole || this.role?.trim() || undefined;\n\n if (this.href) {\n return (\n <a\n {...this.attributes}\n aria-label={normalizedAriaLabel}\n href={this.href}\n target={this.target}\n >\n {this.renderIcon()}\n <slot />\n </a>\n );\n }\n\n return (\n <button\n {...this.attributes}\n aria-label={normalizedAriaLabel}\n name={this.name}\n type={this.type}\n disabled={this.disabled}\n role={normalizedRole}\n >\n {this.renderIcon()}\n <slot />\n </button>\n );\n }\n}\n",":host {\n display: block;\n padding: 0;\n margin: 0;\n}\n\n:host.divider-horizontal {\n width: 100%;\n}\n\n:host.divider-vertical {\n height: 100%;\n}\n\n:host.divider-small.divider-horizontal {\n height: var(--border-size-small);\n}\n\n:host.divider-medium.divider-horizontal {\n height: var(--border-size-medium);\n}\n\n:host.divider-large.divider-horizontal {\n height: var(--border-size-large);\n}\n\n:host.divider-small.divider-vertical {\n width: var(--border-size-small);\n}\n\n:host.divider-medium.divider-vertical {\n width: var(--border-size-medium);\n}\n\n:host.divider-large.divider-vertical {\n width: var(--border-size-large);\n}\n","import {Component, ComponentInterface, Host, Prop, h} from \"@stencil/core\";\nimport {DividerOrientation, DividerSize} from \"../../beans\";\n@Component({\n tag: \"z-divider\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZDivider implements ComponentInterface {\n /** [optional] Divider size */\n @Prop()\n size?: DividerSize = DividerSize.SMALL;\n\n /** [optional] Divider color */\n @Prop()\n color?: string = \"gray200\";\n\n /** [optional] Divider orintation */\n @Prop()\n orientation?: DividerOrientation = DividerOrientation.HORIZONTAL;\n\n render(): HTMLZDividerElement {\n return (\n <Host\n class={`divider-${this.size} divider-${this.orientation}`}\n style={{backgroundColor: `var(--${this.color})`}}\n />\n );\n }\n}\n",":host {\n display: inline;\n margin-right: var(--z-icon-right-margin, 0);\n margin-left: var(--z-icon-left-margin, 0);\n line-height: 0;\n vertical-align: middle;\n}\n\n.icon-wrapper {\n position: relative;\n z-index: 0;\n display: inline-block;\n}\n\nsvg:not([width]) {\n width: var(--z-icon-width, 1.125rem);\n}\n\nsvg:not([height]) {\n height: var(--z-icon-height, 1.125rem);\n}\n\n.icon-wrapper svg.color-indicator {\n position: absolute;\n z-index: -1;\n bottom: 0;\n left: 0;\n}\n","import {Component, ComponentInterface, Host, Prop, h} from \"@stencil/core\";\nimport {COLOR_INDICATOR_ICONS, ICONS} from \"../../constants/iconset\";\n\n// https://regex101.com/r/ZnoZQ5/3\nconst ICON_NAME_SUFFIX_REGEX = /^(.+?)(-transparent)?(-filled|-button)?$/;\n\n/**\n * Component to render an SVG icon from the internal icon set, selected by `name`.\n * This component automatically recognizes icons that have an indicator (e.g. `bg-color`, `font-color`, etc.), that can be filled with a custom color via the `indicatorColor` prop.\n */\n@Component({\n tag: \"z-icon\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZIcon implements ComponentInterface {\n /** Icon name */\n @Prop()\n name: string;\n\n /** Icon height (optional) */\n @Prop()\n height?: number | string;\n\n /** Icon width (optional) */\n @Prop()\n width?: number | string;\n\n /** HTML `id` attribute (optional) */\n @Prop()\n iconid?: string;\n\n /** Name of the CSS color token to use for the icon fill color (e.g. `blue500`). */\n @Prop()\n fill?: string;\n\n /**\n * Color to use to fill the icon's color indicator, if it has one.\n * Can be any valid value for the `fill` svg attribute.\n * If the icon passed through the `name` prop doesn't have a color indicator, this prop has no effect.\n */\n @Prop()\n indicatorColor?: string;\n\n /**\n * Selects either a `<path>` or `<polygon>` element based on the format of the icon data.\n * @param iconValue The SVG path data or polygon points from the ICONS set.\n */\n private selectPathOrPolygon(iconValue: string): SVGPathElement | SVGPolygonElement {\n if (iconValue?.startsWith(\"M\")) {\n return <path d={iconValue}></path>;\n }\n\n return <polygon points={iconValue}></polygon>;\n }\n\n private get hasColorIndicator(): boolean {\n return COLOR_INDICATOR_ICONS.includes(this.name);\n }\n\n private get needsTransparentIndicator(): boolean {\n return [\"transparent\", \"#ffffff00\"].includes(this.indicatorColor?.toLowerCase());\n }\n\n /**\n * For icons with a color indicator, if `indicatorColor` is set to transparent, use a specific icon version without the color indicator.\n * Using the icon without the color indicator prevents visual ambiguity between a transparent indicator and one filled with the background color.\n * @returns The name of the corresponding icon without the indicator, or the original icon name if no transparent version is needed or available.\n */\n private getTransparentIndicatorIconIfNeeded(): string {\n const transparentIconName = this.name?.replace(ICON_NAME_SUFFIX_REGEX, \"$1-transparent$3\");\n if (!this.hasColorIndicator || !this.needsTransparentIndicator || !ICONS[transparentIconName]) {\n return this.name;\n }\n\n return transparentIconName;\n }\n\n /**\n * Render the icon with the color indicator.\n * The indicator is rendered as a separate SVG element behind the main icon, filled with the `indicatorColor`.\n */\n private renderColorIndicator(): SVGElement {\n return (\n <svg\n class=\"color-indicator\"\n fill={this.indicatorColor || \"#FFFFFF00\"}\n viewBox=\"0 0 1000 1000\"\n width={this.width}\n height={this.height}\n aria-hidden=\"true\"\n >\n {this.selectPathOrPolygon(ICONS[\"picker-color\"])}\n </svg>\n );\n }\n\n private renderBaseIcon(): SVGElement {\n return (\n <svg\n id={this.iconid || undefined}\n fill={this.fill ? `var(--${this.fill})` : undefined}\n viewBox=\"0 0 1000 1000\"\n width={this.width}\n height={this.height}\n aria-hidden=\"true\"\n >\n {this.selectPathOrPolygon(ICONS[this.getTransparentIndicatorIconIfNeeded()])}\n </svg>\n );\n }\n\n render(): HTMLZIconElement {\n return (\n <Host aria-hidden=\"true\">\n {this.hasColorIndicator && !this.needsTransparentIndicator ? (\n <div class=\"icon-wrapper\">\n {this.renderColorIndicator()}\n {this.renderBaseIcon()}\n </div>\n ) : (\n this.renderBaseIcon()\n )}\n </Host>\n );\n }\n}\n",":host {\n display: inline-block;\n width: inherit;\n}\n\n:host * {\n box-sizing: border-box;\n}\n\n/* GENERAL */\ninput::-ms-clear,\ninput::-ms-reveal {\n display: none;\n}\n\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n display: none;\n}\n\ninput,\ntextarea {\n background: var(--color-form-background);\n fill: var(--color-form-default-icon);\n font-family: var(--font-family-sans);\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n outline: none;\n}\n\ninput,\n.textarea-wrapper {\n border: var(--border-size-small) solid var(--color-form-surface04);\n border-radius: var(--border-radius-small);\n color: var(--color-form-default-text);\n}\n\n:host([size=\"small\"]) input,\n:host([size=\"small\"]) textarea,\n:host([size=\"x-small\"]) input,\n:host([size=\"x-small\"]) textarea {\n font-size: var(--font-size-2);\n}\n\n:host.cursor-select input {\n cursor: pointer;\n}\n\n/* HOVER */\ninput:not([readonly]):hover,\n.textarea-wrapper:not(.readonly):hover {\n outline: var(--border-size-medium) solid var(--color-surface04);\n outline-offset: -2px;\n}\n\n/* FOCUS */\n:host:not(.active-select) input:focus:focus-visible,\n:host:not([readonly=\"true\"]) .textarea-wrapper:focus-within {\n border-color: var(--color-form-active-primary);\n box-shadow: var(--shadow-focus-primary);\n color: var(--color-form-active-primary);\n}\n\n:host input:focus:focus-visible:hover,\n.textarea-wrapper:not(.readonly):focus-within:hover {\n outline-color: var(--color-form-active-primary);\n}\n\n:host input:focus:focus-visible + .icons-wrapper {\n fill: var(--color-form-active-primary);\n}\n\n:host.active-select input {\n border: var(--border-size-small) solid var(--color-form-active-primary);\n}\n\n:host.cursor-select input:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n}\n\n:host input[readonly]:focus:focus-visible {\n border-color: var(--color-form-surface03);\n box-shadow: none;\n}\n\n/* STATUSES (success, warning, error) */\n.input-success {\n border-color: var(--color-form-success01);\n background: var(--color-form-inverse-success);\n}\n\n.input-success:focus:focus-visible + .icons-wrapper,\n.input-success + .icons-wrapper {\n fill: var(--color-form-success01);\n}\n\n.input-error {\n border-color: var(--color-form-hover-error);\n background: var(--color-form-inverse-error);\n}\n\n.input-error:focus:focus-visible + .icons-wrapper,\n.input-error + .icons-wrapper {\n fill: var(--color-form-hover-error);\n}\n\n.input-warning {\n border-color: var(--color-form-hover-warning);\n background: var(--color-form-inverse-warning);\n}\n\n.input-warning:focus:focus-visible + .icons-wrapper,\n.input-warning + .icons-wrapper {\n fill: var(--color-form-hover-warning);\n}\n\n:is(.input-success, .input-error, .input-warning):focus:focus-visible {\n color: var(--color-form-default-text);\n}\n\n/* READONLY */\n:host:not(.active-select) input[readonly],\n.textarea-wrapper.readonly {\n border-color: var(--color-form-surface03);\n fill: var(--color-form-disabled01-icon);\n pointer-events: none;\n}\n\n/* DISABLED */\n:host([disabled]:not([disabled=\"false\"])) input,\n:host([disabled]:not([disabled=\"false\"])) .textarea-wrapper,\n:host([disabled]:not([disabled=\"false\"])) z-icon {\n border-color: var(--color-form-disabled03);\n box-shadow: none;\n color: var(--color-form-disabled-text);\n fill: var(--color-form-disabled01-icon);\n pointer-events: none;\n}\n\n:host([disabled]:not([disabled=\"false\"])) input:hover {\n border-width: var(--border-size-small);\n}\n\n/* PLACEHOLDER */\ninput::placeholder,\ntextarea::placeholder {\n color: var(--color-form-placeholder-text);\n}\n\n::-webkit-textarea-placeholder {\n color: var(--color-form-placeholder-text);\n}\n\n:-ms-textarea-placeholder {\n color: var(--color-form-placeholder-text);\n}\n\n::placeholder {\n color: var(--color-form-placeholder-text);\n}\n\n:host([disabled]:not([disabled=\"false\"])) label.z-label {\n color: var(--color-disabled03);\n}\n",".text-wrapper > div {\n position: relative;\n z-index: 1;\n fill: var(--color-form-default-icon);\n}\n\n.text-wrapper > div > input {\n width: 100%;\n height: calc(var(--space-unit) * 5.5);\n box-sizing: border-box;\n padding: 0 calc(var(--space-unit) * 1.5);\n margin: 0;\n}\n\n:host([size=\"small\"]) .text-wrapper > div > input {\n height: calc(var(--space-unit) * 4.5);\n}\n\n:host([size=\"x-small\"]) .text-wrapper > div > input {\n height: calc(var(--space-unit) * 4);\n}\n\n.text-wrapper > div > input.has-icon,\n.text-wrapper > div > input.has-clear-icon {\n padding-right: calc(var(--space-unit) * 5.25);\n}\n\n.text-wrapper > div > input.has-icon.has-clear-icon {\n padding-right: calc(var(--space-unit) * 8);\n}\n\n.text-wrapper .icons-wrapper {\n position: absolute;\n z-index: 2;\n top: 50%;\n right: calc(var(--space-unit) * 1.5);\n display: flex;\n pointer-events: none;\n transform: translateY(-50%);\n}\n\n.text-wrapper .icons-wrapper > button.input-icon {\n display: flex;\n padding: 0;\n border: 0;\n background: none;\n color: inherit;\n font: inherit;\n pointer-events: initial;\n}\n\n.text-wrapper .icons-wrapper > .input-icon + .input-icon {\n margin-left: calc(var(--space-unit) * 0.5);\n}\n\n.text-wrapper .icons-wrapper > button.input-icon.hidden {\n display: none;\n}\n\n.text-wrapper .icons-wrapper > button.reset-icon,\n.text-wrapper .icons-wrapper > button.toggle-password-icon {\n display: flex;\n min-width: 24px;\n min-height: 24px;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n\n.text-wrapper .icons-wrapper > .input-icon {\n --z-icon-width: 18px;\n --z-icon-height: 18px;\n\n display: block;\n}\n\n.text-wrapper .icons-wrapper > .input-icon.small,\n.text-wrapper .icons-wrapper > .input-icon.x-small {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n.text-wrapper .icons-wrapper > button.input-icon:focus {\n box-shadow: var(--shadow-focus-primary);\n outline: none !important;\n}\n\n/* stylelint-disable property-no-vendor-prefix */\n.text-wrapper > div > input:-webkit-autofill {\n -webkit-box-shadow: 0 0 0 1000px #fff inset;\n -webkit-text-fill-color: currentcolor;\n}\n",".textarea-wrapper {\n width: 100%;\n height: 100%;\n padding: calc(var(--space-unit) * 1.5);\n}\n\n.textarea-wrapper:not(.input-error, .input-success, .input-warning) {\n background-color: var(--color-form-background);\n}\n\ntextarea {\n width: 100%;\n min-height: 132px;\n padding: 0;\n border: none;\n margin: 0;\n color: currentcolor;\n resize: none;\n}\n",".radio-wrapper,\n.checkbox-wrapper {\n position: relative;\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n color: var(--color-default-text);\n fill: var(--color-primary01);\n font-family: var(--font-family-sans);\n}\n\n.radio-wrapper:hover,\n.checkbox-wrapper:hover {\n color: var(--color-hover-primary);\n fill: var(--color-hover-primary-icon);\n}\n\n.radio-wrapper > input,\n.checkbox-wrapper > input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n pointer-events: none;\n}\n\n.radio-wrapper .radio-label,\n.checkbox-wrapper .checkbox-label {\n display: inline-flex;\n min-height: 24px;\n align-items: center;\n padding: 3px 0;\n margin: 0;\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n line-height: 1;\n text-transform: inherit;\n}\n\n.radio-wrapper input:not(:disabled) + .radio-label,\n.checkbox-wrapper input:not(:disabled) + .checkbox-label {\n cursor: pointer;\n}\n\n.radio-wrapper .radio-label z-icon,\n.checkbox-wrapper .checkbox-label z-icon {\n cursor: pointer;\n fill: inherit;\n}\n\n:host([size=\"small\"]) .radio-wrapper .radio-label z-icon,\n:host([size=\"small\"]) .checkbox-wrapper .checkbox-label z-icon {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n:host([size=\"small\"]) .radio-wrapper .radio-label,\n:host([size=\"small\"]) .checkbox-wrapper .checkbox-label {\n font-size: var(--font-size-2);\n}\n\n:host([size=\"x-small\"]) .radio-wrapper .radio-label z-icon,\n:host([size=\"x-small\"]) .checkbox-wrapper .checkbox-label z-icon {\n --z-icon-width: 14px;\n --z-icon-height: 14px;\n}\n\n:host([size=\"x-small\"]) .radio-wrapper .radio-label,\n:host([size=\"x-small\"]) .checkbox-wrapper .checkbox-label {\n font-size: var(--font-size-1);\n}\n\n.radio-wrapper .radio-label.after,\n.checkbox-wrapper .checkbox-label.after {\n flex-direction: row;\n}\n\n.radio-wrapper .radio-label.before,\n.checkbox-wrapper .checkbox-label.before {\n flex-direction: row-reverse;\n}\n\n.radio-wrapper .radio-label.after > span,\n.checkbox-wrapper .checkbox-label.after > span {\n margin-left: var(--space-unit);\n}\n\n.radio-wrapper .radio-label.before > span,\n.checkbox-wrapper .checkbox-label.before > span {\n margin-right: var(--space-unit);\n}\n\n:host([size=\"small\"]) .radio-wrapper .radio-label.after > span,\n:host([size=\"small\"]) .checkbox-wrapper .checkbox-label.after > span,\n:host([size=\"x-small\"]) .radio-wrapper .radio-label.after > span,\n:host([size=\"x-small\"]) .checkbox-wrapper .checkbox-label.after > span {\n margin-left: calc(var(--space-unit) * 0.5);\n}\n\n:host([size=\"small\"]) .radio-wrapper .radio-label.before > span,\n:host([size=\"small\"]) .checkbox-wrapper .checkbox-label.before > span,\n:host([size=\"x-small\"]) .radio-wrapper .radio-label.before > span,\n:host([size=\"x-small\"]) .checkbox-wrapper .checkbox-label.before > span {\n margin-right: calc(var(--space-unit) * 0.5);\n}\n\n/* focus */\n.radio-wrapper > input:focus:focus-visible + .radio-label > z-icon {\n border-radius: 50%;\n}\n\n.checkbox-wrapper > input:focus:focus-visible + .checkbox-label > z-icon {\n border-radius: var(--border-radius-small);\n}\n\n.radio-wrapper > input:focus:focus-visible + .radio-label > z-icon,\n.checkbox-wrapper > input:focus:focus-visible + .checkbox-label > z-icon {\n box-shadow: var(--shadow-focus-primary);\n}\n\n/* disabled */\n.radio-wrapper > input:disabled + .radio-label,\n.checkbox-wrapper > input:disabled + .checkbox-label {\n color: var(--color-disabled03);\n}\n\n.radio-wrapper > input:disabled + .radio-label > z-icon,\n.checkbox-wrapper > input:disabled + .checkbox-label > z-icon {\n cursor: default;\n fill: var(--color-disabled01);\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Listen,\n Method,\n Prop,\n State,\n h,\n} from \"@stencil/core\";\nimport {Fragment, Host, JSXBase} from \"@stencil/core/internal\";\nimport {ControlSize, InputStatus, InputType, LabelPosition} from \"../../beans\";\nimport {boolean, randomId} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-input\",\n styleUrls: [\"styles-general.css\", \"styles-text.css\", \"styles-textarea.css\", \"styles-checkbox-radio.css\"],\n shadow: false,\n scoped: true,\n})\nexport class ZInput implements ComponentInterface {\n @Element() hostElement: HTMLZInputElement;\n\n /** the id of the input element */\n @Prop()\n htmlid = `id-${randomId()}`;\n\n /** input types */\n @Prop()\n type: InputType;\n\n /** the input name */\n @Prop()\n name?: string;\n\n /** the input label */\n @Prop()\n label?: string;\n\n /** the input aria-label */\n @Prop()\n ariaLabel = \"\";\n\n /** the input aria-expaded: available for text, password, number, email */\n @Prop()\n htmlAriaExpanded = \"\";\n\n /** the input aria-controls (optional): available for text, password, number, email */\n @Prop()\n htmlAriaControls?: string;\n\n /** the input aria-autocomplete (optional): available for text, password, number, email */\n @Prop()\n htmlAriaAutocomplete?: string;\n\n /** the input aria-activedescendant (optional): available for text, password, number, email */\n @Prop()\n htmlAriaActivedescendant?: string;\n\n /** the input aria-describedby (optional) */\n @Prop()\n htmlAriaDescribedBy?: string;\n\n /** the input aria-labelledby (optional) */\n @Prop()\n htmlAriaLabelledby?: string;\n\n /** the input value */\n @Prop({mutable: true})\n value?: string;\n\n /** the input is disabled */\n @Prop({reflect: true})\n disabled?: boolean = false;\n\n /** the input is readonly */\n @Prop()\n readonly?: boolean = false;\n\n /** the input is required (optional): available for text, password, number, email, textarea, checkbox */\n @Prop()\n required?: boolean = false;\n\n /** checked: available for checkbox, radio */\n @Prop({mutable: true})\n checked?: boolean = false;\n\n /** the input placeholder (optional) */\n @Prop()\n placeholder?: string;\n\n /** the input html title (optional) */\n @Prop()\n htmltitle?: string;\n\n /** the input status (optional): available for text, password, number, email, textarea */\n @Prop()\n status?: InputStatus;\n\n /** input helper message (optional): available for text, password, number, email, textarea - if set to `false` message won't be displayed */\n @Prop()\n message?: string | boolean = true;\n\n /** the input label position: available for checkbox, radio */\n @Prop()\n labelPosition?: LabelPosition = LabelPosition.RIGHT;\n\n /** the input has autocomplete option (optional): available for text, password, number, email */\n @Prop()\n autocomplete?: string;\n\n /** the input role */\n @Prop()\n role = \"\";\n\n /** render clear icon when typing (optional): available for text */\n @Prop()\n hasclearicon?: boolean = true;\n\n /** render icon (optional): available for text */\n @Prop()\n icon?: string;\n\n /** min number value (optional): available for number */\n @Prop()\n min?: number;\n\n /** Min length value (optional): available for text */\n @Prop()\n minlength?: number;\n\n /** max number value (optional): available for number */\n @Prop()\n max?: number;\n\n /** Max length value (optional): available for text */\n @Prop()\n maxlength?: number;\n\n /** step number value (optional): available for number */\n @Prop()\n step?: number;\n\n /** pattern value (optional): available for tel, text, search, url, email, password*/\n @Prop()\n pattern?: string;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop({reflect: true})\n size?: ControlSize = ControlSize.BIG;\n\n @State()\n isTyping = false;\n\n @State()\n passwordHidden = true;\n\n private timer;\n\n private typingtimeout = 300;\n\n private inputRef: HTMLInputElement;\n\n @Listen(\"inputCheck\", {target: \"document\"})\n inputCheckListener(e: CustomEvent): void {\n const data = e.detail;\n switch (this.type) {\n case InputType.RADIO:\n if (data.type === InputType.RADIO && data.name === this.name && data.id !== this.htmlid) {\n this.checked = false;\n }\n break;\n }\n }\n\n /** get checked status */\n @Method()\n async isChecked(): Promise<boolean> {\n switch (this.type) {\n case InputType.CHECKBOX:\n case InputType.RADIO:\n return this.checked;\n default:\n console.warn(\"`isChecked` method is only available for type `checkbox` and `radio`\");\n\n return false;\n }\n }\n\n /** Emitted on input value change, returns value, validity */\n @Event()\n inputChange: EventEmitter;\n\n private emitInputChange(value: string): void {\n if (!this.isTyping) {\n this.emitStartTyping();\n }\n\n let validity: ValidityState;\n if (this.type === InputType.TEXTAREA) {\n validity = this.getValidity(\"textarea\");\n } else {\n validity = this.getValidity(\"input\");\n }\n this.value = value;\n this.inputChange.emit({value, validity});\n\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n this.emitStopTyping(this.value, validity);\n }, this.typingtimeout);\n }\n\n /** Emitted when user starts typing */\n @Event()\n startTyping: EventEmitter;\n\n private emitStartTyping(): void {\n this.isTyping = true;\n this.startTyping.emit();\n }\n\n /** Emitted when user stops typing, returns value, validity */\n @Event()\n stopTyping: EventEmitter;\n\n private emitStopTyping(value: string, validity: ValidityState): void {\n this.isTyping = false;\n this.stopTyping.emit({\n value: value,\n validity: validity,\n });\n }\n\n /** Emitted on checkbox check/uncheck, returns id, checked, type, name, value, validity */\n @Event()\n inputCheck: EventEmitter;\n\n private emitInputCheck(checked: boolean): void {\n this.inputCheck.emit({\n id: this.htmlid,\n checked: checked,\n type: this.type,\n name: this.name,\n value: this.value,\n validity: this.getValidity(\"input\"),\n });\n }\n\n /** Emitted on input focus */\n @Event()\n inputFocus: EventEmitter;\n\n private emitInputFocus(): void {\n this.inputFocus.emit({id: this.htmlid});\n }\n\n /** Emitted on input blur */\n @Event()\n inputBlur: EventEmitter;\n\n private emitInputBlur(): void {\n this.inputBlur.emit({id: this.htmlid});\n }\n\n private getValidity(type: string): ValidityState {\n const input = this.hostElement.querySelector(type) as HTMLInputElement;\n\n return input.validity;\n }\n\n /* START text/password/email/number */\n\n private getTextAttributes(): JSXBase.InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement> {\n return {\n id: this.htmlid,\n name: this.name,\n placeholder: this.placeholder,\n value: this.value,\n disabled: this.disabled,\n readonly: this.readonly,\n required: this.required,\n title: this.htmltitle,\n minlength: this.minlength,\n maxlength: this.maxlength,\n class: {\n [`input-${this.status}`]: !!this.status,\n },\n autocomplete: this.autocomplete,\n onInput: (e: InputEvent) => this.emitInputChange((e.target as HTMLInputElement).value),\n };\n }\n\n private getNumberAttributes(type: InputType): JSXBase.InputHTMLAttributes<HTMLInputElement> {\n if (type != InputType.NUMBER) {\n return;\n }\n\n return {\n min: this.min,\n max: this.max,\n step: this.step,\n };\n }\n\n private getPatternAttribute(type: InputType): JSXBase.InputHTMLAttributes<HTMLInputElement> {\n if (\n type != InputType.PASSWORD &&\n type != InputType.TEXT &&\n type != InputType.TEL &&\n type != InputType.SEARCH &&\n type != InputType.URL &&\n type != InputType.EMAIL\n ) {\n return;\n }\n\n return {\n pattern: this.pattern,\n };\n }\n\n private inputHasMessage(): boolean {\n if (boolean(this.message) === false || boolean(this.message) === true) {\n return false;\n }\n\n return true;\n }\n\n private getAriaAttributes(): Record<string, unknown> {\n return {\n ...(this.role ? {role: this.role} : {}),\n ...(this.htmlAriaDescribedBy ? {\"aria-describedby\": this.htmlAriaDescribedBy} : {}),\n ...(this.htmlAriaLabelledby ? {\"aria-labelledby\": this.htmlAriaLabelledby} : {}),\n };\n }\n\n private getTextAriaAttributes(): Record<string, unknown> {\n const expanded = this.htmlAriaExpanded ? {\"aria-expanded\": this.htmlAriaExpanded} : {};\n const controls = this.htmlAriaControls ? {\"aria-controls\": this.htmlAriaControls} : {};\n const autocomplete = this.htmlAriaAutocomplete ? {\"aria-autocomplete\": this.htmlAriaAutocomplete} : {};\n const activedescendant = this.htmlAriaActivedescendant\n ? {\"aria-activedescendant\": this.htmlAriaActivedescendant}\n : {};\n const ariaDescribedby =\n this.htmlAriaDescribedBy || this.inputHasMessage()\n ? {\"aria-describedby\": this.htmlAriaDescribedBy || `${this.htmlid}-message`}\n : {};\n\n const ariaInvalid = this.status === InputStatus.ERROR ? {\"aria-invalid\": \"true\"} : {};\n\n return {\n ...this.getAriaAttributes(),\n ...expanded,\n ...controls,\n ...autocomplete,\n ...activedescendant,\n ...ariaDescribedby,\n ...ariaInvalid,\n };\n }\n\n private getFocusBlurAttributes(): JSXBase.InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement> {\n return {\n onFocus: () => this.emitInputFocus(),\n onBlur: () => this.emitInputBlur(),\n };\n }\n\n private renderInputText(type: InputType = InputType.TEXT): HTMLDivElement {\n const ariaLabel = this.ariaLabel ? {\"aria-label\": this.ariaLabel} : {};\n const attr = {\n ...this.getTextAttributes(),\n ...this.getNumberAttributes(type),\n ...this.getPatternAttribute(type),\n ...ariaLabel,\n ...this.getTextAriaAttributes(),\n ...this.getFocusBlurAttributes(),\n };\n if (this.icon || type === InputType.PASSWORD) {\n Object.assign(attr.class, {\"has-icon\": true});\n }\n if (this.hasclearicon && type != InputType.NUMBER) {\n Object.assign(attr.class, {\"has-clear-icon\": true});\n }\n\n return (\n <div class=\"text-wrapper\">\n {this.renderLabel()}\n <div>\n <input\n type={type === InputType.PASSWORD && !this.passwordHidden ? InputType.TEXT : type}\n {...attr}\n ref={(el) => (this.inputRef = el)}\n />\n {this.renderIcons()}\n </div>\n {this.renderMessage()}\n </div>\n );\n }\n\n private renderLabel(): HTMLLabelElement {\n if (!this.label) {\n return;\n }\n\n return (\n <label\n class=\"z-label body-5-sb\"\n id={`${this.htmlid}_label`}\n htmlFor={this.htmlid}\n >\n {this.label}\n </label>\n );\n }\n\n private renderIcons(): HTMLSpanElement {\n return (\n <span class=\"icons-wrapper\">\n {this.renderResetIcon()}\n {this.renderIcon()}\n </span>\n );\n }\n\n private renderIcon(): HTMLButtonElement {\n if (this.type === InputType.PASSWORD) {\n return this.renderShowHidePassword();\n }\n\n if (!this.icon) {\n return;\n }\n\n return (\n <z-icon\n name={this.icon}\n class={{[this.size]: true, \"input-icon\": true}}\n />\n );\n }\n\n private renderResetIcon(): HTMLButtonElement {\n let hidden = false;\n if (!this.hasclearicon || !this.value || this.disabled || this.readonly || this.type == InputType.NUMBER) {\n hidden = true;\n }\n\n return (\n <button\n type=\"button\"\n class={{\"reset-icon\": true, \"input-icon\": true, hidden}}\n aria-label=\"cancella il contenuto dell'input\"\n onClick={() => {\n this.inputRef.value = \"\";\n this.emitInputChange(\"\");\n this.inputRef.focus();\n }}\n >\n <z-icon\n name=\"multiply\"\n class={this.size}\n />\n </button>\n );\n }\n\n private renderShowHidePassword(): HTMLButtonElement {\n return (\n <button\n type=\"button\"\n class=\"input-icon toggle-password-icon\"\n disabled={this.disabled}\n aria-label={this.passwordHidden ? \"mostra password\" : \"nascondi password\"}\n onClick={() => (this.passwordHidden = !this.passwordHidden)}\n >\n <z-icon\n name={this.passwordHidden ? \"view-filled\" : \"view-off-filled\"}\n class={this.size}\n />\n </button>\n );\n }\n\n private renderMessage(): HTMLZInputMessageElement {\n if (boolean(this.message) === false) {\n return;\n }\n\n return (\n <z-input-message\n html-id={`${this.htmlid}-message`}\n message={boolean(this.message) === true ? undefined : (this.message as string)}\n status={this.status}\n class={this.size}\n disabled={this.disabled}\n />\n );\n }\n\n /* END text/password/email/number */\n\n /* START textarea */\n\n private renderTextarea(): HTMLDivElement {\n const attributes = this.getTextAttributes();\n const ariaAttributes = this.getTextAriaAttributes();\n\n return (\n <Fragment>\n {this.renderLabel()}\n <div\n class={{\n ...(attributes.class as {[className: string]: boolean}),\n \"textarea-wrapper\": true,\n \"readonly\": !!attributes.readonly,\n }}\n >\n <textarea\n {...attributes}\n {...ariaAttributes}\n class={{\n ...(attributes.class as {[className: string]: boolean}),\n \"z-scrollbar\": true,\n }}\n aria-label={this.ariaLabel || undefined}\n ></textarea>\n </div>\n {this.renderMessage()}\n </Fragment>\n );\n }\n\n /* END textarea */\n\n private handleCheck(ev: Event): void {\n this.checked = (ev.target as HTMLInputElement).checked;\n this.emitInputCheck(this.checked);\n }\n\n /* START checkbox */\n private renderCheckbox(): HTMLDivElement {\n return (\n <div class=\"checkbox-wrapper\">\n <input\n id={this.htmlid}\n type=\"checkbox\"\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n readonly={this.readonly}\n required={this.required}\n onChange={this.handleCheck.bind(this)}\n value={this.value}\n {...this.getAriaAttributes()}\n {...this.getFocusBlurAttributes()}\n />\n\n <label\n htmlFor={this.htmlid}\n class={{\n \"checkbox-label\": true,\n \"after\": this.labelPosition === LabelPosition.RIGHT,\n \"before\": this.labelPosition === LabelPosition.LEFT,\n }}\n >\n <z-icon\n name={this.checked ? \"checkbox-checked\" : \"checkbox\"}\n class={this.size}\n />\n {this.label && <span innerHTML={this.label}></span>}\n </label>\n </div>\n );\n }\n\n /* END checkbox */\n\n /* START radio */\n private renderRadio(): HTMLDivElement {\n return (\n <div class=\"radio-wrapper\">\n <input\n id={this.htmlid}\n type=\"radio\"\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n readonly={this.readonly}\n onChange={this.handleCheck.bind(this)}\n value={this.value}\n {...this.getAriaAttributes()}\n {...this.getFocusBlurAttributes()}\n />\n\n <label\n htmlFor={this.htmlid}\n class={{\n \"radio-label\": true,\n \"after\": this.labelPosition === LabelPosition.RIGHT,\n \"before\": this.labelPosition === LabelPosition.LEFT,\n }}\n >\n <z-icon\n name={this.checked ? \"radio-button-checked\" : \"radio-button\"}\n class={this.size}\n />\n {this.label && <span innerHTML={this.label} />}\n </label>\n </div>\n );\n }\n /* END radio */\n\n render(): HTMLInputElement | HTMLDivElement {\n let input;\n switch (this.type) {\n case InputType.TEXTAREA:\n input = this.renderTextarea();\n break;\n case InputType.CHECKBOX:\n input = this.renderCheckbox();\n break;\n case InputType.RADIO:\n input = this.renderRadio();\n break;\n default:\n input = this.renderInputText(this.type);\n }\n\n return <Host>{input}</Host>;\n }\n}\n",":host {\n display: flex;\n min-height: calc(var(--space-unit) * 2.5);\n align-items: start;\n margin-top: var(--space-unit);\n color: var(--color-default-text);\n fill: currentcolor;\n font-family: var(--font-family-sans);\n font-size: var(--font-size-2);\n letter-spacing: 0.16px;\n}\n\n:host(.small),\n:host(.x-small) {\n margin-top: calc(var(--space-unit) * 0.5);\n font-size: var(--font-size-1);\n}\n\n:host([status=\"success\"]) {\n color: var(--color-hover-success);\n}\n\n:host([status=\"error\"]) {\n color: var(--color-hover-error);\n}\n\n:host([status=\"warning\"]) {\n color: var(--color-hover-warning);\n}\n\n:host(:focus) {\n outline: none;\n}\n\n:host > z-icon {\n --z-icon-width: calc(var(--space-unit) * 2);\n --z-icon-height: calc(var(--space-unit) * 2);\n --z-icon-right-margin: var(--space-unit);\n\n margin-top: calc(var(--space-unit) * 0.25);\n}\n\n:host(.small) > z-icon,\n:host(.x-small) > z-icon {\n --z-icon-width: 14px;\n --z-icon-height: 14px;\n --z-icon-right-margin: calc(var(--space-unit) * 0.5);\n}\n\n:host([disabled]) {\n color: var(--color-disabled03);\n fill: var(--color-disabled03);\n}\n","import {Component, ComponentInterface, Host, Prop, State, Watch, h} from \"@stencil/core\";\nimport {InputStatus} from \"../../beans\";\nimport {randomId} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-input-message\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZInputMessage implements ComponentInterface {\n /** input helper message */\n @Prop()\n message: string;\n\n /** the id of the message element (optional)*/\n @Prop()\n htmlId? = `id-${randomId()}`;\n\n /** the role to set when both the message and the status are populated (optional)*/\n @Prop()\n htmlRole: null | string = \"alert\";\n\n /** input status (optional) */\n @Prop({reflect: true})\n status?: InputStatus;\n\n /** input disabled status (optional) */\n @Prop({reflect: true})\n disabled?: boolean;\n\n private statusIcons = {\n success: \"checkmark-circle\",\n error: \"multiply-circled\",\n warning: \"exclamation-circle\",\n };\n\n @State()\n statusRole = {};\n\n @Watch(\"message\")\n @Watch(\"status\")\n @Watch(\"htmlRole\")\n onMessageChange(): void {\n this.statusRole = this.htmlRole && this.message && this.status ? {role: this.htmlRole} : {};\n }\n\n componentWillLoad(): void {\n this.onMessageChange();\n }\n\n render(): HTMLZInputMessageElement {\n return (\n <Host {...this.statusRole}>\n {this.statusIcons[this.status] && this.message && <z-icon name={this.statusIcons[this.status]}></z-icon>}\n <span\n id={this.htmlId}\n innerHTML={this.message}\n />\n </Host>\n );\n }\n}\n",":host {\n display: flex;\n flex-direction: column;\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n","import {Component, ComponentInterface, Element, Host, Prop, h} from \"@stencil/core\";\nimport {ListSize, ListType} from \"../../../beans\";\n\n@Component({\n tag: \"z-list\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZList implements ComponentInterface {\n @Element() host: HTMLZListElement;\n\n /**\n * [optional] Sets size of inside elements.\n */\n @Prop({reflect: true})\n size?: ListSize = ListSize.MEDIUM;\n\n /**\n * [optional] type of the list marker for each element\n */\n @Prop({reflect: true})\n listType?: ListType = ListType.NONE;\n\n /**\n * Sets role of the element.\n */\n @Prop({reflect: true})\n role = \"list\";\n\n private setChildrenSizeType(): void {\n const children = this.host.children;\n for (let i = 0; i < children.length; i++) {\n children[i].setAttribute(\"size\", this.size);\n children[i].setAttribute(\"list-type\", this.listType);\n children[i].setAttribute(\"list-element-position\", (i + 1).toString());\n }\n }\n\n componentDidLoad(): void {\n this.setChildrenSizeType();\n }\n\n render(): HTMLZListElement {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n",":host {\n outline: none;\n}\n\n:host > .container {\n --background-color-list-element: ;\n --background-hover-color-list-element: ;\n --background-active-color-list-element: ;\n\n display: flex;\n box-sizing: border-box;\n flex-direction: column;\n justify-content: center;\n background-color: var(--background-color-list-element, var(--color-surface01));\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n outline: none;\n}\n\n/* z-list-element size */\n\n:host([size=\"small\"]) > .container {\n min-height: calc(var(--space-unit) * 4);\n padding: calc(var(--space-unit) / 2) 0;\n}\n\n:host([size=\"medium\"]) > .container {\n min-height: calc(var(--space-unit) * 5);\n padding: var(--space-unit) 0;\n}\n\n:host([size=\"medium\"]) > .tree-element-container {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n:host([size=\"large\"]) > .container {\n min-height: calc(var(--space-unit) * 7);\n padding: calc(var(--space-unit) * 2) 0;\n}\n\n:host([size=\"x-large\"]) > .container {\n min-height: calc(var(--space-unit) * 9);\n padding: calc(var(--space-unit) * 3) 0;\n}\n\n/* ----------------- */\n\n:host([expandable]) > .container,\n:host([clickable]) > .container {\n cursor: pointer;\n}\n\n:host([expandable]:hover) > .container,\n:host([clickable]:hover) > .container {\n background-color: var(--background-hover-color-list-element, var(--color-background));\n}\n\n:host([expandable]:focus:focus-visible) > .container,\n:host([clickable]:focus:focus-visible) > .container {\n position: relative;\n z-index: 1;\n box-shadow: var(--shadow-focus-primary);\n}\n\n:host([expandable]:active) > .container,\n:host([clickable]:active) > .container {\n background-color: var(--background-active-color-list-element, var(--color-background));\n}\n\n:host([align-button=\"left\"][expandable]) > .container > .z-list-element-container {\n display: flex;\n}\n\n:host([align-button=\"right\"][expandable]) > .container > .z-list-element-container {\n display: flex;\n flex-direction: row-reverse;\n justify-content: space-between;\n}\n\n:host([align-button=\"left\"][expandable]) > .container > .z-list-element-container > z-icon {\n margin-right: var(--space-unit);\n}\n\n:host([align-button=\"right\"][expandable]) > .container > .z-list-element-container > z-icon {\n margin-left: var(--space-unit);\n}\n\n:host > .container > .z-list-element-inner-container {\n display: none;\n}\n\n:host > .container > .z-list-element-inner-container.expanded {\n display: block;\n}\n\n.z-list-content-container {\n display: flex;\n align-items: center;\n}\n\n:host .z-tree-list-divider {\n position: absolute;\n z-index: 100;\n left: 0;\n}\n\n:host([disabled]) > .container {\n color: var(--color-form-disabled03);\n cursor: default;\n}\n","import {Component, ComponentInterface, Element, Event, EventEmitter, h, Host, Listen, Prop, State} from \"@stencil/core\";\nimport {\n DividerSize,\n ExpandableListButtonAlign,\n ExpandableListStyle,\n KeyboardCode,\n ListDividerType,\n ListSize,\n ListType,\n} from \"../../../beans\";\n\n@Component({\n tag: \"z-list-element\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZListElement implements ComponentInterface {\n @Element() host: HTMLZListElementElement;\n\n /** remove filter click event, returns filterid */\n @Event({\n eventName: \"accessibleFocus\",\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n accessibleFocus: EventEmitter<number>;\n\n /** set parent aria-activedescendant on focus event, returns filterid */\n @Event({\n eventName: \"ariaDescendantFocus\",\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n ariaDescendantFocus: EventEmitter<number>;\n\n /** remove filter click event, returns filterid */\n @Event({\n eventName: \"clickItem\",\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n clickItem: EventEmitter;\n\n @Listen(\"accessibleFocus\", {target: \"document\"})\n accessibleFocusHandler(e: CustomEvent): void {\n if (this.listElementId === e.detail) {\n const toFocus = this.host.shadowRoot.getElementById(`z-list-element-id-${e.detail}`);\n toFocus.focus();\n }\n }\n\n /**\n * [optional] Align expandable button left or right.\n */\n @Prop({reflect: true})\n alignButton?: ExpandableListButtonAlign = ExpandableListButtonAlign.LEFT;\n\n /**\n * [optional] Sets element clickable.\n */\n @Prop({reflect: true})\n clickable?: boolean = false;\n\n /**\n * [optional] Sets the divider color.\n */\n @Prop()\n dividerColor?: string = \"color-surface03\";\n\n /**\n * [optional] Sets the position where to insert the divider.\n */\n @Prop()\n dividerType?: ListDividerType = ListDividerType.NONE;\n\n /**\n * [optional] Sets the divider size.\n */\n @Prop()\n dividerSize?: DividerSize = DividerSize.SMALL;\n\n /**\n * [optional] Sets element as expandable.\n */\n @Prop({reflect: true})\n expandable?: boolean = false;\n\n /**\n * [optional] Sets expandable style to element.\n */\n @Prop()\n expandableStyle?: ExpandableListStyle = ExpandableListStyle.ACCORDION;\n\n /**\n * [optional] List element id.\n */\n @Prop({reflect: true})\n listElementId?: number;\n\n /**\n * [optional] Sets size of inside elements.\n */\n @Prop({reflect: true})\n size?: ListSize = ListSize.MEDIUM;\n\n /**\n * [optional] Sets text color of the element.\n */\n @Prop({reflect: true})\n color?: string = \"none\";\n\n /**\n * [optional] Sets disabled style of the element.\n */\n @Prop({reflect: true})\n disabled?: boolean = false;\n\n /**\n * [optional] position of the list element inside the list or the group\n */\n @Prop({reflect: true})\n listElementPosition?: string = \"0\";\n\n /**\n * [optional] type of the list marker for each element\n */\n @Prop({reflect: true})\n listType?: ListType = ListType.NONE;\n\n /**\n * [optional] Sets element as tree item.\n */\n @Prop()\n hasTreeItems?: boolean;\n\n /**\n * Sets element role.\n */\n @Prop({reflect: true})\n role = \"listitem\";\n\n /** set tabindex to Host tag (optional). Defaults to 0. */\n @Prop()\n htmlTabindex?: number | null = 0;\n\n @State()\n showInnerContent = false;\n\n private openElementConfig = {\n accordion: {\n open: \"minus-circled\",\n close: \"plus-circled\",\n },\n menu: {\n open: \"chevron-up\",\n close: \"chevron-down\",\n },\n };\n\n /**\n * Constructor.\n */\n constructor() {\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n }\n\n /**\n * Handler for click on element. If element is expandable, change state.\n * @returns void\n */\n private handleClick(): void {\n if (this.disabled) {\n return;\n }\n\n this.clickItem.emit(this.listElementId);\n if (!this.expandable) {\n return;\n }\n this.showInnerContent = !this.showInnerContent;\n }\n\n private handleKeyDown(event): void {\n const expandByKey = event.code === KeyboardCode.ENTER;\n switch (event.code) {\n case KeyboardCode.ARROW_DOWN:\n event.preventDefault();\n this.accessibleFocus.emit(this.listElementId + 1);\n break;\n case KeyboardCode.ARROW_UP:\n event.preventDefault();\n this.accessibleFocus.emit(this.listElementId - 1);\n break;\n case KeyboardCode.ENTER:\n event.preventDefault();\n this.clickItem.emit(this.listElementId);\n break;\n default:\n break;\n }\n\n if (!this.expandable || !expandByKey) {\n return;\n }\n this.showInnerContent = !this.showInnerContent;\n }\n\n /**\n * Renders button to expand element.\n * @returns expadable button\n */\n private renderExpandableButton(): HTMLZIconElement {\n if (!this.expandable) {\n return null;\n }\n\n return (\n <z-icon\n name={\n this.showInnerContent\n ? this.openElementConfig[this.expandableStyle].open\n : this.openElementConfig[this.expandableStyle].close\n }\n />\n );\n }\n\n /**\n * Renders expanded content if element is expandable.\n * @returns expanded content\n */\n private renderExpandedContent(): HTMLDivElement {\n if (!this.expandable) {\n return null;\n }\n\n return (\n <div\n class={{\n \"z-list-element-inner-container\": true,\n \"expanded\": this.showInnerContent,\n }}\n >\n <slot name=\"inner-content\" />\n </div>\n );\n }\n\n /**\n * Renders content of the z-list-element\n * @returns list content\n */\n private renderContent(): HTMLDivElement {\n if (this.listType === ListType.NONE) {\n return <slot />;\n }\n\n if (this.listType === ListType.ORDERED) {\n return (\n <div class=\"z-list-content-container\">\n <div>{this.listElementPosition}.&emsp;</div>\n <slot />\n </div>\n );\n }\n\n if (this.listType === ListType.UNORDERED) {\n return (\n <div class=\"z-list-content-container\">\n <span>&bull;&emsp;</span>\n <slot />\n </div>\n );\n }\n }\n\n render(): HTMLZListElementElement {\n return (\n <Host\n aria-expanded={this.expandable ? this.showInnerContent : null}\n onClick={this.handleClick}\n onFocus={() => this.ariaDescendantFocus.emit(this.listElementId)}\n onKeyDown={this.handleKeyDown}\n clickable={this.clickable && !this.disabled}\n tabIndex={this.hasTreeItems ? undefined : this.htmlTabindex}\n role={this.hasTreeItems ? \"none\" : this.role}\n >\n <div\n class={this.hasTreeItems ? \"tree-element-container\" : \"container\"}\n style={!this.disabled && {color: `var(--${this.color})`}}\n tabindex=\"-1\"\n id={`z-list-element-id-${this.listElementId}`}\n part=\"list-item-container\"\n >\n <div class=\"z-list-element-container\">\n {this.renderExpandableButton()}\n {this.renderContent()}\n </div>\n {this.renderExpandedContent()}\n </div>\n {this.dividerType === ListDividerType.ELEMENT && (\n <z-divider\n class={{\"z-tree-list-divider\": this.hasTreeItems}}\n color={this.dividerColor}\n size={this.dividerSize}\n />\n )}\n </Host>\n );\n }\n}\n",":host {\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host > .z-list-group-header-container {\n color: var(--gray700);\n font-size: var(--font-size-2);\n font-weight: var(--font-sb) !important;\n letter-spacing: 0.16px;\n line-height: 1.4;\n}\n\n:host > .z-list-group-header-container.has-header {\n padding-top: calc(var(--space-unit) * 1.5);\n padding-bottom: var(--space-unit);\n}\n\n:host > .z-list-group-header-container.has-header > z-divider {\n margin-top: var(--space-unit);\n}\n\n:host > .grouped-tree-list-header {\n padding-top: calc(var(--space-unit) * 1.5);\n padding-bottom: var(--space-unit);\n}\n","import {Component, ComponentInterface, Element, h, Host, Prop} from \"@stencil/core\";\nimport {DividerSize, ListDividerType, ListSize, ListType} from \"../../../beans\";\n\n@Component({\n tag: \"z-list-group\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZListGroup implements ComponentInterface {\n @Element() host: HTMLZListGroupElement;\n\n /**\n * [optional] Sets size of inside elements.\n */\n @Prop({reflect: true})\n size?: ListSize = ListSize.MEDIUM;\n\n /**\n * [optional] Sets the position where to insert the divider.\n */\n @Prop({reflect: true})\n dividerType?: ListDividerType = ListDividerType.NONE;\n\n /**\n * [optional] Sets the divider size.\n */\n @Prop({reflect: true})\n dividerSize?: DividerSize = DividerSize.SMALL;\n\n /**\n * [optional] Sets the divider color.\n */\n @Prop({reflect: true})\n dividerColor?: string = \"gray200\";\n\n /**\n * [optional] type of the list marker for each element\n */\n @Prop({reflect: true})\n listType?: ListType = ListType.NONE;\n\n /**\n * [optional] check for tree items in grouped lists\n */\n @Prop()\n hasTreeItems?: boolean;\n\n /**\n * Sets element role.\n */\n @Prop({reflect: true})\n role = \"group\";\n\n private hasHeader: boolean;\n\n componentDidLoad(): void {\n const children = this.host.children;\n for (let i = 0; i < children.length; i++) {\n if (children.length - 1 > i) {\n children[i].setAttribute(\"divider-type\", this.dividerType);\n children[i].setAttribute(\"divider-size\", this.dividerSize);\n children[i].setAttribute(\"divider-color\", this.dividerColor);\n }\n children[i].setAttribute(\"size\", this.size);\n children[i].setAttribute(\"list-type\", this.listType);\n children[i].setAttribute(\"list-element-position\", i.toString());\n }\n }\n\n componentWillLoad(): void {\n this.hasHeader = !!this.host.querySelector('[slot=\"header-title\"]');\n }\n\n render(): HTMLZListGroupElement {\n return (\n <Host>\n <div\n class={{\n \"z-list-group-header-container\": true,\n \"has-header\": this.hasHeader && !this.hasTreeItems,\n \"grouped-tree-list-header\": this.hasTreeItems,\n }}\n >\n <slot name=\"header-title\" />\n {this.dividerType === ListDividerType.HEADER && (\n <z-divider\n color={this.dividerColor}\n size={this.dividerSize}\n />\n )}\n </div>\n <slot />\n </Host>\n );\n }\n}\n",":host {\n /**\n * @prop --z-offcanvas--top-space: Top offset of the offcanvas, for `overlay` variant. Useful when there is some fixed element above the offcanvas. Default: `0`.\n * @prop --z-offcanvas--container-width: Width of the offcanvas for `left` and `right` direction. Default: `375px`.\n * @prop --z-offcanvas--container-height: Height of the offcanvas for `up` direction. Default: `90%`.\n */\n --z-offcanvas--container-width: ;\n --z-offcanvas--container-height: ;\n --z-offcanvas--top-space: ;\n\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host([variant=\"pushcontent\"]:not([transitiondirection=\"up\"])) {\n overflow: hidden;\n}\n\n.canvas-container {\n display: flex;\n overflow: hidden;\n min-width: 100%;\n height: 100%;\n background: var(--color-surface01);\n transform: translateX(0);\n transition: transform 0.4s ease-out;\n}\n\n:host > * {\n position: fixed;\n top: var(--z-offcanvas--top-space, 0);\n right: 0;\n bottom: 0;\n left: 0;\n}\n\n:host([open]) > * {\n height: calc(100% - var(--z-offcanvas--top-space, 0px));\n}\n\n:host([transitiondirection=\"right\"]) > .canvas-container {\n transform: translateX(-100%);\n}\n\n:host([transitiondirection=\"left\"]) > .canvas-container {\n transform: translateX(100%);\n}\n\n:host([open][transitiondirection=\"right\"]) > .canvas-container,\n:host([open][transitiondirection=\"left\"]) > .canvas-container {\n transform: translateX(0);\n}\n\n:host([transitiondirection=\"up\"]) > .canvas-container {\n top: auto;\n bottom: 0;\n height: var(--z-offcanvas--container-height, 90%);\n transform: translateY(100%);\n}\n\n:host([transitiondirection=\"up\"], [variant=\"overlay\"]) > .canvas-container {\n z-index: 1001;\n}\n\n:host([open][transitiondirection=\"up\"]) > .canvas-container {\n transform: translateY(0);\n}\n\n:host([variant=\"pushcontent\"]:not([transitiondirection=\"up\"])) > .canvas-container {\n position: relative;\n height: 100%;\n}\n\n:host([variant=\"pushcontent\"]:not([open])) {\n display: none;\n}\n\n:host([skip-animation]) > .canvas-container {\n transition: none;\n}\n\n.backdrop {\n z-index: 1000;\n width: 100%;\n height: 100%;\n background-color: var(--gray900);\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.4s ease-out;\n}\n\n:host([open]) > .backdrop {\n opacity: 0.7;\n pointer-events: unset;\n}\n\n.canvas-container > .canvas-content {\n overflow: hidden auto;\n flex: 1 auto;\n padding: 0 calc(var(--space-unit) * 2);\n margin: calc(var(--space-unit) * 2) calc(var(--space-unit) / 2) calc(var(--space-unit) * 2) 0;\n outline: none;\n}\n\n/* Tablet / Desktop */\n@media (min-width: 768px) {\n :host([variant=\"pushcontent\"]:not([transitiondirection=\"up\"])) {\n flex: none; /* Prevent unwanted width changes in flex containers */\n }\n\n .canvas-container {\n width: var(--z-offcanvas--container-width, 375px);\n min-width: var(--z-offcanvas--container-width, 375px);\n }\n\n :host([transitiondirection=\"up\"]) > .canvas-container {\n width: 100%;\n }\n\n :host([transitiondirection=\"right\"]) > .canvas-container {\n right: auto;\n left: 0;\n }\n\n :host([transitiondirection=\"left\"]) > .canvas-container {\n right: 0;\n left: auto;\n }\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h} from \"@stencil/core\";\nimport {KeyboardCode, OffCanvasVariant, TransitionDirection} from \"../../beans\";\nimport {FocusTrapController} from \"../../utils/focus-trap-controller\";\nimport {ReactiveControllerHost} from \"../../utils/reactive-controller\";\nimport {getTabbableElements} from \"../../utils/utils\";\n\n/**\n * @slot canvasContent - Slot for the offcanvas content.\n */\n@Component({\n tag: \"z-offcanvas\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZOffcanvas extends ReactiveControllerHost {\n @Element() host: HTMLZOffcanvasElement;\n\n /**\n * Offcanvas variant.\n * - `overlay`: The offcanvas covers the page content putting an overlay.\n * - `pushcontent`: The offcanvas isn't absolutely positioned and \"pushes\" the page content.\n * > NB: `pushcontent` variant may need some extra style tuning of the context around the component to work properly.\n * Also, the `pushcontent` variant doesn't have the open/close transition.\n */\n @Prop({reflect: true})\n variant?: OffCanvasVariant = OffCanvasVariant.PUSHCONTENT;\n\n /** Whether the offcanvas is open. Default: false */\n @Prop({reflect: true, mutable: true})\n open = false;\n\n /**\n * Open the content transitioning to a specified direction.\n * The `up` direction always show the `overlay`, also when the variant is `pushcontent`.\n */\n @Prop({reflect: true})\n transitiondirection?: TransitionDirection = TransitionDirection.LEFT;\n\n /**\n * Skip the opening transition when the offcanvas is already open at the first render.\n * @deprecated This prop is not needed anymore, the component will automatically skip the transition\n * when it starts with `open` set to `true`. Only exists for Typescript backward compatibility.\n */\n @Prop()\n skipLoadAnimation = false;\n\n /** Whether to show the backdrop when the offcanvas is open and variant is not `pushcontent`. Default: `true` */\n @Prop()\n showBackdrop = true;\n\n /** emitted when `open` prop changes */\n @Event()\n canvasOpenStatusChanged: EventEmitter<boolean>;\n\n /** Used to skip the opening transition when the offcanvas is already open at the first render. */\n @State()\n private skipAnimation = false;\n\n private canvasContent: HTMLElement;\n\n private focusTrapController = new FocusTrapController(this, {\n fallbackFocus: () => this.canvasContent,\n isActive: () => this.open && this.variant === OffCanvasVariant.OVERLAY,\n });\n\n /**\n * Handles Escape and wrap-around Tab navigation at the focus boundaries.\n */\n @Listen(\"keydown\", {target: \"document\"})\n handleKeyDown(event: KeyboardEvent): void {\n if (!this.open || this.variant !== OffCanvasVariant.OVERLAY) {\n return;\n }\n\n if (event.key === KeyboardCode.ESC) {\n event.preventDefault();\n this.open = false;\n\n return;\n }\n\n this.focusTrapController.handleWrapTab(event);\n }\n\n /**\n * Lock the page scroll when the offcanvas is open and unlock it when the offcanvas is closed.\n */\n @Watch(\"variant\", {immediate: true})\n private handlePageScroll(): void {\n const overflow =\n this.variant === OffCanvasVariant.OVERLAY || this.transitiondirection === TransitionDirection.UP\n ? \"overflow-y\"\n : \"overflow-x\";\n\n this.host.ownerDocument.body.style[overflow] = this.open ? \"hidden\" : \"\";\n }\n\n @Watch(\"open\")\n onOpenChanged(): void {\n this.canvasOpenStatusChanged.emit(this.open);\n\n this.handlePageScroll();\n this.focusTrapController.sync();\n }\n\n componentWillLoad() {\n if (this.open) {\n this.skipAnimation = true; // TODO: remove this line when `skipLoadAnimation` prop is removed.\n }\n\n return super.componentWillLoad();\n }\n\n componentDidRender() {\n this.skipAnimation = false; // TODO: remove this line when `skipLoadAnimation` prop is removed.\n }\n\n componentDidLoad() {\n if (this.open) {\n this.onOpenChanged();\n }\n }\n\n disconnectedCallback() {\n this.handlePageScroll();\n super.disconnectedCallback();\n }\n\n render(): HTMLZOffcanvasElement {\n return (\n <Host\n skip-animation={this.skipAnimation}\n aria-hidden={!this.open ? \"true\" : null}\n aria-modal={this.open && this.variant === OffCanvasVariant.OVERLAY ? \"true\" : null}\n role={this.open && this.variant === OffCanvasVariant.OVERLAY ? \"dialog\" : null}\n >\n <div class=\"canvas-container\">\n <div\n class=\"canvas-content z-scrollbar\"\n ref={(el) => (this.canvasContent = el)}\n tabIndex={getTabbableElements(this.host).length ? undefined : -1} // allows the div to programmatically receive focus when there are no focusable elements inside, necessary for the focus trap to work properly\n >\n <slot name=\"canvasContent\"></slot>\n </div>\n </div>\n {(this.variant == OffCanvasVariant.OVERLAY || this.transitiondirection === TransitionDirection.UP) &&\n this.showBackdrop && (\n <div\n class=\"backdrop\"\n onClick={(ev) => {\n ev.preventDefault();\n ev.stopPropagation();\n this.open = false;\n }}\n ></div>\n )}\n </Host>\n );\n }\n}\n",":host {\n /**\n * @prop --z-searchbar-results-height: Max height of the results container (default: 540px)\n * @prop --z-searchbar-tag-text-color: Color of tag's text (default --color-primary03);\n * @prop --z-searchbar-tag-bg: Color of tag's background (default --color-hover-primary);\n */\n --z-searchbar-tag-text-color: var(--color-primary03);\n --z-searchbar-tag-bg: var(--color-hover-primary);\n --z-searchbar-item-height: 2.75rem;\n\n z-index: 15;\n display: flex;\n column-gap: calc(var(--space-unit) * 2);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host,\n*,\n::after,\n::before {\n box-sizing: border-box;\n}\n\n.input-container {\n position: relative;\n display: flex;\n width: 100%;\n flex-direction: column;\n}\n\n.input-container z-input {\n z-index: 1;\n}\n\n.results {\n --item-icon-size: 1rem;\n --z-icon-height: var(--item-icon-size);\n --z-icon-width: var(--item-icon-size);\n --item-inline-padding: calc(var(--space-unit) * 1.5);\n --item-col-gap: var(--space-unit);\n\n position: absolute;\n top: calc(100% - 1px);\n left: 0;\n overflow: auto;\n width: 100%;\n max-height: var(--z-searchbar-results-height, 540px);\n border: var(--border-size-small) solid var(--color-form-surface03);\n border-top: none;\n background: var(--color-form-background);\n}\n\n.results z-list-element {\n --background-color-list-element: var(--color-form-background);\n\n position: relative;\n display: block;\n}\n\n.results > z-list > z-list-element::part(list-item-container) {\n padding: 0 var(--item-inline-padding);\n}\n\n.results z-list-element > .list-item {\n position: relative;\n display: flex;\n align-items: center;\n padding: calc(var(--space-unit) * 1.25) calc(var(--space-unit) / 4);\n background-color: transparent;\n color: var(--color-form-default-text);\n fill: var(--color-form-default-icon);\n gap: var(--item-col-gap);\n}\n\n.results z-list-element > .list-item:hover {\n background-color: var(--gray100); /* TODO: use correct form-related token when available */\n cursor: pointer;\n}\n\n.results z-list-element > .list-item:focus-visible {\n z-index: 1;\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n/* list elements separator */\n.results > z-list > z-list-element:not(:last-child) > .list-item,\n.results z-list-group:not(:last-child) > z-list-element:not(.category-heading) {\n border-bottom: 1px solid var(--color-form-surface03);\n}\n\n.results z-list-group {\n padding: 0 var(--item-inline-padding);\n}\n\n.results z-list-group > z-list-element::part(list-item-container) {\n padding: 0;\n}\n\n.results .sub-list {\n padding-left: calc(var(--item-icon-size) + var(--item-col-gap));\n}\n\n.results .sub-list z-list-element::part(list-item-container) {\n padding: 0;\n}\n\n.results .sub-list z-list-element > .list-item {\n position: relative;\n}\n\n/* tree indicators */\n.results .sub-list > z-list-element:not(:last-child)::before,\n.results .sub-list > z-list-element > .list-item::before {\n position: absolute;\n top: 0;\n left: calc(0px - var(--item-col-gap) - var(--item-icon-size) / 2 + 1px);\n border-left: 1px solid var(--color-form-surface03);\n content: \"\";\n}\n\n/* \"|\" tree indicator */\n.results .sub-list > z-list-element:not(:last-child)::before {\n top: -4px;\n height: calc(100% + 4px);\n}\n\n/* \"—\" tree indicator */\n.results .sub-list z-list-element > .list-item::before {\n width: 14px;\n height: calc(var(--z-searchbar-item-height) / 2);\n border-bottom: 1px solid var(--color-form-surface03);\n}\n\n.results .category-heading > .category {\n font-style: italic;\n}\n\n.results .category-heading > .subcategory {\n text-transform: uppercase;\n}\n\n.results z-list-element > .list-item .ellipsis {\n overflow: hidden;\n}\n\n.results .ellipsis > .item-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.results .item-label mark {\n background: var(--color-primary03);\n color: var(--color-default-text);\n}\n\n.results .list-item > z-tag {\n --z-tag-bg: var(--z-searchbar-tag-bg);\n --z-tag-text-color: var(--z-searchbar-tag-text-color);\n\n margin-left: auto;\n white-space: nowrap;\n}\n\n.results .item-show-all {\n width: 100%;\n color: var(--color-primary01);\n cursor: pointer;\n text-align: center;\n}\n\n.results .item-no-results {\n display: block;\n font-style: italic;\n}\n\n.results .item-no-results > ul {\n padding-left: calc(var(--space-unit) * 2);\n margin: var(--space-unit);\n}\n\n@media (min-width: 768px) {\n .results {\n --item-icon-size: 1.125rem;\n }\n}\n",".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","/* Webkit Scrollbar */\n.z-scrollbar::-webkit-scrollbar {\n width: 6px;\n background: linear-gradient(to right, transparent 0 1px, var(--gray200) 1px 5px, transparent 5px 6px);\n}\n\n.z-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--color-primary01);\n}\n\n.z-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--color-hover-primary);\n}\n\n:host([theme=\"dark\"]) .z-scrollbar,\n.z-scrollbar--dark {\n --z-scrollbar-track-gradient: linear-gradient(\n to right,\n transparent 0 1px,\n var(--gray600) 1px 5px,\n transparent 5px 6px\n );\n --z-scrollbar-track-color: var(--gray600);\n --z-scrollbar-thumb-color: var(--color-primary03);\n --z-scrollbar-thumb-hover-color: var(--color-hover-primary);\n --z-scrollbar-corner-color: transparent;\n}\n\n/* Firefox scrollbar */\n@supports not selector(.z-scrollbar::-webkit-scrollbar-track) {\n .z-scrollbar {\n scrollbar-color: var(--color-primary01) transparent;\n }\n\n :host([theme=\"dark\"]) .z-scrollbar,\n .z-scrollbar--dark {\n scrollbar-color: var(--z-scrollbar-thumb-color, var(--color-primary03))\n var(--z-scrollbar-track-color, var(--gray600));\n }\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 Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {\n ButtonVariant,\n ControlSize,\n KeyboardCode,\n SearchbarGroup,\n SearchbarGroupedItem,\n SearchbarItem,\n} from \"../../beans\";\nimport {handleEnterKeydSubmit, randomId} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-searchbar\",\n styleUrls: [\n \"styles.css\",\n \"../css-components/z-label/styles.css\",\n \"../css-components/z-scrollbar/styles.css\",\n \"../../tokens/typography.css\",\n ],\n shadow: true,\n})\nexport class ZSearchbar implements ComponentInterface {\n @Element() host: HTMLZSearchbarElement;\n\n /** The id of the searchbar element */\n @Prop({reflect: true})\n htmlid = `searchbar-${randomId()}`;\n\n /** Prevent submit action */\n @Prop()\n preventSubmit?: boolean = false;\n\n /** The input label */\n @Prop()\n label?: string;\n\n /** The input aria-label */\n @Prop()\n htmlAriaLabel?: string;\n\n /** Input search string */\n @Prop()\n value?: string;\n\n /** Search input placeholder */\n @Prop()\n placeholder?: string;\n\n /** Show autocomplete results */\n @Prop()\n autocomplete?: boolean = false;\n\n /** Minimun number of characters to dispatch typing event */\n @Prop()\n autocompleteMinChars?: number = 3;\n\n /** Number of results shown. Default: all */\n @Prop()\n resultsCount?: number;\n\n /** Search helper text */\n @Prop()\n searchHelperLabel?: string = \"Cerca {searchString}\";\n\n /** Autocomplete results items */\n @Prop()\n resultsItems?: SearchbarItem[] | string;\n\n /** Sort autocomplete results items */\n @Prop()\n sortResultsItems?: boolean = false;\n\n /** Show submit button */\n @Prop()\n showSearchButton?: boolean = false;\n\n /** Hide the label of the submit button, showing only the icon */\n @Prop()\n searchButtonIconOnly?: boolean = false;\n\n /** The label of the submit button */\n @Prop()\n searchButtonLabel?: string = \"CERCA\";\n\n /** Size of the `z-input` and submit `z-button` */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n /** Submit `z-button` variant */\n @Prop()\n variant?: ButtonVariant = ButtonVariant.PRIMARY;\n\n @State()\n searchString = this.value;\n\n @State()\n currResultsCount: number | undefined = this.resultsCount;\n\n @State()\n showResults = false;\n\n @State()\n isMobile = false;\n\n @State()\n selectedItem?: SearchbarItem;\n\n private resultsItemsList: SearchbarItem[] | undefined = null;\n\n private inputRef: HTMLZInputElement;\n\n /** Media query list for detecting mobile view. */\n private mql?: MediaQueryList;\n\n /** Listener for changes in the mobile view media query. */\n private onMobileViewChange?: (e: MediaQueryListEvent) => void;\n\n /** Emitted on search submit, return search string */\n @Event()\n searchSubmit: EventEmitter<string>;\n\n /** Emitted on search typing, return search string */\n @Event()\n searchTyping: EventEmitter<string>;\n\n /** Emitted on search result click, return item */\n @Event()\n searchItemClick: EventEmitter<SearchbarItem>;\n\n private emitSearchItemClick(item: SearchbarItem): void {\n this.searchItemClick.emit(item);\n this.selectedItem = item;\n this.searchString = \"\";\n }\n\n private emitSearchSubmit(): void {\n this.searchSubmit.emit(this.inputRef.value);\n }\n\n @Watch(\"resultsItems\")\n watchItems(): void {\n this.resultsItemsList = this.getResultsItemsList();\n }\n\n @Watch(\"resultsCount\")\n watchResultsCount(): void {\n this.currResultsCount = this.resultsCount;\n }\n\n @Watch(\"value\")\n watchValue(): void {\n this.searchString = this.value;\n }\n\n @Watch(\"searchString\")\n watchSearchString(): void {\n this.searchTyping.emit(this.searchString);\n if (!this.searchString) {\n this.currResultsCount = this.resultsCount;\n }\n }\n\n private getResultsItemsList(): SearchbarItem[] | undefined {\n return typeof this.resultsItems === \"string\" ? JSON.parse(this.resultsItems) : this.resultsItems;\n }\n\n private getGroupedItems(): SearchbarGroupedItem {\n const groupedItems = {};\n this.resultsItemsList.forEach((item: SearchbarItem) => {\n const key = `${item?.category}${item?.subcategory}`;\n groupedItems[key] = groupedItems[key] ?? {\n category: item?.category,\n subcategory: item?.subcategory,\n items: [],\n };\n groupedItems[key][\"items\"].push(item);\n });\n\n if (this.sortResultsItems) {\n return Object.keys(groupedItems)\n .sort()\n .reduce((obj, key) => {\n obj[key] = {\n ...groupedItems[key],\n items: groupedItems[key][\"items\"].sort((a: SearchbarItem, b: SearchbarItem) => {\n const nameA = a.label.toUpperCase();\n const nameB = b.label.toUpperCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n\n return 0;\n }),\n };\n\n return obj;\n }, {});\n }\n\n return groupedItems;\n }\n\n private onListItemKeyDown(e: KeyboardEvent, item: SearchbarItem): void {\n if (e.key === KeyboardCode.ENTER) {\n e.preventDefault();\n this.emitSearchItemClick(item);\n\n return;\n }\n\n this.handleArrowsNavigation(e);\n }\n\n private onSearchHelperKeyDown(e: KeyboardEvent): void {\n if (e.key === KeyboardCode.ENTER) {\n e.preventDefault();\n this.emitSearchSubmit();\n\n return;\n }\n\n this.handleArrowsNavigation(e);\n }\n\n private handleArrowsNavigation(e: KeyboardEvent): void {\n if (![KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP].includes(e.key as KeyboardCode)) {\n return;\n }\n\n const currentElement = e.target as HTMLElement;\n const items = Array.from(this.host.shadowRoot?.querySelectorAll(\"z-list .list-item\") ?? []);\n const currentIndex = items.indexOf(currentElement);\n\n if (e.key === KeyboardCode.ARROW_DOWN) {\n e.preventDefault();\n const nextIndex = currentIndex + 1;\n if (nextIndex < items.length) {\n (items[nextIndex] as HTMLElement).focus();\n }\n }\n\n if (e.key === KeyboardCode.ARROW_UP) {\n e.preventDefault();\n const prevIndex = currentIndex - 1;\n if (prevIndex < 0) {\n this.host.shadowRoot?.querySelector(\"input\")?.focus();\n this.host.shadowRoot\n ?.querySelector(\"input\")\n ?.setSelectionRange(this.inputRef.value.length, this.inputRef.value.length);\n }\n if (prevIndex >= 0) {\n (items[prevIndex] as HTMLElement).focus();\n }\n }\n }\n\n private handleStopTyping(e: CustomEvent): void {\n e.stopPropagation();\n this.searchString = e.detail.value;\n this.selectedItem = undefined;\n }\n\n private handleSubmit(): void {\n if (this.preventSubmit) {\n return;\n }\n\n this.emitSearchSubmit();\n }\n\n @Listen(\"click\", {target: \"document\"})\n private handleOutsideClick(e: MouseEvent): void {\n const cp = e.composedPath();\n if (cp.includes(this.host)) {\n return;\n }\n\n this.showResults = false;\n }\n\n componentWillLoad(): void {\n this.resultsItemsList = this.getResultsItemsList();\n\n this.mql = matchMedia(\"(max-width: 767px)\");\n this.onMobileViewChange = (e: MediaQueryListEvent) => (this.isMobile = e.matches);\n this.mql.addEventListener(\"change\", this.onMobileViewChange);\n this.isMobile = this.mql.matches;\n }\n\n disconnectedCallback(): void {\n this.mql?.removeEventListener(\"change\", this.onMobileViewChange);\n }\n\n private renderItemLabel(label: string): string {\n if (!this.searchString) {\n return label;\n }\n\n return label.replace(\n new RegExp(this.searchString.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"), \"gmi\"),\n (found) => `<mark>${found}</mark>`\n );\n }\n\n private renderItem(item: SearchbarItem, index: number): HTMLZListElementElement {\n return (\n <z-list-element\n id={`list-item-${this.htmlid}-${index}`}\n role=\"presentation\"\n htmlTabindex={-1}\n onKeyDown={(e: KeyboardEvent) => this.onListItemKeyDown(e, item)}\n onClick={() => this.emitSearchItemClick(item)}\n >\n <div\n class=\"list-item ellipsis\"\n role=\"option\"\n tabindex={0}\n >\n {!!item?.icon && (\n <z-icon\n class=\"item-icon\"\n name={item.icon}\n />\n )}\n\n <div\n class=\"item-label body-3 mobile-body-4\"\n title={item.label}\n innerHTML={this.renderItemLabel(item.label)}\n />\n {!!item?.tag && <z-tag icon={item.tag.icon}>{!this.isMobile ? item.tag.text : \"\"}</z-tag>}\n </div>\n {!!item.children?.length && (\n <z-list\n class=\"sub-list\"\n role=\"group\"\n aria-label={item.label || undefined}\n >\n {item.children.map((child, index) => this.renderItem(child, index))}\n </z-list>\n )}\n </z-list-element>\n );\n }\n\n /**\n * Renders the item grouped by category and subcategory. If `resultsCount` is set, it limits the number of rendered items.\n */\n private renderItemGroups(): HTMLZListGroupElement[] | undefined {\n if (!this.resultsItemsList?.length) {\n return;\n }\n\n const groupedItems = Object.values(this.getGroupedItems()) as SearchbarGroup[];\n const listGroups: HTMLZListGroupElement[] = [];\n const hasResultsLimit = !!this.currResultsCount;\n let renderedCount = 0;\n\n for (const groupItem of groupedItems) {\n const remaining = hasResultsLimit ? this.currResultsCount - renderedCount : groupItem.items.length;\n if (remaining <= 0) {\n break;\n }\n\n const visibleItems = groupItem.items.slice(0, remaining);\n const listGroupsElements: HTMLZListElement[] = visibleItems.map((item: SearchbarItem, subindex: number) =>\n this.renderItem(item, subindex)\n );\n renderedCount += listGroupsElements.length;\n\n if (!listGroupsElements.length) {\n continue;\n }\n\n const ariaLabel = [groupItem.category, groupItem.subcategory].filter(Boolean).join(\" \");\n\n listGroups.push(\n <z-list-group aria-label={ariaLabel || undefined}>\n {groupItem.category && (\n <z-list-element\n class=\"category-heading body-3 mobile-body-4\"\n slot=\"header-title\"\n role=\"presentation\"\n htmlTabindex={-1}\n >\n <div class=\"category\">{groupItem.category}</div>\n {groupItem.subcategory && <div class=\"subcategory\">{groupItem.subcategory}</div>}\n </z-list-element>\n )}\n\n {listGroupsElements}\n </z-list-group>\n );\n }\n\n return listGroups;\n }\n\n render(): HTMLZSearchbarElement {\n return (\n <Host\n onFocus={() => (this.showResults = true)}\n onClick={(e: MouseEvent) => this.handleOutsideClick(e)}\n class={{\"has-submit\": !!this.showSearchButton, \"has-results\": !!this.autocomplete}}\n >\n <div class=\"input-container\">\n <z-input\n ref={(el) => (this.inputRef = el)}\n htmlid={`input-${this.htmlid}`}\n message={false}\n placeholder={this.placeholder}\n onStopTyping={(e: CustomEvent) => this.handleStopTyping(e)}\n onKeyUp={(e: KeyboardEvent) => {\n handleEnterKeydSubmit(e, () => this.handleSubmit());\n this.handleArrowsNavigation(e);\n }}\n onFocus={() => (this.showResults = true)}\n value={this.searchString || this.selectedItem?.label}\n size={this.size}\n label={this.label}\n aria-label={this.htmlAriaLabel || this.placeholder || undefined}\n />\n\n {!!(\n this.showResults &&\n this.autocomplete &&\n this.searchString &&\n this.searchString.length >= this.autocompleteMinChars &&\n this.resultsItemsList\n ) && (\n <div class=\"results z-scrollbar\">\n {this.preventSubmit && !this.resultsItemsList?.length ? (\n <div class=\"item-no-results body-3 mobile-body-4\">\n Non abbiamo trovato risultati per <b>{this.searchString}</b>\n <br />\n <br />\n Cosa puoi fare?\n <ul>\n <li>Verificare di aver scritto bene</li>\n <li>Provare a cercare un'altra parola</li>\n <li>Provare a cercare qualcosa di più generico</li>\n </ul>\n </div>\n ) : (\n <z-list\n role=\"listbox\"\n id={`list-${this.htmlid}`}\n aria-label={this.htmlAriaLabel || this.label || undefined}\n >\n {this.autocomplete && !this.preventSubmit && !!this.searchString && (\n <z-list-element\n role=\"presentation\"\n htmlTabindex={-1}\n id={`list-item-${this.htmlid}-search`}\n onKeyDown={(e: KeyboardEvent) => this.onSearchHelperKeyDown(e)}\n onClick={() => this.emitSearchSubmit()}\n >\n <div\n class=\"list-item item-search\"\n role=\"option\"\n tabindex={0}\n >\n <z-icon\n class=\"search-icon\"\n name=\"left-magnifying-glass\"\n />\n <div\n class=\"item-label body-3 mobile-body-4\"\n innerHTML={this.searchHelperLabel?.replace(\n \"{searchString}\",\n `<mark>${this.searchString}</mark>`\n )}\n />\n </div>\n </z-list-element>\n )}\n\n {this.renderItemGroups()}\n\n {!!(\n this.searchString &&\n this.resultsItemsList?.length &&\n this.currResultsCount &&\n this.currResultsCount < this.resultsItemsList?.length\n ) && (\n <z-list-element\n role=\"presentation\"\n htmlTabindex={-1}\n id={`list-item-${this.htmlid}-show-all`}\n >\n <div\n role=\"option\"\n class=\"item-show-all body-3 mobile-body-4\"\n tabindex={0}\n onClick={() => (this.currResultsCount = undefined)}\n >\n Vedi tutti i risultati\n </div>\n </z-list-element>\n )}\n </z-list>\n )}\n </div>\n )}\n </div>\n\n {this.showSearchButton && (\n <z-button\n icon={this.searchButtonIconOnly ? \"search\" : undefined}\n aria-label={this.searchButtonIconOnly ? this.searchButtonLabel.trim() || \"CERCA\" : undefined}\n disabled={!!this.preventSubmit}\n variant={this.variant}\n size={this.size}\n onClick={() => this.handleSubmit()}\n >\n {this.searchButtonIconOnly ? \"\" : this.searchButtonLabel.trim() || \"CERCA\"}\n </z-button>\n )}\n </Host>\n );\n }\n}\n",":host {\n /**\n * @prop --z-tag-text-color: text and icon color using tokens.\n * @prop --z-tag-bg: background color of the z-tag.\n */\n\n --z-icon-width: 14px;\n --z-icon-height: 14px;\n\n display: flex;\n width: fit-content;\n max-width: inherit;\n height: fit-content;\n max-height: inherit;\n align-items: flex-start;\n padding: calc(var(--space-unit) / 2);\n background-color: var(--z-tag-bg, var(--color-hover-primary));\n border-radius: var(--border-radius);\n color: var(--z-tag-text-color, var(--color-text-inverse));\n fill: currentcolor;\n font-family: var(--font-family-sans);\n font-size: var(--font-size-1);\n font-weight: var(--font-sb);\n letter-spacing: 0.32px;\n line-height: 14px;\n text-transform: uppercase;\n}\n\n:host > z-icon {\n margin-right: 0;\n transition: margin-right 0.3s ease-out;\n}\n\n:host(.has-text):not(.expandable) > z-icon {\n margin-right: var(--space-unit);\n}\n\n:host(.has-text).expandable:hover > z-icon {\n margin-right: var(--space-unit);\n}\n\n:host(.expandable) > div {\n overflow: hidden;\n max-width: 0;\n max-height: 0;\n}\n\n:host(.expandable:hover) > div {\n max-width: 100%;\n max-height: 100%;\n}\n","import {Component, ComponentInterface, Element, Host, Prop, h} from \"@stencil/core\";\n\n/**\n * Ztag component.\n * @slot - The text of the z-tag.\n */\n@Component({\n tag: \"z-tag\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZTag implements ComponentInterface {\n @Element() host: HTMLZTagElement;\n\n /** [optional] Tag icon */\n @Prop()\n icon?: string;\n\n /** [optional] Hide the text and show it on hover*/\n @Prop()\n expandable?: boolean;\n\n render(): HTMLZTagElement {\n return (\n <Host\n class={{\n \"expandable\": this.expandable && !!this.icon,\n \"has-text\": !!this.host.textContent.trim(),\n }}\n >\n {this.icon && <z-icon name={this.icon} />}\n <div>\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as a}from"./p-DPdXlnVe.js";const n=()=>`.sc-z-panel-elem-h{width:inherit;font-family:var(--font-family sans);font-weight:var(--font-rg)}.panel-elem-container.sc-z-panel-elem{width:100%}.panel-elem-icon.sc-z-panel-elem{margin:auto calc(var(--space-unit) * 3)}.panel-elem-icon.sc-z-panel-elem img.sc-z-panel-elem{display:block;max-width:96px;height:32px;margin:auto;object-fit:contain}.panel-elem-link.sc-z-panel-elem{display:flex;align-items:center;justify-content:center;margin:var(--space-unit) auto 0;border-radius:var(--border-no-radius);font-size:12px}.panel-elem-link.sc-z-panel-elem>a.z-link.sc-z-panel-elem{padding:calc(var(--space-unit) * 0.5) 0;font-weight:var(--font-sb)}.panel-elem-desc.sc-z-panel-elem{padding-top:var(--space-unit);margin:0;letter-spacing:0.16px;text-align:center}a.sc-z-panel-elem>z-icon.sc-z-panel-elem{margin-right:var(--space-unit)}`;const i=class{constructor(a){e(this,a);this.target="_blank";this.isdisabled=false}render(){const e=this.elemid?this.elemid:"";return a("div",{key:"5ec6258c1b03272d134bfd051fccfa2f922d9d18",class:"panel-elem-container"},(this.imgurl||this.imgalt)&&a("div",{key:"0e2510843c7f3d4a6a51d4e3397972e9f8ff9278","aria-hidden":"true",class:"panel-elem-icon"},a("img",{key:"a147b33a20b2432bca9577c724bcb90ee4ec0796",src:this.imgurl,alt:this.imgalt})),a("div",{key:"7eb80ce42df88d0f6f20cd8489b0052588539602",class:"panel-elem-link"},a("a",{key:"40622a092e1b7c111932edcf8e3f083a7e589148",class:{"z-link":true,"z-link-disabled":this.isdisabled,"z-link-icon":true,"z-link-blue":true},id:e+"link_id",href:this.url,target:this.target},a("z-icon",{key:"c5febcd1de48afe90a33cba4c3e4cc90fe08444d",height:14,width:14,name:this.linkicon}),this.linklabel)),this.descrSlotName&&a("div",{key:"4f131023ff6a577c535670c9762ae8458825c94f",class:"panel-elem-desc"},a("slot",{key:"82e06bd4163c9e72c7f0614c314a001d158db9ce",name:this.descrSlotName})))}};i.style=n();export{i as z_panel_elem};
2
+ //# sourceMappingURL=p-602aad3e.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stylesCss","ZPanelElem","constructor","hostRef","this","target","isdisabled","render","elemId","elemid","h","key","class","imgurl","imgalt","src","alt","id","href","url","height","width","name","linkicon","linklabel","descrSlotName"],"sources":["src/components/z-panel-elem/styles.css?tag=z-panel-elem&encapsulation=scoped","src/components/z-panel-elem/index.tsx"],"sourcesContent":[":host {\n width: inherit;\n font-family: var(--font-family sans);\n font-weight: var(--font-rg);\n}\n\n.panel-elem-container {\n width: 100%;\n}\n\n.panel-elem-icon {\n margin: auto calc(var(--space-unit) * 3);\n}\n\n.panel-elem-icon img {\n display: block;\n max-width: 96px;\n height: 32px;\n margin: auto;\n object-fit: contain;\n}\n\n.panel-elem-link {\n display: flex;\n align-items: center;\n justify-content: center;\n margin: var(--space-unit) auto 0;\n border-radius: var(--border-no-radius);\n font-size: 12px;\n}\n\n.panel-elem-link > a.z-link {\n padding: calc(var(--space-unit) * 0.5) 0;\n font-weight: var(--font-sb);\n}\n\n.panel-elem-desc {\n padding-top: var(--space-unit);\n margin: 0;\n letter-spacing: 0.16px;\n text-align: center;\n}\n\na > z-icon {\n margin-right: var(--space-unit);\n}\n","import {Component, ComponentInterface, Prop, h} from \"@stencil/core\";\n\n/**\n * @slot `descrSlotName` - description content\n */\n@Component({\n tag: \"z-panel-elem\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZPanelElem implements ComponentInterface {\n /** html element id (optional) */\n @Prop()\n elemid?: string;\n\n /** image url source (optional) */\n @Prop()\n imgurl?: string;\n\n /** alternative image text (optional) */\n @Prop()\n imgalt?: string;\n\n /** icon link name (optional) */\n @Prop()\n linkicon?: string;\n\n /** link label text*/\n @Prop()\n linklabel: string;\n\n /** link url */\n @Prop()\n url: string;\n\n /** link target (optional) */\n @Prop()\n target?: string = \"_blank\";\n\n /** disabled status flag (optional) */\n @Prop()\n isdisabled?: boolean = false;\n\n /** name of slot container (optional) */\n @Prop()\n descrSlotName?: string;\n\n render(): HTMLDivElement {\n const elemId = this.elemid ? this.elemid : \"\";\n\n return (\n <div class=\"panel-elem-container\">\n {(this.imgurl || this.imgalt) && (\n <div\n aria-hidden=\"true\"\n class=\"panel-elem-icon\"\n >\n <img\n src={this.imgurl}\n alt={this.imgalt}\n />\n </div>\n )}\n <div class=\"panel-elem-link\">\n <a\n class={{\n \"z-link\": true,\n \"z-link-disabled\": this.isdisabled,\n \"z-link-icon\": true,\n \"z-link-blue\": true,\n }}\n id={elemId + \"link_id\"}\n href={this.url}\n target={this.target}\n >\n <z-icon\n height={14}\n width={14}\n name={this.linkicon}\n ></z-icon>\n {this.linklabel}\n </a>\n </div>\n {this.descrSlotName && (\n <div class=\"panel-elem-desc\">\n <slot name={this.descrSlotName} />\n </div>\n )}\n </div>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAY,IAAM,4zB,MCWXC,EAAU,MANvB,WAAAC,CAAAC,G,UAiCEC,KAAAC,OAAkB,SAIlBD,KAAAE,WAAuB,KAkDxB,CA5CC,MAAAC,GACE,MAAMC,EAASJ,KAAKK,OAASL,KAAKK,OAAS,GAE3C,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,yBACPR,KAAKS,QAAUT,KAAKU,SACpBJ,EAAA,OAAAC,IAAA,yDACc,OACZC,MAAM,mBAENF,EAAA,OAAAC,IAAA,2CACEI,IAAKX,KAAKS,OACVG,IAAKZ,KAAKU,UAIhBJ,EAAA,OAAAC,IAAA,2CAAKC,MAAM,mBACTF,EAAA,KAAAC,IAAA,2CACEC,MAAO,CACL,SAAU,KACV,kBAAmBR,KAAKE,WACxB,cAAe,KACf,cAAe,MAEjBW,GAAIT,EAAS,UACbU,KAAMd,KAAKe,IACXd,OAAQD,KAAKC,QAEbK,EAAA,UAAAC,IAAA,2CACES,OAAQ,GACRC,MAAO,GACPC,KAAMlB,KAAKmB,WAEZnB,KAAKoB,YAGTpB,KAAKqB,eACJf,EAAA,OAAAC,IAAA,2CAAKC,MAAM,mBACTF,EAAA,QAAAC,IAAA,2CAAMW,KAAMlB,KAAKqB,iB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as r}from"./p-DPdXlnVe.js";import{L as a}from"./p-BKCj6NR2.js";const t=()=>`:host{--card-overflow:hidden}div{display:flex;overflow:var(--card-overflow);width:auto;width:256px;height:522px;box-sizing:border-box;flex-direction:column;border:var(--border-size-medium) solid var(--color-surface03);background-color:var(--color-surface01);border-radius:var(--border-radius)}div.real,div.trial,div.temp{border-color:var(--blue100)}div.faded{border:var(--border-size-medium) solid var(--color-background)}div.highlighted{box-shadow:var(--shadow-4);outline:none}div.pressed{box-shadow:var(--shadow-8);outline:none}div:focus{box-shadow:var(--shadow-focus-primary);outline:none}`;const i=class{constructor(r){e(this,r);this.ispressed=false;this.ishighlighted=false}retrieveClass(){let e="";if(this.cardtype===a.REAL){e+="real"}else if(this.cardtype===a.TRIAL){e+="trial"}else if(this.cardtype===a.TEMP){e+="temp"}if(this.faded){e+=" faded"}else if(this.ispressed){e+=" pressed"}else if(this.ishighlighted){e+=" highlighted"}return e}render(){return r("div",{key:"ed3d5841bd46ec168fef3fcb25e177cc5548ff42",class:this.retrieveClass(),tabindex:"0"},r("slot",{key:"87fa940d952cc77e8a2d95cbff8a8690d782039a"}))}};i.style=t();const o=()=>`:host{width:auto;height:340px}:host>div{position:relative;display:flex;width:auto;height:340px;align-items:center;justify-content:center}`;const s=class{constructor(r){e(this,r)}render(){return r("div",{key:"95ef1a2e8d5babdef3f5d89b532b6916cd1e2e4c"},r("slot",{key:"96616fcb612f3ae7f1db129d50e5dbd0497870a9",name:"alert"}),r("slot",{key:"327613cfcfe1a9f96e66531629d0591b90717569",name:"cover"}))}};s.style=o();const d=()=>`img{display:block;max-width:100%;height:340px;margin:auto;object-fit:cover}img.faded{opacity:0.3}`;const c=class{constructor(r){e(this,r)}hadleOnImageError(){this.img=this.defaultimg}render(){return r("img",{key:"13e827933bb784fbe1e00c690048e2e9c3699313",class:this.faded&&"faded",onError:this.hadleOnImageError.bind(this),alt:this.titolo,src:this.img})}};c.style=d();const l=()=>`header{position:relative;display:flex;width:auto;height:calc(var(--space-unit) * 6);flex-direction:row;align-items:flex-start;justify-content:space-between;border-bottom:var(--border-size-medium) solid var(--color-surface03);background-color:var(--color-surface01);border-radius:var(--border-radius) var(--border-radius) var(--border-no-radius) var(--border-no-radius)}slot[name="aria-heading"]::slotted(*){position:absolute;overflow:hidden !important;width:1px !important;height:1px !important;padding:0 !important;border:0 none !important;margin:-1px !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important}header.real,header.trial,header.temp{border-bottom:var(--border-size-medium) solid var(--blue100);background-color:var(--color-primary03)}.card-title{overflow:hidden;height:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 2);margin:0;color:var(--color-surface05);font-family:var(--font-family-sans);font-size:12px;font-weight:var(--font-sb);letter-spacing:0.22px;line-height:calc(var(--space-unit) * 2);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.faded{border-bottom:var(--border-size-medium) solid var(--color-background)}.faded.real,.faded.trial,.faded.temp{border-top:var(--border-size-medium) solid var(--blue100);border-right:var(--border-size-medium) solid var(--blue100);border-left:var(--border-size-medium) solid var(--blue100)}`;const n=class{constructor(r){e(this,r);this.allowTooltip=false}getTitle(){return this.allowTooltip?this.titolo:""}componentDidLoad(){if(this.elementHasEllipsis()){this.allowTooltip=true}}elementHasEllipsis(){return this.ellipsis.offsetWidth<this.ellipsis.scrollWidth}retrieveClass(){return{real:this.cardtype===a.REAL,trial:this.cardtype===a.TRIAL,temp:this.cardtype===a.TEMP,faded:this.faded}}render(){return r("header",{key:"671c26a2953f4ca84e9c0bc3b84e8f6cf3d442f7",class:this.retrieveClass()},r("slot",{key:"d59992fbe354f2c6c4934613ed8597e3673fa49b",name:"aria-heading"}),r("span",{key:"b58bfc5c6ab9993c33b4e8fcfde411a537c5d0f3",class:"card-title",ref:e=>this.ellipsis=e,title:this.getTitle()},this.titolo),r("slot",{key:"3928815f962ffd84793775a964a2303a901eed06",name:"icon"}))}};n.style=l();export{i as z_myz_card,s as z_myz_card_body,c as z_myz_card_cover,n as z_myz_card_header};
2
+ //# sourceMappingURL=p-65013fbe.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stylesCss","ZMyzCardComponent","constructor","hostRef","this","ispressed","ishighlighted","retrieveClass","elemClasses","cardtype","LicenseType","REAL","TRIAL","TEMP","faded","render","h","key","class","tabindex","ZMyzCardBody","name","ZMyzCardCover","hadleOnImageError","img","defaultimg","onError","bind","alt","titolo","src","ZMyzCardHeader","allowTooltip","getTitle","componentDidLoad","elementHasEllipsis","ellipsis","offsetWidth","scrollWidth","real","trial","temp","ref","el","title"],"sources":["src/snowflakes/myz/card/z-myz-card/styles.css?tag=z-myz-card&encapsulation=shadow","src/snowflakes/myz/card/z-myz-card/index.tsx","src/snowflakes/myz/card/z-myz-card-body/styles.css?tag=z-myz-card-body&encapsulation=shadow","src/snowflakes/myz/card/z-myz-card-body/index.tsx","src/snowflakes/myz/card/z-myz-card-cover/styles.css?tag=z-myz-card-cover&encapsulation=shadow","src/snowflakes/myz/card/z-myz-card-cover/index.tsx","src/snowflakes/myz/card/z-myz-card-header/styles.css?tag=z-myz-card-header&encapsulation=shadow","src/snowflakes/myz/card/z-myz-card-header/index.tsx"],"sourcesContent":[":host {\n --card-overflow: hidden;\n}\n\ndiv {\n display: flex;\n overflow: var(--card-overflow);\n width: auto;\n width: 256px; /* TODO: width must be 100% - must be handled in dashboard */\n height: 522px;\n box-sizing: border-box;\n flex-direction: column;\n border: var(--border-size-medium) solid var(--color-surface03);\n background-color: var(--color-surface01);\n border-radius: var(--border-radius);\n}\n\ndiv.real,\ndiv.trial,\ndiv.temp {\n border-color: var(--blue100);\n}\n\n/* HIDDEN status */\ndiv.faded {\n border: var(--border-size-medium) solid var(--color-background);\n}\n\n/* HIGHLIGHTED status */\ndiv.highlighted {\n box-shadow: var(--shadow-4);\n outline: none;\n}\n\n/* PRESSED status */\ndiv.pressed {\n box-shadow: var(--shadow-8);\n outline: none;\n}\n\ndiv:focus {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n","import {Component, ComponentInterface, h, Prop} from \"@stencil/core\";\nimport {LicenseType} from \"../../../../beans/index\";\n\n/**\n * @slot - generic card slot\n */\n@Component({\n tag: \"z-myz-card\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMyzCardComponent implements ComponentInterface {\n /** faded status */\n @Prop()\n faded: boolean;\n\n /** graphic variant (optional) */\n @Prop()\n cardtype?: LicenseType;\n\n /** pressed status */\n @Prop()\n ispressed = false;\n\n /** highlighted status */\n @Prop()\n ishighlighted = false;\n\n private retrieveClass(): string {\n let elemClasses = \"\";\n\n if (this.cardtype === LicenseType.REAL) {\n elemClasses += \"real\";\n } else if (this.cardtype === LicenseType.TRIAL) {\n elemClasses += \"trial\";\n } else if (this.cardtype === LicenseType.TEMP) {\n elemClasses += \"temp\";\n }\n\n if (this.faded) {\n elemClasses += \" faded\";\n } else if (this.ispressed) {\n elemClasses += \" pressed\";\n } else if (this.ishighlighted) {\n elemClasses += \" highlighted\";\n }\n\n return elemClasses;\n }\n\n render(): HTMLDivElement {\n return (\n <div\n class={this.retrieveClass()}\n tabindex=\"0\"\n >\n <slot />\n </div>\n );\n }\n}\n",":host {\n width: auto;\n height: 340px;\n}\n\n:host > div {\n position: relative;\n display: flex;\n width: auto;\n height: 340px;\n align-items: center;\n justify-content: center;\n}\n","import {Component, ComponentInterface, h} from \"@stencil/core\";\n\n/**\n * @slot alert - card alert slot\n * @slot cover - book cover slot\n */\n@Component({\n tag: \"z-myz-card-body\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMyzCardBody implements ComponentInterface {\n render(): HTMLDivElement {\n return (\n <div>\n <slot name=\"alert\"></slot>\n <slot name=\"cover\" />\n </div>\n );\n }\n}\n","img {\n display: block;\n max-width: 100%;\n height: 340px;\n margin: auto;\n object-fit: cover;\n}\n\nimg.faded {\n opacity: 0.3;\n}\n","import {Component, ComponentInterface, Prop, h} from \"@stencil/core\";\n\n@Component({\n tag: \"z-myz-card-cover\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMyzCardCover implements ComponentInterface {\n /** image source */\n @Prop()\n img: string;\n\n /** cover alt title */\n @Prop()\n titolo: string;\n\n /** faded status */\n @Prop()\n faded: boolean;\n\n /** default error image source */\n @Prop()\n defaultimg: string;\n\n private hadleOnImageError(): void {\n this.img = this.defaultimg;\n }\n\n render(): HTMLImageElement {\n return (\n <img\n class={this.faded && \"faded\"}\n onError={this.hadleOnImageError.bind(this)}\n alt={this.titolo}\n src={this.img}\n />\n );\n }\n}\n","header {\n position: relative;\n display: flex;\n width: auto;\n height: calc(var(--space-unit) * 6);\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-between;\n border-bottom: var(--border-size-medium) solid var(--color-surface03);\n background-color: var(--color-surface01);\n border-radius: var(--border-radius) var(--border-radius) var(--border-no-radius) var(--border-no-radius);\n}\n\nslot[name=\"aria-heading\"]::slotted(*) {\n position: absolute;\n overflow: hidden !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n border: 0 none !important;\n margin: -1px !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n}\n\nheader.real,\nheader.trial,\nheader.temp {\n border-bottom: var(--border-size-medium) solid var(--blue100);\n background-color: var(--color-primary03);\n}\n\n.card-title {\n overflow: hidden;\n height: calc(var(--space-unit) * 2);\n padding: calc(var(--space-unit) * 2);\n margin: 0;\n color: var(--color-surface05);\n font-family: var(--font-family-sans);\n font-size: 12px;\n font-weight: var(--font-sb);\n letter-spacing: 0.22px;\n line-height: calc(var(--space-unit) * 2);\n text-overflow: ellipsis;\n text-transform: uppercase;\n white-space: nowrap;\n}\n\n.faded {\n border-bottom: var(--border-size-medium) solid var(--color-background);\n}\n\n.faded.real,\n.faded.trial,\n.faded.temp {\n border-top: var(--border-size-medium) solid var(--blue100);\n border-right: var(--border-size-medium) solid var(--blue100);\n border-left: var(--border-size-medium) solid var(--blue100);\n}\n","import {Component, ComponentInterface, Prop, State, h} from \"@stencil/core\";\nimport {JSXBase} from \"@stencil/core/internal\";\nimport {LicenseType} from \"../../../../beans/index\";\n\n/**\n * @slot icon - card header icon slot\n */\n@Component({\n tag: \"z-myz-card-header\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMyzCardHeader implements ComponentInterface {\n /** volume title */\n @Prop()\n titolo: string;\n\n /** faded status */\n @Prop()\n faded: boolean;\n\n /** card graphic variant (optional) */\n @Prop()\n cardtype?: LicenseType;\n\n @State()\n allowTooltip = false;\n\n private ellipsis?: HTMLElement;\n\n private getTitle(): string {\n return this.allowTooltip ? this.titolo : \"\";\n }\n\n componentDidLoad(): void {\n if (this.elementHasEllipsis()) {\n this.allowTooltip = true;\n }\n }\n\n private elementHasEllipsis(): boolean {\n return this.ellipsis.offsetWidth < this.ellipsis.scrollWidth;\n }\n\n private retrieveClass(): JSXBase.HTMLAttributes[\"class\"] {\n return {\n real: this.cardtype === LicenseType.REAL,\n trial: this.cardtype === LicenseType.TRIAL,\n temp: this.cardtype === LicenseType.TEMP,\n faded: this.faded,\n };\n }\n\n render(): HTMLElement {\n return (\n <header class={this.retrieveClass()}>\n <slot name=\"aria-heading\" />\n <span\n class=\"card-title\"\n ref={(el) => (this.ellipsis = el as HTMLElement)}\n title={this.getTitle()}\n >\n {this.titolo}\n </span>\n <slot name=\"icon\" />\n </header>\n );\n }\n}\n"],"mappings":"+EAAA,MAAMA,EAAY,IAAM,mlB,MCWXC,EAAiB,MAL9B,WAAAC,CAAAC,G,UAgBEC,KAAAC,UAAY,MAIZD,KAAAE,cAAgB,KAkCjB,CAhCS,aAAAC,GACN,IAAIC,EAAc,GAElB,GAAIJ,KAAKK,WAAaC,EAAYC,KAAM,CACtCH,GAAe,M,MACV,GAAIJ,KAAKK,WAAaC,EAAYE,MAAO,CAC9CJ,GAAe,O,MACV,GAAIJ,KAAKK,WAAaC,EAAYG,KAAM,CAC7CL,GAAe,M,CAGjB,GAAIJ,KAAKU,MAAO,CACdN,GAAe,Q,MACV,GAAIJ,KAAKC,UAAW,CACzBG,GAAe,U,MACV,GAAIJ,KAAKE,cAAe,CAC7BE,GAAe,c,CAGjB,OAAOA,C,CAGT,MAAAO,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAOd,KAAKG,gBACZY,SAAS,KAETH,EAAA,QAAAC,IAAA,6C,eCxDR,MAAMjB,EAAY,IAAM,4I,MCWXoB,EAAY,M,yBACvB,MAAAL,GACE,OACEC,EAAA,OAAAC,IAAA,4CACED,EAAA,QAAAC,IAAA,2CAAMI,KAAK,UACXL,EAAA,QAAAC,IAAA,2CAAMI,KAAK,U,eChBnB,MAAMrB,EAAY,IAAM,oG,MCOXsB,EAAa,M,yBAiBhB,iBAAAC,GACNnB,KAAKoB,IAAMpB,KAAKqB,U,CAGlB,MAAAV,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAOd,KAAKU,OAAS,QACrBY,QAAStB,KAAKmB,kBAAkBI,KAAKvB,MACrCwB,IAAKxB,KAAKyB,OACVC,IAAK1B,KAAKoB,K,eClClB,MAAMxB,EAAY,IAAM,23C,MCYX+B,EAAc,MAL3B,WAAA7B,CAAAC,G,UAmBEC,KAAA4B,aAAe,KA0ChB,CAtCS,QAAAC,GACN,OAAO7B,KAAK4B,aAAe5B,KAAKyB,OAAS,E,CAG3C,gBAAAK,GACE,GAAI9B,KAAK+B,qBAAsB,CAC7B/B,KAAK4B,aAAe,I,EAIhB,kBAAAG,GACN,OAAO/B,KAAKgC,SAASC,YAAcjC,KAAKgC,SAASE,W,CAG3C,aAAA/B,GACN,MAAO,CACLgC,KAAMnC,KAAKK,WAAaC,EAAYC,KACpC6B,MAAOpC,KAAKK,WAAaC,EAAYE,MACrC6B,KAAMrC,KAAKK,WAAaC,EAAYG,KACpCC,MAAOV,KAAKU,M,CAIhB,MAAAC,GACE,OACEC,EAAA,UAAAC,IAAA,2CAAQC,MAAOd,KAAKG,iBAClBS,EAAA,QAAAC,IAAA,2CAAMI,KAAK,iBACXL,EAAA,QAAAC,IAAA,2CACEC,MAAM,aACNwB,IAAMC,GAAQvC,KAAKgC,SAAWO,EAC9BC,MAAOxC,KAAK6B,YAEX7B,KAAKyB,QAERb,EAAA,QAAAC,IAAA,2CAAMI,KAAK,S","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as r}from"./p-DPdXlnVe.js";import{f as a}from"./p-BKCj6NR2.js";const o=()=>`input:focus{box-shadow:var(--shadow-focus-primary);outline:none !important}:host{font-family:var(--font-family-sans);font-weight:var(--font-rg)}.digits-container{display:flex;justify-content:flex-start}input{width:calc(var(--space-unit) * 5);height:72px;box-sizing:border-box;padding:0;caret-color:transparent;color:var(--color-surface05);font-family:var(--font-family-sans);font-size:32px;font-weight:300;text-align:center}input.error{border:1px solid;border-color:var(--color-default-error);background-color:var(--color-inverse-error);border-radius:4px}input:not(:last-of-type){margin-right:var(--space-unit)}@media only screen and (min-width: 768px){input:not(:last-of-type){margin-right:calc(var(--space-unit) * 2)}}@media only screen and (min-width: 1025px){input{width:calc(var(--space-unit) * 6)}}`;const n=class{constructor(r){t(this,r);this.otpChange=i(this,"otpChange",7);this.inputNum=6}emitInputChange(t){this.otpChange.emit({value:t})}componentWillLoad(){this.otp=[...Array(this.inputNum)];this.otpRef=[...Array(this.inputNum)]}render(){return r("div",{key:"25929eacee727c90dbf664fa11638bb5cdb5823a",class:"otp-container"},r("div",{key:"16d6b64ba2649781fcb359ddefd08d0553c9fcb5",class:"digits-container"},this.otp.map(((t,i)=>r("input",{class:this.status==a.ERROR?"error":null,onKeyDown:t=>{if(t.keyCode>47){this.otpRef[i].value=""}},onKeyUp:t=>{if(t.keyCode>47){if(i<this.inputNum-1){this.otpRef[i+1].focus()}}},onInput:t=>{this.otp[i]=t.target.value;this.emitInputChange(this.otp.join(""))},type:"text",minlength:"1",maxlength:"1",autoComplete:"off",ref:t=>this.otpRef[i]=t})))),r("z-input-message",{key:"201125a3e3f5b0a3b53b170d4f0153188715c7db",message:this.message,status:this.status}))}};n.style=o();export{n as z_otp};
2
+ //# sourceMappingURL=p-680e12d3.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stylesCss","ZOtp","constructor","hostRef","this","inputNum","emitInputChange","value","otpChange","emit","componentWillLoad","otp","Array","otpRef","render","h","key","class","map","_val","i","status","InputStatus","ERROR","onKeyDown","e","keyCode","onKeyUp","focus","onInput","target","join","type","minlength","maxlength","autoComplete","ref","el","message"],"sources":["src/snowflakes/myz/z-otp/styles.css?tag=z-otp&encapsulation=shadow","src/snowflakes/myz/z-otp/index.tsx"],"sourcesContent":["input:focus {\n box-shadow: var(--shadow-focus-primary);\n outline: none !important;\n}\n\n:host {\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n.digits-container {\n display: flex;\n justify-content: flex-start;\n}\n\ninput {\n width: calc(var(--space-unit) * 5);\n height: 72px;\n box-sizing: border-box;\n padding: 0;\n caret-color: transparent;\n color: var(--color-surface05);\n font-family: var(--font-family-sans);\n font-size: 32px;\n font-weight: 300;\n text-align: center;\n}\n\ninput.error {\n border: 1px solid;\n border-color: var(--color-default-error);\n background-color: var(--color-inverse-error);\n border-radius: 4px;\n}\n\ninput:not(:last-of-type) {\n margin-right: var(--space-unit);\n}\n\n/* Tablet breakpoint */\n@media only screen and (min-width: 768px) {\n input:not(:last-of-type) {\n margin-right: calc(var(--space-unit) * 2);\n }\n}\n\n/* Desktop breakpoint */\n@media only screen and (min-width: 1025px) {\n input {\n width: calc(var(--space-unit) * 6);\n }\n}\n","import {Component, ComponentInterface, Event, EventEmitter, Prop, h} from \"@stencil/core\";\nimport {InputStatus} from \"../../../beans\";\n\n@Component({\n tag: \"z-otp\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZOtp implements ComponentInterface {\n /** Input number */\n @Prop()\n inputNum?: number = 6;\n\n /** Input status */\n @Prop()\n status?: InputStatus;\n\n /** Input message */\n @Prop()\n message?: string;\n\n private otp: string[];\n\n private otpRef: HTMLInputElement[];\n\n /** Otp change event */\n @Event()\n otpChange: EventEmitter;\n\n private emitInputChange(value: string): void {\n this.otpChange.emit({value});\n }\n\n componentWillLoad(): void {\n this.otp = [...Array(this.inputNum)];\n this.otpRef = [...Array(this.inputNum)];\n }\n\n render(): HTMLDivElement {\n return (\n <div class=\"otp-container\">\n <div class=\"digits-container\">\n {this.otp.map((_val, i) => (\n <input\n class={this.status == InputStatus.ERROR ? \"error\" : null}\n onKeyDown={(e: KeyboardEvent) => {\n if (e.keyCode > 47) {\n this.otpRef[i].value = \"\";\n }\n }}\n onKeyUp={(e: KeyboardEvent) => {\n if (e.keyCode > 47) {\n if (i < this.inputNum - 1) {\n this.otpRef[i + 1].focus();\n }\n }\n }}\n onInput={(e: InputEvent) => {\n this.otp[i] = (e.target as HTMLInputElement).value;\n this.emitInputChange(this.otp.join(\"\"));\n }}\n type=\"text\"\n minlength=\"1\"\n maxlength=\"1\"\n autoComplete=\"off\"\n ref={(el) => (this.otpRef[i] = el)}\n />\n ))}\n </div>\n <z-input-message\n message={this.message}\n status={this.status}\n ></z-input-message>\n </div>\n );\n }\n}\n"],"mappings":"sFAAA,MAAMA,EAAY,IAAM,uyB,MCQXC,EAAI,MALjB,WAAAC,CAAAC,G,+CAQEC,KAAAC,SAAoB,CAiErB,CA/CS,eAAAC,CAAgBC,GACtBH,KAAKI,UAAUC,KAAK,CAACF,S,CAGvB,iBAAAG,GACEN,KAAKO,IAAM,IAAIC,MAAMR,KAAKC,WAC1BD,KAAKS,OAAS,IAAID,MAAMR,KAAKC,U,CAG/B,MAAAS,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,iBACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBACRb,KAAKO,IAAIO,KAAI,CAACC,EAAMC,IACnBL,EAAA,SACEE,MAAOb,KAAKiB,QAAUC,EAAYC,MAAQ,QAAU,KACpDC,UAAYC,IACV,GAAIA,EAAEC,QAAU,GAAI,CAClBtB,KAAKS,OAAOO,GAAGb,MAAQ,E,GAG3BoB,QAAUF,IACR,GAAIA,EAAEC,QAAU,GAAI,CAClB,GAAIN,EAAIhB,KAAKC,SAAW,EAAG,CACzBD,KAAKS,OAAOO,EAAI,GAAGQ,O,IAIzBC,QAAUJ,IACRrB,KAAKO,IAAIS,GAAMK,EAAEK,OAA4BvB,MAC7CH,KAAKE,gBAAgBF,KAAKO,IAAIoB,KAAK,IAAI,EAEzCC,KAAK,OACLC,UAAU,IACVC,UAAU,IACVC,aAAa,MACbC,IAAMC,GAAQjC,KAAKS,OAAOO,GAAKiB,OAIrCtB,EAAA,mBAAAC,IAAA,2CACEsB,QAASlC,KAAKkC,QACdjB,OAAQjB,KAAKiB,S","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,h as e,H as t,d as o}from"./p-DPdXlnVe.js";const r=()=>`:host,*{box-sizing:border-box}:host{display:flex;overflow:hidden;min-width:0;min-height:11.125rem;padding:var(--space-unit);border:var(--border-size-medium) solid var(--color-surface02);background-color:var(--color-surface01);border-radius:var(--border-size-large);cursor:pointer;font-family:var(--font-family-sans);gap:calc(var(--space-unit) * 2)}z-book-cover{--z-book-cover-stack-shift-x:6px;--z-book-cover-stack-shift-y:8px;--z-book-cover-height:158px;--z-book-cover-border-radius:0}.info-container{display:flex;overflow:hidden;min-width:0;flex:1;flex-direction:column}.authors-label{overflow:hidden;color:var(--color-default-text);font-size:var(--font-size-2);font-weight:var(--font-rg);text-overflow:ellipsis;white-space:nowrap}.card-title{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;font-size:var(--font-size-3);font-weight:var(--font-bd);-webkit-line-clamp:2;line-clamp:2;line-height:1.5;word-break:break-word}.card-subtitle{overflow:hidden;color:var(--color-default-text);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.tags-container{display:flex;max-width:100%;flex-wrap:wrap;margin-top:calc(var(--space-unit) * 2);gap:var(--space-unit)}.volumes-label{display:flex;flex-grow:1;align-items:end;color:var(--color-default-text);font-size:var(--font-size-1)}:host(.info-card){height:5rem;gap:calc(var(--space-unit) * 1.5)}:host(.info-card) .info-icon-container{display:flex;align-items:center;align-self:flex-start;justify-content:center;padding:var(--space-unit);margin-bottom:calc(var(--space-unit) * 3);background-color:var(--gray50);border-radius:var(--border-size-large)}:host(.info-card) .info-icon{--z-icon-width:1.125rem;--z-icon-height:1.125rem;fill:var(--color-default-icon)}:host(.info-card) .card-title{display:-webkit-box;overflow:hidden;min-width:0;max-width:100%;max-height:2.4em;margin-top:0;margin-bottom:calc(var(--space-unit) / 2);-webkit-box-orient:vertical;font-size:var(--font-size-3);font-weight:var(--font-bd);-webkit-line-clamp:1;line-clamp:1;line-height:1.2;word-break:break-word}:host(.info-card) .card-subtitle{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.2;white-space:normal;word-break:break-word}@media (max-width: 767px){.card-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.4;word-break:break-word}}`;const a=class{constructor(o){i(this,o);this.hasMultipleCovers=false;this.isInfoCard=false;this.resizeHandler=()=>{this.setTooltipTitle(this.authorsRef);this.setTooltipTitle(this.titleRef);this.setTooltipTitle(this.subtitleRef)};this.renderTitle=()=>{const i=this.titleHtmlTag||"div";return e(i,{class:"card-title",ref:i=>this.titleRef=i},this.cardTitle)};this.renderSubtitle=()=>e("span",{class:"card-subtitle",ref:i=>this.subtitleRef=i},this.cardSubtitle);this.renderOperaCard=()=>e(t,null,e("z-book-cover",{cover:this.cover,fallbackCover:this.fallbackCover,multiple:this.hasMultipleCovers,bordered:true}),e("div",{class:"info-container"},this.authors&&e("span",{class:"authors-label",ref:i=>this.authorsRef=i},this.authors),this.renderTitle(),this.renderSubtitle(),e("div",{class:"tags-container"},e("slot",{name:"tags"})),e("div",{class:"volumes-label"},e("slot",{name:"volumes"}))));this.renderInfoCard=()=>e(t,{class:"info-card"},e("div",{class:"info-icon-container"},e("z-icon",{class:"info-icon",name:"link"})),e("div",{class:"info-container"},this.renderTitle(),this.renderSubtitle()))}setTooltipTitle(i){if(!i){return}const e=window.getComputedStyle(i);const t=e.getPropertyValue("-webkit-line-clamp")!=="none";let o;if(t){const t=parseInt(e.lineHeight);const r=parseInt(e.getPropertyValue("-webkit-line-clamp"));const a=t*r;o=i.scrollHeight>a}else{o=i.scrollWidth>i.clientWidth||i.scrollHeight>i.clientHeight}if(o){i.setAttribute("title",i.textContent.trim())}else{i.removeAttribute("title")}}componentDidRender(){this.setTooltipTitle(this.authorsRef);this.setTooltipTitle(this.titleRef);this.setTooltipTitle(this.subtitleRef)}componentDidLoad(){window.addEventListener("resize",this.resizeHandler)}disconnectedCallback(){window.removeEventListener("resize",this.resizeHandler)}render(){return this.isInfoCard?this.renderInfoCard():this.renderOperaCard()}get hostElement(){return o(this)}};a.style=r();export{a as z_result_card};
2
+ //# sourceMappingURL=p-6a949aa2.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stylesCss","ZResultCard","constructor","hostRef","this","hasMultipleCovers","isInfoCard","resizeHandler","setTooltipTitle","authorsRef","titleRef","subtitleRef","renderTitle","TitleTag","titleHtmlTag","h","class","ref","el","cardTitle","renderSubtitle","cardSubtitle","renderOperaCard","Host","cover","fallbackCover","multiple","bordered","authors","name","renderInfoCard","style","window","getComputedStyle","hasLineClamp","getPropertyValue","isTruncated","lineHeight","parseInt","maxLines","maxHeight","scrollHeight","scrollWidth","clientWidth","clientHeight","setAttribute","textContent","trim","removeAttribute","componentDidRender","componentDidLoad","addEventListener","disconnectedCallback","removeEventListener","render"],"sources":["src/components/z-result-card/styles.css?tag=z-result-card&encapsulation=shadow","src/components/z-result-card/index.tsx"],"sourcesContent":[":host,\n* {\n box-sizing: border-box;\n}\n\n:host {\n display: flex;\n overflow: hidden;\n min-width: 0;\n min-height: 11.125rem;\n padding: var(--space-unit);\n border: var(--border-size-medium) solid var(--color-surface02);\n background-color: var(--color-surface01);\n border-radius: var(--border-size-large);\n cursor: pointer;\n font-family: var(--font-family-sans);\n gap: calc(var(--space-unit) * 2);\n}\n\nz-book-cover {\n --z-book-cover-stack-shift-x: 6px;\n --z-book-cover-stack-shift-y: 8px;\n --z-book-cover-height: 158px;\n --z-book-cover-border-radius: 0;\n}\n\n.info-container {\n display: flex;\n overflow: hidden;\n min-width: 0;\n flex: 1;\n flex-direction: column;\n}\n\n.authors-label {\n overflow: hidden;\n color: var(--color-default-text);\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.card-title {\n display: -webkit-box;\n overflow: hidden;\n margin: 0;\n -webkit-box-orient: vertical;\n font-size: var(--font-size-3);\n font-weight: var(--font-bd);\n -webkit-line-clamp: 2;\n line-clamp: 2;\n line-height: 1.5;\n word-break: break-word;\n}\n\n.card-subtitle {\n overflow: hidden;\n color: var(--color-default-text);\n line-height: 1.4;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.tags-container {\n display: flex;\n max-width: 100%;\n flex-wrap: wrap;\n margin-top: calc(var(--space-unit) * 2);\n gap: var(--space-unit);\n}\n\n.volumes-label {\n display: flex;\n flex-grow: 1;\n align-items: end;\n color: var(--color-default-text);\n font-size: var(--font-size-1);\n}\n\n/* info-card */\n:host(.info-card) {\n height: 5rem;\n gap: calc(var(--space-unit) * 1.5);\n}\n\n:host(.info-card) .info-icon-container {\n display: flex;\n align-items: center;\n align-self: flex-start;\n justify-content: center;\n padding: var(--space-unit);\n margin-bottom: calc(var(--space-unit) * 3);\n background-color: var(--gray50);\n border-radius: var(--border-size-large);\n}\n\n:host(.info-card) .info-icon {\n --z-icon-width: 1.125rem;\n --z-icon-height: 1.125rem;\n\n fill: var(--color-default-icon);\n}\n\n:host(.info-card) .card-title {\n display: -webkit-box;\n overflow: hidden;\n min-width: 0;\n max-width: 100%;\n max-height: 2.4em;\n margin-top: 0;\n margin-bottom: calc(var(--space-unit) / 2);\n -webkit-box-orient: vertical;\n font-size: var(--font-size-3);\n font-weight: var(--font-bd);\n -webkit-line-clamp: 1;\n line-clamp: 1;\n line-height: 1.2;\n word-break: break-word;\n}\n\n:host(.info-card) .card-subtitle {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n line-height: 1.2;\n white-space: normal;\n word-break: break-word;\n}\n\n@media (max-width: 767px) {\n .card-title {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n line-height: 1.4;\n word-break: break-word;\n }\n}\n","import {Component, ComponentInterface, Element, Host, Prop, h} from \"@stencil/core\";\n\n/**\n * @slot tags - slot containing the descriptors for the opera variant\n * @slot volumes - slot containing the volume count to be displayed in the opera variant\n */\n@Component({\n tag: \"z-result-card\",\n styleUrls: [\"styles.css\"],\n shadow: true,\n})\nexport class ZResultCard implements ComponentInterface {\n @Element() hostElement: HTMLZResultCardElement;\n\n /** The title of the card. */\n @Prop()\n cardTitle: string;\n\n /** The subtitle of the card. */\n @Prop()\n cardSubtitle: string;\n\n /** The authors of the opera. */\n @Prop()\n authors?: string;\n\n /** The URL of the cover image of the opera. */\n @Prop()\n cover?: string;\n\n /** [optional] Fallback cover URL. */\n @Prop()\n fallbackCover?: string;\n\n /** Whether to show a stack of covers to represent multiple books. */\n @Prop()\n hasMultipleCovers = false;\n\n /** Enables the \"info\" variant of the card. */\n @Prop()\n isInfoCard = false;\n\n /** [optional] Set a specific heading level as html tag for the title. */\n @Prop()\n titleHtmlTag?: string;\n\n private authorsRef: HTMLElement;\n\n private titleRef: HTMLElement;\n\n private subtitleRef: HTMLElement;\n\n private setTooltipTitle(el: HTMLElement): void {\n if (!el) {\n return;\n }\n\n // Check if element uses line-clamp\n const style = window.getComputedStyle(el);\n const hasLineClamp = style.getPropertyValue(\"-webkit-line-clamp\") !== \"none\";\n\n let isTruncated;\n if (hasLineClamp) {\n // For elements with line-clamp, check if content height exceeds line-clamp height\n const lineHeight = parseInt(style.lineHeight);\n const maxLines = parseInt(style.getPropertyValue(\"-webkit-line-clamp\"));\n const maxHeight = lineHeight * maxLines;\n\n isTruncated = el.scrollHeight > maxHeight;\n } else {\n // Original check for elements without line-clamp\n isTruncated = el.scrollWidth > el.clientWidth || el.scrollHeight > el.clientHeight;\n }\n\n if (isTruncated) {\n el.setAttribute(\"title\", el.textContent.trim());\n } else {\n el.removeAttribute(\"title\");\n }\n }\n\n componentDidRender(): void {\n this.setTooltipTitle(this.authorsRef);\n this.setTooltipTitle(this.titleRef);\n this.setTooltipTitle(this.subtitleRef);\n }\n\n private resizeHandler = (): void => {\n this.setTooltipTitle(this.authorsRef);\n this.setTooltipTitle(this.titleRef);\n this.setTooltipTitle(this.subtitleRef);\n };\n\n componentDidLoad(): void {\n window.addEventListener(\"resize\", this.resizeHandler);\n }\n\n disconnectedCallback(): void {\n window.removeEventListener(\"resize\", this.resizeHandler);\n }\n\n private renderTitle = (): HTMLElement => {\n const TitleTag = this.titleHtmlTag || \"div\";\n\n return (\n <TitleTag\n class=\"card-title\"\n ref={(el) => (this.titleRef = el as HTMLElement)}\n >\n {this.cardTitle}\n </TitleTag>\n );\n };\n\n private renderSubtitle = (): HTMLSpanElement => {\n return (\n <span\n class=\"card-subtitle\"\n ref={(el) => (this.subtitleRef = el as HTMLElement)}\n >\n {this.cardSubtitle}\n </span>\n );\n };\n\n private renderOperaCard = (): HTMLZResultCardElement => {\n return (\n <Host>\n <z-book-cover\n cover={this.cover}\n fallbackCover={this.fallbackCover}\n multiple={this.hasMultipleCovers}\n bordered={true}\n ></z-book-cover>\n <div class=\"info-container\">\n {this.authors && (\n <span\n class=\"authors-label\"\n ref={(el) => (this.authorsRef = el as HTMLElement)}\n >\n {this.authors}\n </span>\n )}\n {this.renderTitle()}\n {this.renderSubtitle()}\n <div class=\"tags-container\">\n <slot name=\"tags\"></slot>\n </div>\n <div class=\"volumes-label\">\n <slot name=\"volumes\"></slot>\n </div>\n </div>\n </Host>\n );\n };\n\n private renderInfoCard = (): HTMLZResultCardElement => {\n return (\n <Host class=\"info-card\">\n <div class=\"info-icon-container\">\n <z-icon\n class=\"info-icon\"\n name=\"link\"\n />\n </div>\n <div class=\"info-container\">\n {this.renderTitle()}\n {this.renderSubtitle()}\n </div>\n </Host>\n );\n };\n\n render(): HTMLZResultCardElement {\n return this.isInfoCard ? this.renderInfoCard() : this.renderOperaCard();\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAY,IAAM,k3E,MCWXC,EAAW,MALxB,WAAAC,CAAAC,G,UA8BEC,KAAAC,kBAAoB,MAIpBD,KAAAE,WAAa,MA+CLF,KAAAG,cAAgB,KACtBH,KAAKI,gBAAgBJ,KAAKK,YAC1BL,KAAKI,gBAAgBJ,KAAKM,UAC1BN,KAAKI,gBAAgBJ,KAAKO,YAAY,EAWhCP,KAAAQ,YAAc,KACpB,MAAMC,EAAWT,KAAKU,cAAgB,MAEtC,OACEC,EAACF,EAAQ,CACPG,MAAM,aACNC,IAAMC,GAAQd,KAAKM,SAAWQ,GAE7Bd,KAAKe,UACG,EAIPf,KAAAgB,eAAiB,IAErBL,EAAA,QACEC,MAAM,gBACNC,IAAMC,GAAQd,KAAKO,YAAcO,GAEhCd,KAAKiB,cAKJjB,KAAAkB,gBAAkB,IAEtBP,EAACQ,EAAI,KACHR,EAAA,gBACES,MAAOpB,KAAKoB,MACZC,cAAerB,KAAKqB,cACpBC,SAAUtB,KAAKC,kBACfsB,SAAU,OAEZZ,EAAA,OAAKC,MAAM,kBACRZ,KAAKwB,SACJb,EAAA,QACEC,MAAM,gBACNC,IAAMC,GAAQd,KAAKK,WAAaS,GAE/Bd,KAAKwB,SAGTxB,KAAKQ,cACLR,KAAKgB,iBACNL,EAAA,OAAKC,MAAM,kBACTD,EAAA,QAAMc,KAAK,UAEbd,EAAA,OAAKC,MAAM,iBACTD,EAAA,QAAMc,KAAK,eAObzB,KAAA0B,eAAiB,IAErBf,EAACQ,EAAI,CAACP,MAAM,aACVD,EAAA,OAAKC,MAAM,uBACTD,EAAA,UACEC,MAAM,YACNa,KAAK,UAGTd,EAAA,OAAKC,MAAM,kBACRZ,KAAKQ,cACLR,KAAKgB,kBASf,CA5HS,eAAAZ,CAAgBU,GACtB,IAAKA,EAAI,CACP,M,CAIF,MAAMa,EAAQC,OAAOC,iBAAiBf,GACtC,MAAMgB,EAAeH,EAAMI,iBAAiB,wBAA0B,OAEtE,IAAIC,EACJ,GAAIF,EAAc,CAEhB,MAAMG,EAAaC,SAASP,EAAMM,YAClC,MAAME,EAAWD,SAASP,EAAMI,iBAAiB,uBACjD,MAAMK,EAAYH,EAAaE,EAE/BH,EAAclB,EAAGuB,aAAeD,C,KAC3B,CAELJ,EAAclB,EAAGwB,YAAcxB,EAAGyB,aAAezB,EAAGuB,aAAevB,EAAG0B,Y,CAGxE,GAAIR,EAAa,CACflB,EAAG2B,aAAa,QAAS3B,EAAG4B,YAAYC,O,KACnC,CACL7B,EAAG8B,gBAAgB,Q,EAIvB,kBAAAC,GACE7C,KAAKI,gBAAgBJ,KAAKK,YAC1BL,KAAKI,gBAAgBJ,KAAKM,UAC1BN,KAAKI,gBAAgBJ,KAAKO,Y,CAS5B,gBAAAuC,GACElB,OAAOmB,iBAAiB,SAAU/C,KAAKG,c,CAGzC,oBAAA6C,GACEpB,OAAOqB,oBAAoB,SAAUjD,KAAKG,c,CA2E5C,MAAA+C,GACE,OAAOlD,KAAKE,WAAaF,KAAK0B,iBAAmB1B,KAAKkB,iB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as i,H as t,d as o}from"./p-DPdXlnVe.js";import{H as a,e as r}from"./p-BKCj6NR2.js";const n=()=>`:host{--z-info-reveal-panel-width:384px;--trigger-size:44px;position:relative}:host *{box-sizing:border-box}button{--trigger-icon-size:calc(var(--trigger-size) / 2);display:flex;align-items:center;justify-content:center;padding:0;border:none;background-color:transparent;cursor:pointer;font-family:inherit;letter-spacing:inherit}button:focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}.z-info-reveal-trigger{min-width:var(--trigger-size);height:var(--trigger-size);padding:calc((var(--trigger-size) - var(--trigger-icon-size)) / 2);background-color:var(--color-surface05);border-radius:var(--border-radius);color:var(--color-text-inverse);column-gap:var(--space-unit);font-weight:var(--font-sb);line-height:1rem}:host([size="big"]) .z-info-reveal-trigger{font-size:var(--font-size-2)}:host([size="small"]) .z-info-reveal-trigger{--trigger-size:36px;font-size:var(--font-size-2)}:host([size="x-small"]) .z-info-reveal-trigger{--trigger-size:32px;padding:var(--space-unit);font-size:var(--font-size-1)}:host>.z-info-reveal-trigger z-icon{--z-icon-width:var(--trigger-icon-size);--z-icon-height:var(--trigger-icon-size);display:flex;fill:var(--color-inverse-icon)}:host([size="small"])>.z-info-reveal-trigger z-icon{--trigger-icon-size:var(--trigger-icon-size-small, 18px)}:host([size="x-small"])>.z-info-reveal-trigger z-icon{--trigger-icon-size:var(--trigger-icon-size-x-small, 16px)}.z-info-reveal-panel{position:absolute;z-index:19;display:flex;width:var(--z-info-reveal-panel-width);height:fit-content;align-items:flex-start;padding:calc(var(--space-unit) * 1.5);background-color:var(--color-surface05);border-radius:var(--border-radius);box-shadow:var(--shadow-4);color:var(--color-text-inverse);column-gap:var(--space-unit)}.z-info-reveal-panel[hidden]{display:none}:host([position="top_left"]) .z-info-reveal-panel,:host([position="top_right"]) .z-info-reveal-panel{top:0}:host([position="bottom_left"]) .z-info-reveal-panel,:host([position="bottom_right"]) .z-info-reveal-panel{bottom:0}:host([position="top_right"]) .z-info-reveal-panel,:host([position="bottom_right"]) .z-info-reveal-panel{right:0}:host([position="top_left"]) .z-info-reveal-panel,:host([position="bottom_left"]) .z-info-reveal-panel{left:0}.z-info-reveal-panel .z-info-reveal-close{margin-left:auto}.z-info-reveal-panel z-icon{fill:var(--color-inverse-icon)}@media (max-width: 767px){.z-info-reveal-panel{top:auto !important;bottom:auto !important;width:calc(var(--z-info-reveal-panel-width) - (var(--grid-margin) * 4)) !important;margin-top:calc(var(--trigger-size) * -1)}}`;const s=class{constructor(i){e(this,i);this.icon="informationsource";this.position=a.BOTTOM_RIGHT;this.ariaLabel="Apri pannello informazioni";this.size=r.BIG;this.open=false}adjustPanelPosition(){if(!this.open||!this.panel){return}const e=this.host.getBoundingClientRect();const i=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--grid-margin"),10);const t=document.documentElement.offsetWidth;const o=Math.round((this.position.includes("left")?t-e.left:e.right)-i);this.panel.style.maxWidth=`${o}px`}togglePanel(){this.open=!this.open}closePanel(){this.open=false}handleEscapeKey(e){if(e.key==="Escape"&&this.open){this.closePanel()}}render(){return i(t,{key:"f9bc69d9bdbc9b2e30687f54877b241b51df3e45",open:this.open},i("button",{key:"f0dc5ceaf6f24d5597699b3158074403bac8f641",class:"z-info-reveal-trigger",type:"button",onClick:this.togglePanel.bind(this),"aria-label":!this.label?this.ariaLabel:undefined,"aria-expanded":this.open?"true":"false","aria-controls":"z-info-reveal-panel"},this.icon&&i("z-icon",{key:"5cddcacfd8d9e5f3dc8a1c171aa50621d6e2b044",name:this.icon}),this.label&&i("span",{key:"5417e101306098a399a9f8e6a39d1637be4f8901",class:"z-info-reveal-label"},this.label)),i("div",{key:"bd57a9686560c17c5d670a6fa87396a509ffb50a",class:"z-info-reveal-panel",id:"z-info-reveal-panel",ref:e=>this.panel=e,hidden:!this.open},i("slot",{key:"bd5fd2a1cf9c2a95fbb9ea966a0f09ec1940c9f9"}),i("button",{key:"73a9178e3ea240abad5d91f2fd82879313d2df24",class:"z-info-reveal-close",type:"button",onClick:this.closePanel.bind(this),"aria-label":"Chiudi pannello informazioni"},i("z-icon",{key:"de404809d5ea1fd51b36abc74518448c7502927e",name:"multiply"}))))}get host(){return o(this)}static get watchers(){return{position:[{adjustPanelPosition:0}],open:[{adjustPanelPosition:0}]}}};s.style=n();export{s as z_info_reveal};
2
+ //# sourceMappingURL=p-6d5dac88.entry.js.map