@mhmo91/schmancy 0.10.41 → 0.10.43

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 (764) hide show
  1. package/custom-elements.json +291 -179
  2. package/dist/SchmancyElement-CeKrBW2j.cjs +2 -0
  3. package/dist/SchmancyElement-CeKrBW2j.cjs.map +1 -0
  4. package/dist/SchmancyElement-Ob9yGkiG.js +286 -0
  5. package/dist/SchmancyElement-Ob9yGkiG.js.map +1 -0
  6. package/dist/agent/schmancy.agent.js +4057 -4082
  7. package/dist/agent/schmancy.agent.js.map +1 -1
  8. package/dist/agent/schmancy.manifest.json +225 -94
  9. package/dist/animation-CCOIW4wJ.cjs.map +1 -1
  10. package/dist/animation-DCznELuT.js.map +1 -1
  11. package/dist/area-CbajcnmJ.cjs +21 -0
  12. package/dist/area-CbajcnmJ.cjs.map +1 -0
  13. package/dist/{area-BiM7V2ns.js → area-MxLAyWgV.js} +22 -22
  14. package/dist/area-MxLAyWgV.js.map +1 -0
  15. package/dist/area.cjs +1 -1
  16. package/dist/area.js +1 -1
  17. package/dist/{audio-CxO_j__6.js → audio-B_0PGwYC.js} +1 -1
  18. package/dist/audio-B_0PGwYC.js.map +1 -0
  19. package/dist/{audio-xXFfMPCS.cjs → audio-CpwrIaw-.cjs} +1 -1
  20. package/dist/audio-CpwrIaw-.cjs.map +1 -0
  21. package/dist/audio.cjs +1 -1
  22. package/dist/audio.js +2 -2
  23. package/dist/autocomplete-CILzaDB7.cjs +115 -0
  24. package/dist/autocomplete-CILzaDB7.cjs.map +1 -0
  25. package/dist/{autocomplete-DUBY9RtH.js → autocomplete-DV9RxCun.js} +113 -113
  26. package/dist/autocomplete-DV9RxCun.js.map +1 -0
  27. package/dist/autocomplete.cjs +1 -1
  28. package/dist/autocomplete.js +1 -1
  29. package/dist/avatar.cjs +1 -1
  30. package/dist/avatar.cjs.map +1 -1
  31. package/dist/avatar.js +4 -4
  32. package/dist/avatar.js.map +1 -1
  33. package/dist/badge.cjs +1 -1
  34. package/dist/badge.js +1 -1
  35. package/dist/{boat-ScvAima3.js → boat-DoZGgQ0P.js} +6 -8
  36. package/dist/{boat-ScvAima3.js.map → boat-DoZGgQ0P.js.map} +1 -1
  37. package/dist/{boat-BIYaPAHp.cjs → boat-sg0cWO8a.cjs} +3 -5
  38. package/dist/{boat-BIYaPAHp.cjs.map → boat-sg0cWO8a.cjs.map} +1 -1
  39. package/dist/boat.cjs +1 -1
  40. package/dist/boat.js +1 -1
  41. package/dist/breadcrumb.cjs +32 -31
  42. package/dist/breadcrumb.cjs.map +1 -1
  43. package/dist/breadcrumb.js +33 -32
  44. package/dist/breadcrumb.js.map +1 -1
  45. package/dist/busy-Brs-TDh9.cjs +133 -0
  46. package/dist/busy-Brs-TDh9.cjs.map +1 -0
  47. package/dist/busy-g4LoQmhB.js +172 -0
  48. package/dist/busy-g4LoQmhB.js.map +1 -0
  49. package/dist/busy.cjs +1 -1
  50. package/dist/busy.js +1 -1
  51. package/dist/{button-BTpxQ1Kd.cjs → button-Cml67Y_d.cjs} +41 -32
  52. package/dist/button-Cml67Y_d.cjs.map +1 -0
  53. package/dist/{button-D7QHfYf4.js → button-DWANpZfD.js} +43 -34
  54. package/dist/button-DWANpZfD.js.map +1 -0
  55. package/dist/button.cjs +40 -33
  56. package/dist/button.cjs.map +1 -1
  57. package/dist/button.js +42 -35
  58. package/dist/button.js.map +1 -1
  59. package/dist/calendar-2dJrw9pR.cjs +58 -0
  60. package/dist/calendar-2dJrw9pR.cjs.map +1 -0
  61. package/dist/calendar-kCe5LaBa.js +434 -0
  62. package/dist/calendar-kCe5LaBa.js.map +1 -0
  63. package/dist/calendar.cjs +1 -0
  64. package/dist/calendar.js +2 -0
  65. package/dist/{card-DCdtJ5Dy.js → card-CS_hYJbz.js} +136 -136
  66. package/dist/card-CS_hYJbz.js.map +1 -0
  67. package/dist/card-d0KhTnx5.cjs +177 -0
  68. package/dist/card-d0KhTnx5.cjs.map +1 -0
  69. package/dist/card.cjs +1 -1
  70. package/dist/card.js +1 -1
  71. package/dist/{checkbox-DVtyPk7l.js → checkbox-Bjp7kWuE.js} +2 -2
  72. package/dist/{checkbox-DVtyPk7l.js.map → checkbox-Bjp7kWuE.js.map} +1 -1
  73. package/dist/{checkbox-CYGOVPP-.cjs → checkbox-DZ2Wrz7Y.cjs} +1 -1
  74. package/dist/{checkbox-CYGOVPP-.cjs.map → checkbox-DZ2Wrz7Y.cjs.map} +1 -1
  75. package/dist/checkbox.cjs +1 -1
  76. package/dist/checkbox.js +1 -1
  77. package/dist/{chips-DVes-BSz.cjs → chips-BHBVkxsa.cjs} +142 -153
  78. package/dist/chips-BHBVkxsa.cjs.map +1 -0
  79. package/dist/{chips-C5bpgWyf.js → chips-DACeW7YL.js} +127 -138
  80. package/dist/chips-DACeW7YL.js.map +1 -0
  81. package/dist/chips.cjs +1 -1
  82. package/dist/chips.js +2 -2
  83. package/dist/connectivity.cjs +54 -38
  84. package/dist/connectivity.cjs.map +1 -1
  85. package/dist/connectivity.js +56 -40
  86. package/dist/connectivity.js.map +1 -1
  87. package/dist/content-drawer.cjs +1 -1
  88. package/dist/content-drawer.js +1 -1
  89. package/dist/cursor-glow-Ah7VXSj7.js.map +1 -1
  90. package/dist/cursor-glow-Bulq-38P.cjs.map +1 -1
  91. package/dist/date-range-CVAWMdar.cjs +138 -0
  92. package/dist/date-range-CVAWMdar.cjs.map +1 -0
  93. package/dist/date-range-D2NZU5Yg.js +433 -0
  94. package/dist/date-range-D2NZU5Yg.js.map +1 -0
  95. package/dist/{date-range-inline-Dx4Reboo.cjs → date-range-inline-CGM0SPK9.cjs} +2 -4
  96. package/dist/date-range-inline-CGM0SPK9.cjs.map +1 -0
  97. package/dist/{date-range-inline-DPqY9YYf.js → date-range-inline-D6Ozerzw.js} +3 -5
  98. package/dist/date-range-inline-D6Ozerzw.js.map +1 -0
  99. package/dist/date-range-inline.cjs +1 -1
  100. package/dist/date-range-inline.js +1 -1
  101. package/dist/date-range.cjs +1 -1
  102. package/dist/date-range.js +2 -2
  103. package/dist/dayjs.min-CvRZTfam.cjs +1 -0
  104. package/dist/dayjs.min-CvRZTfam.cjs.map +1 -0
  105. package/dist/dayjs.min-DnELezPs.js +296 -0
  106. package/dist/dayjs.min-DnELezPs.js.map +1 -0
  107. package/dist/delay.cjs +1 -1
  108. package/dist/delay.js +3 -3
  109. package/dist/{details-BnleHmYe.js → details-Ct1_GwKr.js} +104 -92
  110. package/dist/details-Ct1_GwKr.js.map +1 -0
  111. package/dist/{details-Bx2jSJxG.cjs → details-D4fVOaj4.cjs} +109 -97
  112. package/dist/details-D4fVOaj4.cjs.map +1 -0
  113. package/dist/details.cjs +1 -1
  114. package/dist/details.js +1 -1
  115. package/dist/{directives-CYf2fAdA.cjs → directives-B2VxfwRL.cjs} +1 -1
  116. package/dist/directives-B2VxfwRL.cjs.map +1 -0
  117. package/dist/{directives-d1rEbW1A.js → directives-Dj8jlv-Q.js} +3 -3
  118. package/dist/directives-Dj8jlv-Q.js.map +1 -0
  119. package/dist/directives.cjs +1 -1
  120. package/dist/directives.js +2 -2
  121. package/dist/discovery.service-CIa3Eeuk.cjs.map +1 -1
  122. package/dist/discovery.service-DZFxtRwW.js.map +1 -1
  123. package/dist/divider-B3v33OnX.cjs +57 -0
  124. package/dist/divider-B3v33OnX.cjs.map +1 -0
  125. package/dist/divider-BJHW3q11.js +89 -0
  126. package/dist/divider-BJHW3q11.js.map +1 -0
  127. package/dist/divider.cjs +1 -1
  128. package/dist/divider.js +1 -1
  129. package/dist/dropdown.cjs +40 -40
  130. package/dist/dropdown.cjs.map +1 -1
  131. package/dist/dropdown.js +41 -41
  132. package/dist/dropdown.js.map +1 -1
  133. package/dist/{expand-DNrWuG_-.js → expand-BT8mOu8Q.js} +103 -97
  134. package/dist/expand-BT8mOu8Q.js.map +1 -0
  135. package/dist/expand-D0YdR9nR.cjs +147 -0
  136. package/dist/expand-D0YdR9nR.cjs.map +1 -0
  137. package/dist/expand.cjs +1 -1
  138. package/dist/expand.js +1 -1
  139. package/dist/fab.cjs +1 -1
  140. package/dist/fab.cjs.map +1 -1
  141. package/dist/fab.js +2 -2
  142. package/dist/fab.js.map +1 -1
  143. package/dist/{float-V7VQKTb8.cjs → float-BPQlDyai.cjs} +1 -1
  144. package/dist/{float-V7VQKTb8.cjs.map → float-BPQlDyai.cjs.map} +1 -1
  145. package/dist/{float-C_CMle0q.js → float-BQcxj3i_.js} +2 -2
  146. package/dist/{float-C_CMle0q.js.map → float-BQcxj3i_.js.map} +1 -1
  147. package/dist/float.cjs +1 -1
  148. package/dist/float.js +1 -1
  149. package/dist/{form-DaaAQd2A.cjs → form-CoWFnClb.cjs} +8 -13
  150. package/dist/form-CoWFnClb.cjs.map +1 -0
  151. package/dist/{form-CMgYSZ3y.js → form-hC2LvCHX.js} +10 -15
  152. package/dist/form-hC2LvCHX.js.map +1 -0
  153. package/dist/form.cjs +12 -13
  154. package/dist/form.cjs.map +1 -1
  155. package/dist/form.js +23 -24
  156. package/dist/form.js.map +1 -1
  157. package/dist/gravity-6pL6CfIr.cjs.map +1 -1
  158. package/dist/gravity-sVK3zGBF.js.map +1 -1
  159. package/dist/handover/agent-runtime-followups.md +1 -1
  160. package/dist/handover/agent-runtime-v1.md +3 -3
  161. package/dist/{hashContent-iRZJJWtE.cjs.map → hashContent--s09Ed_g.cjs.map} +1 -1
  162. package/dist/{hashContent-BqU6v1Xr.js.map → hashContent-CAvrQ56N.js.map} +1 -1
  163. package/dist/icons-BeGKDZ-k.cjs +22 -0
  164. package/dist/icons-BeGKDZ-k.cjs.map +1 -0
  165. package/dist/{icons-mbpHO_73.js → icons-DEJnIxml.js} +20 -22
  166. package/dist/icons-DEJnIxml.js.map +1 -0
  167. package/dist/icons.cjs +1 -1
  168. package/dist/icons.js +1 -1
  169. package/dist/{iframe-88SN5JPu.cjs → iframe-BkSukM9C.cjs} +9 -9
  170. package/dist/iframe-BkSukM9C.cjs.map +1 -0
  171. package/dist/{iframe-U3P1DnQv.js → iframe-V3S-bwEY.js} +10 -10
  172. package/dist/iframe-V3S-bwEY.js.map +1 -0
  173. package/dist/iframe.cjs +1 -1
  174. package/dist/iframe.js +1 -1
  175. package/dist/index.cjs +1 -1
  176. package/dist/index.js +61 -60
  177. package/dist/{input-CPWvGjE4.js → input-CPFCSQld.js} +3 -10
  178. package/dist/input-CPFCSQld.js.map +1 -0
  179. package/dist/{input-BY4Korc5.cjs → input-DSfwfhhj.cjs} +2 -9
  180. package/dist/input-DSfwfhhj.cjs.map +1 -0
  181. package/dist/input-chip-BUuFJUky.cjs +129 -0
  182. package/dist/input-chip-BUuFJUky.cjs.map +1 -0
  183. package/dist/{input-chip-CCZ3i3Sf.js → input-chip-C3a1fwKB.js} +87 -104
  184. package/dist/input-chip-C3a1fwKB.js.map +1 -0
  185. package/dist/input.cjs +1 -1
  186. package/dist/input.js +1 -1
  187. package/dist/json.cjs +5 -1
  188. package/dist/json.cjs.map +1 -1
  189. package/dist/json.js +8 -4
  190. package/dist/json.js.map +1 -1
  191. package/dist/kbd.cjs +28 -28
  192. package/dist/kbd.cjs.map +1 -1
  193. package/dist/kbd.js +29 -29
  194. package/dist/kbd.js.map +1 -1
  195. package/dist/{layout-BhfC26Ks.cjs → layout-CdyHy_oX.cjs} +1 -1
  196. package/dist/layout-CdyHy_oX.cjs.map +1 -0
  197. package/dist/{layout-DC0Npqu7.js → layout-k6fOkpif.js} +1 -1
  198. package/dist/layout-k6fOkpif.js.map +1 -0
  199. package/dist/layout.cjs +26 -26
  200. package/dist/layout.cjs.map +1 -1
  201. package/dist/layout.js +27 -27
  202. package/dist/layout.js.map +1 -1
  203. package/dist/lazy-BaAiIUru.js.map +1 -1
  204. package/dist/lazy-C-7a4FAe.cjs.map +1 -1
  205. package/dist/{lightbox-BSwWvDQc.js → lightbox-DIG0VLOK.js} +8 -14
  206. package/dist/lightbox-DIG0VLOK.js.map +1 -0
  207. package/dist/{lightbox-KrZQH9w9.cjs → lightbox-E5rgd-hu.cjs} +7 -13
  208. package/dist/lightbox-E5rgd-hu.cjs.map +1 -0
  209. package/dist/lightbox.cjs +1 -1
  210. package/dist/lightbox.js +1 -1
  211. package/dist/list-BRz0rDSH.cjs +47 -0
  212. package/dist/list-BRz0rDSH.cjs.map +1 -0
  213. package/dist/{list-BwGtAAfi.js → list-NrOYDPBo.js} +48 -34
  214. package/dist/list-NrOYDPBo.js.map +1 -0
  215. package/dist/list.cjs +1 -1
  216. package/dist/list.js +1 -1
  217. package/dist/magnetic-DKtc4umC.cjs.map +1 -1
  218. package/dist/magnetic-DaOOv5Dz.js.map +1 -1
  219. package/dist/{menu-DX8d96x-.js → menu-B1Ei9SVj.js} +12 -12
  220. package/dist/menu-B1Ei9SVj.js.map +1 -0
  221. package/dist/{menu-jT_yAk5V.cjs → menu-Duvl66Nl.cjs} +10 -10
  222. package/dist/menu-Duvl66Nl.cjs.map +1 -0
  223. package/dist/menu.cjs +1 -1
  224. package/dist/menu.js +1 -1
  225. package/dist/{mixins-XGVIOvKt.cjs → mixins-Cjn20BQH.cjs} +42 -170
  226. package/dist/mixins-Cjn20BQH.cjs.map +1 -0
  227. package/dist/{mixins-COeG4DiX.js → mixins-q4KAL8Xr.js} +43 -177
  228. package/dist/mixins-q4KAL8Xr.js.map +1 -0
  229. package/dist/mixins.cjs +1 -1
  230. package/dist/mixins.js +2 -2
  231. package/dist/nav-drawer.cjs +1 -1
  232. package/dist/nav-drawer.js +1 -1
  233. package/dist/navigation-bar.cjs +1 -1
  234. package/dist/navigation-bar.js +1 -1
  235. package/dist/navigation-rail.cjs +2 -4
  236. package/dist/navigation-rail.cjs.map +1 -1
  237. package/dist/navigation-rail.js +3 -5
  238. package/dist/navigation-rail.js.map +1 -1
  239. package/dist/{notification-CAJVpLne.js → notification-COhUhUCr.js} +5 -7
  240. package/dist/notification-COhUhUCr.js.map +1 -0
  241. package/dist/{notification-DO3VXceY.cjs → notification-DsdA_MJe.cjs} +2 -4
  242. package/dist/notification-DsdA_MJe.cjs.map +1 -0
  243. package/dist/notification.cjs +1 -1
  244. package/dist/notification.js +1 -1
  245. package/dist/{option-JISY0wZJ.js → option-BIzgTbXz.js} +20 -20
  246. package/dist/option-BIzgTbXz.js.map +1 -0
  247. package/dist/option-C5hhqR2z.cjs +43 -0
  248. package/dist/option-C5hhqR2z.cjs.map +1 -0
  249. package/dist/option.cjs +1 -1
  250. package/dist/option.js +1 -1
  251. package/dist/{overlay-B1jVf-ge.cjs → overlay-BzgF8P7i.cjs} +48 -41
  252. package/dist/overlay-BzgF8P7i.cjs.map +1 -0
  253. package/dist/{overlay-CT-tMHDX.js → overlay-LoRRemny.js} +52 -45
  254. package/dist/overlay-LoRRemny.js.map +1 -0
  255. package/dist/overlay-stack-Bdr9lOqi.cjs.map +1 -1
  256. package/dist/overlay-stack-D2rgxQLh.js.map +1 -1
  257. package/dist/overlay.cjs +1 -1
  258. package/dist/{overlay.confirm-body-Dn-Zgogx.js → overlay.confirm-body-D0b1MoCw.js} +30 -45
  259. package/dist/overlay.confirm-body-D0b1MoCw.js.map +1 -0
  260. package/dist/{overlay.confirm-body-mYDYoJL8.cjs → overlay.confirm-body-DCneq73Z.cjs} +22 -37
  261. package/dist/overlay.confirm-body-DCneq73Z.cjs.map +1 -0
  262. package/dist/overlay.js +3 -3
  263. package/dist/{overlay.service-yqTOyLlr.js → overlay.service-BuUeti6X.js} +2 -2
  264. package/dist/overlay.service-BuUeti6X.js.map +1 -0
  265. package/dist/{overlay.service-BQmva9GY.cjs → overlay.service-MMTiW2T3.cjs} +1 -1
  266. package/dist/overlay.service-MMTiW2T3.cjs.map +1 -0
  267. package/dist/{progress-CGWozq_n.js → progress-D7n3SKAO.js} +50 -50
  268. package/dist/progress-D7n3SKAO.js.map +1 -0
  269. package/dist/progress-DsCnFsH5.cjs +51 -0
  270. package/dist/progress-DsCnFsH5.cjs.map +1 -0
  271. package/dist/progress.cjs +1 -1
  272. package/dist/progress.js +1 -1
  273. package/dist/{radio-group-DoSX5D2V.cjs → radio-group-CaAjg9UV.cjs} +1 -1
  274. package/dist/radio-group-CaAjg9UV.cjs.map +1 -0
  275. package/dist/{radio-group-CXkq6qAF.js → radio-group-Drpl6Pl8.js} +2 -2
  276. package/dist/radio-group-Drpl6Pl8.js.map +1 -0
  277. package/dist/radio-group.cjs +1 -1
  278. package/dist/radio-group.js +1 -1
  279. package/dist/range.cjs +4 -2
  280. package/dist/range.cjs.map +1 -1
  281. package/dist/range.js +5 -3
  282. package/dist/range.js.map +1 -1
  283. package/dist/reduced-motion-D-L12p7G.js.map +1 -1
  284. package/dist/reduced-motion-Ds-HjMzn.cjs.map +1 -1
  285. package/dist/{rxjs-utils-Csnks202.cjs.map → rxjs-utils-4P2v57ke.cjs.map} +1 -1
  286. package/dist/{rxjs-utils-d-ivVN84.js.map → rxjs-utils-JMFdgQSl.js.map} +1 -1
  287. package/dist/rxjs-utils.cjs +1 -1
  288. package/dist/rxjs-utils.js +1 -1
  289. package/dist/search-DPKoC-dT.cjs.map +1 -1
  290. package/dist/search-MvIBA93K.js.map +1 -1
  291. package/dist/{select-CU90i50_.js → select-CTXkrrVZ.js} +13 -13
  292. package/dist/select-CTXkrrVZ.js.map +1 -0
  293. package/dist/select-DcLcpPCh.cjs +56 -0
  294. package/dist/select-DcLcpPCh.cjs.map +1 -0
  295. package/dist/select.cjs +1 -1
  296. package/dist/select.js +1 -1
  297. package/dist/skeleton.cjs +37 -33
  298. package/dist/skeleton.cjs.map +1 -1
  299. package/dist/skeleton.js +38 -34
  300. package/dist/skeleton.js.map +1 -1
  301. package/dist/skills/schmancy/surface.md +79 -39
  302. package/dist/skills/surface.md +79 -39
  303. package/dist/slider.cjs +31 -31
  304. package/dist/slider.cjs.map +1 -1
  305. package/dist/slider.js +32 -32
  306. package/dist/slider.js.map +1 -1
  307. package/dist/{sound.service-m8WjOhjn.js → sound.service-AJwuk3yr.js} +1 -1
  308. package/dist/sound.service-AJwuk3yr.js.map +1 -0
  309. package/dist/{sound.service-Qhr8nCeG.cjs → sound.service-CVsxhQkX.cjs} +1 -1
  310. package/dist/sound.service-CVsxhQkX.cjs.map +1 -0
  311. package/dist/{splash-screen-Cs3dbPN3.js → splash-screen-DANfqvlo.js} +23 -26
  312. package/dist/splash-screen-DANfqvlo.js.map +1 -0
  313. package/dist/splash-screen-K74cgU6S.cjs +38 -0
  314. package/dist/splash-screen-K74cgU6S.cjs.map +1 -0
  315. package/dist/splash-screen.cjs +1 -1
  316. package/dist/splash-screen.js +1 -1
  317. package/dist/{src-CCVbLLgC.js → src-DAtcPmCb.js} +295 -389
  318. package/dist/src-DAtcPmCb.js.map +1 -0
  319. package/dist/src-DuRvYagm.cjs +237 -0
  320. package/dist/src-DuRvYagm.cjs.map +1 -0
  321. package/dist/{state--x58-AuK.cjs → state-BWQiqN6I.cjs} +1 -1
  322. package/dist/state-BWQiqN6I.cjs.map +1 -0
  323. package/dist/{state-QSwQ61sA.js → state-DBA_gzJO.js} +1 -1
  324. package/dist/state-DBA_gzJO.js.map +1 -0
  325. package/dist/state.cjs +1 -1
  326. package/dist/state.js +2 -2
  327. package/dist/steps.cjs +20 -12
  328. package/dist/steps.cjs.map +1 -1
  329. package/dist/steps.js +21 -13
  330. package/dist/steps.js.map +1 -1
  331. package/dist/surface-COBvWWFb.cjs +7 -0
  332. package/dist/surface-COBvWWFb.cjs.map +1 -0
  333. package/dist/{surface-cqMsHJHM.js → surface-DXk1X1tL.js} +9 -9
  334. package/dist/surface-DXk1X1tL.js.map +1 -0
  335. package/dist/surface.cjs +1 -1
  336. package/dist/surface.js +1 -1
  337. package/dist/switch.cjs +13 -4
  338. package/dist/switch.cjs.map +1 -1
  339. package/dist/switch.js +14 -5
  340. package/dist/switch.js.map +1 -1
  341. package/dist/table.cjs +4 -10
  342. package/dist/table.cjs.map +1 -1
  343. package/dist/table.js +5 -11
  344. package/dist/table.js.map +1 -1
  345. package/dist/{tabs-Ib0Mh__1.js → tabs-BYhFWnsx.js} +7 -7
  346. package/dist/tabs-BYhFWnsx.js.map +1 -0
  347. package/dist/{tabs-Dk9UDWpq.cjs → tabs-CJwB0fr0.cjs} +6 -6
  348. package/dist/tabs-CJwB0fr0.cjs.map +1 -0
  349. package/dist/tabs.cjs +1 -1
  350. package/dist/tabs.js +1 -1
  351. package/dist/teleport.cjs +1 -1
  352. package/dist/teleport.js +1 -1
  353. package/dist/{textarea-CcRsw08B.js → textarea-BjDx1w2g.js} +37 -41
  354. package/dist/textarea-BjDx1w2g.js.map +1 -0
  355. package/dist/{textarea-Cntd9tfV.cjs → textarea-CGgznhd6.cjs} +36 -40
  356. package/dist/textarea-CGgznhd6.cjs.map +1 -0
  357. package/dist/textarea.cjs +1 -1
  358. package/dist/textarea.js +1 -1
  359. package/dist/{theme-wwFbvp5e.cjs → theme-BVul7lHS.cjs} +6 -6
  360. package/dist/{theme-wwFbvp5e.cjs.map → theme-BVul7lHS.cjs.map} +1 -1
  361. package/dist/{theme-CKYXG0le.js → theme-Dvm5J8nh.js} +11 -11
  362. package/dist/{theme-CKYXG0le.js.map → theme-Dvm5J8nh.js.map} +1 -1
  363. package/dist/{theme-button-iLqT56KA.js → theme-button-Bko5ohFP.js} +2 -2
  364. package/dist/{theme-button-iLqT56KA.js.map → theme-button-Bko5ohFP.js.map} +1 -1
  365. package/dist/{theme-button-DE9Lrl7m.cjs → theme-button-YLY7zR1c.cjs} +1 -1
  366. package/dist/{theme-button-DE9Lrl7m.cjs.map → theme-button-YLY7zR1c.cjs.map} +1 -1
  367. package/dist/theme-button.cjs +1 -1
  368. package/dist/theme-button.js +1 -1
  369. package/dist/theme.cjs +1 -1
  370. package/dist/{theme.interface-CSt7JUBD.cjs.map → theme.interface-B-qxDsZQ.cjs.map} +1 -1
  371. package/dist/{theme.interface-odQEpZZH.js.map → theme.interface-B7caS5cg.js.map} +1 -1
  372. package/dist/theme.js +4 -4
  373. package/dist/{theme.service-5RjyR7Sy.js → theme.service-D94nm7Bf.js} +1 -1
  374. package/dist/theme.service-D94nm7Bf.js.map +1 -0
  375. package/dist/{theme.service-DA6KY52G.cjs → theme.service-h2fXQq7x.cjs} +1 -1
  376. package/dist/theme.service-h2fXQq7x.cjs.map +1 -0
  377. package/dist/tooltip.cjs.map +1 -1
  378. package/dist/tooltip.js.map +1 -1
  379. package/dist/tree.cjs +14 -14
  380. package/dist/tree.cjs.map +1 -1
  381. package/dist/tree.js +15 -15
  382. package/dist/tree.js.map +1 -1
  383. package/dist/types.cjs +1 -1
  384. package/dist/types.cjs.map +1 -1
  385. package/dist/types.js +19 -2
  386. package/dist/types.js.map +1 -1
  387. package/dist/typewriter.cjs.map +1 -1
  388. package/dist/typewriter.js.map +1 -1
  389. package/dist/typography-ByF2k5yW.js +358 -0
  390. package/dist/typography-ByF2k5yW.js.map +1 -0
  391. package/dist/typography-Cfav17it.cjs +282 -0
  392. package/dist/typography-Cfav17it.cjs.map +1 -0
  393. package/dist/typography.cjs +1 -1
  394. package/dist/typography.js +1 -1
  395. package/dist/utils-DIXndz6Q.cjs.map +1 -0
  396. package/dist/utils-dSPH7Oh9.js.map +1 -0
  397. package/dist/utils.cjs +1 -1
  398. package/dist/utils.js +1 -1
  399. package/dist/visually-hidden.cjs +13 -13
  400. package/dist/visually-hidden.cjs.map +1 -1
  401. package/dist/visually-hidden.js +14 -14
  402. package/dist/visually-hidden.js.map +1 -1
  403. package/dist/window-Br1OmpL-.cjs +67 -0
  404. package/dist/window-Br1OmpL-.cjs.map +1 -0
  405. package/dist/{window-Db5ZYY6t.js → window-CCmN4but.js} +28 -20
  406. package/dist/window-CCmN4but.js.map +1 -0
  407. package/dist/window.cjs +1 -1
  408. package/dist/window.js +1 -1
  409. package/package.json +1 -1
  410. package/skills/schmancy/surface.md +79 -39
  411. package/src/area/area.component.ts +249 -163
  412. package/src/area/area.service.test.ts +994 -1006
  413. package/src/area/area.service.ts +76 -72
  414. package/src/area/index.ts +7 -7
  415. package/src/area/lazy.ts +39 -42
  416. package/src/area/route.component.ts +54 -52
  417. package/src/area/router.types.ts +7 -7
  418. package/src/audio/emotional-sounds.ts +880 -801
  419. package/src/audio/sound.service.ts +26 -5
  420. package/src/avatar/avatar.ts +4 -4
  421. package/src/badge/badge.ts +60 -209
  422. package/src/badge/index.ts +1 -1
  423. package/src/boat/boat.ts +2 -4
  424. package/src/breadcrumb/breadcrumb.ts +37 -32
  425. package/src/busy/busy.ts +15 -12
  426. package/src/busy/index.ts +2 -2
  427. package/src/busy/spinner.ts +132 -119
  428. package/src/button/button.test.ts +5 -1
  429. package/src/button/button.ts +113 -72
  430. package/src/button/icon-button.ts +64 -46
  431. package/src/button/index.ts +2 -2
  432. package/src/calendar/calendar.test.ts +504 -0
  433. package/src/calendar/calendar.ts +587 -0
  434. package/src/calendar/index.ts +2 -0
  435. package/src/card/actions.ts +11 -9
  436. package/src/card/card.ts +79 -77
  437. package/src/card/content.ts +8 -6
  438. package/src/card/index.ts +4 -4
  439. package/src/card/media.ts +50 -50
  440. package/src/chips/assist-chip.ts +1 -1
  441. package/src/chips/chips.ts +1 -1
  442. package/src/chips/filter-chip.ts +1 -1
  443. package/src/chips/index.ts +1 -1
  444. package/src/chips/input-chip.ts +1 -1
  445. package/src/chips/suggestion-chip.ts +1 -1
  446. package/src/connectivity/connectivity-status.ts +91 -65
  447. package/src/content-drawer/drawer.service.ts +47 -36
  448. package/src/content-drawer/drawer.ts +31 -18
  449. package/src/content-drawer/index.ts +5 -5
  450. package/src/content-drawer/main.ts +9 -7
  451. package/src/content-drawer/sheet.ts +8 -6
  452. package/src/date-range-inline/date-range-inline.ts +523 -522
  453. package/src/date-range-inline/index.ts +2 -2
  454. package/src/delay/index.ts +1 -1
  455. package/src/details/details.ts +119 -105
  456. package/src/details/index.ts +1 -1
  457. package/src/directives/ai-badge.ts +1 -5
  458. package/src/directives/animate-text.ts +43 -31
  459. package/src/directives/art/effects/howl.ts +1 -4
  460. package/src/directives/art/effects/samwa.ts +11 -5
  461. package/src/directives/art/effects/snow.ts +1 -2
  462. package/src/directives/battery.ts +21 -12
  463. package/src/directives/confirm-click.ts +9 -17
  464. package/src/directives/cursor-glow.ts +1 -1
  465. package/src/directives/cycle-text.ts +7 -21
  466. package/src/directives/drag.ts +50 -45
  467. package/src/directives/fyi.ts +1 -6
  468. package/src/directives/gravity.ts +10 -8
  469. package/src/directives/hummingbird.ts +256 -107
  470. package/src/directives/index.ts +29 -29
  471. package/src/directives/intersect.ts +11 -11
  472. package/src/directives/layout.ts +25 -36
  473. package/src/directives/liquid.ts +4 -10
  474. package/src/directives/living-border.ts +7 -5
  475. package/src/directives/long-press.ts +2 -1
  476. package/src/directives/magnetic.ts +7 -6
  477. package/src/directives/nebula.ts +34 -28
  478. package/src/directives/overflow-within.ts +18 -20
  479. package/src/directives/reduced-motion.ts +9 -9
  480. package/src/directives/reveal.ts +193 -195
  481. package/src/directives/ripple.ts +9 -7
  482. package/src/directives/urgent.ts +3 -1
  483. package/src/directives/working-snake.ts +1 -1
  484. package/src/discovery/discovery.service.ts +198 -210
  485. package/src/discovery/index.ts +1 -1
  486. package/src/divider/divider.ts +49 -47
  487. package/src/divider/index.ts +1 -1
  488. package/src/dropdown/dropdown-content.ts +42 -40
  489. package/src/dropdown/index.ts +2 -2
  490. package/src/expand/expand-root.component.ts +70 -61
  491. package/src/expand/expand.component.ts +48 -43
  492. package/src/fab/fab.test.ts +1 -2
  493. package/src/fab/fab.ts +2 -4
  494. package/src/form/fields/autocomplete/autocomplete.scss +6 -2
  495. package/src/form/fields/autocomplete/autocomplete.ts +712 -724
  496. package/src/form/fields/autocomplete/index.ts +1 -1
  497. package/src/form/fields/checkbox/checkbox.ts +1 -4
  498. package/src/form/fields/chips/assist-chip.ts +69 -72
  499. package/src/form/fields/chips/chips.ts +14 -15
  500. package/src/form/fields/chips/filter-chip.ts +36 -32
  501. package/src/form/fields/chips/index.ts +5 -5
  502. package/src/form/fields/chips/input-chip.ts +130 -142
  503. package/src/form/fields/chips/suggestion-chip.ts +69 -72
  504. package/src/form/fields/date-range/date-range-dialog.ts +141 -194
  505. package/src/form/fields/date-range/date-range-helpers.ts +63 -64
  506. package/src/form/fields/date-range/date-range.test.ts +359 -122
  507. package/src/form/fields/date-range/date-range.ts +319 -395
  508. package/src/form/fields/date-range/index.ts +2 -2
  509. package/src/form/fields/input/index.ts +8 -8
  510. package/src/form/fields/input/input.scss +30 -26
  511. package/src/form/fields/input/input.test.ts +4 -1
  512. package/src/form/fields/input/input.ts +4 -20
  513. package/src/form/fields/radio-group/index.ts +2 -2
  514. package/src/form/fields/radio-group/radio-button.ts +8 -8
  515. package/src/form/fields/radio-group/radio-group.ts +4 -1
  516. package/src/form/fields/range/range.ts +3 -1
  517. package/src/form/fields/select/index.ts +2 -2
  518. package/src/form/fields/select/select.ts +51 -45
  519. package/src/form/fields/switch/switch.ts +13 -7
  520. package/src/form/fields/textarea/index.ts +1 -1
  521. package/src/form/fields/textarea/textarea.ts +44 -49
  522. package/src/form/form-summary.ts +15 -14
  523. package/src/form/form.test.ts +0 -1
  524. package/src/form/form.ts +11 -23
  525. package/src/icons/icon.ts +25 -25
  526. package/src/icons/index.ts +1 -1
  527. package/src/iframe/iframe.ts +11 -9
  528. package/src/index.ts +1 -0
  529. package/src/json/json.ts +9 -2
  530. package/src/kbd/kbd.ts +30 -28
  531. package/src/layout/scroll/index.ts +1 -1
  532. package/src/layout/scroll/scroll.ts +54 -54
  533. package/src/lightbox/lightbox-service.ts +27 -18
  534. package/src/lightbox/lightbox.directive.ts +2 -1
  535. package/src/lightbox/lightbox.ts +21 -38
  536. package/src/list/index.ts +3 -3
  537. package/src/list/list-item.ts +32 -26
  538. package/src/list/list.ts +13 -8
  539. package/src/menu/index.ts +2 -2
  540. package/src/menu/menu-item.ts +7 -5
  541. package/src/menu/menu.ts +8 -6
  542. package/src/nav-drawer/appbar.ts +9 -7
  543. package/src/nav-drawer/content.ts +10 -8
  544. package/src/nav-drawer/drawer.ts +29 -25
  545. package/src/nav-drawer/index.ts +6 -6
  546. package/src/navigation-bar/index.ts +2 -2
  547. package/src/navigation-bar/navigation-bar-item.ts +127 -118
  548. package/src/navigation-bar/navigation-bar.ts +103 -91
  549. package/src/navigation-rail/index.ts +2 -2
  550. package/src/navigation-rail/navigation-rail.ts +21 -22
  551. package/src/notification/index.ts +6 -6
  552. package/src/notification/notification-service.ts +1 -2
  553. package/src/notification/notification.scss +5 -1
  554. package/src/notification/notification.ts +1 -3
  555. package/src/notification/notify.ts +204 -207
  556. package/src/option/index.ts +1 -1
  557. package/src/option/option.ts +26 -25
  558. package/src/overlay/overlay.animations.ts +4 -14
  559. package/src/overlay/overlay.component.ts +110 -131
  560. package/src/overlay/overlay.confirm-body.ts +26 -48
  561. package/src/overlay/overlay.gestures.ts +8 -10
  562. package/src/overlay/overlay.layout.ts +1 -4
  563. package/src/overlay/overlay.positioning.ts +4 -15
  564. package/src/overlay/overlay.service.ts +9 -24
  565. package/src/overlay/overlay.stack.test.ts +4 -1
  566. package/src/overlay/overlay.stack.ts +4 -4
  567. package/src/overlay/overlay.types.ts +11 -20
  568. package/src/progress/index.ts +1 -1
  569. package/src/progress/progress.ts +135 -133
  570. package/src/rxjs-utils/index.ts +6 -6
  571. package/src/rxjs-utils/waitForElement.ts +20 -20
  572. package/src/rxjs-utils/waitForElementAll.ts +21 -21
  573. package/src/rxjs-utils/waitForElements.ts +27 -27
  574. package/src/rxjs-utils/waitForElementsAll.ts +27 -29
  575. package/src/rxjs-utils/waitUntil.ts +7 -12
  576. package/src/skeleton/skeleton.ts +39 -33
  577. package/src/slider/index.ts +2 -2
  578. package/src/slider/slide.ts +14 -12
  579. package/src/slider/slider.ts +24 -22
  580. package/src/splash-screen/index.ts +1 -1
  581. package/src/splash-screen/splash-screen.ts +26 -27
  582. package/src/state/active-host.ts +4 -5
  583. package/src/state/index.ts +34 -53
  584. package/src/state/persist.ts +14 -11
  585. package/src/state/schmancy-context.ts +88 -88
  586. package/src/state/state.test-d.ts +3 -13
  587. package/src/state/state.test.ts +1 -4
  588. package/src/steps/index.ts +3 -3
  589. package/src/steps/schmancy-step.ts +41 -31
  590. package/src/steps/schmancy-steps.ts +7 -5
  591. package/src/surface/index.ts +1 -1
  592. package/src/surface/surface.styles.ts +55 -191
  593. package/src/surface/surface.ts +18 -16
  594. package/src/table/index.ts +2 -2
  595. package/src/table/row.ts +1 -4
  596. package/src/table/table.ts +2 -5
  597. package/src/tabs/index.ts +2 -2
  598. package/src/tabs/tabs-group.ts +8 -6
  599. package/src/teleport/index.ts +2 -2
  600. package/src/test-utils/a11y.ts +1 -3
  601. package/src/theme/index.ts +17 -17
  602. package/src/theme/theme-audio-player.ts +18 -16
  603. package/src/theme/theme-controller-boat.ts +1 -1
  604. package/src/theme/theme-controller.ts +36 -32
  605. package/src/theme/theme.component.ts +5 -9
  606. package/src/theme/theme.events.ts +1 -1
  607. package/src/theme/theme.format.ts +7 -7
  608. package/src/theme/theme.service.ts +453 -468
  609. package/src/theme/theme.style.css +78 -23
  610. package/src/theme-button/index.ts +1 -1
  611. package/src/tooltip/tooltip.directive.ts +1 -1
  612. package/src/tree/index.ts +1 -1
  613. package/src/tree/tree.ts +24 -16
  614. package/src/types/surface.ts +38 -44
  615. package/src/typewriter/typewriter.directive.ts +30 -39
  616. package/src/typography/typography.ts +289 -269
  617. package/src/utils/animation.ts +2 -8
  618. package/src/utils/index.ts +6 -6
  619. package/src/utils/number.ts +480 -517
  620. package/src/utils/overlay-stack.ts +1 -3
  621. package/src/utils/search.ts +5 -9
  622. package/src/visually-hidden/visually-hidden.ts +15 -13
  623. package/src/window/window-manager.ts +6 -1
  624. package/src/window/window-position.ts +7 -5
  625. package/src/window/window.ts +146 -114
  626. package/types/mixins/surface.mixin.d.ts +8 -14
  627. package/types/src/badge/badge.d.ts +15 -48
  628. package/types/src/calendar/calendar.d.ts +108 -0
  629. package/types/src/calendar/calendar.test.d.ts +1 -0
  630. package/types/src/calendar/index.d.ts +2 -0
  631. package/types/src/directives/cursor-glow.d.ts +1 -1
  632. package/types/src/directives/hummingbird.d.ts +3 -3
  633. package/types/src/form/fields/date-range/date-range-dialog.d.ts +24 -28
  634. package/types/src/form/fields/date-range/date-range.d.ts +35 -66
  635. package/types/src/form/fields/date-range/date-range.test.d.ts +1 -0
  636. package/types/src/form/fields/date-range/index.d.ts +1 -1
  637. package/types/src/index.d.ts +1 -0
  638. package/types/src/surface/surface.d.ts +9 -7
  639. package/types/src/surface/surface.styles.d.ts +15 -20
  640. package/types/src/types/surface.d.ts +17 -22
  641. package/types/src/utils/number.d.ts +1 -1
  642. package/types/src/window/window.d.ts +0 -1
  643. package/dist/SchmancyElement-D9WA9FP9.cjs +0 -2
  644. package/dist/SchmancyElement-D9WA9FP9.cjs.map +0 -1
  645. package/dist/SchmancyElement-OWgz9ePG.js +0 -286
  646. package/dist/SchmancyElement-OWgz9ePG.js.map +0 -1
  647. package/dist/area-BiM7V2ns.js.map +0 -1
  648. package/dist/area-C7XjCoet.cjs +0 -21
  649. package/dist/area-C7XjCoet.cjs.map +0 -1
  650. package/dist/audio-CxO_j__6.js.map +0 -1
  651. package/dist/audio-xXFfMPCS.cjs.map +0 -1
  652. package/dist/autocomplete-DD7Hd59N.cjs +0 -115
  653. package/dist/autocomplete-DD7Hd59N.cjs.map +0 -1
  654. package/dist/autocomplete-DUBY9RtH.js.map +0 -1
  655. package/dist/busy-BjsO3y2A.js +0 -173
  656. package/dist/busy-BjsO3y2A.js.map +0 -1
  657. package/dist/busy-UbCGkTAi.cjs +0 -134
  658. package/dist/busy-UbCGkTAi.cjs.map +0 -1
  659. package/dist/button-BTpxQ1Kd.cjs.map +0 -1
  660. package/dist/button-D7QHfYf4.js.map +0 -1
  661. package/dist/card-DCdtJ5Dy.js.map +0 -1
  662. package/dist/card-rprhCYIC.cjs +0 -177
  663. package/dist/card-rprhCYIC.cjs.map +0 -1
  664. package/dist/chips-C5bpgWyf.js.map +0 -1
  665. package/dist/chips-DVes-BSz.cjs.map +0 -1
  666. package/dist/date-range-DDUuBlJ6.cjs +0 -142
  667. package/dist/date-range-DDUuBlJ6.cjs.map +0 -1
  668. package/dist/date-range-IPlbrhwW.js +0 -966
  669. package/dist/date-range-IPlbrhwW.js.map +0 -1
  670. package/dist/date-range-inline-DPqY9YYf.js.map +0 -1
  671. package/dist/date-range-inline-Dx4Reboo.cjs.map +0 -1
  672. package/dist/details-BnleHmYe.js.map +0 -1
  673. package/dist/details-Bx2jSJxG.cjs.map +0 -1
  674. package/dist/directives-CYf2fAdA.cjs.map +0 -1
  675. package/dist/directives-d1rEbW1A.js.map +0 -1
  676. package/dist/divider-CimQJVr3.cjs +0 -57
  677. package/dist/divider-CimQJVr3.cjs.map +0 -1
  678. package/dist/divider-Cr-rx3vA.js +0 -89
  679. package/dist/divider-Cr-rx3vA.js.map +0 -1
  680. package/dist/expand-DNrWuG_-.js.map +0 -1
  681. package/dist/expand-_cp8oBjp.cjs +0 -141
  682. package/dist/expand-_cp8oBjp.cjs.map +0 -1
  683. package/dist/form-CMgYSZ3y.js.map +0 -1
  684. package/dist/form-DaaAQd2A.cjs.map +0 -1
  685. package/dist/icons-C2RkSXjP.cjs +0 -24
  686. package/dist/icons-C2RkSXjP.cjs.map +0 -1
  687. package/dist/icons-mbpHO_73.js.map +0 -1
  688. package/dist/iframe-88SN5JPu.cjs.map +0 -1
  689. package/dist/iframe-U3P1DnQv.js.map +0 -1
  690. package/dist/input-BY4Korc5.cjs.map +0 -1
  691. package/dist/input-CPWvGjE4.js.map +0 -1
  692. package/dist/input-chip-CCZ3i3Sf.js.map +0 -1
  693. package/dist/input-chip-kytMdbaM.cjs +0 -146
  694. package/dist/input-chip-kytMdbaM.cjs.map +0 -1
  695. package/dist/layout-BhfC26Ks.cjs.map +0 -1
  696. package/dist/layout-DC0Npqu7.js.map +0 -1
  697. package/dist/lightbox-BSwWvDQc.js.map +0 -1
  698. package/dist/lightbox-KrZQH9w9.cjs.map +0 -1
  699. package/dist/list-BwGtAAfi.js.map +0 -1
  700. package/dist/list-DIs02A3d.cjs +0 -40
  701. package/dist/list-DIs02A3d.cjs.map +0 -1
  702. package/dist/menu-DX8d96x-.js.map +0 -1
  703. package/dist/menu-jT_yAk5V.cjs.map +0 -1
  704. package/dist/mixins-COeG4DiX.js.map +0 -1
  705. package/dist/mixins-XGVIOvKt.cjs.map +0 -1
  706. package/dist/notification-CAJVpLne.js.map +0 -1
  707. package/dist/notification-DO3VXceY.cjs.map +0 -1
  708. package/dist/option-BNo1Zs-l.cjs +0 -43
  709. package/dist/option-BNo1Zs-l.cjs.map +0 -1
  710. package/dist/option-JISY0wZJ.js.map +0 -1
  711. package/dist/overlay-B1jVf-ge.cjs.map +0 -1
  712. package/dist/overlay-CT-tMHDX.js.map +0 -1
  713. package/dist/overlay.confirm-body-Dn-Zgogx.js.map +0 -1
  714. package/dist/overlay.confirm-body-mYDYoJL8.cjs.map +0 -1
  715. package/dist/overlay.service-BQmva9GY.cjs.map +0 -1
  716. package/dist/overlay.service-yqTOyLlr.js.map +0 -1
  717. package/dist/progress-CGWozq_n.js.map +0 -1
  718. package/dist/progress-DOVJhsR0.cjs +0 -51
  719. package/dist/progress-DOVJhsR0.cjs.map +0 -1
  720. package/dist/radio-group-CXkq6qAF.js.map +0 -1
  721. package/dist/radio-group-DoSX5D2V.cjs.map +0 -1
  722. package/dist/select-CObZenqg.cjs +0 -56
  723. package/dist/select-CObZenqg.cjs.map +0 -1
  724. package/dist/select-CU90i50_.js.map +0 -1
  725. package/dist/sound.service-Qhr8nCeG.cjs.map +0 -1
  726. package/dist/sound.service-m8WjOhjn.js.map +0 -1
  727. package/dist/splash-screen-Ca6Ew8p6.cjs +0 -41
  728. package/dist/splash-screen-Ca6Ew8p6.cjs.map +0 -1
  729. package/dist/splash-screen-Cs3dbPN3.js.map +0 -1
  730. package/dist/src-CCVbLLgC.js.map +0 -1
  731. package/dist/src-CpftzdZV.cjs +0 -264
  732. package/dist/src-CpftzdZV.cjs.map +0 -1
  733. package/dist/state--x58-AuK.cjs.map +0 -1
  734. package/dist/state-QSwQ61sA.js.map +0 -1
  735. package/dist/surface-bTjOiq8n.cjs +0 -7
  736. package/dist/surface-bTjOiq8n.cjs.map +0 -1
  737. package/dist/surface-cqMsHJHM.js.map +0 -1
  738. package/dist/tabs-Dk9UDWpq.cjs.map +0 -1
  739. package/dist/tabs-Ib0Mh__1.js.map +0 -1
  740. package/dist/textarea-CcRsw08B.js.map +0 -1
  741. package/dist/textarea-Cntd9tfV.cjs.map +0 -1
  742. package/dist/theme.service-5RjyR7Sy.js.map +0 -1
  743. package/dist/theme.service-DA6KY52G.cjs.map +0 -1
  744. package/dist/typography-DeEYdMhW.js +0 -358
  745. package/dist/typography-DeEYdMhW.js.map +0 -1
  746. package/dist/typography-Tm7wSaB2.cjs +0 -282
  747. package/dist/typography-Tm7wSaB2.cjs.map +0 -1
  748. package/dist/utils-DTa3QHxk.cjs.map +0 -1
  749. package/dist/utils-H8wNknWC.js.map +0 -1
  750. package/dist/window-Db5ZYY6t.js.map +0 -1
  751. package/dist/window-oQqx5xqQ.cjs +0 -59
  752. package/dist/window-oQqx5xqQ.cjs.map +0 -1
  753. package/src/form/fields/date-range/date-range-presets.ts +0 -220
  754. package/src/form/fields/date-range/date-utils.ts +0 -58
  755. package/types/src/form/fields/date-range/date-range-presets.d.ts +0 -18
  756. package/types/src/form/fields/date-range/date-utils.d.ts +0 -15
  757. /package/dist/{hashContent-iRZJJWtE.cjs → hashContent--s09Ed_g.cjs} +0 -0
  758. /package/dist/{hashContent-BqU6v1Xr.js → hashContent-CAvrQ56N.js} +0 -0
  759. /package/dist/{rxjs-utils-Csnks202.cjs → rxjs-utils-4P2v57ke.cjs} +0 -0
  760. /package/dist/{rxjs-utils-d-ivVN84.js → rxjs-utils-JMFdgQSl.js} +0 -0
  761. /package/dist/{theme.interface-CSt7JUBD.cjs → theme.interface-B-qxDsZQ.cjs} +0 -0
  762. /package/dist/{theme.interface-odQEpZZH.js → theme.interface-B7caS5cg.js} +0 -0
  763. /package/dist/{utils-DTa3QHxk.cjs → utils-DIXndz6Q.cjs} +0 -0
  764. /package/dist/{utils-H8wNknWC.js → utils-dSPH7Oh9.js} +0 -0
