@six-group/ui-library 0.0.0-insider.756155a → 0.0.0-insider.777a428

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 (680) hide show
  1. package/dist/cjs/error-messages-6e8049a4.js +119 -0
  2. package/dist/cjs/error-messages-6e8049a4.js.map +1 -0
  3. package/dist/cjs/{form-control-f9bc25dd.js → form-control-8d64e974.js} +2 -2
  4. package/dist/cjs/{form-control-f9bc25dd.js.map → form-control-8d64e974.js.map} +1 -1
  5. package/dist/cjs/{index-3baddcdc.js → index-d7748d51.js} +53 -490
  6. package/dist/cjs/index-d7748d51.js.map +1 -0
  7. package/dist/cjs/index.cjs.js +54 -101
  8. package/dist/cjs/index.cjs.js.map +1 -1
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/{popup-40a9adbb.js → popup-e854acda.js} +2 -2
  11. package/dist/cjs/popup-e854acda.js.map +1 -0
  12. package/dist/cjs/six-alert.cjs.entry.js +39 -7
  13. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/six-avatar.cjs.entry.js +2 -2
  15. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  16. package/dist/cjs/six-badge.cjs.entry.js +2 -2
  17. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  18. package/dist/cjs/six-button.cjs.entry.js +3 -3
  19. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  20. package/dist/cjs/six-card.cjs.entry.js +2 -2
  21. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  22. package/dist/cjs/six-checkbox_2.cjs.entry.js +190 -0
  23. package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -0
  24. package/dist/cjs/six-datepicker.cjs.entry.js +30 -4
  25. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  26. package/dist/cjs/six-details.cjs.entry.js +2 -2
  27. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-dialog.cjs.entry.js +5 -3
  29. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-drawer.cjs.entry.js +3 -3
  31. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-dropdown_2.cjs.entry.js +197 -125
  33. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-error-page.cjs.entry.js +1 -1
  35. package/dist/cjs/six-error.cjs.entry.js +1 -1
  36. package/dist/cjs/six-file-list-item.cjs.entry.js +2 -2
  37. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  39. package/dist/cjs/six-file-upload.cjs.entry.js +2 -2
  40. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-footer.cjs.entry.js +2 -2
  42. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-group-label.cjs.entry.js +4 -4
  44. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-header.cjs.entry.js +24 -9
  46. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  47. package/dist/cjs/six-icon-button.cjs.entry.js +2 -2
  48. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-icon.cjs.entry.js +2 -2
  50. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-input.cjs.entry.js +6 -4
  52. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  53. package/dist/cjs/six-item-picker.cjs.entry.js +104 -8
  54. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-language-switcher.cjs.entry.js +1 -1
  56. package/dist/cjs/six-layout-grid.cjs.entry.js +1 -1
  57. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  58. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-menu-divider.cjs.entry.js +2 -2
  60. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-menu-label.cjs.entry.js +2 -2
  62. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-picto.cjs.entry.js +1 -1
  64. package/dist/cjs/six-progress-bar.cjs.entry.js +2 -2
  65. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-progress-ring.cjs.entry.js +2 -2
  67. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-radio.cjs.entry.js +2 -2
  69. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-range.cjs.entry.js +4 -4
  71. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-root.cjs.entry.js +2 -21
  73. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-search-field.cjs.entry.js +2 -2
  75. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-select.cjs.entry.js +300 -169
  77. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +3 -3
  79. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  81. package/dist/cjs/six-sidebar.cjs.entry.js +2 -2
  82. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  83. package/dist/cjs/six-spinner.cjs.entry.js +3 -3
  84. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-stage-indicator.cjs.entry.js +22 -0
  86. package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -0
  87. package/dist/cjs/six-switch.cjs.entry.js +4 -4
  88. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-tab-group.cjs.entry.js +2 -2
  90. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  92. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-tab.cjs.entry.js +2 -2
  94. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-tag.cjs.entry.js +3 -3
  96. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-textarea.cjs.entry.js +4 -4
  98. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-tile.cjs.entry.js +3 -3
  100. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-timepicker.cjs.entry.js +5 -5
  102. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-tooltip.cjs.entry.js +2 -2
  104. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  105. package/dist/cjs/{slot-9821749e.js → slot-1b1232a1.js} +1 -3
  106. package/dist/cjs/slot-1b1232a1.js.map +1 -0
  107. package/dist/cjs/{types-0a6d66f6.js → types-d3da200b.js} +3 -1
  108. package/dist/cjs/types-d3da200b.js.map +1 -0
  109. package/dist/cjs/ui-library.cjs.js +3 -3
  110. package/dist/cjs/ui-library.cjs.js.map +1 -1
  111. package/dist/collection/collection-manifest.json +4 -5
  112. package/dist/collection/components/six-alert/six-alert.css +5 -1
  113. package/dist/collection/components/six-alert/six-alert.js +56 -11
  114. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  115. package/dist/collection/components/six-avatar/six-avatar.css +2 -2
  116. package/dist/collection/components/six-badge/six-badge.css +1 -1
  117. package/dist/collection/components/six-button/six-button.css +2 -1
  118. package/dist/collection/components/six-button/six-button.js +3 -2
  119. package/dist/collection/components/six-button/six-button.js.map +1 -1
  120. package/dist/collection/components/six-card/six-card.css +4 -5
  121. package/dist/collection/components/six-checkbox/six-checkbox.css +6 -1
  122. package/dist/collection/components/six-checkbox/six-checkbox.js +3 -2
  123. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  124. package/dist/collection/components/six-datepicker/six-date-formats.js +1 -0
  125. package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -1
  126. package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
  127. package/dist/collection/components/six-datepicker/six-datepicker.js +8 -6
  128. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  129. package/dist/collection/components/six-details/six-details.css +1 -5
  130. package/dist/collection/components/six-details/six-details.js.map +1 -1
  131. package/dist/collection/components/six-dialog/six-dialog.css +2 -2
  132. package/dist/collection/components/six-dialog/six-dialog.js +2 -0
  133. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  134. package/dist/collection/components/six-drawer/six-drawer.css +2 -2
  135. package/dist/collection/components/six-dropdown/six-dropdown.css +22 -7
  136. package/dist/collection/components/six-dropdown/six-dropdown.js +215 -123
  137. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  138. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +54 -29
  139. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -1
  140. package/dist/collection/components/six-file-list-item/six-file-list-item.css +1 -1
  141. package/dist/collection/components/six-file-upload/six-file-upload.css +1 -4
  142. package/dist/collection/components/six-footer/six-footer.css +2 -2
  143. package/dist/collection/components/six-group-label/six-group-label.css +1 -1
  144. package/dist/collection/components/six-header/six-header.css +6 -2
  145. package/dist/collection/components/six-header/six-header.js +42 -8
  146. package/dist/collection/components/six-header/six-header.js.map +1 -1
  147. package/dist/collection/components/six-header/test/six-header.spec.js +50 -6
  148. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -1
  149. package/dist/collection/components/six-icon/six-icon.css +5 -2
  150. package/dist/collection/components/six-icon-button/six-icon-button.css +1 -1
  151. package/dist/collection/components/six-input/six-input.css +10 -1
  152. package/dist/collection/components/six-input/six-input.js +44 -16
  153. package/dist/collection/components/six-input/six-input.js.map +1 -1
  154. package/dist/collection/components/six-item-picker/six-item-picker.css +8 -0
  155. package/dist/collection/components/six-item-picker/six-item-picker.js +101 -5
  156. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  157. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +57 -57
  158. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -1
  159. package/dist/collection/components/six-item-picker/types.js +2 -0
  160. package/dist/collection/components/six-item-picker/types.js.map +1 -1
  161. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  162. package/dist/collection/components/six-menu/six-menu.css +8 -7
  163. package/dist/collection/components/six-menu/six-menu.js +28 -6
  164. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  165. package/dist/collection/components/six-menu/test/six-menu.spec.js +6 -6
  166. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -1
  167. package/dist/collection/components/six-menu-divider/six-menu-divider.css +3 -2
  168. package/dist/collection/components/six-menu-item/six-menu-item.css +13 -2
  169. package/dist/collection/components/six-menu-item/six-menu-item.js +36 -7
  170. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  171. package/dist/collection/components/six-menu-label/six-menu-label.css +1 -1
  172. package/dist/collection/components/six-progress-bar/six-progress-bar.css +1 -1
  173. package/dist/collection/components/six-progress-ring/six-progress-ring.css +1 -1
  174. package/dist/collection/components/six-radio/six-radio.css +1 -1
  175. package/dist/collection/components/six-radio/six-radio.js +3 -2
  176. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  177. package/dist/collection/components/six-range/six-range.css +1 -1
  178. package/dist/collection/components/six-range/six-range.js +3 -2
  179. package/dist/collection/components/six-range/six-range.js.map +1 -1
  180. package/dist/collection/components/six-root/six-root.js +1 -69
  181. package/dist/collection/components/six-root/six-root.js.map +1 -1
  182. package/dist/collection/components/six-root/test/six-root.spec.js +0 -7
  183. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -1
  184. package/dist/collection/components/six-search-field/six-search-field.css +1 -1
  185. package/dist/collection/components/six-select/six-select.css +54 -66
  186. package/dist/collection/components/six-select/six-select.js +343 -168
  187. package/dist/collection/components/six-select/six-select.js.map +1 -1
  188. package/dist/collection/components/six-select/test/six-select.spec.js +31 -15
  189. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -1
  190. package/dist/collection/components/six-sidebar/six-sidebar.css +2 -2
  191. package/dist/collection/components/six-sidebar/six-sidebar.js +6 -4
  192. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  193. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +1 -1
  194. package/dist/collection/components/six-spinner/six-spinner.css +1 -1
  195. package/dist/collection/components/six-spinner/six-spinner.js +2 -1
  196. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  197. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +1 -1
  198. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -1
  199. package/dist/collection/components/six-stage-indicator/six-stage-indicator.css +1 -1
  200. package/dist/collection/components/six-switch/six-switch.css +1 -1
  201. package/dist/collection/components/six-switch/six-switch.js +3 -2
  202. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  203. package/dist/collection/components/six-tab/six-tab.css +1 -1
  204. package/dist/collection/components/six-tab/six-tab.js +3 -2
  205. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  206. package/dist/collection/components/six-tab-group/six-tab-group.css +1 -1
  207. package/dist/collection/components/six-tab-group/six-tab-group.js +3 -2
  208. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  209. package/dist/collection/components/six-tab-panel/six-tab-panel.css +1 -1
  210. package/dist/collection/components/six-tag/six-tag.css +1 -1
  211. package/dist/collection/components/six-textarea/six-textarea.css +1 -1
  212. package/dist/collection/components/six-textarea/six-textarea.js +24 -16
  213. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  214. package/dist/collection/components/six-tile/six-tile.css +2 -2
  215. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  216. package/dist/collection/components/six-timepicker/six-timepicker.css +1 -1
  217. package/dist/collection/components/six-timepicker/six-timepicker.js +3 -2
  218. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  219. package/dist/collection/components/six-tooltip/six-tooltip.css +1 -1
  220. package/dist/collection/index.js +1 -0
  221. package/dist/collection/index.js.map +1 -1
  222. package/dist/collection/utils/alert.js +54 -0
  223. package/dist/collection/utils/alert.js.map +1 -0
  224. package/dist/collection/utils/date-util.js +25 -0
  225. package/dist/collection/utils/date-util.js.map +1 -1
  226. package/dist/collection/utils/error-messages.js +7 -0
  227. package/dist/collection/utils/error-messages.js.map +1 -1
  228. package/dist/collection/utils/popup.js +1 -1
  229. package/dist/collection/utils/popup.js.map +1 -1
  230. package/dist/collection/utils/slot.js +0 -1
  231. package/dist/collection/utils/slot.js.map +1 -1
  232. package/dist/components/index.js +50 -102
  233. package/dist/components/index.js.map +1 -1
  234. package/dist/components/six-alert.js +38 -6
  235. package/dist/components/six-alert.js.map +1 -1
  236. package/dist/components/six-avatar.js +1 -1
  237. package/dist/components/six-avatar.js.map +1 -1
  238. package/dist/components/six-badge.js +1 -1
  239. package/dist/components/six-badge.js.map +1 -1
  240. package/dist/components/six-button.js +1 -142
  241. package/dist/components/six-button.js.map +1 -1
  242. package/dist/components/six-button2.js +146 -0
  243. package/dist/components/six-button2.js.map +1 -0
  244. package/dist/components/six-card.js +1 -1
  245. package/dist/components/six-card.js.map +1 -1
  246. package/dist/components/six-checkbox.js +1 -161
  247. package/dist/components/six-checkbox.js.map +1 -1
  248. package/dist/components/six-checkbox2.js +165 -0
  249. package/dist/components/six-checkbox2.js.map +1 -0
  250. package/dist/components/six-datepicker.js +27 -1
  251. package/dist/components/six-datepicker.js.map +1 -1
  252. package/dist/components/six-details2.js +1 -1
  253. package/dist/components/six-details2.js.map +1 -1
  254. package/dist/components/six-dialog.js +3 -1
  255. package/dist/components/six-dialog.js.map +1 -1
  256. package/dist/components/six-drawer.js +1 -1
  257. package/dist/components/six-drawer.js.map +1 -1
  258. package/dist/components/six-dropdown2.js +201 -125
  259. package/dist/components/six-dropdown2.js.map +1 -1
  260. package/dist/components/six-file-list-item.js +1 -1
  261. package/dist/components/six-file-list-item.js.map +1 -1
  262. package/dist/components/six-file-upload.js +1 -1
  263. package/dist/components/six-file-upload.js.map +1 -1
  264. package/dist/components/six-footer.js +1 -1
  265. package/dist/components/six-footer.js.map +1 -1
  266. package/dist/components/six-group-label.js +1 -1
  267. package/dist/components/six-group-label.js.map +1 -1
  268. package/dist/components/six-header.js +30 -8
  269. package/dist/components/six-header.js.map +1 -1
  270. package/dist/components/six-icon-button2.js +1 -1
  271. package/dist/components/six-icon-button2.js.map +1 -1
  272. package/dist/components/six-icon2.js +1 -1
  273. package/dist/components/six-icon2.js.map +1 -1
  274. package/dist/components/six-input2.js +4 -1
  275. package/dist/components/six-input2.js.map +1 -1
  276. package/dist/components/six-item-picker2.js +104 -6
  277. package/dist/components/six-item-picker2.js.map +1 -1
  278. package/dist/components/six-main-container.js.map +1 -1
  279. package/dist/components/six-menu-divider.js +1 -1
  280. package/dist/components/six-menu-divider.js.map +1 -1
  281. package/dist/components/six-menu-item2.js +28 -5
  282. package/dist/components/six-menu-item2.js.map +1 -1
  283. package/dist/components/six-menu-label.js +1 -1
  284. package/dist/components/six-menu-label.js.map +1 -1
  285. package/dist/components/six-menu2.js +22 -6
  286. package/dist/components/six-menu2.js.map +1 -1
  287. package/dist/components/six-progress-bar.js +1 -1
  288. package/dist/components/six-progress-bar.js.map +1 -1
  289. package/dist/components/six-progress-ring.js +1 -1
  290. package/dist/components/six-progress-ring.js.map +1 -1
  291. package/dist/components/six-radio.js +1 -1
  292. package/dist/components/six-radio.js.map +1 -1
  293. package/dist/components/six-range.js +1 -1
  294. package/dist/components/six-range.js.map +1 -1
  295. package/dist/components/six-root.js +4 -33
  296. package/dist/components/six-root.js.map +1 -1
  297. package/dist/components/six-search-field.js +1 -1
  298. package/dist/components/six-search-field.js.map +1 -1
  299. package/dist/components/six-select.js +435 -185
  300. package/dist/components/six-select.js.map +1 -1
  301. package/dist/components/six-sidebar-item-group.js +1 -1
  302. package/dist/components/six-sidebar-item-group.js.map +1 -1
  303. package/dist/components/six-sidebar.js +1 -1
  304. package/dist/components/six-sidebar.js.map +1 -1
  305. package/dist/components/six-spinner2.js +2 -2
  306. package/dist/components/six-spinner2.js.map +1 -1
  307. package/dist/components/six-stage-indicator2.js +1 -1
  308. package/dist/components/six-stage-indicator2.js.map +1 -1
  309. package/dist/components/six-switch.js +1 -1
  310. package/dist/components/six-switch.js.map +1 -1
  311. package/dist/components/six-tab-group.js +1 -1
  312. package/dist/components/six-tab-group.js.map +1 -1
  313. package/dist/components/six-tab-panel.js +1 -1
  314. package/dist/components/six-tab-panel.js.map +1 -1
  315. package/dist/components/six-tab.js +1 -1
  316. package/dist/components/six-tab.js.map +1 -1
  317. package/dist/components/six-tag.js +98 -1
  318. package/dist/components/six-tag.js.map +1 -1
  319. package/dist/components/six-textarea.js +1 -1
  320. package/dist/components/six-textarea.js.map +1 -1
  321. package/dist/components/six-tile.js +1 -1
  322. package/dist/components/six-tile.js.map +1 -1
  323. package/dist/components/six-timepicker2.js +2 -2
  324. package/dist/components/six-timepicker2.js.map +1 -1
  325. package/dist/components/six-tooltip2.js +1 -1
  326. package/dist/components/six-tooltip2.js.map +1 -1
  327. package/dist/components/slot.js +1 -2
  328. package/dist/components/slot.js.map +1 -1
  329. package/dist/components.d.ts +1 -21
  330. package/dist/components.json +604 -231
  331. package/dist/esm/error-messages-1eaaad23.js +115 -0
  332. package/dist/esm/error-messages-1eaaad23.js.map +1 -0
  333. package/dist/esm/{form-control-6b30894f.js → form-control-d403a9cf.js} +2 -2
  334. package/dist/esm/{form-control-6b30894f.js.map → form-control-d403a9cf.js.map} +1 -1
  335. package/dist/esm/{index-17d8173e.js → index-79d4ef67.js} +53 -490
  336. package/dist/esm/index-79d4ef67.js.map +1 -0
  337. package/dist/esm/index.js +51 -100
  338. package/dist/esm/index.js.map +1 -1
  339. package/dist/esm/loader.js +3 -3
  340. package/dist/esm/{popup-e8049817.js → popup-7209e9d5.js} +2 -2
  341. package/dist/esm/popup-7209e9d5.js.map +1 -0
  342. package/dist/esm/six-alert.entry.js +39 -7
  343. package/dist/esm/six-alert.entry.js.map +1 -1
  344. package/dist/esm/six-avatar.entry.js +2 -2
  345. package/dist/esm/six-avatar.entry.js.map +1 -1
  346. package/dist/esm/six-badge.entry.js +2 -2
  347. package/dist/esm/six-badge.entry.js.map +1 -1
  348. package/dist/esm/six-button.entry.js +3 -3
  349. package/dist/esm/six-button.entry.js.map +1 -1
  350. package/dist/esm/six-card.entry.js +2 -2
  351. package/dist/esm/six-card.entry.js.map +1 -1
  352. package/dist/esm/six-checkbox_2.entry.js +185 -0
  353. package/dist/esm/six-checkbox_2.entry.js.map +1 -0
  354. package/dist/esm/six-datepicker.entry.js +30 -4
  355. package/dist/esm/six-datepicker.entry.js.map +1 -1
  356. package/dist/esm/six-details.entry.js +2 -2
  357. package/dist/esm/six-details.entry.js.map +1 -1
  358. package/dist/esm/six-dialog.entry.js +5 -3
  359. package/dist/esm/six-dialog.entry.js.map +1 -1
  360. package/dist/esm/six-drawer.entry.js +3 -3
  361. package/dist/esm/six-drawer.entry.js.map +1 -1
  362. package/dist/esm/six-dropdown_2.entry.js +198 -126
  363. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  364. package/dist/esm/six-error-page.entry.js +1 -1
  365. package/dist/esm/six-error.entry.js +1 -1
  366. package/dist/esm/six-file-list-item.entry.js +2 -2
  367. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  368. package/dist/esm/six-file-list.entry.js +1 -1
  369. package/dist/esm/six-file-upload.entry.js +2 -2
  370. package/dist/esm/six-file-upload.entry.js.map +1 -1
  371. package/dist/esm/six-footer.entry.js +2 -2
  372. package/dist/esm/six-footer.entry.js.map +1 -1
  373. package/dist/esm/six-group-label.entry.js +4 -4
  374. package/dist/esm/six-group-label.entry.js.map +1 -1
  375. package/dist/esm/six-header.entry.js +24 -9
  376. package/dist/esm/six-header.entry.js.map +1 -1
  377. package/dist/esm/six-icon-button.entry.js +2 -2
  378. package/dist/esm/six-icon-button.entry.js.map +1 -1
  379. package/dist/esm/six-icon.entry.js +2 -2
  380. package/dist/esm/six-icon.entry.js.map +1 -1
  381. package/dist/esm/six-input.entry.js +6 -4
  382. package/dist/esm/six-input.entry.js.map +1 -1
  383. package/dist/esm/six-item-picker.entry.js +104 -8
  384. package/dist/esm/six-item-picker.entry.js.map +1 -1
  385. package/dist/esm/six-language-switcher.entry.js +1 -1
  386. package/dist/esm/six-layout-grid.entry.js +1 -1
  387. package/dist/esm/six-main-container.entry.js +1 -1
  388. package/dist/esm/six-main-container.entry.js.map +1 -1
  389. package/dist/esm/six-menu-divider.entry.js +2 -2
  390. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  391. package/dist/esm/six-menu-label.entry.js +2 -2
  392. package/dist/esm/six-menu-label.entry.js.map +1 -1
  393. package/dist/esm/six-picto.entry.js +1 -1
  394. package/dist/esm/six-progress-bar.entry.js +2 -2
  395. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  396. package/dist/esm/six-progress-ring.entry.js +2 -2
  397. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  398. package/dist/esm/six-radio.entry.js +2 -2
  399. package/dist/esm/six-radio.entry.js.map +1 -1
  400. package/dist/esm/six-range.entry.js +4 -4
  401. package/dist/esm/six-range.entry.js.map +1 -1
  402. package/dist/esm/six-root.entry.js +2 -21
  403. package/dist/esm/six-root.entry.js.map +1 -1
  404. package/dist/esm/six-search-field.entry.js +2 -2
  405. package/dist/esm/six-search-field.entry.js.map +1 -1
  406. package/dist/esm/six-select.entry.js +300 -169
  407. package/dist/esm/six-select.entry.js.map +1 -1
  408. package/dist/esm/six-sidebar-item-group.entry.js +3 -3
  409. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  410. package/dist/esm/six-sidebar-item.entry.js +1 -1
  411. package/dist/esm/six-sidebar.entry.js +2 -2
  412. package/dist/esm/six-sidebar.entry.js.map +1 -1
  413. package/dist/esm/six-spinner.entry.js +3 -3
  414. package/dist/esm/six-spinner.entry.js.map +1 -1
  415. package/dist/esm/six-stage-indicator.entry.js +18 -0
  416. package/dist/esm/six-stage-indicator.entry.js.map +1 -0
  417. package/dist/esm/six-switch.entry.js +4 -4
  418. package/dist/esm/six-switch.entry.js.map +1 -1
  419. package/dist/esm/six-tab-group.entry.js +2 -2
  420. package/dist/esm/six-tab-group.entry.js.map +1 -1
  421. package/dist/esm/six-tab-panel.entry.js +2 -2
  422. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  423. package/dist/esm/six-tab.entry.js +2 -2
  424. package/dist/esm/six-tab.entry.js.map +1 -1
  425. package/dist/esm/six-tag.entry.js +3 -3
  426. package/dist/esm/six-tag.entry.js.map +1 -1
  427. package/dist/esm/six-textarea.entry.js +4 -4
  428. package/dist/esm/six-textarea.entry.js.map +1 -1
  429. package/dist/esm/six-tile.entry.js +3 -3
  430. package/dist/esm/six-tile.entry.js.map +1 -1
  431. package/dist/esm/six-timepicker.entry.js +5 -5
  432. package/dist/esm/six-timepicker.entry.js.map +1 -1
  433. package/dist/esm/six-tooltip.entry.js +2 -2
  434. package/dist/esm/six-tooltip.entry.js.map +1 -1
  435. package/dist/esm/{slot-41bc439a.js → slot-56531341.js} +2 -3
  436. package/dist/esm/slot-56531341.js.map +1 -0
  437. package/dist/esm/{types-07748c42.js → types-a07bb999.js} +3 -1
  438. package/dist/esm/types-a07bb999.js.map +1 -0
  439. package/dist/esm/ui-library.js +4 -4
  440. package/dist/esm/ui-library.js.map +1 -1
  441. package/dist/types/components/six-alert/six-alert.d.ts +13 -6
  442. package/dist/types/components/six-datepicker/six-datepicker.d.ts +1 -1
  443. package/dist/types/components/six-dialog/six-dialog.d.ts +1 -0
  444. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -9
  445. package/dist/types/components/six-header/six-header.d.ts +5 -1
  446. package/dist/types/components/six-input/six-input.d.ts +4 -0
  447. package/dist/types/components/six-item-picker/six-item-picker.d.ts +7 -0
  448. package/dist/types/components/six-menu/six-menu.d.ts +4 -0
  449. package/dist/types/components/six-menu-item/six-menu-item.d.ts +7 -1
  450. package/dist/types/components/six-root/six-root.d.ts +0 -13
  451. package/dist/types/components/six-select/six-select.d.ts +27 -12
  452. package/dist/types/components/six-spinner/six-spinner.d.ts +1 -0
  453. package/dist/types/components.d.ts +72 -60
  454. package/dist/types/index.d.ts +1 -0
  455. package/dist/types/types.d.ts +1 -0
  456. package/dist/types/utils/alert.d.ts +10 -0
  457. package/dist/types/utils/date-util.d.ts +9 -1
  458. package/dist/types/utils/error-messages.d.ts +1 -0
  459. package/dist/types/utils/slot.d.ts +0 -1
  460. package/dist/ui-library/index.esm.js +1 -1
  461. package/dist/ui-library/index.esm.js.map +1 -1
  462. package/dist/ui-library/p-0440335d.entry.js +2 -0
  463. package/dist/ui-library/{p-c12a94ce.entry.js.map → p-0440335d.entry.js.map} +1 -1
  464. package/dist/ui-library/p-04cc397c.entry.js +2 -0
  465. package/dist/ui-library/{p-58661675.entry.js.map → p-04cc397c.entry.js.map} +1 -1
  466. package/dist/ui-library/p-0cebf1d2.js +2 -0
  467. package/dist/ui-library/p-0cebf1d2.js.map +1 -0
  468. package/dist/ui-library/p-0edd3091.entry.js +2 -0
  469. package/dist/ui-library/{p-c021a9c9.entry.js.map → p-0edd3091.entry.js.map} +1 -1
  470. package/dist/ui-library/p-150b7664.entry.js +2 -0
  471. package/dist/ui-library/{p-a4e4620c.entry.js.map → p-150b7664.entry.js.map} +1 -1
  472. package/dist/ui-library/{p-c86aa5b3.entry.js → p-1f5840b5.entry.js} +2 -2
  473. package/dist/ui-library/p-28cc013e.entry.js +2 -0
  474. package/dist/ui-library/p-28cc013e.entry.js.map +1 -0
  475. package/dist/ui-library/p-3424bbc0.entry.js +2 -0
  476. package/dist/ui-library/p-3424bbc0.entry.js.map +1 -0
  477. package/dist/ui-library/p-348c68a8.entry.js +2 -0
  478. package/dist/ui-library/p-348c68a8.entry.js.map +1 -0
  479. package/dist/ui-library/p-3723ca06.entry.js +2 -0
  480. package/dist/ui-library/p-3723ca06.entry.js.map +1 -0
  481. package/dist/ui-library/p-37aeac5e.entry.js +2 -0
  482. package/dist/ui-library/{p-19a61686.entry.js.map → p-37aeac5e.entry.js.map} +1 -1
  483. package/dist/ui-library/p-3d7fb086.entry.js +2 -0
  484. package/dist/ui-library/p-3d7fb086.entry.js.map +1 -0
  485. package/dist/ui-library/{p-74a714c0.entry.js → p-457f7373.entry.js} +2 -2
  486. package/dist/ui-library/{p-74a714c0.entry.js.map → p-457f7373.entry.js.map} +1 -1
  487. package/dist/ui-library/p-4a667f31.entry.js +2 -0
  488. package/dist/ui-library/p-4a667f31.entry.js.map +1 -0
  489. package/dist/ui-library/p-50dae789.entry.js +2 -0
  490. package/dist/ui-library/{p-6aa2929a.entry.js.map → p-50dae789.entry.js.map} +1 -1
  491. package/dist/ui-library/{p-c1675a45.entry.js → p-546e33d9.entry.js} +2 -2
  492. package/dist/ui-library/{p-1d0c5929.entry.js → p-5db3a705.entry.js} +2 -2
  493. package/dist/ui-library/{p-1d0c5929.entry.js.map → p-5db3a705.entry.js.map} +1 -1
  494. package/dist/ui-library/{p-6907a7dc.js → p-61e66671.js} +2 -2
  495. package/dist/ui-library/p-6296779b.entry.js +2 -0
  496. package/dist/ui-library/{p-bdb79948.entry.js.map → p-6296779b.entry.js.map} +1 -1
  497. package/dist/ui-library/p-64b4755d.entry.js +2 -0
  498. package/dist/ui-library/{p-3187bc23.entry.js.map → p-64b4755d.entry.js.map} +1 -1
  499. package/dist/ui-library/p-6c1b046e.entry.js +2 -0
  500. package/dist/ui-library/p-6c1b046e.entry.js.map +1 -0
  501. package/dist/ui-library/p-7115316e.entry.js +2 -0
  502. package/dist/ui-library/p-7115316e.entry.js.map +1 -0
  503. package/dist/ui-library/p-73dd493f.entry.js +2 -0
  504. package/dist/ui-library/p-73dd493f.entry.js.map +1 -0
  505. package/dist/ui-library/{p-0861899a.js → p-862d474e.js} +1 -1
  506. package/dist/ui-library/p-862d474e.js.map +1 -0
  507. package/dist/ui-library/p-870b988d.entry.js +2 -0
  508. package/dist/ui-library/{p-479d8087.entry.js.map → p-870b988d.entry.js.map} +1 -1
  509. package/dist/ui-library/{p-d310a6dd.entry.js → p-884c5cf9.entry.js} +2 -2
  510. package/dist/ui-library/p-8888a367.entry.js +2 -0
  511. package/dist/ui-library/{p-ee71e3a3.entry.js.map → p-8888a367.entry.js.map} +1 -1
  512. package/dist/ui-library/p-8ced18d8.entry.js +2 -0
  513. package/dist/ui-library/p-8ced18d8.entry.js.map +1 -0
  514. package/dist/ui-library/{p-816f857d.entry.js → p-935c78a7.entry.js} +2 -2
  515. package/dist/ui-library/p-961bd001.entry.js +2 -0
  516. package/dist/ui-library/{p-fcd57e0a.entry.js.map → p-961bd001.entry.js.map} +1 -1
  517. package/dist/ui-library/p-9b08068d.entry.js +2 -0
  518. package/dist/ui-library/p-9b08068d.entry.js.map +1 -0
  519. package/dist/ui-library/p-9c79341d.entry.js +2 -0
  520. package/dist/ui-library/{p-3d54ecf2.entry.js.map → p-9c79341d.entry.js.map} +1 -1
  521. package/dist/ui-library/{p-cd35b3c6.entry.js → p-a9c159f2.entry.js} +2 -2
  522. package/dist/ui-library/p-ac57ba5c.entry.js +2 -0
  523. package/dist/ui-library/{p-ada23fe3.entry.js.map → p-ac57ba5c.entry.js.map} +1 -1
  524. package/dist/ui-library/p-af15381b.js +3 -0
  525. package/dist/ui-library/p-af15381b.js.map +1 -0
  526. package/dist/ui-library/p-b1a5f3cd.entry.js +2 -0
  527. package/dist/ui-library/p-b1a5f3cd.entry.js.map +1 -0
  528. package/dist/ui-library/p-b385a241.entry.js +2 -0
  529. package/dist/ui-library/{p-b5ac1219.entry.js.map → p-b385a241.entry.js.map} +1 -1
  530. package/dist/ui-library/p-b74c5d6b.entry.js +2 -0
  531. package/dist/ui-library/p-b74c5d6b.entry.js.map +1 -0
  532. package/dist/ui-library/p-bf2fb53f.entry.js +2 -0
  533. package/dist/ui-library/p-bf2fb53f.entry.js.map +1 -0
  534. package/dist/ui-library/p-c2c7370b.entry.js +2 -0
  535. package/dist/ui-library/{p-911eb578.entry.js.map → p-c2c7370b.entry.js.map} +1 -1
  536. package/dist/ui-library/p-caea1eb6.entry.js +2 -0
  537. package/dist/ui-library/{p-d6838141.entry.js.map → p-caea1eb6.entry.js.map} +1 -1
  538. package/dist/ui-library/{p-d2cf4280.entry.js → p-d3f5b9a8.entry.js} +2 -2
  539. package/dist/ui-library/p-d42b18eb.entry.js +2 -0
  540. package/dist/ui-library/{p-7432d409.entry.js.map → p-d42b18eb.entry.js.map} +1 -1
  541. package/dist/ui-library/p-d95e292e.entry.js +2 -0
  542. package/dist/ui-library/{p-c07b1240.entry.js.map → p-d95e292e.entry.js.map} +1 -1
  543. package/dist/ui-library/p-da7f3dbd.entry.js +2 -0
  544. package/dist/ui-library/p-da7f3dbd.entry.js.map +1 -0
  545. package/dist/ui-library/p-dfb89b6a.entry.js +2 -0
  546. package/dist/ui-library/p-dfb89b6a.entry.js.map +1 -0
  547. package/dist/ui-library/p-e080d5b6.js +2 -0
  548. package/dist/ui-library/p-e080d5b6.js.map +1 -0
  549. package/dist/ui-library/p-e6032375.entry.js +2 -0
  550. package/dist/ui-library/p-e6032375.entry.js.map +1 -0
  551. package/dist/ui-library/p-e60d2324.entry.js +2 -0
  552. package/dist/ui-library/p-e60d2324.entry.js.map +1 -0
  553. package/dist/ui-library/p-e8298c6e.entry.js +2 -0
  554. package/dist/ui-library/{p-882fbf6f.entry.js.map → p-e8298c6e.entry.js.map} +1 -1
  555. package/dist/ui-library/p-ed279165.entry.js +2 -0
  556. package/dist/ui-library/p-ed279165.entry.js.map +1 -0
  557. package/dist/ui-library/p-ed61b75c.entry.js +2 -0
  558. package/dist/ui-library/p-ed61b75c.entry.js.map +1 -0
  559. package/dist/ui-library/p-f136a6b2.js +2 -0
  560. package/dist/ui-library/p-f136a6b2.js.map +1 -0
  561. package/dist/ui-library/p-f1ab3384.entry.js +2 -0
  562. package/dist/ui-library/{p-23c02c98.entry.js.map → p-f1ab3384.entry.js.map} +1 -1
  563. package/dist/ui-library/p-f4ef481c.entry.js +2 -0
  564. package/dist/ui-library/p-f4ef481c.entry.js.map +1 -0
  565. package/dist/ui-library/{p-f73a6bdc.entry.js → p-f8cbb8da.entry.js} +2 -2
  566. package/dist/ui-library/ui-library.css +1 -10
  567. package/dist/ui-library/ui-library.esm.js +1 -1
  568. package/dist/ui-library/ui-library.esm.js.map +1 -1
  569. package/package.json +5 -8
  570. package/dist/cjs/index-3baddcdc.js.map +0 -1
  571. package/dist/cjs/popup-40a9adbb.js.map +0 -1
  572. package/dist/cjs/set-attributes_2.cjs.entry.js +0 -73
  573. package/dist/cjs/set-attributes_2.cjs.entry.js.map +0 -1
  574. package/dist/cjs/six-checkbox.cjs.entry.js +0 -127
  575. package/dist/cjs/six-checkbox.cjs.entry.js.map +0 -1
  576. package/dist/cjs/six-menu-item.cjs.entry.js +0 -63
  577. package/dist/cjs/six-menu-item.cjs.entry.js.map +0 -1
  578. package/dist/cjs/slot-9821749e.js.map +0 -1
  579. package/dist/cjs/types-0a6d66f6.js.map +0 -1
  580. package/dist/collection/wrappers/set-attributes/set-attributes.js +0 -74
  581. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +0 -1
  582. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +0 -16
  583. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +0 -1
  584. package/dist/components/set-attributes.d.ts +0 -11
  585. package/dist/components/set-attributes.js +0 -8
  586. package/dist/components/set-attributes.js.map +0 -1
  587. package/dist/components/set-attributes2.js +0 -73
  588. package/dist/components/set-attributes2.js.map +0 -1
  589. package/dist/components/six-tag2.js +0 -102
  590. package/dist/components/six-tag2.js.map +0 -1
  591. package/dist/esm/index-17d8173e.js.map +0 -1
  592. package/dist/esm/popup-e8049817.js.map +0 -1
  593. package/dist/esm/set-attributes_2.entry.js +0 -68
  594. package/dist/esm/set-attributes_2.entry.js.map +0 -1
  595. package/dist/esm/six-checkbox.entry.js +0 -123
  596. package/dist/esm/six-checkbox.entry.js.map +0 -1
  597. package/dist/esm/six-menu-item.entry.js +0 -59
  598. package/dist/esm/six-menu-item.entry.js.map +0 -1
  599. package/dist/esm/slot-41bc439a.js.map +0 -1
  600. package/dist/esm/types-07748c42.js.map +0 -1
  601. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +0 -9
  602. package/dist/ui-library/p-0861899a.js.map +0 -1
  603. package/dist/ui-library/p-0a81b42c.entry.js +0 -2
  604. package/dist/ui-library/p-0a81b42c.entry.js.map +0 -1
  605. package/dist/ui-library/p-0beec94f.js +0 -3
  606. package/dist/ui-library/p-0beec94f.js.map +0 -1
  607. package/dist/ui-library/p-100d5a25.entry.js +0 -2
  608. package/dist/ui-library/p-100d5a25.entry.js.map +0 -1
  609. package/dist/ui-library/p-178f5782.entry.js +0 -2
  610. package/dist/ui-library/p-178f5782.entry.js.map +0 -1
  611. package/dist/ui-library/p-19a61686.entry.js +0 -2
  612. package/dist/ui-library/p-23c02c98.entry.js +0 -2
  613. package/dist/ui-library/p-2f9f2532.entry.js +0 -2
  614. package/dist/ui-library/p-2f9f2532.entry.js.map +0 -1
  615. package/dist/ui-library/p-3187bc23.entry.js +0 -2
  616. package/dist/ui-library/p-32e1a5ab.entry.js +0 -2
  617. package/dist/ui-library/p-32e1a5ab.entry.js.map +0 -1
  618. package/dist/ui-library/p-3d54ecf2.entry.js +0 -2
  619. package/dist/ui-library/p-4229f7e8.entry.js +0 -2
  620. package/dist/ui-library/p-4229f7e8.entry.js.map +0 -1
  621. package/dist/ui-library/p-479d8087.entry.js +0 -2
  622. package/dist/ui-library/p-49aa8d1e.entry.js +0 -2
  623. package/dist/ui-library/p-49aa8d1e.entry.js.map +0 -1
  624. package/dist/ui-library/p-58661675.entry.js +0 -2
  625. package/dist/ui-library/p-5d43ea07.entry.js +0 -2
  626. package/dist/ui-library/p-5d43ea07.entry.js.map +0 -1
  627. package/dist/ui-library/p-6aa2929a.entry.js +0 -2
  628. package/dist/ui-library/p-7432d409.entry.js +0 -2
  629. package/dist/ui-library/p-76825395.entry.js +0 -2
  630. package/dist/ui-library/p-76825395.entry.js.map +0 -1
  631. package/dist/ui-library/p-882fbf6f.entry.js +0 -2
  632. package/dist/ui-library/p-88fd4973.entry.js +0 -2
  633. package/dist/ui-library/p-88fd4973.entry.js.map +0 -1
  634. package/dist/ui-library/p-8b750c9e.entry.js +0 -2
  635. package/dist/ui-library/p-8b750c9e.entry.js.map +0 -1
  636. package/dist/ui-library/p-911eb578.entry.js +0 -2
  637. package/dist/ui-library/p-93fcda4a.entry.js +0 -2
  638. package/dist/ui-library/p-93fcda4a.entry.js.map +0 -1
  639. package/dist/ui-library/p-981b3228.entry.js +0 -2
  640. package/dist/ui-library/p-981b3228.entry.js.map +0 -1
  641. package/dist/ui-library/p-9b1ff147.entry.js +0 -2
  642. package/dist/ui-library/p-9b1ff147.entry.js.map +0 -1
  643. package/dist/ui-library/p-a21f8d06.entry.js +0 -2
  644. package/dist/ui-library/p-a21f8d06.entry.js.map +0 -1
  645. package/dist/ui-library/p-a2461274.entry.js +0 -2
  646. package/dist/ui-library/p-a2461274.entry.js.map +0 -1
  647. package/dist/ui-library/p-a4e4620c.entry.js +0 -2
  648. package/dist/ui-library/p-ada23fe3.entry.js +0 -2
  649. package/dist/ui-library/p-b5ac1219.entry.js +0 -2
  650. package/dist/ui-library/p-ba247565.entry.js +0 -2
  651. package/dist/ui-library/p-ba247565.entry.js.map +0 -1
  652. package/dist/ui-library/p-bdb79948.entry.js +0 -2
  653. package/dist/ui-library/p-c021a9c9.entry.js +0 -2
  654. package/dist/ui-library/p-c07b1240.entry.js +0 -2
  655. package/dist/ui-library/p-c12a94ce.entry.js +0 -2
  656. package/dist/ui-library/p-c2df8c27.entry.js +0 -2
  657. package/dist/ui-library/p-c2df8c27.entry.js.map +0 -1
  658. package/dist/ui-library/p-d6838141.entry.js +0 -2
  659. package/dist/ui-library/p-dc908cbb.entry.js +0 -2
  660. package/dist/ui-library/p-dc908cbb.entry.js.map +0 -1
  661. package/dist/ui-library/p-dfb6bff6.entry.js +0 -2
  662. package/dist/ui-library/p-dfb6bff6.entry.js.map +0 -1
  663. package/dist/ui-library/p-ee71e3a3.entry.js +0 -2
  664. package/dist/ui-library/p-ef317d69.entry.js +0 -2
  665. package/dist/ui-library/p-ef317d69.entry.js.map +0 -1
  666. package/dist/ui-library/p-f2ef23c4.js +0 -2
  667. package/dist/ui-library/p-f2ef23c4.js.map +0 -1
  668. package/dist/ui-library/p-f385f1c2.entry.js +0 -2
  669. package/dist/ui-library/p-f385f1c2.entry.js.map +0 -1
  670. package/dist/ui-library/p-faa04bb5.js +0 -2
  671. package/dist/ui-library/p-faa04bb5.js.map +0 -1
  672. package/dist/ui-library/p-fcd57e0a.entry.js +0 -2
  673. /package/dist/ui-library/{p-c86aa5b3.entry.js.map → p-1f5840b5.entry.js.map} +0 -0
  674. /package/dist/ui-library/{p-c1675a45.entry.js.map → p-546e33d9.entry.js.map} +0 -0
  675. /package/dist/ui-library/{p-6907a7dc.js.map → p-61e66671.js.map} +0 -0
  676. /package/dist/ui-library/{p-d310a6dd.entry.js.map → p-884c5cf9.entry.js.map} +0 -0
  677. /package/dist/ui-library/{p-816f857d.entry.js.map → p-935c78a7.entry.js.map} +0 -0
  678. /package/dist/ui-library/{p-cd35b3c6.entry.js.map → p-a9c159f2.entry.js.map} +0 -0
  679. /package/dist/ui-library/{p-d2cf4280.entry.js.map → p-d3f5b9a8.entry.js.map} +0 -0
  680. /package/dist/ui-library/{p-f73a6bdc.entry.js.map → p-f8cbb8da.entry.js.map} +0 -0
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3baddcdc.js');
6
- const types = require('./types-0a6d66f6.js');
5
+ const index = require('./index-d7748d51.js');
6
+ const types = require('./types-d3da200b.js');
7
7
  const executionControl = require('./execution-control-d728da70.js');
