@mhmo91/schmancy 0.10.24 → 0.10.26

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 (432) hide show
  1. package/dist/agent/{overlay.confirm-body-CvdVfCnN.js → overlay.confirm-body-DJrL6tio.js} +242 -242
  2. package/dist/agent/{overlay.confirm-body-CvdVfCnN.js.map → overlay.confirm-body-DJrL6tio.js.map} +1 -1
  3. package/dist/agent/schmancy.agent.js +5586 -2868
  4. package/dist/agent/schmancy.agent.js.map +1 -1
  5. package/dist/{area-BuqdaUpQ.cjs → area-DkvO_oiO.cjs} +1 -1
  6. package/dist/{area-BuqdaUpQ.cjs.map → area-DkvO_oiO.cjs.map} +1 -1
  7. package/dist/{area-A_oUP4P1.js → area-fC1_kvAW.js} +1 -1
  8. package/dist/{area-A_oUP4P1.js.map → area-fC1_kvAW.js.map} +1 -1
  9. package/dist/area.cjs +1 -1
  10. package/dist/area.js +1 -1
  11. package/dist/{autocomplete-Cy46gJxK.cjs → autocomplete-Aa2IstyX.cjs} +1 -1
  12. package/dist/{autocomplete-Cy46gJxK.cjs.map → autocomplete-Aa2IstyX.cjs.map} +1 -1
  13. package/dist/{autocomplete-BoCWO26L.js → autocomplete-Hb-C11a3.js} +2 -2
  14. package/dist/{autocomplete-BoCWO26L.js.map → autocomplete-Hb-C11a3.js.map} +1 -1
  15. package/dist/autocomplete.cjs +1 -1
  16. package/dist/autocomplete.js +1 -1
  17. package/dist/avatar.cjs +2 -2
  18. package/dist/avatar.cjs.map +1 -1
  19. package/dist/avatar.js +3 -3
  20. package/dist/badge.cjs +1 -1
  21. package/dist/badge.js +1 -1
  22. package/dist/boat-BEq-AHmL.cjs +85 -0
  23. package/dist/boat-BEq-AHmL.cjs.map +1 -0
  24. package/dist/{boat-B0h5fuAA.js → boat-BW6aRcdY.js} +29 -23
  25. package/dist/boat-BW6aRcdY.js.map +1 -0
  26. package/dist/boat.cjs +1 -1
  27. package/dist/boat.js +1 -1
  28. package/dist/breadcrumb.cjs +1 -1
  29. package/dist/breadcrumb.js +1 -1
  30. package/dist/{busy-Bn6Pioo8.cjs → busy-CKpIblIO.cjs} +1 -1
  31. package/dist/{busy-Bn6Pioo8.cjs.map → busy-CKpIblIO.cjs.map} +1 -1
  32. package/dist/{busy-DObY7lfu.js → busy-D-ucQFSB.js} +1 -1
  33. package/dist/{busy-DObY7lfu.js.map → busy-D-ucQFSB.js.map} +1 -1
  34. package/dist/busy.cjs +1 -1
  35. package/dist/busy.js +1 -1
  36. package/dist/{button-DEi3M2nV.js → button-BU-X0a0S.js} +2 -2
  37. package/dist/{button-DEi3M2nV.js.map → button-BU-X0a0S.js.map} +1 -1
  38. package/dist/{button-XfdPzfZQ.cjs → button-HzLpB3NP.cjs} +1 -1
  39. package/dist/{button-XfdPzfZQ.cjs.map → button-HzLpB3NP.cjs.map} +1 -1
  40. package/dist/button.cjs +1 -1
  41. package/dist/button.js +1 -1
  42. package/dist/{card-BjUgRzFh.cjs → card-CcrUlgd3.cjs} +1 -1
  43. package/dist/{card-BjUgRzFh.cjs.map → card-CcrUlgd3.cjs.map} +1 -1
  44. package/dist/{card-jzUQK0EQ.js → card-ueXBeJ6q.js} +2 -2
  45. package/dist/{card-jzUQK0EQ.js.map → card-ueXBeJ6q.js.map} +1 -1
  46. package/dist/card.cjs +1 -1
  47. package/dist/card.js +1 -1
  48. package/dist/{checkbox-CfCm1vGN.js → checkbox-CW1kk4Tu.js} +1 -1
  49. package/dist/{checkbox-CfCm1vGN.js.map → checkbox-CW1kk4Tu.js.map} +1 -1
  50. package/dist/{checkbox-rskgUBxQ.cjs → checkbox-qsp-I5C6.cjs} +1 -1
  51. package/dist/{checkbox-rskgUBxQ.cjs.map → checkbox-qsp-I5C6.cjs.map} +1 -1
  52. package/dist/checkbox.cjs +1 -1
  53. package/dist/checkbox.js +1 -1
  54. package/dist/{chips-Dfim_tQv.js → chips-C_F6-gfe.js} +4 -4
  55. package/dist/{chips-Dfim_tQv.js.map → chips-C_F6-gfe.js.map} +1 -1
  56. package/dist/{chips-BiNZKu0J.cjs → chips-Dluk6RV4.cjs} +1 -1
  57. package/dist/{chips-BiNZKu0J.cjs.map → chips-Dluk6RV4.cjs.map} +1 -1
  58. package/dist/chips.cjs +1 -1
  59. package/dist/chips.js +2 -2
  60. package/dist/connectivity.cjs +1 -1
  61. package/dist/connectivity.js +1 -1
  62. package/dist/content-drawer.cjs +1 -1
  63. package/dist/content-drawer.js +1 -1
  64. package/dist/{cursor-glow-Cs2XLDB9.js → cursor-glow-Ah7VXSj7.js} +1 -1
  65. package/dist/{cursor-glow-Cs2XLDB9.js.map → cursor-glow-Ah7VXSj7.js.map} +1 -1
  66. package/dist/{cursor-glow-C8LgCxpI.cjs → cursor-glow-Bulq-38P.cjs} +1 -1
  67. package/dist/{cursor-glow-C8LgCxpI.cjs.map → cursor-glow-Bulq-38P.cjs.map} +1 -1
  68. package/dist/{date-range-B8zoj6Cj.js → date-range-ASZ8h_Il.js} +2 -2
  69. package/dist/{date-range-B8zoj6Cj.js.map → date-range-ASZ8h_Il.js.map} +1 -1
  70. package/dist/{date-range-em7OwhlK.cjs → date-range-BFOqXAI2.cjs} +1 -1
  71. package/dist/{date-range-em7OwhlK.cjs.map → date-range-BFOqXAI2.cjs.map} +1 -1
  72. package/dist/{date-range-inline-DYeqoBIO.cjs → date-range-inline-BNmNOpL0.cjs} +1 -1
  73. package/dist/{date-range-inline-DYeqoBIO.cjs.map → date-range-inline-BNmNOpL0.cjs.map} +1 -1
  74. package/dist/{date-range-inline-BfUL8_vX.js → date-range-inline-DHrgolLn.js} +1 -1
  75. package/dist/{date-range-inline-BfUL8_vX.js.map → date-range-inline-DHrgolLn.js.map} +1 -1
  76. package/dist/date-range-inline.cjs +1 -1
  77. package/dist/date-range-inline.js +1 -1
  78. package/dist/date-range.cjs +1 -1
  79. package/dist/date-range.js +1 -1
  80. package/dist/delay.cjs +1 -1
  81. package/dist/delay.js +2 -2
  82. package/dist/{details-D246xN83.js → details-B9RgRw6c.js} +4 -4
  83. package/dist/{details-D246xN83.js.map → details-B9RgRw6c.js.map} +1 -1
  84. package/dist/{details-CNM1tuma.cjs → details-Bx9c4XQR.cjs} +1 -1
  85. package/dist/{details-CNM1tuma.cjs.map → details-Bx9c4XQR.cjs.map} +1 -1
  86. package/dist/details.cjs +1 -1
  87. package/dist/details.js +1 -1
  88. package/dist/directives-Dq0zi2KR.cjs +350 -0
  89. package/dist/directives-Dq0zi2KR.cjs.map +1 -0
  90. package/dist/directives-sWKTEJDb.js +4063 -0
  91. package/dist/directives-sWKTEJDb.js.map +1 -0
  92. package/dist/directives.cjs +1 -99
  93. package/dist/directives.js +6 -1363
  94. package/dist/discovery.cjs +1 -1
  95. package/dist/discovery.js +2 -61
  96. package/dist/discovery.service-COmbHaoI.js +61 -0
  97. package/dist/discovery.service-COmbHaoI.js.map +1 -0
  98. package/dist/discovery.service-CVDXO9rH.cjs +1 -0
  99. package/dist/discovery.service-CVDXO9rH.cjs.map +1 -0
  100. package/dist/{divider-CbIp1je9.js → divider-C7BtzDcK.js} +1 -1
  101. package/dist/{divider-CbIp1je9.js.map → divider-C7BtzDcK.js.map} +1 -1
  102. package/dist/{divider-DaKsGNW-.cjs → divider-DH0BvTOv.cjs} +1 -1
  103. package/dist/{divider-DaKsGNW-.cjs.map → divider-DH0BvTOv.cjs.map} +1 -1
  104. package/dist/divider.cjs +1 -1
  105. package/dist/divider.js +1 -1
  106. package/dist/dropdown.cjs +1 -1
  107. package/dist/dropdown.js +1 -1
  108. package/dist/{expand-CQDm3BF3.cjs → expand-CPMF44eL.cjs} +1 -1
  109. package/dist/{expand-CQDm3BF3.cjs.map → expand-CPMF44eL.cjs.map} +1 -1
  110. package/dist/{expand-DRkiO4vw.js → expand-DcMx9dHY.js} +3 -3
  111. package/dist/{expand-DRkiO4vw.js.map → expand-DcMx9dHY.js.map} +1 -1
  112. package/dist/expand.cjs +1 -1
  113. package/dist/expand.js +1 -1
  114. package/dist/{float-5O26zNRh.cjs → float-CgBN4H3g.cjs} +1 -1
  115. package/dist/{float-5O26zNRh.cjs.map → float-CgBN4H3g.cjs.map} +1 -1
  116. package/dist/{float-CZtu8FnO.js → float-DkUw5TN4.js} +1 -1
  117. package/dist/{float-CZtu8FnO.js.map → float-DkUw5TN4.js.map} +1 -1
  118. package/dist/float.cjs +1 -1
  119. package/dist/float.js +1 -1
  120. package/dist/{form-B90CMeqs.cjs → form-DxApnyVx.cjs} +1 -1
  121. package/dist/{form-B90CMeqs.cjs.map → form-DxApnyVx.cjs.map} +1 -1
  122. package/dist/{form-CE6Gwz4r.js → form-kSgJf_h4.js} +8 -8
  123. package/dist/{form-CE6Gwz4r.js.map → form-kSgJf_h4.js.map} +1 -1
  124. package/dist/form.cjs +1 -1
  125. package/dist/form.js +6 -6
  126. package/dist/handover/agent-runtime-followups.md +1 -1
  127. package/dist/handover/agent-runtime-v1.md +3 -3
  128. package/dist/{hashContent-dJrI-9sc.js.map → hashContent-Dgmzc32o.js.map} +1 -1
  129. package/dist/{hashContent-Ck6laKlk.cjs.map → hashContent-Dh1VzIAb.cjs.map} +1 -1
  130. package/dist/icons-3F1nQAn_.cjs +24 -0
  131. package/dist/icons-3F1nQAn_.cjs.map +1 -0
  132. package/dist/icons-DsfpmrVO.js +52 -0
  133. package/dist/icons-DsfpmrVO.js.map +1 -0
  134. package/dist/icons.cjs +1 -1
  135. package/dist/icons.js +1 -1
  136. package/dist/{iframe-C3PMj1MD.js → iframe-KrV4Cak-.js} +1 -1
  137. package/dist/{iframe-C3PMj1MD.js.map → iframe-KrV4Cak-.js.map} +1 -1
  138. package/dist/{iframe-D98csbEo.cjs → iframe-sTXBw6zB.cjs} +1 -1
  139. package/dist/{iframe-D98csbEo.cjs.map → iframe-sTXBw6zB.cjs.map} +1 -1
  140. package/dist/iframe.cjs +1 -1
  141. package/dist/iframe.js +1 -1
  142. package/dist/index.cjs +1 -1
  143. package/dist/index.js +60 -60
  144. package/dist/{input-_y92Pzon.cjs → input-DMoggdSN.cjs} +1 -1
  145. package/dist/{input-_y92Pzon.cjs.map → input-DMoggdSN.cjs.map} +1 -1
  146. package/dist/{input-chip-CR66MWml.cjs → input-chip-B1iNQW2m.cjs} +1 -1
  147. package/dist/{input-chip-CR66MWml.cjs.map → input-chip-B1iNQW2m.cjs.map} +1 -1
  148. package/dist/{input-chip-Bzwr5-XL.js → input-chip-DHbfUatc.js} +1 -1
  149. package/dist/{input-chip-Bzwr5-XL.js.map → input-chip-DHbfUatc.js.map} +1 -1
  150. package/dist/{input-CCOkeeVM.js → input-zj3eaZM_.js} +1 -1
  151. package/dist/{input-CCOkeeVM.js.map → input-zj3eaZM_.js.map} +1 -1
  152. package/dist/input.cjs +1 -1
  153. package/dist/input.js +1 -1
  154. package/dist/json.cjs +1 -1
  155. package/dist/json.js +2 -2
  156. package/dist/kbd.cjs +1 -1
  157. package/dist/kbd.js +1 -1
  158. package/dist/{layout-Dq2oeOTS.js → layout-DSAjo92m.js} +1 -1
  159. package/dist/{layout-Dq2oeOTS.js.map → layout-DSAjo92m.js.map} +1 -1
  160. package/dist/{layout-BbCIfIgo.cjs → layout-eXb9wjDh.cjs} +1 -1
  161. package/dist/{layout-BbCIfIgo.cjs.map → layout-eXb9wjDh.cjs.map} +1 -1
  162. package/dist/layout.cjs +1 -1
  163. package/dist/layout.js +1 -1
  164. package/dist/{lightbox-Bk3ovcVu.cjs → lightbox-86F2RgXy.cjs} +2 -2
  165. package/dist/{lightbox-Bk3ovcVu.cjs.map → lightbox-86F2RgXy.cjs.map} +1 -1
  166. package/dist/{lightbox-Dl--fEbP.js → lightbox-CAcXlJlv.js} +2 -2
  167. package/dist/{lightbox-Dl--fEbP.js.map → lightbox-CAcXlJlv.js.map} +1 -1
  168. package/dist/lightbox.cjs +1 -1
  169. package/dist/lightbox.js +1 -1
  170. package/dist/{list-B3WI_Nfs.js → list-BIjJ6T1c.js} +1 -1
  171. package/dist/{list-B3WI_Nfs.js.map → list-BIjJ6T1c.js.map} +1 -1
  172. package/dist/{list-DWngbP2X.cjs → list-CUbI0RM6.cjs} +1 -1
  173. package/dist/{list-DWngbP2X.cjs.map → list-CUbI0RM6.cjs.map} +1 -1
  174. package/dist/list.cjs +1 -1
  175. package/dist/list.js +1 -1
  176. package/dist/{magnetic-Bgh7aHHI.cjs → magnetic-D-ph029G.cjs} +1 -1
  177. package/dist/{magnetic-Bgh7aHHI.cjs.map → magnetic-D-ph029G.cjs.map} +1 -1
  178. package/dist/{magnetic-DxvoEz8_.js → magnetic-mHXl54Z8.js} +1 -1
  179. package/dist/{magnetic-DxvoEz8_.js.map → magnetic-mHXl54Z8.js.map} +1 -1
  180. package/dist/{menu-IDhVp6zm.js → menu-CtFcvxgU.js} +2 -2
  181. package/dist/{menu-IDhVp6zm.js.map → menu-CtFcvxgU.js.map} +1 -1
  182. package/dist/{menu-CdYjxJqm.cjs → menu-DGMrjR_a.cjs} +1 -1
  183. package/dist/{menu-CdYjxJqm.cjs.map → menu-DGMrjR_a.cjs.map} +1 -1
  184. package/dist/menu.cjs +1 -1
  185. package/dist/menu.js +1 -1
  186. package/dist/mixins-CKbQ6BJo.js +642 -0
  187. package/dist/mixins-CKbQ6BJo.js.map +1 -0
  188. package/dist/mixins-DSy-enUd.cjs +254 -0
  189. package/dist/mixins-DSy-enUd.cjs.map +1 -0
  190. package/dist/mixins.cjs +1 -1
  191. package/dist/mixins.js +2 -2
  192. package/dist/nav-drawer.cjs +1 -1
  193. package/dist/nav-drawer.js +1 -1
  194. package/dist/navigation-bar.cjs +1 -1
  195. package/dist/navigation-bar.js +1 -1
  196. package/dist/navigation-rail.cjs +5 -9
  197. package/dist/navigation-rail.cjs.map +1 -1
  198. package/dist/navigation-rail.js +5 -11
  199. package/dist/navigation-rail.js.map +1 -1
  200. package/dist/{notification-CllYkvlR.js → notification-BqyMYtP7.js} +2 -2
  201. package/dist/{notification-CllYkvlR.js.map → notification-BqyMYtP7.js.map} +1 -1
  202. package/dist/{notification-B3wVUC8l.cjs → notification-D5eOdsMT.cjs} +1 -1
  203. package/dist/{notification-B3wVUC8l.cjs.map → notification-D5eOdsMT.cjs.map} +1 -1
  204. package/dist/notification.cjs +1 -1
  205. package/dist/notification.js +1 -1
  206. package/dist/{option-CPOL0nHL.js → option-C3UyYQi_.js} +1 -1
  207. package/dist/{option-CPOL0nHL.js.map → option-C3UyYQi_.js.map} +1 -1
  208. package/dist/{option-cRsdshy8.cjs → option-DJ3R-2Wn.cjs} +1 -1
  209. package/dist/{option-cRsdshy8.cjs.map → option-DJ3R-2Wn.cjs.map} +1 -1
  210. package/dist/option.cjs +1 -1
  211. package/dist/option.js +1 -1
  212. package/dist/{overlay-DJ-vlwtR.js → overlay-D1hFkcFA.js} +5 -5
  213. package/dist/{overlay-DJ-vlwtR.js.map → overlay-D1hFkcFA.js.map} +1 -1
  214. package/dist/{overlay-BnTvnNDc.cjs → overlay-D7nQaT5U.cjs} +1 -1
  215. package/dist/{overlay-BnTvnNDc.cjs.map → overlay-D7nQaT5U.cjs.map} +1 -1
  216. package/dist/{overlay-stack-Dk0xETTy.cjs.map → overlay-stack-Bdr9lOqi.cjs.map} +1 -1
  217. package/dist/{overlay-stack-BR4iYivO.js.map → overlay-stack-D2rgxQLh.js.map} +1 -1
  218. package/dist/overlay.cjs +1 -1
  219. package/dist/{overlay.confirm-body-DEb9xw5N.js → overlay.confirm-body-B4eCDLmU.js} +1 -1
  220. package/dist/{overlay.confirm-body-DEb9xw5N.js.map → overlay.confirm-body-B4eCDLmU.js.map} +1 -1
  221. package/dist/{overlay.confirm-body-CQ-FwySO.cjs → overlay.confirm-body-P18SmJL2.cjs} +1 -1
  222. package/dist/{overlay.confirm-body-CQ-FwySO.cjs.map → overlay.confirm-body-P18SmJL2.cjs.map} +1 -1
  223. package/dist/overlay.js +3 -3
  224. package/dist/{overlay.service-XM1YHkTk.js → overlay.service-02ZLZ8Ib.js} +2 -2
  225. package/dist/{overlay.service-XM1YHkTk.js.map → overlay.service-02ZLZ8Ib.js.map} +1 -1
  226. package/dist/{overlay.service-CKBCIP2f.cjs → overlay.service-m-8omCA-.cjs} +1 -1
  227. package/dist/{overlay.service-CKBCIP2f.cjs.map → overlay.service-m-8omCA-.cjs.map} +1 -1
  228. package/dist/{progress-CcfLfHOE.cjs → progress-CY-UbvOB.cjs} +1 -1
  229. package/dist/{progress-CcfLfHOE.cjs.map → progress-CY-UbvOB.cjs.map} +1 -1
  230. package/dist/{progress-CnMPp-9a.js → progress-YjdEWDI5.js} +1 -1
  231. package/dist/{progress-CnMPp-9a.js.map → progress-YjdEWDI5.js.map} +1 -1
  232. package/dist/progress.cjs +1 -1
  233. package/dist/progress.js +1 -1
  234. package/dist/{radio-group-D97hflrE.cjs → radio-group--UamzqAm.cjs} +1 -1
  235. package/dist/{radio-group-D97hflrE.cjs.map → radio-group--UamzqAm.cjs.map} +1 -1
  236. package/dist/{radio-group-BUJgfQFi.js → radio-group-aKXKHqUp.js} +1 -1
  237. package/dist/{radio-group-BUJgfQFi.js.map → radio-group-aKXKHqUp.js.map} +1 -1
  238. package/dist/radio-group.cjs +1 -1
  239. package/dist/radio-group.js +1 -1
  240. package/dist/range.cjs +1 -1
  241. package/dist/range.js +1 -1
  242. package/dist/{reduced-motion-D7LqTUMn.js.map → reduced-motion-D-L12p7G.js.map} +1 -1
  243. package/dist/{reduced-motion-Dzfp_w5x.cjs.map → reduced-motion-Ds-HjMzn.cjs.map} +1 -1
  244. package/dist/{rxjs-utils-BK8VMe3K.js.map → rxjs-utils-BXpvHN4-.js.map} +1 -1
  245. package/dist/{rxjs-utils-DhOKenkS.cjs.map → rxjs-utils-CaC-tdot.cjs.map} +1 -1
  246. package/dist/rxjs-utils.cjs +1 -1
  247. package/dist/rxjs-utils.js +1 -1
  248. package/dist/{select-BWEh5nRM.js → select-B0Qk4PfT.js} +3 -3
  249. package/dist/{select-BWEh5nRM.js.map → select-B0Qk4PfT.js.map} +1 -1
  250. package/dist/{select-Cv5Oev6d.cjs → select-CIquL8LY.cjs} +2 -2
  251. package/dist/{select-Cv5Oev6d.cjs.map → select-CIquL8LY.cjs.map} +1 -1
  252. package/dist/select.cjs +1 -1
  253. package/dist/select.js +1 -1
  254. package/dist/skeleton.cjs +1 -1
  255. package/dist/skeleton.js +1 -1
  256. package/dist/skills/INDEX.md +2 -1
  257. package/dist/skills/SKILL.md +33 -23
  258. package/dist/skills/area.md +5 -4
  259. package/dist/skills/connectivity.md +1 -3
  260. package/dist/skills/directives.md +36 -0
  261. package/dist/skills/icons.md +95 -31
  262. package/dist/skills/layout.md +36 -53
  263. package/dist/skills/mixins.md +26 -5
  264. package/dist/skills/schmancy/INDEX.md +2 -1
  265. package/dist/skills/schmancy/SKILL.md +33 -23
  266. package/dist/skills/schmancy/area.md +5 -4
  267. package/dist/skills/schmancy/connectivity.md +1 -3
  268. package/dist/skills/schmancy/directives.md +36 -0
  269. package/dist/skills/schmancy/icons.md +95 -31
  270. package/dist/skills/schmancy/layout.md +36 -53
  271. package/dist/skills/schmancy/mixins.md +26 -5
  272. package/dist/slider.cjs +1 -1
  273. package/dist/slider.js +1 -1
  274. package/dist/{splash-screen-B6w7X2z9.js → splash-screen-CP_Idse2.js} +1 -1
  275. package/dist/{splash-screen-B6w7X2z9.js.map → splash-screen-CP_Idse2.js.map} +1 -1
  276. package/dist/{splash-screen-DFtxtO2D.cjs → splash-screen-rg56AXCf.cjs} +1 -1
  277. package/dist/{splash-screen-DFtxtO2D.cjs.map → splash-screen-rg56AXCf.cjs.map} +1 -1
  278. package/dist/splash-screen.cjs +1 -1
  279. package/dist/splash-screen.js +1 -1
  280. package/dist/{src-Asw6A018.cjs → src-BAaNnqwc.cjs} +13 -13
  281. package/dist/{src-Asw6A018.cjs.map → src-BAaNnqwc.cjs.map} +1 -1
  282. package/dist/{src-D_NK-vMA.js → src-Do0IGupa.js} +153 -153
  283. package/dist/{src-D_NK-vMA.js.map → src-Do0IGupa.js.map} +1 -1
  284. package/dist/steps.cjs +1 -1
  285. package/dist/steps.js +1 -1
  286. package/dist/{surface-B94ka2LY.cjs → surface-B7a2O5-9.cjs} +1 -1
  287. package/dist/{surface-B94ka2LY.cjs.map → surface-B7a2O5-9.cjs.map} +1 -1
  288. package/dist/{surface-ctBcRGSZ.js → surface-DGewe6IV.js} +1 -1
  289. package/dist/{surface-ctBcRGSZ.js.map → surface-DGewe6IV.js.map} +1 -1
  290. package/dist/surface.cjs +1 -1
  291. package/dist/surface.js +1 -1
  292. package/dist/switch.cjs +1 -1
  293. package/dist/switch.js +1 -1
  294. package/dist/table.cjs +1 -1
  295. package/dist/table.js +1 -1
  296. package/dist/{tabs-CrMx5z_y.js → tabs-g2aM43TH.js} +1 -1
  297. package/dist/{tabs-CrMx5z_y.js.map → tabs-g2aM43TH.js.map} +1 -1
  298. package/dist/{tabs-B7kaZIom.cjs → tabs-n4dO5fo1.cjs} +1 -1
  299. package/dist/{tabs-B7kaZIom.cjs.map → tabs-n4dO5fo1.cjs.map} +1 -1
  300. package/dist/tabs.cjs +1 -1
  301. package/dist/tabs.js +1 -1
  302. package/dist/teleport.cjs +1 -1
  303. package/dist/teleport.js +1 -1
  304. package/dist/{textarea-DeHFl80i.js → textarea-D5hw4jsP.js} +1 -1
  305. package/dist/{textarea-DeHFl80i.js.map → textarea-D5hw4jsP.js.map} +1 -1
  306. package/dist/{textarea-D1crj8JD.cjs → textarea-DDx_7AfQ.cjs} +1 -1
  307. package/dist/{textarea-D1crj8JD.cjs.map → textarea-DDx_7AfQ.cjs.map} +1 -1
  308. package/dist/textarea.cjs +1 -1
  309. package/dist/textarea.js +1 -1
  310. package/dist/{theme-C7Yo33nh.js → theme-BMYkheaA.js} +3 -3
  311. package/dist/{theme-C7Yo33nh.js.map → theme-BMYkheaA.js.map} +1 -1
  312. package/dist/{theme-wE2N7Yu9.cjs → theme-BdZAj0CO.cjs} +2 -2
  313. package/dist/{theme-wE2N7Yu9.cjs.map → theme-BdZAj0CO.cjs.map} +1 -1
  314. package/dist/{theme-button-Cpc_hs2O.js → theme-button-DdI6kxY3.js} +1 -1
  315. package/dist/{theme-button-Cpc_hs2O.js.map → theme-button-DdI6kxY3.js.map} +1 -1
  316. package/dist/{theme-button-CXSM5We4.cjs → theme-button-R2f_kLEl.cjs} +1 -1
  317. package/dist/{theme-button-CXSM5We4.cjs.map → theme-button-R2f_kLEl.cjs.map} +1 -1
  318. package/dist/theme-button.cjs +1 -1
  319. package/dist/theme-button.js +1 -1
  320. package/dist/theme.cjs +1 -1
  321. package/dist/{theme.interface-D4NeufQA.cjs.map → theme.interface-B5xjEk74.cjs.map} +1 -1
  322. package/dist/{theme.interface-C2XNgsLB.js.map → theme.interface-DVEw3s8m.js.map} +1 -1
  323. package/dist/theme.js +4 -4
  324. package/dist/{theme.service-CSzNkqBB.js.map → theme.service-Bh08uOSJ.js.map} +1 -1
  325. package/dist/{theme.service-CnFUmUpc.cjs.map → theme.service-Y-e8b331.cjs.map} +1 -1
  326. package/dist/tree.cjs +1 -1
  327. package/dist/tree.js +1 -1
  328. package/dist/typography.cjs +1 -1
  329. package/dist/typography.js +1 -1
  330. package/dist/{utils-Cxg0Kfy5.js → utils-578eFTx4.js} +1 -1
  331. package/dist/{utils-Cxg0Kfy5.js.map → utils-578eFTx4.js.map} +1 -1
  332. package/dist/{utils-aCJYAGUr.cjs → utils-CVWUrECT.cjs} +1 -1
  333. package/dist/{utils-aCJYAGUr.cjs.map → utils-CVWUrECT.cjs.map} +1 -1
  334. package/dist/utils.cjs +1 -1
  335. package/dist/utils.js +2 -2
  336. package/dist/visually-hidden.cjs +1 -1
  337. package/dist/visually-hidden.js +1 -1
  338. package/dist/{window-Ck_zS4bb.cjs → window-LOGPpN8K.cjs} +1 -1
  339. package/dist/{window-Ck_zS4bb.cjs.map → window-LOGPpN8K.cjs.map} +1 -1
  340. package/dist/{window-JtkeHoxS.js → window-MQxhTodp.js} +5 -5
  341. package/dist/{window-JtkeHoxS.js.map → window-MQxhTodp.js.map} +1 -1
  342. package/dist/window.cjs +1 -1
  343. package/dist/window.js +1 -1
  344. package/package.json +1 -1
  345. package/skills/schmancy/INDEX.md +2 -1
  346. package/skills/schmancy/SKILL.md +33 -23
  347. package/skills/schmancy/area.md +5 -4
  348. package/skills/schmancy/connectivity.md +1 -3
  349. package/skills/schmancy/directives.md +36 -0
  350. package/skills/schmancy/icons.md +95 -31
  351. package/skills/schmancy/layout.md +36 -53
  352. package/skills/schmancy/mixins.md +26 -5
  353. package/src/boat/boat.ts +33 -23
  354. package/src/directives/ai-badge.ts +95 -0
  355. package/src/directives/art/art.directive.ts +228 -0
  356. package/src/directives/art/effects/error.ts +192 -0
  357. package/src/directives/art/effects/funkhaus.ts +121 -0
  358. package/src/directives/art/effects/howl.ts +203 -0
  359. package/src/directives/art/effects/samwa.ts +228 -0
  360. package/src/directives/art/effects/snow.ts +207 -0
  361. package/src/directives/art/effects/starfield.ts +107 -0
  362. package/src/directives/art/index.ts +2 -0
  363. package/src/directives/art/particle-pool.ts +40 -0
  364. package/src/directives/art/types.ts +129 -0
  365. package/src/directives/art/utils.ts +35 -0
  366. package/src/directives/battery.ts +1014 -0
  367. package/src/directives/beta.ts +44 -0
  368. package/src/directives/fill.ts +32 -60
  369. package/src/directives/fyi.ts +551 -0
  370. package/src/directives/hummingbird.ts +1712 -0
  371. package/src/directives/index.ts +9 -0
  372. package/src/directives/missed-punch.ts +407 -0
  373. package/src/directives/nebula.ts +64 -61
  374. package/src/directives/urgent.ts +660 -0
  375. package/src/directives/working-snake.ts +294 -0
  376. package/src/icons/icon.ts +53 -30
  377. package/src/navigation-rail/navigation-rail-item.ts +7 -12
  378. package/src/navigation-rail/navigation-rail.ts +0 -2
  379. package/types/mixins/SchmancyElement.d.ts +31 -0
  380. package/types/src/directives/ai-badge.d.ts +15 -0
  381. package/types/src/directives/art/art.directive.d.ts +19 -0
  382. package/types/src/directives/art/effects/error.d.ts +7 -0
  383. package/types/src/directives/art/effects/funkhaus.d.ts +7 -0
  384. package/types/src/directives/art/effects/howl.d.ts +7 -0
  385. package/types/src/directives/art/effects/samwa.d.ts +7 -0
  386. package/types/src/directives/art/effects/snow.d.ts +7 -0
  387. package/types/src/directives/art/effects/starfield.d.ts +10 -0
  388. package/types/src/directives/art/index.d.ts +2 -0
  389. package/types/src/directives/art/particle-pool.d.ts +16 -0
  390. package/types/src/directives/art/types.d.ts +126 -0
  391. package/types/src/directives/art/utils.d.ts +5 -0
  392. package/types/src/directives/battery.d.ts +96 -0
  393. package/types/src/directives/beta.d.ts +33 -0
  394. package/types/src/directives/fill.d.ts +4 -11
  395. package/types/src/directives/fyi.d.ts +76 -0
  396. package/types/src/directives/hummingbird.d.ts +180 -0
  397. package/types/src/directives/index.d.ts +9 -0
  398. package/types/src/directives/missed-punch.d.ts +28 -0
  399. package/types/src/directives/nebula.d.ts +1 -1
  400. package/types/src/directives/urgent.d.ts +88 -0
  401. package/types/src/directives/working-snake.d.ts +46 -0
  402. package/types/src/icons/icon.d.ts +22 -0
  403. package/dist/boat-B0h5fuAA.js.map +0 -1
  404. package/dist/boat-RRtBhD3x.cjs +0 -80
  405. package/dist/boat-RRtBhD3x.cjs.map +0 -1
  406. package/dist/directives.cjs.map +0 -1
  407. package/dist/directives.js.map +0 -1
  408. package/dist/discovery.cjs.map +0 -1
  409. package/dist/discovery.js.map +0 -1
  410. package/dist/icons-B7ppo07M.cjs +0 -33
  411. package/dist/icons-B7ppo07M.cjs.map +0 -1
  412. package/dist/icons-CGhozJ5v.js +0 -48
  413. package/dist/icons-CGhozJ5v.js.map +0 -1
  414. package/dist/mixins-BPUR4Kc4.cjs +0 -254
  415. package/dist/mixins-BPUR4Kc4.cjs.map +0 -1
  416. package/dist/mixins-C42OILRS.js +0 -636
  417. package/dist/mixins-C42OILRS.js.map +0 -1
  418. package/dist/skills/page.md +0 -84
  419. package/dist/skills/schmancy/page.md +0 -84
  420. package/skills/schmancy/page.md +0 -84
  421. /package/dist/{hashContent-dJrI-9sc.js → hashContent-Dgmzc32o.js} +0 -0
  422. /package/dist/{hashContent-Ck6laKlk.cjs → hashContent-Dh1VzIAb.cjs} +0 -0
  423. /package/dist/{overlay-stack-Dk0xETTy.cjs → overlay-stack-Bdr9lOqi.cjs} +0 -0
  424. /package/dist/{overlay-stack-BR4iYivO.js → overlay-stack-D2rgxQLh.js} +0 -0
  425. /package/dist/{reduced-motion-D7LqTUMn.js → reduced-motion-D-L12p7G.js} +0 -0
  426. /package/dist/{reduced-motion-Dzfp_w5x.cjs → reduced-motion-Ds-HjMzn.cjs} +0 -0
  427. /package/dist/{rxjs-utils-BK8VMe3K.js → rxjs-utils-BXpvHN4-.js} +0 -0
  428. /package/dist/{rxjs-utils-DhOKenkS.cjs → rxjs-utils-CaC-tdot.cjs} +0 -0
  429. /package/dist/{theme.interface-D4NeufQA.cjs → theme.interface-B5xjEk74.cjs} +0 -0
  430. /package/dist/{theme.interface-C2XNgsLB.js → theme.interface-DVEw3s8m.js} +0 -0
  431. /package/dist/{theme.service-CSzNkqBB.js → theme.service-Bh08uOSJ.js} +0 -0
  432. /package/dist/{theme.service-CnFUmUpc.cjs → theme.service-Y-e8b331.cjs} +0 -0
