@six-group/ui-library 4.0.0-beta.1 → 4.0.0-beta.3

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 (973) hide show
  1. package/dist/cjs/event-listeners-fdfe838c.js +61 -0
  2. package/dist/cjs/event-listeners-fdfe838c.js.map +1 -0
  3. package/dist/cjs/{execution-control-46f388e0.js → execution-control-b4707294.js} +6 -3
  4. package/dist/cjs/execution-control-b4707294.js.map +1 -0
  5. package/dist/cjs/{focus-visible-0b352c74.js → focus-visible-ae2470dd.js} +3 -3
  6. package/dist/cjs/focus-visible-ae2470dd.js.map +1 -0
  7. package/dist/cjs/form-2df8c5bb.js +20 -0
  8. package/dist/cjs/form-2df8c5bb.js.map +1 -0
  9. package/dist/cjs/{form-control-2c17c573.js → form-control-d369af14.js} +10 -11
  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 +94 -0
  14. package/dist/cjs/index.cjs.js.map +1 -1
  15. package/dist/cjs/loader.cjs.js +3 -12
  16. package/dist/cjs/loader.cjs.js.map +1 -1
  17. package/dist/cjs/{modal-48d42228.js → modal-d5f074c7.js} +4 -3
  18. package/dist/cjs/modal-d5f074c7.js.map +1 -0
  19. package/dist/cjs/{popover-f743f62b.js → popover-2df7e154.js} +39 -31
  20. package/dist/cjs/popover-2df7e154.js.map +1 -0
  21. package/dist/cjs/popup-f1d9910f.js +103 -0
  22. package/dist/cjs/popup-f1d9910f.js.map +1 -0
  23. package/dist/cjs/{scroll-76e6f5d7.js → scroll-03678de1.js} +1 -1
  24. package/dist/cjs/scroll-03678de1.js.map +1 -0
  25. package/dist/cjs/set-attributes_2.cjs.entry.js +4 -2
  26. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  27. package/dist/cjs/six-alert.cjs.entry.js +18 -23
  28. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  29. package/dist/cjs/six-avatar.cjs.entry.js +5 -8
  30. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-badge.cjs.entry.js +2 -2
  32. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  33. package/dist/cjs/six-button.cjs.entry.js +36 -34
  34. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-card.cjs.entry.js +1 -1
  36. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  37. package/dist/cjs/six-checkbox.cjs.entry.js +50 -85
  38. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-datepicker.cjs.entry.js +154 -280
  40. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-details.cjs.entry.js +48 -47
  42. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-dialog.cjs.entry.js +37 -41
  44. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-drawer.cjs.entry.js +34 -38
  46. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/six-dropdown_2.cjs.entry.js +215 -196
  48. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-error-page.cjs.entry.js +20 -22
  50. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-file-list-item.cjs.entry.js +2 -2
  52. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  53. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  54. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-file-upload.cjs.entry.js +21 -21
  56. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  58. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-group-label.cjs.entry.js +12 -11
  60. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-header.cjs.entry.js +66 -44
  62. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-icon-button.cjs.entry.js +4 -4
  64. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  66. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-input.cjs.entry.js +95 -128
  68. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-item-picker.cjs.entry.js +62 -81
  70. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  71. package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
  72. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-layout-grid.cjs.entry.js +5 -3
  74. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  76. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  77. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  78. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  79. package/dist/cjs/six-menu-item.cjs.entry.js +9 -7
  80. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  81. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  82. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  83. package/dist/cjs/six-picto.cjs.entry.js +5 -2
  84. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  86. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-progress-ring.cjs.entry.js +4 -4
  88. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-radio.cjs.entry.js +63 -72
  90. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-range.cjs.entry.js +107 -106
  92. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-root.cjs.entry.js +2 -2
  94. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-search-field.cjs.entry.js +11 -6
  96. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-select.cjs.entry.js +190 -223
  98. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +10 -6
  100. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  102. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-sidebar.cjs.entry.js +41 -20
  104. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  105. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  106. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  107. package/dist/cjs/six-switch.cjs.entry.js +58 -64
  108. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  109. package/dist/cjs/six-tab-group.cjs.entry.js +132 -114
  110. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  111. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  112. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  113. package/dist/cjs/six-tab.cjs.entry.js +5 -3
  114. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  115. package/dist/cjs/six-tag.cjs.entry.js +6 -9
  116. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  117. package/dist/cjs/six-textarea.cjs.entry.js +82 -108
  118. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  119. package/dist/cjs/six-tile.cjs.entry.js +14 -17
  120. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  121. package/dist/cjs/six-timepicker.cjs.entry.js +159 -215
  122. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  123. package/dist/cjs/six-tooltip.cjs.entry.js +54 -57
  124. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  125. package/dist/cjs/{slot-ad537f24.js → slot-6e6a400f.js} +11 -10
  126. package/dist/cjs/slot-6e6a400f.js.map +1 -0
  127. package/dist/cjs/{types-64878648.js → types-47199040.js} +1 -1
  128. package/dist/cjs/types-47199040.js.map +1 -0
  129. package/dist/cjs/ui-library.cjs.js +3 -6
  130. package/dist/cjs/ui-library.cjs.js.map +1 -1
  131. package/dist/collection/collection-manifest.json +54 -55
  132. package/dist/collection/components/six-alert/six-alert.js +32 -30
  133. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  134. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  135. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  136. package/dist/collection/components/six-avatar/six-avatar.js +5 -8
  137. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  138. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  139. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  140. package/dist/collection/components/six-badge/six-badge.js +2 -2
  141. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  142. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  143. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  144. package/dist/collection/components/six-button/six-button.js +56 -47
  145. package/dist/collection/components/six-button/six-button.js.map +1 -1
  146. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  147. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  148. package/dist/collection/components/six-card/six-card.js +1 -1
  149. package/dist/collection/components/six-card/six-card.js.map +1 -1
  150. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  151. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  152. package/dist/collection/components/six-checkbox/six-checkbox.js +81 -194
  153. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  154. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +79 -0
  155. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  156. package/dist/collection/components/six-datepicker/components/day-selection.js +3 -3
  157. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  158. package/dist/collection/components/six-datepicker/components/month-selection.js +6 -5
  159. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  160. package/dist/collection/components/six-datepicker/components/year-selection.js +11 -8
  161. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  162. package/dist/collection/components/six-datepicker/six-datepicker.js +219 -395
  163. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  164. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  165. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  166. package/dist/collection/components/six-details/six-details.js +65 -58
  167. package/dist/collection/components/six-details/six-details.js.map +1 -1
  168. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  169. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  170. package/dist/collection/components/six-dialog/six-dialog.js +55 -51
  171. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  172. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  173. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  174. package/dist/collection/components/six-drawer/six-drawer.js +52 -48
  175. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  176. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  177. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  178. package/dist/collection/components/six-dropdown/six-dropdown.js +215 -191
  179. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  180. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +122 -0
  181. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  182. package/dist/collection/components/six-error-page/six-error-page.js +26 -28
  183. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  184. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  185. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  186. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  187. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  188. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  189. package/dist/collection/components/six-file-list-item/six-file-list-item.js +8 -6
  190. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  191. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  192. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  193. package/dist/collection/components/six-file-upload/six-file-upload.js +37 -35
  194. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  195. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  196. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  197. package/dist/collection/components/six-footer/six-footer.js +1 -1
  198. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  199. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  200. package/dist/collection/components/six-group-label/six-group-label.js +15 -13
  201. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  202. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +43 -0
  203. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  204. package/dist/collection/components/six-header/six-header.js +82 -52
  205. package/dist/collection/components/six-header/six-header.js.map +1 -1
  206. package/dist/collection/components/six-header/test/six-header.spec.js +133 -0
  207. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  208. package/dist/collection/components/six-icon/six-icon.js +1 -1
  209. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  210. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  211. package/dist/collection/components/six-icon-button/six-icon-button.js +10 -10
  212. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  213. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  214. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  215. package/dist/collection/components/six-input/six-input.css +1 -1
  216. package/dist/collection/components/six-input/six-input.js +189 -362
  217. package/dist/collection/components/six-input/six-input.js.map +1 -1
  218. package/dist/collection/components/six-input/test/six-input.spec.js +37 -0
  219. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  220. package/dist/collection/components/six-item-picker/six-item-picker.js +79 -94
  221. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  222. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  223. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  224. package/dist/collection/components/six-language-switcher/six-language-switcher.js +7 -5
  225. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  226. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  227. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  228. package/dist/collection/components/six-layout-grid/six-layout-grid.js +10 -8
  229. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  230. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  231. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  232. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  233. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  234. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  235. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  236. package/dist/collection/components/six-menu/six-menu.js +41 -31
  237. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  238. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  239. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  240. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  241. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  242. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  243. package/dist/collection/components/six-menu-item/six-menu-item.js +17 -11
  244. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  245. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  246. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  247. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  248. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  249. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  250. package/dist/collection/components/six-picto/six-picto.js +5 -2
  251. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  252. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  253. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  254. package/dist/collection/components/six-progress-bar/six-progress-bar.js +1 -1
  255. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  256. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  257. package/dist/collection/components/six-progress-ring/six-progress-ring.js +6 -5
  258. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  259. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  260. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  261. package/dist/collection/components/six-radio/six-radio.js +82 -148
  262. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  263. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  264. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  265. package/dist/collection/components/six-range/six-range.js +149 -190
  266. package/dist/collection/components/six-range/six-range.js.map +1 -1
  267. package/dist/collection/components/six-range/test/six-range.spec.js +32 -0
  268. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  269. package/dist/collection/components/six-root/six-root.js +9 -7
  270. package/dist/collection/components/six-root/six-root.js.map +1 -1
  271. package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
  272. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  273. package/dist/collection/components/six-search-field/six-search-field.js +15 -9
  274. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  275. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  276. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  277. package/dist/collection/components/six-select/six-select.css +6 -9
  278. package/dist/collection/components/six-select/six-select.js +235 -349
  279. package/dist/collection/components/six-select/six-select.js.map +1 -1
  280. package/dist/collection/components/six-select/test/six-select.spec.js +82 -0
  281. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  282. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  283. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  284. package/dist/collection/components/six-select/util.js +52 -0
  285. package/dist/collection/components/six-select/util.js.map +1 -0
  286. package/dist/collection/components/six-sidebar/six-sidebar.js +66 -33
  287. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  288. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  289. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  290. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +1 -1
  291. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  292. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  293. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +14 -10
  294. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  295. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  296. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  297. package/dist/collection/components/six-spinner/six-spinner.js +1 -1
  298. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  299. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  300. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  301. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +4 -3
  302. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  303. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  304. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  305. package/dist/collection/components/six-switch/six-switch.css +77 -0
  306. package/dist/collection/components/six-switch/six-switch.js +108 -139
  307. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  308. package/dist/collection/components/six-switch/test/six-switch.spec.js +69 -0
  309. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  310. package/dist/collection/components/six-tab/six-tab.js +13 -7
  311. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  312. package/dist/collection/components/six-tab/test/six-tab.spec.js +20 -0
  313. package/dist/collection/components/six-tab/test/six-tab.spec.js.map +1 -0
  314. package/dist/collection/components/six-tab-group/six-tab-group.js +140 -119
  315. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  316. package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js +45 -0
  317. package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js.map +1 -0
  318. package/dist/collection/components/six-tab-panel/six-tab-panel.js +2 -2
  319. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  320. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  321. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  322. package/dist/collection/components/six-tag/six-tag.css +6 -0
  323. package/dist/collection/components/six-tag/six-tag.js +7 -9
  324. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  325. package/dist/collection/components/six-tag/test/six-tag.spec.js +42 -0
  326. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  327. package/dist/collection/components/six-textarea/six-textarea.js +167 -282
  328. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  329. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +117 -0
  330. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  331. package/dist/collection/components/six-tile/six-tile.js +26 -25
  332. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  333. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  334. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  335. package/dist/collection/components/six-timepicker/six-timepicker.js +169 -264
  336. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  337. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  338. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  339. package/dist/collection/components/six-tooltip/six-tooltip.js +69 -66
  340. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  341. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  342. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  343. package/dist/collection/functional-components/form-control/form-control.js +9 -10
  344. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  345. package/dist/collection/index.js +1 -1
  346. package/dist/collection/index.js.map +1 -1
  347. package/dist/collection/testUtil/delay.js.map +1 -1
  348. package/dist/collection/utils/date-util.js +25 -16
  349. package/dist/collection/utils/date-util.js.map +1 -1
  350. package/dist/collection/utils/date-util.spec.js +995 -0
  351. package/dist/collection/utils/date-util.spec.js.map +1 -0
  352. package/dist/collection/utils/error-messages.js +91 -0
  353. package/dist/collection/utils/error-messages.js.map +1 -0
  354. package/dist/collection/utils/event-listeners.js +22 -6
  355. package/dist/collection/utils/event-listeners.js.map +1 -1
  356. package/dist/collection/utils/execution-control.js +5 -4
  357. package/dist/collection/utils/execution-control.js.map +1 -1
  358. package/dist/collection/utils/focus-visible.js +2 -2
  359. package/dist/collection/utils/focus-visible.js.map +1 -1
  360. package/dist/collection/utils/form.js +15 -0
  361. package/dist/collection/utils/form.js.map +1 -0
  362. package/dist/collection/utils/modal.js +3 -2
  363. package/dist/collection/utils/modal.js.map +1 -1
  364. package/dist/collection/utils/popover.js +33 -19
  365. package/dist/collection/utils/popover.js.map +1 -1
  366. package/dist/collection/utils/popup.js +95 -0
  367. package/dist/collection/utils/popup.js.map +1 -0
  368. package/dist/collection/utils/scroll.js +1 -1
  369. package/dist/collection/utils/scroll.spec.js +122 -0
  370. package/dist/collection/utils/scroll.spec.js.map +1 -0
  371. package/dist/collection/utils/slot.js +9 -24
  372. package/dist/collection/utils/slot.js.map +1 -1
  373. package/dist/collection/utils/tabbable.js +6 -6
  374. package/dist/collection/utils/tabbable.js.map +1 -1
  375. package/dist/collection/utils/time.util.js +48 -34
  376. package/dist/collection/utils/time.util.js.map +1 -1
  377. package/dist/collection/utils/time.util.spec.js +368 -0
  378. package/dist/collection/utils/time.util.spec.js.map +1 -0
  379. package/dist/collection/utils/type-check.js +0 -1
  380. package/dist/collection/utils/type-check.js.map +1 -1
  381. package/dist/collection/wrappers/set-attributes/set-attributes.js +4 -2
  382. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  383. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
  384. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
  385. package/dist/components/event-listeners.js +22 -6
  386. package/dist/components/event-listeners.js.map +1 -1
  387. package/dist/components/execution-control.js +5 -2
  388. package/dist/components/execution-control.js.map +1 -1
  389. package/dist/components/focus-visible.js +2 -2
  390. package/dist/components/focus-visible.js.map +1 -1
  391. package/dist/components/form-control.js +8 -9
  392. package/dist/components/form-control.js.map +1 -1
  393. package/dist/components/form.js +18 -0
  394. package/dist/components/form.js.map +1 -0
  395. package/dist/components/index.js +92 -3
  396. package/dist/components/index.js.map +1 -1
  397. package/dist/components/modal.js +3 -2
  398. package/dist/components/modal.js.map +1 -1
  399. package/dist/components/popover.js +38 -30
  400. package/dist/components/popover.js.map +1 -1
  401. package/dist/components/scroll.js.map +1 -1
  402. package/dist/components/set-attributes2.js +3 -1
  403. package/dist/components/set-attributes2.js.map +1 -1
  404. package/dist/components/six-alert.js +17 -22
  405. package/dist/components/six-alert.js.map +1 -1
  406. package/dist/components/six-avatar.js +4 -7
  407. package/dist/components/six-avatar.js.map +1 -1
  408. package/dist/components/six-badge.js +1 -1
  409. package/dist/components/six-badge.js.map +1 -1
  410. package/dist/components/six-button.js +34 -32
  411. package/dist/components/six-button.js.map +1 -1
  412. package/dist/components/six-card.js.map +1 -1
  413. package/dist/components/six-checkbox.js +48 -89
  414. package/dist/components/six-checkbox.js.map +1 -1
  415. package/dist/components/six-datepicker.js +153 -282
  416. package/dist/components/six-datepicker.js.map +1 -1
  417. package/dist/components/six-details2.js +46 -45
  418. package/dist/components/six-details2.js.map +1 -1
  419. package/dist/components/six-dialog.js +33 -37
  420. package/dist/components/six-dialog.js.map +1 -1
  421. package/dist/components/six-drawer.js +30 -34
  422. package/dist/components/six-drawer.js.map +1 -1
  423. package/dist/components/six-dropdown2.js +185 -173
  424. package/dist/components/six-dropdown2.js.map +1 -1
  425. package/dist/components/six-error-page.js +19 -21
  426. package/dist/components/six-error-page.js.map +1 -1
  427. package/dist/components/six-file-list-item.js +1 -1
  428. package/dist/components/six-file-list-item.js.map +1 -1
  429. package/dist/components/six-file-list.js.map +1 -1
  430. package/dist/components/six-file-upload.js +20 -20
  431. package/dist/components/six-file-upload.js.map +1 -1
  432. package/dist/components/six-footer.js.map +1 -1
  433. package/dist/components/six-group-label.js +10 -9
  434. package/dist/components/six-group-label.js.map +1 -1
  435. package/dist/components/six-header.js +64 -42
  436. package/dist/components/six-header.js.map +1 -1
  437. package/dist/components/six-icon-button2.js +2 -2
  438. package/dist/components/six-icon-button2.js.map +1 -1
  439. package/dist/components/six-icon2.js.map +1 -1
  440. package/dist/components/six-input2.js +96 -138
  441. package/dist/components/six-input2.js.map +1 -1
  442. package/dist/components/six-item-picker2.js +58 -77
  443. package/dist/components/six-item-picker2.js.map +1 -1
  444. package/dist/components/six-language-switcher.js +1 -1
  445. package/dist/components/six-language-switcher.js.map +1 -1
  446. package/dist/components/six-layout-grid.js +5 -3
  447. package/dist/components/six-layout-grid.js.map +1 -1
  448. package/dist/components/six-main-container.js.map +1 -1
  449. package/dist/components/six-menu-divider.js.map +1 -1
  450. package/dist/components/six-menu-item2.js +7 -5
  451. package/dist/components/six-menu-item2.js.map +1 -1
  452. package/dist/components/six-menu-label.js.map +1 -1
  453. package/dist/components/six-menu2.js +25 -18
  454. package/dist/components/six-menu2.js.map +1 -1
  455. package/dist/components/six-picto2.js +4 -1
  456. package/dist/components/six-picto2.js.map +1 -1
  457. package/dist/components/six-progress-bar.js.map +1 -1
  458. package/dist/components/six-progress-ring.js +3 -3
  459. package/dist/components/six-progress-ring.js.map +1 -1
  460. package/dist/components/six-radio.js +65 -78
  461. package/dist/components/six-radio.js.map +1 -1
  462. package/dist/components/six-range.js +108 -111
  463. package/dist/components/six-range.js.map +1 -1
  464. package/dist/components/six-root.js +1 -1
  465. package/dist/components/six-root.js.map +1 -1
  466. package/dist/components/six-search-field.js +8 -3
  467. package/dist/components/six-search-field.js.map +1 -1
  468. package/dist/components/six-select.js +190 -229
  469. package/dist/components/six-select.js.map +1 -1
  470. package/dist/components/six-sidebar-item-group.js +8 -4
  471. package/dist/components/six-sidebar-item-group.js.map +1 -1
  472. package/dist/components/six-sidebar-item.js.map +1 -1
  473. package/dist/components/six-sidebar.js +39 -18
  474. package/dist/components/six-sidebar.js.map +1 -1
  475. package/dist/components/six-spinner2.js.map +1 -1
  476. package/dist/components/six-stage-indicator2.js.map +1 -1
  477. package/dist/components/six-switch.js +61 -69
  478. package/dist/components/six-switch.js.map +1 -1
  479. package/dist/components/six-tab-group.js +129 -111
  480. package/dist/components/six-tab-group.js.map +1 -1
  481. package/dist/components/six-tab-panel.js +1 -1
  482. package/dist/components/six-tab-panel.js.map +1 -1
  483. package/dist/components/six-tab.js +4 -2
  484. package/dist/components/six-tab.js.map +1 -1
  485. package/dist/components/six-tag2.js +5 -8
  486. package/dist/components/six-tag2.js.map +1 -1
  487. package/dist/components/six-textarea.js +83 -115
  488. package/dist/components/six-textarea.js.map +1 -1
  489. package/dist/components/six-tile.js +14 -17
  490. package/dist/components/six-tile.js.map +1 -1
  491. package/dist/components/six-timepicker.js +1 -1
  492. package/dist/components/six-timepicker2.js +247 -258
  493. package/dist/components/six-timepicker2.js.map +1 -1
  494. package/dist/components/six-tooltip2.js +52 -55
  495. package/dist/components/six-tooltip2.js.map +1 -1
  496. package/dist/components/slot.js +10 -9
  497. package/dist/components/slot.js.map +1 -1
  498. package/dist/components.d.ts +361 -88
  499. package/dist/components.json +4265 -1020
  500. package/dist/esm/event-listeners-f6e5b0ab.js +59 -0
  501. package/dist/esm/event-listeners-f6e5b0ab.js.map +1 -0
  502. package/dist/esm/{execution-control-1a60d709.js → execution-control-e0892a05.js} +6 -3
  503. package/dist/esm/execution-control-e0892a05.js.map +1 -0
  504. package/dist/esm/{focus-visible-97933ea9.js → focus-visible-fc6ac671.js} +3 -3
  505. package/dist/esm/focus-visible-fc6ac671.js.map +1 -0
  506. package/dist/esm/form-81252534.js +18 -0
  507. package/dist/esm/form-81252534.js.map +1 -0
  508. package/dist/esm/{form-control-3b440ea1.js → form-control-32cb533f.js} +10 -11
  509. package/dist/esm/form-control-32cb533f.js.map +1 -0
  510. package/dist/esm/{index-5c0f6628.js → index-8a74f992.js} +186 -53
  511. package/dist/esm/index-8a74f992.js.map +1 -0
  512. package/dist/esm/index.js +91 -0
  513. package/dist/esm/index.js.map +1 -1
  514. package/dist/esm/loader.js +4 -13
  515. package/dist/esm/loader.js.map +1 -1
  516. package/dist/esm/{modal-5ebdc320.js → modal-7d32e141.js} +4 -3
  517. package/dist/esm/modal-7d32e141.js.map +1 -0
  518. package/dist/esm/{popover-bd2c2fca.js → popover-136d1f73.js} +39 -31
  519. package/dist/esm/popover-136d1f73.js.map +1 -0
  520. package/dist/esm/popup-7f89a001.js +98 -0
  521. package/dist/esm/popup-7f89a001.js.map +1 -0
  522. package/dist/esm/{scroll-180b53fd.js → scroll-3fb087a2.js} +1 -1
  523. package/dist/esm/scroll-3fb087a2.js.map +1 -0
  524. package/dist/esm/set-attributes_2.entry.js +4 -2
  525. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  526. package/dist/esm/six-alert.entry.js +18 -23
  527. package/dist/esm/six-alert.entry.js.map +1 -1
  528. package/dist/esm/six-avatar.entry.js +5 -8
  529. package/dist/esm/six-avatar.entry.js.map +1 -1
  530. package/dist/esm/six-badge.entry.js +2 -2
  531. package/dist/esm/six-badge.entry.js.map +1 -1
  532. package/dist/esm/six-button.entry.js +36 -34
  533. package/dist/esm/six-button.entry.js.map +1 -1
  534. package/dist/esm/six-card.entry.js +1 -1
  535. package/dist/esm/six-card.entry.js.map +1 -1
  536. package/dist/esm/six-checkbox.entry.js +50 -85
  537. package/dist/esm/six-checkbox.entry.js.map +1 -1
  538. package/dist/esm/six-datepicker.entry.js +152 -278
  539. package/dist/esm/six-datepicker.entry.js.map +1 -1
  540. package/dist/esm/six-details.entry.js +48 -47
  541. package/dist/esm/six-details.entry.js.map +1 -1
  542. package/dist/esm/six-dialog.entry.js +37 -41
  543. package/dist/esm/six-dialog.entry.js.map +1 -1
  544. package/dist/esm/six-drawer.entry.js +34 -38
  545. package/dist/esm/six-drawer.entry.js.map +1 -1
  546. package/dist/esm/six-dropdown_2.entry.js +215 -196
  547. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  548. package/dist/esm/six-error-page.entry.js +20 -22
  549. package/dist/esm/six-error-page.entry.js.map +1 -1
  550. package/dist/esm/six-file-list-item.entry.js +2 -2
  551. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  552. package/dist/esm/six-file-list.entry.js +1 -1
  553. package/dist/esm/six-file-list.entry.js.map +1 -1
  554. package/dist/esm/six-file-upload.entry.js +21 -21
  555. package/dist/esm/six-file-upload.entry.js.map +1 -1
  556. package/dist/esm/six-footer.entry.js +1 -1
  557. package/dist/esm/six-footer.entry.js.map +1 -1
  558. package/dist/esm/six-group-label.entry.js +12 -11
  559. package/dist/esm/six-group-label.entry.js.map +1 -1
  560. package/dist/esm/six-header.entry.js +66 -44
  561. package/dist/esm/six-header.entry.js.map +1 -1
  562. package/dist/esm/six-icon-button.entry.js +4 -4
  563. package/dist/esm/six-icon-button.entry.js.map +1 -1
  564. package/dist/esm/six-icon.entry.js +1 -1
  565. package/dist/esm/six-icon.entry.js.map +1 -1
  566. package/dist/esm/six-input.entry.js +95 -128
  567. package/dist/esm/six-input.entry.js.map +1 -1
  568. package/dist/esm/six-item-picker.entry.js +62 -81
  569. package/dist/esm/six-item-picker.entry.js.map +1 -1
  570. package/dist/esm/six-language-switcher.entry.js +2 -2
  571. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  572. package/dist/esm/six-layout-grid.entry.js +5 -3
  573. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  574. package/dist/esm/six-main-container.entry.js +1 -1
  575. package/dist/esm/six-main-container.entry.js.map +1 -1
  576. package/dist/esm/six-menu-divider.entry.js +1 -1
  577. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  578. package/dist/esm/six-menu-item.entry.js +9 -7
  579. package/dist/esm/six-menu-item.entry.js.map +1 -1
  580. package/dist/esm/six-menu-label.entry.js +1 -1
  581. package/dist/esm/six-menu-label.entry.js.map +1 -1
  582. package/dist/esm/six-picto.entry.js +5 -2
  583. package/dist/esm/six-picto.entry.js.map +1 -1
  584. package/dist/esm/six-progress-bar.entry.js +1 -1
  585. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  586. package/dist/esm/six-progress-ring.entry.js +4 -4
  587. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  588. package/dist/esm/six-radio.entry.js +63 -72
  589. package/dist/esm/six-radio.entry.js.map +1 -1
  590. package/dist/esm/six-range.entry.js +107 -106
  591. package/dist/esm/six-range.entry.js.map +1 -1
  592. package/dist/esm/six-root.entry.js +2 -2
  593. package/dist/esm/six-root.entry.js.map +1 -1
  594. package/dist/esm/six-search-field.entry.js +11 -6
  595. package/dist/esm/six-search-field.entry.js.map +1 -1
  596. package/dist/esm/six-select.entry.js +190 -223
  597. package/dist/esm/six-select.entry.js.map +1 -1
  598. package/dist/esm/six-sidebar-item-group.entry.js +10 -6
  599. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  600. package/dist/esm/six-sidebar-item.entry.js +1 -1
  601. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  602. package/dist/esm/six-sidebar.entry.js +41 -20
  603. package/dist/esm/six-sidebar.entry.js.map +1 -1
  604. package/dist/esm/six-spinner.entry.js +1 -1
  605. package/dist/esm/six-spinner.entry.js.map +1 -1
  606. package/dist/esm/six-switch.entry.js +58 -64
  607. package/dist/esm/six-switch.entry.js.map +1 -1
  608. package/dist/esm/six-tab-group.entry.js +132 -114
  609. package/dist/esm/six-tab-group.entry.js.map +1 -1
  610. package/dist/esm/six-tab-panel.entry.js +2 -2
  611. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  612. package/dist/esm/six-tab.entry.js +5 -3
  613. package/dist/esm/six-tab.entry.js.map +1 -1
  614. package/dist/esm/six-tag.entry.js +6 -9
  615. package/dist/esm/six-tag.entry.js.map +1 -1
  616. package/dist/esm/six-textarea.entry.js +82 -108
  617. package/dist/esm/six-textarea.entry.js.map +1 -1
  618. package/dist/esm/six-tile.entry.js +14 -17
  619. package/dist/esm/six-tile.entry.js.map +1 -1
  620. package/dist/esm/six-timepicker.entry.js +159 -215
  621. package/dist/esm/six-timepicker.entry.js.map +1 -1
  622. package/dist/esm/six-tooltip.entry.js +54 -57
  623. package/dist/esm/six-tooltip.entry.js.map +1 -1
  624. package/dist/esm/{slot-6f3984c7.js → slot-ad36df3a.js} +11 -10
  625. package/dist/esm/slot-ad36df3a.js.map +1 -0
  626. package/dist/esm/{types-4b10b413.js → types-59b455aa.js} +1 -1
  627. package/dist/esm/types-59b455aa.js.map +1 -0
  628. package/dist/esm/ui-library.js +4 -7
  629. package/dist/esm/ui-library.js.map +1 -1
  630. package/dist/types/components/six-alert/six-alert.d.ts +5 -7
  631. package/dist/types/components/six-avatar/six-avatar.d.ts +1 -2
  632. package/dist/types/components/six-badge/six-badge.d.ts +0 -1
  633. package/dist/types/components/six-button/six-button.d.ts +8 -9
  634. package/dist/types/components/six-checkbox/six-checkbox.d.ts +23 -35
  635. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  636. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  637. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  638. package/dist/types/components/six-datepicker/six-datepicker.d.ts +41 -52
  639. package/dist/types/components/six-details/six-details.d.ts +12 -12
  640. package/dist/types/components/six-dialog/six-dialog.d.ts +12 -13
  641. package/dist/types/components/six-drawer/six-drawer.d.ts +12 -13
  642. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -32
  643. package/dist/types/components/six-error-page/six-error-page.d.ts +1 -1
  644. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +3 -3
  645. package/dist/types/components/six-file-upload/six-file-upload.d.ts +11 -11
  646. package/dist/types/components/six-group-label/six-group-label.d.ts +5 -5
  647. package/dist/types/components/six-header/six-header.d.ts +16 -27
  648. package/dist/types/components/six-icon-button/six-icon-button.d.ts +4 -4
  649. package/dist/types/components/six-input/six-input.d.ts +32 -67
  650. package/dist/types/components/six-item-picker/six-item-picker.d.ts +13 -16
  651. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +1 -1
  652. package/dist/types/components/six-menu/six-menu.d.ts +10 -11
  653. package/dist/types/components/six-menu-item/six-menu-item.d.ts +6 -6
  654. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +2 -2
  655. package/dist/types/components/six-radio/six-radio.d.ts +14 -25
  656. package/dist/types/components/six-range/six-range.d.ts +27 -38
  657. package/dist/types/components/six-root/six-root.d.ts +3 -3
  658. package/dist/types/components/six-search-field/six-search-field.d.ts +4 -5
  659. package/dist/types/components/six-select/six-select.d.ts +41 -58
  660. package/dist/types/components/six-select/util.d.ts +7 -0
  661. package/dist/types/components/six-sidebar/six-sidebar.d.ts +5 -5
  662. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +7 -6
  663. package/dist/types/components/six-spinner/six-spinner.d.ts +2 -2
  664. package/dist/types/components/six-switch/six-switch.d.ts +18 -21
  665. package/dist/types/components/six-tab/six-tab.d.ts +3 -3
  666. package/dist/types/components/six-tab-group/six-tab-group.d.ts +20 -21
  667. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +1 -1
  668. package/dist/types/components/six-tag/six-tag.d.ts +1 -3
  669. package/dist/types/components/six-textarea/six-textarea.d.ts +27 -55
  670. package/dist/types/components/six-tile/six-tile.d.ts +2 -3
  671. package/dist/types/components/six-timepicker/six-timepicker.d.ts +26 -43
  672. package/dist/types/components/six-tooltip/six-tooltip.d.ts +19 -21
  673. package/dist/types/components.d.ts +209 -452
  674. package/dist/types/functional-components/form-control/form-control.d.ts +5 -6
  675. package/dist/types/index.d.ts +1 -0
  676. package/dist/types/stencil-public-runtime.d.ts +15 -2
  677. package/dist/types/testUtil/delay.d.ts +1 -1
  678. package/dist/types/types.d.ts +2 -0
  679. package/dist/types/utils/date-util.d.ts +18 -10
  680. package/dist/types/utils/error-messages.d.ts +42 -0
  681. package/dist/types/utils/event-listeners.d.ts +4 -3
  682. package/dist/types/utils/execution-control.d.ts +1 -3
  683. package/dist/types/utils/form.d.ts +1 -0
  684. package/dist/types/utils/modal.d.ts +2 -2
  685. package/dist/types/utils/popover.d.ts +5 -5
  686. package/dist/types/utils/popup.d.ts +9 -0
  687. package/dist/types/utils/slot.d.ts +2 -7
  688. package/dist/types/utils/tabbable.d.ts +1 -1
  689. package/dist/types/utils/time.util.d.ts +18 -9
  690. package/dist/types/utils/type-check.d.ts +3 -4
  691. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +1 -1
  692. package/dist/ui-library/index.esm.js +1 -1
  693. package/dist/ui-library/index.esm.js.map +1 -1
  694. package/dist/ui-library/p-02981b91.entry.js +2 -0
  695. package/dist/ui-library/p-02981b91.entry.js.map +1 -0
  696. package/dist/ui-library/{p-25a3bf57.js → p-0f510624.js} +1 -1
  697. package/dist/ui-library/p-0f510624.js.map +1 -0
  698. package/dist/ui-library/p-0fdb185d.js +2 -0
  699. package/dist/ui-library/p-0fdb185d.js.map +1 -0
  700. package/dist/ui-library/{p-611e1978.entry.js → p-1256cc0a.entry.js} +2 -2
  701. package/dist/ui-library/p-1256cc0a.entry.js.map +1 -0
  702. package/dist/ui-library/{p-19364560.entry.js → p-13b43e04.entry.js} +2 -2
  703. package/dist/ui-library/p-13b43e04.entry.js.map +1 -0
  704. package/dist/ui-library/p-15559d38.js +2 -0
  705. package/dist/ui-library/p-15559d38.js.map +1 -0
  706. package/dist/ui-library/p-19ed7a4c.entry.js +2 -0
  707. package/dist/ui-library/p-19ed7a4c.entry.js.map +1 -0
  708. package/dist/ui-library/{p-97323ad7.entry.js → p-1d5ee1a0.entry.js} +2 -2
  709. package/dist/ui-library/p-1d5ee1a0.entry.js.map +1 -0
  710. package/dist/ui-library/{p-eb8f05a9.js → p-1f18768a.js} +1 -1
  711. package/dist/ui-library/p-1f18768a.js.map +1 -0
  712. package/dist/ui-library/p-21b3b321.entry.js +2 -0
  713. package/dist/ui-library/p-21b3b321.entry.js.map +1 -0
  714. package/dist/ui-library/p-264d4ea8.entry.js +2 -0
  715. package/dist/ui-library/p-264d4ea8.entry.js.map +1 -0
  716. package/dist/ui-library/{p-c30f9e0b.entry.js → p-29ac3d7d.entry.js} +2 -2
  717. package/dist/ui-library/p-29ac3d7d.entry.js.map +1 -0
  718. package/dist/ui-library/p-314b2096.entry.js +2 -0
  719. package/dist/ui-library/p-314b2096.entry.js.map +1 -0
  720. package/dist/ui-library/p-330a4988.entry.js +2 -0
  721. package/dist/ui-library/p-330a4988.entry.js.map +1 -0
  722. package/dist/ui-library/{p-21859bca.entry.js → p-346f9557.entry.js} +2 -2
  723. package/dist/ui-library/p-346f9557.entry.js.map +1 -0
  724. package/dist/ui-library/p-37557787.entry.js +2 -0
  725. package/dist/ui-library/p-37557787.entry.js.map +1 -0
  726. package/dist/ui-library/{p-baa03951.entry.js → p-3cc5addb.entry.js} +2 -2
  727. package/dist/ui-library/p-3cc5addb.entry.js.map +1 -0
  728. package/dist/ui-library/p-3d9de119.entry.js +2 -0
  729. package/dist/ui-library/p-3d9de119.entry.js.map +1 -0
  730. package/dist/ui-library/p-411ed539.entry.js +2 -0
  731. package/dist/ui-library/p-411ed539.entry.js.map +1 -0
  732. package/dist/ui-library/p-4705a51e.entry.js +2 -0
  733. package/dist/ui-library/p-4705a51e.entry.js.map +1 -0
  734. package/dist/ui-library/p-4abed9df.entry.js +2 -0
  735. package/dist/ui-library/p-4abed9df.entry.js.map +1 -0
  736. package/dist/ui-library/p-5654e4c7.js +2 -0
  737. package/dist/ui-library/p-5654e4c7.js.map +1 -0
  738. package/dist/ui-library/p-59210f0b.js +2 -0
  739. package/dist/ui-library/p-59210f0b.js.map +1 -0
  740. package/dist/ui-library/{p-19b50b5a.entry.js → p-5af44076.entry.js} +2 -2
  741. package/dist/ui-library/p-5af44076.entry.js.map +1 -0
  742. package/dist/ui-library/p-5d6b7353.entry.js +2 -0
  743. package/dist/ui-library/p-5d6b7353.entry.js.map +1 -0
  744. package/dist/ui-library/{p-097cced4.entry.js → p-613283a7.entry.js} +2 -2
  745. package/dist/ui-library/p-613283a7.entry.js.map +1 -0
  746. package/dist/ui-library/p-6153045b.js +3 -0
  747. package/dist/ui-library/p-6153045b.js.map +1 -0
  748. package/dist/ui-library/{p-e19a6c95.entry.js → p-6197fe2f.entry.js} +2 -2
  749. package/dist/ui-library/p-6197fe2f.entry.js.map +1 -0
  750. package/dist/ui-library/p-698bb2c8.js +2 -0
  751. package/dist/ui-library/p-698bb2c8.js.map +1 -0
  752. package/dist/ui-library/{p-d5633a29.entry.js → p-72254eef.entry.js} +2 -2
  753. package/dist/ui-library/p-72254eef.entry.js.map +1 -0
  754. package/dist/ui-library/p-724875b0.entry.js +2 -0
  755. package/dist/ui-library/p-724875b0.entry.js.map +1 -0
  756. package/dist/ui-library/{p-dd3c76f1.entry.js → p-7afafb9d.entry.js} +2 -2
  757. package/dist/ui-library/p-7afafb9d.entry.js.map +1 -0
  758. package/dist/ui-library/p-7d95def3.js +2 -0
  759. package/dist/ui-library/p-7d95def3.js.map +1 -0
  760. package/dist/ui-library/{p-63703ba3.entry.js → p-7e3ad38a.entry.js} +2 -2
  761. package/dist/ui-library/p-7e3ad38a.entry.js.map +1 -0
  762. package/dist/ui-library/p-83864cfe.entry.js +2 -0
  763. package/dist/ui-library/p-83864cfe.entry.js.map +1 -0
  764. package/dist/ui-library/{p-9328e5bc.entry.js → p-878226a0.entry.js} +2 -2
  765. package/dist/ui-library/p-878226a0.entry.js.map +1 -0
  766. package/dist/ui-library/p-8c0971e0.js +2 -0
  767. package/dist/ui-library/p-8c0971e0.js.map +1 -0
  768. package/dist/ui-library/p-91b51800.entry.js +2 -0
  769. package/dist/ui-library/p-91b51800.entry.js.map +1 -0
  770. package/dist/ui-library/p-95fbdd0b.entry.js +2 -0
  771. package/dist/ui-library/p-95fbdd0b.entry.js.map +1 -0
  772. package/dist/ui-library/p-99e24daf.entry.js +2 -0
  773. package/dist/ui-library/p-99e24daf.entry.js.map +1 -0
  774. package/dist/ui-library/{p-4f8394d7.js → p-9ace84c7.js} +2 -2
  775. package/dist/ui-library/p-9ace84c7.js.map +1 -0
  776. package/dist/ui-library/p-9b354f5d.entry.js +2 -0
  777. package/dist/ui-library/p-9b354f5d.entry.js.map +1 -0
  778. package/dist/ui-library/{p-c349d1d4.entry.js → p-9c1be3fb.entry.js} +2 -2
  779. package/dist/ui-library/p-9c1be3fb.entry.js.map +1 -0
  780. package/dist/ui-library/p-9f0b43f9.entry.js +2 -0
  781. package/dist/ui-library/p-9f0b43f9.entry.js.map +1 -0
  782. package/dist/ui-library/{p-af793d04.entry.js → p-a0f290d0.entry.js} +2 -2
  783. package/dist/ui-library/p-a0f290d0.entry.js.map +1 -0
  784. package/dist/ui-library/p-a55c7258.entry.js +2 -0
  785. package/dist/ui-library/p-a55c7258.entry.js.map +1 -0
  786. package/dist/ui-library/{p-6d75f216.entry.js → p-a6a9ee96.entry.js} +2 -2
  787. package/dist/ui-library/p-a6a9ee96.entry.js.map +1 -0
  788. package/dist/ui-library/{p-73597d13.entry.js → p-ac099e6b.entry.js} +2 -2
  789. package/dist/ui-library/p-ac099e6b.entry.js.map +1 -0
  790. package/dist/ui-library/p-ae601a0f.entry.js +2 -0
  791. package/dist/ui-library/p-ae601a0f.entry.js.map +1 -0
  792. package/dist/ui-library/p-b351f889.entry.js +2 -0
  793. package/dist/ui-library/p-b351f889.entry.js.map +1 -0
  794. package/dist/ui-library/{p-6433c0da.entry.js → p-b550a258.entry.js} +2 -2
  795. package/dist/ui-library/p-b550a258.entry.js.map +1 -0
  796. package/dist/ui-library/{p-90dc6af4.entry.js → p-bf87464b.entry.js} +2 -2
  797. package/dist/ui-library/p-bf87464b.entry.js.map +1 -0
  798. package/dist/ui-library/p-c03ebf7d.entry.js +2 -0
  799. package/dist/ui-library/p-c03ebf7d.entry.js.map +1 -0
  800. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-cd67da3d.entry.js} +2 -2
  801. package/dist/ui-library/p-cd67da3d.entry.js.map +1 -0
  802. package/dist/ui-library/p-cdaed936.entry.js +2 -0
  803. package/dist/ui-library/p-cdaed936.entry.js.map +1 -0
  804. package/dist/ui-library/{p-8a970a40.entry.js → p-d367f4f9.entry.js} +2 -2
  805. package/dist/ui-library/p-d367f4f9.entry.js.map +1 -0
  806. package/dist/ui-library/p-d42c2025.js +2 -0
  807. package/dist/ui-library/p-d42c2025.js.map +1 -0
  808. package/dist/ui-library/{p-820c23f0.entry.js → p-dfed33c5.entry.js} +2 -2
  809. package/dist/ui-library/p-dfed33c5.entry.js.map +1 -0
  810. package/dist/ui-library/p-ed381ad9.entry.js +2 -0
  811. package/dist/ui-library/p-ed381ad9.entry.js.map +1 -0
  812. package/dist/ui-library/p-ee8342e1.entry.js +2 -0
  813. package/dist/ui-library/p-ee8342e1.entry.js.map +1 -0
  814. package/dist/ui-library/p-ee950ce2.entry.js +2 -0
  815. package/dist/ui-library/p-ee950ce2.entry.js.map +1 -0
  816. package/dist/ui-library/{p-7e0cc4ae.entry.js → p-ff90ffd1.entry.js} +2 -2
  817. package/dist/ui-library/p-ff90ffd1.entry.js.map +1 -0
  818. package/dist/ui-library/ui-library.esm.js +1 -1
  819. package/dist/ui-library/ui-library.esm.js.map +1 -1
  820. package/loader/index.d.ts +1 -1
  821. package/package.json +19 -20
  822. package/dist/cjs/event-listeners-74715e62.js +0 -45
  823. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  824. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  825. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  826. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  827. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  828. package/dist/cjs/modal-48d42228.js.map +0 -1
  829. package/dist/cjs/popover-f743f62b.js.map +0 -1
  830. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  831. package/dist/cjs/six-form.cjs.entry.js +0 -231
  832. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  833. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  834. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  835. package/dist/cjs/slot-ad537f24.js.map +0 -1
  836. package/dist/cjs/types-64878648.js.map +0 -1
  837. package/dist/collection/components/six-form/six-form.css +0 -11
  838. package/dist/collection/components/six-form/six-form.js +0 -419
  839. package/dist/collection/components/six-form/six-form.js.map +0 -1
  840. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  841. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  842. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  843. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  844. package/dist/collection/utils/as-array.js +0 -2
  845. package/dist/collection/utils/as-array.js.map +0 -1
  846. package/dist/collection/utils/matchers.js +0 -3
  847. package/dist/collection/utils/matchers.js.map +0 -1
  848. package/dist/collection/utils/testing.js +0 -39
  849. package/dist/collection/utils/testing.js.map +0 -1
  850. package/dist/components/six-form.d.ts +0 -11
  851. package/dist/components/six-form.js +0 -252
  852. package/dist/components/six-form.js.map +0 -1
  853. package/dist/esm/event-listeners-570a24ea.js +0 -43
  854. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  855. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  856. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  857. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  858. package/dist/esm/index-5c0f6628.js.map +0 -1
  859. package/dist/esm/modal-5ebdc320.js.map +0 -1
  860. package/dist/esm/polyfills/css-shim.js +0 -1
  861. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  862. package/dist/esm/scroll-180b53fd.js.map +0 -1
  863. package/dist/esm/six-form.entry.js +0 -227
  864. package/dist/esm/six-form.entry.js.map +0 -1
  865. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  866. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  867. package/dist/esm/slot-6f3984c7.js.map +0 -1
  868. package/dist/esm/types-4b10b413.js.map +0 -1
  869. package/dist/types/components/six-form/six-form.d.ts +0 -69
  870. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  871. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  872. package/dist/types/utils/as-array.d.ts +0 -1
  873. package/dist/types/utils/matchers.d.ts +0 -2
  874. package/dist/types/utils/popper.d.ts +0 -33
  875. package/dist/types/utils/testing.d.ts +0 -2
  876. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  877. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  878. package/dist/ui-library/p-0786fa7c.js +0 -2
  879. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  880. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  881. package/dist/ui-library/p-0d79b0c6.entry.js +0 -2
  882. package/dist/ui-library/p-0d79b0c6.entry.js.map +0 -1
  883. package/dist/ui-library/p-14f20bbb.entry.js +0 -2
  884. package/dist/ui-library/p-14f20bbb.entry.js.map +0 -1
  885. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  886. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  887. package/dist/ui-library/p-18ea0c56.js +0 -2
  888. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  889. package/dist/ui-library/p-19364560.entry.js.map +0 -1
  890. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  891. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  892. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  893. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  894. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  895. package/dist/ui-library/p-308261c4.entry.js +0 -2
  896. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  897. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  898. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  899. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  900. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  901. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  902. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  903. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  904. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  905. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  906. package/dist/ui-library/p-611e1978.entry.js.map +0 -1
  907. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  908. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  909. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  910. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  911. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  912. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  913. package/dist/ui-library/p-79eee01b.js +0 -2
  914. package/dist/ui-library/p-79eee01b.js.map +0 -1
  915. package/dist/ui-library/p-7e0cc4ae.entry.js.map +0 -1
  916. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  917. package/dist/ui-library/p-835c3ff7.entry.js +0 -2
  918. package/dist/ui-library/p-835c3ff7.entry.js.map +0 -1
  919. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  920. package/dist/ui-library/p-90824648.entry.js +0 -2
  921. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  922. package/dist/ui-library/p-90dc6af4.entry.js.map +0 -1
  923. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  924. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  925. package/dist/ui-library/p-9a860acc.js +0 -2
  926. package/dist/ui-library/p-9a860acc.js.map +0 -1
  927. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  928. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  929. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  930. package/dist/ui-library/p-ac4f4d45.js +0 -3
  931. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  932. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  933. package/dist/ui-library/p-b0e5658f.entry.js +0 -2
  934. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  935. package/dist/ui-library/p-b1e66136.js +0 -2
  936. package/dist/ui-library/p-b1e66136.js.map +0 -1
  937. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  938. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  939. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  940. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  941. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  942. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  943. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  944. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  945. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  946. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  947. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  948. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  949. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  950. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  951. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  952. package/dist/ui-library/p-d12c6092.js +0 -2
  953. package/dist/ui-library/p-d12c6092.js.map +0 -1
  954. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  955. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  956. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  957. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  958. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  959. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  960. package/dist/ui-library/p-edc96efc.entry.js +0 -2
  961. package/dist/ui-library/p-edc96efc.entry.js.map +0 -1
  962. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  963. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  964. package/dist/ui-library/p-f4938771.entry.js +0 -2
  965. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  966. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  967. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  968. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  969. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  970. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  971. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  972. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  973. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-5c0f6628.js';
