@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 +1 @@
1
- {"file":"z-select.entry.cjs.js","mappings":"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","names":["randomId","ControlSize","boolean","KeyboardCode","getClickedElement","getElementTree","h","ListDividerType","ListSize","index"],"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"],"version":3}
1
+ {"file":"z-select.entry.cjs.js","mappings":"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","names":["randomId","ControlSize","boolean","KeyboardCode","getClickedElement","getElementTree","h","ListDividerType","ListSize","index"],"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-surface02);\n --background-active-color-list-element: var(--color-surface02);\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 margin: 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: -8px;\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: -8px;\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 > .list-element {\n display: flex;\n justify-content: space-between;\n padding: calc(var(--space-unit) * 1.5) var(--space-unit);\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:hover,\nz-list-element > .list-element:hover::after {\n background-color: var(--background-hover-color-list-element, var(--color-background));\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: 45px;\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 right: -25px;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\nz-list-element.grouped-tree-parent-node .list-element::after {\n position: absolute;\n right: -25px;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\n/* z-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 right: -18px;\n display: block;\n width: 100%;\n height: 45px;\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: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\n.children-node z-list-element::before,\n.children-node z-list-element::after {\n left: -8px;\n}\n\n.children-node .children-node z-list-element::before,\n.children-node .children-node z-list-element::after {\n left: -8px;\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\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 this.updateFlattenedList();\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 getGroupedItems(): [string, SelectItem[]][] {\n return Object.entries(\n this.itemsList.reduce(\n (group, item) => {\n const category = item.category || \"Altra categoria\";\n group[category] = group[category] || [];\n group[category].push(item);\n\n return group;\n },\n {} as Record<string, SelectItem[]>\n )\n );\n }\n\n private updateFlattenedList(): void {\n let orderedItems = this.itemsList;\n if (this.hasGroupItems) {\n orderedItems = this.getGroupedItems()\n .map((item) => item[1])\n .flat();\n }\n\n this.flattenedList = this.flattenTreeItems(orderedItems);\n this.itemIdKeyMap = {};\n this.flattenedList.forEach(({item, key}) => {\n this.itemIdKeyMap[item.id] = key;\n });\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\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(\n (item: SelectItem) => item.name.toLowerCase().charAt(0) === letter.toLowerCase()\n );\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-label={this.ariaLabel}\n html-aria-expanded={this.isOpen ? \"true\" : \"false\"}\n html-aria-controls={`${this.htmlid}_list`}\n html-aria-autocomplete={this.hasAutocomplete() ? \"list\" : \"none\"}\n html-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(e.key);\n }\n }}\n />\n );\n }\n\n private renderSelectUl(): HTMLDivElement {\n return (\n <div class={this.isOpen ? \"open\" : \"closed\"}>\n <div\n class={{\n \"ul-scroll-wrapper\": true,\n \"fixed\": this.isfixed,\n }}\n >\n <z-list\n role=\"listbox\"\n aria-label={this.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 private renderSelectUlItems():\n | HTMLZListElementElement\n | (HTMLZListElementElement | HTMLZListElementElement[])[]\n | HTMLZListGroupElement[] {\n if (!this.itemsList.length) {\n return this.renderNoSearchResults();\n }\n\n if (this.hasGroupItems) {\n if (this.hasTreeItems) {\n return this.renderGroupedTree();\n }\n\n return this.renderSelectGroupItems();\n }\n\n return this.itemsList.map((item: SelectItem, index, array) => {\n const isLastItem = index === array.length - 1;\n const parentHasSiblings = array.length > 1;\n\n if (this.hasTreeItems) {\n return this.renderTreeItems(item, isLastItem, parentHasSiblings, true);\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={!this.isOpen ? -1 : 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 groupedItems = this.getGroupedItems();\n\n return groupedItems.map(([category, items], index, entries) => {\n const parentHasSiblings = Object.values(groupedItems).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 groupedItems = this.getGroupedItems();\n\n return groupedItems.map(([key, items], index) => {\n const isLastGroup = groupedItems.length === index + 1;\n\n return (\n <z-list-group 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 {items.map((item, subindex) => {\n const isLastItem = items.length === subindex + 1;\n\n return this.renderItem(item, isLastGroup && isLastItem);\n })}\n </z-list-group>\n );\n });\n }\n\n private renderNoSearchResults(): HTMLZListElementElement {\n return (\n <z-list-element\n class=\"no-results\"\n size={this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType()}\n >\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"],"version":3}
@@ -52,7 +52,7 @@ const ZSkipToContent = class {
52
52
  this.visible = false;
53
53
  }
