@six-group/ui-library 0.0.0-insider.9277796 → 0.0.0-insider.a8d68c7

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 (738) hide show
  1. package/dist/cjs/event-listeners-b835dfae.js +61 -0
  2. package/dist/cjs/event-listeners-b835dfae.js.map +1 -0
  3. package/dist/cjs/{execution-control-46f388e0.js → execution-control-45c84c46.js} +6 -3
  4. package/dist/cjs/execution-control-45c84c46.js.map +1 -0
  5. package/dist/cjs/{focus-visible-0b352c74.js → focus-visible-e0d93a95.js} +3 -3
  6. package/dist/cjs/focus-visible-e0d93a95.js.map +1 -0
  7. package/dist/cjs/form-8cbd4e0e.js +20 -0
  8. package/dist/cjs/form-8cbd4e0e.js.map +1 -0
  9. package/dist/cjs/{form-control-2c17c573.js → form-control-8df00a52.js} +9 -10
  10. package/dist/cjs/form-control-8df00a52.js.map +1 -0
  11. package/dist/cjs/index.cjs.js +94 -0
  12. package/dist/cjs/index.cjs.js.map +1 -1
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/{modal-48d42228.js → modal-21350fb5.js} +4 -3
  15. package/dist/cjs/modal-21350fb5.js.map +1 -0
  16. package/dist/cjs/{popover-f743f62b.js → popover-8885d50f.js} +39 -31
  17. package/dist/cjs/popover-8885d50f.js.map +1 -0
  18. package/dist/cjs/popup-44836aaf.js +103 -0
  19. package/dist/cjs/popup-44836aaf.js.map +1 -0
  20. package/dist/cjs/set-attributes_2.cjs.entry.js +3 -1
  21. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  22. package/dist/cjs/six-alert.cjs.entry.js +17 -22
  23. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  24. package/dist/cjs/six-avatar.cjs.entry.js +4 -7
  25. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  26. package/dist/cjs/six-badge.cjs.entry.js +1 -1
  27. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-button.cjs.entry.js +35 -33
  29. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-checkbox.cjs.entry.js +48 -75
  32. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  33. package/dist/cjs/six-datepicker.cjs.entry.js +150 -278
  34. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-details.cjs.entry.js +47 -46
  36. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  37. package/dist/cjs/six-dialog.cjs.entry.js +35 -39
  38. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-drawer.cjs.entry.js +32 -36
  40. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-dropdown_2.cjs.entry.js +214 -195
  42. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-error-page.cjs.entry.js +19 -21
  44. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-file-list-item.cjs.entry.js +1 -1
  46. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  47. package/dist/cjs/six-file-upload.cjs.entry.js +20 -20
  48. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-group-label.cjs.entry.js +11 -10
  50. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-header.cjs.entry.js +65 -43
  52. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  53. package/dist/cjs/six-icon-button.cjs.entry.js +3 -3
  54. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-input.cjs.entry.js +93 -126
  56. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-item-picker.cjs.entry.js +58 -77
  58. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-language-switcher.cjs.entry.js +1 -1
  60. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-layout-grid.cjs.entry.js +4 -2
  62. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-menu-item.cjs.entry.js +8 -6
  65. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-picto.cjs.entry.js +4 -1
  67. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-progress-ring.cjs.entry.js +3 -3
  69. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-radio.cjs.entry.js +59 -60
  71. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-range.cjs.entry.js +106 -105
  73. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-root.cjs.entry.js +1 -1
  75. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-search-field.cjs.entry.js +10 -5
  77. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-select.cjs.entry.js +185 -219
  79. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +9 -5
  81. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-sidebar.cjs.entry.js +39 -18
  83. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-switch.cjs.entry.js +54 -62
  86. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-tab-group.cjs.entry.js +130 -112
  88. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-tab-panel.cjs.entry.js +1 -1
  90. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-tab.cjs.entry.js +4 -2
  92. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-tag.cjs.entry.js +4 -7
  94. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-textarea.cjs.entry.js +87 -109
  96. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-tile.cjs.entry.js +13 -16
  98. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-timepicker.cjs.entry.js +157 -213
  100. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-tooltip.cjs.entry.js +53 -56
  102. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  103. package/dist/cjs/{slot-ad537f24.js → slot-bccbdb59.js} +11 -10
  104. package/dist/cjs/slot-bccbdb59.js.map +1 -0
  105. package/dist/cjs/ui-library.cjs.js +1 -1
  106. package/dist/collection/collection-manifest.json +0 -1
  107. package/dist/collection/components/six-alert/six-alert.js +17 -22
  108. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  109. package/dist/collection/components/six-avatar/six-avatar.js +4 -7
  110. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  111. package/dist/collection/components/six-badge/six-badge.js +1 -1
  112. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  113. package/dist/collection/components/six-button/six-button.js +44 -40
  114. package/dist/collection/components/six-button/six-button.js.map +1 -1
  115. package/dist/collection/components/six-card/six-card.js +1 -1
  116. package/dist/collection/components/six-card/six-card.js.map +1 -1
  117. package/dist/collection/components/six-checkbox/six-checkbox.js +64 -159
  118. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  119. package/dist/collection/components/six-datepicker/components/day-selection.js +2 -2
  120. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  121. package/dist/collection/components/six-datepicker/components/month-selection.js +4 -3
  122. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  123. package/dist/collection/components/six-datepicker/components/year-selection.js +9 -6
  124. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  125. package/dist/collection/components/six-datepicker/six-datepicker.js +186 -376
  126. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  127. package/dist/collection/components/six-details/six-details.js +51 -50
  128. package/dist/collection/components/six-details/six-details.js.map +1 -1
  129. package/dist/collection/components/six-dialog/six-dialog.js +34 -38
  130. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  131. package/dist/collection/components/six-drawer/six-drawer.js +31 -35
  132. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  133. package/dist/collection/components/six-dropdown/six-dropdown.js +185 -173
  134. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  135. package/dist/collection/components/six-error-page/six-error-page.js +25 -27
  136. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  137. package/dist/collection/components/six-file-list-item/six-file-list-item.js +3 -3
  138. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  139. package/dist/collection/components/six-file-upload/six-file-upload.js +32 -32
  140. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  141. package/dist/collection/components/six-group-label/six-group-label.js +12 -10
  142. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  143. package/dist/collection/components/six-header/six-header.js +64 -42
  144. package/dist/collection/components/six-header/six-header.js.map +1 -1
  145. package/dist/collection/components/six-icon-button/six-icon-button.js +8 -8
  146. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  147. package/dist/collection/components/six-input/six-input.js +163 -347
  148. package/dist/collection/components/six-input/six-input.js.map +1 -1
  149. package/dist/collection/components/six-item-picker/six-item-picker.js +65 -84
  150. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  151. package/dist/collection/components/six-language-switcher/six-language-switcher.js +2 -2
  152. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  153. package/dist/collection/components/six-layout-grid/six-layout-grid.js +10 -8
  154. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  155. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  156. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  157. package/dist/collection/components/six-menu/six-menu.js +29 -23
  158. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  159. package/dist/collection/components/six-menu-item/six-menu-item.js +7 -5
  160. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  161. package/dist/collection/components/six-picto/six-picto.js +5 -2
  162. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  163. package/dist/collection/components/six-progress-ring/six-progress-ring.js +5 -4
  164. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  165. package/dist/collection/components/six-radio/six-radio.js +66 -114
  166. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  167. package/dist/collection/components/six-range/six-range.js +133 -180
  168. package/dist/collection/components/six-range/six-range.js.map +1 -1
  169. package/dist/collection/components/six-root/six-root.js +4 -4
  170. package/dist/collection/components/six-root/six-root.js.map +1 -1
  171. package/dist/collection/components/six-search-field/six-search-field.js +10 -5
  172. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  173. package/dist/collection/components/six-select/six-select.js +215 -336
  174. package/dist/collection/components/six-select/six-select.js.map +1 -1
  175. package/dist/collection/components/six-select/util.js +52 -0
  176. package/dist/collection/components/six-select/util.js.map +1 -0
  177. package/dist/collection/components/six-sidebar/six-sidebar.js +40 -19
  178. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  179. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +12 -8
  180. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  181. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  182. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +1 -1
  183. package/dist/collection/components/six-switch/six-switch.css +77 -0
  184. package/dist/collection/components/six-switch/six-switch.js +96 -133
  185. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  186. package/dist/collection/components/six-tab/six-tab.js +5 -3
  187. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  188. package/dist/collection/components/six-tab-group/six-tab-group.js +130 -112
  189. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  190. package/dist/collection/components/six-tab-panel/six-tab-panel.js +2 -2
  191. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  192. package/dist/collection/components/six-tag/six-tag.js +4 -7
  193. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  194. package/dist/collection/components/six-textarea/six-textarea.js +149 -270
  195. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  196. package/dist/collection/components/six-tile/six-tile.js +17 -20
  197. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  198. package/dist/collection/components/six-timepicker/six-timepicker.js +153 -254
  199. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  200. package/dist/collection/components/six-tooltip/six-tooltip.js +56 -59
  201. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  202. package/dist/collection/functional-components/form-control/form-control.js +8 -9
  203. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  204. package/dist/collection/index.js +1 -1
  205. package/dist/collection/index.js.map +1 -1
  206. package/dist/collection/testUtil/delay.js.map +1 -1
  207. package/dist/collection/utils/date-util.js +25 -16
  208. package/dist/collection/utils/date-util.js.map +1 -1
  209. package/dist/collection/utils/error-messages.js +91 -0
  210. package/dist/collection/utils/error-messages.js.map +1 -0
  211. package/dist/collection/utils/event-listeners.js +22 -6
  212. package/dist/collection/utils/event-listeners.js.map +1 -1
  213. package/dist/collection/utils/execution-control.js +5 -4
  214. package/dist/collection/utils/execution-control.js.map +1 -1
  215. package/dist/collection/utils/focus-visible.js +2 -2
  216. package/dist/collection/utils/focus-visible.js.map +1 -1
  217. package/dist/collection/utils/form.js +15 -0
  218. package/dist/collection/utils/form.js.map +1 -0
  219. package/dist/collection/utils/modal.js +3 -2
  220. package/dist/collection/utils/modal.js.map +1 -1
  221. package/dist/collection/utils/popover.js +32 -18
  222. package/dist/collection/utils/popover.js.map +1 -1
  223. package/dist/collection/utils/popup.js +95 -0
  224. package/dist/collection/utils/popup.js.map +1 -0
  225. package/dist/collection/utils/slot.js +9 -24
  226. package/dist/collection/utils/slot.js.map +1 -1
  227. package/dist/collection/utils/tabbable.js +6 -6
  228. package/dist/collection/utils/tabbable.js.map +1 -1
  229. package/dist/collection/utils/time.util.js +48 -34
  230. package/dist/collection/utils/time.util.js.map +1 -1
  231. package/dist/collection/utils/type-check.js +0 -1
  232. package/dist/collection/utils/type-check.js.map +1 -1
  233. package/dist/collection/wrappers/set-attributes/set-attributes.js +3 -1
  234. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  235. package/dist/components/event-listeners.js +22 -6
  236. package/dist/components/event-listeners.js.map +1 -1
  237. package/dist/components/execution-control.js +5 -2
  238. package/dist/components/execution-control.js.map +1 -1
  239. package/dist/components/focus-visible.js +2 -2
  240. package/dist/components/focus-visible.js.map +1 -1
  241. package/dist/components/form-control.js +8 -9
  242. package/dist/components/form-control.js.map +1 -1
  243. package/dist/components/form.js +18 -0
  244. package/dist/components/form.js.map +1 -0
  245. package/dist/components/index.js +92 -3
  246. package/dist/components/index.js.map +1 -1
  247. package/dist/components/modal.js +3 -2
  248. package/dist/components/modal.js.map +1 -1
  249. package/dist/components/popover.js +38 -30
  250. package/dist/components/popover.js.map +1 -1
  251. package/dist/components/set-attributes2.js +3 -1
  252. package/dist/components/set-attributes2.js.map +1 -1
  253. package/dist/components/six-alert.js +17 -22
  254. package/dist/components/six-alert.js.map +1 -1
  255. package/dist/components/six-avatar.js +4 -7
  256. package/dist/components/six-avatar.js.map +1 -1
  257. package/dist/components/six-badge.js +1 -1
  258. package/dist/components/six-badge.js.map +1 -1
  259. package/dist/components/six-button.js +34 -32
  260. package/dist/components/six-button.js.map +1 -1
  261. package/dist/components/six-card.js.map +1 -1
  262. package/dist/components/six-checkbox.js +46 -78
  263. package/dist/components/six-checkbox.js.map +1 -1
  264. package/dist/components/six-datepicker.js +150 -281
  265. package/dist/components/six-datepicker.js.map +1 -1
  266. package/dist/components/six-details2.js +46 -45
  267. package/dist/components/six-details2.js.map +1 -1
  268. package/dist/components/six-dialog.js +33 -37
  269. package/dist/components/six-dialog.js.map +1 -1
  270. package/dist/components/six-drawer.js +30 -34
  271. package/dist/components/six-drawer.js.map +1 -1
  272. package/dist/components/six-dropdown2.js +185 -173
  273. package/dist/components/six-dropdown2.js.map +1 -1
  274. package/dist/components/six-error-page.js +19 -21
  275. package/dist/components/six-error-page.js.map +1 -1
  276. package/dist/components/six-file-list-item.js +1 -1
  277. package/dist/components/six-file-list-item.js.map +1 -1
  278. package/dist/components/six-file-upload.js +20 -20
  279. package/dist/components/six-file-upload.js.map +1 -1
  280. package/dist/components/six-group-label.js +10 -9
  281. package/dist/components/six-group-label.js.map +1 -1
  282. package/dist/components/six-header.js +64 -42
  283. package/dist/components/six-header.js.map +1 -1
  284. package/dist/components/six-icon-button2.js +2 -2
  285. package/dist/components/six-icon-button2.js.map +1 -1
  286. package/dist/components/six-input2.js +95 -137
  287. package/dist/components/six-input2.js.map +1 -1
  288. package/dist/components/six-item-picker2.js +56 -75
  289. package/dist/components/six-item-picker2.js.map +1 -1
  290. package/dist/components/six-language-switcher.js +1 -1
  291. package/dist/components/six-language-switcher.js.map +1 -1
  292. package/dist/components/six-layout-grid.js +5 -3
  293. package/dist/components/six-layout-grid.js.map +1 -1
  294. package/dist/components/six-main-container.js.map +1 -1
  295. package/dist/components/six-menu-item2.js +7 -5
  296. package/dist/components/six-menu-item2.js.map +1 -1
  297. package/dist/components/six-menu2.js +25 -18
  298. package/dist/components/six-menu2.js.map +1 -1
  299. package/dist/components/six-picto2.js +4 -1
  300. package/dist/components/six-picto2.js.map +1 -1
  301. package/dist/components/six-progress-ring.js +3 -3
  302. package/dist/components/six-progress-ring.js.map +1 -1
  303. package/dist/components/six-radio.js +61 -65
  304. package/dist/components/six-radio.js.map +1 -1
  305. package/dist/components/six-range.js +108 -111
  306. package/dist/components/six-range.js.map +1 -1
  307. package/dist/components/six-root.js +1 -1
  308. package/dist/components/six-root.js.map +1 -1
  309. package/dist/components/six-search-field.js +8 -3
  310. package/dist/components/six-search-field.js.map +1 -1
  311. package/dist/components/six-select.js +186 -226
  312. package/dist/components/six-select.js.map +1 -1
  313. package/dist/components/six-sidebar-item-group.js +8 -4
  314. package/dist/components/six-sidebar-item-group.js.map +1 -1
  315. package/dist/components/six-sidebar.js +39 -18
  316. package/dist/components/six-sidebar.js.map +1 -1
  317. package/dist/components/six-spinner2.js.map +1 -1
  318. package/dist/components/six-switch.js +58 -68
  319. package/dist/components/six-switch.js.map +1 -1
  320. package/dist/components/six-tab-group.js +129 -111
  321. package/dist/components/six-tab-group.js.map +1 -1
  322. package/dist/components/six-tab-panel.js +1 -1
  323. package/dist/components/six-tab-panel.js.map +1 -1
  324. package/dist/components/six-tab.js +4 -2
  325. package/dist/components/six-tab.js.map +1 -1
  326. package/dist/components/six-tag2.js +4 -7
  327. package/dist/components/six-tag2.js.map +1 -1
  328. package/dist/components/six-textarea.js +89 -117
  329. package/dist/components/six-textarea.js.map +1 -1
  330. package/dist/components/six-tile.js +14 -17
  331. package/dist/components/six-tile.js.map +1 -1
  332. package/dist/components/six-timepicker.js +1 -1
  333. package/dist/components/six-timepicker2.js +247 -258
  334. package/dist/components/six-timepicker2.js.map +1 -1
  335. package/dist/components/six-tooltip2.js +52 -55
  336. package/dist/components/six-tooltip2.js.map +1 -1
  337. package/dist/components/slot.js +10 -9
  338. package/dist/components/slot.js.map +1 -1
  339. package/dist/components.json +527 -914
  340. package/dist/esm/event-listeners-535f3ad1.js +59 -0
  341. package/dist/esm/event-listeners-535f3ad1.js.map +1 -0
  342. package/dist/esm/{execution-control-1a60d709.js → execution-control-72cc50f4.js} +6 -3
  343. package/dist/esm/execution-control-72cc50f4.js.map +1 -0
  344. package/dist/esm/{focus-visible-97933ea9.js → focus-visible-fa7129a0.js} +3 -3
  345. package/dist/esm/focus-visible-fa7129a0.js.map +1 -0
  346. package/dist/esm/form-0b9c11cd.js +18 -0
  347. package/dist/esm/form-0b9c11cd.js.map +1 -0
  348. package/dist/esm/{form-control-3b440ea1.js → form-control-785c5f79.js} +9 -10
  349. package/dist/esm/form-control-785c5f79.js.map +1 -0
  350. package/dist/esm/index.js +91 -0
  351. package/dist/esm/index.js.map +1 -1
  352. package/dist/esm/loader.js +1 -1
  353. package/dist/esm/{modal-5ebdc320.js → modal-b1d96441.js} +4 -3
  354. package/dist/esm/modal-b1d96441.js.map +1 -0
  355. package/dist/esm/{popover-bd2c2fca.js → popover-2e72e7d8.js} +39 -31
  356. package/dist/esm/popover-2e72e7d8.js.map +1 -0
  357. package/dist/esm/popup-678b8592.js +98 -0
  358. package/dist/esm/popup-678b8592.js.map +1 -0
  359. package/dist/esm/set-attributes_2.entry.js +3 -1
  360. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  361. package/dist/esm/six-alert.entry.js +17 -22
  362. package/dist/esm/six-alert.entry.js.map +1 -1
  363. package/dist/esm/six-avatar.entry.js +4 -7
  364. package/dist/esm/six-avatar.entry.js.map +1 -1
  365. package/dist/esm/six-badge.entry.js +1 -1
  366. package/dist/esm/six-badge.entry.js.map +1 -1
  367. package/dist/esm/six-button.entry.js +35 -33
  368. package/dist/esm/six-button.entry.js.map +1 -1
  369. package/dist/esm/six-card.entry.js.map +1 -1
  370. package/dist/esm/six-checkbox.entry.js +48 -75
  371. package/dist/esm/six-checkbox.entry.js.map +1 -1
  372. package/dist/esm/six-datepicker.entry.js +148 -276
  373. package/dist/esm/six-datepicker.entry.js.map +1 -1
  374. package/dist/esm/six-details.entry.js +47 -46
  375. package/dist/esm/six-details.entry.js.map +1 -1
  376. package/dist/esm/six-dialog.entry.js +35 -39
  377. package/dist/esm/six-dialog.entry.js.map +1 -1
  378. package/dist/esm/six-drawer.entry.js +32 -36
  379. package/dist/esm/six-drawer.entry.js.map +1 -1
  380. package/dist/esm/six-dropdown_2.entry.js +214 -195
  381. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  382. package/dist/esm/six-error-page.entry.js +19 -21
  383. package/dist/esm/six-error-page.entry.js.map +1 -1
  384. package/dist/esm/six-file-list-item.entry.js +1 -1
  385. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  386. package/dist/esm/six-file-upload.entry.js +20 -20
  387. package/dist/esm/six-file-upload.entry.js.map +1 -1
  388. package/dist/esm/six-group-label.entry.js +11 -10
  389. package/dist/esm/six-group-label.entry.js.map +1 -1
  390. package/dist/esm/six-header.entry.js +65 -43
  391. package/dist/esm/six-header.entry.js.map +1 -1
  392. package/dist/esm/six-icon-button.entry.js +3 -3
  393. package/dist/esm/six-icon-button.entry.js.map +1 -1
  394. package/dist/esm/six-input.entry.js +93 -126
  395. package/dist/esm/six-input.entry.js.map +1 -1
  396. package/dist/esm/six-item-picker.entry.js +58 -77
  397. package/dist/esm/six-item-picker.entry.js.map +1 -1
  398. package/dist/esm/six-language-switcher.entry.js +1 -1
  399. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  400. package/dist/esm/six-layout-grid.entry.js +4 -2
  401. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  402. package/dist/esm/six-main-container.entry.js.map +1 -1
  403. package/dist/esm/six-menu-item.entry.js +8 -6
  404. package/dist/esm/six-menu-item.entry.js.map +1 -1
  405. package/dist/esm/six-picto.entry.js +4 -1
  406. package/dist/esm/six-picto.entry.js.map +1 -1
  407. package/dist/esm/six-progress-ring.entry.js +3 -3
  408. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  409. package/dist/esm/six-radio.entry.js +59 -60
  410. package/dist/esm/six-radio.entry.js.map +1 -1
  411. package/dist/esm/six-range.entry.js +106 -105
  412. package/dist/esm/six-range.entry.js.map +1 -1
  413. package/dist/esm/six-root.entry.js +1 -1
  414. package/dist/esm/six-root.entry.js.map +1 -1
  415. package/dist/esm/six-search-field.entry.js +10 -5
  416. package/dist/esm/six-search-field.entry.js.map +1 -1
  417. package/dist/esm/six-select.entry.js +185 -219
  418. package/dist/esm/six-select.entry.js.map +1 -1
  419. package/dist/esm/six-sidebar-item-group.entry.js +9 -5
  420. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  421. package/dist/esm/six-sidebar.entry.js +39 -18
  422. package/dist/esm/six-sidebar.entry.js.map +1 -1
  423. package/dist/esm/six-spinner.entry.js.map +1 -1
  424. package/dist/esm/six-switch.entry.js +55 -63
  425. package/dist/esm/six-switch.entry.js.map +1 -1
  426. package/dist/esm/six-tab-group.entry.js +130 -112
  427. package/dist/esm/six-tab-group.entry.js.map +1 -1
  428. package/dist/esm/six-tab-panel.entry.js +1 -1
  429. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  430. package/dist/esm/six-tab.entry.js +4 -2
  431. package/dist/esm/six-tab.entry.js.map +1 -1
  432. package/dist/esm/six-tag.entry.js +4 -7
  433. package/dist/esm/six-tag.entry.js.map +1 -1
  434. package/dist/esm/six-textarea.entry.js +87 -109
  435. package/dist/esm/six-textarea.entry.js.map +1 -1
  436. package/dist/esm/six-tile.entry.js +13 -16
  437. package/dist/esm/six-tile.entry.js.map +1 -1
  438. package/dist/esm/six-timepicker.entry.js +157 -213
  439. package/dist/esm/six-timepicker.entry.js.map +1 -1
  440. package/dist/esm/six-tooltip.entry.js +53 -56
  441. package/dist/esm/six-tooltip.entry.js.map +1 -1
  442. package/dist/esm/{slot-6f3984c7.js → slot-2e64df19.js} +11 -10
  443. package/dist/esm/slot-2e64df19.js.map +1 -0
  444. package/dist/esm/ui-library.js +1 -1
  445. package/dist/types/components/six-alert/six-alert.d.ts +5 -7
  446. package/dist/types/components/six-avatar/six-avatar.d.ts +1 -2
  447. package/dist/types/components/six-badge/six-badge.d.ts +0 -1
  448. package/dist/types/components/six-button/six-button.d.ts +8 -9
  449. package/dist/types/components/six-checkbox/six-checkbox.d.ts +23 -31
  450. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  451. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  452. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  453. package/dist/types/components/six-datepicker/six-datepicker.d.ts +41 -52
  454. package/dist/types/components/six-details/six-details.d.ts +12 -12
  455. package/dist/types/components/six-dialog/six-dialog.d.ts +12 -13
  456. package/dist/types/components/six-drawer/six-drawer.d.ts +12 -13
  457. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -32
  458. package/dist/types/components/six-error-page/six-error-page.d.ts +1 -1
  459. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +3 -3
  460. package/dist/types/components/six-file-upload/six-file-upload.d.ts +11 -11
  461. package/dist/types/components/six-group-label/six-group-label.d.ts +5 -5
  462. package/dist/types/components/six-header/six-header.d.ts +16 -27
  463. package/dist/types/components/six-icon-button/six-icon-button.d.ts +4 -4
  464. package/dist/types/components/six-input/six-input.d.ts +32 -67
  465. package/dist/types/components/six-item-picker/six-item-picker.d.ts +13 -16
  466. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +1 -1
  467. package/dist/types/components/six-menu/six-menu.d.ts +10 -11
  468. package/dist/types/components/six-menu-item/six-menu-item.d.ts +6 -6
  469. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +2 -2
  470. package/dist/types/components/six-radio/six-radio.d.ts +14 -20
  471. package/dist/types/components/six-range/six-range.d.ts +27 -38
  472. package/dist/types/components/six-root/six-root.d.ts +3 -3
  473. package/dist/types/components/six-search-field/six-search-field.d.ts +4 -5
  474. package/dist/types/components/six-select/six-select.d.ts +41 -58
  475. package/dist/types/components/six-select/util.d.ts +7 -0
  476. package/dist/types/components/six-sidebar/six-sidebar.d.ts +5 -5
  477. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +7 -6
  478. package/dist/types/components/six-spinner/six-spinner.d.ts +2 -2
  479. package/dist/types/components/six-switch/six-switch.d.ts +18 -21
  480. package/dist/types/components/six-tab/six-tab.d.ts +3 -3
  481. package/dist/types/components/six-tab-group/six-tab-group.d.ts +20 -21
  482. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +1 -1
  483. package/dist/types/components/six-tag/six-tag.d.ts +1 -3
  484. package/dist/types/components/six-textarea/six-textarea.d.ts +27 -55
  485. package/dist/types/components/six-tile/six-tile.d.ts +2 -3
  486. package/dist/types/components/six-timepicker/six-timepicker.d.ts +26 -43
  487. package/dist/types/components/six-tooltip/six-tooltip.d.ts +19 -21
  488. package/dist/types/components.d.ts +209 -444
  489. package/dist/types/functional-components/form-control/form-control.d.ts +5 -6
  490. package/dist/types/index.d.ts +1 -0
  491. package/dist/types/testUtil/delay.d.ts +1 -1
  492. package/dist/types/types.d.ts +2 -0
  493. package/dist/types/utils/date-util.d.ts +18 -10
  494. package/dist/types/utils/error-messages.d.ts +42 -0
  495. package/dist/types/utils/event-listeners.d.ts +2 -1
  496. package/dist/types/utils/execution-control.d.ts +1 -3
  497. package/dist/types/utils/form.d.ts +1 -0
  498. package/dist/types/utils/modal.d.ts +2 -2
  499. package/dist/types/utils/popover.d.ts +5 -5
  500. package/dist/types/utils/popup.d.ts +9 -0
  501. package/dist/types/utils/slot.d.ts +2 -7
  502. package/dist/types/utils/tabbable.d.ts +1 -1
  503. package/dist/types/utils/time.util.d.ts +18 -9
  504. package/dist/types/utils/type-check.d.ts +3 -4
  505. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +1 -1
  506. package/dist/ui-library/index.esm.js +1 -1
  507. package/dist/ui-library/index.esm.js.map +1 -1
  508. package/dist/ui-library/p-0045a402.entry.js +2 -0
  509. package/dist/ui-library/p-0045a402.entry.js.map +1 -0
  510. package/dist/ui-library/p-0108fe92.entry.js +2 -0
  511. package/dist/ui-library/p-0108fe92.entry.js.map +1 -0
  512. package/dist/ui-library/p-03a145f5.entry.js +2 -0
  513. package/dist/ui-library/p-03a145f5.entry.js.map +1 -0
  514. package/dist/ui-library/{p-7e0cc4ae.entry.js → p-087fdd96.entry.js} +2 -2
  515. package/dist/ui-library/p-087fdd96.entry.js.map +1 -0
  516. package/dist/ui-library/p-09779e47.entry.js +2 -0
  517. package/dist/ui-library/p-09779e47.entry.js.map +1 -0
  518. package/dist/ui-library/p-097cced4.entry.js.map +1 -1
  519. package/dist/ui-library/p-0b2c6348.js +2 -0
  520. package/dist/ui-library/p-0b2c6348.js.map +1 -0
  521. package/dist/ui-library/p-0cc08e91.js +2 -0
  522. package/dist/ui-library/p-0cc08e91.js.map +1 -0
  523. package/dist/ui-library/p-0fe78f9b.js +2 -0
  524. package/dist/ui-library/p-0fe78f9b.js.map +1 -0
  525. package/dist/ui-library/p-2761f908.js +2 -0
  526. package/dist/ui-library/p-2761f908.js.map +1 -0
  527. package/dist/ui-library/{p-19b50b5a.entry.js → p-28be55f0.entry.js} +2 -2
  528. package/dist/ui-library/p-28be55f0.entry.js.map +1 -0
  529. package/dist/ui-library/{p-c349d1d4.entry.js → p-3929b0af.entry.js} +2 -2
  530. package/dist/ui-library/p-3929b0af.entry.js.map +1 -0
  531. package/dist/ui-library/{p-9328e5bc.entry.js → p-445ba5b8.entry.js} +2 -2
  532. package/dist/ui-library/p-445ba5b8.entry.js.map +1 -0
  533. package/dist/ui-library/p-4d408fb4.js +2 -0
  534. package/dist/ui-library/p-4d408fb4.js.map +1 -0
  535. package/dist/ui-library/p-502ff3d3.entry.js +2 -0
  536. package/dist/ui-library/p-502ff3d3.entry.js.map +1 -0
  537. package/dist/ui-library/p-5a34c93e.entry.js +2 -0
  538. package/dist/ui-library/p-5a34c93e.entry.js.map +1 -0
  539. package/dist/ui-library/p-60621dc6.js +2 -0
  540. package/dist/ui-library/p-60621dc6.js.map +1 -0
  541. package/dist/ui-library/p-63703ba3.entry.js.map +1 -1
  542. package/dist/ui-library/p-66180e89.entry.js +2 -0
  543. package/dist/ui-library/p-66180e89.entry.js.map +1 -0
  544. package/dist/ui-library/p-686b12ec.entry.js +2 -0
  545. package/dist/ui-library/p-686b12ec.entry.js.map +1 -0
  546. package/dist/ui-library/p-71035abf.entry.js +2 -0
  547. package/dist/ui-library/p-71035abf.entry.js.map +1 -0
  548. package/dist/ui-library/{p-8a970a40.entry.js → p-724e154d.entry.js} +2 -2
  549. package/dist/ui-library/p-724e154d.entry.js.map +1 -0
  550. package/dist/ui-library/p-72ca96e1.entry.js +2 -0
  551. package/dist/ui-library/p-72ca96e1.entry.js.map +1 -0
  552. package/dist/ui-library/p-73597d13.entry.js.map +1 -1
  553. package/dist/ui-library/{p-c30f9e0b.entry.js → p-778cf804.entry.js} +2 -2
  554. package/dist/ui-library/p-778cf804.entry.js.map +1 -0
  555. package/dist/ui-library/p-87032e26.entry.js +2 -0
  556. package/dist/ui-library/p-87032e26.entry.js.map +1 -0
  557. package/dist/ui-library/p-8cf72af6.js +2 -0
  558. package/dist/ui-library/p-8cf72af6.js.map +1 -0
  559. package/dist/ui-library/p-8e0b6b7e.entry.js +2 -0
  560. package/dist/ui-library/p-8e0b6b7e.entry.js.map +1 -0
  561. package/dist/ui-library/p-912092c0.entry.js +2 -0
  562. package/dist/ui-library/p-912092c0.entry.js.map +1 -0
  563. package/dist/ui-library/p-92ca6a84.entry.js +2 -0
  564. package/dist/ui-library/p-92ca6a84.entry.js.map +1 -0
  565. package/dist/ui-library/{p-d5633a29.entry.js → p-9337cdd6.entry.js} +2 -2
  566. package/dist/ui-library/p-9337cdd6.entry.js.map +1 -0
  567. package/dist/ui-library/p-9461417e.entry.js +2 -0
  568. package/dist/ui-library/p-9461417e.entry.js.map +1 -0
  569. package/dist/ui-library/p-a1d4f6cf.entry.js.map +1 -1
  570. package/dist/ui-library/{p-611e1978.entry.js → p-a844cb72.entry.js} +2 -2
  571. package/dist/ui-library/{p-611e1978.entry.js.map → p-a844cb72.entry.js.map} +1 -1
  572. package/dist/ui-library/p-afcbe9da.entry.js +2 -0
  573. package/dist/ui-library/p-afcbe9da.entry.js.map +1 -0
  574. package/dist/ui-library/{p-0d79b0c6.entry.js → p-b2bf4ac8.entry.js} +2 -2
  575. package/dist/ui-library/p-b2bf4ac8.entry.js.map +1 -0
  576. package/dist/ui-library/{p-90dc6af4.entry.js → p-b3bff992.entry.js} +2 -2
  577. package/dist/ui-library/p-b3bff992.entry.js.map +1 -0
  578. package/dist/ui-library/p-b4547fb5.entry.js +2 -0
  579. package/dist/ui-library/p-b4547fb5.entry.js.map +1 -0
  580. package/dist/ui-library/{p-4f8394d7.js → p-ba74863a.js} +2 -2
  581. package/dist/ui-library/p-ba74863a.js.map +1 -0
  582. package/dist/ui-library/p-bd8f8eef.entry.js +2 -0
  583. package/dist/ui-library/p-bd8f8eef.entry.js.map +1 -0
  584. package/dist/ui-library/p-c57f16af.entry.js +2 -0
  585. package/dist/ui-library/p-c57f16af.entry.js.map +1 -0
  586. package/dist/ui-library/p-c5cdba08.entry.js +2 -0
  587. package/dist/ui-library/p-c5cdba08.entry.js.map +1 -0
  588. package/dist/ui-library/p-c87810b0.entry.js +2 -0
  589. package/dist/ui-library/p-c87810b0.entry.js.map +1 -0
  590. package/dist/ui-library/{p-af793d04.entry.js → p-cdcde4cd.entry.js} +2 -2
  591. package/dist/ui-library/p-cdcde4cd.entry.js.map +1 -0
  592. package/dist/ui-library/p-d6798d35.entry.js +2 -0
  593. package/dist/ui-library/p-d6798d35.entry.js.map +1 -0
  594. package/dist/ui-library/p-d87a6f4d.js +2 -0
  595. package/dist/ui-library/p-d87a6f4d.js.map +1 -0
  596. package/dist/ui-library/p-dc3f5996.entry.js +2 -0
  597. package/dist/ui-library/p-dc3f5996.entry.js.map +1 -0
  598. package/dist/ui-library/p-dcd7c547.entry.js +2 -0
  599. package/dist/ui-library/p-dcd7c547.entry.js.map +1 -0
  600. package/dist/ui-library/p-e07b3f0c.entry.js +2 -0
  601. package/dist/ui-library/p-e07b3f0c.entry.js.map +1 -0
  602. package/dist/ui-library/{p-19364560.entry.js → p-e8feb81f.entry.js} +2 -2
  603. package/dist/ui-library/{p-19364560.entry.js.map → p-e8feb81f.entry.js.map} +1 -1
  604. package/dist/ui-library/p-ef3936e5.entry.js +2 -0
  605. package/dist/ui-library/p-ef3936e5.entry.js.map +1 -0
  606. package/dist/ui-library/p-f0dd77e1.entry.js +2 -0
  607. package/dist/ui-library/p-f0dd77e1.entry.js.map +1 -0
  608. package/dist/ui-library/ui-library.esm.js +1 -1
  609. package/dist/ui-library/ui-library.esm.js.map +1 -1
  610. package/package.json +14 -15
  611. package/dist/cjs/event-listeners-74715e62.js +0 -45
  612. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  613. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  614. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  615. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  616. package/dist/cjs/modal-48d42228.js.map +0 -1
  617. package/dist/cjs/popover-f743f62b.js.map +0 -1
  618. package/dist/cjs/six-form.cjs.entry.js +0 -231
  619. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  620. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  621. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  622. package/dist/cjs/slot-ad537f24.js.map +0 -1
  623. package/dist/collection/components/six-form/six-form.css +0 -11
  624. package/dist/collection/components/six-form/six-form.js +0 -419
  625. package/dist/collection/components/six-form/six-form.js.map +0 -1
  626. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  627. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  628. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  629. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  630. package/dist/collection/utils/as-array.js +0 -2
  631. package/dist/collection/utils/as-array.js.map +0 -1
  632. package/dist/collection/utils/matchers.js +0 -3
  633. package/dist/collection/utils/matchers.js.map +0 -1
  634. package/dist/collection/utils/testing.js +0 -39
  635. package/dist/collection/utils/testing.js.map +0 -1
  636. package/dist/components/six-form.d.ts +0 -11
  637. package/dist/components/six-form.js +0 -252
  638. package/dist/components/six-form.js.map +0 -1
  639. package/dist/esm/event-listeners-570a24ea.js +0 -43
  640. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  641. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  642. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  643. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  644. package/dist/esm/modal-5ebdc320.js.map +0 -1
  645. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  646. package/dist/esm/six-form.entry.js +0 -227
  647. package/dist/esm/six-form.entry.js.map +0 -1
  648. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  649. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  650. package/dist/esm/slot-6f3984c7.js.map +0 -1
  651. package/dist/types/components/six-form/six-form.d.ts +0 -69
  652. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  653. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  654. package/dist/types/utils/as-array.d.ts +0 -1
  655. package/dist/types/utils/matchers.d.ts +0 -2
  656. package/dist/types/utils/popper.d.ts +0 -33
  657. package/dist/types/utils/testing.d.ts +0 -2
  658. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  659. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  660. package/dist/ui-library/p-0786fa7c.js +0 -2
  661. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  662. package/dist/ui-library/p-0d79b0c6.entry.js.map +0 -1
  663. package/dist/ui-library/p-14f20bbb.entry.js +0 -2
  664. package/dist/ui-library/p-14f20bbb.entry.js.map +0 -1
  665. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  666. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  667. package/dist/ui-library/p-18ea0c56.js +0 -2
  668. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  669. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  670. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  671. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  672. package/dist/ui-library/p-308261c4.entry.js +0 -2
  673. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  674. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  675. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  676. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  677. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  678. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  679. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  680. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  681. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  682. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  683. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  684. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  685. package/dist/ui-library/p-6433c0da.entry.js +0 -2
  686. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  687. package/dist/ui-library/p-79eee01b.js +0 -2
  688. package/dist/ui-library/p-79eee01b.js.map +0 -1
  689. package/dist/ui-library/p-7e0cc4ae.entry.js.map +0 -1
  690. package/dist/ui-library/p-835c3ff7.entry.js +0 -2
  691. package/dist/ui-library/p-835c3ff7.entry.js.map +0 -1
  692. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  693. package/dist/ui-library/p-90824648.entry.js +0 -2
  694. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  695. package/dist/ui-library/p-90dc6af4.entry.js.map +0 -1
  696. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  697. package/dist/ui-library/p-9a860acc.js +0 -2
  698. package/dist/ui-library/p-9a860acc.js.map +0 -1
  699. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  700. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  701. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  702. package/dist/ui-library/p-b0e5658f.entry.js +0 -2
  703. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  704. package/dist/ui-library/p-b1e66136.js +0 -2
  705. package/dist/ui-library/p-b1e66136.js.map +0 -1
  706. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  707. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  708. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  709. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  710. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  711. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  712. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  713. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  714. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  715. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  716. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  717. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  718. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  719. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  720. package/dist/ui-library/p-d12c6092.js +0 -2
  721. package/dist/ui-library/p-d12c6092.js.map +0 -1
  722. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  723. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  724. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  725. package/dist/ui-library/p-edc96efc.entry.js +0 -2
  726. package/dist/ui-library/p-edc96efc.entry.js.map +0 -1
  727. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  728. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  729. package/dist/ui-library/p-f4938771.entry.js +0 -2
  730. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  731. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  732. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  733. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  734. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  735. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  736. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  737. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  738. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
