@mhmo91/schmancy 0.10.37 → 0.10.39

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 (558) hide show
  1. package/custom-elements.json +39 -0
  2. package/dist/{SchmancyElement-CDT2q1lA.js → SchmancyElement-BNnyBOwk.js} +9 -7
  3. package/dist/{SchmancyElement-CDT2q1lA.js.map → SchmancyElement-BNnyBOwk.js.map} +1 -1
  4. package/dist/{SchmancyElement-BHfQg3Tj.cjs → SchmancyElement-C41uPa6l.cjs} +2 -2
  5. package/dist/{SchmancyElement-BHfQg3Tj.cjs.map → SchmancyElement-C41uPa6l.cjs.map} +1 -1
  6. package/dist/agent/schmancy.agent.js +2334 -2297
  7. package/dist/agent/schmancy.agent.js.map +1 -1
  8. package/dist/area-2FrTZI_T.cjs +21 -0
  9. package/dist/area-2FrTZI_T.cjs.map +1 -0
  10. package/dist/{area-KtULlxuA.js → area-KVDzhT4s.js} +4 -4
  11. package/dist/area-KVDzhT4s.js.map +1 -0
  12. package/dist/area.cjs +1 -1
  13. package/dist/area.js +2 -2
  14. package/dist/{audio-zIJVTo_V.js → audio-D3gnp15Y.js} +1 -1
  15. package/dist/{audio-zIJVTo_V.js.map → audio-D3gnp15Y.js.map} +1 -1
  16. package/dist/{audio-CUMAv9D_.cjs → audio-EaD0Ggfh.cjs} +1 -1
  17. package/dist/{audio-CUMAv9D_.cjs.map → audio-EaD0Ggfh.cjs.map} +1 -1
  18. package/dist/audio.cjs +1 -1
  19. package/dist/audio.js +2 -2
  20. package/dist/autocomplete-DMmxsvUe.cjs +115 -0
  21. package/dist/autocomplete-DMmxsvUe.cjs.map +1 -0
  22. package/dist/{autocomplete-DIScyo8Q.js → autocomplete-DWiEqlQf.js} +96 -96
  23. package/dist/autocomplete-DWiEqlQf.js.map +1 -0
  24. package/dist/autocomplete.cjs +1 -1
  25. package/dist/autocomplete.js +1 -1
  26. package/dist/avatar.cjs +1 -1
  27. package/dist/avatar.js +3 -3
  28. package/dist/badge.cjs +1 -1
  29. package/dist/badge.js +1 -1
  30. package/dist/{boat-OBZ77exO.cjs → boat-DsFJNfPH.cjs} +1 -1
  31. package/dist/{boat-OBZ77exO.cjs.map → boat-DsFJNfPH.cjs.map} +1 -1
  32. package/dist/{boat-BHPqSqJd.js → boat-fqodYt2n.js} +4 -4
  33. package/dist/{boat-BHPqSqJd.js.map → boat-fqodYt2n.js.map} +1 -1
  34. package/dist/boat.cjs +1 -1
  35. package/dist/boat.js +1 -1
  36. package/dist/breadcrumb.cjs +3 -3
  37. package/dist/breadcrumb.cjs.map +1 -1
  38. package/dist/breadcrumb.js +4 -4
  39. package/dist/breadcrumb.js.map +1 -1
  40. package/dist/{busy-BJNsKSCM.cjs → busy-Cj_PV7oC.cjs} +1 -1
  41. package/dist/{busy-BJNsKSCM.cjs.map → busy-Cj_PV7oC.cjs.map} +1 -1
  42. package/dist/{busy-Dut78y4L.js → busy-enYCTssB.js} +2 -2
  43. package/dist/{busy-Dut78y4L.js.map → busy-enYCTssB.js.map} +1 -1
  44. package/dist/busy.cjs +1 -1
  45. package/dist/busy.js +1 -1
  46. package/dist/button-B9RfBt-n.cjs +63 -0
  47. package/dist/button-B9RfBt-n.cjs.map +1 -0
  48. package/dist/{button-kcpPQavY.js → button-D6LJC-HC.js} +11 -9
  49. package/dist/button-D6LJC-HC.js.map +1 -0
  50. package/dist/button.cjs +7 -6
  51. package/dist/button.cjs.map +1 -1
  52. package/dist/button.js +18 -16
  53. package/dist/button.js.map +1 -1
  54. package/dist/{card-DxSKxCid.js → card-BHTz1GwB.js} +16 -16
  55. package/dist/card-BHTz1GwB.js.map +1 -0
  56. package/dist/{card-BLxPLqdQ.cjs → card-ThG_ZaQE.cjs} +3 -3
  57. package/dist/card-ThG_ZaQE.cjs.map +1 -0
  58. package/dist/card.cjs +1 -1
  59. package/dist/card.js +1 -1
  60. package/dist/{checkbox-BCLkhp5G.cjs → checkbox-C4zeib84.cjs} +2 -2
  61. package/dist/{checkbox-BCLkhp5G.cjs.map → checkbox-C4zeib84.cjs.map} +1 -1
  62. package/dist/{checkbox-B1wiM3Dv.js → checkbox-Ce0DlAdW.js} +6 -6
  63. package/dist/{checkbox-B1wiM3Dv.js.map → checkbox-Ce0DlAdW.js.map} +1 -1
  64. package/dist/checkbox.cjs +1 -1
  65. package/dist/checkbox.js +1 -1
  66. package/dist/{chips-vWmwqQed.js → chips-BoZSpSh_.js} +21 -19
  67. package/dist/chips-BoZSpSh_.js.map +1 -0
  68. package/dist/{chips-C9dS1WKn.cjs → chips-wfJ7YtWv.cjs} +4 -3
  69. package/dist/chips-wfJ7YtWv.cjs.map +1 -0
  70. package/dist/chips.cjs +1 -1
  71. package/dist/chips.js +2 -2
  72. package/dist/connectivity.cjs +1 -1
  73. package/dist/connectivity.js +3 -3
  74. package/dist/content-drawer.cjs +1 -1
  75. package/dist/content-drawer.js +1 -1
  76. package/dist/cursor-glow-Ah7VXSj7.js.map +1 -1
  77. package/dist/cursor-glow-Bulq-38P.cjs.map +1 -1
  78. package/dist/{date-range-BV6HuvLw.cjs → date-range-BHSzlwSL.cjs} +2 -2
  79. package/dist/date-range-BHSzlwSL.cjs.map +1 -0
  80. package/dist/{date-range-D3ge1b4c.js → date-range-DJrdpzev.js} +4 -4
  81. package/dist/date-range-DJrdpzev.js.map +1 -0
  82. package/dist/{date-range-inline-DpYgdLRv.cjs → date-range-inline-D0I6k84h.cjs} +1 -1
  83. package/dist/{date-range-inline-DpYgdLRv.cjs.map → date-range-inline-D0I6k84h.cjs.map} +1 -1
  84. package/dist/{date-range-inline-DuWQaWps.js → date-range-inline-DjRdMZ1z.js} +2 -2
  85. package/dist/{date-range-inline-DuWQaWps.js.map → date-range-inline-DjRdMZ1z.js.map} +1 -1
  86. package/dist/date-range-inline.cjs +1 -1
  87. package/dist/date-range-inline.js +1 -1
  88. package/dist/date-range.cjs +1 -1
  89. package/dist/date-range.js +1 -1
  90. package/dist/delay.cjs +1 -1
  91. package/dist/delay.js +2 -2
  92. package/dist/{details-C-GZaq3j.js → details-CY49XVfp.js} +43 -35
  93. package/dist/details-CY49XVfp.js.map +1 -0
  94. package/dist/details-DQNj2oaU.cjs +164 -0
  95. package/dist/details-DQNj2oaU.cjs.map +1 -0
  96. package/dist/details.cjs +1 -1
  97. package/dist/details.js +1 -1
  98. package/dist/{directives-D_l1E5H6.cjs → directives-Bb0S1DKZ.cjs} +3 -3
  99. package/dist/directives-Bb0S1DKZ.cjs.map +1 -0
  100. package/dist/{directives-DyS51FUh.js → directives-Bfm1lkoy.js} +6 -8
  101. package/dist/directives-Bfm1lkoy.js.map +1 -0
  102. package/dist/directives.cjs +1 -1
  103. package/dist/directives.js +2 -2
  104. package/dist/{divider-nQffE0AD.js → divider-BeyX_C0A.js} +2 -2
  105. package/dist/{divider-nQffE0AD.js.map → divider-BeyX_C0A.js.map} +1 -1
  106. package/dist/{divider-CBnAmHMZ.cjs → divider-Ck2C1sKl.cjs} +1 -1
  107. package/dist/{divider-CBnAmHMZ.cjs.map → divider-Ck2C1sKl.cjs.map} +1 -1
  108. package/dist/divider.cjs +1 -1
  109. package/dist/divider.js +1 -1
  110. package/dist/dropdown.cjs +1 -1
  111. package/dist/dropdown.js +2 -2
  112. package/dist/{expand-DvTb-UPR.js → expand-BYsSEtp6.js} +53 -53
  113. package/dist/expand-BYsSEtp6.js.map +1 -0
  114. package/dist/expand-CUF163mg.cjs +141 -0
  115. package/dist/expand-CUF163mg.cjs.map +1 -0
  116. package/dist/expand.cjs +1 -1
  117. package/dist/expand.js +1 -1
  118. package/dist/fab.cjs +2 -1
  119. package/dist/fab.cjs.map +1 -1
  120. package/dist/fab.js +3 -2
  121. package/dist/fab.js.map +1 -1
  122. package/dist/{float-C-Ko0Le3.js → float-Cgllk_H9.js} +2 -2
  123. package/dist/{float-C-Ko0Le3.js.map → float-Cgllk_H9.js.map} +1 -1
  124. package/dist/{float-C17xgMT1.cjs → float-OvqX0nqG.cjs} +1 -1
  125. package/dist/{float-C17xgMT1.cjs.map → float-OvqX0nqG.cjs.map} +1 -1
  126. package/dist/float.cjs +1 -1
  127. package/dist/float.js +1 -1
  128. package/dist/form-4GKROq2P.cjs +27 -0
  129. package/dist/form-4GKROq2P.cjs.map +1 -0
  130. package/dist/{form-DA0hUu2h.js → form-DxaV_Ose.js} +39 -39
  131. package/dist/form-DxaV_Ose.js.map +1 -0
  132. package/dist/form.cjs +3 -3
  133. package/dist/form.cjs.map +1 -1
  134. package/dist/form.js +34 -34
  135. package/dist/form.js.map +1 -1
  136. package/dist/gravity-6pL6CfIr.cjs.map +1 -1
  137. package/dist/gravity-sVK3zGBF.js.map +1 -1
  138. package/dist/handover/agent-runtime-followups.md +1 -1
  139. package/dist/handover/agent-runtime-v1.md +3 -3
  140. package/dist/{icons-C6UfxmHZ.js → icons-CJ2mXcBi.js} +9 -9
  141. package/dist/icons-CJ2mXcBi.js.map +1 -0
  142. package/dist/icons-sZ-LybA9.cjs +24 -0
  143. package/dist/icons-sZ-LybA9.cjs.map +1 -0
  144. package/dist/icons.cjs +1 -1
  145. package/dist/icons.js +1 -1
  146. package/dist/{iframe-BTjZfYyh.js → iframe-DWvN5nGB.js} +11 -11
  147. package/dist/iframe-DWvN5nGB.js.map +1 -0
  148. package/dist/{iframe-wuYT2xFz.cjs → iframe-DpCv-QH2.cjs} +7 -7
  149. package/dist/iframe-DpCv-QH2.cjs.map +1 -0
  150. package/dist/iframe.cjs +1 -1
  151. package/dist/iframe.js +1 -1
  152. package/dist/index.cjs +1 -1
  153. package/dist/index.js +35 -35
  154. package/dist/{input-B_4g2ulO.js → input-BCCHz6tB.js} +7 -7
  155. package/dist/input-BCCHz6tB.js.map +1 -0
  156. package/dist/{input-BrDiIT60.cjs → input-Z-3N5JMv.cjs} +2 -2
  157. package/dist/input-Z-3N5JMv.cjs.map +1 -0
  158. package/dist/{input-chip-BlWhOruv.js → input-chip-BOrcKH-H.js} +2 -2
  159. package/dist/{input-chip-BlWhOruv.js.map → input-chip-BOrcKH-H.js.map} +1 -1
  160. package/dist/{input-chip-B-XWh4aE.cjs → input-chip-ChAgRCXZ.cjs} +1 -1
  161. package/dist/{input-chip-B-XWh4aE.cjs.map → input-chip-ChAgRCXZ.cjs.map} +1 -1
  162. package/dist/input.cjs +1 -1
  163. package/dist/input.js +1 -1
  164. package/dist/json.cjs +1 -1
  165. package/dist/json.js +3 -3
  166. package/dist/kbd.cjs +1 -1
  167. package/dist/kbd.js +2 -2
  168. package/dist/{layout-Dxit9enO.js → layout-CFiG3lNT.js} +1 -1
  169. package/dist/{layout-Dxit9enO.js.map → layout-CFiG3lNT.js.map} +1 -1
  170. package/dist/{layout-BhyIcEVu.cjs → layout-DZ4dpLh9.cjs} +1 -1
  171. package/dist/{layout-BhyIcEVu.cjs.map → layout-DZ4dpLh9.cjs.map} +1 -1
  172. package/dist/layout.cjs +1 -1
  173. package/dist/layout.js +2 -2
  174. package/dist/lazy-BaAiIUru.js +19 -0
  175. package/dist/lazy-BaAiIUru.js.map +1 -0
  176. package/dist/lazy-C-7a4FAe.cjs +1 -0
  177. package/dist/lazy-C-7a4FAe.cjs.map +1 -0
  178. package/dist/{lightbox-D85XAAuC.js → lightbox-B7Y4Nij_.js} +2 -2
  179. package/dist/lightbox-B7Y4Nij_.js.map +1 -0
  180. package/dist/{lightbox-CVBogswK.cjs → lightbox-Dpwsn8Qr.cjs} +1 -1
  181. package/dist/lightbox-Dpwsn8Qr.cjs.map +1 -0
  182. package/dist/lightbox.cjs +1 -1
  183. package/dist/lightbox.js +1 -1
  184. package/dist/{list-nVjLskgx.cjs → list-BhM-6dAi.cjs} +1 -1
  185. package/dist/{list-nVjLskgx.cjs.map → list-BhM-6dAi.cjs.map} +1 -1
  186. package/dist/{list-DOF_yVn5.js → list-C5WVoIfJ.js} +2 -2
  187. package/dist/{list-DOF_yVn5.js.map → list-C5WVoIfJ.js.map} +1 -1
  188. package/dist/list.cjs +1 -1
  189. package/dist/list.js +1 -1
  190. package/dist/magnetic-DKtc4umC.cjs.map +1 -1
  191. package/dist/magnetic-DaOOv5Dz.js.map +1 -1
  192. package/dist/{menu-QrAK5Uu9.js → menu-Dvi_tQgH.js} +3 -3
  193. package/dist/{menu-QrAK5Uu9.js.map → menu-Dvi_tQgH.js.map} +1 -1
  194. package/dist/{menu-DqmNjLgY.cjs → menu-GZARYp6I.cjs} +1 -1
  195. package/dist/{menu-DqmNjLgY.cjs.map → menu-GZARYp6I.cjs.map} +1 -1
  196. package/dist/menu.cjs +1 -1
  197. package/dist/menu.js +1 -1
  198. package/dist/{mixins-De1zjyhy.js → mixins-DGBI7YPO.js} +11 -11
  199. package/dist/mixins-DGBI7YPO.js.map +1 -0
  200. package/dist/{mixins-DxHpyMHA.cjs → mixins-fIpzhVMd.cjs} +1 -1
  201. package/dist/mixins-fIpzhVMd.cjs.map +1 -0
  202. package/dist/mixins.cjs +1 -1
  203. package/dist/mixins.js +2 -2
  204. package/dist/nav-drawer.cjs +1 -1
  205. package/dist/nav-drawer.js +1 -1
  206. package/dist/navigation-bar.cjs +1 -1
  207. package/dist/navigation-bar.js +1 -1
  208. package/dist/navigation-rail.cjs +3 -3
  209. package/dist/navigation-rail.cjs.map +1 -1
  210. package/dist/navigation-rail.js +11 -10
  211. package/dist/navigation-rail.js.map +1 -1
  212. package/dist/notification-B6yDL91t.cjs +24 -0
  213. package/dist/notification-B6yDL91t.cjs.map +1 -0
  214. package/dist/{notification-BtAK7NK8.js → notification-BB9OBRCr.js} +22 -22
  215. package/dist/notification-BB9OBRCr.js.map +1 -0
  216. package/dist/notification.cjs +1 -1
  217. package/dist/notification.js +1 -1
  218. package/dist/{option-DHwA0miA.js → option-B21ImL0k.js} +2 -2
  219. package/dist/{option-DHwA0miA.js.map → option-B21ImL0k.js.map} +1 -1
  220. package/dist/{option-DnSPa8ro.cjs → option-CJQM5I9q.cjs} +1 -1
  221. package/dist/{option-DnSPa8ro.cjs.map → option-CJQM5I9q.cjs.map} +1 -1
  222. package/dist/option.cjs +1 -1
  223. package/dist/option.js +1 -1
  224. package/dist/{overlay-Del1sBEB.js → overlay-DwJWVyk2.js} +75 -67
  225. package/dist/overlay-DwJWVyk2.js.map +1 -0
  226. package/dist/overlay-N0trD-4u.cjs +58 -0
  227. package/dist/overlay-N0trD-4u.cjs.map +1 -0
  228. package/dist/overlay.cjs +1 -1
  229. package/dist/{overlay.confirm-body-BV9umTAl.cjs → overlay.confirm-body-CtXIi421.cjs} +3 -3
  230. package/dist/overlay.confirm-body-CtXIi421.cjs.map +1 -0
  231. package/dist/{overlay.confirm-body-DSONXUzl.js → overlay.confirm-body-DwzKhXxM.js} +10 -10
  232. package/dist/overlay.confirm-body-DwzKhXxM.js.map +1 -0
  233. package/dist/overlay.js +4 -4
  234. package/dist/{overlay.service-BTp5Oq7f.js → overlay.service-BDLi0p5M.js} +4 -4
  235. package/dist/{overlay.service-BTp5Oq7f.js.map → overlay.service-BDLi0p5M.js.map} +1 -1
  236. package/dist/overlay.service-Dbu5uP9E.cjs +1 -0
  237. package/dist/{overlay.service-XLlrsSdA.cjs.map → overlay.service-Dbu5uP9E.cjs.map} +1 -1
  238. package/dist/{progress-DUbTL9g9.cjs → progress-B-Qg44XY.cjs} +1 -1
  239. package/dist/{progress-DUbTL9g9.cjs.map → progress-B-Qg44XY.cjs.map} +1 -1
  240. package/dist/{progress-DYA83CFU.js → progress-CUSS1sNz.js} +2 -2
  241. package/dist/{progress-DYA83CFU.js.map → progress-CUSS1sNz.js.map} +1 -1
  242. package/dist/progress.cjs +1 -1
  243. package/dist/progress.js +1 -1
  244. package/dist/{radio-group-DxX0iJBo.js → radio-group-AHLvrN8O.js} +7 -7
  245. package/dist/radio-group-AHLvrN8O.js.map +1 -0
  246. package/dist/{radio-group-B-ORNtvR.cjs → radio-group-BEtvCSS1.cjs} +2 -2
  247. package/dist/radio-group-BEtvCSS1.cjs.map +1 -0
  248. package/dist/radio-group.cjs +1 -1
  249. package/dist/radio-group.js +1 -1
  250. package/dist/range.cjs +1 -1
  251. package/dist/range.js +2 -2
  252. package/dist/select-BWpV2iv-.cjs +56 -0
  253. package/dist/select-BWpV2iv-.cjs.map +1 -0
  254. package/dist/{select-C7gkA-ab.js → select-Cawz88lG.js} +46 -46
  255. package/dist/select-Cawz88lG.js.map +1 -0
  256. package/dist/select.cjs +1 -1
  257. package/dist/select.js +1 -1
  258. package/dist/skeleton.cjs +1 -1
  259. package/dist/skeleton.js +2 -2
  260. package/dist/skills/SKILL.md +9 -0
  261. package/dist/skills/overlay.md +14 -7
  262. package/dist/skills/schmancy/SKILL.md +9 -0
  263. package/dist/skills/schmancy/overlay.md +14 -7
  264. package/dist/slider.cjs +1 -1
  265. package/dist/slider.js +2 -2
  266. package/dist/{sound.service-O0232os6.js → sound.service-CK-5zob-.js} +4 -3
  267. package/dist/sound.service-CK-5zob-.js.map +1 -0
  268. package/dist/{sound.service-C7FDY_yD.cjs → sound.service-D2GGaBXc.cjs} +1 -1
  269. package/dist/sound.service-D2GGaBXc.cjs.map +1 -0
  270. package/dist/{splash-screen-jfE47xl0.js → splash-screen-BUEtjHXC.js} +13 -13
  271. package/dist/splash-screen-BUEtjHXC.js.map +1 -0
  272. package/dist/{splash-screen-DIS4odDr.cjs → splash-screen-DqPuipox.cjs} +6 -6
  273. package/dist/splash-screen-DqPuipox.cjs.map +1 -0
  274. package/dist/splash-screen.cjs +1 -1
  275. package/dist/splash-screen.js +1 -1
  276. package/dist/{src-BP3h-9d9.js → src-8VJ7eluk.js} +46 -45
  277. package/dist/src-8VJ7eluk.js.map +1 -0
  278. package/dist/{src-Um_pzb-U.cjs → src-GJA8uSAS.cjs} +7 -6
  279. package/dist/src-GJA8uSAS.cjs.map +1 -0
  280. package/dist/{state-Bj0M9a6T.cjs → state-BxDNox-2.cjs} +1 -1
  281. package/dist/{state-Bj0M9a6T.cjs.map → state-BxDNox-2.cjs.map} +1 -1
  282. package/dist/{state-DscWQpoM.js → state-CnZCDMT0.js} +9 -9
  283. package/dist/{state-DscWQpoM.js.map → state-CnZCDMT0.js.map} +1 -1
  284. package/dist/state.cjs +1 -1
  285. package/dist/state.js +2 -2
  286. package/dist/steps.cjs +1 -1
  287. package/dist/steps.js +2 -2
  288. package/dist/{surface-B4Wn4SOO.js → surface-BMdG3dKQ.js} +2 -2
  289. package/dist/{surface-B4Wn4SOO.js.map → surface-BMdG3dKQ.js.map} +1 -1
  290. package/dist/{surface-DRq6cVW6.cjs → surface-CWwYD_z2.cjs} +1 -1
  291. package/dist/{surface-DRq6cVW6.cjs.map → surface-CWwYD_z2.cjs.map} +1 -1
  292. package/dist/surface.cjs +1 -1
  293. package/dist/surface.js +1 -1
  294. package/dist/switch.cjs +4 -4
  295. package/dist/switch.cjs.map +1 -1
  296. package/dist/switch.js +11 -11
  297. package/dist/switch.js.map +1 -1
  298. package/dist/table.cjs +1 -1
  299. package/dist/table.js +2 -2
  300. package/dist/{tabs-CnQPo-XS.js → tabs-CDQYDc6v.js} +2 -2
  301. package/dist/{tabs-CnQPo-XS.js.map → tabs-CDQYDc6v.js.map} +1 -1
  302. package/dist/{tabs-Ca_fbHPW.cjs → tabs-CbD9E1gd.cjs} +1 -1
  303. package/dist/{tabs-Ca_fbHPW.cjs.map → tabs-CbD9E1gd.cjs.map} +1 -1
  304. package/dist/tabs.cjs +1 -1
  305. package/dist/tabs.js +1 -1
  306. package/dist/teleport.cjs +1 -1
  307. package/dist/teleport.js +1 -1
  308. package/dist/textarea-Brgi-vD2.cjs +43 -0
  309. package/dist/textarea-Brgi-vD2.cjs.map +1 -0
  310. package/dist/{textarea-BvqENhTW.js → textarea-MPyrMi-S.js} +4 -4
  311. package/dist/textarea-MPyrMi-S.js.map +1 -0
  312. package/dist/textarea.cjs +1 -1
  313. package/dist/textarea.js +1 -1
  314. package/dist/{theme-BSwJ2YZo.cjs → theme-BMbXoqi0.cjs} +1 -1
  315. package/dist/{theme-BSwJ2YZo.cjs.map → theme-BMbXoqi0.cjs.map} +1 -1
  316. package/dist/{theme-BV0EzHQ1.js → theme-DZu-xmVp.js} +5 -5
  317. package/dist/{theme-BV0EzHQ1.js.map → theme-DZu-xmVp.js.map} +1 -1
  318. package/dist/{theme-button-C6fpUzPM.cjs → theme-button-B0OLb-43.cjs} +1 -1
  319. package/dist/{theme-button-C6fpUzPM.cjs.map → theme-button-B0OLb-43.cjs.map} +1 -1
  320. package/dist/{theme-button-O_xNCgI7.js → theme-button-D_qGvEYs.js} +2 -2
  321. package/dist/{theme-button-O_xNCgI7.js.map → theme-button-D_qGvEYs.js.map} +1 -1
  322. package/dist/theme-button.cjs +1 -1
  323. package/dist/theme-button.js +1 -1
  324. package/dist/theme.cjs +1 -1
  325. package/dist/theme.js +3 -3
  326. package/dist/{theme.service-DwLhhOmP.js → theme.service-7VkM-hVf.js} +15 -11
  327. package/dist/theme.service-7VkM-hVf.js.map +1 -0
  328. package/dist/theme.service-B15FdjOS.cjs +1 -0
  329. package/dist/theme.service-B15FdjOS.cjs.map +1 -0
  330. package/dist/tree.cjs +4 -4
  331. package/dist/tree.cjs.map +1 -1
  332. package/dist/tree.js +8 -8
  333. package/dist/tree.js.map +1 -1
  334. package/dist/{typography-opFYuUYS.cjs → typography-D4Fo1UGh.cjs} +3 -3
  335. package/dist/{typography-opFYuUYS.cjs.map → typography-D4Fo1UGh.cjs.map} +1 -1
  336. package/dist/{typography-Dtdooaic.js → typography-SZhjb_4R.js} +9 -9
  337. package/dist/{typography-Dtdooaic.js.map → typography-SZhjb_4R.js.map} +1 -1
  338. package/dist/typography.cjs +1 -1
  339. package/dist/typography.js +1 -1
  340. package/dist/visually-hidden.cjs +1 -1
  341. package/dist/visually-hidden.js +2 -2
  342. package/dist/{window-ConcHirJ.js → window-BDVyrBnk.js} +101 -100
  343. package/dist/window-BDVyrBnk.js.map +1 -0
  344. package/dist/window-BbBYjm7R.cjs +59 -0
  345. package/dist/window-BbBYjm7R.cjs.map +1 -0
  346. package/dist/window.cjs +1 -1
  347. package/dist/window.js +1 -1
  348. package/package.json +1 -1
  349. package/skills/schmancy/SKILL.md +9 -0
  350. package/skills/schmancy/overlay.md +14 -7
  351. package/src/area/area.component.ts +1 -1
  352. package/src/area/area.service.test.ts +2 -2
  353. package/src/area/area.service.ts +1 -1
  354. package/src/area/lazy.ts +87 -83
  355. package/src/audio/sound.service.ts +3 -3
  356. package/src/badge/badge.ts +1 -0
  357. package/src/breadcrumb/breadcrumb.ts +2 -2
  358. package/src/button/button.ts +12 -11
  359. package/src/button/icon-button.ts +19 -18
  360. package/src/card/card.ts +16 -16
  361. package/src/content-drawer/drawer.ts +6 -6
  362. package/src/details/details.ts +55 -55
  363. package/src/directives/ai-badge.ts +2 -1
  364. package/src/directives/animate-text.ts +2 -1
  365. package/src/directives/art/art.directive.ts +2 -1
  366. package/src/directives/battery.ts +2 -1
  367. package/src/directives/confirm-click.ts +5 -3
  368. package/src/directives/cursor-glow.ts +2 -1
  369. package/src/directives/cycle-text.ts +2 -1
  370. package/src/directives/depth-of-field.ts +2 -1
  371. package/src/directives/drag.ts +4 -2
  372. package/src/directives/fyi.ts +2 -1
  373. package/src/directives/gravity.ts +2 -1
  374. package/src/directives/hummingbird.ts +2 -1
  375. package/src/directives/intersect.ts +3 -2
  376. package/src/directives/liquid.ts +2 -1
  377. package/src/directives/living-border.ts +2 -1
  378. package/src/directives/long-press.ts +2 -1
  379. package/src/directives/magnetic.ts +2 -1
  380. package/src/directives/missed-punch.ts +2 -1
  381. package/src/directives/nebula.ts +6 -5
  382. package/src/directives/overflow-within.ts +2 -1
  383. package/src/directives/reveal.ts +2 -1
  384. package/src/directives/urgent.ts +2 -1
  385. package/src/directives/working-snake.ts +2 -1
  386. package/src/expand/expand-root.component.ts +27 -27
  387. package/src/expand/expand.component.ts +48 -48
  388. package/src/fab/fab.ts +1 -0
  389. package/src/form/fields/autocomplete/autocomplete.ts +154 -154
  390. package/src/form/fields/checkbox/checkbox.ts +4 -4
  391. package/src/form/fields/chips/chips.ts +2 -2
  392. package/src/form/fields/chips/filter-chip.ts +16 -15
  393. package/src/form/fields/date-range/date-range.ts +2 -2
  394. package/src/form/fields/input/input.ts +12 -12
  395. package/src/form/fields/radio-group/radio-button.ts +2 -2
  396. package/src/form/fields/radio-group/radio-group.ts +3 -3
  397. package/src/form/fields/select/select.ts +56 -56
  398. package/src/form/fields/switch/switch.ts +10 -10
  399. package/src/form/fields/textarea/textarea.ts +2 -2
  400. package/src/form/form-summary.ts +33 -33
  401. package/src/form/form.ts +45 -45
  402. package/src/icons/icon.ts +10 -8
  403. package/src/iframe/iframe.ts +11 -11
  404. package/src/lightbox/flip-directive.ts +2 -1
  405. package/src/lightbox/lightbox.directive.ts +2 -1
  406. package/src/nav-drawer/navbar.ts +3 -3
  407. package/src/navigation-rail/navigation-rail.ts +10 -10
  408. package/src/notification/notification.ts +22 -22
  409. package/src/overlay/overlay.component.ts +106 -83
  410. package/src/overlay/overlay.confirm-body.ts +4 -4
  411. package/src/overlay/overlay.service.ts +3 -3
  412. package/src/overlay/overlay.types.ts +4 -2
  413. package/src/splash-screen/splash-screen.ts +11 -11
  414. package/src/state/index.ts +12 -12
  415. package/src/state/schmancy-context.ts +9 -9
  416. package/src/teleport/teleport.component.ts +2 -2
  417. package/src/theme/theme.service.ts +17 -17
  418. package/src/tree/tree.ts +7 -7
  419. package/src/typography/typography.ts +7 -7
  420. package/src/window/window-manager.ts +20 -20
  421. package/src/window/window.ts +100 -100
  422. package/types/mixins/SchmancyElement.d.ts +3 -2
  423. package/types/mixins/formField.mixin.d.ts +1 -1
  424. package/types/src/area/area.service.d.ts +1 -1
  425. package/types/src/area/lazy.d.ts +0 -6
  426. package/types/src/audio/sound.service.d.ts +1 -2
  427. package/types/src/breadcrumb/breadcrumb.d.ts +1 -1
  428. package/types/src/button/button.d.ts +3 -3
  429. package/types/src/button/icon-button.d.ts +6 -7
  430. package/types/src/card/card.d.ts +5 -5
  431. package/types/src/content-drawer/drawer.d.ts +1 -1
  432. package/types/src/details/details.d.ts +2 -21
  433. package/types/src/directives/ai-badge.d.ts +2 -2
  434. package/types/src/directives/animate-text.d.ts +2 -2
  435. package/types/src/directives/art/art.directive.d.ts +2 -2
  436. package/types/src/directives/battery.d.ts +2 -2
  437. package/types/src/directives/confirm-click.d.ts +2 -2
  438. package/types/src/directives/cursor-glow.d.ts +2 -2
  439. package/types/src/directives/cycle-text.d.ts +2 -2
  440. package/types/src/directives/depth-of-field.d.ts +2 -2
  441. package/types/src/directives/drag.d.ts +4 -4
  442. package/types/src/directives/fyi.d.ts +2 -2
  443. package/types/src/directives/gravity.d.ts +2 -2
  444. package/types/src/directives/hummingbird.d.ts +2 -2
  445. package/types/src/directives/intersect.d.ts +2 -2
  446. package/types/src/directives/liquid.d.ts +2 -2
  447. package/types/src/directives/living-border.d.ts +2 -2
  448. package/types/src/directives/long-press.d.ts +2 -2
  449. package/types/src/directives/magnetic.d.ts +2 -2
  450. package/types/src/directives/missed-punch.d.ts +2 -2
  451. package/types/src/directives/nebula.d.ts +2 -2
  452. package/types/src/directives/overflow-within.d.ts +2 -2
  453. package/types/src/directives/reveal.d.ts +2 -2
  454. package/types/src/directives/urgent.d.ts +2 -2
  455. package/types/src/directives/working-snake.d.ts +2 -2
  456. package/types/src/expand/expand-root.component.d.ts +8 -8
  457. package/types/src/expand/expand.component.d.ts +11 -11
  458. package/types/src/form/fields/autocomplete/autocomplete.d.ts +29 -29
  459. package/types/src/form/fields/checkbox/checkbox.d.ts +1 -1
  460. package/types/src/form/fields/chips/chips.d.ts +1 -1
  461. package/types/src/form/fields/chips/filter-chip.d.ts +1 -2
  462. package/types/src/form/fields/input/input.d.ts +3 -3
  463. package/types/src/form/fields/radio-group/radio-button.d.ts +1 -1
  464. package/types/src/form/fields/radio-group/radio-group.d.ts +1 -1
  465. package/types/src/form/fields/select/select.d.ts +8 -8
  466. package/types/src/form/fields/switch/switch.d.ts +3 -3
  467. package/types/src/form/fields/textarea/textarea.d.ts +1 -1
  468. package/types/src/form/form-summary.d.ts +7 -7
  469. package/types/src/form/form.d.ts +11 -11
  470. package/types/src/icons/icon.d.ts +2 -2
  471. package/types/src/iframe/iframe.d.ts +3 -3
  472. package/types/src/lightbox/flip-directive.d.ts +2 -2
  473. package/types/src/lightbox/lightbox.directive.d.ts +2 -2
  474. package/types/src/nav-drawer/navbar.d.ts +1 -1
  475. package/types/src/navigation-rail/navigation-rail.d.ts +2 -2
  476. package/types/src/notification/notification.d.ts +8 -8
  477. package/types/src/overlay/overlay.component.d.ts +16 -16
  478. package/types/src/overlay/overlay.confirm-body.d.ts +1 -1
  479. package/types/src/overlay/overlay.types.d.ts +4 -2
  480. package/types/src/splash-screen/splash-screen.d.ts +2 -2
  481. package/types/src/state/index.d.ts +1 -1
  482. package/types/src/state/schmancy-context.d.ts +3 -3
  483. package/types/src/teleport/teleport.component.d.ts +1 -1
  484. package/types/src/theme/theme.service.d.ts +1 -4
  485. package/types/src/tree/tree.d.ts +3 -3
  486. package/types/src/typography/typography.d.ts +1 -1
  487. package/types/src/window/window-manager.d.ts +2 -2
  488. package/types/src/window/window.d.ts +20 -20
  489. package/dist/area-KtULlxuA.js.map +0 -1
  490. package/dist/area-fdKhYB6T.cjs +0 -21
  491. package/dist/area-fdKhYB6T.cjs.map +0 -1
  492. package/dist/autocomplete-DEZk6wBD.cjs +0 -115
  493. package/dist/autocomplete-DEZk6wBD.cjs.map +0 -1
  494. package/dist/autocomplete-DIScyo8Q.js.map +0 -1
  495. package/dist/button-DzlHLjWO.cjs +0 -62
  496. package/dist/button-DzlHLjWO.cjs.map +0 -1
  497. package/dist/button-kcpPQavY.js.map +0 -1
  498. package/dist/card-BLxPLqdQ.cjs.map +0 -1
  499. package/dist/card-DxSKxCid.js.map +0 -1
  500. package/dist/chips-C9dS1WKn.cjs.map +0 -1
  501. package/dist/chips-vWmwqQed.js.map +0 -1
  502. package/dist/date-range-BV6HuvLw.cjs.map +0 -1
  503. package/dist/date-range-D3ge1b4c.js.map +0 -1
  504. package/dist/details-C-GZaq3j.js.map +0 -1
  505. package/dist/details-Dp5rLIWk.cjs +0 -164
  506. package/dist/details-Dp5rLIWk.cjs.map +0 -1
  507. package/dist/directives-D_l1E5H6.cjs.map +0 -1
  508. package/dist/directives-DyS51FUh.js.map +0 -1
  509. package/dist/expand-DvTb-UPR.js.map +0 -1
  510. package/dist/expand-mlP_3XWz.cjs +0 -141
  511. package/dist/expand-mlP_3XWz.cjs.map +0 -1
  512. package/dist/form-CwPHcQYB.cjs +0 -27
  513. package/dist/form-CwPHcQYB.cjs.map +0 -1
  514. package/dist/form-DA0hUu2h.js.map +0 -1
  515. package/dist/icons-C6UfxmHZ.js.map +0 -1
  516. package/dist/icons-CW3-oMSb.cjs +0 -24
  517. package/dist/icons-CW3-oMSb.cjs.map +0 -1
  518. package/dist/iframe-BTjZfYyh.js.map +0 -1
  519. package/dist/iframe-wuYT2xFz.cjs.map +0 -1
  520. package/dist/input-B_4g2ulO.js.map +0 -1
  521. package/dist/input-BrDiIT60.cjs.map +0 -1
  522. package/dist/lazy-CayEFyC3.cjs +0 -1
  523. package/dist/lazy-CayEFyC3.cjs.map +0 -1
  524. package/dist/lazy-D-bO2r4m.js +0 -13
  525. package/dist/lazy-D-bO2r4m.js.map +0 -1
  526. package/dist/lightbox-CVBogswK.cjs.map +0 -1
  527. package/dist/lightbox-D85XAAuC.js.map +0 -1
  528. package/dist/mixins-De1zjyhy.js.map +0 -1
  529. package/dist/mixins-DxHpyMHA.cjs.map +0 -1
  530. package/dist/notification-BtAK7NK8.js.map +0 -1
  531. package/dist/notification-DYzbUb5C.cjs +0 -24
  532. package/dist/notification-DYzbUb5C.cjs.map +0 -1
  533. package/dist/overlay-BVkqZmoS.cjs +0 -58
  534. package/dist/overlay-BVkqZmoS.cjs.map +0 -1
  535. package/dist/overlay-Del1sBEB.js.map +0 -1
  536. package/dist/overlay.confirm-body-BV9umTAl.cjs.map +0 -1
  537. package/dist/overlay.confirm-body-DSONXUzl.js.map +0 -1
  538. package/dist/overlay.service-XLlrsSdA.cjs +0 -1
  539. package/dist/radio-group-B-ORNtvR.cjs.map +0 -1
  540. package/dist/radio-group-DxX0iJBo.js.map +0 -1
  541. package/dist/select-B9uj_u-s.cjs +0 -56
  542. package/dist/select-B9uj_u-s.cjs.map +0 -1
  543. package/dist/select-C7gkA-ab.js.map +0 -1
  544. package/dist/sound.service-C7FDY_yD.cjs.map +0 -1
  545. package/dist/sound.service-O0232os6.js.map +0 -1
  546. package/dist/splash-screen-DIS4odDr.cjs.map +0 -1
  547. package/dist/splash-screen-jfE47xl0.js.map +0 -1
  548. package/dist/src-BP3h-9d9.js.map +0 -1
  549. package/dist/src-Um_pzb-U.cjs.map +0 -1
  550. package/dist/textarea-BvqENhTW.js.map +0 -1
  551. package/dist/textarea-qr7oL8oU.cjs +0 -43
  552. package/dist/textarea-qr7oL8oU.cjs.map +0 -1
  553. package/dist/theme.service-DwLhhOmP.js.map +0 -1
  554. package/dist/theme.service-kn9MC025.cjs +0 -1
  555. package/dist/theme.service-kn9MC025.cjs.map +0 -1
  556. package/dist/window-BSAemI9J.cjs +0 -59
  557. package/dist/window-BSAemI9J.cjs.map +0 -1
  558. package/dist/window-ConcHirJ.js.map +0 -1
