@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
@@ -211,9 +211,9 @@ export class SixItemPicker {
211
211
  isRoundtripPossible: () => this.min === undefined && this.roundtrip,
212
212
  });
213
213
  }
214
- getNextItemByOperation(operation) {
214
+ getNextItemByOperation(operation, increment = this.step) {
215
215
  const value = String(this.value);
216
- const nextIndexCandidate = operation(this.getStringItemIndex(value), this.step);
216
+ const nextIndexCandidate = operation(this.getStringItemIndex(value), increment);
217
217
  const numberOfItems = this._items.length;
218
218
  const nextIndex = ((nextIndexCandidate % numberOfItems) + numberOfItems) % numberOfItems;
219
219
  return this._items[nextIndex];
@@ -232,6 +232,7 @@ export class SixItemPicker {
232
232
  return;
233
233
  }
234
234
  console.warn(`${TAG} Roundtrip is not allowed, but was still triggered, please report this issue to the developer of six-item-picker`);
235
+ this.sixChange.emit(this.value);
235
236
  }
236
237
  isNumber() {
237
238
  return this.type === ItemPickerType.NUMBER;
@@ -314,14 +315,109 @@ export class SixItemPicker {
314
315
  }
315
316
  return this.value;
316
317
  }
318
+ handleKeyPress(event) {
319
+ if (event.key === 'Enter') {
320
+ event.preventDefault();
321
+ if (event.target === this.upButton) {
322
+ this.nextItem();
323
+ }
324
+ else if (event.target === this.downButton) {
325
+ this.previousItem();
326
+ }
327
+ }
328
+ else if (event.key === 'ArrowUp') {
329
+ event.preventDefault();
330
+ this.nextItem();
331
+ }
332
+ else if (event.key === 'ArrowDown') {
333
+ event.preventDefault();
334
+ this.previousItem();
335
+ }
336
+ else if (event.key === 'PageUp') {
337
+ event.preventDefault();
338
+ this.pageUp();
339
+ }
340
+ else if (event.key === 'PageDown') {
341
+ event.preventDefault();
342
+ this.pageDown();
343
+ }
344
+ else if (event.key === 'Home') {
345
+ event.preventDefault();
346
+ this.goToMin();
347
+ }
348
+ else if (event.key === 'End') {
349
+ event.preventDefault();
350
+ this.goToMax();
351
+ }
352
+ }
353
+ pageUp() {
354
+ if (this.isNumber()) {
355
+ this.changeValue({
356
+ isNextItemAllowed: () => !this.isNextNumberDisabled(),
357
+ getNextItem: () => Number(this.value) + 5 * this.step,
358
+ getRoundtripItem: () => Number(this.min),
359
+ isRoundtripPossible: () => this.min === undefined && this.roundtrip,
360
+ });
361
+ }
362
+ else {
363
+ const value = String(this.value);
364
+ const minLetter = String(this.min);
365
+ this.changeValue({
366
+ isNextItemAllowed: () => minLetter === undefined || this.getStringItemIndex(value) > this.getStringItemIndex(minLetter),
367
+ getNextItem: () => this.getNextItemByOperation(add, 5),
368
+ getRoundtripItem: () => String(this.min),
369
+ isRoundtripPossible: () => this.min === undefined && this.roundtrip,
370
+ });
371
+ }
372
+ }
373
+ pageDown() {
374
+ if (this.isNumber()) {
375
+ this.changeValue({
376
+ isNextItemAllowed: () => !this.isPreviousNumberDisabled(),
377
+ getNextItem: () => Number(this.value) - 5 * this.step,
378
+ getRoundtripItem: () => Number(this.max),
379
+ isRoundtripPossible: () => this.max === undefined && this.roundtrip,
380
+ });
381
+ }
382
+ else {
383
+ const value = String(this.value);
384
+ const maxLetter = String(this.max);
385
+ this.changeValue({
386
+ isNextItemAllowed: () => maxLetter === undefined || this.getStringItemIndex(value) < this.getStringItemIndex(maxLetter),
387
+ getNextItem: () => this.getNextItemByOperation(subtract, 5),
388
+ getRoundtripItem: () => String(this.max),
389
+ isRoundtripPossible: () => this.max == null && this.roundtrip,
390
+ });
391
+ }
392
+ }
393
+ goToMin() {
394
+ var _a;
395
+ if (this.isNumber()) {
396
+ this.value = (_a = this.min) !== null && _a !== void 0 ? _a : 0;
397
+ }
398
+ else {
399
+ this.value = this._items[0];
400
+ }
401
+ this.sixChange.emit(this.value);
402
+ }
403
+ goToMax() {
404
+ var _a;
405
+ if (this.isNumber()) {
406
+ this.value = (_a = this.max) !== null && _a !== void 0 ? _a : Infinity;
407
+ }
408
+ else {
409
+ this.value = this.getLastStringItem();
410
+ }
411
+ this.sixChange.emit(this.value);
412
+ }
317
413
  render() {
318
- return (h("div", { part: "container", class: "item_picker__container" }, h("div", { part: "up", class: {
414
+ return (h("div", { part: "container", class: "item_picker__container", onKeyDown: (event) => this.handleKeyPress(event), tabindex: "0" }, h("div", { ref: (el) => (this.upButton = el), part: "up", class: {
319
415
  item_picker__btn: true,
320
416
  'item_picker__btn--disabled': this.isNextDisabled(),
321
- }, onMouseDown: () => this.onMouseDownNext(), onMouseUp: () => this.onMouseUpNext() }, h("six-icon", { size: "large" }, "expand_less")), h("div", { part: "content", class: "item_picker__content" }, this.getFormattedValue()), h("div", { part: "down", class: {
417
+ }, onMouseDown: () => this.onMouseDownNext(), onMouseUp: () => this.onMouseUpNext(), tabindex: "-1" }, h("six-icon", { size: "large" }, "expand_less")), h("div", { part: "content", class: "item_picker__content" }, this.getFormattedValue()), h("div", { ref: (el) => (this.downButton = el), part: "down", class: {
322
418
  item_picker__btn: true,
323
419
  'item_picker__btn--disabled': this.isPrevDisabled(),
324
- }, onMouseDown: () => this.onMouseDownPrev(), onMouseUp: () => this.onMouseUpPrev() }, h("six-icon", { size: "large" }, "expand_more"))));
420
+ }, onMouseDown: () => this.onMouseDownPrev(), onMouseUp: () => this.onMouseUpPrev(), tabindex: "-1" }, h("six-icon", { size: "large" }, "expand_more"))));
325
421
  }
326
422
  static get is() { return "six-item-picker"; }
327
423
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"six-item-picker.js","sourceRoot":"","sources":["../../../src/components/six-item-picker/six-item-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { ItemPickerPaddingDirection, ItemPickerType } from './types';\nimport { debounce, DEFAULT_DEBOUNCE_FAST, DEFAULT_DEBOUNCE_INSANELY_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\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"]}
1
+ {"version":3,"file":"six-item-picker.js","sourceRoot":"","sources":["../../../src/components/six-item-picker/six-item-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { ItemPickerPaddingDirection, ItemPickerType } from './types';\nimport { debounce, DEFAULT_DEBOUNCE_FAST, DEFAULT_DEBOUNCE_INSANELY_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { TimePeriod } from '../../utils/time.util';\n\ninterface Alphabet {\n alphabet: string[];\n letterIndexes: Record<string, number>;\n}\n\nconst uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\nconst upperAndLowercaseLetters = [...uppercaseLetters].flatMap((c) => [c, c.toLowerCase()]);\nconst ALPHABET: Alphabet = {\n alphabet: upperAndLowercaseLetters,\n letterIndexes: Object.fromEntries(upperAndLowercaseLetters.map((c, i) => [c, i])),\n};\nconst CAPITAL_ALPHABET: Alphabet = {\n alphabet: [...uppercaseLetters].flatMap((c) => [c]),\n letterIndexes: Object.fromEntries([...uppercaseLetters].map((c, i) => [c, i])),\n};\nconst LOWERCASE_ALPHABET: Alphabet = {\n alphabet: [...uppercaseLetters.toLowerCase()].flatMap((c) => [c]),\n letterIndexes: Object.fromEntries([...uppercaseLetters.toLowerCase()].map((c, i) => [c, i])),\n};\n\nconst createItemIndexes = (arr: string[]): Record<string, number> => {\n return Object.fromEntries([...arr].map((c, i) => [c, i]));\n};\n\nconst TAG = `[SIX-ITEM-PICKER]`;\n\nconst subtract = (a: number, b: number) => a - b;\nconst add = (a: number, b: number) => a + b;\n\nexport type SixItemPickerChangePayload = number | string | boolean | TimePeriod;\n\nconst DEBOUNCE_ITEM_PICKER_LISTENER = 'debounced-item-picker';\n\n/**\n * @since 2.0.0\n * @status experimental\n * @part container - The whole component container\n * @part up - The up button\n * @part content - The content area\n * @part down - The down button\n *\n */\n@Component({\n tag: 'six-item-picker',\n styleUrl: 'six-item-picker.scss',\n shadow: true,\n})\nexport class SixItemPicker {\n private readonly eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixItemPickerElement;\n\n /** The item picker's value attribute. */\n @Prop({ mutable: true, reflect: true }) value: number | string = '';\n\n /** The type of items you want to rotate through. */\n @Prop() type: ItemPickerType = ItemPickerType.NUMBER;\n\n /** The minimum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) min?: number | string;\n\n /** The maximum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) max?: number | string;\n\n /** Define whether the picker should to a roundtrip i.e. start at max when reaching min and vice versa. */\n // 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"]}
@@ -9,25 +9,25 @@ describe('six-item-picker', () => {
9
9
  });
