@mhmo91/schmancy 0.10.23 → 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 (438) hide show
  1. package/dist/agent/{overlay.confirm-body-xfOh5Q28.js → overlay.confirm-body-DozUyDYx.js} +242 -242
  2. package/dist/agent/{overlay.confirm-body-xfOh5Q28.js.map → overlay.confirm-body-DozUyDYx.js.map} +1 -1
  3. package/dist/agent/schmancy.agent.js +5670 -2939
  4. package/dist/agent/schmancy.agent.js.map +1 -1
  5. package/dist/{area-Ddk7P5wD.js → area-1EG1LrkX.js} +1 -1
  6. package/dist/{area-Ddk7P5wD.js.map → area-1EG1LrkX.js.map} +1 -1
  7. package/dist/{area-Cbkt0NX4.cjs → area-DrVE5pXW.cjs} +1 -1
  8. package/dist/{area-Cbkt0NX4.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-CfBFDSc3.cjs → autocomplete-6pdZxEab.cjs} +1 -1
  12. package/dist/{autocomplete-CfBFDSc3.cjs.map → autocomplete-6pdZxEab.cjs.map} +1 -1
  13. package/dist/{autocomplete-Ds3Q2cwR.js → autocomplete-nrIcCilw.js} +2 -2
  14. package/dist/{autocomplete-Ds3Q2cwR.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-BF5P6p_f.js → boat--fLgbDAE.js} +3 -3
  23. package/dist/{boat-BF5P6p_f.js.map → boat--fLgbDAE.js.map} +1 -1
  24. package/dist/{boat-BPN8HLzZ.cjs → boat-BIB-gPqy.cjs} +1 -1
  25. package/dist/{boat-BPN8HLzZ.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-C7ejPa-Q.cjs → busy-DVCIxBVf.cjs} +1 -1
  31. package/dist/{busy-C7ejPa-Q.cjs.map → busy-DVCIxBVf.cjs.map} +1 -1
  32. package/dist/{busy-BuACDJy6.js → busy-DshZcVZ4.js} +1 -1
  33. package/dist/{busy-BuACDJy6.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-C1IMGS6M.js → button-D9UJ7I6Z.js} +5 -5
  37. package/dist/{button-C1IMGS6M.js.map → button-D9UJ7I6Z.js.map} +1 -1
  38. package/dist/{button-CWNbPPq-.cjs → button-JrTMzwHY.cjs} +4 -4
  39. package/dist/{button-CWNbPPq-.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-CgQwXO8L.js → card-BvCFuX3J.js} +2 -2
  43. package/dist/{card-CgQwXO8L.js.map → card-BvCFuX3J.js.map} +1 -1
  44. package/dist/{card-BIzaLuEg.cjs → card-CTotavhH.cjs} +1 -1
  45. package/dist/{card-BIzaLuEg.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-BAqE3sTx.cjs → checkbox-By4fFmjt.cjs} +1 -1
  49. package/dist/{checkbox-BAqE3sTx.cjs.map → checkbox-By4fFmjt.cjs.map} +1 -1
  50. package/dist/{checkbox-BNdg57Om.js → checkbox-GPsdCUbs.js} +1 -1
  51. package/dist/{checkbox-BNdg57Om.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-DnqLaOb1.js → chips-27umqnat.js} +4 -4
  55. package/dist/{chips-DnqLaOb1.js.map → chips-27umqnat.js.map} +1 -1
  56. package/dist/{chips-DS3y4Lbn.cjs → chips-BZf9sGA8.cjs} +1 -1
  57. package/dist/{chips-DS3y4Lbn.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-VA1mi1N7.cjs → date-range-BJnLWCRF.cjs} +1 -1
  69. package/dist/{date-range-VA1mi1N7.cjs.map → date-range-BJnLWCRF.cjs.map} +1 -1
  70. package/dist/{date-range-inline-CAa0_4EI.cjs → date-range-inline-B6uKUliV.cjs} +1 -1
  71. package/dist/{date-range-inline-CAa0_4EI.cjs.map → date-range-inline-B6uKUliV.cjs.map} +1 -1
  72. package/dist/{date-range-inline-PeRt1iIF.js → date-range-inline-BNbbRfIA.js} +1 -1
  73. package/dist/{date-range-inline-PeRt1iIF.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-CAqB-B0M.js → date-range-wDVHcr0u.js} +2 -2
  77. package/dist/{date-range-CAqB-B0M.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-BpFjVclg.js → details-Ckxpwacj.js} +4 -4
  83. package/dist/{details-BpFjVclg.js.map → details-Ckxpwacj.js.map} +1 -1
  84. package/dist/{details-BnXbDpt7.cjs → details-DNrWIes6.cjs} +1 -1
  85. package/dist/{details-BnXbDpt7.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-D8cBBkdG.js → divider-BzcZGo4S.js} +1 -1
  101. package/dist/{divider-D8cBBkdG.js.map → divider-BzcZGo4S.js.map} +1 -1
  102. package/dist/{divider-B84lt1A3.cjs → divider-Cde33ivs.cjs} +1 -1
  103. package/dist/{divider-B84lt1A3.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-BJiKggfg.js → expand-DI144OzN.js} +3 -3
  109. package/dist/{expand-BJiKggfg.js.map → expand-DI144OzN.js.map} +1 -1
  110. package/dist/{expand-DK-O37-j.cjs → expand-Db4V0jj-.cjs} +1 -1
  111. package/dist/{expand-DK-O37-j.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-RWR6Q1Hh.cjs → float--RScf9BZ.cjs} +1 -1
  115. package/dist/{float-RWR6Q1Hh.cjs.map → float--RScf9BZ.cjs.map} +1 -1
  116. package/dist/{float-B4FDN40h.js → float-DIyzy1c2.js} +1 -1
  117. package/dist/{float-B4FDN40h.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-ha3df3K7.cjs → form-DWNpOsIU.cjs} +1 -1
  121. package/dist/{form-ha3df3K7.cjs.map → form-DWNpOsIU.cjs.map} +1 -1
  122. package/dist/{form-B-Sm6u25.js → form-RtXH8UHQ.js} +8 -8
  123. package/dist/{form-B-Sm6u25.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-BXe1TPx1.cjs → iframe-B1XWRaLC.cjs} +1 -1
  137. package/dist/{iframe-BXe1TPx1.cjs.map → iframe-B1XWRaLC.cjs.map} +1 -1
  138. package/dist/{iframe-CByrVlZy.js → iframe-BlHK0cjy.js} +1 -1
  139. package/dist/{iframe-CByrVlZy.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-BY9OCQWr.cjs → input-C-_XU9AX.cjs} +1 -1
  145. package/dist/{input-BY9OCQWr.cjs.map → input-C-_XU9AX.cjs.map} +1 -1
  146. package/dist/{input-Q0fm34Co.js → input-CiGa8Dkl.js} +1 -1
  147. package/dist/{input-Q0fm34Co.js.map → input-CiGa8Dkl.js.map} +1 -1
  148. package/dist/{input-chip-BwNf3GD0.cjs → input-chip-5aYnuRZ_.cjs} +1 -1
  149. package/dist/{input-chip-BwNf3GD0.cjs.map → input-chip-5aYnuRZ_.cjs.map} +1 -1
  150. package/dist/{input-chip-CytUirVS.js → input-chip-l--zCMGR.js} +1 -1
  151. package/dist/{input-chip-CytUirVS.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 +2 -2
  155. package/dist/json.cjs.map +1 -1
  156. package/dist/json.js +3 -3
  157. package/dist/json.js.map +1 -1
  158. package/dist/kbd.cjs +1 -1
  159. package/dist/kbd.js +1 -1
  160. package/dist/{layout-Dq2oeOTS.js → layout-DSAjo92m.js} +1 -1
  161. package/dist/{layout-Dq2oeOTS.js.map → layout-DSAjo92m.js.map} +1 -1
  162. package/dist/{layout-BbCIfIgo.cjs → layout-eXb9wjDh.cjs} +1 -1
  163. package/dist/{layout-BbCIfIgo.cjs.map → layout-eXb9wjDh.cjs.map} +1 -1
  164. package/dist/layout.cjs +1 -1
  165. package/dist/layout.js +1 -1
  166. package/dist/{lightbox-p2E0oVR0.cjs → lightbox-CfRDkeeb.cjs} +2 -2
  167. package/dist/{lightbox-p2E0oVR0.cjs.map → lightbox-CfRDkeeb.cjs.map} +1 -1
  168. package/dist/{lightbox-Ckvn5YNF.js → lightbox-D9oiu1Nv.js} +2 -2
  169. package/dist/{lightbox-Ckvn5YNF.js.map → lightbox-D9oiu1Nv.js.map} +1 -1
  170. package/dist/lightbox.cjs +1 -1
  171. package/dist/lightbox.js +1 -1
  172. package/dist/{list-CsrPVvmm.js → list-BOlRka4v.js} +1 -1
  173. package/dist/{list-CsrPVvmm.js.map → list-BOlRka4v.js.map} +1 -1
  174. package/dist/{list-r57UFHu3.cjs → list-CDJi3_Ut.cjs} +1 -1
  175. package/dist/{list-r57UFHu3.cjs.map → list-CDJi3_Ut.cjs.map} +1 -1
  176. package/dist/list.cjs +1 -1
  177. package/dist/list.js +1 -1
  178. package/dist/{magnetic-Bgh7aHHI.cjs → magnetic-D-ph029G.cjs} +1 -1
  179. package/dist/{magnetic-Bgh7aHHI.cjs.map → magnetic-D-ph029G.cjs.map} +1 -1
  180. package/dist/{magnetic-DxvoEz8_.js → magnetic-mHXl54Z8.js} +1 -1
  181. package/dist/{magnetic-DxvoEz8_.js.map → magnetic-mHXl54Z8.js.map} +1 -1
  182. package/dist/{menu-DBuZiPyW.cjs → menu-CJaDL2cd.cjs} +1 -1
  183. package/dist/{menu-DBuZiPyW.cjs.map → menu-CJaDL2cd.cjs.map} +1 -1
  184. package/dist/{menu-Csm6Fg88.js → menu-XyrLmCi_.js} +2 -2
  185. package/dist/{menu-Csm6Fg88.js.map → menu-XyrLmCi_.js.map} +1 -1
  186. package/dist/menu.cjs +1 -1
  187. package/dist/menu.js +1 -1
  188. package/dist/mixins-CsYsIJOI.cjs +254 -0
  189. package/dist/mixins-CsYsIJOI.cjs.map +1 -0
  190. package/dist/mixins-DySzfmal.js +642 -0
  191. package/dist/mixins-DySzfmal.js.map +1 -0
  192. package/dist/mixins.cjs +1 -1
  193. package/dist/mixins.js +2 -2
  194. package/dist/nav-drawer.cjs +1 -1
  195. package/dist/nav-drawer.js +1 -1
  196. package/dist/navigation-bar.cjs +1 -1
  197. package/dist/navigation-bar.js +1 -1
  198. package/dist/navigation-rail.cjs +5 -9
  199. package/dist/navigation-rail.cjs.map +1 -1
  200. package/dist/navigation-rail.js +5 -11
  201. package/dist/navigation-rail.js.map +1 -1
  202. package/dist/{notification-CgTBiAdf.js → notification-CHrEY4u8.js} +2 -2
  203. package/dist/{notification-CgTBiAdf.js.map → notification-CHrEY4u8.js.map} +1 -1
  204. package/dist/{notification-58tkVys8.cjs → notification-DKp4tjaB.cjs} +1 -1
  205. package/dist/{notification-58tkVys8.cjs.map → notification-DKp4tjaB.cjs.map} +1 -1
  206. package/dist/notification.cjs +1 -1
  207. package/dist/notification.js +1 -1
  208. package/dist/{option-Bicf6xpI.js → option-Vpy4UQ-D.js} +1 -1
  209. package/dist/{option-Bicf6xpI.js.map → option-Vpy4UQ-D.js.map} +1 -1
  210. package/dist/{option-61YE3gub.cjs → option-nRk4MuXH.cjs} +1 -1
  211. package/dist/{option-61YE3gub.cjs.map → option-nRk4MuXH.cjs.map} +1 -1
  212. package/dist/option.cjs +1 -1
  213. package/dist/option.js +1 -1
  214. package/dist/{overlay-CpvmytrQ.cjs → overlay-HNrWZ4sB.cjs} +1 -1
  215. package/dist/{overlay-CpvmytrQ.cjs.map → overlay-HNrWZ4sB.cjs.map} +1 -1
  216. package/dist/{overlay-CAI2FAp7.js → overlay-jlkcrt8F.js} +5 -5
  217. package/dist/{overlay-CAI2FAp7.js.map → overlay-jlkcrt8F.js.map} +1 -1
  218. package/dist/{overlay-stack-Dk0xETTy.cjs.map → overlay-stack-Bdr9lOqi.cjs.map} +1 -1
  219. package/dist/{overlay-stack-BR4iYivO.js.map → overlay-stack-D2rgxQLh.js.map} +1 -1
  220. package/dist/overlay.cjs +1 -1
  221. package/dist/{overlay.confirm-body-QD-5cj3_.cjs → overlay.confirm-body-B8dFI3cj.cjs} +1 -1
  222. package/dist/{overlay.confirm-body-QD-5cj3_.cjs.map → overlay.confirm-body-B8dFI3cj.cjs.map} +1 -1
  223. package/dist/{overlay.confirm-body-Cq25CkTw.js → overlay.confirm-body-CYShkjI6.js} +1 -1
  224. package/dist/{overlay.confirm-body-Cq25CkTw.js.map → overlay.confirm-body-CYShkjI6.js.map} +1 -1
  225. package/dist/overlay.js +3 -3
  226. package/dist/{overlay.service-BG0bqPwJ.cjs → overlay.service-BTPn7Uv7.cjs} +1 -1
  227. package/dist/{overlay.service-BG0bqPwJ.cjs.map → overlay.service-BTPn7Uv7.cjs.map} +1 -1
  228. package/dist/{overlay.service-Bpjrhaxh.js → overlay.service-BqhhxVJp.js} +2 -2
  229. package/dist/{overlay.service-Bpjrhaxh.js.map → overlay.service-BqhhxVJp.js.map} +1 -1
  230. package/dist/{progress-Zqx-S9NZ.js → progress-8Bn88GK_.js} +1 -1
  231. package/dist/{progress-Zqx-S9NZ.js.map → progress-8Bn88GK_.js.map} +1 -1
  232. package/dist/{progress-D8XZJVl5.cjs → progress-CAp_4jtq.cjs} +1 -1
  233. package/dist/{progress-D8XZJVl5.cjs.map → progress-CAp_4jtq.cjs.map} +1 -1
  234. package/dist/progress.cjs +1 -1
  235. package/dist/progress.js +1 -1
  236. package/dist/{radio-group-bl8K4Gls.cjs → radio-group-CN44mAoc.cjs} +1 -1
  237. package/dist/{radio-group-bl8K4Gls.cjs.map → radio-group-CN44mAoc.cjs.map} +1 -1
  238. package/dist/{radio-group-D9MU1Mxz.js → radio-group-GNHA7qJR.js} +1 -1
  239. package/dist/{radio-group-D9MU1Mxz.js.map → radio-group-GNHA7qJR.js.map} +1 -1
  240. package/dist/radio-group.cjs +1 -1
  241. package/dist/radio-group.js +1 -1
  242. package/dist/range.cjs +1 -1
  243. package/dist/range.js +1 -1
  244. package/dist/{reduced-motion-D7LqTUMn.js.map → reduced-motion-D-L12p7G.js.map} +1 -1
  245. package/dist/{reduced-motion-Dzfp_w5x.cjs.map → reduced-motion-Ds-HjMzn.cjs.map} +1 -1
  246. package/dist/{rxjs-utils-BK8VMe3K.js.map → rxjs-utils-BXpvHN4-.js.map} +1 -1
  247. package/dist/{rxjs-utils-DhOKenkS.cjs.map → rxjs-utils-CaC-tdot.cjs.map} +1 -1
  248. package/dist/rxjs-utils.cjs +1 -1
  249. package/dist/rxjs-utils.js +1 -1
  250. package/dist/{select-CMwkl-D6.js → select-BnuXRHS4.js} +3 -3
  251. package/dist/{select-CMwkl-D6.js.map → select-BnuXRHS4.js.map} +1 -1
  252. package/dist/{select-COIfVtZl.cjs → select-DZNns5Pa.cjs} +2 -2
  253. package/dist/{select-COIfVtZl.cjs.map → select-DZNns5Pa.cjs.map} +1 -1
  254. package/dist/select.cjs +1 -1
  255. package/dist/select.js +1 -1
  256. package/dist/skeleton.cjs +1 -1
  257. package/dist/skeleton.js +1 -1
  258. package/dist/skills/INDEX.md +2 -1
  259. package/dist/skills/SKILL.md +33 -23
  260. package/dist/skills/area.md +5 -4
  261. package/dist/skills/connectivity.md +1 -3
  262. package/dist/skills/directives.md +36 -0
  263. package/dist/skills/icons.md +95 -31
  264. package/dist/skills/layout.md +36 -53
  265. package/dist/skills/mixins.md +26 -5
  266. package/dist/skills/schmancy/INDEX.md +2 -1
  267. package/dist/skills/schmancy/SKILL.md +33 -23
  268. package/dist/skills/schmancy/area.md +5 -4
  269. package/dist/skills/schmancy/connectivity.md +1 -3
  270. package/dist/skills/schmancy/directives.md +36 -0
  271. package/dist/skills/schmancy/icons.md +95 -31
  272. package/dist/skills/schmancy/layout.md +36 -53
  273. package/dist/skills/schmancy/mixins.md +26 -5
  274. package/dist/slider.cjs +1 -1
  275. package/dist/slider.js +1 -1
  276. package/dist/{splash-screen-xrMNpzkm.js → splash-screen-CUP_elaT.js} +1 -1
  277. package/dist/{splash-screen-xrMNpzkm.js.map → splash-screen-CUP_elaT.js.map} +1 -1
  278. package/dist/{splash-screen-2hxq8Sft.cjs → splash-screen-DeoPRrOu.cjs} +1 -1
  279. package/dist/{splash-screen-2hxq8Sft.cjs.map → splash-screen-DeoPRrOu.cjs.map} +1 -1
  280. package/dist/splash-screen.cjs +1 -1
  281. package/dist/splash-screen.js +1 -1
  282. package/dist/{src-B15R32Sp.js → src-B1VkLX3l.js} +159 -159
  283. package/dist/src-B1VkLX3l.js.map +1 -0
  284. package/dist/{src-BWQvtOOf.cjs → src-DQ4wr0qq.cjs} +13 -13
  285. package/dist/src-DQ4wr0qq.cjs.map +1 -0
  286. package/dist/steps.cjs +1 -1
  287. package/dist/steps.js +1 -1
  288. package/dist/{surface-BkQ44Wuo.cjs → surface-LkaZQXZn.cjs} +1 -1
  289. package/dist/{surface-BkQ44Wuo.cjs.map → surface-LkaZQXZn.cjs.map} +1 -1
  290. package/dist/{surface-3nnvlxeE.js → surface-hOvkrjGN.js} +1 -1
  291. package/dist/{surface-3nnvlxeE.js.map → surface-hOvkrjGN.js.map} +1 -1
  292. package/dist/surface.cjs +1 -1
  293. package/dist/surface.js +1 -1
  294. package/dist/switch.cjs +1 -1
  295. package/dist/switch.js +1 -1
  296. package/dist/table.cjs +2 -2
  297. package/dist/table.cjs.map +1 -1
  298. package/dist/table.js +2 -2
  299. package/dist/table.js.map +1 -1
  300. package/dist/{tabs-CnLIe8nE.js → tabs-CfwIHhHo.js} +1 -1
  301. package/dist/{tabs-CnLIe8nE.js.map → tabs-CfwIHhHo.js.map} +1 -1
  302. package/dist/{tabs-Dql0rcqZ.cjs → tabs-bplzstz6.cjs} +1 -1
  303. package/dist/{tabs-Dql0rcqZ.cjs.map → tabs-bplzstz6.cjs.map} +1 -1
  304. package/dist/tabs.cjs +1 -1
  305. package/dist/tabs.js +1 -1
  306. package/dist/teleport.cjs +1 -1
  307. package/dist/teleport.js +1 -1
  308. package/dist/{textarea-BAogS_Ff.js → textarea-C1A5xuw9.js} +1 -1
  309. package/dist/{textarea-BAogS_Ff.js.map → textarea-C1A5xuw9.js.map} +1 -1
  310. package/dist/{textarea-CGD6lAEe.cjs → textarea-hrDp5gQq.cjs} +1 -1
  311. package/dist/{textarea-CGD6lAEe.cjs.map → textarea-hrDp5gQq.cjs.map} +1 -1
  312. package/dist/textarea.cjs +1 -1
  313. package/dist/textarea.js +1 -1
  314. package/dist/{theme-CUK0HrS3.js → theme-BniFOMEo.js} +4 -4
  315. package/dist/{theme-CUK0HrS3.js.map → theme-BniFOMEo.js.map} +1 -1
  316. package/dist/{theme-DKrrQ-ic.cjs → theme-DmR6PKV8.cjs} +3 -3
  317. package/dist/{theme-DKrrQ-ic.cjs.map → theme-DmR6PKV8.cjs.map} +1 -1
  318. package/dist/{theme-button-Bb8qW2IH.js → theme-button--ruZIb0T.js} +1 -1
  319. package/dist/{theme-button-Bb8qW2IH.js.map → theme-button--ruZIb0T.js.map} +1 -1
  320. package/dist/{theme-button-CmTwFm3l.cjs → theme-button-a0LgZ7hQ.cjs} +1 -1
  321. package/dist/{theme-button-CmTwFm3l.cjs.map → theme-button-a0LgZ7hQ.cjs.map} +1 -1
  322. package/dist/theme-button.cjs +1 -1
  323. package/dist/theme-button.js +1 -1
  324. package/dist/theme.cjs +1 -1
  325. package/dist/{theme.interface-D4NeufQA.cjs.map → theme.interface-B5xjEk74.cjs.map} +1 -1
  326. package/dist/{theme.interface-C2XNgsLB.js.map → theme.interface-DVEw3s8m.js.map} +1 -1
  327. package/dist/theme.js +4 -4
  328. package/dist/{theme.service-CSzNkqBB.js.map → theme.service-Bh08uOSJ.js.map} +1 -1
  329. package/dist/{theme.service-CnFUmUpc.cjs.map → theme.service-Y-e8b331.cjs.map} +1 -1
  330. package/dist/tree.cjs +1 -1
  331. package/dist/tree.js +1 -1
  332. package/dist/typography.cjs +1 -1
  333. package/dist/typography.js +1 -1
  334. package/dist/{utils-Cxg0Kfy5.js → utils-578eFTx4.js} +1 -1
  335. package/dist/{utils-Cxg0Kfy5.js.map → utils-578eFTx4.js.map} +1 -1
  336. package/dist/{utils-aCJYAGUr.cjs → utils-CVWUrECT.cjs} +1 -1
  337. package/dist/{utils-aCJYAGUr.cjs.map → utils-CVWUrECT.cjs.map} +1 -1
  338. package/dist/utils.cjs +1 -1
  339. package/dist/utils.js +2 -2
  340. package/dist/visually-hidden.cjs +1 -1
  341. package/dist/visually-hidden.js +1 -1
  342. package/dist/{window-DuDAQa6y.js → window-BT9JecWy.js} +5 -5
  343. package/dist/{window-DuDAQa6y.js.map → window-BT9JecWy.js.map} +1 -1
  344. package/dist/{window-BbWlaPZv.cjs → window-Bp7zWZpu.cjs} +1 -1
  345. package/dist/{window-BbWlaPZv.cjs.map → window-Bp7zWZpu.cjs.map} +1 -1
  346. package/dist/window.cjs +1 -1
  347. package/dist/window.js +1 -1
  348. package/package.json +1 -1
  349. package/skills/schmancy/INDEX.md +2 -1
  350. package/skills/schmancy/SKILL.md +33 -23
  351. package/skills/schmancy/area.md +5 -4
  352. package/skills/schmancy/connectivity.md +1 -3
  353. package/skills/schmancy/directives.md +36 -0
  354. package/skills/schmancy/icons.md +95 -31
  355. package/skills/schmancy/layout.md +36 -53
  356. package/skills/schmancy/mixins.md +26 -5
  357. package/src/badge/badge.ts +7 -11
  358. package/src/button/icon-button.ts +3 -4
  359. package/src/directives/ai-badge.ts +95 -0
  360. package/src/directives/art/art.directive.ts +228 -0
  361. package/src/directives/art/effects/error.ts +192 -0
  362. package/src/directives/art/effects/funkhaus.ts +121 -0
  363. package/src/directives/art/effects/howl.ts +203 -0
  364. package/src/directives/art/effects/samwa.ts +228 -0
  365. package/src/directives/art/effects/snow.ts +207 -0
  366. package/src/directives/art/effects/starfield.ts +107 -0
  367. package/src/directives/art/index.ts +2 -0
  368. package/src/directives/art/particle-pool.ts +40 -0
  369. package/src/directives/art/types.ts +129 -0
  370. package/src/directives/art/utils.ts +35 -0
  371. package/src/directives/battery.ts +1014 -0
  372. package/src/directives/beta.ts +44 -0
  373. package/src/directives/fill.ts +32 -60
  374. package/src/directives/fyi.ts +551 -0
  375. package/src/directives/hummingbird.ts +1712 -0
  376. package/src/directives/index.ts +9 -0
  377. package/src/directives/missed-punch.ts +407 -0
  378. package/src/directives/urgent.ts +660 -0
  379. package/src/directives/working-snake.ts +294 -0
  380. package/src/icons/icon.ts +53 -30
  381. package/src/json/json.ts +1 -1
  382. package/src/navigation-rail/navigation-rail-item.ts +7 -12
  383. package/src/navigation-rail/navigation-rail.ts +0 -2
  384. package/src/table/table.ts +2 -2
  385. package/src/theme/theme-audio-player.ts +1 -1
  386. package/types/mixins/SchmancyElement.d.ts +31 -0
  387. package/types/src/badge/badge.d.ts +1 -1
  388. package/types/src/directives/ai-badge.d.ts +15 -0
  389. package/types/src/directives/art/art.directive.d.ts +19 -0
  390. package/types/src/directives/art/effects/error.d.ts +7 -0
  391. package/types/src/directives/art/effects/funkhaus.d.ts +7 -0
  392. package/types/src/directives/art/effects/howl.d.ts +7 -0
  393. package/types/src/directives/art/effects/samwa.d.ts +7 -0
  394. package/types/src/directives/art/effects/snow.d.ts +7 -0
  395. package/types/src/directives/art/effects/starfield.d.ts +10 -0
  396. package/types/src/directives/art/index.d.ts +2 -0
  397. package/types/src/directives/art/particle-pool.d.ts +16 -0
  398. package/types/src/directives/art/types.d.ts +126 -0
  399. package/types/src/directives/art/utils.d.ts +5 -0
  400. package/types/src/directives/battery.d.ts +96 -0
  401. package/types/src/directives/beta.d.ts +33 -0
  402. package/types/src/directives/fill.d.ts +4 -11
  403. package/types/src/directives/fyi.d.ts +76 -0
  404. package/types/src/directives/hummingbird.d.ts +180 -0
  405. package/types/src/directives/index.d.ts +9 -0
  406. package/types/src/directives/missed-punch.d.ts +28 -0
  407. package/types/src/directives/urgent.d.ts +88 -0
  408. package/types/src/directives/working-snake.d.ts +46 -0
  409. package/types/src/icons/icon.d.ts +22 -0
  410. package/dist/directives.cjs.map +0 -1
  411. package/dist/directives.js.map +0 -1
  412. package/dist/discovery.cjs.map +0 -1
  413. package/dist/discovery.js.map +0 -1
  414. package/dist/icons-DJuXwn8D.js +0 -48
  415. package/dist/icons-DJuXwn8D.js.map +0 -1
  416. package/dist/icons-oNRUCAEY.cjs +0 -33
  417. package/dist/icons-oNRUCAEY.cjs.map +0 -1
  418. package/dist/mixins-DTCHPEd4.cjs +0 -254
  419. package/dist/mixins-DTCHPEd4.cjs.map +0 -1
  420. package/dist/mixins-pU53qf6R.js +0 -636
  421. package/dist/mixins-pU53qf6R.js.map +0 -1
  422. package/dist/skills/page.md +0 -84
  423. package/dist/skills/schmancy/page.md +0 -84
  424. package/dist/src-B15R32Sp.js.map +0 -1
  425. package/dist/src-BWQvtOOf.cjs.map +0 -1
  426. package/skills/schmancy/page.md +0 -84
  427. /package/dist/{hashContent-dJrI-9sc.js → hashContent-Dgmzc32o.js} +0 -0
  428. /package/dist/{hashContent-Ck6laKlk.cjs → hashContent-Dh1VzIAb.cjs} +0 -0
  429. /package/dist/{overlay-stack-Dk0xETTy.cjs → overlay-stack-Bdr9lOqi.cjs} +0 -0
  430. /package/dist/{overlay-stack-BR4iYivO.js → overlay-stack-D2rgxQLh.js} +0 -0
  431. /package/dist/{reduced-motion-D7LqTUMn.js → reduced-motion-D-L12p7G.js} +0 -0
  432. /package/dist/{reduced-motion-Dzfp_w5x.cjs → reduced-motion-Ds-HjMzn.cjs} +0 -0
  433. /package/dist/{rxjs-utils-BK8VMe3K.js → rxjs-utils-BXpvHN4-.js} +0 -0
  434. /package/dist/{rxjs-utils-DhOKenkS.cjs → rxjs-utils-CaC-tdot.cjs} +0 -0
  435. /package/dist/{theme.interface-D4NeufQA.cjs → theme.interface-B5xjEk74.cjs} +0 -0
  436. /package/dist/{theme.interface-C2XNgsLB.js → theme.interface-DVEw3s8m.js} +0 -0
  437. /package/dist/{theme.service-CSzNkqBB.js → theme.service-Bh08uOSJ.js} +0 -0
  438. /package/dist/{theme.service-CnFUmUpc.cjs → theme.service-Y-e8b331.cjs} +0 -0
@@ -1,44 +1,108 @@
1
1
  # schmancy-icon
2
2
 
3
- > Material Symbols icon with configurable fill, weight, grade, variant, and size tokens.
3
+ Renders a Material Symbol as an inline SVG. Path data is supplied at build
4
+ time by the `schmancy-icons` Vite plugin — no font file, no network request,
5
+ works offline from first byte.
4
6
 
5
7
  ## Usage
8
+
9
+ ```html
10
+ <schmancy-icon>home</schmancy-icon>
11
+ <schmancy-icon>delete</schmancy-icon>
12
+ ```
13
+
14
+ Slot text IS the icon name (Material Symbols ligature name). No properties needed.
15
+
16
+ ## Sizing
17
+
18
+ Size is set with Tailwind `text-*` on the host. Default is `24px` (`text-2xl`).
19
+ `width` and `height` track `font-size` via `1em`.
20
+
6
21
  ```html
7
- <schmancy-icon>settings</schmancy-icon>
22
+ <schmancy-icon class="text-base">close</schmancy-icon> <!-- 16px -->
23
+ <schmancy-icon class="text-xl">search</schmancy-icon> <!-- 20px -->
24
+ <schmancy-icon class="text-2xl">home</schmancy-icon> <!-- 24px (default) -->
25
+ <schmancy-icon class="text-4xl">check_circle</schmancy-icon> <!-- 36px -->
8
26
  ```
9
27
 
10
- ## Properties
11
- | Property | Type | Default | Description |
12
- |----------|------|---------|-------------|
13
- | icon | string | `undefined` | Icon name (alternative to slot content, translation-safe) |
14
- | size | `'xxs'\|'xs'\|'sm'\|'md'\|'lg'\|string` | `'md'` | Icon size (12/16/20/24/32px or custom) |
15
- | fill | number (0-1) | `0` | Fill level (0=outlined, 1=filled) |
16
- | weight | number (100-700) | `400` | Stroke thickness |
17
- | grade | number (-50 to 200) | `0` | Visual weight adjustment |
18
- | variant | `'outlined'\|'rounded'\|'sharp'` | `'outlined'` | Icon style variant |
19
-
20
- ## Size Tokens
21
- | Token | Size | Optical Size | Best For |
22
- |-------|------|-------------|----------|
23
- | xxs | 12px | 20 | Ultra-compact UIs |
24
- | xs | 16px | 20 | 32px buttons |
25
- | sm | 20px | 20 | 40px buttons |
26
- | md | 24px | 24 | Default (48px buttons) |
27
- | lg | 32px | 40 | 56px buttons |
28
-
29
- ## Examples
28
+ ## Color
29
+
30
+ Inherits `currentColor`. Override with Tailwind color utilities:
31
+
32
+ ```html
33
+ <schmancy-icon class="text-primary-default">star</schmancy-icon>
34
+ <schmancy-icon class="opacity-50">info</schmancy-icon>
35
+ ```
36
+
37
+ ## Fill variant (active states)
38
+
39
+ Append `-fill` to the icon name for the filled variant. No CSS animation —
40
+ a clean swap between outlined and filled symbols:
41
+
30
42
  ```html
31
- <!-- Filled icon -->
32
- <schmancy-icon .fill=${1}>favorite</schmancy-icon>
43
+ <!-- Static filled -->
44
+ <schmancy-icon>favorite-fill</schmancy-icon>
33
45
 
34
- <!-- Large rounded icon -->
35
- <schmancy-icon size="lg" variant="rounded">home</schmancy-icon>
46
+ <!-- Dynamic active state -->
47
+ <schmancy-icon>${active ? 'home-fill' : 'home'}</schmancy-icon>
48
+ ```
49
+
50
+ The plugin auto-includes `-fill` variants for every detected base icon.
51
+
52
+ ## Vite plugin setup (web workspace)
53
+
54
+ The plugin scans all `.ts` source files at build start and injects
55
+ `window.__siIcons = { name: 'svgPathData', ... }` inline in `<head>`.
56
+
57
+ ```typescript
58
+ // web/vite.config.ts
59
+ import { schmancyIcons } from './plugins/schmancy-icons.ts'
60
+
61
+ export default defineConfig({
62
+ plugins: [
63
+ schmancyIcons({
64
+ // Icon names used in runtime variables (not statically detectable).
65
+ // Type them as SchmancyIconName in consuming code.
66
+ additional: ['widgets', 'inventory_2', 'description'],
67
+ }),
68
+ ],
69
+ })
70
+ ```
36
71
 
37
- <!-- Custom size -->
38
- <schmancy-icon size="48px" .weight=${300}>search</schmancy-icon>
72
+ ### Adding icons for dynamic usage
39
73
 
40
- <!-- Translation-safe (use icon property instead of slot) -->
41
- <schmancy-icon icon="delete"></schmancy-icon>
74
+ Any icon name carried in a variable at runtime must be declared in `additional`.
75
+ TypeScript enforcement: the plugin generates `src/types/icon-name.d.ts` with
76
+ a `SchmancyIconName` union of every icon in the bundle. Type dynamic icon props
77
+ as `SchmancyIconName` to get compile-time coverage.
78
+
79
+ ```typescript
80
+ import type { SchmancyIconName } from './types/icon-name'
81
+
82
+ @property({ type: String }) icon: SchmancyIconName = 'home'
42
83
  ```
43
84
 
44
- Auto-loads Google Fonts on first use. Translation-protected via `translate="no"` and `notranslate` class.
85
+ ## What was removed
86
+
87
+ The following properties are **gone** — the component has no public API beyond
88
+ slot text content:
89
+
90
+ | Removed | Replacement |
91
+ |---------|-------------|
92
+ | `size="lg"` | `class="text-4xl"` (Tailwind) |
93
+ | `fill`, `weight`, `grade`, `variant` | n/a — use `-fill` suffix for filled, rest unsupported |
94
+ | `icon="name"` prop | slot text: `<schmancy-icon>name</schmancy-icon>` |
95
+ | Google Fonts auto-load | n/a — self-contained inline SVG |
96
+
97
+ ## How it works
98
+
99
+ 1. Vite plugin walks `web/src/**/*.ts`, extracts icon names from
100
+ `<schmancy-icon>name</schmancy-icon>` and `icon="name"` patterns.
101
+ 2. Reads `@material-symbols/svg-400/outlined/{name}.svg`, extracts the `d`
102
+ attribute from each `<path>`.
103
+ 3. Injects `<script>window.__siIcons={...}</script>` before `</head>`.
104
+ 4. `schmancy-icon.connectedCallback` reads `this.textContent`, looks up
105
+ `window.__siIcons[name]`, and renders `<svg><path d="..."/></svg>` inside
106
+ its shadow DOM.
107
+
108
+ No `<use>` references — those can't cross shadow DOM boundaries.
@@ -1,63 +1,46 @@
1
- # Schmancy Layout
1
+ # Layout Directives
2
2
 
3
- > Layout primitives: `schmancy-grid`, `schmancy-flex`, `schmancy-scroll`, plus `sch-grid` / `sch-flex` v2 variants.
3
+ ```typescript
4
+ import { fill, overflowWithin } from '@mhmo91/schmancy/directives'
5
+ ```
4
6
 
5
- > **Prefer Tailwind classes directly** for layout in new code. These components exist for quick composition and design-token consistency (`gap="sm|md|lg"` maps to theme spacing).
7
+ ## `fill()` viewport-anchor an element
6
8
 
7
- ## schmancy-grid
8
- ```html
9
- <schmancy-grid cols="1fr 2fr 1fr" gap="md" align="center">
10
- <div>Left</div><div>Center</div><div>Right</div>
11
- </schmancy-grid>
12
- ```
9
+ Measures against `visualViewport` and writes exact `height`/`width` in px. Cascade-independent — works even when parent custom elements default to `display: inline`. Tracks iOS keyboard, orientation change, and `theme.bottomOffset$`.
13
10
 
14
- | Property | Type | Default | Description |
15
- |----------|------|---------|-------------|
16
- | `flow` | `'row' \| 'col' \| 'dense' \| 'row-dense' \| 'col-dense'` | `'row'` | Grid auto-flow |
17
- | `align` | `'start' \| 'center' \| 'end' \| 'stretch' \| 'baseline'` | `'stretch'` | Item alignment |
18
- | `justify` | `'start' \| 'center' \| 'end' \| 'stretch'` | `'stretch'` | Item justification |
19
- | `content` | `'start' \| 'center' \| 'end' \| 'stretch' \| 'around' \| 'evenly' \| 'between'` | — | Align-content |
20
- | `gap` | `'none' \| 'xs' \| 'sm' \| 'md' \| 'lg'` | `'none'` | Grid gap |
21
- | `cols` | string | — | grid-template-columns (e.g. `"1fr 2fr"`) |
22
- | `rows` | string | — | grid-template-rows |
23
- | `rcols` | object | — | Responsive cols: `{ sm: '1fr', md: '1fr 1fr', lg: '1fr 2fr 1fr' }` |
24
- | `wrap` | boolean | `false` | Grid auto-wrap |
25
-
26
- ## schmancy-flex
27
- ```html
28
- <schmancy-flex flow="row" justify="between" align="center" gap="md">
29
- <div>Logo</div><div>Nav</div>
30
- </schmancy-flex>
31
- ```
11
+ Sets: `height: Npx`, `width: Npx`, `overflow: hidden`, `min-h/w: 0`, `box-sizing: border-box`, `padding-bottom` (safe area).
12
+ Does **not** set `display` or `grid-template-*` — use Tailwind classes on the same element.
32
13
 
33
- | Property | Type | Default |
34
- |----------|------|---------|
35
- | `flow` | `'row' \| 'row-reverse' \| 'col' \| 'col-reverse'` | `'col'` |
36
- | `wrap` | `'wrap' \| 'nowrap' \| 'wrap-reverse'` | `'wrap'` |
37
- | `align` | `'start' \| 'center' \| 'end' \| 'stretch' \| 'baseline'` | `'start'` |
38
- | `justify` | `'start' \| 'center' \| 'end' \| 'stretch' \| 'between'` | `'start'` |
39
- | `gap` | `'none' \| 'sm' \| 'md' \| 'lg'` | `'none'` |
40
-
41
- ## schmancy-scroll
42
- ```html
43
- <schmancy-scroll hide direction="vertical" name="main">
44
- <!-- long content -->
45
- </schmancy-scroll>
46
- ```
14
+ ## `overflowWithin()` contained scroll region
47
15
 
48
- | Property | Type | Default | Description |
49
- |----------|------|---------|-------------|
50
- | `hide` | boolean | `false` | Hide scrollbar in supported browsers |
51
- | `direction` | `'vertical' \| 'horizontal' \| 'both'` | `'both'` | Scroll axes |
52
- | `name` | string | — | Identifier for global scroll events |
53
- | `debounce` | number | — | Debounce time in ms for scroll events |
16
+ Sets: `overflow: auto`, `overscroll-behavior: contain`, `scroll-behavior: smooth`, `min-h/w: 0`, `box-sizing: border-box`.
54
17
 
55
- Smooth scroll-behavior, overscroll containment, and support for flex-shrink sizing.
18
+ ## Canonical shell
56
19
 
57
- ## sch-grid / sch-flex (v2)
20
+ ```typescript
21
+ // app-shell.view.ts
22
+ html`<schmancy-area ${fill()} name="root" .default=${...}>...</schmancy-area>`
23
+
24
+ // app-home.view.ts
25
+ html`
26
+ <my-shell class="grid grid-cols-[auto_1fr]" ${fill()}>
27
+ <app-rail></app-rail>
28
+ <div ${overflowWithin()} class="grid grid-rows-[auto_1fr] min-h-0">
29
+ <tree-picker></tree-picker>
30
+ <schmancy-area name="app" .default=${...}>...</schmancy-area>
31
+ </div>
32
+ </my-shell>
33
+ `
34
+ ```
35
+
36
+ ```css
37
+ /* styles.css */
38
+ html, body { margin: 0; padding: 0; overflow: hidden; }
39
+ ```
58
40
 
59
- Reflected-attribute variants optimized for styling via CSS selectors. Same prop model as the classic components with a `sch-` prefix. Use when you need to target the layout from parent CSS without Tailwind.
41
+ ## Rules
60
42
 
61
- ## Notes
62
- - All layout components extend the base `Layout` class which exposes pass-through CSS properties (padding, margin, width, position, border, etc.).
63
- - Prefer Tailwind (`class="flex items-center gap-2"`) for new code these components remain for consistent theme-driven gaps and rapid prototyping.
43
+ - One `fill()` per shell level. Inner levels get `min-h-0` grid cells.
44
+ - `overflowWithin()` goes on the element that should scroll, not on `:host`.
45
+ - Do not write `h-full`, `w-full`, or `:host { height: 100% }` anywhere. `schmancy-area`'s `::slotted` rule sizes mounted views.
46
+ - `<schmancy-page>` is removed — `fill()` replaces it.
@@ -8,11 +8,10 @@ factory — composing `LitElement` + Tailwind injection + `BaseElement`
8
8
  ## Usage
9
9
 
10
10
  ```typescript
11
- import { SchmancyElement } from '@mhmo91/schmancy/mixins'
12
- import { customElement } from 'lit/decorators.js'
11
+ import { SchmancyElement, schmancyElement } from '@mhmo91/schmancy/mixins'
13
12
  import { css, html } from 'lit'
14
13
 
15
- @customElement('my-component')
14
+ @schmancyElement('my-component')
16
15
  class MyComponent extends SchmancyElement {
17
16
  static styles = [css`
18
17
  :host { display: block }
@@ -33,12 +32,34 @@ declare global {
33
32
  No styles? Just drop `static styles`:
34
33
 
35
34
  ```typescript
36
- @customElement('my-component')
35
+ @schmancyElement('my-component')
37
36
  class MyComponent extends SchmancyElement {
38
37
  render() { return html`<slot></slot>` }
39
38
  }
40
39
  ```
41
40
 
41
+ ### Why `@schmancyElement` instead of Lit's `@customElement`
42
+
43
+ `@schmancyElement` wraps the class's prototype methods with the active-host
44
+ tracker BEFORE calling `customElements.define`. Lit's `@customElement` only
45
+ calls `define` — the wrap then runs inside the `SchmancyElement` constructor,
46
+ which is too late: per the HTML spec, the browser captures lifecycle callback
47
+ references off the prototype at `define` time and invokes those cached
48
+ references for every connect / disconnect.
49
+
50
+ If you use plain `@customElement` and read state inside `connectedCallback`,
51
+ the active-host stack is empty, the read falls through to `document.activeElement`,
52
+ misses the enclosing `<schmancy-context>`, and silently resolves to the
53
+ module-scoped global instead of the isolated copy. The constructor-time wrap
54
+ still catches `render`, class methods, and inherited lifecycle methods on
55
+ ancestor prototypes (the browser's cached reference for those is the
56
+ ancestor's, which gets wrapped by an earlier sibling). But your subclass's
57
+ own `connectedCallback` / `disconnectedCallback` overrides fall through.
58
+ The symptom is silent: writes go to the wrong slot, reads return the wrong
59
+ value, and the form looks broken for no obvious reason.
60
+
61
+ `@schmancyElement` makes this impossible. Use it as the default.
62
+
42
63
  Tailwind is injected automatically — your `static styles` only declares
43
64
  component-local CSS.
44
65
 
@@ -99,7 +120,7 @@ Every SchmancyElement responds to `{its-tag}-where-are-you` events with
99
120
  ## Component skeleton
100
121
 
101
122
  ```typescript
102
- @customElement('my-component')
123
+ @schmancyElement('my-component')
103
124
  export class MyComponent extends SchmancyElement {
104
125
  static styles = [css`:host { display: block }`]
105
126
 
package/dist/slider.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-DTCHPEd4.cjs`),t=require(`./active-host-jH3iloCR.cjs`);let n=require(`rxjs`),r=require(`rxjs/operators`),i=require(`lit/decorators.js`),a=require(`lit`),o=require(`lit/directives/cache.js`);var s=class extends e.c{constructor(...e){super(...e),this.type=`content`,this.src=``,this.alt=``,this.controls=!0,this.autoplay=!1,this.loop=!1,this.muted=!1,this.fit=`cover`}static{this.styles=[a.css`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-CsYsIJOI.cjs`),t=require(`./active-host-jH3iloCR.cjs`);let n=require(`rxjs`),r=require(`rxjs/operators`),i=require(`lit/decorators.js`),a=require(`lit`),o=require(`lit/directives/cache.js`);var s=class extends e.c{constructor(...e){super(...e),this.type=`content`,this.src=``,this.alt=``,this.controls=!0,this.autoplay=!1,this.loop=!1,this.muted=!1,this.fit=`cover`}static{this.styles=[a.css`
2
2
  :host {
3
3
  display: block;
4
4
  scroll-snap-align: center; /* If your slider uses scroll-snap */
package/dist/slider.js CHANGED
@@ -1,4 +1,4 @@
1
- import { c as e } from "./mixins-pU53qf6R.js";
1
+ import { c as e } from "./mixins-DySzfmal.js";
2
2
  import { a as t } from "./active-host-BP0zy_Y9.js";
3
3
  import { fromEvent as n } from "rxjs";
4
4
  import { throttleTime as r } from "rxjs/operators";
@@ -1,4 +1,4 @@
1
- import { c as e } from "./mixins-pU53qf6R.js";
1
+ import { c as e } from "./mixins-DySzfmal.js";
2
2
  import { a as t } from "./active-host-BP0zy_Y9.js";
3
3
  import { fromEvent as n, of as r, timer as i, zip as a } from "rxjs";
4
4
  import { take as o, takeUntil as s, tap as c } from "rxjs/operators";
@@ -1 +1 @@
1
- {"version":3,"file":"splash-screen-xrMNpzkm.js","names":[],"sources":["../src/splash-screen/splash-screen.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { fromEvent, of, timer, zip } from 'rxjs'\nimport { take, takeUntil, tap } from 'rxjs/operators'\n\nexport type SchmancySplashScreenDoneEvent = CustomEvent<void>\n\n/**\n * Full-viewport splash overlay that dismisses once a minimum duration has\n * elapsed and (optionally) an external `ready` signal has fired. The splash\n * fades out while the underlying app content fades in.\n *\n * Bring-your-own visuals: the `splash` slot is empty by default so the\n * component pulls in no dependencies. Provide a logo, spinner, or\n * animation from the consumer side.\n *\n * @element schmancy-splash-screen\n * @slot splash - Content rendered on the splash layer (logo, spinner, etc.).\n * @slot - Default slot for the actual app content, revealed once dismissed.\n * @fires schmancy-splash-done - `CustomEvent<void>` when the splash dismisses.\n *\n * @example\n * ```html\n * <schmancy-splash-screen min-duration=\"1200\">\n * <my-logo slot=\"splash\"></my-logo>\n * <my-app></my-app>\n * </schmancy-splash-screen>\n * ```\n */\n@customElement('schmancy-splash-screen')\nexport default class SchmancySplashScreen extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t.splash-layer {\n\t\tposition: fixed;\n\t\tinset: 0;\n\t\tz-index: 50;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground: var(\n\t\t\t--schmancy-splash-background,\n\t\t\tvar(--schmancy-sys-color-surface-containerLowest, #000)\n\t\t);\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-out;\n\t}\n\n\t.content-layer {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-in-out;\n\t}\n`]\n\n\t/**\n\t * Minimum duration (ms) the splash layer stays visible. Prevents a flash\n\t * when the app loads faster than expected.\n\t */\n\t@property({ type: Number, attribute: 'min-duration' }) minDuration = 1500\n\n\t/**\n\t * When true, the splash dismisses on the `minDuration` timer alone.\n\t * When false (default), it additionally waits for an external ready signal\n\t * (a `ready` event on this element, or a call to `this.ready()`).\n\t */\n\t@property({ type: Boolean }) auto = false\n\n\t/**\n\t * When true, the splash starts hidden. Use this for imperative control.\n\t */\n\t@property({ type: Boolean, attribute: 'initially-hidden' }) initiallyHidden = false\n\n\t@state() private _visible = true\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (this.initiallyHidden) {\n\t\t\tthis._visible = false\n\t\t\treturn\n\t\t}\n\n\t\tconst readySignal$ = this.auto ? of(null) : fromEvent<Event>(this, 'ready').pipe(take(1))\n\t\tconst minTimer$ = timer(this.minDuration)\n\n\t\tzip(readySignal$, minTimer$)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(() => this._dismiss()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Imperative API: signal that the app is ready and dismiss the splash\n\t * after the minimum duration has elapsed.\n\t */\n\tpublic ready(): void {\n\t\tthis.dispatchEvent(new Event('ready'))\n\t}\n\n\t/**\n\t * Force the splash to show again (e.g. between route transitions).\n\t */\n\tpublic show(): void {\n\t\tthis._visible = true\n\t}\n\n\tprivate _dismiss(): void {\n\t\tthis._visible = false\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('schmancy-splash-done', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"splash-layer\"\n\t\t\t\taria-hidden=${!this._visible}\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '1' : '0',\n\t\t\t\t\tpointerEvents: this._visible ? 'auto' : 'none',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot name=\"splash\"></slot>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"content-layer\"\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '0' : '1',\n\t\t\t\t\tpointerEvents: this._visible ? 'none' : 'auto',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-splash-screen': SchmancySplashScreen\n\t}\n}\n"],"mappings":";;;;;;;AAgCe,IAAA,IAAA,cAAmC,EAAA;CAAA,YAAA,GAAA,GAAA;EAAA,MAAA,GAAA,EAAA,EAAA,KAAA,cAiCoB,MAAA,KAAA,OAAA,CAOjC,GAAA,KAAA,kBAAA,CAK0C,GAAA,KAAA,WAAA,CAElD;;CAAA;EAAA,KAAA,SA9CZ,CAAC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDpB,oBAAA;EACC,MAAM,mBAAA,EAEF,KAAK,kBACR,KAAK,WAAA,CAAW,IAOjB,EAHqB,KAAK,OAAO,EAAG,KAAA,GAAQ,EAAiB,MAAM,QAAA,CAAS,KAAK,EAAK,EAAA,CAAA,EACpE,EAAM,KAAK,YAAA,CAAA,CAG3B,KACA,EAAK,EAAA,EACL,QAAU,KAAK,UAAA,CAAA,EACf,EAAU,KAAK,cAAA,CAAA,CAEf,WAAA;;CAOH,QAAA;EACC,KAAK,cAAc,IAAI,MAAM,QAAA,CAAA;;CAM9B,OAAA;EACC,KAAK,WAAA,CAAW;;CAGjB,WAAA;EACC,KAAK,WAAA,CAAW,GAChB,KAAK,cACJ,IAAI,YAAkB,wBAAwB;GAC7C,SAAA,CAAS;GACT,UAAA,CAAU;GAAA,CAAA,CAAA;;CAKb,SAAA;EACC,OAAO,CAAI;;;mBAGM,KAAK,SAAA;YACZ,EAAS;GAChB,SAAS,KAAK,WAAW,MAAM;GAC/B,eAAe,KAAK,WAAW,SAAS;GAAA,CAAA,CAAA;;;;;;YAOjC,EAAS;GAChB,SAAS,KAAK,WAAW,MAAM;GAC/B,eAAe,KAAK,WAAW,SAAS;GAAA,CAAA,CAAA;;;;;;;GA7E3C,EAAS;CAAE,MAAM;CAAQ,WAAW;CAAA,CAAA,CAAA,EAAiB,EAAA,WAAA,eAAA,KAAA,EAAA,EAAA,EAAA,CAOrD,EAAS,EAAE,MAAM,SAAA,CAAA,CAAA,EAAU,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAK3B,EAAS;CAAE,MAAM;CAAS,WAAW;CAAA,CAAA,CAAA,EAAqB,EAAA,WAAA,mBAAA,KAAA,EAAA,EAAA,EAAA,CAE1D,GAAA,CAAA,EAAO,EAAA,WAAA,YAAA,KAAA,EAAA,EAAA,IAAA,EAAA,CAhDR,EAAc,yBAAA,CAAA,EAAyB,EAAA"}
1
+ {"version":3,"file":"splash-screen-CUP_elaT.js","names":[],"sources":["../src/splash-screen/splash-screen.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { fromEvent, of, timer, zip } from 'rxjs'\nimport { take, takeUntil, tap } from 'rxjs/operators'\n\nexport type SchmancySplashScreenDoneEvent = CustomEvent<void>\n\n/**\n * Full-viewport splash overlay that dismisses once a minimum duration has\n * elapsed and (optionally) an external `ready` signal has fired. The splash\n * fades out while the underlying app content fades in.\n *\n * Bring-your-own visuals: the `splash` slot is empty by default so the\n * component pulls in no dependencies. Provide a logo, spinner, or\n * animation from the consumer side.\n *\n * @element schmancy-splash-screen\n * @slot splash - Content rendered on the splash layer (logo, spinner, etc.).\n * @slot - Default slot for the actual app content, revealed once dismissed.\n * @fires schmancy-splash-done - `CustomEvent<void>` when the splash dismisses.\n *\n * @example\n * ```html\n * <schmancy-splash-screen min-duration=\"1200\">\n * <my-logo slot=\"splash\"></my-logo>\n * <my-app></my-app>\n * </schmancy-splash-screen>\n * ```\n */\n@customElement('schmancy-splash-screen')\nexport default class SchmancySplashScreen extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t.splash-layer {\n\t\tposition: fixed;\n\t\tinset: 0;\n\t\tz-index: 50;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground: var(\n\t\t\t--schmancy-splash-background,\n\t\t\tvar(--schmancy-sys-color-surface-containerLowest, #000)\n\t\t);\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-out;\n\t}\n\n\t.content-layer {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-in-out;\n\t}\n`]\n\n\t/**\n\t * Minimum duration (ms) the splash layer stays visible. Prevents a flash\n\t * when the app loads faster than expected.\n\t */\n\t@property({ type: Number, attribute: 'min-duration' }) minDuration = 1500\n\n\t/**\n\t * When true, the splash dismisses on the `minDuration` timer alone.\n\t * When false (default), it additionally waits for an external ready signal\n\t * (a `ready` event on this element, or a call to `this.ready()`).\n\t */\n\t@property({ type: Boolean }) auto = false\n\n\t/**\n\t * When true, the splash starts hidden. Use this for imperative control.\n\t */\n\t@property({ type: Boolean, attribute: 'initially-hidden' }) initiallyHidden = false\n\n\t@state() private _visible = true\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (this.initiallyHidden) {\n\t\t\tthis._visible = false\n\t\t\treturn\n\t\t}\n\n\t\tconst readySignal$ = this.auto ? of(null) : fromEvent<Event>(this, 'ready').pipe(take(1))\n\t\tconst minTimer$ = timer(this.minDuration)\n\n\t\tzip(readySignal$, minTimer$)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(() => this._dismiss()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Imperative API: signal that the app is ready and dismiss the splash\n\t * after the minimum duration has elapsed.\n\t */\n\tpublic ready(): void {\n\t\tthis.dispatchEvent(new Event('ready'))\n\t}\n\n\t/**\n\t * Force the splash to show again (e.g. between route transitions).\n\t */\n\tpublic show(): void {\n\t\tthis._visible = true\n\t}\n\n\tprivate _dismiss(): void {\n\t\tthis._visible = false\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('schmancy-splash-done', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"splash-layer\"\n\t\t\t\taria-hidden=${!this._visible}\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '1' : '0',\n\t\t\t\t\tpointerEvents: this._visible ? 'auto' : 'none',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot name=\"splash\"></slot>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"content-layer\"\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '0' : '1',\n\t\t\t\t\tpointerEvents: this._visible ? 'none' : 'auto',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-splash-screen': SchmancySplashScreen\n\t}\n}\n"],"mappings":";;;;;;;AAgCe,IAAA,IAAA,cAAmC,EAAA;CAAA,YAAA,GAAA,GAAA;EAAA,MAAA,GAAA,EAAA,EAAA,KAAA,cAiCoB,MAAA,KAAA,OAAA,CAOjC,GAAA,KAAA,kBAAA,CAK0C,GAAA,KAAA,WAAA,CAElD;;CAAA;EAAA,KAAA,SA9CZ,CAAC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDpB,oBAAA;EACC,MAAM,mBAAA,EAEF,KAAK,kBACR,KAAK,WAAA,CAAW,IAOjB,EAHqB,KAAK,OAAO,EAAG,KAAA,GAAQ,EAAiB,MAAM,QAAA,CAAS,KAAK,EAAK,EAAA,CAAA,EACpE,EAAM,KAAK,YAAA,CAAA,CAG3B,KACA,EAAK,EAAA,EACL,QAAU,KAAK,UAAA,CAAA,EACf,EAAU,KAAK,cAAA,CAAA,CAEf,WAAA;;CAOH,QAAA;EACC,KAAK,cAAc,IAAI,MAAM,QAAA,CAAA;;CAM9B,OAAA;EACC,KAAK,WAAA,CAAW;;CAGjB,WAAA;EACC,KAAK,WAAA,CAAW,GAChB,KAAK,cACJ,IAAI,YAAkB,wBAAwB;GAC7C,SAAA,CAAS;GACT,UAAA,CAAU;GAAA,CAAA,CAAA;;CAKb,SAAA;EACC,OAAO,CAAI;;;mBAGM,KAAK,SAAA;YACZ,EAAS;GAChB,SAAS,KAAK,WAAW,MAAM;GAC/B,eAAe,KAAK,WAAW,SAAS;GAAA,CAAA,CAAA;;;;;;YAOjC,EAAS;GAChB,SAAS,KAAK,WAAW,MAAM;GAC/B,eAAe,KAAK,WAAW,SAAS;GAAA,CAAA,CAAA;;;;;;;GA7E3C,EAAS;CAAE,MAAM;CAAQ,WAAW;CAAA,CAAA,CAAA,EAAiB,EAAA,WAAA,eAAA,KAAA,EAAA,EAAA,EAAA,CAOrD,EAAS,EAAE,MAAM,SAAA,CAAA,CAAA,EAAU,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAK3B,EAAS;CAAE,MAAM;CAAS,WAAW;CAAA,CAAA,CAAA,EAAqB,EAAA,WAAA,mBAAA,KAAA,EAAA,EAAA,EAAA,CAE1D,GAAA,CAAA,EAAO,EAAA,WAAA,YAAA,KAAA,EAAA,EAAA,IAAA,EAAA,CAhDR,EAAc,yBAAA,CAAA,EAAyB,EAAA"}
@@ -1,4 +1,4 @@
1
- require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-DTCHPEd4.cjs`),t=require(`./active-host-jH3iloCR.cjs`);let n=require(`rxjs`),r=require(`rxjs/operators`),i=require(`lit/directives/style-map.js`),a=require(`lit/decorators.js`),o=require(`lit`);var s=class extends e.c{constructor(...e){super(...e),this.minDuration=1500,this.auto=!1,this.initiallyHidden=!1,this._visible=!0}static{this.styles=[o.css`
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-CsYsIJOI.cjs`),t=require(`./active-host-jH3iloCR.cjs`);let n=require(`rxjs`),r=require(`rxjs/operators`),i=require(`lit/directives/style-map.js`),a=require(`lit/decorators.js`),o=require(`lit`);var s=class extends e.c{constructor(...e){super(...e),this.minDuration=1500,this.auto=!1,this.initiallyHidden=!1,this._visible=!0}static{this.styles=[o.css`
2
2
  :host {
3
3
  display: block;
4
4
  position: relative;
@@ -1 +1 @@
1
- {"version":3,"file":"splash-screen-2hxq8Sft.cjs","names":[],"sources":["../src/splash-screen/splash-screen.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { fromEvent, of, timer, zip } from 'rxjs'\nimport { take, takeUntil, tap } from 'rxjs/operators'\n\nexport type SchmancySplashScreenDoneEvent = CustomEvent<void>\n\n/**\n * Full-viewport splash overlay that dismisses once a minimum duration has\n * elapsed and (optionally) an external `ready` signal has fired. The splash\n * fades out while the underlying app content fades in.\n *\n * Bring-your-own visuals: the `splash` slot is empty by default so the\n * component pulls in no dependencies. Provide a logo, spinner, or\n * animation from the consumer side.\n *\n * @element schmancy-splash-screen\n * @slot splash - Content rendered on the splash layer (logo, spinner, etc.).\n * @slot - Default slot for the actual app content, revealed once dismissed.\n * @fires schmancy-splash-done - `CustomEvent<void>` when the splash dismisses.\n *\n * @example\n * ```html\n * <schmancy-splash-screen min-duration=\"1200\">\n * <my-logo slot=\"splash\"></my-logo>\n * <my-app></my-app>\n * </schmancy-splash-screen>\n * ```\n */\n@customElement('schmancy-splash-screen')\nexport default class SchmancySplashScreen extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t.splash-layer {\n\t\tposition: fixed;\n\t\tinset: 0;\n\t\tz-index: 50;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground: var(\n\t\t\t--schmancy-splash-background,\n\t\t\tvar(--schmancy-sys-color-surface-containerLowest, #000)\n\t\t);\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-out;\n\t}\n\n\t.content-layer {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-in-out;\n\t}\n`]\n\n\t/**\n\t * Minimum duration (ms) the splash layer stays visible. Prevents a flash\n\t * when the app loads faster than expected.\n\t */\n\t@property({ type: Number, attribute: 'min-duration' }) minDuration = 1500\n\n\t/**\n\t * When true, the splash dismisses on the `minDuration` timer alone.\n\t * When false (default), it additionally waits for an external ready signal\n\t * (a `ready` event on this element, or a call to `this.ready()`).\n\t */\n\t@property({ type: Boolean }) auto = false\n\n\t/**\n\t * When true, the splash starts hidden. Use this for imperative control.\n\t */\n\t@property({ type: Boolean, attribute: 'initially-hidden' }) initiallyHidden = false\n\n\t@state() private _visible = true\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (this.initiallyHidden) {\n\t\t\tthis._visible = false\n\t\t\treturn\n\t\t}\n\n\t\tconst readySignal$ = this.auto ? of(null) : fromEvent<Event>(this, 'ready').pipe(take(1))\n\t\tconst minTimer$ = timer(this.minDuration)\n\n\t\tzip(readySignal$, minTimer$)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(() => this._dismiss()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Imperative API: signal that the app is ready and dismiss the splash\n\t * after the minimum duration has elapsed.\n\t */\n\tpublic ready(): void {\n\t\tthis.dispatchEvent(new Event('ready'))\n\t}\n\n\t/**\n\t * Force the splash to show again (e.g. between route transitions).\n\t */\n\tpublic show(): void {\n\t\tthis._visible = true\n\t}\n\n\tprivate _dismiss(): void {\n\t\tthis._visible = false\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('schmancy-splash-done', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"splash-layer\"\n\t\t\t\taria-hidden=${!this._visible}\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '1' : '0',\n\t\t\t\t\tpointerEvents: this._visible ? 'auto' : 'none',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot name=\"splash\"></slot>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"content-layer\"\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '0' : '1',\n\t\t\t\t\tpointerEvents: this._visible ? 'none' : 'auto',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-splash-screen': SchmancySplashScreen\n\t}\n}\n"],"mappings":"4PAgCe,IAAA,EAAA,cAAmC,EAAA,CAAA,CAAA,YAAA,GAAA,EAAA,CAAA,MAAA,GAAA,EAAA,CAAA,KAAA,YAiCoB,KAAA,KAAA,KAAA,CAOjC,EAAA,KAAA,gBAAA,CAK0C,EAAA,KAAA,SAAA,CAElD,EAAA,OAAA,KAAA,OA9CZ,CAAC,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDpB,mBAAA,CACC,MAAM,mBAAA,CAEF,KAAK,gBACR,KAAK,SAAA,CAAW,GAOjB,EAAA,EAAA,KAHqB,KAAK,MAAA,EAAA,EAAA,IAAU,KAAA,EAAK,EAAA,EAAA,WAAoB,KAAM,QAAA,CAAS,MAAA,EAAA,EAAA,MAAU,EAAA,CAAA,EAAG,EAAA,EAAA,OACjE,KAAK,YAAA,CAAA,CAG3B,MAAA,EAAA,EAAA,MACK,EAAA,EAAE,EAAA,EAAA,SACG,KAAK,UAAA,CAAA,EAAW,EAAA,EAAA,WAChB,KAAK,cAAA,CAAA,CAEf,WAAA,CAOH,OAAA,CACC,KAAK,cAAc,IAAI,MAAM,QAAA,CAAA,CAM9B,MAAA,CACC,KAAK,SAAA,CAAW,EAGjB,UAAA,CACC,KAAK,SAAA,CAAW,EAChB,KAAK,cACJ,IAAI,YAAkB,uBAAwB,CAC7C,QAAA,CAAS,EACT,SAAA,CAAU,EAAA,CAAA,CAAA,CAKb,QAAA,CACC,MAAO,GAAA,IAAI;;;mBAGM,KAAK,SAAA;2BACH,CAChB,QAAS,KAAK,SAAW,IAAM,IAC/B,cAAe,KAAK,SAAW,OAAS,OAAA,CAAA,CAAA;;;;;;2BAOxB,CAChB,QAAS,KAAK,SAAW,IAAM,IAC/B,cAAe,KAAK,SAAW,OAAS,OAAA,CAAA,CAAA;;;;0BA7ElC,CAAE,KAAM,OAAQ,UAAW,eAAA,CAAA,CAAA,CAAiB,EAAA,UAAA,cAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAO5C,CAAE,KAAM,QAAA,CAAA,CAAA,CAAU,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAKlB,CAAE,KAAM,QAAS,UAAW,mBAAA,CAAA,CAAA,CAAqB,EAAA,UAAA,kBAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,QAAA,CAAA,CAEnD,EAAA,UAAA,WAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eAhDM,yBAAA,CAAA,CAAyB,EAAA"}
1
+ {"version":3,"file":"splash-screen-DeoPRrOu.cjs","names":[],"sources":["../src/splash-screen/splash-screen.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { fromEvent, of, timer, zip } from 'rxjs'\nimport { take, takeUntil, tap } from 'rxjs/operators'\n\nexport type SchmancySplashScreenDoneEvent = CustomEvent<void>\n\n/**\n * Full-viewport splash overlay that dismisses once a minimum duration has\n * elapsed and (optionally) an external `ready` signal has fired. The splash\n * fades out while the underlying app content fades in.\n *\n * Bring-your-own visuals: the `splash` slot is empty by default so the\n * component pulls in no dependencies. Provide a logo, spinner, or\n * animation from the consumer side.\n *\n * @element schmancy-splash-screen\n * @slot splash - Content rendered on the splash layer (logo, spinner, etc.).\n * @slot - Default slot for the actual app content, revealed once dismissed.\n * @fires schmancy-splash-done - `CustomEvent<void>` when the splash dismisses.\n *\n * @example\n * ```html\n * <schmancy-splash-screen min-duration=\"1200\">\n * <my-logo slot=\"splash\"></my-logo>\n * <my-app></my-app>\n * </schmancy-splash-screen>\n * ```\n */\n@customElement('schmancy-splash-screen')\nexport default class SchmancySplashScreen extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t.splash-layer {\n\t\tposition: fixed;\n\t\tinset: 0;\n\t\tz-index: 50;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground: var(\n\t\t\t--schmancy-splash-background,\n\t\t\tvar(--schmancy-sys-color-surface-containerLowest, #000)\n\t\t);\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-out;\n\t}\n\n\t.content-layer {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-in-out;\n\t}\n`]\n\n\t/**\n\t * Minimum duration (ms) the splash layer stays visible. Prevents a flash\n\t * when the app loads faster than expected.\n\t */\n\t@property({ type: Number, attribute: 'min-duration' }) minDuration = 1500\n\n\t/**\n\t * When true, the splash dismisses on the `minDuration` timer alone.\n\t * When false (default), it additionally waits for an external ready signal\n\t * (a `ready` event on this element, or a call to `this.ready()`).\n\t */\n\t@property({ type: Boolean }) auto = false\n\n\t/**\n\t * When true, the splash starts hidden. Use this for imperative control.\n\t */\n\t@property({ type: Boolean, attribute: 'initially-hidden' }) initiallyHidden = false\n\n\t@state() private _visible = true\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (this.initiallyHidden) {\n\t\t\tthis._visible = false\n\t\t\treturn\n\t\t}\n\n\t\tconst readySignal$ = this.auto ? of(null) : fromEvent<Event>(this, 'ready').pipe(take(1))\n\t\tconst minTimer$ = timer(this.minDuration)\n\n\t\tzip(readySignal$, minTimer$)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(() => this._dismiss()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Imperative API: signal that the app is ready and dismiss the splash\n\t * after the minimum duration has elapsed.\n\t */\n\tpublic ready(): void {\n\t\tthis.dispatchEvent(new Event('ready'))\n\t}\n\n\t/**\n\t * Force the splash to show again (e.g. between route transitions).\n\t */\n\tpublic show(): void {\n\t\tthis._visible = true\n\t}\n\n\tprivate _dismiss(): void {\n\t\tthis._visible = false\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('schmancy-splash-done', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"splash-layer\"\n\t\t\t\taria-hidden=${!this._visible}\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '1' : '0',\n\t\t\t\t\tpointerEvents: this._visible ? 'auto' : 'none',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot name=\"splash\"></slot>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"content-layer\"\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '0' : '1',\n\t\t\t\t\tpointerEvents: this._visible ? 'none' : 'auto',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-splash-screen': SchmancySplashScreen\n\t}\n}\n"],"mappings":"4PAgCe,IAAA,EAAA,cAAmC,EAAA,CAAA,CAAA,YAAA,GAAA,EAAA,CAAA,MAAA,GAAA,EAAA,CAAA,KAAA,YAiCoB,KAAA,KAAA,KAAA,CAOjC,EAAA,KAAA,gBAAA,CAK0C,EAAA,KAAA,SAAA,CAElD,EAAA,OAAA,KAAA,OA9CZ,CAAC,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDpB,mBAAA,CACC,MAAM,mBAAA,CAEF,KAAK,gBACR,KAAK,SAAA,CAAW,GAOjB,EAAA,EAAA,KAHqB,KAAK,MAAA,EAAA,EAAA,IAAU,KAAA,EAAK,EAAA,EAAA,WAAoB,KAAM,QAAA,CAAS,MAAA,EAAA,EAAA,MAAU,EAAA,CAAA,EAAG,EAAA,EAAA,OACjE,KAAK,YAAA,CAAA,CAG3B,MAAA,EAAA,EAAA,MACK,EAAA,EAAE,EAAA,EAAA,SACG,KAAK,UAAA,CAAA,EAAW,EAAA,EAAA,WAChB,KAAK,cAAA,CAAA,CAEf,WAAA,CAOH,OAAA,CACC,KAAK,cAAc,IAAI,MAAM,QAAA,CAAA,CAM9B,MAAA,CACC,KAAK,SAAA,CAAW,EAGjB,UAAA,CACC,KAAK,SAAA,CAAW,EAChB,KAAK,cACJ,IAAI,YAAkB,uBAAwB,CAC7C,QAAA,CAAS,EACT,SAAA,CAAU,EAAA,CAAA,CAAA,CAKb,QAAA,CACC,MAAO,GAAA,IAAI;;;mBAGM,KAAK,SAAA;2BACH,CAChB,QAAS,KAAK,SAAW,IAAM,IAC/B,cAAe,KAAK,SAAW,OAAS,OAAA,CAAA,CAAA;;;;;;2BAOxB,CAChB,QAAS,KAAK,SAAW,IAAM,IAC/B,cAAe,KAAK,SAAW,OAAS,OAAA,CAAA,CAAA;;;;0BA7ElC,CAAE,KAAM,OAAQ,UAAW,eAAA,CAAA,CAAA,CAAiB,EAAA,UAAA,cAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAO5C,CAAE,KAAM,QAAA,CAAA,CAAA,CAAU,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAKlB,CAAE,KAAM,QAAS,UAAW,mBAAA,CAAA,CAAA,CAAqB,EAAA,UAAA,kBAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,QAAA,CAAA,CAEnD,EAAA,UAAA,WAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eAhDM,yBAAA,CAAA,CAAyB,EAAA"}
@@ -1 +1 @@
1
- require(`./splash-screen-2hxq8Sft.cjs`);
1
+ require(`./splash-screen-DeoPRrOu.cjs`);
@@ -1 +1 @@
1
- import "./splash-screen-xrMNpzkm.js";
1
+ import "./splash-screen-CUP_elaT.js";