@mhmo91/schmancy 0.10.41 → 0.10.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (764) hide show
  1. package/custom-elements.json +291 -179
  2. package/dist/SchmancyElement-CeKrBW2j.cjs +2 -0
  3. package/dist/SchmancyElement-CeKrBW2j.cjs.map +1 -0
  4. package/dist/SchmancyElement-Ob9yGkiG.js +286 -0
  5. package/dist/SchmancyElement-Ob9yGkiG.js.map +1 -0
  6. package/dist/agent/schmancy.agent.js +4057 -4082
  7. package/dist/agent/schmancy.agent.js.map +1 -1
  8. package/dist/agent/schmancy.manifest.json +225 -94
  9. package/dist/animation-CCOIW4wJ.cjs.map +1 -1
  10. package/dist/animation-DCznELuT.js.map +1 -1
  11. package/dist/area-CbajcnmJ.cjs +21 -0
  12. package/dist/area-CbajcnmJ.cjs.map +1 -0
  13. package/dist/{area-BiM7V2ns.js → area-MxLAyWgV.js} +22 -22
  14. package/dist/area-MxLAyWgV.js.map +1 -0
  15. package/dist/area.cjs +1 -1
  16. package/dist/area.js +1 -1
  17. package/dist/{audio-CxO_j__6.js → audio-B_0PGwYC.js} +1 -1
  18. package/dist/audio-B_0PGwYC.js.map +1 -0
  19. package/dist/{audio-xXFfMPCS.cjs → audio-CpwrIaw-.cjs} +1 -1
  20. package/dist/audio-CpwrIaw-.cjs.map +1 -0
  21. package/dist/audio.cjs +1 -1
  22. package/dist/audio.js +2 -2
  23. package/dist/autocomplete-CILzaDB7.cjs +115 -0
  24. package/dist/autocomplete-CILzaDB7.cjs.map +1 -0
  25. package/dist/{autocomplete-DUBY9RtH.js → autocomplete-DV9RxCun.js} +113 -113
  26. package/dist/autocomplete-DV9RxCun.js.map +1 -0
  27. package/dist/autocomplete.cjs +1 -1
  28. package/dist/autocomplete.js +1 -1
  29. package/dist/avatar.cjs +1 -1
  30. package/dist/avatar.cjs.map +1 -1
  31. package/dist/avatar.js +4 -4
  32. package/dist/avatar.js.map +1 -1
  33. package/dist/badge.cjs +1 -1
  34. package/dist/badge.js +1 -1
  35. package/dist/{boat-ScvAima3.js → boat-DoZGgQ0P.js} +6 -8
  36. package/dist/{boat-ScvAima3.js.map → boat-DoZGgQ0P.js.map} +1 -1
  37. package/dist/{boat-BIYaPAHp.cjs → boat-sg0cWO8a.cjs} +3 -5
  38. package/dist/{boat-BIYaPAHp.cjs.map → boat-sg0cWO8a.cjs.map} +1 -1
  39. package/dist/boat.cjs +1 -1
  40. package/dist/boat.js +1 -1
  41. package/dist/breadcrumb.cjs +32 -31
  42. package/dist/breadcrumb.cjs.map +1 -1
  43. package/dist/breadcrumb.js +33 -32
  44. package/dist/breadcrumb.js.map +1 -1
  45. package/dist/busy-Brs-TDh9.cjs +133 -0
  46. package/dist/busy-Brs-TDh9.cjs.map +1 -0
  47. package/dist/busy-g4LoQmhB.js +172 -0
  48. package/dist/busy-g4LoQmhB.js.map +1 -0
  49. package/dist/busy.cjs +1 -1
  50. package/dist/busy.js +1 -1
  51. package/dist/{button-BTpxQ1Kd.cjs → button-Cml67Y_d.cjs} +41 -32
  52. package/dist/button-Cml67Y_d.cjs.map +1 -0
  53. package/dist/{button-D7QHfYf4.js → button-DWANpZfD.js} +43 -34
  54. package/dist/button-DWANpZfD.js.map +1 -0
  55. package/dist/button.cjs +40 -33
  56. package/dist/button.cjs.map +1 -1
  57. package/dist/button.js +42 -35
  58. package/dist/button.js.map +1 -1
  59. package/dist/calendar-2dJrw9pR.cjs +58 -0
  60. package/dist/calendar-2dJrw9pR.cjs.map +1 -0
  61. package/dist/calendar-kCe5LaBa.js +434 -0
  62. package/dist/calendar-kCe5LaBa.js.map +1 -0
  63. package/dist/calendar.cjs +1 -0
  64. package/dist/calendar.js +2 -0
  65. package/dist/{card-DCdtJ5Dy.js → card-CS_hYJbz.js} +136 -136
  66. package/dist/card-CS_hYJbz.js.map +1 -0
  67. package/dist/card-d0KhTnx5.cjs +177 -0
  68. package/dist/card-d0KhTnx5.cjs.map +1 -0
  69. package/dist/card.cjs +1 -1
  70. package/dist/card.js +1 -1
  71. package/dist/{checkbox-DVtyPk7l.js → checkbox-Bjp7kWuE.js} +2 -2
  72. package/dist/{checkbox-DVtyPk7l.js.map → checkbox-Bjp7kWuE.js.map} +1 -1
  73. package/dist/{checkbox-CYGOVPP-.cjs → checkbox-DZ2Wrz7Y.cjs} +1 -1
  74. package/dist/{checkbox-CYGOVPP-.cjs.map → checkbox-DZ2Wrz7Y.cjs.map} +1 -1
  75. package/dist/checkbox.cjs +1 -1
  76. package/dist/checkbox.js +1 -1
  77. package/dist/{chips-DVes-BSz.cjs → chips-BHBVkxsa.cjs} +142 -153
  78. package/dist/chips-BHBVkxsa.cjs.map +1 -0
  79. package/dist/{chips-C5bpgWyf.js → chips-DACeW7YL.js} +127 -138
  80. package/dist/chips-DACeW7YL.js.map +1 -0
  81. package/dist/chips.cjs +1 -1
  82. package/dist/chips.js +2 -2
  83. package/dist/connectivity.cjs +54 -38
  84. package/dist/connectivity.cjs.map +1 -1
  85. package/dist/connectivity.js +56 -40
  86. package/dist/connectivity.js.map +1 -1
  87. package/dist/content-drawer.cjs +1 -1
  88. package/dist/content-drawer.js +1 -1
  89. package/dist/cursor-glow-Ah7VXSj7.js.map +1 -1
  90. package/dist/cursor-glow-Bulq-38P.cjs.map +1 -1
  91. package/dist/date-range-CVAWMdar.cjs +138 -0
  92. package/dist/date-range-CVAWMdar.cjs.map +1 -0
  93. package/dist/date-range-D2NZU5Yg.js +433 -0
  94. package/dist/date-range-D2NZU5Yg.js.map +1 -0
  95. package/dist/{date-range-inline-Dx4Reboo.cjs → date-range-inline-CGM0SPK9.cjs} +2 -4
  96. package/dist/date-range-inline-CGM0SPK9.cjs.map +1 -0
  97. package/dist/{date-range-inline-DPqY9YYf.js → date-range-inline-D6Ozerzw.js} +3 -5
  98. package/dist/date-range-inline-D6Ozerzw.js.map +1 -0
  99. package/dist/date-range-inline.cjs +1 -1
  100. package/dist/date-range-inline.js +1 -1
  101. package/dist/date-range.cjs +1 -1
  102. package/dist/date-range.js +2 -2
  103. package/dist/dayjs.min-CvRZTfam.cjs +1 -0
  104. package/dist/dayjs.min-CvRZTfam.cjs.map +1 -0
  105. package/dist/dayjs.min-DnELezPs.js +296 -0
  106. package/dist/dayjs.min-DnELezPs.js.map +1 -0
  107. package/dist/delay.cjs +1 -1
  108. package/dist/delay.js +3 -3
  109. package/dist/{details-BnleHmYe.js → details-Ct1_GwKr.js} +104 -92
  110. package/dist/details-Ct1_GwKr.js.map +1 -0
  111. package/dist/{details-Bx2jSJxG.cjs → details-D4fVOaj4.cjs} +109 -97
  112. package/dist/details-D4fVOaj4.cjs.map +1 -0
  113. package/dist/details.cjs +1 -1
  114. package/dist/details.js +1 -1
  115. package/dist/{directives-CYf2fAdA.cjs → directives-B2VxfwRL.cjs} +1 -1
  116. package/dist/directives-B2VxfwRL.cjs.map +1 -0
  117. package/dist/{directives-d1rEbW1A.js → directives-Dj8jlv-Q.js} +3 -3
  118. package/dist/directives-Dj8jlv-Q.js.map +1 -0
  119. package/dist/directives.cjs +1 -1
  120. package/dist/directives.js +2 -2
  121. package/dist/discovery.service-CIa3Eeuk.cjs.map +1 -1
  122. package/dist/discovery.service-DZFxtRwW.js.map +1 -1
  123. package/dist/divider-B3v33OnX.cjs +57 -0
  124. package/dist/divider-B3v33OnX.cjs.map +1 -0
  125. package/dist/divider-BJHW3q11.js +89 -0
  126. package/dist/divider-BJHW3q11.js.map +1 -0
  127. package/dist/divider.cjs +1 -1
  128. package/dist/divider.js +1 -1
  129. package/dist/dropdown.cjs +40 -40
  130. package/dist/dropdown.cjs.map +1 -1
  131. package/dist/dropdown.js +41 -41
  132. package/dist/dropdown.js.map +1 -1
  133. package/dist/{expand-DNrWuG_-.js → expand-BT8mOu8Q.js} +103 -97
  134. package/dist/expand-BT8mOu8Q.js.map +1 -0
  135. package/dist/expand-D0YdR9nR.cjs +147 -0
  136. package/dist/expand-D0YdR9nR.cjs.map +1 -0
  137. package/dist/expand.cjs +1 -1
  138. package/dist/expand.js +1 -1
  139. package/dist/fab.cjs +1 -1
  140. package/dist/fab.cjs.map +1 -1
  141. package/dist/fab.js +2 -2
  142. package/dist/fab.js.map +1 -1
  143. package/dist/{float-V7VQKTb8.cjs → float-BPQlDyai.cjs} +1 -1
  144. package/dist/{float-V7VQKTb8.cjs.map → float-BPQlDyai.cjs.map} +1 -1
  145. package/dist/{float-C_CMle0q.js → float-BQcxj3i_.js} +2 -2
  146. package/dist/{float-C_CMle0q.js.map → float-BQcxj3i_.js.map} +1 -1
  147. package/dist/float.cjs +1 -1
  148. package/dist/float.js +1 -1
  149. package/dist/{form-DaaAQd2A.cjs → form-CoWFnClb.cjs} +8 -13
  150. package/dist/form-CoWFnClb.cjs.map +1 -0
  151. package/dist/{form-CMgYSZ3y.js → form-hC2LvCHX.js} +10 -15
  152. package/dist/form-hC2LvCHX.js.map +1 -0
  153. package/dist/form.cjs +12 -13
  154. package/dist/form.cjs.map +1 -1
  155. package/dist/form.js +23 -24
  156. package/dist/form.js.map +1 -1
  157. package/dist/gravity-6pL6CfIr.cjs.map +1 -1
  158. package/dist/gravity-sVK3zGBF.js.map +1 -1
  159. package/dist/handover/agent-runtime-followups.md +1 -1
  160. package/dist/handover/agent-runtime-v1.md +3 -3
  161. package/dist/{hashContent-iRZJJWtE.cjs.map → hashContent--s09Ed_g.cjs.map} +1 -1
  162. package/dist/{hashContent-BqU6v1Xr.js.map → hashContent-CAvrQ56N.js.map} +1 -1
  163. package/dist/icons-BeGKDZ-k.cjs +22 -0
  164. package/dist/icons-BeGKDZ-k.cjs.map +1 -0
  165. package/dist/{icons-mbpHO_73.js → icons-DEJnIxml.js} +20 -22
  166. package/dist/icons-DEJnIxml.js.map +1 -0
  167. package/dist/icons.cjs +1 -1
  168. package/dist/icons.js +1 -1
  169. package/dist/{iframe-88SN5JPu.cjs → iframe-BkSukM9C.cjs} +9 -9
  170. package/dist/iframe-BkSukM9C.cjs.map +1 -0
  171. package/dist/{iframe-U3P1DnQv.js → iframe-V3S-bwEY.js} +10 -10
  172. package/dist/iframe-V3S-bwEY.js.map +1 -0
  173. package/dist/iframe.cjs +1 -1
  174. package/dist/iframe.js +1 -1
  175. package/dist/index.cjs +1 -1
  176. package/dist/index.js +61 -60
  177. package/dist/{input-CPWvGjE4.js → input-CPFCSQld.js} +3 -10
  178. package/dist/input-CPFCSQld.js.map +1 -0
  179. package/dist/{input-BY4Korc5.cjs → input-DSfwfhhj.cjs} +2 -9
  180. package/dist/input-DSfwfhhj.cjs.map +1 -0
  181. package/dist/input-chip-BUuFJUky.cjs +129 -0
  182. package/dist/input-chip-BUuFJUky.cjs.map +1 -0
  183. package/dist/{input-chip-CCZ3i3Sf.js → input-chip-C3a1fwKB.js} +87 -104
  184. package/dist/input-chip-C3a1fwKB.js.map +1 -0
  185. package/dist/input.cjs +1 -1
  186. package/dist/input.js +1 -1
  187. package/dist/json.cjs +5 -1
  188. package/dist/json.cjs.map +1 -1
  189. package/dist/json.js +8 -4
  190. package/dist/json.js.map +1 -1
  191. package/dist/kbd.cjs +28 -28
  192. package/dist/kbd.cjs.map +1 -1
  193. package/dist/kbd.js +29 -29
  194. package/dist/kbd.js.map +1 -1
  195. package/dist/{layout-BhfC26Ks.cjs → layout-CdyHy_oX.cjs} +1 -1
  196. package/dist/layout-CdyHy_oX.cjs.map +1 -0
  197. package/dist/{layout-DC0Npqu7.js → layout-k6fOkpif.js} +1 -1
  198. package/dist/layout-k6fOkpif.js.map +1 -0
  199. package/dist/layout.cjs +26 -26
  200. package/dist/layout.cjs.map +1 -1
  201. package/dist/layout.js +27 -27
  202. package/dist/layout.js.map +1 -1
  203. package/dist/lazy-BaAiIUru.js.map +1 -1
  204. package/dist/lazy-C-7a4FAe.cjs.map +1 -1
  205. package/dist/{lightbox-BSwWvDQc.js → lightbox-DIG0VLOK.js} +8 -14
  206. package/dist/lightbox-DIG0VLOK.js.map +1 -0
  207. package/dist/{lightbox-KrZQH9w9.cjs → lightbox-E5rgd-hu.cjs} +7 -13
  208. package/dist/lightbox-E5rgd-hu.cjs.map +1 -0
  209. package/dist/lightbox.cjs +1 -1
  210. package/dist/lightbox.js +1 -1
  211. package/dist/list-BRz0rDSH.cjs +47 -0
  212. package/dist/list-BRz0rDSH.cjs.map +1 -0
  213. package/dist/{list-BwGtAAfi.js → list-NrOYDPBo.js} +48 -34
  214. package/dist/list-NrOYDPBo.js.map +1 -0
  215. package/dist/list.cjs +1 -1
  216. package/dist/list.js +1 -1
  217. package/dist/magnetic-DKtc4umC.cjs.map +1 -1
  218. package/dist/magnetic-DaOOv5Dz.js.map +1 -1
  219. package/dist/{menu-DX8d96x-.js → menu-B1Ei9SVj.js} +12 -12
  220. package/dist/menu-B1Ei9SVj.js.map +1 -0
  221. package/dist/{menu-jT_yAk5V.cjs → menu-Duvl66Nl.cjs} +10 -10
  222. package/dist/menu-Duvl66Nl.cjs.map +1 -0
  223. package/dist/menu.cjs +1 -1
  224. package/dist/menu.js +1 -1
  225. package/dist/{mixins-XGVIOvKt.cjs → mixins-Cjn20BQH.cjs} +42 -170
  226. package/dist/mixins-Cjn20BQH.cjs.map +1 -0
  227. package/dist/{mixins-COeG4DiX.js → mixins-q4KAL8Xr.js} +43 -177
  228. package/dist/mixins-q4KAL8Xr.js.map +1 -0
  229. package/dist/mixins.cjs +1 -1
  230. package/dist/mixins.js +2 -2
  231. package/dist/nav-drawer.cjs +1 -1
  232. package/dist/nav-drawer.js +1 -1
  233. package/dist/navigation-bar.cjs +1 -1
  234. package/dist/navigation-bar.js +1 -1
  235. package/dist/navigation-rail.cjs +2 -4
  236. package/dist/navigation-rail.cjs.map +1 -1
  237. package/dist/navigation-rail.js +3 -5
  238. package/dist/navigation-rail.js.map +1 -1
  239. package/dist/{notification-CAJVpLne.js → notification-COhUhUCr.js} +5 -7
  240. package/dist/notification-COhUhUCr.js.map +1 -0
  241. package/dist/{notification-DO3VXceY.cjs → notification-DsdA_MJe.cjs} +2 -4
  242. package/dist/notification-DsdA_MJe.cjs.map +1 -0
  243. package/dist/notification.cjs +1 -1
  244. package/dist/notification.js +1 -1
  245. package/dist/{option-JISY0wZJ.js → option-BIzgTbXz.js} +20 -20
  246. package/dist/option-BIzgTbXz.js.map +1 -0
  247. package/dist/option-C5hhqR2z.cjs +43 -0
  248. package/dist/option-C5hhqR2z.cjs.map +1 -0
  249. package/dist/option.cjs +1 -1
  250. package/dist/option.js +1 -1
  251. package/dist/{overlay-B1jVf-ge.cjs → overlay-BzgF8P7i.cjs} +48 -41
  252. package/dist/overlay-BzgF8P7i.cjs.map +1 -0
  253. package/dist/{overlay-CT-tMHDX.js → overlay-LoRRemny.js} +52 -45
  254. package/dist/overlay-LoRRemny.js.map +1 -0
  255. package/dist/overlay-stack-Bdr9lOqi.cjs.map +1 -1
  256. package/dist/overlay-stack-D2rgxQLh.js.map +1 -1
  257. package/dist/overlay.cjs +1 -1
  258. package/dist/{overlay.confirm-body-Dn-Zgogx.js → overlay.confirm-body-D0b1MoCw.js} +30 -45
  259. package/dist/overlay.confirm-body-D0b1MoCw.js.map +1 -0
  260. package/dist/{overlay.confirm-body-mYDYoJL8.cjs → overlay.confirm-body-DCneq73Z.cjs} +22 -37
  261. package/dist/overlay.confirm-body-DCneq73Z.cjs.map +1 -0
  262. package/dist/overlay.js +3 -3
  263. package/dist/{overlay.service-yqTOyLlr.js → overlay.service-BuUeti6X.js} +2 -2
  264. package/dist/overlay.service-BuUeti6X.js.map +1 -0
  265. package/dist/{overlay.service-BQmva9GY.cjs → overlay.service-MMTiW2T3.cjs} +1 -1
  266. package/dist/overlay.service-MMTiW2T3.cjs.map +1 -0
  267. package/dist/{progress-CGWozq_n.js → progress-D7n3SKAO.js} +50 -50
  268. package/dist/progress-D7n3SKAO.js.map +1 -0
  269. package/dist/progress-DsCnFsH5.cjs +51 -0
  270. package/dist/progress-DsCnFsH5.cjs.map +1 -0
  271. package/dist/progress.cjs +1 -1
  272. package/dist/progress.js +1 -1
  273. package/dist/{radio-group-DoSX5D2V.cjs → radio-group-CaAjg9UV.cjs} +1 -1
  274. package/dist/radio-group-CaAjg9UV.cjs.map +1 -0
  275. package/dist/{radio-group-CXkq6qAF.js → radio-group-Drpl6Pl8.js} +2 -2
  276. package/dist/radio-group-Drpl6Pl8.js.map +1 -0
  277. package/dist/radio-group.cjs +1 -1
  278. package/dist/radio-group.js +1 -1
  279. package/dist/range.cjs +4 -2
  280. package/dist/range.cjs.map +1 -1
  281. package/dist/range.js +5 -3
  282. package/dist/range.js.map +1 -1
  283. package/dist/reduced-motion-D-L12p7G.js.map +1 -1
  284. package/dist/reduced-motion-Ds-HjMzn.cjs.map +1 -1
  285. package/dist/{rxjs-utils-Csnks202.cjs.map → rxjs-utils-4P2v57ke.cjs.map} +1 -1
  286. package/dist/{rxjs-utils-d-ivVN84.js.map → rxjs-utils-JMFdgQSl.js.map} +1 -1
  287. package/dist/rxjs-utils.cjs +1 -1
  288. package/dist/rxjs-utils.js +1 -1
  289. package/dist/search-DPKoC-dT.cjs.map +1 -1
  290. package/dist/search-MvIBA93K.js.map +1 -1
  291. package/dist/{select-CU90i50_.js → select-CTXkrrVZ.js} +13 -13
  292. package/dist/select-CTXkrrVZ.js.map +1 -0
  293. package/dist/select-DcLcpPCh.cjs +56 -0
  294. package/dist/select-DcLcpPCh.cjs.map +1 -0
  295. package/dist/select.cjs +1 -1
  296. package/dist/select.js +1 -1
  297. package/dist/skeleton.cjs +37 -33
  298. package/dist/skeleton.cjs.map +1 -1
  299. package/dist/skeleton.js +38 -34
  300. package/dist/skeleton.js.map +1 -1
  301. package/dist/skills/schmancy/surface.md +79 -39
  302. package/dist/skills/surface.md +79 -39
  303. package/dist/slider.cjs +31 -31
  304. package/dist/slider.cjs.map +1 -1
  305. package/dist/slider.js +32 -32
  306. package/dist/slider.js.map +1 -1
  307. package/dist/{sound.service-m8WjOhjn.js → sound.service-AJwuk3yr.js} +1 -1
  308. package/dist/sound.service-AJwuk3yr.js.map +1 -0
  309. package/dist/{sound.service-Qhr8nCeG.cjs → sound.service-CVsxhQkX.cjs} +1 -1
  310. package/dist/sound.service-CVsxhQkX.cjs.map +1 -0
  311. package/dist/{splash-screen-Cs3dbPN3.js → splash-screen-DANfqvlo.js} +23 -26
  312. package/dist/splash-screen-DANfqvlo.js.map +1 -0
  313. package/dist/splash-screen-K74cgU6S.cjs +38 -0
  314. package/dist/splash-screen-K74cgU6S.cjs.map +1 -0
  315. package/dist/splash-screen.cjs +1 -1
  316. package/dist/splash-screen.js +1 -1
  317. package/dist/{src-CCVbLLgC.js → src-DAtcPmCb.js} +295 -389
  318. package/dist/src-DAtcPmCb.js.map +1 -0
  319. package/dist/src-DuRvYagm.cjs +237 -0
  320. package/dist/src-DuRvYagm.cjs.map +1 -0
  321. package/dist/{state--x58-AuK.cjs → state-BWQiqN6I.cjs} +1 -1
  322. package/dist/state-BWQiqN6I.cjs.map +1 -0
  323. package/dist/{state-QSwQ61sA.js → state-DBA_gzJO.js} +1 -1
  324. package/dist/state-DBA_gzJO.js.map +1 -0
  325. package/dist/state.cjs +1 -1
  326. package/dist/state.js +2 -2
  327. package/dist/steps.cjs +20 -12
  328. package/dist/steps.cjs.map +1 -1
  329. package/dist/steps.js +21 -13
  330. package/dist/steps.js.map +1 -1
  331. package/dist/surface-COBvWWFb.cjs +7 -0
  332. package/dist/surface-COBvWWFb.cjs.map +1 -0
  333. package/dist/{surface-cqMsHJHM.js → surface-DXk1X1tL.js} +9 -9
  334. package/dist/surface-DXk1X1tL.js.map +1 -0
  335. package/dist/surface.cjs +1 -1
  336. package/dist/surface.js +1 -1
  337. package/dist/switch.cjs +13 -4
  338. package/dist/switch.cjs.map +1 -1
  339. package/dist/switch.js +14 -5
  340. package/dist/switch.js.map +1 -1
  341. package/dist/table.cjs +4 -10
  342. package/dist/table.cjs.map +1 -1
  343. package/dist/table.js +5 -11
  344. package/dist/table.js.map +1 -1
  345. package/dist/{tabs-Ib0Mh__1.js → tabs-BYhFWnsx.js} +7 -7
  346. package/dist/tabs-BYhFWnsx.js.map +1 -0
  347. package/dist/{tabs-Dk9UDWpq.cjs → tabs-CJwB0fr0.cjs} +6 -6
  348. package/dist/tabs-CJwB0fr0.cjs.map +1 -0
  349. package/dist/tabs.cjs +1 -1
  350. package/dist/tabs.js +1 -1
  351. package/dist/teleport.cjs +1 -1
  352. package/dist/teleport.js +1 -1
  353. package/dist/{textarea-CcRsw08B.js → textarea-BjDx1w2g.js} +37 -41
  354. package/dist/textarea-BjDx1w2g.js.map +1 -0
  355. package/dist/{textarea-Cntd9tfV.cjs → textarea-CGgznhd6.cjs} +36 -40
  356. package/dist/textarea-CGgznhd6.cjs.map +1 -0
  357. package/dist/textarea.cjs +1 -1
  358. package/dist/textarea.js +1 -1
  359. package/dist/{theme-wwFbvp5e.cjs → theme-BVul7lHS.cjs} +6 -6
  360. package/dist/{theme-wwFbvp5e.cjs.map → theme-BVul7lHS.cjs.map} +1 -1
  361. package/dist/{theme-CKYXG0le.js → theme-Dvm5J8nh.js} +11 -11
  362. package/dist/{theme-CKYXG0le.js.map → theme-Dvm5J8nh.js.map} +1 -1
  363. package/dist/{theme-button-iLqT56KA.js → theme-button-Bko5ohFP.js} +2 -2
  364. package/dist/{theme-button-iLqT56KA.js.map → theme-button-Bko5ohFP.js.map} +1 -1
  365. package/dist/{theme-button-DE9Lrl7m.cjs → theme-button-YLY7zR1c.cjs} +1 -1
  366. package/dist/{theme-button-DE9Lrl7m.cjs.map → theme-button-YLY7zR1c.cjs.map} +1 -1
  367. package/dist/theme-button.cjs +1 -1
  368. package/dist/theme-button.js +1 -1
  369. package/dist/theme.cjs +1 -1
  370. package/dist/{theme.interface-CSt7JUBD.cjs.map → theme.interface-B-qxDsZQ.cjs.map} +1 -1
  371. package/dist/{theme.interface-odQEpZZH.js.map → theme.interface-B7caS5cg.js.map} +1 -1
  372. package/dist/theme.js +4 -4
  373. package/dist/{theme.service-5RjyR7Sy.js → theme.service-D94nm7Bf.js} +1 -1
  374. package/dist/theme.service-D94nm7Bf.js.map +1 -0
  375. package/dist/{theme.service-DA6KY52G.cjs → theme.service-h2fXQq7x.cjs} +1 -1
  376. package/dist/theme.service-h2fXQq7x.cjs.map +1 -0
  377. package/dist/tooltip.cjs.map +1 -1
  378. package/dist/tooltip.js.map +1 -1
  379. package/dist/tree.cjs +14 -14
  380. package/dist/tree.cjs.map +1 -1
  381. package/dist/tree.js +15 -15
  382. package/dist/tree.js.map +1 -1
  383. package/dist/types.cjs +1 -1
  384. package/dist/types.cjs.map +1 -1
  385. package/dist/types.js +19 -2
  386. package/dist/types.js.map +1 -1
  387. package/dist/typewriter.cjs.map +1 -1
  388. package/dist/typewriter.js.map +1 -1
  389. package/dist/typography-ByF2k5yW.js +358 -0
  390. package/dist/typography-ByF2k5yW.js.map +1 -0
  391. package/dist/typography-Cfav17it.cjs +282 -0
  392. package/dist/typography-Cfav17it.cjs.map +1 -0
  393. package/dist/typography.cjs +1 -1
  394. package/dist/typography.js +1 -1
  395. package/dist/utils-DIXndz6Q.cjs.map +1 -0
  396. package/dist/utils-dSPH7Oh9.js.map +1 -0
  397. package/dist/utils.cjs +1 -1
  398. package/dist/utils.js +1 -1
  399. package/dist/visually-hidden.cjs +13 -13
  400. package/dist/visually-hidden.cjs.map +1 -1
  401. package/dist/visually-hidden.js +14 -14
  402. package/dist/visually-hidden.js.map +1 -1
  403. package/dist/window-Br1OmpL-.cjs +67 -0
  404. package/dist/window-Br1OmpL-.cjs.map +1 -0
  405. package/dist/{window-Db5ZYY6t.js → window-CCmN4but.js} +28 -20
  406. package/dist/window-CCmN4but.js.map +1 -0
  407. package/dist/window.cjs +1 -1
  408. package/dist/window.js +1 -1
  409. package/package.json +1 -1
  410. package/skills/schmancy/surface.md +79 -39
  411. package/src/area/area.component.ts +249 -163
  412. package/src/area/area.service.test.ts +994 -1006
  413. package/src/area/area.service.ts +76 -72
  414. package/src/area/index.ts +7 -7
  415. package/src/area/lazy.ts +39 -42
  416. package/src/area/route.component.ts +54 -52
  417. package/src/area/router.types.ts +7 -7
  418. package/src/audio/emotional-sounds.ts +880 -801
  419. package/src/audio/sound.service.ts +26 -5
  420. package/src/avatar/avatar.ts +4 -4
  421. package/src/badge/badge.ts +60 -209
  422. package/src/badge/index.ts +1 -1
  423. package/src/boat/boat.ts +2 -4
  424. package/src/breadcrumb/breadcrumb.ts +37 -32
  425. package/src/busy/busy.ts +15 -12
  426. package/src/busy/index.ts +2 -2
  427. package/src/busy/spinner.ts +132 -119
  428. package/src/button/button.test.ts +5 -1
  429. package/src/button/button.ts +113 -72
  430. package/src/button/icon-button.ts +64 -46
  431. package/src/button/index.ts +2 -2
  432. package/src/calendar/calendar.test.ts +504 -0
  433. package/src/calendar/calendar.ts +587 -0
  434. package/src/calendar/index.ts +2 -0
  435. package/src/card/actions.ts +11 -9
  436. package/src/card/card.ts +79 -77
  437. package/src/card/content.ts +8 -6
  438. package/src/card/index.ts +4 -4
  439. package/src/card/media.ts +50 -50
  440. package/src/chips/assist-chip.ts +1 -1
  441. package/src/chips/chips.ts +1 -1
  442. package/src/chips/filter-chip.ts +1 -1
  443. package/src/chips/index.ts +1 -1
  444. package/src/chips/input-chip.ts +1 -1
  445. package/src/chips/suggestion-chip.ts +1 -1
  446. package/src/connectivity/connectivity-status.ts +91 -65
  447. package/src/content-drawer/drawer.service.ts +47 -36
  448. package/src/content-drawer/drawer.ts +31 -18
  449. package/src/content-drawer/index.ts +5 -5
  450. package/src/content-drawer/main.ts +9 -7
  451. package/src/content-drawer/sheet.ts +8 -6
  452. package/src/date-range-inline/date-range-inline.ts +523 -522
  453. package/src/date-range-inline/index.ts +2 -2
  454. package/src/delay/index.ts +1 -1
  455. package/src/details/details.ts +119 -105
  456. package/src/details/index.ts +1 -1
  457. package/src/directives/ai-badge.ts +1 -5
  458. package/src/directives/animate-text.ts +43 -31
  459. package/src/directives/art/effects/howl.ts +1 -4
  460. package/src/directives/art/effects/samwa.ts +11 -5
  461. package/src/directives/art/effects/snow.ts +1 -2
  462. package/src/directives/battery.ts +21 -12
  463. package/src/directives/confirm-click.ts +9 -17
  464. package/src/directives/cursor-glow.ts +1 -1
  465. package/src/directives/cycle-text.ts +7 -21
  466. package/src/directives/drag.ts +50 -45
  467. package/src/directives/fyi.ts +1 -6
  468. package/src/directives/gravity.ts +10 -8
  469. package/src/directives/hummingbird.ts +256 -107
  470. package/src/directives/index.ts +29 -29
  471. package/src/directives/intersect.ts +11 -11
  472. package/src/directives/layout.ts +25 -36
  473. package/src/directives/liquid.ts +4 -10
  474. package/src/directives/living-border.ts +7 -5
  475. package/src/directives/long-press.ts +2 -1
  476. package/src/directives/magnetic.ts +7 -6
  477. package/src/directives/nebula.ts +34 -28
  478. package/src/directives/overflow-within.ts +18 -20
  479. package/src/directives/reduced-motion.ts +9 -9
  480. package/src/directives/reveal.ts +193 -195
  481. package/src/directives/ripple.ts +9 -7
  482. package/src/directives/urgent.ts +3 -1
  483. package/src/directives/working-snake.ts +1 -1
  484. package/src/discovery/discovery.service.ts +198 -210
  485. package/src/discovery/index.ts +1 -1
  486. package/src/divider/divider.ts +49 -47
  487. package/src/divider/index.ts +1 -1
  488. package/src/dropdown/dropdown-content.ts +42 -40
  489. package/src/dropdown/index.ts +2 -2
  490. package/src/expand/expand-root.component.ts +70 -61
  491. package/src/expand/expand.component.ts +48 -43
  492. package/src/fab/fab.test.ts +1 -2
  493. package/src/fab/fab.ts +2 -4
  494. package/src/form/fields/autocomplete/autocomplete.scss +6 -2
  495. package/src/form/fields/autocomplete/autocomplete.ts +712 -724
  496. package/src/form/fields/autocomplete/index.ts +1 -1
  497. package/src/form/fields/checkbox/checkbox.ts +1 -4
  498. package/src/form/fields/chips/assist-chip.ts +69 -72
  499. package/src/form/fields/chips/chips.ts +14 -15
  500. package/src/form/fields/chips/filter-chip.ts +36 -32
  501. package/src/form/fields/chips/index.ts +5 -5
  502. package/src/form/fields/chips/input-chip.ts +130 -142
  503. package/src/form/fields/chips/suggestion-chip.ts +69 -72
  504. package/src/form/fields/date-range/date-range-dialog.ts +141 -194
  505. package/src/form/fields/date-range/date-range-helpers.ts +63 -64
  506. package/src/form/fields/date-range/date-range.test.ts +359 -122
  507. package/src/form/fields/date-range/date-range.ts +319 -395
  508. package/src/form/fields/date-range/index.ts +2 -2
  509. package/src/form/fields/input/index.ts +8 -8
  510. package/src/form/fields/input/input.scss +30 -26
  511. package/src/form/fields/input/input.test.ts +4 -1
  512. package/src/form/fields/input/input.ts +4 -20
  513. package/src/form/fields/radio-group/index.ts +2 -2
  514. package/src/form/fields/radio-group/radio-button.ts +8 -8
  515. package/src/form/fields/radio-group/radio-group.ts +4 -1
  516. package/src/form/fields/range/range.ts +3 -1
  517. package/src/form/fields/select/index.ts +2 -2
  518. package/src/form/fields/select/select.ts +51 -45
  519. package/src/form/fields/switch/switch.ts +13 -7
  520. package/src/form/fields/textarea/index.ts +1 -1
  521. package/src/form/fields/textarea/textarea.ts +44 -49
  522. package/src/form/form-summary.ts +15 -14
  523. package/src/form/form.test.ts +0 -1
  524. package/src/form/form.ts +11 -23
  525. package/src/icons/icon.ts +25 -25
  526. package/src/icons/index.ts +1 -1
  527. package/src/iframe/iframe.ts +11 -9
  528. package/src/index.ts +1 -0
  529. package/src/json/json.ts +9 -2
  530. package/src/kbd/kbd.ts +30 -28
  531. package/src/layout/scroll/index.ts +1 -1
  532. package/src/layout/scroll/scroll.ts +54 -54
  533. package/src/lightbox/lightbox-service.ts +27 -18
  534. package/src/lightbox/lightbox.directive.ts +2 -1
  535. package/src/lightbox/lightbox.ts +21 -38
  536. package/src/list/index.ts +3 -3
  537. package/src/list/list-item.ts +32 -26
  538. package/src/list/list.ts +13 -8
  539. package/src/menu/index.ts +2 -2
  540. package/src/menu/menu-item.ts +7 -5
  541. package/src/menu/menu.ts +8 -6
  542. package/src/nav-drawer/appbar.ts +9 -7
  543. package/src/nav-drawer/content.ts +10 -8
  544. package/src/nav-drawer/drawer.ts +29 -25
  545. package/src/nav-drawer/index.ts +6 -6
  546. package/src/navigation-bar/index.ts +2 -2
  547. package/src/navigation-bar/navigation-bar-item.ts +127 -118
  548. package/src/navigation-bar/navigation-bar.ts +103 -91
  549. package/src/navigation-rail/index.ts +2 -2
  550. package/src/navigation-rail/navigation-rail.ts +21 -22
  551. package/src/notification/index.ts +6 -6
  552. package/src/notification/notification-service.ts +1 -2
  553. package/src/notification/notification.scss +5 -1
  554. package/src/notification/notification.ts +1 -3
  555. package/src/notification/notify.ts +204 -207
  556. package/src/option/index.ts +1 -1
  557. package/src/option/option.ts +26 -25
  558. package/src/overlay/overlay.animations.ts +4 -14
  559. package/src/overlay/overlay.component.ts +110 -131
  560. package/src/overlay/overlay.confirm-body.ts +26 -48
  561. package/src/overlay/overlay.gestures.ts +8 -10
  562. package/src/overlay/overlay.layout.ts +1 -4
  563. package/src/overlay/overlay.positioning.ts +4 -15
  564. package/src/overlay/overlay.service.ts +9 -24
  565. package/src/overlay/overlay.stack.test.ts +4 -1
  566. package/src/overlay/overlay.stack.ts +4 -4
  567. package/src/overlay/overlay.types.ts +11 -20
  568. package/src/progress/index.ts +1 -1
  569. package/src/progress/progress.ts +135 -133
  570. package/src/rxjs-utils/index.ts +6 -6
  571. package/src/rxjs-utils/waitForElement.ts +20 -20
  572. package/src/rxjs-utils/waitForElementAll.ts +21 -21
  573. package/src/rxjs-utils/waitForElements.ts +27 -27
  574. package/src/rxjs-utils/waitForElementsAll.ts +27 -29
  575. package/src/rxjs-utils/waitUntil.ts +7 -12
  576. package/src/skeleton/skeleton.ts +39 -33
  577. package/src/slider/index.ts +2 -2
  578. package/src/slider/slide.ts +14 -12
  579. package/src/slider/slider.ts +24 -22
  580. package/src/splash-screen/index.ts +1 -1
  581. package/src/splash-screen/splash-screen.ts +26 -27
  582. package/src/state/active-host.ts +4 -5
  583. package/src/state/index.ts +34 -53
  584. package/src/state/persist.ts +14 -11
  585. package/src/state/schmancy-context.ts +88 -88
  586. package/src/state/state.test-d.ts +3 -13
  587. package/src/state/state.test.ts +1 -4
  588. package/src/steps/index.ts +3 -3
  589. package/src/steps/schmancy-step.ts +41 -31
  590. package/src/steps/schmancy-steps.ts +7 -5
  591. package/src/surface/index.ts +1 -1
  592. package/src/surface/surface.styles.ts +55 -191
  593. package/src/surface/surface.ts +18 -16
  594. package/src/table/index.ts +2 -2
  595. package/src/table/row.ts +1 -4
  596. package/src/table/table.ts +2 -5
  597. package/src/tabs/index.ts +2 -2
  598. package/src/tabs/tabs-group.ts +8 -6
  599. package/src/teleport/index.ts +2 -2
  600. package/src/test-utils/a11y.ts +1 -3
  601. package/src/theme/index.ts +17 -17
  602. package/src/theme/theme-audio-player.ts +18 -16
  603. package/src/theme/theme-controller-boat.ts +1 -1
  604. package/src/theme/theme-controller.ts +36 -32
  605. package/src/theme/theme.component.ts +5 -9
  606. package/src/theme/theme.events.ts +1 -1
  607. package/src/theme/theme.format.ts +7 -7
  608. package/src/theme/theme.service.ts +453 -468
  609. package/src/theme/theme.style.css +78 -23
  610. package/src/theme-button/index.ts +1 -1
  611. package/src/tooltip/tooltip.directive.ts +1 -1
  612. package/src/tree/index.ts +1 -1
  613. package/src/tree/tree.ts +24 -16
  614. package/src/types/surface.ts +38 -44
  615. package/src/typewriter/typewriter.directive.ts +30 -39
  616. package/src/typography/typography.ts +289 -269
  617. package/src/utils/animation.ts +2 -8
  618. package/src/utils/index.ts +6 -6
  619. package/src/utils/number.ts +480 -517
  620. package/src/utils/overlay-stack.ts +1 -3
  621. package/src/utils/search.ts +5 -9
  622. package/src/visually-hidden/visually-hidden.ts +15 -13
  623. package/src/window/window-manager.ts +6 -1
  624. package/src/window/window-position.ts +7 -5
  625. package/src/window/window.ts +146 -114
  626. package/types/mixins/surface.mixin.d.ts +8 -14
  627. package/types/src/badge/badge.d.ts +15 -48
  628. package/types/src/calendar/calendar.d.ts +108 -0
  629. package/types/src/calendar/calendar.test.d.ts +1 -0
  630. package/types/src/calendar/index.d.ts +2 -0
  631. package/types/src/directives/cursor-glow.d.ts +1 -1
  632. package/types/src/directives/hummingbird.d.ts +3 -3
  633. package/types/src/form/fields/date-range/date-range-dialog.d.ts +24 -28
  634. package/types/src/form/fields/date-range/date-range.d.ts +35 -66
  635. package/types/src/form/fields/date-range/date-range.test.d.ts +1 -0
  636. package/types/src/form/fields/date-range/index.d.ts +1 -1
  637. package/types/src/index.d.ts +1 -0
  638. package/types/src/surface/surface.d.ts +9 -7
  639. package/types/src/surface/surface.styles.d.ts +15 -20
  640. package/types/src/types/surface.d.ts +17 -22
  641. package/types/src/utils/number.d.ts +1 -1
  642. package/types/src/window/window.d.ts +0 -1
  643. package/dist/SchmancyElement-D9WA9FP9.cjs +0 -2
  644. package/dist/SchmancyElement-D9WA9FP9.cjs.map +0 -1
  645. package/dist/SchmancyElement-OWgz9ePG.js +0 -286
  646. package/dist/SchmancyElement-OWgz9ePG.js.map +0 -1
  647. package/dist/area-BiM7V2ns.js.map +0 -1
  648. package/dist/area-C7XjCoet.cjs +0 -21
  649. package/dist/area-C7XjCoet.cjs.map +0 -1
  650. package/dist/audio-CxO_j__6.js.map +0 -1
  651. package/dist/audio-xXFfMPCS.cjs.map +0 -1
  652. package/dist/autocomplete-DD7Hd59N.cjs +0 -115
  653. package/dist/autocomplete-DD7Hd59N.cjs.map +0 -1
  654. package/dist/autocomplete-DUBY9RtH.js.map +0 -1
  655. package/dist/busy-BjsO3y2A.js +0 -173
  656. package/dist/busy-BjsO3y2A.js.map +0 -1
  657. package/dist/busy-UbCGkTAi.cjs +0 -134
  658. package/dist/busy-UbCGkTAi.cjs.map +0 -1
  659. package/dist/button-BTpxQ1Kd.cjs.map +0 -1
  660. package/dist/button-D7QHfYf4.js.map +0 -1
  661. package/dist/card-DCdtJ5Dy.js.map +0 -1
  662. package/dist/card-rprhCYIC.cjs +0 -177
  663. package/dist/card-rprhCYIC.cjs.map +0 -1
  664. package/dist/chips-C5bpgWyf.js.map +0 -1
  665. package/dist/chips-DVes-BSz.cjs.map +0 -1
  666. package/dist/date-range-DDUuBlJ6.cjs +0 -142
  667. package/dist/date-range-DDUuBlJ6.cjs.map +0 -1
  668. package/dist/date-range-IPlbrhwW.js +0 -966
  669. package/dist/date-range-IPlbrhwW.js.map +0 -1
  670. package/dist/date-range-inline-DPqY9YYf.js.map +0 -1
  671. package/dist/date-range-inline-Dx4Reboo.cjs.map +0 -1
  672. package/dist/details-BnleHmYe.js.map +0 -1
  673. package/dist/details-Bx2jSJxG.cjs.map +0 -1
  674. package/dist/directives-CYf2fAdA.cjs.map +0 -1
  675. package/dist/directives-d1rEbW1A.js.map +0 -1
  676. package/dist/divider-CimQJVr3.cjs +0 -57
  677. package/dist/divider-CimQJVr3.cjs.map +0 -1
  678. package/dist/divider-Cr-rx3vA.js +0 -89
  679. package/dist/divider-Cr-rx3vA.js.map +0 -1
  680. package/dist/expand-DNrWuG_-.js.map +0 -1
  681. package/dist/expand-_cp8oBjp.cjs +0 -141
  682. package/dist/expand-_cp8oBjp.cjs.map +0 -1
  683. package/dist/form-CMgYSZ3y.js.map +0 -1
  684. package/dist/form-DaaAQd2A.cjs.map +0 -1
  685. package/dist/icons-C2RkSXjP.cjs +0 -24
  686. package/dist/icons-C2RkSXjP.cjs.map +0 -1
  687. package/dist/icons-mbpHO_73.js.map +0 -1
  688. package/dist/iframe-88SN5JPu.cjs.map +0 -1
  689. package/dist/iframe-U3P1DnQv.js.map +0 -1
  690. package/dist/input-BY4Korc5.cjs.map +0 -1
  691. package/dist/input-CPWvGjE4.js.map +0 -1
  692. package/dist/input-chip-CCZ3i3Sf.js.map +0 -1
  693. package/dist/input-chip-kytMdbaM.cjs +0 -146
  694. package/dist/input-chip-kytMdbaM.cjs.map +0 -1
  695. package/dist/layout-BhfC26Ks.cjs.map +0 -1
  696. package/dist/layout-DC0Npqu7.js.map +0 -1
  697. package/dist/lightbox-BSwWvDQc.js.map +0 -1
  698. package/dist/lightbox-KrZQH9w9.cjs.map +0 -1
  699. package/dist/list-BwGtAAfi.js.map +0 -1
  700. package/dist/list-DIs02A3d.cjs +0 -40
  701. package/dist/list-DIs02A3d.cjs.map +0 -1
  702. package/dist/menu-DX8d96x-.js.map +0 -1
  703. package/dist/menu-jT_yAk5V.cjs.map +0 -1
  704. package/dist/mixins-COeG4DiX.js.map +0 -1
  705. package/dist/mixins-XGVIOvKt.cjs.map +0 -1
  706. package/dist/notification-CAJVpLne.js.map +0 -1
  707. package/dist/notification-DO3VXceY.cjs.map +0 -1
  708. package/dist/option-BNo1Zs-l.cjs +0 -43
  709. package/dist/option-BNo1Zs-l.cjs.map +0 -1
  710. package/dist/option-JISY0wZJ.js.map +0 -1
  711. package/dist/overlay-B1jVf-ge.cjs.map +0 -1
  712. package/dist/overlay-CT-tMHDX.js.map +0 -1
  713. package/dist/overlay.confirm-body-Dn-Zgogx.js.map +0 -1
  714. package/dist/overlay.confirm-body-mYDYoJL8.cjs.map +0 -1
  715. package/dist/overlay.service-BQmva9GY.cjs.map +0 -1
  716. package/dist/overlay.service-yqTOyLlr.js.map +0 -1
  717. package/dist/progress-CGWozq_n.js.map +0 -1
  718. package/dist/progress-DOVJhsR0.cjs +0 -51
  719. package/dist/progress-DOVJhsR0.cjs.map +0 -1
  720. package/dist/radio-group-CXkq6qAF.js.map +0 -1
  721. package/dist/radio-group-DoSX5D2V.cjs.map +0 -1
  722. package/dist/select-CObZenqg.cjs +0 -56
  723. package/dist/select-CObZenqg.cjs.map +0 -1
  724. package/dist/select-CU90i50_.js.map +0 -1
  725. package/dist/sound.service-Qhr8nCeG.cjs.map +0 -1
  726. package/dist/sound.service-m8WjOhjn.js.map +0 -1
  727. package/dist/splash-screen-Ca6Ew8p6.cjs +0 -41
  728. package/dist/splash-screen-Ca6Ew8p6.cjs.map +0 -1
  729. package/dist/splash-screen-Cs3dbPN3.js.map +0 -1
  730. package/dist/src-CCVbLLgC.js.map +0 -1
  731. package/dist/src-CpftzdZV.cjs +0 -264
  732. package/dist/src-CpftzdZV.cjs.map +0 -1
  733. package/dist/state--x58-AuK.cjs.map +0 -1
  734. package/dist/state-QSwQ61sA.js.map +0 -1
  735. package/dist/surface-bTjOiq8n.cjs +0 -7
  736. package/dist/surface-bTjOiq8n.cjs.map +0 -1
  737. package/dist/surface-cqMsHJHM.js.map +0 -1
  738. package/dist/tabs-Dk9UDWpq.cjs.map +0 -1
  739. package/dist/tabs-Ib0Mh__1.js.map +0 -1
  740. package/dist/textarea-CcRsw08B.js.map +0 -1
  741. package/dist/textarea-Cntd9tfV.cjs.map +0 -1
  742. package/dist/theme.service-5RjyR7Sy.js.map +0 -1
  743. package/dist/theme.service-DA6KY52G.cjs.map +0 -1
  744. package/dist/typography-DeEYdMhW.js +0 -358
  745. package/dist/typography-DeEYdMhW.js.map +0 -1
  746. package/dist/typography-Tm7wSaB2.cjs +0 -282
  747. package/dist/typography-Tm7wSaB2.cjs.map +0 -1
  748. package/dist/utils-DTa3QHxk.cjs.map +0 -1
  749. package/dist/utils-H8wNknWC.js.map +0 -1
  750. package/dist/window-Db5ZYY6t.js.map +0 -1
  751. package/dist/window-oQqx5xqQ.cjs +0 -59
  752. package/dist/window-oQqx5xqQ.cjs.map +0 -1
  753. package/src/form/fields/date-range/date-range-presets.ts +0 -220
  754. package/src/form/fields/date-range/date-utils.ts +0 -58
  755. package/types/src/form/fields/date-range/date-range-presets.d.ts +0 -18
  756. package/types/src/form/fields/date-range/date-utils.d.ts +0 -15
  757. /package/dist/{hashContent-iRZJJWtE.cjs → hashContent--s09Ed_g.cjs} +0 -0
  758. /package/dist/{hashContent-BqU6v1Xr.js → hashContent-CAvrQ56N.js} +0 -0
  759. /package/dist/{rxjs-utils-Csnks202.cjs → rxjs-utils-4P2v57ke.cjs} +0 -0
  760. /package/dist/{rxjs-utils-d-ivVN84.js → rxjs-utils-JMFdgQSl.js} +0 -0
  761. /package/dist/{theme.interface-CSt7JUBD.cjs → theme.interface-B-qxDsZQ.cjs} +0 -0
  762. /package/dist/{theme.interface-odQEpZZH.js → theme.interface-B7caS5cg.js} +0 -0
  763. /package/dist/{utils-DTa3QHxk.cjs → utils-DIXndz6Q.cjs} +0 -0
  764. /package/dist/{utils-H8wNknWC.js → utils-dSPH7Oh9.js} +0 -0
