@mhmo91/schmancy 0.2.9 → 0.2.10

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 (231) hide show
  1. package/dist/{animated-text-vp4fwxY2.cjs → animated-text-B7ot87Yb.cjs} +2 -2
  2. package/dist/{animated-text-vp4fwxY2.cjs.map → animated-text-B7ot87Yb.cjs.map} +1 -1
  3. package/dist/{animated-text-0Ai_OLHl.js → animated-text-BR3J5YzM.js} +3 -3
  4. package/dist/{animated-text-0Ai_OLHl.js.map → animated-text-BR3J5YzM.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-JScs76M1.js → area.component-BlcOhWYn.js} +3 -3
  9. package/dist/{area.component-JScs76M1.js.map → area.component-BlcOhWYn.js.map} +1 -1
  10. package/dist/{area.component-4wkXNax5.cjs → area.component-Dvbv9xus.cjs} +2 -2
  11. package/dist/{area.component-4wkXNax5.cjs.map → area.component-Dvbv9xus.cjs.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/autocomplete-GCjmIPKP.cjs +43 -0
  14. package/dist/autocomplete-GCjmIPKP.cjs.map +1 -0
  15. package/dist/autocomplete-vfdJnjAx.js +212 -0
  16. package/dist/autocomplete-vfdJnjAx.js.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-Bxp5uWqA.cjs → checkbox-B6wuWHQT.cjs} +2 -2
  26. package/dist/{checkbox-Bxp5uWqA.cjs.map → checkbox-B6wuWHQT.cjs.map} +1 -1
  27. package/dist/{checkbox-colFZOar.js → checkbox-BrVJwQYt.js} +2 -2
  28. package/dist/{checkbox-colFZOar.js.map → checkbox-BrVJwQYt.js.map} +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-7sYLmlxn.js → chips-CCNEOlx2.js} +3 -3
  32. package/dist/{chips-7sYLmlxn.js.map → chips-CCNEOlx2.js.map} +1 -1
  33. package/dist/{chips-BVQttHUJ.cjs → chips-DW4wk4ns.cjs} +2 -2
  34. package/dist/{chips-BVQttHUJ.cjs.map → chips-DW4wk4ns.cjs.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-BLusWPVn.js → date-range-BqsNgxis.js} +3 -3
  42. package/dist/{date-range-BLusWPVn.js.map → date-range-BqsNgxis.js.map} +1 -1
  43. package/dist/{date-range-_7Vry7wT.cjs → date-range-s4nUUXP-.cjs} +2 -2
  44. package/dist/{date-range-_7Vry7wT.cjs.map → date-range-s4nUUXP-.cjs.map} +1 -1
  45. package/dist/date-range.cjs +1 -1
  46. package/dist/date-range.js +1 -1
  47. package/dist/{delay-B8fYtrMp.js → delay-DrTqFWuI.js} +2 -2
  48. package/dist/{delay-B8fYtrMp.js.map → delay-DrTqFWuI.js.map} +1 -1
  49. package/dist/{delay-ikznAH-1.cjs → delay-ZjnwZygz.cjs} +2 -2
  50. package/dist/{delay-ikznAH-1.cjs.map → delay-ZjnwZygz.cjs.map} +1 -1
  51. package/dist/delay.cjs +1 -1
  52. package/dist/delay.js +1 -1
  53. package/dist/{divider-DJ9Gx64O.cjs → divider-C-olgct1.cjs} +2 -2
  54. package/dist/{divider-DJ9Gx64O.cjs.map → divider-C-olgct1.cjs.map} +1 -1
  55. package/dist/{divider-DLOwEvrd.js → divider-DE_qGu0Z.js} +3 -3
  56. package/dist/{divider-DLOwEvrd.js.map → divider-DE_qGu0Z.js.map} +1 -1
  57. package/dist/divider.cjs +1 -1
  58. package/dist/divider.js +1 -1
  59. package/dist/{form-OYWlsQ4R.cjs → form-BftBHIa9.cjs} +2 -2
  60. package/dist/{form-OYWlsQ4R.cjs.map → form-BftBHIa9.cjs.map} +1 -1
  61. package/dist/{form-qBkXHUCV.js → form-CiopR1cw.js} +2 -2
  62. package/dist/{form-qBkXHUCV.js.map → form-CiopR1cw.js.map} +1 -1
  63. package/dist/form.cjs +1 -1
  64. package/dist/form.js +1 -1
  65. package/dist/{icon-DDILI2Kw.cjs → icon-C3VNzTd2.cjs} +2 -2
  66. package/dist/{icon-DDILI2Kw.cjs.map → icon-C3VNzTd2.cjs.map} +1 -1
  67. package/dist/{icon-button-CP_pX4yw.cjs → icon-button-CEcYwu6h.cjs} +11 -11
  68. package/dist/icon-button-CEcYwu6h.cjs.map +1 -0
  69. package/dist/{icon-button-tvckJDEE.js → icon-button-cThH-HDx.js} +9 -9
  70. package/dist/icon-button-cThH-HDx.js.map +1 -0
  71. package/dist/{icon-BUV18-Pm.js → icon-uV29Oo_I.js} +3 -3
  72. package/dist/{icon-BUV18-Pm.js.map → icon-uV29Oo_I.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 +32 -32
  77. package/dist/input-BNWPVs3H.js +124 -0
  78. package/dist/input-BNWPVs3H.js.map +1 -0
  79. package/dist/input-shCt07iX.cjs +43 -0
  80. package/dist/input-shCt07iX.cjs.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.cjs +1 -1
  86. package/dist/list.js +1 -1
  87. package/dist/{litElement.mixin-Bczhguqz.js → litElement.mixin-Bn8Rl6md.js} +2 -2
  88. package/dist/{litElement.mixin-Bczhguqz.js.map → litElement.mixin-Bn8Rl6md.js.map} +1 -1
  89. package/dist/{litElement.mixin-dZ5gFldT.cjs → litElement.mixin-CqG5Vzn4.cjs} +2 -2
  90. package/dist/{litElement.mixin-dZ5gFldT.cjs.map → litElement.mixin-CqG5Vzn4.cjs.map} +1 -1
  91. package/dist/{menu-CHUomCth.cjs → menu-BsjLQTfd.cjs} +2 -2
  92. package/dist/{menu-CHUomCth.cjs.map → menu-BsjLQTfd.cjs.map} +1 -1
  93. package/dist/{menu-C20Ngz8k.js → menu-CK0Aunqg.js} +3 -3
  94. package/dist/{menu-C20Ngz8k.js.map → menu-CK0Aunqg.js.map} +1 -1
  95. package/dist/menu.cjs +1 -1
  96. package/dist/menu.js +1 -1
  97. package/dist/nav-drawer.cjs +1 -1
  98. package/dist/nav-drawer.js +1 -1
  99. package/dist/notification.cjs +1 -1
  100. package/dist/notification.js +1 -1
  101. package/dist/{option-DqO86_nY.js → option-C3ovVy8Q.js} +2 -2
  102. package/dist/{option-DqO86_nY.js.map → option-C3ovVy8Q.js.map} +1 -1
  103. package/dist/{option-PVtp_mrs.cjs → option-CEN9FFeV.cjs} +2 -2
  104. package/dist/{option-PVtp_mrs.cjs.map → option-CEN9FFeV.cjs.map} +1 -1
  105. package/dist/option.cjs +1 -1
  106. package/dist/option.js +1 -1
  107. package/dist/{outlet-BzsckqZ8.cjs → outlet-BMkGxj9Y.cjs} +2 -2
  108. package/dist/{outlet-BzsckqZ8.cjs.map → outlet-BMkGxj9Y.cjs.map} +1 -1
  109. package/dist/{outlet-DcBtaiCX.js → outlet-CbHO2KGb.js} +2 -2
  110. package/dist/{outlet-DcBtaiCX.js.map → outlet-CbHO2KGb.js.map} +1 -1
  111. package/dist/{payment-card-form-Bbj5Ie3_.js → payment-card-form-CSjKMW71.js} +3 -3
  112. package/dist/{payment-card-form-Bbj5Ie3_.js.map → payment-card-form-CSjKMW71.js.map} +1 -1
  113. package/dist/{payment-card-form-DdrmXQgW.cjs → payment-card-form-ClNJIflz.cjs} +2 -2
  114. package/dist/{payment-card-form-DdrmXQgW.cjs.map → payment-card-form-ClNJIflz.cjs.map} +1 -1
  115. package/dist/{radio-group-BdFNVPBX.js → radio-group-BaAICOCk.js} +2 -2
  116. package/dist/{radio-group-BdFNVPBX.js.map → radio-group-BaAICOCk.js.map} +1 -1
  117. package/dist/{radio-group-IYmnpHoM.cjs → radio-group-Dq8G5fBE.cjs} +2 -2
  118. package/dist/{radio-group-IYmnpHoM.cjs.map → radio-group-Dq8G5fBE.cjs.map} +1 -1
  119. package/dist/radio-group.cjs +1 -1
  120. package/dist/radio-group.js +1 -1
  121. package/dist/{scroll-qTSe885X.js → scroll-BJ_3vZ-c.js} +2 -2
  122. package/dist/{scroll-qTSe885X.js.map → scroll-BJ_3vZ-c.js.map} +1 -1
  123. package/dist/{scroll-O39qwEAR.cjs → scroll-CUpYxnFS.cjs} +2 -2
  124. package/dist/{scroll-O39qwEAR.cjs.map → scroll-CUpYxnFS.cjs.map} +1 -1
  125. package/dist/{select-DGgGHXxb.cjs → select-DSOpxxMT.cjs} +3 -3
  126. package/dist/select-DSOpxxMT.cjs.map +1 -0
  127. package/dist/{select-C1qEu5xm.js → select-DzmFjt61.js} +7 -7
  128. package/dist/select-DzmFjt61.js.map +1 -0
  129. package/dist/select.cjs +1 -1
  130. package/dist/select.js +1 -1
  131. package/dist/{sheet-CTZGiS7C.cjs → sheet-BnBjA5tD.cjs} +2 -2
  132. package/dist/{sheet-CTZGiS7C.cjs.map → sheet-BnBjA5tD.cjs.map} +1 -1
  133. package/dist/{sheet-DptJn65A.js → sheet-Co0cHr37.js} +3 -3
  134. package/dist/{sheet-DptJn65A.js.map → sheet-Co0cHr37.js.map} +1 -1
  135. package/dist/sheet.cjs +1 -1
  136. package/dist/sheet.js +1 -1
  137. package/dist/{slider-DF0hGetl.cjs → slider-CJdYHduh.cjs} +2 -2
  138. package/dist/{slider-DF0hGetl.cjs.map → slider-CJdYHduh.cjs.map} +1 -1
  139. package/dist/{slider-DuC6D-d4.js → slider-dtJketj4.js} +3 -3
  140. package/dist/{slider-DuC6D-d4.js.map → slider-dtJketj4.js.map} +1 -1
  141. package/dist/slider.cjs +1 -1
  142. package/dist/slider.js +1 -1
  143. package/dist/{spinner-CC4zDuEm.cjs → spinner-BB1NW_4b.cjs} +2 -2
  144. package/dist/{spinner-CC4zDuEm.cjs.map → spinner-BB1NW_4b.cjs.map} +1 -1
  145. package/dist/{spinner-CNgjSbB2.js → spinner-ssJhxM2o.js} +3 -3
  146. package/dist/{spinner-CNgjSbB2.js.map → spinner-ssJhxM2o.js.map} +1 -1
  147. package/dist/{surface-DVYDiR06.js → surface-DeLQUjNN.js} +3 -3
  148. package/dist/surface-DeLQUjNN.js.map +1 -0
  149. package/dist/{surface-DgEJ5kCf.cjs → surface-jQagrINO.cjs} +3 -3
  150. package/dist/surface-jQagrINO.cjs.map +1 -0
  151. package/dist/surface.cjs +1 -1
  152. package/dist/surface.js +1 -1
  153. package/dist/{table-DaiP2A-P.cjs → table-Co0-nm4Y.cjs} +2 -2
  154. package/dist/{table-DaiP2A-P.cjs.map → table-Co0-nm4Y.cjs.map} +1 -1
  155. package/dist/{table-CvT4bvRV.js → table-DZIjJKTT.js} +2 -2
  156. package/dist/{table-CvT4bvRV.js.map → table-DZIjJKTT.js.map} +1 -1
  157. package/dist/table.cjs +1 -1
  158. package/dist/table.js +1 -1
  159. package/dist/{tabs-group-BsYXf7-L.cjs → tabs-group-Doix3mBX.cjs} +2 -2
  160. package/dist/{tabs-group-BsYXf7-L.cjs.map → tabs-group-Doix3mBX.cjs.map} +1 -1
  161. package/dist/{tabs-group-uSIERHrS.js → tabs-group-JXceC_AX.js} +2 -2
  162. package/dist/{tabs-group-uSIERHrS.js.map → tabs-group-JXceC_AX.js.map} +1 -1
  163. package/dist/tabs.cjs +1 -1
  164. package/dist/tabs.js +1 -1
  165. package/dist/{tailwind.mixin-ivf7aKpx.cjs → tailwind.mixin-C3pXEh-C.cjs} +2 -2
  166. package/dist/{tailwind.mixin-ivf7aKpx.cjs.map → tailwind.mixin-C3pXEh-C.cjs.map} +1 -1
  167. package/dist/{tailwind.mixin-DaorKUB-.js → tailwind.mixin-C5OzBKVB.js} +14 -14
  168. package/dist/{tailwind.mixin-DaorKUB-.js.map → tailwind.mixin-C5OzBKVB.js.map} +1 -1
  169. package/dist/teleport.cjs +1 -1
  170. package/dist/{teleport.component-CHZvUCGh.cjs → teleport.component-BXtXmHVa.cjs} +10 -10
  171. package/dist/teleport.component-BXtXmHVa.cjs.map +1 -0
  172. package/dist/{teleport.component-BJp0sdwT.js → teleport.component-Cq8hZD_o.js} +35 -35
  173. package/dist/teleport.component-Cq8hZD_o.js.map +1 -0
  174. package/dist/teleport.js +1 -1
  175. package/dist/{textarea-CmiDJ6vB.cjs → textarea-BfNvgfZ_.cjs} +2 -2
  176. package/dist/{textarea-CmiDJ6vB.cjs.map → textarea-BfNvgfZ_.cjs.map} +1 -1
  177. package/dist/{textarea-CBVhP0PO.js → textarea-vre0j7PW.js} +2 -2
  178. package/dist/{textarea-CBVhP0PO.js.map → textarea-vre0j7PW.js.map} +1 -1
  179. package/dist/textarea.cjs +1 -1
  180. package/dist/textarea.js +1 -1
  181. package/dist/{theme-button-oUEwzPgP.cjs → theme-button-CQiYi_67.cjs} +2 -2
  182. package/dist/{theme-button-oUEwzPgP.cjs.map → theme-button-CQiYi_67.cjs.map} +1 -1
  183. package/dist/{theme-button-D1kqQf95.js → theme-button-D8dDywwF.js} +2 -2
  184. package/dist/{theme-button-D1kqQf95.js.map → theme-button-D8dDywwF.js.map} +1 -1
  185. package/dist/theme-button.cjs +1 -1
  186. package/dist/theme-button.js +1 -1
  187. package/dist/theme.cjs +1 -1
  188. package/dist/theme.component-BNYF3EuP.cjs +3 -0
  189. package/dist/{theme.component-C-dSR7fa.cjs.map → theme.component-BNYF3EuP.cjs.map} +1 -1
  190. package/dist/{theme.component-C7KaOcEZ.js → theme.component-iFFaMUIB.js} +43 -43
  191. package/dist/{theme.component-C7KaOcEZ.js.map → theme.component-iFFaMUIB.js.map} +1 -1
  192. package/dist/theme.js +1 -1
  193. package/dist/{tree-CjGzyEO3.cjs → tree-BGkPGaY8.cjs} +2 -2
  194. package/dist/{tree-CjGzyEO3.cjs.map → tree-BGkPGaY8.cjs.map} +1 -1
  195. package/dist/{tree-DnRjW773.js → tree-Dzh0J35T.js} +2 -2
  196. package/dist/{tree-DnRjW773.js.map → tree-Dzh0J35T.js.map} +1 -1
  197. package/dist/tree.cjs +1 -1
  198. package/dist/tree.js +1 -1
  199. package/dist/{typewriter-By3kfvcw.cjs → typewriter-ChAfM5s5.cjs} +2 -2
  200. package/dist/{typewriter-By3kfvcw.cjs.map → typewriter-ChAfM5s5.cjs.map} +1 -1
  201. package/dist/{typewriter-Bl4oL7Nj.js → typewriter-v9NtjriH.js} +4 -4
  202. package/dist/{typewriter-Bl4oL7Nj.js.map → typewriter-v9NtjriH.js.map} +1 -1
  203. package/dist/typewriter.cjs +1 -1
  204. package/dist/typewriter.js +1 -1
  205. package/dist/{typography-ZAIIeqBH.js → typography-BsfF4nMf.js} +2 -2
  206. package/dist/{typography-ZAIIeqBH.js.map → typography-BsfF4nMf.js.map} +1 -1
  207. package/dist/{typography-CDoqXfnX.cjs → typography-NRVaaUrd.cjs} +2 -2
  208. package/dist/{typography-CDoqXfnX.cjs.map → typography-NRVaaUrd.cjs.map} +1 -1
  209. package/dist/typography.cjs +1 -1
  210. package/dist/typography.js +1 -1
  211. package/package.json +2 -1
  212. package/types/src/autocomplete/autocomplete.d.ts +95 -9
  213. package/types/src/input/input.d.ts +58 -47
  214. package/types/src/theme/theme.component.d.ts +1 -0
  215. package/dist/autocomplete-CiNm2SkD.cjs +0 -42
  216. package/dist/autocomplete-CiNm2SkD.cjs.map +0 -1
  217. package/dist/autocomplete-Cm5NEwT6.js +0 -189
  218. package/dist/autocomplete-Cm5NEwT6.js.map +0 -1
  219. package/dist/icon-button-CP_pX4yw.cjs.map +0 -1
  220. package/dist/icon-button-tvckJDEE.js.map +0 -1
  221. package/dist/input-BH04wAXW.cjs +0 -42
  222. package/dist/input-BH04wAXW.cjs.map +0 -1
  223. package/dist/input-Dxk8fmQJ.js +0 -118
  224. package/dist/input-Dxk8fmQJ.js.map +0 -1
  225. package/dist/select-C1qEu5xm.js.map +0 -1
  226. package/dist/select-DGgGHXxb.cjs.map +0 -1
  227. package/dist/surface-DVYDiR06.js.map +0 -1
  228. package/dist/surface-DgEJ5kCf.cjs.map +0 -1
  229. package/dist/teleport.component-BJp0sdwT.js.map +0 -1
  230. package/dist/teleport.component-CHZvUCGh.cjs.map +0 -1
  231. package/dist/theme.component-C-dSR7fa.cjs +0 -3
@@ -0,0 +1,212 @@
1
+ import { computePosition as D, offset as H, flip as T, shift as Y } from "@floating-ui/dom";
2
+ import { Subject as M, fromEvent as L, from as U } from "rxjs";
3
+ import "lit/directives/class-map.js";
4
+ import "lit/directives/style-map.js";
5
+ import { $ as z } from "./litElement.mixin-Bn8Rl6md.js";
6
+ import "./tailwind.mixin-C5OzBKVB.js";
7
+ import { c as F } from "./ripple-BumgqsDT.js";
8
+ import { S as N } from "./theme.interface-C5Kj6WjD.js";
9
+ import { html as R } from "lit";
10
+ import { property as $, state as B, query as V, queryAssignedElements as G, eventOptions as J, customElement as K } from "lit/decorators.js";
11
+ import { createRef as Q, ref as W } 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, s) => {
19
+ const a = o.length, l = s.length, r = 1 << a - 1;
20
+ let p = -1, f = 0, S = a, h = a;
21
+ for (; h--; ) b[o.charCodeAt(h)] |= 1 << h;
22
+ for (h = 0; h < l; h++) {
23
+ let y = b[s.charCodeAt(h)];
24
+ const g = y | f;
25
+ y |= (y & p) + p ^ p, f |= ~(y | p), p &= y, f & r && S++, p & r && S--, f = f << 1 | 1, p = p << 1 | ~(g | f), f &= g;
26
+ }
27
+ for (h = a; h--; ) b[o.charCodeAt(h)] = 0;
28
+ return S;
29
+ })(t, e) : ((o, s) => {
30
+ const a = s.length, l = o.length, r = [], p = [], f = Math.ceil(a / 32), S = Math.ceil(l / 32);
31
+ for (let i = 0; i < f; i++) p[i] = -1, r[i] = 0;
32
+ let h = 0;
33
+ for (; h < S - 1; h++) {
34
+ let i = 0, d = -1;
35
+ const w = 32 * h, C = Math.min(32, l) + w;
36
+ for (let n = w; n < C; n++) b[o.charCodeAt(n)] |= 1 << n;
37
+ for (let n = 0; n < a; n++) {
38
+ const x = b[s.charCodeAt(n)], v = p[n / 32 | 0] >>> n & 1, m = r[n / 32 | 0] >>> n & 1, P = x | i, j = ((x | m) & d) + d ^ d | x | m;
39
+ let O = i | ~(j | d), k = d & j;
40
+ O >>> 31 ^ v && (p[n / 32 | 0] ^= 1 << n), k >>> 31 ^ m && (r[n / 32 | 0] ^= 1 << n), O = O << 1 | v, k = k << 1 | m, d = k | ~(P | O), i = O & P;
41
+ }
42
+ for (let n = w; n < C; n++) b[o.charCodeAt(n)] = 0;
43
+ }
44
+ let y = 0, g = -1;
45
+ const A = 32 * h, E = Math.min(32, l - A) + A;
46
+ for (let i = A; i < E; i++) b[o.charCodeAt(i)] |= 1 << i;
47
+ let I = l;
48
+ for (let i = 0; i < a; i++) {
49
+ const d = b[s.charCodeAt(i)], w = p[i / 32 | 0] >>> i & 1, C = r[i / 32 | 0] >>> i & 1, n = 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 && (p[i / 32 | 0] ^= 1 << i), m >>> 31 ^ C && (r[i / 32 | 0] ^= 1 << i), v = v << 1 | w, m = m << 1 | C, g = m | ~(n | v), y = v & n;
52
+ }
53
+ for (let i = A; i < E; i++) b[o.charCodeAt(i)] = 0;
54
+ return I;
55
+ })(t, e);
56
+ };
57
+ var ot = Object.defineProperty, st = Object.getOwnPropertyDescriptor, u = (t, e, o, s) => {
58
+ for (var a, l = s > 1 ? void 0 : s ? st(e, o) : e, r = t.length - 1; r >= 0; r--) (a = t[r]) && (l = (s ? a(e, o, l) : a(l)) || l);
59
+ return s && l && ot(e, o, l), l;
60
+ };
61
+ let c = class extends z(":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.valueLabel = "", this.inputRef = Q(), this.searchTerm$ = new M(), 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((s) => {
68
+ const a = s.label.toLowerCase();
69
+ return { option: s, levDistance: et(e, a) };
70
+ }).filter(({ option: s, levDistance: a }) => e.length < 3 || a <= s.label.toLowerCase().length - e.length).sort((s, a) => s.levDistance - a.levDistance);
71
+ this.options.forEach((s) => s.hidden = !0);
72
+ for (const { option: s } of o) s.hidden = !1;
73
+ this.empty.hidden = o.length > 0, this.requestUpdate();
74
+ })).subscribe(() => {
75
+ this.showOptions();
76
+ }), L(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)" }), e = new Promise((o) => {
81
+ t.onfinish = () => {
82
+ this.optionsContainer.style.setProperty("display", "none"), this.optionsContainer.style.setProperty("opacity", "1"), o();
83
+ };
84
+ });
85
+ return U(e);
86
+ })).subscribe({ next: () => {
87
+ var t;
88
+ this.multi ? this.input.value = this.options.filter((e) => e.selected).map((e) => e.label).join(", ") : this.input.value = ((t = this.options.find((e) => e.value === this.value)) == null ? void 0 : t.label) ?? "";
89
+ } });
90
+ }
91
+ firstUpdated() {
92
+ this.updateInputValue();
93
+ }
94
+ updated(t) {
95
+ super.updated(t), t.has("value") && (this.syncSelectionFromValue(), this.updateInputValue());
96
+ }
97
+ handleSlotChange() {
98
+ this.empty.hidden = this.options.some((t) => !t.hidden), this.syncSelectionFromValue(), this.updateInputValue();
99
+ }
100
+ syncSelectionFromValue() {
101
+ if (this.multi) {
102
+ const t = this.value.split(",").map((e) => e.trim()).filter(Boolean);
103
+ this.options.forEach((e) => {
104
+ e.selected = t.includes(e.value);
105
+ });
106
+ } else this.options.forEach((t) => {
107
+ t.selected = t.value === this.value;
108
+ });
109
+ }
110
+ updateInputValue() {
111
+ requestAnimationFrame(() => {
112
+ var t;
113
+ if (this.multi) {
114
+ const e = this.options.filter((o) => o.selected).map((o) => o.label);
115
+ this.input.value = e.join(", ");
116
+ } else {
117
+ const e = (t = this.options.find((o) => o.value === this.value)) == null ? void 0 : t.label;
118
+ this.input.value = e ?? "";
119
+ }
120
+ });
121
+ }
122
+ async showOptions() {
123
+ this.optionsContainer.removeAttribute("hidden"), this.optionsContainer.style.setProperty("display", "block");
124
+ const { x: t, y: e } = await D(this.input, this.optionsContainer, { placement: "bottom-start", middleware: [H(5), T(), Y({ padding: 5 })] });
125
+ Object.assign(this.optionsContainer.style, { left: `${t}px`, top: `${e}px`, position: "absolute", zIndex: "9999", maxHeight: this.maxHeight, overflowY: "auto" });
126
+ }
127
+ hideOptions() {
128
+ var t, e;
129
+ (t = this.optionsContainer) == null || t.setAttribute("hidden", "true"), (e = this.optionsContainer) == null || e.style.setProperty("display", "none");
130
+ }
131
+ handleInputChange(t) {
132
+ t.preventDefault(), t.stopPropagation();
133
+ const e = t.detail.value;
134
+ this.searchTerm$.next(e);
135
+ }
136
+ handleOptionClick(t) {
137
+ if (this.multi) {
138
+ const e = this.options.find((s) => s.value === t);
139
+ e && (e.selected = !e.selected);
140
+ const o = this.options.filter((s) => s.selected).map((s) => s.value);
141
+ this.value = o.join(","), this.updateInputValue(), this.dispatchEvent(new CustomEvent("change", { detail: { value: o }, bubbles: !0, composed: !0 }));
142
+ } else this.hideOptions(), this.value = t, this.updateInputValue(), this.dispatchEvent(new CustomEvent("change", { detail: { value: t }, bubbles: !0, composed: !0 }));
143
+ }
144
+ checkValidity() {
145
+ return this.multi ? this.options.some((t) => t.selected) : !!this.value;
146
+ }
147
+ reportValidity() {
148
+ var t;
149
+ return (t = this.inputRef.value) == null ? void 0 : t.reportValidity();
150
+ }
151
+ handleTouchStart(t) {
152
+ var e, o;
153
+ this.startY = ((o = (e = t.touches) == null ? void 0 : e[0]) == null ? void 0 : o.clientY) ?? 0;
154
+ }
155
+ preventScroll(t) {
156
+ var l, r;
157
+ const e = t.target;
158
+ if (!this.optionsContainer.contains(e)) return;
159
+ const o = this.optionsContainer.scrollTop, s = this.optionsContainer.scrollHeight - this.optionsContainer.offsetHeight, a = ((r = (l = t.touches) == null ? void 0 : l[0]) == null ? void 0 : r.clientY) ?? 0;
160
+ (o <= 0 && a > this.startY || o >= s && a < this.startY) && t.preventDefault();
161
+ }
162
+ render() {
163
+ return R`
164
+ <div class="relative">
165
+ <!-- If there's no external trigger slot, fall back to a schmancy-input -->
166
+ <slot name="trigger">
167
+ <schmancy-input
168
+ autocomplete="off"
169
+ class="w-full"
170
+ ${W(this.inputRef)}
171
+ .required=${this.required}
172
+ id="input"
173
+ .label=${this.label}
174
+ @focus=${this.showOptions}
175
+ clickable
176
+ type="search"
177
+ inputmode="text"
178
+ placeholder=${this.placeholder}
179
+ @change=${this.handleInputChange}
180
+ >
181
+ </schmancy-input>
182
+ </slot>
183
+
184
+ <ul
185
+ tabindex="-1"
186
+ id="options"
187
+ class="absolute z-30 mt-1 w-full overflow-auto rounded-md shadow-sm"
188
+ style="max-height: ${this.maxHeight}"
189
+ role="listbox"
190
+ hidden
191
+ @click=${(t) => {
192
+ var o;
193
+ const e = (o = t.detail) == null ? void 0 : o.value;
194
+ e && this.handleOptionClick(e);
195
+ }}
196
+ @touchstart=${this.handleTouchStart}
197
+ @touchmove=${this.preventScroll}
198
+ ${F({ bgColor: N.sys.color.surface.container })}
199
+ >
200
+ <li id="empty" tabindex="-1">
201
+ <schmancy-typography type="label">No results found</schmancy-typography>
202
+ </li>
203
+
204
+ <!-- Default slot with the <schmancy-option> elements -->
205
+ <slot @slotchange=${this.handleSlotChange}></slot>
206
+ </ul>
207
+ </div>
208
+ `;
209
+ }
210
+ };
211
+ 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([B()], c.prototype, "valueLabel", 2), u([V("#options")], c.prototype, "optionsContainer", 2), u([V("#empty")], c.prototype, "empty", 2), u([V("schmancy-input")], c.prototype, "input", 2), u([G({ flatten: !0 })], c.prototype, "options", 2), u([J({ passive: !0 })], c.prototype, "handleOptionClick", 1), c = u([K("schmancy-autocomplete")], c);
212
+ //# sourceMappingURL=autocomplete-vfdJnjAx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-vfdJnjAx.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 { computePosition, flip, offset, shift } 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, state } 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 type { SchmancyInputChangeEvent } from '..'\nimport style from './autocomplete.scss?inline'\n\nexport type SchmancyAutocompleteChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-autocomplete')\nexport default class SchmancyAutocomplete extends $LitElement(style) {\n\t/**\n\t * Whether input is required for form validity.\n\t */\n\t@property({ type: Boolean }) required = false\n\n\t/**\n\t * Placeholder text for the input.\n\t */\n\t@property({ type: String }) placeholder = ''\n\n\t/**\n\t * Programmatic value of the autocomplete. Setting this\n\t * after the element is rendered will now update the display.\n\t */\n\t@property({ type: String, reflect: true }) value = ''\n\n\t/**\n\t * Label for the input (floating label or similar).\n\t */\n\t@property({ type: String, reflect: true }) label = ''\n\n\t/**\n\t * Max height of the dropdown options container.\n\t */\n\t@property({ type: String }) maxHeight = '25vh'\n\n\t/**\n\t * Whether multiple selections are allowed.\n\t */\n\t@property({ type: Boolean }) multi = false\n\n\t/**\n\t * A local property to store the *display* value (label text).\n\t * This is separate from the raw `value`.\n\t */\n\t@state() valueLabel = ''\n\n\t// Refs and queries\n\tinputRef = createRef<HTMLInputElement>()\n\n\t/**\n\t * The main <ul> with id=\"options\".\n\t */\n\t@query('#options') optionsContainer!: HTMLUListElement\n\n\t/**\n\t * The \"no results found\" <li> element.\n\t */\n\t@query('#empty') empty!: HTMLLIElement\n\n\t/**\n\t * The SchmancyInput element (your visible text input).\n\t */\n\t@query('schmancy-input') input!: SchmancyInput\n\n\t/**\n\t * All the <schmancy-option> children assigned via the default slot.\n\t */\n\t@queryAssignedElements({ flatten: true })\n\toptions!: SchmancyOption[]\n\n\t// Reactive search term stream\n\tprivate readonly searchTerm$ = new Subject<string>()\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t/**\n\t\t * Whenever user types in the schmancy-input, we do\n\t\t * fuzzy or distance-based filtering of the child <schmancy-option> elements.\n\t\t */\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// The \"levenshtein-ish\" filtering\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(\n\t\t\t\t\t\t\t({ option, levDistance }) =>\n\t\t\t\t\t\t\t\t// if short searchTerm, be lenient\n\t\t\t\t\t\t\t\tsearchTerm.length < 3 ||\n\t\t\t\t\t\t\t\t// otherwise, filter by distance\n\t\t\t\t\t\t\t\tlevDistance <= option.label.toLowerCase().length - searchTerm.length,\n\t\t\t\t\t\t)\n\t\t\t\t\t\t// sort by ascending distance\n\t\t\t\t\t\t.sort((a, b) => a.levDistance - b.levDistance)\n\n\t\t\t\t\t// Show/hide appropriate options\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// Show/hide the \"no results found\" <li>\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\tthis.showOptions()\n\t\t\t})\n\n\t\t/**\n\t\t * If the user focuses out of the entire component (and\n\t\t * not just stepping from one <schmancy-option> to another),\n\t\t * animate out the dropdown, then hide it.\n\t\t */\n\t\tfromEvent<FocusEvent>(this, 'focusout')\n\t\t\t.pipe(\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t// Make sure the newly focused element is *not* one of our <schmancy-option>s\n\t\t\t\tfilter(e => (e.relatedTarget as SchmancyOption)?.tagName !== 'SCHMANCY-OPTION'),\n\t\t\t\tswitchMap(() => {\n\t\t\t\t\t// Animate the <ul> out\n\t\t\t\t\tconst animation = this.optionsContainer.animate(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t{ opacity: 1 }, // from\n\t\t\t\t\t\t\t{ opacity: 0 }, // to\n\t\t\t\t\t\t],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tduration: 250,\n\t\t\t\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\n\t\t\t\t\t// Convert onfinish to a Promise\n\t\t\t\t\tconst animationPromise = new Promise<void>(resolve => {\n\t\t\t\t\t\tanimation.onfinish = () => {\n\t\t\t\t\t\t\tthis.optionsContainer.style.setProperty('display', 'none')\n\t\t\t\t\t\t\tthis.optionsContainer.style.setProperty('opacity', '1')\n\t\t\t\t\t\t\tresolve()\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\treturn from(animationPromise)\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// Once animation completes\n\t\t\t\t\tif (this.multi) {\n\t\t\t\t\t\t// Make sure the input displays the selected labels\n\t\t\t\t\t\tthis.input.value = this.options\n\t\t\t\t\t\t\t.filter(o => o.selected)\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Single\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\t/**\n\t * firstUpdated (similar to componentDidMount in React).\n\t * We can do an initial sync of the input's display text\n\t * if a `value` was pre-set.\n\t */\n\tfirstUpdated() {\n\t\tthis.updateInputValue()\n\t}\n\n\t/**\n\t * This will be invoked *any time* a reactive property changes\n\t * after the first render. We specifically check if `value` changed,\n\t * so we can update the display text (and selected states) if needed.\n\t */\n\tprotected updated(changedProps: Map<string | number | symbol, unknown>) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (changedProps.has('value')) {\n\t\t\t// If value changed, update the input display text + selected states\n\t\t\tthis.syncSelectionFromValue()\n\t\t\tthis.updateInputValue()\n\t\t}\n\t}\n\n\t/**\n\t * If user assigned new <schmancy-option> children, or changed them,\n\t * we also want to ensure the \"no results\" is correct and that\n\t * our input text is still in sync.\n\t */\n\tprivate handleSlotChange() {\n\t\t// Hide 'empty' if at least one option is visible\n\t\tthis.empty.hidden = this.options.some(option => !option.hidden)\n\t\t// Also do a fresh fill of the input\n\t\tthis.syncSelectionFromValue()\n\t\tthis.updateInputValue()\n\t}\n\n\t/**\n\t * For multi-select, ensure that any `value` strings\n\t * are reflected in the child <schmancy-option>'s `selected` property.\n\t * For single select, do similarly for the one matching option.\n\t */\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\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\t/**\n\t * Takes the current `value` (and child <schmancy-option>s) and updates\n\t * the displayed text in the schmancy-input. Called whenever we need\n\t * to re-sync the visible input text to the actual data.\n\t */\n\tupdateInputValue() {\n\t\t// We do this in a rAF to avoid any weird timing issues\n\t\trequestAnimationFrame(() => {\n\t\t\tif (this.multi) {\n\t\t\t\tconst selectedOptions = this.options.filter(o => o.selected).map(o => o.label)\n\t\t\t\tthis.input.value = selectedOptions.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 * Show the dropdown list, using Floating UI for positioning.\n\t */\n\tasync showOptions() {\n\t\tthis.optionsContainer.removeAttribute('hidden')\n\t\tthis.optionsContainer.style.setProperty('display', 'block')\n\n\t\tconst { x, y } = await computePosition(this.input, this.optionsContainer, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: [offset(5), flip(), shift({ padding: 5 })],\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\tmaxHeight: this.maxHeight,\n\t\t\toverflowY: 'auto',\n\t\t})\n\t}\n\n\t/**\n\t * Hide the dropdown immediately (no animation).\n\t */\n\thideOptions() {\n\t\tthis.optionsContainer?.setAttribute('hidden', 'true')\n\t\tthis.optionsContainer?.style.setProperty('display', 'none')\n\t}\n\n\t/**\n\t * Called whenever the user types in the schmancy-input.\n\t */\n\thandleInputChange(event: SchmancyInputChangeEvent) {\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/**\n\t * Called whenever user clicks or taps an <schmancy-option>.\n\t */\n\t@eventOptions({ passive: true })\n\thandleOptionClick(value: string) {\n\t\tif (this.multi) {\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (option) {\n\t\t\t\toption.selected = !option.selected\n\t\t\t}\n\t\t\t// Rebuild the .value from the selected items\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\t// Update display text, dispatch \"change\"\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\t/**\n\t * Check validity of the selected value(s) to satisfy forms.\n\t */\n\tpublic checkValidity() {\n\t\treturn this.multi ? this.options.some(o => o.selected) : !!this.value\n\t}\n\n\t/**\n\t * Actually cause form validation checks if needed.\n\t */\n\tpublic reportValidity() {\n\t\treturn this.inputRef.value?.reportValidity()\n\t}\n\n\t/**\n\t * Attempt to prevent iOS scrolling the background page\n\t * while swiping within the options list. (NB: This logic\n\t * currently needs a bit more nuance to be robust.)\n\t */\n\tprivate startY = 0\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\t// Current touch Y\n\t\tconst currentY = event.touches?.[0]?.clientY ?? 0\n\n\t\t// If user is at top and swiping down, or at bottom and swiping up, block\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\treturn html`\n\t\t\t<div class=\"relative\">\n\t\t\t\t<!-- If there's no external trigger slot, fall back to a schmancy-input -->\n\t\t\t\t<slot name=\"trigger\">\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t\t${ref(this.inputRef)}\n\t\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t\tid=\"input\"\n\t\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t\t@focus=${this.showOptions}\n\t\t\t\t\t\tclickable\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tinputmode=\"text\"\n\t\t\t\t\t\tplaceholder=${this.placeholder}\n\t\t\t\t\t\t@change=${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\ttabindex=\"-1\"\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\tclass=\"absolute z-30 mt-1 w-full overflow-auto rounded-md shadow-sm\"\n\t\t\t\t\tstyle=\"max-height: ${this.maxHeight}\"\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// We rely on each <schmancy-option> dispatching a CustomEvent with detail.value\n\t\t\t\t\t\t// Or you can re-check e.target as <schmancy-option> and retrieve its value\n\t\t\t\t\t\tconst detailVal = (e as CustomEvent).detail?.value\n\t\t\t\t\t\tif (detailVal) {\n\t\t\t\t\t\t\tthis.handleOptionClick(detailVal)\n\t\t\t\t\t\t}\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({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\t\t})}\n\t\t\t\t>\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<!-- Default slot with 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","valueLabel","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","animationPromise","Promise","resolve","onfinish","style","setProperty","from","next","input","selected","join","find","updateInputValue","changedProps","updated","has","syncSelectionFromValue","handleSlotChange","some","values","split","v","Boolean","includes","requestAnimationFrame","selectedOptions","found","removeAttribute","x","y","computePosition","placement","middleware","offset","flip","shift","padding","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","html","ref","handleInputChange","detailVal","handleOptionClick","handleTouchStart","preventScroll","color","bgColor","SchmancyTheme","sys","surface","container","__decorateClass","property","type","prototype","String","reflect","state","query","queryAssignedElements","flatten","eventOptions","passive","customElement"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";require("./autocomplete-CiNm2SkD.cjs");
1
+ "use strict";require("./autocomplete-GCjmIPKP.cjs");
2
2
  //# sourceMappingURL=autocomplete.cjs.map
@@ -1,2 +1,2 @@
1
- import "./autocomplete-Cm5NEwT6.js";
1
+ import "./autocomplete-vfdJnjAx.js";
2
2
  //# sourceMappingURL=autocomplete.js.map
package/dist/busy.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./spinner-CC4zDuEm.cjs");
1
+ "use strict";require("./spinner-BB1NW_4b.cjs");
2
2
  //# sourceMappingURL=busy.cjs.map
package/dist/busy.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./spinner-CNgjSbB2.js";
1
+ import "./spinner-ssJhxM2o.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-CP_pX4yw.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-CEcYwu6h.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-tvckJDEE.js";
1
+ import { S as n, a as o } from "./icon-button-cThH-HDx.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-CHZvUCGh.cjs");
1
+ "use strict";require("./teleport.component-BXtXmHVa.cjs");
2
2
  //# sourceMappingURL=card.cjs.map
package/dist/card.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./teleport.component-BJp0sdwT.js";
1
+ import "./teleport.component-Cq8hZD_o.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-ivf7aKpx.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-C3pXEh-C.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-Bxp5uWqA.cjs.map
38
+ //# sourceMappingURL=checkbox-B6wuWHQT.cjs.map