@mhmo91/schmancy 0.10.36 → 0.10.38

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 (572) hide show
  1. package/custom-elements.json +54 -31
  2. package/dist/SchmancyElement-BNnyBOwk.js +286 -0
  3. package/dist/{SchmancyElement-C3CpdNsi.js.map → SchmancyElement-BNnyBOwk.js.map} +1 -1
  4. package/dist/SchmancyElement-C41uPa6l.cjs +2 -0
  5. package/dist/{SchmancyElement-BBzRWB1w.cjs.map → SchmancyElement-C41uPa6l.cjs.map} +1 -1
  6. package/dist/agent/schmancy.agent.js +2432 -2361
  7. package/dist/agent/schmancy.agent.js.map +1 -1
  8. package/dist/agent/schmancy.manifest.json +4 -22
  9. package/dist/area-2FrTZI_T.cjs +21 -0
  10. package/dist/area-2FrTZI_T.cjs.map +1 -0
  11. package/dist/{area-BA96mwFY.js → area-KVDzhT4s.js} +4 -4
  12. package/dist/area-KVDzhT4s.js.map +1 -0
  13. package/dist/area.cjs +1 -1
  14. package/dist/area.js +2 -2
  15. package/dist/{audio-D52h1jAT.js → audio-D3gnp15Y.js} +1 -1
  16. package/dist/{audio-D52h1jAT.js.map → audio-D3gnp15Y.js.map} +1 -1
  17. package/dist/{audio-B_jT9Xr7.cjs → audio-EaD0Ggfh.cjs} +1 -1
  18. package/dist/{audio-B_jT9Xr7.cjs.map → audio-EaD0Ggfh.cjs.map} +1 -1
  19. package/dist/audio.cjs +1 -1
  20. package/dist/audio.js +2 -2
  21. package/dist/autocomplete-DMmxsvUe.cjs +115 -0
  22. package/dist/autocomplete-DMmxsvUe.cjs.map +1 -0
  23. package/dist/{autocomplete-CI4QJXAN.js → autocomplete-DWiEqlQf.js} +96 -96
  24. package/dist/autocomplete-DWiEqlQf.js.map +1 -0
  25. package/dist/autocomplete.cjs +1 -1
  26. package/dist/autocomplete.js +1 -1
  27. package/dist/avatar.cjs +1 -1
  28. package/dist/avatar.js +3 -3
  29. package/dist/badge.cjs +1 -1
  30. package/dist/badge.js +1 -1
  31. package/dist/{boat-_N1x5U_3.js → boat-DmyG7y1V.js} +4 -4
  32. package/dist/{boat-_N1x5U_3.js.map → boat-DmyG7y1V.js.map} +1 -1
  33. package/dist/{boat-I4B1UNMc.cjs → boat-dB1_qLm0.cjs} +1 -1
  34. package/dist/{boat-I4B1UNMc.cjs.map → boat-dB1_qLm0.cjs.map} +1 -1
  35. package/dist/boat.cjs +1 -1
  36. package/dist/boat.js +1 -1
  37. package/dist/breadcrumb.cjs +3 -3
  38. package/dist/breadcrumb.cjs.map +1 -1
  39. package/dist/breadcrumb.js +4 -4
  40. package/dist/breadcrumb.js.map +1 -1
  41. package/dist/{busy-BIUonyPk.cjs → busy-Cj_PV7oC.cjs} +1 -1
  42. package/dist/{busy-BIUonyPk.cjs.map → busy-Cj_PV7oC.cjs.map} +1 -1
  43. package/dist/{busy-CCB3qKnh.js → busy-enYCTssB.js} +2 -2
  44. package/dist/{busy-CCB3qKnh.js.map → busy-enYCTssB.js.map} +1 -1
  45. package/dist/busy.cjs +1 -1
  46. package/dist/busy.js +1 -1
  47. package/dist/{button-C89bPnHt.js → button-BQSOVnHn.js} +10 -9
  48. package/dist/button-BQSOVnHn.js.map +1 -0
  49. package/dist/button-WRmXlNyw.cjs +62 -0
  50. package/dist/button-WRmXlNyw.cjs.map +1 -0
  51. package/dist/button.cjs +6 -6
  52. package/dist/button.cjs.map +1 -1
  53. package/dist/button.js +17 -16
  54. package/dist/button.js.map +1 -1
  55. package/dist/{card-CFsCgJKZ.js → card-BHTz1GwB.js} +16 -16
  56. package/dist/card-BHTz1GwB.js.map +1 -0
  57. package/dist/{card-BO93_oxQ.cjs → card-ThG_ZaQE.cjs} +3 -3
  58. package/dist/card-ThG_ZaQE.cjs.map +1 -0
  59. package/dist/card.cjs +1 -1
  60. package/dist/card.js +1 -1
  61. package/dist/{checkbox-CFUBUFtW.cjs → checkbox-C4zeib84.cjs} +2 -2
  62. package/dist/{checkbox-CFUBUFtW.cjs.map → checkbox-C4zeib84.cjs.map} +1 -1
  63. package/dist/{checkbox-Bh7q0djq.js → checkbox-Ce0DlAdW.js} +6 -6
  64. package/dist/{checkbox-Bh7q0djq.js.map → checkbox-Ce0DlAdW.js.map} +1 -1
  65. package/dist/checkbox.cjs +1 -1
  66. package/dist/checkbox.js +1 -1
  67. package/dist/{chips-BfzpsyV1.cjs → chips-B1jui8Pe.cjs} +3 -3
  68. package/dist/chips-B1jui8Pe.cjs.map +1 -0
  69. package/dist/{chips-6YaoRmeG.js → chips-DAy6v93f.js} +20 -19
  70. package/dist/chips-DAy6v93f.js.map +1 -0
  71. package/dist/chips.cjs +1 -1
  72. package/dist/chips.js +2 -2
  73. package/dist/connectivity.cjs +1 -1
  74. package/dist/connectivity.js +3 -3
  75. package/dist/content-drawer.cjs +1 -1
  76. package/dist/content-drawer.js +1 -1
  77. package/dist/cursor-glow-Ah7VXSj7.js.map +1 -1
  78. package/dist/cursor-glow-Bulq-38P.cjs.map +1 -1
  79. package/dist/{date-range-N-A249O9.cjs → date-range-BUaPgbTZ.cjs} +2 -2
  80. package/dist/date-range-BUaPgbTZ.cjs.map +1 -0
  81. package/dist/{date-range-CEo_Kjqw.js → date-range-NTpoA1in.js} +4 -4
  82. package/dist/date-range-NTpoA1in.js.map +1 -0
  83. package/dist/{date-range-inline-DFopysWF.cjs → date-range-inline-D0I6k84h.cjs} +1 -1
  84. package/dist/{date-range-inline-DFopysWF.cjs.map → date-range-inline-D0I6k84h.cjs.map} +1 -1
  85. package/dist/{date-range-inline-BwialV9j.js → date-range-inline-DjRdMZ1z.js} +2 -2
  86. package/dist/{date-range-inline-BwialV9j.js.map → date-range-inline-DjRdMZ1z.js.map} +1 -1
  87. package/dist/date-range-inline.cjs +1 -1
  88. package/dist/date-range-inline.js +1 -1
  89. package/dist/date-range.cjs +1 -1
  90. package/dist/date-range.js +1 -1
  91. package/dist/delay.cjs +1 -1
  92. package/dist/delay.js +2 -2
  93. package/dist/{details-GtpfI2hA.js → details-CY49XVfp.js} +43 -35
  94. package/dist/details-CY49XVfp.js.map +1 -0
  95. package/dist/details-DQNj2oaU.cjs +164 -0
  96. package/dist/details-DQNj2oaU.cjs.map +1 -0
  97. package/dist/details.cjs +1 -1
  98. package/dist/details.js +1 -1
  99. package/dist/{directives-CvYGSW_a.cjs → directives-Bb0S1DKZ.cjs} +4 -4
  100. package/dist/directives-Bb0S1DKZ.cjs.map +1 -0
  101. package/dist/{directives-C2dXgpCY.js → directives-Bfm1lkoy.js} +30 -23
  102. package/dist/directives-Bfm1lkoy.js.map +1 -0
  103. package/dist/directives.cjs +1 -1
  104. package/dist/directives.js +2 -2
  105. package/dist/{divider-D0pGX2VB.js → divider-BeyX_C0A.js} +2 -2
  106. package/dist/{divider-D0pGX2VB.js.map → divider-BeyX_C0A.js.map} +1 -1
  107. package/dist/{divider-rNsWCvMi.cjs → divider-Ck2C1sKl.cjs} +1 -1
  108. package/dist/{divider-rNsWCvMi.cjs.map → divider-Ck2C1sKl.cjs.map} +1 -1
  109. package/dist/divider.cjs +1 -1
  110. package/dist/divider.js +1 -1
  111. package/dist/dropdown.cjs +1 -1
  112. package/dist/dropdown.js +2 -2
  113. package/dist/{expand-FcKAzJta.js → expand-BYsSEtp6.js} +53 -53
  114. package/dist/expand-BYsSEtp6.js.map +1 -0
  115. package/dist/expand-CUF163mg.cjs +141 -0
  116. package/dist/expand-CUF163mg.cjs.map +1 -0
  117. package/dist/expand.cjs +1 -1
  118. package/dist/expand.js +1 -1
  119. package/dist/fab.cjs +1 -1
  120. package/dist/fab.js +2 -2
  121. package/dist/{float-CQ1WEp3M.js → float-Cgllk_H9.js} +2 -2
  122. package/dist/{float-CQ1WEp3M.js.map → float-Cgllk_H9.js.map} +1 -1
  123. package/dist/{float-CDjgxWyy.cjs → float-OvqX0nqG.cjs} +1 -1
  124. package/dist/{float-CDjgxWyy.cjs.map → float-OvqX0nqG.cjs.map} +1 -1
  125. package/dist/float.cjs +1 -1
  126. package/dist/float.js +1 -1
  127. package/dist/form-4GKROq2P.cjs +27 -0
  128. package/dist/form-4GKROq2P.cjs.map +1 -0
  129. package/dist/{form-H24puioV.js → form-DxaV_Ose.js} +39 -39
  130. package/dist/form-DxaV_Ose.js.map +1 -0
  131. package/dist/form.cjs +3 -3
  132. package/dist/form.cjs.map +1 -1
  133. package/dist/form.js +34 -34
  134. package/dist/form.js.map +1 -1
  135. package/dist/gravity-6pL6CfIr.cjs.map +1 -1
  136. package/dist/gravity-sVK3zGBF.js.map +1 -1
  137. package/dist/handover/agent-runtime-followups.md +1 -1
  138. package/dist/handover/agent-runtime-v1.md +3 -3
  139. package/dist/{icons-DBxfN91B.js → icons-CJ2mXcBi.js} +9 -9
  140. package/dist/icons-CJ2mXcBi.js.map +1 -0
  141. package/dist/icons-sZ-LybA9.cjs +24 -0
  142. package/dist/icons-sZ-LybA9.cjs.map +1 -0
  143. package/dist/icons.cjs +1 -1
  144. package/dist/icons.js +1 -1
  145. package/dist/{iframe-BDVElN8z.js → iframe-DWvN5nGB.js} +11 -11
  146. package/dist/iframe-DWvN5nGB.js.map +1 -0
  147. package/dist/{iframe-CG-z9qev.cjs → iframe-DpCv-QH2.cjs} +7 -7
  148. package/dist/iframe-DpCv-QH2.cjs.map +1 -0
  149. package/dist/iframe.cjs +1 -1
  150. package/dist/iframe.js +1 -1
  151. package/dist/index.cjs +1 -1
  152. package/dist/index.js +37 -37
  153. package/dist/{input-Bt_o4sYo.js → input-BCCHz6tB.js} +7 -7
  154. package/dist/input-BCCHz6tB.js.map +1 -0
  155. package/dist/{input-B14Nn6xD.cjs → input-Z-3N5JMv.cjs} +2 -2
  156. package/dist/input-Z-3N5JMv.cjs.map +1 -0
  157. package/dist/{input-chip-DEqO0DXc.js → input-chip-BOrcKH-H.js} +2 -2
  158. package/dist/{input-chip-DEqO0DXc.js.map → input-chip-BOrcKH-H.js.map} +1 -1
  159. package/dist/{input-chip-ugYu9Fn9.cjs → input-chip-ChAgRCXZ.cjs} +1 -1
  160. package/dist/{input-chip-ugYu9Fn9.cjs.map → input-chip-ChAgRCXZ.cjs.map} +1 -1
  161. package/dist/input.cjs +1 -1
  162. package/dist/input.js +1 -1
  163. package/dist/json.cjs +1 -1
  164. package/dist/json.js +3 -3
  165. package/dist/kbd.cjs +1 -1
  166. package/dist/kbd.js +2 -2
  167. package/dist/{layout-BJ_43VrH.js → layout-CFiG3lNT.js} +1 -1
  168. package/dist/{layout-BJ_43VrH.js.map → layout-CFiG3lNT.js.map} +1 -1
  169. package/dist/{layout-DF9ZaQ-b.cjs → layout-DZ4dpLh9.cjs} +1 -1
  170. package/dist/{layout-DF9ZaQ-b.cjs.map → layout-DZ4dpLh9.cjs.map} +1 -1
  171. package/dist/layout.cjs +1 -1
  172. package/dist/layout.js +2 -2
  173. package/dist/lazy-BaAiIUru.js +19 -0
  174. package/dist/lazy-BaAiIUru.js.map +1 -0
  175. package/dist/lazy-C-7a4FAe.cjs +1 -0
  176. package/dist/lazy-C-7a4FAe.cjs.map +1 -0
  177. package/dist/{lightbox-ZmuoBBFT.js → lightbox-B7Y4Nij_.js} +2 -2
  178. package/dist/lightbox-B7Y4Nij_.js.map +1 -0
  179. package/dist/{lightbox-B47Zoqv-.cjs → lightbox-Dpwsn8Qr.cjs} +1 -1
  180. package/dist/lightbox-Dpwsn8Qr.cjs.map +1 -0
  181. package/dist/lightbox.cjs +1 -1
  182. package/dist/lightbox.js +1 -1
  183. package/dist/{list-CaSWrlG2.cjs → list-BhM-6dAi.cjs} +1 -1
  184. package/dist/{list-CaSWrlG2.cjs.map → list-BhM-6dAi.cjs.map} +1 -1
  185. package/dist/{list-C47xzld_.js → list-C5WVoIfJ.js} +2 -2
  186. package/dist/{list-C47xzld_.js.map → list-C5WVoIfJ.js.map} +1 -1
  187. package/dist/list.cjs +1 -1
  188. package/dist/list.js +1 -1
  189. package/dist/magnetic-DKtc4umC.cjs.map +1 -1
  190. package/dist/magnetic-DaOOv5Dz.js.map +1 -1
  191. package/dist/{menu-8RObM6Ie.js → menu-CBAAJoHu.js} +3 -3
  192. package/dist/{menu-8RObM6Ie.js.map → menu-CBAAJoHu.js.map} +1 -1
  193. package/dist/{menu-Jpsy85SX.cjs → menu-DFQjJk3H.cjs} +1 -1
  194. package/dist/{menu-Jpsy85SX.cjs.map → menu-DFQjJk3H.cjs.map} +1 -1
  195. package/dist/menu.cjs +1 -1
  196. package/dist/menu.js +1 -1
  197. package/dist/{mixins-DTzfFVyv.js → mixins-DGBI7YPO.js} +11 -11
  198. package/dist/mixins-DGBI7YPO.js.map +1 -0
  199. package/dist/{mixins-DPdzC9ZH.cjs → mixins-fIpzhVMd.cjs} +1 -1
  200. package/dist/mixins-fIpzhVMd.cjs.map +1 -0
  201. package/dist/mixins.cjs +1 -1
  202. package/dist/mixins.js +2 -2
  203. package/dist/nav-drawer.cjs +1 -1
  204. package/dist/nav-drawer.js +1 -1
  205. package/dist/navigation-bar.cjs +1 -1
  206. package/dist/navigation-bar.js +1 -1
  207. package/dist/navigation-rail.cjs +3 -3
  208. package/dist/navigation-rail.cjs.map +1 -1
  209. package/dist/navigation-rail.js +11 -10
  210. package/dist/navigation-rail.js.map +1 -1
  211. package/dist/notification-B6yDL91t.cjs +24 -0
  212. package/dist/notification-B6yDL91t.cjs.map +1 -0
  213. package/dist/{notification-Ccktcj9H.js → notification-BB9OBRCr.js} +22 -22
  214. package/dist/notification-BB9OBRCr.js.map +1 -0
  215. package/dist/notification.cjs +1 -1
  216. package/dist/notification.js +1 -1
  217. package/dist/{option-CkMxwBqU.js → option-B21ImL0k.js} +2 -2
  218. package/dist/{option-CkMxwBqU.js.map → option-B21ImL0k.js.map} +1 -1
  219. package/dist/{option-0aNiVB3Q.cjs → option-CJQM5I9q.cjs} +1 -1
  220. package/dist/{option-0aNiVB3Q.cjs.map → option-CJQM5I9q.cjs.map} +1 -1
  221. package/dist/option.cjs +1 -1
  222. package/dist/option.js +1 -1
  223. package/dist/{overlay-H3Wt_dgQ.js → overlay-CWsihJ-E.js} +75 -67
  224. package/dist/overlay-CWsihJ-E.js.map +1 -0
  225. package/dist/overlay-DkIX9Ig3.cjs +58 -0
  226. package/dist/overlay-DkIX9Ig3.cjs.map +1 -0
  227. package/dist/overlay.cjs +1 -1
  228. package/dist/{overlay.confirm-body-Dxn_wNm3.js → overlay.confirm-body-CPqqPNks.js} +10 -10
  229. package/dist/overlay.confirm-body-CPqqPNks.js.map +1 -0
  230. package/dist/{overlay.confirm-body-CR9xaqOE.cjs → overlay.confirm-body-DwTfiNlV.cjs} +3 -3
  231. package/dist/overlay.confirm-body-DwTfiNlV.cjs.map +1 -0
  232. package/dist/overlay.js +4 -4
  233. package/dist/overlay.service-DU1nqh6A.cjs +1 -0
  234. package/dist/{overlay.service-DEj3rfRr.cjs.map → overlay.service-DU1nqh6A.cjs.map} +1 -1
  235. package/dist/{overlay.service-C46kOtUi.js → overlay.service-KTgBxjFb.js} +4 -4
  236. package/dist/{overlay.service-C46kOtUi.js.map → overlay.service-KTgBxjFb.js.map} +1 -1
  237. package/dist/{progress-zs18GR6C.cjs → progress-B-Qg44XY.cjs} +1 -1
  238. package/dist/{progress-zs18GR6C.cjs.map → progress-B-Qg44XY.cjs.map} +1 -1
  239. package/dist/{progress-BK7gSq8j.js → progress-CUSS1sNz.js} +2 -2
  240. package/dist/{progress-BK7gSq8j.js.map → progress-CUSS1sNz.js.map} +1 -1
  241. package/dist/progress.cjs +1 -1
  242. package/dist/progress.js +1 -1
  243. package/dist/{radio-group-1HCpzRUB.js → radio-group-AHLvrN8O.js} +7 -7
  244. package/dist/radio-group-AHLvrN8O.js.map +1 -0
  245. package/dist/{radio-group-DbYlyPc-.cjs → radio-group-BEtvCSS1.cjs} +2 -2
  246. package/dist/radio-group-BEtvCSS1.cjs.map +1 -0
  247. package/dist/radio-group.cjs +1 -1
  248. package/dist/radio-group.js +1 -1
  249. package/dist/range.cjs +1 -1
  250. package/dist/range.js +2 -2
  251. package/dist/select-BWpV2iv-.cjs +56 -0
  252. package/dist/select-BWpV2iv-.cjs.map +1 -0
  253. package/dist/{select-CEyhNtZ2.js → select-Cawz88lG.js} +46 -46
  254. package/dist/select-Cawz88lG.js.map +1 -0
  255. package/dist/select.cjs +1 -1
  256. package/dist/select.js +1 -1
  257. package/dist/skeleton.cjs +1 -1
  258. package/dist/skeleton.js +2 -2
  259. package/dist/skills/SKILL.md +17 -11
  260. package/dist/skills/overlay.md +14 -7
  261. package/dist/skills/schmancy/SKILL.md +17 -11
  262. package/dist/skills/schmancy/overlay.md +14 -7
  263. package/dist/skills/schmancy/steps.md +68 -34
  264. package/dist/skills/steps.md +68 -34
  265. package/dist/slider.cjs +1 -1
  266. package/dist/slider.js +2 -2
  267. package/dist/{sound.service-DO4SmUUT.js → sound.service-CK-5zob-.js} +4 -3
  268. package/dist/sound.service-CK-5zob-.js.map +1 -0
  269. package/dist/{sound.service-G_8GV_6L.cjs → sound.service-D2GGaBXc.cjs} +1 -1
  270. package/dist/sound.service-D2GGaBXc.cjs.map +1 -0
  271. package/dist/{splash-screen-B1mM4_xz.js → splash-screen-BUEtjHXC.js} +13 -13
  272. package/dist/splash-screen-BUEtjHXC.js.map +1 -0
  273. package/dist/{splash-screen-cbz4bxjB.cjs → splash-screen-DqPuipox.cjs} +6 -6
  274. package/dist/splash-screen-DqPuipox.cjs.map +1 -0
  275. package/dist/splash-screen.cjs +1 -1
  276. package/dist/splash-screen.js +1 -1
  277. package/dist/{src-tncsWsTY.js → src-CIqAj3Eh.js} +45 -45
  278. package/dist/src-CIqAj3Eh.js.map +1 -0
  279. package/dist/{src-czeiuT1m.cjs → src-CYqBQTyt.cjs} +6 -6
  280. package/dist/src-CYqBQTyt.cjs.map +1 -0
  281. package/dist/{state-Cx0aoL5e.cjs → state-BxDNox-2.cjs} +1 -1
  282. package/dist/{state-Cx0aoL5e.cjs.map → state-BxDNox-2.cjs.map} +1 -1
  283. package/dist/{state-DJDp3N7J.js → state-CnZCDMT0.js} +9 -9
  284. package/dist/{state-DJDp3N7J.js.map → state-CnZCDMT0.js.map} +1 -1
  285. package/dist/state.cjs +1 -1
  286. package/dist/state.js +2 -2
  287. package/dist/steps.cjs +35 -19
  288. package/dist/steps.cjs.map +1 -1
  289. package/dist/steps.js +96 -73
  290. package/dist/steps.js.map +1 -1
  291. package/dist/{surface-CYBl8_a3.js → surface-BMdG3dKQ.js} +2 -2
  292. package/dist/{surface-CYBl8_a3.js.map → surface-BMdG3dKQ.js.map} +1 -1
  293. package/dist/{surface-C3cxTcJD.cjs → surface-CWwYD_z2.cjs} +1 -1
  294. package/dist/{surface-C3cxTcJD.cjs.map → surface-CWwYD_z2.cjs.map} +1 -1
  295. package/dist/surface.cjs +1 -1
  296. package/dist/surface.js +1 -1
  297. package/dist/switch.cjs +4 -4
  298. package/dist/switch.cjs.map +1 -1
  299. package/dist/switch.js +11 -11
  300. package/dist/switch.js.map +1 -1
  301. package/dist/table.cjs +1 -1
  302. package/dist/table.js +2 -2
  303. package/dist/{tabs-DHy93Q3N.js → tabs-CDQYDc6v.js} +2 -2
  304. package/dist/{tabs-DHy93Q3N.js.map → tabs-CDQYDc6v.js.map} +1 -1
  305. package/dist/{tabs-ORQ_Zd43.cjs → tabs-CbD9E1gd.cjs} +1 -1
  306. package/dist/{tabs-ORQ_Zd43.cjs.map → tabs-CbD9E1gd.cjs.map} +1 -1
  307. package/dist/tabs.cjs +1 -1
  308. package/dist/tabs.js +1 -1
  309. package/dist/teleport.cjs +1 -1
  310. package/dist/teleport.js +1 -1
  311. package/dist/textarea-Brgi-vD2.cjs +43 -0
  312. package/dist/textarea-Brgi-vD2.cjs.map +1 -0
  313. package/dist/{textarea-DHIMt-ly.js → textarea-MPyrMi-S.js} +4 -4
  314. package/dist/textarea-MPyrMi-S.js.map +1 -0
  315. package/dist/textarea.cjs +1 -1
  316. package/dist/textarea.js +1 -1
  317. package/dist/{theme-CJpjkqHr.cjs → theme-BMbXoqi0.cjs} +1 -1
  318. package/dist/{theme-CJpjkqHr.cjs.map → theme-BMbXoqi0.cjs.map} +1 -1
  319. package/dist/{theme-CgI9PRco.js → theme-DZu-xmVp.js} +5 -5
  320. package/dist/{theme-CgI9PRco.js.map → theme-DZu-xmVp.js.map} +1 -1
  321. package/dist/{theme-button--FuBkuVr.cjs → theme-button-B0OLb-43.cjs} +1 -1
  322. package/dist/{theme-button--FuBkuVr.cjs.map → theme-button-B0OLb-43.cjs.map} +1 -1
  323. package/dist/{theme-button-D-FXb3oO.js → theme-button-D_qGvEYs.js} +2 -2
  324. package/dist/{theme-button-D-FXb3oO.js.map → theme-button-D_qGvEYs.js.map} +1 -1
  325. package/dist/theme-button.cjs +1 -1
  326. package/dist/theme-button.js +1 -1
  327. package/dist/theme.cjs +1 -1
  328. package/dist/theme.js +3 -3
  329. package/dist/{theme.service-BfTK1Wtl.js → theme.service-7VkM-hVf.js} +15 -11
  330. package/dist/theme.service-7VkM-hVf.js.map +1 -0
  331. package/dist/theme.service-B15FdjOS.cjs +1 -0
  332. package/dist/theme.service-B15FdjOS.cjs.map +1 -0
  333. package/dist/tree.cjs +4 -4
  334. package/dist/tree.cjs.map +1 -1
  335. package/dist/tree.js +8 -8
  336. package/dist/tree.js.map +1 -1
  337. package/dist/{typography-CxA3sx9B.cjs → typography-D4Fo1UGh.cjs} +3 -3
  338. package/dist/{typography-CxA3sx9B.cjs.map → typography-D4Fo1UGh.cjs.map} +1 -1
  339. package/dist/{typography-BEGLfHwz.js → typography-SZhjb_4R.js} +9 -9
  340. package/dist/{typography-BEGLfHwz.js.map → typography-SZhjb_4R.js.map} +1 -1
  341. package/dist/typography.cjs +1 -1
  342. package/dist/typography.js +1 -1
  343. package/dist/visually-hidden.cjs +1 -1
  344. package/dist/visually-hidden.js +2 -2
  345. package/dist/{window-B_n4P9az.js → window-BDVyrBnk.js} +101 -100
  346. package/dist/window-BDVyrBnk.js.map +1 -0
  347. package/dist/window-BbBYjm7R.cjs +59 -0
  348. package/dist/window-BbBYjm7R.cjs.map +1 -0
  349. package/dist/window.cjs +1 -1
  350. package/dist/window.js +1 -1
  351. package/package.json +1 -1
  352. package/skills/schmancy/SKILL.md +17 -11
  353. package/skills/schmancy/overlay.md +14 -7
  354. package/skills/schmancy/steps.md +68 -34
  355. package/src/area/area.component.ts +1 -1
  356. package/src/area/area.service.test.ts +2 -2
  357. package/src/area/area.service.ts +1 -1
  358. package/src/area/lazy.ts +87 -83
  359. package/src/audio/sound.service.ts +3 -3
  360. package/src/breadcrumb/breadcrumb.ts +2 -2
  361. package/src/button/button.ts +11 -11
  362. package/src/button/icon-button.ts +18 -18
  363. package/src/card/card.ts +16 -16
  364. package/src/content-drawer/drawer.ts +6 -6
  365. package/src/details/details.ts +55 -55
  366. package/src/directives/ai-badge.ts +2 -1
  367. package/src/directives/animate-text.ts +2 -1
  368. package/src/directives/art/art.directive.ts +2 -1
  369. package/src/directives/battery.ts +2 -1
  370. package/src/directives/confirm-click.ts +5 -3
  371. package/src/directives/cursor-glow.ts +2 -1
  372. package/src/directives/cycle-text.ts +2 -1
  373. package/src/directives/depth-of-field.ts +2 -1
  374. package/src/directives/drag.ts +4 -2
  375. package/src/directives/fyi.ts +2 -1
  376. package/src/directives/gravity.ts +2 -1
  377. package/src/directives/hummingbird.ts +2 -1
  378. package/src/directives/intersect.ts +3 -2
  379. package/src/directives/liquid.ts +2 -1
  380. package/src/directives/living-border.ts +2 -1
  381. package/src/directives/long-press.ts +2 -1
  382. package/src/directives/magnetic.ts +2 -1
  383. package/src/directives/missed-punch.ts +2 -1
  384. package/src/directives/nebula.ts +6 -5
  385. package/src/directives/overflow-within.ts +2 -1
  386. package/src/directives/reveal.ts +193 -118
  387. package/src/directives/urgent.ts +2 -1
  388. package/src/directives/working-snake.ts +2 -1
  389. package/src/expand/expand-root.component.ts +27 -27
  390. package/src/expand/expand.component.ts +48 -48
  391. package/src/form/fields/autocomplete/autocomplete.ts +154 -154
  392. package/src/form/fields/checkbox/checkbox.ts +4 -4
  393. package/src/form/fields/chips/chips.ts +2 -2
  394. package/src/form/fields/chips/filter-chip.ts +15 -15
  395. package/src/form/fields/date-range/date-range.ts +2 -2
  396. package/src/form/fields/input/input.ts +12 -12
  397. package/src/form/fields/radio-group/radio-button.ts +2 -2
  398. package/src/form/fields/radio-group/radio-group.ts +3 -3
  399. package/src/form/fields/select/select.ts +56 -56
  400. package/src/form/fields/switch/switch.ts +10 -10
  401. package/src/form/fields/textarea/textarea.ts +2 -2
  402. package/src/form/form-summary.ts +33 -33
  403. package/src/form/form.ts +45 -45
  404. package/src/icons/icon.ts +10 -8
  405. package/src/iframe/iframe.ts +11 -11
  406. package/src/lightbox/flip-directive.ts +2 -1
  407. package/src/lightbox/lightbox.directive.ts +2 -1
  408. package/src/nav-drawer/navbar.ts +3 -3
  409. package/src/navigation-rail/navigation-rail.ts +10 -10
  410. package/src/notification/notification.ts +22 -22
  411. package/src/overlay/overlay.component.ts +106 -83
  412. package/src/overlay/overlay.confirm-body.ts +4 -4
  413. package/src/overlay/overlay.service.ts +3 -3
  414. package/src/overlay/overlay.types.ts +4 -2
  415. package/src/splash-screen/splash-screen.ts +11 -11
  416. package/src/state/index.ts +12 -12
  417. package/src/state/schmancy-context.ts +9 -9
  418. package/src/steps/index.ts +1 -1
  419. package/src/steps/schmancy-step.ts +91 -65
  420. package/src/steps/{schmancy-steps-container.ts → schmancy-steps.ts} +18 -38
  421. package/src/steps/steps.context.ts +5 -4
  422. package/src/steps/steps.test.ts +120 -0
  423. package/src/teleport/teleport.component.ts +2 -2
  424. package/src/theme/theme.service.ts +17 -17
  425. package/src/tree/tree.ts +7 -7
  426. package/src/typography/typography.ts +7 -7
  427. package/src/window/window-manager.ts +20 -20
  428. package/src/window/window.ts +100 -100
  429. package/types/mixins/SchmancyElement.d.ts +3 -2
  430. package/types/mixins/formField.mixin.d.ts +1 -1
  431. package/types/src/area/area.service.d.ts +1 -1
  432. package/types/src/area/lazy.d.ts +0 -6
  433. package/types/src/audio/sound.service.d.ts +1 -2
  434. package/types/src/breadcrumb/breadcrumb.d.ts +1 -1
  435. package/types/src/button/button.d.ts +3 -3
  436. package/types/src/button/icon-button.d.ts +6 -7
  437. package/types/src/card/card.d.ts +5 -5
  438. package/types/src/content-drawer/drawer.d.ts +1 -1
  439. package/types/src/details/details.d.ts +2 -21
  440. package/types/src/directives/ai-badge.d.ts +2 -2
  441. package/types/src/directives/animate-text.d.ts +2 -2
  442. package/types/src/directives/art/art.directive.d.ts +2 -2
  443. package/types/src/directives/battery.d.ts +2 -2
  444. package/types/src/directives/confirm-click.d.ts +2 -2
  445. package/types/src/directives/cursor-glow.d.ts +2 -2
  446. package/types/src/directives/cycle-text.d.ts +2 -2
  447. package/types/src/directives/depth-of-field.d.ts +2 -2
  448. package/types/src/directives/drag.d.ts +4 -4
  449. package/types/src/directives/fyi.d.ts +2 -2
  450. package/types/src/directives/gravity.d.ts +2 -2
  451. package/types/src/directives/hummingbird.d.ts +2 -2
  452. package/types/src/directives/intersect.d.ts +2 -2
  453. package/types/src/directives/liquid.d.ts +2 -2
  454. package/types/src/directives/living-border.d.ts +2 -2
  455. package/types/src/directives/long-press.d.ts +2 -2
  456. package/types/src/directives/magnetic.d.ts +2 -2
  457. package/types/src/directives/missed-punch.d.ts +2 -2
  458. package/types/src/directives/nebula.d.ts +2 -2
  459. package/types/src/directives/overflow-within.d.ts +2 -2
  460. package/types/src/directives/reveal.d.ts +17 -7
  461. package/types/src/directives/urgent.d.ts +2 -2
  462. package/types/src/directives/working-snake.d.ts +2 -2
  463. package/types/src/expand/expand-root.component.d.ts +8 -8
  464. package/types/src/expand/expand.component.d.ts +11 -11
  465. package/types/src/form/fields/autocomplete/autocomplete.d.ts +29 -29
  466. package/types/src/form/fields/checkbox/checkbox.d.ts +1 -1
  467. package/types/src/form/fields/chips/chips.d.ts +1 -1
  468. package/types/src/form/fields/chips/filter-chip.d.ts +1 -2
  469. package/types/src/form/fields/input/input.d.ts +3 -3
  470. package/types/src/form/fields/radio-group/radio-button.d.ts +1 -1
  471. package/types/src/form/fields/radio-group/radio-group.d.ts +1 -1
  472. package/types/src/form/fields/select/select.d.ts +8 -8
  473. package/types/src/form/fields/switch/switch.d.ts +3 -3
  474. package/types/src/form/fields/textarea/textarea.d.ts +1 -1
  475. package/types/src/form/form-summary.d.ts +7 -7
  476. package/types/src/form/form.d.ts +11 -11
  477. package/types/src/icons/icon.d.ts +2 -2
  478. package/types/src/iframe/iframe.d.ts +3 -3
  479. package/types/src/lightbox/flip-directive.d.ts +2 -2
  480. package/types/src/lightbox/lightbox.directive.d.ts +2 -2
  481. package/types/src/nav-drawer/navbar.d.ts +1 -1
  482. package/types/src/navigation-rail/navigation-rail.d.ts +2 -2
  483. package/types/src/notification/notification.d.ts +8 -8
  484. package/types/src/overlay/overlay.component.d.ts +16 -16
  485. package/types/src/overlay/overlay.confirm-body.d.ts +1 -1
  486. package/types/src/overlay/overlay.types.d.ts +4 -2
  487. package/types/src/splash-screen/splash-screen.d.ts +2 -2
  488. package/types/src/state/index.d.ts +1 -1
  489. package/types/src/state/schmancy-context.d.ts +3 -3
  490. package/types/src/steps/index.d.ts +1 -1
  491. package/types/src/steps/schmancy-step.d.ts +8 -23
  492. package/types/src/steps/{schmancy-steps-container.d.ts → schmancy-steps.d.ts} +8 -9
  493. package/types/src/steps/steps.context.d.ts +2 -1
  494. package/types/src/steps/steps.test.d.ts +2 -0
  495. package/types/src/teleport/teleport.component.d.ts +1 -1
  496. package/types/src/theme/theme.service.d.ts +1 -4
  497. package/types/src/tree/tree.d.ts +3 -3
  498. package/types/src/typography/typography.d.ts +1 -1
  499. package/types/src/window/window-manager.d.ts +2 -2
  500. package/types/src/window/window.d.ts +20 -20
  501. package/dist/SchmancyElement-BBzRWB1w.cjs +0 -2
  502. package/dist/SchmancyElement-C3CpdNsi.js +0 -284
  503. package/dist/area-BA96mwFY.js.map +0 -1
  504. package/dist/area-DtyQDdOF.cjs +0 -21
  505. package/dist/area-DtyQDdOF.cjs.map +0 -1
  506. package/dist/autocomplete-Bts5Jwwr.cjs +0 -115
  507. package/dist/autocomplete-Bts5Jwwr.cjs.map +0 -1
  508. package/dist/autocomplete-CI4QJXAN.js.map +0 -1
  509. package/dist/button-C89bPnHt.js.map +0 -1
  510. package/dist/button-CkwQH-g3.cjs +0 -62
  511. package/dist/button-CkwQH-g3.cjs.map +0 -1
  512. package/dist/card-BO93_oxQ.cjs.map +0 -1
  513. package/dist/card-CFsCgJKZ.js.map +0 -1
  514. package/dist/chips-6YaoRmeG.js.map +0 -1
  515. package/dist/chips-BfzpsyV1.cjs.map +0 -1
  516. package/dist/date-range-CEo_Kjqw.js.map +0 -1
  517. package/dist/date-range-N-A249O9.cjs.map +0 -1
  518. package/dist/details-BLRPV8sY.cjs +0 -164
  519. package/dist/details-BLRPV8sY.cjs.map +0 -1
  520. package/dist/details-GtpfI2hA.js.map +0 -1
  521. package/dist/directives-C2dXgpCY.js.map +0 -1
  522. package/dist/directives-CvYGSW_a.cjs.map +0 -1
  523. package/dist/expand-FcKAzJta.js.map +0 -1
  524. package/dist/expand-tffQHGbZ.cjs +0 -141
  525. package/dist/expand-tffQHGbZ.cjs.map +0 -1
  526. package/dist/form-H24puioV.js.map +0 -1
  527. package/dist/form-VYhbbir3.cjs +0 -27
  528. package/dist/form-VYhbbir3.cjs.map +0 -1
  529. package/dist/icons-B_a1HStW.cjs +0 -24
  530. package/dist/icons-B_a1HStW.cjs.map +0 -1
  531. package/dist/icons-DBxfN91B.js.map +0 -1
  532. package/dist/iframe-BDVElN8z.js.map +0 -1
  533. package/dist/iframe-CG-z9qev.cjs.map +0 -1
  534. package/dist/input-B14Nn6xD.cjs.map +0 -1
  535. package/dist/input-Bt_o4sYo.js.map +0 -1
  536. package/dist/lazy-CayEFyC3.cjs +0 -1
  537. package/dist/lazy-CayEFyC3.cjs.map +0 -1
  538. package/dist/lazy-D-bO2r4m.js +0 -13
  539. package/dist/lazy-D-bO2r4m.js.map +0 -1
  540. package/dist/lightbox-B47Zoqv-.cjs.map +0 -1
  541. package/dist/lightbox-ZmuoBBFT.js.map +0 -1
  542. package/dist/mixins-DPdzC9ZH.cjs.map +0 -1
  543. package/dist/mixins-DTzfFVyv.js.map +0 -1
  544. package/dist/notification-Ccktcj9H.js.map +0 -1
  545. package/dist/notification-DSkB-sn0.cjs +0 -24
  546. package/dist/notification-DSkB-sn0.cjs.map +0 -1
  547. package/dist/overlay-BS-ta-zq.cjs +0 -58
  548. package/dist/overlay-BS-ta-zq.cjs.map +0 -1
  549. package/dist/overlay-H3Wt_dgQ.js.map +0 -1
  550. package/dist/overlay.confirm-body-CR9xaqOE.cjs.map +0 -1
  551. package/dist/overlay.confirm-body-Dxn_wNm3.js.map +0 -1
  552. package/dist/overlay.service-DEj3rfRr.cjs +0 -1
  553. package/dist/radio-group-1HCpzRUB.js.map +0 -1
  554. package/dist/radio-group-DbYlyPc-.cjs.map +0 -1
  555. package/dist/select-B-SSmUDe.cjs +0 -56
  556. package/dist/select-B-SSmUDe.cjs.map +0 -1
  557. package/dist/select-CEyhNtZ2.js.map +0 -1
  558. package/dist/sound.service-DO4SmUUT.js.map +0 -1
  559. package/dist/sound.service-G_8GV_6L.cjs.map +0 -1
  560. package/dist/splash-screen-B1mM4_xz.js.map +0 -1
  561. package/dist/splash-screen-cbz4bxjB.cjs.map +0 -1
  562. package/dist/src-czeiuT1m.cjs.map +0 -1
  563. package/dist/src-tncsWsTY.js.map +0 -1
  564. package/dist/textarea-CEUaDURR.cjs +0 -43
  565. package/dist/textarea-CEUaDURR.cjs.map +0 -1
  566. package/dist/textarea-DHIMt-ly.js.map +0 -1
  567. package/dist/theme.service-BfTK1Wtl.js.map +0 -1
  568. package/dist/theme.service-Dg7LO0Qz.cjs +0 -1
  569. package/dist/theme.service-Dg7LO0Qz.cjs.map +0 -1
  570. package/dist/window-B_n4P9az.js.map +0 -1
  571. package/dist/window-Vl1u1-EG.cjs +0 -59
  572. package/dist/window-Vl1u1-EG.cjs.map +0 -1