@@ -230,7 +230,7 @@
230
230
  "surface"
231
231
  ],
232
232
  "default": "'primary'",
233
- "description": "The color variant of the badge"
233
+ "description": "The semantic color of the badge."
234
234
  },
235
235
  {
236
236
  "name": "size",
@@ -240,11 +240,10 @@
240
240
  "values": [
241
241
  "xs",
242
242
  "sm",
243
- "md",
244
- "lg"
243
+ "md"
245
244
  ],
246
245
  "default": "'md'",
247
- "description": "The size of the badge"
246
+ "description": "The size of the badge."
248
247
  },
249
248
  {
250
249
  "name": "shape",
@@ -252,12 +251,11 @@
252
251
  "text": "BadgeShape"
253
252
  },
254
253
  "values": [
255
- "square",
256
- "rounded",
257
- "pill"
254
+ "pill",
255
+ "rounded"
258
256
  ],
259
257
  "default": "'pill'",
260
- "description": "The shape of the badge"
258
+ "description": "The corner shape of the badge."
261
259
  },
262
260
  {
263
261
  "name": "outlined",
@@ -265,33 +263,13 @@
265
263
  "text": "boolean"
266
264
  },
267
265
  "default": "false",
268
- "description": "Whether the badge has an outlined style"
269
- },
270
- {
271
- "name": "icon",
272
- "type": {
273
- "text": "string"
274
- },
275
- "default": "''",
276
- "description": "Custom icon name to display (if no icon slot is provided)"
277
- },
278
- {
279
- "name": "pulse",
280
- "type": {
281
- "text": "boolean"
282
- },
283
- "default": "false",
284
- "description": "Whether to make the badge pulse to draw attention"
266
+ "description": "Outlined style: transparent fill, the color's strong tone for text and border."
285
267
  }
