@six-group/ui-library 3.0.0-beta.1.7 → 3.0.0-beta.1.8

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 (367) hide show
  1. package/dist/cjs/{event-listeners-4a8d66d5.js → event-listeners-74715e62.js} +38 -38
  2. package/dist/cjs/{execution-control-3bc9c7c4.js → execution-control-46f388e0.js} +35 -35
  3. package/dist/cjs/{focus-visible-b08d956f.js → focus-visible-0b352c74.js} +40 -40
  4. package/dist/cjs/{form-control-9e4dffd1.js → form-control-866bbece.js} +25 -25
  5. package/dist/cjs/{modal-a9679ddf.js → modal-48d42228.js} +41 -41
  6. package/dist/cjs/{popover-e3781f5a.js → popover-1d2a037c.js} +95 -95
  7. package/dist/cjs/{scroll-5b8676ba.js → scroll-76e6f5d7.js} +57 -57
  8. package/dist/cjs/set-attributes_2.cjs.entry.js +57 -57
  9. package/dist/cjs/six-alert.cjs.entry.js +131 -131
  10. package/dist/cjs/six-avatar.cjs.entry.js +28 -28
  11. package/dist/cjs/six-badge.cjs.entry.js +26 -26
  12. package/dist/cjs/six-button.cjs.entry.js +97 -97
  13. package/dist/cjs/six-card.cjs.entry.js +8 -8
  14. package/dist/cjs/six-checkbox.cjs.entry.js +152 -152
  15. package/dist/cjs/six-datepicker.cjs.entry.js +1189 -1189
  16. package/dist/cjs/six-details.cjs.entry.js +139 -139
  17. package/dist/cjs/six-dialog.cjs.entry.js +152 -152
  18. package/dist/cjs/six-drawer.cjs.entry.js +174 -174
  19. package/dist/cjs/six-dropdown_3.cjs.entry.js +728 -728
  20. package/dist/cjs/six-error-page.cjs.entry.js +94 -94
  21. package/dist/cjs/six-file-list-item.cjs.entry.js +38 -38
  22. package/dist/cjs/six-file-list.cjs.entry.js +8 -8
  23. package/dist/cjs/six-file-upload.cjs.entry.js +96 -96
  24. package/dist/cjs/six-footer.cjs.entry.js +8 -8
  25. package/dist/cjs/six-form.cjs.entry.js +219 -219
  26. package/dist/cjs/six-group-label.cjs.entry.js +46 -46
  27. package/dist/cjs/six-header.cjs.entry.js +149 -149
  28. package/dist/cjs/six-icon-button.cjs.entry.js +33 -33
  29. package/dist/cjs/six-icon.cjs.entry.js +24 -24
  30. package/dist/cjs/six-input.cjs.entry.js +230 -230
  31. package/dist/cjs/six-item-picker.cjs.entry.js +361 -361
  32. package/dist/cjs/six-language-switcher.cjs.entry.js +52 -52
  33. package/dist/cjs/six-layout-grid.cjs.entry.js +19 -19
  34. package/dist/cjs/six-main-container.cjs.entry.js +11 -11
  35. package/dist/cjs/six-menu-divider.cjs.entry.js +8 -8
  36. package/dist/cjs/six-menu-label.cjs.entry.js +8 -8
  37. package/dist/cjs/six-picto.cjs.entry.js +15 -15
  38. package/dist/cjs/six-progress-bar.cjs.entry.js +17 -17
  39. package/dist/cjs/six-progress-ring.cjs.entry.js +31 -31
  40. package/dist/cjs/six-radio.cjs.entry.js +121 -121
  41. package/dist/cjs/six-range.cjs.entry.js +198 -198
  42. package/dist/cjs/six-root.cjs.entry.js +34 -34
  43. package/dist/cjs/six-search-field.cjs.entry.js +43 -43
  44. package/dist/cjs/six-select.cjs.entry.js +447 -447
  45. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +42 -42
  46. package/dist/cjs/six-sidebar-item.cjs.entry.js +18 -18
  47. package/dist/cjs/six-sidebar.cjs.entry.js +171 -171
  48. package/dist/cjs/six-spinner.cjs.entry.js +16 -16
  49. package/dist/cjs/six-switch.cjs.entry.js +100 -100
  50. package/dist/cjs/six-tab-group.cjs.entry.js +226 -226
  51. package/dist/cjs/six-tab-panel.cjs.entry.js +17 -17
  52. package/dist/cjs/six-tab.cjs.entry.js +42 -42
  53. package/dist/cjs/six-table-cell_4.cjs.entry.js +70 -70
  54. package/dist/cjs/six-table.cjs.entry.js +145 -145
  55. package/dist/cjs/six-tag.cjs.entry.js +40 -40
  56. package/dist/cjs/six-textarea.cjs.entry.js +211 -211
  57. package/dist/cjs/six-tile.cjs.entry.js +89 -89
  58. package/dist/cjs/six-timepicker.cjs.entry.js +489 -489
  59. package/dist/cjs/{six-timepicker.types-c58cc88b.js → six-timepicker.types-c19ebff3.js} +43 -43
  60. package/dist/cjs/six-tooltip.cjs.entry.js +172 -172
  61. package/dist/cjs/{slot-8abe833c.js → slot-ad537f24.js} +42 -42
  62. package/dist/cjs/{types-65e5c95b.js → types-581e8ff0.js} +12 -12
  63. package/dist/cjs/{types-0c28e484.js → types-64878648.js} +12 -12
  64. package/dist/collection/components/six-alert/six-alert.js +366 -366
  65. package/dist/collection/components/six-avatar/six-avatar.js +131 -131
  66. package/dist/collection/components/six-badge/six-badge.js +101 -101
  67. package/dist/collection/components/six-button/six-button.js +466 -466
  68. package/dist/collection/components/six-card/six-card.js +21 -21
  69. package/dist/collection/components/six-checkbox/six-checkbox.js +550 -550
  70. package/dist/collection/components/six-datepicker/components/day-selection.js +13 -13
  71. package/dist/collection/components/six-datepicker/components/month-selection.js +12 -12
  72. package/dist/collection/components/six-datepicker/components/year-selection.js +10 -10
  73. package/dist/collection/components/six-datepicker/six-date-formats.js +23 -23
  74. package/dist/collection/components/six-datepicker/six-datepicker.js +1343 -1343
  75. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +16 -16
  76. package/dist/collection/components/six-details/six-details.js +432 -432
  77. package/dist/collection/components/six-dialog/six-dialog.js +401 -401
  78. package/dist/collection/components/six-drawer/six-drawer.js +458 -458
  79. package/dist/collection/components/six-dropdown/six-dropdown.js +939 -939
  80. package/dist/collection/components/six-error-page/six-error-page.js +199 -199
  81. package/dist/collection/components/six-file-list/six-file-list.js +20 -20
  82. package/dist/collection/components/six-file-list-item/six-file-list-item.js +203 -203
  83. package/dist/collection/components/six-file-upload/six-file-upload.js +272 -272
  84. package/dist/collection/components/six-footer/six-footer.js +21 -21
  85. package/dist/collection/components/six-form/six-form.js +408 -408
  86. package/dist/collection/components/six-group-label/six-group-label.js +166 -166
  87. package/dist/collection/components/six-header/six-header.js +420 -420
  88. package/dist/collection/components/six-icon/six-icon.js +77 -77
  89. package/dist/collection/components/six-icon-button/six-icon-button.js +142 -142
  90. package/dist/collection/components/six-input/six-input.js +1141 -1141
  91. package/dist/collection/components/six-item-picker/six-item-picker.js +688 -688
  92. package/dist/collection/components/six-item-picker/types.js +13 -13
  93. package/dist/collection/components/six-language-switcher/six-language-switcher.js +128 -128
  94. package/dist/collection/components/six-layout-grid/six-layout-grid.js +52 -52
  95. package/dist/collection/components/six-main-container/six-main-container.js +53 -53
  96. package/dist/collection/components/six-menu/six-menu.js +406 -406
  97. package/dist/collection/components/six-menu-divider/six-menu-divider.js +22 -22
  98. package/dist/collection/components/six-menu-item/six-menu-item.js +177 -177
  99. package/dist/collection/components/six-menu-label/six-menu-label.js +25 -25
  100. package/dist/collection/components/six-picto/six-picto.js +50 -50
  101. package/dist/collection/components/six-progress-bar/six-progress-bar.js +77 -77
  102. package/dist/collection/components/six-progress-ring/six-progress-ring.js +111 -111
  103. package/dist/collection/components/six-radio/six-radio.js +410 -410
  104. package/dist/collection/components/six-range/six-range.js +620 -620
  105. package/dist/collection/components/six-root/six-root.js +167 -167
  106. package/dist/collection/components/six-search-field/six-search-field.js +171 -171
  107. package/dist/collection/components/six-select/six-select.js +1105 -1105
  108. package/dist/collection/components/six-sidebar/six-sidebar.js +455 -455
  109. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +89 -89
  110. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +158 -158
  111. package/dist/collection/components/six-spinner/six-spinner.js +55 -55
  112. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +46 -46
  113. package/dist/collection/components/six-switch/six-switch.js +393 -393
  114. package/dist/collection/components/six-tab/six-tab.js +198 -198
  115. package/dist/collection/components/six-tab-group/six-tab-group.js +362 -362
  116. package/dist/collection/components/six-tab-panel/six-tab-panel.js +75 -75
  117. package/dist/collection/components/six-table/six-table.js +209 -209
  118. package/dist/collection/components/six-table/test/helpers.js +13 -13
  119. package/dist/collection/components/six-table/types.js +8 -8
  120. package/dist/collection/components/six-table/util/filter-by.js +34 -34
  121. package/dist/collection/components/six-table/util/from-data.js +33 -33
  122. package/dist/collection/components/six-table/util/is.js +3 -3
  123. package/dist/collection/components/six-table/util/quick-filter-by.js +13 -13
  124. package/dist/collection/components/six-table/util/sort-by.js +25 -25
  125. package/dist/collection/components/six-table-cell/six-table-cell.js +21 -21
  126. package/dist/collection/components/six-table-header/six-table-header.js +21 -21
  127. package/dist/collection/components/six-table-header-cell/get-next-state.js +7 -7
  128. package/dist/collection/components/six-table-header-cell/icons.js +12 -12
  129. package/dist/collection/components/six-table-header-cell/six-table-header-cell.js +174 -174
  130. package/dist/collection/components/six-table-header-cell/types.js +13 -13
  131. package/dist/collection/components/six-table-header-cell/util/create-model.js +6 -6
  132. package/dist/collection/components/six-table-header-cell/util/get-next-state.js +7 -7
  133. package/dist/collection/components/six-table-row/six-table-row.js +21 -21
  134. package/dist/collection/components/six-tag/six-tag.js +157 -157
  135. package/dist/collection/components/six-textarea/six-textarea.js +912 -912
  136. package/dist/collection/components/six-tile/six-tile.js +315 -315
  137. package/dist/collection/components/six-timepicker/six-time-format.js +14 -14
  138. package/dist/collection/components/six-timepicker/six-timepicker.js +980 -980
  139. package/dist/collection/components/six-timepicker/six-timepicker.types.js +40 -40
  140. package/dist/collection/components/six-tooltip/six-tooltip.js +435 -435
  141. package/dist/collection/functional-components/form-control/form-control.js +28 -28
  142. package/dist/collection/index.js +1 -1
  143. package/dist/collection/testUtil/delay.js +3 -3
  144. package/dist/collection/utils/as-array.js +1 -1
  145. package/dist/collection/utils/date-util.js +712 -712
  146. package/dist/collection/utils/event-listeners.js +39 -39
  147. package/dist/collection/utils/execution-control.js +38 -38
  148. package/dist/collection/utils/focus-visible.js +41 -41
  149. package/dist/collection/utils/matchers.js +2 -2
  150. package/dist/collection/utils/modal.js +28 -28
  151. package/dist/collection/utils/offset.js +13 -13
  152. package/dist/collection/utils/popover.js +113 -113
  153. package/dist/collection/utils/scroll.js +47 -47
  154. package/dist/collection/utils/slot.js +59 -59
  155. package/dist/collection/utils/support.js +15 -15
  156. package/dist/collection/utils/tabbable.js +22 -22
  157. package/dist/collection/utils/testing.js +38 -38
  158. package/dist/collection/utils/time.util.js +74 -74
  159. package/dist/collection/utils/type-check.js +5 -5
  160. package/dist/collection/utils/types.js +1 -1
  161. package/dist/collection/wrappers/set-attributes/set-attributes.js +68 -68
  162. package/dist/components.json +1 -1
  163. package/dist/custom-elements/index.js +7595 -7595
  164. package/dist/esm/{event-listeners-1bef934e.js → event-listeners-570a24ea.js} +38 -38
  165. package/dist/esm/{execution-control-235f5126.js → execution-control-1a60d709.js} +35 -35
  166. package/dist/esm/{focus-visible-4b7946aa.js → focus-visible-97933ea9.js} +40 -40
  167. package/dist/esm/{form-control-17478ad2.js → form-control-24f446af.js} +25 -25
  168. package/dist/esm/{modal-e5709f6b.js → modal-5ebdc320.js} +41 -41
  169. package/dist/esm/polyfills/core-js.js +0 -0
  170. package/dist/esm/polyfills/dom.js +0 -0
  171. package/dist/esm/polyfills/es5-html-element.js +0 -0
  172. package/dist/esm/polyfills/index.js +0 -0
  173. package/dist/esm/polyfills/system.js +0 -0
  174. package/dist/esm/{popover-5a51f84d.js → popover-1c7a1139.js} +95 -95
  175. package/dist/esm/{scroll-99b214c2.js → scroll-180b53fd.js} +57 -57
  176. package/dist/esm/set-attributes_2.entry.js +57 -57
  177. package/dist/esm/six-alert.entry.js +131 -131
  178. package/dist/esm/six-avatar.entry.js +28 -28
  179. package/dist/esm/six-badge.entry.js +26 -26
  180. package/dist/esm/six-button.entry.js +97 -97
  181. package/dist/esm/six-card.entry.js +8 -8
  182. package/dist/esm/six-checkbox.entry.js +152 -152
  183. package/dist/esm/six-datepicker.entry.js +1189 -1189
  184. package/dist/esm/six-details.entry.js +139 -139
  185. package/dist/esm/six-dialog.entry.js +152 -152
  186. package/dist/esm/six-drawer.entry.js +174 -174
  187. package/dist/esm/six-dropdown_3.entry.js +728 -728
  188. package/dist/esm/six-error-page.entry.js +94 -94
  189. package/dist/esm/six-file-list-item.entry.js +38 -38
  190. package/dist/esm/six-file-list.entry.js +8 -8
  191. package/dist/esm/six-file-upload.entry.js +96 -96
  192. package/dist/esm/six-footer.entry.js +8 -8
  193. package/dist/esm/six-form.entry.js +219 -219
  194. package/dist/esm/six-group-label.entry.js +46 -46
  195. package/dist/esm/six-header.entry.js +149 -149
  196. package/dist/esm/six-icon-button.entry.js +33 -33
  197. package/dist/esm/six-icon.entry.js +24 -24
  198. package/dist/esm/six-input.entry.js +230 -230
  199. package/dist/esm/six-item-picker.entry.js +361 -361
  200. package/dist/esm/six-language-switcher.entry.js +52 -52
  201. package/dist/esm/six-layout-grid.entry.js +19 -19
  202. package/dist/esm/six-main-container.entry.js +11 -11
  203. package/dist/esm/six-menu-divider.entry.js +8 -8
  204. package/dist/esm/six-menu-label.entry.js +8 -8
  205. package/dist/esm/six-picto.entry.js +15 -15
  206. package/dist/esm/six-progress-bar.entry.js +17 -17
  207. package/dist/esm/six-progress-ring.entry.js +31 -31
  208. package/dist/esm/six-radio.entry.js +121 -121
  209. package/dist/esm/six-range.entry.js +198 -198
  210. package/dist/esm/six-root.entry.js +34 -34
  211. package/dist/esm/six-search-field.entry.js +43 -43
  212. package/dist/esm/six-select.entry.js +447 -447
  213. package/dist/esm/six-sidebar-item-group.entry.js +42 -42
  214. package/dist/esm/six-sidebar-item.entry.js +18 -18
  215. package/dist/esm/six-sidebar.entry.js +171 -171
  216. package/dist/esm/six-spinner.entry.js +16 -16
  217. package/dist/esm/six-switch.entry.js +100 -100
  218. package/dist/esm/six-tab-group.entry.js +226 -226
  219. package/dist/esm/six-tab-panel.entry.js +17 -17
  220. package/dist/esm/six-tab.entry.js +42 -42
  221. package/dist/esm/six-table-cell_4.entry.js +70 -70
  222. package/dist/esm/six-table.entry.js +145 -145
  223. package/dist/esm/six-tag.entry.js +40 -40
  224. package/dist/esm/six-textarea.entry.js +211 -211
  225. package/dist/esm/six-tile.entry.js +89 -89
  226. package/dist/esm/six-timepicker.entry.js +489 -489
  227. package/dist/esm/{six-timepicker.types-cd6bac03.js → six-timepicker.types-e161a447.js} +43 -43
  228. package/dist/esm/six-tooltip.entry.js +172 -172
  229. package/dist/esm/{slot-5253e199.js → slot-6f3984c7.js} +42 -42
  230. package/dist/esm/{types-a37c1695.js → types-4b10b413.js} +12 -12
  231. package/dist/esm/{types-33d15673.js → types-ed860f7c.js} +12 -12
  232. package/dist/types/components/six-alert/six-alert.d.ts +60 -60
  233. package/dist/types/components/six-avatar/six-avatar.d.ts +27 -27
  234. package/dist/types/components/six-badge/six-badge.d.ts +20 -20
  235. package/dist/types/components/six-button/six-button.d.ts +69 -69
  236. package/dist/types/components/six-card/six-card.d.ts +9 -9
  237. package/dist/types/components/six-checkbox/six-checkbox.d.ts +86 -86
  238. package/dist/types/components/six-datepicker/components/day-selection.d.ts +5 -5
  239. package/dist/types/components/six-datepicker/components/month-selection.d.ts +5 -5
  240. package/dist/types/components/six-datepicker/components/year-selection.d.ts +5 -5
  241. package/dist/types/components/six-datepicker/six-date-formats.d.ts +22 -22
  242. package/dist/types/components/six-datepicker/six-datepicker.d.ts +214 -214
  243. package/dist/types/components/six-datepicker/test/six-datepicker.test-helpers.d.ts +1 -1
  244. package/dist/types/components/six-details/six-details.d.ts +61 -61
  245. package/dist/types/components/six-dialog/six-dialog.d.ts +75 -75
  246. package/dist/types/components/six-drawer/six-drawer.d.ts +82 -82
  247. package/dist/types/components/six-dropdown/six-dropdown.d.ts +140 -140
  248. package/dist/types/components/six-error-page/six-error-page.d.ts +27 -27
  249. package/dist/types/components/six-file-list/six-file-list.d.ts +8 -8
  250. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +35 -35
  251. package/dist/types/components/six-file-upload/six-file-upload.d.ts +42 -42
  252. package/dist/types/components/six-footer/six-footer.d.ts +9 -9
  253. package/dist/types/components/six-form/six-form.d.ts +69 -69
  254. package/dist/types/components/six-group-label/six-group-label.d.ts +37 -37
  255. package/dist/types/components/six-header/six-header.d.ts +90 -90
  256. package/dist/types/components/six-icon/six-icon.d.ts +13 -13
  257. package/dist/types/components/six-icon-button/six-icon-button.d.ts +28 -28
  258. package/dist/types/components/six-input/six-input.d.ts +165 -165
  259. package/dist/types/components/six-item-picker/six-item-picker.d.ts +106 -106
  260. package/dist/types/components/six-item-picker/types.d.ts +11 -11
  261. package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +25 -25
  262. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +14 -14
  263. package/dist/types/components/six-main-container/six-main-container.d.ts +16 -16
  264. package/dist/types/components/six-menu/six-menu.d.ts +81 -81
  265. package/dist/types/components/six-menu-divider/six-menu-divider.d.ts +11 -11
  266. package/dist/types/components/six-menu-item/six-menu-item.d.ts +36 -36
  267. package/dist/types/components/six-menu-label/six-menu-label.d.ts +13 -13
  268. package/dist/types/components/six-picto/six-picto.d.ts +14 -14
  269. package/dist/types/components/six-progress-bar/six-progress-bar.d.ts +19 -19
  270. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +24 -24
  271. package/dist/types/components/six-radio/six-radio.d.ts +66 -66
  272. package/dist/types/components/six-range/six-range.d.ts +101 -101
  273. package/dist/types/components/six-root/six-root.d.ts +34 -34
  274. package/dist/types/components/six-search-field/six-search-field.d.ts +32 -32
  275. package/dist/types/components/six-select/six-select.d.ts +163 -163
  276. package/dist/types/components/six-sidebar/six-sidebar.d.ts +55 -55
  277. package/dist/types/components/six-sidebar-item/six-sidebar-item.d.ts +15 -15
  278. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +26 -26
  279. package/dist/types/components/six-spinner/six-spinner.d.ts +15 -15
  280. package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +6 -6
  281. package/dist/types/components/six-switch/six-switch.d.ts +62 -62
  282. package/dist/types/components/six-tab/six-tab.d.ts +35 -35
  283. package/dist/types/components/six-tab-group/six-tab-group.d.ts +62 -62
  284. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +19 -19
  285. package/dist/types/components/six-table/six-table.d.ts +30 -30
  286. package/dist/types/components/six-table/test/helpers.d.ts +2 -2
  287. package/dist/types/components/six-table/types.d.ts +33 -33
  288. package/dist/types/components/six-table/util/filter-by.d.ts +2 -2
  289. package/dist/types/components/six-table/util/from-data.d.ts +8 -8
  290. package/dist/types/components/six-table/util/is.d.ts +3 -3
  291. package/dist/types/components/six-table/util/quick-filter-by.d.ts +2 -2
  292. package/dist/types/components/six-table/util/sort-by.d.ts +2 -2
  293. package/dist/types/components/six-table-cell/six-table-cell.d.ts +9 -9
  294. package/dist/types/components/six-table-header/six-table-header.d.ts +9 -9
  295. package/dist/types/components/six-table-header-cell/get-next-state.d.ts +2 -2
  296. package/dist/types/components/six-table-header-cell/icons.d.ts +3 -3
  297. package/dist/types/components/six-table-header-cell/six-table-header-cell.d.ts +32 -32
  298. package/dist/types/components/six-table-header-cell/types.d.ts +11 -11
  299. package/dist/types/components/six-table-header-cell/util/create-model.d.ts +4 -4
  300. package/dist/types/components/six-table-header-cell/util/get-next-state.d.ts +3 -3
  301. package/dist/types/components/six-table-row/six-table-row.d.ts +9 -9
  302. package/dist/types/components/six-tag/six-tag.d.ts +30 -30
  303. package/dist/types/components/six-textarea/six-textarea.d.ts +134 -134
  304. package/dist/types/components/six-tile/six-tile.d.ts +40 -40
  305. package/dist/types/components/six-timepicker/six-time-format.d.ts +13 -13
  306. package/dist/types/components/six-timepicker/six-timepicker.d.ts +184 -184
  307. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +36 -36
  308. package/dist/types/components/six-tooltip/six-tooltip.d.ts +72 -72
  309. package/dist/types/functional-components/form-control/form-control.d.ts +34 -34
  310. package/dist/types/index.d.ts +1 -1
  311. package/dist/types/testUtil/delay.d.ts +1 -1
  312. package/dist/types/utils/as-array.d.ts +1 -1
  313. package/dist/types/utils/date-util.d.ts +194 -194
  314. package/dist/types/utils/event-listeners.d.ts +15 -15
  315. package/dist/types/utils/execution-control.d.ts +26 -26
  316. package/dist/types/utils/focus-visible.d.ts +6 -6
  317. package/dist/types/utils/matchers.d.ts +2 -2
  318. package/dist/types/utils/modal.d.ts +13 -13
  319. package/dist/types/utils/offset.d.ts +4 -4
  320. package/dist/types/utils/popover.d.ts +27 -27
  321. package/dist/types/utils/scroll.d.ts +3 -3
  322. package/dist/types/utils/slot.d.ts +9 -9
  323. package/dist/types/utils/support.d.ts +1 -1
  324. package/dist/types/utils/tabbable.d.ts +2 -2
  325. package/dist/types/utils/testing.d.ts +2 -2
  326. package/dist/types/utils/time.util.d.ts +10 -10
  327. package/dist/types/utils/type-check.d.ts +4 -4
  328. package/dist/types/utils/types.d.ts +4 -4
  329. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +9 -9
  330. package/dist/ui-library/{p-a8c225f2.entry.js → p-007bc8e8.entry.js} +1 -1
  331. package/dist/ui-library/{p-f9c0cfb7.entry.js → p-044b784e.entry.js} +1 -1
  332. package/dist/ui-library/{p-c733dead.js → p-0786fa7c.js} +0 -0
  333. package/dist/ui-library/{p-12cc24c3.js → p-07d1e830.js} +0 -0
  334. package/dist/ui-library/{p-48ea4419.entry.js → p-09cb13fa.entry.js} +1 -1
  335. package/dist/ui-library/{p-e96dcf96.entry.js → p-0c596054.entry.js} +1 -1
  336. package/dist/ui-library/{p-a77a6442.entry.js → p-1b8dc7b7.entry.js} +1 -1
  337. package/dist/ui-library/{p-68d31736.js → p-25a3bf57.js} +0 -0
  338. package/dist/ui-library/{p-ebaea182.entry.js → p-281e8c2d.entry.js} +1 -1
  339. package/dist/ui-library/{p-9f2dc381.entry.js → p-2924f82f.entry.js} +1 -1
  340. package/dist/ui-library/{p-ea1fcff2.entry.js → p-2d7ed407.entry.js} +1 -1
  341. package/dist/ui-library/{p-89f68e76.entry.js → p-4162dcdd.entry.js} +1 -1
  342. package/dist/ui-library/{p-6f67f986.entry.js → p-4d3a4e93.entry.js} +1 -1
  343. package/dist/ui-library/{p-8bd0873f.entry.js → p-4ed023b8.entry.js} +1 -1
  344. package/dist/ui-library/{p-af3d757c.js → p-4f8394d7.js} +0 -0
  345. package/dist/ui-library/{p-1b92cc7a.entry.js → p-530ea6ec.entry.js} +1 -1
  346. package/dist/ui-library/{p-19543c96.entry.js → p-531ab886.entry.js} +1 -1
  347. package/dist/ui-library/{p-fdb455d7.entry.js → p-54c48654.entry.js} +1 -1
  348. package/dist/ui-library/{p-c948d3db.entry.js → p-55c64cbc.entry.js} +1 -1
  349. package/dist/ui-library/{p-1c9f0dc6.js → p-5f1c6a5f.js} +0 -0
  350. package/dist/ui-library/{p-60491176.entry.js → p-675a8243.entry.js} +1 -1
  351. package/dist/ui-library/{p-b9fb8455.entry.js → p-6d622ed0.entry.js} +1 -1
  352. package/dist/ui-library/{p-572e3690.js → p-75297ad7.js} +0 -0
  353. package/dist/ui-library/{p-2ff97cdf.entry.js → p-90b26447.entry.js} +1 -1
  354. package/dist/ui-library/{p-fcd2356c.entry.js → p-93945629.entry.js} +1 -1
  355. package/dist/ui-library/{p-7735d99f.js → p-9a860acc.js} +0 -0
  356. package/dist/ui-library/{p-4cc01afc.entry.js → p-aa37e45a.entry.js} +1 -1
  357. package/dist/ui-library/{p-191f958b.js → p-b1e66136.js} +0 -0
  358. package/dist/ui-library/{p-c09dc3a9.js → p-b4dfb7cf.js} +0 -0
  359. package/dist/ui-library/{p-968c5169.entry.js → p-c24292b3.entry.js} +1 -1
  360. package/dist/ui-library/{p-ed21cc57.entry.js → p-cd79de73.entry.js} +1 -1
  361. package/dist/ui-library/{p-34e6d8e8.js → p-d12c6092.js} +0 -0
  362. package/dist/ui-library/{p-f0e91e17.entry.js → p-d28ac80a.entry.js} +1 -1
  363. package/dist/ui-library/{p-5ead7b2f.entry.js → p-d837e5a8.entry.js} +1 -1
  364. package/dist/ui-library/{p-ec1ecc2a.entry.js → p-dd3cae68.entry.js} +1 -1
  365. package/dist/ui-library/{p-044c6bf9.js → p-eb8f05a9.js} +0 -0
  366. package/dist/ui-library/ui-library.esm.js +1 -1
  367. package/package.json +1 -1
