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

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 (729) hide show
  1. package/dist/cjs/{event-listeners-74715e62.js → event-listeners-dd94dcfb.js} +7 -7
  2. package/dist/cjs/event-listeners-dd94dcfb.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-control-2c17c573.js → form-control-7494488a.js} +10 -9
  8. package/dist/cjs/form-control-7494488a.js.map +1 -0
  9. package/dist/cjs/{index-2f6daa5b.js → index-ccf35821.js} +4 -1
  10. package/dist/cjs/index-ccf35821.js.map +1 -0
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/{modal-48d42228.js → modal-21350fb5.js} +4 -3
  13. package/dist/cjs/modal-21350fb5.js.map +1 -0
  14. package/dist/cjs/{popover-f743f62b.js → popover-b5e2d5ef.js} +33 -19
  15. package/dist/cjs/popover-b5e2d5ef.js.map +1 -0
  16. package/dist/cjs/popup-44836aaf.js +103 -0
  17. package/dist/cjs/popup-44836aaf.js.map +1 -0
  18. package/dist/cjs/set-attributes_2.cjs.entry.js +4 -2
  19. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  20. package/dist/cjs/six-alert.cjs.entry.js +18 -23
  21. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  22. package/dist/cjs/six-avatar.cjs.entry.js +5 -8
  23. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  24. package/dist/cjs/six-badge.cjs.entry.js +2 -2
  25. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  26. package/dist/cjs/six-button.cjs.entry.js +30 -34
  27. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-card.cjs.entry.js +1 -1
  29. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-checkbox.cjs.entry.js +5 -4
  31. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-datepicker.cjs.entry.js +148 -245
  33. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-details.cjs.entry.js +48 -47
  35. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-dialog.cjs.entry.js +36 -40
  37. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-drawer.cjs.entry.js +33 -37
  39. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-dropdown_2.cjs.entry.js +215 -196
  41. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-error-page.cjs.entry.js +20 -22
  43. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-file-list-item.cjs.entry.js +2 -2
  45. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  47. package/dist/cjs/six-file-upload.cjs.entry.js +21 -21
  48. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  50. package/dist/cjs/six-form.cjs.entry.js +40 -35
  51. package/dist/cjs/six-form.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-group-label.cjs.entry.js +12 -11
  53. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  54. package/dist/cjs/six-header.cjs.entry.js +66 -44
  55. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  56. package/dist/cjs/six-icon-button.cjs.entry.js +4 -4
  57. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  59. package/dist/cjs/six-input.cjs.entry.js +5 -5
  60. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-item-picker.cjs.entry.js +59 -78
  62. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
  64. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-layout-grid.cjs.entry.js +5 -3
  66. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  68. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  70. package/dist/cjs/six-menu-item.cjs.entry.js +9 -7
  71. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  73. package/dist/cjs/six-picto.cjs.entry.js +5 -2
  74. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  76. package/dist/cjs/six-progress-ring.cjs.entry.js +4 -4
  77. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-radio.cjs.entry.js +1 -1
  79. package/dist/cjs/six-range.cjs.entry.js +4 -4
  80. package/dist/cjs/six-root.cjs.entry.js +2 -2
  81. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-search-field.cjs.entry.js +11 -6
  83. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-select.cjs.entry.js +135 -188
  85. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +10 -6
  87. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  89. package/dist/cjs/six-sidebar.cjs.entry.js +40 -19
  90. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  92. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-switch.cjs.entry.js +51 -45
  94. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-tab-group.cjs.entry.js +131 -113
  96. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  98. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-tab.cjs.entry.js +5 -3
  100. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-tag.cjs.entry.js +5 -8
  102. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-textarea.cjs.entry.js +4 -4
  104. package/dist/cjs/six-tile.cjs.entry.js +14 -17
  105. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-timepicker.cjs.entry.js +155 -201
  107. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  108. package/dist/cjs/six-tooltip.cjs.entry.js +54 -57
  109. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  110. package/dist/cjs/{slot-ad537f24.js → slot-bccbdb59.js} +11 -10
  111. package/dist/cjs/slot-bccbdb59.js.map +1 -0
  112. package/dist/cjs/ui-library.cjs.js +2 -2
  113. package/dist/collection/components/six-alert/six-alert.js +17 -22
  114. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  115. package/dist/collection/components/six-avatar/six-avatar.js +4 -7
  116. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  117. package/dist/collection/components/six-badge/six-badge.js +1 -1
  118. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  119. package/dist/collection/components/six-button/six-button.js +38 -40
  120. package/dist/collection/components/six-button/six-button.js.map +1 -1
  121. package/dist/collection/components/six-card/six-card.js +1 -1
  122. package/dist/collection/components/six-card/six-card.js.map +1 -1
  123. package/dist/collection/components/six-checkbox/six-checkbox.js +3 -2
  124. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  125. package/dist/collection/components/six-datepicker/components/day-selection.js +2 -2
  126. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  127. package/dist/collection/components/six-datepicker/components/month-selection.js +4 -3
  128. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  129. package/dist/collection/components/six-datepicker/components/year-selection.js +9 -6
  130. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  131. package/dist/collection/components/six-datepicker/six-datepicker.js +126 -240
  132. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  133. package/dist/collection/components/six-details/six-details.js +51 -50
  134. package/dist/collection/components/six-details/six-details.js.map +1 -1
  135. package/dist/collection/components/six-dialog/six-dialog.js +34 -38
  136. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  137. package/dist/collection/components/six-drawer/six-drawer.js +31 -35
  138. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  139. package/dist/collection/components/six-dropdown/six-dropdown.js +185 -173
  140. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  141. package/dist/collection/components/six-error-page/six-error-page.js +25 -27
  142. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  143. package/dist/collection/components/six-file-list-item/six-file-list-item.js +3 -3
  144. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  145. package/dist/collection/components/six-file-upload/six-file-upload.js +32 -32
  146. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  147. package/dist/collection/components/six-form/six-form.js +41 -33
  148. package/dist/collection/components/six-form/six-form.js.map +1 -1
  149. package/dist/collection/components/six-group-label/six-group-label.js +11 -9
  150. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  151. package/dist/collection/components/six-header/six-header.js +64 -42
  152. package/dist/collection/components/six-header/six-header.js.map +1 -1
  153. package/dist/collection/components/six-icon-button/six-icon-button.js +8 -8
  154. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  155. package/dist/collection/components/six-input/six-input.js +16 -16
  156. package/dist/collection/components/six-input/six-input.js.map +1 -1
  157. package/dist/collection/components/six-item-picker/six-item-picker.js +65 -84
  158. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  159. package/dist/collection/components/six-language-switcher/six-language-switcher.js +2 -2
  160. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  161. package/dist/collection/components/six-layout-grid/six-layout-grid.js +10 -8
  162. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  163. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  164. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  165. package/dist/collection/components/six-menu/six-menu.js +29 -23
  166. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  167. package/dist/collection/components/six-menu-item/six-menu-item.js +7 -5
  168. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  169. package/dist/collection/components/six-picto/six-picto.js +5 -2
  170. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  171. package/dist/collection/components/six-progress-ring/six-progress-ring.js +5 -4
  172. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  173. package/dist/collection/components/six-radio/six-radio.js +2 -2
  174. package/dist/collection/components/six-root/six-root.js +4 -4
  175. package/dist/collection/components/six-root/six-root.js.map +1 -1
  176. package/dist/collection/components/six-search-field/six-search-field.js +10 -5
  177. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  178. package/dist/collection/components/six-select/six-select.js +139 -146
  179. package/dist/collection/components/six-select/six-select.js.map +1 -1
  180. package/dist/collection/components/six-select/util.js.map +1 -1
  181. package/dist/collection/components/six-sidebar/six-sidebar.js +40 -19
  182. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  183. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +12 -8
  184. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  185. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  186. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +1 -1
  187. package/dist/collection/components/six-switch/six-switch.js +58 -50
  188. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  189. package/dist/collection/components/six-tab/six-tab.js +5 -3
  190. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  191. package/dist/collection/components/six-tab-group/six-tab-group.js +130 -112
  192. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  193. package/dist/collection/components/six-tab-panel/six-tab-panel.js +2 -2
  194. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  195. package/dist/collection/components/six-tag/six-tag.js +4 -7
  196. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  197. package/dist/collection/components/six-textarea/six-textarea.js +10 -10
  198. package/dist/collection/components/six-tile/six-tile.js +17 -20
  199. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  200. package/dist/collection/components/six-timepicker/six-timepicker.js +129 -177
  201. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  202. package/dist/collection/components/six-tooltip/six-tooltip.js +56 -59
  203. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  204. package/dist/collection/functional-components/form-control/form-control.js +8 -7
  205. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  206. package/dist/collection/testUtil/delay.js.map +1 -1
  207. package/dist/collection/utils/date-util.js +24 -16
  208. package/dist/collection/utils/date-util.js.map +1 -1
  209. package/dist/collection/utils/event-listeners.js +6 -6
  210. package/dist/collection/utils/event-listeners.js.map +1 -1
  211. package/dist/collection/utils/execution-control.js +5 -4
  212. package/dist/collection/utils/execution-control.js.map +1 -1
  213. package/dist/collection/utils/focus-visible.js +2 -2
  214. package/dist/collection/utils/focus-visible.js.map +1 -1
  215. package/dist/collection/utils/modal.js +3 -2
  216. package/dist/collection/utils/modal.js.map +1 -1
  217. package/dist/collection/utils/popover.js +32 -18
  218. package/dist/collection/utils/popover.js.map +1 -1
  219. package/dist/collection/utils/popup.js +95 -0
  220. package/dist/collection/utils/popup.js.map +1 -0
  221. package/dist/collection/utils/slot.js +9 -24
  222. package/dist/collection/utils/slot.js.map +1 -1
  223. package/dist/collection/utils/tabbable.js +6 -6
  224. package/dist/collection/utils/tabbable.js.map +1 -1
  225. package/dist/collection/utils/time.util.js +48 -34
  226. package/dist/collection/utils/time.util.js.map +1 -1
  227. package/dist/collection/utils/type-check.js +0 -1
  228. package/dist/collection/utils/type-check.js.map +1 -1
  229. package/dist/collection/wrappers/set-attributes/set-attributes.js +3 -1
  230. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  231. package/dist/components/event-listeners.js +6 -6
  232. package/dist/components/event-listeners.js.map +1 -1
  233. package/dist/components/execution-control.js +5 -2
  234. package/dist/components/execution-control.js.map +1 -1
  235. package/dist/components/focus-visible.js +2 -2
  236. package/dist/components/focus-visible.js.map +1 -1
  237. package/dist/components/form-control.js +8 -7
  238. package/dist/components/form-control.js.map +1 -1
  239. package/dist/components/modal.js +3 -2
  240. package/dist/components/modal.js.map +1 -1
  241. package/dist/components/popover.js +32 -18
  242. package/dist/components/popover.js.map +1 -1
  243. package/dist/components/set-attributes2.js +3 -1
  244. package/dist/components/set-attributes2.js.map +1 -1
  245. package/dist/components/six-alert.js +17 -22
  246. package/dist/components/six-alert.js.map +1 -1
  247. package/dist/components/six-avatar.js +4 -7
  248. package/dist/components/six-avatar.js.map +1 -1
  249. package/dist/components/six-badge.js +1 -1
  250. package/dist/components/six-badge.js.map +1 -1
  251. package/dist/components/six-button.js +28 -32
  252. package/dist/components/six-button.js.map +1 -1
  253. package/dist/components/six-card.js.map +1 -1
  254. package/dist/components/six-checkbox.js +1 -0
  255. package/dist/components/six-checkbox.js.map +1 -1
  256. package/dist/components/six-datepicker.js +141 -238
  257. package/dist/components/six-datepicker.js.map +1 -1
  258. package/dist/components/six-details2.js +46 -45
  259. package/dist/components/six-details2.js.map +1 -1
  260. package/dist/components/six-dialog.js +33 -37
  261. package/dist/components/six-dialog.js.map +1 -1
  262. package/dist/components/six-drawer.js +30 -34
  263. package/dist/components/six-drawer.js.map +1 -1
  264. package/dist/components/six-dropdown2.js +185 -173
  265. package/dist/components/six-dropdown2.js.map +1 -1
  266. package/dist/components/six-error-page.js +19 -21
  267. package/dist/components/six-error-page.js.map +1 -1
  268. package/dist/components/six-file-list-item.js +1 -1
  269. package/dist/components/six-file-list-item.js.map +1 -1
  270. package/dist/components/six-file-upload.js +20 -20
  271. package/dist/components/six-file-upload.js.map +1 -1
  272. package/dist/components/six-form.js +38 -33
  273. package/dist/components/six-form.js.map +1 -1
  274. package/dist/components/six-group-label.js +9 -8
  275. package/dist/components/six-group-label.js.map +1 -1
  276. package/dist/components/six-header.js +64 -42
  277. package/dist/components/six-header.js.map +1 -1
  278. package/dist/components/six-icon-button2.js +2 -2
  279. package/dist/components/six-icon-button2.js.map +1 -1
  280. package/dist/components/six-input2.js +1 -1
  281. package/dist/components/six-input2.js.map +1 -1
  282. package/dist/components/six-item-picker2.js +56 -75
  283. package/dist/components/six-item-picker2.js.map +1 -1
  284. package/dist/components/six-language-switcher.js +1 -1
  285. package/dist/components/six-language-switcher.js.map +1 -1
  286. package/dist/components/six-layout-grid.js +5 -3
  287. package/dist/components/six-layout-grid.js.map +1 -1
  288. package/dist/components/six-main-container.js.map +1 -1
  289. package/dist/components/six-menu-item2.js +7 -5
  290. package/dist/components/six-menu-item2.js.map +1 -1
  291. package/dist/components/six-menu2.js +25 -18
  292. package/dist/components/six-menu2.js.map +1 -1
  293. package/dist/components/six-picto2.js +4 -1
  294. package/dist/components/six-picto2.js.map +1 -1
  295. package/dist/components/six-progress-ring.js +3 -3
  296. package/dist/components/six-progress-ring.js.map +1 -1
  297. package/dist/components/six-root.js +1 -1
  298. package/dist/components/six-root.js.map +1 -1
  299. package/dist/components/six-search-field.js +8 -3
  300. package/dist/components/six-search-field.js.map +1 -1
  301. package/dist/components/six-select.js +129 -182
  302. package/dist/components/six-select.js.map +1 -1
  303. package/dist/components/six-sidebar-item-group.js +8 -4
  304. package/dist/components/six-sidebar-item-group.js.map +1 -1
  305. package/dist/components/six-sidebar.js +39 -18
  306. package/dist/components/six-sidebar.js.map +1 -1
  307. package/dist/components/six-spinner2.js.map +1 -1
  308. package/dist/components/six-switch.js +50 -44
  309. package/dist/components/six-switch.js.map +1 -1
  310. package/dist/components/six-tab-group.js +129 -111
  311. package/dist/components/six-tab-group.js.map +1 -1
  312. package/dist/components/six-tab-panel.js +1 -1
  313. package/dist/components/six-tab-panel.js.map +1 -1
  314. package/dist/components/six-tab.js +4 -2
  315. package/dist/components/six-tab.js.map +1 -1
  316. package/dist/components/six-tag2.js +4 -7
  317. package/dist/components/six-tag2.js.map +1 -1
  318. package/dist/components/six-tile.js +14 -17
  319. package/dist/components/six-tile.js.map +1 -1
  320. package/dist/components/six-timepicker.js +1 -1
  321. package/dist/components/six-timepicker2.js +241 -239
  322. package/dist/components/six-timepicker2.js.map +1 -1
  323. package/dist/components/six-tooltip2.js +52 -55
  324. package/dist/components/six-tooltip2.js.map +1 -1
  325. package/dist/components/slot.js +10 -9
  326. package/dist/components/slot.js.map +1 -1
  327. package/dist/components.json +348 -166
  328. package/dist/esm/{event-listeners-570a24ea.js → event-listeners-6b434035.js} +7 -7
  329. package/dist/esm/event-listeners-6b434035.js.map +1 -0
  330. package/dist/esm/{execution-control-1a60d709.js → execution-control-72cc50f4.js} +6 -3
  331. package/dist/esm/execution-control-72cc50f4.js.map +1 -0
  332. package/dist/esm/{focus-visible-97933ea9.js → focus-visible-fa7129a0.js} +3 -3
  333. package/dist/esm/focus-visible-fa7129a0.js.map +1 -0
  334. package/dist/esm/{form-control-3b440ea1.js → form-control-44a50dd6.js} +10 -9
  335. package/dist/esm/form-control-44a50dd6.js.map +1 -0
  336. package/dist/esm/{index-5c0f6628.js → index-371fb9d4.js} +4 -2
  337. package/dist/esm/index-371fb9d4.js.map +1 -0
  338. package/dist/esm/loader.js +3 -3
  339. package/dist/esm/{modal-5ebdc320.js → modal-b1d96441.js} +4 -3
  340. package/dist/esm/modal-b1d96441.js.map +1 -0
  341. package/dist/esm/{popover-bd2c2fca.js → popover-1aacbae8.js} +33 -19
  342. package/dist/{cjs/popover-f743f62b.js.map → esm/popover-1aacbae8.js.map} +1 -1
  343. package/dist/esm/popup-678b8592.js +98 -0
  344. package/dist/esm/popup-678b8592.js.map +1 -0
  345. package/dist/esm/set-attributes_2.entry.js +4 -2
  346. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  347. package/dist/esm/six-alert.entry.js +18 -23
  348. package/dist/esm/six-alert.entry.js.map +1 -1
  349. package/dist/esm/six-avatar.entry.js +5 -8
  350. package/dist/esm/six-avatar.entry.js.map +1 -1
  351. package/dist/esm/six-badge.entry.js +2 -2
  352. package/dist/esm/six-badge.entry.js.map +1 -1
  353. package/dist/esm/six-button.entry.js +30 -34
  354. package/dist/esm/six-button.entry.js.map +1 -1
  355. package/dist/esm/six-card.entry.js +1 -1
  356. package/dist/esm/six-card.entry.js.map +1 -1
  357. package/dist/esm/six-checkbox.entry.js +5 -4
  358. package/dist/esm/six-checkbox.entry.js.map +1 -1
  359. package/dist/esm/six-datepicker.entry.js +145 -242
  360. package/dist/esm/six-datepicker.entry.js.map +1 -1
  361. package/dist/esm/six-details.entry.js +48 -47
  362. package/dist/esm/six-details.entry.js.map +1 -1
  363. package/dist/esm/six-dialog.entry.js +36 -40
  364. package/dist/esm/six-dialog.entry.js.map +1 -1
  365. package/dist/esm/six-drawer.entry.js +33 -37
  366. package/dist/esm/six-drawer.entry.js.map +1 -1
  367. package/dist/esm/six-dropdown_2.entry.js +215 -196
  368. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  369. package/dist/esm/six-error-page.entry.js +20 -22
  370. package/dist/esm/six-error-page.entry.js.map +1 -1
  371. package/dist/esm/six-file-list-item.entry.js +2 -2
  372. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  373. package/dist/esm/six-file-list.entry.js +1 -1
  374. package/dist/esm/six-file-upload.entry.js +21 -21
  375. package/dist/esm/six-file-upload.entry.js.map +1 -1
  376. package/dist/esm/six-footer.entry.js +1 -1
  377. package/dist/esm/six-form.entry.js +40 -35
  378. package/dist/esm/six-form.entry.js.map +1 -1
  379. package/dist/esm/six-group-label.entry.js +12 -11
  380. package/dist/esm/six-group-label.entry.js.map +1 -1
  381. package/dist/esm/six-header.entry.js +66 -44
  382. package/dist/esm/six-header.entry.js.map +1 -1
  383. package/dist/esm/six-icon-button.entry.js +4 -4
  384. package/dist/esm/six-icon-button.entry.js.map +1 -1
  385. package/dist/esm/six-icon.entry.js +1 -1
  386. package/dist/esm/six-input.entry.js +5 -5
  387. package/dist/esm/six-input.entry.js.map +1 -1
  388. package/dist/esm/six-item-picker.entry.js +59 -78
  389. package/dist/esm/six-item-picker.entry.js.map +1 -1
  390. package/dist/esm/six-language-switcher.entry.js +2 -2
  391. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  392. package/dist/esm/six-layout-grid.entry.js +5 -3
  393. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  394. package/dist/esm/six-main-container.entry.js +1 -1
  395. package/dist/esm/six-main-container.entry.js.map +1 -1
  396. package/dist/esm/six-menu-divider.entry.js +1 -1
  397. package/dist/esm/six-menu-item.entry.js +9 -7
  398. package/dist/esm/six-menu-item.entry.js.map +1 -1
  399. package/dist/esm/six-menu-label.entry.js +1 -1
  400. package/dist/esm/six-picto.entry.js +5 -2
  401. package/dist/esm/six-picto.entry.js.map +1 -1
  402. package/dist/esm/six-progress-bar.entry.js +1 -1
  403. package/dist/esm/six-progress-ring.entry.js +4 -4
  404. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  405. package/dist/esm/six-radio.entry.js +1 -1
  406. package/dist/esm/six-range.entry.js +4 -4
  407. package/dist/esm/six-root.entry.js +2 -2
  408. package/dist/esm/six-root.entry.js.map +1 -1
  409. package/dist/esm/six-search-field.entry.js +11 -6
  410. package/dist/esm/six-search-field.entry.js.map +1 -1
  411. package/dist/esm/six-select.entry.js +135 -188
  412. package/dist/esm/six-select.entry.js.map +1 -1
  413. package/dist/esm/six-sidebar-item-group.entry.js +10 -6
  414. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  415. package/dist/esm/six-sidebar-item.entry.js +1 -1
  416. package/dist/esm/six-sidebar.entry.js +40 -19
  417. package/dist/esm/six-sidebar.entry.js.map +1 -1
  418. package/dist/esm/six-spinner.entry.js +1 -1
  419. package/dist/esm/six-spinner.entry.js.map +1 -1
  420. package/dist/esm/six-switch.entry.js +51 -45
  421. package/dist/esm/six-switch.entry.js.map +1 -1
  422. package/dist/esm/six-tab-group.entry.js +131 -113
  423. package/dist/esm/six-tab-group.entry.js.map +1 -1
  424. package/dist/esm/six-tab-panel.entry.js +2 -2
  425. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  426. package/dist/esm/six-tab.entry.js +5 -3
  427. package/dist/esm/six-tab.entry.js.map +1 -1
  428. package/dist/esm/six-tag.entry.js +5 -8
  429. package/dist/esm/six-tag.entry.js.map +1 -1
  430. package/dist/esm/six-textarea.entry.js +4 -4
  431. package/dist/esm/six-tile.entry.js +14 -17
  432. package/dist/esm/six-tile.entry.js.map +1 -1
  433. package/dist/esm/six-timepicker.entry.js +155 -201
  434. package/dist/esm/six-timepicker.entry.js.map +1 -1
  435. package/dist/esm/six-tooltip.entry.js +54 -57
  436. package/dist/esm/six-tooltip.entry.js.map +1 -1
  437. package/dist/esm/{slot-6f3984c7.js → slot-2e64df19.js} +11 -10
  438. package/dist/esm/slot-2e64df19.js.map +1 -0
  439. package/dist/esm/ui-library.js +3 -3
  440. package/dist/types/components/six-alert/six-alert.d.ts +5 -7
  441. package/dist/types/components/six-avatar/six-avatar.d.ts +1 -2
  442. package/dist/types/components/six-badge/six-badge.d.ts +0 -1
  443. package/dist/types/components/six-button/six-button.d.ts +8 -9
  444. package/dist/types/components/six-checkbox/six-checkbox.d.ts +1 -1
  445. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  446. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  447. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  448. package/dist/types/components/six-datepicker/six-datepicker.d.ts +34 -39
  449. package/dist/types/components/six-details/six-details.d.ts +12 -12
  450. package/dist/types/components/six-dialog/six-dialog.d.ts +12 -13
  451. package/dist/types/components/six-drawer/six-drawer.d.ts +12 -13
  452. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -32
  453. package/dist/types/components/six-error-page/six-error-page.d.ts +1 -1
  454. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +3 -3
  455. package/dist/types/components/six-file-upload/six-file-upload.d.ts +11 -11
  456. package/dist/types/components/six-form/six-form.d.ts +7 -16
  457. package/dist/types/components/six-group-label/six-group-label.d.ts +4 -4
  458. package/dist/types/components/six-header/six-header.d.ts +16 -27
  459. package/dist/types/components/six-icon-button/six-icon-button.d.ts +4 -4
  460. package/dist/types/components/six-input/six-input.d.ts +3 -3
  461. package/dist/types/components/six-item-picker/six-item-picker.d.ts +13 -16
  462. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +1 -1
  463. package/dist/types/components/six-menu/six-menu.d.ts +10 -11
  464. package/dist/types/components/six-menu-item/six-menu-item.d.ts +6 -6
  465. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +2 -2
  466. package/dist/types/components/six-radio/six-radio.d.ts +1 -1
  467. package/dist/types/components/six-root/six-root.d.ts +3 -3
  468. package/dist/types/components/six-search-field/six-search-field.d.ts +4 -5
  469. package/dist/types/components/six-select/six-select.d.ts +15 -12
  470. package/dist/types/components/six-sidebar/six-sidebar.d.ts +5 -5
  471. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +7 -6
  472. package/dist/types/components/six-spinner/six-spinner.d.ts +2 -2
  473. package/dist/types/components/six-switch/six-switch.d.ts +10 -11
  474. package/dist/types/components/six-tab/six-tab.d.ts +3 -3
  475. package/dist/types/components/six-tab-group/six-tab-group.d.ts +20 -21
  476. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +1 -1
  477. package/dist/types/components/six-tag/six-tag.d.ts +1 -3
  478. package/dist/types/components/six-textarea/six-textarea.d.ts +3 -3
  479. package/dist/types/components/six-tile/six-tile.d.ts +2 -3
  480. package/dist/types/components/six-timepicker/six-timepicker.d.ts +21 -33
  481. package/dist/types/components/six-tooltip/six-tooltip.d.ts +19 -21
  482. package/dist/types/components.d.ts +110 -98
  483. package/dist/types/functional-components/form-control/form-control.d.ts +5 -4
  484. package/dist/types/testUtil/delay.d.ts +1 -1
  485. package/dist/types/utils/date-util.d.ts +17 -10
  486. package/dist/types/utils/event-listeners.d.ts +1 -1
  487. package/dist/types/utils/execution-control.d.ts +1 -3
  488. package/dist/types/utils/modal.d.ts +2 -2
  489. package/dist/types/utils/popover.d.ts +5 -5
  490. package/dist/types/utils/popup.d.ts +9 -0
  491. package/dist/types/utils/slot.d.ts +2 -7
  492. package/dist/types/utils/tabbable.d.ts +1 -1
  493. package/dist/types/utils/time.util.d.ts +18 -9
  494. package/dist/types/utils/type-check.d.ts +3 -4
  495. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +1 -1
  496. package/dist/ui-library/p-02d5a6d8.js +2 -0
  497. package/dist/ui-library/p-02d5a6d8.js.map +1 -0
  498. package/dist/ui-library/p-053d6de8.entry.js +2 -0
  499. package/dist/ui-library/p-053d6de8.entry.js.map +1 -0
  500. package/dist/ui-library/p-0cc08e91.js +2 -0
  501. package/dist/ui-library/p-0cc08e91.js.map +1 -0
  502. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-0eee4c41.entry.js} +2 -2
  503. package/dist/ui-library/p-0eee4c41.entry.js.map +1 -0
  504. package/dist/ui-library/p-0fe78f9b.js +2 -0
  505. package/dist/ui-library/p-0fe78f9b.js.map +1 -0
  506. package/dist/ui-library/{p-ac4f4d45.js → p-187fbba0.js} +3 -3
  507. package/dist/ui-library/p-187fbba0.js.map +1 -0
  508. package/dist/ui-library/p-25b42655.entry.js +2 -0
  509. package/dist/ui-library/p-25b42655.entry.js.map +1 -0
  510. package/dist/ui-library/p-271ba152.entry.js +2 -0
  511. package/dist/ui-library/p-271ba152.entry.js.map +1 -0
  512. package/dist/ui-library/{p-6d75f216.entry.js → p-27c4ee88.entry.js} +2 -2
  513. package/dist/ui-library/{p-f604e067.entry.js → p-2a36b7d0.entry.js} +2 -2
  514. package/dist/ui-library/p-2a8ad91b.entry.js +2 -0
  515. package/dist/ui-library/p-2a8ad91b.entry.js.map +1 -0
  516. package/dist/ui-library/{p-97cc839c.entry.js → p-30e0cdce.entry.js} +2 -2
  517. package/dist/ui-library/p-30e0cdce.entry.js.map +1 -0
  518. package/dist/ui-library/{p-63703ba3.entry.js → p-3a47c8ad.entry.js} +2 -2
  519. package/dist/ui-library/{p-63703ba3.entry.js.map → p-3a47c8ad.entry.js.map} +1 -1
  520. package/dist/ui-library/p-3a4815cb.entry.js +2 -0
  521. package/dist/ui-library/p-3a4815cb.entry.js.map +1 -0
  522. package/dist/ui-library/p-3b71cac4.entry.js +2 -0
  523. package/dist/ui-library/p-3b71cac4.entry.js.map +1 -0
  524. package/dist/ui-library/{p-5a25d6fb.entry.js → p-3d4a2e03.entry.js} +2 -2
  525. package/dist/ui-library/{p-73597d13.entry.js → p-3e4b9341.entry.js} +2 -2
  526. package/dist/ui-library/{p-73597d13.entry.js.map → p-3e4b9341.entry.js.map} +1 -1
  527. package/dist/ui-library/{p-3c635d0a.entry.js → p-41f0b6ff.entry.js} +2 -2
  528. package/dist/ui-library/p-435242a8.entry.js +2 -0
  529. package/dist/ui-library/p-435242a8.entry.js.map +1 -0
  530. package/dist/ui-library/{p-19364560.entry.js → p-5084ca7c.entry.js} +2 -2
  531. package/dist/ui-library/{p-19364560.entry.js.map → p-5084ca7c.entry.js.map} +1 -1
  532. package/dist/ui-library/p-5b3e6eb7.entry.js +2 -0
  533. package/dist/ui-library/p-5b3e6eb7.entry.js.map +1 -0
  534. package/dist/ui-library/{p-8a970a40.entry.js → p-5c1dd25a.entry.js} +2 -2
  535. package/dist/ui-library/p-5c1dd25a.entry.js.map +1 -0
  536. package/dist/ui-library/p-5c60227f.entry.js +2 -0
  537. package/dist/ui-library/p-5c60227f.entry.js.map +1 -0
  538. package/dist/ui-library/p-5dc40a6a.entry.js +2 -0
  539. package/dist/ui-library/p-5dc40a6a.entry.js.map +1 -0
  540. package/dist/ui-library/{p-dd3c76f1.entry.js → p-649017db.entry.js} +2 -2
  541. package/dist/ui-library/p-713684c7.entry.js +2 -0
  542. package/dist/ui-library/p-713684c7.entry.js.map +1 -0
  543. package/dist/ui-library/{p-c30f9e0b.entry.js → p-73325eec.entry.js} +2 -2
  544. package/dist/ui-library/p-73325eec.entry.js.map +1 -0
  545. package/dist/ui-library/p-7639c68e.entry.js +2 -0
  546. package/dist/ui-library/p-7639c68e.entry.js.map +1 -0
  547. package/dist/ui-library/p-764f56dd.entry.js +2 -0
  548. package/dist/ui-library/p-764f56dd.entry.js.map +1 -0
  549. package/dist/ui-library/{p-e19a6c95.entry.js → p-886a35ee.entry.js} +2 -2
  550. package/dist/ui-library/p-8cf72af6.js +2 -0
  551. package/dist/ui-library/p-8cf72af6.js.map +1 -0
  552. package/dist/ui-library/p-8d6f4311.entry.js +2 -0
  553. package/dist/ui-library/p-8d6f4311.entry.js.map +1 -0
  554. package/dist/ui-library/p-90c2dc30.entry.js +2 -0
  555. package/dist/ui-library/p-90c2dc30.entry.js.map +1 -0
  556. package/dist/ui-library/{p-97323ad7.entry.js → p-965fa6a6.entry.js} +2 -2
  557. package/dist/ui-library/p-98234e3f.entry.js +2 -0
  558. package/dist/ui-library/p-98234e3f.entry.js.map +1 -0
  559. package/dist/ui-library/{p-820c23f0.entry.js → p-9b9c3afc.entry.js} +2 -2
  560. package/dist/ui-library/{p-394a2a12.entry.js → p-9c34eab7.entry.js} +2 -2
  561. package/dist/ui-library/{p-394a2a12.entry.js.map → p-9c34eab7.entry.js.map} +1 -1
  562. package/dist/ui-library/p-9e0c386f.entry.js +2 -0
  563. package/dist/ui-library/p-9e0c386f.entry.js.map +1 -0
  564. package/dist/ui-library/p-9f8b6144.entry.js +2 -0
  565. package/dist/ui-library/p-9f8b6144.entry.js.map +1 -0
  566. package/dist/ui-library/p-a3cc0521.entry.js +2 -0
  567. package/dist/ui-library/p-a3cc0521.entry.js.map +1 -0
  568. package/dist/ui-library/{p-21859bca.entry.js → p-a5143b8d.entry.js} +2 -2
  569. package/dist/ui-library/{p-097cced4.entry.js → p-aa6f71e1.entry.js} +2 -2
  570. package/dist/ui-library/{p-097cced4.entry.js.map → p-aa6f71e1.entry.js.map} +1 -1
  571. package/dist/ui-library/p-abb98245.entry.js +2 -0
  572. package/dist/ui-library/p-abb98245.entry.js.map +1 -0
  573. package/dist/ui-library/p-b183e44f.js +2 -0
  574. package/dist/ui-library/p-b183e44f.js.map +1 -0
  575. package/dist/ui-library/{p-19b50b5a.entry.js → p-b27f496f.entry.js} +2 -2
  576. package/dist/ui-library/p-b27f496f.entry.js.map +1 -0
  577. package/dist/ui-library/{p-4f8394d7.js → p-ba74863a.js} +2 -2
  578. package/dist/ui-library/p-ba74863a.js.map +1 -0
  579. package/dist/ui-library/p-bf4a35ec.js +2 -0
  580. package/dist/ui-library/p-bf4a35ec.js.map +1 -0
  581. package/dist/ui-library/{p-d5633a29.entry.js → p-c07adc21.entry.js} +2 -2
  582. package/dist/ui-library/p-c07adc21.entry.js.map +1 -0
  583. package/dist/ui-library/p-c700e3eb.entry.js +2 -0
  584. package/dist/ui-library/p-c700e3eb.entry.js.map +1 -0
  585. package/dist/ui-library/p-cab99e54.entry.js +2 -0
  586. package/dist/ui-library/p-cab99e54.entry.js.map +1 -0
  587. package/dist/ui-library/{p-baa03951.entry.js → p-cf1133a0.entry.js} +2 -2
  588. package/dist/ui-library/p-cf1d36c0.entry.js +2 -0
  589. package/dist/ui-library/p-cf1d36c0.entry.js.map +1 -0
  590. package/dist/ui-library/p-d87a6f4d.js +2 -0
  591. package/dist/ui-library/p-d87a6f4d.js.map +1 -0
  592. package/dist/ui-library/{p-c349d1d4.entry.js → p-d8c97778.entry.js} +2 -2
  593. package/dist/ui-library/p-d8c97778.entry.js.map +1 -0
  594. package/dist/ui-library/p-deb01174.entry.js +2 -0
  595. package/dist/ui-library/p-deb01174.entry.js.map +1 -0
  596. package/dist/ui-library/{p-af793d04.entry.js → p-e5ba13d2.entry.js} +2 -2
  597. package/dist/ui-library/p-e5ba13d2.entry.js.map +1 -0
  598. package/dist/ui-library/{p-611e1978.entry.js → p-f29ba9cb.entry.js} +2 -2
  599. package/dist/ui-library/{p-611e1978.entry.js.map → p-f29ba9cb.entry.js.map} +1 -1
  600. package/dist/ui-library/{p-9328e5bc.entry.js → p-f66eb76c.entry.js} +2 -2
  601. package/dist/ui-library/p-f66eb76c.entry.js.map +1 -0
  602. package/dist/ui-library/p-f974a184.entry.js +2 -0
  603. package/dist/ui-library/p-f974a184.entry.js.map +1 -0
  604. package/dist/ui-library/{p-b0e5658f.entry.js → p-fb8d0734.entry.js} +2 -2
  605. package/dist/ui-library/p-fb8d0734.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 +1 -1
  609. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  610. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  611. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  612. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  613. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  614. package/dist/cjs/modal-48d42228.js.map +0 -1
  615. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  616. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  617. package/dist/cjs/slot-ad537f24.js.map +0 -1
  618. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  619. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  620. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  621. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  622. package/dist/collection/utils/as-array.js +0 -2
  623. package/dist/collection/utils/as-array.js.map +0 -1
  624. package/dist/collection/utils/matchers.js +0 -3
  625. package/dist/collection/utils/matchers.js.map +0 -1
  626. package/dist/collection/utils/testing.js +0 -39
  627. package/dist/collection/utils/testing.js.map +0 -1
  628. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  629. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  630. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  631. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  632. package/dist/esm/index-5c0f6628.js.map +0 -1
  633. package/dist/esm/modal-5ebdc320.js.map +0 -1
  634. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  635. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  636. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  637. package/dist/esm/slot-6f3984c7.js.map +0 -1
  638. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  639. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  640. package/dist/types/utils/as-array.d.ts +0 -1
  641. package/dist/types/utils/matchers.d.ts +0 -2
  642. package/dist/types/utils/popper.d.ts +0 -33
  643. package/dist/types/utils/testing.d.ts +0 -2
  644. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  645. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  646. package/dist/ui-library/p-0786fa7c.js +0 -2
  647. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  648. package/dist/ui-library/p-163f2bb0.entry.js +0 -2
  649. package/dist/ui-library/p-163f2bb0.entry.js.map +0 -1
  650. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  651. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  652. package/dist/ui-library/p-18ea0c56.js +0 -2
  653. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  654. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  655. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  656. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  657. package/dist/ui-library/p-308261c4.entry.js +0 -2
  658. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  659. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  660. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  661. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  662. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  663. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  664. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  665. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  666. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  667. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  668. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  669. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  670. package/dist/ui-library/p-6433c0da.entry.js +0 -2
  671. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  672. package/dist/ui-library/p-79eee01b.js +0 -2
  673. package/dist/ui-library/p-79eee01b.js.map +0 -1
  674. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  675. package/dist/ui-library/p-90824648.entry.js +0 -2
  676. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  677. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  678. package/dist/ui-library/p-97cc839c.entry.js.map +0 -1
  679. package/dist/ui-library/p-9a860acc.js +0 -2
  680. package/dist/ui-library/p-9a860acc.js.map +0 -1
  681. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  682. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  683. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  684. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  685. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  686. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  687. package/dist/ui-library/p-b1e66136.js +0 -2
  688. package/dist/ui-library/p-b1e66136.js.map +0 -1
  689. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  690. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  691. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  692. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  693. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  694. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  695. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  696. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  697. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  698. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  699. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  700. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  701. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  702. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  703. package/dist/ui-library/p-d12c6092.js +0 -2
  704. package/dist/ui-library/p-d12c6092.js.map +0 -1
  705. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  706. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  707. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  708. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  709. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  710. package/dist/ui-library/p-f4938771.entry.js +0 -2
  711. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  712. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  713. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  714. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  715. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  716. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  717. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  718. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  719. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
  720. /package/dist/ui-library/{p-6d75f216.entry.js.map → p-27c4ee88.entry.js.map} +0 -0
  721. /package/dist/ui-library/{p-f604e067.entry.js.map → p-2a36b7d0.entry.js.map} +0 -0
  722. /package/dist/ui-library/{p-5a25d6fb.entry.js.map → p-3d4a2e03.entry.js.map} +0 -0
  723. /package/dist/ui-library/{p-3c635d0a.entry.js.map → p-41f0b6ff.entry.js.map} +0 -0
  724. /package/dist/ui-library/{p-dd3c76f1.entry.js.map → p-649017db.entry.js.map} +0 -0
  725. /package/dist/ui-library/{p-e19a6c95.entry.js.map → p-886a35ee.entry.js.map} +0 -0
  726. /package/dist/ui-library/{p-97323ad7.entry.js.map → p-965fa6a6.entry.js.map} +0 -0
  727. /package/dist/ui-library/{p-820c23f0.entry.js.map → p-9b9c3afc.entry.js.map} +0 -0
  728. /package/dist/ui-library/{p-21859bca.entry.js.map → p-a5143b8d.entry.js.map} +0 -0
  729. /package/dist/ui-library/{p-baa03951.entry.js.map → p-cf1133a0.entry.js.map} +0 -0
