@mhmo91/schmancy 0.10.24 → 0.10.25

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 (426) hide show
  1. package/dist/agent/{overlay.confirm-body-CvdVfCnN.js → overlay.confirm-body-DozUyDYx.js} +242 -242
  2. package/dist/agent/{overlay.confirm-body-CvdVfCnN.js.map → overlay.confirm-body-DozUyDYx.js.map} +1 -1
  3. package/dist/agent/schmancy.agent.js +5658 -2927
  4. package/dist/agent/schmancy.agent.js.map +1 -1
  5. package/dist/{area-A_oUP4P1.js → area-1EG1LrkX.js} +1 -1
  6. package/dist/{area-A_oUP4P1.js.map → area-1EG1LrkX.js.map} +1 -1
  7. package/dist/{area-BuqdaUpQ.cjs → area-DrVE5pXW.cjs} +1 -1
  8. package/dist/{area-BuqdaUpQ.cjs.map → area-DrVE5pXW.cjs.map} +1 -1
  9. package/dist/area.cjs +1 -1
  10. package/dist/area.js +1 -1
  11. package/dist/{autocomplete-Cy46gJxK.cjs → autocomplete-6pdZxEab.cjs} +1 -1
  12. package/dist/{autocomplete-Cy46gJxK.cjs.map → autocomplete-6pdZxEab.cjs.map} +1 -1
  13. package/dist/{autocomplete-BoCWO26L.js → autocomplete-nrIcCilw.js} +2 -2
  14. package/dist/{autocomplete-BoCWO26L.js.map → autocomplete-nrIcCilw.js.map} +1 -1
  15. package/dist/autocomplete.cjs +1 -1
  16. package/dist/autocomplete.js +1 -1
  17. package/dist/avatar.cjs +2 -2
  18. package/dist/avatar.cjs.map +1 -1
  19. package/dist/avatar.js +3 -3
  20. package/dist/badge.cjs +1 -1
  21. package/dist/badge.js +1 -1
  22. package/dist/{boat-B0h5fuAA.js → boat--fLgbDAE.js} +3 -3
  23. package/dist/{boat-B0h5fuAA.js.map → boat--fLgbDAE.js.map} +1 -1
  24. package/dist/{boat-RRtBhD3x.cjs → boat-BIB-gPqy.cjs} +1 -1
  25. package/dist/{boat-RRtBhD3x.cjs.map → boat-BIB-gPqy.cjs.map} +1 -1
  26. package/dist/boat.cjs +1 -1
  27. package/dist/boat.js +1 -1
  28. package/dist/breadcrumb.cjs +1 -1
  29. package/dist/breadcrumb.js +1 -1
  30. package/dist/{busy-Bn6Pioo8.cjs → busy-DVCIxBVf.cjs} +1 -1
  31. package/dist/{busy-Bn6Pioo8.cjs.map → busy-DVCIxBVf.cjs.map} +1 -1
  32. package/dist/{busy-DObY7lfu.js → busy-DshZcVZ4.js} +1 -1
  33. package/dist/{busy-DObY7lfu.js.map → busy-DshZcVZ4.js.map} +1 -1
  34. package/dist/busy.cjs +1 -1
  35. package/dist/busy.js +1 -1
  36. package/dist/{button-DEi3M2nV.js → button-D9UJ7I6Z.js} +2 -2
  37. package/dist/{button-DEi3M2nV.js.map → button-D9UJ7I6Z.js.map} +1 -1
  38. package/dist/{button-XfdPzfZQ.cjs → button-JrTMzwHY.cjs} +1 -1
  39. package/dist/{button-XfdPzfZQ.cjs.map → button-JrTMzwHY.cjs.map} +1 -1
  40. package/dist/button.cjs +1 -1
  41. package/dist/button.js +1 -1
  42. package/dist/{card-jzUQK0EQ.js → card-BvCFuX3J.js} +2 -2
  43. package/dist/{card-jzUQK0EQ.js.map → card-BvCFuX3J.js.map} +1 -1
  44. package/dist/{card-BjUgRzFh.cjs → card-CTotavhH.cjs} +1 -1
  45. package/dist/{card-BjUgRzFh.cjs.map → card-CTotavhH.cjs.map} +1 -1
  46. package/dist/card.cjs +1 -1
  47. package/dist/card.js +1 -1
  48. package/dist/{checkbox-rskgUBxQ.cjs → checkbox-By4fFmjt.cjs} +1 -1
  49. package/dist/{checkbox-rskgUBxQ.cjs.map → checkbox-By4fFmjt.cjs.map} +1 -1
  50. package/dist/{checkbox-CfCm1vGN.js → checkbox-GPsdCUbs.js} +1 -1
  51. package/dist/{checkbox-CfCm1vGN.js.map → checkbox-GPsdCUbs.js.map} +1 -1
  52. package/dist/checkbox.cjs +1 -1
  53. package/dist/checkbox.js +1 -1
  54. package/dist/{chips-Dfim_tQv.js → chips-27umqnat.js} +4 -4
  55. package/dist/{chips-Dfim_tQv.js.map → chips-27umqnat.js.map} +1 -1
  56. package/dist/{chips-BiNZKu0J.cjs → chips-BZf9sGA8.cjs} +1 -1
  57. package/dist/{chips-BiNZKu0J.cjs.map → chips-BZf9sGA8.cjs.map} +1 -1
  58. package/dist/chips.cjs +1 -1
  59. package/dist/chips.js +2 -2
  60. package/dist/connectivity.cjs +1 -1
  61. package/dist/connectivity.js +1 -1
  62. package/dist/content-drawer.cjs +1 -1
  63. package/dist/content-drawer.js +1 -1
  64. package/dist/{cursor-glow-Cs2XLDB9.js → cursor-glow-Ah7VXSj7.js} +1 -1
  65. package/dist/{cursor-glow-Cs2XLDB9.js.map → cursor-glow-Ah7VXSj7.js.map} +1 -1
  66. package/dist/{cursor-glow-C8LgCxpI.cjs → cursor-glow-Bulq-38P.cjs} +1 -1
  67. package/dist/{cursor-glow-C8LgCxpI.cjs.map → cursor-glow-Bulq-38P.cjs.map} +1 -1
  68. package/dist/{date-range-em7OwhlK.cjs → date-range-BJnLWCRF.cjs} +1 -1
  69. package/dist/{date-range-em7OwhlK.cjs.map → date-range-BJnLWCRF.cjs.map} +1 -1
  70. package/dist/{date-range-inline-DYeqoBIO.cjs → date-range-inline-B6uKUliV.cjs} +1 -1
  71. package/dist/{date-range-inline-DYeqoBIO.cjs.map → date-range-inline-B6uKUliV.cjs.map} +1 -1
  72. package/dist/{date-range-inline-BfUL8_vX.js → date-range-inline-BNbbRfIA.js} +1 -1
  73. package/dist/{date-range-inline-BfUL8_vX.js.map → date-range-inline-BNbbRfIA.js.map} +1 -1
  74. package/dist/date-range-inline.cjs +1 -1
  75. package/dist/date-range-inline.js +1 -1
  76. package/dist/{date-range-B8zoj6Cj.js → date-range-wDVHcr0u.js} +2 -2
  77. package/dist/{date-range-B8zoj6Cj.js.map → date-range-wDVHcr0u.js.map} +1 -1
  78. package/dist/date-range.cjs +1 -1
  79. package/dist/date-range.js +1 -1
  80. package/dist/delay.cjs +1 -1
  81. package/dist/delay.js +2 -2
  82. package/dist/{details-D246xN83.js → details-Ckxpwacj.js} +4 -4
  83. package/dist/{details-D246xN83.js.map → details-Ckxpwacj.js.map} +1 -1
  84. package/dist/{details-CNM1tuma.cjs → details-DNrWIes6.cjs} +1 -1
  85. package/dist/{details-CNM1tuma.cjs.map → details-DNrWIes6.cjs.map} +1 -1
  86. package/dist/details.cjs +1 -1
  87. package/dist/details.js +1 -1
  88. package/dist/directives-BBMqe8x3.js +4082 -0
  89. package/dist/directives-BBMqe8x3.js.map +1 -0
  90. package/dist/directives-F15SJZUR.cjs +348 -0
  91. package/dist/directives-F15SJZUR.cjs.map +1 -0
  92. package/dist/directives.cjs +1 -99
  93. package/dist/directives.js +6 -1363
  94. package/dist/discovery.cjs +1 -1
  95. package/dist/discovery.js +2 -61
  96. package/dist/discovery.service-COmbHaoI.js +61 -0
  97. package/dist/discovery.service-COmbHaoI.js.map +1 -0
  98. package/dist/discovery.service-CVDXO9rH.cjs +1 -0
  99. package/dist/discovery.service-CVDXO9rH.cjs.map +1 -0
  100. package/dist/{divider-CbIp1je9.js → divider-BzcZGo4S.js} +1 -1
  101. package/dist/{divider-CbIp1je9.js.map → divider-BzcZGo4S.js.map} +1 -1
  102. package/dist/{divider-DaKsGNW-.cjs → divider-Cde33ivs.cjs} +1 -1
  103. package/dist/{divider-DaKsGNW-.cjs.map → divider-Cde33ivs.cjs.map} +1 -1
  104. package/dist/divider.cjs +1 -1
  105. package/dist/divider.js +1 -1
  106. package/dist/dropdown.cjs +1 -1
  107. package/dist/dropdown.js +1 -1
  108. package/dist/{expand-DRkiO4vw.js → expand-DI144OzN.js} +3 -3
  109. package/dist/{expand-DRkiO4vw.js.map → expand-DI144OzN.js.map} +1 -1
  110. package/dist/{expand-CQDm3BF3.cjs → expand-Db4V0jj-.cjs} +1 -1
  111. package/dist/{expand-CQDm3BF3.cjs.map → expand-Db4V0jj-.cjs.map} +1 -1
  112. package/dist/expand.cjs +1 -1
  113. package/dist/expand.js +1 -1
  114. package/dist/{float-5O26zNRh.cjs → float--RScf9BZ.cjs} +1 -1
  115. package/dist/{float-5O26zNRh.cjs.map → float--RScf9BZ.cjs.map} +1 -1
  116. package/dist/{float-CZtu8FnO.js → float-DIyzy1c2.js} +1 -1
  117. package/dist/{float-CZtu8FnO.js.map → float-DIyzy1c2.js.map} +1 -1
  118. package/dist/float.cjs +1 -1
  119. package/dist/float.js +1 -1
  120. package/dist/{form-B90CMeqs.cjs → form-DWNpOsIU.cjs} +1 -1
  121. package/dist/{form-B90CMeqs.cjs.map → form-DWNpOsIU.cjs.map} +1 -1
  122. package/dist/{form-CE6Gwz4r.js → form-RtXH8UHQ.js} +8 -8
  123. package/dist/{form-CE6Gwz4r.js.map → form-RtXH8UHQ.js.map} +1 -1
  124. package/dist/form.cjs +1 -1
  125. package/dist/form.js +6 -6
  126. package/dist/handover/agent-runtime-followups.md +1 -1
  127. package/dist/handover/agent-runtime-v1.md +3 -3
  128. package/dist/{hashContent-dJrI-9sc.js.map → hashContent-Dgmzc32o.js.map} +1 -1
  129. package/dist/{hashContent-Ck6laKlk.cjs.map → hashContent-Dh1VzIAb.cjs.map} +1 -1
  130. package/dist/icons-DXanGDZ_.js +52 -0
  131. package/dist/icons-DXanGDZ_.js.map +1 -0
  132. package/dist/icons-bNxlWLlk.cjs +24 -0
  133. package/dist/icons-bNxlWLlk.cjs.map +1 -0
  134. package/dist/icons.cjs +1 -1
  135. package/dist/icons.js +1 -1
  136. package/dist/{iframe-D98csbEo.cjs → iframe-B1XWRaLC.cjs} +1 -1
  137. package/dist/{iframe-D98csbEo.cjs.map → iframe-B1XWRaLC.cjs.map} +1 -1
  138. package/dist/{iframe-C3PMj1MD.js → iframe-BlHK0cjy.js} +1 -1
  139. package/dist/{iframe-C3PMj1MD.js.map → iframe-BlHK0cjy.js.map} +1 -1
  140. package/dist/iframe.cjs +1 -1
  141. package/dist/iframe.js +1 -1
  142. package/dist/index.cjs +1 -1
  143. package/dist/index.js +60 -60
  144. package/dist/{input-_y92Pzon.cjs → input-C-_XU9AX.cjs} +1 -1
  145. package/dist/{input-_y92Pzon.cjs.map → input-C-_XU9AX.cjs.map} +1 -1
  146. package/dist/{input-CCOkeeVM.js → input-CiGa8Dkl.js} +1 -1
  147. package/dist/{input-CCOkeeVM.js.map → input-CiGa8Dkl.js.map} +1 -1
  148. package/dist/{input-chip-CR66MWml.cjs → input-chip-5aYnuRZ_.cjs} +1 -1
  149. package/dist/{input-chip-CR66MWml.cjs.map → input-chip-5aYnuRZ_.cjs.map} +1 -1
  150. package/dist/{input-chip-Bzwr5-XL.js → input-chip-l--zCMGR.js} +1 -1
  151. package/dist/{input-chip-Bzwr5-XL.js.map → input-chip-l--zCMGR.js.map} +1 -1
  152. package/dist/input.cjs +1 -1
  153. package/dist/input.js +1 -1
  154. package/dist/json.cjs +1 -1
  155. package/dist/json.js +2 -2
  156. package/dist/kbd.cjs +1 -1
  157. package/dist/kbd.js +1 -1
  158. package/dist/{layout-Dq2oeOTS.js → layout-DSAjo92m.js} +1 -1
  159. package/dist/{layout-Dq2oeOTS.js.map → layout-DSAjo92m.js.map} +1 -1
  160. package/dist/{layout-BbCIfIgo.cjs → layout-eXb9wjDh.cjs} +1 -1
  161. package/dist/{layout-BbCIfIgo.cjs.map → layout-eXb9wjDh.cjs.map} +1 -1
  162. package/dist/layout.cjs +1 -1
  163. package/dist/layout.js +1 -1
  164. package/dist/{lightbox-Bk3ovcVu.cjs → lightbox-CfRDkeeb.cjs} +2 -2
  165. package/dist/{lightbox-Bk3ovcVu.cjs.map → lightbox-CfRDkeeb.cjs.map} +1 -1
  166. package/dist/{lightbox-Dl--fEbP.js → lightbox-D9oiu1Nv.js} +2 -2
  167. package/dist/{lightbox-Dl--fEbP.js.map → lightbox-D9oiu1Nv.js.map} +1 -1
  168. package/dist/lightbox.cjs +1 -1
  169. package/dist/lightbox.js +1 -1
  170. package/dist/{list-B3WI_Nfs.js → list-BOlRka4v.js} +1 -1
  171. package/dist/{list-B3WI_Nfs.js.map → list-BOlRka4v.js.map} +1 -1
  172. package/dist/{list-DWngbP2X.cjs → list-CDJi3_Ut.cjs} +1 -1
  173. package/dist/{list-DWngbP2X.cjs.map → list-CDJi3_Ut.cjs.map} +1 -1
  174. package/dist/list.cjs +1 -1
  175. package/dist/list.js +1 -1
  176. package/dist/{magnetic-Bgh7aHHI.cjs → magnetic-D-ph029G.cjs} +1 -1
  177. package/dist/{magnetic-Bgh7aHHI.cjs.map → magnetic-D-ph029G.cjs.map} +1 -1
  178. package/dist/{magnetic-DxvoEz8_.js → magnetic-mHXl54Z8.js} +1 -1
  179. package/dist/{magnetic-DxvoEz8_.js.map → magnetic-mHXl54Z8.js.map} +1 -1
  180. package/dist/{menu-CdYjxJqm.cjs → menu-CJaDL2cd.cjs} +1 -1
  181. package/dist/{menu-CdYjxJqm.cjs.map → menu-CJaDL2cd.cjs.map} +1 -1
  182. package/dist/{menu-IDhVp6zm.js → menu-XyrLmCi_.js} +2 -2
  183. package/dist/{menu-IDhVp6zm.js.map → menu-XyrLmCi_.js.map} +1 -1
  184. package/dist/menu.cjs +1 -1
  185. package/dist/menu.js +1 -1
  186. package/dist/mixins-CsYsIJOI.cjs +254 -0
  187. package/dist/mixins-CsYsIJOI.cjs.map +1 -0
  188. package/dist/mixins-DySzfmal.js +642 -0
  189. package/dist/mixins-DySzfmal.js.map +1 -0
  190. package/dist/mixins.cjs +1 -1
  191. package/dist/mixins.js +2 -2
  192. package/dist/nav-drawer.cjs +1 -1
  193. package/dist/nav-drawer.js +1 -1
  194. package/dist/navigation-bar.cjs +1 -1
  195. package/dist/navigation-bar.js +1 -1
  196. package/dist/navigation-rail.cjs +5 -9
  197. package/dist/navigation-rail.cjs.map +1 -1
  198. package/dist/navigation-rail.js +5 -11
  199. package/dist/navigation-rail.js.map +1 -1
  200. package/dist/{notification-CllYkvlR.js → notification-CHrEY4u8.js} +2 -2
  201. package/dist/{notification-CllYkvlR.js.map → notification-CHrEY4u8.js.map} +1 -1
  202. package/dist/{notification-B3wVUC8l.cjs → notification-DKp4tjaB.cjs} +1 -1
  203. package/dist/{notification-B3wVUC8l.cjs.map → notification-DKp4tjaB.cjs.map} +1 -1
  204. package/dist/notification.cjs +1 -1
  205. package/dist/notification.js +1 -1
  206. package/dist/{option-CPOL0nHL.js → option-Vpy4UQ-D.js} +1 -1
  207. package/dist/{option-CPOL0nHL.js.map → option-Vpy4UQ-D.js.map} +1 -1
  208. package/dist/{option-cRsdshy8.cjs → option-nRk4MuXH.cjs} +1 -1
  209. package/dist/{option-cRsdshy8.cjs.map → option-nRk4MuXH.cjs.map} +1 -1
  210. package/dist/option.cjs +1 -1
  211. package/dist/option.js +1 -1
  212. package/dist/{overlay-BnTvnNDc.cjs → overlay-HNrWZ4sB.cjs} +1 -1
  213. package/dist/{overlay-BnTvnNDc.cjs.map → overlay-HNrWZ4sB.cjs.map} +1 -1
  214. package/dist/{overlay-DJ-vlwtR.js → overlay-jlkcrt8F.js} +5 -5
  215. package/dist/{overlay-DJ-vlwtR.js.map → overlay-jlkcrt8F.js.map} +1 -1
  216. package/dist/{overlay-stack-Dk0xETTy.cjs.map → overlay-stack-Bdr9lOqi.cjs.map} +1 -1
  217. package/dist/{overlay-stack-BR4iYivO.js.map → overlay-stack-D2rgxQLh.js.map} +1 -1
  218. package/dist/overlay.cjs +1 -1
  219. package/dist/{overlay.confirm-body-CQ-FwySO.cjs → overlay.confirm-body-B8dFI3cj.cjs} +1 -1
  220. package/dist/{overlay.confirm-body-CQ-FwySO.cjs.map → overlay.confirm-body-B8dFI3cj.cjs.map} +1 -1
  221. package/dist/{overlay.confirm-body-DEb9xw5N.js → overlay.confirm-body-CYShkjI6.js} +1 -1
  222. package/dist/{overlay.confirm-body-DEb9xw5N.js.map → overlay.confirm-body-CYShkjI6.js.map} +1 -1
  223. package/dist/overlay.js +3 -3
  224. package/dist/{overlay.service-CKBCIP2f.cjs → overlay.service-BTPn7Uv7.cjs} +1 -1
  225. package/dist/{overlay.service-CKBCIP2f.cjs.map → overlay.service-BTPn7Uv7.cjs.map} +1 -1
  226. package/dist/{overlay.service-XM1YHkTk.js → overlay.service-BqhhxVJp.js} +2 -2
  227. package/dist/{overlay.service-XM1YHkTk.js.map → overlay.service-BqhhxVJp.js.map} +1 -1
  228. package/dist/{progress-CnMPp-9a.js → progress-8Bn88GK_.js} +1 -1
  229. package/dist/{progress-CnMPp-9a.js.map → progress-8Bn88GK_.js.map} +1 -1
  230. package/dist/{progress-CcfLfHOE.cjs → progress-CAp_4jtq.cjs} +1 -1
  231. package/dist/{progress-CcfLfHOE.cjs.map → progress-CAp_4jtq.cjs.map} +1 -1
  232. package/dist/progress.cjs +1 -1
  233. package/dist/progress.js +1 -1
  234. package/dist/{radio-group-D97hflrE.cjs → radio-group-CN44mAoc.cjs} +1 -1
  235. package/dist/{radio-group-D97hflrE.cjs.map → radio-group-CN44mAoc.cjs.map} +1 -1
  236. package/dist/{radio-group-BUJgfQFi.js → radio-group-GNHA7qJR.js} +1 -1
  237. package/dist/{radio-group-BUJgfQFi.js.map → radio-group-GNHA7qJR.js.map} +1 -1
  238. package/dist/radio-group.cjs +1 -1
  239. package/dist/radio-group.js +1 -1
  240. package/dist/range.cjs +1 -1
  241. package/dist/range.js +1 -1
  242. package/dist/{reduced-motion-D7LqTUMn.js.map → reduced-motion-D-L12p7G.js.map} +1 -1
  243. package/dist/{reduced-motion-Dzfp_w5x.cjs.map → reduced-motion-Ds-HjMzn.cjs.map} +1 -1
  244. package/dist/{rxjs-utils-BK8VMe3K.js.map → rxjs-utils-BXpvHN4-.js.map} +1 -1
  245. package/dist/{rxjs-utils-DhOKenkS.cjs.map → rxjs-utils-CaC-tdot.cjs.map} +1 -1
  246. package/dist/rxjs-utils.cjs +1 -1
  247. package/dist/rxjs-utils.js +1 -1
  248. package/dist/{select-BWEh5nRM.js → select-BnuXRHS4.js} +3 -3
  249. package/dist/{select-BWEh5nRM.js.map → select-BnuXRHS4.js.map} +1 -1
  250. package/dist/{select-Cv5Oev6d.cjs → select-DZNns5Pa.cjs} +2 -2
  251. package/dist/{select-Cv5Oev6d.cjs.map → select-DZNns5Pa.cjs.map} +1 -1
  252. package/dist/select.cjs +1 -1
  253. package/dist/select.js +1 -1
  254. package/dist/skeleton.cjs +1 -1
  255. package/dist/skeleton.js +1 -1
  256. package/dist/skills/INDEX.md +2 -1
  257. package/dist/skills/SKILL.md +33 -23
  258. package/dist/skills/area.md +5 -4
  259. package/dist/skills/connectivity.md +1 -3
  260. package/dist/skills/directives.md +36 -0
  261. package/dist/skills/icons.md +95 -31
  262. package/dist/skills/layout.md +36 -53
  263. package/dist/skills/mixins.md +26 -5
  264. package/dist/skills/schmancy/INDEX.md +2 -1
  265. package/dist/skills/schmancy/SKILL.md +33 -23
  266. package/dist/skills/schmancy/area.md +5 -4
  267. package/dist/skills/schmancy/connectivity.md +1 -3
  268. package/dist/skills/schmancy/directives.md +36 -0
  269. package/dist/skills/schmancy/icons.md +95 -31
  270. package/dist/skills/schmancy/layout.md +36 -53
  271. package/dist/skills/schmancy/mixins.md +26 -5
  272. package/dist/slider.cjs +1 -1
  273. package/dist/slider.js +1 -1
  274. package/dist/{splash-screen-B6w7X2z9.js → splash-screen-CUP_elaT.js} +1 -1
  275. package/dist/{splash-screen-B6w7X2z9.js.map → splash-screen-CUP_elaT.js.map} +1 -1
  276. package/dist/{splash-screen-DFtxtO2D.cjs → splash-screen-DeoPRrOu.cjs} +1 -1
  277. package/dist/{splash-screen-DFtxtO2D.cjs.map → splash-screen-DeoPRrOu.cjs.map} +1 -1
  278. package/dist/splash-screen.cjs +1 -1
  279. package/dist/splash-screen.js +1 -1
  280. package/dist/{src-D_NK-vMA.js → src-B1VkLX3l.js} +153 -153
  281. package/dist/{src-D_NK-vMA.js.map → src-B1VkLX3l.js.map} +1 -1
  282. package/dist/{src-Asw6A018.cjs → src-DQ4wr0qq.cjs} +13 -13
  283. package/dist/{src-Asw6A018.cjs.map → src-DQ4wr0qq.cjs.map} +1 -1
  284. package/dist/steps.cjs +1 -1
  285. package/dist/steps.js +1 -1
  286. package/dist/{surface-B94ka2LY.cjs → surface-LkaZQXZn.cjs} +1 -1
  287. package/dist/{surface-B94ka2LY.cjs.map → surface-LkaZQXZn.cjs.map} +1 -1
  288. package/dist/{surface-ctBcRGSZ.js → surface-hOvkrjGN.js} +1 -1
  289. package/dist/{surface-ctBcRGSZ.js.map → surface-hOvkrjGN.js.map} +1 -1
  290. package/dist/surface.cjs +1 -1
  291. package/dist/surface.js +1 -1
  292. package/dist/switch.cjs +1 -1
  293. package/dist/switch.js +1 -1
  294. package/dist/table.cjs +1 -1
  295. package/dist/table.js +1 -1
  296. package/dist/{tabs-CrMx5z_y.js → tabs-CfwIHhHo.js} +1 -1
  297. package/dist/{tabs-CrMx5z_y.js.map → tabs-CfwIHhHo.js.map} +1 -1
  298. package/dist/{tabs-B7kaZIom.cjs → tabs-bplzstz6.cjs} +1 -1
  299. package/dist/{tabs-B7kaZIom.cjs.map → tabs-bplzstz6.cjs.map} +1 -1
  300. package/dist/tabs.cjs +1 -1
  301. package/dist/tabs.js +1 -1
  302. package/dist/teleport.cjs +1 -1
  303. package/dist/teleport.js +1 -1
  304. package/dist/{textarea-DeHFl80i.js → textarea-C1A5xuw9.js} +1 -1
  305. package/dist/{textarea-DeHFl80i.js.map → textarea-C1A5xuw9.js.map} +1 -1
  306. package/dist/{textarea-D1crj8JD.cjs → textarea-hrDp5gQq.cjs} +1 -1
  307. package/dist/{textarea-D1crj8JD.cjs.map → textarea-hrDp5gQq.cjs.map} +1 -1
  308. package/dist/textarea.cjs +1 -1
  309. package/dist/textarea.js +1 -1
  310. package/dist/{theme-C7Yo33nh.js → theme-BniFOMEo.js} +3 -3
  311. package/dist/{theme-C7Yo33nh.js.map → theme-BniFOMEo.js.map} +1 -1
  312. package/dist/{theme-wE2N7Yu9.cjs → theme-DmR6PKV8.cjs} +2 -2
  313. package/dist/{theme-wE2N7Yu9.cjs.map → theme-DmR6PKV8.cjs.map} +1 -1
  314. package/dist/{theme-button-Cpc_hs2O.js → theme-button--ruZIb0T.js} +1 -1
  315. package/dist/{theme-button-Cpc_hs2O.js.map → theme-button--ruZIb0T.js.map} +1 -1
  316. package/dist/{theme-button-CXSM5We4.cjs → theme-button-a0LgZ7hQ.cjs} +1 -1
  317. package/dist/{theme-button-CXSM5We4.cjs.map → theme-button-a0LgZ7hQ.cjs.map} +1 -1
  318. package/dist/theme-button.cjs +1 -1
  319. package/dist/theme-button.js +1 -1
  320. package/dist/theme.cjs +1 -1
  321. package/dist/{theme.interface-D4NeufQA.cjs.map → theme.interface-B5xjEk74.cjs.map} +1 -1
  322. package/dist/{theme.interface-C2XNgsLB.js.map → theme.interface-DVEw3s8m.js.map} +1 -1
  323. package/dist/theme.js +4 -4
  324. package/dist/{theme.service-CSzNkqBB.js.map → theme.service-Bh08uOSJ.js.map} +1 -1
  325. package/dist/{theme.service-CnFUmUpc.cjs.map → theme.service-Y-e8b331.cjs.map} +1 -1
  326. package/dist/tree.cjs +1 -1
  327. package/dist/tree.js +1 -1
  328. package/dist/typography.cjs +1 -1
  329. package/dist/typography.js +1 -1
  330. package/dist/{utils-Cxg0Kfy5.js → utils-578eFTx4.js} +1 -1
  331. package/dist/{utils-Cxg0Kfy5.js.map → utils-578eFTx4.js.map} +1 -1
  332. package/dist/{utils-aCJYAGUr.cjs → utils-CVWUrECT.cjs} +1 -1
  333. package/dist/{utils-aCJYAGUr.cjs.map → utils-CVWUrECT.cjs.map} +1 -1
  334. package/dist/utils.cjs +1 -1
  335. package/dist/utils.js +2 -2
  336. package/dist/visually-hidden.cjs +1 -1
  337. package/dist/visually-hidden.js +1 -1
  338. package/dist/{window-JtkeHoxS.js → window-BT9JecWy.js} +5 -5
  339. package/dist/{window-JtkeHoxS.js.map → window-BT9JecWy.js.map} +1 -1
  340. package/dist/{window-Ck_zS4bb.cjs → window-Bp7zWZpu.cjs} +1 -1
  341. package/dist/{window-Ck_zS4bb.cjs.map → window-Bp7zWZpu.cjs.map} +1 -1
  342. package/dist/window.cjs +1 -1
  343. package/dist/window.js +1 -1
  344. package/package.json +1 -1
  345. package/skills/schmancy/INDEX.md +2 -1
  346. package/skills/schmancy/SKILL.md +33 -23
  347. package/skills/schmancy/area.md +5 -4
  348. package/skills/schmancy/connectivity.md +1 -3
  349. package/skills/schmancy/directives.md +36 -0
  350. package/skills/schmancy/icons.md +95 -31
  351. package/skills/schmancy/layout.md +36 -53
  352. package/skills/schmancy/mixins.md +26 -5
  353. package/src/directives/ai-badge.ts +95 -0
  354. package/src/directives/art/art.directive.ts +228 -0
  355. package/src/directives/art/effects/error.ts +192 -0
  356. package/src/directives/art/effects/funkhaus.ts +121 -0
  357. package/src/directives/art/effects/howl.ts +203 -0
  358. package/src/directives/art/effects/samwa.ts +228 -0
  359. package/src/directives/art/effects/snow.ts +207 -0
  360. package/src/directives/art/effects/starfield.ts +107 -0
  361. package/src/directives/art/index.ts +2 -0
  362. package/src/directives/art/particle-pool.ts +40 -0
  363. package/src/directives/art/types.ts +129 -0
  364. package/src/directives/art/utils.ts +35 -0
  365. package/src/directives/battery.ts +1014 -0
  366. package/src/directives/beta.ts +44 -0
  367. package/src/directives/fill.ts +32 -60
  368. package/src/directives/fyi.ts +551 -0
  369. package/src/directives/hummingbird.ts +1712 -0
  370. package/src/directives/index.ts +9 -0
  371. package/src/directives/missed-punch.ts +407 -0
  372. package/src/directives/urgent.ts +660 -0
  373. package/src/directives/working-snake.ts +294 -0
  374. package/src/icons/icon.ts +53 -30
  375. package/src/navigation-rail/navigation-rail-item.ts +7 -12
  376. package/src/navigation-rail/navigation-rail.ts +0 -2
  377. package/types/mixins/SchmancyElement.d.ts +31 -0
  378. package/types/src/directives/ai-badge.d.ts +15 -0
  379. package/types/src/directives/art/art.directive.d.ts +19 -0
  380. package/types/src/directives/art/effects/error.d.ts +7 -0
  381. package/types/src/directives/art/effects/funkhaus.d.ts +7 -0
  382. package/types/src/directives/art/effects/howl.d.ts +7 -0
  383. package/types/src/directives/art/effects/samwa.d.ts +7 -0
  384. package/types/src/directives/art/effects/snow.d.ts +7 -0
  385. package/types/src/directives/art/effects/starfield.d.ts +10 -0
  386. package/types/src/directives/art/index.d.ts +2 -0
  387. package/types/src/directives/art/particle-pool.d.ts +16 -0
  388. package/types/src/directives/art/types.d.ts +126 -0
  389. package/types/src/directives/art/utils.d.ts +5 -0
  390. package/types/src/directives/battery.d.ts +96 -0
  391. package/types/src/directives/beta.d.ts +33 -0
  392. package/types/src/directives/fill.d.ts +4 -11
  393. package/types/src/directives/fyi.d.ts +76 -0
  394. package/types/src/directives/hummingbird.d.ts +180 -0
  395. package/types/src/directives/index.d.ts +9 -0
  396. package/types/src/directives/missed-punch.d.ts +28 -0
  397. package/types/src/directives/urgent.d.ts +88 -0
  398. package/types/src/directives/working-snake.d.ts +46 -0
  399. package/types/src/icons/icon.d.ts +22 -0
  400. package/dist/directives.cjs.map +0 -1
  401. package/dist/directives.js.map +0 -1
  402. package/dist/discovery.cjs.map +0 -1
  403. package/dist/discovery.js.map +0 -1
  404. package/dist/icons-B7ppo07M.cjs +0 -33
  405. package/dist/icons-B7ppo07M.cjs.map +0 -1
  406. package/dist/icons-CGhozJ5v.js +0 -48
  407. package/dist/icons-CGhozJ5v.js.map +0 -1
  408. package/dist/mixins-BPUR4Kc4.cjs +0 -254
  409. package/dist/mixins-BPUR4Kc4.cjs.map +0 -1
  410. package/dist/mixins-C42OILRS.js +0 -636
  411. package/dist/mixins-C42OILRS.js.map +0 -1
  412. package/dist/skills/page.md +0 -84
  413. package/dist/skills/schmancy/page.md +0 -84
  414. package/skills/schmancy/page.md +0 -84
  415. /package/dist/{hashContent-dJrI-9sc.js → hashContent-Dgmzc32o.js} +0 -0
  416. /package/dist/{hashContent-Ck6laKlk.cjs → hashContent-Dh1VzIAb.cjs} +0 -0
  417. /package/dist/{overlay-stack-Dk0xETTy.cjs → overlay-stack-Bdr9lOqi.cjs} +0 -0
  418. /package/dist/{overlay-stack-BR4iYivO.js → overlay-stack-D2rgxQLh.js} +0 -0
  419. /package/dist/{reduced-motion-D7LqTUMn.js → reduced-motion-D-L12p7G.js} +0 -0
  420. /package/dist/{reduced-motion-Dzfp_w5x.cjs → reduced-motion-Ds-HjMzn.cjs} +0 -0
  421. /package/dist/{rxjs-utils-BK8VMe3K.js → rxjs-utils-BXpvHN4-.js} +0 -0
  422. /package/dist/{rxjs-utils-DhOKenkS.cjs → rxjs-utils-CaC-tdot.cjs} +0 -0
  423. /package/dist/{theme.interface-D4NeufQA.cjs → theme.interface-B5xjEk74.cjs} +0 -0
  424. /package/dist/{theme.interface-C2XNgsLB.js → theme.interface-DVEw3s8m.js} +0 -0
  425. /package/dist/{theme.service-CSzNkqBB.js → theme.service-Bh08uOSJ.js} +0 -0
  426. /package/dist/{theme.service-CnFUmUpc.cjs → theme.service-Y-e8b331.cjs} +0 -0
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Art Directive Types
3
+ *
4
+ * Type definitions for the art directive animation system.
5
+ */
6
+ import type { ParticlePool } from './particle-pool';
7
+ export type ArtEffect = 'funkhaus' | 'samwa' | 'howl' | 'error' | 'snow' | 'starfield';
8
+ export interface ArtOptions {
9
+ name: ArtEffect;
10
+ color: string;
11
+ /** Animation intensity: 0 = none, 0.5 = subtle, 1 = full (default: 1) */
12
+ intensity?: number;
13
+ /** Animation speed multiplier: 0.5 = half speed, 1 = normal, 2 = double (default: 1) */
14
+ speed?: number;
15
+ }
16
+ export interface Particle<T extends SVGElement = SVGElement> {
17
+ element: T;
18
+ x: number;
19
+ y: number;
20
+ vx: number;
21
+ vy: number;
22
+ life: number;
23
+ rotation?: number;
24
+ scale?: number;
25
+ phase?: number;
26
+ }
27
+ /** Extended physics particle used by samwa + snow effects. */
28
+ export interface FallingParticle {
29
+ element: SVGPathElement;
30
+ x: number;
31
+ y: number;
32
+ vx: number;
33
+ vy: number;
34
+ life: number;
35
+ rotation: number;
36
+ phase: number;
37
+ sizeIndex: number;
38
+ depthIndex: number;
39
+ tumbleDirection: number;
40
+ flutterAmplitude: number;
41
+ flutterFrequency: number;
42
+ spawnTime: number;
43
+ }
44
+ export interface ArtState {
45
+ effect: ArtEffect;
46
+ color: string;
47
+ intensity: number;
48
+ speed: number;
49
+ element: HTMLElement;
50
+ overlayElement?: HTMLElement;
51
+ animationId?: number;
52
+ isVisible: boolean;
53
+ observer?: IntersectionObserver;
54
+ funkhaus?: {
55
+ panes: Array<{
56
+ element: SVGRectElement;
57
+ diagonalIndex: number;
58
+ }>;
59
+ maxDiagonal: number;
60
+ startTime: number;
61
+ };
62
+ samwa?: {
63
+ leafPool: ParticlePool<SVGPathElement>;
64
+ fallingLeaves: FallingParticle[];
65
+ windStrength: number;
66
+ windDirection: number;
67
+ lastWindTime: number;
68
+ lastLeafSpawn: number;
69
+ startTime: number;
70
+ };
71
+ howl?: {
72
+ gears: Array<{
73
+ element: SVGElement;
74
+ speed: number;
75
+ }>;
76
+ sparkles: Array<{
77
+ element: SVGPathElement;
78
+ baseX: number;
79
+ baseY: number;
80
+ phase: number;
81
+ speed: number;
82
+ }>;
83
+ steamPool: ParticlePool<SVGCircleElement>;
84
+ steamParticles: Particle<SVGCircleElement>[];
85
+ wisps: SVGPathElement[];
86
+ crystals: Array<{
87
+ element: SVGPolygonElement;
88
+ baseX: number;
89
+ baseY: number;
90
+ phase: number;
91
+ rotSpeed: number;
92
+ }>;
93
+ lastSteamSpawn: number;
94
+ startTime: number;
95
+ };
96
+ error?: {
97
+ edges: SVGRectElement[];
98
+ staticParticles: Array<{
99
+ element: SVGCircleElement;
100
+ edge: number;
101
+ }>;
102
+ boltPool: ParticlePool<SVGPathElement>;
103
+ lightningBolts: Particle<SVGPathElement>[];
104
+ lastLightningSpawn: number;
105
+ startTime: number;
106
+ };
107
+ snow?: {
108
+ snowflakePool: ParticlePool<SVGPathElement>;
109
+ fallingSnowflakes: FallingParticle[];
110
+ windStrength: number;
111
+ windDirection: number;
112
+ windPhase: number;
113
+ lastWindGust: number;
114
+ lastSpawn: number;
115
+ startTime: number;
116
+ };
117
+ starfield?: {
118
+ groups: Array<{
119
+ element: HTMLDivElement;
120
+ appearDelay: number;
121
+ twinkleDuration: number;
122
+ twinkleDelay: number;
123
+ }>;
124
+ startTime: number;
125
+ };
126
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Shared DOM/SVG creation utilities for art effects.
3
+ */
4
+ export declare function createOverlayContainer(className: string): HTMLDivElement;
5
+ export declare function createSVG(): SVGSVGElement;
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Futuristic Battery Fill Directive
3
+ *
4
+ * A next-gen energy indicator with holographic effects, scan lines, and sci-fi aesthetics.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * html`<div ${futureCell({ percent: 75, variant: 'cyber' })}>POWER CORE</div>`
9
+ * html`<div ${futureCell({ percent: 50, variant: 'hologram' })}>ENERGY CELL</div>`
10
+ * ```
11
+ */
12
+ import { AsyncDirective } from 'lit/async-directive.js';
13
+ import type { ElementPart } from 'lit';
14
+ export type FutureCellVariant = 'cyber' | 'hologram' | 'plasma' | 'quantum' | 'matrix' | 'neon' | 'success' | 'warning' | 'danger';
15
+ export interface FutureCellOptions {
16
+ /** Fill percentage (0-100+) */
17
+ percent: number;
18
+ /** Visual variant */
19
+ variant?: FutureCellVariant;
20
+ /** Auto-select variant based on inventory status (≥80% = success/green, 50-79% = warning/yellow, <50% = danger/red) */
21
+ autoVariant?: boolean;
22
+ /** Custom accent color */
23
+ accentColor?: string;
24
+ /** Show digital readout */
25
+ showReadout?: boolean;
26
+ /** Show scan lines */
27
+ showScanLines?: boolean;
28
+ /** Show particles */
29
+ showParticles?: boolean;
30
+ /** Show hexagonal grid */
31
+ showGrid?: boolean;
32
+ /** Show glitch effects */
33
+ showGlitch?: boolean;
34
+ /** Intensity of effects (0-1) */
35
+ intensity?: number;
36
+ /** Animation speed multiplier */
37
+ speed?: number;
38
+ /** Enable critical state animations (when low or overfill) */
39
+ criticalEffects?: boolean;
40
+ /** Glass container effect */
41
+ glassEffect?: boolean;
42
+ /** Animation duration for fill transitions (ms) */
43
+ duration?: number;
44
+ }
45
+ declare class FutureCellDirective extends AsyncDirective {
46
+ private element;
47
+ private container;
48
+ private fillElement;
49
+ private energyWave;
50
+ private scanLine;
51
+ private particlesCanvas;
52
+ private particlesCtx;
53
+ private hexGrid;
54
+ private readout;
55
+ private dataStreams;
56
+ private glitchLayer;
57
+ private styleElement;
58
+ private options;
59
+ private variant;
60
+ private currentVariantName;
61
+ private particles;
62
+ private animationFrame;
63
+ private lastTime;
64
+ private currentPercent;
65
+ private originalStyles;
66
+ private resizeObserver;
67
+ /** Effective speed scales with fill %: low fill = calm, high fill = vivid */
68
+ private getEffectiveSpeed;
69
+ render(_options: FutureCellOptions): symbol;
70
+ update(part: ElementPart, [options]: [FutureCellOptions]): symbol;
71
+ private storeOriginalStyles;
72
+ private setupElement;
73
+ private createStructure;
74
+ private createFill;
75
+ private createEnergyWave;
76
+ private createHexGrid;
77
+ private createHexPattern;
78
+ private createScanLines;
79
+ private createParticles;
80
+ private resizeCanvas;
81
+ private setupResizeObserver;
82
+ private initParticles;
83
+ private spawnParticle;
84
+ private createDataStreams;
85
+ private createGlitchLayer;
86
+ private createReadout;
87
+ private updateColors;
88
+ private startAnimation;
89
+ private animate;
90
+ private updateParticles;
91
+ private hexToRGBA;
92
+ private updateFill;
93
+ disconnected(): void;
94
+ }
95
+ export declare const futureCell: (_options: FutureCellOptions) => import("lit-html/directive").DirectiveResult<typeof FutureCellDirective>;
96
+ export {};
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Beta directive — gates content behind a configurable predicate.
3
+ *
4
+ * The consumer app registers a predicate (e.g. "user belongs to internal org")
5
+ * via `setBetaPredicate(...)`. Until then, `isBeta()` returns `false` and the
6
+ * directive renders the fallback.
7
+ *
8
+ * Usage:
9
+ * ```typescript
10
+ * import { beta, setBetaPredicate } from '@mhmo91/schmancy'
11
+ *
12
+ * // App boot — wire the predicate
13
+ * setBetaPredicate(() => currentUser.email.endsWith('@example.com'))
14
+ *
15
+ * // Templates — renders nothing for non-beta users
16
+ * ${beta(html`<my-beta-feature></my-beta-feature>`)}
17
+ *
18
+ * // With fallback
19
+ * ${beta(html`<beta-ui></beta-ui>`, html`<coming-soon></coming-soon>`)}
20
+ *
21
+ * // Imperative check
22
+ * if (isBeta()) { ... }
23
+ * ```
24
+ */
25
+ import { nothing, type TemplateResult } from 'lit';
26
+ type Content = TemplateResult | typeof nothing | string | unknown;
27
+ /** Register a predicate that decides whether the current user has beta access. */
28
+ export declare function setBetaPredicate(fn: () => boolean): void;
29
+ /** Returns true if the current user has beta access. */
30
+ export declare function isBeta(): boolean;
31
+ /** Render content only for beta users, otherwise render fallback (default: nothing). */
32
+ export declare function beta(content: Content, fallback?: Content): Content;
33
+ export {};
@@ -10,18 +10,12 @@ import { ElementPart } from 'lit/directive.js';
10
10
  * the box; inner scroll containers (apply `overflowWithin()` on the
11
11
  * appropriate cell) handle scrolling.
12
12
  *
13
- * Layout is the consumer's responsibility — apply Tailwind classes
14
- * (`grid grid-cols-[auto_1fr] grid-rows-[1fr]`, `flex`, etc.) on the same
15
- * element to express the layout. The directive provides the definite-pixel
16
- * box; the consumer decides how it's divided.
17
- *
18
- * Cascade-independent — measurement is taken in viewport coordinates
19
- * rather than computed from CSS, so the directive works regardless of
20
- * what the element's ancestors declare.
21
- *
22
13
  * Reactive sources: window/visualViewport resize + scroll, orientation
23
14
  * change, iOS keyboard focus-out, parent/element ResizeObserver, theme
24
- * fullscreen toggle, theme bottom offset (safe-area / nav-bar reservation).
15
+ * fullscreen toggle, theme bottom offset. Updates are frame-aligned via
16
+ * `auditTime(0, animationFrameScheduler)` — the latest emission of any
17
+ * source applies once per paint, so the box tracks continuous resize
18
+ * drags without missing the final state.
25
19
  *
26
20
  * @example sidebar + main
27
21
  * <app-shell
@@ -35,7 +29,6 @@ import { ElementPart } from 'lit/directive.js';
35
29
  declare class Fill extends AsyncDirective {
36
30
  private element;
37
31
  private disconnecting$;
38
- private apply;
39
32
  private subscribe;
40
33
  render(): void;
41
34
  update(part: ElementPart): void;
@@ -0,0 +1,76 @@
1
+ /**
2
+ * FYI Directive — cute animated emoji indicators.
3
+ *
4
+ * Shows adorable emoji indicators with timing control, position options, and
5
+ * animation styles. Perfect for subtle hints, onboarding nudges, or playful UI
6
+ * feedback.
7
+ *
8
+ * **Overlay-aware**: Waits for sheets/dialogs to close before showing.
9
+ * **Requires emoji**: Without an emoji, this directive has no visible effect.
10
+ * For shimmer effects, use `nebula()` (header) or `<schmancy-fancy>` (cards).
11
+ *
12
+ * ## Cleanup pattern (Lit AsyncDirective)
13
+ *
14
+ * - `disconnected()`: releases all resources when the directive leaves use.
15
+ * - `reconnected()`: restores working state when the directive returns to use.
16
+ * - `isConnected`: checked before subscribing to prevent memory leaks.
17
+ *
18
+ * @see https://lit.dev/docs/templates/custom-directives/#async-directives
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * // Basic emoji hint
23
+ * html`<button ${fyi('☝️')}>Select folder</button>`
24
+ *
25
+ * // Emoji with position
26
+ * html`<button ${fyi({ emoji: '☝️', position: 'bottom' })}>Select folder</button>`
27
+ *
28
+ * // Full options
29
+ * html`<button ${fyi({
30
+ * emoji: '🎉',
31
+ * position: 'bottom',
32
+ * showAfter: 500,
33
+ * hideAfter: 3000,
34
+ * animation: 'bounce',
35
+ * })}>Celebrate!</button>`
36
+ * ```
37
+ */
38
+ import { AsyncDirective } from 'lit/async-directive.js';
39
+ import type { ElementPart } from 'lit';
40
+ export type FyiPosition = 'auto' | 'top' | 'bottom' | 'left' | 'right';
41
+ export type FyiAnimation = 'point' | 'bounce' | 'pulse' | 'none';
42
+ export interface FyiOptions {
43
+ /** The emoji to display (omit for shimmer-only mode) */
44
+ emoji?: string;
45
+ /** Where to position the indicator (default: 'auto') */
46
+ position?: FyiPosition;
47
+ /** Delay in ms before showing (default: 0) */
48
+ showAfter?: number;
49
+ /** Duration in ms before auto-hiding (omit to stay visible) */
50
+ hideAfter?: number;
51
+ /** Animation type (default: 'point') */
52
+ animation?: FyiAnimation;
53
+ /** Duration of one shimmer cycle in ms (default: 3000) */
54
+ shimmerDuration?: number;
55
+ }
56
+ declare class FyiDirective extends AsyncDirective {
57
+ private state;
58
+ private destroy$;
59
+ private subscriptions;
60
+ render(_options?: FyiOptions): symbol;
61
+ update(part: ElementPart, [options]: [FyiOptions?]): symbol;
62
+ private scheduleShow;
63
+ private waitForOverlaysClear;
64
+ private show;
65
+ private applyAnimation;
66
+ private getPointingKeyframes;
67
+ private scheduleHide;
68
+ private hide;
69
+ private restoreStyles;
70
+ private getPositionTransform;
71
+ private cleanup;
72
+ disconnected(): void;
73
+ reconnected(): void;
74
+ }
75
+ export declare const fyi: (_options?: FyiOptions) => import("lit-html/directive").DirectiveResult<typeof FyiDirective>;
76
+ export {};
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Hummingbird Directive - Realistic hummingbird flight animation
3
+ *
4
+ * PERFORMANCE OPTIMIZATIONS:
5
+ * 1. Use CSS transforms only (GPU-accelerated, no layout/paint)
6
+ * 2. will-change hints for compositor optimization
7
+ * 3. Single RAF loop, no nested animations
8
+ * 4. Minimize DOM operations
9
+ * 5. Pre-calculate values where possible
10
+ * 6. Use CSS animations for constant motion (wing blur)
11
+ *
12
+ * Based on scientific research:
13
+ * - Wing beat ~43Hz (PMC3311889)
14
+ * - Forward speed 13 m/s / 30mph (Britannica)
15
+ * - Figure-8 hover pattern (Royal Society)
16
+ *
17
+ * ANIMATION STATES (State Machine):
18
+ * - idle: waiting for delay
19
+ * - flying: moving between waypoints
20
+ * - hovering: figure-8 pattern at waypoint
21
+ * - spiraling: approaching black hole
22
+ * - absorbed: being sucked into black hole
23
+ * - done: cleanup complete
24
+ */
25
+ import { AsyncDirective } from 'lit/async-directive.js';
26
+ import type { ElementPart } from 'lit';
27
+ /**
28
+ * Element reference for waypoints/target:
29
+ * - CSS selector (e.g., '#app-card-melanie', '.my-class') - event-based discovery
30
+ * - Component tag name (e.g., 'schmancy-fancy') - event-based discovery
31
+ * - HTMLElement reference directly
32
+ */
33
+ type ElementRef = string | HTMLElement;
34
+ /** Waypoint with optional duration control */
35
+ interface Waypoint {
36
+ ref: ElementRef;
37
+ duration?: number;
38
+ }
39
+ interface HummingbirdOptions {
40
+ /** Waypoints the bird visits in sequence */
41
+ waypoints?: (ElementRef | Waypoint)[];
42
+ /** Where the bird returns home (triggers black hole effect). If omitted, bird fades out after last waypoint. */
43
+ home?: ElementRef;
44
+ /** Delay before starting flight (ms) */
45
+ delay?: number;
46
+ /** Whether the hummingbird should be playing. When false, cleans up and pauses. Defaults to true. */
47
+ playing?: boolean;
48
+ /** Show animated connection lines between visited waypoints. Defaults to false. */
49
+ showConnections?: boolean;
50
+ }
51
+ declare class HummingbirdDirective extends AsyncDirective {
52
+ private state$;
53
+ private destroyed$;
54
+ private visible$;
55
+ private bird;
56
+ private blackHole;
57
+ private particles;
58
+ private trailCanvas;
59
+ private trailCtx;
60
+ private lastTrailPos;
61
+ private rafId;
62
+ private context;
63
+ private element;
64
+ private options;
65
+ private hasHome;
66
+ /**
67
+ * Convert viewport coordinates to host-relative coordinates.
68
+ * getBoundingClientRect() returns viewport coords; we subtract the host's rect.
69
+ */
70
+ private toHostRelative;
71
+ render(_options?: boolean | HummingbirdOptions): symbol;
72
+ update(part: ElementPart, [options]: [boolean | HummingbirdOptions | undefined]): symbol;
73
+ private initStateMachine;
74
+ private handleStateTransition;
75
+ private createBird;
76
+ /** Current bird color — empty until `discoverInitialColor()` resolves a theme color. */
77
+ private currentColor;
78
+ /**
79
+ * Discover initial theme color from nearest schmancy-theme.
80
+ * Dispatches event FROM the host element so it bubbles up to nearest theme.
81
+ */
82
+ private discoverInitialColor;
83
+ /**
84
+ * Discover and update bird color based on current destination's theme.
85
+ * Dispatches event FROM the destination element so it bubbles to its nearest theme.
86
+ */
87
+ private updateBirdColor;
88
+ /**
89
+ * Discover all waypoint elements and return their positions with element references.
90
+ * Supports both simple ElementRef and Waypoint objects with duration.
91
+ * Uses RxJS forkJoin for parallel discovery.
92
+ */
93
+ private discoverWaypoints;
94
+ /**
95
+ * Discover a single element by reference using event-based discovery.
96
+ * - HTMLElement: return directly
97
+ * - String (CSS selector or component tag): use discover() service
98
+ */
99
+ private discoverElement;
100
+ /**
101
+ * Get position from an element reference (includes element for theme discovery).
102
+ * Target uses center position (for black hole effect).
103
+ */
104
+ private getPosition;
105
+ /**
106
+ * Update all destination positions from their stored element references.
107
+ * Called on window resize/scroll to keep positions accurate.
108
+ */
109
+ private updateDestinationPositions;
110
+ private startAnimationLoop;
111
+ private tickFlying;
112
+ /** Active shimmer overlay for current waypoint */
113
+ private shimmerOverlay;
114
+ private shimmerAnimation;
115
+ /** Active pulse rings for current waypoint */
116
+ private pulseRings;
117
+ private tickHovering;
118
+ /**
119
+ * Check if an element is sufficiently visible (opacity > 0.5 and not hidden)
120
+ * Uses 0.5 threshold to wait for CSS transitions to be halfway done
121
+ */
122
+ private isElementVisible;
123
+ /** Check if element is within the viewport bounds (with padding so bird doesn't fly to edges) */
124
+ private isInViewport;
125
+ /**
126
+ * Show shimmer effect on an element (similar to fyi directive)
127
+ */
128
+ private showShimmer;
129
+ /**
130
+ * Hide and cleanup shimmer effect
131
+ */
132
+ private hideShimmer;
133
+ /**
134
+ * Fade out bird gracefully (when no home defined)
135
+ */
136
+ private fadeOutBird;
137
+ /**
138
+ * Fade out bird and all visual elements gracefully before cleanup (when playing becomes false)
139
+ */
140
+ private fadeOutAndCleanup;
141
+ /**
142
+ * Show expanding pulse rings at position (like ripple/wave effect)
143
+ */
144
+ private showPulseRings;
145
+ private tickSpiraling;
146
+ /** Store home element for distortion effect */
147
+ private homeElement;
148
+ /**
149
+ * Start gravitational shake/wobble effect on the home element during absorption
150
+ */
151
+ private startHostDistortion;
152
+ private tickAbsorbed;
153
+ /** Additional visual elements for enhanced blackhole */
154
+ private accretionDisks;
155
+ private lensingRing;
156
+ private eventHorizon;
157
+ private createBlackHole;
158
+ private addParticles;
159
+ private collapseBlackHole;
160
+ /**
161
+ * Create the canvas for real-time trail rendering
162
+ */
163
+ private ensureTrailCanvas;
164
+ /**
165
+ * Draw trail segment from last position to current position
166
+ */
167
+ private drawTrail;
168
+ /**
169
+ * Reset trail position (called when starting new flight segment)
170
+ */
171
+ private resetTrail;
172
+ /**
173
+ * Fade out the entire trail canvas
174
+ */
175
+ private fadeTrail;
176
+ private cleanup;
177
+ disconnected(): void;
178
+ }
179
+ export declare const hummingbird: (_options?: boolean | HummingbirdOptions) => import("lit-html/directive").DirectiveResult<typeof HummingbirdDirective>;
180
+ export {};
@@ -1,4 +1,8 @@
1
1
  export * from './animate-text';
2
+ export * from './ai-badge';
3
+ export * from './art';
4
+ export * from './battery';
5
+ export * from './beta';
2
6
  export * from './color';
3
7
  export * from './confirm-click';
4
8
  export * from './cursor-glow';
@@ -6,15 +10,20 @@ export * from './cycle-text';
6
10
  export * from './depth-of-field';
7
11
  export * from './drag';
8
12
  export * from './fill';
13
+ export * from './fyi';
9
14
  export * from './gravity';
15
+ export * from './hummingbird';
10
16
  export * from './intersect';
11
17
  export * from './layout';
12
18
  export * from './liquid';
13
19
  export * from './living-border';
14
20
  export * from './long-press';
15
21
  export * from './magnetic';
22
+ export * from './missed-punch';
16
23
  export * from './nebula';
17
24
  export * from './reduced-motion';
18
25
  export * from './reveal';
19
26
  export * from './ripple';
20
27
  export * from './overflow-within';
28
+ export * from './urgent';
29
+ export * from './working-snake';
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Missed Punch directive — shattering glass effect for incomplete attendance.
3
+ *
4
+ * Renders an animated shattering/fragmenting overlay when an employee has only
5
+ * one punch on a past date, indicating they forgot to punch out.
6
+ *
7
+ * Visual: glass shards/fragments flying outward with a crack pattern.
8
+ */
9
+ import type { ElementPart } from 'lit';
10
+ import { AsyncDirective } from 'lit/async-directive.js';
11
+ export interface MissedPunchOptions {
12
+ active: boolean;
13
+ color?: string;
14
+ width?: number;
15
+ }
16
+ declare class MissedPunchDirective extends AsyncDirective {
17
+ private state;
18
+ render(_options: MissedPunchOptions): symbol;
19
+ update(part: ElementPart, [options]: [MissedPunchOptions]): symbol;
20
+ private createOverlay;
21
+ private generateShardPoints;
22
+ private setupVisibilityObserver;
23
+ private startAnimation;
24
+ private cleanup;
25
+ disconnected(): void;
26
+ }
27
+ export declare const missedPunch: (_options: MissedPunchOptions) => import("lit-html/directive").DirectiveResult<typeof MissedPunchDirective>;
28
+ export {};