@@ -3,148 +3,148 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-341df120.js');
6
- const focusVisible = require('./focus-visible-b08d956f.js');
6
+ const focusVisible = require('./focus-visible-0b352c74.js');
7
7
 
8
8
  const sixDetailsCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--hide-duration:var(--six-transition-medium);--hide-timing-function:ease;--show-duration:var(--six-transition-medium);--show-timing-function:ease;font-family:var(--six-font-family);display:block}.details{border:solid var(--six-border-width) var(--six-input-border-color);border-radius:var(--six-border-radius-medium);color:var(--six-details-color);overflow-anchor:none;font-size:var(--six-input-font-size-medium)}.details:hover:not(.details--disabled):not(.details--open){border-color:var(--six-input-border-color-hover)}.details.inline{border:none;color:var(--six-sidebar-color)}.details.inline:hover{background-color:var(--six-sidebar-hover-background-color)}.details.inline.details--open{background-color:var(--six-color-web-rock-50)}.details.inline.details--open:hover{border:none;box-shadow:none}.details.inline.details--open>.details__header{color:var(--six-sidebar-color);font-weight:var(--six-font-weight-bold);background-color:var(--six-sidebar-header-background-color)}.details--disabled{background-color:var(--six-input-background-color-disabled);border-color:var(--six-input-border-color-disabled);color:var(--six-input-color-disabled)}.details__header{display:flex;align-items:center;border-radius:inherit;padding:var(--six-spacing-medium);user-select:none;cursor:pointer}.details__header:focus{outline:none}.details--disabled .details__header{cursor:not-allowed;border-width:1px}.details--disabled .details__header:focus{outline:none;box-shadow:none}.details__summary{flex:1 1 auto;display:flex;align-items:center}.details__summary-icon{flex:0 0 auto;display:flex;align-items:center;font-size:1.2em;transition:var(--six-transition-medium) transform ease}.details--open .details__summary-icon--animate{transform:rotate(-180deg)}.details--open:hover{color:var(--six-input-color-focus)}.details__body{height:0;overflow:hidden;transition-property:height;transition-duration:var(--hide-duration);transition-timing-function:var(--hide-timing-function)}.details--open .details__body{transition-duration:var(--show-duration);transition-timing-function:var(--show-timing-function)}.details__content{padding:var(--six-spacing-medium)}";
