@six-group/ui-library 0.0.0-insider.fe4db17 → 0.0.0-insider.fea784d

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 (404) hide show
  1. package/dist/cjs/animation-ZgWV0fC6.js +54 -0
  2. package/dist/cjs/animation-ZgWV0fC6.js.map +1 -0
  3. package/dist/cjs/{form-control-Ditp8yHw.js → form-control-CX8QRq9v.js} +3 -3
  4. package/dist/cjs/{form-control-Ditp8yHw.js.map → form-control-CX8QRq9v.js.map} +1 -1
  5. package/dist/cjs/{index-BKTrCUjx.js → index-C8rK7OAe.js} +3 -3
  6. package/dist/{esm/index-D0Go1Zjj.js.map → cjs/index-C8rK7OAe.js.map} +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/six-alert.cjs.entry.js +1 -1
  9. package/dist/cjs/six-avatar.cjs.entry.js +3 -3
  10. package/dist/cjs/six-badge.cjs.entry.js +3 -3
  11. package/dist/cjs/six-button.cjs.entry.js +3 -3
  12. package/dist/cjs/six-card.cjs.entry.js +2 -2
  13. package/dist/cjs/six-checkbox_2.cjs.entry.js +4 -4
  14. package/dist/cjs/six-date.cjs.entry.js +3 -3
  15. package/dist/cjs/six-datepicker.cjs.entry.js +1 -1
  16. package/dist/cjs/six-details.cjs.entry.js +4 -4
  17. package/dist/cjs/six-dialog.cjs.entry.js +16 -10
  18. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  19. package/dist/cjs/six-dialog.entry.cjs.js.map +1 -1
  20. package/dist/cjs/six-drawer.cjs.entry.js +16 -10
  21. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  22. package/dist/cjs/six-drawer.entry.cjs.js.map +1 -1
  23. package/dist/cjs/six-dropdown_2.cjs.entry.js +8 -8
  24. package/dist/cjs/six-error-page.cjs.entry.js +1 -1
  25. package/dist/cjs/six-error.cjs.entry.js +1 -1
  26. package/dist/cjs/six-file-list-item.cjs.entry.js +3 -3
  27. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  28. package/dist/cjs/six-file-upload.cjs.entry.js +5 -5
  29. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  30. package/dist/cjs/six-group-label.cjs.entry.js +2 -2
  31. package/dist/cjs/six-header-dropdown-item.cjs.entry.js +1 -1
  32. package/dist/cjs/six-header-item.cjs.entry.js +1 -1
  33. package/dist/cjs/six-header-menu-button.cjs.entry.js +1 -1
  34. package/dist/cjs/six-header.cjs.entry.js +1 -1
  35. package/dist/cjs/six-icon-button.cjs.entry.js +1 -1
  36. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  37. package/dist/cjs/six-input.cjs.entry.js +5 -5
  38. package/dist/cjs/six-item-picker.cjs.entry.js +1 -1
  39. package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
  40. package/dist/cjs/six-layout-grid.cjs.entry.js +1 -1
  41. package/dist/cjs/six-logo.cjs.entry.js +1 -1
  42. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  43. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  44. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  45. package/dist/cjs/six-picto.cjs.entry.js +1 -1
  46. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  47. package/dist/cjs/six-progress-ring.cjs.entry.js +1 -1
  48. package/dist/cjs/six-radio.cjs.entry.js +1 -1
  49. package/dist/cjs/six-range.cjs.entry.js +2 -2
  50. package/dist/cjs/six-root.cjs.entry.js +1 -1
  51. package/dist/cjs/six-search-field.cjs.entry.js +2 -2
  52. package/dist/cjs/six-select.cjs.entry.js +8 -8
  53. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +1 -1
  54. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  55. package/dist/cjs/six-sidebar.cjs.entry.js +1 -1
  56. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  57. package/dist/cjs/six-stage-indicator.cjs.entry.js +1 -1
  58. package/dist/cjs/six-switch.cjs.entry.js +2 -2
  59. package/dist/cjs/six-tab-group.cjs.entry.js +5 -38
  60. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-tab-group.entry.cjs.js.map +1 -1
  62. package/dist/cjs/six-tab-panel.cjs.entry.js +1 -1
  63. package/dist/cjs/six-tab.cjs.entry.js +4 -4
  64. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-tab.entry.cjs.js.map +1 -1
  66. package/dist/cjs/six-tag.cjs.entry.js +1 -1
  67. package/dist/cjs/six-textarea.cjs.entry.js +2 -2
  68. package/dist/cjs/six-tile.cjs.entry.js +1 -1
  69. package/dist/cjs/six-timepicker.cjs.entry.js +1 -1
  70. package/dist/cjs/six-tooltip.cjs.entry.js +1 -1
  71. package/dist/cjs/ui-library.cjs.js +2 -2
  72. package/dist/cjs/ui-library.cjs.js.map +1 -1
  73. package/dist/collection/collection-manifest.json +3 -3
  74. package/dist/collection/components/six-avatar/six-avatar.js +2 -2
  75. package/dist/collection/components/six-badge/six-badge.js +2 -2
  76. package/dist/collection/components/six-button/six-button.js +2 -2
  77. package/dist/collection/components/six-card/six-card.js +1 -1
  78. package/dist/collection/components/six-checkbox/six-checkbox.js +2 -2
  79. package/dist/collection/components/six-date/six-date.js +2 -2
  80. package/dist/collection/components/six-details/six-details.js +3 -3
  81. package/dist/collection/components/six-dialog/six-dialog.js +23 -17
  82. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  83. package/dist/collection/components/six-drawer/six-drawer.js +23 -17
  84. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  85. package/dist/collection/components/six-dropdown/six-dropdown.js +5 -5
  86. package/dist/collection/components/six-file-list-item/six-file-list-item.js +2 -2
  87. package/dist/collection/components/six-file-upload/six-file-upload.js +4 -4
  88. package/dist/collection/components/six-input/six-input.js +3 -3
  89. package/dist/collection/components/six-language-switcher/six-language-switcher.js +1 -1
  90. package/dist/collection/components/six-menu/six-menu.js +2 -2
  91. package/dist/collection/components/six-search-field/six-search-field.js +1 -1
  92. package/dist/collection/components/six-select/six-select.js +6 -6
  93. package/dist/collection/components/six-tab/six-tab.css +12 -0
  94. package/dist/collection/components/six-tab/six-tab.js +2 -2
  95. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  96. package/dist/collection/components/six-tab-group/six-tab-group.js +2 -2
  97. package/dist/collection/utils/animation.js +13 -0
  98. package/dist/collection/utils/animation.js.map +1 -1
  99. package/dist/components/index.js +1 -1
  100. package/dist/components/{p-NtUDAuW7.js → p-9aUb96SZ.js} +14 -14
  101. package/dist/components/{p-NtUDAuW7.js.map → p-9aUb96SZ.js.map} +1 -1
  102. package/dist/components/{p-DV46ui1Q.js → p-BB2rei7y.js} +3 -3
  103. package/dist/components/{p-DV46ui1Q.js.map → p-BB2rei7y.js.map} +1 -1
  104. package/dist/components/{p-CpcN3YG9.js → p-BR2t7cws.js} +4 -4
  105. package/dist/components/{p-CpcN3YG9.js.map → p-BR2t7cws.js.map} +1 -1
  106. package/dist/components/{p-Mse5vRUS.js → p-BSHZAiyG.js} +3 -3
  107. package/dist/components/{p-Mse5vRUS.js.map → p-BSHZAiyG.js.map} +1 -1
  108. package/dist/components/{p-Cemjz04k.js → p-BUN8hFmL.js} +6 -6
  109. package/dist/components/{p-Cemjz04k.js.map → p-BUN8hFmL.js.map} +1 -1
  110. package/dist/components/{p-6HRX2kde.js → p-C28WDWgL.js} +6 -6
  111. package/dist/components/{p-6HRX2kde.js.map → p-C28WDWgL.js.map} +1 -1
  112. package/dist/components/{p-BPRt5Z5f.js → p-CSL17OWk.js} +9 -9
  113. package/dist/components/{p-BPRt5Z5f.js.map → p-CSL17OWk.js.map} +1 -1
  114. package/dist/components/{p-Cr6sHYme.js → p-CWKq6Dyt.js} +3 -3
  115. package/dist/components/{p-Cr6sHYme.js.map → p-CWKq6Dyt.js.map} +1 -1
  116. package/dist/components/{p-D45ehsSM.js → p-Cfyrva2T.js} +7 -7
  117. package/dist/components/{p-D45ehsSM.js.map → p-Cfyrva2T.js.map} +1 -1
  118. package/dist/components/{p-eW-dQ-wI.js → p-Cosz73fX.js} +4 -4
  119. package/dist/components/{p-eW-dQ-wI.js.map → p-Cosz73fX.js.map} +1 -1
  120. package/dist/components/{p-DT1sZALq.js → p-Cs1jspzx.js} +7 -7
  121. package/dist/components/{p-DT1sZALq.js.map → p-Cs1jspzx.js.map} +1 -1
  122. package/dist/components/{p-CYrYPnLQ.js → p-Cs6mMfx-.js} +3 -3
  123. package/dist/components/{p-CYrYPnLQ.js.map → p-Cs6mMfx-.js.map} +1 -1
  124. package/dist/components/{p-BtF2Ym6T.js → p-D512q9rn.js} +17 -4
  125. package/dist/components/p-D512q9rn.js.map +1 -0
  126. package/dist/components/{p-BmW8cpEG.js → p-DIkvCBxr.js} +3 -3
  127. package/dist/components/{p-BmW8cpEG.js.map → p-DIkvCBxr.js.map} +1 -1
  128. package/dist/components/{p-DXhOme6Y.js → p-DYlDF9Rw.js} +3 -3
  129. package/dist/components/{p-DXhOme6Y.js.map → p-DYlDF9Rw.js.map} +1 -1
  130. package/dist/components/{p-BkQKlScF.js → p-DnLdSdN5.js} +7 -7
  131. package/dist/components/{p-BkQKlScF.js.map → p-DnLdSdN5.js.map} +1 -1
  132. package/dist/components/{p-Dl9jKaw7.js → p-DsGIkEDB.js} +9 -9
  133. package/dist/components/{p-Dl9jKaw7.js.map → p-DsGIkEDB.js.map} +1 -1
  134. package/dist/components/{p-CLtU4Br-.js → p-DyYwMIDQ.js} +4 -4
  135. package/dist/components/{p-CLtU4Br-.js.map → p-DyYwMIDQ.js.map} +1 -1
  136. package/dist/components/p-SLlDVtvF.js +51 -0
  137. package/dist/components/p-SLlDVtvF.js.map +1 -0
  138. package/dist/components/six-alert.js +3 -3
  139. package/dist/components/six-avatar.js +4 -4
  140. package/dist/components/six-badge.js +3 -3
  141. package/dist/components/six-button.js +1 -1
  142. package/dist/components/six-card.js +2 -2
  143. package/dist/components/six-checkbox.js +1 -1
  144. package/dist/components/six-date.js +7 -7
  145. package/dist/components/six-datepicker.js +6 -6
  146. package/dist/components/six-details.js +1 -1
  147. package/dist/components/six-dialog.js +18 -12
  148. package/dist/components/six-dialog.js.map +1 -1
  149. package/dist/components/six-drawer.js +18 -12
  150. package/dist/components/six-drawer.js.map +1 -1
  151. package/dist/components/six-dropdown.js +1 -1
  152. package/dist/components/six-error-page.js +2 -2
  153. package/dist/components/six-error.js +1 -1
  154. package/dist/components/six-file-list-item.js +4 -4
  155. package/dist/components/six-file-list.js +1 -1
  156. package/dist/components/six-file-upload.js +8 -8
  157. package/dist/components/six-footer.js +1 -1
  158. package/dist/components/six-group-label.js +3 -3
  159. package/dist/components/six-header-dropdown-item.js +8 -8
  160. package/dist/components/six-header-item.js +1 -1
  161. package/dist/components/six-header-menu-button.js +3 -3
  162. package/dist/components/six-header.js +1 -1
  163. package/dist/components/six-icon-button.js +1 -1
  164. package/dist/components/six-icon.js +1 -1
  165. package/dist/components/six-input.js +1 -1
  166. package/dist/components/six-item-picker.js +1 -1
  167. package/dist/components/six-language-switcher.js +2 -2
  168. package/dist/components/six-layout-grid.js +1 -1
  169. package/dist/components/six-logo.js +1 -1
  170. package/dist/components/six-main-container.js +1 -1
  171. package/dist/components/six-menu-divider.js +1 -1
  172. package/dist/components/six-menu-item.js +1 -1
  173. package/dist/components/six-menu-label.js +1 -1
  174. package/dist/components/six-menu.js +1 -1
  175. package/dist/components/six-picto.js +1 -1
  176. package/dist/components/six-progress-bar.js +1 -1
  177. package/dist/components/six-progress-ring.js +1 -1
  178. package/dist/components/six-radio.js +1 -1
  179. package/dist/components/six-range.js +3 -3
  180. package/dist/components/six-root.js +3 -3
  181. package/dist/components/six-search-field.js +5 -5
  182. package/dist/components/six-select.js +18 -18
  183. package/dist/components/six-sidebar-item-group.js +3 -3
  184. package/dist/components/six-sidebar-item.js +2 -2
  185. package/dist/components/six-sidebar.js +1 -1
  186. package/dist/components/six-spinner.js +1 -1
  187. package/dist/components/six-stage-indicator.js +1 -1
  188. package/dist/components/six-switch.js +3 -3
  189. package/dist/components/six-tab-group.js +6 -39
  190. package/dist/components/six-tab-group.js.map +1 -1
  191. package/dist/components/six-tab-panel.js +1 -1
  192. package/dist/components/six-tab.js +6 -6
  193. package/dist/components/six-tab.js.map +1 -1
  194. package/dist/components/six-tag.js +4 -4
  195. package/dist/components/six-textarea.js +3 -3
  196. package/dist/components/six-tile.js +4 -4
  197. package/dist/components/six-timepicker.js +1 -1
  198. package/dist/components/six-tooltip.js +1 -1
  199. package/dist/components.json +1860 -325
  200. package/dist/esm/animation-SLlDVtvF.js +51 -0
  201. package/dist/esm/animation-SLlDVtvF.js.map +1 -0
  202. package/dist/esm/{form-control-D_uS8E6o.js → form-control-DI6V1ZhR.js} +3 -3
  203. package/dist/esm/{form-control-D_uS8E6o.js.map → form-control-DI6V1ZhR.js.map} +1 -1
  204. package/dist/esm/{index-D0Go1Zjj.js → index-JoG9I7EO.js} +3 -3
  205. package/dist/{cjs/index-BKTrCUjx.js.map → esm/index-JoG9I7EO.js.map} +1 -1
  206. package/dist/esm/loader.js +2 -2
  207. package/dist/esm/six-alert.entry.js +1 -1
  208. package/dist/esm/six-avatar.entry.js +3 -3
  209. package/dist/esm/six-badge.entry.js +3 -3
  210. package/dist/esm/six-button.entry.js +3 -3
  211. package/dist/esm/six-card.entry.js +2 -2
  212. package/dist/esm/six-checkbox_2.entry.js +4 -4
  213. package/dist/esm/six-date.entry.js +3 -3
  214. package/dist/esm/six-datepicker.entry.js +1 -1
  215. package/dist/esm/six-details.entry.js +4 -4
  216. package/dist/esm/six-dialog.entry.js +16 -10
  217. package/dist/esm/six-dialog.entry.js.map +1 -1
  218. package/dist/esm/six-drawer.entry.js +16 -10
  219. package/dist/esm/six-drawer.entry.js.map +1 -1
  220. package/dist/esm/six-dropdown_2.entry.js +8 -8
  221. package/dist/esm/six-error-page.entry.js +1 -1
  222. package/dist/esm/six-error.entry.js +1 -1
  223. package/dist/esm/six-file-list-item.entry.js +3 -3
  224. package/dist/esm/six-file-list.entry.js +1 -1
  225. package/dist/esm/six-file-upload.entry.js +5 -5
  226. package/dist/esm/six-footer.entry.js +1 -1
  227. package/dist/esm/six-group-label.entry.js +2 -2
  228. package/dist/esm/six-header-dropdown-item.entry.js +1 -1
  229. package/dist/esm/six-header-item.entry.js +1 -1
  230. package/dist/esm/six-header-menu-button.entry.js +1 -1
  231. package/dist/esm/six-header.entry.js +1 -1
  232. package/dist/esm/six-icon-button.entry.js +1 -1
  233. package/dist/esm/six-icon.entry.js +1 -1
  234. package/dist/esm/six-input.entry.js +5 -5
  235. package/dist/esm/six-item-picker.entry.js +1 -1
  236. package/dist/esm/six-language-switcher.entry.js +2 -2
  237. package/dist/esm/six-layout-grid.entry.js +1 -1
  238. package/dist/esm/six-logo.entry.js +1 -1
  239. package/dist/esm/six-main-container.entry.js +1 -1
  240. package/dist/esm/six-menu-divider.entry.js +1 -1
  241. package/dist/esm/six-menu-label.entry.js +1 -1
  242. package/dist/esm/six-picto.entry.js +1 -1
  243. package/dist/esm/six-progress-bar.entry.js +1 -1
  244. package/dist/esm/six-progress-ring.entry.js +1 -1
  245. package/dist/esm/six-radio.entry.js +1 -1
  246. package/dist/esm/six-range.entry.js +2 -2
  247. package/dist/esm/six-root.entry.js +1 -1
  248. package/dist/esm/six-search-field.entry.js +2 -2
  249. package/dist/esm/six-select.entry.js +8 -8
  250. package/dist/esm/six-sidebar-item-group.entry.js +1 -1
  251. package/dist/esm/six-sidebar-item.entry.js +1 -1
  252. package/dist/esm/six-sidebar.entry.js +1 -1
  253. package/dist/esm/six-spinner.entry.js +1 -1
  254. package/dist/esm/six-stage-indicator.entry.js +1 -1
  255. package/dist/esm/six-switch.entry.js +2 -2
  256. package/dist/esm/six-tab-group.entry.js +4 -37
  257. package/dist/esm/six-tab-group.entry.js.map +1 -1
  258. package/dist/esm/six-tab-panel.entry.js +1 -1
  259. package/dist/esm/six-tab.entry.js +4 -4
  260. package/dist/esm/six-tab.entry.js.map +1 -1
  261. package/dist/esm/six-tag.entry.js +1 -1
  262. package/dist/esm/six-textarea.entry.js +2 -2
  263. package/dist/esm/six-tile.entry.js +1 -1
  264. package/dist/esm/six-timepicker.entry.js +1 -1
  265. package/dist/esm/six-tooltip.entry.js +1 -1
  266. package/dist/esm/ui-library.js +3 -3
  267. package/dist/esm/ui-library.js.map +1 -1
  268. package/dist/types/components/six-dialog/six-dialog.d.ts +10 -2
  269. package/dist/types/components/six-drawer/six-drawer.d.ts +10 -2
  270. package/dist/types/components.d.ts +620 -6
  271. package/dist/types/stencil-public-runtime.d.ts +19 -0
  272. package/dist/types/utils/animation.d.ts +4 -0
  273. package/dist/ui-library/p-01243b2e.entry.js +2 -0
  274. package/dist/ui-library/p-01243b2e.entry.js.map +1 -0
  275. package/dist/ui-library/{p-79a79513.entry.js → p-09de2bda.entry.js} +2 -2
  276. package/dist/ui-library/{p-0ae9215f.entry.js → p-0eb90caf.entry.js} +2 -2
  277. package/dist/ui-library/{p-22ad5b1e.entry.js → p-14f79bfc.entry.js} +2 -2
  278. package/dist/ui-library/{p-baf698e1.entry.js → p-174dd242.entry.js} +2 -2
  279. package/dist/ui-library/{p-a1f7be27.entry.js → p-18e755bc.entry.js} +2 -2
  280. package/dist/ui-library/{p-6990e5ed.entry.js → p-194037e9.entry.js} +2 -2
  281. package/dist/ui-library/{p-81af96f2.entry.js → p-1cfa2df4.entry.js} +2 -2
  282. package/dist/ui-library/{p-e91aa04b.entry.js → p-22ad3353.entry.js} +2 -2
  283. package/dist/ui-library/{p-ba68b30c.entry.js → p-25ff87fe.entry.js} +2 -2
  284. package/dist/ui-library/{p-df05b23b.entry.js → p-285666de.entry.js} +2 -2
  285. package/dist/ui-library/{p-a534a4bc.entry.js → p-29d79fe3.entry.js} +2 -2
  286. package/dist/ui-library/{p-1e4d1252.entry.js → p-2a245a37.entry.js} +2 -2
  287. package/dist/ui-library/{p-f585a5ab.entry.js → p-2a82de6c.entry.js} +2 -2
  288. package/dist/ui-library/{p-5e70085d.entry.js → p-2fb16281.entry.js} +2 -2
  289. package/dist/ui-library/{p-695e450e.entry.js → p-31c5f8fa.entry.js} +2 -2
  290. package/dist/ui-library/{p-1323f2cb.entry.js → p-336610a9.entry.js} +2 -2
  291. package/dist/ui-library/{p-830ed202.entry.js → p-362ff192.entry.js} +2 -2
  292. package/dist/ui-library/{p-36a316e0.entry.js → p-371ef302.entry.js} +2 -2
  293. package/dist/ui-library/p-39109b96.entry.js +2 -0
  294. package/dist/ui-library/p-39109b96.entry.js.map +1 -0
  295. package/dist/ui-library/{p-b8db5638.entry.js → p-3d49deae.entry.js} +2 -2
  296. package/dist/ui-library/{p-5e5bd309.entry.js → p-3dc98466.entry.js} +2 -2
  297. package/dist/ui-library/{p-82f5b61f.entry.js → p-4152b371.entry.js} +2 -2
  298. package/dist/ui-library/{p-6d212bc0.entry.js → p-494546c8.entry.js} +2 -2
  299. package/dist/ui-library/{p-9b1c8a24.entry.js → p-4f52c56f.entry.js} +2 -2
  300. package/dist/ui-library/{p-d7616f27.entry.js → p-54490d28.entry.js} +2 -2
  301. package/dist/ui-library/p-56e172e0.entry.js +2 -0
  302. package/dist/ui-library/p-56e172e0.entry.js.map +1 -0
  303. package/dist/ui-library/{p-8fe7ecdd.entry.js → p-5b52d097.entry.js} +2 -2
  304. package/dist/ui-library/{p-9f0ed997.entry.js → p-65e53a1b.entry.js} +2 -2
  305. package/dist/ui-library/{p-ae8d75aa.entry.js → p-6607d03a.entry.js} +2 -2
  306. package/dist/ui-library/{p-85aacb7c.entry.js → p-6dd3f54c.entry.js} +2 -2
  307. package/dist/ui-library/{p-5ed5842b.entry.js → p-811ce2a0.entry.js} +2 -2
  308. package/dist/ui-library/p-83d5fa7c.entry.js +2 -0
  309. package/dist/ui-library/p-83d5fa7c.entry.js.map +1 -0
  310. package/dist/ui-library/{p-4a4a0751.entry.js → p-850aff56.entry.js} +2 -2
  311. package/dist/ui-library/{p-01306147.entry.js → p-8884a48b.entry.js} +2 -2
  312. package/dist/ui-library/{p-b09e3895.entry.js → p-91c195d3.entry.js} +2 -2
  313. package/dist/ui-library/{p-537a8953.entry.js → p-9ec79195.entry.js} +2 -2
  314. package/dist/ui-library/{p-IBmarOIS.js → p-Dg9366Gk.js} +2 -2
  315. package/dist/ui-library/{p-IBmarOIS.js.map → p-Dg9366Gk.js.map} +1 -1
  316. package/dist/ui-library/{p-D0Go1Zjj.js → p-JoG9I7EO.js} +1 -1
  317. package/dist/ui-library/{p-D0Go1Zjj.js.map → p-JoG9I7EO.js.map} +1 -1
  318. package/dist/ui-library/p-SLlDVtvF.js +2 -0
  319. package/dist/ui-library/p-SLlDVtvF.js.map +1 -0
  320. package/dist/ui-library/{p-73b64625.entry.js → p-a43843d6.entry.js} +2 -2
  321. package/dist/ui-library/{p-071ed780.entry.js → p-a4b523ed.entry.js} +2 -2
  322. package/dist/ui-library/{p-c2ec443c.entry.js → p-ab043a8c.entry.js} +2 -2
  323. package/dist/ui-library/{p-1e67ac05.entry.js → p-b37d9771.entry.js} +2 -2
  324. package/dist/ui-library/{p-97b78889.entry.js → p-b6244904.entry.js} +2 -2
  325. package/dist/ui-library/{p-243965b4.entry.js → p-c47f11e4.entry.js} +2 -2
  326. package/dist/ui-library/{p-f4e2ddfc.entry.js → p-c90a59fc.entry.js} +2 -2
  327. package/dist/ui-library/{p-f52715e8.entry.js → p-cea7f777.entry.js} +2 -2
  328. package/dist/ui-library/{p-868fab98.entry.js → p-d36ec323.entry.js} +2 -2
  329. package/dist/ui-library/{p-5ad81261.entry.js → p-dc2109d2.entry.js} +2 -2
  330. package/dist/ui-library/{p-0d97e592.entry.js → p-e85be7d2.entry.js} +2 -2
  331. package/dist/ui-library/{p-68c50fb7.entry.js → p-e92df84a.entry.js} +2 -2
  332. package/dist/ui-library/{p-679f1e08.entry.js → p-ea61b009.entry.js} +2 -2
  333. package/dist/ui-library/{p-8d60c1fd.entry.js → p-ed6625e6.entry.js} +2 -2
  334. package/dist/ui-library/{p-9713ecff.entry.js → p-ee980a0f.entry.js} +2 -2
  335. package/dist/ui-library/{p-cc44af70.entry.js → p-f4dd7b57.entry.js} +2 -2
  336. package/dist/ui-library/{p-84964501.entry.js → p-f6423fca.entry.js} +2 -2
  337. package/dist/ui-library/{p-16028bce.entry.js → p-fe7d3665.entry.js} +2 -2
  338. package/dist/ui-library/six-dialog.entry.esm.js.map +1 -1
  339. package/dist/ui-library/six-drawer.entry.esm.js.map +1 -1
  340. package/dist/ui-library/six-tab-group.entry.esm.js.map +1 -1
  341. package/dist/ui-library/six-tab.entry.esm.js.map +1 -1
  342. package/dist/ui-library/ui-library.esm.js +1 -1
  343. package/dist/ui-library/ui-library.esm.js.map +1 -1
  344. package/package.json +7 -8
  345. package/dist/components/p-BtF2Ym6T.js.map +0 -1
  346. package/dist/ui-library/p-0b438d5a.entry.js +0 -2
  347. package/dist/ui-library/p-0b438d5a.entry.js.map +0 -1
  348. package/dist/ui-library/p-798fb03a.entry.js +0 -2
  349. package/dist/ui-library/p-798fb03a.entry.js.map +0 -1
  350. package/dist/ui-library/p-d1bd67af.entry.js +0 -2
  351. package/dist/ui-library/p-d1bd67af.entry.js.map +0 -1
  352. package/dist/ui-library/p-f0c10d20.entry.js +0 -2
  353. package/dist/ui-library/p-f0c10d20.entry.js.map +0 -1
  354. /package/dist/ui-library/{p-79a79513.entry.js.map → p-09de2bda.entry.js.map} +0 -0
  355. /package/dist/ui-library/{p-0ae9215f.entry.js.map → p-0eb90caf.entry.js.map} +0 -0
  356. /package/dist/ui-library/{p-22ad5b1e.entry.js.map → p-14f79bfc.entry.js.map} +0 -0
  357. /package/dist/ui-library/{p-baf698e1.entry.js.map → p-174dd242.entry.js.map} +0 -0
  358. /package/dist/ui-library/{p-a1f7be27.entry.js.map → p-18e755bc.entry.js.map} +0 -0
  359. /package/dist/ui-library/{p-6990e5ed.entry.js.map → p-194037e9.entry.js.map} +0 -0
  360. /package/dist/ui-library/{p-81af96f2.entry.js.map → p-1cfa2df4.entry.js.map} +0 -0
  361. /package/dist/ui-library/{p-e91aa04b.entry.js.map → p-22ad3353.entry.js.map} +0 -0
  362. /package/dist/ui-library/{p-ba68b30c.entry.js.map → p-25ff87fe.entry.js.map} +0 -0
  363. /package/dist/ui-library/{p-df05b23b.entry.js.map → p-285666de.entry.js.map} +0 -0
  364. /package/dist/ui-library/{p-a534a4bc.entry.js.map → p-29d79fe3.entry.js.map} +0 -0
  365. /package/dist/ui-library/{p-1e4d1252.entry.js.map → p-2a245a37.entry.js.map} +0 -0
  366. /package/dist/ui-library/{p-f585a5ab.entry.js.map → p-2a82de6c.entry.js.map} +0 -0
  367. /package/dist/ui-library/{p-5e70085d.entry.js.map → p-2fb16281.entry.js.map} +0 -0
  368. /package/dist/ui-library/{p-695e450e.entry.js.map → p-31c5f8fa.entry.js.map} +0 -0
  369. /package/dist/ui-library/{p-1323f2cb.entry.js.map → p-336610a9.entry.js.map} +0 -0
  370. /package/dist/ui-library/{p-830ed202.entry.js.map → p-362ff192.entry.js.map} +0 -0
  371. /package/dist/ui-library/{p-36a316e0.entry.js.map → p-371ef302.entry.js.map} +0 -0
  372. /package/dist/ui-library/{p-b8db5638.entry.js.map → p-3d49deae.entry.js.map} +0 -0
  373. /package/dist/ui-library/{p-5e5bd309.entry.js.map → p-3dc98466.entry.js.map} +0 -0
  374. /package/dist/ui-library/{p-82f5b61f.entry.js.map → p-4152b371.entry.js.map} +0 -0
  375. /package/dist/ui-library/{p-6d212bc0.entry.js.map → p-494546c8.entry.js.map} +0 -0
  376. /package/dist/ui-library/{p-9b1c8a24.entry.js.map → p-4f52c56f.entry.js.map} +0 -0
  377. /package/dist/ui-library/{p-d7616f27.entry.js.map → p-54490d28.entry.js.map} +0 -0
  378. /package/dist/ui-library/{p-8fe7ecdd.entry.js.map → p-5b52d097.entry.js.map} +0 -0
  379. /package/dist/ui-library/{p-9f0ed997.entry.js.map → p-65e53a1b.entry.js.map} +0 -0
  380. /package/dist/ui-library/{p-ae8d75aa.entry.js.map → p-6607d03a.entry.js.map} +0 -0
  381. /package/dist/ui-library/{p-85aacb7c.entry.js.map → p-6dd3f54c.entry.js.map} +0 -0
  382. /package/dist/ui-library/{p-5ed5842b.entry.js.map → p-811ce2a0.entry.js.map} +0 -0
  383. /package/dist/ui-library/{p-4a4a0751.entry.js.map → p-850aff56.entry.js.map} +0 -0
  384. /package/dist/ui-library/{p-01306147.entry.js.map → p-8884a48b.entry.js.map} +0 -0
  385. /package/dist/ui-library/{p-b09e3895.entry.js.map → p-91c195d3.entry.js.map} +0 -0
  386. /package/dist/ui-library/{p-537a8953.entry.js.map → p-9ec79195.entry.js.map} +0 -0
  387. /package/dist/ui-library/{p-73b64625.entry.js.map → p-a43843d6.entry.js.map} +0 -0
  388. /package/dist/ui-library/{p-071ed780.entry.js.map → p-a4b523ed.entry.js.map} +0 -0
  389. /package/dist/ui-library/{p-c2ec443c.entry.js.map → p-ab043a8c.entry.js.map} +0 -0
  390. /package/dist/ui-library/{p-1e67ac05.entry.js.map → p-b37d9771.entry.js.map} +0 -0
  391. /package/dist/ui-library/{p-97b78889.entry.js.map → p-b6244904.entry.js.map} +0 -0
  392. /package/dist/ui-library/{p-243965b4.entry.js.map → p-c47f11e4.entry.js.map} +0 -0
  393. /package/dist/ui-library/{p-f4e2ddfc.entry.js.map → p-c90a59fc.entry.js.map} +0 -0
  394. /package/dist/ui-library/{p-f52715e8.entry.js.map → p-cea7f777.entry.js.map} +0 -0
  395. /package/dist/ui-library/{p-868fab98.entry.js.map → p-d36ec323.entry.js.map} +0 -0
  396. /package/dist/ui-library/{p-5ad81261.entry.js.map → p-dc2109d2.entry.js.map} +0 -0
  397. /package/dist/ui-library/{p-0d97e592.entry.js.map → p-e85be7d2.entry.js.map} +0 -0
  398. /package/dist/ui-library/{p-68c50fb7.entry.js.map → p-e92df84a.entry.js.map} +0 -0
  399. /package/dist/ui-library/{p-679f1e08.entry.js.map → p-ea61b009.entry.js.map} +0 -0
  400. /package/dist/ui-library/{p-8d60c1fd.entry.js.map → p-ed6625e6.entry.js.map} +0 -0
  401. /package/dist/ui-library/{p-9713ecff.entry.js.map → p-ee980a0f.entry.js.map} +0 -0
  402. /package/dist/ui-library/{p-cc44af70.entry.js.map → p-f4dd7b57.entry.js.map} +0 -0
  403. /package/dist/ui-library/{p-84964501.entry.js.map → p-f6423fca.entry.js.map} +0 -0
  404. /package/dist/ui-library/{p-16028bce.entry.js.map → p-fe7d3665.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"file":"p-SLlDVtvF.js","mappings":"AAAA;;;;;;;;;;AAUG;SACa,WAAW,CACzB,OAAgB,EAChB,WAAoB,EACpB,OAAoC,GAAA;AAClC,IAAA,QAAQ,EAAE,GAAG;AACb,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,IAAI,EAAE,MAAM;AACb,CAAA,EAAA;AAED,IAAA,MAAM,YAAY,GAAG,WAAW,CAAC,qBAAqB,EAAE;AACxD,IAAA,MAAM,cAAc,GAAG,OAAO,CAAC,qBAAqB,EAAE;IAEtD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI;IACtD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG;IACpD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK;IACxD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM;IAE1D,OAAO,CAAC,OAAO,CACb;AACE,QAAA;AACE,YAAA,eAAe,EAAE,UAAU;YAC3B,SAAS,EAAE,aAAa,MAAM,CAAA,IAAA,EAAO,MAAM,CAAa,UAAA,EAAA,MAAM,CAAK,EAAA,EAAA,MAAM,CAAG,CAAA,CAAA;AAC7E,SAAA;AACD,QAAA;AACE,YAAA,eAAe,EAAE,UAAU;AAC3B,YAAA,SAAS,EAAE,MAAM;AAClB,SAAA;KACF,EACD,OAAO,CACR;AACH;AAEA;;AAEG;SACa,SAAS,CAAC,EAAe,EAAE,SAAqB,EAAE,OAAkC,EAAA;AAClG,IAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;QAC7B,IAAI,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAE,QAAQ,MAAK,QAAQ,EAAE;AAClC,YAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC;;AAG7D,QAAA,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACjC,OAAO,CAAA,EAAA,EACV,QAAQ,EAAE,OAAQ,CAAC,QAAQ,IAC3B;AAEF,QAAA,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC7D,QAAA,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC/D,KAAC,CAAC;AACJ;;;;","names":[],"sources":["src/utils/animation.ts"],"sourcesContent":["/**\n * Animates a given `element` from the position and dimension of `fromElement` to\n * its current position and dimension. Can be useful to implement the FLIP animation technique.\n *\n * @see {@link https://css-tricks.com/animating-layouts-with-the-flip-technique/} for details on the FLIP technique.\n *\n * @param {Element} element - The element to animate.\n * @param {Element} fromElement - The element representing the initial position and dimensions.\n * @param {KeyframeAnimationOptions} [options={ duration: 150, easing: 'ease', fill: 'both' }] - Optional animation parameters.\n *\n */\nexport function flipAnimate(\n element: Element,\n fromElement: Element,\n options: KeyframeAnimationOptions = {\n duration: 150,\n easing: 'ease',\n fill: 'both',\n }\n) {\n const dimensionsTo = fromElement.getBoundingClientRect();\n const dimensionsFrom = element.getBoundingClientRect();\n\n const deltaX = dimensionsTo.left - dimensionsFrom.left;\n const deltaY = dimensionsTo.top - dimensionsFrom.top;\n const deltaW = dimensionsTo.width / dimensionsFrom.width;\n const deltaH = dimensionsTo.height / dimensionsFrom.height;\n\n element.animate(\n [\n {\n transformOrigin: 'top left',\n transform: `translate(${deltaX}px, ${deltaY}px) scale(${deltaW}, ${deltaH})`,\n },\n {\n transformOrigin: 'top left',\n transform: 'none',\n },\n ],\n options\n );\n}\n\n/**\n * Animates an element using keyframes. Returns a promise that resolves after the animation completes or gets canceled.\n */\nexport function animateTo(el: HTMLElement, keyframes: Keyframe[], options?: KeyframeAnimationOptions) {\n return new Promise((resolve) => {\n if (options?.duration === Infinity) {\n throw new Error('Promise-based animations must be finite.');\n }\n\n const animation = el.animate(keyframes, {\n ...options,\n duration: options!.duration,\n });\n\n animation.addEventListener('cancel', resolve, { once: true });\n animation.addEventListener('finish', resolve, { once: true });\n });\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h } from './p-BtF2Ym6T.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h } from './p-D512q9rn.js';
2
2
  import { g as getSlot } from './p-j3oIB5oT.js';
3
- import { d as defineCustomElement$3 } from './p-Mse5vRUS.js';
4
- import { d as defineCustomElement$2 } from './p-eW-dQ-wI.js';
3
+ import { d as defineCustomElement$3 } from './p-BSHZAiyG.js';
4
+ import { d as defineCustomElement$2 } from './p-Cosz73fX.js';
5
5
 
6
6
  const sixAlertCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{display:contents;margin:0}.alert{position:relative;display:flex;align-items:stretch;background-color:var(--six-color-white);border:solid 1px var(--six-color-web-rock-200);border-top-width:3px;border-radius:var(--six-border-radius-medium);box-shadow:var(--box-shadow);font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);line-height:1.6;color:var(--six-color-web-rock-700);opacity:0;transform:scale(0.9);transition:var(--six-transition-medium) opacity ease, var(--six-transition-medium) transform ease;margin:inherit}.alert:not(.alert--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.alert--shadow{box-shadow:var(--six-shadow-medium)}.alert--open{opacity:1;transform:none}.alert__icon{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-large)}.alert__icon ::slotted(*){margin-left:var(--six-spacing-large)}.alert--primary{border-top-color:var(--six-color-web-rock-900)}.alert--primary .alert__icon{color:var(--six-color-web-rock-900)}.alert--success{border-top-color:var(--six-color-success-600)}.alert--success .alert__icon{color:var(--six-color-success-600)}.alert--info{border-top-color:var(--six-color-action-500)}.alert--info .alert__icon{color:var(--six-color-action-500)}.alert--warning{border-top-color:var(--six-color-warning-800)}.alert--warning .alert__icon{color:var(--six-color-warning-800)}.alert--danger{border-top-color:var(--six-color-danger-900)}.alert--danger .alert__icon{color:var(--six-color-danger-900)}.alert__message{flex:1 1 auto;padding:var(--six-spacing-large);overflow:hidden}.alert__close{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-large);padding-right:var(--six-spacing-medium)}";
