@mhmo91/schmancy 0.10.37 → 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 (554) 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 +2329 -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-BHPqSqJd.js → boat-DmyG7y1V.js} +4 -4
  31. package/dist/{boat-BHPqSqJd.js.map → boat-DmyG7y1V.js.map} +1 -1
  32. package/dist/{boat-OBZ77exO.cjs → boat-dB1_qLm0.cjs} +1 -1
  33. package/dist/{boat-OBZ77exO.cjs.map → boat-dB1_qLm0.cjs.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-kcpPQavY.js → button-BQSOVnHn.js} +10 -9
  47. package/dist/button-BQSOVnHn.js.map +1 -0
  48. package/dist/button-WRmXlNyw.cjs +62 -0
  49. package/dist/button-WRmXlNyw.cjs.map +1 -0
  50. package/dist/button.cjs +6 -6
  51. package/dist/button.cjs.map +1 -1
  52. package/dist/button.js +17 -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-C9dS1WKn.cjs → chips-B1jui8Pe.cjs} +3 -3
  67. package/dist/chips-B1jui8Pe.cjs.map +1 -0
  68. package/dist/{chips-vWmwqQed.js → chips-DAy6v93f.js} +20 -19
  69. package/dist/chips-DAy6v93f.js.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-BUaPgbTZ.cjs} +2 -2
  79. package/dist/date-range-BUaPgbTZ.cjs.map +1 -0
  80. package/dist/{date-range-D3ge1b4c.js → date-range-NTpoA1in.js} +4 -4
  81. package/dist/date-range-NTpoA1in.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 +1 -1
  119. package/dist/fab.js +2 -2
  120. package/dist/{float-C-Ko0Le3.js → float-Cgllk_H9.js} +2 -2
  121. package/dist/{float-C-Ko0Le3.js.map → float-Cgllk_H9.js.map} +1 -1
  122. package/dist/{float-C17xgMT1.cjs → float-OvqX0nqG.cjs} +1 -1
  123. package/dist/{float-C17xgMT1.cjs.map → float-OvqX0nqG.cjs.map} +1 -1
  124. package/dist/float.cjs +1 -1
  125. package/dist/float.js +1 -1
  126. package/dist/form-4GKROq2P.cjs +27 -0
  127. package/dist/form-4GKROq2P.cjs.map +1 -0
  128. package/dist/{form-DA0hUu2h.js → form-DxaV_Ose.js} +39 -39
  129. package/dist/form-DxaV_Ose.js.map +1 -0
  130. package/dist/form.cjs +3 -3
  131. package/dist/form.cjs.map +1 -1
  132. package/dist/form.js +34 -34
  133. package/dist/form.js.map +1 -1
  134. package/dist/gravity-6pL6CfIr.cjs.map +1 -1
  135. package/dist/gravity-sVK3zGBF.js.map +1 -1
  136. package/dist/handover/agent-runtime-followups.md +1 -1
  137. package/dist/handover/agent-runtime-v1.md +3 -3
  138. package/dist/{icons-C6UfxmHZ.js → icons-CJ2mXcBi.js} +9 -9
  139. package/dist/icons-CJ2mXcBi.js.map +1 -0
  140. package/dist/icons-sZ-LybA9.cjs +24 -0
  141. package/dist/icons-sZ-LybA9.cjs.map +1 -0
  142. package/dist/icons.cjs +1 -1
  143. package/dist/icons.js +1 -1
  144. package/dist/{iframe-BTjZfYyh.js → iframe-DWvN5nGB.js} +11 -11
  145. package/dist/iframe-DWvN5nGB.js.map +1 -0
  146. package/dist/{iframe-wuYT2xFz.cjs → iframe-DpCv-QH2.cjs} +7 -7
  147. package/dist/iframe-DpCv-QH2.cjs.map +1 -0
  148. package/dist/iframe.cjs +1 -1
  149. package/dist/iframe.js +1 -1
  150. package/dist/index.cjs +1 -1
  151. package/dist/index.js +35 -35
  152. package/dist/{input-B_4g2ulO.js → input-BCCHz6tB.js} +7 -7
  153. package/dist/input-BCCHz6tB.js.map +1 -0
  154. package/dist/{input-BrDiIT60.cjs → input-Z-3N5JMv.cjs} +2 -2
  155. package/dist/input-Z-3N5JMv.cjs.map +1 -0
  156. package/dist/{input-chip-BlWhOruv.js → input-chip-BOrcKH-H.js} +2 -2
  157. package/dist/{input-chip-BlWhOruv.js.map → input-chip-BOrcKH-H.js.map} +1 -1
  158. package/dist/{input-chip-B-XWh4aE.cjs → input-chip-ChAgRCXZ.cjs} +1 -1
  159. package/dist/{input-chip-B-XWh4aE.cjs.map → input-chip-ChAgRCXZ.cjs.map} +1 -1
  160. package/dist/input.cjs +1 -1
  161. package/dist/input.js +1 -1
  162. package/dist/json.cjs +1 -1
  163. package/dist/json.js +3 -3
  164. package/dist/kbd.cjs +1 -1
  165. package/dist/kbd.js +2 -2
  166. package/dist/{layout-Dxit9enO.js → layout-CFiG3lNT.js} +1 -1
  167. package/dist/{layout-Dxit9enO.js.map → layout-CFiG3lNT.js.map} +1 -1
  168. package/dist/{layout-BhyIcEVu.cjs → layout-DZ4dpLh9.cjs} +1 -1
  169. package/dist/{layout-BhyIcEVu.cjs.map → layout-DZ4dpLh9.cjs.map} +1 -1
  170. package/dist/layout.cjs +1 -1
  171. package/dist/layout.js +2 -2
  172. package/dist/lazy-BaAiIUru.js +19 -0
  173. package/dist/lazy-BaAiIUru.js.map +1 -0
  174. package/dist/lazy-C-7a4FAe.cjs +1 -0
  175. package/dist/lazy-C-7a4FAe.cjs.map +1 -0
  176. package/dist/{lightbox-D85XAAuC.js → lightbox-B7Y4Nij_.js} +2 -2
  177. package/dist/lightbox-B7Y4Nij_.js.map +1 -0
  178. package/dist/{lightbox-CVBogswK.cjs → lightbox-Dpwsn8Qr.cjs} +1 -1
  179. package/dist/lightbox-Dpwsn8Qr.cjs.map +1 -0
  180. package/dist/lightbox.cjs +1 -1
  181. package/dist/lightbox.js +1 -1
  182. package/dist/{list-nVjLskgx.cjs → list-BhM-6dAi.cjs} +1 -1
  183. package/dist/{list-nVjLskgx.cjs.map → list-BhM-6dAi.cjs.map} +1 -1
  184. package/dist/{list-DOF_yVn5.js → list-C5WVoIfJ.js} +2 -2
  185. package/dist/{list-DOF_yVn5.js.map → list-C5WVoIfJ.js.map} +1 -1
  186. package/dist/list.cjs +1 -1
  187. package/dist/list.js +1 -1
  188. package/dist/magnetic-DKtc4umC.cjs.map +1 -1
  189. package/dist/magnetic-DaOOv5Dz.js.map +1 -1
  190. package/dist/{menu-QrAK5Uu9.js → menu-CBAAJoHu.js} +3 -3
  191. package/dist/{menu-QrAK5Uu9.js.map → menu-CBAAJoHu.js.map} +1 -1
  192. package/dist/{menu-DqmNjLgY.cjs → menu-DFQjJk3H.cjs} +1 -1
  193. package/dist/{menu-DqmNjLgY.cjs.map → menu-DFQjJk3H.cjs.map} +1 -1
  194. package/dist/menu.cjs +1 -1
  195. package/dist/menu.js +1 -1
  196. package/dist/{mixins-De1zjyhy.js → mixins-DGBI7YPO.js} +11 -11
  197. package/dist/mixins-DGBI7YPO.js.map +1 -0
  198. package/dist/{mixins-DxHpyMHA.cjs → mixins-fIpzhVMd.cjs} +1 -1
  199. package/dist/mixins-fIpzhVMd.cjs.map +1 -0
  200. package/dist/mixins.cjs +1 -1
  201. package/dist/mixins.js +2 -2
  202. package/dist/nav-drawer.cjs +1 -1
  203. package/dist/nav-drawer.js +1 -1
  204. package/dist/navigation-bar.cjs +1 -1
  205. package/dist/navigation-bar.js +1 -1
  206. package/dist/navigation-rail.cjs +3 -3
  207. package/dist/navigation-rail.cjs.map +1 -1
  208. package/dist/navigation-rail.js +11 -10
  209. package/dist/navigation-rail.js.map +1 -1
  210. package/dist/notification-B6yDL91t.cjs +24 -0
  211. package/dist/notification-B6yDL91t.cjs.map +1 -0
  212. package/dist/{notification-BtAK7NK8.js → notification-BB9OBRCr.js} +22 -22
  213. package/dist/notification-BB9OBRCr.js.map +1 -0
  214. package/dist/notification.cjs +1 -1
  215. package/dist/notification.js +1 -1
  216. package/dist/{option-DHwA0miA.js → option-B21ImL0k.js} +2 -2
  217. package/dist/{option-DHwA0miA.js.map → option-B21ImL0k.js.map} +1 -1
  218. package/dist/{option-DnSPa8ro.cjs → option-CJQM5I9q.cjs} +1 -1
  219. package/dist/{option-DnSPa8ro.cjs.map → option-CJQM5I9q.cjs.map} +1 -1
  220. package/dist/option.cjs +1 -1
  221. package/dist/option.js +1 -1
  222. package/dist/{overlay-Del1sBEB.js → overlay-CWsihJ-E.js} +75 -67
  223. package/dist/overlay-CWsihJ-E.js.map +1 -0
  224. package/dist/overlay-DkIX9Ig3.cjs +58 -0
  225. package/dist/overlay-DkIX9Ig3.cjs.map +1 -0
  226. package/dist/overlay.cjs +1 -1
  227. package/dist/{overlay.confirm-body-DSONXUzl.js → overlay.confirm-body-CPqqPNks.js} +10 -10
  228. package/dist/overlay.confirm-body-CPqqPNks.js.map +1 -0
  229. package/dist/{overlay.confirm-body-BV9umTAl.cjs → overlay.confirm-body-DwTfiNlV.cjs} +3 -3
  230. package/dist/overlay.confirm-body-DwTfiNlV.cjs.map +1 -0
  231. package/dist/overlay.js +4 -4
  232. package/dist/overlay.service-DU1nqh6A.cjs +1 -0
  233. package/dist/{overlay.service-XLlrsSdA.cjs.map → overlay.service-DU1nqh6A.cjs.map} +1 -1
  234. package/dist/{overlay.service-BTp5Oq7f.js → overlay.service-KTgBxjFb.js} +4 -4
  235. package/dist/{overlay.service-BTp5Oq7f.js.map → overlay.service-KTgBxjFb.js.map} +1 -1
  236. package/dist/{progress-DUbTL9g9.cjs → progress-B-Qg44XY.cjs} +1 -1
  237. package/dist/{progress-DUbTL9g9.cjs.map → progress-B-Qg44XY.cjs.map} +1 -1
  238. package/dist/{progress-DYA83CFU.js → progress-CUSS1sNz.js} +2 -2
  239. package/dist/{progress-DYA83CFU.js.map → progress-CUSS1sNz.js.map} +1 -1
  240. package/dist/progress.cjs +1 -1
  241. package/dist/progress.js +1 -1
  242. package/dist/{radio-group-DxX0iJBo.js → radio-group-AHLvrN8O.js} +7 -7
  243. package/dist/radio-group-AHLvrN8O.js.map +1 -0
  244. package/dist/{radio-group-B-ORNtvR.cjs → radio-group-BEtvCSS1.cjs} +2 -2
  245. package/dist/radio-group-BEtvCSS1.cjs.map +1 -0
  246. package/dist/radio-group.cjs +1 -1
  247. package/dist/radio-group.js +1 -1
  248. package/dist/range.cjs +1 -1
  249. package/dist/range.js +2 -2
  250. package/dist/select-BWpV2iv-.cjs +56 -0
  251. package/dist/select-BWpV2iv-.cjs.map +1 -0
  252. package/dist/{select-C7gkA-ab.js → select-Cawz88lG.js} +46 -46
  253. package/dist/select-Cawz88lG.js.map +1 -0
  254. package/dist/select.cjs +1 -1
  255. package/dist/select.js +1 -1
  256. package/dist/skeleton.cjs +1 -1
  257. package/dist/skeleton.js +2 -2
  258. package/dist/skills/SKILL.md +3 -0
  259. package/dist/skills/overlay.md +14 -7
  260. package/dist/skills/schmancy/SKILL.md +3 -0
  261. package/dist/skills/schmancy/overlay.md +14 -7
  262. package/dist/slider.cjs +1 -1
  263. package/dist/slider.js +2 -2
  264. package/dist/{sound.service-O0232os6.js → sound.service-CK-5zob-.js} +4 -3
  265. package/dist/sound.service-CK-5zob-.js.map +1 -0
  266. package/dist/{sound.service-C7FDY_yD.cjs → sound.service-D2GGaBXc.cjs} +1 -1
  267. package/dist/sound.service-D2GGaBXc.cjs.map +1 -0
  268. package/dist/{splash-screen-jfE47xl0.js → splash-screen-BUEtjHXC.js} +13 -13
  269. package/dist/splash-screen-BUEtjHXC.js.map +1 -0
  270. package/dist/{splash-screen-DIS4odDr.cjs → splash-screen-DqPuipox.cjs} +6 -6
  271. package/dist/splash-screen-DqPuipox.cjs.map +1 -0
  272. package/dist/splash-screen.cjs +1 -1
  273. package/dist/splash-screen.js +1 -1
  274. package/dist/{src-BP3h-9d9.js → src-CIqAj3Eh.js} +45 -45
  275. package/dist/src-CIqAj3Eh.js.map +1 -0
  276. package/dist/{src-Um_pzb-U.cjs → src-CYqBQTyt.cjs} +6 -6
  277. package/dist/src-CYqBQTyt.cjs.map +1 -0
  278. package/dist/{state-Bj0M9a6T.cjs → state-BxDNox-2.cjs} +1 -1
  279. package/dist/{state-Bj0M9a6T.cjs.map → state-BxDNox-2.cjs.map} +1 -1
  280. package/dist/{state-DscWQpoM.js → state-CnZCDMT0.js} +9 -9
  281. package/dist/{state-DscWQpoM.js.map → state-CnZCDMT0.js.map} +1 -1
  282. package/dist/state.cjs +1 -1
  283. package/dist/state.js +2 -2
  284. package/dist/steps.cjs +1 -1
  285. package/dist/steps.js +2 -2
  286. package/dist/{surface-B4Wn4SOO.js → surface-BMdG3dKQ.js} +2 -2
  287. package/dist/{surface-B4Wn4SOO.js.map → surface-BMdG3dKQ.js.map} +1 -1
  288. package/dist/{surface-DRq6cVW6.cjs → surface-CWwYD_z2.cjs} +1 -1
  289. package/dist/{surface-DRq6cVW6.cjs.map → surface-CWwYD_z2.cjs.map} +1 -1
  290. package/dist/surface.cjs +1 -1
  291. package/dist/surface.js +1 -1
  292. package/dist/switch.cjs +4 -4
  293. package/dist/switch.cjs.map +1 -1
  294. package/dist/switch.js +11 -11
  295. package/dist/switch.js.map +1 -1
  296. package/dist/table.cjs +1 -1
  297. package/dist/table.js +2 -2
  298. package/dist/{tabs-CnQPo-XS.js → tabs-CDQYDc6v.js} +2 -2
  299. package/dist/{tabs-CnQPo-XS.js.map → tabs-CDQYDc6v.js.map} +1 -1
  300. package/dist/{tabs-Ca_fbHPW.cjs → tabs-CbD9E1gd.cjs} +1 -1
  301. package/dist/{tabs-Ca_fbHPW.cjs.map → tabs-CbD9E1gd.cjs.map} +1 -1
  302. package/dist/tabs.cjs +1 -1
  303. package/dist/tabs.js +1 -1
  304. package/dist/teleport.cjs +1 -1
  305. package/dist/teleport.js +1 -1
  306. package/dist/textarea-Brgi-vD2.cjs +43 -0
  307. package/dist/textarea-Brgi-vD2.cjs.map +1 -0
  308. package/dist/{textarea-BvqENhTW.js → textarea-MPyrMi-S.js} +4 -4
  309. package/dist/textarea-MPyrMi-S.js.map +1 -0
  310. package/dist/textarea.cjs +1 -1
  311. package/dist/textarea.js +1 -1
  312. package/dist/{theme-BSwJ2YZo.cjs → theme-BMbXoqi0.cjs} +1 -1
  313. package/dist/{theme-BSwJ2YZo.cjs.map → theme-BMbXoqi0.cjs.map} +1 -1
  314. package/dist/{theme-BV0EzHQ1.js → theme-DZu-xmVp.js} +5 -5
  315. package/dist/{theme-BV0EzHQ1.js.map → theme-DZu-xmVp.js.map} +1 -1
  316. package/dist/{theme-button-C6fpUzPM.cjs → theme-button-B0OLb-43.cjs} +1 -1
  317. package/dist/{theme-button-C6fpUzPM.cjs.map → theme-button-B0OLb-43.cjs.map} +1 -1
  318. package/dist/{theme-button-O_xNCgI7.js → theme-button-D_qGvEYs.js} +2 -2
  319. package/dist/{theme-button-O_xNCgI7.js.map → theme-button-D_qGvEYs.js.map} +1 -1
  320. package/dist/theme-button.cjs +1 -1
  321. package/dist/theme-button.js +1 -1
  322. package/dist/theme.cjs +1 -1
  323. package/dist/theme.js +3 -3
  324. package/dist/{theme.service-DwLhhOmP.js → theme.service-7VkM-hVf.js} +15 -11
  325. package/dist/theme.service-7VkM-hVf.js.map +1 -0
  326. package/dist/theme.service-B15FdjOS.cjs +1 -0
  327. package/dist/theme.service-B15FdjOS.cjs.map +1 -0
  328. package/dist/tree.cjs +4 -4
  329. package/dist/tree.cjs.map +1 -1
  330. package/dist/tree.js +8 -8
  331. package/dist/tree.js.map +1 -1
  332. package/dist/{typography-opFYuUYS.cjs → typography-D4Fo1UGh.cjs} +3 -3
  333. package/dist/{typography-opFYuUYS.cjs.map → typography-D4Fo1UGh.cjs.map} +1 -1
  334. package/dist/{typography-Dtdooaic.js → typography-SZhjb_4R.js} +9 -9
  335. package/dist/{typography-Dtdooaic.js.map → typography-SZhjb_4R.js.map} +1 -1
  336. package/dist/typography.cjs +1 -1
  337. package/dist/typography.js +1 -1
  338. package/dist/visually-hidden.cjs +1 -1
  339. package/dist/visually-hidden.js +2 -2
  340. package/dist/{window-ConcHirJ.js → window-BDVyrBnk.js} +101 -100
  341. package/dist/window-BDVyrBnk.js.map +1 -0
  342. package/dist/window-BbBYjm7R.cjs +59 -0
  343. package/dist/window-BbBYjm7R.cjs.map +1 -0
  344. package/dist/window.cjs +1 -1
  345. package/dist/window.js +1 -1
  346. package/package.json +1 -1
  347. package/skills/schmancy/SKILL.md +3 -0
  348. package/skills/schmancy/overlay.md +14 -7
  349. package/src/area/area.component.ts +1 -1
  350. package/src/area/area.service.test.ts +2 -2
  351. package/src/area/area.service.ts +1 -1
  352. package/src/area/lazy.ts +87 -83
  353. package/src/audio/sound.service.ts +3 -3
  354. package/src/breadcrumb/breadcrumb.ts +2 -2
  355. package/src/button/button.ts +11 -11
  356. package/src/button/icon-button.ts +18 -18
  357. package/src/card/card.ts +16 -16
  358. package/src/content-drawer/drawer.ts +6 -6
  359. package/src/details/details.ts +55 -55
  360. package/src/directives/ai-badge.ts +2 -1
  361. package/src/directives/animate-text.ts +2 -1
  362. package/src/directives/art/art.directive.ts +2 -1
  363. package/src/directives/battery.ts +2 -1
  364. package/src/directives/confirm-click.ts +5 -3
  365. package/src/directives/cursor-glow.ts +2 -1
  366. package/src/directives/cycle-text.ts +2 -1
  367. package/src/directives/depth-of-field.ts +2 -1
  368. package/src/directives/drag.ts +4 -2
  369. package/src/directives/fyi.ts +2 -1
  370. package/src/directives/gravity.ts +2 -1
  371. package/src/directives/hummingbird.ts +2 -1
  372. package/src/directives/intersect.ts +3 -2
  373. package/src/directives/liquid.ts +2 -1
  374. package/src/directives/living-border.ts +2 -1
  375. package/src/directives/long-press.ts +2 -1
  376. package/src/directives/magnetic.ts +2 -1
  377. package/src/directives/missed-punch.ts +2 -1
  378. package/src/directives/nebula.ts +6 -5
  379. package/src/directives/overflow-within.ts +2 -1
  380. package/src/directives/reveal.ts +2 -1
  381. package/src/directives/urgent.ts +2 -1
  382. package/src/directives/working-snake.ts +2 -1
  383. package/src/expand/expand-root.component.ts +27 -27
  384. package/src/expand/expand.component.ts +48 -48
  385. package/src/form/fields/autocomplete/autocomplete.ts +154 -154
  386. package/src/form/fields/checkbox/checkbox.ts +4 -4
  387. package/src/form/fields/chips/chips.ts +2 -2
  388. package/src/form/fields/chips/filter-chip.ts +15 -15
  389. package/src/form/fields/date-range/date-range.ts +2 -2
  390. package/src/form/fields/input/input.ts +12 -12
  391. package/src/form/fields/radio-group/radio-button.ts +2 -2
  392. package/src/form/fields/radio-group/radio-group.ts +3 -3
  393. package/src/form/fields/select/select.ts +56 -56
  394. package/src/form/fields/switch/switch.ts +10 -10
  395. package/src/form/fields/textarea/textarea.ts +2 -2
  396. package/src/form/form-summary.ts +33 -33
  397. package/src/form/form.ts +45 -45
  398. package/src/icons/icon.ts +10 -8
  399. package/src/iframe/iframe.ts +11 -11
  400. package/src/lightbox/flip-directive.ts +2 -1
  401. package/src/lightbox/lightbox.directive.ts +2 -1
  402. package/src/nav-drawer/navbar.ts +3 -3
  403. package/src/navigation-rail/navigation-rail.ts +10 -10
  404. package/src/notification/notification.ts +22 -22
  405. package/src/overlay/overlay.component.ts +106 -83
  406. package/src/overlay/overlay.confirm-body.ts +4 -4
  407. package/src/overlay/overlay.service.ts +3 -3
  408. package/src/overlay/overlay.types.ts +4 -2
  409. package/src/splash-screen/splash-screen.ts +11 -11
  410. package/src/state/index.ts +12 -12
  411. package/src/state/schmancy-context.ts +9 -9
  412. package/src/teleport/teleport.component.ts +2 -2
  413. package/src/theme/theme.service.ts +17 -17
  414. package/src/tree/tree.ts +7 -7
  415. package/src/typography/typography.ts +7 -7
  416. package/src/window/window-manager.ts +20 -20
  417. package/src/window/window.ts +100 -100
  418. package/types/mixins/SchmancyElement.d.ts +3 -2
  419. package/types/mixins/formField.mixin.d.ts +1 -1
  420. package/types/src/area/area.service.d.ts +1 -1
  421. package/types/src/area/lazy.d.ts +0 -6
  422. package/types/src/audio/sound.service.d.ts +1 -2
  423. package/types/src/breadcrumb/breadcrumb.d.ts +1 -1
  424. package/types/src/button/button.d.ts +3 -3
  425. package/types/src/button/icon-button.d.ts +6 -7
  426. package/types/src/card/card.d.ts +5 -5
  427. package/types/src/content-drawer/drawer.d.ts +1 -1
  428. package/types/src/details/details.d.ts +2 -21
  429. package/types/src/directives/ai-badge.d.ts +2 -2
  430. package/types/src/directives/animate-text.d.ts +2 -2
  431. package/types/src/directives/art/art.directive.d.ts +2 -2
  432. package/types/src/directives/battery.d.ts +2 -2
  433. package/types/src/directives/confirm-click.d.ts +2 -2
  434. package/types/src/directives/cursor-glow.d.ts +2 -2
  435. package/types/src/directives/cycle-text.d.ts +2 -2
  436. package/types/src/directives/depth-of-field.d.ts +2 -2
  437. package/types/src/directives/drag.d.ts +4 -4
  438. package/types/src/directives/fyi.d.ts +2 -2
  439. package/types/src/directives/gravity.d.ts +2 -2
  440. package/types/src/directives/hummingbird.d.ts +2 -2
  441. package/types/src/directives/intersect.d.ts +2 -2
  442. package/types/src/directives/liquid.d.ts +2 -2
  443. package/types/src/directives/living-border.d.ts +2 -2
  444. package/types/src/directives/long-press.d.ts +2 -2
  445. package/types/src/directives/magnetic.d.ts +2 -2
  446. package/types/src/directives/missed-punch.d.ts +2 -2
  447. package/types/src/directives/nebula.d.ts +2 -2
  448. package/types/src/directives/overflow-within.d.ts +2 -2
  449. package/types/src/directives/reveal.d.ts +2 -2
  450. package/types/src/directives/urgent.d.ts +2 -2
  451. package/types/src/directives/working-snake.d.ts +2 -2
  452. package/types/src/expand/expand-root.component.d.ts +8 -8
  453. package/types/src/expand/expand.component.d.ts +11 -11
  454. package/types/src/form/fields/autocomplete/autocomplete.d.ts +29 -29
  455. package/types/src/form/fields/checkbox/checkbox.d.ts +1 -1
  456. package/types/src/form/fields/chips/chips.d.ts +1 -1
  457. package/types/src/form/fields/chips/filter-chip.d.ts +1 -2
  458. package/types/src/form/fields/input/input.d.ts +3 -3
  459. package/types/src/form/fields/radio-group/radio-button.d.ts +1 -1
  460. package/types/src/form/fields/radio-group/radio-group.d.ts +1 -1
  461. package/types/src/form/fields/select/select.d.ts +8 -8
  462. package/types/src/form/fields/switch/switch.d.ts +3 -3
  463. package/types/src/form/fields/textarea/textarea.d.ts +1 -1
  464. package/types/src/form/form-summary.d.ts +7 -7
  465. package/types/src/form/form.d.ts +11 -11
  466. package/types/src/icons/icon.d.ts +2 -2
  467. package/types/src/iframe/iframe.d.ts +3 -3
  468. package/types/src/lightbox/flip-directive.d.ts +2 -2
  469. package/types/src/lightbox/lightbox.directive.d.ts +2 -2
  470. package/types/src/nav-drawer/navbar.d.ts +1 -1
  471. package/types/src/navigation-rail/navigation-rail.d.ts +2 -2
  472. package/types/src/notification/notification.d.ts +8 -8
  473. package/types/src/overlay/overlay.component.d.ts +16 -16
  474. package/types/src/overlay/overlay.confirm-body.d.ts +1 -1
  475. package/types/src/overlay/overlay.types.d.ts +4 -2
  476. package/types/src/splash-screen/splash-screen.d.ts +2 -2
  477. package/types/src/state/index.d.ts +1 -1
  478. package/types/src/state/schmancy-context.d.ts +3 -3
  479. package/types/src/teleport/teleport.component.d.ts +1 -1
  480. package/types/src/theme/theme.service.d.ts +1 -4
  481. package/types/src/tree/tree.d.ts +3 -3
  482. package/types/src/typography/typography.d.ts +1 -1
  483. package/types/src/window/window-manager.d.ts +2 -2
  484. package/types/src/window/window.d.ts +20 -20
  485. package/dist/area-KtULlxuA.js.map +0 -1
  486. package/dist/area-fdKhYB6T.cjs +0 -21
  487. package/dist/area-fdKhYB6T.cjs.map +0 -1
  488. package/dist/autocomplete-DEZk6wBD.cjs +0 -115
  489. package/dist/autocomplete-DEZk6wBD.cjs.map +0 -1
  490. package/dist/autocomplete-DIScyo8Q.js.map +0 -1
  491. package/dist/button-DzlHLjWO.cjs +0 -62
  492. package/dist/button-DzlHLjWO.cjs.map +0 -1
  493. package/dist/button-kcpPQavY.js.map +0 -1
  494. package/dist/card-BLxPLqdQ.cjs.map +0 -1
  495. package/dist/card-DxSKxCid.js.map +0 -1
  496. package/dist/chips-C9dS1WKn.cjs.map +0 -1
  497. package/dist/chips-vWmwqQed.js.map +0 -1
  498. package/dist/date-range-BV6HuvLw.cjs.map +0 -1
  499. package/dist/date-range-D3ge1b4c.js.map +0 -1
  500. package/dist/details-C-GZaq3j.js.map +0 -1
  501. package/dist/details-Dp5rLIWk.cjs +0 -164
  502. package/dist/details-Dp5rLIWk.cjs.map +0 -1
  503. package/dist/directives-D_l1E5H6.cjs.map +0 -1
  504. package/dist/directives-DyS51FUh.js.map +0 -1
  505. package/dist/expand-DvTb-UPR.js.map +0 -1
  506. package/dist/expand-mlP_3XWz.cjs +0 -141
  507. package/dist/expand-mlP_3XWz.cjs.map +0 -1
  508. package/dist/form-CwPHcQYB.cjs +0 -27
  509. package/dist/form-CwPHcQYB.cjs.map +0 -1
  510. package/dist/form-DA0hUu2h.js.map +0 -1
  511. package/dist/icons-C6UfxmHZ.js.map +0 -1
  512. package/dist/icons-CW3-oMSb.cjs +0 -24
  513. package/dist/icons-CW3-oMSb.cjs.map +0 -1
  514. package/dist/iframe-BTjZfYyh.js.map +0 -1
  515. package/dist/iframe-wuYT2xFz.cjs.map +0 -1
  516. package/dist/input-B_4g2ulO.js.map +0 -1
  517. package/dist/input-BrDiIT60.cjs.map +0 -1
  518. package/dist/lazy-CayEFyC3.cjs +0 -1
  519. package/dist/lazy-CayEFyC3.cjs.map +0 -1
  520. package/dist/lazy-D-bO2r4m.js +0 -13
  521. package/dist/lazy-D-bO2r4m.js.map +0 -1
  522. package/dist/lightbox-CVBogswK.cjs.map +0 -1
  523. package/dist/lightbox-D85XAAuC.js.map +0 -1
  524. package/dist/mixins-De1zjyhy.js.map +0 -1
  525. package/dist/mixins-DxHpyMHA.cjs.map +0 -1
  526. package/dist/notification-BtAK7NK8.js.map +0 -1
  527. package/dist/notification-DYzbUb5C.cjs +0 -24
  528. package/dist/notification-DYzbUb5C.cjs.map +0 -1
  529. package/dist/overlay-BVkqZmoS.cjs +0 -58
  530. package/dist/overlay-BVkqZmoS.cjs.map +0 -1
  531. package/dist/overlay-Del1sBEB.js.map +0 -1
  532. package/dist/overlay.confirm-body-BV9umTAl.cjs.map +0 -1
  533. package/dist/overlay.confirm-body-DSONXUzl.js.map +0 -1
  534. package/dist/overlay.service-XLlrsSdA.cjs +0 -1
  535. package/dist/radio-group-B-ORNtvR.cjs.map +0 -1
  536. package/dist/radio-group-DxX0iJBo.js.map +0 -1
  537. package/dist/select-B9uj_u-s.cjs +0 -56
  538. package/dist/select-B9uj_u-s.cjs.map +0 -1
  539. package/dist/select-C7gkA-ab.js.map +0 -1
  540. package/dist/sound.service-C7FDY_yD.cjs.map +0 -1
  541. package/dist/sound.service-O0232os6.js.map +0 -1
  542. package/dist/splash-screen-DIS4odDr.cjs.map +0 -1
  543. package/dist/splash-screen-jfE47xl0.js.map +0 -1
  544. package/dist/src-BP3h-9d9.js.map +0 -1
  545. package/dist/src-Um_pzb-U.cjs.map +0 -1
  546. package/dist/textarea-BvqENhTW.js.map +0 -1
  547. package/dist/textarea-qr7oL8oU.cjs +0 -43
  548. package/dist/textarea-qr7oL8oU.cjs.map +0 -1
  549. package/dist/theme.service-DwLhhOmP.js.map +0 -1
  550. package/dist/theme.service-kn9MC025.cjs +0 -1
  551. package/dist/theme.service-kn9MC025.cjs.map +0 -1
  552. package/dist/window-BSAemI9J.cjs +0 -59
  553. package/dist/window-BSAemI9J.cjs.map +0 -1
  554. package/dist/window-ConcHirJ.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { u as e } from "./SchmancyElement-CDT2q1lA.js";