10
10
  // then
11
11
  expect(page.root).toEqualHtml(`
12
- <six-item-picker roundtrip="" step="1" value="0">
13
- <mock:shadow-root>
14
- <div class="item_picker__container" part="container">
15
- <div class="item_picker__btn" part="up">
16
- <six-icon size="large">
17
- expand_less
18
- </six-icon>
19
- </div>
20
- <div class="item_picker__content" part="content">
21
- 0
22
- </div>
23
- <div class="item_picker__btn" part="down">
24
- <six-icon size="large">
25
- expand_more
26
- </six-icon>
27
- </div>
28
- </div>
29
- </mock:shadow-root>
30
- </six-item-picker>`);
12
+ <six-item-picker roundtrip="" step="1" value="0">
13
+ <mock:shadow-root>
14
+ <div class="item_picker__container" part="container" tabindex="0">
15
+ <div class="item_picker__btn" part="up" tabindex="-1">
16
+ <six-icon size="large">
17
+ expand_less
18
+ </six-icon>
19
+ </div>
20
+ <div class="item_picker__content" part="content">
21
+ 0
22
+ </div>
23
+ <div class="item_picker__btn" part="down" tabindex="-1">
24
+ <six-icon size="large">
25
+ expand_more
26
+ </six-icon>
27
+ </div>
28
+ </div>
29
+ </mock:shadow-root>
30
+ </six-item-picker>`);
31
31
  });
32
32
  it('should render number picker with correct attributes', async () => {
33
33
  // given
@@ -37,25 +37,25 @@ describe('six-item-picker', () => {
37
37
  });
38
38
  // then
39
39
  expect(page.root).toEqualHtml(`