286
268
  ],
287
269
  "slots": [
288
270
  {
289
271
  "name": "",
290
- "description": "The content of the badge (text or HTML)"
291
- },
292
- {
293
- "name": "icon",
294
- "description": "Optional icon to display before the content"
272
+ "description": "The content of the badge (text or short HTML)"
295
273
  }
296
274
  ],
297
275
  "cssParts": [
@@ -302,10 +280,6 @@
302
280
  {
303
281
  "name": "content",
304
282
  "description": "The content container"
305
- },
306
- {
307
- "name": "icon",
308
- "description": "The icon container"
309
283
  }
310
284
  ]
311
285
  },
@@ -722,6 +696,163 @@
722
696
  }
723
697
  ]
724
698
  },
699
+ {
700
+ "kind": "javascript-module",
701
+ "path": "calendar/calendar.ts",
702
+ "declarations": [
703
+ {
704
+ "kind": "class",
705
+ "name": "SchmancyCalendar",
706
+ "tagName": "schmancy-calendar",
707
+ "description": "A presentational calendar primitive with continuous vertical month-scroll. Supports single-date and date-range selection. No form-association.",
708
+ "attributes": [
709
+ {
710
+ "name": "mode",
711
+ "type": {
712
+ "text": "\"single\" | \"range\""
713
+ },
714
+ "values": [
715
+ "single",
716
+ "range"
717
+ ],
718
+ "default": "'single'"
719
+ },
720
+ {
721
+ "name": "type",
722
+ "type": {
723
+ "text": "\"date\" | \"datetime-local\""
724
+ },
725
+ "values": [
726
+ "date",
727
+ "datetime-local"
728
+ ],
729
+ "default": "'date'"
730
+ },
731
+ {
732
+ "name": "value",
733
+ "type": {
734
+ "text": "string"
735
+ }
736
+ },
737
+ {
738
+ "name": "start",
739
+ "type": {
740
+ "text": "string"
741
+ }
742
+ },
743
+ {
744
+ "name": "end",
745
+ "type": {
746
+ "text": "string"
747
+ }
748
+ },
749
+ {
750
+ "name": "min",
751
+ "type": {
752
+ "text": "string"
753
+ }
754
+ },
755
+ {
756
+ "name": "max",
757
+ "type": {
758
+ "text": "string"
759
+ }
760
+ },
761
+ {
762
+ "name": "month",
763
+ "type": {
764
+ "text": "string"
765
+ }
766
+ },
767
+ {
768
+ "name": "locale",
769
+ "type": {
770
+ "text": "string"
771
+ },
772
+ "description": "BCP-47 locale tag; week-start derived from it. Stored as `calLocale` to avoid conflicting with the base-class `locale` getter."
773
+ },
774
+ {
775
+ "name": "disabled",
776
+ "type": {
777
+ "text": "boolean"
778
+ },
779
+ "default": "false"
780
+ },
781
+ {
782
+ "name": "readonly",
783
+ "type": {
784
+ "text": "boolean"
785
+ },
786
+ "default": "false"
787
+ }
788
+ ],
789
+ "events": [
790
+ {
791
+ "name": "input",
792
+ "description": "Every provisional change (incl. range hover-preview)"
793
+ },
794
+ {
795
+ "name": "change",
796
+ "description": "Committed change: single click | second range endpoint | clear"
797
+ },
798
+ {
799
+ "name": "navigate",
800
+ "description": "Dominant in-view month changed while scrolling"
801
+ }
802
+ ],
803
+ "cssParts": [
804
+ {
805
+ "name": "scroll",
806
+ "description": "The scrollable container"
807
+ },
808
+ {
809
+ "name": "month-label",
810
+ "description": "Sticky month/year label"
811
+ },
812
+ {
813
+ "name": "weekday",
814
+ "description": "Weekday header cell"
815
+ },
816
+ {
817
+ "name": "grid",
818
+ "description": "Day grid for a month"
819
+ },
820
+ {
821
+ "name": "day",
822
+ "description": "Individual day cell"
823
+ },
824
+ {
825
+ "name": "day-selected",
826
+ "description": "A selected day (single mode, or both endpoints)"
827
+ },
828
+ {
829
+ "name": "day-range-start",
830
+ "description": "Range start day"
831
+ },
832
+ {
833
+ "name": "day-range-end",
834
+ "description": "Range end day"
835
+ },
836
+ {
837
+ "name": "day-in-range",
838
+ "description": "Day inside the selected range (exclusive of endpoints)"
839
+ },
840
+ {
841
+ "name": "day-preview",
842
+ "description": "Day inside the hover-preview range"
843
+ },
844
+ {
845
+ "name": "day-today",
846
+ "description": "Today's date"
847
+ },
848
+ {
849
+ "name": "day-disabled",
850
+ "description": "Disabled (out-of-bounds) day"
851
+ }
852
+ ]
853
+ }
854
+ ]
855
+ },
725
856
  {
726
857
  "kind": "javascript-module",
727
858
  "path": "card/actions.ts",
@@ -1046,7 +1177,7 @@
1046
1177
  "kind": "class",
1047
1178
  "name": "SchmancyDateRangeInline",
1048
1179
  "tagName": "schmancy-date-range-inline",
1049
- "description": "Smart inline date range picker that handles all the heavy lifting.\r Auto-corrects invalid ranges, provides smart defaults, and validates dates.",
1180
+ "description": "Smart inline date range picker that handles all the heavy lifting. Auto-corrects invalid ranges, provides smart defaults, and validates dates.",
1050
1181
  "attributes": [
1051
1182
  {
1052
1183
  "name": "type",
@@ -1452,11 +1583,6 @@
1452
1583
  "surface",
1453
1584
  "outlined",
1454
1585
  "info",
1455
- "solid",
1456
- "subtle",
1457
- "glass",
1458
- "luminous",
1459
- "transparent",
1460
1586
  "surfaceDim",
1461
1587
  "surfaceBright",
1462
1588
  "containerLowest",
@@ -1464,9 +1590,9 @@
1464
1590
  "container",
1465
1591
  "containerHigh",
1466
1592
  "containerHighest",
1467
- "glassOforim"
1593
+ "transparent"
1468
1594
  ],
1469
- "default": "'solid'"
1595
+ "default": "'containerLowest'"
1470
1596
  }
1471
1597
  ]
