@mhmo91/schmancy 0.2.38 → 0.2.40

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 (250) hide show
  1. package/dist/{animated-text-Daeoe5sn.cjs → animated-text-CaUJr-yL.cjs} +2 -2
  2. package/dist/{animated-text-Daeoe5sn.cjs.map → animated-text-CaUJr-yL.cjs.map} +1 -1
  3. package/dist/{animated-text-BVwxMOPR.js → animated-text-D8LhwMLu.js} +3 -3
  4. package/dist/{animated-text-BVwxMOPR.js.map → animated-text-D8LhwMLu.js.map} +1 -1
  5. package/dist/animated-text.cjs +1 -1
  6. package/dist/animated-text.js +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/{area.component-xmbcsTJK.cjs → area.component-DJYgP8NP.cjs} +2 -2
  9. package/dist/{area.component-xmbcsTJK.cjs.map → area.component-DJYgP8NP.cjs.map} +1 -1
  10. package/dist/{area.component-ByLp5c79.js → area.component-FgfXnOUF.js} +3 -3
  11. package/dist/{area.component-ByLp5c79.js.map → area.component-FgfXnOUF.js.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/autocomplete-C36FPrMT.js +225 -0
  14. package/dist/autocomplete-C36FPrMT.js.map +1 -0
  15. package/dist/autocomplete-CFcZcrJm.cjs +48 -0
  16. package/dist/autocomplete-CFcZcrJm.cjs.map +1 -0
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/busy.cjs +1 -1
  20. package/dist/busy.js +1 -1
  21. package/dist/button.cjs +1 -1
  22. package/dist/button.js +1 -1
  23. package/dist/card.cjs +1 -1
  24. package/dist/card.js +1 -1
  25. package/dist/{checkbox-D9vaaSjw.cjs → checkbox-Drf8MwrJ.cjs} +2 -2
  26. package/dist/{checkbox-D9vaaSjw.cjs.map → checkbox-Drf8MwrJ.cjs.map} +1 -1
  27. package/dist/{checkbox-DkJYbF64.js → checkbox-Sf2HtMs9.js} +2 -2
  28. package/dist/{checkbox-DkJYbF64.js.map → checkbox-Sf2HtMs9.js.map} +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-UBgldDF5.cjs → chips-8SMj1Siq.cjs} +12 -12
  32. package/dist/{chips-UBgldDF5.cjs.map → chips-8SMj1Siq.cjs.map} +1 -1
  33. package/dist/{chips-Cy9spfrp.js → chips-CA-B5JGD.js} +36 -36
  34. package/dist/{chips-Cy9spfrp.js.map → chips-CA-B5JGD.js.map} +1 -1
  35. package/dist/chips.cjs +1 -1
  36. package/dist/chips.js +1 -1
  37. package/dist/components.cjs +1 -1
  38. package/dist/components.js +1 -1
  39. package/dist/content-drawer.cjs +1 -1
  40. package/dist/content-drawer.js +1 -1
  41. package/dist/date-range-BFW0xGWz.js +148 -0
  42. package/dist/date-range-BFW0xGWz.js.map +1 -0
  43. package/dist/date-range-CAFOX_Sm.cjs +72 -0
  44. package/dist/date-range-CAFOX_Sm.cjs.map +1 -0
  45. package/dist/date-range.cjs +1 -1
  46. package/dist/date-range.js +1 -1
  47. package/dist/{delay-CpK5RGux.js → delay-DbaKftdS.js} +2 -2
  48. package/dist/{delay-CpK5RGux.js.map → delay-DbaKftdS.js.map} +1 -1
  49. package/dist/{delay-C0n9lJNW.cjs → delay-_LA9VzS1.cjs} +2 -2
  50. package/dist/{delay-C0n9lJNW.cjs.map → delay-_LA9VzS1.cjs.map} +1 -1
  51. package/dist/delay.cjs +1 -1
  52. package/dist/delay.js +1 -1
  53. package/dist/{divider-D85c35Sw.js → divider-Ba1jSOh5.js} +3 -3
  54. package/dist/{divider-D85c35Sw.js.map → divider-Ba1jSOh5.js.map} +1 -1
  55. package/dist/{divider-C4xBD1JH.cjs → divider-DUvuIyeA.cjs} +2 -2
  56. package/dist/{divider-C4xBD1JH.cjs.map → divider-DUvuIyeA.cjs.map} +1 -1
  57. package/dist/divider.cjs +1 -1
  58. package/dist/divider.js +1 -1
  59. package/dist/{form-B_0fvoO0.cjs → form-Dga1_eim.cjs} +2 -2
  60. package/dist/{form-B_0fvoO0.cjs.map → form-Dga1_eim.cjs.map} +1 -1
  61. package/dist/{form-Bau_XA_e.js → form-H0pfjyGl.js} +2 -2
  62. package/dist/{form-Bau_XA_e.js.map → form-H0pfjyGl.js.map} +1 -1
  63. package/dist/form.cjs +1 -1
  64. package/dist/form.js +1 -1
  65. package/dist/{icon-Bit7fi8d.cjs → icon-Dr1MeHJo.cjs} +2 -2
  66. package/dist/{icon-Bit7fi8d.cjs.map → icon-Dr1MeHJo.cjs.map} +1 -1
  67. package/dist/{icon-button-Dh6iR7gO.cjs → icon-button-B1Hzc1qy.cjs} +2 -2
  68. package/dist/{icon-button-Dh6iR7gO.cjs.map → icon-button-B1Hzc1qy.cjs.map} +1 -1
  69. package/dist/{icon-button-CEGE-KQJ.js → icon-button-BFdAiGNP.js} +3 -3
  70. package/dist/{icon-button-CEGE-KQJ.js.map → icon-button-BFdAiGNP.js.map} +1 -1
  71. package/dist/{icon-B-QZ23xF.js → icon-pvbFfBbz.js} +3 -3
  72. package/dist/{icon-B-QZ23xF.js.map → icon-pvbFfBbz.js.map} +1 -1
  73. package/dist/icons.cjs +1 -1
  74. package/dist/icons.js +1 -1
  75. package/dist/index.cjs +1 -1
  76. package/dist/index.js +98 -97
  77. package/dist/input-1-LnDYbT.cjs +53 -0
  78. package/dist/input-1-LnDYbT.cjs.map +1 -0
  79. package/dist/input-CBjD2PL8.js +137 -0
  80. package/dist/input-CBjD2PL8.js.map +1 -0
  81. package/dist/input.cjs +1 -1
  82. package/dist/input.js +1 -1
  83. package/dist/layout.cjs +1 -1
  84. package/dist/layout.js +1 -1
  85. package/dist/{list-ClV9Qdme.js → list-BdN19pT0.js} +2 -2
  86. package/dist/{list-ClV9Qdme.js.map → list-BdN19pT0.js.map} +1 -1
  87. package/dist/{list-CRW6i-kf.cjs → list-DSyxyPI_.cjs} +2 -2
  88. package/dist/{list-CRW6i-kf.cjs.map → list-DSyxyPI_.cjs.map} +1 -1
  89. package/dist/list.cjs +1 -1
  90. package/dist/list.js +1 -1
  91. package/dist/{litElement.mixin-d9rhslEw.cjs → litElement.mixin-B9kSOE4x.cjs} +2 -2
  92. package/dist/{litElement.mixin-d9rhslEw.cjs.map → litElement.mixin-B9kSOE4x.cjs.map} +1 -1
  93. package/dist/{litElement.mixin-COSnyAru.js → litElement.mixin-D9kneJpW.js} +2 -2
  94. package/dist/{litElement.mixin-COSnyAru.js.map → litElement.mixin-D9kneJpW.js.map} +1 -1
  95. package/dist/{menu-n_bI-TFp.js → menu-DjWA-lYK.js} +29 -27
  96. package/dist/menu-DjWA-lYK.js.map +1 -0
  97. package/dist/menu-XffIwQSn.cjs +29 -0
  98. package/dist/menu-XffIwQSn.cjs.map +1 -0
  99. package/dist/menu.cjs +1 -1
  100. package/dist/menu.js +1 -1
  101. package/dist/nav-drawer.cjs +1 -1
  102. package/dist/nav-drawer.js +1 -1
  103. package/dist/notification.cjs +1 -1
  104. package/dist/notification.js +1 -1
  105. package/dist/option-C4fWPkxl.js +45 -0
  106. package/dist/option-C4fWPkxl.js.map +1 -0
  107. package/dist/option-Dcuv7dNV.cjs +18 -0
  108. package/dist/option-Dcuv7dNV.cjs.map +1 -0
  109. package/dist/option.cjs +1 -1
  110. package/dist/option.js +1 -1
  111. package/dist/{outlet-hu2yX7iS.cjs → outlet-881x1gpm.cjs} +2 -2
  112. package/dist/{outlet-hu2yX7iS.cjs.map → outlet-881x1gpm.cjs.map} +1 -1
  113. package/dist/{outlet-DuFKgg_g.js → outlet-oc58T2jq.js} +2 -2
  114. package/dist/{outlet-DuFKgg_g.js.map → outlet-oc58T2jq.js.map} +1 -1
  115. package/dist/{payment-card-form-Bpa9jVym.cjs → payment-card-form-BlusjI2Q.cjs} +2 -2
  116. package/dist/{payment-card-form-Bpa9jVym.cjs.map → payment-card-form-BlusjI2Q.cjs.map} +1 -1
  117. package/dist/{payment-card-form-D6chLUG-.js → payment-card-form-D2NiZkJM.js} +3 -3
  118. package/dist/{payment-card-form-D6chLUG-.js.map → payment-card-form-D2NiZkJM.js.map} +1 -1
  119. package/dist/{radio-group-9wWEjibY.js → radio-group-BALwJIFj.js} +2 -2
  120. package/dist/{radio-group-9wWEjibY.js.map → radio-group-BALwJIFj.js.map} +1 -1
  121. package/dist/{radio-group-CekbhNf-.cjs → radio-group-DE6ao3xB.cjs} +2 -2
  122. package/dist/{radio-group-CekbhNf-.cjs.map → radio-group-DE6ao3xB.cjs.map} +1 -1
  123. package/dist/radio-group.cjs +1 -1
  124. package/dist/radio-group.js +1 -1
  125. package/dist/{scroll-B-tqDDOP.js → scroll-BbqxMyDc.js} +29 -29
  126. package/dist/scroll-BbqxMyDc.js.map +1 -0
  127. package/dist/scroll-BqLesKK7.cjs +33 -0
  128. package/dist/scroll-BqLesKK7.cjs.map +1 -0
  129. package/dist/select-CaBI5TrW.js +156 -0
  130. package/dist/select-CaBI5TrW.js.map +1 -0
  131. package/dist/select-N1WX3mjc.cjs +52 -0
  132. package/dist/select-N1WX3mjc.cjs.map +1 -0
  133. package/dist/select.cjs +1 -1
  134. package/dist/select.js +4 -1
  135. package/dist/{sheet-DeE5_yNQ.cjs → sheet-BLzXXxJz.cjs} +2 -2
  136. package/dist/{sheet-DeE5_yNQ.cjs.map → sheet-BLzXXxJz.cjs.map} +1 -1
  137. package/dist/{sheet-yFj2S1UP.js → sheet-CrFAERdT.js} +3 -3
  138. package/dist/{sheet-yFj2S1UP.js.map → sheet-CrFAERdT.js.map} +1 -1
  139. package/dist/sheet.cjs +1 -1
  140. package/dist/sheet.js +1 -1
  141. package/dist/{slider-PwJTXAJc.js → slider-BAQ6ue43.js} +3 -3
  142. package/dist/{slider-PwJTXAJc.js.map → slider-BAQ6ue43.js.map} +1 -1
  143. package/dist/{slider-BN-GC2a_.cjs → slider-Ck3rrBuj.cjs} +2 -2
  144. package/dist/{slider-BN-GC2a_.cjs.map → slider-Ck3rrBuj.cjs.map} +1 -1
  145. package/dist/slider.cjs +1 -1
  146. package/dist/slider.js +1 -1
  147. package/dist/{spinner-Calk9CE7.cjs → spinner-B1iL6lg7.cjs} +2 -2
  148. package/dist/{spinner-Calk9CE7.cjs.map → spinner-B1iL6lg7.cjs.map} +1 -1
  149. package/dist/{spinner-CA6KEbfu.js → spinner-Dp-BlzFE.js} +3 -3
  150. package/dist/{spinner-CA6KEbfu.js.map → spinner-Dp-BlzFE.js.map} +1 -1
  151. package/dist/{surface-VBotYgOg.js → surface-C-5hXuc0.js} +2 -2
  152. package/dist/{surface-VBotYgOg.js.map → surface-C-5hXuc0.js.map} +1 -1
  153. package/dist/{surface-QvhZSMt5.cjs → surface-KIYOpqYN.cjs} +2 -2
  154. package/dist/{surface-QvhZSMt5.cjs.map → surface-KIYOpqYN.cjs.map} +1 -1
  155. package/dist/surface.cjs +1 -1
  156. package/dist/surface.js +1 -1
  157. package/dist/{table-n4ftE_xg.cjs → table-COiGzwHG.cjs} +2 -2
  158. package/dist/{table-n4ftE_xg.cjs.map → table-COiGzwHG.cjs.map} +1 -1
  159. package/dist/{table-Da6LJPGK.js → table-D5Y7TtBM.js} +2 -2
  160. package/dist/{table-Da6LJPGK.js.map → table-D5Y7TtBM.js.map} +1 -1
  161. package/dist/table.cjs +1 -1
  162. package/dist/table.js +1 -1
  163. package/dist/{tabs-group-BK5fJqpY.js → tabs-group-DIv7H3ii.js} +2 -2
  164. package/dist/{tabs-group-BK5fJqpY.js.map → tabs-group-DIv7H3ii.js.map} +1 -1
  165. package/dist/{tabs-group-DThZAKqa.cjs → tabs-group-Dzw-rYWP.cjs} +2 -2
  166. package/dist/{tabs-group-DThZAKqa.cjs.map → tabs-group-Dzw-rYWP.cjs.map} +1 -1
  167. package/dist/tabs.cjs +1 -1
  168. package/dist/tabs.js +1 -1
  169. package/dist/tailwind.mixin-BBKdEPAU.js +43 -0
  170. package/dist/{tailwind.mixin-DNlFmovi.js.map → tailwind.mixin-BBKdEPAU.js.map} +1 -1
  171. package/dist/tailwind.mixin-gE-6eUQA.cjs +2 -0
  172. package/dist/{tailwind.mixin-DYx3IacW.cjs.map → tailwind.mixin-gE-6eUQA.cjs.map} +1 -1
  173. package/dist/teleport.cjs +1 -1
  174. package/dist/{teleport.component-Dose4RDi.js → teleport.component-DldJv9J6.js} +35 -35
  175. package/dist/{teleport.component-Dose4RDi.js.map → teleport.component-DldJv9J6.js.map} +1 -1
  176. package/dist/{teleport.component-D5v1j4mw.cjs → teleport.component-I1DFKmWM.cjs} +2 -2
  177. package/dist/{teleport.component-D5v1j4mw.cjs.map → teleport.component-I1DFKmWM.cjs.map} +1 -1
  178. package/dist/teleport.js +1 -1
  179. package/dist/{textarea-DHrkcyt8.cjs → textarea-Cm_0BDw5.cjs} +2 -2
  180. package/dist/{textarea-DHrkcyt8.cjs.map → textarea-Cm_0BDw5.cjs.map} +1 -1
  181. package/dist/{textarea-JWBhOVdN.js → textarea-DWBpogxd.js} +2 -2
  182. package/dist/{textarea-JWBhOVdN.js.map → textarea-DWBpogxd.js.map} +1 -1
  183. package/dist/textarea.cjs +1 -1
  184. package/dist/textarea.js +1 -1
  185. package/dist/{theme-button-DBPnjBHL.cjs → theme-button-B7JR-68y.cjs} +2 -2
  186. package/dist/{theme-button-DBPnjBHL.cjs.map → theme-button-B7JR-68y.cjs.map} +1 -1
  187. package/dist/{theme-button-BL3unPDt.js → theme-button-CdjTjQE-.js} +2 -2
  188. package/dist/{theme-button-BL3unPDt.js.map → theme-button-CdjTjQE-.js.map} +1 -1
  189. package/dist/theme-button.cjs +1 -1
  190. package/dist/theme-button.js +1 -1
  191. package/dist/theme.cjs +1 -1
  192. package/dist/{theme.component-BNRB5zlE.cjs → theme.component-D0pi4zH5.cjs} +2 -2
  193. package/dist/{theme.component-BNRB5zlE.cjs.map → theme.component-D0pi4zH5.cjs.map} +1 -1
  194. package/dist/{theme.component-iZ2Ty0WM.js → theme.component-DWRFe6NX.js} +2 -2
  195. package/dist/{theme.component-iZ2Ty0WM.js.map → theme.component-DWRFe6NX.js.map} +1 -1
  196. package/dist/theme.js +1 -1
  197. package/dist/{tree-DK6ii57L.js → tree-COFA9Z7I.js} +2 -2
  198. package/dist/{tree-DK6ii57L.js.map → tree-COFA9Z7I.js.map} +1 -1
  199. package/dist/{tree-BU8SHE74.cjs → tree-D8SHnBQ7.cjs} +2 -2
  200. package/dist/{tree-BU8SHE74.cjs.map → tree-D8SHnBQ7.cjs.map} +1 -1
  201. package/dist/tree.cjs +1 -1
  202. package/dist/tree.js +1 -1
  203. package/dist/{typewriter-BcUBG7Dc.cjs → typewriter-B254asJ6.cjs} +2 -2
  204. package/dist/{typewriter-BcUBG7Dc.cjs.map → typewriter-B254asJ6.cjs.map} +1 -1
  205. package/dist/{typewriter-BUNcKCUM.js → typewriter-CKloAbr2.js} +4 -4
  206. package/dist/{typewriter-BUNcKCUM.js.map → typewriter-CKloAbr2.js.map} +1 -1
  207. package/dist/typewriter.cjs +1 -1
  208. package/dist/typewriter.js +1 -1
  209. package/dist/{typography-CLlDUD5O.cjs → typography-BjmgtlSe.cjs} +2 -2
  210. package/dist/{typography-CLlDUD5O.cjs.map → typography-BjmgtlSe.cjs.map} +1 -1
  211. package/dist/{typography-CasDFLVv.js → typography-C0__6Aqk.js} +2 -2
  212. package/dist/{typography-CasDFLVv.js.map → typography-C0__6Aqk.js.map} +1 -1
  213. package/dist/typography.cjs +1 -1
  214. package/dist/typography.js +1 -1
  215. package/package.json +6 -6
  216. package/types/src/autocomplete/autocomplete.d.ts +16 -93
  217. package/types/src/chips/chip.d.ts +0 -2
  218. package/types/src/date-range/date-range.d.ts +14 -15
  219. package/types/src/input/input.d.ts +60 -80
  220. package/types/src/layout/flex/flex.d.ts +24 -1
  221. package/types/src/option/option.d.ts +2 -2
  222. package/types/src/select/select.d.ts +37 -15
  223. package/dist/autocomplete-8-xYgb2e.js +0 -212
  224. package/dist/autocomplete-8-xYgb2e.js.map +0 -1
  225. package/dist/autocomplete-CtUz_AlC.cjs +0 -43
  226. package/dist/autocomplete-CtUz_AlC.cjs.map +0 -1
  227. package/dist/date-range-Cvdpxn2J.js +0 -130
  228. package/dist/date-range-Cvdpxn2J.js.map +0 -1
  229. package/dist/date-range-DTUXT0Lf.cjs +0 -58
  230. package/dist/date-range-DTUXT0Lf.cjs.map +0 -1
  231. package/dist/input-6NTzj_Bn.js +0 -124
  232. package/dist/input-6NTzj_Bn.js.map +0 -1
  233. package/dist/input-CnvK8HG2.cjs +0 -43
  234. package/dist/input-CnvK8HG2.cjs.map +0 -1
  235. package/dist/menu-C4mb1XXA.cjs +0 -31
  236. package/dist/menu-C4mb1XXA.cjs.map +0 -1
  237. package/dist/menu-n_bI-TFp.js.map +0 -1
  238. package/dist/option-CxhioQ_d.js +0 -40
  239. package/dist/option-CxhioQ_d.js.map +0 -1
  240. package/dist/option-lA0IV4VJ.cjs +0 -14
  241. package/dist/option-lA0IV4VJ.cjs.map +0 -1
  242. package/dist/scroll-B-tqDDOP.js.map +0 -1
  243. package/dist/scroll-B7q9TYhV.cjs +0 -33
  244. package/dist/scroll-B7q9TYhV.cjs.map +0 -1
  245. package/dist/select-DAQdBUSl.cjs +0 -46
  246. package/dist/select-DAQdBUSl.cjs.map +0 -1
  247. package/dist/select-DUctHAIZ.js +0 -99
  248. package/dist/select-DUctHAIZ.js.map +0 -1
  249. package/dist/tailwind.mixin-DNlFmovi.js +0 -43
  250. package/dist/tailwind.mixin-DYx3IacW.cjs +0 -2
