@zanichelli/albe-web-components 17.0.6 → 17.0.7-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 (385) hide show
  1. package/dist/cjs/{index-aa56c709.js → index-117cd3b0.js} +4 -4
  2. package/dist/cjs/{index-aa56c709.js.map → index-117cd3b0.js.map} +1 -1
  3. package/dist/cjs/{index-2a9a328d.js → index-9b8b105e.js} +2 -2
  4. package/dist/cjs/{index-2a9a328d.js.map → index-9b8b105e.js.map} +1 -1
  5. package/dist/cjs/{index-f5ebcaa2.js → index-a465bca8.js} +2 -1
  6. package/dist/cjs/index-a465bca8.js.map +1 -0
  7. package/dist/cjs/{index-b2f35532.js → index-d6c4fda2.js} +2 -2
  8. package/dist/cjs/{index-b2f35532.js.map → index-d6c4fda2.js.map} +1 -1
  9. package/dist/cjs/index.cjs.js +2 -2
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/{utils-d08d4b80.js → utils-873dd0ae.js} +2 -2
  12. package/dist/cjs/{utils-d08d4b80.js.map → utils-873dd0ae.js.map} +1 -1
  13. package/dist/cjs/{utils-c95c97b8.js → utils-ee8e5b38.js} +2 -2
  14. package/dist/cjs/{utils-c95c97b8.js.map → utils-ee8e5b38.js.map} +1 -1
  15. package/dist/cjs/web-components-library.cjs.js +1 -1
  16. package/dist/cjs/z-accordion.cjs.entry.js +1 -1
  17. package/dist/cjs/z-anchor-navigation.cjs.entry.js +1 -1
  18. package/dist/cjs/z-app-header-deprecated.cjs.entry.js +1 -1
  19. package/dist/cjs/z-app-header_12.cjs.entry.js +10 -7
  20. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  21. package/dist/cjs/z-aria-alert.cjs.entry.js +1 -1
  22. package/dist/cjs/z-avatar.cjs.entry.js +1 -1
  23. package/dist/cjs/z-book-card-app.cjs.entry.js +1 -1
  24. package/dist/cjs/z-book-card-deprecated.cjs.entry.js +2 -2
  25. package/dist/cjs/z-book-card.cjs.entry.js +1 -1
  26. package/dist/cjs/z-breadcrumb.cjs.entry.js +2 -2
  27. package/dist/cjs/z-card.cjs.entry.js +1 -1
  28. package/dist/cjs/z-carousel.cjs.entry.js +1 -1
  29. package/dist/cjs/z-chip.cjs.entry.js +1 -1
  30. package/dist/cjs/z-combobox.cjs.entry.js +2 -2
  31. package/dist/cjs/z-cover-hero.cjs.entry.js +1 -1
  32. package/dist/cjs/z-date-picker.cjs.entry.js +2 -2
  33. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +1 -1
  34. package/dist/cjs/z-file-upload.cjs.entry.js +1 -1
  35. package/dist/cjs/z-file.cjs.entry.js +1 -1
  36. package/dist/cjs/z-info-reveal.cjs.entry.js +1 -1
  37. package/dist/cjs/z-menu-section.cjs.entry.js +1 -1
  38. package/dist/cjs/z-menu.cjs.entry.js +2 -2
  39. package/dist/cjs/z-myz-card-alert.cjs.entry.js +1 -1
  40. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +1 -1
  41. package/dist/cjs/z-myz-card-footer.cjs.entry.js +1 -1
  42. package/dist/cjs/z-myz-card-info.cjs.entry.js +2 -2
  43. package/dist/cjs/z-myz-card_4.cjs.entry.js +1 -1
  44. package/dist/cjs/z-myz-list-item.cjs.entry.js +2 -2
  45. package/dist/cjs/z-navigation-tabs.cjs.entry.js +1 -1
  46. package/dist/cjs/z-otp.cjs.entry.js +1 -1
  47. package/dist/cjs/z-pagination.cjs.entry.js +1 -1
  48. package/dist/cjs/z-popover.cjs.entry.js +1 -1
  49. package/dist/cjs/z-range-picker.cjs.entry.js +2 -2
  50. package/dist/cjs/z-section-title.cjs.entry.js +1 -1
  51. package/dist/cjs/z-select.cjs.entry.js +187 -54
  52. package/dist/cjs/z-select.cjs.entry.js.map +1 -1
  53. package/dist/cjs/z-skip-to-content.cjs.entry.js +2 -2
  54. package/dist/cjs/z-slideshow.cjs.entry.js +2 -2
  55. package/dist/cjs/z-table.cjs.entry.js +5 -5
  56. package/dist/cjs/z-td.cjs.entry.js +2 -2
  57. package/dist/cjs/z-th.cjs.entry.js +2 -2
  58. package/dist/cjs/z-toast-notification-list.cjs.entry.js +1 -1
  59. package/dist/cjs/z-toast-notification.cjs.entry.js +1 -1
  60. package/dist/cjs/z-toggle-switch.cjs.entry.js +2 -2
  61. package/dist/cjs/z-tooltip.cjs.entry.js +1 -1
  62. package/dist/cjs/z-tr.cjs.entry.js +5 -5
  63. package/dist/collection/beans/index.js +1 -0
  64. package/dist/collection/beans/index.js.map +1 -1
  65. package/dist/collection/components/list/z-list/index.js +1 -1
  66. package/dist/collection/components/list/z-list-element/index.js +20 -2
  67. package/dist/collection/components/list/z-list-element/index.js.map +1 -1
  68. package/dist/collection/components/list/z-list-group/index.js +23 -4
  69. package/dist/collection/components/list/z-list-group/index.js.map +1 -1
  70. package/dist/collection/components/list/z-list-group/styles.css +5 -0
  71. package/dist/collection/components/z-select/index.js +203 -57
  72. package/dist/collection/components/z-select/index.js.map +1 -1
  73. package/dist/collection/components/z-select/index.stories.js +138 -0
  74. package/dist/collection/components/z-select/index.stories.js.map +1 -1
  75. package/dist/collection/components/z-select/styles.css +155 -0
  76. package/dist/components/index14.js +3 -1
  77. package/dist/components/index14.js.map +1 -1
  78. package/dist/components/index15.js +8 -5
  79. package/dist/components/index15.js.map +1 -1
  80. package/dist/components/index2.js +1 -0
  81. package/dist/components/index2.js.map +1 -1
  82. package/dist/components/z-select.js +187 -52
  83. package/dist/components/z-select.js.map +1 -1
  84. package/dist/esm/{index-735d4f23.js → index-5c567adb.js} +2 -2
  85. package/dist/esm/{index-735d4f23.js.map → index-5c567adb.js.map} +1 -1
  86. package/dist/esm/{index-ee40e66b.js → index-c9fd4a10.js} +2 -1
  87. package/dist/esm/index-c9fd4a10.js.map +1 -0
  88. package/dist/esm/{index-90f624c1.js → index-dac83244.js} +2 -2
  89. package/dist/esm/{index-90f624c1.js.map → index-dac83244.js.map} +1 -1
  90. package/dist/esm/{index-092fc7cc.js → index-f36946b3.js} +4 -4
  91. package/dist/esm/{index-092fc7cc.js.map → index-f36946b3.js.map} +1 -1
  92. package/dist/esm/index.js +2 -2
  93. package/dist/esm/loader.js +1 -1
  94. package/dist/esm/{utils-a31c16d9.js → utils-1a6a53d2.js} +2 -2
  95. package/dist/esm/{utils-a31c16d9.js.map → utils-1a6a53d2.js.map} +1 -1
  96. package/dist/esm/{utils-b924649f.js → utils-7774201b.js} +2 -2
  97. package/dist/esm/{utils-b924649f.js.map → utils-7774201b.js.map} +1 -1
  98. package/dist/esm/web-components-library.js +1 -1
  99. package/dist/esm/z-accordion.entry.js +1 -1
  100. package/dist/esm/z-anchor-navigation.entry.js +1 -1
  101. package/dist/esm/z-app-header-deprecated.entry.js +1 -1
  102. package/dist/esm/z-app-header_12.entry.js +10 -7
  103. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  104. package/dist/esm/z-aria-alert.entry.js +1 -1
  105. package/dist/esm/z-avatar.entry.js +1 -1
  106. package/dist/esm/z-book-card-app.entry.js +1 -1
  107. package/dist/esm/z-book-card-deprecated.entry.js +2 -2
  108. package/dist/esm/z-book-card.entry.js +1 -1
  109. package/dist/esm/z-breadcrumb.entry.js +2 -2
  110. package/dist/esm/z-card.entry.js +1 -1
  111. package/dist/esm/z-carousel.entry.js +1 -1
  112. package/dist/esm/z-chip.entry.js +1 -1
  113. package/dist/esm/z-combobox.entry.js +2 -2
  114. package/dist/esm/z-cover-hero.entry.js +1 -1
  115. package/dist/esm/z-date-picker.entry.js +2 -2
  116. package/dist/esm/z-dragdrop-area_2.entry.js +1 -1
  117. package/dist/esm/z-file-upload.entry.js +1 -1
  118. package/dist/esm/z-file.entry.js +1 -1
  119. package/dist/esm/z-info-reveal.entry.js +1 -1
  120. package/dist/esm/z-menu-section.entry.js +1 -1
  121. package/dist/esm/z-menu.entry.js +2 -2
  122. package/dist/esm/z-myz-card-alert.entry.js +1 -1
  123. package/dist/esm/z-myz-card-dictionary.entry.js +1 -1
  124. package/dist/esm/z-myz-card-footer.entry.js +1 -1
  125. package/dist/esm/z-myz-card-info.entry.js +2 -2
  126. package/dist/esm/z-myz-card_4.entry.js +1 -1
  127. package/dist/esm/z-myz-list-item.entry.js +2 -2
  128. package/dist/esm/z-navigation-tabs.entry.js +1 -1
  129. package/dist/esm/z-otp.entry.js +1 -1
  130. package/dist/esm/z-pagination.entry.js +1 -1
  131. package/dist/esm/z-popover.entry.js +1 -1
  132. package/dist/esm/z-range-picker.entry.js +2 -2
  133. package/dist/esm/z-section-title.entry.js +1 -1
  134. package/dist/esm/z-select.entry.js +187 -54
  135. package/dist/esm/z-select.entry.js.map +1 -1
  136. package/dist/esm/z-skip-to-content.entry.js +2 -2
  137. package/dist/esm/z-slideshow.entry.js +2 -2
  138. package/dist/esm/z-table.entry.js +5 -5
  139. package/dist/esm/z-td.entry.js +2 -2
  140. package/dist/esm/z-th.entry.js +2 -2
  141. package/dist/esm/z-toast-notification-list.entry.js +1 -1
  142. package/dist/esm/z-toast-notification.entry.js +1 -1
  143. package/dist/esm/z-toggle-switch.entry.js +2 -2
  144. package/dist/esm/z-tooltip.entry.js +1 -1
  145. package/dist/esm/z-tr.entry.js +5 -5
  146. package/dist/types/beans/index.d.ts +3 -1
  147. package/dist/types/components/list/z-list-element/index.d.ts +4 -0
  148. package/dist/types/components/list/z-list-group/index.d.ts +4 -0
  149. package/dist/types/components/z-select/index.d.ts +12 -0
  150. package/dist/types/components/z-select/index.stories.d.ts +17 -0
  151. package/dist/types/components.d.ts +18 -0
  152. package/dist/web-components-library/index.esm.js +1 -1
  153. package/dist/web-components-library/{p-e691c0b8.js → p-010b6146.js} +2 -2
  154. package/{www/build/p-f06bd257.entry.js → dist/web-components-library/p-011fa0c8.entry.js} +2 -2
  155. package/dist/web-components-library/{p-2c450113.entry.js → p-0a149188.entry.js} +2 -2
  156. package/dist/web-components-library/{p-e5b1c34a.entry.js → p-0b8a7949.entry.js} +2 -2
  157. package/dist/web-components-library/p-0b8a7949.entry.js.map +1 -0
  158. package/dist/web-components-library/{p-f075ec62.entry.js → p-0d60cc5e.entry.js} +2 -2
  159. package/{www/build/p-bba6129f.js → dist/web-components-library/p-15aac7aa.js} +2 -2
  160. package/dist/web-components-library/{p-d6a2b1c6.entry.js → p-20e4a601.entry.js} +2 -2
  161. package/{www/build/p-1630e240.entry.js → dist/web-components-library/p-29a297ed.entry.js} +2 -2
  162. package/dist/web-components-library/p-2b309f57.js +2 -0
  163. package/dist/web-components-library/p-2b309f57.js.map +1 -0
  164. package/dist/web-components-library/{p-2a0d8ebe.entry.js → p-31c5b39d.entry.js} +2 -2
  165. package/dist/web-components-library/p-3243015c.entry.js +2 -0
  166. package/dist/web-components-library/{p-0df6b405.entry.js → p-475a2ba2.entry.js} +2 -2
  167. package/dist/web-components-library/p-4b29336e.entry.js +2 -0
  168. package/{www/build/p-bd571858.entry.js → dist/web-components-library/p-4c287a21.entry.js} +2 -2
  169. package/{www/build/p-18d63f0c.entry.js → dist/web-components-library/p-5b6dd467.entry.js} +2 -2
  170. package/dist/web-components-library/{p-e78353d6.entry.js → p-5bac684a.entry.js} +2 -2
  171. package/dist/web-components-library/{p-758333dc.entry.js → p-6279b3fc.entry.js} +2 -2
  172. package/{www/build/p-aa0b3e7a.entry.js → dist/web-components-library/p-6337614a.entry.js} +2 -2
  173. package/dist/web-components-library/{p-115fab3e.entry.js → p-6f5f2d56.entry.js} +2 -2
  174. package/{www/build/p-0d3f0534.entry.js → dist/web-components-library/p-7057d71f.entry.js} +2 -2
  175. package/dist/web-components-library/{p-395b261e.entry.js → p-7091a1fc.entry.js} +2 -2
  176. package/dist/web-components-library/{p-7f370d17.entry.js → p-71e2a48b.entry.js} +2 -2
  177. package/dist/web-components-library/{p-9e6d080f.entry.js → p-78626225.entry.js} +2 -2
  178. package/{www/build/p-14e61df6.js → dist/web-components-library/p-7b375bca.js} +2 -2
  179. package/dist/web-components-library/{p-7af33b00.entry.js → p-7cfe50d0.entry.js} +2 -2
  180. package/{www/build/p-4374d3f3.entry.js → dist/web-components-library/p-7ef2c4ce.entry.js} +2 -2
  181. package/dist/web-components-library/{p-9218da42.entry.js → p-7f0cbe57.entry.js} +2 -2
  182. package/dist/web-components-library/p-7fa29563.entry.js +2 -0
  183. package/dist/web-components-library/p-7fa29563.entry.js.map +1 -0
  184. package/{www/build/p-ed091723.entry.js → dist/web-components-library/p-898fcd66.entry.js} +2 -2
  185. package/{www/build/p-9c4b7a51.entry.js → dist/web-components-library/p-8adf58c8.entry.js} +2 -2
  186. package/dist/web-components-library/{p-c29a520b.entry.js → p-8ca50c86.entry.js} +2 -2
  187. package/dist/web-components-library/{p-11216ee8.entry.js → p-8e544914.entry.js} +2 -2
  188. package/dist/web-components-library/{p-50bf57b4.entry.js → p-8e6760d9.entry.js} +2 -2
  189. package/{www/build/p-75808b47.entry.js → dist/web-components-library/p-96be6eae.entry.js} +2 -2
  190. package/{www/build/p-aa42f01d.entry.js → dist/web-components-library/p-9ec778dc.entry.js} +2 -2
  191. package/dist/web-components-library/p-a4ddeb5f.entry.js +2 -0
  192. package/dist/web-components-library/{p-05f6053f.js → p-b22d3c7d.js} +2 -2
  193. package/dist/web-components-library/p-b539c9be.entry.js +2 -0
  194. package/{www/build/p-d1cca5ea.entry.js → dist/web-components-library/p-b7cf2442.entry.js} +2 -2
  195. package/dist/web-components-library/{p-11629dd3.entry.js → p-bbdb67db.entry.js} +2 -2
  196. package/dist/web-components-library/{p-5387e6f3.entry.js → p-c29bd399.entry.js} +2 -2
  197. package/{www/build/p-123739cb.js → dist/web-components-library/p-c3c99202.js} +2 -2
  198. package/dist/web-components-library/{p-8c952964.entry.js → p-c7f8b628.entry.js} +2 -2
  199. package/dist/web-components-library/{p-d28b352f.entry.js → p-cb34ca26.entry.js} +2 -2
  200. package/{www/build/p-52be7378.entry.js → dist/web-components-library/p-cc775eee.entry.js} +2 -2
  201. package/dist/web-components-library/{p-22e32e11.entry.js → p-cdc51108.entry.js} +2 -2
  202. package/{www/build/p-73d686e0.entry.js → dist/web-components-library/p-d29f9574.entry.js} +2 -2
  203. package/dist/web-components-library/{p-cf7b7e73.entry.js → p-f444b5bd.entry.js} +2 -2
  204. package/dist/web-components-library/{p-1e3ff105.entry.js → p-f49171aa.entry.js} +2 -2
  205. package/dist/web-components-library/{p-72dae90b.entry.js → p-f9fb6005.entry.js} +2 -2
  206. package/dist/web-components-library/{p-f8915e2e.entry.js → p-fc2b2a96.entry.js} +2 -2
  207. package/dist/web-components-library/web-components-library.esm.js +1 -1
  208. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  209. package/package.json +1 -1
  210. package/www/build/index.esm.js +1 -1
  211. package/www/build/{p-e691c0b8.js → p-010b6146.js} +2 -2
  212. package/{dist/web-components-library/p-f06bd257.entry.js → www/build/p-011fa0c8.entry.js} +2 -2
  213. package/www/build/{p-2c450113.entry.js → p-0a149188.entry.js} +2 -2
  214. package/www/build/{p-e5b1c34a.entry.js → p-0b8a7949.entry.js} +2 -2
  215. package/www/build/p-0b8a7949.entry.js.map +1 -0
  216. package/www/build/{p-f075ec62.entry.js → p-0d60cc5e.entry.js} +2 -2
  217. package/{dist/web-components-library/p-bba6129f.js → www/build/p-15aac7aa.js} +2 -2
  218. package/www/build/{p-d6a2b1c6.entry.js → p-20e4a601.entry.js} +2 -2
  219. package/{dist/web-components-library/p-1630e240.entry.js → www/build/p-29a297ed.entry.js} +2 -2
  220. package/www/build/p-2b309f57.js +2 -0
  221. package/www/build/p-2b309f57.js.map +1 -0
  222. package/www/build/{p-2a0d8ebe.entry.js → p-31c5b39d.entry.js} +2 -2
  223. package/www/build/p-3243015c.entry.js +2 -0
  224. package/www/build/{p-0df6b405.entry.js → p-475a2ba2.entry.js} +2 -2
  225. package/www/build/p-4b29336e.entry.js +2 -0
  226. package/{dist/web-components-library/p-bd571858.entry.js → www/build/p-4c287a21.entry.js} +2 -2
  227. package/www/build/p-549543a7.js +2 -0
  228. package/{dist/web-components-library/p-18d63f0c.entry.js → www/build/p-5b6dd467.entry.js} +2 -2
  229. package/www/build/{p-e78353d6.entry.js → p-5bac684a.entry.js} +2 -2
  230. package/www/build/{p-758333dc.entry.js → p-6279b3fc.entry.js} +2 -2
  231. package/{dist/web-components-library/p-aa0b3e7a.entry.js → www/build/p-6337614a.entry.js} +2 -2
  232. package/www/build/{p-115fab3e.entry.js → p-6f5f2d56.entry.js} +2 -2
  233. package/{dist/web-components-library/p-0d3f0534.entry.js → www/build/p-7057d71f.entry.js} +2 -2
  234. package/www/build/{p-395b261e.entry.js → p-7091a1fc.entry.js} +2 -2
  235. package/www/build/{p-7f370d17.entry.js → p-71e2a48b.entry.js} +2 -2
  236. package/www/build/{p-9e6d080f.entry.js → p-78626225.entry.js} +2 -2
  237. package/{dist/web-components-library/p-14e61df6.js → www/build/p-7b375bca.js} +2 -2
  238. package/www/build/{p-7af33b00.entry.js → p-7cfe50d0.entry.js} +2 -2
  239. package/{dist/web-components-library/p-4374d3f3.entry.js → www/build/p-7ef2c4ce.entry.js} +2 -2
  240. package/www/build/{p-9218da42.entry.js → p-7f0cbe57.entry.js} +2 -2
  241. package/www/build/p-7fa29563.entry.js +2 -0
  242. package/www/build/p-7fa29563.entry.js.map +1 -0
  243. package/{dist/web-components-library/p-ed091723.entry.js → www/build/p-898fcd66.entry.js} +2 -2
  244. package/{dist/web-components-library/p-9c4b7a51.entry.js → www/build/p-8adf58c8.entry.js} +2 -2
  245. package/www/build/{p-c29a520b.entry.js → p-8ca50c86.entry.js} +2 -2
  246. package/www/build/{p-11216ee8.entry.js → p-8e544914.entry.js} +2 -2
  247. package/www/build/{p-50bf57b4.entry.js → p-8e6760d9.entry.js} +2 -2
  248. package/{dist/web-components-library/p-75808b47.entry.js → www/build/p-96be6eae.entry.js} +2 -2
  249. package/{dist/web-components-library/p-aa42f01d.entry.js → www/build/p-9ec778dc.entry.js} +2 -2
  250. package/www/build/p-a4ddeb5f.entry.js +2 -0
  251. package/www/build/{p-05f6053f.js → p-b22d3c7d.js} +2 -2
  252. package/www/build/p-b539c9be.entry.js +2 -0
  253. package/{dist/web-components-library/p-d1cca5ea.entry.js → www/build/p-b7cf2442.entry.js} +2 -2
  254. package/www/build/{p-11629dd3.entry.js → p-bbdb67db.entry.js} +2 -2
  255. package/www/build/{p-5387e6f3.entry.js → p-c29bd399.entry.js} +2 -2
  256. package/{dist/web-components-library/p-123739cb.js → www/build/p-c3c99202.js} +2 -2
  257. package/www/build/{p-8c952964.entry.js → p-c7f8b628.entry.js} +2 -2
  258. package/www/build/{p-d28b352f.entry.js → p-cb34ca26.entry.js} +2 -2
  259. package/{dist/web-components-library/p-52be7378.entry.js → www/build/p-cc775eee.entry.js} +2 -2
  260. package/www/build/{p-22e32e11.entry.js → p-cdc51108.entry.js} +2 -2
  261. package/{dist/web-components-library/p-73d686e0.entry.js → www/build/p-d29f9574.entry.js} +2 -2
  262. package/www/build/{p-cf7b7e73.entry.js → p-f444b5bd.entry.js} +2 -2
  263. package/www/build/{p-1e3ff105.entry.js → p-f49171aa.entry.js} +2 -2
  264. package/www/build/{p-72dae90b.entry.js → p-f9fb6005.entry.js} +2 -2
  265. package/www/build/{p-f8915e2e.entry.js → p-fc2b2a96.entry.js} +2 -2
  266. package/www/build/web-components-library.esm.js +1 -1
  267. package/www/build/web-components-library.esm.js.map +1 -1
  268. package/www/index.html +1 -1
  269. package/dist/cjs/index-f5ebcaa2.js.map +0 -1
  270. package/dist/esm/index-ee40e66b.js.map +0 -1
  271. package/dist/web-components-library/p-2798c0b2.entry.js +0 -2
  272. package/dist/web-components-library/p-ad825740.entry.js +0 -2
  273. package/dist/web-components-library/p-b34993de.js +0 -2
  274. package/dist/web-components-library/p-b34993de.js.map +0 -1
  275. package/dist/web-components-library/p-d65aba93.entry.js +0 -2
  276. package/dist/web-components-library/p-e185545c.entry.js +0 -2
  277. package/dist/web-components-library/p-e256027a.entry.js +0 -2
  278. package/dist/web-components-library/p-e256027a.entry.js.map +0 -1
  279. package/dist/web-components-library/p-e5b1c34a.entry.js.map +0 -1
  280. package/www/build/p-2798c0b2.entry.js +0 -2
  281. package/www/build/p-ad825740.entry.js +0 -2
  282. package/www/build/p-b34993de.js +0 -2
  283. package/www/build/p-b34993de.js.map +0 -1
  284. package/www/build/p-bac5085b.js +0 -2
  285. package/www/build/p-d65aba93.entry.js +0 -2
  286. package/www/build/p-e185545c.entry.js +0 -2
  287. package/www/build/p-e256027a.entry.js +0 -2
  288. package/www/build/p-e256027a.entry.js.map +0 -1
  289. package/www/build/p-e5b1c34a.entry.js.map +0 -1
  290. /package/dist/web-components-library/{p-e691c0b8.js.map → p-010b6146.js.map} +0 -0
  291. /package/dist/web-components-library/{p-f06bd257.entry.js.map → p-011fa0c8.entry.js.map} +0 -0
  292. /package/dist/web-components-library/{p-2c450113.entry.js.map → p-0a149188.entry.js.map} +0 -0
  293. /package/dist/web-components-library/{p-f075ec62.entry.js.map → p-0d60cc5e.entry.js.map} +0 -0
  294. /package/dist/web-components-library/{p-bba6129f.js.map → p-15aac7aa.js.map} +0 -0
  295. /package/dist/web-components-library/{p-d6a2b1c6.entry.js.map → p-20e4a601.entry.js.map} +0 -0
  296. /package/dist/web-components-library/{p-1630e240.entry.js.map → p-29a297ed.entry.js.map} +0 -0
  297. /package/dist/web-components-library/{p-2a0d8ebe.entry.js.map → p-31c5b39d.entry.js.map} +0 -0
  298. /package/dist/web-components-library/{p-d65aba93.entry.js.map → p-3243015c.entry.js.map} +0 -0
  299. /package/dist/web-components-library/{p-0df6b405.entry.js.map → p-475a2ba2.entry.js.map} +0 -0
  300. /package/dist/web-components-library/{p-2798c0b2.entry.js.map → p-4b29336e.entry.js.map} +0 -0
  301. /package/dist/web-components-library/{p-bd571858.entry.js.map → p-4c287a21.entry.js.map} +0 -0
  302. /package/dist/web-components-library/{p-18d63f0c.entry.js.map → p-5b6dd467.entry.js.map} +0 -0
  303. /package/dist/web-components-library/{p-e78353d6.entry.js.map → p-5bac684a.entry.js.map} +0 -0
  304. /package/dist/web-components-library/{p-758333dc.entry.js.map → p-6279b3fc.entry.js.map} +0 -0
  305. /package/dist/web-components-library/{p-aa0b3e7a.entry.js.map → p-6337614a.entry.js.map} +0 -0
  306. /package/dist/web-components-library/{p-115fab3e.entry.js.map → p-6f5f2d56.entry.js.map} +0 -0
  307. /package/dist/web-components-library/{p-0d3f0534.entry.js.map → p-7057d71f.entry.js.map} +0 -0
  308. /package/dist/web-components-library/{p-395b261e.entry.js.map → p-7091a1fc.entry.js.map} +0 -0
  309. /package/dist/web-components-library/{p-7f370d17.entry.js.map → p-71e2a48b.entry.js.map} +0 -0
  310. /package/dist/web-components-library/{p-9e6d080f.entry.js.map → p-78626225.entry.js.map} +0 -0
  311. /package/dist/web-components-library/{p-14e61df6.js.map → p-7b375bca.js.map} +0 -0
  312. /package/dist/web-components-library/{p-7af33b00.entry.js.map → p-7cfe50d0.entry.js.map} +0 -0
  313. /package/dist/web-components-library/{p-4374d3f3.entry.js.map → p-7ef2c4ce.entry.js.map} +0 -0
  314. /package/dist/web-components-library/{p-9218da42.entry.js.map → p-7f0cbe57.entry.js.map} +0 -0
  315. /package/dist/web-components-library/{p-ed091723.entry.js.map → p-898fcd66.entry.js.map} +0 -0
  316. /package/dist/web-components-library/{p-9c4b7a51.entry.js.map → p-8adf58c8.entry.js.map} +0 -0
  317. /package/dist/web-components-library/{p-c29a520b.entry.js.map → p-8ca50c86.entry.js.map} +0 -0
  318. /package/dist/web-components-library/{p-11216ee8.entry.js.map → p-8e544914.entry.js.map} +0 -0
  319. /package/dist/web-components-library/{p-50bf57b4.entry.js.map → p-8e6760d9.entry.js.map} +0 -0
  320. /package/dist/web-components-library/{p-75808b47.entry.js.map → p-96be6eae.entry.js.map} +0 -0
  321. /package/dist/web-components-library/{p-aa42f01d.entry.js.map → p-9ec778dc.entry.js.map} +0 -0
  322. /package/dist/web-components-library/{p-ad825740.entry.js.map → p-a4ddeb5f.entry.js.map} +0 -0
  323. /package/dist/web-components-library/{p-05f6053f.js.map → p-b22d3c7d.js.map} +0 -0
  324. /package/dist/web-components-library/{p-e185545c.entry.js.map → p-b539c9be.entry.js.map} +0 -0
  325. /package/dist/web-components-library/{p-d1cca5ea.entry.js.map → p-b7cf2442.entry.js.map} +0 -0
  326. /package/dist/web-components-library/{p-11629dd3.entry.js.map → p-bbdb67db.entry.js.map} +0 -0
  327. /package/dist/web-components-library/{p-5387e6f3.entry.js.map → p-c29bd399.entry.js.map} +0 -0
  328. /package/dist/web-components-library/{p-123739cb.js.map → p-c3c99202.js.map} +0 -0
  329. /package/dist/web-components-library/{p-8c952964.entry.js.map → p-c7f8b628.entry.js.map} +0 -0
  330. /package/dist/web-components-library/{p-d28b352f.entry.js.map → p-cb34ca26.entry.js.map} +0 -0
  331. /package/dist/web-components-library/{p-52be7378.entry.js.map → p-cc775eee.entry.js.map} +0 -0
  332. /package/dist/web-components-library/{p-22e32e11.entry.js.map → p-cdc51108.entry.js.map} +0 -0
  333. /package/dist/web-components-library/{p-73d686e0.entry.js.map → p-d29f9574.entry.js.map} +0 -0
  334. /package/dist/web-components-library/{p-cf7b7e73.entry.js.map → p-f444b5bd.entry.js.map} +0 -0
  335. /package/dist/web-components-library/{p-1e3ff105.entry.js.map → p-f49171aa.entry.js.map} +0 -0
  336. /package/dist/web-components-library/{p-72dae90b.entry.js.map → p-f9fb6005.entry.js.map} +0 -0
  337. /package/dist/web-components-library/{p-f8915e2e.entry.js.map → p-fc2b2a96.entry.js.map} +0 -0
  338. /package/www/build/{p-e691c0b8.js.map → p-010b6146.js.map} +0 -0
  339. /package/www/build/{p-f06bd257.entry.js.map → p-011fa0c8.entry.js.map} +0 -0
  340. /package/www/build/{p-2c450113.entry.js.map → p-0a149188.entry.js.map} +0 -0
  341. /package/www/build/{p-f075ec62.entry.js.map → p-0d60cc5e.entry.js.map} +0 -0
  342. /package/www/build/{p-bba6129f.js.map → p-15aac7aa.js.map} +0 -0
  343. /package/www/build/{p-d6a2b1c6.entry.js.map → p-20e4a601.entry.js.map} +0 -0
  344. /package/www/build/{p-1630e240.entry.js.map → p-29a297ed.entry.js.map} +0 -0
  345. /package/www/build/{p-2a0d8ebe.entry.js.map → p-31c5b39d.entry.js.map} +0 -0
  346. /package/www/build/{p-d65aba93.entry.js.map → p-3243015c.entry.js.map} +0 -0
  347. /package/www/build/{p-0df6b405.entry.js.map → p-475a2ba2.entry.js.map} +0 -0
  348. /package/www/build/{p-2798c0b2.entry.js.map → p-4b29336e.entry.js.map} +0 -0
  349. /package/www/build/{p-bd571858.entry.js.map → p-4c287a21.entry.js.map} +0 -0
  350. /package/www/build/{p-18d63f0c.entry.js.map → p-5b6dd467.entry.js.map} +0 -0
  351. /package/www/build/{p-e78353d6.entry.js.map → p-5bac684a.entry.js.map} +0 -0
  352. /package/www/build/{p-758333dc.entry.js.map → p-6279b3fc.entry.js.map} +0 -0
  353. /package/www/build/{p-aa0b3e7a.entry.js.map → p-6337614a.entry.js.map} +0 -0
  354. /package/www/build/{p-115fab3e.entry.js.map → p-6f5f2d56.entry.js.map} +0 -0
  355. /package/www/build/{p-0d3f0534.entry.js.map → p-7057d71f.entry.js.map} +0 -0
  356. /package/www/build/{p-395b261e.entry.js.map → p-7091a1fc.entry.js.map} +0 -0
  357. /package/www/build/{p-7f370d17.entry.js.map → p-71e2a48b.entry.js.map} +0 -0
  358. /package/www/build/{p-9e6d080f.entry.js.map → p-78626225.entry.js.map} +0 -0
  359. /package/www/build/{p-14e61df6.js.map → p-7b375bca.js.map} +0 -0
  360. /package/www/build/{p-7af33b00.entry.js.map → p-7cfe50d0.entry.js.map} +0 -0
  361. /package/www/build/{p-4374d3f3.entry.js.map → p-7ef2c4ce.entry.js.map} +0 -0
  362. /package/www/build/{p-9218da42.entry.js.map → p-7f0cbe57.entry.js.map} +0 -0
  363. /package/www/build/{p-ed091723.entry.js.map → p-898fcd66.entry.js.map} +0 -0
  364. /package/www/build/{p-9c4b7a51.entry.js.map → p-8adf58c8.entry.js.map} +0 -0
  365. /package/www/build/{p-c29a520b.entry.js.map → p-8ca50c86.entry.js.map} +0 -0
  366. /package/www/build/{p-11216ee8.entry.js.map → p-8e544914.entry.js.map} +0 -0
  367. /package/www/build/{p-50bf57b4.entry.js.map → p-8e6760d9.entry.js.map} +0 -0
  368. /package/www/build/{p-75808b47.entry.js.map → p-96be6eae.entry.js.map} +0 -0
  369. /package/www/build/{p-aa42f01d.entry.js.map → p-9ec778dc.entry.js.map} +0 -0
  370. /package/www/build/{p-ad825740.entry.js.map → p-a4ddeb5f.entry.js.map} +0 -0
  371. /package/www/build/{p-05f6053f.js.map → p-b22d3c7d.js.map} +0 -0
  372. /package/www/build/{p-e185545c.entry.js.map → p-b539c9be.entry.js.map} +0 -0
  373. /package/www/build/{p-d1cca5ea.entry.js.map → p-b7cf2442.entry.js.map} +0 -0
  374. /package/www/build/{p-11629dd3.entry.js.map → p-bbdb67db.entry.js.map} +0 -0
  375. /package/www/build/{p-5387e6f3.entry.js.map → p-c29bd399.entry.js.map} +0 -0
  376. /package/www/build/{p-123739cb.js.map → p-c3c99202.js.map} +0 -0
  377. /package/www/build/{p-8c952964.entry.js.map → p-c7f8b628.entry.js.map} +0 -0
  378. /package/www/build/{p-d28b352f.entry.js.map → p-cb34ca26.entry.js.map} +0 -0
  379. /package/www/build/{p-52be7378.entry.js.map → p-cc775eee.entry.js.map} +0 -0
  380. /package/www/build/{p-22e32e11.entry.js.map → p-cdc51108.entry.js.map} +0 -0
  381. /package/www/build/{p-73d686e0.entry.js.map → p-d29f9574.entry.js.map} +0 -0
  382. /package/www/build/{p-cf7b7e73.entry.js.map → p-f444b5bd.entry.js.map} +0 -0
  383. /package/www/build/{p-1e3ff105.entry.js.map → p-f49171aa.entry.js.map} +0 -0
  384. /package/www/build/{p-72dae90b.entry.js.map → p-f9fb6005.entry.js.map} +0 -0
  385. /package/www/build/{p-f8915e2e.entry.js.map → p-fc2b2a96.entry.js.map} +0 -0
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-96af6326.js');
6
- const index$1 = require('./index-f5ebcaa2.js');
7
- const utils = require('./utils-d08d4b80.js');
6
+ const index$1 = require('./index-a465bca8.js');
7
+ const utils = require('./utils-873dd0ae.js');
8
8
  require('./breakpoints-8a1e87e0.js');
