@six-group/ui-library 0.0.0-insider.ad9373a → 0.0.0-insider.af88f91

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 (731) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  3. package/dist/cjs/{form-control-72186fcc.js → form-control-de259450.js} +2 -2
  4. package/dist/cjs/{form-control-72186fcc.js.map → form-control-de259450.js.map} +1 -1
  5. package/dist/cjs/{index-5dd19c4b.js → index-1f707a55.js} +76 -44
  6. package/dist/cjs/index-1f707a55.js.map +1 -0
  7. package/dist/cjs/index.cjs.js +54 -1
  8. package/dist/cjs/index.cjs.js.map +1 -1
  9. package/dist/cjs/loader.cjs.js +5 -3
  10. package/dist/cjs/loader.cjs.js.map +1 -1
  11. package/dist/cjs/{modal-3ce015be.js → modal-bd7fc5bc.js} +1 -18
  12. package/dist/cjs/modal-bd7fc5bc.js.map +1 -0
  13. package/dist/cjs/six-alert.cjs.entry.js +42 -9
  14. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  15. package/dist/cjs/six-avatar.cjs.entry.js +4 -3
  16. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  17. package/dist/cjs/six-badge.cjs.entry.js +5 -4
  18. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  19. package/dist/cjs/six-button.cjs.entry.js +7 -5
  20. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  21. package/dist/cjs/six-card.cjs.entry.js +4 -3
  22. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  23. package/dist/cjs/six-checkbox_2.cjs.entry.js +11 -9
  24. package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -1
  25. package/dist/cjs/six-datepicker.cjs.entry.js +40 -12
  26. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  27. package/dist/cjs/six-details.cjs.entry.js +7 -6
  28. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  29. package/dist/cjs/six-dialog.cjs.entry.js +14 -30
  30. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-drawer.cjs.entry.js +13 -30
  32. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  33. package/dist/cjs/six-dropdown_2.cjs.entry.js +17 -13
  34. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-error-page.cjs.entry.js +4 -3
  36. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  37. package/dist/cjs/six-error.cjs.entry.js +5 -4
  38. package/dist/cjs/six-error.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-file-list-item.cjs.entry.js +6 -5
  40. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-file-list.cjs.entry.js +4 -3
  42. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-file-upload.cjs.entry.js +32 -9
  44. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-footer.cjs.entry.js +4 -3
  46. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/six-group-label.cjs.entry.js +5 -4
  48. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-header.cjs.entry.js +24 -16
  50. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-icon-button.cjs.entry.js +6 -5
  52. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  53. package/dist/cjs/six-icon.cjs.entry.js +6 -5
  54. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-input.cjs.entry.js +7 -6
  56. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-item-picker.cjs.entry.js +6 -5
  58. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-language-switcher.cjs.entry.js +11 -6
  60. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-layout-grid.cjs.entry.js +4 -3
  62. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-main-container.cjs.entry.js +4 -3
  64. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-menu-divider.cjs.entry.js +4 -3
  66. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-menu-label.cjs.entry.js +4 -3
  68. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-picto.cjs.entry.js +4 -3
  70. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  71. package/dist/cjs/six-progress-bar.cjs.entry.js +5 -4
  72. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-progress-ring.cjs.entry.js +4 -3
  74. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-radio.cjs.entry.js +5 -4
  76. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  77. package/dist/cjs/six-range.cjs.entry.js +17 -6
  78. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  79. package/dist/cjs/six-root.cjs.entry.js +4 -22
  80. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  81. package/dist/cjs/six-search-field.cjs.entry.js +4 -3
  82. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  83. package/dist/cjs/six-select.cjs.entry.js +70 -44
  84. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +4 -3
  86. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-sidebar-item.cjs.entry.js +5 -4
  88. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-sidebar.cjs.entry.js +5 -4
  90. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-spinner.cjs.entry.js +3 -2
  92. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-stage-indicator.cjs.entry.js +23 -0
  94. package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -0
  95. package/dist/cjs/six-switch.cjs.entry.js +6 -5
  96. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-tab-group.cjs.entry.js +34 -8
  98. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-tab-panel.cjs.entry.js +4 -3
  100. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-tab.cjs.entry.js +5 -4
  102. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-tag.cjs.entry.js +5 -4
  104. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  105. package/dist/cjs/six-textarea.cjs.entry.js +6 -5
  106. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  107. package/dist/cjs/six-tile.cjs.entry.js +6 -5
  108. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  109. package/dist/cjs/six-timepicker.cjs.entry.js +4 -3
  110. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  111. package/dist/cjs/six-tooltip.cjs.entry.js +5 -4
  112. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ui-library.cjs.js +6 -4
  114. package/dist/cjs/ui-library.cjs.js.map +1 -1
  115. package/dist/collection/assets/TRADEMARKS.md +3 -3
  116. package/dist/collection/collection-manifest.json +5 -6
  117. package/dist/collection/components/six-alert/six-alert.css +4 -0
  118. package/dist/collection/components/six-alert/six-alert.js +57 -12
  119. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  120. package/dist/collection/components/six-avatar/six-avatar.js +1 -1
  121. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  122. package/dist/collection/components/six-badge/six-badge.js +2 -2
  123. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  124. package/dist/collection/components/six-button/six-button.css +18 -0
  125. package/dist/collection/components/six-button/six-button.js +5 -4
  126. package/dist/collection/components/six-button/six-button.js.map +1 -1
  127. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -1
  128. package/dist/collection/components/six-card/six-card.js +1 -1
  129. package/dist/collection/components/six-card/six-card.js.map +1 -1
  130. package/dist/collection/components/six-checkbox/six-checkbox.css +2 -0
  131. package/dist/collection/components/six-checkbox/six-checkbox.js +2 -2
  132. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  133. package/dist/collection/components/six-datepicker/six-datepicker.js +14 -12
  134. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  135. package/dist/collection/components/six-details/six-details.css +0 -4
  136. package/dist/collection/components/six-details/six-details.js +3 -3
  137. package/dist/collection/components/six-details/six-details.js.map +1 -1
  138. package/dist/collection/components/six-dialog/six-dialog.js +10 -28
  139. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  140. package/dist/collection/components/six-drawer/six-drawer.js +9 -28
  141. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  142. package/dist/collection/components/six-dropdown/six-dropdown.js +10 -8
  143. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  144. package/dist/collection/components/six-error/six-error.css +1 -0
  145. package/dist/collection/components/six-error/six-error.js +1 -1
  146. package/dist/collection/components/six-error/six-error.js.map +1 -1
  147. package/dist/collection/components/six-error-page/six-error-page.js +1 -1
  148. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  149. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  150. package/dist/collection/components/six-file-list/six-file-list.js.map +1 -1
  151. package/dist/collection/components/six-file-list-item/six-file-list-item.css +1 -1
  152. package/dist/collection/components/six-file-list-item/six-file-list-item.js +2 -2
  153. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  154. package/dist/collection/components/six-file-upload/six-file-upload.css +11 -0
  155. package/dist/collection/components/six-file-upload/six-file-upload.js +85 -7
  156. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  157. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +187 -24
  158. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -1
  159. package/dist/collection/components/six-footer/six-footer.js +1 -1
  160. package/dist/collection/components/six-footer/six-footer.js.map +1 -1
  161. package/dist/collection/components/six-group-label/six-group-label.js +1 -1
  162. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  163. package/dist/collection/components/six-header/six-header.css +9 -0
  164. package/dist/collection/components/six-header/six-header.js +38 -13
  165. package/dist/collection/components/six-header/six-header.js.map +1 -1
  166. package/dist/collection/components/six-icon/six-icon.css +2 -6
  167. package/dist/collection/components/six-icon/six-icon.js +2 -2
  168. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  169. package/dist/collection/components/six-icon-button/six-icon-button.js +3 -3
  170. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  171. package/dist/collection/components/six-input/six-input.js +3 -3
  172. package/dist/collection/components/six-input/six-input.js.map +1 -1
  173. package/dist/collection/components/six-item-picker/six-item-picker.js +3 -3
  174. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  175. package/dist/collection/components/six-language-switcher/six-language-switcher.css +7 -2
  176. package/dist/collection/components/six-language-switcher/six-language-switcher.js +7 -3
  177. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  178. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +20 -20
  179. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -1
  180. package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
  181. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  182. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  183. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  184. package/dist/collection/components/six-menu/six-menu.js +2 -2
  185. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  186. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -1
  187. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  188. package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -1
  189. package/dist/collection/components/six-menu-item/six-menu-item.js +2 -2
  190. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  191. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  192. package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -1
  193. package/dist/collection/components/six-picto/six-picto.js +1 -1
  194. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  195. package/dist/collection/components/six-progress-bar/six-progress-bar.js +2 -2
  196. package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -1
  197. package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
  198. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  199. package/dist/collection/components/six-radio/six-radio.js +2 -2
  200. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  201. package/dist/collection/components/six-range/six-range.css +1 -1
  202. package/dist/collection/components/six-range/six-range.js +12 -2
  203. package/dist/collection/components/six-range/six-range.js.map +1 -1
  204. package/dist/collection/components/six-root/six-root.js +1 -69
  205. package/dist/collection/components/six-root/six-root.js.map +1 -1
  206. package/dist/collection/components/six-root/test/six-root.spec.js +0 -7
  207. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -1
  208. package/dist/collection/components/six-search-field/six-search-field.js +1 -1
  209. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  210. package/dist/collection/components/six-select/six-select.js +33 -41
  211. package/dist/collection/components/six-select/six-select.js.map +1 -1
  212. package/dist/collection/components/six-select/test/util.spec.js +23 -1
  213. package/dist/collection/components/six-select/test/util.spec.js.map +1 -1
  214. package/dist/collection/components/six-select/util.js +24 -0
  215. package/dist/collection/components/six-select/util.js.map +1 -1
  216. package/dist/collection/components/six-sidebar/six-sidebar.js +2 -2
  217. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  218. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +2 -2
  219. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -1
  220. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +1 -0
  221. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  222. package/dist/collection/components/six-switch/six-switch.js +2 -2
  223. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  224. package/dist/collection/components/six-tab/six-tab.js +2 -2
  225. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  226. package/dist/collection/components/six-tab-group/six-tab-group.js +33 -7
  227. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  228. package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
  229. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  230. package/dist/collection/components/six-tag/six-tag.js +2 -2
  231. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  232. package/dist/collection/components/six-textarea/six-textarea.js +2 -2
  233. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  234. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -1
  235. package/dist/collection/components/six-tile/six-tile.js +3 -3
  236. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  237. package/dist/collection/components/six-timepicker/six-timepicker.js +1 -1
  238. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  239. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -1
  240. package/dist/collection/components/six-tooltip/six-tooltip.js +2 -2
  241. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  242. package/dist/collection/index.js +1 -0
  243. package/dist/collection/index.js.map +1 -1
  244. package/dist/collection/utils/alert.js +54 -0
  245. package/dist/collection/utils/alert.js.map +1 -0
  246. package/dist/collection/utils/date-util.js +25 -0
  247. package/dist/collection/utils/date-util.js.map +1 -1
  248. package/dist/collection/utils/date-util.spec.js.map +1 -1
  249. package/dist/collection/utils/error-messages.js.map +1 -1
  250. package/dist/collection/utils/event-listeners.js.map +1 -1
  251. package/dist/collection/utils/focus-visible.js.map +1 -1
  252. package/dist/collection/utils/form.js.map +1 -1
  253. package/dist/collection/utils/modal.js.map +1 -1
  254. package/dist/collection/utils/popover.js.map +1 -1
  255. package/dist/collection/utils/popup.js.map +1 -1
  256. package/dist/collection/utils/scroll.js.map +1 -1
  257. package/dist/collection/utils/slot.js.map +1 -1
  258. package/dist/collection/utils/tabbable.js.map +1 -1
  259. package/dist/collection/utils/time.util.js.map +1 -1
  260. package/dist/collection/utils/time.util.spec.js.map +1 -1
  261. package/dist/components/index.js +55 -3
  262. package/dist/components/index.js.map +1 -1
  263. package/dist/components/modal.js +1 -17
  264. package/dist/components/modal.js.map +1 -1
  265. package/dist/components/six-alert.js +41 -8
  266. package/dist/components/six-alert.js.map +1 -1
  267. package/dist/components/six-avatar.js +3 -2
  268. package/dist/components/six-avatar.js.map +1 -1
  269. package/dist/components/six-badge.js +4 -3
  270. package/dist/components/six-badge.js.map +1 -1
  271. package/dist/components/six-button2.js +6 -4
  272. package/dist/components/six-button2.js.map +1 -1
  273. package/dist/components/six-card.js +3 -2
  274. package/dist/components/six-card.js.map +1 -1
  275. package/dist/components/six-checkbox2.js +5 -4
  276. package/dist/components/six-checkbox2.js.map +1 -1
  277. package/dist/components/six-datepicker.js +39 -11
  278. package/dist/components/six-datepicker.js.map +1 -1
  279. package/dist/components/six-details2.js +6 -5
  280. package/dist/components/six-details2.js.map +1 -1
  281. package/dist/components/six-dialog.js +13 -29
  282. package/dist/components/six-dialog.js.map +1 -1
  283. package/dist/components/six-drawer.js +12 -29
  284. package/dist/components/six-drawer.js.map +1 -1
  285. package/dist/components/six-dropdown2.js +12 -9
  286. package/dist/components/six-dropdown2.js.map +1 -1
  287. package/dist/components/six-error-page.js +3 -2
  288. package/dist/components/six-error-page.js.map +1 -1
  289. package/dist/components/six-error2.js +4 -3
  290. package/dist/components/six-error2.js.map +1 -1
  291. package/dist/components/six-file-list-item.js +5 -4
  292. package/dist/components/six-file-list-item.js.map +1 -1
  293. package/dist/components/six-file-list.js +3 -2
  294. package/dist/components/six-file-list.js.map +1 -1
  295. package/dist/components/six-file-upload.js +51 -12
  296. package/dist/components/six-file-upload.js.map +1 -1
  297. package/dist/components/six-footer.js +3 -2
  298. package/dist/components/six-footer.js.map +1 -1
  299. package/dist/components/six-group-label.js +3 -2
  300. package/dist/components/six-group-label.js.map +1 -1
  301. package/dist/components/six-header.js +24 -15
  302. package/dist/components/six-header.js.map +1 -1
  303. package/dist/components/six-icon-button2.js +5 -4
  304. package/dist/components/six-icon-button2.js.map +1 -1
  305. package/dist/components/six-icon2.js +5 -4
  306. package/dist/components/six-icon2.js.map +1 -1
  307. package/dist/components/six-input2.js +5 -4
  308. package/dist/components/six-input2.js.map +1 -1
  309. package/dist/components/six-item-picker2.js +5 -4
  310. package/dist/components/six-item-picker2.js.map +1 -1
  311. package/dist/components/six-language-switcher.js +10 -5
  312. package/dist/components/six-language-switcher.js.map +1 -1
  313. package/dist/components/six-layout-grid.js +3 -2
  314. package/dist/components/six-layout-grid.js.map +1 -1
  315. package/dist/components/six-main-container.js +3 -2
  316. package/dist/components/six-main-container.js.map +1 -1
  317. package/dist/components/six-menu-divider.js +3 -2
  318. package/dist/components/six-menu-divider.js.map +1 -1
  319. package/dist/components/six-menu-item2.js +4 -3
  320. package/dist/components/six-menu-item2.js.map +1 -1
  321. package/dist/components/six-menu-label.js +3 -2
  322. package/dist/components/six-menu-label.js.map +1 -1
  323. package/dist/components/six-menu2.js +4 -3
  324. package/dist/components/six-menu2.js.map +1 -1
  325. package/dist/components/six-picto2.js +3 -2
  326. package/dist/components/six-picto2.js.map +1 -1
  327. package/dist/components/six-progress-bar.js +4 -3
  328. package/dist/components/six-progress-bar.js.map +1 -1
  329. package/dist/components/six-progress-ring.js +3 -2
  330. package/dist/components/six-progress-ring.js.map +1 -1
  331. package/dist/components/six-radio.js +4 -3
  332. package/dist/components/six-radio.js.map +1 -1
  333. package/dist/components/six-range.js +15 -4
  334. package/dist/components/six-range.js.map +1 -1
  335. package/dist/components/six-root.js +6 -34
  336. package/dist/components/six-root.js.map +1 -1
  337. package/dist/components/six-search-field.js +3 -2
  338. package/dist/components/six-search-field.js.map +1 -1
  339. package/dist/components/six-select.js +68 -42
  340. package/dist/components/six-select.js.map +1 -1
  341. package/dist/components/six-sidebar-item-group.js +3 -2
  342. package/dist/components/six-sidebar-item-group.js.map +1 -1
  343. package/dist/components/six-sidebar-item.js +4 -3
  344. package/dist/components/six-sidebar-item.js.map +1 -1
  345. package/dist/components/six-sidebar.js +4 -3
  346. package/dist/components/six-sidebar.js.map +1 -1
  347. package/dist/components/six-spinner2.js +2 -1
  348. package/dist/components/six-spinner2.js.map +1 -1
  349. package/dist/components/six-stage-indicator2.js +2 -1
  350. package/dist/components/six-stage-indicator2.js.map +1 -1
  351. package/dist/components/six-switch.js +4 -3
  352. package/dist/components/six-switch.js.map +1 -1
  353. package/dist/components/six-tab-group.js +35 -8
  354. package/dist/components/six-tab-group.js.map +1 -1
  355. package/dist/components/six-tab-panel.js +3 -2
  356. package/dist/components/six-tab-panel.js.map +1 -1
  357. package/dist/components/six-tab.js +4 -3
  358. package/dist/components/six-tab.js.map +1 -1
  359. package/dist/components/six-tag.js +4 -3
  360. package/dist/components/six-tag.js.map +1 -1
  361. package/dist/components/six-textarea.js +4 -3
  362. package/dist/components/six-textarea.js.map +1 -1
  363. package/dist/components/six-tile.js +5 -4
  364. package/dist/components/six-tile.js.map +1 -1
  365. package/dist/components/six-timepicker2.js +3 -2
  366. package/dist/components/six-timepicker2.js.map +1 -1
  367. package/dist/components/six-tooltip2.js +4 -3
  368. package/dist/components/six-tooltip2.js.map +1 -1
  369. package/dist/components.json +190 -129
  370. package/dist/esm/app-globals-0f993ce5.js +5 -0
  371. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  372. package/dist/esm/{form-control-77fcccd0.js → form-control-30c5bd8b.js} +2 -2
  373. package/dist/esm/{form-control-77fcccd0.js.map → form-control-30c5bd8b.js.map} +1 -1
  374. package/dist/esm/{index-6c10d50b.js → index-5390c1d6.js} +76 -44
  375. package/dist/esm/index-5390c1d6.js.map +1 -0
  376. package/dist/esm/index.js +56 -0
  377. package/dist/esm/index.js.map +1 -1
  378. package/dist/esm/loader.js +6 -4
  379. package/dist/esm/loader.js.map +1 -1
  380. package/dist/esm/{modal-96526245.js → modal-6c1288e3.js} +2 -18
  381. package/dist/esm/modal-6c1288e3.js.map +1 -0
  382. package/dist/esm/six-alert.entry.js +42 -9
  383. package/dist/esm/six-alert.entry.js.map +1 -1
  384. package/dist/esm/six-avatar.entry.js +4 -3
  385. package/dist/esm/six-avatar.entry.js.map +1 -1
  386. package/dist/esm/six-badge.entry.js +5 -4
  387. package/dist/esm/six-badge.entry.js.map +1 -1
  388. package/dist/esm/six-button.entry.js +7 -5
  389. package/dist/esm/six-button.entry.js.map +1 -1
  390. package/dist/esm/six-card.entry.js +4 -3
  391. package/dist/esm/six-card.entry.js.map +1 -1
  392. package/dist/esm/six-checkbox_2.entry.js +11 -9
  393. package/dist/esm/six-checkbox_2.entry.js.map +1 -1
  394. package/dist/esm/six-datepicker.entry.js +40 -12
  395. package/dist/esm/six-datepicker.entry.js.map +1 -1
  396. package/dist/esm/six-details.entry.js +7 -6
  397. package/dist/esm/six-details.entry.js.map +1 -1
  398. package/dist/esm/six-dialog.entry.js +14 -30
  399. package/dist/esm/six-dialog.entry.js.map +1 -1
  400. package/dist/esm/six-drawer.entry.js +13 -30
  401. package/dist/esm/six-drawer.entry.js.map +1 -1
  402. package/dist/esm/six-dropdown_2.entry.js +17 -13
  403. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  404. package/dist/esm/six-error-page.entry.js +4 -3
  405. package/dist/esm/six-error-page.entry.js.map +1 -1
  406. package/dist/esm/six-error.entry.js +5 -4
  407. package/dist/esm/six-error.entry.js.map +1 -1
  408. package/dist/esm/six-file-list-item.entry.js +6 -5
  409. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  410. package/dist/esm/six-file-list.entry.js +4 -3
  411. package/dist/esm/six-file-list.entry.js.map +1 -1
  412. package/dist/esm/six-file-upload.entry.js +32 -9
  413. package/dist/esm/six-file-upload.entry.js.map +1 -1
  414. package/dist/esm/six-footer.entry.js +4 -3
  415. package/dist/esm/six-footer.entry.js.map +1 -1
  416. package/dist/esm/six-group-label.entry.js +5 -4
  417. package/dist/esm/six-group-label.entry.js.map +1 -1
  418. package/dist/esm/six-header.entry.js +24 -16
  419. package/dist/esm/six-header.entry.js.map +1 -1
  420. package/dist/esm/six-icon-button.entry.js +6 -5
  421. package/dist/esm/six-icon-button.entry.js.map +1 -1
  422. package/dist/esm/six-icon.entry.js +6 -5
  423. package/dist/esm/six-icon.entry.js.map +1 -1
  424. package/dist/esm/six-input.entry.js +7 -6
  425. package/dist/esm/six-input.entry.js.map +1 -1
  426. package/dist/esm/six-item-picker.entry.js +6 -5
  427. package/dist/esm/six-item-picker.entry.js.map +1 -1
  428. package/dist/esm/six-language-switcher.entry.js +11 -6
  429. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  430. package/dist/esm/six-layout-grid.entry.js +4 -3
  431. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  432. package/dist/esm/six-main-container.entry.js +4 -3
  433. package/dist/esm/six-main-container.entry.js.map +1 -1
  434. package/dist/esm/six-menu-divider.entry.js +4 -3
  435. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  436. package/dist/esm/six-menu-label.entry.js +4 -3
  437. package/dist/esm/six-menu-label.entry.js.map +1 -1
  438. package/dist/esm/six-picto.entry.js +4 -3
  439. package/dist/esm/six-picto.entry.js.map +1 -1
  440. package/dist/esm/six-progress-bar.entry.js +5 -4
  441. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  442. package/dist/esm/six-progress-ring.entry.js +4 -3
  443. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  444. package/dist/esm/six-radio.entry.js +5 -4
  445. package/dist/esm/six-radio.entry.js.map +1 -1
  446. package/dist/esm/six-range.entry.js +17 -6
  447. package/dist/esm/six-range.entry.js.map +1 -1
  448. package/dist/esm/six-root.entry.js +4 -22
  449. package/dist/esm/six-root.entry.js.map +1 -1
  450. package/dist/esm/six-search-field.entry.js +4 -3
  451. package/dist/esm/six-search-field.entry.js.map +1 -1
  452. package/dist/esm/six-select.entry.js +70 -44
  453. package/dist/esm/six-select.entry.js.map +1 -1
  454. package/dist/esm/six-sidebar-item-group.entry.js +4 -3
  455. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  456. package/dist/esm/six-sidebar-item.entry.js +5 -4
  457. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  458. package/dist/esm/six-sidebar.entry.js +5 -4
  459. package/dist/esm/six-sidebar.entry.js.map +1 -1
  460. package/dist/esm/six-spinner.entry.js +3 -2
  461. package/dist/esm/six-spinner.entry.js.map +1 -1
  462. package/dist/esm/six-stage-indicator.entry.js +19 -0
  463. package/dist/esm/six-stage-indicator.entry.js.map +1 -0
  464. package/dist/esm/six-switch.entry.js +6 -5
  465. package/dist/esm/six-switch.entry.js.map +1 -1
  466. package/dist/esm/six-tab-group.entry.js +34 -8
  467. package/dist/esm/six-tab-group.entry.js.map +1 -1
  468. package/dist/esm/six-tab-panel.entry.js +4 -3
  469. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  470. package/dist/esm/six-tab.entry.js +5 -4
  471. package/dist/esm/six-tab.entry.js.map +1 -1
  472. package/dist/esm/six-tag.entry.js +5 -4
  473. package/dist/esm/six-tag.entry.js.map +1 -1
  474. package/dist/esm/six-textarea.entry.js +6 -5
  475. package/dist/esm/six-textarea.entry.js.map +1 -1
  476. package/dist/esm/six-tile.entry.js +6 -5
  477. package/dist/esm/six-tile.entry.js.map +1 -1
  478. package/dist/esm/six-timepicker.entry.js +4 -3
  479. package/dist/esm/six-timepicker.entry.js.map +1 -1
  480. package/dist/esm/six-tooltip.entry.js +5 -4
  481. package/dist/esm/six-tooltip.entry.js.map +1 -1
  482. package/dist/esm/ui-library.js +7 -5
  483. package/dist/esm/ui-library.js.map +1 -1
  484. package/dist/types/components/six-alert/six-alert.d.ts +13 -6
  485. package/dist/types/components/six-button/six-button.d.ts +1 -1
  486. package/dist/types/components/six-datepicker/six-datepicker.d.ts +1 -1
  487. package/dist/types/components/six-dialog/six-dialog.d.ts +1 -0
  488. package/dist/types/components/six-file-upload/six-file-upload.d.ts +10 -0
  489. package/dist/types/components/six-header/six-header.d.ts +3 -1
  490. package/dist/types/components/six-range/six-range.d.ts +2 -0
  491. package/dist/types/components/six-root/six-root.d.ts +0 -13
  492. package/dist/types/components/six-select/six-select.d.ts +0 -2
  493. package/dist/types/components/six-select/util.d.ts +2 -0
  494. package/dist/types/components/six-tab-group/six-tab-group.d.ts +4 -1
  495. package/dist/types/components.d.ts +58 -59
  496. package/dist/types/index.d.ts +1 -0
  497. package/dist/types/types.d.ts +1 -0
  498. package/dist/types/utils/alert.d.ts +10 -0
  499. package/dist/types/utils/date-util.d.ts +9 -1
  500. package/dist/ui-library/assets/TRADEMARKS.md +3 -3
  501. package/dist/ui-library/index.esm.js +1 -1
  502. package/dist/ui-library/index.esm.js.map +1 -1
  503. package/dist/ui-library/p-030fa1fa.entry.js +2 -0
  504. package/dist/ui-library/p-030fa1fa.entry.js.map +1 -0
  505. package/dist/ui-library/p-037afc74.entry.js +2 -0
  506. package/dist/ui-library/p-037afc74.entry.js.map +1 -0
  507. package/dist/ui-library/{p-2cd674e0.entry.js → p-03d1b956.entry.js} +2 -2
  508. package/dist/ui-library/p-03d1b956.entry.js.map +1 -0
  509. package/dist/ui-library/p-047d02ad.entry.js +2 -0
  510. package/dist/ui-library/p-047d02ad.entry.js.map +1 -0
  511. package/dist/ui-library/p-05eb1bab.js +3 -0
  512. package/dist/ui-library/p-05eb1bab.js.map +1 -0
  513. package/dist/ui-library/{p-1431a2a8.entry.js → p-060069d4.entry.js} +2 -2
  514. package/dist/ui-library/p-060069d4.entry.js.map +1 -0
  515. package/dist/ui-library/p-06ba653e.entry.js +2 -0
  516. package/dist/ui-library/p-06ba653e.entry.js.map +1 -0
  517. package/dist/ui-library/p-07c8de65.entry.js +2 -0
  518. package/dist/ui-library/p-07c8de65.entry.js.map +1 -0
  519. package/dist/ui-library/p-14e5fccc.entry.js +2 -0
  520. package/dist/ui-library/p-14e5fccc.entry.js.map +1 -0
  521. package/dist/ui-library/p-189602e4.entry.js +2 -0
  522. package/dist/ui-library/p-189602e4.entry.js.map +1 -0
  523. package/dist/ui-library/p-19560508.entry.js +2 -0
  524. package/dist/ui-library/p-19560508.entry.js.map +1 -0
  525. package/dist/ui-library/{p-a036cc6f.entry.js → p-2386627e.entry.js} +2 -2
  526. package/dist/ui-library/p-2386627e.entry.js.map +1 -0
  527. package/dist/ui-library/p-32e421a3.entry.js +2 -0
  528. package/dist/ui-library/p-32e421a3.entry.js.map +1 -0
  529. package/dist/ui-library/p-3603dd96.entry.js +2 -0
  530. package/dist/ui-library/p-3603dd96.entry.js.map +1 -0
  531. package/dist/ui-library/p-39ff5f61.entry.js +2 -0
  532. package/dist/ui-library/p-39ff5f61.entry.js.map +1 -0
  533. package/dist/ui-library/{p-1b135e1c.entry.js → p-3b5a76ea.entry.js} +2 -2
  534. package/dist/ui-library/p-3b5a76ea.entry.js.map +1 -0
  535. package/dist/ui-library/p-419ed003.entry.js +2 -0
  536. package/dist/ui-library/p-419ed003.entry.js.map +1 -0
  537. package/dist/ui-library/p-45003bae.entry.js +2 -0
  538. package/dist/ui-library/p-45003bae.entry.js.map +1 -0
  539. package/dist/ui-library/{p-88767c27.entry.js → p-4963f03c.entry.js} +2 -2
  540. package/dist/ui-library/p-4963f03c.entry.js.map +1 -0
  541. package/dist/ui-library/p-4d89932f.entry.js +2 -0
  542. package/dist/ui-library/p-4d89932f.entry.js.map +1 -0
  543. package/dist/ui-library/{p-67496e8c.js → p-605bdd81.js} +2 -2
  544. package/dist/ui-library/p-63acceb6.entry.js +2 -0
  545. package/dist/ui-library/p-63acceb6.entry.js.map +1 -0
  546. package/dist/ui-library/p-651293e7.js +2 -0
  547. package/dist/ui-library/p-651293e7.js.map +1 -0
  548. package/dist/ui-library/p-6888b9ee.entry.js +2 -0
  549. package/dist/ui-library/p-6888b9ee.entry.js.map +1 -0
  550. package/dist/ui-library/{p-4a3ba956.entry.js → p-6f9153be.entry.js} +2 -2
  551. package/dist/ui-library/p-6f9153be.entry.js.map +1 -0
  552. package/dist/ui-library/p-7561b336.entry.js +2 -0
  553. package/dist/ui-library/p-7561b336.entry.js.map +1 -0
  554. package/dist/ui-library/p-785810fa.entry.js +2 -0
  555. package/dist/ui-library/p-785810fa.entry.js.map +1 -0
  556. package/dist/ui-library/p-7c18b8ca.entry.js +2 -0
  557. package/dist/ui-library/p-7c18b8ca.entry.js.map +1 -0
  558. package/dist/ui-library/p-82bd8781.entry.js +2 -0
  559. package/dist/ui-library/p-82bd8781.entry.js.map +1 -0
  560. package/dist/ui-library/p-89db9a8b.entry.js +2 -0
  561. package/dist/ui-library/p-89db9a8b.entry.js.map +1 -0
  562. package/dist/ui-library/{p-831517cd.entry.js → p-8f1d3461.entry.js} +2 -2
  563. package/dist/ui-library/p-8f1d3461.entry.js.map +1 -0
  564. package/dist/ui-library/p-8fb96142.entry.js +2 -0
  565. package/dist/ui-library/p-8fb96142.entry.js.map +1 -0
  566. package/dist/ui-library/p-96d441e9.entry.js +2 -0
  567. package/dist/ui-library/p-96d441e9.entry.js.map +1 -0
  568. package/dist/ui-library/{p-e340a0ad.entry.js → p-9bc1639b.entry.js} +2 -2
  569. package/dist/ui-library/p-9bc1639b.entry.js.map +1 -0
  570. package/dist/ui-library/p-9cb83369.entry.js +2 -0
  571. package/dist/ui-library/p-9cb83369.entry.js.map +1 -0
  572. package/dist/ui-library/p-a398e3eb.entry.js +2 -0
  573. package/dist/ui-library/p-a398e3eb.entry.js.map +1 -0
  574. package/dist/ui-library/p-a7e2f511.entry.js +2 -0
  575. package/dist/ui-library/p-a7e2f511.entry.js.map +1 -0
  576. package/dist/ui-library/{p-d702b6ec.entry.js → p-a8863197.entry.js} +2 -2
  577. package/dist/ui-library/p-a8863197.entry.js.map +1 -0
  578. package/dist/ui-library/p-a9e009af.entry.js +2 -0
  579. package/dist/ui-library/p-a9e009af.entry.js.map +1 -0
  580. package/dist/ui-library/p-ab921403.entry.js +2 -0
  581. package/dist/ui-library/p-ab921403.entry.js.map +1 -0
  582. package/dist/ui-library/{p-2132da0a.entry.js → p-ac00076d.entry.js} +2 -2
  583. package/dist/ui-library/p-ac00076d.entry.js.map +1 -0
  584. package/dist/ui-library/p-b4bc4915.entry.js +2 -0
  585. package/dist/ui-library/p-b4bc4915.entry.js.map +1 -0
  586. package/dist/ui-library/p-b5acf54d.entry.js +2 -0
  587. package/dist/ui-library/p-b5acf54d.entry.js.map +1 -0
  588. package/dist/ui-library/p-b60c20aa.entry.js +2 -0
  589. package/dist/ui-library/p-b60c20aa.entry.js.map +1 -0
  590. package/dist/ui-library/p-c1d68730.entry.js +2 -0
  591. package/dist/ui-library/p-c1d68730.entry.js.map +1 -0
  592. package/dist/ui-library/p-c35a7cef.entry.js +2 -0
  593. package/dist/ui-library/p-c35a7cef.entry.js.map +1 -0
  594. package/dist/ui-library/p-c62893e5.entry.js +2 -0
  595. package/dist/ui-library/p-c62893e5.entry.js.map +1 -0
  596. package/dist/ui-library/p-c6464bfe.entry.js +2 -0
  597. package/dist/ui-library/p-c6464bfe.entry.js.map +1 -0
  598. package/dist/ui-library/{p-8c38a7bd.entry.js → p-cf109cbf.entry.js} +2 -2
  599. package/dist/ui-library/p-cf109cbf.entry.js.map +1 -0
  600. package/dist/ui-library/p-d07b549f.entry.js +2 -0
  601. package/dist/ui-library/p-d07b549f.entry.js.map +1 -0
  602. package/dist/ui-library/{p-021f6da9.entry.js → p-d42f1ea9.entry.js} +2 -2
  603. package/dist/ui-library/p-d42f1ea9.entry.js.map +1 -0
  604. package/dist/ui-library/p-e1255160.js +2 -0
  605. package/dist/ui-library/p-e1255160.js.map +1 -0
  606. package/dist/ui-library/p-fe37dadf.entry.js +2 -0
  607. package/dist/ui-library/p-fe37dadf.entry.js.map +1 -0
  608. package/dist/ui-library/p-fe89a7c4.entry.js +2 -0
  609. package/dist/ui-library/p-fe89a7c4.entry.js.map +1 -0
  610. package/dist/ui-library/ui-library.css +1 -1
  611. package/dist/ui-library/ui-library.esm.js +1 -1
  612. package/dist/ui-library/ui-library.esm.js.map +1 -1
  613. package/package.json +6 -6
  614. package/dist/cjs/index-5dd19c4b.js.map +0 -1
  615. package/dist/cjs/modal-3ce015be.js.map +0 -1
  616. package/dist/cjs/set-attributes_2.cjs.entry.js +0 -73
  617. package/dist/cjs/set-attributes_2.cjs.entry.js.map +0 -1
  618. package/dist/collection/components/six-header/assets/six-logo.svg +0 -1
  619. package/dist/collection/components/six-header/test/six-header.spec.js +0 -177
  620. package/dist/collection/components/six-header/test/six-header.spec.js.map +0 -1
  621. package/dist/collection/utils/support.js +0 -16
  622. package/dist/collection/utils/support.js.map +0 -1
  623. package/dist/collection/wrappers/set-attributes/set-attributes.js +0 -74
  624. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +0 -1
  625. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +0 -16
  626. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +0 -1
  627. package/dist/components/set-attributes.d.ts +0 -11
  628. package/dist/components/set-attributes.js +0 -8
  629. package/dist/components/set-attributes.js.map +0 -1
  630. package/dist/components/set-attributes2.js +0 -73
  631. package/dist/components/set-attributes2.js.map +0 -1
  632. package/dist/esm/index-6c10d50b.js.map +0 -1
  633. package/dist/esm/modal-96526245.js.map +0 -1
  634. package/dist/esm/set-attributes_2.entry.js +0 -68
  635. package/dist/esm/set-attributes_2.entry.js.map +0 -1
  636. package/dist/types/utils/support.d.ts +0 -1
  637. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +0 -9
  638. package/dist/ui-library/assets/six-logo.svg +0 -1
  639. package/dist/ui-library/p-01ae4500.entry.js +0 -2
  640. package/dist/ui-library/p-01ae4500.entry.js.map +0 -1
  641. package/dist/ui-library/p-021f6da9.entry.js.map +0 -1
  642. package/dist/ui-library/p-0274c52c.entry.js +0 -2
  643. package/dist/ui-library/p-0274c52c.entry.js.map +0 -1
  644. package/dist/ui-library/p-0cb135aa.entry.js +0 -2
  645. package/dist/ui-library/p-0cb135aa.entry.js.map +0 -1
  646. package/dist/ui-library/p-1431a2a8.entry.js.map +0 -1
  647. package/dist/ui-library/p-1aa28025.entry.js +0 -2
  648. package/dist/ui-library/p-1aa28025.entry.js.map +0 -1
  649. package/dist/ui-library/p-1b135e1c.entry.js.map +0 -1
  650. package/dist/ui-library/p-1be990f9.entry.js +0 -2
  651. package/dist/ui-library/p-1be990f9.entry.js.map +0 -1
  652. package/dist/ui-library/p-2008636b.entry.js +0 -2
  653. package/dist/ui-library/p-2008636b.entry.js.map +0 -1
  654. package/dist/ui-library/p-2132da0a.entry.js.map +0 -1
  655. package/dist/ui-library/p-2cd674e0.entry.js.map +0 -1
  656. package/dist/ui-library/p-2d86ba99.entry.js +0 -2
  657. package/dist/ui-library/p-2d86ba99.entry.js.map +0 -1
  658. package/dist/ui-library/p-31a4a74c.entry.js +0 -2
  659. package/dist/ui-library/p-31a4a74c.entry.js.map +0 -1
  660. package/dist/ui-library/p-3783aed0.entry.js +0 -2
  661. package/dist/ui-library/p-3783aed0.entry.js.map +0 -1
  662. package/dist/ui-library/p-391f10f1.entry.js +0 -2
  663. package/dist/ui-library/p-391f10f1.entry.js.map +0 -1
  664. package/dist/ui-library/p-3dd28dc0.entry.js +0 -2
  665. package/dist/ui-library/p-3dd28dc0.entry.js.map +0 -1
  666. package/dist/ui-library/p-3f0f59b6.entry.js +0 -2
  667. package/dist/ui-library/p-3f0f59b6.entry.js.map +0 -1
  668. package/dist/ui-library/p-46ee280d.entry.js +0 -2
  669. package/dist/ui-library/p-46ee280d.entry.js.map +0 -1
  670. package/dist/ui-library/p-4752a63c.entry.js +0 -2
  671. package/dist/ui-library/p-4752a63c.entry.js.map +0 -1
  672. package/dist/ui-library/p-4772a9d3.entry.js +0 -2
  673. package/dist/ui-library/p-4772a9d3.entry.js.map +0 -1
  674. package/dist/ui-library/p-48c453f1.entry.js +0 -2
  675. package/dist/ui-library/p-48c453f1.entry.js.map +0 -1
  676. package/dist/ui-library/p-4a3ba956.entry.js.map +0 -1
  677. package/dist/ui-library/p-4b154936.entry.js +0 -2
  678. package/dist/ui-library/p-4b154936.entry.js.map +0 -1
  679. package/dist/ui-library/p-5a5f6869.entry.js +0 -2
  680. package/dist/ui-library/p-5a5f6869.entry.js.map +0 -1
  681. package/dist/ui-library/p-621c2742.entry.js +0 -2
  682. package/dist/ui-library/p-621c2742.entry.js.map +0 -1
  683. package/dist/ui-library/p-65778e3d.entry.js +0 -2
  684. package/dist/ui-library/p-65778e3d.entry.js.map +0 -1
  685. package/dist/ui-library/p-78529c8c.entry.js +0 -2
  686. package/dist/ui-library/p-78529c8c.entry.js.map +0 -1
  687. package/dist/ui-library/p-7eb4bbe7.entry.js +0 -2
  688. package/dist/ui-library/p-7eb4bbe7.entry.js.map +0 -1
  689. package/dist/ui-library/p-831517cd.entry.js.map +0 -1
  690. package/dist/ui-library/p-87e197ee.entry.js +0 -2
  691. package/dist/ui-library/p-87e197ee.entry.js.map +0 -1
  692. package/dist/ui-library/p-88767c27.entry.js.map +0 -1
  693. package/dist/ui-library/p-8c38a7bd.entry.js.map +0 -1
  694. package/dist/ui-library/p-943ce0f2.entry.js +0 -2
  695. package/dist/ui-library/p-943ce0f2.entry.js.map +0 -1
  696. package/dist/ui-library/p-98ce9502.entry.js +0 -2
  697. package/dist/ui-library/p-98ce9502.entry.js.map +0 -1
  698. package/dist/ui-library/p-998de05d.js +0 -2
  699. package/dist/ui-library/p-998de05d.js.map +0 -1
  700. package/dist/ui-library/p-a036cc6f.entry.js.map +0 -1
  701. package/dist/ui-library/p-a29f6a0e.entry.js +0 -2
  702. package/dist/ui-library/p-a29f6a0e.entry.js.map +0 -1
  703. package/dist/ui-library/p-a3fd8c74.entry.js +0 -2
  704. package/dist/ui-library/p-a3fd8c74.entry.js.map +0 -1
  705. package/dist/ui-library/p-a919b557.entry.js +0 -2
  706. package/dist/ui-library/p-a919b557.entry.js.map +0 -1
  707. package/dist/ui-library/p-ace4ec84.entry.js +0 -2
  708. package/dist/ui-library/p-ace4ec84.entry.js.map +0 -1
  709. package/dist/ui-library/p-adf5a4da.entry.js +0 -2
  710. package/dist/ui-library/p-adf5a4da.entry.js.map +0 -1
  711. package/dist/ui-library/p-b5f844f7.entry.js +0 -2
  712. package/dist/ui-library/p-b5f844f7.entry.js.map +0 -1
  713. package/dist/ui-library/p-b8ea574b.entry.js +0 -2
  714. package/dist/ui-library/p-b8ea574b.entry.js.map +0 -1
  715. package/dist/ui-library/p-ca63a6fa.js +0 -3
  716. package/dist/ui-library/p-ca63a6fa.js.map +0 -1
  717. package/dist/ui-library/p-d221d86a.entry.js +0 -2
  718. package/dist/ui-library/p-d221d86a.entry.js.map +0 -1
  719. package/dist/ui-library/p-d702b6ec.entry.js.map +0 -1
  720. package/dist/ui-library/p-db9d2fde.entry.js +0 -2
  721. package/dist/ui-library/p-db9d2fde.entry.js.map +0 -1
  722. package/dist/ui-library/p-e0dd0307.entry.js +0 -2
  723. package/dist/ui-library/p-e0dd0307.entry.js.map +0 -1
  724. package/dist/ui-library/p-e340a0ad.entry.js.map +0 -1
  725. package/dist/ui-library/p-efa14ac2.entry.js +0 -2
  726. package/dist/ui-library/p-efa14ac2.entry.js.map +0 -1
  727. package/dist/ui-library/p-fce214eb.entry.js +0 -2
  728. package/dist/ui-library/p-fce214eb.entry.js.map +0 -1
  729. package/dist/ui-library/p-fe87f64b.entry.js +0 -2
  730. package/dist/ui-library/p-fe87f64b.entry.js.map +0 -1
  731. /package/dist/ui-library/{p-67496e8c.js.map → p-605bdd81.js.map} +0 -0