7
7
 
@@ -1,5 +1,5 @@
1
- import { p as proxyCustomElement, H, h } from './p-BtF2Ym6T.js';
2
- import { d as defineCustomElement$2 } from './p-Mse5vRUS.js';
1
+ import { p as proxyCustomElement, H, h } from './p-D512q9rn.js';
2
+ import { d as defineCustomElement$2 } from './p-BSHZAiyG.js';
3
3
 
4
4
  const sixAvatarCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{display:inline-block;--size:2rem}.avatar{display:inline-flex;align-items:center;justify-content:center;position:relative;width:var(--size);height:var(--size);background-color:var(--six-avatar-background-color);font-family:var(--six-font-sans);font-size:calc(var(--size) * 0.5);font-weight:var(--six-font-weight-normal);color:var(--six-avatar-color);overflow:hidden;user-select:none;vertical-align:middle;cursor:pointer;outline:none}.avatar:hover{box-shadow:var(--six-shadow-medium)}.avatar--circle{border-radius:var(--six-border-radius-circle)}.avatar--rounded{border-radius:var(--six-border-radius-medium)}.avatar--square{border-radius:0}.avatar__icon{display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%}.avatar__initials{line-height:1;text-transform:uppercase}.avatar__image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}";
5
5
 
@@ -22,12 +22,12 @@ const SixAvatar$1 = /*@__PURE__*/ proxyCustomElement(class SixAvatar extends H {
22
22
  };
23
23
  }