40
- <six-item-picker max="13" min="3" roundtrip="false" step="5" value="5">
41
- <mock:shadow-root>
42
- <div class="item_picker__container" part="container">
43
- <div class="item_picker__btn" part="up">
44
- <six-icon size="large">
45
- expand_less
46
- </six-icon>
47
- </div>
48
- <div class="item_picker__content" part="content">
49
- 5
50
- </div>
51
- <div class="item_picker__btn item_picker__btn--disabled" part="down">
52
- <six-icon size="large">
53
- expand_more
54
- </six-icon>
55
- </div>
56
- </div>
57
- </mock:shadow-root>
58
- </six-item-picker>
40
+ <six-item-picker max="13" min="3" roundtrip="false" step="5" value="5">
41
+ <mock:shadow-root>
42
+ <div class="item_picker__container" part="container" tabindex="0">
43
+ <div class="item_picker__btn" part="up" tabindex="-1">
44
+ <six-icon size="large">
45
+ expand_less
46
+ </six-icon>
47
+ </div>
48
+ <div class="item_picker__content" part="content">
49
+ 5
50
+ </div>
51
+ <div class="item_picker__btn item_picker__btn--disabled" part="down" tabindex="-1">
52
+ <six-icon size="large">
53
+ expand_more
54
+ </six-icon>
55
+ </div>
56
+ </div>
57
+ </mock:shadow-root>
58
+ </six-item-picker>
59
59
  `);
60
60
  });
61
61
  it('should render letter picker with correct attributes', async () => {
@@ -66,25 +66,25 @@ describe('six-item-picker', () => {
66
66
  });
67
67
  // then
68
68
  expect(page.root).toEqualHtml(`
