@mhmo91/schmancy 0.9.4 → 0.9.6

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 (1037) hide show
  1. package/.claude-plugin/plugin.json +13 -0
  2. package/README.md +14 -4
  3. package/custom-elements.json +493 -718
  4. package/dist/.claude-plugin/plugin.json +13 -0
  5. package/dist/animation-Bcwh107v.cjs.map +1 -0
  6. package/dist/animation-CXKSuUoE.js.map +1 -0
  7. package/dist/area-BARjKpE9.js +590 -0
  8. package/dist/area-BARjKpE9.js.map +1 -0
  9. package/dist/area-D9b9dHQr.cjs +12 -0
  10. package/dist/area-D9b9dHQr.cjs.map +1 -0
  11. package/dist/area.cjs +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/audio-C7TzWI8M.js +335 -0
  14. package/dist/audio-C7TzWI8M.js.map +1 -0
  15. package/dist/audio-DUVz7Ars.cjs +1 -0
  16. package/dist/audio-DUVz7Ars.cjs.map +1 -0
  17. package/dist/audio.cjs +1 -1
  18. package/dist/audio.js +2 -2
  19. package/dist/autocomplete-AI2CCJmK.cjs +115 -0
  20. package/dist/autocomplete-AI2CCJmK.cjs.map +1 -0
  21. package/dist/autocomplete-DOimwVMP.js +404 -0
  22. package/dist/autocomplete-DOimwVMP.js.map +1 -0
  23. package/dist/autocomplete.cjs +1 -1
  24. package/dist/autocomplete.js +1 -1
  25. package/dist/badge.cjs +1 -1
  26. package/dist/badge.js +1 -1
  27. package/dist/boat-Bk4u-LzT.cjs +80 -0
  28. package/dist/boat-Bk4u-LzT.cjs.map +1 -0
  29. package/dist/boat-DrghVeWK.js +347 -0
  30. package/dist/boat-DrghVeWK.js.map +1 -0
  31. package/dist/boat.cjs +1 -1
  32. package/dist/boat.js +1 -1
  33. package/dist/breadcrumb.cjs +34 -0
  34. package/dist/breadcrumb.cjs.map +1 -0
  35. package/dist/breadcrumb.js +73 -0
  36. package/dist/breadcrumb.js.map +1 -0
  37. package/dist/busy-BmFfwyz_.js +168 -0
  38. package/dist/busy-BmFfwyz_.js.map +1 -0
  39. package/dist/busy-c_q_F8O0.cjs +134 -0
  40. package/dist/busy-c_q_F8O0.cjs.map +1 -0
  41. package/dist/busy.cjs +1 -1
  42. package/dist/busy.js +1 -1
  43. package/dist/button.cjs +4 -4
  44. package/dist/button.cjs.map +1 -1
  45. package/dist/button.js +25 -6
  46. package/dist/button.js.map +1 -1
  47. package/dist/card-BADJHUMA.js +285 -0
  48. package/dist/card-BADJHUMA.js.map +1 -0
  49. package/dist/card-C_E944_Z.cjs +177 -0
  50. package/dist/card-C_E944_Z.cjs.map +1 -0
  51. package/dist/card.cjs +1 -1
  52. package/dist/card.js +1 -1
  53. package/dist/charts.cjs +3 -3
  54. package/dist/charts.cjs.map +1 -1
  55. package/dist/charts.js +2 -2
  56. package/dist/checkbox-D7rvCrGk.js +629 -0
  57. package/dist/checkbox-D7rvCrGk.js.map +1 -0
  58. package/dist/checkbox-ZqDoCagB.cjs +39 -0
  59. package/dist/checkbox-ZqDoCagB.cjs.map +1 -0
  60. package/dist/checkbox.cjs +1 -1
  61. package/dist/checkbox.js +1 -1
  62. package/dist/chips-Cux635Qs.cjs +253 -0
  63. package/dist/chips-Cux635Qs.cjs.map +1 -0
  64. package/dist/chips-vdzIsesI.js +655 -0
  65. package/dist/chips-vdzIsesI.js.map +1 -0
  66. package/dist/chips.cjs +1 -1
  67. package/dist/chips.js +2 -2
  68. package/dist/code-highlight-C9lKek2p.cjs +190 -0
  69. package/dist/code-highlight-C9lKek2p.cjs.map +1 -0
  70. package/dist/code-highlight-D6yruol6.js +291 -0
  71. package/dist/code-highlight-D6yruol6.js.map +1 -0
  72. package/dist/code-highlight.cjs +1 -1
  73. package/dist/code-highlight.js +1 -1
  74. package/dist/components-ByRyEzz5.cjs +73 -0
  75. package/dist/components-ByRyEzz5.cjs.map +1 -0
  76. package/dist/components-DSvPKR9Q.js +730 -0
  77. package/dist/components-DSvPKR9Q.js.map +1 -0
  78. package/dist/components.cjs +1 -1
  79. package/dist/components.js +1 -1
  80. package/dist/connectivity.cjs +7 -7
  81. package/dist/connectivity.cjs.map +1 -1
  82. package/dist/connectivity.js +5 -4
  83. package/dist/connectivity.js.map +1 -1
  84. package/dist/content-drawer.cjs +1 -1
  85. package/dist/content-drawer.js +1 -1
  86. package/dist/cursor-glow-82y5h3E4.cjs +1 -0
  87. package/dist/cursor-glow-82y5h3E4.cjs.map +1 -0
  88. package/dist/cursor-glow-C2YRrB8Z.js +46 -0
  89. package/dist/cursor-glow-C2YRrB8Z.js.map +1 -0
  90. package/dist/date-range-DJsavigf.cjs +131 -0
  91. package/dist/date-range-DJsavigf.cjs.map +1 -0
  92. package/dist/date-range-inline-B87TDYI6.js +267 -0
  93. package/dist/date-range-inline-B87TDYI6.js.map +1 -0
  94. package/dist/date-range-inline-De-M0VmL.cjs +43 -0
  95. package/dist/date-range-inline-De-M0VmL.cjs.map +1 -0
  96. package/dist/date-range-inline.cjs +1 -1
  97. package/dist/date-range-inline.js +1 -1
  98. package/dist/date-range-tEX2Jx2j.js +946 -0
  99. package/dist/date-range-tEX2Jx2j.js.map +1 -0
  100. package/dist/date-range.cjs +1 -1
  101. package/dist/date-range.js +1 -1
  102. package/dist/delay-BvVdfhAR.cjs +9 -0
  103. package/dist/delay-BvVdfhAR.cjs.map +1 -0
  104. package/dist/delay-CZw37zps.js +347 -0
  105. package/dist/delay-CZw37zps.js.map +1 -0
  106. package/dist/delay.cjs +1 -1
  107. package/dist/delay.js +1 -1
  108. package/dist/details-Bhz8_whd.cjs +168 -0
  109. package/dist/details-Bhz8_whd.cjs.map +1 -0
  110. package/dist/details-D7VTnLOh.js +294 -0
  111. package/dist/details-D7VTnLOh.js.map +1 -0
  112. package/dist/details.cjs +1 -1
  113. package/dist/details.js +1 -1
  114. package/dist/dialog-service-ClFrOWf4.js +193 -0
  115. package/dist/dialog-service-ClFrOWf4.js.map +1 -0
  116. package/dist/dialog-service-DcuAavp2.cjs +1 -0
  117. package/dist/dialog-service-DcuAavp2.cjs.map +1 -0
  118. package/dist/dialog.cjs +18 -11
  119. package/dist/dialog.cjs.map +1 -1
  120. package/dist/dialog.js +66 -43
  121. package/dist/dialog.js.map +1 -1
  122. package/dist/directives.cjs +1 -1
  123. package/dist/directives.js +5 -5
  124. package/dist/divider-S0bHwCCS.cjs +57 -0
  125. package/dist/divider-S0bHwCCS.cjs.map +1 -0
  126. package/dist/divider-zS232JDr.js +87 -0
  127. package/dist/divider-zS232JDr.js.map +1 -0
  128. package/dist/divider.cjs +1 -1
  129. package/dist/divider.js +1 -1
  130. package/dist/dropdown.cjs +4 -4
  131. package/dist/dropdown.cjs.map +1 -1
  132. package/dist/dropdown.js +8 -7
  133. package/dist/dropdown.js.map +1 -1
  134. package/dist/expand-BXt9SqAF.js +337 -0
  135. package/dist/expand-BXt9SqAF.js.map +1 -0
  136. package/dist/expand-Dr7TFXpl.cjs +141 -0
  137. package/dist/expand-Dr7TFXpl.cjs.map +1 -0
  138. package/dist/expand.cjs +1 -1
  139. package/dist/expand.js +1 -1
  140. package/dist/extra-BmZTXAp0.cjs +31 -0
  141. package/dist/extra-BmZTXAp0.cjs.map +1 -0
  142. package/dist/extra-COYhsOyZ.js +3435 -0
  143. package/dist/extra-COYhsOyZ.js.map +1 -0
  144. package/dist/extra.cjs +1 -1
  145. package/dist/extra.js +1 -1
  146. package/dist/float-CSRW-Rrd.cjs +1 -0
  147. package/dist/float-CSRW-Rrd.cjs.map +1 -0
  148. package/dist/float-DCXafWh6.js +5 -0
  149. package/dist/float-DCXafWh6.js.map +1 -0
  150. package/dist/float.cjs +1 -1
  151. package/dist/float.js +1 -1
  152. package/dist/flow-CqgDEIqK.js.map +1 -0
  153. package/dist/flow-DSu4PLt1.cjs.map +1 -0
  154. package/dist/form-CAY9GSCd.cjs +1 -0
  155. package/dist/form-CAY9GSCd.cjs.map +1 -0
  156. package/dist/form-D2cJ58TB.js +68 -0
  157. package/dist/form-D2cJ58TB.js.map +1 -0
  158. package/dist/form.cjs +1 -1
  159. package/dist/form.js +2 -1
  160. package/dist/hashContent-kKvXKFa9.cjs.map +1 -0
  161. package/dist/hashContent-nD2uWwi2.js.map +1 -0
  162. package/dist/icons-BbaI9Zf-.js +162 -0
  163. package/dist/icons-BbaI9Zf-.js.map +1 -0
  164. package/dist/icons-DPUeLS_Y.cjs +52 -0
  165. package/dist/icons-DPUeLS_Y.cjs.map +1 -0
  166. package/dist/icons.cjs +1 -1
  167. package/dist/icons.js +1 -1
  168. package/dist/iframe-CEDOvkql.js +45 -0
  169. package/dist/iframe-CEDOvkql.js.map +1 -0
  170. package/dist/iframe-Ct50FYXq.cjs +24 -0
  171. package/dist/iframe-Ct50FYXq.cjs.map +1 -0
  172. package/dist/iframe.cjs +1 -1
  173. package/dist/iframe.js +1 -1
  174. package/dist/index.cjs +1 -1
  175. package/dist/index.js +65 -59
  176. package/dist/input-DMjpf6V8.cjs +51 -0
  177. package/dist/input-DMjpf6V8.cjs.map +1 -0
  178. package/dist/input-Ri72dn5t.js +364 -0
  179. package/dist/input-Ri72dn5t.js.map +1 -0
  180. package/dist/input-chip-BhjGVpc3.cjs +146 -0
  181. package/dist/input-chip-BhjGVpc3.cjs.map +1 -0
  182. package/dist/input-chip-CI4__N8w.js +305 -0
  183. package/dist/input-chip-CI4__N8w.js.map +1 -0
  184. package/dist/input.cjs +1 -1
  185. package/dist/input.js +1 -1
  186. package/dist/intersection-D1v1UCVv.cjs.map +1 -0
  187. package/dist/intersection-LfEsy29T.js.map +1 -0
  188. package/dist/json.cjs +3 -3
  189. package/dist/json.cjs.map +1 -1
  190. package/dist/json.js +5 -4
  191. package/dist/json.js.map +1 -1
  192. package/dist/kbd.cjs +28 -0
  193. package/dist/kbd.cjs.map +1 -0
  194. package/dist/kbd.js +45 -0
  195. package/dist/kbd.js.map +1 -0
  196. package/dist/layout-BE2ld1IY.js +94 -0
  197. package/dist/layout-BE2ld1IY.js.map +1 -0
  198. package/dist/layout-D7xOqMkJ.cjs +17 -0
  199. package/dist/layout-D7xOqMkJ.cjs.map +1 -0
  200. package/dist/layout-PZCF3kwl.cjs +1 -0
  201. package/dist/layout-PZCF3kwl.cjs.map +1 -0
  202. package/dist/layout-uAQpJN31.js +268 -0
  203. package/dist/layout-uAQpJN31.js.map +1 -0
  204. package/dist/layout.cjs +1 -1
  205. package/dist/layout.js +2 -2
  206. package/dist/lightbox-C0OEHns9.js +679 -0
  207. package/dist/lightbox-C0OEHns9.js.map +1 -0
  208. package/dist/lightbox-cXRnvHMN.cjs +202 -0
  209. package/dist/lightbox-cXRnvHMN.cjs.map +1 -0
  210. package/dist/lightbox.cjs +1 -1
  211. package/dist/lightbox.js +1 -1
  212. package/dist/list-CmJ5h35b.cjs +40 -0
  213. package/dist/list-CmJ5h35b.cjs.map +1 -0
  214. package/dist/list-d1mHar5p.js +106 -0
  215. package/dist/list-d1mHar5p.js.map +1 -0
  216. package/dist/list.cjs +1 -1
  217. package/dist/list.js +1 -1
  218. package/dist/litElement.mixin-Bj2q1yPw.cjs +1 -0
  219. package/dist/litElement.mixin-Bj2q1yPw.cjs.map +1 -0
  220. package/dist/litElement.mixin-CncaUoxz.js +12 -0
  221. package/dist/litElement.mixin-CncaUoxz.js.map +1 -0
  222. package/dist/magnetic-Dj52WplI.js +47 -0
  223. package/dist/magnetic-Dj52WplI.js.map +1 -0
  224. package/dist/magnetic-aBBnj_vk.cjs +1 -0
  225. package/dist/magnetic-aBBnj_vk.cjs.map +1 -0
  226. package/dist/mailbox-BmChskZc.cjs +1142 -0
  227. package/dist/mailbox-BmChskZc.cjs.map +1 -0
  228. package/dist/mailbox-C4-E93be.js +1585 -0
  229. package/dist/mailbox-C4-E93be.js.map +1 -0
  230. package/dist/mailbox.cjs +1 -1
  231. package/dist/mailbox.js +1 -1
  232. package/dist/map-DHyYLhvy.js +206 -0
  233. package/dist/map-DHyYLhvy.js.map +1 -0
  234. package/dist/map-DYEvlNl0.cjs +80 -0
  235. package/dist/map-DYEvlNl0.cjs.map +1 -0
  236. package/dist/map.cjs +1 -1
  237. package/dist/map.js +1 -1
  238. package/dist/menu-BlPTI6H9.cjs +23 -0
  239. package/dist/menu-BlPTI6H9.cjs.map +1 -0
  240. package/dist/menu-DFDBADp4.js +51 -0
  241. package/dist/menu-DFDBADp4.js.map +1 -0
  242. package/dist/menu.cjs +1 -1
  243. package/dist/menu.js +1 -1
  244. package/dist/mixins.cjs +1 -1
  245. package/dist/mixins.cjs.map +1 -1
  246. package/dist/mixins.js +43 -15
  247. package/dist/mixins.js.map +1 -1
  248. package/dist/nav-drawer.cjs +1 -1
  249. package/dist/nav-drawer.js +1 -1
  250. package/dist/navigation-bar.cjs +1 -1
  251. package/dist/navigation-bar.js +1 -1
  252. package/dist/navigation-rail.cjs +3 -3
  253. package/dist/navigation-rail.cjs.map +1 -1
  254. package/dist/navigation-rail.js +2 -2
  255. package/dist/notification-DGpv8g2H.js +304 -0
  256. package/dist/notification-DGpv8g2H.js.map +1 -0
  257. package/dist/notification-DKVWYhqs.cjs +23 -0
  258. package/dist/notification-DKVWYhqs.cjs.map +1 -0
  259. package/dist/notification.cjs +1 -1
  260. package/dist/notification.js +1 -1
  261. package/dist/option-BD2eh458.js +98 -0
  262. package/dist/option-BD2eh458.js.map +1 -0
  263. package/dist/option-LtSDy2xf.cjs +43 -0
  264. package/dist/option-LtSDy2xf.cjs.map +1 -0
  265. package/dist/option.cjs +1 -1
  266. package/dist/option.js +1 -1
  267. package/dist/overlay-stack-CEYGD9T1.cjs.map +1 -0
  268. package/dist/overlay-stack-Ca4EK2Mu.js.map +1 -0
  269. package/dist/page.cjs +2 -2
  270. package/dist/page.cjs.map +1 -1
  271. package/dist/page.js +5 -5
  272. package/dist/progress-B5ChDPbB.cjs +51 -0
  273. package/dist/progress-B5ChDPbB.cjs.map +1 -0
  274. package/dist/progress-CE1Pk2hi.js +128 -0
  275. package/dist/progress-CE1Pk2hi.js.map +1 -0
  276. package/dist/progress.cjs +1 -1
  277. package/dist/progress.js +1 -1
  278. package/dist/provide-BZ9lq_Be.cjs +1 -0
  279. package/dist/provide-BZ9lq_Be.cjs.map +1 -0
  280. package/dist/provide-jn1Fj1vv.js +107 -0
  281. package/dist/provide-jn1Fj1vv.js.map +1 -0
  282. package/dist/qr-scanner.cjs +2 -2
  283. package/dist/qr-scanner.cjs.map +1 -1
  284. package/dist/qr-scanner.js +2 -2
  285. package/dist/radio-group-Cd9pZ2MR.cjs +40 -0
  286. package/dist/radio-group-Cd9pZ2MR.cjs.map +1 -0
  287. package/dist/radio-group-CyRHgIF3.js +106 -0
  288. package/dist/radio-group-CyRHgIF3.js.map +1 -0
  289. package/dist/radio-group.cjs +1 -1
  290. package/dist/radio-group.js +1 -1
  291. package/dist/range.cjs +4 -4
  292. package/dist/range.cjs.map +1 -1
  293. package/dist/range.js +4 -3
  294. package/dist/range.js.map +1 -1
  295. package/dist/reduced-motion-B83yZbcO.js.map +1 -0
  296. package/dist/reduced-motion-DR32yKEO.cjs.map +1 -0
  297. package/dist/rxjs-utils-Bldch1RO.js.map +1 -0
  298. package/dist/rxjs-utils-hAgKC7vk.cjs.map +1 -0
  299. package/dist/rxjs-utils.cjs +1 -1
  300. package/dist/rxjs-utils.js +1 -1
  301. package/dist/scroll-C_iNOi7E.cjs +26 -0
  302. package/dist/scroll-C_iNOi7E.cjs.map +1 -0
  303. package/dist/scroll-DoliwpRu.js +113 -0
  304. package/dist/scroll-DoliwpRu.js.map +1 -0
  305. package/dist/search-BlGJ6uJv.js.map +1 -0
  306. package/dist/search-C8eAOzBm.cjs.map +1 -0
  307. package/dist/select-CWWuZ2iJ.cjs +56 -0
  308. package/dist/select-CWWuZ2iJ.cjs.map +1 -0
  309. package/dist/select-_vHPXi30.js +305 -0
  310. package/dist/select-_vHPXi30.js.map +1 -0
  311. package/dist/select.cjs +1 -1
  312. package/dist/select.js +1 -1
  313. package/dist/sheet-i1KtxGIj.js +168 -0
  314. package/dist/sheet-i1KtxGIj.js.map +1 -0
  315. package/dist/sheet-r0oEYIdi.cjs +35 -0
  316. package/dist/sheet-r0oEYIdi.cjs.map +1 -0
  317. package/dist/sheet.cjs +1 -1
  318. package/dist/sheet.js +2 -2
  319. package/dist/sheet.service-Cr13Oo6G.cjs +1 -0
  320. package/dist/sheet.service-Cr13Oo6G.cjs.map +1 -0
  321. package/dist/sheet.service-DUO5_kmI.js +86 -0
  322. package/dist/sheet.service-DUO5_kmI.js.map +1 -0
  323. package/dist/skeleton.cjs +33 -0
  324. package/dist/skeleton.cjs.map +1 -0
  325. package/dist/skeleton.js +58 -0
  326. package/dist/skeleton.js.map +1 -0
  327. package/dist/skills/INDEX.md +73 -0
  328. package/dist/skills/SKILL.md +120 -0
  329. package/dist/skills/breadcrumb.md +53 -0
  330. package/dist/skills/kbd.md +40 -0
  331. package/dist/skills/schmancy/INDEX.md +73 -0
  332. package/dist/skills/schmancy/SKILL.md +120 -0
  333. package/dist/skills/schmancy/breadcrumb.md +53 -0
  334. package/dist/skills/schmancy/kbd.md +40 -0
  335. package/dist/skills/schmancy/skeleton.md +40 -0
  336. package/dist/skills/schmancy/splash-screen.md +60 -0
  337. package/dist/skills/schmancy/switch.md +58 -0
  338. package/dist/skills/schmancy/tooltip.md +38 -0
  339. package/dist/skills/schmancy/visually-hidden.md +41 -0
  340. package/dist/skills/skeleton.md +40 -0
  341. package/dist/skills/splash-screen.md +60 -0
  342. package/dist/skills/switch.md +58 -0
  343. package/dist/skills/tooltip.md +38 -0
  344. package/dist/skills/visually-hidden.md +41 -0
  345. package/dist/slider.cjs +3 -3
  346. package/dist/slider.cjs.map +1 -1
  347. package/dist/slider.js +2 -2
  348. package/dist/sound.service-BjSoGjmT.cjs +1 -0
  349. package/dist/sound.service-BjSoGjmT.cjs.map +1 -0
  350. package/dist/sound.service-cdkw3Wkv.js +2353 -0
  351. package/dist/sound.service-cdkw3Wkv.js.map +1 -0
  352. package/dist/splash-screen-CquyPP1C.cjs +41 -0
  353. package/dist/splash-screen-CquyPP1C.cjs.map +1 -0
  354. package/dist/splash-screen-CvucPkpD.js +83 -0
  355. package/dist/splash-screen-CvucPkpD.js.map +1 -0
  356. package/dist/splash-screen.cjs +1 -0
  357. package/dist/splash-screen.js +1 -0
  358. package/dist/src-Bemk2C2P.cjs +269 -0
  359. package/dist/src-Bemk2C2P.cjs.map +1 -0
  360. package/dist/src-f5a3W9Mj.js +1251 -0
  361. package/dist/src-f5a3W9Mj.js.map +1 -0
  362. package/dist/steps.cjs +10 -10
  363. package/dist/steps.cjs.map +1 -1
  364. package/dist/steps.js +10 -9
  365. package/dist/steps.js.map +1 -1
  366. package/dist/store-Bmj6rvZY.js.map +1 -0
  367. package/dist/store-CO4nJyGj.cjs.map +1 -0
  368. package/dist/store.cjs +1 -1
  369. package/dist/store.js +1 -1
  370. package/dist/surface-CDufon40.cjs +7 -0
  371. package/dist/surface-CDufon40.cjs.map +1 -0
  372. package/dist/surface-CkEYJCae.js +22 -0
  373. package/dist/surface-CkEYJCae.js.map +1 -0
  374. package/dist/surface.cjs +1 -1
  375. package/dist/surface.js +1 -1
  376. package/dist/surface.mixin-CSKqQH-0.cjs +297 -0
  377. package/dist/surface.mixin-CSKqQH-0.cjs.map +1 -0
  378. package/dist/surface.mixin-DqMwoddO.js +320 -0
  379. package/dist/surface.mixin-DqMwoddO.js.map +1 -0
  380. package/dist/switch.cjs +69 -0
  381. package/dist/switch.cjs.map +1 -0
  382. package/dist/switch.js +132 -0
  383. package/dist/switch.js.map +1 -0
  384. package/dist/table-DWc1mkpj.cjs +63 -0
  385. package/dist/table-DWc1mkpj.cjs.map +1 -0
  386. package/dist/table-P6VGG7NK.js +631 -0
  387. package/dist/table-P6VGG7NK.js.map +1 -0
  388. package/dist/table.cjs +1 -1
  389. package/dist/table.js +1 -1
  390. package/dist/tabs-CjGjGrqY.js +126 -0
  391. package/dist/tabs-CjGjGrqY.js.map +1 -0
  392. package/dist/tabs-DGJEKuhC.cjs +31 -0
  393. package/dist/tabs-DGJEKuhC.cjs.map +1 -0
  394. package/dist/tabs.cjs +1 -1
  395. package/dist/tabs.js +1 -1
  396. package/dist/tailwind.mixin-Cpa-VnnX.cjs +2 -0
  397. package/dist/tailwind.mixin-Cpa-VnnX.cjs.map +1 -0
  398. package/dist/tailwind.mixin-DufHBjmb.js +219 -0
  399. package/dist/tailwind.mixin-DufHBjmb.js.map +1 -0
  400. package/dist/teleport.cjs +1 -1
  401. package/dist/teleport.js +1 -1
  402. package/dist/textarea-DZT_Ofp5.js +209 -0
  403. package/dist/textarea-DZT_Ofp5.js.map +1 -0
  404. package/dist/textarea-jmTOXrzl.cjs +39 -0
  405. package/dist/textarea-jmTOXrzl.cjs.map +1 -0
  406. package/dist/textarea.cjs +1 -1
  407. package/dist/textarea.js +1 -1
  408. package/dist/theme-CCKqaksQ.cjs +181 -0
  409. package/dist/theme-CCKqaksQ.cjs.map +1 -0
  410. package/dist/theme-CEc32pAv.js +4122 -0
  411. package/dist/theme-CEc32pAv.js.map +1 -0
  412. package/dist/theme-button-BsJcv-Zv.cjs +8 -0
  413. package/dist/theme-button-BsJcv-Zv.cjs.map +1 -0
  414. package/dist/theme-button-dOiAvdKU.js +20 -0
  415. package/dist/theme-button-dOiAvdKU.js.map +1 -0
  416. package/dist/theme-button.cjs +1 -1
  417. package/dist/theme-button.js +1 -1
  418. package/dist/theme.cjs +1 -1
  419. package/dist/theme.events-Bw3mYjUA.js.map +1 -0
  420. package/dist/theme.events-EznKK2Y0.cjs.map +1 -0
  421. package/dist/theme.interface-CM26m9te.cjs.map +1 -0
  422. package/dist/theme.interface-FAUIgbIq.js.map +1 -0
  423. package/dist/theme.js +5 -5
  424. package/dist/theme.service-ETiKUwVy.cjs +1 -0
  425. package/dist/theme.service-ETiKUwVy.cjs.map +1 -0
  426. package/dist/theme.service-_qP5WvB9.js +108 -0
  427. package/dist/theme.service-_qP5WvB9.js.map +1 -0
  428. package/dist/tooltip.cjs +1 -6
  429. package/dist/tooltip.cjs.map +1 -1
  430. package/dist/tooltip.js +51 -135
  431. package/dist/tooltip.js.map +1 -1
  432. package/dist/tree.cjs +14 -5
  433. package/dist/tree.cjs.map +1 -1
  434. package/dist/tree.js +28 -6
  435. package/dist/tree.js.map +1 -1
  436. package/dist/tslib.es6-Bd-92OW3.cjs +1 -0
  437. package/dist/tslib.es6-Bd-92OW3.cjs.map +1 -0
  438. package/dist/tslib.es6-CI1onEZb.js +7 -0
  439. package/dist/tslib.es6-CI1onEZb.js.map +1 -0
  440. package/dist/typewriter-ByIL2Mh-.cjs +123 -0
  441. package/dist/typewriter-ByIL2Mh-.cjs.map +1 -0
  442. package/dist/typewriter-vOQ3bDLb.js +701 -0
  443. package/dist/typewriter-vOQ3bDLb.js.map +1 -0
  444. package/dist/typewriter.cjs +1 -1
  445. package/dist/typewriter.js +1 -1
  446. package/dist/typography.cjs +4 -4
  447. package/dist/typography.cjs.map +1 -1
  448. package/dist/typography.js +10 -9
  449. package/dist/typography.js.map +1 -1
  450. package/dist/utils-Cq0m3LYo.js +259 -0
  451. package/dist/utils-Cq0m3LYo.js.map +1 -0
  452. package/dist/utils-D2kE-6zc.cjs +1 -0
  453. package/dist/utils-D2kE-6zc.cjs.map +1 -0
  454. package/dist/utils.cjs +1 -1
  455. package/dist/utils.js +5 -5
  456. package/dist/visually-hidden.cjs +13 -0
  457. package/dist/visually-hidden.cjs.map +1 -0
  458. package/dist/visually-hidden.js +24 -0
  459. package/dist/visually-hidden.js.map +1 -0
  460. package/dist/window-BS7ZQjgH.cjs +59 -0
  461. package/dist/window-BS7ZQjgH.cjs.map +1 -0
  462. package/dist/window-WnAihpsA.js +548 -0
  463. package/dist/window-WnAihpsA.js.map +1 -0
  464. package/dist/window.cjs +1 -1
  465. package/dist/window.js +1 -1
  466. package/mixins/formField.mixin.ts +96 -69
  467. package/mixins/tailwind.css +11 -0
  468. package/package.json +19 -28
  469. package/skills/schmancy/INDEX.md +73 -0
  470. package/skills/schmancy/SKILL.md +120 -0
  471. package/skills/schmancy/animation.md +64 -0
  472. package/skills/schmancy/area.md +141 -0
  473. package/skills/schmancy/audio.md +69 -0
  474. package/skills/schmancy/autocomplete.md +53 -0
  475. package/skills/schmancy/avatar.md +47 -0
  476. package/skills/schmancy/badge.md +41 -0
  477. package/skills/schmancy/boat.md +47 -0
  478. package/skills/schmancy/breadcrumb.md +53 -0
  479. package/skills/schmancy/busy.md +36 -0
  480. package/skills/schmancy/button.md +59 -0
  481. package/skills/schmancy/card.md +53 -0
  482. package/skills/schmancy/charts.md +93 -0
  483. package/skills/schmancy/checkbox.md +36 -0
  484. package/skills/schmancy/chips.md +87 -0
  485. package/skills/schmancy/code-highlight.md +47 -0
  486. package/skills/schmancy/connectivity.md +36 -0
  487. package/skills/schmancy/content-drawer.md +65 -0
  488. package/skills/schmancy/date-range-inline.md +44 -0
  489. package/skills/schmancy/date-range.md +50 -0
  490. package/skills/schmancy/delay.md +50 -0
  491. package/skills/schmancy/details.md +66 -0
  492. package/skills/schmancy/dialog.md +69 -0
  493. package/skills/schmancy/directives.md +298 -0
  494. package/skills/schmancy/discovery.md +67 -0
  495. package/skills/schmancy/divider.md +31 -0
  496. package/skills/schmancy/dropdown.md +47 -0
  497. package/skills/schmancy/expand.md +63 -0
  498. package/skills/schmancy/extra.md +59 -0
  499. package/skills/schmancy/float.md +14 -0
  500. package/skills/schmancy/form.md +49 -0
  501. package/skills/schmancy/icons.md +44 -0
  502. package/skills/schmancy/iframe.md +44 -0
  503. package/skills/schmancy/input.md +56 -0
  504. package/skills/schmancy/json.md +33 -0
  505. package/skills/schmancy/kbd.md +40 -0
  506. package/skills/schmancy/layout.md +63 -0
  507. package/skills/schmancy/lightbox.md +36 -0
  508. package/skills/schmancy/list.md +67 -0
  509. package/skills/schmancy/mailbox.md +102 -0
  510. package/skills/schmancy/map.md +55 -0
  511. package/skills/schmancy/menu.md +39 -0
  512. package/skills/schmancy/mixins.md +99 -0
  513. package/skills/schmancy/nav-drawer.md +52 -0
  514. package/skills/schmancy/navigation-bar.md +48 -0
  515. package/skills/schmancy/navigation-rail.md +62 -0
  516. package/skills/schmancy/notification.md +60 -0
  517. package/skills/schmancy/option.md +43 -0
  518. package/skills/schmancy/page.md +42 -0
  519. package/skills/schmancy/progress.md +30 -0
  520. package/skills/schmancy/qr-scanner.md +51 -0
  521. package/skills/schmancy/radio-group.md +50 -0
  522. package/skills/schmancy/range.md +47 -0
  523. package/skills/schmancy/rxjs-utils.md +60 -0
  524. package/skills/schmancy/select.md +49 -0
  525. package/skills/schmancy/sheet.md +76 -0
  526. package/skills/schmancy/skeleton.md +40 -0
  527. package/skills/schmancy/slider.md +43 -0
  528. package/skills/schmancy/splash-screen.md +60 -0
  529. package/skills/schmancy/steps.md +53 -0
  530. package/skills/schmancy/store.md +126 -0
  531. package/skills/schmancy/surface.md +86 -0
  532. package/skills/schmancy/switch.md +58 -0
  533. package/skills/schmancy/table.md +60 -0
  534. package/skills/schmancy/tabs.md +49 -0
  535. package/skills/schmancy/teleport.md +55 -0
  536. package/skills/schmancy/textarea.md +48 -0
  537. package/skills/schmancy/theme-button.md +26 -0
  538. package/skills/schmancy/theme.md +58 -0
  539. package/skills/schmancy/tooltip.md +38 -0
  540. package/skills/schmancy/tree.md +53 -0
  541. package/skills/schmancy/typewriter.md +46 -0
  542. package/skills/schmancy/typography.md +53 -0
  543. package/skills/schmancy/utils.md +95 -0
  544. package/skills/schmancy/visually-hidden.md +41 -0
  545. package/skills/schmancy/window.md +67 -0
  546. package/src/audio/emotional-sounds.ts +2 -4
  547. package/src/autocomplete/autocomplete.ts +52 -2
  548. package/src/breadcrumb/breadcrumb.ts +109 -0
  549. package/src/breadcrumb/index.ts +1 -0
  550. package/src/button/button.ts +40 -0
  551. package/src/button/icon-button.ts +2 -1
  552. package/src/checkbox/checkbox.test.ts +113 -0
  553. package/src/checkbox/checkbox.ts +41 -1
  554. package/src/chips/filter-chip.ts +15 -0
  555. package/src/chips/input-chip.ts +7 -0
  556. package/src/date-range/date-range-helpers.ts +0 -71
  557. package/src/dialog/dialog-base.mixin.ts +11 -0
  558. package/src/dialog/dialog.component.ts +28 -8
  559. package/src/dropdown/dropdown-content.ts +3 -1
  560. package/src/form/form.test.ts +137 -0
  561. package/src/form/form.ts +142 -158
  562. package/src/form/index.ts +2 -2
  563. package/src/icons/icon.ts +1 -0
  564. package/src/index.ts +6 -0
  565. package/src/kbd/index.ts +1 -0
  566. package/src/kbd/kbd.ts +59 -0
  567. package/src/skeleton/index.ts +1 -0
  568. package/src/skeleton/skeleton.ts +78 -0
  569. package/src/splash-screen/index.ts +1 -0
  570. package/src/splash-screen/splash-screen.ts +154 -0
  571. package/src/switch/index.ts +1 -0
  572. package/src/switch/switch.test.ts +93 -0
  573. package/src/switch/switch.ts +180 -0
  574. package/src/test-utils/a11y.ts +35 -0
  575. package/src/textarea/textarea.ts +32 -2
  576. package/src/tooltip/index.ts +1 -2
  577. package/src/tree/tree.ts +27 -2
  578. package/src/visually-hidden/index.ts +1 -0
  579. package/src/visually-hidden/visually-hidden.ts +39 -0
  580. package/src/window/window-position.ts +1 -74
  581. package/types/mixins/formField.mixin.d.ts +15 -8
  582. package/types/src/audio/emotional-sounds.d.ts +0 -2
  583. package/types/src/autocomplete/autocomplete.d.ts +7 -0
  584. package/types/src/breadcrumb/breadcrumb.d.ts +38 -0
  585. package/types/src/breadcrumb/index.d.ts +1 -0
  586. package/types/src/button/button.d.ts +7 -0
  587. package/types/src/button/icon-button.d.ts +2 -1
  588. package/types/src/checkbox/checkbox.d.ts +6 -0
  589. package/types/src/checkbox/checkbox.test.d.ts +1 -0
  590. package/types/src/chips/filter-chip.d.ts +3 -0
  591. package/types/src/chips/input-chip.d.ts +1 -0
  592. package/types/src/date-range/date-range-helpers.d.ts +0 -12
  593. package/types/src/dialog/dialog.component.d.ts +6 -0
  594. package/types/src/dropdown/dropdown-content.d.ts +3 -1
  595. package/types/src/form/form-v2.d.ts +12 -63
  596. package/types/src/form/form.d.ts +58 -40
  597. package/types/src/form/form.test.d.ts +4 -0
  598. package/types/src/form/index.d.ts +1 -1
  599. package/types/src/icons/icon.d.ts +1 -0
  600. package/types/src/index.d.ts +6 -0
  601. package/types/src/kbd/index.d.ts +1 -0
  602. package/types/src/kbd/kbd.d.ts +25 -0
  603. package/types/src/skeleton/index.d.ts +1 -0
  604. package/types/src/skeleton/skeleton.d.ts +27 -0
  605. package/types/src/splash-screen/index.d.ts +1 -0
  606. package/types/src/splash-screen/splash-screen.d.ts +60 -0
  607. package/types/src/switch/index.d.ts +1 -0
  608. package/types/src/switch/switch.d.ts +54 -0
  609. package/types/src/switch/switch.test.d.ts +1 -0
  610. package/types/src/test-utils/a11y.d.ts +11 -0
  611. package/types/src/textarea/textarea.d.ts +5 -1
  612. package/types/src/tooltip/index.d.ts +0 -1
  613. package/types/src/tree/tree.d.ts +5 -0
  614. package/types/src/visually-hidden/index.d.ts +1 -0
  615. package/types/src/visually-hidden/visually-hidden.d.ts +21 -0
  616. package/types/src/window/window-position.d.ts +1 -35
  617. package/ai/INDEX.md +0 -72
  618. package/ai/tooltip.md +0 -38
  619. package/dist/ai/INDEX.md +0 -72
  620. package/dist/ai/tooltip.md +0 -38
  621. package/dist/animation-BK-8BwY8.js.map +0 -1
  622. package/dist/animation-CO_Csq84.cjs.map +0 -1
  623. package/dist/area-CRoGqD_u.js +0 -590
  624. package/dist/area-CRoGqD_u.js.map +0 -1
  625. package/dist/area-JPykB7A9.cjs +0 -12
  626. package/dist/area-JPykB7A9.cjs.map +0 -1
  627. package/dist/audio-DtYYgzYD.cjs +0 -1
  628. package/dist/audio-DtYYgzYD.cjs.map +0 -1
  629. package/dist/audio-kz8UgPTO.js +0 -335
  630. package/dist/audio-kz8UgPTO.js.map +0 -1
  631. package/dist/autocomplete-5rVhbieU.cjs +0 -111
  632. package/dist/autocomplete-5rVhbieU.cjs.map +0 -1
  633. package/dist/autocomplete-BllPQwr8.js +0 -378
  634. package/dist/autocomplete-BllPQwr8.js.map +0 -1
  635. package/dist/boat-BDTQ-du9.js +0 -347
  636. package/dist/boat-BDTQ-du9.js.map +0 -1
  637. package/dist/boat-DYEAZ8Qj.cjs +0 -80
  638. package/dist/boat-DYEAZ8Qj.cjs.map +0 -1
  639. package/dist/busy-ChDAeaKF.js +0 -167
  640. package/dist/busy-ChDAeaKF.js.map +0 -1
  641. package/dist/busy-Dj7Xn0Z0.cjs +0 -134
  642. package/dist/busy-Dj7Xn0Z0.cjs.map +0 -1
  643. package/dist/card-BvPWVEJX.cjs +0 -177
  644. package/dist/card-BvPWVEJX.cjs.map +0 -1
  645. package/dist/card-DZFPRPqs.js +0 -284
  646. package/dist/card-DZFPRPqs.js.map +0 -1
  647. package/dist/checkbox-BC_37rsG.cjs +0 -39
  648. package/dist/checkbox-BC_37rsG.cjs.map +0 -1
  649. package/dist/checkbox-GSSjqo6w.js +0 -610
  650. package/dist/checkbox-GSSjqo6w.js.map +0 -1
  651. package/dist/chips-B19XS8Xc.cjs +0 -253
  652. package/dist/chips-B19XS8Xc.cjs.map +0 -1
  653. package/dist/chips-B9oAEfE_.js +0 -645
  654. package/dist/chips-B9oAEfE_.js.map +0 -1
  655. package/dist/code-highlight-DCk5lJY-.js +0 -290
  656. package/dist/code-highlight-DCk5lJY-.js.map +0 -1
  657. package/dist/code-highlight-fSLrlgOb.cjs +0 -190
  658. package/dist/code-highlight-fSLrlgOb.cjs.map +0 -1
  659. package/dist/components-COsM6sJZ.js +0 -730
  660. package/dist/components-COsM6sJZ.js.map +0 -1
  661. package/dist/components-CyD6a7gQ.cjs +0 -73
  662. package/dist/components-CyD6a7gQ.cjs.map +0 -1
  663. package/dist/cursor-glow-Ah7VXSj7.js +0 -46
  664. package/dist/cursor-glow-Ah7VXSj7.js.map +0 -1
  665. package/dist/cursor-glow-DtSy_PJd.cjs +0 -1
  666. package/dist/cursor-glow-DtSy_PJd.cjs.map +0 -1
  667. package/dist/date-range-Sfyco9-n.js +0 -946
  668. package/dist/date-range-Sfyco9-n.js.map +0 -1
  669. package/dist/date-range-ZAaQB22I.cjs +0 -131
  670. package/dist/date-range-ZAaQB22I.cjs.map +0 -1
  671. package/dist/date-range-inline-Bl8qbiQF.js +0 -267
  672. package/dist/date-range-inline-Bl8qbiQF.js.map +0 -1
  673. package/dist/date-range-inline-m7nLjOMI.cjs +0 -43
  674. package/dist/date-range-inline-m7nLjOMI.cjs.map +0 -1
  675. package/dist/delay-7boauN6N.cjs +0 -9
  676. package/dist/delay-7boauN6N.cjs.map +0 -1
  677. package/dist/delay-CgX6m0HN.js +0 -346
  678. package/dist/delay-CgX6m0HN.js.map +0 -1
  679. package/dist/details-BHnk8l4q.cjs +0 -168
  680. package/dist/details-BHnk8l4q.cjs.map +0 -1
  681. package/dist/details-BPkUg8Cq.js +0 -293
  682. package/dist/details-BPkUg8Cq.js.map +0 -1
  683. package/dist/dialog-service-NZEvyEK-.js +0 -193
  684. package/dist/dialog-service-NZEvyEK-.js.map +0 -1
  685. package/dist/dialog-service-VnW4gkmE.cjs +0 -1
  686. package/dist/dialog-service-VnW4gkmE.cjs.map +0 -1
  687. package/dist/divider-CW9a7MMj.js +0 -87
  688. package/dist/divider-CW9a7MMj.js.map +0 -1
  689. package/dist/divider-_khrhrZo.cjs +0 -57
  690. package/dist/divider-_khrhrZo.cjs.map +0 -1
  691. package/dist/expand-Cp7-PH8b.cjs +0 -141
  692. package/dist/expand-Cp7-PH8b.cjs.map +0 -1
  693. package/dist/expand-iQ7EOMP7.js +0 -336
  694. package/dist/expand-iQ7EOMP7.js.map +0 -1
  695. package/dist/extra-IKAiJJhv.cjs +0 -31
  696. package/dist/extra-IKAiJJhv.cjs.map +0 -1
  697. package/dist/extra-wEpvEFbK.js +0 -3435
  698. package/dist/extra-wEpvEFbK.js.map +0 -1
  699. package/dist/float-BQ_urmMs.js +0 -5
  700. package/dist/float-BQ_urmMs.js.map +0 -1
  701. package/dist/float-D5rNC82i.cjs +0 -1
  702. package/dist/float-D5rNC82i.cjs.map +0 -1
  703. package/dist/flow-Bbwn6dRN.cjs.map +0 -1
  704. package/dist/flow-CUj0fDT_.js.map +0 -1
  705. package/dist/form-BqN1AGFj.cjs +0 -1
  706. package/dist/form-BqN1AGFj.cjs.map +0 -1
  707. package/dist/form-CajC5HnO.js +0 -270
  708. package/dist/form-CajC5HnO.js.map +0 -1
  709. package/dist/hashContent-DYM21p6t.js.map +0 -1
  710. package/dist/hashContent-DaeGmY-p.cjs.map +0 -1
  711. package/dist/icons-B57_93VV.cjs +0 -52
  712. package/dist/icons-B57_93VV.cjs.map +0 -1
  713. package/dist/icons-BDqiGXrO.js +0 -161
  714. package/dist/icons-BDqiGXrO.js.map +0 -1
  715. package/dist/iframe-DNHL3GIk.cjs +0 -24
  716. package/dist/iframe-DNHL3GIk.cjs.map +0 -1
  717. package/dist/iframe-WnWPIrBG.js +0 -44
  718. package/dist/iframe-WnWPIrBG.js.map +0 -1
  719. package/dist/input-BiSrTcrR.cjs +0 -51
  720. package/dist/input-BiSrTcrR.cjs.map +0 -1
  721. package/dist/input-VaXHFrRn.js +0 -364
  722. package/dist/input-VaXHFrRn.js.map +0 -1
  723. package/dist/input-chip-Dy-AiP55.cjs +0 -146
  724. package/dist/input-chip-Dy-AiP55.cjs.map +0 -1
  725. package/dist/input-chip-QejNcRnS.js +0 -301
  726. package/dist/input-chip-QejNcRnS.js.map +0 -1
  727. package/dist/intersection-BPLpqYEd.js.map +0 -1
  728. package/dist/intersection-CZpaIHeT.cjs.map +0 -1
  729. package/dist/layout-4C-6_cre.cjs +0 -1
  730. package/dist/layout-4C-6_cre.cjs.map +0 -1
  731. package/dist/layout-CnsXeCAy.js +0 -267
  732. package/dist/layout-CnsXeCAy.js.map +0 -1
  733. package/dist/layout-DNYG3phx.cjs +0 -17
  734. package/dist/layout-DNYG3phx.cjs.map +0 -1
  735. package/dist/layout-yxSlLybo.js +0 -94
  736. package/dist/layout-yxSlLybo.js.map +0 -1
  737. package/dist/lightbox-BrI1Z31s.js +0 -678
  738. package/dist/lightbox-BrI1Z31s.js.map +0 -1
  739. package/dist/lightbox-CmACf0t5.cjs +0 -202
  740. package/dist/lightbox-CmACf0t5.cjs.map +0 -1
  741. package/dist/list-Cm-jjXxM.js +0 -105
  742. package/dist/list-Cm-jjXxM.js.map +0 -1
  743. package/dist/list-swIL9VDv.cjs +0 -40
  744. package/dist/list-swIL9VDv.cjs.map +0 -1
  745. package/dist/litElement.mixin-3llHwB-8.cjs +0 -1
  746. package/dist/litElement.mixin-3llHwB-8.cjs.map +0 -1
  747. package/dist/litElement.mixin-6jJYHCrZ.js +0 -12
  748. package/dist/litElement.mixin-6jJYHCrZ.js.map +0 -1
  749. package/dist/magnetic-BZGFxAWG.js +0 -47
  750. package/dist/magnetic-BZGFxAWG.js.map +0 -1
  751. package/dist/magnetic-Dux4QwO4.cjs +0 -1
  752. package/dist/magnetic-Dux4QwO4.cjs.map +0 -1
  753. package/dist/mailbox-BuvsVaAQ.js +0 -1584
  754. package/dist/mailbox-BuvsVaAQ.js.map +0 -1
  755. package/dist/mailbox-D6LkQcN5.cjs +0 -1142
  756. package/dist/mailbox-D6LkQcN5.cjs.map +0 -1
  757. package/dist/map-CQiKAxC3.js +0 -205
  758. package/dist/map-CQiKAxC3.js.map +0 -1
  759. package/dist/map-D5NN4VET.cjs +0 -80
  760. package/dist/map-D5NN4VET.cjs.map +0 -1
  761. package/dist/menu-C1x04YZw.js +0 -51
  762. package/dist/menu-C1x04YZw.js.map +0 -1
  763. package/dist/menu-CkgMO9K5.cjs +0 -23
  764. package/dist/menu-CkgMO9K5.cjs.map +0 -1
  765. package/dist/notification-BnBgxjF-.js +0 -304
  766. package/dist/notification-BnBgxjF-.js.map +0 -1
  767. package/dist/notification-CZFEhWxc.cjs +0 -23
  768. package/dist/notification-CZFEhWxc.cjs.map +0 -1
  769. package/dist/option-BrxCVwSx.cjs +0 -43
  770. package/dist/option-BrxCVwSx.cjs.map +0 -1
  771. package/dist/option-DBO8xZwd.js +0 -97
  772. package/dist/option-DBO8xZwd.js.map +0 -1
  773. package/dist/overlay-stack-DQey9Qph.cjs.map +0 -1
  774. package/dist/overlay-stack-DT1SdaGW.js.map +0 -1
  775. package/dist/progress-Db2e4_Zd.cjs +0 -51
  776. package/dist/progress-Db2e4_Zd.cjs.map +0 -1
  777. package/dist/progress-DeiHxXo7.js +0 -128
  778. package/dist/progress-DeiHxXo7.js.map +0 -1
  779. package/dist/provide-C1aQhxYo.js +0 -107
  780. package/dist/provide-C1aQhxYo.js.map +0 -1
  781. package/dist/provide-DHnhQtCH.cjs +0 -1
  782. package/dist/provide-DHnhQtCH.cjs.map +0 -1
  783. package/dist/radio-group-Cspwd-Vw.cjs +0 -40
  784. package/dist/radio-group-Cspwd-Vw.cjs.map +0 -1
  785. package/dist/radio-group-zSO0AkJf.js +0 -105
  786. package/dist/radio-group-zSO0AkJf.js.map +0 -1
  787. package/dist/reduced-motion-D-L12p7G.js.map +0 -1
  788. package/dist/reduced-motion-Ds05GPyz.cjs.map +0 -1
  789. package/dist/rxjs-utils-BSjmI9-Q.js.map +0 -1
  790. package/dist/rxjs-utils-DCsfzeap.cjs.map +0 -1
  791. package/dist/scroll-QMCmbbDv.cjs +0 -26
  792. package/dist/scroll-QMCmbbDv.cjs.map +0 -1
  793. package/dist/scroll-cBDzye64.js +0 -112
  794. package/dist/scroll-cBDzye64.js.map +0 -1
  795. package/dist/search-C4dFHYbX.js.map +0 -1
  796. package/dist/search-Ds8tt7Et.cjs.map +0 -1
  797. package/dist/select-Ct37l3lg.cjs +0 -56
  798. package/dist/select-Ct37l3lg.cjs.map +0 -1
  799. package/dist/select-c6HbWvKP.js +0 -305
  800. package/dist/select-c6HbWvKP.js.map +0 -1
  801. package/dist/sheet-BMXcUiIm.js +0 -168
  802. package/dist/sheet-BMXcUiIm.js.map +0 -1
  803. package/dist/sheet-CQec-bCV.cjs +0 -35
  804. package/dist/sheet-CQec-bCV.cjs.map +0 -1
  805. package/dist/sheet.service-BcPV3Du4.js +0 -86
  806. package/dist/sheet.service-BcPV3Du4.js.map +0 -1
  807. package/dist/sheet.service-Dumvr1HT.cjs +0 -1
  808. package/dist/sheet.service-Dumvr1HT.cjs.map +0 -1
  809. package/dist/sound.service-Bu3EQLv2.cjs +0 -1
  810. package/dist/sound.service-Bu3EQLv2.cjs.map +0 -1
  811. package/dist/sound.service-m3BrSfuH.js +0 -2353
  812. package/dist/sound.service-m3BrSfuH.js.map +0 -1
  813. package/dist/src-BLngW2bl.js +0 -1244
  814. package/dist/src-BLngW2bl.js.map +0 -1
  815. package/dist/src-BtQVyqMy.cjs +0 -269
  816. package/dist/src-BtQVyqMy.cjs.map +0 -1
  817. package/dist/store-CorvD3bT.cjs.map +0 -1
  818. package/dist/store-DYqDLAvT.js.map +0 -1
  819. package/dist/surface-BjKZoJxK.cjs +0 -7
  820. package/dist/surface-BjKZoJxK.cjs.map +0 -1
  821. package/dist/surface-pK8hME5c.js +0 -21
  822. package/dist/surface-pK8hME5c.js.map +0 -1
  823. package/dist/surface.mixin-C5sDI1-_.cjs +0 -297
  824. package/dist/surface.mixin-C5sDI1-_.cjs.map +0 -1
  825. package/dist/surface.mixin-CBNRpJum.js +0 -320
  826. package/dist/surface.mixin-CBNRpJum.js.map +0 -1
  827. package/dist/table-BXIHX9h4.js +0 -631
  828. package/dist/table-BXIHX9h4.js.map +0 -1
  829. package/dist/table-CiqgZzSd.cjs +0 -63
  830. package/dist/table-CiqgZzSd.cjs.map +0 -1
  831. package/dist/tabs-CKa-W4qA.cjs +0 -31
  832. package/dist/tabs-CKa-W4qA.cjs.map +0 -1
  833. package/dist/tabs-nbV5eblZ.js +0 -125
  834. package/dist/tabs-nbV5eblZ.js.map +0 -1
  835. package/dist/tailwind.mixin-BCJOOX1_.js +0 -225
  836. package/dist/tailwind.mixin-BCJOOX1_.js.map +0 -1
  837. package/dist/tailwind.mixin-BF1Huas7.cjs +0 -2
  838. package/dist/tailwind.mixin-BF1Huas7.cjs.map +0 -1
  839. package/dist/textarea-Cp1ZE60O.cjs +0 -35
  840. package/dist/textarea-Cp1ZE60O.cjs.map +0 -1
  841. package/dist/textarea-D7q8exMg.js +0 -195
  842. package/dist/textarea-D7q8exMg.js.map +0 -1
  843. package/dist/theme-Da4SPq9X.cjs +0 -181
  844. package/dist/theme-Da4SPq9X.cjs.map +0 -1
  845. package/dist/theme-_VPV6Bxh.js +0 -4121
  846. package/dist/theme-_VPV6Bxh.js.map +0 -1
  847. package/dist/theme-button--sX8A-m1.js +0 -19
  848. package/dist/theme-button--sX8A-m1.js.map +0 -1
  849. package/dist/theme-button-Ci8VQ7KW.cjs +0 -8
  850. package/dist/theme-button-Ci8VQ7KW.cjs.map +0 -1
  851. package/dist/theme.events-Cv7N4Toe.js.map +0 -1
  852. package/dist/theme.events-DM4H5F2d.cjs.map +0 -1
  853. package/dist/theme.interface-CXloMUCw.js.map +0 -1
  854. package/dist/theme.interface-Da23QAYb.cjs.map +0 -1
  855. package/dist/theme.service-C_tjlqgy.cjs +0 -1
  856. package/dist/theme.service-C_tjlqgy.cjs.map +0 -1
  857. package/dist/theme.service-D9lEas89.js +0 -108
  858. package/dist/theme.service-D9lEas89.js.map +0 -1
  859. package/dist/tslib.es6-D7BIeDVB.cjs.map +0 -1
  860. package/dist/tslib.es6-ErZEp3OO.js.map +0 -1
  861. package/dist/typewriter-B2TnHPjw.cjs +0 -123
  862. package/dist/typewriter-B2TnHPjw.cjs.map +0 -1
  863. package/dist/typewriter-BrZNa8T-.js +0 -700
  864. package/dist/typewriter-BrZNa8T-.js.map +0 -1
  865. package/dist/utils-BcaKtQuA.cjs +0 -1
  866. package/dist/utils-BcaKtQuA.cjs.map +0 -1
  867. package/dist/utils-CoU7M2YS.js +0 -259
  868. package/dist/utils-CoU7M2YS.js.map +0 -1
  869. package/dist/window-CM1ycigo.js +0 -548
  870. package/dist/window-CM1ycigo.js.map +0 -1
  871. package/dist/window-Uii13x_r.cjs +0 -59
  872. package/dist/window-Uii13x_r.cjs.map +0 -1
  873. package/src/form/form-v2.ts +0 -268
  874. package/src/layout/v2/grid.ts +0 -93
  875. package/src/notification/outlet.ts +0 -16
  876. package/src/store/immer-integration.ts +0 -99
  877. package/src/tooltip/tooltip.ts +0 -216
  878. /package/dist/{animation-CO_Csq84.cjs → animation-Bcwh107v.cjs} +0 -0
  879. /package/dist/{animation-BK-8BwY8.js → animation-CXKSuUoE.js} +0 -0
  880. /package/dist/{tslib.es6-ErZEp3OO.js → decorate-D_utPUsC.js} +0 -0
  881. /package/dist/{tslib.es6-D7BIeDVB.cjs → decorate-F9CuyeHg.cjs} +0 -0
  882. /package/dist/{flow-CUj0fDT_.js → flow-CqgDEIqK.js} +0 -0
  883. /package/dist/{flow-Bbwn6dRN.cjs → flow-DSu4PLt1.cjs} +0 -0
  884. /package/dist/{hashContent-DaeGmY-p.cjs → hashContent-kKvXKFa9.cjs} +0 -0
  885. /package/dist/{hashContent-DYM21p6t.js → hashContent-nD2uWwi2.js} +0 -0
  886. /package/dist/{intersection-CZpaIHeT.cjs → intersection-D1v1UCVv.cjs} +0 -0
  887. /package/dist/{intersection-BPLpqYEd.js → intersection-LfEsy29T.js} +0 -0
  888. /package/dist/{overlay-stack-DQey9Qph.cjs → overlay-stack-CEYGD9T1.cjs} +0 -0
  889. /package/dist/{overlay-stack-DT1SdaGW.js → overlay-stack-Ca4EK2Mu.js} +0 -0
  890. /package/dist/{reduced-motion-D-L12p7G.js → reduced-motion-B83yZbcO.js} +0 -0
  891. /package/dist/{reduced-motion-Ds05GPyz.cjs → reduced-motion-DR32yKEO.cjs} +0 -0
  892. /package/dist/{rxjs-utils-BSjmI9-Q.js → rxjs-utils-Bldch1RO.js} +0 -0
  893. /package/dist/{rxjs-utils-DCsfzeap.cjs → rxjs-utils-hAgKC7vk.cjs} +0 -0
  894. /package/dist/{search-C4dFHYbX.js → search-BlGJ6uJv.js} +0 -0
  895. /package/dist/{search-Ds8tt7Et.cjs → search-C8eAOzBm.cjs} +0 -0
  896. /package/{ai → dist/skills}/animation.md +0 -0
  897. /package/{ai → dist/skills}/area.md +0 -0
  898. /package/{ai → dist/skills}/audio.md +0 -0
  899. /package/{ai → dist/skills}/autocomplete.md +0 -0
  900. /package/{ai → dist/skills}/avatar.md +0 -0
  901. /package/{ai → dist/skills}/badge.md +0 -0
  902. /package/{ai → dist/skills}/boat.md +0 -0
  903. /package/{ai → dist/skills}/busy.md +0 -0
  904. /package/{ai → dist/skills}/button.md +0 -0
  905. /package/{ai → dist/skills}/card.md +0 -0
  906. /package/{ai → dist/skills}/charts.md +0 -0
  907. /package/{ai → dist/skills}/checkbox.md +0 -0
  908. /package/{ai → dist/skills}/chips.md +0 -0
  909. /package/{ai → dist/skills}/code-highlight.md +0 -0
  910. /package/{ai → dist/skills}/connectivity.md +0 -0
  911. /package/{ai → dist/skills}/content-drawer.md +0 -0
  912. /package/{ai → dist/skills}/date-range-inline.md +0 -0
  913. /package/{ai → dist/skills}/date-range.md +0 -0
  914. /package/{ai → dist/skills}/delay.md +0 -0
  915. /package/{ai → dist/skills}/details.md +0 -0
  916. /package/{ai → dist/skills}/dialog.md +0 -0
  917. /package/{ai → dist/skills}/directives.md +0 -0
  918. /package/{ai → dist/skills}/discovery.md +0 -0
  919. /package/{ai → dist/skills}/divider.md +0 -0
  920. /package/{ai → dist/skills}/dropdown.md +0 -0
  921. /package/{ai → dist/skills}/expand.md +0 -0
  922. /package/{ai → dist/skills}/extra.md +0 -0
  923. /package/{ai → dist/skills}/float.md +0 -0
  924. /package/{ai → dist/skills}/form.md +0 -0
  925. /package/{ai → dist/skills}/icons.md +0 -0
  926. /package/{ai → dist/skills}/iframe.md +0 -0
  927. /package/{ai → dist/skills}/input.md +0 -0
  928. /package/{ai → dist/skills}/json.md +0 -0
  929. /package/{ai → dist/skills}/layout.md +0 -0
  930. /package/{ai → dist/skills}/lightbox.md +0 -0
  931. /package/{ai → dist/skills}/list.md +0 -0
  932. /package/{ai → dist/skills}/mailbox.md +0 -0
  933. /package/{ai → dist/skills}/map.md +0 -0
  934. /package/{ai → dist/skills}/menu.md +0 -0
  935. /package/{ai → dist/skills}/mixins.md +0 -0
  936. /package/{ai → dist/skills}/nav-drawer.md +0 -0
  937. /package/{ai → dist/skills}/navigation-bar.md +0 -0
  938. /package/{ai → dist/skills}/navigation-rail.md +0 -0
  939. /package/{ai → dist/skills}/notification.md +0 -0
  940. /package/{ai → dist/skills}/option.md +0 -0
  941. /package/{ai → dist/skills}/page.md +0 -0
  942. /package/{ai → dist/skills}/progress.md +0 -0
  943. /package/{ai → dist/skills}/qr-scanner.md +0 -0
  944. /package/{ai → dist/skills}/radio-group.md +0 -0
  945. /package/{ai → dist/skills}/range.md +0 -0
  946. /package/{ai → dist/skills}/rxjs-utils.md +0 -0
  947. /package/dist/{ai → skills/schmancy}/animation.md +0 -0
  948. /package/dist/{ai → skills/schmancy}/area.md +0 -0
  949. /package/dist/{ai → skills/schmancy}/audio.md +0 -0
  950. /package/dist/{ai → skills/schmancy}/autocomplete.md +0 -0
  951. /package/dist/{ai → skills/schmancy}/avatar.md +0 -0
  952. /package/dist/{ai → skills/schmancy}/badge.md +0 -0
  953. /package/dist/{ai → skills/schmancy}/boat.md +0 -0
  954. /package/dist/{ai → skills/schmancy}/busy.md +0 -0
  955. /package/dist/{ai → skills/schmancy}/button.md +0 -0
  956. /package/dist/{ai → skills/schmancy}/card.md +0 -0
  957. /package/dist/{ai → skills/schmancy}/charts.md +0 -0
  958. /package/dist/{ai → skills/schmancy}/checkbox.md +0 -0
  959. /package/dist/{ai → skills/schmancy}/chips.md +0 -0
  960. /package/dist/{ai → skills/schmancy}/code-highlight.md +0 -0
  961. /package/dist/{ai → skills/schmancy}/connectivity.md +0 -0
  962. /package/dist/{ai → skills/schmancy}/content-drawer.md +0 -0
  963. /package/dist/{ai → skills/schmancy}/date-range-inline.md +0 -0
  964. /package/dist/{ai → skills/schmancy}/date-range.md +0 -0
  965. /package/dist/{ai → skills/schmancy}/delay.md +0 -0
  966. /package/dist/{ai → skills/schmancy}/details.md +0 -0
  967. /package/dist/{ai → skills/schmancy}/dialog.md +0 -0
  968. /package/dist/{ai → skills/schmancy}/directives.md +0 -0
  969. /package/dist/{ai → skills/schmancy}/discovery.md +0 -0
  970. /package/dist/{ai → skills/schmancy}/divider.md +0 -0
  971. /package/dist/{ai → skills/schmancy}/dropdown.md +0 -0
  972. /package/dist/{ai → skills/schmancy}/expand.md +0 -0
  973. /package/dist/{ai → skills/schmancy}/extra.md +0 -0
  974. /package/dist/{ai → skills/schmancy}/float.md +0 -0
  975. /package/dist/{ai → skills/schmancy}/form.md +0 -0
  976. /package/dist/{ai → skills/schmancy}/icons.md +0 -0
  977. /package/dist/{ai → skills/schmancy}/iframe.md +0 -0
  978. /package/dist/{ai → skills/schmancy}/input.md +0 -0
  979. /package/dist/{ai → skills/schmancy}/json.md +0 -0
  980. /package/dist/{ai → skills/schmancy}/layout.md +0 -0
  981. /package/dist/{ai → skills/schmancy}/lightbox.md +0 -0
  982. /package/dist/{ai → skills/schmancy}/list.md +0 -0
  983. /package/dist/{ai → skills/schmancy}/mailbox.md +0 -0
  984. /package/dist/{ai → skills/schmancy}/map.md +0 -0
  985. /package/dist/{ai → skills/schmancy}/menu.md +0 -0
  986. /package/dist/{ai → skills/schmancy}/mixins.md +0 -0
  987. /package/dist/{ai → skills/schmancy}/nav-drawer.md +0 -0
  988. /package/dist/{ai → skills/schmancy}/navigation-bar.md +0 -0
  989. /package/dist/{ai → skills/schmancy}/navigation-rail.md +0 -0
  990. /package/dist/{ai → skills/schmancy}/notification.md +0 -0
  991. /package/dist/{ai → skills/schmancy}/option.md +0 -0
  992. /package/dist/{ai → skills/schmancy}/page.md +0 -0
  993. /package/dist/{ai → skills/schmancy}/progress.md +0 -0
  994. /package/dist/{ai → skills/schmancy}/qr-scanner.md +0 -0
  995. /package/dist/{ai → skills/schmancy}/radio-group.md +0 -0
  996. /package/dist/{ai → skills/schmancy}/range.md +0 -0
  997. /package/dist/{ai → skills/schmancy}/rxjs-utils.md +0 -0
  998. /package/{ai → dist/skills/schmancy}/select.md +0 -0
  999. /package/{ai → dist/skills/schmancy}/sheet.md +0 -0
  1000. /package/{ai → dist/skills/schmancy}/slider.md +0 -0
  1001. /package/{ai → dist/skills/schmancy}/steps.md +0 -0
  1002. /package/{ai → dist/skills/schmancy}/store.md +0 -0
  1003. /package/{ai → dist/skills/schmancy}/surface.md +0 -0
  1004. /package/{ai → dist/skills/schmancy}/table.md +0 -0
  1005. /package/{ai → dist/skills/schmancy}/tabs.md +0 -0
  1006. /package/{ai → dist/skills/schmancy}/teleport.md +0 -0
  1007. /package/{ai → dist/skills/schmancy}/textarea.md +0 -0
  1008. /package/{ai → dist/skills/schmancy}/theme-button.md +0 -0
  1009. /package/{ai → dist/skills/schmancy}/theme.md +0 -0
  1010. /package/{ai → dist/skills/schmancy}/tree.md +0 -0
  1011. /package/{ai → dist/skills/schmancy}/typewriter.md +0 -0
  1012. /package/{ai → dist/skills/schmancy}/typography.md +0 -0
  1013. /package/{ai → dist/skills/schmancy}/utils.md +0 -0
  1014. /package/{ai → dist/skills/schmancy}/window.md +0 -0
  1015. /package/dist/{ai → skills}/select.md +0 -0
  1016. /package/dist/{ai → skills}/sheet.md +0 -0
  1017. /package/dist/{ai → skills}/slider.md +0 -0
  1018. /package/dist/{ai → skills}/steps.md +0 -0
  1019. /package/dist/{ai → skills}/store.md +0 -0
  1020. /package/dist/{ai → skills}/surface.md +0 -0
  1021. /package/dist/{ai → skills}/table.md +0 -0
  1022. /package/dist/{ai → skills}/tabs.md +0 -0
  1023. /package/dist/{ai → skills}/teleport.md +0 -0
  1024. /package/dist/{ai → skills}/textarea.md +0 -0
  1025. /package/dist/{ai → skills}/theme-button.md +0 -0
  1026. /package/dist/{ai → skills}/theme.md +0 -0
  1027. /package/dist/{ai → skills}/tree.md +0 -0
  1028. /package/dist/{ai → skills}/typewriter.md +0 -0
  1029. /package/dist/{ai → skills}/typography.md +0 -0
  1030. /package/dist/{ai → skills}/utils.md +0 -0
  1031. /package/dist/{ai → skills}/window.md +0 -0
  1032. /package/dist/{store-DYqDLAvT.js → store-Bmj6rvZY.js} +0 -0
  1033. /package/dist/{store-CorvD3bT.cjs → store-CO4nJyGj.cjs} +0 -0
  1034. /package/dist/{theme.events-Cv7N4Toe.js → theme.events-Bw3mYjUA.js} +0 -0
  1035. /package/dist/{theme.events-DM4H5F2d.cjs → theme.events-EznKK2Y0.cjs} +0 -0
  1036. /package/dist/{theme.interface-Da23QAYb.cjs → theme.interface-CM26m9te.cjs} +0 -0
  1037. /package/dist/{theme.interface-CXloMUCw.js → theme.interface-FAUIgbIq.js} +0 -0