@@ -1,51 +1,26 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-5c0f6628.js';
2
2
  import { I as ItemPickerType, a as ItemPickerPaddingDirection } from './types-4b10b413.js';
3
- import { D as DEFAULT_DEBOUNCE_FAST, b as DEFAULT_DEBOUNCE_INSANELY_FAST, a as debounce } from './execution-control-1a60d709.js';
4
- import { E as EventListeners } from './event-listeners-570a24ea.js';
3
+ import { D as DEFAULT_DEBOUNCE_FAST, b as DEFAULT_DEBOUNCE_INSANELY_FAST, a as debounce } from './execution-control-72cc50f4.js';
4
+ import { E as EventListeners } from './event-listeners-535f3ad1.js';
5
5
 
6
6
  const sixItemPickerCss = ".item_picker__container{width:2.5em;display:flex;flex-wrap:wrap;justify-content:center}.item_picker__content{font-size:1.5rem}.item_picker__btn{cursor:pointer;width:2.5em;height:2.5em;display:flex;vertical-align:middle;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--six-color-web-rock-500)}.item_picker__btn:hover{background-color:var(--six-color-web-rock-100);border-radius:100%}.item_picker__btn:active{color:var(--six-color-web-rock-400)}.item_picker__btn--disabled{color:var(--six-color-web-rock-300);cursor:not-allowed}.item_picker__btn--disabled:hover{background-color:initial}.item_picker__btn--disabled:active{color:var(--six-color-web-rock-300)}";
