@mhmo91/schmancy 0.9.12 → 0.9.13

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 (392) hide show
  1. package/README.md +34 -0
  2. package/custom-elements.json +42 -0
  3. package/dist/agent/flow-CaPi2G8y.js +386 -0
  4. package/dist/agent/flow-CaPi2G8y.js.map +1 -0
  5. package/dist/agent/rolldown-runtime-DsMetpgY.js +11 -0
  6. package/dist/agent/schmancy.agent.js +36368 -0
  7. package/dist/agent/schmancy.agent.js.map +1 -0
  8. package/dist/agent/schmancy.manifest.json +6879 -0
  9. package/dist/agent/vendor-highlight-CHJZQQB7.js +2178 -0
  10. package/dist/agent/vendor-highlight-CHJZQQB7.js.map +1 -0
  11. package/dist/agent/vendor-jsqr-r7GNh4P3.js +10212 -0
  12. package/dist/agent/vendor-jsqr-r7GNh4P3.js.map +1 -0
  13. package/dist/agent/vendor-material-color-Be96dpGE.js +3309 -0
  14. package/dist/agent/vendor-material-color-Be96dpGE.js.map +1 -0
  15. package/dist/{area-CBjmKtN-.cjs → area-CApZWjqs.cjs} +1 -1
  16. package/dist/area-CApZWjqs.cjs.map +1 -0
  17. package/dist/{area-CjX0Ckh9.js → area-D_p1YBgP.js} +1 -1
  18. package/dist/area-D_p1YBgP.js.map +1 -0
  19. package/dist/area.cjs +1 -1
  20. package/dist/area.js +1 -1
  21. package/dist/audio-C7TzWI8M.js.map +1 -1
  22. package/dist/audio-DUVz7Ars.cjs.map +1 -1
  23. package/dist/{autocomplete-ppoaK_GD.js → autocomplete-DAK35swc.js} +2 -2
  24. package/dist/{autocomplete-ppoaK_GD.js.map → autocomplete-DAK35swc.js.map} +1 -1
  25. package/dist/{autocomplete-WQxz4VGO.cjs → autocomplete-DlCqS1gW.cjs} +1 -1
  26. package/dist/{autocomplete-WQxz4VGO.cjs.map → autocomplete-DlCqS1gW.cjs.map} +1 -1
  27. package/dist/autocomplete.cjs +1 -1
  28. package/dist/autocomplete.js +1 -1
  29. package/dist/badge.cjs +1 -1
  30. package/dist/badge.js +1 -1
  31. package/dist/{boat-C-T9RDiG.cjs → boat-C57YTPbb.cjs} +1 -1
  32. package/dist/{boat-C-T9RDiG.cjs.map → boat-C57YTPbb.cjs.map} +1 -1
  33. package/dist/{boat-C4JnoakD.js → boat-Dms45k4o.js} +1 -1
  34. package/dist/{boat-C4JnoakD.js.map → boat-Dms45k4o.js.map} +1 -1
  35. package/dist/boat.cjs +1 -1
  36. package/dist/boat.js +1 -1
  37. package/dist/breadcrumb.cjs +1 -1
  38. package/dist/breadcrumb.js +1 -1
  39. package/dist/{busy-BMRUS_Ns.cjs → busy-BfN1p1n8.cjs} +1 -1
  40. package/dist/{busy-BMRUS_Ns.cjs.map → busy-BfN1p1n8.cjs.map} +1 -1
  41. package/dist/{busy-DuV4A5PX.js → busy-IKS9obYj.js} +1 -1
  42. package/dist/{busy-DuV4A5PX.js.map → busy-IKS9obYj.js.map} +1 -1
  43. package/dist/busy.cjs +1 -1
  44. package/dist/busy.js +1 -1
  45. package/dist/button.cjs +1 -1
  46. package/dist/button.cjs.map +1 -1
  47. package/dist/button.js +3 -3
  48. package/dist/button.js.map +1 -1
  49. package/dist/{card-DzXRouJC.js → card-DQNBal9V.js} +1 -1
  50. package/dist/{card-DzXRouJC.js.map → card-DQNBal9V.js.map} +1 -1
  51. package/dist/{card-DBjGfCxi.cjs → card-ZObyqkFF.cjs} +1 -1
  52. package/dist/{card-DBjGfCxi.cjs.map → card-ZObyqkFF.cjs.map} +1 -1
  53. package/dist/card.cjs +1 -1
  54. package/dist/card.js +1 -1
  55. package/dist/charts.cjs +1 -1
  56. package/dist/charts.js +1 -1
  57. package/dist/{checkbox-BwuhSBDG.js → checkbox-COhTJ1x5.js} +1 -1
  58. package/dist/{checkbox-BwuhSBDG.js.map → checkbox-COhTJ1x5.js.map} +1 -1
  59. package/dist/{checkbox-BibOr-sJ.cjs → checkbox-CiAtIrqB.cjs} +1 -1
  60. package/dist/{checkbox-BibOr-sJ.cjs.map → checkbox-CiAtIrqB.cjs.map} +1 -1
  61. package/dist/checkbox.cjs +1 -1
  62. package/dist/checkbox.js +1 -1
  63. package/dist/{chips-DiB2BfTQ.js → chips-B5o3vNQF.js} +3 -3
  64. package/dist/{chips-DiB2BfTQ.js.map → chips-B5o3vNQF.js.map} +1 -1
  65. package/dist/{chips-D5QvIKt6.cjs → chips-D2xmsC36.cjs} +1 -1
  66. package/dist/{chips-D5QvIKt6.cjs.map → chips-D2xmsC36.cjs.map} +1 -1
  67. package/dist/chips.cjs +1 -1
  68. package/dist/chips.js +2 -2
  69. package/dist/{code-highlight-Q2x2hrWg.cjs → code-highlight-BToHh8T6.cjs} +1 -1
  70. package/dist/{code-highlight-Q2x2hrWg.cjs.map → code-highlight-BToHh8T6.cjs.map} +1 -1
  71. package/dist/{code-highlight-B5_zONzv.js → code-highlight-SkMMTkIJ.js} +1 -1
  72. package/dist/{code-highlight-B5_zONzv.js.map → code-highlight-SkMMTkIJ.js.map} +1 -1
  73. package/dist/code-highlight.cjs +1 -1
  74. package/dist/code-highlight.js +1 -1
  75. package/dist/{components-jfFxyq6z.cjs → components-B-XYvUWn.cjs} +1 -1
  76. package/dist/{components-jfFxyq6z.cjs.map → components-B-XYvUWn.cjs.map} +1 -1
  77. package/dist/{components-CjLqW8Jp.js → components-Ca7OTgbQ.js} +1 -1
  78. package/dist/{components-CjLqW8Jp.js.map → components-Ca7OTgbQ.js.map} +1 -1
  79. package/dist/components.cjs +1 -1
  80. package/dist/components.js +1 -1
  81. package/dist/connectivity.cjs +1 -1
  82. package/dist/connectivity.js +1 -1
  83. package/dist/content-drawer.cjs +1 -1
  84. package/dist/content-drawer.js +1 -1
  85. package/dist/context-C6GwmNJJ.cjs +1 -0
  86. package/dist/{context-BRtGc7PP.cjs.map → context-C6GwmNJJ.cjs.map} +1 -1
  87. package/dist/context-oBTPHrbc.js +3 -0
  88. package/dist/{context-DgD3c6q-.js.map → context-oBTPHrbc.js.map} +1 -1
  89. package/dist/cursor-glow-82y5h3E4.cjs.map +1 -1
  90. package/dist/{date-range-DF5ROfrb.cjs → date-range-BTA9nKbw.cjs} +1 -1
  91. package/dist/{date-range-DF5ROfrb.cjs.map → date-range-BTA9nKbw.cjs.map} +1 -1
  92. package/dist/{date-range-Dcy8GSov.js → date-range-DUWpF0Qw.js} +2 -2
  93. package/dist/{date-range-Dcy8GSov.js.map → date-range-DUWpF0Qw.js.map} +1 -1
  94. package/dist/date-range.cjs +1 -1
  95. package/dist/date-range.js +1 -1
  96. package/dist/{delay-aQRihOO4.cjs → delay-Co89XWry.cjs} +1 -1
  97. package/dist/{delay-aQRihOO4.cjs.map → delay-Co89XWry.cjs.map} +1 -1
  98. package/dist/{delay-B7TvigGw.js → delay-CtDrlf1Q.js} +3 -3
  99. package/dist/{delay-B7TvigGw.js.map → delay-CtDrlf1Q.js.map} +1 -1
  100. package/dist/delay.cjs +1 -1
  101. package/dist/delay.js +1 -1
  102. package/dist/{details-DfYDNHuv.js → details-B1Ax7WiP.js} +1 -1
  103. package/dist/{details-DfYDNHuv.js.map → details-B1Ax7WiP.js.map} +1 -1
  104. package/dist/{details-Cs8yStsJ.cjs → details-CyXyVdb2.cjs} +1 -1
  105. package/dist/{details-Cs8yStsJ.cjs.map → details-CyXyVdb2.cjs.map} +1 -1
  106. package/dist/details.cjs +1 -1
  107. package/dist/details.js +1 -1
  108. package/dist/dialog-service-CCFGpU7a.js.map +1 -1
  109. package/dist/dialog-service-DXLGSshF.cjs.map +1 -1
  110. package/dist/dialog.cjs +1 -1
  111. package/dist/dialog.cjs.map +1 -1
  112. package/dist/dialog.js +1 -1
  113. package/dist/directives.cjs.map +1 -1
  114. package/dist/directives.js.map +1 -1
  115. package/dist/{divider-DE9pcMw3.js → divider-DuwCrKQu.js} +1 -1
  116. package/dist/{divider-DE9pcMw3.js.map → divider-DuwCrKQu.js.map} +1 -1
  117. package/dist/{divider-DY4ocl-Z.cjs → divider-xcvHqVBc.cjs} +1 -1
  118. package/dist/{divider-DY4ocl-Z.cjs.map → divider-xcvHqVBc.cjs.map} +1 -1
  119. package/dist/divider.cjs +1 -1
  120. package/dist/divider.js +1 -1
  121. package/dist/dropdown.cjs +1 -1
  122. package/dist/dropdown.js +2 -2
  123. package/dist/{expand-Cuu9u0j5.cjs → expand-DUgOh1af.cjs} +1 -1
  124. package/dist/{expand-Cuu9u0j5.cjs.map → expand-DUgOh1af.cjs.map} +1 -1
  125. package/dist/{expand-Cwis2Y6U.js → expand-X0C1W279.js} +2 -2
  126. package/dist/{expand-Cwis2Y6U.js.map → expand-X0C1W279.js.map} +1 -1
  127. package/dist/expand.cjs +1 -1
  128. package/dist/expand.js +1 -1
  129. package/dist/{extra-DoxLBpZ-.js → extra-BTyq-5Z6.js} +1 -1
  130. package/dist/{extra-DoxLBpZ-.js.map → extra-BTyq-5Z6.js.map} +1 -1
  131. package/dist/{extra-DRIgrdHx.cjs → extra-BqfYIC_q.cjs} +1 -1
  132. package/dist/{extra-DRIgrdHx.cjs.map → extra-BqfYIC_q.cjs.map} +1 -1
  133. package/dist/extra.cjs +1 -1
  134. package/dist/extra.js +1 -1
  135. package/dist/{float-2aPqW2lz.js → float-BgGeLER6.js} +1 -1
  136. package/dist/{float-2aPqW2lz.js.map → float-BgGeLER6.js.map} +1 -1
  137. package/dist/{float-I4wePTk7.cjs → float-yZoLnUg0.cjs} +1 -1
  138. package/dist/{float-I4wePTk7.cjs.map → float-yZoLnUg0.cjs.map} +1 -1
  139. package/dist/float.cjs +1 -1
  140. package/dist/float.js +1 -1
  141. package/dist/{icons-DDQBxhDC.js → icons-BDcb8dNb.js} +2 -2
  142. package/dist/{icons-DDQBxhDC.js.map → icons-BDcb8dNb.js.map} +1 -1
  143. package/dist/{icons-UOqapID2.cjs → icons-BLFEJFDG.cjs} +1 -1
  144. package/dist/{icons-UOqapID2.cjs.map → icons-BLFEJFDG.cjs.map} +1 -1
  145. package/dist/icons.cjs +1 -1
  146. package/dist/icons.js +1 -1
  147. package/dist/{iframe-FZCULDVM.cjs → iframe-CrDpQkhj.cjs} +1 -1
  148. package/dist/{iframe-FZCULDVM.cjs.map → iframe-CrDpQkhj.cjs.map} +1 -1
  149. package/dist/{iframe-CMTUyiz1.js → iframe-qCW0HzwB.js} +1 -1
  150. package/dist/{iframe-CMTUyiz1.js.map → iframe-qCW0HzwB.js.map} +1 -1
  151. package/dist/iframe.cjs +1 -1
  152. package/dist/iframe.js +1 -1
  153. package/dist/index.cjs +1 -1
  154. package/dist/index.js +32 -32
  155. package/dist/{input-DIuyi3Gm.cjs → input-C1MIZaKq.cjs} +1 -1
  156. package/dist/{input-DIuyi3Gm.cjs.map → input-C1MIZaKq.cjs.map} +1 -1
  157. package/dist/{input-HzweUBSn.js → input-Dv-HtkM9.js} +1 -1
  158. package/dist/{input-HzweUBSn.js.map → input-Dv-HtkM9.js.map} +1 -1
  159. package/dist/{input-chip-Bt2Lzi-2.js → input-chip-CyvjhQSw.js} +1 -1
  160. package/dist/{input-chip-Bt2Lzi-2.js.map → input-chip-CyvjhQSw.js.map} +1 -1
  161. package/dist/{input-chip-nghCxe9L.cjs → input-chip-DnfthOSY.cjs} +1 -1
  162. package/dist/{input-chip-nghCxe9L.cjs.map → input-chip-DnfthOSY.cjs.map} +1 -1
  163. package/dist/input.cjs +1 -1
  164. package/dist/input.js +1 -1
  165. package/dist/json.cjs +1 -1
  166. package/dist/json.js +2 -2
  167. package/dist/kbd.cjs +1 -1
  168. package/dist/kbd.js +1 -1
  169. package/dist/{layout-DHt4hK1n.cjs → layout-D0cR3hT1.cjs} +1 -1
  170. package/dist/{layout-DHt4hK1n.cjs.map → layout-D0cR3hT1.cjs.map} +1 -1
  171. package/dist/layout-PZCF3kwl.cjs.map +1 -1
  172. package/dist/{layout-BUq6VVj0.js → layout-Y5qo3er8.js} +2 -2
  173. package/dist/{layout-BUq6VVj0.js.map → layout-Y5qo3er8.js.map} +1 -1
  174. package/dist/layout.cjs +1 -1
  175. package/dist/layout.js +2 -2
  176. package/dist/{lightbox-p_uYC9Hy.js → lightbox-C_pqYF6q.js} +2 -2
  177. package/dist/{lightbox-p_uYC9Hy.js.map → lightbox-C_pqYF6q.js.map} +1 -1
  178. package/dist/{lightbox-CbAbyhzE.cjs → lightbox-Ce8nMldr.cjs} +1 -1
  179. package/dist/{lightbox-CbAbyhzE.cjs.map → lightbox-Ce8nMldr.cjs.map} +1 -1
  180. package/dist/lightbox.cjs +1 -1
  181. package/dist/lightbox.js +1 -1
  182. package/dist/{list-pvbKwpnz.cjs → list-CLc_OQ5k.cjs} +1 -1
  183. package/dist/{list-pvbKwpnz.cjs.map → list-CLc_OQ5k.cjs.map} +1 -1
  184. package/dist/{list-DG1shv4_.js → list-DcnTGee0.js} +2 -2
  185. package/dist/{list-DG1shv4_.js.map → list-DcnTGee0.js.map} +1 -1
  186. package/dist/list.cjs +1 -1
  187. package/dist/list.js +1 -1
  188. package/dist/{litElement.mixin-Bx9Avv0M.cjs → litElement.mixin-DeT3kAOS.cjs} +1 -1
  189. package/dist/{litElement.mixin-Bx9Avv0M.cjs.map → litElement.mixin-DeT3kAOS.cjs.map} +1 -1
  190. package/dist/{litElement.mixin-BLb2kIHg.js → litElement.mixin-Mi8bar6B.js} +1 -1
  191. package/dist/{litElement.mixin-BLb2kIHg.js.map → litElement.mixin-Mi8bar6B.js.map} +1 -1
  192. package/dist/magnetic-aBBnj_vk.cjs.map +1 -1
  193. package/dist/{mailbox-BCRplIro.js → mailbox-BrLZPj2o.js} +4 -4
  194. package/dist/{mailbox-BCRplIro.js.map → mailbox-BrLZPj2o.js.map} +1 -1
  195. package/dist/{mailbox-CZevIxwZ.cjs → mailbox-CE5sTDsQ.cjs} +1 -1
  196. package/dist/{mailbox-CZevIxwZ.cjs.map → mailbox-CE5sTDsQ.cjs.map} +1 -1
  197. package/dist/mailbox.cjs +1 -1
  198. package/dist/mailbox.js +1 -1
  199. package/dist/{map-C6kDkAju.cjs → map-CKzhM6uY.cjs} +1 -1
  200. package/dist/{map-C6kDkAju.cjs.map → map-CKzhM6uY.cjs.map} +1 -1
  201. package/dist/{map-BUcxWqBH.js → map-SNb-3q5h.js} +1 -1
  202. package/dist/{map-BUcxWqBH.js.map → map-SNb-3q5h.js.map} +1 -1
  203. package/dist/map.cjs +1 -1
  204. package/dist/map.js +1 -1
  205. package/dist/{menu-DhmDz_js.cjs → menu-BnGjBrdD.cjs} +1 -1
  206. package/dist/{menu-DhmDz_js.cjs.map → menu-BnGjBrdD.cjs.map} +1 -1
  207. package/dist/{menu-BleltblR.js → menu-VErqs9NG.js} +1 -1
  208. package/dist/{menu-BleltblR.js.map → menu-VErqs9NG.js.map} +1 -1
  209. package/dist/menu.cjs +1 -1
  210. package/dist/menu.js +1 -1
  211. package/dist/mixins.cjs +1 -1
  212. package/dist/mixins.js +2 -2
  213. package/dist/nav-drawer.cjs +1 -1
  214. package/dist/nav-drawer.js +1 -1
  215. package/dist/navigation-bar.cjs +1 -1
  216. package/dist/navigation-bar.js +1 -1
  217. package/dist/navigation-rail.cjs +1 -1
  218. package/dist/navigation-rail.js +1 -1
  219. package/dist/{notification-DvrozLTu.js → notification-B_Fkxv7d.js} +2 -2
  220. package/dist/notification-B_Fkxv7d.js.map +1 -0
  221. package/dist/{notification-BT84PlwC.cjs → notification-DE5dFf8G.cjs} +1 -1
  222. package/dist/notification-DE5dFf8G.cjs.map +1 -0
  223. package/dist/notification.cjs +1 -1
  224. package/dist/notification.js +1 -1
  225. package/dist/{option-y5FY8sz-.cjs → option-BmbP5ulK.cjs} +1 -1
  226. package/dist/{option-y5FY8sz-.cjs.map → option-BmbP5ulK.cjs.map} +1 -1
  227. package/dist/{option-EEYkHd44.js → option-DuAlGv27.js} +1 -1
  228. package/dist/{option-EEYkHd44.js.map → option-DuAlGv27.js.map} +1 -1
  229. package/dist/option.cjs +1 -1
  230. package/dist/option.js +1 -1
  231. package/dist/page.cjs +1 -1
  232. package/dist/page.cjs.map +1 -1
  233. package/dist/page.js +2 -2
  234. package/dist/{progress-B8nfhvrc.js → progress-BnXr7aAs.js} +1 -1
  235. package/dist/{progress-B8nfhvrc.js.map → progress-BnXr7aAs.js.map} +1 -1
  236. package/dist/{progress-B1if5cWu.cjs → progress-Bt9gUiGP.cjs} +1 -1
  237. package/dist/{progress-B1if5cWu.cjs.map → progress-Bt9gUiGP.cjs.map} +1 -1
  238. package/dist/progress.cjs +1 -1
  239. package/dist/progress.js +1 -1
  240. package/dist/{provide-BbFbvIEk.cjs → provide-CnXCF-UP.cjs} +1 -1
  241. package/dist/{provide-BbFbvIEk.cjs.map → provide-CnXCF-UP.cjs.map} +1 -1
  242. package/dist/{provide-BEMtticm.js → provide-Disc6_zz.js} +1 -1
  243. package/dist/{provide-BEMtticm.js.map → provide-Disc6_zz.js.map} +1 -1
  244. package/dist/qr-scanner.cjs +1 -1
  245. package/dist/qr-scanner.js +1 -1
  246. package/dist/{radio-group-DKXbC-jL.js → radio-group-BgZgHMoA.js} +1 -1
  247. package/dist/{radio-group-DKXbC-jL.js.map → radio-group-BgZgHMoA.js.map} +1 -1
  248. package/dist/{radio-group-DafTK0PB.cjs → radio-group-DkBFgq_3.cjs} +1 -1
  249. package/dist/{radio-group-DafTK0PB.cjs.map → radio-group-DkBFgq_3.cjs.map} +1 -1
  250. package/dist/radio-group.cjs +1 -1
  251. package/dist/radio-group.js +1 -1
  252. package/dist/range.cjs +1 -1
  253. package/dist/range.js +1 -1
  254. package/dist/{scroll-pdsp_9bT.js → scroll-57rkTHm8.js} +1 -1
  255. package/dist/{scroll-pdsp_9bT.js.map → scroll-57rkTHm8.js.map} +1 -1
  256. package/dist/{scroll-C6Hub5gG.cjs → scroll-hWt0b1gK.cjs} +1 -1
  257. package/dist/{scroll-C6Hub5gG.cjs.map → scroll-hWt0b1gK.cjs.map} +1 -1
  258. package/dist/{select-Zg9UqtCA.cjs → select-BDonPD5a.cjs} +1 -1
  259. package/dist/{select-Zg9UqtCA.cjs.map → select-BDonPD5a.cjs.map} +1 -1
  260. package/dist/{select-_Qkleofb.js → select-CkOAwmxC.js} +1 -1
  261. package/dist/{select-_Qkleofb.js.map → select-CkOAwmxC.js.map} +1 -1
  262. package/dist/select.cjs +1 -1
  263. package/dist/select.js +1 -1
  264. package/dist/{sheet-7LWVKgW9.cjs → sheet-Bv2mPHWk.cjs} +1 -1
  265. package/dist/{sheet-7LWVKgW9.cjs.map → sheet-Bv2mPHWk.cjs.map} +1 -1
  266. package/dist/{sheet-N9TET_t_.js → sheet-NUgEmozP.js} +3 -3
  267. package/dist/{sheet-N9TET_t_.js.map → sheet-NUgEmozP.js.map} +1 -1
  268. package/dist/sheet.cjs +1 -1
  269. package/dist/sheet.js +2 -2
  270. package/dist/{sheet.service-P2CkJW86.cjs → sheet.service-BKmnlkpZ.cjs} +1 -1
  271. package/dist/{sheet.service-P2CkJW86.cjs.map → sheet.service-BKmnlkpZ.cjs.map} +1 -1
  272. package/dist/{sheet.service-DCe4FOkQ.js → sheet.service-CanLo8ko.js} +1 -1
  273. package/dist/{sheet.service-DCe4FOkQ.js.map → sheet.service-CanLo8ko.js.map} +1 -1
  274. package/dist/skeleton.cjs +1 -1
  275. package/dist/skeleton.js +1 -1
  276. package/dist/slider.cjs +1 -1
  277. package/dist/slider.js +1 -1
  278. package/dist/{splash-screen-B5Sgz7eG.js → splash-screen-B0ppA3f1.js} +1 -1
  279. package/dist/{splash-screen-B5Sgz7eG.js.map → splash-screen-B0ppA3f1.js.map} +1 -1
  280. package/dist/{splash-screen-BUKRc46i.cjs → splash-screen-BemqNFNj.cjs} +1 -1
  281. package/dist/{splash-screen-BUKRc46i.cjs.map → splash-screen-BemqNFNj.cjs.map} +1 -1
  282. package/dist/splash-screen.cjs +1 -1
  283. package/dist/splash-screen.js +1 -1
  284. package/dist/{src-r2bV-AFk.cjs → src-ByGCYD-E.cjs} +1 -1
  285. package/dist/src-ByGCYD-E.cjs.map +1 -0
  286. package/dist/{src-59eVZMmI.js → src-Cjy9zCiU.js} +41 -41
  287. package/dist/src-Cjy9zCiU.js.map +1 -0
  288. package/dist/steps.cjs +1 -1
  289. package/dist/steps.js +3 -3
  290. package/dist/store-Bmj6rvZY.js.map +1 -1
  291. package/dist/store-CO4nJyGj.cjs.map +1 -1
  292. package/dist/{surface-B-y5Zzmz.cjs → surface-CoLYICO1.cjs} +1 -1
  293. package/dist/{surface-B-y5Zzmz.cjs.map → surface-CoLYICO1.cjs.map} +1 -1
  294. package/dist/{surface-BL6YlaS3.js → surface-CtpWeSGn.js} +2 -2
  295. package/dist/{surface-BL6YlaS3.js.map → surface-CtpWeSGn.js.map} +1 -1
  296. package/dist/surface.cjs +1 -1
  297. package/dist/surface.js +1 -1
  298. package/dist/switch.cjs +1 -1
  299. package/dist/switch.js +1 -1
  300. package/dist/{table-CzcIcVFc.cjs → table-COQKtlJB.cjs} +1 -1
  301. package/dist/{table-CzcIcVFc.cjs.map → table-COQKtlJB.cjs.map} +1 -1
  302. package/dist/{table-B0-Pi4G5.js → table-bgFb1KYU.js} +1 -1
  303. package/dist/{table-B0-Pi4G5.js.map → table-bgFb1KYU.js.map} +1 -1
  304. package/dist/table.cjs +1 -1
  305. package/dist/table.js +1 -1
  306. package/dist/{tabs-D-VbZiFu.js → tabs-BicCpU1B.js} +2 -2
  307. package/dist/{tabs-D-VbZiFu.js.map → tabs-BicCpU1B.js.map} +1 -1
  308. package/dist/{tabs-CzC8kJyY.cjs → tabs-CoMJAXDy.cjs} +1 -1
  309. package/dist/{tabs-CzC8kJyY.cjs.map → tabs-CoMJAXDy.cjs.map} +1 -1
  310. package/dist/tabs.cjs +1 -1
  311. package/dist/tabs.js +1 -1
  312. package/dist/tailwind.mixin-BfdVIGgD.cjs +2 -0
  313. package/dist/{tailwind.mixin-ZzkXQTFA.cjs.map → tailwind.mixin-BfdVIGgD.cjs.map} +1 -1
  314. package/dist/tailwind.mixin-CNdR3zFD.js +219 -0
  315. package/dist/{tailwind.mixin-BCz3GEpw.js.map → tailwind.mixin-CNdR3zFD.js.map} +1 -1
  316. package/dist/teleport.cjs +1 -1
  317. package/dist/teleport.js +1 -1
  318. package/dist/{textarea-CgB6XptL.cjs → textarea-CxTSwn3x.cjs} +1 -1
  319. package/dist/{textarea-CgB6XptL.cjs.map → textarea-CxTSwn3x.cjs.map} +1 -1
  320. package/dist/{textarea-ZopeteYQ.js → textarea-D7O9Uo15.js} +1 -1
  321. package/dist/{textarea-ZopeteYQ.js.map → textarea-D7O9Uo15.js.map} +1 -1
  322. package/dist/textarea.cjs +1 -1
  323. package/dist/textarea.js +1 -1
  324. package/dist/{theme-D9bRCDs9.cjs → theme-CCez6SRm.cjs} +1 -1
  325. package/dist/{theme-D9bRCDs9.cjs.map → theme-CCez6SRm.cjs.map} +1 -1
  326. package/dist/{theme-C7As-iVa.js → theme-DGiyJMTT.js} +3 -3
  327. package/dist/{theme-C7As-iVa.js.map → theme-DGiyJMTT.js.map} +1 -1
  328. package/dist/{theme-button-D2nMfwSr.cjs → theme-button-BV0CxpGn.cjs} +1 -1
  329. package/dist/{theme-button-D2nMfwSr.cjs.map → theme-button-BV0CxpGn.cjs.map} +1 -1
  330. package/dist/{theme-button-BDXtIhZC.js → theme-button-s9GfSQL5.js} +1 -1
  331. package/dist/{theme-button-BDXtIhZC.js.map → theme-button-s9GfSQL5.js.map} +1 -1
  332. package/dist/theme-button.cjs +1 -1
  333. package/dist/theme-button.js +1 -1
  334. package/dist/theme.cjs +1 -1
  335. package/dist/theme.js +2 -2
  336. package/dist/theme.service-ETiKUwVy.cjs.map +1 -1
  337. package/dist/theme.service-_qP5WvB9.js.map +1 -1
  338. package/dist/tree.cjs +1 -1
  339. package/dist/tree.cjs.map +1 -1
  340. package/dist/tree.js +1 -1
  341. package/dist/{typewriter-DaTkMEHc.js → typewriter-BTqEQXsX.js} +3 -3
  342. package/dist/{typewriter-DaTkMEHc.js.map → typewriter-BTqEQXsX.js.map} +1 -1
  343. package/dist/{typewriter-BjuFsiR3.cjs → typewriter-DeaL3NfZ.cjs} +1 -1
  344. package/dist/{typewriter-BjuFsiR3.cjs.map → typewriter-DeaL3NfZ.cjs.map} +1 -1
  345. package/dist/typewriter.cjs +1 -1
  346. package/dist/typewriter.js +1 -1
  347. package/dist/typography.cjs +1 -1
  348. package/dist/typography.js +1 -1
  349. package/dist/utils-C8PD8So2.cjs.map +1 -1
  350. package/dist/utils-DVuCPDfw.js.map +1 -1
  351. package/dist/visually-hidden.cjs +1 -1
  352. package/dist/visually-hidden.js +1 -1
  353. package/dist/{window-DPSIGCUq.js → window-CDHDVOwO.js} +1 -1
  354. package/dist/{window-DPSIGCUq.js.map → window-CDHDVOwO.js.map} +1 -1
  355. package/dist/{window-DAWRoXo1.cjs → window-IGZgxuUC.cjs} +1 -1
  356. package/dist/{window-DAWRoXo1.cjs.map → window-IGZgxuUC.cjs.map} +1 -1
  357. package/dist/window.cjs +1 -1
  358. package/dist/window.js +1 -1
  359. package/package.json +15 -3
  360. package/src/agent/agent-bundle.test.ts +92 -0
  361. package/src/agent/agent-entry.ts +17 -0
  362. package/src/agent/helpers.ts +161 -0
  363. package/src/agent/index.ts +1 -0
  364. package/src/agent/schmancy-skill.ts +71 -0
  365. package/src/agent/virtual-manifest.d.ts +10 -0
  366. package/src/area/area.service.ts +11 -0
  367. package/src/content-drawer/drawer.service.ts +9 -0
  368. package/src/dialog/dialog-service.ts +11 -1
  369. package/src/notification/notification-service.ts +11 -1
  370. package/src/sheet/sheet.service.ts +10 -0
  371. package/src/theme/theme.service.ts +11 -1
  372. package/types/src/agent/agent-bundle.test.d.ts +1 -0
  373. package/types/src/agent/agent-entry.d.ts +4 -0
  374. package/types/src/agent/helpers.d.ts +87 -0
  375. package/types/src/agent/index.d.ts +1 -0
  376. package/types/src/agent/schmancy-skill.d.ts +33 -0
  377. package/types/src/area/area.service.d.ts +11 -0
  378. package/types/src/content-drawer/drawer.service.d.ts +9 -0
  379. package/types/src/dialog/dialog-service.d.ts +11 -1
  380. package/types/src/notification/notification-service.d.ts +11 -1
  381. package/types/src/sheet/sheet.service.d.ts +9 -0
  382. package/types/src/theme/theme.service.d.ts +11 -0
  383. package/dist/area-CBjmKtN-.cjs.map +0 -1
  384. package/dist/area-CjX0Ckh9.js.map +0 -1
  385. package/dist/context-BRtGc7PP.cjs +0 -1
  386. package/dist/context-DgD3c6q-.js +0 -3
  387. package/dist/notification-BT84PlwC.cjs.map +0 -1
  388. package/dist/notification-DvrozLTu.js.map +0 -1
  389. package/dist/src-59eVZMmI.js.map +0 -1
  390. package/dist/src-r2bV-AFk.cjs.map +0 -1
  391. package/dist/tailwind.mixin-BCz3GEpw.js +0 -219
  392. package/dist/tailwind.mixin-ZzkXQTFA.cjs +0 -2