1472
1598
  }
@@ -1886,11 +2012,6 @@
1886
2012
  "surface",
1887
2013
  "outlined",
1888
2014
  "info",
1889
- "solid",
1890
- "subtle",
1891
- "glass",
1892
- "luminous",
1893
- "transparent",
1894
2015
  "surfaceDim",
1895
2016
  "surfaceBright",
1896
2017
  "containerLowest",
@@ -1898,7 +2019,7 @@
1898
2019
  "container",
1899
2020
  "containerHigh",
1900
2021
  "containerHighest",
1901
- "glassOforim"
2022
+ "transparent"
1902
2023
  ]
1903
2024
  },
1904
2025
  {
@@ -1969,11 +2090,6 @@
1969
2090
  "surface",
1970
2091
  "outlined",
1971
2092
  "info",
1972
- "solid",
1973
- "subtle",
1974
- "glass",
1975
- "luminous",
1976
- "transparent",
1977
2093
  "surfaceDim",
1978
2094
  "surfaceBright",
1979
2095
  "containerLowest",
@@ -1981,7 +2097,7 @@
1981
2097
  "container",
1982
2098
  "containerHigh",
1983
2099
  "containerHighest",
1984
- "glassOforim"
2100
+ "transparent"
1985
2101
  ],
1986
2102
  "description": "Defines the type or color of the surface used by the component. This value is provided to descendant components via context."