package/src/area/lazy.ts CHANGED
@@ -1,83 +1,87 @@
1
- /**
2
- * Lazy loading for Schmancy Area components
3
- * Similar to React.lazy() but adapted for Web Components
4
- */
5
-
6
- // Type definition for custom element constructors
7
- type CustomElementConstructor = typeof HTMLElement
8
-
9
- /**
10
- * LazyComponent interface with preload capability
11
- */
12
- export interface LazyComponent<T extends CustomElementConstructor = CustomElementConstructor> {
13
- (): Promise<{ default: T }>
14
- preload(): Promise<void>
15
- _promise?: Promise<{ default: T }>
16
- _module?: { default: T }
17
- }
18
-
19
- /**
20
- * Create a lazy-loaded component that will be imported on demand
21
- *
22
- * @example
23
- * ```typescript
24
- * const LazyProfile = lazy(() => import('./profile'))
25
- *
26
- * // Use with area.push
27
- * area.push({
28
- * component: LazyProfile,
29
- * area: 'main'
30
- * })
31
- *
32
- * // Preload on hover
33
- * element.addEventListener('mouseenter', () => LazyProfile.preload())
34
- * ```
35
- *
36
- * @param loader - Dynamic import function that returns a module with default export
37
- * @returns LazyComponent function compatible with area.push()
38
- */
39
- export function lazy<T extends CustomElementConstructor>(
40
- loader: () => Promise<{ default: T }>
41
- ): LazyComponent<T> {
42
-
43
- // Create the lazy component function
44
- const lazyComponent = function(): Promise<{ default: T }> {
45
- // Return cached promise if already loading/loaded
46
- if (lazyComponent._promise) {
47
- return lazyComponent._promise
48
- }
49
-
50
- // Return cached module if already loaded
51
- if (lazyComponent._module) {
52
- return Promise.resolve(lazyComponent._module)
53
- }
54
-
55
- // Start loading and cache the promise
56
- lazyComponent._promise = loader()
57
- .then(module => {
58
- // Cache the loaded module
59
- lazyComponent._module = module
60
- return module
61
- })
62
- .catch(error => {
63
- // Clear promise on error to allow retry
64
- lazyComponent._promise = undefined
65
- throw error
66
- })
67
-
68
- return lazyComponent._promise
69
- } as LazyComponent<T>
70
-
71
- // Add preload method for manual preloading
72
- lazyComponent.preload = async function(): Promise<void> {
73
- try {
74
- await lazyComponent()
75
- } catch (error) {
76
- console.error('Failed to preload component:', error)
77
- }
78
- }
79
-
80
- return lazyComponent
81
- }
82
-
83
-
1
+ /**
2
+ * Lazy loading for Schmancy Area components
3
+ * Similar to React.lazy() but adapted for Web Components
4
+ */
5
+
6
+ // Type definition for custom element constructors
7
+ type CustomElementConstructor = typeof HTMLElement
8
+
9
+ /**
10
+ * LazyComponent interface with preload capability
11
+ */
12
+ export interface LazyComponent<T extends CustomElementConstructor = CustomElementConstructor> {
13
+ (): Promise<{ default: T }>
14
+ preload(): Promise<void>
15
+ }
16
+
17
+ // Per-component load cache. Kept off the public LazyComponent surface so the
18
+ // interface stays a clean callable + preload() contract.
19
+ const promiseCache = new WeakMap<object, Promise<{ default: CustomElementConstructor }>>()
20
+ const moduleCache = new WeakMap<object, { default: CustomElementConstructor }>()
21
+
22
+ /**
23
+ * Create a lazy-loaded component that will be imported on demand
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const LazyProfile = lazy(() => import('./profile'))
28
+ *
29
+ * // Use with area.push
30
+ * area.push({
31
+ * component: LazyProfile,
32
+ * area: 'main'
33
+ * })
34
+ *
35
+ * // Preload on hover
36
+ * element.addEventListener('mouseenter', () => LazyProfile.preload())
37
+ * ```
38
+ *
39
+ * @param loader - Dynamic import function that returns a module with default export
40
+ * @returns LazyComponent function compatible with area.push()
41
+ */
42
+ export function lazy<T extends CustomElementConstructor>(
43
+ loader: () => Promise<{ default: T }>
44
+ ): LazyComponent<T> {
45
+
46
+ // Create the lazy component function
47
+ const lazyComponent = function(): Promise<{ default: T }> {
48
+ // Return cached promise if already loading/loaded
49
+ const cachedPromise = promiseCache.get(lazyComponent)
50
+ if (cachedPromise) {
51
+ return cachedPromise as Promise<{ default: T }>
52
+ }
53
+
54
+ // Return cached module if already loaded
55
+ const cachedModule = moduleCache.get(lazyComponent)
56
+ if (cachedModule) {
57
+ return Promise.resolve(cachedModule as { default: T })
58
+ }
59
+
60
+ // Start loading and cache the promise
61
+ const promise = loader()
62
+ .then(module => {
63
+ // Cache the loaded module
64
+ moduleCache.set(lazyComponent, module)
65
+ return module
66
+ })
67
+ .catch(error => {
68
+ // Clear promise on error to allow retry
69
+ promiseCache.delete(lazyComponent)
70
+ throw error
71
+ })
72
+ promiseCache.set(lazyComponent, promise)
73
+
74
+ return promise
75
+ } as LazyComponent<T>
76
+
77
+ // Add preload method for manual preloading
78
+ lazyComponent.preload = async function(): Promise<void> {
79
+ try {
80
+ await lazyComponent()
81
+ } catch (error) {
82
+ console.error('Failed to preload component:', error)
83
+ }
84
+ }
85
+
86
+ return lazyComponent
87
+ }
@@ -735,8 +735,8 @@ class SoundService {
735
735
  )
