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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (729) hide show
  1. package/dist/cjs/{event-listeners-74715e62.js → event-listeners-dd94dcfb.js} +7 -7
  2. package/dist/cjs/event-listeners-dd94dcfb.js.map +1 -0
  3. package/dist/cjs/{execution-control-46f388e0.js → execution-control-45c84c46.js} +6 -3
  4. package/dist/cjs/execution-control-45c84c46.js.map +1 -0
  5. package/dist/cjs/{focus-visible-0b352c74.js → focus-visible-e0d93a95.js} +3 -3
  6. package/dist/cjs/focus-visible-e0d93a95.js.map +1 -0
  7. package/dist/cjs/{form-control-2c17c573.js → form-control-7494488a.js} +10 -9
  8. package/dist/cjs/form-control-7494488a.js.map +1 -0
  9. package/dist/cjs/{index-2f6daa5b.js → index-ccf35821.js} +4 -1
  10. package/dist/cjs/index-ccf35821.js.map +1 -0
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/{modal-48d42228.js → modal-21350fb5.js} +4 -3
  13. package/dist/cjs/modal-21350fb5.js.map +1 -0
  14. package/dist/cjs/{popover-f743f62b.js → popover-b5e2d5ef.js} +33 -19
  15. package/dist/cjs/popover-b5e2d5ef.js.map +1 -0
  16. package/dist/cjs/popup-44836aaf.js +103 -0
  17. package/dist/cjs/popup-44836aaf.js.map +1 -0
  18. package/dist/cjs/set-attributes_2.cjs.entry.js +4 -2
  19. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  20. package/dist/cjs/six-alert.cjs.entry.js +18 -23
  21. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  22. package/dist/cjs/six-avatar.cjs.entry.js +5 -8
  23. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  24. package/dist/cjs/six-badge.cjs.entry.js +2 -2
  25. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  26. package/dist/cjs/six-button.cjs.entry.js +30 -34
  27. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-card.cjs.entry.js +1 -1
  29. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-checkbox.cjs.entry.js +5 -4
  31. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-datepicker.cjs.entry.js +148 -245
  33. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-details.cjs.entry.js +48 -47
  35. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-dialog.cjs.entry.js +36 -40
  37. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-drawer.cjs.entry.js +33 -37
  39. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-dropdown_2.cjs.entry.js +215 -196
  41. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-error-page.cjs.entry.js +20 -22
  43. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-file-list-item.cjs.entry.js +2 -2
  45. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  47. package/dist/cjs/six-file-upload.cjs.entry.js +21 -21
  48. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  50. package/dist/cjs/six-form.cjs.entry.js +40 -35
  51. package/dist/cjs/six-form.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-group-label.cjs.entry.js +12 -11
  53. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  54. package/dist/cjs/six-header.cjs.entry.js +66 -44
  55. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  56. package/dist/cjs/six-icon-button.cjs.entry.js +4 -4
  57. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  59. package/dist/cjs/six-input.cjs.entry.js +5 -5
  60. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-item-picker.cjs.entry.js +59 -78
  62. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
  64. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-layout-grid.cjs.entry.js +5 -3
  66. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  68. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  70. package/dist/cjs/six-menu-item.cjs.entry.js +9 -7
  71. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  73. package/dist/cjs/six-picto.cjs.entry.js +5 -2
  74. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  76. package/dist/cjs/six-progress-ring.cjs.entry.js +4 -4
  77. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-radio.cjs.entry.js +1 -1
  79. package/dist/cjs/six-range.cjs.entry.js +4 -4
  80. package/dist/cjs/six-root.cjs.entry.js +2 -2
  81. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-search-field.cjs.entry.js +11 -6
  83. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-select.cjs.entry.js +135 -188
  85. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +10 -6
  87. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  89. package/dist/cjs/six-sidebar.cjs.entry.js +40 -19
  90. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  92. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-switch.cjs.entry.js +51 -45
  94. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-tab-group.cjs.entry.js +131 -113
  96. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  98. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-tab.cjs.entry.js +5 -3
  100. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-tag.cjs.entry.js +5 -8
  102. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-textarea.cjs.entry.js +4 -4
  104. package/dist/cjs/six-tile.cjs.entry.js +14 -17
  105. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-timepicker.cjs.entry.js +155 -201
  107. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  108. package/dist/cjs/six-tooltip.cjs.entry.js +54 -57
  109. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  110. package/dist/cjs/{slot-ad537f24.js → slot-bccbdb59.js} +11 -10
  111. package/dist/cjs/slot-bccbdb59.js.map +1 -0
  112. package/dist/cjs/ui-library.cjs.js +2 -2
  113. package/dist/collection/components/six-alert/six-alert.js +17 -22
  114. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  115. package/dist/collection/components/six-avatar/six-avatar.js +4 -7
  116. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  117. package/dist/collection/components/six-badge/six-badge.js +1 -1
  118. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  119. package/dist/collection/components/six-button/six-button.js +38 -40
  120. package/dist/collection/components/six-button/six-button.js.map +1 -1
  121. package/dist/collection/components/six-card/six-card.js +1 -1
  122. package/dist/collection/components/six-card/six-card.js.map +1 -1
  123. package/dist/collection/components/six-checkbox/six-checkbox.js +3 -2
  124. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  125. package/dist/collection/components/six-datepicker/components/day-selection.js +2 -2
  126. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  127. package/dist/collection/components/six-datepicker/components/month-selection.js +4 -3
  128. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  129. package/dist/collection/components/six-datepicker/components/year-selection.js +9 -6
  130. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  131. package/dist/collection/components/six-datepicker/six-datepicker.js +126 -240
  132. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  133. package/dist/collection/components/six-details/six-details.js +51 -50
  134. package/dist/collection/components/six-details/six-details.js.map +1 -1
  135. package/dist/collection/components/six-dialog/six-dialog.js +34 -38
  136. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  137. package/dist/collection/components/six-drawer/six-drawer.js +31 -35
  138. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  139. package/dist/collection/components/six-dropdown/six-dropdown.js +185 -173
  140. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  141. package/dist/collection/components/six-error-page/six-error-page.js +25 -27
  142. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  143. package/dist/collection/components/six-file-list-item/six-file-list-item.js +3 -3
  144. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  145. package/dist/collection/components/six-file-upload/six-file-upload.js +32 -32
  146. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  147. package/dist/collection/components/six-form/six-form.js +41 -33
  148. package/dist/collection/components/six-form/six-form.js.map +1 -1
  149. package/dist/collection/components/six-group-label/six-group-label.js +11 -9
  150. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  151. package/dist/collection/components/six-header/six-header.js +64 -42
  152. package/dist/collection/components/six-header/six-header.js.map +1 -1
  153. package/dist/collection/components/six-icon-button/six-icon-button.js +8 -8
  154. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  155. package/dist/collection/components/six-input/six-input.js +16 -16
  156. package/dist/collection/components/six-input/six-input.js.map +1 -1
  157. package/dist/collection/components/six-item-picker/six-item-picker.js +65 -84
  158. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  159. package/dist/collection/components/six-language-switcher/six-language-switcher.js +2 -2
  160. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  161. package/dist/collection/components/six-layout-grid/six-layout-grid.js +10 -8
  162. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  163. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  164. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  165. package/dist/collection/components/six-menu/six-menu.js +29 -23
  166. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  167. package/dist/collection/components/six-menu-item/six-menu-item.js +7 -5
  168. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  169. package/dist/collection/components/six-picto/six-picto.js +5 -2
  170. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  171. package/dist/collection/components/six-progress-ring/six-progress-ring.js +5 -4
  172. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  173. package/dist/collection/components/six-radio/six-radio.js +2 -2
  174. package/dist/collection/components/six-root/six-root.js +4 -4
  175. package/dist/collection/components/six-root/six-root.js.map +1 -1
  176. package/dist/collection/components/six-search-field/six-search-field.js +10 -5
  177. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  178. package/dist/collection/components/six-select/six-select.js +139 -146
  179. package/dist/collection/components/six-select/six-select.js.map +1 -1
  180. package/dist/collection/components/six-select/util.js.map +1 -1
  181. package/dist/collection/components/six-sidebar/six-sidebar.js +40 -19
  182. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  183. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +12 -8
  184. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  185. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  186. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +1 -1
  187. package/dist/collection/components/six-switch/six-switch.js +58 -50
  188. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  189. package/dist/collection/components/six-tab/six-tab.js +5 -3
  190. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  191. package/dist/collection/components/six-tab-group/six-tab-group.js +130 -112
  192. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  193. package/dist/collection/components/six-tab-panel/six-tab-panel.js +2 -2
  194. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  195. package/dist/collection/components/six-tag/six-tag.js +4 -7
  196. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  197. package/dist/collection/components/six-textarea/six-textarea.js +10 -10
  198. package/dist/collection/components/six-tile/six-tile.js +17 -20
  199. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  200. package/dist/collection/components/six-timepicker/six-timepicker.js +129 -177
  201. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  202. package/dist/collection/components/six-tooltip/six-tooltip.js +56 -59
  203. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  204. package/dist/collection/functional-components/form-control/form-control.js +8 -7
  205. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  206. package/dist/collection/testUtil/delay.js.map +1 -1
  207. package/dist/collection/utils/date-util.js +24 -16
  208. package/dist/collection/utils/date-util.js.map +1 -1
  209. package/dist/collection/utils/event-listeners.js +6 -6
  210. package/dist/collection/utils/event-listeners.js.map +1 -1
  211. package/dist/collection/utils/execution-control.js +5 -4
  212. package/dist/collection/utils/execution-control.js.map +1 -1
  213. package/dist/collection/utils/focus-visible.js +2 -2
  214. package/dist/collection/utils/focus-visible.js.map +1 -1
  215. package/dist/collection/utils/modal.js +3 -2
  216. package/dist/collection/utils/modal.js.map +1 -1
  217. package/dist/collection/utils/popover.js +32 -18
  218. package/dist/collection/utils/popover.js.map +1 -1
  219. package/dist/collection/utils/popup.js +95 -0
  220. package/dist/collection/utils/popup.js.map +1 -0
  221. package/dist/collection/utils/slot.js +9 -24
  222. package/dist/collection/utils/slot.js.map +1 -1
  223. package/dist/collection/utils/tabbable.js +6 -6
  224. package/dist/collection/utils/tabbable.js.map +1 -1
  225. package/dist/collection/utils/time.util.js +48 -34
  226. package/dist/collection/utils/time.util.js.map +1 -1
  227. package/dist/collection/utils/type-check.js +0 -1
  228. package/dist/collection/utils/type-check.js.map +1 -1
  229. package/dist/collection/wrappers/set-attributes/set-attributes.js +3 -1
  230. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  231. package/dist/components/event-listeners.js +6 -6
  232. package/dist/components/event-listeners.js.map +1 -1
  233. package/dist/components/execution-control.js +5 -2
  234. package/dist/components/execution-control.js.map +1 -1
  235. package/dist/components/focus-visible.js +2 -2
  236. package/dist/components/focus-visible.js.map +1 -1
  237. package/dist/components/form-control.js +8 -7
  238. package/dist/components/form-control.js.map +1 -1
  239. package/dist/components/modal.js +3 -2
  240. package/dist/components/modal.js.map +1 -1
  241. package/dist/components/popover.js +32 -18
  242. package/dist/components/popover.js.map +1 -1
  243. package/dist/components/set-attributes2.js +3 -1
  244. package/dist/components/set-attributes2.js.map +1 -1
  245. package/dist/components/six-alert.js +17 -22
  246. package/dist/components/six-alert.js.map +1 -1
  247. package/dist/components/six-avatar.js +4 -7
  248. package/dist/components/six-avatar.js.map +1 -1
  249. package/dist/components/six-badge.js +1 -1
  250. package/dist/components/six-badge.js.map +1 -1
  251. package/dist/components/six-button.js +28 -32
  252. package/dist/components/six-button.js.map +1 -1
  253. package/dist/components/six-card.js.map +1 -1
  254. package/dist/components/six-checkbox.js +1 -0
  255. package/dist/components/six-checkbox.js.map +1 -1
  256. package/dist/components/six-datepicker.js +141 -238
  257. package/dist/components/six-datepicker.js.map +1 -1
  258. package/dist/components/six-details2.js +46 -45
  259. package/dist/components/six-details2.js.map +1 -1
  260. package/dist/components/six-dialog.js +33 -37
  261. package/dist/components/six-dialog.js.map +1 -1
  262. package/dist/components/six-drawer.js +30 -34
  263. package/dist/components/six-drawer.js.map +1 -1
  264. package/dist/components/six-dropdown2.js +185 -173
  265. package/dist/components/six-dropdown2.js.map +1 -1
  266. package/dist/components/six-error-page.js +19 -21
  267. package/dist/components/six-error-page.js.map +1 -1
  268. package/dist/components/six-file-list-item.js +1 -1
  269. package/dist/components/six-file-list-item.js.map +1 -1
  270. package/dist/components/six-file-upload.js +20 -20
  271. package/dist/components/six-file-upload.js.map +1 -1
  272. package/dist/components/six-form.js +38 -33
  273. package/dist/components/six-form.js.map +1 -1
  274. package/dist/components/six-group-label.js +9 -8
  275. package/dist/components/six-group-label.js.map +1 -1
  276. package/dist/components/six-header.js +64 -42
  277. package/dist/components/six-header.js.map +1 -1
  278. package/dist/components/six-icon-button2.js +2 -2
  279. package/dist/components/six-icon-button2.js.map +1 -1
  280. package/dist/components/six-input2.js +1 -1
  281. package/dist/components/six-input2.js.map +1 -1
  282. package/dist/components/six-item-picker2.js +56 -75
  283. package/dist/components/six-item-picker2.js.map +1 -1
  284. package/dist/components/six-language-switcher.js +1 -1
  285. package/dist/components/six-language-switcher.js.map +1 -1
  286. package/dist/components/six-layout-grid.js +5 -3
  287. package/dist/components/six-layout-grid.js.map +1 -1
  288. package/dist/components/six-main-container.js.map +1 -1
  289. package/dist/components/six-menu-item2.js +7 -5
  290. package/dist/components/six-menu-item2.js.map +1 -1
  291. package/dist/components/six-menu2.js +25 -18
  292. package/dist/components/six-menu2.js.map +1 -1
  293. package/dist/components/six-picto2.js +4 -1
  294. package/dist/components/six-picto2.js.map +1 -1
  295. package/dist/components/six-progress-ring.js +3 -3
  296. package/dist/components/six-progress-ring.js.map +1 -1
  297. package/dist/components/six-root.js +1 -1
  298. package/dist/components/six-root.js.map +1 -1
  299. package/dist/components/six-search-field.js +8 -3
  300. package/dist/components/six-search-field.js.map +1 -1
  301. package/dist/components/six-select.js +129 -182
  302. package/dist/components/six-select.js.map +1 -1
  303. package/dist/components/six-sidebar-item-group.js +8 -4
  304. package/dist/components/six-sidebar-item-group.js.map +1 -1
  305. package/dist/components/six-sidebar.js +39 -18
  306. package/dist/components/six-sidebar.js.map +1 -1
  307. package/dist/components/six-spinner2.js.map +1 -1
  308. package/dist/components/six-switch.js +50 -44
  309. package/dist/components/six-switch.js.map +1 -1
  310. package/dist/components/six-tab-group.js +129 -111
  311. package/dist/components/six-tab-group.js.map +1 -1
  312. package/dist/components/six-tab-panel.js +1 -1
  313. package/dist/components/six-tab-panel.js.map +1 -1
  314. package/dist/components/six-tab.js +4 -2
  315. package/dist/components/six-tab.js.map +1 -1
  316. package/dist/components/six-tag2.js +4 -7
  317. package/dist/components/six-tag2.js.map +1 -1
  318. package/dist/components/six-tile.js +14 -17
  319. package/dist/components/six-tile.js.map +1 -1
  320. package/dist/components/six-timepicker.js +1 -1
  321. package/dist/components/six-timepicker2.js +241 -239
  322. package/dist/components/six-timepicker2.js.map +1 -1
  323. package/dist/components/six-tooltip2.js +52 -55
  324. package/dist/components/six-tooltip2.js.map +1 -1
  325. package/dist/components/slot.js +10 -9
  326. package/dist/components/slot.js.map +1 -1
  327. package/dist/components.json +348 -166
  328. package/dist/esm/{event-listeners-570a24ea.js → event-listeners-6b434035.js} +7 -7
  329. package/dist/esm/event-listeners-6b434035.js.map +1 -0
  330. package/dist/esm/{execution-control-1a60d709.js → execution-control-72cc50f4.js} +6 -3
  331. package/dist/esm/execution-control-72cc50f4.js.map +1 -0
  332. package/dist/esm/{focus-visible-97933ea9.js → focus-visible-fa7129a0.js} +3 -3
  333. package/dist/esm/focus-visible-fa7129a0.js.map +1 -0
  334. package/dist/esm/{form-control-3b440ea1.js → form-control-44a50dd6.js} +10 -9
  335. package/dist/esm/form-control-44a50dd6.js.map +1 -0
  336. package/dist/esm/{index-5c0f6628.js → index-371fb9d4.js} +4 -2
  337. package/dist/esm/index-371fb9d4.js.map +1 -0
  338. package/dist/esm/loader.js +3 -3
  339. package/dist/esm/{modal-5ebdc320.js → modal-b1d96441.js} +4 -3
  340. package/dist/esm/modal-b1d96441.js.map +1 -0
  341. package/dist/esm/{popover-bd2c2fca.js → popover-1aacbae8.js} +33 -19
  342. package/dist/{cjs/popover-f743f62b.js.map → esm/popover-1aacbae8.js.map} +1 -1
  343. package/dist/esm/popup-678b8592.js +98 -0
  344. package/dist/esm/popup-678b8592.js.map +1 -0
  345. package/dist/esm/set-attributes_2.entry.js +4 -2
  346. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  347. package/dist/esm/six-alert.entry.js +18 -23
  348. package/dist/esm/six-alert.entry.js.map +1 -1
  349. package/dist/esm/six-avatar.entry.js +5 -8
  350. package/dist/esm/six-avatar.entry.js.map +1 -1
  351. package/dist/esm/six-badge.entry.js +2 -2
  352. package/dist/esm/six-badge.entry.js.map +1 -1
  353. package/dist/esm/six-button.entry.js +30 -34
  354. package/dist/esm/six-button.entry.js.map +1 -1
  355. package/dist/esm/six-card.entry.js +1 -1
  356. package/dist/esm/six-card.entry.js.map +1 -1
  357. package/dist/esm/six-checkbox.entry.js +5 -4
  358. package/dist/esm/six-checkbox.entry.js.map +1 -1
  359. package/dist/esm/six-datepicker.entry.js +145 -242
  360. package/dist/esm/six-datepicker.entry.js.map +1 -1
  361. package/dist/esm/six-details.entry.js +48 -47
  362. package/dist/esm/six-details.entry.js.map +1 -1
  363. package/dist/esm/six-dialog.entry.js +36 -40
  364. package/dist/esm/six-dialog.entry.js.map +1 -1
  365. package/dist/esm/six-drawer.entry.js +33 -37
  366. package/dist/esm/six-drawer.entry.js.map +1 -1
  367. package/dist/esm/six-dropdown_2.entry.js +215 -196
  368. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  369. package/dist/esm/six-error-page.entry.js +20 -22
  370. package/dist/esm/six-error-page.entry.js.map +1 -1
  371. package/dist/esm/six-file-list-item.entry.js +2 -2
  372. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  373. package/dist/esm/six-file-list.entry.js +1 -1
  374. package/dist/esm/six-file-upload.entry.js +21 -21
  375. package/dist/esm/six-file-upload.entry.js.map +1 -1
  376. package/dist/esm/six-footer.entry.js +1 -1
  377. package/dist/esm/six-form.entry.js +40 -35
  378. package/dist/esm/six-form.entry.js.map +1 -1
  379. package/dist/esm/six-group-label.entry.js +12 -11
  380. package/dist/esm/six-group-label.entry.js.map +1 -1
  381. package/dist/esm/six-header.entry.js +66 -44
  382. package/dist/esm/six-header.entry.js.map +1 -1
  383. package/dist/esm/six-icon-button.entry.js +4 -4
  384. package/dist/esm/six-icon-button.entry.js.map +1 -1
  385. package/dist/esm/six-icon.entry.js +1 -1
  386. package/dist/esm/six-input.entry.js +5 -5
  387. package/dist/esm/six-input.entry.js.map +1 -1
  388. package/dist/esm/six-item-picker.entry.js +59 -78
  389. package/dist/esm/six-item-picker.entry.js.map +1 -1
  390. package/dist/esm/six-language-switcher.entry.js +2 -2
  391. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  392. package/dist/esm/six-layout-grid.entry.js +5 -3
  393. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  394. package/dist/esm/six-main-container.entry.js +1 -1
  395. package/dist/esm/six-main-container.entry.js.map +1 -1
  396. package/dist/esm/six-menu-divider.entry.js +1 -1
  397. package/dist/esm/six-menu-item.entry.js +9 -7
  398. package/dist/esm/six-menu-item.entry.js.map +1 -1
  399. package/dist/esm/six-menu-label.entry.js +1 -1
  400. package/dist/esm/six-picto.entry.js +5 -2
  401. package/dist/esm/six-picto.entry.js.map +1 -1
  402. package/dist/esm/six-progress-bar.entry.js +1 -1
  403. package/dist/esm/six-progress-ring.entry.js +4 -4
  404. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  405. package/dist/esm/six-radio.entry.js +1 -1
  406. package/dist/esm/six-range.entry.js +4 -4
  407. package/dist/esm/six-root.entry.js +2 -2
  408. package/dist/esm/six-root.entry.js.map +1 -1
  409. package/dist/esm/six-search-field.entry.js +11 -6
  410. package/dist/esm/six-search-field.entry.js.map +1 -1
  411. package/dist/esm/six-select.entry.js +135 -188
  412. package/dist/esm/six-select.entry.js.map +1 -1
  413. package/dist/esm/six-sidebar-item-group.entry.js +10 -6
  414. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  415. package/dist/esm/six-sidebar-item.entry.js +1 -1
  416. package/dist/esm/six-sidebar.entry.js +40 -19
  417. package/dist/esm/six-sidebar.entry.js.map +1 -1
  418. package/dist/esm/six-spinner.entry.js +1 -1
  419. package/dist/esm/six-spinner.entry.js.map +1 -1
  420. package/dist/esm/six-switch.entry.js +51 -45
  421. package/dist/esm/six-switch.entry.js.map +1 -1
  422. package/dist/esm/six-tab-group.entry.js +131 -113
  423. package/dist/esm/six-tab-group.entry.js.map +1 -1
  424. package/dist/esm/six-tab-panel.entry.js +2 -2
  425. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  426. package/dist/esm/six-tab.entry.js +5 -3
  427. package/dist/esm/six-tab.entry.js.map +1 -1
  428. package/dist/esm/six-tag.entry.js +5 -8
  429. package/dist/esm/six-tag.entry.js.map +1 -1
  430. package/dist/esm/six-textarea.entry.js +4 -4
  431. package/dist/esm/six-tile.entry.js +14 -17
  432. package/dist/esm/six-tile.entry.js.map +1 -1
  433. package/dist/esm/six-timepicker.entry.js +155 -201
  434. package/dist/esm/six-timepicker.entry.js.map +1 -1
  435. package/dist/esm/six-tooltip.entry.js +54 -57
  436. package/dist/esm/six-tooltip.entry.js.map +1 -1
  437. package/dist/esm/{slot-6f3984c7.js → slot-2e64df19.js} +11 -10
  438. package/dist/esm/slot-2e64df19.js.map +1 -0
  439. package/dist/esm/ui-library.js +3 -3
  440. package/dist/types/components/six-alert/six-alert.d.ts +5 -7
  441. package/dist/types/components/six-avatar/six-avatar.d.ts +1 -2
  442. package/dist/types/components/six-badge/six-badge.d.ts +0 -1
  443. package/dist/types/components/six-button/six-button.d.ts +8 -9
  444. package/dist/types/components/six-checkbox/six-checkbox.d.ts +1 -1
  445. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  446. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  447. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  448. package/dist/types/components/six-datepicker/six-datepicker.d.ts +34 -39
  449. package/dist/types/components/six-details/six-details.d.ts +12 -12
  450. package/dist/types/components/six-dialog/six-dialog.d.ts +12 -13
  451. package/dist/types/components/six-drawer/six-drawer.d.ts +12 -13
  452. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -32
  453. package/dist/types/components/six-error-page/six-error-page.d.ts +1 -1
  454. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +3 -3
  455. package/dist/types/components/six-file-upload/six-file-upload.d.ts +11 -11
  456. package/dist/types/components/six-form/six-form.d.ts +7 -16
  457. package/dist/types/components/six-group-label/six-group-label.d.ts +4 -4
  458. package/dist/types/components/six-header/six-header.d.ts +16 -27
  459. package/dist/types/components/six-icon-button/six-icon-button.d.ts +4 -4
  460. package/dist/types/components/six-input/six-input.d.ts +3 -3
  461. package/dist/types/components/six-item-picker/six-item-picker.d.ts +13 -16
  462. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +1 -1
  463. package/dist/types/components/six-menu/six-menu.d.ts +10 -11
  464. package/dist/types/components/six-menu-item/six-menu-item.d.ts +6 -6
  465. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +2 -2
  466. package/dist/types/components/six-radio/six-radio.d.ts +1 -1
  467. package/dist/types/components/six-root/six-root.d.ts +3 -3
  468. package/dist/types/components/six-search-field/six-search-field.d.ts +4 -5
  469. package/dist/types/components/six-select/six-select.d.ts +15 -12
  470. package/dist/types/components/six-sidebar/six-sidebar.d.ts +5 -5
  471. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +7 -6
  472. package/dist/types/components/six-spinner/six-spinner.d.ts +2 -2
  473. package/dist/types/components/six-switch/six-switch.d.ts +10 -11
  474. package/dist/types/components/six-tab/six-tab.d.ts +3 -3
  475. package/dist/types/components/six-tab-group/six-tab-group.d.ts +20 -21
  476. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +1 -1
  477. package/dist/types/components/six-tag/six-tag.d.ts +1 -3
  478. package/dist/types/components/six-textarea/six-textarea.d.ts +3 -3
  479. package/dist/types/components/six-tile/six-tile.d.ts +2 -3
  480. package/dist/types/components/six-timepicker/six-timepicker.d.ts +21 -33
  481. package/dist/types/components/six-tooltip/six-tooltip.d.ts +19 -21
  482. package/dist/types/components.d.ts +110 -98
  483. package/dist/types/functional-components/form-control/form-control.d.ts +5 -4
  484. package/dist/types/testUtil/delay.d.ts +1 -1
  485. package/dist/types/utils/date-util.d.ts +17 -10
  486. package/dist/types/utils/event-listeners.d.ts +1 -1
  487. package/dist/types/utils/execution-control.d.ts +1 -3
  488. package/dist/types/utils/modal.d.ts +2 -2
  489. package/dist/types/utils/popover.d.ts +5 -5
  490. package/dist/types/utils/popup.d.ts +9 -0
  491. package/dist/types/utils/slot.d.ts +2 -7
  492. package/dist/types/utils/tabbable.d.ts +1 -1
  493. package/dist/types/utils/time.util.d.ts +18 -9
  494. package/dist/types/utils/type-check.d.ts +3 -4
  495. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +1 -1
  496. package/dist/ui-library/p-02d5a6d8.js +2 -0
  497. package/dist/ui-library/p-02d5a6d8.js.map +1 -0
  498. package/dist/ui-library/p-053d6de8.entry.js +2 -0
  499. package/dist/ui-library/p-053d6de8.entry.js.map +1 -0
  500. package/dist/ui-library/p-0cc08e91.js +2 -0
  501. package/dist/ui-library/p-0cc08e91.js.map +1 -0
  502. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-0eee4c41.entry.js} +2 -2
  503. package/dist/ui-library/p-0eee4c41.entry.js.map +1 -0
  504. package/dist/ui-library/p-0fe78f9b.js +2 -0
  505. package/dist/ui-library/p-0fe78f9b.js.map +1 -0
  506. package/dist/ui-library/{p-ac4f4d45.js → p-187fbba0.js} +3 -3
  507. package/dist/ui-library/p-187fbba0.js.map +1 -0
  508. package/dist/ui-library/p-25b42655.entry.js +2 -0
  509. package/dist/ui-library/p-25b42655.entry.js.map +1 -0
  510. package/dist/ui-library/p-271ba152.entry.js +2 -0
  511. package/dist/ui-library/p-271ba152.entry.js.map +1 -0
  512. package/dist/ui-library/{p-6d75f216.entry.js → p-27c4ee88.entry.js} +2 -2
  513. package/dist/ui-library/{p-f604e067.entry.js → p-2a36b7d0.entry.js} +2 -2
  514. package/dist/ui-library/p-2a8ad91b.entry.js +2 -0
  515. package/dist/ui-library/p-2a8ad91b.entry.js.map +1 -0
  516. package/dist/ui-library/{p-97cc839c.entry.js → p-30e0cdce.entry.js} +2 -2
  517. package/dist/ui-library/p-30e0cdce.entry.js.map +1 -0
  518. package/dist/ui-library/{p-63703ba3.entry.js → p-3a47c8ad.entry.js} +2 -2
  519. package/dist/ui-library/{p-63703ba3.entry.js.map → p-3a47c8ad.entry.js.map} +1 -1
  520. package/dist/ui-library/p-3a4815cb.entry.js +2 -0
  521. package/dist/ui-library/p-3a4815cb.entry.js.map +1 -0
  522. package/dist/ui-library/p-3b71cac4.entry.js +2 -0
  523. package/dist/ui-library/p-3b71cac4.entry.js.map +1 -0
  524. package/dist/ui-library/{p-5a25d6fb.entry.js → p-3d4a2e03.entry.js} +2 -2
  525. package/dist/ui-library/{p-73597d13.entry.js → p-3e4b9341.entry.js} +2 -2
  526. package/dist/ui-library/{p-73597d13.entry.js.map → p-3e4b9341.entry.js.map} +1 -1
  527. package/dist/ui-library/{p-3c635d0a.entry.js → p-41f0b6ff.entry.js} +2 -2
  528. package/dist/ui-library/p-435242a8.entry.js +2 -0
  529. package/dist/ui-library/p-435242a8.entry.js.map +1 -0
  530. package/dist/ui-library/{p-19364560.entry.js → p-5084ca7c.entry.js} +2 -2
  531. package/dist/ui-library/{p-19364560.entry.js.map → p-5084ca7c.entry.js.map} +1 -1
  532. package/dist/ui-library/p-5b3e6eb7.entry.js +2 -0
  533. package/dist/ui-library/p-5b3e6eb7.entry.js.map +1 -0
  534. package/dist/ui-library/{p-8a970a40.entry.js → p-5c1dd25a.entry.js} +2 -2
  535. package/dist/ui-library/p-5c1dd25a.entry.js.map +1 -0
  536. package/dist/ui-library/p-5c60227f.entry.js +2 -0
  537. package/dist/ui-library/p-5c60227f.entry.js.map +1 -0
  538. package/dist/ui-library/p-5dc40a6a.entry.js +2 -0
  539. package/dist/ui-library/p-5dc40a6a.entry.js.map +1 -0
  540. package/dist/ui-library/{p-dd3c76f1.entry.js → p-649017db.entry.js} +2 -2
  541. package/dist/ui-library/p-713684c7.entry.js +2 -0
  542. package/dist/ui-library/p-713684c7.entry.js.map +1 -0
  543. package/dist/ui-library/{p-c30f9e0b.entry.js → p-73325eec.entry.js} +2 -2
  544. package/dist/ui-library/p-73325eec.entry.js.map +1 -0
  545. package/dist/ui-library/p-7639c68e.entry.js +2 -0
  546. package/dist/ui-library/p-7639c68e.entry.js.map +1 -0
  547. package/dist/ui-library/p-764f56dd.entry.js +2 -0
  548. package/dist/ui-library/p-764f56dd.entry.js.map +1 -0
  549. package/dist/ui-library/{p-e19a6c95.entry.js → p-886a35ee.entry.js} +2 -2
  550. package/dist/ui-library/p-8cf72af6.js +2 -0
  551. package/dist/ui-library/p-8cf72af6.js.map +1 -0
  552. package/dist/ui-library/p-8d6f4311.entry.js +2 -0
  553. package/dist/ui-library/p-8d6f4311.entry.js.map +1 -0
  554. package/dist/ui-library/p-90c2dc30.entry.js +2 -0
  555. package/dist/ui-library/p-90c2dc30.entry.js.map +1 -0
  556. package/dist/ui-library/{p-97323ad7.entry.js → p-965fa6a6.entry.js} +2 -2
  557. package/dist/ui-library/p-98234e3f.entry.js +2 -0
  558. package/dist/ui-library/p-98234e3f.entry.js.map +1 -0
  559. package/dist/ui-library/{p-820c23f0.entry.js → p-9b9c3afc.entry.js} +2 -2
  560. package/dist/ui-library/{p-394a2a12.entry.js → p-9c34eab7.entry.js} +2 -2
  561. package/dist/ui-library/{p-394a2a12.entry.js.map → p-9c34eab7.entry.js.map} +1 -1
  562. package/dist/ui-library/p-9e0c386f.entry.js +2 -0
  563. package/dist/ui-library/p-9e0c386f.entry.js.map +1 -0
  564. package/dist/ui-library/p-9f8b6144.entry.js +2 -0
  565. package/dist/ui-library/p-9f8b6144.entry.js.map +1 -0
  566. package/dist/ui-library/p-a3cc0521.entry.js +2 -0
  567. package/dist/ui-library/p-a3cc0521.entry.js.map +1 -0
  568. package/dist/ui-library/{p-21859bca.entry.js → p-a5143b8d.entry.js} +2 -2
  569. package/dist/ui-library/{p-097cced4.entry.js → p-aa6f71e1.entry.js} +2 -2
  570. package/dist/ui-library/{p-097cced4.entry.js.map → p-aa6f71e1.entry.js.map} +1 -1
  571. package/dist/ui-library/p-abb98245.entry.js +2 -0
  572. package/dist/ui-library/p-abb98245.entry.js.map +1 -0
  573. package/dist/ui-library/p-b183e44f.js +2 -0
  574. package/dist/ui-library/p-b183e44f.js.map +1 -0
  575. package/dist/ui-library/{p-19b50b5a.entry.js → p-b27f496f.entry.js} +2 -2
  576. package/dist/ui-library/p-b27f496f.entry.js.map +1 -0
  577. package/dist/ui-library/{p-4f8394d7.js → p-ba74863a.js} +2 -2
  578. package/dist/ui-library/p-ba74863a.js.map +1 -0
  579. package/dist/ui-library/p-bf4a35ec.js +2 -0
  580. package/dist/ui-library/p-bf4a35ec.js.map +1 -0
  581. package/dist/ui-library/{p-d5633a29.entry.js → p-c07adc21.entry.js} +2 -2
  582. package/dist/ui-library/p-c07adc21.entry.js.map +1 -0
  583. package/dist/ui-library/p-c700e3eb.entry.js +2 -0
  584. package/dist/ui-library/p-c700e3eb.entry.js.map +1 -0
  585. package/dist/ui-library/p-cab99e54.entry.js +2 -0
  586. package/dist/ui-library/p-cab99e54.entry.js.map +1 -0
  587. package/dist/ui-library/{p-baa03951.entry.js → p-cf1133a0.entry.js} +2 -2
  588. package/dist/ui-library/p-cf1d36c0.entry.js +2 -0
  589. package/dist/ui-library/p-cf1d36c0.entry.js.map +1 -0
  590. package/dist/ui-library/p-d87a6f4d.js +2 -0
  591. package/dist/ui-library/p-d87a6f4d.js.map +1 -0
  592. package/dist/ui-library/{p-c349d1d4.entry.js → p-d8c97778.entry.js} +2 -2
  593. package/dist/ui-library/p-d8c97778.entry.js.map +1 -0
  594. package/dist/ui-library/p-deb01174.entry.js +2 -0
  595. package/dist/ui-library/p-deb01174.entry.js.map +1 -0
  596. package/dist/ui-library/{p-af793d04.entry.js → p-e5ba13d2.entry.js} +2 -2
  597. package/dist/ui-library/p-e5ba13d2.entry.js.map +1 -0
  598. package/dist/ui-library/{p-611e1978.entry.js → p-f29ba9cb.entry.js} +2 -2
  599. package/dist/ui-library/{p-611e1978.entry.js.map → p-f29ba9cb.entry.js.map} +1 -1
  600. package/dist/ui-library/{p-9328e5bc.entry.js → p-f66eb76c.entry.js} +2 -2
  601. package/dist/ui-library/p-f66eb76c.entry.js.map +1 -0
  602. package/dist/ui-library/p-f974a184.entry.js +2 -0
  603. package/dist/ui-library/p-f974a184.entry.js.map +1 -0
  604. package/dist/ui-library/{p-b0e5658f.entry.js → p-fb8d0734.entry.js} +2 -2
  605. package/dist/ui-library/p-fb8d0734.entry.js.map +1 -0
  606. package/dist/ui-library/ui-library.esm.js +1 -1
  607. package/dist/ui-library/ui-library.esm.js.map +1 -1
  608. package/package.json +1 -1
  609. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  610. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  611. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  612. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  613. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  614. package/dist/cjs/modal-48d42228.js.map +0 -1
  615. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  616. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  617. package/dist/cjs/slot-ad537f24.js.map +0 -1
  618. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  619. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  620. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  621. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  622. package/dist/collection/utils/as-array.js +0 -2
  623. package/dist/collection/utils/as-array.js.map +0 -1
  624. package/dist/collection/utils/matchers.js +0 -3
  625. package/dist/collection/utils/matchers.js.map +0 -1
  626. package/dist/collection/utils/testing.js +0 -39
  627. package/dist/collection/utils/testing.js.map +0 -1
  628. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  629. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  630. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  631. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  632. package/dist/esm/index-5c0f6628.js.map +0 -1
  633. package/dist/esm/modal-5ebdc320.js.map +0 -1
  634. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  635. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  636. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  637. package/dist/esm/slot-6f3984c7.js.map +0 -1
  638. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  639. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  640. package/dist/types/utils/as-array.d.ts +0 -1
  641. package/dist/types/utils/matchers.d.ts +0 -2
  642. package/dist/types/utils/popper.d.ts +0 -33
  643. package/dist/types/utils/testing.d.ts +0 -2
  644. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  645. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  646. package/dist/ui-library/p-0786fa7c.js +0 -2
  647. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  648. package/dist/ui-library/p-163f2bb0.entry.js +0 -2
  649. package/dist/ui-library/p-163f2bb0.entry.js.map +0 -1
  650. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  651. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  652. package/dist/ui-library/p-18ea0c56.js +0 -2
  653. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  654. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  655. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  656. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  657. package/dist/ui-library/p-308261c4.entry.js +0 -2
  658. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  659. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  660. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  661. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  662. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  663. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  664. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  665. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  666. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  667. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  668. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  669. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  670. package/dist/ui-library/p-6433c0da.entry.js +0 -2
  671. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  672. package/dist/ui-library/p-79eee01b.js +0 -2
  673. package/dist/ui-library/p-79eee01b.js.map +0 -1
  674. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  675. package/dist/ui-library/p-90824648.entry.js +0 -2
  676. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  677. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  678. package/dist/ui-library/p-97cc839c.entry.js.map +0 -1
  679. package/dist/ui-library/p-9a860acc.js +0 -2
  680. package/dist/ui-library/p-9a860acc.js.map +0 -1
  681. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  682. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  683. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  684. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  685. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  686. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  687. package/dist/ui-library/p-b1e66136.js +0 -2
  688. package/dist/ui-library/p-b1e66136.js.map +0 -1
  689. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  690. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  691. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  692. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  693. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  694. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  695. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  696. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  697. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  698. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  699. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  700. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  701. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  702. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  703. package/dist/ui-library/p-d12c6092.js +0 -2
  704. package/dist/ui-library/p-d12c6092.js.map +0 -1
  705. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  706. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  707. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  708. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  709. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  710. package/dist/ui-library/p-f4938771.entry.js +0 -2
  711. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  712. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  713. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  714. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  715. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  716. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  717. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  718. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  719. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
  720. /package/dist/ui-library/{p-6d75f216.entry.js.map → p-27c4ee88.entry.js.map} +0 -0
  721. /package/dist/ui-library/{p-f604e067.entry.js.map → p-2a36b7d0.entry.js.map} +0 -0
  722. /package/dist/ui-library/{p-5a25d6fb.entry.js.map → p-3d4a2e03.entry.js.map} +0 -0
  723. /package/dist/ui-library/{p-3c635d0a.entry.js.map → p-41f0b6ff.entry.js.map} +0 -0
  724. /package/dist/ui-library/{p-dd3c76f1.entry.js.map → p-649017db.entry.js.map} +0 -0
  725. /package/dist/ui-library/{p-e19a6c95.entry.js.map → p-886a35ee.entry.js.map} +0 -0
  726. /package/dist/ui-library/{p-97323ad7.entry.js.map → p-965fa6a6.entry.js.map} +0 -0
  727. /package/dist/ui-library/{p-820c23f0.entry.js.map → p-9b9c3afc.entry.js.map} +0 -0
  728. /package/dist/ui-library/{p-21859bca.entry.js.map → p-a5143b8d.entry.js.map} +0 -0
  729. /package/dist/ui-library/{p-baa03951.entry.js.map → p-cf1133a0.entry.js.map} +0 -0