69
- <six-item-picker max="k" min="c" roundtrip="false" step="1" type="letter" value="d">
70
- <mock:shadow-root>
71
- <div class="item_picker__container" part="container">
72
- <div class="item_picker__btn" part="up">
73
- <six-icon size="large">
74
- expand_less
75
- </six-icon>
76
- </div>
77
- <div class="item_picker__content" part="content">
78
- d
79
- </div>
80
- <div class="item_picker__btn" part="down">
81
- <six-icon size="large">
82
- expand_more
83
- </six-icon>
84
- </div>
85
- </div>
86
- </mock:shadow-root>
87
- </six-item-picker>`);
69
+ <six-item-picker max="k" min="c" roundtrip="false" step="1" type="letter" value="d">
70
+ <mock:shadow-root>
71
+ <div class="item_picker__container" part="container" tabindex="0">
72
+ <div class="item_picker__btn" part="up" tabindex="-1">
73
+ <six-icon size="large">
74
+ expand_less
75
+ </six-icon>
76
+ </div>
77
+ <div class="item_picker__content" part="content">
78
+ d
79
+ </div>
80
+ <div class="item_picker__btn" part="down" tabindex="-1">
81
+ <six-icon size="large">
82
+ expand_more
83
+ </six-icon>
84
+ </div>
85
+ </div>
86
+ </mock:shadow-root>
87
+ </six-item-picker>`);
88
88
  });
89
89
  });
