@six-group/ui-library 0.0.0-insider.8112beb → 0.0.0-insider.82e5ea2

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 (676) 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-8d64e974.js → form-control-b6ca8224.js} +2 -2
  4. package/dist/cjs/{form-control-8d64e974.js.map → form-control-b6ca8224.js.map} +1 -1
  5. package/dist/cjs/{index-d7748d51.js → index-5bfcf88b.js} +60 -27
  6. package/dist/cjs/index-5bfcf88b.js.map +1 -0
  7. package/dist/cjs/loader.cjs.js +5 -3
  8. package/dist/cjs/loader.cjs.js.map +1 -1
  9. package/dist/cjs/{modal-3ce015be.js → modal-bd7fc5bc.js} +1 -18
  10. package/dist/cjs/modal-bd7fc5bc.js.map +1 -0
  11. package/dist/cjs/six-alert.cjs.entry.js +17 -7
  12. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  13. package/dist/cjs/six-avatar.cjs.entry.js +4 -3
  14. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  15. package/dist/cjs/six-badge.cjs.entry.js +5 -4
  16. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  17. package/dist/cjs/six-button.cjs.entry.js +5 -4
  18. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  19. package/dist/cjs/six-card.cjs.entry.js +4 -3
  20. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  21. package/dist/cjs/six-checkbox_2.cjs.entry.js +10 -8
  22. package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -1
  23. package/dist/cjs/six-datepicker.cjs.entry.js +29 -3
  24. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  25. package/dist/cjs/six-details.cjs.entry.js +6 -5
  26. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  27. package/dist/cjs/six-dialog.cjs.entry.js +14 -30
  28. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  29. package/dist/cjs/six-drawer.cjs.entry.js +13 -30
  30. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-dropdown_2.cjs.entry.js +17 -13
  32. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  33. package/dist/cjs/six-error-page.cjs.entry.js +4 -3
  34. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-error.cjs.entry.js +4 -3
  36. package/dist/cjs/six-error.cjs.entry.js.map +1 -1
  37. package/dist/cjs/six-file-list-item.cjs.entry.js +5 -4
  38. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-file-list.cjs.entry.js +4 -3
  40. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-file-upload.cjs.entry.js +11 -9
  42. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-footer.cjs.entry.js +4 -3
  44. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-group-label.cjs.entry.js +5 -4
  46. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  47. package/dist/cjs/six-header.cjs.entry.js +13 -12
  48. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-icon-button.cjs.entry.js +6 -5
  50. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-icon.cjs.entry.js +5 -4
  52. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  53. package/dist/cjs/six-input.cjs.entry.js +7 -6
  54. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-item-picker.cjs.entry.js +6 -5
  56. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-language-switcher.cjs.entry.js +6 -5
  58. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-layout-grid.cjs.entry.js +4 -3
  60. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-main-container.cjs.entry.js +4 -3
  62. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-menu-divider.cjs.entry.js +4 -3
  64. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-menu-label.cjs.entry.js +4 -3
  66. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-picto.cjs.entry.js +4 -3
  68. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-progress-bar.cjs.entry.js +5 -4
  70. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  71. package/dist/cjs/six-progress-ring.cjs.entry.js +4 -3
  72. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-radio.cjs.entry.js +5 -4
  74. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-range.cjs.entry.js +17 -6
  76. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  77. package/dist/cjs/six-root.cjs.entry.js +4 -3
  78. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  79. package/dist/cjs/six-search-field.cjs.entry.js +4 -3
  80. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  81. package/dist/cjs/six-select.cjs.entry.js +10 -9
  82. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  83. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +3 -2
  84. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-sidebar-item.cjs.entry.js +5 -4
  86. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-sidebar.cjs.entry.js +5 -4
  88. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-spinner.cjs.entry.js +3 -2
  90. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-stage-indicator.cjs.entry.js +3 -2
  92. package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-switch.cjs.entry.js +6 -5
  94. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-tab-group.cjs.entry.js +34 -8
  96. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-tab-panel.cjs.entry.js +4 -3
  98. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-tab.cjs.entry.js +5 -4
  100. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-tag.cjs.entry.js +5 -4
  102. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-textarea.cjs.entry.js +6 -5
  104. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  105. package/dist/cjs/six-tile.cjs.entry.js +6 -5
  106. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  107. package/dist/cjs/six-timepicker.cjs.entry.js +4 -3
  108. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  109. package/dist/cjs/six-tooltip.cjs.entry.js +5 -4
  110. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ui-library.cjs.js +6 -4
  112. package/dist/cjs/ui-library.cjs.js.map +1 -1
  113. package/dist/collection/collection-manifest.json +2 -2
  114. package/dist/collection/components/six-alert/six-alert.js +15 -6
  115. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  116. package/dist/collection/components/six-avatar/six-avatar.js +1 -1
  117. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  118. package/dist/collection/components/six-badge/six-badge.js +2 -2
  119. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  120. package/dist/collection/components/six-button/six-button.js +2 -2
  121. package/dist/collection/components/six-button/six-button.js.map +1 -1
  122. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -1
  123. package/dist/collection/components/six-card/six-card.js +1 -1
  124. package/dist/collection/components/six-card/six-card.js.map +1 -1
  125. package/dist/collection/components/six-checkbox/six-checkbox.js +2 -2
  126. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  127. package/dist/collection/components/six-datepicker/six-datepicker.js +3 -3
  128. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  129. package/dist/collection/components/six-details/six-details.js +3 -3
  130. package/dist/collection/components/six-details/six-details.js.map +1 -1
  131. package/dist/collection/components/six-dialog/six-dialog.js +10 -28
  132. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  133. package/dist/collection/components/six-drawer/six-drawer.js +9 -28
  134. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  135. package/dist/collection/components/six-dropdown/six-dropdown.js +10 -8
  136. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  137. package/dist/collection/components/six-error/six-error.js +1 -1
  138. package/dist/collection/components/six-error/six-error.js.map +1 -1
  139. package/dist/collection/components/six-error-page/six-error-page.js +1 -1
  140. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  141. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  142. package/dist/collection/components/six-file-list/six-file-list.js.map +1 -1
  143. package/dist/collection/components/six-file-list-item/six-file-list-item.js +2 -2
  144. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  145. package/dist/collection/components/six-file-upload/six-file-upload.css +8 -0
  146. package/dist/collection/components/six-file-upload/six-file-upload.js +25 -6
  147. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  148. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +76 -21
  149. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -1
  150. package/dist/collection/components/six-footer/six-footer.js +1 -1
  151. package/dist/collection/components/six-footer/six-footer.js.map +1 -1
  152. package/dist/collection/components/six-group-label/six-group-label.js +1 -1
  153. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  154. package/dist/collection/components/six-header/six-header.js +10 -10
  155. package/dist/collection/components/six-header/six-header.js.map +1 -1
  156. package/dist/collection/components/six-icon/six-icon.js +2 -2
  157. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  158. package/dist/collection/components/six-icon-button/six-icon-button.js +3 -3
  159. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  160. package/dist/collection/components/six-input/six-input.js +3 -3
  161. package/dist/collection/components/six-input/six-input.js.map +1 -1
  162. package/dist/collection/components/six-item-picker/six-item-picker.js +3 -3
  163. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  164. package/dist/collection/components/six-language-switcher/six-language-switcher.css +3 -2
  165. package/dist/collection/components/six-language-switcher/six-language-switcher.js +2 -2
  166. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  167. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +8 -8
  168. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -1
  169. package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
  170. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  171. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  172. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  173. package/dist/collection/components/six-menu/six-menu.js +2 -2
  174. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  175. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -1
  176. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  177. package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -1
  178. package/dist/collection/components/six-menu-item/six-menu-item.js +2 -2
  179. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  180. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  181. package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -1
  182. package/dist/collection/components/six-picto/six-picto.js +1 -1
  183. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  184. package/dist/collection/components/six-progress-bar/six-progress-bar.js +2 -2
  185. package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -1
  186. package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
  187. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  188. package/dist/collection/components/six-radio/six-radio.js +2 -2
  189. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  190. package/dist/collection/components/six-range/six-range.css +1 -1
  191. package/dist/collection/components/six-range/six-range.js +12 -2
  192. package/dist/collection/components/six-range/six-range.js.map +1 -1
  193. package/dist/collection/components/six-root/six-root.js +1 -1
  194. package/dist/collection/components/six-root/six-root.js.map +1 -1
  195. package/dist/collection/components/six-search-field/six-search-field.js +1 -1
  196. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  197. package/dist/collection/components/six-select/six-select.js +6 -6
  198. package/dist/collection/components/six-select/six-select.js.map +1 -1
  199. package/dist/collection/components/six-select/util.js.map +1 -1
  200. package/dist/collection/components/six-sidebar/six-sidebar.js +2 -2
  201. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  202. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +2 -2
  203. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -1
  204. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  205. package/dist/collection/components/six-switch/six-switch.js +2 -2
  206. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  207. package/dist/collection/components/six-tab/six-tab.js +2 -2
  208. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  209. package/dist/collection/components/six-tab-group/six-tab-group.js +33 -7
  210. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  211. package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
  212. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  213. package/dist/collection/components/six-tag/six-tag.js +2 -2
  214. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  215. package/dist/collection/components/six-textarea/six-textarea.js +2 -2
  216. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  217. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -1
  218. package/dist/collection/components/six-tile/six-tile.js +3 -3
  219. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  220. package/dist/collection/components/six-timepicker/six-timepicker.js +1 -1
  221. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  222. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -1
  223. package/dist/collection/components/six-tooltip/six-tooltip.js +2 -2
  224. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  225. package/dist/collection/utils/alert.js.map +1 -1
  226. package/dist/collection/utils/date-util.js +25 -0
  227. package/dist/collection/utils/date-util.js.map +1 -1
  228. package/dist/collection/utils/date-util.spec.js.map +1 -1
  229. package/dist/collection/utils/error-messages.js.map +1 -1
  230. package/dist/collection/utils/event-listeners.js.map +1 -1
  231. package/dist/collection/utils/focus-visible.js.map +1 -1
  232. package/dist/collection/utils/form.js.map +1 -1
  233. package/dist/collection/utils/modal.js.map +1 -1
  234. package/dist/collection/utils/popover.js.map +1 -1
  235. package/dist/collection/utils/popup.js.map +1 -1
  236. package/dist/collection/utils/scroll.js.map +1 -1
  237. package/dist/collection/utils/slot.js.map +1 -1
  238. package/dist/collection/utils/tabbable.js.map +1 -1
  239. package/dist/collection/utils/time.util.js.map +1 -1
  240. package/dist/collection/utils/time.util.spec.js.map +1 -1
  241. package/dist/components/modal.js +1 -17
  242. package/dist/components/modal.js.map +1 -1
  243. package/dist/components/six-alert.js +16 -6
  244. package/dist/components/six-alert.js.map +1 -1
  245. package/dist/components/six-avatar.js +3 -2
  246. package/dist/components/six-avatar.js.map +1 -1
  247. package/dist/components/six-badge.js +4 -3
  248. package/dist/components/six-badge.js.map +1 -1
  249. package/dist/components/six-button2.js +4 -3
  250. package/dist/components/six-button2.js.map +1 -1
  251. package/dist/components/six-card.js +3 -2
  252. package/dist/components/six-card.js.map +1 -1
  253. package/dist/components/six-checkbox2.js +4 -3
  254. package/dist/components/six-checkbox2.js.map +1 -1
  255. package/dist/components/six-datepicker.js +28 -2
  256. package/dist/components/six-datepicker.js.map +1 -1
  257. package/dist/components/six-details2.js +5 -4
  258. package/dist/components/six-details2.js.map +1 -1
  259. package/dist/components/six-dialog.js +13 -29
  260. package/dist/components/six-dialog.js.map +1 -1
  261. package/dist/components/six-drawer.js +12 -29
  262. package/dist/components/six-drawer.js.map +1 -1
  263. package/dist/components/six-dropdown2.js +12 -9
  264. package/dist/components/six-dropdown2.js.map +1 -1
  265. package/dist/components/six-error-page.js +3 -2
  266. package/dist/components/six-error-page.js.map +1 -1
  267. package/dist/components/six-error2.js +3 -2
  268. package/dist/components/six-error2.js.map +1 -1
  269. package/dist/components/six-file-list-item.js +4 -3
  270. package/dist/components/six-file-list-item.js.map +1 -1
  271. package/dist/components/six-file-list.js +3 -2
  272. package/dist/components/six-file-list.js.map +1 -1
  273. package/dist/components/six-file-upload.js +19 -10
  274. package/dist/components/six-file-upload.js.map +1 -1
  275. package/dist/components/six-footer.js +3 -2
  276. package/dist/components/six-footer.js.map +1 -1
  277. package/dist/components/six-group-label.js +3 -2
  278. package/dist/components/six-group-label.js.map +1 -1
  279. package/dist/components/six-header.js +12 -11
  280. package/dist/components/six-header.js.map +1 -1
  281. package/dist/components/six-icon-button2.js +5 -4
  282. package/dist/components/six-icon-button2.js.map +1 -1
  283. package/dist/components/six-icon2.js +4 -3
  284. package/dist/components/six-icon2.js.map +1 -1
  285. package/dist/components/six-input2.js +5 -4
  286. package/dist/components/six-input2.js.map +1 -1
  287. package/dist/components/six-item-picker2.js +5 -4
  288. package/dist/components/six-item-picker2.js.map +1 -1
  289. package/dist/components/six-language-switcher.js +5 -4
  290. package/dist/components/six-language-switcher.js.map +1 -1
  291. package/dist/components/six-layout-grid.js +3 -2
  292. package/dist/components/six-layout-grid.js.map +1 -1
  293. package/dist/components/six-main-container.js +3 -2
  294. package/dist/components/six-main-container.js.map +1 -1
  295. package/dist/components/six-menu-divider.js +3 -2
  296. package/dist/components/six-menu-divider.js.map +1 -1
  297. package/dist/components/six-menu-item2.js +4 -3
  298. package/dist/components/six-menu-item2.js.map +1 -1
  299. package/dist/components/six-menu-label.js +3 -2
  300. package/dist/components/six-menu-label.js.map +1 -1
  301. package/dist/components/six-menu2.js +4 -3
  302. package/dist/components/six-menu2.js.map +1 -1
  303. package/dist/components/six-picto2.js +3 -2
  304. package/dist/components/six-picto2.js.map +1 -1
  305. package/dist/components/six-progress-bar.js +4 -3
  306. package/dist/components/six-progress-bar.js.map +1 -1
  307. package/dist/components/six-progress-ring.js +3 -2
  308. package/dist/components/six-progress-ring.js.map +1 -1
  309. package/dist/components/six-radio.js +4 -3
  310. package/dist/components/six-radio.js.map +1 -1
  311. package/dist/components/six-range.js +15 -4
  312. package/dist/components/six-range.js.map +1 -1
  313. package/dist/components/six-root.js +3 -2
  314. package/dist/components/six-root.js.map +1 -1
  315. package/dist/components/six-search-field.js +3 -2
  316. package/dist/components/six-search-field.js.map +1 -1
  317. package/dist/components/six-select.js +8 -7
  318. package/dist/components/six-select.js.map +1 -1
  319. package/dist/components/six-sidebar-item-group.js +2 -1
  320. package/dist/components/six-sidebar-item-group.js.map +1 -1
  321. package/dist/components/six-sidebar-item.js +4 -3
  322. package/dist/components/six-sidebar-item.js.map +1 -1
  323. package/dist/components/six-sidebar.js +4 -3
  324. package/dist/components/six-sidebar.js.map +1 -1
  325. package/dist/components/six-spinner2.js +2 -1
  326. package/dist/components/six-spinner2.js.map +1 -1
  327. package/dist/components/six-stage-indicator2.js +2 -1
  328. package/dist/components/six-stage-indicator2.js.map +1 -1
  329. package/dist/components/six-switch.js +4 -3
  330. package/dist/components/six-switch.js.map +1 -1
  331. package/dist/components/six-tab-group.js +35 -8
  332. package/dist/components/six-tab-group.js.map +1 -1
  333. package/dist/components/six-tab-panel.js +3 -2
  334. package/dist/components/six-tab-panel.js.map +1 -1
  335. package/dist/components/six-tab.js +4 -3
  336. package/dist/components/six-tab.js.map +1 -1
  337. package/dist/components/six-tag.js +4 -3
  338. package/dist/components/six-tag.js.map +1 -1
  339. package/dist/components/six-textarea.js +4 -3
  340. package/dist/components/six-textarea.js.map +1 -1
  341. package/dist/components/six-tile.js +5 -4
  342. package/dist/components/six-tile.js.map +1 -1
  343. package/dist/components/six-timepicker2.js +3 -2
  344. package/dist/components/six-timepicker2.js.map +1 -1
  345. package/dist/components/six-tooltip2.js +4 -3
  346. package/dist/components/six-tooltip2.js.map +1 -1
  347. package/dist/components.json +42 -10
  348. package/dist/esm/app-globals-0f993ce5.js +5 -0
  349. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  350. package/dist/esm/{form-control-d403a9cf.js → form-control-5d3cf9d4.js} +2 -2
  351. package/dist/esm/{form-control-d403a9cf.js.map → form-control-5d3cf9d4.js.map} +1 -1
  352. package/dist/esm/{index-79d4ef67.js → index-d415464d.js} +60 -27
  353. package/dist/esm/index-d415464d.js.map +1 -0
  354. package/dist/esm/loader.js +6 -4
  355. package/dist/esm/loader.js.map +1 -1
  356. package/dist/esm/{modal-96526245.js → modal-6c1288e3.js} +2 -18
  357. package/dist/esm/modal-6c1288e3.js.map +1 -0
  358. package/dist/esm/six-alert.entry.js +17 -7
  359. package/dist/esm/six-alert.entry.js.map +1 -1
  360. package/dist/esm/six-avatar.entry.js +4 -3
  361. package/dist/esm/six-avatar.entry.js.map +1 -1
  362. package/dist/esm/six-badge.entry.js +5 -4
  363. package/dist/esm/six-badge.entry.js.map +1 -1
  364. package/dist/esm/six-button.entry.js +5 -4
  365. package/dist/esm/six-button.entry.js.map +1 -1
  366. package/dist/esm/six-card.entry.js +4 -3
  367. package/dist/esm/six-card.entry.js.map +1 -1
  368. package/dist/esm/six-checkbox_2.entry.js +10 -8
  369. package/dist/esm/six-checkbox_2.entry.js.map +1 -1
  370. package/dist/esm/six-datepicker.entry.js +29 -3
  371. package/dist/esm/six-datepicker.entry.js.map +1 -1
  372. package/dist/esm/six-details.entry.js +6 -5
  373. package/dist/esm/six-details.entry.js.map +1 -1
  374. package/dist/esm/six-dialog.entry.js +14 -30
  375. package/dist/esm/six-dialog.entry.js.map +1 -1
  376. package/dist/esm/six-drawer.entry.js +13 -30
  377. package/dist/esm/six-drawer.entry.js.map +1 -1
  378. package/dist/esm/six-dropdown_2.entry.js +17 -13
  379. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  380. package/dist/esm/six-error-page.entry.js +4 -3
  381. package/dist/esm/six-error-page.entry.js.map +1 -1
  382. package/dist/esm/six-error.entry.js +4 -3
  383. package/dist/esm/six-error.entry.js.map +1 -1
  384. package/dist/esm/six-file-list-item.entry.js +5 -4
  385. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  386. package/dist/esm/six-file-list.entry.js +4 -3
  387. package/dist/esm/six-file-list.entry.js.map +1 -1
  388. package/dist/esm/six-file-upload.entry.js +11 -9
  389. package/dist/esm/six-file-upload.entry.js.map +1 -1
  390. package/dist/esm/six-footer.entry.js +4 -3
  391. package/dist/esm/six-footer.entry.js.map +1 -1
  392. package/dist/esm/six-group-label.entry.js +5 -4
  393. package/dist/esm/six-group-label.entry.js.map +1 -1
  394. package/dist/esm/six-header.entry.js +13 -12
  395. package/dist/esm/six-header.entry.js.map +1 -1
  396. package/dist/esm/six-icon-button.entry.js +6 -5
  397. package/dist/esm/six-icon-button.entry.js.map +1 -1
  398. package/dist/esm/six-icon.entry.js +5 -4
  399. package/dist/esm/six-icon.entry.js.map +1 -1
  400. package/dist/esm/six-input.entry.js +7 -6
  401. package/dist/esm/six-input.entry.js.map +1 -1
  402. package/dist/esm/six-item-picker.entry.js +6 -5
  403. package/dist/esm/six-item-picker.entry.js.map +1 -1
  404. package/dist/esm/six-language-switcher.entry.js +6 -5
  405. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  406. package/dist/esm/six-layout-grid.entry.js +4 -3
  407. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  408. package/dist/esm/six-main-container.entry.js +4 -3
  409. package/dist/esm/six-main-container.entry.js.map +1 -1
  410. package/dist/esm/six-menu-divider.entry.js +4 -3
  411. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  412. package/dist/esm/six-menu-label.entry.js +4 -3
  413. package/dist/esm/six-menu-label.entry.js.map +1 -1
  414. package/dist/esm/six-picto.entry.js +4 -3
  415. package/dist/esm/six-picto.entry.js.map +1 -1
  416. package/dist/esm/six-progress-bar.entry.js +5 -4
  417. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  418. package/dist/esm/six-progress-ring.entry.js +4 -3
  419. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  420. package/dist/esm/six-radio.entry.js +5 -4
  421. package/dist/esm/six-radio.entry.js.map +1 -1
  422. package/dist/esm/six-range.entry.js +17 -6
  423. package/dist/esm/six-range.entry.js.map +1 -1
  424. package/dist/esm/six-root.entry.js +4 -3
  425. package/dist/esm/six-root.entry.js.map +1 -1
  426. package/dist/esm/six-search-field.entry.js +4 -3
  427. package/dist/esm/six-search-field.entry.js.map +1 -1
  428. package/dist/esm/six-select.entry.js +10 -9
  429. package/dist/esm/six-select.entry.js.map +1 -1
  430. package/dist/esm/six-sidebar-item-group.entry.js +3 -2
  431. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  432. package/dist/esm/six-sidebar-item.entry.js +5 -4
  433. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  434. package/dist/esm/six-sidebar.entry.js +5 -4
  435. package/dist/esm/six-sidebar.entry.js.map +1 -1
  436. package/dist/esm/six-spinner.entry.js +3 -2
  437. package/dist/esm/six-spinner.entry.js.map +1 -1
  438. package/dist/esm/six-stage-indicator.entry.js +3 -2
  439. package/dist/esm/six-stage-indicator.entry.js.map +1 -1
  440. package/dist/esm/six-switch.entry.js +6 -5
  441. package/dist/esm/six-switch.entry.js.map +1 -1
  442. package/dist/esm/six-tab-group.entry.js +34 -8
  443. package/dist/esm/six-tab-group.entry.js.map +1 -1
  444. package/dist/esm/six-tab-panel.entry.js +4 -3
  445. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  446. package/dist/esm/six-tab.entry.js +5 -4
  447. package/dist/esm/six-tab.entry.js.map +1 -1
  448. package/dist/esm/six-tag.entry.js +5 -4
  449. package/dist/esm/six-tag.entry.js.map +1 -1
  450. package/dist/esm/six-textarea.entry.js +6 -5
  451. package/dist/esm/six-textarea.entry.js.map +1 -1
  452. package/dist/esm/six-tile.entry.js +6 -5
  453. package/dist/esm/six-tile.entry.js.map +1 -1
  454. package/dist/esm/six-timepicker.entry.js +4 -3
  455. package/dist/esm/six-timepicker.entry.js.map +1 -1
  456. package/dist/esm/six-tooltip.entry.js +5 -4
  457. package/dist/esm/six-tooltip.entry.js.map +1 -1
  458. package/dist/esm/ui-library.js +7 -5
  459. package/dist/esm/ui-library.js.map +1 -1
  460. package/dist/types/components/six-alert/six-alert.d.ts +8 -4
  461. package/dist/types/components/six-datepicker/six-datepicker.d.ts +1 -1
  462. package/dist/types/components/six-dialog/six-dialog.d.ts +1 -0
  463. package/dist/types/components/six-file-upload/six-file-upload.d.ts +2 -0
  464. package/dist/types/components/six-range/six-range.d.ts +2 -0
  465. package/dist/types/components/six-tab-group/six-tab-group.d.ts +4 -1
  466. package/dist/types/components.d.ts +12 -4
  467. package/dist/types/utils/date-util.d.ts +9 -1
  468. package/dist/ui-library/{p-ac57ba5c.entry.js → p-0054410d.entry.js} +2 -2
  469. package/dist/ui-library/p-0054410d.entry.js.map +1 -0
  470. package/dist/ui-library/{p-0440335d.entry.js → p-034b3bb1.entry.js} +2 -2
  471. package/dist/ui-library/p-034b3bb1.entry.js.map +1 -0
  472. package/dist/ui-library/{p-8888a367.entry.js → p-1903aa37.entry.js} +2 -2
  473. package/dist/ui-library/p-1903aa37.entry.js.map +1 -0
  474. package/dist/ui-library/{p-ed279165.entry.js → p-1a17a806.entry.js} +2 -2
  475. package/dist/ui-library/p-1a17a806.entry.js.map +1 -0
  476. package/dist/ui-library/p-1c5e8dec.entry.js +2 -0
  477. package/dist/ui-library/p-1c5e8dec.entry.js.map +1 -0
  478. package/dist/ui-library/p-23f5dae2.entry.js +2 -0
  479. package/dist/ui-library/p-23f5dae2.entry.js.map +1 -0
  480. package/dist/ui-library/p-24c42aab.entry.js +2 -0
  481. package/dist/ui-library/p-24c42aab.entry.js.map +1 -0
  482. package/dist/ui-library/p-2b7e2bcb.entry.js +2 -0
  483. package/dist/ui-library/p-2b7e2bcb.entry.js.map +1 -0
  484. package/dist/ui-library/p-2e7312fc.entry.js +2 -0
  485. package/dist/ui-library/p-2e7312fc.entry.js.map +1 -0
  486. package/dist/ui-library/p-380ba2b7.entry.js +2 -0
  487. package/dist/ui-library/p-380ba2b7.entry.js.map +1 -0
  488. package/dist/ui-library/{p-04cc397c.entry.js → p-38271a5e.entry.js} +2 -2
  489. package/dist/ui-library/p-38271a5e.entry.js.map +1 -0
  490. package/dist/ui-library/{p-870b988d.entry.js → p-3a879e1d.entry.js} +2 -2
  491. package/dist/ui-library/p-3a879e1d.entry.js.map +1 -0
  492. package/dist/ui-library/p-3c05fdf3.entry.js +2 -0
  493. package/dist/ui-library/p-3c05fdf3.entry.js.map +1 -0
  494. package/dist/ui-library/p-3c582981.entry.js +2 -0
  495. package/dist/ui-library/p-3c582981.entry.js.map +1 -0
  496. package/dist/ui-library/{p-961bd001.entry.js → p-3f8ed1d4.entry.js} +2 -2
  497. package/dist/ui-library/p-3f8ed1d4.entry.js.map +1 -0
  498. package/dist/ui-library/p-4272021f.entry.js +2 -0
  499. package/dist/ui-library/p-4272021f.entry.js.map +1 -0
  500. package/dist/ui-library/p-499480a2.entry.js +2 -0
  501. package/dist/ui-library/p-499480a2.entry.js.map +1 -0
  502. package/dist/ui-library/p-50d589eb.entry.js +2 -0
  503. package/dist/ui-library/p-50d589eb.entry.js.map +1 -0
  504. package/dist/ui-library/{p-884c5cf9.entry.js → p-52e2a64b.entry.js} +2 -2
  505. package/dist/ui-library/p-52e2a64b.entry.js.map +1 -0
  506. package/dist/ui-library/p-57ab8f42.entry.js +2 -0
  507. package/dist/ui-library/p-57ab8f42.entry.js.map +1 -0
  508. package/dist/ui-library/p-59744f17.entry.js +2 -0
  509. package/dist/ui-library/p-59744f17.entry.js.map +1 -0
  510. package/dist/ui-library/p-5cde0403.entry.js +2 -0
  511. package/dist/ui-library/p-5cde0403.entry.js.map +1 -0
  512. package/dist/ui-library/p-61c91764.entry.js +2 -0
  513. package/dist/ui-library/p-61c91764.entry.js.map +1 -0
  514. package/dist/ui-library/p-651293e7.js +2 -0
  515. package/dist/ui-library/p-651293e7.js.map +1 -0
  516. package/dist/ui-library/{p-61e66671.js → p-6ee48e81.js} +2 -2
  517. package/dist/ui-library/{p-50dae789.entry.js → p-716019b6.entry.js} +2 -2
  518. package/dist/ui-library/p-716019b6.entry.js.map +1 -0
  519. package/dist/ui-library/p-71ff0e72.entry.js +2 -0
  520. package/dist/ui-library/p-71ff0e72.entry.js.map +1 -0
  521. package/dist/ui-library/p-740d3c8b.entry.js +2 -0
  522. package/dist/ui-library/p-740d3c8b.entry.js.map +1 -0
  523. package/dist/ui-library/p-786148a6.entry.js +2 -0
  524. package/dist/ui-library/p-786148a6.entry.js.map +1 -0
  525. package/dist/ui-library/p-7ad67887.entry.js +2 -0
  526. package/dist/ui-library/p-7ad67887.entry.js.map +1 -0
  527. package/dist/ui-library/{p-9c79341d.entry.js → p-81390410.entry.js} +2 -2
  528. package/dist/ui-library/p-81390410.entry.js.map +1 -0
  529. package/dist/ui-library/p-9a7c45c4.entry.js +2 -0
  530. package/dist/ui-library/p-9a7c45c4.entry.js.map +1 -0
  531. package/dist/ui-library/{p-caea1eb6.entry.js → p-9e14b37a.entry.js} +2 -2
  532. package/dist/ui-library/p-9e14b37a.entry.js.map +1 -0
  533. package/dist/ui-library/p-a2dad0ab.entry.js +2 -0
  534. package/dist/ui-library/p-a2dad0ab.entry.js.map +1 -0
  535. package/dist/ui-library/p-a67b3f42.entry.js +2 -0
  536. package/dist/ui-library/p-a67b3f42.entry.js.map +1 -0
  537. package/dist/ui-library/p-a69ba529.entry.js +2 -0
  538. package/dist/ui-library/p-a69ba529.entry.js.map +1 -0
  539. package/dist/ui-library/p-ab22dafd.entry.js +2 -0
  540. package/dist/ui-library/p-ab22dafd.entry.js.map +1 -0
  541. package/dist/ui-library/p-ad244587.entry.js +2 -0
  542. package/dist/ui-library/p-ad244587.entry.js.map +1 -0
  543. package/dist/ui-library/p-b68f4556.entry.js +2 -0
  544. package/dist/ui-library/p-b68f4556.entry.js.map +1 -0
  545. package/dist/ui-library/p-b863dcc4.entry.js +2 -0
  546. package/dist/ui-library/p-b863dcc4.entry.js.map +1 -0
  547. package/dist/ui-library/p-b902eb65.entry.js +2 -0
  548. package/dist/ui-library/p-b902eb65.entry.js.map +1 -0
  549. package/dist/ui-library/p-b922e8ac.entry.js +2 -0
  550. package/dist/ui-library/p-b922e8ac.entry.js.map +1 -0
  551. package/dist/ui-library/p-c297662b.entry.js +2 -0
  552. package/dist/ui-library/p-c297662b.entry.js.map +1 -0
  553. package/dist/ui-library/p-ce59d17f.entry.js +2 -0
  554. package/dist/ui-library/p-ce59d17f.entry.js.map +1 -0
  555. package/dist/ui-library/{p-d95e292e.entry.js → p-dea8f89c.entry.js} +2 -2
  556. package/dist/ui-library/p-dea8f89c.entry.js.map +1 -0
  557. package/dist/ui-library/p-e1255160.js +2 -0
  558. package/dist/ui-library/p-e1255160.js.map +1 -0
  559. package/dist/ui-library/{p-da7f3dbd.entry.js → p-e6db01a9.entry.js} +2 -2
  560. package/dist/ui-library/p-e6db01a9.entry.js.map +1 -0
  561. package/dist/ui-library/p-e6db442b.entry.js +2 -0
  562. package/dist/ui-library/p-e6db442b.entry.js.map +1 -0
  563. package/dist/ui-library/p-e8d5a789.js +3 -0
  564. package/dist/ui-library/p-e8d5a789.js.map +1 -0
  565. package/dist/ui-library/p-e924132d.entry.js +2 -0
  566. package/dist/ui-library/p-e924132d.entry.js.map +1 -0
  567. package/dist/ui-library/p-e9726db2.entry.js +2 -0
  568. package/dist/ui-library/p-e9726db2.entry.js.map +1 -0
  569. package/dist/ui-library/p-f2320c65.entry.js +2 -0
  570. package/dist/ui-library/p-f2320c65.entry.js.map +1 -0
  571. package/dist/ui-library/p-fdf271fd.entry.js +2 -0
  572. package/dist/ui-library/p-fdf271fd.entry.js.map +1 -0
  573. package/dist/ui-library/p-fe483fc6.entry.js +2 -0
  574. package/dist/ui-library/p-fe483fc6.entry.js.map +1 -0
  575. package/dist/ui-library/ui-library.esm.js +1 -1
  576. package/dist/ui-library/ui-library.esm.js.map +1 -1
  577. package/package.json +5 -5
  578. package/dist/cjs/index-d7748d51.js.map +0 -1
  579. package/dist/cjs/modal-3ce015be.js.map +0 -1
  580. package/dist/collection/utils/support.js +0 -16
  581. package/dist/collection/utils/support.js.map +0 -1
  582. package/dist/esm/index-79d4ef67.js.map +0 -1
  583. package/dist/esm/modal-96526245.js.map +0 -1
  584. package/dist/types/utils/support.d.ts +0 -1
  585. package/dist/ui-library/p-0440335d.entry.js.map +0 -1
  586. package/dist/ui-library/p-04cc397c.entry.js.map +0 -1
  587. package/dist/ui-library/p-0edd3091.entry.js +0 -2
  588. package/dist/ui-library/p-0edd3091.entry.js.map +0 -1
  589. package/dist/ui-library/p-150b7664.entry.js +0 -2
  590. package/dist/ui-library/p-150b7664.entry.js.map +0 -1
  591. package/dist/ui-library/p-1f5840b5.entry.js +0 -2
  592. package/dist/ui-library/p-1f5840b5.entry.js.map +0 -1
  593. package/dist/ui-library/p-28cc013e.entry.js +0 -2
  594. package/dist/ui-library/p-28cc013e.entry.js.map +0 -1
  595. package/dist/ui-library/p-3424bbc0.entry.js +0 -2
  596. package/dist/ui-library/p-3424bbc0.entry.js.map +0 -1
  597. package/dist/ui-library/p-348c68a8.entry.js +0 -2
  598. package/dist/ui-library/p-348c68a8.entry.js.map +0 -1
  599. package/dist/ui-library/p-3723ca06.entry.js +0 -2
  600. package/dist/ui-library/p-3723ca06.entry.js.map +0 -1
  601. package/dist/ui-library/p-37aeac5e.entry.js +0 -2
  602. package/dist/ui-library/p-37aeac5e.entry.js.map +0 -1
  603. package/dist/ui-library/p-3d7fb086.entry.js +0 -2
  604. package/dist/ui-library/p-3d7fb086.entry.js.map +0 -1
  605. package/dist/ui-library/p-457f7373.entry.js +0 -2
  606. package/dist/ui-library/p-457f7373.entry.js.map +0 -1
  607. package/dist/ui-library/p-4a667f31.entry.js +0 -2
  608. package/dist/ui-library/p-4a667f31.entry.js.map +0 -1
  609. package/dist/ui-library/p-50dae789.entry.js.map +0 -1
  610. package/dist/ui-library/p-546e33d9.entry.js +0 -2
  611. package/dist/ui-library/p-546e33d9.entry.js.map +0 -1
  612. package/dist/ui-library/p-5db3a705.entry.js +0 -2
  613. package/dist/ui-library/p-5db3a705.entry.js.map +0 -1
  614. package/dist/ui-library/p-6296779b.entry.js +0 -2
  615. package/dist/ui-library/p-6296779b.entry.js.map +0 -1
  616. package/dist/ui-library/p-64b4755d.entry.js +0 -2
  617. package/dist/ui-library/p-64b4755d.entry.js.map +0 -1
  618. package/dist/ui-library/p-664b7913.entry.js +0 -2
  619. package/dist/ui-library/p-664b7913.entry.js.map +0 -1
  620. package/dist/ui-library/p-6c1b046e.entry.js +0 -2
  621. package/dist/ui-library/p-6c1b046e.entry.js.map +0 -1
  622. package/dist/ui-library/p-7115316e.entry.js +0 -2
  623. package/dist/ui-library/p-7115316e.entry.js.map +0 -1
  624. package/dist/ui-library/p-870b988d.entry.js.map +0 -1
  625. package/dist/ui-library/p-884c5cf9.entry.js.map +0 -1
  626. package/dist/ui-library/p-8888a367.entry.js.map +0 -1
  627. package/dist/ui-library/p-935c78a7.entry.js +0 -2
  628. package/dist/ui-library/p-935c78a7.entry.js.map +0 -1
  629. package/dist/ui-library/p-961bd001.entry.js.map +0 -1
  630. package/dist/ui-library/p-998de05d.js +0 -2
  631. package/dist/ui-library/p-998de05d.js.map +0 -1
  632. package/dist/ui-library/p-9b08068d.entry.js +0 -2
  633. package/dist/ui-library/p-9b08068d.entry.js.map +0 -1
  634. package/dist/ui-library/p-9c79341d.entry.js.map +0 -1
  635. package/dist/ui-library/p-a9c159f2.entry.js +0 -2
  636. package/dist/ui-library/p-a9c159f2.entry.js.map +0 -1
  637. package/dist/ui-library/p-ac57ba5c.entry.js.map +0 -1
  638. package/dist/ui-library/p-ae45f6f4.entry.js +0 -2
  639. package/dist/ui-library/p-ae45f6f4.entry.js.map +0 -1
  640. package/dist/ui-library/p-af15381b.js +0 -3
  641. package/dist/ui-library/p-af15381b.js.map +0 -1
  642. package/dist/ui-library/p-b1a5f3cd.entry.js +0 -2
  643. package/dist/ui-library/p-b1a5f3cd.entry.js.map +0 -1
  644. package/dist/ui-library/p-b385a241.entry.js +0 -2
  645. package/dist/ui-library/p-b385a241.entry.js.map +0 -1
  646. package/dist/ui-library/p-c2c7370b.entry.js +0 -2
  647. package/dist/ui-library/p-c2c7370b.entry.js.map +0 -1
  648. package/dist/ui-library/p-caea1eb6.entry.js.map +0 -1
  649. package/dist/ui-library/p-d3f5b9a8.entry.js +0 -2
  650. package/dist/ui-library/p-d3f5b9a8.entry.js.map +0 -1
  651. package/dist/ui-library/p-d42b18eb.entry.js +0 -2
  652. package/dist/ui-library/p-d42b18eb.entry.js.map +0 -1
  653. package/dist/ui-library/p-d769cc36.entry.js +0 -2
  654. package/dist/ui-library/p-d769cc36.entry.js.map +0 -1
  655. package/dist/ui-library/p-d95e292e.entry.js.map +0 -1
  656. package/dist/ui-library/p-da7f3dbd.entry.js.map +0 -1
  657. package/dist/ui-library/p-dfb89b6a.entry.js +0 -2
  658. package/dist/ui-library/p-dfb89b6a.entry.js.map +0 -1
  659. package/dist/ui-library/p-e6032375.entry.js +0 -2
  660. package/dist/ui-library/p-e6032375.entry.js.map +0 -1
  661. package/dist/ui-library/p-e60d2324.entry.js +0 -2
  662. package/dist/ui-library/p-e60d2324.entry.js.map +0 -1
  663. package/dist/ui-library/p-e8298c6e.entry.js +0 -2
  664. package/dist/ui-library/p-e8298c6e.entry.js.map +0 -1
  665. package/dist/ui-library/p-ed279165.entry.js.map +0 -1
  666. package/dist/ui-library/p-ed61b75c.entry.js +0 -2
  667. package/dist/ui-library/p-ed61b75c.entry.js.map +0 -1
  668. package/dist/ui-library/p-ee872c04.entry.js +0 -2
  669. package/dist/ui-library/p-ee872c04.entry.js.map +0 -1
  670. package/dist/ui-library/p-f1ab3384.entry.js +0 -2
  671. package/dist/ui-library/p-f1ab3384.entry.js.map +0 -1
  672. package/dist/ui-library/p-f4ef481c.entry.js +0 -2
  673. package/dist/ui-library/p-f4ef481c.entry.js.map +0 -1
  674. package/dist/ui-library/p-f8cbb8da.entry.js +0 -2
  675. package/dist/ui-library/p-f8cbb8da.entry.js.map +0 -1
  676. /package/dist/ui-library/{p-61e66671.js.map → p-6ee48e81.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixCardCss","SixCard","render","h","Host"],"sources":["src/components/six-card/six-card.scss?tag=six-card&encapsulation=shadow","src/components/six-card/six-card.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: inline-block;\n box-shadow: var(--six-shadow-medium);\n border: 1px solid var(--six-color-web-rock-100);\n padding: var(--six-spacing-medium);\n}\n","import { Component, h, Host } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the content of the card.\n */\n\n@Component({\n tag: 'six-card',\n styleUrl: 'six-card.scss',\n shadow: true,\n})\nexport class SixCard {\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAa,4P,MCcNC,EAAO,M,yBAClB,MAAAC,GACE,OACEC,EAACC,EAAI,KACHD,EAAA,a"}
@@ -1,2 +0,0 @@
1
- import{r as i,c as s,h as t}from"./p-af15381b.js";const e=".six-files-list-item{padding-bottom:0.5rem}.six-files-list-item__name{color:var(--six-color-action-600);cursor:pointer}.six-files-list-item__name--disabled{cursor:inherit;color:var(--six-color-web-rock-500)}.six-files-list-item__name:hover:not(.six-files-list-item__name--disabled){color:var(--six-color-action-500)}.six-files-list-item__date{padding-left:1rem;color:var(--six-color-web-rock-600)}.six-files-list-item__size{padding-left:1rem;color:var(--six-color-web-rock-600)}.six-files-list-item__icon{padding-left:0.5rem;display:inline-block;transform:translateY(-3px);cursor:pointer;color:var(--six-color-web-rock-600)}.six-files-list-item__icon--disabled{cursor:not-allowed;color:var(--six-color-web-rock-500)}.six-files-list-item__icon:hover:not(.six-files-list-item__icon--disabled){color:var(--six-color-web-rock-900)}";const l=class{constructor(t){i(this,t);this.downloadEvent=s(this,"six-file-list-item-download",7);this.removeEvent=s(this,"six-file-list-item-remove",7);this.downloadFile=()=>{if(this.nodownload){return}this.downloadEvent.emit({fileId:this.identifier,name:this.name})};this.removeFile=()=>{if(this.nodelete){return}this.removeEvent.emit({fileId:this.identifier,name:this.name})};this.identifier="";this.name="";this.date="";this.size=undefined;this.nodownload=false;this.nodelete=false}render(){return t("div",{class:"six-files-list-item"},t("span",{class:{"six-files-list-item__name":true,"six-files-list-item__name--disabled":this.nodownload},onClick:this.downloadFile},this.name),t("span",{class:"six-files-list-item__date"},this.date),this.size!=null&&t("span",{class:"six-files-list-item__size"},Math.round(this.size/1024)," KB"),t("six-icon",{class:{"six-files-list-item__icon":true,"six-files-list-item__icon--disabled":this.nodelete},size:"small",onClick:this.removeFile},"delete"))}};l.style=e;export{l as six_file_list_item};
2
- //# sourceMappingURL=p-457f7373.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixFileListItemCss","SixFileListItem","this","downloadFile","nodownload","downloadEvent","emit","fileId","identifier","name","removeFile","nodelete","removeEvent","render","h","class","onClick","date","size","Math","round"],"sources":["src/components/six-file-list-item/six-file-list-item.scss?tag=six-file-list-item&encapsulation=shadow","src/components/six-file-list-item/six-file-list-item.tsx"],"sourcesContent":[".six-files-list-item {\n padding-bottom: 0.5rem;\n\n &__name {\n color: var(--six-color-action-600);\n cursor: pointer;\n\n &--disabled {\n cursor: inherit;\n color: var(--six-color-web-rock-500);\n }\n\n &:hover:not(&--disabled) {\n color: var(--six-color-action-500);\n }\n }\n\n &__date {\n padding-left: 1rem;\n color: var(--six-color-web-rock-600);\n }\n\n &__size {\n padding-left: 1rem;\n color: var(--six-color-web-rock-600);\n }\n\n &__icon {\n padding-left: 0.5rem;\n display: inline-block;\n transform: translateY(-3px);\n cursor: pointer;\n color: var(--six-color-web-rock-600);\n\n &--disabled {\n cursor: not-allowed;\n color: var(--six-color-web-rock-500);\n }\n\n &:hover:not(&--disabled) {\n color: var(--six-color-web-rock-900);\n }\n }\n}\n","import { Component, Event, EventEmitter, h, Prop } from '@stencil/core';\n\nexport interface SixFileListDownloadPayload {\n fileId: string;\n name: string;\n}\n\nexport interface SixFileListRemovePayload {\n fileId: string;\n name: string;\n}\n\n/**\n * @since 2.0.0\n * @status experimental\n *\n */\n@Component({\n tag: 'six-file-list-item',\n styleUrl: 'six-file-list-item.scss',\n shadow: true,\n})\nexport class SixFileListItem {\n /** An id to clearly identify the file */\n @Prop({ reflect: true }) identifier = '';\n\n /** The filename */\n @Prop({ reflect: true }) name = '';\n\n /** The date when the file was uploaded */\n @Prop({ reflect: true }) date = '';\n\n /** The file size. This number will be divided by 1024 to show the filesize in KB */\n @Prop({ reflect: true }) size?: number;\n\n /** Set to true if you don't want to allow to download this file */\n @Prop({ reflect: true }) nodownload = false;\n\n /** Set to true if you don't want to allow to delete this file */\n @Prop({ reflect: true }) nodelete = false;\n\n /** Triggered on file download. */\n @Event({ eventName: 'six-file-list-item-download' }) downloadEvent!: EventEmitter<SixFileListDownloadPayload>;\n\n /** Triggered on file remove. */\n @Event({ eventName: 'six-file-list-item-remove' }) removeEvent!: EventEmitter<SixFileListRemovePayload>;\n\n private downloadFile = () => {\n if (this.nodownload) {\n return;\n }\n\n this.downloadEvent.emit({ fileId: this.identifier, name: this.name });\n };\n\n private removeFile = () => {\n if (this.nodelete) {\n return;\n }\n\n this.removeEvent.emit({ fileId: this.identifier, name: this.name });\n };\n\n render() {\n return (\n <div class=\"six-files-list-item\">\n <span\n class={{\n 'six-files-list-item__name': true,\n 'six-files-list-item__name--disabled': this.nodownload,\n }}\n onClick={this.downloadFile}\n >\n {this.name}\n </span>\n <span class=\"six-files-list-item__date\">{this.date}</span>\n {this.size != null && <span class=\"six-files-list-item__size\">{Math.round(this.size / 1024)} KB</span>}\n <six-icon\n class={{\n 'six-files-list-item__icon': true,\n 'six-files-list-item__icon--disabled': this.nodelete,\n }}\n size=\"small\"\n onClick={this.removeFile}\n >\n delete\n </six-icon>\n </div>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAqB,8zB,MCsBdC,EAAe,M,2IAyBlBC,KAAAC,aAAe,KACrB,GAAID,KAAKE,WAAY,CACnB,M,CAGFF,KAAKG,cAAcC,KAAK,CAAEC,OAAQL,KAAKM,WAAYC,KAAMP,KAAKO,MAAO,EAG/DP,KAAAQ,WAAa,KACnB,GAAIR,KAAKS,SAAU,CACjB,M,CAGFT,KAAKU,YAAYN,KAAK,CAAEC,OAAQL,KAAKM,WAAYC,KAAMP,KAAKO,MAAO,E,gBApC/B,G,UAGN,G,UAGA,G,oCAMM,M,cAGF,K,CAwBpC,MAAAI,GACE,OACEC,EAAA,OAAKC,MAAM,uBACTD,EAAA,QACEC,MAAO,CACL,4BAA6B,KAC7B,sCAAuCb,KAAKE,YAE9CY,QAASd,KAAKC,cAEbD,KAAKO,MAERK,EAAA,QAAMC,MAAM,6BAA6Bb,KAAKe,MAC7Cf,KAAKgB,MAAQ,MAAQJ,EAAA,QAAMC,MAAM,6BAA6BI,KAAKC,MAAMlB,KAAKgB,KAAO,MAAK,OAC3FJ,EAAA,YACEC,MAAO,CACL,4BAA6B,KAC7B,sCAAuCb,KAAKS,UAE9CO,KAAK,QACLF,QAASd,KAAKQ,YAAU,U"}
@@ -1,2 +0,0 @@
1
- import{r as e,c as o,h as t,g as i}from"./p-af15381b.js";import{F as s}from"./p-61e66671.js";import{h as r,a as l}from"./p-0cebf1d2.js";import{E as n}from"./p-8bfb4bfc.js";const c=':host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.form-control .form-control__label{display:none}.form-control .form-control__help-text{display:none}.form-control .form-control__error-text{display:none;text-align:left}.form-control--has-label .form-control__label{display:inline-block;color:var(--six-input-label-color);font-weight:var(--six-font-weight-bold);margin-bottom:var(--six-spacing-x-small)}.form-control--has-label .form-control__label__required::after{color:var(--six-color-danger-800);content:"*";transform:scale(1.1);margin-left:var(--six-spacing-xxx-small);position:absolute}.form-control--has-label.form-control--small .form-control__label{font-size:var(--six-input-label-font-size-small)}.form-control--has-label.form-control--medium .form-control__label{font-size:var(--six-input-label-font-size-medium)}.form-control--has-label.form-control--large .form-control_label{font-size:var(--six-input-label-font-size-large)}.form-control--has-help-text .form-control__help-text{display:block;color:var(--six-input-help-text-color);margin-top:var(--six-spacing-x-small)}.form-control--has-help-text .form-control__help-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-help-text.form-control--small .form-control__help-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-help-text.form-control--medium .form-control__help-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-help-text.form-control--large .form-control__help-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--has-error-text .form-control__error-text{display:block;margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text .form-control__error-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text.form-control--small .form-control__error-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-error-text.form-control--medium .form-control__error-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-error-text.form-control--large .form-control__error-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--disabled .form-control__help-text{color:var(--six-input-help-text-color-disabled)}.form-control--disabled .form-control__label{color:var(--six-input-label-color-disabled)}.form-control--invalid:not(.form-control--disabled) .form-control__label{color:var(--six-input-label-color)}:host{display:inline-block}.checkbox{display:inline-flex;align-items:center;font-family:var(--six-font-family);font-size:var(--six-input-font-size-medium);font-weight:var(--six-input-font-weight);color:var(--six-input-color);vertical-align:middle;cursor:pointer}.checkbox--focused .checkbox__control{outline:var(--six-focus-ring);outline-offset:0}.checkbox__control{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--six-selection-control-toggle-size);height:var(--six-selection-control-toggle-size);border:solid var(--six-border-width) var(--six-input-border-color);border-radius:0;background-color:var(--six-input-background-color);color:var(--six-checkbox-color);transition:var(--six-transition-fast) border-color, var(--six-transition-fast) background-color, var(--six-transition-fast) color, var(--six-transition-fast) box-shadow}.checkbox__control input[type=checkbox]{position:absolute;opacity:0;padding:0;margin:0;pointer-events:none}.checkbox__control .checkbox__icon{display:inline-flex;width:var(--six-selection-control-toggle-size);height:var(--six-selection-control-toggle-size)}.checkbox__control .checkbox__icon svg{width:100%;height:100%}.checkbox:not(.checkbox--checked):not(.checkbox--disabled) .checkbox__control:hover{border-color:var(--six-input-border-color-hover)}.checkbox--checked .checkbox__control,.checkbox--indeterminate .checkbox__control{border-color:var(--six-selection-control-color);background-color:var(--six-selection-control-color)}.checkbox.checkbox--checked:not(.checkbox--disabled) .checkbox__control:hover,.checkbox.checkbox--indeterminate:not(.checkbox--disabled) .checkbox__control:hover{border-color:var(--six-input-border-color-focus);background-color:var(--six-input-border-color-focus)}.checkbox--disabled{cursor:not-allowed;color:var(--six-input-color-disabled)}.checkbox--disabled .checkbox__control{border-color:var(--six-input-border-color-disabled)}.checkbox--disabled.checkbox--checked .checkbox__control,.checkbox--disabled.checkbox--indeterminate .checkbox__control{background-color:var(--six-selection-control-color-disabled)}.checkbox--invalid:not(.checkbox--disabled) .checkbox__control{border-color:var(--six-input-border-color-danger)}.checkbox__text{line-height:var(--six-selection-control-toggle-size);margin-left:0.5em;user-select:none}';let a=0;const h=class{constructor(t){e(this,t);this.sixBlur=o(this,"six-checkbox-blur",7);this.sixChange=o(this,"six-checkbox-change",7);this.sixFocus=o(this,"six-checkbox-focus",7);this.inputId=`checkbox-${++a}`;this.labelId=`checkbox-label-${a}`;this.textId=`checkbox-text-${a}`;this.errorTextId=`input-error-text-${a}`;this.eventListeners=new n;this.handleChange=()=>{if(this.nativeInput!=null){this.checked=this.nativeInput.checked;this.indeterminate=false;this.sixChange.emit()}};this.handleBlur=()=>{this.hasFocus=false;this.sixBlur.emit()};this.handleFocus=()=>{this.hasFocus=true;this.sixFocus.emit()};this.handleMouseDown=e=>{var o;e.preventDefault();(o=this.nativeInput)===null||o===void 0?void 0:o.focus()};this.hasFocus=false;this.hasLabelSlot=false;this.hasErrorSlot=false;this.name="";this.value="on";this.disabled=false;this.required=false;this.label="";this.errorText="";this.errorTextCount=undefined;this.invalid=false;this.checked=false;this.indeterminate=false}handleCheckedChange(){if(this.nativeInput==null)return;this.nativeInput.checked=this.checked;this.checked=this.nativeInput.checked;this.nativeInput.indeterminate=this.indeterminate}handleLabelChange(){this.handleSlotChange()}connectedCallback(){var e;(e=this.host.shadowRoot)===null||e===void 0?void 0:e.addEventListener("slotchange",this.handleSlotChange);this.eventListeners.forward("six-checkbox-change","change",this.host);this.eventListeners.forward("six-checkbox-blur","blur",this.host);this.eventListeners.forward("six-checkbox-focus","focus",this.host)}disconnectedCallback(){var e;(e=this.host.shadowRoot)===null||e===void 0?void 0:e.removeEventListener("slotchange",this.handleSlotChange);this.eventListeners.removeAll()}componentWillLoad(){this.handleSlotChange()}componentDidLoad(){const e=this.nativeInput;if(e==null){return}e.indeterminate=this.indeterminate}async setFocus(e){var o;(o=this.nativeInput)===null||o===void 0?void 0:o.focus(e)}async removeFocus(){var e;(e=this.nativeInput)===null||e===void 0?void 0:e.blur()}handleSlotChange(){this.hasLabelSlot=r(this.host,"label");this.hasErrorSlot=r(this.host,"error-text")}render(){return t(s,{inputId:this.inputId,label:this.label,labelId:this.labelId,hasLabelSlot:this.hasLabelSlot,errorTextId:this.errorTextId,hasErrorTextSlot:this.hasErrorSlot,errorText:this.errorText,errorTextCount:this.errorTextCount,size:"medium",disabled:this.disabled,required:this.required,displayError:this.invalid},t("label",{part:"base",class:{checkbox:true,"checkbox--checked":this.checked,"checkbox--disabled":this.disabled,"checkbox--focused":this.hasFocus,"checkbox--invalid":this.invalid,"checkbox--indeterminate":this.indeterminate},htmlFor:this.inputId,onMouseDown:this.handleMouseDown},t("span",{part:"control",class:"checkbox__control"},this.checked&&t("span",{part:"checked-icon",class:"checkbox__icon"},t("svg",{viewBox:"0 0 16 16"},t("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd","stroke-linecap":"round"},t("g",{stroke:"currentColor","stroke-width":"2"},t("g",{transform:"translate(3.428571, 3.428571)"},t("path",{d:"M0,5.71428571 L3.42857143,9.14285714"}),t("path",{d:"M9.14285714,0 L3.42857143,9.14285714"})))))),!this.checked&&this.indeterminate&&t("span",{part:"indeterminate-icon",class:"checkbox__icon"},t("svg",{viewBox:"0 0 16 16"},t("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd","stroke-linecap":"round"},t("g",{stroke:"currentColor","stroke-width":"2"},t("g",{transform:"translate(2.285714, 6.857143)"},t("path",{d:"M10.2857143,1.14285714 L1.14285714,1.14285714"})))))),t("input",{ref:e=>this.nativeInput=e,id:this.inputId,type:"checkbox",name:this.name,value:this.value,checked:this.checked,disabled:this.disabled,required:this.required,role:"checkbox","aria-checked":this.checked?"true":"false","aria-labelledby":this.labelId,onChange:this.handleChange,onBlur:this.handleBlur,onFocus:this.handleFocus})),t("span",{part:"text",id:this.textId,class:"checkbox__text"},t("slot",null))))}get host(){return i(this)}static get watchers(){return{checked:["handleCheckedChange"],indeterminate:["handleCheckedChange"],errorText:["handleLabelChange"],label:["handleLabelChange"]}}};h.style=c;const x=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{display:block}:focus{outline:none}.menu-item{position:relative;display:flex;align-items:stretch;font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);line-height:var(--six-line-height-normal);letter-spacing:var(--six-letter-spacing-normal);text-align:left;color:var(--six-input-color);border-radius:var(--six-border-radius-medium);padding:var(--six-spacing-x-small) var(--six-spacing-medium);transition:var(--six-transition-fast) fill;user-select:none;white-space:nowrap;cursor:pointer}.menu-item.menu-item--focused:not(.menu-item--disabled){outline:none;background-color:var(--six-menu-item-background-color)}.menu-item.menu-item--active:not(.menu-item--disabled){outline:none;background-color:var(--six-menu-item-background-color)}.menu-item.menu-item--disabled{outline:none;color:var(--six-input-color-disabled);cursor:not-allowed}.menu-item .menu-item__label{flex:1 1 auto;align-self:center}.menu-item .menu-item__prefix{flex:0 0 auto;display:flex;align-items:center}.menu-item .menu-item__prefix ::slotted(:last-child){margin-right:0.5em}.menu-item .menu-item__suffix{flex:0 0 auto;display:flex;align-items:center}.menu-item .menu-item__suffix ::slotted(:first-child){margin-left:0.5em}.menu-item .menu-item__check{flex:0 0 auto;display:flex;align-items:center;margin-left:var(--six-spacing-small);visibility:hidden;font-size:inherit}.menu-item .menu-item__checkbox{margin-top:-1px}.menu-item--checked .menu-item__check{visibility:visible}";const d=class{constructor(o){e(this,o);this.handleCheckboxChange=()=>{this.host.dispatchEvent(new Event("click",{bubbles:true,cancelable:true}))};this.hasFocus=false;this.active=false;this.checkType="check";this.checked=false;this.value="";this.disabled=false}connectedCallback(){this.handleBlur=this.handleBlur.bind(this);this.handleFocus=this.handleFocus.bind(this);this.handleMouseEnter=this.handleMouseEnter.bind(this);this.handleMouseLeave=this.handleMouseLeave.bind(this);this.handleCheckboxChange=this.handleCheckboxChange.bind(this)}async setFocus(e){var o;(o=this.menuItem)===null||o===void 0?void 0:o.focus(e)}async removeFocus(){var e;(e=this.menuItem)===null||e===void 0?void 0:e.blur()}getTextLabel(){return Promise.resolve(l(this.defaultSlot))}handleBlur(){this.hasFocus=false}handleFocus(){this.hasFocus=true}handleMouseEnter(){this.active=true}handleMouseLeave(){this.active=false;this.hasFocus=false}render(){return t("div",{ref:e=>this.menuItem=e,part:"base",class:{"menu-item":true,"menu-item--checked":this.checked,"menu-item--disabled":this.disabled,"menu-item--focused":this.hasFocus,"menu-item--active":this.active},role:"menuitem","aria-disabled":this.disabled?"true":"false","aria-checked":this.checked?"true":"false",tabIndex:!this.disabled?0:undefined,onFocus:this.handleFocus,onBlur:this.handleBlur,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},this.checkType==="checkbox"&&t("span",{class:"menu-item__checkbox"},t("six-checkbox",{"onSix-checkbox-change":this.handleCheckboxChange,disabled:this.disabled,checked:this.checked})),t("span",{part:"prefix",class:"menu-item__prefix"},t("slot",{name:"prefix"})),t("span",{part:"label",class:"menu-item__label"},t("slot",{ref:e=>this.defaultSlot=e})),t("span",{part:"suffix",class:"menu-item__suffix"},t("slot",{name:"suffix"})),this.checkType==="check"&&t("span",{part:"checked-icon",class:"menu-item__check"},t("six-icon",{size:"small","aria-hidden":"true"},"check")))}get host(){return i(this)}};d.style=x;export{h as six_checkbox,d as six_menu_item};
2
- //# sourceMappingURL=p-4a667f31.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixCheckboxCss","id","SixCheckbox","this","inputId","labelId","textId","errorTextId","eventListeners","EventListeners","handleChange","nativeInput","checked","indeterminate","sixChange","emit","handleBlur","hasFocus","sixBlur","handleFocus","sixFocus","handleMouseDown","event","preventDefault","_a","focus","handleCheckedChange","handleLabelChange","handleSlotChange","connectedCallback","host","shadowRoot","addEventListener","forward","disconnectedCallback","removeEventListener","removeAll","componentWillLoad","componentDidLoad","setFocus","options","removeFocus","blur","hasLabelSlot","hasSlot","hasErrorSlot","render","h","FormControl","label","hasErrorTextSlot","errorText","errorTextCount","size","disabled","required","displayError","invalid","part","class","checkbox","htmlFor","onMouseDown","viewBox","stroke","fill","transform","d","ref","el","type","name","value","role","onChange","onBlur","onFocus","sixMenuItemCss","SixMenuItem","handleCheckboxChange","dispatchEvent","Event","bubbles","cancelable","bind","handleMouseEnter","handleMouseLeave","menuItem","getTextLabel","Promise","resolve","getTextContent","defaultSlot","active","tabIndex","undefined","onMouseEnter","onMouseLeave","checkType"],"sources":["src/components/six-checkbox/six-checkbox.scss?tag=six-checkbox&encapsulation=shadow","src/components/six-checkbox/six-checkbox.tsx","src/components/six-menu-item/six-menu-item.scss?tag=six-menu-item&encapsulation=shadow","src/components/six-menu-item/six-menu-item.tsx"],"sourcesContent":["@import 'src/global/component';\n@import '../../functional-components/form-control/form-control';\n\n:host {\n display: inline-block;\n}\n\n.checkbox {\n display: inline-flex;\n align-items: center;\n font-family: var(--six-font-family);\n font-size: var(--six-input-font-size-medium);\n font-weight: var(--six-input-font-weight);\n color: var(--six-input-color);\n vertical-align: middle;\n cursor: pointer;\n}\n\n.checkbox--focused {\n .checkbox__control {\n outline: var(--six-focus-ring);\n outline-offset: 0;\n }\n}\n\n.checkbox__control {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--six-selection-control-toggle-size);\n height: var(--six-selection-control-toggle-size);\n border: solid var(--six-border-width) var(--six-input-border-color);\n border-radius: 0;\n background-color: var(--six-input-background-color);\n color: var(--six-checkbox-color);\n transition: var(--six-transition-fast) border-color, var(--six-transition-fast) background-color,\n var(--six-transition-fast) color, var(--six-transition-fast) box-shadow;\n\n input[type='checkbox'] {\n position: absolute;\n opacity: 0;\n padding: 0;\n margin: 0;\n pointer-events: none;\n }\n\n .checkbox__icon {\n display: inline-flex;\n width: var(--six-selection-control-toggle-size);\n height: var(--six-selection-control-toggle-size);\n\n svg {\n width: 100%;\n height: 100%;\n }\n }\n}\n\n// Hover\n.checkbox:not(.checkbox--checked):not(.checkbox--disabled) .checkbox__control:hover {\n border-color: var(--six-input-border-color-hover);\n}\n\n// Checked/indeterminate\n.checkbox--checked .checkbox__control,\n.checkbox--indeterminate .checkbox__control {\n border-color: var(--six-selection-control-color);\n background-color: var(--six-selection-control-color);\n}\n\n// Checked/indeterminate + hover\n.checkbox.checkbox--checked:not(.checkbox--disabled) .checkbox__control:hover,\n.checkbox.checkbox--indeterminate:not(.checkbox--disabled) .checkbox__control:hover {\n border-color: var(--six-input-border-color-focus);\n background-color: var(--six-input-border-color-focus);\n}\n\n// Disabled\n.checkbox--disabled {\n cursor: not-allowed;\n color: var(--six-input-color-disabled);\n\n .checkbox__control {\n border-color: var(--six-input-border-color-disabled);\n }\n\n &.checkbox--checked .checkbox__control,\n &.checkbox--indeterminate .checkbox__control {\n background-color: var(--six-selection-control-color-disabled);\n }\n}\n\n// Invalid\n.checkbox--invalid:not(.checkbox--disabled) {\n .checkbox__control {\n border-color: var(--six-input-border-color-danger);\n }\n}\n\n.checkbox__text {\n line-height: var(--six-selection-control-toggle-size);\n margin-left: 0.5em;\n user-select: none;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\n\nlet id = 0;\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 label - The checkbox label.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n *\n * @part base - The component's base wrapper.\n * @part control - The checkbox control.\n * @part checked-icon - The container the wraps the checked icon.\n * @part indeterminate-icon - The container that wraps the indeterminate icon.\n * @part text - The checkbox text rendered to the right.\n */\n\n@Component({\n tag: 'six-checkbox',\n styleUrl: 'six-checkbox.scss',\n shadow: true,\n})\nexport class SixCheckbox {\n private inputId = `checkbox-${++id}`;\n private labelId = `checkbox-label-${id}`;\n private textId = `checkbox-text-${id}`;\n private errorTextId = `input-error-text-${id}`;\n private nativeInput?: HTMLInputElement;\n private eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixCheckboxElement;\n\n @State() hasFocus = false;\n @State() hasLabelSlot = false;\n @State() hasErrorSlot = false;\n\n /** The checkbox's name attribute. */\n @Prop() name = '';\n\n /**\n * The value of the checkbox does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a checkbox is analogous to the value of an `<input type=\"checkbox\">`,\n * it's only used when the checkbox participates in a native `<form>`.\n */\n @Prop() value = 'on';\n\n /** Set to true to disable the checkbox. */\n @Prop() disabled = false;\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /** The label text. */\n @Prop() label = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** Set to true to draw the checkbox in a checked state. */\n @Prop({ mutable: true, reflect: true }) checked = false;\n\n /** Set to true to draw the checkbox in an indeterminate state. */\n @Prop({ mutable: true, reflect: true }) indeterminate = false;\n\n /** Emitted when the control loses focus. */\n @Event({ eventName: 'six-checkbox-blur' }) sixBlur!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control's checked state changes. */\n @Event({ eventName: 'six-checkbox-change' }) sixChange!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control gains focus. */\n @Event({ eventName: 'six-checkbox-focus' }) sixFocus!: EventEmitter<EmptyPayload>;\n\n @Watch('checked')\n @Watch('indeterminate')\n handleCheckedChange() {\n if (this.nativeInput == null) return;\n\n this.nativeInput.checked = this.checked;\n this.checked = this.nativeInput.checked;\n this.nativeInput.indeterminate = this.indeterminate;\n }\n\n @Watch('errorText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n connectedCallback() {\n this.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.forward('six-checkbox-change', 'change', this.host);\n this.eventListeners.forward('six-checkbox-blur', 'blur', this.host);\n this.eventListeners.forward('six-checkbox-focus', 'focus', this.host);\n }\n\n disconnectedCallback() {\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.removeAll();\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n componentDidLoad() {\n const nativeInput = this.nativeInput;\n if (nativeInput == null) {\n return;\n }\n\n nativeInput.indeterminate = this.indeterminate;\n }\n\n /** Sets focus on the checkbox. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.nativeInput?.focus(options);\n }\n\n /** Removes focus from the checkbox. */\n @Method()\n async removeFocus() {\n this.nativeInput?.blur();\n }\n\n private handleChange = () => {\n if (this.nativeInput != null) {\n this.checked = this.nativeInput.checked;\n this.indeterminate = false;\n this.sixChange.emit();\n }\n };\n\n private handleBlur = () => {\n this.hasFocus = false;\n this.sixBlur.emit();\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n this.sixFocus.emit();\n };\n\n private handleMouseDown = (event: MouseEvent) => {\n // Prevent clicks on the label from briefly blurring the input\n event.preventDefault();\n this.nativeInput?.focus();\n };\n\n private handleSlotChange() {\n this.hasLabelSlot = hasSlot(this.host, 'label');\n this.hasErrorSlot = hasSlot(this.host, 'error-text');\n }\n\n render() {\n return (\n <FormControl\n inputId={this.inputId}\n label={this.label}\n labelId={this.labelId}\n hasLabelSlot={this.hasLabelSlot}\n errorTextId={this.errorTextId}\n hasErrorTextSlot={this.hasErrorSlot}\n errorText={this.errorText}\n errorTextCount={this.errorTextCount}\n size=\"medium\"\n disabled={this.disabled}\n required={this.required}\n displayError={this.invalid}\n >\n <label\n part=\"base\"\n class={{\n checkbox: true,\n 'checkbox--checked': this.checked,\n 'checkbox--disabled': this.disabled,\n 'checkbox--focused': this.hasFocus,\n 'checkbox--invalid': this.invalid,\n 'checkbox--indeterminate': this.indeterminate,\n }}\n htmlFor={this.inputId}\n onMouseDown={this.handleMouseDown}\n >\n <span part=\"control\" class=\"checkbox__control\">\n {this.checked && (\n <span part=\"checked-icon\" class=\"checkbox__icon\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(3.428571, 3.428571)\">\n <path d=\"M0,5.71428571 L3.42857143,9.14285714\"></path>\n <path d=\"M9.14285714,0 L3.42857143,9.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n </span>\n )}\n\n {!this.checked && this.indeterminate && (\n <span part=\"indeterminate-icon\" class=\"checkbox__icon\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(2.285714, 6.857143)\">\n <path d=\"M10.2857143,1.14285714 L1.14285714,1.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n </span>\n )}\n\n <input\n ref={(el) => (this.nativeInput = el)}\n id={this.inputId}\n type=\"checkbox\"\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n required={this.required}\n role=\"checkbox\"\n aria-checked={this.checked ? 'true' : 'false'}\n aria-labelledby={this.labelId}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n />\n </span>\n\n <span part=\"text\" id={this.textId} class=\"checkbox__text\">\n <slot />\n </span>\n </label>\n </FormControl>\n );\n }\n}\n","@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n:focus {\n outline: none;\n}\n\n.menu-item {\n position: relative;\n display: flex;\n align-items: stretch;\n font-family: var(--six-font-sans);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-normal);\n line-height: var(--six-line-height-normal);\n letter-spacing: var(--six-letter-spacing-normal);\n text-align: left;\n color: var(--six-input-color);\n border-radius: var(--six-border-radius-medium);\n padding: var(--six-spacing-x-small) var(--six-spacing-medium);\n transition: var(--six-transition-fast) fill;\n user-select: none;\n white-space: nowrap;\n cursor: pointer;\n\n &.menu-item--focused:not(.menu-item--disabled) {\n outline: none;\n background-color: var(--six-menu-item-background-color);\n }\n\n &.menu-item--active:not(.menu-item--disabled) {\n outline: none;\n background-color: var(--six-menu-item-background-color);\n }\n\n &.menu-item--disabled {\n outline: none;\n color: var(--six-input-color-disabled);\n cursor: not-allowed;\n }\n\n .menu-item__label {\n flex: 1 1 auto;\n align-self: center;\n }\n\n .menu-item__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(:last-child) {\n margin-right: 0.5em;\n }\n }\n\n .menu-item__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(:first-child) {\n margin-left: 0.5em;\n }\n }\n\n .menu-item__check {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n margin-left: var(--six-spacing-small);\n visibility: hidden;\n font-size: inherit;\n }\n\n .menu-item__checkbox {\n margin-top: -1px;\n }\n}\n\n.menu-item--checked .menu-item__check {\n visibility: visible;\n}\n","import { Component, Element, h, Method, Prop, State } from '@stencil/core';\nimport { getTextContent } from '../../utils/slot';\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The menu item's label.\n * @slot prefix - Used to prepend an icon or similar element to the menu item.\n * @slot suffix - Used to append an icon or similar element to the menu item.\n *\n * @part base - The component's base wrapper.\n * @part checked-icon - The container that wraps the checked icon.\n * @part prefix - The prefix container.\n * @part label - The menu item label.\n * @part suffix - The suffix container.\n */\n\n@Component({\n tag: 'six-menu-item',\n styleUrl: 'six-menu-item.scss',\n shadow: true,\n})\nexport class SixMenuItem {\n private menuItem?: HTMLElement;\n private defaultSlot?: HTMLSlotElement;\n\n @Element() host!: HTMLSixMenuItemElement;\n\n @State() hasFocus = false;\n\n @State() active = false;\n\n /** Defines if the checked state is displayed as a checkbox or a check-icon */\n @Prop() checkType: 'checkbox' | 'check' = 'check';\n\n /** Internal: Draws the item in a checked state. CheckType needs to be set to 'checkbox' or 'check' to show the\n * checked state */\n @Prop({ reflect: true }) checked = false;\n\n /** A unique value to store in the menu item. This can be used as a way to identify menu items when selected. */\n @Prop({ reflect: true }) value = '';\n\n /** Set to true to draw the menu item in a disabled state. */\n @Prop({ reflect: true }) disabled = false;\n\n connectedCallback() {\n this.handleBlur = this.handleBlur.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleCheckboxChange = this.handleCheckboxChange.bind(this);\n }\n\n /** Sets focus on the button. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.menuItem?.focus(options);\n }\n\n /** Removes focus from the button. */\n @Method()\n async removeFocus() {\n this.menuItem?.blur();\n }\n\n /** Returns a text label based on the contents of the menu item's default slot. */\n @Method()\n getTextLabel() {\n return Promise.resolve(getTextContent(this.defaultSlot));\n }\n\n private handleBlur() {\n this.hasFocus = false;\n }\n\n private handleFocus() {\n this.hasFocus = true;\n }\n\n private handleMouseEnter() {\n this.active = true;\n }\n\n private handleMouseLeave() {\n this.active = false;\n this.hasFocus = false;\n }\n\n private handleCheckboxChange = () => {\n this.host.dispatchEvent(new Event('click', { bubbles: true, cancelable: true }));\n };\n\n render() {\n return (\n <div\n ref={(el) => (this.menuItem = el)}\n part=\"base\"\n class={{\n 'menu-item': true,\n 'menu-item--checked': this.checked,\n 'menu-item--disabled': this.disabled,\n 'menu-item--focused': this.hasFocus,\n 'menu-item--active': this.active,\n }}\n role=\"menuitem\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-checked={this.checked ? 'true' : 'false'}\n tabIndex={!this.disabled ? 0 : undefined}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {this.checkType === 'checkbox' && (\n <span class=\"menu-item__checkbox\">\n <six-checkbox\n onSix-checkbox-change={this.handleCheckboxChange}\n disabled={this.disabled}\n checked={this.checked}\n ></six-checkbox>\n </span>\n )}\n\n <span part=\"prefix\" class=\"menu-item__prefix\">\n <slot name=\"prefix\" />\n </span>\n\n <span part=\"label\" class=\"menu-item__label\">\n <slot ref={(el) => (this.defaultSlot = el as HTMLSlotElement)} />\n </span>\n\n <span part=\"suffix\" class=\"menu-item__suffix\">\n <slot name=\"suffix\" />\n </span>\n\n {this.checkType === 'check' && (\n <span part=\"checked-icon\" class=\"menu-item__check\">\n <six-icon size=\"small\" aria-hidden=\"true\">\n check\n </six-icon>\n </span>\n )}\n </div>\n );\n }\n}\n"],"mappings":"4KAAA,MAAMA,EAAiB,wwJCMvB,IAAIC,EAAK,E,MAuBIC,EAAW,M,gKACdC,KAAAC,QAAU,cAAcH,IACxBE,KAAAE,QAAU,kBAAkBJ,IAC5BE,KAAAG,OAAS,iBAAiBL,IAC1BE,KAAAI,YAAc,oBAAoBN,IAElCE,KAAAK,eAAiB,IAAIC,EA0GrBN,KAAAO,aAAe,KACrB,GAAIP,KAAKQ,aAAe,KAAM,CAC5BR,KAAKS,QAAUT,KAAKQ,YAAYC,QAChCT,KAAKU,cAAgB,MACrBV,KAAKW,UAAUC,M,GAIXZ,KAAAa,WAAa,KACnBb,KAAKc,SAAW,MAChBd,KAAKe,QAAQH,MAAM,EAGbZ,KAAAgB,YAAc,KACpBhB,KAAKc,SAAW,KAChBd,KAAKiB,SAASL,MAAM,EAGdZ,KAAAkB,gBAAmBC,I,MAEzBA,EAAMC,kBACNC,EAAArB,KAAKQ,eAAW,MAAAa,SAAA,SAAAA,EAAEC,OAAO,E,cA3HP,M,kBACI,M,kBACA,M,UAGT,G,WASC,K,cAGG,M,cAGA,M,WAGH,G,eAGuB,G,2CAMJ,M,aAGe,M,mBAGM,K,CAaxD,mBAAAC,GACE,GAAIvB,KAAKQ,aAAe,KAAM,OAE9BR,KAAKQ,YAAYC,QAAUT,KAAKS,QAChCT,KAAKS,QAAUT,KAAKQ,YAAYC,QAChCT,KAAKQ,YAAYE,cAAgBV,KAAKU,a,CAKxC,iBAAAc,GACExB,KAAKyB,kB,CAGP,iBAAAC,G,OACEL,EAAArB,KAAK2B,KAAKC,cAAU,MAAAP,SAAA,SAAAA,EAAEQ,iBAAiB,aAAc7B,KAAKyB,kBAC1DzB,KAAKK,eAAeyB,QAAQ,sBAAuB,SAAU9B,KAAK2B,MAClE3B,KAAKK,eAAeyB,QAAQ,oBAAqB,OAAQ9B,KAAK2B,MAC9D3B,KAAKK,eAAeyB,QAAQ,qBAAsB,QAAS9B,KAAK2B,K,CAGlE,oBAAAI,G,OACEV,EAAArB,KAAK2B,KAAKC,cAAU,MAAAP,SAAA,SAAAA,EAAEW,oBAAoB,aAAchC,KAAKyB,kBAC7DzB,KAAKK,eAAe4B,W,CAGtB,iBAAAC,GACElC,KAAKyB,kB,CAGP,gBAAAU,GACE,MAAM3B,EAAcR,KAAKQ,YACzB,GAAIA,GAAe,KAAM,CACvB,M,CAGFA,EAAYE,cAAgBV,KAAKU,a,CAKnC,cAAM0B,CAASC,G,OACbhB,EAAArB,KAAKQ,eAAW,MAAAa,SAAA,SAAAA,EAAEC,MAAMe,E,CAK1B,iBAAMC,G,OACJjB,EAAArB,KAAKQ,eAAW,MAAAa,SAAA,SAAAA,EAAEkB,M,CA2BZ,gBAAAd,GACNzB,KAAKwC,aAAeC,EAAQzC,KAAK2B,KAAM,SACvC3B,KAAK0C,aAAeD,EAAQzC,KAAK2B,KAAM,a,CAGzC,MAAAgB,GACE,OACEC,EAACC,EAAW,CACV5C,QAASD,KAAKC,QACd6C,MAAO9C,KAAK8C,MACZ5C,QAASF,KAAKE,QACdsC,aAAcxC,KAAKwC,aACnBpC,YAAaJ,KAAKI,YAClB2C,iBAAkB/C,KAAK0C,aACvBM,UAAWhD,KAAKgD,UAChBC,eAAgBjD,KAAKiD,eACrBC,KAAK,SACLC,SAAUnD,KAAKmD,SACfC,SAAUpD,KAAKoD,SACfC,aAAcrD,KAAKsD,SAEnBV,EAAA,SACEW,KAAK,OACLC,MAAO,CACLC,SAAU,KACV,oBAAqBzD,KAAKS,QAC1B,qBAAsBT,KAAKmD,SAC3B,oBAAqBnD,KAAKc,SAC1B,oBAAqBd,KAAKsD,QAC1B,0BAA2BtD,KAAKU,eAElCgD,QAAS1D,KAAKC,QACd0D,YAAa3D,KAAKkB,iBAElB0B,EAAA,QAAMW,KAAK,UAAUC,MAAM,qBACxBxD,KAAKS,SACJmC,EAAA,QAAMW,KAAK,eAAeC,MAAM,kBAC9BZ,EAAA,OAAKgB,QAAQ,aACXhB,EAAA,KAAGiB,OAAO,OAAM,eAAc,IAAIC,KAAK,OAAM,YAAW,UAAS,iBAAgB,SAC/ElB,EAAA,KAAGiB,OAAO,eAAc,eAAc,KACpCjB,EAAA,KAAGmB,UAAU,iCACXnB,EAAA,QAAMoB,EAAE,yCACRpB,EAAA,QAAMoB,EAAE,+CAQlBhE,KAAKS,SAAWT,KAAKU,eACrBkC,EAAA,QAAMW,KAAK,qBAAqBC,MAAM,kBACpCZ,EAAA,OAAKgB,QAAQ,aACXhB,EAAA,KAAGiB,OAAO,OAAM,eAAc,IAAIC,KAAK,OAAM,YAAW,UAAS,iBAAgB,SAC/ElB,EAAA,KAAGiB,OAAO,eAAc,eAAc,KACpCjB,EAAA,KAAGmB,UAAU,iCACXnB,EAAA,QAAMoB,EAAE,uDAQpBpB,EAAA,SACEqB,IAAMC,GAAQlE,KAAKQ,YAAc0D,EACjCpE,GAAIE,KAAKC,QACTkE,KAAK,WACLC,KAAMpE,KAAKoE,KACXC,MAAOrE,KAAKqE,MACZ5D,QAAST,KAAKS,QACd0C,SAAUnD,KAAKmD,SACfC,SAAUpD,KAAKoD,SACfkB,KAAK,WAAU,eACDtE,KAAKS,QAAU,OAAS,QAAO,kBAC5BT,KAAKE,QACtBqE,SAAUvE,KAAKO,aACfiE,OAAQxE,KAAKa,WACb4D,QAASzE,KAAKgB,eAIlB4B,EAAA,QAAMW,KAAK,OAAOzD,GAAIE,KAAKG,OAAQqD,MAAM,kBACvCZ,EAAA,e,uMCxPZ,MAAM8B,EAAiB,glD,MCyBVC,EAAW,M,yBAkEd3E,KAAA4E,qBAAuB,KAC7B5E,KAAK2B,KAAKkD,cAAc,IAAIC,MAAM,QAAS,CAAEC,QAAS,KAAMC,WAAY,OAAQ,E,cA7D9D,M,YAEF,M,eAGwB,Q,aAIP,M,WAGF,G,cAGG,K,CAEpC,iBAAAtD,GACE1B,KAAKa,WAAab,KAAKa,WAAWoE,KAAKjF,MACvCA,KAAKgB,YAAchB,KAAKgB,YAAYiE,KAAKjF,MACzCA,KAAKkF,iBAAmBlF,KAAKkF,iBAAiBD,KAAKjF,MACnDA,KAAKmF,iBAAmBnF,KAAKmF,iBAAiBF,KAAKjF,MACnDA,KAAK4E,qBAAuB5E,KAAK4E,qBAAqBK,KAAKjF,K,CAK7D,cAAMoC,CAASC,G,OACbhB,EAAArB,KAAKoF,YAAQ,MAAA/D,SAAA,SAAAA,EAAEC,MAAMe,E,CAKvB,iBAAMC,G,OACJjB,EAAArB,KAAKoF,YAAQ,MAAA/D,SAAA,SAAAA,EAAEkB,M,CAKjB,YAAA8C,GACE,OAAOC,QAAQC,QAAQC,EAAexF,KAAKyF,a,CAGrC,UAAA5E,GACNb,KAAKc,SAAW,K,CAGV,WAAAE,GACNhB,KAAKc,SAAW,I,CAGV,gBAAAoE,GACNlF,KAAK0F,OAAS,I,CAGR,gBAAAP,GACNnF,KAAK0F,OAAS,MACd1F,KAAKc,SAAW,K,CAOlB,MAAA6B,GACE,OACEC,EAAA,OACEqB,IAAMC,GAAQlE,KAAKoF,SAAWlB,EAC9BX,KAAK,OACLC,MAAO,CACL,YAAa,KACb,qBAAsBxD,KAAKS,QAC3B,sBAAuBT,KAAKmD,SAC5B,qBAAsBnD,KAAKc,SAC3B,oBAAqBd,KAAK0F,QAE5BpB,KAAK,WAAU,gBACAtE,KAAKmD,SAAW,OAAS,QAAO,eACjCnD,KAAKS,QAAU,OAAS,QACtCkF,UAAW3F,KAAKmD,SAAW,EAAIyC,UAC/BnB,QAASzE,KAAKgB,YACdwD,OAAQxE,KAAKa,WACbgF,aAAc7F,KAAKkF,iBACnBY,aAAc9F,KAAKmF,kBAElBnF,KAAK+F,YAAc,YAClBnD,EAAA,QAAMY,MAAM,uBACVZ,EAAA,wCACyB5C,KAAK4E,qBAC5BzB,SAAUnD,KAAKmD,SACf1C,QAAST,KAAKS,WAKpBmC,EAAA,QAAMW,KAAK,SAASC,MAAM,qBACxBZ,EAAA,QAAMwB,KAAK,YAGbxB,EAAA,QAAMW,KAAK,QAAQC,MAAM,oBACvBZ,EAAA,QAAMqB,IAAMC,GAAQlE,KAAKyF,YAAcvB,KAGzCtB,EAAA,QAAMW,KAAK,SAASC,MAAM,qBACxBZ,EAAA,QAAMwB,KAAK,YAGZpE,KAAK+F,YAAc,SAClBnD,EAAA,QAAMW,KAAK,eAAeC,MAAM,oBAC9BZ,EAAA,YAAUM,KAAK,QAAO,cAAa,QAAM,U"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixRangeCss","id","SixRange","this","inputId","labelId","helpTextId","errorTextId","eventListeners","EventListeners","handleInput","nativeInput","update","parseFloat","value","requestAnimationFrame","sixChange","emit","handleBlur","hasFocus","hasTooltip","sixBlur","_a","resizeObserver","unobserve","handleFocus","sixFocus","observe","handleSlotChange","hasHelpTextSlot","hasSlot","host","hasLabelSlot","hasErrorTextSlot","handleTouchStart","setFocus","toString","handleLabelChange","handleValueChange","connectedCallback","shadowRoot","addEventListener","componentWillLoad","componentDidLoad","ResizeObserver","disconnectedCallback","removeEventListener","removeAll","options","focus","removeFocus","blur","syncTooltip","min","max","tooltip","output","percent","Math","inputWidth","offsetWidth","tooltipWidth","thumbSize","getComputedStyle","getPropertyValue","x","style","transform","marginLeft","isFirefox","navigator","userAgent","toLowerCase","indexOf","updateValue","Number","_b","parsedValue","isNaN","getDefaultValue","calculateColorRunnableTrack","ceil","background","render","h","FormControl","label","helpText","size","errorText","errorTextCount","disabled","required","displayError","invalid","part","class","range","onTouchStart","ref","el","type","name","step","onInput","onFocus","onBlur","tooltipFormatter"],"sources":["src/components/six-range/six-range.scss?tag=six-range&encapsulation=shadow","src/components/six-range/six-range.tsx"],"sourcesContent":["@import 'src/global/component';\n@import '../../functional-components/form-control/form-control';\n\n:host {\n --thumb-size: 14px;\n --tooltip-offset-y: 10px;\n --track-color: var(--six-color-web-rock-900);\n --thumb-color: var(--six-color-web-rock-900);\n --track-height: 3px;\n\n display: block;\n}\n\n.range {\n position: relative;\n\n .range__control {\n -webkit-appearance: none;\n width: 100%;\n height: var(--six-input-height-medium);\n background: transparent;\n line-height: var(--six-input-height-medium);\n vertical-align: middle;\n\n &::-webkit-slider-runnable-track {\n width: 100%;\n height: var(--track-height);\n border-radius: 3px;\n border: none;\n }\n\n &::-webkit-slider-thumb {\n border: none;\n width: var(--thumb-size);\n height: var(--thumb-size);\n border-radius: 50%;\n background-color: var(--thumb-color);\n -webkit-appearance: none;\n margin-top: calc(var(--thumb-size) / -2 + var(--track-height) / 2);\n transition: var(--six-transition-fast) border-color, var(--six-transition-fast) background-color,\n var(--six-transition-fast) color, var(--six-transition-fast) box-shadow, var(--six-transition-fast) transform;\n cursor: pointer;\n }\n\n &:not(:disabled)::-webkit-slider-thumb:hover {\n background-color: var(--thumb-color);\n }\n\n &:not(:disabled):focus::-webkit-slider-thumb {\n background-color: var(--thumb-color);\n }\n\n &:not(:disabled)::-webkit-slider-thumb:active {\n background-color: var(--thumb-color);\n cursor: grabbing;\n }\n\n // Firefox\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-moz-range-track {\n width: 100%;\n height: var(--track-height);\n background-color: var(--six-progress-track-color);\n border-radius: 3px;\n border: none;\n }\n\n &::-moz-range-progress {\n height: var(--track-height);\n border-radius: 3px;\n background-color: var(--track-color);\n border: none;\n }\n\n &::-moz-range-thumb {\n border: none;\n height: var(--thumb-size);\n width: var(--thumb-size);\n border-radius: 50%;\n background-color: var(--thumb-color);\n transition: var(--six-transition-fast) border-color, var(--six-transition-fast) background-color,\n var(--six-transition-fast) color, var(--six-transition-fast) box-shadow, var(--six-transition-fast) transform;\n cursor: pointer;\n }\n\n &:not(:disabled)::-moz-range-thumb:hover {\n background-color: var(--thumb-color);\n }\n\n &:not(:disabled):focus::-moz-range-thumb {\n background-color: var(--thumb-color);\n }\n\n &:not(:disabled)::-moz-range-thumb:active {\n background-color: var(--thumb-color);\n cursor: grabbing;\n }\n\n // States\n &:focus {\n outline: none;\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n cursor: not-allowed;\n color: var(--six-color-web-rock-300);\n border-color: var(--six-color-web-rock-300);\n background-color: var(--six-color-web-rock-300);\n }\n\n &::-moz-range-thumb {\n cursor: not-allowed;\n color: var(--six-color-web-rock-300);\n border-color: var(--six-color-web-rock-300);\n background-color: var(--six-color-web-rock-300);\n }\n }\n }\n}\n\n// Tooltip\n.range__tooltip {\n position: absolute;\n z-index: var(--six-z-index-tooltip);\n left: 1px;\n border-radius: var(--six-border-radius-medium);\n background-color: var(--six-color-web-rock-900);\n font-family: var(--six-font-family);\n font-size: var(--six-tooltip-font-size);\n font-weight: var(--six-tooltip-font-weight);\n line-height: var(--six-tooltip-line-height);\n color: var(--six-color-white);\n opacity: 0;\n padding: var(--six-spacing-xxx-small) var(--six-spacing-xx-small);\n transition: var(--six-transition-fast) opacity;\n pointer-events: none;\n\n &::after {\n content: '';\n position: absolute;\n width: 0;\n height: 0;\n left: 50%;\n margin-left: calc(-1 * var(--six-tooltip-arrow-size));\n }\n}\n\n.range--tooltip-visible .range__tooltip {\n opacity: 1;\n}\n\n// Tooltip on top\n.range--tooltip-top .range__tooltip {\n top: calc(-1 * var(--thumb-size) - var(--tooltip-offset-y));\n\n &::after {\n border-top: var(--six-tooltip-arrow-size) solid var(--six-color-web-rock-900);\n border-left: var(--six-tooltip-arrow-size) solid transparent;\n border-right: var(--six-tooltip-arrow-size) solid transparent;\n top: 100%;\n }\n}\n\n// Tooltip on bottom\n.range--tooltip-bottom .range__tooltip {\n bottom: calc(-1 * var(--thumb-size) - var(--tooltip-offset-y));\n\n &::after {\n border-bottom: var(--six-tooltip-arrow-size) solid var(--six-color-web-rock-900);\n border-left: var(--six-tooltip-arrow-size) solid transparent;\n border-right: var(--six-tooltip-arrow-size) solid transparent;\n bottom: 100%;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\n\nlet id = 0;\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 label - The input's label. Alternatively, you can use the label prop.\n * @slot help-text - Help text that describes how to use the input. Alternatively, you can use the help-text prop.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n *\n * @part base - The component's base wrapper.\n * @part input - The native range input.\n * @part tooltip - The range tooltip.\n */\n@Component({\n tag: 'six-range',\n styleUrl: 'six-range.scss',\n shadow: true,\n})\nexport class SixRange {\n private inputId = `input-${++id}`;\n private labelId = `input-label-${id}`;\n private helpTextId = `input-help-text-${id}`;\n private errorTextId = `input-error-text-${id}`;\n private eventListeners = new EventListeners();\n private resizeObserver?: ResizeObserver;\n\n private output?: HTMLElement;\n private nativeInput?: HTMLInputElement;\n\n @Element() host!: HTMLSixRangeElement;\n\n @State() hasFocus = false;\n @State() hasHelpTextSlot = false;\n @State() hasErrorTextSlot = false;\n @State() hasLabelSlot = false;\n @State() hasTooltip = false;\n\n /** The input's name attribute. */\n @Prop() name = '';\n\n /** The input's value attribute. */\n @Prop({ mutable: true }) value = 0;\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /** The range's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** Set to true to disable the input. */\n @Prop() disabled = false;\n\n /** The label text. */\n @Prop() label = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** The input's min attribute. */\n @Prop() min = 0;\n\n /** The input's max attribute. */\n @Prop() max = 100;\n\n /** The input's step attribute. */\n @Prop() step = 1;\n\n /** The preferred placedment of the tooltip. */\n @Prop() tooltip: 'top' | 'bottom' | 'none' = 'top';\n\n /** A function used to format the tooltip's value. */\n @Prop() tooltipFormatter = (value: number) => value.toString();\n\n /** Emitted when the control's value changes. */\n @Event({ eventName: 'six-range-change' }) sixChange!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control loses focus. */\n @Event({ eventName: 'six-range-blur' }) sixBlur!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control gains focus. */\n @Event({ eventName: 'six-range-focus' }) sixFocus!: EventEmitter<EmptyPayload>;\n\n @Watch('label')\n @Watch('errorText')\n @Watch('helpText')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n @Watch('value')\n @Watch('min')\n @Watch('max')\n handleValueChange() {\n this.update();\n }\n\n connectedCallback() {\n this.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\n }\n\n componentWillLoad() {\n this.update();\n this.handleSlotChange();\n }\n\n componentDidLoad() {\n const nativeInput = this.nativeInput;\n if (nativeInput == null) {\n return;\n }\n this.update();\n this.resizeObserver = new ResizeObserver(() => this.update());\n }\n\n disconnectedCallback() {\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.removeAll();\n }\n\n /** Sets focus on the input. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.nativeInput?.focus(options);\n }\n\n /** Removes focus from the input. */\n @Method()\n async removeFocus() {\n this.nativeInput?.blur();\n }\n\n private handleInput = () => {\n if (this.nativeInput != null) {\n this.update(parseFloat(this.nativeInput.value));\n }\n requestAnimationFrame(() => {\n this.sixChange.emit();\n });\n };\n\n private handleBlur = () => {\n this.hasFocus = false;\n this.hasTooltip = false;\n this.sixBlur.emit();\n if (this.nativeInput != null) {\n this.resizeObserver?.unobserve(this.nativeInput);\n }\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n this.hasTooltip = true;\n this.sixFocus.emit();\n if (this.nativeInput != null) {\n this.resizeObserver?.observe(this.nativeInput);\n }\n };\n\n private handleSlotChange = () => {\n this.hasHelpTextSlot = hasSlot(this.host, 'help-text');\n this.hasLabelSlot = hasSlot(this.host, 'label');\n this.hasErrorTextSlot = hasSlot(this.host, 'error-text');\n };\n\n private handleTouchStart = () => {\n this.setFocus();\n };\n\n private syncTooltip(min: number, max: number, value: number) {\n if (this.tooltip !== 'none' && this.nativeInput != null && this.output != null) {\n const percent = Math.max(0, (value - min) / (max - min));\n const inputWidth = this.nativeInput.offsetWidth;\n const tooltipWidth = this.output.offsetWidth;\n const thumbSize = getComputedStyle(this.nativeInput).getPropertyValue('--thumb-size');\n const x = `calc(${inputWidth * percent}px - calc(calc(${percent} * ${thumbSize}) - calc(${thumbSize} / 2)))`;\n this.output.style.transform = `translateX(${x})`;\n this.output.style.marginLeft = `-${tooltipWidth / 2}px`;\n }\n }\n\n private isFirefox() {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n }\n\n private update(updateValue?: number) {\n if (updateValue != null) {\n this.value = updateValue;\n }\n\n const min = Number(this.min) ?? 0;\n const max = Number(this.max) ?? 0;\n let value;\n const parsedValue = parseFloat(this.value as never);\n if (isNaN(parsedValue)) {\n value = this.getDefaultValue(min, max);\n } else {\n value = parsedValue;\n }\n\n if (this.nativeInput != null) {\n // The value may have constraints, so we set the native control's\n // value and sync it back to ensure it adheres to min, max, and step\n // properly.\n this.nativeInput.value = value.toString();\n this.value = parseFloat(this.nativeInput.value);\n } else {\n this.value = value;\n }\n this.calculateColorRunnableTrack(min, max, this.value);\n this.syncTooltip(min, max, this.value);\n }\n\n /**\n * from https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range#value\n */\n private getDefaultValue(min: number, max: number): number {\n return max < min ? min : min + (max - min) / 2;\n }\n\n /**\n * For Firefox this functionality is not needed because it is supported by standard CSS.\n */\n private calculateColorRunnableTrack(min: number, max: number, value: number) {\n if (!this.isFirefox() && this.nativeInput != null) {\n const percent = Math.ceil(((value - min) / (max - min)) * 100);\n this.nativeInput.style.background =\n '-webkit-linear-gradient(left, var(--track-color) 0%, var(--track-color) ' +\n percent +\n '%, var(--six-color-web-rock-300) ' +\n percent +\n '%)';\n }\n }\n\n render() {\n return (\n <FormControl\n inputId={this.inputId}\n label={this.label}\n labelId={this.labelId}\n hasLabelSlot={this.hasLabelSlot}\n helpTextId={this.helpTextId}\n helpText={this.helpText}\n hasHelpTextSlot={this.hasHelpTextSlot}\n size=\"medium\"\n errorTextId={this.errorTextId}\n errorText={this.errorText}\n hasErrorTextSlot={this.hasErrorTextSlot}\n errorTextCount={this.errorTextCount}\n disabled={this.disabled}\n required={this.required}\n displayError={this.invalid}\n >\n <div\n part=\"base\"\n class={{\n range: true,\n\n // States\n 'range--disabled': this.disabled,\n 'range--focused': this.hasFocus,\n 'range--tooltip-visible': this.hasTooltip,\n 'range--tooltip-top': this.tooltip === 'top',\n 'range--tooltip-bottom': this.tooltip === 'bottom',\n }}\n onTouchStart={this.handleTouchStart}\n >\n <input\n part=\"input\"\n ref={(el) => (this.nativeInput = el)}\n type=\"range\"\n class=\"range__control\"\n name={this.name}\n disabled={this.disabled}\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.value}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n {this.tooltip !== 'none' && (\n <output part=\"tooltip\" ref={(el) => (this.output = el)} class=\"range__tooltip\">\n {this.tooltipFormatter(this.value)}\n </output>\n )}\n </div>\n </FormControl>\n );\n }\n}\n"],"mappings":"qKAAA,MAAMA,EAAc,4hNCMpB,IAAIC,EAAK,E,MAqBIC,EAAQ,M,uJACXC,KAAAC,QAAU,WAAWH,IACrBE,KAAAE,QAAU,eAAeJ,IACzBE,KAAAG,WAAa,mBAAmBL,IAChCE,KAAAI,YAAc,oBAAoBN,IAClCE,KAAAK,eAAiB,IAAIC,EAkHrBN,KAAAO,YAAc,KACpB,GAAIP,KAAKQ,aAAe,KAAM,CAC5BR,KAAKS,OAAOC,WAAWV,KAAKQ,YAAYG,O,CAE1CC,uBAAsB,KACpBZ,KAAKa,UAAUC,MAAM,GACrB,EAGId,KAAAe,WAAa,K,MACnBf,KAAKgB,SAAW,MAChBhB,KAAKiB,WAAa,MAClBjB,KAAKkB,QAAQJ,OACb,GAAId,KAAKQ,aAAe,KAAM,EAC5BW,EAAAnB,KAAKoB,kBAAc,MAAAD,SAAA,SAAAA,EAAEE,UAAUrB,KAAKQ,Y,GAIhCR,KAAAsB,YAAc,K,MACpBtB,KAAKgB,SAAW,KAChBhB,KAAKiB,WAAa,KAClBjB,KAAKuB,SAAST,OACd,GAAId,KAAKQ,aAAe,KAAM,EAC5BW,EAAAnB,KAAKoB,kBAAc,MAAAD,SAAA,SAAAA,EAAEK,QAAQxB,KAAKQ,Y,GAI9BR,KAAAyB,iBAAmB,KACzBzB,KAAK0B,gBAAkBC,EAAQ3B,KAAK4B,KAAM,aAC1C5B,KAAK6B,aAAeF,EAAQ3B,KAAK4B,KAAM,SACvC5B,KAAK8B,iBAAmBH,EAAQ3B,KAAK4B,KAAM,aAAa,EAGlD5B,KAAA+B,iBAAmB,KACzB/B,KAAKgC,UAAU,E,cA5IG,M,qBACO,M,sBACC,M,kBACJ,M,gBACF,M,UAGP,G,WAGkB,E,cAGd,M,cAGA,G,cAGA,M,WAGH,G,eAGuB,G,2CAMJ,M,SAGrB,E,SAGA,I,UAGC,E,aAG8B,M,sBAGjBrB,GAAkBA,EAAMsB,U,CAcpD,iBAAAC,GACElC,KAAKyB,kB,CAMP,iBAAAU,GACEnC,KAAKS,Q,CAGP,iBAAA2B,G,OACEjB,EAAAnB,KAAK4B,KAAKS,cAAU,MAAAlB,SAAA,SAAAA,EAAEmB,iBAAiB,aAActC,KAAKyB,iB,CAG5D,iBAAAc,GACEvC,KAAKS,SACLT,KAAKyB,kB,CAGP,gBAAAe,GACE,MAAMhC,EAAcR,KAAKQ,YACzB,GAAIA,GAAe,KAAM,CACvB,M,CAEFR,KAAKS,SACLT,KAAKoB,eAAiB,IAAIqB,gBAAe,IAAMzC,KAAKS,U,CAGtD,oBAAAiC,G,OACEvB,EAAAnB,KAAK4B,KAAKS,cAAU,MAAAlB,SAAA,SAAAA,EAAEwB,oBAAoB,aAAc3C,KAAKyB,kBAC7DzB,KAAKK,eAAeuC,W,CAKtB,cAAMZ,CAASa,G,OACb1B,EAAAnB,KAAKQ,eAAW,MAAAW,SAAA,SAAAA,EAAE2B,MAAMD,E,CAK1B,iBAAME,G,OACJ5B,EAAAnB,KAAKQ,eAAW,MAAAW,SAAA,SAAAA,EAAE6B,M,CAwCZ,WAAAC,CAAYC,EAAaC,EAAaxC,GAC5C,GAAIX,KAAKoD,UAAY,QAAUpD,KAAKQ,aAAe,MAAQR,KAAKqD,QAAU,KAAM,CAC9E,MAAMC,EAAUC,KAAKJ,IAAI,GAAIxC,EAAQuC,IAAQC,EAAMD,IACnD,MAAMM,EAAaxD,KAAKQ,YAAYiD,YACpC,MAAMC,EAAe1D,KAAKqD,OAAOI,YACjC,MAAME,EAAYC,iBAAiB5D,KAAKQ,aAAaqD,iBAAiB,gBACtE,MAAMC,EAAI,QAAQN,EAAaF,mBAAyBA,OAAaK,aAAqBA,WAC1F3D,KAAKqD,OAAOU,MAAMC,UAAY,cAAcF,KAC5C9D,KAAKqD,OAAOU,MAAME,WAAa,IAAIP,EAAe,K,EAI9C,SAAAQ,GACN,OAAOC,UAAUC,UAAUC,cAAcC,QAAQ,YAAc,C,CAGzD,MAAA7D,CAAO8D,G,QACb,GAAIA,GAAe,KAAM,CACvBvE,KAAKW,MAAQ4D,C,CAGf,MAAMrB,GAAM/B,EAAAqD,OAAOxE,KAAKkD,QAAI,MAAA/B,SAAA,EAAAA,EAAI,EAChC,MAAMgC,GAAMsB,EAAAD,OAAOxE,KAAKmD,QAAI,MAAAsB,SAAA,EAAAA,EAAI,EAChC,IAAI9D,EACJ,MAAM+D,EAAchE,WAAWV,KAAKW,OACpC,GAAIgE,MAAMD,GAAc,CACtB/D,EAAQX,KAAK4E,gBAAgB1B,EAAKC,E,KAC7B,CACLxC,EAAQ+D,C,CAGV,GAAI1E,KAAKQ,aAAe,KAAM,CAI5BR,KAAKQ,YAAYG,MAAQA,EAAMsB,WAC/BjC,KAAKW,MAAQD,WAAWV,KAAKQ,YAAYG,M,KACpC,CACLX,KAAKW,MAAQA,C,CAEfX,KAAK6E,4BAA4B3B,EAAKC,EAAKnD,KAAKW,OAChDX,KAAKiD,YAAYC,EAAKC,EAAKnD,KAAKW,M,CAM1B,eAAAiE,CAAgB1B,EAAaC,GACnC,OAAOA,EAAMD,EAAMA,EAAMA,GAAOC,EAAMD,GAAO,C,CAMvC,2BAAA2B,CAA4B3B,EAAaC,EAAaxC,GAC5D,IAAKX,KAAKkE,aAAelE,KAAKQ,aAAe,KAAM,CACjD,MAAM8C,EAAUC,KAAKuB,MAAOnE,EAAQuC,IAAQC,EAAMD,GAAQ,KAC1DlD,KAAKQ,YAAYuD,MAAMgB,WACrB,2EACAzB,EACA,oCACAA,EACA,I,EAIN,MAAA0B,GACE,OACEC,EAACC,EAAW,CACVjF,QAASD,KAAKC,QACdkF,MAAOnF,KAAKmF,MACZjF,QAASF,KAAKE,QACd2B,aAAc7B,KAAK6B,aACnB1B,WAAYH,KAAKG,WACjBiF,SAAUpF,KAAKoF,SACf1D,gBAAiB1B,KAAK0B,gBACtB2D,KAAK,SACLjF,YAAaJ,KAAKI,YAClBkF,UAAWtF,KAAKsF,UAChBxD,iBAAkB9B,KAAK8B,iBACvByD,eAAgBvF,KAAKuF,eACrBC,SAAUxF,KAAKwF,SACfC,SAAUzF,KAAKyF,SACfC,aAAc1F,KAAK2F,SAEnBV,EAAA,OACEW,KAAK,OACLC,MAAO,CACLC,MAAO,KAGP,kBAAmB9F,KAAKwF,SACxB,iBAAkBxF,KAAKgB,SACvB,yBAA0BhB,KAAKiB,WAC/B,qBAAsBjB,KAAKoD,UAAY,MACvC,wBAAyBpD,KAAKoD,UAAY,UAE5C2C,aAAc/F,KAAK+B,kBAEnBkD,EAAA,SACEW,KAAK,QACLI,IAAMC,GAAQjG,KAAKQ,YAAcyF,EACjCC,KAAK,QACLL,MAAM,iBACNM,KAAMnG,KAAKmG,KACXX,SAAUxF,KAAKwF,SACftC,IAAKlD,KAAKkD,IACVC,IAAKnD,KAAKmD,IACViD,KAAMpG,KAAKoG,KACXzF,MAAOX,KAAKW,MACZ0F,QAASrG,KAAKO,YACd+F,QAAStG,KAAKsB,YACdiF,OAAQvG,KAAKe,aAEdf,KAAKoD,UAAY,QAChB6B,EAAA,UAAQW,KAAK,UAAUI,IAAMC,GAAQjG,KAAKqD,OAAS4C,EAAKJ,MAAM,kBAC3D7F,KAAKwG,iBAAiBxG,KAAKW,S"}
@@ -1,2 +0,0 @@
1
- import{r as e,c as s,h as a}from"./p-af15381b.js";const t=".language-switcher__container{display:flex}.language-switcher__separator{padding:0 0.25rem}.language-switcher__label{cursor:pointer}.language-switcher__label:hover{color:var(--six-color-red)}.language-switcher__label--selected{color:var(--six-color-red)}";const r=["EN","DE","ES"];const i=class{constructor(a){e(this,a);this.sixChange=s(this,"six-language-switcher-change",7);this.handleLanguageSwitching=(e,s)=>()=>{if(s!==undefined){this.sixChange.emit(s)}else{this.sixChange.emit(e)}this.selected=e};this.selected=undefined;this.languages=r}handleChangesLanguages(e){if(!Array.isArray(e)){throw new Error("languages is expected to be an array")}this.updateSelectedLanguage()}componentWillLoad(){if(this.selected===undefined){this.updateSelectedLanguage()}}updateSelectedLanguage(){const e=this.languages[0];if(typeof e==="string"){this.selected=e;this.sixChange.emit(this.selected)}else{this.selected=e.key;this.sixChange.emit(e.value)}}render(){return a("div",{part:"container",class:"language-switcher__container"},this.languages.map(((e,s)=>{const t=typeof e==="string"?e:e.key;return a("div",{onClick:this.handleLanguageSwitching(t,typeof e==="string"?e:e.value)},a("span",{part:"label",class:{"language-switcher__label":true,"language-switcher__label--selected":this.selected===t}},t),s<this.languages.length-1&&a("span",{part:"separator",class:"language-switcher__separator"},"/"))})))}static get watchers(){return{languages:["handleChangesLanguages"]}}};i.style=t;export{i as six_language_switcher};
2
- //# sourceMappingURL=p-546e33d9.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixLanguageSwitcherCss","DEFAULT_LANGUAGES","SixLanguageSwitcher","this","handleLanguageSwitching","newLanguage","languageValue","undefined","sixChange","emit","selected","handleChangesLanguages","newValue","Array","isArray","Error","updateSelectedLanguage","componentWillLoad","selectedLanguage","languages","key","value","render","h","part","class","map","lang","index","language","onClick","length"],"sources":["src/components/six-language-switcher/six-language-switcher.scss?tag=six-language-switcher&encapsulation=shadow","src/components/six-language-switcher/six-language-switcher.tsx"],"sourcesContent":[".language-switcher {\n &__container {\n display: flex;\n }\n\n &__separator {\n padding: 0 0.25rem;\n }\n\n &__label {\n cursor: pointer;\n\n &:hover {\n color: var(--six-color-red);\n }\n\n &--selected {\n color: var(--six-color-red);\n }\n }\n}\n","import { Component, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\n\n/**\n * @since 2.1.0\n * @status experimental\n **/\n\nexport interface SixLanguageSwitcherInput {\n key: string;\n value: string;\n}\nexport type SixLanguageSwitcherChangePayload = string;\n\nconst DEFAULT_LANGUAGES = ['EN', 'DE', 'ES'];\n\n/*\n * @since 2.2.0\n * @status experimental\n * @part container - The whole component container\n * @part label - The language label\n * @part separator - The separator between the language labels\n */\n@Component({\n tag: 'six-language-switcher',\n styleUrl: 'six-language-switcher.scss',\n shadow: true,\n})\nexport class SixLanguageSwitcher {\n /** The language which should be shown as selected */\n @Prop({ mutable: true, reflect: true }) selected?: string;\n\n /** The languages which should be selectable options. */\n @Prop() languages: string[] | SixLanguageSwitcherInput[] = DEFAULT_LANGUAGES;\n\n @Watch('languages')\n handleChangesLanguages(newValue: string[]) {\n if (!Array.isArray(newValue)) {\n throw new Error('languages is expected to be an array');\n }\n\n this.updateSelectedLanguage();\n }\n /**\n * Emitted when the language switchers value changes\n */\n @Event({ eventName: 'six-language-switcher-change' }) sixChange!: EventEmitter<SixLanguageSwitcherChangePayload>;\n\n componentWillLoad() {\n if (this.selected === undefined) {\n this.updateSelectedLanguage();\n }\n }\n\n private updateSelectedLanguage() {\n const selectedLanguage = this.languages[0];\n if (typeof selectedLanguage === 'string') {\n this.selected = selectedLanguage;\n this.sixChange.emit(this.selected);\n } else {\n this.selected = selectedLanguage.key;\n this.sixChange.emit(selectedLanguage.value);\n }\n }\n\n private handleLanguageSwitching = (newLanguage: string, languageValue?: string) => () => {\n if (languageValue !== undefined) {\n this.sixChange.emit(languageValue);\n } else {\n this.sixChange.emit(newLanguage);\n }\n this.selected = newLanguage;\n };\n\n render() {\n return (\n <div part=\"container\" class=\"language-switcher__container\">\n {this.languages.map((lang, index) => {\n const language = typeof lang === 'string' ? lang : lang.key;\n return (\n <div onClick={this.handleLanguageSwitching(language, typeof lang === 'string' ? lang : lang.value)}>\n <span\n part=\"label\"\n class={{\n 'language-switcher__label': true,\n 'language-switcher__label--selected': this.selected === language,\n }}\n >\n {language}\n </span>\n {index < this.languages.length - 1 && (\n <span part=\"separator\" class=\"language-switcher__separator\">\n /\n </span>\n )}\n </div>\n );\n })}\n </div>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAyB,iQCa/B,MAAMC,EAAoB,CAAC,KAAM,KAAM,M,MAc1BC,EAAmB,M,iFAqCtBC,KAAAC,wBAA0B,CAACC,EAAqBC,IAA2B,KACjF,GAAIA,IAAkBC,UAAW,CAC/BJ,KAAKK,UAAUC,KAAKH,E,KACf,CACLH,KAAKK,UAAUC,KAAKJ,E,CAEtBF,KAAKO,SAAWL,CAAW,E,uCAtC8BJ,C,CAG3D,sBAAAU,CAAuBC,GACrB,IAAKC,MAAMC,QAAQF,GAAW,CAC5B,MAAM,IAAIG,MAAM,uC,CAGlBZ,KAAKa,wB,CAOP,iBAAAC,GACE,GAAId,KAAKO,WAAaH,UAAW,CAC/BJ,KAAKa,wB,EAID,sBAAAA,GACN,MAAME,EAAmBf,KAAKgB,UAAU,GACxC,UAAWD,IAAqB,SAAU,CACxCf,KAAKO,SAAWQ,EAChBf,KAAKK,UAAUC,KAAKN,KAAKO,S,KACpB,CACLP,KAAKO,SAAWQ,EAAiBE,IACjCjB,KAAKK,UAAUC,KAAKS,EAAiBG,M,EAazC,MAAAC,GACE,OACEC,EAAA,OAAKC,KAAK,YAAYC,MAAM,gCACzBtB,KAAKgB,UAAUO,KAAI,CAACC,EAAMC,KACzB,MAAMC,SAAkBF,IAAS,SAAWA,EAAOA,EAAKP,IACxD,OACEG,EAAA,OAAKO,QAAS3B,KAAKC,wBAAwByB,SAAiBF,IAAS,SAAWA,EAAOA,EAAKN,QAC1FE,EAAA,QACEC,KAAK,QACLC,MAAO,CACL,2BAA4B,KAC5B,qCAAsCtB,KAAKO,WAAamB,IAGzDA,GAEFD,EAAQzB,KAAKgB,UAAUY,OAAS,GAC/BR,EAAA,QAAMC,KAAK,YAAYC,MAAM,gCAA8B,KAIzD,I"}
@@ -1,2 +0,0 @@
1
- import{r as t,h as r,H as n,g as i}from"./p-af15381b.js";const a=":host{display:flex;flex-wrap:nowrap;min-width:fit-content}.left-margin,.right-margin{flex:1 6 10rem;min-width:var(--six-spacing-xxx-large)}.content{flex:6 1 60rem;min-width:48rem;max-width:100rem}.content--padded{padding:var(--six-spacing-xxx-large) 0}";const e=class{constructor(r){t(this,r);this.padded=true}render(){return r(n,null,r("div",{part:"left-margin",class:"left-margin"}),r("div",{part:"content",class:{content:true,"content--padded":this.padded}},r("slot",null)),r("div",{part:"right-margin",class:"right-margin"}))}get host(){return i(this)}};e.style=a;export{e as six_main_container};
2
- //# sourceMappingURL=p-5db3a705.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixMainContainerCss","SixMainContainer","render","h","Host","part","class","content","this","padded"],"sources":["src/components/six-main-container/six-main-container.scss?tag=six-main-container&encapsulation=shadow","src/components/six-main-container/six-main-container.tsx"],"sourcesContent":["$margin-default-width: 10rem;\n$content-default-width: 60rem;\n$content-min-width: 48rem;\n$content-max-width: 100rem;\n\n:host {\n display: flex;\n flex-wrap: nowrap;\n min-width: fit-content;\n}\n\n.left-margin,\n.right-margin {\n flex: 1 6 $margin-default-width;\n min-width: var(--six-spacing-xxx-large);\n}\n\n.content {\n flex: 6 1 $content-default-width;\n min-width: $content-min-width;\n max-width: $content-max-width;\n &--padded {\n padding: var(--six-spacing-xxx-large) 0;\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\n\n/**\n * @since 1.01\n * @status stable\n *\n * @slot - The main container's content.\n *\n * @part left-margin - The component's left margin area.\n * @part content - The component's content area.\n * @part right-margin - The component's right margin area.\n */\n\n@Component({\n tag: 'six-main-container',\n styleUrl: 'six-main-container.scss',\n shadow: true,\n})\nexport class SixMainContainer {\n @Element() host!: HTMLSixMainContainerElement;\n\n /** Set to false to remove top and bottom padding. */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop() padded = true;\n\n render() {\n return (\n <Host>\n <div part=\"left-margin\" class=\"left-margin\" />\n <div part=\"content\" class={{ content: true, 'content--padded': this.padded }}>\n <slot />\n </div>\n <div part=\"right-margin\" class=\"right-margin\" />\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAsB,+P,MCkBfC,EAAgB,M,qCAKV,I,CAEjB,MAAAC,GACE,OACEC,EAACC,EAAI,KACHD,EAAA,OAAKE,KAAK,cAAcC,MAAM,gBAC9BH,EAAA,OAAKE,KAAK,UAAUC,MAAO,CAAEC,QAAS,KAAM,kBAAmBC,KAAKC,SAClEN,EAAA,cAEFA,EAAA,OAAKE,KAAK,eAAeC,MAAM,iB"}
@@ -1,2 +0,0 @@
1
- import{r as i,h as s,g as t}from"./p-af15381b.js";import{h as e}from"./p-0cebf1d2.js";const r=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{display:block}.six-sidebar-item-group{--horizontal-padding:var(--six-spacing-x-large)}.six-sidebar-item-group--childless::part(content){padding:0 !important}.six-sidebar-item-group--subgroup::part(header){background-color:transparent !important}.six-sidebar-item-group__header-icon{margin-left:16px;transform:translate(0px, -3px)}.six-sidebar-details__header{display:flex}.six-sidebar-details__header-icon{margin-right:1em}.six-sidebar-details__link{text-decoration:none;display:block;color:inherit;width:100%}";const a=class{constructor(t){i(this,t);this.provideSlot=i=>{if(this.summaryIconHasContent){return s("div",{slot:i},s("slot",{name:i}))}return s("slot",{name:i,onSlotchange:()=>{var s;const t=(s=this.host.shadowRoot)===null||s===void 0?void 0:s.querySelector(`slot[name="${i}"]`);if(t!=null){this.summaryIconHasContent=t.assignedNodes().length>0}}})};this.hasItems=false;this.name="";this.icon="";this.value="";this.open=false;this.summaryIcon=undefined;this.summaryIconHasContent=false;this.href=undefined}connectedCallback(){this.handleSlotChange=this.handleSlotChange.bind(this)}componentWillLoad(){this.handleSlotChange()}handleSlotChange(){this.hasItems=e(this.host)}isSubgroup(){var i;return((i=this.host.parentElement)===null||i===void 0?void 0:i.closest("six-sidebar-item-group"))!=null}renderAsHref(){return this.href!=null&&!this.hasItems}render(){const i=s("six-details",{class:{"six-sidebar-item-group":true,"six-sidebar-item-group--childless":!this.hasItems,"six-sidebar-item-group--subgroup":this.isSubgroup()},inline:true,open:this.open,"summary-icon":this.summaryIcon,hasContent:this.hasItems},s("div",{slot:"summary"},s("div",{class:"six-sidebar-details__header"},this.icon&&s("six-icon",{class:"six-sidebar-details__header-icon"},this.icon),this.name)),this.provideSlot("summary-icon"),s("slot",null));if(this.renderAsHref()){return s("a",{class:"six-sidebar-details__link",href:this.href},i)}else{return i}}get host(){return t(this)}};a.style=r;export{a as six_sidebar_item_group};
2
- //# sourceMappingURL=p-6296779b.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixSidebarItemGroupCss","SixSidebarItemGroup","this","provideSlot","name","summaryIconHasContent","h","slot","onSlotchange","_a","host","shadowRoot","querySelector","assignedNodes","length","connectedCallback","handleSlotChange","bind","componentWillLoad","hasItems","hasSlot","isSubgroup","parentElement","closest","renderAsHref","href","render","element","class","inline","open","summaryIcon","hasContent","icon"],"sources":["src/components/six-sidebar-item-group/six-sidebar-item-group.scss?tag=six-sidebar-item-group&encapsulation=shadow","src/components/six-sidebar-item-group/six-sidebar-item-group.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.six-sidebar-item-group {\n --horizontal-padding: var(--six-spacing-x-large);\n}\n\n.six-sidebar-item-group--childless::part(content) {\n padding: 0 !important;\n}\n\n.six-sidebar-item-group--subgroup::part(header) {\n background-color: transparent !important;\n}\n\n.six-sidebar-item-group__header-icon {\n margin-left: 16px;\n transform: translate(0px, -3px);\n}\n\n.six-sidebar-details__header {\n display: flex;\n}\n\n.six-sidebar-details__header-icon {\n margin-right: 1em;\n}\n\n.six-sidebar-details__link {\n text-decoration: none;\n display: block;\n color: inherit;\n width: 100%;\n}\n","import { Component, Element, h, Prop, State } from '@stencil/core';\nimport { hasSlot } from '../../utils/slot';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the nested sidebar [group] items.\n */\n\n@Component({\n tag: 'six-sidebar-item-group',\n styleUrl: 'six-sidebar-item-group.scss',\n shadow: true,\n})\nexport class SixSidebarItemGroup {\n @Element() readonly host!: HTMLSixSidebarItemGroupElement;\n\n @State() hasItems = false;\n\n /** Title of item group */\n @Prop() name = '';\n\n /** Icon of the group */\n @Prop() icon = '';\n\n /** A unique value to store in the sidebar item of the group label. This can be used as a way to identify sidebar items when selected. */\n @Prop({ reflect: true }) value = '';\n\n /** Indicates whether the sidebar is shown */\n @Prop({ reflect: true }) open = false;\n\n /** Custom summary icon name. */\n @Prop() summaryIcon?: string;\n\n @State() summaryIconHasContent = false;\n\n /**\n * Provide if the item should be rendered as anchor tag.\n * Note, that the href is added automatically when using routerLink in Angular.\n */\n @Prop({ reflect: true }) href: string | undefined;\n\n connectedCallback() {\n this.handleSlotChange = this.handleSlotChange.bind(this);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n private handleSlotChange() {\n this.hasItems = hasSlot(this.host);\n }\n\n private isSubgroup() {\n return this.host.parentElement?.closest('six-sidebar-item-group') != null;\n }\n\n private renderAsHref(): boolean {\n return this.href != null && !this.hasItems;\n }\n\n private provideSlot = (name: string) => {\n if (this.summaryIconHasContent) {\n return (\n <div slot={name}>\n <slot name={name}></slot>\n </div>\n );\n }\n\n return (\n <slot\n name={name}\n onSlotchange={() => {\n const slot = this.host.shadowRoot?.querySelector<HTMLSlotElement>(`slot[name=\"${name}\"]`);\n if (slot != null) {\n this.summaryIconHasContent = slot.assignedNodes().length > 0;\n }\n }}\n ></slot>\n );\n };\n\n render() {\n const element = (\n <six-details\n class={{\n 'six-sidebar-item-group': true,\n 'six-sidebar-item-group--childless': !this.hasItems,\n 'six-sidebar-item-group--subgroup': this.isSubgroup(),\n }}\n inline={true}\n open={this.open}\n summary-icon={this.summaryIcon}\n hasContent={this.hasItems}\n >\n <div slot=\"summary\">\n <div class=\"six-sidebar-details__header\">\n {this.icon && <six-icon class=\"six-sidebar-details__header-icon\">{this.icon}</six-icon>}\n {this.name}\n </div>\n </div>\n {this.provideSlot('summary-icon')}\n <slot />\n </six-details>\n );\n\n if (this.renderAsHref()) {\n return (\n <a class=\"six-sidebar-details__link\" href={this.href}>\n {element}\n </a>\n );\n } else {\n return element;\n }\n }\n}\n"],"mappings":"sFAAA,MAAMA,EAAyB,gnB,MCelBC,EAAmB,M,yBAgDtBC,KAAAC,YAAeC,IACrB,GAAIF,KAAKG,sBAAuB,CAC9B,OACEC,EAAA,OAAKC,KAAMH,GACTE,EAAA,QAAMF,KAAMA,I,CAKlB,OACEE,EAAA,QACEF,KAAMA,EACNI,aAAc,K,MACZ,MAAMD,GAAOE,EAAAP,KAAKQ,KAAKC,cAAU,MAAAF,SAAA,SAAAA,EAAEG,cAA+B,cAAcR,OAChF,GAAIG,GAAQ,KAAM,CAChBL,KAAKG,sBAAwBE,EAAKM,gBAAgBC,OAAS,C,IAGzD,E,cA/DQ,M,UAGL,G,UAGA,G,WAGkB,G,UAGD,M,sDAKC,M,oBAQjC,iBAAAC,GACEb,KAAKc,iBAAmBd,KAAKc,iBAAiBC,KAAKf,K,CAGrD,iBAAAgB,GACEhB,KAAKc,kB,CAGC,gBAAAA,GACNd,KAAKiB,SAAWC,EAAQlB,KAAKQ,K,CAGvB,UAAAW,G,MACN,QAAOZ,EAAAP,KAAKQ,KAAKY,iBAAa,MAAAb,SAAA,SAAAA,EAAEc,QAAQ,4BAA6B,I,CAG/D,YAAAC,GACN,OAAOtB,KAAKuB,MAAQ,OAASvB,KAAKiB,Q,CAyBpC,MAAAO,GACE,MAAMC,EACJrB,EAAA,eACEsB,MAAO,CACL,yBAA0B,KAC1B,qCAAsC1B,KAAKiB,SAC3C,mCAAoCjB,KAAKmB,cAE3CQ,OAAQ,KACRC,KAAM5B,KAAK4B,KAAI,eACD5B,KAAK6B,YACnBC,WAAY9B,KAAKiB,UAEjBb,EAAA,OAAKC,KAAK,WACRD,EAAA,OAAKsB,MAAM,+BACR1B,KAAK+B,MAAQ3B,EAAA,YAAUsB,MAAM,oCAAoC1B,KAAK+B,MACtE/B,KAAKE,OAGTF,KAAKC,YAAY,gBAClBG,EAAA,cAIJ,GAAIJ,KAAKsB,eAAgB,CACvB,OACElB,EAAA,KAAGsB,MAAM,4BAA4BH,KAAMvB,KAAKuB,MAC7CE,E,KAGA,CACL,OAAOA,C"}
@@ -1,2 +0,0 @@
1
- import{r,h as s}from"./p-af15381b.js";const t=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{--track-color:var(--six-progress-track-color);--indicator-color:var(--six-progress-indicator-color);display:inline-flex}.progress-ring{display:inline-flex;align-items:center;justify-content:center;position:relative}.progress-ring__image{transform:rotate(-90deg);transform-origin:50% 50%}.progress-ring__track{stroke:var(--track-color)}.progress-ring__indicator{stroke:var(--indicator-color);transition:0.35s stroke-dashoffset, 0.35s stroke}.progress-ring__label{display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;user-select:none;font-family:var(--six-font-family)}";const i=class{constructor(s){r(this,s);this.size=128;this.strokeWidth=4;this.percentage=0}handlePercentageChange(){this.updateProgress()}componentDidLoad(){this.updateProgress()}updateProgress(){var r;if(((r=this.indicator)===null||r===void 0?void 0:r.r)==null)return;const s=this.indicator.r.baseVal.value;const t=s*2*Math.PI;const i=t-this.percentage/100*t;this.indicator.style.strokeDasharray=`${t} ${t}`;this.indicator.style.strokeDashoffset=`${i}`}render(){return s("div",{part:"base",class:"progress-ring"},s("svg",{class:"progress-ring__image",width:this.size,height:this.size},s("circle",{class:"progress-ring__track","stroke-width":this.strokeWidth,"stroke-linecap":"round",fill:"transparent",r:this.size/2-this.strokeWidth*2,cx:this.size/2,cy:this.size/2}),s("circle",{ref:r=>this.indicator=r,class:"progress-ring__indicator","stroke-width":this.strokeWidth,"stroke-linecap":"round",fill:"transparent",r:this.size/2-this.strokeWidth*2,cx:this.size/2,cy:this.size/2})),s("span",{part:"label",class:"progress-ring__label"},s("slot",null)))}static get watchers(){return{percentage:["handlePercentageChange"]}}};i.style=t;export{i as six_progress_ring};
2
- //# sourceMappingURL=p-64b4755d.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixProgressRingCss","SixProgressRing","handlePercentageChange","this","updateProgress","componentDidLoad","_a","indicator","r","radius","baseVal","value","circumference","Math","PI","offset","percentage","style","strokeDasharray","strokeDashoffset","render","h","part","class","width","size","height","strokeWidth","fill","cx","cy","ref","el"],"sources":["src/components/six-progress-ring/six-progress-ring.scss?tag=six-progress-ring&encapsulation=shadow","src/components/six-progress-ring/six-progress-ring.tsx"],"sourcesContent":["@import 'src/global/component';\n\n/**\n * @prop --track-color: The track color.\n * @prop --indicator-color: The indicator color.\n */\n:host {\n --track-color: var(--six-progress-track-color);\n --indicator-color: var(--six-progress-indicator-color);\n\n display: inline-flex;\n}\n\n.progress-ring {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n}\n\n.progress-ring__image {\n transform: rotate(-90deg);\n transform-origin: 50% 50%;\n}\n\n.progress-ring__track {\n stroke: var(--track-color);\n}\n\n.progress-ring__indicator {\n stroke: var(--indicator-color);\n transition: 0.35s stroke-dashoffset, 0.35s stroke;\n}\n\n.progress-ring__label {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n text-align: center;\n user-select: none;\n font-family: var(--six-font-family);\n}\n","import { Component, h, Prop, Watch } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - A label to show inside the ring.\n *\n * @part base - The component's base wrapper.\n * @part label - The progress ring label.\n */\n\n@Component({\n tag: 'six-progress-ring',\n styleUrl: 'six-progress-ring.scss',\n shadow: true,\n})\nexport class SixProgressRing {\n private indicator?: SVGCircleElement;\n\n /** The size of the progress ring in pixels. */\n @Prop() size = 128;\n\n /** The stroke width of the progress ring in pixels. */\n @Prop() strokeWidth = 4;\n\n /** The current progress percentage, 0 - 100. */\n @Prop() percentage = 0;\n\n @Watch('percentage')\n handlePercentageChange() {\n this.updateProgress();\n }\n\n componentDidLoad() {\n this.updateProgress();\n }\n\n private updateProgress() {\n if (this.indicator?.r == null) return;\n\n const radius = this.indicator.r.baseVal.value;\n const circumference = radius * 2 * Math.PI;\n const offset = circumference - (this.percentage / 100) * circumference;\n\n this.indicator.style.strokeDasharray = `${circumference} ${circumference}`;\n this.indicator.style.strokeDashoffset = `${offset}`;\n }\n\n render() {\n return (\n <div part=\"base\" class=\"progress-ring\">\n <svg class=\"progress-ring__image\" width={this.size} height={this.size}>\n <circle\n class=\"progress-ring__track\"\n stroke-width={this.strokeWidth}\n stroke-linecap=\"round\"\n fill=\"transparent\"\n r={this.size / 2 - this.strokeWidth * 2}\n cx={this.size / 2}\n cy={this.size / 2}\n />\n\n <circle\n ref={(el) => (this.indicator = el as SVGCircleElement)}\n class=\"progress-ring__indicator\"\n stroke-width={this.strokeWidth}\n stroke-linecap=\"round\"\n fill=\"transparent\"\n r={this.size / 2 - this.strokeWidth * 2}\n cx={this.size / 2}\n cy={this.size / 2}\n />\n </svg>\n\n <span part=\"label\" class=\"progress-ring__label\">\n <slot />\n </span>\n </div>\n );\n }\n}\n"],"mappings":"sCAAA,MAAMA,EAAqB,mvB,MCmBdC,EAAe,M,mCAIX,I,iBAGO,E,gBAGD,C,CAGrB,sBAAAC,GACEC,KAAKC,gB,CAGP,gBAAAC,GACEF,KAAKC,gB,CAGC,cAAAA,G,MACN,KAAIE,EAAAH,KAAKI,aAAS,MAAAD,SAAA,SAAAA,EAAEE,IAAK,KAAM,OAE/B,MAAMC,EAASN,KAAKI,UAAUC,EAAEE,QAAQC,MACxC,MAAMC,EAAgBH,EAAS,EAAII,KAAKC,GACxC,MAAMC,EAASH,EAAiBT,KAAKa,WAAa,IAAOJ,EAEzDT,KAAKI,UAAUU,MAAMC,gBAAkB,GAAGN,KAAiBA,IAC3DT,KAAKI,UAAUU,MAAME,iBAAmB,GAAGJ,G,CAG7C,MAAAK,GACE,OACEC,EAAA,OAAKC,KAAK,OAAOC,MAAM,iBACrBF,EAAA,OAAKE,MAAM,uBAAuBC,MAAOrB,KAAKsB,KAAMC,OAAQvB,KAAKsB,MAC/DJ,EAAA,UACEE,MAAM,uBAAsB,eACdpB,KAAKwB,YAAW,iBACf,QACfC,KAAK,cACLpB,EAAGL,KAAKsB,KAAO,EAAItB,KAAKwB,YAAc,EACtCE,GAAI1B,KAAKsB,KAAO,EAChBK,GAAI3B,KAAKsB,KAAO,IAGlBJ,EAAA,UACEU,IAAMC,GAAQ7B,KAAKI,UAAYyB,EAC/BT,MAAM,2BAA0B,eAClBpB,KAAKwB,YAAW,iBACf,QACfC,KAAK,cACLpB,EAAGL,KAAKsB,KAAO,EAAItB,KAAKwB,YAAc,EACtCE,GAAI1B,KAAKsB,KAAO,EAChBK,GAAI3B,KAAKsB,KAAO,KAIpBJ,EAAA,QAAMC,KAAK,QAAQC,MAAM,wBACvBF,EAAA,c"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as s,g as e}from"./p-af15381b.js";import{P as n}from"./p-7f856f00.js";import{E as o}from"./p-8bfb4bfc.js";import{a as r,D as h}from"./p-a1502802.js";import{a as l}from"./p-0cebf1d2.js";function a(t){const i=t.tabIndex;return i>-1}function d(t){if(a(t)){return t}if(t.shadowRoot!=null){const i=[...t.shadowRoot.children].find((t=>a(t)));if(i!=null){return i}}if(t.children!=null){return[...t.children].map((t=>d(t))).at(0)}return undefined}const u=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{display:inline-block}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--six-z-index-dropdown)}.dropdown__positioner__filtered{width:100%}.dropdown__panel{font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);color:var(--color);background-color:var(--six-panel-background-color);border-radius:var(--six-border-radius-medium);border:1px solid var(--six-color-web-rock-300);box-shadow:var(--six-shadow-small);opacity:0;pointer-events:none;transform:scale(0.9);transition:var(--six-transition-fast) opacity, var(--six-transition-fast) transform;max-width:90vw}.dropdown__panel__scroll{max-height:18.75rem;overflow-y:auto;overflow-x:hidden;overscroll-behavior:none}.dropdown__panel__scroll--virtual{overflow-y:hidden;overflow-x:hidden}.filter-hidden{display:none}.dropdown__positioner[data-popper-placement^=top] .dropdown__panel{transform-origin:bottom}.dropdown__positioner[data-popper-placement^=bottom] .dropdown__panel{transform-origin:top}.dropdown__positioner[data-popper-placement^=left] .dropdown__panel{transform-origin:right}.dropdown__positioner[data-popper-placement^=right] .dropdown__panel{transform-origin:left}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:none;pointer-events:all}.filter{border-bottom:1px solid var(--six-color-web-rock-300)}.filter__icon{color:var(--six-color-web-rock-600)}";let c=0;const f=class{constructor(e){t(this,e);this.sixShow=i(this,"six-dropdown-show",7);this.sixAfterShow=i(this,"six-dropdown-after-show",7);this.sixHide=i(this,"six-dropdown-hide",7);this.sixAfterHide=i(this,"six-dropdown-after-hide",7);this.sixAutoFilter=i(this,"six-dropdown-auto-filter-fired",7);this.sixAsyncFilterFired=i(this,"six-async-filter-fired",7);this.sixScroll=i(this,"six-dropdown-scroll",7);this.componentId=`dropdown-${++c}`;this.isVisible=false;this.resizeObserver=new ResizeObserver(r((()=>this.updatePanelPosition()),100));this.eventListeners=new o;this.getMenuItems=()=>{var t,i,e;if(this.options.length>0){return{sixMenuItems:this.renderedOptions.map((t=>s("six-menu-item",{value:t.value},t.label))),selectionContainerItems:[]}}if(this.panel==null)return{sixMenuItems:[],selectionContainerItems:[]};const n=(t=this.panelSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}).filter(m).at(0);const o=(i=this.panelSlot)===null||i===void 0?void 0:i.assignedElements({flatten:true}).filter(p).at(0);const r=(n===null||n===void 0?void 0:n.querySelectorAll("six-menu-item"))||[];const h=((e=o===null||o===void 0?void 0:o.querySelector("slot"))===null||e===void 0?void 0:e.assignedElements().filter(v))||[];if(r.length>0||h.length>0){return{sixMenuItems:h,selectionContainerItems:[...r]}}else{return{sixMenuItems:o?Array.from(o.querySelectorAll("six-menu-item")):[],selectionContainerItems:[]}}};this.handleDocumentKeyDown=t=>{var i;const s=t;if(s.key==="Escape"){void this.hide();this.focusOnTrigger();return}if(this.filterInputElement===((i=this.host.shadowRoot)===null||i===void 0?void 0:i.activeElement)){if(s.key==="ArrowDown"){const{sixMenuItems:t,selectionContainerItems:i}=this.getMenuItems();const s=[...i,...t].find((t=>t.style.display!=="none"));if(s!=null){s.setFocus()}}}if(s.key==="Tab"){if(this.open&&document.activeElement!=null&&v(document.activeElement)){s.preventDefault();void this.hide();this.focusOnTrigger();return}setTimeout((()=>{var t,i;const s=this.container.getRootNode()instanceof ShadowRoot?(i=(t=document.activeElement)===null||t===void 0?void 0:t.shadowRoot)===null||i===void 0?void 0:i.activeElement:document.activeElement;if((s===null||s===void 0?void 0:s.closest(this.container.tagName.toLowerCase()))!==this.container){void this.hide();return}}))}};this.handleDocumentMouseDown=t=>{const i=t.composedPath();if(!i.includes(this.container)){void this.hide();return}};this.handlePanelSelect=t=>{const i=t.target;if(this.closeOnSelect&&p(i)){void this.hide();this.focusOnTrigger()}};this.handleTriggerClick=()=>{this.open?this.hide():this.show()};this.handleTriggerKeyDown=t=>{if(t.key==="Escape"){this.focusOnTrigger();void this.hide();return}if(!this.disableHideOnEnterAndSpace&&[" ","Enter"].includes(t.key)){t.preventDefault();this.open?void this.hide():void this.show();return}const i=this.getMenu();if(["ArrowDown","ArrowUp"].includes(t.key)){t.preventDefault();if(!this.open){void this.show()}if(i==null){return}const s=[...i.querySelectorAll("six-menu-item")];const e=s.at(0);const n=s.at(s.length-1);if(t.key==="ArrowDown"&&e!=null){e.setFocus();return}if(t.key==="ArrowUp"&&n!=null){n.setFocus();return}}const s=["Tab","Shift","Meta","Ctrl","Alt"];if(this.open&&i!=null&&!s.includes(t.key)){void i.typeToSelect(t.key);return}};this.handleTriggerKeyUp=t=>{if(t.key===" "){t.preventDefault()}};this.handleTriggerSlotChange=()=>{this.updateAccessibleTrigger()};this.handleDropdownScroll=()=>{if(this.scrollPanel==null)return;this.sixScroll.emit({scrollHeight:this.scrollPanel.scrollHeight,scrollTop:this.scrollPanel.scrollTop,scrollbarHeight:this.scrollPanel.offsetHeight*(this.scrollPanel.offsetHeight/this.scrollPanel.scrollHeight),scrollRatio:this.scrollPanel.scrollTop/(this.scrollPanel.scrollHeight-this.scrollPanel.clientHeight)})};this.open=false;this.placement="bottom-start";this.closeOnSelect=true;this.distance=4;this.skidding=0;this.hoist=false;this.containingElement=undefined;this.filter=false;this.asyncFilter=false;this.filterPlaceholder="Filter...";this.autofocusFilter=true;this.filterDebounce=0;this.disableHideOnEnterAndSpace=false;this.options=[];this.virtualScroll=false;this.matchTriggerWidth=false;this.renderedOptions=[]}get filterEnabled(){return this.filter||this.asyncFilter}get container(){return this.containingElement||this.host}handleOpenChange(){this.open?this.show():this.hide();this.updateAccessibleTrigger()}handlePopoverOptionsChange(){if(this.popover==null)return;this.popover.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding})}handleOptionsChange(){this.validateOptions()}validateOptions(){if(!Array.isArray(this.options)){this.options=[]}if(this.virtualScroll&&this.options.length===0){console.error("Options must be defined when using virtual scrolling")}this.renderedOptions=[...this.options]}componentWillLoad(){this.validateOptions();if(this.asyncFilter){this.filterDebounce=h}}componentDidLoad(){this.init();if(this.open){void this.show()}}connectedCallback(){this.init()}init(){this.initPopover();const t=this.filterInputElement;if(t!=null){this.eventListeners.add(t,"six-input-input",r((()=>{var i;const s=(i=t.value)!==null&&i!==void 0?i:"";if(this.filter){this.applyFilter(s)}this.emitFilterEvents(s)}),this.filterDebounce))}}applyFilter(t){var i;const s=((i=t.toLowerCase())===null||i===void 0?void 0:i.trim())||"";if(this.options.length>0){this.renderedOptions=this.options.filter((t=>{var i,e,n,o;return t.label&&((e=(i=String(t.label))===null||i===void 0?void 0:i.toLowerCase())===null||e===void 0?void 0:e.includes(s))||t.value&&((o=(n=String(t.value))===null||n===void 0?void 0:n.toLowerCase())===null||o===void 0?void 0:o.includes(s))}))}else{const{selectionContainerItems:t,sixMenuItems:i}=this.getMenuItems();const e=t.map((t=>t.value));t.forEach((async t=>{t.style.display=await w(t,s)?"unset":"none"}));i.forEach((async t=>{t.style.display=await w(t,s)&&!e.includes(t.value)?"unset":"none"}))}}resetFilter(){if(this.filterInputElement!=null){this.filterInputElement.value="";this.emitFilterEvents("")}if(this.options.length>0){this.renderedOptions=[...this.options]}else{const{selectionContainerItems:t,sixMenuItems:i}=this.getMenuItems();[...t,...i].forEach((t=>t.style.display="unset"))}}emitFilterEvents(t){if(this.filter){this.sixAutoFilter.emit({filterValue:t})}else if(this.asyncFilter){this.sixAsyncFilterFired.emit({filterValue:t})}}initPopover(){if(this.trigger==null||this.positioner==null)return;this.popover=new n(this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>{if(this.filterEnabled){this.resetFilter()}this.sixAfterHide.emit()},onAfterShow:async()=>{this.sixAfterShow.emit()},onTransitionEnd:()=>{if(!this.open&&this.scrollPanel!=null){this.scrollPanel.scrollTop=0}}})}disconnectedCallback(){var t;this.resizeObserver.disconnect();this.eventListeners.removeAll();void this.hide();(t=this.popover)===null||t===void 0?void 0:t.destroy();this.popover=undefined}async show(){if(this.isVisible||this.popover==null||this.panel==null){return}const t=this.sixShow.emit();if(t.defaultPrevented){this.open=false;return}this.eventListeners.add(this.panel,"six-menu-item-selected",this.handlePanelSelect);this.eventListeners.add(document,"keydown",this.handleDocumentKeyDown);this.eventListeners.add(document,"mousedown",this.handleDocumentMouseDown);this.isVisible=true;this.open=true;if(this.trigger!=null){this.resizeObserver.observe(this.trigger)}this.updatePanelPosition();this.popover.show();if(this.filterEnabled&&this.autofocusFilter){requestAnimationFrame((()=>{var t;(t=this.filterInputElement)===null||t===void 0?void 0:t.setFocus()}))}}updatePanelPosition(){if(!this.open){return}if(this.matchTriggerWidth&&this.trigger!=null&&this.panel!=null){const t=this.trigger.getBoundingClientRect().width;this.panel.style.minWidth=`${t}px`}if(this.popover!=null){this.popover.reposition()}}async hide(){this.resizeObserver.disconnect();if(!this.isVisible||this.panel==null||this.popover==null){return}const t=this.sixHide.emit();if(t.defaultPrevented){this.open=true;return}this.eventListeners.remove(this.panel,"six-menu-item-selected",this.handlePanelSelect);this.eventListeners.remove(document,"keydown",this.handleDocumentKeyDown);this.eventListeners.remove(document,"mousedown",this.handleDocumentMouseDown);this.isVisible=false;this.open=false;this.popover.hide()}focusOnTrigger(){var t;if(this.trigger==null)return;const i=(t=this.triggerSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}).at(0);if(i!=null){if(typeof i.setFocus==="function"){i.setFocus()}else if(typeof i.focus==="function"){i.focus()}}}getMenu(){var t;return(t=this.panelSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}).filter(p).at(0)}async reposition(){if(this.open&&this.popover!=null){this.popover.reposition()}}updateAccessibleTrigger(){var t;if(this.trigger==null)return;const i=((t=this.triggerSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}))||[];const s=i.map(d).at(0);if(s!=null){s.setAttribute("aria-haspopup","true");s.setAttribute("aria-expanded",this.open?"true":"false")}}render(){return s("div",{part:"base",id:this.componentId,class:{dropdown:true,"dropdown--open":this.open}},s("span",{part:"trigger",class:"dropdown__trigger",ref:t=>this.trigger=t,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown,onKeyUp:this.handleTriggerKeyUp},s("slot",{name:"trigger",ref:t=>this.triggerSlot=t,onSlotchange:this.handleTriggerSlotChange})),s("div",{ref:t=>this.positioner=t,class:{dropdown__positioner:true,dropdown__positioner__filtered:(this.filter||this.asyncFilter)&&!this.hoist}},s("div",{ref:t=>this.panel=t,part:"panel",class:"dropdown__panel",role:"menu","aria-hidden":this.open?"false":"true","aria-labelledby":this.componentId},this.filterEnabled&&s("six-input",{class:{filter:true,"filter-hidden":!this.open},"dropdown-search":true,"aria-hidden":this.open?"false":"true",ref:t=>this.filterInputElement=t,placeholder:this.filterPlaceholder},s("six-icon",{class:"filter__icon",slot:"suffix",size:"small"},"search")),s("div",{class:{dropdown__panel__scroll:true,"dropdown__panel__scroll--virtual":this.virtualScroll},onScroll:this.handleDropdownScroll,ref:t=>this.scrollPanel=t},s("slot",{ref:t=>this.panelSlot=t}),this.options.length>0&&s("six-menu",{part:"menu",items:this.renderedOptions,virtualScroll:this.virtualScroll})),s("slot",{name:"dropdown-footer"}))))}get host(){return e(this)}static get watchers(){return{open:["handleOpenChange"],distance:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"],placement:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"],options:["handleOptionsChange"],virtualScroll:["handleOptionsChange"]}}};function p(t){return(t===null||t===void 0?void 0:t.tagName.toLowerCase())==="six-menu"}function v(t){return(t===null||t===void 0?void 0:t.tagName.toLowerCase())==="six-menu-item"}function m(t){var i;return((i=t===null||t===void 0?void 0:t.getAttribute("class"))===null||i===void 0?void 0:i.includes("selection-container"))||false}async function w(t,i){return t.value.toLowerCase().includes(i)||(await t.getTextLabel()).toLowerCase().includes(i)}f.style=u;const x=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{display:block}.menu{padding:var(--six-spacing-xx-small) 0;border:none;box-shadow:var(--six-shadow-small);overflow-y:auto;overflow-x:hidden}.menu:focus{outline:none}.no-shadow{box-shadow:none}";const b=t=>{var i,s,e;return(e=(s=(i=t===null||t===void 0?void 0:t.shadowRoot)===null||i===void 0?void 0:i.querySelector(".menu-item"))===null||s===void 0?void 0:s.classList)===null||e===void 0?void 0:e.contains("menu-item--focused")};const g=t=>(t===null||t===void 0?void 0:t.tagName.toLowerCase())==="six-menu-item";const _=({value:t,label:i})=>s("six-menu-item",{key:t,value:t},i);const y=5;const C=64;const k=class{constructor(s){t(this,s);this.sixMenuItemSelected=i(this,"six-menu-item-selected",7);this.eventListeners=new o;this.typeToSelectString="";this.handleScrolling=()=>{if(this.menuWrapper==null)return;this.scrollingIndex=Math.floor(this.menuWrapper.scrollTop/this.sixMenuItemHeight)};this.removeBoxShadow=false;this.items=null;this.itemsShown=undefined;this.virtualScroll=false;this.itemSize=10;this.scrollingDebounce=15;this.disableKeyboardHandling=false;this.scrollingIndex=0;this.sixMenuItemHeight=C}connectedCallback(){this.handleClick=this.handleClick.bind(this);this.handleKeyDown=this.handleKeyDown.bind(this)}componentWillLoad(){if(this.items===null){return}}componentDidLoad(){this.setupForVirtualScrollingAfterRendering()}disconnectedCallback(){this.eventListeners.removeAll()}async typeToSelect(t){var i;clearTimeout(this.typeToSelectTimeout);this.typeToSelectTimeout=setTimeout((()=>this.typeToSelectString=""),750);this.typeToSelectString+=t.toLowerCase();const s=this.getItems();for(const t of s){const s=(i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector("slot:not([name])");const e=l(s).toLowerCase().trim();if(e.substring(0,this.typeToSelectString.length)===this.typeToSelectString){t.setFocus();break}}}getItemsShown(){var t;const i=this.virtualScroll?y:0;return(t=this.itemsShown)!==null&&t!==void 0?t:i}setupForVirtualScrollingAfterRendering(){var t,i;if(!this.virtualScroll||this.menuWrapper==null)return;this.eventListeners.add(this.menuWrapper,"scroll",r(this.handleScrolling,this.scrollingDebounce));const s=(i=(t=this.menu)===null||t===void 0?void 0:t.querySelector("six-menu-item"))===null||i===void 0?void 0:i.clientHeight;if(s!=null&&s>0){this.sixMenuItemHeight=s}}getItems(){if(this.menu==null)return[];if(this.items!=null){return this.items.map(_)}const t=this.menu.querySelector("slot");if(t==null)return[];return[...t.assignedElements({flatten:true})].filter((t=>g(t)&&!t.disabled))}getActiveItemIndex(){const t=this.getItems();const i=this.getActiveItem();if(i!=null){const s=t.indexOf(i);if(s>-1){return s}}const s=this.extractItemsFromDOM();return s.findIndex(b)}getActiveItem(){var t;const i=this.getItems().find((t=>t===document.activeElement));if(i!=null){return i}return(t=this.extractItemsFromDOM())===null||t===void 0?void 0:t.find(b)}extractItemsFromDOM(){var t,i;return Array.from((i=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll("six-menu-item"))!==null&&i!==void 0?i:[])}setActiveItem(t){t===null||t===void 0?void 0:t.setFocus()}handleClick(t){const i=t.target;const s=i.closest("six-menu-item");if(s&&!s.disabled){this.sixMenuItemSelected.emit({name:s.value,item:s})}}handleKeyDown(t){if(this.disableKeyboardHandling){return}if(t.key==="Enter"){const i=this.getActiveItem();t.preventDefault();if(i!=null){this.sixMenuItemSelected.emit({name:i.value,item:i})}}if(t.key===" "){t.preventDefault()}if(["ArrowDown","ArrowUp","Home","End"].includes(t.key)){const i=this.items===null?this.getItems():this.extractItemsFromDOM();let s=this.getActiveItemIndex();if(i.length>0){t.preventDefault();if(t.key==="ArrowDown"){s++}else if(t.key==="ArrowUp"){s--}else if(t.key==="Home"){s=0}else if(t.key==="End"){s=i.length-1}if(s<0)s=0;if(s>i.length-1)s=i.length-1;this.setActiveItem(i[s]);return}}void this.typeToSelect(t.key)}getMenuWrapperStyle(){var t;const i={};if(this.getItemsShown()>0){i.height=`${((t=this.getItemsShown())!==null&&t!==void 0?t:0)*this.sixMenuItemHeight}px`}return Object.assign({},i)}getMenuContainerStyle(){const t={};if(this.virtualScroll){t.transform=`translateY(${this.sixMenuItemHeight*this.scrollingIndex}px)`}return Object.assign({},t)}getScrollbarGhostStyle(){const t={};if(this.virtualScroll&&this.items!==null){t.height=`${this.items.length*this.sixMenuItemHeight-this.itemSize*this.sixMenuItemHeight}px`}return Object.assign({},t)}renderItems(){if(this.items===undefined||this.items===null){return}if(!this.virtualScroll){return this.items.map(_)}return this.items.slice(this.scrollingIndex,Math.min(this.items.length,this.itemSize+this.scrollingIndex)).map((({value:t,label:i})=>s("six-menu-item",{checkType:"check",key:t,value:t},i)))}render(){return s("div",{ref:t=>this.menuWrapper=t,style:this.getMenuWrapperStyle(),part:"wrapper",class:{menu:true,".no-shadow":this.removeBoxShadow}},s("div",{ref:t=>this.menu=t,part:"base",role:"menu",onClick:this.handleClick,onKeyDown:this.handleKeyDown,tabIndex:0,style:this.getMenuContainerStyle()},s("slot",null),this.renderItems()),this.virtualScroll&&s("div",{style:this.getScrollbarGhostStyle()}))}get host(){return e(this)}};k.style=x;export{f as six_dropdown,k as six_menu};
2
- //# sourceMappingURL=p-664b7913.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["isTabbable","el","tabIndex","getNearestTabbableElement","shadowRoot","tabbableShadowChild","children","find","e","map","at","undefined","sixDropdownCss","id","SixDropdown","this","componentId","isVisible","resizeObserver","ResizeObserver","debounce","updatePanelPosition","eventListeners","EventListeners","getMenuItems","options","length","sixMenuItems","renderedOptions","option","h","value","label","selectionContainerItems","panel","selectionContainer","_a","panelSlot","assignedElements","flatten","filter","isSelectionContainer","sixMenuElement","_b","isSixMenu","querySelectorAll","_c","querySelector","isSixMenuItem","Array","from","handleDocumentKeyDown","event","keyboardEvent","key","hide","focusOnTrigger","filterInputElement","host","activeElement","item","style","display","setFocus","open","document","preventDefault","setTimeout","container","getRootNode","ShadowRoot","closest","tagName","toLowerCase","handleDocumentMouseDown","path","composedPath","includes","handlePanelSelect","target","closeOnSelect","handleTriggerClick","show","handleTriggerKeyDown","disableHideOnEnterAndSpace","menu","getMenu","menuItems","firstMenuItem","lastMenuItem","ignoredKeys","typeToSelect","handleTriggerKeyUp","handleTriggerSlotChange","updateAccessibleTrigger","handleDropdownScroll","scrollPanel","sixScroll","emit","scrollHeight","scrollTop","scrollbarHeight","offsetHeight","scrollRatio","clientHeight","filterEnabled","asyncFilter","containingElement","handleOpenChange","handlePopoverOptionsChange","popover","setOptions","strategy","hoist","placement","distance","skidding","handleOptionsChange","validateOptions","isArray","virtualScroll","console","error","componentWillLoad","filterDebounce","DEFAULT_DEBOUNCE_FAST","componentDidLoad","init","connectedCallback","initPopover","add","filterValue","applyFilter","emitFilterEvents","filterTerm","lowerCaseFilterTerm","trim","String","_d","selectionContainerValues","s","forEach","async","menuItem","containsFilterTerm","resetFilter","sixAutoFilter","sixAsyncFilterFired","trigger","positioner","Popover","transitionElement","onAfterHide","sixAfterHide","onAfterShow","sixAfterShow","onTransitionEnd","disconnectedCallback","disconnect","removeAll","destroy","sixShow","defaultPrevented","observe","autofocusFilter","requestAnimationFrame","matchTriggerWidth","width","getBoundingClientRect","minWidth","reposition","sixHide","remove","triggerSlot","focus","accessibleTrigger","setAttribute","render","part","class","dropdown","ref","onClick","onKeyDown","onKeyUp","name","onSlotchange","dropdown__positioner","dropdown__positioner__filtered","role","placeholder","filterPlaceholder","slot","size","dropdown__panel__scroll","onScroll","items","getAttribute","getTextLabel","sixMenuCss","isFocusedMenuItem","classList","contains","isSIXMenuItemElement","mapToMenuItem","DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING","DEFAULT_SIX_MENU_ITEM_HEIGHT","SixMenu","typeToSelectString","handleScrolling","menuWrapper","scrollingIndex","Math","floor","sixMenuItemHeight","handleClick","bind","handleKeyDown","setupForVirtualScrollingAfterRendering","clearTimeout","typeToSelectTimeout","getItems","getTextContent","substring","getItemsShown","defaultItemsShown","itemsShown","scrollingDebounce","menuItemHeight","disabled","getActiveItemIndex","selectedItem","getActiveItem","itemIndex","indexOf","extractItemsFromDOM","findIndex","i","setActiveItem","clickedItem","sixMenuItemSelected","disableKeyboardHandling","activeItem","indexOfActiveItem","getMenuWrapperStyle","styles","height","Object","assign","getMenuContainerStyle","transform","getScrollbarGhostStyle","itemSize","renderItems","slice","min","checkType","removeBoxShadow"],"sources":["src/utils/tabbable.ts","src/components/six-dropdown/six-dropdown.scss?tag=six-dropdown&encapsulation=shadow","src/components/six-dropdown/six-dropdown.tsx","src/components/six-menu/six-menu.scss?tag=six-menu&encapsulation=shadow","src/components/six-menu/six-menu.tsx"],"sourcesContent":["export function isTabbable(el: HTMLElement) {\n const tabIndex = el.tabIndex;\n return tabIndex > -1;\n}\n\nexport function getNearestTabbableElement(el: HTMLElement): HTMLElement | undefined {\n // Check the element\n if (isTabbable(el)) {\n return el;\n }\n\n // Check the element's shadow root\n if (el.shadowRoot != null) {\n const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e as HTMLElement)) as HTMLElement;\n if (tabbableShadowChild != null) {\n return tabbableShadowChild;\n }\n }\n\n // Check the element's children\n if (el.children != null) {\n return [...el.children].map((e) => getNearestTabbableElement(e as HTMLElement)).at(0);\n }\n\n return undefined;\n}\n","@import 'src/global/component';\n@import 'src/global/mixins/scrollbar';\n\n:host {\n display: inline-block;\n}\n\n.dropdown {\n position: relative;\n}\n\n.dropdown__trigger {\n display: block;\n}\n\n.dropdown__positioner {\n position: absolute;\n z-index: var(--six-z-index-dropdown);\n\n &__filtered {\n width: 100%;\n }\n}\n\n.dropdown__panel {\n font-family: var(--six-font-sans);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-normal);\n color: var(--color);\n background-color: var(--six-panel-background-color);\n border-radius: var(--six-border-radius-medium);\n border: 1px solid var(--six-color-web-rock-300);\n box-shadow: var(--six-shadow-small);\n opacity: 0;\n pointer-events: none;\n transform: scale(0.9);\n transition: var(--six-transition-fast) opacity, var(--six-transition-fast) transform;\n max-width: 90vw;\n}\n\n.dropdown__panel__scroll {\n max-height: 18.75rem;\n overflow-y: auto;\n overflow-x: hidden;\n overscroll-behavior: none;\n\n &--virtual {\n overflow-y: hidden;\n overflow-x: hidden;\n }\n}\n\n.filter-hidden {\n display: none;\n}\n\n.dropdown__positioner {\n &[data-popper-placement^='top'] .dropdown__panel {\n transform-origin: bottom;\n }\n\n &[data-popper-placement^='bottom'] .dropdown__panel {\n transform-origin: top;\n }\n\n &[data-popper-placement^='left'] .dropdown__panel {\n transform-origin: right;\n }\n\n &[data-popper-placement^='right'] .dropdown__panel {\n transform-origin: left;\n }\n\n &.popover-visible .dropdown__panel {\n opacity: 1;\n transform: none;\n pointer-events: all;\n }\n}\n\n.filter {\n border-bottom: 1px solid var(--six-color-web-rock-300);\n\n &__icon {\n color: var(--six-color-web-rock-600);\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { getNearestTabbableElement } from '../../utils/tabbable';\nimport Popover from '../../utils/popover';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { EmptyPayload } from '../../utils/types';\nimport { SixMenuItemData } from '../six-menu/six-menu';\n\nexport interface SixDropdownAutoFilterPayload {\n filterValue: string;\n}\n\nexport interface SixDropdownAsyncFilterPayload {\n filterValue: string;\n}\n\nexport interface SixDropdownScrollPayload {\n scrollHeight: number;\n scrollTop: number;\n scrollbarHeight: number;\n scrollRatio: number;\n}\n\nlet id = 0;\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 trigger - The dropdown's trigger, usually a `<six-button>` element.\n * @slot dropdown-footer - The dropdown's footer area.\n * @slot - The dropdown's content.\n *\n * @part base - The component's base wrapper.\n * @part trigger - The container that wraps the trigger.\n * @part panel - The panel that gets shown when the dropdown is open.\n */\n\n@Component({\n tag: 'six-dropdown',\n styleUrl: 'six-dropdown.scss',\n shadow: true,\n})\nexport class SixDropdown {\n private componentId = `dropdown-${++id}`;\n private isVisible = false;\n private panel?: HTMLElement;\n private scrollPanel?: HTMLElement;\n private panelSlot?: HTMLSlotElement;\n private positioner?: HTMLElement;\n private popover?: Popover;\n private trigger?: HTMLElement;\n private triggerSlot?: HTMLSlotElement;\n private resizeObserver = new ResizeObserver(debounce(() => this.updatePanelPosition(), 100));\n\n // the input element shown in the dropdown when filter is set to true\n private filterInputElement?: HTMLSixInputElement;\n\n @Element() host!: HTMLSixDropdownElement;\n\n /** Indicates whether the dropdown is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /**\n * The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\n * inside the viewport.\n */\n @Prop() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'bottom-start';\n\n /** Determines whether the dropdown should hide when a menu item is selected. */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop() closeOnSelect = true;\n\n /** The distance in pixels from which to offset the panel away from its trigger. */\n @Prop() distance = 4;\n\n /** The distance in pixels from which to offset the panel along its trigger. */\n @Prop() skidding = 0;\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n /** The dropdown will close when the user interacts outside of this element (e.g. clicking). */\n @Prop() containingElement?: HTMLElement;\n\n /**\n * Set to true to allow auto filtering for entries in the dropdown.\n * With this flag the dropdown will automatically filter itsel.\n * If you need to coordinate the shown elements yourself,\n * e.g. because you need to call an endpoint use asyncFilter instead\n */\n @Prop() filter = false;\n\n /**\n * Set to true to allow async filtering.\n * When you enter something in the search field the component will only emit an event but not filter any elements itself.\n * You can then simply listen to the 'six-async-filter-fired' event to manage the shown menu-items yourself\n */\n @Prop() asyncFilter = false;\n\n /** The filter's placeholder text. */\n @Prop() filterPlaceholder = 'Filter...';\n\n /** By default the search field will be focused when opening a dropdown with filtering enabled. */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop() autofocusFilter = true;\n\n get filterEnabled() {\n return this.filter || this.asyncFilter;\n }\n\n /** The debounce for the filter callbacks. */\n @Prop({ mutable: true }) filterDebounce = 0;\n\n /** The panel can be opend/closed by pressing the spacebar or the enter key. In some cases you might want to avoid this */\n @Prop() disableHideOnEnterAndSpace = false;\n\n /** Set the options to be shown in the dropdown (alternative to setting the elements via html)*/\n @Prop({ mutable: true }) options: SixMenuItemData[] = [];\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 * Determines if the dropdown panel's width should match the width of the trigger element.\n *\n * If set to `true`, the panel will resize its width to align with the trigger's width.\n * If `false` or omitted, the panel will maintain its default width.\n */\n @Prop() matchTriggerWidth = false;\n\n get container() {\n return this.containingElement || this.host;\n }\n\n /** Emitted when the dropdown opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-dropdown-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dropdown opens and all transitions are complete. */\n @Event({ eventName: 'six-dropdown-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the dropdown closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-dropdown-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dropdown closes and all transitions are complete. */\n @Event({ eventName: 'six-dropdown-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the auto filter is triggered */\n @Event({ eventName: 'six-dropdown-auto-filter-fired' }) sixAutoFilter!: EventEmitter<SixDropdownAutoFilterPayload>;\n\n /** Emitted when the async filter is triggered */\n @Event({ eventName: 'six-async-filter-fired' }) sixAsyncFilterFired!: EventEmitter<SixDropdownAsyncFilterPayload>;\n\n /** Emitted when the user scrolls inside dropdown panel.*/\n @Event({ eventName: 'six-dropdown-scroll' }) sixScroll!: EventEmitter<SixDropdownScrollPayload>;\n\n private eventListeners = new EventListeners();\n\n // internal representation of options, so we don't have to make options mutable\n @State() renderedOptions: SixMenuItemData[] = [];\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n this.updateAccessibleTrigger();\n }\n\n @Watch('distance')\n @Watch('hoist')\n @Watch('placement')\n @Watch('skidding')\n handlePopoverOptionsChange() {\n if (this.popover == null) return;\n\n this.popover.setOptions({\n strategy: this.hoist ? 'fixed' : 'absolute',\n placement: this.placement,\n distance: this.distance,\n skidding: this.skidding,\n });\n }\n\n @Watch('options')\n @Watch('virtualScroll')\n handleOptionsChange() {\n this.validateOptions();\n }\n\n private validateOptions() {\n if (!Array.isArray(this.options)) {\n this.options = [];\n }\n if (this.virtualScroll && this.options.length === 0) {\n console.error('Options must be defined when using virtual scrolling');\n }\n this.renderedOptions = [...this.options];\n }\n\n componentWillLoad() {\n this.validateOptions();\n if (this.asyncFilter) {\n this.filterDebounce = DEFAULT_DEBOUNCE_FAST;\n }\n }\n\n componentDidLoad() {\n this.init();\n if (this.open) {\n void this.show();\n }\n }\n\n connectedCallback() {\n this.init();\n }\n\n private init() {\n this.initPopover();\n\n // listen to filter\n const filterInputElement = this.filterInputElement;\n if (filterInputElement != null) {\n this.eventListeners.add(\n filterInputElement,\n 'six-input-input',\n debounce(() => {\n const filterValue = filterInputElement.value ?? '';\n if (this.filter) {\n this.applyFilter(filterValue);\n }\n this.emitFilterEvents(filterValue);\n }, this.filterDebounce)\n );\n }\n }\n\n private applyFilter(filterTerm: string) {\n const lowerCaseFilterTerm = filterTerm.toLowerCase()?.trim() || '';\n if (this.options.length > 0) {\n this.renderedOptions = this.options.filter(\n (option) =>\n (option.label && String(option.label)?.toLowerCase()?.includes(lowerCaseFilterTerm)) ||\n (option.value && String(option.value)?.toLowerCase()?.includes(lowerCaseFilterTerm))\n );\n } else {\n const { selectionContainerItems, sixMenuItems } = this.getMenuItems();\n const selectionContainerValues = selectionContainerItems.map((s) => s.value);\n\n // Filter items in selection container\n selectionContainerItems.forEach(async (menuItem) => {\n menuItem.style.display = (await containsFilterTerm(menuItem, lowerCaseFilterTerm)) ? 'unset' : 'none';\n });\n\n // Filter other items. Always hide items which contained in the selection container.\n sixMenuItems.forEach(async (menuItem) => {\n menuItem.style.display =\n (await containsFilterTerm(menuItem, lowerCaseFilterTerm)) &&\n !selectionContainerValues.includes(menuItem.value)\n ? 'unset'\n : 'none';\n });\n }\n }\n\n private resetFilter() {\n if (this.filterInputElement != null) {\n this.filterInputElement.value = '';\n this.emitFilterEvents('');\n }\n if (this.options.length > 0) {\n this.renderedOptions = [...this.options];\n } else {\n const { selectionContainerItems, sixMenuItems } = this.getMenuItems();\n [...selectionContainerItems, ...sixMenuItems].forEach((item) => (item.style.display = 'unset'));\n }\n }\n\n private emitFilterEvents(filterValue: string) {\n if (this.filter) {\n this.sixAutoFilter.emit({ filterValue });\n } else if (this.asyncFilter) {\n this.sixAsyncFilterFired.emit({ filterValue });\n }\n }\n\n private initPopover() {\n if (this.trigger == null || this.positioner == null) return;\n this.popover = new Popover(this.trigger, this.positioner, {\n strategy: this.hoist ? 'fixed' : 'absolute',\n placement: this.placement,\n distance: this.distance,\n skidding: this.skidding,\n transitionElement: this.panel,\n onAfterHide: () => {\n if (this.filterEnabled) {\n this.resetFilter();\n }\n this.sixAfterHide.emit();\n },\n onAfterShow: async () => {\n this.sixAfterShow.emit();\n },\n onTransitionEnd: () => {\n if (!this.open && this.scrollPanel != null) {\n this.scrollPanel.scrollTop = 0;\n }\n },\n });\n }\n\n private getMenuItems = (): {\n selectionContainerItems: HTMLSixMenuItemElement[];\n sixMenuItems: HTMLSixMenuItemElement[];\n } => {\n if (this.options.length > 0) {\n return {\n sixMenuItems: this.renderedOptions.map((option) => (\n <six-menu-item value={option.value}>{option.label}</six-menu-item>\n )),\n selectionContainerItems: [],\n };\n }\n if (this.panel == null) return { sixMenuItems: [], selectionContainerItems: [] };\n\n // Relies on the implementation of six-select. Its dropdown slot contains two elements,\n // one for the selected menu items, and one for the other items.\n const selectionContainer = this.panelSlot?.assignedElements({ flatten: true }).filter(isSelectionContainer).at(0);\n const sixMenuElement = this.panelSlot?.assignedElements({ flatten: true }).filter(isSixMenu).at(0) as\n | HTMLSixMenuElement\n | undefined;\n const selectionContainerItems = selectionContainer?.querySelectorAll('six-menu-item') || [];\n const sixMenuItems = (sixMenuElement?.querySelector('slot')?.assignedElements().filter(isSixMenuItem) ||\n []) as HTMLSixMenuItemElement[];\n\n if (selectionContainerItems.length > 0 || sixMenuItems.length > 0) {\n return { sixMenuItems, selectionContainerItems: [...selectionContainerItems] };\n } else {\n return {\n sixMenuItems: sixMenuElement ? Array.from(sixMenuElement.querySelectorAll('six-menu-item')) : [],\n selectionContainerItems: [],\n };\n }\n };\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n this.eventListeners.removeAll();\n void this.hide();\n this.popover?.destroy();\n this.popover = undefined;\n }\n\n /** Shows the dropdown panel */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible || this.popover == null || this.panel == null) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.eventListeners.add(this.panel, 'six-menu-item-selected', this.handlePanelSelect);\n this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n\n this.isVisible = true;\n this.open = true;\n\n if (this.trigger != null) {\n this.resizeObserver.observe(this.trigger);\n }\n this.updatePanelPosition();\n this.popover.show();\n\n if (this.filterEnabled && this.autofocusFilter) {\n requestAnimationFrame(() => {\n this.filterInputElement?.setFocus();\n });\n }\n }\n\n /**\n * Set min width of dropdown panel to the width of the trigger element\n */\n private updatePanelPosition() {\n if (!this.open) {\n return;\n }\n\n if (this.matchTriggerWidth && this.trigger != null && this.panel != null) {\n const width = this.trigger.getBoundingClientRect().width;\n this.panel.style.minWidth = `${width}px`;\n }\n\n if (this.popover != null) {\n this.popover.reposition();\n }\n }\n\n /** Hides the dropdown panel */\n @Method()\n async hide() {\n this.resizeObserver.disconnect();\n\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible || this.panel == null || this.popover == null) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.eventListeners.remove(this.panel, 'six-menu-item-selected', this.handlePanelSelect);\n this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n\n this.isVisible = false;\n this.open = false;\n this.popover.hide();\n }\n\n private focusOnTrigger() {\n if (this.trigger == null) return;\n const trigger = this.triggerSlot?.assignedElements({ flatten: true }).at(0) as HTMLSixButtonElement | undefined;\n if (trigger != null) {\n if (typeof trigger.setFocus === 'function') {\n trigger.setFocus();\n } else if (typeof trigger.focus === 'function') {\n trigger.focus();\n }\n }\n }\n\n private getMenu(): HTMLSixMenuElement | undefined {\n return this.panelSlot?.assignedElements({ flatten: true }).filter(isSixMenu).at(0) as\n | HTMLSixMenuElement\n | undefined;\n }\n\n /**\n * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\n * is activated.\n *\n * @deprecated: use the property `matchTriggerWidth` instead.\n */\n @Method()\n async reposition() {\n if (this.open && this.popover != null) {\n this.popover.reposition();\n }\n }\n\n private handleDocumentKeyDown = (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n // Close when escape is pressed\n if (keyboardEvent.key === 'Escape') {\n void this.hide();\n this.focusOnTrigger();\n return;\n }\n\n if (this.filterInputElement === this.host.shadowRoot?.activeElement) {\n if (keyboardEvent.key === 'ArrowDown') {\n const { sixMenuItems, selectionContainerItems } = this.getMenuItems();\n const item = [...selectionContainerItems, ...sixMenuItems].find((item) => item.style.display !== 'none');\n if (item != null) {\n item.setFocus();\n }\n }\n }\n\n // Handle tabbing\n if (keyboardEvent.key === 'Tab') {\n // Tabbing within an open menu should close the dropdown and refocus the trigger\n if (this.open && document.activeElement != null && isSixMenuItem(document.activeElement)) {\n keyboardEvent.preventDefault();\n void this.hide();\n this.focusOnTrigger();\n return;\n }\n\n // Tabbing outside the containing element closes the panel\n //\n // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,\n // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.\n setTimeout(() => {\n const activeElement =\n this.container.getRootNode() instanceof ShadowRoot\n ? document.activeElement?.shadowRoot?.activeElement\n : document.activeElement;\n\n if (activeElement?.closest(this.container.tagName.toLowerCase()) !== this.container) {\n void this.hide();\n return;\n }\n });\n }\n };\n\n private handleDocumentMouseDown = (event: Event) => {\n // Close when clicking outside the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.container)) {\n void this.hide();\n return;\n }\n };\n\n private handlePanelSelect = (event: Event) => {\n const target = event.target as HTMLElement;\n\n // Hide the dropdown when a menu item is selected\n if (this.closeOnSelect && isSixMenu(target)) {\n void this.hide();\n this.focusOnTrigger();\n }\n };\n\n private handleTriggerClick = () => {\n this.open ? this.hide() : this.show();\n };\n\n private handleTriggerKeyDown = (event: KeyboardEvent) => {\n // Close when escape or tab is pressed\n if (event.key === 'Escape') {\n this.focusOnTrigger();\n void this.hide();\n return;\n }\n\n // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same\n // key again to hide the menu in case they don't want to make a selection.\n if (!this.disableHideOnEnterAndSpace && [' ', 'Enter'].includes(event.key)) {\n event.preventDefault();\n this.open ? void this.hide() : void this.show();\n return;\n }\n\n const menu = this.getMenu();\n\n // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a\n // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for\n // faster navigation.\n if (['ArrowDown', 'ArrowUp'].includes(event.key)) {\n event.preventDefault();\n\n // Show the menu if it's not already open\n if (!this.open) {\n void this.show();\n }\n\n if (menu == null) {\n return;\n }\n const menuItems = [...menu.querySelectorAll('six-menu-item')];\n const firstMenuItem = menuItems.at(0);\n const lastMenuItem = menuItems.at(menuItems.length - 1);\n\n // Focus on a menu item\n if (event.key === 'ArrowDown' && firstMenuItem != null) {\n firstMenuItem.setFocus();\n return;\n }\n\n if (event.key === 'ArrowUp' && lastMenuItem != null) {\n lastMenuItem.setFocus();\n return;\n }\n }\n\n // Other keys bring focus to the menu and initiate type-to-select behavior\n const ignoredKeys = ['Tab', 'Shift', 'Meta', 'Ctrl', 'Alt'];\n if (this.open && menu != null && !ignoredKeys.includes(event.key)) {\n void menu.typeToSelect(event.key);\n return;\n }\n };\n\n private handleTriggerKeyUp = (event: KeyboardEvent) => {\n // Prevent space from triggering a click event in Firefox\n if (event.key === ' ') {\n event.preventDefault();\n }\n };\n\n private handleTriggerSlotChange = () => {\n this.updateAccessibleTrigger();\n };\n\n private handleDropdownScroll = () => {\n if (this.scrollPanel == null) return;\n\n this.sixScroll.emit({\n scrollHeight: this.scrollPanel.scrollHeight,\n scrollTop: this.scrollPanel.scrollTop,\n scrollbarHeight: this.scrollPanel.offsetHeight * (this.scrollPanel.offsetHeight / this.scrollPanel.scrollHeight),\n scrollRatio: this.scrollPanel.scrollTop / (this.scrollPanel.scrollHeight - this.scrollPanel.clientHeight),\n });\n };\n\n //\n // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and\n // `aria-expanded`. These must be applied to the \"accessible trigger\" (the tabbable portion of the trigger element\n // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,\n // a child of the slotted element, or an element in the slotted element's shadow root.\n //\n // For example, the accessible trigger of an <sl-button> is a <button> located inside its shadow root.\n //\n // To determine this, we assume the first tabbable element in the trigger slot is the \"accessible trigger.\"\n //\n private updateAccessibleTrigger() {\n if (this.trigger == null) return;\n const assignedElements = (this.triggerSlot?.assignedElements({ flatten: true }) || []) as HTMLElement[];\n const accessibleTrigger = assignedElements.map(getNearestTabbableElement).at(0);\n if (accessibleTrigger != null) {\n accessibleTrigger.setAttribute('aria-haspopup', 'true');\n accessibleTrigger.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n }\n\n render() {\n return (\n <div\n part=\"base\"\n id={this.componentId}\n class={{\n dropdown: true,\n 'dropdown--open': this.open,\n }}\n >\n <span\n part=\"trigger\"\n class=\"dropdown__trigger\"\n ref={(el) => (this.trigger = el)}\n onClick={this.handleTriggerClick}\n onKeyDown={this.handleTriggerKeyDown}\n onKeyUp={this.handleTriggerKeyUp}\n >\n <slot\n name=\"trigger\"\n ref={(el) => (this.triggerSlot = el as HTMLSlotElement)}\n onSlotchange={this.handleTriggerSlotChange}\n />\n </span>\n\n {/* Position the panel with a wrapper since the popover makes use of `translate`. This let's us add transitions\n on the panel without interfering with the position. */}\n <div\n ref={(el) => (this.positioner = el)}\n class={{\n dropdown__positioner: true,\n dropdown__positioner__filtered: (this.filter || this.asyncFilter) && !this.hoist,\n }}\n >\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"dropdown__panel\"\n role=\"menu\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-labelledby={this.componentId}\n >\n {this.filterEnabled && (\n <six-input\n class={{\n filter: true,\n 'filter-hidden': !this.open,\n }}\n dropdown-search\n aria-hidden={this.open ? 'false' : 'true'}\n ref={(el) => (this.filterInputElement = el)}\n placeholder={this.filterPlaceholder}\n >\n <six-icon class=\"filter__icon\" slot=\"suffix\" size=\"small\">\n search\n </six-icon>\n </six-input>\n )}\n <div\n class={{\n dropdown__panel__scroll: true,\n 'dropdown__panel__scroll--virtual': this.virtualScroll,\n }}\n onScroll={this.handleDropdownScroll}\n ref={(el) => (this.scrollPanel = el)}\n >\n <slot ref={(el) => (this.panelSlot = el as HTMLSlotElement)} />\n {this.options.length > 0 && (\n <six-menu part=\"menu\" items={this.renderedOptions} virtualScroll={this.virtualScroll}></six-menu>\n )}\n </div>\n <slot name=\"dropdown-footer\"></slot>\n </div>\n </div>\n </div>\n );\n }\n}\n\nfunction isSixMenu(el?: Element): boolean {\n return el?.tagName.toLowerCase() === 'six-menu';\n}\nfunction isSixMenuItem(el?: Element): boolean {\n return el?.tagName.toLowerCase() === 'six-menu-item';\n}\nfunction isSelectionContainer(el?: Element): boolean {\n return el?.getAttribute('class')?.includes('selection-container') || false;\n}\nasync function containsFilterTerm(menuItem: HTMLSixMenuItemElement, lowerCaseFilterTerm: string): Promise<boolean> {\n return (\n menuItem.value.toLowerCase().includes(lowerCaseFilterTerm) ||\n (await menuItem.getTextLabel()).toLowerCase().includes(lowerCaseFilterTerm)\n );\n}\n","@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu {\n padding: var(--six-spacing-xx-small) 0;\n border: none;\n box-shadow: var(--six-shadow-small);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.menu:focus {\n outline: none;\n}\n\n.no-shadow {\n box-shadow: none;\n}\n","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"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,h as i,g as o}from"./p-af15381b.js";const r=":host{display:block;overflow:hidden;height:inherit}.six-root{display:grid;grid-template:auto 1fr auto/auto 1fr auto;height:100%}.six-root__container--padded{padding:var(--six-spacing-xxx-large)}.six-root__left-sidebar{height:100%;overflow:scroll;grid-column:1/2}.six-root__right-sidebar{height:100%;overflow:scroll;grid-column:3/4}.six-root nav{overflow:hidden}header{grid-column:1/4;position:sticky;top:0;z-index:var(--six-z-index-header);margin-right:2px}main{height:100%;display:flex;flex-direction:column;justify-content:space-between;grid-column:2/3;overflow:auto}footer{grid-column:1/4}";const e=class{constructor(i){t(this,i);this.padded=true;this.stage=null;this.version=""}render(){return i("host",{class:"six-root"},i("header",{part:"header"},this.stage&&i("six-stage-indicator",{stage:this.stage},this.version),i("slot",{name:"header"})),i("nav",{class:"six-root__left-sidebar",part:"left-sidebar"},i("slot",{name:"left-sidebar"})),i("main",{part:"main"},i("div",{class:{"six-root__container":true,"six-root__container--padded":this.padded},part:"container"},i("slot",{name:"main"})),i("div",{class:"six-root__footer"},i("slot",{name:"footer"}))),i("nav",{class:"six-root__right-sidebar",part:"right-sidebar"},i("slot",{name:"right-sidebar"})))}get host(){return o(this)}};e.style=r;export{e as six_root};
2
- //# sourceMappingURL=p-6c1b046e.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixRootCss","SixRoot","render","h","class","part","this","stage","version","name","padded"],"sources":["src/components/six-root/six-root.scss?tag=six-root&encapsulation=shadow","src/components/six-root/six-root.tsx"],"sourcesContent":["@import 'src/global/mixins/scrollbar';\n\n:host {\n display: block;\n overflow: hidden;\n height: inherit;\n}\n\n.six-root {\n display: grid;\n grid-template: auto 1fr auto / auto 1fr auto;\n height: 100%;\n\n &__container {\n &--padded {\n padding: var(--six-spacing-xxx-large);\n }\n }\n\n &__left-sidebar {\n height: 100%;\n overflow: scroll;\n grid-column: 1 / 2;\n }\n\n &__right-sidebar {\n height: 100%;\n overflow: scroll;\n grid-column: 3 / 4;\n }\n\n nav {\n overflow: hidden;\n }\n}\n\nheader {\n grid-column: 1 / 4;\n position: sticky;\n top: 0;\n z-index: var(--six-z-index-header);\n // border fix\n margin-right: 2px;\n}\n\nmain {\n height: 100%;\n\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n\n grid-column: 2 / 3;\n overflow: auto;\n}\n\nfooter {\n grid-column: 1 / 4;\n}\n","import { Component, Element, h, Prop } from '@stencil/core';\nimport { StageType } from '../six-stage-indicator/six-stage-indicator';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot header - Used to define the header component.\n * @slot main - Used to define the components in the main area.\n * @slot left-sidebar - Used to define the sidebar on the left side.\n * @slot right-sidebar - Used to define the sidebar on the right side.\n * @slot footer - Used to define the footer component.\n */\n\n@Component({\n tag: 'six-root',\n styleUrl: 'six-root.scss',\n shadow: true,\n})\nexport class SixRoot {\n @Element() host!: HTMLSixRootElement;\n\n /** Defines whether the content section should be padded */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop() padded = true;\n\n /** Defines the stage of the application*/\n @Prop() stage: StageType = null;\n\n /** Defines the version of the application*/\n @Prop() version = '';\n\n render() {\n return (\n <host class=\"six-root\">\n <header part=\"header\">\n {this.stage && <six-stage-indicator stage={this.stage}>{this.version}</six-stage-indicator>}\n <slot name=\"header\" />\n </header>\n <nav class=\"six-root__left-sidebar\" part=\"left-sidebar\">\n <slot name=\"left-sidebar\" />\n </nav>\n <main part=\"main\">\n <div class={{ 'six-root__container': true, 'six-root__container--padded': this.padded }} part=\"container\">\n <slot name=\"main\" />\n </div>\n <div class=\"six-root__footer\">\n <slot name=\"footer\" />\n </div>\n </main>\n <nav class=\"six-root__right-sidebar\" part=\"right-sidebar\">\n <slot name=\"right-sidebar\" />\n </nav>\n </host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAa,mlB,MCmBNC,EAAO,M,qCAKD,K,WAGU,K,aAGT,E,CAElB,MAAAC,GACE,OACEC,EAAA,QAAMC,MAAM,YACVD,EAAA,UAAQE,KAAK,UACVC,KAAKC,OAASJ,EAAA,uBAAqBI,MAAOD,KAAKC,OAAQD,KAAKE,SAC7DL,EAAA,QAAMM,KAAK,YAEbN,EAAA,OAAKC,MAAM,yBAAyBC,KAAK,gBACvCF,EAAA,QAAMM,KAAK,kBAEbN,EAAA,QAAME,KAAK,QACTF,EAAA,OAAKC,MAAO,CAAE,sBAAuB,KAAM,8BAA+BE,KAAKI,QAAUL,KAAK,aAC5FF,EAAA,QAAMM,KAAK,UAEbN,EAAA,OAAKC,MAAM,oBACTD,EAAA,QAAMM,KAAK,aAGfN,EAAA,OAAKC,MAAM,0BAA0BC,KAAK,iBACxCF,EAAA,QAAMM,KAAK,mB"}
@@ -1,2 +0,0 @@
1
- import{r as i,c as s,h as l,g as e}from"./p-af15381b.js";const o=".sc-six-file-upload-h{position:relative;box-sizing:border-box}.sc-six-file-upload-h *.sc-six-file-upload,.sc-six-file-upload-h *.sc-six-file-upload:before,.sc-six-file-upload-h *.sc-six-file-upload:after{box-sizing:border-box}.sc-six-file-upload-h{position:static;display:block}.six-file-upload.sc-six-file-upload six-card.sc-six-file-upload{box-shadow:none;padding:0;width:100%}.six-file-upload__label--highlighted.sc-six-file-upload{color:var(--six-color-action-600)}.six-file-upload__container--full.sc-six-file-upload{border:dashed 1px var(--six-color-web-rock-500)}.six-file-upload__label-icon.sc-six-file-upload{margin-right:0.5rem}.six-file-upload__drop-zone.sc-six-file-upload{padding:2rem 0;display:flex;justify-content:center;width:100%;transition:background-color 0.3s}.six-file-upload__drop-zone--compact.sc-six-file-upload{padding:0}.six-file-upload__input.sc-six-file-upload{cursor:pointer;position:absolute;top:0;left:0;width:100%;user-select:none;height:100%;opacity:0;outline:none}.six-file-upload--disabled.sc-six-file-upload .six-file-upload__drop-zone.sc-six-file-upload{background-color:var(--six-color-inactive)}.six-file-upload.sc-six-file-upload:not(.six-file-upload--disabled) .six-file-upload__drop-zone.sc-six-file-upload:hover,.six-file-upload__drop-zone--hover.sc-six-file-upload{background-color:var(--six-color-action-light-to-be-defined)}.six-file-upload.sc-six-file-upload:not(.six-file-upload--disabled) .six-file-upload__drop-zone.sc-six-file-upload:hover.six-file-upload__drop-zone--compact,.six-file-upload__drop-zone--hover.six-file-upload__drop-zone--compact.sc-six-file-upload{background-color:inherit}.six-file-upload--disabled.sc-six-file-upload .six-file-upload__input.sc-six-file-upload{cursor:not-allowed}";const a=class{constructor(l){i(this,l);this.success=s(this,"six-file-upload-success",7);this.failure=s(this,"six-file-upload-failure",7);this.handleFiles=i=>{if(this.disabled||i.length===0){return}if(!this.multiple&&i.length>1){return this.failure.emit({reason:"Only one file is allowed."})}for(const s of i){if(s==null){return}let l=[];if(this.accept!=null){l=this.accept.replace(/\s/g,"").split(",")}if(l.length>0&&l.indexOf(s.type)===-1){const s=i.length>1?"One or more files have invalid MIME type.":"File has invalid MIME type.";return this.failure.emit({reason:s})}if(this.maxFileSize!=null&&s.size>this.maxFileSize){const s=i.length>1?"One or more files are too big":"File is too big.";return this.failure.emit({reason:s})}}const s=this.multiple?{files:i}:{file:i[0]};this.success.emit(s)};this.onChange=()=>{var i;if(((i=this.fileInput)===null||i===void 0?void 0:i.files)!=null){const i=this.fileInput.files;this.handleFiles(i);this.fileInput.value=""}};this.isOver=false;this.compact=false;this.label=undefined;this.disabled=false;this.accept=undefined;this.multiple=false;this.maxFileSize=undefined}dragenterHandler(){if(!this.disabled){this.isOver=true}}dragoverHandler(){if(!this.disabled){this.isOver=true}}dragleaveHandler(){if(!this.disabled){this.isOver=false}}dropHandler({dataTransfer:i}){if(!this.disabled){this.isOver=false;if(i!=null){this.handleFiles(i.files)}}}componentDidLoad(){["dragenter","dragover","dragleave","drop"].forEach((i=>{this.host.addEventListener(i,this.preventDefaults,false);document.body.addEventListener(i,this.preventDefaults,false)}))}disconnectedCallback(){["dragenter","dragover","dragleave","drop"].forEach((i=>{this.host.removeEventListener(i,this.preventDefaults,false);document.body.removeEventListener(i,this.preventDefaults,false)}))}preventDefaults(i){i.preventDefault();i.stopPropagation()}renderLabel(){var i;return(i=this.label)!==null&&i!==void 0?i:this.compact?"Upload":l("span",null,"Drop files to upload, or ",l("span",{class:"six-file-upload__label--highlighted"},"browse"))}render(){const i=this.compact?"six-button":"six-card";return l("div",{class:{"six-file-upload":true,"six-file-upload--disabled":this.disabled}},l(i,{class:{"six-file-upload__container--compact":this.compact,"six-file-upload__container--full":!this.compact}},this.compact&&l("span",{slot:"prefix"},l("six-icon",{class:"six-file-upload__label-icon"},"arrow_circle_up")),l("div",{class:{"six-file-upload__drop-zone":true,"six-file-upload__drop-zone--hover":this.isOver,"six-file-upload__drop-zone--compact":this.compact}},l("span",null,this.renderLabel()),l("input",{class:"six-file-upload__input",type:"file",name:"resume",disabled:this.disabled,accept:this.accept,multiple:this.multiple,onChange:this.onChange,ref:i=>this.fileInput=i}))))}get host(){return e(this)}};a.style=o;export{a as six_file_upload};
2
- //# sourceMappingURL=p-7115316e.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixFileUploadCss","SixFileUpload","this","handleFiles","files","disabled","length","multiple","failure","emit","reason","file","acceptedTypesList","accept","replace","split","indexOf","type","maxFileSize","size","eventPayload","success","onChange","_a","fileInput","value","dragenterHandler","isOver","dragoverHandler","dragleaveHandler","dropHandler","dataTransfer","componentDidLoad","forEach","eventName","host","addEventListener","preventDefaults","document","body","disconnectedCallback","removeEventListener","e","preventDefault","stopPropagation","renderLabel","label","compact","h","class","render","Container","slot","name","ref","el"],"sources":["src/components/six-file-upload/six-file-upload.scss?tag=six-file-upload&encapsulation=scoped","src/components/six-file-upload/six-file-upload.tsx"],"sourcesContent":["@import 'src/global/component';\n\n$over-color: var(--six-color-action-light-to-be-defined);\n$disabled-color: var(--six-color-inactive);\n$transition: 0.3s;\n$margin: 1rem;\n\n:host {\n position: static;\n display: block;\n}\n\n.six-file-upload {\n six-card {\n box-shadow: none;\n padding: 0;\n width: 100%;\n }\n\n &__label {\n &--highlighted {\n color: var(--six-color-action-600);\n }\n }\n\n &__container {\n &--full {\n border: dashed 1px var(--six-color-web-rock-500);\n }\n }\n\n &__label-icon {\n margin-right: 0.5rem;\n }\n\n &__drop-zone {\n padding: 2rem 0;\n display: flex;\n justify-content: center;\n width: 100%;\n transition: background-color $transition;\n\n &--compact {\n padding: 0;\n }\n }\n\n &__input {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n user-select: none;\n height: 100%;\n opacity: 0;\n outline: none;\n }\n\n &--disabled &__drop-zone {\n background-color: $disabled-color;\n }\n\n &:not(.six-file-upload--disabled) &__drop-zone:hover,\n &__drop-zone--hover {\n background-color: $over-color;\n\n &.six-file-upload__drop-zone--compact {\n background-color: inherit;\n }\n }\n\n &--disabled &__input {\n cursor: not-allowed;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Prop, State } from '@stencil/core';\n\ninterface ISingleFile {\n file: File;\n}\n\ninterface IMultipleFiles {\n files: FileList;\n}\n\nexport type SixFileUploadSuccessPayload = ISingleFile | IMultipleFiles;\n\nexport interface SixFileUploadFailurePayload {\n reason: string;\n}\n\n/**\n * @since 2.0.0\n * @status experimental\n *\n */\n@Component({\n tag: 'six-file-upload',\n styleUrl: 'six-file-upload.scss',\n scoped: true,\n shadow: false,\n})\nexport class SixFileUpload {\n @Element() readonly host!: HTMLSixFileUploadElement;\n\n private fileInput?: HTMLInputElement;\n\n @State() isOver = false;\n\n /** Set to true if file control should be small. */\n @Prop() readonly compact: boolean = false;\n\n /** Label of the drop area. */\n @Prop() readonly label?: string;\n\n /** Set when button is disabled. */\n @Prop() readonly disabled = false;\n\n /** Accepted MIME-Types. */\n @Prop() readonly accept?: string;\n\n /** More than one file allowed. */\n @Prop() readonly multiple = false;\n\n /** Allowed max file size in bytes. */\n @Prop() readonly maxFileSize?: number;\n\n /** Triggers when a file is added. */\n @Event({ eventName: 'six-file-upload-success' }) success!: EventEmitter<SixFileUploadSuccessPayload>;\n\n /** Triggers when an uploaded file doesn't match MIME type or max file size. */\n @Event({ eventName: 'six-file-upload-failure' }) failure!: EventEmitter<SixFileUploadFailurePayload>;\n\n @Listen('dragenter', { capture: false })\n dragenterHandler() {\n if (!this.disabled) {\n this.isOver = true;\n }\n }\n\n @Listen('dragover', { capture: false })\n dragoverHandler() {\n if (!this.disabled) {\n this.isOver = true;\n }\n }\n\n @Listen('dragleave', { capture: false })\n dragleaveHandler() {\n if (!this.disabled) {\n this.isOver = false;\n }\n }\n\n @Listen('drop', { capture: false })\n dropHandler({ dataTransfer }: DragEvent) {\n if (!this.disabled) {\n this.isOver = false;\n if (dataTransfer != null) {\n this.handleFiles(dataTransfer.files);\n }\n }\n }\n\n private handleFiles = (files: FileList) => {\n if (this.disabled || files.length === 0) {\n return;\n }\n\n if (!this.multiple && files.length > 1) {\n return this.failure.emit({ reason: 'Only one file is allowed.' });\n }\n\n for (const file of files) {\n if (file == null) {\n return;\n }\n\n let acceptedTypesList: string[] = [];\n if (this.accept != null) {\n acceptedTypesList = this.accept.replace(/\\s/g, '').split(',');\n }\n\n if (acceptedTypesList.length > 0 && acceptedTypesList.indexOf(file.type) === -1) {\n const reason = files.length > 1 ? 'One or more files have invalid MIME type.' : 'File has invalid MIME type.';\n return this.failure.emit({ reason });\n }\n\n if (this.maxFileSize != null && file.size > this.maxFileSize) {\n const reason = files.length > 1 ? 'One or more files are too big' : 'File is too big.';\n return this.failure.emit({ reason });\n }\n }\n\n const eventPayload: SixFileUploadSuccessPayload = this.multiple ? { files } : { file: files[0] };\n this.success.emit(eventPayload);\n };\n\n componentDidLoad() {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\n this.host.addEventListener(eventName, this.preventDefaults, false);\n document.body.addEventListener(eventName, this.preventDefaults, false);\n });\n }\n\n disconnectedCallback() {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\n this.host.removeEventListener(eventName, this.preventDefaults, false);\n document.body.removeEventListener(eventName, this.preventDefaults, false);\n });\n }\n\n private preventDefaults(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n private onChange = () => {\n if (this.fileInput?.files != null) {\n const files = this.fileInput.files;\n this.handleFiles(files);\n this.fileInput.value = '';\n }\n };\n\n private renderLabel() {\n return (\n this.label ??\n (this.compact ? (\n 'Upload'\n ) : (\n <span>\n Drop files to upload, or <span class=\"six-file-upload__label--highlighted\">browse</span>\n </span>\n ))\n );\n }\n\n render() {\n const Container = this.compact ? 'six-button' : 'six-card';\n\n return (\n <div\n class={{\n 'six-file-upload': true,\n 'six-file-upload--disabled': this.disabled,\n }}\n >\n <Container\n class={{\n 'six-file-upload__container--compact': this.compact,\n 'six-file-upload__container--full': !this.compact,\n }}\n >\n {this.compact && (\n <span slot=\"prefix\">\n <six-icon class=\"six-file-upload__label-icon\">arrow_circle_up</six-icon>\n </span>\n )}\n <div\n class={{\n 'six-file-upload__drop-zone': true,\n 'six-file-upload__drop-zone--hover': this.isOver,\n 'six-file-upload__drop-zone--compact': this.compact,\n }}\n >\n <span>{this.renderLabel()}</span>\n <input\n class=\"six-file-upload__input\"\n type=\"file\"\n name=\"resume\"\n disabled={this.disabled}\n accept={this.accept}\n multiple={this.multiple}\n onChange={this.onChange}\n ref={(el) => (this.fileInput = el)}\n />\n </div>\n </Container>\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixIconButtonCss","SixIconButton","this","handleClickEvent","event","disabled","preventDefault","stopPropagation","componentDidLoad","button","focusVisible","observe","disconnectedCallback","unobserve","render","html","h","innerHTML","onClick","class","ref","el","part","type","label","size","name"],"sources":["src/components/six-icon-button/six-icon-button.scss?tag=six-icon-button&encapsulation=shadow","src/components/six-icon-button/six-icon-button.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: inline-block;\n}\n\n.icon-button {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n background: none;\n border: none;\n border-radius: var(--six-border-radius-medium);\n font-size: inherit;\n color: var(--six-input-icon-color);\n padding: var(--six-spacing-x-small);\n cursor: pointer;\n transition: var(--six-transition-medium) color;\n -webkit-appearance: none;\n\n &:hover:not(.icon-button--disabled),\n &:focus:not(.icon-button--disabled) {\n color: var(--six-input-icon-color-hover);\n }\n\n &:active:not(.icon-button--disabled) {\n color: var(--six-input-icon-color);\n }\n\n &:focus {\n outline: none;\n }\n\n &:focus-visible {\n outline: var(--six-focus-ring);\n outline-offset: var(--six-focus-ring-offset);\n }\n}\n\n.icon-button--disabled {\n opacity: 0.5;\n pointer-events: none;\n}\n\n.icon-button-wrapper--disabled {\n cursor: not-allowed;\n}\n\n.icon-button ::slotted(six-badge) {\n position: absolute;\n top: 0;\n right: 0;\n pointer-events: none;\n}\n\n.icon-button six-icon[size='xLarge'] + ::slotted(six-badge) {\n transform: translateY(40%) translateX(-35%);\n}\n\n.icon-button six-icon[size='large'] + ::slotted(six-badge) {\n transform: translateY(20%) translateX(-20%);\n}\n\n// TODO: tx4u9 should be adjusted for all sizes after design team\n.icon-button six-icon[size='medium'] + ::slotted(six-badge) {\n transform: translateY(10%) translateX(50%);\n}\n\n.icon-button six-icon[size='small'] + ::slotted(six-badge) {\n // no translation necessary\n}\n\n.icon-button six-icon[size='xSmall'] + ::slotted(six-badge) {\n transform: translateY(-25%) translateX(25%);\n}\n","import { Component, h, Prop } from '@stencil/core';\nimport { focusVisible } from '../../utils/focus-visible';\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @part base - The component's base wrapper.\n */\n\n@Component({\n tag: 'six-icon-button',\n styleUrl: 'six-icon-button.scss',\n shadow: true,\n})\nexport class SixIconButton {\n private button?: HTMLButtonElement;\n\n /** The name of the icon to draw. */\n @Prop({ reflect: true }) name?: string;\n\n /** The icon's size. */\n @Prop({ reflect: true }) size: 'xSmall' | 'small' | 'medium' | 'large' | 'xLarge' | 'xxLarge' | 'xxxLarge' = 'medium';\n\n /**\n * A description that gets read by screen readers and other assistive devices. For optimal accessibility, you should\n * always include a label that describes what the icon button does.\n */\n @Prop({ reflect: true }) label?: string;\n\n /** Set to true to disable the button. */\n @Prop({ reflect: true }) disabled = false;\n\n /** HTML symbol code or entity. */\n @Prop({ reflect: true }) html?: string;\n\n componentDidLoad() {\n if (this.button != null) {\n focusVisible.observe(this.button);\n }\n }\n\n disconnectedCallback() {\n if (this.button != null) {\n focusVisible.unobserve(this.button);\n }\n }\n\n render() {\n const html = this.html && <span innerHTML={this.html} />;\n\n return (\n <div onClick={this.handleClickEvent} class={{ 'icon-button-wrapper--disabled': this.disabled }}>\n <button\n ref={(el) => (this.button = el)}\n part=\"base\"\n disabled={this.disabled}\n class={{\n 'icon-button': true,\n 'icon-button--disabled': this.disabled,\n }}\n type=\"button\"\n aria-label={this.label}\n >\n <six-icon aria-hidden=\"true\" size={this.size}>\n {this.name}\n </six-icon>\n <slot />\n {html}\n </button>\n </div>\n );\n }\n\n private handleClickEvent = (event: Event) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n}\n"],"mappings":"+EAAA,MAAMA,EAAmB,81C,MCiBZC,EAAa,M,yBA2DhBC,KAAAC,iBAAoBC,IAC1B,GAAIF,KAAKG,SAAU,CACjBD,EAAME,iBACNF,EAAMG,iB,iCAvDmG,S,mCASzE,M,oBAKpC,gBAAAC,GACE,GAAIN,KAAKO,QAAU,KAAM,CACvBC,EAAaC,QAAQT,KAAKO,O,EAI9B,oBAAAG,GACE,GAAIV,KAAKO,QAAU,KAAM,CACvBC,EAAaG,UAAUX,KAAKO,O,EAIhC,MAAAK,GACE,MAAMC,EAAOb,KAAKa,MAAQC,EAAA,QAAMC,UAAWf,KAAKa,OAEhD,OACEC,EAAA,OAAKE,QAAShB,KAAKC,iBAAkBgB,MAAO,CAAE,gCAAiCjB,KAAKG,WAClFW,EAAA,UACEI,IAAMC,GAAQnB,KAAKO,OAASY,EAC5BC,KAAK,OACLjB,SAAUH,KAAKG,SACfc,MAAO,CACL,cAAe,KACf,wBAAyBjB,KAAKG,UAEhCkB,KAAK,SAAQ,aACDrB,KAAKsB,OAEjBR,EAAA,0BAAsB,OAAOS,KAAMvB,KAAKuB,MACrCvB,KAAKwB,MAERV,EAAA,aACCD,G"}