@@ -1,1363 +1,6 @@
1
- import { _ as e, d as t, f as n, l as r, u as i } from "./animation-DCznELuT.js";
2
- import { t as a } from "./reduced-motion-D7LqTUMn.js";
3
- import { t as o } from "./cursor-glow-Cs2XLDB9.js";
4
- import { n as s } from "./theme.service-CSzNkqBB.js";
5
- import { n as c, r as l, t as u } from "./layout-Dq2oeOTS.js";
6
- import { t as d } from "./magnetic-DxvoEz8_.js";
7
- import { BehaviorSubject as f, EMPTY as p, Observable as m, Subject as h, animationFrameScheduler as g, combineLatest as _, concat as v, debounceTime as y, defer as b, filter as x, from as S, fromEvent as C, interval as w, merge as T, of as E, takeUntil as D, timer as O } from "rxjs";
8
- import { catchError as k, debounceTime as ee, delay as te, distinctUntilChanged as A, filter as j, finalize as ne, first as re, map as M, observeOn as ie, repeat as ae, skip as oe, startWith as se, switchMap as N, take as P, takeUntil as F, takeWhile as I, tap as L } from "rxjs/operators";
9
- import { noChange as R, nothing as z } from "lit";
10
- import { AsyncDirective as B, directive as V } from "lit/async-directive.js";
11
- import { Directive as H, PartType as U, directive as W } from "lit/directive.js";
12
- var ce = {
13
- smooth: t,
14
- snappy: n,
15
- bouncy: r,
16
- gentle: i
17
- }, le = V(class extends B {
18
- constructor(...e) {
19
- super(...e), this.element = null, this.originalContent = "", this.animations = [], this.disconnecting$ = new h(), this.initialized = !1;
20
- }
21
- render(e) {
22
- return R;
23
- }
24
- update(e, [t]) {
25
- return this.element = e.element, this.initialized || (this.initialized = !0, this.disconnecting$.closed && (this.disconnecting$ = new h()), 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)), R;
26
- }
27
- disconnected() {
28
- this.cleanup();
29
- }
30
- reconnected() {
31
- this.element && (this.element.style.willChange = "transform, opacity");
32
- }
33
- initialize(e) {
34
- let { animation: t, delay: n = 0, duration: r, stagger: i, preset: a = "snappy", restart: o = !1 } = e, s = ce[a], c = r ?? s.duration, l = i ?? (t === "cyber-glitch" ? 30 : 50), u = this.createVisibilityObservable$();
35
- (o ? u.pipe(N((e) => e ? O(n).pipe(N(() => this.runAnimation$(t, c, l, s))) : b(() => (this.resetToInitial(t), p)))) : u.pipe(j((e) => e), P(1), te(n), N(() => this.runAnimation$(t, c, l, s)))).pipe(F(this.disconnecting$)).subscribe();
36
- }
37
- cleanup() {
38
- 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;
39
- }
40
- cancelAnimations() {
41
- this.animations.forEach((e) => e.cancel()), this.animations = [];
42
- }
43
- resetToInitial(e) {
44
- 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");
45
- }
46
- getAccumulatedOpacity() {
47
- if (!this.element) return 0;
48
- let e = 1, t = this.element.parentElement, n = 0;
49
- for (; t && t !== document.body && n < 10;) {
50
- let r = window.getComputedStyle(t);
51
- if (r.visibility === "hidden" || r.display === "none") return 0;
52
- let i = parseFloat(r.opacity) || 1;
53
- if (i < 1 && (e *= i, e <= .5)) return e;
54
- if (t.assignedSlot) {
55
- let n = this.getSlotAncestorOpacity(t.assignedSlot);
56
- if (n === 0) return 0;
57
- e *= n;
58
- }
59
- t = t.parentElement, n++;
60
- }
61
- return e;
62
- }
63
- getSlotAncestorOpacity(e) {
64
- let t = 1, n = e.parentElement;
65
- for (; n;) {
66
- let e = window.getComputedStyle(n);
67
- if (e.visibility === "hidden" || e.display === "none") return 0;
68
- t *= parseFloat(e.opacity) || 1, n = n.parentElement;
69
- }
70
- return t;
71
- }
72
- createVisibilityObservable$() {
73
- let e = C(document, "visibilitychange").pipe(se(null), M(() => document.visibilityState === "visible"), A());
74
- return _([w(200).pipe(se(0), M(() => {
75
- if (!this.element) return !1;
76
- let e = this.element.getBoundingClientRect();
77
- return e.width > 0 && e.height > 0 && e.top < window.innerHeight && e.bottom > 0 && this.getAccumulatedOpacity() > .5;
78
- }), A()), e]).pipe(M(([e, t]) => e && t), A());
79
- }
80
- runAnimation$(e, t, n, r) {
81
- if (!this.element) return p;
82
- switch (e) {
83
- case "fade-up": return this.animateFadeUp$(t, r);
84
- case "blur-reveal": return this.animateBlurReveal$(t, n, r);
85
- case "word-reveal": return this.animateWordReveal$(t, n, r);
86
- case "cyber-glitch": return this.animateCyberGlitch$(t, n, r);
87
- case "typewriter": return this.animateTypewriter$(t);
88
- default: return p;
89
- }
90
- }
91
- animateFadeUp$(e, t) {
92
- if (!this.element) return p;
93
- let n = this.element.animate([{
94
- opacity: 0,
95
- transform: "translateY(30px)"
96
- }, {
97
- opacity: 1,
98
- transform: "translateY(0)"
99
- }], {
100
- duration: e,
101
- easing: t.easingFallback,
102
- fill: "forwards"
103
- });
104
- return this.animations.push(n), S(n.finished).pipe(L(() => {
105
- this.element && (this.element.style.opacity = "", this.element.style.transform = "", this.element.style.willChange = "auto");
106
- }), k(() => p));
107
- }
108
- wrapTextNodes(e) {
109
- let t = [], n = document.createDocumentFragment(), r = Array.from(e.childNodes);
110
- for (let e of r) if (e.nodeType === Node.TEXT_NODE) {
111
- let r = (e.textContent || "").split(/(\s+)/);
112
- for (let e of r) if (/^\s+$/.test(e)) n.appendChild(document.createTextNode(e));
113
- else if (e.length > 0) {
114
- let r = document.createElement("span");
115
- r.textContent = e, n.appendChild(r), t.push(r);
116
- }
117
- } else e instanceof HTMLElement && (n.appendChild(e), t.push(e));
118
- return e.textContent = "", e.appendChild(n), t;
119
- }
120
- animateBlurReveal$(e, t, n) {
121
- if (!this.element) return p;
122
- let r = this.wrapTextNodes(this.element);
123
- this.element.style.opacity = "1", r.forEach((r, i) => {
124
- r.style.opacity = "0", r.style.display = "inline-block";
125
- let a = r.animate([{
126
- opacity: 0,
127
- filter: "blur(8px)",
128
- transform: "scale(0.9)"
129
- }, {
130
- opacity: 1,
131
- filter: "blur(0)",
132
- transform: "scale(1)"
133
- }], {
134
- duration: e,
135
- easing: n.easingFallback,
136
- delay: i * t,
137
- fill: "forwards"
138
- });
139
- this.animations.push(a);
140
- });
141
- let i = this.animations[this.animations.length - 1];
142
- return i ? S(i.finished).pipe(L(() => {
143
- this.element && (this.element.style.willChange = "auto", r.forEach((e) => {
144
- e.style.willChange = "auto";
145
- }));
146
- }), k(() => p)) : p;
147
- }
148
- animateWordReveal$(e, t, n) {
149
- if (!this.element) return p;
150
- let r = this.wrapTextNodes(this.element);
151
- this.element.style.opacity = "1", r.forEach((r, i) => {
152
- r.style.opacity = "0", r.style.display = "inline-block";
153
- let a = r.animate([{
154
- opacity: 0,
155
- transform: "translateY(20px)"
156
- }, {
157
- opacity: 1,
158
- transform: "translateY(0)"
159
- }], {
160
- duration: e,
161
- easing: n.easingFallback,
162
- delay: i * t,
163
- fill: "forwards"
164
- });
165
- this.animations.push(a);
166
- });
167
- let i = this.animations[this.animations.length - 1];
168
- return i ? S(i.finished).pipe(L(() => {
169
- this.element && (this.element.style.willChange = "auto", r.forEach((e) => {
170
- e.style.willChange = "auto";
171
- }));
172
- }), k(() => p)) : p;
173
- }
174
- animateCyberGlitch$(e, t, n) {
175
- if (!this.element) return p;
176
- let r = this.originalContent.split(""), i = document.createDocumentFragment(), a = [];
177
- for (let e of r) {
178
- let t = document.createElement("span");
179
- t.style.display = "inline-block", t.style.opacity = "0", t.textContent = e === " " ? "\xA0" : e, i.appendChild(t), a.push(t);
180
- }
181
- this.element.textContent = "", this.element.appendChild(i), this.element.style.opacity = "1", a.forEach((i, a) => {
182
- if (r[a] === " ") return void (i.style.opacity = "1");
183
- let o = i.animate([{
184
- opacity: 0,
185
- transform: "translateY(-8px) scale(1.4)",
186
- filter: "blur(4px)"
187
- }, {
188
- opacity: 1,
189
- transform: "translateY(0) scale(1)",
190
- filter: "blur(0)"
191
- }], {
192
- duration: e,
193
- easing: n.easingFallback,
194
- delay: a * t,
195
- fill: "forwards"
196
- });
197
- this.animations.push(o);
198
- });
199
- let o = this.animations[this.animations.length - 1];
200
- return o ? S(o.finished).pipe(L(() => {
201
- this.element && (this.element.style.willChange = "auto", a.forEach((e) => {
202
- e.style.willChange = "auto";
203
- }));
204
- }), k(() => p)) : p;
205
- }
206
- animateTypewriter$(e) {
207
- if (!this.element) return p;
208
- let t = this.originalContent, n = t.length;
209
- if (n === 0) return p;
210
- let r = 0;
211
- return w(e / n).pipe(L(() => {
212
- r++, this.element && (this.element.textContent = t.slice(0, r));
213
- }), I(() => r < n), ne(() => {
214
- this.element && (this.element.textContent = this.originalContent, this.element.style.willChange = "auto");
215
- }));
216
- }
217
- }), ue = W(class extends H {
218
- constructor(e) {
219
- super(e), this.config = {};
220
- }
221
- update(e, [t]) {
222
- if (e.type !== U.ELEMENT) throw Error("The `classMap` directive must be used in the `class` attribute");
223
- let n = e.element;
224
- this.config = t, this.config.bgColor && (n.style.backgroundColor = this.config.bgColor), this.config.color && (n.style.color = this.config.color);
225
- }
226
- render(e) {
227
- return this.config = e, z;
228
- }
229
- }), G = /* @__PURE__ */ new WeakMap();
230
- function de(e, t) {
231
- let n = e.match(/var\(([^,)]+)/);
232
- return n && getComputedStyle(document.documentElement).getPropertyValue(n[1]).trim() || t;
233
- }
234
- var fe = W(class extends H {
235
- constructor(e) {
236
- if (super(e), e.type !== U.ELEMENT) throw Error("confirmClick directive can only be used on elements");
237
- }
238
- render(e, t) {}
239
- update(e, [t, n = {}]) {
240
- let r = e.element, i = G.get(r);
241
- if (i) {
242
- if (i.callback = t, this.optionsEqual(i.options, n)) return;
243
- this.cleanup(r);
244
- }
245
- let a = new h(), o = this.setupClickListener(r, n ?? {}, a);
246
- G.set(r, {
247
- subscription: o,
248
- callback: t,
249
- options: n ?? {},
250
- overlayElement: null,
251
- isConfirming: !1,
252
- cancel$: a
253
- });
254
- }
255
- optionsEqual(e, t) {
256
- return t ? e.timeout === t.timeout && e.icon === t.icon : Object.keys(e).length === 0;
257
- }
258
- setupClickListener(e, t, n) {
259
- return C(e, "click").pipe(L((r) => {
260
- let i = G.get(e);
261
- i && !i.isConfirming && (r.stopPropagation(), r.preventDefault(), i.isConfirming = !0, this.showOverlay(e, i, t, n));
262
- })).subscribe();
263
- }
264
- showOverlay(e, t, n, r) {
265
- let i = n.timeout ?? 3e3, a = e, o = n.icon ?? a.icon ?? a._capturedIcon ?? e.textContent?.trim() ?? "warning", s = de("var(--schmancy-sys-color-error-default)", "#dc2626"), c = de("var(--schmancy-sys-color-error-on)", "#ffffff"), l = de("var(--schmancy-sys-color-error-container)", "#fecaca"), u = document.createElement("div");
266
- u.setAttribute("role", "status"), u.setAttribute("aria-label", "Click again to confirm");
267
- let d = e.getBoundingClientRect(), f = d.width, p = d.height, m = window.devicePixelRatio || 1, h = getComputedStyle(e);
268
- Object.assign(u.style, {
269
- position: "fixed",
270
- top: `${d.top}px`,
271
- left: `${d.left}px`,
272
- width: `${f}px`,
273
- height: `${p}px`,
274
- zIndex: "10000",
275
- borderRadius: h.borderRadius || "50%",
276
- overflow: "hidden",
277
- cursor: "pointer",
278
- opacity: "0",
279
- transform: "scale(0.6)",
280
- transition: "opacity 250ms cubic-bezier(0.22, 1.25, 0.36, 1), transform 300ms cubic-bezier(0.22, 1.25, 0.36, 1)"
281
- });
282
- let _ = document.createElement("canvas");
283
- _.width = f * m, _.height = p * m, _.style.width = `${f}px`, _.style.height = `${p}px`, _.style.position = "absolute", _.style.top = "0", _.style.left = "0", u.appendChild(_);
284
- let v = Math.round(.5 * Math.min(f, p)), y = document.createElement("schmancy-icon");
285
- y.textContent = o, y.setAttribute("size", `${v}px`), Object.assign(y.style, {
286
- position: "absolute",
287
- top: "50%",
288
- left: "50%",
289
- transform: "translate(-50%, -50%)",
290
- color: c,
291
- pointerEvents: "none"
292
- }), u.appendChild(y), document.body.appendChild(u), t.overlayElement = u, E(null).pipe(ie(g)).subscribe(() => {
293
- u.style.opacity = "1", u.style.transform = "scale(1)";
294
- });
295
- let b = _.getContext("2d");
296
- if (!b) return;
297
- b.scale(m, m);
298
- let x = f / 2, S = p / 2, D = Math.min(f, p) / 2 - 1, O = D - 3, k = (e) => {
299
- b.clearRect(0, 0, f, p), b.beginPath(), b.arc(x, S, O, 0, 2 * Math.PI), b.fillStyle = s, b.fill();
300
- let t = 1 - e;
301
- if (t > 0) {
302
- let e = -Math.PI / 2, n = e + 2 * Math.PI * t;
303
- b.beginPath(), b.arc(x, S, D, e, n), b.arc(x, S, O, n, e, !0), b.closePath(), b.fillStyle = l, b.fill();
304
- }
305
- };
306
- k(0);
307
- let ee = performance.now(), te = w(0, g).pipe(M(() => (performance.now() - ee) / i), I((e) => e <= 1), F(r), L((e) => k(e))).subscribe({ complete: () => {
308
- G.get(e)?.isConfirming && this.hideOverlay(e);
309
- } });
310
- t.subscription.add(te);
311
- let A = T(C(u, "click").pipe(P(1), L(() => {
312
- t.callback(), this.hideOverlay(e);
313
- })), C(document, "click", { capture: !0 }).pipe(j((t) => !u.contains(t.target) && !e.contains(t.target)), P(1), L(() => this.hideOverlay(e))), C(document, "keydown").pipe(j((e) => e.key === "Escape"), P(1), L(() => this.hideOverlay(e)))).pipe(P(1), F(r)).subscribe();
314
- t.subscription.add(A);
315
- }
316
- hideOverlay(e) {
317
- let t = G.get(e);
318
- if (t && (t.cancel$.next(), t.isConfirming = !1, t.overlayElement)) {
319
- let e = t.overlayElement;
320
- e.style.opacity = "0", e.style.transform = "scale(0.6)", O(250).pipe(L(() => {
321
- document.body.contains(e) && document.body.removeChild(e);
322
- })).subscribe(), t.overlayElement = null;
323
- }
324
- }
325
- cleanup(e) {
326
- let t = G.get(e);
327
- t && (t.cancel$.next(), t.cancel$.complete(), t.subscription.unsubscribe(), t.overlayElement && document.body.contains(t.overlayElement) && document.body.removeChild(t.overlayElement), G.delete(e));
328
- }
329
- disconnected(e) {
330
- this.cleanup(e.element);
331
- }
332
- reconnected(e) {
333
- let t = e.element, n = G.get(t);
334
- if (n) {
335
- let e = new h(), r = this.setupClickListener(t, n.options, e);
336
- G.set(t, {
337
- subscription: r,
338
- callback: n.callback,
339
- options: n.options,
340
- overlayElement: null,
341
- isConfirming: !1,
342
- cancel$: e
343
- });
344
- }
345
- }
346
- }), pe = V(class extends B {
347
- constructor(...e) {
348
- super(...e), this.element = null, this.items = [], this.subscription = null, this.typewriterSub = null, this.currentAnimation = null, this.addDisplayEl = null, this.disconnecting$ = new h(), this.initialized = !1;
349
- }
350
- render(e) {
351
- return R;
352
- }
353
- update(e, [t = {}]) {
354
- if (this.element = e.element, !this.initialized && this.isConnected) {
355
- if (this.initialized = !0, this.disconnecting$.closed && (this.disconnecting$ = new h()), this.items = Array.from(this.element.children).filter((e) => e instanceof HTMLElement), this.items.length === 0) return R;
356
- this.element.style.display = "inline-grid", this.element.style.verticalAlign = "bottom", this.items.forEach((e, t) => {
357
- e.style.gridColumn = "1", e.style.gridRow = "1", e.style.visibility = t === 0 ? "" : "hidden";
358
- }), this.startCycling(t);
359
- }
360
- return R;
361
- }
362
- disconnected() {
363
- this.cleanup();
364
- }
365
- reconnected() {}
366
- startCycling(e) {
367
- let { mode: t = "replace" } = e;
368
- this.items.length < 2 || (t === "add" ? this.startAddCycling(e) : this.startReplaceCycling(e));
369
- }
370
- startReplaceCycling(e) {
371
- let { transition: t = "fade", hold: n = 2e3, duration: r = 300, delay: i = 0 } = e, a = (e) => b(() => new m((i) => {
372
- let a = this.items[e], o = (e - 1 + this.items.length) % this.items.length, s = this.items[o], c = parseInt(a.dataset.hold || "", 10) || n, l = this.transitionItems(s, a, t, r).pipe(N(() => O(c)), P(1), F(this.disconnecting$)).subscribe({
373
- next: () => {
374
- i.next(), i.complete();
375
- },
376
- error: (e) => i.error(e)
377
- });
378
- return () => l.unsubscribe();
379
- })), o = parseInt(this.items[0].dataset.hold || "", 10) || n, s = v(b(() => new m((e) => {
380
- let t = O(o).pipe(F(this.disconnecting$)).subscribe({ next: () => {
381
- e.next(), e.complete();
382
- } });
383
- return () => t.unsubscribe();
384
- })), v(...[...Array.from({ length: this.items.length }, (e, t) => t).slice(1), 0].map((e) => a(e))).pipe(ae()));
385
- this.subscription = O(i).pipe(N(() => s), F(this.disconnecting$)).subscribe();
386
- }
387
- startAddCycling(e) {
388
- let { transition: t = "fade", hold: n = 2e3, duration: r = 300, delay: i = 0, separator: a = ", " } = e, o = this.items.map((e) => e.textContent || "");
389
- this.items.forEach((e) => {
390
- e.style.display = "none";
391
- });
392
- let s = document.createElement("span");
393
- this.element.appendChild(s), this.addDisplayEl = s;
394
- let c = b(() => {
395
- s.textContent = "";
396
- let e = "", i = o.map((i, o) => {
397
- let c = parseInt(this.items[o].dataset.hold || "", 10) || n, l = (o > 0 ? a : "") + i;
398
- return b(() => t === "typewriter" ? this.typewriterAdd(s, e, l, r).pipe(L(() => {
399
- e += l;
400
- }), N(() => O(c))) : b(() => (e += l, s.textContent = e, O(c))));
401
- }), c = b(() => {
402
- let t = s.animate([{ opacity: 1 }, { opacity: 0 }], {
403
- duration: r,
404
- fill: "forwards"
405
- });
406
- return this.currentAnimation = t, S(t.finished).pipe(L(() => {
407
- t.cancel(), s.textContent = "", s.style.opacity = "", e = "";
408
- }), N(() => O(300)));
409
- });
410
- return v(...i, c);
411
- });
412
- this.subscription = O(i).pipe(N(() => c.pipe(ae())), F(this.disconnecting$)).subscribe();
413
- }
414
- typewriterAdd(e, t, n, r) {
415
- if (n.length === 0) return E(void 0);
416
- let i = r / n.length;
417
- return new m((r) => {
418
- let a = 0, o = w(i).pipe(L(() => {
419
- a++, e.textContent = t + n.slice(0, a);
420
- }), I(() => a < n.length), F(this.disconnecting$)).subscribe({ complete: () => {
421
- e.textContent = t + n, r.next(), r.complete();
422
- } });
423
- return () => o.unsubscribe();
424
- });
425
- }
426
- transitionItems(e, t, n, r) {
427
- switch (this.currentAnimation?.cancel(), this.currentAnimation = null, this.typewriterSub?.unsubscribe(), this.typewriterSub = null, n) {
428
- case "slide": return this.slideTransition(e, t, r);
429
- case "typewriter": return this.typewriterTransition(e, t, r);
430
- default: return this.fadeTransition(e, t, r);
431
- }
432
- }
433
- fadeTransition(e, t, n) {
434
- let r = e.animate([{ opacity: 1 }, { opacity: 0 }], {
435
- duration: n / 2,
436
- fill: "forwards"
437
- });
438
- return this.currentAnimation = r, S(r.finished).pipe(N(() => {
439
- r.cancel(), e.style.visibility = "hidden", t.style.visibility = "";
440
- let i = t.animate([{ opacity: 0 }, { opacity: 1 }], {
441
- duration: n / 2,
442
- fill: "forwards"
443
- });
444
- return this.currentAnimation = i, S(i.finished).pipe(L(() => {
445
- i.cancel();
446
- }), M(() => {}), k(() => p));
447
- }), k(() => p));
448
- }
449
- slideTransition(e, t, n) {
450
- let r = "cubic-bezier(0.4, 0, 0.2, 1)";
451
- t.style.visibility = "";
452
- let i = e.animate([{
453
- transform: "translateY(0)",
454
- opacity: 1
455
- }, {
456
- transform: "translateY(-100%)",
457
- opacity: 0
458
- }], {
459
- duration: n,
460
- fill: "forwards",
461
- easing: r
462
- }), a = t.animate([{
463
- transform: "translateY(100%)",
464
- opacity: 0
465
- }, {
466
- transform: "translateY(0)",
467
- opacity: 1
468
- }], {
469
- duration: n,
470
- fill: "forwards",
471
- easing: r
472
- });
473
- return this.currentAnimation = a, S(a.finished).pipe(L(() => {
474
- i.cancel(), a.cancel(), e.style.visibility = "hidden";
475
- }), M(() => {}), k(() => p));
476
- }
477
- typewriterTransition(e, t, n) {
478
- let r = e.textContent || "", i = t.textContent || "", a = r.length + i.length;
479
- if (a === 0) return e.style.visibility = "hidden", t.style.visibility = "", E(void 0);
480
- let o = n / a;
481
- return new m((n) => {
482
- let a = r.length;
483
- return this.typewriterSub = v(w(o).pipe(L(() => {
484
- a--, e.textContent = r.slice(0, a);
485
- }), I(() => a > 0)), b(() => (e.style.visibility = "hidden", e.textContent = r, t.style.visibility = "", t.textContent = "", E(null))), b(() => {
486
- let e = 0;
487
- return w(o).pipe(L(() => {
488
- e++, t.textContent = i.slice(0, e);
489
- }), I(() => e < i.length));
490
- })).pipe(F(this.disconnecting$)).subscribe({ complete: () => {
491
- t.textContent = i, n.next(), n.complete();
492
- } }), () => {
493
- this.typewriterSub?.unsubscribe(), this.typewriterSub = null;
494
- };
495
- });
496
- }
497
- cleanup() {
498
- this.disconnecting$.next(), this.disconnecting$.complete(), this.currentAnimation?.cancel(), this.currentAnimation = null, this.typewriterSub?.unsubscribe(), this.typewriterSub = null, this.subscription?.unsubscribe(), this.subscription = null, this.addDisplayEl &&= (this.addDisplayEl.remove(), null), this.items.forEach((e, t) => {
499
- e.style.gridColumn = "", e.style.gridRow = "", e.style.visibility = t === 0 ? "" : "hidden", e.style.opacity = "", e.style.transform = "";
500
- }), this.element = null, this.items = [], this.initialized = !1;
501
- }
502
- }), me = W(class extends B {
503
- constructor(...e) {
504
- super(...e), this.maxBlur = 8, this.duration = 400, this.isBlurred = !1, this.transitionSet = !1;
505
- }
506
- render(e) {}
507
- update(e, [t]) {
508
- if (e.type !== U.ELEMENT) throw Error("depthOfField directive must be used on an element");
509
- this.element = e.element, this.maxBlur = t.maxBlur ?? 8, this.duration = t.duration ?? 400, this.transitionSet || a.value || (this.element.style.transition = `filter ${this.duration}ms cubic-bezier(0.34, 1.2, 0.64, 1), scale ${this.duration}ms cubic-bezier(0.34, 1.2, 0.64, 1)`, this.transitionSet = !0), t.active && !this.isBlurred ? this.applyBlur() : !t.active && this.isBlurred && this.clearBlur();
510
- }
511
- applyBlur() {
512
- this.element.style.filter = `blur(${this.maxBlur}px) saturate(60%)`, this.element.style.scale = "1.01", this.isBlurred = !0;
513
- }
514
- clearBlur() {
515
- this.element.style.filter = "", this.element.style.scale = "", this.isBlurred = !1;
516
- }
517
- disconnected() {
518
- this.isBlurred && this.clearBlur();
519
- }
520
- reconnected() {}
521
- }), he = new f(null), K = new f(null), q = /* @__PURE__ */ new Map(), J = /* @__PURE__ */ new Map(), Y = [];
522
- function X(e) {
523
- Y.push(`[${(/* @__PURE__ */ new Date()).toISOString().slice(11, 23)}] ${e}`);
524
- }
525
- var Z = null;
526
- K.pipe(A((e, t) => e?.target === t?.target && e?.position === t?.position)).subscribe((e) => {
527
- if (!e) return void (Z && (Z.style.display = "none"));
528
- if (a.value) return;
529
- let t = function() {
530
- if (Z) return Z;
531
- let e = document.createElement("div");
532
- e.setAttribute("data-schmancy-drop-line", ""), Object.assign(e.style, {
533
- position: "fixed",
534
- height: "2px",
535
- backgroundColor: "var(--schmancy-sys-color-tertiary-default, #6750A4)",
536
- borderRadius: "1px",
537
- pointerEvents: "none",
538
- zIndex: "10000",
539
- transition: "top 100ms ease, left 100ms ease, width 100ms ease",
540
- boxShadow: "0 0 4px var(--schmancy-sys-color-tertiary-default, #6750A4)",
541
- display: "none"
542
- });
543
- for (let t of ["left", "right"]) {
544
- let n = document.createElement("div");
545
- Object.assign(n.style, {
546
- position: "absolute",
547
- width: "6px",
548
- height: "6px",
549
- borderRadius: "50%",
550
- backgroundColor: "var(--schmancy-sys-color-tertiary-default, #6750A4)",
551
- top: "-2px",
552
- [t]: "-3px"
553
- }), e.appendChild(n);
554
- }
555
- return document.body.appendChild(e), Z = e, e;
556
- }(), n = e.target.getBoundingClientRect(), r = e.position === "before" ? n.top - 1 : n.bottom + 1;
557
- Object.assign(t.style, {
558
- top: `${r}px`,
559
- left: `${n.left}px`,
560
- width: `${n.width}px`,
561
- display: "block"
562
- });
563
- });
564
- var ge = class extends H {
565
- constructor(...e) {
566
- super(...e), this.destroy$ = new h();
567
- }
568
- update(e, [t]) {
569
- if (this.id = t, !this.element) {
570
- let t = e.element;
571
- this.element = t, t.draggable = !0, t.style.cursor = "grab", C(t, "dragstart").pipe(L((e) => {
572
- e.stopPropagation(), e.dataTransfer?.setData("application/json", JSON.stringify({ id: this.id })), e.dataTransfer && (e.dataTransfer.effectAllowed = "move"), t.style.cursor = "grabbing", Y.length = 0, X(`DRAGSTART id=${this.id} tag=${t.tagName}`), he.next(this.id), J.clear();
573
- let n = t.parentElement;
574
- if (n) for (let [e, t] of q) t.parentElement === n && J.set(e, t.getBoundingClientRect());
575
- }), ie(g), L(() => {
576
- a.value || (t.style.transition = "transform 150ms ease, box-shadow 150ms ease, opacity 150ms ease", t.style.transform = "scale(1.03)", t.style.boxShadow = "0 8px 25px rgba(0,0,0,0.15)", t.style.opacity = "0.6", t.style.zIndex = "1000", t.style.pointerEvents = "none");
577
- }), N(() => C(t, "dragend").pipe(P(1), L(() => {
578
- let e = K.value;
579
- if (t.style.removeProperty("transition"), t.style.removeProperty("transform"), t.style.removeProperty("box-shadow"), t.style.removeProperty("opacity"), t.style.removeProperty("z-index"), t.style.removeProperty("pointer-events"), t.style.cursor = "grab", e) {
580
- let { target: t, destinationId: r, position: i } = e;
581
- X(`DROP source=${this.id} dest=${r} pos=${i}`), t.dispatchEvent(new CustomEvent("drop", {
582
- detail: {
583
- source: this.id,
584
- destination: r,
585
- position: i
586
- },
587
- bubbles: !0,
588
- composed: !0
589
- })), O(0, g).pipe(oe(1), P(1)).subscribe(() => {
590
- if (!a.value && J.size !== 0) {
591
- for (let [e, t] of J) {
592
- let r = q.get(e);
593
- if (!r) continue;
594
- let i = r.getBoundingClientRect(), a = t.left - i.left, o = t.top - i.top;
595
- Math.abs(a) < 1 && Math.abs(o) < 1 || r.animate([{ transform: `translate(${a}px, ${o}px)` }, { transform: "translate(0,0)" }], {
596
- duration: n.duration,
597
- easing: n.easingFallback,
598
- fill: "none"
599
- });
600
- }
601
- J.clear();
602
- }
603
- });
604
- }
605
- he.next(null), K.next(null), X(`DRAGEND id=${this.id}`), Y.length !== 0 && (Y.length = 0);
606
- }))), F(this.destroy$)).subscribe();
607
- }
608
- return this.registeredId && this.registeredId !== t && q.delete(this.registeredId), q.set(t, this.element), this.registeredId = t, z;
609
- }
610
- disconnected() {
611
- this.destroy$.next(), this.destroy$.complete(), this.registeredId && q.delete(this.registeredId), this.element = void 0;
612
- }
613
- reconnected() {
614
- this.destroy$ = new h(), this.element = void 0;
615
- }
616
- render(e) {
617
- return z;
618
- }
619
- }, _e = W(ge), ve = class extends H {
620
- constructor(...e) {
621
- super(...e), this.destroy$ = new h();
622
- }
623
- update(e, [t]) {
624
- if (this.destinationId = t, !this.element) {
625
- let t = e.element;
626
- this.element = t, C(t, "dragenter").pipe(L((e) => {
627
- X(`NATIVE-DRAGENTER dest=${this.destinationId}`), e.preventDefault();
628
- }), F(this.destroy$)).subscribe(), C(t, "dragover").pipe(L((e) => {
629
- X(`NATIVE-DRAGOVER dest=${this.destinationId}`), e.preventDefault(), e.dataTransfer && (e.dataTransfer.dropEffect = "move");
630
- }), F(this.destroy$)).subscribe(), C(t, "drop").pipe(L((e) => {
631
- e.preventDefault(), X(`NATIVE-DROP dest=${this.destinationId}`);
632
- }), F(this.destroy$)).subscribe(), he.pipe(N((e) => e && e !== this.destinationId ? (X(`DROP-ACTIVE dest=${this.destinationId} src=${e}`), C(t, "dragover").pipe(L((e) => {
633
- e.preventDefault(), e.dataTransfer && (e.dataTransfer.dropEffect = "move");
634
- }), L((n) => {
635
- let r = function(e, t, n) {
636
- let r = t.getBoundingClientRect(), i = n ? q.get(n) : null;
637
- if (!i) return e.clientY < r.top + r.height / 2 ? "before" : "after";
638
- let a = i.getBoundingClientRect();
639
- if (Math.abs(a.top - r.top) < r.height / 2) {
640
- let t = r.left + r.width / 2;
641
- return a.left > r.left ? e.clientX < t ? "before" : null : e.clientX >= t ? "after" : null;
642
- }
643
- let o = r.top + r.height / 2;
644
- return a.top > r.top ? e.clientY < o ? "before" : null : e.clientY >= o ? "after" : null;
645
- }(n, t, e);
646
- K.next(r ? {
647
- target: t,
648
- destinationId: this.destinationId,
649
- position: r
650
- } : null);
651
- }))) : (K.next(null), p)), F(this.destroy$)).subscribe();
652
- }
653
- return z;
654
- }
655
- disconnected() {
656
- this.destroy$.next(), this.destroy$.complete(), this.element = void 0;
657
- }
658
- reconnected() {
659
- this.destroy$ = new h(), this.element = void 0;
660
- }
661
- render(e) {
662
- return z;
663
- }
664
- }, ye = W(ve), be = V(class extends B {
665
- constructor(...e) {
666
- super(...e), this.element = null, this.disconnecting$ = new h();
667
- }
668
- apply(e, t) {
669
- if (!this.element) return;
670
- let n = window.visualViewport, r = n?.height ?? window.innerHeight, i = n?.width ?? window.innerWidth, a = this.element.getBoundingClientRect(), o = Math.max(0, r - a.top), s = Math.max(0, i - a.left), c = t ? 0 : e, l = this.element.style;
671
- l.boxSizing = "border-box", l.height = `${o}px`, l.width = `${s}px`, l.paddingBottom = `${c}px`, l.minHeight = "0", l.minWidth = "0", l.overflow = "hidden";
672
- }
673
- subscribe() {
674
- if (!this.element) return;
675
- let e = C(window, "resize", { passive: !0 });
676
- _([
677
- T(e, window.visualViewport ? T(C(window.visualViewport, "resize", { passive: !0 }), C(window.visualViewport, "scroll", { passive: !0 })) : e, C(window, "orientationchange"), C(document, "focusout", { passive: !0 }).pipe(N(() => O(100))), u(this.element), this.element.parentElement ? u(this.element.parentElement) : p).pipe(ee(16), se(null)),
678
- s.bottomOffset$,
679
- s.fullscreen$
680
- ]).pipe(j(() => {
681
- let e = window.visualViewport;
682
- return !e || Math.abs(e.scale - 1) <= .01;
683
- }), M(([, e, t]) => ({
684
- bottomOffset: e,
685
- isFullscreen: t
686
- })), A((e, t) => e.bottomOffset === t.bottomOffset && e.isFullscreen === t.isFullscreen), L(({ bottomOffset: e, isFullscreen: t }) => this.apply(e, t)), F(this.disconnecting$)).subscribe();
687
- }
688
- render() {}
689
- update(e) {
690
- if (e.type !== U.ELEMENT) throw Error("fill directive can only be used on elements");
691
- let t = e.element;
692
- this.element !== t && (this.element = t, this.subscribe());
693
- }
694
- disconnected() {
695
- this.disconnecting$.next(), this.element = null;
696
- }
697
- reconnected() {
698
- this.element && (this.disconnecting$ = new h(), this.subscribe());
699
- }
700
- }), xe = W(class extends B {
701
- constructor(...e) {
702
- super(...e), this.hasAnimated = !1;
703
- }
704
- render(e) {}
705
- update(e, [t]) {
706
- if (e.type !== U.ELEMENT) throw Error("gravity directive must be used on an element");
707
- if (this.element = e.element, this.options = t, this.hasAnimated) return;
708
- if (a.value) return void (this.hasAnimated = !0);
709
- let n = Math.max(.3, Math.min(3, t?.mass ?? 1)), r = t?.distance ?? 30, i = (t?.delay ?? 0) + (t?.stagger ?? 0);
710
- this.animate(n, r, i), this.hasAnimated = !0;
711
- }
712
- reconnected() {
713
- if (this.hasAnimated = !1, this.options && !a.value) {
714
- let e = Math.max(.3, Math.min(3, this.options.mass ?? 1)), t = this.options.distance ?? 30, n = (this.options.delay ?? 0) + (this.options.stagger ?? 0);
715
- this.animate(e, t, n), this.hasAnimated = !0;
716
- }
717
- }
718
- animate(e, n, i) {
719
- let a = e < .7 ? r : t, o = a.duration * (1 / Math.sqrt(e)), s = 1 / e * n;
720
- this.animation?.cancel(), this.element.style.willChange = "transform, opacity", this.animation = this.element.animate([{
721
- opacity: 0,
722
- transform: `translateY(-${s}px)`
723
- }, {
724
- opacity: 1,
725
- transform: "translateY(0)"
726
- }], {
727
- duration: o,
728
- delay: i,
729
- easing: a.easingFallback,
730
- fill: "backwards"
731
- }), S(this.animation.finished).pipe(P(1), L(() => {
732
- this.element.style.willChange = "", this.animation = void 0;
733
- }), k(() => p)).subscribe();
734
- }
735
- disconnected() {
736
- this.animation?.cancel(), this.animation = void 0;
737
- }
738
- }), Se = V(class extends B {
739
- constructor(...e) {
740
- super(...e), this.state = null;
741
- }
742
- render(e, t) {
743
- return R;
744
- }
745
- update(e, [t, n]) {
746
- let r = e.element, i, a, o, s = {};
747
- if (typeof t == "function" ? (i = t, s = n || {}) : (a = t.onEnter, o = t.onExit, s = t.options || {}, i = (e) => {
748
- e && a && a(), !e && o && o();
749
- }), this.state?.element === r) return R;
750
- this.cleanup();
751
- let { once: c = !1, threshold: l = 0, rootMargin: u = "0px", delay: d = 0 } = s, f = new IntersectionObserver((e) => {
752
- if (!this.state) return;
753
- let t = e[0], n = t.isIntersecting;
754
- d > 0 && n ? (this.state.delayTimerSub && this.state.delayTimerSub.unsubscribe(), this.state.delayTimerSub = O(d).pipe(P(1), L(() => this.triggerCallback(n, t))).subscribe()) : (!n && this.state.delayTimerSub && (this.state.delayTimerSub.unsubscribe(), this.state.delayTimerSub = void 0), this.triggerCallback(n, t));
755
- }, {
756
- threshold: l,
757
- rootMargin: u
758
- });
759
- return this.state = {
760
- element: r,
761
- observer: f,
762
- callback: i,
763
- onEnter: a,
764
- onExit: o,
765
- once: c,
766
- delay: d,
767
- hasFired: !1
768
- }, f.observe(r), R;
769
- }
770
- triggerCallback(e, t) {
771
- this.state && (this.state.once ? e && !this.state.hasFired && (this.state.hasFired = !0, this.state.callback(e, t), this.cleanup()) : this.state.callback(e, t));
772
- }
773
- cleanup() {
774
- this.state &&= (this.state.delayTimerSub?.unsubscribe(), this.state.delayTimerSub = void 0, this.state.observer.disconnect(), null);
775
- }
776
- pause() {
777
- this.state && (this.state.delayTimerSub?.unsubscribe(), this.state.observer.disconnect());
778
- }
779
- disconnected() {
780
- this.pause();
781
- }
782
- reconnected() {
783
- this.state && this.state.observer.observe(this.state.element);
784
- }
785
- }), Ce = {
786
- active: !0,
787
- intensity: "medium"
788
- }, we = {
789
- light: {
790
- blur: 12,
791
- sat: 1.3,
792
- bright: 1.05,
793
- tint: .45,
794
- border: .2,
795
- shadow: .06
796
- },
797
- medium: {
798
- blur: 16,
799
- sat: 1.4,
800
- bright: 1.08,
801
- tint: .55,
802
- border: .28,
803
- shadow: .08
804
- },
805
- strong: {
806
- blur: 24,
807
- sat: 1.5,
808
- bright: 1.12,
809
- tint: .65,
810
- border: .35,
811
- shadow: .1
812
- }
813
- }, Te = [
814
- "backdropFilter",
815
- "background",
816
- "boxShadow",
817
- "borderTop",
818
- "borderBottom"
819
- ], Ee = V(class extends B {
820
- constructor(...e) {
821
- super(...e), this.state = null;
822
- }
823
- render(e) {
824
- return R;
825
- }
826
- update(e, [t = {}]) {
827
- let n = e.element, r = {
828
- ...Ce,
829
- ...t
830
- };
831
- return r.active ? this.activate(n, r) : this.cleanup(), R;
832
- }
833
- activate(e, t) {
834
- if (!this.isConnected) return;
835
- let n = we[t.intensity];
836
- if (!this.state) {
837
- let t = {};
838
- for (let n of Te) t[n] = e.style[n];
839
- this.state = {
840
- element: e,
841
- origStyles: t
842
- };
843
- }
844
- this.applyStyles(e, n);
845
- }
846
- applyStyles(e, t) {
847
- let n = `blur(${t.blur}px) saturate(${t.sat}) brightness(${t.bright})`;
848
- e.style.backdropFilter = n, e.style.setProperty("-webkit-backdrop-filter", n), e.style.background = `rgba(var(--md-sys-color-surface-container, 255 255 255) / ${t.tint})`;
849
- let r = t.border;
850
- e.style.boxShadow = [
851
- `inset 0 1px 0 0 rgba(255,255,255, ${1.5 * r})`,
852
- `inset 0 2px 6px rgba(255,255,255, ${.6 * r})`,
853
- `inset 0 -1px 0 0 rgba(255,255,255, ${.25 * r})`,
854
- `0 1px 3px rgba(0,0,0, ${t.shadow})`,
855
- `0 6px 20px rgba(0,0,0, ${.5 * t.shadow})`
856
- ].join(", "), e.style.borderTop = `0.5px solid rgba(255,255,255, ${.9 * r})`, e.style.borderBottom = "0.5px solid rgba(0,0,0, 0.05)";
857
- }
858
- cleanup() {
859
- if (!this.state) return;
860
- let { element: e, origStyles: t } = this.state;
861
- for (let n of Te) e.style[n] = t[n];
862
- e.style.removeProperty("-webkit-backdrop-filter"), this.state = null;
863
- }
864
- disconnected() {
865
- this.cleanup();
866
- }
867
- reconnected() {}
868
- }), Q = "schmancy-lb-rotate", De = !1;
869
- function Oe() {
870
- if (De) return;
871
- let e = document.createElement("style");
872
- e.id = "schmancy-living-border-shared", e.textContent = `\n\t\t@property --${Q}-angle {\n\t\t\tsyntax: '<angle>';\n\t\t\tinitial-value: 0deg;\n\t\t\tinherits: false;\n\t\t}\n\t\t@keyframes ${Q} {\n\t\t\tto { --${Q}-angle: 360deg; }\n\t\t}\n\t`, document.head.appendChild(e), De = !0;
873
- }
874
- var ke = W(class extends B {
875
- constructor(...e) {
876
- super(...e), this.teardown$ = new h(), this.didSetPosition = !1;
877
- }
878
- render(e) {}
879
- update(e, [t]) {
880
- if (e.type !== U.ELEMENT) throw Error("livingBorder directive must be used on an element");
881
- let n = JSON.stringify(t ?? {});
882
- this.element && n === this.prevKey || (this.prevKey = n, this.element = e.element, this.lastOptions = t, a.value || (this.teardown$.next(), this.cleanup(), Oe(), this.createBorderOverlay(t)));
883
- }
884
- reconnected() {
885
- this.lastOptions && !a.value && (Oe(), this.createBorderOverlay(this.lastOptions));
886
- }
887
- createBorderOverlay(e) {
888
- let t = e?.width ?? 1, n = e?.color ?? "var(--schmancy-sys-color-primary-default)", r = e?.spread ?? 6, i = e?.duration ?? 3e3, a = e?.onHover ?? !1;
889
- getComputedStyle(this.element).position === "static" && (this.element.style.position = "relative", this.didSetPosition = !0), this.borderEl = document.createElement("div"), this.borderEl.setAttribute("aria-hidden", "true");
890
- let o = `-${t}px`;
891
- Object.assign(this.borderEl.style, {
892
- position: "absolute",
893
- top: o,
894
- left: o,
895
- right: o,
896
- bottom: o,
897
- borderRadius: "inherit",
898
- pointerEvents: "none",
899
- zIndex: "0",
900
- background: `conic-gradient(\n\t\t\t\tfrom var(--${Q}-angle),\n\t\t\t\ttransparent 0%, transparent 30%,\n\t\t\t\tcolor-mix(in srgb, ${n} 50%, transparent) 45%,\n\t\t\t\t${n} 50%,\n\t\t\t\tcolor-mix(in srgb, ${n} 50%, transparent) 55%,\n\t\t\t\ttransparent 70%, transparent 100%\n\t\t\t)`,
901
- mask: "linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",
902
- maskComposite: "exclude",
903
- WebkitMaskComposite: "xor",
904
- padding: `${t}px`,
905
- animation: `${Q} ${i}ms linear infinite`,
906
- filter: `blur(${.3 * r}px) drop-shadow(0 0 ${r}px color-mix(in srgb, ${n} 40%, transparent))`,
907
- opacity: a ? "0" : "0.5",
908
- transition: "opacity 300ms ease"
909
- }), this.element.prepend(this.borderEl), T(C(this.element, "mouseenter").pipe(M(() => {
910
- this.borderEl && (this.borderEl.style.opacity = a ? "0.7" : "0.8");
911
- })), C(this.element, "mouseleave").pipe(M(() => {
912
- this.borderEl && (this.borderEl.style.opacity = a ? "0" : "0.5");
913
- }))).pipe(F(this.teardown$)).subscribe();
914
- }
915
- cleanup() {
916
- this.borderEl?.remove(), this.borderEl = void 0;
917
- }
918
- disconnected() {
919
- this.teardown$.next(), this.cleanup(), this.didSetPosition && this.element && (this.element.style.position = "", this.didSetPosition = !1);
920
- }
921
- }), $ = /* @__PURE__ */ new WeakMap(), Ae = W(class extends H {
922
- constructor(e) {
923
- if (super(e), e.type !== U.ELEMENT) throw Error("longPress directive can only be used on elements");
924
- }
925
- render(e, t) {}
926
- update(e, [t, n = {}]) {
927
- let r = e.element, i = $.get(r);
928
- if (i) {
929
- if (i.callback === t && this.optionsEqual(i.options, n)) return;
930
- i.subscription.unsubscribe();
931
- }
932
- let a = this.setupLongPress(r, t, n);
933
- $.set(r, {
934
- subscription: a,
935
- callback: t,
936
- options: n || {}
937
- });
938
- }
939
- optionsEqual(e, t) {
940
- return t ? e.duration === t.duration && e.movementThreshold === t.movementThreshold : Object.keys(e).length === 0;
941
- }
942
- setupLongPress(e, t, n = {}) {
943
- let r = n.duration ?? 500, i = n.movementThreshold ?? 10, a = C(e, "pointerdown"), o = C(window, "pointerup"), s = C(window, "pointermove"), c = C(window, "pointercancel");
944
- return a.pipe(N((e) => {
945
- let n = e.clientX, a = e.clientY, l = T(o, c, s.pipe(j((e) => {
946
- let t = e.clientX - n, r = e.clientY - a;
947
- return Math.sqrt(t * t + r * r) > i;
948
- }))).pipe(re());
949
- return O(r).pipe(F(l), L(() => t()));
950
- })).subscribe();
951
- }
952
- disconnected(e) {
953
- let t = e.element, n = $.get(t);
954
- n && (n.subscription.unsubscribe(), $.delete(t));
955
- }
956
- reconnected(e) {
957
- let t = e.element, n = $.get(t);
958
- n && (n.subscription = this.setupLongPress(t, n.callback, n.options));
959
- }
960
- }), je = {
961
- active: !0,
962
- autoHideDuration: 3e3,
963
- background: !0,
964
- intensity: 1,
965
- blur: 1,
966
- speed: 1,
967
- fadeInDuration: 1e3,
968
- fadeOutDuration: 8e3,
969
- idleOpacity: .6,
970
- idleBreathe: !0,
971
- temperature: 0,
972
- chromaticAberration: 1,
973
- particleCount: 30
974
- }, Me = "cubic-bezier(0.37, 0, 0.63, 1)", Ne = "cubic-bezier(0.25, 0.1, 0.25, 1)", Pe = !1, Fe = class e {
975
- constructor() {
976
- this.elementToDirective = /* @__PURE__ */ new WeakMap(), this.instances = /* @__PURE__ */ new Set(), this.observer = null, this.visibilitySub = null, this.tabVisible = !0;
977
- }
978
- static {
979
- this._instance = null;
980
- }
981
- static get instance() {
982
- return e._instance ||= new e(), e._instance;
983
- }
984
- register(e, t) {
985
- let n = this.instances.size === 0;
986
- this.instances.add(e), this.elementToDirective.set(t, e), n && this.setup(), this.observer?.observe(t);
987
- }
988
- unregister(e, t) {
989
- this.observer?.unobserve(t), this.elementToDirective.delete(t), this.instances.delete(e), this.instances.size === 0 && this.teardown();
990
- }
991
- setup() {
992
- this.observer = new IntersectionObserver((e) => {
993
- for (let t of e) {
994
- let e = this.elementToDirective.get(t.target);
995
- e && e.onVisibilityChange(t.isIntersecting && this.tabVisible);
996
- }
997
- }, { threshold: 0 }), this.visibilitySub = C(document, "visibilitychange").pipe(L(() => {
998
- this.tabVisible = document.visibilityState === "visible";
999
- for (let e of this.instances) e.onVisibilityChange(this.tabVisible);
1000
- })).subscribe();
1001
- }
1002
- teardown() {
1003
- this.observer &&= (this.observer.disconnect(), null), this.visibilitySub &&= (this.visibilitySub.unsubscribe(), null);
1004
- }
1005
- }, Ie = V(class extends B {
1006
- constructor(...e) {
1007
- super(...e), this.state = null, this.coordinator = Fe.instance;
1008
- }
1009
- render(e) {
1010
- return R;
1011
- }
1012
- update(e, [t = {}]) {
1013
- let n = e.element, r = {
1014
- ...je,
1015
- ...t
1016
- };
1017
- return r.active ? this.show(n, r) : this.hide(r), R;
1018
- }
1019
- onVisibilityChange(e) {
1020
- if (!this.state?.overlay) return;
1021
- let t = this.state.isVisible;
1022
- this.state.isVisible = e, t !== e && (this.state.overlay.classList.toggle("paused", !e), this.state.overlay.classList.toggle("running", e));
1023
- }
1024
- show(e, t) {
1025
- (function() {
1026
- if (Pe || typeof document > "u") return;
1027
- Pe = !0;
1028
- let e = document.createElement("style");
1029
- e.id = "nebula-directive-styles", e.textContent = "\n/* =============================================================================\n NEBULA v3 - SURREAL DIMENSIONAL RIFT - GPU-COMPOSITED CSS ANIMATIONS\n Chromatic aberration, iridescent hue-cycling, event horizon, tendrils.\n Performance: translate3d + opacity for most layers, hue-rotate for core only.\n ============================================================================= */\n\n/* Chromatic red channel - rightward aberration drift */\n@keyframes nebula-chromatic-red {\n 0%, 100% { transform: translate3d(var(--nebula-aberration, 3px), 0, 0); }\n 25% { transform: translate3d(calc(var(--nebula-aberration, 3px) * 1.8), -1%, 0); }\n 50% { transform: translate3d(var(--nebula-aberration, 3px), 1%, 0); }\n 75% { transform: translate3d(calc(var(--nebula-aberration, 3px) * 0.5), 0, 0); }\n}\n\n/* Chromatic blue channel - leftward counter-drift */\n@keyframes nebula-chromatic-blue {\n 0%, 100% { transform: translate3d(calc(var(--nebula-aberration, 3px) * -1), 0, 0); }\n 25% { transform: translate3d(calc(var(--nebula-aberration, 3px) * -0.5), 1%, 0); }\n 50% { transform: translate3d(calc(var(--nebula-aberration, 3px) * -1), -1%, 0); }\n 75% { transform: translate3d(calc(var(--nebula-aberration, 3px) * -1.8), 0, 0); }\n}\n\n/* Iridescent core - continuous 360-degree hue rotation (the ONE filter animation) */\n@keyframes nebula-iridescent {\n 0% { filter: hue-rotate(0deg) blur(var(--nebula-blur-core, 12px)) saturate(1.6); }\n 100% { filter: hue-rotate(360deg) blur(var(--nebula-blur-core, 12px)) saturate(1.6); }\n}\n\n/* Bioluminescent tendrils - organic breathing */\n@keyframes nebula-tendrils-breathe {\n 0%, 100% { opacity: 0.6; transform: translate3d(0, 0, 0); }\n 30% { opacity: 0.9; transform: translate3d(1%, -1.5%, 0); }\n 60% { opacity: 0.5; transform: translate3d(-1%, 1.5%, 0); }\n}\n\n/* Quantum particle twinkle - opacity only (cheapest) */\n@keyframes nebula-particle-twinkle {\n 0%, 100% { opacity: 0.7; }\n 15% { opacity: 1; }\n 40% { opacity: 0.5; }\n 65% { opacity: 0.85; }\n 85% { opacity: 0.6; }\n}\n\n/* Idle breathing - gentle pulse when dimmed */\n@keyframes nebula-idle-breathe {\n 0%, 100% {\n opacity: var(--nebula-idle-opacity, 0.08);\n filter: blur(calc(var(--nebula-blur-base, 10px) * 8));\n transform: scale(1);\n }\n 50% {\n opacity: calc(var(--nebula-idle-opacity, 0.08) * 1.4);\n filter: blur(calc(var(--nebula-blur-base, 10px) * 10));\n transform: scale(1.005);\n }\n}\n\n/* =============================================================================\n STATE CLASSES - Control via CSS class toggle (no JS animation calls)\n ============================================================================= */\n\n.nebula-overlay {\n contain: strict;\n pointer-events: none;\n isolation: isolate;\n}\n\n.nebula-overlay.paused .nebula-layer {\n animation-play-state: paused !important;\n}\n\n.nebula-overlay.running .nebula-layer {\n animation-play-state: running !important;\n}\n\n/* Reduced motion - respect user preferences */\n@media (prefers-reduced-motion: reduce) {\n .nebula-layer {\n animation: none !important;\n transition: opacity 0s !important;\n }\n}\n", document.head.appendChild(e);
1030
- })(), this.state?.autoHideSub && (this.state.autoHideSub.unsubscribe(), this.state.autoHideSub = null);
1031
- let n = a.value;
1032
- if (this.state?.overlay && this.state.isDimmed) return this.state.isDimmed = !1, this.state.options = t, this.awakenOverlay(t, n), void this.scheduleAutoHide(t);
1033
- this.state?.overlay || this.createOverlay(e, t, n), this.scheduleAutoHide(t);
1034
- }
1035
- awakenOverlay(n, r) {
1036
- if (!this.state?.overlay) return;
1037
- let i = this.state.overlay, a = r ? 0 : .6 * n.fadeInDuration, o = r ? "linear" : e(t);
1038
- i.style.setProperty("--nebula-intensity", String(n.intensity)), i.animate([
1039
- {
1040
- opacity: n.idleOpacity,
1041
- transform: "scale(0.98)",
1042
- filter: `blur(${4 * n.blur}px)`
1043
- },
1044
- {
1045
- opacity: .7 * n.intensity,
1046
- transform: "scale(1.01)",
1047
- filter: `blur(${1 * n.blur}px)`
1048
- },
1049
- {
1050
- opacity: n.intensity,
1051
- transform: "scale(1)",
1052
- filter: "blur(0px)"
1053
- }
1054
- ], {
1055
- duration: a,
1056
- easing: o,
1057
- fill: "forwards"
1058
- }), i.classList.remove("paused"), i.classList.add("running");
1059
- }
1060
- createOverlay(n, r, i) {
1061
- let a = window.getComputedStyle(n).position, o = n.style.position, s = n.style.overflow, c = n.style.contain;
1062
- a === "static" && (n.style.position = "relative"), n.style.overflow = "hidden", n.style.contain = "paint";
1063
- let l = r.temperature, u = Math.max(0, l), d = Math.max(0, -l), f = r.intensity, p = Math.round(3 + 5 * r.chromaticAberration), m = Math.round(20 + 60 * d), h = Math.round(80 + 80 * d), g = Math.round(20 + 80 * u), _ = Math.round(255 - 55 * u), v = Math.round(100 + 100 * d), y = Math.round(100 * u), b = Math.round(255 - 55 * u), x = Math.round(100 + 55 * d), S = Math.round(255 - 55 * d), C = document.createElement("div");
1064
- if (C.className = "nebula-overlay running", Object.assign(C.style, {
1065
- position: "absolute",
1066
- inset: "-20%",
1067
- zIndex: r.background ? "-1" : "9999",
1068
- opacity: "0",
1069
- "--nebula-intensity": String(f),
1070
- "--nebula-blur-base": 10 * r.blur + "px",
1071
- "--nebula-idle-opacity": String(r.idleOpacity),
1072
- "--nebula-aberration": `${p}px`,
1073
- "--nebula-blur-core": 12 * r.blur + "px"
1074
- }), i) {
1075
- let e = document.createElement("div");
1076
- Object.assign(e.style, {
1077
- position: "absolute",
1078
- inset: "0",
1079
- background: `\n\t\t\t\t\tradial-gradient(ellipse 45% 40% at 50% 50%,\n\t\t\t\t\t\trgba(255,${x},${S},${.12 * f}) 0%,\n\t\t\t\t\t\trgba(${g},100,${_},${.06 * f}) 40%,\n\t\t\t\t\t\ttransparent 70%),\n\t\t\t\t\tradial-gradient(circle 8% at 50% 50%,\n\t\t\t\t\t\trgba(255,255,255,${.15 * f}) 0%,\n\t\t\t\t\t\ttransparent 100%)`,
1080
- filter: `blur(${10 * r.blur}px)`,
1081
- opacity: String(f)
1082
- }), C.appendChild(e);
1083
- } else {
1084
- let e = document.createElement("div");
1085
- e.className = "nebula-layer", Object.assign(e.style, {
1086
- position: "absolute",
1087
- inset: "-5%",
1088
- background: `\n\t\t\t\t\tlinear-gradient(155deg,\n\t\t\t\t\t\ttransparent 0%, transparent 38%,\n\t\t\t\t\t\trgba(8,2,18,${.35 * f}) 44%,\n\t\t\t\t\t\trgba(0,0,0,${.4 * f}) 49%,\n\t\t\t\t\t\trgba(8,2,18,${.35 * f}) 54%,\n\t\t\t\t\t\ttransparent 60%, transparent 100%),\n\t\t\t\t\tlinear-gradient(225deg,\n\t\t\t\t\t\ttransparent 0%, transparent 42%,\n\t\t\t\t\t\trgba(5,0,12,${.28 * f}) 47%,\n\t\t\t\t\t\trgba(0,0,0,${.32 * f}) 50%,\n\t\t\t\t\t\trgba(5,0,12,${.28 * f}) 53%,\n\t\t\t\t\t\ttransparent 58%, transparent 100%),\n\t\t\t\t\tradial-gradient(ellipse 110% 110% at 50% 50%,\n\t\t\t\t\t\ttransparent 35%,\n\t\t\t\t\t\trgba(3,0,8,${.2 * f}) 60%,\n\t\t\t\t\t\trgba(0,0,0,${.35 * f}) 85%),\n\t\t\t\t\tradial-gradient(ellipse 50% 45% at 30% 35%,\n\t\t\t\t\t\trgba(0,0,0,${.3 * f}) 0%,\n\t\t\t\t\t\ttransparent 65%),\n\t\t\t\t\tradial-gradient(ellipse 40% 55% at 70% 65%,\n\t\t\t\t\t\trgba(0,0,0,${.25 * f}) 0%,\n\t\t\t\t\t\ttransparent 60%)`,
1089
- filter: `blur(${4 * r.blur}px)`,
1090
- mixBlendMode: "multiply",
1091
- transform: "translateZ(0)"
1092
- }), C.appendChild(e);
1093
- let t = document.createElement("div");
1094
- t.className = "nebula-layer", Object.assign(t.style, {
1095
- position: "absolute",
1096
- inset: "-15%",
1097
- background: `\n\t\t\t\t\tradial-gradient(ellipse 55% 50% at 48% 50%,\n\t\t\t\t\t\trgba(255,${m},${h},${.14 * f}) 0%,\n\t\t\t\t\t\trgba(255,${m},${h},${.06 * f}) 35%,\n\t\t\t\t\t\ttransparent 65%),\n\t\t\t\t\tradial-gradient(ellipse 30% 35% at 30% 35%,\n\t\t\t\t\t\trgba(255,${v},200,${.1 * f}) 0%,\n\t\t\t\t\t\trgba(255,${v},200,${.03 * f}) 50%,\n\t\t\t\t\t\ttransparent 70%),\n\t\t\t\t\tradial-gradient(ellipse 25% 30% at 65% 70%,\n\t\t\t\t\t\trgba(255,${Math.min(255, m + 30)},${h},${.08 * f}) 0%,\n\t\t\t\t\t\ttransparent 60%)`,
1098
- filter: `blur(${18 * r.blur}px) saturate(1.4)`,
1099
- mixBlendMode: "screen",
1100
- transform: "translateZ(0)",
1101
- animation: `nebula-chromatic-red ${35e3 / r.speed}ms ${Ne} infinite`
1102
- }), C.appendChild(t);
1103
- let n = document.createElement("div");
1104
- n.className = "nebula-layer", Object.assign(n.style, {
1105
- position: "absolute",
1106
- inset: "-15%",
1107
- background: `\n\t\t\t\t\tradial-gradient(ellipse 50% 55% at 52% 50%,\n\t\t\t\t\t\trgba(${g},100,${_},${.12 * f}) 0%,\n\t\t\t\t\t\trgba(${g},100,${_},${.05 * f}) 35%,\n\t\t\t\t\t\ttransparent 60%),\n\t\t\t\t\tradial-gradient(ellipse 35% 30% at 68% 40%,\n\t\t\t\t\t\trgba(${y},${b},200,${.09 * f}) 0%,\n\t\t\t\t\t\trgba(${y},${b},200,${.03 * f}) 45%,\n\t\t\t\t\t\ttransparent 65%),\n\t\t\t\t\tradial-gradient(ellipse 28% 25% at 35% 65%,\n\t\t\t\t\t\trgba(${g},100,${Math.min(255, _ + 20)},${.07 * f}) 0%,\n\t\t\t\t\t\ttransparent 55%)`,
1108
- filter: `blur(${18 * r.blur}px) saturate(1.4)`,
1109
- mixBlendMode: "screen",
1110
- transform: "translateZ(0)",
1111
- animation: `nebula-chromatic-blue ${35e3 / r.speed}ms ${Ne} infinite`
1112
- }), C.appendChild(n);
1113
- let i = document.createElement("div");
1114
- i.className = "nebula-layer", Object.assign(i.style, {
1115
- position: "absolute",
1116
- inset: "0",
1117
- background: `\n\t\t\t\t\tradial-gradient(ellipse 20% 22% at 50% 50%,\n\t\t\t\t\t\trgba(255,${x},${S},${.18 * f}) 0%,\n\t\t\t\t\t\trgba(255,${v},200,${.08 * f}) 40%,\n\t\t\t\t\t\trgba(${g},100,${_},${.03 * f}) 65%,\n\t\t\t\t\t\ttransparent 80%),\n\t\t\t\t\tradial-gradient(circle 6% at 50% 50%,\n\t\t\t\t\t\trgba(255,255,255,${.25 * f}) 0%,\n\t\t\t\t\t\trgba(255,240,245,${.1 * f}) 50%,\n\t\t\t\t\t\ttransparent 100%)`,
1118
- mixBlendMode: "screen",
1119
- transform: "translateZ(0)",
1120
- animation: `nebula-iridescent ${28e3 / r.speed}ms linear infinite`
1121
- }), C.appendChild(i);
1122
- let a = document.createElement("div");
1123
- if (a.className = "nebula-layer", Object.assign(a.style, {
1124
- position: "absolute",
1125
- inset: "-12%",
1126
- background: `\n\t\t\t\t\tradial-gradient(ellipse 60% 12% at 50% 48%,\n\t\t\t\t\t\trgba(255,${v},200,${.1 * f}) 0%,\n\t\t\t\t\t\ttransparent 70%),\n\t\t\t\t\tradial-gradient(ellipse 12% 55% at 48% 50%,\n\t\t\t\t\t\trgba(${y},${b},200,${.08 * f}) 0%,\n\t\t\t\t\t\ttransparent 65%),\n\t\t\t\t\tradial-gradient(ellipse 45% 10% at 45% 35%,\n\t\t\t\t\t\trgba(255,${x},${S},${.07 * f}) 0%,\n\t\t\t\t\t\ttransparent 60%),\n\t\t\t\t\tradial-gradient(ellipse 10% 40% at 60% 60%,\n\t\t\t\t\t\trgba(${g},100,${_},${.06 * f}) 0%,\n\t\t\t\t\t\ttransparent 55%)`,
1127
- filter: `blur(${14 * r.blur}px)`,
1128
- mixBlendMode: "screen",
1129
- transform: "translateZ(0)",
1130
- animation: `nebula-tendrils-breathe ${22e3 / r.speed}ms ${Me} infinite`
1131
- }), C.appendChild(a), r.particleCount > 0) {
1132
- let e = document.createElement("div");
1133
- e.className = "nebula-layer";
1134
- let t = [];
1135
- for (let e = 0; e < r.particleCount; e++) {
1136
- let e = 5 + 90 * Math.random(), n = 5 + 90 * Math.random(), r = .5 + 2 * Math.random(), i = Math.round(360 * Math.random()), a = (.3 + .5 * Math.random()) * f;
1137
- t.push(`radial-gradient(circle ${r}px at ${e}% ${n}%, hsla(${i},80%,70%,${a}) 0%, transparent 100%)`);
1138
- }
1139
- Object.assign(e.style, {
1140
- position: "absolute",
1141
- inset: "0",
1142
- background: t.join(","),
1143
- mixBlendMode: "screen",
1144
- transform: "translateZ(0)",
1145
- animation: `nebula-particle-twinkle ${5e3 / r.speed}ms ${Me} infinite`
1146
- }), C.appendChild(e);
1147
- }
1148
- }
1149
- n.appendChild(C);
1150
- let w = i ? 0 : r.fadeInDuration, T = i ? "linear" : e(t);
1151
- C.animate([
1152
- {
1153
- opacity: 0,
1154
- transform: "scale(0.85)",
1155
- filter: `blur(${25 * r.blur}px) saturate(0.5)`
1156
- },
1157
- {
1158
- opacity: .3 * r.intensity,
1159
- transform: "scale(0.95)",
1160
- filter: `blur(${12 * r.blur}px) saturate(0.8)`
1161
- },
1162
- {
1163
- opacity: .6 * r.intensity,
1164
- transform: "scale(1.02)",
1165
- filter: `blur(${4 * r.blur}px) saturate(1.1)`
1166
- },
1167
- {
1168
- opacity: .85 * r.intensity,
1169
- transform: "scale(1.005)",
1170
- filter: `blur(${1 * r.blur}px) saturate(1.05)`
1171
- },
1172
- {
1173
- opacity: r.intensity,
1174
- transform: "scale(1)",
1175
- filter: "blur(0px) saturate(1)"
1176
- }
1177
- ], {
1178
- duration: w,
1179
- easing: T,
1180
- fill: "forwards"
1181
- }), this.state = {
1182
- element: n,
1183
- overlay: C,
1184
- originalPosition: o,
1185
- originalOverflow: s,
1186
- originalContain: c,
1187
- isDimmed: !1,
1188
- autoHideSub: null,
1189
- options: r,
1190
- reducedMotion: i,
1191
- isVisible: document.visibilityState === "visible"
1192
- }, this.coordinator.register(this, n);
1193
- }
1194
- scheduleAutoHide(e) {
1195
- !this.state || e.autoHideDuration <= 0 || (this.state.autoHideSub = O(e.autoHideDuration).pipe(P(1), L(() => {
1196
- this.state && (this.state.autoHideSub = null, this.hide(this.state.options));
1197
- })).subscribe());
1198
- }
1199
- hide(t) {
1200
- if (!this.state?.overlay || (this.state.autoHideSub && (this.state.autoHideSub.unsubscribe(), this.state.autoHideSub = null), this.state.isDimmed)) return;
1201
- this.state.isDimmed = !0;
1202
- let n = this.state.overlay, r = this.state.options, a = this.state.reducedMotion, o = a ? 0 : t.fadeOutDuration, s = a ? "linear" : e(i);
1203
- if (t.idleOpacity <= 0) return void n.animate([
1204
- {
1205
- opacity: r.intensity,
1206
- transform: "scale(1)",
1207
- filter: "blur(0px) saturate(1)"
1208
- },
1209
- {
1210
- opacity: .4 * r.intensity,
1211
- transform: "scale(0.95)",
1212
- filter: `blur(${8 * r.blur}px) saturate(0.7)`
1213
- },
1214
- {
1215
- opacity: 0,
1216
- transform: "scale(0.9)",
1217
- filter: `blur(${15 * r.blur}px) saturate(0.3)`
1218
- }
1219
- ], {
1220
- duration: o,
1221
- easing: s,
1222
- fill: "forwards"
1223
- });
1224
- let c = n.animate([
1225
- {
1226
- opacity: r.intensity,
1227
- transform: "scale(1)",
1228
- filter: "blur(0px) saturate(1)"
1229
- },
1230
- {
1231
- opacity: .5 * r.intensity,
1232
- transform: "scale(0.99)",
1233
- filter: `blur(${3 * r.blur}px) saturate(0.75)`
1234
- },
1235
- {
1236
- opacity: t.idleOpacity,
1237
- transform: "scale(1)",
1238
- filter: `blur(${8 * r.blur}px) saturate(0.4)`
1239
- }
1240
- ], {
1241
- duration: o,
1242
- easing: s,
1243
- fill: "forwards"
1244
- });
1245
- t.idleBreathe && !a && S(c.finished).pipe(P(1), k(() => p)).subscribe(() => {
1246
- this.state?.overlay && (this.state.overlay.style.animation = `nebula-idle-breathe ${12e3 / r.speed}ms ${Me} infinite`);
1247
- });
1248
- }
1249
- cleanup() {
1250
- this.state &&= (this.coordinator.unregister(this, this.state.element), this.state.autoHideSub?.unsubscribe(), this.state.overlay?.remove(), this.state.element.style.position = this.state.originalPosition, this.state.element.style.overflow = this.state.originalOverflow, this.state.element.style.contain = this.state.originalContain, null);
1251
- }
1252
- disconnected() {
1253
- this.cleanup();
1254
- }
1255
- reconnected() {
1256
- this.state && this.coordinator.register(this, this.state.element);
1257
- }
1258
- }), Le = {
1259
- smooth: t,
1260
- snappy: n,
1261
- bouncy: r,
1262
- gentle: i
1263
- }, Re = V(class extends B {
1264
- constructor(e) {
1265
- if (super(e), this.initialized = !1, this.element = null, e.type !== U.ELEMENT) throw Error("reveal() can only be used on elements");
1266
- }
1267
- render(e, t) {
1268
- return R;
1269
- }
1270
- update(t, [n = !1, r = {}]) {
1271
- let i = t.element;
1272
- this.element = i;
1273
- let { preset: o = "smooth", maxHeight: s = "10rem", duration: c, easing: l } = r, u = Le[o], d = c ?? u.duration, f = l ?? e(u), p = a.value;
1274
- return this.initialized ||= (this.setupElement(i, d, f, p), !0), n ? (i.style.maxHeight = s, i.style.opacity = "1", i.style.transform = "translateY(0) scale(1)", i.style.pointerEvents = "", i.style.paddingTop = "", i.style.paddingBottom = "", i.style.marginTop = "", i.style.marginBottom = "", i.removeAttribute("aria-hidden"), i.removeAttribute("inert")) : (i.style.maxHeight = "0", i.style.opacity = "0", i.style.transform = "translateY(-8px) scale(0.98)", i.style.pointerEvents = "none", i.style.paddingTop = "0", i.style.paddingBottom = "0", i.style.marginTop = "0", i.style.marginBottom = "0", i.setAttribute("aria-hidden", "true"), i.setAttribute("inert", "")), R;
1275
- }
1276
- setupElement(e, t, n, r) {
1277
- e.style.overflow = "hidden", e.style.transition = r ? "none" : [
1278
- `max-height ${t}ms ${n}`,
1279
- `opacity ${t}ms ${n}`,
1280
- `transform ${t}ms ${n}`,
1281
- `padding ${t}ms ${n}`,
1282
- `margin ${t}ms ${n}`
1283
- ].join(", ");
1284
- }
1285
- disconnected() {
1286
- this.element && (this.element.style.willChange = "");
1287
- }
1288
- reconnected() {}
1289
- }), ze = !1, Be = W(class extends B {
1290
- constructor(...e) {
1291
- super(...e), this.teardown$ = new h();
1292
- }
1293
- render() {}
1294
- update(e) {
1295
- if (e.type !== U.ELEMENT) throw Error("ripple directive must be used on an element");
1296
- this.element = e.element, function() {
1297
- if (ze) return;
1298
- let e = document.createElement("style");
1299
- e.id = "schmancy-ripple-shared", e.textContent = "\n .schmancy-ripple-effect {\n position: absolute;\n border-radius: 50%;\n background: var(--schmancy-sys-color-surface-on);\n opacity: 0.12;\n transform: scale(0);\n animation: schmancy-ripple-expand 600ms linear forwards;\n pointer-events: none;\n aria-hidden: true;\n }\n @keyframes schmancy-ripple-expand {\n to { transform: scale(4); opacity: 0; }\n }\n ", document.head.appendChild(e), ze = !0;
1300
- }(), getComputedStyle(this.element).position === "static" && (this.element.style.position = "relative"), this.element.style.overflow = "hidden", this.teardown$.next(), C(this.element, "click").pipe(F(this.teardown$)).subscribe((e) => this.addRipple(e));
1301
- }
1302
- reconnected() {
1303
- this.teardown$.next(), C(this.element, "click").pipe(F(this.teardown$)).subscribe((e) => this.addRipple(e));
1304
- }
1305
- addRipple(e) {
1306
- let t = this.element.getBoundingClientRect(), n = Math.max(t.width, t.height), r = n / 2, i = document.createElement("span");
1307
- i.className = "schmancy-ripple-effect", i.setAttribute("aria-hidden", "true"), i.style.width = `${n}px`, i.style.height = `${n}px`, i.style.left = e.clientX - t.left - r + "px", i.style.top = e.clientY - t.top - r + "px", this.element.appendChild(i), C(i, "animationend").pipe(P(1)).subscribe(() => i.remove());
1308
- }
1309
- disconnected() {
1310
- this.teardown$.next();
1311
- }
1312
- }), Ve = "schmancy-overflow-within-hidden", He = !1, Ue = V(class extends B {
1313
- constructor(...e) {
1314
- super(...e), this.element = null, this.disconnecting$ = new h();
1315
- }
1316
- render(e) {
1317
- return R;
1318
- }
1319
- update(e, [t = {}]) {
1320
- if (e.type !== U.ELEMENT) throw Error("overflowWithin directive can only be used on elements");
1321
- let n = e.element, { hide: r = !1, direction: i = "both", name: a, debounce: o = 10 } = t, s = n.style;
1322
- s.minHeight = "0", s.minWidth = "0", s.boxSizing = "border-box", s.overflowY = i === "horizontal" ? "hidden" : "auto", s.overflowX = i === "vertical" ? "hidden" : "auto", s.scrollBehavior = "smooth", s.overscrollBehavior = "contain", r ? (function() {
1323
- if (He) return;
1324
- He = !0;
1325
- let e = new CSSStyleSheet();
1326
- e.replaceSync(`.${Ve} { scrollbar-width: none; -ms-overflow-style: none; }\n\t\t .${Ve}::-webkit-scrollbar { display: none; }`), document.adoptedStyleSheets = [...document.adoptedStyleSheets, e];
1327
- }(), n.classList.add(Ve)) : n.classList.remove(Ve);
1328
- let c = this.element !== n, l = this.currentName !== a;
1329
- return c ? (this.element = n, this.subscribe(o, a)) : l && (this.disconnecting$.next(), this.disconnecting$ = new h(), this.subscribe(o, a)), this.currentName = a, R;
1330
- }
1331
- subscribe(e, t) {
1332
- if (!this.element) return;
1333
- let n = this.element;
1334
- C(n, "scroll", { passive: !0 }).pipe(y(e), D(this.disconnecting$)).subscribe((e) => {
1335
- n.dispatchEvent(new CustomEvent("scroll", {
1336
- detail: {
1337
- scrollTop: n.scrollTop,
1338
- scrollHeight: n.scrollHeight,
1339
- clientHeight: n.clientHeight,
1340
- scrollLeft: n.scrollLeft,
1341
- scrollWidth: n.scrollWidth,
1342
- clientWidth: n.clientWidth,
1343
- e
1344
- },
1345
- bubbles: !0,
1346
- composed: !0
1347
- }));
1348
- }), t !== void 0 && C(window, "@schmancy:scrollTo").pipe(x((e) => e.detail.name === t && e.detail.action === "scrollTo"), D(this.disconnecting$)).subscribe((e) => {
1349
- let t = {
1350
- behavior: "smooth",
1351
- top: e.detail.top
1352
- };
1353
- typeof e.detail.left == "number" && (t.left = e.detail.left), n.scrollTo(t);
1354
- });
1355
- }
1356
- disconnected() {
1357
- this.disconnecting$.next(), this.element = null;
1358
- }
1359
- reconnected() {
1360
- this.element && (this.disconnecting$ = new h(), this.subscribe(10, this.currentName));
1361
- }
1362
- });
1363
- export { ge as DragDirective, ve as DropDirective, le as animateText, ue as color, fe as confirmClick, o as cursorGlow, pe as cycleText, me as depthOfField, _e as drag, ye as drop, be as fill, u as fromResizeObserver, c as fullHeight, l as fullWidth, xe as gravity, Se as intersect, Ee as liquid, ke as livingBorder, Ae as longPress, d as magnetic, Ie as nebula, Ue as overflowWithin, a as reducedMotion$, Re as reveal, Be as ripple };
1
+ import { A as e, C as t, D as n, E as r, O as i, S as a, T as o, _ as s, a as c, b as l, c as u, d, f, g as p, h as m, i as h, k as g, l as _, m as v, n as y, o as b, p as x, r as S, s as C, t as w, u as T, v as E, w as D, x as O, y as k } from "./directives-sWKTEJDb.js";
2
+ import { t as A } from "./reduced-motion-D-L12p7G.js";
3
+ import { t as j } from "./cursor-glow-Ah7VXSj7.js";
4
+ import { n as M, r as N, t as P } from "./layout-DSAjo92m.js";
5
+ import { t as F } from "./magnetic-mHXl54Z8.js";
6
+ export { p as DragDirective, s as DropDirective, g as aiBadge, e as animateText, i as art, D as beta, t as color, a as confirmClick, j as cursorGlow, O as cycleText, l as depthOfField, E as drag, k as drop, m as fill, P as fromResizeObserver, M as fullHeight, N as fullWidth, n as futureCell, v as fyi, x as gravity, f as hummingbird, d as intersect, o as isBeta, T as liquid, _ as livingBorder, u as longPress, F as magnetic, C as missedPunch, b as nebula, S as overflowWithin, A as reducedMotion$, c as reveal, h as ripple, r as setBetaPredicate, y as urgent, w as workingSnake };