@zanichelli/albe-web-components 18.7.7 → 18.8.1-RC1

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 (500) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/index-96af6326.js +4 -0
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/web-components-library.cjs.js +1 -1
  5. package/dist/cjs/z-alert.cjs.entry.js +1 -1
  6. package/dist/cjs/z-app-header_12.cjs.entry.js +18 -16
  7. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  8. package/dist/cjs/z-book-card.cjs.entry.js +15 -14
  9. package/dist/cjs/z-book-card.cjs.entry.js.map +1 -1
  10. package/dist/{components/placeholder-cover.js → cjs/z-book-cover.cjs.entry.js} +26 -2
  11. package/dist/cjs/z-book-cover.cjs.entry.js.map +1 -0
  12. package/dist/cjs/z-breadcrumb.cjs.entry.js +2 -2
  13. package/dist/cjs/z-button-sort.cjs.entry.js +1 -1
  14. package/dist/cjs/z-chip.cjs.entry.js +2 -2
  15. package/dist/cjs/z-combobox.cjs.entry.js +1 -1
  16. package/dist/cjs/z-cover-hero.cjs.entry.js +2 -2
  17. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +4 -4
  18. package/dist/cjs/z-ghost-loading.cjs.entry.js +1 -1
  19. package/dist/cjs/z-info-box.cjs.entry.js +1 -1
  20. package/dist/cjs/z-info-reveal.cjs.entry.js +1 -1
  21. package/dist/cjs/z-logo.cjs.entry.js +1 -1
  22. package/dist/cjs/z-myz-card-alert.cjs.entry.js +1 -1
  23. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +1 -1
  24. package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js +1 -1
  25. package/dist/cjs/z-myz-card-footer.cjs.entry.js +1 -1
  26. package/dist/cjs/z-myz-card-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/z-myz-card-info.cjs.entry.js +1 -1
  28. package/dist/cjs/z-myz-card-list.cjs.entry.js +1 -1
  29. package/dist/cjs/z-myz-card_4.cjs.entry.js +4 -4
  30. package/dist/cjs/z-myz-list-item.cjs.entry.js +1 -1
  31. package/dist/cjs/z-myz-list.cjs.entry.js +1 -1
  32. package/dist/cjs/z-navigation-tabs.cjs.entry.js +2 -2
  33. package/dist/cjs/z-notification.cjs.entry.js +1 -1
  34. package/dist/cjs/z-otp.cjs.entry.js +2 -2
  35. package/dist/cjs/z-panel-elem.cjs.entry.js +2 -2
  36. package/dist/cjs/z-popover.cjs.entry.js +1 -1
  37. package/dist/cjs/z-result-card.cjs.entry.js +6 -14
  38. package/dist/cjs/z-result-card.cjs.entry.js.map +1 -1
  39. package/dist/cjs/z-select.cjs.entry.js +42 -40
  40. package/dist/cjs/z-select.cjs.entry.js.map +1 -1
  41. package/dist/cjs/z-skip-to-content.cjs.entry.js +1 -1
  42. package/dist/cjs/z-stepper-item.cjs.entry.js +1 -1
  43. package/dist/cjs/z-stepper.cjs.entry.js +1 -1
  44. package/dist/cjs/z-toast-notification-list.cjs.entry.js +1 -1
  45. package/dist/cjs/z-toast-notification.cjs.entry.js +1 -1
  46. package/dist/cjs/z-toggle-button.cjs.entry.js +2 -2
  47. package/dist/cjs/z-toggle-switch.cjs.entry.js +3 -3
  48. package/dist/cjs/z-tooltip.cjs.entry.js +1 -1
  49. package/dist/collection/collection-manifest.json +2 -1
  50. package/dist/collection/components/book-card/z-book-card/index.js +66 -29
  51. package/dist/collection/components/book-card/z-book-card/index.js.map +1 -1
  52. package/dist/collection/components/book-card/z-book-card/index.stories.js +11 -13
  53. package/dist/collection/components/book-card/z-book-card/index.stories.js.map +1 -1
  54. package/dist/collection/components/book-card/z-book-card/styles.css +35 -67
  55. package/dist/collection/components/list/z-list-element/styles.css +1 -1
  56. package/dist/collection/components/list/z-list-group/styles.css +3 -3
  57. package/dist/collection/components/z-book-cover/index.js +113 -0
  58. package/dist/collection/components/z-book-cover/index.js.map +1 -0
  59. package/dist/collection/components/z-book-cover/index.stories.js +31 -0
  60. package/dist/collection/components/z-book-cover/index.stories.js.map +1 -0
  61. package/dist/collection/components/z-book-cover/styles.css +95 -0
  62. package/dist/collection/components/z-breadcrumb/index.js +2 -2
  63. package/dist/collection/components/z-button-sort/index.js +1 -1
  64. package/dist/collection/components/z-chip/index.js +2 -2
  65. package/dist/collection/components/z-combobox/index.js +1 -1
  66. package/dist/collection/components/z-cover-hero/index.js +2 -2
  67. package/dist/collection/components/z-divider/index.js +1 -1
  68. package/dist/collection/components/z-ghost-loading/index.js +1 -1
  69. package/dist/collection/components/z-info-box/index.js +1 -1
  70. package/dist/collection/components/z-info-reveal/index.js +1 -1
  71. package/dist/collection/components/z-input/index.js +19 -17
  72. package/dist/collection/components/z-input/index.js.map +1 -1
  73. package/dist/collection/components/z-input-message/index.js +1 -1
  74. package/dist/collection/components/z-logo/index.js +1 -1
  75. package/dist/collection/components/z-modal/index.js +4 -4
  76. package/dist/collection/components/z-navigation-tabs/index.js +2 -2
  77. package/dist/collection/components/z-notification/index.js +1 -1
  78. package/dist/collection/components/z-offcanvas/index.js +2 -2
  79. package/dist/collection/components/z-panel-elem/index.js +2 -2
  80. package/dist/collection/components/z-popover/index.js +1 -1
  81. package/dist/collection/components/{result-card/z-result-card → z-result-card}/index.js +10 -18
  82. package/dist/collection/components/z-result-card/index.js.map +1 -0
  83. package/dist/collection/components/{result-card/z-result-card → z-result-card}/styles.css +39 -108
  84. package/dist/collection/components/z-result-card/z-result-card.stories.js.map +1 -0
  85. package/dist/collection/components/z-searchbar/index.js +1 -1
  86. package/dist/collection/components/z-select/index.js +41 -39
  87. package/dist/collection/components/z-select/index.js.map +1 -1
  88. package/dist/collection/components/z-select/styles.css +20 -22
  89. package/dist/collection/components/z-skip-to-content/index.js +1 -1
  90. package/dist/collection/components/z-stepper/index.js +1 -1
  91. package/dist/collection/components/z-stepper-item/index.js +1 -1
  92. package/dist/collection/components/z-toast-notification/index.js +1 -1
  93. package/dist/collection/components/z-toast-notification-list/index.js +1 -1
  94. package/dist/collection/components/z-toggle-button/index.js +2 -2
  95. package/dist/collection/components/z-toggle-switch/index.js +3 -3
  96. package/dist/collection/components/z-tooltip/index.js +1 -1
  97. package/dist/collection/snowflakes/myz/card/z-myz-card/index.js +1 -1
  98. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.js +1 -1
  99. package/dist/collection/snowflakes/myz/card/z-myz-card-body/index.js +1 -1
  100. package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.js +1 -1
  101. package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.js +1 -1
  102. package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.js +1 -1
  103. package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.js +1 -1
  104. package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.js +1 -1
  105. package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.js +1 -1
  106. package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.js +1 -1
  107. package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.js +1 -1
  108. package/dist/collection/snowflakes/myz/list/z-myz-list/index.js +1 -1
  109. package/dist/collection/snowflakes/myz/list/z-myz-list-item/index.js +1 -1
  110. package/dist/collection/snowflakes/myz/z-alert/index.js +1 -1
  111. package/dist/collection/snowflakes/myz/z-otp/index.js +2 -2
  112. package/dist/components/index.d.ts +3 -1
  113. package/dist/components/index.js +1 -0
  114. package/dist/components/index.js.map +1 -1
  115. package/dist/components/index10.js +24 -65
  116. package/dist/components/index10.js.map +1 -1
  117. package/dist/components/index11.js +58 -306
  118. package/dist/components/index11.js.map +1 -1
  119. package/dist/components/index12.js +313 -37
  120. package/dist/components/index12.js.map +1 -1
  121. package/dist/components/index13.js +40 -27
  122. package/dist/components/index13.js.map +1 -1
  123. package/dist/components/index14.js +23 -151
  124. package/dist/components/index14.js.map +1 -1
  125. package/dist/components/index15.js +144 -37
  126. package/dist/components/index15.js.map +1 -1
  127. package/dist/components/index16.js +42 -1008
  128. package/dist/components/index16.js.map +1 -1
  129. package/dist/components/index17.js +1012 -37
  130. package/dist/components/index17.js.map +1 -1
  131. package/dist/components/index18.js +42 -10
  132. package/dist/components/index18.js.map +1 -1
  133. package/dist/components/index19.js +10 -22
  134. package/dist/components/index19.js.map +1 -1
  135. package/dist/components/index20.js +16 -33
  136. package/dist/components/index20.js.map +1 -1
  137. package/dist/components/index21.js +39 -43
  138. package/dist/components/index21.js.map +1 -1
  139. package/dist/components/index22.js +44 -84
  140. package/dist/components/index22.js.map +1 -1
  141. package/dist/components/index23.js +60 -430
  142. package/dist/components/index23.js.map +1 -1
  143. package/dist/components/index24.js +415 -341
  144. package/dist/components/index24.js.map +1 -1
  145. package/dist/components/index25.js +376 -19
  146. package/dist/components/index25.js.map +1 -1
  147. package/dist/components/index26.js +45 -0
  148. package/dist/components/index26.js.map +1 -0
  149. package/dist/components/index3.js +1 -1
  150. package/dist/components/index4.js +23 -60
  151. package/dist/components/index4.js.map +1 -1
  152. package/dist/components/index5.js +53 -27
  153. package/dist/components/index5.js.map +1 -1
  154. package/dist/components/index6.js +34 -18
  155. package/dist/components/index6.js.map +1 -1
  156. package/dist/components/index7.js +18 -41
  157. package/dist/components/index7.js.map +1 -1
  158. package/dist/components/index8.js +41 -11
  159. package/dist/components/index8.js.map +1 -1
  160. package/dist/components/index9.js +10 -28
  161. package/dist/components/index9.js.map +1 -1
  162. package/dist/components/z-accordion.js +1 -1
  163. package/dist/components/z-anchor-navigation.js +2 -2
  164. package/dist/components/z-app-header-deprecated.js +11 -11
  165. package/dist/components/z-app-header.js +11 -11
  166. package/dist/components/z-book-card-app.js +2 -2
  167. package/dist/components/z-book-card-deprecated.js +1 -1
  168. package/dist/components/z-book-card.js +26 -17
  169. package/dist/components/z-book-card.js.map +1 -1
  170. package/dist/components/z-book-cover.d.ts +11 -0
  171. package/dist/components/z-book-cover.js +8 -0
  172. package/dist/components/z-book-cover.js.map +1 -0
  173. package/dist/components/z-breadcrumb.js +8 -8
  174. package/dist/components/z-button-sort.js +2 -2
  175. package/dist/components/z-button.js +1 -1
  176. package/dist/components/z-card.js +1 -1
  177. package/dist/components/z-carousel.js +3 -3
  178. package/dist/components/z-chip.js +1 -1
  179. package/dist/components/z-combobox.js +7 -7
  180. package/dist/components/z-cover-hero.js +2 -2
  181. package/dist/components/z-date-picker.js +3 -3
  182. package/dist/components/z-divider.js +1 -1
  183. package/dist/components/z-dragdrop-area.js +1 -1
  184. package/dist/components/z-file-upload.js +4 -4
  185. package/dist/components/z-file.js +3 -3
  186. package/dist/components/z-ghost-loading.js +1 -1
  187. package/dist/components/z-icon.js +1 -1
  188. package/dist/components/z-info-box.js +2 -2
  189. package/dist/components/z-info-reveal.js +1 -1
  190. package/dist/components/z-input-message.js +1 -1
  191. package/dist/components/z-input.js +1 -1
  192. package/dist/components/z-list-element.js +1 -1
  193. package/dist/components/z-list-group.js +1 -1
  194. package/dist/components/z-list.js +1 -1
  195. package/dist/components/z-logo.js +1 -1
  196. package/dist/components/z-menu-deprecated.js +1 -1
  197. package/dist/components/z-menu-section-deprecated.js +1 -1
  198. package/dist/components/z-menu-section.js +1 -1
  199. package/dist/components/z-menu.js +1 -1
  200. package/dist/components/z-modal.js +1 -1
  201. package/dist/components/z-myz-card-alert.js +2 -2
  202. package/dist/components/z-myz-card-body.js +1 -1
  203. package/dist/components/z-myz-card-cover.js +1 -1
  204. package/dist/components/z-myz-card-dictionary.js +7 -7
  205. package/dist/components/z-myz-card-footer-sections.js +1 -1
  206. package/dist/components/z-myz-card-footer.js +1 -1
  207. package/dist/components/z-myz-card-header.js +1 -1
  208. package/dist/components/z-myz-card-icon.js +2 -2
  209. package/dist/components/z-myz-card-info.js +3 -3
  210. package/dist/components/z-myz-card-list.js +1 -1
  211. package/dist/components/z-myz-card.js +1 -1
  212. package/dist/components/z-myz-list-item.js +1 -1
  213. package/dist/components/z-myz-list.js +3 -3
  214. package/dist/components/z-navigation-tabs.js +3 -3
  215. package/dist/components/z-notification.js +2 -2
  216. package/dist/components/z-offcanvas.js +1 -1
  217. package/dist/components/z-otp.js +4 -4
  218. package/dist/components/z-pagination.js +4 -4
  219. package/dist/components/z-panel-elem.js +3 -3
  220. package/dist/components/z-popover.js +1 -1
  221. package/dist/components/z-range-picker.js +3 -3
  222. package/dist/components/z-result-card.js +14 -16
  223. package/dist/components/z-result-card.js.map +1 -1
  224. package/dist/components/z-searchbar.js +1 -1
  225. package/dist/components/z-section-title.js +1 -1
  226. package/dist/components/z-select.js +50 -48
  227. package/dist/components/z-select.js.map +1 -1
  228. package/dist/components/z-skip-to-content.js +1 -1
  229. package/dist/components/z-slideshow.js +1 -1
  230. package/dist/components/z-stepper-item.js +2 -2
  231. package/dist/components/z-stepper.js +1 -1
  232. package/dist/components/z-table.js +1 -1
  233. package/dist/components/z-tag.js +1 -1
  234. package/dist/components/z-td.js +3 -3
  235. package/dist/components/z-th.js +3 -3
  236. package/dist/components/z-toast-notification-list.js +1 -1
  237. package/dist/components/z-toast-notification.js +2 -2
  238. package/dist/components/z-toggle-button.js +3 -3
  239. package/dist/components/z-toggle-switch.js +4 -4
  240. package/dist/components/z-tooltip.js +2 -2
  241. package/dist/components/z-tr.js +2 -2
  242. package/dist/components/z-tree-list.js +4 -4
  243. package/dist/esm/index-c8ceadeb.js +4 -0
  244. package/dist/esm/loader.js +1 -1
  245. package/dist/esm/web-components-library.js +1 -1
  246. package/dist/esm/z-alert.entry.js +1 -1
  247. package/dist/esm/z-app-header_12.entry.js +18 -16
  248. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  249. package/dist/esm/z-book-card.entry.js +15 -14
  250. package/dist/esm/z-book-card.entry.js.map +1 -1
  251. package/dist/{cjs/placeholder-cover-b679e768.js → esm/z-book-cover.entry.js} +21 -3
  252. package/dist/esm/z-book-cover.entry.js.map +1 -0
  253. package/dist/esm/z-breadcrumb.entry.js +2 -2
  254. package/dist/esm/z-button-sort.entry.js +1 -1
  255. package/dist/esm/z-chip.entry.js +2 -2
  256. package/dist/esm/z-combobox.entry.js +1 -1
  257. package/dist/esm/z-cover-hero.entry.js +2 -2
  258. package/dist/esm/z-dragdrop-area_2.entry.js +4 -4
  259. package/dist/esm/z-ghost-loading.entry.js +1 -1
  260. package/dist/esm/z-info-box.entry.js +1 -1
  261. package/dist/esm/z-info-reveal.entry.js +1 -1
  262. package/dist/esm/z-logo.entry.js +1 -1
  263. package/dist/esm/z-myz-card-alert.entry.js +1 -1
  264. package/dist/esm/z-myz-card-dictionary.entry.js +1 -1
  265. package/dist/esm/z-myz-card-footer-sections.entry.js +1 -1
  266. package/dist/esm/z-myz-card-footer.entry.js +1 -1
  267. package/dist/esm/z-myz-card-icon.entry.js +1 -1
  268. package/dist/esm/z-myz-card-info.entry.js +1 -1
  269. package/dist/esm/z-myz-card-list.entry.js +1 -1
  270. package/dist/esm/z-myz-card_4.entry.js +4 -4
  271. package/dist/esm/z-myz-list-item.entry.js +1 -1
  272. package/dist/esm/z-myz-list.entry.js +1 -1
  273. package/dist/esm/z-navigation-tabs.entry.js +2 -2
  274. package/dist/esm/z-notification.entry.js +1 -1
  275. package/dist/esm/z-otp.entry.js +2 -2
  276. package/dist/esm/z-panel-elem.entry.js +2 -2
  277. package/dist/esm/z-popover.entry.js +1 -1
  278. package/dist/esm/z-result-card.entry.js +6 -14
  279. package/dist/esm/z-result-card.entry.js.map +1 -1
  280. package/dist/esm/z-select.entry.js +42 -40
  281. package/dist/esm/z-select.entry.js.map +1 -1
  282. package/dist/esm/z-skip-to-content.entry.js +1 -1
  283. package/dist/esm/z-stepper-item.entry.js +1 -1
  284. package/dist/esm/z-stepper.entry.js +1 -1
  285. package/dist/esm/z-toast-notification-list.entry.js +1 -1
  286. package/dist/esm/z-toast-notification.entry.js +1 -1
  287. package/dist/esm/z-toggle-button.entry.js +2 -2
  288. package/dist/esm/z-toggle-switch.entry.js +3 -3
  289. package/dist/esm/z-tooltip.entry.js +1 -1
  290. package/dist/types/components/book-card/z-book-card/index.d.ts +20 -16
  291. package/dist/types/components/book-card/z-book-card/index.stories.d.ts +2 -35
  292. package/dist/types/components/z-book-cover/index.d.ts +23 -0
  293. package/dist/types/components/z-book-cover/index.stories.d.ts +21 -0
  294. package/dist/types/components/z-input/index.d.ts +4 -4
  295. package/dist/types/components/{result-card/z-result-card → z-result-card}/index.d.ts +8 -26
  296. package/dist/types/components/z-select/index.d.ts +2 -0
  297. package/dist/types/components.d.ts +177 -76
  298. package/dist/web-components-library/{p-17259f80.entry.js → p-01f941c2.entry.js} +2 -2
  299. package/dist/web-components-library/p-0257ed6e.entry.js +2 -0
  300. package/dist/web-components-library/p-0257ed6e.entry.js.map +1 -0
  301. package/{www/build/p-a4e26cad.entry.js → dist/web-components-library/p-028dd72a.entry.js} +2 -2
  302. package/dist/web-components-library/{p-fa9c35b7.entry.js → p-0a49dd1c.entry.js} +2 -2
  303. package/dist/web-components-library/{p-7faf6680.entry.js → p-240de9aa.entry.js} +2 -2
  304. package/dist/web-components-library/p-28534fb5.entry.js +2 -0
  305. package/dist/web-components-library/{p-755e5bb3.entry.js → p-28d83c86.entry.js} +2 -2
  306. package/dist/web-components-library/{p-04f578d3.entry.js → p-2ffdfbb1.entry.js} +2 -2
  307. package/dist/web-components-library/p-31bd2a1c.entry.js +2 -0
  308. package/dist/web-components-library/p-31bd2a1c.entry.js.map +1 -0
  309. package/dist/web-components-library/{p-da6ba08a.entry.js → p-460b2068.entry.js} +2 -2
  310. package/dist/web-components-library/{p-bfa7b528.entry.js → p-46ea0b2e.entry.js} +2 -2
  311. package/{www/build/p-add09050.entry.js → dist/web-components-library/p-4a257653.entry.js} +2 -2
  312. package/{www/build/p-d3a51980.entry.js → dist/web-components-library/p-4aaf0172.entry.js} +2 -2
  313. package/dist/web-components-library/{p-22056263.entry.js → p-4affbb99.entry.js} +2 -2
  314. package/dist/web-components-library/{p-9f516be2.entry.js → p-5989465b.entry.js} +2 -2
  315. package/dist/web-components-library/{p-1775f79b.entry.js → p-5a1f98a2.entry.js} +2 -2
  316. package/dist/web-components-library/{p-a25c7fdb.entry.js → p-5c5882c6.entry.js} +2 -2
  317. package/dist/web-components-library/{p-a80faa78.entry.js → p-5f94986f.entry.js} +2 -2
  318. package/dist/web-components-library/p-6cff173f.entry.js +2 -0
  319. package/dist/web-components-library/p-6cffbabc.entry.js +2 -0
  320. package/{www/build/p-5f231799.entry.js.map → dist/web-components-library/p-6cffbabc.entry.js.map} +1 -1
  321. package/dist/web-components-library/{p-9e3116b0.entry.js → p-7194003a.entry.js} +2 -2
  322. package/dist/web-components-library/{p-6ebaa41d.entry.js → p-739ba71b.entry.js} +2 -2
  323. package/dist/web-components-library/p-739ba71b.entry.js.map +1 -0
  324. package/{www/build/p-9de4915b.entry.js → dist/web-components-library/p-78146cef.entry.js} +2 -2
  325. package/dist/web-components-library/{p-f39f6ee8.entry.js → p-7a4f6a5b.entry.js} +2 -2
  326. package/dist/web-components-library/{p-945928ff.entry.js → p-7ceddb7a.entry.js} +2 -2
  327. package/dist/web-components-library/{p-50b800e6.entry.js → p-86160fe3.entry.js} +2 -2
  328. package/dist/web-components-library/{p-2105d5ec.entry.js → p-863fd1c4.entry.js} +2 -2
  329. package/dist/web-components-library/p-8fc213c2.entry.js +2 -0
  330. package/{www/build/p-b0f80e50.entry.js.map → dist/web-components-library/p-8fc213c2.entry.js.map} +1 -1
  331. package/dist/web-components-library/{p-70aa0b22.entry.js → p-943db3a8.entry.js} +2 -2
  332. package/dist/web-components-library/{p-6d2a6434.entry.js → p-94916bdf.entry.js} +2 -2
  333. package/dist/web-components-library/{p-8e5bc362.entry.js → p-a2e87cec.entry.js} +2 -2
  334. package/dist/web-components-library/{p-fe663393.entry.js → p-ac477ae7.entry.js} +2 -2
  335. package/dist/web-components-library/p-af5e8524.entry.js +2 -0
  336. package/dist/web-components-library/{p-fb78c343.entry.js → p-b3f1b5c1.entry.js} +2 -2
  337. package/dist/web-components-library/{p-2264883d.entry.js → p-dc086eb5.entry.js} +2 -2
  338. package/dist/web-components-library/{p-f3287280.entry.js → p-e0b88075.entry.js} +2 -2
  339. package/dist/web-components-library/p-e4bb1256.entry.js +2 -0
  340. package/dist/web-components-library/p-e4bb1256.entry.js.map +1 -0
  341. package/dist/web-components-library/{p-7eb0e121.entry.js → p-f487290e.entry.js} +2 -2
  342. package/dist/web-components-library/p-f4bac89b.entry.js +2 -0
  343. package/dist/web-components-library/p-f4bac89b.entry.js.map +1 -0
  344. package/dist/web-components-library/web-components-library.esm.js +1 -1
  345. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  346. package/package.json +3 -2
  347. package/react/components.d.ts +1 -0
  348. package/react/components.js +3 -2
  349. package/react/components.js.map +1 -1
  350. package/www/build/{p-17259f80.entry.js → p-01f941c2.entry.js} +2 -2
  351. package/www/build/p-0257ed6e.entry.js +2 -0
  352. package/www/build/p-0257ed6e.entry.js.map +1 -0
  353. package/{dist/web-components-library/p-a4e26cad.entry.js → www/build/p-028dd72a.entry.js} +2 -2
  354. package/www/build/{p-fa9c35b7.entry.js → p-0a49dd1c.entry.js} +2 -2
  355. package/www/build/{p-7faf6680.entry.js → p-240de9aa.entry.js} +2 -2
  356. package/www/build/p-28534fb5.entry.js +2 -0
  357. package/www/build/{p-755e5bb3.entry.js → p-28d83c86.entry.js} +2 -2
  358. package/www/build/{p-04f578d3.entry.js → p-2ffdfbb1.entry.js} +2 -2
  359. package/www/build/p-31bd2a1c.entry.js +2 -0
  360. package/www/build/p-31bd2a1c.entry.js.map +1 -0
  361. package/www/build/{p-da6ba08a.entry.js → p-460b2068.entry.js} +2 -2
  362. package/www/build/{p-bfa7b528.entry.js → p-46ea0b2e.entry.js} +2 -2
  363. package/{dist/web-components-library/p-add09050.entry.js → www/build/p-4a257653.entry.js} +2 -2
  364. package/{dist/web-components-library/p-d3a51980.entry.js → www/build/p-4aaf0172.entry.js} +2 -2
  365. package/www/build/{p-22056263.entry.js → p-4affbb99.entry.js} +2 -2
  366. package/www/build/{p-9f516be2.entry.js → p-5989465b.entry.js} +2 -2
  367. package/www/build/{p-1775f79b.entry.js → p-5a1f98a2.entry.js} +2 -2
  368. package/www/build/{p-a25c7fdb.entry.js → p-5c5882c6.entry.js} +2 -2
  369. package/www/build/{p-a80faa78.entry.js → p-5f94986f.entry.js} +2 -2
  370. package/www/build/p-6cff173f.entry.js +2 -0
  371. package/www/build/p-6cffbabc.entry.js +2 -0
  372. package/{dist/web-components-library/p-5f231799.entry.js.map → www/build/p-6cffbabc.entry.js.map} +1 -1
  373. package/www/build/{p-9e3116b0.entry.js → p-7194003a.entry.js} +2 -2
  374. package/www/build/{p-6ebaa41d.entry.js → p-739ba71b.entry.js} +2 -2
  375. package/www/build/p-739ba71b.entry.js.map +1 -0
  376. package/{dist/web-components-library/p-9de4915b.entry.js → www/build/p-78146cef.entry.js} +2 -2
  377. package/www/build/{p-f39f6ee8.entry.js → p-7a4f6a5b.entry.js} +2 -2
  378. package/www/build/{p-945928ff.entry.js → p-7ceddb7a.entry.js} +2 -2
  379. package/www/build/{p-50b800e6.entry.js → p-86160fe3.entry.js} +2 -2
  380. package/www/build/{p-2105d5ec.entry.js → p-863fd1c4.entry.js} +2 -2
  381. package/www/build/p-8fc213c2.entry.js +2 -0
  382. package/{dist/web-components-library/p-b0f80e50.entry.js.map → www/build/p-8fc213c2.entry.js.map} +1 -1
  383. package/www/build/{p-70aa0b22.entry.js → p-943db3a8.entry.js} +2 -2
  384. package/www/build/{p-6d2a6434.entry.js → p-94916bdf.entry.js} +2 -2
  385. package/www/build/{p-8e5bc362.entry.js → p-a2e87cec.entry.js} +2 -2
  386. package/www/build/{p-fe663393.entry.js → p-ac477ae7.entry.js} +2 -2
  387. package/www/build/p-af5e8524.entry.js +2 -0
  388. package/www/build/{p-fb78c343.entry.js → p-b3f1b5c1.entry.js} +2 -2
  389. package/www/build/p-d2adc757.js +2 -0
  390. package/www/build/{p-2264883d.entry.js → p-dc086eb5.entry.js} +2 -2
  391. package/www/build/{p-f3287280.entry.js → p-e0b88075.entry.js} +2 -2
  392. package/www/build/p-e4bb1256.entry.js +2 -0
  393. package/www/build/p-e4bb1256.entry.js.map +1 -0
  394. package/www/build/{p-7eb0e121.entry.js → p-f487290e.entry.js} +2 -2
  395. package/www/build/p-f4bac89b.entry.js +2 -0
  396. package/www/build/p-f4bac89b.entry.js.map +1 -0
  397. package/www/build/web-components-library.esm.js +1 -1
  398. package/www/build/web-components-library.esm.js.map +1 -1
  399. package/www/index.html +1 -1
  400. package/dist/cjs/placeholder-cover-b679e768.js.map +0 -1
  401. package/dist/collection/components/result-card/z-result-card/index.js.map +0 -1
  402. package/dist/collection/components/result-card/z-result-card/z-result-card.stories.js.map +0 -1
  403. package/dist/components/placeholder-cover.js.map +0 -1
  404. package/dist/esm/placeholder-cover-9346be8f.js +0 -5
  405. package/dist/esm/placeholder-cover-9346be8f.js.map +0 -1
  406. package/dist/web-components-library/p-165d5acc.entry.js +0 -2
  407. package/dist/web-components-library/p-165d5acc.entry.js.map +0 -1
  408. package/dist/web-components-library/p-5f231799.entry.js +0 -2
  409. package/dist/web-components-library/p-6ebaa41d.entry.js.map +0 -1
  410. package/dist/web-components-library/p-75d50d5f.entry.js +0 -2
  411. package/dist/web-components-library/p-8d923a1d.js +0 -2
  412. package/dist/web-components-library/p-8d923a1d.js.map +0 -1
  413. package/dist/web-components-library/p-970de597.entry.js +0 -2
  414. package/dist/web-components-library/p-abd17b10.entry.js +0 -2
  415. package/dist/web-components-library/p-abd17b10.entry.js.map +0 -1
  416. package/dist/web-components-library/p-b0f80e50.entry.js +0 -2
  417. package/dist/web-components-library/p-e0320349.entry.js +0 -2
  418. package/dist/web-components-library/p-fef12692.entry.js +0 -2
  419. package/dist/web-components-library/p-fef12692.entry.js.map +0 -1
  420. package/www/build/p-165d5acc.entry.js +0 -2
  421. package/www/build/p-165d5acc.entry.js.map +0 -1
  422. package/www/build/p-29dcbeae.js +0 -2
  423. package/www/build/p-5f231799.entry.js +0 -2
  424. package/www/build/p-6ebaa41d.entry.js.map +0 -1
  425. package/www/build/p-75d50d5f.entry.js +0 -2
  426. package/www/build/p-8d923a1d.js +0 -2
  427. package/www/build/p-8d923a1d.js.map +0 -1
  428. package/www/build/p-970de597.entry.js +0 -2
  429. package/www/build/p-abd17b10.entry.js +0 -2
  430. package/www/build/p-abd17b10.entry.js.map +0 -1
  431. package/www/build/p-b0f80e50.entry.js +0 -2
  432. package/www/build/p-e0320349.entry.js +0 -2
  433. package/www/build/p-fef12692.entry.js +0 -2
  434. package/www/build/p-fef12692.entry.js.map +0 -1
  435. /package/dist/collection/components/{result-card/z-result-card → z-result-card}/z-result-card.stories.js +0 -0
  436. /package/dist/types/components/{result-card/z-result-card → z-result-card}/z-result-card.stories.d.ts +0 -0
  437. /package/dist/web-components-library/{p-17259f80.entry.js.map → p-01f941c2.entry.js.map} +0 -0
  438. /package/dist/web-components-library/{p-a4e26cad.entry.js.map → p-028dd72a.entry.js.map} +0 -0
  439. /package/dist/web-components-library/{p-fa9c35b7.entry.js.map → p-0a49dd1c.entry.js.map} +0 -0
  440. /package/dist/web-components-library/{p-7faf6680.entry.js.map → p-240de9aa.entry.js.map} +0 -0
  441. /package/dist/web-components-library/{p-970de597.entry.js.map → p-28534fb5.entry.js.map} +0 -0
  442. /package/dist/web-components-library/{p-755e5bb3.entry.js.map → p-28d83c86.entry.js.map} +0 -0
  443. /package/dist/web-components-library/{p-04f578d3.entry.js.map → p-2ffdfbb1.entry.js.map} +0 -0
  444. /package/dist/web-components-library/{p-da6ba08a.entry.js.map → p-460b2068.entry.js.map} +0 -0
  445. /package/dist/web-components-library/{p-bfa7b528.entry.js.map → p-46ea0b2e.entry.js.map} +0 -0
  446. /package/dist/web-components-library/{p-add09050.entry.js.map → p-4a257653.entry.js.map} +0 -0
  447. /package/dist/web-components-library/{p-d3a51980.entry.js.map → p-4aaf0172.entry.js.map} +0 -0
  448. /package/dist/web-components-library/{p-22056263.entry.js.map → p-4affbb99.entry.js.map} +0 -0
  449. /package/dist/web-components-library/{p-9f516be2.entry.js.map → p-5989465b.entry.js.map} +0 -0
  450. /package/dist/web-components-library/{p-1775f79b.entry.js.map → p-5a1f98a2.entry.js.map} +0 -0
  451. /package/dist/web-components-library/{p-a25c7fdb.entry.js.map → p-5c5882c6.entry.js.map} +0 -0
  452. /package/dist/web-components-library/{p-a80faa78.entry.js.map → p-5f94986f.entry.js.map} +0 -0
  453. /package/dist/web-components-library/{p-e0320349.entry.js.map → p-6cff173f.entry.js.map} +0 -0
  454. /package/dist/web-components-library/{p-9e3116b0.entry.js.map → p-7194003a.entry.js.map} +0 -0
  455. /package/dist/web-components-library/{p-9de4915b.entry.js.map → p-78146cef.entry.js.map} +0 -0
  456. /package/dist/web-components-library/{p-f39f6ee8.entry.js.map → p-7a4f6a5b.entry.js.map} +0 -0
  457. /package/dist/web-components-library/{p-945928ff.entry.js.map → p-7ceddb7a.entry.js.map} +0 -0
  458. /package/dist/web-components-library/{p-50b800e6.entry.js.map → p-86160fe3.entry.js.map} +0 -0
  459. /package/dist/web-components-library/{p-2105d5ec.entry.js.map → p-863fd1c4.entry.js.map} +0 -0
  460. /package/dist/web-components-library/{p-70aa0b22.entry.js.map → p-943db3a8.entry.js.map} +0 -0
  461. /package/dist/web-components-library/{p-6d2a6434.entry.js.map → p-94916bdf.entry.js.map} +0 -0
  462. /package/dist/web-components-library/{p-8e5bc362.entry.js.map → p-a2e87cec.entry.js.map} +0 -0
  463. /package/dist/web-components-library/{p-fe663393.entry.js.map → p-ac477ae7.entry.js.map} +0 -0
  464. /package/dist/web-components-library/{p-75d50d5f.entry.js.map → p-af5e8524.entry.js.map} +0 -0
  465. /package/dist/web-components-library/{p-fb78c343.entry.js.map → p-b3f1b5c1.entry.js.map} +0 -0
  466. /package/dist/web-components-library/{p-2264883d.entry.js.map → p-dc086eb5.entry.js.map} +0 -0
  467. /package/dist/web-components-library/{p-f3287280.entry.js.map → p-e0b88075.entry.js.map} +0 -0
  468. /package/dist/web-components-library/{p-7eb0e121.entry.js.map → p-f487290e.entry.js.map} +0 -0
  469. /package/www/build/{p-17259f80.entry.js.map → p-01f941c2.entry.js.map} +0 -0
  470. /package/www/build/{p-a4e26cad.entry.js.map → p-028dd72a.entry.js.map} +0 -0
  471. /package/www/build/{p-fa9c35b7.entry.js.map → p-0a49dd1c.entry.js.map} +0 -0
  472. /package/www/build/{p-7faf6680.entry.js.map → p-240de9aa.entry.js.map} +0 -0
  473. /package/www/build/{p-970de597.entry.js.map → p-28534fb5.entry.js.map} +0 -0
  474. /package/www/build/{p-755e5bb3.entry.js.map → p-28d83c86.entry.js.map} +0 -0
  475. /package/www/build/{p-04f578d3.entry.js.map → p-2ffdfbb1.entry.js.map} +0 -0
  476. /package/www/build/{p-da6ba08a.entry.js.map → p-460b2068.entry.js.map} +0 -0
  477. /package/www/build/{p-bfa7b528.entry.js.map → p-46ea0b2e.entry.js.map} +0 -0
  478. /package/www/build/{p-add09050.entry.js.map → p-4a257653.entry.js.map} +0 -0
  479. /package/www/build/{p-d3a51980.entry.js.map → p-4aaf0172.entry.js.map} +0 -0
  480. /package/www/build/{p-22056263.entry.js.map → p-4affbb99.entry.js.map} +0 -0
  481. /package/www/build/{p-9f516be2.entry.js.map → p-5989465b.entry.js.map} +0 -0
  482. /package/www/build/{p-1775f79b.entry.js.map → p-5a1f98a2.entry.js.map} +0 -0
  483. /package/www/build/{p-a25c7fdb.entry.js.map → p-5c5882c6.entry.js.map} +0 -0
  484. /package/www/build/{p-a80faa78.entry.js.map → p-5f94986f.entry.js.map} +0 -0
  485. /package/www/build/{p-e0320349.entry.js.map → p-6cff173f.entry.js.map} +0 -0
  486. /package/www/build/{p-9e3116b0.entry.js.map → p-7194003a.entry.js.map} +0 -0
  487. /package/www/build/{p-9de4915b.entry.js.map → p-78146cef.entry.js.map} +0 -0
  488. /package/www/build/{p-f39f6ee8.entry.js.map → p-7a4f6a5b.entry.js.map} +0 -0
  489. /package/www/build/{p-945928ff.entry.js.map → p-7ceddb7a.entry.js.map} +0 -0
  490. /package/www/build/{p-50b800e6.entry.js.map → p-86160fe3.entry.js.map} +0 -0
  491. /package/www/build/{p-2105d5ec.entry.js.map → p-863fd1c4.entry.js.map} +0 -0
  492. /package/www/build/{p-70aa0b22.entry.js.map → p-943db3a8.entry.js.map} +0 -0
  493. /package/www/build/{p-6d2a6434.entry.js.map → p-94916bdf.entry.js.map} +0 -0
  494. /package/www/build/{p-8e5bc362.entry.js.map → p-a2e87cec.entry.js.map} +0 -0
  495. /package/www/build/{p-fe663393.entry.js.map → p-ac477ae7.entry.js.map} +0 -0
  496. /package/www/build/{p-75d50d5f.entry.js.map → p-af5e8524.entry.js.map} +0 -0
  497. /package/www/build/{p-fb78c343.entry.js.map → p-b3f1b5c1.entry.js.map} +0 -0
  498. /package/www/build/{p-2264883d.entry.js.map → p-dc086eb5.entry.js.map} +0 -0
  499. /package/www/build/{p-f3287280.entry.js.map → p-e0b88075.entry.js.map} +0 -0
  500. /package/www/build/{p-7eb0e121.entry.js.map → p-f487290e.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZResultCardStyle0","ZResultCard","this","resizeHandler","setTooltipTitle","authorsRef","titleRef","subtitleRef","renderTitle","title","titleHtmlTag","cardTitle","h","class","isInfoCard","ref","el","innerHTML","renderSubtitle","cardSubtitle","renderOperaCard","Host","tabIndex","hasMultipleCovers","src","cover","fallbackCover","defaultFallbackCover","alt","onError","authors","name","renderInfoCard","width","height","style","window","getComputedStyle","hasLineClamp","getPropertyValue","isTruncated","lineHeight","parseInt","maxLines","maxHeight","scrollHeight","scrollWidth","clientWidth","clientHeight","setAttribute","textContent","trim","removeAttribute","componentDidRender","componentDidLoad","addEventListener","disconnectedCallback","removeEventListener","render"],"sources":["src/components/result-card/z-result-card/styles.css?tag=z-result-card&encapsulation=shadow","src/components/result-card/z-result-card/index.tsx"],"sourcesContent":[":host {\n display: flex;\n overflow: hidden;\n min-width: 0;\n height: 9.875rem;\n padding: var(--space-unit);\n border: var(--border-size-medium) solid var(--color-surface02);\n background-color: var(--color-white);\n border-radius: var(--border-size-large);\n cursor: pointer;\n font-family: var(--font-family-sans);\n}\n\n.z-cover-container {\n position: relative;\n display: flex;\n width: 119px;\n height: 158px;\n align-items: center;\n justify-items: center;\n}\n\n.z-cover-stack {\n width: 100%;\n height: 100%;\n}\n\n/* Base sizes for single cover */\n.z-cover-shadow,\n.z-cover-img {\n width: 117px;\n height: 156px;\n}\n\n/* Scaled sizes for multiple covers */\n.z-cover-container.has-multiple .z-cover-shadow,\n.z-cover-container.has-multiple .z-cover-img {\n width: 105px;\n height: 140px;\n}\n\n.z-cover-shadow {\n position: absolute;\n z-index: 1;\n background-color: var(--color-white);\n}\n\n.z-shadow-1 {\n z-index: 0;\n top: var(--space-unit);\n right: 6px;\n border: var(--border-size-small) solid black;\n}\n\n.z-shadow-2 {\n z-index: 0;\n top: calc(var(--space-unit) * 2);\n right: 12px;\n border: var(--border-size-small) solid black;\n}\n\n.z-cover-img {\n position: absolute;\n z-index: 0;\n top: 0;\n right: 0;\n display: flex;\n align-items: start;\n justify-content: center;\n border: var(--border-size-small) solid black;\n background-color: var(--color-white);\n object-fit: cover;\n object-position: left;\n}\n\n.z-cover-img > img {\n max-width: 100%;\n max-height: 100%;\n}\n\n.z-cover-container.has-multiple .z-cover-img {\n left: 12px;\n}\n\n.info-container {\n display: flex;\n overflow: hidden;\n min-width: 0;\n flex: 1;\n flex-direction: column;\n padding-left: calc(var(--space-unit) * 2);\n}\n\n.authors-label {\n overflow: hidden;\n color: var(--color-default-text);\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.card-title {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n font-size: var(--font-size-3);\n font-weight: var(--font-bd);\n -webkit-line-clamp: 2;\n line-clamp: 2;\n line-height: 1.5;\n word-break: break-word;\n}\n\n.card-title > * {\n all: unset;\n}\n\n.card-subtitle {\n overflow: hidden;\n color: var(--color-default-text);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.card-subtitle.info-card-subtitle {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n line-height: 1.2;\n white-space: normal;\n word-break: break-word;\n}\n\n.tags-container {\n display: flex;\n max-width: 100%;\n flex-wrap: wrap;\n margin-top: calc(var(--space-unit) * 2);\n gap: var(--space-unit);\n}\n\n.volumes-label {\n display: flex;\n flex-grow: 1;\n align-items: end;\n color: var(--color-default-text);\n font-size: var(--font-size-1);\n}\n\n/* info-card */\n:host(.info-card) {\n display: flex;\n height: 3.75rem;\n gap: calc(var(--space-unit) * 1.5);\n}\n\n:host(.info-card) .info-container {\n padding-left: 0;\n}\n\n.info-icon-container {\n padding: var(--space-unit);\n margin-bottom: calc(var(--space-unit) * 3);\n background-color: var(--gray50);\n border-radius: var(--border-size-large);\n}\n\n.card-title.info-card-title {\n display: -webkit-box;\n overflow: hidden;\n min-width: 0;\n max-width: 100%;\n max-height: 2.4em;\n margin-top: 0;\n margin-bottom: 4px;\n -webkit-box-orient: vertical;\n font-size: var(--font-size-3);\n font-weight: var(--font-bd);\n -webkit-line-clamp: 1;\n line-clamp: 1;\n line-height: 1.2;\n word-break: break-word;\n}\n\n.info-icon {\n width: 18px;\n height: 18px;\n color: var(--color-default-text);\n}\n\n/* Focus */\n:host(:focus:focus-visible) {\n z-index: 1;\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n@media (max-width: 768px) {\n .card-title {\n display: block;\n overflow: hidden;\n line-height: normal;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n","import {Component, Element, Host, Prop, h} from \"@stencil/core\";\nimport defaultFallbackCover from \"../../../assets/images/png/placeholder-cover.png\";\n\n/**\n * @slot tags - slot containing the descriptors for the opera variant\n * @slot volumes - slot containing the volume count to be displayed in the opera variant\n */\n@Component({\n tag: \"z-result-card\",\n styleUrls: [\"styles.css\"],\n shadow: true,\n})\nexport class ZResultCard {\n @Element() hostElement: HTMLZResultCardElement;\n\n /**\n * The title of the card.\n */\n @Prop()\n cardTitle: string;\n\n /**\n * The subtitle of the card.\n */\n @Prop()\n cardSubtitle: string;\n\n /**\n * The authors of the opera.\n */\n @Prop()\n authors?: string;\n\n /**\n * The URL of the cover image.\n * This is used to display the cover image of the opera.\n */\n @Prop()\n cover?: string;\n\n /** [optional] Fallback cover URL */\n @Prop()\n fallbackCover?: string;\n\n /**\n * Indicates whether the card has multiple covers.\n * This is used to apply specific styles when there are multiple covers.\n */\n @Prop()\n hasMultipleCovers = false;\n\n /**\n * Indicates whether the card is an info page.\n * This can be used to apply specific styles or behaviors for info pages.\n */\n @Prop()\n isInfoCard = false;\n\n /**\n * [optional]\n * Use for insert heading when needed.\n */\n @Prop()\n titleHtmlTag?: string;\n\n private authorsRef: HTMLElement;\n\n private titleRef: HTMLElement;\n\n private subtitleRef: HTMLElement;\n\n private setTooltipTitle(el: HTMLElement): void {\n if (!el) {\n return;\n }\n\n // Check if element uses line-clamp\n const style = window.getComputedStyle(el);\n const hasLineClamp = style.getPropertyValue(\"-webkit-line-clamp\") !== \"none\";\n\n let isTruncated;\n if (hasLineClamp) {\n // For elements with line-clamp, check if content height exceeds line-clamp height\n const lineHeight = parseInt(style.lineHeight);\n const maxLines = parseInt(style.getPropertyValue(\"-webkit-line-clamp\"));\n const maxHeight = lineHeight * maxLines;\n\n isTruncated = el.scrollHeight > maxHeight;\n } else {\n // Original check for elements without line-clamp\n isTruncated = el.scrollWidth > el.clientWidth || el.scrollHeight > el.clientHeight;\n }\n\n if (isTruncated) {\n el.setAttribute(\"title\", el.textContent.trim());\n } else {\n el.removeAttribute(\"title\");\n }\n }\n\n componentDidRender(): void {\n this.setTooltipTitle(this.authorsRef);\n this.setTooltipTitle(this.titleRef);\n this.setTooltipTitle(this.subtitleRef);\n }\n\n private resizeHandler = (): void => {\n this.setTooltipTitle(this.authorsRef);\n this.setTooltipTitle(this.titleRef);\n this.setTooltipTitle(this.subtitleRef);\n };\n\n componentDidLoad(): void {\n window.addEventListener(\"resize\", this.resizeHandler);\n }\n\n disconnectedCallback(): void {\n window.removeEventListener(\"resize\", this.resizeHandler);\n }\n\n private renderTitle = (): HTMLDivElement => {\n const title = this.titleHtmlTag ? `<${this.titleHtmlTag}>${this.cardTitle}</${this.titleHtmlTag}>` : this.cardTitle;\n\n return (\n <div\n class={{\"card-title\": true, \"info-card-title\": this.isInfoCard}}\n ref={(el) => (this.titleRef = el as HTMLElement)}\n innerHTML={title}\n />\n );\n };\n\n private renderSubtitle = (): HTMLSpanElement => {\n return (\n <span\n class={{\"card-subtitle\": true, \"info-card-subtitle\": this.isInfoCard}}\n ref={(el) => (this.subtitleRef = el as HTMLElement)}\n >\n {this.cardSubtitle}\n </span>\n );\n };\n\n private renderOperaCard = (): HTMLZResultCardElement => {\n return (\n <Host tabIndex={0}>\n <div class={`z-cover-container ${this.hasMultipleCovers ? \"has-multiple\" : \"\"}`}>\n <div class=\"z-cover-stack\">\n {this.hasMultipleCovers && (\n <div>\n <div class=\"z-cover-shadow z-shadow-2\" />\n <div class=\"z-cover-shadow z-shadow-1\" />\n </div>\n )}\n <div class=\"z-cover-img\">\n <img\n src={this.cover || this.fallbackCover || defaultFallbackCover}\n alt=\"\"\n onError={() => {\n if (this.fallbackCover) {\n this.cover = this.fallbackCover;\n } else {\n this.cover = defaultFallbackCover;\n }\n }}\n />\n </div>\n </div>\n </div>\n <div class=\"info-container\">\n {this.authors && (\n <span\n class=\"authors-label\"\n ref={(el) => (this.authorsRef = el as HTMLElement)}\n >\n {this.authors}\n </span>\n )}\n {this.renderTitle()}\n {this.renderSubtitle()}\n <div class=\"tags-container\">\n <slot name=\"tags\"></slot>\n </div>\n <div class=\"volumes-label\">\n <slot name=\"volumes\"></slot>\n </div>\n </div>\n </Host>\n );\n };\n\n private renderInfoCard = (): HTMLZResultCardElement => {\n return (\n <Host\n tabIndex={0}\n class=\"info-card\"\n >\n <div class=\"info-icon-column\">\n <div class=\"info-icon-container\">\n <z-icon\n class=\"info-icon\"\n name=\"link\"\n width={18}\n height={18}\n />\n </div>\n </div>\n <div class=\"info-container\">\n {this.renderTitle()}\n {this.renderSubtitle()}\n </div>\n </Host>\n );\n };\n\n render(): HTMLZResultCardElement {\n return this.isInfoCard ? this.renderInfoCard() : this.renderOperaCard();\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAY,kkGAClB,MAAAC,EAAeD,E,MCWFE,EAAW,M,yBA8FdC,KAAAC,cAAgB,KACtBD,KAAKE,gBAAgBF,KAAKG,YAC1BH,KAAKE,gBAAgBF,KAAKI,UAC1BJ,KAAKE,gBAAgBF,KAAKK,YAAY,EAWhCL,KAAAM,YAAc,KACpB,MAAMC,EAAQP,KAAKQ,aAAe,IAAIR,KAAKQ,gBAAgBR,KAAKS,cAAcT,KAAKQ,gBAAkBR,KAAKS,UAE1G,OACEC,EAAA,OACEC,MAAO,CAAC,aAAc,KAAM,kBAAmBX,KAAKY,YACpDC,IAAMC,GAAQd,KAAKI,SAAWU,EAC9BC,UAAWR,GACX,EAIEP,KAAAgB,eAAiB,IAErBN,EAAA,QACEC,MAAO,CAAC,gBAAiB,KAAM,qBAAsBX,KAAKY,YAC1DC,IAAMC,GAAQd,KAAKK,YAAcS,GAEhCd,KAAKiB,cAKJjB,KAAAkB,gBAAkB,IAEtBR,EAACS,EAAI,CAACC,SAAU,GACdV,EAAA,OAAKC,MAAO,qBAAqBX,KAAKqB,kBAAoB,eAAiB,MACzEX,EAAA,OAAKC,MAAM,iBACRX,KAAKqB,mBACJX,EAAA,WACEA,EAAA,OAAKC,MAAM,8BACXD,EAAA,OAAKC,MAAM,+BAGfD,EAAA,OAAKC,MAAM,eACTD,EAAA,OACEY,IAAKtB,KAAKuB,OAASvB,KAAKwB,eAAiBC,EACzCC,IAAI,GACJC,QAAS,KACP,GAAI3B,KAAKwB,cAAe,CACtBxB,KAAKuB,MAAQvB,KAAKwB,a,KACb,CACLxB,KAAKuB,MAAQE,C,QAOzBf,EAAA,OAAKC,MAAM,kBACRX,KAAK4B,SACJlB,EAAA,QACEC,MAAM,gBACNE,IAAMC,GAAQd,KAAKG,WAAaW,GAE/Bd,KAAK4B,SAGT5B,KAAKM,cACLN,KAAKgB,iBACNN,EAAA,OAAKC,MAAM,kBACTD,EAAA,QAAMmB,KAAK,UAEbnB,EAAA,OAAKC,MAAM,iBACTD,EAAA,QAAMmB,KAAK,eAOb7B,KAAA8B,eAAiB,IAErBpB,EAACS,EAAI,CACHC,SAAU,EACVT,MAAM,aAEND,EAAA,OAAKC,MAAM,oBACTD,EAAA,OAAKC,MAAM,uBACTD,EAAA,UACEC,MAAM,YACNkB,KAAK,OACLE,MAAO,GACPC,OAAQ,OAIdtB,EAAA,OAAKC,MAAM,kBACRX,KAAKM,cACLN,KAAKgB,mB,qJAhKM,M,gBAOP,M,4BAeL,eAAAd,CAAgBY,GACtB,IAAKA,EAAI,CACP,M,CAIF,MAAMmB,EAAQC,OAAOC,iBAAiBrB,GACtC,MAAMsB,EAAeH,EAAMI,iBAAiB,wBAA0B,OAEtE,IAAIC,EACJ,GAAIF,EAAc,CAEhB,MAAMG,EAAaC,SAASP,EAAMM,YAClC,MAAME,EAAWD,SAASP,EAAMI,iBAAiB,uBACjD,MAAMK,EAAYH,EAAaE,EAE/BH,EAAcxB,EAAG6B,aAAeD,C,KAC3B,CAELJ,EAAcxB,EAAG8B,YAAc9B,EAAG+B,aAAe/B,EAAG6B,aAAe7B,EAAGgC,Y,CAGxE,GAAIR,EAAa,CACfxB,EAAGiC,aAAa,QAASjC,EAAGkC,YAAYC,O,KACnC,CACLnC,EAAGoC,gBAAgB,Q,EAIvB,kBAAAC,GACEnD,KAAKE,gBAAgBF,KAAKG,YAC1BH,KAAKE,gBAAgBF,KAAKI,UAC1BJ,KAAKE,gBAAgBF,KAAKK,Y,CAS5B,gBAAA+C,GACElB,OAAOmB,iBAAiB,SAAUrD,KAAKC,c,CAGzC,oBAAAqD,GACEpB,OAAOqB,oBAAoB,SAAUvD,KAAKC,c,CAkG5C,MAAAuD,GACE,OAAOxD,KAAKY,WAAaZ,KAAK8B,iBAAmB9B,KAAKkB,iB","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,g as s}from"./p-75c4a726.js";import{I as o,e as r,i as a,g as n,l as h}from"./p-17af7fb2.js";import{r as l,d as c}from"./p-625e2cee.js";import"./p-5145a606.js";const d='.z-label{display:block;padding-bottom:var(--space-unit);color:var(--color-default-text);font-family:var(--font-family-sans);font-size:var(--font-size-1);font-weight:var(--font-sb);text-align:left;text-transform:uppercase}: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 .z-label{color:var(--color-form-default-text)}:host>div.open>div.open-combo-data>div>div{overflow:auto;max-height:235px;padding:0;padding-left:var(--space-unit);margin-left:calc(var(--space-unit) * -1);}: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 calc(var(--space-unit) * 0.5);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) calc(var(--space-unit) * 2)\n calc(var(--space-unit) * 1.5);border-bottom:var(--border-size-small) solid var(--gray800);margin-bottom:var(--space-unit);margin-left:calc(var(--space-unit) * -1);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)}';const p=d;const u=class{watchItems(){this.itemsList=typeof this.items==="string"?JSON.parse(this.items):this.items;this.selectedCounter=this.itemsList.filter((t=>t.checked)).length;this.updateRenderItemsList()}watchSearchValue(){this.filterItems(this.searchValue)}watchCheckboxes(){this.checkboxes.forEach(((t,e)=>t.setAttribute("tabindex",e===0?"0":"-1")))}emitComboboxChange(){this.comboboxChange.emit({id:this.inputid,items:this.itemsList})}constructor(i){t(this,i);this.comboboxChange=e(this,"comboboxChange",7);this.itemsList=[];this.inputType=o.TEXT;this.inputid=`combo-${l()}`;this.items=undefined;this.label=undefined;this.disabled=false;this.hassearch=false;this.searchlabel=undefined;this.searchplaceholder=undefined;this.searchtitle=undefined;this.noresultslabel="Nessun risultato";this.isopen=false;this.isfixed=false;this.closesearchtext="Chiudi";this.hascheckall=false;this.checkalltext="Seleziona tutti";this.uncheckalltext="Deseleziona tutti";this.maxcheckableitems=0;this.hasgroupitems=undefined;this.size=r.BIG;this.searchValue=undefined;this.selectedCounter=undefined;this.renderItemsList=[];this.focusedItemId=undefined;this.checkboxes=[];this.toggleComboBox=this.toggleComboBox.bind(this);this.closeFilterItems=this.closeFilterItems.bind(this)}componentWillLoad(){this.watchItems()}componentWillRender(){this.selectedCounter=this.itemsList.filter((t=>t.checked)).length}componentDidRender(){const t=this.getAllCheckboxes();if(JSON.stringify(t)!==JSON.stringify(this.checkboxes)){this.checkboxes=t}}getItemId(t){return`combo-checkbox-${this.inputid}-${t.id}`}getCheckboxClass(){return`combo-item-checkbox-input-${this.inputid}`}getAllCheckboxes(){return Array.from(this.element.shadowRoot.querySelectorAll(`.${this.getCheckboxClass()} input:not([disabled])`))}getControlToListSize(){switch(this.size){case r.X_SMALL:return a.SMALL;case r.SMALL:return a.MEDIUM;default:return a.LARGE}}handleSelectArrowsNavigation(t,e){if(![n.ARROW_DOWN,n.ARROW_UP].includes(t.key)||!this.isopen){return}t.preventDefault();t.stopPropagation();const i=this.element.shadowRoot.querySelector(`#${e}`);if(!i){return}const s=this.checkboxes;if(!s.length){return}const o=s.indexOf(i);const r=0;const a=s.length-1;let h=null;if(t.key===n.ARROW_DOWN){h=o===a?s[r]:s[o+1]}else if(t.key===n.ARROW_UP){h=o===r?s[a]:s[o-1]}this.focusComboboxItem(h)}handleHeaderKeyboardEvent(t){if(t.key===n.SPACE){t.preventDefault()}if(t.key===n.ARROW_DOWN&&!this.isopen||t.key===n.ARROW_UP&&this.isopen){this.toggleComboBox()}}handleCheckboxFocus(t){this.focusedItemId=t}focusComboboxItem(t){this.checkboxes.forEach((function(t){t.setAttribute("tabindex","-1")}));t.setAttribute("tabindex","0");t.focus()}updateRenderItemsList(){if(this.searchValue){this.filterItems(this.searchValue)}else{this.resetRenderItemsList()}}resetRenderItemsList(){const t=[];this.itemsList.forEach((e=>{t.push(Object.assign({},e))}));this.renderItemsList=t}filterItems(t){if(!t){return this.closeFilterItems()}this.resetRenderItemsList();this.renderItemsList=this.renderItemsList.filter((e=>{const i=e.name.toUpperCase().indexOf(t.toUpperCase());const s=i+t.length;const o=e.name.substring(0,i)+"<strong>"+e.name.substring(i,s)+"</strong>"+e.name.substring(s,e.name.length);e.name=o;return i>=0}))}checkAll(t=true){this.itemsList=this.itemsList.map((e=>Object.assign(Object.assign({},e),{checked:t})));this.resetRenderItemsList();this.emitComboboxChange()}closeFilterItems(){this.searchValue="";this.resetRenderItemsList()}toggleComboBox(){this.isopen=!this.isopen}getComboboxA11yAttributes(){return{role:"combobox","aria-label":this.label,"aria-expanded":this.isopen?"true":"false","aria-activedescendant":this.isopen?this.focusedItemId:"","aria-controls":`${this.inputid}_list`}}renderHeader(){return i("div",{class:"header",onClick:()=>this.toggleComboBox(),onKeyDown:t=>{this.handleHeaderKeyboardEvent(t)},onKeyUp:t=>c(t,this.toggleComboBox),role:"button",tabindex:0,"aria-expanded":this.isopen?"true":"false"},i("p",{class:"body-3"},this.label,i("span",null,this.selectedCounter>0&&` (${this.selectedCounter})`)),i("z-icon",{name:"caret-down",class:this.size}))}renderContent(){if(!this.isopen){return}return i("div",{class:"open-combo-data"},this.hassearch&&this.renderSearchInput(),!this.hassearch?i("span",Object.assign({},this.getComboboxA11yAttributes())):null,i("div",{role:"listbox","aria-label":this.label,"aria-multiselectable":true,id:`${this.inputid}_list`,"aria-owns":`${this.checkboxes.map((t=>t.id)).join(" ")}`},this.hascheckall&&this.renderCheckAll(),this.renderItems()))}renderItems(){return i("div",{class:this.searchValue&&"search"},this.renderList(this.renderItemsList),this.searchValue&&this.renderCloseButton())}renderItem(t,e,s){return i("z-list-element",{id:t.id,htmlTabindex:null,dividerType:e!==s-1?h.ELEMENT:h.NONE,size:this.getControlToListSize()},i("z-input",{type:o.CHECKBOX,checked:t.checked,htmlid:this.getItemId(t),label:t.name,class:this.getCheckboxClass(),disabled:!t.checked&&this.maxcheckableitems&&this.selectedCounter>=this.maxcheckableitems,size:this.size===r.X_SMALL?r.SMALL:this.size,role:"option","aria-selected":t.checked?"true":"false",onKeyDown:e=>this.handleSelectArrowsNavigation(e,this.getItemId(t)),onInputCheck:e=>{this.itemsList=this.itemsList.map((i=>{if(t.id===i.id){i.checked=e.detail.checked}return i}));this.updateRenderItemsList();this.emitComboboxChange()},onInputFocus:t=>this.handleCheckboxFocus(t.detail.id)}))}renderList(t){if(!t){return}if(!t.length&&this.searchValue){return this.renderNoSearchResults()}if(this.hasgroupitems){return this.renderGroups(t)}return i("ul",{role:"none"},t.map(((e,i)=>this.renderItem(e,i,t.length))))}renderGroups(t){const e=t.reduce(((e,i,s)=>{var o;const{category:r}=i;const a=this.renderItem(i,s,t.length);e[r]=(o=e[r])!==null&&o!==void 0?o:[];e[r].push(a);return e}),{});const s=Object.entries(e).map((([t,e])=>i("z-list-group",{"divider-type":h.ELEMENT},i("span",{class:"body-3-sb z-list-group-title",slot:"header-title"},t),e.map((t=>t)))));return i("ul",{role:"none"},s)}renderNoSearchResults(){return i("div",{class:"no-results"},i("span",null,this.noresultslabel))}renderCloseButton(){return i("div",{class:"close-search"},i("a",{onClick:()=>this.closeFilterItems(),onKeyUp:t=>c(t,this.closeFilterItems),role:"button",tabindex:0},this.closesearchtext))}renderSearchInput(){return i("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:t=>{if(t.key===n.ESC){this.closeFilterItems()}},onInputChange:t=>{this.searchValue=t.detail.value}}))}renderCheckAll(){if(this.searchValue){return}const t=`combo-checkbox-${this.inputid}-check-all`;const e=this.selectedCounter===this.itemsList.length;return i("div",{class:"check-all-wrapper"},i("z-input",{type:o.CHECKBOX,checked:e,htmlid:t,class:this.getCheckboxClass(),label:e?this.uncheckalltext:this.checkalltext,disabled:this.maxcheckableitems&&this.maxcheckableitems<this.itemsList.length,size:this.size===r.X_SMALL?r.SMALL:this.size,role:"option","aria-selected":e?"true":"false",onKeyDown:e=>this.handleSelectArrowsNavigation(e,t),onInputCheck:t=>this.checkAll(t.detail.checked),onInputFocus:t=>this.handleCheckboxFocus(t.detail.id)}))}render(){return i("div",{key:"18c772bca62207b17c7cbbcc062fa1c66c491400","data-action":`combo-${this.inputid}`,class:{open:this.isopen,fixed:this.isfixed,disabled:this.disabled},id:this.inputid},this.renderHeader(),!this.disabled&&this.renderContent())}get element(){return s(this)}static get watchers(){return{items:["watchItems"],searchValue:["watchSearchValue"],checkboxes:["watchCheckboxes"]}}};u.style=p;export{u as z_combobox};
2
- //# sourceMappingURL=p-b0f80e50.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,h as a,a as e}from"./p-75c4a726.js";const i=":host{position:relative;display:flex;width:100%;max-width:100%;box-sizing:border-box;flex-direction:row;padding:0;margin:0;font-family:var(--font-family-sans);font-weight:var(--font-rg);list-style:none}@media (min-width: 768px){:host{padding:0 calc(var(--space-unit) * 2)}}";const o=i;const s=class{constructor(a){t(this,a)}render(){return a(e,{key:"8da3e9db02838695dc2859af59e478cb6f966a6c",role:"list"},a("slot",{key:"e752fdb52b67990a36fe4cb99e13dabed1406619"}))}};s.style=o;export{s as z_stepper};
2
- //# sourceMappingURL=p-e0320349.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as s,g as i}from"./p-75c4a726.js";import{e as l,g as c,l as r,i as n}from"./p-17af7fb2.js";import{r as o,b as a,e as h,f as d}from"./p-625e2cee.js";import"./p-5145a606.js";const z='.sc-z-select-h{display:inline-block;width:inherit;color:var(--color-form-default-text);font-family:var(--font-family-sans);font-size:var(--font-size-3);font-weight:var(--font-rg)}[size="small"].sc-z-select-h,[size="x-small"].sc-z-select-h{font-size:var(--font-size-2)}.select-wrapper.sc-z-select>z-input.sc-z-select{width:100%}.select-wrapper.sc-z-select>z-input.sc-z-select .input-icon.sc-z-select{cursor:pointer}.select-wrapper.sc-z-select>div.sc-z-select{position:relative}.select-wrapper.sc-z-select>div.closed.sc-z-select{overflow:hidden;height:0}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select{position:absolute;width:100%;box-sizing:border-box;border-top:none;background:var(--color-form-background);box-shadow:var(--shadow-2);outline:none}.select-wrapper.sc-z-select .closed.sc-z-select .ul-scroll-wrapper.sc-z-select{z-index:10}.select-wrapper.sc-z-select .open.sc-z-select .ul-scroll-wrapper.sc-z-select{z-index:20}.select-wrapper.sc-z-select .ul-scroll-wrapper.fixed.sc-z-select{position:static}.select-wrapper.sc-z-select z-list.sc-z-select{--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)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select>z-list.sc-z-select{position:relative;overflow:auto;max-height:240px;padding:var(--space-unit) calc(var(--space-unit) * 1.5);margin:calc(var(--space-unit) * -1) 0;outline:none}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element[disabled].sc-z-select{color:var(--color-form-disabled03)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select{display:flex;align-items:center;padding:calc(var(--space-unit) / 2) var(--space-unit);column-gap:var(--space-unit)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.sc-z-select{margin-right:auto}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select+.list-element-content.sc-z-select{padding:calc(var(--space-unit) * 0.5) var(--space-unit)}[size="x-small"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.sc-z-select{padding:0}[size="small"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select{--z-icon-width:16px;--z-icon-height:16px}[size="x-small"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select{--z-icon-width:14px;--z-icon-height:14px}[size="x-small"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select+.list-element-content.sc-z-select{padding:0 var(--space-unit)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.selected.sc-z-select{font-weight:var(--font-sb)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select .no-results.sc-z-select z-icon.sc-z-select{margin-right:var(--space-unit)}.z-list-group-title.sc-z-select{color:var(--color-form-default-text)}.reset-item.sc-z-select{color:var(--color-form-active-primary);fill:var(--color-form-active-primary)}.reset-item-content.sc-z-select{display:flex;align-items:center}.reset-item.reset-item-margin.sc-z-select .reset-item-content.sc-z-select{margin-left:var(--space-unit)}.reset-item.sc-z-select .reset-item-content.sc-z-select>z-icon.sc-z-select{margin-right:var(--space-unit)}.reset-item.hide.sc-z-select{display:none}.tree-list-reset-item.sc-z-select{padding:var(--space-unit) 0}z-list-element.sc-z-select{position:relative;display:block}z-list.sc-z-select z-list-element.sc-z-select::before{position:absolute;z-index:100;top:3px;left:-15px;width:8px;height:1em;border-bottom:1px solid var(--color-form-disabled01-icon);border-left:1px solid var(--color-form-disabled01-icon);content:"";cursor:pointer}z-list.sc-z-select z-list-element.sc-z-select::after{position:absolute;z-index:100;top:5px;left:-15px;width:8px;height:100%;border-left:1px solid var(--color-form-disabled01-icon);content:"";cursor:pointer}z-list.sc-z-select z-list-element.sc-z-select:last-child::after{display:none}z-list.sc-z-select>z-list-element.sc-z-select::before,z-list.sc-z-select>z-list-element.sc-z-select::after,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.sc-z-select::before,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.sc-z-select::after{display:none}z-list.sc-z-select>div.children-node.sc-z-select{padding-left:calc(var(--space-unit) * 2)}z-list-element.grouped-tree-parent-node.sc-z-select{padding-top:0;padding-left:calc(var(--space-unit) * 2)}z-list-element.sc-z-select>.list-element.sc-z-select{display:flex;justify-content:space-between;padding:calc(var(--space-unit) * 1.25) 0;cursor:pointer}z-list-element.sc-z-select>.list-element.sc-z-select:focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}z-list-element.sc-z-select>.list-element.sc-z-select .item.ellipsis.sc-z-select{overflow:hidden}z-list-element.sc-z-select .list-element.sc-z-select::after{position:absolute;top:0;right:-1px;display:block;width:100%;height:40px;content:"";transform:translateX(-100%)}z-list-element.tree-search-item.sc-z-select{padding-top:0}z-list-element.tree-search-item.sc-z-select .list-element.sc-z-select::after{position:absolute;top:8px;right:-25px;display:block;width:100%;height:40px;content:"";transform:translateX(-100%)}z-list-element.grouped-tree-parent-node.sc-z-select .list-element.sc-z-select::after{position:absolute;top:8px;right:-25px;display:block;width:100%;height:40px;content:"";transform:translateX(-100%)}z-list-element.sc-z-select:not([disabled])>.list-element.sc-z-select:hover,z-list-element.sc-z-select:not([disabled])>.list-element.sc-z-select:hover::after{z-index:-1;background-color:var(--color-form-surface03);cursor:pointer}.item-label.selected.sc-z-select{font-weight:bold}.item.ellipsis.sc-z-select{display:inline-block;overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}z-list.sc-z-select>z-list-element.grouped-tree-parent-node.sc-z-select>.list-element.sc-z-select:hover::after,z-list-element.tree-search-item.sc-z-select .list-element.sc-z-select:hover::after,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.grouped-tree-parent-node.sc-z-select>.list-element.sc-z-select:hover::after{position:absolute;z-index:-1;top:8px;right:-18px;display:block;width:100%;height:40px;content:"";transform:translateX(-100%)}z-list-element.sc-z-select>.list-element.sc-z-select:hover::after{position:absolute;z-index:-1;top:0;right:0;display:block;width:100%;height:40px;content:"";transform:translateX(-100%)}.children-node.sc-z-select z-list-element.sc-z-select::before,.children-node.sc-z-select z-list-element.sc-z-select::after{left:-15px}.children-node.sc-z-select .children-node.sc-z-select z-list-element.sc-z-select::before,.children-node.sc-z-select .children-node.sc-z-select z-list-element.sc-z-select::after{left:-15px}.children-node.sc-z-select>z-list-element.sc-z-select{padding:0}';const p=z;const u=class{constructor(s){e(this,s);this.optionSelect=t(this,"optionSelect",7);this.resetSelect=t(this,"resetSelect",7);this.itemsList=[];this.itemIdKeyMap={};this.resetKey=-1;this.htmlid=`id-${o()}`;this.items=undefined;this.name=undefined;this.label=undefined;this.ariaLabel="";this.disabled=false;this.readonly=false;this.placeholder=undefined;this.htmltitle=undefined;this.status=undefined;this.message=true;this.autocomplete=false;this.noresultslabel="Nessun risultato";this.hasGroupItems=undefined;this.hasTreeItems=undefined;this.showChildrenOfMatchingParent=undefined;this.isfixed=false;this.resetItem=undefined;this.size=l.BIG;this.isOpen=false;this.selectedItem=null;this.focusedItemId=undefined;this.searchString=undefined;this.flattenedList=[];this.toggleSelectUl=this.toggleSelectUl.bind(this);this.handleSelectFocus=this.handleSelectFocus.bind(this)}watchItems(){this.itemsList=this.getInitialItemsArray();this.selectedItem=this.findSelectedItem(this.itemsList);this.flattenedList=this.flattenTreeItems(this.itemsList);this.itemIdKeyMap={};this.flattenedList.forEach((({item:e,key:t})=>{this.itemIdKeyMap[e.id]=t}))}getFocusedItemHandler(e){this.focusedItemId=e.target.id}async getSelectedItem(){return this.selectedItem}async getValue(){return this.getSelectedValue()}async setValue(e){let t=[];if(typeof e==="string"){t.push(e)}else{t=e}this.itemsList=this.getInitialItemsArray();if(t.length){this.updateSelection(this.itemsList,t[0])}this.selectedItem=this.findSelectedItem(this.itemsList)}emitOptionSelect(){this.optionSelect.emit({id:this.htmlid,selected:this.getSelectedValue()})}emitResetSelect(){this.resetSelect.emit({id:this.htmlid})}componentWillLoad(){this.watchItems()}componentWillRender(){this.filterItems(this.searchString)}getInitialItemsArray(){return typeof this.items==="string"?JSON.parse(this.items):this.items}mapSelectedItemToItemsArray(){const e=this.getInitialItemsArray();return e.map((e=>{var t;e.selected=e.id===((t=this.selectedItem)===null||t===void 0?void 0:t.id);return e}))}getSelectedValue(){var e;return(e=this.selectedItem)===null||e===void 0?void 0:e.id}filterItems(e){const t=this.mapSelectedItemToItemsArray();if(!(e===null||e===void 0?void 0:e.length)){this.itemsList=t;return}if(this.hasTreeItems){this.itemsList=this.filterTree(t,e,false)}else{this.itemsList=t.filter((t=>t.name.toUpperCase().includes(e.toUpperCase()))).map((t=>{t.name=this.getHighlightedText(t.name,e);return t}))}this.flattenedList=this.flattenTreeItems(this.itemsList);this.itemIdKeyMap={};this.flattenedList.forEach((({item:e,key:t})=>{this.itemIdKeyMap[e.id]=t}))}filterTree(e,t,s){if(!e){return[]}return e.map((e=>{const i=e.name.toUpperCase().includes(t.toUpperCase());const l=Object.assign({},e);if(l.children&&l.children.length>0){l.children=this.filterTree(l.children,t,i)}if(i){l.name=this.getHighlightedText(l.name,t)}if(i||l.children&&l.children.length>0||this.showChildrenOfMatchingParent&&s){return l}return null})).filter((e=>e!==null))}getHighlightedText(e,t){const s=e.toUpperCase();const i=t.toUpperCase();const l=s.indexOf(i);if(l===-1){return e}const c=l+t.length;return e.substring(0,l)+`<strong>${e.substring(l,c)}</strong>`+e.substring(c)}hasAutocomplete(){return a(this.autocomplete)===true}handleInputChange(e){this.searchString=e.detail.value;if(!this.isOpen){this.toggleSelectUl()}}updateSelection(e,t){if(e){e.forEach((e=>{e.selected=e.id===t;if(e.children&&e.children.length>0){this.updateSelection(e.children,t)}}))}}findSelectedItem(e){if(e){for(const t of e){if(t.selected){return t}if(t.children&&t.children.length>0){const e=this.findSelectedItem(t.children);if(e){return e}}}}return null}selectItem(e){if(e===null||e===void 0?void 0:e.disabled){return}this.itemsList=this.getInitialItemsArray();if(e){this.updateSelection(this.itemsList,e.id)}this.selectedItem=this.findSelectedItem(this.itemsList);this.emitOptionSelect();this.toggleSelectUl();if(this.searchString){this.searchString=null}}flattenTreeItems(e){const t=[];let s=0;const i=e=>{e.forEach((e=>{t.push({item:e,key:s++});if(e.children&&e.children.length>0){i(e.children)}}))};if(e){i(e)}return t}arrowsSelectNav(e,t){const s=this.resetItem&&!!this.selectedItem;const i=[c.ARROW_DOWN,c.ARROW_UP];if(!i.includes(e.key)){return}e.preventDefault();e.stopPropagation();const l=[...this.flattenedList].filter((e=>!e.item.disabled));if(this.resetItem&&s){l.unshift({item:{id:"__RESET_ITEM__"},key:this.resetKey})}let r;if(typeof t==="number"){r=l.findIndex((e=>e.key===t))}else{const e=this.itemIdKeyMap[t];r=l.findIndex((t=>t.key===e))}if(!this.isOpen){this.toggleSelectUl();if(r===-1){r=-1}}const n=l.length-1;let o=r;if(e.key===c.ARROW_DOWN){do{o=o===n?0:o+1}while(l[o].item.disabled)}else{do{o=o<=0?n:o-1}while(l[o].item.disabled)}this.focusSelectItem(l[o].key)}focusSelectItem(e){var t;(t=this.host.querySelector(`#${this.htmlid}_key_${e}`))===null||t===void 0?void 0:t.focus()}toggleSelectUl(e=false){var t;if(this.disabled||this.readonly){return}if(!this.isOpen){document.addEventListener("click",this.handleSelectFocus);document.addEventListener("keyup",this.handleSelectFocus)}else{document.removeEventListener("click",this.handleSelectFocus);document.removeEventListener("keyup",this.handleSelectFocus);if(e){(t=this.host.querySelector(`#${this.htmlid}_input`))===null||t===void 0?void 0:t.focus()}if(this.selectedItem&&this.searchString){this.searchString=null;this.filterItems(this.searchString)}}this.focusedItemId="";this.isOpen=!this.isOpen}handleInputClick(e){if(e.target.closest(".reset-icon")){e.stopPropagation();return}this.toggleSelectUl()}handleSelectFocus(e){const t=d();if(t===null||t===void 0?void 0:t.hasAttribute("disabled")){return}if(e instanceof KeyboardEvent&&e.key===c.ESC){e.stopPropagation();return this.toggleSelectUl(true)}if(e instanceof KeyboardEvent&&(e.key===c.ENTER||e.key!==c.TAB)){return}if(!h(t).find((e=>e.nodeName.toLowerCase()==="z-input"&&e.id===`${this.htmlid}_input`))){this.toggleSelectUl(e instanceof MouseEvent)}}scrollToLetter(e){const t=this.itemsList.findIndex((t=>t.name.charAt(0)===e));if(t>-1){this.focusSelectItem(this.itemIdKeyMap[this.itemsList[t].id])}}renderInput(){return s("z-input",{class:{"active-select":this.isOpen,"cursor-select":!this.autocomplete},id:`${this.htmlid}_input`,htmlid:`${this.htmlid}_select_input`,placeholder:this.placeholder,value:!this.isOpen&&this.selectedItem?this.selectedItem.name.replace(/<[^>]+>/g,""):null,label:this.label,autocomplete:"off","aria-expanded":this.isOpen?"true":"false","aria-label":this.ariaLabel,"aria-controls":`${this.htmlid}_list`,"aria-autocomplete":this.hasAutocomplete()?"list":"none","aria-activedescendant":this.isOpen?this.focusedItemId:"",icon:this.isOpen?"caret-up":"caret-down",hasclearicon:false,message:false,name:this.name,disabled:this.disabled,readonly:this.readonly||!this.hasAutocomplete()&&this.isOpen,status:this.isOpen?undefined:this.status,role:"combobox",size:this.size,onClick:e=>{this.handleInputClick(e)},onKeyUp:e=>{e.preventDefault();if(this.hasAutocomplete()){if(!this.isOpen){this.toggleSelectUl()}}},onKeyDown:e=>{const t=this.selectedItem?this.itemIdKeyMap[this.selectedItem.id]:this.resetItem?this.resetKey:"";return this.arrowsSelectNav(e,t)},onInputChange:e=>{this.handleInputChange(e)},onKeyPress:e=>{if(!this.hasAutocomplete()){e.preventDefault();this.scrollToLetter(String.fromCharCode(e.keyCode))}}})}renderSelectUl(){return s("div",{class:this.isOpen?"open":"closed"},s("div",{class:{"ul-scroll-wrapper":true,fixed:this.isfixed}},s("z-list",{role:"listbox","aria-label":this.ariaLabel||this.label,tabindex:this.disabled||this.readonly||!this.isOpen?-1:0,id:`${this.htmlid}_list`,"aria-multiselectable":false,size:this.listSizeType(),class:{disabled:this.disabled,readonly:this.readonly,[`input-${this.status}`]:!this.isOpen&&!!this.status,"z-scrollbar":true}},this.resetItem&&this.renderResetItem(),this.renderSelectUlItems())))}renderResetItem(){return s("z-list-element",{class:{hide:!this.selectedItem||!this.resetItem,"reset-item":true,"reset-item-margin":!this.hasGroupItems},clickable:true,disabled:false,dividerType:r.ELEMENT,role:"option",tabindex:"0","aria-selected":"false",id:`${this.htmlid}_key_${this.resetKey}`,size:this.hasTreeItems?n.MEDIUM:this.listSizeType(),onClickItem:()=>{this.selectedItem=null;this.searchString=null;this.emitResetSelect()},onKeyDown:e=>this.arrowsSelectNav(e,this.resetKey)},s("div",{class:{"reset-item-content":true,"tree-list-reset-item":this.hasTreeItems}},s("z-icon",{name:"multiply-circled"}),s("span",null,this.resetItem)))}renderItem(e,t){const i=this.itemIdKeyMap[e.id];return s("z-list-element",{clickable:!e.disabled,disabled:e.disabled,dividerType:t?r.HEADER:r.ELEMENT,role:"option",tabindex:e.disabled||!this.isOpen?-1:0,"aria-selected":e.selected?"true":"false",id:`${this.htmlid}_key_${i}`,size:this.listSizeType(),onClickItem:()=>this.selectItem(e),onKeyDown:e=>this.arrowsSelectNav(e,i)},s("div",{class:"list-element-container"},s("div",{class:{selected:!!e.selected,"list-element-content":true},innerHTML:e.name}),e.icon&&s("z-tag",{icon:e.icon})))}listSizeType(){if(this.hasTreeItems){return n.NONE}if(this.size===l.SMALL||this.size===l.X_SMALL){return n.SMALL}return n.MEDIUM}renderSelectUlItems(){if(!this.itemsList.length){return this.renderNoSearchResults()}if(this.hasGroupItems&&!this.hasTreeItems){return this.renderSelectGroupItems()}else if(this.hasGroupItems&&this.hasTreeItems){return this.renderGroupedTree()}return this.itemsList.map(((e,t,s)=>{const i=t===s.length-1;const l=s.length>1;if(this.hasTreeItems){return this.renderTreeItems(e,i,l,true)}return this.renderItem(e,i)}))}renderTreeItems(e,t,i,l){var n,o;const a=this.itemIdKeyMap[e.id];const h=this.hasGroupItems?undefined:this.hasGroupItems?t&&!i?r.ELEMENT:undefined:l&&i&&!t?r.ELEMENT:undefined;return s("z-list-element",{clickable:!e.disabled,disabled:e.disabled,class:{"grouped-tree-parent-node":this.hasGroupItems&&!!((n=e.children)===null||n===void 0?void 0:n.length),"tree-search-item":this.hasGroupItems&&l&&!((o=e.children)===null||o===void 0?void 0:o.length)&&!!this.searchString},size:this.listSizeType(),dividerType:h,hasTreeItems:this.hasTreeItems},s("div",{id:`${this.htmlid}_key_${a}`,role:"option",class:"list-element",tabIndex:0,onClick:()=>this.selectItem(e),onKeyDown:t=>{this.arrowsSelectNav(t,a);if(t.key===c.ENTER){this.selectItem(e)}}},s("span",{class:"item ellipsis"},s("span",{class:{"item-label":true,selected:!!e.selected},title:e.name,innerHTML:e.selected?`<strong>${e.name}</strong>`:e.name})),e.icon&&s("z-tag",{icon:e.icon})),e.children&&e.children.length>0?s("z-list",null,s("div",{class:"children-node"},e.children.map(((e,t,s)=>this.renderTreeItems(e,t===s.length-1,s.length>1,false))))):null)}renderGroupedTree(){const e=this.itemsList.reduce(((e,t)=>{const s=t.category||"Altra categoria";e[s]=e[s]||[];e[s].push(t);return e}),{});return Object.entries(e).map((([t,i],l,c)=>{const n=Object.values(e).some((e=>e.length>1));return s("z-list-group",{"divider-type":l===c.length-1?undefined:r.ELEMENT,hasTreeItems:true},s("span",{class:"body-3-sb z-list-group-title",slot:"header-title"},t),s("z-list",null,i.map(((e,t,i)=>[this.renderTreeItems(e,t===i.length-1,n,true),t<i.length-1?s("z-divider",{key:`divider-${t}`,style:{zIndex:"100",height:"var(--border-size-small)"}}):null]))),l!==c.length-1&&s("z-divider",{style:{zIndex:"100",height:"var(--border-size-small)"}}))}))}renderSelectGroupItems(){const e=this.itemsList.reduce(((e,t,s,i)=>{var l;const{category:c}=t;const r=i.length===s+1;const n=this.renderItem(t,r);e[c]=(l=e[c])!==null&&l!==void 0?l:[];e[c].push(n);return e}),{});return Object.entries(e).map((([e,t])=>s("z-list-group",{"divider-type":r.ELEMENT},s("span",{class:"body-3-sb z-list-group-title",slot:"header-title"},e),t.map((e=>e)))))}renderNoSearchResults(){return s("z-list-element",{class:"no-results",size:this.hasTreeItems?n.MEDIUM:this.listSizeType()},this.noresultslabel)}renderMessage(){if(a(this.message)===false){return}return s("z-input-message",{message:a(this.message)===true?undefined:this.message,status:this.status,class:this.size,disabled:this.disabled})}render(){return s("div",{key:"62cfb836de118bfcdc98864dcc47a798a8f90e1a",class:"select-wrapper"},this.renderInput(),this.renderSelectUl(),this.renderMessage())}get host(){return i(this)}static get watchers(){return{items:["watchItems"]}}};u.style=p;export{u as z_select};
2
- //# sourceMappingURL=p-fef12692.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZSelectStyle0","ZSelect","constructor","hostRef","this","itemsList","itemIdKeyMap","resetKey","randomId","ControlSize","BIG","toggleSelectUl","bind","handleSelectFocus","watchItems","getInitialItemsArray","selectedItem","findSelectedItem","flattenedList","flattenTreeItems","forEach","item","key","id","getFocusedItemHandler","e","focusedItemId","target","getSelectedItem","getValue","getSelectedValue","setValue","value","values","push","length","updateSelection","emitOptionSelect","optionSelect","emit","htmlid","selected","emitResetSelect","resetSelect","componentWillLoad","componentWillRender","filterItems","searchString","items","JSON","parse","mapSelectedItemToItemsArray","initialItemsList","map","_a","prevList","hasTreeItems","filterTree","filter","name","toUpperCase","includes","getHighlightedText","matchingParent","match","newItem","Object","assign","children","showChildrenOfMatchingParent","text","search","upperText","upperSearch","start","indexOf","end","substring","hasAutocomplete","boolean","autocomplete","handleInputChange","detail","isOpen","selectedId","found","selectItem","disabled","flatItems","index","flatten","subItems","itm","arrowsSelectNav","idOrReset","showResetIcon","resetItem","arrows","KeyboardCode","ARROW_DOWN","ARROW_UP","preventDefault","stopPropagation","f","unshift","currentIndex","findIndex","k","lastIndex","newIndex","focusSelectItem","host","querySelector","focus","selfFocusOnClose","readonly","document","addEventListener","removeEventListener","handleInputClick","closest","clickedElement","getClickedElement","hasAttribute","KeyboardEvent","ESC","ENTER","TAB","getElementTree","find","elem","nodeName","toLowerCase","MouseEvent","scrollToLetter","letter","foundItem","charAt","renderInput","h","class","placeholder","replace","label","ariaLabel","icon","hasclearicon","message","status","undefined","role","size","onClick","onKeyUp","onKeyDown","current","onInputChange","onKeyPress","String","fromCharCode","keyCode","renderSelectUl","fixed","isfixed","tabindex","listSizeType","renderResetItem","renderSelectUlItems","hide","hasGroupItems","clickable","dividerType","ListDividerType","ELEMENT","ListSize","MEDIUM","onClickItem","renderItem","lastItem","thisItemKey","HEADER","innerHTML","NONE","SMALL","X_SMALL","renderNoSearchResults","renderSelectGroupItems","renderGroupedTree","array","isLastItem","parentHasSiblings","renderTreeItems","isLastChild","isTopLevel","hasDivider","_b","tabIndex","title","child","arr","grouped","reduce","acc","category","entries","some","groupItems","slot","i","style","zIndex","height","newData","group","zListItem","noresultslabel","renderMessage","render"],"sources":["src/components/z-select/styles.css?tag=z-select&encapsulation=scoped","src/components/z-select/index.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: inherit;\n color: var(--color-form-default-text);\n font-family: var(--font-family-sans);\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n}\n\n:host([size=\"small\"]),\n:host([size=\"x-small\"]) {\n font-size: var(--font-size-2);\n}\n\n.select-wrapper > z-input {\n width: 100%;\n}\n\n.select-wrapper > z-input .input-icon {\n cursor: pointer;\n}\n\n.select-wrapper > div {\n position: relative;\n}\n\n.select-wrapper > div.closed {\n overflow: hidden;\n height: 0;\n}\n\n.select-wrapper .ul-scroll-wrapper {\n position: absolute;\n width: 100%;\n box-sizing: border-box;\n border-top: none;\n background: var(--color-form-background);\n box-shadow: var(--shadow-2);\n outline: none;\n}\n\n.select-wrapper .closed .ul-scroll-wrapper {\n z-index: 10;\n}\n\n.select-wrapper .open .ul-scroll-wrapper {\n z-index: 20;\n}\n\n.select-wrapper .ul-scroll-wrapper.fixed {\n position: static;\n}\n\n.select-wrapper z-list {\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.select-wrapper .ul-scroll-wrapper > z-list {\n position: relative;\n overflow: auto;\n max-height: 240px;\n padding: var(--space-unit) calc(var(--space-unit) * 1.5);\n margin: calc(var(--space-unit) * -1) 0;\n outline: none;\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element[disabled] {\n color: var(--color-form-disabled03);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container {\n display: flex;\n align-items: center;\n padding: calc(var(--space-unit) / 2) var(--space-unit);\n column-gap: var(--space-unit);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container .list-element-content {\n margin-right: auto;\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon + .list-element-content {\n padding: calc(var(--space-unit) * 0.5) var(--space-unit);\n}\n\n:host([size=\"x-small\"])\n .select-wrapper\n .ul-scroll-wrapper\n z-list\n z-list-element\n .list-element-container\n .list-element-content {\n padding: 0;\n}\n\n:host([size=\"small\"]) .select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n:host([size=\"x-small\"]) .select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon {\n --z-icon-width: 14px;\n --z-icon-height: 14px;\n}\n\n:host([size=\"x-small\"])\n .select-wrapper\n .ul-scroll-wrapper\n z-list\n z-list-element\n .list-element-container\n > z-icon\n + .list-element-content {\n padding: 0 var(--space-unit);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container .list-element-content.selected {\n font-weight: var(--font-sb);\n}\n\n.select-wrapper .ul-scroll-wrapper .no-results z-icon {\n margin-right: var(--space-unit);\n}\n\n.z-list-group-title {\n color: var(--color-form-default-text);\n}\n\n.reset-item {\n color: var(--color-form-active-primary);\n fill: var(--color-form-active-primary);\n}\n\n.reset-item-content {\n display: flex;\n align-items: center;\n}\n\n.reset-item.reset-item-margin .reset-item-content {\n margin-left: var(--space-unit);\n}\n\n.reset-item .reset-item-content > z-icon {\n margin-right: var(--space-unit);\n}\n\n.reset-item.hide {\n display: none;\n}\n\n.tree-list-reset-item {\n padding: var(--space-unit) 0;\n}\n\nz-list-element {\n position: relative;\n display: block;\n}\n\nz-list z-list-element::before {\n position: absolute;\n z-index: 100;\n top: 3px;\n left: -15px;\n width: 8px;\n height: 1em;\n border-bottom: 1px solid var(--color-form-disabled01-icon);\n border-left: 1px solid var(--color-form-disabled01-icon);\n content: \"\";\n cursor: pointer;\n}\n\nz-list z-list-element::after {\n position: absolute;\n z-index: 100;\n top: 5px;\n left: -15px;\n width: 8px;\n height: 100%;\n border-left: 1px solid var(--color-form-disabled01-icon);\n content: \"\";\n cursor: pointer;\n}\n\nz-list z-list-element:last-child::after {\n display: none;\n}\n\nz-list > z-list-element::before,\nz-list > z-list-element::after,\nz-list > z-list-group > z-list-element::before,\nz-list > z-list-group > z-list-element::after {\n display: none;\n}\n\nz-list > div.children-node {\n padding-left: calc(var(--space-unit) * 2);\n}\n\nz-list-element.grouped-tree-parent-node {\n padding-top: 0;\n padding-left: calc(var(--space-unit) * 2);\n}\n\nz-list-element > .list-element {\n display: flex;\n justify-content: space-between;\n padding: calc(var(--space-unit) * 1.25) 0;\n cursor: pointer;\n}\n\nz-list-element > .list-element:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\nz-list-element > .list-element .item.ellipsis {\n overflow: hidden;\n}\n\nz-list-element .list-element::after {\n position: absolute;\n top: 0;\n right: -1px;\n display: block;\n width: 100%;\n height: 40px;\n content: \"\";\n transform: translateX(-100%);\n}\n\nz-list-element.tree-search-item {\n padding-top: 0;\n}\n\nz-list-element.tree-search-item .list-element::after {\n position: absolute;\n top: 8px;\n right: -25px;\n display: block;\n width: 100%;\n height: 40px;\n content: \"\";\n transform: translateX(-100%);\n}\n\nz-list-element.grouped-tree-parent-node .list-element::after {\n position: absolute;\n top: 8px;\n right: -25px;\n display: block;\n width: 100%;\n height: 40px;\n content: \"\";\n transform: translateX(-100%);\n}\n\nz-list-element:not([disabled]) > .list-element:hover,\nz-list-element:not([disabled]) > .list-element:hover::after {\n z-index: -1;\n background-color: var(--color-form-surface03);\n cursor: pointer;\n}\n\n.item-label.selected {\n font-weight: bold;\n}\n\n.item.ellipsis {\n display: inline-block;\n overflow: hidden;\n max-width: 100%;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\nz-list > z-list-element.grouped-tree-parent-node > .list-element:hover::after,\nz-list-element.tree-search-item .list-element:hover::after,\nz-list > z-list-group > z-list-element.grouped-tree-parent-node > .list-element:hover::after {\n position: absolute;\n z-index: -1;\n top: 8px;\n right: -18px;\n display: block;\n width: 100%;\n height: 40px;\n content: \"\";\n transform: translateX(-100%);\n}\n\nz-list-element > .list-element:hover::after {\n position: absolute;\n z-index: -1;\n top: 0;\n right: 0;\n display: block;\n width: 100%;\n height: 40px;\n content: \"\";\n transform: translateX(-100%);\n}\n\n.children-node z-list-element::before,\n.children-node z-list-element::after {\n left: -15px;\n}\n\n.children-node .children-node z-list-element::before,\n.children-node .children-node z-list-element::after {\n left: -15px;\n}\n\n.children-node > z-list-element {\n padding: 0;\n}\n","import {Component, Element, Event, EventEmitter, Listen, Method, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ControlSize, InputStatus, KeyboardCode, ListDividerType, ListSize, SelectItem} from \"../../beans\";\nimport {boolean, getClickedElement, getElementTree, randomId} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-select\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZSelect {\n @Element() host: HTMLZSelectElement;\n\n /** the id of the input element */\n @Prop()\n htmlid = `id-${randomId()}`;\n\n /** the input select options */\n @Prop()\n items: SelectItem[] | string;\n\n /** the input name */\n @Prop()\n name?: string;\n\n /** the input label */\n @Prop()\n label?: string;\n\n /** the input aria-label */\n @Prop()\n ariaLabel = \"\";\n\n /** the input is disabled */\n @Prop()\n disabled?: boolean = false;\n\n /** the input is readonly */\n @Prop()\n readonly?: boolean = false;\n\n /** the input placeholder (optional) */\n @Prop()\n placeholder?: string;\n\n /** the input html title (optional) */\n @Prop()\n htmltitle?: string;\n\n /** the input status (optional) */\n @Prop()\n status?: InputStatus;\n\n /** input helper message (optional) - if set to `false` message won't be displayed */\n @Prop()\n message?: string | boolean = true;\n\n /** the input has autocomplete option */\n @Prop()\n autocomplete?: boolean = false;\n\n /** no result text message */\n @Prop()\n noresultslabel?: string = \"Nessun risultato\";\n\n /** */\n @Prop()\n hasGroupItems?: boolean;\n\n /** */\n @Prop()\n hasTreeItems?: boolean;\n\n /** If true and an item matches the search string, children of matching item are shown even if they don't match the search string */\n @Prop()\n showChildrenOfMatchingParent?: boolean;\n\n /** When fixed, it occupies space and pushes down next elements. */\n @Prop()\n isfixed?: boolean = false;\n\n /** */\n @Prop()\n resetItem?: string;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n @State()\n isOpen = false;\n\n @State()\n selectedItem: null | SelectItem = null;\n\n @State()\n focusedItemId: string;\n\n @State()\n searchString: null | string;\n\n @State()\n private flattenedList: {item: SelectItem; key: number}[] = [];\n\n private itemsList: SelectItem[] = [];\n\n private itemIdKeyMap: Record<string, number> = {};\n\n private readonly resetKey = -1;\n\n constructor() {\n this.toggleSelectUl = this.toggleSelectUl.bind(this);\n this.handleSelectFocus = this.handleSelectFocus.bind(this);\n }\n\n @Watch(\"items\")\n watchItems(): void {\n this.itemsList = this.getInitialItemsArray();\n\n this.selectedItem = this.findSelectedItem(this.itemsList);\n\n this.flattenedList = this.flattenTreeItems(this.itemsList);\n this.itemIdKeyMap = {};\n this.flattenedList.forEach(({item, key}) => {\n this.itemIdKeyMap[item.id] = key;\n });\n }\n\n @Listen(\"ariaDescendantFocus\")\n getFocusedItemHandler(e: CustomEvent): void {\n this.focusedItemId = (e.target as Element).id;\n }\n\n /** get the input selected options */\n @Method()\n async getSelectedItem(): Promise<SelectItem> {\n return this.selectedItem;\n }\n\n /** get the input value */\n @Method()\n async getValue(): Promise<string> {\n return this.getSelectedValue();\n }\n\n /** set the input value */\n @Method()\n async setValue(value: string | string[]): Promise<void> {\n let values: string[] = [];\n if (typeof value === \"string\") {\n values.push(value);\n } else {\n values = value;\n }\n\n this.itemsList = this.getInitialItemsArray();\n if (values.length) {\n this.updateSelection(this.itemsList, values[0]);\n }\n this.selectedItem = this.findSelectedItem(this.itemsList);\n }\n\n /** Emitted on select option selection, returns select id, selected item id */\n @Event()\n optionSelect: EventEmitter;\n\n private emitOptionSelect(): void {\n this.optionSelect.emit({\n id: this.htmlid,\n selected: this.getSelectedValue(),\n });\n }\n\n /** Emitted on reset selected item, returns select id, selected item id */\n @Event()\n resetSelect: EventEmitter;\n\n private emitResetSelect(): void {\n this.resetSelect.emit({\n id: this.htmlid,\n });\n }\n\n componentWillLoad(): void {\n this.watchItems();\n }\n\n componentWillRender(): void {\n this.filterItems(this.searchString);\n }\n\n private getInitialItemsArray(): SelectItem[] {\n return typeof this.items === \"string\" ? JSON.parse(this.items) : this.items;\n }\n\n private mapSelectedItemToItemsArray(): SelectItem[] {\n const initialItemsList = this.getInitialItemsArray();\n\n return initialItemsList.map((item: SelectItem) => {\n item.selected = item.id === this.selectedItem?.id;\n\n return item;\n });\n }\n\n private getSelectedValue(): string {\n return this.selectedItem?.id;\n }\n\n private filterItems(searchString: string): void {\n const prevList = this.mapSelectedItemToItemsArray();\n\n if (!searchString?.length) {\n this.itemsList = prevList;\n\n return;\n }\n\n if (this.hasTreeItems) {\n this.itemsList = this.filterTree(prevList, searchString, false);\n } else {\n this.itemsList = prevList\n .filter((item: SelectItem) => item.name.toUpperCase().includes(searchString.toUpperCase()))\n .map((item: SelectItem) => {\n item.name = this.getHighlightedText(item.name, searchString);\n\n return item;\n });\n }\n\n this.flattenedList = this.flattenTreeItems(this.itemsList);\n this.itemIdKeyMap = {};\n this.flattenedList.forEach(({item, key}) => {\n this.itemIdKeyMap[item.id] = key;\n });\n }\n\n private filterTree(items: SelectItem[], searchString: string, matchingParent: boolean): SelectItem[] {\n if (!items) {\n return [];\n }\n\n return items\n .map((item) => {\n const match = item.name.toUpperCase().includes(searchString.toUpperCase());\n\n const newItem: SelectItem = {...item};\n if (newItem.children && newItem.children.length > 0) {\n newItem.children = this.filterTree(newItem.children, searchString, match);\n }\n\n if (match) {\n newItem.name = this.getHighlightedText(newItem.name, searchString);\n }\n if (\n match ||\n (newItem.children && newItem.children.length > 0) ||\n (this.showChildrenOfMatchingParent && matchingParent)\n ) {\n return newItem;\n }\n\n return null;\n })\n .filter((item) => item !== null) as SelectItem[];\n }\n\n private getHighlightedText(text: string, search: string): string {\n const upperText = text.toUpperCase();\n const upperSearch = search.toUpperCase();\n const start = upperText.indexOf(upperSearch);\n\n if (start === -1) {\n return text;\n }\n\n const end = start + search.length;\n\n return text.substring(0, start) + `<strong>${text.substring(start, end)}</strong>` + text.substring(end);\n }\n\n private hasAutocomplete(): boolean {\n return boolean(this.autocomplete) === true;\n }\n\n private handleInputChange(e: CustomEvent): void {\n this.searchString = e.detail.value;\n if (!this.isOpen) {\n this.toggleSelectUl();\n }\n }\n\n private updateSelection(items: SelectItem[], selectedId: string): void {\n if (items) {\n items.forEach((item) => {\n item.selected = item.id === selectedId;\n if (item.children && item.children.length > 0) {\n this.updateSelection(item.children, selectedId);\n }\n });\n }\n }\n\n private findSelectedItem(items: SelectItem[]): SelectItem | null {\n if (items) {\n for (const item of items) {\n if (item.selected) {\n return item;\n }\n if (item.children && item.children.length > 0) {\n const found = this.findSelectedItem(item.children);\n if (found) {\n return found;\n }\n }\n }\n }\n\n return null;\n }\n\n private selectItem(selected: null | SelectItem): void {\n if (selected?.disabled) {\n return;\n }\n\n this.itemsList = this.getInitialItemsArray();\n\n if (selected) {\n this.updateSelection(this.itemsList, selected.id);\n }\n\n this.selectedItem = this.findSelectedItem(this.itemsList);\n this.emitOptionSelect();\n this.toggleSelectUl();\n if (this.searchString) {\n this.searchString = null;\n }\n }\n\n private flattenTreeItems(items: SelectItem[]): {item: SelectItem; key: number}[] {\n const flatItems: {item: SelectItem; key: number}[] = [];\n let index = 0;\n\n const flatten = (subItems: SelectItem[]): void => {\n subItems.forEach((itm) => {\n flatItems.push({item: itm, key: index++});\n if (itm.children && itm.children.length > 0) {\n flatten(itm.children);\n }\n });\n };\n\n if (items) {\n flatten(items);\n }\n\n return flatItems;\n }\n\n private arrowsSelectNav(e: KeyboardEvent, idOrReset: string | number): void {\n const showResetIcon = this.resetItem && !!this.selectedItem;\n const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];\n\n if (!arrows.includes(e.key as KeyboardCode)) {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n const flatItems = [...this.flattenedList].filter((f) => !f.item.disabled);\n\n if (this.resetItem && showResetIcon) {\n flatItems.unshift({\n item: {id: \"__RESET_ITEM__\"} as SelectItem,\n key: this.resetKey,\n });\n }\n\n let currentIndex: number;\n if (typeof idOrReset === \"number\") {\n currentIndex = flatItems.findIndex((f) => f.key === idOrReset);\n } else {\n const k = this.itemIdKeyMap[idOrReset];\n currentIndex = flatItems.findIndex((f) => f.key === k);\n }\n\n if (!this.isOpen) {\n this.toggleSelectUl();\n\n if (currentIndex === -1) {\n currentIndex = -1;\n }\n }\n\n const lastIndex = flatItems.length - 1;\n\n let newIndex = currentIndex;\n\n if (e.key === KeyboardCode.ARROW_DOWN) {\n do {\n newIndex = newIndex === lastIndex ? 0 : newIndex + 1;\n } while (flatItems[newIndex].item.disabled);\n } else {\n do {\n newIndex = newIndex <= 0 ? lastIndex : newIndex - 1;\n } while (flatItems[newIndex].item.disabled);\n }\n\n this.focusSelectItem(flatItems[newIndex].key);\n }\n\n private focusSelectItem(key: number): void {\n this.host.querySelector<HTMLDivElement>(`#${this.htmlid}_key_${key}`)?.focus();\n }\n\n private toggleSelectUl(selfFocusOnClose = false): void {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (!this.isOpen) {\n document.addEventListener(\"click\", this.handleSelectFocus);\n document.addEventListener(\"keyup\", this.handleSelectFocus);\n } else {\n document.removeEventListener(\"click\", this.handleSelectFocus);\n document.removeEventListener(\"keyup\", this.handleSelectFocus);\n if (selfFocusOnClose) {\n (this.host.querySelector(`#${this.htmlid}_input`) as HTMLInputElement)?.focus();\n }\n\n if (this.selectedItem && this.searchString) {\n this.searchString = null;\n this.filterItems(this.searchString);\n }\n }\n\n this.focusedItemId = \"\";\n this.isOpen = !this.isOpen;\n }\n\n private handleInputClick(e: MouseEvent | KeyboardEvent): void {\n if ((e.target as HTMLElement).closest(\".reset-icon\")) {\n e.stopPropagation();\n\n return;\n }\n\n this.toggleSelectUl();\n }\n\n private handleSelectFocus(e: MouseEvent | KeyboardEvent): void {\n const clickedElement = getClickedElement();\n if (clickedElement?.hasAttribute(\"disabled\")) {\n return;\n }\n\n if (e instanceof KeyboardEvent && e.key === KeyboardCode.ESC) {\n e.stopPropagation();\n\n return this.toggleSelectUl(true);\n }\n\n if (e instanceof KeyboardEvent && (e.key === KeyboardCode.ENTER || e.key !== KeyboardCode.TAB)) {\n return;\n }\n\n if (\n !getElementTree(clickedElement).find(\n (elem: HTMLElement) => elem.nodeName.toLowerCase() === \"z-input\" && elem.id === `${this.htmlid}_input`\n )\n ) {\n this.toggleSelectUl(e instanceof MouseEvent);\n }\n }\n\n private scrollToLetter(letter: string): void {\n const foundItem = this.itemsList.findIndex((item: SelectItem) => item.name.charAt(0) === letter);\n if (foundItem > -1) {\n this.focusSelectItem(this.itemIdKeyMap[this.itemsList[foundItem].id]);\n }\n }\n\n private renderInput(): HTMLZInputElement {\n return (\n <z-input\n class={{\n \"active-select\": this.isOpen,\n \"cursor-select\": !this.autocomplete,\n }}\n id={`${this.htmlid}_input`}\n htmlid={`${this.htmlid}_select_input`}\n placeholder={this.placeholder}\n value={!this.isOpen && this.selectedItem ? this.selectedItem.name.replace(/<[^>]+>/g, \"\") : null}\n label={this.label}\n autocomplete=\"off\"\n aria-expanded={this.isOpen ? \"true\" : \"false\"}\n aria-label={this.ariaLabel}\n aria-controls={`${this.htmlid}_list`}\n aria-autocomplete={this.hasAutocomplete() ? \"list\" : \"none\"}\n aria-activedescendant={this.isOpen ? this.focusedItemId : \"\"}\n icon={this.isOpen ? \"caret-up\" : \"caret-down\"}\n hasclearicon={false}\n message={false}\n name={this.name}\n disabled={this.disabled}\n readonly={this.readonly || (!this.hasAutocomplete() && this.isOpen)}\n status={this.isOpen ? undefined : this.status}\n role=\"combobox\"\n size={this.size}\n onClick={(e: MouseEvent) => {\n this.handleInputClick(e);\n }}\n onKeyUp={(e: KeyboardEvent) => {\n e.preventDefault();\n if (this.hasAutocomplete()) {\n if (!this.isOpen) {\n this.toggleSelectUl();\n }\n }\n }}\n onKeyDown={(e: KeyboardEvent) => {\n const current = this.selectedItem\n ? this.itemIdKeyMap[this.selectedItem.id]\n : this.resetItem\n ? this.resetKey\n : \"\";\n\n return this.arrowsSelectNav(e, current);\n }}\n onInputChange={(e: CustomEvent) => {\n this.handleInputChange(e);\n }}\n onKeyPress={(e: KeyboardEvent) => {\n if (!this.hasAutocomplete()) {\n e.preventDefault();\n this.scrollToLetter(String.fromCharCode(e.keyCode));\n }\n }}\n />\n );\n }\n\n private renderSelectUl(): HTMLDivElement {\n return (\n <div class={this.isOpen ? \"open\" : \"closed\"}>\n <div\n class={{\n \"ul-scroll-wrapper\": true,\n \"fixed\": this.isfixed,\n }}\n >\n <z-list\n role=\"listbox\"\n aria-label={this.ariaLabel || this.label}\n tabindex={this.disabled || this.readonly || !this.isOpen ? -1 : 0}\n id={`${this.htmlid}_list`}\n aria-multiselectable={false}\n size={this.listSizeType()}\n class={{\n \"disabled\": this.disabled,\n \"readonly\": this.readonly,\n [`input-${this.status}`]: !this.isOpen && !!this.status,\n \"z-scrollbar\": true,\n }}\n >\n {this.resetItem && this.renderResetItem()}\n {this.renderSelectUlItems()}\n </z-list>\n </div>\n </div>\n );\n }\n\n private renderResetItem(): HTMLZListElementElement {\n return (\n <z-list-element\n class={{\n \"hide\": !this.selectedItem || !this.resetItem,\n \"reset-item\": true,\n \"reset-item-margin\": !this.hasGroupItems,\n }}\n clickable={true}\n disabled={false}\n dividerType={ListDividerType.ELEMENT}\n role=\"option\"\n tabindex=\"0\"\n aria-selected=\"false\"\n id={`${this.htmlid}_key_${this.resetKey}`}\n size={this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType()}\n onClickItem={() => {\n this.selectedItem = null;\n this.searchString = null;\n this.emitResetSelect();\n }}\n onKeyDown={(e: KeyboardEvent) => this.arrowsSelectNav(e, this.resetKey)}\n >\n <div\n class={{\n \"reset-item-content\": true,\n \"tree-list-reset-item\": this.hasTreeItems,\n }}\n >\n <z-icon name=\"multiply-circled\" />\n <span>{this.resetItem}</span>\n </div>\n </z-list-element>\n );\n }\n\n private renderItem(item: SelectItem, lastItem: boolean): HTMLZListElementElement {\n const thisItemKey = this.itemIdKeyMap[item.id];\n\n return (\n <z-list-element\n clickable={!item.disabled}\n disabled={item.disabled}\n dividerType={lastItem ? ListDividerType.HEADER : ListDividerType.ELEMENT}\n role=\"option\"\n tabindex={item.disabled || !this.isOpen ? -1 : 0}\n aria-selected={item.selected ? \"true\" : \"false\"}\n id={`${this.htmlid}_key_${thisItemKey}`}\n size={this.listSizeType()}\n onClickItem={() => this.selectItem(item)}\n onKeyDown={(e: KeyboardEvent) => this.arrowsSelectNav(e, thisItemKey)}\n >\n <div class=\"list-element-container\">\n <div\n class={{\n \"selected\": !!item.selected,\n \"list-element-content\": true,\n }}\n innerHTML={item.name}\n />\n {item.icon && <z-tag icon={item.icon}></z-tag>}\n </div>\n </z-list-element>\n );\n }\n\n private listSizeType(): ListSize {\n if (this.hasTreeItems) {\n return ListSize.NONE;\n }\n\n if (this.size === ControlSize.SMALL || this.size === ControlSize.X_SMALL) {\n return ListSize.SMALL;\n }\n\n return ListSize.MEDIUM;\n }\n\n //eslint-disable-next-line\n private renderSelectUlItems(): any {\n if (!this.itemsList.length) {\n return this.renderNoSearchResults();\n }\n\n if (this.hasGroupItems && !this.hasTreeItems) {\n return this.renderSelectGroupItems();\n } else if (this.hasGroupItems && this.hasTreeItems) {\n return this.renderGroupedTree();\n }\n\n return this.itemsList.map((item: SelectItem, index, array) => {\n const isLastItem = index === array.length - 1;\n const parentHasSiblings = array.length > 1;\n\n if (this.hasTreeItems) {\n return this.renderTreeItems(item, isLastItem, parentHasSiblings, true);\n }\n\n return this.renderItem(item, isLastItem);\n });\n }\n\n private renderTreeItems(\n item: SelectItem,\n isLastChild: boolean,\n parentHasSiblings: boolean,\n isTopLevel?: boolean\n ): HTMLZListElementElement[] {\n const thisItemKey = this.itemIdKeyMap[item.id];\n\n const hasDivider = this.hasGroupItems\n ? undefined\n : this.hasGroupItems\n ? isLastChild && !parentHasSiblings\n ? ListDividerType.ELEMENT\n : undefined\n : isTopLevel && parentHasSiblings && !isLastChild\n ? ListDividerType.ELEMENT\n : undefined;\n\n return (\n <z-list-element\n clickable={!item.disabled}\n disabled={item.disabled}\n class={{\n \"grouped-tree-parent-node\": this.hasGroupItems && !!item.children?.length,\n \"tree-search-item\": this.hasGroupItems && isTopLevel && !item.children?.length && !!this.searchString,\n }}\n size={this.listSizeType()}\n dividerType={hasDivider}\n hasTreeItems={this.hasTreeItems}\n >\n <div\n id={`${this.htmlid}_key_${thisItemKey}`}\n role=\"option\"\n class=\"list-element\"\n tabIndex={0}\n onClick={() => this.selectItem(item)}\n onKeyDown={(e: KeyboardEvent) => {\n this.arrowsSelectNav(e, thisItemKey);\n if (e.key === KeyboardCode.ENTER) {\n this.selectItem(item);\n }\n }}\n >\n <span class=\"item ellipsis\">\n <span\n class={{\n \"item-label\": true,\n \"selected\": !!item.selected,\n }}\n title={item.name}\n innerHTML={item.selected ? `<strong>${item.name}</strong>` : item.name}\n />\n </span>\n {item.icon && <z-tag icon={item.icon}></z-tag>}\n </div>\n {item.children && item.children.length > 0 ? (\n <z-list>\n <div class=\"children-node\">\n {item.children.map((child, index, arr) =>\n this.renderTreeItems(\n child,\n index === arr.length - 1,\n arr.length > 1,\n false // isTopLevel = false for children\n )\n )}\n </div>\n </z-list>\n ) : null}\n </z-list-element>\n );\n }\n\n private renderGroupedTree(): HTMLZListGroupElement[] {\n const grouped = this.itemsList.reduce(\n (acc, item) => {\n const category = item.category || \"Altra categoria\";\n acc[category] = acc[category] || [];\n acc[category].push(item);\n\n return acc;\n },\n {} as Record<string, SelectItem[]>\n );\n\n return Object.entries(grouped).map(([category, items], index, entries) => {\n const parentHasSiblings = Object.values(grouped).some((groupItems) => groupItems.length > 1);\n // const parentHasSiblings = items.length > 1;\n\n return (\n <z-list-group\n divider-type={index === entries.length - 1 ? undefined : ListDividerType.ELEMENT}\n hasTreeItems={true}\n >\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n >\n {category}\n </span>\n <z-list>\n {items.map((item, i, arr) => [\n this.renderTreeItems(item, i === arr.length - 1, parentHasSiblings, true),\n i < arr.length - 1 ? (\n <z-divider\n key={`divider-${i}`}\n style={{zIndex: \"100\", height: \"var(--border-size-small)\"}}\n />\n ) : null,\n ])}\n </z-list>\n {index !== entries.length - 1 && <z-divider style={{zIndex: \"100\", height: \"var(--border-size-small)\"}} />}\n </z-list-group>\n );\n });\n }\n\n private renderSelectGroupItems(): HTMLZListElementElement[] {\n const newData = this.itemsList.reduce(\n (group, item, index, array) => {\n const {category} = item;\n const lastItem = array.length === index + 1;\n const zListItem = this.renderItem(item, lastItem);\n\n group[category] = group[category] ?? [];\n group[category].push(zListItem);\n\n return group;\n },\n {} as Record<string, HTMLZListElementElement[]>\n );\n\n return Object.entries(newData).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\n private renderNoSearchResults(): HTMLZListElementElement {\n return (\n <z-list-element\n class=\"no-results\"\n size={this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType()}\n >\n {this.noresultslabel}\n </z-list-element>\n );\n }\n\n private renderMessage(): HTMLZInputMessageElement {\n if (boolean(this.message) === false) {\n return;\n }\n\n return (\n <z-input-message\n message={boolean(this.message) === true ? undefined : (this.message as string)}\n status={this.status}\n class={this.size}\n disabled={this.disabled}\n />\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div class=\"select-wrapper\">\n {this.renderInput()}\n {this.renderSelectUl()}\n {this.renderMessage()}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}