7
7
 
8
- const A_CHARCODE = 65;
9
- const NUMBER_OF_LETTERS = 26;
10
- const CAPITAL_ALPHABET = (() => {
11
- const alphabetCodes = Array.from(Array(NUMBER_OF_LETTERS)).map((_, i) => i + A_CHARCODE);
12
- const letterIndexes = {};
13
- const alphabet = alphabetCodes.map((charCode, index) => {
14
- const character = String.fromCharCode(charCode);
15
- letterIndexes[character] = index;
16
- return character;
17
- });
18
- return { alphabet, letterIndexes };
19
- })();
20
- const LOWERCASE_ALPHABET = (() => {
21
- const alphabet = [];
22
- const letterIndexes = {};
23
- for (let i = 0; i < CAPITAL_ALPHABET.alphabet.length; i++) {
24
- const lowercaseCharacter = CAPITAL_ALPHABET.alphabet[i].toLowerCase();
25
- letterIndexes[lowercaseCharacter] = alphabet.length;
26
- alphabet.push(lowercaseCharacter);
27
- }
28
- return { alphabet, letterIndexes };
29
- })();
30
- const ALPHABET = (() => {
31
- const alphabet = [];
32
- const letterIndexes = {};
33
- for (let i = 0; i < CAPITAL_ALPHABET.alphabet.length; i++) {
34
- const capitalCharacter = CAPITAL_ALPHABET.alphabet[i];
35
- letterIndexes[capitalCharacter] = alphabet.length;
36
- alphabet.push(capitalCharacter);
37
- const lowerCharacter = LOWERCASE_ALPHABET.alphabet[i];
38
- letterIndexes[lowerCharacter] = alphabet.length;
39
- alphabet.push(lowerCharacter);
40
- }
41
- return { alphabet, letterIndexes };
42
- })();
8
+ const uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
9
+ const upperAndLowercaseLetters = [...uppercaseLetters].flatMap((c) => [c, c.toLowerCase()]);
10
+ const ALPHABET = {
11
+ alphabet: upperAndLowercaseLetters,
12
+ letterIndexes: Object.fromEntries(upperAndLowercaseLetters.map((c, i) => [c, i])),
13
+ };
14
+ const CAPITAL_ALPHABET = {
15
+ alphabet: [...uppercaseLetters].flatMap((c) => [c]),
16
+ letterIndexes: Object.fromEntries([...uppercaseLetters].map((c, i) => [c, i])),
17
+ };
18
+ const LOWERCASE_ALPHABET = {
19
+ alphabet: [...uppercaseLetters.toLowerCase()].flatMap((c) => [c]),
20
+ letterIndexes: Object.fromEntries([...uppercaseLetters.toLowerCase()].map((c, i) => [c, i])),
21
+ };
43
22
  const createItemIndexes = (arr) => {
44
- const itemIndexes = {};
45
- for (let i = 0; i < (arr === null || arr === void 0 ? void 0 : arr.length); i++) {
46
- itemIndexes[arr[i]] = i;
47
- }
48
- return itemIndexes;
23
+ return Object.fromEntries([...arr].map((c, i) => [c, i]));
49
24
  };