@@ -1,5 +1,5 @@
1
- import { t as e, u as t } from "./SchmancyElement-OWgz9ePG.js";
2
- import { t as n } from "./mixins-COeG4DiX.js";
1
+ import { t as e, u as t } from "./SchmancyElement-Ob9yGkiG.js";
2
+ import { t as n } from "./mixins-q4KAL8Xr.js";
3
3
  import { f as r } from "./animation-DCznELuT.js";
4
4
  import { t as i } from "./reduced-motion-D-L12p7G.js";
5
5
  import { t as a } from "./cursor-glow-Ah7VXSj7.js";
@@ -12,34 +12,35 @@ import { createRef as x, ref as S } from "lit/directives/ref.js";
12
12
  var C = class extends n(e) {
13
13
  static {
14
14
  this.styles = [v`
15
- :host {
16
- display: block;
17
- }
15
+ :host {
16
+ display: block;
17
+ border-radius: 1rem;
18
+ }
18
19
 
19
- :host([overlay]) {
20
- position: relative;
21
- }
20
+ :host([overlay]) {
21
+ position: relative;
22
+ }
22
23
 
23
- :host([open]) {
24
- z-index: 10;
25
- }
24
+ :host([open]) {
25
+ z-index: 10;
26
+ }
26
27
 
27
- details {
28
- background: inherit;
29
- color: inherit;
30
- border-radius: inherit;
31
- }
28
+ details {
29
+ background: inherit;
30
+ color: inherit;
31
+ border-radius: inherit;
32
+ }
32
33
 
33
- summary::-webkit-details-marker {
34
- display: none;
35
- }
34
+ summary::-webkit-details-marker {
35
+ display: none;
36
+ }
36
37
 
37
- summary {
38
- list-style: none;
39
- color: inherit;
40
- }
38
+ summary {
39
+ list-style: none;
40
+ color: inherit;
41
+ }
41
42
 
42
- /*
43
+ /*
43
44
  * Blackbird 2.1 — CSS-driven collapse/expand
44
45
  *
45
46
  * Single animation system: CSS grid transition handles height,
@@ -47,40 +48,52 @@ var C = class extends n(e) {
47
48
  * No competing Web Animations API on content.
48
49
  */
49
50
 
50
- .content-wrapper {
51
- display: grid;
52
- grid-template-rows: 0fr;
53
- overflow: hidden;
54
- opacity: 0;
55
- transition:
56
- grid-template-rows 400ms cubic-bezier(0.34, 1.2, 0.64, 1),
57
- opacity 250ms ease;
58
- }
59
-
60
- /* Spring easing when linear() is supported */
61
- @supports (animation-timing-function: linear(0, 1)) {
62
51
  .content-wrapper {
52
+ display: grid;
53
+ grid-template-rows: 0fr;
54
+ overflow: hidden;
55
+ opacity: 0;
63
56
  transition:
64
- grid-template-rows 400ms linear(
65
- 0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%,
66
- 0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50%, 1.015 54.8%,
67
- 1.017 63.3%, 1.001
68
- ),
57
+ grid-template-rows 400ms cubic-bezier(0.34, 1.2, 0.64, 1),
69
58
  opacity 250ms ease;
70
59
  }
71
- }
72
60
 
73
- .content-wrapper[data-open='true'] {
74
- grid-template-rows: 1fr;
75
- opacity: 1;
76
- }
61
+ /* Spring easing when linear() is supported */
62
+ @supports (animation-timing-function: linear(0, 1)) {
63
+ .content-wrapper {
64
+ transition:
65
+ grid-template-rows 400ms
66
+ linear(
67
+ 0,
68
+ 0.006,
69
+ 0.025 2.8%,
70
+ 0.101 6.1%,
71
+ 0.539 18.9%,
72
+ 0.721 25.3%,
73
+ 0.849 31.5%,
74
+ 0.937 38.1%,
75
+ 0.968 41.8%,
76
+ 0.991 45.7%,
77
+ 1.006 50%,
78
+ 1.015 54.8%,
79
+ 1.017 63.3%,
80
+ 1.001
81
+ ),
82
+ opacity 250ms ease;
83
+ }
84
+ }
77
85
 
78
- .content-inner {
79
- min-height: 0;
80
- overflow: hidden;
81
- }
86
+ .content-wrapper[data-open='true'] {
87
+ grid-template-rows: 1fr;
88
+ opacity: 1;
89
+ }
82
90
 
83
- /*
91
+ .content-inner {
92
+ min-height: 0;
93
+ overflow: hidden;
94
+ }
95
+
96
+ /*
84
97
  * Progressive Enhancement: ::details-content (Chrome 131+)
85
98
  *
86
99
  * When both ::details-content AND interpolate-size are supported,
@@ -88,41 +101,41 @@ var C = class extends n(e) {
88
101
  * close via transition-behavior: allow-discrete on content-visibility.
89
102
  * The grid wrapper becomes transparent (display: contents).
90
103
  */
91
- @supports selector(::details-content) and (interpolate-size: allow-keywords) {
92
- :host {
93
- interpolate-size: allow-keywords;
94
- }
104
+ @supports selector(::details-content) and (interpolate-size: allow-keywords) {
105
+ :host {
106
+ interpolate-size: allow-keywords;
107
+ }
95
108
 
96
- .content-wrapper {
97
- display: contents;
98
- }
109
+ .content-wrapper {
110
+ display: contents;
111
+ }
99
112
 
100
- details::details-content {
101
- block-size: 0;
102
- overflow-y: clip;
103
- opacity: 0;
104
- transition:
105
- block-size 400ms cubic-bezier(0.34, 1.2, 0.64, 1),
106
- opacity 250ms ease,
107
- content-visibility 400ms;
108
- transition-behavior: allow-discrete;
109
- }
113
+ details::details-content {
114
+ block-size: 0;
115
+ overflow-y: clip;
116
+ opacity: 0;
117
+ transition:
118
+ block-size 400ms cubic-bezier(0.34, 1.2, 0.64, 1),
119
+ opacity 250ms ease,
120
+ content-visibility 400ms;
121
+ transition-behavior: allow-discrete;
122
+ }
110
123
 
111
- details[open]::details-content {
112
- block-size: auto;
113
- opacity: 1;
124
+ details[open]::details-content {
125
+ block-size: auto;
126
+ opacity: 1;
127
+ }
114
128
  }
115
- }
116
129
 
117
- @media (prefers-reduced-motion: reduce) {
118
- .content-wrapper {
119
- transition: none;
120
- }
121
- details::details-content {
122
- transition: none;
130
+ @media (prefers-reduced-motion: reduce) {
131
+ .content-wrapper {
132
+ transition: none;
133
+ }
134
+ details::details-content {
135
+ transition: none;
136
+ }
123
137
  }
124
- }
125
- `];
138
+ `];
126
139
  }
127
140
  static {
128
141
  this.shadowRootOptions = {
@@ -146,7 +159,7 @@ var C = class extends n(e) {
146
159
  #o;
147
160
  #s;
148
161
  constructor() {
149
- super(), this.summary = "", this.indicatorPlacement = "end", this.hideIndicator = !1, this.indicatorRotate = 90, this.locked = !1, this.overlay = !1, this.summaryPadding = "p-3", this.contentPadding = "p-3", this.#e = new s(!1), this.#t = x(), this.#n = x(), this.#i = !1, this.#a = !1, this.#s = typeof CSS < "u" && !!CSS.supports?.("selector(::details-content)") && !!CSS.supports?.("interpolate-size", "allow-keywords"), this.hasOpened = !1, this.type = "solid", this.rounded = "all";
162
+ super(), this.summary = "", this.indicatorPlacement = "end", this.hideIndicator = !1, this.indicatorRotate = 90, this.locked = !1, this.overlay = !1, this.summaryPadding = "p-3", this.contentPadding = "p-3", this.#e = new s(!1), this.#t = x(), this.#n = x(), this.#i = !1, this.#a = !1, this.#s = typeof CSS < "u" && !!CSS.supports?.("selector(::details-content)") && !!CSS.supports?.("interpolate-size", "allow-keywords"), this.hasOpened = !1, this.type = "containerLowest";
150
163
  }
151
164
  connectedCallback() {
152
165
  super.connectedCallback(), this.#e.pipe(l(), p((e) => {
@@ -178,27 +191,26 @@ var C = class extends n(e) {
178
191
  });
179
192
  return y`
180
193
  <details ?open=${e} @toggle=${this.#l} class=${t}>
181
- <summary ${this.locked ? "" : o({
194
+ <summary
195
+ ${this.locked ? "" : o({
182
196
  strength: 2,
183
197
  radius: 50
184
- })} ${this.locked ? "" : a({
198
+ })}
199
+ ${this.locked ? "" : a({
185
200
  radius: 250,
186
201
  intensity: .08
187
- })} class=${n} tabindex=${this.locked ? -1 : 0} @click=${this.#c}>
202
+ })}
203
+ class=${n}
204
+ tabindex=${this.locked ? -1 : 0}
205
+ @click=${this.#c}
206
+ >
188
207
  ${this.hideIndicator ? "" : y`
189
208
  <span
190
209
  ${S(this.#t)}
191
210
  class="flex items-center justify-center w-5 h-5 rounded-full shrink-0 opacity-70 group-hover:opacity-100"
192
211
  >
193
212
  <slot name="indicator" @slotchange=${this.#d}>
194
- <svg
195
- width="20"
196
- height="20"
197
- viewBox="0 0 24 24"
198
- fill="none"
199
- class="w-5 h-5"
200
- aria-hidden="true"
201
- >
213
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="w-5 h-5" aria-hidden="true">
202
214
  <path
203
215
  d="M9 6L15 12L9 18"
204
216
  stroke="currentColor"
@@ -0,0 +1 @@
1
+ {"version":3,"file":"details-Ct1_GwKr.js","names":["#open$","#animateIndicator","#updateIndicatorSlot","#closeSub","#handleToggle","#handleSummaryClick","#indicatorRef","#handleIndicatorSlotChange","#contentRef","#closing","#nativeAnim","#startClose","#indicatorIsOpen","#currentAnimation"],"sources":["../src/details/details.ts"],"sourcesContent":["import { SchmancyElement, SurfaceMixin } from '@mixins/index'\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { cursorGlow } from '../directives/cursor-glow'\nimport { magnetic } from '../directives/magnetic'\nimport { createRef, ref, Ref } from 'lit/directives/ref.js'\nimport { BehaviorSubject, fromEvent, Subscription } from 'rxjs'\nimport { distinctUntilChanged, filter, take, takeUntil, tap } from 'rxjs/operators'\nimport { SPRING_SNAPPY } from '../utils/animation.js'\nimport { reducedMotion$ } from '../directives/reduced-motion'\n\n@customElement('schmancy-details')\nexport default class SchmancyDetails extends SurfaceMixin(SchmancyElement) {\n\tstatic styles = [\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t\tborder-radius: 1rem;\n\t\t\t}\n\n\t\t\t:host([overlay]) {\n\t\t\t\tposition: relative;\n\t\t\t}\n\n\t\t\t:host([open]) {\n\t\t\t\tz-index: 10;\n\t\t\t}\n\n\t\t\tdetails {\n\t\t\t\tbackground: inherit;\n\t\t\t\tcolor: inherit;\n\t\t\t\tborder-radius: inherit;\n\t\t\t}\n\n\t\t\tsummary::-webkit-details-marker {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\tsummary {\n\t\t\t\tlist-style: none;\n\t\t\t\tcolor: inherit;\n\t\t\t}\n\n\t\t\t/*\n\t\t * Blackbird 2.1 — CSS-driven collapse/expand\n\t\t *\n\t\t * Single animation system: CSS grid transition handles height,\n\t\t * coordinated opacity fade for buttery smooth feel.\n\t\t * No competing Web Animations API on content.\n\t\t */\n\n\t\t\t.content-wrapper {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgrid-template-rows: 0fr;\n\t\t\t\toverflow: hidden;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition:\n\t\t\t\t\tgrid-template-rows 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\t\topacity 250ms ease;\n\t\t\t}\n\n\t\t\t/* Spring easing when linear() is supported */\n\t\t\t@supports (animation-timing-function: linear(0, 1)) {\n\t\t\t\t.content-wrapper {\n\t\t\t\t\ttransition:\n\t\t\t\t\t\tgrid-template-rows 400ms\n\t\t\t\t\t\t\tlinear(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0.006,\n\t\t\t\t\t\t\t\t0.025 2.8%,\n\t\t\t\t\t\t\t\t0.101 6.1%,\n\t\t\t\t\t\t\t\t0.539 18.9%,\n\t\t\t\t\t\t\t\t0.721 25.3%,\n\t\t\t\t\t\t\t\t0.849 31.5%,\n\t\t\t\t\t\t\t\t0.937 38.1%,\n\t\t\t\t\t\t\t\t0.968 41.8%,\n\t\t\t\t\t\t\t\t0.991 45.7%,\n\t\t\t\t\t\t\t\t1.006 50%,\n\t\t\t\t\t\t\t\t1.015 54.8%,\n\t\t\t\t\t\t\t\t1.017 63.3%,\n\t\t\t\t\t\t\t\t1.001\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\topacity 250ms ease;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.content-wrapper[data-open='true'] {\n\t\t\t\tgrid-template-rows: 1fr;\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\t.content-inner {\n\t\t\t\tmin-height: 0;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n\t\t\t/*\n\t\t * Progressive Enhancement: ::details-content (Chrome 131+)\n\t\t *\n\t\t * When both ::details-content AND interpolate-size are supported,\n\t\t * the browser handles height animation natively — including animated\n\t\t * close via transition-behavior: allow-discrete on content-visibility.\n\t\t * The grid wrapper becomes transparent (display: contents).\n\t\t */\n\t\t\t@supports selector(::details-content) and (interpolate-size: allow-keywords) {\n\t\t\t\t:host {\n\t\t\t\t\tinterpolate-size: allow-keywords;\n\t\t\t\t}\n\n\t\t\t\t.content-wrapper {\n\t\t\t\t\tdisplay: contents;\n\t\t\t\t}\n\n\t\t\t\tdetails::details-content {\n\t\t\t\t\tblock-size: 0;\n\t\t\t\t\toverflow-y: clip;\n\t\t\t\t\topacity: 0;\n\t\t\t\t\ttransition:\n\t\t\t\t\t\tblock-size 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\t\t\topacity 250ms ease,\n\t\t\t\t\t\tcontent-visibility 400ms;\n\t\t\t\t\ttransition-behavior: allow-discrete;\n\t\t\t\t}\n\n\t\t\t\tdetails[open]::details-content {\n\t\t\t\t\tblock-size: auto;\n\t\t\t\t\topacity: 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\t.content-wrapper {\n\t\t\t\t\ttransition: none;\n\t\t\t\t}\n\t\t\t\tdetails::details-content {\n\t\t\t\t\ttransition: none;\n\t\t\t\t}\n\t\t\t}\n\t\t`,\n\t]\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open' as const,\n\t\tdelegatesFocus: true,\n\t}\n\n\t@property() summary = ''\n\n\t@property({ type: Boolean, reflect: true })\n\tget open() {\n\t\treturn this.#open$.value\n\t}\n\tset open(value: boolean) {\n\t\tif (this.#open$.value !== value) {\n\t\t\tthis.#open$.next(value)\n\t\t}\n\t}\n\n\t@property({ attribute: 'indicator-placement', reflect: true })\n\tindicatorPlacement: 'start' | 'end' = 'end'\n\n\t@property({ type: Boolean, attribute: 'hide-indicator' })\n\thideIndicator = false\n\n\t@property({ type: Number, attribute: 'indicator-rotate' })\n\tindicatorRotate: number = 90\n\n\t@property({ type: Boolean, reflect: true })\n\tlocked = false\n\n\t@property({ type: Boolean, reflect: true })\n\toverlay = false\n\n\t@property({ attribute: 'summary-padding' })\n\tsummaryPadding = 'p-3'\n\n\t@property({ attribute: 'content-padding' })\n\tcontentPadding = 'p-3'\n\n\t#open$ = new BehaviorSubject<boolean>(false)\n\t#indicatorRef: Ref<HTMLElement> = createRef()\n\t#contentRef: Ref<HTMLDivElement> = createRef()\n\t#currentAnimation?: Animation\n\t#indicatorIsOpen = false\n\t#closing = false\n\t#closeSub?: Subscription\n\n\t/** True when browser handles close animation natively via ::details-content */\n\t#nativeAnim =\n\t\ttypeof CSS !== 'undefined' &&\n\t\t!!CSS.supports?.('selector(::details-content)') &&\n\t\t!!CSS.supports?.('interpolate-size', 'allow-keywords')\n\n\t/**\n\t * Lazy rendering: tracks if content has ever been opened.\n\t * Once true, content stays rendered (even when closed) for smooth animations.\n\t */\n\t@state() private hasOpened = false\n\n\tconstructor() {\n\t\tsuper()\n\t\tthis.type = 'containerLowest'\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tthis.#open$\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(isOpen => {\n\t\t\t\t\tif (isOpen && !this.hasOpened) {\n\t\t\t\t\t\tthis.hasOpened = true\n\t\t\t\t\t}\n\t\t\t\t\tthis.#animateIndicator(isOpen)\n\t\t\t\t\tthis.#updateIndicatorSlot()\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => this.requestUpdate())\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.#closeSub?.unsubscribe()\n\t}\n\n\trender() {\n\t\tconst isOpen = this.#open$.value\n\n\t\tconst detailsClasses = this.classMap({\n\t\t\t'w-full rounded-xl transition-shadow duration-200 ease-out': true,\n\t\t\t'overflow-visible': !this.overlay,\n\t\t\t'overflow-visible relative': this.overlay,\n\t\t})\n\n\t\tconst summaryClasses = this.classMap({\n\t\t\t[this.summaryPadding]: true,\n\t\t\t'select-none relative flex items-center gap-2 rounded-xl': true,\n\t\t\t'transition-colors duration-150': true,\n\t\t\t'hover:bg-surface-on/5 active:bg-surface-on/8': !this.locked,\n\t\t\t'focus-visible:ring-2 focus-visible:ring-primary-default/50 focus-visible:ring-offset-1': !this.locked,\n\t\t\t'cursor-pointer group': !this.locked,\n\t\t\t'cursor-default': this.locked,\n\t\t\t'flex-row': this.indicatorPlacement === 'start',\n\t\t\t'flex-row-reverse': this.indicatorPlacement === 'end',\n\t\t})\n\n\t\tconst contentClasses = this.classMap({\n\t\t\t[this.contentPadding]: true,\n\t\t\t'text-sm': true,\n\t\t\t'absolute inset-x-0 bg-surface-lowest/55 backdrop-blur-[16px] shadow-2xl rounded-b-xl z-20': this.overlay,\n\t\t})\n\n\t\treturn html`\n\t\t\t<details ?open=${isOpen} @toggle=${this.#handleToggle} class=${detailsClasses}>\n\t\t\t\t<summary\n\t\t\t\t\t${this.locked ? '' : magnetic({ strength: 2, radius: 50 })}\n\t\t\t\t\t${this.locked ? '' : cursorGlow({ radius: 250, intensity: 0.08 })}\n\t\t\t\t\tclass=${summaryClasses}\n\t\t\t\t\ttabindex=${this.locked ? -1 : 0}\n\t\t\t\t\t@click=${this.#handleSummaryClick}\n\t\t\t\t>\n\t\t\t\t\t${!this.hideIndicator\n\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t${ref(this.#indicatorRef)}\n\t\t\t\t\t\t\t\t\tclass=\"flex items-center justify-center w-5 h-5 rounded-full shrink-0 opacity-70 group-hover:opacity-100\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<slot name=\"indicator\" @slotchange=${this.#handleIndicatorSlotChange}>\n\t\t\t\t\t\t\t\t\t\t<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" class=\"w-5 h-5\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 6L15 12L9 18\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t`\n\t\t\t\t\t\t: ''}\n\n\t\t\t\t\t<span class=\"flex-1 min-w-0\">\n\t\t\t\t\t\t<slot name=\"summary\">${this.summary}</slot>\n\t\t\t\t\t</span>\n\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</summary>\n\n\t\t\t\t<div\n\t\t\t\t\t${ref(this.#contentRef)}\n\t\t\t\t\tclass=\"content-wrapper\"\n\t\t\t\t\tdata-open=${isOpen && !this.#closing}\n\t\t\t\t\taria-hidden=${isOpen ? 'false' : 'true'}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"content-inner\">\n\t\t\t\t\t\t${this.hasOpened\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div class=${contentClasses}>\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t\t<slot name=\"details\"></slot>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t: nothing}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</details>\n\t\t`\n\t}\n\n\t#handleSummaryClick(e: MouseEvent) {\n\t\tif ((e.target as HTMLElement).closest('[slot=\"actions\"]')) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this.locked) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this.#closing) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\n\t\t// Native animated path (Chromium 131+): browser handles everything via CSS\n\t\tif (this.#nativeAnim) return\n\n\t\t// Fallback: manually animate close via CSS transition, then close native details\n\t\tif (this.#open$.value) {\n\t\t\te.preventDefault()\n\t\t\tthis.#startClose()\n\t\t}\n\t\t// If closed, let native open happen (handled by #handleToggle)\n\t}\n\n\t#handleToggle(e: Event) {\n\t\te.stopPropagation()\n\n\t\tconst ownDetails = this.shadowRoot?.querySelector('details')\n\t\tif (e.target !== ownDetails) return\n\n\t\tconst newState = ownDetails.open\n\n\t\tif (this.#nativeAnim) {\n\t\t\t// Native path: handle both open and close\n\t\t\tif (this.#open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t} else {\n\t\t\t// Fallback path: only handle OPEN (close is driven by #startClose)\n\t\t\tif (newState && this.#open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Fallback close: trigger CSS grid+opacity transition, then close native <details>.\n\t * The CSS transition (400ms) handles the visual collapse — no WAAPI needed.\n\t */\n\t#startClose() {\n\t\tthis.#closing = true\n\t\tthis.#closeSub?.unsubscribe()\n\n\t\t// Immediately collapse the grid wrapper via DOM attribute\n\t\tthis.#contentRef.value?.setAttribute('data-open', 'false')\n\n\t\t// Animate indicator immediately\n\t\tthis.#animateIndicator(false)\n\n\t\t// After CSS transition completes, close native details and update state\n\t\tconst wrapper = this.#contentRef.value\n\t\tif (!wrapper) return\n\n\t\tthis.#closeSub = fromEvent<TransitionEvent>(wrapper, 'transitionend')\n\t\t\t.pipe(\n\t\t\t\tfilter(e => e.propertyName === 'grid-template-rows'),\n\t\t\t\ttake(1),\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis.#closing = false\n\t\t\t\t\tthis.open = false\n\t\t\t\t\tthis.dispatchScopedEvent('toggle', { open: false })\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t#handleIndicatorSlotChange(e: Event) {\n\t\tconst slot = e.target as HTMLSlotElement\n\t\tslot.assignedElements().forEach(el => {\n\t\t\tel.setAttribute('data-open', String(this.#open$.value))\n\t\t})\n\t}\n\n\t#updateIndicatorSlot() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot[name=\"indicator\"]') as HTMLSlotElement | null\n\t\tif (slot) {\n\t\t\tslot.assignedElements().forEach(el => {\n\t\t\t\tel.setAttribute('data-open', String(this.#open$.value))\n\t\t\t})\n\t\t}\n\t}\n\n\t/** Idempotent indicator rotation — skips if already at target state */\n\t#animateIndicator(isOpen: boolean) {\n\t\tif (this.#indicatorIsOpen === isOpen) return\n\t\tthis.#indicatorIsOpen = isOpen\n\n\t\tconst indicator = this.#indicatorRef.value\n\t\tif (!indicator || reducedMotion$.value) return\n\n\t\tthis.#currentAnimation?.cancel()\n\n\t\tthis.#currentAnimation = indicator.animate(\n\t\t\t[\n\t\t\t\t{ transform: `rotate(${isOpen ? '0deg' : `${this.indicatorRotate}deg`})` },\n\t\t\t\t{ transform: `rotate(${isOpen ? `${this.indicatorRotate}deg` : '0deg'})` },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: SPRING_SNAPPY.duration,\n\t\t\t\teasing: SPRING_SNAPPY.easingFallback,\n\t\t\t\tfill: 'forwards',\n\t\t\t},\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-details': SchmancyDetails\n\t}\n}\n"],"mappings":"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"}
@@ -1,32 +1,33 @@
1
- require(`./chunk-CncqDLb2.cjs`);const e=require(`./SchmancyElement-D9WA9FP9.cjs`),t=require(`./mixins-XGVIOvKt.cjs`),n=require(`./animation-CCOIW4wJ.cjs`),r=require(`./reduced-motion-Ds-HjMzn.cjs`),i=require(`./cursor-glow-Bulq-38P.cjs`),a=require(`./magnetic-DKtc4umC.cjs`);let o=require(`rxjs`),s=require(`rxjs/operators`),c=require(`lit/decorators.js`),l=require(`lit`),u=require(`lit/directives/ref.js`);var d=class extends t.t(e.t){static{this.styles=[l.css`
2
- :host {
3
- display: block;
4
- }
5
-
6
- :host([overlay]) {
7
- position: relative;
8
- }
9
-
10
- :host([open]) {
11
- z-index: 10;
12
- }
13
-
14
- details {
15
- background: inherit;
16
- color: inherit;
17
- border-radius: inherit;
18
- }
19
-
20
- summary::-webkit-details-marker {
21
- display: none;
22
- }
23
-
24
- summary {
25
- list-style: none;
26
- color: inherit;
27
- }
28
-
29
- /*
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./SchmancyElement-CeKrBW2j.cjs`),t=require(`./mixins-Cjn20BQH.cjs`),n=require(`./animation-CCOIW4wJ.cjs`),r=require(`./reduced-motion-Ds-HjMzn.cjs`),i=require(`./cursor-glow-Bulq-38P.cjs`),a=require(`./magnetic-DKtc4umC.cjs`);let o=require(`rxjs`),s=require(`rxjs/operators`),c=require(`lit/decorators.js`),l=require(`lit`),u=require(`lit/directives/ref.js`);var d=class extends t.t(e.t){static{this.styles=[l.css`
2
+ :host {
3
+ display: block;
4
+ border-radius: 1rem;
5
+ }
6
+
7
+ :host([overlay]) {
8
+ position: relative;
9
+ }
10
+
11
+ :host([open]) {
12
+ z-index: 10;
13
+ }
14
+
15
+ details {
16
+ background: inherit;
17
+ color: inherit;
18
+ border-radius: inherit;
19
+ }
20
+
21
+ summary::-webkit-details-marker {
22
+ display: none;
23
+ }
24
+
25
+ summary {
26
+ list-style: none;
27
+ color: inherit;
28
+ }
29
+
30
+ /*
30
31
  * Blackbird 2.1 — CSS-driven collapse/expand
31
32
  *
32
33
  * Single animation system: CSS grid transition handles height,
@@ -34,40 +35,52 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./SchmancyElement-D9WA9FP9.cjs`
34
35
  * No competing Web Animations API on content.
35
36
  */
36
37
 
37
- .content-wrapper {
38
- display: grid;
39
- grid-template-rows: 0fr;
40
- overflow: hidden;
41
- opacity: 0;
42
- transition:
43
- grid-template-rows 400ms cubic-bezier(0.34, 1.2, 0.64, 1),
44
- opacity 250ms ease;
45
- }
46
-
47
- /* Spring easing when linear() is supported */
48
- @supports (animation-timing-function: linear(0, 1)) {
49
38
  .content-wrapper {
39
+ display: grid;
40
+ grid-template-rows: 0fr;
41
+ overflow: hidden;
42
+ opacity: 0;
50
43
  transition:
51
- grid-template-rows 400ms linear(
52
- 0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%,
53
- 0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50%, 1.015 54.8%,
54
- 1.017 63.3%, 1.001
55
- ),
44
+ grid-template-rows 400ms cubic-bezier(0.34, 1.2, 0.64, 1),
56
45
  opacity 250ms ease;
57
46
  }
58
- }
59
47
 
60
- .content-wrapper[data-open='true'] {
61
- grid-template-rows: 1fr;
62
- opacity: 1;
63
- }
48
+ /* Spring easing when linear() is supported */
49
+ @supports (animation-timing-function: linear(0, 1)) {
50
+ .content-wrapper {
51
+ transition:
52
+ grid-template-rows 400ms
53
+ linear(
54
+ 0,
55
+ 0.006,
56
+ 0.025 2.8%,
57
+ 0.101 6.1%,
58
+ 0.539 18.9%,
59
+ 0.721 25.3%,
60
+ 0.849 31.5%,
61
+ 0.937 38.1%,
62
+ 0.968 41.8%,
63
+ 0.991 45.7%,
64
+ 1.006 50%,
65
+ 1.015 54.8%,
66
+ 1.017 63.3%,
67
+ 1.001
68
+ ),
69
+ opacity 250ms ease;
70
+ }
71
+ }
64
72
 
65
- .content-inner {
66
- min-height: 0;
67
- overflow: hidden;
68
- }
73
+ .content-wrapper[data-open='true'] {
74
+ grid-template-rows: 1fr;
75
+ opacity: 1;
76
+ }
69
77
 
70
- /*
78
+ .content-inner {
79
+ min-height: 0;
80
+ overflow: hidden;
81
+ }
82
+
83
+ /*
71
84
  * Progressive Enhancement: ::details-content (Chrome 131+)
72
85
  *
73
86
  * When both ::details-content AND interpolate-size are supported,
@@ -75,57 +88,56 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./SchmancyElement-D9WA9FP9.cjs`
75
88
  * close via transition-behavior: allow-discrete on content-visibility.
76
89
  * The grid wrapper becomes transparent (display: contents).
77
90
  */
78
- @supports selector(::details-content) and (interpolate-size: allow-keywords) {
79
- :host {
80
- interpolate-size: allow-keywords;
81
- }
82
-
83
- .content-wrapper {
84
- display: contents;
85
- }
86
-
87
- details::details-content {
88
- block-size: 0;
89
- overflow-y: clip;
90
- opacity: 0;
91
- transition:
92
- block-size 400ms cubic-bezier(0.34, 1.2, 0.64, 1),
93
- opacity 250ms ease,
94
- content-visibility 400ms;
95
- transition-behavior: allow-discrete;
96
- }
97
-
98
- details[open]::details-content {
99
- block-size: auto;
100
- opacity: 1;
91
+ @supports selector(::details-content) and (interpolate-size: allow-keywords) {
92
+ :host {
93
+ interpolate-size: allow-keywords;
94
+ }
95
+
96
+ .content-wrapper {
97
+ display: contents;
98
+ }
99
+
100
+ details::details-content {
101
+ block-size: 0;
102
+ overflow-y: clip;
103
+ opacity: 0;
104
+ transition:
105
+ block-size 400ms cubic-bezier(0.34, 1.2, 0.64, 1),
106
+ opacity 250ms ease,
107
+ content-visibility 400ms;
108
+ transition-behavior: allow-discrete;
109
+ }
110
+
111
+ details[open]::details-content {
112
+ block-size: auto;
113
+ opacity: 1;
114
+ }
101
115
  }
102
- }
103
116
 
104
- @media (prefers-reduced-motion: reduce) {
105
- .content-wrapper {
106
- transition: none;
117
+ @media (prefers-reduced-motion: reduce) {
118
+ .content-wrapper {
119
+ transition: none;
120
+ }
121
+ details::details-content {
122
+ transition: none;
123
+ }
107
124
  }
108
- details::details-content {
109
- transition: none;
110
- }
111
- }
112
- `]}static{this.shadowRootOptions={...l.LitElement.shadowRootOptions,mode:`open`,delegatesFocus:!0}}get open(){return this.#e.value}set open(e){this.#e.value!==e&&this.#e.next(e)}#e;#t;#n;#r;#i;#a;#o;#s;constructor(){super(),this.summary=``,this.indicatorPlacement=`end`,this.hideIndicator=!1,this.indicatorRotate=90,this.locked=!1,this.overlay=!1,this.summaryPadding=`p-3`,this.contentPadding=`p-3`,this.#e=new o.BehaviorSubject(!1),this.#t=(0,u.createRef)(),this.#n=(0,u.createRef)(),this.#i=!1,this.#a=!1,this.#s=typeof CSS<`u`&&!!CSS.supports?.(`selector(::details-content)`)&&!!CSS.supports?.(`interpolate-size`,`allow-keywords`),this.hasOpened=!1,this.type=`solid`,this.rounded=`all`}connectedCallback(){super.connectedCallback(),this.#e.pipe((0,s.distinctUntilChanged)(),(0,s.tap)(e=>{e&&!this.hasOpened&&(this.hasOpened=!0),this.#p(e),this.#f()}),(0,s.takeUntil)(this.disconnecting)).subscribe(()=>this.requestUpdate())}disconnectedCallback(){super.disconnectedCallback(),this.#o?.unsubscribe()}render(){let e=this.#e.value,t=this.classMap({"w-full rounded-xl transition-shadow duration-200 ease-out":!0,"overflow-visible":!this.overlay,"overflow-visible relative":this.overlay}),n=this.classMap({[this.summaryPadding]:!0,"select-none relative flex items-center gap-2 rounded-xl":!0,"transition-colors duration-150":!0,"hover:bg-surface-on/5 active:bg-surface-on/8":!this.locked,"focus-visible:ring-2 focus-visible:ring-primary-default/50 focus-visible:ring-offset-1":!this.locked,"cursor-pointer group":!this.locked,"cursor-default":this.locked,"flex-row":this.indicatorPlacement===`start`,"flex-row-reverse":this.indicatorPlacement===`end`}),r=this.classMap({[this.contentPadding]:!0,"text-sm":!0,"absolute inset-x-0 bg-surface-lowest/55 backdrop-blur-[16px] shadow-2xl rounded-b-xl z-20":this.overlay});return l.html`
125
+ `]}static{this.shadowRootOptions={...l.LitElement.shadowRootOptions,mode:`open`,delegatesFocus:!0}}get open(){return this.#e.value}set open(e){this.#e.value!==e&&this.#e.next(e)}#e;#t;#n;#r;#i;#a;#o;#s;constructor(){super(),this.summary=``,this.indicatorPlacement=`end`,this.hideIndicator=!1,this.indicatorRotate=90,this.locked=!1,this.overlay=!1,this.summaryPadding=`p-3`,this.contentPadding=`p-3`,this.#e=new o.BehaviorSubject(!1),this.#t=(0,u.createRef)(),this.#n=(0,u.createRef)(),this.#i=!1,this.#a=!1,this.#s=typeof CSS<`u`&&!!CSS.supports?.(`selector(::details-content)`)&&!!CSS.supports?.(`interpolate-size`,`allow-keywords`),this.hasOpened=!1,this.type=`containerLowest`}connectedCallback(){super.connectedCallback(),this.#e.pipe((0,s.distinctUntilChanged)(),(0,s.tap)(e=>{e&&!this.hasOpened&&(this.hasOpened=!0),this.#p(e),this.#f()}),(0,s.takeUntil)(this.disconnecting)).subscribe(()=>this.requestUpdate())}disconnectedCallback(){super.disconnectedCallback(),this.#o?.unsubscribe()}render(){let e=this.#e.value,t=this.classMap({"w-full rounded-xl transition-shadow duration-200 ease-out":!0,"overflow-visible":!this.overlay,"overflow-visible relative":this.overlay}),n=this.classMap({[this.summaryPadding]:!0,"select-none relative flex items-center gap-2 rounded-xl":!0,"transition-colors duration-150":!0,"hover:bg-surface-on/5 active:bg-surface-on/8":!this.locked,"focus-visible:ring-2 focus-visible:ring-primary-default/50 focus-visible:ring-offset-1":!this.locked,"cursor-pointer group":!this.locked,"cursor-default":this.locked,"flex-row":this.indicatorPlacement===`start`,"flex-row-reverse":this.indicatorPlacement===`end`}),r=this.classMap({[this.contentPadding]:!0,"text-sm":!0,"absolute inset-x-0 bg-surface-lowest/55 backdrop-blur-[16px] shadow-2xl rounded-b-xl z-20":this.overlay});return l.html`
113
126
  <details ?open=${e} @toggle=${this.#l} class=${t}>
114
- <summary ${this.locked?``:a.t({strength:2,radius:50})} ${this.locked?``:i.t({radius:250,intensity:.08})} class=${n} tabindex=${this.locked?-1:0} @click=${this.#c}>
127
+ <summary
128
+ ${this.locked?``:a.t({strength:2,radius:50})}
129
+ ${this.locked?``:i.t({radius:250,intensity:.08})}
130
+ class=${n}
131
+ tabindex=${this.locked?-1:0}
132
+ @click=${this.#c}
133
+ >
115
134
  ${this.hideIndicator?``:l.html`
116
135
  <span
117
136
  ${(0,u.ref)(this.#t)}
118
137
  class="flex items-center justify-center w-5 h-5 rounded-full shrink-0 opacity-70 group-hover:opacity-100"
119
138
  >
120
139
  <slot name="indicator" @slotchange=${this.#d}>
121
- <svg
122
- width="20"
123
- height="20"
124
- viewBox="0 0 24 24"
125
- fill="none"
126
- class="w-5 h-5"
127
- aria-hidden="true"
128
- >
140
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="w-5 h-5" aria-hidden="true">
129
141
  <path
130
142
  d="M9 6L15 12L9 18"
131
143
  stroke="currentColor"
@@ -0,0 +1 @@
1
+ {"version":3,"file":"details-D4fVOaj4.cjs","names":["#open$","#animateIndicator","#updateIndicatorSlot","#closeSub","#handleToggle","#handleSummaryClick","#indicatorRef","#handleIndicatorSlotChange","#contentRef","#closing","#nativeAnim","#startClose","#indicatorIsOpen","#currentAnimation"],"sources":["../src/details/details.ts"],"sourcesContent":["import { SchmancyElement, SurfaceMixin } from '@mixins/index'\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { cursorGlow } from '../directives/cursor-glow'\nimport { magnetic } from '../directives/magnetic'\nimport { createRef, ref, Ref } from 'lit/directives/ref.js'\nimport { BehaviorSubject, fromEvent, Subscription } from 'rxjs'\nimport { distinctUntilChanged, filter, take, takeUntil, tap } from 'rxjs/operators'\nimport { SPRING_SNAPPY } from '../utils/animation.js'\nimport { reducedMotion$ } from '../directives/reduced-motion'\n\n@customElement('schmancy-details')\nexport default class SchmancyDetails extends SurfaceMixin(SchmancyElement) {\n\tstatic styles = [\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t\tborder-radius: 1rem;\n\t\t\t}\n\n\t\t\t:host([overlay]) {\n\t\t\t\tposition: relative;\n\t\t\t}\n\n\t\t\t:host([open]) {\n\t\t\t\tz-index: 10;\n\t\t\t}\n\n\t\t\tdetails {\n\t\t\t\tbackground: inherit;\n\t\t\t\tcolor: inherit;\n\t\t\t\tborder-radius: inherit;\n\t\t\t}\n\n\t\t\tsummary::-webkit-details-marker {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\tsummary {\n\t\t\t\tlist-style: none;\n\t\t\t\tcolor: inherit;\n\t\t\t}\n\n\t\t\t/*\n\t\t * Blackbird 2.1 — CSS-driven collapse/expand\n\t\t *\n\t\t * Single animation system: CSS grid transition handles height,\n\t\t * coordinated opacity fade for buttery smooth feel.\n\t\t * No competing Web Animations API on content.\n\t\t */\n\n\t\t\t.content-wrapper {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgrid-template-rows: 0fr;\n\t\t\t\toverflow: hidden;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition:\n\t\t\t\t\tgrid-template-rows 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\t\topacity 250ms ease;\n\t\t\t}\n\n\t\t\t/* Spring easing when linear() is supported */\n\t\t\t@supports (animation-timing-function: linear(0, 1)) {\n\t\t\t\t.content-wrapper {\n\t\t\t\t\ttransition:\n\t\t\t\t\t\tgrid-template-rows 400ms\n\t\t\t\t\t\t\tlinear(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0.006,\n\t\t\t\t\t\t\t\t0.025 2.8%,\n\t\t\t\t\t\t\t\t0.101 6.1%,\n\t\t\t\t\t\t\t\t0.539 18.9%,\n\t\t\t\t\t\t\t\t0.721 25.3%,\n\t\t\t\t\t\t\t\t0.849 31.5%,\n\t\t\t\t\t\t\t\t0.937 38.1%,\n\t\t\t\t\t\t\t\t0.968 41.8%,\n\t\t\t\t\t\t\t\t0.991 45.7%,\n\t\t\t\t\t\t\t\t1.006 50%,\n\t\t\t\t\t\t\t\t1.015 54.8%,\n\t\t\t\t\t\t\t\t1.017 63.3%,\n\t\t\t\t\t\t\t\t1.001\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\topacity 250ms ease;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.content-wrapper[data-open='true'] {\n\t\t\t\tgrid-template-rows: 1fr;\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\t.content-inner {\n\t\t\t\tmin-height: 0;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n\t\t\t/*\n\t\t * Progressive Enhancement: ::details-content (Chrome 131+)\n\t\t *\n\t\t * When both ::details-content AND interpolate-size are supported,\n\t\t * the browser handles height animation natively — including animated\n\t\t * close via transition-behavior: allow-discrete on content-visibility.\n\t\t * The grid wrapper becomes transparent (display: contents).\n\t\t */\n\t\t\t@supports selector(::details-content) and (interpolate-size: allow-keywords) {\n\t\t\t\t:host {\n\t\t\t\t\tinterpolate-size: allow-keywords;\n\t\t\t\t}\n\n\t\t\t\t.content-wrapper {\n\t\t\t\t\tdisplay: contents;\n\t\t\t\t}\n\n\t\t\t\tdetails::details-content {\n\t\t\t\t\tblock-size: 0;\n\t\t\t\t\toverflow-y: clip;\n\t\t\t\t\topacity: 0;\n\t\t\t\t\ttransition:\n\t\t\t\t\t\tblock-size 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\t\t\topacity 250ms ease,\n\t\t\t\t\t\tcontent-visibility 400ms;\n\t\t\t\t\ttransition-behavior: allow-discrete;\n\t\t\t\t}\n\n\t\t\t\tdetails[open]::details-content {\n\t\t\t\t\tblock-size: auto;\n\t\t\t\t\topacity: 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\t.content-wrapper {\n\t\t\t\t\ttransition: none;\n\t\t\t\t}\n\t\t\t\tdetails::details-content {\n\t\t\t\t\ttransition: none;\n\t\t\t\t}\n\t\t\t}\n\t\t`,\n\t]\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open' as const,\n\t\tdelegatesFocus: true,\n\t}\n\n\t@property() summary = ''\n\n\t@property({ type: Boolean, reflect: true })\n\tget open() {\n\t\treturn this.#open$.value\n\t}\n\tset open(value: boolean) {\n\t\tif (this.#open$.value !== value) {\n\t\t\tthis.#open$.next(value)\n\t\t}\n\t}\n\n\t@property({ attribute: 'indicator-placement', reflect: true })\n\tindicatorPlacement: 'start' | 'end' = 'end'\n\n\t@property({ type: Boolean, attribute: 'hide-indicator' })\n\thideIndicator = false\n\n\t@property({ type: Number, attribute: 'indicator-rotate' })\n\tindicatorRotate: number = 90\n\n\t@property({ type: Boolean, reflect: true })\n\tlocked = false\n\n\t@property({ type: Boolean, reflect: true })\n\toverlay = false\n\n\t@property({ attribute: 'summary-padding' })\n\tsummaryPadding = 'p-3'\n\n\t@property({ attribute: 'content-padding' })\n\tcontentPadding = 'p-3'\n\n\t#open$ = new BehaviorSubject<boolean>(false)\n\t#indicatorRef: Ref<HTMLElement> = createRef()\n\t#contentRef: Ref<HTMLDivElement> = createRef()\n\t#currentAnimation?: Animation\n\t#indicatorIsOpen = false\n\t#closing = false\n\t#closeSub?: Subscription\n\n\t/** True when browser handles close animation natively via ::details-content */\n\t#nativeAnim =\n\t\ttypeof CSS !== 'undefined' &&\n\t\t!!CSS.supports?.('selector(::details-content)') &&\n\t\t!!CSS.supports?.('interpolate-size', 'allow-keywords')\n\n\t/**\n\t * Lazy rendering: tracks if content has ever been opened.\n\t * Once true, content stays rendered (even when closed) for smooth animations.\n\t */\n\t@state() private hasOpened = false\n\n\tconstructor() {\n\t\tsuper()\n\t\tthis.type = 'containerLowest'\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tthis.#open$\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(isOpen => {\n\t\t\t\t\tif (isOpen && !this.hasOpened) {\n\t\t\t\t\t\tthis.hasOpened = true\n\t\t\t\t\t}\n\t\t\t\t\tthis.#animateIndicator(isOpen)\n\t\t\t\t\tthis.#updateIndicatorSlot()\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => this.requestUpdate())\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.#closeSub?.unsubscribe()\n\t}\n\n\trender() {\n\t\tconst isOpen = this.#open$.value\n\n\t\tconst detailsClasses = this.classMap({\n\t\t\t'w-full rounded-xl transition-shadow duration-200 ease-out': true,\n\t\t\t'overflow-visible': !this.overlay,\n\t\t\t'overflow-visible relative': this.overlay,\n\t\t})\n\n\t\tconst summaryClasses = this.classMap({\n\t\t\t[this.summaryPadding]: true,\n\t\t\t'select-none relative flex items-center gap-2 rounded-xl': true,\n\t\t\t'transition-colors duration-150': true,\n\t\t\t'hover:bg-surface-on/5 active:bg-surface-on/8': !this.locked,\n\t\t\t'focus-visible:ring-2 focus-visible:ring-primary-default/50 focus-visible:ring-offset-1': !this.locked,\n\t\t\t'cursor-pointer group': !this.locked,\n\t\t\t'cursor-default': this.locked,\n\t\t\t'flex-row': this.indicatorPlacement === 'start',\n\t\t\t'flex-row-reverse': this.indicatorPlacement === 'end',\n\t\t})\n\n\t\tconst contentClasses = this.classMap({\n\t\t\t[this.contentPadding]: true,\n\t\t\t'text-sm': true,\n\t\t\t'absolute inset-x-0 bg-surface-lowest/55 backdrop-blur-[16px] shadow-2xl rounded-b-xl z-20': this.overlay,\n\t\t})\n\n\t\treturn html`\n\t\t\t<details ?open=${isOpen} @toggle=${this.#handleToggle} class=${detailsClasses}>\n\t\t\t\t<summary\n\t\t\t\t\t${this.locked ? '' : magnetic({ strength: 2, radius: 50 })}\n\t\t\t\t\t${this.locked ? '' : cursorGlow({ radius: 250, intensity: 0.08 })}\n\t\t\t\t\tclass=${summaryClasses}\n\t\t\t\t\ttabindex=${this.locked ? -1 : 0}\n\t\t\t\t\t@click=${this.#handleSummaryClick}\n\t\t\t\t>\n\t\t\t\t\t${!this.hideIndicator\n\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t${ref(this.#indicatorRef)}\n\t\t\t\t\t\t\t\t\tclass=\"flex items-center justify-center w-5 h-5 rounded-full shrink-0 opacity-70 group-hover:opacity-100\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<slot name=\"indicator\" @slotchange=${this.#handleIndicatorSlotChange}>\n\t\t\t\t\t\t\t\t\t\t<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" class=\"w-5 h-5\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 6L15 12L9 18\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t`\n\t\t\t\t\t\t: ''}\n\n\t\t\t\t\t<span class=\"flex-1 min-w-0\">\n\t\t\t\t\t\t<slot name=\"summary\">${this.summary}</slot>\n\t\t\t\t\t</span>\n\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</summary>\n\n\t\t\t\t<div\n\t\t\t\t\t${ref(this.#contentRef)}\n\t\t\t\t\tclass=\"content-wrapper\"\n\t\t\t\t\tdata-open=${isOpen && !this.#closing}\n\t\t\t\t\taria-hidden=${isOpen ? 'false' : 'true'}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"content-inner\">\n\t\t\t\t\t\t${this.hasOpened\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div class=${contentClasses}>\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t\t<slot name=\"details\"></slot>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t: nothing}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</details>\n\t\t`\n\t}\n\n\t#handleSummaryClick(e: MouseEvent) {\n\t\tif ((e.target as HTMLElement).closest('[slot=\"actions\"]')) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this.locked) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this.#closing) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\n\t\t// Native animated path (Chromium 131+): browser handles everything via CSS\n\t\tif (this.#nativeAnim) return\n\n\t\t// Fallback: manually animate close via CSS transition, then close native details\n\t\tif (this.#open$.value) {\n\t\t\te.preventDefault()\n\t\t\tthis.#startClose()\n\t\t}\n\t\t// If closed, let native open happen (handled by #handleToggle)\n\t}\n\n\t#handleToggle(e: Event) {\n\t\te.stopPropagation()\n\n\t\tconst ownDetails = this.shadowRoot?.querySelector('details')\n\t\tif (e.target !== ownDetails) return\n\n\t\tconst newState = ownDetails.open\n\n\t\tif (this.#nativeAnim) {\n\t\t\t// Native path: handle both open and close\n\t\t\tif (this.#open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t} else {\n\t\t\t// Fallback path: only handle OPEN (close is driven by #startClose)\n\t\t\tif (newState && this.#open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Fallback close: trigger CSS grid+opacity transition, then close native <details>.\n\t * The CSS transition (400ms) handles the visual collapse — no WAAPI needed.\n\t */\n\t#startClose() {\n\t\tthis.#closing = true\n\t\tthis.#closeSub?.unsubscribe()\n\n\t\t// Immediately collapse the grid wrapper via DOM attribute\n\t\tthis.#contentRef.value?.setAttribute('data-open', 'false')\n\n\t\t// Animate indicator immediately\n\t\tthis.#animateIndicator(false)\n\n\t\t// After CSS transition completes, close native details and update state\n\t\tconst wrapper = this.#contentRef.value\n\t\tif (!wrapper) return\n\n\t\tthis.#closeSub = fromEvent<TransitionEvent>(wrapper, 'transitionend')\n\t\t\t.pipe(\n\t\t\t\tfilter(e => e.propertyName === 'grid-template-rows'),\n\t\t\t\ttake(1),\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis.#closing = false\n\t\t\t\t\tthis.open = false\n\t\t\t\t\tthis.dispatchScopedEvent('toggle', { open: false })\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t#handleIndicatorSlotChange(e: Event) {\n\t\tconst slot = e.target as HTMLSlotElement\n\t\tslot.assignedElements().forEach(el => {\n\t\t\tel.setAttribute('data-open', String(this.#open$.value))\n\t\t})\n\t}\n\n\t#updateIndicatorSlot() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot[name=\"indicator\"]') as HTMLSlotElement | null\n\t\tif (slot) {\n\t\t\tslot.assignedElements().forEach(el => {\n\t\t\t\tel.setAttribute('data-open', String(this.#open$.value))\n\t\t\t})\n\t\t}\n\t}\n\n\t/** Idempotent indicator rotation — skips if already at target state */\n\t#animateIndicator(isOpen: boolean) {\n\t\tif (this.#indicatorIsOpen === isOpen) return\n\t\tthis.#indicatorIsOpen = isOpen\n\n\t\tconst indicator = this.#indicatorRef.value\n\t\tif (!indicator || reducedMotion$.value) return\n\n\t\tthis.#currentAnimation?.cancel()\n\n\t\tthis.#currentAnimation = indicator.animate(\n\t\t\t[\n\t\t\t\t{ transform: `rotate(${isOpen ? '0deg' : `${this.indicatorRotate}deg`})` },\n\t\t\t\t{ transform: `rotate(${isOpen ? `${this.indicatorRotate}deg` : '0deg'})` },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: SPRING_SNAPPY.duration,\n\t\t\t\teasing: SPRING_SNAPPY.easingFallback,\n\t\t\t\tfill: 'forwards',\n\t\t\t},\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-details': SchmancyDetails\n\t}\n}\n"],"mappings":"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"}
package/dist/details.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./details-Bx2jSJxG.cjs`);exports.SchmancyDetails=e.t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./details-D4fVOaj4.cjs`);exports.SchmancyDetails=e.t;
package/dist/details.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as e } from "./details-BnleHmYe.js";
1
+ import { t as e } from "./details-Ct1_GwKr.js";
2
2
  export { e as SchmancyDetails };
@@ -1,4 +1,4 @@
1
- require(`./chunk-CncqDLb2.cjs`);const e=require(`./audio-xXFfMPCS.cjs`),t=require(`./animation-CCOIW4wJ.cjs`),n=require(`./reduced-motion-Ds-HjMzn.cjs`);require(`./cursor-glow-Bulq-38P.cjs`);const r=require(`./theme.service-DA6KY52G.cjs`),i=require(`./layout-BhfC26Ks.cjs`),a=require(`./overlay-stack-Bdr9lOqi.cjs`);require(`./gravity-6pL6CfIr.cjs`);const o=require(`./discovery.service-CIa3Eeuk.cjs`);require(`./magnetic-DKtc4umC.cjs`);let s=require(`rxjs`),c=require(`rxjs/operators`),l=require(`lit`),u=require(`lit/async-directive.js`),d=require(`lit/directive.js`);var f={smooth:t.d,snappy:t.f,bouncy:t.l,gentle:t.u},p=class extends u.AsyncDirective{constructor(...e){super(...e),this.element=null,this.originalContent=``,this.animations=[],this.disconnecting$=new s.Subject,this.initialized=!1}render(e){return l.noChange}update(e,[t]){return this.element=e.element,this.initialized||(this.initialized=!0,this.disconnecting$.closed&&(this.disconnecting$=new s.Subject),t.text===void 0?this.originalContent=this.element.textContent||``:(this.originalContent=t.text,this.element.textContent=t.text),this.element.style.willChange=`transform, opacity`,t.animation===`typewriter`?this.element.textContent=``:this.element.style.opacity=`0`,this.initialize(t)),l.noChange}disconnected(){this.cleanup()}reconnected(){this.element&&(this.element.style.willChange=`transform, opacity`)}initialize(e){let{animation:t,delay:n=0,duration:r,stagger:i,preset:a=`snappy`,restart:o=!1}=e,l=f[a],u=r??l.duration,d=i??(t===`cyber-glitch`?30:50),p=this.createVisibilityObservable$();(o?p.pipe((0,c.switchMap)(e=>e?(0,s.timer)(n).pipe((0,c.switchMap)(()=>this.runAnimation$(t,u,d,l))):(0,s.defer)(()=>(this.resetToInitial(t),s.EMPTY)))):p.pipe((0,c.filter)(e=>e),(0,c.take)(1),(0,c.delay)(n),(0,c.switchMap)(()=>this.runAnimation$(t,u,d,l)))).pipe((0,c.takeUntil)(this.disconnecting$)).subscribe()}cleanup(){this.disconnecting$.next(),this.disconnecting$.complete(),this.cancelAnimations(),this.element&&(this.element.textContent=this.originalContent,this.element.style.opacity=``,this.element.style.willChange=`auto`,this.element.style.transform=``,this.element.style.filter=``),this.element=null,this.initialized=!1}cancelAnimations(){this.animations.forEach(e=>e.cancel()),this.animations=[]}resetToInitial(e){this.cancelAnimations(),this.element&&(e===`typewriter`?this.element.textContent=``:(this.element.textContent=this.originalContent,this.element.style.opacity=`0`),this.element.style.transform=``,this.element.style.filter=``,this.element.style.willChange=`transform, opacity`)}getAccumulatedOpacity(){if(!this.element)return 0;let e=1,t=this.element.parentElement,n=0;for(;t&&t!==document.body&&n<10;){let r=window.getComputedStyle(t);if(r.visibility===`hidden`||r.display===`none`)return 0;let i=parseFloat(r.opacity)||1;if(i<1&&(e*=i,e<=.5))return e;if(t.assignedSlot){let n=this.getSlotAncestorOpacity(t.assignedSlot);if(n===0)return 0;e*=n}t=t.parentElement,n++}return e}getSlotAncestorOpacity(e){let t=1,n=e.parentElement;for(;n;){let e=window.getComputedStyle(n);if(e.visibility===`hidden`||e.display===`none`)return 0;t*=parseFloat(e.opacity)||1,n=n.parentElement}return t}createVisibilityObservable$(){let e=(0,s.fromEvent)(document,`visibilitychange`).pipe((0,c.startWith)(null),(0,c.map)(()=>document.visibilityState===`visible`),(0,c.distinctUntilChanged)());return(0,s.combineLatest)([(0,s.interval)(200).pipe((0,c.startWith)(0),(0,c.map)(()=>{if(!this.element)return!1;let e=this.element.getBoundingClientRect();return e.width>0&&e.height>0&&e.top<window.innerHeight&&e.bottom>0&&this.getAccumulatedOpacity()>.5}),(0,c.distinctUntilChanged)()),e]).pipe((0,c.map)(([e,t])=>e&&t),(0,c.distinctUntilChanged)())}runAnimation$(e,t,n,r){if(!this.element)return s.EMPTY;switch(e){case`fade-up`:return this.animateFadeUp$(t,r);case`blur-reveal`:return this.animateBlurReveal$(t,n,r);case`word-reveal`:return this.animateWordReveal$(t,n,r);case`cyber-glitch`:return this.animateCyberGlitch$(t,n,r);case`typewriter`:return this.animateTypewriter$(t);default:return s.EMPTY}}animateFadeUp$(e,t){if(!this.element)return s.EMPTY;let n=this.element.animate([{opacity:0,transform:`translateY(30px)`},{opacity:1,transform:`translateY(0)`}],{duration:e,easing:t.easingFallback,fill:`forwards`});return this.animations.push(n),(0,s.from)(n.finished).pipe((0,c.tap)(()=>{this.element&&(this.element.style.opacity=``,this.element.style.transform=``,this.element.style.willChange=`auto`)}),(0,c.catchError)(()=>s.EMPTY))}wrapTextNodes(e){let t=[],n=document.createDocumentFragment(),r=Array.from(e.childNodes);for(let e of r)if(e.nodeType===Node.TEXT_NODE){let r=(e.textContent||``).split(/(\s+)/);for(let e of r)if(/^\s+$/.test(e))n.appendChild(document.createTextNode(e));else if(e.length>0){let r=document.createElement(`span`);r.textContent=e,n.appendChild(r),t.push(r)}}else e instanceof HTMLElement&&(n.appendChild(e),t.push(e));return e.textContent=``,e.appendChild(n),t}animateBlurReveal$(e,t,n){if(!this.element)return s.EMPTY;let r=this.wrapTextNodes(this.element);this.element.style.opacity=`1`,r.forEach((r,i)=>{r.style.opacity=`0`,r.style.display=`inline-block`;let a=r.animate([{opacity:0,filter:`blur(8px)`,transform:`scale(0.9)`},{opacity:1,filter:`blur(0)`,transform:`scale(1)`}],{duration:e,easing:n.easingFallback,delay:i*t,fill:`forwards`});this.animations.push(a)});let i=this.animations[this.animations.length-1];return i?(0,s.from)(i.finished).pipe((0,c.tap)(()=>{this.element&&(this.element.style.willChange=`auto`,r.forEach(e=>{e.style.willChange=`auto`}))}),(0,c.catchError)(()=>s.EMPTY)):s.EMPTY}animateWordReveal$(e,t,n){if(!this.element)return s.EMPTY;let r=this.wrapTextNodes(this.element);this.element.style.opacity=`1`,r.forEach((r,i)=>{r.style.opacity=`0`,r.style.display=`inline-block`;let a=r.animate([{opacity:0,transform:`translateY(20px)`},{opacity:1,transform:`translateY(0)`}],{duration:e,easing:n.easingFallback,delay:i*t,fill:`forwards`});this.animations.push(a)});let i=this.animations[this.animations.length-1];return i?(0,s.from)(i.finished).pipe((0,c.tap)(()=>{this.element&&(this.element.style.willChange=`auto`,r.forEach(e=>{e.style.willChange=`auto`}))}),(0,c.catchError)(()=>s.EMPTY)):s.EMPTY}animateCyberGlitch$(e,t,n){if(!this.element)return s.EMPTY;let r=this.originalContent.split(``),i=document.createDocumentFragment(),a=[];for(let e of r){let t=document.createElement(`span`);t.style.display=`inline-block`,t.style.opacity=`0`,t.textContent=e===` `?`\xA0`:e,i.appendChild(t),a.push(t)}this.element.textContent=``,this.element.appendChild(i),this.element.style.opacity=`1`,a.forEach((i,a)=>{if(r[a]===` `)return void(i.style.opacity=`1`);let o=i.animate([{opacity:0,transform:`translateY(-8px) scale(1.4)`,filter:`blur(4px)`},{opacity:1,transform:`translateY(0) scale(1)`,filter:`blur(0)`}],{duration:e,easing:n.easingFallback,delay:a*t,fill:`forwards`});this.animations.push(o)});let o=this.animations[this.animations.length-1];return o?(0,s.from)(o.finished).pipe((0,c.tap)(()=>{this.element&&(this.element.style.willChange=`auto`,a.forEach(e=>{e.style.willChange=`auto`}))}),(0,c.catchError)(()=>s.EMPTY)):s.EMPTY}animateTypewriter$(e){if(!this.element)return s.EMPTY;let t=this.originalContent,n=t.length;if(n===0)return s.EMPTY;let r=e/n,i=0;return(0,s.interval)(r).pipe((0,c.tap)(()=>{i++,this.element&&(this.element.textContent=t.slice(0,i))}),(0,c.takeWhile)(()=>i<n),(0,c.finalize)(()=>{this.element&&(this.element.textContent=this.originalContent,this.element.style.willChange=`auto`)}))}},m=(0,u.directive)(p),h=class extends u.AsyncDirective{constructor(...e){super(...e),this.state=null}render(e){return l.noChange}update(e,[t=``]){let n=e.element;if(!t)return this.cleanup(),l.noChange;if(this.state)return l.noChange;this.state={message:t,element:n,badge:null,animation:null},getComputedStyle(n).position===`static`&&(n.style.position=`relative`);let r=document.createElement(`div`);return r.style.cssText=`
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./audio-CpwrIaw-.cjs`),t=require(`./animation-CCOIW4wJ.cjs`),n=require(`./reduced-motion-Ds-HjMzn.cjs`);require(`./cursor-glow-Bulq-38P.cjs`);const r=require(`./theme.service-h2fXQq7x.cjs`),i=require(`./layout-CdyHy_oX.cjs`),a=require(`./overlay-stack-Bdr9lOqi.cjs`);require(`./gravity-6pL6CfIr.cjs`);const o=require(`./discovery.service-CIa3Eeuk.cjs`);require(`./magnetic-DKtc4umC.cjs`);let s=require(`rxjs`),c=require(`rxjs/operators`),l=require(`lit`),u=require(`lit/async-directive.js`),d=require(`lit/directive.js`);var f={smooth:t.d,snappy:t.f,bouncy:t.l,gentle:t.u},p=class extends u.AsyncDirective{constructor(...e){super(...e),this.element=null,this.originalContent=``,this.animations=[],this.disconnecting$=new s.Subject,this.initialized=!1}render(e){return l.noChange}update(e,[t]){return this.element=e.element,this.initialized||(this.initialized=!0,this.disconnecting$.closed&&(this.disconnecting$=new s.Subject),t.text===void 0?this.originalContent=this.element.textContent||``:(this.originalContent=t.text,this.element.textContent=t.text),this.element.style.willChange=`transform, opacity`,t.animation===`typewriter`?this.element.textContent=``:this.element.style.opacity=`0`,this.initialize(t)),l.noChange}disconnected(){this.cleanup()}reconnected(){this.element&&(this.element.style.willChange=`transform, opacity`)}initialize(e){let{animation:t,delay:n=0,duration:r,stagger:i,preset:a=`snappy`,restart:o=!1}=e,l=f[a],u=r??l.duration,d=i??(t===`cyber-glitch`?30:50),p=this.createVisibilityObservable$();(o?p.pipe((0,c.switchMap)(e=>e?(0,s.timer)(n).pipe((0,c.switchMap)(()=>this.runAnimation$(t,u,d,l))):(0,s.defer)(()=>(this.resetToInitial(t),s.EMPTY)))):p.pipe((0,c.filter)(e=>e),(0,c.take)(1),(0,c.delay)(n),(0,c.switchMap)(()=>this.runAnimation$(t,u,d,l)))).pipe((0,c.takeUntil)(this.disconnecting$)).subscribe()}cleanup(){this.disconnecting$.next(),this.disconnecting$.complete(),this.cancelAnimations(),this.element&&(this.element.textContent=this.originalContent,this.element.style.opacity=``,this.element.style.willChange=`auto`,this.element.style.transform=``,this.element.style.filter=``),this.element=null,this.initialized=!1}cancelAnimations(){this.animations.forEach(e=>e.cancel()),this.animations=[]}resetToInitial(e){this.cancelAnimations(),this.element&&(e===`typewriter`?this.element.textContent=``:(this.element.textContent=this.originalContent,this.element.style.opacity=`0`),this.element.style.transform=``,this.element.style.filter=``,this.element.style.willChange=`transform, opacity`)}getAccumulatedOpacity(){if(!this.element)return 0;let e=1,t=this.element.parentElement,n=0;for(;t&&t!==document.body&&n<10;){let r=window.getComputedStyle(t);if(r.visibility===`hidden`||r.display===`none`)return 0;let i=parseFloat(r.opacity)||1;if(i<1&&(e*=i,e<=.5))return e;if(t.assignedSlot){let n=this.getSlotAncestorOpacity(t.assignedSlot);if(n===0)return 0;e*=n}t=t.parentElement,n++}return e}getSlotAncestorOpacity(e){let t=1,n=e.parentElement;for(;n;){let e=window.getComputedStyle(n);if(e.visibility===`hidden`||e.display===`none`)return 0;t*=parseFloat(e.opacity)||1,n=n.parentElement}return t}createVisibilityObservable$(){let e=(0,s.fromEvent)(document,`visibilitychange`).pipe((0,c.startWith)(null),(0,c.map)(()=>document.visibilityState===`visible`),(0,c.distinctUntilChanged)());return(0,s.combineLatest)([(0,s.interval)(200).pipe((0,c.startWith)(0),(0,c.map)(()=>{if(!this.element)return!1;let e=this.element.getBoundingClientRect();return e.width>0&&e.height>0&&e.top<window.innerHeight&&e.bottom>0&&this.getAccumulatedOpacity()>.5}),(0,c.distinctUntilChanged)()),e]).pipe((0,c.map)(([e,t])=>e&&t),(0,c.distinctUntilChanged)())}runAnimation$(e,t,n,r){if(!this.element)return s.EMPTY;switch(e){case`fade-up`:return this.animateFadeUp$(t,r);case`blur-reveal`:return this.animateBlurReveal$(t,n,r);case`word-reveal`:return this.animateWordReveal$(t,n,r);case`cyber-glitch`:return this.animateCyberGlitch$(t,n,r);case`typewriter`:return this.animateTypewriter$(t);default:return s.EMPTY}}animateFadeUp$(e,t){if(!this.element)return s.EMPTY;let n=this.element.animate([{opacity:0,transform:`translateY(30px)`},{opacity:1,transform:`translateY(0)`}],{duration:e,easing:t.easingFallback,fill:`forwards`});return this.animations.push(n),(0,s.from)(n.finished).pipe((0,c.tap)(()=>{this.element&&(this.element.style.opacity=``,this.element.style.transform=``,this.element.style.willChange=`auto`)}),(0,c.catchError)(()=>s.EMPTY))}wrapTextNodes(e){let t=[],n=document.createDocumentFragment(),r=Array.from(e.childNodes);for(let e of r)if(e.nodeType===Node.TEXT_NODE){let r=(e.textContent||``).split(/(\s+)/);for(let e of r)if(/^\s+$/.test(e))n.appendChild(document.createTextNode(e));else if(e.length>0){let r=document.createElement(`span`);r.textContent=e,n.appendChild(r),t.push(r)}}else e instanceof HTMLElement&&(n.appendChild(e),t.push(e));return e.textContent=``,e.appendChild(n),t}animateBlurReveal$(e,t,n){if(!this.element)return s.EMPTY;let r=this.wrapTextNodes(this.element);this.element.style.opacity=`1`,r.forEach((r,i)=>{r.style.opacity=`0`,r.style.display=`inline-block`;let a=r.animate([{opacity:0,filter:`blur(8px)`,transform:`scale(0.9)`},{opacity:1,filter:`blur(0)`,transform:`scale(1)`}],{duration:e,easing:n.easingFallback,delay:i*t,fill:`forwards`});this.animations.push(a)});let i=this.animations[this.animations.length-1];return i?(0,s.from)(i.finished).pipe((0,c.tap)(()=>{this.element&&(this.element.style.willChange=`auto`,r.forEach(e=>{e.style.willChange=`auto`}))}),(0,c.catchError)(()=>s.EMPTY)):s.EMPTY}animateWordReveal$(e,t,n){if(!this.element)return s.EMPTY;let r=this.wrapTextNodes(this.element);this.element.style.opacity=`1`,r.forEach((r,i)=>{r.style.opacity=`0`,r.style.display=`inline-block`;let a=r.animate([{opacity:0,transform:`translateY(20px)`},{opacity:1,transform:`translateY(0)`}],{duration:e,easing:n.easingFallback,delay:i*t,fill:`forwards`});this.animations.push(a)});let i=this.animations[this.animations.length-1];return i?(0,s.from)(i.finished).pipe((0,c.tap)(()=>{this.element&&(this.element.style.willChange=`auto`,r.forEach(e=>{e.style.willChange=`auto`}))}),(0,c.catchError)(()=>s.EMPTY)):s.EMPTY}animateCyberGlitch$(e,t,n){if(!this.element)return s.EMPTY;let r=this.originalContent.split(``),i=document.createDocumentFragment(),a=[];for(let e of r){let t=document.createElement(`span`);t.style.display=`inline-block`,t.style.opacity=`0`,t.textContent=e===` `?`\xA0`:e,i.appendChild(t),a.push(t)}this.element.textContent=``,this.element.appendChild(i),this.element.style.opacity=`1`,a.forEach((i,a)=>{if(r[a]===` `)return void(i.style.opacity=`1`);let o=i.animate([{opacity:0,transform:`translateY(-8px) scale(1.4)`,filter:`blur(4px)`},{opacity:1,transform:`translateY(0) scale(1)`,filter:`blur(0)`}],{duration:e,easing:n.easingFallback,delay:a*t,fill:`forwards`});this.animations.push(o)});let o=this.animations[this.animations.length-1];return o?(0,s.from)(o.finished).pipe((0,c.tap)(()=>{this.element&&(this.element.style.willChange=`auto`,a.forEach(e=>{e.style.willChange=`auto`}))}),(0,c.catchError)(()=>s.EMPTY)):s.EMPTY}animateTypewriter$(e){if(!this.element)return s.EMPTY;let t=this.originalContent,n=t.length;if(n===0)return s.EMPTY;let r=e/n,i=0;return(0,s.interval)(r).pipe((0,c.tap)(()=>{i++,this.element&&(this.element.textContent=t.slice(0,i))}),(0,c.takeWhile)(()=>i<n),(0,c.finalize)(()=>{this.element&&(this.element.textContent=this.originalContent,this.element.style.willChange=`auto`)}))}},m=(0,u.directive)(p),h=class extends u.AsyncDirective{constructor(...e){super(...e),this.state=null}render(e){return l.noChange}update(e,[t=``]){let n=e.element;if(!t)return this.cleanup(),l.noChange;if(this.state)return l.noChange;this.state={message:t,element:n,badge:null,animation:null},getComputedStyle(n).position===`static`&&(n.style.position=`relative`);let r=document.createElement(`div`);return r.style.cssText=`
2
2
  display: block;
3
3
  position: absolute;
4
4
  bottom: -8px;