@@ -0,0 +1,92 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import './agent-entry'
3
+
4
+ /**
5
+ * Acceptance test per the Claude Design handover §4.4:
6
+ *
7
+ * > "CI check: load the bundle in a headless browser, assert
8
+ * > `customElements.get('schmancy-button')` resolves, assert
9
+ * > `window.schmancy.help()` returns non-empty."
10
+ *
11
+ * This test is the runtime smoke test. It imports the agent bundle entry
12
+ * (which side-effect registers every <schmancy-*> tag plus <schmancy-skill>)
13
+ * and then verifies the self-describing surface is installed.
14
+ */
15
+ describe('agent bundle — handover §4.4 acceptance', () => {
16
+ it('registers `schmancy-button` on import', () => {
17
+ expect(customElements.get('schmancy-button')).toBeDefined()
18
+ })
19
+
20
+ it('registers `schmancy-skill` on import', () => {
21
+ expect(customElements.get('schmancy-skill')).toBeDefined()
22
+ })
23
+
24
+ it('installs `window.schmancy` when a <schmancy-skill> connects', async () => {
25
+ const host = document.createElement('div')
26
+ const skill = document.createElement('schmancy-skill')
27
+ host.appendChild(skill)
28
+ document.body.appendChild(host)
29
+
30
+ await customElements.whenDefined('schmancy-skill')
31
+ // One microtask for connectedCallback to finish installing globals.
32
+ await new Promise(requestAnimationFrame)
33
+
34
+ expect(typeof window.schmancy).toBe('object')
35
+ expect(typeof window.schmancy?.help).toBe('function')
36
+ expect(typeof window.schmancy?.tokens).toBe('function')
37
+ expect(typeof window.schmancy?.capabilities).toBe('function')
38
+
39
+ host.remove()
40
+ })
41
+
42
+ it('`window.schmancy.help()` returns a non-empty manifest summary', async () => {
43
+ const skill = document.createElement('schmancy-skill')
44
+ document.body.appendChild(skill)
45
+ await customElements.whenDefined('schmancy-skill')
46
+ await new Promise(requestAnimationFrame)
47
+
48
+ const help = window.schmancy!.help() as { elements: unknown[]; services: unknown[] }
49
+ expect(Array.isArray(help.elements)).toBe(true)
50
+ expect(help.elements.length).toBeGreaterThan(50)
51
+
52
+ skill.remove()
53
+ })
54
+
55
+ it('`window.schmancy.help("schmancy-button")` returns attribute enum values', async () => {
56
+ const skill = document.createElement('schmancy-skill')
57
+ document.body.appendChild(skill)
58
+ await customElements.whenDefined('schmancy-skill')
59
+ await new Promise(requestAnimationFrame)
60
+
61
+ const btn = window.schmancy!.help('schmancy-button') as {
62
+ attributes?: Array<{ name: string; values?: string[] }>
63
+ }
64
+ expect(btn).toBeTruthy()
65
+ expect(btn.attributes?.length ?? 0).toBeGreaterThan(0)
66
+ const variant = btn.attributes?.find(a => a.name === 'variant')
67
+ expect(variant?.values).toContain('filled')
68
+
69
+ skill.remove()
70
+ })
71
+
72
+ it('`window.schmancy.capabilities()` reports every probed feature', async () => {
73
+ const skill = document.createElement('schmancy-skill')
74
+ document.body.appendChild(skill)
75
+ await customElements.whenDefined('schmancy-skill')
76
+ await new Promise(requestAnimationFrame)
77
+
78
+ const caps = window.schmancy!.capabilities()
79
+ expect(caps).toMatchObject({
80
+ popover: expect.any(Boolean),
81
+ declarativeShadowDom: expect.any(Boolean),
82
+ scopedRegistries: expect.any(Boolean),
83
+ trustedTypes: expect.any(Boolean),
84
+ cssRegisteredProperties: expect.any(Boolean),
85
+ elementInternalsAria: expect.any(Boolean),
86
+ formAssociated: expect.any(Boolean),
87
+ adoptedStyleSheets: expect.any(Boolean),
88
+ })
89
+
90
+ skill.remove()
91
+ })
92
+ })
@@ -0,0 +1,17 @@
1
+ import '../index'
2
+ import './schmancy-skill'
3
+
4
+ export {
5
+ $dialog,
6
+ $notify,
7
+ sheet,
8
+ SchmancySheetPosition,
9
+ schmancyContentDrawer,
10
+ theme,
11
+ area,
12
+ lazy,
13
+ createContext,
14
+ select,
15
+ selectItem,
16
+ } from '../index'
17
+ export { $LitElement } from '../../mixins/index'
@@ -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
  /**
@@ -232,4 +232,14 @@ class BottomSheetService {
232
232
  }
233
233
 
234
234
  }
235
+
236
+ /**
237
+ * Bottom / side sheet service. Mounts any element as a sheet with a chosen
238
+ * position (see `SchmancySheetPosition` enum).
239
+ *
240
+ * @service
241
+ * @summary Imperative bottom / side sheet surface.
242
+ * @method open({ component, position? }) - Mount an element as a sheet.
243
+ * @method dismiss(id?) - Dismiss a sheet by id, or the topmost.
244
+ */
235
245
  export const sheet = new BottomSheetService()