24
24
  render() {
25
- return (h("div", { key: '1aaade211fdffbe4e64a03942be0f2dc045f2ba5', part: "base", class: {
25
+ return (h("div", { key: 'c18818d8ee0e4c16ecc7036dee47334eafa8d38d', part: "base", class: {
26
26
  avatar: true,
27
27
  'avatar--circle': this.shape === 'circle',
28
28
  'avatar--rounded': this.shape === 'rounded',
29
29
  'avatar--square': this.shape === 'square',
30
- }, role: "image", "aria-label": this.alt, tabIndex: 0 }, this.initials === '' && (h("div", { key: '08f51e38d5961efe8a1edd229b19173a76773fac', part: "icon", class: "avatar__icon" }, h("slot", { key: '93a72971ee8e0e0cc700341520f456e8284b76e6', name: "icon" }, h("six-icon", { key: 'bc3fcbdde635da80270e3ea545b11113ee6512c1' }, "person")))), this.initials && (h("div", { key: '0531c544e1400e170161de648afeb1a27ddcbfb6', part: "initials", class: "avatar__initials" }, this.initials)), this.image && !this.hasError && (h("img", { key: 'aae3851a20d505d4ee266828ac777a2518bdaf6e', part: "image", class: "avatar__image", src: this.image, onError: this.handleImageError }))));
30
+ }, role: "image", "aria-label": this.alt, tabIndex: 0 }, this.initials === '' && (h("div", { key: '793124283385b4d78d269217c0f80a303ea3af01', part: "icon", class: "avatar__icon" }, h("slot", { key: '20046d36c15a800783c245fc9bd9f8a0c462cd00', name: "icon" }, h("six-icon", { key: 'e25b68320947163b737d94484d6bd5a43117f6d7' }, "person")))), this.initials && (h("div", { key: '7f9e5c67a482b081116c0038ff248e1fdb9662d1', part: "initials", class: "avatar__initials" }, this.initials)), this.image && !this.hasError && (h("img", { key: '44c10b4d2755543a5e77fc3d6b15e02ba917ef7d', part: "image", class: "avatar__image", src: this.image, onError: this.handleImageError }))));
31
31
  }