@@ -60,18 +60,18 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
60
60
  /** Override mixin's resetForm with autocomplete-specific subject reset. */
61
61
  override resetForm(): void {
62
62
  if (this.multi) {
63
- this._selectedValues$.next([])
63
+ this.selectedValues$.next([])
64
64
  } else {
65
- this._selectedValue$.next('')
65
+ this.selectedValue$.next('')
66
66
  }
67
- this._inputValue = ''
68
- this._inputValue$.next('')
67
+ this.inputValue = ''
68
+ this.inputValue$.next('')
69
69
  super.resetForm()
70
70
  }
71
71
 
72
72
  // Track whether value/values have been explicitly set
73
- _valueSet: boolean = false
74
- _valuesSet: boolean = false
73
+ valueSet: boolean = false
74
+ valuesSet: boolean = false
75
75
 
76
76
  // Autocomplete-specific properties only — `name`, `label`, `required`,
77
77
  // `error`, `validationMessage` come from the mixin.
@@ -84,76 +84,76 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
84
84
  @property({ type: Number }) debounceMs = 200
85
85
  @property({ type: Number }) similarityThreshold = 0.3 // Minimum similarity score to show option
86
86
 
87
- private readonly _a11yId = `schmancy-autocomplete-${Math.random().toString(36).slice(2, 10)}`
87
+ private readonly a11yId = `schmancy-autocomplete-${Math.random().toString(36).slice(2, 10)}`
88
88
 