2
- import { o as t } from "./mixins-De1zjyhy.js";
1
+ import { u as e } from "./SchmancyElement-BNnyBOwk.js";
2
+ import { o as t } from "./mixins-DGBI7YPO.js";
3
3
  import { t as n } from "./search-MvIBA93K.js";
4
- import "./input-chip-BlWhOruv.js";
4
+ import "./input-chip-BOrcKH-H.js";
5
5
  import { BehaviorSubject as r, combineLatest as i, fromEvent as a, timer as o } from "rxjs";
6
6
  import { debounceTime as s, distinctUntilChanged as c, takeUntil as l, tap as u } from "rxjs/operators";
7
7
  import { classMap as d } from "lit/directives/class-map.js";
@@ -13,57 +13,57 @@ import { repeat as C } from "lit/directives/repeat.js";
13
13
  import { when as w } from "lit/directives/when.js";
14
14
  var T = class extends t(y(":host{display:block;border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important}:host:focus{box-shadow:unset!important}@keyframes onAutoFillStart{0%{}to{}}:-webkit-any(sch-input::part(input):-webkit-autofill,sch-input input:-webkit-autofill){animation-name:onAutoFillStart;animation-duration:1ms}:is(sch-input::part(input):autofill,sch-input input:autofill){animation-name:onAutoFillStart;animation-duration:1ms}")) {
15
15
  constructor(...e) {
16
- super(...e), this._valueSet = !1, this._valuesSet = !1, this.placeholder = "", this.maxHeight = "300px", this.multi = !1, this.description = "", this.size = "md", this.autocomplete = "off", this.debounceMs = 200, this.similarityThreshold = .3, this._a11yId = `schmancy-autocomplete-${Math.random().toString(36).slice(2, 10)}`, this._open = !1, this._inputValue = "", this._visibleOptionsCount = 0, this._hasResults = !0, this._inputElementRef = x(), this._selectedValue$ = new r(""), this._selectedValues$ = new r([]), this._inputValue$ = new r("");
16
+ super(...e), this.valueSet = !1, this.valuesSet = !1, this.placeholder = "", this.maxHeight = "300px", this.multi = !1, this.description = "", this.size = "md", this.autocomplete = "off", this.debounceMs = 200, this.similarityThreshold = .3, this.a11yId = `schmancy-autocomplete-${Math.random().toString(36).slice(2, 10)}`, this.open = !1, this.inputValue = "", this.visibleOptionsCount = 0, this.hasResults = !0, this.inputElementRef = x(), this.selectedValue$ = new r(""), this.selectedValues$ = new r([]), this.inputValue$ = new r("");
17
17
  }
18
18
  resetForm() {
19
- this.multi ? this._selectedValues$.next([]) : this._selectedValue$.next(""), this._inputValue = "", this._inputValue$.next(""), super.resetForm();
19
+ this.multi ? this.selectedValues$.next([]) : this.selectedValue$.next(""), this.inputValue = "", this.inputValue$.next(""), super.resetForm();
20
20
  }
21
21
  get values() {
22
- return [...this._selectedValues$.value];
22
+ return [...this.selectedValues$.value];
23
23
  }
24
24
  set values(e) {
25
- this._valuesSet = !0, this._selectedValues$.next(Array.isArray(e) ? [...e] : []);
25
+ this.valuesSet = !0, this.selectedValues$.next(Array.isArray(e) ? [...e] : []);
26
26
  }
27
27
  get value() {
28
- return this.multi ? this._selectedValues$.value.join(",") : this._selectedValue$.value;
28
+ return this.multi ? this.selectedValues$.value.join(",") : this.selectedValue$.value;
29
29
  }
30
30
  set value(e) {
31
- if (this._valueSet = !0, this.multi) {
32
- let t = e ? e.split(",").map((e) => e.trim()).filter(Boolean) : [], n = this._selectedValues$.value;
33
- JSON.stringify(t) !== JSON.stringify(n) && this._selectedValues$.next(t);
34
- } else e !== this._selectedValue$.value && (this._selectedValue$.next(e), this._updateInputDisplay());
31
+ if (this.valueSet = !0, this.multi) {
32
+ let t = e ? e.split(",").map((e) => e.trim()).filter(Boolean) : [], n = this.selectedValues$.value;
33
+ JSON.stringify(t) !== JSON.stringify(n) && this.selectedValues$.next(t);
34
+ } else e !== this.selectedValue$.value && (this.selectedValue$.next(e), this.updateInputDisplay());
35
35
  }
36
36
  connectedCallback() {
37
- super.connectedCallback(), this._setupAutocompleteLogic(), this._setupDocumentClickHandler();
37
+ super.connectedCallback(), this.setupAutocompleteLogic(), this.setupDocumentClickHandler();
38
38
  }
39
- _setupAutocompleteLogic() {
40
- i([this._selectedValue$, this._selectedValues$]).pipe(u(([e, t]) => {
41
- this._updateOptionSelection(e, t);
39
+ setupAutocompleteLogic() {
40
+ i([this.selectedValue$, this.selectedValues$]).pipe(u(([e, t]) => {
41
+ this.updateOptionSelection(e, t);
42
42
  let n = this.multi ? t.join(",") : e;
43
43
  if (this.internals?.setFormValue(n || null), this.required) {
44
44
  let n = this.multi ? t.length === 0 : !e;
45
45
  this.internals?.setValidity(n ? { valueMissing: !0 } : {}, n ? this.validationMessage || "Please select an option." : void 0);
46
46
  }
47
- }), l(this.disconnecting)).subscribe(), this._inputValue$.pipe(c(), s(this.debounceMs), u((e) => {
48
- this._open && this._filterOptions(e);
47
+ }), l(this.disconnecting)).subscribe(), this.inputValue$.pipe(c(), s(this.debounceMs), u((e) => {
48
+ this.open && this.filterOptions(e);
49
49
  }), l(this.disconnecting)).subscribe();
50
50
  }
51
- _setupOptionHandlers() {
52
- this._options.forEach((e, t) => {
51
+ setupOptionHandlers() {
52
+ this.options.forEach((e, t) => {
53
53
  e.setAttribute("role", "option"), e.tabIndex = -1, e.id ||= `${this.id}-option-${t}`, e.dataset.schmancyAutocompleteHandlers !== "attached" && (e.dataset.schmancyAutocompleteHandlers = "attached", a(e, "mousedown").pipe(l(this.disconnecting)).subscribe((e) => e.preventDefault()), a(e, "click").pipe(l(this.disconnecting)).subscribe((t) => {
54
- t.stopPropagation(), this._selectOption(e);
54
+ t.stopPropagation(), this.selectOption(e);
55
55
  }));
56
56
  });
57
57
  }
58
- _updateOptionSelection(e, t) {
59
- this._options.forEach((n) => {
58
+ updateOptionSelection(e, t) {
59
+ this.options.forEach((n) => {
60
60
  n.selected = this.multi ? t.includes(n.value) : n.value === e, n.setAttribute("aria-selected", String(n.selected));
61
61
  });
62
62
  }
63
- _filterOptions(e) {
63
+ filterOptions(e) {
64
64
  let t = e.trim();
65
65
  if (t) {
66
- let e = this._options.map((e) => {
66
+ let e = this.options.map((e) => {
67
67
  let r = e.label || e.textContent || "", i = e.value, a = n(t, r), o = n(t, i);
68
68
  return {
69
69
  option: e,
@@ -75,69 +75,69 @@ var T = class extends t(y(":host{display:block;border:unset!important;line-heigh
75
75
  e.forEach((e, t) => {
76
76
  let { option: n, score: i } = e;
77
77
  i < this.similarityThreshold ? n.hidden = !0 : (n.hidden = !1, r++, n.style.order = String(t));
78
- }), this._visibleOptionsCount = r, this._hasResults = r > 0;
79
- } else this._options.forEach((e) => {
78
+ }), this.visibleOptionsCount = r, this.hasResults = r > 0;
79
+ } else this.options.forEach((e) => {
80
80
  e.hidden = !1, e.style.order = "0";
81
- }), this._visibleOptionsCount = this._options.length, this._hasResults = !0;
82
- this._announceToScreenReader(this._visibleOptionsCount > 0 ? `${this._visibleOptionsCount} option${this._visibleOptionsCount === 1 ? "" : "s"} available.` : "No results found.");
81
+ }), this.visibleOptionsCount = this.options.length, this.hasResults = !0;
82
+ this.announceToScreenReader(this.visibleOptionsCount > 0 ? `${this.visibleOptionsCount} option${this.visibleOptionsCount === 1 ? "" : "s"} available.` : "No results found.");
83
83
  }
84
- _openDropdown() {
85
- this._open = !0, this._filterOptions(this._inputValue);
84
+ openDropdown() {
85
+ this.open = !0, this.filterOptions(this.inputValue);
86
86
  }
87
- _selectOption(e) {
87
+ selectOption(e) {
88
88
  if (this.multi) {
89
- let t = this._selectedValues$.value, n = t.indexOf(e.value) > -1 ? t.filter((t) => t !== e.value) : [...t, e.value];
90
- this._selectedValues$.next(n), this._announceToScreenReader(n.length > 0 ? `Selected: ${this._getSelectedLabels().join(", ")}` : "No options selected"), this._fireChangeEvent();
91
- } else this._selectedValue$.next(e.value), this._open = !1, this._fireChangeEvent(), this._inputValue = e.label || e.textContent || "", this._inputValue$.next(this._inputValue), this._announceToScreenReader(`Selected: ${e.label || e.textContent}`);
89
+ let t = this.selectedValues$.value, n = t.indexOf(e.value) > -1 ? t.filter((t) => t !== e.value) : [...t, e.value];
90
+ this.selectedValues$.next(n), this.announceToScreenReader(n.length > 0 ? `Selected: ${this.getSelectedLabels().join(", ")}` : "No options selected"), this.fireChangeEvent();
91
+ } else this.selectedValue$.next(e.value), this.open = !1, this.fireChangeEvent(), this.inputValue = e.label || e.textContent || "", this.inputValue$.next(this.inputValue), this.announceToScreenReader(`Selected: ${e.label || e.textContent}`);
92
92
  }
93
- _setupDocumentClickHandler() {
93
+ setupDocumentClickHandler() {
94
94
  a(document, "click").pipe(l(this.disconnecting)).subscribe((e) => {
95
- if (!this._open) return;
95
+ if (!this.open) return;
96
96
  let t = e.composedPath();
97
- t.includes(this) || this._options.some((e) => t.includes(e)) || (this._open = !1, this._updateInputDisplay());
97
+ t.includes(this) || this.options.some((e) => t.includes(e)) || (this.open = !1, this.updateInputDisplay());
98
98
  });
99
99
  }
100
- _updateInputDisplay() {
100
+ updateInputDisplay() {
101
101
  if (this.multi) return;
102
- let e = this._selectedValue$.value, t = this._options.find((t) => t.value === e);
103
- this._inputValue = t && (t.label || t.textContent) || "", this._inputValue$.next(this._inputValue), this._inputElementRef.value && (this._inputElementRef.value.value = this._inputValue);
102
+ let e = this.selectedValue$.value, t = this.options.find((t) => t.value === e);
103
+ this.inputValue = t && (t.label || t.textContent) || "", this.inputValue$.next(this.inputValue), this.inputElementRef.value && (this.inputElementRef.value.value = this.inputValue);
104
104
  }
105
- _getSelectedLabels() {
106
- return this._options.filter((e) => this.multi ? this._selectedValues$.value.includes(e.value) : e.value === this._selectedValue$.value).map((e) => e.label || e.textContent || "");
105
+ getSelectedLabels() {
106
+ return this.options.filter((e) => this.multi ? this.selectedValues$.value.includes(e.value) : e.value === this.selectedValue$.value).map((e) => e.label || e.textContent || "");
107
107
  }
108
- _announceToScreenReader(e) {
108
+ announceToScreenReader(e) {
109
109
  let t = this.shadowRoot?.querySelector("#live-status");
110
110
  t && (t.textContent = e);
111
111
  }
112
- _fireChangeEvent() {
112
+ fireChangeEvent() {
113
113
  let e = { value: this.value };
114
- this.multi && (e.values = [...this._selectedValues$.value]), this.dispatchEvent(new CustomEvent("change", {
114
+ this.multi && (e.values = [...this.selectedValues$.value]), this.dispatchEvent(new CustomEvent("change", {
115
115
  detail: e,
116
116
  bubbles: !0,
117
117
  composed: !0
118
118
  }));
119
119
  }
120
120
  checkValidity() {
121
- return !this.required || (this.multi ? this._selectedValues$.value.length > 0 : !!this._selectedValue$.value);
121
+ return !this.required || (this.multi ? this.selectedValues$.value.length > 0 : !!this.selectedValue$.value);
122
122
  }
123
123
  reportValidity() {
124
- return this._inputElementRef.value ? this._inputElementRef.value.reportValidity() : this.checkValidity();
124
+ return this.inputElementRef.value ? this.inputElementRef.value.reportValidity() : this.checkValidity();
125
125
  }
126
126
  firstUpdated() {
127
- this._setupOptionHandlers(), this._updateInputDisplay(), (this.shadowRoot?.querySelector("slot"))?.addEventListener("slotchange", () => {
128
- this._setupOptionHandlers(), this._updateOptionSelection(this._selectedValue$.value, this._selectedValues$.value);
127
+ this.setupOptionHandlers(), this.updateInputDisplay(), (this.shadowRoot?.querySelector("slot"))?.addEventListener("slotchange", () => {
128
+ this.setupOptionHandlers(), this.updateOptionSelection(this.selectedValue$.value, this.selectedValues$.value);
129
129
  });
130
130
  }
131
131
  handleChipRemove(e) {
132
- let t = this._selectedValues$.value.filter((t) => t !== e);
133
- this._selectedValues$.next(t), this._fireChangeEvent(), this._announceToScreenReader(`Removed: ${this._getChipLabel(e)}`);
132
+ let t = this.selectedValues$.value.filter((t) => t !== e);
133
+ this.selectedValues$.next(t), this.fireChangeEvent(), this.announceToScreenReader(`Removed: ${this.getChipLabel(e)}`);
134
134
  }
135
- _getChipLabel(e) {
136
- let t = this._options.find((t) => t.value === e);
135
+ getChipLabel(e) {
136
+ let t = this.options.find((t) => t.value === e);
137
137
  return t && (t.label || t.textContent) || e;
138
138
  }
139
- _focusTextInput() {
140
- this._inputElementRef.value && this._inputElementRef.value.focus();
139
+ focusTextInput() {
140
+ this.inputElementRef.value && this.inputElementRef.value.focus();
141
141
  }
142
142
  render() {
143
143
  let e = `${this.id}-desc`, { height: t, padding: n, fontSize: r, labelSize: i } = (() => {
@@ -197,57 +197,57 @@ var T = class extends t(y(":host{display:block;border:unset!important;line-heigh
197
197
  "ring-error-default focus-within:ring-error-default": this.error,
198
198
  "cursor-text transition-colors duration-200": !0
199
199
  })}"
200
- @click=${() => this._focusTextInput()}
200
+ @click=${() => this.focusTextInput()}
201
201
  role="combobox"
202
202
  aria-autocomplete="list"
203
203
  aria-haspopup="listbox"
204
204
  aria-controls="options"
205
- aria-expanded=${this._open}
205
+ aria-expanded=${this.open}
206
206
  >
207
207
  <!-- Render chips inline -->
208
- ${C(this._selectedValues$.value, (e) => e, (e) => _`
208
+ ${C(this.selectedValues$.value, (e) => e, (e) => _`
209
209
  <schmancy-input-chip
210
210
  .value=${e}
211
211
  @remove=${(e) => this.handleChipRemove(e.detail.value)}
212
212
  class="shrink-0 my-0.5"
213
213
  >
214
- ${this._getChipLabel(e)}
214
+ ${this.getChipLabel(e)}
215
215
  </schmancy-input-chip>
216
216
  `)}
217
217
 
218
218
  <!-- Text input for typing -->
219
219
  <input
220
- ${S(this._inputElementRef)}
220
+ ${S(this.inputElementRef)}
221
221
  id="autocomplete-input"
222
222
  type="text"
223
223
  class="flex-1 min-w-[120px] py-1 bg-transparent border-none outline-none ${r} font-medium text-surface-on placeholder:text-muted"
224
224
  name=${this.name || this.label?.toLowerCase().replace(/\s+/g, "-") || ""}
225
- .placeholder=${this._selectedValues$.value.length > 0 ? "Add more..." : this.placeholder}
226
- .value=${this._inputValue}
225
+ .placeholder=${this.selectedValues$.value.length > 0 ? "Add more..." : this.placeholder}
226
+ .value=${this.inputValue}
227
227
  .autocomplete=${this.autocomplete}
228
228
  aria-invalid=${this.error ? "true" : "false"}
229
229
  aria-required=${this.required ? "true" : "false"}
230
- aria-describedby=${this.error && this.validationMessage ? `${this._a11yId}-err` : v}
230
+ aria-describedby=${this.error && this.validationMessage ? `${this.a11yId}-err` : v}
231
231
  aria-label=${!this.label && this.placeholder ? this.placeholder : v}
232
232
  @input=${(e) => {
233
233
  let t = e.target.value;
234
- this._inputValue = t, this._inputValue$.next(t);
234
+ this.inputValue = t, this.inputValue$.next(t);
235
235
  }}
236
236
  @focus=${(e) => {
237
- e.stopPropagation(), this._inputValue = "", this._inputValue$.next(""), this._openDropdown();
237
+ e.stopPropagation(), this.inputValue = "", this.inputValue$.next(""), this.openDropdown();
238
238
  }}
239
239
  @keydown=${(e) => {
240
- this._handleKeyDown(e);
240
+ this.handleKeyDown(e);
241
241
  }}
242
242
  @blur=${() => {
243
- this._handleAutoSelectOnBlur();
243
+ this.handleAutoSelectOnBlur();
244
244
  }}
245
245
  />
246
246
  </div>
247
247
 
248
248
  <!-- Validation message -->
249
249
  ${w(this.error && this.validationMessage, () => _`
250
- <div id="${this._a11yId}-err" class="mt-1 text-sm text-error-default" role="alert">
250
+ <div id="${this.a11yId}-err" class="mt-1 text-sm text-error-default" role="alert">
251
251
  ${this.validationMessage}
252
252
  </div>
253
253
  `)}
@@ -256,14 +256,14 @@ var T = class extends t(y(":host{display:block;border:unset!important;line-heigh
256
256
  <!-- Regular single-select input -->
257
257
  <schmancy-input
258
258
  .size=${this.size}
259
- ${S(this._inputElementRef)}
259
+ ${S(this.inputElementRef)}
260
260
  id="autocomplete-input"
261
261
  class="w-full"
262
262
  .name=${this.name || this.label?.toLowerCase().replace(/\s+/g, "-") || ""}
263
263
  .label=${this.label}
264
264
  .placeholder=${this.placeholder}
265
265
  .required=${this.required}
266
- .value=${this._inputValue}
266
+ .value=${this.inputValue}
267
267
  type="text"
268
268
  autocomplete=${this.autocomplete}
269
269
  clickable
@@ -271,23 +271,23 @@ var T = class extends t(y(":host{display:block;border:unset!important;line-heigh
271
271
  aria-autocomplete="list"
272
272
  aria-haspopup="listbox"
273
273
  aria-controls="options"
274
- aria-expanded=${this._open}
274
+ aria-expanded=${this.open}
275
275
  aria-describedby=${b(this.description ? e : void 0)}
276
276
  @input=${(e) => {
277
277
  let t = e.target.value;
278
- this._inputValue = t, this._inputValue$.next(t);
278
+ this.inputValue = t, this.inputValue$.next(t);
279
279
  }}
280
280
  @focus=${(e) => {
281
- e.stopPropagation(), this._openDropdown();
281
+ e.stopPropagation(), this.openDropdown();
282
282
  }}
283
283
  @click=${(e) => {
284
- e.stopPropagation(), this._openDropdown();
284
+ e.stopPropagation(), this.openDropdown();
285
285
  }}
286
286
  @keydown=${(e) => {
287
- this._handleKeyDown(e);
287
+ this.handleKeyDown(e);
288
288
  }}
289
289
  @blur=${() => {
290
- this._handleAutoSelectOnBlur();
290
+ this.handleAutoSelectOnBlur();
291
291
  }}
292
292
  >
293
293
  </schmancy-input>
@@ -313,48 +313,48 @@ var T = class extends t(y(":host{display:block;border:unset!important;line-heigh
313
313
  role="listbox"
314
314
  aria-multiselectable=${this.multi ? "true" : "false"}
315
315
  aria-label=${`${this.label || "Options"} dropdown`}
316
- ?hidden=${!this._open}
317
- style="max-height: ${this.maxHeight}; display: ${this._open ? "flex" : "none"};"
316
+ ?hidden=${!this.open}
317
+ style="max-height: ${this.maxHeight}; display: ${this.open ? "flex" : "none"};"
318
318
  @slotchange=${() => {
319
- this._setupOptionHandlers();
319
+ this.setupOptionHandlers();
320
320
  }}
321
321
  >
322
322
  <slot></slot>
323
- ${this._hasResults ? "" : _`
323
+ ${this.hasResults ? "" : _`
324
324
  <li class="px-3 py-2 text-sm text-muted">No results found</li>
325
325
  `}
326
326
  </ul>
327
327
  </div>
328
328
  `;
329
329
  }
330
- _handleAutoSelectOnBlur() {
331
- if (this.multi || !this._open || !this._inputValue.trim()) return;
332
- let e = this._inputValue.trim(), t = null, r = 0;
333
- this._options.forEach((i) => {
330
+ handleAutoSelectOnBlur() {
331
+ if (this.multi || !this.open || !this.inputValue.trim()) return;
332
+ let e = this.inputValue.trim(), t = null, r = 0;
333
+ this.options.forEach((i) => {
334
334
  if (i.hidden) return;
335
335
  let a = i.label || i.textContent || "", o = i.value, s = n(e, a), c = n(e, o), l = Math.max(1.1 * s, c);
336
336
  l > r && l >= this.similarityThreshold && (r = l, t = i);
337
- }), t && (this._selectedValue$.next(t.value), this._inputValue = t.label || t.textContent || "", this._inputValue$.next(this._inputValue), this._open = !1);
337
+ }), t && (this.selectedValue$.next(t.value), this.inputValue = t.label || t.textContent || "", this.inputValue$.next(this.inputValue), this.open = !1);
338
338
  }
339
- _handleKeyDown(e) {
340
- let t = this._open, n = this._selectedValues$.value;
341
- if (this.multi && e.key === "Backspace" && !this._inputValue && n.length > 0 && !t) {
339
+ handleKeyDown(e) {
340
+ let t = this.open, n = this.selectedValues$.value;
341
+ if (this.multi && e.key === "Backspace" && !this.inputValue && n.length > 0 && !t) {
342
342
  e.preventDefault();
343
343
  let t = n[n.length - 1];
344
344
  this.handleChipRemove(t);
345
345
  return;
346
346
  }
347
- if (!t && (e.key === "ArrowDown" || e.key === "Enter")) return e.preventDefault(), this._openDropdown(), void o(10).pipe(l(this.disconnecting)).subscribe(() => {
348
- this._options.find((e) => !e.hidden)?.focus();
347
+ if (!t && (e.key === "ArrowDown" || e.key === "Enter")) return e.preventDefault(), this.openDropdown(), void o(10).pipe(l(this.disconnecting)).subscribe(() => {
348
+ this.options.find((e) => !e.hidden)?.focus();
349
349
  });
350
350
  if (!t) return;
351
- let r = this._options.filter((e) => !e.hidden).toSorted((e, t) => parseInt(e.style.order || "0") - parseInt(t.style.order || "0")), i = r.find((e) => e === document.activeElement), a = i ? r.indexOf(i) : -1;
351
+ let r = this.options.filter((e) => !e.hidden).toSorted((e, t) => parseInt(e.style.order || "0") - parseInt(t.style.order || "0")), i = r.find((e) => e === document.activeElement), a = i ? r.indexOf(i) : -1;
352
352
  switch (e.key) {
353
353
  case "Escape":
354
- e.preventDefault(), this._open = !1, this._updateInputDisplay(), this._inputElementRef.value?.focus();
354
+ e.preventDefault(), this.open = !1, this.updateInputDisplay(), this.inputElementRef.value?.focus();
355
355
  break;
356
356
  case "Tab":
357
- this._open = !1, this._updateInputDisplay();
357
+ this.open = !1, this.updateInputDisplay();
358
358
  break;
359
359
  case "ArrowDown":
360
360
  e.preventDefault(), r[a < r.length - 1 ? a + 1 : 0]?.focus();
@@ -369,7 +369,7 @@ var T = class extends t(y(":host{display:block;border:unset!important;line-heigh
369
369
  e.preventDefault(), r[r.length - 1]?.focus();
370
370
  break;
371
371
  case "Enter":
372
- case " ": i && (e.preventDefault(), this._selectOption(i));
372
+ case " ": i && (e.preventDefault(), this.selectOption(i));
373
373
  }
374
374
  }
375
375
  };
@@ -379,4 +379,4 @@ e([p({ type: String })], T.prototype, "placeholder", void 0), e([p({ type: Strin
379
379
  })], T.prototype, "size", void 0), e([p({ type: String })], T.prototype, "autocomplete", void 0), e([p({ type: Number })], T.prototype, "debounceMs", void 0), e([p({ type: Number })], T.prototype, "similarityThreshold", void 0), e([p({ type: Array })], T.prototype, "values", null), e([p({
380
380
  type: String,
381
381
  reflect: !0
382
- })], T.prototype, "value", null), e([g()], T.prototype, "_open", void 0), e([g()], T.prototype, "_inputValue", void 0), e([g()], T.prototype, "_visibleOptionsCount", void 0), e([g()], T.prototype, "_hasResults", void 0), e([m("#options")], T.prototype, "_listbox", void 0), e([m("sch-input")], T.prototype, "_input", void 0), e([h({ flatten: !0 })], T.prototype, "_options", void 0), T = e([f("schmancy-autocomplete")], T);
382
+ })], T.prototype, "value", null), e([g()], T.prototype, "open", void 0), e([g()], T.prototype, "inputValue", void 0), e([g()], T.prototype, "visibleOptionsCount", void 0), e([g()], T.prototype, "hasResults", void 0), e([m("#options")], T.prototype, "listbox", void 0), e([m("sch-input")], T.prototype, "input", void 0), e([h({ flatten: !0 })], T.prototype, "options", void 0), T = e([f("schmancy-autocomplete")], T);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-DWiEqlQf.js","names":[],"sources":["../src/form/fields/autocomplete/autocomplete.scss?inline","../src/form/fields/autocomplete/autocomplete.ts"],"sourcesContent":[":host {\n\tdisplay: block;\n\tborder: unset !important;\n\tline-height: unset !important;\n\tbackground: unset !important;\n\tpadding: unset !important;\n\tfont-size: unset !important;\n\tbox-shadow: unset !important;\n}\n\n:host:focus {\n\tbox-shadow: unset !important;\n}\n\n@keyframes onAutoFillStart {\n\tfrom {/**/}\n\tto {/**/}\n}\n\nsch-input::part(input):-webkit-autofill,\nsch-input input:-webkit-autofill {\n\tanimation-name: onAutoFillStart;\n\tanimation-duration: 1ms;\n}\n","import { SchmancyFormField } from '@mixins/index'\nimport { InputSize, SchmancyInput } from '@schmancy/input'\nimport SchmancyOption from '@schmancy/option/option'\nimport { html, nothing, unsafeCSS } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { when } from 'lit/directives/when.js'\nimport {\n BehaviorSubject,\n combineLatest,\n fromEvent,\n timer\n} from 'rxjs'\nimport {\n debounceTime,\n distinctUntilChanged,\n takeUntil,\n tap\n} from 'rxjs/operators'\nimport style from './autocomplete.scss?inline'\n\n// Import the similarity function (or include it inline)\nimport { similarity } from '../../../utils/search'\n// Import chip component for multi-select display\nimport '../../../chips/input-chip'\n\nexport type SchmancyAutocompleteChangeEvent = CustomEvent<{\n value: string | string[]\n values?: string[]\n}>\n\ninterface FilteredOption {\n option: SchmancyOption\n score: number\n}\n\n/**\n * Autocomplete input component with filtering and multi-select support.\n *\n * @prop {string} name - Name attribute for form submission\n * @prop {string} label - Label text displayed above the input\n * @prop {string} placeholder - Placeholder text for the input\n * @prop {boolean} required - Whether the field is required\n * @prop {boolean} multi - Enable multi-select mode\n * @prop {string} value - Selected value (single select mode)\n * @prop {string[]} values - Selected values (multi-select mode)\n */\n@customElement('schmancy-autocomplete')\nexport default class SchmancyAutocomplete extends SchmancyFormField(unsafeCSS(style)) {\n\n // `formAssociated`, `internals`, `attachInternals`, `name`, `label`,\n // `required`, `disabled`, `error`, `validationMessage`, `hint`, `id`,\n // `validateOn`, `touched/dirty/submitted`, `markTouched/markSubmitted`,\n // `setCustomValidity`, `formDisabledCallback`, FIELD_CONNECT_EVENT dispatch\n // — all from the mixin.\n\n /** Override mixin's resetForm with autocomplete-specific subject reset. */\n override resetForm(): void {\n if (this.multi) {\n this.selectedValues$.next([])\n } else {\n this.selectedValue$.next('')\n }\n this.inputValue = ''\n this.inputValue$.next('')\n super.resetForm()\n }\n\n // Track whether value/values have been explicitly set\n valueSet: boolean = false\n valuesSet: boolean = false\n\n // Autocomplete-specific properties only — `name`, `label`, `required`,\n // `error`, `validationMessage` come from the mixin.\n @property({ type: String }) placeholder = ''\n @property({ type: String }) maxHeight = '300px'\n @property({ type: Boolean }) multi = false\n @property({ type: String }) description = ''\n @property({ type: String, reflect: true }) size: InputSize = 'md'\n @property({ type: String }) autocomplete = 'off'\n @property({ type: Number }) debounceMs = 200\n @property({ type: Number }) similarityThreshold = 0.3 // Minimum similarity score to show option\n\n private readonly a11yId = `schmancy-autocomplete-${Math.random().toString(36).slice(2, 10)}`\n\n // Values property for multi-select mode\n @property({ type: Array })\n get values() {\n return [...this.selectedValues$.value]\n }\n set values(vals: string[]) {\n this.valuesSet = true\n this.selectedValues$.next(Array.isArray(vals) ? [...vals] : [])\n }\n\n // Value property — narrowed override of the mixin's wide value union.\n @property({ type: String, reflect: true })\n override get value(): string {\n return this.multi\n ? this.selectedValues$.value.join(',')\n : this.selectedValue$.value\n }\n override set value(val: string) {\n this.valueSet = true\n if (this.multi) {\n const newValues = val ? val.split(',').map(v => v.trim()).filter(Boolean) : []\n const currentValues = this.selectedValues$.value\n // Only update if values actually changed\n if (JSON.stringify(newValues) !== JSON.stringify(currentValues)) {\n this.selectedValues$.next(newValues)\n }\n } else {\n // Only update if value actually changed\n if (val !== this.selectedValue$.value) {\n this.selectedValue$.next(val)\n // Update the input display when value is set\n this.updateInputDisplay()\n }\n }\n }\n\n // State\n @state() private open = false\n @state() private inputValue = ''\n @state() private visibleOptionsCount = 0\n @state() private hasResults = true\n\n // DOM references\n @query('#options') listbox!: HTMLUListElement\n @query('sch-input') input!: SchmancyInput\n @queryAssignedElements({ flatten: true }) private options!: SchmancyOption[]\n private inputElementRef = createRef<HTMLInputElement>()\n\n // RxJS Subjects - only what we actually need\n private selectedValue$ = new BehaviorSubject<string>('')\n private selectedValues$ = new BehaviorSubject<string[]>([])\n private inputValue$ = new BehaviorSubject<string>('')\n\n override connectedCallback() {\n // FIELD_CONNECT_EVENT is dispatched by the mixin's connectedCallback.\n super.connectedCallback()\n this.setupAutocompleteLogic()\n this.setupDocumentClickHandler()\n }\n\n private setupAutocompleteLogic() {\n // Sync selection state\n combineLatest([\n this.selectedValue$,\n this.selectedValues$\n ]).pipe(\n tap(([selectedValue, selectedValues]) => {\n this.updateOptionSelection(selectedValue, selectedValues)\n // Keep ElementInternals form value in sync with selection (single and multi).\n const formValue = this.multi ? selectedValues.join(',') : selectedValue\n this.internals?.setFormValue(formValue || null)\n if (this.required) {\n const missing = this.multi ? selectedValues.length === 0 : !selectedValue\n this.internals?.setValidity(\n missing ? { valueMissing: true } : {},\n missing ? this.validationMessage || 'Please select an option.' : undefined,\n )\n }\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Filter options based on input\n this.inputValue$.pipe(\n distinctUntilChanged(),\n debounceTime(this.debounceMs),\n tap(searchTerm => {\n if (this.open) {\n this.filterOptions(searchTerm)\n }\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private setupOptionHandlers() {\n this.options.forEach((option, index) => {\n option.setAttribute('role', 'option')\n option.tabIndex = -1\n if (!option.id) {\n option.id = `${this.id}-option-${index}`\n }\n // Idempotent: slotchange may fire repeatedly for the same option nodes,\n // and addEventListener doesn't replace prior handlers like onfoo= did.\n if (option.dataset.schmancyAutocompleteHandlers === 'attached') return\n option.dataset.schmancyAutocompleteHandlers = 'attached'\n\n // Prevent blur handler from interfering with option selection\n fromEvent<MouseEvent>(option, 'mousedown')\n .pipe(takeUntil(this.disconnecting))\n .subscribe(e => e.preventDefault())\n\n // Handle the actual selection\n fromEvent<MouseEvent>(option, 'click')\n .pipe(takeUntil(this.disconnecting))\n .subscribe(e => {\n e.stopPropagation()\n this.selectOption(option)\n })\n })\n }\n\n private updateOptionSelection(selectedValue: string, selectedValues: string[]) {\n this.options.forEach(option => {\n option.selected = this.multi\n ? selectedValues.includes(option.value)\n : option.value === selectedValue\n option.setAttribute('aria-selected', String(option.selected))\n })\n }\n\n private filterOptions(searchTerm: string) {\n const term = searchTerm.trim()\n\n if (!term) {\n // Show all options if no search term\n this.options.forEach(option => {\n option.hidden = false\n option.style.order = '0'\n })\n this.visibleOptionsCount = this.options.length\n this.hasResults = true\n } else {\n // Calculate similarity scores for all options\n const scoredOptions: FilteredOption[] = this.options.map(option => {\n const optionLabel = option.label || option.textContent || ''\n const optionValue = option.value\n\n const labelScore = similarity(term, optionLabel)\n const valueScore = similarity(term, optionValue)\n const score = Math.max(labelScore * 1.1, valueScore)\n\n return { option, score }\n })\n\n // Sort by score (highest first)\n scoredOptions.sort((a, b) => b.score - a.score)\n\n // Apply visibility and ordering\n let visibleCount = 0\n scoredOptions.forEach((item, index) => {\n const { option, score } = item\n\n if (score < this.similarityThreshold) {\n option.hidden = true\n } else {\n option.hidden = false\n visibleCount++\n option.style.order = String(index)\n }\n })\n\n this.visibleOptionsCount = visibleCount\n this.hasResults = visibleCount > 0\n }\n\n this.announceToScreenReader(\n this.visibleOptionsCount > 0\n ? `${this.visibleOptionsCount} option${this.visibleOptionsCount === 1 ? '' : 's'} available.`\n : 'No results found.'\n )\n }\n\n private openDropdown() {\n this.open = true\n // Reset filters based on current input value when dropdown opens\n this.filterOptions(this.inputValue)\n }\n\n private selectOption(option: SchmancyOption) {\n if (this.multi) {\n const currentValues = this.selectedValues$.value\n const index = currentValues.indexOf(option.value)\n const newValues = index > -1\n ? currentValues.filter(v => v !== option.value)\n : [...currentValues, option.value]\n\n this.selectedValues$.next(newValues)\n this.announceToScreenReader(\n newValues.length > 0\n ? `Selected: ${this.getSelectedLabels().join(', ')}`\n : 'No options selected'\n )\n this.fireChangeEvent()\n } else {\n // Update value first\n this.selectedValue$.next(option.value)\n\n // Close dropdown IMMEDIATELY to prevent blur handler from firing\n this.open = false\n\n // Now fire event with the NEW value\n this.fireChangeEvent()\n\n // Update UI\n this.inputValue = option.label || option.textContent || ''\n this.inputValue$.next(this.inputValue)\n\n this.announceToScreenReader(`Selected: ${option.label || option.textContent}`)\n }\n }\n\n private setupDocumentClickHandler() {\n fromEvent<MouseEvent>(document, 'click')\n .pipe(takeUntil(this.disconnecting))\n .subscribe(e => {\n if (!this.open) return\n const path = e.composedPath()\n if (!path.includes(this) && !this.options.some(opt => path.includes(opt))) {\n this.open = false\n this.updateInputDisplay()\n }\n })\n }\n\n\n private updateInputDisplay() {\n // For multi-select, we don't update input display since chips show the selections\n if (this.multi) return\n\n const selectedValue = this.selectedValue$.value\n const option = this.options.find(opt => opt.value === selectedValue)\n this.inputValue = option ? option.label || option.textContent || '' : ''\n this.inputValue$.next(this.inputValue)\n\n if (this.inputElementRef.value) {\n this.inputElementRef.value.value = this.inputValue\n }\n }\n\n private getSelectedLabels(): string[] {\n return this.options\n .filter(option => \n this.multi \n ? this.selectedValues$.value.includes(option.value)\n : option.value === this.selectedValue$.value\n )\n .map(option => option.label || option.textContent || '')\n }\n\n private announceToScreenReader(message: string) {\n const liveRegion = this.shadowRoot?.querySelector('#live-status')\n if (liveRegion) {\n liveRegion.textContent = message\n }\n }\n\n private fireChangeEvent() {\n const detail: SchmancyAutocompleteChangeEvent['detail'] = {\n value: this.value,\n }\n\n if (this.multi) {\n detail.values = [...this.selectedValues$.value]\n }\n\n this.dispatchEvent(\n new CustomEvent<SchmancyAutocompleteChangeEvent['detail']>('change', {\n detail,\n bubbles: true,\n composed: true,\n })\n )\n }\n\n public checkValidity(): boolean {\n if (!this.required) return true\n return this.multi \n ? this.selectedValues$.value.length > 0 \n : Boolean(this.selectedValue$.value)\n }\n\n public reportValidity(): boolean {\n if (this.inputElementRef.value) {\n return this.inputElementRef.value.reportValidity()\n }\n return this.checkValidity()\n }\n\n firstUpdated() {\n this.setupOptionHandlers()\n\n // Sync initial value with display after options are available\n this.updateInputDisplay()\n\n // Update options when slot changes\n const slot = this.shadowRoot?.querySelector('slot')\n slot?.addEventListener('slotchange', () => {\n this.setupOptionHandlers()\n this.updateOptionSelection(this.selectedValue$.value, this.selectedValues$.value)\n })\n }\n\n private handleChipRemove(value: string) {\n const currentValues = this.selectedValues$.value\n const newValues = currentValues.filter(v => v !== value)\n this.selectedValues$.next(newValues)\n this.fireChangeEvent()\n this.announceToScreenReader(`Removed: ${this.getChipLabel(value)}`)\n }\n\n private getChipLabel(value: string): string {\n const option = this.options.find(opt => opt.value === value)\n return option ? option.label || option.textContent || value : value\n }\n\n private focusTextInput() {\n if (this.inputElementRef.value) {\n this.inputElementRef.value.focus()\n }\n }\n\n render() {\n const descriptionId = `${this.id}-desc`\n\n // Get size-based styling to match Schmancy input\n const getSizeStyles = () => {\n switch (this.size) {\n case 'sm':\n return {\n height: 'min-h-[40px]',\n padding: 'px-2',\n fontSize: 'text-sm', // 14px\n labelSize: 'text-sm'\n }\n case 'lg':\n return {\n height: 'min-h-[60px]',\n padding: 'px-5',\n fontSize: 'text-lg', // 18px\n labelSize: 'text-lg'\n }\n case 'md':\n default:\n return {\n height: 'min-h-[50px]',\n padding: 'px-4',\n fontSize: 'text-base', // 16px\n labelSize: 'text-base'\n }\n }\n }\n\n const { height, padding, fontSize, labelSize } = getSizeStyles()\n\n return html`\n <div class=\"relative\">\n <!-- Screen reader live region -->\n <div id=\"live-status\" role=\"status\" aria-live=\"polite\" class=\"sr-only\"></div>\n\n <!-- Description -->\n ${this.description ? html`<div id=\"${descriptionId}\" class=\"sr-only\">${this.description}</div>` : ''}\n\n <!-- Custom input wrapper for Gmail-style chip input -->\n <slot name=\"trigger\">\n ${when(this.multi,\n () => html`\n <!-- Custom multi-select input with inline chips -->\n <div class=\"relative\">\n ${when(this.label, () => html`\n <label class=\"${classMap({\n 'block mb-1 font-medium': true,\n 'text-primary-default': !this.error,\n 'text-error-default': this.error,\n [labelSize]: true\n })}\">\n ${this.label}${this.required ? html`<span class=\"text-error-default ml-1\">*</span>` : ''}\n </label>\n `)}\n <div\n class=\"${classMap({\n 'flex flex-wrap items-center gap-1': true,\n [height]: true,\n [padding]: true,\n 'block w-full min-w-0 rounded-[8px] border-0': true,\n 'bg-surface-highest text-surface-on': true,\n 'ring-0 ring-inset focus-within:ring-1 focus-within:ring-inset': true,\n 'ring-secondary-default focus-within:ring-secondary-default': !this.error,\n 'ring-error-default focus-within:ring-error-default': this.error,\n 'cursor-text transition-colors duration-200': true\n })}\"\n @click=${() => this.focusTextInput()}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-controls=\"options\"\n aria-expanded=${this.open}\n >\n <!-- Render chips inline -->\n ${repeat(\n this.selectedValues$.value,\n value => value,\n value => html`\n <schmancy-input-chip\n .value=${value}\n @remove=${(e: CustomEvent) => this.handleChipRemove(e.detail.value)}\n class=\"shrink-0 my-0.5\"\n >\n ${this.getChipLabel(value)}\n </schmancy-input-chip>\n `\n )}\n\n <!-- Text input for typing -->\n <input\n ${ref(this.inputElementRef)}\n id=\"autocomplete-input\"\n type=\"text\"\n class=\"flex-1 min-w-[120px] py-1 bg-transparent border-none outline-none ${fontSize} font-medium text-surface-on placeholder:text-muted\"\n name=${this.name || this.label?.toLowerCase().replace(/\\s+/g, '-') || ''}\n .placeholder=${this.selectedValues$.value.length > 0 ? 'Add more...' : this.placeholder}\n .value=${this.inputValue}\n .autocomplete=${this.autocomplete}\n aria-invalid=${this.error ? 'true' : 'false'}\n aria-required=${this.required ? 'true' : 'false'}\n aria-describedby=${this.error && this.validationMessage ? `${this.a11yId}-err` : nothing}\n aria-label=${!this.label && this.placeholder ? this.placeholder : nothing}\n @input=${(e: Event) => {\n const value = (e.target as HTMLInputElement).value\n this.inputValue = value\n this.inputValue$.next(value)\n }}\n @focus=${(e: FocusEvent) => {\n e.stopPropagation()\n // Clear input on focus for new searches\n this.inputValue = ''\n this.inputValue$.next('')\n this.openDropdown()\n }}\n @keydown=${(e: KeyboardEvent) => {\n this.handleKeyDown(e)\n }}\n @blur=${() => {\n this.handleAutoSelectOnBlur()\n }}\n />\n </div>\n\n <!-- Validation message -->\n ${when(this.error && this.validationMessage, () => html`\n <div id=\"${this.a11yId}-err\" class=\"mt-1 text-sm text-error-default\" role=\"alert\">\n ${this.validationMessage}\n </div>\n `)}\n </div>\n `,\n () => html`\n <!-- Regular single-select input -->\n <schmancy-input\n .size=${this.size}\n ${ref(this.inputElementRef)}\n id=\"autocomplete-input\"\n class=\"w-full\"\n .name=${this.name || this.label?.toLowerCase().replace(/\\s+/g, '-') || ''}\n .label=${this.label}\n .placeholder=${this.placeholder}\n .required=${this.required}\n .value=${this.inputValue}\n type=\"text\"\n autocomplete=${this.autocomplete}\n clickable\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-controls=\"options\"\n aria-expanded=${this.open}\n aria-describedby=${ifDefined(this.description ? descriptionId : undefined)}\n @input=${(e: Event) => {\n const value = (e.target as HTMLInputElement).value\n this.inputValue = value\n this.inputValue$.next(value)\n }}\n @focus=${(e: FocusEvent) => {\n e.stopPropagation()\n this.openDropdown()\n }}\n @click=${(e: MouseEvent) => {\n e.stopPropagation()\n this.openDropdown()\n }}\n @keydown=${(e: KeyboardEvent) => {\n this.handleKeyDown(e)\n }}\n @blur=${() => {\n this.handleAutoSelectOnBlur()\n }}\n >\n </schmancy-input>\n `\n )}\n </slot>\n\n <!-- Options dropdown -->\n <ul\n id=\"options\"\n class=${classMap({\n 'absolute': true,\n 'z-[1000]': true,\n 'mt-1': true,\n 'w-full': true,\n 'rounded-md': true,\n 'shadow-md': true,\n 'overflow-auto': true,\n 'min-w-full': true,\n 'bg-surface-low': true,\n 'flex': true,\n 'flex-col': true, // Enable flexbox for ordering\n })}\n role=\"listbox\"\n aria-multiselectable=${this.multi ? 'true' : 'false'}\n aria-label=${`${this.label || 'Options'} dropdown`}\n ?hidden=${!this.open}\n style=\"max-height: ${this.maxHeight}; display: ${this.open ? 'flex' : 'none'};\"\n @slotchange=${() => {\n this.setupOptionHandlers()\n }}\n >\n <slot></slot>\n ${!this.hasResults ? html`\n <li class=\"px-3 py-2 text-sm text-muted\">No results found</li>\n ` : ''}\n </ul>\n </div>\n `\n }\n\n private handleAutoSelectOnBlur() {\n // Only auto-select in single-select mode and when dropdown is open with a search term\n if (this.multi || !this.open || !this.inputValue.trim()) {\n return\n }\n \n const searchTerm = this.inputValue.trim()\n \n // Find the best matching option using the same similarity logic as filtering\n let bestMatch: SchmancyOption | null = null\n let bestScore = 0\n \n this.options.forEach(option => {\n // Skip hidden options\n if (option.hidden) return\n \n // Get text to search in (prioritize label, then textContent, then value)\n const optionLabel = option.label || option.textContent || ''\n const optionValue = option.value\n \n // Calculate similarity scores for both label and value\n const labelScore = similarity(searchTerm, optionLabel)\n const valueScore = similarity(searchTerm, optionValue)\n \n // Use the higher score (prioritizing label matches)\n const score = Math.max(labelScore * 1.1, valueScore) // Slight boost for label matches\n \n // Keep track of best match that meets threshold\n if (score > bestScore && score >= this.similarityThreshold) {\n bestScore = score\n bestMatch = option\n }\n })\n \n // Auto-select the best match if found\n if (bestMatch) {\n // Silently update the selected value without firing change event\n this.selectedValue$.next(bestMatch.value)\n this.inputValue = bestMatch.label || bestMatch.textContent || ''\n this.inputValue$.next(this.inputValue)\n this.open = false\n }\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n const isOpen = this.open\n const selectedValues = this.selectedValues$.value\n\n // Handle backspace to remove last chip in multi-select when input is empty\n if (this.multi && event.key === 'Backspace' && !this.inputValue && selectedValues.length > 0 && !isOpen) {\n event.preventDefault()\n const lastValue = selectedValues[selectedValues.length - 1]\n this.handleChipRemove(lastValue)\n return\n }\n\n if (!isOpen && (event.key === 'ArrowDown' || event.key === 'Enter')) {\n event.preventDefault()\n this.openDropdown()\n\n timer(10)\n .pipe(takeUntil(this.disconnecting))\n .subscribe(() => {\n const firstVisible = this.options.find(opt => !opt.hidden)\n firstVisible?.focus()\n })\n return\n }\n\n if (!isOpen) return\n\n const visibleOptions = this.options.filter(opt => !opt.hidden)\n .toSorted((a, b) => parseInt(a.style.order || '0') - parseInt(b.style.order || '0'))\n\n const focusedOption = visibleOptions.find(opt => opt === document.activeElement)\n const currentIndex = focusedOption ? visibleOptions.indexOf(focusedOption) : -1\n\n switch (event.key) {\n case 'Escape':\n event.preventDefault()\n this.open = false\n this.updateInputDisplay()\n this.inputElementRef.value?.focus()\n break\n\n case 'Tab':\n this.open = false\n this.updateInputDisplay()\n break\n\n case 'ArrowDown':\n event.preventDefault()\n const nextIndex = currentIndex < visibleOptions.length - 1 ? currentIndex + 1 : 0\n visibleOptions[nextIndex]?.focus()\n break\n\n case 'ArrowUp':\n event.preventDefault()\n const prevIndex = currentIndex > 0 ? currentIndex - 1 : visibleOptions.length - 1\n visibleOptions[prevIndex]?.focus()\n break\n\n case 'Home':\n event.preventDefault()\n visibleOptions[0]?.focus()\n break\n\n case 'End':\n event.preventDefault()\n visibleOptions[visibleOptions.length - 1]?.focus()\n break\n\n case 'Enter':\n case ' ':\n if (focusedOption) {\n event.preventDefault()\n this.selectOption(focusedOption)\n }\n break\n }\n }\n}\n\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-autocomplete': SchmancyAutocomplete\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- require(`./autocomplete-DEZk6wBD.cjs`);
1
+ require(`./autocomplete-DMmxsvUe.cjs`);
@@ -1 +1 @@
1
- import "./autocomplete-DIScyo8Q.js";
1
+ import "./autocomplete-DWiEqlQf.js";
package/dist/avatar.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-CncqDLb2.cjs`);const e=require(`./SchmancyElement-BHfQg3Tj.cjs`);require(`./mixins-DxHpyMHA.cjs`);const t=require(`./directives-D_l1E5H6.cjs`),n=require(`./theme.interface-CSt7JUBD.cjs`);let r=require(`lit/decorators.js`),i=require(`lit`);var a=class extends e.t{constructor(...e){super(...e),this.initials=``,this.src=``,this.icon=``,this.size=`md`,this.color=`primary`,this.shape=`circle`,this.bordered=!1,this.status=`none`}render(){let e;e=this.src?i.html`<img class="w-full h-full object-cover" src="${this.src}" alt="Avatar" />`:this.initials?i.html`<span class="text-center font-medium">${this.initials.substring(0,2).toUpperCase()}</span>`:this.icon?i.html`<schmancy-icon>${this.icon}</schmancy-icon>`:i.html`<schmancy-icon>person</schmancy-icon>`;let t={"relative flex items-center justify-center overflow-hidden":!0,[{xxs:`w-5 h-5 text-[8px]`,xs:`w-6 h-6 text-xs`,sm:`w-8 h-8 text-sm`,md:`w-10 h-10 text-base`,lg:`w-12 h-12 text-lg`,xl:`w-16 h-16 text-xl`}[this.size]]:!0,[{circle:`rounded-full`,square:`rounded-md`}[this.shape]]:!0,"border-2 border-surface-container":this.bordered},n=this.getColorAttributes();return i.html`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-CncqDLb2.cjs`);const e=require(`./SchmancyElement-C41uPa6l.cjs`);require(`./mixins-fIpzhVMd.cjs`);const t=require(`./directives-Bb0S1DKZ.cjs`),n=require(`./theme.interface-CSt7JUBD.cjs`);let r=require(`lit/decorators.js`),i=require(`lit`);var a=class extends e.t{constructor(...e){super(...e),this.initials=``,this.src=``,this.icon=``,this.size=`md`,this.color=`primary`,this.shape=`circle`,this.bordered=!1,this.status=`none`}render(){let e;e=this.src?i.html`<img class="w-full h-full object-cover" src="${this.src}" alt="Avatar" />`:this.initials?i.html`<span class="text-center font-medium">${this.initials.substring(0,2).toUpperCase()}</span>`:this.icon?i.html`<schmancy-icon>${this.icon}</schmancy-icon>`:i.html`<schmancy-icon>person</schmancy-icon>`;let t={"relative flex items-center justify-center overflow-hidden":!0,[{xxs:`w-5 h-5 text-[8px]`,xs:`w-6 h-6 text-xs`,sm:`w-8 h-8 text-sm`,md:`w-10 h-10 text-base`,lg:`w-12 h-12 text-lg`,xl:`w-16 h-16 text-xl`}[this.size]]:!0,[{circle:`rounded-full`,square:`rounded-md`}[this.shape]]:!0,"border-2 border-surface-container":this.bordered},n=this.getColorAttributes();return i.html`
2
2
  <div class="${this.classMap(t)}" ${n}>
3
3
  ${e} ${this.status===`none`?``:this.renderStatusIndicator()}
4
4
  </div>
package/dist/avatar.js CHANGED
@@ -1,6 +1,6 @@
1
- import { t as e, u as t } from "./SchmancyElement-CDT2q1lA.js";
2
- import "./mixins-De1zjyhy.js";
3
- import { S as n } from "./directives-DyS51FUh.js";
1
+ import { t as e, u as t } from "./SchmancyElement-BNnyBOwk.js";
2
+ import "./mixins-DGBI7YPO.js";
3
+ import { S as n } from "./directives-Bfm1lkoy.js";
4
4
  import { t as r } from "./theme.interface-odQEpZZH.js";
5
5
  import { customElement as i, property as a } from "lit/decorators.js";
6
6
  import { html as o } from "lit";
package/dist/badge.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./src-Um_pzb-U.cjs`);Object.defineProperty(exports,`ScBadgeV2`,{enumerable:!0,get:function(){return e.w}}),Object.defineProperty(exports,`SchmancyBadgeV2`,{enumerable:!0,get:function(){return e.T}});
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./src-CYqBQTyt.cjs`);Object.defineProperty(exports,`ScBadgeV2`,{enumerable:!0,get:function(){return e.w}}),Object.defineProperty(exports,`SchmancyBadgeV2`,{enumerable:!0,get:function(){return e.T}});
package/dist/badge.js CHANGED
@@ -1,2 +1,2 @@
1
- import { T as e, w as t } from "./src-BP3h-9d9.js";
1
+ import { T as e, w as t } from "./src-CIqAj3Eh.js";
2
2
  export { t as ScBadgeV2, e as SchmancyBadgeV2 };
@@ -1,9 +1,9 @@
1
- import { t as e, u as t } from "./SchmancyElement-CDT2q1lA.js";
2
- import "./mixins-De1zjyhy.js";
1
+ import { t as e, u as t } from "./SchmancyElement-BNnyBOwk.js";
2
+ import "./mixins-DGBI7YPO.js";
3
3
  import { d as n } from "./animation-DCznELuT.js";
4
4
  import { t as r } from "./reduced-motion-D-L12p7G.js";
5
- import { n as i } from "./theme.service-DwLhhOmP.js";
6
- import { o as a } from "./overlay.service-BTp5Oq7f.js";
5
+ import { n as i } from "./theme.service-7VkM-hVf.js";
6
+ import { o as a } from "./overlay.service-KTgBxjFb.js";
7
7
  import { exhaustMap as o, filter as s, finalize as c, fromEvent as l, merge as u, takeUntil as d, tap as f } from "rxjs";
8
8
  import { classMap as p } from "lit/directives/class-map.js";
9
9
  import { styleMap as m } from "lit/directives/style-map.js";