90
90
  //# sourceMappingURL=six-item-picker.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"six-item-picker.spec.js","sourceRoot":"","sources":["../../../../src/components/six-item-picker/test/six-item-picker.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,qCAAqC;SAC5C,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;mBAmBf,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,2FAA2F;SAClG,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;KAoB7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,+FAA+F;SACtG,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;mBAmBf,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixItemPicker } from '../six-item-picker';\n\ndescribe('six-item-picker', () => {\n it('should render default', async () => {\n // given\n const page = await newSpecPage({\n components: [SixItemPicker],\n html: `<six-item-picker></six-item-picker>`,\n });\n\n // then\n expect(page.root).toEqualHtml(`\n<six-item-picker roundtrip=\"\" step=\"1\" value=\"0\">\n <mock:shadow-root>\n <div class=\"item_picker__container\" part=\"container\">\n <div class=\"item_picker__btn\" part=\"up\">\n <six-icon size=\"large\">\n expand_less\n </six-icon>\n </div>\n <div class=\"item_picker__content\" part=\"content\">\n 0\n </div>\n <div class=\"item_picker__btn\" part=\"down\">\n <six-icon size=\"large\">\n expand_more\n </six-icon>\n </div>\n </div>\n </mock:shadow-root>\n</six-item-picker>`);\n });\n\n it('should render number picker with correct attributes', async () => {\n // given\n const page = await newSpecPage({\n components: [SixItemPicker],\n html: `<six-item-picker value=\"5\" step=\"5\" min=\"3\" max=\"13\" roundtrip=\"false\"></six-item-picker>`,\n });\n\n // then\n expect(page.root).toEqualHtml(`\n<six-item-picker max=\"13\" min=\"3\" roundtrip=\"false\" step=\"5\" value=\"5\">\n <mock:shadow-root>\n <div class=\"item_picker__container\" part=\"container\">\n <div class=\"item_picker__btn\" part=\"up\">\n <six-icon size=\"large\">\n expand_less\n </six-icon>\n </div>\n <div class=\"item_picker__content\" part=\"content\">\n 5\n </div>\n <div class=\"item_picker__btn item_picker__btn--disabled\" part=\"down\">\n <six-icon size=\"large\">\n expand_more\n </six-icon>\n </div>\n </div>\n </mock:shadow-root>\n</six-item-picker>\n `);\n });\n\n it('should render letter picker with correct attributes', async () => {\n // given\n const page = await newSpecPage({\n components: [SixItemPicker],\n html: `<six-item-picker type=\"letter\" roundtrip=\"false\" min=\"c\" max=\"k\" value=\"d\"></six-item-picker>`,\n });\n\n // then\n expect(page.root).toEqualHtml(`\n<six-item-picker max=\"k\" min=\"c\" roundtrip=\"false\" step=\"1\" type=\"letter\" value=\"d\">\n <mock:shadow-root>\n <div class=\"item_picker__container\" part=\"container\">\n <div class=\"item_picker__btn\" part=\"up\">\n <six-icon size=\"large\">\n expand_less\n </six-icon>\n </div>\n <div class=\"item_picker__content\" part=\"content\">\n d\n </div>\n <div class=\"item_picker__btn\" part=\"down\">\n <six-icon size=\"large\">\n expand_more\n </six-icon>\n </div>\n </div>\n </mock:shadow-root>\n</six-item-picker>`);\n });\n});\n"]}