32
32
  static get style() { return sixAvatarCss; }
33
33
  }, [1, "six-avatar", {
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, h } from './p-BtF2Ym6T.js';
1
+ import { p as proxyCustomElement, H, h } from './p-D512q9rn.js';
2
2
 
3
3
  const sixBadgeCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{display:inline-flex}.badge{display:inline-flex;align-items:center;justify-content:center;font-family:var(--six-font-family);font-size:var(--six-font-size-x-small);font-weight:var(--six-font-weight-semibold);letter-spacing:var(--six-letter-spacing-normal);line-height:1;border-radius:var(--six-border-radius-small);white-space:nowrap;padding:3px 6px;user-select:none;cursor:inherit}.badge--info{background-color:var(--six-color-web-rock-900);color:var(--six-color-white)}.badge--success{background-color:var(--six-color-success-500);color:var(--six-color-web-rock-900)}.badge--warning{background-color:var(--six-color-warning-700);color:var(--six-color-web-rock-900)}.badge--danger{background-color:var(--six-color-danger-800);color:var(--six-color-white)}.badge--action{background-color:var(--six-color-action-500);color:var(--six-color-white)}.badge--primary{background-color:var(--six-color-clay-50);color:var(--six-color-black)}.badge--pill{border-radius:var(--six-border-radius-pill)}.badge--pulse{animation:pulse 1.5s infinite}.badge--pulse.badge--info{--pulse-color:var(--six-color-web-rock-900)}.badge--pulse.badge--success{--pulse-color:var(--six-color-success-500)}.badge--pulse.badge--warning{--pulse-color:var(--six-color-warning-700)}.badge--pulse.badge--danger{--pulse-color:var(--six-color-danger-800)}.badge--pulse.badge--action{--pulse-color:var(--six-color-action-500)}.badge--pulse.badge--primary{--pulse-color:var(--six-color-clay-50)}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--pulse-color)}70%{box-shadow:0 0 0 0.5rem transparent}100%{box-shadow:0 0 0 0 transparent}}";
