@zanichelli/albe-web-components 19.2.1 → 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 +36 -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 +1 -1
  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
@@ -1,9 +1,9 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-c8ceadeb.js';
2
2
  import { e as ControlSize, g as KeyboardCode, l as ListDividerType, i as ListSize } from './index-106473a8.js';
3
- import { r as randomId, b as boolean, e as getElementTree, f as getClickedElement } from './utils-1b64bcd9.js';
3
+ import { r as randomId, e as getPlainText, b as boolean, f as getElementTree, i as getClickedElement } from './utils-8d6ca808.js';
4
4
  import './breakpoints-d148bfde.js';
5
5
 
6
- 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}";
6
+ 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}";
7
7
  const ZSelectStyle0 = stylesCss;
8
8
 
9
9
  const ZSelect = class {
@@ -11,10 +11,7 @@ const ZSelect = class {
11
11
  registerInstance(this, hostRef);
12
12
  this.optionSelect = createEvent(this, "optionSelect", 7);
13
13
  this.resetSelect = createEvent(this, "resetSelect", 7);
14
- this.flattenedList = [];
15
14
  this.itemsList = [];
16
- this.itemIdKeyMap = {};
17
- this.resetKey = -1;
18
15
  this.htmlid = `id-${randomId()}`;
19
16
  this.items = [];
20
17
  this.name = undefined;
@@ -45,9 +42,6 @@ const ZSelect = class {
45
42
  this.itemsList = this.getInitialItemsArray();
46
43
  this.selectedItem = this.findSelectedItem(this.itemsList);
47
44
  }
48
- getFocusedItemHandler(e) {
49
- this.focusedItemId = e.target.id;
50
- }
51
45
  /** get the input selected options */
52
46
  async getSelectedItem() {
53
47
  return this.selectedItem;
@@ -87,7 +81,6 @@ const ZSelect = class {
87
81
  }
88
82
  componentWillRender() {
89
83
  this.filterItems(this.searchString);
90
- this.updateFlattenedList();
91
84
  }
92
85
  getInitialItemsArray() {
93
86
  return typeof this.items === "string" ? JSON.parse(this.items) : this.items;
@@ -102,6 +95,15 @@ const ZSelect = class {
102
95
  var _a;
103
96
  return (_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.id;
104
97
  }
98
+ getOptionId(item) {
99
+ return `${this.htmlid}_key_${item.id}`;
100
+ }
101
+ getResetOptionId() {
102
+ return `${this.htmlid}_key_reset`;
103
+ }
104
+ getItemIdFromOptionId(optionId) {
105
+ return optionId.replace(`${this.htmlid}_key_`, ``);
106
+ }
105
107
  getGroupedItems() {
106
108
  if (!this.itemsList.length) {
107
109
  return [];
@@ -113,33 +115,13 @@ const ZSelect = class {
113
115
  return group;
114
116
  }, {}));
115
117
  }
116
- updateFlattenedList() {
117
- let orderedItems;
118
- if (this.hasGroupItems) {
119
- orderedItems = this.getGroupedItems()
120
- .map((item) => item[1])
121
- .flat();
122
- }
123
- else {
124
- orderedItems = this.itemsList;
125
- }
126
- this.flattenedList = this.flattenTreeItems(orderedItems);
127
- this.itemIdKeyMap = {};
128
- this.flattenedList.forEach(({ item, key }) => {
129
- this.itemIdKeyMap[item.id] = key;
130
- });
131
- }
132
- getPlainText(html) {
133
- const doc = new DOMParser().parseFromString(html, "text/html");
134
- return doc.body.textContent || "";
135
- }
136
118
  filterItems(searchString) {
137
119
  let prevList = this.mapSelectedItemToItemsArray();
138
120
  if (!(searchString === null || searchString === void 0 ? void 0 : searchString.length)) {
139
121
  this.itemsList = prevList;
140
122
  return;
141
123
  }
142
- prevList = prevList.map((item) => (Object.assign(Object.assign({}, item), { name: this.getPlainText(item.name) })));
124
+ prevList = prevList.map((item) => (Object.assign(Object.assign({}, item), { name: getPlainText(item.name) })));
143
125
  if (this.hasTreeItems) {
144
126
  this.itemsList = this.filterTree(prevList, searchString, false);
145
127
  }
@@ -161,7 +143,7 @@ const ZSelect = class {
161
143
  const match = item.name.toUpperCase().includes(searchString.toUpperCase());
162
144
  const newItem = Object.assign({}, item);
163
145
  if (newItem.children && newItem.children.length > 0) {
164
- newItem.children = this.filterTree(newItem.children.map((item) => (Object.assign(Object.assign({}, item), { name: this.getPlainText(item.name) }))), searchString, match);
146
+ newItem.children = this.filterTree(newItem.children.map((item) => (Object.assign(Object.assign({}, item), { name: getPlainText(item.name) }))), searchString, match);
165
147
  }
166
148
  if (match) {
167
149
  newItem.name = this.getHighlightedText(newItem.name, searchString);
@@ -235,83 +217,76 @@ const ZSelect = class {
235
217
  this.searchString = null;
236
218
  }
237
219
  }
238
- flattenTreeItems(items) {
239
- const flatItems = [];
240
- let index = 0;
241
- const flatten = (subItems, disabledAncestor) => {
242
- subItems.forEach((itm) => {
243
- const isDisabled = itm.disabled || disabledAncestor;
244
- flatItems.push({ item: Object.assign(Object.assign({}, itm), { disabled: isDisabled }), key: index++ });
245
- if (itm.children && itm.children.length > 0) {
246
- flatten(itm.children, isDisabled);
220
+ handleResetClick() {
221
+ this.selectedItem = null;
222
+ this.searchString = null;
223
+ this.focusedItemId = "";
224
+ this.emitResetSelect();
225
+ this.toggleSelectUl();
226
+ }
227
+ handleInputKeyDown(e) {
228
+ switch (e.code) {
229
+ case KeyboardCode.ENTER:
230
+ case KeyboardCode.SPACE:
231
+ if (this.focusedItemId) {
232
+ if (this.focusedItemId === this.getResetOptionId()) {
233
+ this.handleResetClick();
234
+ }
235
+ else {
236
+ const itemId = this.getItemIdFromOptionId(this.focusedItemId);
237
+ const item = this.itemsList.find((e) => e.id === itemId) || null;
238
+ if (item) {
239
+ this.selectedItem = item;
240
+ this.emitOptionSelect();
241
+ this.toggleSelectUl();
242
+ }
243
+ }
247
244
  }
248
- });
249
- };
250
- if (items) {
251
- flatten(items);
245
+ break;
246
+ case KeyboardCode.ARROW_DOWN:
247
+ case KeyboardCode.ARROW_UP:
248
+ this.arrowsSelectNav(e);
249
+ break;
252
250
  }
253
- return flatItems;
254
251
  }
255
- arrowsSelectNav(e, idOrReset) {
256
- const showResetIcon = this.resetItem && !!this.selectedItem;
252
+ arrowsSelectNav(e) {
257
253
  const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];
258
254
  if (!arrows.includes(e.key)) {
259
255
  return;
260
256
  }
261
257
  e.preventDefault();
262
258
  e.stopPropagation();
263
- const flatItems = [...this.flattenedList].filter((f) => !f.item.disabled);
264
- if (this.resetItem && showResetIcon) {
265
- flatItems.unshift({
266
- item: { id: "__RESET_ITEM__" },
267
- key: this.resetKey,
268
- });
269
- }
270
- if (!flatItems.length) {
259
+ const currElem = this.focusedItemId ? this.host.querySelector(`#${this.focusedItemId}`) : null;
260
+ const options = Array.from(this.host.querySelectorAll('[role="option"]'));
261
+ if (!options.length) {
271
262
  return;
272
263
  }
273
- let currentIndex;
274
- if (typeof idOrReset === "number") {
275
- currentIndex = flatItems.findIndex((f) => f.key === idOrReset);
276
- }
277
- else {
278
- const k = this.itemIdKeyMap[idOrReset];
279
- currentIndex = flatItems.findIndex((f) => f.key === k);
280
- }
264
+ const currElemIndex = currElem ? options.indexOf(currElem) : null;
265
+ const firstElemIndex = 0;
266
+ const lastElemIndex = options.length - 1;
281
267
  if (!this.isOpen) {
282
268
  this.toggleSelectUl();
283
- if (currentIndex > -1) {
284
- this.focusSelectItem(flatItems[currentIndex].key);
269
+ if (this.selectedItem) {
270
+ this.focusSelectItem(this.getOptionId(this.selectedItem));
285
271
  return;
286
272
  }
287
273
  }
288
- const lastIndex = flatItems.length - 1;
289
- let newIndex = currentIndex;
290
- if (e.key === KeyboardCode.ARROW_DOWN) {
291
- do {
292
- if (newIndex === lastIndex) {
293
- return;
294
- }
295
- newIndex = newIndex + 1;
296
- } while (flatItems[newIndex].item.disabled);
274
+ let nextElem = null;
275
+ if (e.code === KeyboardCode.ARROW_DOWN) {
276
+ nextElem =
277
+ currElemIndex === null ? options[firstElemIndex] : options[currElemIndex + 1] || options[lastElemIndex];
297
278
  }
298
- else {
299
- do {
300
- if (newIndex <= 0) {
301
- return;
302
- }
303
- newIndex = newIndex - 1;
304
- } while (flatItems[newIndex].item.disabled);
279
+ else if (e.code === KeyboardCode.ARROW_UP) {
280
+ nextElem =
281
+ currElemIndex === null ? options[lastElemIndex] : options[currElemIndex - 1] || options[firstElemIndex];
305
282
  }
306
- this.focusSelectItem(flatItems[newIndex].key);
283
+ this.focusSelectItem(nextElem.id);
307
284
  }
308
- focusSelectItem(key) {
309
- const elemId = `${this.htmlid}_key_${key}`;
310
- const elem = this.host.querySelector(`#${elemId}`);
311
- if (elem) {
312
- this.focusedItemId = elemId;
313
- elem.focus();
314
- }
285
+ focusSelectItem(optionId) {
286
+ this.focusedItemId = optionId;
287
+ const elem = this.host.querySelector(`#${optionId}`);
288
+ // @ts-expect-error 'container' does not exist in type 'ScrollIntoViewOptions'
289
+ elem.scrollIntoView({ block: "nearest", container: "nearest" });
315
290
  }
316
291
  toggleSelectUl(selfFocusOnClose = false) {
317
292
  var _a;
@@ -364,35 +339,33 @@ const ZSelect = class {
364
339
  if (!this.itemsList.length) {
365
340
  return;
366
341
  }
367
- const foundItem = this.itemsList.findIndex((item) => item.name.toLowerCase().charAt(0) === letter.toLowerCase());
368
- if (foundItem > -1) {
342
+ const foundItem = this.itemsList.find((item) => item.name.toLowerCase().charAt(0) === letter.toLowerCase());
343
+ if (foundItem) {
369
344
  if (!this.isOpen) {
370
345
  this.toggleSelectUl();
371
346
  }
372
- this.focusSelectItem(this.itemIdKeyMap[this.itemsList[foundItem].id]);
347
+ this.focusSelectItem(this.getOptionId(foundItem));
373
348
  }
374
349
  }
375
350
  renderInput() {
376
- return (h("z-input", { class: {
377
- "active-select": this.isOpen,
378
- "cursor-select": !this.autocomplete,
379
- }, 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) => {
380
- this.handleInputClick(e);
381
- }, onKeyDown: (e) => {
382
- const current = this.selectedItem
383
- ? this.itemIdKeyMap[this.selectedItem.id]
384
- : this.resetItem
385
- ? this.resetKey
386
- : "";
387
- return this.arrowsSelectNav(e, current);
388
- }, onInputChange: (e) => {
389
- this.handleInputChange(e);
390
- }, onKeyPress: (e) => {
391
- if (!this.hasAutocomplete()) {
392
- e.preventDefault();
393
- this.scrollToLetter(e.key);
394
- }
395
- } }));
351
+ let value = null;
352
+ if (this.selectedItem) {
353
+ value = getPlainText(this.selectedItem.name);
354
+ }
355
+ if (this.isOpen && this.searchString !== undefined) {
356
+ value = this.searchString;
357
+ }
358
+ return [
359
+ h("z-input", { class: {
360
+ "active-select": this.isOpen,
361
+ "cursor-select": !this.autocomplete,
362
+ }, 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) => {
363
+ if (!this.hasAutocomplete()) {
364
+ e.preventDefault();
365
+ this.scrollToLetter(e.key);
366
+ }
367
+ } }),
368
+ ];
396
369
  }
397
370
  renderSelectUl() {
398
371
  return (h("div", { class: this.isOpen ? "open" : "closed" }, h("div", { class: {
@@ -406,22 +379,22 @@ const ZSelect = class {
406
379
  } }, this.resetItem && this.renderResetItem(), this.renderSelectUlItems()))));
407
380
  }
408
381
  renderResetItem() {
382
+ const hidden = !this.selectedItem || !this.resetItem;
409
383
  return (h("z-list-element", { class: {
410
- "hide": !this.selectedItem || !this.resetItem,
384
+ "hide": hidden,
411
385
  "reset-item": true,
412
386
  "reset-item-margin": !this.hasGroupItems,
413
- }, clickable: true, disabled: false, dividerType: ListDividerType.ELEMENT, role: "option", "html-tabindex": 0, "aria-selected": "false", id: `${this.htmlid}_key_${this.resetKey}`, size: this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType(), onClickItem: () => {
414
- this.selectedItem = null;
415
- this.searchString = null;
416
- this.emitResetSelect();
417
- }, onKeyDown: (e) => this.arrowsSelectNav(e, this.resetKey) }, h("div", { class: {
387
+ }, clickable: true, disabled: false, dividerType: ListDividerType.ELEMENT, role: hidden ? "presentation" : "option", "html-tabindex": 0, "aria-selected": "false", "aria-label": hidden ? undefined : this.resetItem, id: this.getResetOptionId(), size: this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType(), onClickItem: () => this.handleResetClick() }, h("div", { class: {
418
388
  "reset-item-content": true,
419
389
  "tree-list-reset-item": this.hasTreeItems,
420
- } }, h("z-icon", { name: "multiply-circled" }), h("span", null, this.resetItem))));
390
+ "active": this.focusedItemId === this.getResetOptionId(),
391
+ }, "aria-hidden": "true" }, h("z-icon", { name: "multiply-circled" }), h("span", null, this.resetItem))));
421
392
  }
422
393
  renderItem(item, lastItem) {
423
- const thisItemKey = this.itemIdKeyMap[item.id];
424
- return (h("z-list-element", { clickable: !item.disabled, disabled: item.disabled, dividerType: lastItem ? ListDividerType.HEADER : 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) }, h("div", { class: "list-element-container" }, h("div", { class: {
394
+ return (h("z-list-element", { clickable: !item.disabled, disabled: item.disabled, dividerType: lastItem ? ListDividerType.HEADER : ListDividerType.ELEMENT, role: item.disabled ? "presentation" : "option", "html-tabindex": -1, "aria-selected": item.selected ? "true" : "false", "aria-label": item.disabled ? undefined : getPlainText(item.name), id: this.getOptionId(item), size: this.listSizeType(), onClickItem: () => this.selectItem(item) }, h("div", { class: {
395
+ "list-element-container": true,
396
+ "active": this.focusedItemId === this.getOptionId(item),
397
+ }, "aria-hidden": "true" }, h("div", { class: {
425
398
  "selected": !!item.selected,
426
399
  "list-element-content": true,
427
400
  }, innerHTML: item.name }), item.icon && h("z-tag", { icon: item.icon }))));
@@ -456,7 +429,6 @@ const ZSelect = class {
456
429
  }
457
430
  renderTreeItems(item, isLastChild, parentHasSiblings, isTopLevel, disabledAncestor) {
458
431
  var _a, _b;
459
- const thisItemKey = this.itemIdKeyMap[item.id];
460
432
  const isDisabled = item.disabled || disabledAncestor;
461
433
  const hasDivider = this.hasGroupItems
462
434
  ? undefined
@@ -470,23 +442,17 @@ const ZSelect = class {
470
442
  return (h("z-list-element", { clickable: !item.disabled, disabled: isDisabled, class: {
471
443
  "grouped-tree-parent-node": this.hasGroupItems && !!((_a = item.children) === null || _a === void 0 ? void 0 : _a.length),
472
444
  "tree-search-item": this.hasGroupItems && isTopLevel && !((_b = item.children) === null || _b === void 0 ? void 0 : _b.length) && !!this.searchString,
473
- }, size: this.listSizeType(), dividerType: hasDivider, hasTreeItems: this.hasTreeItems, "html-tabindex": null }, 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) => {
474
- this.arrowsSelectNav(e, thisItemKey);
475
- if (e.key === KeyboardCode.ENTER) {
476
- this.selectItem(item);
477
- }
478
- } }, h("span", { class: "item ellipsis" }, h("span", { class: {
445
+ }, size: this.listSizeType(), dividerType: hasDivider, hasTreeItems: this.hasTreeItems, "html-tabindex": null, role: "presentation" }, h("div", { id: this.getOptionId(item), role: isDisabled ? "presentation" : "option", "aria-label": isDisabled ? undefined : getPlainText(item.name), class: { "list-element": true, "active": this.focusedItemId === this.getOptionId(item) }, onClick: () => this.selectItem(item) }, h("span", { class: "item ellipsis", "aria-hidden": "true" }, h("span", { class: {
479
446
  "item-label": true,
480
447
  "selected": !!item.selected,
481
- }, title: item.name, innerHTML: item.name })), item.icon && h("z-tag", { icon: item.icon })), item.children && item.children.length > 0 ? (h("z-list", null, 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
448
+ }, title: item.name, innerHTML: item.name })), item.icon && h("z-tag", { icon: item.icon })), item.children && item.children.length > 0 ? (h("z-list", { role: "presentation" }, 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
482
449
  isDisabled))))) : null));
483
450
  }
484
451
  renderGroupedTree() {
485
452
  const groupedItems = this.getGroupedItems();
486
453
  return groupedItems.map(([category, items], index, entries) => {
487
454
  const parentHasSiblings = Object.values(groupedItems).some((groupItems) => groupItems.length > 1);
488
- // const parentHasSiblings = items.length > 1;
489
- return (h("z-list-group", { "divider-type": index === entries.length - 1 ? undefined : ListDividerType.ELEMENT, hasTreeItems: true }, h("span", { class: "body-3-sb z-list-group-title", slot: "header-title" }, category), h("z-list", null, items.map((item, i, arr) => [
455
+ return (h("z-list-group", { "divider-type": index === entries.length - 1 ? undefined : ListDividerType.ELEMENT, hasTreeItems: true, "aria-labelledby": `${this.htmlid}_tree_${index}` }, h("span", { class: "body-3-sb z-list-group-title", slot: "header-title", id: `${this.htmlid}_tree_${index}`, "aria-hidden": "true" }, category), h("z-list", { role: "presentation" }, items.map((item, i, arr) => [
490
456
  this.renderTreeItems(item, i === arr.length - 1, parentHasSiblings, true, item.disabled),
491
457
  i < arr.length - 1 ? (h("z-divider", { key: `divider-${i}`, style: { zIndex: "100", height: "var(--border-size-small)" } })) : null,
492
458
  ])), index !== entries.length - 1 && h("z-divider", { style: { zIndex: "100", height: "var(--border-size-small)" } })));
@@ -496,14 +462,14 @@ const ZSelect = class {
496
462
  const groupedItems = this.getGroupedItems();
497
463
  return groupedItems.map(([key, items], index) => {
498
464
  const isLastGroup = groupedItems.length === index + 1;
499
- return (h("z-list-group", { "divider-type": ListDividerType.ELEMENT }, h("span", { class: "body-3-sb z-list-group-title", slot: "header-title" }, key), items.map((item, subindex) => {
465
+ return (h("z-list-group", { "divider-type": ListDividerType.ELEMENT, "aria-labelledby": `${this.htmlid}_group_${index}` }, h("span", { class: "body-3-sb z-list-group-title", slot: "header-title", id: `${this.htmlid}_group_${index}`, "aria-hidden": "true" }, key), items.map((item, subindex) => {
500
466
  const isLastItem = items.length === subindex + 1;
501
467
  return this.renderItem(item, isLastGroup && isLastItem);
502
468
  })));
503
469
  });
504
470
  }
505
471
  renderNoSearchResults() {
506
- return (h("z-list-element", { class: "no-results", size: this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType(), "html-tabindex": null }, this.noresultslabel));
472
+ return (h("z-list-element", { class: "no-results", size: this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType(), "html-tabindex": null, role: "presentation" }, this.noresultslabel));
507
473
  }
508
474
  renderMessage() {
509
475
  if (boolean(this.message) === false) {
@@ -512,7 +478,7 @@ const ZSelect = class {
512
478
  return (h("z-input-message", { message: boolean(this.message) === true ? undefined : this.message, status: this.status, class: this.size, disabled: this.disabled }));
513
479
  }
514
480
  render() {
515
- return (h("div", { key: '7a00d71c47441c98748ff45d90705c0450e668af', class: "select-wrapper" }, this.renderInput(), this.renderSelectUl(), this.renderMessage()));
481
+ return (h("div", { key: '85aeff414269872f796631044ffcafe9e500d6e6', class: "select-wrapper" }, this.renderInput(), this.renderSelectUl(), this.renderMessage()));
516
482
  }
517
483
  get host() { return getElement(this); }
518
484
  static get watchers() { return {