@zanichelli/albe-web-components 19.2.1-RC → 19.2.2

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 (216) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/cjs/{index-938c9669.js → index-c38e5b9e.js} +2 -2
  3. package/dist/cjs/{index-938c9669.js.map → index-c38e5b9e.js.map} +1 -1
  4. package/dist/cjs/index.cjs.js +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/{utils-e8b453d5.js → utils-b1859d65.js} +7 -1
  7. package/dist/cjs/utils-b1859d65.js.map +1 -0
  8. package/dist/cjs/web-components-library.cjs.js +1 -1
  9. package/dist/cjs/z-app-header_12.cjs.entry.js +5 -4
  10. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  11. package/dist/cjs/z-book-card-deprecated.cjs.entry.js +1 -1
  12. package/dist/cjs/z-book-card.cjs.entry.js +1 -1
  13. package/dist/cjs/z-book-card.cjs.entry.js.map +1 -1
  14. package/dist/cjs/z-breadcrumb.cjs.entry.js +1 -1
  15. package/dist/cjs/z-color-picker.cjs.entry.js +1 -1
  16. package/dist/cjs/z-combobox.cjs.entry.js +125 -96
  17. package/dist/cjs/z-combobox.cjs.entry.js.map +1 -1
  18. package/dist/cjs/z-menu.cjs.entry.js +1 -1
  19. package/dist/cjs/z-myz-card-info.cjs.entry.js +1 -1
  20. package/dist/cjs/z-myz-list-item.cjs.entry.js +1 -1
  21. package/dist/cjs/z-popover.cjs.entry.js +1 -1
  22. package/dist/cjs/z-select.cjs.entry.js +100 -134
  23. package/dist/cjs/z-select.cjs.entry.js.map +1 -1
  24. package/dist/cjs/z-skip-to-content.cjs.entry.js +1 -1
  25. package/dist/cjs/z-slideshow.cjs.entry.js +1 -1
  26. package/dist/cjs/z-table.cjs.entry.js +2 -2
  27. package/dist/cjs/z-toast-notification-list.cjs.entry.js +2 -1
  28. package/dist/cjs/z-toast-notification-list.cjs.entry.js.map +1 -1
  29. package/dist/cjs/z-toggle-switch.cjs.entry.js +1 -1
  30. package/dist/cjs/z-tool.cjs.entry.js +1 -1
  31. package/dist/cjs/z-tr.cjs.entry.js +2 -2
  32. package/dist/collection/components/book-card/z-book-card/styles.css +2 -1
  33. package/dist/collection/components/list/z-list-group/index.js +21 -2
  34. package/dist/collection/components/list/z-list-group/index.js.map +1 -1
  35. package/dist/collection/components/list/z-list-group/index.stories.js +3 -0
  36. package/dist/collection/components/list/z-list-group/index.stories.js.map +1 -1
  37. package/dist/collection/components/z-combobox/index.js +141 -98
  38. package/dist/collection/components/z-combobox/index.js.map +1 -1
  39. package/dist/collection/components/z-combobox/index.stories.js +2 -0
  40. package/dist/collection/components/z-combobox/index.stories.js.map +1 -1
  41. package/dist/collection/components/z-combobox/styles.css +41 -0
  42. package/dist/collection/components/z-searchbar/styles.css +1 -1
  43. package/dist/collection/components/z-select/index.js +99 -142
  44. package/dist/collection/components/z-select/index.js.map +1 -1
  45. package/dist/collection/components/z-select/styles.css +9 -2
  46. package/dist/collection/components/z-toast-notification-list/index.js +2 -1
  47. package/dist/collection/components/z-toast-notification-list/index.js.map +1 -1
  48. package/dist/collection/utils/utils.js +5 -0
  49. package/dist/collection/utils/utils.js.map +1 -1
  50. package/dist/components/index12.js +1 -1
  51. package/dist/components/index16.js +5 -3
  52. package/dist/components/index16.js.map +1 -1
  53. package/dist/components/index24.js +1 -1
  54. package/dist/components/index25.js +2 -2
  55. package/dist/components/index25.js.map +1 -1
  56. package/dist/components/utils.js +6 -1
  57. package/dist/components/utils.js.map +1 -1
  58. package/dist/components/z-book-card.js +1 -1
  59. package/dist/components/z-book-card.js.map +1 -1
  60. package/dist/components/z-combobox.js +128 -100
  61. package/dist/components/z-combobox.js.map +1 -1
  62. package/dist/components/z-select.js +101 -135
  63. package/dist/components/z-select.js.map +1 -1
  64. package/dist/components/z-skip-to-content.js +1 -1
  65. package/dist/components/z-slideshow.js +1 -1
  66. package/dist/components/z-toast-notification-list.js +2 -1
  67. package/dist/components/z-toast-notification-list.js.map +1 -1
  68. package/dist/esm/{index-83248f5c.js → index-a0b957e0.js} +2 -2
  69. package/dist/esm/{index-83248f5c.js.map → index-a0b957e0.js.map} +1 -1
  70. package/dist/esm/index.js +1 -1
  71. package/dist/esm/loader.js +1 -1
  72. package/dist/esm/{utils-1b64bcd9.js → utils-8d6ca808.js} +7 -2
  73. package/dist/esm/utils-8d6ca808.js.map +1 -0
  74. package/dist/esm/web-components-library.js +1 -1
  75. package/dist/esm/z-app-header_12.entry.js +5 -4
  76. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  77. package/dist/esm/z-book-card-deprecated.entry.js +1 -1
  78. package/dist/esm/z-book-card.entry.js +1 -1
  79. package/dist/esm/z-book-card.entry.js.map +1 -1
  80. package/dist/esm/z-breadcrumb.entry.js +1 -1
  81. package/dist/esm/z-color-picker.entry.js +1 -1
  82. package/dist/esm/z-combobox.entry.js +125 -96
  83. package/dist/esm/z-combobox.entry.js.map +1 -1
  84. package/dist/esm/z-menu.entry.js +1 -1
  85. package/dist/esm/z-myz-card-info.entry.js +1 -1
  86. package/dist/esm/z-myz-list-item.entry.js +1 -1
  87. package/dist/esm/z-popover.entry.js +1 -1
  88. package/dist/esm/z-select.entry.js +100 -134
  89. package/dist/esm/z-select.entry.js.map +1 -1
  90. package/dist/esm/z-skip-to-content.entry.js +1 -1
  91. package/dist/esm/z-slideshow.entry.js +1 -1
  92. package/dist/esm/z-table.entry.js +2 -2
  93. package/dist/esm/z-toast-notification-list.entry.js +2 -1
  94. package/dist/esm/z-toast-notification-list.entry.js.map +1 -1
  95. package/dist/esm/z-toggle-switch.entry.js +1 -1
  96. package/dist/esm/z-tool.entry.js +1 -1
  97. package/dist/esm/z-tr.entry.js +2 -2
  98. package/dist/types/components/list/z-list-group/index.d.ts +4 -0
  99. package/dist/types/components/list/z-list-group/index.stories.d.ts +1 -0
  100. package/dist/types/components/z-combobox/index.d.ts +10 -11
  101. package/dist/types/components/z-combobox/index.stories.d.ts +1 -0
  102. package/dist/types/components/z-select/index.d.ts +5 -7
  103. package/dist/types/components.d.ts +16 -0
  104. package/dist/types/utils/utils.d.ts +2 -0
  105. package/dist/web-components-library/index.esm.js +1 -1
  106. package/{www/build/p-a5146ef3.entry.js → dist/web-components-library/p-05be939d.entry.js} +2 -2
  107. package/dist/web-components-library/{p-a5146ef3.entry.js.map → p-05be939d.entry.js.map} +1 -1
  108. package/dist/web-components-library/{p-1a0c206d.js → p-061e28d6.js} +2 -2
  109. package/dist/web-components-library/p-061e28d6.js.map +1 -0
  110. package/dist/web-components-library/{p-4844c774.js → p-0b03b0e3.js} +2 -2
  111. package/dist/web-components-library/p-1b972597.entry.js +2 -0
  112. package/dist/web-components-library/{p-862989b6.entry.js.map → p-1b972597.entry.js.map} +1 -1
  113. package/dist/web-components-library/{p-19103e70.entry.js → p-35d73edf.entry.js} +2 -2
  114. package/dist/web-components-library/p-43adca09.entry.js +2 -0
  115. package/{www/build/p-2d4cf6ff.entry.js.map → dist/web-components-library/p-43adca09.entry.js.map} +1 -1
  116. package/{www/build/p-47813782.entry.js → dist/web-components-library/p-447a6391.entry.js} +2 -2
  117. package/dist/web-components-library/p-8503c87a.entry.js +2 -0
  118. package/dist/web-components-library/p-8503c87a.entry.js.map +1 -0
  119. package/dist/web-components-library/{p-a8609510.entry.js → p-869295ce.entry.js} +2 -2
  120. package/dist/web-components-library/{p-771dea79.entry.js → p-9814f864.entry.js} +2 -2
  121. package/{www/build/p-c5d52872.entry.js → dist/web-components-library/p-a3f9a5da.entry.js} +2 -2
  122. package/dist/web-components-library/p-a8790237.entry.js +2 -0
  123. package/dist/web-components-library/p-a8790237.entry.js.map +1 -0
  124. package/dist/web-components-library/{p-613987cd.entry.js → p-accbc381.entry.js} +2 -2
  125. package/dist/web-components-library/{p-613987cd.entry.js.map → p-accbc381.entry.js.map} +1 -1
  126. package/{www/build/p-8a53fefb.entry.js → dist/web-components-library/p-b0324c7d.entry.js} +2 -2
  127. package/dist/web-components-library/{p-c12f93e4.entry.js → p-bd76ca35.entry.js} +2 -2
  128. package/dist/web-components-library/p-c3e03e41.entry.js +2 -0
  129. package/dist/web-components-library/p-c3e03e41.entry.js.map +1 -0
  130. package/dist/web-components-library/{p-5905cca0.entry.js → p-ec1270db.entry.js} +2 -2
  131. package/{www/build/p-55e5e53a.entry.js → dist/web-components-library/p-f2c2ad04.entry.js} +2 -2
  132. package/dist/web-components-library/p-f7e65eb0.entry.js +2 -0
  133. package/dist/web-components-library/{p-26ed6c96.entry.js → p-fbce9614.entry.js} +2 -2
  134. package/dist/web-components-library/web-components-library.esm.js +1 -1
  135. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  136. package/package.json +2 -3
  137. package/www/build/index.esm.js +1 -1
  138. package/{dist/web-components-library/p-a5146ef3.entry.js → www/build/p-05be939d.entry.js} +2 -2
  139. package/www/build/{p-a5146ef3.entry.js.map → p-05be939d.entry.js.map} +1 -1
  140. package/www/build/{p-1a0c206d.js → p-061e28d6.js} +2 -2
  141. package/www/build/p-061e28d6.js.map +1 -0
  142. package/www/build/{p-4844c774.js → p-0b03b0e3.js} +2 -2
  143. package/www/build/p-1b972597.entry.js +2 -0
  144. package/www/build/{p-862989b6.entry.js.map → p-1b972597.entry.js.map} +1 -1
  145. package/www/build/{p-19103e70.entry.js → p-35d73edf.entry.js} +2 -2
  146. package/www/build/p-43adca09.entry.js +2 -0
  147. package/{dist/web-components-library/p-2d4cf6ff.entry.js.map → www/build/p-43adca09.entry.js.map} +1 -1
  148. package/{dist/web-components-library/p-47813782.entry.js → www/build/p-447a6391.entry.js} +2 -2
  149. package/www/build/p-4b38182a.js +2 -0
  150. package/www/build/p-8503c87a.entry.js +2 -0
  151. package/www/build/p-8503c87a.entry.js.map +1 -0
  152. package/www/build/{p-a8609510.entry.js → p-869295ce.entry.js} +2 -2
  153. package/www/build/{p-771dea79.entry.js → p-9814f864.entry.js} +2 -2
  154. package/{dist/web-components-library/p-c5d52872.entry.js → www/build/p-a3f9a5da.entry.js} +2 -2
  155. package/www/build/p-a8790237.entry.js +2 -0
  156. package/www/build/p-a8790237.entry.js.map +1 -0
  157. package/www/build/{p-613987cd.entry.js → p-accbc381.entry.js} +2 -2
  158. package/www/build/{p-613987cd.entry.js.map → p-accbc381.entry.js.map} +1 -1
  159. package/{dist/web-components-library/p-8a53fefb.entry.js → www/build/p-b0324c7d.entry.js} +2 -2
  160. package/www/build/{p-c12f93e4.entry.js → p-bd76ca35.entry.js} +2 -2
  161. package/www/build/p-c3e03e41.entry.js +2 -0
  162. package/www/build/p-c3e03e41.entry.js.map +1 -0
  163. package/www/build/{p-5905cca0.entry.js → p-ec1270db.entry.js} +2 -2
  164. package/{dist/web-components-library/p-55e5e53a.entry.js → www/build/p-f2c2ad04.entry.js} +2 -2
  165. package/www/build/p-f7e65eb0.entry.js +2 -0
  166. package/www/build/{p-26ed6c96.entry.js → p-fbce9614.entry.js} +2 -2
  167. package/www/build/web-components-library.esm.js +1 -1
  168. package/www/build/web-components-library.esm.js.map +1 -1
  169. package/www/index.html +1 -1
  170. package/dist/cjs/utils-e8b453d5.js.map +0 -1
  171. package/dist/esm/utils-1b64bcd9.js.map +0 -1
  172. package/dist/web-components-library/p-1a0c206d.js.map +0 -1
  173. package/dist/web-components-library/p-2d4cf6ff.entry.js +0 -2
  174. package/dist/web-components-library/p-3ba7621b.entry.js +0 -2
  175. package/dist/web-components-library/p-58aeaf21.entry.js +0 -2
  176. package/dist/web-components-library/p-58aeaf21.entry.js.map +0 -1
  177. package/dist/web-components-library/p-5e2f6ab7.entry.js +0 -2
  178. package/dist/web-components-library/p-5e2f6ab7.entry.js.map +0 -1
  179. package/dist/web-components-library/p-862989b6.entry.js +0 -2
  180. package/dist/web-components-library/p-daa442e6.entry.js +0 -2
  181. package/dist/web-components-library/p-daa442e6.entry.js.map +0 -1
  182. package/www/build/p-156f9df4.js +0 -2
  183. package/www/build/p-1a0c206d.js.map +0 -1
  184. package/www/build/p-2d4cf6ff.entry.js +0 -2
  185. package/www/build/p-3ba7621b.entry.js +0 -2
  186. package/www/build/p-58aeaf21.entry.js +0 -2
  187. package/www/build/p-58aeaf21.entry.js.map +0 -1
  188. package/www/build/p-5e2f6ab7.entry.js +0 -2
  189. package/www/build/p-5e2f6ab7.entry.js.map +0 -1
  190. package/www/build/p-862989b6.entry.js +0 -2
  191. package/www/build/p-daa442e6.entry.js +0 -2
  192. package/www/build/p-daa442e6.entry.js.map +0 -1
  193. /package/dist/web-components-library/{p-4844c774.js.map → p-0b03b0e3.js.map} +0 -0
  194. /package/dist/web-components-library/{p-19103e70.entry.js.map → p-35d73edf.entry.js.map} +0 -0
  195. /package/dist/web-components-library/{p-47813782.entry.js.map → p-447a6391.entry.js.map} +0 -0
  196. /package/dist/web-components-library/{p-a8609510.entry.js.map → p-869295ce.entry.js.map} +0 -0
  197. /package/dist/web-components-library/{p-771dea79.entry.js.map → p-9814f864.entry.js.map} +0 -0
  198. /package/dist/web-components-library/{p-c5d52872.entry.js.map → p-a3f9a5da.entry.js.map} +0 -0
  199. /package/dist/web-components-library/{p-8a53fefb.entry.js.map → p-b0324c7d.entry.js.map} +0 -0
  200. /package/dist/web-components-library/{p-c12f93e4.entry.js.map → p-bd76ca35.entry.js.map} +0 -0
  201. /package/dist/web-components-library/{p-5905cca0.entry.js.map → p-ec1270db.entry.js.map} +0 -0
  202. /package/dist/web-components-library/{p-55e5e53a.entry.js.map → p-f2c2ad04.entry.js.map} +0 -0
  203. /package/dist/web-components-library/{p-3ba7621b.entry.js.map → p-f7e65eb0.entry.js.map} +0 -0
  204. /package/dist/web-components-library/{p-26ed6c96.entry.js.map → p-fbce9614.entry.js.map} +0 -0
  205. /package/www/build/{p-4844c774.js.map → p-0b03b0e3.js.map} +0 -0
  206. /package/www/build/{p-19103e70.entry.js.map → p-35d73edf.entry.js.map} +0 -0
  207. /package/www/build/{p-47813782.entry.js.map → p-447a6391.entry.js.map} +0 -0
  208. /package/www/build/{p-a8609510.entry.js.map → p-869295ce.entry.js.map} +0 -0
  209. /package/www/build/{p-771dea79.entry.js.map → p-9814f864.entry.js.map} +0 -0
  210. /package/www/build/{p-c5d52872.entry.js.map → p-a3f9a5da.entry.js.map} +0 -0
  211. /package/www/build/{p-8a53fefb.entry.js.map → p-b0324c7d.entry.js.map} +0 -0
  212. /package/www/build/{p-c12f93e4.entry.js.map → p-bd76ca35.entry.js.map} +0 -0
  213. /package/www/build/{p-5905cca0.entry.js.map → p-ec1270db.entry.js.map} +0 -0
  214. /package/www/build/{p-55e5e53a.entry.js.map → p-f2c2ad04.entry.js.map} +0 -0
  215. /package/www/build/{p-3ba7621b.entry.js.map → p-f7e65eb0.entry.js.map} +0 -0
  216. /package/www/build/{p-26ed6c96.entry.js.map → p-fbce9614.entry.js.map} +0 -0