@@ -2,47 +2,22 @@ import { h } from '@stencil/core';
2
2
  import { ItemPickerPaddingDirection, ItemPickerType } from './types';
3
3
  import { debounce, DEFAULT_DEBOUNCE_FAST, DEFAULT_DEBOUNCE_INSANELY_FAST } from '../../utils/execution-control';
4
4
  import { EventListeners } from '../../utils/event-listeners';
5
- const A_CHARCODE = 65;
6
- const NUMBER_OF_LETTERS = 26;
7
- const CAPITAL_ALPHABET = (() => {
8
- const alphabetCodes = Array.from(Array(NUMBER_OF_LETTERS)).map((_, i) => i + A_CHARCODE);
9
- const letterIndexes = {};
10
- const alphabet = alphabetCodes.map((charCode, index) => {
11
- const character = String.fromCharCode(charCode);
12
- letterIndexes[character] = index;
13
- return character;
14
- });
15
- return { alphabet, letterIndexes };
16
- })();
17
- const LOWERCASE_ALPHABET = (() => {
18
- const alphabet = [];
19
- const letterIndexes = {};
20
- for (let i = 0; i < CAPITAL_ALPHABET.alphabet.length; i++) {
21
- const lowercaseCharacter = CAPITAL_ALPHABET.alphabet[i].toLowerCase();
22
- letterIndexes[lowercaseCharacter] = alphabet.length;
23
- alphabet.push(lowercaseCharacter);
24
- }
25
- return { alphabet, letterIndexes };
26
- })();
27
- const ALPHABET = (() => {
28
- const alphabet = [];
29
- const letterIndexes = {};
30
- for (let i = 0; i < CAPITAL_ALPHABET.alphabet.length; i++) {
31
- const capitalCharacter = CAPITAL_ALPHABET.alphabet[i];
32
- letterIndexes[capitalCharacter] = alphabet.length;
33
- alphabet.push(capitalCharacter);
34
- const lowerCharacter = LOWERCASE_ALPHABET.alphabet[i];
35
- letterIndexes[lowerCharacter] = alphabet.length;
36
- alphabet.push(lowerCharacter);
37
- }
38
- return { alphabet, letterIndexes };
39
- })();
5
+ const uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
6
+ const upperAndLowercaseLetters = [...uppercaseLetters].flatMap((c) => [c, c.toLowerCase()]);
7
+ const ALPHABET = {
8
+ alphabet: upperAndLowercaseLetters,
9
+ letterIndexes: Object.fromEntries(upperAndLowercaseLetters.map((c, i) => [c, i])),
10
+ };
11
+ const CAPITAL_ALPHABET = {
12
+ alphabet: [...uppercaseLetters].flatMap((c) => [c]),
13
+ letterIndexes: Object.fromEntries([...uppercaseLetters].map((c, i) => [c, i])),
14
+ };
15
+ const LOWERCASE_ALPHABET = {
16
+ alphabet: [...uppercaseLetters.toLowerCase()].flatMap((c) => [c]),
17
+ letterIndexes: Object.fromEntries([...uppercaseLetters.toLowerCase()].map((c, i) => [c, i])),
18
+ };
40
19
  const createItemIndexes = (arr) => {
41
- const itemIndexes = {};
42
- for (let i = 0; i < (arr === null || arr === void 0 ? void 0 : arr.length); i++) {
43
- itemIndexes[arr[i]] = i;
44
- }
45
- return itemIndexes;
20
+ return Object.fromEntries([...arr].map((c, i) => [c, i]));
46
21
  };