@@ -0,0 +1,60 @@
1
+ export type SchmancySplashScreenDoneEvent = CustomEvent<void>;
2
+ declare const SchmancySplashScreen_base: CustomElementConstructor & import("../../mixins").Constructor<import("lit").LitElement> & import("../../mixins").Constructor<import("../../mixins").IBaseMixin>;
3
+ /**
4
+ * Full-viewport splash overlay that dismisses once a minimum duration has
5
+ * elapsed and (optionally) an external `ready` signal has fired. The splash
6
+ * fades out while the underlying app content fades in.
7
+ *
8
+ * Bring-your-own visuals: the `splash` slot is empty by default so the
9
+ * component pulls in no dependencies. Provide a logo, spinner, or
10
+ * animation from the consumer side.
11
+ *
12
+ * @element schmancy-splash-screen
13
+ * @slot splash - Content rendered on the splash layer (logo, spinner, etc.).
14
+ * @slot - Default slot for the actual app content, revealed once dismissed.
15
+ * @fires schmancy-splash-done - `CustomEvent<void>` when the splash dismisses.
16
+ *
17
+ * @example
18
+ * ```html
19
+ * <schmancy-splash-screen min-duration="1200">
20
+ * <my-logo slot="splash"></my-logo>
21
+ * <my-app></my-app>
22
+ * </schmancy-splash-screen>
23
+ * ```
24
+ */
25
+ export default class SchmancySplashScreen extends SchmancySplashScreen_base {
26
+ /**
27
+ * Minimum duration (ms) the splash layer stays visible. Prevents a flash
28
+ * when the app loads faster than expected.
29
+ */
30
+ minDuration: number;
31
+ /**
32
+ * When true, the splash dismisses on the `minDuration` timer alone.
33
+ * When false (default), it additionally waits for an external ready signal
34
+ * (a `ready` event on this element, or a call to `this.ready()`).
35
+ */
36
+ auto: boolean;
37
+ /**
38
+ * When true, the splash starts hidden. Use this for imperative control.
39
+ */
40
+ initiallyHidden: boolean;
41
+ private _visible;
42
+ connectedCallback(): void;
43
+ /**
44
+ * Imperative API: signal that the app is ready and dismiss the splash
45
+ * after the minimum duration has elapsed.
46
+ */
47
+ ready(): void;
48
+ /**
49
+ * Force the splash to show again (e.g. between route transitions).
50
+ */
51
+ show(): void;
52
+ private _dismiss;
53
+ render(): import("lit-html").TemplateResult<1>;
54
+ }
55
+ declare global {
56
+ interface HTMLElementTagNameMap {
57
+ 'schmancy-splash-screen': SchmancySplashScreen;
58
+ }
59
+ }
60
+ export {};
@@ -0,0 +1 @@
1
+ export * from './switch';
@@ -0,0 +1,54 @@
1
+ import { LitElement } from 'lit';
2
+ export type SchmancySwitchChangeEvent = CustomEvent<{
3
+ value: boolean;
4
+ }>;
5
+ declare const SchmancySwitch_base: import("@mixins/index").Constructor<CustomElementConstructor> & import("@mixins/index").Constructor<import("@mixins/index").ITailwindElementMixin> & import("@mixins/index").Constructor<LitElement> & import("@mixins/index").Constructor<import("@mixins/index").IBaseMixin>;
6
+ /**
7
+ * Binary on/off control. Form-associated, keyboard-accessible, semantically a
8
+ * switch (ARIA role="switch"). Distinct from `schmancy-checkbox`: a switch
9
+ * represents an immediate state change, a checkbox represents a selection in
10
+ * a form to be submitted.
11
+ *
12
+ * @element schmancy-switch
13
+ * @fires change - `CustomEvent<{ value: boolean }>` when the state changes.
14
+ * @attr checked - Initial checked state (also reflected via `value`).
15
+ * @attr disabled - Disables interaction.
16
+ * @attr required - Requires the switch to be on for form validity.
17
+ * @attr name - Form field name for submission.
18
+ * @csspart track - The background track.
19
+ * @csspart thumb - The moving thumb.
20
+ */
21
+ export declare class SchmancySwitch extends SchmancySwitch_base {
22
+ static formAssociated: boolean;
23
+ private internals;
24
+ checked: boolean;
25
+ disabled: boolean;
26
+ required: boolean;
27
+ name: string;
28
+ value: string;
29
+ label: string;
30
+ protected static shadowRootOptions: {
31
+ delegatesFocus: boolean;
32
+ clonable?: boolean;
33
+ customElementRegistry?: CustomElementRegistry;
34
+ mode: ShadowRootMode;
35
+ serializable?: boolean;
36
+ slotAssignment?: SlotAssignmentMode;
37
+ };
38
+ constructor();
39
+ get form(): HTMLFormElement | null;
40
+ protected updated(changed: Map<string, unknown>): void;
41
+ formResetCallback(): void;
42
+ formDisabledCallback(disabled: boolean): void;
43
+ checkValidity(): boolean;
44
+ reportValidity(): boolean;
45
+ private _toggle;
46
+ private _onKeydown;
47
+ render(): import("lit-html").TemplateResult<1>;
48
+ }
49
+ declare global {
50
+ interface HTMLElementTagNameMap {
51
+ 'schmancy-switch': SchmancySwitch;
52
+ }
53
+ }
54
+ export {};
@@ -0,0 +1 @@
1
+ import './switch';
@@ -0,0 +1,11 @@
1
+ import { type ElementContext, type RunOptions, type Result } from 'axe-core';
2
+ /**
3
+ * Run axe-core on the given element (or document) and assert no violations.
4
+ * Throws a readable failure with a summary of violations so test output is
5
+ * immediately actionable.
6
+ *
7
+ * Keep the axe rule set minimal and appropriate for component tests — the
8
+ * defaults include many rules that only make sense at the page level (e.g.
9
+ * `region`, `landmark-one-main`). Override via `options.rules` when needed.
10
+ */
11
+ export declare function expectNoA11yViolations(context?: ElementContext, options?: RunOptions): Promise<Result[]>;
@@ -1,4 +1,4 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, type PropertyValues } from 'lit';
2
2
  declare const SchmancyTextarea_base: import("@mixins/index").Constructor<CustomElementConstructor> & import("@mixins/index").Constructor<import("@mixins/index").ITailwindElementMixin> & import("@mixins/index").Constructor<LitElement> & import("@mixins/index").Constructor<import("@mixins/index").IBaseMixin>;
