@six-group/ui-library 0.0.0-insider.a358260 → 0.0.0-insider.cd0cd0d

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 (737) hide show
  1. package/dist/cjs/event-listeners-b835dfae.js +61 -0
  2. package/dist/cjs/event-listeners-b835dfae.js.map +1 -0
  3. package/dist/cjs/{execution-control-46f388e0.js → execution-control-45c84c46.js} +6 -3
  4. package/dist/cjs/execution-control-45c84c46.js.map +1 -0
  5. package/dist/cjs/{focus-visible-0b352c74.js → focus-visible-e0d93a95.js} +3 -3
  6. package/dist/cjs/focus-visible-e0d93a95.js.map +1 -0
  7. package/dist/cjs/form-8cbd4e0e.js +20 -0
  8. package/dist/cjs/form-8cbd4e0e.js.map +1 -0
  9. package/dist/cjs/{form-control-2c17c573.js → form-control-8df00a52.js} +9 -10
  10. package/dist/cjs/form-control-8df00a52.js.map +1 -0
  11. package/dist/cjs/index.cjs.js +94 -0
  12. package/dist/cjs/index.cjs.js.map +1 -1
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/{modal-48d42228.js → modal-21350fb5.js} +4 -3
  15. package/dist/cjs/modal-21350fb5.js.map +1 -0
  16. package/dist/cjs/{popover-f743f62b.js → popover-8885d50f.js} +39 -31
  17. package/dist/cjs/popover-8885d50f.js.map +1 -0
  18. package/dist/cjs/popup-44836aaf.js +103 -0
  19. package/dist/cjs/popup-44836aaf.js.map +1 -0
  20. package/dist/cjs/set-attributes_2.cjs.entry.js +3 -1
  21. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  22. package/dist/cjs/six-alert.cjs.entry.js +17 -22
  23. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  24. package/dist/cjs/six-avatar.cjs.entry.js +4 -7
  25. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  26. package/dist/cjs/six-badge.cjs.entry.js +1 -1
  27. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-button.cjs.entry.js +35 -33
  29. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-checkbox.cjs.entry.js +9 -47
  32. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  33. package/dist/cjs/six-datepicker.cjs.entry.js +150 -278
  34. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-details.cjs.entry.js +47 -46
  36. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  37. package/dist/cjs/six-dialog.cjs.entry.js +35 -39
  38. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-drawer.cjs.entry.js +32 -36
  40. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-dropdown_2.cjs.entry.js +214 -195
  42. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-error-page.cjs.entry.js +19 -21
  44. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-file-list-item.cjs.entry.js +1 -1
  46. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  47. package/dist/cjs/six-file-upload.cjs.entry.js +20 -20
  48. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-group-label.cjs.entry.js +11 -10
  50. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-header.cjs.entry.js +65 -43
  52. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  53. package/dist/cjs/six-icon-button.cjs.entry.js +3 -3
  54. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-input.cjs.entry.js +28 -87
  56. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-item-picker.cjs.entry.js +58 -77
  58. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-language-switcher.cjs.entry.js +1 -1
  60. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-layout-grid.cjs.entry.js +4 -2
  62. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-menu-item.cjs.entry.js +8 -6
  65. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-picto.cjs.entry.js +4 -1
  67. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-progress-ring.cjs.entry.js +3 -3
  69. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-radio.cjs.entry.js +17 -23
  71. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-range.cjs.entry.js +6 -44
  73. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-root.cjs.entry.js +1 -1
  75. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-search-field.cjs.entry.js +10 -5
  77. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-select.cjs.entry.js +129 -222
  79. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +9 -5
  81. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-sidebar.cjs.entry.js +39 -18
  83. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-switch.cjs.entry.js +54 -62
  86. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-tab-group.cjs.entry.js +130 -112
  88. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-tab-panel.cjs.entry.js +1 -1
  90. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-tab.cjs.entry.js +4 -2
  92. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-tag.cjs.entry.js +4 -7
  94. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-textarea.cjs.entry.js +27 -76
  96. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-tile.cjs.entry.js +13 -16
  98. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-timepicker.cjs.entry.js +157 -213
  100. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-tooltip.cjs.entry.js +53 -56
  102. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  103. package/dist/cjs/{slot-ad537f24.js → slot-bccbdb59.js} +11 -10
  104. package/dist/cjs/slot-bccbdb59.js.map +1 -0
  105. package/dist/cjs/ui-library.cjs.js +1 -1
  106. package/dist/collection/collection-manifest.json +0 -1
  107. package/dist/collection/components/six-alert/six-alert.js +17 -22
  108. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  109. package/dist/collection/components/six-avatar/six-avatar.js +4 -7
  110. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  111. package/dist/collection/components/six-badge/six-badge.js +1 -1
  112. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  113. package/dist/collection/components/six-button/six-button.js +44 -40
  114. package/dist/collection/components/six-button/six-button.js.map +1 -1
  115. package/dist/collection/components/six-card/six-card.js +1 -1
  116. package/dist/collection/components/six-card/six-card.js.map +1 -1
  117. package/dist/collection/components/six-checkbox/six-checkbox.js +20 -128
  118. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  119. package/dist/collection/components/six-datepicker/components/day-selection.js +2 -2
  120. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  121. package/dist/collection/components/six-datepicker/components/month-selection.js +4 -3
  122. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  123. package/dist/collection/components/six-datepicker/components/year-selection.js +9 -6
  124. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  125. package/dist/collection/components/six-datepicker/six-datepicker.js +186 -376
  126. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  127. package/dist/collection/components/six-details/six-details.js +51 -50
  128. package/dist/collection/components/six-details/six-details.js.map +1 -1
  129. package/dist/collection/components/six-dialog/six-dialog.js +34 -38
  130. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  131. package/dist/collection/components/six-drawer/six-drawer.js +31 -35
  132. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  133. package/dist/collection/components/six-dropdown/six-dropdown.js +185 -173
  134. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  135. package/dist/collection/components/six-error-page/six-error-page.js +25 -27
  136. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  137. package/dist/collection/components/six-file-list-item/six-file-list-item.js +3 -3
  138. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  139. package/dist/collection/components/six-file-upload/six-file-upload.js +32 -32
  140. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  141. package/dist/collection/components/six-group-label/six-group-label.js +12 -10
  142. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  143. package/dist/collection/components/six-header/six-header.js +64 -42
  144. package/dist/collection/components/six-header/six-header.js.map +1 -1
  145. package/dist/collection/components/six-icon-button/six-icon-button.js +8 -8
  146. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  147. package/dist/collection/components/six-input/six-input.js +77 -274
  148. package/dist/collection/components/six-input/six-input.js.map +1 -1
  149. package/dist/collection/components/six-item-picker/six-item-picker.js +65 -84
  150. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  151. package/dist/collection/components/six-language-switcher/six-language-switcher.js +2 -2
  152. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  153. package/dist/collection/components/six-layout-grid/six-layout-grid.js +10 -8
  154. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  155. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  156. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  157. package/dist/collection/components/six-menu/six-menu.js +29 -23
  158. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  159. package/dist/collection/components/six-menu-item/six-menu-item.js +7 -5
  160. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  161. package/dist/collection/components/six-picto/six-picto.js +5 -2
  162. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  163. package/dist/collection/components/six-progress-ring/six-progress-ring.js +5 -4
  164. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  165. package/dist/collection/components/six-radio/six-radio.js +21 -76
  166. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  167. package/dist/collection/components/six-range/six-range.js +27 -119
  168. package/dist/collection/components/six-range/six-range.js.map +1 -1
  169. package/dist/collection/components/six-root/six-root.js +4 -4
  170. package/dist/collection/components/six-root/six-root.js.map +1 -1
  171. package/dist/collection/components/six-search-field/six-search-field.js +10 -5
  172. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  173. package/dist/collection/components/six-select/six-select.js +165 -294
  174. package/dist/collection/components/six-select/six-select.js.map +1 -1
  175. package/dist/collection/components/six-select/util.js.map +1 -1
  176. package/dist/collection/components/six-sidebar/six-sidebar.js +40 -19
  177. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  178. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +12 -8
  179. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  180. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  181. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +1 -1
  182. package/dist/collection/components/six-switch/six-switch.css +77 -0
  183. package/dist/collection/components/six-switch/six-switch.js +96 -133
  184. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  185. package/dist/collection/components/six-tab/six-tab.js +5 -3
  186. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  187. package/dist/collection/components/six-tab-group/six-tab-group.js +130 -112
  188. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  189. package/dist/collection/components/six-tab-panel/six-tab-panel.js +2 -2
  190. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  191. package/dist/collection/components/six-tag/six-tag.js +4 -7
  192. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  193. package/dist/collection/components/six-textarea/six-textarea.js +72 -207
  194. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  195. package/dist/collection/components/six-tile/six-tile.js +17 -20
  196. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  197. package/dist/collection/components/six-timepicker/six-timepicker.js +153 -254
  198. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  199. package/dist/collection/components/six-tooltip/six-tooltip.js +56 -59
  200. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  201. package/dist/collection/functional-components/form-control/form-control.js +8 -9
  202. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  203. package/dist/collection/index.js +1 -1
  204. package/dist/collection/index.js.map +1 -1
  205. package/dist/collection/testUtil/delay.js.map +1 -1
  206. package/dist/collection/utils/date-util.js +25 -16
  207. package/dist/collection/utils/date-util.js.map +1 -1
  208. package/dist/collection/utils/error-messages.js +91 -0
  209. package/dist/collection/utils/error-messages.js.map +1 -0
  210. package/dist/collection/utils/event-listeners.js +22 -6
  211. package/dist/collection/utils/event-listeners.js.map +1 -1
  212. package/dist/collection/utils/execution-control.js +5 -4
  213. package/dist/collection/utils/execution-control.js.map +1 -1
  214. package/dist/collection/utils/focus-visible.js +2 -2
  215. package/dist/collection/utils/focus-visible.js.map +1 -1
  216. package/dist/collection/utils/form.js +15 -0
  217. package/dist/collection/utils/form.js.map +1 -0
  218. package/dist/collection/utils/modal.js +3 -2
  219. package/dist/collection/utils/modal.js.map +1 -1
  220. package/dist/collection/utils/popover.js +32 -18
  221. package/dist/collection/utils/popover.js.map +1 -1
  222. package/dist/collection/utils/popup.js +95 -0
  223. package/dist/collection/utils/popup.js.map +1 -0
  224. package/dist/collection/utils/slot.js +9 -24
  225. package/dist/collection/utils/slot.js.map +1 -1
  226. package/dist/collection/utils/tabbable.js +6 -6
  227. package/dist/collection/utils/tabbable.js.map +1 -1
  228. package/dist/collection/utils/time.util.js +48 -34
  229. package/dist/collection/utils/time.util.js.map +1 -1
  230. package/dist/collection/utils/type-check.js +0 -1
  231. package/dist/collection/utils/type-check.js.map +1 -1
  232. package/dist/collection/wrappers/set-attributes/set-attributes.js +3 -1
  233. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  234. package/dist/components/event-listeners.js +22 -6
  235. package/dist/components/event-listeners.js.map +1 -1
  236. package/dist/components/execution-control.js +5 -2
  237. package/dist/components/execution-control.js.map +1 -1
  238. package/dist/components/focus-visible.js +2 -2
  239. package/dist/components/focus-visible.js.map +1 -1
  240. package/dist/components/form-control.js +8 -9
  241. package/dist/components/form-control.js.map +1 -1
  242. package/dist/components/form.js +18 -0
  243. package/dist/components/form.js.map +1 -0
  244. package/dist/components/index.js +92 -3
  245. package/dist/components/index.js.map +1 -1
  246. package/dist/components/modal.js +3 -2
  247. package/dist/components/modal.js.map +1 -1
  248. package/dist/components/popover.js +38 -30
  249. package/dist/components/popover.js.map +1 -1
  250. package/dist/components/set-attributes2.js +3 -1
  251. package/dist/components/set-attributes2.js.map +1 -1
  252. package/dist/components/six-alert.js +17 -22
  253. package/dist/components/six-alert.js.map +1 -1
  254. package/dist/components/six-avatar.js +4 -7
  255. package/dist/components/six-avatar.js.map +1 -1
  256. package/dist/components/six-badge.js +1 -1
  257. package/dist/components/six-badge.js.map +1 -1
  258. package/dist/components/six-button.js +34 -32
  259. package/dist/components/six-button.js.map +1 -1
  260. package/dist/components/six-card.js.map +1 -1
  261. package/dist/components/six-checkbox.js +7 -50
  262. package/dist/components/six-checkbox.js.map +1 -1
  263. package/dist/components/six-datepicker.js +150 -281
  264. package/dist/components/six-datepicker.js.map +1 -1
  265. package/dist/components/six-details2.js +46 -45
  266. package/dist/components/six-details2.js.map +1 -1
  267. package/dist/components/six-dialog.js +33 -37
  268. package/dist/components/six-dialog.js.map +1 -1
  269. package/dist/components/six-drawer.js +30 -34
  270. package/dist/components/six-drawer.js.map +1 -1
  271. package/dist/components/six-dropdown2.js +185 -173
  272. package/dist/components/six-dropdown2.js.map +1 -1
  273. package/dist/components/six-error-page.js +19 -21
  274. package/dist/components/six-error-page.js.map +1 -1
  275. package/dist/components/six-file-list-item.js +1 -1
  276. package/dist/components/six-file-list-item.js.map +1 -1
  277. package/dist/components/six-file-upload.js +20 -20
  278. package/dist/components/six-file-upload.js.map +1 -1
  279. package/dist/components/six-group-label.js +10 -9
  280. package/dist/components/six-group-label.js.map +1 -1
  281. package/dist/components/six-header.js +64 -42
  282. package/dist/components/six-header.js.map +1 -1
  283. package/dist/components/six-icon-button2.js +2 -2
  284. package/dist/components/six-icon-button2.js.map +1 -1
  285. package/dist/components/six-input2.js +30 -98
  286. package/dist/components/six-input2.js.map +1 -1
  287. package/dist/components/six-item-picker2.js +56 -75
  288. package/dist/components/six-item-picker2.js.map +1 -1
  289. package/dist/components/six-language-switcher.js +1 -1
  290. package/dist/components/six-language-switcher.js.map +1 -1
  291. package/dist/components/six-layout-grid.js +5 -3
  292. package/dist/components/six-layout-grid.js.map +1 -1
  293. package/dist/components/six-main-container.js.map +1 -1
  294. package/dist/components/six-menu-item2.js +7 -5
  295. package/dist/components/six-menu-item2.js.map +1 -1
  296. package/dist/components/six-menu2.js +25 -18
  297. package/dist/components/six-menu2.js.map +1 -1
  298. package/dist/components/six-picto2.js +4 -1
  299. package/dist/components/six-picto2.js.map +1 -1
  300. package/dist/components/six-progress-ring.js +3 -3
  301. package/dist/components/six-progress-ring.js.map +1 -1
  302. package/dist/components/six-radio.js +19 -28
  303. package/dist/components/six-radio.js.map +1 -1
  304. package/dist/components/six-range.js +8 -50
  305. package/dist/components/six-range.js.map +1 -1
  306. package/dist/components/six-root.js +1 -1
  307. package/dist/components/six-root.js.map +1 -1
  308. package/dist/components/six-search-field.js +8 -3
  309. package/dist/components/six-search-field.js.map +1 -1
  310. package/dist/components/six-select.js +129 -228
  311. package/dist/components/six-select.js.map +1 -1
  312. package/dist/components/six-sidebar-item-group.js +8 -4
  313. package/dist/components/six-sidebar-item-group.js.map +1 -1
  314. package/dist/components/six-sidebar.js +39 -18
  315. package/dist/components/six-sidebar.js.map +1 -1
  316. package/dist/components/six-spinner2.js.map +1 -1
  317. package/dist/components/six-switch.js +58 -68
  318. package/dist/components/six-switch.js.map +1 -1
  319. package/dist/components/six-tab-group.js +129 -111
  320. package/dist/components/six-tab-group.js.map +1 -1
  321. package/dist/components/six-tab-panel.js +1 -1
  322. package/dist/components/six-tab-panel.js.map +1 -1
  323. package/dist/components/six-tab.js +4 -2
  324. package/dist/components/six-tab.js.map +1 -1
  325. package/dist/components/six-tag2.js +4 -7
  326. package/dist/components/six-tag2.js.map +1 -1
  327. package/dist/components/six-textarea.js +29 -84
  328. package/dist/components/six-textarea.js.map +1 -1
  329. package/dist/components/six-tile.js +14 -17
  330. package/dist/components/six-tile.js.map +1 -1
  331. package/dist/components/six-timepicker.js +1 -1
  332. package/dist/components/six-timepicker2.js +247 -258
  333. package/dist/components/six-timepicker2.js.map +1 -1
  334. package/dist/components/six-tooltip2.js +52 -55
  335. package/dist/components/six-tooltip2.js.map +1 -1
  336. package/dist/components/slot.js +10 -9
  337. package/dist/components/slot.js.map +1 -1
  338. package/dist/components.json +494 -891
  339. package/dist/esm/event-listeners-535f3ad1.js +59 -0
  340. package/dist/esm/event-listeners-535f3ad1.js.map +1 -0
  341. package/dist/esm/{execution-control-1a60d709.js → execution-control-72cc50f4.js} +6 -3
  342. package/dist/esm/execution-control-72cc50f4.js.map +1 -0
  343. package/dist/esm/{focus-visible-97933ea9.js → focus-visible-fa7129a0.js} +3 -3
  344. package/dist/esm/focus-visible-fa7129a0.js.map +1 -0
  345. package/dist/esm/form-0b9c11cd.js +18 -0
  346. package/dist/esm/form-0b9c11cd.js.map +1 -0
  347. package/dist/esm/{form-control-3b440ea1.js → form-control-785c5f79.js} +9 -10
  348. package/dist/esm/form-control-785c5f79.js.map +1 -0
  349. package/dist/esm/index.js +91 -0
  350. package/dist/esm/index.js.map +1 -1
  351. package/dist/esm/loader.js +1 -1
  352. package/dist/esm/{modal-5ebdc320.js → modal-b1d96441.js} +4 -3
  353. package/dist/esm/modal-b1d96441.js.map +1 -0
  354. package/dist/esm/{popover-bd2c2fca.js → popover-2e72e7d8.js} +39 -31
  355. package/dist/esm/popover-2e72e7d8.js.map +1 -0
  356. package/dist/esm/popup-678b8592.js +98 -0
  357. package/dist/esm/popup-678b8592.js.map +1 -0
  358. package/dist/esm/set-attributes_2.entry.js +3 -1
  359. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  360. package/dist/esm/six-alert.entry.js +17 -22
  361. package/dist/esm/six-alert.entry.js.map +1 -1
  362. package/dist/esm/six-avatar.entry.js +4 -7
  363. package/dist/esm/six-avatar.entry.js.map +1 -1
  364. package/dist/esm/six-badge.entry.js +1 -1
  365. package/dist/esm/six-badge.entry.js.map +1 -1
  366. package/dist/esm/six-button.entry.js +35 -33
  367. package/dist/esm/six-button.entry.js.map +1 -1
  368. package/dist/esm/six-card.entry.js.map +1 -1
  369. package/dist/esm/six-checkbox.entry.js +9 -47
  370. package/dist/esm/six-checkbox.entry.js.map +1 -1
  371. package/dist/esm/six-datepicker.entry.js +148 -276
  372. package/dist/esm/six-datepicker.entry.js.map +1 -1
  373. package/dist/esm/six-details.entry.js +47 -46
  374. package/dist/esm/six-details.entry.js.map +1 -1
  375. package/dist/esm/six-dialog.entry.js +35 -39
  376. package/dist/esm/six-dialog.entry.js.map +1 -1
  377. package/dist/esm/six-drawer.entry.js +32 -36
  378. package/dist/esm/six-drawer.entry.js.map +1 -1
  379. package/dist/esm/six-dropdown_2.entry.js +214 -195
  380. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  381. package/dist/esm/six-error-page.entry.js +19 -21
  382. package/dist/esm/six-error-page.entry.js.map +1 -1
  383. package/dist/esm/six-file-list-item.entry.js +1 -1
  384. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  385. package/dist/esm/six-file-upload.entry.js +20 -20
  386. package/dist/esm/six-file-upload.entry.js.map +1 -1
  387. package/dist/esm/six-group-label.entry.js +11 -10
  388. package/dist/esm/six-group-label.entry.js.map +1 -1
  389. package/dist/esm/six-header.entry.js +65 -43
  390. package/dist/esm/six-header.entry.js.map +1 -1
  391. package/dist/esm/six-icon-button.entry.js +3 -3
  392. package/dist/esm/six-icon-button.entry.js.map +1 -1
  393. package/dist/esm/six-input.entry.js +28 -87
  394. package/dist/esm/six-input.entry.js.map +1 -1
  395. package/dist/esm/six-item-picker.entry.js +58 -77
  396. package/dist/esm/six-item-picker.entry.js.map +1 -1
  397. package/dist/esm/six-language-switcher.entry.js +1 -1
  398. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  399. package/dist/esm/six-layout-grid.entry.js +4 -2
  400. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  401. package/dist/esm/six-main-container.entry.js.map +1 -1
  402. package/dist/esm/six-menu-item.entry.js +8 -6
  403. package/dist/esm/six-menu-item.entry.js.map +1 -1
  404. package/dist/esm/six-picto.entry.js +4 -1
  405. package/dist/esm/six-picto.entry.js.map +1 -1
  406. package/dist/esm/six-progress-ring.entry.js +3 -3
  407. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  408. package/dist/esm/six-radio.entry.js +17 -23
  409. package/dist/esm/six-radio.entry.js.map +1 -1
  410. package/dist/esm/six-range.entry.js +6 -44
  411. package/dist/esm/six-range.entry.js.map +1 -1
  412. package/dist/esm/six-root.entry.js +1 -1
  413. package/dist/esm/six-root.entry.js.map +1 -1
  414. package/dist/esm/six-search-field.entry.js +10 -5
  415. package/dist/esm/six-search-field.entry.js.map +1 -1
  416. package/dist/esm/six-select.entry.js +129 -222
  417. package/dist/esm/six-select.entry.js.map +1 -1
  418. package/dist/esm/six-sidebar-item-group.entry.js +9 -5
  419. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  420. package/dist/esm/six-sidebar.entry.js +39 -18
  421. package/dist/esm/six-sidebar.entry.js.map +1 -1
  422. package/dist/esm/six-spinner.entry.js.map +1 -1
  423. package/dist/esm/six-switch.entry.js +55 -63
  424. package/dist/esm/six-switch.entry.js.map +1 -1
  425. package/dist/esm/six-tab-group.entry.js +130 -112
  426. package/dist/esm/six-tab-group.entry.js.map +1 -1
  427. package/dist/esm/six-tab-panel.entry.js +1 -1
  428. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  429. package/dist/esm/six-tab.entry.js +4 -2
  430. package/dist/esm/six-tab.entry.js.map +1 -1
  431. package/dist/esm/six-tag.entry.js +4 -7
  432. package/dist/esm/six-tag.entry.js.map +1 -1
  433. package/dist/esm/six-textarea.entry.js +27 -76
  434. package/dist/esm/six-textarea.entry.js.map +1 -1
  435. package/dist/esm/six-tile.entry.js +13 -16
  436. package/dist/esm/six-tile.entry.js.map +1 -1
  437. package/dist/esm/six-timepicker.entry.js +157 -213
  438. package/dist/esm/six-timepicker.entry.js.map +1 -1
  439. package/dist/esm/six-tooltip.entry.js +53 -56
  440. package/dist/esm/six-tooltip.entry.js.map +1 -1
  441. package/dist/esm/{slot-6f3984c7.js → slot-2e64df19.js} +11 -10
  442. package/dist/esm/slot-2e64df19.js.map +1 -0
  443. package/dist/esm/ui-library.js +1 -1
  444. package/dist/types/components/six-alert/six-alert.d.ts +5 -7
  445. package/dist/types/components/six-avatar/six-avatar.d.ts +1 -2
  446. package/dist/types/components/six-badge/six-badge.d.ts +0 -1
  447. package/dist/types/components/six-button/six-button.d.ts +8 -9
  448. package/dist/types/components/six-checkbox/six-checkbox.d.ts +5 -17
  449. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  450. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  451. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  452. package/dist/types/components/six-datepicker/six-datepicker.d.ts +41 -52
  453. package/dist/types/components/six-details/six-details.d.ts +12 -12
  454. package/dist/types/components/six-dialog/six-dialog.d.ts +12 -13
  455. package/dist/types/components/six-drawer/six-drawer.d.ts +12 -13
  456. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -32
  457. package/dist/types/components/six-error-page/six-error-page.d.ts +1 -1
  458. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +3 -3
  459. package/dist/types/components/six-file-upload/six-file-upload.d.ts +11 -11
  460. package/dist/types/components/six-group-label/six-group-label.d.ts +5 -5
  461. package/dist/types/components/six-header/six-header.d.ts +16 -27
  462. package/dist/types/components/six-icon-button/six-icon-button.d.ts +4 -4
  463. package/dist/types/components/six-input/six-input.d.ts +9 -35
  464. package/dist/types/components/six-item-picker/six-item-picker.d.ts +13 -16
  465. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +1 -1
  466. package/dist/types/components/six-menu/six-menu.d.ts +10 -11
  467. package/dist/types/components/six-menu-item/six-menu-item.d.ts +6 -6
  468. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +2 -2
  469. package/dist/types/components/six-radio/six-radio.d.ts +5 -10
  470. package/dist/types/components/six-range/six-range.d.ts +6 -21
  471. package/dist/types/components/six-root/six-root.d.ts +3 -3
  472. package/dist/types/components/six-search-field/six-search-field.d.ts +4 -5
  473. package/dist/types/components/six-select/six-select.d.ts +19 -31
  474. package/dist/types/components/six-sidebar/six-sidebar.d.ts +5 -5
  475. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +7 -6
  476. package/dist/types/components/six-spinner/six-spinner.d.ts +2 -2
  477. package/dist/types/components/six-switch/six-switch.d.ts +18 -21
  478. package/dist/types/components/six-tab/six-tab.d.ts +3 -3
  479. package/dist/types/components/six-tab-group/six-tab-group.d.ts +20 -21
  480. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +1 -1
  481. package/dist/types/components/six-tag/six-tag.d.ts +1 -3
  482. package/dist/types/components/six-textarea/six-textarea.d.ts +9 -28
  483. package/dist/types/components/six-tile/six-tile.d.ts +2 -3
  484. package/dist/types/components/six-timepicker/six-timepicker.d.ts +26 -43
  485. package/dist/types/components/six-tooltip/six-tooltip.d.ts +19 -21
  486. package/dist/types/components.d.ts +190 -417
  487. package/dist/types/functional-components/form-control/form-control.d.ts +5 -6
  488. package/dist/types/index.d.ts +1 -0
  489. package/dist/types/testUtil/delay.d.ts +1 -1
  490. package/dist/types/types.d.ts +2 -0
  491. package/dist/types/utils/date-util.d.ts +18 -10
  492. package/dist/types/utils/error-messages.d.ts +42 -0
  493. package/dist/types/utils/event-listeners.d.ts +2 -1
  494. package/dist/types/utils/execution-control.d.ts +1 -3
  495. package/dist/types/utils/form.d.ts +1 -0
  496. package/dist/types/utils/modal.d.ts +2 -2
  497. package/dist/types/utils/popover.d.ts +5 -5
  498. package/dist/types/utils/popup.d.ts +9 -0
  499. package/dist/types/utils/slot.d.ts +2 -7
  500. package/dist/types/utils/tabbable.d.ts +1 -1
  501. package/dist/types/utils/time.util.d.ts +18 -9
  502. package/dist/types/utils/type-check.d.ts +3 -4
  503. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +1 -1
  504. package/dist/ui-library/index.esm.js +1 -1
  505. package/dist/ui-library/index.esm.js.map +1 -1
  506. package/dist/ui-library/p-0108fe92.entry.js +2 -0
  507. package/dist/ui-library/p-0108fe92.entry.js.map +1 -0
  508. package/dist/ui-library/p-03a145f5.entry.js +2 -0
  509. package/dist/ui-library/p-03a145f5.entry.js.map +1 -0
  510. package/dist/ui-library/{p-3c635d0a.entry.js → p-087fdd96.entry.js} +2 -2
  511. package/dist/ui-library/p-087fdd96.entry.js.map +1 -0
  512. package/dist/ui-library/p-09779e47.entry.js +2 -0
  513. package/dist/ui-library/p-09779e47.entry.js.map +1 -0
  514. package/dist/ui-library/p-097cced4.entry.js.map +1 -1
  515. package/dist/ui-library/p-0b2c6348.js +2 -0
  516. package/dist/ui-library/p-0b2c6348.js.map +1 -0
  517. package/dist/ui-library/p-0cc08e91.js +2 -0
  518. package/dist/ui-library/p-0cc08e91.js.map +1 -0
  519. package/dist/ui-library/p-0fe78f9b.js +2 -0
  520. package/dist/ui-library/p-0fe78f9b.js.map +1 -0
  521. package/dist/ui-library/p-18e9f8b8.entry.js +2 -0
  522. package/dist/ui-library/p-18e9f8b8.entry.js.map +1 -0
  523. package/dist/ui-library/p-2761f908.js +2 -0
  524. package/dist/ui-library/p-2761f908.js.map +1 -0
  525. package/dist/ui-library/{p-19b50b5a.entry.js → p-28be55f0.entry.js} +2 -2
  526. package/dist/ui-library/p-28be55f0.entry.js.map +1 -0
  527. package/dist/ui-library/{p-c349d1d4.entry.js → p-3929b0af.entry.js} +2 -2
  528. package/dist/ui-library/p-3929b0af.entry.js.map +1 -0
  529. package/dist/ui-library/{p-9328e5bc.entry.js → p-445ba5b8.entry.js} +2 -2
  530. package/dist/ui-library/p-445ba5b8.entry.js.map +1 -0
  531. package/dist/ui-library/p-4d408fb4.js +2 -0
  532. package/dist/ui-library/p-4d408fb4.js.map +1 -0
  533. package/dist/ui-library/p-502ff3d3.entry.js +2 -0
  534. package/dist/ui-library/p-502ff3d3.entry.js.map +1 -0
  535. package/dist/ui-library/p-5a34c93e.entry.js +2 -0
  536. package/dist/ui-library/p-5a34c93e.entry.js.map +1 -0
  537. package/dist/ui-library/p-60621dc6.js +2 -0
  538. package/dist/ui-library/p-60621dc6.js.map +1 -0
  539. package/dist/ui-library/p-63703ba3.entry.js.map +1 -1
  540. package/dist/ui-library/p-66180e89.entry.js +2 -0
  541. package/dist/ui-library/p-66180e89.entry.js.map +1 -0
  542. package/dist/ui-library/p-686b12ec.entry.js +2 -0
  543. package/dist/ui-library/p-686b12ec.entry.js.map +1 -0
  544. package/dist/ui-library/p-71035abf.entry.js +2 -0
  545. package/dist/ui-library/p-71035abf.entry.js.map +1 -0
  546. package/dist/ui-library/{p-8a970a40.entry.js → p-724e154d.entry.js} +2 -2
  547. package/dist/ui-library/p-724e154d.entry.js.map +1 -0
  548. package/dist/ui-library/p-72ca96e1.entry.js +2 -0
  549. package/dist/ui-library/p-72ca96e1.entry.js.map +1 -0
  550. package/dist/ui-library/p-73597d13.entry.js.map +1 -1
  551. package/dist/ui-library/{p-c30f9e0b.entry.js → p-778cf804.entry.js} +2 -2
  552. package/dist/ui-library/p-778cf804.entry.js.map +1 -0
  553. package/dist/ui-library/p-87032e26.entry.js +2 -0
  554. package/dist/ui-library/p-87032e26.entry.js.map +1 -0
  555. package/dist/ui-library/p-8cf72af6.js +2 -0
  556. package/dist/ui-library/p-8cf72af6.js.map +1 -0
  557. package/dist/ui-library/p-8e0b6b7e.entry.js +2 -0
  558. package/dist/ui-library/p-8e0b6b7e.entry.js.map +1 -0
  559. package/dist/ui-library/p-912092c0.entry.js +2 -0
  560. package/dist/ui-library/p-912092c0.entry.js.map +1 -0
  561. package/dist/ui-library/p-92ca6a84.entry.js +2 -0
  562. package/dist/ui-library/p-92ca6a84.entry.js.map +1 -0
  563. package/dist/ui-library/{p-d5633a29.entry.js → p-9337cdd6.entry.js} +2 -2
  564. package/dist/ui-library/p-9337cdd6.entry.js.map +1 -0
  565. package/dist/ui-library/p-9461417e.entry.js +2 -0
  566. package/dist/ui-library/p-9461417e.entry.js.map +1 -0
  567. package/dist/ui-library/p-a1d4f6cf.entry.js.map +1 -1
  568. package/dist/ui-library/p-a49ae60a.entry.js +2 -0
  569. package/dist/ui-library/p-a49ae60a.entry.js.map +1 -0
  570. package/dist/ui-library/{p-611e1978.entry.js → p-a844cb72.entry.js} +2 -2
  571. package/dist/ui-library/{p-611e1978.entry.js.map → p-a844cb72.entry.js.map} +1 -1
  572. package/dist/ui-library/p-afcbe9da.entry.js +2 -0
  573. package/dist/ui-library/p-afcbe9da.entry.js.map +1 -0
  574. package/dist/ui-library/{p-97cc839c.entry.js → p-b3bff992.entry.js} +2 -2
  575. package/dist/ui-library/p-b3bff992.entry.js.map +1 -0
  576. package/dist/ui-library/p-b4547fb5.entry.js +2 -0
  577. package/dist/ui-library/p-b4547fb5.entry.js.map +1 -0
  578. package/dist/ui-library/{p-4f8394d7.js → p-ba74863a.js} +2 -2
  579. package/dist/ui-library/p-ba74863a.js.map +1 -0
  580. package/dist/ui-library/p-bd8f8eef.entry.js +2 -0
  581. package/dist/ui-library/p-bd8f8eef.entry.js.map +1 -0
  582. package/dist/ui-library/p-c57f16af.entry.js +2 -0
  583. package/dist/ui-library/p-c57f16af.entry.js.map +1 -0
  584. package/dist/ui-library/p-c5cdba08.entry.js +2 -0
  585. package/dist/ui-library/p-c5cdba08.entry.js.map +1 -0
  586. package/dist/ui-library/p-c87810b0.entry.js +2 -0
  587. package/dist/ui-library/p-c87810b0.entry.js.map +1 -0
  588. package/dist/ui-library/{p-af793d04.entry.js → p-cdcde4cd.entry.js} +2 -2
  589. package/dist/ui-library/p-cdcde4cd.entry.js.map +1 -0
  590. package/dist/ui-library/p-d6798d35.entry.js +2 -0
  591. package/dist/ui-library/p-d6798d35.entry.js.map +1 -0
  592. package/dist/ui-library/p-d87a6f4d.js +2 -0
  593. package/dist/ui-library/p-d87a6f4d.js.map +1 -0
  594. package/dist/ui-library/p-dc3f5996.entry.js +2 -0
  595. package/dist/ui-library/p-dc3f5996.entry.js.map +1 -0
  596. package/dist/ui-library/p-dcd7c547.entry.js +2 -0
  597. package/dist/ui-library/p-dcd7c547.entry.js.map +1 -0
  598. package/dist/ui-library/p-e07b3f0c.entry.js +2 -0
  599. package/dist/ui-library/p-e07b3f0c.entry.js.map +1 -0
  600. package/dist/ui-library/{p-19364560.entry.js → p-e8feb81f.entry.js} +2 -2
  601. package/dist/ui-library/{p-19364560.entry.js.map → p-e8feb81f.entry.js.map} +1 -1
  602. package/dist/ui-library/p-ef3936e5.entry.js +2 -0
  603. package/dist/ui-library/p-ef3936e5.entry.js.map +1 -0
  604. package/dist/ui-library/p-f0dd77e1.entry.js +2 -0
  605. package/dist/ui-library/p-f0dd77e1.entry.js.map +1 -0
  606. package/dist/ui-library/ui-library.esm.js +1 -1
  607. package/dist/ui-library/ui-library.esm.js.map +1 -1
  608. package/package.json +2 -2
  609. package/dist/cjs/event-listeners-74715e62.js +0 -45
  610. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  611. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  612. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  613. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  614. package/dist/cjs/modal-48d42228.js.map +0 -1
  615. package/dist/cjs/popover-f743f62b.js.map +0 -1
  616. package/dist/cjs/six-form.cjs.entry.js +0 -231
  617. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  618. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  619. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  620. package/dist/cjs/slot-ad537f24.js.map +0 -1
  621. package/dist/collection/components/six-form/six-form.css +0 -11
  622. package/dist/collection/components/six-form/six-form.js +0 -419
  623. package/dist/collection/components/six-form/six-form.js.map +0 -1
  624. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  625. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  626. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  627. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  628. package/dist/collection/utils/as-array.js +0 -2
  629. package/dist/collection/utils/as-array.js.map +0 -1
  630. package/dist/collection/utils/matchers.js +0 -3
  631. package/dist/collection/utils/matchers.js.map +0 -1
  632. package/dist/collection/utils/testing.js +0 -39
  633. package/dist/collection/utils/testing.js.map +0 -1
  634. package/dist/components/six-form.d.ts +0 -11
  635. package/dist/components/six-form.js +0 -252
  636. package/dist/components/six-form.js.map +0 -1
  637. package/dist/esm/event-listeners-570a24ea.js +0 -43
  638. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  639. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  640. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  641. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  642. package/dist/esm/modal-5ebdc320.js.map +0 -1
  643. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  644. package/dist/esm/six-form.entry.js +0 -227
  645. package/dist/esm/six-form.entry.js.map +0 -1
  646. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  647. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  648. package/dist/esm/slot-6f3984c7.js.map +0 -1
  649. package/dist/types/components/six-form/six-form.d.ts +0 -69
  650. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  651. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  652. package/dist/types/utils/as-array.d.ts +0 -1
  653. package/dist/types/utils/matchers.d.ts +0 -2
  654. package/dist/types/utils/popper.d.ts +0 -33
  655. package/dist/types/utils/testing.d.ts +0 -2
  656. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  657. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  658. package/dist/ui-library/p-0786fa7c.js +0 -2
  659. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  660. package/dist/ui-library/p-163f2bb0.entry.js +0 -2
  661. package/dist/ui-library/p-163f2bb0.entry.js.map +0 -1
  662. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  663. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  664. package/dist/ui-library/p-18ea0c56.js +0 -2
  665. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  666. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  667. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  668. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  669. package/dist/ui-library/p-308261c4.entry.js +0 -2
  670. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  671. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  672. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  673. package/dist/ui-library/p-394a2a12.entry.js +0 -2
  674. package/dist/ui-library/p-394a2a12.entry.js.map +0 -1
  675. package/dist/ui-library/p-3c635d0a.entry.js.map +0 -1
  676. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  677. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  678. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  679. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  680. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  681. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  682. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  683. package/dist/ui-library/p-5a25d6fb.entry.js +0 -2
  684. package/dist/ui-library/p-5a25d6fb.entry.js.map +0 -1
  685. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  686. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  687. package/dist/ui-library/p-6433c0da.entry.js +0 -2
  688. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  689. package/dist/ui-library/p-79eee01b.js +0 -2
  690. package/dist/ui-library/p-79eee01b.js.map +0 -1
  691. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  692. package/dist/ui-library/p-90824648.entry.js +0 -2
  693. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  694. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  695. package/dist/ui-library/p-97cc839c.entry.js.map +0 -1
  696. package/dist/ui-library/p-9a860acc.js +0 -2
  697. package/dist/ui-library/p-9a860acc.js.map +0 -1
  698. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  699. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  700. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  701. package/dist/ui-library/p-b0e5658f.entry.js +0 -2
  702. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  703. package/dist/ui-library/p-b1e66136.js +0 -2
  704. package/dist/ui-library/p-b1e66136.js.map +0 -1
  705. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  706. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  707. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  708. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  709. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  710. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  711. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  712. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  713. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  714. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  715. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  716. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  717. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  718. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  719. package/dist/ui-library/p-d12c6092.js +0 -2
  720. package/dist/ui-library/p-d12c6092.js.map +0 -1
  721. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  722. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  723. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  724. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  725. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  726. package/dist/ui-library/p-f4938771.entry.js +0 -2
  727. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  728. package/dist/ui-library/p-f604e067.entry.js +0 -2
  729. package/dist/ui-library/p-f604e067.entry.js.map +0 -1
  730. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  731. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  732. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  733. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  734. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  735. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  736. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  737. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