2
- import { f as focusVisible } from './focus-visible-97933ea9.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-8a74f992.js';
2
+ import { f as focusVisible } from './focus-visible-fc6ac671.js';
3
3
 
4
4
  const sixDetailsCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--hide-duration:var(--six-transition-medium);--hide-timing-function:ease;--show-duration:var(--six-transition-medium);--show-timing-function:ease;font-family:var(--six-font-family);display:block}.details{border:solid var(--six-border-width) var(--six-input-border-color);border-radius:var(--six-border-radius-medium);color:var(--six-details-color);overflow-anchor:none;font-size:var(--six-input-font-size-medium)}.details:hover:not(.details--disabled):not(.details--open){border-color:var(--six-input-border-color-hover)}.details.inline{border:none;color:var(--six-sidebar-color)}.details.inline:hover{background-color:var(--six-sidebar-hover-background-color)}.details.inline.details--open{background-color:var(--six-color-web-rock-50)}.details.inline.details--open:hover{border:none;box-shadow:none}.details.inline.details--open>.details__header{color:var(--six-sidebar-color);font-weight:var(--six-font-weight-bold);background-color:var(--six-sidebar-header-background-color)}.details--disabled{background-color:var(--six-input-background-color-disabled);border-color:var(--six-input-border-color-disabled);color:var(--six-input-color-disabled)}.details__header{display:flex;align-items:center;border-radius:inherit;padding:var(--six-spacing-medium);user-select:none;cursor:pointer}.details__header:focus{outline:none}.details--disabled .details__header{cursor:not-allowed;border-width:1px}.details--disabled .details__header:focus{outline:none;box-shadow:none}.details__summary{flex:1 1 auto;display:flex;align-items:center}.details__summary-icon{flex:0 0 auto;display:flex;align-items:center;font-size:1.2em;transition:var(--six-transition-medium) transform ease}.details--open .details__summary-icon--animate{transform:rotate(-180deg)}.details--open:hover{color:var(--six-input-color-focus)}.details__body{height:0;overflow:hidden;transition-property:height;transition-duration:var(--hide-duration);transition-timing-function:var(--hide-timing-function)}.details--open .details__body{transition-duration:var(--show-duration);transition-timing-function:var(--show-timing-function)}.details__content{padding:var(--six-spacing-medium)}";