3
3
  /**
4
4
  * Textarea component with auto-resize and form integration.
@@ -24,6 +24,7 @@ export default class SchmancyTextarea extends SchmancyTextarea_base {
24
24
  static formAssociated: boolean;
25
25
  internals: ElementInternals | undefined;
26
26
  textareaRef: import("lit-html/directives/ref").Ref<HTMLTextAreaElement>;
27
+ private readonly _a11yId;
27
28
  /**
28
29
  * The label of the control.
29
30
  * @attr
@@ -141,6 +142,9 @@ export default class SchmancyTextarea extends SchmancyTextarea_base {
141
142
  hint: string | undefined;
142
143
  error: boolean;
143
144
  constructor();
145
+ protected willUpdate(changed: PropertyValues): void;
146
+ formResetCallback(): void;
147
+ formDisabledCallback(disabled: boolean): void;
144
148
  firstUpdated(): void;
145
149
  get form(): HTMLFormElement;
146
150
  /** Checks for validity of the control and shows the browser message if it's invalid. */
@@ -1,2 +1 @@
1
1
  export * from './tooltip.directive';
2
- export * from './tooltip';
@@ -12,6 +12,11 @@ export declare class SchmancyTree extends SchmancyTree_base {
12
12
  toggler: HTMLSlotElement;
13
13
  defaultSlot: HTMLSlotElement;
14
14
  chevron: HTMLElement;
15
+ private readonly _a11yId;
16
+ private get _contentId();
17
+ /** ElementInternals — broadcasts `:state(open)` for consumer CSS. */
18
+ private readonly _internals;
19
+ updated(changed: Map<string, unknown>): void;
15
20
  firstUpdated(): void;
16
21
  render(): import("lit-html").TemplateResult<1>;
17
22
  }