@@ -4,10 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-96af6326.js');
6
6
  const index$1 = require('./index-e30d0503.js');
7
- const utils = require('./utils-e8b453d5.js');
7
+ const utils = require('./utils-b1859d65.js');
8
8
  require('./breakpoints-8a1e87e0.js');
9
9
 
10
- const stylesCss = ".sc-z-select-h{display:inline-block;width:inherit;color:var(--color-form-default-text);font-family:var(--font-family-sans);font-size:var(--font-size-3);font-weight:var(--font-rg)}[size=\"small\"].sc-z-select-h,[size=\"x-small\"].sc-z-select-h{font-size:var(--font-size-2)}.select-wrapper.sc-z-select>z-input.sc-z-select{width:100%}.select-wrapper.sc-z-select>z-input.sc-z-select .input-icon.sc-z-select{cursor:pointer}.select-wrapper.sc-z-select>div.sc-z-select{position:relative}.select-wrapper.sc-z-select>div.closed.sc-z-select{overflow:hidden;height:0}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select{position:absolute;width:100%;box-sizing:border-box;border-top:none;background:var(--color-form-background);box-shadow:var(--shadow-2);outline:none}.select-wrapper.sc-z-select .closed.sc-z-select .ul-scroll-wrapper.sc-z-select{z-index:10}.select-wrapper.sc-z-select .open.sc-z-select .ul-scroll-wrapper.sc-z-select{z-index:20}.select-wrapper.sc-z-select .ul-scroll-wrapper.fixed.sc-z-select{position:static}.select-wrapper.sc-z-select z-list.sc-z-select{--background-color-list-element:var(--color-form-background);--background-hover-color-list-element:var(--color-surface02);--background-active-color-list-element:var(--color-surface02)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select>z-list.sc-z-select{position:relative;overflow:auto;max-height:240px;padding:var(--space-unit) calc(var(--space-unit) * 1.5);margin:0;outline:none}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element[disabled].sc-z-select{color:var(--color-form-disabled03)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select{display:flex;align-items:center;padding:calc(var(--space-unit) / 2) var(--space-unit);column-gap:var(--space-unit)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.sc-z-select{margin-right:auto}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select+.list-element-content.sc-z-select{padding:calc(var(--space-unit) * 0.5) var(--space-unit)}[size=\"x-small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.sc-z-select{padding:0}[size=\"small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select{--z-icon-width:16px;--z-icon-height:16px}[size=\"x-small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select{--z-icon-width:14px;--z-icon-height:14px}[size=\"x-small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select+.list-element-content.sc-z-select{padding:0 var(--space-unit)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.selected.sc-z-select{font-weight:var(--font-sb)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select .no-results.sc-z-select z-icon.sc-z-select{margin-right:var(--space-unit)}.z-list-group-title.sc-z-select{color:var(--color-form-default-text)}.reset-item.sc-z-select{color:var(--color-form-active-primary);fill:var(--color-form-active-primary)}.reset-item-content.sc-z-select{display:flex;align-items:center}.reset-item.reset-item-margin.sc-z-select .reset-item-content.sc-z-select{margin-left:var(--space-unit)}.reset-item.sc-z-select .reset-item-content.sc-z-select>z-icon.sc-z-select{margin-right:var(--space-unit)}.reset-item.hide.sc-z-select{display:none}.tree-list-reset-item.sc-z-select{padding:var(--space-unit) 0}z-list-element.sc-z-select{position:relative;display:block}z-list.sc-z-select z-list-element.sc-z-select::before{position:absolute;z-index:100;top:3px;left:-8px;width:8px;height:1em;border-bottom:1px solid var(--color-form-disabled01-icon);border-left:1px solid var(--color-form-disabled01-icon);content:\"\";cursor:pointer}z-list.sc-z-select z-list-element.sc-z-select::after{position:absolute;z-index:100;top:5px;left:-8px;width:8px;height:100%;border-left:1px solid var(--color-form-disabled01-icon);content:\"\";cursor:pointer}z-list.sc-z-select z-list-element.sc-z-select:last-child::after{display:none}z-list.sc-z-select>z-list-element.sc-z-select::before,z-list.sc-z-select>z-list-element.sc-z-select::after,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.sc-z-select::before,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.sc-z-select::after{display:none}z-list.sc-z-select>div.children-node.sc-z-select{padding-left:calc(var(--space-unit) * 2)}z-list-element.sc-z-select>.list-element.sc-z-select{display:flex;justify-content:space-between;padding:calc(var(--space-unit) * 1.5) var(--space-unit);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:not([disabled])>.list-element.sc-z-select:hover,z-list-element.sc-z-select:not([disabled])>.list-element.sc-z-select:hover::after{background-color:var(--background-hover-color-list-element, var(--color-background))}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:45px;content:\"\";transform:translateX(-100%)}z-list-element.tree-search-item.sc-z-select{padding-top:0}z-list-element.tree-search-item.sc-z-select .list-element.sc-z-select::after{position:absolute;right:-25px;display:block;width:100%;height:45px;content:\"\";transform:translateX(-100%)}z-list-element.grouped-tree-parent-node.sc-z-select .list-element.sc-z-select::after{position:absolute;right:-25px;display:block;width:100%;height:45px;content:\"\";transform:translateX(-100%)}.item-label.selected.sc-z-select{font-weight:bold}.item.ellipsis.sc-z-select{display:inline-block;overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}z-list.sc-z-select>z-list-element.grouped-tree-parent-node.sc-z-select>.list-element.sc-z-select:hover::after,z-list-element.tree-search-item.sc-z-select .list-element.sc-z-select:hover::after,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.grouped-tree-parent-node.sc-z-select>.list-element.sc-z-select:hover::after{position:absolute;z-index:-1;right:-18px;display:block;width:100%;height:45px;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:45px;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:-8px}.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:-8px}.children-node.sc-z-select>z-list-element.sc-z-select{padding:0}";
10
+ const stylesCss = ".sc-z-select-h{display:inline-block;width:inherit;color:var(--color-form-default-text);font-family:var(--font-family-sans);font-size:var(--font-size-3);font-weight:var(--font-rg)}[size=\"small\"].sc-z-select-h,[size=\"x-small\"].sc-z-select-h{font-size:var(--font-size-2)}.select-wrapper.sc-z-select>z-input.sc-z-select{width:100%}.select-wrapper.sc-z-select>z-input.sc-z-select .input-icon.sc-z-select{cursor:pointer}.select-wrapper.sc-z-select>div.sc-z-select{position:relative}.select-wrapper.sc-z-select>div.closed.sc-z-select{overflow:hidden;height:0}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select{position:absolute;width:100%;box-sizing:border-box;border-top:none;background:var(--color-form-background);box-shadow:var(--shadow-2);outline:none}.select-wrapper.sc-z-select .closed.sc-z-select .ul-scroll-wrapper.sc-z-select{z-index:10}.select-wrapper.sc-z-select .open.sc-z-select .ul-scroll-wrapper.sc-z-select{z-index:20}.select-wrapper.sc-z-select .ul-scroll-wrapper.fixed.sc-z-select{position:static}.select-wrapper.sc-z-select z-list.sc-z-select{--background-color-list-element:var(--color-form-background);--background-hover-color-list-element:var(--color-surface02);--background-active-color-list-element:var(--color-surface02)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select>z-list.sc-z-select{position:relative;overflow:auto;max-height:240px;padding:var(--space-unit) calc(var(--space-unit) * 1.5);margin:0;outline:none}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element[disabled].sc-z-select{color:var(--color-form-disabled03)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select{display:flex;align-items:center;padding:calc(var(--space-unit) / 2) var(--space-unit);column-gap:var(--space-unit)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.active.sc-z-select{box-shadow:var(--shadow-focus-primary)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.sc-z-select{margin-right:auto}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select+.list-element-content.sc-z-select{padding:calc(var(--space-unit) * 0.5) var(--space-unit)}[size=\"x-small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.sc-z-select{padding:0}[size=\"small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select{--z-icon-width:16px;--z-icon-height:16px}[size=\"x-small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select{--z-icon-width:14px;--z-icon-height:14px}[size=\"x-small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select+.list-element-content.sc-z-select{padding:0 var(--space-unit)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.selected.sc-z-select{font-weight:var(--font-sb)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select .no-results.sc-z-select z-icon.sc-z-select{margin-right:var(--space-unit)}.z-list-group-title.sc-z-select{color:var(--color-form-default-text)}.reset-item.sc-z-select{color:var(--color-form-active-primary);fill:var(--color-form-active-primary)}.reset-item-content.sc-z-select{display:flex;align-items:center}.reset-item.sc-z-select .reset-item-content.active.sc-z-select{box-shadow:var(--shadow-focus-primary)}.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:-8px;width:8px;height:1em;border-bottom:1px solid var(--color-form-disabled01-icon);border-left:1px solid var(--color-form-disabled01-icon);content:\"\";cursor:pointer}z-list.sc-z-select z-list-element.sc-z-select::after{position:absolute;z-index:100;top:5px;left:-8px;width:8px;height:100%;border-left:1px solid var(--color-form-disabled01-icon);content:\"\";cursor:pointer}z-list.sc-z-select z-list-element.sc-z-select:last-child::after{display:none}z-list.sc-z-select>z-list-element.sc-z-select::before,z-list.sc-z-select>z-list-element.sc-z-select::after,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.sc-z-select::before,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.sc-z-select::after{display:none}z-list.sc-z-select>div.children-node.sc-z-select{padding-left:calc(var(--space-unit) * 2)}z-list-element.sc-z-select>.list-element.sc-z-select{display:flex;justify-content:space-between;padding:calc(var(--space-unit) * 1.5) var(--space-unit);cursor:pointer}z-list-element.sc-z-select>.list-element.active.sc-z-select{box-shadow:var(--shadow-focus-primary)}z-list-element.sc-z-select:not([disabled])>.list-element.sc-z-select:hover,z-list-element.sc-z-select:not([disabled])>.list-element.sc-z-select:hover::after{background-color:var(--background-hover-color-list-element, var(--color-background))}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:45px;content:\"\";transform:translateX(-100%)}z-list-element.tree-search-item.sc-z-select{padding-top:0}z-list-element.tree-search-item.sc-z-select .list-element.sc-z-select::after{position:absolute;right:-25px;display:block;width:100%;height:45px;content:\"\";transform:translateX(-100%)}z-list-element.grouped-tree-parent-node.sc-z-select .list-element.sc-z-select::after{position:absolute;right:-25px;display:block;width:100%;height:45px;content:\"\";transform:translateX(-100%)}.item-label.selected.sc-z-select{font-weight:bold}.item.ellipsis.sc-z-select{display:inline-block;overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}z-list.sc-z-select>z-list-element.grouped-tree-parent-node.sc-z-select>.list-element.sc-z-select:hover::after,z-list-element.tree-search-item.sc-z-select .list-element.sc-z-select:hover::after,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.grouped-tree-parent-node.sc-z-select>.list-element.sc-z-select:hover::after{position:absolute;z-index:-1;right:-18px;display:block;width:100%;height:45px;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:45px;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:-8px}.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:-8px}.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 {
@@ -15,10 +15,7 @@ const ZSelect = class {
15
15
  index.registerInstance(this, hostRef);
16
16
  this.optionSelect = index.createEvent(this, "optionSelect", 7);
17
17
  this.resetSelect = index.createEvent(this, "resetSelect", 7);
18
- this.flattenedList = [];
19
18
  this.itemsList = [];
20
- this.itemIdKeyMap = {};
21
- this.resetKey = -1;
22
19
  this.htmlid = `id-${utils.randomId()}`;
23
20
  this.items = [];
24
21
  this.name = undefined;
@@ -49,9 +46,6 @@ const ZSelect = class {
49
46
  this.itemsList = this.getInitialItemsArray();
50
47
  this.selectedItem = this.findSelectedItem(this.itemsList);
51
48
  }
52
- getFocusedItemHandler(e) {
53
- this.focusedItemId = e.target.id;
54
- }
55
49
  /** get the input selected options */
56
50
  async getSelectedItem() {
57
51
  return this.selectedItem;
@@ -91,7 +85,6 @@ const ZSelect = class {
91
85
  }
92
86
  componentWillRender() {
93
87
  this.filterItems(this.searchString);
94
- this.updateFlattenedList();
95
88
  }
96
89
  getInitialItemsArray() {
97
90
  return typeof this.items === "string" ? JSON.parse(this.items) : this.items;
@@ -106,6 +99,15 @@ const ZSelect = class {
106
99
  var _a;
107
100
  return (_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.id;
108
101
  }
102
+ getOptionId(item) {
103
+ return `${this.htmlid}_key_${item.id}`;
104
+ }
105
+ getResetOptionId() {
106
+ return `${this.htmlid}_key_reset`;
107
+ }
108
+ getItemIdFromOptionId(optionId) {
109
+ return optionId.replace(`${this.htmlid}_key_`, ``);
110
+ }
109
111
  getGroupedItems() {
110
112
  if (!this.itemsList.length) {
111
113
  return [];
@@ -117,33 +119,13 @@ const ZSelect = class {
117
119
  return group;
118
120
  }, {}));
119
121
  }
120
- updateFlattenedList() {
121
- let orderedItems;
122
- if (this.hasGroupItems) {
123
- orderedItems = this.getGroupedItems()
124
- .map((item) => item[1])
125
- .flat();
126
- }
127
- else {
128
- orderedItems = this.itemsList;
129
- }
130
- this.flattenedList = this.flattenTreeItems(orderedItems);
131
- this.itemIdKeyMap = {};
132
- this.flattenedList.forEach(({ item, key }) => {
133
- this.itemIdKeyMap[item.id] = key;
134
- });
135
- }
136
- getPlainText(html) {
137
- const doc = new DOMParser().parseFromString(html, "text/html");
138
- return doc.body.textContent || "";
139
- }
140
122
  filterItems(searchString) {
141
123
  let prevList = this.mapSelectedItemToItemsArray();
142
124
  if (!(searchString === null || searchString === void 0 ? void 0 : searchString.length)) {
143
125
  this.itemsList = prevList;
144
126
  return;
145
127
  }
146
- prevList = prevList.map((item) => (Object.assign(Object.assign({}, item), { name: this.getPlainText(item.name) })));
128
+ prevList = prevList.map((item) => (Object.assign(Object.assign({}, item), { name: utils.getPlainText(item.name) })));
147
129
  if (this.hasTreeItems) {
148
130
  this.itemsList = this.filterTree(prevList, searchString, false);
149
131
  }
@@ -165,7 +147,7 @@ const ZSelect = class {
165
147
  const match = item.name.toUpperCase().includes(searchString.toUpperCase());
166
148
  const newItem = Object.assign({}, item);
167
149
  if (newItem.children && newItem.children.length > 0) {
168
- newItem.children = this.filterTree(newItem.children.map((item) => (Object.assign(Object.assign({}, item), { name: this.getPlainText(item.name) }))), searchString, match);
150
+ newItem.children = this.filterTree(newItem.children.map((item) => (Object.assign(Object.assign({}, item), { name: utils.getPlainText(item.name) }))), searchString, match);
169
151
  }
170
152
  if (match) {
171
153
  newItem.name = this.getHighlightedText(newItem.name, searchString);
@@ -239,83 +221,76 @@ const ZSelect = class {
239
221
  this.searchString = null;
240
222
  }
241
223
  }
242
- flattenTreeItems(items) {
243
- const flatItems = [];
244
- let index = 0;
245
- const flatten = (subItems, disabledAncestor) => {
246
- subItems.forEach((itm) => {
247
- const isDisabled = itm.disabled || disabledAncestor;
248
- flatItems.push({ item: Object.assign(Object.assign({}, itm), { disabled: isDisabled }), key: index++ });
249
- if (itm.children && itm.children.length > 0) {
250
- flatten(itm.children, isDisabled);
224
+ handleResetClick() {
225
+ this.selectedItem = null;
226
+ this.searchString = null;
227
+ this.focusedItemId = "";
228
+ this.emitResetSelect();
229
+ this.toggleSelectUl();
230
+ }
231
+ handleInputKeyDown(e) {
232
+ switch (e.code) {
233
+ case index$1.KeyboardCode.ENTER:
234
+ case index$1.KeyboardCode.SPACE:
235
+ if (this.focusedItemId) {
236
+ if (this.focusedItemId === this.getResetOptionId()) {
237
+ this.handleResetClick();
238
+ }
239
+ else {
240
+ const itemId = this.getItemIdFromOptionId(this.focusedItemId);
241
+ const item = this.itemsList.find((e) => e.id === itemId) || null;
242
+ if (item) {
243
+ this.selectedItem = item;
244
+ this.emitOptionSelect();
245
+ this.toggleSelectUl();
246
+ }
247
+ }
251
248
  }
252
- });
253
- };
254
- if (items) {
255
- flatten(items);
249
+ break;
250
+ case index$1.KeyboardCode.ARROW_DOWN:
251
+ case index$1.KeyboardCode.ARROW_UP:
252
+ this.arrowsSelectNav(e);
253
+ break;
256
254
  }
257
- return flatItems;
258
255
  }
259
- arrowsSelectNav(e, idOrReset) {
260
- const showResetIcon = this.resetItem && !!this.selectedItem;
256
+ arrowsSelectNav(e) {
261
257
  const arrows = [index$1.KeyboardCode.ARROW_DOWN, index$1.KeyboardCode.ARROW_UP];
262
258
  if (!arrows.includes(e.key)) {
263
259
  return;
264
260
  }
265
261
  e.preventDefault();
266
262
  e.stopPropagation();
267
- const flatItems = [...this.flattenedList].filter((f) => !f.item.disabled);
268
- if (this.resetItem && showResetIcon) {
269
- flatItems.unshift({
270
- item: { id: "__RESET_ITEM__" },
271
- key: this.resetKey,
272
- });
273
- }
274
- if (!flatItems.length) {
263
+ const currElem = this.focusedItemId ? this.host.querySelector(`#${this.focusedItemId}`) : null;
264
+ const options = Array.from(this.host.querySelectorAll('[role="option"]'));
265
+ if (!options.length) {
275
266
  return;
276
267
  }
277
- let currentIndex;
278
- if (typeof idOrReset === "number") {
279
- currentIndex = flatItems.findIndex((f) => f.key === idOrReset);
280
- }
281
- else {
282
- const k = this.itemIdKeyMap[idOrReset];
283
- currentIndex = flatItems.findIndex((f) => f.key === k);
284
- }
268
+ const currElemIndex = currElem ? options.indexOf(currElem) : null;
269
+ const firstElemIndex = 0;
270
+ const lastElemIndex = options.length - 1;
285
271
  if (!this.isOpen) {
286
272
  this.toggleSelectUl();
287
- if (currentIndex > -1) {
288
- this.focusSelectItem(flatItems[currentIndex].key);
273
+ if (this.selectedItem) {
274
+ this.focusSelectItem(this.getOptionId(this.selectedItem));
289
275
  return;
290
276
  }
291
277
  }
292
- const lastIndex = flatItems.length - 1;
293
- let newIndex = currentIndex;
294
- if (e.key === index$1.KeyboardCode.ARROW_DOWN) {
295
- do {
296
- if (newIndex === lastIndex) {
297
- return;
298
- }
299
- newIndex = newIndex + 1;
300
- } while (flatItems[newIndex].item.disabled);
278
+ let nextElem = null;
279
+ if (e.code === index$1.KeyboardCode.ARROW_DOWN) {
280
+ nextElem =
281
+ currElemIndex === null ? options[firstElemIndex] : options[currElemIndex + 1] || options[lastElemIndex];
301
282
  }
302
- else {
303
- do {
304
- if (newIndex <= 0) {
305
- return;
306
- }
307
- newIndex = newIndex - 1;
308
- } while (flatItems[newIndex].item.disabled);
283
+ else if (e.code === index$1.KeyboardCode.ARROW_UP) {
284
+ nextElem =
285
+ currElemIndex === null ? options[lastElemIndex] : options[currElemIndex - 1] || options[firstElemIndex];
309
286
  }
310
- this.focusSelectItem(flatItems[newIndex].key);
287
+ this.focusSelectItem(nextElem.id);
311
288
  }
312
- focusSelectItem(key) {
313
- const elemId = `${this.htmlid}_key_${key}`;
314
- const elem = this.host.querySelector(`#${elemId}`);
315
- if (elem) {
316
- this.focusedItemId = elemId;
317
- elem.focus();
318
- }
289
+ focusSelectItem(optionId) {
290
+ this.focusedItemId = optionId;
291
+ const elem = this.host.querySelector(`#${optionId}`);
292
+ // @ts-expect-error 'container' does not exist in type 'ScrollIntoViewOptions'
293
+ elem.scrollIntoView({ block: "nearest", container: "nearest" });
319
294
  }
320
295
  toggleSelectUl(selfFocusOnClose = false) {
321
296
  var _a;
@@ -368,35 +343,33 @@ const ZSelect = class {
368
343
  if (!this.itemsList.length) {
369
344
  return;
370
345
  }
371
- const foundItem = this.itemsList.findIndex((item) => item.name.toLowerCase().charAt(0) === letter.toLowerCase());
372
- if (foundItem > -1) {
346
+ const foundItem = this.itemsList.find((item) => item.name.toLowerCase().charAt(0) === letter.toLowerCase());
347
+ if (foundItem) {
373
348
  if (!this.isOpen) {
374
349
  this.toggleSelectUl();
375
350
  }
376
- this.focusSelectItem(this.itemIdKeyMap[this.itemsList[foundItem].id]);
351
+ this.focusSelectItem(this.getOptionId(foundItem));
377
352
  }
378
353
  }
379
354
  renderInput() {
380
- return (index.h("z-input", { class: {
381
- "active-select": this.isOpen,
382
- "cursor-select": !this.autocomplete,
383
- }, id: `${this.htmlid}_input`, htmlid: `${this.htmlid}_select_input`, placeholder: this.placeholder, value: !this.isOpen && this.selectedItem ? this.selectedItem.name.replace(/<[^>]+>/g, "") : null, label: this.label, autocomplete: "off", "aria-label": this.ariaLabel, "html-aria-expanded": this.isOpen ? "true" : "false", "html-aria-controls": `${this.htmlid}_list`, "html-aria-autocomplete": this.hasAutocomplete() ? "list" : "none", "html-aria-activedescendant": this.isOpen ? this.focusedItemId : "", icon: this.isOpen ? "caret-up" : "caret-down", hasclearicon: false, message: false, name: this.name, disabled: this.disabled, readonly: this.readonly || (!this.hasAutocomplete() && this.isOpen), status: this.isOpen ? undefined : this.status, role: "combobox", size: this.size, onClick: (e) => {
384
- this.handleInputClick(e);
385
- }, onKeyDown: (e) => {
386
- const current = this.selectedItem
387
- ? this.itemIdKeyMap[this.selectedItem.id]
388
- : this.resetItem
389
- ? this.resetKey
390
- : "";
391
- return this.arrowsSelectNav(e, current);
392
- }, onInputChange: (e) => {
393
- this.handleInputChange(e);
394
- }, onKeyPress: (e) => {
395
- if (!this.hasAutocomplete()) {
396
- e.preventDefault();
397
- this.scrollToLetter(e.key);
398
- }
399
- } }));
355
+ let value = null;
356
+ if (this.selectedItem) {
357
+ value = utils.getPlainText(this.selectedItem.name);
358
+ }
359
+ if (this.isOpen && this.searchString !== undefined) {
360
+ value = this.searchString;
361
+ }
362
+ return [
363
+ index.h("z-input", { class: {
364
+ "active-select": this.isOpen,
365
+ "cursor-select": !this.autocomplete,
366
+ }, id: `${this.htmlid}_input`, htmlid: `${this.htmlid}_select_input`, placeholder: this.placeholder, value: value, label: this.label, autocomplete: "off", "aria-label": this.ariaLabel, icon: this.isOpen ? "caret-up" : "caret-down", hasclearicon: false, message: false, name: this.name, disabled: this.disabled, readonly: this.readonly || (!this.hasAutocomplete() && this.isOpen), status: this.isOpen ? undefined : this.status, size: this.size, role: "combobox", "html-aria-expanded": this.isOpen ? "true" : "false", "html-aria-controls": `${this.htmlid}_list`, "html-aria-activedescendant": this.isOpen ? this.focusedItemId : "", "html-aria-autocomplete": this.hasAutocomplete() ? "list" : undefined, onClick: (e) => this.handleInputClick(e), onKeyDown: (e) => this.handleInputKeyDown(e), onInputChange: (e) => this.handleInputChange(e), onKeyPress: (e) => {
367
+ if (!this.hasAutocomplete()) {
368
+ e.preventDefault();
369
+ this.scrollToLetter(e.key);
370
+ }
371
+ } }),
372
+ ];
400
373
  }
401
374
  renderSelectUl() {
402
375
  return (index.h("div", { class: this.isOpen ? "open" : "closed" }, index.h("div", { class: {
@@ -410,22 +383,22 @@ const ZSelect = class {
410
383
  } }, this.resetItem && this.renderResetItem(), this.renderSelectUlItems()))));
411
384
  }
412
385
  renderResetItem() {
386
+ const hidden = !this.selectedItem || !this.resetItem;
413
387
  return (index.h("z-list-element", { class: {
414
- "hide": !this.selectedItem || !this.resetItem,
388
+ "hide": hidden,
415
389
  "reset-item": true,
416
390
  "reset-item-margin": !this.hasGroupItems,
417
- }, clickable: true, disabled: false, dividerType: index$1.ListDividerType.ELEMENT, role: "option", "html-tabindex": 0, "aria-selected": "false", id: `${this.htmlid}_key_${this.resetKey}`, size: this.hasTreeItems ? index$1.ListSize.MEDIUM : this.listSizeType(), onClickItem: () => {
418
- this.selectedItem = null;
419
- this.searchString = null;
420
- this.emitResetSelect();
421
- }, onKeyDown: (e) => this.arrowsSelectNav(e, this.resetKey) }, index.h("div", { class: {
391
+ }, clickable: true, disabled: false, dividerType: index$1.ListDividerType.ELEMENT, role: hidden ? "presentation" : "option", "html-tabindex": 0, "aria-selected": "false", "aria-label": hidden ? undefined : this.resetItem, id: this.getResetOptionId(), size: this.hasTreeItems ? index$1.ListSize.MEDIUM : this.listSizeType(), onClickItem: () => this.handleResetClick() }, index.h("div", { class: {
422
392
  "reset-item-content": true,
423
393
  "tree-list-reset-item": this.hasTreeItems,
424
- } }, index.h("z-icon", { name: "multiply-circled" }), index.h("span", null, this.resetItem))));
394
+ "active": this.focusedItemId === this.getResetOptionId(),
395
+ }, "aria-hidden": "true" }, index.h("z-icon", { name: "multiply-circled" }), index.h("span", null, this.resetItem))));
425
396
  }
426
397
  renderItem(item, lastItem) {
427
- const thisItemKey = this.itemIdKeyMap[item.id];
428
- return (index.h("z-list-element", { clickable: !item.disabled, disabled: item.disabled, dividerType: lastItem ? index$1.ListDividerType.HEADER : index$1.ListDividerType.ELEMENT, role: "option", "html-tabindex": item.disabled || !this.isOpen || this.focusedItemId !== `${this.htmlid}_key_${thisItemKey}` ? -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: {
398
+ return (index.h("z-list-element", { clickable: !item.disabled, disabled: item.disabled, dividerType: lastItem ? index$1.ListDividerType.HEADER : index$1.ListDividerType.ELEMENT, role: item.disabled ? "presentation" : "option", "html-tabindex": -1, "aria-selected": item.selected ? "true" : "false", "aria-label": item.disabled ? undefined : utils.getPlainText(item.name), id: this.getOptionId(item), size: this.listSizeType(), onClickItem: () => this.selectItem(item) }, index.h("div", { class: {
399
+ "list-element-container": true,
400
+ "active": this.focusedItemId === this.getOptionId(item),
401
+ }, "aria-hidden": "true" }, index.h("div", { class: {
429
402
  "selected": !!item.selected,
430
403
  "list-element-content": true,
431
404
  }, innerHTML: item.name }), item.icon && index.h("z-tag", { icon: item.icon }))));
@@ -460,7 +433,6 @@ const ZSelect = class {
460
433
  }
461
434
  renderTreeItems(item, isLastChild, parentHasSiblings, isTopLevel, disabledAncestor) {
462
435
  var _a, _b;
463
- const thisItemKey = this.itemIdKeyMap[item.id];
464
436
  const isDisabled = item.disabled || disabledAncestor;
465
437
  const hasDivider = this.hasGroupItems
466
438
  ? undefined
@@ -474,23 +446,17 @@ const ZSelect = class {
474
446
  return (index.h("z-list-element", { clickable: !item.disabled, disabled: isDisabled, class: {
475
447
  "grouped-tree-parent-node": this.hasGroupItems && !!((_a = item.children) === null || _a === void 0 ? void 0 : _a.length),
476
448
  "tree-search-item": this.hasGroupItems && isTopLevel && !((_b = item.children) === null || _b === void 0 ? void 0 : _b.length) && !!this.searchString,
477
- }, size: this.listSizeType(), dividerType: hasDivider, hasTreeItems: this.hasTreeItems, "html-tabindex": null }, index.h("div", { id: `${this.htmlid}_key_${thisItemKey}`, role: "option", class: "list-element", tabIndex: !this.isOpen || isDisabled || this.focusedItemId !== `${this.htmlid}_key_${thisItemKey}` ? -1 : 0, onClick: () => this.selectItem(item), onKeyDown: (e) => {
478
- this.arrowsSelectNav(e, thisItemKey);
479
- if (e.key === index$1.KeyboardCode.ENTER) {
480
- this.selectItem(item);
481
- }
482
- } }, index.h("span", { class: "item ellipsis" }, index.h("span", { class: {
449
+ }, size: this.listSizeType(), dividerType: hasDivider, hasTreeItems: this.hasTreeItems, "html-tabindex": null, role: "presentation" }, index.h("div", { id: this.getOptionId(item), role: isDisabled ? "presentation" : "option", "aria-label": isDisabled ? undefined : utils.getPlainText(item.name), class: { "list-element": true, "active": this.focusedItemId === this.getOptionId(item) }, onClick: () => this.selectItem(item) }, index.h("span", { class: "item ellipsis", "aria-hidden": "true" }, index.h("span", { class: {
483
450
  "item-label": true,
484
451
  "selected": !!item.selected,
485
- }, 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, arr.length > 1, false, // isTopLevel = false for children
452
+ }, 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", { role: "presentation" }, index.h("div", { class: "children-node" }, item.children.map((child, index, arr) => this.renderTreeItems(child, index === arr.length - 1, arr.length > 1, false, // isTopLevel = false for children
486
453
  isDisabled))))) : null));
487
454
  }
488
455
  renderGroupedTree() {
489
456
  const groupedItems = this.getGroupedItems();
490
457
  return groupedItems.map(([category, items], index$2, entries) => {
491
458
  const parentHasSiblings = Object.values(groupedItems).some((groupItems) => groupItems.length > 1);
492
- // const parentHasSiblings = items.length > 1;
493
- return (index.h("z-list-group", { "divider-type": index$2 === entries.length - 1 ? undefined : 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) => [
459
+ return (index.h("z-list-group", { "divider-type": index$2 === entries.length - 1 ? undefined : index$1.ListDividerType.ELEMENT, hasTreeItems: true, "aria-labelledby": `${this.htmlid}_tree_${index$2}` }, index.h("span", { class: "body-3-sb z-list-group-title", slot: "header-title", id: `${this.htmlid}_tree_${index$2}`, "aria-hidden": "true" }, category), index.h("z-list", { role: "presentation" }, items.map((item, i, arr) => [
494
460
  this.renderTreeItems(item, i === arr.length - 1, parentHasSiblings, true, item.disabled),
495
461
  i < arr.length - 1 ? (index.h("z-divider", { key: `divider-${i}`, style: { zIndex: "100", height: "var(--border-size-small)" } })) : null,
496
462
  ])), index$2 !== entries.length - 1 && index.h("z-divider", { style: { zIndex: "100", height: "var(--border-size-small)" } })));
@@ -500,14 +466,14 @@ const ZSelect = class {
500
466
  const groupedItems = this.getGroupedItems();
501
467
  return groupedItems.map(([key, items], index$2) => {
502
468
  const isLastGroup = groupedItems.length === index$2 + 1;
503
- return (index.h("z-list-group", { "divider-type": index$1.ListDividerType.ELEMENT }, index.h("span", { class: "body-3-sb z-list-group-title", slot: "header-title" }, key), items.map((item, subindex) => {
469
+ return (index.h("z-list-group", { "divider-type": index$1.ListDividerType.ELEMENT, "aria-labelledby": `${this.htmlid}_group_${index$2}` }, index.h("span", { class: "body-3-sb z-list-group-title", slot: "header-title", id: `${this.htmlid}_group_${index$2}`, "aria-hidden": "true" }, key), items.map((item, subindex) => {
504
470
  const isLastItem = items.length === subindex + 1;
505
471
  return this.renderItem(item, isLastGroup && isLastItem);
506
472
  })));
507
473
  });
508
474
  }
509
475
  renderNoSearchResults() {
510
- return (index.h("z-list-element", { class: "no-results", size: this.hasTreeItems ? index$1.ListSize.MEDIUM : this.listSizeType(), "html-tabindex": null }, this.noresultslabel));
476
+ return (index.h("z-list-element", { class: "no-results", size: this.hasTreeItems ? index$1.ListSize.MEDIUM : this.listSizeType(), "html-tabindex": null, role: "presentation" }, this.noresultslabel));
511
477
  }
512
478
  renderMessage() {
513
479
  if (utils.boolean(this.message) === false) {
@@ -516,7 +482,7 @@ const ZSelect = class {
516
482
  return (index.h("z-input-message", { message: utils.boolean(this.message) === true ? undefined : this.message, status: this.status, class: this.size, disabled: this.disabled }));
517
483
  }
518
484
  render() {
519
- return (index.h("div", { key: '7a00d71c47441c98748ff45d90705c0450e668af', class: "select-wrapper" }, this.renderInput(), this.renderSelectUl(), this.renderMessage()));
485
+ return (index.h("div", { key: '85aeff414269872f796631044ffcafe9e500d6e6', class: "select-wrapper" }, this.renderInput(), this.renderSelectUl(), this.renderMessage()));
520
486
  }
521
487
  get host() { return index.getElement(this); }
522
488
  static get watchers() { return {