5
5
 
@@ -13,6 +13,39 @@ const SixDetails = class {
13
13
  this.sixAfterHide = createEvent(this, "six-details-after-hide", 7);
14
14
  this.componentId = `details-${++id}`;
15
15
  this.isVisible = false;
16
+ this.handleBodyTransitionEnd = (event) => {
17
+ if (this.body == null)
18
+ return;
19
+ const target = event.target;
20
+ // Ensure we only emit one event when the target element is no longer visible
21
+ if (event.propertyName === 'height' && target.classList.contains('details__body')) {
22
+ this.body.style.overflow = this.open ? 'visible' : 'hidden';
23
+ this.body.style.height = this.open ? 'auto' : '0';
24
+ this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();
25
+ this.body.hidden = !this.open;
26
+ }
27
+ };
28
+ this.handleSummaryClick = () => {
29
+ var _a;
30
+ if (!this.disabled && (this.hasContent || this.selectableEmpty)) {
31
+ this.open ? this.hide() : this.show();
32
+ (_a = this.header) === null || _a === void 0 ? void 0 : _a.focus();
33
+ }
34
+ };
35
+ this.handleSummaryKeyDown = (event) => {
36
+ if (event.key === 'Enter' || event.key === ' ') {
37
+ event.preventDefault();
38
+ this.open ? this.hide() : this.show();
39
+ }
40
+ if (event.key === 'ArrowUp' || event.key === 'ArrowLeft') {
41
+ event.preventDefault();
42
+ this.hide();
43
+ }
44
+ if (event.key === 'ArrowDown' || event.key === 'ArrowRight') {
45
+ event.preventDefault();
46
+ this.show();
47
+ }
48
+ };
16
49
  this.animateSummaryIcon = true;
17
50
  this.open = false;
18
51
  this.summary = '';
@@ -24,16 +57,13 @@ const SixDetails = class {
24
57
  this.hasContent = true;
25
58
  }
26
59
  handleOpenChange() {
27
- if (this.body) {
60
+ if (this.body != null) {
28
61
  this.open ? this.show() : this.hide();
29
62
  }
30
63
  }
31
- connectedCallback() {
32
- this.handleBodyTransitionEnd = this.handleBodyTransitionEnd.bind(this);
33
- this.handleSummaryClick = this.handleSummaryClick.bind(this);
34
- this.handleSummaryKeyDown = this.handleSummaryKeyDown.bind(this);
35
- }
36
64
  componentDidLoad() {
65
+ if (this.details == null || this.body == null)
66
+ return;
37
67
  focusVisible.observe(this.details);
38
68
  this.body.hidden = !this.open;
39
69
  // Show on init if open
@@ -42,14 +72,15 @@ const SixDetails = class {
42
72
  }
43
73
  }
44
74
  disconnectedCallback() {
45
- focusVisible.unobserve(this.details);
75
+ if (this.details != null) {
76
+ focusVisible.unobserve(this.details);
77
+ }
46
78
  }
47
79
  /** Shows the detail body */
48
80
  async show() {
49
81
  // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
50
- if (this.isVisible) {
82
+ if (this.isVisible || this.body == null)
51
83
  return;
52
- }
53
84
  const sixShow = this.sixShow.emit();
54
85
  if (sixShow.defaultPrevented) {
55
86
  this.open = false;
@@ -58,7 +89,7 @@ const SixDetails = class {
58
89
  this.body.hidden = false;
59
90
  if (this.body.scrollHeight === 0) {
60
91
  // When the scroll height can't be measured, use auto. This prevents a borked open state when the details is open
61
- // intiially, but not immediately visible (i.e. in a tab panel).
92
+ // initially, but not immediately visible (i.e. in a tab panel).
62
93
  this.body.style.height = 'auto';
63
94
  this.body.style.overflow = 'visible';
64
95
  }
@@ -72,53 +103,23 @@ const SixDetails = class {
72
103
  /** Hides the detail body */
73
104
  async hide() {
74
105
  // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
75
- if (!this.isVisible) {
106
+ if (!this.isVisible || this.body == null)
76
107
  return;
77
- }
108
+ const body = this.body;
78
109
  const sixHide = this.sixHide.emit();
79
110
  if (sixHide.defaultPrevented) {
80
111
  this.open = true;
81
112
  return;
82
113
  }
83
114
  // We can't transition out of `height: auto`, so let's set it to the current height first
84
- this.body.style.height = `${this.body.scrollHeight}px`;
85
- this.body.style.overflow = 'hidden';
115
+ body.style.height = `${body.scrollHeight}px`;
116
+ body.style.overflow = 'hidden';
86
117
  requestAnimationFrame(() => {
87
- this.body.style.height = '0';
118
+ body.style.height = '0';
88
119
  });
89
120
  this.isVisible = false;
90
121
  this.open = false;
91
122
  }
92
- handleBodyTransitionEnd(event) {
93
- const target = event.target;
94
- // Ensure we only emit one event when the target element is no longer visible
95
- if (event.propertyName === 'height' && target.classList.contains('details__body')) {
96
- this.body.style.overflow = this.open ? 'visible' : 'hidden';
97
- this.body.style.height = this.open ? 'auto' : '0';
98
- this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();
99
- this.body.hidden = !this.open;
100
- }
101
- }
102
- handleSummaryClick() {
103
- if (!this.disabled && (this.hasContent || this.selectableEmpty)) {
104
- this.open ? this.hide() : this.show();
105
- this.header.focus();
106
- }
107
- }
108
- handleSummaryKeyDown(event) {
109
- if (event.key === 'Enter' || event.key === ' ') {
110
- event.preventDefault();
111
- this.open ? this.hide() : this.show();
112
- }
113
- if (event.key === 'ArrowUp' || event.key === 'ArrowLeft') {
114
- event.preventDefault();
115
- this.hide();
116
- }
117
- if (event.key === 'ArrowDown' || event.key === 'ArrowRight') {
118
- event.preventDefault();
119
- this.show();
120
- }
121
- }
122
123
  render() {
123
124
  const summaryIcon = this.hasContent && (this.summaryIcon || 'expand_more');
124
125
  return (h("div", { ref: (el) => (this.details = el), part: "base", class: {
@@ -1 +1 @@
1
- {"file":"six-details.entry.js","mappings":"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","names":[],"sources":["./src/components/six-details/six-details.scss?tag=six-details&encapsulation=shadow","./src/components/six-details/six-details.tsx"],"sourcesContent":["@import 'src/global/component';\n\n/**\n * @prop --hide-duration: The length of the hide transition.\n * @prop --hide-timing-function: The timing function (easing) to use for the hide transition.\n * @prop --show-duration: The length of the show transition.\n * @prop --show-timing-function: The timing function (easing) to use for the show transition.\n */\n:host {\n --hide-duration: var(--six-transition-medium);\n --hide-timing-function: ease;\n --show-duration: var(--six-transition-medium);\n --show-timing-function: ease;\n\n font-family: var(--six-font-family);\n display: block;\n}\n\n.details {\n border: solid var(--six-border-width) var(--six-input-border-color);\n border-radius: var(--six-border-radius-medium);\n color: var(--six-details-color);\n overflow-anchor: none;\n font-size: var(--six-input-font-size-medium);\n\n &:hover:not(.details--disabled):not(.details--open) {\n border-color: var(--six-input-border-color-hover);\n }\n\n &.inline {\n border: none;\n color: var(--six-sidebar-color);\n\n &:hover {\n background-color: var(--six-sidebar-hover-background-color);\n }\n\n &.details--open {\n background-color: var(--six-color-web-rock-50);\n\n &:hover {\n border: none;\n box-shadow: none;\n }\n\n & > .details__header {\n color: var(--six-sidebar-color);\n font-weight: var(--six-font-weight-bold);\n background-color: var(--six-sidebar-header-background-color);\n }\n }\n }\n}\n\n.details--disabled {\n background-color: var(--six-input-background-color-disabled);\n border-color: var(--six-input-border-color-disabled);\n color: var(--six-input-color-disabled);\n}\n\n.details__header {\n display: flex;\n align-items: center;\n border-radius: inherit;\n padding: var(--six-spacing-medium);\n user-select: none;\n cursor: pointer;\n\n &:focus {\n outline: none;\n }\n}\n\n.focus-visible .details__header:focus {\n}\n\n.details--disabled .details__header {\n cursor: not-allowed;\n border-width: 1px;\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n}\n\n.details__summary {\n flex: 1 1 auto;\n display: flex;\n align-items: center;\n}\n\n.details__summary-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: 1.2em;\n transition: var(--six-transition-medium) transform ease;\n}\n\n.details--open .details__summary-icon--animate {\n transform: rotate(-180deg);\n}\n\n.details--open:hover {\n color: var(--six-input-color-focus);\n}\n\n.details__body {\n height: 0;\n overflow: hidden;\n transition-property: height;\n transition-duration: var(--hide-duration);\n transition-timing-function: var(--hide-timing-function);\n}\n\n.details--open .details__body {\n transition-duration: var(--show-duration);\n transition-timing-function: var(--show-timing-function);\n}\n\n.details__content {\n padding: var(--six-spacing-medium);\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { focusVisible } from '../../utils/focus-visible';\nimport { EmptyPayload } from '../../utils/types';\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 - The details' content.\n * @slot summary - The details' summary. Alternatively, you can use the summary prop.\n *\n * @part base - The component's base wrapper.\n * @part header - The summary header.\n * @part summary - The details summary.\n * @part summary-icon - The expand/collapse summary icon.\n * @part content - The details content.\n */\n\n@Component({\n tag: 'six-details',\n styleUrl: 'six-details.scss',\n shadow: true,\n})\nexport class SixDetails {\n @Element() readonly host: HTMLSixDetailsElement;\n\n @State() animateSummaryIcon = true;\n\n body: HTMLElement;\n componentId = `details-${++id}`;\n details: HTMLElement;\n header: HTMLElement;\n isVisible = false;\n\n /** Indicates whether or not the details is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** The summary to show in the details header. If you need to display HTML, use the `summary` slot instead. */\n @Prop() summary = '';\n\n /** The summary icon to show in the details header. If you need to display HTML, use the `summary-icon` slot instead. */\n @Prop() summaryIcon: string;\n\n /** The icon's size. */\n @Prop({ reflect: true }) summaryIconSize:\n | 'inherit'\n | 'xSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'xLarge'\n | 'xxLarge'\n | 'xxxLarge' = 'inherit';\n\n /** Set to true to prevent the user from toggling the details. */\n @Prop() disabled = false;\n\n /** Set to true when you want to use six-details inline e.g. in a sidebar */\n @Prop() inline = false;\n\n /** Set to true when you want details without content to be selectable. This is important if you e.g. have a toggled sidebar where some menus have no children */\n @Prop() selectableEmpty = false;\n\n @Prop() readonly hasContent: boolean = true;\n\n @Watch('open')\n handleOpenChange() {\n if (this.body) {\n this.open ? this.show() : this.hide();\n }\n }\n\n /** Emitted when the details opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-details-show' }) sixShow: EventEmitter<EmptyPayload>;\n\n /** Emitted after the details opens and all transitions are complete. */\n @Event({ eventName: 'six-details-after-show' }) sixAfterShow: EventEmitter<EmptyPayload>;\n\n /** Emitted when the details closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-details-hide' }) sixHide: EventEmitter<EmptyPayload>;\n\n /** Emitted after the details closes and all transitions are complete. */\n @Event({ eventName: 'six-details-after-hide' }) sixAfterHide: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.handleBodyTransitionEnd = this.handleBodyTransitionEnd.bind(this);\n this.handleSummaryClick = this.handleSummaryClick.bind(this);\n this.handleSummaryKeyDown = this.handleSummaryKeyDown.bind(this);\n }\n\n componentDidLoad() {\n focusVisible.observe(this.details);\n\n this.body.hidden = !this.open;\n\n // Show on init if open\n if (this.open) {\n this.show();\n }\n }\n\n disconnectedCallback() {\n focusVisible.unobserve(this.details);\n }\n\n /** Shows the detail body */\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.body.hidden = false;\n\n if (this.body.scrollHeight === 0) {\n // When the scroll height can't be measured, use auto. This prevents a borked open state when the details is open\n // intiially, but not immediately visible (i.e. in a tab panel).\n this.body.style.height = 'auto';\n this.body.style.overflow = 'visible';\n } else {\n this.body.style.height = `${this.body.scrollHeight}px`;\n this.body.style.overflow = 'hidden';\n }\n\n this.isVisible = true;\n this.open = true;\n }\n\n /** Hides the detail body */\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 // We can't transition out of `height: auto`, so let's set it to the current height first\n this.body.style.height = `${this.body.scrollHeight}px`;\n this.body.style.overflow = 'hidden';\n\n requestAnimationFrame(() => {\n // tslint:disable-next-line: no-unused-expression\n this.body.clientWidth; // force a reflow\n this.body.style.height = '0';\n });\n\n this.isVisible = false;\n this.open = false;\n }\n\n handleBodyTransitionEnd(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 === 'height' && target.classList.contains('details__body')) {\n this.body.style.overflow = this.open ? 'visible' : 'hidden';\n this.body.style.height = this.open ? 'auto' : '0';\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n this.body.hidden = !this.open;\n }\n }\n\n handleSummaryClick() {\n if (!this.disabled && (this.hasContent || this.selectableEmpty)) {\n this.open ? this.hide() : this.show();\n this.header.focus();\n }\n }\n\n handleSummaryKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.open ? this.hide() : this.show();\n }\n\n if (event.key === 'ArrowUp' || event.key === 'ArrowLeft') {\n event.preventDefault();\n this.hide();\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowRight') {\n event.preventDefault();\n this.show();\n }\n }\n\n render() {\n const summaryIcon = this.hasContent && (this.summaryIcon || 'expand_more');\n\n return (\n <div\n ref={(el) => (this.details = el)}\n part=\"base\"\n class={{\n details: true,\n 'details--open': this.open,\n 'details--disabled': this.disabled,\n inline: this.inline,\n }}\n >\n <header\n ref={(el) => (this.header = el)}\n part=\"header\"\n id={`${this.componentId}-header`}\n class=\"details__header\"\n role=\"button\"\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls={`${this.componentId}-content`}\n aria-disabled={this.disabled ? 'true' : 'false'}\n tabIndex={this.disabled ? -1 : 0}\n onClick={this.handleSummaryClick}\n onKeyDown={this.handleSummaryKeyDown}\n >\n <div part=\"summary\" class=\"details__summary\">\n <slot name=\"summary\">{this.summary}</slot>\n </div>\n\n <span\n part=\"summary-icon\"\n class={{\n 'details__summary-icon': true,\n 'details__summary-icon--animate': this.animateSummaryIcon,\n }}\n >\n <slot name=\"summary-icon\" onSlotchange={() => (this.animateSummaryIcon = false)}>\n {summaryIcon && <six-icon size={this.summaryIconSize}>{summaryIcon}</six-icon>}\n </slot>\n </span>\n </header>\n\n <div ref={(el) => (this.body = el)} class=\"details__body\" onTransitionEnd={this.handleBodyTransitionEnd}>\n <div\n part=\"content\"\n id={`${this.componentId}-content`}\n class=\"details__content\"\n role=\"region\"\n aria-labelledby={`${this.componentId}-header`}\n >\n <slot />\n </div>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-details.entry.js","mappings":"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","names":[],"sources":["src/components/six-details/six-details.scss?tag=six-details&encapsulation=shadow","src/components/six-details/six-details.tsx"],"sourcesContent":["@import 'src/global/component';\n\n/**\n * @prop --hide-duration: The length of the hide transition.\n * @prop --hide-timing-function: The timing function (easing) to use for the hide transition.\n * @prop --show-duration: The length of the show transition.\n * @prop --show-timing-function: The timing function (easing) to use for the show transition.\n */\n:host {\n --hide-duration: var(--six-transition-medium);\n --hide-timing-function: ease;\n --show-duration: var(--six-transition-medium);\n --show-timing-function: ease;\n\n font-family: var(--six-font-family);\n display: block;\n}\n\n.details {\n border: solid var(--six-border-width) var(--six-input-border-color);\n border-radius: var(--six-border-radius-medium);\n color: var(--six-details-color);\n overflow-anchor: none;\n font-size: var(--six-input-font-size-medium);\n\n &:hover:not(.details--disabled):not(.details--open) {\n border-color: var(--six-input-border-color-hover);\n }\n\n &.inline {\n border: none;\n color: var(--six-sidebar-color);\n\n &:hover {\n background-color: var(--six-sidebar-hover-background-color);\n }\n\n &.details--open {\n background-color: var(--six-color-web-rock-50);\n\n &:hover {\n border: none;\n box-shadow: none;\n }\n\n & > .details__header {\n color: var(--six-sidebar-color);\n font-weight: var(--six-font-weight-bold);\n background-color: var(--six-sidebar-header-background-color);\n }\n }\n }\n}\n\n.details--disabled {\n background-color: var(--six-input-background-color-disabled);\n border-color: var(--six-input-border-color-disabled);\n color: var(--six-input-color-disabled);\n}\n\n.details__header {\n display: flex;\n align-items: center;\n border-radius: inherit;\n padding: var(--six-spacing-medium);\n user-select: none;\n cursor: pointer;\n\n &:focus {\n outline: none;\n }\n}\n\n.focus-visible .details__header:focus {\n}\n\n.details--disabled .details__header {\n cursor: not-allowed;\n border-width: 1px;\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n}\n\n.details__summary {\n flex: 1 1 auto;\n display: flex;\n align-items: center;\n}\n\n.details__summary-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: 1.2em;\n transition: var(--six-transition-medium) transform ease;\n}\n\n.details--open .details__summary-icon--animate {\n transform: rotate(-180deg);\n}\n\n.details--open:hover {\n color: var(--six-input-color-focus);\n}\n\n.details__body {\n height: 0;\n overflow: hidden;\n transition-property: height;\n transition-duration: var(--hide-duration);\n transition-timing-function: var(--hide-timing-function);\n}\n\n.details--open .details__body {\n transition-duration: var(--show-duration);\n transition-timing-function: var(--show-timing-function);\n}\n\n.details__content {\n padding: var(--six-spacing-medium);\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { focusVisible } from '../../utils/focus-visible';\nimport { EmptyPayload } from '../../utils/types';\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 - The details' content.\n * @slot summary - The details' summary. Alternatively, you can use the summary prop.\n *\n * @part base - The component's base wrapper.\n * @part header - The summary header.\n * @part summary - The details summary.\n * @part summary-icon - The expand/collapse summary icon.\n * @part content - The details content.\n */\n\n@Component({\n tag: 'six-details',\n styleUrl: 'six-details.scss',\n shadow: true,\n})\nexport class SixDetails {\n @Element() readonly host!: HTMLSixDetailsElement;\n\n @State() animateSummaryIcon = true;\n\n private body?: HTMLElement;\n private details?: HTMLElement;\n private header?: HTMLElement;\n private componentId = `details-${++id}`;\n private isVisible = false;\n\n /** Indicates whether the details is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** The summary to show in the details header. If you need to display HTML, use the `summary` slot instead. */\n @Prop() summary = '';\n\n /** The summary icon to show in the details header. If you need to display HTML, use the `summary-icon` slot instead. */\n @Prop() summaryIcon?: string;\n\n /** The icon's size. */\n @Prop({ reflect: true }) summaryIconSize:\n | 'inherit'\n | 'xSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'xLarge'\n | 'xxLarge'\n | 'xxxLarge' = 'inherit';\n\n /** Set to true to prevent the user from toggling the details. */\n @Prop() disabled = false;\n\n /** Set to true when you want to use six-details inline e.g. in a sidebar */\n @Prop() inline = false;\n\n /** Set to true when you want details without content to be selectable. This is important if you e.g. have a toggled sidebar where some menus have no children */\n @Prop() selectableEmpty = false;\n\n /** Set to false when you want to hide the summary icon and disable the open/close mechanism. Usually not needed, but used internally by 'six-sidebar-item-group' */\n @Prop() hasContent = true;\n\n @Watch('open')\n handleOpenChange() {\n if (this.body != null) {\n this.open ? this.show() : this.hide();\n }\n }\n\n /** Emitted when the details opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-details-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the details opens and all transitions are complete. */\n @Event({ eventName: 'six-details-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the details closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-details-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the details closes and all transitions are complete. */\n @Event({ eventName: 'six-details-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n componentDidLoad() {\n if (this.details == null || this.body == null) return;\n\n focusVisible.observe(this.details);\n this.body.hidden = !this.open;\n\n // Show on init if open\n if (this.open) {\n this.show();\n }\n }\n\n disconnectedCallback() {\n if (this.details != null) {\n focusVisible.unobserve(this.details);\n }\n }\n\n /** Shows the detail body */\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.body == null) return;\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.body.hidden = false;\n\n if (this.body.scrollHeight === 0) {\n // When the scroll height can't be measured, use auto. This prevents a borked open state when the details is open\n // initially, but not immediately visible (i.e. in a tab panel).\n this.body.style.height = 'auto';\n this.body.style.overflow = 'visible';\n } else {\n this.body.style.height = `${this.body.scrollHeight}px`;\n this.body.style.overflow = 'hidden';\n }\n this.isVisible = true;\n this.open = true;\n }\n\n /** Hides the detail body */\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.body == null) return;\n const body = this.body;\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n // We can't transition out of `height: auto`, so let's set it to the current height first\n body.style.height = `${body.scrollHeight}px`;\n body.style.overflow = 'hidden';\n\n requestAnimationFrame(() => {\n // tslint:disable-next-line: no-unused-expression\n body.clientWidth; // force a reflow\n body.style.height = '0';\n });\n\n this.isVisible = false;\n this.open = false;\n }\n\n private handleBodyTransitionEnd = (event: TransitionEvent) => {\n if (this.body == null) return;\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 === 'height' && target.classList.contains('details__body')) {\n this.body.style.overflow = this.open ? 'visible' : 'hidden';\n this.body.style.height = this.open ? 'auto' : '0';\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n this.body.hidden = !this.open;\n }\n };\n\n private handleSummaryClick = () => {\n if (!this.disabled && (this.hasContent || this.selectableEmpty)) {\n this.open ? this.hide() : this.show();\n this.header?.focus();\n }\n };\n\n private handleSummaryKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.open ? this.hide() : this.show();\n }\n\n if (event.key === 'ArrowUp' || event.key === 'ArrowLeft') {\n event.preventDefault();\n this.hide();\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowRight') {\n event.preventDefault();\n this.show();\n }\n };\n\n render() {\n const summaryIcon = this.hasContent && (this.summaryIcon || 'expand_more');\n\n return (\n <div\n ref={(el) => (this.details = el)}\n part=\"base\"\n class={{\n details: true,\n 'details--open': this.open,\n 'details--disabled': this.disabled,\n inline: this.inline,\n }}\n >\n <header\n ref={(el) => (this.header = el)}\n part=\"header\"\n id={`${this.componentId}-header`}\n class=\"details__header\"\n role=\"button\"\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls={`${this.componentId}-content`}\n aria-disabled={this.disabled ? 'true' : 'false'}\n tabIndex={this.disabled ? -1 : 0}\n onClick={this.handleSummaryClick}\n onKeyDown={this.handleSummaryKeyDown}\n >\n <div part=\"summary\" class=\"details__summary\">\n <slot name=\"summary\">{this.summary}</slot>\n </div>\n\n <span\n part=\"summary-icon\"\n class={{\n 'details__summary-icon': true,\n 'details__summary-icon--animate': this.animateSummaryIcon,\n }}\n >\n <slot name=\"summary-icon\" onSlotchange={() => (this.animateSummaryIcon = false)}>\n {summaryIcon && <six-icon size={this.summaryIconSize}>{summaryIcon}</six-icon>}\n </slot>\n </span>\n </header>\n\n <div ref={(el) => (this.body = el)} class=\"details__body\" onTransitionEnd={this.handleBodyTransitionEnd}>\n <div\n part=\"content\"\n id={`${this.componentId}-content`}\n class=\"details__content\"\n role=\"region\"\n aria-labelledby={`${this.componentId}-header`}\n >\n <slot />\n </div>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-5c0f6628.js';
2
- import { u as unlockBodyScrolling, l as lockBodyScrolling } from './scroll-180b53fd.js';
3
- import { h as hasSlot } from './slot-6f3984c7.js';
4
- import { i as isPreventScrollSupported, M as Modal } from './modal-5ebdc320.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-8a74f992.js';
2
+ import { u as unlockBodyScrolling, l as lockBodyScrolling } from './scroll-3fb087a2.js';
3
+ import { h as hasSlot } from './slot-ad36df3a.js';
4
+ import { i as isPreventScrollSupported, M as Modal } from './modal-7d32e141.js';
5
5
 
6
6
  const sixDialogCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--width:31rem;display:contents}.dialog{display:flex;align-items:center;justify-content:center;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--six-z-index-dialog);color:var(--six-color-web-rock-900)}.dialog:not(.dialog--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.dialog__panel{display:flex;flex-direction:column;z-index:2;width:var(--width);max-width:calc(100% - var(--six-spacing-xx-large));max-height:calc(100% - var(--six-spacing-xx-large));background-color:var(--six-panel-background-color);border-radius:var(--six-border-radius-medium);box-shadow:var(--six-shadow-x-large);opacity:0;transform:scale(0.8);transition:var(--six-transition-medium) opacity, var(--six-transition-medium) transform}.dialog__panel:focus{outline:none}@media screen and (max-width: 420px){.dialog__panel{max-height:80vh}}.dialog--open .dialog__panel{display:flex;opacity:1;transform:none}.dialog__header{flex:0 0 auto;display:flex}.dialog__title{flex:1 1 auto;font-size:var(--six-font-size-x-large);font-weight:var(--six-font-weight-bold);line-height:var(--six-line-height-dense);padding:var(--six-spacing-large) var(--six-spacing-large) var(--six-spacing-small)}.dialog__close{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-x-large);padding:0 var(--six-spacing-x-small)}.dialog__body{flex:1 1 auto;padding:var(--six-spacing-small) var(--six-spacing-large) var(--six-spacing-large);overflow:auto;-webkit-overflow-scrolling:touch}.dialog__footer{flex:0 0 auto;text-align:right;padding:var(--six-spacing-large)}.dialog__footer ::slotted(six-button:not(:first-of-type)){margin-left:var(--six-spacing-xx-small)}.dialog:not(.dialog--has-footer) .dialog__footer{display:none}.dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--six-overlay-background-color);opacity:0;transition:var(--six-transition-medium) opacity}.dialog--open .dialog__overlay{opacity:0.8}";
7
7
 
@@ -19,6 +19,33 @@ const SixDialog = class {
19
19
  this.componentId = `dialog-${++id}`;
20
20
  this.willShow = false;
21
21
  this.willHide = false;
22
+ this.handleCloseClick = () => {
23
+ this.hide();
24
+ };
25
+ this.handleKeyDown = (event) => {
26
+ if (event.key === 'Escape') {
27
+ this.hide();
28
+ }
29
+ };
30
+ this.handleOverlayClick = () => {
31
+ const sixOverlayDismiss = this.sixOverlayDismiss.emit();
32
+ if (!sixOverlayDismiss.defaultPrevented) {
33
+ this.hide();
34
+ }
35
+ };
36
+ this.handleSlotChange = () => {
37
+ this.hasFooter = hasSlot(this.host, 'footer');
38
+ };
39
+ this.handleTransitionEnd = (event) => {
40
+ const target = event.target;
41
+ // Ensure we only emit one event when the target element is no longer visible
42
+ if (event.propertyName === 'opacity' && target.classList.contains('dialog__panel')) {
43
+ this.isVisible = this.open;
44
+ this.willShow = false;
45
+ this.willHide = false;
46
+ this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();
47
+ }
48
+ };
22
49
  this.hasFooter = false;
23
50
  this.isVisible = false;
24
51
  this.open = false;
@@ -29,13 +56,8 @@ const SixDialog = class {
29
56
  this.open ? this.show() : this.hide();
30
57
  }
31
58
  connectedCallback() {
32
- this.handleCloseClick = this.handleCloseClick.bind(this);
33
- this.handleTransitionEnd = this.handleTransitionEnd.bind(this);
34
- this.handleKeyDown = this.handleKeyDown.bind(this);
35
- this.handleOverlayClick = this.handleOverlayClick.bind(this);
36
- this.handleSlotChange = this.handleSlotChange.bind(this);
37
59
  this.modal = new Modal(this.host, {
38
- onFocusOut: () => this.panel.focus(),
60
+ onFocusOut: () => { var _a; return (_a = this.panel) === null || _a === void 0 ? void 0 : _a.focus(); },
39
61
  });
40
62
  }
41
63
  componentWillLoad() {
@@ -50,9 +72,10 @@ const SixDialog = class {
50
72
  }
51
73
  /** Shows the dialog */
52
74
  async show() {
53
- if (this.willShow) {
75
+ if (this.willShow || this.modal == null || this.panel == null || this.dialog == null) {
54
76
  return;
55
77
  }
78
+ const panel = this.panel;
56
79
  const sixShow = this.sixShow.emit();
57
80
  if (sixShow.defaultPrevented) {
58
81
  this.open = false;
@@ -69,7 +92,7 @@ const SixDialog = class {
69
92
  requestAnimationFrame(() => {
70
93
  const sixInitialFocus = this.sixInitialFocus.emit();
71
94
  if (!sixInitialFocus.defaultPrevented) {
72
- this.panel.focus({ preventScroll: true });
95
+ panel.focus({ preventScroll: true });
73
96
  }
74
97
  });
75
98
  }
@@ -84,7 +107,7 @@ const SixDialog = class {
84
107
  this.dialog.addEventListener('transitionend', () => {
85
108
  const sixInitialFocus = this.sixInitialFocus.emit();
86
109
  if (!sixInitialFocus.defaultPrevented) {
87
- this.panel.focus();
110
+ panel.focus();
88
111
  }
89
112
  }, { once: true });
90
113
  }
@@ -92,7 +115,7 @@ const SixDialog = class {
92
115
  }
93
116
  /** Hides the dialog */
94
117
  async hide() {
95
- if (this.willHide) {
118
+ if (this.willHide || this.modal == null) {
96
119
  return;
97
120
  }
98
121
  const sixHide = this.sixHide.emit();
@@ -105,33 +128,6 @@ const SixDialog = class {
105
128
  this.modal.deactivate();
106
129
  unlockBodyScrolling(this.host);
107
130
  }
108
- handleCloseClick() {
109
- this.hide();
110
- }
111
- handleKeyDown(event) {
112
- if (event.key === 'Escape') {
113
- this.hide();
114
- }
115
- }
116
- handleOverlayClick() {
117
- const sixOverlayDismiss = this.sixOverlayDismiss.emit();
118
- if (!sixOverlayDismiss.defaultPrevented) {
119
- this.hide();
120
- }
121
- }
122
- handleSlotChange() {
123
- this.hasFooter = hasSlot(this.host, 'footer');
124
- }
125
- handleTransitionEnd(event) {
126
- const target = event.target;
127
- // Ensure we only emit one event when the target element is no longer visible
128
- if (event.propertyName === 'opacity' && target.classList.contains('dialog__panel')) {
129
- this.isVisible = this.open;
130
- this.willShow = false;
131
- this.willHide = false;
132
- this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();
133
- }
134
- }
135
131
  render() {
136
132
  return (h("div", { ref: (el) => (this.dialog = el), part: "base", class: {
137
133
  dialog: true,
@@ -1 +1 @@
1
- {"file":"six-dialog.entry.js","mappings":";;;;;AAAA,MAAM,YAAY,GAAG,ikEAAikE;;ACOtlE,MAAM,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;AAEpD,IAAI,EAAE,GAAG,CAAC,CAAC;MA2BE,SAAS;;;;;;;;;IACpB,gBAAW,GAAG,UAAU,EAAE,EAAE,EAAE,CAAC;IAI/B,aAAQ,GAAG,KAAK,CAAC;IACjB,aAAQ,GAAG,KAAK,CAAC;qBAII,KAAK;qBACL,KAAK;gBAGqB,KAAK;iBAMpC,EAAE;oBAMC,KAAK;;EAGxB,gBAAgB;IACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;GACvC;EAuBD,iBAAiB;IACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;MAChC,UAAU,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;KACrC,CAAC,CAAC;GACJ;EAED,iBAAiB;IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;;IAGxB,IAAI,IAAI,CAAC,IAAI,EAAE;MACb,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;GACF;EAED,oBAAoB;IAClB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAChC;;EAID,MAAM,IAAI;IACR,IAAI,IAAI,CAAC,QAAQ,EAAE;MACjB,OAAO;KACR;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,gBAAgB,EAAE;MAC5B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;MAClB,OAAO;KACR;IAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAEtB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,IAAI,EAAE;MACb,IAAI,gBAAgB,EAAE;;QAEpB,qBAAqB,CAAC;UACpB,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;UACpD,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;WAC3C;SACF,CAAC,CAAC;OACJ;WAAM;;;;;;;;QAQL,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC1B,eAAe,EACf;UACE,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;UACpD,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;WACpB;SACF,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;OACH;KACF;GACF;;EAID,MAAM,IAAI;IACR,IAAI,IAAI,CAAC,QAAQ,EAAE;MACjB,OAAO;KACR;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,gBAAgB,EAAE;MAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;MACjB,OAAO;KACR;IAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAExB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAChC;EAED,gBAAgB;IACd,IAAI,CAAC,IAAI,EAAE,CAAC;GACb;EAED,aAAa,CAAC,KAAoB;IAChC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;MAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;GACF;EAED,kBAAkB;IAChB,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAExD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;MACvC,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;GACF;EAED,gBAAgB;IACd,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;GAC/C;EAED,mBAAmB,CAAC,KAAsB;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;;IAG3C,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;MAClF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;MAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;MACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;MACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KACjE;GACF;EAED,MAAM;IACJ,QACE,WACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,EAC/B,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;QACL,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,IAAI,CAAC,IAAI;QACzB,iBAAiB,EAAE,IAAI,CAAC,SAAS;QACjC,oBAAoB,EAAE,IAAI,CAAC,SAAS;OACrC,EACD,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,eAAe,EAAE,IAAI,CAAC,mBAAmB,IAEzC,WAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,iBAAiB,EAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,GAAI,EAEhF,WACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,EAC9B,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,QAAQ,gBACF,MAAM,iBACJ,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,gBAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,qBAC5B,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,WAAW,QAAQ,GAAG,IAAI,EACpE,QAAQ,EAAE,CAAC,IAEV,CAAC,IAAI,CAAC,QAAQ,KACb,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,gBAAgB,IAC1C,YAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,eAAe,EAAC,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,QAAQ,IACtE,YAAM,IAAI,EAAC,OAAO,IAEf,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CACpC,CACF,EACP,uBACE,WAAW,EAAC,mBAAmB,EAC/B,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAC9B,CACK,CACV,EAED,WAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,cAAc,IACnC,eAAQ,CACJ,EAEN,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,gBAAgB,IAC1C,YAAM,IAAI,EAAC,QAAQ,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAI,CACpD,CACL,CACF,EACN;GACH;;;;;;;;;;","names":[],"sources":["./src/components/six-dialog/six-dialog.scss?tag=six-dialog&encapsulation=shadow","./src/components/six-dialog/six-dialog.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --width: The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.\n */\n:host {\n --width: 31rem;\n\n display: contents;\n}\n\n.dialog {\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: var(--six-z-index-dialog);\n color: var(--six-color-web-rock-900);\n\n &:not(.dialog--visible) {\n @include hidden;\n }\n}\n\n.dialog__panel {\n display: flex;\n flex-direction: column;\n z-index: 2;\n width: var(--width);\n max-width: calc(100% - var(--six-spacing-xx-large));\n max-height: calc(100% - var(--six-spacing-xx-large));\n background-color: var(--six-panel-background-color);\n border-radius: var(--six-border-radius-medium);\n box-shadow: var(--six-shadow-x-large);\n opacity: 0;\n transform: scale(0.8);\n transition: var(--six-transition-medium) opacity, var(--six-transition-medium) transform;\n\n &:focus {\n outline: none;\n }\n}\n\n// Ensure there's enough vertical padding for phones that don't update vh when chrome appears (e.g. iPhone)\n@media screen and (max-width: 420px) {\n .dialog__panel {\n max-height: 80vh;\n }\n}\n\n.dialog--open .dialog__panel {\n display: flex;\n opacity: 1;\n transform: none;\n}\n\n.dialog__header {\n flex: 0 0 auto;\n display: flex;\n}\n\n.dialog__title {\n flex: 1 1 auto;\n font-size: var(--six-font-size-x-large);\n font-weight: var(--six-font-weight-bold);\n line-height: var(--six-line-height-dense);\n padding: var(--six-spacing-large) var(--six-spacing-large) var(--six-spacing-small);\n}\n\n.dialog__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-x-large);\n padding: 0 var(--six-spacing-x-small);\n}\n\n.dialog__body {\n flex: 1 1 auto;\n padding: var(--six-spacing-small) var(--six-spacing-large) var(--six-spacing-large);\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.dialog__footer {\n flex: 0 0 auto;\n text-align: right;\n padding: var(--six-spacing-large);\n\n ::slotted(six-button:not(:first-of-type)) {\n margin-left: var(--six-spacing-xx-small);\n }\n}\n\n.dialog:not(.dialog--has-footer) .dialog__footer {\n display: none;\n}\n\n.dialog__overlay {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--six-overlay-background-color);\n opacity: 0;\n transition: var(--six-transition-medium) opacity;\n}\n\n.dialog--open .dialog__overlay {\n opacity: 0.8;\n}\n","import { Component, Element, Event, EventEmitter, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport { hasSlot } from '../../utils/slot';\nimport { isPreventScrollSupported } from '../../utils/support';\nimport Modal from '../../utils/modal';\nimport { EmptyPayload } from '../../utils/types';\n\nconst hasPreventScroll = isPreventScrollSupported();\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 - The dialog's content.\n * @slot label - The dialog's label. Alternatively, you can use the label prop.\n * @slot footer - The dialog's footer, usually one or more buttons representing various options.\n *\n * @part base - The component's base wrapper.\n * @part overlay - The overlay.\n * @part panel - The dialog panel (where the dialog and its content is rendered).\n * @part header - The dialog header.\n * @part title - The dialog title.\n * @part close-button - The close button.\n * @part body - The dialog body.\n * @part footer - The dialog footer.\n *\n */\n@Component({\n tag: 'six-dialog',\n styleUrl: 'six-dialog.scss',\n shadow: true,\n})\nexport class SixDialog {\n componentId = `dialog-${++id}`;\n dialog: HTMLElement;\n modal: Modal;\n panel: HTMLElement;\n willShow = false;\n willHide = false;\n\n @Element() host: HTMLSixDialogElement;\n\n @State() hasFooter = false;\n @State() isVisible = false;\n\n /** Indicates whether or not the dialog 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 dialog's label as displayed in the header. You should always include a relevant label even when using\n * `no-header`, as it is required for proper accessibility.\n */\n @Prop() label = '';\n\n /**\n * Set to true to disable the header. This will also remove the default close button, so please ensure you provide an\n * easy, accessible way for users to dismiss the dialog.\n */\n @Prop() noHeader = false;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Emitted when the dialog opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-dialog-show' }) sixShow: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dialog opens and all transitions are complete. */\n @Event({ eventName: 'six-dialog-after-show' }) sixAfterShow: EventEmitter<EmptyPayload>;\n\n /** Emitted when the dialog closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-dialog-hide' }) sixHide: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dialog closes and all transitions are complete. */\n @Event({ eventName: 'six-dialog-after-hide' }) sixAfterHide: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when the dialog 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 dialog, such as an input or button.\n */\n @Event({ eventName: 'six-dialog-initial-focus' }) sixInitialFocus: EventEmitter<EmptyPayload>;\n\n /** Emitted when the overlay is clicked. Calling `event.preventDefault()` will prevent the dialog from closing. */\n @Event({ eventName: 'six-dialog-overlay-dismiss' }) sixOverlayDismiss: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.handleCloseClick = this.handleCloseClick.bind(this);\n this.handleTransitionEnd = this.handleTransitionEnd.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleOverlayClick = this.handleOverlayClick.bind(this);\n this.handleSlotChange = this.handleSlotChange.bind(this);\n\n this.modal = new Modal(this.host, {\n onFocusOut: () => this.panel.focus(),\n });\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n\n // Show on init if open\n if (this.open) {\n this.show();\n }\n }\n\n disconnectedCallback() {\n unlockBodyScrolling(this.host);\n }\n\n /** Shows the dialog */\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 this.modal.activate();\n\n lockBodyScrolling(this.host);\n\n if (this.open) {\n if (hasPreventScroll) {\n // Wait for the next frame before setting initial focus so the dialog is technically visible\n requestAnimationFrame(() => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n this.panel.focus({ preventScroll: true });\n }\n });\n } else {\n // Once Safari supports { preventScroll: true } we can remove this nasty little hack, but until then we need to\n // wait for the transition to complete before setting focus, otherwise the panel may render in a buggy way its\n // out of view initially.\n //\n // Fiddle: https://jsfiddle.net/g6buoafq/1/\n // Safari: https://bugs.webkit.org/show_bug.cgi?id=178583\n //\n this.dialog.addEventListener(\n 'transitionend',\n () => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n this.panel.focus();\n }\n },\n { once: true }\n );\n }\n }\n }\n\n /** Hides the dialog */\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 this.modal.deactivate();\n\n unlockBodyScrolling(this.host);\n }\n\n handleCloseClick() {\n this.hide();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.hide();\n }\n }\n\n handleOverlayClick() {\n const sixOverlayDismiss = this.sixOverlayDismiss.emit();\n\n if (!sixOverlayDismiss.defaultPrevented) {\n this.hide();\n }\n }\n\n handleSlotChange() {\n this.hasFooter = hasSlot(this.host, 'footer');\n }\n\n 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('dialog__panel')) {\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\n render() {\n return (\n <div\n ref={(el) => (this.dialog = el)}\n part=\"base\"\n class={{\n dialog: true,\n 'dialog--open': this.open,\n 'dialog--visible': this.isVisible,\n 'dialog--has-footer': this.hasFooter,\n }}\n onKeyDown={this.handleKeyDown}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <div part=\"overlay\" class=\"dialog__overlay\" onClick={this.handleOverlayClick} />\n\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"dialog__panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-label={this.noHeader ? this.label : null}\n aria-labelledby={!this.noHeader ? `${this.componentId}-title` : null}\n tabIndex={0}\n >\n {!this.noHeader && (\n <header part=\"header\" class=\"dialog__header\">\n <span part=\"title\" class=\"dialog__title\" id={`${this.componentId}-title`}>\n <slot name=\"label\">\n {/* If there's no label, use an invisible character to prevent the heading from collapsing */}\n {this.label || String.fromCharCode(65279)}\n </slot>\n </span>\n <six-icon-button\n exportparts=\"base:close-button\"\n class=\"dialog__close\"\n name=\"close\"\n onClick={this.handleCloseClick}\n />\n </header>\n )}\n\n <div part=\"body\" class=\"dialog__body\">\n <slot />\n </div>\n\n <footer part=\"footer\" class=\"dialog__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </footer>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-dialog.entry.js","mappings":";;;;;AAAA,MAAM,YAAY,GAAG,ikEAAikE;;ACOtlE,MAAM,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;AAEpD,IAAI,EAAE,GAAG,CAAC,CAAC;MA2BE,SAAS;;;;;;;;;IACZ,gBAAW,GAAG,UAAU,EAAE,EAAE,EAAE,CAAC;IAI/B,aAAQ,GAAG,KAAK,CAAC;IACjB,aAAQ,GAAG,KAAK,CAAC;IA2IjB,qBAAgB,GAAG;MACzB,IAAI,CAAC,IAAI,EAAE,CAAC;KACb,CAAC;IAEM,kBAAa,GAAG,CAAC,KAAoB;MAC3C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;QAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;OACb;KACF,CAAC;IAEM,uBAAkB,GAAG;MAC3B,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;MAExD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;OACb;KACF,CAAC;IAEM,qBAAgB,GAAG;MACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KAC/C,CAAC;IAEM,wBAAmB,GAAG,CAAC,KAAsB;MACnD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;;MAG3C,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;QAClF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;OACjE;KACF,CAAC;qBAvKmB,KAAK;qBACL,KAAK;gBAGqB,KAAK;iBAMpC,EAAE;oBAMC,KAAK;;EAGxB,gBAAgB;IACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;GACvC;EAuBD,iBAAiB;IACf,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;MAChC,UAAU,EAAE,gBAAM,OAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,EAAE,CAAA,EAAA;KACtC,CAAC,CAAC;GACJ;EAED,iBAAiB;IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;;IAGxB,IAAI,IAAI,CAAC,IAAI,EAAE;MACb,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;GACF;EAED,oBAAoB;IAClB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAChC;;EAID,MAAM,IAAI;IACR,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;MACpF,OAAO;KACR;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,gBAAgB,EAAE;MAC5B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;MAClB,OAAO;KACR;IAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAEtB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,IAAI,EAAE;MACb,IAAI,gBAAgB,EAAE;;QAEpB,qBAAqB,CAAC;UACpB,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;UACpD,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE;YACrC,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;WACtC;SACF,CAAC,CAAC;OACJ;WAAM;;;;;;;;QAQL,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC1B,eAAe,EACf;UACE,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;UACpD,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE;YACrC,KAAK,CAAC,KAAK,EAAE,CAAC;WACf;SACF,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;OACH;KACF;GACF;;EAID,MAAM,IAAI;IACR,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;MACvC,OAAO;KACR;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,gBAAgB,EAAE;MAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;MACjB,OAAO;KACR;IAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAExB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAChC;EAoCD,MAAM;IACJ,QACE,WACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,EAC/B,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;QACL,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,IAAI,CAAC,IAAI;QACzB,iBAAiB,EAAE,IAAI,CAAC,SAAS;QACjC,oBAAoB,EAAE,IAAI,CAAC,SAAS;OACrC,EACD,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,eAAe,EAAE,IAAI,CAAC,mBAAmB,IAEzC,WAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,iBAAiB,EAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,GAAI,EAEhF,WACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,EAC9B,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,QAAQ,gBACF,MAAM,iBACJ,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,gBAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,qBAC5B,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,WAAW,QAAQ,GAAG,IAAI,EACpE,QAAQ,EAAE,CAAC,IAEV,CAAC,IAAI,CAAC,QAAQ,KACb,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,gBAAgB,IAC1C,YAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,eAAe,EAAC,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,QAAQ,IACtE,YAAM,IAAI,EAAC,OAAO,IAEf,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CACpC,CACF,EACP,uBACE,WAAW,EAAC,mBAAmB,EAC/B,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAC9B,CACK,CACV,EAED,WAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,cAAc,IACnC,eAAQ,CACJ,EAEN,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,gBAAgB,IAC1C,YAAM,IAAI,EAAC,QAAQ,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAI,CACpD,CACL,CACF,EACN;GACH;;;;;;;;;;","names":[],"sources":["src/components/six-dialog/six-dialog.scss?tag=six-dialog&encapsulation=shadow","src/components/six-dialog/six-dialog.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --width: The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.\n */\n:host {\n --width: 31rem;\n\n display: contents;\n}\n\n.dialog {\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: var(--six-z-index-dialog);\n color: var(--six-color-web-rock-900);\n\n &:not(.dialog--visible) {\n @include hidden;\n }\n}\n\n.dialog__panel {\n display: flex;\n flex-direction: column;\n z-index: 2;\n width: var(--width);\n max-width: calc(100% - var(--six-spacing-xx-large));\n max-height: calc(100% - var(--six-spacing-xx-large));\n background-color: var(--six-panel-background-color);\n border-radius: var(--six-border-radius-medium);\n box-shadow: var(--six-shadow-x-large);\n opacity: 0;\n transform: scale(0.8);\n transition: var(--six-transition-medium) opacity, var(--six-transition-medium) transform;\n\n &:focus {\n outline: none;\n }\n}\n\n// Ensure there's enough vertical padding for phones that don't update vh when chrome appears (e.g. iPhone)\n@media screen and (max-width: 420px) {\n .dialog__panel {\n max-height: 80vh;\n }\n}\n\n.dialog--open .dialog__panel {\n display: flex;\n opacity: 1;\n transform: none;\n}\n\n.dialog__header {\n flex: 0 0 auto;\n display: flex;\n}\n\n.dialog__title {\n flex: 1 1 auto;\n font-size: var(--six-font-size-x-large);\n font-weight: var(--six-font-weight-bold);\n line-height: var(--six-line-height-dense);\n padding: var(--six-spacing-large) var(--six-spacing-large) var(--six-spacing-small);\n}\n\n.dialog__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-x-large);\n padding: 0 var(--six-spacing-x-small);\n}\n\n.dialog__body {\n flex: 1 1 auto;\n padding: var(--six-spacing-small) var(--six-spacing-large) var(--six-spacing-large);\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.dialog__footer {\n flex: 0 0 auto;\n text-align: right;\n padding: var(--six-spacing-large);\n\n ::slotted(six-button:not(:first-of-type)) {\n margin-left: var(--six-spacing-xx-small);\n }\n}\n\n.dialog:not(.dialog--has-footer) .dialog__footer {\n display: none;\n}\n\n.dialog__overlay {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--six-overlay-background-color);\n opacity: 0;\n transition: var(--six-transition-medium) opacity;\n}\n\n.dialog--open .dialog__overlay {\n opacity: 0.8;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport { hasSlot } from '../../utils/slot';\nimport { isPreventScrollSupported } from '../../utils/support';\nimport Modal from '../../utils/modal';\nimport { EmptyPayload } from '../../utils/types';\n\nconst hasPreventScroll = isPreventScrollSupported();\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 - The dialog's content.\n * @slot label - The dialog's label. Alternatively, you can use the label prop.\n * @slot footer - The dialog's footer, usually one or more buttons representing various options.\n *\n * @part base - The component's base wrapper.\n * @part overlay - The overlay.\n * @part panel - The dialog panel (where the dialog and its content is rendered).\n * @part header - The dialog header.\n * @part title - The dialog title.\n * @part close-button - The close button.\n * @part body - The dialog body.\n * @part footer - The dialog footer.\n *\n */\n@Component({\n tag: 'six-dialog',\n styleUrl: 'six-dialog.scss',\n shadow: true,\n})\nexport class SixDialog {\n private componentId = `dialog-${++id}`;\n private dialog?: HTMLElement;\n private modal?: Modal;\n private panel?: HTMLElement;\n private willShow = false;\n private willHide = false;\n\n @Element() host!: HTMLSixDialogElement;\n\n @State() hasFooter = false;\n @State() isVisible = false;\n\n /** Indicates whether the dialog 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 dialog's label as displayed in the header. You should always include a relevant label even when using\n * `no-header`, as it is required for proper accessibility.\n */\n @Prop() label = '';\n\n /**\n * Set to true to disable the header. This will also remove the default close button, so please ensure you provide an\n * easy, accessible way for users to dismiss the dialog.\n */\n @Prop() noHeader = false;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Emitted when the dialog opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-dialog-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dialog opens and all transitions are complete. */\n @Event({ eventName: 'six-dialog-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the dialog closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-dialog-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dialog closes and all transitions are complete. */\n @Event({ eventName: 'six-dialog-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when the dialog 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 dialog, such as an input or button.\n */\n @Event({ eventName: 'six-dialog-initial-focus' }) sixInitialFocus!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the overlay is clicked. Calling `event.preventDefault()` will prevent the dialog from closing. */\n @Event({ eventName: 'six-dialog-overlay-dismiss' }) sixOverlayDismiss!: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.modal = new Modal(this.host, {\n onFocusOut: () => this.panel?.focus(),\n });\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n\n // Show on init if open\n if (this.open) {\n this.show();\n }\n }\n\n disconnectedCallback() {\n unlockBodyScrolling(this.host);\n }\n\n /** Shows the dialog */\n @Method()\n async show() {\n if (this.willShow || this.modal == null || this.panel == null || this.dialog == null) {\n return;\n }\n const panel = this.panel;\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 this.modal.activate();\n\n lockBodyScrolling(this.host);\n\n if (this.open) {\n if (hasPreventScroll) {\n // Wait for the next frame before setting initial focus so the dialog is technically visible\n requestAnimationFrame(() => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n panel.focus({ preventScroll: true });\n }\n });\n } else {\n // Once Safari supports { preventScroll: true } we can remove this nasty little hack, but until then we need to\n // wait for the transition to complete before setting focus, otherwise the panel may render in a buggy way its\n // out of view initially.\n //\n // Fiddle: https://jsfiddle.net/g6buoafq/1/\n // Safari: https://bugs.webkit.org/show_bug.cgi?id=178583\n //\n this.dialog.addEventListener(\n 'transitionend',\n () => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n panel.focus();\n }\n },\n { once: true }\n );\n }\n }\n }\n\n /** Hides the dialog */\n @Method()\n async hide() {\n if (this.willHide || this.modal == 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.willHide = true;\n this.open = false;\n this.modal.deactivate();\n\n unlockBodyScrolling(this.host);\n }\n\n private handleCloseClick = () => {\n this.hide();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.hide();\n }\n };\n\n private handleOverlayClick = () => {\n const sixOverlayDismiss = this.sixOverlayDismiss.emit();\n\n if (!sixOverlayDismiss.defaultPrevented) {\n this.hide();\n }\n };\n\n private handleSlotChange = () => {\n this.hasFooter = hasSlot(this.host, 'footer');\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('dialog__panel')) {\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\n render() {\n return (\n <div\n ref={(el) => (this.dialog = el)}\n part=\"base\"\n class={{\n dialog: true,\n 'dialog--open': this.open,\n 'dialog--visible': this.isVisible,\n 'dialog--has-footer': this.hasFooter,\n }}\n onKeyDown={this.handleKeyDown}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <div part=\"overlay\" class=\"dialog__overlay\" onClick={this.handleOverlayClick} />\n\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"dialog__panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-label={this.noHeader ? this.label : null}\n aria-labelledby={!this.noHeader ? `${this.componentId}-title` : null}\n tabIndex={0}\n >\n {!this.noHeader && (\n <header part=\"header\" class=\"dialog__header\">\n <span part=\"title\" class=\"dialog__title\" id={`${this.componentId}-title`}>\n <slot name=\"label\">\n {/* If there's no label, use an invisible character to prevent the heading from collapsing */}\n {this.label || String.fromCharCode(65279)}\n </slot>\n </span>\n <six-icon-button\n exportparts=\"base:close-button\"\n class=\"dialog__close\"\n name=\"close\"\n onClick={this.handleCloseClick}\n />\n </header>\n )}\n\n <div part=\"body\" class=\"dialog__body\">\n <slot />\n </div>\n\n <footer part=\"footer\" class=\"dialog__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </footer>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-5c0f6628.js';
2
- import { u as unlockBodyScrolling, l as lockBodyScrolling } from './scroll-180b53fd.js';
3
- import { h as hasSlot } from './slot-6f3984c7.js';
4
- import { i as isPreventScrollSupported, M as Modal } from './modal-5ebdc320.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-8a74f992.js';
2
+ import { u as unlockBodyScrolling, l as lockBodyScrolling } from './scroll-3fb087a2.js';
3
+ import { h as hasSlot } from './slot-ad36df3a.js';
4
+ import { i as isPreventScrollSupported, M as Modal } from './modal-7d32e141.js';
5
5
 
6
6
  const sixDrawerCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--size:25rem;display:contents}.drawer{top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.drawer:not(.drawer--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.drawer--contained{position:absolute;z-index:initial}.drawer--fixed{position:fixed;z-index:var(--six-z-index-drawer)}.drawer__panel{position:absolute;display:flex;flex-direction:column;z-index:2;max-width:100%;max-height:100%;background-color:var(--six-drawer-background-color);color:var(--six-drawer-color);box-shadow:var(--six-shadow-x-large);transition:var(--six-transition-medium) transform;overflow:auto;pointer-events:all}.drawer__panel:focus{outline:none}.drawer--top .drawer__panel{top:0;right:auto;bottom:auto;left:0;width:100%;height:var(--size);transform:translate(0, -100%)}.drawer--right .drawer__panel{top:0;right:0;bottom:auto;left:auto;width:var(--size);height:100%;transform:translate(100%, 0)}.drawer--bottom .drawer__panel{top:auto;right:auto;bottom:0;left:0;width:100%;height:var(--size);transform:translate(0, 100%)}.drawer--left .drawer__panel{top:0;right:auto;bottom:auto;left:0;width:var(--size);height:100%;transform:translate(-100%, 0)}.drawer--open .drawer__panel{transform:none}.drawer__header{display:flex}.drawer__title{flex:1 1 auto;font-size:var(--six-font-size-large);line-height:var(--six-line-height-dense);padding:var(--six-spacing-large)}.drawer__close{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-x-large);padding:0 var(--six-spacing-large)}.drawer__body{flex:1 1 auto;padding:var(--six-spacing-large);overflow:auto;-webkit-overflow-scrolling:touch}.drawer__footer{text-align:right;padding:var(--six-spacing-large)}.drawer__footer ::slotted(six-button:not(:last-of-type)){margin-right:var(--six-spacing-x-small)}.drawer:not(.drawer--has-footer) .drawer__footer{display:none}.drawer__overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--six-overlay-background-color);opacity:0;transition:var(--six-transition-medium) opacity;pointer-events:all}.drawer--contained .drawer__overlay{position:absolute}.drawer--open .drawer__overlay{opacity:0.4}";
7
7
 
@@ -19,6 +19,30 @@ const SixDrawer = class {
19
19
  this.componentId = `drawer-${++id}`;
20
20
  this.willShow = false;
21
21
  this.willHide = false;
22
+ this.handleCloseClick = () => {
23
+ this.hide();
24
+ };
25
+ this.handleKeyDown = (event) => {
26
+ if (event.key === 'Escape') {
27
+ this.hide();
28
+ }
29
+ };
30
+ this.handleOverlayClick = () => {
31
+ const sixOverlayDismiss = this.sixOverlayDismiss.emit();
32
+ if (!sixOverlayDismiss.defaultPrevented) {
33
+ this.hide();
34
+ }
35
+ };
36
+ this.handleSlotChange = () => {
37
+ this.hasFooter = hasSlot(this.host, 'footer');
38
+ };
39
+ this.handleTransitionEnd = (event) => {
40
+ const target = event.target;
41
+ // Ensure we only emit one event when the target element is no longer visible
42
+ if (event.propertyName === 'transform' && target.classList.contains('drawer__panel')) {
43
+ this.resetTransitionVariables();
44
+ }
45
+ };
22
46
  this.hasFooter = false;
23
47
  this.isVisible = false;
24
48
  this.open = false;
@@ -31,13 +55,8 @@ const SixDrawer = class {
31
55
  this.open ? this.show() : this.hide();
32
56
  }
33
57
  connectedCallback() {
34
- this.handleCloseClick = this.handleCloseClick.bind(this);
35
- this.handleTransitionEnd = this.handleTransitionEnd.bind(this);
36
- this.handleKeyDown = this.handleKeyDown.bind(this);
37
- this.handleOverlayClick = this.handleOverlayClick.bind(this);
38
- this.handleSlotChange = this.handleSlotChange.bind(this);
39
58
  this.modal = new Modal(this.host, {
40
- onFocusOut: () => (this.contained ? null : this.panel.focus()),
59
+ onFocusOut: () => { var _a; return (this.contained ? null : (_a = this.panel) === null || _a === void 0 ? void 0 : _a.focus()); },
41
60
  });
42
61
  }
43
62
  componentWillLoad() {
@@ -55,9 +74,10 @@ const SixDrawer = class {
55
74
  }
56
75
  /** Shows the drawer */
57
76
  async show() {
58
- if (this.willShow) {
77
+ if (this.willShow || this.modal == null || this.panel == null || this.drawer == null) {
59
78
  return;
60
79
  }
80
+ const panel = this.panel;
61
81
  const sixShow = this.sixShow.emit();
62
82
  if (sixShow.defaultPrevented) {
63
83
  this.open = false;
@@ -77,7 +97,7 @@ const SixDrawer = class {
77
97
  requestAnimationFrame(() => {
78
98
  const sixInitialFocus = this.sixInitialFocus.emit();
79
99
  if (!sixInitialFocus.defaultPrevented) {
80
- this.panel.focus({ preventScroll: true });
100
+ panel.focus({ preventScroll: true });
81
101
  }
82
102
  });
83
103
  }
@@ -92,7 +112,7 @@ const SixDrawer = class {
92
112
  this.drawer.addEventListener('transitionend', () => {
93
113
  const sixInitialFocus = this.sixInitialFocus.emit();
94
114
  if (!sixInitialFocus.defaultPrevented) {
95
- this.panel.focus();
115
+ panel.focus();
96
116
  }
97
117
  }, { once: true });
98
118
  }
@@ -100,7 +120,7 @@ const SixDrawer = class {
100
120
  }
101
121
  /** Hides the drawer */
102
122
  async hide() {
103
- if (this.willHide) {
123
+ if (this.willHide || this.modal == null) {
104
124
  return;
105
125
  }
106
126
  const sixHide = this.sixHide.emit();
@@ -113,30 +133,6 @@ const SixDrawer = class {
113
133
  this.modal.deactivate();
114
134
  unlockBodyScrolling(this.host);
115
135
  }
116
- handleCloseClick() {
117
- this.hide();
118
- }
119
- handleKeyDown(event) {
120
- if (event.key === 'Escape') {
121
- this.hide();
122
- }
123
- }
124
- handleOverlayClick() {
125
- const sixOverlayDismiss = this.sixOverlayDismiss.emit();
126
- if (!sixOverlayDismiss.defaultPrevented) {
127
- this.hide();
128
- }
129
- }
130
- handleSlotChange() {
131
- this.hasFooter = hasSlot(this.host, 'footer');
132
- }
133
- handleTransitionEnd(event) {
134
- const target = event.target;
135
- // Ensure we only emit one event when the target element is no longer visible
136
- if (event.propertyName === 'transform' && target.classList.contains('drawer__panel')) {
137
- this.resetTransitionVariables();
138
- }
139
- }
140
136
  resetTransitionVariables() {
141
137
  this.isVisible = this.open;
142
138
  this.willShow = false;