@@ -7,7 +7,6 @@ const isSIXMenuItemElement = (el) => (el === null || el === void 0 ? void 0 : el
7
7
  const mapToMenuItem = ({ value, label }) => h("six-menu-item", { value: value }, label);
8
8
  const DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING = 5;
9
9
  const DEFAULT_SIX_MENU_ITEM_HEIGHT = 64;
10
- const ITEMS_SHOWN_NOT_SET = undefined;
11
10
  /**
12
11
  * @since 1.0
13
12
  * @status stable
@@ -23,12 +22,14 @@ export class SixMenu {
23
22
  this.eventListeners = new EventListeners();
24
23
  this.typeToSelectString = '';
25
24
  this.handleScrolling = () => {
25
+ if (this.menuWrapper == null)
26
+ return;
26
27
  // for performance improvements we only update the DOM if the scrollRatio change "enough"
27
28
  this.scrollingIndex = Math.floor(this.menuWrapper.scrollTop / this.sixMenuItemHeight);
28
29
  };
29
30
  this.removeBoxShadow = false;
30
31
  this.items = null;
31
- this.itemsShown = ITEMS_SHOWN_NOT_SET;
32
+ this.itemsShown = undefined;
32
33
  this.virtualScroll = false;
33
34
  this.itemSize = 10;
34
35
  this.scrollingDebounce = 15;
@@ -59,6 +60,8 @@ export class SixMenu {
59
60
  async typeToSelect(key) {
60
61
  var _a;
61
62
  clearTimeout(this.typeToSelectTimeout);
63
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
64
+ // @ts-ignore
62
65
  this.typeToSelectTimeout = setTimeout(() => (this.typeToSelectString = ''), 750);
63
66
  this.typeToSelectString += key.toLowerCase();
64
67
  const items = this.getItems();
@@ -73,36 +76,39 @@ export class SixMenu {
73
76
  }
74
77
  getItemsShown() {
75
78
  var _a;
76
- const defaultItemsShown = this.virtualScroll
77
- ? DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING
78
- : ITEMS_SHOWN_NOT_SET;
79
+ const defaultItemsShown = this.virtualScroll ? DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING : 0;
79
80
  return (_a = this.itemsShown) !== null && _a !== void 0 ? _a : defaultItemsShown;
80
81
  }
81
82
  setupForVirtualScrollingAfterRendering() {
82
83
  var _a, _b;
83
- if (!this.virtualScroll) {
84
+ if (!this.virtualScroll || this.menuWrapper == null)
84
85
  return;
85
- }
86
86
  this.eventListeners.add(this.menuWrapper, 'scroll', debounce(this.handleScrolling, this.scrollingDebounce));
87
87
  // set menu height to proper height once the item is rendered.
88
88
  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;
89
- if (menuItemHeight && menuItemHeight > 0) {
89
+ if (menuItemHeight != null && menuItemHeight > 0) {
90
90
  this.sixMenuItemHeight = menuItemHeight;
91
91
  }
92
92
  }
93
93
  getItems() {
94
- if (this.items !== null && this.items !== undefined) {
94
+ if (this.menu == null)
95
+ return [];
96
+ if (this.items != null) {
95
97
  return this.items.map(mapToMenuItem);
96
98
  }
97
99
  const slot = this.menu.querySelector('slot');
100
+ if (slot == null)
101
+ return [];
98
102
  return [...slot.assignedElements({ flatten: true })].filter((el) => isSIXMenuItemElement(el) && !el.disabled);
99
103
  }
100
104
  getActiveItemIndex() {
101
105
  const items = this.getItems();
102
106
  const selectedItem = this.getActiveItem();
103
- const itemIndex = items.indexOf(selectedItem);
104
- if (itemIndex > -1) {
105
- return itemIndex;
107
+ if (selectedItem != null) {
108
+ const itemIndex = items.indexOf(selectedItem);
109
+ if (itemIndex > -1) {
110
+ return itemIndex;
111
+ }
106
112
  }
107
113
  const sixMenuItems = this.extractItemsFromDOM();
108
114
  return sixMenuItems.findIndex(isFocusedMenuItem);
@@ -110,17 +116,17 @@ export class SixMenu {
110
116
  getActiveItem() {
111
117
  var _a;
112
118
  const activeElement = this.getItems().find((i) => i === document.activeElement);
113
- if (activeElement) {
119
+ if (activeElement != null) {
114
120
  return activeElement;
115
121
  }
116
122
  return (_a = this.extractItemsFromDOM()) === null || _a === void 0 ? void 0 : _a.find(isFocusedMenuItem);
117
123
  }
118
124
  extractItemsFromDOM() {
119
125
  var _a, _b;
120
- 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'));
126
+ return Array.from((_b = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('six-menu-item')) !== null && _b !== void 0 ? _b : []);
121
127
  }
122
128
  setActiveItem(item) {
123
- item.setFocus();
129
+ item === null || item === void 0 ? void 0 : item.setFocus();
124
130
  }
125
131
  handleClick(event) {
126
132
  const target = event.target;
@@ -134,7 +140,7 @@ export class SixMenu {
134
140
  if (event.key === 'Enter') {
135
141
  const activeItem = this.getActiveItem();
136
142
  event.preventDefault();
137
- if (activeItem) {
143
+ if (activeItem != null) {
138
144
  this.sixMenuItemSelected.emit({ name: activeItem.value, item: activeItem });
139
145
  }
140
146
  }
@@ -146,7 +152,7 @@ export class SixMenu {
146
152
  if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {
147
153
  const items = this.items === null ? this.getItems() : this.extractItemsFromDOM();
148
154
  let indexOfActiveItem = this.getActiveItemIndex();
149
- if (items.length) {
155
+ if (items.length > 0) {
150
156
  event.preventDefault();
151
157
  if (event.key === 'ArrowDown') {
152
158
  indexOfActiveItem++;
@@ -171,10 +177,11 @@ export class SixMenu {
171
177
  void this.typeToSelect(event.key);
172
178
  }
173
179
  getMenuWrapperStyle() {
180
+ var _a;
174
181
  const styles = {};
175
182
  if (this.getItemsShown() > 0) {
176
183
  // calculate the proper height to show the correct number of items
177
- styles.height = `${this.getItemsShown() * this.sixMenuItemHeight}px`;
184
+ styles.height = `${((_a = this.getItemsShown()) !== null && _a !== void 0 ? _a : 0) * this.sixMenuItemHeight}px`;
178
185
  }
179
186
  return Object.assign({}, styles);
180
187
  }
@@ -248,7 +255,7 @@ export class SixMenu {
248
255
  "mutable": false,
249
256
  "complexType": {
250
257
  "original": "SixMenuItemData[] | null",
251
- "resolved": "SixMenuItemData[]",
258
+ "resolved": "SixMenuItemData[] | null",
252
259
  "references": {
253
260
  "SixMenuItemData": {
254
261
  "location": "local",
@@ -269,18 +276,17 @@ export class SixMenu {
269
276
  "mutable": false,
270
277
  "complexType": {
271
278
  "original": "number",
272
- "resolved": "number",
279
+ "resolved": "number | undefined",
273
280
  "references": {}
274
281
  },
275
282
  "required": false,
276
283
  "optional": true,
277
284
  "docs": {
278
285
  "tags": [],
279
- "text": "Defines how many items should be shown. If the number of items is larger than this properties a scrollbar will be shown"
286
+ "text": "Defines how many items should be shown. If the number of items is larger than this property a scrollbar will be shown"
280
287
  },
281
288
  "attribute": "items-shown",
282
- "reflect": false,
283
- "defaultValue": "ITEMS_SHOWN_NOT_SET"
289
+ "reflect": false
284
290
  },
285
291
  "virtualScroll": {
286
292
  "type": "boolean",
@@ -1 +1 @@
1
- {"version":3,"file":"six-menu.js","sourceRoot":"","sources":["../../../src/components/six-menu/six-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
1
+ {"version":3,"file":"six-menu.js","sourceRoot":"","sources":["../../../src/components/six-menu/six-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
@@ -31,11 +31,13 @@ export class SixMenuItem {
31
31
  }
32
32
  /** Sets focus on the button. */
33
33
  async setFocus(options) {
34
- this.menuItem.focus(options);
34
+ var _a;
35
+ (_a = this.menuItem) === null || _a === void 0 ? void 0 : _a.focus(options);
35
36
  }
36
37
  /** Removes focus from the button. */
37
38
  async removeFocus() {
38
- this.menuItem.blur();
39
+ var _a;
40
+ (_a = this.menuItem) === null || _a === void 0 ? void 0 : _a.blur();
39
41
  }
40
42
  /** Returns a text label based on the contents of the menu item's default slot. */
41
43
  getTextLabel() {
@@ -48,10 +50,10 @@ export class SixMenuItem {
48
50
  this.hasFocus = true;
49
51
  }
50
52
  handleMouseEnter() {
51
- this.setFocus();
53
+ return this.setFocus();
52
54
  }
53
55
  handleMouseLeave() {
54
- this.removeFocus();
56
+ return this.removeFocus();
55
57
  }
56
58
  render() {
57
59
  return (h("div", { ref: (el) => (this.menuItem = el), part: "base", class: {
@@ -59,7 +61,7 @@ export class SixMenuItem {
59
61
  'menu-item--checked': this.checked,
60
62
  'menu-item--disabled': this.disabled,
61
63
  'menu-item--focused': this.hasFocus,
62
- }, 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"))));
64
+ }, 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"))));
63
65
  }
64
66
  static get is() { return "six-menu-item"; }
65
67
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"six-menu-item.js","sourceRoot":"","sources":["../../../src/components/six-menu-item/six-menu-item.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
1
+ {"version":3,"file":"six-menu-item.js","sourceRoot":"","sources":["../../../src/components/six-menu-item/six-menu-item.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
@@ -1,4 +1,4 @@
1
- import { Host, h } from '@stencil/core';
1
+ import { h, Host } from '@stencil/core';
2
2
  /**
3
3
  * @since 1.1
4
4
  * @status stable
@@ -12,7 +12,10 @@ export class SixPicto {
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
  static get is() { return "six-picto"; }
18
21
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"six-picto.js","sourceRoot":"","sources":["../../../src/components/six-picto/six-picto.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAElE;;;;;GAKG;AAOH,MAAM,OAAO,QAAQ;;gBAMiF,QAAQ;;EAE5G,MAAM;;IACJ,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,SAAS,0CAAE,IAAI,EAAE,CAAC;IAC7C,OAAO,CACL,EAAC,IAAI;MACH,WAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,GAAI,CACvF,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Element, Prop } from '@stencil/core';\n\n/**\n * @since 1.1\n * @status stable\n *\n * @part icon - The component's icon wrapper.\n */\n\n@Component({\n tag: 'six-picto',\n styleUrl: 'six-picto.scss',\n shadow: true,\n})\nexport class SixPicto {\n @Element() host: HTMLSixPictoElement;\n\n /**\n * Defines the size of the icon.\n */\n @Prop() size: 'xSmall' | 'small' | 'medium' | 'large' | 'xLarge' | 'xxLarge' | 'xxxLarge' | '4xl' = 'medium';\n\n render() {\n const iconName = this.host.innerHTML?.trim();\n return (\n <Host>\n <div part=\"icon\" class={{ [`is-size-${this.size}`]: !!this.size, [`${iconName}`]: true }} />\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-picto.js","sourceRoot":"","sources":["../../../src/components/six-picto/six-picto.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAElE;;;;;GAKG;AAOH,MAAM,OAAO,QAAQ;;gBAMiF,QAAQ;;EAE5G,MAAM;;IACJ,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,SAAS,0CAAE,IAAI,EAAE,CAAC;IAC7C,OAAO,CACL,EAAC,IAAI;MACH,WACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;UACL,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;UAC7E,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,IAAI;SACtB,GACD,CACG,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Prop } from '@stencil/core';\n\n/**\n * @since 1.1\n * @status stable\n *\n * @part icon - The component's icon wrapper.\n */\n\n@Component({\n tag: 'six-picto',\n styleUrl: 'six-picto.scss',\n shadow: true,\n})\nexport class SixPicto {\n @Element() host!: HTMLSixPictoElement;\n\n /**\n * Defines the size of the icon.\n */\n @Prop() size: 'xSmall' | 'small' | 'medium' | 'large' | 'xLarge' | 'xxLarge' | 'xxxLarge' | '4xl' = 'medium';\n\n render() {\n const iconName = this.host.innerHTML?.trim();\n return (\n <Host>\n <div\n part=\"icon\"\n class={{\n [`is-size-${this.size}`]: typeof this.size != null || this.size.trim() !== '',\n [`${iconName}`]: true,\n }}\n />\n </Host>\n );\n }\n}\n"]}
@@ -14,7 +14,7 @@ export class SixProgressRing {
14
14
  constructor() {
15
15
  this.size = 128;
16
16
  this.strokeWidth = 4;
17
- this.percentage = undefined;
17
+ this.percentage = 0;
18
18
  }
19
19
  handlePercentageChange() {
20
20
  this.updateProgress();
@@ -23,9 +23,9 @@ export class SixProgressRing {
23
23
  this.updateProgress();
24
24
  }
25
25
  updateProgress() {
26
- if (!this.indicator.r) {
26
+ var _a;
27
+ if (((_a = this.indicator) === null || _a === void 0 ? void 0 : _a.r) == null)
27
28
  return;
28
- }
29
29
  const radius = this.indicator.r.baseVal.value;
30
30
  const circumference = radius * 2 * Math.PI;
31
31
  const offset = circumference - (this.percentage / 100) * circumference;
@@ -100,7 +100,8 @@ export class SixProgressRing {
100
100
  "text": "The current progress percentage, 0 - 100."
101
101
  },
102
102
  "attribute": "percentage",
103
- "reflect": false
103
+ "reflect": false,
104
+ "defaultValue": "0"
104
105
  }
105
106
  };
106
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"six-progress-ring.js","sourceRoot":"","sources":["../../../src/components/six-progress-ring/six-progress-ring.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE1D;;;;;;;;;;GAUG;AAOH,MAAM,OAAO,eAAe;;gBAIX,GAAG;uBAGI,CAAC;;;EAMvB,sBAAsB;IACpB,IAAI,CAAC,cAAc,EAAE,CAAC;EACxB,CAAC;EAED,gBAAgB;IACd,IAAI,CAAC,cAAc,EAAE,CAAC;EACxB,CAAC;EAED,cAAc;IACZ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;MACrB,OAAO;KACR;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,aAAa,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,aAAa,CAAC;IAEvE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,aAAa,IAAI,aAAa,EAAE,CAAC;IAC3E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,MAAM,EAAE,CAAC;EACtD,CAAC;EAED,MAAM;IACJ,OAAO,CACL,WAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,eAAe;MACpC,WAAK,KAAK,EAAC,sBAAsB,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI;QACnE,cACE,KAAK,EAAC,sBAAsB,kBACd,IAAI,CAAC,WAAW,oBACf,OAAO,EACtB,IAAI,EAAC,aAAa,EAClB,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,EACvC,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EACjB,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GACjB;QAEF,cACE,GAAG,EAAE,CAAC,EAAoB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,EACpD,KAAK,EAAC,0BAA0B,kBAClB,IAAI,CAAC,WAAW,oBACf,OAAO,EACtB,IAAI,EAAC,aAAa,EAClB,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,EACvC,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EACjB,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GACjB,CACE;MAEN,YAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,sBAAsB;QAC7C,eAAQ,CACH,CACH,CACP,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Watch } from '@stencil/core';\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 - A label to show inside the ring.\n *\n * @part base - The component's base wrapper.\n * @part label - The progress ring label.\n */\n\n@Component({\n tag: 'six-progress-ring',\n styleUrl: 'six-progress-ring.scss',\n shadow: true,\n})\nexport class SixProgressRing {\n indicator: SVGCircleElement;\n\n /** The size of the progress ring in pixels. */\n @Prop() size = 128;\n\n /** The stroke width of the progress ring in pixels. */\n @Prop() strokeWidth = 4;\n\n /** The current progress percentage, 0 - 100. */\n @Prop() percentage: number;\n\n @Watch('percentage')\n handlePercentageChange() {\n this.updateProgress();\n }\n\n componentDidLoad() {\n this.updateProgress();\n }\n\n updateProgress() {\n if (!this.indicator.r) {\n return;\n }\n const radius = this.indicator.r.baseVal.value;\n const circumference = radius * 2 * Math.PI;\n const offset = circumference - (this.percentage / 100) * circumference;\n\n this.indicator.style.strokeDasharray = `${circumference} ${circumference}`;\n this.indicator.style.strokeDashoffset = `${offset}`;\n }\n\n render() {\n return (\n <div part=\"base\" class=\"progress-ring\">\n <svg class=\"progress-ring__image\" width={this.size} height={this.size}>\n <circle\n class=\"progress-ring__track\"\n stroke-width={this.strokeWidth}\n stroke-linecap=\"round\"\n fill=\"transparent\"\n r={this.size / 2 - this.strokeWidth * 2}\n cx={this.size / 2}\n cy={this.size / 2}\n />\n\n <circle\n ref={(el: SVGCircleElement) => (this.indicator = el)}\n class=\"progress-ring__indicator\"\n stroke-width={this.strokeWidth}\n stroke-linecap=\"round\"\n fill=\"transparent\"\n r={this.size / 2 - this.strokeWidth * 2}\n cx={this.size / 2}\n cy={this.size / 2}\n />\n </svg>\n\n <span part=\"label\" class=\"progress-ring__label\">\n <slot />\n </span>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-progress-ring.js","sourceRoot":"","sources":["../../../src/components/six-progress-ring/six-progress-ring.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE1D;;;;;;;;;;GAUG;AAOH,MAAM,OAAO,eAAe;;gBAIX,GAAG;uBAGI,CAAC;sBAGF,CAAC;;EAGtB,sBAAsB;IACpB,IAAI,CAAC,cAAc,EAAE,CAAC;EACxB,CAAC;EAED,gBAAgB;IACd,IAAI,CAAC,cAAc,EAAE,CAAC;EACxB,CAAC;EAEO,cAAc;;IACpB,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,CAAC,KAAI,IAAI;MAAE,OAAO;IAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,aAAa,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,aAAa,CAAC;IAEvE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,aAAa,IAAI,aAAa,EAAE,CAAC;IAC3E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,MAAM,EAAE,CAAC;EACtD,CAAC;EAED,MAAM;IACJ,OAAO,CACL,WAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,eAAe;MACpC,WAAK,KAAK,EAAC,sBAAsB,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI;QACnE,cACE,KAAK,EAAC,sBAAsB,kBACd,IAAI,CAAC,WAAW,oBACf,OAAO,EACtB,IAAI,EAAC,aAAa,EAClB,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,EACvC,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EACjB,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GACjB;QAEF,cACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAsB,CAAC,EACtD,KAAK,EAAC,0BAA0B,kBAClB,IAAI,CAAC,WAAW,oBACf,OAAO,EACtB,IAAI,EAAC,aAAa,EAClB,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,EACvC,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EACjB,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GACjB,CACE;MAEN,YAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,sBAAsB;QAC7C,eAAQ,CACH,CACH,CACP,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Watch } from '@stencil/core';\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 - A label to show inside the ring.\n *\n * @part base - The component's base wrapper.\n * @part label - The progress ring label.\n */\n\n@Component({\n tag: 'six-progress-ring',\n styleUrl: 'six-progress-ring.scss',\n shadow: true,\n})\nexport class SixProgressRing {\n private indicator?: SVGCircleElement;\n\n /** The size of the progress ring in pixels. */\n @Prop() size = 128;\n\n /** The stroke width of the progress ring in pixels. */\n @Prop() strokeWidth = 4;\n\n /** The current progress percentage, 0 - 100. */\n @Prop() percentage = 0;\n\n @Watch('percentage')\n handlePercentageChange() {\n this.updateProgress();\n }\n\n componentDidLoad() {\n this.updateProgress();\n }\n\n private updateProgress() {\n if (this.indicator?.r == null) return;\n\n const radius = this.indicator.r.baseVal.value;\n const circumference = radius * 2 * Math.PI;\n const offset = circumference - (this.percentage / 100) * circumference;\n\n this.indicator.style.strokeDasharray = `${circumference} ${circumference}`;\n this.indicator.style.strokeDashoffset = `${offset}`;\n }\n\n render() {\n return (\n <div part=\"base\" class=\"progress-ring\">\n <svg class=\"progress-ring__image\" width={this.size} height={this.size}>\n <circle\n class=\"progress-ring__track\"\n stroke-width={this.strokeWidth}\n stroke-linecap=\"round\"\n fill=\"transparent\"\n r={this.size / 2 - this.strokeWidth * 2}\n cx={this.size / 2}\n cy={this.size / 2}\n />\n\n <circle\n ref={(el) => (this.indicator = el as SVGCircleElement)}\n class=\"progress-ring__indicator\"\n stroke-width={this.strokeWidth}\n stroke-linecap=\"round\"\n fill=\"transparent\"\n r={this.size / 2 - this.strokeWidth * 2}\n cx={this.size / 2}\n cy={this.size / 2}\n />\n </svg>\n\n <span part=\"label\" class=\"progress-ring__label\">\n <slot />\n </span>\n </div>\n );\n }\n}\n"]}
@@ -341,14 +341,14 @@ export class SixRadio {
341
341
  },
342
342
  "reportValidity": {
343
343
  "complexType": {
344
- "signature": "() => Promise<boolean>",
344
+ "signature": "() => Promise<boolean | undefined>",
345
345
  "parameters": [],
346
346
  "references": {
347
347
  "Promise": {
348
348
  "location": "global"
349
349
  }
350
350
  },
351
- "return": "Promise<boolean>"
351
+ "return": "Promise<boolean | undefined>"
352
352
  },
353
353
  "docs": {
354
354
  "text": "Checks for validity and shows the browser's validation message if the control is invalid.",
@@ -5,8 +5,8 @@ import { h } from '@stencil/core';
5
5
  *
6
6
  * @slot header - Used to define the header component.
7
7
  * @slot main - Used to define the components in the main area.
8
- * @slot left-sidebar - Used to define the side bar on the left side.
9
- * @slot right-sidebar - Used to define the side bar on the right side.
8
+ * @slot left-sidebar - Used to define the sidebar on the left side.
9
+ * @slot right-sidebar - Used to define the sidebar on the right side.
10
10
  * @slot footer - Used to define the footer component.
11
11
  */
12
12
  export class SixRoot {
@@ -19,7 +19,7 @@ export class SixRoot {
19
19
  this.padded = true;
20
20
  this.stage = null;
21
21
  this.version = '';
22
- this.collapse = undefined;
22
+ this.collapse = false;
23
23
  }
24
24
  handleCollapsed(collapsed) {
25
25
  this.collapsedEvent.emit({ collapsed });
@@ -88,7 +88,7 @@ export class SixRoot {
88
88
  "mutable": false,
89
89
  "complexType": {
90
90
  "original": "StageType",
91
- "resolved": "\"ACCEPTANCE\" | \"DEV\" | \"ETU\" | \"ITU\" | \"PROD\"",
91
+ "resolved": "\"ACCEPTANCE\" | \"DEV\" | \"ETU\" | \"ITU\" | \"PROD\" | null",
92
92
  "references": {
93
93
  "StageType": {
94
94
  "location": "import",
@@ -1 +1 @@
1
- {"version":3,"file":"six-root.js","sourceRoot":"","sources":["../../../src/components/six-root/six-root.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAO/F;;;;;;;;;GASG;AAOH,MAAM,OAAO,OAAO;;IAoBlB,mBAAc,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;MAC7C,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;MACnC,IAAI,CAAC,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;IAC1C,CAAC,CAAC,CAAC;sBAnBkB,IAAI;kBAGR,IAAI;iBAGM,IAAI;mBAGb,EAAE;;;EAapB,eAAe,CAAC,SAAkB;IAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;EAC1C,CAAC;EAED,iBAAiB;IACf,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACzC,CAAC;EAED,oBAAoB;IAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;EACnC,CAAC;EAED,MAAM;IACJ,OAAO,CACL,YAAM,KAAK,EAAC,UAAU;MACpB,cAAQ,IAAI,EAAC,QAAQ;QAClB,IAAI,CAAC,KAAK,IAAI,2BAAqB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAG,IAAI,CAAC,OAAO,CAAuB;QAC3F,YAAM,IAAI,EAAC,QAAQ,GAAG,CACf;MACT,WAAK,KAAK,EAAC,wBAAwB,EAAC,IAAI,EAAC,cAAc;QACrD,sBAAgB,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;UAC7C,YAAM,IAAI,EAAC,cAAc,GAAG,CACb,CACb;MACN,YAAM,IAAI,EAAC,MAAM;QACf,WAAK,KAAK,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAC,WAAW;UACvG,YAAM,IAAI,EAAC,MAAM,GAAG,CAChB;QACN,WAAK,KAAK,EAAC,kBAAkB;UAC3B,YAAM,IAAI,EAAC,QAAQ,GAAG,CAClB,CACD;MACP,WAAK,KAAK,EAAC,yBAAyB,EAAC,IAAI,EAAC,eAAe;QACvD,YAAM,IAAI,EAAC,eAAe,GAAG,CACzB,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { StageType } from '../six-stage-indicator/six-stage-indicator';\n\nexport interface SixRootCollapsedPayload {\n collapsed: boolean;\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot header - Used to define the header component.\n * @slot main - Used to define the components in the main area.\n * @slot left-sidebar - Used to define the side bar on the left side.\n * @slot right-sidebar - Used to define the side bar on the right side.\n * @slot footer - Used to define the footer component.\n */\n\n@Component({\n tag: 'six-root',\n styleUrl: 'six-root.scss',\n shadow: true,\n})\nexport class SixRoot {\n @Element() host: HTMLSixRootElement;\n\n /** Breakpoint for smaller screens when the right sidebar is collapsed by default. */\n @Prop() breakpoint = 1024;\n\n /** Defines whether the content section should be padded */\n @Prop() padded = true;\n\n /** Defines the stage of the application*/\n @Prop() stage: StageType = null;\n\n /** Defines the version of the application*/\n @Prop() version = '';\n\n /** Emitted when display size is updated. */\n @Event({ eventName: 'six-root-collapsed' }) collapsedEvent: EventEmitter<SixRootCollapsedPayload>;\n\n @State() collapse: boolean;\n\n resizeObserver = new ResizeObserver(([host]) => {\n const { width } = host.contentRect;\n this.collapse = width < this.breakpoint;\n });\n\n @Watch('collapse')\n handleCollapsed(collapsed: boolean) {\n this.collapsedEvent.emit({ collapsed });\n }\n\n componentWillLoad() {\n this.resizeObserver.observe(this.host);\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n render() {\n return (\n <host class=\"six-root\">\n <header part=\"header\">\n {this.stage && <six-stage-indicator stage={this.stage}>{this.version}</six-stage-indicator>}\n <slot name=\"header\" />\n </header>\n <nav class=\"six-root__left-sidebar\" part=\"left-sidebar\">\n <set-attributes value={{ open: !this.collapse }}>\n <slot name=\"left-sidebar\" />\n </set-attributes>\n </nav>\n <main part=\"main\">\n <div class={{ 'six-root__container': true, 'six-root__container--padded': this.padded }} part=\"container\">\n <slot name=\"main\" />\n </div>\n <div class=\"six-root__footer\">\n <slot name=\"footer\" />\n </div>\n </main>\n <nav class=\"six-root__right-sidebar\" part=\"right-sidebar\">\n <slot name=\"right-sidebar\" />\n </nav>\n </host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-root.js","sourceRoot":"","sources":["../../../src/components/six-root/six-root.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAO/F;;;;;;;;;GASG;AAOH,MAAM,OAAO,OAAO;;IAoBV,mBAAc,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;MACrD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;MACnC,IAAI,CAAC,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;IAC1C,CAAC,CAAC,CAAC;sBAnBkB,IAAI;kBAGR,IAAI;iBAGM,IAAI;mBAGb,EAAE;oBAKA,KAAK;;EAQzB,eAAe,CAAC,SAAkB;IAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;EAC1C,CAAC;EAED,iBAAiB;IACf,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACzC,CAAC;EAED,oBAAoB;IAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;EACnC,CAAC;EAED,MAAM;IACJ,OAAO,CACL,YAAM,KAAK,EAAC,UAAU;MACpB,cAAQ,IAAI,EAAC,QAAQ;QAClB,IAAI,CAAC,KAAK,IAAI,2BAAqB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAG,IAAI,CAAC,OAAO,CAAuB;QAC3F,YAAM,IAAI,EAAC,QAAQ,GAAG,CACf;MACT,WAAK,KAAK,EAAC,wBAAwB,EAAC,IAAI,EAAC,cAAc;QACrD,sBAAgB,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;UAC7C,YAAM,IAAI,EAAC,cAAc,GAAG,CACb,CACb;MACN,YAAM,IAAI,EAAC,MAAM;QACf,WAAK,KAAK,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAC,WAAW;UACvG,YAAM,IAAI,EAAC,MAAM,GAAG,CAChB;QACN,WAAK,KAAK,EAAC,kBAAkB;UAC3B,YAAM,IAAI,EAAC,QAAQ,GAAG,CAClB,CACD;MACP,WAAK,KAAK,EAAC,yBAAyB,EAAC,IAAI,EAAC,eAAe;QACvD,YAAM,IAAI,EAAC,eAAe,GAAG,CACzB,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { StageType } from '../six-stage-indicator/six-stage-indicator';\n\nexport interface SixRootCollapsedPayload {\n collapsed: boolean;\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot header - Used to define the header component.\n * @slot main - Used to define the components in the main area.\n * @slot left-sidebar - Used to define the sidebar on the left side.\n * @slot right-sidebar - Used to define the sidebar on the right side.\n * @slot footer - Used to define the footer component.\n */\n\n@Component({\n tag: 'six-root',\n styleUrl: 'six-root.scss',\n shadow: true,\n})\nexport class SixRoot {\n @Element() host!: HTMLSixRootElement;\n\n /** Breakpoint for smaller screens when the right sidebar is collapsed by default. */\n @Prop() breakpoint = 1024;\n\n /** Defines whether the content section should be padded */\n @Prop() padded = true;\n\n /** Defines the stage of the application*/\n @Prop() stage: StageType = null;\n\n /** Defines the version of the application*/\n @Prop() version = '';\n\n /** Emitted when display size is updated. */\n @Event({ eventName: 'six-root-collapsed' }) collapsedEvent!: EventEmitter<SixRootCollapsedPayload>;\n\n @State() collapse = false;\n\n private resizeObserver = new ResizeObserver(([host]) => {\n const { width } = host.contentRect;\n this.collapse = width < this.breakpoint;\n });\n\n @Watch('collapse')\n handleCollapsed(collapsed: boolean) {\n this.collapsedEvent.emit({ collapsed });\n }\n\n componentWillLoad() {\n this.resizeObserver.observe(this.host);\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n render() {\n return (\n <host class=\"six-root\">\n <header part=\"header\">\n {this.stage && <six-stage-indicator stage={this.stage}>{this.version}</six-stage-indicator>}\n <slot name=\"header\" />\n </header>\n <nav class=\"six-root__left-sidebar\" part=\"left-sidebar\">\n <set-attributes value={{ open: !this.collapse }}>\n <slot name=\"left-sidebar\" />\n </set-attributes>\n </nav>\n <main part=\"main\">\n <div class={{ 'six-root__container': true, 'six-root__container--padded': this.padded }} part=\"container\">\n <slot name=\"main\" />\n </div>\n <div class=\"six-root__footer\">\n <slot name=\"footer\" />\n </div>\n </main>\n <nav class=\"six-root__right-sidebar\" part=\"right-sidebar\">\n <slot name=\"right-sidebar\" />\n </nav>\n </host>\n );\n }\n}\n"]}
@@ -11,7 +11,9 @@ export class SixSearchField {
11
11
  constructor() {
12
12
  this.eventListeners = new EventListeners();
13
13
  this.handleInputChange = () => {
14
- this.searchFieldChange.emit({ value: this.inputElement.value });
14
+ if (this.inputElement != null) {
15
+ this.searchFieldChange.emit({ value: this.inputElement.value });
16
+ }
15
17
  };
16
18
  this.placeholder = undefined;
17
19
  this.debounce = DEFAULT_DEBOUNCE_FAST;
@@ -20,14 +22,17 @@ export class SixSearchField {
20
22
  this.clearable = false;
21
23
  }
22
24
  handleValueChange() {
23
- if (this.inputElement) {
25
+ if (this.inputElement != null) {
24
26
  this.inputElement.value = this.value;
25
27
  }
26
28
  }
27
29
  componentDidLoad() {
30
+ if (this.inputElement == null)
31
+ return;
28
32
  this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));
29
33
  this.eventListeners.add(this.inputElement, 'keydown', (event) => {
30
- if (event.key === 'Enter') {
34
+ const keyboardEvent = event;
35
+ if (keyboardEvent.key === 'Enter') {
31
36
  // emit immediately
32
37
  this.handleInputChange();
33
38
  }
@@ -58,11 +63,11 @@ export class SixSearchField {
58
63
  "mutable": false,
59
64
  "complexType": {
60
65
  "original": "string",
61
- "resolved": "string",
66
+ "resolved": "string | undefined",
62
67
  "references": {}
63
68
  },
64
69
  "required": false,
65
- "optional": false,
70
+ "optional": true,
66
71
  "docs": {
67
72
  "tags": [],
68
73
  "text": "The input's placeholder text."
@@ -1 +1 @@
1
- {"version":3,"file":"six-search-field.js","sourceRoot":"","sources":["../../../src/components/six-search-field/six-search-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAM7D;;;;;GAKG;AAOH,MAAM,OAAO,cAAc;;IAqBhB,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAE/C,sBAAiB,GAAG,GAAG,EAAE;MACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC;;oBApBkC,qBAAqB;oBAGrB,KAAK;iBAGR,EAAE;qBAGf,KAAK;;EAczB,iBAAiB;IACf,IAAI,IAAI,CAAC,YAAY,EAAE;MACrB,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;KACtC;EACH,CAAC;EAED,gBAAgB;IACd,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/G,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,KAAoB,EAAE,EAAE;MAC7E,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;QACzB,mBAAmB;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;OAC1B;IACH,CAAC,CAAC,CAAC;EACL,CAAC;EAED,oBAAoB;IAClB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;EAClC,CAAC;EAED,MAAM;IACJ,OAAO,CACL,WAAK,KAAK,EAAC,YAAY;MACrB,iBACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EACrC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QAEzB,gBAAU,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,aAElF,CACD;MACZ,eAAQ,CACJ,CACP,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\n\nexport interface SixSearchFieldChangePayload {\n value: string;\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the results below the search component.\n */\n\n@Component({\n tag: 'six-search-field',\n styleUrl: 'six-search-field.scss',\n shadow: true,\n})\nexport class SixSearchField {\n /** The input's placeholder text. */\n @Prop() placeholder: string;\n\n /** Debounce time in milliseconds, default is 300 ms */\n @Prop({ reflect: true }) debounce = DEFAULT_DEBOUNCE_FAST;\n\n /** Set to true to disable the input. */\n @Prop({ reflect: true }) disabled = false;\n\n /** The input's value attribute. */\n @Prop({ reflect: true }) value = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Emitted when a search is triggered */\n @Event({ eventName: 'six-search-field-change' }) searchFieldChange: EventEmitter<SixSearchFieldChangePayload>;\n\n inputElement: HTMLSixInputElement;\n\n readonly eventListeners = new EventListeners();\n\n handleInputChange = () => {\n this.searchFieldChange.emit({ value: this.inputElement.value });\n };\n\n @Watch('value')\n handleValueChange() {\n if (this.inputElement) {\n this.inputElement.value = this.value;\n }\n }\n\n componentDidLoad() {\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n this.eventListeners.add(this.inputElement, 'keydown', (event: KeyboardEvent) => {\n if (event.key === 'Enter') {\n // emit immediately\n this.handleInputChange();\n }\n });\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n render() {\n return (\n <div class=\"search-box\">\n <six-input\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder}\n value={this.value}\n disabled={this.disabled}\n clearable={this.clearable}\n >\n <six-icon class=\"search-box__icon\" slot=\"prefix\" size=\"small\" onClick={this.handleInputChange}>\n search\n </six-icon>\n </six-input>\n <slot />\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-search-field.js","sourceRoot":"","sources":["../../../src/components/six-search-field/six-search-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAM7D;;;;;GAKG;AAOH,MAAM,OAAO,cAAc;;IAqBjB,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAEtC,sBAAiB,GAAG,GAAG,EAAE;MAC/B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;QAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;OACjE;IACH,CAAC,CAAC;;oBAtBkC,qBAAqB;oBAGrB,KAAK;iBAGR,EAAE;qBAGf,KAAK;;EAgBzB,iBAAiB;IACf,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;MAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;KACtC;EACH,CAAC;EAED,gBAAgB;IACd,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;MAAE,OAAO;IAEtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/G,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,KAAY,EAAE,EAAE;MACrE,MAAM,aAAa,GAAG,KAAsB,CAAC;MAC7C,IAAI,aAAa,CAAC,GAAG,KAAK,OAAO,EAAE;QACjC,mBAAmB;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;OAC1B;IACH,CAAC,CAAC,CAAC;EACL,CAAC;EAED,oBAAoB;IAClB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;EAClC,CAAC;EAED,MAAM;IACJ,OAAO,CACL,WAAK,KAAK,EAAC,YAAY;MACrB,iBACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EACrC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QAEzB,gBAAU,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,aAElF,CACD;MACZ,eAAQ,CACJ,CACP,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\n\nexport interface SixSearchFieldChangePayload {\n value: string;\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the results below the search component.\n */\n\n@Component({\n tag: 'six-search-field',\n styleUrl: 'six-search-field.scss',\n shadow: true,\n})\nexport class SixSearchField {\n /** The input's placeholder text. */\n @Prop() placeholder?: string;\n\n /** Debounce time in milliseconds, default is 300 ms */\n @Prop({ reflect: true }) debounce = DEFAULT_DEBOUNCE_FAST;\n\n /** Set to true to disable the input. */\n @Prop({ reflect: true }) disabled = false;\n\n /** The input's value attribute. */\n @Prop({ reflect: true }) value = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Emitted when a search is triggered */\n @Event({ eventName: 'six-search-field-change' }) searchFieldChange!: EventEmitter<SixSearchFieldChangePayload>;\n\n private inputElement?: HTMLSixInputElement;\n\n private eventListeners = new EventListeners();\n\n private handleInputChange = () => {\n if (this.inputElement != null) {\n this.searchFieldChange.emit({ value: this.inputElement.value });\n }\n };\n\n @Watch('value')\n handleValueChange() {\n if (this.inputElement != null) {\n this.inputElement.value = this.value;\n }\n }\n\n componentDidLoad() {\n if (this.inputElement == null) return;\n\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n this.eventListeners.add(this.inputElement, 'keydown', (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n if (keyboardEvent.key === 'Enter') {\n // emit immediately\n this.handleInputChange();\n }\n });\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n render() {\n return (\n <div class=\"search-box\">\n <six-input\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder}\n value={this.value}\n disabled={this.disabled}\n clearable={this.clearable}\n >\n <six-icon class=\"search-box__icon\" slot=\"prefix\" size=\"small\" onClick={this.handleInputChange}>\n search\n </six-icon>\n </six-input>\n <slot />\n </div>\n );\n }\n}\n"]}