@six-group/ui-library 0.0.0-insider.faf050a → 0.0.0-insider.fbc1348

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 (854) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  3. package/dist/cjs/error-messages-6e8049a4.js +119 -0
  4. package/dist/cjs/error-messages-6e8049a4.js.map +1 -0
  5. package/dist/cjs/{form-control-f9bc25dd.js → form-control-de259450.js} +2 -2
  6. package/dist/cjs/{form-control-f9bc25dd.js.map → form-control-de259450.js.map} +1 -1
  7. package/dist/cjs/{index-3baddcdc.js → index-1f707a55.js} +127 -76
  8. package/dist/cjs/index-1f707a55.js.map +1 -0
  9. package/dist/cjs/index.cjs.js +54 -101
  10. package/dist/cjs/index.cjs.js.map +1 -1
  11. package/dist/cjs/loader.cjs.js +5 -3
  12. package/dist/cjs/loader.cjs.js.map +1 -1
  13. package/dist/cjs/{modal-3ce015be.js → modal-bd7fc5bc.js} +1 -18
  14. package/dist/cjs/modal-bd7fc5bc.js.map +1 -0
  15. package/dist/cjs/{popup-40a9adbb.js → popup-e854acda.js} +2 -2
  16. package/dist/cjs/popup-e854acda.js.map +1 -0
  17. package/dist/cjs/six-alert.cjs.entry.js +42 -9
  18. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  19. package/dist/cjs/six-avatar.cjs.entry.js +5 -4
  20. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  21. package/dist/cjs/six-badge.cjs.entry.js +6 -5
  22. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  23. package/dist/cjs/six-button.cjs.entry.js +8 -6
  24. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  25. package/dist/cjs/six-card.cjs.entry.js +5 -4
  26. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  27. package/dist/cjs/six-checkbox_2.cjs.entry.js +192 -0
  28. package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -0
  29. package/dist/cjs/six-datepicker.cjs.entry.js +44 -15
  30. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-details.cjs.entry.js +7 -6
  32. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  33. package/dist/cjs/six-dialog.cjs.entry.js +16 -32
  34. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-drawer.cjs.entry.js +15 -32
  36. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  37. package/dist/cjs/six-dropdown_2.cjs.entry.js +204 -130
  38. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-error-page.cjs.entry.js +4 -3
  40. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-error.cjs.entry.js +4 -3
  42. package/dist/cjs/six-error.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-file-list-item.cjs.entry.js +6 -5
  44. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-file-list.cjs.entry.js +4 -3
  46. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  47. package/dist/cjs/six-file-upload.cjs.entry.js +34 -9
  48. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-footer.cjs.entry.js +5 -4
  50. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-group-label.cjs.entry.js +7 -6
  52. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  53. package/dist/cjs/six-header.cjs.entry.js +43 -20
  54. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-icon-button.cjs.entry.js +7 -6
  56. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-icon.cjs.entry.js +6 -5
  58. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-input.cjs.entry.js +11 -8
  60. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-item-picker.cjs.entry.js +106 -9
  62. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-language-switcher.cjs.entry.js +11 -6
  64. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-layout-grid.cjs.entry.js +4 -3
  66. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-main-container.cjs.entry.js +4 -3
  68. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-menu-divider.cjs.entry.js +5 -4
  70. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  71. package/dist/cjs/six-menu-label.cjs.entry.js +5 -4
  72. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-picto.cjs.entry.js +4 -3
  74. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-progress-bar.cjs.entry.js +6 -5
  76. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  77. package/dist/cjs/six-progress-ring.cjs.entry.js +5 -4
  78. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  79. package/dist/cjs/six-radio.cjs.entry.js +6 -5
  80. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  81. package/dist/cjs/six-range.cjs.entry.js +18 -7
  82. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  83. package/dist/cjs/six-root.cjs.entry.js +4 -22
  84. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-search-field.cjs.entry.js +5 -4
  86. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-select.cjs.entry.js +340 -182
  88. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +5 -4
  90. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-sidebar-item.cjs.entry.js +5 -4
  92. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-sidebar.cjs.entry.js +6 -5
  94. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-spinner.cjs.entry.js +5 -4
  96. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-stage-indicator.cjs.entry.js +23 -0
  98. package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -0
  99. package/dist/cjs/six-switch.cjs.entry.js +8 -7
  100. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-tab-group.cjs.entry.js +35 -9
  102. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-tab-panel.cjs.entry.js +5 -4
  104. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  105. package/dist/cjs/six-tab.cjs.entry.js +6 -5
  106. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  107. package/dist/cjs/six-tag.cjs.entry.js +7 -6
  108. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  109. package/dist/cjs/six-textarea.cjs.entry.js +8 -7
  110. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  111. package/dist/cjs/six-tile.cjs.entry.js +8 -7
  112. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  113. package/dist/cjs/six-timepicker.cjs.entry.js +8 -7
  114. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  115. package/dist/cjs/six-tooltip.cjs.entry.js +6 -5
  116. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  117. package/dist/cjs/{slot-9821749e.js → slot-1b1232a1.js} +1 -3
  118. package/dist/cjs/slot-1b1232a1.js.map +1 -0
  119. package/dist/cjs/{types-0a6d66f6.js → types-d3da200b.js} +3 -1
  120. package/dist/cjs/types-d3da200b.js.map +1 -0
  121. package/dist/cjs/ui-library.cjs.js +6 -4
  122. package/dist/cjs/ui-library.cjs.js.map +1 -1
  123. package/dist/collection/assets/TRADEMARKS.md +3 -3
  124. package/dist/collection/collection-manifest.json +5 -6
  125. package/dist/collection/components/six-alert/six-alert.css +5 -1
  126. package/dist/collection/components/six-alert/six-alert.js +57 -12
  127. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  128. package/dist/collection/components/six-avatar/six-avatar.css +2 -2
  129. package/dist/collection/components/six-avatar/six-avatar.js +1 -1
  130. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  131. package/dist/collection/components/six-badge/six-badge.css +1 -1
  132. package/dist/collection/components/six-badge/six-badge.js +2 -2
  133. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  134. package/dist/collection/components/six-button/six-button.css +19 -1
  135. package/dist/collection/components/six-button/six-button.js +8 -6
  136. package/dist/collection/components/six-button/six-button.js.map +1 -1
  137. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -1
  138. package/dist/collection/components/six-card/six-card.css +4 -5
  139. package/dist/collection/components/six-card/six-card.js +1 -1
  140. package/dist/collection/components/six-card/six-card.js.map +1 -1
  141. package/dist/collection/components/six-checkbox/six-checkbox.css +8 -1
  142. package/dist/collection/components/six-checkbox/six-checkbox.js +5 -4
  143. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  144. package/dist/collection/components/six-datepicker/six-date-formats.js +1 -0
  145. package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -1
  146. package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
  147. package/dist/collection/components/six-datepicker/six-datepicker.js +20 -16
  148. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  149. package/dist/collection/components/six-details/six-details.css +1 -5
  150. package/dist/collection/components/six-details/six-details.js +3 -3
  151. package/dist/collection/components/six-details/six-details.js.map +1 -1
  152. package/dist/collection/components/six-dialog/six-dialog.css +2 -2
  153. package/dist/collection/components/six-dialog/six-dialog.js +10 -28
  154. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  155. package/dist/collection/components/six-drawer/six-drawer.css +2 -2
  156. package/dist/collection/components/six-drawer/six-drawer.js +9 -28
  157. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  158. package/dist/collection/components/six-dropdown/six-dropdown.css +22 -7
  159. package/dist/collection/components/six-dropdown/six-dropdown.js +216 -124
  160. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  161. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +54 -29
  162. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -1
  163. package/dist/collection/components/six-error/six-error.js +1 -1
  164. package/dist/collection/components/six-error/six-error.js.map +1 -1
  165. package/dist/collection/components/six-error-page/six-error-page.js +1 -1
  166. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  167. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  168. package/dist/collection/components/six-file-list/six-file-list.js.map +1 -1
  169. package/dist/collection/components/six-file-list-item/six-file-list-item.css +1 -1
  170. package/dist/collection/components/six-file-list-item/six-file-list-item.js +2 -2
  171. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  172. package/dist/collection/components/six-file-upload/six-file-upload.css +12 -4
  173. package/dist/collection/components/six-file-upload/six-file-upload.js +87 -7
  174. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  175. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +187 -24
  176. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -1
  177. package/dist/collection/components/six-footer/six-footer.css +2 -2
  178. package/dist/collection/components/six-footer/six-footer.js +1 -1
  179. package/dist/collection/components/six-footer/six-footer.js.map +1 -1
  180. package/dist/collection/components/six-group-label/six-group-label.css +1 -1
  181. package/dist/collection/components/six-group-label/six-group-label.js +1 -1
  182. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  183. package/dist/collection/components/six-header/six-header.css +15 -2
  184. package/dist/collection/components/six-header/six-header.js +77 -18
  185. package/dist/collection/components/six-header/six-header.js.map +1 -1
  186. package/dist/collection/components/six-icon/six-icon.css +5 -2
  187. package/dist/collection/components/six-icon/six-icon.js +2 -2
  188. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  189. package/dist/collection/components/six-icon-button/six-icon-button.css +1 -1
  190. package/dist/collection/components/six-icon-button/six-icon-button.js +3 -3
  191. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  192. package/dist/collection/components/six-input/six-input.css +10 -1
  193. package/dist/collection/components/six-input/six-input.js +47 -19
  194. package/dist/collection/components/six-input/six-input.js.map +1 -1
  195. package/dist/collection/components/six-item-picker/six-item-picker.css +8 -0
  196. package/dist/collection/components/six-item-picker/six-item-picker.js +101 -5
  197. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  198. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +57 -57
  199. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -1
  200. package/dist/collection/components/six-item-picker/types.js +2 -0
  201. package/dist/collection/components/six-item-picker/types.js.map +1 -1
  202. package/dist/collection/components/six-language-switcher/six-language-switcher.css +7 -2
  203. package/dist/collection/components/six-language-switcher/six-language-switcher.js +7 -3
  204. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  205. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +20 -20
  206. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -1
  207. package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
  208. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  209. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  210. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  211. package/dist/collection/components/six-menu/six-menu.css +8 -7
  212. package/dist/collection/components/six-menu/six-menu.js +30 -8
  213. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  214. package/dist/collection/components/six-menu/test/six-menu.spec.js +6 -6
  215. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -1
  216. package/dist/collection/components/six-menu-divider/six-menu-divider.css +3 -2
  217. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  218. package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -1
  219. package/dist/collection/components/six-menu-item/six-menu-item.css +13 -2
  220. package/dist/collection/components/six-menu-item/six-menu-item.js +37 -8
  221. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  222. package/dist/collection/components/six-menu-label/six-menu-label.css +1 -1
  223. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  224. package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -1
  225. package/dist/collection/components/six-picto/six-picto.js +1 -1
  226. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  227. package/dist/collection/components/six-progress-bar/six-progress-bar.css +1 -1
  228. package/dist/collection/components/six-progress-bar/six-progress-bar.js +2 -2
  229. package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -1
  230. package/dist/collection/components/six-progress-ring/six-progress-ring.css +1 -1
  231. package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
  232. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  233. package/dist/collection/components/six-radio/six-radio.css +1 -1
  234. package/dist/collection/components/six-radio/six-radio.js +5 -4
  235. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  236. package/dist/collection/components/six-range/six-range.css +2 -2
  237. package/dist/collection/components/six-range/six-range.js +15 -4
  238. package/dist/collection/components/six-range/six-range.js.map +1 -1
  239. package/dist/collection/components/six-root/six-root.js +1 -69
  240. package/dist/collection/components/six-root/six-root.js.map +1 -1
  241. package/dist/collection/components/six-root/test/six-root.spec.js +0 -7
  242. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -1
  243. package/dist/collection/components/six-search-field/six-search-field.css +1 -1
  244. package/dist/collection/components/six-search-field/six-search-field.js +1 -1
  245. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  246. package/dist/collection/components/six-select/six-select.css +54 -66
  247. package/dist/collection/components/six-select/six-select.js +351 -183
  248. package/dist/collection/components/six-select/six-select.js.map +1 -1
  249. package/dist/collection/components/six-select/test/six-select.spec.js +31 -15
  250. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -1
  251. package/dist/collection/components/six-select/test/util.spec.js +23 -1
  252. package/dist/collection/components/six-select/test/util.spec.js.map +1 -1
  253. package/dist/collection/components/six-select/util.js +24 -0
  254. package/dist/collection/components/six-select/util.js.map +1 -1
  255. package/dist/collection/components/six-sidebar/six-sidebar.css +2 -2
  256. package/dist/collection/components/six-sidebar/six-sidebar.js +8 -6
  257. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  258. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +2 -2
  259. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -1
  260. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +2 -1
  261. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  262. package/dist/collection/components/six-spinner/six-spinner.css +1 -1
  263. package/dist/collection/components/six-spinner/six-spinner.js +2 -1
  264. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  265. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +1 -1
  266. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -1
  267. package/dist/collection/components/six-stage-indicator/six-stage-indicator.css +1 -1
  268. package/dist/collection/components/six-switch/six-switch.css +1 -1
  269. package/dist/collection/components/six-switch/six-switch.js +5 -4
  270. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  271. package/dist/collection/components/six-tab/six-tab.css +1 -1
  272. package/dist/collection/components/six-tab/six-tab.js +5 -4
  273. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  274. package/dist/collection/components/six-tab-group/six-tab-group.css +1 -1
  275. package/dist/collection/components/six-tab-group/six-tab-group.js +36 -9
  276. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  277. package/dist/collection/components/six-tab-panel/six-tab-panel.css +1 -1
  278. package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
  279. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  280. package/dist/collection/components/six-tag/six-tag.css +1 -1
  281. package/dist/collection/components/six-tag/six-tag.js +2 -2
  282. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  283. package/dist/collection/components/six-textarea/six-textarea.css +1 -1
  284. package/dist/collection/components/six-textarea/six-textarea.js +26 -18
  285. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  286. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -1
  287. package/dist/collection/components/six-tile/six-tile.css +2 -2
  288. package/dist/collection/components/six-tile/six-tile.js +3 -3
  289. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  290. package/dist/collection/components/six-timepicker/six-timepicker.css +1 -1
  291. package/dist/collection/components/six-timepicker/six-timepicker.js +4 -3
  292. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  293. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -1
  294. package/dist/collection/components/six-tooltip/six-tooltip.css +1 -1
  295. package/dist/collection/components/six-tooltip/six-tooltip.js +2 -2
  296. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  297. package/dist/collection/index.js +1 -0
  298. package/dist/collection/index.js.map +1 -1
  299. package/dist/collection/utils/alert.js +54 -0
  300. package/dist/collection/utils/alert.js.map +1 -0
  301. package/dist/collection/utils/date-util.js +25 -0
  302. package/dist/collection/utils/date-util.js.map +1 -1
  303. package/dist/collection/utils/date-util.spec.js.map +1 -1
  304. package/dist/collection/utils/error-messages.js +7 -0
  305. package/dist/collection/utils/error-messages.js.map +1 -1
  306. package/dist/collection/utils/event-listeners.js.map +1 -1
  307. package/dist/collection/utils/focus-visible.js.map +1 -1
  308. package/dist/collection/utils/form.js.map +1 -1
  309. package/dist/collection/utils/modal.js.map +1 -1
  310. package/dist/collection/utils/popover.js.map +1 -1
  311. package/dist/collection/utils/popup.js +1 -1
  312. package/dist/collection/utils/popup.js.map +1 -1
  313. package/dist/collection/utils/scroll.js.map +1 -1
  314. package/dist/collection/utils/slot.js +0 -1
  315. package/dist/collection/utils/slot.js.map +1 -1
  316. package/dist/collection/utils/tabbable.js.map +1 -1
  317. package/dist/collection/utils/time.util.js.map +1 -1
  318. package/dist/collection/utils/time.util.spec.js.map +1 -1
  319. package/dist/components/index.js +50 -102
  320. package/dist/components/index.js.map +1 -1
  321. package/dist/components/modal.js +1 -17
  322. package/dist/components/modal.js.map +1 -1
  323. package/dist/components/six-alert.js +41 -8
  324. package/dist/components/six-alert.js.map +1 -1
  325. package/dist/components/six-avatar.js +4 -3
  326. package/dist/components/six-avatar.js.map +1 -1
  327. package/dist/components/six-badge.js +5 -4
  328. package/dist/components/six-badge.js.map +1 -1
  329. package/dist/components/six-button.js +1 -142
  330. package/dist/components/six-button.js.map +1 -1
  331. package/dist/components/six-button2.js +148 -0
  332. package/dist/components/six-button2.js.map +1 -0
  333. package/dist/components/six-card.js +4 -3
  334. package/dist/components/six-card.js.map +1 -1
  335. package/dist/components/six-checkbox.js +1 -161
  336. package/dist/components/six-checkbox.js.map +1 -1
  337. package/dist/components/six-checkbox2.js +166 -0
  338. package/dist/components/six-checkbox2.js.map +1 -0
  339. package/dist/components/six-datepicker.js +41 -12
  340. package/dist/components/six-datepicker.js.map +1 -1
  341. package/dist/components/six-details2.js +6 -5
  342. package/dist/components/six-details2.js.map +1 -1
  343. package/dist/components/six-dialog.js +14 -30
  344. package/dist/components/six-dialog.js.map +1 -1
  345. package/dist/components/six-drawer.js +13 -30
  346. package/dist/components/six-drawer.js.map +1 -1
  347. package/dist/components/six-dropdown2.js +204 -127
  348. package/dist/components/six-dropdown2.js.map +1 -1
  349. package/dist/components/six-error-page.js +3 -2
  350. package/dist/components/six-error-page.js.map +1 -1
  351. package/dist/components/six-error2.js +3 -2
  352. package/dist/components/six-error2.js.map +1 -1
  353. package/dist/components/six-file-list-item.js +5 -4
  354. package/dist/components/six-file-list-item.js.map +1 -1
  355. package/dist/components/six-file-list.js +3 -2
  356. package/dist/components/six-file-list.js.map +1 -1
  357. package/dist/components/six-file-upload.js +53 -12
  358. package/dist/components/six-file-upload.js.map +1 -1
  359. package/dist/components/six-footer.js +4 -3
  360. package/dist/components/six-footer.js.map +1 -1
  361. package/dist/components/six-group-label.js +4 -3
  362. package/dist/components/six-group-label.js.map +1 -1
  363. package/dist/components/six-header.js +50 -19
  364. package/dist/components/six-header.js.map +1 -1
  365. package/dist/components/six-icon-button2.js +6 -5
  366. package/dist/components/six-icon-button2.js.map +1 -1
  367. package/dist/components/six-icon2.js +5 -4
  368. package/dist/components/six-icon2.js.map +1 -1
  369. package/dist/components/six-input2.js +9 -5
  370. package/dist/components/six-input2.js.map +1 -1
  371. package/dist/components/six-item-picker2.js +106 -7
  372. package/dist/components/six-item-picker2.js.map +1 -1
  373. package/dist/components/six-language-switcher.js +10 -5
  374. package/dist/components/six-language-switcher.js.map +1 -1
  375. package/dist/components/six-layout-grid.js +3 -2
  376. package/dist/components/six-layout-grid.js.map +1 -1
  377. package/dist/components/six-main-container.js +3 -2
  378. package/dist/components/six-main-container.js.map +1 -1
  379. package/dist/components/six-menu-divider.js +4 -3
  380. package/dist/components/six-menu-divider.js.map +1 -1
  381. package/dist/components/six-menu-item2.js +31 -7
  382. package/dist/components/six-menu-item2.js.map +1 -1
  383. package/dist/components/six-menu-label.js +4 -3
  384. package/dist/components/six-menu-label.js.map +1 -1
  385. package/dist/components/six-menu2.js +26 -9
  386. package/dist/components/six-menu2.js.map +1 -1
  387. package/dist/components/six-picto2.js +3 -2
  388. package/dist/components/six-picto2.js.map +1 -1
  389. package/dist/components/six-progress-bar.js +5 -4
  390. package/dist/components/six-progress-bar.js.map +1 -1
  391. package/dist/components/six-progress-ring.js +4 -3
  392. package/dist/components/six-progress-ring.js.map +1 -1
  393. package/dist/components/six-radio.js +5 -4
  394. package/dist/components/six-radio.js.map +1 -1
  395. package/dist/components/six-range.js +15 -4
  396. package/dist/components/six-range.js.map +1 -1
  397. package/dist/components/six-root.js +6 -34
  398. package/dist/components/six-root.js.map +1 -1
  399. package/dist/components/six-search-field.js +4 -3
  400. package/dist/components/six-search-field.js.map +1 -1
  401. package/dist/components/six-select.js +478 -201
  402. package/dist/components/six-select.js.map +1 -1
  403. package/dist/components/six-sidebar-item-group.js +3 -2
  404. package/dist/components/six-sidebar-item-group.js.map +1 -1
  405. package/dist/components/six-sidebar-item.js +4 -3
  406. package/dist/components/six-sidebar-item.js.map +1 -1
  407. package/dist/components/six-sidebar.js +5 -4
  408. package/dist/components/six-sidebar.js.map +1 -1
  409. package/dist/components/six-spinner2.js +4 -3
  410. package/dist/components/six-spinner2.js.map +1 -1
  411. package/dist/components/six-stage-indicator2.js +3 -2
  412. package/dist/components/six-stage-indicator2.js.map +1 -1
  413. package/dist/components/six-switch.js +5 -4
  414. package/dist/components/six-switch.js.map +1 -1
  415. package/dist/components/six-tab-group.js +36 -9
  416. package/dist/components/six-tab-group.js.map +1 -1
  417. package/dist/components/six-tab-panel.js +4 -3
  418. package/dist/components/six-tab-panel.js.map +1 -1
  419. package/dist/components/six-tab.js +5 -4
  420. package/dist/components/six-tab.js.map +1 -1
  421. package/dist/components/six-tag.js +99 -1
  422. package/dist/components/six-tag.js.map +1 -1
  423. package/dist/components/six-textarea.js +5 -4
  424. package/dist/components/six-textarea.js.map +1 -1
  425. package/dist/components/six-tile.js +6 -5
  426. package/dist/components/six-tile.js.map +1 -1
  427. package/dist/components/six-timepicker2.js +5 -4
  428. package/dist/components/six-timepicker2.js.map +1 -1
  429. package/dist/components/six-tooltip2.js +5 -4
  430. package/dist/components/six-tooltip2.js.map +1 -1
  431. package/dist/components/slot.js +1 -2
  432. package/dist/components/slot.js.map +1 -1
  433. package/dist/components.d.ts +1 -21
  434. package/dist/components.json +741 -242
  435. package/dist/esm/app-globals-0f993ce5.js +5 -0
  436. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  437. package/dist/esm/error-messages-1eaaad23.js +115 -0
  438. package/dist/esm/error-messages-1eaaad23.js.map +1 -0
  439. package/dist/esm/{form-control-6b30894f.js → form-control-30c5bd8b.js} +2 -2
  440. package/dist/esm/{form-control-6b30894f.js.map → form-control-30c5bd8b.js.map} +1 -1
  441. package/dist/esm/{index-17d8173e.js → index-5390c1d6.js} +127 -76
  442. package/dist/esm/index-5390c1d6.js.map +1 -0
  443. package/dist/esm/index.js +51 -100
  444. package/dist/esm/index.js.map +1 -1
  445. package/dist/esm/loader.js +6 -4
  446. package/dist/esm/loader.js.map +1 -1
  447. package/dist/esm/{modal-96526245.js → modal-6c1288e3.js} +2 -18
  448. package/dist/esm/modal-6c1288e3.js.map +1 -0
  449. package/dist/esm/{popup-e8049817.js → popup-7209e9d5.js} +2 -2
  450. package/dist/esm/popup-7209e9d5.js.map +1 -0
  451. package/dist/esm/six-alert.entry.js +42 -9
  452. package/dist/esm/six-alert.entry.js.map +1 -1
  453. package/dist/esm/six-avatar.entry.js +5 -4
  454. package/dist/esm/six-avatar.entry.js.map +1 -1
  455. package/dist/esm/six-badge.entry.js +6 -5
  456. package/dist/esm/six-badge.entry.js.map +1 -1
  457. package/dist/esm/six-button.entry.js +8 -6
  458. package/dist/esm/six-button.entry.js.map +1 -1
  459. package/dist/esm/six-card.entry.js +5 -4
  460. package/dist/esm/six-card.entry.js.map +1 -1
  461. package/dist/esm/six-checkbox_2.entry.js +187 -0
  462. package/dist/esm/six-checkbox_2.entry.js.map +1 -0
  463. package/dist/esm/six-datepicker.entry.js +44 -15
  464. package/dist/esm/six-datepicker.entry.js.map +1 -1
  465. package/dist/esm/six-details.entry.js +7 -6
  466. package/dist/esm/six-details.entry.js.map +1 -1
  467. package/dist/esm/six-dialog.entry.js +16 -32
  468. package/dist/esm/six-dialog.entry.js.map +1 -1
  469. package/dist/esm/six-drawer.entry.js +15 -32
  470. package/dist/esm/six-drawer.entry.js.map +1 -1
  471. package/dist/esm/six-dropdown_2.entry.js +205 -131
  472. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  473. package/dist/esm/six-error-page.entry.js +4 -3
  474. package/dist/esm/six-error-page.entry.js.map +1 -1
  475. package/dist/esm/six-error.entry.js +4 -3
  476. package/dist/esm/six-error.entry.js.map +1 -1
  477. package/dist/esm/six-file-list-item.entry.js +6 -5
  478. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  479. package/dist/esm/six-file-list.entry.js +4 -3
  480. package/dist/esm/six-file-list.entry.js.map +1 -1
  481. package/dist/esm/six-file-upload.entry.js +34 -9
  482. package/dist/esm/six-file-upload.entry.js.map +1 -1
  483. package/dist/esm/six-footer.entry.js +5 -4
  484. package/dist/esm/six-footer.entry.js.map +1 -1
  485. package/dist/esm/six-group-label.entry.js +7 -6
  486. package/dist/esm/six-group-label.entry.js.map +1 -1
  487. package/dist/esm/six-header.entry.js +43 -20
  488. package/dist/esm/six-header.entry.js.map +1 -1
  489. package/dist/esm/six-icon-button.entry.js +7 -6
  490. package/dist/esm/six-icon-button.entry.js.map +1 -1
  491. package/dist/esm/six-icon.entry.js +6 -5
  492. package/dist/esm/six-icon.entry.js.map +1 -1
  493. package/dist/esm/six-input.entry.js +11 -8
  494. package/dist/esm/six-input.entry.js.map +1 -1
  495. package/dist/esm/six-item-picker.entry.js +106 -9
  496. package/dist/esm/six-item-picker.entry.js.map +1 -1
  497. package/dist/esm/six-language-switcher.entry.js +11 -6
  498. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  499. package/dist/esm/six-layout-grid.entry.js +4 -3
  500. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  501. package/dist/esm/six-main-container.entry.js +4 -3
  502. package/dist/esm/six-main-container.entry.js.map +1 -1
  503. package/dist/esm/six-menu-divider.entry.js +5 -4
  504. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  505. package/dist/esm/six-menu-label.entry.js +5 -4
  506. package/dist/esm/six-menu-label.entry.js.map +1 -1
  507. package/dist/esm/six-picto.entry.js +4 -3
  508. package/dist/esm/six-picto.entry.js.map +1 -1
  509. package/dist/esm/six-progress-bar.entry.js +6 -5
  510. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  511. package/dist/esm/six-progress-ring.entry.js +5 -4
  512. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  513. package/dist/esm/six-radio.entry.js +6 -5
  514. package/dist/esm/six-radio.entry.js.map +1 -1
  515. package/dist/esm/six-range.entry.js +18 -7
  516. package/dist/esm/six-range.entry.js.map +1 -1
  517. package/dist/esm/six-root.entry.js +4 -22
  518. package/dist/esm/six-root.entry.js.map +1 -1
  519. package/dist/esm/six-search-field.entry.js +5 -4
  520. package/dist/esm/six-search-field.entry.js.map +1 -1
  521. package/dist/esm/six-select.entry.js +340 -182
  522. package/dist/esm/six-select.entry.js.map +1 -1
  523. package/dist/esm/six-sidebar-item-group.entry.js +5 -4
  524. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  525. package/dist/esm/six-sidebar-item.entry.js +5 -4
  526. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  527. package/dist/esm/six-sidebar.entry.js +6 -5
  528. package/dist/esm/six-sidebar.entry.js.map +1 -1
  529. package/dist/esm/six-spinner.entry.js +5 -4
  530. package/dist/esm/six-spinner.entry.js.map +1 -1
  531. package/dist/esm/six-stage-indicator.entry.js +19 -0
  532. package/dist/esm/six-stage-indicator.entry.js.map +1 -0
  533. package/dist/esm/six-switch.entry.js +8 -7
  534. package/dist/esm/six-switch.entry.js.map +1 -1
  535. package/dist/esm/six-tab-group.entry.js +35 -9
  536. package/dist/esm/six-tab-group.entry.js.map +1 -1
  537. package/dist/esm/six-tab-panel.entry.js +5 -4
  538. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  539. package/dist/esm/six-tab.entry.js +6 -5
  540. package/dist/esm/six-tab.entry.js.map +1 -1
  541. package/dist/esm/six-tag.entry.js +7 -6
  542. package/dist/esm/six-tag.entry.js.map +1 -1
  543. package/dist/esm/six-textarea.entry.js +8 -7
  544. package/dist/esm/six-textarea.entry.js.map +1 -1
  545. package/dist/esm/six-tile.entry.js +8 -7
  546. package/dist/esm/six-tile.entry.js.map +1 -1
  547. package/dist/esm/six-timepicker.entry.js +8 -7
  548. package/dist/esm/six-timepicker.entry.js.map +1 -1
  549. package/dist/esm/six-tooltip.entry.js +6 -5
  550. package/dist/esm/six-tooltip.entry.js.map +1 -1
  551. package/dist/esm/{slot-41bc439a.js → slot-56531341.js} +2 -3
  552. package/dist/esm/slot-56531341.js.map +1 -0
  553. package/dist/esm/{types-07748c42.js → types-a07bb999.js} +3 -1
  554. package/dist/esm/types-a07bb999.js.map +1 -0
  555. package/dist/esm/ui-library.js +7 -5
  556. package/dist/esm/ui-library.js.map +1 -1
  557. package/dist/types/components/six-alert/six-alert.d.ts +13 -6
  558. package/dist/types/components/six-button/six-button.d.ts +1 -1
  559. package/dist/types/components/six-datepicker/six-datepicker.d.ts +1 -1
  560. package/dist/types/components/six-dialog/six-dialog.d.ts +1 -0
  561. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -9
  562. package/dist/types/components/six-file-upload/six-file-upload.d.ts +10 -0
  563. package/dist/types/components/six-header/six-header.d.ts +8 -2
  564. package/dist/types/components/six-input/six-input.d.ts +4 -0
  565. package/dist/types/components/six-item-picker/six-item-picker.d.ts +7 -0
  566. package/dist/types/components/six-menu/six-menu.d.ts +4 -0
  567. package/dist/types/components/six-menu-item/six-menu-item.d.ts +7 -1
  568. package/dist/types/components/six-range/six-range.d.ts +2 -0
  569. package/dist/types/components/six-root/six-root.d.ts +0 -13
  570. package/dist/types/components/six-select/six-select.d.ts +27 -13
  571. package/dist/types/components/six-select/util.d.ts +2 -0
  572. package/dist/types/components/six-spinner/six-spinner.d.ts +1 -0
  573. package/dist/types/components/six-tab-group/six-tab-group.d.ts +4 -1
  574. package/dist/types/components.d.ts +120 -62
  575. package/dist/types/index.d.ts +1 -0
  576. package/dist/types/types.d.ts +1 -0
  577. package/dist/types/utils/alert.d.ts +10 -0
  578. package/dist/types/utils/date-util.d.ts +9 -1
  579. package/dist/types/utils/error-messages.d.ts +1 -0
  580. package/dist/types/utils/slot.d.ts +0 -1
  581. package/dist/ui-library/assets/TRADEMARKS.md +3 -3
  582. package/dist/ui-library/index.esm.js +1 -1
  583. package/dist/ui-library/index.esm.js.map +1 -1
  584. package/dist/ui-library/p-030fa1fa.entry.js +2 -0
  585. package/dist/ui-library/p-030fa1fa.entry.js.map +1 -0
  586. package/dist/ui-library/p-03d1b956.entry.js +2 -0
  587. package/dist/ui-library/p-03d1b956.entry.js.map +1 -0
  588. package/dist/ui-library/p-047d02ad.entry.js +2 -0
  589. package/dist/ui-library/p-047d02ad.entry.js.map +1 -0
  590. package/dist/ui-library/p-05eb1bab.js +3 -0
  591. package/dist/ui-library/p-05eb1bab.js.map +1 -0
  592. package/dist/ui-library/p-060069d4.entry.js +2 -0
  593. package/dist/ui-library/p-060069d4.entry.js.map +1 -0
  594. package/dist/ui-library/p-06ba653e.entry.js +2 -0
  595. package/dist/ui-library/p-06ba653e.entry.js.map +1 -0
  596. package/dist/ui-library/p-07c8de65.entry.js +2 -0
  597. package/dist/ui-library/p-07c8de65.entry.js.map +1 -0
  598. package/dist/ui-library/p-0cebf1d2.js +2 -0
  599. package/dist/ui-library/p-0cebf1d2.js.map +1 -0
  600. package/dist/ui-library/p-0fb3fb30.entry.js +2 -0
  601. package/dist/ui-library/p-0fb3fb30.entry.js.map +1 -0
  602. package/dist/ui-library/p-14e5fccc.entry.js +2 -0
  603. package/dist/ui-library/p-14e5fccc.entry.js.map +1 -0
  604. package/dist/ui-library/p-189602e4.entry.js +2 -0
  605. package/dist/ui-library/p-189602e4.entry.js.map +1 -0
  606. package/dist/ui-library/p-19560508.entry.js +2 -0
  607. package/dist/ui-library/p-19560508.entry.js.map +1 -0
  608. package/dist/ui-library/p-21074819.entry.js +2 -0
  609. package/dist/ui-library/p-21074819.entry.js.map +1 -0
  610. package/dist/ui-library/p-2386627e.entry.js +2 -0
  611. package/dist/ui-library/p-2386627e.entry.js.map +1 -0
  612. package/dist/ui-library/p-2c25cb61.entry.js +2 -0
  613. package/dist/ui-library/p-2c25cb61.entry.js.map +1 -0
  614. package/dist/ui-library/p-32e421a3.entry.js +2 -0
  615. package/dist/ui-library/p-32e421a3.entry.js.map +1 -0
  616. package/dist/ui-library/p-3603dd96.entry.js +2 -0
  617. package/dist/ui-library/p-3603dd96.entry.js.map +1 -0
  618. package/dist/ui-library/p-39ff5f61.entry.js +2 -0
  619. package/dist/ui-library/p-39ff5f61.entry.js.map +1 -0
  620. package/dist/ui-library/p-3b5a76ea.entry.js +2 -0
  621. package/dist/ui-library/p-3b5a76ea.entry.js.map +1 -0
  622. package/dist/ui-library/p-419ed003.entry.js +2 -0
  623. package/dist/ui-library/p-419ed003.entry.js.map +1 -0
  624. package/dist/ui-library/p-45003bae.entry.js +2 -0
  625. package/dist/ui-library/p-45003bae.entry.js.map +1 -0
  626. package/dist/ui-library/p-4963f03c.entry.js +2 -0
  627. package/dist/ui-library/p-4963f03c.entry.js.map +1 -0
  628. package/dist/ui-library/p-4d89932f.entry.js +2 -0
  629. package/dist/ui-library/p-4d89932f.entry.js.map +1 -0
  630. package/dist/ui-library/{p-6907a7dc.js → p-605bdd81.js} +2 -2
  631. package/dist/ui-library/p-63acceb6.entry.js +2 -0
  632. package/dist/ui-library/p-63acceb6.entry.js.map +1 -0
  633. package/dist/ui-library/p-651293e7.js +2 -0
  634. package/dist/ui-library/p-651293e7.js.map +1 -0
  635. package/dist/ui-library/p-6888b9ee.entry.js +2 -0
  636. package/dist/ui-library/p-6888b9ee.entry.js.map +1 -0
  637. package/dist/ui-library/p-6f9153be.entry.js +2 -0
  638. package/dist/ui-library/p-6f9153be.entry.js.map +1 -0
  639. package/dist/ui-library/p-7561b336.entry.js +2 -0
  640. package/dist/ui-library/p-7561b336.entry.js.map +1 -0
  641. package/dist/ui-library/p-7c18b8ca.entry.js +2 -0
  642. package/dist/ui-library/p-7c18b8ca.entry.js.map +1 -0
  643. package/dist/ui-library/p-82bd8781.entry.js +2 -0
  644. package/dist/ui-library/p-82bd8781.entry.js.map +1 -0
  645. package/dist/ui-library/{p-0861899a.js → p-862d474e.js} +1 -1
  646. package/dist/ui-library/p-862d474e.js.map +1 -0
  647. package/dist/ui-library/p-89db9a8b.entry.js +2 -0
  648. package/dist/ui-library/p-89db9a8b.entry.js.map +1 -0
  649. package/dist/ui-library/{p-d310a6dd.entry.js → p-8f1d3461.entry.js} +2 -2
  650. package/dist/ui-library/p-8f1d3461.entry.js.map +1 -0
  651. package/dist/ui-library/p-8fb96142.entry.js +2 -0
  652. package/dist/ui-library/p-8fb96142.entry.js.map +1 -0
  653. package/dist/ui-library/p-96d441e9.entry.js +2 -0
  654. package/dist/ui-library/p-96d441e9.entry.js.map +1 -0
  655. package/dist/ui-library/p-9bc1639b.entry.js +2 -0
  656. package/dist/ui-library/p-9bc1639b.entry.js.map +1 -0
  657. package/dist/ui-library/p-9cb83369.entry.js +2 -0
  658. package/dist/ui-library/p-9cb83369.entry.js.map +1 -0
  659. package/dist/ui-library/p-a398e3eb.entry.js +2 -0
  660. package/dist/ui-library/p-a398e3eb.entry.js.map +1 -0
  661. package/dist/ui-library/p-a7e2f511.entry.js +2 -0
  662. package/dist/ui-library/p-a7e2f511.entry.js.map +1 -0
  663. package/dist/ui-library/p-a8863197.entry.js +2 -0
  664. package/dist/ui-library/p-a8863197.entry.js.map +1 -0
  665. package/dist/ui-library/p-a9e009af.entry.js +2 -0
  666. package/dist/ui-library/p-a9e009af.entry.js.map +1 -0
  667. package/dist/ui-library/p-ac00076d.entry.js +2 -0
  668. package/dist/ui-library/p-ac00076d.entry.js.map +1 -0
  669. package/dist/ui-library/p-b4bc4915.entry.js +2 -0
  670. package/dist/ui-library/p-b4bc4915.entry.js.map +1 -0
  671. package/dist/ui-library/p-b5acf54d.entry.js +2 -0
  672. package/dist/ui-library/p-b5acf54d.entry.js.map +1 -0
  673. package/dist/ui-library/p-b60c20aa.entry.js +2 -0
  674. package/dist/ui-library/p-b60c20aa.entry.js.map +1 -0
  675. package/dist/ui-library/p-c1d68730.entry.js +2 -0
  676. package/dist/ui-library/p-c1d68730.entry.js.map +1 -0
  677. package/dist/ui-library/p-c35a7cef.entry.js +2 -0
  678. package/dist/ui-library/p-c35a7cef.entry.js.map +1 -0
  679. package/dist/ui-library/p-c62893e5.entry.js +2 -0
  680. package/dist/ui-library/p-c62893e5.entry.js.map +1 -0
  681. package/dist/ui-library/p-c6464bfe.entry.js +2 -0
  682. package/dist/ui-library/p-c6464bfe.entry.js.map +1 -0
  683. package/dist/ui-library/p-cf109cbf.entry.js +2 -0
  684. package/dist/ui-library/p-cf109cbf.entry.js.map +1 -0
  685. package/dist/ui-library/p-d07b549f.entry.js +2 -0
  686. package/dist/ui-library/p-d07b549f.entry.js.map +1 -0
  687. package/dist/ui-library/p-d42f1ea9.entry.js +2 -0
  688. package/dist/ui-library/p-d42f1ea9.entry.js.map +1 -0
  689. package/dist/ui-library/p-e080d5b6.js +2 -0
  690. package/dist/ui-library/p-e080d5b6.js.map +1 -0
  691. package/dist/ui-library/p-e1255160.js +2 -0
  692. package/dist/ui-library/p-e1255160.js.map +1 -0
  693. package/dist/ui-library/p-f136a6b2.js +2 -0
  694. package/dist/ui-library/p-f136a6b2.js.map +1 -0
  695. package/dist/ui-library/p-fe37dadf.entry.js +2 -0
  696. package/dist/ui-library/p-fe37dadf.entry.js.map +1 -0
  697. package/dist/ui-library/p-fe89a7c4.entry.js +2 -0
  698. package/dist/ui-library/p-fe89a7c4.entry.js.map +1 -0
  699. package/dist/ui-library/ui-library.css +1 -10
  700. package/dist/ui-library/ui-library.esm.js +1 -1
  701. package/dist/ui-library/ui-library.esm.js.map +1 -1
  702. package/package.json +10 -13
  703. package/dist/cjs/index-3baddcdc.js.map +0 -1
  704. package/dist/cjs/modal-3ce015be.js.map +0 -1
  705. package/dist/cjs/popup-40a9adbb.js.map +0 -1
  706. package/dist/cjs/set-attributes_2.cjs.entry.js +0 -73
  707. package/dist/cjs/set-attributes_2.cjs.entry.js.map +0 -1
  708. package/dist/cjs/six-checkbox.cjs.entry.js +0 -127
  709. package/dist/cjs/six-checkbox.cjs.entry.js.map +0 -1
  710. package/dist/cjs/six-menu-item.cjs.entry.js +0 -63
  711. package/dist/cjs/six-menu-item.cjs.entry.js.map +0 -1
  712. package/dist/cjs/slot-9821749e.js.map +0 -1
  713. package/dist/cjs/types-0a6d66f6.js.map +0 -1
  714. package/dist/collection/components/six-header/assets/six-logo.svg +0 -1
  715. package/dist/collection/components/six-header/test/six-header.spec.js +0 -133
  716. package/dist/collection/components/six-header/test/six-header.spec.js.map +0 -1
  717. package/dist/collection/utils/support.js +0 -16
  718. package/dist/collection/utils/support.js.map +0 -1
  719. package/dist/collection/wrappers/set-attributes/set-attributes.js +0 -74
  720. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +0 -1
  721. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +0 -16
  722. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +0 -1
  723. package/dist/components/set-attributes.d.ts +0 -11
  724. package/dist/components/set-attributes.js +0 -8
  725. package/dist/components/set-attributes.js.map +0 -1
  726. package/dist/components/set-attributes2.js +0 -73
  727. package/dist/components/set-attributes2.js.map +0 -1
  728. package/dist/components/six-tag2.js +0 -102
  729. package/dist/components/six-tag2.js.map +0 -1
  730. package/dist/esm/index-17d8173e.js.map +0 -1
  731. package/dist/esm/modal-96526245.js.map +0 -1
  732. package/dist/esm/popup-e8049817.js.map +0 -1
  733. package/dist/esm/set-attributes_2.entry.js +0 -68
  734. package/dist/esm/set-attributes_2.entry.js.map +0 -1
  735. package/dist/esm/six-checkbox.entry.js +0 -123
  736. package/dist/esm/six-checkbox.entry.js.map +0 -1
  737. package/dist/esm/six-menu-item.entry.js +0 -59
  738. package/dist/esm/six-menu-item.entry.js.map +0 -1
  739. package/dist/esm/slot-41bc439a.js.map +0 -1
  740. package/dist/esm/types-07748c42.js.map +0 -1
  741. package/dist/types/utils/support.d.ts +0 -1
  742. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +0 -9
  743. package/dist/ui-library/assets/six-logo.svg +0 -1
  744. package/dist/ui-library/p-0861899a.js.map +0 -1
  745. package/dist/ui-library/p-0a81b42c.entry.js +0 -2
  746. package/dist/ui-library/p-0a81b42c.entry.js.map +0 -1
  747. package/dist/ui-library/p-0beec94f.js +0 -3
  748. package/dist/ui-library/p-0beec94f.js.map +0 -1
  749. package/dist/ui-library/p-100d5a25.entry.js +0 -2
  750. package/dist/ui-library/p-100d5a25.entry.js.map +0 -1
  751. package/dist/ui-library/p-178f5782.entry.js +0 -2
  752. package/dist/ui-library/p-178f5782.entry.js.map +0 -1
  753. package/dist/ui-library/p-19a61686.entry.js +0 -2
  754. package/dist/ui-library/p-19a61686.entry.js.map +0 -1
  755. package/dist/ui-library/p-1d0c5929.entry.js +0 -2
  756. package/dist/ui-library/p-1d0c5929.entry.js.map +0 -1
  757. package/dist/ui-library/p-23c02c98.entry.js +0 -2
  758. package/dist/ui-library/p-23c02c98.entry.js.map +0 -1
  759. package/dist/ui-library/p-2f9f2532.entry.js +0 -2
  760. package/dist/ui-library/p-2f9f2532.entry.js.map +0 -1
  761. package/dist/ui-library/p-3187bc23.entry.js +0 -2
  762. package/dist/ui-library/p-3187bc23.entry.js.map +0 -1
  763. package/dist/ui-library/p-32e1a5ab.entry.js +0 -2
  764. package/dist/ui-library/p-32e1a5ab.entry.js.map +0 -1
  765. package/dist/ui-library/p-3d54ecf2.entry.js +0 -2
  766. package/dist/ui-library/p-3d54ecf2.entry.js.map +0 -1
  767. package/dist/ui-library/p-4229f7e8.entry.js +0 -2
  768. package/dist/ui-library/p-4229f7e8.entry.js.map +0 -1
  769. package/dist/ui-library/p-479d8087.entry.js +0 -2
  770. package/dist/ui-library/p-479d8087.entry.js.map +0 -1
  771. package/dist/ui-library/p-49aa8d1e.entry.js +0 -2
  772. package/dist/ui-library/p-49aa8d1e.entry.js.map +0 -1
  773. package/dist/ui-library/p-58661675.entry.js +0 -2
  774. package/dist/ui-library/p-58661675.entry.js.map +0 -1
  775. package/dist/ui-library/p-5d43ea07.entry.js +0 -2
  776. package/dist/ui-library/p-5d43ea07.entry.js.map +0 -1
  777. package/dist/ui-library/p-6aa2929a.entry.js +0 -2
  778. package/dist/ui-library/p-6aa2929a.entry.js.map +0 -1
  779. package/dist/ui-library/p-7432d409.entry.js +0 -2
  780. package/dist/ui-library/p-7432d409.entry.js.map +0 -1
  781. package/dist/ui-library/p-74a714c0.entry.js +0 -2
  782. package/dist/ui-library/p-74a714c0.entry.js.map +0 -1
  783. package/dist/ui-library/p-76825395.entry.js +0 -2
  784. package/dist/ui-library/p-76825395.entry.js.map +0 -1
  785. package/dist/ui-library/p-816f857d.entry.js +0 -2
  786. package/dist/ui-library/p-816f857d.entry.js.map +0 -1
  787. package/dist/ui-library/p-882fbf6f.entry.js +0 -2
  788. package/dist/ui-library/p-882fbf6f.entry.js.map +0 -1
  789. package/dist/ui-library/p-88fd4973.entry.js +0 -2
  790. package/dist/ui-library/p-88fd4973.entry.js.map +0 -1
  791. package/dist/ui-library/p-8b750c9e.entry.js +0 -2
  792. package/dist/ui-library/p-8b750c9e.entry.js.map +0 -1
  793. package/dist/ui-library/p-911eb578.entry.js +0 -2
  794. package/dist/ui-library/p-911eb578.entry.js.map +0 -1
  795. package/dist/ui-library/p-93fcda4a.entry.js +0 -2
  796. package/dist/ui-library/p-93fcda4a.entry.js.map +0 -1
  797. package/dist/ui-library/p-981b3228.entry.js +0 -2
  798. package/dist/ui-library/p-981b3228.entry.js.map +0 -1
  799. package/dist/ui-library/p-998de05d.js +0 -2
  800. package/dist/ui-library/p-998de05d.js.map +0 -1
  801. package/dist/ui-library/p-9b1ff147.entry.js +0 -2
  802. package/dist/ui-library/p-9b1ff147.entry.js.map +0 -1
  803. package/dist/ui-library/p-a21f8d06.entry.js +0 -2
  804. package/dist/ui-library/p-a21f8d06.entry.js.map +0 -1
  805. package/dist/ui-library/p-a2461274.entry.js +0 -2
  806. package/dist/ui-library/p-a2461274.entry.js.map +0 -1
  807. package/dist/ui-library/p-a4e4620c.entry.js +0 -2
  808. package/dist/ui-library/p-a4e4620c.entry.js.map +0 -1
  809. package/dist/ui-library/p-ada23fe3.entry.js +0 -2
  810. package/dist/ui-library/p-ada23fe3.entry.js.map +0 -1
  811. package/dist/ui-library/p-b5ac1219.entry.js +0 -2
  812. package/dist/ui-library/p-b5ac1219.entry.js.map +0 -1
  813. package/dist/ui-library/p-ba247565.entry.js +0 -2
  814. package/dist/ui-library/p-ba247565.entry.js.map +0 -1
  815. package/dist/ui-library/p-bdb79948.entry.js +0 -2
  816. package/dist/ui-library/p-bdb79948.entry.js.map +0 -1
  817. package/dist/ui-library/p-c021a9c9.entry.js +0 -2
  818. package/dist/ui-library/p-c021a9c9.entry.js.map +0 -1
  819. package/dist/ui-library/p-c07b1240.entry.js +0 -2
  820. package/dist/ui-library/p-c07b1240.entry.js.map +0 -1
  821. package/dist/ui-library/p-c12a94ce.entry.js +0 -2
  822. package/dist/ui-library/p-c12a94ce.entry.js.map +0 -1
  823. package/dist/ui-library/p-c1675a45.entry.js +0 -2
  824. package/dist/ui-library/p-c1675a45.entry.js.map +0 -1
  825. package/dist/ui-library/p-c2df8c27.entry.js +0 -2
  826. package/dist/ui-library/p-c2df8c27.entry.js.map +0 -1
  827. package/dist/ui-library/p-c86aa5b3.entry.js +0 -2
  828. package/dist/ui-library/p-c86aa5b3.entry.js.map +0 -1
  829. package/dist/ui-library/p-cd35b3c6.entry.js +0 -2
  830. package/dist/ui-library/p-cd35b3c6.entry.js.map +0 -1
  831. package/dist/ui-library/p-d2cf4280.entry.js +0 -2
  832. package/dist/ui-library/p-d2cf4280.entry.js.map +0 -1
  833. package/dist/ui-library/p-d310a6dd.entry.js.map +0 -1
  834. package/dist/ui-library/p-d6838141.entry.js +0 -2
  835. package/dist/ui-library/p-d6838141.entry.js.map +0 -1
  836. package/dist/ui-library/p-dc908cbb.entry.js +0 -2
  837. package/dist/ui-library/p-dc908cbb.entry.js.map +0 -1
  838. package/dist/ui-library/p-dfb6bff6.entry.js +0 -2
  839. package/dist/ui-library/p-dfb6bff6.entry.js.map +0 -1
  840. package/dist/ui-library/p-ee71e3a3.entry.js +0 -2
  841. package/dist/ui-library/p-ee71e3a3.entry.js.map +0 -1
  842. package/dist/ui-library/p-ef317d69.entry.js +0 -2
  843. package/dist/ui-library/p-ef317d69.entry.js.map +0 -1
  844. package/dist/ui-library/p-f2ef23c4.js +0 -2
  845. package/dist/ui-library/p-f2ef23c4.js.map +0 -1
  846. package/dist/ui-library/p-f385f1c2.entry.js +0 -2
  847. package/dist/ui-library/p-f385f1c2.entry.js.map +0 -1
  848. package/dist/ui-library/p-f73a6bdc.entry.js +0 -2
  849. package/dist/ui-library/p-f73a6bdc.entry.js.map +0 -1
  850. package/dist/ui-library/p-faa04bb5.js +0 -2
  851. package/dist/ui-library/p-faa04bb5.js.map +0 -1
  852. package/dist/ui-library/p-fcd57e0a.entry.js +0 -2
  853. package/dist/ui-library/p-fcd57e0a.entry.js.map +0 -1
  854. /package/dist/ui-library/{p-6907a7dc.js.map → p-605bdd81.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"six-details.entry.cjs.js","mappings":"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","names":["focusVisible","h"],"sources":["src/components/six-details/six-details.scss?tag=six-details&encapsulation=shadow","src/components/six-details/six-details.tsx"],"sourcesContent":["@import 'src/global/component';\n\n/**\n * @prop --hide-duration: The length of the hide transition.\n * @prop --hide-timing-function: The timing function (easing) to use for the hide transition.\n * @prop --show-duration: The length of the show transition.\n * @prop --show-timing-function: The timing function (easing) to use for the show transition.\n * @prop --horizontal-padding: The horizontal padding\n */\n:host {\n --hide-duration: var(--six-transition-medium);\n --hide-timing-function: ease;\n --show-duration: var(--six-transition-medium);\n --show-timing-function: ease;\n --horizontal-padding: var(--six-spacing-medium);\n\n font-family: var(--six-font-family);\n display: block;\n}\n\n.details {\n border: solid var(--six-border-width) var(--six-input-border-color);\n border-radius: var(--six-border-radius-medium);\n color: var(--six-details-color);\n overflow-anchor: none;\n font-size: var(--six-input-font-size-medium);\n\n &:hover:not(.details--disabled):not(.details--open) {\n border-color: var(--six-input-border-color-hover);\n }\n\n &.inline {\n border: none;\n color: var(--six-sidebar-color);\n\n &:hover {\n background-color: var(--six-sidebar-hover-background-color);\n }\n\n &.details--open {\n background-color: var(--six-color-web-rock-50);\n\n &:hover {\n border: none;\n box-shadow: none;\n }\n\n & > .details__header {\n color: var(--six-sidebar-color);\n font-weight: var(--six-font-weight-bold);\n background-color: var(--six-sidebar-header-background-color);\n }\n }\n }\n}\n\n.details--disabled {\n background-color: var(--six-input-background-color-disabled);\n border-color: var(--six-input-border-color-disabled);\n color: var(--six-input-color-disabled);\n}\n\n.details__header {\n display: flex;\n align-items: center;\n border-radius: inherit;\n padding: var(--six-spacing-medium) var(--horizontal-padding);\n user-select: none;\n cursor: pointer;\n\n &:focus {\n outline: none;\n }\n}\n\n.focus-visible .details__header:focus {\n}\n\n.details--disabled .details__header {\n cursor: not-allowed;\n border-width: 1px;\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n}\n\n.details__summary {\n flex: 1 1 auto;\n display: flex;\n align-items: center;\n}\n\n.details__summary-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: 1.2em;\n transition: var(--six-transition-medium) transform ease;\n}\n\n.details--open .details__summary-icon--animate {\n transform: rotate(-180deg);\n}\n\n.details--open:hover {\n color: var(--six-input-color-focus);\n}\n\n.details__body {\n height: 0;\n overflow: hidden;\n transition-property: height;\n transition-duration: var(--hide-duration);\n transition-timing-function: var(--hide-timing-function);\n}\n\n.details--open .details__body {\n transition-duration: var(--show-duration);\n transition-timing-function: var(--show-timing-function);\n}\n\n.details__content {\n padding: var(--six-spacing-medium);\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { focusVisible } from '../../utils/focus-visible';\nimport { EmptyPayload } from '../../utils/types';\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The details' content.\n * @slot summary - The details' summary. Alternatively, you can use the summary prop.\n *\n * @part base - The component's base wrapper.\n * @part header - The summary header.\n * @part summary - The details summary.\n * @part summary-icon - The expand/collapse summary icon.\n * @part content - The details content.\n */\n\n@Component({\n tag: 'six-details',\n styleUrl: 'six-details.scss',\n shadow: true,\n})\nexport class SixDetails {\n @Element() readonly host!: HTMLSixDetailsElement;\n\n @State() animateSummaryIcon = true;\n\n private body?: HTMLElement;\n private details?: HTMLElement;\n private header?: HTMLElement;\n private componentId = `details-${++id}`;\n private isVisible = false;\n\n /** Indicates whether the details is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** The summary to show in the details header. If you need to display HTML, use the `summary` slot instead. */\n @Prop() summary = '';\n\n /** The summary icon to show in the details header. If you need to display HTML, use the `summary-icon` slot instead. */\n @Prop() summaryIcon?: string;\n\n /** The icon's size. */\n @Prop({ reflect: true }) summaryIconSize:\n | 'inherit'\n | 'xSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'xLarge'\n | 'xxLarge'\n | 'xxxLarge' = 'inherit';\n\n /** Set to true to prevent the user from toggling the details. */\n @Prop() disabled = false;\n\n /** Set to true when you want to use six-details inline e.g. in a sidebar */\n @Prop() inline = false;\n\n /** Set to true when you want details without content to be selectable. This is important if you e.g. have a toggled sidebar where some menus have no children */\n @Prop() selectableEmpty = false;\n\n /** Set to false when you want to hide the summary icon and disable the open/close mechanism. Usually not needed, but used internally by 'six-sidebar-item-group' */\n @Prop() hasContent = true;\n\n @Watch('open')\n handleOpenChange() {\n if (this.body != null) {\n this.open ? this.show() : this.hide();\n }\n }\n\n /** Emitted when the details opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-details-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the details opens and all transitions are complete. */\n @Event({ eventName: 'six-details-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the details closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-details-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the details closes and all transitions are complete. */\n @Event({ eventName: 'six-details-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n componentDidLoad() {\n if (this.details == null || this.body == null) return;\n\n focusVisible.observe(this.details);\n this.body.hidden = !this.open;\n\n // Show on init if open\n if (this.open) {\n this.show();\n }\n }\n\n disconnectedCallback() {\n if (this.details != null) {\n focusVisible.unobserve(this.details);\n }\n }\n\n /** Shows the detail body */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible || this.body == null) return;\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.body.hidden = false;\n\n if (this.body.scrollHeight === 0) {\n // When the scroll height can't be measured, use auto. This prevents a borked open state when the details is open\n // initially, but not immediately visible (i.e. in a tab panel).\n this.body.style.height = 'auto';\n this.body.style.overflow = 'visible';\n } else {\n this.body.style.height = `${this.body.scrollHeight}px`;\n this.body.style.overflow = 'hidden';\n }\n this.isVisible = true;\n this.open = true;\n }\n\n /** Hides the detail body */\n @Method()\n async hide() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible || this.body == null) return;\n const body = this.body;\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n // We can't transition out of `height: auto`, so let's set it to the current height first\n body.style.height = `${body.scrollHeight}px`;\n body.style.overflow = 'hidden';\n\n requestAnimationFrame(() => {\n // tslint:disable-next-line: no-unused-expression\n body.clientWidth; // force a reflow\n body.style.height = '0';\n });\n\n this.isVisible = false;\n this.open = false;\n }\n\n private handleBodyTransitionEnd = (event: TransitionEvent) => {\n if (this.body == null) return;\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.propertyName === 'height' && target.classList.contains('details__body')) {\n this.body.style.overflow = this.open ? 'visible' : 'hidden';\n this.body.style.height = this.open ? 'auto' : '0';\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n this.body.hidden = !this.open;\n }\n };\n\n private handleSummaryClick = () => {\n if (!this.disabled && (this.hasContent || this.selectableEmpty)) {\n this.open ? this.hide() : this.show();\n this.header?.focus();\n }\n };\n\n private handleSummaryKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.open ? this.hide() : this.show();\n }\n\n if (event.key === 'ArrowUp' || event.key === 'ArrowLeft') {\n event.preventDefault();\n this.hide();\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowRight') {\n event.preventDefault();\n this.show();\n }\n };\n\n render() {\n const summaryIcon = this.hasContent && (this.summaryIcon || 'expand_more');\n\n return (\n <div\n ref={(el) => (this.details = el)}\n part=\"base\"\n class={{\n details: true,\n 'details--open': this.open,\n 'details--disabled': this.disabled,\n inline: this.inline,\n }}\n >\n <header\n ref={(el) => (this.header = el)}\n part=\"header\"\n id={`${this.componentId}-header`}\n class=\"details__header\"\n role=\"button\"\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls={`${this.componentId}-content`}\n aria-disabled={this.disabled ? 'true' : 'false'}\n tabIndex={this.disabled ? -1 : 0}\n onClick={this.handleSummaryClick}\n onKeyDown={this.handleSummaryKeyDown}\n >\n <div part=\"summary\" class=\"details__summary\">\n <slot name=\"summary\">{this.summary}</slot>\n </div>\n\n <span\n part=\"summary-icon\"\n class={{\n 'details__summary-icon': true,\n 'details__summary-icon--animate': this.animateSummaryIcon,\n }}\n >\n <slot name=\"summary-icon\" onSlotchange={() => (this.animateSummaryIcon = false)}>\n {summaryIcon && <six-icon size={this.summaryIconSize}>{summaryIcon}</six-icon>}\n </slot>\n </span>\n </header>\n\n <div ref={(el) => (this.body = el)} class=\"details__body\" onTransitionEnd={this.handleBodyTransitionEnd}>\n <div\n part=\"content\"\n id={`${this.componentId}-content`}\n class=\"details__content\"\n role=\"region\"\n aria-labelledby={`${this.componentId}-header`}\n >\n <slot />\n </div>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-details.entry.cjs.js","mappings":"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","names":["focusVisible","h"],"sources":["src/components/six-details/six-details.scss?tag=six-details&encapsulation=shadow","src/components/six-details/six-details.tsx"],"sourcesContent":["@import 'src/global/component';\n\n/**\n * @prop --hide-duration: The length of the hide transition.\n * @prop --hide-timing-function: The timing function (easing) to use for the hide transition.\n * @prop --show-duration: The length of the show transition.\n * @prop --show-timing-function: The timing function (easing) to use for the show transition.\n * @prop --horizontal-padding: The horizontal padding\n */\n:host {\n --hide-duration: var(--six-transition-medium);\n --hide-timing-function: ease;\n --show-duration: var(--six-transition-medium);\n --show-timing-function: ease;\n --horizontal-padding: var(--six-spacing-medium);\n\n font-family: var(--six-font-family);\n display: block;\n}\n\n.details {\n border: solid var(--six-border-width) var(--six-input-border-color);\n border-radius: var(--six-border-radius-medium);\n color: var(--six-details-color);\n overflow-anchor: none;\n font-size: var(--six-input-font-size-medium);\n\n &:hover:not(.details--disabled):not(.details--open) {\n border-color: var(--six-input-border-color-hover);\n }\n\n &.inline {\n border: none;\n color: var(--six-sidebar-color);\n\n &:hover {\n background-color: var(--six-sidebar-hover-background-color);\n }\n\n &.details--open {\n background-color: var(--six-color-web-rock-50);\n\n &:hover {\n border: none;\n box-shadow: none;\n }\n\n & > .details__header {\n color: var(--six-sidebar-color);\n font-weight: var(--six-font-weight-bold);\n background-color: var(--six-sidebar-header-background-color);\n }\n }\n }\n}\n\n.details--disabled {\n background-color: var(--six-input-background-color-disabled);\n border-color: var(--six-input-border-color-disabled);\n color: var(--six-input-color-disabled);\n}\n\n.details__header {\n display: flex;\n align-items: center;\n border-radius: inherit;\n padding: var(--six-spacing-medium) var(--horizontal-padding);\n user-select: none;\n cursor: pointer;\n\n &:focus {\n outline: none;\n }\n}\n\n.focus-visible .details__header:focus {\n}\n\n.details--disabled .details__header {\n cursor: not-allowed;\n border-width: 1px;\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n}\n\n.details__summary {\n flex: 1 1 auto;\n display: flex;\n align-items: center;\n}\n\n.details__summary-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: 1.2em;\n transition: var(--six-transition-medium) transform ease;\n}\n\n.details--open .details__summary-icon--animate {\n transform: rotate(-180deg);\n}\n\n.details__body {\n height: 0;\n overflow: hidden;\n transition-property: height;\n transition-duration: var(--hide-duration);\n transition-timing-function: var(--hide-timing-function);\n}\n\n.details--open .details__body {\n transition-duration: var(--show-duration);\n transition-timing-function: var(--show-timing-function);\n}\n\n.details__content {\n padding: var(--six-spacing-medium);\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { focusVisible } from '../../utils/focus-visible';\nimport { EmptyPayload } from '../../utils/types';\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The details' content.\n * @slot summary - The details' summary. Alternatively, you can use the summary prop.\n *\n * @part base - The component's base wrapper.\n * @part header - The summary header.\n * @part summary - The details summary.\n * @part summary-icon - The expand/collapse summary icon.\n * @part content - The details content.\n */\n\n@Component({\n tag: 'six-details',\n styleUrl: 'six-details.scss',\n shadow: true,\n})\nexport class SixDetails {\n @Element() readonly host!: HTMLSixDetailsElement;\n\n @State() animateSummaryIcon = true;\n\n private body?: HTMLElement;\n private details?: HTMLElement;\n private header?: HTMLElement;\n private componentId = `details-${++id}`;\n private isVisible = false;\n\n /** Indicates whether the details is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** The summary to show in the details header. If you need to display HTML, use the `summary` slot instead. */\n @Prop() summary = '';\n\n /** The summary icon to show in the details header. If you need to display HTML, use the `summary-icon` slot instead. */\n @Prop() summaryIcon?: string;\n\n /** The icon's size. */\n @Prop({ reflect: true }) summaryIconSize:\n | 'inherit'\n | 'xSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'xLarge'\n | 'xxLarge'\n | 'xxxLarge' = 'inherit';\n\n /** Set to true to prevent the user from toggling the details. */\n @Prop() disabled = false;\n\n /** Set to true when you want to use six-details inline e.g. in a sidebar */\n @Prop() inline = false;\n\n /** Set to true when you want details without content to be selectable. This is important if you e.g. have a toggled sidebar where some menus have no children */\n @Prop() selectableEmpty = false;\n\n /** Set to false when you want to hide the summary icon and disable the open/close mechanism. Usually not needed, but used internally by 'six-sidebar-item-group' */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop() hasContent = true;\n\n @Watch('open')\n handleOpenChange() {\n if (this.body != null) {\n this.open ? this.show() : this.hide();\n }\n }\n\n /** Emitted when the details opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-details-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the details opens and all transitions are complete. */\n @Event({ eventName: 'six-details-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the details closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-details-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the details closes and all transitions are complete. */\n @Event({ eventName: 'six-details-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n componentDidLoad() {\n if (this.details == null || this.body == null) return;\n\n focusVisible.observe(this.details);\n this.body.hidden = !this.open;\n\n // Show on init if open\n if (this.open) {\n this.show();\n }\n }\n\n disconnectedCallback() {\n if (this.details != null) {\n focusVisible.unobserve(this.details);\n }\n }\n\n /** Shows the detail body */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible || this.body == null) return;\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.body.hidden = false;\n\n if (this.body.scrollHeight === 0) {\n // When the scroll height can't be measured, use auto. This prevents a borked open state when the details is open\n // initially, but not immediately visible (i.e. in a tab panel).\n this.body.style.height = 'auto';\n this.body.style.overflow = 'visible';\n } else {\n this.body.style.height = `${this.body.scrollHeight}px`;\n this.body.style.overflow = 'hidden';\n }\n this.isVisible = true;\n this.open = true;\n }\n\n /** Hides the detail body */\n @Method()\n async hide() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible || this.body == null) return;\n const body = this.body;\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n // We can't transition out of `height: auto`, so let's set it to the current height first\n body.style.height = `${body.scrollHeight}px`;\n body.style.overflow = 'hidden';\n\n requestAnimationFrame(() => {\n // tslint:disable-next-line: no-unused-expression\n body.clientWidth; // force a reflow\n body.style.height = '0';\n });\n\n this.isVisible = false;\n this.open = false;\n }\n\n private handleBodyTransitionEnd = (event: TransitionEvent) => {\n if (this.body == null) return;\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.propertyName === 'height' && target.classList.contains('details__body')) {\n this.body.style.overflow = this.open ? 'visible' : 'hidden';\n this.body.style.height = this.open ? 'auto' : '0';\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n this.body.hidden = !this.open;\n }\n };\n\n private handleSummaryClick = () => {\n if (!this.disabled && (this.hasContent || this.selectableEmpty)) {\n this.open ? this.hide() : this.show();\n this.header?.focus();\n }\n };\n\n private handleSummaryKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.open ? this.hide() : this.show();\n }\n\n if (event.key === 'ArrowUp' || event.key === 'ArrowLeft') {\n event.preventDefault();\n this.hide();\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowRight') {\n event.preventDefault();\n this.show();\n }\n };\n\n render() {\n const summaryIcon = this.hasContent && (this.summaryIcon || 'expand_more');\n\n return (\n <div\n ref={(el) => (this.details = el)}\n part=\"base\"\n class={{\n details: true,\n 'details--open': this.open,\n 'details--disabled': this.disabled,\n inline: this.inline,\n }}\n >\n <header\n ref={(el) => (this.header = el)}\n part=\"header\"\n id={`${this.componentId}-header`}\n class=\"details__header\"\n role=\"button\"\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls={`${this.componentId}-content`}\n aria-disabled={this.disabled ? 'true' : 'false'}\n tabIndex={this.disabled ? -1 : 0}\n onClick={this.handleSummaryClick}\n onKeyDown={this.handleSummaryKeyDown}\n >\n <div part=\"summary\" class=\"details__summary\">\n <slot name=\"summary\">{this.summary}</slot>\n </div>\n\n <span\n part=\"summary-icon\"\n class={{\n 'details__summary-icon': true,\n 'details__summary-icon--animate': this.animateSummaryIcon,\n }}\n >\n <slot name=\"summary-icon\" onSlotchange={() => (this.animateSummaryIcon = false)}>\n {summaryIcon && <six-icon size={this.summaryIconSize}>{summaryIcon}</six-icon>}\n </slot>\n </span>\n </header>\n\n <div ref={(el) => (this.body = el)} class=\"details__body\" onTransitionEnd={this.handleBodyTransitionEnd}>\n <div\n part=\"content\"\n id={`${this.componentId}-content`}\n class=\"details__content\"\n role=\"region\"\n aria-labelledby={`${this.componentId}-header`}\n >\n <slot />\n </div>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -2,14 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3baddcdc.js');
5
+ const index = require('./index-1f707a55.js');
6
6
  const scroll = require('./scroll-68033901.js');
7
- const slot = require('./slot-9821749e.js');
8
- const modal = require('./modal-3ce015be.js');
7
+ const slot = require('./slot-1b1232a1.js');
8
+ const modal = require('./modal-bd7fc5bc.js');
9
9
 
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}";
10
+ const sixDialogCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}: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-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
+ const SixDialogStyle0 = sixDialogCss;
11
12
 
12
- const hasPreventScroll = modal.isPreventScrollSupported();
13
13
  let id = 0;
14
14
  const SixDialog = class {
15
15
  constructor(hostRef) {
@@ -66,6 +66,8 @@ const SixDialog = class {
66
66
  }
67
67
  componentWillLoad() {
68
68
  this.handleSlotChange();
69
+ }
70
+ componentDidLoad() {
69
71
  // Show on init if open
70
72
  if (this.open) {
71
73
  this.show();
@@ -91,30 +93,12 @@ const SixDialog = class {
91
93
  this.modal.activate();
92
94
  scroll.lockBodyScrolling(this.host);
93
95
  if (this.open) {
94
- if (hasPreventScroll) {
95
- // Wait for the next frame before setting initial focus so the dialog is technically visible
96
- requestAnimationFrame(() => {
97
- const sixInitialFocus = this.sixInitialFocus.emit();
98
- if (!sixInitialFocus.defaultPrevented) {
99
- panel.focus({ preventScroll: true });
100
- }
101
- });
102
- }
103
- else {
104
- // Once Safari supports { preventScroll: true } we can remove this nasty little hack, but until then we need to
105
- // wait for the transition to complete before setting focus, otherwise the panel may render in a buggy way its
106
- // out of view initially.
107
- //
108
- // Fiddle: https://jsfiddle.net/g6buoafq/1/
109
- // Safari: https://bugs.webkit.org/show_bug.cgi?id=178583
110
- //
111
- this.dialog.addEventListener('transitionend', () => {
112
- const sixInitialFocus = this.sixInitialFocus.emit();
113
- if (!sixInitialFocus.defaultPrevented) {
114
- panel.focus();
115
- }
116
- }, { once: true });
117
- }
96
+ requestAnimationFrame(() => {
97
+ const sixInitialFocus = this.sixInitialFocus.emit();
98
+ if (!sixInitialFocus.defaultPrevented) {
99
+ panel.focus({ preventScroll: true });
100
+ }
101
+ });
118
102
  }
119
103
  }
120
104
  /** Hides the dialog */
@@ -133,19 +117,19 @@ const SixDialog = class {
133
117
  scroll.unlockBodyScrolling(this.host);
134
118
  }
135
119
  render() {
136
- return (index.h("div", { ref: (el) => (this.dialog = el), part: "base", class: {
120
+ return (index.h("div", { key: 'a296b25173faa0d4570673307476f19457803b4a', ref: (el) => (this.dialog = el), part: "base", class: {
137
121
  dialog: true,
138
122
  'dialog--open': this.open,
139
123
  'dialog--visible': this.isVisible,
140
124
  'dialog--has-footer': this.hasFooter,
141
- }, 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 })))));
125
+ }, onKeyDown: this.handleKeyDown, onTransitionEnd: this.handleTransitionEnd }, index.h("div", { key: 'f2a1cf3398fdf89247e6437785225ceccaa56710', part: "overlay", class: "dialog__overlay", onClick: this.handleOverlayClick }), index.h("div", { key: 'cac00fcc56a2b11147a133a188e77b381429c519', 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", { key: '45b0a5f97bac8ed08877780dbe944b6cc306159e', part: "body", class: "dialog__body" }, index.h("slot", { key: '299de573193e389abf04d3ecdaa94e8af8b62131' })), index.h("footer", { key: 'b80b726e690f443461a368251ef6827f261e5d86', part: "footer", class: "dialog__footer" }, index.h("slot", { key: '05bc0252b546c1cf77edce28632b19bddf8086c9', name: "footer", onSlotchange: this.handleSlotChange })))));
142
126
  }
143
127
  get host() { return index.getElement(this); }
144
128
  static get watchers() { return {
145
129
  "open": ["handleOpenChange"]
146
130
  }; }
147
131
  };
148
- SixDialog.style = sixDialogCss;
132
+ SixDialog.style = SixDialogStyle0;
149
133
 
150
134
  exports.six_dialog = SixDialog;
151
135
 
@@ -1 +1 @@
1
- {"file":"six-dialog.entry.cjs.js","mappings":"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","names":["isPreventScrollSupported","hasSlot","Modal","unlockBodyScrolling","lockBodyScrolling","h"],"sources":["src/components/six-dialog/six-dialog.scss?tag=six-dialog&encapsulation=shadow","src/components/six-dialog/six-dialog.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --width: The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.\n */\n:host {\n --width: 31rem;\n\n display: contents;\n}\n\n.dialog {\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: var(--six-z-index-dialog);\n color: var(--six-color-web-rock-900);\n\n &:not(.dialog--visible) {\n @include hidden;\n }\n}\n\n.dialog__panel {\n display: flex;\n flex-direction: column;\n z-index: 2;\n width: var(--width);\n max-width: calc(100% - var(--six-spacing-xx-large));\n max-height: calc(100% - var(--six-spacing-xx-large));\n background-color: var(--six-panel-background-color);\n border-radius: var(--six-border-radius-medium);\n box-shadow: var(--six-shadow-x-large);\n opacity: 0;\n transform: scale(0.8);\n transition: var(--six-transition-medium) opacity, var(--six-transition-medium) transform;\n\n &:focus {\n outline: none;\n }\n}\n\n// Ensure there's enough vertical padding for phones that don't update vh when chrome appears (e.g. iPhone)\n@media screen and (max-width: 420px) {\n .dialog__panel {\n max-height: 80vh;\n }\n}\n\n.dialog--open .dialog__panel {\n display: flex;\n opacity: 1;\n transform: none;\n}\n\n.dialog__header {\n flex: 0 0 auto;\n display: flex;\n}\n\n.dialog__title {\n flex: 1 1 auto;\n font-size: var(--six-font-size-x-large);\n font-weight: var(--six-font-weight-bold);\n line-height: var(--six-line-height-dense);\n padding: var(--six-spacing-large) var(--six-spacing-large) var(--six-spacing-small);\n}\n\n.dialog__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-x-large);\n padding: 0 var(--six-spacing-x-small);\n}\n\n.dialog__body {\n flex: 1 1 auto;\n padding: var(--six-spacing-small) var(--six-spacing-large) var(--six-spacing-large);\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.dialog__footer {\n flex: 0 0 auto;\n text-align: right;\n padding: var(--six-spacing-large);\n\n ::slotted(six-button:not(:first-of-type)) {\n margin-left: var(--six-spacing-xx-small);\n }\n}\n\n.dialog:not(.dialog--has-footer) .dialog__footer {\n display: none;\n}\n\n.dialog__overlay {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--six-overlay-background-color);\n opacity: 0;\n transition: var(--six-transition-medium) opacity;\n}\n\n.dialog--open .dialog__overlay {\n opacity: 0.8;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport { hasSlot } from '../../utils/slot';\nimport { isPreventScrollSupported } from '../../utils/support';\nimport Modal from '../../utils/modal';\nimport { EmptyPayload } from '../../utils/types';\n\nconst hasPreventScroll = isPreventScrollSupported();\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The dialog's content.\n * @slot label - The dialog's label. Alternatively, you can use the label prop.\n * @slot footer - The dialog's footer, usually one or more buttons representing various options.\n *\n * @part base - The component's base wrapper.\n * @part overlay - The overlay.\n * @part panel - The dialog panel (where the dialog and its content is rendered).\n * @part header - The dialog header.\n * @part title - The dialog title.\n * @part close-button - The close button.\n * @part body - The dialog body.\n * @part footer - The dialog footer.\n *\n */\n@Component({\n tag: 'six-dialog',\n styleUrl: 'six-dialog.scss',\n shadow: true,\n})\nexport class SixDialog {\n private componentId = `dialog-${++id}`;\n private dialog?: HTMLElement;\n private modal?: Modal;\n private panel?: HTMLElement;\n private willShow = false;\n private willHide = false;\n\n @Element() host!: HTMLSixDialogElement;\n\n @State() hasFooter = false;\n @State() isVisible = false;\n\n /** Indicates whether the dialog is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /**\n * The dialog's label as displayed in the header. You should always include a relevant label even when using\n * `no-header`, as it is required for proper accessibility.\n */\n @Prop() label = '';\n\n /**\n * Set to true to disable the header. This will also remove the default close button, so please ensure you provide an\n * easy, accessible way for users to dismiss the dialog.\n */\n @Prop() noHeader = false;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Emitted when the dialog opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-dialog-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dialog opens and all transitions are complete. */\n @Event({ eventName: 'six-dialog-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the dialog closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-dialog-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dialog closes and all transitions are complete. */\n @Event({ eventName: 'six-dialog-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when the dialog opens and the panel gains focus. Calling `event.preventDefault()` will prevent focus and\n * allow you to set it on a different element in the dialog, such as an input or button.\n */\n @Event({ eventName: 'six-dialog-initial-focus' }) sixInitialFocus!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the overlay is clicked. Calling `event.preventDefault()` will prevent the dialog from closing. */\n @Event({ eventName: 'six-dialog-overlay-dismiss' }) sixOverlayDismiss!: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.modal = new Modal(this.host, {\n onFocusOut: () => this.panel?.focus(),\n });\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n\n // Show on init if open\n if (this.open) {\n this.show();\n }\n }\n\n disconnectedCallback() {\n unlockBodyScrolling(this.host);\n }\n\n /** Shows the dialog */\n @Method()\n async show() {\n if (this.willShow || this.modal == null || this.panel == null || this.dialog == null) {\n return;\n }\n const panel = this.panel;\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.willShow = true;\n this.isVisible = true;\n this.open = true;\n this.modal.activate();\n\n lockBodyScrolling(this.host);\n\n if (this.open) {\n if (hasPreventScroll) {\n // Wait for the next frame before setting initial focus so the dialog is technically visible\n requestAnimationFrame(() => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n panel.focus({ preventScroll: true });\n }\n });\n } else {\n // Once Safari supports { preventScroll: true } we can remove this nasty little hack, but until then we need to\n // wait for the transition to complete before setting focus, otherwise the panel may render in a buggy way its\n // out of view initially.\n //\n // Fiddle: https://jsfiddle.net/g6buoafq/1/\n // Safari: https://bugs.webkit.org/show_bug.cgi?id=178583\n //\n this.dialog.addEventListener(\n 'transitionend',\n () => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n panel.focus();\n }\n },\n { once: true }\n );\n }\n }\n }\n\n /** Hides the dialog */\n @Method()\n async hide() {\n if (this.willHide || this.modal == null) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.willHide = true;\n this.open = false;\n this.modal.deactivate();\n\n unlockBodyScrolling(this.host);\n }\n\n private handleCloseClick = () => {\n this.hide();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.hide();\n }\n };\n\n private handleOverlayClick = () => {\n const sixOverlayDismiss = this.sixOverlayDismiss.emit();\n\n if (!sixOverlayDismiss.defaultPrevented) {\n this.hide();\n }\n };\n\n private handleSlotChange = () => {\n this.hasFooter = hasSlot(this.host, 'footer');\n };\n\n private handleTransitionEnd = (event: TransitionEvent) => {\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.propertyName === 'opacity' && target.classList.contains('dialog__panel')) {\n this.isVisible = this.open;\n this.willShow = false;\n this.willHide = false;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n };\n\n render() {\n return (\n <div\n ref={(el) => (this.dialog = el)}\n part=\"base\"\n class={{\n dialog: true,\n 'dialog--open': this.open,\n 'dialog--visible': this.isVisible,\n 'dialog--has-footer': this.hasFooter,\n }}\n onKeyDown={this.handleKeyDown}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <div part=\"overlay\" class=\"dialog__overlay\" onClick={this.handleOverlayClick} />\n\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"dialog__panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-label={this.noHeader ? this.label : null}\n aria-labelledby={!this.noHeader ? `${this.componentId}-title` : null}\n tabIndex={0}\n >\n {!this.noHeader && (\n <header part=\"header\" class=\"dialog__header\">\n <span part=\"title\" class=\"dialog__title\" id={`${this.componentId}-title`}>\n <slot name=\"label\">\n {/* If there's no label, use an invisible character to prevent the heading from collapsing */}\n {this.label || String.fromCharCode(65279)}\n </slot>\n </span>\n <six-icon-button\n exportparts=\"base:close-button\"\n class=\"dialog__close\"\n name=\"close\"\n onClick={this.handleCloseClick}\n />\n </header>\n )}\n\n <div part=\"body\" class=\"dialog__body\">\n <slot />\n </div>\n\n <footer part=\"footer\" class=\"dialog__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </footer>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-dialog.entry.cjs.js","mappings":"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","names":["hasSlot","Modal","unlockBodyScrolling","lockBodyScrolling","h"],"sources":["src/components/six-dialog/six-dialog.scss?tag=six-dialog&encapsulation=shadow","src/components/six-dialog/six-dialog.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --width: The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.\n */\n:host {\n --width: 31rem;\n\n display: contents;\n}\n\n.dialog {\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: var(--six-z-index-dialog);\n color: var(--six-color-web-rock-900);\n\n &:not(.dialog--visible) {\n @include hidden;\n }\n}\n\n.dialog__panel {\n display: flex;\n flex-direction: column;\n z-index: 2;\n width: var(--width);\n max-width: calc(100% - var(--six-spacing-xx-large));\n max-height: calc(100% - var(--six-spacing-xx-large));\n background-color: var(--six-panel-background-color);\n border-radius: var(--six-border-radius-medium);\n box-shadow: var(--six-shadow-large);\n opacity: 0;\n transform: scale(0.8);\n transition: var(--six-transition-medium) opacity, var(--six-transition-medium) transform;\n\n &:focus {\n outline: none;\n }\n}\n\n// Ensure there's enough vertical padding for phones that don't update vh when chrome appears (e.g. iPhone)\n@media screen and (max-width: 420px) {\n .dialog__panel {\n max-height: 80vh;\n }\n}\n\n.dialog--open .dialog__panel {\n display: flex;\n opacity: 1;\n transform: none;\n}\n\n.dialog__header {\n flex: 0 0 auto;\n display: flex;\n}\n\n.dialog__title {\n flex: 1 1 auto;\n font-size: var(--six-font-size-x-large);\n font-weight: var(--six-font-weight-bold);\n line-height: var(--six-line-height-dense);\n padding: var(--six-spacing-large) var(--six-spacing-large) var(--six-spacing-small);\n}\n\n.dialog__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-x-large);\n padding: 0 var(--six-spacing-x-small);\n}\n\n.dialog__body {\n flex: 1 1 auto;\n padding: var(--six-spacing-small) var(--six-spacing-large) var(--six-spacing-large);\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.dialog__footer {\n flex: 0 0 auto;\n text-align: right;\n padding: var(--six-spacing-large);\n\n ::slotted(six-button:not(:first-of-type)) {\n margin-left: var(--six-spacing-xx-small);\n }\n}\n\n.dialog:not(.dialog--has-footer) .dialog__footer {\n display: none;\n}\n\n.dialog__overlay {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--six-overlay-background-color);\n opacity: 0;\n transition: var(--six-transition-medium) opacity;\n}\n\n.dialog--open .dialog__overlay {\n opacity: 0.8;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport { hasSlot } from '../../utils/slot';\nimport Modal from '../../utils/modal';\nimport { EmptyPayload } from '../../utils/types';\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The 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\n componentDidLoad() {\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 requestAnimationFrame(() => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n panel.focus({ preventScroll: true });\n }\n });\n }\n }\n\n /** Hides the dialog */\n @Method()\n async hide() {\n if (this.willHide || this.modal == null) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.willHide = true;\n this.open = false;\n this.modal.deactivate();\n\n unlockBodyScrolling(this.host);\n }\n\n private handleCloseClick = () => {\n this.hide();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.hide();\n }\n };\n\n private handleOverlayClick = () => {\n const sixOverlayDismiss = this.sixOverlayDismiss.emit();\n\n if (!sixOverlayDismiss.defaultPrevented) {\n this.hide();\n }\n };\n\n private handleSlotChange = () => {\n this.hasFooter = hasSlot(this.host, 'footer');\n };\n\n private handleTransitionEnd = (event: TransitionEvent) => {\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.propertyName === 'opacity' && target.classList.contains('dialog__panel')) {\n this.isVisible = this.open;\n this.willShow = false;\n this.willHide = false;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n };\n\n render() {\n return (\n <div\n ref={(el) => (this.dialog = el)}\n part=\"base\"\n class={{\n dialog: true,\n 'dialog--open': this.open,\n 'dialog--visible': this.isVisible,\n 'dialog--has-footer': this.hasFooter,\n }}\n onKeyDown={this.handleKeyDown}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <div part=\"overlay\" class=\"dialog__overlay\" onClick={this.handleOverlayClick} />\n\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"dialog__panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-label={this.noHeader ? this.label : null}\n aria-labelledby={!this.noHeader ? `${this.componentId}-title` : null}\n tabIndex={0}\n >\n {!this.noHeader && (\n <header part=\"header\" class=\"dialog__header\">\n <span part=\"title\" class=\"dialog__title\" id={`${this.componentId}-title`}>\n <slot name=\"label\">\n {/* If there's no label, use an invisible character to prevent the heading from collapsing */}\n {this.label || String.fromCharCode(65279)}\n </slot>\n </span>\n <six-icon-button\n exportparts=\"base:close-button\"\n class=\"dialog__close\"\n name=\"close\"\n onClick={this.handleCloseClick}\n />\n </header>\n )}\n\n <div part=\"body\" class=\"dialog__body\">\n <slot />\n </div>\n\n <footer part=\"footer\" class=\"dialog__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </footer>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -2,14 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3baddcdc.js');
5
+ const index = require('./index-1f707a55.js');
6
6
  const scroll = require('./scroll-68033901.js');
7
- const slot = require('./slot-9821749e.js');
8
- const modal = require('./modal-3ce015be.js');
7
+ const slot = require('./slot-1b1232a1.js');
8
+ const modal = require('./modal-bd7fc5bc.js');
9
9
 
10
- const sixDrawerCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--size:25rem;display:contents}.drawer{top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.drawer:not(.drawer--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.drawer--contained{position:absolute;z-index:initial}.drawer--fixed{position:fixed;z-index:var(--six-z-index-drawer)}.drawer__panel{position:absolute;display:flex;flex-direction:column;z-index:2;max-width:100%;max-height:100%;background-color:var(--six-drawer-background-color);color:var(--six-drawer-color);box-shadow:var(--six-shadow-x-large);transition:var(--six-transition-medium) transform;overflow:auto;pointer-events:all}.drawer__panel:focus{outline:none}.drawer--top .drawer__panel{top:0;right:auto;bottom:auto;left:0;width:100%;height:var(--size);transform:translate(0, -100%)}.drawer--right .drawer__panel{top:0;right:0;bottom:auto;left:auto;width:var(--size);height:100%;transform:translate(100%, 0)}.drawer--bottom .drawer__panel{top:auto;right:auto;bottom:0;left:0;width:100%;height:var(--size);transform:translate(0, 100%)}.drawer--left .drawer__panel{top:0;right:auto;bottom:auto;left:0;width:var(--size);height:100%;transform:translate(-100%, 0)}.drawer--open .drawer__panel{transform:none}.drawer__header{display:flex}.drawer__title{flex:1 1 auto;font-size:var(--six-font-size-large);line-height:var(--six-line-height-dense);padding:var(--six-spacing-large)}.drawer__close{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-x-large);padding:0 var(--six-spacing-large)}.drawer__body{flex:1 1 auto;padding:var(--six-spacing-large);overflow:auto;-webkit-overflow-scrolling:touch}.drawer__footer{text-align:right;padding:var(--six-spacing-large)}.drawer__footer ::slotted(six-button:not(:last-of-type)){margin-right:var(--six-spacing-x-small)}.drawer:not(.drawer--has-footer) .drawer__footer{display:none}.drawer__overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--six-overlay-background-color);opacity:0;transition:var(--six-transition-medium) opacity;pointer-events:all}.drawer--contained .drawer__overlay{position:absolute}.drawer--open .drawer__overlay{opacity:0.4}";
10
+ const sixDrawerCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{--size:25rem;display:contents}.drawer{top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.drawer:not(.drawer--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.drawer--contained{position:absolute;z-index:initial}.drawer--fixed{position:fixed;z-index:var(--six-z-index-drawer)}.drawer__panel{position:absolute;display:flex;flex-direction:column;z-index:2;max-width:100%;max-height:100%;background-color:var(--six-drawer-background-color);color:var(--six-drawer-color);box-shadow:var(--six-shadow-large);transition:var(--six-transition-medium) transform;overflow:auto;pointer-events:all}.drawer__panel:focus{outline:none}.drawer--top .drawer__panel{top:0;right:auto;bottom:auto;left:0;width:100%;height:var(--size);transform:translate(0, -100%)}.drawer--right .drawer__panel{top:0;right:0;bottom:auto;left:auto;width:var(--size);height:100%;transform:translate(100%, 0)}.drawer--bottom .drawer__panel{top:auto;right:auto;bottom:0;left:0;width:100%;height:var(--size);transform:translate(0, 100%)}.drawer--left .drawer__panel{top:0;right:auto;bottom:auto;left:0;width:var(--size);height:100%;transform:translate(-100%, 0)}.drawer--open .drawer__panel{transform:none}.drawer__header{display:flex}.drawer__title{flex:1 1 auto;font-size:var(--six-font-size-large);line-height:var(--six-line-height-dense);padding:var(--six-spacing-large)}.drawer__close{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-x-large);padding:0 var(--six-spacing-large)}.drawer__body{flex:1 1 auto;padding:var(--six-spacing-large);overflow:auto;-webkit-overflow-scrolling:touch}.drawer__footer{text-align:right;padding:var(--six-spacing-large)}.drawer__footer ::slotted(six-button:not(:last-of-type)){margin-right:var(--six-spacing-x-small)}.drawer:not(.drawer--has-footer) .drawer__footer{display:none}.drawer__overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--six-overlay-background-color);opacity:0;transition:var(--six-transition-medium) opacity;pointer-events:all}.drawer--contained .drawer__overlay{position:absolute}.drawer--open .drawer__overlay{opacity:0.4}";
11
+ const SixDrawerStyle0 = sixDrawerCss;
11
12
 
12
- const hasPreventScroll = modal.isPreventScrollSupported();
13
13
  let id = 0;
14
14
  const SixDrawer = class {
15
15
  constructor(hostRef) {
@@ -96,30 +96,13 @@ const SixDrawer = class {
96
96
  scroll.lockBodyScrolling(this.host);
97
97
  }
98
98
  if (this.open) {
99
- if (hasPreventScroll) {
100
- // Wait for the next frame before setting initial focus so the dialog is technically visible
101
- requestAnimationFrame(() => {
102
- const sixInitialFocus = this.sixInitialFocus.emit();
103
- if (!sixInitialFocus.defaultPrevented) {
104
- panel.focus({ preventScroll: true });
105
- }
106
- });
107
- }
108
- else {
109
- // Once Safari supports { preventScroll: true } we can remove this nasty little hack, but until then we need to
110
- // wait for the transition to complete before setting focus, otherwise the panel may render in a buggy way its
111
- // out of view initially.
112
- //
113
- // Fiddle: https://jsfiddle.net/g6buoafq/1/
114
- // Safari: https://bugs.webkit.org/show_bug.cgi?id=178583
115
- //
116
- this.drawer.addEventListener('transitionend', () => {
117
- const sixInitialFocus = this.sixInitialFocus.emit();
118
- if (!sixInitialFocus.defaultPrevented) {
119
- panel.focus();
120
- }
121
- }, { once: true });
122
- }
99
+ // Wait for the next frame before setting initial focus so the dialog is technically visible
100
+ requestAnimationFrame(() => {
101
+ const sixInitialFocus = this.sixInitialFocus.emit();
102
+ if (!sixInitialFocus.defaultPrevented) {
103
+ panel.focus({ preventScroll: true });
104
+ }
105
+ });
123
106
  }
124
107
  }
125
108
  /** Hides the drawer */
@@ -144,7 +127,7 @@ const SixDrawer = class {
144
127
  this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();
145
128
  }
146
129
  render() {
147
- return (index.h("div", { ref: (el) => (this.drawer = el), part: "base", class: {
130
+ return (index.h("div", { key: '764586f5b8502e4eabe27c78bc416a9b72425ab4', ref: (el) => (this.drawer = el), part: "base", class: {
148
131
  drawer: true,
149
132
  'drawer--open': this.open,
150
133
  'drawer--visible': this.isVisible,
@@ -155,14 +138,14 @@ const SixDrawer = class {
155
138
  'drawer--contained': this.contained,
156
139
  'drawer--fixed': !this.contained,
157
140
  'drawer--has-footer': this.hasFooter,
158
- }, onKeyDown: this.handleKeyDown, onTransitionEnd: this.handleTransitionEnd }, index.h("div", { part: "overlay", class: "drawer__overlay", onClick: this.handleOverlayClick, tabIndex: -1 }), index.h("div", { ref: (el) => (this.panel = el), part: "panel", class: "drawer__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: "drawer__header" }, index.h("span", { part: "title", class: "drawer__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: "drawer__close", name: "close", onClick: this.handleCloseClick }))), index.h("div", { part: "body", class: "drawer__body" }, index.h("slot", null)), index.h("footer", { part: "footer", class: "drawer__footer" }, index.h("slot", { name: "footer", onSlotchange: this.handleSlotChange })))));
141
+ }, onKeyDown: this.handleKeyDown, onTransitionEnd: this.handleTransitionEnd }, index.h("div", { key: '4c5a437df38d0228564c2b2aac07b5435d405716', part: "overlay", class: "drawer__overlay", onClick: this.handleOverlayClick, tabIndex: -1 }), index.h("div", { key: '5ce513b508fa8f91b8477af3c3398f4bbf888e02', ref: (el) => (this.panel = el), part: "panel", class: "drawer__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: "drawer__header" }, index.h("span", { part: "title", class: "drawer__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: "drawer__close", name: "close", onClick: this.handleCloseClick }))), index.h("div", { key: 'c06ee09f9fe63ceef10c9d3f2477cdd209debe0a', part: "body", class: "drawer__body" }, index.h("slot", { key: '2d6759dd377e91abeae74b0dea987b870b27c594' })), index.h("footer", { key: '9beb459f0ea560fa519537225ff97af3e0d5aad7', part: "footer", class: "drawer__footer" }, index.h("slot", { key: '1ece0987ef2c655cb3bfeba8dcecd638139f1f67', name: "footer", onSlotchange: this.handleSlotChange })))));
159
142
  }
160
143
  get host() { return index.getElement(this); }
161
144
  static get watchers() { return {
162
145
  "open": ["handleOpenChange"]
163
146
  }; }
164
147
  };
165
- SixDrawer.style = sixDrawerCss;
148
+ SixDrawer.style = SixDrawerStyle0;
166
149
 
167
150
  exports.six_drawer = SixDrawer;
168
151
 
@@ -1 +1 @@
1
- {"file":"six-drawer.entry.cjs.js","mappings":"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","names":["isPreventScrollSupported","hasSlot","Modal","unlockBodyScrolling","lockBodyScrolling","h"],"sources":["src/components/six-drawer/six-drawer.scss?tag=six-drawer&encapsulation=shadow","src/components/six-drawer/six-drawer.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --size: The preferred size of the drawer. This will be applied to the drawer's width or height depending on its\n * `placement`. Note that the drawer will shrink to accommodate smaller screens.\n */\n:host {\n --size: 25rem;\n\n display: contents;\n}\n\n.drawer {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n overflow: hidden;\n\n &:not(.drawer--visible) {\n @include hidden;\n }\n}\n\n.drawer--contained {\n position: absolute;\n z-index: initial;\n}\n\n.drawer--fixed {\n position: fixed;\n z-index: var(--six-z-index-drawer);\n}\n\n.drawer__panel {\n position: absolute;\n display: flex;\n flex-direction: column;\n z-index: 2;\n max-width: 100%;\n max-height: 100%;\n background-color: var(--six-drawer-background-color);\n color: var(--six-drawer-color);\n box-shadow: var(--six-shadow-x-large);\n transition: var(--six-transition-medium) transform;\n overflow: auto;\n pointer-events: all;\n\n &:focus {\n outline: none;\n }\n}\n\n.drawer--top .drawer__panel {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0;\n width: 100%;\n height: var(--size);\n transform: translate(0, -100%);\n}\n\n.drawer--right .drawer__panel {\n top: 0;\n right: 0;\n bottom: auto;\n left: auto;\n width: var(--size);\n height: 100%;\n transform: translate(100%, 0);\n}\n\n.drawer--bottom .drawer__panel {\n top: auto;\n right: auto;\n bottom: 0;\n left: 0;\n width: 100%;\n height: var(--size);\n transform: translate(0, 100%);\n}\n\n.drawer--left .drawer__panel {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0;\n width: var(--size);\n height: 100%;\n transform: translate(-100%, 0);\n}\n\n.drawer--open .drawer__panel {\n // don't use translate here or it will cause problems with popovers inside the drawer e.g. dropdown, select etc.\n transform: none;\n}\n\n.drawer__header {\n display: flex;\n}\n\n.drawer__title {\n flex: 1 1 auto;\n font-size: var(--six-font-size-large);\n line-height: var(--six-line-height-dense);\n padding: var(--six-spacing-large);\n}\n\n.drawer__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-x-large);\n padding: 0 var(--six-spacing-large);\n}\n\n.drawer__body {\n flex: 1 1 auto;\n padding: var(--six-spacing-large);\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.drawer__footer {\n text-align: right;\n padding: var(--six-spacing-large);\n\n ::slotted(six-button:not(:last-of-type)) {\n margin-right: var(--six-spacing-x-small);\n }\n}\n\n.drawer:not(.drawer--has-footer) .drawer__footer {\n display: none;\n}\n\n.drawer__overlay {\n display: block;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--six-overlay-background-color);\n opacity: 0;\n transition: var(--six-transition-medium) opacity;\n pointer-events: all;\n}\n\n.drawer--contained .drawer__overlay {\n position: absolute;\n}\n\n.drawer--open .drawer__overlay {\n opacity: 0.4;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport { hasSlot } from '../../utils/slot';\nimport { isPreventScrollSupported } from '../../utils/support';\nimport Modal from '../../utils/modal';\nimport { EmptyPayload } from '../../utils/types';\n\nconst hasPreventScroll = isPreventScrollSupported();\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=\"close\"\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"],"version":3}
1
+ {"file":"six-drawer.entry.cjs.js","mappings":"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","names":["hasSlot","Modal","unlockBodyScrolling","lockBodyScrolling","h"],"sources":["src/components/six-drawer/six-drawer.scss?tag=six-drawer&encapsulation=shadow","src/components/six-drawer/six-drawer.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --size: The preferred size of the drawer. This will be applied to the drawer's width or height depending on its\n * `placement`. Note that the drawer will shrink to accommodate smaller screens.\n */\n:host {\n --size: 25rem;\n\n display: contents;\n}\n\n.drawer {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n overflow: hidden;\n\n &:not(.drawer--visible) {\n @include hidden;\n }\n}\n\n.drawer--contained {\n position: absolute;\n z-index: initial;\n}\n\n.drawer--fixed {\n position: fixed;\n z-index: var(--six-z-index-drawer);\n}\n\n.drawer__panel {\n position: absolute;\n display: flex;\n flex-direction: column;\n z-index: 2;\n max-width: 100%;\n max-height: 100%;\n background-color: var(--six-drawer-background-color);\n color: var(--six-drawer-color);\n box-shadow: var(--six-shadow-large);\n transition: var(--six-transition-medium) transform;\n overflow: auto;\n pointer-events: all;\n\n &:focus {\n outline: none;\n }\n}\n\n.drawer--top .drawer__panel {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0;\n width: 100%;\n height: var(--size);\n transform: translate(0, -100%);\n}\n\n.drawer--right .drawer__panel {\n top: 0;\n right: 0;\n bottom: auto;\n left: auto;\n width: var(--size);\n height: 100%;\n transform: translate(100%, 0);\n}\n\n.drawer--bottom .drawer__panel {\n top: auto;\n right: auto;\n bottom: 0;\n left: 0;\n width: 100%;\n height: var(--size);\n transform: translate(0, 100%);\n}\n\n.drawer--left .drawer__panel {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0;\n width: var(--size);\n height: 100%;\n transform: translate(-100%, 0);\n}\n\n.drawer--open .drawer__panel {\n // don't use translate here or it will cause problems with popovers inside the drawer e.g. dropdown, select etc.\n transform: none;\n}\n\n.drawer__header {\n display: flex;\n}\n\n.drawer__title {\n flex: 1 1 auto;\n font-size: var(--six-font-size-large);\n line-height: var(--six-line-height-dense);\n padding: var(--six-spacing-large);\n}\n\n.drawer__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-x-large);\n padding: 0 var(--six-spacing-large);\n}\n\n.drawer__body {\n flex: 1 1 auto;\n padding: var(--six-spacing-large);\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.drawer__footer {\n text-align: right;\n padding: var(--six-spacing-large);\n\n ::slotted(six-button:not(:last-of-type)) {\n margin-right: var(--six-spacing-x-small);\n }\n}\n\n.drawer:not(.drawer--has-footer) .drawer__footer {\n display: none;\n}\n\n.drawer__overlay {\n display: block;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--six-overlay-background-color);\n opacity: 0;\n transition: var(--six-transition-medium) opacity;\n pointer-events: all;\n}\n\n.drawer--contained .drawer__overlay {\n position: absolute;\n}\n\n.drawer--open .drawer__overlay {\n opacity: 0.4;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport { hasSlot } from '../../utils/slot';\nimport Modal from '../../utils/modal';\nimport { EmptyPayload } from '../../utils/types';\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The 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 // 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 }\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=\"close\"\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"],"version":3}