@@ -514,7 +514,17 @@ class ThemeService {
514
514
  }
515
515
  }
516
516
 
517
- // Export singleton instance
517
+ /**
518
+ * Theme singleton. Reads and mutates the active theme (scheme, source color,
519
+ * locale); persists the user's scheme choice. Components subscribe via
520
+ * `theme.theme$` for changes.
521
+ *
522
+ * @service
523
+ * @summary Theme service — active scheme, source color, locale.
524
+ * @method next({ scheme?, source?, locale? }) - Update theme state.
525
+ * @method theme$ - Observable<TSchmancyTheme>; emits on every theme change.
526
+ * @method toggle() - Toggle between light and dark schemes.
527
+ */
518
528
  export const theme = ThemeService.getInstance()
519
529
  export const schmancyTheme = theme // Alias for convenience
520
530
  export default theme
@@ -0,0 +1 @@
1
+ import './agent-entry';
@@ -0,0 +1,4 @@
1
+ import '../index';
2
+ import './schmancy-skill';
3
+ export { $dialog, $notify, sheet, SchmancySheetPosition, schmancyContentDrawer, theme, area, lazy, createContext, select, selectItem, } from '../index';
4
+ export { $LitElement } from '../../mixins/index';
@@ -0,0 +1,87 @@
1
+ import manifest from 'virtual:schmancy-manifest';
2
+ export type Manifest = typeof manifest;
3
+ export type ElementEntry = {
4
+ kind: 'class';
5
+ name: string;
6
+ tagName?: string;
7
+ description?: string;
8
+ summary?: string;
9
+ attributes?: Array<{
10
+ name: string;
11
+ description?: string;
12
+ type?: {
13
+ text?: string;
14
+ };
15
+ default?: string;
16
+ values?: string[];
17
+ }>;
18
+ events?: Array<{
19
+ name: string;
20
+ description?: string;
21
+ type?: {
22
+ text?: string;
23
+ };
24
+ }>;
25
+ slots?: Array<{
26
+ name: string;
27
+ description?: string;
28
+ }>;
29
+ cssProperties?: Array<{
30
+ name: string;
31
+ description?: string;
32
+ }>;
33
+ cssParts?: Array<{
34
+ name: string;
35
+ description?: string;
36
+ }>;
37
+ whenToUse?: string;
38
+ platformPrimitive?: {
39
+ tag: string;
40
+ mode?: string;
41
+ note?: string;
42
+ };
43
+ contexts?: {
44
+ provides?: string[];
45
+ consumes?: string[];
46
+ };
47
+ };
48
+ export type ServiceEntry = {
49
+ kind: 'variable';
50
+ name: string;
51
+ description?: string;
52
+ summary?: string;
53
+ service: true;
54
+ methods?: Array<{
55
+ signature: string;
56
+ summary?: string;
57
+ }>;
58
+ };
59
+ export declare function help(tag?: string): unknown;
60
+ export declare function tokens(): string[];
61
+ export declare function platformPrimitive(tag: string): ElementEntry['platformPrimitive'] | null;
62
+ export declare function registeredTags(): string[];
63
+ export declare function a11yAudit(): Array<{
64
+ tag: string;
65
+ role: string | null;
66
+ ariaLabel: string | null;
67
+ hasShadowRoot: boolean;
68
+ formAssociated: boolean;
69
+ }>;
70
+ export type Capabilities = {
71
+ popover: boolean;
72
+ declarativeShadowDom: boolean;
73
+ scopedRegistries: boolean;
74
+ trustedTypes: boolean;
75
+ cssRegisteredProperties: boolean;
76
+ elementInternalsAria: boolean;
77
+ formAssociated: boolean;
78
+ adoptedStyleSheets: boolean;
79
+ };
80
+ /**
81
+ * Runtime feature probe. Tells an agent which platform capabilities the
82
+ * current sandbox exposes, so it can adapt without assuming the sandbox CSP
83
+ * or browser version. Every check is feature-detect, not UA-sniff.
84
+ */
85
+ export declare function capabilities(): Capabilities;
86
+ export declare function manifestUrl(): string;
87
+ export { manifest };
@@ -0,0 +1 @@
1
+ export * from './schmancy-skill';
@@ -0,0 +1,33 @@
1
+ import { a11yAudit, capabilities, help, manifest, platformPrimitive, registeredTags, tokens } from './helpers';
2
+ declare global {
3
+ interface Window {
4
+ schmancy?: {
5
+ manifest: typeof manifest;
6
+ manifestUrl: string;
7
+ help: typeof help;
8
+ tokens: typeof tokens;
9
+ platformPrimitive: typeof platformPrimitive;
10
+ registeredTags: typeof registeredTags;
11
+ a11yAudit: typeof a11yAudit;
12
+ capabilities: typeof capabilities;
13
+ };
14
+ }
15
+ }
16
+ declare const SchmancySkill_base: CustomElementConstructor & import("../../mixins/constructor").Constructor<import("lit").LitElement> & import("../../mixins/constructor").Constructor<import("../../mixins/baseElement").IBaseMixin>;
17
+ /**
18
+ * Self-describing runtime helper. Drop `<schmancy-skill></schmancy-skill>`
19
+ * once on a page and `window.schmancy.help('schmancy-button')` returns the
20
+ * machine-readable entry for any tag. Renders nothing.
21
+ *
22
+ * @element schmancy-skill
23
+ */
24
+ export declare class SchmancySkill extends SchmancySkill_base {
25
+ connectedCallback(): void;
26
+ render(): import("lit-html").TemplateResult<1>;
27
+ }
28
+ declare global {
29
+ interface HTMLElementTagNameMap {
30
+ 'schmancy-skill': SchmancySkill;
31
+ }
32
+ }
33
+ export {};
@@ -130,5 +130,16 @@ declare class AreaService implements AreaSubscription {
130
130
  */
131
131
  getRoute(areaName: string): ActiveRoute | undefined;
132
132
  }