9
9
 
10
- const stylesCss = ".sc-z-select-h{display:inline-block;width:inherit;color:var(--color-default-text);font-family:var(--font-family-sans);font-size:var(--font-size-3);font-weight:var(--font-rg)}[size=\"small\"].sc-z-select-h,[size=\"x-small\"].sc-z-select-h{font-size:var(--font-size-2)}.select-wrapper.sc-z-select>z-input.sc-z-select{width:100%}.select-wrapper.sc-z-select>z-input.sc-z-select .input-icon.sc-z-select{cursor:pointer}.select-wrapper.sc-z-select>div.sc-z-select{position:relative}.select-wrapper.sc-z-select>div.closed.sc-z-select{overflow:hidden;height:0}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select{position:absolute;width:100%;box-sizing:border-box;border-top:none;background:var(--color-form-background);box-shadow:var(--shadow-2);outline:none}.select-wrapper.sc-z-select .closed.sc-z-select .ul-scroll-wrapper.sc-z-select{z-index:10}.select-wrapper.sc-z-select .open.sc-z-select .ul-scroll-wrapper.sc-z-select{z-index:20}.select-wrapper.sc-z-select .ul-scroll-wrapper.fixed.sc-z-select{position:static}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select>z-list.sc-z-select{position:relative;overflow:auto;max-height:240px;padding:0 calc(var(--space-unit) * 1.5);outline:none}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element[disabled].sc-z-select{color:var(--color-form-disabled03)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select{display:flex;align-items:center;padding:calc(var(--space-unit) / 2) var(--space-unit);column-gap:var(--space-unit)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.sc-z-select{margin-right:auto}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select+.list-element-content.sc-z-select{padding:calc(var(--space-unit) * 0.5) var(--space-unit)}[size=\"x-small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.sc-z-select{padding:0}[size=\"small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select{--z-icon-width:16px;--z-icon-height:16px}[size=\"x-small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select{--z-icon-width:14px;--z-icon-height:14px}[size=\"x-small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select+.list-element-content.sc-z-select{padding:0 var(--space-unit)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.selected.sc-z-select{font-weight:var(--font-sb)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select .no-results.sc-z-select z-icon.sc-z-select{margin-right:var(--space-unit)}.z-list-group-title.sc-z-select{color:var(--color-default-text)}.reset-item.sc-z-select{color:var(--color-primary01);fill:var(--color-primary01-icon)}.reset-item-content.sc-z-select{display:flex;align-items:center}.reset-item.reset-item-margin.sc-z-select .reset-item-content.sc-z-select{margin-left:var(--space-unit)}.reset-item.sc-z-select .reset-item-content.sc-z-select>z-icon.sc-z-select{margin-right:var(--space-unit)}.reset-item.hide.sc-z-select{display:none}";
10
+ const stylesCss = ".sc-z-select-h{display:inline-block;width:inherit;color:var(--color-default-text);font-family:var(--font-family-sans);font-size:var(--font-size-3);font-weight:var(--font-rg)}[size=\"small\"].sc-z-select-h,[size=\"x-small\"].sc-z-select-h{font-size:var(--font-size-2)}.select-wrapper.sc-z-select>z-input.sc-z-select{width:100%}.select-wrapper.sc-z-select>z-input.sc-z-select .input-icon.sc-z-select{cursor:pointer}.select-wrapper.sc-z-select>div.sc-z-select{position:relative}.select-wrapper.sc-z-select>div.closed.sc-z-select{overflow:hidden;height:0}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select{position:absolute;width:100%;box-sizing:border-box;border-top:none;background:var(--color-form-background);box-shadow:var(--shadow-2);outline:none}.select-wrapper.sc-z-select .closed.sc-z-select .ul-scroll-wrapper.sc-z-select{z-index:10}.select-wrapper.sc-z-select .open.sc-z-select .ul-scroll-wrapper.sc-z-select{z-index:20}.select-wrapper.sc-z-select .ul-scroll-wrapper.fixed.sc-z-select{position:static}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select>z-list.sc-z-select{position:relative;overflow:auto;max-height:240px;padding:0 calc(var(--space-unit) * 1.5);outline:none}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element[disabled].sc-z-select{color:var(--color-form-disabled03)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select{display:flex;align-items:center;padding:calc(var(--space-unit) / 2) var(--space-unit);column-gap:var(--space-unit)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.sc-z-select{margin-right:auto}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select+.list-element-content.sc-z-select{padding:calc(var(--space-unit) * 0.5) var(--space-unit)}[size=\"x-small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.sc-z-select{padding:0}[size=\"small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select{--z-icon-width:16px;--z-icon-height:16px}[size=\"x-small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select{--z-icon-width:14px;--z-icon-height:14px}[size=\"x-small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select+.list-element-content.sc-z-select{padding:0 var(--space-unit)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.selected.sc-z-select{font-weight:var(--font-sb)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select .no-results.sc-z-select z-icon.sc-z-select{margin-right:var(--space-unit)}.z-list-group-title.sc-z-select{color:var(--color-default-text)}.reset-item.sc-z-select{color:var(--color-primary01);fill:var(--color-primary01-icon)}.reset-item-content.sc-z-select{display:flex;align-items:center}.reset-item.reset-item-margin.sc-z-select .reset-item-content.sc-z-select{margin-left:var(--space-unit)}.reset-item.sc-z-select .reset-item-content.sc-z-select>z-icon.sc-z-select{margin-right:var(--space-unit)}.reset-item.hide.sc-z-select{display:none}.tree-list-reset-item.sc-z-select{padding:var(--space-unit) 0}z-list-element.sc-z-select{position:relative;display:block}z-list.sc-z-select z-list-element.sc-z-select::before{position:absolute;z-index:100;top:3px;left:-15px;width:8px;height:1em;border-bottom:1px solid var(--color-disabled01-icon);border-left:1px solid var(--color-disabled01-icon);content:\"\";cursor:pointer}z-list.sc-z-select z-list-element.sc-z-select::after{position:absolute;z-index:100;top:5px;left:-15px;width:8px;height:100%;border-left:1px solid var(--color-disabled01-icon);content:\"\";cursor:pointer}z-list.sc-z-select z-list-element.sc-z-select:last-child::after{display:none}z-list.sc-z-select>z-list-element.sc-z-select::before,z-list.sc-z-select>z-list-element.sc-z-select::after,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.sc-z-select::before,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.sc-z-select::after{display:none}z-list.sc-z-select>div.children-node.sc-z-select{padding-left:calc(var(--space-unit) * 2)}z-list-element.grouped-tree-parent-node.sc-z-select{padding-top:0;padding-left:calc(var(--space-unit) * 2)}z-list-element.sc-z-select>.list-element.sc-z-select{display:flex;justify-content:space-between;padding:calc(var(--space-unit) * 1.25) 0;cursor:pointer}z-list-element.sc-z-select>.list-element.sc-z-select:focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}z-list-element.sc-z-select>.list-element.sc-z-select .item.ellipsis.sc-z-select{overflow:hidden}z-list-element.sc-z-select .list-element.sc-z-select::after{position:absolute;top:0;right:-1px;display:block;width:100%;height:40px;content:\"\";transform:translateX(-100%)}z-list-element.grouped-tree-parent-node.sc-z-select .list-element.sc-z-select::after{position:absolute;top:8px;right:-25px;display:block;width:100%;height:40px;content:\"\";transform:translateX(-100%)}z-list-element.sc-z-select>.list-element.sc-z-select:hover,z-list-element.sc-z-select>.list-element.sc-z-select:hover::after{z-index:-1;background-color:var(--color-background);cursor:pointer}.item-label.selected.sc-z-select{font-weight:bold}z-list-element.sc-z-select:focus{box-shadow:var(--shadow-focus-primary);outline:none}.item.ellipsis.sc-z-select{display:inline-block;overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}z-list.sc-z-select>z-list-element.grouped-tree-parent-node.sc-z-select>.list-element.sc-z-select:hover::after,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.grouped-tree-parent-node.sc-z-select>.list-element.sc-z-select:hover::after{position:absolute;z-index:-1;top:8px;right:-18px;display:block;width:100%;height:40px;content:\"\";transform:translateX(-100%)}z-list-element.sc-z-select>.list-element.sc-z-select:hover::after{position:absolute;z-index:-1;top:0;right:0;display:block;width:100%;height:40px;content:\"\";transform:translateX(-100%)}.children-node.sc-z-select z-list-element.sc-z-select::before,.children-node.sc-z-select z-list-element.sc-z-select::after{left:-15px}.children-node.sc-z-select .children-node.sc-z-select z-list-element.sc-z-select::before,.children-node.sc-z-select .children-node.sc-z-select z-list-element.sc-z-select::after{left:-15px}.children-node.sc-z-select>z-list-element.sc-z-select{padding:0}";
11
11
  const ZSelectStyle0 = stylesCss;