9
9
 
10
- let id = 0;
11
- let SixDetails = class {
12
- constructor(hostRef) {
13
- index.registerInstance(this, hostRef);
14
- this.sixShow = index.createEvent(this, "six-details-show", 7);
15
- this.sixAfterShow = index.createEvent(this, "six-details-after-show", 7);
16
- this.sixHide = index.createEvent(this, "six-details-hide", 7);
17
- this.sixAfterHide = index.createEvent(this, "six-details-after-hide", 7);
18
- this.animateSummaryIcon = true;
19
- this.componentId = `details-${++id}`;
20
- this.isVisible = false;
21
- /** Indicates whether or not the details is open. You can use this in lieu of the show/hide methods. */
22
- this.open = false;
23
- /** The summary to show in the details header. If you need to display HTML, use the `summary` slot instead. */
24
- this.summary = '';
25
- /** The icon's size. */
26
- this.summaryIconSize = 'inherit';
27
- /** Set to true to prevent the user from toggling the details. */
28
- this.disabled = false;
29
- /** Set to true when you want to use six-details inline e.g. in a sidebar */
30
- this.inline = false;
31
- /** Set to true when you want details without content to be selectable. This is important if you e.g. have a toggled sidebar where some menus have no children */
32
- this.selectableEmpty = false;
33
- this.hasContent = true;
34
- }
35
- handleOpenChange() {
36
- if (this.body) {
37
- this.open ? this.show() : this.hide();
38
- }
39
- }
40
- connectedCallback() {
41
- this.handleBodyTransitionEnd = this.handleBodyTransitionEnd.bind(this);
42
- this.handleSummaryClick = this.handleSummaryClick.bind(this);
43
- this.handleSummaryKeyDown = this.handleSummaryKeyDown.bind(this);
44
- }
45
- componentDidLoad() {
46
- focusVisible.focusVisible.observe(this.details);
47
- this.body.hidden = !this.open;
48
- // Show on init if open
49
- if (this.open) {
50
- this.show();
51
- }
52
- }
53
- disconnectedCallback() {
54
- focusVisible.focusVisible.unobserve(this.details);
55
- }
56
- /** Shows the detail body */
57
- async show() {
58
- // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
59
- if (this.isVisible) {
60
- return;
61
- }
62
- const sixShow = this.sixShow.emit();
63
- if (sixShow.defaultPrevented) {
64
- this.open = false;
65
- return;
66
- }
67
- this.body.hidden = false;
68
- if (this.body.scrollHeight === 0) {
69
- // When the scroll height can't be measured, use auto. This prevents a borked open state when the details is open
70
- // intiially, but not immediately visible (i.e. in a tab panel).
71
- this.body.style.height = 'auto';
72
- this.body.style.overflow = 'visible';
73
- }
74
- else {
75
- this.body.style.height = `${this.body.scrollHeight}px`;
76
- this.body.style.overflow = 'hidden';
77
- }
78
- this.isVisible = true;
79
- this.open = true;
80
- }
81
- /** Hides the detail body */
82
- async hide() {
83
- // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
84
- if (!this.isVisible) {
85
- return;
86
- }
87
- const sixHide = this.sixHide.emit();
88
- if (sixHide.defaultPrevented) {
89
- this.open = true;
90
- return;
91
- }
92
- // We can't transition out of `height: auto`, so let's set it to the current height first
93
- this.body.style.height = `${this.body.scrollHeight}px`;
94
- this.body.style.overflow = 'hidden';
95
- requestAnimationFrame(() => {
96
- this.body.style.height = '0';
97
- });
98
- this.isVisible = false;
99
- this.open = false;
100
- }
101
- handleBodyTransitionEnd(event) {
102
- const target = event.target;
103
- // Ensure we only emit one event when the target element is no longer visible
104
- if (event.propertyName === 'height' && target.classList.contains('details__body')) {
105
- this.body.style.overflow = this.open ? 'visible' : 'hidden';
106
- this.body.style.height = this.open ? 'auto' : '0';
107
- this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();
108
- this.body.hidden = !this.open;
109
- }
110
- }
111
- handleSummaryClick() {
112
- if (!this.disabled && (this.hasContent || this.selectableEmpty)) {
113
- this.open ? this.hide() : this.show();
114
- this.header.focus();
115
- }
116
- }
117
- handleSummaryKeyDown(event) {
118
- if (event.key === 'Enter' || event.key === ' ') {
119
- event.preventDefault();
120
- this.open ? this.hide() : this.show();
121
- }
122
- if (event.key === 'ArrowUp' || event.key === 'ArrowLeft') {
123
- event.preventDefault();
124
- this.hide();
125
- }
126
- if (event.key === 'ArrowDown' || event.key === 'ArrowRight') {
127
- event.preventDefault();
128
- this.show();
129
- }
130
- }
131
- render() {
132
- const summaryIcon = this.hasContent && (this.summaryIcon || 'expand_more');
133
- return (index.h("div", { ref: (el) => (this.details = el), part: "base", class: {
134
- details: true,
135
- 'details--open': this.open,
136
- 'details--disabled': this.disabled,
137
- inline: this.inline,
138
- } }, index.h("header", { ref: (el) => (this.header = el), part: "header", id: `${this.componentId}-header`, class: "details__header", role: "button", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `${this.componentId}-content`, "aria-disabled": this.disabled ? 'true' : 'false', tabIndex: this.disabled ? -1 : 0, onClick: this.handleSummaryClick, onKeyDown: this.handleSummaryKeyDown }, index.h("div", { part: "summary", class: "details__summary" }, index.h("slot", { name: "summary" }, this.summary)), index.h("span", { part: "summary-icon", class: {
139
- 'details__summary-icon': true,
140
- 'details__summary-icon--animate': this.animateSummaryIcon,
141
- } }, index.h("slot", { name: "summary-icon", onSlotchange: () => (this.animateSummaryIcon = false) }, summaryIcon && index.h("six-icon", { size: this.summaryIconSize }, summaryIcon)))), index.h("div", { ref: (el) => (this.body = el), class: "details__body", onTransitionEnd: this.handleBodyTransitionEnd }, index.h("div", { part: "content", id: `${this.componentId}-content`, class: "details__content", role: "region", "aria-labelledby": `${this.componentId}-header` }, index.h("slot", null)))));
142
- }
143
- get host() { return index.getElement(this); }
144
- static get watchers() { return {
145
- "open": ["handleOpenChange"]
146
- }; }
147
- };
10
+ let id = 0;
11
+ let SixDetails = class {
12
+ constructor(hostRef) {
13
+ index.registerInstance(this, hostRef);
14
+ this.sixShow = index.createEvent(this, "six-details-show", 7);
15
+ this.sixAfterShow = index.createEvent(this, "six-details-after-show", 7);
16
+ this.sixHide = index.createEvent(this, "six-details-hide", 7);
17
+ this.sixAfterHide = index.createEvent(this, "six-details-after-hide", 7);
18
+ this.animateSummaryIcon = true;
19
+ this.componentId = `details-${++id}`;
20
+ this.isVisible = false;
21
+ /** Indicates whether or not the details is open. You can use this in lieu of the show/hide methods. */
22
+ this.open = false;
23
+ /** The summary to show in the details header. If you need to display HTML, use the `summary` slot instead. */
24
+ this.summary = '';
25
+ /** The icon's size. */
26
+ this.summaryIconSize = 'inherit';
27
+ /** Set to true to prevent the user from toggling the details. */
28
+ this.disabled = false;
29
+ /** Set to true when you want to use six-details inline e.g. in a sidebar */
30
+ this.inline = false;
31
+ /** Set to true when you want details without content to be selectable. This is important if you e.g. have a toggled sidebar where some menus have no children */
32
+ this.selectableEmpty = false;
33
+ this.hasContent = true;
34
+ }
35
+ handleOpenChange() {
36
+ if (this.body) {
37
+ this.open ? this.show() : this.hide();
38
+ }
39
+ }
40
+ connectedCallback() {
41
+ this.handleBodyTransitionEnd = this.handleBodyTransitionEnd.bind(this);
42
+ this.handleSummaryClick = this.handleSummaryClick.bind(this);
43
+ this.handleSummaryKeyDown = this.handleSummaryKeyDown.bind(this);
44
+ }
45
+ componentDidLoad() {
46
+ focusVisible.focusVisible.observe(this.details);
47
+ this.body.hidden = !this.open;
48
+ // Show on init if open
49
+ if (this.open) {
50
+ this.show();
51
+ }
52
+ }
53
+ disconnectedCallback() {
54
+ focusVisible.focusVisible.unobserve(this.details);
55
+ }
56
+ /** Shows the detail body */
57
+ async show() {
58
+ // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
59
+ if (this.isVisible) {
60
+ return;
61
+ }
62
+ const sixShow = this.sixShow.emit();
63
+ if (sixShow.defaultPrevented) {
64
+ this.open = false;
65
+ return;
66
+ }
67
+ this.body.hidden = false;
68
+ if (this.body.scrollHeight === 0) {
69
+ // When the scroll height can't be measured, use auto. This prevents a borked open state when the details is open
70
+ // intiially, but not immediately visible (i.e. in a tab panel).
71
+ this.body.style.height = 'auto';
72
+ this.body.style.overflow = 'visible';
73
+ }
74
+ else {
75
+ this.body.style.height = `${this.body.scrollHeight}px`;
76
+ this.body.style.overflow = 'hidden';
77
+ }
78
+ this.isVisible = true;
79
+ this.open = true;
80
+ }
81
+ /** Hides the detail body */
82
+ async hide() {
83
+ // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
84
+ if (!this.isVisible) {
85
+ return;
86
+ }
87
+ const sixHide = this.sixHide.emit();
88
+ if (sixHide.defaultPrevented) {
89
+ this.open = true;
90
+ return;
91
+ }
92
+ // We can't transition out of `height: auto`, so let's set it to the current height first
93
+ this.body.style.height = `${this.body.scrollHeight}px`;
94
+ this.body.style.overflow = 'hidden';
95
+ requestAnimationFrame(() => {
96
+ this.body.style.height = '0';
97
+ });
98
+ this.isVisible = false;
99
+ this.open = false;
100
+ }
101
+ handleBodyTransitionEnd(event) {
102
+ const target = event.target;
103
+ // Ensure we only emit one event when the target element is no longer visible
104
+ if (event.propertyName === 'height' && target.classList.contains('details__body')) {
105
+ this.body.style.overflow = this.open ? 'visible' : 'hidden';
106
+ this.body.style.height = this.open ? 'auto' : '0';
107
+ this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();
108
+ this.body.hidden = !this.open;
109
+ }
110
+ }
111
+ handleSummaryClick() {
112
+ if (!this.disabled && (this.hasContent || this.selectableEmpty)) {
113
+ this.open ? this.hide() : this.show();
114
+ this.header.focus();
115
+ }
116
+ }
117
+ handleSummaryKeyDown(event) {
118
+ if (event.key === 'Enter' || event.key === ' ') {
119
+ event.preventDefault();
120
+ this.open ? this.hide() : this.show();
121
+ }
122
+ if (event.key === 'ArrowUp' || event.key === 'ArrowLeft') {
123
+ event.preventDefault();
124
+ this.hide();
125
+ }
126
+ if (event.key === 'ArrowDown' || event.key === 'ArrowRight') {
127
+ event.preventDefault();
128
+ this.show();
129
+ }
130
+ }
131
+ render() {
132
+ const summaryIcon = this.hasContent && (this.summaryIcon || 'expand_more');
133
+ return (index.h("div", { ref: (el) => (this.details = el), part: "base", class: {
134
+ details: true,
135
+ 'details--open': this.open,
136
+ 'details--disabled': this.disabled,
137
+ inline: this.inline,
138
+ } }, index.h("header", { ref: (el) => (this.header = el), part: "header", id: `${this.componentId}-header`, class: "details__header", role: "button", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `${this.componentId}-content`, "aria-disabled": this.disabled ? 'true' : 'false', tabIndex: this.disabled ? -1 : 0, onClick: this.handleSummaryClick, onKeyDown: this.handleSummaryKeyDown }, index.h("div", { part: "summary", class: "details__summary" }, index.h("slot", { name: "summary" }, this.summary)), index.h("span", { part: "summary-icon", class: {
139
+ 'details__summary-icon': true,
140
+ 'details__summary-icon--animate': this.animateSummaryIcon,
141
+ } }, index.h("slot", { name: "summary-icon", onSlotchange: () => (this.animateSummaryIcon = false) }, summaryIcon && index.h("six-icon", { size: this.summaryIconSize }, summaryIcon)))), index.h("div", { ref: (el) => (this.body = el), class: "details__body", onTransitionEnd: this.handleBodyTransitionEnd }, index.h("div", { part: "content", id: `${this.componentId}-content`, class: "details__content", role: "region", "aria-labelledby": `${this.componentId}-header` }, index.h("slot", null)))));
142
+ }
143
+ get host() { return index.getElement(this); }
144
+ static get watchers() { return {
145
+ "open": ["handleOpenChange"]
146
+ }; }
147
+ };
148
148
  SixDetails.style = sixDetailsCss;