@@ -0,0 +1 @@
1
+ export * from './visually-hidden';
@@ -0,0 +1,21 @@
1
+ declare const SchmancyVisuallyHidden_base: import("@mixins/index").Constructor<CustomElementConstructor> & import("@mixins/index").Constructor<import("@mixins/index").ITailwindElementMixin> & import("@mixins/index").Constructor<import("lit").LitElement> & import("@mixins/index").Constructor<import("@mixins/index").IBaseMixin>;
2
+ /**
3
+ * Hides content visually while keeping it in the accessibility tree. Use for
4
+ * screen-reader-only labels, supplemental descriptions, and live-region text
5
+ * that sighted users don't need to see.
6
+ *
7
+ * Uses the WCAG-recommended clip pattern rather than `display: none` or
8
+ * `visibility: hidden` so assistive tech still reads the content.
9
+ *
10
+ * @element schmancy-visually-hidden
11
+ * @slot - Content hidden from sighted users but exposed to assistive tech.
12
+ */
13
+ export declare class SchmancyVisuallyHidden extends SchmancyVisuallyHidden_base {
14
+ render(): import("lit-html").TemplateResult<1>;
15
+ }
16
+ declare global {
17
+ interface HTMLElementTagNameMap {
18
+ 'schmancy-visually-hidden': SchmancyVisuallyHidden;
19
+ }
20
+ }
21
+ export {};
@@ -10,7 +10,7 @@
10
10
  * const resolved = resolveOverlap(projected, neighbors, { width: 1440, height: 900 })
