@mhmo91/schmancy 0.9.12 → 0.9.14

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 (521) hide show
  1. package/README.md +34 -0
  2. package/custom-elements.json +236 -0
  3. package/dist/agent/flow-CaPi2G8y.js.map +1 -0
  4. package/dist/agent/schmancy.agent.js +36474 -0
  5. package/dist/agent/schmancy.agent.js.map +1 -0
  6. package/dist/agent/schmancy.manifest.json +7027 -0
  7. package/dist/agent/vendor-highlight-CHJZQQB7.js +2178 -0
  8. package/dist/agent/vendor-highlight-CHJZQQB7.js.map +1 -0
  9. package/dist/agent/vendor-jsqr-r7GNh4P3.js +10212 -0
  10. package/dist/agent/vendor-jsqr-r7GNh4P3.js.map +1 -0
  11. package/dist/agent/vendor-material-color-Be96dpGE.js +3309 -0
  12. package/dist/agent/vendor-material-color-Be96dpGE.js.map +1 -0
  13. package/dist/{animation-Bcwh107v.cjs.map → animation-CQRdLgzX.cjs.map} +1 -1
  14. package/dist/{animation-CXKSuUoE.js.map → animation-hXFClrIn.js.map} +1 -1
  15. package/dist/{area-CBjmKtN-.cjs → area-DBjAhgjP.cjs} +2 -2
  16. package/dist/area-DBjAhgjP.cjs.map +1 -0
  17. package/dist/{area-CjX0Ckh9.js → area-Dr4I9R2p.js} +23 -35
  18. package/dist/area-Dr4I9R2p.js.map +1 -0
  19. package/dist/area.cjs +1 -1
  20. package/dist/area.js +3 -2
  21. package/dist/{audio-DUVz7Ars.cjs → audio-Dvr-RBzE.cjs} +1 -1
  22. package/dist/{audio-DUVz7Ars.cjs.map → audio-Dvr-RBzE.cjs.map} +1 -1
  23. package/dist/{audio-C7TzWI8M.js → audio-ql6nvY0y.js} +1 -1
  24. package/dist/{audio-C7TzWI8M.js.map → audio-ql6nvY0y.js.map} +1 -1
  25. package/dist/audio.cjs +1 -1
  26. package/dist/audio.js +2 -2
  27. package/dist/{autocomplete-ppoaK_GD.js → autocomplete-CgWUCUU-.js} +3 -3
  28. package/dist/{autocomplete-ppoaK_GD.js.map → autocomplete-CgWUCUU-.js.map} +1 -1
  29. package/dist/{autocomplete-WQxz4VGO.cjs → autocomplete-EM0jE7X2.cjs} +1 -1
  30. package/dist/{autocomplete-WQxz4VGO.cjs.map → autocomplete-EM0jE7X2.cjs.map} +1 -1
  31. package/dist/autocomplete.cjs +1 -1
  32. package/dist/autocomplete.js +1 -1
  33. package/dist/badge.cjs +1 -1
  34. package/dist/badge.js +1 -1
  35. package/dist/{boat-C-T9RDiG.cjs → boat-BjYJI1HS.cjs} +1 -1
  36. package/dist/{boat-C-T9RDiG.cjs.map → boat-BjYJI1HS.cjs.map} +1 -1
  37. package/dist/{boat-C4JnoakD.js → boat-Dw8TmOzN.js} +4 -4
  38. package/dist/{boat-C4JnoakD.js.map → boat-Dw8TmOzN.js.map} +1 -1
  39. package/dist/boat.cjs +1 -1
  40. package/dist/boat.js +1 -1
  41. package/dist/breadcrumb.cjs +1 -1
  42. package/dist/breadcrumb.js +1 -1
  43. package/dist/{busy-BMRUS_Ns.cjs → busy-BmiumJpB.cjs} +1 -1
  44. package/dist/{busy-BMRUS_Ns.cjs.map → busy-BmiumJpB.cjs.map} +1 -1
  45. package/dist/{busy-DuV4A5PX.js → busy-D2hP3fOy.js} +1 -1
  46. package/dist/{busy-DuV4A5PX.js.map → busy-D2hP3fOy.js.map} +1 -1
  47. package/dist/busy.cjs +1 -1
  48. package/dist/busy.js +1 -1
  49. package/dist/button.cjs +1 -1
  50. package/dist/button.cjs.map +1 -1
  51. package/dist/button.js +4 -4
  52. package/dist/button.js.map +1 -1
  53. package/dist/{card-DBjGfCxi.cjs → card-BslSqOsf.cjs} +1 -1
  54. package/dist/{card-DBjGfCxi.cjs.map → card-BslSqOsf.cjs.map} +1 -1
  55. package/dist/{card-DzXRouJC.js → card-CEdgK9nb.js} +2 -2
  56. package/dist/{card-DzXRouJC.js.map → card-CEdgK9nb.js.map} +1 -1
  57. package/dist/card.cjs +1 -1
  58. package/dist/card.js +1 -1
  59. package/dist/charts.cjs +1 -1
  60. package/dist/charts.js +1 -1
  61. package/dist/{checkbox-BwuhSBDG.js → checkbox-Br84TiCs.js} +2 -2
  62. package/dist/{checkbox-BwuhSBDG.js.map → checkbox-Br84TiCs.js.map} +1 -1
  63. package/dist/{checkbox-BibOr-sJ.cjs → checkbox-DtcFMgZL.cjs} +1 -1
  64. package/dist/{checkbox-BibOr-sJ.cjs.map → checkbox-DtcFMgZL.cjs.map} +1 -1
  65. package/dist/checkbox.cjs +1 -1
  66. package/dist/checkbox.js +1 -1
  67. package/dist/{chips-DiB2BfTQ.js → chips-BNYOweGm.js} +5 -5
  68. package/dist/{chips-DiB2BfTQ.js.map → chips-BNYOweGm.js.map} +1 -1
  69. package/dist/{chips-D5QvIKt6.cjs → chips-DoCu5YQb.cjs} +1 -1
  70. package/dist/{chips-D5QvIKt6.cjs.map → chips-DoCu5YQb.cjs.map} +1 -1
  71. package/dist/chips.cjs +1 -1
  72. package/dist/chips.js +2 -2
  73. package/dist/chunk-BM5alsTp.js +18 -0
  74. package/dist/chunk-CncqDLb2.cjs +1 -0
  75. package/dist/{code-highlight-B5_zONzv.js → code-highlight-BgExKEto.js} +1 -1
  76. package/dist/{code-highlight-B5_zONzv.js.map → code-highlight-BgExKEto.js.map} +1 -1
  77. package/dist/{code-highlight-Q2x2hrWg.cjs → code-highlight-zSYcSfCz.cjs} +1 -1
  78. package/dist/{code-highlight-Q2x2hrWg.cjs.map → code-highlight-zSYcSfCz.cjs.map} +1 -1
  79. package/dist/code-highlight.cjs +1 -1
  80. package/dist/code-highlight.js +1 -1
  81. package/dist/{components-CjLqW8Jp.js → components-DjKNS9R_.js} +1 -1
  82. package/dist/{components-CjLqW8Jp.js.map → components-DjKNS9R_.js.map} +1 -1
  83. package/dist/{components-jfFxyq6z.cjs → components-TJT8-tva.cjs} +1 -1
  84. package/dist/{components-jfFxyq6z.cjs.map → components-TJT8-tva.cjs.map} +1 -1
  85. package/dist/components.cjs +1 -1
  86. package/dist/components.js +1 -1
  87. package/dist/connectivity.cjs +1 -1
  88. package/dist/connectivity.js +2 -2
  89. package/dist/content-drawer.cjs +1 -1
  90. package/dist/content-drawer.js +1 -1
  91. package/dist/context-CAYQh-mx.cjs +1 -0
  92. package/dist/{context-BRtGc7PP.cjs.map → context-CAYQh-mx.cjs.map} +1 -1
  93. package/dist/context-D8Q66KPe.js +3 -0
  94. package/dist/{context-DgD3c6q-.js.map → context-D8Q66KPe.js.map} +1 -1
  95. package/dist/{cursor-glow-C2YRrB8Z.js → cursor-glow-BydlDInj.js} +1 -1
  96. package/dist/{cursor-glow-C2YRrB8Z.js.map → cursor-glow-BydlDInj.js.map} +1 -1
  97. package/dist/{cursor-glow-82y5h3E4.cjs → cursor-glow-Duw9jHmh.cjs} +1 -1
  98. package/dist/{cursor-glow-82y5h3E4.cjs.map → cursor-glow-Duw9jHmh.cjs.map} +1 -1
  99. package/dist/{date-range-DF5ROfrb.cjs → date-range-CIWYm3eS.cjs} +1 -1
  100. package/dist/{date-range-DF5ROfrb.cjs.map → date-range-CIWYm3eS.cjs.map} +1 -1
  101. package/dist/{date-range-inline-LLC3Y0mi.cjs → date-range-inline-B9Dp2z6C.cjs} +1 -1
  102. package/dist/{date-range-inline-LLC3Y0mi.cjs.map → date-range-inline-B9Dp2z6C.cjs.map} +1 -1
  103. package/dist/{date-range-inline-B_g1YXu3.js.map → date-range-inline-CpKG6qt2.js.map} +1 -1
  104. package/dist/date-range-inline.cjs +1 -1
  105. package/dist/date-range-inline.js +1 -1
  106. package/dist/{date-range-Dcy8GSov.js → date-range-sGkC0KF3.js} +4 -4
  107. package/dist/{date-range-Dcy8GSov.js.map → date-range-sGkC0KF3.js.map} +1 -1
  108. package/dist/date-range.cjs +1 -1
  109. package/dist/date-range.js +1 -1
  110. package/dist/{delay-aQRihOO4.cjs → delay-Bu4WMQlV.cjs} +1 -1
  111. package/dist/{delay-aQRihOO4.cjs.map → delay-Bu4WMQlV.cjs.map} +1 -1
  112. package/dist/{delay-B7TvigGw.js → delay-DwX65fSc.js} +4 -4
  113. package/dist/{delay-B7TvigGw.js.map → delay-DwX65fSc.js.map} +1 -1
  114. package/dist/delay.cjs +1 -1
  115. package/dist/delay.js +1 -1
  116. package/dist/{details-Cs8yStsJ.cjs → details-B8p62xmR.cjs} +1 -1
  117. package/dist/{details-Cs8yStsJ.cjs.map → details-B8p62xmR.cjs.map} +1 -1
  118. package/dist/{details-DfYDNHuv.js → details-CCW52lzz.js} +5 -5
  119. package/dist/{details-DfYDNHuv.js.map → details-CCW52lzz.js.map} +1 -1
  120. package/dist/details.cjs +1 -1
  121. package/dist/details.js +1 -1
  122. package/dist/{dialog-service-DXLGSshF.cjs → dialog-service-CzDO08Gy.cjs} +1 -1
  123. package/dist/{dialog-service-DXLGSshF.cjs.map → dialog-service-CzDO08Gy.cjs.map} +1 -1
  124. package/dist/{dialog-service-CCFGpU7a.js → dialog-service-DH-tjPuE.js} +2 -2
  125. package/dist/{dialog-service-CCFGpU7a.js.map → dialog-service-DH-tjPuE.js.map} +1 -1
  126. package/dist/dialog.cjs +1 -1
  127. package/dist/dialog.cjs.map +1 -1
  128. package/dist/dialog.js +5 -5
  129. package/dist/directives.cjs +1 -1
  130. package/dist/directives.cjs.map +1 -1
  131. package/dist/directives.js +5 -5
  132. package/dist/directives.js.map +1 -1
  133. package/dist/discovery.cjs +1 -1
  134. package/dist/{divider-DE9pcMw3.js → divider-CbEWg3G_.js} +1 -1
  135. package/dist/{divider-DE9pcMw3.js.map → divider-CbEWg3G_.js.map} +1 -1
  136. package/dist/{divider-DY4ocl-Z.cjs → divider-JyyFw_3J.cjs} +1 -1
  137. package/dist/{divider-DY4ocl-Z.cjs.map → divider-JyyFw_3J.cjs.map} +1 -1
  138. package/dist/divider.cjs +1 -1
  139. package/dist/divider.js +1 -1
  140. package/dist/dropdown.cjs +1 -1
  141. package/dist/dropdown.js +2 -2
  142. package/dist/{expand-Cuu9u0j5.cjs → expand-BmwIPNjq.cjs} +1 -1
  143. package/dist/{expand-Cuu9u0j5.cjs.map → expand-BmwIPNjq.cjs.map} +1 -1
  144. package/dist/{expand-Cwis2Y6U.js → expand-bFa_qVDT.js} +4 -4
  145. package/dist/{expand-Cwis2Y6U.js.map → expand-bFa_qVDT.js.map} +1 -1
  146. package/dist/expand.cjs +1 -1
  147. package/dist/expand.js +1 -1
  148. package/dist/{extra-DRIgrdHx.cjs → extra-BUgyMgjl.cjs} +1 -1
  149. package/dist/{extra-DRIgrdHx.cjs.map → extra-BUgyMgjl.cjs.map} +1 -1
  150. package/dist/{extra-DoxLBpZ-.js → extra-HwbaUnCD.js} +1 -1
  151. package/dist/{extra-DoxLBpZ-.js.map → extra-HwbaUnCD.js.map} +1 -1
  152. package/dist/extra.cjs +1 -1
  153. package/dist/extra.js +1 -1
  154. package/dist/float-BQwhfibw.cjs +1 -0
  155. package/dist/{float-I4wePTk7.cjs.map → float-BQwhfibw.cjs.map} +1 -1
  156. package/dist/{float-2aPqW2lz.js → float-D5ezUurt.js} +1 -1
  157. package/dist/{float-2aPqW2lz.js.map → float-D5ezUurt.js.map} +1 -1
  158. package/dist/float.cjs +1 -1
  159. package/dist/float.js +1 -1
  160. package/dist/flow-BGkHnOnd.js +386 -0
  161. package/dist/{flow-BPDtbhLe.js.map → flow-BGkHnOnd.js.map} +1 -1
  162. package/dist/{flow-Dn9AZktE.cjs.map → flow-ClAJ6Qby.cjs.map} +1 -1
  163. package/dist/{form-C1qS9uvS.js.map → form-rCZqoAoK.js.map} +1 -1
  164. package/dist/{form-CzD0JLxM.cjs → form-wI58M85H.cjs} +1 -1
  165. package/dist/{form-CzD0JLxM.cjs.map → form-wI58M85H.cjs.map} +1 -1
  166. package/dist/form.cjs +1 -1
  167. package/dist/form.js +1 -1
  168. package/dist/{hashContent-BUqULUiZ.js.map → hashContent-B2IntJQf.js.map} +1 -1
  169. package/dist/{hashContent-CI39BY-_.cjs.map → hashContent-CahnEuut.cjs.map} +1 -1
  170. package/dist/{icons-UOqapID2.cjs → icons-B6V3nZ4-.cjs} +1 -1
  171. package/dist/{icons-UOqapID2.cjs.map → icons-B6V3nZ4-.cjs.map} +1 -1
  172. package/dist/{icons-DDQBxhDC.js → icons-C5-DIjet.js} +2 -2
  173. package/dist/{icons-DDQBxhDC.js.map → icons-C5-DIjet.js.map} +1 -1
  174. package/dist/icons.cjs +1 -1
  175. package/dist/icons.js +1 -1
  176. package/dist/{iframe-CMTUyiz1.js → iframe-BXBsuLwt.js} +1 -1
  177. package/dist/{iframe-CMTUyiz1.js.map → iframe-BXBsuLwt.js.map} +1 -1
  178. package/dist/{iframe-FZCULDVM.cjs → iframe-C7sHg7RC.cjs} +1 -1
  179. package/dist/{iframe-FZCULDVM.cjs.map → iframe-C7sHg7RC.cjs.map} +1 -1
  180. package/dist/iframe.cjs +1 -1
  181. package/dist/iframe.js +1 -1
  182. package/dist/index.cjs +1 -1
  183. package/dist/index.js +53 -52
  184. package/dist/{input-DIuyi3Gm.cjs → input-BGNZlfL8.cjs} +1 -1
  185. package/dist/{input-DIuyi3Gm.cjs.map → input-BGNZlfL8.cjs.map} +1 -1
  186. package/dist/{input-HzweUBSn.js → input-Bc3bVISm.js} +1 -1
  187. package/dist/{input-HzweUBSn.js.map → input-Bc3bVISm.js.map} +1 -1
  188. package/dist/{input-chip-Bt2Lzi-2.js → input-chip-CiG61y-N.js} +1 -1
  189. package/dist/{input-chip-Bt2Lzi-2.js.map → input-chip-CiG61y-N.js.map} +1 -1
  190. package/dist/{input-chip-nghCxe9L.cjs → input-chip-p24lkYtY.cjs} +1 -1
  191. package/dist/{input-chip-nghCxe9L.cjs.map → input-chip-p24lkYtY.cjs.map} +1 -1
  192. package/dist/input.cjs +1 -1
  193. package/dist/input.js +1 -1
  194. package/dist/{intersection-C0JuW_7U.js.map → intersection-BrXp4YTO.js.map} +1 -1
  195. package/dist/{intersection-MvbRovUz.cjs → intersection-DqBqnpgh.cjs} +1 -1
  196. package/dist/{intersection-MvbRovUz.cjs.map → intersection-DqBqnpgh.cjs.map} +1 -1
  197. package/dist/json.cjs +1 -1
  198. package/dist/json.js +2 -2
  199. package/dist/kbd.cjs +1 -1
  200. package/dist/kbd.js +1 -1
  201. package/dist/{layout-DHt4hK1n.cjs → layout-B0_IXfov.cjs} +1 -1
  202. package/dist/{layout-DHt4hK1n.cjs.map → layout-B0_IXfov.cjs.map} +1 -1
  203. package/dist/{layout-PZCF3kwl.cjs → layout-CTfRXQoz.cjs} +1 -1
  204. package/dist/{layout-PZCF3kwl.cjs.map → layout-CTfRXQoz.cjs.map} +1 -1
  205. package/dist/{layout-BUq6VVj0.js → layout-Cqghi_rx.js} +2 -2
  206. package/dist/{layout-BUq6VVj0.js.map → layout-Cqghi_rx.js.map} +1 -1
  207. package/dist/{layout-BE2ld1IY.js → layout-fjM1DWlF.js} +1 -1
  208. package/dist/{layout-BE2ld1IY.js.map → layout-fjM1DWlF.js.map} +1 -1
  209. package/dist/layout.cjs +1 -1
  210. package/dist/layout.js +2 -2
  211. package/dist/lazy-BDNnH_r7.cjs +1 -0
  212. package/dist/lazy-BDNnH_r7.cjs.map +1 -0
  213. package/dist/lazy-D6R5N5v4.js +13 -0
  214. package/dist/lazy-D6R5N5v4.js.map +1 -0
  215. package/dist/{lightbox-CbAbyhzE.cjs → lightbox-BWKTzA03.cjs} +1 -1
  216. package/dist/{lightbox-CbAbyhzE.cjs.map → lightbox-BWKTzA03.cjs.map} +1 -1
  217. package/dist/{lightbox-p_uYC9Hy.js → lightbox-CnCTvqSu.js} +3 -3
  218. package/dist/{lightbox-p_uYC9Hy.js.map → lightbox-CnCTvqSu.js.map} +1 -1
  219. package/dist/lightbox.cjs +1 -1
  220. package/dist/lightbox.js +1 -1
  221. package/dist/{list-DG1shv4_.js → list-BpjKUOzM.js} +2 -2
  222. package/dist/{list-DG1shv4_.js.map → list-BpjKUOzM.js.map} +1 -1
  223. package/dist/{list-pvbKwpnz.cjs → list-CMWHu6cV.cjs} +1 -1
  224. package/dist/{list-pvbKwpnz.cjs.map → list-CMWHu6cV.cjs.map} +1 -1
  225. package/dist/list.cjs +1 -1
  226. package/dist/list.js +1 -1
  227. package/dist/{litElement.mixin-BLb2kIHg.js → litElement.mixin-BnNYZ24e.js} +1 -1
  228. package/dist/{litElement.mixin-BLb2kIHg.js.map → litElement.mixin-BnNYZ24e.js.map} +1 -1
  229. package/dist/{litElement.mixin-Bx9Avv0M.cjs → litElement.mixin-CtQOmwq6.cjs} +1 -1
  230. package/dist/{litElement.mixin-Bx9Avv0M.cjs.map → litElement.mixin-CtQOmwq6.cjs.map} +1 -1
  231. package/dist/{magnetic-Dj52WplI.js → magnetic-BhXebqF3.js} +2 -2
  232. package/dist/{magnetic-Dj52WplI.js.map → magnetic-BhXebqF3.js.map} +1 -1
  233. package/dist/{magnetic-aBBnj_vk.cjs → magnetic-CVXEkYTA.cjs} +1 -1
  234. package/dist/{magnetic-aBBnj_vk.cjs.map → magnetic-CVXEkYTA.cjs.map} +1 -1
  235. package/dist/{mailbox-BCRplIro.js → mailbox-CHIpxS3W.js} +5 -5
  236. package/dist/{mailbox-BCRplIro.js.map → mailbox-CHIpxS3W.js.map} +1 -1
  237. package/dist/{mailbox-CZevIxwZ.cjs → mailbox-Tg1CROVz.cjs} +1 -1
  238. package/dist/{mailbox-CZevIxwZ.cjs.map → mailbox-Tg1CROVz.cjs.map} +1 -1
  239. package/dist/mailbox.cjs +1 -1
  240. package/dist/mailbox.js +1 -1
  241. package/dist/{map-BUcxWqBH.js → map-YY1Q4FWO.js} +1 -1
  242. package/dist/{map-BUcxWqBH.js.map → map-YY1Q4FWO.js.map} +1 -1
  243. package/dist/{map-C6kDkAju.cjs → map-Z_dsu-dv.cjs} +1 -1
  244. package/dist/{map-C6kDkAju.cjs.map → map-Z_dsu-dv.cjs.map} +1 -1
  245. package/dist/map.cjs +1 -1
  246. package/dist/map.js +1 -1
  247. package/dist/{menu-BleltblR.js → menu-BIBUgS1T.js} +2 -2
  248. package/dist/{menu-BleltblR.js.map → menu-BIBUgS1T.js.map} +1 -1
  249. package/dist/{menu-DhmDz_js.cjs → menu-DS8Iz4fJ.cjs} +1 -1
  250. package/dist/{menu-DhmDz_js.cjs.map → menu-DS8Iz4fJ.cjs.map} +1 -1
  251. package/dist/menu.cjs +1 -1
  252. package/dist/menu.js +1 -1
  253. package/dist/mixins.cjs +1 -1
  254. package/dist/mixins.js +2 -2
  255. package/dist/nav-drawer.cjs +1 -1
  256. package/dist/nav-drawer.js +1 -1
  257. package/dist/navigation-bar.cjs +1 -1
  258. package/dist/navigation-bar.js +1 -1
  259. package/dist/navigation-rail.cjs +1 -1
  260. package/dist/navigation-rail.js +1 -1
  261. package/dist/{notification-DvrozLTu.js → notification-ChAvNXf3.js} +3 -3
  262. package/dist/notification-ChAvNXf3.js.map +1 -0
  263. package/dist/{notification-BT84PlwC.cjs → notification-DPUkuifB.cjs} +1 -1
  264. package/dist/notification-DPUkuifB.cjs.map +1 -0
  265. package/dist/notification.cjs +1 -1
  266. package/dist/notification.js +1 -1
  267. package/dist/{option-EEYkHd44.js → option-Ci7C8xxh.js} +1 -1
  268. package/dist/{option-EEYkHd44.js.map → option-Ci7C8xxh.js.map} +1 -1
  269. package/dist/{option-y5FY8sz-.cjs → option-OIp0joyN.cjs} +1 -1
  270. package/dist/{option-y5FY8sz-.cjs.map → option-OIp0joyN.cjs.map} +1 -1
  271. package/dist/option.cjs +1 -1
  272. package/dist/option.js +1 -1
  273. package/dist/{overlay-stack-J_eJCUTX.cjs.map → overlay-stack-7bs4ZNnh.cjs.map} +1 -1
  274. package/dist/{overlay-stack-BJt_r6aZ.js.map → overlay-stack-DXPYHPhk.js.map} +1 -1
  275. package/dist/overlay.cjs +130 -0
  276. package/dist/overlay.cjs.map +1 -0
  277. package/dist/overlay.js +570 -0
  278. package/dist/overlay.js.map +1 -0
  279. package/dist/page.cjs +1 -1
  280. package/dist/page.cjs.map +1 -1
  281. package/dist/page.js +4 -4
  282. package/dist/{progress-B1if5cWu.cjs → progress-32Cad1NX.cjs} +1 -1
  283. package/dist/{progress-B1if5cWu.cjs.map → progress-32Cad1NX.cjs.map} +1 -1
  284. package/dist/{progress-B8nfhvrc.js → progress-DGkwPgDX.js} +1 -1
  285. package/dist/{progress-B8nfhvrc.js.map → progress-DGkwPgDX.js.map} +1 -1
  286. package/dist/progress.cjs +1 -1
  287. package/dist/progress.js +1 -1
  288. package/dist/{provide-BEMtticm.js → provide-BuzyBLGj.js} +1 -1
  289. package/dist/{provide-BEMtticm.js.map → provide-BuzyBLGj.js.map} +1 -1
  290. package/dist/{provide-BbFbvIEk.cjs → provide-MvHcXKzT.cjs} +1 -1
  291. package/dist/{provide-BbFbvIEk.cjs.map → provide-MvHcXKzT.cjs.map} +1 -1
  292. package/dist/qr-scanner.cjs +1 -1
  293. package/dist/qr-scanner.js +1 -1
  294. package/dist/{radio-group-DKXbC-jL.js → radio-group-B72sYGnS.js} +1 -1
  295. package/dist/{radio-group-DKXbC-jL.js.map → radio-group-B72sYGnS.js.map} +1 -1
  296. package/dist/{radio-group-DafTK0PB.cjs → radio-group-B7DuNxUq.cjs} +1 -1
  297. package/dist/{radio-group-DafTK0PB.cjs.map → radio-group-B7DuNxUq.cjs.map} +1 -1
  298. package/dist/radio-group.cjs +1 -1
  299. package/dist/radio-group.js +1 -1
  300. package/dist/range.cjs +1 -1
  301. package/dist/range.js +1 -1
  302. package/dist/{reduced-motion-DR32yKEO.cjs → reduced-motion-9RjNnhIg.cjs} +1 -1
  303. package/dist/{reduced-motion-DR32yKEO.cjs.map → reduced-motion-9RjNnhIg.cjs.map} +1 -1
  304. package/dist/{reduced-motion-B83yZbcO.js.map → reduced-motion-BZTLqAyl.js.map} +1 -1
  305. package/dist/{rxjs-utils-CN9fv8Xq.js → rxjs-utils-CKTnEKUH.js} +1 -1
  306. package/dist/{rxjs-utils-CN9fv8Xq.js.map → rxjs-utils-CKTnEKUH.js.map} +1 -1
  307. package/dist/{rxjs-utils-Vn6DCKgL.cjs → rxjs-utils-DJbZRjp3.cjs} +1 -1
  308. package/dist/{rxjs-utils-Vn6DCKgL.cjs.map → rxjs-utils-DJbZRjp3.cjs.map} +1 -1
  309. package/dist/rxjs-utils.cjs +1 -1
  310. package/dist/rxjs-utils.js +1 -1
  311. package/dist/{scroll-pdsp_9bT.js → scroll-CdmXRXh2.js} +1 -1
  312. package/dist/{scroll-pdsp_9bT.js.map → scroll-CdmXRXh2.js.map} +1 -1
  313. package/dist/{scroll-C6Hub5gG.cjs → scroll-V1rAZ9fK.cjs} +1 -1
  314. package/dist/{scroll-C6Hub5gG.cjs.map → scroll-V1rAZ9fK.cjs.map} +1 -1
  315. package/dist/{search-BlGJ6uJv.js.map → search-CvUZRLF1.js.map} +1 -1
  316. package/dist/{search-C8eAOzBm.cjs.map → search-CwMav5QB.cjs.map} +1 -1
  317. package/dist/{select-Zg9UqtCA.cjs → select-DFxoBgEf.cjs} +1 -1
  318. package/dist/{select-Zg9UqtCA.cjs.map → select-DFxoBgEf.cjs.map} +1 -1
  319. package/dist/{select-_Qkleofb.js → select-wFDKDLQI.js} +2 -2
  320. package/dist/{select-_Qkleofb.js.map → select-wFDKDLQI.js.map} +1 -1
  321. package/dist/select.cjs +1 -1
  322. package/dist/select.js +1 -1
  323. package/dist/{sheet-7LWVKgW9.cjs → sheet-DdlZhnDG.cjs} +2 -2
  324. package/dist/{sheet-7LWVKgW9.cjs.map → sheet-DdlZhnDG.cjs.map} +1 -1
  325. package/dist/{sheet-N9TET_t_.js → sheet-LFVo5iN4.js} +4 -4
  326. package/dist/{sheet-N9TET_t_.js.map → sheet-LFVo5iN4.js.map} +1 -1
  327. package/dist/sheet.cjs +1 -1
  328. package/dist/sheet.js +2 -2
  329. package/dist/{sheet.service-P2CkJW86.cjs → sheet.service-BfNDB0K0.cjs} +1 -1
  330. package/dist/{sheet.service-P2CkJW86.cjs.map → sheet.service-BfNDB0K0.cjs.map} +1 -1
  331. package/dist/{sheet.service-DCe4FOkQ.js → sheet.service-DQE7-_wq.js} +3 -3
  332. package/dist/{sheet.service-DCe4FOkQ.js.map → sheet.service-DQE7-_wq.js.map} +1 -1
  333. package/dist/skeleton.cjs +1 -1
  334. package/dist/skeleton.js +1 -1
  335. package/dist/skills/INDEX.md +1 -1
  336. package/dist/skills/overlay.md +200 -0
  337. package/dist/skills/schmancy/INDEX.md +1 -1
  338. package/dist/skills/schmancy/overlay.md +200 -0
  339. package/dist/slider.cjs +1 -1
  340. package/dist/slider.js +1 -1
  341. package/dist/{sound.service-BjSoGjmT.cjs → sound.service-BEN6Xjy_.cjs} +1 -1
  342. package/dist/{sound.service-BjSoGjmT.cjs.map → sound.service-BEN6Xjy_.cjs.map} +1 -1
  343. package/dist/{sound.service-cdkw3Wkv.js → sound.service-DWZe6swU.js} +1 -1
  344. package/dist/{sound.service-cdkw3Wkv.js.map → sound.service-DWZe6swU.js.map} +1 -1
  345. package/dist/{splash-screen-BUKRc46i.cjs → splash-screen-C9HqX2nR.cjs} +1 -1
  346. package/dist/{splash-screen-BUKRc46i.cjs.map → splash-screen-C9HqX2nR.cjs.map} +1 -1
  347. package/dist/{splash-screen-B5Sgz7eG.js → splash-screen-COg3Z6n8.js} +1 -1
  348. package/dist/{splash-screen-B5Sgz7eG.js.map → splash-screen-COg3Z6n8.js.map} +1 -1
  349. package/dist/splash-screen.cjs +1 -1
  350. package/dist/splash-screen.js +1 -1
  351. package/dist/{src-59eVZMmI.js → src-C7niWYur.js} +51 -51
  352. package/dist/src-C7niWYur.js.map +1 -0
  353. package/dist/{src-r2bV-AFk.cjs → src-I4M33WK2.cjs} +3 -3
  354. package/dist/src-I4M33WK2.cjs.map +1 -0
  355. package/dist/steps.cjs +1 -1
  356. package/dist/steps.js +3 -3
  357. package/dist/{store-CO4nJyGj.cjs → store-CjFHCSDb.cjs} +1 -1
  358. package/dist/{store-CO4nJyGj.cjs.map → store-CjFHCSDb.cjs.map} +1 -1
  359. package/dist/{store-Bmj6rvZY.js.map → store-CjzZDQt8.js.map} +1 -1
  360. package/dist/store.cjs +1 -1
  361. package/dist/store.js +1 -1
  362. package/dist/{surface-BL6YlaS3.js → surface-0XM4DBaT.js} +2 -2
  363. package/dist/{surface-BL6YlaS3.js.map → surface-0XM4DBaT.js.map} +1 -1
  364. package/dist/{surface-B-y5Zzmz.cjs → surface-B6DA01kL.cjs} +1 -1
  365. package/dist/{surface-B-y5Zzmz.cjs.map → surface-B6DA01kL.cjs.map} +1 -1
  366. package/dist/surface.cjs +1 -1
  367. package/dist/surface.js +1 -1
  368. package/dist/{surface.mixin-CSKqQH-0.cjs → surface.mixin-DxOi-xo0.cjs} +1 -1
  369. package/dist/{surface.mixin-CSKqQH-0.cjs.map → surface.mixin-DxOi-xo0.cjs.map} +1 -1
  370. package/dist/switch.cjs +1 -1
  371. package/dist/switch.js +1 -1
  372. package/dist/{table-CzcIcVFc.cjs → table-B-DsOqzT.cjs} +2 -2
  373. package/dist/{table-CzcIcVFc.cjs.map → table-B-DsOqzT.cjs.map} +1 -1
  374. package/dist/{table-B0-Pi4G5.js → table-hBEZRxM_.js} +3 -3
  375. package/dist/{table-B0-Pi4G5.js.map → table-hBEZRxM_.js.map} +1 -1
  376. package/dist/table.cjs +1 -1
  377. package/dist/table.js +1 -1
  378. package/dist/{tabs-D-VbZiFu.js → tabs-C7r4TqcX.js} +2 -2
  379. package/dist/{tabs-D-VbZiFu.js.map → tabs-C7r4TqcX.js.map} +1 -1
  380. package/dist/{tabs-CzC8kJyY.cjs → tabs-DZaLZUBy.cjs} +1 -1
  381. package/dist/{tabs-CzC8kJyY.cjs.map → tabs-DZaLZUBy.cjs.map} +1 -1
  382. package/dist/tabs.cjs +1 -1
  383. package/dist/tabs.js +1 -1
  384. package/dist/tailwind.mixin-Bh58QnlW.cjs +2 -0
  385. package/dist/{tailwind.mixin-ZzkXQTFA.cjs.map → tailwind.mixin-Bh58QnlW.cjs.map} +1 -1
  386. package/dist/tailwind.mixin-H5Pn7vSJ.js +219 -0
  387. package/dist/{tailwind.mixin-BCz3GEpw.js.map → tailwind.mixin-H5Pn7vSJ.js.map} +1 -1
  388. package/dist/teleport.cjs +1 -1
  389. package/dist/teleport.js +1 -1
  390. package/dist/{textarea-CgB6XptL.cjs → textarea-B2544vx9.cjs} +1 -1
  391. package/dist/{textarea-CgB6XptL.cjs.map → textarea-B2544vx9.cjs.map} +1 -1
  392. package/dist/{textarea-ZopeteYQ.js → textarea-CS-KdSLz.js} +1 -1
  393. package/dist/{textarea-ZopeteYQ.js.map → textarea-CS-KdSLz.js.map} +1 -1
  394. package/dist/textarea.cjs +1 -1
  395. package/dist/textarea.js +1 -1
  396. package/dist/{theme-C7As-iVa.js → theme-Cq_c9IO3.js} +7 -7
  397. package/dist/{theme-C7As-iVa.js.map → theme-Cq_c9IO3.js.map} +1 -1
  398. package/dist/{theme-D9bRCDs9.cjs → theme-DU5yXaV-.cjs} +1 -1
  399. package/dist/{theme-D9bRCDs9.cjs.map → theme-DU5yXaV-.cjs.map} +1 -1
  400. package/dist/{theme-button-D2nMfwSr.cjs → theme-button-CPujUbgV.cjs} +1 -1
  401. package/dist/{theme-button-D2nMfwSr.cjs.map → theme-button-CPujUbgV.cjs.map} +1 -1
  402. package/dist/{theme-button-BDXtIhZC.js → theme-button-OJl2ma0u.js} +1 -1
  403. package/dist/{theme-button-BDXtIhZC.js.map → theme-button-OJl2ma0u.js.map} +1 -1
  404. package/dist/theme-button.cjs +1 -1
  405. package/dist/theme-button.js +1 -1
  406. package/dist/theme.cjs +1 -1
  407. package/dist/{theme.events-EznKK2Y0.cjs.map → theme.events-DakXxZeP.cjs.map} +1 -1
  408. package/dist/{theme.events-Bw3mYjUA.js.map → theme.events-NuihzD_p.js.map} +1 -1
  409. package/dist/{theme.interface-Cyqv5XWY.js.map → theme.interface-Buged9Cg.js.map} +1 -1
  410. package/dist/{theme.interface-CCE3L1ql.cjs.map → theme.interface-DTwkuAKJ.cjs.map} +1 -1
  411. package/dist/theme.js +5 -5
  412. package/dist/{theme.service-ETiKUwVy.cjs → theme.service-DxJPUGlu.cjs} +1 -1
  413. package/dist/{theme.service-ETiKUwVy.cjs.map → theme.service-DxJPUGlu.cjs.map} +1 -1
  414. package/dist/{theme.service-_qP5WvB9.js → theme.service-cOfPrtfe.js} +2 -2
  415. package/dist/{theme.service-_qP5WvB9.js.map → theme.service-cOfPrtfe.js.map} +1 -1
  416. package/dist/tooltip.cjs +1 -1
  417. package/dist/tree.cjs +1 -1
  418. package/dist/tree.cjs.map +1 -1
  419. package/dist/tree.js +1 -1
  420. package/dist/{tslib.es6-PMITL0Z3.cjs.map → tslib.es6-Cnt75pb6.cjs.map} +1 -1
  421. package/dist/{tslib.es6-vJQZBGJO.js.map → tslib.es6-DMzzJKHV.js.map} +1 -1
  422. package/dist/{typewriter-DaTkMEHc.js → typewriter-DyN7xa0n.js} +5 -5
  423. package/dist/{typewriter-DaTkMEHc.js.map → typewriter-DyN7xa0n.js.map} +1 -1
  424. package/dist/{typewriter-BjuFsiR3.cjs → typewriter-LK0S4NEr.cjs} +1 -1
  425. package/dist/{typewriter-BjuFsiR3.cjs.map → typewriter-LK0S4NEr.cjs.map} +1 -1
  426. package/dist/typewriter.cjs +1 -1
  427. package/dist/typewriter.js +1 -1
  428. package/dist/typography.cjs +1 -1
  429. package/dist/typography.js +1 -1
  430. package/dist/{utils-C8PD8So2.cjs → utils-2qrmPb78.cjs} +1 -1
  431. package/dist/{utils-C8PD8So2.cjs.map → utils-2qrmPb78.cjs.map} +1 -1
  432. package/dist/{utils-DVuCPDfw.js → utils-xBXLvebz.js} +3 -3
  433. package/dist/{utils-DVuCPDfw.js.map → utils-xBXLvebz.js.map} +1 -1
  434. package/dist/utils.cjs +1 -1
  435. package/dist/utils.js +5 -5
  436. package/dist/visually-hidden.cjs +1 -1
  437. package/dist/visually-hidden.js +1 -1
  438. package/dist/{window-DPSIGCUq.js → window-BWecg8Ih.js} +6 -6
  439. package/dist/{window-DPSIGCUq.js.map → window-BWecg8Ih.js.map} +1 -1
  440. package/dist/{window-DAWRoXo1.cjs → window-Cjv2GqSN.cjs} +1 -1
  441. package/dist/{window-DAWRoXo1.cjs.map → window-Cjv2GqSN.cjs.map} +1 -1
  442. package/dist/window.cjs +1 -1
  443. package/dist/window.js +1 -1
  444. package/package.json +15 -3
  445. package/skills/schmancy/INDEX.md +1 -1
  446. package/skills/schmancy/overlay.md +200 -0
  447. package/src/agent/agent-bundle.test.ts +92 -0
  448. package/src/agent/agent-entry.ts +17 -0
  449. package/src/agent/helpers.ts +161 -0
  450. package/src/agent/index.ts +1 -0
  451. package/src/agent/schmancy-skill.ts +71 -0
  452. package/src/agent/virtual-manifest.d.ts +10 -0
  453. package/src/area/area.service.ts +11 -0
  454. package/src/content-drawer/drawer.service.ts +9 -0
  455. package/src/dialog/dialog-service.ts +11 -1
  456. package/src/notification/notification-service.ts +11 -1
  457. package/src/overlay/index.ts +15 -0
  458. package/src/overlay/overlay.animations.ts +137 -0
  459. package/src/overlay/overlay.component.ts +452 -0
  460. package/src/overlay/overlay.confirm-body.ts +149 -0
  461. package/src/overlay/overlay.gestures.ts +131 -0
  462. package/src/overlay/overlay.layout.ts +76 -0
  463. package/src/overlay/overlay.service.ts +299 -0
  464. package/src/overlay/overlay.stack.ts +171 -0
  465. package/src/overlay/overlay.types.ts +146 -0
  466. package/src/sheet/sheet.service.ts +10 -0
  467. package/src/theme/theme.service.ts +11 -1
  468. package/types/src/agent/agent-bundle.test.d.ts +1 -0
  469. package/types/src/agent/agent-entry.d.ts +4 -0
  470. package/types/src/agent/helpers.d.ts +87 -0
  471. package/types/src/agent/index.d.ts +1 -0
  472. package/types/src/agent/schmancy-skill.d.ts +33 -0
  473. package/types/src/area/area.service.d.ts +11 -0
  474. package/types/src/content-drawer/drawer.service.d.ts +9 -0
  475. package/types/src/dialog/dialog-service.d.ts +11 -1
  476. package/types/src/notification/notification-service.d.ts +11 -1
  477. package/types/src/overlay/index.d.ts +5 -0
  478. package/types/src/overlay/overlay.animations.d.ts +26 -0
  479. package/types/src/overlay/overlay.component.d.ts +48 -0
  480. package/types/src/overlay/overlay.confirm-body.d.ts +42 -0
  481. package/types/src/overlay/overlay.gestures.d.ts +39 -0
  482. package/types/src/overlay/overlay.layout.d.ts +48 -0
  483. package/types/src/overlay/overlay.service.d.ts +62 -0
  484. package/types/src/overlay/overlay.stack.d.ts +25 -0
  485. package/types/src/overlay/overlay.types.d.ts +122 -0
  486. package/types/src/sheet/sheet.service.d.ts +9 -0
  487. package/types/src/theme/theme.service.d.ts +11 -0
  488. package/dist/area-CBjmKtN-.cjs.map +0 -1
  489. package/dist/area-CjX0Ckh9.js.map +0 -1
  490. package/dist/chunk-BCfY8kxB.cjs +0 -1
  491. package/dist/context-BRtGc7PP.cjs +0 -1
  492. package/dist/context-DgD3c6q-.js +0 -3
  493. package/dist/float-I4wePTk7.cjs +0 -1
  494. package/dist/notification-BT84PlwC.cjs.map +0 -1
  495. package/dist/notification-DvrozLTu.js.map +0 -1
  496. package/dist/src-59eVZMmI.js.map +0 -1
  497. package/dist/src-r2bV-AFk.cjs.map +0 -1
  498. package/dist/tailwind.mixin-BCz3GEpw.js +0 -219
  499. package/dist/tailwind.mixin-ZzkXQTFA.cjs +0 -2
  500. /package/dist/{flow-BPDtbhLe.js → agent/flow-CaPi2G8y.js} +0 -0
  501. /package/dist/{chunk-C_1VqBVD.js → agent/rolldown-runtime-DsMetpgY.js} +0 -0
  502. /package/dist/{animation-Bcwh107v.cjs → animation-CQRdLgzX.cjs} +0 -0
  503. /package/dist/{animation-CXKSuUoE.js → animation-hXFClrIn.js} +0 -0
  504. /package/dist/{date-range-inline-B_g1YXu3.js → date-range-inline-CpKG6qt2.js} +0 -0
  505. /package/dist/{flow-Dn9AZktE.cjs → flow-ClAJ6Qby.cjs} +0 -0
  506. /package/dist/{form-C1qS9uvS.js → form-rCZqoAoK.js} +0 -0
  507. /package/dist/{hashContent-BUqULUiZ.js → hashContent-B2IntJQf.js} +0 -0
  508. /package/dist/{hashContent-CI39BY-_.cjs → hashContent-CahnEuut.cjs} +0 -0
  509. /package/dist/{intersection-C0JuW_7U.js → intersection-BrXp4YTO.js} +0 -0
  510. /package/dist/{overlay-stack-J_eJCUTX.cjs → overlay-stack-7bs4ZNnh.cjs} +0 -0
  511. /package/dist/{overlay-stack-BJt_r6aZ.js → overlay-stack-DXPYHPhk.js} +0 -0
  512. /package/dist/{reduced-motion-B83yZbcO.js → reduced-motion-BZTLqAyl.js} +0 -0
  513. /package/dist/{search-BlGJ6uJv.js → search-CvUZRLF1.js} +0 -0
  514. /package/dist/{search-C8eAOzBm.cjs → search-CwMav5QB.cjs} +0 -0
  515. /package/dist/{store-Bmj6rvZY.js → store-CjzZDQt8.js} +0 -0
  516. /package/dist/{theme.events-EznKK2Y0.cjs → theme.events-DakXxZeP.cjs} +0 -0
  517. /package/dist/{theme.events-Bw3mYjUA.js → theme.events-NuihzD_p.js} +0 -0
  518. /package/dist/{theme.interface-Cyqv5XWY.js → theme.interface-Buged9Cg.js} +0 -0
  519. /package/dist/{theme.interface-CCE3L1ql.cjs → theme.interface-DTwkuAKJ.cjs} +0 -0
  520. /package/dist/{tslib.es6-PMITL0Z3.cjs → tslib.es6-Cnt75pb6.cjs} +0 -0
  521. /package/dist/{tslib.es6-vJQZBGJO.js → tslib.es6-DMzzJKHV.js} +0 -0
