@six-group/ui-library 0.0.0-insider.593da1a → 0.0.0-insider.5bdd528

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 (626) hide show
  1. package/dist/cjs/animation-ZgWV0fC6.js +54 -0
  2. package/dist/cjs/animation-ZgWV0fC6.js.map +1 -0
  3. package/dist/cjs/{form-control-Ditp8yHw.js → form-control-CX8QRq9v.js} +3 -3
  4. package/dist/cjs/{form-control-Ditp8yHw.js.map → form-control-CX8QRq9v.js.map} +1 -1
  5. package/dist/cjs/icon-4irykc7V.js +17 -0
  6. package/dist/cjs/icon-4irykc7V.js.map +1 -0
  7. package/dist/cjs/{index-BKTrCUjx.js → index-C8rK7OAe.js} +19 -11
  8. package/dist/{esm/index-D0Go1Zjj.js.map → cjs/index-C8rK7OAe.js.map} +1 -1
  9. package/dist/cjs/index.cjs.js +3 -0
  10. package/dist/cjs/index.cjs.js.map +1 -1
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/six-alert.cjs.entry.js +1 -1
  13. package/dist/cjs/six-avatar.cjs.entry.js +3 -3
  14. package/dist/cjs/six-badge.cjs.entry.js +3 -3
  15. package/dist/cjs/six-breadcrumbs-item.cjs.entry.js +25 -0
  16. package/dist/cjs/six-breadcrumbs-item.cjs.entry.js.map +1 -0
  17. package/dist/cjs/six-breadcrumbs-item.entry.cjs.js.map +1 -0
  18. package/dist/cjs/six-breadcrumbs.cjs.entry.js +73 -0
  19. package/dist/cjs/six-breadcrumbs.cjs.entry.js.map +1 -0
  20. package/dist/cjs/six-breadcrumbs.entry.cjs.js.map +1 -0
  21. package/dist/cjs/six-button.six-spinner.entry.cjs.js.map +1 -0
  22. package/dist/cjs/{six-button.cjs.entry.js → six-button_2.cjs.entry.js} +56 -5
  23. package/dist/cjs/six-button_2.cjs.entry.js.map +1 -0
  24. package/dist/cjs/six-card.cjs.entry.js +2 -2
  25. package/dist/cjs/six-checkbox_2.cjs.entry.js +6 -6
  26. package/dist/cjs/six-date.cjs.entry.js +39 -34
  27. package/dist/cjs/six-date.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-date.entry.cjs.js.map +1 -1
  29. package/dist/cjs/six-datepicker.cjs.entry.js +4 -4
  30. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-datepicker.entry.cjs.js.map +1 -1
  32. package/dist/cjs/six-details.cjs.entry.js +4 -4
  33. package/dist/cjs/six-dialog.cjs.entry.js +16 -10
  34. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-dialog.entry.cjs.js.map +1 -1
  36. package/dist/cjs/six-drawer.cjs.entry.js +16 -10
  37. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-drawer.entry.cjs.js.map +1 -1
  39. package/dist/cjs/six-dropdown.six-menu.entry.cjs.js.map +1 -1
  40. package/dist/cjs/six-dropdown_2.cjs.entry.js +9 -9
  41. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-error-page.cjs.entry.js +2 -2
  43. package/dist/cjs/six-error.cjs.entry.js +2 -2
  44. package/dist/cjs/six-file-list-item.cjs.entry.js +3 -3
  45. package/dist/cjs/six-file-list.cjs.entry.js +2 -2
  46. package/dist/cjs/six-file-upload.cjs.entry.js +10 -6
  47. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-file-upload.entry.cjs.js.map +1 -1
  49. package/dist/cjs/six-footer.cjs.entry.js +2 -2
  50. package/dist/cjs/six-group-label.cjs.entry.js +3 -3
  51. package/dist/cjs/six-header-dropdown-item.cjs.entry.js +3 -3
  52. package/dist/cjs/six-header-item.cjs.entry.js +2 -2
  53. package/dist/cjs/six-header-menu-button.cjs.entry.js +2 -2
  54. package/dist/cjs/six-header.cjs.entry.js +3 -3
  55. package/dist/cjs/six-icon-button.cjs.entry.js +4 -4
  56. package/dist/cjs/six-icon.cjs.entry.js +16 -7
  57. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-icon.entry.cjs.js.map +1 -1
  59. package/dist/cjs/six-input.cjs.entry.js +5 -5
  60. package/dist/cjs/six-item-picker.cjs.entry.js +1 -1
  61. package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
  62. package/dist/cjs/six-layout-grid.cjs.entry.js +2 -2
  63. package/dist/cjs/six-logo.cjs.entry.js +1 -1
  64. package/dist/cjs/six-main-container.cjs.entry.js +2 -2
  65. package/dist/cjs/six-menu-divider.cjs.entry.js +2 -2
  66. package/dist/cjs/six-menu-label.cjs.entry.js +2 -2
  67. package/dist/cjs/six-picto.cjs.entry.js +2 -2
  68. package/dist/cjs/six-progress-bar.cjs.entry.js +4 -4
  69. package/dist/cjs/six-progress-ring.cjs.entry.js +2 -2
  70. package/dist/cjs/six-radio.cjs.entry.js +3 -3
  71. package/dist/cjs/six-range.cjs.entry.js +4 -4
  72. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-range.entry.cjs.js.map +1 -1
  74. package/dist/cjs/six-rating.cjs.entry.js +126 -0
  75. package/dist/cjs/six-rating.cjs.entry.js.map +1 -0
  76. package/dist/cjs/six-rating.entry.cjs.js.map +1 -0
  77. package/dist/cjs/six-root.cjs.entry.js +2 -2
  78. package/dist/cjs/six-search-field.cjs.entry.js +2 -2
  79. package/dist/cjs/six-select.cjs.entry.js +8 -8
  80. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +1 -1
  81. package/dist/cjs/six-sidebar-item.cjs.entry.js +3 -3
  82. package/dist/cjs/six-sidebar.cjs.entry.js +3 -3
  83. package/dist/cjs/six-stage-indicator.cjs.entry.js +1 -1
  84. package/dist/cjs/six-switch.cjs.entry.js +4 -4
  85. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-switch.entry.cjs.js.map +1 -1
  87. package/dist/cjs/six-tab-group.cjs.entry.js +5 -38
  88. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-tab-group.entry.cjs.js.map +1 -1
  90. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  91. package/dist/cjs/six-tab.cjs.entry.js +5 -5
  92. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-tab.entry.cjs.js.map +1 -1
  94. package/dist/cjs/six-tag.cjs.entry.js +3 -3
  95. package/dist/cjs/six-textarea.cjs.entry.js +4 -4
  96. package/dist/cjs/six-tile.cjs.entry.js +6 -6
  97. package/dist/cjs/six-timepicker.cjs.entry.js +19 -11
  98. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-timepicker.entry.cjs.js.map +1 -1
  100. package/dist/cjs/six-tooltip.cjs.entry.js +3 -3
  101. package/dist/cjs/ui-library.cjs.js +3 -3
  102. package/dist/cjs/ui-library.cjs.js.map +1 -1
  103. package/dist/collection/collection-manifest.json +6 -3
  104. package/dist/collection/components/six-avatar/six-avatar.js +2 -2
  105. package/dist/collection/components/six-badge/six-badge.js +2 -2
  106. package/dist/collection/components/six-breadcrumbs/six-breadcrumbs.css +27 -0
  107. package/dist/collection/components/six-breadcrumbs/six-breadcrumbs.js +109 -0
  108. package/dist/collection/components/six-breadcrumbs/six-breadcrumbs.js.map +1 -0
  109. package/dist/collection/components/six-breadcrumbs-item/six-breadcrumbs-item.css +61 -0
  110. package/dist/collection/components/six-breadcrumbs-item/six-breadcrumbs-item.js +123 -0
  111. package/dist/collection/components/six-breadcrumbs-item/six-breadcrumbs-item.js.map +1 -0
  112. package/dist/collection/components/six-button/six-button.js +2 -2
  113. package/dist/collection/components/six-card/six-card.js +1 -1
  114. package/dist/collection/components/six-checkbox/six-checkbox.js +2 -2
  115. package/dist/collection/components/six-date/iso-date.js +32 -0
  116. package/dist/collection/components/six-date/iso-date.js.map +1 -1
  117. package/dist/collection/components/six-date/six-date.js +7 -34
  118. package/dist/collection/components/six-date/six-date.js.map +1 -1
  119. package/dist/collection/components/six-datepicker/six-datepicker.js +4 -4
  120. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  121. package/dist/collection/components/six-details/six-details.js +3 -3
  122. package/dist/collection/components/six-dialog/six-dialog.js +23 -17
  123. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  124. package/dist/collection/components/six-drawer/six-drawer.js +23 -17
  125. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  126. package/dist/collection/components/six-dropdown/six-dropdown.js +5 -5
  127. package/dist/collection/components/six-error/six-error.js +1 -1
  128. package/dist/collection/components/six-error-page/six-error-page.js +1 -1
  129. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  130. package/dist/collection/components/six-file-list-item/six-file-list-item.js +2 -2
  131. package/dist/collection/components/six-file-upload/six-file-upload.js +9 -5
  132. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  133. package/dist/collection/components/six-footer/six-footer.js +1 -1
  134. package/dist/collection/components/six-group-label/six-group-label.js +1 -1
  135. package/dist/collection/components/six-header/six-header.js +2 -2
  136. package/dist/collection/components/six-header-dropdown-item/six-header-dropdown-item.js +2 -2
  137. package/dist/collection/components/six-header-item/six-header-item.js +1 -1
  138. package/dist/collection/components/six-header-menu-button/six-header-menu-button.js +1 -1
  139. package/dist/collection/components/six-icon/six-icon.css +46 -29
  140. package/dist/collection/components/six-icon/six-icon.js +39 -5
  141. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  142. package/dist/collection/components/six-icon-button/six-icon-button.js +3 -3
  143. package/dist/collection/components/six-input/six-input.js +3 -3
  144. package/dist/collection/components/six-language-switcher/six-language-switcher.js +1 -1
  145. package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
  146. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  147. package/dist/collection/components/six-menu/six-menu.js +3 -3
  148. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  149. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  150. package/dist/collection/components/six-menu-item/six-menu-item.js +2 -2
  151. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  152. package/dist/collection/components/six-picto/six-picto.js +1 -1
  153. package/dist/collection/components/six-progress-bar/six-progress-bar.js +3 -3
  154. package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
  155. package/dist/collection/components/six-radio/six-radio.js +2 -2
  156. package/dist/collection/components/six-range/six-range.js +2 -2
  157. package/dist/collection/components/six-rating/six-rating.css +125 -0
  158. package/dist/collection/components/six-rating/six-rating.js +432 -0
  159. package/dist/collection/components/six-rating/six-rating.js.map +1 -0
  160. package/dist/collection/components/six-root/six-root.js +1 -1
  161. package/dist/collection/components/six-search-field/six-search-field.js +1 -1
  162. package/dist/collection/components/six-select/six-select.js +6 -6
  163. package/dist/collection/components/six-sidebar/six-sidebar.js +2 -2
  164. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +2 -2
  165. package/dist/collection/components/six-spinner/six-spinner.css +6 -20
  166. package/dist/collection/components/six-switch/six-switch.js +2 -2
  167. package/dist/collection/components/six-tab/six-tab.css +12 -0
  168. package/dist/collection/components/six-tab/six-tab.js +22 -3
  169. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  170. package/dist/collection/components/six-tab-group/six-tab-group.js +2 -2
  171. package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
  172. package/dist/collection/components/six-tag/six-tag.js +2 -2
  173. package/dist/collection/components/six-textarea/six-textarea.js +2 -2
  174. package/dist/collection/components/six-tile/six-tile.js +5 -5
  175. package/dist/collection/components/six-timepicker/six-timepicker.js +18 -10
  176. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  177. package/dist/collection/components/six-tooltip/six-tooltip.js +2 -2
  178. package/dist/collection/files/material-symbols-outlined-latin-fill-normal.woff2 +0 -0
  179. package/dist/collection/files/material-symbols-outlined-latin-full-normal.woff2 +0 -0
  180. package/dist/collection/files/material-symbols-outlined-latin-grad-normal.woff2 +0 -0
  181. package/dist/collection/files/material-symbols-outlined-latin-opsz-normal.woff2 +0 -0
  182. package/dist/collection/files/material-symbols-outlined-latin-standard-normal.woff2 +0 -0
  183. package/dist/collection/files/material-symbols-outlined-latin-wght-normal.woff2 +0 -0
  184. package/dist/collection/files/material-symbols-rounded-latin-fill-normal.woff2 +0 -0
  185. package/dist/collection/files/material-symbols-rounded-latin-full-normal.woff2 +0 -0
  186. package/dist/collection/files/material-symbols-rounded-latin-grad-normal.woff2 +0 -0
  187. package/dist/collection/files/material-symbols-rounded-latin-opsz-normal.woff2 +0 -0
  188. package/dist/collection/files/material-symbols-rounded-latin-standard-normal.woff2 +0 -0
  189. package/dist/collection/files/material-symbols-rounded-latin-wght-normal.woff2 +0 -0
  190. package/dist/collection/files/material-symbols-sharp-latin-fill-normal.woff2 +0 -0
  191. package/dist/collection/files/material-symbols-sharp-latin-full-normal.woff2 +0 -0
  192. package/dist/collection/files/material-symbols-sharp-latin-grad-normal.woff2 +0 -0
  193. package/dist/collection/files/material-symbols-sharp-latin-opsz-normal.woff2 +0 -0
  194. package/dist/collection/files/material-symbols-sharp-latin-standard-normal.woff2 +0 -0
  195. package/dist/collection/files/material-symbols-sharp-latin-wght-normal.woff2 +0 -0
  196. package/dist/collection/index.js +1 -0
  197. package/dist/collection/index.js.map +1 -1
  198. package/dist/collection/utils/animation.js +13 -0
  199. package/dist/collection/utils/animation.js.map +1 -1
  200. package/dist/collection/utils/icon.js +10 -0
  201. package/dist/collection/utils/icon.js.map +1 -0
  202. package/dist/components/index.js +8 -1
  203. package/dist/components/index.js.map +1 -1
  204. package/dist/components/{p-CpcN3YG9.js → p-BFxDUwBI.js} +4 -4
  205. package/dist/components/{p-CpcN3YG9.js.map → p-BFxDUwBI.js.map} +1 -1
  206. package/dist/components/{p-D45ehsSM.js → p-BKl-wAjt.js} +7 -7
  207. package/dist/components/{p-D45ehsSM.js.map → p-BKl-wAjt.js.map} +1 -1
  208. package/dist/components/{p-Cemjz04k.js → p-BLoBZxyR.js} +6 -6
  209. package/dist/components/p-BLoBZxyR.js.map +1 -0
  210. package/dist/components/{p-Cr6sHYme.js → p-BLocui1Z.js} +4 -4
  211. package/dist/components/{p-Cr6sHYme.js.map → p-BLocui1Z.js.map} +1 -1
  212. package/dist/components/{p-DV46ui1Q.js → p-BTKXuKvc.js} +4 -4
  213. package/dist/components/p-BTKXuKvc.js.map +1 -0
  214. package/dist/components/{p-Dl9jKaw7.js → p-C-TgkYhI.js} +9 -9
  215. package/dist/components/{p-Dl9jKaw7.js.map → p-C-TgkYhI.js.map} +1 -1
  216. package/dist/components/{p-NtUDAuW7.js → p-C6ozoFuw.js} +14 -14
  217. package/dist/components/{p-NtUDAuW7.js.map → p-C6ozoFuw.js.map} +1 -1
  218. package/dist/components/p-C84iXIFp.js +71 -0
  219. package/dist/components/p-C84iXIFp.js.map +1 -0
  220. package/dist/components/{p-DXhOme6Y.js → p-CH82uB3t.js} +4 -4
  221. package/dist/components/{p-DXhOme6Y.js.map → p-CH82uB3t.js.map} +1 -1
  222. package/dist/components/{p-eW-dQ-wI.js → p-CSfxA66i.js} +7 -7
  223. package/dist/components/{p-eW-dQ-wI.js.map → p-CSfxA66i.js.map} +1 -1
  224. package/dist/components/{p-BPRt5Z5f.js → p-CXsF3egB.js} +10 -10
  225. package/dist/components/{p-BPRt5Z5f.js.map → p-CXsF3egB.js.map} +1 -1
  226. package/dist/components/{p-BkQKlScF.js → p-C_slMKPO.js} +25 -17
  227. package/dist/components/p-C_slMKPO.js.map +1 -0
  228. package/dist/components/{p-BtF2Ym6T.js → p-D512q9rn.js} +17 -4
  229. package/dist/components/p-D512q9rn.js.map +1 -0
  230. package/dist/components/{p-BmW8cpEG.js → p-DIkvCBxr.js} +3 -3
  231. package/dist/components/{p-BmW8cpEG.js.map → p-DIkvCBxr.js.map} +1 -1
  232. package/dist/components/{p-CLtU4Br-.js → p-DQrAnsWb.js} +4 -4
  233. package/dist/components/{p-CLtU4Br-.js.map → p-DQrAnsWb.js.map} +1 -1
  234. package/dist/components/{p-DT1sZALq.js → p-DrZr0hMT.js} +7 -7
  235. package/dist/components/{p-DT1sZALq.js.map → p-DrZr0hMT.js.map} +1 -1
  236. package/dist/components/p-SLlDVtvF.js +51 -0
  237. package/dist/components/p-SLlDVtvF.js.map +1 -0
  238. package/dist/components/{p-6HRX2kde.js → p-SZP6K3B0.js} +8 -8
  239. package/dist/components/{p-6HRX2kde.js.map → p-SZP6K3B0.js.map} +1 -1
  240. package/dist/components/{p-CYrYPnLQ.js → p-jflTvJ8E.js} +5 -5
  241. package/dist/components/{p-CYrYPnLQ.js.map → p-jflTvJ8E.js.map} +1 -1
  242. package/dist/components/six-alert.js +3 -3
  243. package/dist/components/six-avatar.js +4 -4
  244. package/dist/components/six-badge.js +3 -3
  245. package/dist/components/six-breadcrumbs-item.d.ts +11 -0
  246. package/dist/components/six-breadcrumbs-item.js +58 -0
  247. package/dist/components/six-breadcrumbs-item.js.map +1 -0
  248. package/dist/components/six-breadcrumbs.d.ts +11 -0
  249. package/dist/components/six-breadcrumbs.js +97 -0
  250. package/dist/components/six-breadcrumbs.js.map +1 -0
  251. package/dist/components/six-button.js +1 -1
  252. package/dist/components/six-card.js +2 -2
  253. package/dist/components/six-checkbox.js +1 -1
  254. package/dist/components/six-date.js +43 -38
  255. package/dist/components/six-date.js.map +1 -1
  256. package/dist/components/six-datepicker.js +9 -9
  257. package/dist/components/six-datepicker.js.map +1 -1
  258. package/dist/components/six-details.js +1 -1
  259. package/dist/components/six-dialog.js +18 -12
  260. package/dist/components/six-dialog.js.map +1 -1
  261. package/dist/components/six-drawer.js +18 -12
  262. package/dist/components/six-drawer.js.map +1 -1
  263. package/dist/components/six-dropdown.js +1 -1
  264. package/dist/components/six-error-page.js +3 -3
  265. package/dist/components/six-error.js +1 -1
  266. package/dist/components/six-file-list-item.js +4 -4
  267. package/dist/components/six-file-list.js +2 -2
  268. package/dist/components/six-file-upload.js +13 -9
  269. package/dist/components/six-file-upload.js.map +1 -1
  270. package/dist/components/six-footer.js +2 -2
  271. package/dist/components/six-group-label.js +4 -4
  272. package/dist/components/six-header-dropdown-item.js +10 -10
  273. package/dist/components/six-header-item.js +2 -2
  274. package/dist/components/six-header-menu-button.js +4 -4
  275. package/dist/components/six-header.js +3 -3
  276. package/dist/components/six-icon-button.js +1 -1
  277. package/dist/components/six-icon.js +1 -1
  278. package/dist/components/six-input.js +1 -1
  279. package/dist/components/six-item-picker.js +1 -1
  280. package/dist/components/six-language-switcher.js +2 -2
  281. package/dist/components/six-layout-grid.js +2 -2
  282. package/dist/components/six-logo.js +1 -1
  283. package/dist/components/six-main-container.js +2 -2
  284. package/dist/components/six-menu-divider.js +2 -2
  285. package/dist/components/six-menu-item.js +1 -1
  286. package/dist/components/six-menu-label.js +2 -2
  287. package/dist/components/six-menu.js +1 -1
  288. package/dist/components/six-picto.js +1 -1
  289. package/dist/components/six-progress-bar.js +4 -4
  290. package/dist/components/six-progress-ring.js +2 -2
  291. package/dist/components/six-radio.js +3 -3
  292. package/dist/components/six-range.js +5 -5
  293. package/dist/components/six-range.js.map +1 -1
  294. package/dist/components/six-rating.d.ts +11 -0
  295. package/dist/components/six-rating.js +173 -0
  296. package/dist/components/six-rating.js.map +1 -0
  297. package/dist/components/six-root.js +4 -4
  298. package/dist/components/six-search-field.js +5 -5
  299. package/dist/components/six-select.js +18 -18
  300. package/dist/components/six-sidebar-item-group.js +3 -3
  301. package/dist/components/six-sidebar-item.js +4 -4
  302. package/dist/components/six-sidebar.js +3 -3
  303. package/dist/components/six-spinner.js +1 -1
  304. package/dist/components/six-stage-indicator.js +1 -1
  305. package/dist/components/six-switch.js +5 -5
  306. package/dist/components/six-switch.js.map +1 -1
  307. package/dist/components/six-tab-group.js +6 -39
  308. package/dist/components/six-tab-group.js.map +1 -1
  309. package/dist/components/six-tab-panel.js +2 -2
  310. package/dist/components/six-tab.js +8 -7
  311. package/dist/components/six-tab.js.map +1 -1
  312. package/dist/components/six-tag.js +6 -6
  313. package/dist/components/six-textarea.js +5 -5
  314. package/dist/components/six-tile.js +9 -9
  315. package/dist/components/six-timepicker.js +1 -1
  316. package/dist/components/six-tooltip.js +1 -1
  317. package/dist/components.json +3057 -650
  318. package/dist/esm/animation-SLlDVtvF.js +51 -0
  319. package/dist/esm/animation-SLlDVtvF.js.map +1 -0
  320. package/dist/esm/{form-control-D_uS8E6o.js → form-control-DI6V1ZhR.js} +3 -3
  321. package/dist/esm/{form-control-D_uS8E6o.js.map → form-control-DI6V1ZhR.js.map} +1 -1
  322. package/dist/esm/icon-DqHJRLQQ.js +14 -0
  323. package/dist/esm/icon-DqHJRLQQ.js.map +1 -0
  324. package/dist/esm/{index-D0Go1Zjj.js → index-JoG9I7EO.js} +19 -11
  325. package/dist/{cjs/index-BKTrCUjx.js.map → esm/index-JoG9I7EO.js.map} +1 -1
  326. package/dist/esm/index.js +1 -0
  327. package/dist/esm/index.js.map +1 -1
  328. package/dist/esm/loader.js +3 -3
  329. package/dist/esm/six-alert.entry.js +1 -1
  330. package/dist/esm/six-avatar.entry.js +3 -3
  331. package/dist/esm/six-badge.entry.js +3 -3
  332. package/dist/esm/six-breadcrumbs-item.entry.js +23 -0
  333. package/dist/esm/six-breadcrumbs-item.entry.js.map +1 -0
  334. package/dist/esm/six-breadcrumbs.entry.js +71 -0
  335. package/dist/esm/six-breadcrumbs.entry.js.map +1 -0
  336. package/dist/esm/six-button.six-spinner.entry.js.map +1 -0
  337. package/dist/esm/{six-button.entry.js → six-button_2.entry.js} +56 -6
  338. package/dist/esm/six-button_2.entry.js.map +1 -0
  339. package/dist/esm/six-card.entry.js +2 -2
  340. package/dist/esm/six-checkbox_2.entry.js +6 -6
  341. package/dist/esm/six-date.entry.js +39 -34
  342. package/dist/esm/six-date.entry.js.map +1 -1
  343. package/dist/esm/six-datepicker.entry.js +4 -4
  344. package/dist/esm/six-datepicker.entry.js.map +1 -1
  345. package/dist/esm/six-details.entry.js +4 -4
  346. package/dist/esm/six-dialog.entry.js +16 -10
  347. package/dist/esm/six-dialog.entry.js.map +1 -1
  348. package/dist/esm/six-drawer.entry.js +16 -10
  349. package/dist/esm/six-drawer.entry.js.map +1 -1
  350. package/dist/esm/six-dropdown.six-menu.entry.js.map +1 -1
  351. package/dist/esm/six-dropdown_2.entry.js +9 -9
  352. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  353. package/dist/esm/six-error-page.entry.js +2 -2
  354. package/dist/esm/six-error.entry.js +2 -2
  355. package/dist/esm/six-file-list-item.entry.js +3 -3
  356. package/dist/esm/six-file-list.entry.js +2 -2
  357. package/dist/esm/six-file-upload.entry.js +10 -6
  358. package/dist/esm/six-file-upload.entry.js.map +1 -1
  359. package/dist/esm/six-footer.entry.js +2 -2
  360. package/dist/esm/six-group-label.entry.js +3 -3
  361. package/dist/esm/six-header-dropdown-item.entry.js +3 -3
  362. package/dist/esm/six-header-item.entry.js +2 -2
  363. package/dist/esm/six-header-menu-button.entry.js +2 -2
  364. package/dist/esm/six-header.entry.js +3 -3
  365. package/dist/esm/six-icon-button.entry.js +4 -4
  366. package/dist/esm/six-icon.entry.js +16 -7
  367. package/dist/esm/six-icon.entry.js.map +1 -1
  368. package/dist/esm/six-input.entry.js +5 -5
  369. package/dist/esm/six-item-picker.entry.js +1 -1
  370. package/dist/esm/six-language-switcher.entry.js +2 -2
  371. package/dist/esm/six-layout-grid.entry.js +2 -2
  372. package/dist/esm/six-logo.entry.js +1 -1
  373. package/dist/esm/six-main-container.entry.js +2 -2
  374. package/dist/esm/six-menu-divider.entry.js +2 -2
  375. package/dist/esm/six-menu-label.entry.js +2 -2
  376. package/dist/esm/six-picto.entry.js +2 -2
  377. package/dist/esm/six-progress-bar.entry.js +4 -4
  378. package/dist/esm/six-progress-ring.entry.js +2 -2
  379. package/dist/esm/six-radio.entry.js +3 -3
  380. package/dist/esm/six-range.entry.js +4 -4
  381. package/dist/esm/six-range.entry.js.map +1 -1
  382. package/dist/esm/six-rating.entry.js +124 -0
  383. package/dist/esm/six-rating.entry.js.map +1 -0
  384. package/dist/esm/six-root.entry.js +2 -2
  385. package/dist/esm/six-search-field.entry.js +2 -2
  386. package/dist/esm/six-select.entry.js +8 -8
  387. package/dist/esm/six-sidebar-item-group.entry.js +1 -1
  388. package/dist/esm/six-sidebar-item.entry.js +3 -3
  389. package/dist/esm/six-sidebar.entry.js +3 -3
  390. package/dist/esm/six-stage-indicator.entry.js +1 -1
  391. package/dist/esm/six-switch.entry.js +4 -4
  392. package/dist/esm/six-switch.entry.js.map +1 -1
  393. package/dist/esm/six-tab-group.entry.js +4 -37
  394. package/dist/esm/six-tab-group.entry.js.map +1 -1
  395. package/dist/esm/six-tab-panel.entry.js +2 -2
  396. package/dist/esm/six-tab.entry.js +5 -5
  397. package/dist/esm/six-tab.entry.js.map +1 -1
  398. package/dist/esm/six-tag.entry.js +3 -3
  399. package/dist/esm/six-textarea.entry.js +4 -4
  400. package/dist/esm/six-tile.entry.js +6 -6
  401. package/dist/esm/six-timepicker.entry.js +19 -11
  402. package/dist/esm/six-timepicker.entry.js.map +1 -1
  403. package/dist/esm/six-tooltip.entry.js +3 -3
  404. package/dist/esm/ui-library.js +4 -4
  405. package/dist/esm/ui-library.js.map +1 -1
  406. package/dist/types/components/six-breadcrumbs/six-breadcrumbs.d.ts +20 -0
  407. package/dist/types/components/six-breadcrumbs-item/six-breadcrumbs-item.d.ts +27 -0
  408. package/dist/types/components/six-date/iso-date.d.ts +2 -0
  409. package/dist/types/components/six-datepicker/six-datepicker.d.ts +1 -1
  410. package/dist/types/components/six-dialog/six-dialog.d.ts +10 -2
  411. package/dist/types/components/six-drawer/six-drawer.d.ts +10 -2
  412. package/dist/types/components/six-file-upload/six-file-upload.d.ts +1 -1
  413. package/dist/types/components/six-icon/six-icon.d.ts +16 -0
  414. package/dist/types/components/six-rating/six-rating.d.ts +52 -0
  415. package/dist/types/components/six-tab/six-tab.d.ts +2 -0
  416. package/dist/types/components.d.ts +914 -10
  417. package/dist/types/index.d.ts +1 -0
  418. package/dist/types/stencil-public-runtime.d.ts +19 -0
  419. package/dist/types/types.d.ts +1 -0
  420. package/dist/types/utils/animation.d.ts +4 -0
  421. package/dist/types/utils/icon.d.ts +5 -0
  422. package/dist/ui-library/files/material-symbols-outlined-latin-fill-normal.woff2 +0 -0
  423. package/dist/ui-library/files/material-symbols-outlined-latin-full-normal.woff2 +0 -0
  424. package/dist/ui-library/files/material-symbols-outlined-latin-grad-normal.woff2 +0 -0
  425. package/dist/ui-library/files/material-symbols-outlined-latin-opsz-normal.woff2 +0 -0
  426. package/dist/ui-library/files/material-symbols-outlined-latin-standard-normal.woff2 +0 -0
  427. package/dist/ui-library/files/material-symbols-outlined-latin-wght-normal.woff2 +0 -0
  428. package/dist/ui-library/files/material-symbols-rounded-latin-fill-normal.woff2 +0 -0
  429. package/dist/ui-library/files/material-symbols-rounded-latin-full-normal.woff2 +0 -0
  430. package/dist/ui-library/files/material-symbols-rounded-latin-grad-normal.woff2 +0 -0
  431. package/dist/ui-library/files/material-symbols-rounded-latin-opsz-normal.woff2 +0 -0
  432. package/dist/ui-library/files/material-symbols-rounded-latin-standard-normal.woff2 +0 -0
  433. package/dist/ui-library/files/material-symbols-rounded-latin-wght-normal.woff2 +0 -0
  434. package/dist/ui-library/files/material-symbols-sharp-latin-fill-normal.woff2 +0 -0
  435. package/dist/ui-library/files/material-symbols-sharp-latin-full-normal.woff2 +0 -0
  436. package/dist/ui-library/files/material-symbols-sharp-latin-grad-normal.woff2 +0 -0
  437. package/dist/ui-library/files/material-symbols-sharp-latin-opsz-normal.woff2 +0 -0
  438. package/dist/ui-library/files/material-symbols-sharp-latin-standard-normal.woff2 +0 -0
  439. package/dist/ui-library/files/material-symbols-sharp-latin-wght-normal.woff2 +0 -0
  440. package/dist/ui-library/index.esm.js +1 -1
  441. package/dist/ui-library/index.esm.js.map +1 -1
  442. package/dist/ui-library/p-05ca516d.entry.js +2 -0
  443. package/dist/ui-library/{p-73b64625.entry.js → p-06c6b189.entry.js} +2 -2
  444. package/dist/ui-library/{p-4a4a0751.entry.js → p-12a2cc6b.entry.js} +2 -2
  445. package/dist/ui-library/{p-6990e5ed.entry.js → p-194037e9.entry.js} +2 -2
  446. package/dist/ui-library/{p-e91aa04b.entry.js → p-22ad3353.entry.js} +2 -2
  447. package/dist/ui-library/p-22f924a1.entry.js +2 -0
  448. package/dist/ui-library/{p-df05b23b.entry.js → p-26219330.entry.js} +2 -2
  449. package/dist/ui-library/{p-16028bce.entry.js → p-29994dc3.entry.js} +2 -2
  450. package/dist/ui-library/{p-cc44af70.entry.js → p-29aac7ea.entry.js} +2 -2
  451. package/dist/ui-library/p-29aac7ea.entry.js.map +1 -0
  452. package/dist/ui-library/{p-1e4d1252.entry.js → p-2a245a37.entry.js} +2 -2
  453. package/dist/ui-library/p-38c51fd1.entry.js +2 -0
  454. package/dist/ui-library/p-38c51fd1.entry.js.map +1 -0
  455. package/dist/ui-library/p-39109b96.entry.js +2 -0
  456. package/dist/ui-library/p-39109b96.entry.js.map +1 -0
  457. package/dist/ui-library/{p-84964501.entry.js → p-3c1285ad.entry.js} +2 -2
  458. package/dist/ui-library/{p-8fe7ecdd.entry.js → p-3d9e03b5.entry.js} +2 -2
  459. package/dist/ui-library/{p-82f5b61f.entry.js → p-4152b371.entry.js} +2 -2
  460. package/dist/ui-library/{p-81af96f2.entry.js → p-4d9785bd.entry.js} +2 -2
  461. package/dist/ui-library/p-4decf969.entry.js +2 -0
  462. package/dist/ui-library/p-4decf969.entry.js.map +1 -0
  463. package/dist/ui-library/{p-d7616f27.entry.js → p-54490d28.entry.js} +2 -2
  464. package/dist/ui-library/p-56e172e0.entry.js +2 -0
  465. package/dist/ui-library/p-56e172e0.entry.js.map +1 -0
  466. package/dist/ui-library/{p-243965b4.entry.js → p-59568c0f.entry.js} +2 -2
  467. package/dist/ui-library/{p-243965b4.entry.js.map → p-59568c0f.entry.js.map} +1 -1
  468. package/dist/ui-library/{p-ae8d75aa.entry.js → p-6607d03a.entry.js} +2 -2
  469. package/dist/ui-library/{p-baf698e1.entry.js → p-664ddbab.entry.js} +2 -2
  470. package/dist/ui-library/{p-830ed202.entry.js → p-66b94978.entry.js} +2 -2
  471. package/dist/ui-library/{p-36a316e0.entry.js → p-66d616e8.entry.js} +2 -2
  472. package/dist/ui-library/{p-1323f2cb.entry.js → p-68cb0eaa.entry.js} +2 -2
  473. package/dist/ui-library/p-68cb0eaa.entry.js.map +1 -0
  474. package/dist/ui-library/{p-5ed5842b.entry.js → p-6cd4fbd8.entry.js} +2 -2
  475. package/dist/ui-library/{p-85aacb7c.entry.js → p-6dd3f54c.entry.js} +2 -2
  476. package/dist/ui-library/{p-01306147.entry.js → p-70388108.entry.js} +2 -2
  477. package/dist/ui-library/p-72d3f332.entry.js +2 -0
  478. package/dist/ui-library/p-72d3f332.entry.js.map +1 -0
  479. package/dist/ui-library/{p-a1f7be27.entry.js → p-7f7413db.entry.js} +2 -2
  480. package/dist/ui-library/p-7f7413db.entry.js.map +1 -0
  481. package/dist/ui-library/p-83d5fa7c.entry.js +2 -0
  482. package/dist/ui-library/p-83d5fa7c.entry.js.map +1 -0
  483. package/dist/ui-library/{p-b8db5638.entry.js → p-8c2edb7f.entry.js} +2 -2
  484. package/dist/ui-library/{p-b09e3895.entry.js → p-91c195d3.entry.js} +2 -2
  485. package/dist/ui-library/{p-9f0ed997.entry.js → p-984a1f6d.entry.js} +2 -2
  486. package/dist/ui-library/{p-22ad5b1e.entry.js → p-9deca0d0.entry.js} +2 -2
  487. package/dist/ui-library/{p-IBmarOIS.js → p-Dg9366Gk.js} +2 -2
  488. package/dist/ui-library/{p-IBmarOIS.js.map → p-Dg9366Gk.js.map} +1 -1
  489. package/dist/ui-library/p-DqHJRLQQ.js +2 -0
  490. package/dist/ui-library/p-DqHJRLQQ.js.map +1 -0
  491. package/dist/ui-library/{p-D0Go1Zjj.js → p-JoG9I7EO.js} +1 -1
  492. package/dist/ui-library/{p-D0Go1Zjj.js.map → p-JoG9I7EO.js.map} +1 -1
  493. package/dist/ui-library/p-SLlDVtvF.js +2 -0
  494. package/dist/ui-library/p-SLlDVtvF.js.map +1 -0
  495. package/dist/ui-library/{p-97b78889.entry.js → p-a6d7d618.entry.js} +2 -2
  496. package/dist/ui-library/p-a7f9c92d.entry.js +2 -0
  497. package/dist/ui-library/{p-79a79513.entry.js.map → p-a7f9c92d.entry.js.map} +1 -1
  498. package/dist/ui-library/p-a9a5485a.entry.js +2 -0
  499. package/dist/ui-library/p-a9a5485a.entry.js.map +1 -0
  500. package/dist/ui-library/{p-071ed780.entry.js → p-aaea0f73.entry.js} +2 -2
  501. package/dist/ui-library/{p-c2ec443c.entry.js → p-ab043a8c.entry.js} +2 -2
  502. package/dist/ui-library/{p-1e67ac05.entry.js → p-b37d9771.entry.js} +2 -2
  503. package/dist/ui-library/{p-9713ecff.entry.js → p-bea434d1.entry.js} +2 -2
  504. package/dist/ui-library/p-bea434d1.entry.js.map +1 -0
  505. package/dist/ui-library/{p-0ae9215f.entry.js → p-cc7202c3.entry.js} +2 -2
  506. package/dist/ui-library/p-cc7202c3.entry.js.map +1 -0
  507. package/dist/ui-library/{p-ba68b30c.entry.js → p-ccc7e227.entry.js} +2 -2
  508. package/dist/ui-library/{p-f52715e8.entry.js → p-d81265f4.entry.js} +2 -2
  509. package/dist/ui-library/{p-537a8953.entry.js → p-da5f40ed.entry.js} +2 -2
  510. package/dist/ui-library/p-dc694314.entry.js +2 -0
  511. package/dist/ui-library/p-dc694314.entry.js.map +1 -0
  512. package/dist/ui-library/{p-a534a4bc.entry.js → p-df2b8f01.entry.js} +2 -2
  513. package/dist/ui-library/p-e100aff2.entry.js +2 -0
  514. package/dist/ui-library/p-e56c5237.entry.js +2 -0
  515. package/dist/ui-library/p-e56c5237.entry.js.map +1 -0
  516. package/dist/ui-library/{p-679f1e08.entry.js → p-e8e5445e.entry.js} +2 -2
  517. package/dist/ui-library/{p-68c50fb7.entry.js → p-e92df84a.entry.js} +2 -2
  518. package/dist/ui-library/{p-8d60c1fd.entry.js → p-ed6625e6.entry.js} +2 -2
  519. package/dist/ui-library/p-fc2d893f.entry.js +2 -0
  520. package/dist/ui-library/p-fcd3305f.entry.js +2 -0
  521. package/dist/ui-library/{p-0d97e592.entry.js.map → p-fcd3305f.entry.js.map} +1 -1
  522. package/dist/ui-library/p-fd97bc8a.entry.js +2 -0
  523. package/dist/ui-library/p-fd97bc8a.entry.js.map +1 -0
  524. package/dist/ui-library/{p-5ad81261.entry.js → p-fe2ef0a4.entry.js} +2 -2
  525. package/dist/ui-library/six-breadcrumbs-item.entry.esm.js.map +1 -0
  526. package/dist/ui-library/six-breadcrumbs.entry.esm.js.map +1 -0
  527. package/dist/ui-library/six-button.six-spinner.entry.esm.js.map +1 -0
  528. package/dist/ui-library/six-date.entry.esm.js.map +1 -1
  529. package/dist/ui-library/six-datepicker.entry.esm.js.map +1 -1
  530. package/dist/ui-library/six-dialog.entry.esm.js.map +1 -1
  531. package/dist/ui-library/six-drawer.entry.esm.js.map +1 -1
  532. package/dist/ui-library/six-dropdown.six-menu.entry.esm.js.map +1 -1
  533. package/dist/ui-library/six-file-upload.entry.esm.js.map +1 -1
  534. package/dist/ui-library/six-icon.entry.esm.js.map +1 -1
  535. package/dist/ui-library/six-range.entry.esm.js.map +1 -1
  536. package/dist/ui-library/six-rating.entry.esm.js.map +1 -0
  537. package/dist/ui-library/six-switch.entry.esm.js.map +1 -1
  538. package/dist/ui-library/six-tab-group.entry.esm.js.map +1 -1
  539. package/dist/ui-library/six-tab.entry.esm.js.map +1 -1
  540. package/dist/ui-library/six-timepicker.entry.esm.js.map +1 -1
  541. package/dist/ui-library/ui-library.css +1 -1
  542. package/dist/ui-library/ui-library.esm.js +1 -1
  543. package/dist/ui-library/ui-library.esm.js.map +1 -1
  544. package/package.json +11 -9
  545. package/dist/cjs/six-button.cjs.entry.js.map +0 -1
  546. package/dist/cjs/six-button.entry.cjs.js.map +0 -1
  547. package/dist/cjs/six-spinner.cjs.entry.js +0 -58
  548. package/dist/cjs/six-spinner.cjs.entry.js.map +0 -1
  549. package/dist/cjs/six-spinner.entry.cjs.js.map +0 -1
  550. package/dist/components/p-BkQKlScF.js.map +0 -1
  551. package/dist/components/p-BtF2Ym6T.js.map +0 -1
  552. package/dist/components/p-Cemjz04k.js.map +0 -1
  553. package/dist/components/p-DV46ui1Q.js.map +0 -1
  554. package/dist/components/p-Mse5vRUS.js +0 -52
  555. package/dist/components/p-Mse5vRUS.js.map +0 -1
  556. package/dist/esm/six-button.entry.js.map +0 -1
  557. package/dist/esm/six-spinner.entry.js +0 -56
  558. package/dist/esm/six-spinner.entry.js.map +0 -1
  559. package/dist/ui-library/p-0ae9215f.entry.js.map +0 -1
  560. package/dist/ui-library/p-0b438d5a.entry.js +0 -2
  561. package/dist/ui-library/p-0b438d5a.entry.js.map +0 -1
  562. package/dist/ui-library/p-0d97e592.entry.js +0 -2
  563. package/dist/ui-library/p-1323f2cb.entry.js.map +0 -1
  564. package/dist/ui-library/p-5e5bd309.entry.js +0 -2
  565. package/dist/ui-library/p-5e5bd309.entry.js.map +0 -1
  566. package/dist/ui-library/p-5e70085d.entry.js +0 -2
  567. package/dist/ui-library/p-5e70085d.entry.js.map +0 -1
  568. package/dist/ui-library/p-695e450e.entry.js +0 -2
  569. package/dist/ui-library/p-6d212bc0.entry.js +0 -2
  570. package/dist/ui-library/p-798fb03a.entry.js +0 -2
  571. package/dist/ui-library/p-798fb03a.entry.js.map +0 -1
  572. package/dist/ui-library/p-79a79513.entry.js +0 -2
  573. package/dist/ui-library/p-868fab98.entry.js +0 -2
  574. package/dist/ui-library/p-9713ecff.entry.js.map +0 -1
  575. package/dist/ui-library/p-9b1c8a24.entry.js +0 -2
  576. package/dist/ui-library/p-9b1c8a24.entry.js.map +0 -1
  577. package/dist/ui-library/p-a1f7be27.entry.js.map +0 -1
  578. package/dist/ui-library/p-cc44af70.entry.js.map +0 -1
  579. package/dist/ui-library/p-d1bd67af.entry.js +0 -2
  580. package/dist/ui-library/p-d1bd67af.entry.js.map +0 -1
  581. package/dist/ui-library/p-f0c10d20.entry.js +0 -2
  582. package/dist/ui-library/p-f0c10d20.entry.js.map +0 -1
  583. package/dist/ui-library/p-f4e2ddfc.entry.js +0 -2
  584. package/dist/ui-library/p-f585a5ab.entry.js +0 -2
  585. package/dist/ui-library/p-f585a5ab.entry.js.map +0 -1
  586. package/dist/ui-library/six-button.entry.esm.js.map +0 -1
  587. package/dist/ui-library/six-spinner.entry.esm.js.map +0 -1
  588. /package/dist/ui-library/{p-695e450e.entry.js.map → p-05ca516d.entry.js.map} +0 -0
  589. /package/dist/ui-library/{p-73b64625.entry.js.map → p-06c6b189.entry.js.map} +0 -0
  590. /package/dist/ui-library/{p-4a4a0751.entry.js.map → p-12a2cc6b.entry.js.map} +0 -0
  591. /package/dist/ui-library/{p-6990e5ed.entry.js.map → p-194037e9.entry.js.map} +0 -0
  592. /package/dist/ui-library/{p-e91aa04b.entry.js.map → p-22ad3353.entry.js.map} +0 -0
  593. /package/dist/ui-library/{p-f4e2ddfc.entry.js.map → p-22f924a1.entry.js.map} +0 -0
  594. /package/dist/ui-library/{p-df05b23b.entry.js.map → p-26219330.entry.js.map} +0 -0
  595. /package/dist/ui-library/{p-16028bce.entry.js.map → p-29994dc3.entry.js.map} +0 -0
  596. /package/dist/ui-library/{p-1e4d1252.entry.js.map → p-2a245a37.entry.js.map} +0 -0
  597. /package/dist/ui-library/{p-84964501.entry.js.map → p-3c1285ad.entry.js.map} +0 -0
  598. /package/dist/ui-library/{p-8fe7ecdd.entry.js.map → p-3d9e03b5.entry.js.map} +0 -0
  599. /package/dist/ui-library/{p-82f5b61f.entry.js.map → p-4152b371.entry.js.map} +0 -0
  600. /package/dist/ui-library/{p-81af96f2.entry.js.map → p-4d9785bd.entry.js.map} +0 -0
  601. /package/dist/ui-library/{p-d7616f27.entry.js.map → p-54490d28.entry.js.map} +0 -0
  602. /package/dist/ui-library/{p-ae8d75aa.entry.js.map → p-6607d03a.entry.js.map} +0 -0
  603. /package/dist/ui-library/{p-baf698e1.entry.js.map → p-664ddbab.entry.js.map} +0 -0
  604. /package/dist/ui-library/{p-830ed202.entry.js.map → p-66b94978.entry.js.map} +0 -0
  605. /package/dist/ui-library/{p-36a316e0.entry.js.map → p-66d616e8.entry.js.map} +0 -0
  606. /package/dist/ui-library/{p-5ed5842b.entry.js.map → p-6cd4fbd8.entry.js.map} +0 -0
  607. /package/dist/ui-library/{p-85aacb7c.entry.js.map → p-6dd3f54c.entry.js.map} +0 -0
  608. /package/dist/ui-library/{p-01306147.entry.js.map → p-70388108.entry.js.map} +0 -0
  609. /package/dist/ui-library/{p-b8db5638.entry.js.map → p-8c2edb7f.entry.js.map} +0 -0
  610. /package/dist/ui-library/{p-b09e3895.entry.js.map → p-91c195d3.entry.js.map} +0 -0
  611. /package/dist/ui-library/{p-9f0ed997.entry.js.map → p-984a1f6d.entry.js.map} +0 -0
  612. /package/dist/ui-library/{p-22ad5b1e.entry.js.map → p-9deca0d0.entry.js.map} +0 -0
  613. /package/dist/ui-library/{p-97b78889.entry.js.map → p-a6d7d618.entry.js.map} +0 -0
  614. /package/dist/ui-library/{p-071ed780.entry.js.map → p-aaea0f73.entry.js.map} +0 -0
  615. /package/dist/ui-library/{p-c2ec443c.entry.js.map → p-ab043a8c.entry.js.map} +0 -0
  616. /package/dist/ui-library/{p-1e67ac05.entry.js.map → p-b37d9771.entry.js.map} +0 -0
  617. /package/dist/ui-library/{p-ba68b30c.entry.js.map → p-ccc7e227.entry.js.map} +0 -0
  618. /package/dist/ui-library/{p-f52715e8.entry.js.map → p-d81265f4.entry.js.map} +0 -0
  619. /package/dist/ui-library/{p-537a8953.entry.js.map → p-da5f40ed.entry.js.map} +0 -0
  620. /package/dist/ui-library/{p-a534a4bc.entry.js.map → p-df2b8f01.entry.js.map} +0 -0
  621. /package/dist/ui-library/{p-6d212bc0.entry.js.map → p-e100aff2.entry.js.map} +0 -0
  622. /package/dist/ui-library/{p-679f1e08.entry.js.map → p-e8e5445e.entry.js.map} +0 -0
  623. /package/dist/ui-library/{p-68c50fb7.entry.js.map → p-e92df84a.entry.js.map} +0 -0
  624. /package/dist/ui-library/{p-8d60c1fd.entry.js.map → p-ed6625e6.entry.js.map} +0 -0
  625. /package/dist/ui-library/{p-868fab98.entry.js.map → p-fc2d893f.entry.js.map} +0 -0
  626. /package/dist/ui-library/{p-5ad81261.entry.js.map → p-fe2ef0a4.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as t,c as i,h as s,g as e}from"./p-D0Go1Zjj.js";import{P as n}from"./p-kHci8ddv.js";import{E as o}from"./p-C4h4qpGl.js";import{a as r,D as h}from"./p-CKhg9ibv.js";import{a as l}from"./p-j3oIB5oT.js";function a(t){const i=t.tabIndex;return i>-1}function d(t){if(a(t)){return t}if(t.shadowRoot!=null){const i=[...t.shadowRoot.children].find((t=>a(t)));if(i!=null){return i}}if(t.children!=null){return[...t.children].map((t=>d(t))).at(0)}return undefined}const u=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{display:inline-block}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--six-z-index-dropdown)}.dropdown__positioner__filtered{width:100%}.dropdown__panel{font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);color:var(--color);background-color:var(--six-panel-background-color);border-radius:var(--six-border-radius-medium);border:1px solid var(--six-color-web-rock-300);box-shadow:var(--six-shadow-small);opacity:0;pointer-events:none;transform:scale(0.9);transition:var(--six-transition-fast) opacity, var(--six-transition-fast) transform;max-width:90vw}.dropdown__panel__scroll{max-height:18.75rem;overflow-y:auto;overflow-x:hidden;overscroll-behavior:none}.dropdown__panel__scroll--virtual{overflow-y:hidden;overflow-x:hidden}.filter-hidden{display:none}.dropdown__positioner[data-popper-placement^=top] .dropdown__panel{transform-origin:bottom}.dropdown__positioner[data-popper-placement^=bottom] .dropdown__panel{transform-origin:top}.dropdown__positioner[data-popper-placement^=left] .dropdown__panel{transform-origin:right}.dropdown__positioner[data-popper-placement^=right] .dropdown__panel{transform-origin:left}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:none;pointer-events:all}.filter{border-bottom:1px solid var(--six-color-web-rock-300)}.filter__icon{color:var(--six-color-web-rock-600)}";let c=0;const f=class{constructor(e){t(this,e);this.sixShow=i(this,"six-dropdown-show");this.sixAfterShow=i(this,"six-dropdown-after-show");this.sixHide=i(this,"six-dropdown-hide");this.sixAfterHide=i(this,"six-dropdown-after-hide");this.sixAutoFilter=i(this,"six-dropdown-auto-filter-fired");this.sixAsyncFilterFired=i(this,"six-async-filter-fired");this.sixScroll=i(this,"six-dropdown-scroll");this.componentId=`dropdown-${++c}`;this.isVisible=false;this.resizeObserver=new ResizeObserver(r((()=>this.updatePanelPosition()),100));this.open=false;this.placement="bottom-start";this.closeOnSelect=true;this.distance=4;this.skidding=0;this.hoist=false;this.filter=false;this.asyncFilter=false;this.filterPlaceholder="Filter...";this.autofocusFilter=true;this.filterDebounce=0;this.disableHideOnEnterAndSpace=false;this.options=[];this.virtualScroll=false;this.matchTriggerWidth=false;this.eventListeners=new o;this.renderedOptions=[];this.getMenuItems=()=>{var t,i,e,n;if(this.options.length>0){return{sixMenuItems:this.renderedOptions.map((t=>s("six-menu-item",{value:t.value},t.label))),selectionContainerItems:[]}}if(this.panel==null)return{sixMenuItems:[],selectionContainerItems:[]};const o=(t=this.panelSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}).filter(m).at(0);const r=(i=this.panelSlot)===null||i===void 0?void 0:i.assignedElements({flatten:true}).filter(p).at(0);const h=(o===null||o===void 0?void 0:o.querySelectorAll("six-menu-item"))||[];let l=((e=r===null||r===void 0?void 0:r.querySelector("slot"))===null||e===void 0?void 0:e.assignedElements().filter((t=>v(t))))||[];if(l.length===0){l=Array.from(((n=r===null||r===void 0?void 0:r.shadowRoot)===null||n===void 0?void 0:n.querySelectorAll("six-menu-item"))||[])}if(h.length>0||l.length>0){return{sixMenuItems:l,selectionContainerItems:[...h]}}else{return{sixMenuItems:r?Array.from(r.querySelectorAll("six-menu-item")):[],selectionContainerItems:[]}}};this.handleDocumentKeyDown=t=>{var i;const s=t;if(s.key==="Escape"){void this.hide();this.focusOnTrigger();return}if(this.filterInputElement===((i=this.host.shadowRoot)===null||i===void 0?void 0:i.activeElement)){if(s.key==="ArrowDown"){const{sixMenuItems:t,selectionContainerItems:i}=this.getMenuItems();const s=[...i,...t].find((t=>t.style.display!=="none"));if(s!=null){s.setFocus()}}}if(s.key==="Tab"){if(this.open&&document.activeElement!=null&&v(document.activeElement)){s.preventDefault();void this.hide();this.focusOnTrigger();return}setTimeout((()=>{var t,i;const s=this.container.getRootNode()instanceof ShadowRoot?(i=(t=document.activeElement)===null||t===void 0?void 0:t.shadowRoot)===null||i===void 0?void 0:i.activeElement:document.activeElement;if((s===null||s===void 0?void 0:s.closest(this.container.tagName.toLowerCase()))!==this.container){void this.hide();return}}))}};this.handleDocumentMouseDown=t=>{const i=t.composedPath();if(!i.includes(this.container)){void this.hide();return}};this.handlePanelSelect=t=>{const i=t.target;if(this.closeOnSelect&&p(i)){void this.hide();this.focusOnTrigger()}};this.handleTriggerClick=()=>{this.open?this.hide():this.show()};this.handleTriggerKeyDown=t=>{if(t.key==="Escape"){this.focusOnTrigger();void this.hide();return}if(!this.disableHideOnEnterAndSpace&&[" ","Enter"].includes(t.key)){t.preventDefault();this.open?void this.hide():void this.show();return}const i=this.getMenu();if(["ArrowDown","ArrowUp"].includes(t.key)){t.preventDefault();if(!this.open){void this.show()}if(i==null){return}const s=[...i.querySelectorAll("six-menu-item")];const e=s.at(0);const n=s.at(s.length-1);if(t.key==="ArrowDown"&&e!=null){e.setFocus();return}if(t.key==="ArrowUp"&&n!=null){n.setFocus();return}}const s=["Tab","Shift","Meta","Ctrl","Alt"];if(this.open&&i!=null&&!s.includes(t.key)){void i.typeToSelect(t.key);return}};this.handleTriggerKeyUp=t=>{if(t.key===" "){t.preventDefault()}};this.handleTriggerSlotChange=()=>{this.updateAccessibleTrigger()};this.handleDropdownScroll=()=>{if(this.scrollPanel==null)return;this.sixScroll.emit({scrollHeight:this.scrollPanel.scrollHeight,scrollTop:this.scrollPanel.scrollTop,scrollbarHeight:this.scrollPanel.offsetHeight*(this.scrollPanel.offsetHeight/this.scrollPanel.scrollHeight),scrollRatio:this.scrollPanel.scrollTop/(this.scrollPanel.scrollHeight-this.scrollPanel.clientHeight)})}}get filterEnabled(){return this.filter||this.asyncFilter}get container(){return this.containingElement||this.host}handleOpenChange(){this.open?this.show():this.hide();this.updateAccessibleTrigger()}handlePopoverOptionsChange(){if(this.popoverHelper==null)return;this.popoverHelper.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding})}handleOptionsChange(){this.validateOptions()}validateOptions(){if(!Array.isArray(this.options)){this.options=[]}if(this.virtualScroll&&this.options.length===0){console.error("Options must be defined when using virtual scrolling")}this.renderedOptions=[...this.options]}componentWillLoad(){this.validateOptions();if(this.asyncFilter){this.filterDebounce=h}}componentDidLoad(){this.init();if(this.open){void this.show()}}connectedCallback(){this.init()}init(){this.initPopover();const t=this.filterInputElement;if(t!=null){this.eventListeners.add(t,"six-input-input",r((()=>{var i;const s=(i=t.value)!==null&&i!==void 0?i:"";if(this.filter){this.applyFilter(s)}this.emitFilterEvents(s)}),this.filterDebounce))}}applyFilter(t){var i;const s=((i=t.toLowerCase())===null||i===void 0?void 0:i.trim())||"";if(this.options.length>0){this.renderedOptions=this.options.filter((t=>{var i,e,n,o;return t.label&&((e=(i=String(t.label))===null||i===void 0?void 0:i.toLowerCase())===null||e===void 0?void 0:e.includes(s))||t.value&&((o=(n=String(t.value))===null||n===void 0?void 0:n.toLowerCase())===null||o===void 0?void 0:o.includes(s))}))}else{const{selectionContainerItems:t,sixMenuItems:i}=this.getMenuItems();const e=t.map((t=>t.value));t.forEach((async t=>{t.style.display=await w(t,s)?"unset":"none"}));i.forEach((async t=>{t.style.display=await w(t,s)&&!e.includes(t.value)?"unset":"none"}))}}resetFilter(){if(this.filterInputElement!=null){this.filterInputElement.value="";this.emitFilterEvents("")}if(this.options.length>0){this.renderedOptions=[...this.options]}else{const{selectionContainerItems:t,sixMenuItems:i}=this.getMenuItems();[...t,...i].forEach((t=>t.style.display="unset"))}}emitFilterEvents(t){if(this.filter){this.sixAutoFilter.emit({filterValue:t})}else if(this.asyncFilter){this.sixAsyncFilterFired.emit({filterValue:t})}}initPopover(){if(this.trigger==null||this.positioner==null)return;this.popoverHelper=new n(this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>{if(this.filterEnabled){this.resetFilter()}this.sixAfterHide.emit()},onAfterShow:async()=>{this.sixAfterShow.emit()},onTransitionEnd:()=>{if(!this.open&&this.scrollPanel!=null){this.scrollPanel.scrollTop=0}}})}disconnectedCallback(){var t;this.resizeObserver.disconnect();this.eventListeners.removeAll();void this.hide();(t=this.popoverHelper)===null||t===void 0?void 0:t.destroy();this.popoverHelper=undefined}async show(){if(this.isVisible||this.popoverHelper==null||this.panel==null){return}const t=this.sixShow.emit();if(t.defaultPrevented){this.open=false;return}this.eventListeners.add(this.panel,"six-menu-item-selected",this.handlePanelSelect);this.eventListeners.add(document,"keydown",this.handleDocumentKeyDown);this.eventListeners.add(document,"mousedown",this.handleDocumentMouseDown);this.isVisible=true;this.open=true;if(this.trigger!=null){this.resizeObserver.observe(this.trigger)}this.updatePanelPosition();this.popoverHelper.show();if(this.filterEnabled&&this.autofocusFilter){requestAnimationFrame((()=>{var t;(t=this.filterInputElement)===null||t===void 0?void 0:t.setFocus()}))}}updatePanelPosition(){if(!this.open){return}if(this.matchTriggerWidth&&this.trigger!=null&&this.panel!=null){const t=this.trigger.getBoundingClientRect().width;this.panel.style.minWidth=`${t}px`}if(this.popoverHelper!=null){this.popoverHelper.reposition()}}async hide(){this.resizeObserver.disconnect();if(!this.isVisible||this.panel==null||this.popoverHelper==null){return}const t=this.sixHide.emit();if(t.defaultPrevented){this.open=true;return}this.eventListeners.remove(this.panel,"six-menu-item-selected",this.handlePanelSelect);this.eventListeners.remove(document,"keydown",this.handleDocumentKeyDown);this.eventListeners.remove(document,"mousedown",this.handleDocumentMouseDown);this.isVisible=false;this.open=false;this.popoverHelper.hide()}focusOnTrigger(){var t;if(this.trigger==null)return;const i=(t=this.triggerSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}).at(0);if(i!=null){if(typeof i.setFocus==="function"){i.setFocus()}else if(typeof i.focus==="function"){i.focus()}}}getMenu(){var t;return(t=this.panelSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}).filter(p).at(0)}updateAccessibleTrigger(){var t;if(this.trigger==null)return;const i=((t=this.triggerSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}))||[];const s=i.map(d).at(0);if(s!=null){s.setAttribute("aria-haspopup","true");s.setAttribute("aria-expanded",this.open?"true":"false")}}render(){return s("div",{key:"04210ff1a4689e32c72f73ee76a94cbe9867b0de",part:"base",id:this.componentId,class:{dropdown:true,"dropdown--open":this.open}},s("span",{key:"9eb3c0e703b08734e9458b25021c0844d255ec6e",part:"trigger",class:"dropdown__trigger",ref:t=>this.trigger=t,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown,onKeyUp:this.handleTriggerKeyUp},s("slot",{key:"5cec1b43f07f830dfdebb3a71eb56f3233a539c4",name:"trigger",ref:t=>this.triggerSlot=t,onSlotchange:this.handleTriggerSlotChange})),s("div",{key:"8761367cfff9b66fdd4a7733f1c59440a507178b",ref:t=>this.positioner=t,class:{dropdown__positioner:true,dropdown__positioner__filtered:(this.filter||this.asyncFilter)&&!this.hoist}},s("div",{key:"2ab6c7166cea3892e429db21f3b56e7a81e94735",ref:t=>this.panel=t,part:"panel",class:"dropdown__panel",role:"menu","aria-hidden":this.open?"false":"true","aria-labelledby":this.componentId},this.filterEnabled&&s("six-input",{key:"f7425daad22c1a756dfda4ecefa6293ac5cdcca5",class:{filter:true,"filter-hidden":!this.open},"dropdown-search":true,"aria-hidden":this.open?"false":"true",ref:t=>this.filterInputElement=t,placeholder:this.filterPlaceholder},s("six-icon",{key:"6416f4e28bc437c18b1cff0e0a9eaa54c9aba3d5",class:"filter__icon",slot:"suffix",size:"small"},"search")),s("div",{key:"479140f2107baad72960b415bd69d9ac80bb6f64",class:{dropdown__panel__scroll:true,"dropdown__panel__scroll--virtual":this.virtualScroll},onScroll:this.handleDropdownScroll,ref:t=>this.scrollPanel=t},s("slot",{key:"539cda534eb5ef042526b66487bec3d22c89fdd7",ref:t=>this.panelSlot=t}),this.options.length>0&&s("six-menu",{key:"6294182636491e13514380d9516f904f8a9b2204",part:"menu",items:this.renderedOptions,virtualScroll:this.virtualScroll})),s("slot",{key:"9029f9f9a69d2b6fd19b36755ab9771181a7d1c6",name:"dropdown-footer"}))))}get host(){return e(this)}static get watchers(){return{open:["handleOpenChange"],distance:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"],placement:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"],options:["handleOptionsChange"],virtualScroll:["handleOptionsChange"]}}};function p(t){return(t===null||t===void 0?void 0:t.tagName.toLowerCase())==="six-menu"}function v(t){return(t===null||t===void 0?void 0:t.tagName.toLowerCase())==="six-menu-item"}function m(t){var i;return((i=t===null||t===void 0?void 0:t.getAttribute("class"))===null||i===void 0?void 0:i.includes("selection-container"))||false}async function w(t,i){return t.value.toLowerCase().includes(i)||(await t.getTextLabel()).toLowerCase().includes(i)}f.style=u;const b=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{display:block}.menu{padding:var(--six-spacing-xx-small) 0;border:none;box-shadow:var(--six-shadow-small);overflow-y:auto;overflow-x:hidden}.menu:focus{outline:none}.no-shadow{box-shadow:none}";const x=t=>{var i,s,e;return(e=(s=(i=t===null||t===void 0?void 0:t.shadowRoot)===null||i===void 0?void 0:i.querySelector(".menu-item"))===null||s===void 0?void 0:s.classList)===null||e===void 0?void 0:e.contains("menu-item--focused")};const g=t=>(t===null||t===void 0?void 0:t.tagName.toLowerCase())==="six-menu-item";const y=({value:t,label:i})=>s("six-menu-item",{key:t,value:t},i);const _=5;const k=48;const C=64;const I=class{constructor(s){t(this,s);this.sixMenuItemSelected=i(this,"six-menu-item-selected");this.eventListeners=new o;this.typeToSelectString="";this.removeBoxShadow=false;this.items=null;this.virtualScroll=false;this.itemSize=10;this.scrollingDebounce=15;this.disableKeyboardHandling=false;this.scrollingIndex=0;this.sixMenuItemHeight=this.virtualScroll?k:C;this.handleScrolling=()=>{if(this.menuWrapper==null)return;this.scrollingIndex=Math.floor(this.menuWrapper.scrollTop/this.sixMenuItemHeight)}}connectedCallback(){this.handleClick=this.handleClick.bind(this);this.handleKeyDown=this.handleKeyDown.bind(this)}componentWillLoad(){if(this.items===null){return}}componentDidLoad(){this.setupForVirtualScrollingAfterRendering()}disconnectedCallback(){this.eventListeners.removeAll()}async typeToSelect(t){var i;clearTimeout(this.typeToSelectTimeout);this.typeToSelectTimeout=setTimeout((()=>this.typeToSelectString=""),750);this.typeToSelectString+=t.toLowerCase();const s=this.getItems();for(const t of s){const s=(i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector("slot:not([name])");const e=l(s).toLowerCase().trim();if(e.substring(0,this.typeToSelectString.length)===this.typeToSelectString){t.setFocus();break}}}getItemsShown(){var t;const i=this.virtualScroll?_:0;if(this.items&&this.items.length===1){return 0}return(t=this.itemsShown)!==null&&t!==void 0?t:i}setupForVirtualScrollingAfterRendering(){var t,i;if(!this.virtualScroll||this.menuWrapper==null)return;this.eventListeners.add(this.menuWrapper,"scroll",r(this.handleScrolling,this.scrollingDebounce));const s=(i=(t=this.menu)===null||t===void 0?void 0:t.querySelector("six-menu-item"))===null||i===void 0?void 0:i.clientHeight;if(s!=null&&s>0){this.sixMenuItemHeight=s}}getItems(){if(this.menu==null)return[];if(this.items!=null){return this.items.map(y)}const t=this.menu.querySelector("slot");if(t==null)return[];return[...t.assignedElements({flatten:true})].filter((t=>g(t)&&!t.disabled))}getActiveItemIndex(){const t=this.getItems();const i=this.getActiveItem();if(i!=null){const s=t.indexOf(i);if(s>-1){return s}}const s=this.extractItemsFromDOM();return s.findIndex(x)}getActiveItem(){var t;const i=this.getItems().find((t=>t===document.activeElement));if(i!=null){return i}return(t=this.extractItemsFromDOM())===null||t===void 0?void 0:t.find(x)}extractItemsFromDOM(){var t,i;return Array.from((i=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll("six-menu-item"))!==null&&i!==void 0?i:[])}setActiveItem(t){t===null||t===void 0?void 0:t.setFocus()}handleClick(t){const i=t.target;const s=i.closest("six-menu-item");if(s&&!s.disabled){this.sixMenuItemSelected.emit({name:s.value,item:s})}}handleKeyDown(t){if(this.disableKeyboardHandling){return}if(t.key==="Enter"){const i=this.getActiveItem();t.preventDefault();if(i!=null){this.sixMenuItemSelected.emit({name:i.value,item:i})}}if(t.key===" "){t.preventDefault()}if(["ArrowDown","ArrowUp","Home","End"].includes(t.key)){const i=this.items===null?this.getItems():this.extractItemsFromDOM();let s=this.getActiveItemIndex();if(i.length>0){t.preventDefault();if(t.key==="ArrowDown"){s++}else if(t.key==="ArrowUp"){s--}else if(t.key==="Home"){s=0}else if(t.key==="End"){s=i.length-1}if(s<0)s=0;if(s>i.length-1)s=i.length-1;this.setActiveItem(i[s]);return}}void this.typeToSelect(t.key)}getMenuWrapperStyle(){var t;const i={};if(this.getItemsShown()>0){i.height=`${((t=this.getItemsShown())!==null&&t!==void 0?t:0)*this.sixMenuItemHeight}px`}else if(this.items&&this.items.length===1){i.height="auto"}return Object.assign({},i)}getMenuContainerStyle(){const t={};if(this.virtualScroll){t.transform=`translateY(${this.sixMenuItemHeight*this.scrollingIndex}px)`}return Object.assign({},t)}getScrollbarGhostStyle(){const t={};if(this.virtualScroll&&this.items!==null&&this.items.length>1){t.height=`${this.items.length*this.sixMenuItemHeight-this.itemSize*this.sixMenuItemHeight}px`}return Object.assign({},t)}renderItems(){if(this.items===undefined||this.items===null){return}if(!this.virtualScroll){return this.items.map(y)}return this.items.slice(this.scrollingIndex,Math.min(this.items.length,this.itemSize+this.scrollingIndex)).map((({value:t,label:i})=>s("six-menu-item",{checkType:"check",key:t,value:t},i)))}render(){return s("div",{key:"a346d393b279517ec252289e173e1d2e1ac82147",ref:t=>this.menuWrapper=t,style:this.getMenuWrapperStyle(),part:"wrapper",class:{menu:true,".no-shadow":this.removeBoxShadow}},s("div",{key:"eeca9d33ecede486adc958510b2bc7028517a79a",ref:t=>this.menu=t,part:"base",role:"menu",onClick:this.handleClick,onKeyDown:this.handleKeyDown,tabIndex:0,style:this.getMenuContainerStyle()},s("slot",{key:"c46d98b34ddaec7d041ee2ad4aa40a048a93cc80"}),this.renderItems()),this.virtualScroll&&s("div",{key:"535cf4f968da60291f420da2722fc1692c0c064a",style:this.getScrollbarGhostStyle()}))}get host(){return e(this)}};I.style=b;export{f as six_dropdown,I as six_menu};
2
- //# sourceMappingURL=p-243965b4.entry.js.map
1
+ import{r as t,c as i,h as s,g as e}from"./p-JoG9I7EO.js";import{P as n}from"./p-kHci8ddv.js";import{E as o}from"./p-C4h4qpGl.js";import{a as r,D as h}from"./p-CKhg9ibv.js";import{a as l}from"./p-j3oIB5oT.js";function a(t){const i=t.tabIndex;return i>-1}function d(t){if(a(t)){return t}if(t.shadowRoot!=null){const i=[...t.shadowRoot.children].find((t=>a(t)));if(i!=null){return i}}if(t.children!=null){return[...t.children].map((t=>d(t))).at(0)}return undefined}const u=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{display:inline-block}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--six-z-index-dropdown)}.dropdown__positioner__filtered{width:100%}.dropdown__panel{font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);color:var(--color);background-color:var(--six-panel-background-color);border-radius:var(--six-border-radius-medium);border:1px solid var(--six-color-web-rock-300);box-shadow:var(--six-shadow-small);opacity:0;pointer-events:none;transform:scale(0.9);transition:var(--six-transition-fast) opacity, var(--six-transition-fast) transform;max-width:90vw}.dropdown__panel__scroll{max-height:18.75rem;overflow-y:auto;overflow-x:hidden;overscroll-behavior:none}.dropdown__panel__scroll--virtual{overflow-y:hidden;overflow-x:hidden}.filter-hidden{display:none}.dropdown__positioner[data-popper-placement^=top] .dropdown__panel{transform-origin:bottom}.dropdown__positioner[data-popper-placement^=bottom] .dropdown__panel{transform-origin:top}.dropdown__positioner[data-popper-placement^=left] .dropdown__panel{transform-origin:right}.dropdown__positioner[data-popper-placement^=right] .dropdown__panel{transform-origin:left}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:none;pointer-events:all}.filter{border-bottom:1px solid var(--six-color-web-rock-300)}.filter__icon{color:var(--six-color-web-rock-600)}";let c=0;const f=class{constructor(e){t(this,e);this.sixShow=i(this,"six-dropdown-show");this.sixAfterShow=i(this,"six-dropdown-after-show");this.sixHide=i(this,"six-dropdown-hide");this.sixAfterHide=i(this,"six-dropdown-after-hide");this.sixAutoFilter=i(this,"six-dropdown-auto-filter-fired");this.sixAsyncFilterFired=i(this,"six-async-filter-fired");this.sixScroll=i(this,"six-dropdown-scroll");this.componentId=`dropdown-${++c}`;this.isVisible=false;this.resizeObserver=new ResizeObserver(r((()=>this.updatePanelPosition()),100));this.open=false;this.placement="bottom-start";this.closeOnSelect=true;this.distance=4;this.skidding=0;this.hoist=false;this.filter=false;this.asyncFilter=false;this.filterPlaceholder="Filter...";this.autofocusFilter=true;this.filterDebounce=0;this.disableHideOnEnterAndSpace=false;this.options=[];this.virtualScroll=false;this.matchTriggerWidth=false;this.eventListeners=new o;this.renderedOptions=[];this.getMenuItems=()=>{var t,i,e,n;if(this.options.length>0){return{sixMenuItems:this.renderedOptions.map((t=>s("six-menu-item",{value:t.value},t.label))),selectionContainerItems:[]}}if(this.panel==null)return{sixMenuItems:[],selectionContainerItems:[]};const o=(t=this.panelSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}).filter(m).at(0);const r=(i=this.panelSlot)===null||i===void 0?void 0:i.assignedElements({flatten:true}).filter(p).at(0);const h=(o===null||o===void 0?void 0:o.querySelectorAll("six-menu-item"))||[];let l=((e=r===null||r===void 0?void 0:r.querySelector("slot"))===null||e===void 0?void 0:e.assignedElements().filter((t=>v(t))))||[];if(l.length===0){l=Array.from(((n=r===null||r===void 0?void 0:r.shadowRoot)===null||n===void 0?void 0:n.querySelectorAll("six-menu-item"))||[])}if(h.length>0||l.length>0){return{sixMenuItems:l,selectionContainerItems:[...h]}}else{return{sixMenuItems:r?Array.from(r.querySelectorAll("six-menu-item")):[],selectionContainerItems:[]}}};this.handleDocumentKeyDown=t=>{var i;const s=t;if(s.key==="Escape"){void this.hide();this.focusOnTrigger();return}if(this.filterInputElement===((i=this.host.shadowRoot)===null||i===void 0?void 0:i.activeElement)){if(s.key==="ArrowDown"){const{sixMenuItems:t,selectionContainerItems:i}=this.getMenuItems();const s=[...i,...t].find((t=>t.style.display!=="none"));if(s!=null){s.setFocus()}}}if(s.key==="Tab"){if(this.open&&document.activeElement!=null&&v(document.activeElement)){s.preventDefault();void this.hide();this.focusOnTrigger();return}setTimeout((()=>{var t,i;const s=this.container.getRootNode()instanceof ShadowRoot?(i=(t=document.activeElement)===null||t===void 0?void 0:t.shadowRoot)===null||i===void 0?void 0:i.activeElement:document.activeElement;if((s===null||s===void 0?void 0:s.closest(this.container.tagName.toLowerCase()))!==this.container){void this.hide();return}}))}};this.handleDocumentMouseDown=t=>{const i=t.composedPath();if(!i.includes(this.container)){void this.hide();return}};this.handlePanelSelect=t=>{const i=t.target;if(this.closeOnSelect&&p(i)){void this.hide();this.focusOnTrigger()}};this.handleTriggerClick=()=>{this.open?this.hide():this.show()};this.handleTriggerKeyDown=t=>{if(t.key==="Escape"){this.focusOnTrigger();void this.hide();return}if(!this.disableHideOnEnterAndSpace&&[" ","Enter"].includes(t.key)){t.preventDefault();this.open?void this.hide():void this.show();return}const i=this.getMenu();if(["ArrowDown","ArrowUp"].includes(t.key)){t.preventDefault();if(!this.open){void this.show()}if(i==null){return}const s=[...i.querySelectorAll("six-menu-item")];const e=s.at(0);const n=s.at(s.length-1);if(t.key==="ArrowDown"&&e!=null){e.setFocus();return}if(t.key==="ArrowUp"&&n!=null){n.setFocus();return}}const s=["Tab","Shift","Meta","Ctrl","Alt"];if(this.open&&i!=null&&!s.includes(t.key)){void i.typeToSelect(t.key);return}};this.handleTriggerKeyUp=t=>{if(t.key===" "){t.preventDefault()}};this.handleTriggerSlotChange=()=>{this.updateAccessibleTrigger()};this.handleDropdownScroll=()=>{if(this.scrollPanel==null)return;this.sixScroll.emit({scrollHeight:this.scrollPanel.scrollHeight,scrollTop:this.scrollPanel.scrollTop,scrollbarHeight:this.scrollPanel.offsetHeight*(this.scrollPanel.offsetHeight/this.scrollPanel.scrollHeight),scrollRatio:this.scrollPanel.scrollTop/(this.scrollPanel.scrollHeight-this.scrollPanel.clientHeight)})}}get filterEnabled(){return this.filter||this.asyncFilter}get container(){return this.containingElement||this.host}handleOpenChange(){this.open?this.show():this.hide();this.updateAccessibleTrigger()}handlePopoverOptionsChange(){if(this.popoverHelper==null)return;this.popoverHelper.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding})}handleOptionsChange(){this.validateOptions()}validateOptions(){if(!Array.isArray(this.options)){this.options=[]}if(this.virtualScroll&&this.options.length===0){console.error("Options must be defined when using virtual scrolling")}this.renderedOptions=[...this.options]}componentWillLoad(){this.validateOptions();if(this.asyncFilter){this.filterDebounce=h}}componentDidLoad(){this.init();if(this.open){void this.show()}}connectedCallback(){this.init()}init(){this.initPopover();const t=this.filterInputElement;if(t!=null){this.eventListeners.add(t,"six-input-input",r((()=>{var i;const s=(i=t.value)!==null&&i!==void 0?i:"";if(this.filter){this.applyFilter(s)}this.emitFilterEvents(s)}),this.filterDebounce))}}applyFilter(t){var i;const s=((i=t.toLowerCase())===null||i===void 0?void 0:i.trim())||"";if(this.options.length>0){this.renderedOptions=this.options.filter((t=>{var i,e,n,o;return t.label&&((e=(i=String(t.label))===null||i===void 0?void 0:i.toLowerCase())===null||e===void 0?void 0:e.includes(s))||t.value&&((o=(n=String(t.value))===null||n===void 0?void 0:n.toLowerCase())===null||o===void 0?void 0:o.includes(s))}))}else{const{selectionContainerItems:t,sixMenuItems:i}=this.getMenuItems();const e=t.map((t=>t.value));t.forEach((async t=>{t.style.display=await b(t,s)?"unset":"none"}));i.forEach((async t=>{t.style.display=await b(t,s)&&!e.includes(t.value)?"unset":"none"}))}}resetFilter(){if(this.filterInputElement!=null){this.filterInputElement.value="";this.emitFilterEvents("")}if(this.options.length>0){this.renderedOptions=[...this.options]}else{const{selectionContainerItems:t,sixMenuItems:i}=this.getMenuItems();[...t,...i].forEach((t=>t.style.display="unset"))}}emitFilterEvents(t){if(this.filter){this.sixAutoFilter.emit({filterValue:t})}else if(this.asyncFilter){this.sixAsyncFilterFired.emit({filterValue:t})}}initPopover(){if(this.trigger==null||this.positioner==null)return;this.popoverHelper=new n(this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>{if(this.filterEnabled){this.resetFilter()}this.sixAfterHide.emit()},onAfterShow:async()=>{this.sixAfterShow.emit()},onTransitionEnd:()=>{if(!this.open&&this.scrollPanel!=null){this.scrollPanel.scrollTop=0}}})}disconnectedCallback(){var t;this.resizeObserver.disconnect();this.eventListeners.removeAll();void this.hide();(t=this.popoverHelper)===null||t===void 0?void 0:t.destroy();this.popoverHelper=undefined}async show(){if(this.isVisible||this.popoverHelper==null||this.panel==null){return}const t=this.sixShow.emit();if(t.defaultPrevented){this.open=false;return}this.eventListeners.add(this.panel,"six-menu-item-selected",this.handlePanelSelect);this.eventListeners.add(document,"keydown",this.handleDocumentKeyDown);this.eventListeners.add(document,"mousedown",this.handleDocumentMouseDown);this.isVisible=true;this.open=true;if(this.trigger!=null){this.resizeObserver.observe(this.trigger)}this.updatePanelPosition();this.popoverHelper.show();if(this.filterEnabled&&this.autofocusFilter){requestAnimationFrame((()=>{var t;(t=this.filterInputElement)===null||t===void 0?void 0:t.setFocus()}))}}updatePanelPosition(){if(!this.open){return}if(this.matchTriggerWidth&&this.trigger!=null&&this.panel!=null){const t=this.trigger.getBoundingClientRect().width;this.panel.style.minWidth=`${t}px`}if(this.popoverHelper!=null){this.popoverHelper.reposition()}}async hide(){this.resizeObserver.disconnect();if(!this.isVisible||this.panel==null||this.popoverHelper==null){return}const t=this.sixHide.emit();if(t.defaultPrevented){this.open=true;return}this.eventListeners.remove(this.panel,"six-menu-item-selected",this.handlePanelSelect);this.eventListeners.remove(document,"keydown",this.handleDocumentKeyDown);this.eventListeners.remove(document,"mousedown",this.handleDocumentMouseDown);this.isVisible=false;this.open=false;this.popoverHelper.hide()}focusOnTrigger(){var t;if(this.trigger==null)return;const i=(t=this.triggerSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}).at(0);if(i!=null){if(typeof i.setFocus==="function"){i.setFocus()}else if(typeof i.focus==="function"){i.focus()}}}getMenu(){var t;return(t=this.panelSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}).filter(p).at(0)}updateAccessibleTrigger(){var t;if(this.trigger==null)return;const i=((t=this.triggerSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}))||[];const s=i.map(d).at(0);if(s!=null){s.setAttribute("aria-haspopup","true");s.setAttribute("aria-expanded",this.open?"true":"false")}}render(){return s("div",{key:"46305375a199fb17ae66ca3b6678634844d0b8a2",part:"base",id:this.componentId,class:{dropdown:true,"dropdown--open":this.open}},s("span",{key:"2a53d2cf2b75607614f39675cabfe1362b297e70",part:"trigger",class:"dropdown__trigger",ref:t=>this.trigger=t,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown,onKeyUp:this.handleTriggerKeyUp},s("slot",{key:"d8abcd455c768fded48df4c18b8191e365db4ab1",name:"trigger",ref:t=>this.triggerSlot=t,onSlotchange:this.handleTriggerSlotChange})),s("div",{key:"fd0e0352800daebdc9843442901cad9769d3199a",ref:t=>this.positioner=t,class:{dropdown__positioner:true,dropdown__positioner__filtered:(this.filter||this.asyncFilter)&&!this.hoist}},s("div",{key:"2d72ca0ba1a5cbb480727e325048f7a171fb7af8",ref:t=>this.panel=t,part:"panel",class:"dropdown__panel",role:"menu","aria-hidden":this.open?"false":"true","aria-labelledby":this.componentId},this.filterEnabled&&s("six-input",{key:"a22263fb924be51081598579391774c82a09852f",class:{filter:true,"filter-hidden":!this.open},"dropdown-search":true,"aria-hidden":this.open?"false":"true",ref:t=>this.filterInputElement=t,placeholder:this.filterPlaceholder},s("six-icon",{key:"7a8fc9e25e7e209b5b0aa05af5dcefca87e3b9d5",class:"filter__icon",slot:"suffix",size:"small"},"search")),s("div",{key:"bedcab39d656be8ce064852ef9344b4fbbf60b17",class:{dropdown__panel__scroll:true,"dropdown__panel__scroll--virtual":this.virtualScroll},onScroll:this.handleDropdownScroll,ref:t=>this.scrollPanel=t},s("slot",{key:"21acba56de1fba98afdfda60e8b09816a70ac057",ref:t=>this.panelSlot=t}),this.options.length>0&&s("six-menu",{key:"d7d429d062bf111ffdaf667ada0efe640136871a",part:"menu",items:this.renderedOptions,virtualScroll:this.virtualScroll})),s("slot",{key:"e23be3aa659ed7fa4a513d82c982733b58a6e9db",name:"dropdown-footer"}))))}get host(){return e(this)}static get watchers(){return{open:["handleOpenChange"],distance:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"],placement:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"],options:["handleOptionsChange"],virtualScroll:["handleOptionsChange"]}}};function p(t){return(t===null||t===void 0?void 0:t.tagName.toLowerCase())==="six-menu"}function v(t){return(t===null||t===void 0?void 0:t.tagName.toLowerCase())==="six-menu-item"}function m(t){var i;return((i=t===null||t===void 0?void 0:t.getAttribute("class"))===null||i===void 0?void 0:i.includes("selection-container"))||false}async function b(t,i){return t.value.toLowerCase().includes(i)||(await t.getTextLabel()).toLowerCase().includes(i)}f.style=u;const w=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{display:block}.menu{padding:var(--six-spacing-xx-small) 0;border:none;box-shadow:var(--six-shadow-small);overflow-y:auto;overflow-x:hidden}.menu:focus{outline:none}.no-shadow{box-shadow:none}";const x=t=>{var i,s,e;return(e=(s=(i=t===null||t===void 0?void 0:t.shadowRoot)===null||i===void 0?void 0:i.querySelector(".menu-item"))===null||s===void 0?void 0:s.classList)===null||e===void 0?void 0:e.contains("menu-item--focused")};const g=t=>(t===null||t===void 0?void 0:t.tagName.toLowerCase())==="six-menu-item";const y=({value:t,label:i})=>s("six-menu-item",{key:t,value:t},i);const _=5;const k=48;const C=64;const I=class{constructor(s){t(this,s);this.sixMenuItemSelected=i(this,"six-menu-item-selected");this.eventListeners=new o;this.typeToSelectString="";this.removeBoxShadow=false;this.items=null;this.virtualScroll=false;this.itemSize=10;this.scrollingDebounce=15;this.disableKeyboardHandling=false;this.scrollingIndex=0;this.sixMenuItemHeight=this.virtualScroll?k:C;this.handleScrolling=()=>{if(this.menuWrapper==null)return;this.scrollingIndex=Math.floor(this.menuWrapper.scrollTop/this.sixMenuItemHeight)}}connectedCallback(){this.handleClick=this.handleClick.bind(this);this.handleKeyDown=this.handleKeyDown.bind(this)}componentWillLoad(){if(this.items===null){return}}componentDidLoad(){this.setupForVirtualScrollingAfterRendering()}disconnectedCallback(){this.eventListeners.removeAll()}async typeToSelect(t){var i;clearTimeout(this.typeToSelectTimeout);this.typeToSelectTimeout=setTimeout((()=>this.typeToSelectString=""),750);this.typeToSelectString+=t.toLowerCase();const s=this.getItems();for(const t of s){const s=(i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector("slot:not([name])");const e=l(s).toLowerCase().trim();if(e.substring(0,this.typeToSelectString.length)===this.typeToSelectString){t.setFocus();break}}}getItemsShown(){var t;const i=this.virtualScroll?_:0;if(this.items&&this.items.length===1){return 0}return(t=this.itemsShown)!==null&&t!==void 0?t:i}setupForVirtualScrollingAfterRendering(){var t,i;if(!this.virtualScroll||this.menuWrapper==null)return;this.eventListeners.add(this.menuWrapper,"scroll",r(this.handleScrolling,this.scrollingDebounce));const s=(i=(t=this.menu)===null||t===void 0?void 0:t.querySelector("six-menu-item"))===null||i===void 0?void 0:i.clientHeight;if(s!=null&&s>0){this.sixMenuItemHeight=s}}getItems(){if(this.menu==null)return[];if(this.items!=null){return this.items.map(y)}const t=this.menu.querySelector("slot");if(t==null)return[];return[...t.assignedElements({flatten:true})].filter((t=>g(t)&&!t.disabled))}getActiveItemIndex(){const t=this.getItems();const i=this.getActiveItem();if(i!=null){const s=t.indexOf(i);if(s>-1){return s}}const s=this.extractItemsFromDOM();return s.findIndex(x)}getActiveItem(){var t;const i=this.getItems().find((t=>t===document.activeElement));if(i!=null){return i}return(t=this.extractItemsFromDOM())===null||t===void 0?void 0:t.find(x)}extractItemsFromDOM(){var t,i;return Array.from((i=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll("six-menu-item"))!==null&&i!==void 0?i:[])}setActiveItem(t){t===null||t===void 0?void 0:t.setFocus()}handleClick(t){const i=t.target;const s=i.closest("six-menu-item");if(s&&!s.disabled){this.sixMenuItemSelected.emit({name:s.value,item:s})}}handleKeyDown(t){if(this.disableKeyboardHandling){return}if(t.key==="Enter"){const i=this.getActiveItem();t.preventDefault();if(i!=null){this.sixMenuItemSelected.emit({name:i.value,item:i})}}if(t.key===" "){t.preventDefault()}if(["ArrowDown","ArrowUp","Home","End"].includes(t.key)){const i=this.items===null?this.getItems():this.extractItemsFromDOM();let s=this.getActiveItemIndex();if(i.length>0){t.preventDefault();if(t.key==="ArrowDown"){s++}else if(t.key==="ArrowUp"){s--}else if(t.key==="Home"){s=0}else if(t.key==="End"){s=i.length-1}if(s<0)s=0;if(s>i.length-1)s=i.length-1;this.setActiveItem(i[s]);return}}void this.typeToSelect(t.key)}getMenuWrapperStyle(){var t;const i={};if(this.getItemsShown()>0){i.height=`${((t=this.getItemsShown())!==null&&t!==void 0?t:0)*this.sixMenuItemHeight}px`}else if(this.items&&this.items.length===1){i.height="auto"}return Object.assign({},i)}getMenuContainerStyle(){const t={};if(this.virtualScroll){t.transform=`translateY(${this.sixMenuItemHeight*this.scrollingIndex}px)`}return Object.assign({},t)}getScrollbarGhostStyle(){const t={};if(this.virtualScroll&&this.items!==null&&this.items.length>1){t.height=`${this.items.length*this.sixMenuItemHeight-this.itemSize*this.sixMenuItemHeight}px`}return Object.assign({},t)}renderItems(){if(this.items===undefined||this.items===null){return}if(!this.virtualScroll){return this.items.map(y)}return this.items.slice(this.scrollingIndex,Math.min(this.items.length,this.itemSize+this.scrollingIndex)).map((({value:t,label:i})=>s("six-menu-item",{checkType:"check",key:t,value:t},i)))}render(){return s("div",{key:"5b49fa6852d9d86c36e77533e06950ca5c320675",ref:t=>this.menuWrapper=t,style:this.getMenuWrapperStyle(),part:"wrapper",class:{menu:true,"no-shadow":this.removeBoxShadow}},s("div",{key:"b471da4ddcd06d56f21b020491c41c53766757a6",ref:t=>this.menu=t,part:"base",role:"menu",onClick:this.handleClick,onKeyDown:this.handleKeyDown,tabIndex:0,style:this.getMenuContainerStyle()},s("slot",{key:"e04e2751c6afd78db344211ca1e6db55b6b6d829"}),this.renderItems()),this.virtualScroll&&s("div",{key:"63dcb8d734ae480e7a4a8dcd50f0dc4131f8cb09",style:this.getScrollbarGhostStyle()}))}get host(){return e(this)}};I.style=w;export{f as six_dropdown,I as six_menu};
2
+ //# sourceMappingURL=p-59568c0f.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isTabbable","el","tabIndex","getNearestTabbableElement","shadowRoot","tabbableShadowChild","children","find","e","map","at","undefined","sixDropdownCss","id","SixDropdown","constructor","hostRef","this","componentId","isVisible","resizeObserver","ResizeObserver","debounce","updatePanelPosition","open","placement","closeOnSelect","distance","skidding","hoist","filter","asyncFilter","filterPlaceholder","autofocusFilter","filterDebounce","disableHideOnEnterAndSpace","options","virtualScroll","matchTriggerWidth","eventListeners","EventListeners","renderedOptions","getMenuItems","length","sixMenuItems","option","h","value","label","selectionContainerItems","panel","selectionContainer","_a","panelSlot","assignedElements","flatten","isSelectionContainer","sixMenuElement","_b","isSixMenu","querySelectorAll","_c","querySelector","isSixMenuItem","Array","from","_d","handleDocumentKeyDown","event","keyboardEvent","key","hide","focusOnTrigger","filterInputElement","host","activeElement","item","style","display","setFocus","document","preventDefault","setTimeout","container","getRootNode","ShadowRoot","closest","tagName","toLowerCase","handleDocumentMouseDown","path","composedPath","includes","handlePanelSelect","target","handleTriggerClick","show","handleTriggerKeyDown","menu","getMenu","menuItems","firstMenuItem","lastMenuItem","ignoredKeys","typeToSelect","handleTriggerKeyUp","handleTriggerSlotChange","updateAccessibleTrigger","handleDropdownScroll","scrollPanel","sixScroll","emit","scrollHeight","scrollTop","scrollbarHeight","offsetHeight","scrollRatio","clientHeight","filterEnabled","containingElement","handleOpenChange","handlePopoverOptionsChange","popoverHelper","setOptions","strategy","handleOptionsChange","validateOptions","isArray","console","error","componentWillLoad","DEFAULT_DEBOUNCE_FAST","componentDidLoad","init","connectedCallback","initPopover","add","filterValue","applyFilter","emitFilterEvents","filterTerm","lowerCaseFilterTerm","trim","String","selectionContainerValues","s","forEach","async","menuItem","containsFilterTerm","resetFilter","sixAutoFilter","sixAsyncFilterFired","trigger","positioner","Popover","transitionElement","onAfterHide","sixAfterHide","onAfterShow","sixAfterShow","onTransitionEnd","disconnectedCallback","disconnect","removeAll","destroy","sixShow","defaultPrevented","observe","requestAnimationFrame","width","getBoundingClientRect","minWidth","reposition","sixHide","remove","triggerSlot","focus","accessibleTrigger","setAttribute","render","part","class","dropdown","ref","onClick","onKeyDown","onKeyUp","name","onSlotchange","dropdown__positioner","dropdown__positioner__filtered","role","placeholder","slot","size","dropdown__panel__scroll","onScroll","items","getAttribute","getTextLabel","sixMenuCss","isFocusedMenuItem","classList","contains","isSIXMenuItemElement","mapToMenuItem","DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING","DEFAULT_SIX_MENU_ITEM_HEIGHT_FOR_VIRTUAL_SCROLLING","DEFAULT_SIX_MENU_ITEM_HEIGHT","SixMenu","typeToSelectString","removeBoxShadow","itemSize","scrollingDebounce","disableKeyboardHandling","scrollingIndex","sixMenuItemHeight","handleScrolling","menuWrapper","Math","floor","handleClick","bind","handleKeyDown","setupForVirtualScrollingAfterRendering","clearTimeout","typeToSelectTimeout","getItems","getTextContent","substring","getItemsShown","defaultItemsShown","itemsShown","menuItemHeight","disabled","getActiveItemIndex","selectedItem","getActiveItem","itemIndex","indexOf","extractItemsFromDOM","findIndex","i","setActiveItem","clickedItem","sixMenuItemSelected","activeItem","indexOfActiveItem","getMenuWrapperStyle","styles","height","Object","assign","getMenuContainerStyle","transform","getScrollbarGhostStyle","renderItems","slice","min","checkType"],"sources":["src/utils/tabbable.ts","src/components/six-dropdown/six-dropdown.scss?tag=six-dropdown&encapsulation=shadow","src/components/six-dropdown/six-dropdown.tsx","src/components/six-menu/six-menu.scss?tag=six-menu&encapsulation=shadow","src/components/six-menu/six-menu.tsx"],"sourcesContent":["export function isTabbable(el: HTMLElement) {\n const tabIndex = el.tabIndex;\n return tabIndex > -1;\n}\n\nexport function getNearestTabbableElement(el: HTMLElement): HTMLElement | undefined {\n // Check the element\n if (isTabbable(el)) {\n return el;\n }\n\n // Check the element's shadow root\n if (el.shadowRoot != null) {\n const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e as HTMLElement)) as HTMLElement;\n if (tabbableShadowChild != null) {\n return tabbableShadowChild;\n }\n }\n\n // Check the element's children\n if (el.children != null) {\n return [...el.children].map((e) => getNearestTabbableElement(e as HTMLElement)).at(0);\n }\n\n return undefined;\n}\n","@import 'src/global/component';\n@import 'src/global/mixins/scrollbar';\n\n:host {\n display: inline-block;\n}\n\n.dropdown {\n position: relative;\n}\n\n.dropdown__trigger {\n display: block;\n}\n\n.dropdown__positioner {\n position: absolute;\n z-index: var(--six-z-index-dropdown);\n\n &__filtered {\n width: 100%;\n }\n}\n\n.dropdown__panel {\n font-family: var(--six-font-sans);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-normal);\n color: var(--color);\n background-color: var(--six-panel-background-color);\n border-radius: var(--six-border-radius-medium);\n border: 1px solid var(--six-color-web-rock-300);\n box-shadow: var(--six-shadow-small);\n opacity: 0;\n pointer-events: none;\n transform: scale(0.9);\n transition:\n var(--six-transition-fast) opacity,\n var(--six-transition-fast) transform;\n max-width: 90vw;\n}\n\n.dropdown__panel__scroll {\n max-height: 18.75rem;\n overflow-y: auto;\n overflow-x: hidden;\n overscroll-behavior: none;\n\n &--virtual {\n overflow-y: hidden;\n overflow-x: hidden;\n }\n}\n\n.filter-hidden {\n display: none;\n}\n\n.dropdown__positioner {\n &[data-popper-placement^='top'] .dropdown__panel {\n transform-origin: bottom;\n }\n\n &[data-popper-placement^='bottom'] .dropdown__panel {\n transform-origin: top;\n }\n\n &[data-popper-placement^='left'] .dropdown__panel {\n transform-origin: right;\n }\n\n &[data-popper-placement^='right'] .dropdown__panel {\n transform-origin: left;\n }\n\n &.popover-visible .dropdown__panel {\n opacity: 1;\n transform: none;\n pointer-events: all;\n }\n}\n\n.filter {\n border-bottom: 1px solid var(--six-color-web-rock-300);\n\n &__icon {\n color: var(--six-color-web-rock-600);\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { getNearestTabbableElement } from '../../utils/tabbable';\nimport Popover from '../../utils/popover';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { EmptyPayload } from '../../utils/types';\nimport { SixMenuItemData } from '../six-menu/six-menu';\n\nexport interface SixDropdownAutoFilterPayload {\n filterValue: string;\n}\n\nexport interface SixDropdownAsyncFilterPayload {\n filterValue: string;\n}\n\nexport interface SixDropdownScrollPayload {\n scrollHeight: number;\n scrollTop: number;\n scrollbarHeight: number;\n scrollRatio: number;\n}\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot trigger - The dropdown's trigger, usually a `<six-button>` element.\n * @slot dropdown-footer - The dropdown's footer area.\n * @slot - The dropdown's content.\n *\n * @part base - The component's base wrapper.\n * @part trigger - The container that wraps the trigger.\n * @part panel - The panel that gets shown when the dropdown is open.\n */\n\n@Component({\n tag: 'six-dropdown',\n styleUrl: 'six-dropdown.scss',\n shadow: true,\n})\nexport class SixDropdown {\n private componentId = `dropdown-${++id}`;\n private isVisible = false;\n private panel?: HTMLElement;\n private scrollPanel?: HTMLElement;\n private panelSlot?: HTMLSlotElement;\n private positioner?: HTMLElement;\n private popoverHelper?: Popover;\n private trigger?: HTMLElement;\n private triggerSlot?: HTMLSlotElement;\n private resizeObserver = new ResizeObserver(debounce(() => this.updatePanelPosition(), 100));\n\n // the input element shown in the dropdown when filter is set to true\n private filterInputElement?: HTMLSixInputElement;\n\n @Element() host!: HTMLSixDropdownElement;\n\n /** Indicates whether the dropdown is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /**\n * The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\n * inside the viewport.\n */\n @Prop() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'bottom-start';\n\n /** Determines whether the dropdown should hide when a menu item is selected. */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop() closeOnSelect = true;\n\n /** The distance in pixels from which to offset the panel away from its trigger. */\n @Prop() distance = 4;\n\n /** The distance in pixels from which to offset the panel along its trigger. */\n @Prop() skidding = 0;\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n /** The dropdown will close when the user interacts outside of this element (e.g. clicking). */\n @Prop() containingElement?: HTMLElement;\n\n /**\n * Set to true to allow auto filtering for entries in the dropdown.\n * With this flag the dropdown will automatically filter itsel.\n * If you need to coordinate the shown elements yourself,\n * e.g. because you need to call an endpoint use asyncFilter instead\n */\n @Prop() filter = false;\n\n /**\n * Set to true to allow async filtering.\n * When you enter something in the search field the component will only emit an event but not filter any elements itself.\n * You can then simply listen to the 'six-async-filter-fired' event to manage the shown menu-items yourself\n */\n @Prop() asyncFilter = false;\n\n /** The filter's placeholder text. */\n @Prop() filterPlaceholder = 'Filter...';\n\n /** By default the search field will be focused when opening a dropdown with filtering enabled. */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop() autofocusFilter = true;\n\n get filterEnabled() {\n return this.filter || this.asyncFilter;\n }\n\n /** The debounce for the filter callbacks. */\n @Prop({ mutable: true }) filterDebounce = 0;\n\n /** The panel can be opend/closed by pressing the spacebar or the enter key. In some cases you might want to avoid this */\n @Prop() disableHideOnEnterAndSpace = false;\n\n /** Set the options to be shown in the dropdown (alternative to setting the elements via html)*/\n @Prop({ mutable: true }) options: SixMenuItemData[] = [];\n\n /** Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\n * are actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot. */\n @Prop() virtualScroll = false;\n\n /**\n * Determines if the dropdown panel's width should match the width of the trigger element.\n *\n * If set to `true`, the panel will resize its width to align with the trigger's width.\n * If `false` or omitted, the panel will maintain its default width.\n */\n @Prop() matchTriggerWidth = false;\n\n get container() {\n return this.containingElement || this.host;\n }\n\n /** Emitted when the dropdown opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-dropdown-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dropdown opens and all transitions are complete. */\n @Event({ eventName: 'six-dropdown-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the dropdown closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-dropdown-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dropdown closes and all transitions are complete. */\n @Event({ eventName: 'six-dropdown-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the auto filter is triggered */\n @Event({ eventName: 'six-dropdown-auto-filter-fired' }) sixAutoFilter!: EventEmitter<SixDropdownAutoFilterPayload>;\n\n /** Emitted when the async filter is triggered */\n @Event({ eventName: 'six-async-filter-fired' }) sixAsyncFilterFired!: EventEmitter<SixDropdownAsyncFilterPayload>;\n\n /** Emitted when the user scrolls inside dropdown panel.*/\n @Event({ eventName: 'six-dropdown-scroll' }) sixScroll!: EventEmitter<SixDropdownScrollPayload>;\n\n private eventListeners = new EventListeners();\n\n // internal representation of options, so we don't have to make options mutable\n @State() renderedOptions: SixMenuItemData[] = [];\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n this.updateAccessibleTrigger();\n }\n\n @Watch('distance')\n @Watch('hoist')\n @Watch('placement')\n @Watch('skidding')\n handlePopoverOptionsChange() {\n if (this.popoverHelper == null) return;\n\n this.popoverHelper.setOptions({\n strategy: this.hoist ? 'fixed' : 'absolute',\n placement: this.placement,\n distance: this.distance,\n skidding: this.skidding,\n });\n }\n\n @Watch('options')\n @Watch('virtualScroll')\n handleOptionsChange() {\n this.validateOptions();\n }\n\n private validateOptions() {\n if (!Array.isArray(this.options)) {\n this.options = [];\n }\n if (this.virtualScroll && this.options.length === 0) {\n console.error('Options must be defined when using virtual scrolling');\n }\n this.renderedOptions = [...this.options];\n }\n\n componentWillLoad() {\n this.validateOptions();\n if (this.asyncFilter) {\n this.filterDebounce = DEFAULT_DEBOUNCE_FAST;\n }\n }\n\n componentDidLoad() {\n this.init();\n if (this.open) {\n void this.show();\n }\n }\n\n connectedCallback() {\n this.init();\n }\n\n private init() {\n this.initPopover();\n\n // listen to filter\n const filterInputElement = this.filterInputElement;\n if (filterInputElement != null) {\n this.eventListeners.add(\n filterInputElement,\n 'six-input-input',\n debounce(() => {\n const filterValue = filterInputElement.value ?? '';\n if (this.filter) {\n this.applyFilter(filterValue);\n }\n this.emitFilterEvents(filterValue);\n }, this.filterDebounce)\n );\n }\n }\n\n private applyFilter(filterTerm: string) {\n const lowerCaseFilterTerm = filterTerm.toLowerCase()?.trim() || '';\n if (this.options.length > 0) {\n this.renderedOptions = this.options.filter(\n (option) =>\n (option.label && String(option.label)?.toLowerCase()?.includes(lowerCaseFilterTerm)) ||\n (option.value && String(option.value)?.toLowerCase()?.includes(lowerCaseFilterTerm))\n );\n } else {\n const { selectionContainerItems, sixMenuItems } = this.getMenuItems();\n const selectionContainerValues = selectionContainerItems.map((s) => s.value);\n\n // Filter items in selection container\n selectionContainerItems.forEach(async (menuItem) => {\n menuItem.style.display = (await containsFilterTerm(menuItem, lowerCaseFilterTerm)) ? 'unset' : 'none';\n });\n\n // Filter other items. Always hide items which contained in the selection container.\n sixMenuItems.forEach(async (menuItem) => {\n menuItem.style.display =\n (await containsFilterTerm(menuItem, lowerCaseFilterTerm)) &&\n !selectionContainerValues.includes(menuItem.value)\n ? 'unset'\n : 'none';\n });\n }\n }\n\n private resetFilter() {\n if (this.filterInputElement != null) {\n this.filterInputElement.value = '';\n this.emitFilterEvents('');\n }\n if (this.options.length > 0) {\n this.renderedOptions = [...this.options];\n } else {\n const { selectionContainerItems, sixMenuItems } = this.getMenuItems();\n [...selectionContainerItems, ...sixMenuItems].forEach((item) => (item.style.display = 'unset'));\n }\n }\n\n private emitFilterEvents(filterValue: string) {\n if (this.filter) {\n this.sixAutoFilter.emit({ filterValue });\n } else if (this.asyncFilter) {\n this.sixAsyncFilterFired.emit({ filterValue });\n }\n }\n\n private initPopover() {\n if (this.trigger == null || this.positioner == null) return;\n this.popoverHelper = new Popover(this.trigger, this.positioner, {\n strategy: this.hoist ? 'fixed' : 'absolute',\n placement: this.placement,\n distance: this.distance,\n skidding: this.skidding,\n transitionElement: this.panel,\n onAfterHide: () => {\n if (this.filterEnabled) {\n this.resetFilter();\n }\n this.sixAfterHide.emit();\n },\n onAfterShow: async () => {\n this.sixAfterShow.emit();\n },\n onTransitionEnd: () => {\n if (!this.open && this.scrollPanel != null) {\n this.scrollPanel.scrollTop = 0;\n }\n },\n });\n }\n\n private getMenuItems = (): {\n selectionContainerItems: HTMLSixMenuItemElement[];\n sixMenuItems: HTMLSixMenuItemElement[];\n } => {\n if (this.options.length > 0) {\n return {\n sixMenuItems: this.renderedOptions.map((option) => (\n <six-menu-item value={option.value}>{option.label}</six-menu-item>\n )),\n selectionContainerItems: [],\n };\n }\n if (this.panel == null) return { sixMenuItems: [], selectionContainerItems: [] };\n\n // Relies on the implementation of six-select. Its dropdown slot contains two elements,\n // one for the selected menu items, and one for the other items.\n const selectionContainer = this.panelSlot?.assignedElements({ flatten: true }).filter(isSelectionContainer).at(0);\n const sixMenuElement = this.panelSlot?.assignedElements({ flatten: true }).filter(isSixMenu).at(0) as\n | HTMLSixMenuElement\n | undefined;\n const selectionContainerItems = selectionContainer?.querySelectorAll('six-menu-item') || [];\n let sixMenuItems: HTMLSixMenuItemElement[] =\n sixMenuElement\n ?.querySelector('slot')\n ?.assignedElements()\n .filter((el): el is HTMLSixMenuItemElement => isSixMenuItem(el)) || [];\n\n if (sixMenuItems.length === 0) {\n sixMenuItems = Array.from(sixMenuElement?.shadowRoot?.querySelectorAll('six-menu-item') || []);\n }\n\n if (selectionContainerItems.length > 0 || sixMenuItems.length > 0) {\n return { sixMenuItems, selectionContainerItems: [...selectionContainerItems] };\n } else {\n return {\n sixMenuItems: sixMenuElement ? Array.from(sixMenuElement.querySelectorAll('six-menu-item')) : [],\n selectionContainerItems: [],\n };\n }\n };\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n this.eventListeners.removeAll();\n void this.hide();\n this.popoverHelper?.destroy();\n this.popoverHelper = undefined;\n }\n\n /** Shows the dropdown panel */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible || this.popoverHelper == null || this.panel == null) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.eventListeners.add(this.panel, 'six-menu-item-selected', this.handlePanelSelect);\n this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n\n this.isVisible = true;\n this.open = true;\n\n if (this.trigger != null) {\n this.resizeObserver.observe(this.trigger);\n }\n this.updatePanelPosition();\n this.popoverHelper.show();\n\n if (this.filterEnabled && this.autofocusFilter) {\n requestAnimationFrame(() => {\n this.filterInputElement?.setFocus();\n });\n }\n }\n\n /**\n * Set min width of dropdown panel to the width of the trigger element\n */\n private updatePanelPosition() {\n if (!this.open) {\n return;\n }\n\n if (this.matchTriggerWidth && this.trigger != null && this.panel != null) {\n const width = this.trigger.getBoundingClientRect().width;\n this.panel.style.minWidth = `${width}px`;\n }\n\n if (this.popoverHelper != null) {\n this.popoverHelper.reposition();\n }\n }\n\n /** Hides the dropdown panel */\n @Method()\n async hide() {\n this.resizeObserver.disconnect();\n\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible || this.panel == null || this.popoverHelper == null) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.eventListeners.remove(this.panel, 'six-menu-item-selected', this.handlePanelSelect);\n this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n\n this.isVisible = false;\n this.open = false;\n this.popoverHelper.hide();\n }\n\n private focusOnTrigger() {\n if (this.trigger == null) return;\n const trigger = this.triggerSlot?.assignedElements({ flatten: true }).at(0) as HTMLSixButtonElement | undefined;\n if (trigger != null) {\n if (typeof trigger.setFocus === 'function') {\n trigger.setFocus();\n } else if (typeof trigger.focus === 'function') {\n trigger.focus();\n }\n }\n }\n\n private getMenu(): HTMLSixMenuElement | undefined {\n return this.panelSlot?.assignedElements({ flatten: true }).filter(isSixMenu).at(0) as\n | HTMLSixMenuElement\n | undefined;\n }\n\n private handleDocumentKeyDown = (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n // Close when escape is pressed\n if (keyboardEvent.key === 'Escape') {\n void this.hide();\n this.focusOnTrigger();\n return;\n }\n\n if (this.filterInputElement === this.host.shadowRoot?.activeElement) {\n if (keyboardEvent.key === 'ArrowDown') {\n const { sixMenuItems, selectionContainerItems } = this.getMenuItems();\n const item = [...selectionContainerItems, ...sixMenuItems].find((item) => item.style.display !== 'none');\n if (item != null) {\n item.setFocus();\n }\n }\n }\n\n // Handle tabbing\n if (keyboardEvent.key === 'Tab') {\n // Tabbing within an open menu should close the dropdown and refocus the trigger\n if (this.open && document.activeElement != null && isSixMenuItem(document.activeElement)) {\n keyboardEvent.preventDefault();\n void this.hide();\n this.focusOnTrigger();\n return;\n }\n\n // Tabbing outside the containing element closes the panel\n //\n // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,\n // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.\n setTimeout(() => {\n const activeElement =\n this.container.getRootNode() instanceof ShadowRoot\n ? document.activeElement?.shadowRoot?.activeElement\n : document.activeElement;\n\n if (activeElement?.closest(this.container.tagName.toLowerCase()) !== this.container) {\n void this.hide();\n return;\n }\n });\n }\n };\n\n private handleDocumentMouseDown = (event: Event) => {\n // Close when clicking outside the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.container)) {\n void this.hide();\n return;\n }\n };\n\n private handlePanelSelect = (event: Event) => {\n const target = event.target as HTMLElement;\n\n // Hide the dropdown when a menu item is selected\n if (this.closeOnSelect && isSixMenu(target)) {\n void this.hide();\n this.focusOnTrigger();\n }\n };\n\n private handleTriggerClick = () => {\n this.open ? this.hide() : this.show();\n };\n\n private handleTriggerKeyDown = (event: KeyboardEvent) => {\n // Close when escape or tab is pressed\n if (event.key === 'Escape') {\n this.focusOnTrigger();\n void this.hide();\n return;\n }\n\n // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same\n // key again to hide the menu in case they don't want to make a selection.\n if (!this.disableHideOnEnterAndSpace && [' ', 'Enter'].includes(event.key)) {\n event.preventDefault();\n this.open ? void this.hide() : void this.show();\n return;\n }\n\n const menu = this.getMenu();\n\n // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a\n // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for\n // faster navigation.\n if (['ArrowDown', 'ArrowUp'].includes(event.key)) {\n event.preventDefault();\n\n // Show the menu if it's not already open\n if (!this.open) {\n void this.show();\n }\n\n if (menu == null) {\n return;\n }\n const menuItems = [...menu.querySelectorAll('six-menu-item')];\n const firstMenuItem = menuItems.at(0);\n const lastMenuItem = menuItems.at(menuItems.length - 1);\n\n // Focus on a menu item\n if (event.key === 'ArrowDown' && firstMenuItem != null) {\n firstMenuItem.setFocus();\n return;\n }\n\n if (event.key === 'ArrowUp' && lastMenuItem != null) {\n lastMenuItem.setFocus();\n return;\n }\n }\n\n // Other keys bring focus to the menu and initiate type-to-select behavior\n const ignoredKeys = ['Tab', 'Shift', 'Meta', 'Ctrl', 'Alt'];\n if (this.open && menu != null && !ignoredKeys.includes(event.key)) {\n void menu.typeToSelect(event.key);\n return;\n }\n };\n\n private handleTriggerKeyUp = (event: KeyboardEvent) => {\n // Prevent space from triggering a click event in Firefox\n if (event.key === ' ') {\n event.preventDefault();\n }\n };\n\n private handleTriggerSlotChange = () => {\n this.updateAccessibleTrigger();\n };\n\n private handleDropdownScroll = () => {\n if (this.scrollPanel == null) return;\n\n this.sixScroll.emit({\n scrollHeight: this.scrollPanel.scrollHeight,\n scrollTop: this.scrollPanel.scrollTop,\n scrollbarHeight: this.scrollPanel.offsetHeight * (this.scrollPanel.offsetHeight / this.scrollPanel.scrollHeight),\n scrollRatio: this.scrollPanel.scrollTop / (this.scrollPanel.scrollHeight - this.scrollPanel.clientHeight),\n });\n };\n\n //\n // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and\n // `aria-expanded`. These must be applied to the \"accessible trigger\" (the tabbable portion of the trigger element\n // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,\n // a child of the slotted element, or an element in the slotted element's shadow root.\n //\n // For example, the accessible trigger of an <sl-button> is a <button> located inside its shadow root.\n //\n // To determine this, we assume the first tabbable element in the trigger slot is the \"accessible trigger.\"\n //\n private updateAccessibleTrigger() {\n if (this.trigger == null) return;\n const assignedElements = (this.triggerSlot?.assignedElements({ flatten: true }) || []) as HTMLElement[];\n const accessibleTrigger = assignedElements.map(getNearestTabbableElement).at(0);\n if (accessibleTrigger != null) {\n accessibleTrigger.setAttribute('aria-haspopup', 'true');\n accessibleTrigger.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n }\n\n render() {\n return (\n <div\n part=\"base\"\n id={this.componentId}\n class={{\n dropdown: true,\n 'dropdown--open': this.open,\n }}\n >\n <span\n part=\"trigger\"\n class=\"dropdown__trigger\"\n ref={(el) => (this.trigger = el)}\n onClick={this.handleTriggerClick}\n onKeyDown={this.handleTriggerKeyDown}\n onKeyUp={this.handleTriggerKeyUp}\n >\n <slot\n name=\"trigger\"\n ref={(el) => (this.triggerSlot = el as HTMLSlotElement)}\n onSlotchange={this.handleTriggerSlotChange}\n />\n </span>\n\n {/* Position the panel with a wrapper since the popover makes use of `translate`. This let's us add transitions\n on the panel without interfering with the position. */}\n <div\n ref={(el) => (this.positioner = el)}\n class={{\n dropdown__positioner: true,\n dropdown__positioner__filtered: (this.filter || this.asyncFilter) && !this.hoist,\n }}\n >\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"dropdown__panel\"\n role=\"menu\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-labelledby={this.componentId}\n >\n {this.filterEnabled && (\n <six-input\n class={{\n filter: true,\n 'filter-hidden': !this.open,\n }}\n dropdown-search\n aria-hidden={this.open ? 'false' : 'true'}\n ref={(el) => (this.filterInputElement = el)}\n placeholder={this.filterPlaceholder}\n >\n <six-icon class=\"filter__icon\" slot=\"suffix\" size=\"small\">\n search\n </six-icon>\n </six-input>\n )}\n <div\n class={{\n dropdown__panel__scroll: true,\n 'dropdown__panel__scroll--virtual': this.virtualScroll,\n }}\n onScroll={this.handleDropdownScroll}\n ref={(el) => (this.scrollPanel = el)}\n >\n <slot ref={(el) => (this.panelSlot = el as HTMLSlotElement)} />\n {this.options.length > 0 && (\n <six-menu part=\"menu\" items={this.renderedOptions} virtualScroll={this.virtualScroll}></six-menu>\n )}\n </div>\n <slot name=\"dropdown-footer\"></slot>\n </div>\n </div>\n </div>\n );\n }\n}\n\nfunction isSixMenu(el?: Element): boolean {\n return el?.tagName.toLowerCase() === 'six-menu';\n}\nfunction isSixMenuItem(el?: Element): boolean {\n return el?.tagName.toLowerCase() === 'six-menu-item';\n}\nfunction isSelectionContainer(el?: Element): boolean {\n return el?.getAttribute('class')?.includes('selection-container') || false;\n}\nasync function containsFilterTerm(menuItem: HTMLSixMenuItemElement, lowerCaseFilterTerm: string): Promise<boolean> {\n return (\n menuItem.value.toLowerCase().includes(lowerCaseFilterTerm) ||\n (await menuItem.getTextLabel()).toLowerCase().includes(lowerCaseFilterTerm)\n );\n}\n","@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu {\n padding: var(--six-spacing-xx-small) 0;\n border: none;\n box-shadow: var(--six-shadow-small);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.menu:focus {\n outline: none;\n}\n\n.no-shadow {\n box-shadow: none;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State } from '@stencil/core';\nimport { getTextContent } from '../../utils/slot';\nimport { StyleDeclaration } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce } from '../../utils/execution-control';\n\nexport interface SixMenuItemData {\n label: string;\n value: string;\n}\n\nexport interface SixMenuItemSelectedPayload {\n name: string;\n item: HTMLSixMenuItemElement;\n}\n\nconst isFocusedMenuItem = (menuItem: HTMLSixMenuItemElement) =>\n menuItem?.shadowRoot?.querySelector('.menu-item')?.classList?.contains('menu-item--focused');\n\nconst isSIXMenuItemElement = (el?: Element): el is HTMLSixMenuItemElement =>\n el?.tagName.toLowerCase() === 'six-menu-item';\n\nconst mapToMenuItem = ({ value, label }: SixMenuItemData) => (\n <six-menu-item key={value} value={value}>\n {label}\n </six-menu-item>\n);\n\nconst DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING = 5;\nconst DEFAULT_SIX_MENU_ITEM_HEIGHT_FOR_VIRTUAL_SCROLLING = 48;\nconst DEFAULT_SIX_MENU_ITEM_HEIGHT = 64;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The menu's content, including menu items, menu dividers, and menu labels.\n *\n * @part base - The component's base wrapper.\n */\n@Component({\n tag: 'six-menu',\n styleUrl: 'six-menu.scss',\n shadow: true,\n})\nexport class SixMenu {\n private readonly eventListeners = new EventListeners();\n\n private menu?: HTMLElement;\n private menuWrapper?: HTMLElement;\n private typeToSelectString = '';\n private typeToSelectTimeout?: number;\n\n @Element() host!: HTMLSixMenuElement;\n\n /** Emitted when a menu item is selected. */\n @Event({ eventName: 'six-menu-item-selected' }) sixMenuItemSelected!: EventEmitter<SixMenuItemSelectedPayload>;\n\n /** Set to true to remove the box-shadow */\n @Prop() removeBoxShadow = false;\n\n /** Set the options to be shown in the dropdown */\n @Prop() items: SixMenuItemData[] | null = null;\n\n /** Defines how many items should be shown. If the number of items is larger than this property a scrollbar will be shown */\n @Prop() itemsShown?: number;\n\n /** Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\n * are actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot. */\n @Prop() virtualScroll = false;\n\n /**\n * Used for virtual scrolling\n * Define how many items should be rendered in the DOM when using virtual scrolling\n */\n @Prop() itemSize = 10;\n\n /**\n * Used for virtual scrolling\n * Define the debounce for listening on scrolling changes in milliseconds.\n * The lower the number the more sensitive the component reacts to scrolling changes.\n */\n @Prop() scrollingDebounce = 15;\n\n /**\n * Internal: Disables handling of key presses.\n */\n @Prop() disableKeyboardHandling = false;\n\n /**\n * Used to calculate which items should be rendered in the DOM\n */\n @State()\n private scrollingIndex = 0;\n\n // set a default item height, this variable will be updated with the real value after the first render.\n // However, it's necessary to have a default value because we can only fetch the proper height after the first render\n @State()\n private sixMenuItemHeight = this.virtualScroll\n ? DEFAULT_SIX_MENU_ITEM_HEIGHT_FOR_VIRTUAL_SCROLLING\n : DEFAULT_SIX_MENU_ITEM_HEIGHT;\n\n connectedCallback() {\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n }\n\n componentWillLoad() {\n if (this.items === null) {\n return;\n }\n }\n\n private handleScrolling = () => {\n if (this.menuWrapper == null) return;\n // for performance improvements we only update the DOM if the scrollRatio change \"enough\"\n this.scrollingIndex = Math.floor(this.menuWrapper.scrollTop / this.sixMenuItemHeight);\n };\n\n componentDidLoad() {\n this.setupForVirtualScrollingAfterRendering();\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n /**\n * Initiates type-to-select logic, which automatically selects an option based on what the user is currently typing.\n * The key passed will be appended to the internal query and the selection will be updated. After a brief period, the\n * internal query is cleared automatically. This method is intended to be used with the keydown event. Useful for\n * enabling type-to-select when the menu doesn't have focus.\n */\n @Method()\n async typeToSelect(key: string) {\n clearTimeout(this.typeToSelectTimeout);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this.typeToSelectTimeout = setTimeout(() => (this.typeToSelectString = ''), 750);\n this.typeToSelectString += key.toLowerCase();\n const items = this.getItems();\n for (const item of items) {\n const slot = item.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n const label = getTextContent(slot).toLowerCase().trim();\n if (label.substring(0, this.typeToSelectString.length) === this.typeToSelectString) {\n item.setFocus();\n break;\n }\n }\n }\n\n private getItemsShown(): number {\n const defaultItemsShown = this.virtualScroll ? DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING : 0;\n if (this.items && this.items.length === 1) {\n return 0;\n }\n return this.itemsShown ?? defaultItemsShown;\n }\n\n private setupForVirtualScrollingAfterRendering() {\n if (!this.virtualScroll || this.menuWrapper == null) return;\n\n this.eventListeners.add(this.menuWrapper, 'scroll', debounce(this.handleScrolling, this.scrollingDebounce));\n\n // set menu height to proper height once the item is rendered.\n const menuItemHeight = this.menu?.querySelector('six-menu-item')?.clientHeight;\n if (menuItemHeight != null && menuItemHeight > 0) {\n this.sixMenuItemHeight = menuItemHeight;\n }\n }\n\n private getItems(): HTMLSixMenuItemElement[] {\n if (this.menu == null) return [];\n\n if (this.items != null) {\n return this.items.map(mapToMenuItem);\n }\n\n const slot = this.menu.querySelector('slot');\n if (slot == null) return [];\n return [...slot.assignedElements({ flatten: true })].filter(\n (el): el is HTMLSixMenuItemElement => isSIXMenuItemElement(el) && !el.disabled\n );\n }\n\n private getActiveItemIndex() {\n const items = this.getItems();\n const selectedItem = this.getActiveItem();\n if (selectedItem != null) {\n const itemIndex = items.indexOf(selectedItem);\n if (itemIndex > -1) {\n return itemIndex;\n }\n }\n const sixMenuItems = this.extractItemsFromDOM();\n return sixMenuItems.findIndex(isFocusedMenuItem);\n }\n\n private getActiveItem(): HTMLSixMenuItemElement | undefined {\n const activeElement = this.getItems().find((i) => i === document.activeElement);\n if (activeElement != null) {\n return activeElement;\n }\n return this.extractItemsFromDOM()?.find(isFocusedMenuItem);\n }\n\n private extractItemsFromDOM() {\n return Array.from(this.host.shadowRoot?.querySelectorAll('six-menu-item') ?? []);\n }\n\n private setActiveItem(item: HTMLSixMenuItemElement) {\n item?.setFocus();\n }\n\n private handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const clickedItem = target.closest('six-menu-item');\n if (clickedItem && !clickedItem.disabled) {\n this.sixMenuItemSelected.emit({ name: clickedItem.value, item: clickedItem });\n }\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.disableKeyboardHandling) {\n return;\n }\n\n // Make a selection when pressing enter\n if (event.key === 'Enter') {\n const activeItem = this.getActiveItem();\n event.preventDefault();\n\n if (activeItem != null) {\n this.sixMenuItemSelected.emit({ name: activeItem.value, item: activeItem });\n }\n }\n\n // Prevent scrolling when space is pressed\n if (event.key === ' ') {\n event.preventDefault();\n }\n\n // Move the selection when pressing down or up\n if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {\n const items = this.items === null ? this.getItems() : this.extractItemsFromDOM();\n\n let indexOfActiveItem = this.getActiveItemIndex();\n\n if (items.length > 0) {\n event.preventDefault();\n\n if (event.key === 'ArrowDown') {\n indexOfActiveItem++;\n } else if (event.key === 'ArrowUp') {\n indexOfActiveItem--;\n } else if (event.key === 'Home') {\n indexOfActiveItem = 0;\n } else if (event.key === 'End') {\n indexOfActiveItem = items.length - 1;\n }\n\n if (indexOfActiveItem < 0) indexOfActiveItem = 0;\n if (indexOfActiveItem > items.length - 1) indexOfActiveItem = items.length - 1;\n\n this.setActiveItem(items[indexOfActiveItem]);\n\n return;\n }\n }\n\n void this.typeToSelect(event.key);\n }\n\n private getMenuWrapperStyle() {\n const styles: Partial<StyleDeclaration> = {};\n if (this.getItemsShown() > 0) {\n // calculate the proper height to show the correct number of items\n styles.height = `${(this.getItemsShown() ?? 0) * this.sixMenuItemHeight}px`;\n } else if (this.items && this.items.length === 1) {\n styles.height = 'auto';\n }\n return {\n ...styles,\n };\n }\n\n private getMenuContainerStyle() {\n const styles: Partial<StyleDeclaration> = {};\n\n if (this.virtualScroll) {\n // calculate height of content are if all items would be rendered so the scrollbar has the proper size\n styles.transform = `translateY(${this.sixMenuItemHeight * this.scrollingIndex}px)`;\n }\n\n return {\n ...styles,\n };\n }\n\n private getScrollbarGhostStyle() {\n const styles: Partial<StyleDeclaration> = {};\n if (this.virtualScroll && this.items !== null && this.items.length > 1) {\n styles.height = `${this.items.length * this.sixMenuItemHeight - this.itemSize * this.sixMenuItemHeight}px`;\n }\n return {\n ...styles,\n };\n }\n\n private renderItems() {\n if (this.items === undefined || this.items === null) {\n return;\n }\n\n if (!this.virtualScroll) {\n return this.items.map(mapToMenuItem);\n }\n\n return this.items\n .slice(this.scrollingIndex, Math.min(this.items.length, this.itemSize + this.scrollingIndex))\n .map(({ value, label }: SixMenuItemData) => (\n <six-menu-item checkType=\"check\" key={value} value={value}>\n {label}\n </six-menu-item>\n ));\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.menuWrapper = el)}\n style={this.getMenuWrapperStyle()}\n part=\"wrapper\"\n class={{\n menu: true,\n '.no-shadow': this.removeBoxShadow,\n }}\n >\n <div\n ref={(el) => (this.menu = el)}\n part=\"base\"\n role=\"menu\"\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n tabIndex={0}\n style={this.getMenuContainerStyle()}\n >\n <slot />\n {this.renderItems()}\n </div>\n {this.virtualScroll && <div style={this.getScrollbarGhostStyle()} />}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isTabbable","el","tabIndex","getNearestTabbableElement","shadowRoot","tabbableShadowChild","children","find","e","map","at","undefined","sixDropdownCss","id","SixDropdown","constructor","hostRef","this","componentId","isVisible","resizeObserver","ResizeObserver","debounce","updatePanelPosition","open","placement","closeOnSelect","distance","skidding","hoist","filter","asyncFilter","filterPlaceholder","autofocusFilter","filterDebounce","disableHideOnEnterAndSpace","options","virtualScroll","matchTriggerWidth","eventListeners","EventListeners","renderedOptions","getMenuItems","length","sixMenuItems","option","h","value","label","selectionContainerItems","panel","selectionContainer","_a","panelSlot","assignedElements","flatten","isSelectionContainer","sixMenuElement","_b","isSixMenu","querySelectorAll","_c","querySelector","isSixMenuItem","Array","from","_d","handleDocumentKeyDown","event","keyboardEvent","key","hide","focusOnTrigger","filterInputElement","host","activeElement","item","style","display","setFocus","document","preventDefault","setTimeout","container","getRootNode","ShadowRoot","closest","tagName","toLowerCase","handleDocumentMouseDown","path","composedPath","includes","handlePanelSelect","target","handleTriggerClick","show","handleTriggerKeyDown","menu","getMenu","menuItems","firstMenuItem","lastMenuItem","ignoredKeys","typeToSelect","handleTriggerKeyUp","handleTriggerSlotChange","updateAccessibleTrigger","handleDropdownScroll","scrollPanel","sixScroll","emit","scrollHeight","scrollTop","scrollbarHeight","offsetHeight","scrollRatio","clientHeight","filterEnabled","containingElement","handleOpenChange","handlePopoverOptionsChange","popoverHelper","setOptions","strategy","handleOptionsChange","validateOptions","isArray","console","error","componentWillLoad","DEFAULT_DEBOUNCE_FAST","componentDidLoad","init","connectedCallback","initPopover","add","filterValue","applyFilter","emitFilterEvents","filterTerm","lowerCaseFilterTerm","trim","String","selectionContainerValues","s","forEach","async","menuItem","containsFilterTerm","resetFilter","sixAutoFilter","sixAsyncFilterFired","trigger","positioner","Popover","transitionElement","onAfterHide","sixAfterHide","onAfterShow","sixAfterShow","onTransitionEnd","disconnectedCallback","disconnect","removeAll","destroy","sixShow","defaultPrevented","observe","requestAnimationFrame","width","getBoundingClientRect","minWidth","reposition","sixHide","remove","triggerSlot","focus","accessibleTrigger","setAttribute","render","part","class","dropdown","ref","onClick","onKeyDown","onKeyUp","name","onSlotchange","dropdown__positioner","dropdown__positioner__filtered","role","placeholder","slot","size","dropdown__panel__scroll","onScroll","items","getAttribute","getTextLabel","sixMenuCss","isFocusedMenuItem","classList","contains","isSIXMenuItemElement","mapToMenuItem","DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING","DEFAULT_SIX_MENU_ITEM_HEIGHT_FOR_VIRTUAL_SCROLLING","DEFAULT_SIX_MENU_ITEM_HEIGHT","SixMenu","typeToSelectString","removeBoxShadow","itemSize","scrollingDebounce","disableKeyboardHandling","scrollingIndex","sixMenuItemHeight","handleScrolling","menuWrapper","Math","floor","handleClick","bind","handleKeyDown","setupForVirtualScrollingAfterRendering","clearTimeout","typeToSelectTimeout","getItems","getTextContent","substring","getItemsShown","defaultItemsShown","itemsShown","menuItemHeight","disabled","getActiveItemIndex","selectedItem","getActiveItem","itemIndex","indexOf","extractItemsFromDOM","findIndex","i","setActiveItem","clickedItem","sixMenuItemSelected","activeItem","indexOfActiveItem","getMenuWrapperStyle","styles","height","Object","assign","getMenuContainerStyle","transform","getScrollbarGhostStyle","renderItems","slice","min","checkType"],"sources":["src/utils/tabbable.ts","src/components/six-dropdown/six-dropdown.scss?tag=six-dropdown&encapsulation=shadow","src/components/six-dropdown/six-dropdown.tsx","src/components/six-menu/six-menu.scss?tag=six-menu&encapsulation=shadow","src/components/six-menu/six-menu.tsx"],"sourcesContent":["export function isTabbable(el: HTMLElement) {\n const tabIndex = el.tabIndex;\n return tabIndex > -1;\n}\n\nexport function getNearestTabbableElement(el: HTMLElement): HTMLElement | undefined {\n // Check the element\n if (isTabbable(el)) {\n return el;\n }\n\n // Check the element's shadow root\n if (el.shadowRoot != null) {\n const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e as HTMLElement)) as HTMLElement;\n if (tabbableShadowChild != null) {\n return tabbableShadowChild;\n }\n }\n\n // Check the element's children\n if (el.children != null) {\n return [...el.children].map((e) => getNearestTabbableElement(e as HTMLElement)).at(0);\n }\n\n return undefined;\n}\n","@import 'src/global/component';\n@import 'src/global/mixins/scrollbar';\n\n:host {\n display: inline-block;\n}\n\n.dropdown {\n position: relative;\n}\n\n.dropdown__trigger {\n display: block;\n}\n\n.dropdown__positioner {\n position: absolute;\n z-index: var(--six-z-index-dropdown);\n\n &__filtered {\n width: 100%;\n }\n}\n\n.dropdown__panel {\n font-family: var(--six-font-sans);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-normal);\n color: var(--color);\n background-color: var(--six-panel-background-color);\n border-radius: var(--six-border-radius-medium);\n border: 1px solid var(--six-color-web-rock-300);\n box-shadow: var(--six-shadow-small);\n opacity: 0;\n pointer-events: none;\n transform: scale(0.9);\n transition:\n var(--six-transition-fast) opacity,\n var(--six-transition-fast) transform;\n max-width: 90vw;\n}\n\n.dropdown__panel__scroll {\n max-height: 18.75rem;\n overflow-y: auto;\n overflow-x: hidden;\n overscroll-behavior: none;\n\n &--virtual {\n overflow-y: hidden;\n overflow-x: hidden;\n }\n}\n\n.filter-hidden {\n display: none;\n}\n\n.dropdown__positioner {\n &[data-popper-placement^='top'] .dropdown__panel {\n transform-origin: bottom;\n }\n\n &[data-popper-placement^='bottom'] .dropdown__panel {\n transform-origin: top;\n }\n\n &[data-popper-placement^='left'] .dropdown__panel {\n transform-origin: right;\n }\n\n &[data-popper-placement^='right'] .dropdown__panel {\n transform-origin: left;\n }\n\n &.popover-visible .dropdown__panel {\n opacity: 1;\n transform: none;\n pointer-events: all;\n }\n}\n\n.filter {\n border-bottom: 1px solid var(--six-color-web-rock-300);\n\n &__icon {\n color: var(--six-color-web-rock-600);\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { getNearestTabbableElement } from '../../utils/tabbable';\nimport Popover from '../../utils/popover';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { EmptyPayload } from '../../utils/types';\nimport { SixMenuItemData } from '../six-menu/six-menu';\n\nexport interface SixDropdownAutoFilterPayload {\n filterValue: string;\n}\n\nexport interface SixDropdownAsyncFilterPayload {\n filterValue: string;\n}\n\nexport interface SixDropdownScrollPayload {\n scrollHeight: number;\n scrollTop: number;\n scrollbarHeight: number;\n scrollRatio: number;\n}\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot trigger - The dropdown's trigger, usually a `<six-button>` element.\n * @slot dropdown-footer - The dropdown's footer area.\n * @slot - The dropdown's content.\n *\n * @part base - The component's base wrapper.\n * @part trigger - The container that wraps the trigger.\n * @part panel - The panel that gets shown when the dropdown is open.\n */\n\n@Component({\n tag: 'six-dropdown',\n styleUrl: 'six-dropdown.scss',\n shadow: true,\n})\nexport class SixDropdown {\n private componentId = `dropdown-${++id}`;\n private isVisible = false;\n private panel?: HTMLElement;\n private scrollPanel?: HTMLElement;\n private panelSlot?: HTMLSlotElement;\n private positioner?: HTMLElement;\n private popoverHelper?: Popover;\n private trigger?: HTMLElement;\n private triggerSlot?: HTMLSlotElement;\n private resizeObserver = new ResizeObserver(debounce(() => this.updatePanelPosition(), 100));\n\n // the input element shown in the dropdown when filter is set to true\n private filterInputElement?: HTMLSixInputElement;\n\n @Element() host!: HTMLSixDropdownElement;\n\n /** Indicates whether the dropdown is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /**\n * The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\n * inside the viewport.\n */\n @Prop() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'bottom-start';\n\n /** Determines whether the dropdown should hide when a menu item is selected. */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop() closeOnSelect = true;\n\n /** The distance in pixels from which to offset the panel away from its trigger. */\n @Prop() distance = 4;\n\n /** The distance in pixels from which to offset the panel along its trigger. */\n @Prop() skidding = 0;\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n /** The dropdown will close when the user interacts outside of this element (e.g. clicking). */\n @Prop() containingElement?: HTMLElement;\n\n /**\n * Set to true to allow auto filtering for entries in the dropdown.\n * With this flag the dropdown will automatically filter itsel.\n * If you need to coordinate the shown elements yourself,\n * e.g. because you need to call an endpoint use asyncFilter instead\n */\n @Prop() filter = false;\n\n /**\n * Set to true to allow async filtering.\n * When you enter something in the search field the component will only emit an event but not filter any elements itself.\n * You can then simply listen to the 'six-async-filter-fired' event to manage the shown menu-items yourself\n */\n @Prop() asyncFilter = false;\n\n /** The filter's placeholder text. */\n @Prop() filterPlaceholder = 'Filter...';\n\n /** By default the search field will be focused when opening a dropdown with filtering enabled. */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop() autofocusFilter = true;\n\n get filterEnabled() {\n return this.filter || this.asyncFilter;\n }\n\n /** The debounce for the filter callbacks. */\n @Prop({ mutable: true }) filterDebounce = 0;\n\n /** The panel can be opend/closed by pressing the spacebar or the enter key. In some cases you might want to avoid this */\n @Prop() disableHideOnEnterAndSpace = false;\n\n /** Set the options to be shown in the dropdown (alternative to setting the elements via html)*/\n @Prop({ mutable: true }) options: SixMenuItemData[] = [];\n\n /** Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\n * are actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot. */\n @Prop() virtualScroll = false;\n\n /**\n * Determines if the dropdown panel's width should match the width of the trigger element.\n *\n * If set to `true`, the panel will resize its width to align with the trigger's width.\n * If `false` or omitted, the panel will maintain its default width.\n */\n @Prop() matchTriggerWidth = false;\n\n get container() {\n return this.containingElement || this.host;\n }\n\n /** Emitted when the dropdown opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-dropdown-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dropdown opens and all transitions are complete. */\n @Event({ eventName: 'six-dropdown-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the dropdown closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-dropdown-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dropdown closes and all transitions are complete. */\n @Event({ eventName: 'six-dropdown-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the auto filter is triggered */\n @Event({ eventName: 'six-dropdown-auto-filter-fired' }) sixAutoFilter!: EventEmitter<SixDropdownAutoFilterPayload>;\n\n /** Emitted when the async filter is triggered */\n @Event({ eventName: 'six-async-filter-fired' }) sixAsyncFilterFired!: EventEmitter<SixDropdownAsyncFilterPayload>;\n\n /** Emitted when the user scrolls inside dropdown panel.*/\n @Event({ eventName: 'six-dropdown-scroll' }) sixScroll!: EventEmitter<SixDropdownScrollPayload>;\n\n private eventListeners = new EventListeners();\n\n // internal representation of options, so we don't have to make options mutable\n @State() renderedOptions: SixMenuItemData[] = [];\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n this.updateAccessibleTrigger();\n }\n\n @Watch('distance')\n @Watch('hoist')\n @Watch('placement')\n @Watch('skidding')\n handlePopoverOptionsChange() {\n if (this.popoverHelper == null) return;\n\n this.popoverHelper.setOptions({\n strategy: this.hoist ? 'fixed' : 'absolute',\n placement: this.placement,\n distance: this.distance,\n skidding: this.skidding,\n });\n }\n\n @Watch('options')\n @Watch('virtualScroll')\n handleOptionsChange() {\n this.validateOptions();\n }\n\n private validateOptions() {\n if (!Array.isArray(this.options)) {\n this.options = [];\n }\n if (this.virtualScroll && this.options.length === 0) {\n console.error('Options must be defined when using virtual scrolling');\n }\n this.renderedOptions = [...this.options];\n }\n\n componentWillLoad() {\n this.validateOptions();\n if (this.asyncFilter) {\n this.filterDebounce = DEFAULT_DEBOUNCE_FAST;\n }\n }\n\n componentDidLoad() {\n this.init();\n if (this.open) {\n void this.show();\n }\n }\n\n connectedCallback() {\n this.init();\n }\n\n private init() {\n this.initPopover();\n\n // listen to filter\n const filterInputElement = this.filterInputElement;\n if (filterInputElement != null) {\n this.eventListeners.add(\n filterInputElement,\n 'six-input-input',\n debounce(() => {\n const filterValue = filterInputElement.value ?? '';\n if (this.filter) {\n this.applyFilter(filterValue);\n }\n this.emitFilterEvents(filterValue);\n }, this.filterDebounce)\n );\n }\n }\n\n private applyFilter(filterTerm: string) {\n const lowerCaseFilterTerm = filterTerm.toLowerCase()?.trim() || '';\n if (this.options.length > 0) {\n this.renderedOptions = this.options.filter(\n (option) =>\n (option.label && String(option.label)?.toLowerCase()?.includes(lowerCaseFilterTerm)) ||\n (option.value && String(option.value)?.toLowerCase()?.includes(lowerCaseFilterTerm))\n );\n } else {\n const { selectionContainerItems, sixMenuItems } = this.getMenuItems();\n const selectionContainerValues = selectionContainerItems.map((s) => s.value);\n\n // Filter items in selection container\n selectionContainerItems.forEach(async (menuItem) => {\n menuItem.style.display = (await containsFilterTerm(menuItem, lowerCaseFilterTerm)) ? 'unset' : 'none';\n });\n\n // Filter other items. Always hide items which contained in the selection container.\n sixMenuItems.forEach(async (menuItem) => {\n menuItem.style.display =\n (await containsFilterTerm(menuItem, lowerCaseFilterTerm)) &&\n !selectionContainerValues.includes(menuItem.value)\n ? 'unset'\n : 'none';\n });\n }\n }\n\n private resetFilter() {\n if (this.filterInputElement != null) {\n this.filterInputElement.value = '';\n this.emitFilterEvents('');\n }\n if (this.options.length > 0) {\n this.renderedOptions = [...this.options];\n } else {\n const { selectionContainerItems, sixMenuItems } = this.getMenuItems();\n [...selectionContainerItems, ...sixMenuItems].forEach((item) => (item.style.display = 'unset'));\n }\n }\n\n private emitFilterEvents(filterValue: string) {\n if (this.filter) {\n this.sixAutoFilter.emit({ filterValue });\n } else if (this.asyncFilter) {\n this.sixAsyncFilterFired.emit({ filterValue });\n }\n }\n\n private initPopover() {\n if (this.trigger == null || this.positioner == null) return;\n this.popoverHelper = new Popover(this.trigger, this.positioner, {\n strategy: this.hoist ? 'fixed' : 'absolute',\n placement: this.placement,\n distance: this.distance,\n skidding: this.skidding,\n transitionElement: this.panel,\n onAfterHide: () => {\n if (this.filterEnabled) {\n this.resetFilter();\n }\n this.sixAfterHide.emit();\n },\n onAfterShow: async () => {\n this.sixAfterShow.emit();\n },\n onTransitionEnd: () => {\n if (!this.open && this.scrollPanel != null) {\n this.scrollPanel.scrollTop = 0;\n }\n },\n });\n }\n\n private getMenuItems = (): {\n selectionContainerItems: HTMLSixMenuItemElement[];\n sixMenuItems: HTMLSixMenuItemElement[];\n } => {\n if (this.options.length > 0) {\n return {\n sixMenuItems: this.renderedOptions.map((option) => (\n <six-menu-item value={option.value}>{option.label}</six-menu-item>\n )),\n selectionContainerItems: [],\n };\n }\n if (this.panel == null) return { sixMenuItems: [], selectionContainerItems: [] };\n\n // Relies on the implementation of six-select. Its dropdown slot contains two elements,\n // one for the selected menu items, and one for the other items.\n const selectionContainer = this.panelSlot?.assignedElements({ flatten: true }).filter(isSelectionContainer).at(0);\n const sixMenuElement = this.panelSlot?.assignedElements({ flatten: true }).filter(isSixMenu).at(0) as\n | HTMLSixMenuElement\n | undefined;\n const selectionContainerItems = selectionContainer?.querySelectorAll('six-menu-item') || [];\n let sixMenuItems: HTMLSixMenuItemElement[] =\n sixMenuElement\n ?.querySelector('slot')\n ?.assignedElements()\n .filter((el): el is HTMLSixMenuItemElement => isSixMenuItem(el)) || [];\n\n if (sixMenuItems.length === 0) {\n sixMenuItems = Array.from(sixMenuElement?.shadowRoot?.querySelectorAll('six-menu-item') || []);\n }\n\n if (selectionContainerItems.length > 0 || sixMenuItems.length > 0) {\n return { sixMenuItems, selectionContainerItems: [...selectionContainerItems] };\n } else {\n return {\n sixMenuItems: sixMenuElement ? Array.from(sixMenuElement.querySelectorAll('six-menu-item')) : [],\n selectionContainerItems: [],\n };\n }\n };\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n this.eventListeners.removeAll();\n void this.hide();\n this.popoverHelper?.destroy();\n this.popoverHelper = undefined;\n }\n\n /** Shows the dropdown panel */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible || this.popoverHelper == null || this.panel == null) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.eventListeners.add(this.panel, 'six-menu-item-selected', this.handlePanelSelect);\n this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n\n this.isVisible = true;\n this.open = true;\n\n if (this.trigger != null) {\n this.resizeObserver.observe(this.trigger);\n }\n this.updatePanelPosition();\n this.popoverHelper.show();\n\n if (this.filterEnabled && this.autofocusFilter) {\n requestAnimationFrame(() => {\n this.filterInputElement?.setFocus();\n });\n }\n }\n\n /**\n * Set min width of dropdown panel to the width of the trigger element\n */\n private updatePanelPosition() {\n if (!this.open) {\n return;\n }\n\n if (this.matchTriggerWidth && this.trigger != null && this.panel != null) {\n const width = this.trigger.getBoundingClientRect().width;\n this.panel.style.minWidth = `${width}px`;\n }\n\n if (this.popoverHelper != null) {\n this.popoverHelper.reposition();\n }\n }\n\n /** Hides the dropdown panel */\n @Method()\n async hide() {\n this.resizeObserver.disconnect();\n\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible || this.panel == null || this.popoverHelper == null) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.eventListeners.remove(this.panel, 'six-menu-item-selected', this.handlePanelSelect);\n this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n\n this.isVisible = false;\n this.open = false;\n this.popoverHelper.hide();\n }\n\n private focusOnTrigger() {\n if (this.trigger == null) return;\n const trigger = this.triggerSlot?.assignedElements({ flatten: true }).at(0) as HTMLSixButtonElement | undefined;\n if (trigger != null) {\n if (typeof trigger.setFocus === 'function') {\n trigger.setFocus();\n } else if (typeof trigger.focus === 'function') {\n trigger.focus();\n }\n }\n }\n\n private getMenu(): HTMLSixMenuElement | undefined {\n return this.panelSlot?.assignedElements({ flatten: true }).filter(isSixMenu).at(0) as\n | HTMLSixMenuElement\n | undefined;\n }\n\n private handleDocumentKeyDown = (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n // Close when escape is pressed\n if (keyboardEvent.key === 'Escape') {\n void this.hide();\n this.focusOnTrigger();\n return;\n }\n\n if (this.filterInputElement === this.host.shadowRoot?.activeElement) {\n if (keyboardEvent.key === 'ArrowDown') {\n const { sixMenuItems, selectionContainerItems } = this.getMenuItems();\n const item = [...selectionContainerItems, ...sixMenuItems].find((item) => item.style.display !== 'none');\n if (item != null) {\n item.setFocus();\n }\n }\n }\n\n // Handle tabbing\n if (keyboardEvent.key === 'Tab') {\n // Tabbing within an open menu should close the dropdown and refocus the trigger\n if (this.open && document.activeElement != null && isSixMenuItem(document.activeElement)) {\n keyboardEvent.preventDefault();\n void this.hide();\n this.focusOnTrigger();\n return;\n }\n\n // Tabbing outside the containing element closes the panel\n //\n // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,\n // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.\n setTimeout(() => {\n const activeElement =\n this.container.getRootNode() instanceof ShadowRoot\n ? document.activeElement?.shadowRoot?.activeElement\n : document.activeElement;\n\n if (activeElement?.closest(this.container.tagName.toLowerCase()) !== this.container) {\n void this.hide();\n return;\n }\n });\n }\n };\n\n private handleDocumentMouseDown = (event: Event) => {\n // Close when clicking outside the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.container)) {\n void this.hide();\n return;\n }\n };\n\n private handlePanelSelect = (event: Event) => {\n const target = event.target as HTMLElement;\n\n // Hide the dropdown when a menu item is selected\n if (this.closeOnSelect && isSixMenu(target)) {\n void this.hide();\n this.focusOnTrigger();\n }\n };\n\n private handleTriggerClick = () => {\n this.open ? this.hide() : this.show();\n };\n\n private handleTriggerKeyDown = (event: KeyboardEvent) => {\n // Close when escape or tab is pressed\n if (event.key === 'Escape') {\n this.focusOnTrigger();\n void this.hide();\n return;\n }\n\n // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same\n // key again to hide the menu in case they don't want to make a selection.\n if (!this.disableHideOnEnterAndSpace && [' ', 'Enter'].includes(event.key)) {\n event.preventDefault();\n this.open ? void this.hide() : void this.show();\n return;\n }\n\n const menu = this.getMenu();\n\n // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a\n // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for\n // faster navigation.\n if (['ArrowDown', 'ArrowUp'].includes(event.key)) {\n event.preventDefault();\n\n // Show the menu if it's not already open\n if (!this.open) {\n void this.show();\n }\n\n if (menu == null) {\n return;\n }\n const menuItems = [...menu.querySelectorAll('six-menu-item')];\n const firstMenuItem = menuItems.at(0);\n const lastMenuItem = menuItems.at(menuItems.length - 1);\n\n // Focus on a menu item\n if (event.key === 'ArrowDown' && firstMenuItem != null) {\n firstMenuItem.setFocus();\n return;\n }\n\n if (event.key === 'ArrowUp' && lastMenuItem != null) {\n lastMenuItem.setFocus();\n return;\n }\n }\n\n // Other keys bring focus to the menu and initiate type-to-select behavior\n const ignoredKeys = ['Tab', 'Shift', 'Meta', 'Ctrl', 'Alt'];\n if (this.open && menu != null && !ignoredKeys.includes(event.key)) {\n void menu.typeToSelect(event.key);\n return;\n }\n };\n\n private handleTriggerKeyUp = (event: KeyboardEvent) => {\n // Prevent space from triggering a click event in Firefox\n if (event.key === ' ') {\n event.preventDefault();\n }\n };\n\n private handleTriggerSlotChange = () => {\n this.updateAccessibleTrigger();\n };\n\n private handleDropdownScroll = () => {\n if (this.scrollPanel == null) return;\n\n this.sixScroll.emit({\n scrollHeight: this.scrollPanel.scrollHeight,\n scrollTop: this.scrollPanel.scrollTop,\n scrollbarHeight: this.scrollPanel.offsetHeight * (this.scrollPanel.offsetHeight / this.scrollPanel.scrollHeight),\n scrollRatio: this.scrollPanel.scrollTop / (this.scrollPanel.scrollHeight - this.scrollPanel.clientHeight),\n });\n };\n\n //\n // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and\n // `aria-expanded`. These must be applied to the \"accessible trigger\" (the tabbable portion of the trigger element\n // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,\n // a child of the slotted element, or an element in the slotted element's shadow root.\n //\n // For example, the accessible trigger of an <sl-button> is a <button> located inside its shadow root.\n //\n // To determine this, we assume the first tabbable element in the trigger slot is the \"accessible trigger.\"\n //\n private updateAccessibleTrigger() {\n if (this.trigger == null) return;\n const assignedElements = (this.triggerSlot?.assignedElements({ flatten: true }) || []) as HTMLElement[];\n const accessibleTrigger = assignedElements.map(getNearestTabbableElement).at(0);\n if (accessibleTrigger != null) {\n accessibleTrigger.setAttribute('aria-haspopup', 'true');\n accessibleTrigger.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n }\n\n render() {\n return (\n <div\n part=\"base\"\n id={this.componentId}\n class={{\n dropdown: true,\n 'dropdown--open': this.open,\n }}\n >\n <span\n part=\"trigger\"\n class=\"dropdown__trigger\"\n ref={(el) => (this.trigger = el)}\n onClick={this.handleTriggerClick}\n onKeyDown={this.handleTriggerKeyDown}\n onKeyUp={this.handleTriggerKeyUp}\n >\n <slot\n name=\"trigger\"\n ref={(el) => (this.triggerSlot = el as HTMLSlotElement)}\n onSlotchange={this.handleTriggerSlotChange}\n />\n </span>\n\n {/* Position the panel with a wrapper since the popover makes use of `translate`. This let's us add transitions\n on the panel without interfering with the position. */}\n <div\n ref={(el) => (this.positioner = el)}\n class={{\n dropdown__positioner: true,\n dropdown__positioner__filtered: (this.filter || this.asyncFilter) && !this.hoist,\n }}\n >\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"dropdown__panel\"\n role=\"menu\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-labelledby={this.componentId}\n >\n {this.filterEnabled && (\n <six-input\n class={{\n filter: true,\n 'filter-hidden': !this.open,\n }}\n dropdown-search\n aria-hidden={this.open ? 'false' : 'true'}\n ref={(el) => (this.filterInputElement = el)}\n placeholder={this.filterPlaceholder}\n >\n <six-icon class=\"filter__icon\" slot=\"suffix\" size=\"small\">\n search\n </six-icon>\n </six-input>\n )}\n <div\n class={{\n dropdown__panel__scroll: true,\n 'dropdown__panel__scroll--virtual': this.virtualScroll,\n }}\n onScroll={this.handleDropdownScroll}\n ref={(el) => (this.scrollPanel = el)}\n >\n <slot ref={(el) => (this.panelSlot = el as HTMLSlotElement)} />\n {this.options.length > 0 && (\n <six-menu part=\"menu\" items={this.renderedOptions} virtualScroll={this.virtualScroll}></six-menu>\n )}\n </div>\n <slot name=\"dropdown-footer\"></slot>\n </div>\n </div>\n </div>\n );\n }\n}\n\nfunction isSixMenu(el?: Element): boolean {\n return el?.tagName.toLowerCase() === 'six-menu';\n}\nfunction isSixMenuItem(el?: Element): boolean {\n return el?.tagName.toLowerCase() === 'six-menu-item';\n}\nfunction isSelectionContainer(el?: Element): boolean {\n return el?.getAttribute('class')?.includes('selection-container') || false;\n}\nasync function containsFilterTerm(menuItem: HTMLSixMenuItemElement, lowerCaseFilterTerm: string): Promise<boolean> {\n return (\n menuItem.value.toLowerCase().includes(lowerCaseFilterTerm) ||\n (await menuItem.getTextLabel()).toLowerCase().includes(lowerCaseFilterTerm)\n );\n}\n","@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu {\n padding: var(--six-spacing-xx-small) 0;\n border: none;\n box-shadow: var(--six-shadow-small);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.menu:focus {\n outline: none;\n}\n\n.no-shadow {\n box-shadow: none;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State } from '@stencil/core';\nimport { getTextContent } from '../../utils/slot';\nimport { StyleDeclaration } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce } from '../../utils/execution-control';\n\nexport interface SixMenuItemData {\n label: string;\n value: string;\n}\n\nexport interface SixMenuItemSelectedPayload {\n name: string;\n item: HTMLSixMenuItemElement;\n}\n\nconst isFocusedMenuItem = (menuItem: HTMLSixMenuItemElement) =>\n menuItem?.shadowRoot?.querySelector('.menu-item')?.classList?.contains('menu-item--focused');\n\nconst isSIXMenuItemElement = (el?: Element): el is HTMLSixMenuItemElement =>\n el?.tagName.toLowerCase() === 'six-menu-item';\n\nconst mapToMenuItem = ({ value, label }: SixMenuItemData) => (\n <six-menu-item key={value} value={value}>\n {label}\n </six-menu-item>\n);\n\nconst DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING = 5;\nconst DEFAULT_SIX_MENU_ITEM_HEIGHT_FOR_VIRTUAL_SCROLLING = 48;\nconst DEFAULT_SIX_MENU_ITEM_HEIGHT = 64;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The menu's content, including menu items, menu dividers, and menu labels.\n *\n * @part base - The component's base wrapper.\n */\n@Component({\n tag: 'six-menu',\n styleUrl: 'six-menu.scss',\n shadow: true,\n})\nexport class SixMenu {\n private readonly eventListeners = new EventListeners();\n\n private menu?: HTMLElement;\n private menuWrapper?: HTMLElement;\n private typeToSelectString = '';\n private typeToSelectTimeout?: number;\n\n @Element() host!: HTMLSixMenuElement;\n\n /** Emitted when a menu item is selected. */\n @Event({ eventName: 'six-menu-item-selected' }) sixMenuItemSelected!: EventEmitter<SixMenuItemSelectedPayload>;\n\n /** Set to true to remove the box-shadow */\n @Prop() removeBoxShadow = false;\n\n /** Set the options to be shown in the dropdown */\n @Prop() items: SixMenuItemData[] | null = null;\n\n /** Defines how many items should be shown. If the number of items is larger than this property a scrollbar will be shown */\n @Prop() itemsShown?: number;\n\n /** Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\n * are actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot. */\n @Prop() virtualScroll = false;\n\n /**\n * Used for virtual scrolling\n * Define how many items should be rendered in the DOM when using virtual scrolling\n */\n @Prop() itemSize = 10;\n\n /**\n * Used for virtual scrolling\n * Define the debounce for listening on scrolling changes in milliseconds.\n * The lower the number the more sensitive the component reacts to scrolling changes.\n */\n @Prop() scrollingDebounce = 15;\n\n /**\n * Internal: Disables handling of key presses.\n */\n @Prop() disableKeyboardHandling = false;\n\n /**\n * Used to calculate which items should be rendered in the DOM\n */\n @State()\n private scrollingIndex = 0;\n\n // set a default item height, this variable will be updated with the real value after the first render.\n // However, it's necessary to have a default value because we can only fetch the proper height after the first render\n @State()\n private sixMenuItemHeight = this.virtualScroll\n ? DEFAULT_SIX_MENU_ITEM_HEIGHT_FOR_VIRTUAL_SCROLLING\n : DEFAULT_SIX_MENU_ITEM_HEIGHT;\n\n connectedCallback() {\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n }\n\n componentWillLoad() {\n if (this.items === null) {\n return;\n }\n }\n\n private handleScrolling = () => {\n if (this.menuWrapper == null) return;\n // for performance improvements we only update the DOM if the scrollRatio change \"enough\"\n this.scrollingIndex = Math.floor(this.menuWrapper.scrollTop / this.sixMenuItemHeight);\n };\n\n componentDidLoad() {\n this.setupForVirtualScrollingAfterRendering();\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n /**\n * Initiates type-to-select logic, which automatically selects an option based on what the user is currently typing.\n * The key passed will be appended to the internal query and the selection will be updated. After a brief period, the\n * internal query is cleared automatically. This method is intended to be used with the keydown event. Useful for\n * enabling type-to-select when the menu doesn't have focus.\n */\n @Method()\n async typeToSelect(key: string) {\n clearTimeout(this.typeToSelectTimeout);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this.typeToSelectTimeout = setTimeout(() => (this.typeToSelectString = ''), 750);\n this.typeToSelectString += key.toLowerCase();\n const items = this.getItems();\n for (const item of items) {\n const slot = item.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n const label = getTextContent(slot).toLowerCase().trim();\n if (label.substring(0, this.typeToSelectString.length) === this.typeToSelectString) {\n item.setFocus();\n break;\n }\n }\n }\n\n private getItemsShown(): number {\n const defaultItemsShown = this.virtualScroll ? DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING : 0;\n if (this.items && this.items.length === 1) {\n return 0;\n }\n return this.itemsShown ?? defaultItemsShown;\n }\n\n private setupForVirtualScrollingAfterRendering() {\n if (!this.virtualScroll || this.menuWrapper == null) return;\n\n this.eventListeners.add(this.menuWrapper, 'scroll', debounce(this.handleScrolling, this.scrollingDebounce));\n\n // set menu height to proper height once the item is rendered.\n const menuItemHeight = this.menu?.querySelector('six-menu-item')?.clientHeight;\n if (menuItemHeight != null && menuItemHeight > 0) {\n this.sixMenuItemHeight = menuItemHeight;\n }\n }\n\n private getItems(): HTMLSixMenuItemElement[] {\n if (this.menu == null) return [];\n\n if (this.items != null) {\n return this.items.map(mapToMenuItem);\n }\n\n const slot = this.menu.querySelector('slot');\n if (slot == null) return [];\n return [...slot.assignedElements({ flatten: true })].filter(\n (el): el is HTMLSixMenuItemElement => isSIXMenuItemElement(el) && !el.disabled\n );\n }\n\n private getActiveItemIndex() {\n const items = this.getItems();\n const selectedItem = this.getActiveItem();\n if (selectedItem != null) {\n const itemIndex = items.indexOf(selectedItem);\n if (itemIndex > -1) {\n return itemIndex;\n }\n }\n const sixMenuItems = this.extractItemsFromDOM();\n return sixMenuItems.findIndex(isFocusedMenuItem);\n }\n\n private getActiveItem(): HTMLSixMenuItemElement | undefined {\n const activeElement = this.getItems().find((i) => i === document.activeElement);\n if (activeElement != null) {\n return activeElement;\n }\n return this.extractItemsFromDOM()?.find(isFocusedMenuItem);\n }\n\n private extractItemsFromDOM() {\n return Array.from(this.host.shadowRoot?.querySelectorAll('six-menu-item') ?? []);\n }\n\n private setActiveItem(item: HTMLSixMenuItemElement) {\n item?.setFocus();\n }\n\n private handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const clickedItem = target.closest('six-menu-item');\n if (clickedItem && !clickedItem.disabled) {\n this.sixMenuItemSelected.emit({ name: clickedItem.value, item: clickedItem });\n }\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.disableKeyboardHandling) {\n return;\n }\n\n // Make a selection when pressing enter\n if (event.key === 'Enter') {\n const activeItem = this.getActiveItem();\n event.preventDefault();\n\n if (activeItem != null) {\n this.sixMenuItemSelected.emit({ name: activeItem.value, item: activeItem });\n }\n }\n\n // Prevent scrolling when space is pressed\n if (event.key === ' ') {\n event.preventDefault();\n }\n\n // Move the selection when pressing down or up\n if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {\n const items = this.items === null ? this.getItems() : this.extractItemsFromDOM();\n\n let indexOfActiveItem = this.getActiveItemIndex();\n\n if (items.length > 0) {\n event.preventDefault();\n\n if (event.key === 'ArrowDown') {\n indexOfActiveItem++;\n } else if (event.key === 'ArrowUp') {\n indexOfActiveItem--;\n } else if (event.key === 'Home') {\n indexOfActiveItem = 0;\n } else if (event.key === 'End') {\n indexOfActiveItem = items.length - 1;\n }\n\n if (indexOfActiveItem < 0) indexOfActiveItem = 0;\n if (indexOfActiveItem > items.length - 1) indexOfActiveItem = items.length - 1;\n\n this.setActiveItem(items[indexOfActiveItem]);\n\n return;\n }\n }\n\n void this.typeToSelect(event.key);\n }\n\n private getMenuWrapperStyle() {\n const styles: Partial<StyleDeclaration> = {};\n if (this.getItemsShown() > 0) {\n // calculate the proper height to show the correct number of items\n styles.height = `${(this.getItemsShown() ?? 0) * this.sixMenuItemHeight}px`;\n } else if (this.items && this.items.length === 1) {\n styles.height = 'auto';\n }\n return {\n ...styles,\n };\n }\n\n private getMenuContainerStyle() {\n const styles: Partial<StyleDeclaration> = {};\n\n if (this.virtualScroll) {\n // calculate height of content are if all items would be rendered so the scrollbar has the proper size\n styles.transform = `translateY(${this.sixMenuItemHeight * this.scrollingIndex}px)`;\n }\n\n return {\n ...styles,\n };\n }\n\n private getScrollbarGhostStyle() {\n const styles: Partial<StyleDeclaration> = {};\n if (this.virtualScroll && this.items !== null && this.items.length > 1) {\n styles.height = `${this.items.length * this.sixMenuItemHeight - this.itemSize * this.sixMenuItemHeight}px`;\n }\n return {\n ...styles,\n };\n }\n\n private renderItems() {\n if (this.items === undefined || this.items === null) {\n return;\n }\n\n if (!this.virtualScroll) {\n return this.items.map(mapToMenuItem);\n }\n\n return this.items\n .slice(this.scrollingIndex, Math.min(this.items.length, this.itemSize + this.scrollingIndex))\n .map(({ value, label }: SixMenuItemData) => (\n <six-menu-item checkType=\"check\" key={value} value={value}>\n {label}\n </six-menu-item>\n ));\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.menuWrapper = el)}\n style={this.getMenuWrapperStyle()}\n part=\"wrapper\"\n class={{\n menu: true,\n 'no-shadow': this.removeBoxShadow,\n }}\n >\n <div\n ref={(el) => (this.menu = el)}\n part=\"base\"\n role=\"menu\"\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n tabIndex={0}\n style={this.getMenuContainerStyle()}\n >\n <slot />\n {this.renderItems()}\n </div>\n {this.virtualScroll && <div style={this.getScrollbarGhostStyle()} />}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,c as t,h as s,g as i}from"./p-D0Go1Zjj.js";import{h as o,a as l,g as r}from"./p-j3oIB5oT.js";import{F as a}from"./p-IBmarOIS.js";import{E as n}from"./p-C4h4qpGl.js";import{D as c,a as h}from"./p-CKhg9ibv.js";import{a as d}from"./p-1oJarDAY.js";function u(e,t){if(t){if(Array.isArray(e)){return e.filter((e=>typeof e==="string"))}else if(typeof e==="string"&&e.length>0){return[e]}else{return[]}}else{if(typeof e==="string"){return e}else{return""}}}function f(e){return u(e,true)}function p(e,t){if(Array.isArray(e)&&Array.isArray(t)){return e.length===t.length&&e.every(((e,s)=>e===t[s]))}else if(typeof e==="string"&&typeof t==="string"){return e===t}return false}const b=':host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.form-control .form-control__label{display:none}.form-control .form-control__help-text{display:none}.form-control .form-control__error-text{display:none;text-align:left}.form-control--has-label .form-control__label{display:inline-block;color:var(--six-input-label-color);font-weight:var(--six-font-weight-bold);margin-bottom:var(--six-spacing-x-small)}.form-control--has-label .form-control__label__required::after{color:var(--six-color-danger-800);content:"*";transform:scale(1.1);margin-left:var(--six-spacing-xxx-small);position:absolute}.form-control--has-label.form-control--small .form-control__label{font-size:var(--six-input-label-font-size-small)}.form-control--has-label.form-control--medium .form-control__label{font-size:var(--six-input-label-font-size-medium)}.form-control--has-label.form-control--large .form-control_label{font-size:var(--six-input-label-font-size-large)}.form-control--has-help-text .form-control__help-text{display:block;color:var(--six-input-help-text-color);margin-top:var(--six-spacing-x-small)}.form-control--has-help-text .form-control__help-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-help-text.form-control--small .form-control__help-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-help-text.form-control--medium .form-control__help-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-help-text.form-control--large .form-control__help-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--has-error-text .form-control__error-text{display:block;margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text .form-control__error-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text.form-control--small .form-control__error-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-error-text.form-control--medium .form-control__error-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-error-text.form-control--large .form-control__error-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--disabled .form-control__help-text{color:var(--six-input-help-text-color-disabled)}.form-control--disabled .form-control__label{color:var(--six-input-label-color-disabled)}.form-control--invalid:not(.form-control--disabled) .form-control__label{color:var(--six-input-label-color)}:host,.select{display:block}.select__box{display:inline-flex;align-items:center;justify-content:start;position:relative;width:100%;font-family:var(--six-font-family);font-weight:var(--six-input-font-weight);font-size:var(--six-input-font-size-medium);letter-spacing:var(--six-input-letter-spacing);background-color:var(--six-input-background-color);border:solid var(--six-border-width) var(--six-input-border-color);vertical-align:middle;transition:var(--six-transition-fast) color, var(--six-transition-fast) border, var(--six-transition-fast) box-shadow;cursor:pointer}.select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select__box--autocomplete{border:none;overflow:initial}.select:not(.select--disabled) .select__box:hover{background-color:var(--six-input-background-color-hover);color:var(--six-input-color-hover);border-bottom-color:var(--six-input-border-color-hover)}.select:not(.select--disabled) .select__box:hover:not(.select__box--line){border-color:var(--six-input-border-color-hover)}.select:not(.select--disabled) .select__box:focus{background-color:var(--six-input-background-color-focus);outline:none;color:var(--six-input-color-focus);border-bottom-color:var(--six-input-border-color-focus);box-shadow:0 1px 0 0 var(--six-input-border-color-focus)}.select:not(.select--disabled) .select__box:focus:not(.select__box--line){border-color:var(--six-input-border-color-focus);box-shadow:var(--six-input-focus-shadow)}.select--disabled .select__box{background-color:var(--six-input-background-color-disabled);color:var(--six-input-color-disabled);cursor:not-allowed;outline:none}.select--disabled .select__box:not(.select__box--line){border-color:var(--six-input-border-color-disabled)}.select--disabled .select__clear{pointer-events:none}.select--invalid:not(.select--disabled):not(.select--focused) .select__box{border-bottom-color:var(--six-input-border-color-danger)}.select--invalid:not(.select--disabled):not(.select--focused) .select__box:not(.input--line){border-color:var(--six-input-border-color-danger)}.display__values{display:flex;flex:1 1 auto;align-items:center;user-select:none;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none}.display__values::-webkit-scrollbar{width:0;height:0}.display__values-values{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.display__values-and-counter{display:flex;overflow:hidden}.select__clear{flex-shrink:0;flex-grow:0;display:inline}.select__icon{flex-shrink:0;flex-grow:0;display:inline;transition:var(--six-transition-medium) transform ease}.select--open .select__icon{transform:rotate(-180deg)}.placeholder{color:var(--six-input-placeholder-color)}.select--disabled .placeholder{color:var(--six-input-placeholder-color-disabled)}.select__input{position:absolute;top:0;left:0;width:100%;height:100%}.select--small .select__box{border-radius:var(--six-input-border-radius-small);font-size:var(--six-input-font-size-small);min-height:var(--six-height-small)}.select--small .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--small .display__values{margin:0 0 0 var(--six-input-spacing-small)}.select--small .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--small .select__icon{margin-right:var(--six-spacing-x-small)}.select--medium .select__box{border-radius:var(--six-input-border-radius-medium);font-size:var(--six-input-font-size-medium);min-height:var(--six-height-medium)}.select--medium .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--medium .display__values{margin:0 0 0 var(--six-input-spacing-medium)}.select--medium .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--medium .select__icon{margin-right:var(--six-spacing-x-small)}.select--large .select__box{border-radius:var(--six-input-border-radius-large);font-size:var(--six-input-font-size-large);min-height:var(--six-height-large)}.select--large .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--large .display__values{margin:0 0 0 var(--six-input-spacing-large)}.select--large .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--large .select__icon{margin-right:var(--six-spacing-x-small)}.select--pill.select--small .select__box{border-radius:var(--six-height-small)}.select--pill.select--medium .select__box{border-radius:var(--six-height-medium)}.select--pill.select--large .select__box{border-radius:var(--six-height-large)}.select__menu{width:100%}.select__menu--hidden{display:none}six-icon-button::part(base){padding-top:0;padding-bottom:0}.selection-container--border{border-bottom:solid var(--six-border-width) var(--six-menu-divider-color);padding-top:var(--six-spacing-xx-small);padding-bottom:var(--six-spacing-xx-small)}.display-value--hidden{display:none}.overflow-count{color:var(--six-color-web-rock-600);padding-left:var(--six-spacing-x-small)}.overflow-count-hidden{display:none}.separator--hidden{display:none}.select-all{border-top:1px solid var(--six-color-web-rock-300);display:flex;justify-content:end}';let x=0;const m=class{constructor(i){e(this,i);this.sixChange=t(this,"six-select-change");this.sixFocus=t(this,"six-select-focus");this.sixBlur=t(this,"six-select-blur");this.inputId=`select-${++x}`;this.labelId=`select-label-${x}`;this.helpTextId=`select-help-text-${x}`;this.errorTextId=`select-error-text-${x}`;this.eventListeners=new n;this.activeItemIndex=-1;this.resizeObserver=new ResizeObserver((()=>this.updateDisplayedValues()));this.hasFocus=false;this.hasHelpTextSlot=false;this.hasLabelSlot=false;this.hasErrorTextSlot=false;this.isOpen=false;this.displayedValues=[];this.selectionContainerItems=[];this.multiple=false;this.selectAllButton=false;this.disabled=false;this.name="";this.placeholder="";this.size="medium";this.hoist=false;this.value="";this.pill=false;this.helpText="";this.required=false;this.clearable=false;this.label="";this.errorText="";this.invalid=false;this.line=false;this.filter=false;this.asyncFilter=false;this.autocomplete=false;this.inputDebounce=c;this.options=null;this.virtualScroll=false;this.handleBlur=()=>{this.hasFocus=false;this.sixBlur.emit()};this.handleFocus=()=>{this.hasFocus=true;this.sixFocus.emit()};this.handleClearClick=async e=>{var t;e.stopPropagation();await this.clearValues();await((t=this.dropdown)===null||t===void 0?void 0:t.show());await this.setFocus();this.sixChange.emit({value:this.value,isSelected:true})};this.handleKeyDown=e=>{var t,s,i,o;if(this.virtualScroll||this.autocomplete){return}if(["Control","Escape"].includes(e.key)){return}const l=this.getVisibleItems();if(this.isOpen&&this.multiple&&e.code==="KeyA"&&e.ctrlKey){e.preventDefault();this.selectAll();return}if(e.key==="Tab"){if(this.isOpen){(t=this.dropdown)===null||t===void 0?void 0:t.hide()}return}if(e.key===" "&&!this.multiple){return}if(this.activeItemIndex>=0&&["Enter"," "].includes(e.key)){const t=l.at(this.activeItemIndex);e.preventDefault();t===null||t===void 0?void 0:t.click();return}if(["ArrowDown","ArrowUp","Home","End"].includes(e.key)){if(!this.isOpen){(s=this.dropdown)===null||s===void 0?void 0:s.show()}if(l.length>0){e.preventDefault();if(e.key==="ArrowDown"){this.activeItemIndex++}else if(e.key==="ArrowUp"){this.activeItemIndex--}else if(e.key==="Home"){this.activeItemIndex=0}else if(e.key==="End"){this.activeItemIndex=l.length-1}if(this.activeItemIndex<0)this.activeItemIndex=0;if(this.activeItemIndex>l.length-1)this.activeItemIndex=l.length-1;(i=l.at(this.activeItemIndex))===null||i===void 0?void 0:i.setFocus()}}if(!this.isOpen){e.stopPropagation();e.preventDefault();(o=this.dropdown)===null||o===void 0?void 0:o.show()}};this.handleLabelClick=()=>{var e;(e=this.box)===null||e===void 0?void 0:e.focus()};this.handleMenuSelect=e=>{const t=e.detail.item;if(this.multiple){t.checked=!t.checked}else{this.getItems().forEach((e=>e.checked=false));t.checked=true}this.syncValueFromItems();this.sixChange.emit({value:this.value,isSelected:true})};this.handleMenuShow=e=>{if(this.disabled){e.preventDefault();return}this.activeItemIndex=-1;if(!this.virtualScroll&&this.multiple){const e=this.getItems();e.forEach((e=>e.style.display="unset"));const t=v(f(this.value),e);t.forEach((e=>e.style.display="none"));this.selectionContainerItems=t.map((e=>s("six-menu-item",{key:e.value,checked:true,value:e.value,checkType:this.multiple?"checkbox":"check",onClick:t=>{t.stopPropagation();if(!this.disabled){const s=t.target;const i=s.checked;s.checked=!i;e.checked=!i;this.syncValueFromItems();this.sixChange.emit({value:this.value,isSelected:true})}}},this.getSlottedItem(e,"prefix"),this.getItemLabel(e),this.getSlottedItem(e,"suffix"))))}this.isOpen=true};this.handleMenuHide=()=>{this.isOpen=false;if(this.multiple){this.handleBlur()}};this.handleSlotChange=()=>{this.hasHelpTextSlot=o(this.host,"help-text");this.hasLabelSlot=o(this.host,"label");this.hasErrorTextSlot=o(this.host,"error-text");this.syncItemsFromValue()}}handleDisabledChange(){var e;if(this.disabled&&this.isOpen){(e=this.dropdown)===null||e===void 0?void 0:e.hide()}}handleLabelChange(){this.handleSlotChange()}handleMultipleChange(){this.value=u(this.value,this.multiple);this.syncItemsFromValue()}async handleValueChange(){const e=u(this.value,this.multiple);if(!p(this.value,e)){this.value=e}await this.syncItemsFromValue()}connectedCallback(){var e;if(this.virtualScroll&&this.options===null){console.error("Options must be defined when using virtual scrolling")}(e=this.host.shadowRoot)===null||e===void 0?void 0:e.addEventListener("slotchange",this.handleSlotChange);this.eventListeners.forward("six-select-change","change",this.host);this.eventListeners.forward("six-select-blur","blur",this.host);this.eventListeners.forward("six-select-focus","focus",this.host);if(this.displayValuesContainer){this.resizeObserver.observe(this.displayValuesContainer)}}componentWillLoad(){this.value=u(this.value,this.multiple);this.handleSlotChange()}componentDidLoad(){if(this.displayValuesContainer){this.resizeObserver.observe(this.displayValuesContainer)}requestAnimationFrame((()=>this.syncItemsFromValue()));if(this.autocomplete&&this.autocompleteInput!=null){const e=this.autocompleteInput;this.eventListeners.add(e,"six-input-input",h((t=>{var s;this.value=e.value;this.sixChange.emit({value:this.value,isSelected:false});t.stopPropagation();if(this.virtualScroll||this.value.length>0){(s=this.dropdown)===null||s===void 0?void 0:s.show()}}),this.inputDebounce));const t=this.displayedValues.join(", ");e.value=t}}disconnectedCallback(){var e;this.resizeObserver.disconnect();(e=this.host.shadowRoot)===null||e===void 0?void 0:e.removeEventListener("slotchange",this.handleSlotChange);this.eventListeners.removeAll()}async setFocus(e){var t;this.hasFocus=true;(t=this.box)===null||t===void 0?void 0:t.focus(e)}getItemLabel(e){var t,s;const i=(t=e.shadowRoot)===null||t===void 0?void 0:t.querySelector("slot:not([name])");if(i!=null){return l(i)}else{return(s=e.textContent)!==null&&s!==void 0?s:""}}getSlottedItem(e,t){const i=r(e,t);if(i==null){return null}const o=Object.fromEntries([...i.attributes].map((e=>[e.name,e.value])));return s(i.tagName.toLowerCase(),Object.assign(Object.assign({},o),{innerHTML:i.innerHTML}))}getItems(){if(this.options!==null&&this.menu!=null&&this.menu.shadowRoot!=null){return[...this.menu.shadowRoot.querySelectorAll("six-menu-item")]}return[...this.host.querySelectorAll("six-menu-item")]}getVisibleItems(){const e=this.getSelectionContainerItems();const t=this.getItems();return[...e,...t].filter((e=>e.style.display!=="none"))}getSelectionContainerItems(){var e;return[...((e=this.host.shadowRoot)===null||e===void 0?void 0:e.querySelectorAll("six-menu-item"))||[]]}async clearValues(){this.value=this.multiple?[]:"";this.selectionContainerItems=[];await this.syncItemsFromValue()}selectAll(){const e=this.getVisibleItems();const t=this.hasDeselectedOptions();e.filter((e=>!e.disabled)).forEach((e=>e.checked=t));const s=e.filter((e=>e.checked)).map((e=>e.value));this.value=t?s:[];this.sixChange.emit({value:this.value,isSelected:true})}async syncItemsFromValue(){const e=this.getSelectionContainerItems();const t=this.getItems();const s=u(this.value,this.multiple);e.forEach((e=>{e.checkType=this.multiple?"checkbox":"check";if(Array.isArray(s)){e.checked=s.some((t=>t===e.value))}else{e.checked=s===e.value}}));t.forEach((e=>{e.checkType=this.multiple?"checkbox":"check";if(Array.isArray(s)){e.checked=s.some((t=>t===e.value))}else{e.checked=s===e.value}}));const i=v(f(this.value),t);this.displayedValues=i.map((e=>this.getItemLabel(e)));if(this.autocomplete&&this.autocompleteInput!=null&&!this.hasFocus){const e=this.displayedValues.join(", ");this.autocompleteInput.value=e}requestAnimationFrame((()=>{this.updateDisplayedValues()}))}syncValueFromItems(){const e=this.getItems();const t=e.filter((e=>e.checked)).map((e=>e.value));if(this.multiple){this.value=t}else{this.value=t.length>0?t[0]:""}}updateDisplayedValues(){var e,t;const s=[...(t=(e=this.displayValuesContainer)===null||e===void 0?void 0:e.querySelectorAll(".display-value"))!==null&&t!==void 0?t:[]];if(this.displayValuesContainer==null||s.length===0||this.overflowCount==null){return}s.forEach((e=>{z(e);k(e)}));const i=s[s.length-1].querySelector(".separator");if(i==null)return;let o=_(this.displayValuesContainer)+_(i);let{fitCount:l,overflowCount:r}=g(s,o);if(r===0){I(this.overflowCount);y(s,l)}else{S(this.overflowCount,r+1);A(this.overflowCount);o=o-_(this.overflowCount);({fitCount:l,overflowCount:r}=g(s,o));S(this.overflowCount,r);y(s,l)}}render(){var e;const t=this.hasSelection();const i=this.getItems();const o=i.length>0;const l=this.hasDeselectedOptions();let r=false;let n=o;if(this.clearable&&t){r=true;n=false}return s(a,{key:"e73d53ca359c50322538fe2950527ee8e65839bd",inputId:this.inputId,label:this.label,labelId:this.labelId,hasLabelSlot:this.hasLabelSlot,helpTextId:this.helpTextId,helpText:this.helpText,hasHelpTextSlot:this.hasHelpTextSlot,errorTextId:this.errorTextId,errorText:this.errorText,errorTextCount:this.errorTextCount,hasErrorTextSlot:this.hasErrorTextSlot,size:this.size,onLabelClick:this.handleLabelClick,disabled:this.disabled,required:this.required,displayError:this.invalid},s("six-dropdown",{key:"62552fb8b1f349b21770553c2de7da6b5ab2a4b6",part:"base",ref:e=>this.dropdown=e,hoist:this.hoist,matchTriggerWidth:true,closeOnSelect:!this.multiple,containingElement:this.host,disableHideOnEnterAndSpace:this.autocomplete,class:{select:true,"select--open":this.isOpen,"select--empty":((e=this.value)===null||e===void 0?void 0:e.length)===0,"select--focused":this.hasFocus,"select--clearable":this.clearable,"select--disabled":this.disabled,"select--multiple":this.multiple,"select--has-tags":this.multiple&&t,"select--placeholder-visible":this.displayedValues.length===0,"select--small":this.size==="small","select--medium":this.size==="medium","select--large":this.size==="large","select--pill":this.pill,"select--invalid":this.invalid},onKeyDown:this.handleKeyDown,"onSix-dropdown-show":this.handleMenuShow,"onSix-dropdown-hide":this.handleMenuHide,filterPlaceholder:this.filterPlaceholder,filterDebounce:this.filterDebounce,filter:this.filter,asyncFilter:this.asyncFilter,virtualScroll:this.virtualScroll},s("div",{key:"5206dc7c61d43783a4f28a02edf0ac542876a8ed",slot:"trigger",ref:e=>this.box=e,id:this.inputId,class:{select__box:true,"select__box--line":this.line,"select__box--autocomplete":this.autocomplete},role:"combobox","aria-labelledby":this.labelId,"aria-describedby":this.helpTextId,"aria-haspopup":"true","aria-expanded":this.isOpen?"true":"false",tabIndex:this.disabled?-1:0,onBlur:this.handleBlur,onFocus:this.handleFocus},s("div",{key:"35cd3650cfa756b85b8b685e762ced353b476404",class:"display__values",ref:e=>this.displayValuesContainer=e},this.displayedValues.length>0?s("span",{class:"display__values-and-counter"},s("span",{class:"display__values-values"},this.displayedValues.map((e=>s("span",{key:e,class:"display-value"},e,s("span",{class:{separator:true}},", "))))),s("span",{ref:e=>this.overflowCount=e,class:"overflow-count"},"+10")):s("span",{class:"placeholder"},this.placeholder)),r&&s("six-icon-button",{key:"9625fad5cf7e7355bcb282ebe87ba2fb528a6996",exportparts:"base:clear-button",class:"select__clear",name:"clear",size:"small",onClick:this.handleClearClick,tabindex:"-1"}),n&&s("span",{key:"29c3280a6b0cfcfc706b4a74fc166b60747957cc",part:"icon",class:"select__icon"},s("six-icon",{key:"1ae7ffd913829472745cb65e703da30b2c7d6050",size:"medium"},"expand_more")),s("six-input",{key:"55a6eede0286f7a78881a563e82c60d628177e1c",ref:e=>this.autocompleteInput=e,class:{select__input:true,"sr-only":!this.autocomplete},"aria-hidden":"true",required:this.required,onFocus:this.handleFocus,clearable:this.clearable,placeholder:this.placeholder,pill:this.pill,disabled:this.disabled,size:this.size,tabIndex:-1})),s("div",{key:"d0f86369184cbe505bb10097cc829389d406a8fd",class:{"selection-container":true,"selection-container--border":this.selectionContainerItems.length>0&&i.length!==this.selectionContainerItems.length}},this.selectionContainerItems),s("six-menu",{key:"fdbb314f7f52324fdbc41a56752de6e85cb9a20c",ref:e=>this.menu=e,part:"menu",class:{select__menu:true,"select__menu--hidden":!o},"onSix-menu-item-selected":this.handleMenuSelect,items:this.options,virtualScroll:this.virtualScroll,"remove-box-shadow":true,"disable-keyboard-handling":true},s("slot",{key:"8aa7f50f534891194237610a271841e59af67da3",onSlotchange:this.handleSlotChange})),this.multiple&&this.selectAllButton&&s("div",{key:"1003591fd15046d3fc436da79a3e47984f993056",class:"select-all",slot:"dropdown-footer"},s("six-button",{key:"dc90cc6d56ffa5456bfbbf10ef7392f68541096d",type:"link",onClick:()=>this.selectAll()},this.selectAllText==null?T(l):this.selectAllText))))}hasSelection(){return this.multiple?this.value.length>0:this.value!==""}hasDeselectedOptions(){return this.getVisibleItems().some((e=>!e.disabled&&!e.checked))}get host(){return i(this)}static get watchers(){return{disabled:["handleDisabledChange"],helpText:["handleLabelChange"],errorText:["handleLabelChange"],label:["handleLabelChange"],multiple:["handleMultipleChange"],value:["handleValueChange"]}}};function v(e,t){return t.filter((t=>e.includes(t.value)))}function _(e){return e.getBoundingClientRect().width}function g(e,t){let s=0;let i=0;for(let o=0;o<e.length;o++){const l=e[o];const r=_(l);if(o===0&&r>t){i=1;break}s+=r;if(s>t){break}else{i+=1}}const o=e.length-i;return{fitCount:i,overflowCount:o}}function y(e,t){if(e.length>0){e.slice(0,t).forEach(((e,t,s)=>{z(e);const i=t===s.length-1;if(i){w(e)}else{k(e)}}));e.slice(t).forEach((e=>{C(e);k(e)}))}}function w(e){var t;(t=e.querySelector(".separator"))===null||t===void 0?void 0:t.classList.add("separator--hidden")}function k(e){var t;(t=e.querySelector(".separator"))===null||t===void 0?void 0:t.classList.remove("separator--hidden")}function z(e){e.classList.remove("display-value--hidden")}function C(e){e.classList.add("display-value--hidden")}function S(e,t){e.textContent=`+${t}`}function A(e){e.classList.remove("overflow-count-hidden")}function I(e){e.classList.add("overflow-count-hidden")}function T(e){const t=d();switch(t){case"de":return e?"Alle auswählen":"Alle abwählen";case"fr":return e?"Tout sélectionner":"Tout désélectionner";case"it":return e?"Seleziona tutto":"Deseleziona tutto";case"en":return e?"Select all":"Deselect all";case"es":return e?"Seleccionar todo":"Deseleccionar todo"}}m.style=b;export{m as six_select};
2
- //# sourceMappingURL=p-ae8d75aa.entry.js.map
1
+ import{r as e,c as t,h as s,g as i}from"./p-JoG9I7EO.js";import{h as o,a as l,g as r}from"./p-j3oIB5oT.js";import{F as a}from"./p-Dg9366Gk.js";import{E as n}from"./p-C4h4qpGl.js";import{D as c,a as h}from"./p-CKhg9ibv.js";import{a as d}from"./p-1oJarDAY.js";function u(e,t){if(t){if(Array.isArray(e)){return e.filter((e=>typeof e==="string"))}else if(typeof e==="string"&&e.length>0){return[e]}else{return[]}}else{if(typeof e==="string"){return e}else{return""}}}function f(e){return u(e,true)}function b(e,t){if(Array.isArray(e)&&Array.isArray(t)){return e.length===t.length&&e.every(((e,s)=>e===t[s]))}else if(typeof e==="string"&&typeof t==="string"){return e===t}return false}const p=':host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.form-control .form-control__label{display:none}.form-control .form-control__help-text{display:none}.form-control .form-control__error-text{display:none;text-align:left}.form-control--has-label .form-control__label{display:inline-block;color:var(--six-input-label-color);font-weight:var(--six-font-weight-bold);margin-bottom:var(--six-spacing-x-small)}.form-control--has-label .form-control__label__required::after{color:var(--six-color-danger-800);content:"*";transform:scale(1.1);margin-left:var(--six-spacing-xxx-small);position:absolute}.form-control--has-label.form-control--small .form-control__label{font-size:var(--six-input-label-font-size-small)}.form-control--has-label.form-control--medium .form-control__label{font-size:var(--six-input-label-font-size-medium)}.form-control--has-label.form-control--large .form-control_label{font-size:var(--six-input-label-font-size-large)}.form-control--has-help-text .form-control__help-text{display:block;color:var(--six-input-help-text-color);margin-top:var(--six-spacing-x-small)}.form-control--has-help-text .form-control__help-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-help-text.form-control--small .form-control__help-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-help-text.form-control--medium .form-control__help-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-help-text.form-control--large .form-control__help-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--has-error-text .form-control__error-text{display:block;margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text .form-control__error-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text.form-control--small .form-control__error-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-error-text.form-control--medium .form-control__error-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-error-text.form-control--large .form-control__error-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--disabled .form-control__help-text{color:var(--six-input-help-text-color-disabled)}.form-control--disabled .form-control__label{color:var(--six-input-label-color-disabled)}.form-control--invalid:not(.form-control--disabled) .form-control__label{color:var(--six-input-label-color)}:host,.select{display:block}.select__box{display:inline-flex;align-items:center;justify-content:start;position:relative;width:100%;font-family:var(--six-font-family);font-weight:var(--six-input-font-weight);font-size:var(--six-input-font-size-medium);letter-spacing:var(--six-input-letter-spacing);background-color:var(--six-input-background-color);border:solid var(--six-border-width) var(--six-input-border-color);vertical-align:middle;transition:var(--six-transition-fast) color, var(--six-transition-fast) border, var(--six-transition-fast) box-shadow;cursor:pointer}.select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select__box--autocomplete{border:none;overflow:initial}.select:not(.select--disabled) .select__box:hover{background-color:var(--six-input-background-color-hover);color:var(--six-input-color-hover);border-bottom-color:var(--six-input-border-color-hover)}.select:not(.select--disabled) .select__box:hover:not(.select__box--line){border-color:var(--six-input-border-color-hover)}.select:not(.select--disabled) .select__box:focus{background-color:var(--six-input-background-color-focus);outline:none;color:var(--six-input-color-focus);border-bottom-color:var(--six-input-border-color-focus);box-shadow:0 1px 0 0 var(--six-input-border-color-focus)}.select:not(.select--disabled) .select__box:focus:not(.select__box--line){border-color:var(--six-input-border-color-focus);box-shadow:var(--six-input-focus-shadow)}.select--disabled .select__box{background-color:var(--six-input-background-color-disabled);color:var(--six-input-color-disabled);cursor:not-allowed;outline:none}.select--disabled .select__box:not(.select__box--line){border-color:var(--six-input-border-color-disabled)}.select--disabled .select__clear{pointer-events:none}.select--invalid:not(.select--disabled):not(.select--focused) .select__box{border-bottom-color:var(--six-input-border-color-danger)}.select--invalid:not(.select--disabled):not(.select--focused) .select__box:not(.input--line){border-color:var(--six-input-border-color-danger)}.display__values{display:flex;flex:1 1 auto;align-items:center;user-select:none;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none}.display__values::-webkit-scrollbar{width:0;height:0}.display__values-values{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.display__values-and-counter{display:flex;overflow:hidden}.select__clear{flex-shrink:0;flex-grow:0;display:inline}.select__icon{flex-shrink:0;flex-grow:0;display:inline;transition:var(--six-transition-medium) transform ease}.select--open .select__icon{transform:rotate(-180deg)}.placeholder{color:var(--six-input-placeholder-color)}.select--disabled .placeholder{color:var(--six-input-placeholder-color-disabled)}.select__input{position:absolute;top:0;left:0;width:100%;height:100%}.select--small .select__box{border-radius:var(--six-input-border-radius-small);font-size:var(--six-input-font-size-small);min-height:var(--six-height-small)}.select--small .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--small .display__values{margin:0 0 0 var(--six-input-spacing-small)}.select--small .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--small .select__icon{margin-right:var(--six-spacing-x-small)}.select--medium .select__box{border-radius:var(--six-input-border-radius-medium);font-size:var(--six-input-font-size-medium);min-height:var(--six-height-medium)}.select--medium .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--medium .display__values{margin:0 0 0 var(--six-input-spacing-medium)}.select--medium .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--medium .select__icon{margin-right:var(--six-spacing-x-small)}.select--large .select__box{border-radius:var(--six-input-border-radius-large);font-size:var(--six-input-font-size-large);min-height:var(--six-height-large)}.select--large .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--large .display__values{margin:0 0 0 var(--six-input-spacing-large)}.select--large .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--large .select__icon{margin-right:var(--six-spacing-x-small)}.select--pill.select--small .select__box{border-radius:var(--six-height-small)}.select--pill.select--medium .select__box{border-radius:var(--six-height-medium)}.select--pill.select--large .select__box{border-radius:var(--six-height-large)}.select__menu{width:100%}.select__menu--hidden{display:none}six-icon-button::part(base){padding-top:0;padding-bottom:0}.selection-container--border{border-bottom:solid var(--six-border-width) var(--six-menu-divider-color);padding-top:var(--six-spacing-xx-small);padding-bottom:var(--six-spacing-xx-small)}.display-value--hidden{display:none}.overflow-count{color:var(--six-color-web-rock-600);padding-left:var(--six-spacing-x-small)}.overflow-count-hidden{display:none}.separator--hidden{display:none}.select-all{border-top:1px solid var(--six-color-web-rock-300);display:flex;justify-content:end}';let x=0;const m=class{constructor(i){e(this,i);this.sixChange=t(this,"six-select-change");this.sixFocus=t(this,"six-select-focus");this.sixBlur=t(this,"six-select-blur");this.inputId=`select-${++x}`;this.labelId=`select-label-${x}`;this.helpTextId=`select-help-text-${x}`;this.errorTextId=`select-error-text-${x}`;this.eventListeners=new n;this.activeItemIndex=-1;this.resizeObserver=new ResizeObserver((()=>this.updateDisplayedValues()));this.hasFocus=false;this.hasHelpTextSlot=false;this.hasLabelSlot=false;this.hasErrorTextSlot=false;this.isOpen=false;this.displayedValues=[];this.selectionContainerItems=[];this.multiple=false;this.selectAllButton=false;this.disabled=false;this.name="";this.placeholder="";this.size="medium";this.hoist=false;this.value="";this.pill=false;this.helpText="";this.required=false;this.clearable=false;this.label="";this.errorText="";this.invalid=false;this.line=false;this.filter=false;this.asyncFilter=false;this.autocomplete=false;this.inputDebounce=c;this.options=null;this.virtualScroll=false;this.handleBlur=()=>{this.hasFocus=false;this.sixBlur.emit()};this.handleFocus=()=>{this.hasFocus=true;this.sixFocus.emit()};this.handleClearClick=async e=>{var t;e.stopPropagation();await this.clearValues();await((t=this.dropdown)===null||t===void 0?void 0:t.show());await this.setFocus();this.sixChange.emit({value:this.value,isSelected:true})};this.handleKeyDown=e=>{var t,s,i,o;if(this.virtualScroll||this.autocomplete){return}if(["Control","Escape"].includes(e.key)){return}const l=this.getVisibleItems();if(this.isOpen&&this.multiple&&e.code==="KeyA"&&e.ctrlKey){e.preventDefault();this.selectAll();return}if(e.key==="Tab"){if(this.isOpen){(t=this.dropdown)===null||t===void 0?void 0:t.hide()}return}if(e.key===" "&&!this.multiple){return}if(this.activeItemIndex>=0&&["Enter"," "].includes(e.key)){const t=l.at(this.activeItemIndex);e.preventDefault();t===null||t===void 0?void 0:t.click();return}if(["ArrowDown","ArrowUp","Home","End"].includes(e.key)){if(!this.isOpen){(s=this.dropdown)===null||s===void 0?void 0:s.show()}if(l.length>0){e.preventDefault();if(e.key==="ArrowDown"){this.activeItemIndex++}else if(e.key==="ArrowUp"){this.activeItemIndex--}else if(e.key==="Home"){this.activeItemIndex=0}else if(e.key==="End"){this.activeItemIndex=l.length-1}if(this.activeItemIndex<0)this.activeItemIndex=0;if(this.activeItemIndex>l.length-1)this.activeItemIndex=l.length-1;(i=l.at(this.activeItemIndex))===null||i===void 0?void 0:i.setFocus()}}if(!this.isOpen){e.stopPropagation();e.preventDefault();(o=this.dropdown)===null||o===void 0?void 0:o.show()}};this.handleLabelClick=()=>{var e;(e=this.box)===null||e===void 0?void 0:e.focus()};this.handleMenuSelect=e=>{const t=e.detail.item;if(this.multiple){t.checked=!t.checked}else{this.getItems().forEach((e=>e.checked=false));t.checked=true}this.syncValueFromItems();this.sixChange.emit({value:this.value,isSelected:true})};this.handleMenuShow=e=>{if(this.disabled){e.preventDefault();return}this.activeItemIndex=-1;if(!this.virtualScroll&&this.multiple){const e=this.getItems();e.forEach((e=>e.style.display="unset"));const t=v(f(this.value),e);t.forEach((e=>e.style.display="none"));this.selectionContainerItems=t.map((e=>s("six-menu-item",{key:e.value,checked:true,value:e.value,checkType:this.multiple?"checkbox":"check",onClick:t=>{t.stopPropagation();if(!this.disabled){const s=t.target;const i=s.checked;s.checked=!i;e.checked=!i;this.syncValueFromItems();this.sixChange.emit({value:this.value,isSelected:true})}}},this.getSlottedItem(e,"prefix"),this.getItemLabel(e),this.getSlottedItem(e,"suffix"))))}this.isOpen=true};this.handleMenuHide=()=>{this.isOpen=false;if(this.multiple){this.handleBlur()}};this.handleSlotChange=()=>{this.hasHelpTextSlot=o(this.host,"help-text");this.hasLabelSlot=o(this.host,"label");this.hasErrorTextSlot=o(this.host,"error-text");this.syncItemsFromValue()}}handleDisabledChange(){var e;if(this.disabled&&this.isOpen){(e=this.dropdown)===null||e===void 0?void 0:e.hide()}}handleLabelChange(){this.handleSlotChange()}handleMultipleChange(){this.value=u(this.value,this.multiple);this.syncItemsFromValue()}async handleValueChange(){const e=u(this.value,this.multiple);if(!b(this.value,e)){this.value=e}await this.syncItemsFromValue()}connectedCallback(){var e;if(this.virtualScroll&&this.options===null){console.error("Options must be defined when using virtual scrolling")}(e=this.host.shadowRoot)===null||e===void 0?void 0:e.addEventListener("slotchange",this.handleSlotChange);this.eventListeners.forward("six-select-change","change",this.host);this.eventListeners.forward("six-select-blur","blur",this.host);this.eventListeners.forward("six-select-focus","focus",this.host);if(this.displayValuesContainer){this.resizeObserver.observe(this.displayValuesContainer)}}componentWillLoad(){this.value=u(this.value,this.multiple);this.handleSlotChange()}componentDidLoad(){if(this.displayValuesContainer){this.resizeObserver.observe(this.displayValuesContainer)}requestAnimationFrame((()=>this.syncItemsFromValue()));if(this.autocomplete&&this.autocompleteInput!=null){const e=this.autocompleteInput;this.eventListeners.add(e,"six-input-input",h((t=>{var s;this.value=e.value;this.sixChange.emit({value:this.value,isSelected:false});t.stopPropagation();if(this.virtualScroll||this.value.length>0){(s=this.dropdown)===null||s===void 0?void 0:s.show()}}),this.inputDebounce));const t=this.displayedValues.join(", ");e.value=t}}disconnectedCallback(){var e;this.resizeObserver.disconnect();(e=this.host.shadowRoot)===null||e===void 0?void 0:e.removeEventListener("slotchange",this.handleSlotChange);this.eventListeners.removeAll()}async setFocus(e){var t;this.hasFocus=true;(t=this.box)===null||t===void 0?void 0:t.focus(e)}getItemLabel(e){var t,s;const i=(t=e.shadowRoot)===null||t===void 0?void 0:t.querySelector("slot:not([name])");if(i!=null){return l(i)}else{return(s=e.textContent)!==null&&s!==void 0?s:""}}getSlottedItem(e,t){const i=r(e,t);if(i==null){return null}const o=Object.fromEntries([...i.attributes].map((e=>[e.name,e.value])));return s(i.tagName.toLowerCase(),Object.assign(Object.assign({},o),{innerHTML:i.innerHTML}))}getItems(){if(this.options!==null&&this.menu!=null&&this.menu.shadowRoot!=null){return[...this.menu.shadowRoot.querySelectorAll("six-menu-item")]}return[...this.host.querySelectorAll("six-menu-item")]}getVisibleItems(){const e=this.getSelectionContainerItems();const t=this.getItems();return[...e,...t].filter((e=>e.style.display!=="none"))}getSelectionContainerItems(){var e;return[...((e=this.host.shadowRoot)===null||e===void 0?void 0:e.querySelectorAll("six-menu-item"))||[]]}async clearValues(){this.value=this.multiple?[]:"";this.selectionContainerItems=[];await this.syncItemsFromValue()}selectAll(){const e=this.getVisibleItems();const t=this.hasDeselectedOptions();e.filter((e=>!e.disabled)).forEach((e=>e.checked=t));const s=e.filter((e=>e.checked)).map((e=>e.value));this.value=t?s:[];this.sixChange.emit({value:this.value,isSelected:true})}async syncItemsFromValue(){const e=this.getSelectionContainerItems();const t=this.getItems();const s=u(this.value,this.multiple);e.forEach((e=>{e.checkType=this.multiple?"checkbox":"check";if(Array.isArray(s)){e.checked=s.some((t=>t===e.value))}else{e.checked=s===e.value}}));t.forEach((e=>{e.checkType=this.multiple?"checkbox":"check";if(Array.isArray(s)){e.checked=s.some((t=>t===e.value))}else{e.checked=s===e.value}}));const i=v(f(this.value),t);this.displayedValues=i.map((e=>this.getItemLabel(e)));if(this.autocomplete&&this.autocompleteInput!=null&&!this.hasFocus){const e=this.displayedValues.join(", ");this.autocompleteInput.value=e}requestAnimationFrame((()=>{this.updateDisplayedValues()}))}syncValueFromItems(){const e=this.getItems();const t=e.filter((e=>e.checked)).map((e=>e.value));if(this.multiple){this.value=t}else{this.value=t.length>0?t[0]:""}}updateDisplayedValues(){var e,t;const s=[...(t=(e=this.displayValuesContainer)===null||e===void 0?void 0:e.querySelectorAll(".display-value"))!==null&&t!==void 0?t:[]];if(this.displayValuesContainer==null||s.length===0||this.overflowCount==null){return}s.forEach((e=>{z(e);k(e)}));const i=s[s.length-1].querySelector(".separator");if(i==null)return;let o=_(this.displayValuesContainer)+_(i);let{fitCount:l,overflowCount:r}=g(s,o);if(r===0){T(this.overflowCount);y(s,l)}else{S(this.overflowCount,r+1);A(this.overflowCount);o=o-_(this.overflowCount);({fitCount:l,overflowCount:r}=g(s,o));S(this.overflowCount,r);y(s,l)}}render(){var e;const t=this.hasSelection();const i=this.getItems();const o=i.length>0;const l=this.hasDeselectedOptions();let r=false;let n=o;if(this.clearable&&t){r=true;n=false}return s(a,{key:"9312ec8e2cedbb88f1404d6ddb2f8e67a952f6da",inputId:this.inputId,label:this.label,labelId:this.labelId,hasLabelSlot:this.hasLabelSlot,helpTextId:this.helpTextId,helpText:this.helpText,hasHelpTextSlot:this.hasHelpTextSlot,errorTextId:this.errorTextId,errorText:this.errorText,errorTextCount:this.errorTextCount,hasErrorTextSlot:this.hasErrorTextSlot,size:this.size,onLabelClick:this.handleLabelClick,disabled:this.disabled,required:this.required,displayError:this.invalid},s("six-dropdown",{key:"77887d36593e973b83d80aec7fcb51c9f85d9d0c",part:"base",ref:e=>this.dropdown=e,hoist:this.hoist,matchTriggerWidth:true,closeOnSelect:!this.multiple,containingElement:this.host,disableHideOnEnterAndSpace:this.autocomplete,class:{select:true,"select--open":this.isOpen,"select--empty":((e=this.value)===null||e===void 0?void 0:e.length)===0,"select--focused":this.hasFocus,"select--clearable":this.clearable,"select--disabled":this.disabled,"select--multiple":this.multiple,"select--has-tags":this.multiple&&t,"select--placeholder-visible":this.displayedValues.length===0,"select--small":this.size==="small","select--medium":this.size==="medium","select--large":this.size==="large","select--pill":this.pill,"select--invalid":this.invalid},onKeyDown:this.handleKeyDown,"onSix-dropdown-show":this.handleMenuShow,"onSix-dropdown-hide":this.handleMenuHide,filterPlaceholder:this.filterPlaceholder,filterDebounce:this.filterDebounce,filter:this.filter,asyncFilter:this.asyncFilter,virtualScroll:this.virtualScroll},s("div",{key:"afddffa7f575127a3c53b2bd23f996809adb9844",slot:"trigger",ref:e=>this.box=e,id:this.inputId,class:{select__box:true,"select__box--line":this.line,"select__box--autocomplete":this.autocomplete},role:"combobox","aria-labelledby":this.labelId,"aria-describedby":this.helpTextId,"aria-haspopup":"true","aria-expanded":this.isOpen?"true":"false",tabIndex:this.disabled?-1:0,onBlur:this.handleBlur,onFocus:this.handleFocus},s("div",{key:"21b0e4ccb4535037e197b7dbd9a23f0bc37cf5f8",class:"display__values",ref:e=>this.displayValuesContainer=e},this.displayedValues.length>0?s("span",{class:"display__values-and-counter"},s("span",{class:"display__values-values"},this.displayedValues.map((e=>s("span",{key:e,class:"display-value"},e,s("span",{class:{separator:true}},", "))))),s("span",{ref:e=>this.overflowCount=e,class:"overflow-count"},"+10")):s("span",{class:"placeholder"},this.placeholder)),r&&s("six-icon-button",{key:"4dfa510d19ed31997002b1eefff2e467a34b5fd0",exportparts:"base:clear-button",class:"select__clear",name:"clear",size:"small",onClick:this.handleClearClick,tabindex:"-1"}),n&&s("span",{key:"f03b60a3935c809d9f98342ad7b27698abaf537c",part:"icon",class:"select__icon"},s("six-icon",{key:"271b8b90377be367a38abe77df0b5ae60960b9a8",size:"medium"},"expand_more")),s("six-input",{key:"0a8a3e663dd316f38e0d62625cd6c824022b0fd1",ref:e=>this.autocompleteInput=e,class:{select__input:true,"sr-only":!this.autocomplete},"aria-hidden":"true",required:this.required,onFocus:this.handleFocus,clearable:this.clearable,placeholder:this.placeholder,pill:this.pill,disabled:this.disabled,size:this.size,tabIndex:-1})),s("div",{key:"a5fe2da3ed21d2e8cacbeb84ada7538f960b182e",class:{"selection-container":true,"selection-container--border":this.selectionContainerItems.length>0&&i.length!==this.selectionContainerItems.length}},this.selectionContainerItems),s("six-menu",{key:"ba0c95940b5af32bdd1a8f5f65e4ea6f81ee5bb1",ref:e=>this.menu=e,part:"menu",class:{select__menu:true,"select__menu--hidden":!o},"onSix-menu-item-selected":this.handleMenuSelect,items:this.options,virtualScroll:this.virtualScroll,"remove-box-shadow":true,"disable-keyboard-handling":true},s("slot",{key:"f6be5fd5f9070395df4e165f0f912d274ffcc4b5",onSlotchange:this.handleSlotChange})),this.multiple&&this.selectAllButton&&s("div",{key:"bc6fe23ff6e09d9cb1c9709dc78199600d08cb3f",class:"select-all",slot:"dropdown-footer"},s("six-button",{key:"4ac03af8a7233ed46ac2d9e4ed515a79387a2d2b",type:"link",onClick:()=>this.selectAll()},this.selectAllText==null?D(l):this.selectAllText))))}hasSelection(){return this.multiple?this.value.length>0:this.value!==""}hasDeselectedOptions(){return this.getVisibleItems().some((e=>!e.disabled&&!e.checked))}get host(){return i(this)}static get watchers(){return{disabled:["handleDisabledChange"],helpText:["handleLabelChange"],errorText:["handleLabelChange"],label:["handleLabelChange"],multiple:["handleMultipleChange"],value:["handleValueChange"]}}};function v(e,t){return t.filter((t=>e.includes(t.value)))}function _(e){return e.getBoundingClientRect().width}function g(e,t){let s=0;let i=0;for(let o=0;o<e.length;o++){const l=e[o];const r=_(l);if(o===0&&r>t){i=1;break}s+=r;if(s>t){break}else{i+=1}}const o=e.length-i;return{fitCount:i,overflowCount:o}}function y(e,t){if(e.length>0){e.slice(0,t).forEach(((e,t,s)=>{z(e);const i=t===s.length-1;if(i){w(e)}else{k(e)}}));e.slice(t).forEach((e=>{C(e);k(e)}))}}function w(e){var t;(t=e.querySelector(".separator"))===null||t===void 0?void 0:t.classList.add("separator--hidden")}function k(e){var t;(t=e.querySelector(".separator"))===null||t===void 0?void 0:t.classList.remove("separator--hidden")}function z(e){e.classList.remove("display-value--hidden")}function C(e){e.classList.add("display-value--hidden")}function S(e,t){e.textContent=`+${t}`}function A(e){e.classList.remove("overflow-count-hidden")}function T(e){e.classList.add("overflow-count-hidden")}function D(e){const t=d();switch(t){case"de":return e?"Alle auswählen":"Alle abwählen";case"fr":return e?"Tout sélectionner":"Tout désélectionner";case"it":return e?"Seleziona tutto":"Deseleziona tutto";case"en":return e?"Select all":"Deselect all";case"es":return e?"Seleccionar todo":"Deseleccionar todo"}}m.style=p;export{m as six_select};
2
+ //# sourceMappingURL=p-6607d03a.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,h as r,H as s}from"./p-D0Go1Zjj.js";const i=":host{position:relative;isolation:isolate;height:100%;display:flex;align-items:center;box-sizing:border-box;padding:0 var(--six-spacing-large);border-bottom:solid var(--six-header-border-height) transparent;border-top:solid var(--six-header-border-height) transparent}:host(.six-header-item--active){border-bottom:solid var(--six-header-border-height) var(--six-header-border-color-open)}";const o=class{constructor(r){e(this,r);this.active=false}render(){return r(s,{key:"c53b61e12c5df9a806e3b3fb9d5d5398dd7d928f",class:{"six-header-item--active":this.active}},r("slot",{key:"92e5a89e4a4bcb795c3bfc9f3e076d267be01153"}))}};o.style=i;export{o as six_header_item};
2
- //# sourceMappingURL=p-baf698e1.entry.js.map
1
+ import{r as e,h as r,H as s}from"./p-JoG9I7EO.js";const a=":host{position:relative;isolation:isolate;height:100%;display:flex;align-items:center;box-sizing:border-box;padding:0 var(--six-spacing-large);border-bottom:solid var(--six-header-border-height) transparent;border-top:solid var(--six-header-border-height) transparent}:host(.six-header-item--active){border-bottom:solid var(--six-header-border-height) var(--six-header-border-color-open)}";const i=class{constructor(r){e(this,r);this.active=false}render(){return r(s,{key:"e94d72bc167c8ade7d81f416f48ee900693f48c0",class:{"six-header-item--active":this.active}},r("slot",{key:"86eac95abbec808cfe2bab0f1ad4b89dd69d781d"}))}};i.style=a;export{i as six_header_item};
2
+ //# sourceMappingURL=p-664ddbab.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as i,c as s,h as t}from"./p-D0Go1Zjj.js";import{s as e}from"./p-BY6hIEFX.js";const o=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{display:block;height:100%}.sidebar__container{height:100%;overflow:auto}.sidebar__container.sidebar--open{border-right:1px solid var(--six-color-web-rock-300)}.sidebar__container:not(.sidebar--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.sidebar--left{color:var(--six-sidebar-color);background-color:var(--six-sidebar-background-color);transition:var(--six-transition-medium) margin-left;background-size:300vw 70%;background-position:bottom;background-repeat:no-repeat}.sidebar--right{transition:var(--six-transition-medium) margin-right}.sidebar--open.sidebar--left{margin-right:2px}.sidebar--open.sidebar--right{margin-left:2px}";const r=i=>{var s;return((s=i===null||i===void 0?void 0:i.tagName)===null||s===void 0?void 0:s.toLowerCase())==="six-sidebar-item-group"};const n=class{constructor(t){i(this,t);this.sixShow=s(this,"six-sidebar-show");this.sixAfterShow=s(this,"six-sidebar-after-show");this.sixHide=s(this,"six-sidebar-hide");this.sixAfterHide=s(this,"six-sidebar-after-hide");this.sixInitialFocus=s(this,"six-sidebar-initial-focus");this.willShow=false;this.willHide=false;this.isVisible=false;this.position="left";this.open=false;this.width="16rem";this.toggled=false;this.handleTransitionEnd=i=>{const s=i.target;if(i.type==="transitionend"&&s.classList.contains("sidebar__container")){this.resetTransitionVariables()}};this.closeSiblingDetailsOnShow=i=>{const s=i.target;if(this.sidebar!=null){e(s,this.sidebar)}const t=i=>{var t;let e=s;while(i(e)!=null){e=i(e);if(r(e)){const i=(t=e===null||e===void 0?void 0:e.shadowRoot)===null||t===void 0?void 0:t.querySelector("six-details");if(i!=null){i.open=false}}}};t((i=>i===null||i===void 0?void 0:i.previousElementSibling));t((i=>i===null||i===void 0?void 0:i.nextElementSibling))}}handleOpenChange(){this.open?this.show():this.hide()}componentWillLoad(){if(this.open){void this.show();this.resetTransitionVariables()}}componentDidRender(){this.setupTogglableMenuItems()}disconnectedCallback(){var i;(i=this.sidebar)===null||i===void 0?void 0:i.removeEventListener("six-details-show",this.closeSiblingDetailsOnShow)}setupTogglableMenuItems(){if(!this.toggled||this.sidebar==null)return;this.markAllMenuItemsAsSelectableEmpty();this.sidebar.addEventListener("six-details-show",this.closeSiblingDetailsOnShow)}markAllMenuItemsAsSelectableEmpty(){var i;const s=(i=this.sidebar)===null||i===void 0?void 0:i.querySelector("slot");const t=(s===null||s===void 0?void 0:s.assignedElements())||[];const e=[];while(t.length>0){const i=t.pop();if((i===null||i===void 0?void 0:i.shadowRoot)==null){continue}const s=i.shadowRoot.querySelectorAll("six-details");e.push(...s);const o=Array.from(i.children).filter(r);t.push(...o)}e.forEach((i=>i.selectableEmpty=true))}async toggle(){if(this.willShow||this.willHide){return}if(this.open){await this.hide()}else{await this.show()}}async show(){if(this.willShow){return}const i=this.sixShow.emit();if(i.defaultPrevented){this.open=false;return}this.willShow=true;this.isVisible=true;this.open=true}async hide(){if(this.willHide){return}const i=this.sixHide.emit();if(i.defaultPrevented){this.open=true;return}this.willHide=true;this.open=false}async selectItemByIndex(i){if(this.sidebar==null)return;const s=this.sidebar.querySelector("slot");const t=((s===null||s===void 0?void 0:s.assignedElements())||[]).flatMap((i=>{var s;const t=(s=i.shadowRoot)===null||s===void 0?void 0:s.querySelector("six-details");if(t==null){return[]}return[t]}));if(i<0||i>t.length-1){console.error(`Tried to access sidebar menu item by index, but provided index out of range. Provided index: ${i}`);return}await t[i].show()}async selectItemByName(i){var s,t,e;const o=(s=this.sidebar)===null||s===void 0?void 0:s.querySelector("slot");const r=o===null||o===void 0?void 0:o.assignedElements();if(r==null){return}const n=r.findIndex((s=>(s===null||s===void 0?void 0:s.name)===i));const a=(e=(t=r.at(n))===null||t===void 0?void 0:t.shadowRoot)===null||e===void 0?void 0:e.querySelector("six-details");await(a===null||a===void 0?void 0:a.show())}resetTransitionVariables(){this.isVisible=this.open;this.willShow=false;this.willHide=false;this.open?this.sixAfterShow.emit():this.sixAfterHide.emit()}render(){return t("host",{key:"38d2d55b73e862c71ef3912fac01f6abd43a3b7c",class:"six-sidebar"},t("div",{key:"b8a7a32d48016310f943b42d03f1c4a44ff5bca4",class:{sidebar__container:true,"sidebar--visible":this.isVisible,"sidebar--open":this.open,"sidebar--left":this.position==="left","sidebar--right":this.position==="right"},style:{width:this.width,[`margin-${this.position}`]:this.open?"0":`calc(1rem - ${this.width})`},ref:i=>this.sidebar=i,"aria-hidden":this.open?"false":"true",onTransitionEnd:this.handleTransitionEnd},t("slot",{key:"a13e1cd44a68fa3ad15a94ccc56ec7c09f689e4c"})))}static get watchers(){return{open:["handleOpenChange"]}}};n.style=o;export{n as six_sidebar};
2
- //# sourceMappingURL=p-830ed202.entry.js.map
1
+ import{r as i,c as s,h as t}from"./p-JoG9I7EO.js";import{s as e}from"./p-BY6hIEFX.js";const o=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{display:block;height:100%}.sidebar__container{height:100%;overflow:auto}.sidebar__container.sidebar--open{border-right:1px solid var(--six-color-web-rock-300)}.sidebar__container:not(.sidebar--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.sidebar--left{color:var(--six-sidebar-color);background-color:var(--six-sidebar-background-color);transition:var(--six-transition-medium) margin-left;background-size:300vw 70%;background-position:bottom;background-repeat:no-repeat}.sidebar--right{transition:var(--six-transition-medium) margin-right}.sidebar--open.sidebar--left{margin-right:2px}.sidebar--open.sidebar--right{margin-left:2px}";const r=i=>{var s;return((s=i===null||i===void 0?void 0:i.tagName)===null||s===void 0?void 0:s.toLowerCase())==="six-sidebar-item-group"};const n=class{constructor(t){i(this,t);this.sixShow=s(this,"six-sidebar-show");this.sixAfterShow=s(this,"six-sidebar-after-show");this.sixHide=s(this,"six-sidebar-hide");this.sixAfterHide=s(this,"six-sidebar-after-hide");this.sixInitialFocus=s(this,"six-sidebar-initial-focus");this.willShow=false;this.willHide=false;this.isVisible=false;this.position="left";this.open=false;this.width="16rem";this.toggled=false;this.handleTransitionEnd=i=>{const s=i.target;if(i.type==="transitionend"&&s.classList.contains("sidebar__container")){this.resetTransitionVariables()}};this.closeSiblingDetailsOnShow=i=>{const s=i.target;if(this.sidebar!=null){e(s,this.sidebar)}const t=i=>{var t;let e=s;while(i(e)!=null){e=i(e);if(r(e)){const i=(t=e===null||e===void 0?void 0:e.shadowRoot)===null||t===void 0?void 0:t.querySelector("six-details");if(i!=null){i.open=false}}}};t((i=>i===null||i===void 0?void 0:i.previousElementSibling));t((i=>i===null||i===void 0?void 0:i.nextElementSibling))}}handleOpenChange(){this.open?this.show():this.hide()}componentWillLoad(){if(this.open){void this.show();this.resetTransitionVariables()}}componentDidRender(){this.setupTogglableMenuItems()}disconnectedCallback(){var i;(i=this.sidebar)===null||i===void 0?void 0:i.removeEventListener("six-details-show",this.closeSiblingDetailsOnShow)}setupTogglableMenuItems(){if(!this.toggled||this.sidebar==null)return;this.markAllMenuItemsAsSelectableEmpty();this.sidebar.addEventListener("six-details-show",this.closeSiblingDetailsOnShow)}markAllMenuItemsAsSelectableEmpty(){var i;const s=(i=this.sidebar)===null||i===void 0?void 0:i.querySelector("slot");const t=(s===null||s===void 0?void 0:s.assignedElements())||[];const e=[];while(t.length>0){const i=t.pop();if((i===null||i===void 0?void 0:i.shadowRoot)==null){continue}const s=i.shadowRoot.querySelectorAll("six-details");e.push(...s);const o=Array.from(i.children).filter(r);t.push(...o)}e.forEach((i=>i.selectableEmpty=true))}async toggle(){if(this.willShow||this.willHide){return}if(this.open){await this.hide()}else{await this.show()}}async show(){if(this.willShow){return}const i=this.sixShow.emit();if(i.defaultPrevented){this.open=false;return}this.willShow=true;this.isVisible=true;this.open=true}async hide(){if(this.willHide){return}const i=this.sixHide.emit();if(i.defaultPrevented){this.open=true;return}this.willHide=true;this.open=false}async selectItemByIndex(i){if(this.sidebar==null)return;const s=this.sidebar.querySelector("slot");const t=((s===null||s===void 0?void 0:s.assignedElements())||[]).flatMap((i=>{var s;const t=(s=i.shadowRoot)===null||s===void 0?void 0:s.querySelector("six-details");if(t==null){return[]}return[t]}));if(i<0||i>t.length-1){console.error(`Tried to access sidebar menu item by index, but provided index out of range. Provided index: ${i}`);return}await t[i].show()}async selectItemByName(i){var s,t,e;const o=(s=this.sidebar)===null||s===void 0?void 0:s.querySelector("slot");const r=o===null||o===void 0?void 0:o.assignedElements();if(r==null){return}const n=r.findIndex((s=>(s===null||s===void 0?void 0:s.name)===i));const a=(e=(t=r.at(n))===null||t===void 0?void 0:t.shadowRoot)===null||e===void 0?void 0:e.querySelector("six-details");await(a===null||a===void 0?void 0:a.show())}resetTransitionVariables(){this.isVisible=this.open;this.willShow=false;this.willHide=false;this.open?this.sixAfterShow.emit():this.sixAfterHide.emit()}render(){return t("host",{key:"1aae217047bea8e29e86256812a8a67a6eff4ce9",class:"six-sidebar"},t("div",{key:"d9d70f022ffaeae09003dfc130b40707ad9e3512",class:{sidebar__container:true,"sidebar--visible":this.isVisible,"sidebar--open":this.open,"sidebar--left":this.position==="left","sidebar--right":this.position==="right"},style:{width:this.width,[`margin-${this.position}`]:this.open?"0":`calc(1rem - ${this.width})`},ref:i=>this.sidebar=i,"aria-hidden":this.open?"false":"true",onTransitionEnd:this.handleTransitionEnd},t("slot",{key:"d88754017cf07b12181cce2e10788291ad487257"})))}static get watchers(){return{open:["handleOpenChange"]}}};n.style=o;export{n as six_sidebar};
2
+ //# sourceMappingURL=p-66b94978.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r,h as e}from"./p-D0Go1Zjj.js";const o=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{--height:16px;--track-color:var(--six-progress-track-color);--indicator-color:var(--six-progress-indicator-color);--label-color:var(--six-progress-label-color);display:block}.progress-bar{position:relative;background-color:var(--track-color);height:var(--height);border-radius:var(--sl-border-radius-pill);overflow:hidden}.progress-bar__indicator{height:100%;font-family:var(--six-font-sans);font-size:12px;font-weight:var(--six-font-weight-normal);background-color:var(--indicator-color);color:var(--label-color);text-align:center;line-height:var(--height);white-space:nowrap;overflow:hidden;transition:400ms width, 400ms background-color;user-select:none}.progress-bar--indeterminate .progress-bar__indicator{position:absolute;animation:indeterminate 2.5s infinite cubic-bezier(0.37, 0, 0.63, 1)}@keyframes indeterminate{0%{left:-50%;width:50%}75%,100%{left:100%;width:50%}}";const a=class{constructor(e){r(this,e);this.percentage=0;this.indeterminate=false}render(){return e("div",{key:"e11c3e9f83321a55170e04e84ab63c2e8b9f12a7",part:"base",class:{"progress-bar":true,"progress-bar--indeterminate":this.indeterminate},role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":this.indeterminate?null:this.percentage},e("div",{key:"9c8b4a3f5ada54163272cbd7e8cf9e7cb90dc39b",part:"indicator",class:"progress-bar__indicator",style:{width:`${this.percentage}%`}},!this.indeterminate&&e("span",{key:"16be9dda6192ecf33efb192b23694cc006ceb4fd",part:"label",class:"progress-bar__label"},e("slot",{key:"1e102597d1ec71a54fecb87f336aa711fddd8558"}))))}};a.style=o;export{a as six_progress_bar};
2
- //# sourceMappingURL=p-36a316e0.entry.js.map
1
+ import{r,h as e}from"./p-JoG9I7EO.js";const o=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{--height:16px;--track-color:var(--six-progress-track-color);--indicator-color:var(--six-progress-indicator-color);--label-color:var(--six-progress-label-color);display:block}.progress-bar{position:relative;background-color:var(--track-color);height:var(--height);border-radius:var(--sl-border-radius-pill);overflow:hidden}.progress-bar__indicator{height:100%;font-family:var(--six-font-sans);font-size:12px;font-weight:var(--six-font-weight-normal);background-color:var(--indicator-color);color:var(--label-color);text-align:center;line-height:var(--height);white-space:nowrap;overflow:hidden;transition:400ms width, 400ms background-color;user-select:none}.progress-bar--indeterminate .progress-bar__indicator{position:absolute;animation:indeterminate 2.5s infinite cubic-bezier(0.37, 0, 0.63, 1)}@keyframes indeterminate{0%{left:-50%;width:50%}75%,100%{left:100%;width:50%}}";const a=class{constructor(e){r(this,e);this.percentage=0;this.indeterminate=false}render(){return e("div",{key:"d89c7c456819839b638cadc372bf2ab071e73918",part:"base",class:{"progress-bar":true,"progress-bar--indeterminate":this.indeterminate},role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":this.indeterminate?null:this.percentage},e("div",{key:"ce4d45162f0aeb2c5affd3a6aef552c2f4078a1b",part:"indicator",class:"progress-bar__indicator",style:{width:`${this.percentage}%`}},!this.indeterminate&&e("span",{key:"911269a53f42a7e94fc1be782f9e903e32650c75",part:"label",class:"progress-bar__label"},e("slot",{key:"59daab81dd0812c99c32b304479b794d94c6e82e"}))))}};a.style=o;export{a as six_progress_bar};
2
+ //# sourceMappingURL=p-66d616e8.entry.js.map