@@ -22,11 +22,13 @@ const SixMenuItem = /*@__PURE__*/ proxyCustomElement(class SixMenuItem extends H
22
22
  }
23
23
  /** Sets focus on the button. */
24
24
  async setFocus(options) {
25
- this.menuItem.focus(options);
25
+ var _a;
26
+ (_a = this.menuItem) === null || _a === void 0 ? void 0 : _a.focus(options);
26
27
  }
27
28
  /** Removes focus from the button. */
28
29
  async removeFocus() {
29
- this.menuItem.blur();
30
+ var _a;
31
+ (_a = this.menuItem) === null || _a === void 0 ? void 0 : _a.blur();
30
32
  }
31
33
  /** Returns a text label based on the contents of the menu item's default slot. */
32
34
  getTextLabel() {
@@ -39,10 +41,10 @@ const SixMenuItem = /*@__PURE__*/ proxyCustomElement(class SixMenuItem extends H
39
41
  this.hasFocus = true;
40
42
  }
41
43
  handleMouseEnter() {
42
- this.setFocus();
44
+ return this.setFocus();
43
45
  }
44
46
  handleMouseLeave() {
45
- this.removeFocus();
47
+ return this.removeFocus();
46
48
  }
47
49
  render() {
48
50
  return (h("div", { ref: (el) => (this.menuItem = el), part: "base", class: {
@@ -50,7 +52,7 @@ const SixMenuItem = /*@__PURE__*/ proxyCustomElement(class SixMenuItem extends H
50
52
  'menu-item--checked': this.checked,
51
53
  'menu-item--disabled': this.disabled,
52
54
  'menu-item--focused': this.hasFocus,
53
- }, role: "menuitem", "aria-disabled": this.disabled ? 'true' : 'false', "aria-checked": this.checked ? 'true' : 'false', tabIndex: !this.disabled ? 0 : null, onFocus: this.handleFocus, onBlur: this.handleBlur, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, h("span", { part: "prefix", class: "menu-item__prefix" }, h("slot", { name: "prefix" })), h("span", { part: "label", class: "menu-item__label" }, h("slot", { ref: (el) => (this.defaultSlot = el) })), h("span", { part: "suffix", class: "menu-item__suffix" }, h("slot", { name: "suffix" })), h("span", { part: "checked-icon", class: "menu-item__check" }, h("six-icon", { size: "small", "aria-hidden": "true" }, "check"))));
55
+ }, role: "menuitem", "aria-disabled": this.disabled ? 'true' : 'false', "aria-checked": this.checked ? 'true' : 'false', tabIndex: !this.disabled ? 0 : undefined, onFocus: this.handleFocus, onBlur: this.handleBlur, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, h("span", { part: "prefix", class: "menu-item__prefix" }, h("slot", { name: "prefix" })), h("span", { part: "label", class: "menu-item__label" }, h("slot", { ref: (el) => (this.defaultSlot = el) })), h("span", { part: "suffix", class: "menu-item__suffix" }, h("slot", { name: "suffix" })), h("span", { part: "checked-icon", class: "menu-item__check" }, h("six-icon", { size: "small", "aria-hidden": "true" }, "check"))));
54
56
  }