8
8
  const eventListeners = require('./event-listeners-9fb878f1.js');
9
9
 
10
- const sixItemPickerCss = ".item_picker__container{width:2.5em;display:flex;flex-wrap:wrap;justify-content:center}.item_picker__content{font-size:1.5rem}.item_picker__btn{cursor:pointer;width:2.5em;height:2.5em;display:flex;vertical-align:middle;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--six-color-web-rock-500)}.item_picker__btn:hover{background-color:var(--six-color-web-rock-100);border-radius:100%}.item_picker__btn:active{color:var(--six-color-web-rock-400)}.item_picker__btn--disabled{color:var(--six-color-web-rock-300);cursor:not-allowed}.item_picker__btn--disabled:hover{background-color:initial}.item_picker__btn--disabled:active{color:var(--six-color-web-rock-300)}";
10
+ const sixItemPickerCss = ".item_picker__container{width:2.5em;display:flex;flex-wrap:wrap;justify-content:center}.item_picker__container:focus-visible{outline:var(--six-focus-ring);outline-offset:0}.item_picker__content{font-size:1.5rem}.item_picker__btn{cursor:pointer;width:2.5em;height:2.5em;display:flex;vertical-align:middle;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--six-color-web-rock-500)}.item_picker__btn:hover{background-color:var(--six-color-web-rock-100);border-radius:100%}.item_picker__btn:active{color:var(--six-color-web-rock-400)}.item_picker__btn--disabled{color:var(--six-color-web-rock-300);cursor:not-allowed}.item_picker__btn--disabled:hover{background-color:initial}.item_picker__btn--disabled:active{color:var(--six-color-web-rock-300)}.item_picker__btn:focus-visible{outline:var(--six-focus-ring);outline-offset:0}";
11
11
 