11
11
  * // → { left: 144, top: 444, width: 360, height: 500 } (cascaded away from conflict)
12
12
  */
13
- import type { WindowBounds, WindowRecord, SnapCorner } from './window-registry.js';
13
+ import type { WindowBounds, WindowRecord } from './window-registry.js';
14
14
  /** Check if two rectangles overlap (edges touching does NOT count as overlap) */
15
15
  export declare function rectsOverlap(a: WindowBounds, b: WindowBounds): boolean;
16
16
  /**
@@ -21,17 +21,6 @@ export declare function resolveOverlap(candidate: WindowBounds, existing: Window
21
21
  width: number;
22
22
  height: number;
23
23
  }): WindowBounds;
24
- /**
25
- * Snap window bounds to a corner with standard edge gap.
26
- */
27
- export declare function snapToCorner(bounds: WindowBounds, corner: SnapCorner, viewport: {
28
- width: number;
29
- height: number;
30
- }, bottomOffset: number): WindowBounds;
31
- /**
32
- * Place a window flush beside a neighbor.
33
- */
34
- export declare function snapToNeighbor(bounds: WindowBounds, neighbor: WindowBounds, side: 'left' | 'right'): WindowBounds;
35
24
  /**
36
25
  * Clamp bounds so the window stays fully within the viewport.
37
26
  */