133
+ /**
134
+ * Area router singleton. Drives named `<schmancy-area>` outlets in the DOM
135
+ * — imperative push / pop, URL-synced, state-restoring. Pair with
136
+ * `lazy(() => import('./view'))` for code-split routes.
137
+ *
138
+ * @service
139
+ * @summary Imperative outlet-based router for `<schmancy-area>` elements.
140
+ * @method push({ area, component, params?, state? }) - Navigate an area to a component.
141
+ * @method pop(areaName) - Pop the top entry off an area's stack.
142
+ * @method current$(areaName) - Observable of the active route state for an area.
143
+ */
133
144
  export declare const area: AreaService;
134
145
  export default area;
@@ -36,5 +36,14 @@ declare class DrawerService {
36
36
  */
37
37
  push(options: DrawerPushOptions): void;
38
38
  }
39
+ /**
40
+ * Content-drawer service. Mounts any element inside the right-hand content
41
+ * drawer of a `<schmancy-content-drawer>` layout.
42
+ *
43
+ * @service
44
+ * @summary Imperative content-drawer (right-side navigation panel).
45
+ * @method render({ component, ...options }) - Mount an element in the drawer.
46
+ * @method close() - Close the drawer.
47
+ */
39
48
  export declare const schmancyContentDrawer: DrawerService;