55
57
  static get style() { return sixMenuItemCss; }
56
58
  }, [1, "six-menu-item", {
@@ -1 +1 @@
1
- {"file":"six-menu-item2.js","mappings":";;;;AAAA,MAAM,cAAc,GAAG,44CAA44C;;MCyBt5C,WAAW;;;;;oBAIF,KAAK;mBAGU,KAAK;iBAGP,EAAE;oBAGC,KAAK;;EAEzC,iBAAiB;IACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAC1D;;EAID,MAAM,QAAQ,CAAC,OAAsB;IACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;GAC9B;;EAID,MAAM,WAAW;IACf,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;GACtB;;EAID,YAAY;IACV,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;GAC1D;EAED,UAAU;IACR,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;GACvB;EAED,WAAW;IACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;GACtB;EAED,gBAAgB;IACd,IAAI,CAAC,QAAQ,EAAE,CAAC;GACjB;EAED,gBAAgB;IACd,IAAI,CAAC,WAAW,EAAE,CAAC;GACpB;EAED,MAAM;IACJ,QACE,WACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,EACjC,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;QACL,WAAW,EAAE,IAAI;QACjB,oBAAoB,EAAE,IAAI,CAAC,OAAO;QAClC,qBAAqB,EAAE,IAAI,CAAC,QAAQ;QACpC,oBAAoB,EAAE,IAAI,CAAC,QAAQ;OACpC,EACD,IAAI,EAAC,UAAU,mBACA,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,kBACjC,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,EAC7C,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,EACnC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,YAAY,EAAE,IAAI,CAAC,gBAAgB,IAEnC,YAAM,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,mBAAmB,IAC3C,YAAM,IAAI,EAAC,QAAQ,GAAG,CACjB,EAEP,YAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,kBAAkB,IACzC,YAAM,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,WAAW,GAAG,EAAqB,CAAC,GAAI,CAC5D,EAEP,YAAM,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,mBAAmB,IAC3C,YAAM,IAAI,EAAC,QAAQ,GAAG,CACjB,EAEP,YAAM,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,kBAAkB,IAChD,gBAAU,IAAI,EAAC,OAAO,iBAAa,MAAM,YAE9B,CACN,CACH,EACN;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/six-menu-item/six-menu-item.scss?tag=six-menu-item&encapsulation=shadow","./src/components/six-menu-item/six-menu-item.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu-item {\n position: relative;\n display: flex;\n align-items: stretch;\n font-family: var(--six-font-sans);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-normal);\n line-height: var(--six-line-height-normal);\n letter-spacing: var(--six-letter-spacing-normal);\n text-align: left;\n color: var(--six-input-color);\n border-radius: var(--six-border-radius-medium);\n padding: var(--six-spacing-medium) var(--six-spacing-medium);\n transition: var(--six-transition-fast) fill;\n user-select: none;\n white-space: nowrap;\n cursor: pointer;\n\n &.menu-item--focused:not(.menu-item--disabled) {\n outline: none;\n background-color: var(--six-menu-item-background-color);\n }\n\n &.menu-item--disabled {\n outline: none;\n color: var(--six-input-color-disabled);\n cursor: not-allowed;\n }\n\n .menu-item__label {\n flex: 1 1 auto;\n align-self: center;\n }\n\n .menu-item__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(:last-child) {\n margin-right: 0.5em;\n }\n }\n\n .menu-item__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(:first-child) {\n margin-left: 0.5em;\n }\n }\n\n .menu-item__check {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n margin-left: var(--six-spacing-small);\n visibility: hidden;\n font-size: inherit;\n }\n}\n\n.menu-item--checked .menu-item__check {\n visibility: visible;\n}\n","import { Component, Method, Prop, State, h } from '@stencil/core';\nimport { getTextContent } from '../../utils/slot';\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 item's label.\n * @slot prefix - Used to prepend an icon or similar element to the menu item.\n * @slot suffix - Used to append an icon or similar element to the menu item.\n *\n * @part base - The component's base wrapper.\n * @part checked-icon - The container that wraps the checked icon.\n * @part prefix - The prefix container.\n * @part label - The menu item label.\n * @part suffix - The suffix container.\n */\n\n@Component({\n tag: 'six-menu-item',\n styleUrl: 'six-menu-item.scss',\n shadow: true,\n})\nexport class SixMenuItem {\n menuItem: HTMLElement;\n defaultSlot: HTMLSlotElement;\n\n @State() hasFocus = false;\n\n /** Set to true to draw the item in a checked state. */\n @Prop({ reflect: true }) checked = false;\n\n /** A unique value to store in the menu item. This can be used as a way to identify menu items when selected. */\n @Prop({ reflect: true }) value = '';\n\n /** Set to true to draw the menu item in a disabled state. */\n @Prop({ reflect: true }) disabled = false;\n\n connectedCallback() {\n this.handleBlur = this.handleBlur.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n }\n\n /** Sets focus on the button. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.menuItem.focus(options);\n }\n\n /** Removes focus from the button. */\n @Method()\n async removeFocus() {\n this.menuItem.blur();\n }\n\n /** Returns a text label based on the contents of the menu item's default slot. */\n @Method()\n getTextLabel() {\n return Promise.resolve(getTextContent(this.defaultSlot));\n }\n\n handleBlur() {\n this.hasFocus = false;\n }\n\n handleFocus() {\n this.hasFocus = true;\n }\n\n handleMouseEnter() {\n this.setFocus();\n }\n\n handleMouseLeave() {\n this.removeFocus();\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.menuItem = el)}\n part=\"base\"\n class={{\n 'menu-item': true,\n 'menu-item--checked': this.checked,\n 'menu-item--disabled': this.disabled,\n 'menu-item--focused': this.hasFocus,\n }}\n role=\"menuitem\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-checked={this.checked ? 'true' : 'false'}\n tabIndex={!this.disabled ? 0 : null}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <span part=\"prefix\" class=\"menu-item__prefix\">\n <slot name=\"prefix\" />\n </span>\n\n <span part=\"label\" class=\"menu-item__label\">\n <slot ref={(el) => (this.defaultSlot = el as HTMLSlotElement)} />\n </span>\n\n <span part=\"suffix\" class=\"menu-item__suffix\">\n <slot name=\"suffix\" />\n </span>\n\n <span part=\"checked-icon\" class=\"menu-item__check\">\n <six-icon size=\"small\" aria-hidden=\"true\">\n check\n </six-icon>\n </span>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-menu-item2.js","mappings":";;;;AAAA,MAAM,cAAc,GAAG,44CAA44C;;MCyBt5C,WAAW;;;;;oBAIF,KAAK;mBAGU,KAAK;iBAGP,EAAE;oBAGC,KAAK;;EAEzC,iBAAiB;IACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAC1D;;EAID,MAAM,QAAQ,CAAC,OAAsB;;IACnC,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAC,OAAO,CAAC,CAAC;GAC/B;;EAID,MAAM,WAAW;;IACf,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,EAAE,CAAC;GACvB;;EAID,YAAY;IACV,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;GAC1D;EAEO,UAAU;IAChB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;GACvB;EAEO,WAAW;IACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;GACtB;EAEO,gBAAgB;IACtB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;GACxB;EAEO,gBAAgB;IACtB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;GAC3B;EAED,MAAM;IACJ,QACE,WACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,EACjC,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;QACL,WAAW,EAAE,IAAI;QACjB,oBAAoB,EAAE,IAAI,CAAC,OAAO;QAClC,qBAAqB,EAAE,IAAI,CAAC,QAAQ;QACpC,oBAAoB,EAAE,IAAI,CAAC,QAAQ;OACpC,EACD,IAAI,EAAC,UAAU,mBACA,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,kBACjC,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,EAC7C,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,EACxC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,YAAY,EAAE,IAAI,CAAC,gBAAgB,IAEnC,YAAM,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,mBAAmB,IAC3C,YAAM,IAAI,EAAC,QAAQ,GAAG,CACjB,EAEP,YAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,kBAAkB,IACzC,YAAM,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,WAAW,GAAG,EAAqB,CAAC,GAAI,CAC5D,EAEP,YAAM,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,mBAAmB,IAC3C,YAAM,IAAI,EAAC,QAAQ,GAAG,CACjB,EAEP,YAAM,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,kBAAkB,IAChD,gBAAU,IAAI,EAAC,OAAO,iBAAa,MAAM,YAE9B,CACN,CACH,EACN;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/six-menu-item/six-menu-item.scss?tag=six-menu-item&encapsulation=shadow","./src/components/six-menu-item/six-menu-item.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu-item {\n position: relative;\n display: flex;\n align-items: stretch;\n font-family: var(--six-font-sans);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-normal);\n line-height: var(--six-line-height-normal);\n letter-spacing: var(--six-letter-spacing-normal);\n text-align: left;\n color: var(--six-input-color);\n border-radius: var(--six-border-radius-medium);\n padding: var(--six-spacing-medium) var(--six-spacing-medium);\n transition: var(--six-transition-fast) fill;\n user-select: none;\n white-space: nowrap;\n cursor: pointer;\n\n &.menu-item--focused:not(.menu-item--disabled) {\n outline: none;\n background-color: var(--six-menu-item-background-color);\n }\n\n &.menu-item--disabled {\n outline: none;\n color: var(--six-input-color-disabled);\n cursor: not-allowed;\n }\n\n .menu-item__label {\n flex: 1 1 auto;\n align-self: center;\n }\n\n .menu-item__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(:last-child) {\n margin-right: 0.5em;\n }\n }\n\n .menu-item__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(:first-child) {\n margin-left: 0.5em;\n }\n }\n\n .menu-item__check {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n margin-left: var(--six-spacing-small);\n visibility: hidden;\n font-size: inherit;\n }\n}\n\n.menu-item--checked .menu-item__check {\n visibility: visible;\n}\n","import { Component, h, Method, Prop, State } from '@stencil/core';\nimport { getTextContent } from '../../utils/slot';\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 item's label.\n * @slot prefix - Used to prepend an icon or similar element to the menu item.\n * @slot suffix - Used to append an icon or similar element to the menu item.\n *\n * @part base - The component's base wrapper.\n * @part checked-icon - The container that wraps the checked icon.\n * @part prefix - The prefix container.\n * @part label - The menu item label.\n * @part suffix - The suffix container.\n */\n\n@Component({\n tag: 'six-menu-item',\n styleUrl: 'six-menu-item.scss',\n shadow: true,\n})\nexport class SixMenuItem {\n private menuItem?: HTMLElement;\n private defaultSlot?: HTMLSlotElement;\n\n @State() hasFocus = false;\n\n /** Set to true to draw the item in a checked state. */\n @Prop({ reflect: true }) checked = false;\n\n /** A unique value to store in the menu item. This can be used as a way to identify menu items when selected. */\n @Prop({ reflect: true }) value = '';\n\n /** Set to true to draw the menu item in a disabled state. */\n @Prop({ reflect: true }) disabled = false;\n\n connectedCallback() {\n this.handleBlur = this.handleBlur.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n }\n\n /** Sets focus on the button. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.menuItem?.focus(options);\n }\n\n /** Removes focus from the button. */\n @Method()\n async removeFocus() {\n this.menuItem?.blur();\n }\n\n /** Returns a text label based on the contents of the menu item's default slot. */\n @Method()\n getTextLabel() {\n return Promise.resolve(getTextContent(this.defaultSlot));\n }\n\n private handleBlur() {\n this.hasFocus = false;\n }\n\n private handleFocus() {\n this.hasFocus = true;\n }\n\n private handleMouseEnter() {\n return this.setFocus();\n }\n\n private handleMouseLeave() {\n return this.removeFocus();\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.menuItem = el)}\n part=\"base\"\n class={{\n 'menu-item': true,\n 'menu-item--checked': this.checked,\n 'menu-item--disabled': this.disabled,\n 'menu-item--focused': this.hasFocus,\n }}\n role=\"menuitem\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-checked={this.checked ? 'true' : 'false'}\n tabIndex={!this.disabled ? 0 : undefined}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <span part=\"prefix\" class=\"menu-item__prefix\">\n <slot name=\"prefix\" />\n </span>\n\n <span part=\"label\" class=\"menu-item__label\">\n <slot ref={(el) => (this.defaultSlot = el as HTMLSlotElement)} />\n </span>\n\n <span part=\"suffix\" class=\"menu-item__suffix\">\n <slot name=\"suffix\" />\n </span>\n\n <span part=\"checked-icon\" class=\"menu-item__check\">\n <six-icon size=\"small\" aria-hidden=\"true\">\n check\n </six-icon>\n </span>\n </div>\n );\n }\n}\n"],"version":3}
@@ -12,7 +12,6 @@ const isSIXMenuItemElement = (el) => (el === null || el === void 0 ? void 0 : el
12
12
  const mapToMenuItem = ({ value, label }) => h("six-menu-item", { value: value }, label);
13
13
  const DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING = 5;
14
14
  const DEFAULT_SIX_MENU_ITEM_HEIGHT = 64;
15
- const ITEMS_SHOWN_NOT_SET = undefined;
16
15
  const SixMenu = /*@__PURE__*/ proxyCustomElement(class SixMenu extends HTMLElement {
17
16
  constructor() {
18
17
  super();
@@ -22,12 +21,14 @@ const SixMenu = /*@__PURE__*/ proxyCustomElement(class SixMenu extends HTMLEleme
22
21
  this.eventListeners = new EventListeners();
23
22
  this.typeToSelectString = '';
24
23
  this.handleScrolling = () => {
24
+ if (this.menuWrapper == null)
25
+ return;
25
26
  // for performance improvements we only update the DOM if the scrollRatio change "enough"
26
27
  this.scrollingIndex = Math.floor(this.menuWrapper.scrollTop / this.sixMenuItemHeight);
27
28
  };
28
29
  this.removeBoxShadow = false;
29
30
  this.items = null;
30
- this.itemsShown = ITEMS_SHOWN_NOT_SET;
31
+ this.itemsShown = undefined;
31
32
  this.virtualScroll = false;
32
33
  this.itemSize = 10;
33
34
  this.scrollingDebounce = 15;
@@ -58,6 +59,8 @@ const SixMenu = /*@__PURE__*/ proxyCustomElement(class SixMenu extends HTMLEleme
58
59
  async typeToSelect(key) {
59
60
  var _a;
60
61
  clearTimeout(this.typeToSelectTimeout);
62
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
63
+ // @ts-ignore
61
64
  this.typeToSelectTimeout = setTimeout(() => (this.typeToSelectString = ''), 750);
62
65
  this.typeToSelectString += key.toLowerCase();
63
66
  const items = this.getItems();
@@ -72,36 +75,39 @@ const SixMenu = /*@__PURE__*/ proxyCustomElement(class SixMenu extends HTMLEleme
72
75
  }
73
76
  getItemsShown() {
74
77
  var _a;
75
- const defaultItemsShown = this.virtualScroll
76
- ? DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING
77
- : ITEMS_SHOWN_NOT_SET;
78
+ const defaultItemsShown = this.virtualScroll ? DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING : 0;
78
79
  return (_a = this.itemsShown) !== null && _a !== void 0 ? _a : defaultItemsShown;
79
80
  }
80
81
  setupForVirtualScrollingAfterRendering() {
81
82
  var _a, _b;
82
- if (!this.virtualScroll) {
83
+ if (!this.virtualScroll || this.menuWrapper == null)
83
84
  return;
84
- }
85
85
  this.eventListeners.add(this.menuWrapper, 'scroll', debounce(this.handleScrolling, this.scrollingDebounce));
86
86
  // set menu height to proper height once the item is rendered.
87
87
  const menuItemHeight = (_b = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector('six-menu-item')) === null || _b === void 0 ? void 0 : _b.clientHeight;
88
- if (menuItemHeight && menuItemHeight > 0) {
88
+ if (menuItemHeight != null && menuItemHeight > 0) {
89
89
  this.sixMenuItemHeight = menuItemHeight;
90
90
  }
91
91
  }
92
92
  getItems() {
93
- if (this.items !== null && this.items !== undefined) {
93
+ if (this.menu == null)
94
+ return [];
95
+ if (this.items != null) {
94
96
  return this.items.map(mapToMenuItem);
95
97
  }
96
98
  const slot = this.menu.querySelector('slot');
99
+ if (slot == null)
100
+ return [];
97
101
  return [...slot.assignedElements({ flatten: true })].filter((el) => isSIXMenuItemElement(el) && !el.disabled);
98
102
  }
99
103
  getActiveItemIndex() {
100
104
  const items = this.getItems();
101
105
  const selectedItem = this.getActiveItem();
102
- const itemIndex = items.indexOf(selectedItem);
103
- if (itemIndex > -1) {
104
- return itemIndex;
106
+ if (selectedItem != null) {
107
+ const itemIndex = items.indexOf(selectedItem);
108
+ if (itemIndex > -1) {
109
+ return itemIndex;
110
+ }
105
111
  }
106
112
  const sixMenuItems = this.extractItemsFromDOM();
107
113
  return sixMenuItems.findIndex(isFocusedMenuItem);
@@ -109,17 +115,17 @@ const SixMenu = /*@__PURE__*/ proxyCustomElement(class SixMenu extends HTMLEleme
109
115
  getActiveItem() {
110
116
  var _a;
111
117
  const activeElement = this.getItems().find((i) => i === document.activeElement);
112
- if (activeElement) {
118
+ if (activeElement != null) {
113
119
  return activeElement;
114
120
  }
115
121
  return (_a = this.extractItemsFromDOM()) === null || _a === void 0 ? void 0 : _a.find(isFocusedMenuItem);
116
122
  }
117
123
  extractItemsFromDOM() {
118
124
  var _a, _b;
119
- return Array.from((_b = (_a = this.host) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('six-menu-item'));
125
+ return Array.from((_b = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('six-menu-item')) !== null && _b !== void 0 ? _b : []);
120
126
  }
121
127
  setActiveItem(item) {
122
- item.setFocus();
128
+ item === null || item === void 0 ? void 0 : item.setFocus();
123
129
  }
124
130
  handleClick(event) {
125
131
  const target = event.target;
@@ -133,7 +139,7 @@ const SixMenu = /*@__PURE__*/ proxyCustomElement(class SixMenu extends HTMLEleme
133
139
  if (event.key === 'Enter') {
134
140
  const activeItem = this.getActiveItem();
135
141
  event.preventDefault();
136
- if (activeItem) {
142
+ if (activeItem != null) {
137
143
  this.sixMenuItemSelected.emit({ name: activeItem.value, item: activeItem });
138
144
  }
139
145
  }
@@ -145,7 +151,7 @@ const SixMenu = /*@__PURE__*/ proxyCustomElement(class SixMenu extends HTMLEleme
145
151
  if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {
146
152
  const items = this.items === null ? this.getItems() : this.extractItemsFromDOM();
147
153
  let indexOfActiveItem = this.getActiveItemIndex();
148
- if (items.length) {
154
+ if (items.length > 0) {
149
155
  event.preventDefault();
150
156
  if (event.key === 'ArrowDown') {
151
157
  indexOfActiveItem++;
@@ -170,10 +176,11 @@ const SixMenu = /*@__PURE__*/ proxyCustomElement(class SixMenu extends HTMLEleme
170
176
  void this.typeToSelect(event.key);
171
177
  }
172
178
  getMenuWrapperStyle() {
179
+ var _a;
173
180
  const styles = {};
174
181
  if (this.getItemsShown() > 0) {
175
182
  // calculate the proper height to show the correct number of items
176
- styles.height = `${this.getItemsShown() * this.sixMenuItemHeight}px`;
183
+ styles.height = `${((_a = this.getItemsShown()) !== null && _a !== void 0 ? _a : 0) * this.sixMenuItemHeight}px`;
177
184
  }
178
185
  return Object.assign({}, styles);
179
186
  }
@@ -1 +1 @@
1
- {"file":"six-menu2.js","mappings":"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","names":[],"sources":["./src/components/six-menu/six-menu.scss?tag=six-menu&encapsulation=shadow","./src/components/six-menu/six-menu.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu {\n padding: 0 0;\n border: none;\n box-shadow: var(--six-elevation-2dp);\n\n &:focus {\n outline: none;\n }\n\n &--noshadow {\n box-shadow: none;\n }\n\n &__wrapper {\n &--scrollable {\n overflow-y: auto;\n }\n }\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 }) => <six-menu-item value={value}>{label}</six-menu-item>;\n\nconst DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING = 5;\n\nconst DEFAULT_SIX_MENU_ITEM_HEIGHT = 64;\n\nconst ITEMS_SHOWN_NOT_SET = undefined;\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 menu: HTMLElement;\n menuWrapper: HTMLElement;\n typeToSelectString = '';\n typeToSelectTimeout: NodeJS.Timeout;\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: boolean = 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 properties a scrollbar will be shown */\n @Prop() itemsShown?: number = ITEMS_SHOWN_NOT_SET;\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: boolean = 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: number = 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: number = 15;\n\n /**\n * Used to calculate which items should be rendered in the DOM\n */\n @State()\n private scrollingIndex: number = 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 hight after the first render\n @State()\n sixMenuItemHeight = 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 // 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 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() {\n const defaultItemsShown = this.virtualScroll\n ? DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING\n : ITEMS_SHOWN_NOT_SET;\n\n return this.itemsShown ?? defaultItemsShown;\n }\n\n private setupForVirtualScrollingAfterRendering() {\n if (!this.virtualScroll) {\n return;\n }\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 && menuItemHeight > 0) {\n this.sixMenuItemHeight = menuItemHeight;\n }\n }\n\n getItems() {\n if (this.items !== null && this.items !== undefined) {\n return this.items.map(mapToMenuItem);\n }\n\n const slot = this.menu.querySelector('slot');\n return [...slot.assignedElements({ flatten: true })].filter((el) => isSIXMenuItemElement(el) && !el.disabled);\n }\n\n private getActiveItemIndex() {\n const items = this.getItems();\n const selectedItem = this.getActiveItem();\n const itemIndex = items.indexOf(selectedItem);\n\n if (itemIndex > -1) {\n return itemIndex;\n }\n\n const sixMenuItems = this.extractItemsFromDOM();\n return sixMenuItems.findIndex(isFocusedMenuItem);\n }\n\n getActiveItem() {\n const activeElement = this.getItems().find((i) => i === document.activeElement);\n\n if (activeElement) {\n return activeElement;\n }\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 setActiveItem(item: HTMLSixMenuItemElement) {\n item.setFocus();\n }\n\n 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 handleKeyDown(event: KeyboardEvent) {\n // Make a selection when pressing enter\n if (event.key === 'Enter') {\n const activeItem = this.getActiveItem();\n event.preventDefault();\n\n if (activeItem) {\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) {\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\n if (this.getItemsShown() > 0) {\n // calculate the proper height to show the correct number of items\n styles.height = `${this.getItemsShown() * this.sixMenuItemHeight}px`;\n }\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\n if (this.virtualScroll && this.items !== null) {\n styles.height = `${this.items.length * this.sixMenuItemHeight - this.itemSize * this.sixMenuItemHeight}px`;\n }\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(mapToMenuItem);\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 'menu--noshadow': this.removeBoxShadow,\n 'menu__wrapper--scrollable': this.getItemsShown() > 0,\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"],"version":3}
1
+ {"file":"six-menu2.js","mappings":"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","names":[],"sources":["./src/components/six-menu/six-menu.scss?tag=six-menu&encapsulation=shadow","./src/components/six-menu/six-menu.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu {\n padding: 0 0;\n border: none;\n box-shadow: var(--six-elevation-2dp);\n\n &:focus {\n outline: none;\n }\n\n &--noshadow {\n box-shadow: none;\n }\n\n &__wrapper {\n &--scrollable {\n overflow-y: auto;\n }\n }\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) => <six-menu-item value={value}>{label}</six-menu-item>;\n\nconst DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING = 5;\n\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 * 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 sixMenuItemHeight = 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 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 // 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 }\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\n if (this.virtualScroll && this.items !== null) {\n styles.height = `${this.items.length * this.sixMenuItemHeight - this.itemSize * this.sixMenuItemHeight}px`;\n }\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(mapToMenuItem);\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 'menu--noshadow': this.removeBoxShadow,\n 'menu__wrapper--scrollable': this.getItemsShown() > 0,\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"],"version":3}
@@ -12,7 +12,10 @@ const SixPicto = /*@__PURE__*/ proxyCustomElement(class SixPicto extends HTMLEle
12
12
  render() {
13
13
  var _a;
14
14
  const iconName = (_a = this.host.innerHTML) === null || _a === void 0 ? void 0 : _a.trim();
15
- return (h(Host, null, h("div", { part: "icon", class: { [`is-size-${this.size}`]: !!this.size, [`${iconName}`]: true } })));
15
+ return (h(Host, null, h("div", { part: "icon", class: {
16
+ [`is-size-${this.size}`]: typeof this.size != null || this.size.trim() !== '',
17
+ [`${iconName}`]: true,
18
+ } })));
16
19
  }
17
20
  get host() { return this; }
18
21
  static get style() { return sixPictoCss; }