12
12
 
13
13
  const ZSelect = class {
@@ -16,6 +16,8 @@ const ZSelect = class {
16
16
  this.optionSelect = index.createEvent(this, "optionSelect", 7);
17
17
  this.resetSelect = index.createEvent(this, "resetSelect", 7);
18
18
  this.itemsList = [];
19
+ this.itemIdKeyMap = {};
20
+ this.resetKey = -1;
19
21
  this.htmlid = `id-${utils.randomId()}`;
20
22
  this.items = undefined;
21
23
  this.name = undefined;
@@ -30,6 +32,7 @@ const ZSelect = class {
30
32
  this.autocomplete = false;
31
33
  this.noresultslabel = "Nessun risultato";
32
34
  this.hasGroupItems = undefined;
35
+ this.hasTreeItems = undefined;
33
36
  this.isfixed = false;
34
37
  this.resetItem = undefined;
35
38
  this.size = index$1.ControlSize.BIG;
@@ -37,12 +40,18 @@ const ZSelect = class {
37
40
  this.selectedItem = null;
38
41
  this.focusedItemId = undefined;
39
42
  this.searchString = undefined;
43
+ this.flattenedList = [];
40
44
  this.toggleSelectUl = this.toggleSelectUl.bind(this);
41
45
  this.handleSelectFocus = this.handleSelectFocus.bind(this);
42
46
  }
43
47
  watchItems() {
44
48
  this.itemsList = this.getInitialItemsArray();
45
- this.selectedItem = this.itemsList.find((item) => item.selected);
49
+ this.selectedItem = this.findSelectedItem(this.itemsList);
50
+ this.flattenedList = this.flattenTreeItems(this.itemsList);
51
+ this.itemIdKeyMap = {};
52
+ this.flattenedList.forEach(({ item, key }) => {
53
+ this.itemIdKeyMap[item.id] = key;
54
+ });
46
55
  }
47
56
  getFocusedItemHandler(e) {
48
57
  this.focusedItemId = e.target.id;
@@ -64,7 +73,11 @@ const ZSelect = class {
64
73
  else {
65
74
  values = value;
66
75
  }
67
- this.selectedItem = this.itemsList.find((item) => values.includes(item.id));
76
+ this.itemsList = this.getInitialItemsArray();
77
+ if (values.length) {
78
+ this.updateSelection(this.itemsList, values[0]);
79
+ }
80
+ this.selectedItem = this.findSelectedItem(this.itemsList);
68
81
  }
69
82
  emitOptionSelect() {
70
83
  this.optionSelect.emit({
@@ -102,23 +115,48 @@ const ZSelect = class {
102
115
  const prevList = this.mapSelectedItemToItemsArray();
103
116
  if (!(searchString === null || searchString === void 0 ? void 0 : searchString.length)) {
104
117
  this.itemsList = prevList;
118
+ return;
119
+ }
120
+ if (this.hasTreeItems) {
121
+ this.itemsList = this.filterTree(prevList, searchString);
105
122
  }
106
123
  else {
107
124
  this.itemsList = prevList
108
- .filter((item) => {
109
- return item.name.toUpperCase().includes(searchString.toUpperCase());
110
- })
125
+ .filter((item) => item.name.toUpperCase().includes(searchString.toUpperCase()))
111
126
  .map((item) => {
112
- const start = item.name.toUpperCase().indexOf(searchString.toUpperCase());
113
- const end = start + searchString.length;
114
- const newName = item.name.substring(0, start) +
115
- `<strong>${item.name.substring(start, end)}</strong>` +
116
- item.name.substring(end, item.name.length);
117
- item.name = newName;
127
+ item.name = this.getHighlightedText(item.name, searchString);
118
128
  return item;
119
129
  });
120
130
  }
121
131
  }
132
+ filterTree(items, searchString) {
133
+ return items
134
+ .map((item) => {
135
+ const match = item.name.toUpperCase().includes(searchString.toUpperCase());
136
+ const newItem = Object.assign({}, item);
137
+ if (newItem.children && newItem.children.length > 0) {
138
+ newItem.children = this.filterTree(newItem.children, searchString);
139
+ }
140
+ if (match) {
141
+ newItem.name = this.getHighlightedText(newItem.name, searchString);
142
+ }
143
+ if (match || (newItem.children && newItem.children.length > 0)) {
144
+ return newItem;
145
+ }
146
+ return null;
147
+ })
148
+ .filter((item) => item !== null);
149
+ }
150
+ getHighlightedText(text, search) {
151
+ const upperText = text.toUpperCase();
152
+ const upperSearch = search.toUpperCase();
153
+ const start = upperText.indexOf(upperSearch);
154
+ if (start === -1) {
155
+ return text;
156
+ }
157
+ const end = start + search.length;
158
+ return text.substring(0, start) + `<strong>${text.substring(start, end)}</strong>` + text.substring(end);
159
+ }
122
160
  hasAutocomplete() {
123
161
  return utils.boolean(this.autocomplete) === true;
124
162
  }
@@ -128,23 +166,58 @@ const ZSelect = class {
128
166
  this.toggleSelectUl();
129
167
  }
130
168
  }
169
+ updateSelection(items, selectedId) {
170
+ items.forEach((item) => {
171
+ item.selected = item.id === selectedId;
172
+ if (item.children && item.children.length > 0) {
173
+ this.updateSelection(item.children, selectedId);
174
+ }
175
+ });
176
+ }
177
+ findSelectedItem(items) {
178
+ for (const item of items) {
179
+ if (item.selected) {
180
+ return item;
181
+ }
182
+ if (item.children && item.children.length > 0) {
183
+ const found = this.findSelectedItem(item.children);
184
+ if (found) {
185
+ return found;
186
+ }
187
+ }
188
+ }
189
+ return null;
190
+ }
131
191
  selectItem(selected) {
132
192
  if (selected === null || selected === void 0 ? void 0 : selected.disabled) {
133
193
  return;
134
194
  }
135
- this.itemsList = this.mapSelectedItemToItemsArray();
136
- this.itemsList.forEach((i) => {
137
- i.selected = i.id === (selected === null || selected === void 0 ? void 0 : selected.id);
138
- return i;
139
- });
140
- this.selectedItem = this.itemsList.find((item) => item.selected);
195
+ this.itemsList = this.getInitialItemsArray();
196
+ if (selected) {
197
+ this.updateSelection(this.itemsList, selected.id);
198
+ }
199
+ this.selectedItem = this.findSelectedItem(this.itemsList);
141
200
  this.emitOptionSelect();
142
201
  this.toggleSelectUl(true);
143
202
  if (this.searchString) {
144
203
  this.searchString = null;
145
204
  }
146
205
  }
147
- arrowsSelectNav(e, key) {
206
+ flattenTreeItems(items) {
207
+ const flatItems = [];
208
+ let index = 0;
209
+ function flatten(subItems) {
210
+ subItems.forEach((itm) => {
211
+ flatItems.push({ item: itm, key: index++ });
212
+ if (itm.children && itm.children.length > 0) {
213
+ flatten(itm.children);
214
+ }
215
+ });
216
+ }
217
+ flatten(items);
218
+ return flatItems;
219
+ }
220
+ arrowsSelectNav(e, idOrReset) {
148
221
  const showResetIcon = this.resetItem && !!this.selectedItem;
149
222
  const arrows = [index$1.KeyboardCode.ARROW_DOWN, index$1.KeyboardCode.ARROW_UP];
150
223
  if (!arrows.includes(e.key)) {
@@ -152,33 +225,43 @@ const ZSelect = class {
152
225
  }
153
226
  e.preventDefault();
154
227
  e.stopPropagation();
228
+ const flatItems = [...this.flattenedList];
229
+ if (this.resetItem && showResetIcon) {
230
+ flatItems.unshift({
231
+ item: { id: "__RESET_ITEM__" },
232
+ key: this.resetKey,
233
+ });
234
+ }
235
+ let currentIndex;
236
+ if (typeof idOrReset === "number") {
237
+ currentIndex = flatItems.findIndex((f) => f.key === idOrReset);
238
+ }
239
+ else {
240
+ const k = this.itemIdKeyMap[idOrReset];
241
+ currentIndex = flatItems.findIndex((f) => f.key === k);
242
+ }
155
243
  if (!this.isOpen) {
156
244
  this.toggleSelectUl();
157
- }
158
- let index;
159
- if (this.resetItem) {
160
- if (e.key === index$1.KeyboardCode.ARROW_DOWN) {
161
- index = key + 1 === this.itemsList.length + 1 ? +!showResetIcon : key + 1;
162
- }
163
- else if (e.key === index$1.KeyboardCode.ARROW_UP) {
164
- index = key <= +!showResetIcon ? this.itemsList.length : key - 1;
245
+ if (currentIndex === -1) {
246
+ currentIndex = -1;
165
247
  }
166
248
  }
167
- if (!this.resetItem) {
168
- if (e.key === index$1.KeyboardCode.ARROW_DOWN) {
169
- index = key + 1 === this.itemsList.length ? 0 : key + 1;
170
- }
171
- else if (e.key === index$1.KeyboardCode.ARROW_UP) {
172
- index = key <= 0 ? this.itemsList.length - 1 : key - 1;
173
- }
249
+ const lastIndex = flatItems.length - 1;
250
+ let newIndex = currentIndex;
251
+ if (e.key === index$1.KeyboardCode.ARROW_DOWN) {
252
+ newIndex = currentIndex === lastIndex ? 0 : currentIndex + 1;
253
+ }
254
+ else {
255
+ newIndex = currentIndex <= 0 ? lastIndex : currentIndex - 1;
174
256
  }
175
- this.focusSelectItem(index);
257
+ this.focusSelectItem(flatItems[newIndex].key);
176
258
  }
177
- focusSelectItem(index) {
259
+ focusSelectItem(key) {
178
260
  var _a;
179
- (_a = this.host.querySelector(`#${this.htmlid}_${index}`)) === null || _a === void 0 ? void 0 : _a.focus();
261
+ (_a = this.host.querySelector(`#${this.htmlid}_key_${key}`)) === null || _a === void 0 ? void 0 : _a.focus();
180
262
  }
181
263
  toggleSelectUl(selfFocusOnClose = false) {
264
+ var _a;
182
265
  if (this.disabled || this.readonly) {
183
266
  return;
184
267
  }
@@ -190,7 +273,7 @@ const ZSelect = class {
190
273
  document.removeEventListener("click", this.handleSelectFocus);
191
274
  document.removeEventListener("keyup", this.handleSelectFocus);
192
275
  if (selfFocusOnClose) {
193
- this.host.querySelector(`#${this.htmlid}_input`).focus();
276
+ (_a = this.host.querySelector(`#${this.htmlid}_input`)) === null || _a === void 0 ? void 0 : _a.focus();
194
277
  }
195
278
  }
196
279
  this.focusedItemId = "";
@@ -222,7 +305,7 @@ const ZSelect = class {
222
305
  scrollToLetter(letter) {
223
306
  const foundItem = this.itemsList.findIndex((item) => item.name.charAt(0) === letter);
224
307
  if (foundItem > -1) {
225
- this.focusSelectItem(foundItem);
308
+ this.focusSelectItem(this.itemIdKeyMap[this.itemsList[foundItem].id]);
226
309
  }
227
310
  }
228
311
  renderInput() {
@@ -237,7 +320,12 @@ const ZSelect = class {
237
320
  }
238
321
  utils.handleKeyboardSubmit(e, this.toggleSelectUl);
239
322
  }, onKeyDown: (e) => {
240
- return this.arrowsSelectNav(e, this.selectedItem ? this.itemsList.indexOf(this.selectedItem) : this.resetItem ? 0 : -1);
323
+ const current = this.selectedItem
324
+ ? this.itemIdKeyMap[this.selectedItem.id]
325
+ : this.resetItem
326
+ ? this.resetKey
327
+ : "";
328
+ return this.arrowsSelectNav(e, current);
241
329
  }, onInputChange: (e) => {
242
330
  this.handleInputChange(e);
243
331
  }, onKeyPress: (e) => {
@@ -263,35 +351,81 @@ const ZSelect = class {
263
351
  "hide": !this.selectedItem || !this.resetItem,
264
352
  "reset-item": true,
265
353
  "reset-item-margin": !this.hasGroupItems,
266
- }, clickable: true, disabled: false, dividerType: index$1.ListDividerType.ELEMENT, role: "option", tabindex: "0", "aria-selected": "false", id: `${this.htmlid}_${this.resetItem ? "0" : "none"}`, size: this.listSizeType(), onClickItem: () => {
354
+ }, clickable: true, disabled: false, dividerType: index$1.ListDividerType.ELEMENT, role: "option", tabindex: "0", "aria-selected": "false", id: `${this.htmlid}_key_${this.resetKey}`, size: this.hasTreeItems ? index$1.ListSize.MEDIUM : this.listSizeType(), onClickItem: () => {
267
355
  this.selectedItem = null;
268
356
  this.searchString = null;
269
357
  this.emitResetSelect();
270
- }, onKeyDown: (e) => this.arrowsSelectNav(e, 0) }, index.h("div", { class: "reset-item-content" }, index.h("z-icon", { name: "multiply-circled" }), index.h("span", null, this.resetItem))));
271
- }
272
- renderItem(item, key, lastItem) {
273
- return (index.h("z-list-element", { clickable: !item.disabled, disabled: item.disabled, dividerType: lastItem ? index$1.ListDividerType.HEADER : index$1.ListDividerType.ELEMENT, role: "option", tabindex: item.disabled || !this.isOpen ? -1 : 0, "aria-selected": item.selected ? "true" : "false", id: `${this.htmlid}_${key}`, size: this.listSizeType(), onClickItem: () => this.selectItem(item), onKeyDown: (e) => this.arrowsSelectNav(e, key) }, index.h("div", { class: "list-element-container" }, index.h("div", { class: {
358
+ }, onKeyDown: (e) => this.arrowsSelectNav(e, this.resetKey) }, index.h("div", { class: {
359
+ "reset-item-content": true,
360
+ "tree-list-reset-item": this.hasTreeItems,
361
+ } }, index.h("z-icon", { name: "multiply-circled" }), index.h("span", null, this.resetItem))));
362
+ }
363
+ renderItem(item, lastItem) {
364
+ const thisItemKey = this.itemIdKeyMap[item.id];
365
+ return (index.h("z-list-element", { clickable: !item.disabled, disabled: item.disabled, dividerType: lastItem ? index$1.ListDividerType.HEADER : index$1.ListDividerType.ELEMENT, role: "option", tabindex: item.disabled || !this.isOpen ? -1 : 0, "aria-selected": item.selected ? "true" : "false", id: `${this.htmlid}_key_${thisItemKey}`, size: this.listSizeType(), onClickItem: () => this.selectItem(item), onKeyDown: (e) => this.arrowsSelectNav(e, thisItemKey) }, index.h("div", { class: "list-element-container" }, index.h("div", { class: {
274
366
  "selected": !!item.selected,
275
367
  "list-element-content": true,
276
368
  }, innerHTML: item.name }), item.icon && index.h("z-tag", { icon: item.icon }))));
277
369
  }
278
370
  listSizeType() {
371
+ if (this.hasTreeItems) {
372
+ return index$1.ListSize.NONE;
373
+ }
279
374
  if (this.size === index$1.ControlSize.SMALL || this.size === index$1.ControlSize.X_SMALL) {
280
375
  return index$1.ListSize.SMALL;
281
376
  }
282
377
  return index$1.ListSize.MEDIUM;
283
378
  }
379
+ //eslint-disable-next-line
284
380
  renderSelectUlItems() {
285
381
  if (!this.itemsList.length) {
286
382
  return this.renderNoSearchResults();
287
383
  }
288
- if (this.hasGroupItems) {
384
+ if (this.hasGroupItems && !this.hasTreeItems) {
289
385
  return this.renderSelectGroupItems();
290
386
  }
387
+ else if (this.hasGroupItems && this.hasTreeItems) {
388
+ return this.renderGroupedTree();
389
+ }
291
390
  return this.itemsList.map((item, key, array) => {
292
391
  const lastItem = array.length === key + 1;
293
- const itemKey = this.resetItem ? key + 1 : key;
294
- return this.renderItem(item, itemKey, lastItem);
392
+ if (this.hasTreeItems) {
393
+ return this.renderTreeItems(item, lastItem);
394
+ }
395
+ return this.renderItem(item, lastItem);
396
+ });
397
+ }
398
+ renderTreeItems(item, divider) {
399
+ var _a, _b;
400
+ const hasDivider = divider && !((_a = item.children) === null || _a === void 0 ? void 0 : _a.length);
401
+ const thisItemKey = this.itemIdKeyMap[item.id];
402
+ return (index.h("z-list-element", { class: {
403
+ "grouped-tree-parent-node": this.hasGroupItems && !!((_b = item.children) === null || _b === void 0 ? void 0 : _b.length),
404
+ }, size: this.listSizeType(), dividerType: hasDivider ? index$1.ListDividerType.ELEMENT : undefined, hasTreeItems: this.hasTreeItems }, index.h("div", { id: `${this.htmlid}_key_${thisItemKey}`, role: "option", class: "list-element", tabIndex: 0, onClick: () => this.selectItem(item), onKeyDown: (e) => {
405
+ this.arrowsSelectNav(e, thisItemKey);
406
+ if (e.key === index$1.KeyboardCode.ENTER) {
407
+ this.selectItem(item);
408
+ }
409
+ }, onMouseEnter: (e) => {
410
+ const currentElement = e.target;
411
+ currentElement.classList.add("hovered");
412
+ }, onMouseLeave: (e) => {
413
+ const currentElement = e.target;
414
+ currentElement.classList.contains("hovered") && currentElement.classList.remove("hovered");
415
+ } }, index.h("span", { class: "item ellipsis" }, (item === null || item === void 0 ? void 0 : item.icon) && (index.h("z-icon", { class: "item-icon", name: item.icon })), index.h("span", { class: {
416
+ "item-label": true,
417
+ "selected": !!item.selected,
418
+ }, title: item.name, innerHTML: item.name })), item.icon && index.h("z-tag", { icon: item.icon })), item.children && item.children.length > 0 ? (index.h("z-list", null, index.h("div", { class: "children-node" }, item.children.map((child, index, arr) => this.renderTreeItems(child, index === arr.length - 1))))) : null));
419
+ }
420
+ renderGroupedTree() {
421
+ const grouped = this.itemsList.reduce((acc, item) => {
422
+ const category = item.category || "Altra categoria";
423
+ acc[category] = acc[category] || [];
424
+ acc[category].push(item);
425
+ return acc;
426
+ }, {});
427
+ return Object.entries(grouped).map(([category, items]) => {
428
+ return (index.h("z-list-group", { "divider-type": index$1.ListDividerType.ELEMENT, hasTreeItems: true }, index.h("span", { class: "body-3-sb z-list-group-title", slot: "header-title" }, category), index.h("z-list", null, items.map((item, i, arr) => this.renderTreeItems(item, i === arr.length - 1)))));
295
429
  });
296
430
  }
297
431
  renderSelectGroupItems() {
@@ -299,8 +433,7 @@ const ZSelect = class {
299
433
  var _a;
300
434
  const { category } = item;
301
435
  const lastItem = array.length === index + 1;
302
- const itemKey = this.resetItem ? index + 1 : index;
303
- const zListItem = this.renderItem(item, itemKey, lastItem);
436
+ const zListItem = this.renderItem(item, lastItem);
304
437
  group[category] = (_a = group[category]) !== null && _a !== void 0 ? _a : [];
305
438
  group[category].push(zListItem);
306
439
  return group;
@@ -310,7 +443,7 @@ const ZSelect = class {
310
443
  });
311
444
  }
312
445
  renderNoSearchResults() {
313
- return (index.h("z-list-element", { color: "color-primary01", class: "no-results", size: this.listSizeType() }, index.h("z-icon", { name: "multiply-circle", fill: "color-primary01-icon" }), this.noresultslabel));
446
+ return (index.h("z-list-element", { color: "color-primary01", class: "no-results", size: this.hasTreeItems ? index$1.ListSize.MEDIUM : this.listSizeType() }, index.h("z-icon", { name: "multiply-circle", fill: "color-primary01-icon" }), this.noresultslabel));
314
447
  }
315
448
  renderMessage() {
316
449
  if (utils.boolean(this.message) === false) {
@@ -319,7 +452,7 @@ const ZSelect = class {
319
452
  return (index.h("z-input-message", { message: utils.boolean(this.message) === true ? undefined : this.message, status: this.status, class: this.size, disabled: this.disabled }));
320
453
  }
321
454
  render() {
322
- return (index.h("div", { key: '3fc3a44d3a8e78034ac8b0ccd76b90c427312a7c', class: "select-wrapper" }, this.renderInput(), this.renderSelectUl(), this.renderMessage()));
455
+ return (index.h("div", { key: 'b57864d8d6005f5239c76da17bd6d2a5631efd59', class: "select-wrapper" }, this.renderInput(), this.renderSelectUl(), this.renderMessage()));
323
456
  }
324
457
  get host() { return index.getElement(this); }
325
458
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"z-select.entry.cjs.js","mappings":"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","names":["randomId","ControlSize","boolean","KeyboardCode","getClickedElement","containsElement","h","handleKeyboardSubmit","ListDividerType","ListSize"],"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-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 .ul-scroll-wrapper > z-list {\n position: relative;\n overflow: auto;\n max-height: 240px;\n padding: 0 calc(var(--space-unit) * 1.5);\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-default-text);\n}\n\n.reset-item {\n color: var(--color-primary01);\n fill: var(--color-primary01-icon);\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","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, containsElement, getClickedElement, handleKeyboardSubmit, 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 /** 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 private itemsList: SelectItem[] = [];\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 this.selectedItem = this.itemsList.find((item: SelectItem) => item.selected);\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.selectedItem = this.itemsList.find((item: SelectItem) => values.includes(item.id));\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 if (!searchString?.length) {\n this.itemsList = prevList;\n } else {\n this.itemsList = prevList\n .filter((item: SelectItem) => {\n return item.name.toUpperCase().includes(searchString.toUpperCase());\n })\n .map((item: SelectItem) => {\n const start = item.name.toUpperCase().indexOf(searchString.toUpperCase());\n const end = start + searchString.length;\n const newName =\n item.name.substring(0, start) +\n `<strong>${item.name.substring(start, end)}</strong>` +\n item.name.substring(end, item.name.length);\n item.name = newName;\n\n return item;\n });\n }\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 selectItem(selected: null | SelectItem): void {\n if (selected?.disabled) {\n return;\n }\n\n this.itemsList = this.mapSelectedItemToItemsArray();\n this.itemsList.forEach((i: SelectItem) => {\n i.selected = i.id === selected?.id;\n\n return i;\n });\n\n this.selectedItem = this.itemsList.find((item: SelectItem) => item.selected);\n\n this.emitOptionSelect();\n this.toggleSelectUl(true);\n\n if (this.searchString) {\n this.searchString = null;\n }\n }\n\n private arrowsSelectNav(e: KeyboardEvent, key: number): void {\n const showResetIcon = this.resetItem && !!this.selectedItem;\n const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];\n if (!arrows.includes(e.key as KeyboardCode)) {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (!this.isOpen) {\n this.toggleSelectUl();\n }\n\n let index: number;\n\n if (this.resetItem) {\n if (e.key === KeyboardCode.ARROW_DOWN) {\n index = key + 1 === this.itemsList.length + 1 ? +!showResetIcon : key + 1;\n } else if (e.key === KeyboardCode.ARROW_UP) {\n index = key <= +!showResetIcon ? this.itemsList.length : key - 1;\n }\n }\n\n if (!this.resetItem) {\n if (e.key === KeyboardCode.ARROW_DOWN) {\n index = key + 1 === this.itemsList.length ? 0 : key + 1;\n } else if (e.key === KeyboardCode.ARROW_UP) {\n index = key <= 0 ? this.itemsList.length - 1 : key - 1;\n }\n }\n\n this.focusSelectItem(index);\n }\n\n private focusSelectItem(index: number): void {\n this.host.querySelector<HTMLLIElement>(`#${this.htmlid}_${index}`)?.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\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.TAB && e.key !== KeyboardCode.ENTER) {\n return;\n }\n\n if (!containsElement(this.host, clickedElement)) {\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(foundItem);\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 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={this.hasAutocomplete()}\n message={false}\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 if (e.key !== KeyboardCode.ENTER) {\n e.preventDefault();\n }\n handleKeyboardSubmit(e, this.toggleSelectUl);\n }}\n onKeyDown={(e: KeyboardEvent) => {\n return this.arrowsSelectNav(\n e,\n this.selectedItem ? this.itemsList.indexOf(this.selectedItem) : this.resetItem ? 0 : -1\n );\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}_${this.resetItem ? \"0\" : \"none\"}`}\n size={this.listSizeType()}\n onClickItem={() => {\n this.selectedItem = null;\n this.searchString = null;\n this.emitResetSelect();\n }}\n onKeyDown={(e: KeyboardEvent) => this.arrowsSelectNav(e, 0)}\n >\n <div class=\"reset-item-content\">\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, key: number, lastItem: boolean): HTMLZListElementElement {\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}`}\n size={this.listSizeType()}\n onClickItem={() => this.selectItem(item)}\n onKeyDown={(e: KeyboardEvent) => this.arrowsSelectNav(e, key)}\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\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.size === ControlSize.SMALL || this.size === ControlSize.X_SMALL) {\n return ListSize.SMALL;\n }\n\n return ListSize.MEDIUM;\n }\n\n private renderSelectUlItems(): HTMLZListElementElement | HTMLZListElementElement[] {\n if (!this.itemsList.length) {\n return this.renderNoSearchResults();\n }\n\n if (this.hasGroupItems) {\n return this.renderSelectGroupItems();\n }\n\n return this.itemsList.map((item: SelectItem, key, array) => {\n const lastItem = array.length === key + 1;\n const itemKey = this.resetItem ? key + 1 : key;\n\n return this.renderItem(item, itemKey, lastItem);\n });\n }\n\n private renderSelectGroupItems(): HTMLZListElementElement | HTMLZListElementElement[] {\n const newData = this.itemsList.reduce((group, item, index, array) => {\n const {category} = item;\n const lastItem = array.length === index + 1;\n const itemKey = this.resetItem ? index + 1 : index;\n const zListItem = this.renderItem(item, itemKey, lastItem);\n\n group[category] = group[category] ?? [];\n group[category].push(zListItem);\n\n return group;\n }, {});\n\n return Object.entries(newData as {[key: string]: HTMLZListElementElement[]}).map(([key, value]) => {\n return (\n <z-list-group divider-type={ListDividerType.ELEMENT}>\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n >\n {key}\n </span>\n {value.map((item) => item)}\n </z-list-group>\n );\n });\n }\n\n private renderNoSearchResults(): HTMLZListElementElement {\n return (\n <z-list-element\n color=\"color-primary01\"\n class=\"no-results\"\n size={this.listSizeType()}\n >\n <z-icon\n name=\"multiply-circle\"\n fill=\"color-primary01-icon\"\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","containsElement","h","handleKeyboardSubmit","ListDividerType","ListSize"],"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-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 .ul-scroll-wrapper > z-list {\n position: relative;\n overflow: auto;\n max-height: 240px;\n padding: 0 calc(var(--space-unit) * 1.5);\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-default-text);\n}\n\n.reset-item {\n color: var(--color-primary01);\n fill: var(--color-primary01-icon);\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-disabled01-icon);\n border-left: 1px solid var(--color-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-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.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 > .list-element:hover,\nz-list-element > .list-element:hover::after {\n z-index: -1;\n background-color: var(--color-background);\n cursor: pointer;\n}\n\n.item-label.selected {\n font-weight: bold;\n}\n\nz-list-element:focus {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\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 > 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, containsElement, getClickedElement, handleKeyboardSubmit, 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 /** 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);\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): SelectItem[] {\n return items\n .map((item) => {\n const match = item.name.toUpperCase().includes(searchString.toUpperCase());\n\n const newItem: SelectItem = {...item};\n\n if (newItem.children && newItem.children.length > 0) {\n newItem.children = this.filterTree(newItem.children, searchString);\n }\n\n if (match) {\n newItem.name = this.getHighlightedText(newItem.name, searchString);\n }\n\n if (match || (newItem.children && newItem.children.length > 0)) {\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 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 private findSelectedItem(items: SelectItem[]): SelectItem | null {\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 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(true);\n\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 function 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 flatten(items);\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];\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 newIndex = currentIndex === lastIndex ? 0 : currentIndex + 1;\n } else {\n newIndex = currentIndex <= 0 ? lastIndex : currentIndex - 1;\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\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.TAB && e.key !== KeyboardCode.ENTER) {\n return;\n }\n\n if (!containsElement(this.host, clickedElement)) {\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 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={this.hasAutocomplete()}\n message={false}\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 if (e.key !== KeyboardCode.ENTER) {\n e.preventDefault();\n }\n handleKeyboardSubmit(e, this.toggleSelectUl);\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, key, array) => {\n const lastItem = array.length === key + 1;\n\n if (this.hasTreeItems) {\n return this.renderTreeItems(item, lastItem);\n }\n\n return this.renderItem(item, lastItem);\n });\n }\n\n private renderTreeItems(item: SelectItem, divider?: boolean): HTMLZListElementElement[] {\n const hasDivider = divider && !item.children?.length;\n const thisItemKey = this.itemIdKeyMap[item.id];\n\n return (\n <z-list-element\n class={{\n \"grouped-tree-parent-node\": this.hasGroupItems && !!item.children?.length,\n }}\n size={this.listSizeType()}\n dividerType={hasDivider ? ListDividerType.ELEMENT : undefined}\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 onMouseEnter={(e: MouseEvent) => {\n const currentElement = e.target as HTMLElement;\n currentElement.classList.add(\"hovered\");\n }}\n onMouseLeave={(e: MouseEvent) => {\n const currentElement = e.target as HTMLElement;\n currentElement.classList.contains(\"hovered\") && currentElement.classList.remove(\"hovered\");\n }}\n >\n <span class=\"item ellipsis\">\n {item?.icon && (\n <z-icon\n class=\"item-icon\"\n name={item.icon}\n />\n )}\n <span\n class={{\n \"item-label\": true,\n \"selected\": !!item.selected,\n }}\n title={item.name}\n innerHTML={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) => this.renderTreeItems(child, index === arr.length - 1))}\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]) => {\n return (\n <z-list-group\n divider-type={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>{items.map((item, i, arr) => this.renderTreeItems(item, i === arr.length - 1))}</z-list>\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 color=\"color-primary01\"\n class=\"no-results\"\n size={this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType()}\n >\n <z-icon\n name=\"multiply-circle\"\n fill=\"color-primary01-icon\"\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}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-96af6326.js');
6
- const index$1 = require('./index-f5ebcaa2.js');
7
- const utils = require('./utils-d08d4b80.js');
6
+ const index$1 = require('./index-a465bca8.js');
7
+ const utils = require('./utils-873dd0ae.js');
8
8
  require('./breakpoints-8a1e87e0.js');
9
9
 
10
10
  const stylesCss = ".sc-z-skip-to-content-h{position:absolute;left:-100%;height:60px;box-sizing:border-box;padding:calc(var(--space-unit) * 1.25) calc(var(--space-unit) * 3);background-color:#24f4ff;font-family:var(--font-family-sans);font-weight:var(--font-rg);text-align:center}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{display:inline-flex;height:100%;align-items:center}.skip-to-content-visible.sc-z-skip-to-content-h,.sc-z-skip-to-content-h:focus{position:static;display:block}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-invisible.sc-z-skip-to-content{overflow:hidden;width:0;height:0}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-visible.sc-z-skip-to-content{width:initial;height:initial}.dark.sc-z-skip-to-content-h{background-color:var(--color-surface05);color:var(--color-surface01)}.light.sc-z-skip-to-content-h{border:var(--border-size-medium) solid var(--color-surface05);background-color:var(--color-surface01);color:var(--color-default-text)}@media (min-width: 768px){.sc-z-skip-to-content-h{text-align:start}}@media (min-width: 1152px){.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{padding:0 calc(var(--space-unit) * 3);border-right:var(--border-size-small) solid var(--color-surface05)}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-invisible.sc-z-skip-to-content{overflow:initial;width:initial;height:initial}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:first-child{padding-left:0}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child,.dark.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child,.light.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child{padding-right:0;border-right:none}.dark.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{border-right:var(--border-size-small) solid var(--color-surface01)}}";