@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"six-details.spec.js","sourceRoot":"","sources":["../../../../src/components/six-details/test/six-details.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;EAC3B,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,UAAU,CAAC;MACxB,IAAI,EAAE,6BAA6B;KACpC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;KAwB7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixDetails } from '../six-details';\n\ndescribe('six-details', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [SixDetails],\n html: `<six-details></six-details>`,\n });\n expect(page.root).toEqualHtml(`\n <six-details summary-icon-size=\"inherit\">\n <mock:shadow-root>\n <div class=\"details\" part=\"base\">\n <header aria-controls=\"details-1-content\" aria-disabled=\"false\" aria-expanded=\"false\" class=\"details__header\" id=\"details-1-header\" part=\"header\" role=\"button\" tabindex=\"0\">\n <div class=\"details__summary\" part=\"summary\">\n <slot name=\"summary\"></slot>\n </div>\n <span class=\"details__summary-icon details__summary-icon--animate\" part=\"summary-icon\">\n <slot name=\"summary-icon\">\n <six-icon size=\"inherit\">\n expand_more\n </six-icon>\n </slot>\n </span>\n </header>\n <div class=\"details__body\" hidden=\"\">\n <div aria-labelledby=\"details-1-header\" class=\"details__content\" id=\"details-1-content\" part=\"content\" role=\"region\">\n <slot></slot>\n </div>\n </div>\n </div>\n </mock:shadow-root>\n </six-details>\n `);\n });\n});\n"]}
@@ -1,8 +1,8 @@
1
- import { h } from '@stencil/core';
2
- import { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';
3
- import { hasSlot } from '../../utils/slot';
4
- import { isPreventScrollSupported } from '../../utils/support';
5
- import Modal from '../../utils/modal';
1
+ import { h } from "@stencil/core";
2
+ import { lockBodyScrolling, unlockBodyScrolling } from "../../utils/scroll";
3
+ import { hasSlot } from "../../utils/slot";
4
+ import { isPreventScrollSupported } from "../../utils/support";
5
+ import Modal from "../../utils/modal";
6
6
  const hasPreventScroll = isPreventScrollSupported();
7
7
  let id = 0;
8
8
  /**
@@ -30,6 +30,33 @@ export class SixDialog {
30
30
  this.componentId = `dialog-${++id}`;
31
31
  this.willShow = false;
32
32
  this.willHide = false;
33
+ this.handleCloseClick = () => {
34
+ this.hide();
35
+ };
36
+ this.handleKeyDown = (event) => {
37
+ if (event.key === 'Escape') {
38
+ this.hide();
39
+ }
40
+ };
41
+ this.handleOverlayClick = () => {
42
+ const sixOverlayDismiss = this.sixOverlayDismiss.emit();
43
+ if (!sixOverlayDismiss.defaultPrevented) {
44
+ this.hide();
45
+ }
46
+ };
47
+ this.handleSlotChange = () => {
48
+ this.hasFooter = hasSlot(this.host, 'footer');
49
+ };
50
+ this.handleTransitionEnd = (event) => {
51
+ const target = event.target;
52
+ // Ensure we only emit one event when the target element is no longer visible
53
+ if (event.propertyName === 'opacity' && target.classList.contains('dialog__panel')) {
54
+ this.isVisible = this.open;
55
+ this.willShow = false;
56
+ this.willHide = false;
57
+ this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();
58
+ }
59
+ };
33
60
  this.hasFooter = false;
34
61
  this.isVisible = false;
35
62
  this.open = false;
@@ -40,13 +67,8 @@ export class SixDialog {
40
67
  this.open ? this.show() : this.hide();
41
68
  }
42
69
  connectedCallback() {
43
- this.handleCloseClick = this.handleCloseClick.bind(this);
44
- this.handleTransitionEnd = this.handleTransitionEnd.bind(this);
45
- this.handleKeyDown = this.handleKeyDown.bind(this);
46
- this.handleOverlayClick = this.handleOverlayClick.bind(this);
47
- this.handleSlotChange = this.handleSlotChange.bind(this);
48
70
  this.modal = new Modal(this.host, {
49
- onFocusOut: () => this.panel.focus(),
71
+ onFocusOut: () => { var _a; return (_a = this.panel) === null || _a === void 0 ? void 0 : _a.focus(); },
50
72
  });
51
73
  }
52
74
  componentWillLoad() {
@@ -61,9 +83,10 @@ export class SixDialog {
61
83
  }
62
84
  /** Shows the dialog */
63
85
  async show() {
64
- if (this.willShow) {
86
+ if (this.willShow || this.modal == null || this.panel == null || this.dialog == null) {
65
87
  return;
66
88
  }
89
+ const panel = this.panel;
67
90
  const sixShow = this.sixShow.emit();
68
91
  if (sixShow.defaultPrevented) {
69
92
  this.open = false;
@@ -80,7 +103,7 @@ export class SixDialog {
80
103
  requestAnimationFrame(() => {
81
104
  const sixInitialFocus = this.sixInitialFocus.emit();
82
105
  if (!sixInitialFocus.defaultPrevented) {
83
- this.panel.focus({ preventScroll: true });
106
+ panel.focus({ preventScroll: true });
84
107
  }
85
108
  });
86
109
  }
@@ -95,7 +118,7 @@ export class SixDialog {
95
118
  this.dialog.addEventListener('transitionend', () => {
96
119
  const sixInitialFocus = this.sixInitialFocus.emit();
97
120
  if (!sixInitialFocus.defaultPrevented) {
98
- this.panel.focus();
121
+ panel.focus();
99
122
  }
100
123
  }, { once: true });
101
124
  }
@@ -103,7 +126,7 @@ export class SixDialog {
103
126
  }
104
127
  /** Hides the dialog */
105
128
  async hide() {
106
- if (this.willHide) {
129
+ if (this.willHide || this.modal == null) {
107
130
  return;
108
131
  }
109
132
  const sixHide = this.sixHide.emit();
@@ -116,33 +139,6 @@ export class SixDialog {
116
139
  this.modal.deactivate();
117
140
  unlockBodyScrolling(this.host);
118
141
  }
119
- handleCloseClick() {
120
- this.hide();
121
- }
122
- handleKeyDown(event) {
123
- if (event.key === 'Escape') {
124
- this.hide();
125
- }
126
- }
127
- handleOverlayClick() {
128
- const sixOverlayDismiss = this.sixOverlayDismiss.emit();
129
- if (!sixOverlayDismiss.defaultPrevented) {
130
- this.hide();
131
- }
132
- }
133
- handleSlotChange() {
134
- this.hasFooter = hasSlot(this.host, 'footer');
135
- }
136
- handleTransitionEnd(event) {
137
- const target = event.target;
138
- // Ensure we only emit one event when the target element is no longer visible
139
- if (event.propertyName === 'opacity' && target.classList.contains('dialog__panel')) {
140
- this.isVisible = this.open;
141
- this.willShow = false;
142
- this.willHide = false;
143
- this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();
144
- }
145
- }
146
142
  render() {
147
143
  return (h("div", { ref: (el) => (this.dialog = el), part: "base", class: {
148
144
  dialog: true,
@@ -177,7 +173,7 @@ export class SixDialog {
177
173
  "optional": false,
178
174
  "docs": {
179
175
  "tags": [],
180
- "text": "Indicates whether or not the dialog is open. You can use this in lieu of the show/hide methods."
176
+ "text": "Indicates whether the dialog is open. You can use this in lieu of the show/hide methods."
181
177
  },
182
178
  "attribute": "open",
183
179
  "reflect": true,
@@ -244,7 +240,8 @@ export class SixDialog {
244
240
  "references": {
245
241
  "EmptyPayload": {
246
242
  "location": "import",
247
- "path": "../../utils/types"
243
+ "path": "../../utils/types",
244
+ "id": "src/utils/types.ts::EmptyPayload"
248
245
  }
249
246
  }
250
247
  }
@@ -264,7 +261,8 @@ export class SixDialog {
264
261
  "references": {
265
262
  "EmptyPayload": {
266
263
  "location": "import",
267
- "path": "../../utils/types"
264
+ "path": "../../utils/types",
265
+ "id": "src/utils/types.ts::EmptyPayload"
268
266
  }
269
267
  }
270
268
  }
@@ -284,7 +282,8 @@ export class SixDialog {
284
282
  "references": {
285
283
  "EmptyPayload": {
286
284
  "location": "import",
287
- "path": "../../utils/types"
285
+ "path": "../../utils/types",
286
+ "id": "src/utils/types.ts::EmptyPayload"
288
287
  }
289
288
  }
290
289
  }
@@ -304,7 +303,8 @@ export class SixDialog {
304
303
  "references": {
305
304
  "EmptyPayload": {
306
305
  "location": "import",
307
- "path": "../../utils/types"
306
+ "path": "../../utils/types",
307
+ "id": "src/utils/types.ts::EmptyPayload"
308
308
  }
309
309
  }
310
310
  }
@@ -324,7 +324,8 @@ export class SixDialog {
324
324
  "references": {
325
325
  "EmptyPayload": {
326
326
  "location": "import",
327
- "path": "../../utils/types"
327
+ "path": "../../utils/types",
328
+ "id": "src/utils/types.ts::EmptyPayload"
328
329
  }
329
330
  }
330
331
  }
@@ -344,7 +345,8 @@ export class SixDialog {
344
345
  "references": {
345
346
  "EmptyPayload": {
346
347
  "location": "import",
347
- "path": "../../utils/types"
348
+ "path": "../../utils/types",
349
+ "id": "src/utils/types.ts::EmptyPayload"
348
350
  }
349
351
  }
350
352
  }
@@ -358,7 +360,8 @@ export class SixDialog {
358
360
  "parameters": [],
359
361
  "references": {
360
362
  "Promise": {
361
- "location": "global"
363
+ "location": "global",
364
+ "id": "global::Promise"
362
365
  }
363
366
  },
364
367
  "return": "Promise<void>"
@@ -374,7 +377,8 @@ export class SixDialog {
374
377
  "parameters": [],
375
378
  "references": {
376
379
  "Promise": {
377
- "location": "global"
380
+ "location": "global",
381
+ "id": "global::Promise"
378
382
  }
379
383
  },
380
384
  "return": "Promise<void>"
@@ -1 +1 @@
1
- {"version":3,"file":"six-dialog.js","sourceRoot":"","sources":["../../../src/components/six-dialog/six-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,MAAM,mBAAmB,CAAC;AAGtC,MAAM,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;AAEpD,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,MAAM,OAAO,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,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;EACxC,CAAC;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,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;KACrC,CAAC,CAAC;EACL,CAAC;EAED,iBAAiB;IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAExB,uBAAuB;IACvB,IAAI,IAAI,CAAC,IAAI,EAAE;MACb,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;EACH,CAAC;EAED,oBAAoB;IAClB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACjC,CAAC;EAED,uBAAuB;EAEvB,KAAK,CAAC,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;QACpB,4FAA4F;QAC5F,qBAAqB,CAAC,GAAG,EAAE;UACzB,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;QACH,CAAC,CAAC,CAAC;OACJ;WAAM;QACL,+GAA+G;QAC/G,8GAA8G;QAC9G,yBAAyB;QACzB,EAAE;QACF,2CAA2C;QAC3C,yDAAyD;QACzD,EAAE;QACF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC1B,eAAe,EACf,GAAG,EAAE;UACH,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;QACH,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;OACH;KACF;EACH,CAAC;EAED,uBAAuB;EAEvB,KAAK,CAAC,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;EACjC,CAAC;EAED,gBAAgB;IACd,IAAI,CAAC,IAAI,EAAE,CAAC;EACd,CAAC;EAED,aAAa,CAAC,KAAoB;IAChC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;MAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;EACH,CAAC;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;EACH,CAAC;EAED,gBAAgB;IACd,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;EAChD,CAAC;EAED,mBAAmB,CAAC,KAAsB;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;IAE3C,6EAA6E;IAC7E,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,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KACjE;EACH,CAAC;EAED,MAAM;IACJ,OAAO,CACL,WACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,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;MAEzC,WAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,iBAAiB,EAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,GAAI;MAEhF,WACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,EAC9B,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,QAAQ,gBACF,MAAM,iBACJ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,gBAC7B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,qBAC5B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC,IAAI,EACpE,QAAQ,EAAE,CAAC;QAEV,CAAC,IAAI,CAAC,QAAQ,IAAI,CACjB,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,gBAAgB;UAC1C,YAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,eAAe,EAAC,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,QAAQ;YACtE,YAAM,IAAI,EAAC,OAAO,IAEf,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CACpC,CACF;UACP,uBACE,WAAW,EAAC,mBAAmB,EAC/B,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAC9B,CACK,CACV;QAED,WAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,cAAc;UACnC,eAAQ,CACJ;QAEN,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,gBAAgB;UAC1C,YAAM,IAAI,EAAC,QAAQ,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAI,CACpD,CACL,CACF,CACP,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
1
+ {"version":3,"file":"six-dialog.js","sourceRoot":"","sources":["../../../src/components/six-dialog/six-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
@@ -0,0 +1,34 @@
1
+ import { newSpecPage } from "@stencil/core/testing";
2
+ import { SixDialog } from "../six-dialog";
3
+ describe('six-dialog', () => {
4
+ it('renders', async () => {
5
+ const page = await newSpecPage({
6
+ components: [SixDialog],
7
+ html: `<six-dialog></six-dialog>`,
8
+ });
9
+ expect(page.root).toEqualHtml(`
10
+ <six-dialog>
11
+ <mock:shadow-root>
12
+ <div class="dialog" part="base">
13
+ <div class="dialog__overlay" part="overlay"></div>
14
+ <div aria-hidden="true" aria-labelledby="dialog-1-title" aria-modal="true" class="dialog__panel" part="panel" role="dialog" tabindex="0">
15
+ <header class="dialog__header" part="header">
16
+ <span class="dialog__title" id="dialog-1-title" part="title">
17
+ <slot name="label"></slot>
18
+ </span>
19
+ <six-icon-button class="dialog__close" exportparts="base:close-button" name="close"></six-icon-button>
20
+ </header>
21
+ <div class="dialog__body" part="body">
22
+ <slot></slot>
23
+ </div>
24
+ <footer class="dialog__footer" part="footer">
25
+ <slot name="footer"></slot>
26
+ </footer>
27
+ </div>
28
+ </div>
29
+ </mock:shadow-root>
30
+ </six-dialog>
31
+ `);
32
+ });
33
+ });
34
+ //# sourceMappingURL=six-dialog.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"six-dialog.spec.js","sourceRoot":"","sources":["../../../../src/components/six-dialog/test/six-dialog.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;EAC1B,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,SAAS,CAAC;MACvB,IAAI,EAAE,2BAA2B;KAClC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;KAsB7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixDialog } from '../six-dialog';\n\ndescribe('six-dialog', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [SixDialog],\n html: `<six-dialog></six-dialog>`,\n });\n expect(page.root).toEqualHtml(`\n <six-dialog>\n <mock:shadow-root>\n <div class=\"dialog\" part=\"base\">\n <div class=\"dialog__overlay\" part=\"overlay\"></div>\n <div aria-hidden=\"true\" aria-labelledby=\"dialog-1-title\" aria-modal=\"true\" class=\"dialog__panel\" part=\"panel\" role=\"dialog\" tabindex=\"0\">\n <header class=\"dialog__header\" part=\"header\">\n <span class=\"dialog__title\" id=\"dialog-1-title\" part=\"title\">\n <slot name=\"label\"></slot>\n </span>\n <six-icon-button class=\"dialog__close\" exportparts=\"base:close-button\" name=\"close\"></six-icon-button>\n </header>\n <div class=\"dialog__body\" part=\"body\">\n <slot></slot>\n </div>\n <footer class=\"dialog__footer\" part=\"footer\">\n <slot name=\"footer\"></slot>\n </footer>\n </div>\n </div>\n </mock:shadow-root>\n </six-dialog>\n `);\n });\n});\n"]}
@@ -1,8 +1,8 @@
1
- import { h } from '@stencil/core';
2
- import { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';
3
- import { hasSlot } from '../../utils/slot';
4
- import { isPreventScrollSupported } from '../../utils/support';
5
- import Modal from '../../utils/modal';
1
+ import { h } from "@stencil/core";
2
+ import { lockBodyScrolling, unlockBodyScrolling } from "../../utils/scroll";
3
+ import { hasSlot } from "../../utils/slot";
4
+ import { isPreventScrollSupported } from "../../utils/support";
5
+ import Modal from "../../utils/modal";
6
6
  const hasPreventScroll = isPreventScrollSupported();
7
7
  let id = 0;
8
8
  /**
@@ -29,6 +29,30 @@ export class SixDrawer {
29
29
  this.componentId = `drawer-${++id}`;
30
30
  this.willShow = false;
31
31
  this.willHide = false;
32
+ this.handleCloseClick = () => {
33
+ this.hide();
34
+ };
35
+ this.handleKeyDown = (event) => {
36
+ if (event.key === 'Escape') {
37
+ this.hide();
38
+ }
39
+ };
40
+ this.handleOverlayClick = () => {
41
+ const sixOverlayDismiss = this.sixOverlayDismiss.emit();
42
+ if (!sixOverlayDismiss.defaultPrevented) {
43
+ this.hide();
44
+ }
45
+ };
46
+ this.handleSlotChange = () => {
47
+ this.hasFooter = hasSlot(this.host, 'footer');
48
+ };
49
+ this.handleTransitionEnd = (event) => {
50
+ const target = event.target;
51
+ // Ensure we only emit one event when the target element is no longer visible
52
+ if (event.propertyName === 'transform' && target.classList.contains('drawer__panel')) {
53
+ this.resetTransitionVariables();
54
+ }
55
+ };
32
56
  this.hasFooter = false;
33
57
  this.isVisible = false;
34
58
  this.open = false;
@@ -41,13 +65,8 @@ export class SixDrawer {
41
65
  this.open ? this.show() : this.hide();
42
66
  }
43
67
  connectedCallback() {
44
- this.handleCloseClick = this.handleCloseClick.bind(this);
45
- this.handleTransitionEnd = this.handleTransitionEnd.bind(this);
46
- this.handleKeyDown = this.handleKeyDown.bind(this);
47
- this.handleOverlayClick = this.handleOverlayClick.bind(this);
48
- this.handleSlotChange = this.handleSlotChange.bind(this);
49
68
  this.modal = new Modal(this.host, {
50
- onFocusOut: () => (this.contained ? null : this.panel.focus()),
69
+ onFocusOut: () => { var _a; return (this.contained ? null : (_a = this.panel) === null || _a === void 0 ? void 0 : _a.focus()); },
51
70
  });
52
71
  }
53
72
  componentWillLoad() {
@@ -65,9 +84,10 @@ export class SixDrawer {
65
84
  }
66
85
  /** Shows the drawer */
67
86
  async show() {
68
- if (this.willShow) {
87
+ if (this.willShow || this.modal == null || this.panel == null || this.drawer == null) {
69
88
  return;
70
89
  }
90
+ const panel = this.panel;
71
91
  const sixShow = this.sixShow.emit();
72
92
  if (sixShow.defaultPrevented) {
73
93
  this.open = false;
@@ -87,7 +107,7 @@ export class SixDrawer {
87
107
  requestAnimationFrame(() => {
88
108
  const sixInitialFocus = this.sixInitialFocus.emit();
89
109
  if (!sixInitialFocus.defaultPrevented) {
90
- this.panel.focus({ preventScroll: true });
110
+ panel.focus({ preventScroll: true });
91
111
  }
92
112
  });
93
113
  }
@@ -102,7 +122,7 @@ export class SixDrawer {
102
122
  this.drawer.addEventListener('transitionend', () => {
103
123
  const sixInitialFocus = this.sixInitialFocus.emit();
104
124
  if (!sixInitialFocus.defaultPrevented) {
105
- this.panel.focus();
125
+ panel.focus();
106
126
  }
107
127
  }, { once: true });
108
128
  }
@@ -110,7 +130,7 @@ export class SixDrawer {
110
130
  }
111
131
  /** Hides the drawer */
112
132
  async hide() {
113
- if (this.willHide) {
133
+ if (this.willHide || this.modal == null) {
114
134
  return;
115
135
  }
116
136
  const sixHide = this.sixHide.emit();
@@ -123,30 +143,6 @@ export class SixDrawer {
123
143
  this.modal.deactivate();
124
144
  unlockBodyScrolling(this.host);
125
145
  }
126
- handleCloseClick() {
127
- this.hide();
128
- }
129
- handleKeyDown(event) {
130
- if (event.key === 'Escape') {
131
- this.hide();
132
- }
133
- }
134
- handleOverlayClick() {
135
- const sixOverlayDismiss = this.sixOverlayDismiss.emit();
136
- if (!sixOverlayDismiss.defaultPrevented) {
137
- this.hide();
138
- }
139
- }
140
- handleSlotChange() {
141
- this.hasFooter = hasSlot(this.host, 'footer');
142
- }
143
- handleTransitionEnd(event) {
144
- const target = event.target;
145
- // Ensure we only emit one event when the target element is no longer visible
146
- if (event.propertyName === 'transform' && target.classList.contains('drawer__panel')) {
147
- this.resetTransitionVariables();
148
- }
149
- }
150
146
  resetTransitionVariables() {
151
147
  this.isVisible = this.open;
152
148
  this.willShow = false;
@@ -193,7 +189,7 @@ export class SixDrawer {
193
189
  "optional": false,
194
190
  "docs": {
195
191
  "tags": [],
196
- "text": "Indicates whether or not the drawer is open. You can use this in lieu of the show/hide methods."
192
+ "text": "Indicates whether the drawer is open. You can use this in lieu of the show/hide methods."
197
193
  },
198
194
  "attribute": "open",
199
195
  "reflect": true,
@@ -296,7 +292,8 @@ export class SixDrawer {
296
292
  "references": {
297
293
  "EmptyPayload": {
298
294
  "location": "import",
299
- "path": "../../utils/types"
295
+ "path": "../../utils/types",
296
+ "id": "src/utils/types.ts::EmptyPayload"
300
297
  }
301
298
  }
302
299
  }
@@ -316,7 +313,8 @@ export class SixDrawer {
316
313
  "references": {
317
314
  "EmptyPayload": {
318
315
  "location": "import",
319
- "path": "../../utils/types"
316
+ "path": "../../utils/types",
317
+ "id": "src/utils/types.ts::EmptyPayload"
320
318
  }
321
319
  }
322
320
  }
@@ -336,7 +334,8 @@ export class SixDrawer {
336
334
  "references": {
337
335
  "EmptyPayload": {
338
336
  "location": "import",
339
- "path": "../../utils/types"
337
+ "path": "../../utils/types",
338
+ "id": "src/utils/types.ts::EmptyPayload"
340
339
  }
341
340
  }
342
341
  }
@@ -356,7 +355,8 @@ export class SixDrawer {
356
355
  "references": {
357
356
  "EmptyPayload": {
358
357
  "location": "import",
359
- "path": "../../utils/types"
358
+ "path": "../../utils/types",
359
+ "id": "src/utils/types.ts::EmptyPayload"
360
360
  }
361
361
  }
362
362
  }
@@ -376,7 +376,8 @@ export class SixDrawer {
376
376
  "references": {
377
377
  "EmptyPayload": {
378
378
  "location": "import",
379
- "path": "../../utils/types"
379
+ "path": "../../utils/types",
380
+ "id": "src/utils/types.ts::EmptyPayload"
380
381
  }
381
382
  }
382
383
  }
@@ -396,7 +397,8 @@ export class SixDrawer {
396
397
  "references": {
397
398
  "EmptyPayload": {
398
399
  "location": "import",
399
- "path": "../../utils/types"
400
+ "path": "../../utils/types",
401
+ "id": "src/utils/types.ts::EmptyPayload"
400
402
  }
401
403
  }
402
404
  }
@@ -410,7 +412,8 @@ export class SixDrawer {
410
412
  "parameters": [],
411
413
  "references": {
412
414
  "Promise": {
413
- "location": "global"
415
+ "location": "global",
416
+ "id": "global::Promise"
414
417
  }
415
418
  },
416
419
  "return": "Promise<void>"
@@ -426,7 +429,8 @@ export class SixDrawer {
426
429
  "parameters": [],
427
430
  "references": {
428
431
  "Promise": {
429
- "location": "global"
432
+ "location": "global",
433
+ "id": "global::Promise"
430
434
  }
431
435
  },
432
436
  "return": "Promise<void>"
@@ -1 +1 @@
1
- {"version":3,"file":"six-drawer.js","sourceRoot":"","sources":["../../../src/components/six-drawer/six-drawer.tsx"],"names":[],"mappings":"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","sourcesContent":["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();\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 drawer's content.\n * @slot label - The drawer's label. Alternatively, you can use the label prop.\n * @slot footer - The drawer'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 drawer panel (where the drawer and its content is rendered).\n * @part header - The drawer header.\n * @part title - The drawer title.\n * @part close-button - The close button.\n * @part body - The drawer body.\n * @part footer - The drawer footer.\n */\n\n@Component({\n tag: 'six-drawer',\n styleUrl: 'six-drawer.scss',\n shadow: true,\n})\nexport class SixDrawer {\n componentId = `drawer-${++id}`;\n drawer: HTMLElement;\n modal: Modal;\n panel: HTMLElement;\n willShow = false;\n willHide = false;\n\n @Element() host: HTMLSixDrawerElement;\n\n @State() hasFooter = false;\n @State() isVisible = false;\n\n /** Indicates whether or not the drawer 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 drawer'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 /** The direction from which the drawer will open. */\n @Prop() placement: 'top' | 'right' | 'bottom' | 'left' = 'right';\n\n /**\n * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\n * its parent element, set this prop and add `position: relative` to the parent.\n */\n @Prop() contained = false;\n\n /**\n * Removes the header. This will also remove the default close button, so please ensure you provide an easy,\n * accessible way for users to dismiss the drawer.\n */\n @Prop() noHeader = false;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Emitted when the drawer opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-drawer-show' }) sixShow: EventEmitter<EmptyPayload>;\n\n /** Emitted after the drawer opens and all transitions are complete. */\n @Event({ eventName: 'six-drawer-after-show' }) sixAfterShow: EventEmitter<EmptyPayload>;\n\n /** Emitted when the drawer closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-drawer-hide' }) sixHide: EventEmitter<EmptyPayload>;\n\n /** Emitted after the drawer closes and all transitions are complete. */\n @Event({ eventName: 'six-drawer-after-hide' }) sixAfterHide: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when the drawer 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 drawer, such as an input or button.\n */\n @Event({ eventName: 'six-drawer-initial-focus' }) sixInitialFocus: EventEmitter<EmptyPayload>;\n\n /** Emitted when the overlay is clicked. Calling `event.preventDefault()` will prevent the drawer from closing. */\n @Event({ eventName: 'six-drawer-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.contained ? null : 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 // if the sidebar is open by default we need to manually reset the\n // transition variables since there will be no transition event\n this.resetTransitionVariables();\n }\n }\n\n disconnectedCallback() {\n unlockBodyScrolling(this.host);\n }\n\n /** Shows the drawer */\n @Method()\n async show() {\n if (this.willShow) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.willShow = true;\n this.isVisible = true;\n this.open = true;\n\n // Lock body scrolling only if the drawer isn't contained\n if (!this.contained) {\n this.modal.activate();\n lockBodyScrolling(this.host);\n }\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.drawer.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 drawer */\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 === 'transform' && target.classList.contains('drawer__panel')) {\n this.resetTransitionVariables();\n }\n }\n\n private resetTransitionVariables() {\n this.isVisible = this.open;\n this.willShow = false;\n this.willHide = false;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.drawer = el)}\n part=\"base\"\n class={{\n drawer: true,\n 'drawer--open': this.open,\n 'drawer--visible': this.isVisible,\n 'drawer--top': this.placement === 'top',\n 'drawer--right': this.placement === 'right',\n 'drawer--bottom': this.placement === 'bottom',\n 'drawer--left': this.placement === 'left',\n 'drawer--contained': this.contained,\n 'drawer--fixed': !this.contained,\n 'drawer--has-footer': this.hasFooter,\n }}\n onKeyDown={this.handleKeyDown}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <div part=\"overlay\" class=\"drawer__overlay\" onClick={this.handleOverlayClick} tabIndex={-1} />\n\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"drawer__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=\"drawer__header\">\n <span part=\"title\" class=\"drawer__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=\"drawer__close\"\n name=\"x\"\n onClick={this.handleCloseClick}\n />\n </header>\n )}\n\n <div part=\"body\" class=\"drawer__body\">\n <slot />\n </div>\n\n <footer part=\"footer\" class=\"drawer__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </footer>\n </div>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-drawer.js","sourceRoot":"","sources":["../../../src/components/six-drawer/six-drawer.tsx"],"names":[],"mappings":"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","sourcesContent":["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();\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 drawer's content.\n * @slot label - The drawer's label. Alternatively, you can use the label prop.\n * @slot footer - The drawer'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 drawer panel (where the drawer and its content is rendered).\n * @part header - The drawer header.\n * @part title - The drawer title.\n * @part close-button - The close button.\n * @part body - The drawer body.\n * @part footer - The drawer footer.\n */\n\n@Component({\n tag: 'six-drawer',\n styleUrl: 'six-drawer.scss',\n shadow: true,\n})\nexport class SixDrawer {\n private componentId = `drawer-${++id}`;\n private drawer?: HTMLElement;\n private modal?: Modal;\n private panel?: HTMLElement;\n private willShow = false;\n private willHide = false;\n\n @Element() host!: HTMLSixDrawerElement;\n\n @State() hasFooter = false;\n @State() isVisible = false;\n\n /** Indicates whether the drawer 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 drawer'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 /** The direction from which the drawer will open. */\n @Prop() placement: 'top' | 'right' | 'bottom' | 'left' = 'right';\n\n /**\n * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\n * its parent element, set this prop and add `position: relative` to the parent.\n */\n @Prop() contained = false;\n\n /**\n * Removes the header. This will also remove the default close button, so please ensure you provide an easy,\n * accessible way for users to dismiss the drawer.\n */\n @Prop() noHeader = false;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Emitted when the drawer opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-drawer-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the drawer opens and all transitions are complete. */\n @Event({ eventName: 'six-drawer-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the drawer closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-drawer-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the drawer closes and all transitions are complete. */\n @Event({ eventName: 'six-drawer-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when the drawer 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 drawer, such as an input or button.\n */\n @Event({ eventName: 'six-drawer-initial-focus' }) sixInitialFocus!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the overlay is clicked. Calling `event.preventDefault()` will prevent the drawer from closing. */\n @Event({ eventName: 'six-drawer-overlay-dismiss' }) sixOverlayDismiss!: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.modal = new Modal(this.host, {\n onFocusOut: () => (this.contained ? null : 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 // if the sidebar is open by default we need to manually reset the\n // transition variables since there will be no transition event\n this.resetTransitionVariables();\n }\n }\n\n disconnectedCallback() {\n unlockBodyScrolling(this.host);\n }\n\n /** Shows the drawer */\n @Method()\n async show() {\n if (this.willShow || this.modal == null || this.panel == null || this.drawer == 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\n // Lock body scrolling only if the drawer isn't contained\n if (!this.contained) {\n this.modal.activate();\n lockBodyScrolling(this.host);\n }\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.drawer.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 drawer */\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 === 'transform' && target.classList.contains('drawer__panel')) {\n this.resetTransitionVariables();\n }\n };\n\n private resetTransitionVariables() {\n this.isVisible = this.open;\n this.willShow = false;\n this.willHide = false;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.drawer = el)}\n part=\"base\"\n class={{\n drawer: true,\n 'drawer--open': this.open,\n 'drawer--visible': this.isVisible,\n 'drawer--top': this.placement === 'top',\n 'drawer--right': this.placement === 'right',\n 'drawer--bottom': this.placement === 'bottom',\n 'drawer--left': this.placement === 'left',\n 'drawer--contained': this.contained,\n 'drawer--fixed': !this.contained,\n 'drawer--has-footer': this.hasFooter,\n }}\n onKeyDown={this.handleKeyDown}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <div part=\"overlay\" class=\"drawer__overlay\" onClick={this.handleOverlayClick} tabIndex={-1} />\n\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"drawer__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=\"drawer__header\">\n <span part=\"title\" class=\"drawer__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=\"drawer__close\"\n name=\"x\"\n onClick={this.handleCloseClick}\n />\n </header>\n )}\n\n <div part=\"body\" class=\"drawer__body\">\n <slot />\n </div>\n\n <footer part=\"footer\" class=\"drawer__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </footer>\n </div>\n </div>\n );\n }\n}\n"]}