1987
2103
  },
@@ -3294,7 +3410,7 @@
3294
3410
  "kind": "class",
3295
3411
  "name": "SchmancySurface",
3296
3412
  "tagName": "schmancy-surface",
3297
- "description": "`<schmancy-surface>` component Styled container that supports rounding, elevation, and background/text color variants. Sizing is the consumer's responsibility — use Tailwind utilities (`class=\"w-full h-full\"`) on the element directly. SurfaceMixin automatically provides surfaceStyles CSS.",
3413
+ "description": "`<schmancy-surface>` component Color-variant container that paints a background and establishes the inherited text color for descendants. Corner radius, shadow depth, and cursor behavior are the consumer's responsibility — apply stock Tailwind classes directly on the element. Sizing is the consumer's responsibility — use Tailwind utilities (`class=\"w-full h-full\"`) on the element directly.",
3298
3414
  "attributes": [
3299
3415
  {
3300
3416
  "name": "type",
@@ -3311,11 +3427,6 @@
3311
3427
  "surface",
3312
3428
  "outlined",
3313
3429
  "info",
3314
- "solid",
3315
- "subtle",
3316
- "glass",
3317
- "luminous",
3318
- "transparent",
3319
3430
  "surfaceDim",
3320
3431
  "surfaceBright",
3321
3432
  "containerLowest",
@@ -3323,9 +3434,9 @@
3323
3434
  "container",
3324
3435
  "containerHigh",
3325
3436
  "containerHighest",
3326
- "glassOforim"
3437
+ "transparent"
3327
3438
  ],
3328
- "default": "'subtle'",
3439
+ "default": "'containerLow'",
3329
3440
  "description": "Specifies the surface type for styling. Provided to descendant components via context."
3330
3441
  }
3331
3442
  ],
@@ -3336,7 +3447,7 @@
3336
3447
  }
3337
3448
  ],
3338
3449
  "examples": [
3339
- "<schmancy-surface class=\"w-full h-full\" rounded=\"all\" elevation=\"3\" type=\"surfaceBright\" scroller>\n <p>Your scrollable content here</p>\n</schmancy-surface>"
3450
+ "<schmancy-surface type=\"surfaceBright\" class=\"rounded-2xl shadow-lg w-full\">\n <p>Content here</p>\n</schmancy-surface>"
3340
3451
  ],
3341
3452
  "contexts": [
3342
3453
  {
@@ -4408,7 +4519,7 @@
4408
4519
  "kind": "class",
4409
4520
  "name": "SchmancyDateRangeDialog",
4410
4521
  "tagName": "schmancy-date-range-dialog",
4411
- "description": "Dialog content component for date range selection Redesigned with chip-based horizontal flow layout: - Quick Select: Today, Yesterday, This Week, This Month - Days: Last 7/14/30/60/90 Days - Periods: Last Week, Last Month, Last Quarter, Last Year - Year to Date: This Week, This Month, This Quarter, This Year, YTD - Custom Range: Manual date inputs at the bottom",
4522
+ "description": "Picker panel for `<schmancy-date-range>`. Layout: sticky chip quick-rail continuous-scroll calendar secondary typed path. Emits composed events that `<schmancy-date-range>` bridges into its own `input`/`change` events.",
4412
4523
  "attributes": [
4413
4524
  {
4414
4525
  "name": "type",
@@ -4422,45 +4533,59 @@
4422
4533
  "default": "'date'"
4423
4534
  },
4424
4535
  {
4425
- "name": "dateFrom",
4536
+ "name": "start",
4426
4537
  "type": {
4427
- "text": "{ label: string; value: string; }"
4538
+ "text": "string"
4428
4539
  },
4429
- "default": "{ label: 'From', value: '' }"
4540
+ "default": "null"
4430
4541
  },
4431
4542
  {
4432
- "name": "dateTo",
4543
+ "name": "end",
4433
4544
  "type": {
4434
- "text": "{ label: string; value: string; }"
4545
+ "text": "string"
4435
4546
  },
4436
- "default": "{ label: 'To', value: '' }"
4547
+ "default": "null"
4437
4548
  },
4438
4549
  {
4439
- "name": "minDate",
4550
+ "name": "min",
4440
4551
  "type": {
4441
4552
  "text": "string"
4442
4553
  }
4443
4554
  },
4444
4555
  {
4445
- "name": "maxDate",
4556
+ "name": "max",
4446
4557
  "type": {
4447
4558
  "text": "string"
4448
4559
  }
4449
4560
  },
4450
4561
  {
4451
- "name": "activePreset",
4562
+ "name": "preset",
4452
4563
  "type": {
4453
4564
  "text": "string"
4454
4565
  },
4455
4566
  "default": "null"
4456
4567
  },
4457
4568
  {
4458
- "name": "presetCategories",
4569
+ "name": "presets",
4459
4570
  "type": {
4460
- "text": "PresetCategory[]"
4571
+ "text": "DateRangeDialogPreset[]"
4461
4572
  },
4462
4573
  "default": "[]"
4463
4574
  }
4575
+ ],
4576
+ "events": [
4577
+ {
4578
+ "name": "calendar-input",
4579
+ "description": "Provisional sweep from the calendar { start, end }"
4580
+ },
4581
+ {
4582
+ "name": "calendar-change",
4583
+ "description": "Committed endpoint from the calendar { start, end }"
4584
+ },
4585
+ {
4586
+ "name": "preset-select",
4587
+ "description": "A chip was clicked { id, label, start, end }"
4588
+ }
4464
4589
  ]
4465
4590
  }
4466
4591
  ]
@@ -4473,7 +4598,7 @@
4473
4598
  "kind": "class",
4474
4599
  "name": "SchmancyDateRange",
4475
4600
  "tagName": "schmancy-date-range",
4476
- "description": "A date range selector that supports presets and manual date input.",
4601
+ "description": "A date range selector composing `<schmancy-calendar mode=\"range\">` with a sticky preset chip quick-rail and a secondary typed-entry path. Public API: flat ISO `start`/`end`, `preset` read-back, `presets` array. FormData: `${name}.start` / `${name}.end` (empty endpoint omitted).",
4477
4602
  "attributes": [
4478
4603
  {
4479
4604
  "name": "type",
@@ -4487,40 +4612,42 @@
4487
4612
  "default": "'date'"
4488
4613
  },
4489
4614
  {
4490
- "name": "dateFrom",
4615
+ "name": "start",
4491
4616
  "type": {
4492
- "text": "{ label: string; value: string; }"
4617
+ "text": "string"
4493
4618
  },
4494
- "default": "{ label: 'From', value: '' }"
4619
+ "default": "null"
4495
4620
  },
4496
4621
  {
4497
- "name": "dateTo",
4622
+ "name": "end",
4498
4623
  "type": {
4499
- "text": "{ label: string; value: string; }"
4624
+ "text": "string"
4500
4625
  },
4501
- "default": "{ label: 'To', value: '' }"
4626
+ "default": "null"
4502
4627
  },
4503
4628
  {
4504
- "name": "minDate",
4629
+ "name": "presets",
4505
4630
  "type": {
4506
- "text": "string"
4507
- }
4631
+ "text": "DateRangeDialogPreset[]"
4632
+ },
4633
+ "default": "buildDefaultPresets()"
4508
4634
  },