736
736
 
737
737
  /** BehaviorSubject for current theme name (for debugging/display) */
738
- private readonly _themeName$ = new BehaviorSubject<string>('default')
739
- public readonly themeName$ = this._themeName$.asObservable()
738
+ readonly #themeName$ = new BehaviorSubject<string>('default')
739
+ public readonly themeName$ = this.#themeName$.asObservable()
740
740
 
741
741
  // Getters for synchronous access
742
742
  get theme(): SoundTheme | null {
@@ -758,7 +758,7 @@ class SoundService {
758
758
  private constructor() {
759
759
  // Subscribe to theme changes to update theme name
760
760
  this.theme$.subscribe(theme => {
761
- this._themeName$.next(theme?.name ?? 'default')
761
+ this.#themeName$.next(theme?.name ?? 'default')
762
762
  })
763
763
  }
764
764
 
@@ -45,12 +45,12 @@ export class SchmancyBreadcrumb extends SchmancyElement {
45
45
  // separator is visually present without affecting the accessible name.
46
46
  return html`
47
47
  <nav role="navigation">
48
- <slot @slotchange=${() => this._insertSeparators()}></slot>
48
+ <slot @slotchange=${() => this.insertSeparators()}></slot>
49
49
  </nav>
50
50
  `
51
51
  }
52
52
 
53
- private _insertSeparators() {
53
+ private insertSeparators() {
54
54
  const slot = this.shadowRoot?.querySelector('slot') as HTMLSlotElement | null
55
55
  if (!slot) return
56
56
  const items = slot.assignedElements({ flatten: true })
@@ -71,7 +71,7 @@ export class SchmancyButton extends SchmancyElement {
71
71
  * while a submit is in flight. Stays focusable; disabled buttons drop from
72
72
  * the tab order and are unreachable to AT (WCAG 2.2 AA).
73
73
  */
74
- private _formBusyObserver?: MutationObserver
74
+ private formBusyObserver?: MutationObserver
75
75
 
76
76
  constructor() {
77
77
  super()
@@ -128,20 +128,20 @@ export class SchmancyButton extends SchmancyElement {
128
128
  }
129
129
  }
130
130
  sync()
131
- this._formBusyObserver = new MutationObserver(sync)
132
- this._formBusyObserver.observe(form, { attributes: true, attributeFilter: ['aria-busy'] })
131
+ this.formBusyObserver = new MutationObserver(sync)
132
+ this.formBusyObserver.observe(form, { attributes: true, attributeFilter: ['aria-busy'] })
133
133
  }
134
134
 
135
135
  override disconnectedCallback(): void {
136
- this._formBusyObserver?.disconnect()
137
- this._formBusyObserver = undefined
136
+ this.formBusyObserver?.disconnect()
137
+ this.formBusyObserver = undefined
138
138
  super.disconnectedCallback()
139
139
  }
140
140
 
141
141
  @query('[part="base"]', true)
142
142
  private nativeElement!: HTMLElement
143
143
 
144
- private _ariaLabel!: string
144
+ #ariaLabel!: string
145
145
 
146
146
  /**
147
147
  * The variant of the button.
@@ -208,8 +208,8 @@ export class SchmancyButton extends SchmancyElement {
208
208
  public disabled = false
209
209
 
210
210
  public override set ariaLabel(value: string) {
211
- const oldVal = this._ariaLabel
212
- this._ariaLabel = value
211
+ const oldVal = this.#ariaLabel
212
+ this.#ariaLabel = value
213
213
 
214
214
  if (this.hasAttribute('aria-label')) {
215
215
  this.removeAttribute('aria-label')
@@ -219,7 +219,7 @@ export class SchmancyButton extends SchmancyElement {
219
219
 
220
220
  @property({ attribute: 'aria-label' })
221
221
  public override get ariaLabel() {
222
- return this._ariaLabel
222
+ return this.#ariaLabel
223
223
  }
224
224
 
225
225
  @queryAssignedElements({
@@ -293,7 +293,7 @@ export class SchmancyButton extends SchmancyElement {
293
293
  }
294
294
 
295
295
  // Prevent default behavior when the component is disabled.
296
- private _preventDefault(event: Event) {
296
+ private preventDefault(event: Event) {
297
297
  event.preventDefault()
298
298
  event.stopPropagation()
299
299
  }
@@ -429,7 +429,7 @@ export class SchmancyButton extends SchmancyElement {
429
429
  class="${this.classMap(classes)}"
430
430
  tabindex=${this.disabled ? '-1' : '0'}
431
431
  aria-disabled=${this.disabled}
432
- @click=${this.disabled ? this._preventDefault : undefined}
432
+ @click=${this.disabled ? this.preventDefault : undefined}
433
433
  >
434
434
  ${when(!this.disabled, () => html`<div class="${this.classMap(stateLayerClasses)}"></div>`)}
435
435
  <slot name="prefix"></slot>
@@ -1,5 +1,5 @@
1
1
  import { SchmancyElement } from '@mixins/index'
2
- import { css, html, LitElement, PropertyValueMap } from 'lit'
2
+ import { css, html, LitElement } from 'lit'
3
3
  import { customElement, property, query, state } from 'lit/decorators.js'
4
4
  import { ifDefined } from 'lit/directives/if-defined.js'
5
5
  import { when } from 'lit/directives/when.js'
@@ -50,7 +50,7 @@ export class SchmnacyIconButton extends SchmancyElement {
50
50
  @query('[part="base"]', true)
51
51
  private nativeElement!: HTMLElement
52
52
 
53
- private _ariaLabel!: string
53
+ #ariaLabel!: string
54
54
 
55
55
  /**
56
56
  * The size of the icon.
@@ -123,31 +123,31 @@ export class SchmnacyIconButton extends SchmancyElement {
123
123
  // no slotchange ever fires), or a nested <schmancy-icon> element.
124
124
  // `textContent` flattens through all three.
125
125
  @state()
126
- private _capturedIcon?: string
126
+ private capturedIcon?: string
127
127
 
128
- private _observer?: MutationObserver
128
+ private observer?: MutationObserver
129
129
 
130
130
  connectedCallback(): void {
131
131
  super.connectedCallback()
132
- this._captureIcon()
133
- this._observer = new MutationObserver(() => this._captureIcon())
134
- this._observer.observe(this, { childList: true, characterData: true, subtree: true })
132
+ this.captureIcon()
133
+ this.observer = new MutationObserver(() => this.captureIcon())
134
+ this.observer.observe(this, { childList: true, characterData: true, subtree: true })
135
135
  }
136
136
 
137
137
  disconnectedCallback(): void {
138
138
  super.disconnectedCallback()
139
- this._observer?.disconnect()
139
+ this.observer?.disconnect()
140
140
  }
141
141
 
142
- private _captureIcon(): void {
142
+ private captureIcon(): void {
143
143
  if (this.icon || this.text) return
144
- this._capturedIcon = this.textContent?.trim() || undefined
144
+ this.capturedIcon = this.textContent?.trim() || undefined
145
145
  }
146
146
 
147
147
  // Manage aria-label manually so that we can always use our internal property.
148
148
  public override set ariaLabel(value: string) {
149
- const oldVal = this._ariaLabel
150
- this._ariaLabel = value
149
+ const oldVal = this.#ariaLabel
150
+ this.#ariaLabel = value
151
151
 
152
152
  if (this.hasAttribute('aria-label')) {
153
153
  this.removeAttribute('aria-label')
@@ -157,7 +157,7 @@ export class SchmnacyIconButton extends SchmancyElement {
157
157
 
158
158
  @property({ attribute: 'aria-label' })
159
159
  public override get ariaLabel() {
160
- return this._ariaLabel
160
+ return this.#ariaLabel
161
161
  }
162
162
 
163
163
  /** Sets focus in the button. */
@@ -175,12 +175,12 @@ export class SchmnacyIconButton extends SchmancyElement {
175
175
  }
176
176
 
177
177
  // Prevent default behavior when the component is disabled.
178
- private _preventDefault(event: Event) {
178
+ private preventDefault(event: Event) {
179
179
  event.preventDefault()
180
180
  event.stopPropagation()
181
181
  }
182
182
 
183
- protected firstUpdated(_changedProperties: PropertyValueMap<unknown> | Map<PropertyKey, unknown>): void {
183
+ protected firstUpdated(): void {
184
184
  // Add any first-update logic here if needed.
185
185
  }
186
186
 
@@ -236,14 +236,14 @@ export class SchmnacyIconButton extends SchmancyElement {
236
236
  class="${this.classMap(classes)}"
237
237
  tabindex=${this.disabled ? '-1' : '0'}
238
238
  aria-disabled=${this.disabled}
239
- @click=${this.disabled ? this._preventDefault : undefined}
239
+ @click=${this.disabled ? this.preventDefault : undefined}
240
240
  >
241
241
  ${when(!this.disabled, () => html`<div class="absolute inset-0 ${this.classMap(stateLayerClasses)}"></div>`)}
242
242
  ${this.text
243
243
  ? html`<slot></slot>`
244
244
  : html`
245
245
  <slot style="display:none"></slot>
246
- <schmancy-icon class=${iconSizeClass}>${this.icon || this._capturedIcon}</schmancy-icon>
246
+ <schmancy-icon class=${iconSizeClass}>${this.icon || this.capturedIcon}</schmancy-icon>
247
247
  `
248
248
  }
249
249
  </a>
@@ -266,7 +266,7 @@ export class SchmnacyIconButton extends SchmancyElement {
266
266
  ? html`<slot></slot>`
267
267
  : html`
268
268
  <slot style="display:none"></slot>
269
- <schmancy-icon class=${iconSizeClass}>${this.icon || this._capturedIcon}</schmancy-icon>
269
+ <schmancy-icon class=${iconSizeClass}>${this.icon || this.capturedIcon}</schmancy-icon>
270
270
  `
271
271
  }
272
272
  </button>
package/src/card/card.ts CHANGED
@@ -156,18 +156,18 @@ export default class SchmancyCard extends SchmancyElement {
156
156
 
157
157
  connectedCallback() {
158
158
  super.connectedCallback()
159
- this._updateAriaAttributes()
159
+ this.updateAriaAttributes()
160
160
  }
161
161
 
162
162
  updated(changedProperties: Map<string, unknown>) {
163
163
  super.updated(changedProperties)
164
164
  if (changedProperties.has('interactive') || changedProperties.has('disabled')) {
165
- this._updateAriaAttributes()
165
+ this.updateAriaAttributes()
166
166
  }
167
167
  }
168
168
 
169
169
  // Consolidate ARIA attribute updates
170
- private _updateAriaAttributes() {
170
+ private updateAriaAttributes() {
171
171
  const isInteractive = this.interactive && !this.disabled
172
172
 
173
173
  if (isInteractive) {
@@ -184,7 +184,7 @@ export default class SchmancyCard extends SchmancyElement {
184
184
  }
185
185
 
186
186
  // Shared ripple creation logic
187
- private _addRipple(x: number, y: number) {
187
+ private addRipple(x: number, y: number) {
188
188
  const id = this.nextRippleId++
189
189
  this.ripples = [...this.ripples, { x, y, id }]
190
190
 
@@ -195,7 +195,7 @@ export default class SchmancyCard extends SchmancyElement {
195
195
  }
196
196
 
197
197
  // Shared navigation logic
198
- private _navigate() {
198
+ private navigate() {
199
199
  if (!this.href) return
200
200
 
201
201
  if (this.target === '_blank') {
@@ -206,9 +206,9 @@ export default class SchmancyCard extends SchmancyElement {
206
206
  }
207
207
 
208
208
  // Combined action trigger (ripple + navigate + event)
209
- private _triggerAction(x: number, y: number) {
210
- this._addRipple(x, y)
211
- this._navigate()
209
+ private triggerAction(x: number, y: number) {
210
+ this.addRipple(x, y)
211
+ this.navigate()
212
212
 
213
213
  this.dispatchEvent(
214
214
  new CustomEvent('schmancy-click', {
@@ -223,7 +223,7 @@ export default class SchmancyCard extends SchmancyElement {
223
223
  if (this.disabled || !this.interactive) return
224
224
 
225
225
  const rect = this.getBoundingClientRect()
226
- this._triggerAction(e.clientX - rect.left, e.clientY - rect.top)
226
+ this.triggerAction(e.clientX - rect.left, e.clientY - rect.top)
227
227
  }
228
228
 
229
229
  private handleKeyDown = (e: KeyboardEvent) => {
@@ -231,22 +231,22 @@ export default class SchmancyCard extends SchmancyElement {
231
231
 
232
232
  if (e.key === 'Enter' || e.key === ' ') {
233
233
  e.preventDefault()
234
- this._setPressed(true)
234
+ this.setPressed(true)
235
235
 
236
236
  // Simulate click at center
237
237
  const rect = this.getBoundingClientRect()
238
- this._triggerAction(rect.width / 2, rect.height / 2)
238
+ this.triggerAction(rect.width / 2, rect.height / 2)
239
239
  }
240
240
  }
241
241
 
242
242
  private handleKeyUp = (e: KeyboardEvent) => {
243
243
  if (e.key === 'Enter' || e.key === ' ') {
244
- this._setPressed(false)
244
+ this.setPressed(false)
245
245
  }
246
246
  }
247
247
 
248
248
  // Consolidate pressed state management
249
- private _setPressed(pressed: boolean) {
249
+ private setPressed(pressed: boolean) {
250
250
  this.pressed = pressed
251
251
  if (pressed) {
252
252
  this.setAttribute('pressed', '')
@@ -257,11 +257,11 @@ export default class SchmancyCard extends SchmancyElement {
257
257
 
258
258
  private handleMouseDown = () => {
259
259
  if (this.disabled || !this.interactive) return
260
- this._setPressed(true)
260
+ this.setPressed(true)
261
261
  }
262
262
 
263
- private handleMouseUp = () => this._setPressed(false)
264
- private handleMouseLeave = () => this._setPressed(false)
263
+ private handleMouseUp = () => this.setPressed(false)
264
+ private handleMouseLeave = () => this.setPressed(false)
265
265
 
266
266
  protected render() {
267
267
  const isInteractive = this.interactive && !this.disabled
@@ -139,7 +139,7 @@ export class SchmancyContentDrawer extends SchmancyElement {
139
139
  }
140
140
  }
141
141
 
142
- private _overlaySubscription: Subscription | null = null
142
+ private overlaySubscription: Subscription | null = null
143
143
 
144
144
  private handleRender(detail: TRenderCustomEvent['detail']) {
145
145
  if (this.mode === 'push') {
@@ -155,16 +155,16 @@ export class SchmancyContentDrawer extends SchmancyElement {
155
155
  // `show()` mounts the same component as a modal overlay; subscription
156
156
  // = lifecycle, so dropping the previous one closes any prior modal
157
157
  // before opening the next.
158
- this._overlaySubscription?.unsubscribe()
159
- this._overlaySubscription = show(detail.component, { props: detail.props })
158
+ this.overlaySubscription?.unsubscribe()
159
+ this.overlaySubscription = show(detail.component, { props: detail.props })
160
160
  .pipe(takeUntil(this.disconnecting))
161
- .subscribe({ complete: () => { this._overlaySubscription = null } })
161
+ .subscribe({ complete: () => { this.overlaySubscription = null } })
162
162
  }
163
163
  }
164
164
 
165
165
  private dismissOverlay() {
166
- this._overlaySubscription?.unsubscribe()
167
- this._overlaySubscription = null
166
+ this.overlaySubscription?.unsubscribe()
167
+ this.overlaySubscription = null
168
168
  }
169
169
 
170
170
  getOffsetTop(element: HTMLElement | null) {