149
149
 
150
150
  exports.six_details = SixDetails;
@@ -3,161 +3,161 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-341df120.js');
6
- const scroll = require('./scroll-5b8676ba.js');
7
- const slot = require('./slot-8abe833c.js');
8
- const modal = require('./modal-a9679ddf.js');
6
+ const scroll = require('./scroll-76e6f5d7.js');
7
+ const slot = require('./slot-ad537f24.js');
8
+ const modal = require('./modal-48d42228.js');
9
9
 
10
10
  const sixDialogCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--width:31rem;display:contents}.dialog{display:flex;align-items:center;justify-content:center;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--six-z-index-dialog);color:var(--six-color-web-rock-900)}.dialog:not(.dialog--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.dialog__panel{display:flex;flex-direction:column;z-index:2;width:var(--width);max-width:calc(100% - var(--six-spacing-xx-large));max-height:calc(100% - var(--six-spacing-xx-large));background-color:var(--six-panel-background-color);border-radius:var(--six-border-radius-medium);box-shadow:var(--six-shadow-x-large);opacity:0;transform:scale(0.8);transition:var(--six-transition-medium) opacity, var(--six-transition-medium) transform}.dialog__panel:focus{outline:none}@media screen and (max-width: 420px){.dialog__panel{max-height:80vh}}.dialog--open .dialog__panel{display:flex;opacity:1;transform:none}.dialog__header{flex:0 0 auto;display:flex}.dialog__title{flex:1 1 auto;font-size:var(--six-font-size-x-large);font-weight:var(--six-font-weight-bold);line-height:var(--six-line-height-dense);padding:var(--six-spacing-large) var(--six-spacing-large) var(--six-spacing-small)}.dialog__close{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-x-large);padding:0 var(--six-spacing-x-small)}.dialog__body{flex:1 1 auto;padding:var(--six-spacing-small) var(--six-spacing-large) var(--six-spacing-large);overflow:auto;-webkit-overflow-scrolling:touch}.dialog__footer{flex:0 0 auto;text-align:right;padding:var(--six-spacing-large)}.dialog__footer ::slotted(six-button:not(:first-of-type)){margin-left:var(--six-spacing-xx-small)}.dialog:not(.dialog--has-footer) .dialog__footer{display:none}.dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--six-overlay-background-color);opacity:0;transition:var(--six-transition-medium) opacity}.dialog--open .dialog__overlay{opacity:0.8}";
