@mhmo91/schmancy 0.4.55 → 0.4.57

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 (312) hide show
  1. package/dist/{animated-text-CHUcj2G2.cjs → animated-text-BkL-4Zfc.cjs} +2 -2
  2. package/dist/{animated-text-CHUcj2G2.cjs.map → animated-text-BkL-4Zfc.cjs.map} +1 -1
  3. package/dist/{animated-text-Bns9oiIU.js → animated-text-DrgUZxlk.js} +3 -3
  4. package/dist/{animated-text-Bns9oiIU.js.map → animated-text-DrgUZxlk.js.map} +1 -1
  5. package/dist/animated-text.cjs +1 -1
  6. package/dist/animated-text.js +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/{area.component-Aur5h5TN.js → area.component-BIc_W59P.js} +3 -3
  9. package/dist/{area.component-Aur5h5TN.js.map → area.component-BIc_W59P.js.map} +1 -1
  10. package/dist/{area.component-BTZcyqR5.cjs → area.component-BdjALblc.cjs} +2 -2
  11. package/dist/{area.component-BTZcyqR5.cjs.map → area.component-BdjALblc.cjs.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-BhjrqWor.js → autocomplete-7Md-DAgu.js} +3 -3
  14. package/dist/{autocomplete-BhjrqWor.js.map → autocomplete-7Md-DAgu.js.map} +1 -1
  15. package/dist/{autocomplete-CleoNM85.cjs → autocomplete-C6eBvBLN.cjs} +2 -2
  16. package/dist/{autocomplete-CleoNM85.cjs.map → autocomplete-C6eBvBLN.cjs.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/{avatar-j733KoCV.js → avatar-DMEjkTXa.js} +49 -49
  20. package/dist/{avatar-j733KoCV.js.map → avatar-DMEjkTXa.js.map} +1 -1
  21. package/dist/{avatar-DoUVCqad.cjs → avatar-WQhh4x64.cjs} +2 -2
  22. package/dist/{avatar-DoUVCqad.cjs.map → avatar-WQhh4x64.cjs.map} +1 -1
  23. package/dist/badge.cjs +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{boat-CIA-nk8V.js → boat-8AUFg_N1.js} +2 -2
  26. package/dist/{boat-CIA-nk8V.js.map → boat-8AUFg_N1.js.map} +1 -1
  27. package/dist/{boat-DU_GhEJ2.cjs → boat-B-mfl1Mb.cjs} +2 -2
  28. package/dist/{boat-DU_GhEJ2.cjs.map → boat-B-mfl1Mb.cjs.map} +1 -1
  29. package/dist/boat.cjs +1 -1
  30. package/dist/boat.js +1 -1
  31. package/dist/busy.cjs +1 -1
  32. package/dist/busy.js +1 -1
  33. package/dist/button.cjs +1 -1
  34. package/dist/button.js +1 -1
  35. package/dist/card.cjs +1 -1
  36. package/dist/card.js +1 -1
  37. package/dist/{checkbox-DblOhLz_.cjs → checkbox-ADFaRwXh.cjs} +2 -2
  38. package/dist/{checkbox-DblOhLz_.cjs.map → checkbox-ADFaRwXh.cjs.map} +1 -1
  39. package/dist/{checkbox-BCTABF4s.js → checkbox-BZ6YYyDP.js} +2 -2
  40. package/dist/{checkbox-BCTABF4s.js.map → checkbox-BZ6YYyDP.js.map} +1 -1
  41. package/dist/checkbox.cjs +1 -1
  42. package/dist/checkbox.js +1 -1
  43. package/dist/{chips-BbMM2s8r.js → chips-CoOlYu41.js} +3 -3
  44. package/dist/{chips-BbMM2s8r.js.map → chips-CoOlYu41.js.map} +1 -1
  45. package/dist/{chips-LAtr3to0.cjs → chips-Djs5BsJb.cjs} +2 -2
  46. package/dist/{chips-LAtr3to0.cjs.map → chips-Djs5BsJb.cjs.map} +1 -1
  47. package/dist/chips.cjs +1 -1
  48. package/dist/chips.js +1 -1
  49. package/dist/{circular-progress-BKwcIgEZ.cjs → circular-progress-Bd_50vCv.cjs} +2 -2
  50. package/dist/{circular-progress-BKwcIgEZ.cjs.map → circular-progress-Bd_50vCv.cjs.map} +1 -1
  51. package/dist/{circular-progress-DtAG2JJn.js → circular-progress-CRjTzkR5.js} +3 -3
  52. package/dist/{circular-progress-DtAG2JJn.js.map → circular-progress-CRjTzkR5.js.map} +1 -1
  53. package/dist/circular-progress.cjs +1 -1
  54. package/dist/circular-progress.js +1 -1
  55. package/dist/code-highlight.cjs +1 -1
  56. package/dist/code-highlight.js +1 -1
  57. package/dist/{code-preview-BgwAlMc_.js → code-preview-BGtHM8rZ.js} +2 -2
  58. package/dist/{code-preview-BgwAlMc_.js.map → code-preview-BGtHM8rZ.js.map} +1 -1
  59. package/dist/{code-preview-Bn6-jpNm.cjs → code-preview-qo_1yNRD.cjs} +2 -2
  60. package/dist/{code-preview-Bn6-jpNm.cjs.map → code-preview-qo_1yNRD.cjs.map} +1 -1
  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-CBfV-vU_.js → date-range-B81hrRXp.js} +4 -4
  66. package/dist/{date-range-CBfV-vU_.js.map → date-range-B81hrRXp.js.map} +1 -1
  67. package/dist/{date-range-CNsf8eFb.cjs → date-range-B__PYZ1O.cjs} +2 -2
  68. package/dist/{date-range-CNsf8eFb.cjs.map → date-range-B__PYZ1O.cjs.map} +1 -1
  69. package/dist/{date-range-inline-VA3xdfyl.js → date-range-inline-Cwg9Orn9.js} +3 -3
  70. package/dist/{date-range-inline-VA3xdfyl.js.map → date-range-inline-Cwg9Orn9.js.map} +1 -1
  71. package/dist/{date-range-inline-ECHd558D.cjs → date-range-inline-D7wcenh1.cjs} +2 -2
  72. package/dist/{date-range-inline-ECHd558D.cjs.map → date-range-inline-D7wcenh1.cjs.map} +1 -1
  73. package/dist/date-range-inline.cjs +1 -1
  74. package/dist/date-range-inline.js +1 -1
  75. package/dist/date-range.cjs +1 -1
  76. package/dist/date-range.js +1 -1
  77. package/dist/{delay-DtUJwLKe.cjs → delay-CrGqDIld.cjs} +2 -2
  78. package/dist/{delay-DtUJwLKe.cjs.map → delay-CrGqDIld.cjs.map} +1 -1
  79. package/dist/{delay-B_3yscDy.js → delay-HypqMt6T.js} +2 -2
  80. package/dist/{delay-B_3yscDy.js.map → delay-HypqMt6T.js.map} +1 -1
  81. package/dist/delay.cjs +1 -1
  82. package/dist/delay.js +1 -1
  83. package/dist/details-B6e2XHDI.cjs +62 -0
  84. package/dist/details-B6e2XHDI.cjs.map +1 -0
  85. package/dist/details-tUVa6yxT.js +87 -0
  86. package/dist/details-tUVa6yxT.js.map +1 -0
  87. package/dist/details.cjs +1 -1
  88. package/dist/details.js +1 -1
  89. package/dist/{dialog-content-Y4RvMloi.js → dialog-content-CosoTy8k.js} +4 -4
  90. package/dist/{dialog-content-Y4RvMloi.js.map → dialog-content-CosoTy8k.js.map} +1 -1
  91. package/dist/{dialog-content-puP-JDoT.cjs → dialog-content-DhyhRHrM.cjs} +2 -2
  92. package/dist/{dialog-content-puP-JDoT.cjs.map → dialog-content-DhyhRHrM.cjs.map} +1 -1
  93. package/dist/{dialog-service-CY9yBEhe.js → dialog-service-BqFyjidQ.js} +2 -2
  94. package/dist/{dialog-service-CY9yBEhe.js.map → dialog-service-BqFyjidQ.js.map} +1 -1
  95. package/dist/{dialog-service-BCfRtG2U.cjs → dialog-service-CVPfnLT2.cjs} +2 -2
  96. package/dist/{dialog-service-BCfRtG2U.cjs.map → dialog-service-CVPfnLT2.cjs.map} +1 -1
  97. package/dist/dialog.cjs +1 -1
  98. package/dist/dialog.js +2 -2
  99. package/dist/{divider-BZq3k_da.js → divider-BqRj6UxZ.js} +3 -3
  100. package/dist/{divider-BZq3k_da.js.map → divider-BqRj6UxZ.js.map} +1 -1
  101. package/dist/{divider-t1KWAOnw.cjs → divider-igWIHJSn.cjs} +2 -2
  102. package/dist/{divider-t1KWAOnw.cjs.map → divider-igWIHJSn.cjs.map} +1 -1
  103. package/dist/divider.cjs +1 -1
  104. package/dist/divider.js +1 -1
  105. package/dist/{dropdown-content-D834SoZi.cjs → dropdown-content-BAvi90_R.cjs} +2 -2
  106. package/dist/{dropdown-content-D834SoZi.cjs.map → dropdown-content-BAvi90_R.cjs.map} +1 -1
  107. package/dist/{dropdown-content-JvpnX2RS.js → dropdown-content-cSEhg-Nb.js} +3 -3
  108. package/dist/{dropdown-content-JvpnX2RS.js.map → dropdown-content-cSEhg-Nb.js.map} +1 -1
  109. package/dist/dropdown.cjs +1 -1
  110. package/dist/dropdown.js +1 -1
  111. package/dist/extra.cjs +1 -1
  112. package/dist/extra.js +1 -1
  113. package/dist/{flex-CAsda_Fe.js → flex-Bgb3KRRe.js} +2 -2
  114. package/dist/{flex-CAsda_Fe.js.map → flex-Bgb3KRRe.js.map} +1 -1
  115. package/dist/{flex-LjqLwPhI.cjs → flex-CR0dZOIp.cjs} +2 -2
  116. package/dist/{flex-LjqLwPhI.cjs.map → flex-CR0dZOIp.cjs.map} +1 -1
  117. package/dist/{form-CpIQ4L1j.cjs → form-2EErS4Qz.cjs} +2 -2
  118. package/dist/{form-CpIQ4L1j.cjs.map → form-2EErS4Qz.cjs.map} +1 -1
  119. package/dist/{form-czxHWLos.js → form-DzPgImRY.js} +2 -2
  120. package/dist/{form-czxHWLos.js.map → form-DzPgImRY.js.map} +1 -1
  121. package/dist/form.cjs +1 -1
  122. package/dist/form.js +1 -1
  123. package/dist/{formField.mixin-BD-_Rnyy.cjs → formField.mixin-B3YdUi1V.cjs} +2 -2
  124. package/dist/{formField.mixin-BD-_Rnyy.cjs.map → formField.mixin-B3YdUi1V.cjs.map} +1 -1
  125. package/dist/{formField.mixin-bSNupTkm.js → formField.mixin-eghJlAGk.js} +2 -2
  126. package/dist/{formField.mixin-bSNupTkm.js.map → formField.mixin-eghJlAGk.js.map} +1 -1
  127. package/dist/{icon-B8LhF-rS.js → icon-CdvX9Uee.js} +2 -2
  128. package/dist/{icon-B8LhF-rS.js.map → icon-CdvX9Uee.js.map} +1 -1
  129. package/dist/{icon-DgnS9IuB.cjs → icon-Cfn7-dee.cjs} +2 -2
  130. package/dist/{icon-DgnS9IuB.cjs.map → icon-Cfn7-dee.cjs.map} +1 -1
  131. package/dist/{icon-button-CK0UyXcE.cjs → icon-button-CuiwQHWa.cjs} +2 -2
  132. package/dist/{icon-button-CK0UyXcE.cjs.map → icon-button-CuiwQHWa.cjs.map} +1 -1
  133. package/dist/{icon-button-DdvdiQga.js → icon-button-CxvX8bhV.js} +3 -3
  134. package/dist/{icon-button-DdvdiQga.js.map → icon-button-CxvX8bhV.js.map} +1 -1
  135. package/dist/icons.cjs +1 -1
  136. package/dist/icons.js +1 -1
  137. package/dist/index.cjs +1 -1
  138. package/dist/index.js +48 -48
  139. package/dist/input-C7HGyOON.cjs +50 -0
  140. package/dist/{input-DJKVCqiL.cjs.map → input-C7HGyOON.cjs.map} +1 -1
  141. package/dist/{input-rNxC53BQ.js → input-J4PZ5mx6.js} +47 -48
  142. package/dist/{input-rNxC53BQ.js.map → input-J4PZ5mx6.js.map} +1 -1
  143. package/dist/input.cjs +1 -1
  144. package/dist/input.js +1 -1
  145. package/dist/layout.cjs +1 -1
  146. package/dist/layout.js +1 -1
  147. package/dist/{list-e54Aokyk.cjs → list-C_TB-ABg.cjs} +2 -2
  148. package/dist/{list-e54Aokyk.cjs.map → list-C_TB-ABg.cjs.map} +1 -1
  149. package/dist/{list-ccMISKKN.js → list-DzSYh-wL.js} +2 -2
  150. package/dist/{list-ccMISKKN.js.map → list-DzSYh-wL.js.map} +1 -1
  151. package/dist/list.cjs +1 -1
  152. package/dist/list.js +1 -1
  153. package/dist/{litElement.mixin-BMewYv9c.js → litElement.mixin-B3DViDp3.js} +2 -2
  154. package/dist/{litElement.mixin-BMewYv9c.js.map → litElement.mixin-B3DViDp3.js.map} +1 -1
  155. package/dist/{litElement.mixin-Brn_lsa3.cjs → litElement.mixin-DBcQhPm4.cjs} +2 -2
  156. package/dist/{litElement.mixin-Brn_lsa3.cjs.map → litElement.mixin-DBcQhPm4.cjs.map} +1 -1
  157. package/dist/{map-D3nhiTCn.cjs → map-CX2AHaig.cjs} +2 -2
  158. package/dist/{map-D3nhiTCn.cjs.map → map-CX2AHaig.cjs.map} +1 -1
  159. package/dist/{map-CsuRRLbB.js → map-NSbqp1n5.js} +2 -2
  160. package/dist/{map-CsuRRLbB.js.map → map-NSbqp1n5.js.map} +1 -1
  161. package/dist/map.cjs +1 -1
  162. package/dist/map.js +1 -1
  163. package/dist/{media-Dd0PTrZ3.cjs → media-DlbdBcJx.cjs} +2 -2
  164. package/dist/{media-Dd0PTrZ3.cjs.map → media-DlbdBcJx.cjs.map} +1 -1
  165. package/dist/{media-BtAS-xyw.js → media-yNoBGbIW.js} +2 -2
  166. package/dist/{media-BtAS-xyw.js.map → media-yNoBGbIW.js.map} +1 -1
  167. package/dist/{menu-CAhuu8Ei.js → menu-DHXR2hMy.js} +3 -3
  168. package/dist/{menu-CAhuu8Ei.js.map → menu-DHXR2hMy.js.map} +1 -1
  169. package/dist/{menu-CFqp1aH7.cjs → menu-DjpbmDCT.cjs} +2 -2
  170. package/dist/{menu-CFqp1aH7.cjs.map → menu-DjpbmDCT.cjs.map} +1 -1
  171. package/dist/menu.cjs +1 -1
  172. package/dist/menu.js +1 -1
  173. package/dist/nav-drawer.cjs +1 -1
  174. package/dist/nav-drawer.js +1 -1
  175. package/dist/{notification-service-KWQfnc6d.cjs → notification-service-B32hOref.cjs} +2 -2
  176. package/dist/{notification-service-KWQfnc6d.cjs.map → notification-service-B32hOref.cjs.map} +1 -1
  177. package/dist/{notification-service-Byz67oln.js → notification-service-DYjanzr0.js} +4 -4
  178. package/dist/{notification-service-Byz67oln.js.map → notification-service-DYjanzr0.js.map} +1 -1
  179. package/dist/notification.cjs +1 -1
  180. package/dist/notification.js +2 -2
  181. package/dist/{notify-BIdXyvMf.js → notify-BpEBmrOc.js} +2 -2
  182. package/dist/{notify-BIdXyvMf.js.map → notify-BpEBmrOc.js.map} +1 -1
  183. package/dist/{notify-DDzsX0lt.cjs → notify-O3ekho2t.cjs} +2 -2
  184. package/dist/{notify-DDzsX0lt.cjs.map → notify-O3ekho2t.cjs.map} +1 -1
  185. package/dist/{option-DarGe_f3.cjs → option-DK955zvf.cjs} +2 -2
  186. package/dist/{option-DarGe_f3.cjs.map → option-DK955zvf.cjs.map} +1 -1
  187. package/dist/{option-BCg6S7Jj.js → option-inF2WcDS.js} +2 -2
  188. package/dist/{option-BCg6S7Jj.js.map → option-inF2WcDS.js.map} +1 -1
  189. package/dist/option.cjs +1 -1
  190. package/dist/option.js +1 -1
  191. package/dist/{payment-card-form-C1W2DPu4.js → payment-card-form-Cq_PQYH1.js} +3 -3
  192. package/dist/{payment-card-form-C1W2DPu4.js.map → payment-card-form-Cq_PQYH1.js.map} +1 -1
  193. package/dist/{payment-card-form-CW3KC9QK.cjs → payment-card-form-D2qgy1v2.cjs} +2 -2
  194. package/dist/{payment-card-form-CW3KC9QK.cjs.map → payment-card-form-D2qgy1v2.cjs.map} +1 -1
  195. package/dist/{progress-B-ZZ40CK.cjs → progress-BADNaijE.cjs} +2 -2
  196. package/dist/{progress-B-ZZ40CK.cjs.map → progress-BADNaijE.cjs.map} +1 -1
  197. package/dist/{progress-BSJSsYj7.js → progress-DMeUsOoq.js} +2 -2
  198. package/dist/{progress-BSJSsYj7.js.map → progress-DMeUsOoq.js.map} +1 -1
  199. package/dist/progress.cjs +1 -1
  200. package/dist/progress.js +1 -1
  201. package/dist/{radio-button-CsIIrM_C.cjs → radio-button-CBbb1D0v.cjs} +2 -2
  202. package/dist/{radio-button-CsIIrM_C.cjs.map → radio-button-CBbb1D0v.cjs.map} +1 -1
  203. package/dist/{radio-button-DX4XSjAy.js → radio-button-skXo9_2Z.js} +3 -3
  204. package/dist/{radio-button-DX4XSjAy.js.map → radio-button-skXo9_2Z.js.map} +1 -1
  205. package/dist/radio-group.cjs +1 -1
  206. package/dist/radio-group.js +1 -1
  207. package/dist/{schmancy-steps-container-8RdoKtdK.js → schmancy-steps-container-AQATjRbH.js} +2 -2
  208. package/dist/{schmancy-steps-container-8RdoKtdK.js.map → schmancy-steps-container-AQATjRbH.js.map} +1 -1
  209. package/dist/{schmancy-steps-container-DADzK9o0.cjs → schmancy-steps-container-zSMLb9le.cjs} +2 -2
  210. package/dist/{schmancy-steps-container-DADzK9o0.cjs.map → schmancy-steps-container-zSMLb9le.cjs.map} +1 -1
  211. package/dist/{select-C-KLPYEJ.js → select-BbIFwv0h.js} +3 -3
  212. package/dist/{select-C-KLPYEJ.js.map → select-BbIFwv0h.js.map} +1 -1
  213. package/dist/{select-CF9aojhZ.cjs → select-CQ9x4XyA.cjs} +2 -2
  214. package/dist/{select-CF9aojhZ.cjs.map → select-CQ9x4XyA.cjs.map} +1 -1
  215. package/dist/select.cjs +1 -1
  216. package/dist/select.js +1 -1
  217. package/dist/{sheet-CzCiJ3yC.cjs → sheet-BS0Qe0Td.cjs} +2 -2
  218. package/dist/{sheet-CzCiJ3yC.cjs.map → sheet-BS0Qe0Td.cjs.map} +1 -1
  219. package/dist/{sheet-BQ2PhU-0.js → sheet-DHpu1ALk.js} +4 -4
  220. package/dist/{sheet-BQ2PhU-0.js.map → sheet-DHpu1ALk.js.map} +1 -1
  221. package/dist/sheet.cjs +1 -1
  222. package/dist/sheet.js +1 -1
  223. package/dist/{slider-C4fwo5P3.cjs → slider-D53uMirf.cjs} +2 -2
  224. package/dist/{slider-C4fwo5P3.cjs.map → slider-D53uMirf.cjs.map} +1 -1
  225. package/dist/{slider-Bo0_X0Xt.js → slider-FduzwQaj.js} +3 -3
  226. package/dist/{slider-Bo0_X0Xt.js.map → slider-FduzwQaj.js.map} +1 -1
  227. package/dist/slider.cjs +1 -1
  228. package/dist/slider.js +1 -1
  229. package/dist/{spinner-CKnK4QHu.js → spinner-C1zbU-Fn.js} +2 -2
  230. package/dist/{spinner-CKnK4QHu.js.map → spinner-C1zbU-Fn.js.map} +1 -1
  231. package/dist/{spinner-DMoZTIMe.cjs → spinner-CYWF3UD6.cjs} +2 -2
  232. package/dist/{spinner-DMoZTIMe.cjs.map → spinner-CYWF3UD6.cjs.map} +1 -1
  233. package/dist/steps.cjs +1 -1
  234. package/dist/steps.js +1 -1
  235. package/dist/{surface-BEaRxAZt.js → surface-DHcaWxcD.js} +2 -2
  236. package/dist/{surface-BEaRxAZt.js.map → surface-DHcaWxcD.js.map} +1 -1
  237. package/dist/{surface-Bcy2LzAX.cjs → surface-DggUxcdm.cjs} +2 -2
  238. package/dist/{surface-Bcy2LzAX.cjs.map → surface-DggUxcdm.cjs.map} +1 -1
  239. package/dist/surface.cjs +1 -1
  240. package/dist/surface.js +1 -1
  241. package/dist/{table-MzCzXjAC.js → table-CzENdfG3.js} +2 -2
  242. package/dist/{table-MzCzXjAC.js.map → table-CzENdfG3.js.map} +1 -1
  243. package/dist/{table-9AyLMNRe.cjs → table-fOsDINqV.cjs} +2 -2
  244. package/dist/{table-9AyLMNRe.cjs.map → table-fOsDINqV.cjs.map} +1 -1
  245. package/dist/table.cjs +1 -1
  246. package/dist/table.js +1 -1
  247. package/dist/{tabs-compatibility-N1qxOCYJ.cjs → tabs-compatibility-DTCJgM46.cjs} +2 -2
  248. package/dist/{tabs-compatibility-N1qxOCYJ.cjs.map → tabs-compatibility-DTCJgM46.cjs.map} +1 -1
  249. package/dist/{tabs-compatibility-D5xv33oo.js → tabs-compatibility-DaAAqsNq.js} +2 -2
  250. package/dist/{tabs-compatibility-D5xv33oo.js.map → tabs-compatibility-DaAAqsNq.js.map} +1 -1
  251. package/dist/tabs.cjs +1 -1
  252. package/dist/tabs.js +1 -1
  253. package/dist/tailwind.mixin-CZTk9eGO.cjs +2 -0
  254. package/dist/{tailwind.mixin-KC3Nl9kj.cjs.map → tailwind.mixin-CZTk9eGO.cjs.map} +1 -1
  255. package/dist/tailwind.mixin-CzyZKLbe.js +43 -0
  256. package/dist/{tailwind.mixin-BTGoGfEI.js.map → tailwind.mixin-CzyZKLbe.js.map} +1 -1
  257. package/dist/teleport.cjs +1 -1
  258. package/dist/teleport.js +1 -1
  259. package/dist/{textarea-BHGIbEBY.js → textarea-BFCDQ2GT.js} +2 -2
  260. package/dist/{textarea-BHGIbEBY.js.map → textarea-BFCDQ2GT.js.map} +1 -1
  261. package/dist/{textarea-DUBjaAfu.cjs → textarea-zXQTFn05.cjs} +2 -2
  262. package/dist/{textarea-DUBjaAfu.cjs.map → textarea-zXQTFn05.cjs.map} +1 -1
  263. package/dist/textarea.cjs +1 -1
  264. package/dist/textarea.js +1 -1
  265. package/dist/{theme-button-FU1OUOBA.js → theme-button-C7wWyjKO.js} +2 -2
  266. package/dist/{theme-button-FU1OUOBA.js.map → theme-button-C7wWyjKO.js.map} +1 -1
  267. package/dist/{theme-button-C2-L23sJ.cjs → theme-button-DzIOCd3h.cjs} +2 -2
  268. package/dist/{theme-button-C2-L23sJ.cjs.map → theme-button-DzIOCd3h.cjs.map} +1 -1
  269. package/dist/theme-button.cjs +1 -1
  270. package/dist/theme-button.js +1 -1
  271. package/dist/theme.cjs +1 -1
  272. package/dist/{theme.component-BYGB9dTb.js → theme.component-BKgJfpNl.js} +2 -2
  273. package/dist/{theme.component-BYGB9dTb.js.map → theme.component-BKgJfpNl.js.map} +1 -1
  274. package/dist/{theme.component-BQr3n0fE.cjs → theme.component-DuN_MT-I.cjs} +2 -2
  275. package/dist/{theme.component-BQr3n0fE.cjs.map → theme.component-DuN_MT-I.cjs.map} +1 -1
  276. package/dist/theme.js +1 -1
  277. package/dist/{timezone-BgX3qSF-.js → timezone-BYnaaL3j.js} +3 -3
  278. package/dist/{timezone-BgX3qSF-.js.map → timezone-BYnaaL3j.js.map} +1 -1
  279. package/dist/{timezone-DexhNs9f.cjs → timezone-N5PVVp_E.cjs} +2 -2
  280. package/dist/{timezone-DexhNs9f.cjs.map → timezone-N5PVVp_E.cjs.map} +1 -1
  281. package/dist/{tooltip-xj7RGLlB.cjs → tooltip-BgwJ0DmV.cjs} +2 -2
  282. package/dist/{tooltip-xj7RGLlB.cjs.map → tooltip-BgwJ0DmV.cjs.map} +1 -1
  283. package/dist/{tooltip-CkGy17kd.js → tooltip-DaUOeHF_.js} +2 -2
  284. package/dist/{tooltip-CkGy17kd.js.map → tooltip-DaUOeHF_.js.map} +1 -1
  285. package/dist/tooltip.cjs +1 -1
  286. package/dist/tooltip.js +1 -1
  287. package/dist/{tree-DSpkwuOO.cjs → tree-Bvpk4MpH.cjs} +2 -2
  288. package/dist/{tree-DSpkwuOO.cjs.map → tree-Bvpk4MpH.cjs.map} +1 -1
  289. package/dist/{tree-BeU8nzGP.js → tree-Cq36MuXu.js} +2 -2
  290. package/dist/{tree-BeU8nzGP.js.map → tree-Cq36MuXu.js.map} +1 -1
  291. package/dist/tree.cjs +1 -1
  292. package/dist/tree.js +1 -1
  293. package/dist/{typewriter-CbONIeGA.js → typewriter-C635iFze.js} +4 -4
  294. package/dist/{typewriter-CbONIeGA.js.map → typewriter-C635iFze.js.map} +1 -1
  295. package/dist/{typewriter-Bn7fe4nG.cjs → typewriter-CQwrujZ8.cjs} +2 -2
  296. package/dist/{typewriter-Bn7fe4nG.cjs.map → typewriter-CQwrujZ8.cjs.map} +1 -1
  297. package/dist/typewriter.cjs +1 -1
  298. package/dist/typewriter.js +1 -1
  299. package/dist/{typography-CJ5-RiNW.cjs → typography-Do--_1jL.cjs} +2 -2
  300. package/dist/{typography-CJ5-RiNW.cjs.map → typography-Do--_1jL.cjs.map} +1 -1
  301. package/dist/{typography-D1m-mdd7.js → typography-_p9jkBnA.js} +2 -2
  302. package/dist/{typography-D1m-mdd7.js.map → typography-_p9jkBnA.js.map} +1 -1
  303. package/dist/typography.cjs +1 -1
  304. package/dist/typography.js +1 -1
  305. package/package.json +1 -1
  306. package/dist/details-Bkt6fV0b.js +0 -134
  307. package/dist/details-Bkt6fV0b.js.map +0 -1
  308. package/dist/details-X-ciBYba.cjs +0 -109
  309. package/dist/details-X-ciBYba.cjs.map +0 -1
  310. package/dist/input-DJKVCqiL.cjs +0 -51
  311. package/dist/tailwind.mixin-BTGoGfEI.js +0 -43
  312. package/dist/tailwind.mixin-KC3Nl9kj.cjs +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete-CleoNM85.cjs","sources":["../src/autocomplete/autocomplete.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { InputSize, SchmancyInput } from '@schmancy/input'\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!: SchmancyInput\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 <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=${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 </schmancy-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":["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","vals","next","Array","isArray","join","val","split","map","v","trim","filter","Boolean","connectedCallback","id","Math","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","includes","String","distinctUntilChanged","debounceTime","withLatestFrom","searchTerm","isOpen","term","scoredOptions","optionLabel","textContent","optionValue","labelScore","similarity","valueScore","score","max","sort","a","b","visibleCount","item","hidden","style","order","length","_announceToScreenReader","_","currentValues","indexOf","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","values","dispatchEvent","CustomEvent","bubbles","composed","checkValidity","reportValidity","render","descriptionId","html","ref","toLowerCase","replace","target","hasSelection","_handleKeyDown","classMap","absolute","flex","_e","event","key","preventDefault","focus","visibleOptions","parseInt","focusedOption","activeElement","currentIndex","nextIndex","prevIndex","__decorateClass","property","type","prototype","reflect","Number","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"autocomplete-C6eBvBLN.cjs","sources":["../src/autocomplete/autocomplete.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { InputSize, SchmancyInput } from '@schmancy/input'\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!: SchmancyInput\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 <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=${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 </schmancy-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":["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","vals","next","Array","isArray","join","val","split","map","v","trim","filter","Boolean","connectedCallback","id","Math","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","includes","String","distinctUntilChanged","debounceTime","withLatestFrom","searchTerm","isOpen","term","scoredOptions","optionLabel","textContent","optionValue","labelScore","similarity","valueScore","score","max","sort","a","b","visibleCount","item","hidden","style","order","length","_announceToScreenReader","_","currentValues","indexOf","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","values","dispatchEvent","CustomEvent","bubbles","composed","checkValidity","reportValidity","render","descriptionId","html","ref","toLowerCase","replace","target","hasSelection","_handleKeyDown","classMap","absolute","flex","_e","event","key","preventDefault","focus","visibleOptions","parseInt","focusedOption","activeElement","currentIndex","nextIndex","prevIndex","__decorateClass","property","type","prototype","reflect","Number","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";require("./autocomplete-CleoNM85.cjs");
1
+ "use strict";require("./autocomplete-C6eBvBLN.cjs");
2
2
  //# sourceMappingURL=autocomplete.cjs.map
@@ -1,2 +1,2 @@
1
- import "./autocomplete-BhjrqWor.js";
1
+ import "./autocomplete-7Md-DAgu.js";
2
2
  //# sourceMappingURL=autocomplete.js.map
@@ -1,64 +1,64 @@
1
1
  import { css as z, html as c, nothing as lt } from "lit";
2
2
  import { property as l, customElement as y, state as d, queryAssignedElements as ct, query as F } from "lit/decorators.js";
3
3
  import { Subject as G, merge as J, fromEvent as f, startWith as bt, tap as C, map as v, debounceTime as q, distinctUntilChanged as K, takeUntil as p, from as st, of as B, Observable as gt, zip as rt, filter as dt, take as ft, timeout as vt, bufferTime as wt, concatMap as xt, interval as $t, throwIfEmpty as Ct } from "rxjs";
4
- import "./animated-text-Bns9oiIU.js";
5
- import { a as it, F as St, H as Dt } from "./area.component-Aur5h5TN.js";
6
- import "./autocomplete-BhjrqWor.js";
4
+ import "./animated-text-DrgUZxlk.js";
5
+ import { a as it, F as St, H as Dt } from "./area.component-BIc_W59P.js";
6
+ import "./autocomplete-7Md-DAgu.js";
7
7
  import "lit/directives/class-map.js";
8
8
  import "lit/directives/style-map.js";
9
- import { T as ht } from "./tailwind.mixin-BTGoGfEI.js";
9
+ import { T as ht } from "./tailwind.mixin-CzyZKLbe.js";
10
10
  import { c as U, f as Ot } from "./ripple-BumgqsDT.js";
11
- import "./boat-CIA-nk8V.js";
12
- import "./spinner-CKnK4QHu.js";
13
- import "./icon-button-DdvdiQga.js";
14
- import "./media-BtAS-xyw.js";
15
- import "./checkbox-BCTABF4s.js";
16
- import "./chips-BbMM2s8r.js";
17
- import "./circular-progress-DtAG2JJn.js";
18
- import "./code-preview-BgwAlMc_.js";
19
- import "./payment-card-form-C1W2DPu4.js";
11
+ import "./boat-8AUFg_N1.js";
12
+ import "./spinner-C1zbU-Fn.js";
13
+ import "./icon-button-CxvX8bhV.js";
14
+ import "./media-yNoBGbIW.js";
15
+ import "./checkbox-BZ6YYyDP.js";
16
+ import "./chips-CoOlYu41.js";
17
+ import "./circular-progress-CRjTzkR5.js";
18
+ import "./code-preview-BGtHM8rZ.js";
19
+ import "./payment-card-form-Cq_PQYH1.js";
20
20
  import { SchmancyEvents as m } from "./types.js";
21
21
  import { n as j, e as M } from "./provide-tcktw8xB.js";
22
- import { $ as E } from "./litElement.mixin-BMewYv9c.js";
22
+ import { $ as E } from "./litElement.mixin-B3DViDp3.js";
23
23
  import { c as h } from "./consume-5D1qfVWM.js";
24
- import "./date-range-CBfV-vU_.js";
25
- import "./date-range-inline-VA3xdfyl.js";
26
- import "./delay-B_3yscDy.js";
27
- import "./details-Bkt6fV0b.js";
28
- import "./dialog-content-Y4RvMloi.js";
29
- import "./dialog-service-CY9yBEhe.js";
30
- import "./divider-BZq3k_da.js";
31
- import "./dropdown-content-JvpnX2RS.js";
32
- import "./timezone-BgX3qSF-.js";
33
- import "./form-czxHWLos.js";
34
- import "./icon-B8LhF-rS.js";
35
- import "./input-rNxC53BQ.js";
36
- import "./flex-CAsda_Fe.js";
37
- import "./list-ccMISKKN.js";
38
- import "./map-CsuRRLbB.js";
39
- import "./menu-CAhuu8Ei.js";
24
+ import "./date-range-B81hrRXp.js";
25
+ import "./date-range-inline-Cwg9Orn9.js";
26
+ import "./delay-HypqMt6T.js";
27
+ import "./details-tUVa6yxT.js";
28
+ import "./dialog-content-CosoTy8k.js";
29
+ import "./dialog-service-BqFyjidQ.js";
30
+ import "./divider-BqRj6UxZ.js";
31
+ import "./dropdown-content-cSEhg-Nb.js";
32
+ import "./timezone-BYnaaL3j.js";
33
+ import "./form-DzPgImRY.js";
34
+ import "./icon-CdvX9Uee.js";
35
+ import "./input-J4PZ5mx6.js";
36
+ import "./flex-Bgb3KRRe.js";
37
+ import "./list-DzSYh-wL.js";
38
+ import "./map-NSbqp1n5.js";
39
+ import "./menu-DHXR2hMy.js";
40
40
  import { when as Y } from "lit/directives/when.js";
41
- import "./notification-service-Byz67oln.js";
42
- import "./option-BCg6S7Jj.js";
43
- import "./progress-BSJSsYj7.js";
44
- import "./radio-button-DX4XSjAy.js";
41
+ import "./notification-service-DYjanzr0.js";
42
+ import "./option-inF2WcDS.js";
43
+ import "./progress-DMeUsOoq.js";
44
+ import "./radio-button-skXo9_2Z.js";
45
45
  import "./index-CuY8m6ta.js";
46
- import "./select-C-KLPYEJ.js";
47
- import { s as V } from "./sheet-BQ2PhU-0.js";
48
- import "./slider-Bo0_X0Xt.js";
49
- import "./schmancy-steps-container-8RdoKtdK.js";
46
+ import "./select-BbIFwv0h.js";
47
+ import { s as V } from "./sheet-DHpu1ALk.js";
48
+ import "./slider-FduzwQaj.js";
49
+ import "./schmancy-steps-container-AQATjRbH.js";
50
50
  import "./context-object-CDDP4bTk.js";
51
51
  import { map as zt, distinctUntilChanged as Et, take as kt } from "rxjs/operators";
52
- import "./surface-BEaRxAZt.js";
53
- import "./table-MzCzXjAC.js";
54
- import "./tabs-compatibility-D5xv33oo.js";
55
- import "./textarea-BHGIbEBY.js";
56
- import "./theme.component-BYGB9dTb.js";
57
- import "./theme-button-FU1OUOBA.js";
58
- import "./tooltip-CkGy17kd.js";
59
- import "./tree-BeU8nzGP.js";
60
- import "./typewriter-CbONIeGA.js";
61
- import "./typography-D1m-mdd7.js";
52
+ import "./surface-DHcaWxcD.js";
53
+ import "./table-CzENdfG3.js";
54
+ import "./tabs-compatibility-DaAAqsNq.js";
55
+ import "./textarea-BFCDQ2GT.js";
56
+ import "./theme.component-BKgJfpNl.js";
57
+ import "./theme-button-C7wWyjKO.js";
58
+ import "./tooltip-DaUOeHF_.js";
59
+ import "./tree-Cq36MuXu.js";
60
+ import "./typewriter-C635iFze.js";
61
+ import "./typography-_p9jkBnA.js";
62
62
  import { S as i } from "./theme.interface-C5Kj6WjD.js";
63
63
  var Wt = Object.defineProperty, Mt = Object.getOwnPropertyDescriptor, O = (t, e, r, o) => {
64
64
  for (var n, s = o > 1 ? void 0 : o ? Mt(e, r) : e, a = t.length - 1; a >= 0; a--) (n = t[a]) && (s = (o ? n(e, r, s) : n(s)) || s);
@@ -633,4 +633,4 @@ export {
633
633
  is as s,
634
634
  H as t
635
635
  };
636
- //# sourceMappingURL=avatar-j733KoCV.js.map
636
+ //# sourceMappingURL=avatar-DMEjkTXa.js.map