@mhmo91/schmancy 0.2.199 → 0.2.200

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 (280) hide show
  1. package/dist/_commonjsHelpers-Dw9sPFZy.js +7 -0
  2. package/dist/_commonjsHelpers-Dw9sPFZy.js.map +1 -0
  3. package/dist/_commonjsHelpers-k2hpEU-q.cjs +2 -0
  4. package/dist/_commonjsHelpers-k2hpEU-q.cjs.map +1 -0
  5. package/dist/{animated-text-Cb07SP6h.js → animated-text-BZWvzqEZ.js} +3 -3
  6. package/dist/{animated-text-Cb07SP6h.js.map → animated-text-BZWvzqEZ.js.map} +1 -1
  7. package/dist/{animated-text-DML1qmmR.cjs → animated-text-BgLktXr-.cjs} +2 -2
  8. package/dist/{animated-text-DML1qmmR.cjs.map → animated-text-BgLktXr-.cjs.map} +1 -1
  9. package/dist/animated-text.cjs +1 -1
  10. package/dist/animated-text.js +1 -1
  11. package/dist/area.cjs +1 -1
  12. package/dist/{area.component-Psgv50Lq.cjs → area.component-CqKoQRDp.cjs} +2 -2
  13. package/dist/{area.component-Psgv50Lq.cjs.map → area.component-CqKoQRDp.cjs.map} +1 -1
  14. package/dist/{area.component-CdFovqHE.js → area.component-zvrF1R-P.js} +3 -3
  15. package/dist/{area.component-CdFovqHE.js.map → area.component-zvrF1R-P.js.map} +1 -1
  16. package/dist/area.js +1 -1
  17. package/dist/{autocomplete-B4F-i4IH.cjs → autocomplete-BCE9oBkO.cjs} +2 -2
  18. package/dist/{autocomplete-B4F-i4IH.cjs.map → autocomplete-BCE9oBkO.cjs.map} +1 -1
  19. package/dist/{autocomplete-87RcHRRv.js → autocomplete-CpYDECg0.js} +3 -3
  20. package/dist/{autocomplete-87RcHRRv.js.map → autocomplete-CpYDECg0.js.map} +1 -1
  21. package/dist/autocomplete.cjs +1 -1
  22. package/dist/autocomplete.js +1 -1
  23. package/dist/{avatar-Dx-kdZaM.js → avatar-B_BubJYb.js} +46 -45
  24. package/dist/{avatar-Dx-kdZaM.js.map → avatar-B_BubJYb.js.map} +1 -1
  25. package/dist/{avatar-DI6tP5aD.cjs → avatar-B_y2vLrR.cjs} +2 -2
  26. package/dist/{avatar-DI6tP5aD.cjs.map → avatar-B_y2vLrR.cjs.map} +1 -1
  27. package/dist/badge.cjs +1 -1
  28. package/dist/badge.js +1 -1
  29. package/dist/busy.cjs +1 -1
  30. package/dist/busy.js +1 -1
  31. package/dist/button.cjs +1 -1
  32. package/dist/button.js +1 -1
  33. package/dist/card.cjs +1 -1
  34. package/dist/card.js +1 -1
  35. package/dist/{checkbox-Cntlr_eV.js → checkbox-CJ6x-G_b.js} +2 -2
  36. package/dist/{checkbox-Cntlr_eV.js.map → checkbox-CJ6x-G_b.js.map} +1 -1
  37. package/dist/{checkbox-C80YxaCN.cjs → checkbox-DATn1US_.cjs} +2 -2
  38. package/dist/{checkbox-C80YxaCN.cjs.map → checkbox-DATn1US_.cjs.map} +1 -1
  39. package/dist/checkbox.cjs +1 -1
  40. package/dist/checkbox.js +1 -1
  41. package/dist/{chips-CI-fsAqX.cjs → chips-BbWIMKDU.cjs} +2 -2
  42. package/dist/{chips-CI-fsAqX.cjs.map → chips-BbWIMKDU.cjs.map} +1 -1
  43. package/dist/{chips-vMtInVGX.js → chips-CcT1N7--.js} +9 -9
  44. package/dist/{chips-vMtInVGX.js.map → chips-CcT1N7--.js.map} +1 -1
  45. package/dist/chips.cjs +1 -1
  46. package/dist/chips.js +1 -1
  47. package/dist/{circular-progress-8LR4RVjD.js → circular-progress-Cs3G6PHo.js} +3 -3
  48. package/dist/{circular-progress-8LR4RVjD.js.map → circular-progress-Cs3G6PHo.js.map} +1 -1
  49. package/dist/{circular-progress-CSWSAcU6.cjs → circular-progress-JGc2_9ef.cjs} +2 -2
  50. package/dist/{circular-progress-CSWSAcU6.cjs.map → circular-progress-JGc2_9ef.cjs.map} +1 -1
  51. package/dist/circular-progress.cjs +1 -1
  52. package/dist/circular-progress.js +1 -1
  53. package/dist/code-highlight.cjs +2 -0
  54. package/dist/code-highlight.cjs.map +1 -0
  55. package/dist/code-highlight.js +7 -0
  56. package/dist/code-highlight.js.map +1 -0
  57. package/dist/code-preview-BZ-uk6y1.js +876 -0
  58. package/dist/code-preview-BZ-uk6y1.js.map +1 -0
  59. package/dist/code-preview-DXf_SN2X.cjs +133 -0
  60. package/dist/code-preview-DXf_SN2X.cjs.map +1 -0
  61. package/dist/components.cjs +1 -1
  62. package/dist/components.js +1 -1
  63. package/dist/content-drawer.cjs +1 -1
  64. package/dist/content-drawer.js +1 -1
  65. package/dist/date-range-D85imfq-.cjs +121 -0
  66. package/dist/{date-range-BkVCslGl.cjs.map → date-range-D85imfq-.cjs.map} +1 -1
  67. package/dist/{date-range-ChsdVWRV.js → date-range-Dt9V5MyB.js} +62 -64
  68. package/dist/{date-range-ChsdVWRV.js.map → date-range-Dt9V5MyB.js.map} +1 -1
  69. package/dist/date-range.cjs +1 -1
  70. package/dist/date-range.js +1 -1
  71. package/dist/{delay-D6UmIwSa.cjs → delay-BH-y0tJg.cjs} +2 -2
  72. package/dist/{delay-D6UmIwSa.cjs.map → delay-BH-y0tJg.cjs.map} +1 -1
  73. package/dist/{delay-DJMIbnvL.js → delay-CE3iPMYG.js} +11 -11
  74. package/dist/{delay-DJMIbnvL.js.map → delay-CE3iPMYG.js.map} +1 -1
  75. package/dist/delay.cjs +1 -1
  76. package/dist/delay.js +1 -1
  77. package/dist/{dialog-content-Cw1Al_Re.cjs → dialog-content-BQN75NSZ.cjs} +2 -2
  78. package/dist/{dialog-content-Cw1Al_Re.cjs.map → dialog-content-BQN75NSZ.cjs.map} +1 -1
  79. package/dist/{dialog-content-CWvxqVsr.js → dialog-content-E5R1XfK5.js} +3 -3
  80. package/dist/{dialog-content-CWvxqVsr.js.map → dialog-content-E5R1XfK5.js.map} +1 -1
  81. package/dist/dialog.cjs +1 -1
  82. package/dist/dialog.js +1 -1
  83. package/dist/{divider-Cp6EXlTN.cjs → divider-BEtL0P-_.cjs} +2 -2
  84. package/dist/{divider-Cp6EXlTN.cjs.map → divider-BEtL0P-_.cjs.map} +1 -1
  85. package/dist/{divider-BGo7hglJ.js → divider-BlSi0WWi.js} +3 -3
  86. package/dist/{divider-BGo7hglJ.js.map → divider-BlSi0WWi.js.map} +1 -1
  87. package/dist/divider.cjs +1 -1
  88. package/dist/divider.js +1 -1
  89. package/dist/{dropdown-content-CTWWDRgy.js → dropdown-content-DkKciM_R.js} +3 -3
  90. package/dist/{dropdown-content-CTWWDRgy.js.map → dropdown-content-DkKciM_R.js.map} +1 -1
  91. package/dist/{dropdown-content-CmCumNjC.cjs → dropdown-content-HRI7Jkak.cjs} +2 -2
  92. package/dist/{dropdown-content-CmCumNjC.cjs.map → dropdown-content-HRI7Jkak.cjs.map} +1 -1
  93. package/dist/dropdown.cjs +1 -1
  94. package/dist/dropdown.js +1 -1
  95. package/dist/extra.cjs +1 -1
  96. package/dist/extra.js +1 -1
  97. package/dist/{flex-Dyfn6mxF.cjs → flex-CwTn3AfA.cjs} +2 -2
  98. package/dist/{flex-Dyfn6mxF.cjs.map → flex-CwTn3AfA.cjs.map} +1 -1
  99. package/dist/{flex-CKtJkkxU.js → flex-DHA02Mfw.js} +2 -2
  100. package/dist/{flex-CKtJkkxU.js.map → flex-DHA02Mfw.js.map} +1 -1
  101. package/dist/{form-BbQRONBu.cjs → form-C9llOgOw.cjs} +2 -2
  102. package/dist/{form-BbQRONBu.cjs.map → form-C9llOgOw.cjs.map} +1 -1
  103. package/dist/{form-BZdw3XUt.js → form-DsprWndI.js} +2 -2
  104. package/dist/{form-BZdw3XUt.js.map → form-DsprWndI.js.map} +1 -1
  105. package/dist/form.cjs +1 -1
  106. package/dist/form.js +1 -1
  107. package/dist/{icon-CNkK3oMH.cjs → icon-B1vaqlkD.cjs} +2 -2
  108. package/dist/icon-B1vaqlkD.cjs.map +1 -0
  109. package/dist/{icon-PZTHZSsC.js → icon-D967cxey.js} +2 -3
  110. package/dist/icon-D967cxey.js.map +1 -0
  111. package/dist/{icon-button-5_uidIo2.js → icon-button-C_OqjQfc.js} +3 -3
  112. package/dist/{icon-button-5_uidIo2.js.map → icon-button-C_OqjQfc.js.map} +1 -1
  113. package/dist/{icon-button-L6UzTqIn.cjs → icon-button-D6RzSEQb.cjs} +2 -2
  114. package/dist/{icon-button-L6UzTqIn.cjs.map → icon-button-D6RzSEQb.cjs.map} +1 -1
  115. package/dist/icons.cjs +1 -1
  116. package/dist/icons.js +1 -1
  117. package/dist/index.cjs +1 -1
  118. package/dist/index.js +156 -152
  119. package/dist/index.js.map +1 -1
  120. package/dist/{input-cvO-mD1t.js → input-4heVsnGw.js} +2 -2
  121. package/dist/{input-cvO-mD1t.js.map → input-4heVsnGw.js.map} +1 -1
  122. package/dist/{input-GETorvfT.cjs → input-DschQCBp.cjs} +2 -2
  123. package/dist/{input-GETorvfT.cjs.map → input-DschQCBp.cjs.map} +1 -1
  124. package/dist/input.cjs +1 -1
  125. package/dist/input.js +1 -1
  126. package/dist/layout.cjs +1 -1
  127. package/dist/layout.js +1 -1
  128. package/dist/{list-BPQwn2ZD.cjs → list-B1bxSmd5.cjs} +2 -2
  129. package/dist/{list-BPQwn2ZD.cjs.map → list-B1bxSmd5.cjs.map} +1 -1
  130. package/dist/{list-CjVW-XS-.js → list-DE1otSG3.js} +2 -2
  131. package/dist/{list-CjVW-XS-.js.map → list-DE1otSG3.js.map} +1 -1
  132. package/dist/list.cjs +1 -1
  133. package/dist/list.js +1 -1
  134. package/dist/{litElement.mixin-BKgKxczr.js → litElement.mixin-1-y-wwQg.js} +2 -2
  135. package/dist/{litElement.mixin-BKgKxczr.js.map → litElement.mixin-1-y-wwQg.js.map} +1 -1
  136. package/dist/{litElement.mixin-0pIFA8ru.cjs → litElement.mixin-CB6DWbFn.cjs} +2 -2
  137. package/dist/{litElement.mixin-0pIFA8ru.cjs.map → litElement.mixin-CB6DWbFn.cjs.map} +1 -1
  138. package/dist/{menu-Bj9xX6Hn.js → menu-B1qPlV2t.js} +3 -3
  139. package/dist/{menu-Bj9xX6Hn.js.map → menu-B1qPlV2t.js.map} +1 -1
  140. package/dist/{menu-BpjaKAXC.cjs → menu-TDH53RmV.cjs} +2 -2
  141. package/dist/{menu-BpjaKAXC.cjs.map → menu-TDH53RmV.cjs.map} +1 -1
  142. package/dist/menu.cjs +1 -1
  143. package/dist/menu.js +1 -1
  144. package/dist/nav-drawer.cjs +1 -1
  145. package/dist/nav-drawer.js +1 -1
  146. package/dist/{notification-service-BFAKagab.cjs → notification-service-BKSRwonz.cjs} +2 -2
  147. package/dist/{notification-service-BFAKagab.cjs.map → notification-service-BKSRwonz.cjs.map} +1 -1
  148. package/dist/{notification-service-ITb5rmvM.js → notification-service-D2pgTqTS.js} +3 -3
  149. package/dist/{notification-service-ITb5rmvM.js.map → notification-service-D2pgTqTS.js.map} +1 -1
  150. package/dist/notification.cjs +1 -1
  151. package/dist/notification.js +1 -1
  152. package/dist/{option-_DZj4_on.js → option-CLY6hO5V.js} +2 -2
  153. package/dist/{option-_DZj4_on.js.map → option-CLY6hO5V.js.map} +1 -1
  154. package/dist/{option-vszqrPbH.cjs → option-Q6l-t3es.cjs} +2 -2
  155. package/dist/{option-vszqrPbH.cjs.map → option-Q6l-t3es.cjs.map} +1 -1
  156. package/dist/option.cjs +1 -1
  157. package/dist/option.js +1 -1
  158. package/dist/{payment-card-form-CxhMa60Q.js → payment-card-form-BpaCnjrt.js} +3 -3
  159. package/dist/{payment-card-form-CxhMa60Q.js.map → payment-card-form-BpaCnjrt.js.map} +1 -1
  160. package/dist/{payment-card-form-DgFUnANa.cjs → payment-card-form-V5eIamA9.cjs} +2 -2
  161. package/dist/{payment-card-form-DgFUnANa.cjs.map → payment-card-form-V5eIamA9.cjs.map} +1 -1
  162. package/dist/{radio-button-svaVfPn8.js → radio-button-CuTpkLr8.js} +2 -2
  163. package/dist/{radio-button-svaVfPn8.js.map → radio-button-CuTpkLr8.js.map} +1 -1
  164. package/dist/{radio-button-ChM1WZDg.cjs → radio-button-Dm2I9Ic4.cjs} +2 -2
  165. package/dist/{radio-button-ChM1WZDg.cjs.map → radio-button-Dm2I9Ic4.cjs.map} +1 -1
  166. package/dist/radio-group.cjs +1 -1
  167. package/dist/radio-group.js +1 -1
  168. package/dist/{schmancy-steps-container-C_-PFkRy.cjs → schmancy-steps-container-DO4tx0KH.cjs} +2 -2
  169. package/dist/{schmancy-steps-container-C_-PFkRy.cjs.map → schmancy-steps-container-DO4tx0KH.cjs.map} +1 -1
  170. package/dist/{schmancy-steps-container-9fHGNLHd.js → schmancy-steps-container-SrnYbTe-.js} +2 -2
  171. package/dist/{schmancy-steps-container-9fHGNLHd.js.map → schmancy-steps-container-SrnYbTe-.js.map} +1 -1
  172. package/dist/{select-DEd1YJF0.cjs → select-BJdRm5US.cjs} +2 -2
  173. package/dist/{select-DEd1YJF0.cjs.map → select-BJdRm5US.cjs.map} +1 -1
  174. package/dist/{select-CWulYSxd.js → select-DfemPf0w.js} +3 -3
  175. package/dist/{select-CWulYSxd.js.map → select-DfemPf0w.js.map} +1 -1
  176. package/dist/select.cjs +1 -1
  177. package/dist/select.js +1 -1
  178. package/dist/{sheet-BhKQmvCN.cjs → sheet-BtaT1eui.cjs} +2 -2
  179. package/dist/{sheet-BhKQmvCN.cjs.map → sheet-BtaT1eui.cjs.map} +1 -1
  180. package/dist/{sheet-C2f1XwT3.js → sheet-Bvj7tapP.js} +3 -3
  181. package/dist/{sheet-C2f1XwT3.js.map → sheet-Bvj7tapP.js.map} +1 -1
  182. package/dist/sheet.cjs +1 -1
  183. package/dist/sheet.js +1 -1
  184. package/dist/{slider-CetPyN3J.cjs → slider-AQvRuZ-m.cjs} +2 -2
  185. package/dist/{slider-CetPyN3J.cjs.map → slider-AQvRuZ-m.cjs.map} +1 -1
  186. package/dist/{slider-CmJGqDDU.js → slider-DAwHA6Az.js} +3 -3
  187. package/dist/{slider-CmJGqDDU.js.map → slider-DAwHA6Az.js.map} +1 -1
  188. package/dist/slider.cjs +1 -1
  189. package/dist/slider.js +1 -1
  190. package/dist/{spinner-CLfAy0cd.cjs → spinner-BLy3-lqb.cjs} +2 -2
  191. package/dist/{spinner-CLfAy0cd.cjs.map → spinner-BLy3-lqb.cjs.map} +1 -1
  192. package/dist/{spinner-CmJk8fIO.js → spinner-DrZuae0L.js} +3 -3
  193. package/dist/{spinner-CmJk8fIO.js.map → spinner-DrZuae0L.js.map} +1 -1
  194. package/dist/steps.cjs +1 -1
  195. package/dist/steps.js +1 -1
  196. package/dist/{surface-ChxX03-I.cjs → surface-BOerTano.cjs} +2 -2
  197. package/dist/{surface-ChxX03-I.cjs.map → surface-BOerTano.cjs.map} +1 -1
  198. package/dist/{surface-BnlEKr-d.js → surface-CAlEVfSs.js} +2 -2
  199. package/dist/{surface-BnlEKr-d.js.map → surface-CAlEVfSs.js.map} +1 -1
  200. package/dist/surface.cjs +1 -1
  201. package/dist/surface.js +1 -1
  202. package/dist/{table-CzD7rJ5o.cjs → table-B3VrNQUV.cjs} +2 -2
  203. package/dist/{table-CzD7rJ5o.cjs.map → table-B3VrNQUV.cjs.map} +1 -1
  204. package/dist/{table-CZJ14ZEI.js → table-hjsAGpRq.js} +2 -2
  205. package/dist/{table-CZJ14ZEI.js.map → table-hjsAGpRq.js.map} +1 -1
  206. package/dist/table.cjs +1 -1
  207. package/dist/table.js +1 -1
  208. package/dist/{tabs-compatibility-DHkghYmL.js → tabs-compatibility-D9ajXdXz.js} +2 -2
  209. package/dist/{tabs-compatibility-DHkghYmL.js.map → tabs-compatibility-D9ajXdXz.js.map} +1 -1
  210. package/dist/{tabs-compatibility-BviE0FdA.cjs → tabs-compatibility-DdXO8DcF.cjs} +2 -2
  211. package/dist/{tabs-compatibility-BviE0FdA.cjs.map → tabs-compatibility-DdXO8DcF.cjs.map} +1 -1
  212. package/dist/tabs.cjs +1 -1
  213. package/dist/tabs.js +1 -1
  214. package/dist/tailwind.mixin-DPUboU_5.js +43 -0
  215. package/dist/{tailwind.mixin-k9HTphsu.js.map → tailwind.mixin-DPUboU_5.js.map} +1 -1
  216. package/dist/tailwind.mixin-mxyACxyp.cjs +2 -0
  217. package/dist/{tailwind.mixin-DFxMrwgk.cjs.map → tailwind.mixin-mxyACxyp.cjs.map} +1 -1
  218. package/dist/teleport.cjs +1 -1
  219. package/dist/teleport.js +1 -1
  220. package/dist/{textarea-qNzKErHX.cjs → textarea-C16vg4ME.cjs} +2 -2
  221. package/dist/{textarea-qNzKErHX.cjs.map → textarea-C16vg4ME.cjs.map} +1 -1
  222. package/dist/{textarea-kTwx4MAh.js → textarea-DqFx1pM1.js} +2 -2
  223. package/dist/{textarea-kTwx4MAh.js.map → textarea-DqFx1pM1.js.map} +1 -1
  224. package/dist/textarea.cjs +1 -1
  225. package/dist/textarea.js +1 -1
  226. package/dist/{theme-button-Dt3WQdd4.cjs → theme-button-CgZ5qc7_.cjs} +2 -2
  227. package/dist/{theme-button-Dt3WQdd4.cjs.map → theme-button-CgZ5qc7_.cjs.map} +1 -1
  228. package/dist/{theme-button-CCwPpArv.js → theme-button-D5fnf2QD.js} +2 -2
  229. package/dist/{theme-button-CCwPpArv.js.map → theme-button-D5fnf2QD.js.map} +1 -1
  230. package/dist/theme-button.cjs +1 -1
  231. package/dist/theme-button.js +1 -1
  232. package/dist/theme.cjs +1 -1
  233. package/dist/{theme.component-Drq675ta.cjs → theme.component-B5uMqEbH.cjs} +2 -2
  234. package/dist/{theme.component-Drq675ta.cjs.map → theme.component-B5uMqEbH.cjs.map} +1 -1
  235. package/dist/{theme.component-CJHr6wNa.js → theme.component-BOnjDUB3.js} +2 -2
  236. package/dist/{theme.component-CJHr6wNa.js.map → theme.component-BOnjDUB3.js.map} +1 -1
  237. package/dist/theme.js +1 -1
  238. package/dist/{timezone-oZ1r5Z54.cjs → timezone-CdAu8QsM.cjs} +2 -2
  239. package/dist/{timezone-oZ1r5Z54.cjs.map → timezone-CdAu8QsM.cjs.map} +1 -1
  240. package/dist/{timezone-B53HOn4a.js → timezone-DwU-YCRw.js} +3 -3
  241. package/dist/{timezone-B53HOn4a.js.map → timezone-DwU-YCRw.js.map} +1 -1
  242. package/dist/{tooltip-Bfcu9uoC.js → tooltip-Bn-UWxd4.js} +2 -2
  243. package/dist/{tooltip-Bfcu9uoC.js.map → tooltip-Bn-UWxd4.js.map} +1 -1
  244. package/dist/{tooltip-DrLzz4rf.cjs → tooltip-CyI3NYzI.cjs} +2 -2
  245. package/dist/{tooltip-DrLzz4rf.cjs.map → tooltip-CyI3NYzI.cjs.map} +1 -1
  246. package/dist/tooltip.cjs +1 -1
  247. package/dist/tooltip.js +1 -1
  248. package/dist/{tree-n0KxiiWX.js → tree-D2g2zq2B.js} +2 -2
  249. package/dist/{tree-n0KxiiWX.js.map → tree-D2g2zq2B.js.map} +1 -1
  250. package/dist/{tree-Buf-0IQD.cjs → tree-DdXcAF6S.cjs} +2 -2
  251. package/dist/{tree-Buf-0IQD.cjs.map → tree-DdXcAF6S.cjs.map} +1 -1
  252. package/dist/tree.cjs +1 -1
  253. package/dist/tree.js +1 -1
  254. package/dist/{typewriter-W7Rj384X.js → typewriter-3w_PiJFo.js} +16 -16
  255. package/dist/{typewriter-W7Rj384X.js.map → typewriter-3w_PiJFo.js.map} +1 -1
  256. package/dist/{typewriter-DSUU_7wv.cjs → typewriter-RVqJuWSv.cjs} +2 -2
  257. package/dist/{typewriter-DSUU_7wv.cjs.map → typewriter-RVqJuWSv.cjs.map} +1 -1
  258. package/dist/typewriter.cjs +1 -1
  259. package/dist/typewriter.js +1 -1
  260. package/dist/typography-BLJPXhuT.cjs +10 -0
  261. package/dist/typography-BLJPXhuT.cjs.map +1 -0
  262. package/dist/typography-izBBu-t8.js +37 -0
  263. package/dist/typography-izBBu-t8.js.map +1 -0
  264. package/dist/typography.cjs +1 -1
  265. package/dist/typography.js +1 -1
  266. package/package.json +2 -1
  267. package/types/src/code-highlight/code-highlight.d.ts +39 -0
  268. package/types/src/code-highlight/code-preview.d.ts +25 -0
  269. package/types/src/code-highlight/index.d.ts +3 -0
  270. package/types/src/icons/icon.d.ts +1 -1
  271. package/types/src/index.d.ts +1 -0
  272. package/dist/date-range-BkVCslGl.cjs +0 -121
  273. package/dist/icon-CNkK3oMH.cjs.map +0 -1
  274. package/dist/icon-PZTHZSsC.js.map +0 -1
  275. package/dist/tailwind.mixin-DFxMrwgk.cjs +0 -2
  276. package/dist/tailwind.mixin-k9HTphsu.js +0 -43
  277. package/dist/typography-DaN7dGA2.cjs +0 -6
  278. package/dist/typography-DaN7dGA2.cjs.map +0 -1
  279. package/dist/typography-XkeTnrP9.js +0 -29
  280. package/dist/typography-XkeTnrP9.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete-87RcHRRv.js","sources":["../src/utils/search.ts","../src/autocomplete/autocomplete.ts"],"sourcesContent":["/**\n * Calculate similarity score between two strings.\n * Returns a value between 0 (no match) and 1 (exact match).\n * Optimized for autocomplete with prioritization of start matches and whole words.\n *\n * @param query The search query string\n * @param target The target string to compare against\n * @returns A similarity score from 0 to 1\n */\nexport function similarity(query: string, target: string): number {\n\t// Handle edge cases\n\tif (!query || !target) return 0\n\tif (query === target) return 1\n\n\t// Normalize strings for comparison\n\tconst normalizedQuery = query.toLowerCase().trim()\n\tconst normalizedTarget = target.toLowerCase().trim()\n\n\t// 1. Exact match (case-insensitive)\n\tif (normalizedQuery === normalizedTarget) return 1\n\n\t// 2. Target starts with query (highest priority for autocomplete)\n\tif (normalizedTarget.startsWith(normalizedQuery)) {\n\t\t// Give higher score to shorter targets (more precise matches)\n\t\tconst lengthRatio = normalizedQuery.length / normalizedTarget.length\n\t\treturn 0.95 + (lengthRatio * 0.05) // Score between 0.95 and 1.0\n\t}\n\n\t// 3. Word boundary match (query matches start of any word in target)\n\tconst words = normalizedTarget.split(/[\\s\\-_]+/)\n\tfor (const word of words) {\n\t\tif (word.startsWith(normalizedQuery)) {\n\t\t\t// Score based on which word matched (earlier words score higher)\n\t\t\tconst wordIndex = words.indexOf(word)\n\t\t\tconst wordPositionScore = 1 - (wordIndex / words.length) * 0.1\n\t\t\treturn 0.85 * wordPositionScore // Score between 0.765 and 0.85\n\t\t}\n\t}\n\n\t// 4. Direct substring match (query appears anywhere in target)\n\tif (normalizedTarget.includes(normalizedQuery)) {\n\t\t// Score based on position (earlier position scores higher)\n\t\tconst position = normalizedTarget.indexOf(normalizedQuery)\n\t\tconst positionScore = 1 - (position / normalizedTarget.length) * 0.2\n\t\treturn 0.7 * positionScore // Score between 0.56 and 0.7\n\t}\n\n\t// 5. Subsequence check (all query chars appear in order)\n\tif (isSubsequence(normalizedQuery, normalizedTarget)) {\n\t\treturn 0.5\n\t}\n\n\t// 6. Fuzzy matching for typos\n\t// 6a. Dice coefficient (good for similar words)\n\tconst diceScore = diceCoefficient(normalizedQuery, normalizedTarget)\n\t\n\t// 6b. Levenshtein distance (good for typos)\n\tconst maxLength = Math.max(normalizedQuery.length, normalizedTarget.length)\n\tconst levenshteinDistance = calculateLevenshtein(normalizedQuery, normalizedTarget)\n\tconst levenshteinScore = maxLength ? 1 - levenshteinDistance / maxLength : 0\n\n\t// 6c. Character frequency match (anagram-like)\n\tconst anagramScore = hasAllCharacters(normalizedQuery, normalizedTarget) ? 0.3 : 0\n\n\t// Combine fuzzy scores with weights\n\tconst fuzzyScore = Math.max(\n\t\tdiceScore * 0.4,\n\t\tlevenshteinScore * 0.4,\n\t\tanagramScore\n\t)\n\n\treturn fuzzyScore\n}\n\n// Keep the rest of the helper functions as they are...\n/**\n * Check if string 'sub' is a subsequence of string 'str'.\n * All characters in 'sub' must appear in order in 'str'.\n */\nfunction isSubsequence(sub: string, str: string): boolean {\n\tlet i = 0,\n\t\tj = 0\n\twhile (i < sub.length && j < str.length) {\n\t\tif (sub[i] === str[j]) i++\n\t\tj++\n\t}\n\treturn i === sub.length\n}\n\n/**\n * Check if all characters in 'query' are present in 'target'.\n * For example, \"aovc\" matches \"avocados\" (anagram subset matching).\n */\nfunction hasAllCharacters(query: string, target: string): boolean {\n\tconst countChars = (s: string): Record<string, number> => {\n\t\treturn s.split('').reduce(\n\t\t\t(acc, char) => {\n\t\t\t\tacc[char] = (acc[char] || 0) + 1\n\t\t\t\treturn acc\n\t\t\t},\n\t\t\t{} as Record<string, number>,\n\t\t)\n\t}\n\n\tconst queryCount = countChars(query)\n\tconst targetCount = countChars(target)\n\n\treturn Object.keys(queryCount).every(char => (targetCount[char] || 0) >= queryCount[char])\n}\n\n/**\n * Generate bigrams for a string.\n * A bigram is a sequence of two adjacent characters.\n */\nfunction getBigrams(s: string): string[] {\n\tconst bigrams = []\n\tfor (let i = 0; i < s.length - 1; i++) {\n\t\tbigrams.push(s.substring(i, i + 2))\n\t}\n\treturn bigrams\n}\n\n/**\n * Compute Dice's coefficient for two strings based on bigrams.\n * Returns a value between 0 (no similarity) and 1 (perfect match).\n */\nfunction diceCoefficient(s1: string, s2: string): number {\n\tif (s1.length < 2 || s2.length < 2) return 0\n\n\tconst bigrams1 = getBigrams(s1)\n\tconst bigrams2 = getBigrams(s2)\n\n\tlet intersection = 0\n\tconst used = new Array(bigrams2.length).fill(false)\n\n\tfor (const bigram of bigrams1) {\n\t\tfor (let i = 0; i < bigrams2.length; i++) {\n\t\t\tif (!used[i] && bigrams2[i] === bigram) {\n\t\t\t\tintersection++\n\t\t\t\tused[i] = true\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\treturn (2 * intersection) / (bigrams1.length + bigrams2.length)\n}\n\n/**\n * Calculate Levenshtein distance between two strings.\n */\nfunction calculateLevenshtein(a: string, b: string): number {\n\tif (a.length === 0) return b.length\n\tif (b.length === 0) return a.length\n\n\tconst matrix: number[][] = []\n\n\t// Initialize the matrix\n\tfor (let i = 0; i <= b.length; i++) {\n\t\tmatrix[i] = [i]\n\t}\n\tfor (let j = 0; j <= a.length; j++) {\n\t\tmatrix[0][j] = j\n\t}\n\n\t// Calculate distances\n\tfor (let i = 1; i <= b.length; i++) {\n\t\tfor (let j = 1; j <= a.length; j++) {\n\t\t\tconst cost = a[j - 1] === b[i - 1] ? 0 : 1\n\t\t\tmatrix[i][j] = Math.min(\n\t\t\t\tmatrix[i - 1][j] + 1, // deletion\n\t\t\t\tmatrix[i][j - 1] + 1, // insertion\n\t\t\t\tmatrix[i - 1][j - 1] + cost, // substitution\n\t\t\t)\n\t\t}\n\t}\n\n\treturn matrix[b.length][a.length]\n}\n","import { $LitElement } from '@mixins/index'\nimport { InputSize } from '@schmancy/input'\nimport SchmancyInputV2 from '@schmancy/input/input-v2'\nimport SchmancyOption from '@schmancy/option/option'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport {\n BehaviorSubject,\n combineLatest,\n EMPTY,\n fromEvent,\n merge,\n of,\n Subject,\n timer\n} from 'rxjs'\nimport {\n debounceTime,\n distinctUntilChanged,\n filter,\n map,\n startWith,\n switchMap,\n take,\n takeUntil,\n tap,\n withLatestFrom\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\nexport type SchmancyAutocompleteChangeEvent = CustomEvent<{\n value: string | string[]\n values?: string[]\n}>\n\ninterface FilteredOption {\n option: SchmancyOption\n score: number\n}\n\n@customElement('schmancy-autocomplete')\nexport default class SchmancyAutocomplete extends $LitElement(style) {\n // Public API properties\n @property({ type: Boolean }) required = false\n @property({ type: String }) placeholder = ''\n @property({ type: String, reflect: true }) label = ''\n @property({ type: String }) name = ''\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 = 'on'\n @property({ type: Number }) debounceMs = 200\n @property({ type: Number }) similarityThreshold = 0.3 // Minimum similarity score to show option\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._selectedValues$.next(Array.isArray(vals) ? [...vals] : [])\n }\n\n // Value property\n @property({ type: String, reflect: true })\n get value() {\n return this.multi \n ? this._selectedValues$.value.join(',')\n : this._selectedValue$.value\n }\n set value(val: string) {\n if (this.multi) {\n this._selectedValues$.next(\n val ? val.split(',').map(v => v.trim()).filter(Boolean) : []\n )\n } else {\n this._selectedValue$.next(val)\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!: SchmancyInputV2\n @queryAssignedElements({ flatten: true }) private _options!: SchmancyOption[]\n private _inputElementRef = createRef<HTMLInputElement>()\n\n // RxJS Subjects\n private _selectedValue$ = new BehaviorSubject<string>('')\n private _selectedValues$ = new BehaviorSubject<string[]>([])\n private _inputValue$ = new BehaviorSubject<string>('')\n private _open$ = new BehaviorSubject<boolean>(false)\n private _options$ = new BehaviorSubject<SchmancyOption[]>([])\n private _optionSelect$ = new Subject<SchmancyOption>()\n private _documentClick$ = new Subject<MouseEvent>()\n private _checkAutofill$ = new Subject<void>()\n\n connectedCallback() {\n super.connectedCallback()\n \n if (!this.id) {\n this.id = `sch-autocomplete-${Math.random().toString(36).slice(2, 9)}`\n }\n\n this._setupAutocompleteLogic()\n this._setupDocumentClickHandler()\n this._setupAutofillDetection()\n }\n\n private _setupAutocompleteLogic() {\n // Options management pipeline\n this._options$.pipe(\n tap(options => {\n 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 if (!option.hasAttribute('data-event-bound')) {\n fromEvent(option, 'click').pipe(\n tap(e => e.stopPropagation()),\n takeUntil(this.disconnecting)\n ).subscribe(() => this._optionSelect$.next(option))\n option.setAttribute('data-event-bound', 'true')\n }\n })\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Selection sync pipeline\n combineLatest([\n this._selectedValue$,\n this._selectedValues$,\n this._options$\n ]).pipe(\n tap(([selectedValue, selectedValues, options]) => {\n 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 takeUntil(this.disconnecting)\n ).subscribe()\n\n // Enhanced fuzzy filtering pipeline\n this._inputValue$.pipe(\n distinctUntilChanged(),\n debounceTime(this.debounceMs),\n withLatestFrom(this._options$, this._open$),\n tap(([searchTerm, options, isOpen]) => {\n if (!isOpen) return\n\n const term = searchTerm.trim()\n \n if (!term) {\n // Show all options if no search term\n options.forEach(option => {\n option.hidden = false\n option.style.order = '0' // Reset order\n })\n this._visibleOptionsCount = options.length\n this._hasResults = true\n } else {\n // Calculate similarity scores for all options\n const scoredOptions: FilteredOption[] = options.map(option => {\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(term, optionLabel)\n const valueScore = similarity(term, 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 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 // Hide options below threshold\n if (score < this.similarityThreshold) {\n option.hidden = true\n } else {\n option.hidden = false\n visibleCount++\n // Use CSS order to sort visible options by relevance\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 takeUntil(this.disconnecting)\n ).subscribe()\n\n // Option selection pipeline\n this._optionSelect$.pipe(\n withLatestFrom(this._selectedValue$, this._selectedValues$),\n tap(([option, _, currentValues]) => {\n if (this.multi) {\n const index = currentValues.indexOf(option.value)\n const newValues = index > -1\n ? [...currentValues.slice(0, index), ...currentValues.slice(index + 1)]\n : [...currentValues, option.value]\n this._selectedValues$.next(newValues)\n \n this._inputValue$.next('')\n this._inputValue = ''\n \n const labels = this._getSelectedLabels()\n this._announceToScreenReader(\n labels.length > 0 \n ? `Selected: ${labels.join(', ')}`\n : 'No options selected'\n )\n } else {\n this._selectedValue$.next(option.value)\n this._open$.next(false)\n this._open = false\n \n this._inputValue = option.label || option.textContent || ''\n this._inputValue$.next(this._inputValue)\n \n timer(100).pipe(\n tap(() => this._inputElementRef.value?.blur()),\n take(1)\n ).subscribe()\n \n this._announceToScreenReader(`Selected: ${option.label || option.textContent}`)\n }\n }),\n tap(() => this._fireChangeEvent()),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Display update pipeline\n combineLatest([\n this._open$,\n this._selectedValue$,\n this._selectedValues$,\n this._options$\n ]).pipe(\n filter(() => !this._open$.value),\n tap(([, selectedValue, selectedValues, options]) => {\n if (this.multi) {\n const labels = options\n .filter(opt => selectedValues.includes(opt.value))\n .map(opt => opt.label || opt.textContent || '')\n this._inputValue = labels.join(', ')\n } else {\n const option = options.find(opt => opt.value === selectedValue)\n this._inputValue = option ? option.label || option.textContent || '' : ''\n }\n this._inputValue$.next(this._inputValue)\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Open state sync\n this._open$.pipe(\n tap(open => this._open = open),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private _setupDocumentClickHandler() {\n this._documentClick$.pipe(\n filter(e => !e.composedPath().includes(this)),\n filter(e => !this._options.some(opt => e.composedPath().includes(opt))),\n filter(() => this._open),\n tap(() => {\n this._open$.next(false)\n this._updateInputDisplay()\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n this._open$.pipe(\n distinctUntilChanged(),\n switchMap(open => \n open \n ? timer(10).pipe(\n tap(() => document.addEventListener('click', e => this._documentClick$.next(e))),\n switchMap(() => EMPTY)\n )\n : of(null).pipe(\n tap(() => document.removeEventListener('click', e => this._documentClick$.next(e)))\n )\n ),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private _setupAutofillDetection() {\n // Enhanced autofill detection with fuzzy matching\n merge(\n timer(100, 500).pipe(take(10)),\n this._checkAutofill$,\n timer(100).pipe(\n switchMap(() => \n fromEvent(window, 'load').pipe(startWith(null))\n )\n )\n ).pipe(\n map(() => {\n const schInput = this._inputElementRef.value\n if (!schInput) return null\n return schInput.shadowRoot?.querySelector('input') || \n schInput.querySelector('input') ||\n (schInput as any)._inputRef?.value\n }),\n filter(input => !!input),\n map(input => (input as HTMLInputElement).value),\n filter(value => !!value && value.trim().length > 0),\n distinctUntilChanged(),\n withLatestFrom(this._options$),\n tap(([autofilledValue, options]) => {\n console.log('Autofill detected:', autofilledValue)\n \n // Use fuzzy matching to find best matching option\n let bestMatch: SchmancyOption | null = null\n let bestScore = 0\n \n options.forEach(option => {\n const optionLabel = option.label || option.textContent || ''\n const optionValue = option.value\n \n // Calculate similarity scores\n const labelScore = similarity(autofilledValue, optionLabel)\n const valueScore = similarity(autofilledValue, optionValue)\n \n // Use the higher score\n const score = Math.max(labelScore, valueScore)\n \n // Keep track of best match\n if (score > bestScore && score >= this.similarityThreshold) {\n bestScore = score\n bestMatch = option\n }\n })\n\n if (bestMatch) {\n console.log('Found matching option:', bestMatch.value, 'with score:', bestScore)\n \n // Select the option\n if (this.multi) {\n this._selectedValues$.next([bestMatch.value])\n } else {\n this._selectedValue$.next(bestMatch.value)\n }\n \n // Update input to show the label\n const displayValue = bestMatch.label || bestMatch.textContent || ''\n this._inputValue = displayValue\n this._inputValue$.next(displayValue)\n \n // Update the actual input element\n const input = this._inputElementRef.value\n if (input) {\n input.value = displayValue\n }\n \n // Close dropdown if open\n this._open$.next(false)\n \n // Fire change event\n this._fireChangeEvent()\n \n // Announce to screen reader\n this._announceToScreenReader(`Autofilled: ${displayValue}`)\n }\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Chrome autofill animation detection\n timer(100).pipe(\n map(() => {\n const schInput = this._inputElementRef.value\n if (!schInput) return null\n return schInput.shadowRoot?.querySelector('input') || \n schInput.querySelector('input') ||\n (schInput as any)._inputRef?.value\n }),\n filter(input => !!input),\n switchMap(input => {\n return fromEvent<AnimationEvent>(input!, 'animationstart').pipe(\n filter(e => e.animationName === 'onAutoFillStart'),\n tap(() => {\n console.log('Chrome autofill animation detected')\n timer(100).pipe(\n tap(() => this._checkAutofill$.next()),\n take(1)\n ).subscribe()\n })\n )\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private _updateInputDisplay() {\n of(null).pipe(\n withLatestFrom(\n this._selectedValue$,\n this._selectedValues$,\n this._options$,\n this._open$\n ),\n tap(([, selectedValue, selectedValues, options, isOpen]) => {\n if (!this._inputElementRef.value) return\n\n if (!isOpen || !this.multi) {\n if (this.multi) {\n const labels = options\n .filter(opt => selectedValues.includes(opt.value))\n .map(opt => opt.label || opt.textContent || '')\n this._inputValue = labels.join(', ')\n } else {\n const option = options.find(opt => opt.value === selectedValue)\n this._inputValue = option ? option.label || option.textContent || '' : ''\n }\n this._inputValue$.next(this._inputValue)\n this._inputElementRef.value.value = this._inputValue\n }\n }),\n take(1)\n ).subscribe()\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 timer(200).pipe(\n tap(() => this._checkAutofill$.next()),\n take(1)\n ).subscribe()\n \n this._options$.pipe(\n filter(options => options.length > 0),\n tap(() => this._checkAutofill$.next()),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n render() {\n const descriptionId = `${this.id}-desc`\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 <!-- Input -->\n <slot name=\"trigger\">\n <sch-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=${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 \n const hasSelection = this.multi \n ? this._selectedValues$.value.length > 0\n : !!this._selectedValue$.value\n \n if (this.multi && !hasSelection) {\n this._inputValue = ''\n this._inputValue$.next('')\n if (this._inputElementRef.value) {\n this._inputElementRef.value.value = ''\n }\n }\n \n this._open$.next(true)\n }}\n @click=${(e: MouseEvent) => {\n e.stopPropagation()\n this._open$.next(true)\n }}\n @keydown=${(e: KeyboardEvent) => {\n this._handleKeyDown(e)\n }}\n >\n </sch-input>\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._options$.next(this._options)\n timer(100).pipe(\n tap(() => this._checkAutofill$.next()),\n take(1)\n ).subscribe()\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 <style>\n :host {\n display: block;\n }\n\n @keyframes onAutoFillStart {\n from {/**/}\n to {/**/}\n }\n\n sch-input::part(input):-webkit-autofill,\n sch-input input:-webkit-autofill {\n animation-name: onAutoFillStart;\n animation-duration: 1ms;\n }\n </style>\n `\n }\n\n private _handleKeyDown(_e: KeyboardEvent) {\n fromEvent<KeyboardEvent>(document, 'keydown').pipe(\n take(1),\n withLatestFrom(this._open$, this._options$),\n tap(([event, isOpen, options]) => {\n if (!isOpen && (event.key === 'ArrowDown' || event.key === 'Enter')) {\n event.preventDefault()\n this._open$.next(true)\n \n timer(10).pipe(\n tap(() => {\n const firstVisible = options.find(opt => !opt.hidden)\n firstVisible?.focus()\n }),\n take(1)\n ).subscribe()\n return\n }\n\n if (!isOpen) return\n\n const visibleOptions = options.filter(opt => !opt.hidden)\n .sort((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$.next(false)\n this._updateInputDisplay()\n this._inputElementRef.value?.focus()\n break\n\n case 'Tab':\n this._open$.next(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._optionSelect$.next(focusedOption)\n }\n break\n }\n })\n ).subscribe()\n }\n}\n\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-autocomplete': SchmancyAutocomplete\n }\n}"],"names":["similarity","query","target","normalizedQuery","toLowerCase","trim","normalizedTarget","startsWith","length","words","split","word","indexOf","includes","sub","str","i","j","diceScore","s1","s2","bigrams1","getBigrams","bigrams2","intersection","used","Array","fill","bigram","maxLength","Math","max","levenshteinDistance","a","b","matrix","cost","min","levenshteinScore","anagramScore","countChars","s","reduce","acc","char","queryCount","targetCount","Object","keys","every","bigrams","push","substring","SchmancyAutocomplete","$LitElement","constructor","super","arguments","this","required","placeholder","label","name","maxHeight","multi","description","size","autocomplete","debounceMs","similarityThreshold","_open","_inputValue","_visibleOptionsCount","_hasResults","_inputElementRef","createRef","_selectedValue$","BehaviorSubject","_selectedValues$","_inputValue$","_open$","_options$","_optionSelect$","Subject","_documentClick$","_checkAutofill$","value","values","vals","next","isArray","join","val","map","v","filter","Boolean","connectedCallback","id","random","toString","slice","_setupAutocompleteLogic","_setupDocumentClickHandler","_setupAutofillDetection","pipe","tap","options","forEach","option","index","setAttribute","tabIndex","hasAttribute","fromEvent","e","stopPropagation","takeUntil","disconnecting","subscribe","combineLatest","selectedValue","selectedValues","selected","String","distinctUntilChanged","debounceTime","withLatestFrom","searchTerm","isOpen","term","scoredOptions","optionLabel","textContent","optionValue","labelScore","valueScore","score","sort","visibleCount","item","hidden","style","order","_announceToScreenReader","_","currentValues","newValues","labels","_getSelectedLabels","timer","blur","take","_fireChangeEvent","opt","find","open","composedPath","_options","some","_updateInputDisplay","switchMap","document","addEventListener","EMPTY","of","removeEventListener","merge","window","startWith","schInput","shadowRoot","querySelector","_inputRef","input","autofilledValue","bestMatch","bestScore","displayValue","animationName","message","liveRegion","detail","dispatchEvent","CustomEvent","bubbles","composed","reportValidity","checkValidity","firstUpdated","descriptionId","html","ref","replace","hasSelection","_handleKeyDown","classMap","absolute","flex","_e","event","key","preventDefault","firstVisible","focus","visibleOptions","parseInt","focusedOption","activeElement","currentIndex","nextIndex","prevIndex","__decorateClass","property","type","prototype","reflect","Number","state","queryAssignedElements","flatten","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"autocomplete-CpYDECg0.js","sources":["../src/utils/search.ts","../src/autocomplete/autocomplete.ts"],"sourcesContent":["/**\n * Calculate similarity score between two strings.\n * Returns a value between 0 (no match) and 1 (exact match).\n * Optimized for autocomplete with prioritization of start matches and whole words.\n *\n * @param query The search query string\n * @param target The target string to compare against\n * @returns A similarity score from 0 to 1\n */\nexport function similarity(query: string, target: string): number {\n\t// Handle edge cases\n\tif (!query || !target) return 0\n\tif (query === target) return 1\n\n\t// Normalize strings for comparison\n\tconst normalizedQuery = query.toLowerCase().trim()\n\tconst normalizedTarget = target.toLowerCase().trim()\n\n\t// 1. Exact match (case-insensitive)\n\tif (normalizedQuery === normalizedTarget) return 1\n\n\t// 2. Target starts with query (highest priority for autocomplete)\n\tif (normalizedTarget.startsWith(normalizedQuery)) {\n\t\t// Give higher score to shorter targets (more precise matches)\n\t\tconst lengthRatio = normalizedQuery.length / normalizedTarget.length\n\t\treturn 0.95 + (lengthRatio * 0.05) // Score between 0.95 and 1.0\n\t}\n\n\t// 3. Word boundary match (query matches start of any word in target)\n\tconst words = normalizedTarget.split(/[\\s\\-_]+/)\n\tfor (const word of words) {\n\t\tif (word.startsWith(normalizedQuery)) {\n\t\t\t// Score based on which word matched (earlier words score higher)\n\t\t\tconst wordIndex = words.indexOf(word)\n\t\t\tconst wordPositionScore = 1 - (wordIndex / words.length) * 0.1\n\t\t\treturn 0.85 * wordPositionScore // Score between 0.765 and 0.85\n\t\t}\n\t}\n\n\t// 4. Direct substring match (query appears anywhere in target)\n\tif (normalizedTarget.includes(normalizedQuery)) {\n\t\t// Score based on position (earlier position scores higher)\n\t\tconst position = normalizedTarget.indexOf(normalizedQuery)\n\t\tconst positionScore = 1 - (position / normalizedTarget.length) * 0.2\n\t\treturn 0.7 * positionScore // Score between 0.56 and 0.7\n\t}\n\n\t// 5. Subsequence check (all query chars appear in order)\n\tif (isSubsequence(normalizedQuery, normalizedTarget)) {\n\t\treturn 0.5\n\t}\n\n\t// 6. Fuzzy matching for typos\n\t// 6a. Dice coefficient (good for similar words)\n\tconst diceScore = diceCoefficient(normalizedQuery, normalizedTarget)\n\t\n\t// 6b. Levenshtein distance (good for typos)\n\tconst maxLength = Math.max(normalizedQuery.length, normalizedTarget.length)\n\tconst levenshteinDistance = calculateLevenshtein(normalizedQuery, normalizedTarget)\n\tconst levenshteinScore = maxLength ? 1 - levenshteinDistance / maxLength : 0\n\n\t// 6c. Character frequency match (anagram-like)\n\tconst anagramScore = hasAllCharacters(normalizedQuery, normalizedTarget) ? 0.3 : 0\n\n\t// Combine fuzzy scores with weights\n\tconst fuzzyScore = Math.max(\n\t\tdiceScore * 0.4,\n\t\tlevenshteinScore * 0.4,\n\t\tanagramScore\n\t)\n\n\treturn fuzzyScore\n}\n\n// Keep the rest of the helper functions as they are...\n/**\n * Check if string 'sub' is a subsequence of string 'str'.\n * All characters in 'sub' must appear in order in 'str'.\n */\nfunction isSubsequence(sub: string, str: string): boolean {\n\tlet i = 0,\n\t\tj = 0\n\twhile (i < sub.length && j < str.length) {\n\t\tif (sub[i] === str[j]) i++\n\t\tj++\n\t}\n\treturn i === sub.length\n}\n\n/**\n * Check if all characters in 'query' are present in 'target'.\n * For example, \"aovc\" matches \"avocados\" (anagram subset matching).\n */\nfunction hasAllCharacters(query: string, target: string): boolean {\n\tconst countChars = (s: string): Record<string, number> => {\n\t\treturn s.split('').reduce(\n\t\t\t(acc, char) => {\n\t\t\t\tacc[char] = (acc[char] || 0) + 1\n\t\t\t\treturn acc\n\t\t\t},\n\t\t\t{} as Record<string, number>,\n\t\t)\n\t}\n\n\tconst queryCount = countChars(query)\n\tconst targetCount = countChars(target)\n\n\treturn Object.keys(queryCount).every(char => (targetCount[char] || 0) >= queryCount[char])\n}\n\n/**\n * Generate bigrams for a string.\n * A bigram is a sequence of two adjacent characters.\n */\nfunction getBigrams(s: string): string[] {\n\tconst bigrams = []\n\tfor (let i = 0; i < s.length - 1; i++) {\n\t\tbigrams.push(s.substring(i, i + 2))\n\t}\n\treturn bigrams\n}\n\n/**\n * Compute Dice's coefficient for two strings based on bigrams.\n * Returns a value between 0 (no similarity) and 1 (perfect match).\n */\nfunction diceCoefficient(s1: string, s2: string): number {\n\tif (s1.length < 2 || s2.length < 2) return 0\n\n\tconst bigrams1 = getBigrams(s1)\n\tconst bigrams2 = getBigrams(s2)\n\n\tlet intersection = 0\n\tconst used = new Array(bigrams2.length).fill(false)\n\n\tfor (const bigram of bigrams1) {\n\t\tfor (let i = 0; i < bigrams2.length; i++) {\n\t\t\tif (!used[i] && bigrams2[i] === bigram) {\n\t\t\t\tintersection++\n\t\t\t\tused[i] = true\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\treturn (2 * intersection) / (bigrams1.length + bigrams2.length)\n}\n\n/**\n * Calculate Levenshtein distance between two strings.\n */\nfunction calculateLevenshtein(a: string, b: string): number {\n\tif (a.length === 0) return b.length\n\tif (b.length === 0) return a.length\n\n\tconst matrix: number[][] = []\n\n\t// Initialize the matrix\n\tfor (let i = 0; i <= b.length; i++) {\n\t\tmatrix[i] = [i]\n\t}\n\tfor (let j = 0; j <= a.length; j++) {\n\t\tmatrix[0][j] = j\n\t}\n\n\t// Calculate distances\n\tfor (let i = 1; i <= b.length; i++) {\n\t\tfor (let j = 1; j <= a.length; j++) {\n\t\t\tconst cost = a[j - 1] === b[i - 1] ? 0 : 1\n\t\t\tmatrix[i][j] = Math.min(\n\t\t\t\tmatrix[i - 1][j] + 1, // deletion\n\t\t\t\tmatrix[i][j - 1] + 1, // insertion\n\t\t\t\tmatrix[i - 1][j - 1] + cost, // substitution\n\t\t\t)\n\t\t}\n\t}\n\n\treturn matrix[b.length][a.length]\n}\n","import { $LitElement } from '@mixins/index'\nimport { InputSize } from '@schmancy/input'\nimport SchmancyInputV2 from '@schmancy/input/input-v2'\nimport SchmancyOption from '@schmancy/option/option'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport {\n BehaviorSubject,\n combineLatest,\n EMPTY,\n fromEvent,\n merge,\n of,\n Subject,\n timer\n} from 'rxjs'\nimport {\n debounceTime,\n distinctUntilChanged,\n filter,\n map,\n startWith,\n switchMap,\n take,\n takeUntil,\n tap,\n withLatestFrom\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\nexport type SchmancyAutocompleteChangeEvent = CustomEvent<{\n value: string | string[]\n values?: string[]\n}>\n\ninterface FilteredOption {\n option: SchmancyOption\n score: number\n}\n\n@customElement('schmancy-autocomplete')\nexport default class SchmancyAutocomplete extends $LitElement(style) {\n // Public API properties\n @property({ type: Boolean }) required = false\n @property({ type: String }) placeholder = ''\n @property({ type: String, reflect: true }) label = ''\n @property({ type: String }) name = ''\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 = 'on'\n @property({ type: Number }) debounceMs = 200\n @property({ type: Number }) similarityThreshold = 0.3 // Minimum similarity score to show option\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._selectedValues$.next(Array.isArray(vals) ? [...vals] : [])\n }\n\n // Value property\n @property({ type: String, reflect: true })\n get value() {\n return this.multi \n ? this._selectedValues$.value.join(',')\n : this._selectedValue$.value\n }\n set value(val: string) {\n if (this.multi) {\n this._selectedValues$.next(\n val ? val.split(',').map(v => v.trim()).filter(Boolean) : []\n )\n } else {\n this._selectedValue$.next(val)\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!: SchmancyInputV2\n @queryAssignedElements({ flatten: true }) private _options!: SchmancyOption[]\n private _inputElementRef = createRef<HTMLInputElement>()\n\n // RxJS Subjects\n private _selectedValue$ = new BehaviorSubject<string>('')\n private _selectedValues$ = new BehaviorSubject<string[]>([])\n private _inputValue$ = new BehaviorSubject<string>('')\n private _open$ = new BehaviorSubject<boolean>(false)\n private _options$ = new BehaviorSubject<SchmancyOption[]>([])\n private _optionSelect$ = new Subject<SchmancyOption>()\n private _documentClick$ = new Subject<MouseEvent>()\n private _checkAutofill$ = new Subject<void>()\n\n connectedCallback() {\n super.connectedCallback()\n \n if (!this.id) {\n this.id = `sch-autocomplete-${Math.random().toString(36).slice(2, 9)}`\n }\n\n this._setupAutocompleteLogic()\n this._setupDocumentClickHandler()\n this._setupAutofillDetection()\n }\n\n private _setupAutocompleteLogic() {\n // Options management pipeline\n this._options$.pipe(\n tap(options => {\n 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 if (!option.hasAttribute('data-event-bound')) {\n fromEvent(option, 'click').pipe(\n tap(e => e.stopPropagation()),\n takeUntil(this.disconnecting)\n ).subscribe(() => this._optionSelect$.next(option))\n option.setAttribute('data-event-bound', 'true')\n }\n })\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Selection sync pipeline\n combineLatest([\n this._selectedValue$,\n this._selectedValues$,\n this._options$\n ]).pipe(\n tap(([selectedValue, selectedValues, options]) => {\n 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 takeUntil(this.disconnecting)\n ).subscribe()\n\n // Enhanced fuzzy filtering pipeline\n this._inputValue$.pipe(\n distinctUntilChanged(),\n debounceTime(this.debounceMs),\n withLatestFrom(this._options$, this._open$),\n tap(([searchTerm, options, isOpen]) => {\n if (!isOpen) return\n\n const term = searchTerm.trim()\n \n if (!term) {\n // Show all options if no search term\n options.forEach(option => {\n option.hidden = false\n option.style.order = '0' // Reset order\n })\n this._visibleOptionsCount = options.length\n this._hasResults = true\n } else {\n // Calculate similarity scores for all options\n const scoredOptions: FilteredOption[] = options.map(option => {\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(term, optionLabel)\n const valueScore = similarity(term, 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 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 // Hide options below threshold\n if (score < this.similarityThreshold) {\n option.hidden = true\n } else {\n option.hidden = false\n visibleCount++\n // Use CSS order to sort visible options by relevance\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 takeUntil(this.disconnecting)\n ).subscribe()\n\n // Option selection pipeline\n this._optionSelect$.pipe(\n withLatestFrom(this._selectedValue$, this._selectedValues$),\n tap(([option, _, currentValues]) => {\n if (this.multi) {\n const index = currentValues.indexOf(option.value)\n const newValues = index > -1\n ? [...currentValues.slice(0, index), ...currentValues.slice(index + 1)]\n : [...currentValues, option.value]\n this._selectedValues$.next(newValues)\n \n this._inputValue$.next('')\n this._inputValue = ''\n \n const labels = this._getSelectedLabels()\n this._announceToScreenReader(\n labels.length > 0 \n ? `Selected: ${labels.join(', ')}`\n : 'No options selected'\n )\n } else {\n this._selectedValue$.next(option.value)\n this._open$.next(false)\n this._open = false\n \n this._inputValue = option.label || option.textContent || ''\n this._inputValue$.next(this._inputValue)\n \n timer(100).pipe(\n tap(() => this._inputElementRef.value?.blur()),\n take(1)\n ).subscribe()\n \n this._announceToScreenReader(`Selected: ${option.label || option.textContent}`)\n }\n }),\n tap(() => this._fireChangeEvent()),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Display update pipeline\n combineLatest([\n this._open$,\n this._selectedValue$,\n this._selectedValues$,\n this._options$\n ]).pipe(\n filter(() => !this._open$.value),\n tap(([, selectedValue, selectedValues, options]) => {\n if (this.multi) {\n const labels = options\n .filter(opt => selectedValues.includes(opt.value))\n .map(opt => opt.label || opt.textContent || '')\n this._inputValue = labels.join(', ')\n } else {\n const option = options.find(opt => opt.value === selectedValue)\n this._inputValue = option ? option.label || option.textContent || '' : ''\n }\n this._inputValue$.next(this._inputValue)\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Open state sync\n this._open$.pipe(\n tap(open => this._open = open),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private _setupDocumentClickHandler() {\n this._documentClick$.pipe(\n filter(e => !e.composedPath().includes(this)),\n filter(e => !this._options.some(opt => e.composedPath().includes(opt))),\n filter(() => this._open),\n tap(() => {\n this._open$.next(false)\n this._updateInputDisplay()\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n this._open$.pipe(\n distinctUntilChanged(),\n switchMap(open => \n open \n ? timer(10).pipe(\n tap(() => document.addEventListener('click', e => this._documentClick$.next(e))),\n switchMap(() => EMPTY)\n )\n : of(null).pipe(\n tap(() => document.removeEventListener('click', e => this._documentClick$.next(e)))\n )\n ),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private _setupAutofillDetection() {\n // Enhanced autofill detection with fuzzy matching\n merge(\n timer(100, 500).pipe(take(10)),\n this._checkAutofill$,\n timer(100).pipe(\n switchMap(() => \n fromEvent(window, 'load').pipe(startWith(null))\n )\n )\n ).pipe(\n map(() => {\n const schInput = this._inputElementRef.value\n if (!schInput) return null\n return schInput.shadowRoot?.querySelector('input') || \n schInput.querySelector('input') ||\n (schInput as any)._inputRef?.value\n }),\n filter(input => !!input),\n map(input => (input as HTMLInputElement).value),\n filter(value => !!value && value.trim().length > 0),\n distinctUntilChanged(),\n withLatestFrom(this._options$),\n tap(([autofilledValue, options]) => {\n console.log('Autofill detected:', autofilledValue)\n \n // Use fuzzy matching to find best matching option\n let bestMatch: SchmancyOption | null = null\n let bestScore = 0\n \n options.forEach(option => {\n const optionLabel = option.label || option.textContent || ''\n const optionValue = option.value\n \n // Calculate similarity scores\n const labelScore = similarity(autofilledValue, optionLabel)\n const valueScore = similarity(autofilledValue, optionValue)\n \n // Use the higher score\n const score = Math.max(labelScore, valueScore)\n \n // Keep track of best match\n if (score > bestScore && score >= this.similarityThreshold) {\n bestScore = score\n bestMatch = option\n }\n })\n\n if (bestMatch) {\n console.log('Found matching option:', bestMatch.value, 'with score:', bestScore)\n \n // Select the option\n if (this.multi) {\n this._selectedValues$.next([bestMatch.value])\n } else {\n this._selectedValue$.next(bestMatch.value)\n }\n \n // Update input to show the label\n const displayValue = bestMatch.label || bestMatch.textContent || ''\n this._inputValue = displayValue\n this._inputValue$.next(displayValue)\n \n // Update the actual input element\n const input = this._inputElementRef.value\n if (input) {\n input.value = displayValue\n }\n \n // Close dropdown if open\n this._open$.next(false)\n \n // Fire change event\n this._fireChangeEvent()\n \n // Announce to screen reader\n this._announceToScreenReader(`Autofilled: ${displayValue}`)\n }\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Chrome autofill animation detection\n timer(100).pipe(\n map(() => {\n const schInput = this._inputElementRef.value\n if (!schInput) return null\n return schInput.shadowRoot?.querySelector('input') || \n schInput.querySelector('input') ||\n (schInput as any)._inputRef?.value\n }),\n filter(input => !!input),\n switchMap(input => {\n return fromEvent<AnimationEvent>(input!, 'animationstart').pipe(\n filter(e => e.animationName === 'onAutoFillStart'),\n tap(() => {\n console.log('Chrome autofill animation detected')\n timer(100).pipe(\n tap(() => this._checkAutofill$.next()),\n take(1)\n ).subscribe()\n })\n )\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private _updateInputDisplay() {\n of(null).pipe(\n withLatestFrom(\n this._selectedValue$,\n this._selectedValues$,\n this._options$,\n this._open$\n ),\n tap(([, selectedValue, selectedValues, options, isOpen]) => {\n if (!this._inputElementRef.value) return\n\n if (!isOpen || !this.multi) {\n if (this.multi) {\n const labels = options\n .filter(opt => selectedValues.includes(opt.value))\n .map(opt => opt.label || opt.textContent || '')\n this._inputValue = labels.join(', ')\n } else {\n const option = options.find(opt => opt.value === selectedValue)\n this._inputValue = option ? option.label || option.textContent || '' : ''\n }\n this._inputValue$.next(this._inputValue)\n this._inputElementRef.value.value = this._inputValue\n }\n }),\n take(1)\n ).subscribe()\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 timer(200).pipe(\n tap(() => this._checkAutofill$.next()),\n take(1)\n ).subscribe()\n \n this._options$.pipe(\n filter(options => options.length > 0),\n tap(() => this._checkAutofill$.next()),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n render() {\n const descriptionId = `${this.id}-desc`\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 <!-- Input -->\n <slot name=\"trigger\">\n <sch-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=${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 \n const hasSelection = this.multi \n ? this._selectedValues$.value.length > 0\n : !!this._selectedValue$.value\n \n if (this.multi && !hasSelection) {\n this._inputValue = ''\n this._inputValue$.next('')\n if (this._inputElementRef.value) {\n this._inputElementRef.value.value = ''\n }\n }\n \n this._open$.next(true)\n }}\n @click=${(e: MouseEvent) => {\n e.stopPropagation()\n this._open$.next(true)\n }}\n @keydown=${(e: KeyboardEvent) => {\n this._handleKeyDown(e)\n }}\n >\n </sch-input>\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._options$.next(this._options)\n timer(100).pipe(\n tap(() => this._checkAutofill$.next()),\n take(1)\n ).subscribe()\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 <style>\n :host {\n display: block;\n }\n\n @keyframes onAutoFillStart {\n from {/**/}\n to {/**/}\n }\n\n sch-input::part(input):-webkit-autofill,\n sch-input input:-webkit-autofill {\n animation-name: onAutoFillStart;\n animation-duration: 1ms;\n }\n </style>\n `\n }\n\n private _handleKeyDown(_e: KeyboardEvent) {\n fromEvent<KeyboardEvent>(document, 'keydown').pipe(\n take(1),\n withLatestFrom(this._open$, this._options$),\n tap(([event, isOpen, options]) => {\n if (!isOpen && (event.key === 'ArrowDown' || event.key === 'Enter')) {\n event.preventDefault()\n this._open$.next(true)\n \n timer(10).pipe(\n tap(() => {\n const firstVisible = options.find(opt => !opt.hidden)\n firstVisible?.focus()\n }),\n take(1)\n ).subscribe()\n return\n }\n\n if (!isOpen) return\n\n const visibleOptions = options.filter(opt => !opt.hidden)\n .sort((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$.next(false)\n this._updateInputDisplay()\n this._inputElementRef.value?.focus()\n break\n\n case 'Tab':\n this._open$.next(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._optionSelect$.next(focusedOption)\n }\n break\n }\n })\n ).subscribe()\n }\n}\n\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-autocomplete': SchmancyAutocomplete\n }\n}"],"names":["similarity","query","target","normalizedQuery","toLowerCase","trim","normalizedTarget","startsWith","length","words","split","word","indexOf","includes","sub","str","i","j","diceScore","s1","s2","bigrams1","getBigrams","bigrams2","intersection","used","Array","fill","bigram","maxLength","Math","max","levenshteinDistance","a","b","matrix","cost","min","levenshteinScore","anagramScore","countChars","s","reduce","acc","char","queryCount","targetCount","Object","keys","every","bigrams","push","substring","SchmancyAutocomplete","$LitElement","constructor","super","arguments","this","required","placeholder","label","name","maxHeight","multi","description","size","autocomplete","debounceMs","similarityThreshold","_open","_inputValue","_visibleOptionsCount","_hasResults","_inputElementRef","createRef","_selectedValue$","BehaviorSubject","_selectedValues$","_inputValue$","_open$","_options$","_optionSelect$","Subject","_documentClick$","_checkAutofill$","value","values","vals","next","isArray","join","val","map","v","filter","Boolean","connectedCallback","id","random","toString","slice","_setupAutocompleteLogic","_setupDocumentClickHandler","_setupAutofillDetection","pipe","tap","options","forEach","option","index","setAttribute","tabIndex","hasAttribute","fromEvent","e","stopPropagation","takeUntil","disconnecting","subscribe","combineLatest","selectedValue","selectedValues","selected","String","distinctUntilChanged","debounceTime","withLatestFrom","searchTerm","isOpen","term","scoredOptions","optionLabel","textContent","optionValue","labelScore","valueScore","score","sort","visibleCount","item","hidden","style","order","_announceToScreenReader","_","currentValues","newValues","labels","_getSelectedLabels","timer","blur","take","_fireChangeEvent","opt","find","open","composedPath","_options","some","_updateInputDisplay","switchMap","document","addEventListener","EMPTY","of","removeEventListener","merge","window","startWith","schInput","shadowRoot","querySelector","_inputRef","input","autofilledValue","bestMatch","bestScore","displayValue","animationName","message","liveRegion","detail","dispatchEvent","CustomEvent","bubbles","composed","reportValidity","checkValidity","firstUpdated","descriptionId","html","ref","replace","hasSelection","_handleKeyDown","classMap","absolute","flex","_e","event","key","preventDefault","firstVisible","focus","visibleOptions","parseInt","focusedOption","activeElement","currentIndex","nextIndex","prevIndex","__decorateClass","property","type","prototype","reflect","Number","state","queryAssignedElements","flatten","customElement"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";require("./autocomplete-B4F-i4IH.cjs");
1
+ "use strict";require("./autocomplete-BCE9oBkO.cjs");
2
2
  //# sourceMappingURL=autocomplete.cjs.map
@@ -1,2 +1,2 @@
1
- import "./autocomplete-87RcHRRv.js";
1
+ import "./autocomplete-CpYDECg0.js";
2
2
  //# sourceMappingURL=autocomplete.js.map
@@ -1,57 +1,58 @@
1
1
  import { css as u, html as l, nothing as mt } from "lit";
2
2
  import { property as c, customElement as h, state as d, queryAssignedElements as ut, query as J } from "lit/decorators.js";
3
3
  import { Subject as tt, merge as et, fromEvent as v, startWith as xt, tap as C, map as w, debounceTime as V, distinctUntilChanged as L, takeUntil as y, from as at, of as F, Observable as $t, zip as ct, filter as bt, take as Ct, timeout as Ot, bufferTime as St, concatMap as Dt, interval as kt, throwIfEmpty as zt } from "rxjs";
4
- import "./animated-text-Cb07SP6h.js";
5
- import { a as lt, F as Et, H as jt } from "./area.component-CdFovqHE.js";
6
- import "./autocomplete-87RcHRRv.js";
4
+ import "./animated-text-BZWvzqEZ.js";
5
+ import { a as lt, F as Et, H as jt } from "./area.component-zvrF1R-P.js";
6
+ import "./autocomplete-CpYDECg0.js";
7
7
  import "lit/directives/class-map.js";
8
8
  import "lit/directives/style-map.js";
9
- import { T } from "./tailwind.mixin-k9HTphsu.js";
9
+ import { T } from "./tailwind.mixin-DPUboU_5.js";
10
10
  import { c as W, f as Mt } from "./ripple-BumgqsDT.js";
11
- import "./spinner-CmJk8fIO.js";
12
- import "./icon-button-5_uidIo2.js";
11
+ import "./spinner-DrZuae0L.js";
12
+ import "./icon-button-C_OqjQfc.js";
13
13
  import { S as i } from "./theme.interface-C5Kj6WjD.js";
14
- import "./checkbox-Cntlr_eV.js";
15
- import "./chips-vMtInVGX.js";
16
- import "./circular-progress-8LR4RVjD.js";
17
- import "./payment-card-form-CxhMa60Q.js";
14
+ import "./checkbox-CJ6x-G_b.js";
15
+ import "./chips-CcT1N7--.js";
16
+ import "./circular-progress-Cs3G6PHo.js";
17
+ import "./code-preview-BZ-uk6y1.js";
18
+ import "./payment-card-form-BpaCnjrt.js";
18
19
  import { SchmancyEvents as m } from "./types.js";
19
20
  import { n as P, e as M } from "./provide-hwQSumt-.js";
20
- import { $ as k } from "./litElement.mixin-BKgKxczr.js";
21
+ import { $ as k } from "./litElement.mixin-1-y-wwQg.js";
21
22
  import { c as p } from "./consume-B05Dd6qy.js";
22
- import "./date-range-ChsdVWRV.js";
23
- import "./delay-DJMIbnvL.js";
24
- import "./dialog-content-CWvxqVsr.js";
25
- import "./divider-BGo7hglJ.js";
26
- import "./dropdown-content-CTWWDRgy.js";
27
- import "./timezone-B53HOn4a.js";
28
- import "./form-BZdw3XUt.js";
29
- import "./icon-PZTHZSsC.js";
30
- import "./input-cvO-mD1t.js";
31
- import "./flex-CKtJkkxU.js";
32
- import "./list-CjVW-XS-.js";
33
- import "./menu-Bj9xX6Hn.js";
23
+ import "./date-range-Dt9V5MyB.js";
24
+ import "./delay-CE3iPMYG.js";
25
+ import "./dialog-content-E5R1XfK5.js";
26
+ import "./divider-BlSi0WWi.js";
27
+ import "./dropdown-content-DkKciM_R.js";
28
+ import "./timezone-DwU-YCRw.js";
29
+ import "./form-DsprWndI.js";
30
+ import "./icon-D967cxey.js";
31
+ import "./input-4heVsnGw.js";
32
+ import "./flex-DHA02Mfw.js";
33
+ import "./list-DE1otSG3.js";
34
+ import "./menu-B1qPlV2t.js";
34
35
  import { when as Q } from "lit/directives/when.js";
35
- import "./notification-service-ITb5rmvM.js";
36
- import "./option-_DZj4_on.js";
37
- import "./radio-button-svaVfPn8.js";
36
+ import "./notification-service-D2pgTqTS.js";
37
+ import "./option-CLY6hO5V.js";
38
+ import "./radio-button-CuTpkLr8.js";
38
39
  import "./index-CuY8m6ta.js";
39
- import "./select-CWulYSxd.js";
40
- import { s as Z } from "./sheet-C2f1XwT3.js";
41
- import "./slider-CmJGqDDU.js";
42
- import "./schmancy-steps-container-9fHGNLHd.js";
40
+ import "./select-DfemPf0w.js";
41
+ import { s as Z } from "./sheet-Bvj7tapP.js";
42
+ import "./slider-DAwHA6Az.js";
43
+ import "./schmancy-steps-container-SrnYbTe-.js";
43
44
  import "./context-object-CISes2bD.js";
44
45
  import { map as Wt, distinctUntilChanged as Pt, take as It } from "rxjs/operators";
45
- import "./surface-BnlEKr-d.js";
46
- import "./table-CZJ14ZEI.js";
47
- import "./tabs-compatibility-DHkghYmL.js";
48
- import "./textarea-kTwx4MAh.js";
49
- import "./theme.component-CJHr6wNa.js";
50
- import "./theme-button-CCwPpArv.js";
51
- import "./tooltip-Bfcu9uoC.js";
52
- import "./tree-n0KxiiWX.js";
53
- import "./typewriter-W7Rj384X.js";
54
- import "./typography-XkeTnrP9.js";
46
+ import "./surface-CAlEVfSs.js";
47
+ import "./table-hjsAGpRq.js";
48
+ import "./tabs-compatibility-D9ajXdXz.js";
49
+ import "./textarea-DqFx1pM1.js";
50
+ import "./theme.component-BOnjDUB3.js";
51
+ import "./theme-button-D5fnf2QD.js";
52
+ import "./tooltip-Bn-UWxd4.js";
53
+ import "./tree-D2g2zq2B.js";
54
+ import "./typewriter-3w_PiJFo.js";
55
+ import "./typography-izBBu-t8.js";
55
56
  var Nt = Object.defineProperty, Tt = Object.getOwnPropertyDescriptor, z = (t, e, o, r) => {
56
57
  for (var n, s = r > 1 ? void 0 : r ? Tt(e, o) : e, a = t.length - 1; a >= 0; a--) (n = t[a]) && (s = (r ? n(e, o, s) : n(s)) || s);
57
58
  return r && s && Nt(e, o, s), s;
@@ -312,7 +313,7 @@ let R = class extends T(u`
312
313
  }
313
314
  };
314
315
  G([c({ type: String, reflect: !0 })], R.prototype, "src", 2), G([c({ type: String })], R.prototype, "fit", 2), R = G([h("schmancy-card-media")], R);
315
- const as = new class {
316
+ const cs = new class {
316
317
  constructor() {
317
318
  this.$drawer = new tt(), this.$drawer.pipe().subscribe((t) => {
318
319
  t.action === "dismiss" ? t.ref.dispatchEvent(new CustomEvent(m.ContentDrawerToggle, { detail: { state: "close" }, bubbles: !0, composed: !0 })) : t.action === "render" && (t.ref.dispatchEvent(new CustomEvent(m.ContentDrawerToggle, { detail: { state: "open" }, bubbles: !0, composed: !0 })), t.ref.dispatchEvent(new CustomEvent("schmancy-content-drawer-render", { detail: { component: t.component, title: t.title }, bubbles: !0, composed: !0 })));
@@ -469,7 +470,7 @@ const Gt = new class {
469
470
  close(t) {
470
471
  this.$drawer.next({ self: t, state: !1 });
471
472
  }
472
- }(), cs = Gt, it = P("push"), nt = P("close");
473
+ }(), ls = Gt, it = P("push"), nt = P("close");
473
474
  var Jt = Object.defineProperty, Lt = Object.getOwnPropertyDescriptor, q = (t, e, o, r) => {
474
475
  for (var n, s = r > 1 ? void 0 : r ? Lt(e, o) : e, a = t.length - 1; a >= 0; a--) (n = t[a]) && (s = (r ? n(e, o, s) : n(s)) || s);
475
476
  return r && s && Jt(e, o, s), s;
@@ -721,7 +722,7 @@ let g = class extends k() {
721
722
  };
722
723
  $([c({ type: String })], g.prototype, "initials", 2), $([c({ type: String })], g.prototype, "src", 2), $([c({ type: String })], g.prototype, "icon", 2), $([c({ type: String })], g.prototype, "size", 2), $([c({ type: String })], g.prototype, "color", 2), $([c({ type: String })], g.prototype, "shape", 2), $([c({ type: Boolean })], g.prototype, "bordered", 2), $([c({ type: String })], g.prototype, "status", 2), g = $([h("schmancy-avatar")], g);
723
724
  export {
724
- cs as $,
725
+ ls as $,
725
726
  wt as H,
726
727
  O as S,
727
728
  vt as W,
@@ -742,7 +743,7 @@ export {
742
743
  D as o,
743
744
  A as p,
744
745
  g as q,
745
- as as s,
746
+ cs as s,
746
747
  U as t
747
748
  };
748
- //# sourceMappingURL=avatar-Dx-kdZaM.js.map
749
+ //# sourceMappingURL=avatar-B_BubJYb.js.map