89
89
  // Values property for multi-select mode
90
90
  @property({ type: Array })
91
91
  get values() {
92
- return [...this._selectedValues$.value]
92
+ return [...this.selectedValues$.value]
93
93
  }
94
94
  set values(vals: string[]) {
95
- this._valuesSet = true
96
- this._selectedValues$.next(Array.isArray(vals) ? [...vals] : [])
95
+ this.valuesSet = true
96
+ this.selectedValues$.next(Array.isArray(vals) ? [...vals] : [])
97
97
  }
98
98
 
99
99
  // Value property — narrowed override of the mixin's wide value union.
100
100
  @property({ type: String, reflect: true })
101
101
  override get value(): string {
102
102
  return this.multi
103
- ? this._selectedValues$.value.join(',')
104
- : this._selectedValue$.value
103
+ ? this.selectedValues$.value.join(',')
104
+ : this.selectedValue$.value
105
105
  }
106
106
  override set value(val: string) {
107
- this._valueSet = true
107
+ this.valueSet = true
108
108
  if (this.multi) {
109
109
  const newValues = val ? val.split(',').map(v => v.trim()).filter(Boolean) : []
110
- const currentValues = this._selectedValues$.value
110
+ const currentValues = this.selectedValues$.value
111
111
  // Only update if values actually changed
112
112
  if (JSON.stringify(newValues) !== JSON.stringify(currentValues)) {
113
- this._selectedValues$.next(newValues)
113
+ this.selectedValues$.next(newValues)
114
114
  }
115
115
  } else {
116
116
  // Only update if value actually changed
117
- if (val !== this._selectedValue$.value) {
118
- this._selectedValue$.next(val)
117
+ if (val !== this.selectedValue$.value) {
118
+ this.selectedValue$.next(val)
119
119
  // Update the input display when value is set
120
- this._updateInputDisplay()
120
+ this.updateInputDisplay()
121
121
  }
122
122
  }
123
123
  }
124
124
 
125
125
  // State
126
- @state() private _open = false
127
- @state() private _inputValue = ''
128
- @state() private _visibleOptionsCount = 0
129
- @state() private _hasResults = true
126
+ @state() private open = false
127
+ @state() private inputValue = ''
128
+ @state() private visibleOptionsCount = 0
129
+ @state() private hasResults = true
130
130
 
131
131
  // DOM references
132
- @query('#options') _listbox!: HTMLUListElement
133
- @query('sch-input') _input!: SchmancyInput
134
- @queryAssignedElements({ flatten: true }) private _options!: SchmancyOption[]
135
- private _inputElementRef = createRef<HTMLInputElement>()
132
+ @query('#options') listbox!: HTMLUListElement
133
+ @query('sch-input') input!: SchmancyInput
134
+ @queryAssignedElements({ flatten: true }) private options!: SchmancyOption[]
135
+ private inputElementRef = createRef<HTMLInputElement>()
136
136
 
137
137
  // RxJS Subjects - only what we actually need
138
- private _selectedValue$ = new BehaviorSubject<string>('')
139
- private _selectedValues$ = new BehaviorSubject<string[]>([])
140
- private _inputValue$ = new BehaviorSubject<string>('')
138
+ private selectedValue$ = new BehaviorSubject<string>('')
139
+ private selectedValues$ = new BehaviorSubject<string[]>([])
140
+ private inputValue$ = new BehaviorSubject<string>('')
141
141
 
142
142
  override connectedCallback() {
143
143
  // FIELD_CONNECT_EVENT is dispatched by the mixin's connectedCallback.
144
144
  super.connectedCallback()
145
- this._setupAutocompleteLogic()
146
- this._setupDocumentClickHandler()
145
+ this.setupAutocompleteLogic()
146
+ this.setupDocumentClickHandler()
147
147
  }
148
148
 
149
- private _setupAutocompleteLogic() {
149
+ private setupAutocompleteLogic() {
150
150
  // Sync selection state
151
151
  combineLatest([
152
- this._selectedValue$,
153
- this._selectedValues$
152
+ this.selectedValue$,
153
+ this.selectedValues$
154
154
  ]).pipe(
155
155
  tap(([selectedValue, selectedValues]) => {
156
- this._updateOptionSelection(selectedValue, selectedValues)
156
+ this.updateOptionSelection(selectedValue, selectedValues)
157
157
  // Keep ElementInternals form value in sync with selection (single and multi).
158
158
  const formValue = this.multi ? selectedValues.join(',') : selectedValue
159
159
  this.internals?.setFormValue(formValue || null)
@@ -169,20 +169,20 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
169
169
  ).subscribe()
170
170
 
171
171
  // Filter options based on input
172
- this._inputValue$.pipe(
172
+ this.inputValue$.pipe(
173
173
  distinctUntilChanged(),
174
174
  debounceTime(this.debounceMs),
175
175
  tap(searchTerm => {
176
- if (this._open) {
177
- this._filterOptions(searchTerm)
176
+ if (this.open) {
177
+ this.filterOptions(searchTerm)
178
178
  }
179
179
  }),
180
180
  takeUntil(this.disconnecting)
181
181
  ).subscribe()
182
182
  }
183
183
 
184
- private _setupOptionHandlers() {
185
- this._options.forEach((option, index) => {
184
+ private setupOptionHandlers() {
185
+ this.options.forEach((option, index) => {
186
186
  option.setAttribute('role', 'option')
187
187
  option.tabIndex = -1
188
188
  if (!option.id) {
@@ -203,13 +203,13 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
203
203
  .pipe(takeUntil(this.disconnecting))
204
204
  .subscribe(e => {
205
205
  e.stopPropagation()
206
- this._selectOption(option)
206
+ this.selectOption(option)
207
207
  })
208
208
  })
209
209
  }
210
210
 
211
- private _updateOptionSelection(selectedValue: string, selectedValues: string[]) {
212
- this._options.forEach(option => {
211
+ private updateOptionSelection(selectedValue: string, selectedValues: string[]) {
212
+ this.options.forEach(option => {
213
213
  option.selected = this.multi
214
214
  ? selectedValues.includes(option.value)
215
215
  : option.value === selectedValue
@@ -217,20 +217,20 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
217
217
  })
218
218
  }
219
219
 
220
- private _filterOptions(searchTerm: string) {
220
+ private filterOptions(searchTerm: string) {
221
221
  const term = searchTerm.trim()
222
222
 
223
223
  if (!term) {
224
224
  // Show all options if no search term
225
- this._options.forEach(option => {
225
+ this.options.forEach(option => {
226
226
  option.hidden = false
227
227
  option.style.order = '0'
228
228
  })
229
- this._visibleOptionsCount = this._options.length
230
- this._hasResults = true
229
+ this.visibleOptionsCount = this.options.length
230
+ this.hasResults = true
231
231
  } else {
232
232
  // Calculate similarity scores for all options
233
- const scoredOptions: FilteredOption[] = this._options.map(option => {
233
+ const scoredOptions: FilteredOption[] = this.options.map(option => {
234
234
  const optionLabel = option.label || option.textContent || ''
235
235
  const optionValue = option.value
236
236
 
@@ -258,108 +258,108 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
258
258
  }
259
259
  })
260
260
 
261
- this._visibleOptionsCount = visibleCount
262
- this._hasResults = visibleCount > 0
261
+ this.visibleOptionsCount = visibleCount
262
+ this.hasResults = visibleCount > 0
263
263
  }
264
264
 
265
- this._announceToScreenReader(
266
- this._visibleOptionsCount > 0
267
- ? `${this._visibleOptionsCount} option${this._visibleOptionsCount === 1 ? '' : 's'} available.`
265
+ this.announceToScreenReader(
266
+ this.visibleOptionsCount > 0
267
+ ? `${this.visibleOptionsCount} option${this.visibleOptionsCount === 1 ? '' : 's'} available.`
268
268
  : 'No results found.'
269
269
  )
270
270
  }
271
271
 
272
- private _openDropdown() {
273
- this._open = true
272
+ private openDropdown() {
273
+ this.open = true
274
274
  // Reset filters based on current input value when dropdown opens
275
- this._filterOptions(this._inputValue)
275
+ this.filterOptions(this.inputValue)
276
276
  }
277
277
 
278
- private _selectOption(option: SchmancyOption) {
278
+ private selectOption(option: SchmancyOption) {
279
279
  if (this.multi) {
280
- const currentValues = this._selectedValues$.value
280
+ const currentValues = this.selectedValues$.value
281
281
  const index = currentValues.indexOf(option.value)
282
282
  const newValues = index > -1
283
283
  ? currentValues.filter(v => v !== option.value)
284
284
  : [...currentValues, option.value]
285
285
 
286
- this._selectedValues$.next(newValues)
287
- this._announceToScreenReader(
286
+ this.selectedValues$.next(newValues)
287
+ this.announceToScreenReader(
288
288
  newValues.length > 0
289
- ? `Selected: ${this._getSelectedLabels().join(', ')}`
289
+ ? `Selected: ${this.getSelectedLabels().join(', ')}`
290
290
  : 'No options selected'
291
291
  )
292
- this._fireChangeEvent()
292
+ this.fireChangeEvent()
293
293
  } else {
294
294
  // Update value first
295
- this._selectedValue$.next(option.value)
295
+ this.selectedValue$.next(option.value)
296
296
 
297
297
  // Close dropdown IMMEDIATELY to prevent blur handler from firing
298
- this._open = false
298
+ this.open = false
299
299
 
300
300
  // Now fire event with the NEW value
301
- this._fireChangeEvent()
301
+ this.fireChangeEvent()
302
302
 
303
303
  // Update UI
304
- this._inputValue = option.label || option.textContent || ''
305
- this._inputValue$.next(this._inputValue)
304
+ this.inputValue = option.label || option.textContent || ''
305
+ this.inputValue$.next(this.inputValue)
306
306
 
307
- this._announceToScreenReader(`Selected: ${option.label || option.textContent}`)
307
+ this.announceToScreenReader(`Selected: ${option.label || option.textContent}`)
308
308
  }
309
309
  }
310
310
 
311
- private _setupDocumentClickHandler() {
311
+ private setupDocumentClickHandler() {
312
312
  fromEvent<MouseEvent>(document, 'click')
313
313
  .pipe(takeUntil(this.disconnecting))
314
314
  .subscribe(e => {
315
- if (!this._open) return
315
+ if (!this.open) return
316
316
  const path = e.composedPath()
317
- if (!path.includes(this) && !this._options.some(opt => path.includes(opt))) {
318
- this._open = false
319
- this._updateInputDisplay()
317
+ if (!path.includes(this) && !this.options.some(opt => path.includes(opt))) {
318
+ this.open = false
319
+ this.updateInputDisplay()
320
320
  }
321
321
  })
322
322
  }
323
323
 
324
324
 
325
- private _updateInputDisplay() {
325
+ private updateInputDisplay() {
326
326
  // For multi-select, we don't update input display since chips show the selections
327
327
  if (this.multi) return
328
328
 
329
- const selectedValue = this._selectedValue$.value
330
- const option = this._options.find(opt => opt.value === selectedValue)
331
- this._inputValue = option ? option.label || option.textContent || '' : ''
332
- this._inputValue$.next(this._inputValue)
329
+ const selectedValue = this.selectedValue$.value
330
+ const option = this.options.find(opt => opt.value === selectedValue)
331
+ this.inputValue = option ? option.label || option.textContent || '' : ''
332
+ this.inputValue$.next(this.inputValue)
333
333
 
334
- if (this._inputElementRef.value) {
335
- this._inputElementRef.value.value = this._inputValue
334
+ if (this.inputElementRef.value) {
335
+ this.inputElementRef.value.value = this.inputValue
336
336
  }
337
337
  }
338
338
 
339
- private _getSelectedLabels(): string[] {
340
- return this._options
339
+ private getSelectedLabels(): string[] {
340
+ return this.options
341
341
  .filter(option =>
342
342
  this.multi
343
- ? this._selectedValues$.value.includes(option.value)
344
- : option.value === this._selectedValue$.value
343
+ ? this.selectedValues$.value.includes(option.value)
344
+ : option.value === this.selectedValue$.value
345
345
  )
346
346
  .map(option => option.label || option.textContent || '')
347
347
  }
348
348
 
349
- private _announceToScreenReader(message: string) {
349
+ private announceToScreenReader(message: string) {
350
350
  const liveRegion = this.shadowRoot?.querySelector('#live-status')
351
351
  if (liveRegion) {
352
352
  liveRegion.textContent = message
353
353
  }
354
354
  }
355
355
 
356
- private _fireChangeEvent() {
356
+ private fireChangeEvent() {
357
357
  const detail: SchmancyAutocompleteChangeEvent['detail'] = {
358
358
  value: this.value,
359
359
  }
360
360
 
361
361
  if (this.multi) {
362
- detail.values = [...this._selectedValues$.value]
362
+ detail.values = [...this.selectedValues$.value]
363
363
  }
364
364
 
365
365
  this.dispatchEvent(
@@ -374,47 +374,47 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
374
374
  public checkValidity(): boolean {
375
375
  if (!this.required) return true
376
376
  return this.multi
377
- ? this._selectedValues$.value.length > 0
378
- : Boolean(this._selectedValue$.value)
377
+ ? this.selectedValues$.value.length > 0
378
+ : Boolean(this.selectedValue$.value)
379
379
  }
380
380
 
381
381
  public reportValidity(): boolean {
382
- if (this._inputElementRef.value) {
383
- return this._inputElementRef.value.reportValidity()
382
+ if (this.inputElementRef.value) {
383
+ return this.inputElementRef.value.reportValidity()
384
384
  }
385
385
  return this.checkValidity()
386
386
  }
387
387
 
388
388
  firstUpdated() {
389
- this._setupOptionHandlers()
389
+ this.setupOptionHandlers()
390
390
 
391
391
  // Sync initial value with display after options are available
392
- this._updateInputDisplay()
392
+ this.updateInputDisplay()
393
393
 
394
394
  // Update options when slot changes
395
395
  const slot = this.shadowRoot?.querySelector('slot')
396
396
  slot?.addEventListener('slotchange', () => {
397
- this._setupOptionHandlers()
398
- this._updateOptionSelection(this._selectedValue$.value, this._selectedValues$.value)
397
+ this.setupOptionHandlers()
398
+ this.updateOptionSelection(this.selectedValue$.value, this.selectedValues$.value)
399
399
  })
400
400
  }
401
401
 
402
402
  private handleChipRemove(value: string) {
403
- const currentValues = this._selectedValues$.value
403
+ const currentValues = this.selectedValues$.value
404
404
  const newValues = currentValues.filter(v => v !== value)
405
- this._selectedValues$.next(newValues)
406
- this._fireChangeEvent()
407
- this._announceToScreenReader(`Removed: ${this._getChipLabel(value)}`)
405
+ this.selectedValues$.next(newValues)
406
+ this.fireChangeEvent()
407
+ this.announceToScreenReader(`Removed: ${this.getChipLabel(value)}`)
408
408
  }
409
409
 
410
- private _getChipLabel(value: string): string {
411
- const option = this._options.find(opt => opt.value === value)
410
+ private getChipLabel(value: string): string {
411
+ const option = this.options.find(opt => opt.value === value)
412
412
  return option ? option.label || option.textContent || value : value
413
413
  }
414
414
 
415
- private _focusTextInput() {
416
- if (this._inputElementRef.value) {
417
- this._inputElementRef.value.focus()
415
+ private focusTextInput() {
416
+ if (this.inputElementRef.value) {
417
+ this.inputElementRef.value.focus()
418
418
  }
419
419
  }
420
420
 
@@ -487,16 +487,16 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
487
487
  'ring-error-default focus-within:ring-error-default': this.error,
488
488
  'cursor-text transition-colors duration-200': true
489
489
  })}"
490
- @click=${() => this._focusTextInput()}
490
+ @click=${() => this.focusTextInput()}
491
491
  role="combobox"
492
492
  aria-autocomplete="list"
493
493
  aria-haspopup="listbox"
494
494
  aria-controls="options"
495
- aria-expanded=${this._open}
495
+ aria-expanded=${this.open}
496
496
  >
497
497
  <!-- Render chips inline -->
498
498
  ${repeat(
499
- this._selectedValues$.value,
499
+ this.selectedValues$.value,
500
500
  value => value,
501
501
  value => html`
502
502
  <schmancy-input-chip
@@ -504,49 +504,49 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
504
504
  @remove=${(e: CustomEvent) => this.handleChipRemove(e.detail.value)}
505
505
  class="shrink-0 my-0.5"
506
506
  >
507
- ${this._getChipLabel(value)}
507
+ ${this.getChipLabel(value)}
508
508
  </schmancy-input-chip>
509
509
  `
510
510
  )}
511
511
 
512
512
  <!-- Text input for typing -->
513
513
  <input
514
- ${ref(this._inputElementRef)}
514
+ ${ref(this.inputElementRef)}
515
515
  id="autocomplete-input"
516
516
  type="text"
517
517
  class="flex-1 min-w-[120px] py-1 bg-transparent border-none outline-none ${fontSize} font-medium text-surface-on placeholder:text-muted"
518
518
  name=${this.name || this.label?.toLowerCase().replace(/\s+/g, '-') || ''}
519
- .placeholder=${this._selectedValues$.value.length > 0 ? 'Add more...' : this.placeholder}
520
- .value=${this._inputValue}
519
+ .placeholder=${this.selectedValues$.value.length > 0 ? 'Add more...' : this.placeholder}
520
+ .value=${this.inputValue}
521
521
  .autocomplete=${this.autocomplete}
522
522
  aria-invalid=${this.error ? 'true' : 'false'}
523
523
  aria-required=${this.required ? 'true' : 'false'}
524
- aria-describedby=${this.error && this.validationMessage ? `${this._a11yId}-err` : nothing}
524
+ aria-describedby=${this.error && this.validationMessage ? `${this.a11yId}-err` : nothing}
525
525
  aria-label=${!this.label && this.placeholder ? this.placeholder : nothing}
526
526
  @input=${(e: Event) => {
527
527
  const value = (e.target as HTMLInputElement).value
528
- this._inputValue = value
529
- this._inputValue$.next(value)
528
+ this.inputValue = value
529
+ this.inputValue$.next(value)
530
530
  }}
531
531
  @focus=${(e: FocusEvent) => {
532
532
  e.stopPropagation()
533
533
  // Clear input on focus for new searches
534
- this._inputValue = ''
535
- this._inputValue$.next('')
536
- this._openDropdown()
534
+ this.inputValue = ''
535
+ this.inputValue$.next('')
536
+ this.openDropdown()
537
537
  }}
538
538
  @keydown=${(e: KeyboardEvent) => {
539
- this._handleKeyDown(e)
539
+ this.handleKeyDown(e)
540
540
  }}
541
541
  @blur=${() => {
542
- this._handleAutoSelectOnBlur()
542
+ this.handleAutoSelectOnBlur()
543
543
  }}
544
544
  />
545
545
  </div>
546
546
 
547
547
  <!-- Validation message -->
548
548
  ${when(this.error && this.validationMessage, () => html`
549
- <div id="${this._a11yId}-err" class="mt-1 text-sm text-error-default" role="alert">
549
+ <div id="${this.a11yId}-err" class="mt-1 text-sm text-error-default" role="alert">
550
550
  ${this.validationMessage}
551
551
  </div>
552
552
  `)}
@@ -556,14 +556,14 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
556
556
  <!-- Regular single-select input -->
557
557
  <schmancy-input
558
558
  .size=${this.size}
559
- ${ref(this._inputElementRef)}
559
+ ${ref(this.inputElementRef)}
560
560
  id="autocomplete-input"
561
561
  class="w-full"
562
562
  .name=${this.name || this.label?.toLowerCase().replace(/\s+/g, '-') || ''}
563
563
  .label=${this.label}
564
564
  .placeholder=${this.placeholder}
565
565
  .required=${this.required}
566
- .value=${this._inputValue}
566
+ .value=${this.inputValue}
567
567
  type="text"
568
568
  autocomplete=${this.autocomplete}
569
569
  clickable
@@ -571,26 +571,26 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
571
571
  aria-autocomplete="list"
572
572
  aria-haspopup="listbox"
573
573
  aria-controls="options"
574
- aria-expanded=${this._open}
574
+ aria-expanded=${this.open}
575
575
  aria-describedby=${ifDefined(this.description ? descriptionId : undefined)}
576
576
  @input=${(e: Event) => {
577
577
  const value = (e.target as HTMLInputElement).value
578
- this._inputValue = value
579
- this._inputValue$.next(value)
578
+ this.inputValue = value
579
+ this.inputValue$.next(value)
580
580
  }}
581
581
  @focus=${(e: FocusEvent) => {
582
582
  e.stopPropagation()
583
- this._openDropdown()
583
+ this.openDropdown()
584
584
  }}
585
585
  @click=${(e: MouseEvent) => {
586
586
  e.stopPropagation()
587
- this._openDropdown()
587
+ this.openDropdown()
588
588
  }}
589
589
  @keydown=${(e: KeyboardEvent) => {
590
- this._handleKeyDown(e)
590
+ this.handleKeyDown(e)
591
591
  }}
592
592
  @blur=${() => {
593
- this._handleAutoSelectOnBlur()
593
+ this.handleAutoSelectOnBlur()
594
594
  }}
595
595
  >
596
596
  </schmancy-input>
@@ -617,14 +617,14 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
617
617
  role="listbox"
618
618
  aria-multiselectable=${this.multi ? 'true' : 'false'}
619
619
  aria-label=${`${this.label || 'Options'} dropdown`}
620
- ?hidden=${!this._open}
621
- style="max-height: ${this.maxHeight}; display: ${this._open ? 'flex' : 'none'};"
620
+ ?hidden=${!this.open}
621
+ style="max-height: ${this.maxHeight}; display: ${this.open ? 'flex' : 'none'};"
622
622
  @slotchange=${() => {
623
- this._setupOptionHandlers()
623
+ this.setupOptionHandlers()
624
624
  }}
625
625
  >
626
626
  <slot></slot>
627
- ${!this._hasResults ? html`
627
+ ${!this.hasResults ? html`
628
628
  <li class="px-3 py-2 text-sm text-muted">No results found</li>
629
629
  ` : ''}
630
630
  </ul>
@@ -632,19 +632,19 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
632
632
  `
633
633
  }
634
634
 
635
- private _handleAutoSelectOnBlur() {
635
+ private handleAutoSelectOnBlur() {
636
636
  // Only auto-select in single-select mode and when dropdown is open with a search term
637
- if (this.multi || !this._open || !this._inputValue.trim()) {
637
+ if (this.multi || !this.open || !this.inputValue.trim()) {
638
638
  return
639
639
  }
640
640
 
641
- const searchTerm = this._inputValue.trim()
641
+ const searchTerm = this.inputValue.trim()
642
642
 
643
643
  // Find the best matching option using the same similarity logic as filtering
644
644
  let bestMatch: SchmancyOption | null = null
645
645
  let bestScore = 0
646
646
 
647
- this._options.forEach(option => {
647
+ this.options.forEach(option => {
648
648
  // Skip hidden options
649
649
  if (option.hidden) return
650
650
 
@@ -669,19 +669,19 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
669
669
  // Auto-select the best match if found
670
670
  if (bestMatch) {
671
671
  // Silently update the selected value without firing change event
672
- this._selectedValue$.next(bestMatch.value)
673
- this._inputValue = bestMatch.label || bestMatch.textContent || ''
674
- this._inputValue$.next(this._inputValue)
675
- this._open = false
672
+ this.selectedValue$.next(bestMatch.value)
673
+ this.inputValue = bestMatch.label || bestMatch.textContent || ''
674
+ this.inputValue$.next(this.inputValue)
675
+ this.open = false
676
676
  }
677
677
  }
678
678
 
679
- private _handleKeyDown(event: KeyboardEvent) {
680
- const isOpen = this._open
681
- const selectedValues = this._selectedValues$.value
679
+ private handleKeyDown(event: KeyboardEvent) {
680
+ const isOpen = this.open
681
+ const selectedValues = this.selectedValues$.value
682
682
 
683
683
  // Handle backspace to remove last chip in multi-select when input is empty
684
- if (this.multi && event.key === 'Backspace' && !this._inputValue && selectedValues.length > 0 && !isOpen) {
684
+ if (this.multi && event.key === 'Backspace' && !this.inputValue && selectedValues.length > 0 && !isOpen) {
685
685
  event.preventDefault()
686
686
  const lastValue = selectedValues[selectedValues.length - 1]
687
687
  this.handleChipRemove(lastValue)
@@ -690,12 +690,12 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
690
690
 
691
691
  if (!isOpen && (event.key === 'ArrowDown' || event.key === 'Enter')) {
692
692
  event.preventDefault()
693
- this._openDropdown()
693
+ this.openDropdown()
694
694
 
695
695
  timer(10)
696
696
  .pipe(takeUntil(this.disconnecting))
697
697
  .subscribe(() => {
698
- const firstVisible = this._options.find(opt => !opt.hidden)
698
+ const firstVisible = this.options.find(opt => !opt.hidden)
699
699
  firstVisible?.focus()
700
700
  })
701
701
  return
@@ -703,7 +703,7 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
703
703
 
704
704
  if (!isOpen) return
705
705
 
706
- const visibleOptions = this._options.filter(opt => !opt.hidden)
706
+ const visibleOptions = this.options.filter(opt => !opt.hidden)
707
707
  .toSorted((a, b) => parseInt(a.style.order || '0') - parseInt(b.style.order || '0'))
708
708
 
709
709
  const focusedOption = visibleOptions.find(opt => opt === document.activeElement)
@@ -712,14 +712,14 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
712
712
  switch (event.key) {
713
713
  case 'Escape':
714
714
  event.preventDefault()
715
- this._open = false
716
- this._updateInputDisplay()
717
- this._inputElementRef.value?.focus()
715
+ this.open = false
716
+ this.updateInputDisplay()
717
+ this.inputElementRef.value?.focus()
718
718
  break
719
719
 
720
720
  case 'Tab':
721
- this._open = false
722
- this._updateInputDisplay()
721
+ this.open = false
722
+ this.updateInputDisplay()
723
723
  break
724
724
 
725
725
  case 'ArrowDown':
@@ -748,7 +748,7 @@ export default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(st
748
748
  case ' ':
749
749
  if (focusedOption) {
750
750
  event.preventDefault()
751
- this._selectOption(focusedOption)
751
+ this.selectOption(focusedOption)
752
752
  }
753
753
  break
754
754
  }