@@ -0,0 +1,161 @@
1
+ import manifest from 'virtual:schmancy-manifest'
2
+
3
+ export type Manifest = typeof manifest
4
+
5
+ export type ElementEntry = {
6
+ kind: 'class'
7
+ name: string
8
+ tagName?: string
9
+ description?: string
10
+ summary?: string
11
+ attributes?: Array<{
12
+ name: string
13
+ description?: string
14
+ type?: { text?: string }
15
+ default?: string
16
+ values?: string[]
17
+ }>
18
+ events?: Array<{ name: string; description?: string; type?: { text?: string } }>
19
+ slots?: Array<{ name: string; description?: string }>
20
+ cssProperties?: Array<{ name: string; description?: string }>
21
+ cssParts?: Array<{ name: string; description?: string }>
22
+ whenToUse?: string
23
+ platformPrimitive?: { tag: string; mode?: string; note?: string }
24
+ contexts?: { provides?: string[]; consumes?: string[] }
25
+ }
26
+
27
+ export type ServiceEntry = {
28
+ kind: 'variable'
29
+ name: string
30
+ description?: string
31
+ summary?: string
32
+ service: true
33
+ methods?: Array<{ signature: string; summary?: string }>
34
+ }
35
+
36
+ type Declaration = ElementEntry | ServiceEntry | { kind: string; name: string; [key: string]: unknown }
37
+
38
+ function allDeclarations(): Declaration[] {
39
+ const out: Declaration[] = []
40
+ for (const mod of manifest.modules ?? []) {
41
+ const decls = (mod as unknown as { declarations?: Declaration[] }).declarations ?? []
42
+ for (const decl of decls) out.push(decl)
43
+ }
44
+ return out
45
+ }
46
+
47
+ function elements(): ElementEntry[] {
48
+ return allDeclarations().filter(
49
+ (d): d is ElementEntry => d.kind === 'class' && typeof (d as ElementEntry).tagName === 'string',
50
+ )
51
+ }
52
+
53
+ function services(): ServiceEntry[] {
54
+ return allDeclarations().filter((d): d is ServiceEntry => d.kind === 'variable' && (d as ServiceEntry).service === true)
55
+ }
56
+
57
+ export function help(tag?: string): unknown {
58
+ if (!tag) {
59
+ return {
60
+ elements: elements().map(e => ({ tag: e.tagName, summary: e.summary ?? e.description })),
61
+ services: services().map(s => ({ name: s.name, summary: s.summary ?? s.description })),
62
+ }
63
+ }
64
+ const el = elements().find(e => e.tagName === tag)
65
+ if (el) return el
66
+ const svc = services().find(s => s.name === tag)
67
+ if (svc) return svc
68
+ return null
69
+ }
70
+
71
+ export function tokens(): string[] {
72
+ return (manifest as { tokens?: string[] }).tokens ?? []
73
+ }
74
+
75
+ export function platformPrimitive(tag: string): ElementEntry['platformPrimitive'] | null {
76
+ return elements().find(e => e.tagName === tag)?.platformPrimitive ?? null
77
+ }
78
+
79
+ export function registeredTags(): string[] {
80
+ return elements()
81
+ .map(e => e.tagName!)
82
+ .filter(tag => typeof customElements.get(tag) !== 'undefined')
83
+ }
84
+
85
+ export function a11yAudit(): Array<{
86
+ tag: string
87
+ role: string | null
88
+ ariaLabel: string | null
89
+ hasShadowRoot: boolean
90
+ formAssociated: boolean
91
+ }> {
92
+ const tags = new Set(elements().map(e => e.tagName!))
93
+ const report: Array<{
94
+ tag: string
95
+ role: string | null
96
+ ariaLabel: string | null
97
+ hasShadowRoot: boolean
98
+ formAssociated: boolean
99
+ }> = []
100
+ const all = document.querySelectorAll('*')
101
+ for (const node of Array.from(all)) {
102
+ const tag = node.tagName.toLowerCase()
103
+ if (!tags.has(tag)) continue
104
+ const ctor = customElements.get(tag) as (CustomElementConstructor & { formAssociated?: boolean }) | undefined
105
+ report.push({
106
+ tag,
107
+ role: node.getAttribute('role'),
108
+ ariaLabel: node.getAttribute('aria-label'),
109
+ hasShadowRoot: Boolean((node as Element & { shadowRoot?: ShadowRoot | null }).shadowRoot),
110
+ formAssociated: Boolean(ctor?.formAssociated),
111
+ })
112
+ }
113
+ return report
114
+ }
115
+
116
+ export type Capabilities = {
117
+ popover: boolean
118
+ declarativeShadowDom: boolean
119
+ scopedRegistries: boolean
120
+ trustedTypes: boolean
121
+ cssRegisteredProperties: boolean
122
+ elementInternalsAria: boolean
123
+ formAssociated: boolean
124
+ adoptedStyleSheets: boolean
125
+ }
126
+
127
+ /**
128
+ * Runtime feature probe. Tells an agent which platform capabilities the
129
+ * current sandbox exposes, so it can adapt without assuming the sandbox CSP
130
+ * or browser version. Every check is feature-detect, not UA-sniff.
131
+ */
132
+ export function capabilities(): Capabilities {
133
+ const anyTemplate = typeof HTMLTemplateElement !== 'undefined' ? HTMLTemplateElement.prototype : null
134
+ const anyElInternals = typeof ElementInternals !== 'undefined' ? ElementInternals.prototype : null
135
+ return {
136
+ popover: typeof HTMLElement !== 'undefined' && 'popover' in HTMLElement.prototype,
137
+ declarativeShadowDom: Boolean(anyTemplate && 'shadowRootMode' in anyTemplate),
138
+ scopedRegistries: (() => {
139
+ try {
140
+ // Native scoped registries require a constructible CustomElementRegistry.
141
+ // Pre-Safari-26/Chrome-146, the constructor throws Illegal constructor.
142
+ new (window as { CustomElementRegistry?: new () => unknown }).CustomElementRegistry!()
143
+ return true
144
+ } catch {
145
+ return false
146
+ }
147
+ })(),
148
+ trustedTypes: typeof (globalThis as { trustedTypes?: unknown }).trustedTypes !== 'undefined',
149
+ cssRegisteredProperties: typeof (window as { CSS?: { registerProperty?: unknown } }).CSS?.registerProperty === 'function',
150
+ elementInternalsAria: Boolean(anyElInternals && 'role' in anyElInternals),
151
+ formAssociated: typeof ElementInternals !== 'undefined',
152
+ adoptedStyleSheets: typeof Document !== 'undefined' && 'adoptedStyleSheets' in Document.prototype,
153
+ }
154
+ }
155
+
156
+ export function manifestUrl(): string {
157
+ const blob = new Blob([JSON.stringify(manifest)], { type: 'application/json' })
158
+ return URL.createObjectURL(blob)
159
+ }
160
+
161
+ export { manifest }
@@ -0,0 +1 @@
1
+ export * from './schmancy-skill'
@@ -0,0 +1,71 @@
1
+ import { $LitElement } from '../../mixins/index'
2
+ import { html } from 'lit'
3
+ import { customElement } from 'lit/decorators.js'
4
+ import {
5
+ a11yAudit,
6
+ capabilities,
7
+ help,
8
+ manifest,
9
+ manifestUrl,
10
+ platformPrimitive,
11
+ registeredTags,
12
+ tokens,
13
+ } from './helpers'
14
+
15
+ declare global {
16
+ interface Window {
17
+ schmancy?: {
18
+ manifest: typeof manifest
19
+ manifestUrl: string
20
+ help: typeof help
21
+ tokens: typeof tokens
22
+ platformPrimitive: typeof platformPrimitive
23
+ registeredTags: typeof registeredTags
24
+ a11yAudit: typeof a11yAudit
25
+ capabilities: typeof capabilities
26
+ }
27
+ }
28
+ }
29
+
30
+ let installedUrl: string | null = null
31
+
32
+ function install() {
33
+ if (typeof window === 'undefined') return
34
+ if (installedUrl) return
35
+ installedUrl = manifestUrl()
36
+ window.schmancy = {
37
+ manifest,
38
+ manifestUrl: installedUrl,
39
+ help,
40
+ tokens,
41
+ platformPrimitive,
42
+ registeredTags,
43
+ a11yAudit,
44
+ capabilities,
45
+ }
46
+ }
47
+
48
+ /**
49
+ * Self-describing runtime helper. Drop `<schmancy-skill></schmancy-skill>`
50
+ * once on a page and `window.schmancy.help('schmancy-button')` returns the
51
+ * machine-readable entry for any tag. Renders nothing.
52
+ *
53
+ * @element schmancy-skill
54
+ */
55
+ @customElement('schmancy-skill')
56
+ export class SchmancySkill extends $LitElement() {
57
+ connectedCallback() {
58
+ super.connectedCallback()
59
+ install()
60
+ }
61
+
62
+ render() {
63
+ return html``
64
+ }
65
+ }
66
+
67
+ declare global {
68
+ interface HTMLElementTagNameMap {
69
+ 'schmancy-skill': SchmancySkill
70
+ }
71
+ }
@@ -0,0 +1,10 @@
1
+ declare module 'virtual:schmancy-manifest' {
2
+ type ManifestModule = { kind: 'javascript-module'; path: string; declarations: Array<Record<string, unknown>> }
3
+ const manifest: {
4
+ schemaVersion: '1.0.0'
5
+ readme?: string
6
+ modules: ManifestModule[]
7
+ tokens: string[]
8
+ }
9
+ export default manifest
10
+ }
@@ -744,5 +744,16 @@ class AreaService implements AreaSubscription {
744
744
  }