@@ -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 // 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"]}
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"]}
@@ -8,8 +8,13 @@
8
8
  cursor: pointer;
9
9
  }
10
10
  .language-switcher__label:hover {
11
- color: var(--six-color-red);
11
+ color: var(--six-color-web-rock-600);
12
+ }
13
+ .language-switcher__label:focus-visible {
14
+ outline: var(--six-focus-ring);
15
+ outline-offset: var(--six-focus-ring-offset);
12
16
  }
13
17
  .language-switcher__label--selected {
14
- color: var(--six-color-red);
18
+ color: var(--six-color-black);
19
+ text-decoration: underline;
15
20
  }
@@ -44,12 +44,16 @@ export class SixLanguageSwitcher {
44
44
  }
45
45
  }
46
46
  render() {
47
- return (h("div", { part: "container", class: "language-switcher__container" }, this.languages.map((lang, index) => {
47
+ return (h("div", { key: '64f80894523a4b03643949135f18b553cd0517b6', part: "container", class: "language-switcher__container" }, this.languages.map((lang, index) => {
48
48
  const language = typeof lang === 'string' ? lang : lang.key;
49
- return (h("div", { onClick: this.handleLanguageSwitching(language, typeof lang === 'string' ? lang : lang.value) }, h("span", { part: "label", class: {
49
+ return (h("div", { onClick: this.handleLanguageSwitching(language, typeof lang === 'string' ? lang : lang.value), onKeyDown: (e) => {
50
+ if (e.key === 'Enter' || e.key === ' ') {
51
+ this.handleLanguageSwitching(language, typeof lang === 'string' ? lang : lang.value)();
52
+ }
53
+ } }, h("span", { part: "label", tabindex: "0", class: {
50
54
  'language-switcher__label': true,
51
55
  'language-switcher__label--selected': this.selected === language,
52
- } }, language), index < this.languages.length - 1 && (h("span", { part: "separator", class: "language-switcher__separator" }, "/"))));
56
+ } }, language), index < this.languages.length - 1 && (h("span", { part: "separator", class: "language-switcher__separator" }, "|"))));
53
57
  })));
54
58
  }
55
59
  static get is() { return "six-language-switcher"; }
@@ -1 +1 @@
1
- {"version":3,"file":"six-language-switcher.js","sourceRoot":"","sources":["../../../src/components/six-language-switcher/six-language-switcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAa/E,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE7C;;;;;;GAMG;AAMH,MAAM,OAAO,mBAAmB;;QAqCtB,4BAAuB,GAAG,CAAC,WAAmB,EAAE,aAAsB,EAAE,EAAE,CAAC,GAAG,EAAE;YACtF,IAAI,aAAa,KAAK,SAAS,EAAE;gBAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAClC;YACD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC9B,CAAC,CAAC;;yBAvCyD,iBAAiB;;IAG5E,sBAAsB,CAAC,QAAkB;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAMD,iBAAiB;QACf,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;IACH,CAAC;IAEO,sBAAsB;QAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;YACxC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC7C;IACH,CAAC;IAWD,MAAM;QACJ,OAAO,CACL,WAAK,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,8BAA8B,IACvD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5D,OAAO,CACL,WAAK,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBAChG,YACE,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE;wBACL,0BAA0B,EAAE,IAAI;wBAChC,oCAAoC,EAAE,IAAI,CAAC,QAAQ,KAAK,QAAQ;qBACjE,IAEA,QAAQ,CACJ;gBACN,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CACpC,YAAM,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,8BAA8B,QAEpD,CACR,CACG,CACP,CAAC;QACJ,CAAC,CAAC,CACE,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\n\n/**\n * @since 2.1.0\n * @status experimental\n **/\n\nexport interface SixLanguageSwitcherInput {\n key: string;\n value: string;\n}\nexport type SixLanguageSwitcherChangePayload = string;\n\nconst DEFAULT_LANGUAGES = ['EN', 'DE', 'ES'];\n\n/*\n * @since 2.2.0\n * @status experimental\n * @part container - The whole component container\n * @part label - The language label\n * @part separator - The separator between the language labels\n */\n@Component({\n tag: 'six-language-switcher',\n styleUrl: 'six-language-switcher.scss',\n shadow: true,\n})\nexport class SixLanguageSwitcher {\n /** The language which should be shown as selected */\n @Prop({ mutable: true, reflect: true }) selected?: string;\n\n /** The languages which should be selectable options. */\n @Prop() languages: string[] | SixLanguageSwitcherInput[] = DEFAULT_LANGUAGES;\n\n @Watch('languages')\n handleChangesLanguages(newValue: string[]) {\n if (!Array.isArray(newValue)) {\n throw new Error('languages is expected to be an array');\n }\n\n this.updateSelectedLanguage();\n }\n /**\n * Emitted when the language switchers value changes\n */\n @Event({ eventName: 'six-language-switcher-change' }) sixChange!: EventEmitter<SixLanguageSwitcherChangePayload>;\n\n componentWillLoad() {\n if (this.selected === undefined) {\n this.updateSelectedLanguage();\n }\n }\n\n private updateSelectedLanguage() {\n const selectedLanguage = this.languages[0];\n if (typeof selectedLanguage === 'string') {\n this.selected = selectedLanguage;\n this.sixChange.emit(this.selected);\n } else {\n this.selected = selectedLanguage.key;\n this.sixChange.emit(selectedLanguage.value);\n }\n }\n\n private handleLanguageSwitching = (newLanguage: string, languageValue?: string) => () => {\n if (languageValue !== undefined) {\n this.sixChange.emit(languageValue);\n } else {\n this.sixChange.emit(newLanguage);\n }\n this.selected = newLanguage;\n };\n\n render() {\n return (\n <div part=\"container\" class=\"language-switcher__container\">\n {this.languages.map((lang, index) => {\n const language = typeof lang === 'string' ? lang : lang.key;\n return (\n <div onClick={this.handleLanguageSwitching(language, typeof lang === 'string' ? lang : lang.value)}>\n <span\n part=\"label\"\n class={{\n 'language-switcher__label': true,\n 'language-switcher__label--selected': this.selected === language,\n }}\n >\n {language}\n </span>\n {index < this.languages.length - 1 && (\n <span part=\"separator\" class=\"language-switcher__separator\">\n /\n </span>\n )}\n </div>\n );\n })}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-language-switcher.js","sourceRoot":"","sources":["../../../src/components/six-language-switcher/six-language-switcher.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\n\n/**\n * @since 2.1.0\n * @status experimental\n **/\n\nexport interface SixLanguageSwitcherInput {\n key: string;\n value: string;\n}\nexport type SixLanguageSwitcherChangePayload = string;\n\nconst DEFAULT_LANGUAGES = ['EN', 'DE', 'ES'];\n\n/*\n * @since 2.2.0\n * @status experimental\n * @part container - The whole component container\n * @part label - The language label\n * @part separator - The separator between the language labels\n */\n@Component({\n tag: 'six-language-switcher',\n styleUrl: 'six-language-switcher.scss',\n shadow: true,\n})\nexport class SixLanguageSwitcher {\n /** The language which should be shown as selected */\n @Prop({ mutable: true, reflect: true }) selected?: string;\n\n /** The languages which should be selectable options. */\n @Prop() languages: string[] | SixLanguageSwitcherInput[] = DEFAULT_LANGUAGES;\n\n @Watch('languages')\n handleChangesLanguages(newValue: string[]) {\n if (!Array.isArray(newValue)) {\n throw new Error('languages is expected to be an array');\n }\n\n this.updateSelectedLanguage();\n }\n /**\n * Emitted when the language switchers value changes\n */\n @Event({ eventName: 'six-language-switcher-change' }) sixChange!: EventEmitter<SixLanguageSwitcherChangePayload>;\n\n componentWillLoad() {\n if (this.selected === undefined) {\n this.updateSelectedLanguage();\n }\n }\n\n private updateSelectedLanguage() {\n const selectedLanguage = this.languages[0];\n if (typeof selectedLanguage === 'string') {\n this.selected = selectedLanguage;\n this.sixChange.emit(this.selected);\n } else {\n this.selected = selectedLanguage.key;\n this.sixChange.emit(selectedLanguage.value);\n }\n }\n\n private handleLanguageSwitching = (newLanguage: string, languageValue?: string) => () => {\n if (languageValue !== undefined) {\n this.sixChange.emit(languageValue);\n } else {\n this.sixChange.emit(newLanguage);\n }\n this.selected = newLanguage;\n };\n\n render() {\n return (\n <div part=\"container\" class=\"language-switcher__container\">\n {this.languages.map((lang, index) => {\n const language = typeof lang === 'string' ? lang : lang.key;\n return (\n <div\n onClick={this.handleLanguageSwitching(language, typeof lang === 'string' ? lang : lang.value)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n this.handleLanguageSwitching(language, typeof lang === 'string' ? lang : lang.value)();\n }\n }}\n >\n <span\n part=\"label\"\n tabindex=\"0\"\n class={{\n 'language-switcher__label': true,\n 'language-switcher__label--selected': this.selected === language,\n }}\n >\n {language}\n </span>\n\n {index < this.languages.length - 1 && (\n <span part=\"separator\" class=\"language-switcher__separator\">\n |\n </span>\n )}\n </div>\n );\n })}\n </div>\n );\n }\n}\n"]}
@@ -17,23 +17,23 @@ describe('SIX Language Switcher', () => {
17
17
  <mock:shadow-root>
18
18
  <div class="language-switcher__container" part="container">
19
19
  <div>
20
- <span class="language-switcher__label language-switcher__label--selected" part="label">
20
+ <span class="language-switcher__label language-switcher__label--selected" part="label" tabindex="0">
21
21
  EN
22
22
  </span>
23
23
  <span class="language-switcher__separator" part="separator">
24
- /
24
+ |
25
25
  </span>
26
26
  </div>
27
27
  <div>
28
- <span class="language-switcher__label" part="label">
28
+ <span class="language-switcher__label" part="label" tabindex="0">
29
29
  DE
30
30
  </span>
31
31
  <span class="language-switcher__separator" part="separator">
32
- /
32
+ |
33
33
  </span>
34
34
  </div>
35
35
  <div>
36
- <span class="language-switcher__label" part="label">
36
+ <span class="language-switcher__label" part="label" tabindex="0">
37
37
  ES
38
38
  </span>
39
39
  </div>
@@ -62,23 +62,23 @@ describe('SIX Language Switcher', () => {
62
62
  <mock:shadow-root>
63
63
  <div class="language-switcher__container" part="container">
64
64
  <div>
65
- <span class="language-switcher__label language-switcher__label--selected" part="label">
65
+ <span class="language-switcher__label language-switcher__label--selected" part="label" tabindex="0">
66
66
  IT
67
67
  </span>
68
68
  <span class="language-switcher__separator" part="separator">
69
- /
69
+ |
70
70
  </span>
71
71
  </div>
72
72
  <div>
73
- <span class="language-switcher__label" part="label">
73
+ <span class="language-switcher__label" part="label" tabindex="0">
74
74
  AR
75
75
  </span>
76
76
  <span class="language-switcher__separator" part="separator">
77
- /
77
+ |
78
78
  </span>
79
79
  </div>
80
80
  <div>
81
- <span class="language-switcher__label" part="label">
81
+ <span class="language-switcher__label" part="label" tabindex="0">
82
82
  BG
83
83
  </span>
84
84
  </div>
@@ -103,23 +103,23 @@ describe('SIX Language Switcher', () => {
103
103
  <mock:shadow-root>
104
104
  <div class="language-switcher__container" part="container">
105
105
  <div>
106
- <span class="language-switcher__label" part="label">
106
+ <span class="language-switcher__label" part="label" tabindex="0">
107
107
  EN
108
108
  </span>
109
109
  <span class="language-switcher__separator" part="separator">
110
- /
110
+ |
111
111
  </span>
112
112
  </div>
113
113
  <div>
114
- <span class="language-switcher__label language-switcher__label--selected" part="label">
114
+ <span class="language-switcher__label language-switcher__label--selected" part="label" tabindex="0">
115
115
  DE
116
116
  </span>
117
117
  <span class="language-switcher__separator" part="separator">
118
- /
118
+ |
119
119
  </span>
120
120
  </div>
121
121
  <div>
122
- <span class="language-switcher__label" part="label">
122
+ <span class="language-switcher__label" part="label" tabindex="0">
123
123
  ES
124
124
  </span>
125
125
  </div>
@@ -148,23 +148,23 @@ describe('SIX Language Switcher', () => {
148
148
  <mock:shadow-root>
149
149
  <div class="language-switcher__container" part="container">
150
150
  <div>
151
- <span class="language-switcher__label" part="label">
151
+ <span class="language-switcher__label" part="label" tabindex="0">
152
152
  EN
153
153
  </span>
154
154
  <span class="language-switcher__separator" part="separator">
155
- /
155
+ |
156
156
  </span>
157
157
  </div>
158
158
  <div>
159
- <span class="language-switcher__label language-switcher__label--selected" part="label">
159
+ <span class="language-switcher__label language-switcher__label--selected" part="label" tabindex="0">
160
160
  DE
161
161
  </span>
162
162
  <span class="language-switcher__separator" part="separator">
163
- /
163
+ |
164
164
  </span>
165
165
  </div>
166
166
  <div>
167
- <span class="language-switcher__label" part="label">
167
+ <span class="language-switcher__label" part="label" tabindex="0">
168
168
  ES
169
169
  </span>
170
170
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"six-language-switcher.spec.js","sourceRoot":"","sources":["../../../../src/components/six-language-switcher/test/six-language-switcher.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixLanguageSwitcher } from '../six-language-switcher';\n\ndescribe('SIX Language Switcher', () => {\n it('should properly render with default settings', async () => {\n // given\n const config = {\n components: [SixLanguageSwitcher],\n html: `<six-language-switcher></six-language-switcher>`,\n };\n\n // when\n const page = await newSpecPage(config);\n\n // then\n expect(page?.root?.selected).toEqual('EN');\n expect(page.root).toEqualHtml(`\n <six-language-switcher selected=\"EN\">\n <mock:shadow-root>\n <div class=\"language-switcher__container\" part=\"container\">\n <div>\n <span class=\"language-switcher__label language-switcher__label--selected\" part=\"label\">\n EN\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n /\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label\" part=\"label\">\n DE\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n /\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label\" part=\"label\">\n ES\n </span>\n </div>\n </div>\n </mock:shadow-root>\n </six-language-switcher>\n `);\n });\n\n it('should allow to set custom languages', async () => {\n // given\n const config = {\n components: [SixLanguageSwitcher],\n html: `<six-language-switcher></six-language-switcher>`,\n };\n\n // when\n const page = await newSpecPage(config);\n if (page?.root != null) {\n page.root.languages = ['IT', 'AR', 'BG'];\n }\n await page.waitForChanges();\n\n // then\n expect(page?.root?.selected).toEqual('IT');\n expect(page.root).toEqualHtml(`\n <six-language-switcher selected=\"IT\">\n <mock:shadow-root>\n <div class=\"language-switcher__container\" part=\"container\">\n <div>\n <span class=\"language-switcher__label language-switcher__label--selected\" part=\"label\">\n IT\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n /\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label\" part=\"label\">\n AR\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n /\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label\" part=\"label\">\n BG\n </span>\n </div>\n </div>\n </mock:shadow-root>\n </six-language-switcher>\n `);\n });\n\n it('should properly set selected language', async () => {\n // given\n const config = {\n components: [SixLanguageSwitcher],\n html: `<six-language-switcher selected=\"DE\"></six-language-switcher>`,\n };\n\n // when\n const page = await newSpecPage(config);\n\n // then\n expect(page?.root?.selected).toEqual('DE');\n expect(page.root).toEqualHtml(`\n <six-language-switcher selected=\"DE\">\n <mock:shadow-root>\n <div class=\"language-switcher__container\" part=\"container\">\n <div>\n <span class=\"language-switcher__label\" part=\"label\">\n EN\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n /\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label language-switcher__label--selected\" part=\"label\">\n DE\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n /\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label\" part=\"label\">\n ES\n </span>\n </div>\n </div>\n </mock:shadow-root>\n </six-language-switcher>\n `);\n });\n\n it('should properly set language after having been rendered', async () => {\n // given\n const config = {\n components: [SixLanguageSwitcher],\n html: `<six-language-switcher></six-language-switcher>`,\n };\n\n // when\n const page = await newSpecPage(config);\n if (page.root != null) {\n page.root.selected = 'DE';\n }\n await page.waitForChanges();\n\n // then\n expect(page?.root?.selected).toEqual('DE');\n expect(page.root).toEqualHtml(`\n <six-language-switcher selected=\"DE\">\n <mock:shadow-root>\n <div class=\"language-switcher__container\" part=\"container\">\n <div>\n <span class=\"language-switcher__label\" part=\"label\">\n EN\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n /\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label language-switcher__label--selected\" part=\"label\">\n DE\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n /\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label\" part=\"label\">\n ES\n </span>\n </div>\n </div>\n </mock:shadow-root>\n </six-language-switcher>\n `);\n });\n\n it('should properly update selected language after languages have been changed', async () => {\n // given\n const config = {\n components: [SixLanguageSwitcher],\n html: `<six-language-switcher></six-language-switcher>`,\n };\n // when\n const page = await newSpecPage(config);\n if (page.root != null) {\n page.root.languages = ['IT', 'AR', 'BG'];\n }\n await page.waitForChanges();\n if (page.root != null) {\n page.root.selected = 'BG';\n }\n\n // then\n expect(page?.root?.selected).toEqual('BG');\n });\n});\n"]}
1
+ {"version":3,"file":"six-language-switcher.spec.js","sourceRoot":"","sources":["../../../../src/components/six-language-switcher/test/six-language-switcher.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixLanguageSwitcher } from '../six-language-switcher';\n\ndescribe('SIX Language Switcher', () => {\n it('should properly render with default settings', async () => {\n // given\n const config = {\n components: [SixLanguageSwitcher],\n html: `<six-language-switcher></six-language-switcher>`,\n };\n\n // when\n const page = await newSpecPage(config);\n\n // then\n expect(page?.root?.selected).toEqual('EN');\n expect(page.root).toEqualHtml(`\n <six-language-switcher selected=\"EN\">\n <mock:shadow-root>\n <div class=\"language-switcher__container\" part=\"container\">\n <div>\n <span class=\"language-switcher__label language-switcher__label--selected\" part=\"label\" tabindex=\"0\">\n EN\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n |\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label\" part=\"label\" tabindex=\"0\">\n DE\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n |\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label\" part=\"label\" tabindex=\"0\">\n ES\n </span>\n </div>\n </div>\n </mock:shadow-root>\n </six-language-switcher>\n `);\n });\n\n it('should allow to set custom languages', async () => {\n // given\n const config = {\n components: [SixLanguageSwitcher],\n html: `<six-language-switcher></six-language-switcher>`,\n };\n\n // when\n const page = await newSpecPage(config);\n if (page?.root != null) {\n page.root.languages = ['IT', 'AR', 'BG'];\n }\n await page.waitForChanges();\n\n // then\n expect(page?.root?.selected).toEqual('IT');\n expect(page.root).toEqualHtml(`\n <six-language-switcher selected=\"IT\">\n <mock:shadow-root>\n <div class=\"language-switcher__container\" part=\"container\">\n <div>\n <span class=\"language-switcher__label language-switcher__label--selected\" part=\"label\" tabindex=\"0\">\n IT\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n |\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label\" part=\"label\" tabindex=\"0\">\n AR\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n |\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label\" part=\"label\" tabindex=\"0\">\n BG\n </span>\n </div>\n </div>\n </mock:shadow-root>\n </six-language-switcher>\n `);\n });\n\n it('should properly set selected language', async () => {\n // given\n const config = {\n components: [SixLanguageSwitcher],\n html: `<six-language-switcher selected=\"DE\"></six-language-switcher>`,\n };\n\n // when\n const page = await newSpecPage(config);\n\n // then\n expect(page?.root?.selected).toEqual('DE');\n expect(page.root).toEqualHtml(`\n <six-language-switcher selected=\"DE\">\n <mock:shadow-root>\n <div class=\"language-switcher__container\" part=\"container\">\n <div>\n <span class=\"language-switcher__label\" part=\"label\" tabindex=\"0\">\n EN\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n |\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label language-switcher__label--selected\" part=\"label\" tabindex=\"0\">\n DE\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n |\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label\" part=\"label\" tabindex=\"0\">\n ES\n </span>\n </div>\n </div>\n </mock:shadow-root>\n </six-language-switcher>\n `);\n });\n\n it('should properly set language after having been rendered', async () => {\n // given\n const config = {\n components: [SixLanguageSwitcher],\n html: `<six-language-switcher></six-language-switcher>`,\n };\n\n // when\n const page = await newSpecPage(config);\n if (page.root != null) {\n page.root.selected = 'DE';\n }\n await page.waitForChanges();\n\n // then\n expect(page?.root?.selected).toEqual('DE');\n expect(page.root).toEqualHtml(`\n <six-language-switcher selected=\"DE\">\n <mock:shadow-root>\n <div class=\"language-switcher__container\" part=\"container\">\n <div>\n <span class=\"language-switcher__label\" part=\"label\" tabindex=\"0\">\n EN\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n |\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label language-switcher__label--selected\" part=\"label\" tabindex=\"0\">\n DE\n </span>\n <span class=\"language-switcher__separator\" part=\"separator\">\n |\n </span>\n </div>\n <div>\n <span class=\"language-switcher__label\" part=\"label\" tabindex=\"0\">\n ES\n </span>\n </div>\n </div>\n </mock:shadow-root>\n </six-language-switcher>\n `);\n });\n\n it('should properly update selected language after languages have been changed', async () => {\n // given\n const config = {\n components: [SixLanguageSwitcher],\n html: `<six-language-switcher></six-language-switcher>`,\n };\n // when\n const page = await newSpecPage(config);\n if (page.root != null) {\n page.root.languages = ['IT', 'AR', 'BG'];\n }\n await page.waitForChanges();\n if (page.root != null) {\n page.root.selected = 'BG';\n }\n\n // then\n expect(page?.root?.selected).toEqual('BG');\n });\n});\n"]}
@@ -19,7 +19,7 @@ export class SixLayoutGrid {
19
19
  this.handleColumnsChange();
20
20
  }
21
21
  render() {
22
- return (h(Host, null, h("slot", null)));
22
+ return (h(Host, { key: '84c4fee011655f296908661ae1b10452a5682594' }, h("slot", { key: '389a12ed87de92e7c835df2a77c0f6316406284e' })));
23
23
  }
24
24
  static get is() { return "six-layout-grid"; }
25
25
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"six-layout-grid.js","sourceRoot":"","sources":["../../../src/components/six-layout-grid/six-layout-grid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEzE;;;;;GAKG;AAOH,MAAM,OAAO,aAAa;;;;IAOxB,mBAAmB;QACjB,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;YAC1D,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;SACnB;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,eAAQ,CACH,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Prop, Watch } from '@stencil/core';\n\n/**\n * @since 1.01\n * @status stable\n *\n * @slot - The grid's content\n */\n\n@Component({\n tag: 'six-layout-grid',\n styleUrl: 'six-layout-grid.scss',\n shadow: true,\n})\nexport class SixLayoutGrid {\n @Element() host!: HTMLSixLayoutGridElement;\n\n /** Set the number of grid columns */\n @Prop({ mutable: true }) columns?: number;\n\n @Watch('columns')\n handleColumnsChange() {\n if (typeof this.columns !== 'number' || this.columns === 0) {\n this.columns = 12;\n }\n this.host.style.setProperty('--no-of-columns', String(this.columns));\n }\n\n componentWillLoad() {\n this.handleColumnsChange();\n }\n\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-layout-grid.js","sourceRoot":"","sources":["../../../src/components/six-layout-grid/six-layout-grid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEzE;;;;;GAKG;AAOH,MAAM,OAAO,aAAa;;;;IAOxB,mBAAmB;QACjB,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,8DAAQ,CACH,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Prop, Watch } from '@stencil/core';\n\n/**\n * @since 1.01\n * @status stable\n *\n * @slot - The grid's content\n */\n\n@Component({\n tag: 'six-layout-grid',\n styleUrl: 'six-layout-grid.scss',\n shadow: true,\n})\nexport class SixLayoutGrid {\n @Element() host!: HTMLSixLayoutGridElement;\n\n /** Set the number of grid columns */\n @Prop({ mutable: true }) columns?: number;\n\n @Watch('columns')\n handleColumnsChange() {\n if (typeof this.columns !== 'number' || this.columns === 0) {\n this.columns = 12;\n }\n this.host.style.setProperty('--no-of-columns', String(this.columns));\n }\n\n componentWillLoad() {\n this.handleColumnsChange();\n }\n\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"]}
@@ -14,7 +14,7 @@ export class SixMainContainer {
14
14
  this.padded = true;
15
15
  }
16
16
  render() {
17
- return (h(Host, null, h("div", { part: "left-margin", class: "left-margin" }), h("div", { part: "content", class: { content: true, 'content--padded': this.padded } }, h("slot", null)), h("div", { part: "right-margin", class: "right-margin" })));
17
+ return (h(Host, { key: '4bf03e808f3abace9917558e8a2bc284b5109fba' }, h("div", { key: '3eb055ccdcb16738f697d4d7417bdd0cedf05a5f', part: "left-margin", class: "left-margin" }), h("div", { key: '66c3c641294c52966bbb35156956e457af76a3af', part: "content", class: { content: true, 'content--padded': this.padded } }, h("slot", { key: '9dcca3e96ab1023109b9e3db5d16ec8a2d117119' })), h("div", { key: '739f4ed3956e096103d59a475f3e0611a0ea4e73', part: "right-margin", class: "right-margin" })));
18
18
  }
19
19
  static get is() { return "six-main-container"; }
20
20
  static get encapsulation() { return "shadow"; }
@@ -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;;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"]}
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,4DAAK,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,aAAa,GAAG;YAC9C,4DAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE;gBAC1E,8DAAQ,CACJ;YACN,4DAAK,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"]}
@@ -216,10 +216,10 @@ export class SixMenu {
216
216
  .map(({ value, label }) => (h("six-menu-item", { checkType: "check", key: value, value: value }, label)));
217
217
  }
218
218
  render() {
219
- return (h("div", { ref: (el) => (this.menuWrapper = el), style: this.getMenuWrapperStyle(), part: "wrapper", class: {
219
+ return (h("div", { key: 'a8806ec6aee657eb677931fc1ba1405caec3e96e', ref: (el) => (this.menuWrapper = el), style: this.getMenuWrapperStyle(), part: "wrapper", class: {
220
220
  menu: true,
221
221
  '.no-shadow': this.removeBoxShadow,
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() })));
222
+ } }, h("div", { key: '34b85eb38385f88e87f49a6689cf6ad082723a87', ref: (el) => (this.menu = el), part: "base", role: "menu", onClick: this.handleClick, onKeyDown: this.handleKeyDown, tabIndex: 0, style: this.getMenuContainerStyle() }, h("slot", { key: 'a62dcc8bd5d97a8d479f4a4270aedcb77b729aea' }), this.renderItems()), this.virtualScroll && h("div", { style: this.getScrollbarGhostStyle() })));
223
223
  }
224
224
  static get is() { return "six-menu"; }
225
225
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"six-menu.js","sourceRoot":"","sources":["../../../src/components/six-menu/six-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAYzD,MAAM,iBAAiB,GAAG,CAAC,QAAgC,EAAE,EAAE,mBAC7D,OAAA,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,0CAAE,aAAa,CAAC,YAAY,CAAC,0CAAE,SAAS,0CAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAA,EAAA,CAAC;AAE/F,MAAM,oBAAoB,GAAG,CAAC,EAAY,EAAgC,EAAE,CAC1E,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,CAAC,WAAW,EAAE,MAAK,eAAe,CAAC;AAEhD,MAAM,aAAa,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAmB,EAAE,EAAE,CAAC,CAC3D,qBAAe,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IACpC,KAAK,CACQ,CACjB,CAAC;AAEF,MAAM,mDAAmD,GAAG,CAAC,CAAC;AAE9D,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAExC;;;;;;;;;GASG;AAMH,MAAM,OAAO,OAAO;;QACD,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAI/C,uBAAkB,GAAG,EAAE,CAAC;QA6DxB,oBAAe,GAAG,GAAG,EAAE;YAC7B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;gBAAE,OAAO;YACrC,yFAAyF;YACzF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxF,CAAC,CAAC;+BAxDwB,KAAK;qBAGW,IAAI;;6BAOtB,KAAK;wBAMV,EAAE;iCAOO,EAAE;uCAKI,KAAK;8BAMd,CAAC;iCAKN,4BAA4B;;IAEhD,iBAAiB;QACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YACvB,OAAO;SACR;IACH,CAAC;IAQD,gBAAgB;QACd,IAAI,CAAC,sCAAsC,EAAE,CAAC;IAChD,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IAEH,KAAK,CAAC,YAAY,CAAC,GAAW;;QAC5B,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvC,6DAA6D;QAC7D,aAAa;QACb,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACjF,IAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,aAAa,CAAC,kBAAkB,CAAoB,CAAC;YACnF,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YACxD,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,kBAAkB,EAAE;gBAClF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,MAAM;aACP;SACF;IACH,CAAC;IAEO,aAAa;;QACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,CAAC,CAAC;QACvG,OAAO,MAAA,IAAI,CAAC,UAAU,mCAAI,iBAAiB,CAAC;IAC9C,CAAC;IAEO,sCAAsC;;QAC5C,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;YAAE,OAAO;QAE5D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE5G,8DAA8D;QAC9D,MAAM,cAAc,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,aAAa,CAAC,eAAe,CAAC,0CAAE,YAAY,CAAC;QAC/E,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,GAAG,CAAC,EAAE;YAChD,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC;SACzC;IACH,CAAC;IAEO,QAAQ;QACd,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YACtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SACtC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CACzD,CAAC,EAAE,EAAgC,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAC/E,CAAC;IACJ,CAAC;IAEO,kBAAkB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,IAAI,YAAY,IAAI,IAAI,EAAE;YACxB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE;gBAClB,OAAO,SAAS,CAAC;aAClB;SACF;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAChD,OAAO,YAAY,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACnD,CAAC;IAEO,aAAa;;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,aAAa,CAAC,CAAC;QAChF,IAAI,aAAa,IAAI,IAAI,EAAE;YACzB,OAAO,aAAa,CAAC;SACtB;QACD,OAAO,MAAA,IAAI,CAAC,mBAAmB,EAAE,0CAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7D,CAAC;IAEO,mBAAmB;;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CAAC,eAAe,CAAC,mCAAI,EAAE,CAAC,CAAC;IACnF,CAAC;IAEO,aAAa,CAAC,IAA4B;QAChD,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAE,CAAC;IACnB,CAAC;IAEO,WAAW,CAAC,KAAiB;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;SAC/E;IACH,CAAC;IAEO,aAAa,CAAC,KAAoB;QACxC,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,OAAO;SACR;QAED,uCAAuC;QACvC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAI,UAAU,IAAI,IAAI,EAAE;gBACtB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;aAC7E;SACF;QAED,0CAA0C;QAC1C,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;QAED,8CAA8C;QAC9C,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAEjF,IAAI,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAElD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,KAAK,CAAC,cAAc,EAAE,CAAC;gBAEvB,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;oBAC7B,iBAAiB,EAAE,CAAC;iBACrB;qBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE;oBAClC,iBAAiB,EAAE,CAAC;iBACrB;qBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,EAAE;oBAC/B,iBAAiB,GAAG,CAAC,CAAC;iBACvB;qBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;oBAC9B,iBAAiB,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;iBACtC;gBAED,IAAI,iBAAiB,GAAG,CAAC;oBAAE,iBAAiB,GAAG,CAAC,CAAC;gBACjD,IAAI,iBAAiB,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,iBAAiB,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAE/E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAE7C,OAAO;aACR;SACF;QAED,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAEO,mBAAmB;;QACzB,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;YAC5B,kEAAkE;YAClE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAA,IAAI,CAAC,aAAa,EAAE,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,IAAI,CAAC;SAC7E;QACD,yBACK,MAAM,EACT;IACJ,CAAC;IAEO,qBAAqB;QAC3B,MAAM,MAAM,GAA8B,EAAE,CAAC;QAE7C,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,sGAAsG;YACtG,MAAM,CAAC,SAAS,GAAG,cAAc,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,KAAK,CAAC;SACpF;QAED,yBACK,MAAM,EACT;IACJ,CAAC;IAEO,sBAAsB;QAC5B,MAAM,MAAM,GAA8B,EAAE,CAAC;QAE7C,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAC7C,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,IAAI,CAAC;SAC5G;QAED,yBACK,MAAM,EACT;IACJ,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YACnD,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SACtC;QAED,OAAO,IAAI,CAAC,KAAK;aACd,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;aAC5F,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAmB,EAAE,EAAE,CAAC,CAC1C,qBAAe,SAAS,EAAC,OAAO,EAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IACtD,KAAK,CACQ,CACjB,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACJ,OAAO,CACL,WACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,EACpC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,EACjC,IAAI,EAAC,SAAS,EACd,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI;gBACV,YAAY,EAAE,IAAI,CAAC,eAAe;aACnC;YAED,WACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,EAC7B,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE;gBAEnC,eAAQ;gBACP,IAAI,CAAC,WAAW,EAAE,CACf;YACL,IAAI,CAAC,aAAa,IAAI,WAAK,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,GAAI,CAChE,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State } from '@stencil/core';\nimport { getTextContent } from '../../utils/slot';\nimport { StyleDeclaration } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce } from '../../utils/execution-control';\n\nexport interface SixMenuItemData {\n label: string;\n value: string;\n}\n\nexport interface SixMenuItemSelectedPayload {\n name: string;\n item: HTMLSixMenuItemElement;\n}\n\nconst isFocusedMenuItem = (menuItem: HTMLSixMenuItemElement) =>\n menuItem?.shadowRoot?.querySelector('.menu-item')?.classList?.contains('menu-item--focused');\n\nconst isSIXMenuItemElement = (el?: Element): el is HTMLSixMenuItemElement =>\n el?.tagName.toLowerCase() === 'six-menu-item';\n\nconst mapToMenuItem = ({ value, label }: SixMenuItemData) => (\n <six-menu-item key={value} value={value}>\n {label}\n </six-menu-item>\n);\n\nconst DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING = 5;\n\nconst DEFAULT_SIX_MENU_ITEM_HEIGHT = 64;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The menu's content, including menu items, menu dividers, and menu labels.\n *\n * @part base - The component's base wrapper.\n */\n@Component({\n tag: 'six-menu',\n styleUrl: 'six-menu.scss',\n shadow: true,\n})\nexport class SixMenu {\n private readonly eventListeners = new EventListeners();\n\n private menu?: HTMLElement;\n private menuWrapper?: HTMLElement;\n private typeToSelectString = '';\n private typeToSelectTimeout?: number;\n\n @Element() host!: HTMLSixMenuElement;\n\n /** Emitted when a menu item is selected. */\n @Event({ eventName: 'six-menu-item-selected' }) sixMenuItemSelected!: EventEmitter<SixMenuItemSelectedPayload>;\n\n /** Set to true to remove the box-shadow */\n @Prop() removeBoxShadow = false;\n\n /** Set the options to be shown in the dropdown */\n @Prop() items: SixMenuItemData[] | null = null;\n\n /** Defines how many items should be shown. If the number of items is larger than this property a scrollbar will be shown */\n @Prop() itemsShown?: number;\n\n /** Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\n * are actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot. */\n @Prop() virtualScroll = false;\n\n /**\n * Used for virtual scrolling\n * Define how many items should be rendered in the DOM when using virtual scrolling\n */\n @Prop() itemSize = 10;\n\n /**\n * Used for virtual scrolling\n * Define the debounce for listening on scrolling changes in milliseconds.\n * The lower the number the more sensitive the component reacts to scrolling changes.\n */\n @Prop() scrollingDebounce = 15;\n\n /**\n * Internal: Disables handling of key presses.\n */\n @Prop() disableKeyboardHandling = false;\n\n /**\n * Used to calculate which items should be rendered in the DOM\n */\n @State()\n private scrollingIndex = 0;\n\n // set a default item height, this variable will be updated with the real value after the first render.\n // However, it's necessary to have a default value because we can only fetch the proper height after the first render\n @State()\n sixMenuItemHeight = DEFAULT_SIX_MENU_ITEM_HEIGHT;\n\n connectedCallback() {\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n }\n\n componentWillLoad() {\n if (this.items === null) {\n return;\n }\n }\n\n private handleScrolling = () => {\n if (this.menuWrapper == null) return;\n // for performance improvements we only update the DOM if the scrollRatio change \"enough\"\n this.scrollingIndex = Math.floor(this.menuWrapper.scrollTop / this.sixMenuItemHeight);\n };\n\n componentDidLoad() {\n this.setupForVirtualScrollingAfterRendering();\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n /**\n * Initiates type-to-select logic, which automatically selects an option based on what the user is currently typing.\n * The key passed will be appended to the internal query and the selection will be updated. After a brief period, the\n * internal query is cleared automatically. This method is intended to be used with the keydown event. Useful for\n * enabling type-to-select when the menu doesn't have focus.\n */\n @Method()\n async typeToSelect(key: string) {\n clearTimeout(this.typeToSelectTimeout);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this.typeToSelectTimeout = setTimeout(() => (this.typeToSelectString = ''), 750);\n this.typeToSelectString += key.toLowerCase();\n const items = this.getItems();\n for (const item of items) {\n const slot = item.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n const label = getTextContent(slot).toLowerCase().trim();\n if (label.substring(0, this.typeToSelectString.length) === this.typeToSelectString) {\n item.setFocus();\n break;\n }\n }\n }\n\n private getItemsShown(): number {\n const defaultItemsShown = this.virtualScroll ? DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING : 0;\n return this.itemsShown ?? defaultItemsShown;\n }\n\n private setupForVirtualScrollingAfterRendering() {\n if (!this.virtualScroll || this.menuWrapper == null) return;\n\n this.eventListeners.add(this.menuWrapper, 'scroll', debounce(this.handleScrolling, this.scrollingDebounce));\n\n // set menu height to proper height once the item is rendered.\n const menuItemHeight = this.menu?.querySelector('six-menu-item')?.clientHeight;\n if (menuItemHeight != null && menuItemHeight > 0) {\n this.sixMenuItemHeight = menuItemHeight;\n }\n }\n\n private getItems(): HTMLSixMenuItemElement[] {\n if (this.menu == null) return [];\n\n if (this.items != null) {\n return this.items.map(mapToMenuItem);\n }\n\n const slot = this.menu.querySelector('slot');\n if (slot == null) return [];\n return [...slot.assignedElements({ flatten: true })].filter(\n (el): el is HTMLSixMenuItemElement => isSIXMenuItemElement(el) && !el.disabled\n );\n }\n\n private getActiveItemIndex() {\n const items = this.getItems();\n const selectedItem = this.getActiveItem();\n if (selectedItem != null) {\n const itemIndex = items.indexOf(selectedItem);\n if (itemIndex > -1) {\n return itemIndex;\n }\n }\n const sixMenuItems = this.extractItemsFromDOM();\n return sixMenuItems.findIndex(isFocusedMenuItem);\n }\n\n private getActiveItem(): HTMLSixMenuItemElement | undefined {\n const activeElement = this.getItems().find((i) => i === document.activeElement);\n if (activeElement != null) {\n return activeElement;\n }\n return this.extractItemsFromDOM()?.find(isFocusedMenuItem);\n }\n\n private extractItemsFromDOM() {\n return Array.from(this.host.shadowRoot?.querySelectorAll('six-menu-item') ?? []);\n }\n\n private setActiveItem(item: HTMLSixMenuItemElement) {\n item?.setFocus();\n }\n\n private handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const clickedItem = target.closest('six-menu-item');\n if (clickedItem && !clickedItem.disabled) {\n this.sixMenuItemSelected.emit({ name: clickedItem.value, item: clickedItem });\n }\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.disableKeyboardHandling) {\n return;\n }\n\n // Make a selection when pressing enter\n if (event.key === 'Enter') {\n const activeItem = this.getActiveItem();\n event.preventDefault();\n\n if (activeItem != null) {\n this.sixMenuItemSelected.emit({ name: activeItem.value, item: activeItem });\n }\n }\n\n // Prevent scrolling when space is pressed\n if (event.key === ' ') {\n event.preventDefault();\n }\n\n // Move the selection when pressing down or up\n if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {\n const items = this.items === null ? this.getItems() : this.extractItemsFromDOM();\n\n let indexOfActiveItem = this.getActiveItemIndex();\n\n if (items.length > 0) {\n event.preventDefault();\n\n if (event.key === 'ArrowDown') {\n indexOfActiveItem++;\n } else if (event.key === 'ArrowUp') {\n indexOfActiveItem--;\n } else if (event.key === 'Home') {\n indexOfActiveItem = 0;\n } else if (event.key === 'End') {\n indexOfActiveItem = items.length - 1;\n }\n\n if (indexOfActiveItem < 0) indexOfActiveItem = 0;\n if (indexOfActiveItem > items.length - 1) indexOfActiveItem = items.length - 1;\n\n this.setActiveItem(items[indexOfActiveItem]);\n\n return;\n }\n }\n\n void this.typeToSelect(event.key);\n }\n\n private getMenuWrapperStyle() {\n const styles: Partial<StyleDeclaration> = {};\n if (this.getItemsShown() > 0) {\n // calculate the proper height to show the correct number of items\n styles.height = `${(this.getItemsShown() ?? 0) * this.sixMenuItemHeight}px`;\n }\n return {\n ...styles,\n };\n }\n\n private getMenuContainerStyle() {\n const styles: Partial<StyleDeclaration> = {};\n\n if (this.virtualScroll) {\n // calculate height of content are if all items would be rendered so the scrollbar has the proper size\n styles.transform = `translateY(${this.sixMenuItemHeight * this.scrollingIndex}px)`;\n }\n\n return {\n ...styles,\n };\n }\n\n private getScrollbarGhostStyle() {\n const styles: Partial<StyleDeclaration> = {};\n\n if (this.virtualScroll && this.items !== null) {\n styles.height = `${this.items.length * this.sixMenuItemHeight - this.itemSize * this.sixMenuItemHeight}px`;\n }\n\n return {\n ...styles,\n };\n }\n\n private renderItems() {\n if (this.items === undefined || this.items === null) {\n return;\n }\n\n if (!this.virtualScroll) {\n return this.items.map(mapToMenuItem);\n }\n\n return this.items\n .slice(this.scrollingIndex, Math.min(this.items.length, this.itemSize + this.scrollingIndex))\n .map(({ value, label }: SixMenuItemData) => (\n <six-menu-item checkType=\"check\" key={value} value={value}>\n {label}\n </six-menu-item>\n ));\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.menuWrapper = el)}\n style={this.getMenuWrapperStyle()}\n part=\"wrapper\"\n class={{\n menu: true,\n '.no-shadow': this.removeBoxShadow,\n }}\n >\n <div\n ref={(el) => (this.menu = el)}\n part=\"base\"\n role=\"menu\"\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n tabIndex={0}\n style={this.getMenuContainerStyle()}\n >\n <slot />\n {this.renderItems()}\n </div>\n {this.virtualScroll && <div style={this.getScrollbarGhostStyle()} />}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-menu.js","sourceRoot":"","sources":["../../../src/components/six-menu/six-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State } from '@stencil/core';\nimport { getTextContent } from '../../utils/slot';\nimport { StyleDeclaration } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce } from '../../utils/execution-control';\n\nexport interface SixMenuItemData {\n label: string;\n value: string;\n}\n\nexport interface SixMenuItemSelectedPayload {\n name: string;\n item: HTMLSixMenuItemElement;\n}\n\nconst isFocusedMenuItem = (menuItem: HTMLSixMenuItemElement) =>\n menuItem?.shadowRoot?.querySelector('.menu-item')?.classList?.contains('menu-item--focused');\n\nconst isSIXMenuItemElement = (el?: Element): el is HTMLSixMenuItemElement =>\n el?.tagName.toLowerCase() === 'six-menu-item';\n\nconst mapToMenuItem = ({ value, label }: SixMenuItemData) => (\n <six-menu-item key={value} value={value}>\n {label}\n </six-menu-item>\n);\n\nconst DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING = 5;\n\nconst DEFAULT_SIX_MENU_ITEM_HEIGHT = 64;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The menu's content, including menu items, menu dividers, and menu labels.\n *\n * @part base - The component's base wrapper.\n */\n@Component({\n tag: 'six-menu',\n styleUrl: 'six-menu.scss',\n shadow: true,\n})\nexport class SixMenu {\n private readonly eventListeners = new EventListeners();\n\n private menu?: HTMLElement;\n private menuWrapper?: HTMLElement;\n private typeToSelectString = '';\n private typeToSelectTimeout?: number;\n\n @Element() host!: HTMLSixMenuElement;\n\n /** Emitted when a menu item is selected. */\n @Event({ eventName: 'six-menu-item-selected' }) sixMenuItemSelected!: EventEmitter<SixMenuItemSelectedPayload>;\n\n /** Set to true to remove the box-shadow */\n @Prop() removeBoxShadow = false;\n\n /** Set the options to be shown in the dropdown */\n @Prop() items: SixMenuItemData[] | null = null;\n\n /** Defines how many items should be shown. If the number of items is larger than this property a scrollbar will be shown */\n @Prop() itemsShown?: number;\n\n /** Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\n * are actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot. */\n @Prop() virtualScroll = false;\n\n /**\n * Used for virtual scrolling\n * Define how many items should be rendered in the DOM when using virtual scrolling\n */\n @Prop() itemSize = 10;\n\n /**\n * Used for virtual scrolling\n * Define the debounce for listening on scrolling changes in milliseconds.\n * The lower the number the more sensitive the component reacts to scrolling changes.\n */\n @Prop() scrollingDebounce = 15;\n\n /**\n * Internal: Disables handling of key presses.\n */\n @Prop() disableKeyboardHandling = false;\n\n /**\n * Used to calculate which items should be rendered in the DOM\n */\n @State()\n private scrollingIndex = 0;\n\n // set a default item height, this variable will be updated with the real value after the first render.\n // However, it's necessary to have a default value because we can only fetch the proper height after the first render\n @State()\n sixMenuItemHeight = DEFAULT_SIX_MENU_ITEM_HEIGHT;\n\n connectedCallback() {\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n }\n\n componentWillLoad() {\n if (this.items === null) {\n return;\n }\n }\n\n private handleScrolling = () => {\n if (this.menuWrapper == null) return;\n // for performance improvements we only update the DOM if the scrollRatio change \"enough\"\n this.scrollingIndex = Math.floor(this.menuWrapper.scrollTop / this.sixMenuItemHeight);\n };\n\n componentDidLoad() {\n this.setupForVirtualScrollingAfterRendering();\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n /**\n * Initiates type-to-select logic, which automatically selects an option based on what the user is currently typing.\n * The key passed will be appended to the internal query and the selection will be updated. After a brief period, the\n * internal query is cleared automatically. This method is intended to be used with the keydown event. Useful for\n * enabling type-to-select when the menu doesn't have focus.\n */\n @Method()\n async typeToSelect(key: string) {\n clearTimeout(this.typeToSelectTimeout);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this.typeToSelectTimeout = setTimeout(() => (this.typeToSelectString = ''), 750);\n this.typeToSelectString += key.toLowerCase();\n const items = this.getItems();\n for (const item of items) {\n const slot = item.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n const label = getTextContent(slot).toLowerCase().trim();\n if (label.substring(0, this.typeToSelectString.length) === this.typeToSelectString) {\n item.setFocus();\n break;\n }\n }\n }\n\n private getItemsShown(): number {\n const defaultItemsShown = this.virtualScroll ? DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING : 0;\n return this.itemsShown ?? defaultItemsShown;\n }\n\n private setupForVirtualScrollingAfterRendering() {\n if (!this.virtualScroll || this.menuWrapper == null) return;\n\n this.eventListeners.add(this.menuWrapper, 'scroll', debounce(this.handleScrolling, this.scrollingDebounce));\n\n // set menu height to proper height once the item is rendered.\n const menuItemHeight = this.menu?.querySelector('six-menu-item')?.clientHeight;\n if (menuItemHeight != null && menuItemHeight > 0) {\n this.sixMenuItemHeight = menuItemHeight;\n }\n }\n\n private getItems(): HTMLSixMenuItemElement[] {\n if (this.menu == null) return [];\n\n if (this.items != null) {\n return this.items.map(mapToMenuItem);\n }\n\n const slot = this.menu.querySelector('slot');\n if (slot == null) return [];\n return [...slot.assignedElements({ flatten: true })].filter(\n (el): el is HTMLSixMenuItemElement => isSIXMenuItemElement(el) && !el.disabled\n );\n }\n\n private getActiveItemIndex() {\n const items = this.getItems();\n const selectedItem = this.getActiveItem();\n if (selectedItem != null) {\n const itemIndex = items.indexOf(selectedItem);\n if (itemIndex > -1) {\n return itemIndex;\n }\n }\n const sixMenuItems = this.extractItemsFromDOM();\n return sixMenuItems.findIndex(isFocusedMenuItem);\n }\n\n private getActiveItem(): HTMLSixMenuItemElement | undefined {\n const activeElement = this.getItems().find((i) => i === document.activeElement);\n if (activeElement != null) {\n return activeElement;\n }\n return this.extractItemsFromDOM()?.find(isFocusedMenuItem);\n }\n\n private extractItemsFromDOM() {\n return Array.from(this.host.shadowRoot?.querySelectorAll('six-menu-item') ?? []);\n }\n\n private setActiveItem(item: HTMLSixMenuItemElement) {\n item?.setFocus();\n }\n\n private handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const clickedItem = target.closest('six-menu-item');\n if (clickedItem && !clickedItem.disabled) {\n this.sixMenuItemSelected.emit({ name: clickedItem.value, item: clickedItem });\n }\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.disableKeyboardHandling) {\n return;\n }\n\n // Make a selection when pressing enter\n if (event.key === 'Enter') {\n const activeItem = this.getActiveItem();\n event.preventDefault();\n\n if (activeItem != null) {\n this.sixMenuItemSelected.emit({ name: activeItem.value, item: activeItem });\n }\n }\n\n // Prevent scrolling when space is pressed\n if (event.key === ' ') {\n event.preventDefault();\n }\n\n // Move the selection when pressing down or up\n if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {\n const items = this.items === null ? this.getItems() : this.extractItemsFromDOM();\n\n let indexOfActiveItem = this.getActiveItemIndex();\n\n if (items.length > 0) {\n event.preventDefault();\n\n if (event.key === 'ArrowDown') {\n indexOfActiveItem++;\n } else if (event.key === 'ArrowUp') {\n indexOfActiveItem--;\n } else if (event.key === 'Home') {\n indexOfActiveItem = 0;\n } else if (event.key === 'End') {\n indexOfActiveItem = items.length - 1;\n }\n\n if (indexOfActiveItem < 0) indexOfActiveItem = 0;\n if (indexOfActiveItem > items.length - 1) indexOfActiveItem = items.length - 1;\n\n this.setActiveItem(items[indexOfActiveItem]);\n\n return;\n }\n }\n\n void this.typeToSelect(event.key);\n }\n\n private getMenuWrapperStyle() {\n const styles: Partial<StyleDeclaration> = {};\n if (this.getItemsShown() > 0) {\n // calculate the proper height to show the correct number of items\n styles.height = `${(this.getItemsShown() ?? 0) * this.sixMenuItemHeight}px`;\n }\n return {\n ...styles,\n };\n }\n\n private getMenuContainerStyle() {\n const styles: Partial<StyleDeclaration> = {};\n\n if (this.virtualScroll) {\n // calculate height of content are if all items would be rendered so the scrollbar has the proper size\n styles.transform = `translateY(${this.sixMenuItemHeight * this.scrollingIndex}px)`;\n }\n\n return {\n ...styles,\n };\n }\n\n private getScrollbarGhostStyle() {\n const styles: Partial<StyleDeclaration> = {};\n\n if (this.virtualScroll && this.items !== null) {\n styles.height = `${this.items.length * this.sixMenuItemHeight - this.itemSize * this.sixMenuItemHeight}px`;\n }\n\n return {\n ...styles,\n };\n }\n\n private renderItems() {\n if (this.items === undefined || this.items === null) {\n return;\n }\n\n if (!this.virtualScroll) {\n return this.items.map(mapToMenuItem);\n }\n\n return this.items\n .slice(this.scrollingIndex, Math.min(this.items.length, this.itemSize + this.scrollingIndex))\n .map(({ value, label }: SixMenuItemData) => (\n <six-menu-item checkType=\"check\" key={value} value={value}>\n {label}\n </six-menu-item>\n ));\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.menuWrapper = el)}\n style={this.getMenuWrapperStyle()}\n part=\"wrapper\"\n class={{\n menu: true,\n '.no-shadow': this.removeBoxShadow,\n }}\n >\n <div\n ref={(el) => (this.menu = el)}\n part=\"base\"\n role=\"menu\"\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n tabIndex={0}\n style={this.getMenuContainerStyle()}\n >\n <slot />\n {this.renderItems()}\n </div>\n {this.virtualScroll && <div style={this.getScrollbarGhostStyle()} />}\n </div>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"six-menu.spec.js","sourceRoot":"","sources":["../../../../src/components/six-menu/test/six-menu.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,uBAAuB;SAC9B,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;KAU7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,yCAAyC;SAChD,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;KAU7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,sCAAsC;SAC7C,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;KAW7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,uBAAuB;SAC9B,CAAC,CAAC;QAEH,OAAO;QACP,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1D,KAAK,EAAE,SAAS,GAAG,EAAE;gBACrB,KAAK,EAAE,SAAS,GAAG,EAAE;aACtB,CAAC,CAAC,CAAC;SACL;QACD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;KAmB7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixMenu } from '../six-menu';\n\ndescribe('six-menu', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [SixMenu],\n html: `<six-menu></six-menu>`,\n });\n expect(page.root).toEqualHtml(`\n <six-menu>\n <mock:shadow-root>\n <div class=\"menu\" part=\"wrapper\">\n <div part=\"base\" role=\"menu\" tabindex=\"0\">\n <slot></slot>\n </div>\n </div>\n </mock:shadow-root>\n </six-menu>\n `);\n });\n\n it('renders without box-shadow', async () => {\n const page = await newSpecPage({\n components: [SixMenu],\n html: `<six-menu remove-box-shadow></six-menu>`,\n });\n expect(page.root).toEqualHtml(`\n <six-menu remove-box-shadow=\"\">\n <mock:shadow-root>\n <div class=\".no-shadow menu\" part=\"wrapper\">\n <div part=\"base\" role=\"menu\" tabindex=\"0\">\n <slot></slot>\n </div>\n </div>\n </mock:shadow-root>\n </six-menu>\n `);\n });\n\n it('renders virtual scrolling', async () => {\n const page = await newSpecPage({\n components: [SixMenu],\n html: `<six-menu virtual-scroll></six-menu>`,\n });\n expect(page.root).toEqualHtml(`\n <six-menu virtual-scroll=\"\">\n <mock:shadow-root>\n <div class=\"menu\" part=\"wrapper\" style=\"height: 320px;\">\n <div part=\"base\" role=\"menu\" tabindex=\"0\" style=\"transform: translateY(0px);\">\n <slot></slot>\n </div>\n <div></div>\n </div>\n </mock:shadow-root>\n </six-menu>\n `);\n });\n\n it('renders dynamically added items', async () => {\n // given\n const page = await newSpecPage({\n components: [SixMenu],\n html: `<six-menu></six-menu>`,\n });\n\n // when\n if (page.root != null) {\n page.root.items = Array.from(Array(3).keys()).map((idx) => ({\n label: `label ${idx}`,\n value: `value ${idx}`,\n }));\n }\n await page.waitForChanges();\n\n // then\n expect(page.root).toEqualHtml(`\n <six-menu>\n <mock:shadow-root>\n <div class=\"menu\" part=\"wrapper\">\n <div part=\"base\" role=\"menu\" tabindex=\"0\">\n <slot></slot>\n <six-menu-item value=\"value 0\">\n label 0\n </six-menu-item>\n <six-menu-item value=\"value 1\">\n label 1\n </six-menu-item>\n <six-menu-item value=\"value 2\">\n label 2\n </six-menu-item>\n </div>\n </div>\n </mock:shadow-root>\n </six-menu>\n `);\n });\n});\n"]}
1
+ {"version":3,"file":"six-menu.spec.js","sourceRoot":"","sources":["../../../../src/components/six-menu/test/six-menu.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,uBAAuB;SAC9B,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;KAU7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,yCAAyC;SAChD,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;KAU7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,sCAAsC;SAC7C,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;KAW7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,uBAAuB;SAC9B,CAAC,CAAC;QAEH,OAAO;QACP,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1D,KAAK,EAAE,SAAS,GAAG,EAAE;gBACrB,KAAK,EAAE,SAAS,GAAG,EAAE;aACtB,CAAC,CAAC,CAAC;QACN,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;KAmB7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixMenu } from '../six-menu';\n\ndescribe('six-menu', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [SixMenu],\n html: `<six-menu></six-menu>`,\n });\n expect(page.root).toEqualHtml(`\n <six-menu>\n <mock:shadow-root>\n <div class=\"menu\" part=\"wrapper\">\n <div part=\"base\" role=\"menu\" tabindex=\"0\">\n <slot></slot>\n </div>\n </div>\n </mock:shadow-root>\n </six-menu>\n `);\n });\n\n it('renders without box-shadow', async () => {\n const page = await newSpecPage({\n components: [SixMenu],\n html: `<six-menu remove-box-shadow></six-menu>`,\n });\n expect(page.root).toEqualHtml(`\n <six-menu remove-box-shadow=\"\">\n <mock:shadow-root>\n <div class=\".no-shadow menu\" part=\"wrapper\">\n <div part=\"base\" role=\"menu\" tabindex=\"0\">\n <slot></slot>\n </div>\n </div>\n </mock:shadow-root>\n </six-menu>\n `);\n });\n\n it('renders virtual scrolling', async () => {\n const page = await newSpecPage({\n components: [SixMenu],\n html: `<six-menu virtual-scroll></six-menu>`,\n });\n expect(page.root).toEqualHtml(`\n <six-menu virtual-scroll=\"\">\n <mock:shadow-root>\n <div class=\"menu\" part=\"wrapper\" style=\"height: 320px;\">\n <div part=\"base\" role=\"menu\" tabindex=\"0\" style=\"transform: translateY(0px);\">\n <slot></slot>\n </div>\n <div></div>\n </div>\n </mock:shadow-root>\n </six-menu>\n `);\n });\n\n it('renders dynamically added items', async () => {\n // given\n const page = await newSpecPage({\n components: [SixMenu],\n html: `<six-menu></six-menu>`,\n });\n\n // when\n if (page.root != null) {\n page.root.items = Array.from(Array(3).keys()).map((idx) => ({\n label: `label ${idx}`,\n value: `value ${idx}`,\n }));\n }\n await page.waitForChanges();\n\n // then\n expect(page.root).toEqualHtml(`\n <six-menu>\n <mock:shadow-root>\n <div class=\"menu\" part=\"wrapper\">\n <div part=\"base\" role=\"menu\" tabindex=\"0\">\n <slot></slot>\n <six-menu-item value=\"value 0\">\n label 0\n </six-menu-item>\n <six-menu-item value=\"value 1\">\n label 1\n </six-menu-item>\n <six-menu-item value=\"value 2\">\n label 2\n </six-menu-item>\n </div>\n </div>\n </mock:shadow-root>\n </six-menu>\n `);\n });\n});\n"]}