4509
4635
  {
4510
- "name": "maxDate",
4636
+ "name": "preset",
4511
4637
  "type": {
4512
4638
  "text": "string"
4513
- }
4639
+ },
4640
+ "default": "null",
4641
+ "description": "Selected preset id; null = custom range. Reflects to attribute."
4514
4642
  },
4515
4643
  {
4516
- "name": "customPresets",
4644
+ "name": "min",
4517
4645
  "type": {
4518
- "text": "{ label: string; dateFrom: string; dateTo: string; }[]"
4519
- },
4520
- "default": "[]"
4646
+ "text": "string"
4647
+ }
4521
4648
  },
4522
4649
  {
4523
- "name": "format",
4650
+ "name": "max",
4524
4651
  "type": {
4525
4652
  "text": "string"
4526
4653
  }
@@ -4551,13 +4678,17 @@
4551
4678
  "text": "boolean"
4552
4679
  },
4553
4680
  "default": "false",
4554
- "description": "When true, collapses to just an icon button on mobile screens"
4681
+ "description": "Collapses to an icon-only button on narrow viewports."
4555
4682
  }
4556
4683
  ],
4557
4684
  "events": [
4685
+ {
4686
+ "name": "input",
4687
+ "description": "Provisional sweep preview { start, end }"
4688
+ },
4558
4689
  {
4559
4690
  "name": "change",
4560
- "description": "Fired when the date range changes with dateFrom and dateTo values"
4691
+ "description": "Committed range change { start, end, preset }"
4561
4692
  }
4562
4693
  ]
4563
4694
  }