54
54
  render() {
55
- return (index.h(index.Host, { key: '1abf79f041ab75aa113b76c725474cc0a1c77f6d', class: {
55
+ return (index.h(index.Host, { key: '1a7ea404cfe0bc4dcf7f60787b218cdf58f28a28', class: {
56
56
  [this.variant]: true,
57
57
  "skip-to-content-visible": this.visible,
58
58
  } }, this.links.map((link, i) => {
@@ -24,7 +24,7 @@ const ZStepperItem = class {
24
24
  return Object.assign(Object.assign(Object.assign(Object.assign({}, href), role), current), tabindex);
25
25
  }
26
26
  render() {
27
- return (index.h(index.Host, { key: 'dea460d35d609177be4a3f78f8eac3b36f2e9e4a', role: "listitem" }, index.h("button", Object.assign({ key: '0c9209485282f1ce3e07fbf6c5f0577e79bb0f3f', class: "stepper-item", disabled: this.disabled }, this.getAttributes()), index.h("div", { key: 'bb4f83cbfb4f925a43ee93ade9399b55dab5c20b', class: "indicator" }, this.checked ? index.h("z-icon", { name: "checkmark" }) : this.index), index.h("span", { key: 'da1d4d30401dc33dc10b21c37d0a06ace1935d50' }, index.h("slot", { key: '2a910ae2bf15d2d5302deccc3b5268080e70431f' })))));
27
+ return (index.h(index.Host, { key: 'd5a2897a50596da70b4710d3e0b9374a9ee0a83e', role: "listitem" }, index.h("button", Object.assign({ key: 'ca06d829b1e5eaf82e81e343fb08daa437e4ac82', class: "stepper-item", disabled: this.disabled }, this.getAttributes()), index.h("div", { key: 'd6622440e2e4c6af30db7fe54565e4151d81574a', class: "indicator" }, this.checked ? index.h("z-icon", { name: "checkmark" }) : this.index), index.h("span", { key: 'be0c48de2ff860a03842dd4fdc6be37a265c4f26' }, index.h("slot", { key: 'f940cf80c513cec85c09b23f27a801d5ff1975db' })))));
28
28
  }
29
29
  };
30
30
  ZStepperItem.style = ZStepperItemStyle0;
@@ -12,7 +12,7 @@ const ZStepper = class {
12
12
  index.registerInstance(this, hostRef);
13
13
  }
14
14
  render() {
15
- return (index.h(index.Host, { key: '8da3e9db02838695dc2859af59e478cb6f966a6c', role: "list" }, index.h("slot", { key: 'e752fdb52b67990a36fe4cb99e13dabed1406619' })));
15
+ return (index.h(index.Host, { key: '88b305b670ea7d879cb2e976ff66510b10c7e460', role: "list" }, index.h("slot", { key: '09b3507f40fdabb48273360f7864f577bcf15365' })));
16
16
  }
17
17
  };
18
18
  ZStepper.style = ZStepperStyle0;
@@ -45,7 +45,7 @@ const ZToastNotificationList = class {
45
45
  }
46
46
  }
47
47
  render() {
48
- return index.h("slot", { key: '48e37e6590e931eabf68d3c6b75339a800974729', name: "toasts" });
48
+ return index.h("slot", { key: '45792fe51cb8362de447af630fb19686018cbeef', name: "toasts" });
49
49
  }
50
50
  get hostElement() { return index.getElement(this); }
51
51
  static get watchers() { return {
@@ -4172,7 +4172,7 @@ const ZToastNotification = class {
4172
4172
  } })))));
4173
4173
  }
4174
4174
  render() {
4175
- return (index.h(index.Host, { key: 'a977ef232e0915937ce364954dbe2dd5df5bdcf7', style: { "--percentuale": `${this.percentage}%` }, class: this.transition ? this.transition : "", onAnimationEnd: (e) => {
4175
+ return (index.h(index.Host, { key: 'e831b21d9178cad74415f78eac62002e5a7a13ab', style: { "--percentuale": `${this.percentage}%` }, class: this.transition ? this.transition : "", onAnimationEnd: (e) => {
4176
4176
  if (this.autoclose && e.animationName.includes("slidein")) {
4177
4177
  this.startClosingTimeout(this.autoclose);
4178
4178
  }
@@ -25,10 +25,10 @@ const ZToggleButton = class {
25
25
  this.toggleClick.emit(this.opened);
26
26
  }
27
27
  render() {
28
- return (index.h("button", { key: '449fb13c1d9630270d1ea66212d37b62687cbd36', tabindex: this.avoidclick ? "-1" : "0", class: {
28
+ return (index.h("button", { key: '2a0abdb9874a70f75bed7b2407bbfcb26da3245c', tabindex: this.avoidclick ? "-1" : "0", class: {
29
29
  "isopen": this.opened,
30
30
  "avoid-clicks": this.avoidclick,
31
- }, disabled: this.isdisabled, "aria-expanded": this.opened ? "true" : "false", "aria-label": this.ariaLabel, onClick: () => this.emitToggleClick() }, index.h("z-icon", { key: '792fc4ca06cfe7eb591d779f715165bedd0abe91', name: this.opened ? "chevron-down" : "chevron-up", width: 16, height: 16 }), this.label));
31
+ }, disabled: this.isdisabled, "aria-expanded": this.opened ? "true" : "false", "aria-label": this.ariaLabel, onClick: () => this.emitToggleClick() }, index.h("z-icon", { key: '56c5c803cf48530342b4fce72cdb75783b226c3f', name: this.opened ? "chevron-down" : "chevron-up", width: 16, height: 16 }), this.label));
32
32
  }
33
33
  };
34
34
  ZToggleButton.style = ZToggleButtonStyle0;
@@ -33,14 +33,14 @@ const ZToggleSwitch = class {
33
33
  this.emitToggleClick();
34
34
  }
35
35
  render() {
36
- return (index.h(index.Host, { key: 'b25a6529d3058d85f0ded1ebed424dc72c23363b' }, index.h("input", { key: '28466f876ad461c05fc11b0bd2a6a5d95a543a94', id: this.htmlid, type: "checkbox", checked: this.checked, disabled: this.disabled, onChange: this.handleClick.bind(this) }), index.h("label", { key: 'bcdfa369c97caec10dd658a611ef3a208c89b1e6', htmlFor: this.htmlid, class: {
36
+ return (index.h(index.Host, { key: 'd82db0fca4f7786bfed1b958d9eb3ba538a1df59' }, index.h("input", { key: 'ade4df962bf570c4bac896be7ca2c08ad78950c6', id: this.htmlid, type: "checkbox", checked: this.checked, disabled: this.disabled, onChange: this.handleClick.bind(this) }), index.h("label", { key: 'c0d26a77609ae2c3954bf1d249205706f3189051', htmlFor: this.htmlid, class: {
37
37
  [this.labelPosition]: true,
38
38
  disabled: this.disabled,
39
- } }, index.h("span", { key: '1bd19a66347f82d8ff79822a3fdbe6652dd820ed' }, index.h("slot", { key: '8b80904a1dba9feda340864c0f2544a11daa9014' })), index.h("span", { key: '1ae0248c4ce85a89bb317e3434123e984805fda3', class: {
39
+ } }, index.h("span", { key: 'db8ed72ffe4cc7a6a90de0e1707cf7ce16781d53' }, index.h("slot", { key: '7624e7d062a337ac90d45db4c9977ae4076b65e3' })), index.h("span", { key: 'b82c48fe14cb3485ed8055f7c7165078fb928d4e', class: {
40
40
  container: true,
41
41
  disabled: this.disabled,
42
42
  checked: this.checked,
43
- } }, index.h("span", { key: 'df6c610d303b47450cec292be624f22a1b09497d', class: "circle" }, this.checked && (index.h("z-icon", { key: '92d0d32e48dba800647755ead27b6e1c84c23d98', width: 12, height: 12, name: "checkmark" })))))));
43
+ } }, index.h("span", { key: 'eff2c6d5e3a9afcd16335d81bb799a272d559d22', class: "circle" }, this.checked && (index.h("z-icon", { key: '4787dd49b9be72d9ba601d10ec1d2b370875c386', width: 12, height: 12, name: "checkmark" })))))));
44
44
  }
45
45
  };
46
46
  ZToggleSwitch.style = ZToggleSwitchStyle0;
@@ -21,7 +21,7 @@ const ZTooltip = class {
21
21
  this.open = this.popoverEl.open;
22
22
  }
23
23
  render() {
24
- return (index.h("z-popover", { key: '270c5913ebf81d54d878a8fafab0dcd55d34ed03', ref: (el) => (this.popoverEl = el), bindTo: this.bindTo, open: this.open, position: this.position, closable: this.closable, center: true, showArrow: true }, index.h("slot", { key: 'b97f7974f8d30af77c185e1e4f09ddabaf5c4d72' })));
24
+ return (index.h("z-popover", { key: 'ab2c260f466a47e9f25154ece6a78197ff23d0fa', ref: (el) => (this.popoverEl = el), bindTo: this.bindTo, open: this.open, position: this.position, closable: this.closable, center: true, showArrow: true }, index.h("slot", { key: '239e63a0bfececc52c9538df70d0eb7fe63a0060' })));
25
25
  }
26
26
  };
27
27
  ZTooltip.style = ZTooltipStyle0;
@@ -19,7 +19,6 @@
19
19
  "components/list/z-list-element/index.js",
20
20
  "components/list/z-list-group/index.js",
21
21
  "components/list/z-tree-list/index.js",
22
- "components/result-card/z-result-card/index.js",
23
22
  "components/table/cells/z-td/index.js",
24
23
  "components/table/cells/z-th/index.js",
25
24
  "components/table/z-tbody/index.js",
@@ -35,6 +34,7 @@
35
34
  "components/z-aria-alert/index.js",
36
35
  "components/z-visually-hidden/index.js",
37
36
  "components/z-avatar/index.js",
37
+ "components/z-book-cover/index.js",
38
38
  "components/z-breadcrumb/index.js",
39
39
  "components/z-button-sort/index.js",
40
40
  "components/z-card/index.js",
@@ -57,6 +57,7 @@
57
57
  "components/z-pagination/index.js",
58
58
  "components/z-panel-elem/index.js",
59
59
  "components/z-popover/index.js",
60
+ "components/z-result-card/index.js",
60
61
  "components/z-searchbar/index.js",
61
62
  "components/z-skip-to-content/index.js",
62
63
  "components/z-stepper/index.js",
@@ -1,20 +1,19 @@
1
1
  import { Host, h } from "@stencil/core";
2
- import defaultFallbackCover from "../../../assets/images/png/placeholder-cover.png";
3
2
  import { BookCardVariant, ControlSize } from "../../../beans";
4
3
  /**
5
- * @slot cta - top right cta (e.g. bookmark icon)
6
- * @slot ebook - as default, it shows laZ ebook link
7
- * @slot tags - tags section, default empty
8
- * @slot data - external link and pill, default empty
9
- * @slot apps - list of card-related apps, default empty
10
- * @slot coverOverlay - purple layer on top of book cover
11
- * @cssprop --z-book-card-portrait-cover-height - set custom cover height for portrait variant - default 378px
12
- * @cssprop --z-book-card-title-lines - set title avilable lines - default 2
13
- * @cssprop --z-book-card-title-word-break - set title word-break rule - default initial
14
- * @cssprop --z-book-card-subtitle-lines - set subtitle available lines - default 1
15
- * @cssprop --z-book-card-subtitle-word-break - set subtitle word-break rule - default break-all
16
- * @cssprop --z-book-card-authors-lines - set authors available lines - default 1
17
- * @cssprop --z-book-card-authors-word-break - set authors word-break rule - default break-all
4
+ * @slot cta - Top right cta (e.g. bookmark icon)
5
+ * @slot ebook - As default, it shows laZ ebook link
6
+ * @slot tags - Tags section, default empty
7
+ * @slot data - External link and pill, default empty
8
+ * @slot apps - List of card-related apps, default empty
9
+ * @slot coverOverlay - Content to be displayed in the `z-book-cover` component slot
10
+ * @cssprop --z-book-card-portrait-cover-height - Set custom cover height for portrait variant - Default: `378px`
11
+ * @cssprop --z-book-card-title-lines - Set title avilable lines - Default: `2`
12
+ * @cssprop --z-book-card-title-word-break - Set title word-break rule - Default: `initial`
13
+ * @cssprop --z-book-card-subtitle-lines - Set subtitle available lines - Default: `1`
14
+ * @cssprop --z-book-card-subtitle-word-break - Set subtitle word-break rule - Default: `break-all`
15
+ * @cssprop --z-book-card-authors-lines - Set authors available lines - Default: `1`
16
+ * @cssprop --z-book-card-authors-word-break - Set authors word-break rule - Default: `break-all`
18
17
  */
19
18
  export class ZBookCard {
20
19
  constructor() {
@@ -27,7 +26,9 @@ export class ZBookCard {
27
26
  this.isbnLabel = "";
28
27
  this.year = undefined;
29
28
  this.ebookUrl = undefined;
29
+ this.linkTarget = "_blank";
30
30
  this.fallbackCover = undefined;
31
+ this.hasMultipleCovers = false;
31
32
  this.titleHtmlTag = undefined;
32
33
  }
33
34
  emitEbookClick() {
@@ -40,15 +41,15 @@ export class ZBookCard {
40
41
  this.titleClick.emit();
41
42
  }
42
43
  renderCover() {
43
- const coverImg = (h("img", { src: this.cover, onError: () => {
44
- if (this.fallbackCover) {
45
- this.cover = this.fallbackCover;
46
- }
47
- else {
48
- this.cover = defaultFallbackCover;
49
- }
50
- }, "aria-hidden": "true" }));
51
- return (h("div", { class: "cover" }, this.ebookUrl ? (h("a", { tabIndex: 0, class: "cover-link", href: this.ebookUrl, onClick: () => this.emitCoverClick(), target: "_blank" }, coverImg)) : (coverImg), h("slot", { name: "coverOverlay" })));
44
+ const CoverTag = this.ebookUrl ? "a" : "div";
45
+ const coverAttrs = this.ebookUrl
46
+ ? {
47
+ href: this.ebookUrl,
48
+ onClick: () => this.emitCoverClick(),
49
+ target: this.linkTarget,
50
+ }
51
+ : {};
52
+ return (h(CoverTag, Object.assign({ class: "cover" }, coverAttrs), h("z-book-cover", { cover: this.cover, fallbackCover: this.fallbackCover, multiple: this.hasMultipleCovers && this.variant === BookCardVariant.PORTRAIT }, h("slot", { name: "coverOverlay", slot: "coverOverlay" }))));
52
53
  }
53
54
  renderYear() {
54
55
  if (!this.year) {
@@ -67,7 +68,7 @@ export class ZBookCard {
67
68
  ? `<${this.titleHtmlTag}>${this.operaTitle}</${this.titleHtmlTag}>`
68
69
  : this.operaTitle;
69
70
  const operaTitle = (h("div", { class: "opera-title ellipsis body-2-sb", innerHTML: title }));
70
- return (h("div", { class: "cta-wrapper" }, this.ebookUrl ? (h("a", { class: "z-link", href: this.ebookUrl, onClick: () => this.emitTitleClick(), target: "_blank" }, operaTitle)) : (operaTitle), this.variant === BookCardVariant.PORTRAIT ? this.renderCtaSlot() : null));
71
+ return (h("div", { class: "cta-wrapper" }, this.ebookUrl ? (h("a", { class: "z-link", href: this.ebookUrl, onClick: () => this.emitTitleClick(), target: this.linkTarget }, operaTitle)) : (operaTitle), this.variant === BookCardVariant.PORTRAIT ? this.renderCtaSlot() : null));
71
72
  }
72
73
  renderVolumeTitle() {
73
74
  if (!this.volumeTitle) {
@@ -82,13 +83,13 @@ export class ZBookCard {
82
83
  return (h("div", { class: "isbn ellipsis body-4-sb", "aria-description": `isbn ${this.isbnLabel}` }, this.isbn, " ", this.isbnLabel ? h("span", { class: "body-4" }, this.isbnLabel) : null));
83
84
  }
84
85
  renderEbook() {
85
- return (h("div", { class: "ebook" }, h("div", null, h("div", { class: "app-name" }, h("img", { class: "ebook-logo", "aria-hidden": "true" }), h("div", { class: "body-4-sb" }, "laZ Ebook"))), h("z-button", { size: ControlSize.X_SMALL, href: this.ebookUrl, target: "_blank", onClick: () => this.emitEbookClick(), htmlrole: "link", "aria-description": `leggi l'ebook ${this.operaTitle} su laZ Ebook` }, "leggi ebook")));
86
+ return (h("div", { class: "ebook" }, h("div", { class: "app-name" }, h("img", { class: "ebook-logo", "aria-hidden": "true" }), h("div", { class: "body-4-sb" }, "laZ Ebook")), h("z-button", { size: ControlSize.X_SMALL, href: this.ebookUrl, target: this.linkTarget, onClick: () => this.emitEbookClick(), htmlrole: "link", "aria-description": `leggi l'ebook ${this.operaTitle} su laZ Ebook` }, "leggi ebook")));
86
87
  }
87
88
  renderCtaSlot() {
88
89
  return h("slot", { name: "cta" });
89
90
  }
90
91
  render() {
91
- return (h(Host, { key: 'b8b37f10e4c09f1bd9314cf8fb1b8f752ae9c47e' }, h("div", { key: '70f04ae7125d557d2911a6ef4e44d1903128bde5', class: "main-content" }, this.renderCover(), h("div", { key: '96a357c922d91e09c31f0fdf4cd7283e8a1ed9a7', class: "card-info" }, h("div", { key: 'dd12a24cdc1fadaa877406b9662b91ba0de8aa27', class: "top" }, h("div", { key: '42a1245295cf5659f51b39516963e0104cba4cef' }, this.renderYear(), this.renderAuthors(), this.renderOperaTitle(), this.renderVolumeTitle(), this.renderIsbn()), h("slot", { key: 'b69e77dc77c971019ecf3bb30d0bf211ccc794f9', name: "tags" }), h("slot", { key: '53202f9466707bdafcc6882c563978b339e61335', name: "data" })), h("slot", { key: '646df6b2a349a30c2ab9cf0a3c30919157cced93', name: "ebook" }, !!this.ebookUrl && h("div", { key: 'a3707624b5e428a472ff91a32e03bd72be7e3f57', class: "bottom" }, this.renderEbook())))), h("slot", { key: 'a5d2a636f6848f46e1f48117efbdce91673c532b', name: "apps" })));
92
+ return (h(Host, { key: '5fae727734d46a2bff95228aba24343fe8b44d71' }, h("div", { key: '68bae5839bfd59cfbf64c525085db9945fccfa22', class: "main-content" }, this.renderCover(), h("div", { key: '0f79c65a3b4778db175867ea3ef71a331c567dbf', class: "card-info" }, h("div", { key: '14f31c2adeb8ba009385cad9f3e5b91b1571402f', class: "top" }, h("div", { key: '6f53c622d7c46bc9c7086129d6e61efc3b8e87ac' }, this.renderYear(), this.renderAuthors(), this.renderOperaTitle(), this.renderVolumeTitle(), this.renderIsbn()), h("slot", { key: 'e320abfb8ccb71748b7f786e44f8acb7579c9008', name: "tags" }), h("slot", { key: '718e46c2db387806e6835db0a1f14880e1990a5f', name: "data" })), h("slot", { key: '625086bafb8ebb76bb4d419bfaa1f0e6a6bda8c4', name: "ebook" }, !!this.ebookUrl && h("div", { key: '534cddf3d9e4b7b184eda121d74999645bc60b4f', class: "bottom" }, this.renderEbook())))), h("slot", { key: '64cf4f52982302d9aa44a0a0b63b5d54cac3c3dc', name: "apps" })));
92
93
  }
93
94
  static get is() { return "z-book-card"; }
94
95
  static get encapsulation() { return "shadow"; }
@@ -260,11 +261,29 @@ export class ZBookCard {
260
261
  "optional": true,
261
262
  "docs": {
262
263
  "tags": [],
263
- "text": "[optional] Show link to the ebook resource. Set title and cover as clickable, opening a new tab to the ebook resource"
264
+ "text": "[optional] Link to the ebook resource. Creates a link also around the cover and title."
264
265
  },
265
266
  "attribute": "ebook-url",
266
267
  "reflect": false
267
268
  },
269
+ "linkTarget": {
270
+ "type": "string",
271
+ "mutable": false,
272
+ "complexType": {
273
+ "original": "string",
274
+ "resolved": "string",
275
+ "references": {}
276
+ },
277
+ "required": false,
278
+ "optional": false,
279
+ "docs": {
280
+ "tags": [],
281
+ "text": "[optional] Value for the `target` attribute of the links created by `ebookUrl` prop."
282
+ },
283
+ "attribute": "link-target",
284
+ "reflect": false,
285
+ "defaultValue": "\"_blank\""
286
+ },
268
287
  "fallbackCover": {
269
288
  "type": "string",
270
289
  "mutable": false,
@@ -277,11 +296,29 @@ export class ZBookCard {
277
296
  "optional": true,
278
297
  "docs": {
279
298
  "tags": [],
280
- "text": "[optional] Fallback cover URL"
299
+ "text": "[optional] Fallback cover URL."
281
300
  },
282
301
  "attribute": "fallback-cover",
283
302
  "reflect": false
284
303
  },
304
+ "hasMultipleCovers": {
305
+ "type": "boolean",
306
+ "mutable": false,
307
+ "complexType": {
308
+ "original": "boolean",
309
+ "resolved": "boolean",
310
+ "references": {}
311
+ },
312
+ "required": false,
313
+ "optional": false,
314
+ "docs": {
315
+ "tags": [],
316
+ "text": "Whether to show a stack of covers to represent multiple books (only for `portrait` variant)."
317
+ },
318
+ "attribute": "has-multiple-covers",
319
+ "reflect": false,
320
+ "defaultValue": "false"
321
+ },
285
322
  "titleHtmlTag": {
286
323
  "type": "string",
287
324
  "mutable": false,
@@ -294,7 +331,7 @@ export class ZBookCard {
294
331
  "optional": true,
295
332
  "docs": {
296
333
  "tags": [],
297
- "text": "[optional] Set a specific h level as html tag for opera title"
334
+ "text": "[optional] Set a specific heading level as html tag for the title."
298
335
  },
299
336
  "attribute": "title-html-tag",
300
337
  "reflect": false
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/book-card/z-book-card/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, Host, Prop, h} from \"@stencil/core\";\nimport defaultFallbackCover from \"../../../assets/images/png/placeholder-cover.png\";\nimport {BookCardVariant, ControlSize} from \"../../../beans\";\n\n/**\n * @slot cta - top right cta (e.g. bookmark icon)\n * @slot ebook - as default, it shows laZ ebook link\n * @slot tags - tags section, default empty\n * @slot data - external link and pill, default empty\n * @slot apps - list of card-related apps, default empty\n * @slot coverOverlay - purple layer on top of book cover\n * @cssprop --z-book-card-portrait-cover-height - set custom cover height for portrait variant - default 378px\n * @cssprop --z-book-card-title-lines - set title avilable lines - default 2\n * @cssprop --z-book-card-title-word-break - set title word-break rule - default initial\n * @cssprop --z-book-card-subtitle-lines - set subtitle available lines - default 1\n * @cssprop --z-book-card-subtitle-word-break - set subtitle word-break rule - default break-all\n * @cssprop --z-book-card-authors-lines - set authors available lines - default 1\n * @cssprop --z-book-card-authors-word-break - set authors word-break rule - default break-all\n */\n@Component({\n tag: \"z-book-card\",\n styleUrls: [\"styles.css\", \"../../../tokens/typography.css\", \"../../css-components/z-link/styles.css\"],\n shadow: true,\n})\nexport class ZBookCard {\n @Element() hostElement: HTMLZBookCardElement;\n\n /** Card variant: landscape, portrait */\n @Prop({reflect: true})\n variant: BookCardVariant = BookCardVariant.PORTRAIT;\n\n /** Cover URL */\n @Prop()\n cover: string;\n\n /** Opera title (card title) */\n @Prop()\n operaTitle: string;\n\n /** [optional] Volume title (card subvolume) */\n @Prop()\n volumeTitle?: string;\n\n /** [optional] Authors */\n @Prop()\n authors?: string;\n\n /** [optional] Main ISBN */\n @Prop()\n isbn?: string;\n\n /** [optional] ISBN label */\n @Prop()\n isbnLabel = \"\";\n\n /** [optional] year */\n @Prop()\n year?: string;\n\n /** [optional] Show link to the ebook resource. Set title and cover as clickable, opening a new tab to the ebook resource */\n @Prop()\n ebookUrl?: string;\n\n /** [optional] Fallback cover URL */\n @Prop()\n fallbackCover?: string;\n\n /** [optional] Set a specific h level as html tag for opera title */\n @Prop()\n titleHtmlTag?: string;\n\n /** click on ebook link */\n @Event()\n ebookClick: EventEmitter;\n\n /** click on cover link */\n @Event()\n coverClick: EventEmitter;\n\n /** click on title link */\n @Event()\n titleClick: EventEmitter;\n\n private emitEbookClick(): void {\n this.ebookClick.emit();\n }\n\n private emitCoverClick(): void {\n this.coverClick.emit();\n }\n\n private emitTitleClick(): void {\n this.titleClick.emit();\n }\n\n private renderCover(): HTMLDivElement {\n const coverImg: HTMLImageElement = (\n <img\n src={this.cover}\n onError={() => {\n if (this.fallbackCover) {\n this.cover = this.fallbackCover;\n } else {\n this.cover = defaultFallbackCover;\n }\n }}\n aria-hidden=\"true\"\n />\n );\n\n return (\n <div class=\"cover\">\n {this.ebookUrl ? (\n <a\n tabIndex={0}\n class={\"cover-link\"}\n href={this.ebookUrl}\n onClick={() => this.emitCoverClick()}\n target=\"_blank\"\n >\n {coverImg}\n </a>\n ) : (\n coverImg\n )}\n <slot name=\"coverOverlay\"></slot>\n </div>\n );\n }\n\n private renderYear(): null | HTMLDivElement {\n if (!this.year) {\n return null;\n }\n\n return (\n <div\n class=\"year ellipsis body-4\"\n aria-description=\"anno\"\n >\n {this.year}\n </div>\n );\n }\n\n private renderAuthors(): null | HTMLDivElement {\n if (!this.authors) {\n return null;\n }\n\n return (\n <div class=\"cta-wrapper\">\n <div\n class=\"authors ellipsis body-4\"\n aria-description=\"autori\"\n >\n {this.authors}\n </div>\n {this.variant === BookCardVariant.LANDSCAPE ? this.renderCtaSlot() : null}\n </div>\n );\n }\n\n private renderOperaTitle(): HTMLDivElement {\n const title = this.titleHtmlTag\n ? `<${this.titleHtmlTag}>${this.operaTitle}</${this.titleHtmlTag}>`\n : this.operaTitle;\n\n const operaTitle = (\n <div\n class=\"opera-title ellipsis body-2-sb\"\n innerHTML={title}\n />\n );\n\n return (\n <div class=\"cta-wrapper\">\n {this.ebookUrl ? (\n <a\n class=\"z-link\"\n href={this.ebookUrl}\n onClick={() => this.emitTitleClick()}\n target=\"_blank\"\n >\n {operaTitle}\n </a>\n ) : (\n operaTitle\n )}\n {this.variant === BookCardVariant.PORTRAIT ? this.renderCtaSlot() : null}\n </div>\n );\n }\n\n private renderVolumeTitle(): null | HTMLDivElement {\n if (!this.volumeTitle) {\n return null;\n }\n\n return <div class=\"volume-title ellipsis body-4\">{this.volumeTitle}</div>;\n }\n\n private renderIsbn(): null | HTMLDivElement {\n if (!this.isbn) {\n return null;\n }\n\n return (\n <div\n class=\"isbn ellipsis body-4-sb\"\n aria-description={`isbn ${this.isbnLabel}`}\n >\n {this.isbn} {this.isbnLabel ? <span class=\"body-4\">{this.isbnLabel}</span> : null}\n </div>\n );\n }\n\n private renderEbook(): HTMLDivElement {\n return (\n <div class=\"ebook\">\n <div>\n <div class=\"app-name\">\n <img\n class=\"ebook-logo\"\n aria-hidden=\"true\"\n />\n <div class=\"body-4-sb\">laZ Ebook</div>\n </div>\n </div>\n <z-button\n size={ControlSize.X_SMALL}\n href={this.ebookUrl}\n target=\"_blank\"\n onClick={() => this.emitEbookClick()}\n htmlrole=\"link\"\n aria-description={`leggi l'ebook ${this.operaTitle} su laZ Ebook`}\n >\n leggi ebook\n </z-button>\n </div>\n );\n }\n\n private renderCtaSlot(): HTMLSlotElement {\n return <slot name=\"cta\"></slot>;\n }\n\n render(): HTMLZBookCardElement {\n return (\n <Host>\n <div class=\"main-content\">\n {this.renderCover()}\n <div class=\"card-info\">\n <div class=\"top\">\n <div>\n {this.renderYear()}\n {this.renderAuthors()}\n {this.renderOperaTitle()}\n {this.renderVolumeTitle()}\n {this.renderIsbn()}\n </div>\n <slot name=\"tags\"></slot>\n <slot name=\"data\"></slot>\n </div>\n <slot name=\"ebook\">{!!this.ebookUrl && <div class=\"bottom\">{this.renderEbook()}</div>}</slot>\n </div>\n </div>\n <slot name=\"apps\"></slot>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/book-card/z-book-card/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, Host, Prop, h} from \"@stencil/core\";\nimport {BookCardVariant, ControlSize} from \"../../../beans\";\n\n/**\n * @slot cta - Top right cta (e.g. bookmark icon)\n * @slot ebook - As default, it shows laZ ebook link\n * @slot tags - Tags section, default empty\n * @slot data - External link and pill, default empty\n * @slot apps - List of card-related apps, default empty\n * @slot coverOverlay - Content to be displayed in the `z-book-cover` component slot\n * @cssprop --z-book-card-portrait-cover-height - Set custom cover height for portrait variant - Default: `378px`\n * @cssprop --z-book-card-title-lines - Set title avilable lines - Default: `2`\n * @cssprop --z-book-card-title-word-break - Set title word-break rule - Default: `initial`\n * @cssprop --z-book-card-subtitle-lines - Set subtitle available lines - Default: `1`\n * @cssprop --z-book-card-subtitle-word-break - Set subtitle word-break rule - Default: `break-all`\n * @cssprop --z-book-card-authors-lines - Set authors available lines - Default: `1`\n * @cssprop --z-book-card-authors-word-break - Set authors word-break rule - Default: `break-all`\n */\n@Component({\n tag: \"z-book-card\",\n styleUrls: [\"styles.css\", \"../../../tokens/typography.css\", \"../../css-components/z-link/styles.css\"],\n shadow: true,\n})\nexport class ZBookCard {\n @Element() hostElement: HTMLZBookCardElement;\n\n /** Card variant: landscape, portrait */\n @Prop({reflect: true})\n variant: BookCardVariant = BookCardVariant.PORTRAIT;\n\n /** Cover URL */\n @Prop()\n cover: string;\n\n /** Opera title (card title) */\n @Prop()\n operaTitle: string;\n\n /** [optional] Volume title (card subvolume) */\n @Prop()\n volumeTitle?: string;\n\n /** [optional] Authors */\n @Prop()\n authors?: string;\n\n /** [optional] Main ISBN */\n @Prop()\n isbn?: string;\n\n /** [optional] ISBN label */\n @Prop()\n isbnLabel = \"\";\n\n /** [optional] year */\n @Prop()\n year?: string;\n\n /** [optional] Link to the ebook resource. Creates a link also around the cover and title. */\n @Prop()\n ebookUrl?: string;\n\n /** [optional] Value for the `target` attribute of the links created by `ebookUrl` prop. */\n @Prop()\n linkTarget = \"_blank\";\n\n /** [optional] Fallback cover URL. */\n @Prop()\n fallbackCover?: string;\n\n /** Whether to show a stack of covers to represent multiple books (only for `portrait` variant). */\n @Prop()\n hasMultipleCovers = false;\n\n /** [optional] Set a specific heading level as html tag for the title. */\n @Prop()\n titleHtmlTag?: string;\n\n /** click on ebook link */\n @Event()\n ebookClick: EventEmitter;\n\n /** click on cover link */\n @Event()\n coverClick: EventEmitter;\n\n /** click on title link */\n @Event()\n titleClick: EventEmitter;\n\n private emitEbookClick(): void {\n this.ebookClick.emit();\n }\n\n private emitCoverClick(): void {\n this.coverClick.emit();\n }\n\n private emitTitleClick(): void {\n this.titleClick.emit();\n }\n\n private renderCover(): HTMLDivElement {\n const CoverTag = this.ebookUrl ? \"a\" : \"div\";\n const coverAttrs = this.ebookUrl\n ? {\n href: this.ebookUrl,\n onClick: () => this.emitCoverClick(),\n target: this.linkTarget,\n }\n : {};\n\n return (\n <CoverTag\n class=\"cover\"\n {...coverAttrs}\n >\n <z-book-cover\n cover={this.cover}\n fallbackCover={this.fallbackCover}\n multiple={this.hasMultipleCovers && this.variant === BookCardVariant.PORTRAIT}\n >\n <slot\n name=\"coverOverlay\"\n slot=\"coverOverlay\"\n ></slot>\n </z-book-cover>\n </CoverTag>\n );\n }\n\n private renderYear(): null | HTMLDivElement {\n if (!this.year) {\n return null;\n }\n\n return (\n <div\n class=\"year ellipsis body-4\"\n aria-description=\"anno\"\n >\n {this.year}\n </div>\n );\n }\n\n private renderAuthors(): null | HTMLDivElement {\n if (!this.authors) {\n return null;\n }\n\n return (\n <div class=\"cta-wrapper\">\n <div\n class=\"authors ellipsis body-4\"\n aria-description=\"autori\"\n >\n {this.authors}\n </div>\n {this.variant === BookCardVariant.LANDSCAPE ? this.renderCtaSlot() : null}\n </div>\n );\n }\n\n private renderOperaTitle(): HTMLDivElement {\n const title = this.titleHtmlTag\n ? `<${this.titleHtmlTag}>${this.operaTitle}</${this.titleHtmlTag}>`\n : this.operaTitle;\n\n const operaTitle = (\n <div\n class=\"opera-title ellipsis body-2-sb\"\n innerHTML={title}\n />\n );\n\n return (\n <div class=\"cta-wrapper\">\n {this.ebookUrl ? (\n <a\n class=\"z-link\"\n href={this.ebookUrl}\n onClick={() => this.emitTitleClick()}\n target={this.linkTarget}\n >\n {operaTitle}\n </a>\n ) : (\n operaTitle\n )}\n {this.variant === BookCardVariant.PORTRAIT ? this.renderCtaSlot() : null}\n </div>\n );\n }\n\n private renderVolumeTitle(): null | HTMLDivElement {\n if (!this.volumeTitle) {\n return null;\n }\n\n return <div class=\"volume-title ellipsis body-4\">{this.volumeTitle}</div>;\n }\n\n private renderIsbn(): null | HTMLDivElement {\n if (!this.isbn) {\n return null;\n }\n\n return (\n <div\n class=\"isbn ellipsis body-4-sb\"\n aria-description={`isbn ${this.isbnLabel}`}\n >\n {this.isbn} {this.isbnLabel ? <span class=\"body-4\">{this.isbnLabel}</span> : null}\n </div>\n );\n }\n\n private renderEbook(): HTMLDivElement {\n return (\n <div class=\"ebook\">\n <div class=\"app-name\">\n <img\n class=\"ebook-logo\"\n aria-hidden=\"true\"\n />\n <div class=\"body-4-sb\">laZ Ebook</div>\n </div>\n <z-button\n size={ControlSize.X_SMALL}\n href={this.ebookUrl}\n target={this.linkTarget}\n onClick={() => this.emitEbookClick()}\n htmlrole=\"link\"\n aria-description={`leggi l'ebook ${this.operaTitle} su laZ Ebook`}\n >\n leggi ebook\n </z-button>\n </div>\n );\n }\n\n private renderCtaSlot(): HTMLSlotElement {\n return <slot name=\"cta\"></slot>;\n }\n\n render(): HTMLZBookCardElement {\n return (\n <Host>\n <div class=\"main-content\">\n {this.renderCover()}\n <div class=\"card-info\">\n <div class=\"top\">\n <div>\n {this.renderYear()}\n {this.renderAuthors()}\n {this.renderOperaTitle()}\n {this.renderVolumeTitle()}\n {this.renderIsbn()}\n </div>\n <slot name=\"tags\"></slot>\n <slot name=\"data\"></slot>\n </div>\n <slot name=\"ebook\">{!!this.ebookUrl && <div class=\"bottom\">{this.renderEbook()}</div>}</slot>\n </div>\n </div>\n <slot name=\"apps\"></slot>\n </Host>\n );\n }\n}\n"]}