1
+ {"version":3,"file":"six-item-picker.spec.js","sourceRoot":"","sources":["../../../../src/components/six-item-picker/test/six-item-picker.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,qCAAqC;SAC5C,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;yBAmBT,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,2FAA2F;SAClG,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;KAoB7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,+FAA+F;SACtG,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;yBAmBT,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixItemPicker } from '../six-item-picker';\n\ndescribe('six-item-picker', () => {\n it('should render default', async () => {\n // given\n const page = await newSpecPage({\n components: [SixItemPicker],\n html: `<six-item-picker></six-item-picker>`,\n });\n\n // then\n expect(page.root).toEqualHtml(`\n <six-item-picker roundtrip=\"\" step=\"1\" value=\"0\">\n <mock:shadow-root>\n <div class=\"item_picker__container\" part=\"container\" tabindex=\"0\">\n <div class=\"item_picker__btn\" part=\"up\" tabindex=\"-1\">\n <six-icon size=\"large\">\n expand_less\n </six-icon>\n </div>\n <div class=\"item_picker__content\" part=\"content\">\n 0\n </div>\n <div class=\"item_picker__btn\" part=\"down\" tabindex=\"-1\">\n <six-icon size=\"large\">\n expand_more\n </six-icon>\n </div>\n </div>\n </mock:shadow-root>\n </six-item-picker>`);\n });\n\n it('should render number picker with correct attributes', async () => {\n // given\n const page = await newSpecPage({\n components: [SixItemPicker],\n html: `<six-item-picker value=\"5\" step=\"5\" min=\"3\" max=\"13\" roundtrip=\"false\"></six-item-picker>`,\n });\n\n // then\n expect(page.root).toEqualHtml(`\n <six-item-picker max=\"13\" min=\"3\" roundtrip=\"false\" step=\"5\" value=\"5\">\n <mock:shadow-root>\n <div class=\"item_picker__container\" part=\"container\" tabindex=\"0\">\n <div class=\"item_picker__btn\" part=\"up\" tabindex=\"-1\">\n <six-icon size=\"large\">\n expand_less\n </six-icon>\n </div>\n <div class=\"item_picker__content\" part=\"content\">\n 5\n </div>\n <div class=\"item_picker__btn item_picker__btn--disabled\" part=\"down\" tabindex=\"-1\">\n <six-icon size=\"large\">\n expand_more\n </six-icon>\n </div>\n </div>\n </mock:shadow-root>\n </six-item-picker>\n `);\n });\n\n it('should render letter picker with correct attributes', async () => {\n // given\n const page = await newSpecPage({\n components: [SixItemPicker],\n html: `<six-item-picker type=\"letter\" roundtrip=\"false\" min=\"c\" max=\"k\" value=\"d\"></six-item-picker>`,\n });\n\n // then\n expect(page.root).toEqualHtml(`\n <six-item-picker max=\"k\" min=\"c\" roundtrip=\"false\" step=\"1\" type=\"letter\" value=\"d\">\n <mock:shadow-root>\n <div class=\"item_picker__container\" part=\"container\" tabindex=\"0\">\n <div class=\"item_picker__btn\" part=\"up\" tabindex=\"-1\">\n <six-icon size=\"large\">\n expand_less\n </six-icon>\n </div>\n <div class=\"item_picker__content\" part=\"content\">\n d\n </div>\n <div class=\"item_picker__btn\" part=\"down\" tabindex=\"-1\">\n <six-icon size=\"large\">\n expand_more\n </six-icon>\n </div>\n </div>\n </mock:shadow-root>\n </six-item-picker>`);\n });\n});\n"]}
@@ -1,3 +1,4 @@
1
+ // eslint-disable-next-line @stencil-community/ban-exported-const-enums
1
2
  export var ItemPickerType;
2
3
  (function (ItemPickerType) {
3
4
  ItemPickerType["NUMBER"] = "number";
@@ -6,6 +7,7 @@ export var ItemPickerType;
6
7
  ItemPickerType["LOWER_LETTER"] = "lower-letter";
7
8
  ItemPickerType["CUSTOM"] = "custom";
8
9
  })(ItemPickerType || (ItemPickerType = {}));
10
+ // eslint-disable-next-line @stencil-community/ban-exported-const-enums
9
11
  export var ItemPickerPaddingDirection;