@@ -1 +1 @@
1
- {"version":3,"file":"animation-CCOIW4wJ.cjs","names":[],"sources":["../src/utils/animation.ts"],"sourcesContent":["/**\n * Blackbird Animation System\n *\n * A comprehensive animation system using spring physics for natural,\n * organic motion. Named after the smooth, arcing flight patterns of birds.\n *\n * Features:\n * - Spring physics via CSS linear() (88% browser support)\n * - Cubic-bezier fallbacks for older browsers\n * - Typed interfaces for Web Animations API\n * - CSS custom properties for Tailwind integration\n * - Multiple presets: smooth, snappy, bouncy\n *\n * @see https://www.joshwcomeau.com/animation/linear-timing-function/\n * @see https://developer.chrome.com/docs/css-ui/css-linear-easing-function\n */\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\n/** Spring configuration parameters */\nexport interface SpringConfig {\n\t/** Spring stiffness (higher = faster) */\n\tstiffness: number\n\t/** Damping ratio (higher = less bounce) */\n\tdamping: number\n\t/** Mass (higher = slower) */\n\tmass: number\n}\n\n/** Animation preset with all timing values */\nexport interface AnimationPreset {\n\t/** Human-readable name */\n\tname: string\n\t/** Duration in milliseconds */\n\tduration: number\n\t/** CSS linear() easing function (modern browsers) */\n\teasing: string\n\t/** Cubic-bezier fallback (all browsers) */\n\teasingFallback: string\n\t/** Spring configuration used to generate this preset */\n\tspring: SpringConfig\n}\n\n/** Keyframe options for Web Animations API */\nexport interface BlackbirdKeyframes {\n\t/** Starting state */\n\tfrom: Keyframe\n\t/** Ending state */\n\tto: Keyframe\n}\n\n/** Complete animation configuration */\nexport interface BlackbirdAnimation {\n\tkeyframes: Keyframe[]\n\toptions: KeyframeAnimationOptions\n}\n\n// =============================================================================\n// SPRING PRESETS\n// =============================================================================\n\n/**\n * Smooth preset - Apple-style, subtle overshoot\n * Best for: Details, accordions, content reveals\n */\nexport const SPRING_SMOOTH: AnimationPreset = {\n\tname: 'smooth',\n\tduration: 500,\n\teasing: `linear(\n\t\t0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%,\n\t\t0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50%, 1.015 54.8%,\n\t\t1.017 63.3%, 1.001\n\t)`,\n\teasingFallback: 'cubic-bezier(0.34, 1.56, 0.64, 1)',\n\tspring: { stiffness: 100, damping: 15, mass: 1 },\n}\n\n/**\n * Snappy preset - Quick with minimal overshoot\n * Best for: Buttons, toggles, quick interactions\n */\nexport const SPRING_SNAPPY: AnimationPreset = {\n\tname: 'snappy',\n\tduration: 300,\n\teasing: `linear(\n\t\t0, 0.009, 0.035 2.1%, 0.141 4.4%, 0.723 15.5%, 0.938 23.8%,\n\t\t1.017 30.2%, 1.041 37.3%, 1.026 52.4%, 1.001\n\t)`,\n\teasingFallback: 'cubic-bezier(0.22, 1.25, 0.36, 1)',\n\tspring: { stiffness: 200, damping: 20, mass: 1 },\n}\n\n/**\n * Bouncy preset - Playful with noticeable overshoot\n * Best for: Notifications, celebrations, attention-grabbing\n */\nexport const SPRING_BOUNCY: AnimationPreset = {\n\tname: 'bouncy',\n\tduration: 600,\n\teasing: `linear(\n\t\t0, 0.004, 0.016 2.3%, 0.065 4.8%, 0.258 9.9%, 0.489 15%,\n\t\t0.683 20.1%, 0.847 25.4%, 0.963 30.6%, 1.039 36%, 1.086 41.8%,\n\t\t1.107 48.1%, 1.101 55.1%, 1.064 73.1%, 1.026 85.2%, 1.001\n\t)`,\n\teasingFallback: 'cubic-bezier(0.34, 1.8, 0.64, 1)',\n\tspring: { stiffness: 100, damping: 10, mass: 1 },\n}\n\n/**\n * Gentle preset - Slow, smooth, no overshoot\n * Best for: Page transitions, modal backgrounds, subtle reveals\n */\nexport const SPRING_GENTLE: AnimationPreset = {\n\tname: 'gentle',\n\tduration: 700,\n\teasing: `linear(\n\t\t0, 0.002, 0.009 2.6%, 0.036 5.3%, 0.153 11.3%, 0.352 18.5%,\n\t\t0.554 25.4%, 0.733 32.6%, 0.865 40.2%, 0.945 48.5%,\n\t\t0.984 58.2%, 0.997 70.5%, 1\n\t)`,\n\teasingFallback: 'cubic-bezier(0.4, 0, 0.2, 1)',\n\tspring: { stiffness: 80, damping: 25, mass: 1.2 },\n}\n\n// =============================================================================\n// LEGACY EXPORTS (backwards compatibility)\n// =============================================================================\n\n/** @deprecated Use SPRING_SMOOTH.easingFallback instead */\nexport const BLACKBIRD_EASING = SPRING_SMOOTH.easingFallback\n\n/** Standard easing for smooth transitions */\nexport const EASE_OUT = 'ease-out'\nexport const EASE_IN = 'ease-in'\n\n/** Standard durations */\nexport const DURATION_ENTER = SPRING_SNAPPY.duration\nexport const DURATION_EXIT = 150\nexport const DURATION_BACKDROP = 200\n\n// =============================================================================\n// CSS CUSTOM PROPERTIES\n// =============================================================================\n\n/**\n * CSS custom properties for use in stylesheets.\n * These can be injected into :root or a component's styles.\n *\n * @example\n * ```css\n * :root {\n * ${ANIMATION_CSS_VARS}\n * }\n *\n * .element {\n * transition: transform var(--blackbird-duration-smooth) var(--blackbird-easing-smooth);\n * }\n * ```\n */\nexport const ANIMATION_CSS_VARS = `\n\t/* Blackbird Animation System - Spring Physics */\n\n\t/* Smooth preset (Apple-style) */\n\t--blackbird-duration-smooth: ${SPRING_SMOOTH.duration}ms;\n\t--blackbird-easing-smooth: ${SPRING_SMOOTH.easingFallback};\n\t--blackbird-easing-smooth-spring: ${SPRING_SMOOTH.easing};\n\n\t/* Snappy preset (quick interactions) */\n\t--blackbird-duration-snappy: ${SPRING_SNAPPY.duration}ms;\n\t--blackbird-easing-snappy: ${SPRING_SNAPPY.easingFallback};\n\t--blackbird-easing-snappy-spring: ${SPRING_SNAPPY.easing};\n\n\t/* Bouncy preset (playful) */\n\t--blackbird-duration-bouncy: ${SPRING_BOUNCY.duration}ms;\n\t--blackbird-easing-bouncy: ${SPRING_BOUNCY.easingFallback};\n\t--blackbird-easing-bouncy-spring: ${SPRING_BOUNCY.easing};\n\n\t/* Gentle preset (subtle) */\n\t--blackbird-duration-gentle: ${SPRING_GENTLE.duration}ms;\n\t--blackbird-easing-gentle: ${SPRING_GENTLE.easingFallback};\n\t--blackbird-easing-gentle-spring: ${SPRING_GENTLE.easing};\n`\n\n// =============================================================================\n// HELPER FUNCTIONS\n// =============================================================================\n\n/**\n * Get the appropriate easing function based on browser support.\n * Uses linear() if supported, falls back to cubic-bezier.\n */\nexport function getEasing(preset: AnimationPreset): string {\n\t// Feature detect linear() support\n\tif (typeof CSS !== 'undefined' && CSS.supports?.('animation-timing-function', 'linear(0, 1)')) {\n\t\treturn preset.easing\n\t}\n\treturn preset.easingFallback\n}\n\n/**\n * Check if the browser supports reduced motion preference.\n */\nexport function prefersReducedMotion(): boolean {\n\treturn typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches\n}\n\n/**\n * Create a Web Animations API animation configuration.\n *\n * @example\n * ```ts\n * const anim = createAnimation(SPRING_SMOOTH, {\n * from: { opacity: 0, transform: 'translateY(-16px)' },\n * to: { opacity: 1, transform: 'translateY(0)' }\n * })\n *\n * element.animate(anim.keyframes, anim.options)\n * ```\n */\nexport function createAnimation(preset: AnimationPreset, keyframes: BlackbirdKeyframes): BlackbirdAnimation {\n\t// Respect reduced motion preference\n\tif (prefersReducedMotion()) {\n\t\treturn {\n\t\t\tkeyframes: [keyframes.to],\n\t\t\toptions: { duration: 0, fill: 'forwards' },\n\t\t}\n\t}\n\n\treturn {\n\t\tkeyframes: [keyframes.from, keyframes.to],\n\t\toptions: {\n\t\t\tduration: preset.duration,\n\t\t\teasing: preset.easingFallback, // Web Animations API doesn't support linear() well\n\t\t\tfill: 'forwards',\n\t\t},\n\t}\n}\n\n/**\n * Create a reveal animation (fade in + slide up).\n * Common pattern for content appearing.\n */\nexport function createRevealAnimation(\n\tpreset: AnimationPreset = SPRING_SMOOTH,\n\tdistance = 16,\n): BlackbirdAnimation {\n\treturn createAnimation(preset, {\n\t\tfrom: { opacity: 0, transform: `translateY(-${distance}px) scale(0.96)` },\n\t\tto: { opacity: 1, transform: 'translateY(0) scale(1)' },\n\t})\n}\n\n/**\n * Create a dismiss animation (fade out + slide up).\n * Common pattern for content disappearing.\n */\nexport function createDismissAnimation(\n\tpreset: AnimationPreset = SPRING_SMOOTH,\n\tdistance = 12,\n): BlackbirdAnimation {\n\tconst anim = createAnimation(preset, {\n\t\tfrom: { opacity: 1, transform: 'translateY(0) scale(1)' },\n\t\tto: { opacity: 0, transform: `translateY(-${distance}px) scale(0.97)` },\n\t})\n\n\t// Dismiss is slightly faster\n\tif (anim.options.duration) {\n\t\tanim.options.duration = (anim.options.duration as number) * 0.7\n\t}\n\n\treturn anim\n}\n\n/**\n * Create a scale animation (pop in/out).\n * Common pattern for buttons and interactive elements.\n */\nexport function createScaleAnimation(\n\tpreset: AnimationPreset = SPRING_SNAPPY,\n\tfromScale = 0.9,\n\ttoScale = 1,\n): BlackbirdAnimation {\n\treturn createAnimation(preset, {\n\t\tfrom: { opacity: fromScale < toScale ? 0 : 1, transform: `scale(${fromScale})` },\n\t\tto: { opacity: fromScale < toScale ? 1 : 0, transform: `scale(${toScale})` },\n\t})\n}\n\n// =============================================================================\n// TAILWIND UTILITIES (for use in tailwind.config.js)\n// =============================================================================\n\n/**\n * Tailwind CSS animation utilities configuration.\n * Import this into your tailwind.config.js to add Blackbird animations.\n *\n * @example\n * ```js\n * // tailwind.config.js\n * const { tailwindAnimations } = require('@mhmo91/schmancy/utils/animation')\n *\n * module.exports = {\n * theme: {\n * extend: {\n * ...tailwindAnimations\n * }\n * }\n * }\n * ```\n */\nexport const tailwindAnimations = {\n\ttransitionTimingFunction: {\n\t\t'spring-smooth': SPRING_SMOOTH.easingFallback,\n\t\t'spring-snappy': SPRING_SNAPPY.easingFallback,\n\t\t'spring-bouncy': SPRING_BOUNCY.easingFallback,\n\t\t'spring-gentle': SPRING_GENTLE.easingFallback,\n\t},\n\ttransitionDuration: {\n\t\t'spring-smooth': `${SPRING_SMOOTH.duration}ms`,\n\t\t'spring-snappy': `${SPRING_SNAPPY.duration}ms`,\n\t\t'spring-bouncy': `${SPRING_BOUNCY.duration}ms`,\n\t\t'spring-gentle': `${SPRING_GENTLE.duration}ms`,\n\t},\n\tkeyframes: {\n\t\t'blackbird-reveal': {\n\t\t\t'0%': { opacity: '0', transform: 'translateY(-16px) scale(0.96)' },\n\t\t\t'100%': { opacity: '1', transform: 'translateY(0) scale(1)' },\n\t\t},\n\t\t'blackbird-dismiss': {\n\t\t\t'0%': { opacity: '1', transform: 'translateY(0) scale(1)' },\n\t\t\t'100%': { opacity: '0', transform: 'translateY(-12px) scale(0.97)' },\n\t\t},\n\t\t'blackbird-scale-in': {\n\t\t\t'0%': { opacity: '0', transform: 'scale(0.9)' },\n\t\t\t'100%': { opacity: '1', transform: 'scale(1)' },\n\t\t},\n\t\t'blackbird-scale-out': {\n\t\t\t'0%': { opacity: '1', transform: 'scale(1)' },\n\t\t\t'100%': { opacity: '0', transform: 'scale(0.9)' },\n\t\t},\n\t\t'blackbird-slide-up': {\n\t\t\t'0%': { transform: 'translateY(100%)' },\n\t\t\t'100%': { transform: 'translateY(0)' },\n\t\t},\n\t\t'blackbird-slide-down': {\n\t\t\t'0%': { transform: 'translateY(0)' },\n\t\t\t'100%': { transform: 'translateY(100%)' },\n\t\t},\n\t},\n\tanimation: {\n\t\t'blackbird-reveal': `blackbird-reveal ${SPRING_SMOOTH.duration}ms ${SPRING_SMOOTH.easingFallback} forwards`,\n\t\t'blackbird-dismiss': `blackbird-dismiss ${SPRING_SMOOTH.duration * 0.7}ms ${SPRING_SMOOTH.easingFallback} forwards`,\n\t\t'blackbird-scale-in': `blackbird-scale-in ${SPRING_SNAPPY.duration}ms ${SPRING_SNAPPY.easingFallback} forwards`,\n\t\t'blackbird-scale-out': `blackbird-scale-out ${SPRING_SNAPPY.duration * 0.7}ms ${SPRING_SNAPPY.easingFallback} forwards`,\n\t\t'blackbird-slide-up': `blackbird-slide-up ${SPRING_SMOOTH.duration}ms ${SPRING_SMOOTH.easingFallback} forwards`,\n\t\t'blackbird-slide-down': `blackbird-slide-down ${SPRING_SMOOTH.duration * 0.7}ms ${SPRING_SMOOTH.easingFallback} forwards`,\n\t},\n}\n\n// =============================================================================\n// CSS-IN-JS UTILITIES (for Lit components)\n// =============================================================================\n\n/**\n * CSS string with spring-based grid animation for details/accordions.\n * Use with grid-template-rows for smooth height animation.\n *\n * @example\n * ```ts\n * import { css } from 'lit'\n * import { GRID_ANIMATION_CSS } from '@mhmo91/schmancy'\n *\n * static styles = css`\n * ${GRID_ANIMATION_CSS}\n *\n * .content {\n * display: grid;\n * grid-template-rows: 0fr;\n * }\n * .content[data-open='true'] {\n * grid-template-rows: 1fr;\n * }\n * `\n * ```\n */\nexport const GRID_ANIMATION_CSS = `\n\t/* Grid-based height animation with spring physics */\n\t.blackbird-grid {\n\t\tdisplay: grid;\n\t\tgrid-template-rows: 0fr;\n\t\toverflow: hidden;\n\t\ttransition: grid-template-rows ${SPRING_SMOOTH.duration}ms ${SPRING_SMOOTH.easingFallback};\n\t}\n\n\t/* Use spring easing when linear() is supported */\n\t@supports (animation-timing-function: linear(0, 1)) {\n\t\t.blackbird-grid {\n\t\t\ttransition: grid-template-rows ${SPRING_SMOOTH.duration}ms ${SPRING_SMOOTH.easing};\n\t\t}\n\t}\n\n\t.blackbird-grid[data-open='true'],\n\t.blackbird-grid.open {\n\t\tgrid-template-rows: 1fr;\n\t}\n\n\t.blackbird-grid > * {\n\t\toverflow: hidden;\n\t}\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\t.blackbird-grid {\n\t\t\ttransition: none;\n\t\t}\n\t}\n`\n"],"mappings":"AAmEA,IAAa,EAAiC,CAC7C,KAAM,SACN,SAAU,IACV,OAAQ;;;;IAKR,eAAgB,oCAChB,OAAQ,CAAE,UAAW,IAAK,QAAS,GAAI,KAAM,CAAA,CAAA,EAOjC,EAAiC,CAC7C,KAAM,SACN,SAAU,IACV,OAAQ;;;IAIR,eAAgB,oCAChB,OAAQ,CAAE,UAAW,IAAK,QAAS,GAAI,KAAM,CAAA,CAAA,EAOjC,EAAiC,CAC7C,KAAM,SACN,SAAU,IACV,OAAQ;;;;IAKR,eAAgB,mCAChB,OAAQ,CAAE,UAAW,IAAK,QAAS,GAAI,KAAM,CAAA,CAAA,EAOjC,EAAiC,CAC7C,KAAM,SACN,SAAU,IACV,OAAQ;;;;IAKR,eAAgB,+BAChB,OAAQ,CAAE,UAAW,GAAI,QAAS,GAAI,KAAM,GAAA,CAAA,EAQhC,EAAmB,EAAc,eAOjC,EAAiB,EAAc,SAuB/B,EAAqB,gIAIF,EAAc,SAAA,oCAChB,EAAc,eAAA,yCACP,EAAc,OAAA,kFAGnB,EAAc,SAAA,oCAChB,EAAc,eAAA,yCACP,EAAc,OAAA,uEAGnB,EAAc,SAAA,oCAChB,EAAc,eAAA,yCACP,EAAc,OAAA,sEAGnB,EAAc,SAAA,oCAChB,EAAc,eAAA,yCACP,EAAc,OAAA,KAWnD,SAAgB,EAAU,EAAA,CAEzB,OAAmB,OAAR,IAAQ,KAAe,IAAI,WAAW,4BAA6B,cAAA,EACtE,EAAO,OAER,EAAO,cACf,CAKA,SAAgB,GAAA,CACf,OAAyB,OAAX,OAAW,KAAe,OAAO,WAAW,kCAAA,EAAoC,OAC/F,CAeA,SAAgB,EAAgB,EAAyB,EAAA,CAExD,OAAI,EAAA,EACI,CACN,UAAW,CAAC,EAAU,EAAA,EACtB,QAAS,CAAE,SAAU,EAAG,KAAM,UAAA,CAAA,EAIzB,CACN,UAAW,CAAC,EAAU,KAAM,EAAU,EAAA,EACtC,QAAS,CACR,SAAU,EAAO,SACjB,OAAQ,EAAO,eACf,KAAM,UAAA,CAAA,CAGT,CAMA,SAAgB,EACf,EAA0B,EAC1B,EAAW,GAAA,CAEX,OAAO,EAAgB,EAAQ,CAC9B,KAAM,CAAE,QAAS,EAAG,UAAW,eAAe,EAAA,gBAAA,EAC9C,GAAI,CAAE,QAAS,EAAG,UAAW,wBAAA,CAAA,CAAA,CAE/B,CAMA,SAAgB,EACf,EAA0B,EAC1B,EAAW,GAAA,CAEX,IAAM,EAAO,EAAgB,EAAQ,CACpC,KAAM,CAAE,QAAS,EAAG,UAAW,wBAAA,EAC/B,GAAI,CAAE,QAAS,EAAG,UAAW,eAAe,EAAA,gBAAA,CAAA,CAAA,EAQ7C,OAJI,EAAK,QAAQ,WAChB,EAAK,QAAQ,SAA+C,GAAnC,EAAK,QAAQ,UAGhC,CACR,CAMA,SAAgB,EACf,EAA0B,EAC1B,EAAY,GACZ,EAAU,EAAA,CAEV,OAAO,EAAgB,EAAQ,CAC9B,KAAM,CAAE,QAAS,EAAY,EAAU,EAAI,EAAG,UAAW,SAAS,EAAA,EAAA,EAClE,GAAI,CAAE,QAAS,IAAY,GAAiB,UAAW,SAAS,EAAA,EAAA,CAAA,CAAA,CAElE,CAwBA,IAAa,EAAqB,CACjC,yBAA0B,CACzB,gBAAiB,EAAc,eAC/B,gBAAiB,EAAc,eAC/B,gBAAiB,EAAc,eAC/B,gBAAiB,EAAc,cAAA,EAEhC,mBAAoB,CACnB,gBAAiB,GAAG,EAAc,SAAA,IAClC,gBAAiB,GAAG,EAAc,SAAA,IAClC,gBAAiB,GAAG,EAAc,SAAA,IAClC,gBAAiB,GAAG,EAAc,SAAA,GAAA,EAEnC,UAAW,CACV,mBAAoB,CACnB,KAAM,CAAE,QAAS,IAAK,UAAW,+BAAA,EACjC,OAAQ,CAAE,QAAS,IAAK,UAAW,wBAAA,CAAA,EAEpC,oBAAqB,CACpB,KAAM,CAAE,QAAS,IAAK,UAAW,wBAAA,EACjC,OAAQ,CAAE,QAAS,IAAK,UAAW,+BAAA,CAAA,EAEpC,qBAAsB,CACrB,KAAM,CAAE,QAAS,IAAK,UAAW,YAAA,EACjC,OAAQ,CAAE,QAAS,IAAK,UAAW,UAAA,CAAA,EAEpC,sBAAuB,CACtB,KAAM,CAAE,QAAS,IAAK,UAAW,UAAA,EACjC,OAAQ,CAAE,QAAS,IAAK,UAAW,YAAA,CAAA,EAEpC,qBAAsB,CACrB,KAAM,CAAE,UAAW,kBAAA,EACnB,OAAQ,CAAE,UAAW,eAAA,CAAA,EAEtB,uBAAwB,CACvB,KAAM,CAAE,UAAW,eAAA,EACnB,OAAQ,CAAE,UAAW,kBAAA,CAAA,CAAA,EAGvB,UAAW,CACV,mBAAoB,oBAAoB,EAAc,SAAA,KAAc,EAAc,eAAA,WAClF,oBAAqB,qBAA8C,GAAzB,EAAc,SAAA,KAAoB,EAAc,eAAA,WAC1F,qBAAsB,sBAAsB,EAAc,SAAA,KAAc,EAAc,eAAA,WACtF,sBAAuB,uBAAgD,GAAzB,EAAc,SAAA,KAAoB,EAAc,eAAA,WAC9F,qBAAsB,sBAAsB,EAAc,SAAA,KAAc,EAAc,eAAA,WACtF,uBAAwB,wBAAiD,GAAzB,EAAc,SAAA,KAAoB,EAAc,eAAA,UAAA,CAAA,EA8BrF,EAAqB,+LAMC,EAAc,SAAA,KAAc,EAAc,eAAA,uLAMzC,EAAc,SAAA,KAAc,EAAc,OAAA,wRAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,MApQjD,IAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,MAJN,SAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,MAKU,IAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,MANT,UAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"animation-CCOIW4wJ.cjs","names":[],"sources":["../src/utils/animation.ts"],"sourcesContent":["/**\n * Blackbird Animation System\n *\n * A comprehensive animation system using spring physics for natural,\n * organic motion. Named after the smooth, arcing flight patterns of birds.\n *\n * Features:\n * - Spring physics via CSS linear() (88% browser support)\n * - Cubic-bezier fallbacks for older browsers\n * - Typed interfaces for Web Animations API\n * - CSS custom properties for Tailwind integration\n * - Multiple presets: smooth, snappy, bouncy\n *\n * @see https://www.joshwcomeau.com/animation/linear-timing-function/\n * @see https://developer.chrome.com/docs/css-ui/css-linear-easing-function\n */\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\n/** Spring configuration parameters */\nexport interface SpringConfig {\n\t/** Spring stiffness (higher = faster) */\n\tstiffness: number\n\t/** Damping ratio (higher = less bounce) */\n\tdamping: number\n\t/** Mass (higher = slower) */\n\tmass: number\n}\n\n/** Animation preset with all timing values */\nexport interface AnimationPreset {\n\t/** Human-readable name */\n\tname: string\n\t/** Duration in milliseconds */\n\tduration: number\n\t/** CSS linear() easing function (modern browsers) */\n\teasing: string\n\t/** Cubic-bezier fallback (all browsers) */\n\teasingFallback: string\n\t/** Spring configuration used to generate this preset */\n\tspring: SpringConfig\n}\n\n/** Keyframe options for Web Animations API */\nexport interface BlackbirdKeyframes {\n\t/** Starting state */\n\tfrom: Keyframe\n\t/** Ending state */\n\tto: Keyframe\n}\n\n/** Complete animation configuration */\nexport interface BlackbirdAnimation {\n\tkeyframes: Keyframe[]\n\toptions: KeyframeAnimationOptions\n}\n\n// =============================================================================\n// SPRING PRESETS\n// =============================================================================\n\n/**\n * Smooth preset - Apple-style, subtle overshoot\n * Best for: Details, accordions, content reveals\n */\nexport const SPRING_SMOOTH: AnimationPreset = {\n\tname: 'smooth',\n\tduration: 500,\n\teasing: `linear(\n\t\t0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%,\n\t\t0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50%, 1.015 54.8%,\n\t\t1.017 63.3%, 1.001\n\t)`,\n\teasingFallback: 'cubic-bezier(0.34, 1.56, 0.64, 1)',\n\tspring: { stiffness: 100, damping: 15, mass: 1 },\n}\n\n/**\n * Snappy preset - Quick with minimal overshoot\n * Best for: Buttons, toggles, quick interactions\n */\nexport const SPRING_SNAPPY: AnimationPreset = {\n\tname: 'snappy',\n\tduration: 300,\n\teasing: `linear(\n\t\t0, 0.009, 0.035 2.1%, 0.141 4.4%, 0.723 15.5%, 0.938 23.8%,\n\t\t1.017 30.2%, 1.041 37.3%, 1.026 52.4%, 1.001\n\t)`,\n\teasingFallback: 'cubic-bezier(0.22, 1.25, 0.36, 1)',\n\tspring: { stiffness: 200, damping: 20, mass: 1 },\n}\n\n/**\n * Bouncy preset - Playful with noticeable overshoot\n * Best for: Notifications, celebrations, attention-grabbing\n */\nexport const SPRING_BOUNCY: AnimationPreset = {\n\tname: 'bouncy',\n\tduration: 600,\n\teasing: `linear(\n\t\t0, 0.004, 0.016 2.3%, 0.065 4.8%, 0.258 9.9%, 0.489 15%,\n\t\t0.683 20.1%, 0.847 25.4%, 0.963 30.6%, 1.039 36%, 1.086 41.8%,\n\t\t1.107 48.1%, 1.101 55.1%, 1.064 73.1%, 1.026 85.2%, 1.001\n\t)`,\n\teasingFallback: 'cubic-bezier(0.34, 1.8, 0.64, 1)',\n\tspring: { stiffness: 100, damping: 10, mass: 1 },\n}\n\n/**\n * Gentle preset - Slow, smooth, no overshoot\n * Best for: Page transitions, modal backgrounds, subtle reveals\n */\nexport const SPRING_GENTLE: AnimationPreset = {\n\tname: 'gentle',\n\tduration: 700,\n\teasing: `linear(\n\t\t0, 0.002, 0.009 2.6%, 0.036 5.3%, 0.153 11.3%, 0.352 18.5%,\n\t\t0.554 25.4%, 0.733 32.6%, 0.865 40.2%, 0.945 48.5%,\n\t\t0.984 58.2%, 0.997 70.5%, 1\n\t)`,\n\teasingFallback: 'cubic-bezier(0.4, 0, 0.2, 1)',\n\tspring: { stiffness: 80, damping: 25, mass: 1.2 },\n}\n\n// =============================================================================\n// LEGACY EXPORTS (backwards compatibility)\n// =============================================================================\n\n/** @deprecated Use SPRING_SMOOTH.easingFallback instead */\nexport const BLACKBIRD_EASING = SPRING_SMOOTH.easingFallback\n\n/** Standard easing for smooth transitions */\nexport const EASE_OUT = 'ease-out'\nexport const EASE_IN = 'ease-in'\n\n/** Standard durations */\nexport const DURATION_ENTER = SPRING_SNAPPY.duration\nexport const DURATION_EXIT = 150\nexport const DURATION_BACKDROP = 200\n\n// =============================================================================\n// CSS CUSTOM PROPERTIES\n// =============================================================================\n\n/**\n * CSS custom properties for use in stylesheets.\n * These can be injected into :root or a component's styles.\n *\n * @example\n * ```css\n * :root {\n * ${ANIMATION_CSS_VARS}\n * }\n *\n * .element {\n * transition: transform var(--blackbird-duration-smooth) var(--blackbird-easing-smooth);\n * }\n * ```\n */\nexport const ANIMATION_CSS_VARS = `\n\t/* Blackbird Animation System - Spring Physics */\n\n\t/* Smooth preset (Apple-style) */\n\t--blackbird-duration-smooth: ${SPRING_SMOOTH.duration}ms;\n\t--blackbird-easing-smooth: ${SPRING_SMOOTH.easingFallback};\n\t--blackbird-easing-smooth-spring: ${SPRING_SMOOTH.easing};\n\n\t/* Snappy preset (quick interactions) */\n\t--blackbird-duration-snappy: ${SPRING_SNAPPY.duration}ms;\n\t--blackbird-easing-snappy: ${SPRING_SNAPPY.easingFallback};\n\t--blackbird-easing-snappy-spring: ${SPRING_SNAPPY.easing};\n\n\t/* Bouncy preset (playful) */\n\t--blackbird-duration-bouncy: ${SPRING_BOUNCY.duration}ms;\n\t--blackbird-easing-bouncy: ${SPRING_BOUNCY.easingFallback};\n\t--blackbird-easing-bouncy-spring: ${SPRING_BOUNCY.easing};\n\n\t/* Gentle preset (subtle) */\n\t--blackbird-duration-gentle: ${SPRING_GENTLE.duration}ms;\n\t--blackbird-easing-gentle: ${SPRING_GENTLE.easingFallback};\n\t--blackbird-easing-gentle-spring: ${SPRING_GENTLE.easing};\n`\n\n// =============================================================================\n// HELPER FUNCTIONS\n// =============================================================================\n\n/**\n * Get the appropriate easing function based on browser support.\n * Uses linear() if supported, falls back to cubic-bezier.\n */\nexport function getEasing(preset: AnimationPreset): string {\n\t// Feature detect linear() support\n\tif (typeof CSS !== 'undefined' && CSS.supports?.('animation-timing-function', 'linear(0, 1)')) {\n\t\treturn preset.easing\n\t}\n\treturn preset.easingFallback\n}\n\n/**\n * Check if the browser supports reduced motion preference.\n */\nexport function prefersReducedMotion(): boolean {\n\treturn typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches\n}\n\n/**\n * Create a Web Animations API animation configuration.\n *\n * @example\n * ```ts\n * const anim = createAnimation(SPRING_SMOOTH, {\n * from: { opacity: 0, transform: 'translateY(-16px)' },\n * to: { opacity: 1, transform: 'translateY(0)' }\n * })\n *\n * element.animate(anim.keyframes, anim.options)\n * ```\n */\nexport function createAnimation(preset: AnimationPreset, keyframes: BlackbirdKeyframes): BlackbirdAnimation {\n\t// Respect reduced motion preference\n\tif (prefersReducedMotion()) {\n\t\treturn {\n\t\t\tkeyframes: [keyframes.to],\n\t\t\toptions: { duration: 0, fill: 'forwards' },\n\t\t}\n\t}\n\n\treturn {\n\t\tkeyframes: [keyframes.from, keyframes.to],\n\t\toptions: {\n\t\t\tduration: preset.duration,\n\t\t\teasing: preset.easingFallback, // Web Animations API doesn't support linear() well\n\t\t\tfill: 'forwards',\n\t\t},\n\t}\n}\n\n/**\n * Create a reveal animation (fade in + slide up).\n * Common pattern for content appearing.\n */\nexport function createRevealAnimation(preset: AnimationPreset = SPRING_SMOOTH, distance = 16): BlackbirdAnimation {\n\treturn createAnimation(preset, {\n\t\tfrom: { opacity: 0, transform: `translateY(-${distance}px) scale(0.96)` },\n\t\tto: { opacity: 1, transform: 'translateY(0) scale(1)' },\n\t})\n}\n\n/**\n * Create a dismiss animation (fade out + slide up).\n * Common pattern for content disappearing.\n */\nexport function createDismissAnimation(preset: AnimationPreset = SPRING_SMOOTH, distance = 12): BlackbirdAnimation {\n\tconst anim = createAnimation(preset, {\n\t\tfrom: { opacity: 1, transform: 'translateY(0) scale(1)' },\n\t\tto: { opacity: 0, transform: `translateY(-${distance}px) scale(0.97)` },\n\t})\n\n\t// Dismiss is slightly faster\n\tif (anim.options.duration) {\n\t\tanim.options.duration = (anim.options.duration as number) * 0.7\n\t}\n\n\treturn anim\n}\n\n/**\n * Create a scale animation (pop in/out).\n * Common pattern for buttons and interactive elements.\n */\nexport function createScaleAnimation(\n\tpreset: AnimationPreset = SPRING_SNAPPY,\n\tfromScale = 0.9,\n\ttoScale = 1,\n): BlackbirdAnimation {\n\treturn createAnimation(preset, {\n\t\tfrom: { opacity: fromScale < toScale ? 0 : 1, transform: `scale(${fromScale})` },\n\t\tto: { opacity: fromScale < toScale ? 1 : 0, transform: `scale(${toScale})` },\n\t})\n}\n\n// =============================================================================\n// TAILWIND UTILITIES (for use in tailwind.config.js)\n// =============================================================================\n\n/**\n * Tailwind CSS animation utilities configuration.\n * Import this into your tailwind.config.js to add Blackbird animations.\n *\n * @example\n * ```js\n * // tailwind.config.js\n * const { tailwindAnimations } = require('@mhmo91/schmancy/utils/animation')\n *\n * module.exports = {\n * theme: {\n * extend: {\n * ...tailwindAnimations\n * }\n * }\n * }\n * ```\n */\nexport const tailwindAnimations = {\n\ttransitionTimingFunction: {\n\t\t'spring-smooth': SPRING_SMOOTH.easingFallback,\n\t\t'spring-snappy': SPRING_SNAPPY.easingFallback,\n\t\t'spring-bouncy': SPRING_BOUNCY.easingFallback,\n\t\t'spring-gentle': SPRING_GENTLE.easingFallback,\n\t},\n\ttransitionDuration: {\n\t\t'spring-smooth': `${SPRING_SMOOTH.duration}ms`,\n\t\t'spring-snappy': `${SPRING_SNAPPY.duration}ms`,\n\t\t'spring-bouncy': `${SPRING_BOUNCY.duration}ms`,\n\t\t'spring-gentle': `${SPRING_GENTLE.duration}ms`,\n\t},\n\tkeyframes: {\n\t\t'blackbird-reveal': {\n\t\t\t'0%': { opacity: '0', transform: 'translateY(-16px) scale(0.96)' },\n\t\t\t'100%': { opacity: '1', transform: 'translateY(0) scale(1)' },\n\t\t},\n\t\t'blackbird-dismiss': {\n\t\t\t'0%': { opacity: '1', transform: 'translateY(0) scale(1)' },\n\t\t\t'100%': { opacity: '0', transform: 'translateY(-12px) scale(0.97)' },\n\t\t},\n\t\t'blackbird-scale-in': {\n\t\t\t'0%': { opacity: '0', transform: 'scale(0.9)' },\n\t\t\t'100%': { opacity: '1', transform: 'scale(1)' },\n\t\t},\n\t\t'blackbird-scale-out': {\n\t\t\t'0%': { opacity: '1', transform: 'scale(1)' },\n\t\t\t'100%': { opacity: '0', transform: 'scale(0.9)' },\n\t\t},\n\t\t'blackbird-slide-up': {\n\t\t\t'0%': { transform: 'translateY(100%)' },\n\t\t\t'100%': { transform: 'translateY(0)' },\n\t\t},\n\t\t'blackbird-slide-down': {\n\t\t\t'0%': { transform: 'translateY(0)' },\n\t\t\t'100%': { transform: 'translateY(100%)' },\n\t\t},\n\t},\n\tanimation: {\n\t\t'blackbird-reveal': `blackbird-reveal ${SPRING_SMOOTH.duration}ms ${SPRING_SMOOTH.easingFallback} forwards`,\n\t\t'blackbird-dismiss': `blackbird-dismiss ${SPRING_SMOOTH.duration * 0.7}ms ${SPRING_SMOOTH.easingFallback} forwards`,\n\t\t'blackbird-scale-in': `blackbird-scale-in ${SPRING_SNAPPY.duration}ms ${SPRING_SNAPPY.easingFallback} forwards`,\n\t\t'blackbird-scale-out': `blackbird-scale-out ${SPRING_SNAPPY.duration * 0.7}ms ${SPRING_SNAPPY.easingFallback} forwards`,\n\t\t'blackbird-slide-up': `blackbird-slide-up ${SPRING_SMOOTH.duration}ms ${SPRING_SMOOTH.easingFallback} forwards`,\n\t\t'blackbird-slide-down': `blackbird-slide-down ${SPRING_SMOOTH.duration * 0.7}ms ${SPRING_SMOOTH.easingFallback} forwards`,\n\t},\n}\n\n// =============================================================================\n// CSS-IN-JS UTILITIES (for Lit components)\n// =============================================================================\n\n/**\n * CSS string with spring-based grid animation for details/accordions.\n * Use with grid-template-rows for smooth height animation.\n *\n * @example\n * ```ts\n * import { css } from 'lit'\n * import { GRID_ANIMATION_CSS } from '@mhmo91/schmancy'\n *\n * static styles = css`\n * ${GRID_ANIMATION_CSS}\n *\n * .content {\n * display: grid;\n * grid-template-rows: 0fr;\n * }\n * .content[data-open='true'] {\n * grid-template-rows: 1fr;\n * }\n * `\n * ```\n */\nexport const GRID_ANIMATION_CSS = `\n\t/* Grid-based height animation with spring physics */\n\t.blackbird-grid {\n\t\tdisplay: grid;\n\t\tgrid-template-rows: 0fr;\n\t\toverflow: hidden;\n\t\ttransition: grid-template-rows ${SPRING_SMOOTH.duration}ms ${SPRING_SMOOTH.easingFallback};\n\t}\n\n\t/* Use spring easing when linear() is supported */\n\t@supports (animation-timing-function: linear(0, 1)) {\n\t\t.blackbird-grid {\n\t\t\ttransition: grid-template-rows ${SPRING_SMOOTH.duration}ms ${SPRING_SMOOTH.easing};\n\t\t}\n\t}\n\n\t.blackbird-grid[data-open='true'],\n\t.blackbird-grid.open {\n\t\tgrid-template-rows: 1fr;\n\t}\n\n\t.blackbird-grid > * {\n\t\toverflow: hidden;\n\t}\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\t.blackbird-grid {\n\t\t\ttransition: none;\n\t\t}\n\t}\n`\n"],"mappings":"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"}