@six-group/ui-library 0.0.0-insider.cd0cd0d → 0.0.0-insider.db2b416

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 (744) hide show
  1. package/dist/cjs/{event-listeners-b835dfae.js → event-listeners-fdfe838c.js} +1 -1
  2. package/dist/cjs/event-listeners-fdfe838c.js.map +1 -0
  3. package/dist/cjs/{execution-control-45c84c46.js → execution-control-b4707294.js} +1 -1
  4. package/dist/cjs/execution-control-b4707294.js.map +1 -0
  5. package/dist/cjs/{focus-visible-e0d93a95.js → focus-visible-ae2470dd.js} +1 -1
  6. package/dist/cjs/focus-visible-ae2470dd.js.map +1 -0
  7. package/dist/cjs/{form-8cbd4e0e.js → form-2df8c5bb.js} +1 -1
  8. package/dist/{esm/form-0b9c11cd.js.map → cjs/form-2df8c5bb.js.map} +1 -1
  9. package/dist/cjs/{form-control-8df00a52.js → form-control-d369af14.js} +2 -2
  10. package/dist/cjs/form-control-d369af14.js.map +1 -0
  11. package/dist/cjs/{index-2f6daa5b.js → index-900437fc.js} +186 -53
  12. package/dist/cjs/index-900437fc.js.map +1 -0
  13. package/dist/cjs/index.cjs.js.map +1 -1
  14. package/dist/cjs/loader.cjs.js +2 -11
  15. package/dist/cjs/loader.cjs.js.map +1 -1
  16. package/dist/cjs/{modal-21350fb5.js → modal-d5f074c7.js} +1 -1
  17. package/dist/cjs/modal-d5f074c7.js.map +1 -0
  18. package/dist/cjs/{popover-8885d50f.js → popover-2df7e154.js} +1 -1
  19. package/dist/{esm/popover-2e72e7d8.js.map → cjs/popover-2df7e154.js.map} +1 -1
  20. package/dist/cjs/{popup-44836aaf.js → popup-f1d9910f.js} +1 -1
  21. package/dist/cjs/popup-f1d9910f.js.map +1 -0
  22. package/dist/cjs/{scroll-76e6f5d7.js → scroll-03678de1.js} +1 -1
  23. package/dist/cjs/scroll-03678de1.js.map +1 -0
  24. package/dist/cjs/set-attributes_2.cjs.entry.js +1 -1
  25. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  26. package/dist/cjs/six-alert.cjs.entry.js +1 -1
  27. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-avatar.cjs.entry.js +1 -1
  29. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-badge.cjs.entry.js +1 -1
  31. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-button.cjs.entry.js +3 -3
  33. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-card.cjs.entry.js +1 -1
  35. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-checkbox.cjs.entry.js +4 -4
  37. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-datepicker.cjs.entry.js +5 -5
  39. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-details.cjs.entry.js +2 -2
  41. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-dialog.cjs.entry.js +4 -4
  43. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-drawer.cjs.entry.js +4 -4
  45. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-dropdown_2.cjs.entry.js +5 -5
  47. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-error-page.cjs.entry.js +1 -1
  49. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  50. package/dist/cjs/six-file-list-item.cjs.entry.js +1 -1
  51. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  53. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  54. package/dist/cjs/six-file-upload.cjs.entry.js +1 -1
  55. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  56. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  57. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-group-label.cjs.entry.js +3 -3
  59. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  60. package/dist/cjs/six-header.cjs.entry.js +3 -3
  61. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-icon-button.cjs.entry.js +2 -2
  63. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  65. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-input.cjs.entry.js +5 -5
  67. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-item-picker.cjs.entry.js +6 -6
  69. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-language-switcher.cjs.entry.js +1 -1
  71. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-layout-grid.cjs.entry.js +1 -1
  73. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  75. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  77. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-menu-item.cjs.entry.js +2 -2
  79. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  81. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-picto.cjs.entry.js +1 -1
  83. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  85. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-progress-ring.cjs.entry.js +1 -1
  87. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-radio.cjs.entry.js +2 -2
  89. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-range.cjs.entry.js +4 -4
  91. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  92. package/dist/cjs/six-root.cjs.entry.js +1 -1
  93. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  94. package/dist/cjs/six-search-field.cjs.entry.js +3 -3
  95. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  96. package/dist/cjs/six-select.cjs.entry.js +5 -5
  97. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  98. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +2 -2
  99. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  100. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  101. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  102. package/dist/cjs/six-sidebar.cjs.entry.js +2 -2
  103. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  104. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  105. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-switch.cjs.entry.js +3 -3
  107. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  108. package/dist/cjs/six-tab-group.cjs.entry.js +3 -3
  109. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  110. package/dist/cjs/six-tab-panel.cjs.entry.js +1 -1
  111. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  112. package/dist/cjs/six-tab.cjs.entry.js +1 -1
  113. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  114. package/dist/cjs/six-tag.cjs.entry.js +1 -1
  115. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  116. package/dist/cjs/six-textarea.cjs.entry.js +4 -4
  117. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  118. package/dist/cjs/six-tile.cjs.entry.js +2 -2
  119. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  120. package/dist/cjs/six-timepicker.cjs.entry.js +6 -6
  121. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  122. package/dist/cjs/six-tooltip.cjs.entry.js +2 -2
  123. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  124. package/dist/cjs/{slot-bccbdb59.js → slot-6e6a400f.js} +1 -1
  125. package/dist/cjs/slot-6e6a400f.js.map +1 -0
  126. package/dist/cjs/{types-64878648.js → types-47199040.js} +1 -1
  127. package/dist/cjs/types-47199040.js.map +1 -0
  128. package/dist/cjs/ui-library.cjs.js +2 -5
  129. package/dist/cjs/ui-library.cjs.js.map +1 -1
  130. package/dist/collection/collection-manifest.json +54 -54
  131. package/dist/collection/components/six-alert/six-alert.js +15 -8
  132. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  133. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  134. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  135. package/dist/collection/components/six-avatar/six-avatar.js +1 -1
  136. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  137. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  138. package/dist/collection/components/six-badge/six-badge.js +1 -1
  139. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  140. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  141. package/dist/collection/components/six-button/six-button.js +13 -8
  142. package/dist/collection/components/six-button/six-button.js.map +1 -1
  143. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  144. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  145. package/dist/collection/components/six-card/six-card.js +1 -1
  146. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  147. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  148. package/dist/collection/components/six-checkbox/six-checkbox.js +18 -11
  149. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  150. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +79 -0
  151. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  152. package/dist/collection/components/six-datepicker/components/day-selection.js +1 -1
  153. package/dist/collection/components/six-datepicker/components/month-selection.js +2 -2
  154. package/dist/collection/components/six-datepicker/components/year-selection.js +2 -2
  155. package/dist/collection/components/six-datepicker/six-datepicker.js +34 -22
  156. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  157. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  158. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  159. package/dist/collection/components/six-details/six-details.js +14 -8
  160. package/dist/collection/components/six-details/six-details.js.map +1 -1
  161. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  162. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  163. package/dist/collection/components/six-dialog/six-dialog.js +21 -13
  164. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  165. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  166. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  167. package/dist/collection/components/six-drawer/six-drawer.js +21 -13
  168. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  169. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  170. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  171. package/dist/collection/components/six-dropdown/six-dropdown.js +30 -18
  172. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  173. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +122 -0
  174. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  175. package/dist/collection/components/six-error-page/six-error-page.js +1 -1
  176. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  177. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  178. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  179. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  180. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  181. package/dist/collection/components/six-file-list-item/six-file-list-item.js +5 -3
  182. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  183. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  184. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  185. package/dist/collection/components/six-file-upload/six-file-upload.js +5 -3
  186. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  187. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  188. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  189. package/dist/collection/components/six-footer/six-footer.js +1 -1
  190. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  191. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  192. package/dist/collection/components/six-group-label/six-group-label.js +3 -3
  193. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +43 -0
  194. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  195. package/dist/collection/components/six-header/six-header.js +19 -11
  196. package/dist/collection/components/six-header/six-header.js.map +1 -1
  197. package/dist/collection/components/six-header/test/six-header.spec.js +133 -0
  198. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  199. package/dist/collection/components/six-icon/six-icon.js +1 -1
  200. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  201. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  202. package/dist/collection/components/six-icon-button/six-icon-button.js +2 -2
  203. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  204. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  205. package/dist/collection/components/six-input/six-input.js +27 -16
  206. package/dist/collection/components/six-input/six-input.js.map +1 -1
  207. package/dist/collection/components/six-input/test/six-input.spec.js +37 -0
  208. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  209. package/dist/collection/components/six-item-picker/six-item-picker.js +14 -10
  210. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  211. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  212. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  213. package/dist/collection/components/six-language-switcher/six-language-switcher.js +5 -3
  214. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  215. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  216. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  217. package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
  218. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  219. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  220. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  221. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  222. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  223. package/dist/collection/components/six-menu/six-menu.js +12 -8
  224. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  225. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  226. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  227. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  228. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  229. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  230. package/dist/collection/components/six-menu-item/six-menu-item.js +10 -6
  231. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  232. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  233. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  234. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  235. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  236. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  237. package/dist/collection/components/six-picto/six-picto.js +1 -1
  238. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  239. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  240. package/dist/collection/components/six-progress-bar/six-progress-bar.js +1 -1
  241. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  242. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  243. package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
  244. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  245. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  246. package/dist/collection/components/six-radio/six-radio.js +16 -9
  247. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  248. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  249. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  250. package/dist/collection/components/six-range/six-range.js +16 -10
  251. package/dist/collection/components/six-range/six-range.js.map +1 -1
  252. package/dist/collection/components/six-range/test/six-range.spec.js +32 -0
  253. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  254. package/dist/collection/components/six-root/six-root.js +5 -3
  255. package/dist/collection/components/six-root/six-root.js.map +1 -1
  256. package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
  257. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  258. package/dist/collection/components/six-search-field/six-search-field.js +5 -4
  259. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  260. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  261. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  262. package/dist/collection/components/six-select/six-select.js +18 -12
  263. package/dist/collection/components/six-select/six-select.js.map +1 -1
  264. package/dist/collection/components/six-select/test/six-select.spec.js +82 -0
  265. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  266. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  267. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  268. package/dist/collection/components/six-sidebar/six-sidebar.js +26 -14
  269. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  270. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  271. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  272. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +1 -1
  273. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  274. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  275. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +2 -2
  276. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  277. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  278. package/dist/collection/components/six-spinner/six-spinner.js +1 -1
  279. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  280. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  281. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +3 -2
  282. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  283. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  284. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  285. package/dist/collection/components/six-switch/six-switch.js +11 -7
  286. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  287. package/dist/collection/components/six-switch/test/six-switch.spec.js +69 -0
  288. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  289. package/dist/collection/components/six-tab/six-tab.js +9 -5
  290. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  291. package/dist/collection/components/six-tab/test/six-tab.spec.js +20 -0
  292. package/dist/collection/components/six-tab/test/six-tab.spec.js.map +1 -0
  293. package/dist/collection/components/six-tab-group/six-tab-group.js +10 -7
  294. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  295. package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js +45 -0
  296. package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js.map +1 -0
  297. package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
  298. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  299. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  300. package/dist/collection/components/six-tag/six-tag.js +3 -2
  301. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  302. package/dist/collection/components/six-tag/test/six-tag.spec.js +42 -0
  303. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  304. package/dist/collection/components/six-textarea/six-textarea.js +24 -14
  305. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  306. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +117 -0
  307. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  308. package/dist/collection/components/six-tile/six-tile.js +10 -6
  309. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  310. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  311. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  312. package/dist/collection/components/six-timepicker/six-timepicker.js +19 -13
  313. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  314. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  315. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  316. package/dist/collection/components/six-tooltip/six-tooltip.js +14 -8
  317. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  318. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  319. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  320. package/dist/collection/functional-components/form-control/form-control.js +1 -1
  321. package/dist/collection/utils/date-util.js +1 -1
  322. package/dist/collection/utils/date-util.spec.js +995 -0
  323. package/dist/collection/utils/date-util.spec.js.map +1 -0
  324. package/dist/collection/utils/event-listeners.js.map +1 -1
  325. package/dist/collection/utils/popover.js +1 -1
  326. package/dist/collection/utils/scroll.js +1 -1
  327. package/dist/collection/utils/scroll.spec.js +122 -0
  328. package/dist/collection/utils/scroll.spec.js.map +1 -0
  329. package/dist/collection/utils/time.util.spec.js +368 -0
  330. package/dist/collection/utils/time.util.spec.js.map +1 -0
  331. package/dist/collection/wrappers/set-attributes/set-attributes.js +1 -1
  332. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
  333. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
  334. package/dist/components/event-listeners.js.map +1 -1
  335. package/dist/components/execution-control.js.map +1 -1
  336. package/dist/components/focus-visible.js.map +1 -1
  337. package/dist/components/form-control.js.map +1 -1
  338. package/dist/components/form.js.map +1 -1
  339. package/dist/components/index.js.map +1 -1
  340. package/dist/components/modal.js.map +1 -1
  341. package/dist/components/popover.js.map +1 -1
  342. package/dist/components/scroll.js.map +1 -1
  343. package/dist/components/set-attributes2.js.map +1 -1
  344. package/dist/components/six-alert.js.map +1 -1
  345. package/dist/components/six-avatar.js.map +1 -1
  346. package/dist/components/six-badge.js.map +1 -1
  347. package/dist/components/six-button.js.map +1 -1
  348. package/dist/components/six-card.js.map +1 -1
  349. package/dist/components/six-checkbox.js.map +1 -1
  350. package/dist/components/six-datepicker.js.map +1 -1
  351. package/dist/components/six-details2.js.map +1 -1
  352. package/dist/components/six-dialog.js.map +1 -1
  353. package/dist/components/six-drawer.js.map +1 -1
  354. package/dist/components/six-dropdown2.js.map +1 -1
  355. package/dist/components/six-error-page.js.map +1 -1
  356. package/dist/components/six-file-list-item.js.map +1 -1
  357. package/dist/components/six-file-list.js.map +1 -1
  358. package/dist/components/six-file-upload.js.map +1 -1
  359. package/dist/components/six-footer.js.map +1 -1
  360. package/dist/components/six-group-label.js.map +1 -1
  361. package/dist/components/six-header.js.map +1 -1
  362. package/dist/components/six-icon-button2.js.map +1 -1
  363. package/dist/components/six-icon2.js.map +1 -1
  364. package/dist/components/six-input2.js.map +1 -1
  365. package/dist/components/six-item-picker2.js +2 -2
  366. package/dist/components/six-item-picker2.js.map +1 -1
  367. package/dist/components/six-language-switcher.js.map +1 -1
  368. package/dist/components/six-layout-grid.js.map +1 -1
  369. package/dist/components/six-main-container.js.map +1 -1
  370. package/dist/components/six-menu-divider.js.map +1 -1
  371. package/dist/components/six-menu-item2.js.map +1 -1
  372. package/dist/components/six-menu-label.js.map +1 -1
  373. package/dist/components/six-menu2.js.map +1 -1
  374. package/dist/components/six-picto2.js.map +1 -1
  375. package/dist/components/six-progress-bar.js.map +1 -1
  376. package/dist/components/six-progress-ring.js.map +1 -1
  377. package/dist/components/six-radio.js.map +1 -1
  378. package/dist/components/six-range.js.map +1 -1
  379. package/dist/components/six-root.js.map +1 -1
  380. package/dist/components/six-search-field.js.map +1 -1
  381. package/dist/components/six-select.js.map +1 -1
  382. package/dist/components/six-sidebar-item-group.js.map +1 -1
  383. package/dist/components/six-sidebar-item.js.map +1 -1
  384. package/dist/components/six-sidebar.js.map +1 -1
  385. package/dist/components/six-spinner2.js.map +1 -1
  386. package/dist/components/six-stage-indicator2.js.map +1 -1
  387. package/dist/components/six-switch.js.map +1 -1
  388. package/dist/components/six-tab-group.js.map +1 -1
  389. package/dist/components/six-tab-panel.js.map +1 -1
  390. package/dist/components/six-tab.js.map +1 -1
  391. package/dist/components/six-tag2.js.map +1 -1
  392. package/dist/components/six-textarea.js.map +1 -1
  393. package/dist/components/six-tile.js.map +1 -1
  394. package/dist/components/six-timepicker2.js.map +1 -1
  395. package/dist/components/six-tooltip2.js.map +1 -1
  396. package/dist/components/slot.js.map +1 -1
  397. package/dist/components.d.ts +361 -88
  398. package/dist/components.json +3732 -56
  399. package/dist/esm/{event-listeners-535f3ad1.js → event-listeners-f6e5b0ab.js} +1 -1
  400. package/dist/esm/event-listeners-f6e5b0ab.js.map +1 -0
  401. package/dist/esm/{execution-control-72cc50f4.js → execution-control-e0892a05.js} +1 -1
  402. package/dist/esm/execution-control-e0892a05.js.map +1 -0
  403. package/dist/esm/{focus-visible-fa7129a0.js → focus-visible-fc6ac671.js} +1 -1
  404. package/dist/esm/focus-visible-fc6ac671.js.map +1 -0
  405. package/dist/esm/{form-0b9c11cd.js → form-81252534.js} +1 -1
  406. package/dist/esm/form-81252534.js.map +1 -0
  407. package/dist/esm/{form-control-785c5f79.js → form-control-32cb533f.js} +2 -2
  408. package/dist/esm/form-control-32cb533f.js.map +1 -0
  409. package/dist/esm/{index-5c0f6628.js → index-8a74f992.js} +186 -53
  410. package/dist/esm/index-8a74f992.js.map +1 -0
  411. package/dist/esm/index.js.map +1 -1
  412. package/dist/esm/loader.js +3 -12
  413. package/dist/esm/loader.js.map +1 -1
  414. package/dist/esm/{modal-b1d96441.js → modal-7d32e141.js} +1 -1
  415. package/dist/esm/modal-7d32e141.js.map +1 -0
  416. package/dist/esm/{popover-2e72e7d8.js → popover-136d1f73.js} +1 -1
  417. package/dist/esm/popover-136d1f73.js.map +1 -0
  418. package/dist/esm/{popup-678b8592.js → popup-7f89a001.js} +1 -1
  419. package/dist/esm/popup-7f89a001.js.map +1 -0
  420. package/dist/esm/{scroll-180b53fd.js → scroll-3fb087a2.js} +1 -1
  421. package/dist/esm/scroll-3fb087a2.js.map +1 -0
  422. package/dist/esm/set-attributes_2.entry.js +1 -1
  423. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  424. package/dist/esm/six-alert.entry.js +1 -1
  425. package/dist/esm/six-alert.entry.js.map +1 -1
  426. package/dist/esm/six-avatar.entry.js +1 -1
  427. package/dist/esm/six-avatar.entry.js.map +1 -1
  428. package/dist/esm/six-badge.entry.js +1 -1
  429. package/dist/esm/six-badge.entry.js.map +1 -1
  430. package/dist/esm/six-button.entry.js +3 -3
  431. package/dist/esm/six-button.entry.js.map +1 -1
  432. package/dist/esm/six-card.entry.js +1 -1
  433. package/dist/esm/six-card.entry.js.map +1 -1
  434. package/dist/esm/six-checkbox.entry.js +4 -4
  435. package/dist/esm/six-checkbox.entry.js.map +1 -1
  436. package/dist/esm/six-datepicker.entry.js +5 -5
  437. package/dist/esm/six-datepicker.entry.js.map +1 -1
  438. package/dist/esm/six-details.entry.js +2 -2
  439. package/dist/esm/six-details.entry.js.map +1 -1
  440. package/dist/esm/six-dialog.entry.js +4 -4
  441. package/dist/esm/six-dialog.entry.js.map +1 -1
  442. package/dist/esm/six-drawer.entry.js +4 -4
  443. package/dist/esm/six-drawer.entry.js.map +1 -1
  444. package/dist/esm/six-dropdown_2.entry.js +5 -5
  445. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  446. package/dist/esm/six-error-page.entry.js +1 -1
  447. package/dist/esm/six-error-page.entry.js.map +1 -1
  448. package/dist/esm/six-file-list-item.entry.js +1 -1
  449. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  450. package/dist/esm/six-file-list.entry.js +1 -1
  451. package/dist/esm/six-file-list.entry.js.map +1 -1
  452. package/dist/esm/six-file-upload.entry.js +1 -1
  453. package/dist/esm/six-file-upload.entry.js.map +1 -1
  454. package/dist/esm/six-footer.entry.js +1 -1
  455. package/dist/esm/six-footer.entry.js.map +1 -1
  456. package/dist/esm/six-group-label.entry.js +3 -3
  457. package/dist/esm/six-group-label.entry.js.map +1 -1
  458. package/dist/esm/six-header.entry.js +3 -3
  459. package/dist/esm/six-header.entry.js.map +1 -1
  460. package/dist/esm/six-icon-button.entry.js +2 -2
  461. package/dist/esm/six-icon-button.entry.js.map +1 -1
  462. package/dist/esm/six-icon.entry.js +1 -1
  463. package/dist/esm/six-icon.entry.js.map +1 -1
  464. package/dist/esm/six-input.entry.js +5 -5
  465. package/dist/esm/six-input.entry.js.map +1 -1
  466. package/dist/esm/six-item-picker.entry.js +6 -6
  467. package/dist/esm/six-item-picker.entry.js.map +1 -1
  468. package/dist/esm/six-language-switcher.entry.js +1 -1
  469. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  470. package/dist/esm/six-layout-grid.entry.js +1 -1
  471. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  472. package/dist/esm/six-main-container.entry.js +1 -1
  473. package/dist/esm/six-main-container.entry.js.map +1 -1
  474. package/dist/esm/six-menu-divider.entry.js +1 -1
  475. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  476. package/dist/esm/six-menu-item.entry.js +2 -2
  477. package/dist/esm/six-menu-item.entry.js.map +1 -1
  478. package/dist/esm/six-menu-label.entry.js +1 -1
  479. package/dist/esm/six-menu-label.entry.js.map +1 -1
  480. package/dist/esm/six-picto.entry.js +1 -1
  481. package/dist/esm/six-picto.entry.js.map +1 -1
  482. package/dist/esm/six-progress-bar.entry.js +1 -1
  483. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  484. package/dist/esm/six-progress-ring.entry.js +1 -1
  485. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  486. package/dist/esm/six-radio.entry.js +2 -2
  487. package/dist/esm/six-radio.entry.js.map +1 -1
  488. package/dist/esm/six-range.entry.js +4 -4
  489. package/dist/esm/six-range.entry.js.map +1 -1
  490. package/dist/esm/six-root.entry.js +1 -1
  491. package/dist/esm/six-root.entry.js.map +1 -1
  492. package/dist/esm/six-search-field.entry.js +3 -3
  493. package/dist/esm/six-search-field.entry.js.map +1 -1
  494. package/dist/esm/six-select.entry.js +5 -5
  495. package/dist/esm/six-select.entry.js.map +1 -1
  496. package/dist/esm/six-sidebar-item-group.entry.js +2 -2
  497. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  498. package/dist/esm/six-sidebar-item.entry.js +1 -1
  499. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  500. package/dist/esm/six-sidebar.entry.js +2 -2
  501. package/dist/esm/six-sidebar.entry.js.map +1 -1
  502. package/dist/esm/six-spinner.entry.js +1 -1
  503. package/dist/esm/six-spinner.entry.js.map +1 -1
  504. package/dist/esm/six-switch.entry.js +3 -3
  505. package/dist/esm/six-switch.entry.js.map +1 -1
  506. package/dist/esm/six-tab-group.entry.js +3 -3
  507. package/dist/esm/six-tab-group.entry.js.map +1 -1
  508. package/dist/esm/six-tab-panel.entry.js +1 -1
  509. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  510. package/dist/esm/six-tab.entry.js +1 -1
  511. package/dist/esm/six-tab.entry.js.map +1 -1
  512. package/dist/esm/six-tag.entry.js +1 -1
  513. package/dist/esm/six-tag.entry.js.map +1 -1
  514. package/dist/esm/six-textarea.entry.js +4 -4
  515. package/dist/esm/six-textarea.entry.js.map +1 -1
  516. package/dist/esm/six-tile.entry.js +2 -2
  517. package/dist/esm/six-tile.entry.js.map +1 -1
  518. package/dist/esm/six-timepicker.entry.js +6 -6
  519. package/dist/esm/six-timepicker.entry.js.map +1 -1
  520. package/dist/esm/six-tooltip.entry.js +2 -2
  521. package/dist/esm/six-tooltip.entry.js.map +1 -1
  522. package/dist/esm/{slot-2e64df19.js → slot-ad36df3a.js} +1 -1
  523. package/dist/esm/slot-ad36df3a.js.map +1 -0
  524. package/dist/esm/{types-4b10b413.js → types-59b455aa.js} +1 -1
  525. package/dist/esm/types-59b455aa.js.map +1 -0
  526. package/dist/esm/ui-library.js +3 -6
  527. package/dist/esm/ui-library.js.map +1 -1
  528. package/dist/types/stencil-public-runtime.d.ts +15 -2
  529. package/dist/types/utils/event-listeners.d.ts +3 -3
  530. package/dist/ui-library/index.esm.js.map +1 -1
  531. package/dist/ui-library/{p-25a3bf57.js → p-0f510624.js} +1 -1
  532. package/dist/ui-library/p-0f510624.js.map +1 -0
  533. package/dist/ui-library/{p-0b2c6348.js → p-0fdb185d.js} +1 -1
  534. package/dist/ui-library/p-0fdb185d.js.map +1 -0
  535. package/dist/ui-library/{p-a844cb72.entry.js → p-1256cc0a.entry.js} +2 -2
  536. package/dist/ui-library/p-1256cc0a.entry.js.map +1 -0
  537. package/dist/ui-library/{p-e8feb81f.entry.js → p-13b43e04.entry.js} +2 -2
  538. package/dist/ui-library/p-13b43e04.entry.js.map +1 -0
  539. package/dist/ui-library/{p-d87a6f4d.js → p-15559d38.js} +1 -1
  540. package/dist/ui-library/p-15559d38.js.map +1 -0
  541. package/dist/ui-library/{p-b3bff992.entry.js → p-1730a174.entry.js} +2 -2
  542. package/dist/ui-library/p-1730a174.entry.js.map +1 -0
  543. package/dist/ui-library/{p-502ff3d3.entry.js → p-19ed7a4c.entry.js} +2 -2
  544. package/dist/ui-library/p-19ed7a4c.entry.js.map +1 -0
  545. package/dist/ui-library/{p-c57f16af.entry.js → p-1d0bee53.entry.js} +2 -2
  546. package/dist/ui-library/p-1d0bee53.entry.js.map +1 -0
  547. package/dist/ui-library/{p-97323ad7.entry.js → p-1d5ee1a0.entry.js} +2 -2
  548. package/dist/ui-library/p-1d5ee1a0.entry.js.map +1 -0
  549. package/dist/ui-library/{p-eb8f05a9.js → p-1f18768a.js} +1 -1
  550. package/dist/ui-library/p-1f18768a.js.map +1 -0
  551. package/dist/ui-library/{p-b4547fb5.entry.js → p-21b3b321.entry.js} +2 -2
  552. package/dist/ui-library/p-21b3b321.entry.js.map +1 -0
  553. package/dist/ui-library/{p-778cf804.entry.js → p-29ac3d7d.entry.js} +2 -2
  554. package/dist/ui-library/p-29ac3d7d.entry.js.map +1 -0
  555. package/dist/ui-library/{p-92ca6a84.entry.js → p-314b2096.entry.js} +2 -2
  556. package/dist/ui-library/p-314b2096.entry.js.map +1 -0
  557. package/dist/ui-library/{p-66180e89.entry.js → p-330a4988.entry.js} +2 -2
  558. package/dist/ui-library/p-330a4988.entry.js.map +1 -0
  559. package/dist/ui-library/{p-21859bca.entry.js → p-346f9557.entry.js} +2 -2
  560. package/dist/ui-library/p-346f9557.entry.js.map +1 -0
  561. package/dist/ui-library/{p-03a145f5.entry.js → p-37557787.entry.js} +2 -2
  562. package/dist/ui-library/p-37557787.entry.js.map +1 -0
  563. package/dist/ui-library/{p-baa03951.entry.js → p-3cc5addb.entry.js} +2 -2
  564. package/dist/ui-library/p-3cc5addb.entry.js.map +1 -0
  565. package/dist/ui-library/{p-ef3936e5.entry.js → p-411ed539.entry.js} +2 -2
  566. package/dist/ui-library/p-411ed539.entry.js.map +1 -0
  567. package/dist/ui-library/{p-c5cdba08.entry.js → p-4705a51e.entry.js} +2 -2
  568. package/dist/ui-library/p-4705a51e.entry.js.map +1 -0
  569. package/dist/ui-library/{p-dc3f5996.entry.js → p-4abed9df.entry.js} +2 -2
  570. package/dist/ui-library/p-4abed9df.entry.js.map +1 -0
  571. package/dist/ui-library/{p-0cc08e91.js → p-5654e4c7.js} +1 -1
  572. package/dist/ui-library/p-5654e4c7.js.map +1 -0
  573. package/dist/ui-library/{p-0fe78f9b.js → p-59210f0b.js} +1 -1
  574. package/dist/ui-library/p-59210f0b.js.map +1 -0
  575. package/dist/ui-library/{p-28be55f0.entry.js → p-5af44076.entry.js} +2 -2
  576. package/dist/ui-library/p-5af44076.entry.js.map +1 -0
  577. package/dist/ui-library/{p-18e9f8b8.entry.js → p-5d6b7353.entry.js} +2 -2
  578. package/dist/ui-library/p-5d6b7353.entry.js.map +1 -0
  579. package/dist/ui-library/{p-097cced4.entry.js → p-613283a7.entry.js} +2 -2
  580. package/dist/ui-library/p-613283a7.entry.js.map +1 -0
  581. package/dist/ui-library/p-6153045b.js +3 -0
  582. package/dist/ui-library/p-6153045b.js.map +1 -0
  583. package/dist/ui-library/{p-e19a6c95.entry.js → p-6197fe2f.entry.js} +2 -2
  584. package/dist/ui-library/p-6197fe2f.entry.js.map +1 -0
  585. package/dist/ui-library/{p-8cf72af6.js → p-698bb2c8.js} +1 -1
  586. package/dist/ui-library/p-698bb2c8.js.map +1 -0
  587. package/dist/ui-library/{p-e07b3f0c.entry.js → p-6eb24bcb.entry.js} +2 -2
  588. package/dist/ui-library/p-6eb24bcb.entry.js.map +1 -0
  589. package/dist/ui-library/{p-9337cdd6.entry.js → p-72254eef.entry.js} +2 -2
  590. package/dist/ui-library/p-72254eef.entry.js.map +1 -0
  591. package/dist/ui-library/{p-912092c0.entry.js → p-724875b0.entry.js} +2 -2
  592. package/dist/ui-library/p-724875b0.entry.js.map +1 -0
  593. package/dist/ui-library/{p-dd3c76f1.entry.js → p-7afafb9d.entry.js} +2 -2
  594. package/dist/ui-library/p-7afafb9d.entry.js.map +1 -0
  595. package/dist/ui-library/{p-60621dc6.js → p-7d95def3.js} +1 -1
  596. package/dist/ui-library/p-7d95def3.js.map +1 -0
  597. package/dist/ui-library/{p-63703ba3.entry.js → p-7e3ad38a.entry.js} +2 -2
  598. package/dist/ui-library/p-7e3ad38a.entry.js.map +1 -0
  599. package/dist/ui-library/{p-71035abf.entry.js → p-83864cfe.entry.js} +2 -2
  600. package/dist/ui-library/p-83864cfe.entry.js.map +1 -0
  601. package/dist/ui-library/{p-445ba5b8.entry.js → p-878226a0.entry.js} +2 -2
  602. package/dist/ui-library/p-878226a0.entry.js.map +1 -0
  603. package/dist/ui-library/{p-4d408fb4.js → p-8c0971e0.js} +1 -1
  604. package/dist/ui-library/p-8c0971e0.js.map +1 -0
  605. package/dist/ui-library/{p-afcbe9da.entry.js → p-91b51800.entry.js} +2 -2
  606. package/dist/ui-library/p-91b51800.entry.js.map +1 -0
  607. package/dist/ui-library/{p-f0dd77e1.entry.js → p-95fbdd0b.entry.js} +2 -2
  608. package/dist/ui-library/p-95fbdd0b.entry.js.map +1 -0
  609. package/dist/ui-library/{p-9461417e.entry.js → p-99e24daf.entry.js} +2 -2
  610. package/dist/ui-library/p-99e24daf.entry.js.map +1 -0
  611. package/dist/ui-library/{p-ba74863a.js → p-9ace84c7.js} +1 -1
  612. package/dist/ui-library/p-9ace84c7.js.map +1 -0
  613. package/dist/ui-library/{p-d6798d35.entry.js → p-9b354f5d.entry.js} +2 -2
  614. package/dist/ui-library/p-9b354f5d.entry.js.map +1 -0
  615. package/dist/ui-library/{p-3929b0af.entry.js → p-9c1be3fb.entry.js} +2 -2
  616. package/dist/ui-library/p-9c1be3fb.entry.js.map +1 -0
  617. package/dist/ui-library/{p-cdcde4cd.entry.js → p-a0f290d0.entry.js} +2 -2
  618. package/dist/ui-library/p-a0f290d0.entry.js.map +1 -0
  619. package/dist/ui-library/{p-09779e47.entry.js → p-a55c7258.entry.js} +2 -2
  620. package/dist/ui-library/p-a55c7258.entry.js.map +1 -0
  621. package/dist/ui-library/{p-6d75f216.entry.js → p-a6a9ee96.entry.js} +2 -2
  622. package/dist/ui-library/p-a6a9ee96.entry.js.map +1 -0
  623. package/dist/ui-library/{p-73597d13.entry.js → p-ac099e6b.entry.js} +2 -2
  624. package/dist/ui-library/p-ac099e6b.entry.js.map +1 -0
  625. package/dist/ui-library/{p-bd8f8eef.entry.js → p-ae601a0f.entry.js} +2 -2
  626. package/dist/ui-library/p-ae601a0f.entry.js.map +1 -0
  627. package/dist/ui-library/{p-dcd7c547.entry.js → p-b351f889.entry.js} +2 -2
  628. package/dist/ui-library/p-b351f889.entry.js.map +1 -0
  629. package/dist/ui-library/{p-72ca96e1.entry.js → p-c03ebf7d.entry.js} +2 -2
  630. package/dist/ui-library/p-c03ebf7d.entry.js.map +1 -0
  631. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-cd67da3d.entry.js} +2 -2
  632. package/dist/ui-library/p-cd67da3d.entry.js.map +1 -0
  633. package/dist/ui-library/{p-5a34c93e.entry.js → p-cdaed936.entry.js} +2 -2
  634. package/dist/ui-library/p-cdaed936.entry.js.map +1 -0
  635. package/dist/ui-library/{p-0108fe92.entry.js → p-cf49252a.entry.js} +2 -2
  636. package/dist/ui-library/p-cf49252a.entry.js.map +1 -0
  637. package/dist/ui-library/{p-724e154d.entry.js → p-d367f4f9.entry.js} +2 -2
  638. package/dist/ui-library/p-d367f4f9.entry.js.map +1 -0
  639. package/dist/ui-library/{p-2761f908.js → p-d42c2025.js} +2 -2
  640. package/dist/ui-library/p-d42c2025.js.map +1 -0
  641. package/dist/ui-library/{p-686b12ec.entry.js → p-da19c7ce.entry.js} +2 -2
  642. package/dist/ui-library/p-da19c7ce.entry.js.map +1 -0
  643. package/dist/ui-library/{p-820c23f0.entry.js → p-dfed33c5.entry.js} +2 -2
  644. package/dist/ui-library/p-dfed33c5.entry.js.map +1 -0
  645. package/dist/ui-library/{p-c87810b0.entry.js → p-e0b13ad3.entry.js} +2 -2
  646. package/dist/ui-library/p-e0b13ad3.entry.js.map +1 -0
  647. package/dist/ui-library/{p-a49ae60a.entry.js → p-ee8342e1.entry.js} +2 -2
  648. package/dist/ui-library/p-ee8342e1.entry.js.map +1 -0
  649. package/dist/ui-library/{p-8e0b6b7e.entry.js → p-ee950ce2.entry.js} +2 -2
  650. package/dist/ui-library/p-ee950ce2.entry.js.map +1 -0
  651. package/dist/ui-library/{p-87032e26.entry.js → p-f1eb03ba.entry.js} +2 -2
  652. package/dist/ui-library/p-f1eb03ba.entry.js.map +1 -0
  653. package/dist/ui-library/{p-087fdd96.entry.js → p-ff90ffd1.entry.js} +2 -2
  654. package/dist/ui-library/p-ff90ffd1.entry.js.map +1 -0
  655. package/dist/ui-library/ui-library.esm.js +1 -1
  656. package/dist/ui-library/ui-library.esm.js.map +1 -1
  657. package/loader/index.d.ts +1 -1
  658. package/package.json +6 -6
  659. package/dist/cjs/event-listeners-b835dfae.js.map +0 -1
  660. package/dist/cjs/execution-control-45c84c46.js.map +0 -1
  661. package/dist/cjs/focus-visible-e0d93a95.js.map +0 -1
  662. package/dist/cjs/form-8cbd4e0e.js.map +0 -1
  663. package/dist/cjs/form-control-8df00a52.js.map +0 -1
  664. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  665. package/dist/cjs/modal-21350fb5.js.map +0 -1
  666. package/dist/cjs/popover-8885d50f.js.map +0 -1
  667. package/dist/cjs/popup-44836aaf.js.map +0 -1
  668. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  669. package/dist/cjs/slot-bccbdb59.js.map +0 -1
  670. package/dist/cjs/types-64878648.js.map +0 -1
  671. package/dist/esm/event-listeners-535f3ad1.js.map +0 -1
  672. package/dist/esm/execution-control-72cc50f4.js.map +0 -1
  673. package/dist/esm/focus-visible-fa7129a0.js.map +0 -1
  674. package/dist/esm/form-control-785c5f79.js.map +0 -1
  675. package/dist/esm/index-5c0f6628.js.map +0 -1
  676. package/dist/esm/modal-b1d96441.js.map +0 -1
  677. package/dist/esm/polyfills/css-shim.js +0 -1
  678. package/dist/esm/popup-678b8592.js.map +0 -1
  679. package/dist/esm/scroll-180b53fd.js.map +0 -1
  680. package/dist/esm/slot-2e64df19.js.map +0 -1
  681. package/dist/esm/types-4b10b413.js.map +0 -1
  682. package/dist/ui-library/p-0108fe92.entry.js.map +0 -1
  683. package/dist/ui-library/p-03a145f5.entry.js.map +0 -1
  684. package/dist/ui-library/p-087fdd96.entry.js.map +0 -1
  685. package/dist/ui-library/p-09779e47.entry.js.map +0 -1
  686. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  687. package/dist/ui-library/p-0b2c6348.js.map +0 -1
  688. package/dist/ui-library/p-0cc08e91.js.map +0 -1
  689. package/dist/ui-library/p-0fe78f9b.js.map +0 -1
  690. package/dist/ui-library/p-18e9f8b8.entry.js.map +0 -1
  691. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  692. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  693. package/dist/ui-library/p-2761f908.js.map +0 -1
  694. package/dist/ui-library/p-28be55f0.entry.js.map +0 -1
  695. package/dist/ui-library/p-3929b0af.entry.js.map +0 -1
  696. package/dist/ui-library/p-445ba5b8.entry.js.map +0 -1
  697. package/dist/ui-library/p-4d408fb4.js.map +0 -1
  698. package/dist/ui-library/p-502ff3d3.entry.js.map +0 -1
  699. package/dist/ui-library/p-5a34c93e.entry.js.map +0 -1
  700. package/dist/ui-library/p-60621dc6.js.map +0 -1
  701. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  702. package/dist/ui-library/p-66180e89.entry.js.map +0 -1
  703. package/dist/ui-library/p-686b12ec.entry.js.map +0 -1
  704. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  705. package/dist/ui-library/p-71035abf.entry.js.map +0 -1
  706. package/dist/ui-library/p-724e154d.entry.js.map +0 -1
  707. package/dist/ui-library/p-72ca96e1.entry.js.map +0 -1
  708. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  709. package/dist/ui-library/p-778cf804.entry.js.map +0 -1
  710. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  711. package/dist/ui-library/p-87032e26.entry.js.map +0 -1
  712. package/dist/ui-library/p-8cf72af6.js.map +0 -1
  713. package/dist/ui-library/p-8e0b6b7e.entry.js.map +0 -1
  714. package/dist/ui-library/p-912092c0.entry.js.map +0 -1
  715. package/dist/ui-library/p-92ca6a84.entry.js.map +0 -1
  716. package/dist/ui-library/p-9337cdd6.entry.js.map +0 -1
  717. package/dist/ui-library/p-9461417e.entry.js.map +0 -1
  718. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  719. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  720. package/dist/ui-library/p-a49ae60a.entry.js.map +0 -1
  721. package/dist/ui-library/p-a844cb72.entry.js.map +0 -1
  722. package/dist/ui-library/p-ac4f4d45.js +0 -3
  723. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  724. package/dist/ui-library/p-afcbe9da.entry.js.map +0 -1
  725. package/dist/ui-library/p-b3bff992.entry.js.map +0 -1
  726. package/dist/ui-library/p-b4547fb5.entry.js.map +0 -1
  727. package/dist/ui-library/p-ba74863a.js.map +0 -1
  728. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  729. package/dist/ui-library/p-bd8f8eef.entry.js.map +0 -1
  730. package/dist/ui-library/p-c57f16af.entry.js.map +0 -1
  731. package/dist/ui-library/p-c5cdba08.entry.js.map +0 -1
  732. package/dist/ui-library/p-c87810b0.entry.js.map +0 -1
  733. package/dist/ui-library/p-cdcde4cd.entry.js.map +0 -1
  734. package/dist/ui-library/p-d6798d35.entry.js.map +0 -1
  735. package/dist/ui-library/p-d87a6f4d.js.map +0 -1
  736. package/dist/ui-library/p-dc3f5996.entry.js.map +0 -1
  737. package/dist/ui-library/p-dcd7c547.entry.js.map +0 -1
  738. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  739. package/dist/ui-library/p-e07b3f0c.entry.js.map +0 -1
  740. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  741. package/dist/ui-library/p-e8feb81f.entry.js.map +0 -1
  742. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  743. package/dist/ui-library/p-ef3936e5.entry.js.map +0 -1
  744. package/dist/ui-library/p-f0dd77e1.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isTabbable","el","tabIndex","getNearestTabbableElement","shadowRoot","tabbableShadowChild","children","find","e","map","at","undefined","sixDropdownCss","isTagName","name","tagName","toLowerCase","isSixMenu","isSixMenuItem","id","SixDropdown","this","componentId","isVisible","hasBeenInitialized","eventListeners","EventListeners","getMenuItems","filteredOptions","length","option","h","value","label","panel","getSlotChildren","Array","from","querySelectorAll","handleFilterInputChange","filterInputElement","lowerCaseFilterTerm","_b","_a","trim","handleFilteringForAttributeItems","handleFilteringForSlotItems","sixAutoFilter","emit","filterValue","handleDocumentKeyDown","event","keyboardEvent","key","hide","focusOnTrigger","host","activeElement","item","style","display","setFocus","open","document","preventDefault","setTimeout","container","getRootNode","ShadowRoot","closest","handleDocumentMouseDown","path","composedPath","includes","handlePanelSelect","target","closeOnSelect","handleTriggerClick","show","handleTriggerKeyDown","disableHideOnEnterAndSpace","menu","getMenu","menuItems","firstMenuItem","lastMenuItem","ignoredKeys","typeToSelect","handleTriggerKeyUp","handleTriggerSlotChange","updateAccessibleTrigger","handleDropdownScroll","sixScroll","scrollHeight","scrollTop","scrollbarHeight","offsetHeight","scrollRatio","clientHeight","DEFAULT_DEBOUNCE_FAST","hasFilterEnabled","filter","asyncFilter","containingElement","handleOpenChange","handlePopoverOptionsChange","popover","setOptions","strategy","hoist","placement","distance","skidding","handleOptionsChange","isArray","options","connectedCallback","virtualScroll","console","error","initializePopover","componentDidLoad","setupFiltering","sixAsyncFilterFired","trigger","positioner","onAfterHide","forEach","sixAfterHide","onAfterShow","async","autofocusFilter","sixAfterShow","onTransitionEnd","Popover","transitionElement","callback","add","debounce","filterDebounce","String","_d","_c","menuItem","elementContainsFilterTerm","getTextLabel","disconnectedCallback","removeAll","destroy","sixShow","defaultPrevented","sixHide","remove","focus","reposition","accessibleTrigger","setAttribute","render","part","class","dropdown","ref","onClick","onKeyDown","onKeyUp","onSlotchange","dropdown__positioner","dropdown__positioner__filtered","placeholder","filterPlaceholder","role","onScroll","items","sixMenuCss","isFocusedMenuItem","querySelector","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","componentWillLoad","setupForVirtualScrollingAfterRendering","clearTimeout","typeToSelectTimeout","getItems","slot","getTextContent","substring","getItemsShown","defaultItemsShown","itemsShown","scrollingDebounce","menuItemHeight","assignedElements","flatten","disabled","getActiveItemIndex","selectedItem","getActiveItem","itemIndex","indexOf","sixMenuItems","extractItemsFromDOM","findIndex","i","setActiveItem","clickedItem","sixMenuItemSelected","activeItem","indexOfActiveItem","getMenuWrapperStyle","styles","height","Object","assign","getMenuContainerStyle","transform","getScrollbarGhostStyle","itemSize","renderItems","slice","min","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 max-height: 50vh;\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 box-shadow: var(--six-elevation-2dp);\n opacity: 0;\n overflow: auto;\n overscroll-behavior: none;\n pointer-events: none;\n transform: scale(0.9);\n transition: var(--six-transition-fast) opacity, var(--six-transition-fast) transform;\n // fix for firefox scrollbar\n scrollbar-width: thin;\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","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 { getSlotChildren } from '../../utils/slot';\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\nconst isTagName =\n (name: string) =>\n <T extends Element>(el?: T) =>\n el?.tagName.toLowerCase() === name.toLowerCase();\nconst isSixMenu = isTagName('six-menu');\nconst isSixMenuItem = isTagName('six-menu-item');\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 - 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 positioner?: HTMLElement;\n private popover?: Popover;\n private trigger?: HTMLElement;\n private hasBeenInitialized = false;\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 @Prop() closeOnSelect = true;\n\n /** The distance in pixels from which to offset the panel away from its trigger. */\n @Prop() distance = 0;\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 @Prop() autofocusFilter = true;\n\n get hasFilterEnabled() {\n return this.filter || this.asyncFilter;\n }\n\n /** The debounce for the filter callbacks. */\n @Prop() filterDebounce = DEFAULT_DEBOUNCE_FAST;\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() 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 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() filteredOptions: 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 handleOptionsChange() {\n if (Array.isArray(this.options)) {\n this.filteredOptions = [...this.options];\n }\n }\n\n connectedCallback() {\n if (this.virtualScroll && this.options === null) {\n console.error('Options must be defined when using virtual scrolling');\n }\n\n if (Array.isArray(this.options)) {\n this.filteredOptions = [...this.options];\n }\n\n if (this.hasBeenInitialized && this.popover == null) {\n // there was a weird bug when using six-dropdown inside an ag-grid filter. When closing the ag-grid filter\n // disconnectedCallback() is executed. However, since componentDidLoad() will not be rerendered the popover had\n // no longer a connected transitionEnd callback to the dropdown. To fix this, we have this sanity check here,\n // to re-initialize the popover in case the component has already been initialized but the popover is undefined.\n this.initializePopover();\n }\n }\n\n componentDidLoad() {\n this.hasBeenInitialized = true;\n this.initializePopover();\n\n // Show on init if open\n if (this.open) {\n void this.show();\n }\n\n if (this.filter) {\n this.setupFiltering(this.handleFilterInputChange);\n } else if (this.asyncFilter) {\n this.setupFiltering(() => this.sixAsyncFilterFired.emit({ filterValue: this.filterInputElement?.value ?? '' }));\n }\n }\n\n private initializePopover() {\n if (this.trigger == null || this.positioner == null) return;\n const onAfterHide = () => {\n if (this.filter && this.filterInputElement != null) {\n this.filterInputElement.value = '';\n\n if (this.filteredOptions.length > 0) {\n this.filteredOptions = [...this.options];\n } else {\n const menuItems = this.getMenuItems();\n menuItems.forEach((item) => (item.style.display = 'unset'));\n }\n }\n\n this.sixAfterHide.emit();\n };\n\n const onAfterShow = async () => {\n if (this.hasFilterEnabled && this.autofocusFilter) {\n // if dropdown filter is enabled we should autofocus the search field\n await this.filterInputElement?.setFocus();\n }\n\n this.sixAfterShow.emit();\n };\n\n const onTransitionEnd = () => {\n if (!this.open && this.panel != null) {\n this.panel.scrollTop = 0;\n }\n };\n\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 onAfterShow,\n onTransitionEnd,\n });\n }\n\n private setupFiltering(callback: () => void) {\n if (this.filterInputElement != null) {\n this.eventListeners.add(this.filterInputElement, 'six-input-input', debounce(callback, this.filterDebounce));\n }\n }\n\n private getMenuItems = (): HTMLSixMenuItemElement[] => {\n if (this.filteredOptions.length > 0) {\n return this.filteredOptions.map((option) => <six-menu-item value={option.value}>{option.label}</six-menu-item>);\n }\n if (this.panel == null) return [];\n\n const [panel] = getSlotChildren<HTMLSixMenuElement>(this.panel);\n\n // the menu-items can be in a slot e.g. in six-select or direct children of the panel\n return getSlotChildren(panel) || Array.from(panel.querySelectorAll('six-menu-item'));\n };\n\n private handleFilterInputChange = () => {\n if (this.filterInputElement == null) return;\n\n const lowerCaseFilterTerm = this.filterInputElement.value?.toLowerCase()?.trim() || '';\n\n if (this.filteredOptions.length > 0) {\n this.handleFilteringForAttributeItems(lowerCaseFilterTerm);\n } else {\n this.handleFilteringForSlotItems(lowerCaseFilterTerm);\n }\n\n this.sixAutoFilter.emit({ filterValue: lowerCaseFilterTerm });\n };\n\n private handleFilteringForAttributeItems(lowerCaseFilterTerm: string) {\n if (lowerCaseFilterTerm === '' && Array.isArray(this.options)) {\n this.filteredOptions = [...this.options];\n return;\n }\n\n this.filteredOptions = 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 }\n\n private handleFilteringForSlotItems(lowerCaseFilterTerm: string) {\n const menuItems = this.getMenuItems();\n menuItems.forEach(async (menuItem) => {\n // hide all elements which don't contain the entered substring\n const elementContainsFilterTerm =\n menuItem?.value?.toLowerCase()?.includes(lowerCaseFilterTerm) ||\n (await menuItem?.getTextLabel())?.toLowerCase()?.includes(lowerCaseFilterTerm);\n\n menuItem.style.display = elementContainsFilterTerm ? 'unset' : 'none';\n });\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n\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 this.popover.show();\n }\n\n /** Hides the dropdown panel */\n @Method()\n async hide() {\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] = getSlotChildren<HTMLSixButtonElement>(this.trigger);\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 if (this.panel == null) return;\n return getSlotChildren<HTMLSixMenuElement>(this.panel).filter(isSixMenu).at(0);\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 @Method()\n async reposition() {\n if (!this.open || this.popover == null) {\n return;\n }\n this.popover.reposition();\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 item = this.getMenuItems().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.panel == null) return;\n\n this.sixScroll.emit({\n scrollHeight: this.panel.scrollHeight,\n scrollTop: this.panel.scrollTop,\n scrollbarHeight: this.panel.offsetHeight * (this.panel.offsetHeight / this.panel.scrollHeight),\n scrollRatio: this.panel.scrollTop / (this.panel.scrollHeight - this.panel.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\n const accessibleTrigger = getSlotChildren(this.trigger).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 name=\"trigger\" onSlotchange={this.handleTriggerSlotChange} />\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 {this.hasFilterEnabled && (\n <six-input\n class={{\n 'filter-hidden': !this.open,\n }}\n aria-hidden={this.open ? 'false' : 'true'}\n ref={(el) => (this.filterInputElement = el)}\n placeholder={this.filterPlaceholder}\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 onScroll={this.handleDropdownScroll}\n >\n <slot />\n {this.filteredOptions.length > 0 && (\n <six-menu part=\"menu\" items={this.filteredOptions} virtualScroll={this.virtualScroll}></six-menu>\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n","@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu {\n padding: 0 0;\n border: none;\n box-shadow: var(--six-elevation-2dp);\n\n &:focus {\n outline: none;\n }\n\n &--noshadow {\n box-shadow: none;\n }\n\n &__wrapper {\n &--scrollable {\n overflow-y: auto;\n }\n }\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) => <six-menu-item value={value}>{label}</six-menu-item>;\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 * 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 // 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(mapToMenuItem);\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 'menu--noshadow': this.removeBoxShadow,\n 'menu__wrapper--scrollable': this.getItemsShown() > 0,\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 +1,2 @@