745
745
  }
746
746
 
747
+ /**
748
+ * Area router singleton. Drives named `<schmancy-area>` outlets in the DOM
749
+ * — imperative push / pop, URL-synced, state-restoring. Pair with
750
+ * `lazy(() => import('./view'))` for code-split routes.
751
+ *
752
+ * @service
753
+ * @summary Imperative outlet-based router for `<schmancy-area>` elements.
754
+ * @method push({ area, component, params?, state? }) - Navigate an area to a component.
755
+ * @method pop(areaName) - Pop the top entry off an area's stack.
756
+ * @method current$(areaName) - Observable of the active route state for an area.
757
+ */
747
758
  export const area = AreaService.getInstance()
748
759
  export default area
@@ -145,4 +145,13 @@ class DrawerService {
145
145
  }
146
146
  }
147
147
 
148
+ /**
149
+ * Content-drawer service. Mounts any element inside the right-hand content
150
+ * drawer of a `<schmancy-content-drawer>` layout.
151
+ *
152
+ * @service
153
+ * @summary Imperative content-drawer (right-side navigation panel).
154
+ * @method render({ component, ...options }) - Mount an element in the drawer.
155
+ * @method close() - Close the drawer.
156
+ */
148
157
  export const schmancyContentDrawer = new DrawerService()