10
12
  (function (ItemPickerPaddingDirection) {
11
13
  ItemPickerPaddingDirection["BEFORE"] = "before";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/six-item-picker/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,mDAAiC,CAAA;IACjC,+CAA6B,CAAA;IAC7B,mCAAiB,CAAA;AACnB,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAED,MAAM,CAAN,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,+CAAiB,CAAA;IACjB,6CAAe,CAAA;AACjB,CAAC,EAHW,0BAA0B,KAA1B,0BAA0B,QAGrC","sourcesContent":["export enum ItemPickerType {\n NUMBER = 'number',\n LETTER = 'letter',\n CAPITAL_LETTER = 'capital-letter',\n LOWER_LETTER = 'lower-letter',\n CUSTOM = 'custom',\n}\n\nexport enum ItemPickerPaddingDirection {\n BEFORE = 'before',\n AFTER = 'after',\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/six-item-picker/types.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,mDAAiC,CAAA;IACjC,+CAA6B,CAAA;IAC7B,mCAAiB,CAAA;AACnB,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAED,uEAAuE;AACvE,MAAM,CAAN,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,+CAAiB,CAAA;IACjB,6CAAe,CAAA;AACjB,CAAC,EAHW,0BAA0B,KAA1B,0BAA0B,QAGrC","sourcesContent":["// eslint-disable-next-line @stencil-community/ban-exported-const-enums\nexport enum ItemPickerType {\n NUMBER = 'number',\n LETTER = 'letter',\n CAPITAL_LETTER = 'capital-letter',\n LOWER_LETTER = 'lower-letter',\n CUSTOM = 'custom',\n}\n\n// eslint-disable-next-line @stencil-community/ban-exported-const-enums\nexport enum ItemPickerPaddingDirection {\n BEFORE = 'before',\n AFTER = 'after',\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"six-main-container.js","sourceRoot":"","sources":["../../../src/components/six-main-container/six-main-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAElE;;;;;;;;;GASG;AAOH,MAAM,OAAO,gBAAgB;;sBAIV,IAAI;;IAErB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,WAAK,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,aAAa,GAAG;YAC9C,WAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE;gBAC1E,eAAQ,CACJ;YACN,WAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,GAAG,CAC3C,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Prop } from '@stencil/core';\n\n/**\n * @since 1.01\n * @status stable\n *\n * @slot - The main container's content.\n *\n * @part left-margin - The component's left margin area.\n * @part content - The component's content area.\n * @part right-margin - The component's right margin area.\n */\n\n@Component({\n tag: 'six-main-container',\n styleUrl: 'six-main-container.scss',\n shadow: true,\n})\nexport class SixMainContainer {\n @Element() host!: HTMLSixMainContainerElement;\n\n /** Set to false to remove top and bottom padding. */\n @Prop() padded = true;\n\n render() {\n return (\n <Host>\n <div part=\"left-margin\" class=\"left-margin\" />\n <div part=\"content\" class={{ content: true, 'content--padded': this.padded }}>\n <slot />\n </div>\n <div part=\"right-margin\" class=\"right-margin\" />\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-main-container.js","sourceRoot":"","sources":["../../../src/components/six-main-container/six-main-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAElE;;;;;;;;;GASG;AAOH,MAAM,OAAO,gBAAgB;;sBAKV,IAAI;;IAErB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,WAAK,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,aAAa,GAAG;YAC9C,WAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE;gBAC1E,eAAQ,CACJ;YACN,WAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,GAAG,CAC3C,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Prop } from '@stencil/core';\n\n/**\n * @since 1.01\n * @status stable\n *\n * @slot - The main container's content.\n *\n * @part left-margin - The component's left margin area.\n * @part content - The component's content area.\n * @part right-margin - The component's right margin area.\n */\n\n@Component({\n tag: 'six-main-container',\n styleUrl: 'six-main-container.scss',\n shadow: true,\n})\nexport class SixMainContainer {\n @Element() host!: HTMLSixMainContainerElement;\n\n /** Set to false to remove top and bottom padding. */\n // 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"]}
@@ -3,7 +3,7 @@
3
3
  box-sizing: border-box;
4
4
  }
5
5
  :host *, :host *:before, :host *:after {
6
- box-sizing: inherit;
6
+ box-sizing: border-box;
7
7
  }
8
8
 
9
9
  :host {
@@ -11,16 +11,17 @@
11
11
  }
12
12
 
13
13
  .menu {
14
- padding: 0 0;
14
+ padding: var(--six-spacing-xx-small) 0;
15
15
  border: none;
16
- box-shadow: var(--six-elevation-2dp);
16
+ box-shadow: var(--six-shadow-small);
17
+ overflow-y: auto;
18
+ overflow-x: hidden;
17
19
  }
20
+
18
21
  .menu:focus {
19
22
  outline: none;
20
23
  }
21
- .menu--noshadow {
24
+
25
+ .no-shadow {
22
26
  box-shadow: none;
23
- }
24
- .menu__wrapper--scrollable {
25
- overflow-y: auto;
26
27
  }
@@ -4,7 +4,7 @@ import { EventListeners } from "../../utils/event-listeners";
4
4
  import { debounce } from "../../utils/execution-control";
5
5
  const isFocusedMenuItem = (menuItem) => { var _a, _b, _c; return (_c = (_b = (_a = menuItem === null || menuItem === void 0 ? void 0 : menuItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.menu-item')) === null || _b === void 0 ? void 0 : _b.classList) === null || _c === void 0 ? void 0 : _c.contains('menu-item--focused'); };
6
6
  const isSIXMenuItemElement = (el) => (el === null || el === void 0 ? void 0 : el.tagName.toLowerCase()) === 'six-menu-item';
7
- const mapToMenuItem = ({ value, label }) => h("six-menu-item", { value: value }, label);
7
+ const mapToMenuItem = ({ value, label }) => (h("six-menu-item", { key: value, value: value }, label));
8
8
  const DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING = 5;
9
9
  const DEFAULT_SIX_MENU_ITEM_HEIGHT = 64;
10
10
  /**
@@ -33,6 +33,7 @@ export class SixMenu {
33
33
  this.virtualScroll = false;
34
34
  this.itemSize = 10;
35
35
  this.scrollingDebounce = 15;
36
+ this.disableKeyboardHandling = false;
36
37
  this.scrollingIndex = 0;
37
38
  this.sixMenuItemHeight = DEFAULT_SIX_MENU_ITEM_HEIGHT;
38
39
  }
@@ -136,6 +137,9 @@ export class SixMenu {
136
137
  }
137
138
  }
138
139
  handleKeyDown(event) {
140
+ if (this.disableKeyboardHandling) {
141
+ return;
142
+ }
139
143
  // Make a selection when pressing enter
140
144
  if (event.key === 'Enter') {
141
145
  const activeItem = this.getActiveItem();
@@ -209,13 +213,12 @@ export class SixMenu {
209
213
  }
210
214
  return this.items
211
215
  .slice(this.scrollingIndex, Math.min(this.items.length, this.itemSize + this.scrollingIndex))
212
- .map(mapToMenuItem);
216
+ .map(({ value, label }) => (h("six-menu-item", { checkType: "check", key: value, value: value }, label)));
213
217
  }
214
218
  render() {
215
219
  return (h("div", { ref: (el) => (this.menuWrapper = el), style: this.getMenuWrapperStyle(), part: "wrapper", class: {
216
220
  menu: true,
217
- 'menu--noshadow': this.removeBoxShadow,
218
- 'menu__wrapper--scrollable': this.getItemsShown() > 0,
221
+ '.no-shadow': this.removeBoxShadow,
219
222
  } }, h("div", { ref: (el) => (this.menu = el), part: "base", role: "menu", onClick: this.handleClick, onKeyDown: this.handleKeyDown, tabIndex: 0, style: this.getMenuContainerStyle() }, h("slot", null), this.renderItems()), this.virtualScroll && h("div", { style: this.getScrollbarGhostStyle() })));
220
223
  }
221
224
  static get is() { return "six-menu"; }
@@ -342,6 +345,24 @@ export class SixMenu {
342
345
  "attribute": "scrolling-debounce",
343
346
  "reflect": false,
344
347
  "defaultValue": "15"
348
+ },
349
+ "disableKeyboardHandling": {
350
+ "type": "boolean",
351
+ "mutable": false,
352
+ "complexType": {
353
+ "original": "boolean",
354
+ "resolved": "boolean",
355
+ "references": {}
356
+ },
357
+ "required": false,
358
+ "optional": false,
359
+ "docs": {
360
+ "tags": [],
361
+ "text": "Internal: Disables handling of key presses."
362
+ },
363
+ "attribute": "disable-keyboard-handling",
364
+ "reflect": false,
365
+ "defaultValue": "false"
345
366
  }
346
367
  };
347
368
  }
@@ -381,8 +402,9 @@ export class SixMenu {
381
402
  "complexType": {
382
403
  "signature": "(key: string) => Promise<void>",
383
404
  "parameters": [{
384
- "tags": [],
385
- "text": ""
405
+ "name": "key",
406
+ "type": "string",
407
+ "docs": ""
386
408
  }],
387
409
  "references": {
388
410
  "Promise": {