@@ -0,0 +1,225 @@
1
+ import { computePosition as Y, offset as D, flip as H, shift as M, size as P } from "@floating-ui/dom";
2
+ import { Subject as z, fromEvent as N, from as U } from "rxjs";
3
+ import "lit/directives/class-map.js";
4
+ import "lit/directives/style-map.js";
5
+ import { $ as B } from "./litElement.mixin-D9kneJpW.js";
6
+ import "./tailwind.mixin-BBKdEPAU.js";
7
+ import { c as F } from "./ripple-BumgqsDT.js";
8
+ import { S as R } from "./theme.interface-C5Kj6WjD.js";
9
+ import { html as L } from "lit";
10
+ import { property as $, query as V, queryAssignedElements as W, eventOptions as G, customElement as J } from "lit/decorators.js";
11
+ import { createRef as K, ref as Q } from "lit/directives/ref.js";
12
+ import { takeUntil as q, distinctUntilChanged as X, tap as Z, filter as _, switchMap as tt } from "rxjs/operators";
13
+ const b = new Uint32Array(65536), et = (t, e) => {
14
+ if (t.length < e.length) {
15
+ const o = e;
16
+ e = t, t = o;
17
+ }
18
+ return e.length === 0 ? t.length : t.length <= 32 ? ((o, i) => {
19
+ const n = o.length, l = i.length, r = 1 << n - 1;
20
+ let h = -1, f = 0, S = n, p = n;
21
+ for (; p--; ) b[o.charCodeAt(p)] |= 1 << p;
22
+ for (p = 0; p < l; p++) {
23
+ let y = b[i.charCodeAt(p)];
24
+ const g = y | f;
25
+ y |= (y & h) + h ^ h, f |= ~(y | h), h &= y, f & r && S++, h & r && S--, f = f << 1 | 1, h = h << 1 | ~(g | f), f &= g;
26
+ }
27
+ for (p = n; p--; ) b[o.charCodeAt(p)] = 0;
28
+ return S;
29
+ })(t, e) : ((o, i) => {
30
+ const n = i.length, l = o.length, r = [], h = [], f = Math.ceil(n / 32), S = Math.ceil(l / 32);
31
+ for (let s = 0; s < f; s++) h[s] = -1, r[s] = 0;
32
+ let p = 0;
33
+ for (; p < S - 1; p++) {
34
+ let s = 0, d = -1;
35
+ const w = 32 * p, C = Math.min(32, l) + w;
36
+ for (let a = w; a < C; a++) b[o.charCodeAt(a)] |= 1 << a;
37
+ for (let a = 0; a < n; a++) {
38
+ const x = b[i.charCodeAt(a)], v = h[a / 32 | 0] >>> a & 1, m = r[a / 32 | 0] >>> a & 1, T = x | s, j = ((x | m) & d) + d ^ d | x | m;
39
+ let A = s | ~(j | d), k = d & j;
40
+ A >>> 31 ^ v && (h[a / 32 | 0] ^= 1 << a), k >>> 31 ^ m && (r[a / 32 | 0] ^= 1 << a), A = A << 1 | v, k = k << 1 | m, d = k | ~(T | A), s = A & T;
41
+ }
42
+ for (let a = w; a < C; a++) b[o.charCodeAt(a)] = 0;
43
+ }
44
+ let y = 0, g = -1;
45
+ const O = 32 * p, E = Math.min(32, l - O) + O;
46
+ for (let s = O; s < E; s++) b[o.charCodeAt(s)] |= 1 << s;
47
+ let I = l;
48
+ for (let s = 0; s < n; s++) {
49
+ const d = b[i.charCodeAt(s)], w = h[s / 32 | 0] >>> s & 1, C = r[s / 32 | 0] >>> s & 1, a = d | y, x = ((d | C) & g) + g ^ g | d | C;
50
+ let v = y | ~(x | g), m = g & x;
51
+ I += v >>> l - 1 & 1, I -= m >>> l - 1 & 1, v >>> 31 ^ w && (h[s / 32 | 0] ^= 1 << s), m >>> 31 ^ C && (r[s / 32 | 0] ^= 1 << s), v = v << 1 | w, m = m << 1 | C, g = m | ~(a | v), y = v & a;
52
+ }
53
+ for (let s = O; s < E; s++) b[o.charCodeAt(s)] = 0;
54
+ return I;
55
+ })(t, e);
56
+ };
57
+ var ot = Object.defineProperty, it = Object.getOwnPropertyDescriptor, u = (t, e, o, i) => {
58
+ for (var n, l = i > 1 ? void 0 : i ? it(e, o) : e, r = t.length - 1; r >= 0; r--) (n = t[r]) && (l = (i ? n(e, o, l) : n(l)) || l);
59
+ return i && l && ot(e, o, l), l;
60
+ };
61
+ let c = class extends B(":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}") {
62
+ constructor() {
63
+ super(...arguments), this.required = !1, this.placeholder = "", this.value = "", this.label = "", this.maxHeight = "25vh", this.multi = !1, this.inputRef = K(), this.searchTerm$ = new z(), this.startY = 0;
64
+ }
65
+ connectedCallback() {
66
+ super.connectedCallback(), this.searchTerm$.pipe(q(this.disconnecting), X(), Z((t) => {
67
+ const e = t.trim().toLowerCase(), o = this.options.map((i) => {
68
+ const n = i.label.toLowerCase();
69
+ return { option: i, levDistance: et(e, n) };
70
+ }).filter(({ option: i, levDistance: n }) => e.length < 3 || n <= i.label.toLowerCase().length - e.length).sort((i, n) => i.levDistance - n.levDistance);
71
+ this.options.forEach((i) => i.hidden = !0);
72
+ for (const { option: i } of o) i.hidden = !1;
73
+ this.empty.hidden = o.length > 0, this.requestUpdate();
74
+ })).subscribe(() => {
75
+ this.showOptions();
76
+ }), N(this, "focusout").pipe(q(this.disconnecting), _((t) => {
77
+ var e;
78
+ return ((e = t.relatedTarget) == null ? void 0 : e.tagName) !== "SCHMANCY-OPTION";
79
+ }), tt(() => {
80
+ const t = this.optionsContainer.animate([{ opacity: 1 }, { opacity: 0 }], { duration: 250, easing: "cubic-bezier(0.5, 0.01, 0.25, 1)" });
81
+ return U(new Promise((e) => {
82
+ t.onfinish = () => {
83
+ this.optionsContainer.style.display = "none", this.optionsContainer.style.opacity = "1", e();
84
+ };
85
+ }));
86
+ })).subscribe({ next: () => {
87
+ var t;
88
+ if (this.multi) {
89
+ const e = this.options.filter((o) => o.selected).map((o) => o.label);
90
+ this.input.value = e.join(", ");
91
+ } else this.input.value = ((t = this.options.find((e) => e.value === this.value)) == null ? void 0 : t.label) ?? "";
92
+ } });
93
+ }
94
+ firstUpdated() {
95
+ this.updateInputValue();
96
+ }
97
+ updated(t) {
98
+ super.updated(t), t.has("value") && (this.syncSelectionFromValue(), this.updateInputValue());
99
+ }
100
+ handleSlotChange() {
101
+ this.empty.hidden = this.options.some((t) => !t.hidden), this.syncSelectionFromValue(), this.updateInputValue();
102
+ }
103
+ syncSelectionFromValue() {
104
+ if (this.multi) {
105
+ const t = this.value.split(",").map((e) => e.trim()).filter(Boolean);
106
+ this.options.forEach((e) => {
107
+ e.selected = t.includes(e.value);
108
+ });
109
+ } else this.options.forEach((t) => {
110
+ t.selected = t.value === this.value;
111
+ });
112
+ }
113
+ updateInputValue() {
114
+ requestAnimationFrame(() => {
115
+ var t;
116
+ if (this.multi) {
117
+ const e = this.options.filter((o) => o.selected).map((o) => o.label);
118
+ this.input.value = e.join(", ");
119
+ } else {
120
+ const e = (t = this.options.find((o) => o.value === this.value)) == null ? void 0 : t.label;
121
+ this.input.value = e ?? "";
122
+ }
123
+ });
124
+ }
125
+ async showOptions() {
126
+ this.optionsContainer.removeAttribute("hidden"), this.optionsContainer.style.display = "block";
127
+ const { x: t, y: e } = await Y(this.input, this.optionsContainer, { placement: "bottom-start", middleware: [D(5), H(), M({ padding: 5 }), P({ apply({ availableWidth: o, availableHeight: i, elements: n, rects: l }) {
128
+ const r = l.reference.width;
129
+ n.floating.style.minWidth = `${r}px`, n.floating.style.maxWidth = `${o}px`, n.floating.style.maxHeight = `${i}px`;
130
+ } })] });
131
+ Object.assign(this.optionsContainer.style, { left: `${t}px`, top: `${e}px`, position: "absolute", zIndex: "9999", overflowY: "auto" });
132
+ }
133
+ hideOptions() {
134
+ var t;
135
+ (t = this.optionsContainer) == null || t.setAttribute("hidden", "true"), this.optionsContainer && (this.optionsContainer.style.display = "none");
136
+ }
137
+ handleInputChange(t) {
138
+ t.preventDefault(), t.stopPropagation();
139
+ const e = t.detail.value;
140
+ this.searchTerm$.next(e);
141
+ }
142
+ handleOptionClick(t) {
143
+ if (this.multi) {
144
+ const e = this.options.find((i) => i.value === t);
145
+ e && (e.selected = !e.selected);
146
+ const o = this.options.filter((i) => i.selected).map((i) => i.value);
147
+ this.value = o.join(","), this.updateInputValue(), this.dispatchEvent(new CustomEvent("change", { detail: { value: o }, bubbles: !0, composed: !0 }));
148
+ } else this.hideOptions(), this.value = t, this.updateInputValue(), this.dispatchEvent(new CustomEvent("change", { detail: { value: t }, bubbles: !0, composed: !0 }));
149
+ }
150
+ checkValidity() {
151
+ return this.multi ? this.options.some((t) => t.selected) : !!this.value;
152
+ }
153
+ reportValidity() {
154
+ var t;
155
+ return (t = this.inputRef.value) == null ? void 0 : t.reportValidity();
156
+ }
157
+ handleTouchStart(t) {
158
+ var e, o;
159
+ this.startY = ((o = (e = t.touches) == null ? void 0 : e[0]) == null ? void 0 : o.clientY) ?? 0;
160
+ }
161
+ preventScroll(t) {
162
+ var l, r;
163
+ const e = t.target;
164
+ if (!this.optionsContainer.contains(e)) return;
165
+ const o = this.optionsContainer.scrollTop, i = this.optionsContainer.scrollHeight - this.optionsContainer.offsetHeight, n = ((r = (l = t.touches) == null ? void 0 : l[0]) == null ? void 0 : r.clientY) ?? 0;
166
+ (o <= 0 && n > this.startY || o >= i && n < this.startY) && t.preventDefault();
167
+ }
168
+ render() {
169
+ var e;
170
+ const t = !((e = this.optionsContainer) != null && e.hasAttribute("hidden"));
171
+ return L`
172
+ <div class="relative">
173
+ <!-- The trigger slot (if any) overrides the default SchmancyInput -->
174
+ <slot name="trigger">
175
+ <schmancy-input
176
+ ${Q(this.inputRef)}
177
+ id="input"
178
+ class="w-full"
179
+ .label=${this.label}
180
+ .placeholder=${this.placeholder}
181
+ .required=${this.required}
182
+ type="search"
183
+ inputmode="text"
184
+ autocomplete="off"
185
+ clickable
186
+ role="combobox"
187
+ aria-autocomplete="list"
188
+ aria-haspopup="listbox"
189
+ aria-controls="options"
190
+ aria-expanded=${t}
191
+ @focus=${() => this.showOptions()}
192
+ @input=${this.handleInputChange}
193
+ >
194
+ </schmancy-input>
195
+ </slot>
196
+
197
+ <ul
198
+ id="options"
199
+ tabindex="-1"
200
+ class="absolute z-30 mt-1 w-full overflow-auto rounded-md shadow-sm"
201
+ role="listbox"
202
+ hidden
203
+ @click=${(o) => {
204
+ var n;
205
+ const i = (n = o.detail) == null ? void 0 : n.value;
206
+ i && this.handleOptionClick(i);
207
+ }}
208
+ @touchstart=${this.handleTouchStart}
209
+ @touchmove=${this.preventScroll}
210
+ ${F({ bgColor: R.sys.color.surface.container })}
211
+ >
212
+ <!-- "No results" option -->
213
+ <li id="empty" tabindex="-1">
214
+ <schmancy-typography type="label">No results found</schmancy-typography>
215
+ </li>
216
+
217
+ <!-- Slot for the <schmancy-option> elements -->
218
+ <slot @slotchange=${this.handleSlotChange}> </slot>
219
+ </ul>
220
+ </div>
221
+ `;
222
+ }
223
+ };
224
+ u([$({ type: Boolean })], c.prototype, "required", 2), u([$({ type: String })], c.prototype, "placeholder", 2), u([$({ type: String, reflect: !0 })], c.prototype, "value", 2), u([$({ type: String, reflect: !0 })], c.prototype, "label", 2), u([$({ type: String })], c.prototype, "maxHeight", 2), u([$({ type: Boolean })], c.prototype, "multi", 2), u([V("#options")], c.prototype, "optionsContainer", 2), u([V("#empty")], c.prototype, "empty", 2), u([V("schmancy-input")], c.prototype, "input", 2), u([W({ flatten: !0 })], c.prototype, "options", 2), u([G({ passive: !0 })], c.prototype, "handleOptionClick", 1), c = u([J("schmancy-autocomplete")], c);
225
+ //# sourceMappingURL=autocomplete-C36FPrMT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-C36FPrMT.js","sources":["../node_modules/fastest-levenshtein/esm/mod.js","../src/autocomplete/autocomplete.ts"],"sourcesContent":["const peq = new Uint32Array(0x10000);\nconst myers_32 = (a, b) => {\n const n = a.length;\n const m = b.length;\n const lst = 1 << (n - 1);\n let pv = -1;\n let mv = 0;\n let sc = n;\n let i = n;\n while (i--) {\n peq[a.charCodeAt(i)] |= 1 << i;\n }\n for (i = 0; i < m; i++) {\n let eq = peq[b.charCodeAt(i)];\n const xv = eq | mv;\n eq |= ((eq & pv) + pv) ^ pv;\n mv |= ~(eq | pv);\n pv &= eq;\n if (mv & lst) {\n sc++;\n }\n if (pv & lst) {\n sc--;\n }\n mv = (mv << 1) | 1;\n pv = (pv << 1) | ~(xv | mv);\n mv &= xv;\n }\n i = n;\n while (i--) {\n peq[a.charCodeAt(i)] = 0;\n }\n return sc;\n};\nconst myers_x = (b, a) => {\n const n = a.length;\n const m = b.length;\n const mhc = [];\n const phc = [];\n const hsize = Math.ceil(n / 32);\n const vsize = Math.ceil(m / 32);\n for (let i = 0; i < hsize; i++) {\n phc[i] = -1;\n mhc[i] = 0;\n }\n let j = 0;\n for (; j < vsize - 1; j++) {\n let mv = 0;\n let pv = -1;\n const start = j * 32;\n const vlen = Math.min(32, m) + start;\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] |= 1 << k;\n }\n for (let i = 0; i < n; i++) {\n const eq = peq[a.charCodeAt(i)];\n const pb = (phc[(i / 32) | 0] >>> i) & 1;\n const mb = (mhc[(i / 32) | 0] >>> i) & 1;\n const xv = eq | mv;\n const xh = ((((eq | mb) & pv) + pv) ^ pv) | eq | mb;\n let ph = mv | ~(xh | pv);\n let mh = pv & xh;\n if ((ph >>> 31) ^ pb) {\n phc[(i / 32) | 0] ^= 1 << i;\n }\n if ((mh >>> 31) ^ mb) {\n mhc[(i / 32) | 0] ^= 1 << i;\n }\n ph = (ph << 1) | pb;\n mh = (mh << 1) | mb;\n pv = mh | ~(xv | ph);\n mv = ph & xv;\n }\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] = 0;\n }\n }\n let mv = 0;\n let pv = -1;\n const start = j * 32;\n const vlen = Math.min(32, m - start) + start;\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] |= 1 << k;\n }\n let score = m;\n for (let i = 0; i < n; i++) {\n const eq = peq[a.charCodeAt(i)];\n const pb = (phc[(i / 32) | 0] >>> i) & 1;\n const mb = (mhc[(i / 32) | 0] >>> i) & 1;\n const xv = eq | mv;\n const xh = ((((eq | mb) & pv) + pv) ^ pv) | eq | mb;\n let ph = mv | ~(xh | pv);\n let mh = pv & xh;\n score += (ph >>> (m - 1)) & 1;\n score -= (mh >>> (m - 1)) & 1;\n if ((ph >>> 31) ^ pb) {\n phc[(i / 32) | 0] ^= 1 << i;\n }\n if ((mh >>> 31) ^ mb) {\n mhc[(i / 32) | 0] ^= 1 << i;\n }\n ph = (ph << 1) | pb;\n mh = (mh << 1) | mb;\n pv = mh | ~(xv | ph);\n mv = ph & xv;\n }\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] = 0;\n }\n return score;\n};\nconst distance = (a, b) => {\n if (a.length < b.length) {\n const tmp = b;\n b = a;\n a = tmp;\n }\n if (b.length === 0) {\n return a.length;\n }\n if (a.length <= 32) {\n return myers_32(a, b);\n }\n return myers_x(a, b);\n};\nconst closest = (str, arr) => {\n let min_distance = Infinity;\n let min_index = 0;\n for (let i = 0; i < arr.length; i++) {\n const dist = distance(str, arr[i]);\n if (dist < min_distance) {\n min_distance = dist;\n min_index = i;\n }\n }\n return arr[min_index];\n};\nexport { closest, distance };\n","import {\n\tcomputePosition,\n\tflip,\n\toffset,\n\tshift,\n\tsize, // <-- NEW\n} from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyInput from '@schmancy/input/input'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { distance } from 'fastest-levenshtein'\nimport { html } from 'lit'\nimport { customElement, eventOptions, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { from, fromEvent, Subject } from 'rxjs'\nimport { distinctUntilChanged, filter, switchMap, takeUntil, tap } from 'rxjs/operators'\nimport style from './autocomplete.scss?inline'\n\nimport type { SchmancyInputInputEvent } from '@schmancy/input/input'\n\nexport type SchmancyAutocompleteChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-autocomplete')\nexport default class SchmancyAutocomplete extends $LitElement(style) {\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = ''\n\t@property({ type: String, reflect: true }) value = ''\n\t@property({ type: String, reflect: true }) label = ''\n\n\t/**\n\t * ⚠️ If you still want an explicit fallback for maximum dropdown height,\n\t * you can keep this, but the `size()` middleware will already set a\n\t * dynamic max-height based on viewport space.\n\t */\n\t@property({ type: String }) maxHeight = '25vh'\n\n\t@property({ type: Boolean }) multi = false\n\n\t/** Direct reference to the <input> inside <schmancy-input>. */\n\tinputRef = createRef<HTMLInputElement>()\n\n\t@query('#options') private optionsContainer!: HTMLUListElement\n\t@query('#empty') private empty!: HTMLLIElement\n\t@query('schmancy-input') private input!: SchmancyInput\n\t@queryAssignedElements({ flatten: true }) private options!: SchmancyOption[]\n\n\tprivate readonly searchTerm$ = new Subject<string>()\n\n\t// iOS scroll-blocking logic\n\tprivate startY = 0\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// 1) Search filtering\n\t\tthis.searchTerm$\n\t\t\t.pipe(\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(term => {\n\t\t\t\t\tconst searchTerm = term.trim().toLowerCase()\n\n\t\t\t\t\t// Filter options using Levenshtein distance\n\t\t\t\t\tconst matches = this.options\n\t\t\t\t\t\t.map(option => {\n\t\t\t\t\t\t\tconst optionText = option.label.toLowerCase()\n\t\t\t\t\t\t\tconst levDistance = distance(searchTerm, optionText)\n\t\t\t\t\t\t\treturn { option, levDistance }\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.filter(({ option, levDistance }) => {\n\t\t\t\t\t\t\t// If very short searchTerm, be lenient\n\t\t\t\t\t\t\tif (searchTerm.length < 3) return true\n\t\t\t\t\t\t\t// Otherwise, filter by distance\n\t\t\t\t\t\t\treturn levDistance <= option.label.toLowerCase().length - searchTerm.length\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.sort((a, b) => a.levDistance - b.levDistance)\n\n\t\t\t\t\t// Show/hide\n\t\t\t\t\tthis.options.forEach(o => (o.hidden = true))\n\t\t\t\t\tfor (const { option } of matches) {\n\t\t\t\t\t\toption.hidden = false\n\t\t\t\t\t}\n\n\t\t\t\t\t// \"No results found\"\n\t\t\t\t\tthis.empty.hidden = matches.length > 0\n\n\t\t\t\t\tthis.requestUpdate()\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\t// Show dropdown on each new term\n\t\t\t\tthis.showOptions()\n\t\t\t})\n\n\t\t// 2) Focus out animation\n\t\tfromEvent<FocusEvent>(this, 'focusout')\n\t\t\t.pipe(\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tfilter(e => (e.relatedTarget as SchmancyOption)?.tagName !== 'SCHMANCY-OPTION'),\n\t\t\t\tswitchMap(() => {\n\t\t\t\t\tconst animation = this.optionsContainer.animate([{ opacity: 1 }, { opacity: 0 }], {\n\t\t\t\t\t\tduration: 250,\n\t\t\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t\t\t})\n\n\t\t\t\t\treturn from(\n\t\t\t\t\t\tnew Promise<void>(resolve => {\n\t\t\t\t\t\t\tanimation.onfinish = () => {\n\t\t\t\t\t\t\t\tthis.optionsContainer.style.display = 'none'\n\t\t\t\t\t\t\t\tthis.optionsContainer.style.opacity = '1'\n\t\t\t\t\t\t\t\tresolve()\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\t.subscribe({\n\t\t\t\tnext: () => {\n\t\t\t\t\t// Resync the input after closing\n\t\t\t\t\tif (this.multi) {\n\t\t\t\t\t\tconst selected = this.options.filter(o => o.selected).map(o => o.label)\n\t\t\t\t\t\tthis.input.value = selected.join(', ')\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.input.value = this.options.find(o => o.value === this.value)?.label ?? ''\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\tfirstUpdated() {\n\t\tthis.updateInputValue()\n\t}\n\n\tprotected updated(changedProps: Map<string | number | symbol, unknown>) {\n\t\tsuper.updated(changedProps)\n\t\tif (changedProps.has('value')) {\n\t\t\tthis.syncSelectionFromValue()\n\t\t\tthis.updateInputValue()\n\t\t}\n\t}\n\n\tprivate handleSlotChange() {\n\t\t// If no visible options, show \"empty\"\n\t\tthis.empty.hidden = this.options.some(option => !option.hidden)\n\t\tthis.syncSelectionFromValue()\n\t\tthis.updateInputValue()\n\t}\n\n\tprivate syncSelectionFromValue() {\n\t\tif (this.multi) {\n\t\t\tconst values = this.value\n\t\t\t\t.split(',')\n\t\t\t\t.map(v => v.trim())\n\t\t\t\t.filter(Boolean)\n\t\t\tthis.options.forEach(o => {\n\t\t\t\to.selected = values.includes(o.value)\n\t\t\t})\n\t\t} else {\n\t\t\tthis.options.forEach(o => {\n\t\t\t\to.selected = o.value === this.value\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate updateInputValue() {\n\t\trequestAnimationFrame(() => {\n\t\t\tif (this.multi) {\n\t\t\t\tconst selected = this.options.filter(o => o.selected).map(o => o.label)\n\t\t\t\tthis.input.value = selected.join(', ')\n\t\t\t} else {\n\t\t\t\tconst found = this.options.find(o => o.value === this.value)?.label\n\t\t\t\tthis.input.value = found ?? ''\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * MAIN: Show the dropdown, using Floating UI to size it\n\t * to the available space, and at least as wide as the input.\n\t */\n\tprivate async showOptions() {\n\t\tthis.optionsContainer.removeAttribute('hidden')\n\t\tthis.optionsContainer.style.display = 'block'\n\n\t\tconst { x, y } = await computePosition(this.input, this.optionsContainer, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: [\n\t\t\t\toffset(5),\n\t\t\t\tflip(),\n\t\t\t\tshift({ padding: 5 }),\n\t\t\t\t// NEW: Let the floating element fill available space,\n\t\t\t\t// but be at least as wide as the input.\n\t\t\t\tsize({\n\t\t\t\t\tapply({ availableWidth, availableHeight, elements, rects }) {\n\t\t\t\t\t\t// At least match input width\n\t\t\t\t\t\tconst referenceWidth = rects.reference.width\n\t\t\t\t\t\telements.floating.style.minWidth = `${referenceWidth}px`\n\n\t\t\t\t\t\t// Cap to available viewport space\n\t\t\t\t\t\telements.floating.style.maxWidth = `${availableWidth}px`\n\t\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t],\n\t\t})\n\n\t\tObject.assign(this.optionsContainer.style, {\n\t\t\tleft: `${x}px`,\n\t\t\ttop: `${y}px`,\n\t\t\tposition: 'absolute',\n\t\t\tzIndex: '9999',\n\t\t\toverflowY: 'auto',\n\t\t\t// The middleware is setting max-height, but if you want\n\t\t\t// a fallback you can still do:\n\t\t\t// maxHeight: this.maxHeight,\n\t\t})\n\t}\n\n\tprivate hideOptions() {\n\t\tthis.optionsContainer?.setAttribute('hidden', 'true')\n\t\tif (this.optionsContainer) {\n\t\t\tthis.optionsContainer.style.display = 'none'\n\t\t}\n\t}\n\n\tprivate handleInputChange(event: SchmancyInputInputEvent) {\n\t\tevent.preventDefault()\n\t\tevent.stopPropagation()\n\t\tconst term = event.detail.value\n\t\tthis.searchTerm$.next(term)\n\t}\n\n\t@eventOptions({ passive: true })\n\tprivate handleOptionClick(value: string) {\n\t\tif (this.multi) {\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (option) option.selected = !option.selected\n\t\t\tconst selectedValues = this.options.filter(o => o.selected).map(o => o.value)\n\t\t\tthis.value = selectedValues.join(',')\n\t\t\tthis.updateInputValue()\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent<SchmancyAutocompleteChangeEvent['detail']>('change', {\n\t\t\t\t\tdetail: { value: selectedValues },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t} else {\n\t\t\tthis.hideOptions()\n\t\t\tthis.value = value\n\t\t\tthis.updateInputValue()\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent<SchmancyAutocompleteChangeEvent['detail']>('change', {\n\t\t\t\t\tdetail: { value },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tpublic checkValidity() {\n\t\treturn this.multi ? this.options.some(o => o.selected) : Boolean(this.value)\n\t}\n\n\tpublic reportValidity() {\n\t\treturn this.inputRef.value?.reportValidity()\n\t}\n\n\tprivate handleTouchStart(event: TouchEvent) {\n\t\tthis.startY = event.touches?.[0]?.clientY ?? 0\n\t}\n\n\tprivate preventScroll(event: TouchEvent) {\n\t\tconst target = event.target as HTMLElement\n\t\tif (!this.optionsContainer.contains(target)) return\n\n\t\tconst scrollTop = this.optionsContainer.scrollTop\n\t\tconst scrollHeight = this.optionsContainer.scrollHeight\n\t\tconst offsetHeight = this.optionsContainer.offsetHeight\n\t\tconst contentHeight = scrollHeight - offsetHeight\n\n\t\tconst currentY = event.touches?.[0]?.clientY ?? 0\n\t\tif ((scrollTop <= 0 && currentY > this.startY) || (scrollTop >= contentHeight && currentY < this.startY)) {\n\t\t\tevent.preventDefault()\n\t\t}\n\t}\n\n\trender() {\n\t\tconst isOpen = !this.optionsContainer?.hasAttribute('hidden')\n\n\t\treturn html`\n\t\t\t<div class=\"relative\">\n\t\t\t\t<!-- The trigger slot (if any) overrides the default SchmancyInput -->\n\t\t\t\t<slot name=\"trigger\">\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t${ref(this.inputRef)}\n\t\t\t\t\t\tid=\"input\"\n\t\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tinputmode=\"text\"\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\tclickable\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\taria-controls=\"options\"\n\t\t\t\t\t\taria-expanded=${isOpen}\n\t\t\t\t\t\t@focus=${() => this.showOptions()}\n\t\t\t\t\t\t@input=${this.handleInputChange}\n\t\t\t\t\t>\n\t\t\t\t\t</schmancy-input>\n\t\t\t\t</slot>\n\n\t\t\t\t<ul\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tclass=\"absolute z-30 mt-1 w-full overflow-auto rounded-md shadow-sm\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\thidden\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t// Each <schmancy-option> dispatches CustomEvent('click', { detail: { value } })\n\t\t\t\t\t\tconst detailVal = (e as CustomEvent).detail?.value\n\t\t\t\t\t\tif (detailVal) this.handleOptionClick(detailVal)\n\t\t\t\t\t}}\n\t\t\t\t\t@touchstart=${this.handleTouchStart}\n\t\t\t\t\t@touchmove=${this.preventScroll}\n\t\t\t\t\t${color({ bgColor: SchmancyTheme.sys.color.surface.container })}\n\t\t\t\t>\n\t\t\t\t\t<!-- \"No results\" option -->\n\t\t\t\t\t<li id=\"empty\" tabindex=\"-1\">\n\t\t\t\t\t\t<schmancy-typography type=\"label\">No results found</schmancy-typography>\n\t\t\t\t\t</li>\n\n\t\t\t\t\t<!-- Slot for the <schmancy-option> elements -->\n\t\t\t\t\t<slot @slotchange=${this.handleSlotChange}> </slot>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-autocomplete': SchmancyAutocomplete\n\t}\n}\n"],"names":["peq","Uint32Array","distance","a","b","length","tmp","n","m","lst","pv","mv","sc","i","charCodeAt","eq","xv","mhc","phc","hsize","Math","ceil","vsize","j","start","vlen","min","k","pb","mb","xh","ph","mh","score","SchmancyAutocomplete","$LitElement","super","arguments","this","required","placeholder","value","label","maxHeight","multi","inputRef","createRef","searchTerm$","Subject","startY","connectedCallback","pipe","takeUntil","disconnecting","distinctUntilChanged","tap","term","searchTerm","trim","toLowerCase","matches","options","map","option","optionText","levDistance","filter","sort","forEach","o","hidden","empty","requestUpdate","subscribe","showOptions","fromEvent","e","relatedTarget","tagName","switchMap","animation","optionsContainer","animate","opacity","duration","easing","from","Promise","resolve","onfinish","style","display","next","selected","input","join","find","updateInputValue","changedProps","updated","has","syncSelectionFromValue","handleSlotChange","some","values","split","v","Boolean","includes","requestAnimationFrame","found","removeAttribute","x","y","computePosition","placement","middleware","offset","flip","shift","padding","size","apply","availableWidth","availableHeight","elements","rects","referenceWidth","reference","width","floating","minWidth","maxWidth","Object","assign","left","top","position","zIndex","overflowY","setAttribute","event","preventDefault","stopPropagation","detail","selectedValues","dispatchEvent","CustomEvent","bubbles","composed","hideOptions","reportValidity","touches","clientY","target","contains","scrollTop","contentHeight","scrollHeight","offsetHeight","currentY","render","isOpen","hasAttribute","html","ref","handleInputChange","detailVal","handleOptionClick","handleTouchStart","preventScroll","color","bgColor","SchmancyTheme","sys","surface","container","__decorateClass","property","type","prototype","String","reflect","query","queryAssignedElements","flatten","eventOptions","passive","customElement"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,48 @@
1
+ "use strict";const O=require("@floating-ui/dom"),I=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const H=require("./litElement.mixin-B9kSOE4x.cjs");require("./tailwind.mixin-gE-6eUQA.cjs");const M=require("./ripple-C2BHbhcS.cjs"),P=require("./theme.interface-Xg5Zi46a.cjs"),U=require("lit"),u=require("lit/decorators.js"),D=require("lit/directives/ref.js"),$=require("rxjs/operators"),C=new Uint32Array(65536),z=(t,e)=>{if(t.length<e.length){const i=e;e=t,t=i}return e.length===0?t.length:t.length<=32?((i,o)=>{const n=i.length,l=o.length,r=1<<n-1;let p=-1,f=0,S=n,h=n;for(;h--;)C[i.charCodeAt(h)]|=1<<h;for(h=0;h<l;h++){let g=C[o.charCodeAt(h)];const v=g|f;g|=(g&p)+p^p,f|=~(g|p),p&=g,f&r&&S++,p&r&&S--,f=f<<1|1,p=p<<1|~(v|f),f&=v}for(h=n;h--;)C[i.charCodeAt(h)]=0;return S})(t,e):((i,o)=>{const n=o.length,l=i.length,r=[],p=[],f=Math.ceil(n/32),S=Math.ceil(l/32);for(let s=0;s<f;s++)p[s]=-1,r[s]=0;let h=0;for(;h<S-1;h++){let s=0,m=-1;const x=32*h,w=Math.min(32,l)+x;for(let a=x;a<w;a++)C[i.charCodeAt(a)]|=1<<a;for(let a=0;a<n;a++){const q=C[o.charCodeAt(a)],b=p[a/32|0]>>>a&1,y=r[a/32|0]>>>a&1,Y=q|s,j=((q|y)&m)+m^m|q|y;let A=s|~(j|m),V=m&j;A>>>31^b&&(p[a/32|0]^=1<<a),V>>>31^y&&(r[a/32|0]^=1<<a),A=A<<1|b,V=V<<1|y,m=V|~(Y|A),s=A&Y}for(let a=x;a<w;a++)C[i.charCodeAt(a)]=0}let g=0,v=-1;const k=32*h,T=Math.min(32,l-k)+k;for(let s=k;s<T;s++)C[i.charCodeAt(s)]|=1<<s;let E=l;for(let s=0;s<n;s++){const m=C[o.charCodeAt(s)],x=p[s/32|0]>>>s&1,w=r[s/32|0]>>>s&1,a=m|g,q=((m|w)&v)+v^v|m|w;let b=g|~(q|v),y=v&q;E+=b>>>l-1&1,E-=y>>>l-1&1,b>>>31^x&&(p[s/32|0]^=1<<s),y>>>31^w&&(r[s/32|0]^=1<<s),b=b<<1|x,y=y<<1|w,v=y|~(a|b),g=b&a}for(let s=k;s<T;s++)C[i.charCodeAt(s)]=0;return E})(t,e)};var N=Object.defineProperty,B=Object.getOwnPropertyDescriptor,d=(t,e,i,o)=>{for(var n,l=o>1?void 0:o?B(e,i):e,r=t.length-1;r>=0;r--)(n=t[r])&&(l=(o?n(e,i,l):n(l))||l);return o&&l&&N(e,i,l),l};let c=class extends H.$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}"){constructor(){super(...arguments),this.required=!1,this.placeholder="",this.value="",this.label="",this.maxHeight="25vh",this.multi=!1,this.inputRef=D.createRef(),this.searchTerm$=new I.Subject,this.startY=0}connectedCallback(){super.connectedCallback(),this.searchTerm$.pipe($.takeUntil(this.disconnecting),$.distinctUntilChanged(),$.tap(t=>{const e=t.trim().toLowerCase(),i=this.options.map(o=>{const n=o.label.toLowerCase();return{option:o,levDistance:z(e,n)}}).filter(({option:o,levDistance:n})=>e.length<3||n<=o.label.toLowerCase().length-e.length).sort((o,n)=>o.levDistance-n.levDistance);this.options.forEach(o=>o.hidden=!0);for(const{option:o}of i)o.hidden=!1;this.empty.hidden=i.length>0,this.requestUpdate()})).subscribe(()=>{this.showOptions()}),I.fromEvent(this,"focusout").pipe($.takeUntil(this.disconnecting),$.filter(t=>{var e;return((e=t.relatedTarget)==null?void 0:e.tagName)!=="SCHMANCY-OPTION"}),$.switchMap(()=>{const t=this.optionsContainer.animate([{opacity:1},{opacity:0}],{duration:250,easing:"cubic-bezier(0.5, 0.01, 0.25, 1)"});return I.from(new Promise(e=>{t.onfinish=()=>{this.optionsContainer.style.display="none",this.optionsContainer.style.opacity="1",e()}}))})).subscribe({next:()=>{var t;if(this.multi){const e=this.options.filter(i=>i.selected).map(i=>i.label);this.input.value=e.join(", ")}else this.input.value=((t=this.options.find(e=>e.value===this.value))==null?void 0:t.label)??""}})}firstUpdated(){this.updateInputValue()}updated(t){super.updated(t),t.has("value")&&(this.syncSelectionFromValue(),this.updateInputValue())}handleSlotChange(){this.empty.hidden=this.options.some(t=>!t.hidden),this.syncSelectionFromValue(),this.updateInputValue()}syncSelectionFromValue(){if(this.multi){const t=this.value.split(",").map(e=>e.trim()).filter(Boolean);this.options.forEach(e=>{e.selected=t.includes(e.value)})}else this.options.forEach(t=>{t.selected=t.value===this.value})}updateInputValue(){requestAnimationFrame(()=>{var t;if(this.multi){const e=this.options.filter(i=>i.selected).map(i=>i.label);this.input.value=e.join(", ")}else{const e=(t=this.options.find(i=>i.value===this.value))==null?void 0:t.label;this.input.value=e??""}})}async showOptions(){this.optionsContainer.removeAttribute("hidden"),this.optionsContainer.style.display="block";const{x:t,y:e}=await O.computePosition(this.input,this.optionsContainer,{placement:"bottom-start",middleware:[O.offset(5),O.flip(),O.shift({padding:5}),O.size({apply({availableWidth:i,availableHeight:o,elements:n,rects:l}){const r=l.reference.width;n.floating.style.minWidth=`${r}px`,n.floating.style.maxWidth=`${i}px`,n.floating.style.maxHeight=`${o}px`}})]});Object.assign(this.optionsContainer.style,{left:`${t}px`,top:`${e}px`,position:"absolute",zIndex:"9999",overflowY:"auto"})}hideOptions(){var t;(t=this.optionsContainer)==null||t.setAttribute("hidden","true"),this.optionsContainer&&(this.optionsContainer.style.display="none")}handleInputChange(t){t.preventDefault(),t.stopPropagation();const e=t.detail.value;this.searchTerm$.next(e)}handleOptionClick(t){if(this.multi){const e=this.options.find(o=>o.value===t);e&&(e.selected=!e.selected);const i=this.options.filter(o=>o.selected).map(o=>o.value);this.value=i.join(","),this.updateInputValue(),this.dispatchEvent(new CustomEvent("change",{detail:{value:i},bubbles:!0,composed:!0}))}else this.hideOptions(),this.value=t,this.updateInputValue(),this.dispatchEvent(new CustomEvent("change",{detail:{value:t},bubbles:!0,composed:!0}))}checkValidity(){return this.multi?this.options.some(t=>t.selected):!!this.value}reportValidity(){var t;return(t=this.inputRef.value)==null?void 0:t.reportValidity()}handleTouchStart(t){var e,i;this.startY=((i=(e=t.touches)==null?void 0:e[0])==null?void 0:i.clientY)??0}preventScroll(t){var l,r;const e=t.target;if(!this.optionsContainer.contains(e))return;const i=this.optionsContainer.scrollTop,o=this.optionsContainer.scrollHeight-this.optionsContainer.offsetHeight,n=((r=(l=t.touches)==null?void 0:l[0])==null?void 0:r.clientY)??0;(i<=0&&n>this.startY||i>=o&&n<this.startY)&&t.preventDefault()}render(){var e;const t=!((e=this.optionsContainer)!=null&&e.hasAttribute("hidden"));return U.html`
2
+ <div class="relative">
3
+ <!-- The trigger slot (if any) overrides the default SchmancyInput -->
4
+ <slot name="trigger">
5
+ <schmancy-input
6
+ ${D.ref(this.inputRef)}
7
+ id="input"
8
+ class="w-full"
9
+ .label=${this.label}
10
+ .placeholder=${this.placeholder}
11
+ .required=${this.required}
12
+ type="search"
13
+ inputmode="text"
14
+ autocomplete="off"
15
+ clickable
16
+ role="combobox"
17
+ aria-autocomplete="list"
18
+ aria-haspopup="listbox"
19
+ aria-controls="options"
20
+ aria-expanded=${t}
21
+ @focus=${()=>this.showOptions()}
22
+ @input=${this.handleInputChange}
23
+ >
24
+ </schmancy-input>
25
+ </slot>
26
+
27
+ <ul
28
+ id="options"
29
+ tabindex="-1"
30
+ class="absolute z-30 mt-1 w-full overflow-auto rounded-md shadow-sm"
31
+ role="listbox"
32
+ hidden
33
+ @click=${i=>{var n;const o=(n=i.detail)==null?void 0:n.value;o&&this.handleOptionClick(o)}}
34
+ @touchstart=${this.handleTouchStart}
35
+ @touchmove=${this.preventScroll}
36
+ ${M.color({bgColor:P.SchmancyTheme.sys.color.surface.container})}
37
+ >
38
+ <!-- "No results" option -->
39
+ <li id="empty" tabindex="-1">
40
+ <schmancy-typography type="label">No results found</schmancy-typography>
41
+ </li>
42
+
43
+ <!-- Slot for the <schmancy-option> elements -->
44
+ <slot @slotchange=${this.handleSlotChange}> </slot>
45
+ </ul>
46
+ </div>
47
+ `}};d([u.property({type:Boolean})],c.prototype,"required",2),d([u.property({type:String})],c.prototype,"placeholder",2),d([u.property({type:String,reflect:!0})],c.prototype,"value",2),d([u.property({type:String,reflect:!0})],c.prototype,"label",2),d([u.property({type:String})],c.prototype,"maxHeight",2),d([u.property({type:Boolean})],c.prototype,"multi",2),d([u.query("#options")],c.prototype,"optionsContainer",2),d([u.query("#empty")],c.prototype,"empty",2),d([u.query("schmancy-input")],c.prototype,"input",2),d([u.queryAssignedElements({flatten:!0})],c.prototype,"options",2),d([u.eventOptions({passive:!0})],c.prototype,"handleOptionClick",1),c=d([u.customElement("schmancy-autocomplete")],c);
48
+ //# sourceMappingURL=autocomplete-CFcZcrJm.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-CFcZcrJm.cjs","sources":["../node_modules/fastest-levenshtein/esm/mod.js","../src/autocomplete/autocomplete.ts"],"sourcesContent":["const peq = new Uint32Array(0x10000);\nconst myers_32 = (a, b) => {\n const n = a.length;\n const m = b.length;\n const lst = 1 << (n - 1);\n let pv = -1;\n let mv = 0;\n let sc = n;\n let i = n;\n while (i--) {\n peq[a.charCodeAt(i)] |= 1 << i;\n }\n for (i = 0; i < m; i++) {\n let eq = peq[b.charCodeAt(i)];\n const xv = eq | mv;\n eq |= ((eq & pv) + pv) ^ pv;\n mv |= ~(eq | pv);\n pv &= eq;\n if (mv & lst) {\n sc++;\n }\n if (pv & lst) {\n sc--;\n }\n mv = (mv << 1) | 1;\n pv = (pv << 1) | ~(xv | mv);\n mv &= xv;\n }\n i = n;\n while (i--) {\n peq[a.charCodeAt(i)] = 0;\n }\n return sc;\n};\nconst myers_x = (b, a) => {\n const n = a.length;\n const m = b.length;\n const mhc = [];\n const phc = [];\n const hsize = Math.ceil(n / 32);\n const vsize = Math.ceil(m / 32);\n for (let i = 0; i < hsize; i++) {\n phc[i] = -1;\n mhc[i] = 0;\n }\n let j = 0;\n for (; j < vsize - 1; j++) {\n let mv = 0;\n let pv = -1;\n const start = j * 32;\n const vlen = Math.min(32, m) + start;\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] |= 1 << k;\n }\n for (let i = 0; i < n; i++) {\n const eq = peq[a.charCodeAt(i)];\n const pb = (phc[(i / 32) | 0] >>> i) & 1;\n const mb = (mhc[(i / 32) | 0] >>> i) & 1;\n const xv = eq | mv;\n const xh = ((((eq | mb) & pv) + pv) ^ pv) | eq | mb;\n let ph = mv | ~(xh | pv);\n let mh = pv & xh;\n if ((ph >>> 31) ^ pb) {\n phc[(i / 32) | 0] ^= 1 << i;\n }\n if ((mh >>> 31) ^ mb) {\n mhc[(i / 32) | 0] ^= 1 << i;\n }\n ph = (ph << 1) | pb;\n mh = (mh << 1) | mb;\n pv = mh | ~(xv | ph);\n mv = ph & xv;\n }\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] = 0;\n }\n }\n let mv = 0;\n let pv = -1;\n const start = j * 32;\n const vlen = Math.min(32, m - start) + start;\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] |= 1 << k;\n }\n let score = m;\n for (let i = 0; i < n; i++) {\n const eq = peq[a.charCodeAt(i)];\n const pb = (phc[(i / 32) | 0] >>> i) & 1;\n const mb = (mhc[(i / 32) | 0] >>> i) & 1;\n const xv = eq | mv;\n const xh = ((((eq | mb) & pv) + pv) ^ pv) | eq | mb;\n let ph = mv | ~(xh | pv);\n let mh = pv & xh;\n score += (ph >>> (m - 1)) & 1;\n score -= (mh >>> (m - 1)) & 1;\n if ((ph >>> 31) ^ pb) {\n phc[(i / 32) | 0] ^= 1 << i;\n }\n if ((mh >>> 31) ^ mb) {\n mhc[(i / 32) | 0] ^= 1 << i;\n }\n ph = (ph << 1) | pb;\n mh = (mh << 1) | mb;\n pv = mh | ~(xv | ph);\n mv = ph & xv;\n }\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] = 0;\n }\n return score;\n};\nconst distance = (a, b) => {\n if (a.length < b.length) {\n const tmp = b;\n b = a;\n a = tmp;\n }\n if (b.length === 0) {\n return a.length;\n }\n if (a.length <= 32) {\n return myers_32(a, b);\n }\n return myers_x(a, b);\n};\nconst closest = (str, arr) => {\n let min_distance = Infinity;\n let min_index = 0;\n for (let i = 0; i < arr.length; i++) {\n const dist = distance(str, arr[i]);\n if (dist < min_distance) {\n min_distance = dist;\n min_index = i;\n }\n }\n return arr[min_index];\n};\nexport { closest, distance };\n","import {\n\tcomputePosition,\n\tflip,\n\toffset,\n\tshift,\n\tsize, // <-- NEW\n} from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyInput from '@schmancy/input/input'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { distance } from 'fastest-levenshtein'\nimport { html } from 'lit'\nimport { customElement, eventOptions, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { from, fromEvent, Subject } from 'rxjs'\nimport { distinctUntilChanged, filter, switchMap, takeUntil, tap } from 'rxjs/operators'\nimport style from './autocomplete.scss?inline'\n\nimport type { SchmancyInputInputEvent } from '@schmancy/input/input'\n\nexport type SchmancyAutocompleteChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-autocomplete')\nexport default class SchmancyAutocomplete extends $LitElement(style) {\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = ''\n\t@property({ type: String, reflect: true }) value = ''\n\t@property({ type: String, reflect: true }) label = ''\n\n\t/**\n\t * ⚠️ If you still want an explicit fallback for maximum dropdown height,\n\t * you can keep this, but the `size()` middleware will already set a\n\t * dynamic max-height based on viewport space.\n\t */\n\t@property({ type: String }) maxHeight = '25vh'\n\n\t@property({ type: Boolean }) multi = false\n\n\t/** Direct reference to the <input> inside <schmancy-input>. */\n\tinputRef = createRef<HTMLInputElement>()\n\n\t@query('#options') private optionsContainer!: HTMLUListElement\n\t@query('#empty') private empty!: HTMLLIElement\n\t@query('schmancy-input') private input!: SchmancyInput\n\t@queryAssignedElements({ flatten: true }) private options!: SchmancyOption[]\n\n\tprivate readonly searchTerm$ = new Subject<string>()\n\n\t// iOS scroll-blocking logic\n\tprivate startY = 0\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// 1) Search filtering\n\t\tthis.searchTerm$\n\t\t\t.pipe(\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(term => {\n\t\t\t\t\tconst searchTerm = term.trim().toLowerCase()\n\n\t\t\t\t\t// Filter options using Levenshtein distance\n\t\t\t\t\tconst matches = this.options\n\t\t\t\t\t\t.map(option => {\n\t\t\t\t\t\t\tconst optionText = option.label.toLowerCase()\n\t\t\t\t\t\t\tconst levDistance = distance(searchTerm, optionText)\n\t\t\t\t\t\t\treturn { option, levDistance }\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.filter(({ option, levDistance }) => {\n\t\t\t\t\t\t\t// If very short searchTerm, be lenient\n\t\t\t\t\t\t\tif (searchTerm.length < 3) return true\n\t\t\t\t\t\t\t// Otherwise, filter by distance\n\t\t\t\t\t\t\treturn levDistance <= option.label.toLowerCase().length - searchTerm.length\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.sort((a, b) => a.levDistance - b.levDistance)\n\n\t\t\t\t\t// Show/hide\n\t\t\t\t\tthis.options.forEach(o => (o.hidden = true))\n\t\t\t\t\tfor (const { option } of matches) {\n\t\t\t\t\t\toption.hidden = false\n\t\t\t\t\t}\n\n\t\t\t\t\t// \"No results found\"\n\t\t\t\t\tthis.empty.hidden = matches.length > 0\n\n\t\t\t\t\tthis.requestUpdate()\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\t// Show dropdown on each new term\n\t\t\t\tthis.showOptions()\n\t\t\t})\n\n\t\t// 2) Focus out animation\n\t\tfromEvent<FocusEvent>(this, 'focusout')\n\t\t\t.pipe(\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tfilter(e => (e.relatedTarget as SchmancyOption)?.tagName !== 'SCHMANCY-OPTION'),\n\t\t\t\tswitchMap(() => {\n\t\t\t\t\tconst animation = this.optionsContainer.animate([{ opacity: 1 }, { opacity: 0 }], {\n\t\t\t\t\t\tduration: 250,\n\t\t\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t\t\t})\n\n\t\t\t\t\treturn from(\n\t\t\t\t\t\tnew Promise<void>(resolve => {\n\t\t\t\t\t\t\tanimation.onfinish = () => {\n\t\t\t\t\t\t\t\tthis.optionsContainer.style.display = 'none'\n\t\t\t\t\t\t\t\tthis.optionsContainer.style.opacity = '1'\n\t\t\t\t\t\t\t\tresolve()\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\t.subscribe({\n\t\t\t\tnext: () => {\n\t\t\t\t\t// Resync the input after closing\n\t\t\t\t\tif (this.multi) {\n\t\t\t\t\t\tconst selected = this.options.filter(o => o.selected).map(o => o.label)\n\t\t\t\t\t\tthis.input.value = selected.join(', ')\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.input.value = this.options.find(o => o.value === this.value)?.label ?? ''\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\tfirstUpdated() {\n\t\tthis.updateInputValue()\n\t}\n\n\tprotected updated(changedProps: Map<string | number | symbol, unknown>) {\n\t\tsuper.updated(changedProps)\n\t\tif (changedProps.has('value')) {\n\t\t\tthis.syncSelectionFromValue()\n\t\t\tthis.updateInputValue()\n\t\t}\n\t}\n\n\tprivate handleSlotChange() {\n\t\t// If no visible options, show \"empty\"\n\t\tthis.empty.hidden = this.options.some(option => !option.hidden)\n\t\tthis.syncSelectionFromValue()\n\t\tthis.updateInputValue()\n\t}\n\n\tprivate syncSelectionFromValue() {\n\t\tif (this.multi) {\n\t\t\tconst values = this.value\n\t\t\t\t.split(',')\n\t\t\t\t.map(v => v.trim())\n\t\t\t\t.filter(Boolean)\n\t\t\tthis.options.forEach(o => {\n\t\t\t\to.selected = values.includes(o.value)\n\t\t\t})\n\t\t} else {\n\t\t\tthis.options.forEach(o => {\n\t\t\t\to.selected = o.value === this.value\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate updateInputValue() {\n\t\trequestAnimationFrame(() => {\n\t\t\tif (this.multi) {\n\t\t\t\tconst selected = this.options.filter(o => o.selected).map(o => o.label)\n\t\t\t\tthis.input.value = selected.join(', ')\n\t\t\t} else {\n\t\t\t\tconst found = this.options.find(o => o.value === this.value)?.label\n\t\t\t\tthis.input.value = found ?? ''\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * MAIN: Show the dropdown, using Floating UI to size it\n\t * to the available space, and at least as wide as the input.\n\t */\n\tprivate async showOptions() {\n\t\tthis.optionsContainer.removeAttribute('hidden')\n\t\tthis.optionsContainer.style.display = 'block'\n\n\t\tconst { x, y } = await computePosition(this.input, this.optionsContainer, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: [\n\t\t\t\toffset(5),\n\t\t\t\tflip(),\n\t\t\t\tshift({ padding: 5 }),\n\t\t\t\t// NEW: Let the floating element fill available space,\n\t\t\t\t// but be at least as wide as the input.\n\t\t\t\tsize({\n\t\t\t\t\tapply({ availableWidth, availableHeight, elements, rects }) {\n\t\t\t\t\t\t// At least match input width\n\t\t\t\t\t\tconst referenceWidth = rects.reference.width\n\t\t\t\t\t\telements.floating.style.minWidth = `${referenceWidth}px`\n\n\t\t\t\t\t\t// Cap to available viewport space\n\t\t\t\t\t\telements.floating.style.maxWidth = `${availableWidth}px`\n\t\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t],\n\t\t})\n\n\t\tObject.assign(this.optionsContainer.style, {\n\t\t\tleft: `${x}px`,\n\t\t\ttop: `${y}px`,\n\t\t\tposition: 'absolute',\n\t\t\tzIndex: '9999',\n\t\t\toverflowY: 'auto',\n\t\t\t// The middleware is setting max-height, but if you want\n\t\t\t// a fallback you can still do:\n\t\t\t// maxHeight: this.maxHeight,\n\t\t})\n\t}\n\n\tprivate hideOptions() {\n\t\tthis.optionsContainer?.setAttribute('hidden', 'true')\n\t\tif (this.optionsContainer) {\n\t\t\tthis.optionsContainer.style.display = 'none'\n\t\t}\n\t}\n\n\tprivate handleInputChange(event: SchmancyInputInputEvent) {\n\t\tevent.preventDefault()\n\t\tevent.stopPropagation()\n\t\tconst term = event.detail.value\n\t\tthis.searchTerm$.next(term)\n\t}\n\n\t@eventOptions({ passive: true })\n\tprivate handleOptionClick(value: string) {\n\t\tif (this.multi) {\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (option) option.selected = !option.selected\n\t\t\tconst selectedValues = this.options.filter(o => o.selected).map(o => o.value)\n\t\t\tthis.value = selectedValues.join(',')\n\t\t\tthis.updateInputValue()\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent<SchmancyAutocompleteChangeEvent['detail']>('change', {\n\t\t\t\t\tdetail: { value: selectedValues },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t} else {\n\t\t\tthis.hideOptions()\n\t\t\tthis.value = value\n\t\t\tthis.updateInputValue()\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent<SchmancyAutocompleteChangeEvent['detail']>('change', {\n\t\t\t\t\tdetail: { value },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tpublic checkValidity() {\n\t\treturn this.multi ? this.options.some(o => o.selected) : Boolean(this.value)\n\t}\n\n\tpublic reportValidity() {\n\t\treturn this.inputRef.value?.reportValidity()\n\t}\n\n\tprivate handleTouchStart(event: TouchEvent) {\n\t\tthis.startY = event.touches?.[0]?.clientY ?? 0\n\t}\n\n\tprivate preventScroll(event: TouchEvent) {\n\t\tconst target = event.target as HTMLElement\n\t\tif (!this.optionsContainer.contains(target)) return\n\n\t\tconst scrollTop = this.optionsContainer.scrollTop\n\t\tconst scrollHeight = this.optionsContainer.scrollHeight\n\t\tconst offsetHeight = this.optionsContainer.offsetHeight\n\t\tconst contentHeight = scrollHeight - offsetHeight\n\n\t\tconst currentY = event.touches?.[0]?.clientY ?? 0\n\t\tif ((scrollTop <= 0 && currentY > this.startY) || (scrollTop >= contentHeight && currentY < this.startY)) {\n\t\t\tevent.preventDefault()\n\t\t}\n\t}\n\n\trender() {\n\t\tconst isOpen = !this.optionsContainer?.hasAttribute('hidden')\n\n\t\treturn html`\n\t\t\t<div class=\"relative\">\n\t\t\t\t<!-- The trigger slot (if any) overrides the default SchmancyInput -->\n\t\t\t\t<slot name=\"trigger\">\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t${ref(this.inputRef)}\n\t\t\t\t\t\tid=\"input\"\n\t\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tinputmode=\"text\"\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\tclickable\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\taria-controls=\"options\"\n\t\t\t\t\t\taria-expanded=${isOpen}\n\t\t\t\t\t\t@focus=${() => this.showOptions()}\n\t\t\t\t\t\t@input=${this.handleInputChange}\n\t\t\t\t\t>\n\t\t\t\t\t</schmancy-input>\n\t\t\t\t</slot>\n\n\t\t\t\t<ul\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tclass=\"absolute z-30 mt-1 w-full overflow-auto rounded-md shadow-sm\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\thidden\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t// Each <schmancy-option> dispatches CustomEvent('click', { detail: { value } })\n\t\t\t\t\t\tconst detailVal = (e as CustomEvent).detail?.value\n\t\t\t\t\t\tif (detailVal) this.handleOptionClick(detailVal)\n\t\t\t\t\t}}\n\t\t\t\t\t@touchstart=${this.handleTouchStart}\n\t\t\t\t\t@touchmove=${this.preventScroll}\n\t\t\t\t\t${color({ bgColor: SchmancyTheme.sys.color.surface.container })}\n\t\t\t\t>\n\t\t\t\t\t<!-- \"No results\" option -->\n\t\t\t\t\t<li id=\"empty\" tabindex=\"-1\">\n\t\t\t\t\t\t<schmancy-typography type=\"label\">No results found</schmancy-typography>\n\t\t\t\t\t</li>\n\n\t\t\t\t\t<!-- Slot for the <schmancy-option> elements -->\n\t\t\t\t\t<slot @slotchange=${this.handleSlotChange}> </slot>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-autocomplete': SchmancyAutocomplete\n\t}\n}\n"],"names":["peq","Uint32Array","distance","a","b","length","tmp","n","m","lst","pv","mv","sc","i","charCodeAt","eq","xv","mhc","phc","hsize","Math","ceil","vsize","j","start","vlen","min","k","pb","mb","xh","ph","mh","score","SchmancyAutocomplete","$LitElement","constructor","super","arguments","this","required","placeholder","value","label","maxHeight","multi","inputRef","createRef","searchTerm$","Subject","startY","connectedCallback","pipe","takeUntil","disconnecting","distinctUntilChanged","tap","term","searchTerm","trim","toLowerCase","matches","options","map","option","optionText","levDistance","filter","sort","forEach","o","hidden","empty","requestUpdate","subscribe","showOptions","fromEvent","e","relatedTarget","tagName","switchMap","animation","optionsContainer","animate","opacity","duration","easing","from","Promise","resolve","onfinish","style","display","next","selected","input","join","find","firstUpdated","updateInputValue","changedProps","updated","has","syncSelectionFromValue","some","values","split","v","Boolean","includes","requestAnimationFrame","found","removeAttribute","x","y","computePosition","placement","middleware","offset","flip","shift","padding","size","availableWidth","availableHeight","elements","rects","referenceWidth","reference","width","floating","minWidth","maxWidth","Object","assign","left","top","position","zIndex","overflowY","hideOptions","setAttribute","event","preventDefault","stopPropagation","detail","selectedValues","dispatchEvent","CustomEvent","bubbles","composed","reportValidity","touches","clientY","target","contains","scrollTop","contentHeight","scrollHeight","offsetHeight","currentY","render","isOpen","hasAttribute","html","ref","handleInputChange","detailVal","handleOptionClick","handleTouchStart","preventScroll","color","bgColor","SchmancyTheme","sys","surface","container","handleSlotChange","__decorateClass","property","type","prototype","String","reflect","query","queryAssignedElements","flatten","eventOptions","passive","customElement"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";require("./autocomplete-CtUz_AlC.cjs");
1
+ "use strict";require("./autocomplete-CFcZcrJm.cjs");
2
2
  //# sourceMappingURL=autocomplete.cjs.map
@@ -1,2 +1,2 @@
1
- import "./autocomplete-8-xYgb2e.js";
1
+ import "./autocomplete-C36FPrMT.js";
2
2
  //# sourceMappingURL=autocomplete.js.map
package/dist/busy.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./spinner-Calk9CE7.cjs");
1
+ "use strict";require("./spinner-B1iL6lg7.cjs");
2
2
  //# sourceMappingURL=busy.cjs.map
package/dist/busy.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./spinner-CA6KEbfu.js";
1
+ import "./spinner-Dp-BlzFE.js";
2
2
  //# sourceMappingURL=busy.js.map
package/dist/button.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./icon-button-Dh6iR7gO.cjs");Object.defineProperty(exports,"SchmnacyButton",{enumerable:!0,get:()=>e.SchmnacyButton}),Object.defineProperty(exports,"SchmnacyIconButton",{enumerable:!0,get:()=>e.SchmnacyIconButton});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./icon-button-B1Hzc1qy.cjs");Object.defineProperty(exports,"SchmnacyButton",{enumerable:!0,get:()=>e.SchmnacyButton}),Object.defineProperty(exports,"SchmnacyIconButton",{enumerable:!0,get:()=>e.SchmnacyIconButton});
2
2
  //# sourceMappingURL=button.cjs.map