11
11
 
12
- const hasPreventScroll = modal.isPreventScrollSupported();
13
- let id = 0;
14
- let SixDialog = class {
15
- constructor(hostRef) {
16
- index.registerInstance(this, hostRef);
17
- this.sixShow = index.createEvent(this, "six-dialog-show", 7);
18
- this.sixAfterShow = index.createEvent(this, "six-dialog-after-show", 7);
19
- this.sixHide = index.createEvent(this, "six-dialog-hide", 7);
20
- this.sixAfterHide = index.createEvent(this, "six-dialog-after-hide", 7);
21
- this.sixInitialFocus = index.createEvent(this, "six-dialog-initial-focus", 7);
22
- this.sixOverlayDismiss = index.createEvent(this, "six-dialog-overlay-dismiss", 7);
23
- this.componentId = `dialog-${++id}`;
24
- this.willShow = false;
25
- this.willHide = false;
26
- this.hasFooter = false;
27
- this.isVisible = false;
28
- /** Indicates whether or not the dialog is open. You can use this in lieu of the show/hide methods. */
29
- this.open = false;
30
- /**
31
- * The dialog's label as displayed in the header. You should always include a relevant label even when using
32
- * `no-header`, as it is required for proper accessibility.
33
- */
34
- this.label = '';
35
- /**
36
- * Set to true to disable the header. This will also remove the default close button, so please ensure you provide an
37
- * easy, accessible way for users to dismiss the dialog.
38
- */
39
- this.noHeader = false;
40
- }
41
- handleOpenChange() {
42
- this.open ? this.show() : this.hide();
43
- }
44
- connectedCallback() {
45
- this.handleCloseClick = this.handleCloseClick.bind(this);
46
- this.handleTransitionEnd = this.handleTransitionEnd.bind(this);
47
- this.handleKeyDown = this.handleKeyDown.bind(this);
48
- this.handleOverlayClick = this.handleOverlayClick.bind(this);
49
- this.handleSlotChange = this.handleSlotChange.bind(this);
50
- this.modal = new modal.Modal(this.host, {
51
- onFocusOut: () => this.panel.focus(),
52
- });
53
- }
54
- componentWillLoad() {
55
- this.handleSlotChange();
56
- // Show on init if open
57
- if (this.open) {
58
- this.show();
59
- }
60
- }
61
- disconnectedCallback() {
62
- scroll.unlockBodyScrolling(this.host);
63
- }
64
- /** Shows the dialog */
65
- async show() {
66
- if (this.willShow) {
67
- return;
68
- }
69
- const sixShow = this.sixShow.emit();
70
- if (sixShow.defaultPrevented) {
71
- this.open = false;
72
- return;
73
- }
74
- this.willShow = true;
75
- this.isVisible = true;
76
- this.open = true;
77
- this.modal.activate();
78
- scroll.lockBodyScrolling(this.host);
79
- if (this.open) {
80
- if (hasPreventScroll) {
81
- // Wait for the next frame before setting initial focus so the dialog is technically visible
82
- requestAnimationFrame(() => {
83
- const sixInitialFocus = this.sixInitialFocus.emit();
84
- if (!sixInitialFocus.defaultPrevented) {
85
- this.panel.focus({ preventScroll: true });
86
- }
87
- });
88
- }
89
- else {
90
- // Once Safari supports { preventScroll: true } we can remove this nasty little hack, but until then we need to
91
- // wait for the transition to complete before setting focus, otherwise the panel may render in a buggy way its
92
- // out of view initially.
93
- //
94
- // Fiddle: https://jsfiddle.net/g6buoafq/1/
95
- // Safari: https://bugs.webkit.org/show_bug.cgi?id=178583
96
- //
97
- this.dialog.addEventListener('transitionend', () => {
98
- const sixInitialFocus = this.sixInitialFocus.emit();
99
- if (!sixInitialFocus.defaultPrevented) {
100
- this.panel.focus();
101
- }
102
- }, { once: true });
103
- }
104
- }
105
- }
106
- /** Hides the dialog */
107
- async hide() {
108
- if (this.willHide) {
109
- return;
110
- }
111
- const sixHide = this.sixHide.emit();
112
- if (sixHide.defaultPrevented) {
113
- this.open = true;
114
- return;
115
- }
116
- this.willHide = true;
117
- this.open = false;
118
- this.modal.deactivate();
119
- scroll.unlockBodyScrolling(this.host);
120
- }
121
- handleCloseClick() {
122
- this.hide();
123
- }
124
- handleKeyDown(event) {
125
- if (event.key === 'Escape') {
126
- this.hide();
127
- }
128
- }
129
- handleOverlayClick() {
130
- const sixOverlayDismiss = this.sixOverlayDismiss.emit();
131
- if (!sixOverlayDismiss.defaultPrevented) {
132
- this.hide();
133
- }
134
- }
135
- handleSlotChange() {
136
- this.hasFooter = slot.hasSlot(this.host, 'footer');
137
- }
138
- handleTransitionEnd(event) {
139
- const target = event.target;
140
- // Ensure we only emit one event when the target element is no longer visible
141
- if (event.propertyName === 'opacity' && target.classList.contains('dialog__panel')) {
142
- this.isVisible = this.open;
143
- this.willShow = false;
144
- this.willHide = false;
145
- this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();
146
- }
147
- }
148
- render() {
149
- return (index.h("div", { ref: (el) => (this.dialog = el), part: "base", class: {
150
- dialog: true,
151
- 'dialog--open': this.open,
152
- 'dialog--visible': this.isVisible,
153
- 'dialog--has-footer': this.hasFooter,
154
- }, onKeyDown: this.handleKeyDown, onTransitionEnd: this.handleTransitionEnd }, index.h("div", { part: "overlay", class: "dialog__overlay", onClick: this.handleOverlayClick }), index.h("div", { ref: (el) => (this.panel = el), part: "panel", class: "dialog__panel", role: "dialog", "aria-modal": "true", "aria-hidden": this.open ? 'false' : 'true', "aria-label": this.noHeader ? this.label : null, "aria-labelledby": !this.noHeader ? `${this.componentId}-title` : null, tabIndex: 0 }, !this.noHeader && (index.h("header", { part: "header", class: "dialog__header" }, index.h("span", { part: "title", class: "dialog__title", id: `${this.componentId}-title` }, index.h("slot", { name: "label" }, this.label || String.fromCharCode(65279))), index.h("six-icon-button", { exportparts: "base:close-button", class: "dialog__close", name: "close", onClick: this.handleCloseClick }))), index.h("div", { part: "body", class: "dialog__body" }, index.h("slot", null)), index.h("footer", { part: "footer", class: "dialog__footer" }, index.h("slot", { name: "footer", onSlotchange: this.handleSlotChange })))));
155
- }
156
- get host() { return index.getElement(this); }
157
- static get watchers() { return {
158
- "open": ["handleOpenChange"]
159
- }; }
160
- };
12
+ const hasPreventScroll = modal.isPreventScrollSupported();
13
+ let id = 0;
14
+ let SixDialog = class {
15
+ constructor(hostRef) {
16
+ index.registerInstance(this, hostRef);
17
+ this.sixShow = index.createEvent(this, "six-dialog-show", 7);
18
+ this.sixAfterShow = index.createEvent(this, "six-dialog-after-show", 7);
19
+ this.sixHide = index.createEvent(this, "six-dialog-hide", 7);
20
+ this.sixAfterHide = index.createEvent(this, "six-dialog-after-hide", 7);
21
+ this.sixInitialFocus = index.createEvent(this, "six-dialog-initial-focus", 7);
22
+ this.sixOverlayDismiss = index.createEvent(this, "six-dialog-overlay-dismiss", 7);
23
+ this.componentId = `dialog-${++id}`;
24
+ this.willShow = false;
25
+ this.willHide = false;
26
+ this.hasFooter = false;
27
+ this.isVisible = false;
28
+ /** Indicates whether or not the dialog is open. You can use this in lieu of the show/hide methods. */
29
+ this.open = false;
30
+ /**
31
+ * The dialog's label as displayed in the header. You should always include a relevant label even when using
32
+ * `no-header`, as it is required for proper accessibility.
33
+ */
34
+ this.label = '';
35
+ /**
36
+ * Set to true to disable the header. This will also remove the default close button, so please ensure you provide an
37
+ * easy, accessible way for users to dismiss the dialog.
38
+ */
39
+ this.noHeader = false;
40
+ }
41
+ handleOpenChange() {
42
+ this.open ? this.show() : this.hide();
43
+ }
44
+ connectedCallback() {
45
+ this.handleCloseClick = this.handleCloseClick.bind(this);
46
+ this.handleTransitionEnd = this.handleTransitionEnd.bind(this);
47
+ this.handleKeyDown = this.handleKeyDown.bind(this);
48
+ this.handleOverlayClick = this.handleOverlayClick.bind(this);
49
+ this.handleSlotChange = this.handleSlotChange.bind(this);
50
+ this.modal = new modal.Modal(this.host, {
51
+ onFocusOut: () => this.panel.focus(),
52
+ });
53
+ }
54
+ componentWillLoad() {
55
+ this.handleSlotChange();
56
+ // Show on init if open
57
+ if (this.open) {
58
+ this.show();
59
+ }
60
+ }
61
+ disconnectedCallback() {
62
+ scroll.unlockBodyScrolling(this.host);
63
+ }
64
+ /** Shows the dialog */
65
+ async show() {
66
+ if (this.willShow) {
67
+ return;
68
+ }
69
+ const sixShow = this.sixShow.emit();
70
+ if (sixShow.defaultPrevented) {
71
+ this.open = false;
72
+ return;
73
+ }
74
+ this.willShow = true;
75
+ this.isVisible = true;
76
+ this.open = true;
77
+ this.modal.activate();
78
+ scroll.lockBodyScrolling(this.host);
79
+ if (this.open) {
80
+ if (hasPreventScroll) {
81
+ // Wait for the next frame before setting initial focus so the dialog is technically visible
82
+ requestAnimationFrame(() => {
83
+ const sixInitialFocus = this.sixInitialFocus.emit();
84
+ if (!sixInitialFocus.defaultPrevented) {
85
+ this.panel.focus({ preventScroll: true });
86
+ }
87
+ });
88
+ }
89
+ else {
90
+ // Once Safari supports { preventScroll: true } we can remove this nasty little hack, but until then we need to
91
+ // wait for the transition to complete before setting focus, otherwise the panel may render in a buggy way its
92
+ // out of view initially.
93
+ //
94
+ // Fiddle: https://jsfiddle.net/g6buoafq/1/
95
+ // Safari: https://bugs.webkit.org/show_bug.cgi?id=178583
96
+ //
97
+ this.dialog.addEventListener('transitionend', () => {
98
+ const sixInitialFocus = this.sixInitialFocus.emit();
99
+ if (!sixInitialFocus.defaultPrevented) {
100
+ this.panel.focus();
101
+ }
102
+ }, { once: true });
103
+ }
104
+ }
105
+ }
106
+ /** Hides the dialog */
107
+ async hide() {
108
+ if (this.willHide) {
109
+ return;
110
+ }
111
+ const sixHide = this.sixHide.emit();
112
+ if (sixHide.defaultPrevented) {
113
+ this.open = true;
114
+ return;
115
+ }
116
+ this.willHide = true;
117
+ this.open = false;
118
+ this.modal.deactivate();
119
+ scroll.unlockBodyScrolling(this.host);
120
+ }
121
+ handleCloseClick() {
122
+ this.hide();
123
+ }
124
+ handleKeyDown(event) {
125
+ if (event.key === 'Escape') {
126
+ this.hide();
127
+ }
128
+ }
129
+ handleOverlayClick() {
130
+ const sixOverlayDismiss = this.sixOverlayDismiss.emit();
131
+ if (!sixOverlayDismiss.defaultPrevented) {
132
+ this.hide();
133
+ }
134
+ }
135
+ handleSlotChange() {
136
+ this.hasFooter = slot.hasSlot(this.host, 'footer');
137
+ }
138
+ handleTransitionEnd(event) {
139
+ const target = event.target;
140
+ // Ensure we only emit one event when the target element is no longer visible
141
+ if (event.propertyName === 'opacity' && target.classList.contains('dialog__panel')) {
142
+ this.isVisible = this.open;
143
+ this.willShow = false;
144
+ this.willHide = false;
145
+ this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();
146
+ }
147
+ }
148
+ render() {
149
+ return (index.h("div", { ref: (el) => (this.dialog = el), part: "base", class: {
150
+ dialog: true,
151
+ 'dialog--open': this.open,
152
+ 'dialog--visible': this.isVisible,
153
+ 'dialog--has-footer': this.hasFooter,
154
+ }, onKeyDown: this.handleKeyDown, onTransitionEnd: this.handleTransitionEnd }, index.h("div", { part: "overlay", class: "dialog__overlay", onClick: this.handleOverlayClick }), index.h("div", { ref: (el) => (this.panel = el), part: "panel", class: "dialog__panel", role: "dialog", "aria-modal": "true", "aria-hidden": this.open ? 'false' : 'true', "aria-label": this.noHeader ? this.label : null, "aria-labelledby": !this.noHeader ? `${this.componentId}-title` : null, tabIndex: 0 }, !this.noHeader && (index.h("header", { part: "header", class: "dialog__header" }, index.h("span", { part: "title", class: "dialog__title", id: `${this.componentId}-title` }, index.h("slot", { name: "label" }, this.label || String.fromCharCode(65279))), index.h("six-icon-button", { exportparts: "base:close-button", class: "dialog__close", name: "close", onClick: this.handleCloseClick }))), index.h("div", { part: "body", class: "dialog__body" }, index.h("slot", null)), index.h("footer", { part: "footer", class: "dialog__footer" }, index.h("slot", { name: "footer", onSlotchange: this.handleSlotChange })))));
155
+ }
156
+ get host() { return index.getElement(this); }
157
+ static get watchers() { return {
158
+ "open": ["handleOpenChange"]
159
+ }; }
160
+ };
161
161
  SixDialog.style = sixDialogCss;
162
162
 
163
163
  exports.six_dialog = SixDialog;