@@ -444,7 +444,17 @@ export class DialogService {
444
444
  const service = DialogService.getInstance()
445
445
 
446
446
  /**
447
- * Global dialog utility
447
+ * Global dialog utility. Imperative modal API — open any element as a dialog,
448
+ * or use the built-in `confirm` / `ask` / `danger` prompts. Returns Promises
449
+ * that resolve when the user picks an action.
450
+ *
451
+ * @service
452
+ * @summary Imperative modal dialogs and built-in confirm/ask/danger prompts.
453
+ * @method confirm(options: DialogOptions) - Built-in confirm prompt. Returns Promise<boolean>.
454
+ * @method ask(message, event?) - One-line yes/no prompt anchored to the triggering event.
455
+ * @method danger(options) - Destructive-action confirm styled with the error palette.
456
+ * @method component(element, options?) - Open any element as a modal.
457
+ * @method dismiss(id?) - Dismiss a dialog by id, or the topmost dialog.
448
458
  */
449
459
  export const $dialog = {
450
460
  confirm: (options: DialogOptions): Promise<boolean> => {
@@ -246,7 +246,17 @@ export class NotificationService {
246
246
  }
247
247
 
248
248
  /**
249
- * Global notification utility - provides a quick way to show notifications
249
+ * Global notification (toast) utility. Fire-and-forget API for success,
250
+ * error, info, and warning toasts, plus a low-level `show` for custom
251
+ * notifications.
252
+ *
253
+ * @service
254
+ * @summary Toast notifications — success, error, info, warning.
255
+ * @method show(options: NotificationOptions) - Low-level; show any NotificationOptions.
256
+ * @method success(message, options?) - Green success toast.
257
+ * @method error(message, options?) - Red error toast.
258
+ * @method info(message, options?) - Blue informational toast.
259
+ * @method warning(message, options?) - Amber warning toast.
250
260
  */
251
261
  export const $notify = {
252
262
  /**
@@ -0,0 +1,15 @@
1
+ export * from './overlay.component'
2
+ export * from './overlay.confirm-body'
3
+ export * from './overlay.service'
4
+ export type {
5
+ Anchor,
6
+ CloseReason,
7
+ Content,
8
+ OverlayConfirmOptions,
9
+ OverlayEntry,
10
+ OverlayLayout,
11
+ OverlayPromptOptions,
12
+ ShowFn,
13
+ ShowOptions,
14
+ } from './overlay.types'
15
+ export { lazy } from '../area/lazy'
@@ -0,0 +1,137 @@
1
+ import {
2
+ DURATION_BACKDROP,
3
+ DURATION_EXIT,
4
+ EASE_IN,
5
+ EASE_OUT,
6
+ prefersReducedMotion,
7
+ SPRING_GENTLE,
8
+ SPRING_SNAPPY,
9
+ } from '../utils/animation'
10
+ import type { OverlayLayout } from './overlay.types'
11
+
12
+ /**
13
+ * WAAPI keyframes + options per layout + direction.
14
+ *
15
+ * One animation vocabulary — no per-element bespoke keyframes. Aligns
16
+ * with the `animation` skill (spring physics presets). Honors
17
+ * `prefers-reduced-motion` by collapsing transforms to opacity-only.
18
+ *
19
+ * Returns `null` when reduced-motion is active and only opacity change
20
+ * is needed — the caller sets style directly.
21
+ */
22
+
23
+ /**
24
+ * Shape matches both DOM `AnimationEffectTiming` and
25
+ * `KeyframeAnimationOptions` so it passes structural checks in both
26
+ * older and newer `lib.dom.d.ts` vintages.
27
+ */
28
+ export interface AnimationSpec {
29
+ keyframes: Keyframe[]
30
+ options: {
31
+ duration: number
32
+ easing: string
33
+ fill?: FillMode
34
+ }
35
+ }
36
+
37
+ export function backdropAnimation(direction: 'in' | 'out'): AnimationSpec {
38
+ return direction === 'in'
39
+ ? {
40
+ keyframes: [{ opacity: 0 }, { opacity: 1 }],
41
+ options: { duration: DURATION_BACKDROP, easing: EASE_OUT, fill: 'forwards' },
42
+ }
43
+ : {
44
+ keyframes: [{ opacity: 1 }, { opacity: 0 }],
45
+ options: { duration: DURATION_BACKDROP, easing: EASE_OUT, fill: 'forwards' },
46
+ }
47
+ }
48
+
49
+ export function surfaceAnimation(layout: OverlayLayout, direction: 'in' | 'out'): AnimationSpec {
50
+ const reduced = prefersReducedMotion()
51
+
52
+ if (reduced) {
53
+ // Opacity-only; explicit reset to { opacity: 1, transform: none } on `in`
54
+ // so any leftover transform from a prior `out` doesn't persist.
55
+ return direction === 'in'
56
+ ? {
57
+ keyframes: [
58
+ { opacity: 0, transform: 'none' },
59
+ { opacity: 1, transform: 'none' },
60
+ ],
61
+ options: { duration: 1, easing: 'linear', fill: 'forwards' },
62
+ }
63
+ : {
64
+ keyframes: [
65
+ { opacity: 1, transform: 'none' },
66
+ { opacity: 0, transform: 'none' },
67
+ ],
68
+ options: { duration: 1, easing: 'linear', fill: 'forwards' },
69
+ }
70
+ }
71
+
72
+ switch (layout) {
73
+ case 'centered':
74
+ return direction === 'in'
75
+ ? {
76
+ keyframes: [
77
+ { opacity: 0, transform: 'scale(0.92) translateY(16px)' },
78
+ { opacity: 1, transform: 'scale(1) translateY(0)' },
79
+ ],
80
+ options: {
81
+ duration: SPRING_SNAPPY.duration,
82
+ easing: SPRING_SNAPPY.easingFallback,
83
+ fill: 'forwards',
84
+ },
85
+ }
86
+ : {
87
+ keyframes: [
88
+ { opacity: 1, transform: 'scale(1) translateY(0)' },
89
+ { opacity: 0, transform: 'scale(0.96) translateY(8px)' },
90
+ ],
91
+ options: { duration: DURATION_EXIT, easing: EASE_IN, fill: 'forwards' },
92
+ }
93
+
94
+ case 'sheet':
95
+ return direction === 'in'
96
+ ? {
97
+ keyframes: [
98
+ { opacity: 0, transform: 'translateY(100%)' },
99
+ { opacity: 1, transform: 'translateY(0)' },
100
+ ],
101
+ options: {
102
+ duration: SPRING_GENTLE.duration,
103
+ easing: SPRING_GENTLE.easingFallback,
104
+ fill: 'forwards',
105
+ },
106
+ }
107
+ : {
108
+ keyframes: [
109
+ { opacity: 1, transform: 'translateY(0)' },
110
+ { opacity: 0, transform: 'translateY(100%)' },
111
+ ],
112
+ options: {
113
+ duration: DURATION_EXIT,
114
+ easing: EASE_IN,
115
+ fill: 'forwards',
116
+ },
117
+ }
118
+
119
+ case 'anchored':
120
+ // No transform — CSS Anchor Positioning / Floating UI owns position.
121
+ // Scale-from-origin via transform-origin would be nicer but conflicts
122
+ // with popover top-layer + position. Keep opacity-only for safety.
123
+ return direction === 'in'
124
+ ? {
125
+ keyframes: [{ opacity: 0 }, { opacity: 1 }],
126
+ options: {
127
+ duration: SPRING_SNAPPY.duration,
128
+ easing: SPRING_SNAPPY.easingFallback,
129
+ fill: 'forwards',
130
+ },
131
+ }
132
+ : {
133
+ keyframes: [{ opacity: 1 }, { opacity: 0 }],
134
+ options: { duration: DURATION_EXIT, easing: EASE_IN, fill: 'forwards' },
135
+ }
136
+ }
137
+ }