@zanichelli/albe-web-components 17.3.0-RC1 → 18.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (899) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/{index-a6593d82.js → index-0cb5e57a.js} +2 -2
  3. package/dist/cjs/{index-a6593d82.js.map → index-0cb5e57a.js.map} +1 -1
  4. package/dist/cjs/{index-4e2d222e.js → index-1c3f7a64.js} +2 -2
  5. package/dist/cjs/{index-4e2d222e.js.map → index-1c3f7a64.js.map} +1 -1
  6. package/dist/cjs/{index-117cd3b0.js → index-24b23a97.js} +5 -5
  7. package/dist/cjs/{index-117cd3b0.js.map → index-24b23a97.js.map} +1 -1
  8. package/dist/cjs/{index-7191c0cc.js → index-41d3dc9e.js} +2 -2
  9. package/dist/cjs/{index-7191c0cc.js.map → index-41d3dc9e.js.map} +1 -1
  10. package/dist/cjs/{index-9b8b105e.js → index-48540995.js} +3 -3
  11. package/dist/cjs/{index-9b8b105e.js.map → index-48540995.js.map} +1 -1
  12. package/dist/cjs/{index-a465bca8.js → index-4f18c0e2.js} +1 -6
  13. package/{www/build/p-2b309f57.js.map → dist/cjs/index-4f18c0e2.js.map} +1 -1
  14. package/dist/cjs/{index-d6c4fda2.js → index-f9fe3768.js} +3 -3
  15. package/dist/cjs/{index-d6c4fda2.js.map → index-f9fe3768.js.map} +1 -1
  16. package/dist/cjs/index.cjs.js +2 -8
  17. package/dist/cjs/index.cjs.js.map +1 -1
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/cjs/{utils-873dd0ae.js → utils-67ea6e35.js} +2 -2
  20. package/dist/cjs/{utils-873dd0ae.js.map → utils-67ea6e35.js.map} +1 -1
  21. package/dist/cjs/{utils-ee8e5b38.js → utils-a6d8a0b7.js} +2 -2
  22. package/dist/cjs/{utils-ee8e5b38.js.map → utils-a6d8a0b7.js.map} +1 -1
  23. package/dist/cjs/web-components-library.cjs.js +1 -1
  24. package/dist/cjs/z-accordion.cjs.entry.js +3 -3
  25. package/dist/cjs/z-accordion.cjs.entry.js.map +1 -1
  26. package/dist/cjs/z-alert.cjs.entry.js +2 -2
  27. package/dist/cjs/z-alert.cjs.entry.js.map +1 -1
  28. package/dist/cjs/z-anchor-navigation.cjs.entry.js +3 -3
  29. package/dist/cjs/z-anchor-navigation.cjs.entry.js.map +1 -1
  30. package/dist/cjs/z-app-header-deprecated.cjs.entry.js +2 -2
  31. package/dist/cjs/z-app-header_12.cjs.entry.js +19 -19
  32. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  33. package/dist/cjs/z-aria-alert.cjs.entry.js +2 -2
  34. package/dist/cjs/z-avatar.cjs.entry.js +3 -3
  35. package/dist/cjs/z-book-card-app.cjs.entry.js +2 -2
  36. package/dist/cjs/z-book-card-deprecated.cjs.entry.js +3 -3
  37. package/dist/cjs/z-book-card.cjs.entry.js +44 -90
  38. package/dist/cjs/z-book-card.cjs.entry.js.map +1 -1
  39. package/dist/cjs/z-breadcrumb.cjs.entry.js +13 -7
  40. package/dist/cjs/z-breadcrumb.cjs.entry.js.map +1 -1
  41. package/dist/cjs/z-button-sort.cjs.entry.js +2 -2
  42. package/dist/cjs/z-button-sort.cjs.entry.js.map +1 -1
  43. package/dist/cjs/z-card.cjs.entry.js +2 -2
  44. package/dist/cjs/z-card.cjs.entry.js.map +1 -1
  45. package/dist/cjs/z-carousel.cjs.entry.js +3 -3
  46. package/dist/cjs/z-carousel.cjs.entry.js.map +1 -1
  47. package/dist/cjs/z-chip.cjs.entry.js +4 -4
  48. package/dist/cjs/z-chip.cjs.entry.js.map +1 -1
  49. package/dist/cjs/z-combobox.cjs.entry.js +6 -6
  50. package/dist/cjs/z-combobox.cjs.entry.js.map +1 -1
  51. package/dist/cjs/z-cover-hero.cjs.entry.js +3 -3
  52. package/dist/cjs/z-date-picker.cjs.entry.js +3 -3
  53. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +8 -8
  54. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/z-file-upload.cjs.entry.js +1 -1
  56. package/dist/cjs/z-file.cjs.entry.js +2 -2
  57. package/dist/cjs/z-ghost-loading.cjs.entry.js +2 -2
  58. package/dist/cjs/z-ghost-loading.cjs.entry.js.map +1 -1
  59. package/dist/cjs/z-info-box.cjs.entry.js +1 -1
  60. package/dist/cjs/z-info-reveal.cjs.entry.js +2 -2
  61. package/dist/cjs/z-logo.cjs.entry.js +1 -1
  62. package/dist/cjs/z-menu-deprecated.cjs.entry.js +1 -1
  63. package/dist/cjs/z-menu-section-deprecated.cjs.entry.js +1 -1
  64. package/dist/cjs/z-menu-section.cjs.entry.js +5 -2
  65. package/dist/cjs/z-menu-section.cjs.entry.js.map +1 -1
  66. package/dist/cjs/z-menu.cjs.entry.js +3 -3
  67. package/dist/cjs/z-menu.cjs.entry.js.map +1 -1
  68. package/dist/cjs/z-myz-card-alert.cjs.entry.js +3 -3
  69. package/dist/cjs/z-myz-card-alert.cjs.entry.js.map +1 -1
  70. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +2 -2
  71. package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js +1 -1
  72. package/dist/cjs/z-myz-card-footer.cjs.entry.js +2 -2
  73. package/dist/cjs/z-myz-card-icon.cjs.entry.js +1 -1
  74. package/dist/cjs/z-myz-card-info.cjs.entry.js +4 -4
  75. package/dist/cjs/z-myz-card-info.cjs.entry.js.map +1 -1
  76. package/dist/cjs/z-myz-card-list.cjs.entry.js +1 -1
  77. package/dist/cjs/z-myz-card_4.cjs.entry.js +5 -5
  78. package/dist/cjs/z-myz-list-item.cjs.entry.js +3 -3
  79. package/dist/cjs/z-myz-list.cjs.entry.js +1 -1
  80. package/dist/cjs/z-navigation-tabs.cjs.entry.js +4 -4
  81. package/dist/cjs/z-navigation-tabs.cjs.entry.js.map +1 -1
  82. package/dist/cjs/z-notification.cjs.entry.js +2 -2
  83. package/dist/cjs/z-notification.cjs.entry.js.map +1 -1
  84. package/dist/cjs/z-otp.cjs.entry.js +4 -4
  85. package/dist/cjs/z-otp.cjs.entry.js.map +1 -1
  86. package/dist/cjs/z-pagination.cjs.entry.js +2 -2
  87. package/dist/cjs/z-pagination.cjs.entry.js.map +1 -1
  88. package/dist/cjs/z-panel-elem.cjs.entry.js +2 -2
  89. package/dist/cjs/z-popover.cjs.entry.js +2 -2
  90. package/dist/cjs/z-range-picker.cjs.entry.js +5 -5
  91. package/dist/cjs/z-section-title.cjs.entry.js +2 -2
  92. package/dist/cjs/z-select.cjs.entry.js +5 -5
  93. package/dist/cjs/z-select.cjs.entry.js.map +1 -1
  94. package/dist/cjs/z-skip-to-content.cjs.entry.js +3 -3
  95. package/dist/cjs/z-slideshow.cjs.entry.js +2 -2
  96. package/dist/cjs/z-stepper-item.cjs.entry.js +2 -2
  97. package/dist/cjs/z-stepper-item.cjs.entry.js.map +1 -1
  98. package/dist/cjs/z-stepper.cjs.entry.js +2 -2
  99. package/dist/cjs/z-stepper.cjs.entry.js.map +1 -1
  100. package/dist/cjs/z-table.cjs.entry.js +9 -9
  101. package/dist/cjs/z-tbody.cjs.entry.js +1 -1
  102. package/dist/cjs/z-td.cjs.entry.js +2 -2
  103. package/dist/cjs/z-tfoot.cjs.entry.js +1 -1
  104. package/dist/cjs/z-th.cjs.entry.js +2 -2
  105. package/dist/cjs/z-thead.cjs.entry.js +1 -1
  106. package/dist/cjs/z-toast-notification-list.cjs.entry.js +2 -2
  107. package/dist/cjs/z-toast-notification.cjs.entry.js +3 -3
  108. package/dist/cjs/z-toast-notification.cjs.entry.js.map +1 -1
  109. package/dist/cjs/z-toggle-button.cjs.entry.js +3 -3
  110. package/dist/cjs/z-toggle-button.cjs.entry.js.map +1 -1
  111. package/dist/cjs/z-toggle-switch.cjs.entry.js +5 -5
  112. package/dist/cjs/z-tooltip.cjs.entry.js +2 -2
  113. package/dist/cjs/z-tr.cjs.entry.js +5 -5
  114. package/dist/cjs/z-visually-hidden.cjs.entry.js +1 -1
  115. package/dist/collection/beans/index.js +0 -5
  116. package/dist/collection/beans/index.js.map +1 -1
  117. package/dist/collection/collection-manifest.json +1 -1
  118. package/dist/collection/components/book-card/z-book-card/index.js +72 -267
  119. package/dist/collection/components/book-card/z-book-card/index.js.map +1 -1
  120. package/dist/collection/components/book-card/z-book-card/index.stories.js +100 -106
  121. package/dist/collection/components/book-card/z-book-card/index.stories.js.map +1 -1
  122. package/dist/collection/components/book-card/z-book-card/styles.css +76 -140
  123. package/dist/collection/components/book-card/z-book-card-app/index.js +1 -1
  124. package/dist/collection/components/css-components/z-scrollbar/index.stories.js +2 -2
  125. package/dist/collection/components/css-components/z-scrollbar/index.stories.js.map +1 -1
  126. package/dist/collection/components/date-picker/z-date-picker/index.js +1 -1
  127. package/dist/collection/components/date-picker/z-range-picker/index.js +3 -3
  128. package/dist/collection/components/deprecated/z-app-header-deprecated/index.js +1 -1
  129. package/dist/collection/components/deprecated/z-book-card-deprecated/index.js +1 -1
  130. package/dist/collection/components/deprecated/z-book-card-deprecated/index.stories.js +1 -14
  131. package/dist/collection/components/deprecated/z-book-card-deprecated/index.stories.js.map +1 -1
  132. package/dist/collection/components/deprecated/z-menu-deprecated/index.js +1 -1
  133. package/dist/collection/components/deprecated/z-menu-section-deprecated/index.js +1 -1
  134. package/dist/collection/components/file-upload/z-dragdrop-area/index.js +2 -2
  135. package/dist/collection/components/file-upload/z-file/index.js +1 -1
  136. package/dist/collection/components/list/z-list/index.js +1 -1
  137. package/dist/collection/components/list/z-list-element/index.js +1 -1
  138. package/dist/collection/components/list/z-list-element/styles.css +6 -5
  139. package/dist/collection/components/list/z-list-group/index.js +2 -2
  140. package/dist/collection/components/table/cells/z-td/index.js +1 -1
  141. package/dist/collection/components/table/cells/z-th/index.js +1 -1
  142. package/dist/collection/components/table/z-table/index.js +1 -1
  143. package/dist/collection/components/table/z-tbody/index.js +1 -1
  144. package/dist/collection/components/table/z-tfoot/index.js +1 -1
  145. package/dist/collection/components/table/z-thead/index.js +1 -1
  146. package/dist/collection/components/table/z-tr/index.js +1 -1
  147. package/dist/collection/components/z-accordion/index.js +1 -1
  148. package/dist/collection/components/z-accordion/styles.css +1 -1
  149. package/dist/collection/components/z-anchor-navigation/index.js +1 -1
  150. package/dist/collection/components/z-anchor-navigation/styles.css +3 -2
  151. package/dist/collection/components/z-app-header/index.js +1 -1
  152. package/dist/collection/components/z-app-header/styles.css +1 -1
  153. package/dist/collection/components/z-aria-alert/index.js +1 -1
  154. package/dist/collection/components/z-avatar/index.js +2 -2
  155. package/dist/collection/components/z-breadcrumb/index.js +10 -4
  156. package/dist/collection/components/z-breadcrumb/index.js.map +1 -1
  157. package/dist/collection/components/z-breadcrumb/index.stories.js +1 -1
  158. package/dist/collection/components/z-breadcrumb/index.stories.js.map +1 -1
  159. package/dist/collection/components/z-breadcrumb/styles.css +3 -0
  160. package/dist/collection/components/z-button-sort/index.js +1 -1
  161. package/dist/collection/components/z-button-sort/styles.css +5 -5
  162. package/dist/collection/components/z-card/index.stories.js +2 -2
  163. package/dist/collection/components/z-card/index.stories.js.map +1 -1
  164. package/dist/collection/components/z-card/styles.css +1 -2
  165. package/dist/collection/components/z-carousel/index.js +2 -2
  166. package/dist/collection/components/z-carousel/index.js.map +1 -1
  167. package/dist/collection/components/z-chip/index.js +2 -2
  168. package/dist/collection/components/z-chip/styles.css +4 -8
  169. package/dist/collection/components/z-combobox/index.js +3 -3
  170. package/dist/collection/components/z-combobox/index.js.map +1 -1
  171. package/dist/collection/components/z-combobox/styles.css +35 -18
  172. package/dist/collection/components/z-cover-hero/index.js +2 -2
  173. package/dist/collection/components/z-divider/index.js +1 -1
  174. package/dist/collection/components/z-ghost-loading/index.js +1 -1
  175. package/dist/collection/components/z-ghost-loading/styles.css +3 -3
  176. package/dist/collection/components/z-icon/index.js +1 -1
  177. package/dist/collection/components/z-info-box/index.js +1 -1
  178. package/dist/collection/components/z-info-reveal/index.js +1 -1
  179. package/dist/collection/components/z-input/index.js +1 -1
  180. package/dist/collection/components/z-input/styles.css +9 -6
  181. package/dist/collection/components/z-input-message/index.js +1 -1
  182. package/dist/collection/components/z-input-message/styles.css +1 -1
  183. package/dist/collection/components/z-logo/index.js +1 -1
  184. package/dist/collection/components/z-menu/styles.css +1 -1
  185. package/dist/collection/components/z-menu-section/index.js +4 -1
  186. package/dist/collection/components/z-menu-section/index.js.map +1 -1
  187. package/dist/collection/components/z-modal/index.js +7 -7
  188. package/dist/collection/components/z-modal/index.js.map +1 -1
  189. package/dist/collection/components/z-modal/index.stories.js +1 -1
  190. package/dist/collection/components/z-modal/index.stories.js.map +1 -1
  191. package/dist/collection/components/z-modal/styles.css +5 -6
  192. package/dist/collection/components/z-navigation-tabs/index.js +2 -2
  193. package/dist/collection/components/z-navigation-tabs/styles.css +1 -1
  194. package/dist/collection/components/z-notification/index.js +1 -1
  195. package/dist/collection/components/z-notification/styles.css +6 -6
  196. package/dist/collection/components/z-offcanvas/index.js +1 -1
  197. package/dist/collection/components/z-pagination/styles.css +1 -1
  198. package/dist/collection/components/z-panel-elem/index.js +2 -2
  199. package/dist/collection/components/z-popover/index.js +1 -1
  200. package/dist/collection/components/z-popover/index.stories.js +2 -1
  201. package/dist/collection/components/z-popover/index.stories.js.map +1 -1
  202. package/dist/collection/components/z-searchbar/index.js +1 -1
  203. package/dist/collection/components/z-section-title/index.js +1 -1
  204. package/dist/collection/components/z-select/index.js +2 -2
  205. package/dist/collection/components/z-select/index.js.map +1 -1
  206. package/dist/collection/components/z-select/styles.css +14 -8
  207. package/dist/collection/components/z-skip-to-content/index.js +1 -1
  208. package/dist/collection/components/z-stepper/index.js +1 -1
  209. package/dist/collection/components/z-stepper/index.stories.js +42 -12
  210. package/dist/collection/components/z-stepper/index.stories.js.map +1 -1
  211. package/dist/collection/components/z-stepper/styles.css +1 -1
  212. package/dist/collection/components/z-stepper-item/index.js +1 -1
  213. package/dist/collection/components/z-stepper-item/styles.css +6 -6
  214. package/dist/collection/components/z-tag/index.js +2 -2
  215. package/dist/collection/components/z-toast-notification/index.js +1 -1
  216. package/dist/collection/components/z-toast-notification/styles.css +5 -5
  217. package/dist/collection/components/z-toast-notification-list/index.js +1 -1
  218. package/dist/collection/components/z-toggle-button/index.js +2 -2
  219. package/dist/collection/components/z-toggle-button/styles.css +1 -1
  220. package/dist/collection/components/z-toggle-switch/index.js +3 -3
  221. package/dist/collection/components/z-tooltip/index.js +1 -1
  222. package/dist/collection/components/z-visually-hidden/index.js +1 -1
  223. package/dist/collection/snowflakes/myz/card/z-myz-card/index.js +1 -1
  224. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.js +1 -1
  225. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/styles.css +2 -2
  226. package/dist/collection/snowflakes/myz/card/z-myz-card-body/index.js +1 -1
  227. package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.js +1 -1
  228. package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.js +1 -1
  229. package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.js +1 -1
  230. package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.js +1 -1
  231. package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.js +1 -1
  232. package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.js +1 -1
  233. package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.js +1 -1
  234. package/dist/collection/snowflakes/myz/card/z-myz-card-info/styles.css +1 -1
  235. package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.js +1 -1
  236. package/dist/collection/snowflakes/myz/list/z-myz-list/index.js +1 -1
  237. package/dist/collection/snowflakes/myz/list/z-myz-list-item/index.js +1 -1
  238. package/dist/collection/snowflakes/myz/z-alert/index.js +1 -1
  239. package/dist/collection/snowflakes/myz/z-alert/styles.css +6 -6
  240. package/dist/collection/snowflakes/myz/z-otp/index.js +2 -2
  241. package/dist/collection/snowflakes/myz/z-otp/styles.css +2 -2
  242. package/dist/components/index.js +1 -1
  243. package/dist/components/index10.js +1 -1
  244. package/dist/components/index11.js +2 -2
  245. package/dist/components/index11.js.map +1 -1
  246. package/dist/components/index12.js +2 -2
  247. package/dist/components/index12.js.map +1 -1
  248. package/dist/components/index13.js +1 -1
  249. package/dist/components/index14.js +2 -2
  250. package/dist/components/index14.js.map +1 -1
  251. package/dist/components/index15.js +2 -2
  252. package/dist/components/index16.js +5 -5
  253. package/dist/components/index16.js.map +1 -1
  254. package/dist/components/index17.js +1 -1
  255. package/dist/components/index18.js +1 -1
  256. package/dist/components/index19.js +1 -1
  257. package/dist/components/index2.js +1 -6
  258. package/dist/components/index2.js.map +1 -1
  259. package/dist/components/index20.js +1 -1
  260. package/dist/components/index21.js +1 -1
  261. package/dist/components/index22.js +1 -1
  262. package/dist/components/index23.js +1 -1
  263. package/dist/components/index24.js +1 -1
  264. package/dist/components/index25.js +2 -2
  265. package/dist/components/index3.js +2 -2
  266. package/dist/components/index3.js.map +1 -1
  267. package/dist/components/index5.js +3 -3
  268. package/dist/components/index5.js.map +1 -1
  269. package/dist/components/index6.js +1 -1
  270. package/dist/components/index7.js +2 -2
  271. package/dist/components/index8.js +2 -2
  272. package/dist/components/index8.js.map +1 -1
  273. package/dist/components/index9.js +1 -1
  274. package/dist/components/z-accordion.js +3 -3
  275. package/dist/components/z-accordion.js.map +1 -1
  276. package/dist/components/z-anchor-navigation.js +2 -2
  277. package/dist/components/z-anchor-navigation.js.map +1 -1
  278. package/dist/components/z-app-header-deprecated.js +1 -1
  279. package/dist/components/z-app-header.js +2 -2
  280. package/dist/components/z-app-header.js.map +1 -1
  281. package/dist/components/z-aria-alert.js +1 -1
  282. package/dist/components/z-avatar.js +2 -2
  283. package/dist/components/z-book-card-app.js +1 -1
  284. package/dist/components/z-book-card-deprecated.js +1 -1
  285. package/dist/components/z-book-card.js +53 -117
  286. package/dist/components/z-book-card.js.map +1 -1
  287. package/dist/components/z-breadcrumb.js +11 -5
  288. package/dist/components/z-breadcrumb.js.map +1 -1
  289. package/dist/components/z-button-sort.js +2 -2
  290. package/dist/components/z-button-sort.js.map +1 -1
  291. package/dist/components/z-card.js +1 -1
  292. package/dist/components/z-card.js.map +1 -1
  293. package/dist/components/z-carousel.js +2 -2
  294. package/dist/components/z-carousel.js.map +1 -1
  295. package/dist/components/z-combobox.js +16 -22
  296. package/dist/components/z-combobox.js.map +1 -1
  297. package/dist/components/z-cover-hero.js +2 -2
  298. package/dist/components/z-date-picker.js +1 -1
  299. package/dist/components/z-file.js +1 -1
  300. package/dist/components/z-info-box.js +1 -1
  301. package/dist/components/z-logo.js +1 -1
  302. package/dist/components/z-menu-deprecated.js +1 -1
  303. package/dist/components/z-menu-section-deprecated.js +1 -1
  304. package/dist/components/z-menu-section.js +4 -1
  305. package/dist/components/z-menu-section.js.map +1 -1
  306. package/dist/components/z-menu.js +1 -1
  307. package/dist/components/z-menu.js.map +1 -1
  308. package/dist/components/z-myz-card-alert.js +2 -2
  309. package/dist/components/z-myz-card-alert.js.map +1 -1
  310. package/dist/components/z-myz-card-dictionary.js +1 -1
  311. package/dist/components/z-myz-card-footer-sections.js +1 -1
  312. package/dist/components/z-myz-card-footer.js +1 -1
  313. package/dist/components/z-myz-card-icon.js +1 -1
  314. package/dist/components/z-myz-card-info.js +2 -2
  315. package/dist/components/z-myz-card-info.js.map +1 -1
  316. package/dist/components/z-myz-card-list.js +1 -1
  317. package/dist/components/z-myz-list.js +1 -1
  318. package/dist/components/z-navigation-tabs.js +3 -3
  319. package/dist/components/z-navigation-tabs.js.map +1 -1
  320. package/dist/components/z-notification.js +2 -2
  321. package/dist/components/z-notification.js.map +1 -1
  322. package/dist/components/z-otp.js +3 -3
  323. package/dist/components/z-otp.js.map +1 -1
  324. package/dist/components/z-pagination.js +1 -1
  325. package/dist/components/z-pagination.js.map +1 -1
  326. package/dist/components/z-panel-elem.js +2 -2
  327. package/dist/components/z-range-picker.js +3 -3
  328. package/dist/components/z-section-title.js +1 -1
  329. package/dist/components/z-select.js +3 -3
  330. package/dist/components/z-select.js.map +1 -1
  331. package/dist/components/z-skip-to-content.js +1 -1
  332. package/dist/components/z-stepper-item.js +2 -2
  333. package/dist/components/z-stepper-item.js.map +1 -1
  334. package/dist/components/z-stepper.js +2 -2
  335. package/dist/components/z-stepper.js.map +1 -1
  336. package/dist/components/z-table.js +1 -1
  337. package/dist/components/z-tbody.js +1 -1
  338. package/dist/components/z-td.js +1 -1
  339. package/dist/components/z-tfoot.js +1 -1
  340. package/dist/components/z-th.js +1 -1
  341. package/dist/components/z-thead.js +1 -1
  342. package/dist/components/z-toast-notification-list.js +1 -1
  343. package/dist/components/z-toast-notification.js +2 -2
  344. package/dist/components/z-toast-notification.js.map +1 -1
  345. package/dist/components/z-toggle-button.js +3 -3
  346. package/dist/components/z-toggle-button.js.map +1 -1
  347. package/dist/components/z-toggle-switch.js +3 -3
  348. package/dist/components/z-tooltip.js +1 -1
  349. package/dist/components/z-tr.js +1 -1
  350. package/dist/components/z-visually-hidden.js +1 -1
  351. package/dist/docs/themes/index.stories.js +7 -15
  352. package/dist/docs/themes/index.stories.js.map +1 -1
  353. package/dist/esm/{index-5dff449e.js → index-0ebe53c2.js} +2 -2
  354. package/dist/esm/{index-5dff449e.js.map → index-0ebe53c2.js.map} +1 -1
  355. package/dist/esm/{index-678ea09c.js → index-7ff7476c.js} +5 -5
  356. package/dist/esm/{index-678ea09c.js.map → index-7ff7476c.js.map} +1 -1
  357. package/dist/esm/{index-04335eea.js → index-8965837f.js} +2 -2
  358. package/dist/esm/{index-04335eea.js.map → index-8965837f.js.map} +1 -1
  359. package/dist/esm/{index-9adfcd0d.js → index-dfd97928.js} +2 -2
  360. package/dist/esm/{index-9adfcd0d.js.map → index-dfd97928.js.map} +1 -1
  361. package/dist/esm/{index-dac83244.js → index-f75609c5.js} +3 -3
  362. package/dist/esm/{index-dac83244.js.map → index-f75609c5.js.map} +1 -1
  363. package/dist/esm/{index-5c567adb.js → index-f87879d9.js} +3 -3
  364. package/dist/esm/{index-5c567adb.js.map → index-f87879d9.js.map} +1 -1
  365. package/dist/esm/{index-c9fd4a10.js → index-fe87283d.js} +2 -7
  366. package/dist/esm/index-fe87283d.js.map +1 -0
  367. package/dist/esm/index.js +2 -2
  368. package/dist/esm/loader.js +1 -1
  369. package/dist/esm/{utils-1a6a53d2.js → utils-ae56fbe5.js} +2 -2
  370. package/dist/esm/{utils-1a6a53d2.js.map → utils-ae56fbe5.js.map} +1 -1
  371. package/dist/esm/{utils-cd97a95b.js → utils-c7062cf7.js} +2 -2
  372. package/dist/esm/{utils-cd97a95b.js.map → utils-c7062cf7.js.map} +1 -1
  373. package/dist/esm/web-components-library.js +1 -1
  374. package/dist/esm/z-accordion.entry.js +3 -3
  375. package/dist/esm/z-accordion.entry.js.map +1 -1
  376. package/dist/esm/z-alert.entry.js +2 -2
  377. package/dist/esm/z-alert.entry.js.map +1 -1
  378. package/dist/esm/z-anchor-navigation.entry.js +3 -3
  379. package/dist/esm/z-anchor-navigation.entry.js.map +1 -1
  380. package/dist/esm/z-app-header-deprecated.entry.js +2 -2
  381. package/dist/esm/z-app-header_12.entry.js +19 -19
  382. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  383. package/dist/esm/z-aria-alert.entry.js +2 -2
  384. package/dist/esm/z-avatar.entry.js +3 -3
  385. package/dist/esm/z-book-card-app.entry.js +2 -2
  386. package/dist/esm/z-book-card-deprecated.entry.js +3 -3
  387. package/dist/esm/z-book-card.entry.js +45 -91
  388. package/dist/esm/z-book-card.entry.js.map +1 -1
  389. package/dist/esm/z-breadcrumb.entry.js +13 -7
  390. package/dist/esm/z-breadcrumb.entry.js.map +1 -1
  391. package/dist/esm/z-button-sort.entry.js +2 -2
  392. package/dist/esm/z-button-sort.entry.js.map +1 -1
  393. package/dist/esm/z-card.entry.js +2 -2
  394. package/dist/esm/z-card.entry.js.map +1 -1
  395. package/dist/esm/z-carousel.entry.js +3 -3
  396. package/dist/esm/z-carousel.entry.js.map +1 -1
  397. package/dist/esm/z-chip.entry.js +4 -4
  398. package/dist/esm/z-chip.entry.js.map +1 -1
  399. package/dist/esm/z-combobox.entry.js +6 -6
  400. package/dist/esm/z-combobox.entry.js.map +1 -1
  401. package/dist/esm/z-cover-hero.entry.js +3 -3
  402. package/dist/esm/z-date-picker.entry.js +3 -3
  403. package/dist/esm/z-dragdrop-area_2.entry.js +8 -8
  404. package/dist/esm/z-dragdrop-area_2.entry.js.map +1 -1
  405. package/dist/esm/z-file-upload.entry.js +1 -1
  406. package/dist/esm/z-file.entry.js +2 -2
  407. package/dist/esm/z-ghost-loading.entry.js +2 -2
  408. package/dist/esm/z-ghost-loading.entry.js.map +1 -1
  409. package/dist/esm/z-info-box.entry.js +1 -1
  410. package/dist/esm/z-info-reveal.entry.js +2 -2
  411. package/dist/esm/z-logo.entry.js +1 -1
  412. package/dist/esm/z-menu-deprecated.entry.js +1 -1
  413. package/dist/esm/z-menu-section-deprecated.entry.js +1 -1
  414. package/dist/esm/z-menu-section.entry.js +5 -2
  415. package/dist/esm/z-menu-section.entry.js.map +1 -1
  416. package/dist/esm/z-menu.entry.js +3 -3
  417. package/dist/esm/z-menu.entry.js.map +1 -1
  418. package/dist/esm/z-myz-card-alert.entry.js +3 -3
  419. package/dist/esm/z-myz-card-alert.entry.js.map +1 -1
  420. package/dist/esm/z-myz-card-dictionary.entry.js +2 -2
  421. package/dist/esm/z-myz-card-footer-sections.entry.js +1 -1
  422. package/dist/esm/z-myz-card-footer.entry.js +2 -2
  423. package/dist/esm/z-myz-card-icon.entry.js +1 -1
  424. package/dist/esm/z-myz-card-info.entry.js +4 -4
  425. package/dist/esm/z-myz-card-info.entry.js.map +1 -1
  426. package/dist/esm/z-myz-card-list.entry.js +1 -1
  427. package/dist/esm/z-myz-card_4.entry.js +5 -5
  428. package/dist/esm/z-myz-list-item.entry.js +3 -3
  429. package/dist/esm/z-myz-list.entry.js +1 -1
  430. package/dist/esm/z-navigation-tabs.entry.js +4 -4
  431. package/dist/esm/z-navigation-tabs.entry.js.map +1 -1
  432. package/dist/esm/z-notification.entry.js +2 -2
  433. package/dist/esm/z-notification.entry.js.map +1 -1
  434. package/dist/esm/z-otp.entry.js +4 -4
  435. package/dist/esm/z-otp.entry.js.map +1 -1
  436. package/dist/esm/z-pagination.entry.js +2 -2
  437. package/dist/esm/z-pagination.entry.js.map +1 -1
  438. package/dist/esm/z-panel-elem.entry.js +2 -2
  439. package/dist/esm/z-popover.entry.js +2 -2
  440. package/dist/esm/z-range-picker.entry.js +5 -5
  441. package/dist/esm/z-section-title.entry.js +2 -2
  442. package/dist/esm/z-select.entry.js +5 -5
  443. package/dist/esm/z-select.entry.js.map +1 -1
  444. package/dist/esm/z-skip-to-content.entry.js +3 -3
  445. package/dist/esm/z-slideshow.entry.js +2 -2
  446. package/dist/esm/z-stepper-item.entry.js +2 -2
  447. package/dist/esm/z-stepper-item.entry.js.map +1 -1
  448. package/dist/esm/z-stepper.entry.js +2 -2
  449. package/dist/esm/z-stepper.entry.js.map +1 -1
  450. package/dist/esm/z-table.entry.js +9 -9
  451. package/dist/esm/z-tbody.entry.js +1 -1
  452. package/dist/esm/z-td.entry.js +2 -2
  453. package/dist/esm/z-tfoot.entry.js +1 -1
  454. package/dist/esm/z-th.entry.js +2 -2
  455. package/dist/esm/z-thead.entry.js +1 -1
  456. package/dist/esm/z-toast-notification-list.entry.js +2 -2
  457. package/dist/esm/z-toast-notification.entry.js +3 -3
  458. package/dist/esm/z-toast-notification.entry.js.map +1 -1
  459. package/dist/esm/z-toggle-button.entry.js +3 -3
  460. package/dist/esm/z-toggle-button.entry.js.map +1 -1
  461. package/dist/esm/z-toggle-switch.entry.js +5 -5
  462. package/dist/esm/z-tooltip.entry.js +2 -2
  463. package/dist/esm/z-tr.entry.js +5 -5
  464. package/dist/esm/z-visually-hidden.entry.js +1 -1
  465. package/dist/types/beans/index.d.ts +0 -12
  466. package/dist/types/components/book-card/z-book-card/index.d.ts +28 -42
  467. package/dist/types/components/book-card/z-book-card/index.stories.d.ts +35 -32
  468. package/dist/types/components/css-components/z-scrollbar/index.stories.d.ts +1 -1
  469. package/dist/types/components/deprecated/z-book-card-deprecated/index.stories.d.ts +1 -10
  470. package/dist/types/components/z-breadcrumb/index.stories.d.ts +1 -1
  471. package/dist/types/components/z-card/index.stories.d.ts +1 -1
  472. package/dist/types/components/z-modal/index.d.ts +3 -3
  473. package/dist/types/components/z-popover/index.stories.d.ts +5 -2
  474. package/dist/types/components/z-stepper/index.stories.d.ts +3 -0
  475. package/dist/types/components.d.ts +57 -76
  476. package/dist/types/home/runner/work/design-system/design-system/.stencil/docs/themes/index.stories.d.ts +1 -12
  477. package/dist/web-components-library/index.esm.js +1 -1
  478. package/dist/web-components-library/index.esm.js.map +1 -1
  479. package/{www/build/p-b22d3c7d.js → dist/web-components-library/p-00e88046.js} +2 -2
  480. package/dist/web-components-library/{p-7ef2c4ce.entry.js → p-0bf8d989.entry.js} +2 -2
  481. package/dist/web-components-library/{p-7b375bca.js → p-0cb113f9.js} +2 -2
  482. package/{www/build/p-c3c99202.js → dist/web-components-library/p-0d9f1574.js} +2 -2
  483. package/dist/web-components-library/{p-fca17517.entry.js → p-121f2960.entry.js} +2 -2
  484. package/dist/web-components-library/p-1bbf185c.js +2 -0
  485. package/dist/web-components-library/{p-7f0cbe57.entry.js → p-1c51153b.entry.js} +2 -2
  486. package/{www/build/p-5b6dd467.entry.js → dist/web-components-library/p-1cbc1b08.entry.js} +2 -2
  487. package/dist/web-components-library/{p-c7f8b628.entry.js → p-1e25d225.entry.js} +2 -2
  488. package/dist/web-components-library/p-1ece11f1.entry.js +2 -0
  489. package/dist/web-components-library/p-1ece11f1.entry.js.map +1 -0
  490. package/dist/web-components-library/{p-2dde9b84.entry.js → p-2467913e.entry.js} +2 -2
  491. package/{www/build/p-2dde9b84.entry.js.map → dist/web-components-library/p-2467913e.entry.js.map} +1 -1
  492. package/dist/web-components-library/{p-ad74941b.entry.js → p-25be56d1.entry.js} +2 -2
  493. package/dist/web-components-library/p-28c972c6.entry.js +2 -0
  494. package/dist/web-components-library/{p-6f5f2d56.entry.js → p-29414fa3.entry.js} +2 -2
  495. package/{www/build/p-6f5f2d56.entry.js.map → dist/web-components-library/p-29414fa3.entry.js.map} +1 -1
  496. package/dist/web-components-library/p-301b56f1.entry.js +2 -0
  497. package/dist/web-components-library/p-301b56f1.entry.js.map +1 -0
  498. package/dist/web-components-library/p-30677b5c.entry.js +2 -0
  499. package/dist/web-components-library/p-30677b5c.entry.js.map +1 -0
  500. package/dist/web-components-library/p-32c1e2fa.entry.js +2 -0
  501. package/dist/web-components-library/p-32c1e2fa.entry.js.map +1 -0
  502. package/{www/build/p-31c5b39d.entry.js → dist/web-components-library/p-37a34984.entry.js} +2 -2
  503. package/dist/web-components-library/{p-195c19a5.entry.js → p-390bbfd4.entry.js} +2 -2
  504. package/dist/web-components-library/p-3a42612f.entry.js +2 -0
  505. package/dist/web-components-library/{p-4f33d4f4.entry.js → p-3d8cdd34.entry.js} +2 -2
  506. package/dist/web-components-library/p-431f5871.js +2 -0
  507. package/{www/build/p-6230c432.entry.js → dist/web-components-library/p-4de706ad.entry.js} +2 -2
  508. package/dist/web-components-library/{p-f49171aa.entry.js → p-53a2995c.entry.js} +2 -2
  509. package/dist/web-components-library/{p-22d56699.entry.js → p-55fad9b1.entry.js} +2 -2
  510. package/{www/build/p-c7df6a63.entry.js → dist/web-components-library/p-5a24e268.entry.js} +2 -2
  511. package/dist/web-components-library/{p-0a149188.entry.js → p-5d7bbd82.entry.js} +2 -2
  512. package/dist/web-components-library/{p-42559870.entry.js → p-5ed87dec.entry.js} +2 -2
  513. package/dist/web-components-library/p-61a83529.entry.js +2 -0
  514. package/dist/web-components-library/{p-9187ce36.entry.js → p-6655e19b.entry.js} +2 -2
  515. package/dist/web-components-library/{p-bbdb67db.entry.js → p-7314c74b.entry.js} +2 -2
  516. package/dist/web-components-library/p-7b13eeff.entry.js +2 -0
  517. package/dist/web-components-library/p-7b13eeff.entry.js.map +1 -0
  518. package/dist/web-components-library/p-7ce5ca87.entry.js +2 -0
  519. package/dist/web-components-library/p-7df942c9.entry.js +2 -0
  520. package/dist/web-components-library/p-7df942c9.entry.js.map +1 -0
  521. package/dist/web-components-library/p-7ecc3acf.entry.js +2 -0
  522. package/dist/web-components-library/p-7ecc3acf.entry.js.map +1 -0
  523. package/{www/build/p-c2af9a71.entry.js → dist/web-components-library/p-816fd6dc.entry.js} +2 -2
  524. package/dist/web-components-library/p-838b298b.entry.js +2 -0
  525. package/dist/web-components-library/p-838b298b.entry.js.map +1 -0
  526. package/dist/web-components-library/{p-2dcf53b3.entry.js → p-8c5dcab3.entry.js} +2 -2
  527. package/dist/web-components-library/p-8d043fc0.entry.js +7 -0
  528. package/dist/web-components-library/{p-2c5f77f2.entry.js.map → p-8d043fc0.entry.js.map} +1 -1
  529. package/dist/web-components-library/p-8eb94125.entry.js +2 -0
  530. package/{www/build/p-8e544914.entry.js.map → dist/web-components-library/p-8eb94125.entry.js.map} +1 -1
  531. package/dist/web-components-library/{p-d29f9574.entry.js → p-8fa23b47.entry.js} +2 -2
  532. package/{www/build/p-d29f9574.entry.js.map → dist/web-components-library/p-8fa23b47.entry.js.map} +1 -1
  533. package/dist/web-components-library/p-8fdf9453.entry.js +2 -0
  534. package/dist/web-components-library/{p-3243015c.entry.js.map → p-8fdf9453.entry.js.map} +1 -1
  535. package/{www/build/p-29a297ed.entry.js → dist/web-components-library/p-996446e2.entry.js} +2 -2
  536. package/dist/web-components-library/p-996446e2.entry.js.map +1 -0
  537. package/{www/build/p-96be6eae.entry.js → dist/web-components-library/p-99a6c92f.entry.js} +2 -2
  538. package/dist/web-components-library/{p-cdc51108.entry.js → p-9b2e5033.entry.js} +3 -3
  539. package/dist/web-components-library/p-9bad1dbc.entry.js +2 -0
  540. package/dist/web-components-library/p-9bad1dbc.entry.js.map +1 -0
  541. package/dist/web-components-library/{p-6337614a.entry.js → p-9fcc8e5d.entry.js} +2 -2
  542. package/{www/build/p-6337614a.entry.js.map → dist/web-components-library/p-9fcc8e5d.entry.js.map} +1 -1
  543. package/dist/web-components-library/p-aaab7f44.entry.js +2 -0
  544. package/dist/web-components-library/p-abc08ea3.entry.js +2 -0
  545. package/{www/build/p-475a2ba2.entry.js → dist/web-components-library/p-abd3b914.entry.js} +2 -2
  546. package/dist/web-components-library/p-acee5500.entry.js +2 -0
  547. package/dist/web-components-library/{p-0d60cc5e.entry.js → p-adb5caab.entry.js} +2 -2
  548. package/{www/build/p-0d60cc5e.entry.js.map → dist/web-components-library/p-adb5caab.entry.js.map} +1 -1
  549. package/dist/web-components-library/{p-f9fb6005.entry.js → p-ae1b5e23.entry.js} +2 -2
  550. package/{www/build/p-cc775eee.entry.js → dist/web-components-library/p-b1cbb20d.entry.js} +2 -2
  551. package/dist/web-components-library/p-b4018dab.entry.js +2 -0
  552. package/dist/web-components-library/p-b4018dab.entry.js.map +1 -0
  553. package/dist/web-components-library/{p-7091a1fc.entry.js → p-b94e0513.entry.js} +2 -2
  554. package/dist/web-components-library/{p-a1b6184f.js → p-bc408f39.js} +2 -2
  555. package/dist/web-components-library/p-bc71a934.entry.js +2 -0
  556. package/dist/web-components-library/p-bc71a934.entry.js.map +1 -0
  557. package/dist/web-components-library/p-bd44674f.entry.js +2 -0
  558. package/dist/web-components-library/p-bd44674f.entry.js.map +1 -0
  559. package/dist/web-components-library/p-cfbef2c3.entry.js +2 -0
  560. package/dist/web-components-library/p-d20df54b.entry.js +2 -0
  561. package/dist/web-components-library/p-d20df54b.entry.js.map +1 -0
  562. package/{www/build/p-bd5b0bce.entry.js → dist/web-components-library/p-d8d7db0e.entry.js} +2 -2
  563. package/dist/web-components-library/{p-30170218.entry.js → p-d9fdc804.entry.js} +2 -2
  564. package/{www/build/p-8e6760d9.entry.js → dist/web-components-library/p-df97df54.entry.js} +2 -2
  565. package/dist/web-components-library/p-df9f25a1.entry.js +2 -0
  566. package/dist/web-components-library/p-df9f25a1.entry.js.map +1 -0
  567. package/dist/web-components-library/p-dfcf9936.js +2 -0
  568. package/dist/web-components-library/p-dfcf9936.js.map +1 -0
  569. package/dist/web-components-library/p-e5ce98e0.entry.js +2 -0
  570. package/dist/web-components-library/p-e5ce98e0.entry.js.map +1 -0
  571. package/dist/web-components-library/p-ec8f8ac8.entry.js +2 -0
  572. package/dist/web-components-library/p-ec8f8ac8.entry.js.map +1 -0
  573. package/dist/web-components-library/{p-e087f05f.js → p-f3145212.js} +2 -2
  574. package/dist/web-components-library/p-f73d8a87.entry.js +2 -0
  575. package/dist/web-components-library/p-f73d8a87.entry.js.map +1 -0
  576. package/dist/web-components-library/{p-4c462e7f.js → p-f7f2beae.js} +2 -2
  577. package/dist/web-components-library/p-f8d49a59.entry.js +2 -0
  578. package/dist/web-components-library/p-f9f98130.entry.js +2 -0
  579. package/dist/web-components-library/p-f9f98130.entry.js.map +1 -0
  580. package/dist/web-components-library/p-fad6ea09.entry.js +2 -0
  581. package/dist/web-components-library/p-fad6ea09.entry.js.map +1 -0
  582. package/dist/web-components-library/web-components-library.css +142 -175
  583. package/dist/web-components-library/web-components-library.esm.js +1 -1
  584. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  585. package/package.json +2 -1
  586. package/www/build/index.esm.js +1 -1
  587. package/www/build/index.esm.js.map +1 -1
  588. package/{dist/web-components-library/p-b22d3c7d.js → www/build/p-00e88046.js} +2 -2
  589. package/www/build/{p-7ef2c4ce.entry.js → p-0bf8d989.entry.js} +2 -2
  590. package/www/build/{p-7b375bca.js → p-0cb113f9.js} +2 -2
  591. package/{dist/web-components-library/p-c3c99202.js → www/build/p-0d9f1574.js} +2 -2
  592. package/www/build/{p-fca17517.entry.js → p-121f2960.entry.js} +2 -2
  593. package/www/build/p-1bbf185c.js +2 -0
  594. package/www/build/{p-7f0cbe57.entry.js → p-1c51153b.entry.js} +2 -2
  595. package/{dist/web-components-library/p-5b6dd467.entry.js → www/build/p-1cbc1b08.entry.js} +2 -2
  596. package/www/build/{p-c7f8b628.entry.js → p-1e25d225.entry.js} +2 -2
  597. package/www/build/p-1ece11f1.entry.js +2 -0
  598. package/www/build/p-1ece11f1.entry.js.map +1 -0
  599. package/www/build/{p-2dde9b84.entry.js → p-2467913e.entry.js} +2 -2
  600. package/{dist/web-components-library/p-2dde9b84.entry.js.map → www/build/p-2467913e.entry.js.map} +1 -1
  601. package/www/build/{p-ad74941b.entry.js → p-25be56d1.entry.js} +2 -2
  602. package/www/build/p-28c972c6.entry.js +2 -0
  603. package/www/build/{p-6f5f2d56.entry.js → p-29414fa3.entry.js} +2 -2
  604. package/{dist/web-components-library/p-6f5f2d56.entry.js.map → www/build/p-29414fa3.entry.js.map} +1 -1
  605. package/www/build/p-301b56f1.entry.js +2 -0
  606. package/www/build/p-301b56f1.entry.js.map +1 -0
  607. package/www/build/p-30677b5c.entry.js +2 -0
  608. package/www/build/p-30677b5c.entry.js.map +1 -0
  609. package/www/build/p-32c1e2fa.entry.js +2 -0
  610. package/www/build/p-32c1e2fa.entry.js.map +1 -0
  611. package/www/build/p-3595114a.js +2 -0
  612. package/{dist/web-components-library/p-31c5b39d.entry.js → www/build/p-37a34984.entry.js} +2 -2
  613. package/www/build/{p-195c19a5.entry.js → p-390bbfd4.entry.js} +2 -2
  614. package/www/build/p-3a42612f.entry.js +2 -0
  615. package/www/build/{p-4f33d4f4.entry.js → p-3d8cdd34.entry.js} +2 -2
  616. package/www/build/p-431f5871.js +2 -0
  617. package/{dist/web-components-library/p-6230c432.entry.js → www/build/p-4de706ad.entry.js} +2 -2
  618. package/www/build/{p-f49171aa.entry.js → p-53a2995c.entry.js} +2 -2
  619. package/www/build/{p-22d56699.entry.js → p-55fad9b1.entry.js} +2 -2
  620. package/{dist/web-components-library/p-c7df6a63.entry.js → www/build/p-5a24e268.entry.js} +2 -2
  621. package/www/build/{p-0a149188.entry.js → p-5d7bbd82.entry.js} +2 -2
  622. package/www/build/{p-42559870.entry.js → p-5ed87dec.entry.js} +2 -2
  623. package/www/build/p-61a83529.entry.js +2 -0
  624. package/www/build/{p-9187ce36.entry.js → p-6655e19b.entry.js} +2 -2
  625. package/www/build/{p-bbdb67db.entry.js → p-7314c74b.entry.js} +2 -2
  626. package/www/build/p-7b13eeff.entry.js +2 -0
  627. package/www/build/p-7b13eeff.entry.js.map +1 -0
  628. package/www/build/p-7ce5ca87.entry.js +2 -0
  629. package/www/build/p-7df942c9.entry.js +2 -0
  630. package/www/build/p-7df942c9.entry.js.map +1 -0
  631. package/www/build/p-7ecc3acf.entry.js +2 -0
  632. package/www/build/p-7ecc3acf.entry.js.map +1 -0
  633. package/{dist/web-components-library/p-c2af9a71.entry.js → www/build/p-816fd6dc.entry.js} +2 -2
  634. package/www/build/p-838b298b.entry.js +2 -0
  635. package/www/build/p-838b298b.entry.js.map +1 -0
  636. package/www/build/{p-2dcf53b3.entry.js → p-8c5dcab3.entry.js} +2 -2
  637. package/www/build/p-8d043fc0.entry.js +7 -0
  638. package/www/build/{p-2c5f77f2.entry.js.map → p-8d043fc0.entry.js.map} +1 -1
  639. package/www/build/p-8eb94125.entry.js +2 -0
  640. package/{dist/web-components-library/p-8e544914.entry.js.map → www/build/p-8eb94125.entry.js.map} +1 -1
  641. package/www/build/{p-d29f9574.entry.js → p-8fa23b47.entry.js} +2 -2
  642. package/{dist/web-components-library/p-d29f9574.entry.js.map → www/build/p-8fa23b47.entry.js.map} +1 -1
  643. package/www/build/p-8fdf9453.entry.js +2 -0
  644. package/www/build/{p-3243015c.entry.js.map → p-8fdf9453.entry.js.map} +1 -1
  645. package/{dist/web-components-library/p-29a297ed.entry.js → www/build/p-996446e2.entry.js} +2 -2
  646. package/www/build/p-996446e2.entry.js.map +1 -0
  647. package/{dist/web-components-library/p-96be6eae.entry.js → www/build/p-99a6c92f.entry.js} +2 -2
  648. package/www/build/{p-cdc51108.entry.js → p-9b2e5033.entry.js} +3 -3
  649. package/www/build/p-9bad1dbc.entry.js +2 -0
  650. package/www/build/p-9bad1dbc.entry.js.map +1 -0
  651. package/www/build/{p-6337614a.entry.js → p-9fcc8e5d.entry.js} +2 -2
  652. package/{dist/web-components-library/p-6337614a.entry.js.map → www/build/p-9fcc8e5d.entry.js.map} +1 -1
  653. package/www/build/{p-5fcad73f.css → p-a69c66e4.css} +142 -175
  654. package/www/build/p-aaab7f44.entry.js +2 -0
  655. package/www/build/p-abc08ea3.entry.js +2 -0
  656. package/{dist/web-components-library/p-475a2ba2.entry.js → www/build/p-abd3b914.entry.js} +2 -2
  657. package/www/build/p-acee5500.entry.js +2 -0
  658. package/www/build/{p-0d60cc5e.entry.js → p-adb5caab.entry.js} +2 -2
  659. package/{dist/web-components-library/p-0d60cc5e.entry.js.map → www/build/p-adb5caab.entry.js.map} +1 -1
  660. package/www/build/{p-f9fb6005.entry.js → p-ae1b5e23.entry.js} +2 -2
  661. package/{dist/web-components-library/p-cc775eee.entry.js → www/build/p-b1cbb20d.entry.js} +2 -2
  662. package/www/build/p-b4018dab.entry.js +2 -0
  663. package/www/build/p-b4018dab.entry.js.map +1 -0
  664. package/www/build/{p-7091a1fc.entry.js → p-b94e0513.entry.js} +2 -2
  665. package/www/build/{p-a1b6184f.js → p-bc408f39.js} +2 -2
  666. package/www/build/p-bc71a934.entry.js +2 -0
  667. package/www/build/p-bc71a934.entry.js.map +1 -0
  668. package/www/build/p-bd44674f.entry.js +2 -0
  669. package/www/build/p-bd44674f.entry.js.map +1 -0
  670. package/www/build/p-cfbef2c3.entry.js +2 -0
  671. package/www/build/p-d20df54b.entry.js +2 -0
  672. package/www/build/p-d20df54b.entry.js.map +1 -0
  673. package/{dist/web-components-library/p-bd5b0bce.entry.js → www/build/p-d8d7db0e.entry.js} +2 -2
  674. package/www/build/{p-30170218.entry.js → p-d9fdc804.entry.js} +2 -2
  675. package/{dist/web-components-library/p-8e6760d9.entry.js → www/build/p-df97df54.entry.js} +2 -2
  676. package/www/build/p-df9f25a1.entry.js +2 -0
  677. package/www/build/p-df9f25a1.entry.js.map +1 -0
  678. package/www/build/p-dfcf9936.js +2 -0
  679. package/www/build/p-dfcf9936.js.map +1 -0
  680. package/www/build/p-e5ce98e0.entry.js +2 -0
  681. package/www/build/p-e5ce98e0.entry.js.map +1 -0
  682. package/www/build/p-ec8f8ac8.entry.js +2 -0
  683. package/www/build/p-ec8f8ac8.entry.js.map +1 -0
  684. package/www/build/{p-e087f05f.js → p-f3145212.js} +2 -2
  685. package/www/build/p-f73d8a87.entry.js +2 -0
  686. package/www/build/p-f73d8a87.entry.js.map +1 -0
  687. package/www/build/{p-4c462e7f.js → p-f7f2beae.js} +2 -2
  688. package/www/build/p-f8d49a59.entry.js +2 -0
  689. package/www/build/p-f9f98130.entry.js +2 -0
  690. package/www/build/p-f9f98130.entry.js.map +1 -0
  691. package/www/build/p-fad6ea09.entry.js +2 -0
  692. package/www/build/p-fad6ea09.entry.js.map +1 -0
  693. package/www/build/web-components-library.css +142 -175
  694. package/www/build/web-components-library.esm.js +1 -1
  695. package/www/build/web-components-library.esm.js.map +1 -1
  696. package/www/index.html +1 -1
  697. package/www/pages/book-cards.html +251 -250
  698. package/dist/cjs/index-a465bca8.js.map +0 -1
  699. package/dist/esm/index-c9fd4a10.js.map +0 -1
  700. package/dist/web-components-library/p-011fa0c8.entry.js +0 -2
  701. package/dist/web-components-library/p-011fa0c8.entry.js.map +0 -1
  702. package/dist/web-components-library/p-035807e3.entry.js +0 -2
  703. package/dist/web-components-library/p-035807e3.entry.js.map +0 -1
  704. package/dist/web-components-library/p-08d8f935.entry.js +0 -2
  705. package/dist/web-components-library/p-0e3ec0b2.entry.js +0 -2
  706. package/dist/web-components-library/p-0e3ec0b2.entry.js.map +0 -1
  707. package/dist/web-components-library/p-0fce007b.entry.js +0 -2
  708. package/dist/web-components-library/p-20e4a601.entry.js +0 -2
  709. package/dist/web-components-library/p-20e4a601.entry.js.map +0 -1
  710. package/dist/web-components-library/p-29a297ed.entry.js.map +0 -1
  711. package/dist/web-components-library/p-2aeb2a94.entry.js +0 -2
  712. package/dist/web-components-library/p-2b309f57.js +0 -2
  713. package/dist/web-components-library/p-2b309f57.js.map +0 -1
  714. package/dist/web-components-library/p-2c5f77f2.entry.js +0 -7
  715. package/dist/web-components-library/p-3243015c.entry.js +0 -2
  716. package/dist/web-components-library/p-384baa02.entry.js +0 -2
  717. package/dist/web-components-library/p-384baa02.entry.js.map +0 -1
  718. package/dist/web-components-library/p-3a6f069c.entry.js +0 -2
  719. package/dist/web-components-library/p-3a6f069c.entry.js.map +0 -1
  720. package/dist/web-components-library/p-4df7de6b.entry.js +0 -2
  721. package/dist/web-components-library/p-4df7de6b.entry.js.map +0 -1
  722. package/dist/web-components-library/p-5f04d9eb.entry.js +0 -2
  723. package/dist/web-components-library/p-5f04d9eb.entry.js.map +0 -1
  724. package/dist/web-components-library/p-6e1ba2f0.entry.js +0 -2
  725. package/dist/web-components-library/p-7095262b.entry.js +0 -2
  726. package/dist/web-components-library/p-7095262b.entry.js.map +0 -1
  727. package/dist/web-components-library/p-7779ebce.entry.js +0 -2
  728. package/dist/web-components-library/p-78626225.entry.js +0 -2
  729. package/dist/web-components-library/p-78626225.entry.js.map +0 -1
  730. package/dist/web-components-library/p-898fcd66.entry.js +0 -2
  731. package/dist/web-components-library/p-898fcd66.entry.js.map +0 -1
  732. package/dist/web-components-library/p-8e544914.entry.js +0 -2
  733. package/dist/web-components-library/p-9ec778dc.entry.js +0 -2
  734. package/dist/web-components-library/p-9ec778dc.entry.js.map +0 -1
  735. package/dist/web-components-library/p-a4ddeb5f.entry.js +0 -2
  736. package/dist/web-components-library/p-b38be247.entry.js +0 -2
  737. package/dist/web-components-library/p-b539c9be.entry.js +0 -2
  738. package/dist/web-components-library/p-b659f139.entry.js +0 -2
  739. package/dist/web-components-library/p-b659f139.entry.js.map +0 -1
  740. package/dist/web-components-library/p-b6de174b.entry.js +0 -2
  741. package/dist/web-components-library/p-b6de174b.entry.js.map +0 -1
  742. package/dist/web-components-library/p-b7cf2442.entry.js +0 -2
  743. package/dist/web-components-library/p-b7cf2442.entry.js.map +0 -1
  744. package/dist/web-components-library/p-bbd492d3.entry.js +0 -2
  745. package/dist/web-components-library/p-bbd492d3.entry.js.map +0 -1
  746. package/dist/web-components-library/p-c13ef624.js +0 -2
  747. package/dist/web-components-library/p-cb8aec27.entry.js +0 -2
  748. package/dist/web-components-library/p-dbcc4906.entry.js +0 -2
  749. package/dist/web-components-library/p-dbcc4906.entry.js.map +0 -1
  750. package/dist/web-components-library/p-ea36d666.entry.js +0 -2
  751. package/dist/web-components-library/p-ea36d666.entry.js.map +0 -1
  752. package/dist/web-components-library/p-fb06a5d8.entry.js +0 -2
  753. package/dist/web-components-library/p-fb06a5d8.entry.js.map +0 -1
  754. package/dist/web-components-library/p-feb84d36.js +0 -2
  755. package/www/build/p-011fa0c8.entry.js +0 -2
  756. package/www/build/p-011fa0c8.entry.js.map +0 -1
  757. package/www/build/p-035807e3.entry.js +0 -2
  758. package/www/build/p-035807e3.entry.js.map +0 -1
  759. package/www/build/p-08d8f935.entry.js +0 -2
  760. package/www/build/p-0e3ec0b2.entry.js +0 -2
  761. package/www/build/p-0e3ec0b2.entry.js.map +0 -1
  762. package/www/build/p-0fce007b.entry.js +0 -2
  763. package/www/build/p-20e4a601.entry.js +0 -2
  764. package/www/build/p-20e4a601.entry.js.map +0 -1
  765. package/www/build/p-29a297ed.entry.js.map +0 -1
  766. package/www/build/p-2aeb2a94.entry.js +0 -2
  767. package/www/build/p-2b309f57.js +0 -2
  768. package/www/build/p-2c5f77f2.entry.js +0 -7
  769. package/www/build/p-3243015c.entry.js +0 -2
  770. package/www/build/p-384baa02.entry.js +0 -2
  771. package/www/build/p-384baa02.entry.js.map +0 -1
  772. package/www/build/p-3a6f069c.entry.js +0 -2
  773. package/www/build/p-3a6f069c.entry.js.map +0 -1
  774. package/www/build/p-4df7de6b.entry.js +0 -2
  775. package/www/build/p-4df7de6b.entry.js.map +0 -1
  776. package/www/build/p-5f04d9eb.entry.js +0 -2
  777. package/www/build/p-5f04d9eb.entry.js.map +0 -1
  778. package/www/build/p-6e1ba2f0.entry.js +0 -2
  779. package/www/build/p-7095262b.entry.js +0 -2
  780. package/www/build/p-7095262b.entry.js.map +0 -1
  781. package/www/build/p-7779ebce.entry.js +0 -2
  782. package/www/build/p-78626225.entry.js +0 -2
  783. package/www/build/p-78626225.entry.js.map +0 -1
  784. package/www/build/p-898fcd66.entry.js +0 -2
  785. package/www/build/p-898fcd66.entry.js.map +0 -1
  786. package/www/build/p-8e544914.entry.js +0 -2
  787. package/www/build/p-9ec778dc.entry.js +0 -2
  788. package/www/build/p-9ec778dc.entry.js.map +0 -1
  789. package/www/build/p-a0155994.js +0 -2
  790. package/www/build/p-a4ddeb5f.entry.js +0 -2
  791. package/www/build/p-b38be247.entry.js +0 -2
  792. package/www/build/p-b539c9be.entry.js +0 -2
  793. package/www/build/p-b659f139.entry.js +0 -2
  794. package/www/build/p-b659f139.entry.js.map +0 -1
  795. package/www/build/p-b6de174b.entry.js +0 -2
  796. package/www/build/p-b6de174b.entry.js.map +0 -1
  797. package/www/build/p-b7cf2442.entry.js +0 -2
  798. package/www/build/p-b7cf2442.entry.js.map +0 -1
  799. package/www/build/p-bbd492d3.entry.js +0 -2
  800. package/www/build/p-bbd492d3.entry.js.map +0 -1
  801. package/www/build/p-c13ef624.js +0 -2
  802. package/www/build/p-cb8aec27.entry.js +0 -2
  803. package/www/build/p-dbcc4906.entry.js +0 -2
  804. package/www/build/p-dbcc4906.entry.js.map +0 -1
  805. package/www/build/p-ea36d666.entry.js +0 -2
  806. package/www/build/p-ea36d666.entry.js.map +0 -1
  807. package/www/build/p-fb06a5d8.entry.js +0 -2
  808. package/www/build/p-fb06a5d8.entry.js.map +0 -1
  809. package/www/build/p-feb84d36.js +0 -2
  810. /package/dist/web-components-library/{p-b22d3c7d.js.map → p-00e88046.js.map} +0 -0
  811. /package/dist/web-components-library/{p-7ef2c4ce.entry.js.map → p-0bf8d989.entry.js.map} +0 -0
  812. /package/dist/web-components-library/{p-7b375bca.js.map → p-0cb113f9.js.map} +0 -0
  813. /package/dist/web-components-library/{p-c3c99202.js.map → p-0d9f1574.js.map} +0 -0
  814. /package/dist/web-components-library/{p-fca17517.entry.js.map → p-121f2960.entry.js.map} +0 -0
  815. /package/dist/web-components-library/{p-c13ef624.js.map → p-1bbf185c.js.map} +0 -0
  816. /package/dist/web-components-library/{p-7f0cbe57.entry.js.map → p-1c51153b.entry.js.map} +0 -0
  817. /package/dist/web-components-library/{p-5b6dd467.entry.js.map → p-1cbc1b08.entry.js.map} +0 -0
  818. /package/dist/web-components-library/{p-c7f8b628.entry.js.map → p-1e25d225.entry.js.map} +0 -0
  819. /package/dist/web-components-library/{p-ad74941b.entry.js.map → p-25be56d1.entry.js.map} +0 -0
  820. /package/dist/web-components-library/{p-7779ebce.entry.js.map → p-28c972c6.entry.js.map} +0 -0
  821. /package/dist/web-components-library/{p-31c5b39d.entry.js.map → p-37a34984.entry.js.map} +0 -0
  822. /package/dist/web-components-library/{p-195c19a5.entry.js.map → p-390bbfd4.entry.js.map} +0 -0
  823. /package/dist/web-components-library/{p-0fce007b.entry.js.map → p-3a42612f.entry.js.map} +0 -0
  824. /package/dist/web-components-library/{p-4f33d4f4.entry.js.map → p-3d8cdd34.entry.js.map} +0 -0
  825. /package/dist/web-components-library/{p-feb84d36.js.map → p-431f5871.js.map} +0 -0
  826. /package/dist/web-components-library/{p-6230c432.entry.js.map → p-4de706ad.entry.js.map} +0 -0
  827. /package/dist/web-components-library/{p-f49171aa.entry.js.map → p-53a2995c.entry.js.map} +0 -0
  828. /package/dist/web-components-library/{p-22d56699.entry.js.map → p-55fad9b1.entry.js.map} +0 -0
  829. /package/dist/web-components-library/{p-c7df6a63.entry.js.map → p-5a24e268.entry.js.map} +0 -0
  830. /package/dist/web-components-library/{p-0a149188.entry.js.map → p-5d7bbd82.entry.js.map} +0 -0
  831. /package/dist/web-components-library/{p-42559870.entry.js.map → p-5ed87dec.entry.js.map} +0 -0
  832. /package/dist/web-components-library/{p-2aeb2a94.entry.js.map → p-61a83529.entry.js.map} +0 -0
  833. /package/dist/web-components-library/{p-9187ce36.entry.js.map → p-6655e19b.entry.js.map} +0 -0
  834. /package/dist/web-components-library/{p-bbdb67db.entry.js.map → p-7314c74b.entry.js.map} +0 -0
  835. /package/dist/web-components-library/{p-cb8aec27.entry.js.map → p-7ce5ca87.entry.js.map} +0 -0
  836. /package/dist/web-components-library/{p-c2af9a71.entry.js.map → p-816fd6dc.entry.js.map} +0 -0
  837. /package/dist/web-components-library/{p-2dcf53b3.entry.js.map → p-8c5dcab3.entry.js.map} +0 -0
  838. /package/dist/web-components-library/{p-96be6eae.entry.js.map → p-99a6c92f.entry.js.map} +0 -0
  839. /package/dist/web-components-library/{p-cdc51108.entry.js.map → p-9b2e5033.entry.js.map} +0 -0
  840. /package/dist/web-components-library/{p-6e1ba2f0.entry.js.map → p-aaab7f44.entry.js.map} +0 -0
  841. /package/dist/web-components-library/{p-a4ddeb5f.entry.js.map → p-abc08ea3.entry.js.map} +0 -0
  842. /package/dist/web-components-library/{p-475a2ba2.entry.js.map → p-abd3b914.entry.js.map} +0 -0
  843. /package/dist/web-components-library/{p-08d8f935.entry.js.map → p-acee5500.entry.js.map} +0 -0
  844. /package/dist/web-components-library/{p-f9fb6005.entry.js.map → p-ae1b5e23.entry.js.map} +0 -0
  845. /package/dist/web-components-library/{p-cc775eee.entry.js.map → p-b1cbb20d.entry.js.map} +0 -0
  846. /package/dist/web-components-library/{p-7091a1fc.entry.js.map → p-b94e0513.entry.js.map} +0 -0
  847. /package/dist/web-components-library/{p-a1b6184f.js.map → p-bc408f39.js.map} +0 -0
  848. /package/dist/web-components-library/{p-b38be247.entry.js.map → p-cfbef2c3.entry.js.map} +0 -0
  849. /package/dist/web-components-library/{p-bd5b0bce.entry.js.map → p-d8d7db0e.entry.js.map} +0 -0
  850. /package/dist/web-components-library/{p-30170218.entry.js.map → p-d9fdc804.entry.js.map} +0 -0
  851. /package/dist/web-components-library/{p-8e6760d9.entry.js.map → p-df97df54.entry.js.map} +0 -0
  852. /package/dist/web-components-library/{p-e087f05f.js.map → p-f3145212.js.map} +0 -0
  853. /package/dist/web-components-library/{p-4c462e7f.js.map → p-f7f2beae.js.map} +0 -0
  854. /package/dist/web-components-library/{p-b539c9be.entry.js.map → p-f8d49a59.entry.js.map} +0 -0
  855. /package/www/build/{p-b22d3c7d.js.map → p-00e88046.js.map} +0 -0
  856. /package/www/build/{p-7ef2c4ce.entry.js.map → p-0bf8d989.entry.js.map} +0 -0
  857. /package/www/build/{p-7b375bca.js.map → p-0cb113f9.js.map} +0 -0
  858. /package/www/build/{p-c3c99202.js.map → p-0d9f1574.js.map} +0 -0
  859. /package/www/build/{p-fca17517.entry.js.map → p-121f2960.entry.js.map} +0 -0
  860. /package/www/build/{p-c13ef624.js.map → p-1bbf185c.js.map} +0 -0
  861. /package/www/build/{p-7f0cbe57.entry.js.map → p-1c51153b.entry.js.map} +0 -0
  862. /package/www/build/{p-5b6dd467.entry.js.map → p-1cbc1b08.entry.js.map} +0 -0
  863. /package/www/build/{p-c7f8b628.entry.js.map → p-1e25d225.entry.js.map} +0 -0
  864. /package/www/build/{p-ad74941b.entry.js.map → p-25be56d1.entry.js.map} +0 -0
  865. /package/www/build/{p-7779ebce.entry.js.map → p-28c972c6.entry.js.map} +0 -0
  866. /package/www/build/{p-31c5b39d.entry.js.map → p-37a34984.entry.js.map} +0 -0
  867. /package/www/build/{p-195c19a5.entry.js.map → p-390bbfd4.entry.js.map} +0 -0
  868. /package/www/build/{p-0fce007b.entry.js.map → p-3a42612f.entry.js.map} +0 -0
  869. /package/www/build/{p-4f33d4f4.entry.js.map → p-3d8cdd34.entry.js.map} +0 -0
  870. /package/www/build/{p-feb84d36.js.map → p-431f5871.js.map} +0 -0
  871. /package/www/build/{p-6230c432.entry.js.map → p-4de706ad.entry.js.map} +0 -0
  872. /package/www/build/{p-f49171aa.entry.js.map → p-53a2995c.entry.js.map} +0 -0
  873. /package/www/build/{p-22d56699.entry.js.map → p-55fad9b1.entry.js.map} +0 -0
  874. /package/www/build/{p-c7df6a63.entry.js.map → p-5a24e268.entry.js.map} +0 -0
  875. /package/www/build/{p-0a149188.entry.js.map → p-5d7bbd82.entry.js.map} +0 -0
  876. /package/www/build/{p-42559870.entry.js.map → p-5ed87dec.entry.js.map} +0 -0
  877. /package/www/build/{p-2aeb2a94.entry.js.map → p-61a83529.entry.js.map} +0 -0
  878. /package/www/build/{p-9187ce36.entry.js.map → p-6655e19b.entry.js.map} +0 -0
  879. /package/www/build/{p-bbdb67db.entry.js.map → p-7314c74b.entry.js.map} +0 -0
  880. /package/www/build/{p-cb8aec27.entry.js.map → p-7ce5ca87.entry.js.map} +0 -0
  881. /package/www/build/{p-c2af9a71.entry.js.map → p-816fd6dc.entry.js.map} +0 -0
  882. /package/www/build/{p-2dcf53b3.entry.js.map → p-8c5dcab3.entry.js.map} +0 -0
  883. /package/www/build/{p-96be6eae.entry.js.map → p-99a6c92f.entry.js.map} +0 -0
  884. /package/www/build/{p-cdc51108.entry.js.map → p-9b2e5033.entry.js.map} +0 -0
  885. /package/www/build/{p-6e1ba2f0.entry.js.map → p-aaab7f44.entry.js.map} +0 -0
  886. /package/www/build/{p-a4ddeb5f.entry.js.map → p-abc08ea3.entry.js.map} +0 -0
  887. /package/www/build/{p-475a2ba2.entry.js.map → p-abd3b914.entry.js.map} +0 -0
  888. /package/www/build/{p-08d8f935.entry.js.map → p-acee5500.entry.js.map} +0 -0
  889. /package/www/build/{p-f9fb6005.entry.js.map → p-ae1b5e23.entry.js.map} +0 -0
  890. /package/www/build/{p-cc775eee.entry.js.map → p-b1cbb20d.entry.js.map} +0 -0
  891. /package/www/build/{p-7091a1fc.entry.js.map → p-b94e0513.entry.js.map} +0 -0
  892. /package/www/build/{p-a1b6184f.js.map → p-bc408f39.js.map} +0 -0
  893. /package/www/build/{p-b38be247.entry.js.map → p-cfbef2c3.entry.js.map} +0 -0
  894. /package/www/build/{p-bd5b0bce.entry.js.map → p-d8d7db0e.entry.js.map} +0 -0
  895. /package/www/build/{p-30170218.entry.js.map → p-d9fdc804.entry.js.map} +0 -0
  896. /package/www/build/{p-8e6760d9.entry.js.map → p-df97df54.entry.js.map} +0 -0
  897. /package/www/build/{p-e087f05f.js.map → p-f3145212.js.map} +0 -0
  898. /package/www/build/{p-4c462e7f.js.map → p-f7f2beae.js.map} +0 -0
  899. /package/www/build/{p-b539c9be.entry.js.map → p-f8d49a59.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"z-carousel.js","mappings":"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","names":["ZCarousel"],"sources":["src/components/z-carousel/styles.css?tag=z-carousel&encapsulation=shadow","src/components/z-carousel/index.tsx"],"sourcesContent":[":host {\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n\n --z-carousel-gutter: 0;\n --z-carousel-items-shadow: ;\n}\n\n:host([single]) {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n:host([single]) .z-carousel-container {\n width: fit-content;\n max-width: 100%;\n}\n\n.z-carousel-container {\n display: flex;\n flex-direction: column;\n}\n\n.z-carousel-title {\n margin-bottom: calc(var(--space-unit) * 2);\n}\n\n.z-carousel-wrapper {\n position: relative;\n}\n\n.z-carousel-items-container {\n display: flex;\n max-width: 100%;\n flex-direction: row;\n margin: 0;\n box-shadow: var(--z-carousel-items-shadow, none);\n column-gap: var(--z-carousel-gutter);\n list-style: none;\n -ms-overflow-style: none; /* IE and Edge */\n overflow-x: scroll;\n padding-inline-start: 0;\n scroll-behavior: smooth;\n scroll-snap-type: x mandatory;\n\n /* Hide scrollbar for IE, Edge and Firefox */\n scrollbar-width: none; /* Firefox */\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\n.z-carousel-items-container::-webkit-scrollbar {\n display: none;\n}\n\n.z-carousel-items-container ::slotted(*) {\n scroll-snap-align: center;\n}\n\n.z-carousel-navigation-arrow[hidden] {\n display: none;\n}\n\n.z-carousel-navigation-arrow[data-direction] {\n position: absolute;\n z-index: 1;\n bottom: 50%;\n transform: translateY(50%);\n}\n\n.z-carousel-navigation-arrow[data-direction=\"next\"] {\n right: 0;\n}\n\n:host(:not([fixed-arrows])) .z-carousel-wrapper .z-carousel-navigation-arrow {\n display: none;\n}\n\n.z-carousel-footer {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n column-gap: calc(var(--space-unit) * 3);\n}\n\n:host([arrows-position=\"bottom\"]) .z-carousel-footer {\n margin-top: calc(var(--space-unit) * 0.75);\n}\n\n.z-carousel-footer .numbers-progress,\n.z-carousel-footer .dots-progress {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.z-carousel-footer .dots-progress {\n column-gap: calc(var(--space-unit) * 3);\n}\n\n:host(:not([arrows-position=\"bottom\"])) .z-carousel-footer .dots-progress {\n margin-top: calc(var(--space-unit) * 2);\n}\n\n.z-carousel-footer .dots-progress button {\n display: flex;\n width: calc(var(--space-unit) * 3);\n height: calc(var(--space-unit) * 3);\n align-items: center;\n padding: 0;\n border: none;\n margin: 0;\n background-color: var(--color-surface03);\n border-radius: calc(var(--space-unit) * 3);\n}\n\n.z-carousel-footer .dots-progress button.current {\n background-color: var(--color-primary01);\n}\n\n.z-carousel-footer .dots-progress button:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n.z-carousel-footer .dots-progress button:not(.current) {\n cursor: pointer;\n}\n\n.z-carousel-footer .numbers-progress {\n column-gap: calc(var(--space-unit) / 2);\n}\n\n:host(:not([arrows-position=\"bottom\"])) .z-carousel-footer .numbers-progress {\n margin-top: var(--space-unit);\n}\n\n.z-carousel-footer .numbers-progress .current {\n font-weight: var(--font-sb);\n}\n\n@media (min-width: 768px) {\n :host(:not([fixed-arrows])) .z-carousel-wrapper:hover .z-carousel-navigation-arrow:not([hidden]) {\n display: flex;\n }\n}\n","import {Component, Element, Event, EventEmitter, Host, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ButtonVariant, CarouselArrowsPosition, CarouselProgressMode} from \"../../beans\";\n\n/**\n * ZCarousel component.\n * @cssprop --z-carousel-gutter - The gutter between items.\n * @cssprop --z-carousel-items-shadow - The shadow around the items.\n * @slot - Carousel items. Use `<li>` elements inside this slot.\n */\n@Component({\n tag: \"z-carousel\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZCarousel {\n @Element() host: HTMLZCarouselElement;\n\n /** The z-carousel is on loading state */\n @Prop()\n isLoading: boolean;\n\n /** The z-carousel title */\n @Prop()\n label?: string;\n\n /** Shows only one content at a time */\n @Prop({reflect: true})\n single = false;\n\n /** Arrow buttons position */\n @Prop({reflect: true})\n arrowsPosition?: CarouselArrowsPosition;\n\n /** Progress indicator type. Only available for `single` mode */\n @Prop()\n progressMode?: CarouselProgressMode;\n\n /**\n * Whether the navigation arrow buttons over the items are always visible or only on mouse hover.\n * If set to `false`, the arrows will not be visible on mobile.\n * Only meaningful with `arrowsPosition` set to `OVER`.\n */\n @Prop({reflect: true})\n fixedArrows = true;\n\n /** The height of the ghost loader (only visible when `isLoading` is set to `true`) */\n @Prop()\n ghostLoadingHeight = 100;\n\n /** When enabled, navigating next the last item will go back to the first item and vice versa. */\n @Prop()\n infinite = false;\n\n /** Current item index for single mode. */\n @State()\n current = 0;\n\n /** Items on the slider. */\n @State()\n items: HTMLLIElement[];\n\n /** Index of the indicator to highlight. */\n @State()\n highlightedIndicator: number;\n\n @State()\n canNavigatePrev: boolean;\n\n @State()\n canNavigateNext: boolean;\n\n /** Reference for the items container element. */\n protected itemsContainer: HTMLUListElement;\n\n /** Observer that handles current index change when scrolling on single mode. */\n private intersectionObserver: IntersectionObserver;\n\n /** Observer to check if navigation can still be enabled/showed when the size of the items' container changes */\n private resizeObserver: ResizeObserver;\n\n /** Flag indicating the items container is about to scroll programmatically towards the stored index. */\n private scrollingTo: number = null;\n\n /** Emitted on index change and only in `single` mode. */\n @Event()\n indexChange: EventEmitter<{currentItem: number}>;\n\n @Watch(\"current\")\n onIndexChange(): void {\n this.indexChange.emit({currentItem: this.current});\n }\n\n @Watch(\"single\")\n onSingleModeChange(): void {\n if (this.single && !this.intersectionObserver) {\n this.setIntersectionObserver();\n }\n }\n\n @Watch(\"infinite\")\n onInfiniteModeChange(): void {\n this.checkNavigationValidity();\n }\n\n /**\n * Set an intersection observer to:\n * - highlight the indicator of the intersecting item during scroll\n * - set the current item to the last intersecting item\n */\n private setIntersectionObserver(): void {\n this.intersectionObserver = new IntersectionObserver(\n (entries) => {\n const entry = entries.find(({isIntersecting}) => isIntersecting);\n if (!entry) {\n return;\n }\n\n const entryIndex = this.items.findIndex((item) => item === entry.target);\n this.highlightedIndicator = entryIndex;\n\n /* skip setting the current item if intersection has been triggered by a programmatic scroll\n (@see `goTo` function) and the final index has not been reached */\n if (this.scrollingTo !== null && entryIndex !== this.scrollingTo) {\n return;\n }\n\n this.scrollingTo = null;\n this.current = entryIndex;\n },\n {\n root: this.itemsContainer,\n threshold: 0.5,\n }\n );\n\n this.items.forEach((element) => this.intersectionObserver.observe(element));\n }\n\n /** Update items' list and check conditions to allow navigation */\n private onSlotChange(): void {\n this.items = Array.from(this.host.children) as HTMLLIElement[];\n this.checkNavigationValidity();\n this.setIntersectionObserver();\n this.goTo(this.current);\n }\n\n private onPrev(): void {\n if (this.single) {\n this.goTo(this.infinite && this.current - 1 < 0 ? this.items.length - 1 : Math.max(0, this.current - 1));\n\n return;\n }\n\n this.itemsContainer.scrollBy({\n left:\n this.infinite && this.itemsContainer.scrollLeft == 0\n ? this.itemsContainer.scrollWidth - this.itemsContainer.clientWidth\n : -this.itemsContainer.clientWidth / 2,\n behavior: \"smooth\",\n });\n }\n\n private onNext(): void {\n if (this.single) {\n const next =\n this.infinite && this.current + 1 > this.items.length - 1\n ? 0\n : Math.min(this.current + 1, this.items.length - 1);\n\n return this.goTo(next);\n }\n\n this.itemsContainer.scrollBy({\n left:\n this.infinite &&\n this.itemsContainer.scrollLeft == this.itemsContainer.scrollWidth - this.itemsContainer.clientWidth\n ? -this.itemsContainer.scrollWidth\n : this.itemsContainer.clientWidth / 2,\n behavior: \"smooth\",\n });\n }\n\n /**\n * Check if navigation buttons can be enabled and set the related local states.\n */\n private checkNavigationValidity(): void {\n if (this.single) {\n this.canNavigatePrev = this.current > 0;\n this.canNavigateNext = this.current < this.items.length - 1;\n\n return;\n }\n\n this.canNavigatePrev = this.itemsContainer.scrollLeft > 0;\n this.canNavigateNext =\n this.itemsContainer.scrollLeft < this.itemsContainer.scrollWidth - this.itemsContainer.clientWidth;\n }\n\n /**\n * Check if footer has to be rendered.\n */\n private canShowFooter(): boolean {\n if (!this.canNavigatePrev && !this.canNavigateNext) {\n return false;\n }\n\n return (\n this.arrowsPosition === CarouselArrowsPosition.BOTTOM ||\n this.progressMode === CarouselProgressMode.DOTS ||\n this.progressMode === CarouselProgressMode.NUMBERS\n );\n }\n\n /**\n * Set current item to passed index.\n * @param index Index to set\n */\n private goTo(index: number): void {\n if (this.current === index) {\n return;\n }\n\n this.scrollingTo = index;\n const left = this.items.slice(0, index).reduce((acc, item) => (acc += item.clientWidth), 0);\n // the scroll will trigger the IntersectionObserver and set the current item\n this.itemsContainer.scroll({\n left,\n behavior: \"smooth\",\n });\n }\n\n /** Check if navigation of at least one direction is enabled */\n private get canNavigate(): boolean {\n return this.canNavigatePrev || this.canNavigateNext;\n }\n\n private setupItems(): void {\n this.items = Array.from(this.host.children) as HTMLLIElement[];\n this.items.forEach((item) => {\n item.setAttribute(\"aria-roledescription\", \"slide\");\n });\n }\n\n componentDidLoad(): void {\n this.itemsContainer?.addEventListener(\"scroll\", this.checkNavigationValidity.bind(this), {passive: true});\n this.resizeObserver = new ResizeObserver(this.checkNavigationValidity.bind(this));\n this.resizeObserver.observe(this.itemsContainer);\n this.setupItems();\n if (this.single) {\n this.setIntersectionObserver();\n }\n this.checkNavigationValidity();\n }\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n render(): HTMLDivElement | HTMLZCarouselElement {\n if (this.isLoading) {\n return (\n <div class=\"z-carousel-container\">\n {this.label && <div class=\"heading-3-sb z-carousel-title\">{this.label}</div>}\n <div style={{height: `${this.ghostLoadingHeight}px`}}>\n <z-ghost-loading></z-ghost-loading>\n </div>\n </div>\n );\n }\n\n return (\n <Host>\n <div\n class=\"z-carousel-container\"\n aria-roledescription=\"carousel\"\n aria-label={this.label || \"Carousel\"}\n >\n {this.label && <div class=\"z-carousel-title heading-3-sb\">{this.label}</div>}\n <div class=\"z-carousel-wrapper\">\n <z-button\n class=\"z-carousel-navigation-arrow\"\n variant={ButtonVariant.SECONDARY}\n data-direction=\"prev\"\n icon=\"arrow-left\"\n onClick={this.onPrev.bind(this)}\n disabled={!this.infinite && !this.canNavigatePrev}\n hidden={this.arrowsPosition !== CarouselArrowsPosition.OVER || !this.canNavigate}\n ariaLabel={this.single ? \"Mostra l'elemento precedente\" : \"Mostra gli elementi precedenti\"}\n />\n <ul\n class=\"z-carousel-items-container\"\n aria-atomic=\"false\"\n aria-live=\"polite\"\n ref={(el) => (this.itemsContainer = el)}\n >\n <slot onSlotchange={this.onSlotChange.bind(this)} />\n </ul>\n <z-button\n class=\"z-carousel-navigation-arrow\"\n variant={ButtonVariant.SECONDARY}\n data-direction=\"next\"\n icon=\"arrow-right\"\n onClick={this.onNext.bind(this)}\n disabled={!this.infinite && !this.canNavigateNext}\n hidden={this.arrowsPosition !== CarouselArrowsPosition.OVER || !this.canNavigate}\n ariaLabel={this.single ? \"Mostra l'elemento successivo\" : \"Mostra gli elementi successivi\"}\n />\n </div>\n </div>\n\n {this.canShowFooter() && (\n <div class=\"z-carousel-footer\">\n {this.arrowsPosition === CarouselArrowsPosition.BOTTOM && (\n <z-button\n class=\"z-carousel-navigation-arrow\"\n variant={ButtonVariant.TERTIARY}\n icon=\"arrow-left\"\n onClick={this.onPrev.bind(this)}\n disabled={!this.infinite && !this.canNavigatePrev}\n ariaLabel={this.single ? \"Mostra l'elemento precedente\" : \"Mostra gli elementi precedenti\"}\n />\n )}\n {this.progressMode === CarouselProgressMode.DOTS && this.single && this.items && (\n <div class=\"dots-progress\">\n {this.items.map((_, index) => (\n <button\n type=\"button\"\n class={{current: this.highlightedIndicator === index}}\n aria-label={\n this.highlightedIndicator === index ? \"Elemento corrente\" : `Spostati all'elemento ${index + 1}`\n }\n onClick={() => this.goTo(index)}\n />\n ))}\n </div>\n )}\n {this.progressMode === CarouselProgressMode.NUMBERS && this.single && this.items && (\n <div class=\"numbers-progress interactive-1\">\n <span class=\"current\">{this.current + 1}</span>\n <span>di</span>\n <span>{this.items.length}</span>\n </div>\n )}\n {this.arrowsPosition === CarouselArrowsPosition.BOTTOM && (\n <z-button\n class=\"z-carousel-navigation-arrow\"\n variant={ButtonVariant.TERTIARY}\n icon=\"arrow-right\"\n onClick={this.onNext.bind(this)}\n disabled={!this.infinite && !this.canNavigateNext}\n ariaLabel={this.single ? \"Mostra l'elemento successivo\" : \"Mostra gli elementi successivi\"}\n />\n )}\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"z-carousel.js","mappings":"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","names":["ZCarousel"],"sources":["src/components/z-carousel/styles.css?tag=z-carousel&encapsulation=shadow","src/components/z-carousel/index.tsx"],"sourcesContent":[":host {\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n\n --z-carousel-gutter: 0;\n --z-carousel-items-shadow: ;\n}\n\n:host([single]) {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n:host([single]) .z-carousel-container {\n width: fit-content;\n max-width: 100%;\n}\n\n.z-carousel-container {\n display: flex;\n flex-direction: column;\n}\n\n.z-carousel-title {\n margin-bottom: calc(var(--space-unit) * 2);\n}\n\n.z-carousel-wrapper {\n position: relative;\n}\n\n.z-carousel-items-container {\n display: flex;\n max-width: 100%;\n flex-direction: row;\n margin: 0;\n box-shadow: var(--z-carousel-items-shadow, none);\n column-gap: var(--z-carousel-gutter);\n list-style: none;\n -ms-overflow-style: none; /* IE and Edge */\n overflow-x: scroll;\n padding-inline-start: 0;\n scroll-behavior: smooth;\n scroll-snap-type: x mandatory;\n\n /* Hide scrollbar for IE, Edge and Firefox */\n scrollbar-width: none; /* Firefox */\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\n.z-carousel-items-container::-webkit-scrollbar {\n display: none;\n}\n\n.z-carousel-items-container ::slotted(*) {\n scroll-snap-align: center;\n}\n\n.z-carousel-navigation-arrow[hidden] {\n display: none;\n}\n\n.z-carousel-navigation-arrow[data-direction] {\n position: absolute;\n z-index: 1;\n bottom: 50%;\n transform: translateY(50%);\n}\n\n.z-carousel-navigation-arrow[data-direction=\"next\"] {\n right: 0;\n}\n\n:host(:not([fixed-arrows])) .z-carousel-wrapper .z-carousel-navigation-arrow {\n display: none;\n}\n\n.z-carousel-footer {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n column-gap: calc(var(--space-unit) * 3);\n}\n\n:host([arrows-position=\"bottom\"]) .z-carousel-footer {\n margin-top: calc(var(--space-unit) * 0.75);\n}\n\n.z-carousel-footer .numbers-progress,\n.z-carousel-footer .dots-progress {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.z-carousel-footer .dots-progress {\n column-gap: calc(var(--space-unit) * 3);\n}\n\n:host(:not([arrows-position=\"bottom\"])) .z-carousel-footer .dots-progress {\n margin-top: calc(var(--space-unit) * 2);\n}\n\n.z-carousel-footer .dots-progress button {\n display: flex;\n width: calc(var(--space-unit) * 3);\n height: calc(var(--space-unit) * 3);\n align-items: center;\n padding: 0;\n border: none;\n margin: 0;\n background-color: var(--color-surface03);\n border-radius: calc(var(--space-unit) * 3);\n}\n\n.z-carousel-footer .dots-progress button.current {\n background-color: var(--color-primary01);\n}\n\n.z-carousel-footer .dots-progress button:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n.z-carousel-footer .dots-progress button:not(.current) {\n cursor: pointer;\n}\n\n.z-carousel-footer .numbers-progress {\n column-gap: calc(var(--space-unit) / 2);\n}\n\n:host(:not([arrows-position=\"bottom\"])) .z-carousel-footer .numbers-progress {\n margin-top: var(--space-unit);\n}\n\n.z-carousel-footer .numbers-progress .current {\n font-weight: var(--font-sb);\n}\n\n@media (min-width: 768px) {\n :host(:not([fixed-arrows])) .z-carousel-wrapper:hover .z-carousel-navigation-arrow:not([hidden]) {\n display: flex;\n }\n}\n","import {Component, Element, Event, EventEmitter, Host, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ButtonVariant, CarouselArrowsPosition, CarouselProgressMode} from \"../../beans\";\n\n/**\n * ZCarousel component.\n * @cssprop --z-carousel-gutter - The gutter between items.\n * @cssprop --z-carousel-items-shadow - The shadow around the items.\n * @slot - Carousel items. Use `<li>` elements inside this slot.\n */\n@Component({\n tag: \"z-carousel\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZCarousel {\n @Element() host: HTMLZCarouselElement;\n\n /** The z-carousel is on loading state */\n @Prop()\n isLoading: boolean;\n\n /** The z-carousel title */\n @Prop()\n label?: string;\n\n /** Shows only one content at a time */\n @Prop({reflect: true})\n single = false;\n\n /** Arrow buttons position */\n @Prop({reflect: true})\n arrowsPosition?: CarouselArrowsPosition;\n\n /** Progress indicator type. Only available for `single` mode */\n @Prop()\n progressMode?: CarouselProgressMode;\n\n /**\n * Whether the navigation arrow buttons over the items are always visible or only on mouse hover.\n * If set to `false`, the arrows will not be visible on mobile.\n * Only meaningful with `arrowsPosition` set to `OVER`.\n */\n @Prop({reflect: true})\n fixedArrows = true;\n\n /** The height of the ghost loader (only visible when `isLoading` is set to `true`) */\n @Prop()\n ghostLoadingHeight = 100;\n\n /** When enabled, navigating next the last item will go back to the first item and vice versa. */\n @Prop()\n infinite = false;\n\n /** Current item index for single mode. */\n @State()\n current = 0;\n\n /** Items on the slider. */\n @State()\n items: HTMLLIElement[];\n\n /** Index of the indicator to highlight. */\n @State()\n highlightedIndicator: number;\n\n @State()\n canNavigatePrev: boolean;\n\n @State()\n canNavigateNext: boolean;\n\n /** Reference for the items container element. */\n protected itemsContainer: HTMLUListElement;\n\n /** Observer that handles current index change when scrolling on single mode. */\n private intersectionObserver: IntersectionObserver;\n\n /** Observer to check if navigation can still be enabled/showed when the size of the items' container changes */\n private resizeObserver: ResizeObserver;\n\n /** Flag indicating the items container is about to scroll programmatically towards the stored index. */\n private scrollingTo: number = null;\n\n /** Emitted on index change and only in `single` mode. */\n @Event()\n indexChange: EventEmitter<{currentItem: number}>;\n\n @Watch(\"current\")\n onIndexChange(): void {\n this.indexChange.emit({currentItem: this.current});\n }\n\n @Watch(\"single\")\n onSingleModeChange(): void {\n if (this.single && !this.intersectionObserver) {\n this.setIntersectionObserver();\n }\n }\n\n @Watch(\"infinite\")\n onInfiniteModeChange(): void {\n this.checkNavigationValidity();\n }\n\n /**\n * Set an intersection observer to:\n * - highlight the indicator of the intersecting item during scroll\n * - set the current item to the last intersecting item\n */\n private setIntersectionObserver(): void {\n this.intersectionObserver = new IntersectionObserver(\n (entries) => {\n const entry = entries.find(({isIntersecting}) => isIntersecting);\n if (!entry) {\n return;\n }\n\n const entryIndex = this.items.findIndex((item) => item === entry.target);\n this.highlightedIndicator = entryIndex;\n\n /* skip setting the current item if intersection has been triggered by a programmatic scroll\n (@see `goTo` function) and the final index has not been reached */\n if (this.scrollingTo !== null && entryIndex !== this.scrollingTo) {\n return;\n }\n\n this.scrollingTo = null;\n this.current = entryIndex;\n },\n {\n root: this.itemsContainer,\n threshold: 0.5,\n }\n );\n\n this.items.forEach((element) => this.intersectionObserver.observe(element));\n }\n\n /** Update items' list and check conditions to allow navigation */\n private onSlotChange(): void {\n this.items = Array.from(this.host.children) as HTMLLIElement[];\n this.checkNavigationValidity();\n this.setIntersectionObserver();\n this.goTo(this.current);\n }\n\n private onPrev(): void {\n if (this.single) {\n this.goTo(this.infinite && this.current - 1 < 0 ? this.items.length - 1 : Math.max(0, this.current - 1));\n\n return;\n }\n\n this.itemsContainer.scrollBy({\n left:\n this.infinite && this.itemsContainer.scrollLeft == 0\n ? this.itemsContainer.scrollWidth - this.itemsContainer.clientWidth\n : -this.itemsContainer.clientWidth / 2,\n behavior: \"smooth\",\n });\n }\n\n private onNext(): void {\n if (this.single) {\n const next =\n this.infinite && this.current + 1 > this.items.length - 1\n ? 0\n : Math.min(this.current + 1, this.items.length - 1);\n\n return this.goTo(next);\n }\n\n this.itemsContainer.scrollBy({\n left:\n this.infinite &&\n this.itemsContainer.scrollLeft == this.itemsContainer.scrollWidth - this.itemsContainer.clientWidth\n ? -this.itemsContainer.scrollWidth\n : this.itemsContainer.clientWidth / 2,\n behavior: \"smooth\",\n });\n }\n\n /**\n * Check if navigation buttons can be enabled and set the related local states.\n */\n private checkNavigationValidity(): void {\n if (this.single) {\n this.canNavigatePrev = this.current > 0;\n this.canNavigateNext = this.current < this.items.length - 1;\n\n return;\n }\n\n this.canNavigatePrev = this.itemsContainer.scrollLeft > 0;\n this.canNavigateNext =\n this.itemsContainer.scrollLeft < this.itemsContainer.scrollWidth - this.itemsContainer.clientWidth;\n }\n\n /**\n * Check if footer has to be rendered.\n */\n private canShowFooter(): boolean {\n if (!this.canNavigatePrev && !this.canNavigateNext) {\n return false;\n }\n\n return (\n this.arrowsPosition === CarouselArrowsPosition.BOTTOM ||\n this.progressMode === CarouselProgressMode.DOTS ||\n this.progressMode === CarouselProgressMode.NUMBERS\n );\n }\n\n /**\n * Set current item to passed index.\n * @param index Index to set\n */\n private goTo(index: number): void {\n if (this.current === index) {\n return;\n }\n\n this.scrollingTo = index;\n const left = this.items.slice(0, index).reduce((acc, item) => (acc += item.clientWidth), 0);\n // the scroll will trigger the IntersectionObserver and set the current item\n this.itemsContainer.scroll({\n left,\n behavior: \"smooth\",\n });\n }\n\n /** Check if navigation of at least one direction is enabled */\n private get canNavigate(): boolean {\n return this.canNavigatePrev || this.canNavigateNext;\n }\n\n private setupItems(): void {\n this.items = Array.from(this.host.children) as HTMLLIElement[];\n this.items.forEach((item) => {\n item.setAttribute(\"aria-roledescription\", \"slide\");\n });\n }\n\n componentDidLoad(): void {\n this.itemsContainer?.addEventListener(\"scroll\", this.checkNavigationValidity.bind(this), {passive: true});\n this.resizeObserver = new ResizeObserver(this.checkNavigationValidity.bind(this));\n this.resizeObserver?.observe(this.itemsContainer);\n this.setupItems();\n if (this.single) {\n this.setIntersectionObserver();\n }\n this.checkNavigationValidity();\n }\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n render(): HTMLDivElement | HTMLZCarouselElement {\n if (this.isLoading) {\n return (\n <div class=\"z-carousel-container\">\n {this.label && <div class=\"heading-3-sb z-carousel-title\">{this.label}</div>}\n <div style={{height: `${this.ghostLoadingHeight}px`}}>\n <z-ghost-loading></z-ghost-loading>\n </div>\n </div>\n );\n }\n\n return (\n <Host>\n <div\n class=\"z-carousel-container\"\n aria-roledescription=\"carousel\"\n aria-label={this.label || \"Carousel\"}\n >\n {this.label && <div class=\"z-carousel-title heading-3-sb\">{this.label}</div>}\n <div class=\"z-carousel-wrapper\">\n <z-button\n class=\"z-carousel-navigation-arrow\"\n variant={ButtonVariant.SECONDARY}\n data-direction=\"prev\"\n icon=\"arrow-left\"\n onClick={this.onPrev.bind(this)}\n disabled={!this.infinite && !this.canNavigatePrev}\n hidden={this.arrowsPosition !== CarouselArrowsPosition.OVER || !this.canNavigate}\n ariaLabel={this.single ? \"Mostra l'elemento precedente\" : \"Mostra gli elementi precedenti\"}\n />\n <ul\n class=\"z-carousel-items-container\"\n aria-atomic=\"false\"\n aria-live=\"polite\"\n ref={(el) => (this.itemsContainer = el)}\n >\n <slot onSlotchange={this.onSlotChange.bind(this)} />\n </ul>\n <z-button\n class=\"z-carousel-navigation-arrow\"\n variant={ButtonVariant.SECONDARY}\n data-direction=\"next\"\n icon=\"arrow-right\"\n onClick={this.onNext.bind(this)}\n disabled={!this.infinite && !this.canNavigateNext}\n hidden={this.arrowsPosition !== CarouselArrowsPosition.OVER || !this.canNavigate}\n ariaLabel={this.single ? \"Mostra l'elemento successivo\" : \"Mostra gli elementi successivi\"}\n />\n </div>\n </div>\n\n {this.canShowFooter() && (\n <div class=\"z-carousel-footer\">\n {this.arrowsPosition === CarouselArrowsPosition.BOTTOM && (\n <z-button\n class=\"z-carousel-navigation-arrow\"\n variant={ButtonVariant.TERTIARY}\n icon=\"arrow-left\"\n onClick={this.onPrev.bind(this)}\n disabled={!this.infinite && !this.canNavigatePrev}\n ariaLabel={this.single ? \"Mostra l'elemento precedente\" : \"Mostra gli elementi precedenti\"}\n />\n )}\n {this.progressMode === CarouselProgressMode.DOTS && this.single && this.items && (\n <div class=\"dots-progress\">\n {this.items.map((_, index) => (\n <button\n type=\"button\"\n class={{current: this.highlightedIndicator === index}}\n aria-label={\n this.highlightedIndicator === index ? \"Elemento corrente\" : `Spostati all'elemento ${index + 1}`\n }\n onClick={() => this.goTo(index)}\n />\n ))}\n </div>\n )}\n {this.progressMode === CarouselProgressMode.NUMBERS && this.single && this.items && (\n <div class=\"numbers-progress interactive-1\">\n <span class=\"current\">{this.current + 1}</span>\n <span>di</span>\n <span>{this.items.length}</span>\n </div>\n )}\n {this.arrowsPosition === CarouselArrowsPosition.BOTTOM && (\n <z-button\n class=\"z-carousel-navigation-arrow\"\n variant={ButtonVariant.TERTIARY}\n icon=\"arrow-right\"\n onClick={this.onNext.bind(this)}\n disabled={!this.infinite && !this.canNavigateNext}\n ariaLabel={this.single ? \"Mostra l'elemento successivo\" : \"Mostra gli elementi successivi\"}\n />\n )}\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,15 +1,14 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
2
  import { I as InputType, e as ControlSize, i as ListSize, g as KeyboardCode, l as ListDividerType } from './index2.js';
3
3
  import { r as randomId, h as handleKeyboardSubmit } from './utils.js';
4
- import { d as defineCustomElement$8 } from './index6.js';
5
- import { d as defineCustomElement$7 } from './index9.js';
6
- import { d as defineCustomElement$6 } from './index11.js';
7
- import { d as defineCustomElement$5 } from './index12.js';
8
- import { d as defineCustomElement$4 } from './index14.js';
9
- import { d as defineCustomElement$3 } from './index15.js';
10
- import { d as defineCustomElement$2 } from './index21.js';
4
+ import { d as defineCustomElement$7 } from './index6.js';
5
+ import { d as defineCustomElement$6 } from './index9.js';
6
+ import { d as defineCustomElement$5 } from './index11.js';
7
+ import { d as defineCustomElement$4 } from './index12.js';
8
+ import { d as defineCustomElement$3 } from './index14.js';
9
+ import { d as defineCustomElement$2 } from './index15.js';
11
10
 
12
- const stylesCss = ":host{display:block;font-family:var(--font-family-sans)}:host>div.fixed{position:relative}:host>div>.header{position:relative;z-index:10;display:flex;min-height:42px;align-items:center;justify-content:space-between;padding:0 calc(var(--space-unit) * 1.5);border:var(--border-size-small) solid var(--color-surface04);margin:0;background-color:var(--color-form-background);border-radius:var(--border-radius-small);cursor:pointer}:host([size=\"small\"])>div>.header{min-height:34px;font-size:var(--font-size-2)}:host([size=\"x-small\"])>div>.header{min-height:30px;font-size:var(--font-size-2)}:host([size=\"x-small\"])>div>.header p.body-3{padding:calc(var(--space-unit) * 0.5) 0}:host>div>.header:hover{outline:var(--border-size-medium) solid var(--color-surface04);outline-offset:-2px}:host>div>div.header:focus:focus-visible{z-index:16;box-shadow:var(--shadow-focus-primary);outline:none}:host>div>.header>p.body-3{padding:var(--space-unit) 0;margin:0;color:var(--color-default-text)}:host>div>.header>p.body-3>span{font-weight:var(--font-sb)}:host>div>.header>z-icon{fill:var(--color-default-icon);transform:rotate(360deg);transition:all 200ms linear}:host>div>.header>z-icon.small,:host>div>.header>z-icon.x-small{--z-icon-width:16px;--z-icon-height:16px}:host>div.open>.header{border:var(--border-size-small) solid var(--color-primary01);border-radius:var(--border-radius-small) var(--border-radius-small) 0 0}:host>div.disabled{pointer-events:none}:host>div.disabled .header{border-color:var(--color-disabled01);fill:var(--color-disabled01)}:host>div.disabled .header>p.body-3{color:var(--color-disabled03)}:host>div.disabled .header>z-icon:last-child{fill:var(--color-disabled01)}:host>div.open>.header>z-icon{fill:var(--color-default-icon);transform:rotate(180deg);transition:all 200ms linear}:host>div.open>div.open-combo-data{position:relative;z-index:12;padding:var(--space-unit) calc(var(--space-unit) * 2);border:var(--border-size-small) solid var(--gray200);border-top:0;background-color:var(--color-form-background);border-radius:0}:host>div.open>div.open-combo-data>div>div{overflow:auto;max-height:235px;padding:0}:host>div.open>div.open-combo-data>z-input{width:100%;margin-bottom:calc(var(--space-unit) * 2)}:host>div.open>div.open-combo-data>div>div>ul{max-height:235px;padding:0 3px;margin:0}::-webkit-scrollbar{width:6px;background:linear-gradient(to right, transparent 0 1px, var(--gray200) 1px 5px, transparent 5px 6px)}::-webkit-scrollbar-thumb{background-color:var(--color-primary01)}::-webkit-scrollbar-thumb:hover{background-color:var(--color-hover-primary)}@supports not selector(::-webkit-scrollbar-track){:host{scrollbar-color:var(--color-primary01) transparent}}:host>div.open>z-input{position:relative;z-index:1;width:238px;margin:0 calc(var(--space-unit) * 2);color:var(--color-primary01)}:host>div.open>div.open-combo-data>div>div.search{overflow:hidden;max-height:auto;margin-top:0;box-shadow:1px 1px 4px 2px rgb(217 222 227 / 50%)}:host>div.open>div.open-combo-data>div>div.search>ul{overflow:auto;max-height:180px;padding:var(--space-unit) calc(var(--space-unit) * 2)}:host>div.open>div.open-combo-data>div>div.search>div{display:flex;justify-content:center}:host>div.open>div.open-combo-data>div>div.search>div>a{display:inline-block;height:44px;color:var(--color-primary01);cursor:pointer;font-size:14px;font-weight:var(--font-sb);line-height:44px;text-align:center;text-transform:uppercase}:host>div.open>div.open-combo-data>div>div.search>div>a:focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}:host>div.open>div.open-combo-data>div>div.check-all-wrapper{padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5);border-bottom:var(--border-size-small) solid var(--gray800);margin-bottom:var(--space-unit);text-align:left}:host([size=\"small\"])>div.open>div.open-combo-data>div>div.check-all-wrapper{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 0.5)}:host([size=\"x-small\"])>div.open>div.open-combo-data>div>div.check-all-wrapper{padding:var(--space-unit) calc(var(--space-unit) * 0.5)}";
11
+ const stylesCss = ":host{display:block;color:var(--color-form-default-text);fill:var(--color-form-default-icon);font-family:var(--font-family-sans)}:host>div.fixed{position:relative}:host>div>.header{position:relative;z-index:10;display:flex;min-height:42px;align-items:center;justify-content:space-between;padding:0 calc(var(--space-unit) * 1.5);border:var(--border-size-small) solid var(--color-form-surface04);margin:0;background-color:var(--color-form-background);border-radius:var(--border-radius-small);cursor:pointer}:host([size=\"small\"])>div>.header{min-height:34px;font-size:var(--font-size-2)}:host([size=\"x-small\"])>div>.header{min-height:30px;font-size:var(--font-size-2)}:host([size=\"x-small\"])>div>.header p.body-3{padding:calc(var(--space-unit) * 0.5) 0}:host>div>.header:hover{outline:var(--border-size-medium) solid var(--color-form-surface04);outline-offset:-2px}:host>div>div.header:focus:focus-visible{z-index:16;box-shadow:var(--shadow-focus-primary);outline:none}:host>div>.header>p.body-3{padding:var(--space-unit) 0;margin:0}:host>div>.header>p.body-3>span{font-weight:var(--font-sb)}:host>div>.header>z-icon{fill:var(--color-form-default-icon);transform:rotate(360deg);transition:all 200ms linear}:host>div>.header>z-icon.small,:host>div>.header>z-icon.x-small{--z-icon-width:16px;--z-icon-height:16px}:host>div.open>.header{border:var(--border-size-small) solid var(--color-form-active-primary);border-radius:var(--border-radius-small) var(--border-radius-small) 0 0}:host>div.disabled{pointer-events:none}:host>div.disabled .header{border-color:var(--color-form-disabled03);fill:var(--color-form-disabled01-icon)}:host>div.disabled .header>p.body-3{color:var(--color-form-disabled03)}:host>div.disabled .header>z-icon:last-child{fill:var(--color-form-disabled01-icon)}:host>div.open>.header>z-icon{fill:var(--color-form-default-icon);transform:rotate(180deg);transition:all 200ms linear}:host>div.open>div.open-combo-data{position:relative;z-index:12;padding:var(--space-unit) calc(var(--space-unit) * 2);border:var(--border-size-small) solid var(--color-form-surface03);border-top:0;background-color:var(--color-form-background);border-radius:0;box-shadow:var(--shadow-2)}:host .open .open-combo-data z-input .input-label{color:var(--color-form-default-text)}:host>div.open>div.open-combo-data>div>div{overflow:auto;max-height:235px;padding:0}:host>div.open>div.open-combo-data>z-input{width:100%;margin-bottom:calc(var(--space-unit) * 2)}:host>div.open>div.open-combo-data>div>div>ul{max-height:235px;padding:0 3px;margin:0}:host .open-combo-data z-list-element{--background-color-list-element:var(--color-form-background);--background-hover-color-list-element:var(--color-form-surface03);--background-active-color-list-element:var(--color-form-surface03)}::-webkit-scrollbar{width:6px;background:linear-gradient(to right, transparent 0 1px, var(--gray200) 1px 5px, transparent 5px 6px)}::-webkit-scrollbar-thumb{background-color:var(--color-primary01)}::-webkit-scrollbar-thumb:hover{background-color:var(--color-hover-primary)}@supports not selector(::-webkit-scrollbar-track){:host{scrollbar-color:var(--color-primary01) transparent}}:host>div.open>z-input{position:relative;z-index:1;width:238px;margin:0 calc(var(--space-unit) * 2);color:var(--color-form-active-primary)}:host>div.open>div.open-combo-data>div>div.search{overflow:hidden;max-height:none;margin-top:0}:host>div.open>div.open-combo-data>div>div.search>ul{overflow:auto;max-height:180px;padding:var(--space-unit) calc(var(--space-unit) * 2)}:host .open .open-combo-data .search .no-results{display:flex;align-items:center;column-gap:var(--space-unit)}:host>.open>.open-combo-data .search .close-search{display:flex;justify-content:center}:host>div.open>div.open-combo-data>div>div.search .close-search>a{display:inline-block;height:44px;color:var(--color-form-active-primary);cursor:pointer;font-size:14px;font-weight:var(--font-sb);line-height:44px;text-align:center;text-transform:uppercase}:host>div.open>div.open-combo-data>div>div.search .close-search>a:focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}:host>div.open>div.open-combo-data>div>div.check-all-wrapper{padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5);border-bottom:var(--border-size-small) solid var(--gray800);margin-bottom:var(--space-unit);text-align:left}:host([size=\"small\"])>div.open>div.open-combo-data>div>div.check-all-wrapper{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 0.5)}:host([size=\"x-small\"])>div.open>div.open-combo-data>div>div.check-all-wrapper{padding:var(--space-unit) calc(var(--space-unit) * 0.5)}";
13
12
  const ZComboboxStyle0 = stylesCss;
14
13
 
15
14
  const ZCombobox$1 = /*@__PURE__*/ proxyCustomElement(class ZCombobox extends HTMLElement {
@@ -243,10 +242,10 @@ const ZCombobox$1 = /*@__PURE__*/ proxyCustomElement(class ZCombobox extends HTM
243
242
  return h("ul", { role: "none" }, listGroups);
244
243
  }
245
244
  renderNoSearchResults() {
246
- return (h("ul", { role: "none" }, h("z-myz-list-item", { id: "no-results", text: this.noresultslabel, listitemid: "no-results", icon: "multiply-circle", class: this.size })));
245
+ return (h("div", { class: "no-results" }, h("z-icon", { name: "multiply-circle" }), h("span", null, this.noresultslabel)));
247
246
  }
248
247
  renderCloseButton() {
249
- return (h("div", null, h("a", { onClick: () => this.closeFilterItems(), onKeyUp: (e) => handleKeyboardSubmit(e, this.closeFilterItems), role: "button", tabindex: 0 }, this.closesearchtext)));
248
+ return (h("div", { class: "close-search" }, h("a", { onClick: () => this.closeFilterItems(), onKeyUp: (e) => handleKeyboardSubmit(e, this.closeFilterItems), role: "button", tabindex: 0 }, this.closesearchtext)));
250
249
  }
251
250
  renderSearchInput() {
252
251
  return (h("z-input", Object.assign({ htmlid: `${this.inputid}_search`, label: this.searchlabel, placeholder: this.searchplaceholder, htmltitle: this.searchtitle, type: this.inputType, value: this.searchValue, message: false, size: this.size, "aria-autocomplete": "list" }, this.getComboboxA11yAttributes(), { onKeyUp: (e) => {
@@ -266,7 +265,7 @@ const ZCombobox$1 = /*@__PURE__*/ proxyCustomElement(class ZCombobox extends HTM
266
265
  return (h("div", { class: "check-all-wrapper" }, h("z-input", { type: InputType.CHECKBOX, checked: allChecked, htmlid: checkAllId, class: this.getCheckboxClass(), label: allChecked ? this.uncheckalltext : this.checkalltext, disabled: this.maxcheckableitems && this.maxcheckableitems < this.itemsList.length, size: this.size === ControlSize.X_SMALL ? ControlSize.SMALL : this.size, role: "option", "aria-selected": allChecked ? "true" : "false", onKeyDown: (e) => this.handleSelectArrowsNavigation(e, checkAllId), onInputCheck: (e) => this.checkAll(e.detail.checked), onInputFocus: (e) => this.handleCheckboxFocus(e.detail.id) })));
267
266
  }
268
267
  render() {
269
- return (h("div", { key: '69b13355a675561cb0748a743e7509f8b944615e', "data-action": `combo-${this.inputid}`, class: { open: this.isopen, fixed: this.isfixed, disabled: this.disabled }, id: this.inputid }, this.renderHeader(), !this.disabled && this.renderContent()));
268
+ return (h("div", { key: '95f645ad7df923046c25f5dd624d977171a8cc59', "data-action": `combo-${this.inputid}`, class: { open: this.isopen, fixed: this.isfixed, disabled: this.disabled }, id: this.inputid }, this.renderHeader(), !this.disabled && this.renderContent()));
270
269
  }
271
270
  get element() { return this; }
272
271
  static get watchers() { return {
@@ -308,7 +307,7 @@ function defineCustomElement$1() {
308
307
  if (typeof customElements === "undefined") {
309
308
  return;
310
309
  }
311
- const components = ["z-combobox", "z-divider", "z-icon", "z-input", "z-input-message", "z-list-element", "z-list-group", "z-myz-list-item"];
310
+ const components = ["z-combobox", "z-divider", "z-icon", "z-input", "z-input-message", "z-list-element", "z-list-group"];
312
311
  components.forEach(tagName => { switch (tagName) {
313
312
  case "z-combobox":
314
313
  if (!customElements.get(tagName)) {
@@ -316,36 +315,31 @@ function defineCustomElement$1() {
316
315
  }
317
316
  break;
318
317
  case "z-divider":
319
- if (!customElements.get(tagName)) {
320
- defineCustomElement$8();
321
- }
322
- break;
323
- case "z-icon":
324
318
  if (!customElements.get(tagName)) {
325
319
  defineCustomElement$7();
326
320
  }
327
321
  break;
328
- case "z-input":
322
+ case "z-icon":
329
323
  if (!customElements.get(tagName)) {
330
324
  defineCustomElement$6();
331
325
  }
332
326
  break;
333
- case "z-input-message":
327
+ case "z-input":
334
328
  if (!customElements.get(tagName)) {
335
329
  defineCustomElement$5();
336
330
  }
337
331
  break;
338
- case "z-list-element":
332
+ case "z-input-message":
339
333
  if (!customElements.get(tagName)) {
340
334
  defineCustomElement$4();
341
335
  }
342
336
  break;
343
- case "z-list-group":
337
+ case "z-list-element":
344
338
  if (!customElements.get(tagName)) {
345
339
  defineCustomElement$3();
346
340
  }
347
341
  break;
348
- case "z-myz-list-item":
342
+ case "z-list-group":
349
343
  if (!customElements.get(tagName)) {
350
344
  defineCustomElement$2();
351
345
  }
@@ -1 +1 @@
1
- {"file":"z-combobox.js","mappings":"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","names":["ZCombobox"],"sources":["src/components/z-combobox/styles.css?tag=z-combobox&encapsulation=shadow","src/components/z-combobox/index.tsx"],"sourcesContent":[":host {\n display: block;\n font-family: var(--font-family-sans);\n}\n\n:host > div.fixed {\n position: relative;\n}\n\n:host > div > .header {\n position: relative;\n z-index: 10;\n display: flex;\n min-height: 42px;\n align-items: center;\n justify-content: space-between;\n padding: 0 calc(var(--space-unit) * 1.5);\n border: var(--border-size-small) solid var(--color-surface04);\n margin: 0;\n background-color: var(--color-form-background);\n border-radius: var(--border-radius-small);\n cursor: pointer;\n}\n\n:host([size=\"small\"]) > div > .header {\n min-height: 34px;\n font-size: var(--font-size-2);\n}\n\n:host([size=\"x-small\"]) > div > .header {\n min-height: 30px;\n font-size: var(--font-size-2);\n}\n\n:host([size=\"x-small\"]) > div > .header p.body-3 {\n padding: calc(var(--space-unit) * 0.5) 0;\n}\n\n:host > div > .header:hover {\n outline: var(--border-size-medium) solid var(--color-surface04);\n outline-offset: -2px;\n}\n\n:host > div > div.header:focus:focus-visible {\n z-index: 16;\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host > div > .header > p.body-3 {\n padding: var(--space-unit) 0;\n margin: 0;\n color: var(--color-default-text);\n}\n\n:host > div > .header > p.body-3 > span {\n font-weight: var(--font-sb);\n}\n\n:host > div > .header > z-icon {\n fill: var(--color-default-icon);\n transform: rotate(360deg);\n transition: all 200ms linear;\n}\n\n:host > div > .header > z-icon.small,\n:host > div > .header > z-icon.x-small {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n:host > div.open > .header {\n border: var(--border-size-small) solid var(--color-primary01);\n border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;\n}\n\n:host > div.disabled {\n pointer-events: none;\n}\n\n:host > div.disabled .header {\n border-color: var(--color-disabled01);\n fill: var(--color-disabled01);\n}\n\n:host > div.disabled .header > p.body-3 {\n color: var(--color-disabled03);\n}\n\n:host > div.disabled .header > z-icon:last-child {\n fill: var(--color-disabled01);\n}\n\n:host > div.open > .header > z-icon {\n fill: var(--color-default-icon);\n transform: rotate(180deg);\n transition: all 200ms linear;\n}\n\n:host > div.open > div.open-combo-data {\n position: relative;\n z-index: 12;\n padding: var(--space-unit) calc(var(--space-unit) * 2);\n border: var(--border-size-small) solid var(--gray200);\n border-top: 0;\n background-color: var(--color-form-background);\n border-radius: 0;\n}\n\n:host > div.open > div.open-combo-data > div > div {\n overflow: auto;\n max-height: 235px;\n padding: 0;\n}\n\n:host > div.open > div.open-combo-data > z-input {\n width: 100%;\n margin-bottom: calc(var(--space-unit) * 2);\n}\n\n:host > div.open > div.open-combo-data > div > div > ul {\n max-height: 235px;\n padding: 0 3px; /* needed for checkbox focus shadow */\n margin: 0;\n}\n\n::-webkit-scrollbar {\n width: 6px;\n background: linear-gradient(to right, transparent 0 1px, var(--gray200) 1px 5px, transparent 5px 6px);\n}\n\n::-webkit-scrollbar-thumb {\n background-color: var(--color-primary01);\n}\n\n::-webkit-scrollbar-thumb:hover {\n background-color: var(--color-hover-primary);\n}\n\n/* Firefox scrollbar */\n@supports not selector(::-webkit-scrollbar-track) {\n :host {\n scrollbar-color: var(--color-primary01) transparent;\n }\n}\n\n:host > div.open > z-input {\n position: relative;\n z-index: 1;\n width: 238px;\n margin: 0 calc(var(--space-unit) * 2);\n color: var(--color-primary01);\n}\n\n:host > div.open > div.open-combo-data > div > div.search {\n overflow: hidden;\n max-height: auto;\n margin-top: 0;\n box-shadow: 1px 1px 4px 2px rgb(217 222 227 / 50%);\n}\n\n:host > div.open > div.open-combo-data > div > div.search > ul {\n overflow: auto;\n max-height: 180px;\n padding: var(--space-unit) calc(var(--space-unit) * 2);\n}\n\n:host > div.open > div.open-combo-data > div > div.search > div {\n display: flex;\n justify-content: center;\n}\n\n:host > div.open > div.open-combo-data > div > div.search > div > a {\n display: inline-block;\n height: 44px;\n color: var(--color-primary01);\n cursor: pointer;\n font-size: 14px;\n font-weight: var(--font-sb);\n line-height: 44px;\n text-align: center;\n text-transform: uppercase;\n}\n\n:host > div.open > div.open-combo-data > div > div.search > div > a:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host > div.open > div.open-combo-data > div > div.check-all-wrapper {\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5);\n border-bottom: var(--border-size-small) solid var(--gray800);\n margin-bottom: var(--space-unit);\n text-align: left;\n}\n\n:host([size=\"small\"]) > div.open > div.open-combo-data > div > div.check-all-wrapper {\n padding: calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 0.5);\n}\n\n:host([size=\"x-small\"]) > div.open > div.open-combo-data > div > div.check-all-wrapper {\n padding: var(--space-unit) calc(var(--space-unit) * 0.5);\n}\n","import {Component, Element, Event, EventEmitter, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ComboItem, ControlSize, InputType, KeyboardCode, ListDividerType, ListSize} from \"../../beans\";\nimport {ZMyzListItem} from \"../../snowflakes/myz/list/z-myz-list-item\";\nimport {handleKeyboardSubmit, randomId} from \"../../utils/utils\";\nimport {ZInput} from \"../z-input\";\n\n@Component({\n tag: \"z-combobox\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZCombobox {\n @Element() element: HTMLZComboboxElement;\n\n /** input unique id */\n @Prop()\n inputid = `combo-${randomId()}`;\n\n /** list items array */\n @Prop()\n items: ComboItem[] | string;\n\n /** label text */\n @Prop()\n label: string;\n\n /** the combobox is disabled */\n @Prop({reflect: true})\n disabled?: boolean = false;\n\n /** show search input flag (optional) */\n @Prop()\n hassearch?: boolean = false;\n\n /** search input label text (optional) */\n @Prop()\n searchlabel?: string;\n\n /** search input placeholder text (optional) */\n @Prop()\n searchplaceholder?: string;\n\n /** search input title text (optional) */\n @Prop()\n searchtitle?: string;\n\n /** no result text message */\n @Prop()\n noresultslabel?: string = \"Nessun risultato\";\n\n /** toggle combo list opening flag */\n @Prop({mutable: true})\n isopen = false;\n\n /** fixed style flag */\n @Prop()\n isfixed = false;\n\n /** close combobox list text */\n @Prop()\n closesearchtext?: string = \"Chiudi\";\n\n /** show \"check all\" checkbox (optional) */\n @Prop()\n hascheckall?: boolean = false;\n\n /** check all label (optional) */\n @Prop()\n checkalltext?: string = \"Seleziona tutti\";\n\n /** uncheck all label (optional) */\n @Prop()\n uncheckalltext?: string = \"Deseleziona tutti\";\n\n /** max number of checkable items (0 = unlimited) */\n @Prop()\n maxcheckableitems = 0;\n\n /** group items by category */\n @Prop()\n hasgroupitems?: boolean;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n @State()\n searchValue: string;\n\n @State()\n selectedCounter: number;\n\n @State()\n renderItemsList: ComboItem[] = []; // used for render only\n\n @State()\n focusedItemId: string;\n\n @State()\n checkboxes: HTMLInputElement[] = [];\n\n private itemsList: ComboItem[] = [];\n\n private inputType: InputType = InputType.TEXT;\n\n @Watch(\"items\")\n watchItems(): void {\n this.itemsList = typeof this.items === \"string\" ? JSON.parse(this.items) : this.items;\n this.selectedCounter = this.itemsList.filter((item) => item.checked).length;\n this.updateRenderItemsList();\n }\n\n @Watch(\"searchValue\")\n watchSearchValue(): void {\n this.filterItems(this.searchValue);\n }\n\n @Watch(\"checkboxes\")\n watchCheckboxes(): void {\n this.checkboxes.forEach((item, index) => item.setAttribute(\"tabindex\", index === 0 ? \"0\" : \"-1\"));\n }\n\n /** Emitted when value is checked/unchecked. Returns id, items. */\n @Event()\n comboboxChange: EventEmitter;\n\n private emitComboboxChange(): void {\n this.comboboxChange.emit({id: this.inputid, items: this.itemsList});\n }\n\n constructor() {\n this.toggleComboBox = this.toggleComboBox.bind(this);\n this.closeFilterItems = this.closeFilterItems.bind(this);\n }\n\n componentWillLoad(): void {\n this.watchItems();\n }\n\n componentWillRender(): void {\n this.selectedCounter = this.itemsList.filter((item) => item.checked).length;\n }\n\n componentDidRender(): void {\n const checkboxes = this.getAllCheckboxes();\n if (JSON.stringify(checkboxes) !== JSON.stringify(this.checkboxes)) {\n this.checkboxes = checkboxes;\n }\n }\n\n private getItemId(item: ComboItem): string {\n return `combo-checkbox-${this.inputid}-${item.id}`;\n }\n\n private getCheckboxClass(): string {\n return `combo-item-checkbox-input-${this.inputid}`;\n }\n\n private getAllCheckboxes(): HTMLInputElement[] {\n return Array.from(\n this.element.shadowRoot.querySelectorAll(`.${this.getCheckboxClass()} input:not([disabled])`)\n ) as HTMLInputElement[];\n }\n\n private getControlToListSize(): ListSize {\n switch (this.size) {\n case ControlSize.X_SMALL:\n return ListSize.SMALL;\n case ControlSize.SMALL:\n return ListSize.MEDIUM;\n default:\n return ListSize.LARGE;\n }\n }\n\n private handleSelectArrowsNavigation(e: KeyboardEvent, currId: string): void {\n if (![KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP].includes(e.key as KeyboardCode) || !this.isopen) {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n const currElem = this.element.shadowRoot.querySelector(`#${currId}`) as HTMLInputElement;\n if (!currElem) {\n return;\n }\n\n const checkboxes = this.checkboxes;\n if (!checkboxes.length) {\n return;\n }\n\n const currElemIndex = checkboxes.indexOf(currElem);\n const firstElemIndex = 0;\n const lastElemIndex = checkboxes.length - 1;\n\n let nextElem = null;\n if (e.key === KeyboardCode.ARROW_DOWN) {\n nextElem = currElemIndex === lastElemIndex ? checkboxes[firstElemIndex] : checkboxes[currElemIndex + 1];\n } else if (e.key === KeyboardCode.ARROW_UP) {\n nextElem = currElemIndex === firstElemIndex ? checkboxes[lastElemIndex] : checkboxes[currElemIndex - 1];\n }\n\n this.focusComboboxItem(nextElem);\n }\n\n private handleHeaderKeyboardEvent(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.SPACE) {\n ev.preventDefault();\n }\n if ((ev.key === KeyboardCode.ARROW_DOWN && !this.isopen) || (ev.key === KeyboardCode.ARROW_UP && this.isopen)) {\n this.toggleComboBox();\n }\n }\n\n private handleCheckboxFocus(id: string): void {\n this.focusedItemId = id;\n }\n\n private focusComboboxItem(elem): void {\n this.checkboxes.forEach(function (item) {\n item.setAttribute(\"tabindex\", \"-1\");\n });\n\n elem.setAttribute(\"tabindex\", \"0\");\n elem.focus();\n }\n\n private updateRenderItemsList(): void {\n if (this.searchValue) {\n this.filterItems(this.searchValue);\n } else {\n this.resetRenderItemsList();\n }\n }\n\n private resetRenderItemsList(): void {\n const renderItemsList = [];\n this.itemsList.forEach((item: ComboItem) => {\n renderItemsList.push({...item});\n });\n this.renderItemsList = renderItemsList;\n }\n\n private filterItems(value: string): void {\n if (!value) {\n return this.closeFilterItems();\n }\n\n this.resetRenderItemsList();\n this.renderItemsList = this.renderItemsList.filter((item) => {\n const start = item.name.toUpperCase().indexOf(value.toUpperCase());\n const end = start + value.length;\n const newName =\n item.name.substring(0, start) +\n \"<strong>\" +\n item.name.substring(start, end) +\n \"</strong>\" +\n item.name.substring(end, item.name.length);\n\n item.name = newName;\n\n return start >= 0;\n });\n }\n\n private checkAll(checked = true): void {\n this.itemsList = this.itemsList.map((item: ComboItem) => ({\n ...item,\n checked: checked,\n }));\n this.resetRenderItemsList();\n this.emitComboboxChange();\n }\n\n private closeFilterItems(): void {\n this.searchValue = \"\";\n this.resetRenderItemsList();\n }\n\n private toggleComboBox(): void {\n this.isopen = !this.isopen;\n }\n\n private getComboboxA11yAttributes(): Record<string, unknown> {\n return {\n \"role\": \"combobox\",\n \"aria-label\": this.label,\n \"aria-expanded\": this.isopen ? \"true\" : \"false\",\n \"aria-activedescendant\": this.isopen ? this.focusedItemId : \"\",\n \"aria-controls\": `${this.inputid}_list`,\n };\n }\n\n private renderHeader(): HTMLDivElement {\n return (\n <div\n class=\"header\"\n onClick={() => this.toggleComboBox()}\n onKeyDown={(ev: KeyboardEvent) => {\n this.handleHeaderKeyboardEvent(ev);\n }}\n onKeyUp={(ev: KeyboardEvent) => handleKeyboardSubmit(ev, this.toggleComboBox)}\n role=\"button\"\n tabindex={0}\n aria-expanded={this.isopen ? \"true\" : \"false\"}\n >\n <p class=\"body-3\">\n {this.label}\n <span>{this.selectedCounter > 0 && ` (${this.selectedCounter})`}</span>\n </p>\n <z-icon\n name=\"caret-down\"\n class={this.size}\n />\n </div>\n );\n }\n\n private renderContent(): HTMLDivElement {\n if (!this.isopen) {\n return;\n }\n\n return (\n <div class=\"open-combo-data\">\n {this.hassearch && this.renderSearchInput()}\n {!this.hassearch ? <span {...this.getComboboxA11yAttributes()} /> : null}\n <div\n role=\"listbox\"\n aria-label={this.label}\n aria-multiselectable={true}\n id={`${this.inputid}_list`}\n aria-owns={`${this.checkboxes.map((item) => item.id).join(\" \")}`}\n >\n {this.hascheckall && this.renderCheckAll()}\n {this.renderItems()}\n </div>\n </div>\n );\n }\n\n private renderItems(): HTMLDivElement {\n return (\n <div class={this.searchValue && \"search\"}>\n {this.renderList(this.renderItemsList)}\n {this.searchValue && this.renderCloseButton()}\n </div>\n );\n }\n\n private renderItem(item: ComboItem, index: number, length: number): ZMyzListItem {\n return (\n <z-list-element\n id={item.id}\n htmlTabindex={null}\n dividerType={index !== length - 1 ? ListDividerType.ELEMENT : ListDividerType.NONE}\n size={this.getControlToListSize()}\n >\n <z-input\n type={InputType.CHECKBOX}\n checked={item.checked}\n htmlid={this.getItemId(item)}\n label={item.name}\n class={this.getCheckboxClass()}\n disabled={!item.checked && this.maxcheckableitems && this.selectedCounter >= this.maxcheckableitems}\n size={this.size === ControlSize.X_SMALL ? ControlSize.SMALL : this.size}\n role=\"option\"\n aria-selected={item.checked ? \"true\" : \"false\"}\n onKeyDown={(e: KeyboardEvent) => this.handleSelectArrowsNavigation(e, this.getItemId(item))}\n onInputCheck={(e: CustomEvent) => {\n this.itemsList = this.itemsList.map((i: ComboItem) => {\n if (item.id === i.id) {\n i.checked = e.detail.checked;\n }\n\n return i;\n });\n this.updateRenderItemsList();\n this.emitComboboxChange();\n }}\n onInputFocus={(e: CustomEvent) => this.handleCheckboxFocus(e.detail.id)}\n />\n </z-list-element>\n );\n }\n\n private renderList(items: ComboItem[]): HTMLUListElement {\n if (!items) {\n return;\n }\n if (!items.length && this.searchValue) {\n return this.renderNoSearchResults();\n }\n\n if (this.hasgroupitems) {\n return this.renderGroups(items);\n }\n\n return (\n <ul role=\"none\">\n {items.map((item, i) => {\n return this.renderItem(item, i, items.length);\n })}\n </ul>\n );\n }\n\n private renderGroups(items: ComboItem[]): HTMLUListElement {\n const newData = items.reduce((group, item, index) => {\n const {category} = item;\n const zListItem = this.renderItem(item, index, items.length);\n\n group[category] = group[category] ?? [];\n group[category].push(zListItem);\n\n return group;\n }, {});\n\n const listGroups = Object.entries(newData as {[key: string]: HTMLZListElementElement[]}).map(([key, value]) => {\n return (\n <z-list-group divider-type={ListDividerType.ELEMENT}>\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n >\n {key}\n </span>\n {value.map((item) => item)}\n </z-list-group>\n );\n });\n\n return <ul role=\"none\">{listGroups}</ul>;\n }\n\n private renderNoSearchResults(): HTMLUListElement {\n return (\n <ul role=\"none\">\n <z-myz-list-item\n id=\"no-results\"\n text={this.noresultslabel}\n listitemid=\"no-results\"\n icon=\"multiply-circle\"\n class={this.size}\n />\n </ul>\n );\n }\n\n private renderCloseButton(): HTMLDivElement {\n return (\n <div>\n <a\n onClick={() => this.closeFilterItems()}\n onKeyUp={(e: KeyboardEvent) => handleKeyboardSubmit(e, this.closeFilterItems)}\n role=\"button\"\n tabindex={0}\n >\n {this.closesearchtext}\n </a>\n </div>\n );\n }\n\n private renderSearchInput(): ZInput {\n return (\n <z-input\n htmlid={`${this.inputid}_search`}\n label={this.searchlabel}\n placeholder={this.searchplaceholder}\n htmltitle={this.searchtitle}\n type={this.inputType}\n value={this.searchValue}\n message={false}\n size={this.size}\n aria-autocomplete=\"list\"\n {...this.getComboboxA11yAttributes()}\n onKeyUp={(e: KeyboardEvent) => {\n if (e.key === KeyboardCode.ESC) {\n this.closeFilterItems();\n }\n }}\n onInputChange={(e: CustomEvent) => {\n this.searchValue = e.detail.value;\n }}\n />\n );\n }\n\n private renderCheckAll(): HTMLDivElement {\n if (this.searchValue) {\n return;\n }\n\n const checkAllId = `combo-checkbox-${this.inputid}-check-all`;\n const allChecked = this.selectedCounter === this.itemsList.length;\n\n return (\n <div class=\"check-all-wrapper\">\n <z-input\n type={InputType.CHECKBOX}\n checked={allChecked}\n htmlid={checkAllId}\n class={this.getCheckboxClass()}\n label={allChecked ? this.uncheckalltext : this.checkalltext}\n disabled={this.maxcheckableitems && this.maxcheckableitems < this.itemsList.length}\n size={this.size === ControlSize.X_SMALL ? ControlSize.SMALL : this.size}\n role=\"option\"\n aria-selected={allChecked ? \"true\" : \"false\"}\n onKeyDown={(e: KeyboardEvent) => this.handleSelectArrowsNavigation(e, checkAllId)}\n onInputCheck={(e: CustomEvent) => this.checkAll(e.detail.checked)}\n onInputFocus={(e: CustomEvent) => this.handleCheckboxFocus(e.detail.id)}\n />\n </div>\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div\n data-action={`combo-${this.inputid}`}\n class={{open: this.isopen, fixed: this.isfixed, disabled: this.disabled}}\n id={this.inputid}\n >\n {this.renderHeader()}\n {!this.disabled && this.renderContent()}\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"z-combobox.js","mappings":"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","names":["ZCombobox"],"sources":["src/components/z-combobox/styles.css?tag=z-combobox&encapsulation=shadow","src/components/z-combobox/index.tsx"],"sourcesContent":[":host {\n display: block;\n color: var(--color-form-default-text);\n fill: var(--color-form-default-icon);\n font-family: var(--font-family-sans);\n}\n\n:host > div.fixed {\n position: relative;\n}\n\n:host > div > .header {\n position: relative;\n z-index: 10;\n display: flex;\n min-height: 42px;\n align-items: center;\n justify-content: space-between;\n padding: 0 calc(var(--space-unit) * 1.5);\n border: var(--border-size-small) solid var(--color-form-surface04);\n margin: 0;\n background-color: var(--color-form-background);\n border-radius: var(--border-radius-small);\n cursor: pointer;\n}\n\n:host([size=\"small\"]) > div > .header {\n min-height: 34px;\n font-size: var(--font-size-2);\n}\n\n:host([size=\"x-small\"]) > div > .header {\n min-height: 30px;\n font-size: var(--font-size-2);\n}\n\n:host([size=\"x-small\"]) > div > .header p.body-3 {\n padding: calc(var(--space-unit) * 0.5) 0;\n}\n\n:host > div > .header:hover {\n outline: var(--border-size-medium) solid var(--color-form-surface04);\n outline-offset: -2px;\n}\n\n:host > div > div.header:focus:focus-visible {\n z-index: 16;\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host > div > .header > p.body-3 {\n padding: var(--space-unit) 0;\n margin: 0;\n}\n\n:host > div > .header > p.body-3 > span {\n font-weight: var(--font-sb);\n}\n\n:host > div > .header > z-icon {\n fill: var(--color-form-default-icon);\n transform: rotate(360deg);\n transition: all 200ms linear;\n}\n\n:host > div > .header > z-icon.small,\n:host > div > .header > z-icon.x-small {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n:host > div.open > .header {\n border: var(--border-size-small) solid var(--color-form-active-primary);\n border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;\n}\n\n:host > div.disabled {\n pointer-events: none;\n}\n\n:host > div.disabled .header {\n border-color: var(--color-form-disabled03);\n fill: var(--color-form-disabled01-icon);\n}\n\n:host > div.disabled .header > p.body-3 {\n color: var(--color-form-disabled03);\n}\n\n:host > div.disabled .header > z-icon:last-child {\n fill: var(--color-form-disabled01-icon);\n}\n\n:host > div.open > .header > z-icon {\n fill: var(--color-form-default-icon);\n transform: rotate(180deg);\n transition: all 200ms linear;\n}\n\n:host > div.open > div.open-combo-data {\n position: relative;\n z-index: 12;\n padding: var(--space-unit) calc(var(--space-unit) * 2);\n border: var(--border-size-small) solid var(--color-form-surface03);\n border-top: 0;\n background-color: var(--color-form-background);\n border-radius: 0;\n box-shadow: var(--shadow-2);\n}\n\n:host .open .open-combo-data z-input .input-label {\n color: var(--color-form-default-text);\n}\n\n:host > div.open > div.open-combo-data > div > div {\n overflow: auto;\n max-height: 235px;\n padding: 0;\n}\n\n:host > div.open > div.open-combo-data > z-input {\n width: 100%;\n margin-bottom: calc(var(--space-unit) * 2);\n}\n\n:host > div.open > div.open-combo-data > div > div > ul {\n max-height: 235px;\n padding: 0 3px; /* needed for checkbox focus shadow */\n margin: 0;\n}\n\n:host .open-combo-data z-list-element {\n --background-color-list-element: var(--color-form-background);\n --background-hover-color-list-element: var(--color-form-surface03);\n --background-active-color-list-element: var(--color-form-surface03);\n}\n\n::-webkit-scrollbar {\n width: 6px;\n background: linear-gradient(to right, transparent 0 1px, var(--gray200) 1px 5px, transparent 5px 6px);\n}\n\n::-webkit-scrollbar-thumb {\n background-color: var(--color-primary01);\n}\n\n::-webkit-scrollbar-thumb:hover {\n background-color: var(--color-hover-primary);\n}\n\n/* Firefox scrollbar */\n@supports not selector(::-webkit-scrollbar-track) {\n :host {\n scrollbar-color: var(--color-primary01) transparent;\n }\n}\n\n:host > div.open > z-input {\n position: relative;\n z-index: 1;\n width: 238px;\n margin: 0 calc(var(--space-unit) * 2);\n color: var(--color-form-active-primary);\n}\n\n:host > div.open > div.open-combo-data > div > div.search {\n overflow: hidden;\n max-height: none;\n margin-top: 0;\n}\n\n:host > div.open > div.open-combo-data > div > div.search > ul {\n overflow: auto;\n max-height: 180px;\n padding: var(--space-unit) calc(var(--space-unit) * 2);\n}\n\n:host .open .open-combo-data .search .no-results {\n display: flex;\n align-items: center;\n column-gap: var(--space-unit);\n}\n\n:host > .open > .open-combo-data .search .close-search {\n display: flex;\n justify-content: center;\n}\n\n:host > div.open > div.open-combo-data > div > div.search .close-search > a {\n display: inline-block;\n height: 44px;\n color: var(--color-form-active-primary);\n cursor: pointer;\n font-size: 14px;\n font-weight: var(--font-sb);\n line-height: 44px;\n text-align: center;\n text-transform: uppercase;\n}\n\n:host > div.open > div.open-combo-data > div > div.search .close-search > a:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host > div.open > div.open-combo-data > div > div.check-all-wrapper {\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5);\n border-bottom: var(--border-size-small) solid var(--gray800);\n margin-bottom: var(--space-unit);\n text-align: left;\n}\n\n:host([size=\"small\"]) > div.open > div.open-combo-data > div > div.check-all-wrapper {\n padding: calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 0.5);\n}\n\n:host([size=\"x-small\"]) > div.open > div.open-combo-data > div > div.check-all-wrapper {\n padding: var(--space-unit) calc(var(--space-unit) * 0.5);\n}\n","import {Component, Element, Event, EventEmitter, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ComboItem, ControlSize, InputType, KeyboardCode, ListDividerType, ListSize} from \"../../beans\";\nimport {handleKeyboardSubmit, randomId} from \"../../utils/utils\";\nimport {ZInput} from \"../z-input\";\n\n@Component({\n tag: \"z-combobox\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZCombobox {\n @Element() element: HTMLZComboboxElement;\n\n /** input unique id */\n @Prop()\n inputid = `combo-${randomId()}`;\n\n /** list items array */\n @Prop()\n items: ComboItem[] | string;\n\n /** label text */\n @Prop()\n label: string;\n\n /** the combobox is disabled */\n @Prop({reflect: true})\n disabled?: boolean = false;\n\n /** show search input flag (optional) */\n @Prop()\n hassearch?: boolean = false;\n\n /** search input label text (optional) */\n @Prop()\n searchlabel?: string;\n\n /** search input placeholder text (optional) */\n @Prop()\n searchplaceholder?: string;\n\n /** search input title text (optional) */\n @Prop()\n searchtitle?: string;\n\n /** no result text message */\n @Prop()\n noresultslabel?: string = \"Nessun risultato\";\n\n /** toggle combo list opening flag */\n @Prop({mutable: true})\n isopen = false;\n\n /** fixed style flag */\n @Prop()\n isfixed = false;\n\n /** close combobox list text */\n @Prop()\n closesearchtext?: string = \"Chiudi\";\n\n /** show \"check all\" checkbox (optional) */\n @Prop()\n hascheckall?: boolean = false;\n\n /** check all label (optional) */\n @Prop()\n checkalltext?: string = \"Seleziona tutti\";\n\n /** uncheck all label (optional) */\n @Prop()\n uncheckalltext?: string = \"Deseleziona tutti\";\n\n /** max number of checkable items (0 = unlimited) */\n @Prop()\n maxcheckableitems = 0;\n\n /** group items by category */\n @Prop()\n hasgroupitems?: boolean;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n @State()\n searchValue: string;\n\n @State()\n selectedCounter: number;\n\n @State()\n renderItemsList: ComboItem[] = []; // used for render only\n\n @State()\n focusedItemId: string;\n\n @State()\n checkboxes: HTMLInputElement[] = [];\n\n private itemsList: ComboItem[] = [];\n\n private inputType: InputType = InputType.TEXT;\n\n @Watch(\"items\")\n watchItems(): void {\n this.itemsList = typeof this.items === \"string\" ? JSON.parse(this.items) : this.items;\n this.selectedCounter = this.itemsList.filter((item) => item.checked).length;\n this.updateRenderItemsList();\n }\n\n @Watch(\"searchValue\")\n watchSearchValue(): void {\n this.filterItems(this.searchValue);\n }\n\n @Watch(\"checkboxes\")\n watchCheckboxes(): void {\n this.checkboxes.forEach((item, index) => item.setAttribute(\"tabindex\", index === 0 ? \"0\" : \"-1\"));\n }\n\n /** Emitted when value is checked/unchecked. Returns id, items. */\n @Event()\n comboboxChange: EventEmitter;\n\n private emitComboboxChange(): void {\n this.comboboxChange.emit({id: this.inputid, items: this.itemsList});\n }\n\n constructor() {\n this.toggleComboBox = this.toggleComboBox.bind(this);\n this.closeFilterItems = this.closeFilterItems.bind(this);\n }\n\n componentWillLoad(): void {\n this.watchItems();\n }\n\n componentWillRender(): void {\n this.selectedCounter = this.itemsList.filter((item) => item.checked).length;\n }\n\n componentDidRender(): void {\n const checkboxes = this.getAllCheckboxes();\n if (JSON.stringify(checkboxes) !== JSON.stringify(this.checkboxes)) {\n this.checkboxes = checkboxes;\n }\n }\n\n private getItemId(item: ComboItem): string {\n return `combo-checkbox-${this.inputid}-${item.id}`;\n }\n\n private getCheckboxClass(): string {\n return `combo-item-checkbox-input-${this.inputid}`;\n }\n\n private getAllCheckboxes(): HTMLInputElement[] {\n return Array.from(\n this.element.shadowRoot.querySelectorAll(`.${this.getCheckboxClass()} input:not([disabled])`)\n ) as HTMLInputElement[];\n }\n\n private getControlToListSize(): ListSize {\n switch (this.size) {\n case ControlSize.X_SMALL:\n return ListSize.SMALL;\n case ControlSize.SMALL:\n return ListSize.MEDIUM;\n default:\n return ListSize.LARGE;\n }\n }\n\n private handleSelectArrowsNavigation(e: KeyboardEvent, currId: string): void {\n if (![KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP].includes(e.key as KeyboardCode) || !this.isopen) {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n const currElem = this.element.shadowRoot.querySelector(`#${currId}`) as HTMLInputElement;\n if (!currElem) {\n return;\n }\n\n const checkboxes = this.checkboxes;\n if (!checkboxes.length) {\n return;\n }\n\n const currElemIndex = checkboxes.indexOf(currElem);\n const firstElemIndex = 0;\n const lastElemIndex = checkboxes.length - 1;\n\n let nextElem = null;\n if (e.key === KeyboardCode.ARROW_DOWN) {\n nextElem = currElemIndex === lastElemIndex ? checkboxes[firstElemIndex] : checkboxes[currElemIndex + 1];\n } else if (e.key === KeyboardCode.ARROW_UP) {\n nextElem = currElemIndex === firstElemIndex ? checkboxes[lastElemIndex] : checkboxes[currElemIndex - 1];\n }\n\n this.focusComboboxItem(nextElem);\n }\n\n private handleHeaderKeyboardEvent(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.SPACE) {\n ev.preventDefault();\n }\n if ((ev.key === KeyboardCode.ARROW_DOWN && !this.isopen) || (ev.key === KeyboardCode.ARROW_UP && this.isopen)) {\n this.toggleComboBox();\n }\n }\n\n private handleCheckboxFocus(id: string): void {\n this.focusedItemId = id;\n }\n\n private focusComboboxItem(elem): void {\n this.checkboxes.forEach(function (item) {\n item.setAttribute(\"tabindex\", \"-1\");\n });\n\n elem.setAttribute(\"tabindex\", \"0\");\n elem.focus();\n }\n\n private updateRenderItemsList(): void {\n if (this.searchValue) {\n this.filterItems(this.searchValue);\n } else {\n this.resetRenderItemsList();\n }\n }\n\n private resetRenderItemsList(): void {\n const renderItemsList = [];\n this.itemsList.forEach((item: ComboItem) => {\n renderItemsList.push({...item});\n });\n this.renderItemsList = renderItemsList;\n }\n\n private filterItems(value: string): void {\n if (!value) {\n return this.closeFilterItems();\n }\n\n this.resetRenderItemsList();\n this.renderItemsList = this.renderItemsList.filter((item) => {\n const start = item.name.toUpperCase().indexOf(value.toUpperCase());\n const end = start + value.length;\n const newName =\n item.name.substring(0, start) +\n \"<strong>\" +\n item.name.substring(start, end) +\n \"</strong>\" +\n item.name.substring(end, item.name.length);\n\n item.name = newName;\n\n return start >= 0;\n });\n }\n\n private checkAll(checked = true): void {\n this.itemsList = this.itemsList.map((item: ComboItem) => ({\n ...item,\n checked: checked,\n }));\n this.resetRenderItemsList();\n this.emitComboboxChange();\n }\n\n private closeFilterItems(): void {\n this.searchValue = \"\";\n this.resetRenderItemsList();\n }\n\n private toggleComboBox(): void {\n this.isopen = !this.isopen;\n }\n\n private getComboboxA11yAttributes(): Record<string, string> {\n return {\n \"role\": \"combobox\",\n \"aria-label\": this.label,\n \"aria-expanded\": this.isopen ? \"true\" : \"false\",\n \"aria-activedescendant\": this.isopen ? this.focusedItemId : \"\",\n \"aria-controls\": `${this.inputid}_list`,\n };\n }\n\n private renderHeader(): HTMLDivElement {\n return (\n <div\n class=\"header\"\n onClick={() => this.toggleComboBox()}\n onKeyDown={(ev: KeyboardEvent) => {\n this.handleHeaderKeyboardEvent(ev);\n }}\n onKeyUp={(ev: KeyboardEvent) => handleKeyboardSubmit(ev, this.toggleComboBox)}\n role=\"button\"\n tabindex={0}\n aria-expanded={this.isopen ? \"true\" : \"false\"}\n >\n <p class=\"body-3\">\n {this.label}\n <span>{this.selectedCounter > 0 && ` (${this.selectedCounter})`}</span>\n </p>\n <z-icon\n name=\"caret-down\"\n class={this.size}\n />\n </div>\n );\n }\n\n private renderContent(): HTMLDivElement {\n if (!this.isopen) {\n return;\n }\n\n return (\n <div class=\"open-combo-data\">\n {this.hassearch && this.renderSearchInput()}\n {!this.hassearch ? <span {...this.getComboboxA11yAttributes()} /> : null}\n <div\n role=\"listbox\"\n aria-label={this.label}\n aria-multiselectable={true}\n id={`${this.inputid}_list`}\n aria-owns={`${this.checkboxes.map((item) => item.id).join(\" \")}`}\n >\n {this.hascheckall && this.renderCheckAll()}\n {this.renderItems()}\n </div>\n </div>\n );\n }\n\n private renderItems(): HTMLDivElement {\n return (\n <div class={this.searchValue && \"search\"}>\n {this.renderList(this.renderItemsList)}\n {this.searchValue && this.renderCloseButton()}\n </div>\n );\n }\n\n private renderItem(item: ComboItem, index: number, length: number): HTMLZListElement {\n return (\n <z-list-element\n id={item.id}\n htmlTabindex={null}\n dividerType={index !== length - 1 ? ListDividerType.ELEMENT : ListDividerType.NONE}\n size={this.getControlToListSize()}\n >\n <z-input\n type={InputType.CHECKBOX}\n checked={item.checked}\n htmlid={this.getItemId(item)}\n label={item.name}\n class={this.getCheckboxClass()}\n disabled={!item.checked && this.maxcheckableitems && this.selectedCounter >= this.maxcheckableitems}\n size={this.size === ControlSize.X_SMALL ? ControlSize.SMALL : this.size}\n role=\"option\"\n aria-selected={item.checked ? \"true\" : \"false\"}\n onKeyDown={(e: KeyboardEvent) => this.handleSelectArrowsNavigation(e, this.getItemId(item))}\n onInputCheck={(e: CustomEvent) => {\n this.itemsList = this.itemsList.map((i: ComboItem) => {\n if (item.id === i.id) {\n i.checked = e.detail.checked;\n }\n\n return i;\n });\n this.updateRenderItemsList();\n this.emitComboboxChange();\n }}\n onInputFocus={(e: CustomEvent) => this.handleCheckboxFocus(e.detail.id)}\n />\n </z-list-element>\n );\n }\n\n private renderList(items: ComboItem[]): HTMLUListElement {\n if (!items) {\n return;\n }\n if (!items.length && this.searchValue) {\n return this.renderNoSearchResults();\n }\n\n if (this.hasgroupitems) {\n return this.renderGroups(items);\n }\n\n return (\n <ul role=\"none\">\n {items.map((item, i) => {\n return this.renderItem(item, i, items.length);\n })}\n </ul>\n );\n }\n\n private renderGroups(items: ComboItem[]): HTMLUListElement {\n const newData = items.reduce((group, item, index) => {\n const {category} = item;\n const zListItem = this.renderItem(item, index, items.length);\n\n group[category] = group[category] ?? [];\n group[category].push(zListItem);\n\n return group;\n }, {});\n\n const listGroups = Object.entries(newData as {[key: string]: HTMLZListElementElement[]}).map(([key, value]) => {\n return (\n <z-list-group divider-type={ListDividerType.ELEMENT}>\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n >\n {key}\n </span>\n {value.map((item) => item)}\n </z-list-group>\n );\n });\n\n return <ul role=\"none\">{listGroups}</ul>;\n }\n\n private renderNoSearchResults(): HTMLUListElement {\n return (\n <div class=\"no-results\">\n <z-icon name=\"multiply-circle\" />\n <span>{this.noresultslabel}</span>\n </div>\n );\n }\n\n private renderCloseButton(): HTMLDivElement {\n return (\n <div class=\"close-search\">\n <a\n onClick={() => this.closeFilterItems()}\n onKeyUp={(e: KeyboardEvent) => handleKeyboardSubmit(e, this.closeFilterItems)}\n role=\"button\"\n tabindex={0}\n >\n {this.closesearchtext}\n </a>\n </div>\n );\n }\n\n private renderSearchInput(): ZInput {\n return (\n <z-input\n htmlid={`${this.inputid}_search`}\n label={this.searchlabel}\n placeholder={this.searchplaceholder}\n htmltitle={this.searchtitle}\n type={this.inputType}\n value={this.searchValue}\n message={false}\n size={this.size}\n aria-autocomplete=\"list\"\n {...this.getComboboxA11yAttributes()}\n onKeyUp={(e: KeyboardEvent) => {\n if (e.key === KeyboardCode.ESC) {\n this.closeFilterItems();\n }\n }}\n onInputChange={(e: CustomEvent) => {\n this.searchValue = e.detail.value;\n }}\n />\n );\n }\n\n private renderCheckAll(): HTMLDivElement {\n if (this.searchValue) {\n return;\n }\n\n const checkAllId = `combo-checkbox-${this.inputid}-check-all`;\n const allChecked = this.selectedCounter === this.itemsList.length;\n\n return (\n <div class=\"check-all-wrapper\">\n <z-input\n type={InputType.CHECKBOX}\n checked={allChecked}\n htmlid={checkAllId}\n class={this.getCheckboxClass()}\n label={allChecked ? this.uncheckalltext : this.checkalltext}\n disabled={this.maxcheckableitems && this.maxcheckableitems < this.itemsList.length}\n size={this.size === ControlSize.X_SMALL ? ControlSize.SMALL : this.size}\n role=\"option\"\n aria-selected={allChecked ? \"true\" : \"false\"}\n onKeyDown={(e: KeyboardEvent) => this.handleSelectArrowsNavigation(e, checkAllId)}\n onInputCheck={(e: CustomEvent) => this.checkAll(e.detail.checked)}\n onInputFocus={(e: CustomEvent) => this.handleCheckboxFocus(e.detail.id)}\n />\n </div>\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div\n data-action={`combo-${this.inputid}`}\n class={{open: this.isopen, fixed: this.isfixed, disabled: this.disabled}}\n id={this.inputid}\n >\n {this.renderHeader()}\n {!this.disabled && this.renderContent()}\n </div>\n );\n }\n}\n"],"version":3}
@@ -31,9 +31,9 @@ const ZCoverHero$1 = /*@__PURE__*/ proxyCustomElement(class ZCoverHero extends H
31
31
  return (h("div", { class: "content-container" }, h("slot", { name: "content" })));
32
32
  }
33
33
  render() {
34
- return (h(Host, { key: '15c2c9a401700c3503e74f74637c2cbf3b474805' }, this.variant === CoverHeroVariant.STACKED &&
34
+ return (h(Host, { key: '11ffb259d4b5a22dae6b1a801ca6c89a72c4cc6d' }, this.variant === CoverHeroVariant.STACKED &&
35
35
  this.contentPosition === CoverHeroContentPosition.TOP &&
36
- this.renderContent(), h("div", { key: '269c88ee41679ea7730c202f4ca927a1868c5506', class: "main-container" }, h("div", { key: '67b039d0ba87fdb8a3520035104d9c6263ca5dc1', class: "cover-container" }, h("slot", { key: '3c330cafa143f57e9b4d6615d966c4d62cedd9c8', name: "cover" })), h("slot", { key: 'c092503e4d24f52535182e570edb67428d7a8aa9', name: "info-reveal" }), this.variant === CoverHeroVariant.OVERLAY && this.renderContent()), this.variant === CoverHeroVariant.STACKED &&
36
+ this.renderContent(), h("div", { key: 'b2e67125f868a827f09169ded6a0389de343f81a', class: "main-container" }, h("div", { key: '95d9a59c065594d013bf50da27ae9925af56cc58', class: "cover-container" }, h("slot", { key: 'eb9e31c65be9bc2f7b74a5c526d1fb606de2fd49', name: "cover" })), h("slot", { key: '58e2b737f877c61bd86c26b28e1e5f03ddea0d17', name: "info-reveal" }), this.variant === CoverHeroVariant.OVERLAY && this.renderContent()), this.variant === CoverHeroVariant.STACKED &&
37
37
  this.contentPosition === CoverHeroContentPosition.BOTTOM &&
38
38
  this.renderContent()));
39
39
  }
@@ -467,7 +467,7 @@ const ZDatePicker$1 = /*@__PURE__*/ proxyCustomElement(class ZDatePicker extends
467
467
  } })));
468
468
  }
469
469
  render() {
470
- return (h("div", { key: 'd9ddcadf506aed9515054eae4460ffc3745be7bc', class: {
470
+ return (h("div", { key: 'dda28683a78ceb2552f28afb6e60169a6e1ac60c', class: {
471
471
  "flatpickr-toggle-container": true,
472
472
  [this.flatpickrPosition]: true,
473
473
  [this.mode]: true,
@@ -42,7 +42,7 @@ const ZFile$1 = /*@__PURE__*/ proxyCustomElement(class ZFile extends HTMLElement
42
42
  return this.ellipsis.offsetWidth < this.ellipsis.scrollWidth;
43
43
  }
44
44
  render() {
45
- return (h(Host, { key: '9a670c454baa87afc7d1c9e47a744eecaa074c68' }, this.allowPopover && (h("z-popover", { key: '8d5d38d65a09aee75d56b888b9828a3f8a9e1626', open: this.popoverVisible, position: PopoverPosition.AUTO, bindTo: this.chip }, h("span", { key: 'c24e0d8afecbe3fdfb6370c76ddc0db54f597497', class: "body-5 tooltip-content" }, this.ellipsis.innerText))), h("z-chip", { key: 'a5c4ff0f9366bb59d581c9d48606d8989bbed678', ref: (el) => (this.chip = el), id: `chip-${this.fileNumber}`, interactiveIcon: "multiply-circled", type: ZChipType.DEFAULT }, h("span", { key: 'eed1a949170a44f7ff618ec3e363923aea656742', ref: (el) => (this.ellipsis = el), tabIndex: -1 }, this.fileName))));
45
+ return (h(Host, { key: 'aab09421c86ae3e4363157a36ba7dd90eba1fb45' }, this.allowPopover && (h("z-popover", { key: '82e2f64a9cf0700ff4c866ef5a1c9698cdeb124f', open: this.popoverVisible, position: PopoverPosition.AUTO, bindTo: this.chip }, h("span", { key: 'affa4edac9a131c9abe293a08933993c3613f6cc', class: "body-5 tooltip-content" }, this.ellipsis.innerText))), h("z-chip", { key: 'f6a80c8bcdccd89bf3d72b67a40d54b3b3c16456', ref: (el) => (this.chip = el), id: `chip-${this.fileNumber}`, interactiveIcon: "multiply-circled", type: ZChipType.DEFAULT }, h("span", { key: '8159b57e939c249924f99b0fb5bdbfd76c6a38f1', ref: (el) => (this.ellipsis = el), tabIndex: -1 }, this.fileName))));
46
46
  }
47
47
  get el() { return this; }
48
48
  static get style() { return ZFileStyle0; }
@@ -17,7 +17,7 @@ const ZInfoBox$1 = /*@__PURE__*/ proxyCustomElement(class ZInfoBox extends HTMLE
17
17
  this.infoBoxClose.emit({ boxid: this.boxid });
18
18
  }
19
19
  render() {
20
- return (h("div", { key: 'bff4d7fdd01fae2697f23b03515d9cb93a53127d', id: this.boxid }, h("slot", { key: 'a2d80c39c0cc7c115974a4d5da52c2189ab830c9', name: "content" }), this.isclosable && (h("z-icon", { key: '555579d0bf7c1e654055fe4c552c4e89af0fb513', name: "multiply", "data-action": "infoBoxClose", onClick: () => this.emitInfoBoxClose() }))));
20
+ return (h("div", { key: '7a806511823b922e582c3483a3dc65390be55ae5', id: this.boxid }, h("slot", { key: '28e118a66bccb3ed840144b8c79d8fe438ab9674', name: "content" }), this.isclosable && (h("z-icon", { key: '6b679334c2bd8ed64a3227129d44e2ea75170fe6', name: "multiply", "data-action": "infoBoxClose", onClick: () => this.emitInfoBoxClose() }))));
21
21
  }
22
22
  static get style() { return ZInfoBoxStyle0; }
23
23
  }, [1, "z-info-box", {
@@ -23,7 +23,7 @@ const ZLogo$1 = /*@__PURE__*/ proxyCustomElement(class ZLogo extends HTMLElement
23
23
  if (this.height) {
24
24
  style["height"] = style["max-height"] = `${this.height}px`;
25
25
  }
26
- return (h(Host, { key: '43def5f659303a7fa03bdf8a48bf03dacc379dde', style: style, class: { mobile: !!this.mobileLogo } }, this.link ? (h("a", { href: this.link, target: this.targetBlank ? "_blank" : "_self" }, h("img", { alt: this.imageAlt }))) : (h("img", { alt: this.imageAlt }))));
26
+ return (h(Host, { key: '9aed92865ad9a66ad0b2996afe6ca52c61df37c1', style: style, class: { mobile: !!this.mobileLogo } }, this.link ? (h("a", { href: this.link, target: this.targetBlank ? "_blank" : "_self" }, h("img", { alt: this.imageAlt }))) : (h("img", { alt: this.imageAlt }))));
27
27
  }
28
28
  static get style() { return ZLogoStyle0; }
29
29
  }, [1, "z-logo", {
@@ -100,7 +100,7 @@ const ZMenuDeprecated$1 = /*@__PURE__*/ proxyCustomElement(class ZMenuDeprecated
100
100
  return (h("div", { class: "menu-label" }, h("div", { class: "menu-label-content" }, h("slot", { onSlotchange: this.onLabelSlotChange }))));
101
101
  }
102
102
  render() {
103
- return (h(Host, { key: 'b85eb4e974d6e49d326f637e96f467d867588cc4' }, this.renderMenuLabel(), this.hasContent && (h("div", { key: '36e4f36123dd6e49f334a6f5e98cce0875df158c', class: "content", ref: (el) => (this.content = el) }, this.hasHeader && (h("header", { key: 'd8d980f037bd593ca7388946f27f08372d19f7e8', class: "header" }, h("slot", { key: '1d40e062cc0d24b5c7adcb707341d438e0089cb7', name: "header", onSlotchange: this.checkContent }))), h("div", { key: '93cdd787bb371624be8311ca32539a576ee1fcb7', class: "items", role: "menu" }, h("slot", { key: '2d1ffad0d4c6fec04d202e371118535f5454eaef', name: "item", onSlotchange: this.onItemsChange }))))));
103
+ return (h(Host, { key: '74b5b32d29db7c6e7d241f1583a2df27979fb4f8' }, this.renderMenuLabel(), this.hasContent && (h("div", { key: '6bdfeb0e2d900a53e69a15861c1c5d6337fcf972', class: "content", ref: (el) => (this.content = el) }, this.hasHeader && (h("header", { key: 'da9c528915686f2b5fcface1483822df96abca6b', class: "header" }, h("slot", { key: '692467f0246d129d75525a5097529d8c2a8f6817', name: "header", onSlotchange: this.checkContent }))), h("div", { key: '639ffcb514c6d95d7dca908b2c0cbf142f42a9e3', class: "items", role: "menu" }, h("slot", { key: '783021819f17a536746670de911ebef9665e8e99', name: "item", onSlotchange: this.onItemsChange }))))));
104
104
  }
105
105
  get hostElement() { return this; }
106
106
  static get watchers() { return {
@@ -48,7 +48,7 @@ const ZMenuSectionDeprecated$1 = /*@__PURE__*/ proxyCustomElement(class ZMenuSec
48
48
  this.checkContent();
49
49
  }
50
50
  render() {
51
- return (h(Host, { key: '683c1153c92167f03d2324765485f0c42d9e088e', role: "menu", open: this.open }, h("button", { key: '774e5b28393d489684864d4e3ad3e5f2f9ad8ffe', class: "label", "aria-pressed": this.open ? "true" : "false", onClick: this.toggle.bind(this) }, h("slot", { key: 'f27ceb99398725734be2027e191c7bba8e3bf593', onSlotchange: this.onLabelSlotChange.bind(this) }), this.hasContent && h("z-icon", { key: 'a5a2a175c5ec52579d184afbed86135f0c43ea8e', name: this.open ? "chevron-up" : "chevron-down" })), this.open && (h("div", { key: 'd27cf75d9481eae65039adc296246776b09fbc3a', class: "items" }, h("slot", { key: 'dbb67c5b4f7587a4f83a4ffe8a8af6d91d1180c8', name: "item", onSlotchange: this.checkContent.bind(this) })))));
51
+ return (h(Host, { key: 'cb55ccb8c7327254eabaab573f6fb0a5ae2ac361', role: "menu", open: this.open }, h("button", { key: '5065f38502c4bb0167bb7332e0e8ba0dd36541df', class: "label", "aria-pressed": this.open ? "true" : "false", onClick: this.toggle.bind(this) }, h("slot", { key: '67a5082482b73f27f8244f730ac88da14d4db6c4', onSlotchange: this.onLabelSlotChange.bind(this) }), this.hasContent && h("z-icon", { key: 'b513a5c76223e7a83162cc3b28434c53124b135c', name: this.open ? "chevron-up" : "chevron-down" })), this.open && (h("div", { key: '4f43962d01e60cea802f06413acae360ead32aa0', class: "items" }, h("slot", { key: '020f1235a37a99e274e9f4d611153f4915c9cd41', name: "item", onSlotchange: this.checkContent.bind(this) })))));
52
52
  }
53
53
  get hostElement() { return this; }
54
54
  static get style() { return ZMenuSectionDeprecatedStyle0; }
@@ -88,6 +88,9 @@ const ZMenuSection$1 = /*@__PURE__*/ proxyCustomElement(class ZMenuSection exten
88
88
  }
89
89
  }
90
90
  onTabindexChange() {
91
+ if (!this.label) {
92
+ return;
93
+ }
91
94
  this.label.tabIndex = this.htmlTabindex;
92
95
  }
93
96
  onItemsKeydown(ev) {
@@ -176,7 +179,7 @@ const ZMenuSection$1 = /*@__PURE__*/ proxyCustomElement(class ZMenuSection exten
176
179
  this.onItemsChange();
177
180
  }
178
181
  render() {
179
- return (h(Host, { key: 'ca61d9daac35484cf3fa3a7ab4d6b5700dade8b0', open: this.open }, h("button", { key: 'd2750e008a22b0de43075ed947d1b9e0f6917bd5', ref: (el) => (this.label = el), class: "label", "aria-haspopup": `${!!this.hasItems}`, "aria-expanded": `${!!this.open}`, role: "menuitem", tabindex: this.htmlTabindex, onClick: this.onLabelClick, onKeyDown: this.onLabelKeydown }, h("slot", { key: 'be5dad19dd6fece321bb68ff89e17372f4353539', onSlotchange: this.onLabelSlotChange }), this.hasItems && h("z-icon", { key: '7c6fecfd96a4391394b17f3eea38aa7f29786a18', name: this.open ? "chevron-up" : "chevron-down" })), h("div", { key: '87512635c2b4377a6c304cc0bb1345131997e5f4', class: "items", role: "menu", hidden: !this.open }, h("slot", { key: 'b2dfb0d5a94adb555fb08c7592d5c58feb3c6c5f', name: "section", onSlotchange: this.onItemsChange }))));
182
+ return (h(Host, { key: '7096b13684165ea59a80c5aa679f9ab63c47c0c0', open: this.open }, h("button", { key: '9f170b0588f348f8b17ae9d7809c9fcbf52d9e53', ref: (el) => (this.label = el), class: "label", "aria-haspopup": `${!!this.hasItems}`, "aria-expanded": `${!!this.open}`, role: "menuitem", tabindex: this.htmlTabindex, onClick: this.onLabelClick, onKeyDown: this.onLabelKeydown }, h("slot", { key: 'bf8676afd6af9f622fed46baee5c3f2ef349e083', onSlotchange: this.onLabelSlotChange }), this.hasItems && h("z-icon", { key: '53ac6446d771a867af3474619809ffc110e4baa1', name: this.open ? "chevron-up" : "chevron-down" })), h("div", { key: '632ee96a07716da82d70b8fc8170014846f8fca4', class: "items", role: "menu", hidden: !this.open }, h("slot", { key: 'f5c81d4bf7073341a0d46a0638c8d08172c2afb9', name: "section", onSlotchange: this.onItemsChange }))));
180
183
  }
181
184
  get host() { return this; }
182
185
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"z-menu-section.js","mappings":"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","names":["ZMenuSection"],"sources":["src/components/z-menu-section/styles.css?tag=z-menu-section&encapsulation=shadow","src/components/z-menu-section/index.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n padding: 0;\n font-family: var(--font-family-sans);\n}\n\n:host,\n::slotted(*),\n* {\n box-sizing: border-box;\n}\n\n::slotted(a) {\n text-decoration: none;\n}\n\n::slotted(*) {\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n.label {\n display: flex;\n width: 100%;\n align-items: center;\n padding: var(--space-unit) 0;\n border: 0;\n border-bottom: var(--border-size-small) solid var(--color-surface03);\n margin: 0;\n background: transparent;\n border-radius: 0;\n cursor: pointer;\n text-align: left;\n}\n\n:host(:last-child:not([open])) .label {\n border-bottom: none;\n}\n\n:host(:is([active], [open])) .label,\n.label:focus:focus-visible,\n.label:hover {\n border-color: var(--color-primary01);\n}\n\n.label:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host(:is([active], [open])) .label ::slotted(*),\n.label:focus:focus-visible ::slotted(*),\n.label:hover ::slotted(*) {\n font-weight: var(--font-bd);\n}\n\n::slotted([data-text]) {\n display: inline-flex;\n flex-direction: column;\n}\n\n/* Trick to prevent layout shifts on font-weight changes.\nThe trick is to put an hidden copy of the text already set to bold,\nso the needed space is correctly calculated before any hover/active state changes the\nfont-weight of the real text.\nThe hidden text has an height of 0px so it can expand the width without changing the height\nwhen placed below the real text using `flex-direction: column`. */\n::slotted([data-text])::after {\n overflow: hidden;\n height: 0;\n content: attr(data-text);\n content: attr(data-text) / \"\";\n font-weight: var(--font-bd);\n pointer-events: none;\n user-select: none;\n visibility: hidden;\n}\n\n@media speech {\n ::slotted([data-text])::after {\n display: none;\n }\n}\n\n.label ::slotted(*) {\n width: 100%;\n margin: 0;\n font-size: var(--font-size-3);\n line-height: 1.5;\n}\n\n.label z-icon {\n margin-left: calc(var(--space-unit) * 4);\n fill: var(--color-default-icon);\n}\n\n.items {\n display: flex;\n width: 100%;\n flex-direction: column;\n padding: calc(var(--space-unit) / 2);\n padding-bottom: calc(var(--space-unit) * 1.5);\n}\n\n.items[hidden] {\n display: none;\n}\n\n::slotted([slot=\"section\"]) {\n display: inline-flex;\n padding: calc(var(--space-unit) / 2);\n margin: 0;\n font-size: var(--font-size-1);\n line-height: 1.333;\n outline: none;\n}\n\n::slotted([slot=\"section\"]:last-of-type) {\n border: none;\n}\n\n::slotted([slot=\"section\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n color: var(--color-primary01);\n}\n\n::slotted([slot=\"section\"]:hover),\n::slotted([slot=\"section\"]:focus:focus-visible),\n::slotted([slot=\"section\"][active]) {\n color: var(--color-primary01);\n font-weight: var(--font-bd);\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, State, Watch, h} from \"@stencil/core\";\nimport {KeyboardCode} from \"../../beans\";\n\n/**\n * A component to create submenus inside the ZMenu.\n * @slot - Label of the menu section.\n * @slot section - Single entry of the menu section. Set the same slot name to different elements to put many of them. Add the `active` attribute to a slotted element to highlight it.\n */\n@Component({\n tag: \"z-menu-section\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMenuSection {\n @Element() host: HTMLZMenuSectionElement;\n\n /** Active state */\n @Prop({reflect: true})\n active?: boolean;\n\n /**\n * Tabindex value to set on the label button.\n * Useful to manage keyboard navigation focus with roving tabindex handled by this component's parent (usually ZMenu).\n */\n @Prop()\n htmlTabindex = -1;\n\n /** The opening state of the section. */\n @Prop({mutable: true})\n open: boolean;\n\n @State()\n hasItems: boolean;\n\n @State()\n items: HTMLElement[];\n\n /** The section has been opened. */\n @Event()\n opened: EventEmitter;\n\n /** The section has been closed. */\n @Event()\n closed: EventEmitter;\n\n private label: HTMLButtonElement;\n\n private get focusableItem(): HTMLElement {\n return this.items.find(({tabIndex}) => tabIndex === 0);\n }\n\n private toggle(): void {\n if (!this.hasItems) {\n return;\n }\n\n this.open = !this.open;\n }\n\n private setItemsA11yAttrs(): void {\n if (!this.hasItems) {\n return;\n }\n\n this.items.forEach((item) => {\n item.setAttribute(\"role\", \"menuitem\");\n item.tabIndex = -1;\n });\n }\n\n private onItemsChange(): void {\n this.items = Array.from(this.host.querySelectorAll('[slot=\"section\"]')) as HTMLElement[];\n this.hasItems = this.items.length > 0;\n this.setItemsA11yAttrs();\n }\n\n /**\n * Sets slotted item text as `data-text` attribute value, to let CSS use it through `attr()`.\n * @param ev Slotchange event\n */\n private onLabelSlotChange(ev: Event): void {\n const labelElement = (ev.target as HTMLSlotElement).assignedElements()[0] as HTMLElement;\n labelElement.dataset.text = labelElement?.textContent;\n }\n\n private onLabelClick(): void {\n this.toggle();\n this.setFocus();\n }\n\n private onLabelKeydown(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.ENTER || ev.key === KeyboardCode.SPACE) {\n ev.preventDefault();\n ev.stopPropagation();\n this.toggle();\n if (this.open) {\n this.focustFirstItem();\n }\n }\n }\n\n /**\n * Move focus and adjust the tabindex value of `receiver` and `current` elements,\n * setting -1 to the `current` and 0 to the `receiver`, then focus the `receiver` element.\n */\n private moveFocus(receiver: HTMLElement, current?: HTMLElement): void {\n receiver.tabIndex = 0;\n setTimeout(() => {\n receiver.focus();\n }, 100);\n if (current) {\n current.tabIndex = -1;\n }\n }\n\n private focustFirstItem(): void {\n this.moveFocus(this.items[0]);\n }\n\n /** Focus the last item. */\n @Method()\n async focusLastItem(): Promise<void> {\n this.moveFocus(this.items[this.items.length - 1]);\n }\n\n /** Set tabindex of the label to 0, then focus it. */\n @Method()\n async setFocus(): Promise<void> {\n this.htmlTabindex = 0;\n setTimeout(() => {\n this.label.focus();\n }, 100);\n }\n\n @Watch(\"open\")\n onOpenChange(): void {\n if (!this.open) {\n this.setItemsA11yAttrs();\n this.closed.emit();\n } else {\n this.opened.emit();\n }\n }\n\n @Watch(\"htmlTabindex\")\n onTabindexChange(): void {\n this.label.tabIndex = this.htmlTabindex;\n }\n\n @Listen(\"keydown\")\n private onItemsKeydown(ev: KeyboardEvent): void {\n switch (ev.key) {\n case KeyboardCode.ESC:\n case KeyboardCode.ARROW_LEFT:\n if (!this.open) {\n break;\n }\n ev.preventDefault();\n ev.stopPropagation();\n this.moveFocus(this.label, this.focusableItem);\n this.open = false;\n break;\n case KeyboardCode.ARROW_RIGHT:\n if (this.open) {\n break;\n }\n ev.preventDefault();\n ev.stopPropagation();\n this.open = true;\n this.focustFirstItem();\n break;\n case KeyboardCode.ARROW_DOWN: {\n if (!this.open) {\n break;\n }\n if (document.activeElement === this.host) {\n ev.preventDefault();\n ev.stopPropagation();\n this.focustFirstItem();\n break;\n }\n const currentIndex = this.items.indexOf(this.focusableItem);\n const receiver = this.items[currentIndex + 1];\n if (receiver) {\n ev.preventDefault();\n ev.stopPropagation();\n this.moveFocus(receiver, this.focusableItem);\n } else {\n this.htmlTabindex = 0;\n this.focusableItem.tabIndex = -1;\n }\n break;\n }\n case KeyboardCode.ARROW_UP: {\n if (!this.open || document.activeElement === this.host) {\n break;\n }\n const currentIndex = this.items.indexOf(this.focusableItem);\n const receiver = this.items[currentIndex - 1];\n ev.preventDefault();\n ev.stopPropagation();\n if (receiver) {\n this.moveFocus(receiver, this.focusableItem);\n } else {\n // since there isn't a previous item to focus, give the focus to the label element\n this.focusableItem.tabIndex = -1;\n this.setFocus();\n }\n break;\n }\n }\n }\n\n constructor() {\n this.toggle = this.toggle.bind(this);\n this.onItemsChange = this.onItemsChange.bind(this);\n this.onLabelSlotChange = this.onLabelSlotChange.bind(this);\n this.onLabelClick = this.onLabelClick.bind(this);\n this.onLabelKeydown = this.onLabelKeydown.bind(this);\n this.onItemsKeydown = this.onItemsKeydown.bind(this);\n }\n\n connectedCallback(): void {\n this.onItemsChange();\n }\n\n render(): HTMLZMenuSectionElement {\n return (\n <Host open={this.open}>\n <button\n ref={(el) => (this.label = el)}\n class=\"label\"\n aria-haspopup={`${!!this.hasItems}`}\n aria-expanded={`${!!this.open}`}\n role=\"menuitem\"\n tabindex={this.htmlTabindex}\n onClick={this.onLabelClick}\n onKeyDown={this.onLabelKeydown}\n >\n <slot onSlotchange={this.onLabelSlotChange} />\n {this.hasItems && <z-icon name={this.open ? \"chevron-up\" : \"chevron-down\"} />}\n </button>\n <div\n class=\"items\"\n role=\"menu\"\n hidden={!this.open}\n >\n <slot\n name=\"section\"\n onSlotchange={this.onItemsChange}\n />\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"z-menu-section.js","mappings":"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","names":["ZMenuSection"],"sources":["src/components/z-menu-section/styles.css?tag=z-menu-section&encapsulation=shadow","src/components/z-menu-section/index.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n padding: 0;\n font-family: var(--font-family-sans);\n}\n\n:host,\n::slotted(*),\n* {\n box-sizing: border-box;\n}\n\n::slotted(a) {\n text-decoration: none;\n}\n\n::slotted(*) {\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n.label {\n display: flex;\n width: 100%;\n align-items: center;\n padding: var(--space-unit) 0;\n border: 0;\n border-bottom: var(--border-size-small) solid var(--color-surface03);\n margin: 0;\n background: transparent;\n border-radius: 0;\n cursor: pointer;\n text-align: left;\n}\n\n:host(:last-child:not([open])) .label {\n border-bottom: none;\n}\n\n:host(:is([active], [open])) .label,\n.label:focus:focus-visible,\n.label:hover {\n border-color: var(--color-primary01);\n}\n\n.label:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host(:is([active], [open])) .label ::slotted(*),\n.label:focus:focus-visible ::slotted(*),\n.label:hover ::slotted(*) {\n font-weight: var(--font-bd);\n}\n\n::slotted([data-text]) {\n display: inline-flex;\n flex-direction: column;\n}\n\n/* Trick to prevent layout shifts on font-weight changes.\nThe trick is to put an hidden copy of the text already set to bold,\nso the needed space is correctly calculated before any hover/active state changes the\nfont-weight of the real text.\nThe hidden text has an height of 0px so it can expand the width without changing the height\nwhen placed below the real text using `flex-direction: column`. */\n::slotted([data-text])::after {\n overflow: hidden;\n height: 0;\n content: attr(data-text);\n content: attr(data-text) / \"\";\n font-weight: var(--font-bd);\n pointer-events: none;\n user-select: none;\n visibility: hidden;\n}\n\n@media speech {\n ::slotted([data-text])::after {\n display: none;\n }\n}\n\n.label ::slotted(*) {\n width: 100%;\n margin: 0;\n font-size: var(--font-size-3);\n line-height: 1.5;\n}\n\n.label z-icon {\n margin-left: calc(var(--space-unit) * 4);\n fill: var(--color-default-icon);\n}\n\n.items {\n display: flex;\n width: 100%;\n flex-direction: column;\n padding: calc(var(--space-unit) / 2);\n padding-bottom: calc(var(--space-unit) * 1.5);\n}\n\n.items[hidden] {\n display: none;\n}\n\n::slotted([slot=\"section\"]) {\n display: inline-flex;\n padding: calc(var(--space-unit) / 2);\n margin: 0;\n font-size: var(--font-size-1);\n line-height: 1.333;\n outline: none;\n}\n\n::slotted([slot=\"section\"]:last-of-type) {\n border: none;\n}\n\n::slotted([slot=\"section\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n color: var(--color-primary01);\n}\n\n::slotted([slot=\"section\"]:hover),\n::slotted([slot=\"section\"]:focus:focus-visible),\n::slotted([slot=\"section\"][active]) {\n color: var(--color-primary01);\n font-weight: var(--font-bd);\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, State, Watch, h} from \"@stencil/core\";\nimport {KeyboardCode} from \"../../beans\";\n\n/**\n * A component to create submenus inside the ZMenu.\n * @slot - Label of the menu section.\n * @slot section - Single entry of the menu section. Set the same slot name to different elements to put many of them. Add the `active` attribute to a slotted element to highlight it.\n */\n@Component({\n tag: \"z-menu-section\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMenuSection {\n @Element() host: HTMLZMenuSectionElement;\n\n /** Active state */\n @Prop({reflect: true})\n active?: boolean;\n\n /**\n * Tabindex value to set on the label button.\n * Useful to manage keyboard navigation focus with roving tabindex handled by this component's parent (usually ZMenu).\n */\n @Prop()\n htmlTabindex = -1;\n\n /** The opening state of the section. */\n @Prop({mutable: true})\n open: boolean;\n\n @State()\n hasItems: boolean;\n\n @State()\n items: HTMLElement[];\n\n /** The section has been opened. */\n @Event()\n opened: EventEmitter;\n\n /** The section has been closed. */\n @Event()\n closed: EventEmitter;\n\n private label: HTMLButtonElement;\n\n private get focusableItem(): HTMLElement {\n return this.items.find(({tabIndex}) => tabIndex === 0);\n }\n\n private toggle(): void {\n if (!this.hasItems) {\n return;\n }\n\n this.open = !this.open;\n }\n\n private setItemsA11yAttrs(): void {\n if (!this.hasItems) {\n return;\n }\n\n this.items.forEach((item) => {\n item.setAttribute(\"role\", \"menuitem\");\n item.tabIndex = -1;\n });\n }\n\n private onItemsChange(): void {\n this.items = Array.from(this.host.querySelectorAll('[slot=\"section\"]')) as HTMLElement[];\n this.hasItems = this.items.length > 0;\n this.setItemsA11yAttrs();\n }\n\n /**\n * Sets slotted item text as `data-text` attribute value, to let CSS use it through `attr()`.\n * @param ev Slotchange event\n */\n private onLabelSlotChange(ev: Event): void {\n const labelElement = (ev.target as HTMLSlotElement).assignedElements()[0] as HTMLElement;\n labelElement.dataset.text = labelElement?.textContent;\n }\n\n private onLabelClick(): void {\n this.toggle();\n this.setFocus();\n }\n\n private onLabelKeydown(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.ENTER || ev.key === KeyboardCode.SPACE) {\n ev.preventDefault();\n ev.stopPropagation();\n this.toggle();\n if (this.open) {\n this.focustFirstItem();\n }\n }\n }\n\n /**\n * Move focus and adjust the tabindex value of `receiver` and `current` elements,\n * setting -1 to the `current` and 0 to the `receiver`, then focus the `receiver` element.\n */\n private moveFocus(receiver: HTMLElement, current?: HTMLElement): void {\n receiver.tabIndex = 0;\n setTimeout(() => {\n receiver.focus();\n }, 100);\n if (current) {\n current.tabIndex = -1;\n }\n }\n\n private focustFirstItem(): void {\n this.moveFocus(this.items[0]);\n }\n\n /** Focus the last item. */\n @Method()\n async focusLastItem(): Promise<void> {\n this.moveFocus(this.items[this.items.length - 1]);\n }\n\n /** Set tabindex of the label to 0, then focus it. */\n @Method()\n async setFocus(): Promise<void> {\n this.htmlTabindex = 0;\n setTimeout(() => {\n this.label.focus();\n }, 100);\n }\n\n @Watch(\"open\")\n onOpenChange(): void {\n if (!this.open) {\n this.setItemsA11yAttrs();\n this.closed.emit();\n } else {\n this.opened.emit();\n }\n }\n\n @Watch(\"htmlTabindex\")\n onTabindexChange(): void {\n if (!this.label) {\n return;\n }\n\n this.label.tabIndex = this.htmlTabindex;\n }\n\n @Listen(\"keydown\")\n private onItemsKeydown(ev: KeyboardEvent): void {\n switch (ev.key) {\n case KeyboardCode.ESC:\n case KeyboardCode.ARROW_LEFT:\n if (!this.open) {\n break;\n }\n ev.preventDefault();\n ev.stopPropagation();\n this.moveFocus(this.label, this.focusableItem);\n this.open = false;\n break;\n case KeyboardCode.ARROW_RIGHT:\n if (this.open) {\n break;\n }\n ev.preventDefault();\n ev.stopPropagation();\n this.open = true;\n this.focustFirstItem();\n break;\n case KeyboardCode.ARROW_DOWN: {\n if (!this.open) {\n break;\n }\n if (document.activeElement === this.host) {\n ev.preventDefault();\n ev.stopPropagation();\n this.focustFirstItem();\n break;\n }\n const currentIndex = this.items.indexOf(this.focusableItem);\n const receiver = this.items[currentIndex + 1];\n if (receiver) {\n ev.preventDefault();\n ev.stopPropagation();\n this.moveFocus(receiver, this.focusableItem);\n } else {\n this.htmlTabindex = 0;\n this.focusableItem.tabIndex = -1;\n }\n break;\n }\n case KeyboardCode.ARROW_UP: {\n if (!this.open || document.activeElement === this.host) {\n break;\n }\n const currentIndex = this.items.indexOf(this.focusableItem);\n const receiver = this.items[currentIndex - 1];\n ev.preventDefault();\n ev.stopPropagation();\n if (receiver) {\n this.moveFocus(receiver, this.focusableItem);\n } else {\n // since there isn't a previous item to focus, give the focus to the label element\n this.focusableItem.tabIndex = -1;\n this.setFocus();\n }\n break;\n }\n }\n }\n\n constructor() {\n this.toggle = this.toggle.bind(this);\n this.onItemsChange = this.onItemsChange.bind(this);\n this.onLabelSlotChange = this.onLabelSlotChange.bind(this);\n this.onLabelClick = this.onLabelClick.bind(this);\n this.onLabelKeydown = this.onLabelKeydown.bind(this);\n this.onItemsKeydown = this.onItemsKeydown.bind(this);\n }\n\n connectedCallback(): void {\n this.onItemsChange();\n }\n\n render(): HTMLZMenuSectionElement {\n return (\n <Host open={this.open}>\n <button\n ref={(el) => (this.label = el)}\n class=\"label\"\n aria-haspopup={`${!!this.hasItems}`}\n aria-expanded={`${!!this.open}`}\n role=\"menuitem\"\n tabindex={this.htmlTabindex}\n onClick={this.onLabelClick}\n onKeyDown={this.onLabelKeydown}\n >\n <slot onSlotchange={this.onLabelSlotChange} />\n {this.hasItems && <z-icon name={this.open ? \"chevron-up\" : \"chevron-down\"} />}\n </button>\n <div\n class=\"items\"\n role=\"menu\"\n hidden={!this.open}\n >\n <slot\n name=\"section\"\n onSlotchange={this.onItemsChange}\n />\n </div>\n </Host>\n );\n }\n}\n"],"version":3}