@@ -39,26 +28,3 @@ export declare function clampToViewport(bounds: WindowBounds, viewport: {
39
28
  width: number;
40
29
  height: number;
41
30
  }): WindowBounds;
42
- /**
43
- * Convert corner-relative offset (used by the old float) to absolute viewport bounds.
44
- */
45
- export declare function cornerOffsetToAbsolute(corner: SnapCorner, offset: {
46
- x: number;
47
- y: number;
48
- }, size: {
49
- width: number;
50
- height: number;
51
- }, viewport: {
52
- width: number;
53
- height: number;
54
- }, bottomOffset: number): WindowBounds;
55
- /**
56
- * Convert absolute viewport bounds back to corner-relative offset.
57
- */
58
- export declare function absoluteToCornerOffset(corner: SnapCorner, bounds: WindowBounds, viewport: {
59
- width: number;
60
- height: number;
61
- }, bottomOffset: number): {
62
- x: number;
63
- y: number;
64
- };
package/ai/INDEX.md DELETED
@@ -1,72 +0,0 @@
1
- # Schmancy — Documentation Index
2
-
3
- A Web Component UI library on Lit + RxJS + Tailwind CSS.
4
-
5
- ## Foundations
6
-
7
- The framework pieces — touch before components.
8
-
9
- - [Area](./area.md) — `<schmancy-area>`, `<schmancy-route>`, `area.push()`, `lazy()` for routing.
10
- - [Store](./store.md) — `createContext`, `@select`, `@selectItem`, storage backends.
11
- - [Mixins](./mixins.md) — `$LitElement` base class.
12
- - [Theme](./theme.md) — `<schmancy-theme>`, color scheme, CSS variables.
13
- - [Directives](./directives.md) — Lit directives for physics, effects, text, visibility, interaction.
14
- - [Animation](./animation.md) — Spring presets (`SPRING_SMOOTH`, etc.), `createAnimation`.
15
-
16
- ## Components by job
17
-
18
- ### Display
19
- [Typography](./typography.md) · [Icons](./icons.md) · [Avatar](./avatar.md) · [Divider](./divider.md) · [Badge](./badge.md) · [Code Highlight](./code-highlight.md) · [Typewriter](./typewriter.md) · [JSON](./json.md) · [Iframe](./iframe.md) · [Map](./map.md) · [Charts](./charts.md)
20
-
21
- ### Surfaces & layout
22
- [Surface](./surface.md) · [Card](./card.md) · [Scroll / Grid / Flex](./layout.md) · [Page](./page.md) · [Content Drawer](./content-drawer.md) · [Window](./window.md) · [Boat](./boat.md) · [Float](./float.md)
23
-
24
- ### Forms
25
- [Form](./form.md) · [Input](./input.md) · [Textarea](./textarea.md) · [Select](./select.md) · [Autocomplete](./autocomplete.md) · [Option](./option.md) · [Checkbox](./checkbox.md) · [Radio Group](./radio-group.md) · [Chips](./chips.md) · [Date Range](./date-range.md) · [Date Range Inline](./date-range-inline.md) · [Range](./range.md) · [Extra (Country/Timezone)](./extra.md)
26
-
27
- ### Navigation
28
- [Nav Drawer](./nav-drawer.md) · [Tabs](./tabs.md) · [Navigation Bar](./navigation-bar.md) · [Navigation Rail](./navigation-rail.md) · [Steps](./steps.md) · [Teleport](./teleport.md) · [Theme Button](./theme-button.md)
29
-
30
- ### Overlays
31
- [Dialog](./dialog.md) · [Sheet](./sheet.md) · [Notification](./notification.md) · [Menu](./menu.md) · [Dropdown](./dropdown.md) · [Tooltip](./tooltip.md) · [Lightbox](./lightbox.md) · [Expand](./expand.md)
32
-
33
- ### Interactive
34
- [Button](./button.md) · [List](./list.md) · [Details](./details.md) · [Table](./table.md) · [Tree](./tree.md) · [Slider](./slider.md) · [QR Scanner](./qr-scanner.md)
35
-
36
- ### Feedback
37
- [Progress](./progress.md) · [Busy](./busy.md) · [Connectivity](./connectivity.md) · [Delay](./delay.md)
38
-
39
- ### Domain
40
- [Mailbox](./mailbox.md)
41
-
42
- ## Services (imperative APIs)
43
-
44
- | Service | Purpose |
45
- |---------|---------|
46
- | `area` | Route navigation (see [area](./area.md)) |
47
- | `$dialog` | Open dialogs (see [dialog](./dialog.md)) |
48
- | `$notify` | Toast notifications (see [notification](./notification.md)) |
49
- | `schmancyContentDrawer` | Side panel (see [content-drawer](./content-drawer.md)) |
50
- | `theme` | Theme state, `fullscreen$` (see [theme](./theme.md)) |
51
- | `sound` | Audio feedback (see [audio](./audio.md)) |
52
- | `overlayStack` | Z-index coordinator (see [utils](./utils.md)) |
53
- | `windowManager` | Window registry (see [window](./window.md)) |
54
-
55
- ## Utilities
56
-
57
- [Discovery](./discovery.md) — cross-shadow component lookup.
58
- [RxJS Utils](./rxjs-utils.md) — `waitForElement`, `waitUntil`, `mutationObserver`.
59
- [Utils](./utils.md) — `similarity`, `numbers`, `overlayStack`, `intersection$`, `hashContent`.
60
- [Audio](./audio.md) — synthesized feedback sounds.
61
-
62
- ## Conventions
63
-
64
- - Lists use `repeat(items, item => item.id, tpl)`.
65
- - View switching uses `cache(...)`.
66
- - Expensive work uses `guard([deps], fn)`.
67
- - DOM access uses `ref(createRef())`.
68
- - Conditionals use `when(...)`, `choose(...)`, `ifDefined(...)`.
69
- - All RxJS subscriptions end with `.pipe(takeUntil(this.disconnecting))`.
70
- - Don't use `setTimeout` / `setInterval` / `addEventListener` — use RxJS (`timer`, `interval`, `fromEvent`).
71
- - Colors come from `--schmancy-sys-color-*` CSS vars or Tailwind theme classes.
72
- - `classMap(...)` must be the sole expression in `class=`; never mix with string interpolation.
package/ai/tooltip.md DELETED
@@ -1,38 +0,0 @@
1
- # tooltip (directive)
2
-
3
- > Lit directive that adds a positioned tooltip to any element on hover/focus.
4
-
5
- ## Usage
6
- ```typescript
7
- import { tooltip } from '@mhmo91/schmancy'
8
-
9
- html`<button ${tooltip('Click to save')}>Save</button>`
10
- ```
11
-
12
- ## Parameters
13
- | Parameter | Type | Default | Description |
14
- |-----------|------|---------|-------------|
15
- | text | string | required | Tooltip text content |
16
- | options.position | `'top'\|'right'\|'bottom'\|'left'` | `'top'` | Tooltip placement |
17
- | options.delay | number | `300` | Show delay in ms |
18
- | options.showArrow | boolean | `true` | Show arrow indicator |
19
-
20
- ## Examples
21
- ```html
22
- <!-- Bottom positioned -->
23
- <schmancy-icon-button ${tooltip('Delete item', { position: 'bottom' })}>
24
- delete
25
- </schmancy-icon-button>
26
-
27
- <!-- No delay, no arrow -->
28
- <span ${tooltip('Status: Active', { delay: 0, showArrow: false })}>
29
- Active
30
- </span>
31
-
32
- <!-- Right positioned -->
33
- <div ${tooltip('More info here', { position: 'right' })}>
34
- Hover me
35
- </div>
36
- ```
37
-
38
- Uses Floating UI for smart positioning with automatic flipping when near viewport edges. Accessible via `aria-describedby`. Closes on Escape key.
package/dist/ai/INDEX.md DELETED
@@ -1,72 +0,0 @@
1
- # Schmancy — Documentation Index
2
-
3
- A Web Component UI library on Lit + RxJS + Tailwind CSS.
4
-
5
- ## Foundations
6
-
7
- The framework pieces — touch before components.
8
-
9
- - [Area](./area.md) — `<schmancy-area>`, `<schmancy-route>`, `area.push()`, `lazy()` for routing.
10
- - [Store](./store.md) — `createContext`, `@select`, `@selectItem`, storage backends.
11
- - [Mixins](./mixins.md) — `$LitElement` base class.
12
- - [Theme](./theme.md) — `<schmancy-theme>`, color scheme, CSS variables.
13
- - [Directives](./directives.md) — Lit directives for physics, effects, text, visibility, interaction.
14
- - [Animation](./animation.md) — Spring presets (`SPRING_SMOOTH`, etc.), `createAnimation`.
15
-
16
- ## Components by job
17
-
18
- ### Display
19
- [Typography](./typography.md) · [Icons](./icons.md) · [Avatar](./avatar.md) · [Divider](./divider.md) · [Badge](./badge.md) · [Code Highlight](./code-highlight.md) · [Typewriter](./typewriter.md) · [JSON](./json.md) · [Iframe](./iframe.md) · [Map](./map.md) · [Charts](./charts.md)
20
-
21
- ### Surfaces & layout
22
- [Surface](./surface.md) · [Card](./card.md) · [Scroll / Grid / Flex](./layout.md) · [Page](./page.md) · [Content Drawer](./content-drawer.md) · [Window](./window.md) · [Boat](./boat.md) · [Float](./float.md)
23
-
24
- ### Forms
25
- [Form](./form.md) · [Input](./input.md) · [Textarea](./textarea.md) · [Select](./select.md) · [Autocomplete](./autocomplete.md) · [Option](./option.md) · [Checkbox](./checkbox.md) · [Radio Group](./radio-group.md) · [Chips](./chips.md) · [Date Range](./date-range.md) · [Date Range Inline](./date-range-inline.md) · [Range](./range.md) · [Extra (Country/Timezone)](./extra.md)
26
-
27
- ### Navigation
28
- [Nav Drawer](./nav-drawer.md) · [Tabs](./tabs.md) · [Navigation Bar](./navigation-bar.md) · [Navigation Rail](./navigation-rail.md) · [Steps](./steps.md) · [Teleport](./teleport.md) · [Theme Button](./theme-button.md)
29
-
30
- ### Overlays
31
- [Dialog](./dialog.md) · [Sheet](./sheet.md) · [Notification](./notification.md) · [Menu](./menu.md) · [Dropdown](./dropdown.md) · [Tooltip](./tooltip.md) · [Lightbox](./lightbox.md) · [Expand](./expand.md)
32
-
33
- ### Interactive
34
- [Button](./button.md) · [List](./list.md) · [Details](./details.md) · [Table](./table.md) · [Tree](./tree.md) · [Slider](./slider.md) · [QR Scanner](./qr-scanner.md)
35
-
36
- ### Feedback
37
- [Progress](./progress.md) · [Busy](./busy.md) · [Connectivity](./connectivity.md) · [Delay](./delay.md)
38
-
39
- ### Domain
40
- [Mailbox](./mailbox.md)
41
-
42
- ## Services (imperative APIs)
43
-
44
- | Service | Purpose |
45
- |---------|---------|
46
- | `area` | Route navigation (see [area](./area.md)) |
47
- | `$dialog` | Open dialogs (see [dialog](./dialog.md)) |
48
- | `$notify` | Toast notifications (see [notification](./notification.md)) |
49
- | `schmancyContentDrawer` | Side panel (see [content-drawer](./content-drawer.md)) |
50
- | `theme` | Theme state, `fullscreen$` (see [theme](./theme.md)) |
51
- | `sound` | Audio feedback (see [audio](./audio.md)) |
52
- | `overlayStack` | Z-index coordinator (see [utils](./utils.md)) |
53
- | `windowManager` | Window registry (see [window](./window.md)) |
54
-
55
- ## Utilities
56
-
57
- [Discovery](./discovery.md) — cross-shadow component lookup.
58
- [RxJS Utils](./rxjs-utils.md) — `waitForElement`, `waitUntil`, `mutationObserver`.
59
- [Utils](./utils.md) — `similarity`, `numbers`, `overlayStack`, `intersection$`, `hashContent`.
60
- [Audio](./audio.md) — synthesized feedback sounds.
61
-
62
- ## Conventions
63
-
64
- - Lists use `repeat(items, item => item.id, tpl)`.
65
- - View switching uses `cache(...)`.
66
- - Expensive work uses `guard([deps], fn)`.
67
- - DOM access uses `ref(createRef())`.
68
- - Conditionals use `when(...)`, `choose(...)`, `ifDefined(...)`.
69
- - All RxJS subscriptions end with `.pipe(takeUntil(this.disconnecting))`.
70
- - Don't use `setTimeout` / `setInterval` / `addEventListener` — use RxJS (`timer`, `interval`, `fromEvent`).
71
- - Colors come from `--schmancy-sys-color-*` CSS vars or Tailwind theme classes.
72
- - `classMap(...)` must be the sole expression in `class=`; never mix with string interpolation.
@@ -1,38 +0,0 @@
1
- # tooltip (directive)
2
-
3
- > Lit directive that adds a positioned tooltip to any element on hover/focus.
4
-
5
- ## Usage
6
- ```typescript
7
- import { tooltip } from '@mhmo91/schmancy'
8
-
9
- html`<button ${tooltip('Click to save')}>Save</button>`
10
- ```
11
-
12
- ## Parameters
13
- | Parameter | Type | Default | Description |
14
- |-----------|------|---------|-------------|
15
- | text | string | required | Tooltip text content |
16
- | options.position | `'top'\|'right'\|'bottom'\|'left'` | `'top'` | Tooltip placement |
17
- | options.delay | number | `300` | Show delay in ms |
18
- | options.showArrow | boolean | `true` | Show arrow indicator |
19
-
20
- ## Examples
21
- ```html
22
- <!-- Bottom positioned -->
23
- <schmancy-icon-button ${tooltip('Delete item', { position: 'bottom' })}>
24
- delete
25
- </schmancy-icon-button>
26
-
27
- <!-- No delay, no arrow -->
28
- <span ${tooltip('Status: Active', { delay: 0, showArrow: false })}>
29
- Active
30
- </span>
31
-
32
- <!-- Right positioned -->
33
- <div ${tooltip('More info here', { position: 'right' })}>
34
- Hover me
35
- </div>
36
- ```
37
-
38
- Uses Floating UI for smart positioning with automatic flipping when near viewport edges. Accessible via `aria-describedby`. Closes on Escape key.
@@ -1 +0,0 @@
1
- {"version":3,"file":"animation-BK-8BwY8.js","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":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"animation-CO_Csq84.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":"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"}