12
12
  const uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
13
13
  const upperAndLowercaseLetters = [...uppercaseLetters].flatMap((c) => [c, c.toLowerCase()]);
@@ -212,9 +212,9 @@ const SixItemPicker = class {
212
212
  isRoundtripPossible: () => this.min === undefined && this.roundtrip,
213
213
  });
214
214
  }
215
- getNextItemByOperation(operation) {
215
+ getNextItemByOperation(operation, increment = this.step) {
216
216
  const value = String(this.value);
217
- const nextIndexCandidate = operation(this.getStringItemIndex(value), this.step);
217
+ const nextIndexCandidate = operation(this.getStringItemIndex(value), increment);
218
218
  const numberOfItems = this._items.length;
219
219
  const nextIndex = ((nextIndexCandidate % numberOfItems) + numberOfItems) % numberOfItems;
220
220
  return this._items[nextIndex];
@@ -233,6 +233,7 @@ const SixItemPicker = class {
233
233
  return;
234
234
  }
235
235
  console.warn(`${TAG} Roundtrip is not allowed, but was still triggered, please report this issue to the developer of six-item-picker`);
236
+ this.sixChange.emit(this.value);
236
237
  }
237
238
  isNumber() {
238
239
  return this.type === types.ItemPickerType.NUMBER;
@@ -315,14 +316,109 @@ const SixItemPicker = class {
315
316
  }
316
317
  return this.value;
317
318
  }
319
+ handleKeyPress(event) {
320
+ if (event.key === 'Enter') {
321
+ event.preventDefault();
322
+ if (event.target === this.upButton) {
323
+ this.nextItem();
324
+ }
325
+ else if (event.target === this.downButton) {
326
+ this.previousItem();
327
+ }
328
+ }
329
+ else if (event.key === 'ArrowUp') {
330
+ event.preventDefault();
331
+ this.nextItem();
332
+ }
333
+ else if (event.key === 'ArrowDown') {
334
+ event.preventDefault();
335
+ this.previousItem();
336
+ }
337
+ else if (event.key === 'PageUp') {
338
+ event.preventDefault();
339
+ this.pageUp();
340
+ }
341
+ else if (event.key === 'PageDown') {
342
+ event.preventDefault();
343
+ this.pageDown();
344
+ }
345
+ else if (event.key === 'Home') {
346
+ event.preventDefault();
347
+ this.goToMin();
348
+ }
349
+ else if (event.key === 'End') {
350
+ event.preventDefault();
351
+ this.goToMax();
352
+ }
353
+ }
354
+ pageUp() {
355
+ if (this.isNumber()) {
356
+ this.changeValue({
357
+ isNextItemAllowed: () => !this.isNextNumberDisabled(),
358
+ getNextItem: () => Number(this.value) + 5 * this.step,
359
+ getRoundtripItem: () => Number(this.min),
360
+ isRoundtripPossible: () => this.min === undefined && this.roundtrip,
361
+ });
362
+ }
363
+ else {
364
+ const value = String(this.value);
365
+ const minLetter = String(this.min);
366
+ this.changeValue({
367
+ isNextItemAllowed: () => minLetter === undefined || this.getStringItemIndex(value) > this.getStringItemIndex(minLetter),
368
+ getNextItem: () => this.getNextItemByOperation(add, 5),
369
+ getRoundtripItem: () => String(this.min),
370
+ isRoundtripPossible: () => this.min === undefined && this.roundtrip,
371
+ });
372
+ }
373
+ }
374
+ pageDown() {
375
+ if (this.isNumber()) {
376
+ this.changeValue({
377
+ isNextItemAllowed: () => !this.isPreviousNumberDisabled(),
378
+ getNextItem: () => Number(this.value) - 5 * this.step,
379
+ getRoundtripItem: () => Number(this.max),
380
+ isRoundtripPossible: () => this.max === undefined && this.roundtrip,
381
+ });
382
+ }
383
+ else {
384
+ const value = String(this.value);
385
+ const maxLetter = String(this.max);
386
+ this.changeValue({
387
+ isNextItemAllowed: () => maxLetter === undefined || this.getStringItemIndex(value) < this.getStringItemIndex(maxLetter),
388
+ getNextItem: () => this.getNextItemByOperation(subtract, 5),
389
+ getRoundtripItem: () => String(this.max),
390
+ isRoundtripPossible: () => this.max == null && this.roundtrip,
391
+ });
392
+ }
393
+ }
394
+ goToMin() {
395
+ var _a;
396
+ if (this.isNumber()) {
397
+ this.value = (_a = this.min) !== null && _a !== void 0 ? _a : 0;
398
+ }
399
+ else {
400
+ this.value = this._items[0];
401
+ }
402
+ this.sixChange.emit(this.value);
403
+ }
404
+ goToMax() {
405
+ var _a;
406
+ if (this.isNumber()) {
407
+ this.value = (_a = this.max) !== null && _a !== void 0 ? _a : Infinity;
408
+ }
409
+ else {
410
+ this.value = this.getLastStringItem();
411
+ }
412
+ this.sixChange.emit(this.value);
413
+ }
318
414
  render() {
319
- return (index.h("div", { part: "container", class: "item_picker__container" }, index.h("div", { part: "up", class: {
415
+ return (index.h("div", { part: "container", class: "item_picker__container", onKeyDown: (event) => this.handleKeyPress(event), tabindex: "0" }, index.h("div", { ref: (el) => (this.upButton = el), part: "up", class: {
320
416
  item_picker__btn: true,
321
417
  'item_picker__btn--disabled': this.isNextDisabled(),
322
- }, onMouseDown: () => this.onMouseDownNext(), onMouseUp: () => this.onMouseUpNext() }, index.h("six-icon", { size: "large" }, "expand_less")), index.h("div", { part: "content", class: "item_picker__content" }, this.getFormattedValue()), index.h("div", { part: "down", class: {
418
+ }, onMouseDown: () => this.onMouseDownNext(), onMouseUp: () => this.onMouseUpNext(), tabindex: "-1" }, index.h("six-icon", { size: "large" }, "expand_less")), index.h("div", { part: "content", class: "item_picker__content" }, this.getFormattedValue()), index.h("div", { ref: (el) => (this.downButton = el), part: "down", class: {
323
419
  item_picker__btn: true,
324
420
  'item_picker__btn--disabled': this.isPrevDisabled(),
325
- }, onMouseDown: () => this.onMouseDownPrev(), onMouseUp: () => this.onMouseUpPrev() }, index.h("six-icon", { size: "large" }, "expand_more"))));
421
+ }, onMouseDown: () => this.onMouseDownPrev(), onMouseUp: () => this.onMouseUpPrev(), tabindex: "-1" }, index.h("six-icon", { size: "large" }, "expand_more"))));
326
422
  }
327
423
  get host() { return index.getElement(this); }
328
424
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"six-item-picker.entry.cjs.js","mappings":"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","names":["EventListeners","ItemPickerType","ItemPickerPaddingDirection","DEFAULT_DEBOUNCE_FAST","DEFAULT_DEBOUNCE_INSANELY_FAST","debounce","h"],"sources":["src/components/six-item-picker/six-item-picker.scss?tag=six-item-picker&encapsulation=shadow","src/components/six-item-picker/six-item-picker.tsx"],"sourcesContent":[".item_picker {\n &__container {\n width: 2.5em;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n }\n\n &__content {\n font-size: 1.5rem;\n }\n\n &__btn {\n cursor: pointer;\n width: 2.5em;\n height: 2.5em;\n display: flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n color: var(--six-color-web-rock-500);\n\n &:hover {\n background-color: var(--six-color-web-rock-100);\n border-radius: 100%;\n }\n\n &:active {\n color: var(--six-color-web-rock-400);\n }\n\n &--disabled {\n color: var(--six-color-web-rock-300);\n cursor: not-allowed;\n\n &:hover {\n background-color: initial;\n }\n\n &:active {\n color: var(--six-color-web-rock-300);\n }\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { ItemPickerPaddingDirection, ItemPickerType } from './types';\nimport { debounce, DEFAULT_DEBOUNCE_FAST, DEFAULT_DEBOUNCE_INSANELY_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { TimePeriod } from '../../utils/time.util';\n\ninterface Alphabet {\n alphabet: string[];\n letterIndexes: Record<string, number>;\n}\n\nconst uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\nconst upperAndLowercaseLetters = [...uppercaseLetters].flatMap((c) => [c, c.toLowerCase()]);\nconst ALPHABET: Alphabet = {\n alphabet: upperAndLowercaseLetters,\n letterIndexes: Object.fromEntries(upperAndLowercaseLetters.map((c, i) => [c, i])),\n};\nconst CAPITAL_ALPHABET: Alphabet = {\n alphabet: [...uppercaseLetters].flatMap((c) => [c]),\n letterIndexes: Object.fromEntries([...uppercaseLetters].map((c, i) => [c, i])),\n};\nconst LOWERCASE_ALPHABET: Alphabet = {\n alphabet: [...uppercaseLetters.toLowerCase()].flatMap((c) => [c]),\n letterIndexes: Object.fromEntries([...uppercaseLetters.toLowerCase()].map((c, i) => [c, i])),\n};\n\nconst createItemIndexes = (arr: string[]): Record<string, number> => {\n return Object.fromEntries([...arr].map((c, i) => [c, i]));\n};\n\nconst TAG = `[SIX-ITEM-PICKER]`;\n\nconst subtract = (a: number, b: number) => a - b;\nconst add = (a: number, b: number) => a + b;\n\nexport type SixItemPickerChangePayload = number | string | boolean | TimePeriod;\n\nconst DEBOUNCE_ITEM_PICKER_LISTENER = 'debounced-item-picker';\n\n/**\n * @since 2.0.0\n * @status experimental\n * @part container - The whole component container\n * @part up - The up button\n * @part content - The content area\n * @part down - The down button\n *\n */\n@Component({\n tag: 'six-item-picker',\n styleUrl: 'six-item-picker.scss',\n shadow: true,\n})\nexport class SixItemPicker {\n private readonly eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixItemPickerElement;\n\n /** The item picker's value attribute. */\n @Prop({ mutable: true, reflect: true }) value: number | string = '';\n\n /** The type of items you want to rotate through. */\n @Prop() type: ItemPickerType = ItemPickerType.NUMBER;\n\n /** The minimum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) min?: number | string;\n\n /** The maximum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) max?: number | string;\n\n /** Define whether the picker should to a roundtrip i.e. start at max when reaching min and vice versa. */\n @Prop({ reflect: true }) roundtrip = true;\n\n /** Defines how many steps should be taken when navigating */\n @Prop({ reflect: true }) step = 1;\n\n /** Defines a custom list of items you can iterate through */\n @Prop() items?: string[];\n\n /** Defines whether the items should be padded */\n @Prop() padded = false;\n\n /** Defines the length of the padded area */\n @Prop() paddingLength = 2;\n\n /** Defines the character used for padding */\n @Prop() paddingChar = '0';\n\n /** Defines whether the padding should be before or after the value. You can either use 'before' or 'after'. By default,\n * before is selected */\n @Prop() paddingDirection: ItemPickerPaddingDirection = ItemPickerPaddingDirection.BEFORE;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger faster switching between items.\n */\n @Prop() timeout = DEFAULT_DEBOUNCE_FAST;\n\n /**\n * Set the amount of time, in milliseconds, to wait between switching to next item when mouse button is held pressed.\n */\n @Prop() interval = DEFAULT_DEBOUNCE_INSANELY_FAST;\n\n /**\n * Emitted when the item picker's value changes\n */\n @Event({ eventName: 'six-item-picker-change' }) sixChange!: EventEmitter<SixItemPickerChangePayload>;\n\n /**\n * Emitted when the item picker's value changes, but debounced\n */\n @Event({ eventName: 'six-item-picker-change-debounced' })\n sixChangeDebounced!: EventEmitter<SixItemPickerChangePayload>;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `six-item-picker-change-debounced` event.\n * If you want your change debounce event to not trigger when keeping the nav button pressed before, make sure debounce\n * is a bit bigger than timeout, otherwise keeping the button pressed will trigger the event twice: once you click\n * (and keep pressed) and once you release\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n @Watch('value')\n handleValueChange() {\n this.setup();\n }\n\n @Watch('debounce')\n protected debounceChanged() {\n this.eventListeners.removeByIdentifier(DEBOUNCE_ITEM_PICKER_LISTENER);\n this.eventListeners.add(\n this.host,\n 'six-item-picker-change',\n debounce(this.handleSixItemPickerChangeDebounced, this.debounce),\n DEBOUNCE_ITEM_PICKER_LISTENER\n );\n }\n\n @Watch('items')\n handleSetChange() {\n this.setup();\n this.min = this._items[0];\n this.max = this.getLastStringItem();\n }\n\n @State() _items: string[] = [];\n @State() _itemIndexes: Record<string, number> = {};\n\n // used for fast increasing when keeping the mouse button held down\n private _timeoutNext!: ReturnType<typeof setTimeout>;\n private _intervalNext!: ReturnType<typeof setInterval>;\n\n private _timeoutPrev!: ReturnType<typeof setTimeout>;\n private _intervalPrev!: ReturnType<typeof setInterval>;\n\n componentWillLoad() {\n this.setup();\n }\n\n componentDidLoad() {\n this.eventListeners.add(\n this.host,\n 'six-item-picker-change',\n debounce(this.handleSixItemPickerChangeDebounced, this.debounce),\n DEBOUNCE_ITEM_PICKER_LISTENER\n );\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private handleSixItemPickerChangeDebounced = () => {\n this.sixChangeDebounced.emit(this.value);\n };\n\n private setup() {\n if (this.isNumber()) {\n this.setupNumberItems();\n } else {\n this.setUpStringItems();\n }\n }\n\n private setupNumberItems() {\n if (this.isInvalidNumber()) {\n console.warn(`${TAG} Expected number but value is not a number: \"${this.value}\"`);\n console.info(`${TAG} Will set value to either minimum or if not provided to zero.`);\n this.value = this.min ?? 0;\n }\n }\n\n private setUpStringItems() {\n this._items = this.getStringItems();\n this._itemIndexes = this.getItemIndexes();\n const itemsMissValue = this._items.find((i) => String(i) === String(this.value)) === undefined;\n if (itemsMissValue) {\n console.warn(`${TAG} Expected item from item set but value was not found in set: \"${this.value}\"`);\n console.info(`${TAG} Will set value to either minimum or if not provided to \"${this._items[0]}\".`);\n this.value = this._items[0];\n }\n\n if (this.min === undefined) {\n if (!this.roundtrip) {\n console.warn(`${TAG} Expected a min value`);\n console.info(`${TAG} Will set min value to ${this._items[0]}`);\n }\n this.min = this._items[0];\n }\n\n if (this.max === undefined) {\n const maxItem = this.getLastStringItem();\n if (!this.roundtrip) {\n console.warn(`${TAG} Expected a min value if roundtrip is enabled`);\n console.info(`${TAG} Will set min value to ${maxItem}`);\n }\n this.max = maxItem;\n }\n }\n\n private getLastStringItem() {\n return this._items[this._items.length - 1];\n }\n\n private getStringItems(): string[] {\n switch (this.type) {\n case ItemPickerType.NUMBER:\n console.warn(`${TAG}: unexpected type ${this.type}`);\n return [];\n case ItemPickerType.LETTER:\n return ALPHABET.alphabet;\n case ItemPickerType.CAPITAL_LETTER:\n return CAPITAL_ALPHABET.alphabet;\n case ItemPickerType.LOWER_LETTER:\n return LOWERCASE_ALPHABET.alphabet;\n case ItemPickerType.CUSTOM:\n if (this.items == null || this.items.length === 0) {\n console.warn(`${TAG}: no items defined for type ${this.type}`);\n return [];\n }\n return this.items;\n }\n }\n\n private getItemIndexes(): Record<string, number> {\n switch (this.type) {\n case ItemPickerType.NUMBER:\n console.warn(`${TAG}: unexpected type ${this.type}`);\n return {};\n case ItemPickerType.LETTER:\n return ALPHABET.letterIndexes;\n case ItemPickerType.CAPITAL_LETTER:\n return CAPITAL_ALPHABET.letterIndexes;\n case ItemPickerType.LOWER_LETTER:\n return LOWERCASE_ALPHABET.letterIndexes;\n case ItemPickerType.CUSTOM:\n return createItemIndexes(this._items);\n }\n }\n\n private previousItem() {\n if (this.isNumber()) {\n this.previousNumber();\n } else {\n this.previousStringItem();\n }\n\n this.sixChange.emit(this.value);\n }\n\n private previousNumber() {\n this.changeValue({\n isNextItemAllowed: () => !this.isPreviousNumberDisabled(),\n getNextItem: () => Number(this.value) - this.step,\n getRoundtripItem: () => Number(this.max),\n isRoundtripPossible: () => this.max === undefined && this.roundtrip,\n });\n }\n\n private previousStringItem() {\n const value = String(this.value);\n const minLetter = String(this.min);\n\n this.changeValue({\n isNextItemAllowed: () =>\n minLetter === undefined || this.getStringItemIndex(value) > this.getStringItemIndex(minLetter),\n getNextItem: () => this.getNextItemByOperation(subtract),\n getRoundtripItem: () => String(this.max),\n isRoundtripPossible: () => this.max == null && this.roundtrip,\n });\n }\n\n private nextItem() {\n if (this.isNumber()) {\n this.nextNumber();\n } else {\n this.nextStringItem();\n }\n\n this.sixChange.emit(this.value);\n }\n\n private nextNumber() {\n this.changeValue({\n isNextItemAllowed: () => !this.isNextNumberDisabled(),\n getNextItem: () => Number(this.value) + this.step,\n getRoundtripItem: () => Number(this.min),\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n }\n\n private getStringItemIndex(char: string): number {\n return this._itemIndexes[char];\n }\n\n private nextStringItem() {\n const value = String(this.value);\n const maxLetter = String(this.max);\n\n this.changeValue({\n isNextItemAllowed: () =>\n maxLetter === undefined || this.getStringItemIndex(value) < this.getStringItemIndex(maxLetter),\n getNextItem: () => this.getNextItemByOperation(add),\n getRoundtripItem: () => String(this.min),\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n }\n\n private getNextItemByOperation(operation: (a: number, b: number) => number) {\n const value = String(this.value);\n const nextIndexCandidate = operation(this.getStringItemIndex(value), this.step);\n const numberOfItems = this._items.length;\n const nextIndex = ((nextIndexCandidate % numberOfItems) + numberOfItems) % numberOfItems;\n return this._items[nextIndex];\n }\n\n private changeValue(params: {\n getNextItem: () => number | string;\n isNextItemAllowed: () => boolean;\n getRoundtripItem: () => number | string;\n isRoundtripPossible: () => boolean;\n }) {\n if (params.isNextItemAllowed()) {\n this.value = params.getNextItem();\n return;\n }\n\n if (params.isRoundtripPossible()) {\n console.error(\n `${TAG} Item picker is expected to perform a roundtrip, but either max or min value is missing so a roundtrip is not possible`\n );\n return;\n }\n\n if (this.roundtrip) {\n this.value = params.getRoundtripItem();\n return;\n }\n\n console.warn(\n `${TAG} Roundtrip is not allowed, but was still triggered, please report this issue to the developer of six-item-picker`\n );\n }\n\n private isNumber() {\n return this.type === ItemPickerType.NUMBER;\n }\n\n private isInvalidNumber() {\n return this.value === '' || isNaN(this.value as number);\n }\n\n private isNextDisabled() {\n if (this.roundtrip) {\n return false;\n }\n\n if (this.isNumber()) {\n return this.isNextNumberDisabled();\n } else {\n return this._itemIndexes[String(this.value)] + this.step > this._itemIndexes[String(this.max)];\n }\n }\n\n private isNextNumberDisabled() {\n return Number(this.value) + this.step > Number(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 < Number(this.min ?? -Infinity);\n }\n\n private onMouseDownNext() {\n if (this.isNextDisabled()) {\n return;\n }\n\n this.nextItem();\n\n this._timeoutNext = setTimeout(() => {\n this._intervalNext = setInterval(() => {\n this.nextItem();\n }, this.interval);\n }, this.timeout);\n }\n\n private onMouseUpNext() {\n clearTimeout(this._timeoutNext);\n clearInterval(this._intervalNext);\n }\n\n private onMouseDownPrev() {\n if (this.isPrevDisabled()) {\n return;\n }\n\n this.previousItem();\n\n this._timeoutPrev = setTimeout(() => {\n this._intervalPrev = setInterval(() => {\n this.previousItem();\n }, this.interval);\n }, this.timeout);\n }\n\n private onMouseUpPrev() {\n clearTimeout(this._timeoutPrev);\n clearInterval(this._intervalPrev);\n }\n\n private getFormattedValue() {\n if (this.value === undefined || this.value === null) {\n return this.value;\n }\n\n if (!this.padded) {\n return this.value;\n }\n\n if (this.paddingDirection === ItemPickerPaddingDirection.BEFORE) {\n return String(this.value).padStart(this.paddingLength, this.paddingChar);\n } else if (this.paddingDirection === ItemPickerPaddingDirection.AFTER) {\n return String(this.value).padEnd(this.paddingLength, this.paddingChar);\n }\n\n return this.value;\n }\n\n render() {\n return (\n <div part=\"container\" class=\"item_picker__container\">\n <div\n part=\"up\"\n class={{\n item_picker__btn: true,\n 'item_picker__btn--disabled': this.isNextDisabled(),\n }}\n onMouseDown={() => this.onMouseDownNext()}\n onMouseUp={() => this.onMouseUpNext()}\n >\n <six-icon size=\"large\">expand_less</six-icon>\n </div>\n <div part=\"content\" class=\"item_picker__content\">\n {this.getFormattedValue()}\n </div>\n <div\n part=\"down\"\n class={{\n item_picker__btn: true,\n 'item_picker__btn--disabled': this.isPrevDisabled(),\n }}\n onMouseDown={() => this.onMouseDownPrev()}\n onMouseUp={() => this.onMouseUpPrev()}\n >\n <six-icon size=\"large\">expand_more</six-icon>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-item-picker.entry.cjs.js","mappings":"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","names":["EventListeners","ItemPickerType","ItemPickerPaddingDirection","DEFAULT_DEBOUNCE_FAST","DEFAULT_DEBOUNCE_INSANELY_FAST","debounce","h"],"sources":["src/components/six-item-picker/six-item-picker.scss?tag=six-item-picker&encapsulation=shadow","src/components/six-item-picker/six-item-picker.tsx"],"sourcesContent":[".item_picker {\n &__container {\n width: 2.5em;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n\n &:focus-visible {\n outline: var(--six-focus-ring);\n outline-offset: 0;\n }\n }\n\n &__content {\n font-size: 1.5rem;\n }\n\n &__btn {\n cursor: pointer;\n width: 2.5em;\n height: 2.5em;\n display: flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n color: var(--six-color-web-rock-500);\n\n &:hover {\n background-color: var(--six-color-web-rock-100);\n border-radius: 100%;\n }\n\n &:active {\n color: var(--six-color-web-rock-400);\n }\n\n &--disabled {\n color: var(--six-color-web-rock-300);\n cursor: not-allowed;\n\n &:hover {\n background-color: initial;\n }\n\n &:active {\n color: var(--six-color-web-rock-300);\n }\n }\n\n &:focus-visible {\n outline: var(--six-focus-ring);\n outline-offset: 0;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { ItemPickerPaddingDirection, ItemPickerType } from './types';\nimport { debounce, DEFAULT_DEBOUNCE_FAST, DEFAULT_DEBOUNCE_INSANELY_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { TimePeriod } from '../../utils/time.util';\n\ninterface Alphabet {\n alphabet: string[];\n letterIndexes: Record<string, number>;\n}\n\nconst uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\nconst upperAndLowercaseLetters = [...uppercaseLetters].flatMap((c) => [c, c.toLowerCase()]);\nconst ALPHABET: Alphabet = {\n alphabet: upperAndLowercaseLetters,\n letterIndexes: Object.fromEntries(upperAndLowercaseLetters.map((c, i) => [c, i])),\n};\nconst CAPITAL_ALPHABET: Alphabet = {\n alphabet: [...uppercaseLetters].flatMap((c) => [c]),\n letterIndexes: Object.fromEntries([...uppercaseLetters].map((c, i) => [c, i])),\n};\nconst LOWERCASE_ALPHABET: Alphabet = {\n alphabet: [...uppercaseLetters.toLowerCase()].flatMap((c) => [c]),\n letterIndexes: Object.fromEntries([...uppercaseLetters.toLowerCase()].map((c, i) => [c, i])),\n};\n\nconst createItemIndexes = (arr: string[]): Record<string, number> => {\n return Object.fromEntries([...arr].map((c, i) => [c, i]));\n};\n\nconst TAG = `[SIX-ITEM-PICKER]`;\n\nconst subtract = (a: number, b: number) => a - b;\nconst add = (a: number, b: number) => a + b;\n\nexport type SixItemPickerChangePayload = number | string | boolean | TimePeriod;\n\nconst DEBOUNCE_ITEM_PICKER_LISTENER = 'debounced-item-picker';\n\n/**\n * @since 2.0.0\n * @status experimental\n * @part container - The whole component container\n * @part up - The up button\n * @part content - The content area\n * @part down - The down button\n *\n */\n@Component({\n tag: 'six-item-picker',\n styleUrl: 'six-item-picker.scss',\n shadow: true,\n})\nexport class SixItemPicker {\n private readonly eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixItemPickerElement;\n\n /** The item picker's value attribute. */\n @Prop({ mutable: true, reflect: true }) value: number | string = '';\n\n /** The type of items you want to rotate through. */\n @Prop() type: ItemPickerType = ItemPickerType.NUMBER;\n\n /** The minimum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) min?: number | string;\n\n /** The maximum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) max?: number | string;\n\n /** Define whether the picker should to a roundtrip i.e. start at max when reaching min and vice versa. */\n // eslint-disable-next-line @stencil-community/ban-default-true\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, increment: number = this.step) {\n const value = String(this.value);\n const nextIndexCandidate = operation(this.getStringItemIndex(value), increment);\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 this.sixChange.emit(this.value);\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 > Number(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 < Number(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 private handleKeyPress(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n event.preventDefault();\n\n if (event.target === this.upButton) {\n this.nextItem();\n } else if (event.target === this.downButton) {\n this.previousItem();\n }\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.nextItem();\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.previousItem();\n } else if (event.key === 'PageUp') {\n event.preventDefault();\n this.pageUp();\n } else if (event.key === 'PageDown') {\n event.preventDefault();\n this.pageDown();\n } else if (event.key === 'Home') {\n event.preventDefault();\n this.goToMin();\n } else if (event.key === 'End') {\n event.preventDefault();\n this.goToMax();\n }\n }\n\n private pageUp() {\n if (this.isNumber()) {\n this.changeValue({\n isNextItemAllowed: () => !this.isNextNumberDisabled(),\n getNextItem: () => Number(this.value) + 5 * this.step,\n getRoundtripItem: () => Number(this.min),\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n } else {\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(add, 5),\n getRoundtripItem: () => String(this.min),\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n }\n }\n\n private pageDown() {\n if (this.isNumber()) {\n this.changeValue({\n isNextItemAllowed: () => !this.isPreviousNumberDisabled(),\n getNextItem: () => Number(this.value) - 5 * this.step,\n getRoundtripItem: () => Number(this.max),\n isRoundtripPossible: () => this.max === undefined && this.roundtrip,\n });\n } else {\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(subtract, 5),\n getRoundtripItem: () => String(this.max),\n isRoundtripPossible: () => this.max == null && this.roundtrip,\n });\n }\n }\n\n private goToMin() {\n if (this.isNumber()) {\n this.value = this.min ?? 0;\n } else {\n this.value = this._items[0];\n }\n\n this.sixChange.emit(this.value);\n }\n\n private goToMax() {\n if (this.isNumber()) {\n this.value = this.max ?? Infinity;\n } else {\n this.value = this.getLastStringItem();\n }\n\n this.sixChange.emit(this.value);\n }\n\n private upButton!: HTMLDivElement;\n private downButton!: HTMLDivElement;\n\n render() {\n return (\n <div\n part=\"container\"\n class=\"item_picker__container\"\n onKeyDown={(event) => this.handleKeyPress(event)}\n tabindex=\"0\"\n >\n <div\n ref={(el) => (this.upButton = el as HTMLDivElement)}\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 tabindex=\"-1\"\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 ref={(el) => (this.downButton = el as HTMLDivElement)}\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 tabindex=\"-1\"\n >\n <six-icon size=\"large\">expand_more</six-icon>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3baddcdc.js');
5
+ const index = require('./index-d7748d51.js');
6
6
 
7
7
  const sixLanguageSwitcherCss = ".language-switcher__container{display:flex}.language-switcher__separator{padding:0 0.25rem}.language-switcher__label{cursor:pointer}.language-switcher__label:hover{color:var(--six-color-red)}.language-switcher__label--selected{color:var(--six-color-red)}";
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3baddcdc.js');
5
+ const index = require('./index-d7748d51.js');
6
6
 
7
7
  const sixLayoutGridCss = ":host{display:grid;grid-template-columns:repeat(var(--no-of-columns), 1fr);grid-column-gap:1rem}";
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3baddcdc.js');
5
+ const index = require('./index-d7748d51.js');
6
6
 
7
7
  const sixMainContainerCss = ":host{display:flex;flex-wrap:nowrap;min-width:fit-content}.left-margin,.right-margin{flex:1 6 10rem;min-width:var(--six-spacing-xxx-large)}.content{flex:6 1 60rem;min-width:48rem;max-width:100rem}.content--padded{padding:var(--six-spacing-xxx-large) 0}";
8
8
 
@@ -1 +1 @@
1
- {"file":"six-main-container.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,mBAAmB,GAAG,8PAA8P;;MCkB7Q,gBAAgB;;;sBAIV,IAAI;;IAErB,MAAM;QACJ,QACEA,QAACC,UAAI,QACHD,iBAAK,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,aAAa,GAAG,EAC9CA,iBAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,IAC1EA,qBAAQ,CACJ,EACNA,iBAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,GAAG,CAC3C,EACP;KACH;;;;;;;","names":["h","Host"],"sources":["src/components/six-main-container/six-main-container.scss?tag=six-main-container&encapsulation=shadow","src/components/six-main-container/six-main-container.tsx"],"sourcesContent":["$margin-default-width: 10rem;\n$content-default-width: 60rem;\n$content-min-width: 48rem;\n$content-max-width: 100rem;\n\n:host {\n display: flex;\n flex-wrap: nowrap;\n min-width: fit-content;\n}\n\n.left-margin,\n.right-margin {\n flex: 1 6 $margin-default-width;\n min-width: var(--six-spacing-xxx-large);\n}\n\n.content {\n flex: 6 1 $content-default-width;\n min-width: $content-min-width;\n max-width: $content-max-width;\n &--padded {\n padding: var(--six-spacing-xxx-large) 0;\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\n\n/**\n * @since 1.01\n * @status stable\n *\n * @slot - The main container's content.\n *\n * @part left-margin - The component's left margin area.\n * @part content - The component's content area.\n * @part right-margin - The component's right margin area.\n */\n\n@Component({\n tag: 'six-main-container',\n styleUrl: 'six-main-container.scss',\n shadow: true,\n})\nexport class SixMainContainer {\n @Element() host!: HTMLSixMainContainerElement;\n\n /** Set to false to remove top and bottom padding. */\n @Prop() padded = true;\n\n render() {\n return (\n <Host>\n <div part=\"left-margin\" class=\"left-margin\" />\n <div part=\"content\" class={{ content: true, 'content--padded': this.padded }}>\n <slot />\n </div>\n <div part=\"right-margin\" class=\"right-margin\" />\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-main-container.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,mBAAmB,GAAG,8PAA8P;;MCkB7Q,gBAAgB;;;sBAKV,IAAI;;IAErB,MAAM;QACJ,QACEA,QAACC,UAAI,QACHD,iBAAK,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,aAAa,GAAG,EAC9CA,iBAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,IAC1EA,qBAAQ,CACJ,EACNA,iBAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,GAAG,CAC3C,EACP;KACH;;;;;;;","names":["h","Host"],"sources":["src/components/six-main-container/six-main-container.scss?tag=six-main-container&encapsulation=shadow","src/components/six-main-container/six-main-container.tsx"],"sourcesContent":["$margin-default-width: 10rem;\n$content-default-width: 60rem;\n$content-min-width: 48rem;\n$content-max-width: 100rem;\n\n:host {\n display: flex;\n flex-wrap: nowrap;\n min-width: fit-content;\n}\n\n.left-margin,\n.right-margin {\n flex: 1 6 $margin-default-width;\n min-width: var(--six-spacing-xxx-large);\n}\n\n.content {\n flex: 6 1 $content-default-width;\n min-width: $content-min-width;\n max-width: $content-max-width;\n &--padded {\n padding: var(--six-spacing-xxx-large) 0;\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\n\n/**\n * @since 1.01\n * @status stable\n *\n * @slot - The main container's content.\n *\n * @part left-margin - The component's left margin area.\n * @part content - The component's content area.\n * @part right-margin - The component's right margin area.\n */\n\n@Component({\n tag: 'six-main-container',\n styleUrl: 'six-main-container.scss',\n shadow: true,\n})\nexport class SixMainContainer {\n @Element() host!: HTMLSixMainContainerElement;\n\n /** Set to false to remove top and bottom padding. */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop() padded = true;\n\n render() {\n return (\n <Host>\n <div part=\"left-margin\" class=\"left-margin\" />\n <div part=\"content\" class={{ content: true, 'content--padded': this.padded }}>\n <slot />\n </div>\n <div part=\"right-margin\" class=\"right-margin\" />\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3baddcdc.js');
5
+ const index = require('./index-d7748d51.js');
6
6
 
7
- const sixMenuDividerCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block}.menu-divider{border-top:solid var(--six-border-width) var(--six-menu-divider-color);margin:0}";
7
+ const sixMenuDividerCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{display:block}.menu-divider{border-top:solid var(--six-border-width) var(--six-menu-divider-color);margin-top:var(--six-spacing-xx-small);margin-bottom:var(--six-spacing-xx-small)}";
8
8
 
9
9
  const SixMenuDivider = class {
10
10
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"file":"six-menu-divider.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,iBAAiB,GAAG,0NAA0N;;MCgBvO,cAAc;;;;IACzB,MAAM;QACJ,OAAOA,iBAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,WAAW,iBAAa,MAAM,GAAG,CAAC;KACrF;;;;;;","names":["h"],"sources":["src/components/six-menu-divider/six-menu-divider.scss?tag=six-menu-divider&encapsulation=shadow","src/components/six-menu-divider/six-menu-divider.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu-divider {\n border-top: solid var(--six-border-width) var(--six-menu-divider-color);\n margin: 0;\n}\n","import { Component, h } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @part base - The component's base wrapper.\n */\n\n@Component({\n tag: 'six-menu-divider',\n styleUrl: 'six-menu-divider.scss',\n shadow: true,\n})\nexport class SixMenuDivider {\n render() {\n return <div part=\"base\" class=\"menu-divider\" role=\"separator\" aria-hidden=\"true\" />;\n }\n}\n"],"version":3}
1
+ {"file":"six-menu-divider.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,iBAAiB,GAAG,qSAAqS;;MCgBlT,cAAc;;;;IACzB,MAAM;QACJ,OAAOA,iBAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,WAAW,iBAAa,MAAM,GAAG,CAAC;KACrF;;;;;;","names":["h"],"sources":["src/components/six-menu-divider/six-menu-divider.scss?tag=six-menu-divider&encapsulation=shadow","src/components/six-menu-divider/six-menu-divider.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu-divider {\n border-top: solid var(--six-border-width) var(--six-menu-divider-color);\n margin-top: var(--six-spacing-xx-small);\n margin-bottom: var(--six-spacing-xx-small);\n}\n","import { Component, h } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @part base - The component's base wrapper.\n */\n\n@Component({\n tag: 'six-menu-divider',\n styleUrl: 'six-menu-divider.scss',\n shadow: true,\n})\nexport class SixMenuDivider {\n render() {\n return <div part=\"base\" class=\"menu-divider\" role=\"separator\" aria-hidden=\"true\" />;\n }\n}\n"],"version":3}
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3baddcdc.js');
5
+ const index = require('./index-d7748d51.js');
6
6
 
7
- const sixMenuLabelCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block}.menu-label{font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);line-height:var(--six-line-height-normal);letter-spacing:var(--six-letter-spacing-normal);color:var(--six-input-label-color);padding:var(--six-spacing-xx-small) var(--six-spacing-small);user-select:none}";
7
+ const sixMenuLabelCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{display:block}.menu-label{font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);line-height:var(--six-line-height-normal);letter-spacing:var(--six-letter-spacing-normal);color:var(--six-input-label-color);padding:var(--six-spacing-xx-small) var(--six-spacing-small);user-select:none}";
8
8
 
9
9
  const SixMenuLabel = class {
10
10
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"file":"six-menu-label.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,eAAe,GAAG,mcAAmc;;MCkB9c,YAAY;;;;IACvB,MAAM;QACJ,QACEA,iBAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,YAAY,IACjCA,qBAAQ,CACJ,EACN;KACH;;;;;;","names":["h"],"sources":["src/components/six-menu-label/six-menu-label.scss?tag=six-menu-label&encapsulation=shadow","src/components/six-menu-label/six-menu-label.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu-label {\n font-family: var(--six-font-sans);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-normal);\n line-height: var(--six-line-height-normal);\n letter-spacing: var(--six-letter-spacing-normal);\n color: var(--six-input-label-color);\n padding: var(--six-spacing-xx-small) var(--six-spacing-small);\n user-select: none;\n}\n","import { Component, h } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The menu label's content.\n *\n * @part base - The component's base wrapper.\n */\n\n@Component({\n tag: 'six-menu-label',\n styleUrl: 'six-menu-label.scss',\n shadow: true,\n})\nexport class SixMenuLabel {\n render() {\n return (\n <div part=\"base\" class=\"menu-label\">\n <slot />\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-menu-label.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,eAAe,GAAG,scAAsc;;MCkBjd,YAAY;;;;IACvB,MAAM;QACJ,QACEA,iBAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,YAAY,IACjCA,qBAAQ,CACJ,EACN;KACH;;;;;;","names":["h"],"sources":["src/components/six-menu-label/six-menu-label.scss?tag=six-menu-label&encapsulation=shadow","src/components/six-menu-label/six-menu-label.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu-label {\n font-family: var(--six-font-sans);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-normal);\n line-height: var(--six-line-height-normal);\n letter-spacing: var(--six-letter-spacing-normal);\n color: var(--six-input-label-color);\n padding: var(--six-spacing-xx-small) var(--six-spacing-small);\n user-select: none;\n}\n","import { Component, h } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The menu label's content.\n *\n * @part base - The component's base wrapper.\n */\n\n@Component({\n tag: 'six-menu-label',\n styleUrl: 'six-menu-label.scss',\n shadow: true,\n})\nexport class SixMenuLabel {\n render() {\n return (\n <div part=\"base\" class=\"menu-label\">\n <slot />\n </div>\n );\n }\n}\n"],"version":3}