1
- import{r as i,c as s,h as t}from"./p-ac4f4d45.js";import{s as e}from"./p-eb8f05a9.js";const o=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block;height:100%}.sidebar__container{height:100%;overflow:auto}.sidebar__container.sidebar--open{box-shadow:var(--six-elevation-1dp)}.sidebar__container:not(.sidebar--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.sidebar--left{color:var(--six-sidebar-color);background-color:var(--six-sidebar-background-color);transition:var(--six-transition-medium) margin-left;background-size:300vw 70%;background-position:bottom;background-repeat:no-repeat}.sidebar--right{transition:var(--six-transition-medium) margin-right}.sidebar--open.sidebar--left{margin-right:2px}.sidebar--open.sidebar--right{margin-left:2px}";const n=i=>{var s;return((s=i===null||i===void 0?void 0:i.tagName)===null||s===void 0?void 0:s.toLowerCase())==="six-sidebar-item-group"};const r=class{constructor(t){i(this,t);this.sixShow=s(this,"six-sidebar-show",7);this.sixAfterShow=s(this,"six-sidebar-after-show",7);this.sixHide=s(this,"six-sidebar-hide",7);this.sixAfterHide=s(this,"six-sidebar-after-hide",7);this.sixInitialFocus=s(this,"six-sidebar-initial-focus",7);this.willShow=false;this.willHide=false;this.handleTransitionEnd=i=>{const s=i.target;if(i.type==="transitionend"&&s.classList.contains("sidebar__container")){this.resetTransitionVariables()}};this.closeSiblingDetailsOnShow=i=>{const s=i.target;if(this.sidebar!=null){e(s,this.sidebar)}const t=i=>{var t;let e=s;while(i(e)!=null){e=i(e);if(n(e)){const i=(t=e===null||e===void 0?void 0:e.shadowRoot)===null||t===void 0?void 0:t.querySelector("six-details");if(i!=null){i.open=false}}}};t((i=>i===null||i===void 0?void 0:i.previousElementSibling));t((i=>i===null||i===void 0?void 0:i.nextElementSibling))};this.isVisible=false;this.position="left";this.open=false;this.width="16rem";this.toggled=false}handleOpenChange(){this.open?this.show():this.hide()}componentWillLoad(){if(this.open){void this.show();this.resetTransitionVariables()}}componentDidRender(){this.setupTogglableMenuItems()}disconnectedCallback(){var i;(i=this.sidebar)===null||i===void 0?void 0:i.removeEventListener("six-details-show",this.closeSiblingDetailsOnShow)}setupTogglableMenuItems(){if(!this.toggled||this.sidebar==null)return;this.markAllMenuItemsAsSelectableEmpty();this.sidebar.addEventListener("six-details-show",this.closeSiblingDetailsOnShow)}markAllMenuItemsAsSelectableEmpty(){var i;const s=(i=this.sidebar)===null||i===void 0?void 0:i.querySelector("slot");const t=(s===null||s===void 0?void 0:s.assignedElements())||[];const e=[];while(t.length>0){const i=t.pop();if((i===null||i===void 0?void 0:i.shadowRoot)==null){continue}const s=i.shadowRoot.querySelectorAll("six-details");e.push(...s);const o=Array.from(i.children).filter(n);t.push(...o)}e.forEach((i=>i.selectableEmpty=true))}async toggle(){if(this.willShow||this.willHide){return}if(this.open){await this.hide()}else{await this.show()}}async show(){if(this.willShow){return}const i=this.sixShow.emit();if(i.defaultPrevented){this.open=false;return}this.willShow=true;this.isVisible=true;this.open=true}async hide(){if(this.willHide){return}const i=this.sixHide.emit();if(i.defaultPrevented){this.open=true;return}this.willHide=true;this.open=false}async selectItemByIndex(i){if(this.sidebar==null)return;const s=this.sidebar.querySelector("slot");const t=((s===null||s===void 0?void 0:s.assignedElements())||[]).flatMap((i=>{var s;const t=(s=i.shadowRoot)===null||s===void 0?void 0:s.querySelector("six-details");if(t==null){return[]}return[t]}));if(i<0||i>t.length-1){console.error(`Tried to access sidebar menu item by index, but provided index out of range. Provided index: ${i}`);return}await t[i].show()}async selectItemByName(i){var s,t,e;const o=(s=this.sidebar)===null||s===void 0?void 0:s.querySelector("slot");const n=o===null||o===void 0?void 0:o.assignedElements();if(n==null){return}const r=n.findIndex((s=>(s===null||s===void 0?void 0:s.name)===i));const a=(e=(t=n.at(r))===null||t===void 0?void 0:t.shadowRoot)===null||e===void 0?void 0:e.querySelector("six-details");await(a===null||a===void 0?void 0:a.show())}resetTransitionVariables(){this.isVisible=this.open;this.willShow=false;this.willHide=false;this.open?this.sixAfterShow.emit():this.sixAfterHide.emit()}render(){return t("host",{class:"six-sidebar"},t("div",{class:{sidebar__container:true,"sidebar--visible":this.isVisible,"sidebar--open":this.open,"sidebar--left":this.position==="left","sidebar--right":this.position==="right"},style:{width:this.width,[`margin-${this.position}`]:this.open?"0":`calc(1rem - ${this.width})`},ref:i=>this.sidebar=i,"aria-hidden":this.open?"false":"true",onTransitionEnd:this.handleTransitionEnd},t("slot",null)))}static get watchers(){return{open:["handleOpenChange"]}}};r.style=o;export{r as six_sidebar};
2
- //# sourceMappingURL=p-66180e89.entry.js.map
1
+ import{r as i,c as s,h as t}from"./p-6153045b.js";import{s as e}from"./p-1f18768a.js";const o=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block;height:100%}.sidebar__container{height:100%;overflow:auto}.sidebar__container.sidebar--open{box-shadow:var(--six-elevation-1dp)}.sidebar__container:not(.sidebar--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.sidebar--left{color:var(--six-sidebar-color);background-color:var(--six-sidebar-background-color);transition:var(--six-transition-medium) margin-left;background-size:300vw 70%;background-position:bottom;background-repeat:no-repeat}.sidebar--right{transition:var(--six-transition-medium) margin-right}.sidebar--open.sidebar--left{margin-right:2px}.sidebar--open.sidebar--right{margin-left:2px}";const n=i=>{var s;return((s=i===null||i===void 0?void 0:i.tagName)===null||s===void 0?void 0:s.toLowerCase())==="six-sidebar-item-group"};const r=class{constructor(t){i(this,t);this.sixShow=s(this,"six-sidebar-show",7);this.sixAfterShow=s(this,"six-sidebar-after-show",7);this.sixHide=s(this,"six-sidebar-hide",7);this.sixAfterHide=s(this,"six-sidebar-after-hide",7);this.sixInitialFocus=s(this,"six-sidebar-initial-focus",7);this.willShow=false;this.willHide=false;this.handleTransitionEnd=i=>{const s=i.target;if(i.type==="transitionend"&&s.classList.contains("sidebar__container")){this.resetTransitionVariables()}};this.closeSiblingDetailsOnShow=i=>{const s=i.target;if(this.sidebar!=null){e(s,this.sidebar)}const t=i=>{var t;let e=s;while(i(e)!=null){e=i(e);if(n(e)){const i=(t=e===null||e===void 0?void 0:e.shadowRoot)===null||t===void 0?void 0:t.querySelector("six-details");if(i!=null){i.open=false}}}};t((i=>i===null||i===void 0?void 0:i.previousElementSibling));t((i=>i===null||i===void 0?void 0:i.nextElementSibling))};this.isVisible=false;this.position="left";this.open=false;this.width="16rem";this.toggled=false}handleOpenChange(){this.open?this.show():this.hide()}componentWillLoad(){if(this.open){void this.show();this.resetTransitionVariables()}}componentDidRender(){this.setupTogglableMenuItems()}disconnectedCallback(){var i;(i=this.sidebar)===null||i===void 0?void 0:i.removeEventListener("six-details-show",this.closeSiblingDetailsOnShow)}setupTogglableMenuItems(){if(!this.toggled||this.sidebar==null)return;this.markAllMenuItemsAsSelectableEmpty();this.sidebar.addEventListener("six-details-show",this.closeSiblingDetailsOnShow)}markAllMenuItemsAsSelectableEmpty(){var i;const s=(i=this.sidebar)===null||i===void 0?void 0:i.querySelector("slot");const t=(s===null||s===void 0?void 0:s.assignedElements())||[];const e=[];while(t.length>0){const i=t.pop();if((i===null||i===void 0?void 0:i.shadowRoot)==null){continue}const s=i.shadowRoot.querySelectorAll("six-details");e.push(...s);const o=Array.from(i.children).filter(n);t.push(...o)}e.forEach((i=>i.selectableEmpty=true))}async toggle(){if(this.willShow||this.willHide){return}if(this.open){await this.hide()}else{await this.show()}}async show(){if(this.willShow){return}const i=this.sixShow.emit();if(i.defaultPrevented){this.open=false;return}this.willShow=true;this.isVisible=true;this.open=true}async hide(){if(this.willHide){return}const i=this.sixHide.emit();if(i.defaultPrevented){this.open=true;return}this.willHide=true;this.open=false}async selectItemByIndex(i){if(this.sidebar==null)return;const s=this.sidebar.querySelector("slot");const t=((s===null||s===void 0?void 0:s.assignedElements())||[]).flatMap((i=>{var s;const t=(s=i.shadowRoot)===null||s===void 0?void 0:s.querySelector("six-details");if(t==null){return[]}return[t]}));if(i<0||i>t.length-1){console.error(`Tried to access sidebar menu item by index, but provided index out of range. Provided index: ${i}`);return}await t[i].show()}async selectItemByName(i){var s,t,e;const o=(s=this.sidebar)===null||s===void 0?void 0:s.querySelector("slot");const n=o===null||o===void 0?void 0:o.assignedElements();if(n==null){return}const r=n.findIndex((s=>(s===null||s===void 0?void 0:s.name)===i));const a=(e=(t=n.at(r))===null||t===void 0?void 0:t.shadowRoot)===null||e===void 0?void 0:e.querySelector("six-details");await(a===null||a===void 0?void 0:a.show())}resetTransitionVariables(){this.isVisible=this.open;this.willShow=false;this.willHide=false;this.open?this.sixAfterShow.emit():this.sixAfterHide.emit()}render(){return t("host",{class:"six-sidebar"},t("div",{class:{sidebar__container:true,"sidebar--visible":this.isVisible,"sidebar--open":this.open,"sidebar--left":this.position==="left","sidebar--right":this.position==="right"},style:{width:this.width,[`margin-${this.position}`]:this.open?"0":`calc(1rem - ${this.width})`},ref:i=>this.sidebar=i,"aria-hidden":this.open?"false":"true",onTransitionEnd:this.handleTransitionEnd},t("slot",null)))}static get watchers(){return{open:["handleOpenChange"]}}};r.style=o;export{r as six_sidebar};
2
+ //# sourceMappingURL=p-330a4988.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sixSidebarCss","isSidebarItemGroup","node","_a","tagName","toLowerCase","SixSidebar","this","willShow","willHide","handleTransitionEnd","event","target","type","classList","contains","resetTransitionVariables","closeSiblingDetailsOnShow","clickedMenuItem","sidebar","scrollIntoView","closeAllSiblingsBySiblingProperty","getSibling","detailsElement","shadowRoot","querySelector","open","previousElementSibling","nextElementSibling","handleOpenChange","show","hide","componentWillLoad","componentDidRender","setupTogglableMenuItems","disconnectedCallback","removeEventListener","toggled","markAllMenuItemsAsSelectableEmpty","addEventListener","slot","nodes","assignedElements","menuItems","length","pop","menuItemsForCurrentNode","querySelectorAll","push","newItemGroups","Array","from","children","filter","forEach","details","selectableEmpty","toggle","sixShow","emit","defaultPrevented","isVisible","sixHide","selectItemByIndex","index","menuItemsOnRootLevel","flatMap","el","console","error","selectItemByName","value","sidebarItemGroups","indexOfSelectedElement","findIndex","name","selectedItem","_c","_b","at","sixAfterShow","sixAfterHide","render","h","class","sidebar__container","position","style","width","ref","onTransitionEnd"],"sources":["src/components/six-sidebar/six-sidebar.scss?tag=six-sidebar&encapsulation=shadow","src/components/six-sidebar/six-sidebar.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n@import 'src/global/mixins/scrollbar';\n\n:host {\n display: block;\n height: 100%;\n}\n\n.sidebar {\n &__container {\n // scroll\n height: 100%;\n overflow: auto;\n\n &.sidebar--open {\n box-shadow: var(--six-elevation-1dp);\n }\n\n &:not(.sidebar--visible) {\n @include hidden;\n }\n }\n\n &--left {\n color: var(--six-sidebar-color);\n background-color: var(--six-sidebar-background-color);\n // collapse\n transition: var(--six-transition-medium) margin-left;\n // six background\n background-size: 300vw 70%;\n background-position: bottom;\n background-repeat: no-repeat;\n }\n\n &--right {\n // collapse\n transition: var(--six-transition-medium) margin-right;\n }\n\n // if the sidebar is embedded within six-root it cuts-off the border styling, for thus we need to guarante a margin\n &--open {\n &.sidebar--left {\n margin-right: 2px;\n }\n\n &.sidebar--right {\n margin-left: 2px;\n }\n }\n}\n","import { Component, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\nimport { scrollIntoView } from '../../utils/scroll';\n\nconst isSidebarItemGroup = (node?: Element | null): boolean =>\n node?.tagName?.toLowerCase() === 'six-sidebar-item-group';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the nested side bar [group] items.\n */\n\n@Component({\n tag: 'six-sidebar',\n styleUrl: 'six-sidebar.scss',\n shadow: true,\n})\nexport class SixSidebar {\n private willShow = false;\n private willHide = false;\n\n private sidebar?: HTMLElement;\n\n @State() isVisible = false;\n\n /** Sidebar position */\n @Prop() position: 'left' | 'right' = 'left';\n\n /** Indicates whether the sidebar is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Sidebar width */\n @Prop() width = '16rem';\n\n /** Define whether sidebar is toggled meaning only one menu can be open at the same time*/\n @Prop() toggled = false;\n\n /** Emitted when the sidebar opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-sidebar-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the sidebar opens and all transitions are complete. */\n @Event({ eventName: 'six-sidebar-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the sidebar closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-sidebar-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the sidebar closes and all transitions are complete. */\n @Event({ eventName: 'six-sidebar-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when the sidebar opens and the panel gains focus. Calling `event.preventDefault()` will prevent focus and\n * allow you to set it on a different element in the sidebar, such as an input or button.\n */\n @Event({ eventName: 'six-sidebar-initial-focus' }) sixInitialFocus!: EventEmitter<EmptyPayload>;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n private handleTransitionEnd = (event: TransitionEvent) => {\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.type === 'transitionend' && target.classList.contains('sidebar__container')) {\n this.resetTransitionVariables();\n }\n };\n\n componentWillLoad() {\n // Show on init if open\n if (this.open) {\n void this.show();\n // if the sidebar is open by default we need to manually reset the\n // transition variables since there will be no transition event\n this.resetTransitionVariables();\n }\n }\n\n componentDidRender() {\n this.setupTogglableMenuItems();\n }\n\n disconnectedCallback() {\n this.sidebar?.removeEventListener('six-details-show', this.closeSiblingDetailsOnShow);\n }\n\n private closeSiblingDetailsOnShow = (event: Event) => {\n const clickedMenuItem = event.target as HTMLElement;\n if (this.sidebar != null) {\n scrollIntoView(clickedMenuItem, this.sidebar);\n }\n\n const closeAllSiblingsBySiblingProperty = (\n getSibling: (node: Element | null | undefined) => Element | null | undefined\n ) => {\n let node: Element | null | undefined = clickedMenuItem;\n while (getSibling(node) != null) {\n node = getSibling(node);\n if (isSidebarItemGroup(node)) {\n const detailsElement = node?.shadowRoot?.querySelector('six-details');\n if (detailsElement != null) {\n detailsElement.open = false;\n }\n }\n }\n };\n\n // close all previous siblings\n closeAllSiblingsBySiblingProperty((node) => node?.previousElementSibling);\n // close all further siblings\n closeAllSiblingsBySiblingProperty((node) => node?.nextElementSibling);\n };\n\n private setupTogglableMenuItems() {\n if (!this.toggled || this.sidebar == null) return;\n this.markAllMenuItemsAsSelectableEmpty();\n this.sidebar.addEventListener('six-details-show', this.closeSiblingDetailsOnShow);\n }\n\n private markAllMenuItemsAsSelectableEmpty() {\n // when you have a toggled menu you also want to close other menu items when you click on an item without children\n // nice benefit this item will then also be highlighted\n const slot = this.sidebar?.querySelector('slot');\n const nodes = slot?.assignedElements() || [];\n\n // since we don't just want to make the top level empty menuItems selectable in toggled mode,\n // but also nested items we need to traverse the whole menu item tree\n const menuItems = [];\n while (nodes.length > 0) {\n const node = nodes.pop();\n if (node?.shadowRoot == null) {\n continue;\n }\n\n // collect six-details in the current shadowDOM\n const menuItemsForCurrentNode = node.shadowRoot.querySelectorAll('six-details');\n menuItems.push(...menuItemsForCurrentNode);\n\n // collect all six-sidebar-item-group children of the current node to afterwards check their shadowDOM too\n const newItemGroups = Array.from(node.children).filter(isSidebarItemGroup);\n nodes.push(...newItemGroups);\n }\n\n menuItems.forEach((details) => (details.selectableEmpty = true));\n }\n\n /** Toggles whether the sidebar should be shown or hidden */\n @Method()\n async toggle() {\n if (this.willShow || this.willHide) {\n return;\n }\n\n if (this.open) {\n await this.hide();\n } else {\n await this.show();\n }\n }\n\n /** Shows the sidebar */\n @Method()\n async show() {\n if (this.willShow) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.willShow = true;\n this.isVisible = true;\n this.open = true;\n }\n\n /** Hides the sidebar */\n @Method()\n async hide() {\n if (this.willHide) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.willHide = true;\n this.open = false;\n }\n\n /** Allows to select a menu item programmatically by index */\n @Method()\n async selectItemByIndex(index: number) {\n if (this.sidebar == null) return;\n\n const slot = this.sidebar.querySelector('slot');\n const menuItemsOnRootLevel: HTMLSixDetailsElement[] = (slot?.assignedElements() || []).flatMap((el) => {\n const detailsElement = el.shadowRoot?.querySelector('six-details');\n if (detailsElement == null) {\n return [];\n }\n return [detailsElement];\n });\n if (index < 0 || index > menuItemsOnRootLevel.length - 1) {\n console.error(\n `Tried to access sidebar menu item by index, but provided index out of range. Provided index: ${index}`\n );\n return;\n }\n await menuItemsOnRootLevel[index].show();\n }\n\n /** Allows to select a menu item programmatically by name */\n @Method()\n async selectItemByName(value: string) {\n const slot = this.sidebar?.querySelector('slot');\n const sidebarItemGroups = slot?.assignedElements() as HTMLSixSidebarItemGroupElement[];\n if (sidebarItemGroups == null) {\n return;\n }\n\n const indexOfSelectedElement = sidebarItemGroups.findIndex((el) => el?.name === value);\n const selectedItem = sidebarItemGroups.at(indexOfSelectedElement)?.shadowRoot?.querySelector('six-details');\n await selectedItem?.show();\n }\n\n private resetTransitionVariables() {\n this.isVisible = this.open;\n this.willShow = false;\n this.willHide = false;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n\n render() {\n return (\n <host class=\"six-sidebar\">\n <div\n class={{\n sidebar__container: true,\n 'sidebar--visible': this.isVisible,\n 'sidebar--open': this.open,\n 'sidebar--left': this.position === 'left',\n 'sidebar--right': this.position === 'right',\n }}\n style={{\n width: this.width,\n [`margin-${this.position}`]: this.open ? '0' : `calc(1rem - ${this.width})`,\n }}\n ref={(el) => (this.sidebar = el)}\n aria-hidden={this.open ? 'false' : 'true'}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <slot />\n </div>\n </host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r,h as i}from"./p-ac4f4d45.js";const o=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block}.menu-divider{border-top:solid var(--six-border-width) var(--six-menu-divider-color);margin:0}";const e=class{constructor(i){r(this,i)}render(){return i("div",{part:"base",class:"menu-divider",role:"separator","aria-hidden":"true"})}};e.style=o;export{e as six_menu_divider};
2
- //# sourceMappingURL=p-21859bca.entry.js.map
1
+ import{r,h as i}from"./p-6153045b.js";const o=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block}.menu-divider{border-top:solid var(--six-border-width) var(--six-menu-divider-color);margin:0}";const e=class{constructor(i){r(this,i)}render(){return i("div",{part:"base",class:"menu-divider",role:"separator","aria-hidden":"true"})}};e.style=o;export{e as six_menu_divider};
2
+ //# sourceMappingURL=p-346f9557.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sixMenuDividerCss","SixMenuDivider","render","h","part","class","role"],"sources":["src/components/six-menu-divider/six-menu-divider.scss?tag=six-menu-divider&encapsulation=shadow","src/components/six-menu-divider/six-menu-divider.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu-divider {\n border-top: solid var(--six-border-width) var(--six-menu-divider-color);\n margin: 0;\n}\n","import { Component, h } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @part base - The component's base wrapper.\n */\n\n@Component({\n tag: 'six-menu-divider',\n styleUrl: 'six-menu-divider.scss',\n shadow: true,\n})\nexport class SixMenuDivider {\n render() {\n return <div part=\"base\" class=\"menu-divider\" role=\"separator\" aria-hidden=\"true\" />;\n }\n}\n"],"mappings":"sCAAA,MAAMA,EAAoB,2N,MCgBbC,EAAc,M,yBACzB,MAAAC,GACE,OAAOC,EAAA,OAAKC,KAAK,OAAOC,MAAM,eAAeC,KAAK,YAAW,cAAa,Q"}
@@ -1,2 +1,2 @@
1
- import{r as s,c as i,h as t}from"./p-ac4f4d45.js";import{D as e,a as h}from"./p-8cf72af6.js";import{E as a}from"./p-60621dc6.js";const o=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block}.search-box{z-index:var(--six-z-index-search-field)}.search-box__icon{cursor:pointer}";const r=class{constructor(t){s(this,t);this.searchFieldChange=i(this,"six-search-field-change",7);this.eventListeners=new a;this.handleInputChange=()=>{if(this.inputElement!=null){this.searchFieldChange.emit({value:this.inputElement.value})}};this.placeholder=undefined;this.debounce=e;this.disabled=false;this.value="";this.clearable=false}handleValueChange(){if(this.inputElement!=null){this.inputElement.value=this.value}}componentDidLoad(){if(this.inputElement==null)return;this.eventListeners.add(this.inputElement,"six-input-input",h(this.handleInputChange,this.debounce));this.eventListeners.add(this.inputElement,"keydown",(s=>{const i=s;if(i.key==="Enter"){this.handleInputChange()}}))}disconnectedCallback(){this.eventListeners.removeAll()}render(){return t("div",{class:"search-box"},t("six-input",{ref:s=>this.inputElement=s,placeholder:this.placeholder,value:this.value,disabled:this.disabled,clearable:this.clearable},t("six-icon",{class:"search-box__icon",slot:"prefix",size:"small",onClick:this.handleInputChange},"search")),t("slot",null))}static get watchers(){return{value:["handleValueChange"]}}};r.style=o;export{r as six_search_field};
2
- //# sourceMappingURL=p-03a145f5.entry.js.map
1
+ import{r as s,c as i,h as t}from"./p-6153045b.js";import{D as e,a as h}from"./p-698bb2c8.js";import{E as a}from"./p-7d95def3.js";const o=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block}.search-box{z-index:var(--six-z-index-search-field)}.search-box__icon{cursor:pointer}";const r=class{constructor(t){s(this,t);this.searchFieldChange=i(this,"six-search-field-change",7);this.eventListeners=new a;this.handleInputChange=()=>{if(this.inputElement!=null){this.searchFieldChange.emit({value:this.inputElement.value})}};this.placeholder=undefined;this.debounce=e;this.disabled=false;this.value="";this.clearable=false}handleValueChange(){if(this.inputElement!=null){this.inputElement.value=this.value}}componentDidLoad(){if(this.inputElement==null)return;this.eventListeners.add(this.inputElement,"six-input-input",h(this.handleInputChange,this.debounce));this.eventListeners.add(this.inputElement,"keydown",(s=>{const i=s;if(i.key==="Enter"){this.handleInputChange()}}))}disconnectedCallback(){this.eventListeners.removeAll()}render(){return t("div",{class:"search-box"},t("six-input",{ref:s=>this.inputElement=s,placeholder:this.placeholder,value:this.value,disabled:this.disabled,clearable:this.clearable},t("six-icon",{class:"search-box__icon",slot:"prefix",size:"small",onClick:this.handleInputChange},"search")),t("slot",null))}static get watchers(){return{value:["handleValueChange"]}}};r.style=o;export{r as six_search_field};
2
+ //# sourceMappingURL=p-37557787.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sixSearchFieldCss","SixSearchField","this","eventListeners","EventListeners","handleInputChange","inputElement","searchFieldChange","emit","value","DEFAULT_DEBOUNCE_FAST","handleValueChange","componentDidLoad","add","debounce","event","keyboardEvent","key","disconnectedCallback","removeAll","render","h","class","ref","el","placeholder","disabled","clearable","slot","size","onClick"],"sources":["src/components/six-search-field/six-search-field.scss?tag=six-search-field&encapsulation=shadow","src/components/six-search-field/six-search-field.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.search-box {\n z-index: var(--six-z-index-search-field);\n\n &__icon {\n cursor: pointer;\n }\n}\n","import { Component, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\n\nexport interface SixSearchFieldChangePayload {\n value: string;\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the results below the search component.\n */\n\n@Component({\n tag: 'six-search-field',\n styleUrl: 'six-search-field.scss',\n shadow: true,\n})\nexport class SixSearchField {\n /** The input's placeholder text. */\n @Prop() placeholder?: string;\n\n /** Debounce time in milliseconds, default is 300 ms */\n @Prop({ reflect: true }) debounce = DEFAULT_DEBOUNCE_FAST;\n\n /** Set to true to disable the input. */\n @Prop({ reflect: true }) disabled = false;\n\n /** The input's value attribute. */\n @Prop({ reflect: true }) value = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Emitted when a search is triggered */\n @Event({ eventName: 'six-search-field-change' }) searchFieldChange!: EventEmitter<SixSearchFieldChangePayload>;\n\n private inputElement?: HTMLSixInputElement;\n\n private eventListeners = new EventListeners();\n\n private handleInputChange = () => {\n if (this.inputElement != null) {\n this.searchFieldChange.emit({ value: this.inputElement.value });\n }\n };\n\n @Watch('value')\n handleValueChange() {\n if (this.inputElement != null) {\n this.inputElement.value = this.value;\n }\n }\n\n componentDidLoad() {\n if (this.inputElement == null) return;\n\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n this.eventListeners.add(this.inputElement, 'keydown', (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n if (keyboardEvent.key === 'Enter') {\n // emit immediately\n this.handleInputChange();\n }\n });\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n render() {\n return (\n <div class=\"search-box\">\n <six-input\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder}\n value={this.value}\n disabled={this.disabled}\n clearable={this.clearable}\n >\n <six-icon class=\"search-box__icon\" slot=\"prefix\" size=\"small\" onClick={this.handleInputChange}>\n search\n </six-icon>\n </six-input>\n <slot />\n </div>\n );\n }\n}\n"],"mappings":"iIAAA,MAAMA,EAAoB,kN,MCoBbC,EAAc,M,oFAqBjBC,KAAAC,eAAiB,IAAIC,EAErBF,KAAAG,kBAAoB,KAC1B,GAAIH,KAAKI,cAAgB,KAAM,CAC7BJ,KAAKK,kBAAkBC,KAAK,CAAEC,MAAOP,KAAKI,aAAaG,O,4CApBvBC,E,cAGA,M,WAGH,G,eAGb,K,CAgBpB,iBAAAC,GACE,GAAIT,KAAKI,cAAgB,KAAM,CAC7BJ,KAAKI,aAAaG,MAAQP,KAAKO,K,EAInC,gBAAAG,GACE,GAAIV,KAAKI,cAAgB,KAAM,OAE/BJ,KAAKC,eAAeU,IAAIX,KAAKI,aAAc,kBAAmBQ,EAASZ,KAAKG,kBAAmBH,KAAKY,WACpGZ,KAAKC,eAAeU,IAAIX,KAAKI,aAAc,WAAYS,IACrD,MAAMC,EAAgBD,EACtB,GAAIC,EAAcC,MAAQ,QAAS,CAEjCf,KAAKG,mB,KAKX,oBAAAa,GACEhB,KAAKC,eAAegB,W,CAGtB,MAAAC,GACE,OACEC,EAAA,OAAKC,MAAM,cACTD,EAAA,aACEE,IAAMC,GAAQtB,KAAKI,aAAekB,EAClCC,YAAavB,KAAKuB,YAClBhB,MAAOP,KAAKO,MACZiB,SAAUxB,KAAKwB,SACfC,UAAWzB,KAAKyB,WAEhBN,EAAA,YAAUC,MAAM,mBAAmBM,KAAK,SAASC,KAAK,QAAQC,QAAS5B,KAAKG,mBAAiB,WAI/FgB,EAAA,a"}
@@ -1,2 +1,2 @@
1
- import{r,h as o}from"./p-ac4f4d45.js";const i=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--height:16px;--track-color:var(--six-progress-track-color);--indicator-color:var(--six-progress-indicator-color);--label-color:var(--six-progress-label-color);display:block}.progress-bar{position:relative;background-color:var(--track-color);height:var(--height);border-radius:var(--sl-border-radius-pill);overflow:hidden}.progress-bar__indicator{height:100%;font-family:var(--six-font-sans);font-size:12px;font-weight:var(--six-font-weight-normal);background-color:var(--indicator-color);color:var(--label-color);text-align:center;line-height:var(--height);white-space:nowrap;overflow:hidden;transition:400ms width, 400ms background-color;user-select:none}.progress-bar--indeterminate .progress-bar__indicator{position:absolute;animation:indeterminate 2.5s infinite cubic-bezier(0.37, 0, 0.63, 1)}@keyframes indeterminate{0%{left:-50%;width:50%}75%,100%{left:100%;width:50%}}";const s=class{constructor(o){r(this,o);this.percentage=0;this.indeterminate=false}render(){return o("div",{part:"base",class:{"progress-bar":true,"progress-bar--indeterminate":this.indeterminate},role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":this.indeterminate?null:this.percentage},o("div",{part:"indicator",class:"progress-bar__indicator",style:{width:`${this.percentage}%`}},!this.indeterminate&&o("span",{part:"label",class:"progress-bar__label"},o("slot",null))))}};s.style=i;export{s as six_progress_bar};
2
- //# sourceMappingURL=p-baa03951.entry.js.map
1
+ import{r,h as o}from"./p-6153045b.js";const i=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--height:16px;--track-color:var(--six-progress-track-color);--indicator-color:var(--six-progress-indicator-color);--label-color:var(--six-progress-label-color);display:block}.progress-bar{position:relative;background-color:var(--track-color);height:var(--height);border-radius:var(--sl-border-radius-pill);overflow:hidden}.progress-bar__indicator{height:100%;font-family:var(--six-font-sans);font-size:12px;font-weight:var(--six-font-weight-normal);background-color:var(--indicator-color);color:var(--label-color);text-align:center;line-height:var(--height);white-space:nowrap;overflow:hidden;transition:400ms width, 400ms background-color;user-select:none}.progress-bar--indeterminate .progress-bar__indicator{position:absolute;animation:indeterminate 2.5s infinite cubic-bezier(0.37, 0, 0.63, 1)}@keyframes indeterminate{0%{left:-50%;width:50%}75%,100%{left:100%;width:50%}}";const s=class{constructor(o){r(this,o);this.percentage=0;this.indeterminate=false}render(){return o("div",{part:"base",class:{"progress-bar":true,"progress-bar--indeterminate":this.indeterminate},role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":this.indeterminate?null:this.percentage},o("div",{part:"indicator",class:"progress-bar__indicator",style:{width:`${this.percentage}%`}},!this.indeterminate&&o("span",{part:"label",class:"progress-bar__label"},o("slot",null))))}};s.style=i;export{s as six_progress_bar};
2
+ //# sourceMappingURL=p-3cc5addb.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sixProgressBarCss","SixProgressBar","render","h","part","class","this","indeterminate","role","percentage","style","width"],"sources":["src/components/six-progress-bar/six-progress-bar.scss?tag=six-progress-bar&encapsulation=shadow","src/components/six-progress-bar/six-progress-bar.tsx"],"sourcesContent":["@import 'src/global/component';\n\n/**\n * @prop --height: The progress bar's height.\n * @prop --track-color: The track color.\n * @prop --indicator-color: The indicator color.\n * @prop --label-color: The label color.\n */\n:host {\n --height: 16px;\n --track-color: var(--six-progress-track-color);\n --indicator-color: var(--six-progress-indicator-color);\n --label-color: var(--six-progress-label-color);\n\n display: block;\n}\n\n.progress-bar {\n position: relative;\n background-color: var(--track-color);\n height: var(--height);\n border-radius: var(--sl-border-radius-pill);\n overflow: hidden;\n}\n\n.progress-bar__indicator {\n height: 100%;\n font-family: var(--six-font-sans);\n font-size: 12px;\n font-weight: var(--six-font-weight-normal);\n background-color: var(--indicator-color);\n color: var(--label-color);\n text-align: center;\n line-height: var(--height);\n white-space: nowrap;\n overflow: hidden;\n transition: 400ms width, 400ms background-color;\n user-select: none;\n}\n\n// Indeterminate\n.progress-bar--indeterminate .progress-bar__indicator {\n position: absolute;\n animation: indeterminate 2.5s infinite cubic-bezier(0.37, 0, 0.63, 1);\n}\n\n@keyframes indeterminate {\n 0% {\n left: -50%;\n width: 50%;\n }\n 75%,\n 100% {\n left: 100%;\n width: 50%;\n }\n}\n","import { Component, h, Prop } 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 indicator.\n *\n * @part base - The component's base wrapper.\n * @part indicator - The progress bar indicator.\n * @part label - The progress bar label.\n */\n\n@Component({\n tag: 'six-progress-bar',\n styleUrl: 'six-progress-bar.scss',\n shadow: true,\n})\nexport class SixProgressBar {\n /** The progress bar's percentage, 0 to 100. */\n @Prop() percentage = 0;\n\n /** When true, percentage is ignored, the label is hidden, and the progress bar is drawn in an indeterminate state. */\n @Prop() indeterminate = false;\n\n render() {\n return (\n <div\n part=\"base\"\n class={{\n 'progress-bar': true,\n 'progress-bar--indeterminate': this.indeterminate,\n }}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={this.indeterminate ? null : this.percentage}\n >\n <div\n part=\"indicator\"\n class=\"progress-bar__indicator\"\n style={{\n width: `${this.percentage}%`,\n }}\n >\n {!this.indeterminate && (\n <span part=\"label\" class=\"progress-bar__label\">\n <slot />\n </span>\n )}\n </div>\n </div>\n );\n }\n}\n"],"mappings":"sCAAA,MAAMA,EAAoB,29B,MCoBbC,EAAc,M,yCAEJ,E,mBAGG,K,CAExB,MAAAC,GACE,OACEC,EAAA,OACEC,KAAK,OACLC,MAAO,CACL,eAAgB,KAChB,8BAA+BC,KAAKC,eAEtCC,KAAK,cAAa,gBACJ,IAAG,gBACH,MAAK,gBACJF,KAAKC,cAAgB,KAAOD,KAAKG,YAEhDN,EAAA,OACEC,KAAK,YACLC,MAAM,0BACNK,MAAO,CACLC,MAAO,GAAGL,KAAKG,iBAGfH,KAAKC,eACLJ,EAAA,QAAMC,KAAK,QAAQC,MAAM,uBACvBF,EAAA,e"}
@@ -1,2 +1,2 @@
1
- import{r as i,c as t,h as s,g as r}from"./p-ac4f4d45.js";const e=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:contents;margin:0}.alert{position:relative;display:flex;align-items:stretch;background-color:var(--six-color-white);border:solid 1px var(--six-color-web-rock-200);border-top-width:3px;border-radius:var(--six-border-radius-medium);box-shadow:var(--box-shadow);font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);line-height:1.6;color:var(--six-color-web-rock-700);opacity:0;transform:scale(0.9);transition:var(--six-transition-medium) opacity ease, var(--six-transition-medium) transform ease;margin:inherit}.alert:not(.alert--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.alert--open{opacity:1;transform:none}.alert__icon{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-large)}.alert__icon ::slotted(*){margin-left:var(--six-spacing-large)}.alert--primary{border-top-color:var(--six-color-web-rock-900)}.alert--primary .alert__icon{color:var(--six-color-web-rock-900)}.alert--success{border-top-color:var(--six-color-success-600)}.alert--success .alert__icon{color:var(--six-color-success-600)}.alert--info{border-top-color:var(--six-color-action-500)}.alert--info .alert__icon{color:var(--six-color-action-500)}.alert--warning{border-top-color:var(--six-color-warning-800)}.alert--warning .alert__icon{color:var(--six-color-warning-800)}.alert--danger{border-top-color:var(--six-color-danger-900)}.alert--danger .alert__icon{color:var(--six-color-danger-900)}.alert__message{flex:1 1 auto;padding:var(--six-spacing-large);overflow:hidden}.alert__close{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-large);padding-right:var(--six-spacing-medium)}";const a=Object.assign(document.createElement("div"),{className:"six-toast-stack"});const o=class{constructor(s){i(this,s);this.sixShow=t(this,"six-alert-show",7);this.sixAfterShow=t(this,"six-alert-after-show",7);this.sixHide=t(this,"six-alert-hide",7);this.sixAfterHide=t(this,"six-alert-after-hide",7);this.handleCloseClick=()=>{this.hide()};this.handleMouseMove=()=>{this.restartAutoHide()};this.handleTransitionEnd=i=>{const t=i.target;if(i.propertyName==="opacity"&&t.classList.contains("alert")){this.isVisible=this.open;this.open?this.sixAfterShow.emit():this.sixAfterHide.emit()}};this.isVisible=false;this.open=false;this.closable=false;this.type="primary";this.duration=Infinity}handleOpenChange(){this.open?this.show():this.hide()}handleDurationChange(){this.restartAutoHide()}componentWillLoad(){if(this.open){this.show()}}async show(){if(this.isVisible){return}const i=this.sixShow.emit();if(i.defaultPrevented){this.open=false;return}this.isVisible=true;this.open=true;if(this.duration<Infinity){this.autoHideTimeout=window.setTimeout((()=>this.hide()),this.duration)}}async hide(){if(!this.isVisible){return}const i=this.sixHide.emit();if(i.defaultPrevented){this.open=true;return}clearTimeout(this.autoHideTimeout);this.isVisible=false;this.open=false}async toast(){return new Promise((i=>{if(!a.parentElement){document.body.append(a)}a.append(this.host);requestAnimationFrame((()=>this.show()));this.host.addEventListener("six-alert-after-hide",(()=>{this.host.remove();i();if(a.querySelector("six-alert")===null){a.remove()}}),{once:true})}))}restartAutoHide(){clearTimeout(this.autoHideTimeout);if(this.open&&this.duration<Infinity){this.autoHideTimeout=window.setTimeout((()=>this.hide()),this.duration)}}render(){return s("div",{part:"base",class:{alert:true,"alert--open":this.open,"alert--visible":this.isVisible,"alert--closable":this.closable,"alert--primary":this.type==="primary","alert--success":this.type==="success","alert--info":this.type==="info","alert--warning":this.type==="warning","alert--danger":this.type==="danger"},role:"alert","aria-live":"assertive","aria-atomic":"true","aria-hidden":this.open?"false":"true",onMouseMove:this.handleMouseMove,onTransitionEnd:this.handleTransitionEnd},s("span",{part:"icon",class:"alert__icon"},s("slot",{name:"icon"})),s("span",{part:"message",class:"alert__message"},s("slot",null)),this.closable&&s("span",{class:"alert__close"},s("six-icon-button",{name:"clear",exportparts:"base:close-button",onClick:this.handleCloseClick})))}get host(){return r(this)}static get watchers(){return{open:["handleOpenChange"],duration:["handleDurationChange"]}}};o.style=e;export{o as six_alert};
2
- //# sourceMappingURL=p-ef3936e5.entry.js.map
1
+ import{r as i,c as t,h as s,g as r}from"./p-6153045b.js";const e=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:contents;margin:0}.alert{position:relative;display:flex;align-items:stretch;background-color:var(--six-color-white);border:solid 1px var(--six-color-web-rock-200);border-top-width:3px;border-radius:var(--six-border-radius-medium);box-shadow:var(--box-shadow);font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);line-height:1.6;color:var(--six-color-web-rock-700);opacity:0;transform:scale(0.9);transition:var(--six-transition-medium) opacity ease, var(--six-transition-medium) transform ease;margin:inherit}.alert:not(.alert--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.alert--open{opacity:1;transform:none}.alert__icon{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-large)}.alert__icon ::slotted(*){margin-left:var(--six-spacing-large)}.alert--primary{border-top-color:var(--six-color-web-rock-900)}.alert--primary .alert__icon{color:var(--six-color-web-rock-900)}.alert--success{border-top-color:var(--six-color-success-600)}.alert--success .alert__icon{color:var(--six-color-success-600)}.alert--info{border-top-color:var(--six-color-action-500)}.alert--info .alert__icon{color:var(--six-color-action-500)}.alert--warning{border-top-color:var(--six-color-warning-800)}.alert--warning .alert__icon{color:var(--six-color-warning-800)}.alert--danger{border-top-color:var(--six-color-danger-900)}.alert--danger .alert__icon{color:var(--six-color-danger-900)}.alert__message{flex:1 1 auto;padding:var(--six-spacing-large);overflow:hidden}.alert__close{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-large);padding-right:var(--six-spacing-medium)}";const a=Object.assign(document.createElement("div"),{className:"six-toast-stack"});const o=class{constructor(s){i(this,s);this.sixShow=t(this,"six-alert-show",7);this.sixAfterShow=t(this,"six-alert-after-show",7);this.sixHide=t(this,"six-alert-hide",7);this.sixAfterHide=t(this,"six-alert-after-hide",7);this.handleCloseClick=()=>{this.hide()};this.handleMouseMove=()=>{this.restartAutoHide()};this.handleTransitionEnd=i=>{const t=i.target;if(i.propertyName==="opacity"&&t.classList.contains("alert")){this.isVisible=this.open;this.open?this.sixAfterShow.emit():this.sixAfterHide.emit()}};this.isVisible=false;this.open=false;this.closable=false;this.type="primary";this.duration=Infinity}handleOpenChange(){this.open?this.show():this.hide()}handleDurationChange(){this.restartAutoHide()}componentWillLoad(){if(this.open){this.show()}}async show(){if(this.isVisible){return}const i=this.sixShow.emit();if(i.defaultPrevented){this.open=false;return}this.isVisible=true;this.open=true;if(this.duration<Infinity){this.autoHideTimeout=window.setTimeout((()=>this.hide()),this.duration)}}async hide(){if(!this.isVisible){return}const i=this.sixHide.emit();if(i.defaultPrevented){this.open=true;return}clearTimeout(this.autoHideTimeout);this.isVisible=false;this.open=false}async toast(){return new Promise((i=>{if(!a.parentElement){document.body.append(a)}a.append(this.host);requestAnimationFrame((()=>this.show()));this.host.addEventListener("six-alert-after-hide",(()=>{this.host.remove();i();if(a.querySelector("six-alert")===null){a.remove()}}),{once:true})}))}restartAutoHide(){clearTimeout(this.autoHideTimeout);if(this.open&&this.duration<Infinity){this.autoHideTimeout=window.setTimeout((()=>this.hide()),this.duration)}}render(){return s("div",{part:"base",class:{alert:true,"alert--open":this.open,"alert--visible":this.isVisible,"alert--closable":this.closable,"alert--primary":this.type==="primary","alert--success":this.type==="success","alert--info":this.type==="info","alert--warning":this.type==="warning","alert--danger":this.type==="danger"},role:"alert","aria-live":"assertive","aria-atomic":"true","aria-hidden":this.open?"false":"true",onMouseMove:this.handleMouseMove,onTransitionEnd:this.handleTransitionEnd},s("span",{part:"icon",class:"alert__icon"},s("slot",{name:"icon"})),s("span",{part:"message",class:"alert__message"},s("slot",null)),this.closable&&s("span",{class:"alert__close"},s("six-icon-button",{name:"clear",exportparts:"base:close-button",onClick:this.handleCloseClick})))}get host(){return r(this)}static get watchers(){return{open:["handleOpenChange"],duration:["handleDurationChange"]}}};o.style=e;export{o as six_alert};
2
+ //# sourceMappingURL=p-411ed539.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sixAlertCss","toastStack","Object","assign","document","createElement","className","SixAlert","this","handleCloseClick","hide","handleMouseMove","restartAutoHide","handleTransitionEnd","event","target","propertyName","classList","contains","isVisible","open","sixAfterShow","emit","sixAfterHide","Infinity","handleOpenChange","show","handleDurationChange","componentWillLoad","sixShow","defaultPrevented","duration","autoHideTimeout","window","setTimeout","sixHide","clearTimeout","toast","Promise","resolve","parentElement","body","append","host","requestAnimationFrame","addEventListener","remove","querySelector","once","render","h","part","class","alert","closable","type","role","onMouseMove","onTransitionEnd","name","exportparts","onClick"],"sources":["src/components/six-alert/six-alert.scss?tag=six-alert&encapsulation=shadow","src/components/six-alert/six-alert.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --box-shadow: The alert's box shadow.\n */\n:host {\n display: contents;\n\n // For better DX, we'll reset the margin here so the base part can inherit it\n margin: 0;\n}\n\n.alert {\n position: relative;\n display: flex;\n align-items: stretch;\n background-color: var(--six-color-white);\n border: solid 1px var(--six-color-web-rock-200);\n border-top-width: 3px;\n border-radius: var(--six-border-radius-medium);\n box-shadow: var(--box-shadow);\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: 1.6;\n color: var(--six-color-web-rock-700);\n opacity: 0;\n transform: scale(0.9);\n transition: var(--six-transition-medium) opacity ease, var(--six-transition-medium) transform ease;\n margin: inherit;\n\n &:not(.alert--visible) {\n @include hidden;\n }\n}\n\n.alert--open {\n opacity: 1;\n transform: none;\n}\n\n.alert__icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-large);\n\n ::slotted(*) {\n margin-left: var(--six-spacing-large);\n }\n}\n\n.alert--primary {\n border-top-color: var(--six-color-web-rock-900);\n\n .alert__icon {\n color: var(--six-color-web-rock-900);\n }\n}\n\n.alert--success {\n border-top-color: var(--six-color-success-600);\n\n .alert__icon {\n color: var(--six-color-success-600);\n }\n}\n\n.alert--info {\n border-top-color: var(--six-color-action-500);\n\n .alert__icon {\n color: var(--six-color-action-500);\n }\n}\n\n.alert--warning {\n border-top-color: var(--six-color-warning-800);\n\n .alert__icon {\n color: var(--six-color-warning-800);\n }\n}\n\n.alert--danger {\n border-top-color: var(--six-color-danger-900);\n\n .alert__icon {\n color: var(--six-color-danger-900);\n }\n}\n\n.alert__message {\n flex: 1 1 auto;\n padding: var(--six-spacing-large);\n overflow: hidden;\n}\n\n.alert__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-large);\n padding-right: var(--six-spacing-medium);\n}\n","import { Component, Element, Event, EventEmitter, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\n\nconst toastStack = Object.assign(document.createElement('div'), { className: 'six-toast-stack' });\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 alert's content.\n * @slot icon - An icon to show in the alert.\n *\n * @part base - The component's base wrapper.\n * @part icon - The container that wraps the alert icon.\n * @part message - The alert message.\n * @part close-button - The close button.\n */\n\n@Component({\n tag: 'six-alert',\n styleUrl: 'six-alert.scss',\n shadow: true,\n})\nexport class SixAlert {\n private autoHideTimeout?: number;\n\n @Element() host!: HTMLSixAlertElement;\n\n @State() isVisible = false;\n\n /** Indicates whether or not the alert is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Set to true to make the alert closable. */\n @Prop({ reflect: true }) closable = false;\n\n /** The type of alert. */\n @Prop({ reflect: true }) type: 'primary' | 'success' | 'info' | 'warning' | 'danger' = 'primary';\n\n /**\n * The length of time, in milliseconds, the alert will show before closing itself. If the user interacts with the\n * alert before it closes (e.g. moves the mouse over it), the timer will restart.\n */\n @Prop() duration = Infinity;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n @Watch('duration')\n handleDurationChange() {\n this.restartAutoHide();\n }\n\n /** Emitted when the alert opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-alert-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the alert opens and all transitions are complete. */\n @Event({ eventName: 'six-alert-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the alert closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-alert-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the alert closes and all transitions are complete. */\n @Event({ eventName: 'six-alert-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n componentWillLoad() {\n // Show on init if open\n if (this.open) {\n this.show();\n }\n }\n\n /** Shows the alert. */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.isVisible = true;\n this.open = true;\n\n if (this.duration < Infinity) {\n this.autoHideTimeout = window.setTimeout(() => this.hide(), this.duration);\n }\n }\n\n /** Hides the alert */\n @Method()\n async hide() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n clearTimeout(this.autoHideTimeout);\n this.isVisible = false;\n this.open = false;\n }\n\n /**\n * Displays the alert as a toast notification. This will move the alert out of its position in the DOM and, when\n * dismissed, it will be removed from the DOM completely. By storing a reference to the alert, you can reuse it by\n * calling this method again. The returned promise will resolve after the alert is hidden.\n */\n @Method()\n async toast() {\n return new Promise<void>((resolve) => {\n if (!toastStack.parentElement) {\n document.body.append(toastStack);\n }\n\n toastStack.append(this.host);\n requestAnimationFrame(() => this.show());\n\n this.host.addEventListener(\n 'six-alert-after-hide',\n () => {\n this.host.remove();\n resolve();\n\n // Remove the toast stack from the DOM when there are no more alerts\n if (toastStack.querySelector('six-alert') === null) {\n toastStack.remove();\n }\n },\n { once: true }\n );\n });\n }\n\n private handleCloseClick = () => {\n this.hide();\n };\n\n private handleMouseMove = () => {\n this.restartAutoHide();\n };\n\n private handleTransitionEnd = (event: TransitionEvent) => {\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.propertyName === 'opacity' && target.classList.contains('alert')) {\n this.isVisible = this.open;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n };\n\n private restartAutoHide() {\n clearTimeout(this.autoHideTimeout);\n if (this.open && this.duration < Infinity) {\n this.autoHideTimeout = window.setTimeout(() => this.hide(), this.duration);\n }\n }\n\n render() {\n return (\n <div\n part=\"base\"\n class={{\n alert: true,\n 'alert--open': this.open,\n 'alert--visible': this.isVisible,\n 'alert--closable': this.closable,\n 'alert--primary': this.type === 'primary',\n 'alert--success': this.type === 'success',\n 'alert--info': this.type === 'info',\n 'alert--warning': this.type === 'warning',\n 'alert--danger': this.type === 'danger',\n }}\n role=\"alert\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n onMouseMove={this.handleMouseMove}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <span part=\"icon\" class=\"alert__icon\">\n <slot name=\"icon\" />\n </span>\n\n <span part=\"message\" class=\"alert__message\">\n <slot />\n </span>\n\n {this.closable && (\n <span class=\"alert__close\">\n <six-icon-button\n name=\"clear\"\n exportparts=\"base:close-button\"\n onClick={this.handleCloseClick}\n ></six-icon-button>\n </span>\n )}\n </div>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAc,w1DCGpB,MAAMC,EAAaC,OAAOC,OAAOC,SAASC,cAAc,OAAQ,CAAEC,UAAW,oB,MAsBhEC,EAAQ,M,+MA2HXC,KAAAC,iBAAmB,KACzBD,KAAKE,MAAM,EAGLF,KAAAG,gBAAkB,KACxBH,KAAKI,iBAAiB,EAGhBJ,KAAAK,oBAAuBC,IAC7B,MAAMC,EAASD,EAAMC,OAGrB,GAAID,EAAME,eAAiB,WAAaD,EAAOE,UAAUC,SAAS,SAAU,CAC1EV,KAAKW,UAAYX,KAAKY,KACtBZ,KAAKY,KAAOZ,KAAKa,aAAaC,OAASd,KAAKe,aAAaD,M,kBApIxC,M,UAG0B,M,cAGX,M,UAGmD,U,cAMpEE,Q,CAGnB,gBAAAC,GACEjB,KAAKY,KAAOZ,KAAKkB,OAASlB,KAAKE,M,CAIjC,oBAAAiB,GACEnB,KAAKI,iB,CAeP,iBAAAgB,GAEE,GAAIpB,KAAKY,KAAM,CACbZ,KAAKkB,M,EAMT,UAAMA,GAEJ,GAAIlB,KAAKW,UAAW,CAClB,M,CAGF,MAAMU,EAAUrB,KAAKqB,QAAQP,OAC7B,GAAIO,EAAQC,iBAAkB,CAC5BtB,KAAKY,KAAO,MACZ,M,CAGFZ,KAAKW,UAAY,KACjBX,KAAKY,KAAO,KAEZ,GAAIZ,KAAKuB,SAAWP,SAAU,CAC5BhB,KAAKwB,gBAAkBC,OAAOC,YAAW,IAAM1B,KAAKE,QAAQF,KAAKuB,S,EAMrE,UAAMrB,GAEJ,IAAKF,KAAKW,UAAW,CACnB,M,CAGF,MAAMgB,EAAU3B,KAAK2B,QAAQb,OAC7B,GAAIa,EAAQL,iBAAkB,CAC5BtB,KAAKY,KAAO,KACZ,M,CAGFgB,aAAa5B,KAAKwB,iBAClBxB,KAAKW,UAAY,MACjBX,KAAKY,KAAO,K,CASd,WAAMiB,GACJ,OAAO,IAAIC,SAAeC,IACxB,IAAKtC,EAAWuC,cAAe,CAC7BpC,SAASqC,KAAKC,OAAOzC,E,CAGvBA,EAAWyC,OAAOlC,KAAKmC,MACvBC,uBAAsB,IAAMpC,KAAKkB,SAEjClB,KAAKmC,KAAKE,iBACR,wBACA,KACErC,KAAKmC,KAAKG,SACVP,IAGA,GAAItC,EAAW8C,cAAc,eAAiB,KAAM,CAClD9C,EAAW6C,Q,IAGf,CAAEE,KAAM,MACT,G,CAsBG,eAAApC,GACNwB,aAAa5B,KAAKwB,iBAClB,GAAIxB,KAAKY,MAAQZ,KAAKuB,SAAWP,SAAU,CACzChB,KAAKwB,gBAAkBC,OAAOC,YAAW,IAAM1B,KAAKE,QAAQF,KAAKuB,S,EAIrE,MAAAkB,GACE,OACEC,EAAA,OACEC,KAAK,OACLC,MAAO,CACLC,MAAO,KACP,cAAe7C,KAAKY,KACpB,iBAAkBZ,KAAKW,UACvB,kBAAmBX,KAAK8C,SACxB,iBAAkB9C,KAAK+C,OAAS,UAChC,iBAAkB/C,KAAK+C,OAAS,UAChC,cAAe/C,KAAK+C,OAAS,OAC7B,iBAAkB/C,KAAK+C,OAAS,UAChC,gBAAiB/C,KAAK+C,OAAS,UAEjCC,KAAK,QAAO,YACF,YAAW,cACT,OAAM,cACLhD,KAAKY,KAAO,QAAU,OACnCqC,YAAajD,KAAKG,gBAClB+C,gBAAiBlD,KAAKK,qBAEtBqC,EAAA,QAAMC,KAAK,OAAOC,MAAM,eACtBF,EAAA,QAAMS,KAAK,UAGbT,EAAA,QAAMC,KAAK,UAAUC,MAAM,kBACzBF,EAAA,cAGD1C,KAAK8C,UACJJ,EAAA,QAAME,MAAM,gBACVF,EAAA,mBACES,KAAK,QACLC,YAAY,oBACZC,QAASrD,KAAKC,oB"}
@@ -1,2 +1,2 @@
1
- import{r as t,c as o,h as r,g as i}from"./p-ac4f4d45.js";import{s,g as a}from"./p-eb8f05a9.js";import{f as e}from"./p-0cc08e91.js";const l=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--tabs-border-color:var(--six-tab-border-color);display:block}.tab-group{display:flex;border:solid 1px transparent;border-radius:0}.tab-group .tab-group__tabs{display:flex;position:relative}.tab-group .tab-group__active-tab-indicator{position:absolute;transition:var(--six-transition-fast) transform ease, var(--six-transition-fast) width ease}.tab-group:not(.focus-visible) ::slotted(six-tab){--focus-ring:none}.tab-group--has-scroll-controls .tab-group__nav-container{position:relative;padding:0 var(--six-spacing-x-large)}.tab-group__scroll-button{display:flex;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;width:var(--six-spacing-x-large)}.tab-group__scroll-button--left{left:0}.tab-group__scroll-button--right{right:0}.tab-group--top{flex-direction:column}.tab-group--top .tab-group__nav-container{order:1}.tab-group--top .tab-group__nav{display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tab-group--top .tab-group__nav::-webkit-scrollbar{width:0;height:0}.tab-group--top .tab-group__tabs{flex:1 1 auto;position:relative;flex-direction:row;border-bottom:solid var(--six-tab-border-width) var(--tabs-border-color)}.tab-group--top .tab-group__active-tab-indicator{bottom:-2px;border-bottom:solid var(--six-tab-border-width-active) var(--six-tab-border-color-active)}.tab-group--top .tab-group__body{order:2}.tab-group--bottom{flex-direction:column}.tab-group--bottom .tab-group__nav-container{order:2}.tab-group--bottom .tab-group__nav{display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tab-group--bottom .tab-group__nav::-webkit-scrollbar{width:0;height:0}.tab-group--bottom .tab-group__tabs{flex:1 1 auto;position:relative;flex-direction:row;border-top:solid var(--six-tab-border-width) var(--tabs-border-color)}.tab-group--bottom .tab-group__active-tab-indicator{top:-2px;border-top:solid var(--six-tab-border-width-active) var(--six-tab-border-color-active)}.tab-group--bottom .tab-group__body{order:1}.tab-group--left{flex-direction:row}.tab-group--left .tab-group__nav-container{order:1}.tab-group--left .tab-group__tabs{flex:0 0 auto;flex-direction:column;border-right:solid var(--six-tab-border-width) var(--tabs-border-color)}.tab-group--left .tab-group__active-tab-indicator{right:-2px;border-right:solid var(--six-tab-border-width-active) var(--six-tab-border-color-active)}.tab-group--left .tab-group__body{flex:1 1 auto;order:2}.tab-group--right{flex-direction:row}.tab-group--right .tab-group__nav-container{order:2}.tab-group--right .tab-group__tabs{flex:0 0 auto;flex-direction:column;border-left:solid var(--six-tab-border-width) var(--tabs-border-color)}.tab-group--right .tab-group__active-tab-indicator{left:-2px;border-left:solid var(--six-tab-border-width-active) var(--six-tab-border-color-active)}.tab-group--right .tab-group__body{flex:1 1 auto;order:1}";const n=class{constructor(r){t(this,r);this.sixTabShow=o(this,"six-tab-show",7);this.sixTabHide=o(this,"six-tab-hide",7);this.handleClick=t=>{const o=t.target;const r=o.closest("six-tab");const i=r===null||r===void 0?void 0:r.closest("six-tab-group");if(i!==this.host){return false}if(r!=null){this.setActiveTab(r)}};this.handleKeyDown=t=>{if(this.nav==null)return;const o=t.target;const r=o.closest("six-tab");const i=r===null||r===void 0?void 0:r.closest("six-tab-group");if(i!==this.host){return false}if(["Enter"," "].includes(t.key)){if(r!=null){this.setActiveTab(r);t.preventDefault()}}if(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(t.key)){const o=document.activeElement;if(o&&o.tagName.toLowerCase()==="six-tab"){const r=this.getAllTabs();let i=r.indexOf(o);if(t.key==="Home"){i=0}else if(t.key==="End"){i=r.length-1}else if(t.key==="ArrowLeft"){i=Math.max(0,i-1)}else if(t.key==="ArrowRight"){i=Math.min(r.length-1,i+1)}r[i].setFocus({preventScroll:true});if(["top","bottom"].includes(this.placement)){s(r[i],this.nav,"horizontal")}t.preventDefault()}}};this.handleScrollLeft=()=>{if(this.nav==null)return;this.nav.scroll({left:this.nav.scrollLeft-this.nav.clientWidth,behavior:"smooth"})};this.handleScrollRight=()=>{if(this.nav==null)return;this.nav.scroll({left:this.nav.scrollLeft+this.nav.clientWidth,behavior:"smooth"})};this.syncActiveTabIndicator=()=>{if(this.activeTabIndicator==null||this.nav==null)return;const t=this.getActiveTab();if(t!=null){this.activeTabIndicator.style.display="block"}else{this.activeTabIndicator.style.display="none";return}const o=t.clientWidth;const r=t.clientHeight;const i=a(t,this.nav);const s=i.top+this.nav.scrollTop;const e=i.left+this.nav.scrollLeft;switch(this.placement){case"top":case"bottom":this.activeTabIndicator.style.width=`${o}px`;this.activeTabIndicator.style.height="";this.activeTabIndicator.style.transform=`translateX(${e}px)`;break;case"left":case"right":this.activeTabIndicator.style.width="";this.activeTabIndicator.style.height=`${r}px`;this.activeTabIndicator.style.transform=`translateY(${s}px)`;break}};this.hasScrollControls=false;this.placement="top";this.noScrollControls=false}handlePlacementChange(){this.syncActiveTabIndicator()}handleNoScrollControlsChange(){this.updateScrollControls()}componentDidLoad(){if(this.tabGroup==null||this.nav==null)return;const t=new IntersectionObserver(((t,o)=>{if(t[0].intersectionRatio>0){this.setAriaLabels();this.setActiveTab(this.getActiveTab()||this.getAllTabs()[0],false);o.unobserve(t[0].target)}}));t.observe(this.host);e.observe(this.tabGroup);this.resizeObserver=new ResizeObserver((()=>this.updateScrollControls()));this.resizeObserver.observe(this.nav);requestAnimationFrame((()=>this.updateScrollControls()));this.mutationObserver=new MutationObserver((t=>{if(t.some((t=>{var o;return!["aria-labelledby","aria-controls"].includes((o=t.attributeName)!==null&&o!==void 0?o:"")}))){setTimeout((()=>this.setAriaLabels()))}}));this.mutationObserver.observe(this.host,{attributes:true,childList:true,subtree:true})}disconnectedCallback(){if(this.mutationObserver==null||this.tabGroup==null||this.nav==null||this.resizeObserver==null){return}this.mutationObserver.disconnect();e.unobserve(this.tabGroup);this.resizeObserver.unobserve(this.nav)}async show(t){const o=this.getAllTabs();const r=o.find((o=>o.panel===t));if(r!=null){this.setActiveTab(r)}}getAllTabs(t=false){var o;const r=(o=this.tabs)===null||o===void 0?void 0:o.querySelector("slot");if(r==null)return[];return[...r.assignedElements()].filter((o=>t?o.tagName.toLowerCase()==="six-tab":o.tagName.toLowerCase()==="six-tab"&&!o.disabled))}getAllPanels(){var t;const o=(t=this.body)===null||t===void 0?void 0:t.querySelector("slot");if(o==null)return[];return[...o.assignedElements()].filter((t=>t.tagName.toLowerCase()==="six-tab-panel"))}getActiveTab(){return this.getAllTabs().find((t=>t.active))}updateScrollControls(){if(this.nav==null)return;this.hasScrollControls=this.noScrollControls?false:["top","bottom"].includes(this.placement)&&this.nav.scrollWidth>this.nav.clientWidth}setActiveTab(t,o=true){if(this.nav==null)return;if(t!=null&&t!==this.activeTab&&!t.disabled){const r=this.activeTab;this.activeTab=t;this.getAllTabs().map((t=>t.active=t===this.activeTab));this.getAllPanels().map((t=>{var o;return t.active=t.name===((o=this.activeTab)===null||o===void 0?void 0:o.panel)}));this.syncActiveTabIndicator();if(["top","bottom"].includes(this.placement)){s(this.activeTab,this.nav,"horizontal")}if(o){if(r!=null){this.sixTabHide.emit({name:r.panel})}this.sixTabShow.emit({name:this.activeTab.panel})}}}setAriaLabels(){const t=this.getAllTabs();const o=this.getAllPanels();t.map((t=>{var r,i;const s=o.find((o=>o.name===t.panel));if(s!=null){t.setAttribute("aria-controls",(r=s.getAttribute("id"))!==null&&r!==void 0?r:"");s.setAttribute("aria-labelledby",(i=t.getAttribute("id"))!==null&&i!==void 0?i:"")}}))}render(){return r("div",{part:"base",ref:t=>this.tabGroup=t,class:{"tab-group":true,"tab-group--top":this.placement==="top","tab-group--bottom":this.placement==="bottom","tab-group--left":this.placement==="left","tab-group--right":this.placement==="right","tab-group--has-scroll-controls":this.hasScrollControls},onClick:this.handleClick,onKeyDown:this.handleKeyDown},r("div",{class:"tab-group__nav-container"},this.hasScrollControls&&r("six-icon-button",{class:"tab-group__scroll-button tab-group__scroll-button--left",exportparts:"base:scroll-button",name:"chevron_left",onClick:this.handleScrollLeft}),r("div",{ref:t=>this.nav=t,key:"nav",part:"nav",class:"tab-group__nav"},r("div",{ref:t=>this.tabs=t,part:"tabs",class:"tab-group__tabs",role:"tablist"},r("div",{ref:t=>this.activeTabIndicator=t,part:"active-tab-indicator",class:"tab-group__active-tab-indicator"}),r("slot",{name:"nav",onSlotchange:this.syncActiveTabIndicator}))),this.hasScrollControls&&r("six-icon-button",{class:"tab-group__scroll-button tab-group__scroll-button--right",exportparts:"base:scroll-button",name:"chevron_right",onClick:this.handleScrollRight})),r("div",{ref:t=>this.body=t,part:"body",class:"tab-group__body"},r("slot",{onSlotchange:this.syncActiveTabIndicator})))}get host(){return i(this)}static get watchers(){return{placement:["handlePlacementChange"],noScrollControls:["handleNoScrollControlsChange"]}}};n.style=l;export{n as six_tab_group};
2
- //# sourceMappingURL=p-c5cdba08.entry.js.map
1
+ import{r as t,c as o,h as r,g as i}from"./p-6153045b.js";import{s,g as a}from"./p-1f18768a.js";import{f as e}from"./p-5654e4c7.js";const l=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--tabs-border-color:var(--six-tab-border-color);display:block}.tab-group{display:flex;border:solid 1px transparent;border-radius:0}.tab-group .tab-group__tabs{display:flex;position:relative}.tab-group .tab-group__active-tab-indicator{position:absolute;transition:var(--six-transition-fast) transform ease, var(--six-transition-fast) width ease}.tab-group:not(.focus-visible) ::slotted(six-tab){--focus-ring:none}.tab-group--has-scroll-controls .tab-group__nav-container{position:relative;padding:0 var(--six-spacing-x-large)}.tab-group__scroll-button{display:flex;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;width:var(--six-spacing-x-large)}.tab-group__scroll-button--left{left:0}.tab-group__scroll-button--right{right:0}.tab-group--top{flex-direction:column}.tab-group--top .tab-group__nav-container{order:1}.tab-group--top .tab-group__nav{display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tab-group--top .tab-group__nav::-webkit-scrollbar{width:0;height:0}.tab-group--top .tab-group__tabs{flex:1 1 auto;position:relative;flex-direction:row;border-bottom:solid var(--six-tab-border-width) var(--tabs-border-color)}.tab-group--top .tab-group__active-tab-indicator{bottom:-2px;border-bottom:solid var(--six-tab-border-width-active) var(--six-tab-border-color-active)}.tab-group--top .tab-group__body{order:2}.tab-group--bottom{flex-direction:column}.tab-group--bottom .tab-group__nav-container{order:2}.tab-group--bottom .tab-group__nav{display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tab-group--bottom .tab-group__nav::-webkit-scrollbar{width:0;height:0}.tab-group--bottom .tab-group__tabs{flex:1 1 auto;position:relative;flex-direction:row;border-top:solid var(--six-tab-border-width) var(--tabs-border-color)}.tab-group--bottom .tab-group__active-tab-indicator{top:-2px;border-top:solid var(--six-tab-border-width-active) var(--six-tab-border-color-active)}.tab-group--bottom .tab-group__body{order:1}.tab-group--left{flex-direction:row}.tab-group--left .tab-group__nav-container{order:1}.tab-group--left .tab-group__tabs{flex:0 0 auto;flex-direction:column;border-right:solid var(--six-tab-border-width) var(--tabs-border-color)}.tab-group--left .tab-group__active-tab-indicator{right:-2px;border-right:solid var(--six-tab-border-width-active) var(--six-tab-border-color-active)}.tab-group--left .tab-group__body{flex:1 1 auto;order:2}.tab-group--right{flex-direction:row}.tab-group--right .tab-group__nav-container{order:2}.tab-group--right .tab-group__tabs{flex:0 0 auto;flex-direction:column;border-left:solid var(--six-tab-border-width) var(--tabs-border-color)}.tab-group--right .tab-group__active-tab-indicator{left:-2px;border-left:solid var(--six-tab-border-width-active) var(--six-tab-border-color-active)}.tab-group--right .tab-group__body{flex:1 1 auto;order:1}";const n=class{constructor(r){t(this,r);this.sixTabShow=o(this,"six-tab-show",7);this.sixTabHide=o(this,"six-tab-hide",7);this.handleClick=t=>{const o=t.target;const r=o.closest("six-tab");const i=r===null||r===void 0?void 0:r.closest("six-tab-group");if(i!==this.host){return false}if(r!=null){this.setActiveTab(r)}};this.handleKeyDown=t=>{if(this.nav==null)return;const o=t.target;const r=o.closest("six-tab");const i=r===null||r===void 0?void 0:r.closest("six-tab-group");if(i!==this.host){return false}if(["Enter"," "].includes(t.key)){if(r!=null){this.setActiveTab(r);t.preventDefault()}}if(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(t.key)){const o=document.activeElement;if(o&&o.tagName.toLowerCase()==="six-tab"){const r=this.getAllTabs();let i=r.indexOf(o);if(t.key==="Home"){i=0}else if(t.key==="End"){i=r.length-1}else if(t.key==="ArrowLeft"){i=Math.max(0,i-1)}else if(t.key==="ArrowRight"){i=Math.min(r.length-1,i+1)}r[i].setFocus({preventScroll:true});if(["top","bottom"].includes(this.placement)){s(r[i],this.nav,"horizontal")}t.preventDefault()}}};this.handleScrollLeft=()=>{if(this.nav==null)return;this.nav.scroll({left:this.nav.scrollLeft-this.nav.clientWidth,behavior:"smooth"})};this.handleScrollRight=()=>{if(this.nav==null)return;this.nav.scroll({left:this.nav.scrollLeft+this.nav.clientWidth,behavior:"smooth"})};this.syncActiveTabIndicator=()=>{if(this.activeTabIndicator==null||this.nav==null)return;const t=this.getActiveTab();if(t!=null){this.activeTabIndicator.style.display="block"}else{this.activeTabIndicator.style.display="none";return}const o=t.clientWidth;const r=t.clientHeight;const i=a(t,this.nav);const s=i.top+this.nav.scrollTop;const e=i.left+this.nav.scrollLeft;switch(this.placement){case"top":case"bottom":this.activeTabIndicator.style.width=`${o}px`;this.activeTabIndicator.style.height="";this.activeTabIndicator.style.transform=`translateX(${e}px)`;break;case"left":case"right":this.activeTabIndicator.style.width="";this.activeTabIndicator.style.height=`${r}px`;this.activeTabIndicator.style.transform=`translateY(${s}px)`;break}};this.hasScrollControls=false;this.placement="top";this.noScrollControls=false}handlePlacementChange(){this.syncActiveTabIndicator()}handleNoScrollControlsChange(){this.updateScrollControls()}componentDidLoad(){if(this.tabGroup==null||this.nav==null)return;const t=new IntersectionObserver(((t,o)=>{if(t[0].intersectionRatio>0){this.setAriaLabels();this.setActiveTab(this.getActiveTab()||this.getAllTabs()[0],false);o.unobserve(t[0].target)}}));t.observe(this.host);e.observe(this.tabGroup);this.resizeObserver=new ResizeObserver((()=>this.updateScrollControls()));this.resizeObserver.observe(this.nav);requestAnimationFrame((()=>this.updateScrollControls()));this.mutationObserver=new MutationObserver((t=>{if(t.some((t=>{var o;return!["aria-labelledby","aria-controls"].includes((o=t.attributeName)!==null&&o!==void 0?o:"")}))){setTimeout((()=>this.setAriaLabels()))}}));this.mutationObserver.observe(this.host,{attributes:true,childList:true,subtree:true})}disconnectedCallback(){if(this.mutationObserver==null||this.tabGroup==null||this.nav==null||this.resizeObserver==null){return}this.mutationObserver.disconnect();e.unobserve(this.tabGroup);this.resizeObserver.unobserve(this.nav)}async show(t){const o=this.getAllTabs();const r=o.find((o=>o.panel===t));if(r!=null){this.setActiveTab(r)}}getAllTabs(t=false){var o;const r=(o=this.tabs)===null||o===void 0?void 0:o.querySelector("slot");if(r==null)return[];return[...r.assignedElements()].filter((o=>t?o.tagName.toLowerCase()==="six-tab":o.tagName.toLowerCase()==="six-tab"&&!o.disabled))}getAllPanels(){var t;const o=(t=this.body)===null||t===void 0?void 0:t.querySelector("slot");if(o==null)return[];return[...o.assignedElements()].filter((t=>t.tagName.toLowerCase()==="six-tab-panel"))}getActiveTab(){return this.getAllTabs().find((t=>t.active))}updateScrollControls(){if(this.nav==null)return;this.hasScrollControls=this.noScrollControls?false:["top","bottom"].includes(this.placement)&&this.nav.scrollWidth>this.nav.clientWidth}setActiveTab(t,o=true){if(this.nav==null)return;if(t!=null&&t!==this.activeTab&&!t.disabled){const r=this.activeTab;this.activeTab=t;this.getAllTabs().map((t=>t.active=t===this.activeTab));this.getAllPanels().map((t=>{var o;return t.active=t.name===((o=this.activeTab)===null||o===void 0?void 0:o.panel)}));this.syncActiveTabIndicator();if(["top","bottom"].includes(this.placement)){s(this.activeTab,this.nav,"horizontal")}if(o){if(r!=null){this.sixTabHide.emit({name:r.panel})}this.sixTabShow.emit({name:this.activeTab.panel})}}}setAriaLabels(){const t=this.getAllTabs();const o=this.getAllPanels();t.map((t=>{var r,i;const s=o.find((o=>o.name===t.panel));if(s!=null){t.setAttribute("aria-controls",(r=s.getAttribute("id"))!==null&&r!==void 0?r:"");s.setAttribute("aria-labelledby",(i=t.getAttribute("id"))!==null&&i!==void 0?i:"")}}))}render(){return r("div",{part:"base",ref:t=>this.tabGroup=t,class:{"tab-group":true,"tab-group--top":this.placement==="top","tab-group--bottom":this.placement==="bottom","tab-group--left":this.placement==="left","tab-group--right":this.placement==="right","tab-group--has-scroll-controls":this.hasScrollControls},onClick:this.handleClick,onKeyDown:this.handleKeyDown},r("div",{class:"tab-group__nav-container"},this.hasScrollControls&&r("six-icon-button",{class:"tab-group__scroll-button tab-group__scroll-button--left",exportparts:"base:scroll-button",name:"chevron_left",onClick:this.handleScrollLeft}),r("div",{ref:t=>this.nav=t,key:"nav",part:"nav",class:"tab-group__nav"},r("div",{ref:t=>this.tabs=t,part:"tabs",class:"tab-group__tabs",role:"tablist"},r("div",{ref:t=>this.activeTabIndicator=t,part:"active-tab-indicator",class:"tab-group__active-tab-indicator"}),r("slot",{name:"nav",onSlotchange:this.syncActiveTabIndicator}))),this.hasScrollControls&&r("six-icon-button",{class:"tab-group__scroll-button tab-group__scroll-button--right",exportparts:"base:scroll-button",name:"chevron_right",onClick:this.handleScrollRight})),r("div",{ref:t=>this.body=t,part:"body",class:"tab-group__body"},r("slot",{onSlotchange:this.syncActiveTabIndicator})))}get host(){return i(this)}static get watchers(){return{placement:["handlePlacementChange"],noScrollControls:["handleNoScrollControlsChange"]}}};n.style=l;export{n as six_tab_group};
2
+ //# sourceMappingURL=p-4705a51e.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sixTabGroupCss","SixTabGroup","this","handleClick","event","target","tab","closest","tabGroup","host","setActiveTab","handleKeyDown","nav","includes","key","preventDefault","activeEl","document","activeElement","tagName","toLowerCase","tabs","getAllTabs","index","indexOf","length","Math","max","min","setFocus","preventScroll","placement","scrollIntoView","handleScrollLeft","scroll","left","scrollLeft","clientWidth","behavior","handleScrollRight","syncActiveTabIndicator","activeTabIndicator","getActiveTab","style","display","width","height","clientHeight","offset","getOffset","offsetTop","top","scrollTop","offsetLeft","transform","handlePlacementChange","handleNoScrollControlsChange","updateScrollControls","componentDidLoad","observer","IntersectionObserver","entries","intersectionRatio","setAriaLabels","unobserve","observe","focusVisible","resizeObserver","ResizeObserver","requestAnimationFrame","mutationObserver","MutationObserver","mutations","some","mutation","_a","attributeName","setTimeout","attributes","childList","subtree","disconnectedCallback","disconnect","show","panel","find","el","includeDisabled","slot","querySelector","assignedElements","filter","disabled","getAllPanels","body","active","hasScrollControls","noScrollControls","scrollWidth","emitEvents","activeTab","previousTab","map","name","sixTabHide","emit","sixTabShow","panels","setAttribute","getAttribute","_b","render","h","part","ref","class","onClick","onKeyDown","exportparts","role","onSlotchange"],"sources":["src/components/six-tab-group/six-tab-group.scss?tag=six-tab-group&encapsulation=shadow","src/components/six-tab-group/six-tab-group.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hide-scrollbar';\n\n/**\n * @prop --tabs-border-color: The color of the border that separates tabs.\n */\n:host {\n --tabs-border-color: var(--six-tab-border-color);\n display: block;\n}\n\n.tab-group {\n display: flex;\n border: solid 1px transparent;\n border-radius: 0;\n\n .tab-group__tabs {\n display: flex;\n position: relative;\n }\n\n .tab-group__active-tab-indicator {\n position: absolute;\n transition: var(--six-transition-fast) transform ease, var(--six-transition-fast) width ease;\n }\n\n // Remove the focus ring when the user isn't interacting with a keyboard\n &:not(.focus-visible) ::slotted(six-tab) {\n --focus-ring: none;\n }\n}\n\n.tab-group--has-scroll-controls .tab-group__nav-container {\n position: relative;\n padding: 0 var(--six-spacing-x-large);\n}\n\n.tab-group__scroll-button {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n bottom: 0;\n width: var(--six-spacing-x-large);\n}\n\n.tab-group__scroll-button--left {\n left: 0;\n}\n\n.tab-group__scroll-button--right {\n right: 0;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Top\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--top {\n flex-direction: column;\n\n .tab-group__nav-container {\n order: 1;\n }\n\n .tab-group__nav {\n display: flex;\n overflow-x: auto;\n @include hide-scrollbar();\n }\n\n .tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n border-bottom: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n bottom: -2px;\n border-bottom: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n order: 2;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Bottom\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--bottom {\n flex-direction: column;\n\n .tab-group__nav-container {\n order: 2;\n }\n\n .tab-group__nav {\n display: flex;\n overflow-x: auto;\n @include hide-scrollbar();\n }\n\n .tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n border-top: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n top: calc(-1 * 2px);\n border-top: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n order: 1;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Left\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--left {\n flex-direction: row;\n\n .tab-group__nav-container {\n order: 1;\n }\n\n .tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n border-right: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n right: calc(-1 * 2px);\n border-right: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n flex: 1 1 auto;\n order: 2;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Right\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--right {\n flex-direction: row;\n\n .tab-group__nav-container {\n order: 2;\n }\n\n .tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n border-left: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n left: calc(-1 * 2px);\n border-left: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n flex: 1 1 auto;\n order: 1;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { getOffset } from '../../utils/offset';\nimport { scrollIntoView } from '../../utils/scroll';\nimport { focusVisible } from '../../utils/focus-visible';\n\nexport interface SixTabShowPayload {\n name: string;\n}\n\nexport interface SixTabHidePayload {\n name: string;\n}\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 nav - Used for grouping tabs in the tab group.\n * @slot - Used for grouping tab panels in the tab group.\n *\n * @part base - The component's base wrapper.\n * @part nav - The tab group navigation container.\n * @part tabs - The container that wraps the slotted tabs.\n * @part active-tab-indicator - An element that displays the currently selected tab. This is a child of the tab's container.\n * @part body - The tab group body where tab panels are slotted in.\n * @part scroll-button - The previous and next scroll buttons that appear when tabs are scrollable.\n */\n@Component({\n tag: 'six-tab-group',\n styleUrl: 'six-tab-group.scss',\n shadow: true,\n})\nexport class SixTabGroup {\n private activeTab?: HTMLSixTabElement;\n private activeTabIndicator?: HTMLElement;\n private body?: HTMLElement;\n private mutationObserver?: MutationObserver;\n private nav?: HTMLElement;\n private resizeObserver?: ResizeObserver;\n private tabGroup?: HTMLElement;\n private tabs?: HTMLElement;\n\n @Element() host!: HTMLSixTabGroupElement;\n\n @State() hasScrollControls = false;\n\n /** The placement of the tabs. */\n @Prop() placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @Prop() noScrollControls = false;\n\n @Watch('placement')\n handlePlacementChange() {\n this.syncActiveTabIndicator();\n }\n\n @Watch('noScrollControls')\n handleNoScrollControlsChange() {\n this.updateScrollControls();\n }\n\n /** Emitted when a tab is shown. */\n @Event({ eventName: 'six-tab-show' }) sixTabShow!: EventEmitter<SixTabShowPayload>;\n\n /** Emitted when a tab is hidden. */\n @Event({ eventName: 'six-tab-hide' }) sixTabHide!: EventEmitter<SixTabHidePayload>;\n\n componentDidLoad() {\n if (this.tabGroup == null || this.nav == null) return;\n\n // Set initial tab state when the tabs first become visible\n const observer = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n this.setActiveTab(this.getActiveTab() || this.getAllTabs()[0], false);\n observer.unobserve(entries[0].target);\n }\n });\n observer.observe(this.host);\n\n focusVisible.observe(this.tabGroup);\n\n this.resizeObserver = new ResizeObserver(() => this.updateScrollControls());\n this.resizeObserver.observe(this.nav);\n requestAnimationFrame(() => this.updateScrollControls());\n\n // Update aria labels if the DOM changes\n this.mutationObserver = new MutationObserver((mutations) => {\n if (\n mutations.some((mutation) => {\n return !['aria-labelledby', 'aria-controls'].includes(mutation.attributeName ?? '');\n })\n ) {\n setTimeout(() => this.setAriaLabels());\n }\n });\n this.mutationObserver.observe(this.host, { attributes: true, childList: true, subtree: true });\n }\n\n disconnectedCallback() {\n if (this.mutationObserver == null || this.tabGroup == null || this.nav == null || this.resizeObserver == null) {\n return;\n }\n\n this.mutationObserver.disconnect();\n focusVisible.unobserve(this.tabGroup);\n this.resizeObserver.unobserve(this.nav);\n }\n\n /** Shows the specified tab panel. */\n @Method()\n async show(panel: string) {\n const tabs = this.getAllTabs();\n const tab = tabs.find((el) => el.panel === panel);\n\n if (tab != null) {\n this.setActiveTab(tab);\n }\n }\n\n private getAllTabs(includeDisabled = false): HTMLSixTabElement[] {\n const slot = this.tabs?.querySelector('slot');\n if (slot == null) return [];\n\n return [...slot.assignedElements()].filter((el: Element) => {\n return includeDisabled\n ? el.tagName.toLowerCase() === 'six-tab'\n : el.tagName.toLowerCase() === 'six-tab' && !(el as HTMLSixTabElement).disabled;\n }) as [HTMLSixTabElement];\n }\n\n private getAllPanels(): HTMLSixTabPanelElement[] {\n const slot = this.body?.querySelector('slot');\n if (slot == null) return [];\n return [...slot.assignedElements()].filter((el: Element) => el.tagName.toLowerCase() === 'six-tab-panel') as [\n HTMLSixTabPanelElement\n ];\n }\n\n private getActiveTab() {\n return this.getAllTabs().find((el) => el.active);\n }\n\n private handleClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const tab = target.closest('six-tab');\n const tabGroup = tab?.closest('six-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this.host) {\n return false;\n }\n\n if (tab != null) {\n this.setActiveTab(tab);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.nav == null) return;\n\n const target = event.target as HTMLElement;\n const tab = target.closest('six-tab');\n const tabGroup = tab?.closest('six-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this.host) {\n return false;\n }\n\n // Activate a tab\n if (['Enter', ' '].includes(event.key)) {\n if (tab != null) {\n this.setActiveTab(tab);\n event.preventDefault();\n }\n }\n\n // Move focus left or right\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const activeEl = document.activeElement as HTMLSixTabElement;\n\n if (activeEl && activeEl.tagName.toLowerCase() === 'six-tab') {\n const tabs = this.getAllTabs();\n let index = tabs.indexOf(activeEl);\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = tabs.length - 1;\n } else if (event.key === 'ArrowLeft') {\n index = Math.max(0, index - 1);\n } else if (event.key === 'ArrowRight') {\n index = Math.min(tabs.length - 1, index + 1);\n }\n\n tabs[index].setFocus({ preventScroll: true });\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(tabs[index], this.nav, 'horizontal');\n }\n\n event.preventDefault();\n }\n }\n };\n\n private handleScrollLeft = () => {\n if (this.nav == null) return;\n\n this.nav.scroll({\n left: this.nav.scrollLeft - this.nav.clientWidth,\n behavior: 'smooth',\n });\n };\n\n private handleScrollRight = () => {\n if (this.nav == null) return;\n\n this.nav.scroll({\n left: this.nav.scrollLeft + this.nav.clientWidth,\n behavior: 'smooth',\n });\n };\n\n private updateScrollControls() {\n if (this.nav == null) return;\n\n this.hasScrollControls = this.noScrollControls\n ? false\n : ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;\n }\n\n private setActiveTab(tab: HTMLSixTabElement, emitEvents = true) {\n if (this.nav == null) return;\n\n if (tab != null && tab !== this.activeTab && !tab.disabled) {\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n // Sync tabs and panels\n this.getAllTabs().map((el) => (el.active = el === this.activeTab));\n this.getAllPanels().map((el) => (el.active = el.name === this.activeTab?.panel));\n this.syncActiveTabIndicator();\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, 'horizontal');\n }\n\n // Emit events\n if (emitEvents) {\n if (previousTab != null) {\n this.sixTabHide.emit({ name: previousTab.panel });\n }\n\n this.sixTabShow.emit({ name: this.activeTab.panel });\n }\n }\n }\n\n private setAriaLabels() {\n const tabs = this.getAllTabs();\n const panels = this.getAllPanels();\n\n // Link each tab with its corresponding panel\n tabs.map((tab) => {\n const panel = panels.find((el) => el.name === tab.panel);\n if (panel != null) {\n tab.setAttribute('aria-controls', panel.getAttribute('id') ?? '');\n panel.setAttribute('aria-labelledby', tab.getAttribute('id') ?? '');\n }\n });\n }\n\n private syncActiveTabIndicator = () => {\n if (this.activeTabIndicator == null || this.nav == null) return;\n\n const tab = this.getActiveTab();\n\n if (tab != null) {\n this.activeTabIndicator.style.display = 'block';\n } else {\n this.activeTabIndicator.style.display = 'none';\n return;\n }\n\n const width = tab.clientWidth;\n const height = tab.clientHeight;\n const offset = getOffset(tab, this.nav);\n const offsetTop = offset.top + this.nav.scrollTop;\n const offsetLeft = offset.left + this.nav.scrollLeft;\n\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.activeTabIndicator.style.width = `${width}px`;\n this.activeTabIndicator.style.height = '';\n this.activeTabIndicator.style.transform = `translateX(${offsetLeft}px)`;\n break;\n\n case 'left':\n case 'right':\n this.activeTabIndicator.style.width = '';\n this.activeTabIndicator.style.height = `${height}px`;\n this.activeTabIndicator.style.transform = `translateY(${offsetTop}px)`;\n break;\n }\n };\n\n render() {\n return (\n <div\n part=\"base\"\n ref={(el) => (this.tabGroup = el)}\n class={{\n 'tab-group': true,\n\n // Placements\n 'tab-group--top': this.placement === 'top',\n 'tab-group--bottom': this.placement === 'bottom',\n 'tab-group--left': this.placement === 'left',\n 'tab-group--right': this.placement === 'right',\n\n 'tab-group--has-scroll-controls': this.hasScrollControls,\n }}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\">\n {this.hasScrollControls && (\n <six-icon-button\n class=\"tab-group__scroll-button tab-group__scroll-button--left\"\n exportparts=\"base:scroll-button\"\n name=\"chevron_left\"\n onClick={this.handleScrollLeft}\n />\n )}\n <div ref={(el) => (this.nav = el)} key=\"nav\" part=\"nav\" class=\"tab-group__nav\">\n <div ref={(el) => (this.tabs = el)} part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <div\n ref={(el) => (this.activeTabIndicator = el)}\n part=\"active-tab-indicator\"\n class=\"tab-group__active-tab-indicator\"\n />\n <slot name=\"nav\" onSlotchange={this.syncActiveTabIndicator} />\n </div>\n </div>\n {this.hasScrollControls && (\n <six-icon-button\n class=\"tab-group__scroll-button tab-group__scroll-button--right\"\n exportparts=\"base:scroll-button\"\n name=\"chevron_right\"\n onClick={this.handleScrollRight}\n />\n )}\n </div>\n\n <div ref={(el) => (this.body = el)} part=\"body\" class=\"tab-group__body\">\n <slot onSlotchange={this.syncActiveTabIndicator} />\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as i,c as t,h as s,g as e}from"./p-ac4f4d45.js";import{I as r}from"./p-25a3bf57.js";import{D as n,b as o,a as h}from"./p-8cf72af6.js";import{E as a}from"./p-60621dc6.js";import{h as c}from"./p-d87a6f4d.js";import{a as l,m as p}from"./p-0fe78f9b.js";const u=()=>{const i=new Date;return{hours:i.getHours(),minutes:i.getMinutes(),seconds:i.getSeconds(),milliseconds:i.getMilliseconds(),has24Hours:true}};const m=12;const d=i=>i>m?i-m:i;const f=()=>{const i=new Date;const t=i.getHours();return{hours:d(t),minutes:i.getMinutes(),seconds:i.getSeconds(),milliseconds:i.getMilliseconds(),has24Hours:false,period:t>=m?"PM":"AM"}};const g=(i=true)=>i?u():f();const x=(i,t)=>{const s=i.split(":");const e=t.split(":");return s.length===e.length};const k=(i,t)=>{const s=i.split(":");const e=t.split(":");if(!x(i,t)){console.error(`Timestring did not match expected format.\nExpected format: ${t}\nReceived timestring: ${i}`)}const r={};s.forEach(((i,t)=>{const s=e[t];switch(s){case"HH":r.hours=Number(i);r.has24Hours=true;break;case"hh":r.hours=Number(i);r.has24Hours=false;break;case"mm":r.minutes=Number(i);break;case"ss":r.seconds=Number(i);break;case"ms":r.milliseconds=Number(i);break;case"aa":r.period=i.toUpperCase()==="PM"?"PM":"AM"}}));return r};const b=(i,t)=>{if(i==null){return""}const s=t.split(":");return s.map((t=>{switch(t){case"HH":case"hh":return String(i.hours).padStart(2,"0");case"mm":return String(i.minutes).padStart(2,"0");case"ss":return String(i.seconds).padStart(2,"0");case"ms":return String(i.milliseconds).padStart(3,"0");case"aa":return String(i.period)}})).join(":")};const v=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block;font-family:var(--six-font-family)}.timepicker_clear{display:inline-flex;align-items:center;font-size:inherit;color:var(--six-input-icon-color);border:none;background:none;padding:0;transition:var(--six-transition-fast) color;cursor:pointer}.timepicker_clear:hover{color:var(--six-input-icon-color-hover)}.timepicker_clear:focus{outline:none}.timepicker_clear--right{right:0;position:absolute}.timepicker_clear--left{right:35px;position:absolute}.timepicker__container{position:relative}.timepicker__popup{display:flex;justify-content:center;min-width:min-content;min-height:145px;background-color:white;padding:0.5em 0.5em 1.5em;box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);user-select:none;position:absolute;z-index:var(--six-z-index-dropdown);right:0;left:0}.timepicker__popup--is-up{bottom:100%}.timepicker__popup--is-inline{position:initial;box-shadow:none;border:1px solid var(--six-color-web-rock-400)}.timepicker__separator{display:flex;align-items:center}.timepicker__item--wide{padding-left:0.5rem;padding-right:0.5rem}.input--empty .timepicker_clear{visibility:hidden}.input--hide{display:none}.prefix{cursor:pointer}.prefix--right{right:0;display:inline-flex;position:absolute;font-size:inherit;color:var(--six-input-icon-color);border:none;background:none;margin-right:var(--six-input-spacing-medium);transition:var(--six-transition-fast) color}";const _=145;const y=class{constructor(s){i(this,s);this.sixChange=t(this,"six-timepicker-change",7);this.sixChangeDebounced=t(this,"six-timepicker-change-debounced",7);this.sixClear=t(this,"six-timepicker-clear",7);this.eventListeners=new a;this.handlePickerChange=(i,t)=>{i.stopPropagation();if(this.popupValue==null){return}this.popupValue[t]=i.detail;const s=b(this.popupValue,this.format);this.value=s;this.sixChange.emit({changedProperty:t,value:this.popupValue,valueAsString:s})};this.handleDocumentMouseDown=i=>{const t=i.composedPath();if(!t.includes(this.host)){this.closePopup();return}};this.handleClearClick=i=>{i.stopPropagation();this.value="";this.sixClear.emit();this.sixChange.emit({value:{},valueAsString:""})};this.format="HH:mm:ss";this.separator=":";this.value="";this.open=false;this.inline=false;this.readonly=false;this.disabled=false;this.placement=undefined;this.size="medium";this.required=false;this.placeholder=undefined;this.errorText="";this.label="";this.invalid=false;this.name="";this.clearable=false;this.iconPosition="left";this.hoist=false;this.timeout=n;this.interval=o;this.defaultTime=undefined;this.debounce=n;this.isPopupContentUp=false;this.isDropDownContentUp=false;this.popupValue={}}async resizeHandler(){this.calcIsPopupContentUp();this.moveOpenHoistedPopup()}async scrollHandler(){this.calcIsPopupContentUp();this.moveOpenHoistedPopup()}valueChanged(){this.updateValue()}invalidChanged(i){if(this.inputElement){this.inputElement.invalid=i}}async setFocus(i){var t;(t=this.inputElement)===null||t===void 0?void 0:t.setFocus(i)}connectedCallback(){this.eventListeners.forward("six-timepicker-change","change",this.host)}componentWillLoad(){this.updateValue();if(this.inline){this.open=true}if(this.open){this.eventListeners.add(document,"mousedown",this.handleDocumentMouseDown)}}componentDidLoad(){if(this.inputElement==null)return;const i=this.inputElement;this.eventListeners.add(this.host,"six-timepicker-change",h((i=>this.sixChangeDebounced.emit(i.detail)),this.debounce));this.eventListeners.add(i,"six-input-input",h((t=>{t.stopPropagation();if(!x(i.value,this.format)){this.value=i.value;this.sixChange.emit({value:{},valueAsString:""});return}this.value=i.value;this.popupValue=k(i.value,this.format);this.sixChange.emit({value:this.popupValue,valueAsString:b(this.popupValue,this.format)})}),this.debounce))}componentDidRender(){l(this.hoist,this.popup,this.inputElement,this.wrapper,_,(i=>this.isDropDownContentUp=i))}disconnectedCallback(){this.eventListeners.removeAll()}updateValue(){if(typeof this.value!=="string"||!x(this.value,this.format)){this.value=""}if(this.value===""){if(this.defaultTime==null){this.popupValue=g(this.is24HourClock())}else{this.popupValue=k(this.defaultTime,this.format)}}else{this.popupValue=k(this.value,this.format)}}calcIsPopupContentUp(){if(this.inputElement==null||this.wrapper==null){return}const i=this.inputElement.getBoundingClientRect();const t=this.wrapper.getBoundingClientRect();const s=Math.max(t.height,_);const e=i.y>window.innerHeight/2;this.isPopupContentUp=e&&window.innerHeight<i.bottom+s}moveOpenHoistedPopup(){p(this.hoist,this.open,this.popup,this.inputElement,this.wrapper,_)}getSixTimeUnitPicker(i){return s("six-item-picker",{class:i.class,timeout:this.timeout,interval:this.interval,padded:true,min:i.min,max:i.max,value:this.popupValue[i.propertyName],items:i.items,type:i.type||r.NUMBER,"padding-length":i.paddingLength,"onSix-item-picker-change":t=>this.handlePickerChange(t,i.propertyName)})}getHour24Picker(){if(!this.is24HourClock()){return}return this.getSixTimeUnitPicker({min:0,max:23,propertyName:"hours"})}is24HourClock(){return this.format.includes("HH")}getHour12Picker(){if(!this.is12HourClock()){return}return this.getSixTimeUnitPicker({min:0,max:11,propertyName:"hours"})}is12HourClock(){return this.format.includes("hh")}getAmPmPicker(){if(!this.is12HourClock()){return}const i=["AM","PM"];return this.getSixTimeUnitPicker({items:i,type:r.CUSTOM,propertyName:"period"})}getMinutePicker(){if(!this.format.includes("mm")){return}return this.getSixTimeUnitPicker({min:0,max:59,propertyName:"minutes"})}getSecondsPicker(){if(!this.format.includes("ss")){return}return this.getSixTimeUnitPicker({min:0,max:59,propertyName:"seconds"})}getMillisecondsPicker(){if(!this.format.includes("ms")){return}return this.getSixTimeUnitPicker({min:0,max:999,class:"timepicker__item--wide",paddingLength:3,propertyName:"milliseconds"})}getSeparator(){return s("div",{class:"timepicker__separator"},s("span",null,this.separator))}getContent(){const i=[this.getHour24Picker(),this.getHour12Picker(),this.getMinutePicker(),this.getSecondsPicker(),this.getMillisecondsPicker()];const t=i.filter((i=>i!==undefined));return t.map(((i,s)=>{if(s===t.length-1){return[i]}return[i,this.getSeparator()]}))}openPopup(){if(!this.open&&!this.disabled){this.open=true;this.eventListeners.add(document,"mousedown",this.handleDocumentMouseDown)}}closePopup(){if(this.inline){return}this.open=false;this.eventListeners.remove(document,"mousedown",this.handleDocumentMouseDown)}renderClearable(){return this.clearable&&s("button",{slot:"suffix",class:{timepicker_clear:true,"timepicker_clear--right":this.iconPosition==="left","timepicker_clear--left":this.iconPosition==="right"},type:"button",onClick:this.handleClearClick,tabindex:"-1"},s("six-icon",{size:"small"},"clear"))}renderCustomIcon(){const i=c(this.host,"custom-icon")?s("slot",{name:"custom-icon"}):s("six-icon",{size:this.size==="large"?"medium":this.size},"watch_later");return s("span",{slot:"prefix",part:"icon",class:{prefix:true,"prefix--right":this.iconPosition==="right"}},i)}render(){return s("div",{part:"container",ref:i=>this.wrapper=i,class:"timepicker__container"},s("six-input",{ref:i=>this.inputElement=i,part:"input",onClick:()=>this.openPopup(),value:this.value,placeholder:this.placeholder,readonly:this.readonly,disabled:this.disabled,size:this.size,name:this.name,label:this.label,required:this.required,"error-text":this.errorText,class:{"input--empty":this.value==="","input--hide":this.inline}},this.renderCustomIcon(),this.renderClearable(),c(this.host,"label")?s("span",{slot:"label"},s("slot",{name:"label"})):null),this.open&&s("div",{ref:i=>this.popup=i,part:"popup",class:{timepicker__popup:true,"timepicker__popup--is-up":this.placement==null?this.placement==="top":this.isPopupContentUp,"timepicker__popup--is-inline":this.inline}},...this.getContent(),this.getAmPmPicker()))}get host(){return e(this)}static get watchers(){return{value:["valueChanged"],invalid:["invalidChanged"]}}};y.style=v;export{y as six_timepicker};
2
- //# sourceMappingURL=p-dc3f5996.entry.js.map
1
+ import{r as i,c as t,h as s,g as e}from"./p-6153045b.js";import{I as r}from"./p-0f510624.js";import{D as n,b as o,a as h}from"./p-698bb2c8.js";import{E as a}from"./p-7d95def3.js";import{h as c}from"./p-15559d38.js";import{a as l,m as p}from"./p-59210f0b.js";const u=()=>{const i=new Date;return{hours:i.getHours(),minutes:i.getMinutes(),seconds:i.getSeconds(),milliseconds:i.getMilliseconds(),has24Hours:true}};const m=12;const d=i=>i>m?i-m:i;const f=()=>{const i=new Date;const t=i.getHours();return{hours:d(t),minutes:i.getMinutes(),seconds:i.getSeconds(),milliseconds:i.getMilliseconds(),has24Hours:false,period:t>=m?"PM":"AM"}};const g=(i=true)=>i?u():f();const x=(i,t)=>{const s=i.split(":");const e=t.split(":");return s.length===e.length};const k=(i,t)=>{const s=i.split(":");const e=t.split(":");if(!x(i,t)){console.error(`Timestring did not match expected format.\nExpected format: ${t}\nReceived timestring: ${i}`)}const r={};s.forEach(((i,t)=>{const s=e[t];switch(s){case"HH":r.hours=Number(i);r.has24Hours=true;break;case"hh":r.hours=Number(i);r.has24Hours=false;break;case"mm":r.minutes=Number(i);break;case"ss":r.seconds=Number(i);break;case"ms":r.milliseconds=Number(i);break;case"aa":r.period=i.toUpperCase()==="PM"?"PM":"AM"}}));return r};const b=(i,t)=>{if(i==null){return""}const s=t.split(":");return s.map((t=>{switch(t){case"HH":case"hh":return String(i.hours).padStart(2,"0");case"mm":return String(i.minutes).padStart(2,"0");case"ss":return String(i.seconds).padStart(2,"0");case"ms":return String(i.milliseconds).padStart(3,"0");case"aa":return String(i.period)}})).join(":")};const v=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block;font-family:var(--six-font-family)}.timepicker_clear{display:inline-flex;align-items:center;font-size:inherit;color:var(--six-input-icon-color);border:none;background:none;padding:0;transition:var(--six-transition-fast) color;cursor:pointer}.timepicker_clear:hover{color:var(--six-input-icon-color-hover)}.timepicker_clear:focus{outline:none}.timepicker_clear--right{right:0;position:absolute}.timepicker_clear--left{right:35px;position:absolute}.timepicker__container{position:relative}.timepicker__popup{display:flex;justify-content:center;min-width:min-content;min-height:145px;background-color:white;padding:0.5em 0.5em 1.5em;box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);user-select:none;position:absolute;z-index:var(--six-z-index-dropdown);right:0;left:0}.timepicker__popup--is-up{bottom:100%}.timepicker__popup--is-inline{position:initial;box-shadow:none;border:1px solid var(--six-color-web-rock-400)}.timepicker__separator{display:flex;align-items:center}.timepicker__item--wide{padding-left:0.5rem;padding-right:0.5rem}.input--empty .timepicker_clear{visibility:hidden}.input--hide{display:none}.prefix{cursor:pointer}.prefix--right{right:0;display:inline-flex;position:absolute;font-size:inherit;color:var(--six-input-icon-color);border:none;background:none;margin-right:var(--six-input-spacing-medium);transition:var(--six-transition-fast) color}";const _=145;const y=class{constructor(s){i(this,s);this.sixChange=t(this,"six-timepicker-change",7);this.sixChangeDebounced=t(this,"six-timepicker-change-debounced",7);this.sixClear=t(this,"six-timepicker-clear",7);this.eventListeners=new a;this.handlePickerChange=(i,t)=>{i.stopPropagation();if(this.popupValue==null){return}this.popupValue[t]=i.detail;const s=b(this.popupValue,this.format);this.value=s;this.sixChange.emit({changedProperty:t,value:this.popupValue,valueAsString:s})};this.handleDocumentMouseDown=i=>{const t=i.composedPath();if(!t.includes(this.host)){this.closePopup();return}};this.handleClearClick=i=>{i.stopPropagation();this.value="";this.sixClear.emit();this.sixChange.emit({value:{},valueAsString:""})};this.format="HH:mm:ss";this.separator=":";this.value="";this.open=false;this.inline=false;this.readonly=false;this.disabled=false;this.placement=undefined;this.size="medium";this.required=false;this.placeholder=undefined;this.errorText="";this.label="";this.invalid=false;this.name="";this.clearable=false;this.iconPosition="left";this.hoist=false;this.timeout=n;this.interval=o;this.defaultTime=undefined;this.debounce=n;this.isPopupContentUp=false;this.isDropDownContentUp=false;this.popupValue={}}async resizeHandler(){this.calcIsPopupContentUp();this.moveOpenHoistedPopup()}async scrollHandler(){this.calcIsPopupContentUp();this.moveOpenHoistedPopup()}valueChanged(){this.updateValue()}invalidChanged(i){if(this.inputElement){this.inputElement.invalid=i}}async setFocus(i){var t;(t=this.inputElement)===null||t===void 0?void 0:t.setFocus(i)}connectedCallback(){this.eventListeners.forward("six-timepicker-change","change",this.host)}componentWillLoad(){this.updateValue();if(this.inline){this.open=true}if(this.open){this.eventListeners.add(document,"mousedown",this.handleDocumentMouseDown)}}componentDidLoad(){if(this.inputElement==null)return;const i=this.inputElement;this.eventListeners.add(this.host,"six-timepicker-change",h((i=>this.sixChangeDebounced.emit(i.detail)),this.debounce));this.eventListeners.add(i,"six-input-input",h((t=>{t.stopPropagation();if(!x(i.value,this.format)){this.value=i.value;this.sixChange.emit({value:{},valueAsString:""});return}this.value=i.value;this.popupValue=k(i.value,this.format);this.sixChange.emit({value:this.popupValue,valueAsString:b(this.popupValue,this.format)})}),this.debounce))}componentDidRender(){l(this.hoist,this.popup,this.inputElement,this.wrapper,_,(i=>this.isDropDownContentUp=i))}disconnectedCallback(){this.eventListeners.removeAll()}updateValue(){if(typeof this.value!=="string"||!x(this.value,this.format)){this.value=""}if(this.value===""){if(this.defaultTime==null){this.popupValue=g(this.is24HourClock())}else{this.popupValue=k(this.defaultTime,this.format)}}else{this.popupValue=k(this.value,this.format)}}calcIsPopupContentUp(){if(this.inputElement==null||this.wrapper==null){return}const i=this.inputElement.getBoundingClientRect();const t=this.wrapper.getBoundingClientRect();const s=Math.max(t.height,_);const e=i.y>window.innerHeight/2;this.isPopupContentUp=e&&window.innerHeight<i.bottom+s}moveOpenHoistedPopup(){p(this.hoist,this.open,this.popup,this.inputElement,this.wrapper,_)}getSixTimeUnitPicker(i){return s("six-item-picker",{class:i.class,timeout:this.timeout,interval:this.interval,padded:true,min:i.min,max:i.max,value:this.popupValue[i.propertyName],items:i.items,type:i.type||r.NUMBER,"padding-length":i.paddingLength,"onSix-item-picker-change":t=>this.handlePickerChange(t,i.propertyName)})}getHour24Picker(){if(!this.is24HourClock()){return}return this.getSixTimeUnitPicker({min:0,max:23,propertyName:"hours"})}is24HourClock(){return this.format.includes("HH")}getHour12Picker(){if(!this.is12HourClock()){return}return this.getSixTimeUnitPicker({min:0,max:11,propertyName:"hours"})}is12HourClock(){return this.format.includes("hh")}getAmPmPicker(){if(!this.is12HourClock()){return}const i=["AM","PM"];return this.getSixTimeUnitPicker({items:i,type:r.CUSTOM,propertyName:"period"})}getMinutePicker(){if(!this.format.includes("mm")){return}return this.getSixTimeUnitPicker({min:0,max:59,propertyName:"minutes"})}getSecondsPicker(){if(!this.format.includes("ss")){return}return this.getSixTimeUnitPicker({min:0,max:59,propertyName:"seconds"})}getMillisecondsPicker(){if(!this.format.includes("ms")){return}return this.getSixTimeUnitPicker({min:0,max:999,class:"timepicker__item--wide",paddingLength:3,propertyName:"milliseconds"})}getSeparator(){return s("div",{class:"timepicker__separator"},s("span",null,this.separator))}getContent(){const i=[this.getHour24Picker(),this.getHour12Picker(),this.getMinutePicker(),this.getSecondsPicker(),this.getMillisecondsPicker()];const t=i.filter((i=>i!==undefined));return t.map(((i,s)=>{if(s===t.length-1){return[i]}return[i,this.getSeparator()]}))}openPopup(){if(!this.open&&!this.disabled){this.open=true;this.eventListeners.add(document,"mousedown",this.handleDocumentMouseDown)}}closePopup(){if(this.inline){return}this.open=false;this.eventListeners.remove(document,"mousedown",this.handleDocumentMouseDown)}renderClearable(){return this.clearable&&s("button",{slot:"suffix",class:{timepicker_clear:true,"timepicker_clear--right":this.iconPosition==="left","timepicker_clear--left":this.iconPosition==="right"},type:"button",onClick:this.handleClearClick,tabindex:"-1"},s("six-icon",{size:"small"},"clear"))}renderCustomIcon(){const i=c(this.host,"custom-icon")?s("slot",{name:"custom-icon"}):s("six-icon",{size:this.size==="large"?"medium":this.size},"watch_later");return s("span",{slot:"prefix",part:"icon",class:{prefix:true,"prefix--right":this.iconPosition==="right"}},i)}render(){return s("div",{part:"container",ref:i=>this.wrapper=i,class:"timepicker__container"},s("six-input",{ref:i=>this.inputElement=i,part:"input",onClick:()=>this.openPopup(),value:this.value,placeholder:this.placeholder,readonly:this.readonly,disabled:this.disabled,size:this.size,name:this.name,label:this.label,required:this.required,"error-text":this.errorText,class:{"input--empty":this.value==="","input--hide":this.inline}},this.renderCustomIcon(),this.renderClearable(),c(this.host,"label")?s("span",{slot:"label"},s("slot",{name:"label"})):null),this.open&&s("div",{ref:i=>this.popup=i,part:"popup",class:{timepicker__popup:true,"timepicker__popup--is-up":this.placement==null?this.placement==="top":this.isPopupContentUp,"timepicker__popup--is-inline":this.inline}},...this.getContent(),this.getAmPmPicker()))}get host(){return e(this)}static get watchers(){return{value:["valueChanged"],invalid:["invalidChanged"]}}};y.style=v;export{y as six_timepicker};
2
+ //# sourceMappingURL=p-4abed9df.entry.js.map