50
25
  const TAG = `[SIX-ITEM-PICKER]`;
51
26
  const subtract = (a, b) => a - b;
@@ -75,7 +50,7 @@ const SixItemPicker = class {
75
50
  this.interval = DEFAULT_DEBOUNCE_INSANELY_FAST;
76
51
  this.debounce = DEFAULT_DEBOUNCE_FAST;
77
52
  this._items = [];
78
- this._itemIndexes = undefined;
53
+ this._itemIndexes = {};
79
54
  }
80
55
  handleValueChange() {
81
56
  this.setup();
@@ -115,11 +90,7 @@ const SixItemPicker = class {
115
90
  }
116
91
  }
117
92
  setUpStringItems() {
118
- this._items = this.getItems();
119
- if (!this._items) {
120
- console.warn(`${TAG}: abort setup because no items were found.`);
121
- return;
122
- }
93
+ this._items = this.getStringItems();
123
94
  this._itemIndexes = this.getItemIndexes();
124
95
  const itemsMissValue = this._items.find((i) => String(i) === String(this.value)) === undefined;
125
96
  if (itemsMissValue) {
@@ -146,23 +117,39 @@ const SixItemPicker = class {
146
117
  getLastStringItem() {
147
118
  return this._items[this._items.length - 1];
148
119
  }
149
- getItems() {
150
- return {
151
- [ItemPickerType.LETTER]: ALPHABET.alphabet,
152
- [ItemPickerType.CAPITAL_LETTER]: CAPITAL_ALPHABET.alphabet,
153
- [ItemPickerType.LOWER_LETTER]: LOWERCASE_ALPHABET.alphabet,
154
- [ItemPickerType.CUSTOM]: this.items,
155
- }[this.type];
120
+ getStringItems() {
121
+ switch (this.type) {
122
+ case ItemPickerType.NUMBER:
123
+ console.warn(`${TAG}: unexpected type ${this.type}`);
124
+ return [];
125
+ case ItemPickerType.LETTER:
126
+ return ALPHABET.alphabet;
127
+ case ItemPickerType.CAPITAL_LETTER:
128
+ return CAPITAL_ALPHABET.alphabet;
129
+ case ItemPickerType.LOWER_LETTER:
130
+ return LOWERCASE_ALPHABET.alphabet;
131
+ case ItemPickerType.CUSTOM:
132
+ if (this.items == null || this.items.length === 0) {
133
+ console.warn(`${TAG}: no items defined for type ${this.type}`);
134
+ return [];
135
+ }
136
+ return this.items;
137
+ }
156
138
  }
157
139
  getItemIndexes() {
158
- if (this.type === ItemPickerType.CUSTOM) {
159
- return createItemIndexes(this.items);
140
+ switch (this.type) {
141
+ case ItemPickerType.NUMBER:
142
+ console.warn(`${TAG}: unexpected type ${this.type}`);
143
+ return {};
144
+ case ItemPickerType.LETTER:
145
+ return ALPHABET.letterIndexes;
146
+ case ItemPickerType.CAPITAL_LETTER:
147
+ return CAPITAL_ALPHABET.letterIndexes;
148
+ case ItemPickerType.LOWER_LETTER:
149
+ return LOWERCASE_ALPHABET.letterIndexes;
150
+ case ItemPickerType.CUSTOM:
151
+ return createItemIndexes(this._items);
160
152
  }
161
- return {
162
- [ItemPickerType.LETTER]: ALPHABET.letterIndexes,
163
- [ItemPickerType.CAPITAL_LETTER]: CAPITAL_ALPHABET.letterIndexes,
164
- [ItemPickerType.LOWER_LETTER]: LOWERCASE_ALPHABET.letterIndexes,
165
- }[this.type];
166
153
  }
167
154
  previousItem() {
168
155
  if (this.isNumber()) {
@@ -182,13 +169,13 @@ const SixItemPicker = class {
182
169
  });
183
170
  }
184
171
  previousStringItem() {
185
- const value = this.value;
186
- const minLetter = this.min;
172
+ const value = String(this.value);
173
+ const minLetter = String(this.min);
187
174
  this.changeValue({
188
175
  isNextItemAllowed: () => minLetter === undefined || this.getStringItemIndex(value) > this.getStringItemIndex(minLetter),
189
176
  getNextItem: () => this.getNextItemByOperation(subtract),
190
- getRoundtripItem: () => this.max,
191
- isRoundtripPossible: () => this.max === undefined && this.roundtrip,
177
+ getRoundtripItem: () => String(this.max),
178
+ isRoundtripPossible: () => this.max == null && this.roundtrip,
192
179
  });
193
180
  }
194
181
  nextItem() {
@@ -212,17 +199,17 @@ const SixItemPicker = class {
212
199
  return this._itemIndexes[char];
213
200
  }
214
201
  nextStringItem() {
215
- const value = this.value;
216
- const maxLetter = this.max;
202
+ const value = String(this.value);
203
+ const maxLetter = String(this.max);
217
204
  this.changeValue({
218
205
  isNextItemAllowed: () => maxLetter === undefined || this.getStringItemIndex(value) < this.getStringItemIndex(maxLetter),
219
206
  getNextItem: () => this.getNextItemByOperation(add),
220
- getRoundtripItem: () => this.min,
207
+ getRoundtripItem: () => String(this.min),
221
208
  isRoundtripPossible: () => this.min === undefined && this.roundtrip,
222
209
  });
223
210
  }
224
211
  getNextItemByOperation(operation) {
225
- const value = this.value;
212
+ const value = String(this.value);
226
213
  const nextIndexCandidate = operation(this.getStringItemIndex(value), this.step);
227
214
  const numberOfItems = this._items.length;
228
215
  const nextIndex = ((nextIndexCandidate % numberOfItems) + numberOfItems) % numberOfItems;
@@ -247,7 +234,7 @@ const SixItemPicker = class {
247
234
  return this.type === ItemPickerType.NUMBER;
248
235
  }
249
236
  isInvalidNumber() {
250
- return this.value === '' || !!isNaN(this.value);
237
+ return this.value === '' || isNaN(this.value);
251
238
  }
252
239
  isNextDisabled() {
253
240
  if (this.roundtrip) {
@@ -257,9 +244,6 @@ const SixItemPicker = class {
257
244
  return this.isNextNumberDisabled();
258
245
  }
259
246
  else {
260
- if (!this._itemIndexes) {
261
- return true;
262
- }
263
247
  return this._itemIndexes[String(this.value)] + this.step > this._itemIndexes[String(this.max)];
264
248
  }
265
249
  }
@@ -275,9 +259,6 @@ const SixItemPicker = class {
275
259
  return this.isPreviousNumberDisabled();
276
260
  }
277
261
  else {
278
- if (!this._itemIndexes) {
279
- return true;
280
- }
281
262
  return this._itemIndexes[String(this.value)] - this.step < this._itemIndexes[String(this.min)];
282
263
  }
283
264
  }
@@ -1 +1 @@
1
- {"file":"six-item-picker.entry.js","mappings":"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","names":[],"sources":["./src/components/six-item-picker/six-item-picker.scss?tag=six-item-picker&encapsulation=shadow","./src/components/six-item-picker/six-item-picker.tsx"],"sourcesContent":[".item_picker {\n &__container {\n width: 2.5em;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n }\n\n &__content {\n font-size: 1.5rem;\n }\n\n &__btn {\n cursor: pointer;\n width: 2.5em;\n height: 2.5em;\n display: flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n color: var(--six-color-web-rock-500);\n\n &:hover {\n background-color: var(--six-color-web-rock-100);\n border-radius: 100%;\n }\n\n &:active {\n color: var(--six-color-web-rock-400);\n }\n\n &--disabled {\n color: var(--six-color-web-rock-300);\n cursor: not-allowed;\n\n &:hover {\n background-color: initial;\n }\n\n &:active {\n color: var(--six-color-web-rock-300);\n }\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { ItemPickerPaddingDirection, ItemPickerType } from './types';\nimport { debounce, DEFAULT_DEBOUNCE_FAST, DEFAULT_DEBOUNCE_INSANELY_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\n\ntype StringItemIndex = { [key: string]: number };\n\ninterface Alphabet {\n alphabet: string[];\n letterIndexes: StringItemIndex;\n}\n\nconst A_CHARCODE = 65;\nconst NUMBER_OF_LETTERS = 26;\n\nconst CAPITAL_ALPHABET: Alphabet = (() => {\n const alphabetCodes = Array.from(Array(NUMBER_OF_LETTERS)).map((_, i) => i + A_CHARCODE);\n const letterIndexes = {};\n const alphabet = alphabetCodes.map((charCode, index) => {\n const character = String.fromCharCode(charCode);\n letterIndexes[character] = index;\n return character;\n });\n return { alphabet, letterIndexes };\n})();\n\nconst LOWERCASE_ALPHABET: Alphabet = (() => {\n const alphabet = [];\n const letterIndexes = {};\n\n for (let i = 0; i < CAPITAL_ALPHABET.alphabet.length; i++) {\n const lowercaseCharacter = CAPITAL_ALPHABET.alphabet[i].toLowerCase();\n letterIndexes[lowercaseCharacter] = alphabet.length;\n alphabet.push(lowercaseCharacter);\n }\n\n return { alphabet, letterIndexes };\n})();\n\nconst ALPHABET: Alphabet = (() => {\n const alphabet = [];\n const letterIndexes = {};\n\n for (let i = 0; i < CAPITAL_ALPHABET.alphabet.length; i++) {\n const capitalCharacter = CAPITAL_ALPHABET.alphabet[i];\n letterIndexes[capitalCharacter] = alphabet.length;\n alphabet.push(capitalCharacter);\n\n const lowerCharacter = LOWERCASE_ALPHABET.alphabet[i];\n letterIndexes[lowerCharacter] = alphabet.length;\n alphabet.push(lowerCharacter);\n }\n\n return { alphabet, letterIndexes };\n})();\n\nconst createItemIndexes = (arr: string[]): StringItemIndex => {\n const itemIndexes = {};\n\n for (let i = 0; i < arr?.length; i++) {\n itemIndexes[arr[i]] = i;\n }\n\n return itemIndexes;\n};\n\nconst TAG = `[SIX-ITEM-PICKER]`;\n\nconst subtract = (a: number, b: number) => a - b;\nconst add = (a: number, b: number) => a + b;\n\nexport type SixItemPickerChangePayload = number | string;\n\nconst DEBOUNCE_ITEM_PICKER_LISTENER = 'debounced-item-picker';\n\n/**\n * @since 2.0.0\n * @status experimental\n * @part container - The whole component container\n * @part up - The up button\n * @part content - The content area\n * @part down - The down button\n *\n */\n@Component({\n tag: 'six-item-picker',\n styleUrl: 'six-item-picker.scss',\n shadow: true,\n})\nexport class SixItemPicker {\n private readonly eventListeners = new EventListeners();\n\n @Element() host: HTMLSixItemPickerElement;\n\n /** The item picker's value attribute. */\n @Prop({ mutable: true, reflect: true }) value: number | string = '';\n\n /** The type of items you want to rotate through. */\n @Prop() type: ItemPickerType = ItemPickerType.NUMBER;\n\n /** The minimum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) min: number | string;\n\n /** The maximum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) max: number | string;\n\n /** Define whether the picker should to a roundtrip i.e. start at max when reaching min and vice versa. */\n @Prop({ reflect: true }) roundtrip = true;\n\n /** Defines how many steps should be taken when navigating */\n @Prop({ reflect: true }) step: number = 1;\n\n /** Defines a custom list of items you can iterate through */\n @Prop() items: string[];\n\n /** Defines whether the items should be padded */\n @Prop() padded = false;\n\n /** Defines the length of the padded area */\n @Prop() paddingLength = 2;\n\n /** Defines the character used for padding */\n @Prop() paddingChar = '0';\n\n /** Defines whether the padding should be before or after the value. You can either use 'before' or 'after'. By default\n * before is selected */\n @Prop() paddingDirection: ItemPickerPaddingDirection = ItemPickerPaddingDirection.BEFORE;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger faster switching between items.\n */\n @Prop() timeout = DEFAULT_DEBOUNCE_FAST;\n\n /**\n * Set the amount of time, in milliseconds, to wait between switching to next item when mouse button is held pressed.\n */\n @Prop() interval = DEFAULT_DEBOUNCE_INSANELY_FAST;\n\n /**\n * Emitted when the item picker's value changes\n */\n @Event({ eventName: 'six-item-picker-change' }) sixChange: EventEmitter<SixItemPickerChangePayload>;\n\n /**\n * Emitted when the item picker's value changes, but debounced\n */\n @Event({ eventName: 'six-item-picker-change-debounced' })\n sixChangeDebounced: EventEmitter<SixItemPickerChangePayload>;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `six-item-picker-change-debounced` event.\n * If you want your change debounce event to not trigger when keeping the nav button pressed before, make sure debounce\n * is a bit bigger than timeout, otherwise keeping the button pressed will trigger the event twice: once you click\n * (and keep pressed) and once you release\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n @Watch('value')\n handleValueChange() {\n this.setup();\n }\n\n @Watch('debounce')\n protected debounceChanged() {\n this.eventListeners.removeByIdentifier(DEBOUNCE_ITEM_PICKER_LISTENER);\n this.eventListeners.add(\n this.host,\n 'six-item-picker-change',\n debounce(this.handleSixItemPickerChangeDebounced, this.debounce),\n DEBOUNCE_ITEM_PICKER_LISTENER\n );\n }\n\n @Watch('items')\n handleSetChange() {\n this.setup();\n this.min = this._items[0];\n this.max = this.getLastStringItem();\n }\n\n @State() _items: string[] = [];\n @State() _itemIndexes: StringItemIndex;\n\n // used for fast increasing when keeping the mouse button held down\n _timeoutNext: ReturnType<typeof setTimeout>;\n _intervalNext: ReturnType<typeof setInterval>;\n\n _timeoutPrev: ReturnType<typeof setTimeout>;\n _intervalPrev: ReturnType<typeof setInterval>;\n\n componentWillLoad() {\n this.setup();\n }\n\n componentDidLoad() {\n this.eventListeners.add(\n this.host,\n 'six-item-picker-change',\n debounce(this.handleSixItemPickerChangeDebounced, this.debounce),\n DEBOUNCE_ITEM_PICKER_LISTENER\n );\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n handleSixItemPickerChangeDebounced = () => {\n this.sixChangeDebounced.emit(this.value);\n };\n\n private setup() {\n if (this.isNumber()) {\n this.setupNumberItems();\n } else {\n this.setUpStringItems();\n }\n }\n\n private setupNumberItems() {\n if (this.isInvalidNumber()) {\n console.warn(`${TAG} Expected number but value is not a number: \"${this.value}\"`);\n console.info(`${TAG} Will set value to either minimum or if not provided to zero.`);\n this.value = this.min ?? 0;\n }\n }\n\n private setUpStringItems() {\n this._items = this.getItems();\n\n if (!this._items) {\n console.warn(`${TAG}: abort setup because no items were found.`);\n return;\n }\n\n this._itemIndexes = this.getItemIndexes();\n const itemsMissValue = this._items.find((i) => String(i) === String(this.value)) === undefined;\n if (itemsMissValue) {\n console.warn(`${TAG} Expected item from item set but value was not found in set: \"${this.value}\"`);\n console.info(`${TAG} Will set value to either minimum or if not provided to \"${this._items[0]}\".`);\n this.value = this._items[0];\n }\n\n if (this.min === undefined) {\n if (!this.roundtrip) {\n console.warn(`${TAG} Expected a min value`);\n console.info(`${TAG} Will set min value to ${this._items[0]}`);\n }\n this.min = this._items[0];\n }\n\n if (this.max === undefined) {\n const maxItem = this.getLastStringItem();\n if (!this.roundtrip) {\n console.warn(`${TAG} Expected a min value if roundtrip is enabled`);\n console.info(`${TAG} Will set min value to ${maxItem}`);\n }\n this.max = maxItem;\n }\n }\n\n private getLastStringItem() {\n return this._items[this._items.length - 1];\n }\n\n private getItems() {\n return {\n [ItemPickerType.LETTER]: ALPHABET.alphabet,\n [ItemPickerType.CAPITAL_LETTER]: CAPITAL_ALPHABET.alphabet,\n [ItemPickerType.LOWER_LETTER]: LOWERCASE_ALPHABET.alphabet,\n [ItemPickerType.CUSTOM]: this.items,\n }[this.type];\n }\n\n private getItemIndexes() {\n if (this.type === ItemPickerType.CUSTOM) {\n return createItemIndexes(this.items);\n }\n\n return {\n [ItemPickerType.LETTER]: ALPHABET.letterIndexes,\n [ItemPickerType.CAPITAL_LETTER]: CAPITAL_ALPHABET.letterIndexes,\n [ItemPickerType.LOWER_LETTER]: LOWERCASE_ALPHABET.letterIndexes,\n }[this.type];\n }\n\n private previousItem() {\n if (this.isNumber()) {\n this.previousNumber();\n } else {\n this.previousStringItem();\n }\n\n this.sixChange.emit(this.value);\n }\n\n private previousNumber() {\n this.changeValue({\n isNextItemAllowed: () => !this.isPreviousNumberDisabled(),\n getNextItem: () => Number(this.value) - this.step,\n getRoundtripItem: () => Number(this.max),\n isRoundtripPossible: () => this.max === undefined && this.roundtrip,\n });\n }\n\n private previousStringItem() {\n const value = this.value as string;\n const minLetter = this.min as string;\n\n this.changeValue({\n isNextItemAllowed: () =>\n minLetter === undefined || this.getStringItemIndex(value) > this.getStringItemIndex(minLetter),\n getNextItem: () => this.getNextItemByOperation(subtract),\n getRoundtripItem: () => this.max,\n isRoundtripPossible: () => this.max === undefined && this.roundtrip,\n });\n }\n\n private nextItem() {\n if (this.isNumber()) {\n this.nextNumber();\n } else {\n this.nextStringItem();\n }\n\n this.sixChange.emit(this.value);\n }\n\n private nextNumber() {\n this.changeValue({\n isNextItemAllowed: () => !this.isNextNumberDisabled(),\n getNextItem: () => Number(this.value) + this.step,\n getRoundtripItem: () => Number(this.min),\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n }\n\n private getStringItemIndex(char: string): number {\n return this._itemIndexes[char];\n }\n\n private nextStringItem() {\n const value = this.value as string;\n const maxLetter = this.max as string;\n\n this.changeValue({\n isNextItemAllowed: () =>\n maxLetter === undefined || this.getStringItemIndex(value) < this.getStringItemIndex(maxLetter),\n getNextItem: () => this.getNextItemByOperation(add),\n getRoundtripItem: () => this.min,\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n }\n\n private getNextItemByOperation(operation: (a: number, b: number) => number) {\n const value = this.value as string;\n const nextIndexCandidate = operation(this.getStringItemIndex(value), this.step);\n const numberOfItems = this._items.length;\n const nextIndex = ((nextIndexCandidate % numberOfItems) + numberOfItems) % numberOfItems;\n return this._items[nextIndex];\n }\n\n private changeValue(params: {\n getNextItem: () => any;\n isNextItemAllowed: () => boolean;\n getRoundtripItem: () => number | string;\n isRoundtripPossible: () => boolean;\n }) {\n if (params.isNextItemAllowed()) {\n this.value = params.getNextItem();\n return;\n }\n\n if (params.isRoundtripPossible()) {\n console.error(\n `${TAG} Item picker is expected to perform a roundtrip, but either max or min value is missing so a roundtrip is not possible`\n );\n return;\n }\n\n if (this.roundtrip) {\n this.value = params.getRoundtripItem();\n return;\n }\n\n console.warn(\n `${TAG} Roundtrip is not allowed, but was still triggered, please report this issue to the developer of six-item-picker`\n );\n }\n\n private isNumber() {\n return this.type === ItemPickerType.NUMBER;\n }\n\n private isInvalidNumber() {\n return this.value === '' || !!isNaN(this.value as number);\n }\n\n private isNextDisabled() {\n if (this.roundtrip) {\n return false;\n }\n\n if (this.isNumber()) {\n return this.isNextNumberDisabled();\n } else {\n if (!this._itemIndexes) {\n return true;\n }\n\n return this._itemIndexes[String(this.value)] + this.step > this._itemIndexes[String(this.max)];\n }\n }\n\n private isNextNumberDisabled() {\n return Number(this.value) + this.step > (this.max ?? Infinity);\n }\n\n private isPrevDisabled() {\n if (this.roundtrip) {\n return false;\n }\n\n if (this.isNumber()) {\n return this.isPreviousNumberDisabled();\n } else {\n if (!this._itemIndexes) {\n return true;\n }\n\n return this._itemIndexes[String(this.value)] - this.step < this._itemIndexes[String(this.min)];\n }\n }\n\n private isPreviousNumberDisabled() {\n return Number(this.value) - this.step < (this.min ?? -Infinity);\n }\n\n private onMouseDownNext() {\n if (this.isNextDisabled()) {\n return;\n }\n\n this.nextItem();\n\n this._timeoutNext = setTimeout(() => {\n this._intervalNext = setInterval(() => {\n this.nextItem();\n }, this.interval);\n }, this.timeout);\n }\n\n private onMouseUpNext() {\n clearTimeout(this._timeoutNext);\n clearInterval(this._intervalNext);\n }\n\n private onMouseDownPrev() {\n if (this.isPrevDisabled()) {\n return;\n }\n\n this.previousItem();\n\n this._timeoutPrev = setTimeout(() => {\n this._intervalPrev = setInterval(() => {\n this.previousItem();\n }, this.interval);\n }, this.timeout);\n }\n\n private onMouseUpPrev() {\n clearTimeout(this._timeoutPrev);\n clearInterval(this._intervalPrev);\n }\n\n private getFormattedValue() {\n if (this.value === undefined || this.value === null) {\n return this.value;\n }\n\n if (!this.padded) {\n return this.value;\n }\n\n if (this.paddingDirection === ItemPickerPaddingDirection.BEFORE) {\n return String(this.value).padStart(this.paddingLength, this.paddingChar);\n } else if (this.paddingDirection === ItemPickerPaddingDirection.AFTER) {\n return String(this.value).padEnd(this.paddingLength, this.paddingChar);\n }\n\n return this.value;\n }\n\n render() {\n return (\n <div part=\"container\" class=\"item_picker__container\">\n <div\n part=\"up\"\n class={{\n item_picker__btn: true,\n 'item_picker__btn--disabled': this.isNextDisabled(),\n }}\n onMouseDown={() => this.onMouseDownNext()}\n onMouseUp={() => this.onMouseUpNext()}\n >\n <six-icon size=\"large\">expand_less</six-icon>\n </div>\n <div part=\"content\" class=\"item_picker__content\">\n {this.getFormattedValue()}\n </div>\n <div\n part=\"down\"\n class={{\n item_picker__btn: true,\n 'item_picker__btn--disabled': this.isPrevDisabled(),\n }}\n onMouseDown={() => this.onMouseDownPrev()}\n onMouseUp={() => this.onMouseUpPrev()}\n >\n <six-icon size=\"large\">expand_more</six-icon>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-item-picker.entry.js","mappings":"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","names":[],"sources":["./src/components/six-item-picker/six-item-picker.scss?tag=six-item-picker&encapsulation=shadow","./src/components/six-item-picker/six-item-picker.tsx"],"sourcesContent":[".item_picker {\n &__container {\n width: 2.5em;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n }\n\n &__content {\n font-size: 1.5rem;\n }\n\n &__btn {\n cursor: pointer;\n width: 2.5em;\n height: 2.5em;\n display: flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n color: var(--six-color-web-rock-500);\n\n &:hover {\n background-color: var(--six-color-web-rock-100);\n border-radius: 100%;\n }\n\n &:active {\n color: var(--six-color-web-rock-400);\n }\n\n &--disabled {\n color: var(--six-color-web-rock-300);\n cursor: not-allowed;\n\n &:hover {\n background-color: initial;\n }\n\n &:active {\n color: var(--six-color-web-rock-300);\n }\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { ItemPickerPaddingDirection, ItemPickerType } from './types';\nimport { debounce, DEFAULT_DEBOUNCE_FAST, DEFAULT_DEBOUNCE_INSANELY_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { TimePeriod } from '../../utils/time.util';\n\ninterface Alphabet {\n alphabet: string[];\n letterIndexes: Record<string, number>;\n}\n\nconst uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\nconst upperAndLowercaseLetters = [...uppercaseLetters].flatMap((c) => [c, c.toLowerCase()]);\nconst ALPHABET: Alphabet = {\n alphabet: upperAndLowercaseLetters,\n letterIndexes: Object.fromEntries(upperAndLowercaseLetters.map((c, i) => [c, i])),\n};\nconst CAPITAL_ALPHABET: Alphabet = {\n alphabet: [...uppercaseLetters].flatMap((c) => [c]),\n letterIndexes: Object.fromEntries([...uppercaseLetters].map((c, i) => [c, i])),\n};\nconst LOWERCASE_ALPHABET: Alphabet = {\n alphabet: [...uppercaseLetters.toLowerCase()].flatMap((c) => [c]),\n letterIndexes: Object.fromEntries([...uppercaseLetters.toLowerCase()].map((c, i) => [c, i])),\n};\n\nconst createItemIndexes = (arr: string[]): Record<string, number> => {\n return Object.fromEntries([...arr].map((c, i) => [c, i]));\n};\n\nconst TAG = `[SIX-ITEM-PICKER]`;\n\nconst subtract = (a: number, b: number) => a - b;\nconst add = (a: number, b: number) => a + b;\n\nexport type SixItemPickerChangePayload = number | string | boolean | TimePeriod;\n\nconst DEBOUNCE_ITEM_PICKER_LISTENER = 'debounced-item-picker';\n\n/**\n * @since 2.0.0\n * @status experimental\n * @part container - The whole component container\n * @part up - The up button\n * @part content - The content area\n * @part down - The down button\n *\n */\n@Component({\n tag: 'six-item-picker',\n styleUrl: 'six-item-picker.scss',\n shadow: true,\n})\nexport class SixItemPicker {\n private readonly eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixItemPickerElement;\n\n /** The item picker's value attribute. */\n @Prop({ mutable: true, reflect: true }) value: number | string = '';\n\n /** The type of items you want to rotate through. */\n @Prop() type: ItemPickerType = ItemPickerType.NUMBER;\n\n /** The minimum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) min?: number | string;\n\n /** The maximum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) max?: number | string;\n\n /** Define whether the picker should to a roundtrip i.e. start at max when reaching min and vice versa. */\n @Prop({ reflect: true }) roundtrip = true;\n\n /** Defines how many steps should be taken when navigating */\n @Prop({ reflect: true }) step = 1;\n\n /** Defines a custom list of items you can iterate through */\n @Prop() items?: string[];\n\n /** Defines whether the items should be padded */\n @Prop() padded = false;\n\n /** Defines the length of the padded area */\n @Prop() paddingLength = 2;\n\n /** Defines the character used for padding */\n @Prop() paddingChar = '0';\n\n /** Defines whether the padding should be before or after the value. You can either use 'before' or 'after'. By default,\n * before is selected */\n @Prop() paddingDirection: ItemPickerPaddingDirection = ItemPickerPaddingDirection.BEFORE;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger faster switching between items.\n */\n @Prop() timeout = DEFAULT_DEBOUNCE_FAST;\n\n /**\n * Set the amount of time, in milliseconds, to wait between switching to next item when mouse button is held pressed.\n */\n @Prop() interval = DEFAULT_DEBOUNCE_INSANELY_FAST;\n\n /**\n * Emitted when the item picker's value changes\n */\n @Event({ eventName: 'six-item-picker-change' }) sixChange!: EventEmitter<SixItemPickerChangePayload>;\n\n /**\n * Emitted when the item picker's value changes, but debounced\n */\n @Event({ eventName: 'six-item-picker-change-debounced' })\n sixChangeDebounced!: EventEmitter<SixItemPickerChangePayload>;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `six-item-picker-change-debounced` event.\n * If you want your change debounce event to not trigger when keeping the nav button pressed before, make sure debounce\n * is a bit bigger than timeout, otherwise keeping the button pressed will trigger the event twice: once you click\n * (and keep pressed) and once you release\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n @Watch('value')\n handleValueChange() {\n this.setup();\n }\n\n @Watch('debounce')\n protected debounceChanged() {\n this.eventListeners.removeByIdentifier(DEBOUNCE_ITEM_PICKER_LISTENER);\n this.eventListeners.add(\n this.host,\n 'six-item-picker-change',\n debounce(this.handleSixItemPickerChangeDebounced, this.debounce),\n DEBOUNCE_ITEM_PICKER_LISTENER\n );\n }\n\n @Watch('items')\n handleSetChange() {\n this.setup();\n this.min = this._items[0];\n this.max = this.getLastStringItem();\n }\n\n @State() _items: string[] = [];\n @State() _itemIndexes: Record<string, number> = {};\n\n // used for fast increasing when keeping the mouse button held down\n private _timeoutNext!: ReturnType<typeof setTimeout>;\n private _intervalNext!: ReturnType<typeof setInterval>;\n\n private _timeoutPrev!: ReturnType<typeof setTimeout>;\n private _intervalPrev!: ReturnType<typeof setInterval>;\n\n componentWillLoad() {\n this.setup();\n }\n\n componentDidLoad() {\n this.eventListeners.add(\n this.host,\n 'six-item-picker-change',\n debounce(this.handleSixItemPickerChangeDebounced, this.debounce),\n DEBOUNCE_ITEM_PICKER_LISTENER\n );\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private handleSixItemPickerChangeDebounced = () => {\n this.sixChangeDebounced.emit(this.value);\n };\n\n private setup() {\n if (this.isNumber()) {\n this.setupNumberItems();\n } else {\n this.setUpStringItems();\n }\n }\n\n private setupNumberItems() {\n if (this.isInvalidNumber()) {\n console.warn(`${TAG} Expected number but value is not a number: \"${this.value}\"`);\n console.info(`${TAG} Will set value to either minimum or if not provided to zero.`);\n this.value = this.min ?? 0;\n }\n }\n\n private setUpStringItems() {\n this._items = this.getStringItems();\n this._itemIndexes = this.getItemIndexes();\n const itemsMissValue = this._items.find((i) => String(i) === String(this.value)) === undefined;\n if (itemsMissValue) {\n console.warn(`${TAG} Expected item from item set but value was not found in set: \"${this.value}\"`);\n console.info(`${TAG} Will set value to either minimum or if not provided to \"${this._items[0]}\".`);\n this.value = this._items[0];\n }\n\n if (this.min === undefined) {\n if (!this.roundtrip) {\n console.warn(`${TAG} Expected a min value`);\n console.info(`${TAG} Will set min value to ${this._items[0]}`);\n }\n this.min = this._items[0];\n }\n\n if (this.max === undefined) {\n const maxItem = this.getLastStringItem();\n if (!this.roundtrip) {\n console.warn(`${TAG} Expected a min value if roundtrip is enabled`);\n console.info(`${TAG} Will set min value to ${maxItem}`);\n }\n this.max = maxItem;\n }\n }\n\n private getLastStringItem() {\n return this._items[this._items.length - 1];\n }\n\n private getStringItems(): string[] {\n switch (this.type) {\n case ItemPickerType.NUMBER:\n console.warn(`${TAG}: unexpected type ${this.type}`);\n return [];\n case ItemPickerType.LETTER:\n return ALPHABET.alphabet;\n case ItemPickerType.CAPITAL_LETTER:\n return CAPITAL_ALPHABET.alphabet;\n case ItemPickerType.LOWER_LETTER:\n return LOWERCASE_ALPHABET.alphabet;\n case ItemPickerType.CUSTOM:\n if (this.items == null || this.items.length === 0) {\n console.warn(`${TAG}: no items defined for type ${this.type}`);\n return [];\n }\n return this.items;\n }\n }\n\n private getItemIndexes(): Record<string, number> {\n switch (this.type) {\n case ItemPickerType.NUMBER:\n console.warn(`${TAG}: unexpected type ${this.type}`);\n return {};\n case ItemPickerType.LETTER:\n return ALPHABET.letterIndexes;\n case ItemPickerType.CAPITAL_LETTER:\n return CAPITAL_ALPHABET.letterIndexes;\n case ItemPickerType.LOWER_LETTER:\n return LOWERCASE_ALPHABET.letterIndexes;\n case ItemPickerType.CUSTOM:\n return createItemIndexes(this._items);\n }\n }\n\n private previousItem() {\n if (this.isNumber()) {\n this.previousNumber();\n } else {\n this.previousStringItem();\n }\n\n this.sixChange.emit(this.value);\n }\n\n private previousNumber() {\n this.changeValue({\n isNextItemAllowed: () => !this.isPreviousNumberDisabled(),\n getNextItem: () => Number(this.value) - this.step,\n getRoundtripItem: () => Number(this.max),\n isRoundtripPossible: () => this.max === undefined && this.roundtrip,\n });\n }\n\n private previousStringItem() {\n const value = String(this.value);\n const minLetter = String(this.min);\n\n this.changeValue({\n isNextItemAllowed: () =>\n minLetter === undefined || this.getStringItemIndex(value) > this.getStringItemIndex(minLetter),\n getNextItem: () => this.getNextItemByOperation(subtract),\n getRoundtripItem: () => String(this.max),\n isRoundtripPossible: () => this.max == null && this.roundtrip,\n });\n }\n\n private nextItem() {\n if (this.isNumber()) {\n this.nextNumber();\n } else {\n this.nextStringItem();\n }\n\n this.sixChange.emit(this.value);\n }\n\n private nextNumber() {\n this.changeValue({\n isNextItemAllowed: () => !this.isNextNumberDisabled(),\n getNextItem: () => Number(this.value) + this.step,\n getRoundtripItem: () => Number(this.min),\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n }\n\n private getStringItemIndex(char: string): number {\n return this._itemIndexes[char];\n }\n\n private nextStringItem() {\n const value = String(this.value);\n const maxLetter = String(this.max);\n\n this.changeValue({\n isNextItemAllowed: () =>\n maxLetter === undefined || this.getStringItemIndex(value) < this.getStringItemIndex(maxLetter),\n getNextItem: () => this.getNextItemByOperation(add),\n getRoundtripItem: () => String(this.min),\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n }\n\n private getNextItemByOperation(operation: (a: number, b: number) => number) {\n const value = String(this.value);\n const nextIndexCandidate = operation(this.getStringItemIndex(value), this.step);\n const numberOfItems = this._items.length;\n const nextIndex = ((nextIndexCandidate % numberOfItems) + numberOfItems) % numberOfItems;\n return this._items[nextIndex];\n }\n\n private changeValue(params: {\n getNextItem: () => number | string;\n isNextItemAllowed: () => boolean;\n getRoundtripItem: () => number | string;\n isRoundtripPossible: () => boolean;\n }) {\n if (params.isNextItemAllowed()) {\n this.value = params.getNextItem();\n return;\n }\n\n if (params.isRoundtripPossible()) {\n console.error(\n `${TAG} Item picker is expected to perform a roundtrip, but either max or min value is missing so a roundtrip is not possible`\n );\n return;\n }\n\n if (this.roundtrip) {\n this.value = params.getRoundtripItem();\n return;\n }\n\n console.warn(\n `${TAG} Roundtrip is not allowed, but was still triggered, please report this issue to the developer of six-item-picker`\n );\n }\n\n private isNumber() {\n return this.type === ItemPickerType.NUMBER;\n }\n\n private isInvalidNumber() {\n return this.value === '' || isNaN(this.value as number);\n }\n\n private isNextDisabled() {\n if (this.roundtrip) {\n return false;\n }\n\n if (this.isNumber()) {\n return this.isNextNumberDisabled();\n } else {\n return this._itemIndexes[String(this.value)] + this.step > this._itemIndexes[String(this.max)];\n }\n }\n\n private isNextNumberDisabled() {\n return Number(this.value) + this.step > (this.max ?? Infinity);\n }\n\n private isPrevDisabled() {\n if (this.roundtrip) {\n return false;\n }\n\n if (this.isNumber()) {\n return this.isPreviousNumberDisabled();\n } else {\n return this._itemIndexes[String(this.value)] - this.step < this._itemIndexes[String(this.min)];\n }\n }\n\n private isPreviousNumberDisabled() {\n return Number(this.value) - this.step < (this.min ?? -Infinity);\n }\n\n private onMouseDownNext() {\n if (this.isNextDisabled()) {\n return;\n }\n\n this.nextItem();\n\n this._timeoutNext = setTimeout(() => {\n this._intervalNext = setInterval(() => {\n this.nextItem();\n }, this.interval);\n }, this.timeout);\n }\n\n private onMouseUpNext() {\n clearTimeout(this._timeoutNext);\n clearInterval(this._intervalNext);\n }\n\n private onMouseDownPrev() {\n if (this.isPrevDisabled()) {\n return;\n }\n\n this.previousItem();\n\n this._timeoutPrev = setTimeout(() => {\n this._intervalPrev = setInterval(() => {\n this.previousItem();\n }, this.interval);\n }, this.timeout);\n }\n\n private onMouseUpPrev() {\n clearTimeout(this._timeoutPrev);\n clearInterval(this._intervalPrev);\n }\n\n private getFormattedValue() {\n if (this.value === undefined || this.value === null) {\n return this.value;\n }\n\n if (!this.padded) {\n return this.value;\n }\n\n if (this.paddingDirection === ItemPickerPaddingDirection.BEFORE) {\n return String(this.value).padStart(this.paddingLength, this.paddingChar);\n } else if (this.paddingDirection === ItemPickerPaddingDirection.AFTER) {\n return String(this.value).padEnd(this.paddingLength, this.paddingChar);\n }\n\n return this.value;\n }\n\n render() {\n return (\n <div part=\"container\" class=\"item_picker__container\">\n <div\n part=\"up\"\n class={{\n item_picker__btn: true,\n 'item_picker__btn--disabled': this.isNextDisabled(),\n }}\n onMouseDown={() => this.onMouseDownNext()}\n onMouseUp={() => this.onMouseUpNext()}\n >\n <six-icon size=\"large\">expand_less</six-icon>\n </div>\n <div part=\"content\" class=\"item_picker__content\">\n {this.getFormattedValue()}\n </div>\n <div\n part=\"down\"\n class={{\n item_picker__btn: true,\n 'item_picker__btn--disabled': this.isPrevDisabled(),\n }}\n onMouseDown={() => this.onMouseDownPrev()}\n onMouseUp={() => this.onMouseUpPrev()}\n >\n <six-icon size=\"large\">expand_more</six-icon>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -44,7 +44,7 @@ const SixLanguageSwitcher = class {
44
44
  render() {
45
45
  return (h("div", { part: "container", class: "language-switcher__container" }, this.languages.map((lang, index) => {
46
46
  const language = typeof lang === 'string' ? lang : lang.key;
47
- return (h("div", { onClick: this.handleLanguageSwitching(language, lang.value) }, h("span", { part: "label", class: {
47
+ return (h("div", { onClick: this.handleLanguageSwitching(language, typeof lang === 'string' ? lang : lang.value) }, h("span", { part: "label", class: {
48
48
  'language-switcher__label': true,
49
49
  'language-switcher__label--selected': this.selected === language,
50
50
  } }, language), index < this.languages.length - 1 && (h("span", { part: "separator", class: "language-switcher__separator" }, "/"))));
@@ -1 +1 @@
1
- {"file":"six-language-switcher.entry.js","mappings":";;AAAA,MAAM,sBAAsB,GAAG,gQAAgQ;;ACa/R,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;MAchC,mBAAmB;;;;IAqCtB,4BAAuB,GAAG,CAAC,WAAmB,EAAE,aAAsB,KAAK;MACjF,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;OACpC;WAAM;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;OAClC;MACD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;KAC7B,CAAC;;qBAvCyD,iBAAiB;;EAG5E,sBAAsB,CAAC,QAAkB;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;MAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;KACzD;IAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;GAC/B;EAMD,iBAAiB;IACf,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;MAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;GACF;EAEO,sBAAsB;IAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;MACxC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;MACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACpC;SAAM;MACL,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC;MACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;KAC7C;GACF;EAWD,MAAM;IACJ,QACE,WAAK,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,8BAA8B,IACvD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK;MAC9B,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;MAC5D,QACE,WAAK,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAC9D,YACE,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE;UACL,0BAA0B,EAAE,IAAI;UAChC,oCAAoC,EAAE,IAAI,CAAC,QAAQ,KAAK,QAAQ;SACjE,IAEA,QAAQ,CACJ,EACN,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,KAChC,YAAM,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,8BAA8B,QAEpD,CACR,CACG,EACN;KACH,CAAC,CACE,EACN;GACH;;;;;;;;;","names":[],"sources":["./src/components/six-language-switcher/six-language-switcher.scss?tag=six-language-switcher&encapsulation=shadow","./src/components/six-language-switcher/six-language-switcher.tsx"],"sourcesContent":[".language-switcher {\n &__container {\n display: flex;\n }\n\n &__separator {\n padding: 0 0.25rem;\n }\n\n &__label {\n cursor: pointer;\n\n &:hover {\n color: var(--six-color-red);\n }\n\n &--selected {\n color: var(--six-color-red);\n }\n }\n}\n","import { Component, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\n\n/**\n * @since 2.1.0\n * @status experimental\n **/\n\nexport interface SixLanguageSwitcherInput {\n key: string;\n value: string;\n}\nexport type SixLanguageSwitcherChangePayload = string;\n\nconst DEFAULT_LANGUAGES = ['EN', 'DE', 'ES'];\n\n/*\n * @since 2.2.0\n * @status experimental\n * @part container - The whole component container\n * @part label - The language label\n * @part separator - The separator between the language labels\n */\n@Component({\n tag: 'six-language-switcher',\n styleUrl: 'six-language-switcher.scss',\n shadow: true,\n})\nexport class SixLanguageSwitcher {\n /** The language which should be shown as selected */\n @Prop({ mutable: true, reflect: true }) selected?: string;\n\n /** The languages which should be selectable options. */\n @Prop() languages: string[] | SixLanguageSwitcherInput[] = DEFAULT_LANGUAGES;\n\n @Watch('languages')\n handleChangesLanguages(newValue: string[]) {\n if (!Array.isArray(newValue)) {\n throw new Error('languages is expected to be an array');\n }\n\n this.updateSelectedLanguage();\n }\n /**\n * Emitted when the language switchers value changes\n */\n @Event({ eventName: 'six-language-switcher-change' }) sixChange: EventEmitter<SixLanguageSwitcherChangePayload>;\n\n componentWillLoad() {\n if (this.selected === undefined) {\n this.updateSelectedLanguage();\n }\n }\n\n private updateSelectedLanguage() {\n const selectedLanguage = this.languages[0];\n if (typeof selectedLanguage === 'string') {\n this.selected = selectedLanguage;\n this.sixChange.emit(this.selected);\n } else {\n this.selected = selectedLanguage.key;\n this.sixChange.emit(selectedLanguage.value);\n }\n }\n\n private handleLanguageSwitching = (newLanguage: string, languageValue?: string) => () => {\n if (languageValue !== undefined) {\n this.sixChange.emit(languageValue);\n } else {\n this.sixChange.emit(newLanguage);\n }\n this.selected = newLanguage;\n };\n\n render() {\n return (\n <div part=\"container\" class=\"language-switcher__container\">\n {this.languages.map((lang, index) => {\n const language = typeof lang === 'string' ? lang : lang.key;\n return (\n <div onClick={this.handleLanguageSwitching(language, lang.value)}>\n <span\n part=\"label\"\n class={{\n 'language-switcher__label': true,\n 'language-switcher__label--selected': this.selected === language,\n }}\n >\n {language}\n </span>\n {index < this.languages.length - 1 && (\n <span part=\"separator\" class=\"language-switcher__separator\">\n /\n </span>\n )}\n </div>\n );\n })}\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-language-switcher.entry.js","mappings":";;AAAA,MAAM,sBAAsB,GAAG,gQAAgQ;;ACa/R,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;MAchC,mBAAmB;;;;IAqCtB,4BAAuB,GAAG,CAAC,WAAmB,EAAE,aAAsB,KAAK;MACjF,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;OACpC;WAAM;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;OAClC;MACD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;KAC7B,CAAC;;qBAvCyD,iBAAiB;;EAG5E,sBAAsB,CAAC,QAAkB;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;MAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;KACzD;IAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;GAC/B;EAMD,iBAAiB;IACf,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;MAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;GACF;EAEO,sBAAsB;IAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;MACxC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;MACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACpC;SAAM;MACL,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC;MACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;KAC7C;GACF;EAWD,MAAM;IACJ,QACE,WAAK,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,8BAA8B,IACvD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK;MAC9B,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;MAC5D,QACE,WAAK,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAChG,YACE,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE;UACL,0BAA0B,EAAE,IAAI;UAChC,oCAAoC,EAAE,IAAI,CAAC,QAAQ,KAAK,QAAQ;SACjE,IAEA,QAAQ,CACJ,EACN,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,KAChC,YAAM,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,8BAA8B,QAEpD,CACR,CACG,EACN;KACH,CAAC,CACE,EACN;GACH;;;;;;;;;","names":[],"sources":["./src/components/six-language-switcher/six-language-switcher.scss?tag=six-language-switcher&encapsulation=shadow","./src/components/six-language-switcher/six-language-switcher.tsx"],"sourcesContent":[".language-switcher {\n &__container {\n display: flex;\n }\n\n &__separator {\n padding: 0 0.25rem;\n }\n\n &__label {\n cursor: pointer;\n\n &:hover {\n color: var(--six-color-red);\n }\n\n &--selected {\n color: var(--six-color-red);\n }\n }\n}\n","import { Component, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\n\n/**\n * @since 2.1.0\n * @status experimental\n **/\n\nexport interface SixLanguageSwitcherInput {\n key: string;\n value: string;\n}\nexport type SixLanguageSwitcherChangePayload = string;\n\nconst DEFAULT_LANGUAGES = ['EN', 'DE', 'ES'];\n\n/*\n * @since 2.2.0\n * @status experimental\n * @part container - The whole component container\n * @part label - The language label\n * @part separator - The separator between the language labels\n */\n@Component({\n tag: 'six-language-switcher',\n styleUrl: 'six-language-switcher.scss',\n shadow: true,\n})\nexport class SixLanguageSwitcher {\n /** The language which should be shown as selected */\n @Prop({ mutable: true, reflect: true }) selected?: string;\n\n /** The languages which should be selectable options. */\n @Prop() languages: string[] | SixLanguageSwitcherInput[] = DEFAULT_LANGUAGES;\n\n @Watch('languages')\n handleChangesLanguages(newValue: string[]) {\n if (!Array.isArray(newValue)) {\n throw new Error('languages is expected to be an array');\n }\n\n this.updateSelectedLanguage();\n }\n /**\n * Emitted when the language switchers value changes\n */\n @Event({ eventName: 'six-language-switcher-change' }) sixChange!: EventEmitter<SixLanguageSwitcherChangePayload>;\n\n componentWillLoad() {\n if (this.selected === undefined) {\n this.updateSelectedLanguage();\n }\n }\n\n private updateSelectedLanguage() {\n const selectedLanguage = this.languages[0];\n if (typeof selectedLanguage === 'string') {\n this.selected = selectedLanguage;\n this.sixChange.emit(this.selected);\n } else {\n this.selected = selectedLanguage.key;\n this.sixChange.emit(selectedLanguage.value);\n }\n }\n\n private handleLanguageSwitching = (newLanguage: string, languageValue?: string) => () => {\n if (languageValue !== undefined) {\n this.sixChange.emit(languageValue);\n } else {\n this.sixChange.emit(newLanguage);\n }\n this.selected = newLanguage;\n };\n\n render() {\n return (\n <div part=\"container\" class=\"language-switcher__container\">\n {this.languages.map((lang, index) => {\n const language = typeof lang === 'string' ? lang : lang.key;\n return (\n <div onClick={this.handleLanguageSwitching(language, typeof lang === 'string' ? lang : lang.value)}>\n <span\n part=\"label\"\n class={{\n 'language-switcher__label': true,\n 'language-switcher__label--selected': this.selected === language,\n }}\n >\n {language}\n </span>\n {index < this.languages.length - 1 && (\n <span part=\"separator\" class=\"language-switcher__separator\">\n /\n </span>\n )}\n </div>\n );\n })}\n </div>\n );\n }\n}\n"],"version":3}
@@ -8,8 +8,10 @@ const SixLayoutGrid = class {
8
8
  this.columns = undefined;
9
9
  }
10
10
  handleColumnsChange() {
11
- const columns = this.columns ? this.columns : 12;
12
- this.host.style.setProperty('--no-of-columns', String(columns));
11
+ if (typeof this.columns !== 'number' || this.columns === 0) {
12
+ this.columns = 12;
13
+ }
14
+ this.host.style.setProperty('--no-of-columns', String(this.columns));
13
15
  }
14
16
  componentWillLoad() {
15
17
  this.handleColumnsChange();
@@ -1 +1 @@
1
- {"file":"six-layout-grid.entry.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,kGAAkG;;MCc9G,aAAa;;;;;EAOxB,mBAAmB;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;GACjE;EAED,iBAAiB;IACf,IAAI,CAAC,mBAAmB,EAAE,CAAC;GAC5B;EAED,MAAM;IACJ,QACE,EAAC,IAAI,QACH,eAAQ,CACH,EACP;GACH;;;;;;;;;;","names":[],"sources":["./src/components/six-layout-grid/six-layout-grid.scss?tag=six-layout-grid&encapsulation=shadow","./src/components/six-layout-grid/six-layout-grid.tsx"],"sourcesContent":[":host {\n display: grid;\n grid-template-columns: repeat(var(--no-of-columns), 1fr);\n grid-column-gap: 1rem;\n}\n","import { Component, Element, Host, h, Prop, Watch } from '@stencil/core';\n\n/**\n * @since 1.01\n * @status stable\n *\n * @slot - The grid's content\n */\n\n@Component({\n tag: 'six-layout-grid',\n styleUrl: 'six-layout-grid.scss',\n shadow: true,\n})\nexport class SixLayoutGrid {\n @Element() host: HTMLSixLayoutGridElement;\n\n /** Set the number of grid columns */\n @Prop() columns;\n\n @Watch('columns')\n handleColumnsChange() {\n const columns = this.columns ? this.columns : 12;\n this.host.style.setProperty('--no-of-columns', String(columns));\n }\n\n componentWillLoad() {\n this.handleColumnsChange();\n }\n\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-layout-grid.entry.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,kGAAkG;;MCc9G,aAAa;;;;;EAOxB,mBAAmB;IACjB,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;MAC1D,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;GACtE;EAED,iBAAiB;IACf,IAAI,CAAC,mBAAmB,EAAE,CAAC;GAC5B;EAED,MAAM;IACJ,QACE,EAAC,IAAI,QACH,eAAQ,CACH,EACP;GACH;;;;;;;;;;","names":[],"sources":["./src/components/six-layout-grid/six-layout-grid.scss?tag=six-layout-grid&encapsulation=shadow","./src/components/six-layout-grid/six-layout-grid.tsx"],"sourcesContent":[":host {\n display: grid;\n grid-template-columns: repeat(var(--no-of-columns), 1fr);\n grid-column-gap: 1rem;\n}\n","import { Component, Element, h, Host, Prop, Watch } from '@stencil/core';\n\n/**\n * @since 1.01\n * @status stable\n *\n * @slot - The grid's content\n */\n\n@Component({\n tag: 'six-layout-grid',\n styleUrl: 'six-layout-grid.scss',\n shadow: true,\n})\nexport class SixLayoutGrid {\n @Element() host!: HTMLSixLayoutGridElement;\n\n /** Set the number of grid columns */\n @Prop({ mutable: true }) columns?: number;\n\n @Watch('columns')\n handleColumnsChange() {\n if (typeof this.columns !== 'number' || this.columns === 0) {\n this.columns = 12;\n }\n this.host.style.setProperty('--no-of-columns', String(this.columns));\n }\n\n componentWillLoad() {\n this.handleColumnsChange();\n }\n\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"six-main-container.entry.js","mappings":";;AAAA,MAAM,mBAAmB,GAAG,8PAA8P;;MCkB7Q,gBAAgB;;;kBAIV,IAAI;;EAErB,MAAM;IACJ,QACE,EAAC,IAAI,QACH,WAAK,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,aAAa,GAAG,EAC9C,WAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,IAC1E,eAAQ,CACJ,EACN,WAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,GAAG,CAC3C,EACP;GACH;;;;;;;","names":[],"sources":["./src/components/six-main-container/six-main-container.scss?tag=six-main-container&encapsulation=shadow","./src/components/six-main-container/six-main-container.tsx"],"sourcesContent":["$margin-default-width: 10rem;\n$content-default-width: 60rem;\n$content-min-width: 48rem;\n$content-max-width: 100rem;\n\n:host {\n display: flex;\n flex-wrap: nowrap;\n min-width: fit-content;\n}\n\n.left-margin,\n.right-margin {\n flex: 1 6 $margin-default-width;\n min-width: var(--six-spacing-xxx-large);\n}\n\n.content {\n flex: 6 1 $content-default-width;\n min-width: $content-min-width;\n max-width: $content-max-width;\n &--padded {\n padding: var(--six-spacing-xxx-large) 0;\n }\n}\n","import { Component, Element, Host, h, Prop } from '@stencil/core';\n\n/**\n * @since 1.01\n * @status stable\n *\n * @slot - The main container's content.\n *\n * @part left-margin - The component's left margin area.\n * @part content - The component's content area.\n * @part right-margin - The component's right margin area.\n */\n\n@Component({\n tag: 'six-main-container',\n styleUrl: 'six-main-container.scss',\n shadow: true,\n})\nexport class SixMainContainer {\n @Element() host: HTMLSixMainContainerElement;\n\n /** Set to false to remove top and bottom padding. */\n @Prop() padded = true;\n\n render() {\n return (\n <Host>\n <div part=\"left-margin\" class=\"left-margin\" />\n <div part=\"content\" class={{ content: true, 'content--padded': this.padded }}>\n <slot />\n </div>\n <div part=\"right-margin\" class=\"right-margin\" />\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-main-container.entry.js","mappings":";;AAAA,MAAM,mBAAmB,GAAG,8PAA8P;;MCkB7Q,gBAAgB;;;kBAIV,IAAI;;EAErB,MAAM;IACJ,QACE,EAAC,IAAI,QACH,WAAK,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,aAAa,GAAG,EAC9C,WAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,IAC1E,eAAQ,CACJ,EACN,WAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,GAAG,CAC3C,EACP;GACH;;;;;;;","names":[],"sources":["./src/components/six-main-container/six-main-container.scss?tag=six-main-container&encapsulation=shadow","./src/components/six-main-container/six-main-container.tsx"],"sourcesContent":["$margin-default-width: 10rem;\n$content-default-width: 60rem;\n$content-min-width: 48rem;\n$content-max-width: 100rem;\n\n:host {\n display: flex;\n flex-wrap: nowrap;\n min-width: fit-content;\n}\n\n.left-margin,\n.right-margin {\n flex: 1 6 $margin-default-width;\n min-width: var(--six-spacing-xxx-large);\n}\n\n.content {\n flex: 6 1 $content-default-width;\n min-width: $content-min-width;\n max-width: $content-max-width;\n &--padded {\n padding: var(--six-spacing-xxx-large) 0;\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\n\n/**\n * @since 1.01\n * @status stable\n *\n * @slot - The main container's content.\n *\n * @part left-margin - The component's left margin area.\n * @part content - The component's content area.\n * @part right-margin - The component's right margin area.\n */\n\n@Component({\n tag: 'six-main-container',\n styleUrl: 'six-main-container.scss',\n shadow: true,\n})\nexport class SixMainContainer {\n @Element() host!: HTMLSixMainContainerElement;\n\n /** Set to false to remove top and bottom padding. */\n @Prop() padded = true;\n\n render() {\n return (\n <Host>\n <div part=\"left-margin\" class=\"left-margin\" />\n <div part=\"content\" class={{ content: true, 'content--padded': this.padded }}>\n <slot />\n </div>\n <div part=\"right-margin\" class=\"right-margin\" />\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h } from './index-5c0f6628.js';
2
- import { a as getTextContent } from './slot-6f3984c7.js';
2
+ import { a as getTextContent } from './slot-2e64df19.js';
3
3
 
4
4
  const sixMenuItemCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block}.menu-item{position:relative;display:flex;align-items:stretch;font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);line-height:var(--six-line-height-normal);letter-spacing:var(--six-letter-spacing-normal);text-align:left;color:var(--six-input-color);border-radius:var(--six-border-radius-medium);padding:var(--six-spacing-medium) var(--six-spacing-medium);transition:var(--six-transition-fast) fill;user-select:none;white-space:nowrap;cursor:pointer}.menu-item.menu-item--focused:not(.menu-item--disabled){outline:none;background-color:var(--six-menu-item-background-color)}.menu-item.menu-item--disabled{outline:none;color:var(--six-input-color-disabled);cursor:not-allowed}.menu-item .menu-item__label{flex:1 1 auto;align-self:center}.menu-item .menu-item__prefix{flex:0 0 auto;display:flex;align-items:center}.menu-item .menu-item__prefix ::slotted(:last-child){margin-right:0.5em}.menu-item .menu-item__suffix{flex:0 0 auto;display:flex;align-items:center}.menu-item .menu-item__suffix ::slotted(:first-child){margin-left:0.5em}.menu-item .menu-item__check{flex:0 0 auto;display:flex;align-items:center;margin-left:var(--six-spacing-small);visibility:hidden;font-size:inherit}.menu-item--checked .menu-item__check{visibility:visible}";
5
5
 
@@ -19,11 +19,13 @@ const SixMenuItem = class {
19
19
  }
20
20
  /** Sets focus on the button. */
21
21
  async setFocus(options) {
22
- this.menuItem.focus(options);
22
+ var _a;
23
+ (_a = this.menuItem) === null || _a === void 0 ? void 0 : _a.focus(options);
23
24
  }
24
25
  /** Removes focus from the button. */
25
26
  async removeFocus() {
26
- this.menuItem.blur();
27
+ var _a;
28
+ (_a = this.menuItem) === null || _a === void 0 ? void 0 : _a.blur();
27
29
  }
28
30
  /** Returns a text label based on the contents of the menu item's default slot. */
29
31
  getTextLabel() {
@@ -36,10 +38,10 @@ const SixMenuItem = class {
36
38
  this.hasFocus = true;
37
39
  }
38
40
  handleMouseEnter() {
39
- this.setFocus();
41
+ return this.setFocus();
40
42
  }
41
43
  handleMouseLeave() {
42
- this.removeFocus();
44
+ return this.removeFocus();
43
45
  }
44
46
  render() {
45
47
  return (h("div", { ref: (el) => (this.menuItem = el), part: "base", class: {
@@ -47,7 +49,7 @@ const SixMenuItem = class {
47
49
  'menu-item--checked': this.checked,
48
50
  'menu-item--disabled': this.disabled,
49
51
  'menu-item--focused': this.hasFocus,
50
- }, 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"))));
52
+ }, 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"))));
51
53
  }
52
54
  };
53
55
  SixMenuItem.style = sixMenuItemCss;
@@ -1 +1 @@
1
- {"file":"six-menu-item.entry.js","mappings":";;;AAAA,MAAM,cAAc,GAAG,44CAA44C;;MCyBt5C,WAAW;;;oBAIF,KAAK;mBAGU,KAAK;iBAGP,EAAE;oBAGC,KAAK;;EAEzC,iBAAiB;IACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAC1D;;EAID,MAAM,QAAQ,CAAC,OAAsB;IACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;GAC9B;;EAID,MAAM,WAAW;IACf,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;GACtB;;EAID,YAAY;IACV,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;GAC1D;EAED,UAAU;IACR,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;GACvB;EAED,WAAW;IACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;GACtB;EAED,gBAAgB;IACd,IAAI,CAAC,QAAQ,EAAE,CAAC;GACjB;EAED,gBAAgB;IACd,IAAI,CAAC,WAAW,EAAE,CAAC;GACpB;EAED,MAAM;IACJ,QACE,WACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,EACjC,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;QACL,WAAW,EAAE,IAAI;QACjB,oBAAoB,EAAE,IAAI,CAAC,OAAO;QAClC,qBAAqB,EAAE,IAAI,CAAC,QAAQ;QACpC,oBAAoB,EAAE,IAAI,CAAC,QAAQ;OACpC,EACD,IAAI,EAAC,UAAU,mBACA,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,kBACjC,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,EAC7C,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,EACnC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,YAAY,EAAE,IAAI,CAAC,gBAAgB,IAEnC,YAAM,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,mBAAmB,IAC3C,YAAM,IAAI,EAAC,QAAQ,GAAG,CACjB,EAEP,YAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,kBAAkB,IACzC,YAAM,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,WAAW,GAAG,EAAqB,CAAC,GAAI,CAC5D,EAEP,YAAM,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,mBAAmB,IAC3C,YAAM,IAAI,EAAC,QAAQ,GAAG,CACjB,EAEP,YAAM,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,kBAAkB,IAChD,gBAAU,IAAI,EAAC,OAAO,iBAAa,MAAM,YAE9B,CACN,CACH,EACN;GACH;;;;;;","names":[],"sources":["./src/components/six-menu-item/six-menu-item.scss?tag=six-menu-item&encapsulation=shadow","./src/components/six-menu-item/six-menu-item.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu-item {\n position: relative;\n display: flex;\n align-items: stretch;\n font-family: var(--six-font-sans);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-normal);\n line-height: var(--six-line-height-normal);\n letter-spacing: var(--six-letter-spacing-normal);\n text-align: left;\n color: var(--six-input-color);\n border-radius: var(--six-border-radius-medium);\n padding: var(--six-spacing-medium) var(--six-spacing-medium);\n transition: var(--six-transition-fast) fill;\n user-select: none;\n white-space: nowrap;\n cursor: pointer;\n\n &.menu-item--focused:not(.menu-item--disabled) {\n outline: none;\n background-color: var(--six-menu-item-background-color);\n }\n\n &.menu-item--disabled {\n outline: none;\n color: var(--six-input-color-disabled);\n cursor: not-allowed;\n }\n\n .menu-item__label {\n flex: 1 1 auto;\n align-self: center;\n }\n\n .menu-item__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(:last-child) {\n margin-right: 0.5em;\n }\n }\n\n .menu-item__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(:first-child) {\n margin-left: 0.5em;\n }\n }\n\n .menu-item__check {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n margin-left: var(--six-spacing-small);\n visibility: hidden;\n font-size: inherit;\n }\n}\n\n.menu-item--checked .menu-item__check {\n visibility: visible;\n}\n","import { Component, Method, Prop, State, h } from '@stencil/core';\nimport { getTextContent } from '../../utils/slot';\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The menu item's label.\n * @slot prefix - Used to prepend an icon or similar element to the menu item.\n * @slot suffix - Used to append an icon or similar element to the menu item.\n *\n * @part base - The component's base wrapper.\n * @part checked-icon - The container that wraps the checked icon.\n * @part prefix - The prefix container.\n * @part label - The menu item label.\n * @part suffix - The suffix container.\n */\n\n@Component({\n tag: 'six-menu-item',\n styleUrl: 'six-menu-item.scss',\n shadow: true,\n})\nexport class SixMenuItem {\n menuItem: HTMLElement;\n defaultSlot: HTMLSlotElement;\n\n @State() hasFocus = false;\n\n /** Set to true to draw the item in a checked state. */\n @Prop({ reflect: true }) checked = false;\n\n /** A unique value to store in the menu item. This can be used as a way to identify menu items when selected. */\n @Prop({ reflect: true }) value = '';\n\n /** Set to true to draw the menu item in a disabled state. */\n @Prop({ reflect: true }) disabled = false;\n\n connectedCallback() {\n this.handleBlur = this.handleBlur.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n }\n\n /** Sets focus on the button. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.menuItem.focus(options);\n }\n\n /** Removes focus from the button. */\n @Method()\n async removeFocus() {\n this.menuItem.blur();\n }\n\n /** Returns a text label based on the contents of the menu item's default slot. */\n @Method()\n getTextLabel() {\n return Promise.resolve(getTextContent(this.defaultSlot));\n }\n\n handleBlur() {\n this.hasFocus = false;\n }\n\n handleFocus() {\n this.hasFocus = true;\n }\n\n handleMouseEnter() {\n this.setFocus();\n }\n\n handleMouseLeave() {\n this.removeFocus();\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.menuItem = el)}\n part=\"base\"\n class={{\n 'menu-item': true,\n 'menu-item--checked': this.checked,\n 'menu-item--disabled': this.disabled,\n 'menu-item--focused': this.hasFocus,\n }}\n role=\"menuitem\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-checked={this.checked ? 'true' : 'false'}\n tabIndex={!this.disabled ? 0 : null}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <span part=\"prefix\" class=\"menu-item__prefix\">\n <slot name=\"prefix\" />\n </span>\n\n <span part=\"label\" class=\"menu-item__label\">\n <slot ref={(el) => (this.defaultSlot = el as HTMLSlotElement)} />\n </span>\n\n <span part=\"suffix\" class=\"menu-item__suffix\">\n <slot name=\"suffix\" />\n </span>\n\n <span part=\"checked-icon\" class=\"menu-item__check\">\n <six-icon size=\"small\" aria-hidden=\"true\">\n check\n </six-icon>\n </span>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-menu-item.entry.js","mappings":";;;AAAA,MAAM,cAAc,GAAG,44CAA44C;;MCyBt5C,WAAW;;;oBAIF,KAAK;mBAGU,KAAK;iBAGP,EAAE;oBAGC,KAAK;;EAEzC,iBAAiB;IACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAC1D;;EAID,MAAM,QAAQ,CAAC,OAAsB;;IACnC,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAC,OAAO,CAAC,CAAC;GAC/B;;EAID,MAAM,WAAW;;IACf,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,EAAE,CAAC;GACvB;;EAID,YAAY;IACV,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;GAC1D;EAEO,UAAU;IAChB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;GACvB;EAEO,WAAW;IACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;GACtB;EAEO,gBAAgB;IACtB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;GACxB;EAEO,gBAAgB;IACtB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;GAC3B;EAED,MAAM;IACJ,QACE,WACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,EACjC,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;QACL,WAAW,EAAE,IAAI;QACjB,oBAAoB,EAAE,IAAI,CAAC,OAAO;QAClC,qBAAqB,EAAE,IAAI,CAAC,QAAQ;QACpC,oBAAoB,EAAE,IAAI,CAAC,QAAQ;OACpC,EACD,IAAI,EAAC,UAAU,mBACA,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,kBACjC,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,EAC7C,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,EACxC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,YAAY,EAAE,IAAI,CAAC,gBAAgB,IAEnC,YAAM,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,mBAAmB,IAC3C,YAAM,IAAI,EAAC,QAAQ,GAAG,CACjB,EAEP,YAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,kBAAkB,IACzC,YAAM,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,WAAW,GAAG,EAAqB,CAAC,GAAI,CAC5D,EAEP,YAAM,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,mBAAmB,IAC3C,YAAM,IAAI,EAAC,QAAQ,GAAG,CACjB,EAEP,YAAM,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,kBAAkB,IAChD,gBAAU,IAAI,EAAC,OAAO,iBAAa,MAAM,YAE9B,CACN,CACH,EACN;GACH;;;;;;","names":[],"sources":["./src/components/six-menu-item/six-menu-item.scss?tag=six-menu-item&encapsulation=shadow","./src/components/six-menu-item/six-menu-item.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu-item {\n position: relative;\n display: flex;\n align-items: stretch;\n font-family: var(--six-font-sans);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-normal);\n line-height: var(--six-line-height-normal);\n letter-spacing: var(--six-letter-spacing-normal);\n text-align: left;\n color: var(--six-input-color);\n border-radius: var(--six-border-radius-medium);\n padding: var(--six-spacing-medium) var(--six-spacing-medium);\n transition: var(--six-transition-fast) fill;\n user-select: none;\n white-space: nowrap;\n cursor: pointer;\n\n &.menu-item--focused:not(.menu-item--disabled) {\n outline: none;\n background-color: var(--six-menu-item-background-color);\n }\n\n &.menu-item--disabled {\n outline: none;\n color: var(--six-input-color-disabled);\n cursor: not-allowed;\n }\n\n .menu-item__label {\n flex: 1 1 auto;\n align-self: center;\n }\n\n .menu-item__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(:last-child) {\n margin-right: 0.5em;\n }\n }\n\n .menu-item__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(:first-child) {\n margin-left: 0.5em;\n }\n }\n\n .menu-item__check {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n margin-left: var(--six-spacing-small);\n visibility: hidden;\n font-size: inherit;\n }\n}\n\n.menu-item--checked .menu-item__check {\n visibility: visible;\n}\n","import { Component, h, Method, Prop, State } from '@stencil/core';\nimport { getTextContent } from '../../utils/slot';\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The menu item's label.\n * @slot prefix - Used to prepend an icon or similar element to the menu item.\n * @slot suffix - Used to append an icon or similar element to the menu item.\n *\n * @part base - The component's base wrapper.\n * @part checked-icon - The container that wraps the checked icon.\n * @part prefix - The prefix container.\n * @part label - The menu item label.\n * @part suffix - The suffix container.\n */\n\n@Component({\n tag: 'six-menu-item',\n styleUrl: 'six-menu-item.scss',\n shadow: true,\n})\nexport class SixMenuItem {\n private menuItem?: HTMLElement;\n private defaultSlot?: HTMLSlotElement;\n\n @State() hasFocus = false;\n\n /** Set to true to draw the item in a checked state. */\n @Prop({ reflect: true }) checked = false;\n\n /** A unique value to store in the menu item. This can be used as a way to identify menu items when selected. */\n @Prop({ reflect: true }) value = '';\n\n /** Set to true to draw the menu item in a disabled state. */\n @Prop({ reflect: true }) disabled = false;\n\n connectedCallback() {\n this.handleBlur = this.handleBlur.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n }\n\n /** Sets focus on the button. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.menuItem?.focus(options);\n }\n\n /** Removes focus from the button. */\n @Method()\n async removeFocus() {\n this.menuItem?.blur();\n }\n\n /** Returns a text label based on the contents of the menu item's default slot. */\n @Method()\n getTextLabel() {\n return Promise.resolve(getTextContent(this.defaultSlot));\n }\n\n private handleBlur() {\n this.hasFocus = false;\n }\n\n private handleFocus() {\n this.hasFocus = true;\n }\n\n private handleMouseEnter() {\n return this.setFocus();\n }\n\n private handleMouseLeave() {\n return this.removeFocus();\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.menuItem = el)}\n part=\"base\"\n class={{\n 'menu-item': true,\n 'menu-item--checked': this.checked,\n 'menu-item--disabled': this.disabled,\n 'menu-item--focused': this.hasFocus,\n }}\n role=\"menuitem\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-checked={this.checked ? 'true' : 'false'}\n tabIndex={!this.disabled ? 0 : undefined}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <span part=\"prefix\" class=\"menu-item__prefix\">\n <slot name=\"prefix\" />\n </span>\n\n <span part=\"label\" class=\"menu-item__label\">\n <slot ref={(el) => (this.defaultSlot = el as HTMLSlotElement)} />\n </span>\n\n <span part=\"suffix\" class=\"menu-item__suffix\">\n <slot name=\"suffix\" />\n </span>\n\n <span part=\"checked-icon\" class=\"menu-item__check\">\n <six-icon size=\"small\" aria-hidden=\"true\">\n check\n </six-icon>\n </span>\n </div>\n );\n }\n}\n"],"version":3}
@@ -10,7 +10,10 @@ const SixPicto = class {
10
10
  render() {
11
11
  var _a;
12
12
  const iconName = (_a = this.host.innerHTML) === null || _a === void 0 ? void 0 : _a.trim();
13
- return (h(Host, null, h("div", { part: "icon", class: { [`is-size-${this.size}`]: !!this.size, [`${iconName}`]: true } })));
13
+ return (h(Host, null, h("div", { part: "icon", class: {
14
+ [`is-size-${this.size}`]: typeof this.size != null || this.size.trim() !== '',
15
+ [`${iconName}`]: true,
16
+ } })));
14
17
  }
15
18
  get host() { return getElement(this); }
16
19
  };