40
49
  export {};
@@ -67,7 +67,17 @@ export declare class DialogService {
67
67
  private getDefaultPosition;
68
68
  }
69
69
  /**
70
- * Global dialog utility
70
+ * Global dialog utility. Imperative modal API — open any element as a dialog,
71
+ * or use the built-in `confirm` / `ask` / `danger` prompts. Returns Promises
72
+ * that resolve when the user picks an action.
73
+ *
74
+ * @service
75
+ * @summary Imperative modal dialogs and built-in confirm/ask/danger prompts.
76
+ * @method confirm(options: DialogOptions) - Built-in confirm prompt. Returns Promise<boolean>.
77
+ * @method ask(message, event?) - One-line yes/no prompt anchored to the triggering event.
78
+ * @method danger(options) - Destructive-action confirm styled with the error palette.
79
+ * @method component(element, options?) - Open any element as a modal.
80
+ * @method dismiss(id?) - Dismiss a dialog by id, or the topmost dialog.
71
81
  */
72
82
  export declare const $dialog: {
73
83
  confirm: (options: DialogOptions) => Promise<boolean>;
@@ -64,7 +64,17 @@ export declare class NotificationService {
64
64
  persistent(message: string, options?: Partial<Omit<NotificationOptions, 'message' | 'duration'>>): string;
65
65
  }
66
66
  /**
67
- * Global notification utility - provides a quick way to show notifications
67
+ * Global notification (toast) utility. Fire-and-forget API for success,
68
+ * error, info, and warning toasts, plus a low-level `show` for custom
69
+ * notifications.
70
+ *
71
+ * @service
72
+ * @summary Toast notifications — success, error, info, warning.
73
+ * @method show(options: NotificationOptions) - Low-level; show any NotificationOptions.
74
+ * @method success(message, options?) - Green success toast.
75
+ * @method error(message, options?) - Red error toast.
76
+ * @method info(message, options?) - Blue informational toast.
77
+ * @method warning(message, options?) - Amber warning toast.
68
78
  */
69
79
  export declare const $notify: {
70
80
  /**