4
4
 
@@ -15,7 +15,7 @@ const SixBadge$1 = /*@__PURE__*/ proxyCustomElement(class SixBadge extends H {
15
15
  this.pulse = false;
16
16
  }
17
17
  render() {
18
- return (h("span", { key: '6352c1b6f7b593982f42b4e26862f365d9aa32fa', part: "base", class: {
18
+ return (h("span", { key: '5f279e992f0f009a0a2be5128e21290c0ce9990a', part: "base", class: {
19
19
  badge: true,
20
20
  // Types
21
21
  'badge--primary': this.type === 'primary',
@@ -27,7 +27,7 @@ const SixBadge$1 = /*@__PURE__*/ proxyCustomElement(class SixBadge extends H {
27
27
  'badge--info': this.type === 'info',
28
28
  'badge--pill': this.pill,
29
29
  'badge--pulse': this.pulse,
30
- }, role: "status" }, h("slot", { key: 'df34cfd3b2ecd789592b0436948a4918616dcf9f' })));
30
+ }, role: "status" }, h("slot", { key: '08847cb32936a89c9407d36f9c94e32a35baa1fb' })));
31
31
  }
32
32
  static get style() { return sixBadgeCss; }
33
33
  }, [1, "six-badge", {
@@ -1,4 +1,4 @@
1
- import { S as SixButton$1, d as defineCustomElement$1 } from './p-Cemjz04k.js';
1
+ import { S as SixButton$1, d as defineCustomElement$1 } from './p-BUN8hFmL.js';
2
2
 
3
3
  const SixButton = SixButton$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, h, d as Host } from './p-BtF2Ym6T.js';
1
+ import { p as proxyCustomElement, H, h, d as Host } from './p-D512q9rn.js';
2
2
 
3
3
  const sixCardCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{display:inline-block;box-shadow:var(--six-shadow-medium);border:1px solid var(--six-color-web-rock-100);padding:var(--six-spacing-medium)}";
4
4
 
@@ -9,7 +9,7 @@ const SixCard$1 = /*@__PURE__*/ proxyCustomElement(class SixCard extends H {
9
9
  this.__attachShadow();
10
10
  }
11
11
  render() {
12
- return (h(Host, { key: 'd2459e12a9f8274f095a3d09a077c59a7f091dea' }, h("slot", { key: '1619a201af796250d6808a0974047644e7fb6a69' })));
12
+ return (h(Host, { key: '8ba5461ffe1740e8f2b7061701cf8f06e24adc25' }, h("slot", { key: '95fde97191f2c89fe76643450e6e9eb4dcbe9fa2' })));
13
13
  }
14
14
  static get style() { return sixCardCss; }
15
15
  }, [1, "six-card"]);
@@ -1,4 +1,4 @@
1
- import { S as SixCheckbox$1, d as defineCustomElement$1 } from './p-D45ehsSM.js';
1
+ import { S as SixCheckbox$1, d as defineCustomElement$1 } from './p-Cfyrva2T.js';
2
2
 
3
3
  const SixCheckbox = SixCheckbox$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,11 +1,11 @@
1
- import { h, p as proxyCustomElement, H, c as createEvent } from './p-BtF2Ym6T.js';
1
+ import { h, p as proxyCustomElement, H, c as createEvent } from './p-D512q9rn.js';
2
2
  import { E as EventListeners } from './p-C4h4qpGl.js';
3
3
  import { h as hasSlot } from './p-j3oIB5oT.js';
4
4
  import { P as Popover } from './p-kHci8ddv.js';
5
- import { d as defineCustomElement$5 } from './p-Cr6sHYme.js';
6
- import { d as defineCustomElement$4 } from './p-Mse5vRUS.js';
7
- import { d as defineCustomElement$3 } from './p-eW-dQ-wI.js';
8
- import { d as defineCustomElement$2 } from './p-Dl9jKaw7.js';
5
+ import { d as defineCustomElement$5 } from './p-CWKq6Dyt.js';
6
+ import { d as defineCustomElement$4 } from './p-BSHZAiyG.js';
7
+ import { d as defineCustomElement$3 } from './p-Cosz73fX.js';
8
+ import { d as defineCustomElement$2 } from './p-DsGIkEDB.js';
9
9
 
10
10
  var dateFns = {};
11
11
 
@@ -22681,7 +22681,7 @@ const SixDate$1 = /*@__PURE__*/ proxyCustomElement(class SixDate extends H {
22681
22681
  this.popoverHelper = undefined;
22682
22682
  }
22683
22683
  render() {
22684
- return (h("div", { key: '4a0a0a6b51c92227feb7a7fc8b41c12489ae37dd', class: "container" }, h("six-input", { key: '2ef87d3fe93230374fd5773574f93bb4b912f150', ref: (el) => (this.inputElement = el), placeholder: this.placeholder == null ? this.dateFormat : this.placeholder, readonly: this.readonly, disabled: this.disabled, name: this.name, label: this.label, required: this.required, helpText: this.helpText, errorText: this.errorText, errorTextCount: this.errorTextCount, invalid: this.invalid, onKeyDown: this.handleInputKeyDown, onInput: this.handleInputChange, onBlur: this.handleInputBlur, "onSix-input-clear": this.handleInputClearClick, size: this.size, clearable: this.clearable, "aria-describedby": "date-format" }, h("six-icon", { key: 'e4ce68b1456d7ccb22e124e46060207764d8594c', slot: "prefix", size: this.size === 'large' ? 'medium' : this.size }, "today"), hasSlot(this.host, 'label') ? (h("span", { slot: "label" }, h("slot", { name: "label" }))) : null, hasSlot(this.host, 'error-text') ? (h("span", { slot: "error-text" }, h("slot", { name: "error-text" }))) : null, hasSlot(this.host, 'help-text') ? (h("span", { slot: "help-text" }, h("slot", { name: "help-text" }))) : null), h("span", { key: '75decf75defb00858c9a083ca59981d774e00d5e', id: "date-format", class: "sr-only" }, translateFormatHelp(this.language, this.dateFormat)), h("div", { key: 'f9bc0ac6b7061ff77d471c61a7b9bf421904377d', ref: (el) => (this.positioner = el), class: "positioner" }, h("div", { key: 'bde4bf5366e5e4313d88b572e9322a8d99ebc2f5', class: "panel", ref: (el) => (this.panel = el) }, h("header", { key: '5a459ff43e559120a4a6a30fb25feda2bf209d28', class: "panel__header" }, h("six-icon-button", { key: 'c965d4b30f8284aad842a12edc7367a54e681feb', tabindex: "-1", class: "previous", onClick: this.handlePreviousClick, name: "arrow_back_ios" }), this.selectionMode === 'day' && (h("div", { key: 'ebf48d64457375dc804153d9b345364ec18f242c', class: "selector", onClick: () => (this.selectionMode = 'month') }, translateMonth(this.pointerDate.month, this.language), h("six-icon", { key: '9481868ec393eea23ec6fb3549deee02e47400df' }, "arrow_drop_down"))), this.selectionMode !== 'year' && (h("div", { key: 'f2c5ab2e68e5fd88213653a2f00dbffbbae28db0', class: "selector", onClick: () => (this.selectionMode = 'year') }, this.pointerDate.year, h("six-icon", { key: 'd7ddf47d4760a959daec791020143dd1f21baf2b' }, "arrow_drop_down"))), this.selectionMode === 'year' && (h("div", { key: '6245d2be9cff0dda43be9e5cba98c9ac5a6eb722', class: "selector" }, this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2), " \u2013", ' ', this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2))), h("six-icon-button", { key: '4cfbfafe10d4591969b55a6f4438c98361f60d5f', tabindex: "-1", class: "next", onClick: this.handleNextClick, name: "arrow_forward_ios" })), this.selectionMode === 'day' && (h(DaySelection, { key: '798e9e7702ccc49582d6f336e5f76f1ab4b1c8e1', language: this.language, calendarGrid: createCalendarGrid({
22684
+ return (h("div", { key: '2fccfb9c005bf6ac4906be3735c3b0fc61bfad8f', class: "container" }, h("six-input", { key: '453bf29f4aec7bc192d1bc5191c7f74a93f0ac48', ref: (el) => (this.inputElement = el), placeholder: this.placeholder == null ? this.dateFormat : this.placeholder, readonly: this.readonly, disabled: this.disabled, name: this.name, label: this.label, required: this.required, helpText: this.helpText, errorText: this.errorText, errorTextCount: this.errorTextCount, invalid: this.invalid, onKeyDown: this.handleInputKeyDown, onInput: this.handleInputChange, onBlur: this.handleInputBlur, "onSix-input-clear": this.handleInputClearClick, size: this.size, clearable: this.clearable, "aria-describedby": "date-format" }, h("six-icon", { key: '93e4add573a5617e9f90e9e8060a9a3a6ec10b98', slot: "prefix", size: this.size === 'large' ? 'medium' : this.size }, "today"), hasSlot(this.host, 'label') ? (h("span", { slot: "label" }, h("slot", { name: "label" }))) : null, hasSlot(this.host, 'error-text') ? (h("span", { slot: "error-text" }, h("slot", { name: "error-text" }))) : null, hasSlot(this.host, 'help-text') ? (h("span", { slot: "help-text" }, h("slot", { name: "help-text" }))) : null), h("span", { key: '5fb919b6861ed8307de1105c881350d4094bbf52', id: "date-format", class: "sr-only" }, translateFormatHelp(this.language, this.dateFormat)), h("div", { key: 'ccddb6c5b5c49f77d31d2d0c75742cc0ffbda2ee', ref: (el) => (this.positioner = el), class: "positioner" }, h("div", { key: '3eec69b5bac555fd542cab3a967700403af68750', class: "panel", ref: (el) => (this.panel = el) }, h("header", { key: 'a16e0c72e430580b0f0c229476b7c45ea50e194a', class: "panel__header" }, h("six-icon-button", { key: 'bfc02505301c5264de2934f3f4f3fcea52cacf07', tabindex: "-1", class: "previous", onClick: this.handlePreviousClick, name: "arrow_back_ios" }), this.selectionMode === 'day' && (h("div", { key: '2f64e3cc6f2ee9326c953f81b1ea6a3f5ab13551', class: "selector", onClick: () => (this.selectionMode = 'month') }, translateMonth(this.pointerDate.month, this.language), h("six-icon", { key: '9372e403d994348716322f39d7e30971c3d37842' }, "arrow_drop_down"))), this.selectionMode !== 'year' && (h("div", { key: '16a3de3dd5207eeb91d341a02b93b11e707f3372', class: "selector", onClick: () => (this.selectionMode = 'year') }, this.pointerDate.year, h("six-icon", { key: '81024acff597b548875a7500cbb5aab7ba47952e' }, "arrow_drop_down"))), this.selectionMode === 'year' && (h("div", { key: 'f8615b0ca8ce732a18776e3677a997fd43d9fac4', class: "selector" }, this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2), " \u2013", ' ', this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2))), h("six-icon-button", { key: '0e689a5621ae8a62415c4a19efb64a983b720115', tabindex: "-1", class: "next", onClick: this.handleNextClick, name: "arrow_forward_ios" })), this.selectionMode === 'day' && (h(DaySelection, { key: '6fe9920a9449418460e069eefa96adda867c2eb3', language: this.language, calendarGrid: createCalendarGrid({
22685
22685
  year: this.pointerDate.year,
22686
22686
  month: this.pointerDate.month,
22687
22687
  selected: this.value || undefined,
@@ -22689,7 +22689,7 @@ const SixDate$1 = /*@__PURE__*/ proxyCustomElement(class SixDate extends H {
22689
22689
  maxDate: this.max,
22690
22690
  dateFormat: this.dateFormat,
22691
22691
  allowedDates: this.allowedDates,
22692
- }), dayClicked: this.handleDayClick })), this.selectionMode === 'month' && (h(MonthSelection, { key: '8caff65bced9ff007d7fc3d46c1d78f135e7d0b6', language: this.language, selected: this.value, monthClicked: this.handleMonthClicked })), this.selectionMode === 'year' && (h(YearSelection, { key: 'f60ae8a7102bf55dbe886a103740166632d38b1f', selected: this.value, pointerYear: this.pointerDate.year, yearCount: NUMBER_OF_YEARS_SHOWN, yearClicked: this.handleYearClicked }))))));
22692
+ }), dayClicked: this.handleDayClick })), this.selectionMode === 'month' && (h(MonthSelection, { key: 'ad02bb9d8b6c96abf77ccd30585490b2236fbfd0', language: this.language, selected: this.value, monthClicked: this.handleMonthClicked })), this.selectionMode === 'year' && (h(YearSelection, { key: 'a14118d8b9ec16182522d1de6dc12d9026ef3aa3', selected: this.value, pointerYear: this.pointerDate.year, yearCount: NUMBER_OF_YEARS_SHOWN, yearClicked: this.handleYearClicked }))))));
22693
22693
  }
22694
22694
  get host() { return this; }
22695
22695
  static get watchers() { return {
@@ -1,12 +1,12 @@
1
- import { h, p as proxyCustomElement, H, c as createEvent } from './p-BtF2Ym6T.js';
1
+ import { h, p as proxyCustomElement, H, c as createEvent } from './p-D512q9rn.js';
2
2
  import { E as EventListeners } from './p-C4h4qpGl.js';
3
3
  import { D as DEFAULT_DEBOUNCE_FAST, d as debounceEvent, a as debounce } from './p-CKhg9ibv.js';
4
4
  import { h as hasSlot } from './p-j3oIB5oT.js';
5
- import { m as movePopup, c as calcIsDropDownContentUp, a as adjustPopupForHoisting, b as adjustPopupForSmallScreens, d as defineCustomElement$2 } from './p-BkQKlScF.js';
6
- import { d as defineCustomElement$6 } from './p-Cr6sHYme.js';
7
- import { d as defineCustomElement$5 } from './p-Mse5vRUS.js';
8
- import { d as defineCustomElement$4 } from './p-Dl9jKaw7.js';
9
- import { d as defineCustomElement$3 } from './p-CpcN3YG9.js';
5
+ import { m as movePopup, c as calcIsDropDownContentUp, a as adjustPopupForHoisting, b as adjustPopupForSmallScreens, d as defineCustomElement$2 } from './p-DnLdSdN5.js';
6
+ import { d as defineCustomElement$6 } from './p-CWKq6Dyt.js';
7
+ import { d as defineCustomElement$5 } from './p-BSHZAiyG.js';
8
+ import { d as defineCustomElement$4 } from './p-DsGIkEDB.js';
9
+ import { d as defineCustomElement$3 } from './p-BR2t7cws.js';
10
10
 
11
11
  const isString = (value) => typeof value === 'string';
12
12
  // only use '==' instead of '===' to also catch undefined and void
@@ -1,4 +1,4 @@
1
- import { S as SixDetails$1, d as defineCustomElement$1 } from './p-DT1sZALq.js';
1
+ import { S as SixDetails$1, d as defineCustomElement$1 } from './p-Cs1jspzx.js';
2
2
 
3
3
  const SixDetails = SixDetails$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,9 +1,10 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h } from './p-BtF2Ym6T.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h } from './p-D512q9rn.js';
2
2
  import { u as unlockBodyScrolling, l as lockBodyScrolling } from './p-BY6hIEFX.js';
3
3
  import { h as hasSlot } from './p-j3oIB5oT.js';
4
4
  import { M as Modal } from './p-CfIoyvm-.js';
5
- import { d as defineCustomElement$3 } from './p-Mse5vRUS.js';
6
- import { d as defineCustomElement$2 } from './p-eW-dQ-wI.js';
5
+ import { a as animateTo } from './p-SLlDVtvF.js';
6
+ import { d as defineCustomElement$3 } from './p-BSHZAiyG.js';
7
+ import { d as defineCustomElement$2 } from './p-Cosz73fX.js';
7
8
 
8
9
  const sixDialogCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}: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}";