47
22
  const TAG = `[SIX-ITEM-PICKER]`;
48
23
  const subtract = (a, b) => a - b;
@@ -78,7 +53,7 @@ export class SixItemPicker {
78
53
  this.interval = DEFAULT_DEBOUNCE_INSANELY_FAST;
79
54
  this.debounce = DEFAULT_DEBOUNCE_FAST;
80
55
  this._items = [];
81
- this._itemIndexes = undefined;
56
+ this._itemIndexes = {};
82
57
  }
83
58
  handleValueChange() {
84
59
  this.setup();
@@ -118,11 +93,7 @@ export class SixItemPicker {
118
93
  }
119
94
  }
120
95
  setUpStringItems() {
121
- this._items = this.getItems();
122
- if (!this._items) {
123
- console.warn(`${TAG}: abort setup because no items were found.`);
124
- return;
125
- }
96
+ this._items = this.getStringItems();
126
97
  this._itemIndexes = this.getItemIndexes();
127
98
  const itemsMissValue = this._items.find((i) => String(i) === String(this.value)) === undefined;
128
99
  if (itemsMissValue) {
@@ -149,23 +120,39 @@ export class SixItemPicker {
149
120
  getLastStringItem() {
150
121
  return this._items[this._items.length - 1];
151
122
  }
152
- getItems() {
153
- return {
154
- [ItemPickerType.LETTER]: ALPHABET.alphabet,
155
- [ItemPickerType.CAPITAL_LETTER]: CAPITAL_ALPHABET.alphabet,
156
- [ItemPickerType.LOWER_LETTER]: LOWERCASE_ALPHABET.alphabet,
157
- [ItemPickerType.CUSTOM]: this.items,
158
- }[this.type];
123
+ getStringItems() {
124
+ switch (this.type) {
125
+ case ItemPickerType.NUMBER:
126
+ console.warn(`${TAG}: unexpected type ${this.type}`);
127
+ return [];
128
+ case ItemPickerType.LETTER:
129
+ return ALPHABET.alphabet;
130
+ case ItemPickerType.CAPITAL_LETTER:
131
+ return CAPITAL_ALPHABET.alphabet;
132
+ case ItemPickerType.LOWER_LETTER:
133
+ return LOWERCASE_ALPHABET.alphabet;
134
+ case ItemPickerType.CUSTOM:
135
+ if (this.items == null || this.items.length === 0) {
136
+ console.warn(`${TAG}: no items defined for type ${this.type}`);
137
+ return [];
138
+ }
139
+ return this.items;
140
+ }
159
141
  }
160
142
  getItemIndexes() {
161
- if (this.type === ItemPickerType.CUSTOM) {
162
- return createItemIndexes(this.items);
143
+ switch (this.type) {
144
+ case ItemPickerType.NUMBER:
145
+ console.warn(`${TAG}: unexpected type ${this.type}`);
146
+ return {};
147
+ case ItemPickerType.LETTER:
148
+ return ALPHABET.letterIndexes;
149
+ case ItemPickerType.CAPITAL_LETTER:
150
+ return CAPITAL_ALPHABET.letterIndexes;
151
+ case ItemPickerType.LOWER_LETTER:
152
+ return LOWERCASE_ALPHABET.letterIndexes;
153
+ case ItemPickerType.CUSTOM:
154
+ return createItemIndexes(this._items);
163
155
  }
164
- return {
165
- [ItemPickerType.LETTER]: ALPHABET.letterIndexes,
166
- [ItemPickerType.CAPITAL_LETTER]: CAPITAL_ALPHABET.letterIndexes,
167
- [ItemPickerType.LOWER_LETTER]: LOWERCASE_ALPHABET.letterIndexes,
168
- }[this.type];
169
156
  }
170
157
  previousItem() {
171
158
  if (this.isNumber()) {
@@ -185,13 +172,13 @@ export class SixItemPicker {
185
172
  });
186
173
  }
187
174
  previousStringItem() {
188
- const value = this.value;
189
- const minLetter = this.min;
175
+ const value = String(this.value);
176
+ const minLetter = String(this.min);
190
177
  this.changeValue({
191
178
  isNextItemAllowed: () => minLetter === undefined || this.getStringItemIndex(value) > this.getStringItemIndex(minLetter),
192
179
  getNextItem: () => this.getNextItemByOperation(subtract),
193
- getRoundtripItem: () => this.max,
194
- isRoundtripPossible: () => this.max === undefined && this.roundtrip,
180
+ getRoundtripItem: () => String(this.max),
181
+ isRoundtripPossible: () => this.max == null && this.roundtrip,
195
182
  });
196
183
  }
197
184
  nextItem() {
@@ -215,17 +202,17 @@ export class SixItemPicker {
215
202
  return this._itemIndexes[char];
216
203
  }
217
204
  nextStringItem() {
218
- const value = this.value;
219
- const maxLetter = this.max;
205
+ const value = String(this.value);
206
+ const maxLetter = String(this.max);
220
207
  this.changeValue({
221
208
  isNextItemAllowed: () => maxLetter === undefined || this.getStringItemIndex(value) < this.getStringItemIndex(maxLetter),
222
209
  getNextItem: () => this.getNextItemByOperation(add),
223
- getRoundtripItem: () => this.min,
210
+ getRoundtripItem: () => String(this.min),
224
211
  isRoundtripPossible: () => this.min === undefined && this.roundtrip,
225
212
  });
226
213
  }
227
214
  getNextItemByOperation(operation) {
228
- const value = this.value;
215
+ const value = String(this.value);
229
216
  const nextIndexCandidate = operation(this.getStringItemIndex(value), this.step);
230
217
  const numberOfItems = this._items.length;
231
218
  const nextIndex = ((nextIndexCandidate % numberOfItems) + numberOfItems) % numberOfItems;
@@ -250,7 +237,7 @@ export class SixItemPicker {
250
237
  return this.type === ItemPickerType.NUMBER;
251
238
  }
252
239
  isInvalidNumber() {
253
- return this.value === '' || !!isNaN(this.value);
240
+ return this.value === '' || isNaN(this.value);
254
241
  }
255
242
  isNextDisabled() {
256
243
  if (this.roundtrip) {
@@ -260,9 +247,6 @@ export class SixItemPicker {
260
247
  return this.isNextNumberDisabled();
261
248
  }
262
249
  else {
263
- if (!this._itemIndexes) {
264
- return true;
265
- }
266
250
  return this._itemIndexes[String(this.value)] + this.step > this._itemIndexes[String(this.max)];
267
251
  }
268
252
  }
@@ -278,9 +262,6 @@ export class SixItemPicker {
278
262
  return this.isPreviousNumberDisabled();
279
263
  }
280
264
  else {
281
- if (!this._itemIndexes) {
282
- return true;
283
- }
284
265
  return this._itemIndexes[String(this.value)] - this.step < this._itemIndexes[String(this.min)];
285
266
  }
286
267
  }
@@ -402,11 +383,11 @@ export class SixItemPicker {
402
383
  "mutable": true,
403
384
  "complexType": {
404
385
  "original": "number | string",
405
- "resolved": "number | string",
386
+ "resolved": "number | string | undefined",
406
387
  "references": {}
407
388
  },
408
389
  "required": false,
409
- "optional": false,
390
+ "optional": true,
410
391
  "docs": {
411
392
  "tags": [],
412
393
  "text": "The minimum value allowed to pick."
@@ -419,11 +400,11 @@ export class SixItemPicker {
419
400
  "mutable": true,
420
401
  "complexType": {
421
402
  "original": "number | string",
422
- "resolved": "number | string",
403
+ "resolved": "number | string | undefined",
423
404
  "references": {}
424
405
  },
425
406
  "required": false,
426
- "optional": false,
407
+ "optional": true,
427
408
  "docs": {
428
409
  "tags": [],
429
410
  "text": "The maximum value allowed to pick."
@@ -472,11 +453,11 @@ export class SixItemPicker {
472
453
  "mutable": false,
473
454
  "complexType": {
474
455
  "original": "string[]",
475
- "resolved": "string[]",
456
+ "resolved": "string[] | undefined",
476
457
  "references": {}
477
458
  },
478
459
  "required": false,
479
- "optional": false,
460
+ "optional": true,
480
461
  "docs": {
481
462
  "tags": [],
482
463
  "text": "Defines a custom list of items you can iterate through"
@@ -553,7 +534,7 @@ export class SixItemPicker {
553
534
  "optional": false,
554
535
  "docs": {
555
536
  "tags": [],
556
- "text": "Defines whether the padding should be before or after the value. You can either use 'before' or 'after'. By default\nbefore is selected"
537
+ "text": "Defines whether the padding should be before or after the value. You can either use 'before' or 'after'. By default,\nbefore is selected"
557
538
  },
558
539
  "attribute": "padding-direction",
559
540
  "reflect": false,
@@ -634,7 +615,7 @@ export class SixItemPicker {
634
615
  },
635
616
  "complexType": {
636
617
  "original": "SixItemPickerChangePayload",
637
- "resolved": "number | string",
618
+ "resolved": "boolean | number | string",
638
619
  "references": {
639
620
  "SixItemPickerChangePayload": {
640
621
  "location": "local",
@@ -654,7 +635,7 @@ export class SixItemPicker {
654
635
  },
655
636
  "complexType": {
656
637
  "original": "SixItemPickerChangePayload",
657
- "resolved": "number | string",
638
+ "resolved": "boolean | number | string",
658
639
  "references": {
659
640
  "SixItemPickerChangePayload": {
660
641
  "location": "local",
@@ -1 +1 @@
1
- {"version":3,"file":"six-item-picker.js","sourceRoot":"","sources":["../../../src/components/six-item-picker/six-item-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
1
+ {"version":3,"file":"six-item-picker.js","sourceRoot":"","sources":["../../../src/components/six-item-picker/six-item-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
@@ -46,7 +46,7 @@ export class SixLanguageSwitcher {
46
46
  render() {
47
47
  return (h("div", { part: "container", class: "language-switcher__container" }, this.languages.map((lang, index) => {
48
48
  const language = typeof lang === 'string' ? lang : lang.key;
49
- return (h("div", { onClick: this.handleLanguageSwitching(language, lang.value) }, h("span", { part: "label", class: {
49
+ return (h("div", { onClick: this.handleLanguageSwitching(language, typeof lang === 'string' ? lang : lang.value) }, h("span", { part: "label", class: {
50
50
  'language-switcher__label': true,
51
51
  'language-switcher__label--selected': this.selected === language,
52
52
  } }, language), index < this.languages.length - 1 && (h("span", { part: "separator", class: "language-switcher__separator" }, "/"))));
@@ -71,7 +71,7 @@ export class SixLanguageSwitcher {
71
71
  "mutable": true,
72
72
  "complexType": {
73
73
  "original": "string",
74
- "resolved": "string",
74
+ "resolved": "string | undefined",
75
75
  "references": {}
76
76
  },
77
77
  "required": false,
@@ -1 +1 @@
1
- {"version":3,"file":"six-language-switcher.js","sourceRoot":"","sources":["../../../src/components/six-language-switcher/six-language-switcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAa/E,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE7C;;;;;;GAMG;AAMH,MAAM,OAAO,mBAAmB;;IAqCtB,4BAAuB,GAAG,CAAC,WAAmB,EAAE,aAAsB,EAAE,EAAE,CAAC,GAAG,EAAE;MACtF,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;IAC9B,CAAC,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;EAChC,CAAC;EAMD,iBAAiB;IACf,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;MAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;EACH,CAAC;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;EACH,CAAC;EAWD,MAAM;IACJ,OAAO,CACL,WAAK,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,8BAA8B,IACvD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;MAClC,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;MAC5D,OAAO,CACL,WAAK,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC;QAC9D,YACE,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE;YACL,0BAA0B,EAAE,IAAI;YAChC,oCAAoC,EAAE,IAAI,CAAC,QAAQ,KAAK,QAAQ;WACjE,IAEA,QAAQ,CACJ;QACN,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CACpC,YAAM,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,8BAA8B,QAEpD,CACR,CACG,CACP,CAAC;IACJ,CAAC,CAAC,CACE,CACP,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
1
+ {"version":3,"file":"six-language-switcher.js","sourceRoot":"","sources":["../../../src/components/six-language-switcher/six-language-switcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAa/E,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE7C;;;;;;GAMG;AAMH,MAAM,OAAO,mBAAmB;;IAqCtB,4BAAuB,GAAG,CAAC,WAAmB,EAAE,aAAsB,EAAE,EAAE,CAAC,GAAG,EAAE;MACtF,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;IAC9B,CAAC,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;EAChC,CAAC;EAMD,iBAAiB;IACf,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;MAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;EACH,CAAC;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;EACH,CAAC;EAWD,MAAM;IACJ,OAAO,CACL,WAAK,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,8BAA8B,IACvD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;MAClC,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;MAC5D,OAAO,CACL,WAAK,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAChG,YACE,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE;YACL,0BAA0B,EAAE,IAAI;YAChC,oCAAoC,EAAE,IAAI,CAAC,QAAQ,KAAK,QAAQ;WACjE,IAEA,QAAQ,CACJ;QACN,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CACpC,YAAM,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,8BAA8B,QAEpD,CACR,CACG,CACP,CAAC;IACJ,CAAC,CAAC,CACE,CACP,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
@@ -1,4 +1,4 @@
1
- import { Host, h } from '@stencil/core';
1
+ import { h, Host } from '@stencil/core';
2
2
  /**
3
3
  * @since 1.01
4
4
  * @status stable
@@ -10,8 +10,10 @@ export class SixLayoutGrid {
10
10
  this.columns = undefined;
11
11
  }
12
12
  handleColumnsChange() {
13
- const columns = this.columns ? this.columns : 12;
14
- this.host.style.setProperty('--no-of-columns', String(columns));
13
+ if (typeof this.columns !== 'number' || this.columns === 0) {
14
+ this.columns = 12;
15
+ }
16
+ this.host.style.setProperty('--no-of-columns', String(this.columns));
15
17
  }
16
18
  componentWillLoad() {
17
19
  this.handleColumnsChange();
@@ -34,15 +36,15 @@ export class SixLayoutGrid {
34
36
  static get properties() {
35
37
  return {
36
38
  "columns": {
37
- "type": "any",
38
- "mutable": false,
39
+ "type": "number",
40
+ "mutable": true,
39
41
  "complexType": {
40
- "original": "any",
41
- "resolved": "any",
42
+ "original": "number",
43
+ "resolved": "number | undefined",
42
44
  "references": {}
43
45
  },
44
46
  "required": false,
45
- "optional": false,
47
+ "optional": true,
46
48
  "docs": {
47
49
  "tags": [],
48
50
  "text": "Set the number of grid columns"
@@ -1 +1 @@
1
- {"version":3,"file":"six-layout-grid.js","sourceRoot":"","sources":["../../../src/components/six-layout-grid/six-layout-grid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEzE;;;;;GAKG;AAOH,MAAM,OAAO,aAAa;;;;EAOxB,mBAAmB;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;EAClE,CAAC;EAED,iBAAiB;IACf,IAAI,CAAC,mBAAmB,EAAE,CAAC;EAC7B,CAAC;EAED,MAAM;IACJ,OAAO,CACL,EAAC,IAAI;MACH,eAAQ,CACH,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
1
+ {"version":3,"file":"six-layout-grid.js","sourceRoot":"","sources":["../../../src/components/six-layout-grid/six-layout-grid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEzE;;;;;GAKG;AAOH,MAAM,OAAO,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;EACvE,CAAC;EAED,iBAAiB;IACf,IAAI,CAAC,mBAAmB,EAAE,CAAC;EAC7B,CAAC;EAED,MAAM;IACJ,OAAO,CACL,EAAC,IAAI;MACH,eAAQ,CACH,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
@@ -1,4 +1,4 @@
1
- import { Host, h } from '@stencil/core';
1
+ import { h, Host } from '@stencil/core';
2
2
  /**
3
3
  * @since 1.01
4
4
  * @status stable
@@ -1 +1 @@
1
- {"version":3,"file":"six-main-container.js","sourceRoot":"","sources":["../../../src/components/six-main-container/six-main-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAElE;;;;;;;;;GASG;AAOH,MAAM,OAAO,gBAAgB;;kBAIV,IAAI;;EAErB,MAAM;IACJ,OAAO,CACL,EAAC,IAAI;MACH,WAAK,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,aAAa,GAAG;MAC9C,WAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE;QAC1E,eAAQ,CACJ;MACN,WAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,GAAG,CAC3C,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
1
+ {"version":3,"file":"six-main-container.js","sourceRoot":"","sources":["../../../src/components/six-main-container/six-main-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAElE;;;;;;;;;GASG;AAOH,MAAM,OAAO,gBAAgB;;kBAIV,IAAI;;EAErB,MAAM;IACJ,OAAO,CACL,EAAC,IAAI;MACH,WAAK,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,aAAa,GAAG;MAC9C,WAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE;QAC1E,eAAQ,CACJ;MACN,WAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,GAAG,CAC3C,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}