package/dist/button.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as n, a as o } from "./icon-button-CEGE-KQJ.js";
1
+ import { S as n, a as o } from "./icon-button-BFdAiGNP.js";
2
2
  export {
3
3
  n as SchmnacyButton,
4
4
  o as SchmnacyIconButton
package/dist/card.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./teleport.component-D5v1j4mw.cjs");
1
+ "use strict";require("./teleport.component-I1DFKmWM.cjs");
2
2
  //# sourceMappingURL=card.cjs.map
package/dist/card.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./teleport.component-Dose4RDi.js";
1
+ import "./teleport.component-DldJv9J6.js";
2
2
  //# sourceMappingURL=card.js.map
@@ -1,4 +1,4 @@
1
- "use strict";const c=require("./redispatch-event-yBlefmeU.cjs"),s=require("lit/decorators.js"),d=require("lit"),V=require("lit/directives/class-map.js");require("rxjs"),require("lit/directives/style-map.js");const M=require("./tailwind.mixin-DYx3IacW.cjs");function E(i){return i.currentTarget===i.target&&i.composedPath()[0]===i.target&&!i.target.disabled&&!function(e){const t=y;return t&&(e.preventDefault(),e.stopImmediatePropagation()),async function(){y=!0,await null,y=!1}(),t}(i)}let y=!1;const h=Symbol("internals"),k=Symbol("privateInternals"),f=Symbol("createValidator"),w=Symbol("getValidityAnchor"),g=Symbol("privateValidator"),p=Symbol("privateSyncValidity"),m=Symbol("privateCustomValidationMessage"),b=Symbol("getFormValue"),C=Symbol("getFormState");class z{constructor(e){this.getCurrentState=e,this.currentValidity={validity:{},validationMessage:""}}getValidity(){const e=this.getCurrentState();if(!(!this.prevState||!this.equals(this.prevState,e)))return this.currentValidity;const{validity:t,validationMessage:r}=this.computeValidity(e);return this.prevState=this.copy(e),this.currentValidity={validationMessage:r,validity:{badInput:t.badInput,customError:t.customError,patternMismatch:t.patternMismatch,rangeOverflow:t.rangeOverflow,rangeUnderflow:t.rangeUnderflow,stepMismatch:t.stepMismatch,tooLong:t.tooLong,tooShort:t.tooShort,typeMismatch:t.typeMismatch,valueMissing:t.valueMissing}},this.currentValidity}}class I extends z{computeValidity(e){return this.checkboxControl||(this.checkboxControl=document.createElement("input"),this.checkboxControl.type="checkbox"),this.checkboxControl.checked=e.checked,this.checkboxControl.required=e.required,{validity:this.checkboxControl.validity,validationMessage:this.checkboxControl.validationMessage}}equals(e,t){return e.checked===t.checked&&e.required===t.required}copy({checked:e,required:t}){return{checked:e,required:t}}}const $=c.mixinDelegatesAria(function(i){var e;class t extends i{constructor(){super(...arguments),this[e]=""}get validity(){return this[p](),this[h].validity}get validationMessage(){return this[p](),this[h].validationMessage}get willValidate(){return this[p](),this[h].willValidate}checkValidity(){return this[p](),this[h].checkValidity()}reportValidity(){return this[p](),this[h].reportValidity()}setCustomValidity(o){this[m]=o,this[p]()}requestUpdate(o,a,n){super.requestUpdate(o,a,n),this[p]()}firstUpdated(o){super.firstUpdated(o),this[p]()}[(e=m,p)](){if(d.isServer)return;this[g]||(this[g]=this[f]());const{validity:o,validationMessage:a}=this[g].getValidity(),n=!!this[m],v=this[m]||a;this[h].setValidity({...o,customError:n},v,this[w]()??void 0)}[f](){throw new Error("Implement [createValidator]")}[w](){throw new Error("Implement [getValidityAnchor]")}}return t}(function(i){class e extends i{get form(){return this[h].form}get labels(){return this[h].labels}get name(){return this.getAttribute("name")??""}set name(r){this.setAttribute("name",r)}get disabled(){return this.hasAttribute("disabled")}set disabled(r){this.toggleAttribute("disabled",r)}attributeChangedCallback(r,o,a){if(r!=="name"&&r!=="disabled")super.attributeChangedCallback(r,o,a);else{const n=r==="disabled"?o!==null:o;this.requestUpdate(r,n)}}requestUpdate(r,o,a){super.requestUpdate(r,o,a),this[h].setFormValue(this[b](),this[C]())}[b](){throw new Error("Implement [getFormValue]")}[C](){return this[b]()}formDisabledCallback(r){this.disabled=r}}return e.formAssociated=!0,c.t([s.property({noAccessor:!0})],e.prototype,"name",null),c.t([s.property({type:Boolean,noAccessor:!0})],e.prototype,"disabled",null),e}((S=d.LitElement,class extends S{get[h](){return this[k]||(this[k]=this.attachInternals()),this[k]}}))));var S;class l extends ${constructor(){super(),this.checked=!1,this.indeterminate=!1,this.required=!1,this.value="on",this.prevChecked=!1,this.prevDisabled=!1,this.prevIndeterminate=!1,d.isServer||this.addEventListener("click",e=>{E(e)&&this.input&&(this.focus(),function(t){const r=new MouseEvent("click",{bubbles:!0});t.dispatchEvent(r)}(this.input))})}update(e){(e.has("checked")||e.has("disabled")||e.has("indeterminate"))&&(this.prevChecked=e.get("checked")??this.checked,this.prevDisabled=e.get("disabled")??this.disabled,this.prevIndeterminate=e.get("indeterminate")??this.indeterminate),super.update(e)}render(){const e=!this.prevChecked&&!this.prevIndeterminate,t=this.prevChecked&&!this.prevIndeterminate,r=this.prevIndeterminate,o=this.checked&&!this.indeterminate,a=this.indeterminate,n=V.classMap({disabled:this.disabled,selected:o||a,unselected:!o&&!a,checked:o,indeterminate:a,"prev-unselected":e,"prev-checked":t,"prev-indeterminate":r,"prev-disabled":this.prevDisabled}),{ariaLabel:v,ariaInvalid:q}=this;return d.html`
1
+ "use strict";const c=require("./redispatch-event-yBlefmeU.cjs"),s=require("lit/decorators.js"),d=require("lit"),V=require("lit/directives/class-map.js");require("rxjs"),require("lit/directives/style-map.js");const M=require("./tailwind.mixin-gE-6eUQA.cjs");function E(i){return i.currentTarget===i.target&&i.composedPath()[0]===i.target&&!i.target.disabled&&!function(e){const t=y;return t&&(e.preventDefault(),e.stopImmediatePropagation()),async function(){y=!0,await null,y=!1}(),t}(i)}let y=!1;const h=Symbol("internals"),k=Symbol("privateInternals"),f=Symbol("createValidator"),w=Symbol("getValidityAnchor"),g=Symbol("privateValidator"),p=Symbol("privateSyncValidity"),m=Symbol("privateCustomValidationMessage"),b=Symbol("getFormValue"),C=Symbol("getFormState");class z{constructor(e){this.getCurrentState=e,this.currentValidity={validity:{},validationMessage:""}}getValidity(){const e=this.getCurrentState();if(!(!this.prevState||!this.equals(this.prevState,e)))return this.currentValidity;const{validity:t,validationMessage:r}=this.computeValidity(e);return this.prevState=this.copy(e),this.currentValidity={validationMessage:r,validity:{badInput:t.badInput,customError:t.customError,patternMismatch:t.patternMismatch,rangeOverflow:t.rangeOverflow,rangeUnderflow:t.rangeUnderflow,stepMismatch:t.stepMismatch,tooLong:t.tooLong,tooShort:t.tooShort,typeMismatch:t.typeMismatch,valueMissing:t.valueMissing}},this.currentValidity}}class I extends z{computeValidity(e){return this.checkboxControl||(this.checkboxControl=document.createElement("input"),this.checkboxControl.type="checkbox"),this.checkboxControl.checked=e.checked,this.checkboxControl.required=e.required,{validity:this.checkboxControl.validity,validationMessage:this.checkboxControl.validationMessage}}equals(e,t){return e.checked===t.checked&&e.required===t.required}copy({checked:e,required:t}){return{checked:e,required:t}}}const $=c.mixinDelegatesAria(function(i){var e;class t extends i{constructor(){super(...arguments),this[e]=""}get validity(){return this[p](),this[h].validity}get validationMessage(){return this[p](),this[h].validationMessage}get willValidate(){return this[p](),this[h].willValidate}checkValidity(){return this[p](),this[h].checkValidity()}reportValidity(){return this[p](),this[h].reportValidity()}setCustomValidity(o){this[m]=o,this[p]()}requestUpdate(o,a,n){super.requestUpdate(o,a,n),this[p]()}firstUpdated(o){super.firstUpdated(o),this[p]()}[(e=m,p)](){if(d.isServer)return;this[g]||(this[g]=this[f]());const{validity:o,validationMessage:a}=this[g].getValidity(),n=!!this[m],v=this[m]||a;this[h].setValidity({...o,customError:n},v,this[w]()??void 0)}[f](){throw new Error("Implement [createValidator]")}[w](){throw new Error("Implement [getValidityAnchor]")}}return t}(function(i){class e extends i{get form(){return this[h].form}get labels(){return this[h].labels}get name(){return this.getAttribute("name")??""}set name(r){this.setAttribute("name",r)}get disabled(){return this.hasAttribute("disabled")}set disabled(r){this.toggleAttribute("disabled",r)}attributeChangedCallback(r,o,a){if(r!=="name"&&r!=="disabled")super.attributeChangedCallback(r,o,a);else{const n=r==="disabled"?o!==null:o;this.requestUpdate(r,n)}}requestUpdate(r,o,a){super.requestUpdate(r,o,a),this[h].setFormValue(this[b](),this[C]())}[b](){throw new Error("Implement [getFormValue]")}[C](){return this[b]()}formDisabledCallback(r){this.disabled=r}}return e.formAssociated=!0,c.t([s.property({noAccessor:!0})],e.prototype,"name",null),c.t([s.property({type:Boolean,noAccessor:!0})],e.prototype,"disabled",null),e}((S=d.LitElement,class extends S{get[h](){return this[k]||(this[k]=this.attachInternals()),this[k]}}))));var S;class l extends ${constructor(){super(),this.checked=!1,this.indeterminate=!1,this.required=!1,this.value="on",this.prevChecked=!1,this.prevDisabled=!1,this.prevIndeterminate=!1,d.isServer||this.addEventListener("click",e=>{E(e)&&this.input&&(this.focus(),function(t){const r=new MouseEvent("click",{bubbles:!0});t.dispatchEvent(r)}(this.input))})}update(e){(e.has("checked")||e.has("disabled")||e.has("indeterminate"))&&(this.prevChecked=e.get("checked")??this.checked,this.prevDisabled=e.get("disabled")??this.disabled,this.prevIndeterminate=e.get("indeterminate")??this.indeterminate),super.update(e)}render(){const e=!this.prevChecked&&!this.prevIndeterminate,t=this.prevChecked&&!this.prevIndeterminate,r=this.prevIndeterminate,o=this.checked&&!this.indeterminate,a=this.indeterminate,n=V.classMap({disabled:this.disabled,selected:o||a,unselected:!o&&!a,checked:o,indeterminate:a,"prev-unselected":e,"prev-checked":t,"prev-indeterminate":r,"prev-disabled":this.prevDisabled}),{ariaLabel:v,ariaInvalid:q}=this;return d.html`
2
2
  <div class="container ${n}">
3
3
  <input
4
4
  type="checkbox"
@@ -35,4 +35,4 @@
35
35
  <slot></slot>
36
36
  </label>
37
37
  `}},exports.SchmancyCheckbox.shadowRootOptions={...d.LitElement.shadowRootOptions,delegatesFocus:!0},exports.SchmancyCheckbox.formAssociated=!0,u([s.property({type:Boolean,reflect:!0})],exports.SchmancyCheckbox.prototype,"value",2),u([s.property({type:Boolean})],exports.SchmancyCheckbox.prototype,"disabled",2),u([s.property({type:Boolean})],exports.SchmancyCheckbox.prototype,"required",2),u([s.property({type:String})],exports.SchmancyCheckbox.prototype,"name",2),u([s.property({type:String})],exports.SchmancyCheckbox.prototype,"id",2),u([s.property({type:String})],exports.SchmancyCheckbox.prototype,"size",2),exports.SchmancyCheckbox=u([s.customElement("schmancy-checkbox")],exports.SchmancyCheckbox);
38
- //# sourceMappingURL=checkbox-D9vaaSjw.cjs.map
38
+ //# sourceMappingURL=checkbox-Drf8MwrJ.cjs.map