9
10
 
@@ -18,7 +19,7 @@ const SixDialog$1 = /*@__PURE__*/ proxyCustomElement(class SixDialog extends H {
18
19
  this.sixHide = createEvent(this, "six-dialog-hide");
19
20
  this.sixAfterHide = createEvent(this, "six-dialog-after-hide");
20
21
  this.sixInitialFocus = createEvent(this, "six-dialog-initial-focus");
21
- this.sixOverlayDismiss = createEvent(this, "six-dialog-overlay-dismiss");
22
+ this.sixRequestClose = createEvent(this, "six-dialog-request-close");
22
23
  this.componentId = `dialog-${++id}`;
23
24
  this.willShow = false;
24
25
  this.willHide = false;
@@ -37,18 +38,15 @@ const SixDialog$1 = /*@__PURE__*/ proxyCustomElement(class SixDialog extends H {
37
38
  */
38
39
  this.noHeader = false;
39
40
  this.handleCloseClick = () => {
40
- this.hide();
41
+ this.preventClose('close-button');
41
42
  };
42
43
  this.handleKeyDown = (event) => {
43
44
  if (event.key === 'Escape') {
44
- this.hide();
45
+ this.preventClose('keyboard');
45
46
  }
46
47
  };
47
48
  this.handleOverlayClick = () => {
48
- const sixOverlayDismiss = this.sixOverlayDismiss.emit();
49
- if (!sixOverlayDismiss.defaultPrevented) {
50
- this.hide();
51
- }
49
+ this.preventClose('overlay');
52
50
  };
53
51
  this.handleSlotChange = () => {
54
52
  this.hasFooter = hasSlot(this.host, 'footer');
@@ -124,13 +122,21 @@ const SixDialog$1 = /*@__PURE__*/ proxyCustomElement(class SixDialog extends H {
124
122
  this.modal.deactivate();
125
123
  unlockBodyScrolling(this.host);
126
124
  }
125
+ preventClose(source) {
126
+ const sixRequestClose = this.sixRequestClose.emit({ source });
127
+ if (sixRequestClose.defaultPrevented && this.panel) {
128
+ animateTo(this.panel, [{ scale: 1 }, { scale: 1.01 }, { scale: 1 }], { duration: 250 });
129
+ return;
130
+ }
131
+ this.hide();
132
+ }
127
133
  render() {
128
- return (h("div", { key: '4fb15d0b1b8cb52082d6faadd337f92c51d4a6ba', ref: (el) => (this.dialog = el), part: "base", class: {
134
+ return (h("div", { key: 'b97915d5076bb83782212b61b1f65f694fd84b63', ref: (el) => (this.dialog = el), part: "base", class: {
129
135
  dialog: true,
130
136
  'dialog--open': this.open,
131
137
  'dialog--visible': this.isVisible,
132
138
  'dialog--has-footer': this.hasFooter,
133
- }, onKeyDown: this.handleKeyDown, onTransitionEnd: this.handleTransitionEnd }, h("div", { key: 'f1f7f2f0c69dda4f3a9fe464aef1880a3ccc8435', part: "overlay", class: "dialog__overlay", onClick: this.handleOverlayClick }), h("div", { key: '988baac44c75d2299f55e4dd848155ac535679cc', 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 && (h("header", { key: 'a167200e75358f3b7b778f7475ca437f23a58797', part: "header", class: "dialog__header" }, h("span", { key: '3c3edc39e39eb0bda2c745719476278b8db86037', part: "title", class: "dialog__title", id: `${this.componentId}-title` }, h("slot", { key: '3cd726aaebef3f72bcfda02cbd98c16c38fd6d6e', name: "label" }, this.label || String.fromCharCode(65279))), h("six-icon-button", { key: 'e1110789a7bdb41cef385814d53bbed678aa99e8', exportparts: "base:close-button", class: "dialog__close", name: "close", onClick: this.handleCloseClick }))), h("div", { key: '7c0c4a8388d2e6ff53e8dffce614314c327c311d', part: "body", class: "dialog__body" }, h("slot", { key: 'ed90c7246c3922ef3ee0cea389879ff52c910120' })), h("footer", { key: 'cbc879ecfe209e9be681bbc8d34d2defb1cc6f45', part: "footer", class: "dialog__footer" }, h("slot", { key: '0d86102a449cef6ebaaf1c7738fd444e249bbe86', name: "footer", onSlotchange: this.handleSlotChange })))));
139
+ }, onKeyDown: this.handleKeyDown, onTransitionEnd: this.handleTransitionEnd }, h("div", { key: '153379e70061e86842f65f3588329dc9c6d592db', part: "overlay", class: "dialog__overlay", onClick: this.handleOverlayClick }), h("div", { key: 'd0b78c413a70eeb6e6cbf75be7829a7d1f2ad715', 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 && (h("header", { key: '94e7d993356ea718e1ed87d4fe9e1d3faf0574f8', part: "header", class: "dialog__header" }, h("span", { key: '600591c9266dda80c457f41c54c92a8134d89bb8', part: "title", class: "dialog__title", id: `${this.componentId}-title` }, h("slot", { key: '4ad2904648821134ce3851682768b01086a68359', name: "label" }, this.label || String.fromCharCode(65279))), h("six-icon-button", { key: '4d793b14b41f7d9c43d5f9949cba6bfe7c6a442c', exportparts: "base:close-button", class: "dialog__close", name: "close", onClick: this.handleCloseClick }))), h("div", { key: '729f6cc36802fccf46958b2c259213aa9369fb94', part: "body", class: "dialog__body" }, h("slot", { key: 'ba299ae12ba958c705a807639aee911167997b38' })), h("footer", { key: '92cb57fa4c4dc066a49dd259832e43be619cc945', part: "footer", class: "dialog__footer" }, h("slot", { key: '63ea68abef52d91c04608ad1bf6d508a31012ed9', name: "footer", onSlotchange: this.handleSlotChange })))));
134
140
  }
135
141
  get host() { return this; }
136
142
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"six-dialog.js","mappings":"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","names":["SixDialog","__stencil_proxyCustomElement","HTMLElement"],"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:\n var(--six-transition-medium) opacity,\n 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}
1
+ {"file":"six-dialog.js","mappings":"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","names":["SixDialog","__stencil_proxyCustomElement","HTMLElement"],"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:\n var(--six-transition-medium) opacity,\n 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';\nimport { animateTo } from '../../utils/animation';\n\nexport interface SixDialogRequestClose {\n source: 'close-button' | 'keyboard' | 'overlay';\n}\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 /**\n * Emitted when the user attempts to close the drawer by clicking the close button, clicking the overlay, or\n * pressing escape. Calling `event.preventDefault()` will keep the drawer open. Avoid using this unless closing\n * the drawer will result in destructive behavior such as data loss.\n */\n @Event({ eventName: 'six-dialog-request-close' }) sixRequestClose!: EventEmitter<SixDialogRequestClose>;\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.preventClose('close-button');\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.preventClose('keyboard');\n }\n };\n\n private handleOverlayClick = () => {\n this.preventClose('overlay');\n };\n\n private preventClose(source: 'close-button' | 'keyboard' | 'overlay') {\n const sixRequestClose = this.sixRequestClose.emit({ source });\n\n if (sixRequestClose.defaultPrevented && this.panel) {\n animateTo(this.panel, [{ scale: 1 }, { scale: 1.01 }, { scale: 1 }], { duration: 250 });\n return;\n }\n\n this.hide();\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,9 +1,10 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h } from './p-BtF2Ym6T.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h } from './p-D512q9rn.js';
2
2
  import { u as unlockBodyScrolling, l as lockBodyScrolling } from './p-BY6hIEFX.js';
3
3
  import { h as hasSlot } from './p-j3oIB5oT.js';
4
4
  import { M as Modal } from './p-CfIoyvm-.js';
5
- import { d as defineCustomElement$3 } from './p-Mse5vRUS.js';
6
- import { d as defineCustomElement$2 } from './p-eW-dQ-wI.js';
5
+ import { a as animateTo } from './p-SLlDVtvF.js';
6
+ import { d as defineCustomElement$3 } from './p-BSHZAiyG.js';
7
+ import { d as defineCustomElement$2 } from './p-Cosz73fX.js';
7
8
 
8
9
  const sixDrawerCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}: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}";
9
10
 
@@ -18,7 +19,7 @@ const SixDrawer$1 = /*@__PURE__*/ proxyCustomElement(class SixDrawer extends H {
18
19
  this.sixHide = createEvent(this, "six-drawer-hide");
19
20
  this.sixAfterHide = createEvent(this, "six-drawer-after-hide");
20
21
  this.sixInitialFocus = createEvent(this, "six-drawer-initial-focus");
21
- this.sixOverlayDismiss = createEvent(this, "six-drawer-overlay-dismiss");
22
+ this.sixRequestClose = createEvent(this, "six-drawer-request-close");
22
23
  this.componentId = `drawer-${++id}`;
23
24
  this.willShow = false;
24
25
  this.willHide = false;
@@ -44,18 +45,15 @@ const SixDrawer$1 = /*@__PURE__*/ proxyCustomElement(class SixDrawer extends H {
44
45
  */
45
46
  this.noHeader = false;
46
47
  this.handleCloseClick = () => {
47
- this.hide();
48
+ this.preventClose('close-button');
48
49
  };
49
50
  this.handleKeyDown = (event) => {
50
51
  if (event.key === 'Escape') {
51
- this.hide();
52
+ this.preventClose('keyboard');
52
53
  }
53
54
  };
54
55
  this.handleOverlayClick = () => {
55
- const sixOverlayDismiss = this.sixOverlayDismiss.emit();
56
- if (!sixOverlayDismiss.defaultPrevented) {
57
- this.hide();
58
- }
56
+ this.preventClose('overlay');
59
57
  };
60
58
  this.handleSlotChange = () => {
61
59
  this.hasFooter = hasSlot(this.host, 'footer');
@@ -133,6 +131,14 @@ const SixDrawer$1 = /*@__PURE__*/ proxyCustomElement(class SixDrawer extends H {
133
131
  this.modal.deactivate();
134
132
  unlockBodyScrolling(this.host);
135
133
  }
134
+ preventClose(source) {
135
+ const sixRequestClose = this.sixRequestClose.emit({ source });
136
+ if (sixRequestClose.defaultPrevented && this.panel) {
137
+ animateTo(this.panel, [{ scale: 1 }, { scale: 1.01 }, { scale: 1 }], { duration: 250 });
138
+ return;
139
+ }
140
+ this.hide();
141
+ }
136
142
  resetTransitionVariables() {
137
143
  this.isVisible = this.open;
138
144
  this.willShow = false;
@@ -140,7 +146,7 @@ const SixDrawer$1 = /*@__PURE__*/ proxyCustomElement(class SixDrawer extends H {
140
146
  this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();
141
147
  }
142
148
  render() {
143
- return (h("div", { key: 'f35600ecd84f97b647ab9cc98d56c360f2f03408', ref: (el) => (this.drawer = el), part: "base", class: {
149
+ return (h("div", { key: '17d045e1a06aa424bc59f7316525df73ae031227', ref: (el) => (this.drawer = el), part: "base", class: {
144
150
  drawer: true,
145
151
  'drawer--open': this.open,
146
152
  'drawer--visible': this.isVisible,
@@ -151,7 +157,7 @@ const SixDrawer$1 = /*@__PURE__*/ proxyCustomElement(class SixDrawer extends H {
151
157
  'drawer--contained': this.contained,
152
158
  'drawer--fixed': !this.contained,
153
159
  'drawer--has-footer': this.hasFooter,
154
- }, onKeyDown: this.handleKeyDown, onTransitionEnd: this.handleTransitionEnd }, h("div", { key: '178e61c83b4c635041c51c89553ed834f6424cd2', part: "overlay", class: "drawer__overlay", onClick: this.handleOverlayClick, tabIndex: -1 }), h("div", { key: '71374a7cae137e002760f3ff5b5ee69ad4ac4675', 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 && (h("header", { key: '3a66c231ad202b211c2df81b74a8a6e937be661b', part: "header", class: "drawer__header" }, h("span", { key: '80205d6fccb2510b23473dba6098462221f9d43e', part: "title", class: "drawer__title", id: `${this.componentId}-title` }, h("slot", { key: '13d986fb13c2cded9ce9980cf12da1b34de9ef28', name: "label" }, this.label || String.fromCharCode(65279))), h("six-icon-button", { key: 'd62b14dc24849d16f1dffbba0f98126fc95de336', exportparts: "base:close-button", class: "drawer__close", name: "close", onClick: this.handleCloseClick }))), h("div", { key: 'd0f5b6df5230e996d6b196095589a6629b271fab', part: "body", class: "drawer__body" }, h("slot", { key: '6eda0430f1fe27d28a85a6e689fbb9025ee773e7' })), h("footer", { key: '8c71f25b2bbb980a7aabee038ea4d7a58f177970', part: "footer", class: "drawer__footer" }, h("slot", { key: 'e7dfb09c1cd30deccfd30ce28849e32cdaebe69f', name: "footer", onSlotchange: this.handleSlotChange })))));
160
+ }, onKeyDown: this.handleKeyDown, onTransitionEnd: this.handleTransitionEnd }, h("div", { key: '804fcb75cc49156bfcb6af8958a40c33c20f8202', part: "overlay", class: "drawer__overlay", onClick: this.handleOverlayClick, tabIndex: -1 }), h("div", { key: 'e5095b200d370fe98163b3f0fa2bbf42ece7fa5f', 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 && (h("header", { key: 'c479cfa062277a6f1cf0f7433cff73e94139faea', part: "header", class: "drawer__header" }, h("span", { key: '8d60e0eb1cecc9c8f2091b5b8c9aefaa2aac3c91', part: "title", class: "drawer__title", id: `${this.componentId}-title` }, h("slot", { key: '26c5fb0feb42c9db7625e98f10cd5cbd0acfd742', name: "label" }, this.label || String.fromCharCode(65279))), h("six-icon-button", { key: '454ee7cea511b470ae224c6559ee99f10e9cf095', exportparts: "base:close-button", class: "drawer__close", name: "close", onClick: this.handleCloseClick }))), h("div", { key: '4f07be9128e7d2a292298b3e22ec0e5105adc3f3', part: "body", class: "drawer__body" }, h("slot", { key: '856a4bd2ee8dacc8b6124d87d8e501a8bd8c3f23' })), h("footer", { key: '721ca11e6b5470d2170d9bc929ba2d973faf9117', part: "footer", class: "drawer__footer" }, h("slot", { key: 'afb8d35c7fee0fa3e9833ea1b381c2d81f8cb5b0', name: "footer", onSlotchange: this.handleSlotChange })))));
155
161
  }
156
162
  get host() { return this; }
157
163
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"six-drawer.js","mappings":"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","names":["SixDrawer","__stencil_proxyCustomElement","HTMLElement"],"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}
1
+ {"file":"six-drawer.js","mappings":"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","names":["SixDrawer","__stencil_proxyCustomElement","HTMLElement"],"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';\nimport { animateTo } from '../../utils/animation';\n\nexport interface SixDrawerRequestClose {\n source: 'close-button' | 'keyboard' | 'overlay';\n}\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 /**\n * Emitted when the user attempts to close the drawer by clicking the close button, clicking the overlay, or\n * pressing escape. Calling `event.preventDefault()` will keep the drawer open. Avoid using this unless closing\n * the drawer will result in destructive behavior such as data loss.\n */\n @Event({ eventName: 'six-drawer-request-close' }) sixRequestClose!: EventEmitter<SixDrawerRequestClose>;\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.preventClose('close-button');\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.preventClose('keyboard');\n }\n };\n\n private handleOverlayClick = () => {\n this.preventClose('overlay');\n };\n\n private preventClose(source: 'close-button' | 'keyboard' | 'overlay') {\n const sixRequestClose = this.sixRequestClose.emit({ source });\n\n if (sixRequestClose.defaultPrevented && this.panel) {\n animateTo(this.panel, [{ scale: 1 }, { scale: 1.01 }, { scale: 1 }], { duration: 250 });\n return;\n }\n\n this.hide();\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,4 +1,4 @@
1
- import { S as SixDropdown$1, d as defineCustomElement$1 } from './p-NtUDAuW7.js';
1
+ import { S as SixDropdown$1, d as defineCustomElement$1 } from './p-9aUb96SZ.js';
2
2
 
3
3
  const SixDropdown = SixDropdown$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,5 +1,5 @@
1
- import { p as proxyCustomElement, H, h } from './p-BtF2Ym6T.js';
2
- import { d as defineCustomElement$2 } from './p-DXhOme6Y.js';
1
+ import { p as proxyCustomElement, H, h } from './p-D512q9rn.js';
2
+ import { d as defineCustomElement$2 } from './p-DYlDF9Rw.js';
3
3
 
4
4
  const sixErrorPageCss = ".six-error-page__title{display:flex;justify-content:center;font-size:var(--six-font-size-xx-large);font-weight:bold;margin-bottom:var(--six-spacing-large)}.six-error-page__description>*{text-align:center}.six-error-page__icon-container{display:flex;justify-content:center}.six-error-page__icon::part(icon){background-color:var(--six-color-web-rock-300)}";
5
5
 
@@ -1,4 +1,4 @@
1
- import { S as SixError$1, d as defineCustomElement$1 } from './p-Cr6sHYme.js';
1
+ import { S as SixError$1, d as defineCustomElement$1 } from './p-CWKq6Dyt.js';
2
2
 
3
3
  const SixError = SixError$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,5 +1,5 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h } from './p-BtF2Ym6T.js';
2
- import { d as defineCustomElement$2 } from './p-Mse5vRUS.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h } from './p-D512q9rn.js';
2
+ import { d as defineCustomElement$2 } from './p-BSHZAiyG.js';
3
3
 
4
4
  const sixFileListItemCss = ".six-files-list-item{padding-bottom:0.5rem}.six-files-list-item__name{color:var(--six-color-action-600);cursor:pointer}.six-files-list-item__name--disabled{cursor:inherit;color:var(--six-color-web-rock-500)}.six-files-list-item__name:hover:not(.six-files-list-item__name--disabled){color:var(--six-color-action-500)}.six-files-list-item__date{padding-left:1rem;color:var(--six-color-web-rock-600)}.six-files-list-item__size{padding-left:1rem;color:var(--six-color-web-rock-600)}.six-files-list-item__icon{padding-left:0.5rem;display:inline-block;transform:translateY(-3px);cursor:pointer;color:var(--six-color-web-rock-600)}.six-files-list-item__icon--disabled{cursor:not-allowed;color:var(--six-color-web-rock-500)}.six-files-list-item__icon:hover:not(.six-files-list-item__icon--disabled){color:var(--six-color-web-rock-900)}";
5
5
 
@@ -34,10 +34,10 @@ const SixFileListItem$1 = /*@__PURE__*/ proxyCustomElement(class SixFileListItem
34
34
  };
35
35
  }
36
36
  render() {
37
- return (h("div", { key: '65ea17f1ce1ff3d9cb48696bbf25465f126ca879', class: "six-files-list-item" }, h("span", { key: '53749104860721fd92bbb07b84029e2d3a22c0c0', class: {
37
+ return (h("div", { key: '31722bec6e2a0956f4d1b14c7ee26330cae7e8cc', class: "six-files-list-item" }, h("span", { key: 'dfa90db55fd78720884ac4f67e5579b0eb184d40', class: {
38
38
  'six-files-list-item__name': true,
39
39
  'six-files-list-item__name--disabled': this.nodownload,
40
- }, onClick: this.downloadFile }, this.name), h("span", { key: '637a12f8bb040e3cf5392ebe7ac488e3d08ae6fb', class: "six-files-list-item__date" }, this.date), this.size != null && h("span", { key: '208e19ce7a5fa642b0b860fdba2d0dc83feb12fc', class: "six-files-list-item__size" }, Math.round(this.size / 1024), " KB"), h("six-icon", { key: 'ecca120c27d87cd450f99ab24ec26f056d014d71', class: {
40
+ }, onClick: this.downloadFile }, this.name), h("span", { key: '401f4ef61bd59467c074dcdd1b1393724b56b30f', class: "six-files-list-item__date" }, this.date), this.size != null && h("span", { key: 'c9a2df206e02dfe5187f072c59e2c9d4cb59bf19', class: "six-files-list-item__size" }, Math.round(this.size / 1024), " KB"), h("six-icon", { key: '85857613cb52b6cc117e983573dfa27cd6e78c15', class: {
41
41
  'six-files-list-item__icon': true,
42
42
  'six-files-list-item__icon--disabled': this.nodelete,
43
43
  }, size: "small", onClick: this.removeFile }, "delete")));
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, h } from './p-BtF2Ym6T.js';
1
+ import { p as proxyCustomElement, H, h } from './p-D512q9rn.js';
2
2
 
3
3
  const sixFileListCss = ".six-files-list__container{padding:1rem}.six-files-list__container :last-child{padding-bottom:0}";
4
4