@mhmo91/schmancy 0.4.85 → 0.4.87

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 (305) hide show
  1. package/dist/{animated-text-Btjma28b.cjs → animated-text-DLZBNSFf.cjs} +2 -2
  2. package/dist/{animated-text-Btjma28b.cjs.map → animated-text-DLZBNSFf.cjs.map} +1 -1
  3. package/dist/{animated-text-CLWwT8SD.js → animated-text-nvZN1_No.js} +3 -3
  4. package/dist/{animated-text-CLWwT8SD.js.map → animated-text-nvZN1_No.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.js +1 -1
  9. package/dist/{autocomplete-DFtKSlra.cjs → autocomplete-BAAWVC3Q.cjs} +2 -2
  10. package/dist/{autocomplete-DFtKSlra.cjs.map → autocomplete-BAAWVC3Q.cjs.map} +1 -1
  11. package/dist/{autocomplete--PVrgHin.js → autocomplete-CfHzVbDJ.js} +3 -3
  12. package/dist/{autocomplete--PVrgHin.js.map → autocomplete-CfHzVbDJ.js.map} +1 -1
  13. package/dist/autocomplete.cjs +1 -1
  14. package/dist/autocomplete.js +1 -1
  15. package/dist/{avatar-BdzN2LRa.js → avatar-Dgxtz7zt.js} +48 -48
  16. package/dist/{avatar-BdzN2LRa.js.map → avatar-Dgxtz7zt.js.map} +1 -1
  17. package/dist/{avatar-mVeyzMlO.cjs → avatar-KiawhrGK.cjs} +2 -2
  18. package/dist/{avatar-mVeyzMlO.cjs.map → avatar-KiawhrGK.cjs.map} +1 -1
  19. package/dist/badge.cjs +1 -1
  20. package/dist/badge.js +1 -1
  21. package/dist/{boat-CHZti0-T.js → boat-5glpQxds.js} +2 -2
  22. package/dist/{boat-CHZti0-T.js.map → boat-5glpQxds.js.map} +1 -1
  23. package/dist/{boat-DrHMgjiX.cjs → boat-nDDK1MbA.cjs} +2 -2
  24. package/dist/{boat-DrHMgjiX.cjs.map → boat-nDDK1MbA.cjs.map} +1 -1
  25. package/dist/boat.cjs +1 -1
  26. package/dist/boat.js +1 -1
  27. package/dist/busy.cjs +1 -1
  28. package/dist/busy.js +1 -1
  29. package/dist/button.cjs +1 -1
  30. package/dist/button.js +1 -1
  31. package/dist/card.cjs +1 -1
  32. package/dist/card.js +1 -1
  33. package/dist/{checkbox-N8Ya9262.js → checkbox-COcvTjMW.js} +2 -2
  34. package/dist/{checkbox-N8Ya9262.js.map → checkbox-COcvTjMW.js.map} +1 -1
  35. package/dist/{checkbox-DxeljEZx.cjs → checkbox-DsHWKlNd.cjs} +2 -2
  36. package/dist/{checkbox-DxeljEZx.cjs.map → checkbox-DsHWKlNd.cjs.map} +1 -1
  37. package/dist/checkbox.cjs +1 -1
  38. package/dist/checkbox.js +1 -1
  39. package/dist/{chips-D9pCQpJp.js → chips-BsE2FLOK.js} +51 -41
  40. package/dist/chips-BsE2FLOK.js.map +1 -0
  41. package/dist/{chips-BFShbTLs.cjs → chips-DcZxnTiH.cjs} +44 -34
  42. package/dist/chips-DcZxnTiH.cjs.map +1 -0
  43. package/dist/chips.cjs +1 -1
  44. package/dist/chips.js +1 -1
  45. package/dist/code-highlight.cjs +1 -1
  46. package/dist/code-highlight.js +1 -1
  47. package/dist/{code-preview-D0Tovz9G.cjs → code-preview-BJozH8bg.cjs} +3 -3
  48. package/dist/{code-preview-D0Tovz9G.cjs.map → code-preview-BJozH8bg.cjs.map} +1 -1
  49. package/dist/{code-preview-BHbWcQdG.js → code-preview-RiewnuEk.js} +3 -3
  50. package/dist/{code-preview-BHbWcQdG.js.map → code-preview-RiewnuEk.js.map} +1 -1
  51. package/dist/components.cjs +1 -1
  52. package/dist/components.js +1 -1
  53. package/dist/content-drawer.cjs +1 -1
  54. package/dist/content-drawer.js +1 -1
  55. package/dist/{date-range-C9dH5nMU.js → date-range-Cbza1KXP.js} +3 -3
  56. package/dist/{date-range-C9dH5nMU.js.map → date-range-Cbza1KXP.js.map} +1 -1
  57. package/dist/{date-range-BINyvRpA.cjs → date-range-DDKYhOtH.cjs} +2 -2
  58. package/dist/{date-range-BINyvRpA.cjs.map → date-range-DDKYhOtH.cjs.map} +1 -1
  59. package/dist/{date-range-inline-WCeaVllZ.js → date-range-inline-boPwH1ed.js} +3 -3
  60. package/dist/{date-range-inline-WCeaVllZ.js.map → date-range-inline-boPwH1ed.js.map} +1 -1
  61. package/dist/{date-range-inline-BngE5mVB.cjs → date-range-inline-yzMQu-mN.cjs} +2 -2
  62. package/dist/{date-range-inline-BngE5mVB.cjs.map → date-range-inline-yzMQu-mN.cjs.map} +1 -1
  63. package/dist/date-range-inline.cjs +1 -1
  64. package/dist/date-range-inline.js +1 -1
  65. package/dist/date-range.cjs +1 -1
  66. package/dist/date-range.js +1 -1
  67. package/dist/{delay-C7bWLosy.cjs → delay-BLwJSoNc.cjs} +2 -2
  68. package/dist/{delay-C7bWLosy.cjs.map → delay-BLwJSoNc.cjs.map} +1 -1
  69. package/dist/{delay-gXEydaD3.js → delay-CAJeTrMY.js} +2 -2
  70. package/dist/{delay-gXEydaD3.js.map → delay-CAJeTrMY.js.map} +1 -1
  71. package/dist/delay.cjs +1 -1
  72. package/dist/delay.js +1 -1
  73. package/dist/{details-DPa1HCmJ.cjs → details-BtEG8gcM.cjs} +2 -2
  74. package/dist/{details-DPa1HCmJ.cjs.map → details-BtEG8gcM.cjs.map} +1 -1
  75. package/dist/{details-vkuW1krC.js → details-BvgfOUwG.js} +2 -2
  76. package/dist/{details-vkuW1krC.js.map → details-BvgfOUwG.js.map} +1 -1
  77. package/dist/details.cjs +1 -1
  78. package/dist/details.js +1 -1
  79. package/dist/{dialog-content-B0SV_jdE.js → dialog-content-B_rZ7-Dx.js} +3 -3
  80. package/dist/{dialog-content-B0SV_jdE.js.map → dialog-content-B_rZ7-Dx.js.map} +1 -1
  81. package/dist/{dialog-content-GjsAatEw.cjs → dialog-content-Bp-6ev5r.cjs} +2 -2
  82. package/dist/{dialog-content-GjsAatEw.cjs.map → dialog-content-Bp-6ev5r.cjs.map} +1 -1
  83. package/dist/dialog.cjs +1 -1
  84. package/dist/dialog.js +1 -1
  85. package/dist/{divider-DxqKp5Rb.cjs → divider-BuzCDVZJ.cjs} +2 -2
  86. package/dist/{divider-DxqKp5Rb.cjs.map → divider-BuzCDVZJ.cjs.map} +1 -1
  87. package/dist/{divider-_QCadPBX.js → divider-DbN0lWvJ.js} +3 -3
  88. package/dist/{divider-_QCadPBX.js.map → divider-DbN0lWvJ.js.map} +1 -1
  89. package/dist/divider.cjs +1 -1
  90. package/dist/divider.js +1 -1
  91. package/dist/{dropdown-content-DFQit9eI.js → dropdown-content-C4l8NQKb.js} +3 -3
  92. package/dist/{dropdown-content-DFQit9eI.js.map → dropdown-content-C4l8NQKb.js.map} +1 -1
  93. package/dist/{dropdown-content-BETWKOm1.cjs → dropdown-content-EkPK--Cx.cjs} +2 -2
  94. package/dist/{dropdown-content-BETWKOm1.cjs.map → dropdown-content-EkPK--Cx.cjs.map} +1 -1
  95. package/dist/dropdown.cjs +1 -1
  96. package/dist/dropdown.js +1 -1
  97. package/dist/{email-recipients-DQyDjfZ0.js → email-recipients-BFxh6ytS.js} +5 -5
  98. package/dist/{email-recipients-DQyDjfZ0.js.map → email-recipients-BFxh6ytS.js.map} +1 -1
  99. package/dist/{email-recipients-CGLyhrII.cjs → email-recipients-DlZfsJ0N.cjs} +2 -2
  100. package/dist/{email-recipients-CGLyhrII.cjs.map → email-recipients-DlZfsJ0N.cjs.map} +1 -1
  101. package/dist/extra.cjs +1 -1
  102. package/dist/extra.js +1 -1
  103. package/dist/{flex-BdzuSHtX.js → flex-BurmAW_j.js} +2 -2
  104. package/dist/{flex-BdzuSHtX.js.map → flex-BurmAW_j.js.map} +1 -1
  105. package/dist/{flex-BbYuzhdg.cjs → flex-z1wT5imi.cjs} +2 -2
  106. package/dist/{flex-BbYuzhdg.cjs.map → flex-z1wT5imi.cjs.map} +1 -1
  107. package/dist/{form-DHdjN-iV.cjs → form-DDh2tkxR.cjs} +2 -2
  108. package/dist/{form-DHdjN-iV.cjs.map → form-DDh2tkxR.cjs.map} +1 -1
  109. package/dist/{form-ByWvLdjk.js → form-wQIV37j5.js} +2 -2
  110. package/dist/{form-ByWvLdjk.js.map → form-wQIV37j5.js.map} +1 -1
  111. package/dist/form.cjs +1 -1
  112. package/dist/form.js +1 -1
  113. package/dist/{formField.mixin-C47L98MP.cjs → formField.mixin-CdSArcv4.cjs} +2 -2
  114. package/dist/{formField.mixin-C47L98MP.cjs.map → formField.mixin-CdSArcv4.cjs.map} +1 -1
  115. package/dist/{formField.mixin-BvjhA8Rz.js → formField.mixin-DJtuXUGx.js} +2 -2
  116. package/dist/{formField.mixin-BvjhA8Rz.js.map → formField.mixin-DJtuXUGx.js.map} +1 -1
  117. package/dist/{icon-Ci8q_2UE.js → icon-C9BZmSqO.js} +2 -2
  118. package/dist/{icon-Ci8q_2UE.js.map → icon-C9BZmSqO.js.map} +1 -1
  119. package/dist/{icon-JgJFaHaK.cjs → icon-CSlFc1Qh.cjs} +2 -2
  120. package/dist/{icon-JgJFaHaK.cjs.map → icon-CSlFc1Qh.cjs.map} +1 -1
  121. package/dist/{icon-button-BrR9adoo.js → icon-button-O0Gx_ooU.js} +3 -3
  122. package/dist/{icon-button-BrR9adoo.js.map → icon-button-O0Gx_ooU.js.map} +1 -1
  123. package/dist/{icon-button-D6AnvnyR.cjs → icon-button-WUKIwcEj.cjs} +2 -2
  124. package/dist/{icon-button-D6AnvnyR.cjs.map → icon-button-WUKIwcEj.cjs.map} +1 -1
  125. package/dist/icons.cjs +1 -1
  126. package/dist/icons.js +1 -1
  127. package/dist/index.cjs +1 -1
  128. package/dist/index.js +47 -47
  129. package/dist/{input-CkWToYUp.js → input-BUV48LSm.js} +3 -3
  130. package/dist/{input-CkWToYUp.js.map → input-BUV48LSm.js.map} +1 -1
  131. package/dist/{input-PwHKdwKy.cjs → input-DDeZdocJ.cjs} +2 -2
  132. package/dist/{input-PwHKdwKy.cjs.map → input-DDeZdocJ.cjs.map} +1 -1
  133. package/dist/input.cjs +1 -1
  134. package/dist/input.js +1 -1
  135. package/dist/layout.cjs +1 -1
  136. package/dist/layout.js +1 -1
  137. package/dist/{list-BdHn0KpK.js → list-C8p6J3Dx.js} +2 -2
  138. package/dist/{list-BdHn0KpK.js.map → list-C8p6J3Dx.js.map} +1 -1
  139. package/dist/{list-CX86Y2XC.cjs → list-CoEo9BAP.cjs} +2 -2
  140. package/dist/{list-CX86Y2XC.cjs.map → list-CoEo9BAP.cjs.map} +1 -1
  141. package/dist/list.cjs +1 -1
  142. package/dist/list.js +1 -1
  143. package/dist/{litElement.mixin-D03SVj4R.js → litElement.mixin-DLNiN-V5.js} +2 -2
  144. package/dist/{litElement.mixin-D03SVj4R.js.map → litElement.mixin-DLNiN-V5.js.map} +1 -1
  145. package/dist/{litElement.mixin-CkMWAuts.cjs → litElement.mixin-DdQ7eM2e.cjs} +2 -2
  146. package/dist/{litElement.mixin-CkMWAuts.cjs.map → litElement.mixin-DdQ7eM2e.cjs.map} +1 -1
  147. package/dist/mailbox.cjs +1 -1
  148. package/dist/mailbox.js +1 -1
  149. package/dist/{map-CIfrwXia.js → map-CJ7EnCNd.js} +2 -2
  150. package/dist/{map-CIfrwXia.js.map → map-CJ7EnCNd.js.map} +1 -1
  151. package/dist/{map-CYQAoQOV.cjs → map-D5YzzODH.cjs} +2 -2
  152. package/dist/{map-CYQAoQOV.cjs.map → map-D5YzzODH.cjs.map} +1 -1
  153. package/dist/map.cjs +1 -1
  154. package/dist/map.js +1 -1
  155. package/dist/{media-0bL2h0ht.cjs → media-D6txE9BN.cjs} +2 -2
  156. package/dist/{media-0bL2h0ht.cjs.map → media-D6txE9BN.cjs.map} +1 -1
  157. package/dist/{media-BSC1mxJ-.js → media-PHx-k9YM.js} +2 -2
  158. package/dist/{media-BSC1mxJ-.js.map → media-PHx-k9YM.js.map} +1 -1
  159. package/dist/{menu-BO7CfCQI.cjs → menu-CG6wQDjl.cjs} +2 -2
  160. package/dist/{menu-BO7CfCQI.cjs.map → menu-CG6wQDjl.cjs.map} +1 -1
  161. package/dist/{menu-B9ZZ4WHF.js → menu-V8LGnPCi.js} +3 -3
  162. package/dist/{menu-B9ZZ4WHF.js.map → menu-V8LGnPCi.js.map} +1 -1
  163. package/dist/menu.cjs +1 -1
  164. package/dist/menu.js +1 -1
  165. package/dist/nav-drawer.cjs +1 -1
  166. package/dist/nav-drawer.js +1 -1
  167. package/dist/{notification-service-BoCflvxa.js → notification-service-BWziMwkF.js} +4 -4
  168. package/dist/{notification-service-BoCflvxa.js.map → notification-service-BWziMwkF.js.map} +1 -1
  169. package/dist/{notification-service-ClFjiF0G.cjs → notification-service-Cyyc9a-L.cjs} +2 -2
  170. package/dist/{notification-service-ClFjiF0G.cjs.map → notification-service-Cyyc9a-L.cjs.map} +1 -1
  171. package/dist/notification.cjs +1 -1
  172. package/dist/notification.js +2 -2
  173. package/dist/{notify-yJOOWt01.js → notify-7bT7sJFW.js} +2 -2
  174. package/dist/{notify-yJOOWt01.js.map → notify-7bT7sJFW.js.map} +1 -1
  175. package/dist/{notify-DGuNoxAT.cjs → notify-BziZgQvp.cjs} +2 -2
  176. package/dist/{notify-DGuNoxAT.cjs.map → notify-BziZgQvp.cjs.map} +1 -1
  177. package/dist/{option-Dlpzp5ay.cjs → option-CEd8J-Zh.cjs} +2 -2
  178. package/dist/{option-Dlpzp5ay.cjs.map → option-CEd8J-Zh.cjs.map} +1 -1
  179. package/dist/{option-CKdtmOjL.js → option-DgcQ2T0H.js} +2 -2
  180. package/dist/{option-CKdtmOjL.js.map → option-DgcQ2T0H.js.map} +1 -1
  181. package/dist/option.cjs +1 -1
  182. package/dist/option.js +1 -1
  183. package/dist/{payment-card-form-0ZOeAzl2.cjs → payment-card-form-COc_Kjc9.cjs} +2 -2
  184. package/dist/{payment-card-form-0ZOeAzl2.cjs.map → payment-card-form-COc_Kjc9.cjs.map} +1 -1
  185. package/dist/{payment-card-form-C3eShNvJ.js → payment-card-form-aEjO06kO.js} +3 -3
  186. package/dist/{payment-card-form-C3eShNvJ.js.map → payment-card-form-aEjO06kO.js.map} +1 -1
  187. package/dist/{progress-DCLvVsj1.js → progress-BhUkQeYe.js} +2 -2
  188. package/dist/{progress-DCLvVsj1.js.map → progress-BhUkQeYe.js.map} +1 -1
  189. package/dist/{progress-8AmL3mGg.cjs → progress-EURLAgD0.cjs} +2 -2
  190. package/dist/{progress-8AmL3mGg.cjs.map → progress-EURLAgD0.cjs.map} +1 -1
  191. package/dist/progress.cjs +1 -1
  192. package/dist/progress.js +1 -1
  193. package/dist/{radio-button-DvrHF9aF.js → radio-button-Dcpz_fmo.js} +3 -3
  194. package/dist/{radio-button-DvrHF9aF.js.map → radio-button-Dcpz_fmo.js.map} +1 -1
  195. package/dist/{radio-button-BXAynEM0.cjs → radio-button-LdoNptvp.cjs} +2 -2
  196. package/dist/{radio-button-BXAynEM0.cjs.map → radio-button-LdoNptvp.cjs.map} +1 -1
  197. package/dist/radio-group.cjs +1 -1
  198. package/dist/radio-group.js +1 -1
  199. package/dist/{route.component-ChTVfEpU.cjs → route.component-5DiuY1xZ.cjs} +2 -2
  200. package/dist/{route.component-ChTVfEpU.cjs.map → route.component-5DiuY1xZ.cjs.map} +1 -1
  201. package/dist/{route.component-gEKg8wCv.js → route.component-HAZV3uGI.js} +3 -3
  202. package/dist/{route.component-gEKg8wCv.js.map → route.component-HAZV3uGI.js.map} +1 -1
  203. package/dist/{schmancy-steps-container-CLs0cxAU.js → schmancy-steps-container-6Yh2bfRc.js} +2 -2
  204. package/dist/{schmancy-steps-container-CLs0cxAU.js.map → schmancy-steps-container-6Yh2bfRc.js.map} +1 -1
  205. package/dist/{schmancy-steps-container-CW0vm29u.cjs → schmancy-steps-container-DIXMlg91.cjs} +2 -2
  206. package/dist/{schmancy-steps-container-CW0vm29u.cjs.map → schmancy-steps-container-DIXMlg91.cjs.map} +1 -1
  207. package/dist/{select-COniURPf.cjs → select-CSRf85FE.cjs} +2 -2
  208. package/dist/{select-COniURPf.cjs.map → select-CSRf85FE.cjs.map} +1 -1
  209. package/dist/{select-CBc4iitP.js → select-rrfFhF3b.js} +3 -3
  210. package/dist/{select-CBc4iitP.js.map → select-rrfFhF3b.js.map} +1 -1
  211. package/dist/select.cjs +1 -1
  212. package/dist/select.js +1 -1
  213. package/dist/{sheet-DWiK9G7a.cjs → sheet--elQuw2i.cjs} +2 -2
  214. package/dist/{sheet-DWiK9G7a.cjs.map → sheet--elQuw2i.cjs.map} +1 -1
  215. package/dist/{sheet-DK3K8u-L.js → sheet-Dk2DtsfS.js} +3 -3
  216. package/dist/{sheet-DK3K8u-L.js.map → sheet-Dk2DtsfS.js.map} +1 -1
  217. package/dist/sheet.cjs +1 -1
  218. package/dist/sheet.js +1 -1
  219. package/dist/{slider-pw7RrHd-.js → slider-Cat6tSn6.js} +3 -3
  220. package/dist/{slider-pw7RrHd-.js.map → slider-Cat6tSn6.js.map} +1 -1
  221. package/dist/{slider-BkEJTxkZ.cjs → slider-D4508OYD.cjs} +2 -2
  222. package/dist/{slider-BkEJTxkZ.cjs.map → slider-D4508OYD.cjs.map} +1 -1
  223. package/dist/slider.cjs +1 -1
  224. package/dist/slider.js +1 -1
  225. package/dist/{spinner-1wQEakyk.js → spinner-B0aF6kLc.js} +2 -2
  226. package/dist/{spinner-1wQEakyk.js.map → spinner-B0aF6kLc.js.map} +1 -1
  227. package/dist/{spinner-nQhKzev7.cjs → spinner-CkLwTRRK.cjs} +2 -2
  228. package/dist/{spinner-nQhKzev7.cjs.map → spinner-CkLwTRRK.cjs.map} +1 -1
  229. package/dist/steps.cjs +1 -1
  230. package/dist/steps.js +1 -1
  231. package/dist/{surface-zW10SCtj.js → surface-BvGvrFVo.js} +2 -2
  232. package/dist/{surface-zW10SCtj.js.map → surface-BvGvrFVo.js.map} +1 -1
  233. package/dist/{surface-BzivH4s_.cjs → surface-CSHh_uZm.cjs} +2 -2
  234. package/dist/{surface-BzivH4s_.cjs.map → surface-CSHh_uZm.cjs.map} +1 -1
  235. package/dist/surface.cjs +1 -1
  236. package/dist/surface.js +1 -1
  237. package/dist/{table-e_PFi-ae.cjs → table-BkOyVbdP.cjs} +2 -2
  238. package/dist/{table-e_PFi-ae.cjs.map → table-BkOyVbdP.cjs.map} +1 -1
  239. package/dist/{table-DxwOyGAP.js → table-Dnwb9lXf.js} +2 -2
  240. package/dist/{table-DxwOyGAP.js.map → table-Dnwb9lXf.js.map} +1 -1
  241. package/dist/table.cjs +1 -1
  242. package/dist/table.js +1 -1
  243. package/dist/{tabs-compatibility-MF5SSZLz.js → tabs-compatibility-CLO_-Rua.js} +2 -2
  244. package/dist/{tabs-compatibility-MF5SSZLz.js.map → tabs-compatibility-CLO_-Rua.js.map} +1 -1
  245. package/dist/{tabs-compatibility-CSsgxakF.cjs → tabs-compatibility-CmtnA1PK.cjs} +2 -2
  246. package/dist/{tabs-compatibility-CSsgxakF.cjs.map → tabs-compatibility-CmtnA1PK.cjs.map} +1 -1
  247. package/dist/tabs.cjs +1 -1
  248. package/dist/tabs.js +1 -1
  249. package/dist/tailwind.mixin-Dkdujkqz.cjs +2 -0
  250. package/dist/{tailwind.mixin-DTRBuu6Z.cjs.map → tailwind.mixin-Dkdujkqz.cjs.map} +1 -1
  251. package/dist/tailwind.mixin-QM5BZpYs.js +43 -0
  252. package/dist/{tailwind.mixin-4vALHpnN.js.map → tailwind.mixin-QM5BZpYs.js.map} +1 -1
  253. package/dist/teleport.cjs +1 -1
  254. package/dist/teleport.js +1 -1
  255. package/dist/{textarea-bcQt-g0b.cjs → textarea-Cz6NZxbN.cjs} +2 -2
  256. package/dist/{textarea-bcQt-g0b.cjs.map → textarea-Cz6NZxbN.cjs.map} +1 -1
  257. package/dist/{textarea-DFxMh9Ri.js → textarea-DOIGUHBu.js} +2 -2
  258. package/dist/{textarea-DFxMh9Ri.js.map → textarea-DOIGUHBu.js.map} +1 -1
  259. package/dist/textarea.cjs +1 -1
  260. package/dist/textarea.js +1 -1
  261. package/dist/{theme-button-Inp9r41v.js → theme-button-CJSjNIzC.js} +2 -2
  262. package/dist/{theme-button-Inp9r41v.js.map → theme-button-CJSjNIzC.js.map} +1 -1
  263. package/dist/{theme-button-DylIPAHj.cjs → theme-button-DvJTFmMg.cjs} +2 -2
  264. package/dist/{theme-button-DylIPAHj.cjs.map → theme-button-DvJTFmMg.cjs.map} +1 -1
  265. package/dist/theme-button.cjs +1 -1
  266. package/dist/theme-button.js +1 -1
  267. package/dist/theme.cjs +1 -1
  268. package/dist/{theme.component-DH44ct8S.cjs → theme.component-CdDp0Xct.cjs} +2 -2
  269. package/dist/{theme.component-DH44ct8S.cjs.map → theme.component-CdDp0Xct.cjs.map} +1 -1
  270. package/dist/{theme.component-eJC13Rf2.js → theme.component-DdwekDlb.js} +2 -2
  271. package/dist/{theme.component-eJC13Rf2.js.map → theme.component-DdwekDlb.js.map} +1 -1
  272. package/dist/theme.js +1 -1
  273. package/dist/{timezone-BCxDmIBc.js → timezone-Dk0u476q.js} +3 -3
  274. package/dist/{timezone-BCxDmIBc.js.map → timezone-Dk0u476q.js.map} +1 -1
  275. package/dist/{timezone-c-CedJKo.cjs → timezone-vVWm353A.cjs} +2 -2
  276. package/dist/{timezone-c-CedJKo.cjs.map → timezone-vVWm353A.cjs.map} +1 -1
  277. package/dist/{tooltip-BcFaPEpk.cjs → tooltip-CKiDvh27.cjs} +2 -2
  278. package/dist/{tooltip-BcFaPEpk.cjs.map → tooltip-CKiDvh27.cjs.map} +1 -1
  279. package/dist/{tooltip-BjEmpAF2.js → tooltip-IvnMNR0T.js} +2 -2
  280. package/dist/{tooltip-BjEmpAF2.js.map → tooltip-IvnMNR0T.js.map} +1 -1
  281. package/dist/tooltip.cjs +1 -1
  282. package/dist/tooltip.js +1 -1
  283. package/dist/{tree-zQ0JPcsx.cjs → tree-DL-iuXNV.cjs} +2 -2
  284. package/dist/{tree-zQ0JPcsx.cjs.map → tree-DL-iuXNV.cjs.map} +1 -1
  285. package/dist/{tree-BQsHVUa2.js → tree-kZFEsWqS.js} +2 -2
  286. package/dist/{tree-BQsHVUa2.js.map → tree-kZFEsWqS.js.map} +1 -1
  287. package/dist/tree.cjs +1 -1
  288. package/dist/tree.js +1 -1
  289. package/dist/{typewriter-D9lcUV7j.cjs → typewriter-BbM65NlW.cjs} +2 -2
  290. package/dist/{typewriter-D9lcUV7j.cjs.map → typewriter-BbM65NlW.cjs.map} +1 -1
  291. package/dist/{typewriter-DiPhW97Q.js → typewriter-RpUPPePk.js} +4 -4
  292. package/dist/{typewriter-DiPhW97Q.js.map → typewriter-RpUPPePk.js.map} +1 -1
  293. package/dist/typewriter.cjs +1 -1
  294. package/dist/typewriter.js +1 -1
  295. package/dist/{typography-CH4NmKXT.cjs → typography-CWFAyQWg.cjs} +2 -2
  296. package/dist/{typography-CH4NmKXT.cjs.map → typography-CWFAyQWg.cjs.map} +1 -1
  297. package/dist/{typography-DbhS5CmR.js → typography-Du26cNWg.js} +2 -2
  298. package/dist/{typography-DbhS5CmR.js.map → typography-Du26cNWg.js.map} +1 -1
  299. package/dist/typography.cjs +1 -1
  300. package/dist/typography.js +1 -1
  301. package/package.json +1 -1
  302. package/dist/chips-BFShbTLs.cjs.map +0 -1
  303. package/dist/chips-D9pCQpJp.js.map +0 -1
  304. package/dist/tailwind.mixin-4vALHpnN.js +0 -43
  305. package/dist/tailwind.mixin-DTRBuu6Z.cjs +0 -2
@@ -1,4 +1,4 @@
1
- "use strict";const e=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const r=require("lit/decorators.js");require("./tailwind.mixin-DTRBuu6Z.cjs");const h=require("./litElement.mixin-CkMWAuts.cjs"),c=require("lit");var d=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=(i,a,p,n)=>{for(var l,o=n>1?void 0:n?u(a,p):a,y=i.length-1;y>=0;y--)(l=i[y])&&(o=(n?l(a,p,o):l(o))||o);return n&&o&&d(a,p,o),o};let t=class extends h.$LitElement(c.css`
1
+ "use strict";const e=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const r=require("lit/decorators.js");require("./tailwind.mixin-Dkdujkqz.cjs");const h=require("./litElement.mixin-DdQ7eM2e.cjs"),c=require("lit");var d=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=(i,a,p,n)=>{for(var l,o=n>1?void 0:n?u(a,p):a,y=i.length-1;y>=0;y--)(l=i[y])&&(o=(n?l(a,p,o):l(o))||o);return n&&o&&d(a,p,o),o};let t=class extends h.$LitElement(c.css`
2
2
  :host {
3
3
  font-family: inherit;
4
4
  display: block;
@@ -34,4 +34,4 @@
34
34
  </span>
35
35
  </span>
36
36
  `}};s([r.property({type:String})],t.prototype,"ease",2),s([r.property({type:Number})],t.prototype,"delay",2),s([r.property({type:Number})],t.prototype,"stagger",2),s([r.property({type:Number})],t.prototype,"duration",2),s([r.property({type:Array})],t.prototype,"scale",2),s([r.property({type:Array})],t.prototype,"opacity",2),s([r.property({type:Array})],t.prototype,"translateX",2),s([r.property({type:Array})],t.prototype,"translateY",2),s([r.property({type:Array})],t.prototype,"translateZ",2),s([r.property({type:Array})],t.prototype,"rotateZ",2),s([r.property({type:Boolean})],t.prototype,"resetOnScroll",2),s([r.queryAssignedNodes()],t.prototype,"defaultSlot",2),s([r.query(".letters")],t.prototype,"letters",2),s([r.query(".ml7")],t.prototype,"ml7",2),t=s([r.customElement("schmancy-animated-text")],t);
37
- //# sourceMappingURL=animated-text-Btjma28b.cjs.map
37
+ //# sourceMappingURL=animated-text-DLZBNSFf.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"animated-text-Btjma28b.cjs","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","constructor","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"animated-text-DLZBNSFf.cjs","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","constructor","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
@@ -2,8 +2,8 @@ import { concat as u, interval as g, startWith as y, filter as h, take as d, fro
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
4
  import { property as a, queryAssignedNodes as x, query as m, customElement as S } from "lit/decorators.js";
5
- import "./tailwind.mixin-4vALHpnN.js";
6
- import { $ as Z } from "./litElement.mixin-D03SVj4R.js";
5
+ import "./tailwind.mixin-QM5BZpYs.js";
6
+ import { $ as Z } from "./litElement.mixin-DLNiN-V5.js";
7
7
  import { css as v, html as A } from "lit";
8
8
  var E = Object.defineProperty, O = Object.getOwnPropertyDescriptor, e = (r, s, n, i) => {
9
9
  for (var l, o = i > 1 ? void 0 : i ? O(s, n) : s, p = r.length - 1; p >= 0; p--) (l = r[p]) && (o = (i ? l(s, n, o) : l(o)) || o);
@@ -72,4 +72,4 @@ let t = class extends Z(v`
72
72
  }
73
73
  };
74
74
  e([a({ type: String })], t.prototype, "ease", 2), e([a({ type: Number })], t.prototype, "delay", 2), e([a({ type: Number })], t.prototype, "stagger", 2), e([a({ type: Number })], t.prototype, "duration", 2), e([a({ type: Array })], t.prototype, "scale", 2), e([a({ type: Array })], t.prototype, "opacity", 2), e([a({ type: Array })], t.prototype, "translateX", 2), e([a({ type: Array })], t.prototype, "translateY", 2), e([a({ type: Array })], t.prototype, "translateZ", 2), e([a({ type: Array })], t.prototype, "rotateZ", 2), e([a({ type: Boolean })], t.prototype, "resetOnScroll", 2), e([x()], t.prototype, "defaultSlot", 2), e([m(".letters")], t.prototype, "letters", 2), e([m(".ml7")], t.prototype, "ml7", 2), t = e([S("schmancy-animated-text")], t);
75
- //# sourceMappingURL=animated-text-CLWwT8SD.js.map
75
+ //# sourceMappingURL=animated-text-nvZN1_No.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"animated-text-CLWwT8SD.js","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","constructor","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":";;;;;;;;;;;AAsBA,IAAqBA,IAArB,cAAkDC,EAAYC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAA9D,cAAAC;AAAAC,UAAAA,GAAAC,SAAAA,GAoB6BC,KAAAC,OAAO,WACPD,KAAAE,QAAQ,GACRF,KAAAG,UAAU,IACVH,KAAAI,WAAW,KACZJ,KAAAK,QAAQ,CAAC,GAAG,CAAA,GACZL,KAAAM,UAAU,CAAC,GAAG,CAAA,GACdN,KAAAO,aAAa,CAAC,UAAU,QACxBP,KAAAQ,aAAa,CAAC,SAAS,KAAA,GACvBR,KAAAS,aAAa,CAAC,GAAG,CAAA,GACjBT,KAAAU,UAAU,CAAC,KAAK,CAAA,GACdV,KAAAW,gBAAAA;AAAAA,EAAgB;AAAA,EAO7C,aAAaC,GAAAA;AACZ,UAAMC,IAAOD,EAAQE,sBAAAA;AACrB,WACCD,EAAKE,OAAO,KACZF,EAAKG,QAAQ,KACbH,EAAKI,WAAWC,OAAOC,eAAeC,SAASC,gBAAgBC,iBAC/DT,EAAKU,UAAUL,OAAOM,cAAcJ,SAASC,gBAAgBI;AAAAA,EAE/D;AAAA,EAEA,MAAA,eAAMC;AAEL1B,SAAK2B,QAAQC,YAAY5B,KAAK6B,YAAY,CAAA,EAAGC,YAAaC,QAAQ,OAAO,gCAAA,GAGzEC,EAECC,EAAS,EAAA,EAAIC,KACZC,EAAAA,EAAU,GACVC,EAAO,MAAA;AACN,YAAMvB,IAAOb,KAAKc,sBAAAA;AAClB,aAAOD,EAAKwB,QAAQ,KAAKxB,EAAKyB,SAAS;AAAA,IAAA,CAAA,GAExCC,EAAK,CAAA,CAAA,GAGNC,EAAUtB,QAAQ,QAAA,EAAUgB,KAC3BO,EAAa,GAAA,QAAc,EAC1BC,SAAAA,IACAC,UAAAA,GAAU,CAAA,GAEXR,IAAU,GACVS,EAAI,MAAM5C,KAAK6C,aAAa7C,IAAAA,CAAAA,GAC5B8C,EAAAA,GACAC,EAAIC,CAAAA,MAAAA;AAAAA,OAEEA,KAAchD,KAAKW,iBACvBsC,MAAMC,KAAKlD,KAAK2B,QAAQwB,QAAAA,EAAUC,QAASC,CAAAA,MAAAA;AAC1CA,QAAAA,EAAOC,MAAMhD,UAAU;AAAA,MAAA,CAAA;AAAA,IAAA,CAAA,GAI1B8B,SAAuBS,CAAAA,GAEvB7C,KAAKW,gBAAgBoC,EAAAA,IAAQR,EAAK,CAAA,GAClCQ,EAAI,EACHQ,MAAM,MAAA;AAEWvD,WAAKwD,WAAYC,iBAA8B,cAAA,EAEvDL,QAAQ,CAACC,GAAQK,MAAAA;AAGxB,cAAMC,IAAgB;AAAA,8BACC3D,KAAKO,WAAW,CAAA,CAAA,KAAOP,KAAKQ,WAAW,CAAA,CAAA,KAAOR,KAAKS,WAAW,CAAA,CAAA;AAAA,0BAClET,KAAKU,QAAQ,CAAA,CAAA;AAAA,wBACfV,KAAKK,MAAM,CAAA,CAAA;AAAA,iBAGtBuD,IAAc;AAAA,8BACG5D,KAAKO,WAAW,CAAA,CAAA,KAAOP,KAAKQ,WAAW,CAAA,CAAA,KAAOR,KAAKS,WAAW,CAAA,CAAA;AAAA,0BAClET,KAAKU,QAAQ,CAAA,CAAA;AAAA,wBACfV,KAAKK,MAAM,CAAA,CAAA;AAAA,iBAQtBwD,IAAwB,CAC7B,EAAEC,WAAWH,GAAerD,SAASyD,OAAO/D,KAAKM,QAAQ,CAAA,CAAA,EAAA,GACzD,EAAEwD,WAAWF,GAAatD,SAASyD,OAAO/D,KAAKM,QAAQ,CAAA,CAAA,EAAA,CAAA;AAGxD+C,QAAAA,EAAOW,QAAQH,GAAW,EACzBzD,UAAUJ,KAAKI,UACf6D,QAXyC,EACzCC,SAAS,iCAAA,EAUSlE,KAAKC,IAAAA,KAAS,YAChCC,OAAOF,KAAKE,QAAQwD,IAAI1D,KAAKG,SAC7BgE,MAAM,WAAA,CAAA;AAAA,MAAA,CAAA;AAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAMVC,UAAAA;AAAAA,EACH;AAAA,EAEA,SAAAC;AACC,WAAOC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EASR;AAAA;AAnH4BC,EAAA,CAA3BC,EAAS,EAAEC,MAAMV,OAAAA,CAAAA,CAAAA,GApBErE,EAoBQgF,WAAA,QAAA,CAAA,GACAH,EAAA,CAA3BC,EAAS,EAAEC,MAAME,OAAAA,CAAAA,CAAAA,GArBEjF,EAqBQgF,WAAA,SAAA,CAAA,GACAH,EAAA,CAA3BC,EAAS,EAAEC,MAAME,OAAAA,CAAAA,CAAAA,GAtBEjF,EAsBQgF,WAAA,WAAA,CAAA,GACAH,EAAA,CAA3BC,EAAS,EAAEC,MAAME,OAAAA,CAAAA,CAAAA,GAvBEjF,EAuBQgF,WAAA,YAAA,CAAA,GACDH,EAAA,CAA1BC,EAAS,EAAEC,MAAMxB,MAAAA,CAAAA,CAAAA,GAxBEvD,EAwBOgF,WAAA,SAAA,CAAA,GACAH,EAAA,CAA1BC,EAAS,EAAEC,MAAMxB,MAAAA,CAAAA,CAAAA,GAzBEvD,EAyBOgF,WAAA,WAAA,CAAA,GACAH,EAAA,CAA1BC,EAAS,EAAEC,MAAMxB,WA1BEvD,EA0BOgF,WAAA,cAAA,CAAA,GACAH,EAAA,CAA1BC,EAAS,EAAEC,MAAMxB,MAAAA,CAAAA,CAAAA,GA3BEvD,EA2BOgF,WAAA,cAAA,CAAA,GACAH,EAAA,CAA1BC,EAAS,EAAEC,MAAMxB,MAAAA,CAAAA,CAAAA,GA5BEvD,EA4BOgF,WAAA,cAAA,CAAA,GACAH,EAAA,CAA1BC,EAAS,EAAEC,MAAMxB,MAAAA,CAAAA,CAAAA,GA7BEvD,EA6BOgF,WAAA,WAAA,CAAA,GACEH,EAAA,CAA5BC,EAAS,EAAEC,MAAMG,QAAAA,CAAAA,CAAAA,GA9BElF,EA8BSgF,WAAA,iBAAA,IAEPH,EAAA,CAArBM,EAAAA,CAAAA,GAhCmBnF,EAgCEgF,WAAA,eAAA,CAAA,GACHH,EAAA,CAAlBO,EAAM,UAAA,CAAA,GAjCapF,EAiCDgF,WAAA,WAAA,CAAA,GACJH,EAAA,CAAdO,EAAM,MAAA,CAAA,GAlCapF,EAkCLgF,WAAA,OAAA,CAAA,GAlCKhF,IAArB6E,EAAA,CADCQ,EAAc,wBAAA,CAAA,GACMrF,CAAAA;"}
1
+ {"version":3,"file":"animated-text-nvZN1_No.js","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","constructor","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";require("./animated-text-Btjma28b.cjs");
1
+ "use strict";require("./animated-text-DLZBNSFf.cjs");
2
2
  //# sourceMappingURL=animated-text.cjs.map
@@ -1,2 +1,2 @@
1
- import "./animated-text-CLWwT8SD.js";
1
+ import "./animated-text-nvZN1_No.js";
2
2
  //# sourceMappingURL=animated-text.js.map
package/dist/area.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./route.component-ChTVfEpU.cjs"),e=require("./lazy-DObpkuL6.cjs");exports.FINDING_MORTIES=t.FINDING_MORTIES,exports.HERE_RICKY=t.HERE_RICKY,exports.HISTORY_STRATEGY=t.HISTORY_STRATEGY,Object.defineProperty(exports,"SchmancyArea",{enumerable:!0,get:()=>t.SchmancyArea}),Object.defineProperty(exports,"SchmancyRoute",{enumerable:!0,get:()=>t.SchmancyRoute}),exports.area=t.area,exports.routerHistory=t.routerHistory,exports.buildQueryString=e.buildQueryString,exports.compareActiveRoutes=e.compareActiveRoutes,exports.compareCustomElementConstructors=e.compareCustomElementConstructors,exports.compareRouteActions=e.compareRouteActions,exports.createRouteCacheKey=e.createRouteCacheKey,exports.debounce=e.debounce,exports.decodeRouteState=e.decodeRouteState,exports.deepMerge=e.deepMerge,exports.encodeRouteState=e.encodeRouteState,exports.extractQueryParams=e.extractQueryParams,exports.getTagName=e.getTagName,exports.isObject=e.isObject,exports.lazy=e.lazy,exports.normalizeTagName=e.normalizeTagName,exports.sanitizeRouteState=e.sanitizeRouteState;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./route.component-5DiuY1xZ.cjs"),e=require("./lazy-DObpkuL6.cjs");exports.FINDING_MORTIES=t.FINDING_MORTIES,exports.HERE_RICKY=t.HERE_RICKY,exports.HISTORY_STRATEGY=t.HISTORY_STRATEGY,Object.defineProperty(exports,"SchmancyArea",{enumerable:!0,get:()=>t.SchmancyArea}),Object.defineProperty(exports,"SchmancyRoute",{enumerable:!0,get:()=>t.SchmancyRoute}),exports.area=t.area,exports.routerHistory=t.routerHistory,exports.buildQueryString=e.buildQueryString,exports.compareActiveRoutes=e.compareActiveRoutes,exports.compareCustomElementConstructors=e.compareCustomElementConstructors,exports.compareRouteActions=e.compareRouteActions,exports.createRouteCacheKey=e.createRouteCacheKey,exports.debounce=e.debounce,exports.decodeRouteState=e.decodeRouteState,exports.deepMerge=e.deepMerge,exports.encodeRouteState=e.encodeRouteState,exports.extractQueryParams=e.extractQueryParams,exports.getTagName=e.getTagName,exports.isObject=e.isObject,exports.lazy=e.lazy,exports.normalizeTagName=e.normalizeTagName,exports.sanitizeRouteState=e.sanitizeRouteState;
2
2
  //# sourceMappingURL=area.cjs.map
package/dist/area.js CHANGED
@@ -1,4 +1,4 @@
1
- import { F as s, H as t, c as o, S as r, a as c, b as m, r as u } from "./route.component-gEKg8wCv.js";
1
+ import { F as s, H as t, c as o, S as r, a as c, b as m, r as u } from "./route.component-HAZV3uGI.js";
2
2
  import { l as n, h as i, c as S, f as d, j as y, a as g, b as p, d as T, e as b, k as l, g as E, i as I, m as h, n as A, s as C } from "./lazy-E2LCDm7n.js";
3
3
  export {
4
4
  s as FINDING_MORTIES,
@@ -1,4 +1,4 @@
1
- "use strict";const h=require("rxjs"),y=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const u=require("lit/decorators.js");require("./tailwind.mixin-DTRBuu6Z.cjs");const f=require("./litElement.mixin-CkMWAuts.cjs"),b=require("lit"),$=require("lit/directives/ref.js"),i=require("rxjs/operators"),_=require("./search-DWW8IoOp.cjs");var x=Object.defineProperty,g=Object.getOwnPropertyDescriptor,r=(e,t,o,s)=>{for(var n,l=s>1?void 0:s?g(t,o):t,p=e.length-1;p>=0;p--)(n=e[p])&&(l=(s?n(t,o,l):n(l))||l);return s&&l&&x(t,o,l),l};let a=class extends f.$LitElement(":host{display:block;border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important}:host:focus{box-shadow:unset!important}@keyframes onAutoFillStart{}sch-input::part(input):-webkit-autofill,sch-input input:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:1ms}"){constructor(){super(...arguments),this.required=!1,this.placeholder="",this.label="",this.name="",this.maxHeight="300px",this.multi=!1,this.description="",this.size="md",this.autocomplete="on",this.debounceMs=200,this.similarityThreshold=.3,this._open=!1,this._inputValue="",this._visibleOptionsCount=0,this._hasResults=!0,this._inputElementRef=$.createRef(),this._selectedValue$=new h.BehaviorSubject(""),this._selectedValues$=new h.BehaviorSubject([]),this._inputValue$=new h.BehaviorSubject(""),this._open$=new h.BehaviorSubject(!1),this._options$=new h.BehaviorSubject([]),this._optionSelect$=new h.Subject,this._documentClick$=new h.Subject}get values(){return[...this._selectedValues$.value]}set values(e){this._selectedValues$.next(Array.isArray(e)?[...e]:[])}get value(){return this.multi?this._selectedValues$.value.join(","):this._selectedValue$.value}set value(e){this.multi?this._selectedValues$.next(e?e.split(",").map(t=>t.trim()).filter(Boolean):[]):this._selectedValue$.next(e)}connectedCallback(){super.connectedCallback(),this.id||(this.id=`sch-autocomplete-${Math.random().toString(36).slice(2,9)}`),this._setupAutocompleteLogic(),this._setupDocumentClickHandler()}_setupAutocompleteLogic(){this._options$.pipe(i.tap(e=>{e.forEach((t,o)=>{t.setAttribute("role","option"),t.tabIndex=-1,t.id||(t.id=`${this.id}-option-${o}`),t.hasAttribute("data-event-bound")||(h.fromEvent(t,"pointerdown").pipe(i.tap(s=>{s.preventDefault(),s.stopPropagation()}),i.takeUntil(this.disconnecting)).subscribe(()=>this._optionSelect$.next(t)),t.setAttribute("data-event-bound","true"))})}),i.takeUntil(this.disconnecting)).subscribe(),h.combineLatest([this._selectedValue$,this._selectedValues$,this._options$]).pipe(i.tap(([e,t,o])=>{o.forEach(s=>{s.selected=this.multi?t.includes(s.value):s.value===e,s.setAttribute("aria-selected",String(s.selected))})}),i.takeUntil(this.disconnecting)).subscribe(),this._inputValue$.pipe(i.distinctUntilChanged(),i.debounceTime(this.debounceMs),i.withLatestFrom(this._options$,this._open$),i.tap(([e,t,o])=>{if(!o)return;const s=e.trim();if(s){const n=t.map(p=>{const c=p.label||p.textContent||"",d=p.value,m=_.similarity(s,c),v=_.similarity(s,d);return{option:p,score:Math.max(1.1*m,v)}});n.sort((p,c)=>c.score-p.score);let l=0;n.forEach((p,c)=>{const{option:d,score:m}=p;m<this.similarityThreshold?d.hidden=!0:(d.hidden=!1,l++,d.style.order=String(c))}),this._visibleOptionsCount=l,this._hasResults=l>0}else t.forEach(n=>{n.hidden=!1,n.style.order="0"}),this._visibleOptionsCount=t.length,this._hasResults=!0;this._announceToScreenReader(this._visibleOptionsCount>0?`${this._visibleOptionsCount} option${this._visibleOptionsCount===1?"":"s"} available.`:"No results found.")}),i.takeUntil(this.disconnecting)).subscribe(),this._optionSelect$.pipe(i.withLatestFrom(this._selectedValue$,this._selectedValues$),i.tap(([e,t,o])=>{if(this.multi){const s=o.indexOf(e.value),n=s>-1?[...o.slice(0,s),...o.slice(s+1)]:[...o,e.value];this._selectedValues$.next(n),this._inputValue$.next(""),this._inputValue="";const l=this._getSelectedLabels();this._announceToScreenReader(l.length>0?`Selected: ${l.join(", ")}`:"No options selected")}else this._selectedValue$.next(e.value),this._open$.next(!1),this._open=!1,this._inputValue=e.label||e.textContent||"",this._inputValue$.next(this._inputValue),h.timer(100).pipe(i.tap(()=>this._inputElementRef.value?.blur()),i.take(1)).subscribe(),this._announceToScreenReader(`Selected: ${e.label||e.textContent}`)}),i.tap(()=>this._fireChangeEvent()),i.takeUntil(this.disconnecting)).subscribe(),h.combineLatest([this._open$,this._selectedValue$,this._selectedValues$,this._options$]).pipe(i.filter(()=>!this._open$.value),i.tap(([,e,t,o])=>{if(this.multi){const s=o.filter(n=>t.includes(n.value)).map(n=>n.label||n.textContent||"");this._inputValue=s.join(", ")}else{const s=o.find(n=>n.value===e);this._inputValue=s&&(s.label||s.textContent)||""}this._inputValue$.next(this._inputValue)}),i.takeUntil(this.disconnecting)).subscribe(),this._open$.pipe(i.tap(e=>this._open=e),i.takeUntil(this.disconnecting)).subscribe()}_setupDocumentClickHandler(){this._documentClick$.pipe(i.filter(e=>!e.composedPath().includes(this)),i.filter(e=>!this._options.some(t=>e.composedPath().includes(t))),i.filter(()=>this._open),i.tap(()=>{this._open$.next(!1),this._updateInputDisplay()}),i.takeUntil(this.disconnecting)).subscribe(),this._open$.pipe(i.distinctUntilChanged(),i.switchMap(e=>e?h.timer(10).pipe(i.tap(()=>document.addEventListener("click",t=>this._documentClick$.next(t))),i.switchMap(()=>h.EMPTY)):h.of(null).pipe(i.tap(()=>document.removeEventListener("click",t=>this._documentClick$.next(t))))),i.takeUntil(this.disconnecting)).subscribe()}_updateInputDisplay(){h.of(null).pipe(i.withLatestFrom(this._selectedValue$,this._selectedValues$,this._options$,this._open$),i.tap(([,e,t,o,s])=>{if(this._inputElementRef.value&&(!s||!this.multi)){if(this.multi){const n=o.filter(l=>t.includes(l.value)).map(l=>l.label||l.textContent||"");this._inputValue=n.join(", ")}else{const n=o.find(l=>l.value===e);this._inputValue=n&&(n.label||n.textContent)||""}this._inputValue$.next(this._inputValue),this._inputElementRef.value.value=this._inputValue}}),i.take(1)).subscribe()}_getSelectedLabels(){return this._options.filter(e=>this.multi?this._selectedValues$.value.includes(e.value):e.value===this._selectedValue$.value).map(e=>e.label||e.textContent||"")}_announceToScreenReader(e){const t=this.shadowRoot?.querySelector("#live-status");t&&(t.textContent=e)}_fireChangeEvent(){const e={value:this.value};this.multi&&(e.values=[...this._selectedValues$.value]),this.dispatchEvent(new CustomEvent("change",{detail:e,bubbles:!0,composed:!0}))}checkValidity(){return!this.required||(this.multi?this._selectedValues$.value.length>0:!!this._selectedValue$.value)}reportValidity(){return this._inputElementRef.value?this._inputElementRef.value.reportValidity():this.checkValidity()}firstUpdated(){}render(){const e=`${this.id}-desc`;return b.html`
1
+ "use strict";const h=require("rxjs"),y=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const u=require("lit/decorators.js");require("./tailwind.mixin-Dkdujkqz.cjs");const f=require("./litElement.mixin-DdQ7eM2e.cjs"),b=require("lit"),$=require("lit/directives/ref.js"),i=require("rxjs/operators"),_=require("./search-DWW8IoOp.cjs");var x=Object.defineProperty,g=Object.getOwnPropertyDescriptor,r=(e,t,o,s)=>{for(var n,l=s>1?void 0:s?g(t,o):t,p=e.length-1;p>=0;p--)(n=e[p])&&(l=(s?n(t,o,l):n(l))||l);return s&&l&&x(t,o,l),l};let a=class extends f.$LitElement(":host{display:block;border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important}:host:focus{box-shadow:unset!important}@keyframes onAutoFillStart{}sch-input::part(input):-webkit-autofill,sch-input input:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:1ms}"){constructor(){super(...arguments),this.required=!1,this.placeholder="",this.label="",this.name="",this.maxHeight="300px",this.multi=!1,this.description="",this.size="md",this.autocomplete="on",this.debounceMs=200,this.similarityThreshold=.3,this._open=!1,this._inputValue="",this._visibleOptionsCount=0,this._hasResults=!0,this._inputElementRef=$.createRef(),this._selectedValue$=new h.BehaviorSubject(""),this._selectedValues$=new h.BehaviorSubject([]),this._inputValue$=new h.BehaviorSubject(""),this._open$=new h.BehaviorSubject(!1),this._options$=new h.BehaviorSubject([]),this._optionSelect$=new h.Subject,this._documentClick$=new h.Subject}get values(){return[...this._selectedValues$.value]}set values(e){this._selectedValues$.next(Array.isArray(e)?[...e]:[])}get value(){return this.multi?this._selectedValues$.value.join(","):this._selectedValue$.value}set value(e){this.multi?this._selectedValues$.next(e?e.split(",").map(t=>t.trim()).filter(Boolean):[]):this._selectedValue$.next(e)}connectedCallback(){super.connectedCallback(),this.id||(this.id=`sch-autocomplete-${Math.random().toString(36).slice(2,9)}`),this._setupAutocompleteLogic(),this._setupDocumentClickHandler()}_setupAutocompleteLogic(){this._options$.pipe(i.tap(e=>{e.forEach((t,o)=>{t.setAttribute("role","option"),t.tabIndex=-1,t.id||(t.id=`${this.id}-option-${o}`),t.hasAttribute("data-event-bound")||(h.fromEvent(t,"pointerdown").pipe(i.tap(s=>{s.preventDefault(),s.stopPropagation()}),i.takeUntil(this.disconnecting)).subscribe(()=>this._optionSelect$.next(t)),t.setAttribute("data-event-bound","true"))})}),i.takeUntil(this.disconnecting)).subscribe(),h.combineLatest([this._selectedValue$,this._selectedValues$,this._options$]).pipe(i.tap(([e,t,o])=>{o.forEach(s=>{s.selected=this.multi?t.includes(s.value):s.value===e,s.setAttribute("aria-selected",String(s.selected))})}),i.takeUntil(this.disconnecting)).subscribe(),this._inputValue$.pipe(i.distinctUntilChanged(),i.debounceTime(this.debounceMs),i.withLatestFrom(this._options$,this._open$),i.tap(([e,t,o])=>{if(!o)return;const s=e.trim();if(s){const n=t.map(p=>{const c=p.label||p.textContent||"",d=p.value,m=_.similarity(s,c),v=_.similarity(s,d);return{option:p,score:Math.max(1.1*m,v)}});n.sort((p,c)=>c.score-p.score);let l=0;n.forEach((p,c)=>{const{option:d,score:m}=p;m<this.similarityThreshold?d.hidden=!0:(d.hidden=!1,l++,d.style.order=String(c))}),this._visibleOptionsCount=l,this._hasResults=l>0}else t.forEach(n=>{n.hidden=!1,n.style.order="0"}),this._visibleOptionsCount=t.length,this._hasResults=!0;this._announceToScreenReader(this._visibleOptionsCount>0?`${this._visibleOptionsCount} option${this._visibleOptionsCount===1?"":"s"} available.`:"No results found.")}),i.takeUntil(this.disconnecting)).subscribe(),this._optionSelect$.pipe(i.withLatestFrom(this._selectedValue$,this._selectedValues$),i.tap(([e,t,o])=>{if(this.multi){const s=o.indexOf(e.value),n=s>-1?[...o.slice(0,s),...o.slice(s+1)]:[...o,e.value];this._selectedValues$.next(n),this._inputValue$.next(""),this._inputValue="";const l=this._getSelectedLabels();this._announceToScreenReader(l.length>0?`Selected: ${l.join(", ")}`:"No options selected")}else this._selectedValue$.next(e.value),this._open$.next(!1),this._open=!1,this._inputValue=e.label||e.textContent||"",this._inputValue$.next(this._inputValue),h.timer(100).pipe(i.tap(()=>this._inputElementRef.value?.blur()),i.take(1)).subscribe(),this._announceToScreenReader(`Selected: ${e.label||e.textContent}`)}),i.tap(()=>this._fireChangeEvent()),i.takeUntil(this.disconnecting)).subscribe(),h.combineLatest([this._open$,this._selectedValue$,this._selectedValues$,this._options$]).pipe(i.filter(()=>!this._open$.value),i.tap(([,e,t,o])=>{if(this.multi){const s=o.filter(n=>t.includes(n.value)).map(n=>n.label||n.textContent||"");this._inputValue=s.join(", ")}else{const s=o.find(n=>n.value===e);this._inputValue=s&&(s.label||s.textContent)||""}this._inputValue$.next(this._inputValue)}),i.takeUntil(this.disconnecting)).subscribe(),this._open$.pipe(i.tap(e=>this._open=e),i.takeUntil(this.disconnecting)).subscribe()}_setupDocumentClickHandler(){this._documentClick$.pipe(i.filter(e=>!e.composedPath().includes(this)),i.filter(e=>!this._options.some(t=>e.composedPath().includes(t))),i.filter(()=>this._open),i.tap(()=>{this._open$.next(!1),this._updateInputDisplay()}),i.takeUntil(this.disconnecting)).subscribe(),this._open$.pipe(i.distinctUntilChanged(),i.switchMap(e=>e?h.timer(10).pipe(i.tap(()=>document.addEventListener("click",t=>this._documentClick$.next(t))),i.switchMap(()=>h.EMPTY)):h.of(null).pipe(i.tap(()=>document.removeEventListener("click",t=>this._documentClick$.next(t))))),i.takeUntil(this.disconnecting)).subscribe()}_updateInputDisplay(){h.of(null).pipe(i.withLatestFrom(this._selectedValue$,this._selectedValues$,this._options$,this._open$),i.tap(([,e,t,o,s])=>{if(this._inputElementRef.value&&(!s||!this.multi)){if(this.multi){const n=o.filter(l=>t.includes(l.value)).map(l=>l.label||l.textContent||"");this._inputValue=n.join(", ")}else{const n=o.find(l=>l.value===e);this._inputValue=n&&(n.label||n.textContent)||""}this._inputValue$.next(this._inputValue),this._inputElementRef.value.value=this._inputValue}}),i.take(1)).subscribe()}_getSelectedLabels(){return this._options.filter(e=>this.multi?this._selectedValues$.value.includes(e.value):e.value===this._selectedValue$.value).map(e=>e.label||e.textContent||"")}_announceToScreenReader(e){const t=this.shadowRoot?.querySelector("#live-status");t&&(t.textContent=e)}_fireChangeEvent(){const e={value:this.value};this.multi&&(e.values=[...this._selectedValues$.value]),this.dispatchEvent(new CustomEvent("change",{detail:e,bubbles:!0,composed:!0}))}checkValidity(){return!this.required||(this.multi?this._selectedValues$.value.length>0:!!this._selectedValue$.value)}reportValidity(){return this._inputElementRef.value?this._inputElementRef.value.reportValidity():this.checkValidity()}firstUpdated(){}render(){const e=`${this.id}-desc`;return b.html`
2
2
  <div class="relative">
3
3
  <!-- Screen reader live region -->
4
4
  <div id="live-status" role="status" aria-live="polite" class="sr-only"></div>
@@ -54,4 +54,4 @@
54
54
  </ul>
55
55
  </div>
56
56
  `}_handleAutoSelectOnBlur(){if(this.multi||!this._open||!this._inputValue.trim())return;const e=this._inputValue.trim();let t=null,o=0;this._options.forEach(s=>{if(s.hidden)return;const n=s.label||s.textContent||"",l=s.value,p=_.similarity(e,n),c=_.similarity(e,l),d=Math.max(1.1*p,c);d>o&&d>=this.similarityThreshold&&(o=d,t=s)}),t&&(this._optionSelect$.next(t),this._open$.next(!1),this._open=!1)}_handleKeyDown(e){h.fromEvent(document,"keydown").pipe(i.take(1),i.withLatestFrom(this._open$,this._options$),i.tap(([t,o,s])=>{if(!o&&(t.key==="ArrowDown"||t.key==="Enter"))return t.preventDefault(),this._open$.next(!0),void h.timer(10).pipe(i.tap(()=>{s.find(d=>!d.hidden)?.focus()}),i.take(1)).subscribe();if(!o)return;const n=s.filter(c=>!c.hidden).sort((c,d)=>parseInt(c.style.order||"0")-parseInt(d.style.order||"0")),l=n.find(c=>c===document.activeElement),p=l?n.indexOf(l):-1;switch(t.key){case"Escape":t.preventDefault(),this._open$.next(!1),this._updateInputDisplay(),this._inputElementRef.value?.focus();break;case"Tab":this._open$.next(!1),this._updateInputDisplay();break;case"ArrowDown":t.preventDefault();const c=p<n.length-1?p+1:0;n[c]?.focus();break;case"ArrowUp":t.preventDefault();const d=p>0?p-1:n.length-1;n[d]?.focus();break;case"Home":t.preventDefault(),n[0]?.focus();break;case"End":t.preventDefault(),n[n.length-1]?.focus();break;case"Enter":case" ":l&&(t.preventDefault(),this._optionSelect$.next(l))}})).subscribe()}};r([u.property({type:Boolean})],a.prototype,"required",2),r([u.property({type:String})],a.prototype,"placeholder",2),r([u.property({type:String,reflect:!0})],a.prototype,"label",2),r([u.property({type:String})],a.prototype,"name",2),r([u.property({type:String})],a.prototype,"maxHeight",2),r([u.property({type:Boolean})],a.prototype,"multi",2),r([u.property({type:String})],a.prototype,"description",2),r([u.property({type:String,reflect:!0})],a.prototype,"size",2),r([u.property({type:String})],a.prototype,"autocomplete",2),r([u.property({type:Number})],a.prototype,"debounceMs",2),r([u.property({type:Number})],a.prototype,"similarityThreshold",2),r([u.property({type:Array})],a.prototype,"values",1),r([u.property({type:String,reflect:!0})],a.prototype,"value",1),r([u.state()],a.prototype,"_open",2),r([u.state()],a.prototype,"_inputValue",2),r([u.state()],a.prototype,"_visibleOptionsCount",2),r([u.state()],a.prototype,"_hasResults",2),r([u.query("#options")],a.prototype,"_listbox",2),r([u.query("sch-input")],a.prototype,"_input",2),r([u.queryAssignedElements({flatten:!0})],a.prototype,"_options",2),a=r([u.customElement("schmancy-autocomplete")],a);
57
- //# sourceMappingURL=autocomplete-DFtKSlra.cjs.map
57
+ //# sourceMappingURL=autocomplete-BAAWVC3Q.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete-DFtKSlra.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 of,\n Subject,\n timer\n} from 'rxjs'\nimport {\n debounceTime,\n distinctUntilChanged,\n filter,\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\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 // Complex autofill detection disabled - using simple auto-select on blur instead\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, 'pointerdown').pipe(\n tap(e => {\n e.preventDefault() // Prevent blur from firing\n e.stopPropagation()\n }),\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\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 // Auto-selection now happens on blur, no need for autofill detection\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 @blur=${() => {\n this._handleAutoSelectOnBlur()\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 }}\n >\n <slot></slot>\n ${!this._hasResults ? html`\n <li class=\"px-3 py-2 text-sm text-muted\">No results found</li>\n ` : ''}\n </ul>\n </div>\n `\n }\n\n private _handleAutoSelectOnBlur() {\n // Only auto-select in single-select mode and when dropdown is open with a search term\n if (this.multi || !this._open || !this._inputValue.trim()) {\n return\n }\n \n const searchTerm = this._inputValue.trim()\n \n // Find the best matching option using the same similarity logic as filtering\n let bestMatch: SchmancyOption | null = null\n let bestScore = 0\n \n this._options.forEach(option => {\n // Skip hidden options\n if (option.hidden) return\n \n // Get text to search in (prioritize label, then textContent, then value)\n const optionLabel = option.label || option.textContent || ''\n const optionValue = option.value\n \n // Calculate similarity scores for both label and value\n const labelScore = similarity(searchTerm, optionLabel)\n const valueScore = similarity(searchTerm, optionValue)\n \n // Use the higher score (prioritizing label matches)\n const score = Math.max(labelScore * 1.1, valueScore) // Slight boost for label matches\n \n // Keep track of best match that meets threshold\n if (score > bestScore && score >= this.similarityThreshold) {\n bestScore = score\n bestMatch = option\n }\n })\n \n // Auto-select the best match if found\n if (bestMatch) {\n // Select the option using the existing pipeline\n this._optionSelect$.next(bestMatch)\n \n // Close the dropdown\n this._open$.next(false)\n this._open = false\n \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$","values","value","vals","next","Array","isArray","join","val","split","map","v","trim","filter","Boolean","connectedCallback","id","Math","random","toString","slice","_setupAutocompleteLogic","_setupDocumentClickHandler","pipe","tap","options","forEach","option","index","setAttribute","tabIndex","hasAttribute","fromEvent","e","preventDefault","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","message","liveRegion","shadowRoot","querySelector","detail","dispatchEvent","CustomEvent","bubbles","composed","checkValidity","reportValidity","firstUpdated","render","descriptionId","html","ref","toLowerCase","replace","target","hasSelection","_handleKeyDown","_handleAutoSelectOnBlur","classMap","absolute","flex","bestMatch","bestScore","_e","event","key","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-BAAWVC3Q.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 of,\n Subject,\n timer\n} from 'rxjs'\nimport {\n debounceTime,\n distinctUntilChanged,\n filter,\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\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 // Complex autofill detection disabled - using simple auto-select on blur instead\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, 'pointerdown').pipe(\n tap(e => {\n e.preventDefault() // Prevent blur from firing\n e.stopPropagation()\n }),\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\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 // Auto-selection now happens on blur, no need for autofill detection\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 @blur=${() => {\n this._handleAutoSelectOnBlur()\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 }}\n >\n <slot></slot>\n ${!this._hasResults ? html`\n <li class=\"px-3 py-2 text-sm text-muted\">No results found</li>\n ` : ''}\n </ul>\n </div>\n `\n }\n\n private _handleAutoSelectOnBlur() {\n // Only auto-select in single-select mode and when dropdown is open with a search term\n if (this.multi || !this._open || !this._inputValue.trim()) {\n return\n }\n \n const searchTerm = this._inputValue.trim()\n \n // Find the best matching option using the same similarity logic as filtering\n let bestMatch: SchmancyOption | null = null\n let bestScore = 0\n \n this._options.forEach(option => {\n // Skip hidden options\n if (option.hidden) return\n \n // Get text to search in (prioritize label, then textContent, then value)\n const optionLabel = option.label || option.textContent || ''\n const optionValue = option.value\n \n // Calculate similarity scores for both label and value\n const labelScore = similarity(searchTerm, optionLabel)\n const valueScore = similarity(searchTerm, optionValue)\n \n // Use the higher score (prioritizing label matches)\n const score = Math.max(labelScore * 1.1, valueScore) // Slight boost for label matches\n \n // Keep track of best match that meets threshold\n if (score > bestScore && score >= this.similarityThreshold) {\n bestScore = score\n bestMatch = option\n }\n })\n \n // Auto-select the best match if found\n if (bestMatch) {\n // Select the option using the existing pipeline\n this._optionSelect$.next(bestMatch)\n \n // Close the dropdown\n this._open$.next(false)\n this._open = false\n \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$","values","value","vals","next","Array","isArray","join","val","split","map","v","trim","filter","Boolean","connectedCallback","id","Math","random","toString","slice","_setupAutocompleteLogic","_setupDocumentClickHandler","pipe","tap","options","forEach","option","index","setAttribute","tabIndex","hasAttribute","fromEvent","e","preventDefault","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","message","liveRegion","shadowRoot","querySelector","detail","dispatchEvent","CustomEvent","bubbles","composed","checkValidity","reportValidity","firstUpdated","render","descriptionId","html","ref","toLowerCase","replace","target","hasSelection","_handleKeyDown","_handleAutoSelectOnBlur","classMap","absolute","flex","bestMatch","bestScore","_e","event","key","focus","visibleOptions","parseInt","focusedOption","activeElement","currentIndex","nextIndex","prevIndex","__decorateClass","property","type","prototype","reflect","Number","state","query","queryAssignedElements","flatten","customElement"],"mappings":"yiBA0CA,IAAqBA,EAArB,cAAkDC,mYAAlD,aAAAC,CAAAC,MAAAA,GAAAC,SAAAA,EAEiCC,KAAAC,SAAAA,GACDD,KAAAE,YAAc,GACCF,KAAAG,MAAQ,GACvBH,KAAAI,KAAO,GACPJ,KAAAK,UAAY,QACXL,KAAAM,MAAAA,GACDN,KAAAO,YAAc,GACCP,KAAAQ,KAAkB,KACjCR,KAAAS,aAAe,KACfT,KAAAU,WAAa,IACbV,KAAAW,oBAAsB,GA6BzCX,KAAQY,MAAAA,GACRZ,KAAQa,YAAc,GACtBb,KAAQc,qBAAuB,EAC/Bd,KAAQe,YAAAA,GAMjBf,KAAQgB,iBAAmBC,cAG3BjB,KAAQkB,gBAAkB,IAAIC,EAAAA,gBAAwB,EAAA,EACtDnB,KAAQoB,iBAAmB,IAAID,EAAAA,gBAA0B,CAAA,CAAA,EACzDnB,KAAQqB,aAAe,IAAIF,EAAAA,gBAAwB,EAAA,EACnDnB,KAAQsB,OAAS,IAAIH,EAAAA,gBAAAA,EAAyB,EAC9CnB,KAAQuB,UAAY,IAAIJ,EAAAA,gBAAkC,CAAA,CAAA,EAC1DnB,KAAQwB,eAAiB,IAAIC,UAC7BzB,KAAQ0B,gBAAkB,IAAID,SAAoB,CA3ClD,IAAA,QAAIE,CACA,MAAO,CAAA,GAAI3B,KAAKoB,iBAAiBQ,KAAAA,CACrC,CACA,IAAA,OAAWC,EAAAA,CACP7B,KAAKoB,iBAAiBU,KAAKC,MAAMC,QAAQH,CAAAA,EAAQ,CAAA,GAAIA,CAAAA,EAAQ,CAAA,CAAA,CACjE,CAIA,IAAA,OAAID,CACA,OAAO5B,KAAKM,MACNN,KAAKoB,iBAAiBQ,MAAMK,KAAK,GAAA,EACjCjC,KAAKkB,gBAAgBU,KAC/B,CACA,IAAA,MAAUM,EAAAA,CACFlC,KAAKM,MACLN,KAAKoB,iBAAiBU,KAClBI,EAAMA,EAAIC,MAAM,GAAA,EAAKC,IAAIC,GAAKA,EAAEC,KAAAA,CAAAA,EAAQC,OAAOC,OAAAA,EAAW,CAAA,CAAA,EAG9DxC,KAAKkB,gBAAgBY,KAAKI,CAAAA,CAElC,CAuBA,mBAAAO,CACI3C,MAAM2C,kBAAAA,EAEDzC,KAAK0C,KACN1C,KAAK0C,GAAK,oBAAoBC,KAAKC,SAASC,SAAS,EAAA,EAAIC,MAAM,EAAG,CAAA,CAAA,IAGtE9C,KAAK+C,wBAAAA,EACL/C,KAAKgD,2BAAAA,CAGT,CAEQ,yBAAAD,CAEJ/C,KAAKuB,UAAU0B,KACXC,EAAAA,IAAIC,GAAAA,CACAA,EAAQC,QAAQ,CAACC,EAAQC,IAAAA,CACrBD,EAAOE,aAAa,OAAQ,QAAA,EAC5BF,EAAOG,SAAAA,GACFH,EAAOX,KACRW,EAAOX,GAAK,GAAG1C,KAAK0C,EAAAA,WAAaY,CAAAA,IAEhCD,EAAOI,aAAa,kBAAA,IACrBC,YAAUL,EAAQ,aAAA,EAAeJ,KAC7BC,EAAAA,IAAIS,GAAAA,CACAA,EAAEC,eAAAA,EACFD,EAAEE,gBAAAA,CAAAA,CAAAA,EAENC,EAAAA,UAAU9D,KAAK+D,aAAAA,CAAAA,EACjBC,UAAU,IAAMhE,KAAKwB,eAAeM,KAAKuB,CAAAA,CAAAA,EAC3CA,EAAOE,aAAa,mBAAoB,MAAA,EAAA,CAAA,CAAA,CAAA,EAIpDO,EAAAA,UAAU9D,KAAK+D,aAAAA,CAAAA,EACjBC,UAAAA,EAGFC,gBAAc,CACVjE,KAAKkB,gBACLlB,KAAKoB,iBACLpB,KAAKuB,SAAAA,CAAAA,EACN0B,KACCC,EAAAA,IAAI,CAAA,CAAEgB,EAAeC,EAAgBhB,CAAAA,IAAAA,CACjCA,EAAQC,QAAQC,GAAAA,CACZA,EAAOe,SAAWpE,KAAKM,MACjB6D,EAAeE,SAAShB,EAAOzB,KAAAA,EAC/ByB,EAAOzB,QAAUsC,EACvBb,EAAOE,aAAa,gBAAiBe,OAAOjB,EAAOe,QAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAG3DN,EAAAA,UAAU9D,KAAK+D,aAAAA,CAAAA,EACjBC,UAAAA,EAGFhE,KAAKqB,aAAa4B,KACdsB,yBACAC,EAAAA,aAAaxE,KAAKU,UAAAA,EAClB+D,EAAAA,eAAezE,KAAKuB,UAAWvB,KAAKsB,MAAAA,EACpC4B,EAAAA,IAAI,CAAA,CAAEwB,EAAYvB,EAASwB,CAAAA,IAAAA,CACvB,GAAA,CAAKA,EAAQ,OAEb,MAAMC,EAAOF,EAAWpC,KAAAA,EAExB,GAAKsC,EAQE,CAEH,MAAMC,EAAkC1B,EAAQf,IAAIiB,GAAAA,CAEhD,MAAMyB,EAAczB,EAAOlD,OAASkD,EAAO0B,aAAe,GACpDC,EAAc3B,EAAOzB,MAGrBqD,EAAaC,EAAAA,WAAWN,EAAME,CAAAA,EAC9BK,EAAaD,EAAAA,WAAWN,EAAMI,CAAAA,EAKpC,MAAO,CAAE3B,OAAAA,EAAQ+B,MAFHzC,KAAK0C,IAAiB,IAAbJ,EAAkBE,CAAAA,CAAAA,CAAAA,CAAAA,EAM7CN,EAAcS,KAAK,CAACC,EAAGC,IAAMA,EAAEJ,MAAQG,EAAEH,KAAAA,EAGzC,IAAIK,EAAe,EACnBZ,EAAczB,QAAQ,CAACsC,EAAMpC,IAAAA,CACzB,KAAA,CAAMD,OAAEA,EAAA+B,MAAQA,CAAAA,EAAUM,EAGtBN,EAAQpF,KAAKW,oBACb0C,EAAOsC,OAAAA,IAEPtC,EAAOsC,OAAAA,GACPF,IAEApC,EAAOuC,MAAMC,MAAQvB,OAAOhB,CAAAA,EAAAA,CAAAA,EAIpCtD,KAAKc,qBAAuB2E,EAC5BzF,KAAKe,YAAc0E,EAAe,CACtC,MA5CItC,EAAQC,QAAQC,GAAAA,CACZA,EAAOsC,OAAAA,GACPtC,EAAOuC,MAAMC,MAAQ,GAAA,CAAA,EAEzB7F,KAAKc,qBAAuBqC,EAAQ2C,OACpC9F,KAAKe,YAAAA,GAyCTf,KAAK+F,wBACD/F,KAAKc,qBAAuB,EACtB,GAAGd,KAAKc,oBAAAA,UAA8Bd,KAAKc,uBAAyB,EAAI,GAAK,GAAA,cAC7E,mBAAA,CAAA,CAAA,EAGdgD,EAAAA,UAAU9D,KAAK+D,aAAAA,CAAAA,EACjBC,UAAAA,EAGFhE,KAAKwB,eAAeyB,KAChBwB,EAAAA,eAAezE,KAAKkB,gBAAiBlB,KAAKoB,gBAAAA,EAC1C8B,EAAAA,IAAI,CAAA,CAAEG,EAAQ2C,EAAGC,CAAAA,IAAAA,CACb,GAAIjG,KAAKM,MAAO,CACZ,MAAMgD,EAAQ2C,EAAcC,QAAQ7C,EAAOzB,KAAAA,EACrCuE,EAAY7C,EAAAA,GACZ,CAAA,GAAI2C,EAAcnD,MAAM,EAAGQ,CAAAA,EAAAA,GAAW2C,EAAcnD,MAAMQ,EAAQ,CAAA,CAAA,EAClE,CAAA,GAAI2C,EAAe5C,EAAOzB,KAAAA,EAChC5B,KAAKoB,iBAAiBU,KAAKqE,CAAAA,EAE3BnG,KAAKqB,aAAaS,KAAK,EAAA,EACvB9B,KAAKa,YAAc,GAEnB,MAAMuF,EAASpG,KAAKqG,mBAAAA,EACpBrG,KAAK+F,wBACDK,EAAON,OAAS,EACV,aAAaM,EAAOnE,KAAK,IAAA,CAAA,GACzB,qBAAA,CAEd,MACIjC,KAAKkB,gBAAgBY,KAAKuB,EAAOzB,KAAAA,EACjC5B,KAAKsB,OAAOQ,KAAAA,EAAK,EACjB9B,KAAKY,MAAAA,GAELZ,KAAKa,YAAcwC,EAAOlD,OAASkD,EAAO0B,aAAe,GACzD/E,KAAKqB,aAAaS,KAAK9B,KAAKa,WAAAA,EAE5ByF,EAAAA,MAAM,GAAA,EAAKrD,KACPC,EAAAA,IAAI,IAAMlD,KAAKgB,iBAAiBY,OAAO2E,KAAAA,CAAAA,EACvCC,EAAAA,KAAK,CAAA,CAAA,EACPxC,UAAAA,EAEFhE,KAAK+F,wBAAwB,aAAa1C,EAAOlD,OAASkD,EAAO0B,WAAAA,EAAAA,CAAAA,CAAAA,EAGzE7B,MAAI,IAAMlD,KAAKyG,iBAAAA,CAAAA,EACf3C,EAAAA,UAAU9D,KAAK+D,aAAAA,CAAAA,EACjBC,UAAAA,EAGFC,gBAAc,CACVjE,KAAKsB,OACLtB,KAAKkB,gBACLlB,KAAKoB,iBACLpB,KAAKuB,SAAAA,CAAAA,EACN0B,KACCV,EAAAA,OAAO,IAAA,CAAOvC,KAAKsB,OAAOM,KAAAA,EAC1BsB,EAAAA,IAAI,CAAA,CAAC,CAAGgB,EAAeC,EAAgBhB,CAAAA,IAAAA,CACnC,GAAInD,KAAKM,MAAO,CACZ,MAAM8F,EAASjD,EACVZ,OAAOmE,GAAOvC,EAAeE,SAASqC,EAAI9E,KAAAA,CAAAA,EAC1CQ,IAAIsE,GAAOA,EAAIvG,OAASuG,EAAI3B,aAAe,EAAA,EAChD/E,KAAKa,YAAcuF,EAAOnE,KAAK,IAAA,CACnC,KAAO,CACH,MAAMoB,EAASF,EAAQwD,KAAKD,GAAOA,EAAI9E,QAAUsC,CAAAA,EACjDlE,KAAKa,YAAcwC,IAASA,EAAOlD,OAASkD,EAAO0B,cAAoB,EAC3E,CACA/E,KAAKqB,aAAaS,KAAK9B,KAAKa,WAAAA,CAAAA,CAAAA,EAEhCiD,EAAAA,UAAU9D,KAAK+D,aAAAA,CAAAA,EACjBC,UAAAA,EAGFhE,KAAKsB,OAAO2B,KACRC,EAAAA,IAAI0D,GAAQ5G,KAAKY,MAAQgG,CAAAA,EACzB9C,EAAAA,UAAU9D,KAAK+D,aAAAA,CAAAA,EACjBC,UAAAA,CACN,CAEQ,4BAAAhB,CACJhD,KAAK0B,gBAAgBuB,KACjBV,EAAAA,WAAaoB,EAAEkD,aAAAA,EAAexC,SAASrE,IAAAA,CAAAA,EACvCuC,EAAAA,OAAOoB,GAAAA,CAAM3D,KAAK8G,SAASC,KAAKL,GAAO/C,EAAEkD,aAAAA,EAAexC,SAASqC,CAAAA,CAAAA,CAAAA,EACjEnE,SAAO,IAAMvC,KAAKY,KAAAA,EAClBsC,EAAAA,IAAI,IAAA,CACAlD,KAAKsB,OAAOQ,KAAAA,EAAK,EACjB9B,KAAKgH,oBAAAA,CAAAA,CAAAA,EAETlD,EAAAA,UAAU9D,KAAK+D,aAAAA,CAAAA,EACjBC,UAAAA,EAEFhE,KAAKsB,OAAO2B,KACRsB,yBACA0C,EAAAA,UAAUL,GACNA,EACMN,QAAM,EAAA,EAAIrD,KACRC,EAAAA,IAAI,IAAMgE,SAASC,iBAAiB,QAASxD,GAAK3D,KAAK0B,gBAAgBI,KAAK6B,CAAAA,CAAAA,CAAAA,EAC5EsD,EAAAA,UAAU,IAAMG,EAAAA,KAAAA,CAAAA,EAElBC,EAAAA,GAAG,IAAA,EAAMpE,KACPC,EAAAA,IAAI,IAAMgE,SAASI,oBAAoB,QAAS3D,GAAK3D,KAAK0B,gBAAgBI,KAAK6B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAG3FG,EAAAA,UAAU9D,KAAK+D,aAAAA,CAAAA,EACjBC,UAAAA,CACN,CAGQ,qBAAAgD,CACJK,EAAAA,GAAG,IAAA,EAAMpE,KACLwB,EAAAA,eACIzE,KAAKkB,gBACLlB,KAAKoB,iBACLpB,KAAKuB,UACLvB,KAAKsB,MAAAA,EAET4B,EAAAA,IAAI,CAAA,CAAC,CAAGgB,EAAeC,EAAgBhB,EAASwB,CAAAA,IAAAA,CAC5C,GAAK3E,KAAKgB,iBAAiBY,QAAAA,CAEtB+C,GAAAA,CAAW3E,KAAKM,OAAO,CACxB,GAAIN,KAAKM,MAAO,CACZ,MAAM8F,EAASjD,EACVZ,OAAOmE,GAAOvC,EAAeE,SAASqC,EAAI9E,KAAAA,CAAAA,EAC1CQ,IAAIsE,GAAOA,EAAIvG,OAASuG,EAAI3B,aAAe,EAAA,EAChD/E,KAAKa,YAAcuF,EAAOnE,KAAK,IAAA,CACnC,KAAO,CACH,MAAMoB,EAASF,EAAQwD,KAAKD,GAAOA,EAAI9E,QAAUsC,CAAAA,EACjDlE,KAAKa,YAAcwC,IAASA,EAAOlD,OAASkD,EAAO0B,cAAoB,EAC3E,CACA/E,KAAKqB,aAAaS,KAAK9B,KAAKa,WAAAA,EAC5Bb,KAAKgB,iBAAiBY,MAAMA,MAAQ5B,KAAKa,WAC7C,CAAA,CAAA,EAEJ2F,EAAAA,KAAK,CAAA,CAAA,EACPxC,UAAAA,CACN,CAEQ,oBAAAqC,CACJ,OAAOrG,KAAK8G,SACPvE,OAAOc,GACJrD,KAAKM,MACCN,KAAKoB,iBAAiBQ,MAAMyC,SAAShB,EAAOzB,KAAAA,EAC5CyB,EAAOzB,QAAU5B,KAAKkB,gBAAgBU,KAAAA,EAE/CQ,IAAIiB,GAAUA,EAAOlD,OAASkD,EAAO0B,aAAe,EAAA,CAC7D,CAEQ,wBAAwBwC,EAAAA,CAC5B,MAAMC,EAAaxH,KAAKyH,YAAYC,cAAc,cAAA,EAC9CF,IACAA,EAAWzC,YAAcwC,EAEjC,CAEQ,kBAAAd,CACJ,MAAMkB,EAAoD,CACtD/F,MAAO5B,KAAK4B,KAAAA,EAGZ5B,KAAKM,QACLqH,EAAOhG,OAAS,CAAA,GAAI3B,KAAKoB,iBAAiBQ,KAAAA,GAG9C5B,KAAK4H,cACD,IAAIC,YAAuD,SAAU,CACjEF,OAAAA,EACAG,QAAAA,GACAC,SAAAA,EAAU,CAAA,CAAA,CAGtB,CAEO,eAAAC,CACH,MAAA,CAAKhI,KAAKC,WACHD,KAAKM,MACNN,KAAKoB,iBAAiBQ,MAAMkE,OAAS,EACrCtD,EAAQxC,KAAKkB,gBAAgBU,MACvC,CAEO,gBAAAqG,CACH,OAAIjI,KAAKgB,iBAAiBY,MACf5B,KAAKgB,iBAAiBY,MAAMqG,eAAAA,EAEhCjI,KAAKgI,cAAAA,CAChB,CAEA,cAAAE,CAEA,CAEA,QAAAC,CACI,MAAMC,EAAgB,GAAGpI,KAAK0C,EAAAA,QAE9B,OAAO2F,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAMGrI,KAAKO,YAAc8H,EAAAA,gBAAgBD,CAAAA,qBAAkCpI,KAAKO,WAAAA,SAAsB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAKlFP,KAAKQ,IAAAA;AAAAA,0BACX8H,EAAAA,IAAItI,KAAKgB,gBAAAA,CAAAA;AAAAA;AAAAA;AAAAA,gCAGHhB,KAAKI,MAAQJ,KAAKG,OAAOoI,YAAAA,EAAcC,QAAQ,OAAQ,GAAA,CAAA;AAAA,iCACtDxI,KAAKG,KAAAA;AAAAA,uCACCH,KAAKE,WAAAA;AAAAA,oCACRF,KAAKC,QAAAA;AAAAA,iCACRD,KAAKa,WAAAA;AAAAA;AAAAA,uCAECb,KAAKS,YAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,wCAMJT,KAAKY,KAAAA;AAAAA,2CACFZ,KAAKO,YAAc6H,EAAAA,MAAgB;AAAA,iCAC5CzE,GAAAA,CACN,MAAM/B,EAAS+B,EAAE8E,OAA4B7G,MAC7C5B,KAAKa,YAAce,EACnB5B,KAAKqB,aAAaS,KAAKF,CAAAA,CAAAA,CAAAA;AAAAA,iCAEjB+B,GAAAA,CACNA,EAAEE,gBAAAA,EAEF,MAAM6E,EAAe1I,KAAKM,MACpBN,KAAKoB,iBAAiBQ,MAAMkE,OAAS,EAAA,CAAA,CACnC9F,KAAKkB,gBAAgBU,MAEzB5B,KAAKM,OAAAA,CAAUoI,IACf1I,KAAKa,YAAc,GACnBb,KAAKqB,aAAaS,KAAK,IACnB9B,KAAKgB,iBAAiBY,QACtB5B,KAAKgB,iBAAiBY,MAAMA,MAAQ,KAI5C5B,KAAKsB,OAAOQ,KAAAA,EAAK,CAAA,CAAA;AAAA,iCAEX6B,GAAAA,CACNA,EAAEE,gBAAAA,EACF7D,KAAKsB,OAAOQ,KAAAA,EAAK,CAAA,CAAA;AAAA,mCAET6B,GAAAA,CACR3D,KAAK2I,eAAehF,CAAAA,CAAAA,CAAAA;AAAAA,gCAEhB,IAAA,CACJ3D,KAAK4I,wBAAAA,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,4BASLC,WAAS,CACbC,SAAAA,GACA,cACA,OAAA,GACA,SAAA,GACA,aAAA,GACA,YAAA,GACA,mBACA,aAAA,GACA,iBAAA,GACAC,KAAAA,GACA,WAAA,EAAY,CAAA,CAAA;AAAA;AAAA,2CAGO/I,KAAKM,MAAQ,OAAS,OAAA;AAAA,iCAChC,GAAGN,KAAKG,OAAS,SAAA,WAAA;AAAA,+BACnBH,KAAKY,KAAAA;AAAAA,yCACKZ,KAAKK,SAAAA,cAAuBL,KAAKY,MAAQ,OAAS,MAAA;AAAA,kCACzD,IAAA,CACVZ,KAAKuB,UAAUO,KAAK9B,KAAK8G,QAAAA,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA,sBAI1B9G,KAAKe,YAEJ,GAFkBsH,EAAAA;AAAAA;AAAAA;;;SAMtC,CAEQ,yBAAAO,CAEJ,GAAI5I,KAAKM,OAAAA,CAAUN,KAAKY,OAAAA,CAAUZ,KAAKa,YAAYyB,KAAAA,EAC/C,OAGJ,MAAMoC,EAAa1E,KAAKa,YAAYyB,KAAAA,EAGpC,IAAI0G,EAAmC,KACnCC,EAAY,EAEhBjJ,KAAK8G,SAAS1D,QAAQC,GAAAA,CAElB,GAAIA,EAAOsC,OAAQ,OAGnB,MAAMb,EAAczB,EAAOlD,OAASkD,EAAO0B,aAAe,GACpDC,EAAc3B,EAAOzB,MAGrBqD,EAAaC,EAAAA,WAAWR,EAAYI,GACpCK,EAAaD,EAAAA,WAAWR,EAAYM,CAAAA,EAGpCI,EAAQzC,KAAK0C,IAAiB,IAAbJ,EAAkBE,CAAAA,EAGrCC,EAAQ6D,GAAa7D,GAASpF,KAAKW,sBACnCsI,EAAY7D,EACZ4D,EAAY3F,EAAAA,CAAAA,EAKhB2F,IAEAhJ,KAAKwB,eAAeM,KAAKkH,CAAAA,EAGzBhJ,KAAKsB,OAAOQ,KAAAA,EAAK,EACjB9B,KAAKY,MAAAA,GAGb,CAEQ,eAAesI,EAAAA,CACnBxF,YAAyBwD,SAAU,SAAA,EAAWjE,KAC1CuD,EAAAA,KAAK,CAAA,EACL/B,EAAAA,eAAezE,KAAKsB,OAAQtB,KAAKuB,SAAAA,EACjC2B,EAAAA,IAAI,CAAA,CAAEiG,EAAOxE,EAAQxB,CAAAA,IAAAA,CACjB,GAAA,CAAKwB,IAAWwE,EAAMC,MAAQ,aAAeD,EAAMC,MAAQ,SAWvD,OAVAD,EAAMvF,eAAAA,EACN5D,KAAKsB,OAAOQ,KAAAA,EAAK,EAAA,KAEjBwE,EAAAA,MAAM,EAAA,EAAIrD,KACNC,EAAAA,IAAI,IAAA,CACqBC,EAAQwD,KAAKD,GAAAA,CAAQA,EAAIf,MAAAA,GAChC0D,MAAAA,CAAAA,CAAAA,EAElB7C,EAAAA,KAAK,IACPxC,UAAAA,EAIN,GAAA,CAAKW,EAAQ,OAEb,MAAM2E,EAAiBnG,EAAQZ,OAAOmE,GAAAA,CAAQA,EAAIf,MAAAA,EAC7CL,KAAK,CAACC,EAAGC,IAAM+D,SAAShE,EAAEK,MAAMC,OAAS,GAAA,EAAO0D,SAAS/D,EAAEI,MAAMC,OAAS,GAAA,CAAA,EAEzE2D,EAAgBF,EAAe3C,KAAKD,GAAOA,IAAQQ,SAASuC,aAAAA,EAC5DC,EAAeF,EAAgBF,EAAepD,QAAQsD,CAAAA,EAAAA,GAE5D,OAAQL,EAAMC,IAAAA,CACV,IAAK,SACDD,EAAMvF,iBACN5D,KAAKsB,OAAOQ,KAAAA,EAAK,EACjB9B,KAAKgH,oBAAAA,EACLhH,KAAKgB,iBAAiBY,OAAOyH,MAAAA,EAC7B,MAEJ,IAAK,MACDrJ,KAAKsB,OAAOQ,KAAAA,EAAK,EACjB9B,KAAKgH,oBAAAA,EACL,MAEJ,IAAK,YACDmC,EAAMvF,eAAAA,EACN,MAAM+F,EAAYD,EAAeJ,EAAexD,OAAS,EAAI4D,EAAe,EAAI,EAChFJ,EAAeK,CAAAA,GAAYN,MAAAA,EAC3B,MAEJ,IAAK,UACDF,EAAMvF,eAAAA,EACN,MAAMgG,EAAYF,EAAe,EAAIA,EAAe,EAAIJ,EAAexD,OAAS,EAChFwD,EAAeM,CAAAA,GAAYP,MAAAA,EAC3B,MAEJ,IAAK,OACDF,EAAMvF,eAAAA,EACN0F,EAAe,CAAA,GAAID,QACnB,MAEJ,IAAK,MACDF,EAAMvF,eAAAA,EACN0F,EAAeA,EAAexD,OAAS,CAAA,GAAIuD,MAAAA,EAC3C,MAEJ,IAAK,QACL,IAAK,IACGG,IACAL,EAAMvF,eAAAA,EACN5D,KAAKwB,eAAeM,KAAK0H,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,EAK3CxF,UAAAA,CACN,CAAA,EAtkB6B6F,EAAA,CAA5BC,WAAS,CAAEC,KAAMvH,OAAAA,CAAAA,CAAAA,EAFD7C,EAEYqK,UAAA,WAAA,CAAA,EACDH,EAAA,CAA3BC,WAAS,CAAEC,KAAMzF,MAAAA,CAAAA,CAAAA,EAHD3E,EAGWqK,UAAA,cAAA,CAAA,EACeH,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMzF,OAAQ2F,QAAAA,EAAS,CAAA,CAAA,EAJlBtK,EAI0BqK,UAAA,QAAA,CAAA,EACfH,EAAA,CAA3BC,WAAS,CAAEC,KAAMzF,MAAAA,CAAAA,CAAAA,EALD3E,EAKWqK,UAAA,OAAA,CAAA,EACAH,EAAA,CAA3BC,WAAS,CAAEC,KAAMzF,MAAAA,CAAAA,CAAAA,EAND3E,EAMWqK,UAAA,YAAA,CAAA,EACCH,EAAA,CAA5BC,WAAS,CAAEC,KAAMvH,OAAAA,CAAAA,CAAAA,EAPD7C,EAOYqK,UAAA,QAAA,CAAA,EACDH,EAAA,CAA3BC,WAAS,CAAEC,KAAMzF,MAAAA,CAAAA,CAAAA,EARD3E,EAQWqK,UAAA,cAAA,CAAA,EACeH,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMzF,OAAQ2F,QAAAA,EAAS,CAAA,CAAA,EATlBtK,EAS0BqK,UAAA,OAAA,CAAA,EACfH,EAAA,CAA3BC,WAAS,CAAEC,KAAMzF,MAAAA,CAAAA,CAAAA,EAVD3E,EAUWqK,UAAA,eAAA,CAAA,EACAH,EAAA,CAA3BC,WAAS,CAAEC,KAAMG,MAAAA,CAAAA,CAAAA,EAXDvK,EAWWqK,UAAA,aAAA,CAAA,EACAH,EAAA,CAA3BC,WAAS,CAAEC,KAAMG,MAAAA,CAAAA,CAAAA,EAZDvK,EAYWqK,UAAA,sBAAA,CAAA,EAIxBH,EAAA,CADHC,WAAS,CAAEC,KAAMhI,KAAAA,CAAAA,CAAAA,EAfDpC,EAgBbqK,UAAA,SAAA,CAAA,EASAH,EAAA,CADHC,EAAAA,SAAS,CAAEC,KAAMzF,OAAQ2F,QAAAA,EAAS,CAAA,CAAA,EAxBlBtK,EAyBbqK,UAAA,QAAA,CAAA,EAgBaH,EAAA,CAAhBM,EAAAA,MAAAA,CAAAA,EAzCgBxK,EAyCAqK,UAAA,QAAA,GACAH,EAAA,CAAhBM,EAAAA,MAAAA,CAAAA,EA1CgBxK,EA0CAqK,UAAA,cAAA,CAAA,EACAH,EAAA,CAAhBM,EAAAA,MAAAA,CAAAA,EA3CgBxK,EA2CAqK,UAAA,uBAAA,CAAA,EACAH,EAAA,CAAhBM,EAAAA,MAAAA,CAAAA,EA5CgBxK,EA4CAqK,UAAA,cAAA,CAAA,EAGEH,EAAA,CAAlBO,EAAAA,MAAM,UAAA,CAAA,EA/CUzK,EA+CEqK,UAAA,WAAA,CAAA,EACCH,EAAA,CAAnBO,EAAAA,MAAM,WAAA,CAAA,EAhDUzK,EAgDGqK,UAAA,SAAA,CAAA,EAC8BH,EAAA,CAAjDQ,wBAAsB,CAAEC,QAAAA,EAAS,CAAA,CAAA,EAjDjB3K,EAiDiCqK,UAAA,WAAA,CAAA,EAjDjCrK,EAArBkK,EAAA,CADCU,EAAAA,cAAc,uBAAA,CAAA,EACM5K,CAAAA"}
@@ -2,8 +2,8 @@ import { BehaviorSubject as _, Subject as V, fromEvent as w, combineLatest as k,
2
2
  import { classMap as O } from "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
4
  import { property as c, state as m, query as E, queryAssignedElements as T, customElement as j } from "lit/decorators.js";
5
- import "./tailwind.mixin-4vALHpnN.js";
6
- import { $ as L } from "./litElement.mixin-D03SVj4R.js";
5
+ import "./tailwind.mixin-QM5BZpYs.js";
6
+ import { $ as L } from "./litElement.mixin-DLNiN-V5.js";
7
7
  import { html as g } from "lit";
8
8
  import { createRef as M, ref as q } from "lit/directives/ref.js";
9
9
  import { tap as h, takeUntil as d, distinctUntilChanged as C, debounceTime as I, withLatestFrom as b, take as $, filter as v, switchMap as D } from "rxjs/operators";
@@ -238,4 +238,4 @@ let l = class extends L(":host{display:block;border:unset!important;line-height:
238
238
  }
239
239
  };
240
240
  a([c({ type: Boolean })], l.prototype, "required", 2), a([c({ type: String })], l.prototype, "placeholder", 2), a([c({ type: String, reflect: !0 })], l.prototype, "label", 2), a([c({ type: String })], l.prototype, "name", 2), a([c({ type: String })], l.prototype, "maxHeight", 2), a([c({ type: Boolean })], l.prototype, "multi", 2), a([c({ type: String })], l.prototype, "description", 2), a([c({ type: String, reflect: !0 })], l.prototype, "size", 2), a([c({ type: String })], l.prototype, "autocomplete", 2), a([c({ type: Number })], l.prototype, "debounceMs", 2), a([c({ type: Number })], l.prototype, "similarityThreshold", 2), a([c({ type: Array })], l.prototype, "values", 1), a([c({ type: String, reflect: !0 })], l.prototype, "value", 1), a([m()], l.prototype, "_open", 2), a([m()], l.prototype, "_inputValue", 2), a([m()], l.prototype, "_visibleOptionsCount", 2), a([m()], l.prototype, "_hasResults", 2), a([E("#options")], l.prototype, "_listbox", 2), a([E("sch-input")], l.prototype, "_input", 2), a([T({ flatten: !0 })], l.prototype, "_options", 2), l = a([j("schmancy-autocomplete")], l);
241
- //# sourceMappingURL=autocomplete--PVrgHin.js.map
241
+ //# sourceMappingURL=autocomplete-CfHzVbDJ.js.map