@mhmo91/schmancy 0.5.22 → 0.5.23

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 (349) hide show
  1. package/dist/{animated-text-CLEr78FV.js → animated-text-Do2JCORX.js} +3 -3
  2. package/dist/{animated-text-CLEr78FV.js.map → animated-text-Do2JCORX.js.map} +1 -1
  3. package/dist/{animated-text-Bic7z7SI.cjs → animated-text-f2NuhTiS.cjs} +2 -2
  4. package/dist/{animated-text-Bic7z7SI.cjs.map → animated-text-f2NuhTiS.cjs.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-tIK_P5JR.js → area.component-BSMLE67D.js} +3 -3
  9. package/dist/{area.component-tIK_P5JR.js.map → area.component-BSMLE67D.js.map} +1 -1
  10. package/dist/{area.component-BrvNYy7Z.cjs → area.component-Dez2yju_.cjs} +2 -2
  11. package/dist/{area.component-BrvNYy7Z.cjs.map → area.component-Dez2yju_.cjs.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/autocomplete-CTrPzVTE.js +332 -0
  14. package/dist/autocomplete-CTrPzVTE.js.map +1 -0
  15. package/dist/autocomplete-D-p-hOUD.cjs +112 -0
  16. package/dist/autocomplete-D-p-hOUD.cjs.map +1 -0
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/{avatar-39MTGkwX.js → avatar-BbJkXEbj.js} +51 -51
  20. package/dist/{avatar-39MTGkwX.js.map → avatar-BbJkXEbj.js.map} +1 -1
  21. package/dist/{avatar-QYDHa7s3.cjs → avatar-lHK31d6x.cjs} +2 -2
  22. package/dist/{avatar-QYDHa7s3.cjs.map → avatar-lHK31d6x.cjs.map} +1 -1
  23. package/dist/badge.cjs +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{boat-DP98_5qG.cjs → boat-BdZ8qIVE.cjs} +2 -2
  26. package/dist/{boat-DP98_5qG.cjs.map → boat-BdZ8qIVE.cjs.map} +1 -1
  27. package/dist/{boat-BdJ1jyK_.js → boat-Jju9mnxp.js} +2 -2
  28. package/dist/{boat-BdJ1jyK_.js.map → boat-Jju9mnxp.js.map} +1 -1
  29. package/dist/boat.cjs +1 -1
  30. package/dist/boat.js +1 -1
  31. package/dist/busy.cjs +1 -1
  32. package/dist/busy.js +1 -1
  33. package/dist/button.cjs +1 -1
  34. package/dist/button.js +1 -1
  35. package/dist/card.cjs +1 -1
  36. package/dist/card.js +1 -1
  37. package/dist/{checkbox-4mBWkzKG.js → checkbox-C-iKquia.js} +101 -103
  38. package/dist/checkbox-C-iKquia.js.map +1 -0
  39. package/dist/checkbox-DWZfWmmN.cjs +40 -0
  40. package/dist/checkbox-DWZfWmmN.cjs.map +1 -0
  41. package/dist/checkbox.cjs +1 -1
  42. package/dist/checkbox.js +1 -1
  43. package/dist/chips.cjs +1 -1
  44. package/dist/chips.js +2 -2
  45. package/dist/code-highlight.cjs +1 -1
  46. package/dist/code-highlight.js +1 -1
  47. package/dist/{code-preview-hWI3erYE.cjs → code-preview-4wU5lZC2.cjs} +2 -2
  48. package/dist/{code-preview-hWI3erYE.cjs.map → code-preview-4wU5lZC2.cjs.map} +1 -1
  49. package/dist/{code-preview-CrsExDWj.js → code-preview-BRMIOyPn.js} +2 -2
  50. package/dist/{code-preview-CrsExDWj.js.map → code-preview-BRMIOyPn.js.map} +1 -1
  51. package/dist/components.cjs +1 -1
  52. package/dist/components.js +1 -1
  53. package/dist/content-drawer.cjs +1 -1
  54. package/dist/content-drawer.js +1 -1
  55. package/dist/{context-object-u5gBaozZ.js → context-object-BE1o2XB3.js} +158 -159
  56. package/dist/context-object-BE1o2XB3.js.map +1 -0
  57. package/dist/context-object-DA9DM9QJ.cjs +2 -0
  58. package/dist/context-object-DA9DM9QJ.cjs.map +1 -0
  59. package/dist/{date-range-CM-5J_JO.js → date-range-De83wfZy.js} +3 -3
  60. package/dist/{date-range-CM-5J_JO.js.map → date-range-De83wfZy.js.map} +1 -1
  61. package/dist/{date-range-B0yz-_Zv.cjs → date-range-RKsMmIJo.cjs} +2 -2
  62. package/dist/{date-range-B0yz-_Zv.cjs.map → date-range-RKsMmIJo.cjs.map} +1 -1
  63. package/dist/{date-range-inline-P8P2ixg1.cjs → date-range-inline-CYfe4cSe.cjs} +2 -2
  64. package/dist/{date-range-inline-P8P2ixg1.cjs.map → date-range-inline-CYfe4cSe.cjs.map} +1 -1
  65. package/dist/{date-range-inline-CPI4EyL0.js → date-range-inline-haX8zJj5.js} +3 -3
  66. package/dist/{date-range-inline-CPI4EyL0.js.map → date-range-inline-haX8zJj5.js.map} +1 -1
  67. package/dist/date-range-inline.cjs +1 -1
  68. package/dist/date-range-inline.js +1 -1
  69. package/dist/date-range.cjs +1 -1
  70. package/dist/date-range.js +1 -1
  71. package/dist/{delay-1aTGz1ZH.cjs → delay-BRnV1hev.cjs} +2 -2
  72. package/dist/{delay-1aTGz1ZH.cjs.map → delay-BRnV1hev.cjs.map} +1 -1
  73. package/dist/{delay-Lg_7K_Vi.js → delay-DIvTLOWT.js} +2 -2
  74. package/dist/{delay-Lg_7K_Vi.js.map → delay-DIvTLOWT.js.map} +1 -1
  75. package/dist/delay.cjs +1 -1
  76. package/dist/delay.js +1 -1
  77. package/dist/{details-uxsPpjMp.cjs → details-BdJ7abcF.cjs} +2 -2
  78. package/dist/{details-uxsPpjMp.cjs.map → details-BdJ7abcF.cjs.map} +1 -1
  79. package/dist/{details-gUvX6sxc.js → details-YP34eEOP.js} +2 -2
  80. package/dist/{details-gUvX6sxc.js.map → details-YP34eEOP.js.map} +1 -1
  81. package/dist/details.cjs +1 -1
  82. package/dist/details.js +1 -1
  83. package/dist/{dialog-content-DKLDmgfz.js → dialog-content-B1PDSXlF.js} +3 -3
  84. package/dist/{dialog-content-DKLDmgfz.js.map → dialog-content-B1PDSXlF.js.map} +1 -1
  85. package/dist/{dialog-content-CvVd9EwS.cjs → dialog-content-DVFcNrW6.cjs} +2 -2
  86. package/dist/{dialog-content-CvVd9EwS.cjs.map → dialog-content-DVFcNrW6.cjs.map} +1 -1
  87. package/dist/dialog.cjs +1 -1
  88. package/dist/dialog.js +1 -1
  89. package/dist/{divider-CHGffGro.cjs → divider-Ck3Pm0Sj.cjs} +2 -2
  90. package/dist/{divider-CHGffGro.cjs.map → divider-Ck3Pm0Sj.cjs.map} +1 -1
  91. package/dist/{divider-EvBnlb2a.js → divider-ZpoqXrpr.js} +3 -3
  92. package/dist/{divider-EvBnlb2a.js.map → divider-ZpoqXrpr.js.map} +1 -1
  93. package/dist/divider.cjs +1 -1
  94. package/dist/divider.js +1 -1
  95. package/dist/{dropdown-content-NGBIkvdR.js → dropdown-content-CaejLE2F.js} +3 -3
  96. package/dist/{dropdown-content-NGBIkvdR.js.map → dropdown-content-CaejLE2F.js.map} +1 -1
  97. package/dist/{dropdown-content-FVKimBQR.cjs → dropdown-content-Cb7bvik_.cjs} +2 -2
  98. package/dist/{dropdown-content-FVKimBQR.cjs.map → dropdown-content-Cb7bvik_.cjs.map} +1 -1
  99. package/dist/dropdown.cjs +1 -1
  100. package/dist/dropdown.js +1 -1
  101. package/dist/{email-recipients-DxqCC99q.cjs → email-recipients-6po8vlOh.cjs} +2 -2
  102. package/dist/{email-recipients-DxqCC99q.cjs.map → email-recipients-6po8vlOh.cjs.map} +1 -1
  103. package/dist/{email-recipients-CXFSIsL-.js → email-recipients-Ba_Otsk0.js} +5 -5
  104. package/dist/{email-recipients-CXFSIsL-.js.map → email-recipients-Ba_Otsk0.js.map} +1 -1
  105. package/dist/extra.cjs +1 -1
  106. package/dist/extra.js +1 -1
  107. package/dist/{flex-DisTVvBI.cjs → flex-CDA_38jQ.cjs} +2 -2
  108. package/dist/{flex-DisTVvBI.cjs.map → flex-CDA_38jQ.cjs.map} +1 -1
  109. package/dist/{flex-Cm4nZM9q.js → flex-CLQrGtIm.js} +2 -2
  110. package/dist/{flex-Cm4nZM9q.js.map → flex-CLQrGtIm.js.map} +1 -1
  111. package/dist/{form-SMbhjYsC.cjs → form-B7-c3KWc.cjs} +2 -2
  112. package/dist/{form-SMbhjYsC.cjs.map → form-B7-c3KWc.cjs.map} +1 -1
  113. package/dist/{form-BU9TBjfk.js → form-DtrqYBas.js} +2 -2
  114. package/dist/{form-BU9TBjfk.js.map → form-DtrqYBas.js.map} +1 -1
  115. package/dist/form.cjs +1 -1
  116. package/dist/form.js +1 -1
  117. package/dist/{formField.mixin-DxhnL3Kb.js → formField.mixin-BPjq6dKf.js} +2 -2
  118. package/dist/{formField.mixin-DxhnL3Kb.js.map → formField.mixin-BPjq6dKf.js.map} +1 -1
  119. package/dist/{formField.mixin-DYkeOpES.cjs → formField.mixin-C87lQQIw.cjs} +2 -2
  120. package/dist/{formField.mixin-DYkeOpES.cjs.map → formField.mixin-C87lQQIw.cjs.map} +1 -1
  121. package/dist/{icon-BT_1B5_G.cjs → icon-B7ChIXLP.cjs} +2 -2
  122. package/dist/{icon-BT_1B5_G.cjs.map → icon-B7ChIXLP.cjs.map} +1 -1
  123. package/dist/{icon-Cgd3NUcv.js → icon-C6sk1e1d.js} +2 -2
  124. package/dist/{icon-Cgd3NUcv.js.map → icon-C6sk1e1d.js.map} +1 -1
  125. package/dist/{icon-button-C5hq1cKD.cjs → icon-button-CAUrSeGm.cjs} +2 -2
  126. package/dist/{icon-button-C5hq1cKD.cjs.map → icon-button-CAUrSeGm.cjs.map} +1 -1
  127. package/dist/{icon-button-DsjqusZz.js → icon-button-CU2UDZR7.js} +3 -3
  128. package/dist/{icon-button-DsjqusZz.js.map → icon-button-CU2UDZR7.js.map} +1 -1
  129. package/dist/icons.cjs +1 -1
  130. package/dist/icons.js +1 -1
  131. package/dist/index.cjs +1 -1
  132. package/dist/index.js +51 -51
  133. package/dist/{input-D3qmQZ-Y.cjs → input-BIOflk_4.cjs} +2 -2
  134. package/dist/{input-D3qmQZ-Y.cjs.map → input-BIOflk_4.cjs.map} +1 -1
  135. package/dist/{input-Bj4MTOC9.js → input-BdadJyMU.js} +4 -4
  136. package/dist/{input-Bj4MTOC9.js.map → input-BdadJyMU.js.map} +1 -1
  137. package/dist/{input-chip-DiThsRoi.js → input-chip-Ddvjmzdt.js} +2 -2
  138. package/dist/{input-chip-DiThsRoi.js.map → input-chip-Ddvjmzdt.js.map} +1 -1
  139. package/dist/{input-chip-CbD-eDs-.cjs → input-chip-IrLdDdsH.cjs} +2 -2
  140. package/dist/{input-chip-CbD-eDs-.cjs.map → input-chip-IrLdDdsH.cjs.map} +1 -1
  141. package/dist/input.cjs +1 -1
  142. package/dist/input.js +1 -1
  143. package/dist/layout.cjs +1 -1
  144. package/dist/layout.js +1 -1
  145. package/dist/{list-5Y_CGGJF.cjs → list-DHqttG-L.cjs} +2 -2
  146. package/dist/{list-5Y_CGGJF.cjs.map → list-DHqttG-L.cjs.map} +1 -1
  147. package/dist/{list-CAFpmXsb.js → list-tM2KMQEk.js} +2 -2
  148. package/dist/{list-CAFpmXsb.js.map → list-tM2KMQEk.js.map} +1 -1
  149. package/dist/list.cjs +1 -1
  150. package/dist/list.js +1 -1
  151. package/dist/{litElement.mixin-Bv6DGuhe.js → litElement.mixin-3N_m8Nzd.js} +2 -2
  152. package/dist/{litElement.mixin-Bv6DGuhe.js.map → litElement.mixin-3N_m8Nzd.js.map} +1 -1
  153. package/dist/{litElement.mixin-rWG9s46P.cjs → litElement.mixin-Df8xHue5.cjs} +2 -2
  154. package/dist/{litElement.mixin-rWG9s46P.cjs.map → litElement.mixin-Df8xHue5.cjs.map} +1 -1
  155. package/dist/mailbox.cjs +1 -1
  156. package/dist/mailbox.js +1 -1
  157. package/dist/{map-yv8FB9mG.js → map-whBWXMf1.js} +2 -2
  158. package/dist/{map-yv8FB9mG.js.map → map-whBWXMf1.js.map} +1 -1
  159. package/dist/{map-bTOQf8Jm.cjs → map-wuM8gVOo.cjs} +2 -2
  160. package/dist/{map-bTOQf8Jm.cjs.map → map-wuM8gVOo.cjs.map} +1 -1
  161. package/dist/map.cjs +1 -1
  162. package/dist/map.js +1 -1
  163. package/dist/{media-CPIoKlRw.cjs → media-CTAUAb26.cjs} +2 -2
  164. package/dist/{media-CPIoKlRw.cjs.map → media-CTAUAb26.cjs.map} +1 -1
  165. package/dist/{media-CA52MXd3.js → media-DQi9RiAW.js} +2 -2
  166. package/dist/{media-CA52MXd3.js.map → media-DQi9RiAW.js.map} +1 -1
  167. package/dist/{menu-BKO9PgJq.js → menu-C_i7sMLn.js} +3 -3
  168. package/dist/{menu-BKO9PgJq.js.map → menu-C_i7sMLn.js.map} +1 -1
  169. package/dist/{menu-Cak8SbFx.cjs → menu-d6lQa4kG.cjs} +2 -2
  170. package/dist/{menu-Cak8SbFx.cjs.map → menu-d6lQa4kG.cjs.map} +1 -1
  171. package/dist/menu.cjs +1 -1
  172. package/dist/menu.js +1 -1
  173. package/dist/nav-drawer.cjs +1 -1
  174. package/dist/nav-drawer.js +1 -1
  175. package/dist/navigation-bar.cjs +1 -1
  176. package/dist/navigation-bar.js +1 -1
  177. package/dist/{navigation-rail-C8OOb0V3.js → navigation-rail-Br-sKVac.js} +3 -3
  178. package/dist/{navigation-rail-C8OOb0V3.js.map → navigation-rail-Br-sKVac.js.map} +1 -1
  179. package/dist/{navigation-rail-D1iYDMy2.cjs → navigation-rail-ChEA8naU.cjs} +2 -2
  180. package/dist/{navigation-rail-D1iYDMy2.cjs.map → navigation-rail-ChEA8naU.cjs.map} +1 -1
  181. package/dist/navigation-rail.cjs +1 -1
  182. package/dist/navigation-rail.js +1 -1
  183. package/dist/{notification-service-jfBwJ2TN.js → notification-service-DDqJgrdo.js} +4 -4
  184. package/dist/{notification-service-jfBwJ2TN.js.map → notification-service-DDqJgrdo.js.map} +1 -1
  185. package/dist/{notification-service-DaXxcXyj.cjs → notification-service-Dku7plm9.cjs} +2 -2
  186. package/dist/{notification-service-DaXxcXyj.cjs.map → notification-service-Dku7plm9.cjs.map} +1 -1
  187. package/dist/notification.cjs +1 -1
  188. package/dist/notification.js +2 -2
  189. package/dist/{notify-C5gy3egX.js → notify-CdiZg2_t.js} +2 -2
  190. package/dist/{notify-C5gy3egX.js.map → notify-CdiZg2_t.js.map} +1 -1
  191. package/dist/{notify-Dd5h2l-v.cjs → notify-fV1Z6dpj.cjs} +2 -2
  192. package/dist/{notify-Dd5h2l-v.cjs.map → notify-fV1Z6dpj.cjs.map} +1 -1
  193. package/dist/{option-D7b-uGff.js → option--zfJKePL.js} +2 -2
  194. package/dist/{option-D7b-uGff.js.map → option--zfJKePL.js.map} +1 -1
  195. package/dist/{option-C6PwIhut.cjs → option-CiztepV4.cjs} +2 -2
  196. package/dist/{option-C6PwIhut.cjs.map → option-CiztepV4.cjs.map} +1 -1
  197. package/dist/option.cjs +1 -1
  198. package/dist/option.js +1 -1
  199. package/dist/{payment-card-form-xwk5dfeQ.js → payment-card-form-Bi6IhJNn.js} +3 -3
  200. package/dist/{payment-card-form-xwk5dfeQ.js.map → payment-card-form-Bi6IhJNn.js.map} +1 -1
  201. package/dist/{payment-card-form-DTfoZiiN.cjs → payment-card-form-DwD6L0p_.cjs} +2 -2
  202. package/dist/{payment-card-form-DTfoZiiN.cjs.map → payment-card-form-DwD6L0p_.cjs.map} +1 -1
  203. package/dist/{progress-D-5gThOU.js → progress-72O6pPs_.js} +2 -2
  204. package/dist/{progress-D-5gThOU.js.map → progress-72O6pPs_.js.map} +1 -1
  205. package/dist/{progress-sFt6EeRy.cjs → progress-CoxNFuk8.cjs} +2 -2
  206. package/dist/{progress-sFt6EeRy.cjs.map → progress-CoxNFuk8.cjs.map} +1 -1
  207. package/dist/progress.cjs +1 -1
  208. package/dist/progress.js +1 -1
  209. package/dist/{radio-button-Cc5fCDdU.cjs → radio-button-CNy9D8nw.cjs} +2 -2
  210. package/dist/{radio-button-Cc5fCDdU.cjs.map → radio-button-CNy9D8nw.cjs.map} +1 -1
  211. package/dist/{radio-button-CZq8Z-V-.js → radio-button-DAPfHWim.js} +3 -3
  212. package/dist/{radio-button-CZq8Z-V-.js.map → radio-button-DAPfHWim.js.map} +1 -1
  213. package/dist/radio-group.cjs +1 -1
  214. package/dist/radio-group.js +1 -1
  215. package/dist/{schmancy-steps-container-Cb-cUZWP.cjs → schmancy-steps-container-BWySiig4.cjs} +2 -2
  216. package/dist/{schmancy-steps-container-Cb-cUZWP.cjs.map → schmancy-steps-container-BWySiig4.cjs.map} +1 -1
  217. package/dist/{schmancy-steps-container-DkPckhRw.js → schmancy-steps-container-BxzKa7RY.js} +2 -2
  218. package/dist/{schmancy-steps-container-DkPckhRw.js.map → schmancy-steps-container-BxzKa7RY.js.map} +1 -1
  219. package/dist/{select-CHgsFxnz.js → select-DM2lJWsO.js} +3 -3
  220. package/dist/{select-CHgsFxnz.js.map → select-DM2lJWsO.js.map} +1 -1
  221. package/dist/{select-BszKwEA_.cjs → select-l1ye_NvA.cjs} +2 -2
  222. package/dist/{select-BszKwEA_.cjs.map → select-l1ye_NvA.cjs.map} +1 -1
  223. package/dist/select.cjs +1 -1
  224. package/dist/select.js +1 -1
  225. package/dist/{selector-hook-ChImS_JT.js → selector-hook-DOsvFxG2.js} +2 -2
  226. package/dist/{selector-hook-ChImS_JT.js.map → selector-hook-DOsvFxG2.js.map} +1 -1
  227. package/dist/{selector-hook-cqmAutda.cjs → selector-hook-DQ9zoDM4.cjs} +2 -2
  228. package/dist/{selector-hook-cqmAutda.cjs.map → selector-hook-DQ9zoDM4.cjs.map} +1 -1
  229. package/dist/{sheet-BscruHZw.js → sheet-6dHhG8JF.js} +4 -4
  230. package/dist/{sheet-BscruHZw.js.map → sheet-6dHhG8JF.js.map} +1 -1
  231. package/dist/{sheet-ZHVITumf.cjs → sheet-Ce6qoile.cjs} +3 -3
  232. package/dist/{sheet-ZHVITumf.cjs.map → sheet-Ce6qoile.cjs.map} +1 -1
  233. package/dist/sheet.cjs +1 -1
  234. package/dist/sheet.js +1 -1
  235. package/dist/{slider-gBHyj2TC.js → slider-B5RixsC-.js} +3 -3
  236. package/dist/{slider-gBHyj2TC.js.map → slider-B5RixsC-.js.map} +1 -1
  237. package/dist/{slider-BKUCiMOV.cjs → slider-B65CWJPr.cjs} +2 -2
  238. package/dist/{slider-BKUCiMOV.cjs.map → slider-B65CWJPr.cjs.map} +1 -1
  239. package/dist/slider.cjs +1 -1
  240. package/dist/slider.js +1 -1
  241. package/dist/{spinner-CiRbCC74.cjs → spinner-BIE4wGt6.cjs} +2 -2
  242. package/dist/{spinner-CiRbCC74.cjs.map → spinner-BIE4wGt6.cjs.map} +1 -1
  243. package/dist/{spinner-DZ3oE5cQ.js → spinner-Bj60gT3J.js} +2 -2
  244. package/dist/{spinner-DZ3oE5cQ.js.map → spinner-Bj60gT3J.js.map} +1 -1
  245. package/dist/steps.cjs +1 -1
  246. package/dist/steps.js +1 -1
  247. package/dist/store.cjs +1 -1
  248. package/dist/store.js +2 -2
  249. package/dist/{suggestion-chip-D7izoLhZ.cjs → suggestion-chip-Cg0XlLBm.cjs} +2 -2
  250. package/dist/{suggestion-chip-D7izoLhZ.cjs.map → suggestion-chip-Cg0XlLBm.cjs.map} +1 -1
  251. package/dist/{suggestion-chip-BTiLUD1d.js → suggestion-chip-ug7g3Gxu.js} +3 -3
  252. package/dist/{suggestion-chip-BTiLUD1d.js.map → suggestion-chip-ug7g3Gxu.js.map} +1 -1
  253. package/dist/{surface-DTqeD1NX.cjs → surface-68DZCaYM.cjs} +2 -2
  254. package/dist/{surface-DTqeD1NX.cjs.map → surface-68DZCaYM.cjs.map} +1 -1
  255. package/dist/{surface-C4Lkv6Xu.js → surface-Dp2ZLwZf.js} +2 -2
  256. package/dist/{surface-C4Lkv6Xu.js.map → surface-Dp2ZLwZf.js.map} +1 -1
  257. package/dist/surface.cjs +1 -1
  258. package/dist/surface.js +1 -1
  259. package/dist/{table-D320TllW.js → table-DPApxXET.js} +2 -2
  260. package/dist/{table-D320TllW.js.map → table-DPApxXET.js.map} +1 -1
  261. package/dist/{table-CGB_dR8H.cjs → table-DkPrJwrr.cjs} +2 -2
  262. package/dist/{table-CGB_dR8H.cjs.map → table-DkPrJwrr.cjs.map} +1 -1
  263. package/dist/table.cjs +1 -1
  264. package/dist/table.js +1 -1
  265. package/dist/{tabs-compatibility-DNkcL6dE.js → tabs-compatibility-D-7b_hie.js} +2 -2
  266. package/dist/{tabs-compatibility-DNkcL6dE.js.map → tabs-compatibility-D-7b_hie.js.map} +1 -1
  267. package/dist/{tabs-compatibility-C1ifLAs_.cjs → tabs-compatibility-DjrZHk1o.cjs} +2 -2
  268. package/dist/{tabs-compatibility-C1ifLAs_.cjs.map → tabs-compatibility-DjrZHk1o.cjs.map} +1 -1
  269. package/dist/tabs.cjs +1 -1
  270. package/dist/tabs.js +1 -1
  271. package/dist/tailwind.mixin-CkQXl1kF.js +43 -0
  272. package/dist/{tailwind.mixin-9XFzAXGw.js.map → tailwind.mixin-CkQXl1kF.js.map} +1 -1
  273. package/dist/tailwind.mixin-x6_PgjK6.cjs +2 -0
  274. package/dist/{tailwind.mixin-ChrVaJHF.cjs.map → tailwind.mixin-x6_PgjK6.cjs.map} +1 -1
  275. package/dist/teleport.cjs +1 -1
  276. package/dist/teleport.js +1 -1
  277. package/dist/{textarea-B2U316Um.js → textarea-CrSFDnAT.js} +2 -2
  278. package/dist/{textarea-B2U316Um.js.map → textarea-CrSFDnAT.js.map} +1 -1
  279. package/dist/{textarea-1QvQzHKm.cjs → textarea-g181v20v.cjs} +2 -2
  280. package/dist/{textarea-1QvQzHKm.cjs.map → textarea-g181v20v.cjs.map} +1 -1
  281. package/dist/textarea.cjs +1 -1
  282. package/dist/textarea.js +1 -1
  283. package/dist/{theme-button-B0n3kSd_.cjs → theme-button-BSbYxt8O.cjs} +2 -2
  284. package/dist/{theme-button-B0n3kSd_.cjs.map → theme-button-BSbYxt8O.cjs.map} +1 -1
  285. package/dist/{theme-button-zUYywyWx.js → theme-button-DNL32-FV.js} +2 -2
  286. package/dist/{theme-button-zUYywyWx.js.map → theme-button-DNL32-FV.js.map} +1 -1
  287. package/dist/theme-button.cjs +1 -1
  288. package/dist/theme-button.js +1 -1
  289. package/dist/theme.cjs +1 -1
  290. package/dist/{theme.component-DpPMKf8l.js → theme.component-BRhGnuHR.js} +2 -2
  291. package/dist/{theme.component-DpPMKf8l.js.map → theme.component-BRhGnuHR.js.map} +1 -1
  292. package/dist/{theme.component-BLKJxyFX.cjs → theme.component-D5ai_x50.cjs} +2 -2
  293. package/dist/{theme.component-BLKJxyFX.cjs.map → theme.component-D5ai_x50.cjs.map} +1 -1
  294. package/dist/theme.js +1 -1
  295. package/dist/{timezone-DhLUcYcX.js → timezone-BEwuASpJ.js} +3 -3
  296. package/dist/{timezone-DhLUcYcX.js.map → timezone-BEwuASpJ.js.map} +1 -1
  297. package/dist/{timezone-DRSCR7bi.cjs → timezone-CHKXV8EG.cjs} +2 -2
  298. package/dist/{timezone-DRSCR7bi.cjs.map → timezone-CHKXV8EG.cjs.map} +1 -1
  299. package/dist/{tooltip-B4nvmANO.cjs → tooltip-CBv8iNFU.cjs} +2 -2
  300. package/dist/{tooltip-B4nvmANO.cjs.map → tooltip-CBv8iNFU.cjs.map} +1 -1
  301. package/dist/{tooltip-tFxYzDct.js → tooltip-CEwmdIj9.js} +2 -2
  302. package/dist/{tooltip-tFxYzDct.js.map → tooltip-CEwmdIj9.js.map} +1 -1
  303. package/dist/tooltip.cjs +1 -1
  304. package/dist/tooltip.js +1 -1
  305. package/dist/{tree-C9gLZE_E.js → tree-CSGTCCZ3.js} +2 -2
  306. package/dist/{tree-C9gLZE_E.js.map → tree-CSGTCCZ3.js.map} +1 -1
  307. package/dist/{tree-CRjGBeHH.cjs → tree-CiKoP4uT.cjs} +2 -2
  308. package/dist/{tree-CRjGBeHH.cjs.map → tree-CiKoP4uT.cjs.map} +1 -1
  309. package/dist/tree.cjs +1 -1
  310. package/dist/tree.js +1 -1
  311. package/dist/{typewriter-VGsKEZOj.cjs → typewriter-CYou-pzn.cjs} +2 -2
  312. package/dist/{typewriter-VGsKEZOj.cjs.map → typewriter-CYou-pzn.cjs.map} +1 -1
  313. package/dist/{typewriter-DN9HiCBW.js → typewriter-eAUGqhH7.js} +4 -4
  314. package/dist/{typewriter-DN9HiCBW.js.map → typewriter-eAUGqhH7.js.map} +1 -1
  315. package/dist/typewriter.cjs +1 -1
  316. package/dist/typewriter.js +1 -1
  317. package/dist/{typography-MN7P8my2.js → typography-D7qcpK__.js} +2 -2
  318. package/dist/{typography-MN7P8my2.js.map → typography-D7qcpK__.js.map} +1 -1
  319. package/dist/{typography-XN-pEi3Q.cjs → typography-DLFUQ47p.cjs} +2 -2
  320. package/dist/{typography-XN-pEi3Q.cjs.map → typography-DLFUQ47p.cjs.map} +1 -1
  321. package/dist/typography.cjs +1 -1
  322. package/dist/typography.js +1 -1
  323. package/package.json +18 -18
  324. package/types/src/autocomplete/autocomplete.d.ts +5 -4
  325. package/types/src/button/button.d.ts +2 -0
  326. package/types/src/button/icon-button.d.ts +2 -0
  327. package/types/src/card/card.d.ts +2 -0
  328. package/types/src/checkbox/checkbox.d.ts +2 -0
  329. package/types/src/chips/assist-chip.d.ts +2 -0
  330. package/types/src/chips/filter-chip.d.ts +2 -0
  331. package/types/src/chips/input-chip.d.ts +2 -0
  332. package/types/src/chips/suggestion-chip.d.ts +2 -0
  333. package/types/src/details/details.d.ts +2 -0
  334. package/types/src/form/form-v2.d.ts +2 -0
  335. package/types/src/form/form.d.ts +2 -0
  336. package/types/src/input/input.d.ts +2 -0
  337. package/types/src/textarea/textarea.d.ts +2 -0
  338. package/dist/autocomplete-CG2YtfwU.cjs +0 -112
  339. package/dist/autocomplete-CG2YtfwU.cjs.map +0 -1
  340. package/dist/autocomplete-DzZQusAY.js +0 -319
  341. package/dist/autocomplete-DzZQusAY.js.map +0 -1
  342. package/dist/checkbox-4mBWkzKG.js.map +0 -1
  343. package/dist/checkbox-CIMDI5hW.cjs +0 -40
  344. package/dist/checkbox-CIMDI5hW.cjs.map +0 -1
  345. package/dist/context-object-bNADqf9U.cjs +0 -2
  346. package/dist/context-object-bNADqf9U.cjs.map +0 -1
  347. package/dist/context-object-u5gBaozZ.js.map +0 -1
  348. package/dist/tailwind.mixin-9XFzAXGw.js +0 -43
  349. package/dist/tailwind.mixin-ChrVaJHF.cjs +0 -2
@@ -0,0 +1,332 @@
1
+ import { BehaviorSubject as _, combineLatest as x } from "rxjs";
2
+ import { classMap as f } from "lit/directives/class-map.js";
3
+ import "lit/directives/style-map.js";
4
+ import { property as u, state as d, query as g, queryAssignedElements as V, customElement as S } from "lit/decorators.js";
5
+ import "./tailwind.mixin-CkQXl1kF.js";
6
+ import { $ as w } from "./litElement.mixin-3N_m8Nzd.js";
7
+ import { html as h } from "lit";
8
+ import { createRef as O, ref as b } from "lit/directives/ref.js";
9
+ import { repeat as k } from "lit/directives/repeat.js";
10
+ import { when as v } from "lit/directives/when.js";
11
+ import { tap as y, takeUntil as $, distinctUntilChanged as C, debounceTime as E, take as R } from "rxjs/operators";
12
+ import { s as m } from "./search-6Hr7K1gh.js";
13
+ import "./input-chip-Ddvjmzdt.js";
14
+ var D = Object.defineProperty, A = Object.getOwnPropertyDescriptor, a = (e, t, i, n) => {
15
+ for (var r, s = n > 1 ? void 0 : n ? A(t, i) : t, o = e.length - 1; o >= 0; o--) (r = e[o]) && (s = (n ? r(t, i, s) : r(s)) || s);
16
+ return n && s && D(t, i, s), s;
17
+ };
18
+ let l = class extends w(":host{display:block;border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important}:host:focus{box-shadow:unset!important}@keyframes onAutoFillStart{}sch-input::part(input):-webkit-autofill,sch-input input:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:1ms}") {
19
+ constructor() {
20
+ super(...arguments), this.required = !1, this.placeholder = "", this.label = "", this.name = "", this.maxHeight = "300px", this.multi = !1, this.description = "", this.size = "md", this.autocomplete = "off", this.debounceMs = 200, this.similarityThreshold = 0.3, this.error = !1, this.validationMessage = "", this._open = !1, this._inputValue = "", this._visibleOptionsCount = 0, this._hasResults = !0, this._isSelectingOption = !1, this._inputElementRef = O(), this._selectedValue$ = new _(""), this._selectedValues$ = new _([]), this._inputValue$ = new _("");
21
+ }
22
+ get values() {
23
+ return [...this._selectedValues$.value];
24
+ }
25
+ set values(e) {
26
+ this._selectedValues$.next(Array.isArray(e) ? [...e] : []);
27
+ }
28
+ get value() {
29
+ return this.multi ? this._selectedValues$.value.join(",") : this._selectedValue$.value;
30
+ }
31
+ set value(e) {
32
+ if (this.multi) {
33
+ const t = e ? e.split(",").map((n) => n.trim()).filter(Boolean) : [], i = this._selectedValues$.value;
34
+ JSON.stringify(t) !== JSON.stringify(i) && this._selectedValues$.next(t);
35
+ } else e !== this._selectedValue$.value && this._selectedValue$.next(e);
36
+ }
37
+ connectedCallback() {
38
+ super.connectedCallback(), this.id || (this.id = `sch-autocomplete-${Math.random().toString(36).slice(2, 9)}`), this._setupAutocompleteLogic(), this._setupDocumentClickHandler();
39
+ }
40
+ _setupAutocompleteLogic() {
41
+ x([this._selectedValue$, this._selectedValues$]).pipe(y(([e, t]) => {
42
+ this._updateOptionSelection(e, t);
43
+ }), $(this.disconnecting)).subscribe(), this._inputValue$.pipe(C(), E(this.debounceMs), y((e) => {
44
+ this._open && this._filterOptions(e);
45
+ }), $(this.disconnecting)).subscribe();
46
+ }
47
+ _setupOptionHandlers() {
48
+ this._options.forEach((e, t) => {
49
+ e.setAttribute("role", "option"), e.tabIndex = -1, e.id || (e.id = `${this.id}-option-${t}`), e.onmousedown = (i) => {
50
+ i.preventDefault(), this._isSelectingOption = !0;
51
+ }, e.onclick = (i) => {
52
+ i.stopPropagation(), this._selectOption(e), setTimeout(() => {
53
+ this._isSelectingOption = !1;
54
+ }, 50);
55
+ };
56
+ });
57
+ }
58
+ _updateOptionSelection(e, t) {
59
+ this._options.forEach((i) => {
60
+ i.selected = this.multi ? t.includes(i.value) : i.value === e, i.setAttribute("aria-selected", String(i.selected));
61
+ });
62
+ }
63
+ _filterOptions(e) {
64
+ const t = e.trim();
65
+ if (t) {
66
+ const i = this._options.map((r) => {
67
+ const s = r.label || r.textContent || "", o = r.value, p = m(t, s), c = m(t, o);
68
+ return { option: r, score: Math.max(1.1 * p, c) };
69
+ });
70
+ i.sort((r, s) => s.score - r.score);
71
+ let n = 0;
72
+ i.forEach((r, s) => {
73
+ const { option: o, score: p } = r;
74
+ p < this.similarityThreshold ? o.hidden = !0 : (o.hidden = !1, n++, o.style.order = String(s));
75
+ }), this._visibleOptionsCount = n, this._hasResults = n > 0;
76
+ } else this._options.forEach((i) => {
77
+ i.hidden = !1, i.style.order = "0";
78
+ }), this._visibleOptionsCount = this._options.length, this._hasResults = !0;
79
+ this._announceToScreenReader(this._visibleOptionsCount > 0 ? `${this._visibleOptionsCount} option${this._visibleOptionsCount === 1 ? "" : "s"} available.` : "No results found.");
80
+ }
81
+ _selectOption(e) {
82
+ if (this.multi) {
83
+ const t = this._selectedValues$.value, i = t.indexOf(e.value) > -1 ? t.filter((n) => n !== e.value) : [...t, e.value];
84
+ this._selectedValues$.next(i), this._announceToScreenReader(i.length > 0 ? `Selected: ${this._getSelectedLabels().join(", ")}` : "No options selected"), this._fireChangeEvent();
85
+ } else this._selectedValue$.next(e.value), this._fireChangeEvent(), this._open = !1, this._inputValue = e.label || e.textContent || "", this._inputValue$.next(this._inputValue), setTimeout(() => this._inputElementRef.value?.blur(), 100), this._announceToScreenReader(`Selected: ${e.label || e.textContent}`);
86
+ }
87
+ _setupDocumentClickHandler() {
88
+ const e = (t) => {
89
+ if (!this._open) return;
90
+ const i = t.composedPath();
91
+ i.includes(this) || this._options.some((n) => i.includes(n)) || (this._open = !1, this._updateInputDisplay());
92
+ };
93
+ document.addEventListener("click", e), this.disconnecting.pipe(R(1)).subscribe(() => {
94
+ document.removeEventListener("click", e);
95
+ });
96
+ }
97
+ _updateInputDisplay() {
98
+ if (this.multi || this._open) return;
99
+ const e = this._selectedValue$.value, t = this._options.find((i) => i.value === e);
100
+ this._inputValue = t && (t.label || t.textContent) || "", this._inputValue$.next(this._inputValue), this._inputElementRef.value && (this._inputElementRef.value.value = this._inputValue);
101
+ }
102
+ _getSelectedLabels() {
103
+ return this._options.filter((e) => this.multi ? this._selectedValues$.value.includes(e.value) : e.value === this._selectedValue$.value).map((e) => e.label || e.textContent || "");
104
+ }
105
+ _announceToScreenReader(e) {
106
+ const t = this.shadowRoot?.querySelector("#live-status");
107
+ t && (t.textContent = e);
108
+ }
109
+ _fireChangeEvent() {
110
+ const e = { value: this.value };
111
+ this.multi && (e.values = [...this._selectedValues$.value]), this.dispatchEvent(new CustomEvent("change", { detail: e, bubbles: !0, composed: !0 }));
112
+ }
113
+ checkValidity() {
114
+ return !this.required || (this.multi ? this._selectedValues$.value.length > 0 : !!this._selectedValue$.value);
115
+ }
116
+ reportValidity() {
117
+ return this._inputElementRef.value ? this._inputElementRef.value.reportValidity() : this.checkValidity();
118
+ }
119
+ firstUpdated() {
120
+ this._setupOptionHandlers(), this.shadowRoot?.querySelector("slot")?.addEventListener("slotchange", () => {
121
+ this._setupOptionHandlers(), this._updateOptionSelection(this._selectedValue$.value, this._selectedValues$.value);
122
+ });
123
+ }
124
+ handleChipRemove(e) {
125
+ const t = this._selectedValues$.value.filter((i) => i !== e);
126
+ this._selectedValues$.next(t), this._fireChangeEvent(), this._announceToScreenReader(`Removed: ${this._getChipLabel(e)}`);
127
+ }
128
+ _getChipLabel(e) {
129
+ const t = this._options.find((i) => i.value === e);
130
+ return t && (t.label || t.textContent) || e;
131
+ }
132
+ _focusTextInput() {
133
+ this._inputElementRef.value && this._inputElementRef.value.focus();
134
+ }
135
+ render() {
136
+ const e = `${this.id}-desc`, { height: t, padding: i, fontSize: n, labelSize: r } = (() => {
137
+ switch (this.size) {
138
+ case "sm":
139
+ return { height: "min-h-[40px]", padding: "px-2", fontSize: "text-sm", labelSize: "text-sm" };
140
+ case "lg":
141
+ return { height: "min-h-[60px]", padding: "px-5", fontSize: "text-lg", labelSize: "text-lg" };
142
+ default:
143
+ return { height: "min-h-[50px]", padding: "px-4", fontSize: "text-base", labelSize: "text-base" };
144
+ }
145
+ })();
146
+ return h`
147
+ <div class="relative">
148
+ <!-- Screen reader live region -->
149
+ <div id="live-status" role="status" aria-live="polite" class="sr-only"></div>
150
+
151
+ <!-- Description -->
152
+ ${this.description ? h`<div id="${e}" class="sr-only">${this.description}</div>` : ""}
153
+
154
+ <!-- Custom input wrapper for Gmail-style chip input -->
155
+ <slot name="trigger">
156
+ ${v(this.multi, () => h`
157
+ <!-- Custom multi-select input with inline chips -->
158
+ <div class="relative">
159
+ ${v(this.label, () => h`
160
+ <label class="${f({ "block mb-1 font-medium": !0, "text-primary-default": !this.error, "text-error-default": this.error, [r]: !0 })}">
161
+ ${this.label}${this.required ? h`<span class="text-error-default ml-1">*</span>` : ""}
162
+ </label>
163
+ `)}
164
+ <div
165
+ class="${f({ "flex flex-wrap items-center gap-1": !0, [t]: !0, [i]: !0, "block w-full min-w-0 rounded-[8px] border-0": !0, "bg-surface-highest text-surface-on": !0, "ring-0 ring-inset focus-within:ring-1 focus-within:ring-inset": !0, "ring-secondary-default focus-within:ring-secondary-default": !this.error, "ring-error-default focus-within:ring-error-default": this.error, "cursor-text transition-colors duration-200": !0 })}"
166
+ @click=${() => this._focusTextInput()}
167
+ role="combobox"
168
+ aria-autocomplete="list"
169
+ aria-haspopup="listbox"
170
+ aria-controls="options"
171
+ aria-expanded=${this._open}
172
+ >
173
+ <!-- Render chips inline -->
174
+ ${k(this._selectedValues$.value, (s) => s, (s) => h`
175
+ <schmancy-input-chip
176
+ .value=${s}
177
+ @remove=${(o) => this.handleChipRemove(o.detail.value)}
178
+ class="flex-shrink-0 my-0.5"
179
+ >
180
+ ${this._getChipLabel(s)}
181
+ </schmancy-input-chip>
182
+ `)}
183
+
184
+ <!-- Text input for typing -->
185
+ <input
186
+ ${b(this._inputElementRef)}
187
+ id="autocomplete-input"
188
+ type="text"
189
+ class="flex-1 min-w-[120px] py-1 bg-transparent border-none outline-none ${n} font-medium text-surface-on placeholder:text-muted"
190
+ name=${this.name || this.label?.toLowerCase().replace(/\s+/g, "-") || ""}
191
+ .placeholder=${this._selectedValues$.value.length > 0 ? "Add more..." : this.placeholder}
192
+ .value=${this._inputValue}
193
+ .autocomplete=${this.autocomplete}
194
+ @input=${(s) => {
195
+ const o = s.target.value;
196
+ this._inputValue = o, this._inputValue$.next(o);
197
+ }}
198
+ @focus=${(s) => {
199
+ s.stopPropagation(), this._inputValue = "", this._inputValue$.next(""), this._open = !0;
200
+ }}
201
+ @keydown=${(s) => {
202
+ this._handleKeyDown(s);
203
+ }}
204
+ @blur=${() => {
205
+ this._handleAutoSelectOnBlur();
206
+ }}
207
+ />
208
+ </div>
209
+
210
+ <!-- Validation message -->
211
+ ${v(this.error && this.validationMessage, () => h`
212
+ <div class="mt-1 text-sm text-error-default">
213
+ ${this.validationMessage}
214
+ </div>
215
+ `)}
216
+ </div>
217
+ `, () => h`
218
+ <!-- Regular single-select input -->
219
+ <schmancy-input
220
+ .size=${this.size}
221
+ ${b(this._inputElementRef)}
222
+ id="autocomplete-input"
223
+ class="w-full"
224
+ .name=${this.name || this.label?.toLowerCase().replace(/\s+/g, "-") || ""}
225
+ .label=${this.label}
226
+ .placeholder=${this.placeholder}
227
+ .required=${this.required}
228
+ .value=${this._inputValue}
229
+ type="text"
230
+ autocomplete=${this.autocomplete}
231
+ clickable
232
+ role="combobox"
233
+ aria-autocomplete="list"
234
+ aria-haspopup="listbox"
235
+ aria-controls="options"
236
+ aria-expanded=${this._open}
237
+ aria-describedby=${this.description ? e : void 0}
238
+ @input=${(s) => {
239
+ const o = s.target.value;
240
+ this._inputValue = o, this._inputValue$.next(o);
241
+ }}
242
+ @focus=${(s) => {
243
+ s.stopPropagation(), this._open = !0;
244
+ }}
245
+ @click=${(s) => {
246
+ s.stopPropagation(), this._open = !0;
247
+ }}
248
+ @keydown=${(s) => {
249
+ this._handleKeyDown(s);
250
+ }}
251
+ @blur=${() => {
252
+ this._handleAutoSelectOnBlur();
253
+ }}
254
+ >
255
+ </schmancy-input>
256
+ `)}
257
+ </slot>
258
+
259
+ <!-- Options dropdown -->
260
+ <ul
261
+ id="options"
262
+ class=${f({ absolute: !0, "z-[1000]": !0, "mt-1": !0, "w-full": !0, "rounded-md": !0, "shadow-md": !0, "overflow-auto": !0, "min-w-full": !0, "bg-surface-low": !0, flex: !0, "flex-col": !0 })}
263
+ role="listbox"
264
+ aria-multiselectable=${this.multi ? "true" : "false"}
265
+ aria-label=${`${this.label || "Options"} dropdown`}
266
+ ?hidden=${!this._open}
267
+ style="max-height: ${this.maxHeight}; display: ${this._open ? "flex" : "none"};"
268
+ @slotchange=${() => {
269
+ this._setupOptionHandlers();
270
+ }}
271
+ >
272
+ <slot></slot>
273
+ ${this._hasResults ? "" : h`
274
+ <li class="px-3 py-2 text-sm text-muted">No results found</li>
275
+ `}
276
+ </ul>
277
+ </div>
278
+ `;
279
+ }
280
+ _handleAutoSelectOnBlur() {
281
+ if (this._isSelectingOption || this.multi || !this._open || !this._inputValue.trim()) return;
282
+ const e = this._inputValue.trim();
283
+ let t = null, i = 0;
284
+ this._options.forEach((n) => {
285
+ if (n.hidden) return;
286
+ const r = n.label || n.textContent || "", s = n.value, o = m(e, r), p = m(e, s), c = Math.max(1.1 * o, p);
287
+ c > i && c >= this.similarityThreshold && (i = c, t = n);
288
+ }), t && (this._selectOption(t), this._open = !1);
289
+ }
290
+ _handleKeyDown(e) {
291
+ const t = this._open, i = this._selectedValues$.value;
292
+ if (this.multi && e.key === "Backspace" && !this._inputValue && i.length > 0 && !t) {
293
+ e.preventDefault();
294
+ const o = i[i.length - 1];
295
+ return void this.handleChipRemove(o);
296
+ }
297
+ if (!t && (e.key === "ArrowDown" || e.key === "Enter")) return e.preventDefault(), this._open = !0, void setTimeout(() => {
298
+ this._options.find((p) => !p.hidden)?.focus();
299
+ }, 10);
300
+ if (!t) return;
301
+ const n = this._options.filter((o) => !o.hidden).sort((o, p) => parseInt(o.style.order || "0") - parseInt(p.style.order || "0")), r = n.find((o) => o === document.activeElement), s = r ? n.indexOf(r) : -1;
302
+ switch (e.key) {
303
+ case "Escape":
304
+ e.preventDefault(), this._open = !1, this._updateInputDisplay(), this._inputElementRef.value?.focus();
305
+ break;
306
+ case "Tab":
307
+ this._open = !1, this._updateInputDisplay();
308
+ break;
309
+ case "ArrowDown":
310
+ e.preventDefault();
311
+ const o = s < n.length - 1 ? s + 1 : 0;
312
+ n[o]?.focus();
313
+ break;
314
+ case "ArrowUp":
315
+ e.preventDefault();
316
+ const p = s > 0 ? s - 1 : n.length - 1;
317
+ n[p]?.focus();
318
+ break;
319
+ case "Home":
320
+ e.preventDefault(), n[0]?.focus();
321
+ break;
322
+ case "End":
323
+ e.preventDefault(), n[n.length - 1]?.focus();
324
+ break;
325
+ case "Enter":
326
+ case " ":
327
+ r && (e.preventDefault(), this._selectOption(r));
328
+ }
329
+ }
330
+ };
331
+ a([u({ type: Boolean })], l.prototype, "required", 2), a([u({ type: String })], l.prototype, "placeholder", 2), a([u({ type: String, reflect: !0 })], l.prototype, "label", 2), a([u({ type: String })], l.prototype, "name", 2), a([u({ type: String })], l.prototype, "maxHeight", 2), a([u({ type: Boolean })], l.prototype, "multi", 2), a([u({ type: String })], l.prototype, "description", 2), a([u({ type: String, reflect: !0 })], l.prototype, "size", 2), a([u({ type: String })], l.prototype, "autocomplete", 2), a([u({ type: Number })], l.prototype, "debounceMs", 2), a([u({ type: Number })], l.prototype, "similarityThreshold", 2), a([u({ type: Boolean })], l.prototype, "error", 2), a([u({ type: String })], l.prototype, "validationMessage", 2), a([u({ type: Array })], l.prototype, "values", 1), a([u({ type: String, reflect: !0 })], l.prototype, "value", 1), a([d()], l.prototype, "_open", 2), a([d()], l.prototype, "_inputValue", 2), a([d()], l.prototype, "_visibleOptionsCount", 2), a([d()], l.prototype, "_hasResults", 2), a([g("#options")], l.prototype, "_listbox", 2), a([g("sch-input")], l.prototype, "_input", 2), a([V({ flatten: !0 })], l.prototype, "_options", 2), l = a([S("schmancy-autocomplete")], l);
332
+ //# sourceMappingURL=autocomplete-CTrPzVTE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-CTrPzVTE.js","sources":["../src/autocomplete/autocomplete.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { InputSize, SchmancyInput } from '@schmancy/input'\nimport SchmancyOption from '@schmancy/option/option'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { when } from 'lit/directives/when.js'\nimport {\n BehaviorSubject,\n combineLatest\n} from 'rxjs'\nimport {\n debounceTime,\n distinctUntilChanged,\n take,\n takeUntil,\n tap\n} from 'rxjs/operators'\nimport style from './autocomplete.scss?inline'\n\n// Import the similarity function (or include it inline)\nimport { similarity } from '../utils/search'\n// Import chip component for multi-select display\nimport '../chips/input-chip'\n\nexport type SchmancyAutocompleteChangeEvent = CustomEvent<{\n value: string | string[]\n values?: string[]\n}>\n\ninterface FilteredOption {\n option: SchmancyOption\n score: number\n}\n\n@customElement('schmancy-autocomplete')\nexport default class SchmancyAutocomplete extends $LitElement(style) {\n // Public API properties\n @property({ type: Boolean }) required = false\n @property({ type: String }) placeholder = ''\n @property({ type: String, reflect: true }) label = ''\n @property({ type: String }) name = ''\n @property({ type: String }) maxHeight = '300px'\n @property({ type: Boolean }) multi = false\n @property({ type: String }) description = ''\n @property({ type: String, reflect: true }) size: InputSize = 'md'\n @property({ type: String }) autocomplete = 'off'\n @property({ type: Number }) debounceMs = 200\n @property({ type: Number }) similarityThreshold = 0.3 // Minimum similarity score to show option\n @property({ type: Boolean }) error = false\n @property({ type: String }) validationMessage = ''\n\n // Values property for multi-select mode\n @property({ type: Array })\n get values() {\n return [...this._selectedValues$.value]\n }\n set values(vals: string[]) {\n this._selectedValues$.next(Array.isArray(vals) ? [...vals] : [])\n }\n\n // Value property\n @property({ type: String, reflect: true })\n get value() {\n return this.multi \n ? this._selectedValues$.value.join(',')\n : this._selectedValue$.value\n }\n set value(val: string) {\n if (this.multi) {\n const newValues = val ? val.split(',').map(v => v.trim()).filter(Boolean) : []\n const currentValues = this._selectedValues$.value\n // Only update if values actually changed\n if (JSON.stringify(newValues) !== JSON.stringify(currentValues)) {\n this._selectedValues$.next(newValues)\n }\n } else {\n // Only update if value actually changed\n if (val !== this._selectedValue$.value) {\n this._selectedValue$.next(val)\n }\n }\n }\n\n // State\n @state() private _open = false\n @state() private _inputValue = ''\n @state() private _visibleOptionsCount = 0\n @state() private _hasResults = true\n\n // Track if we're clicking on an option to prevent blur interference\n private _isSelectingOption = false\n\n // DOM references\n @query('#options') _listbox!: HTMLUListElement\n @query('sch-input') _input!: SchmancyInput\n @queryAssignedElements({ flatten: true }) private _options!: SchmancyOption[]\n private _inputElementRef = createRef<HTMLInputElement>()\n\n // RxJS Subjects - only what we actually need\n private _selectedValue$ = new BehaviorSubject<string>('')\n private _selectedValues$ = new BehaviorSubject<string[]>([])\n private _inputValue$ = new BehaviorSubject<string>('')\n\n connectedCallback() {\n super.connectedCallback()\n\n if (!this.id) {\n this.id = `sch-autocomplete-${Math.random().toString(36).slice(2, 9)}`\n }\n\n this._setupAutocompleteLogic()\n this._setupDocumentClickHandler()\n }\n\n private _setupAutocompleteLogic() {\n // Sync selection state\n combineLatest([\n this._selectedValue$,\n this._selectedValues$\n ]).pipe(\n tap(([selectedValue, selectedValues]) => {\n this._updateOptionSelection(selectedValue, selectedValues)\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Filter options based on input\n this._inputValue$.pipe(\n distinctUntilChanged(),\n debounceTime(this.debounceMs),\n tap(searchTerm => {\n if (this._open) {\n this._filterOptions(searchTerm)\n }\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private _setupOptionHandlers() {\n this._options.forEach((option, index) => {\n option.setAttribute('role', 'option')\n option.tabIndex = -1\n if (!option.id) {\n option.id = `${this.id}-option-${index}`\n }\n // Prevent blur handler from interfering with option selection\n option.onmousedown = (e: MouseEvent) => {\n e.preventDefault() // Prevent focus loss\n this._isSelectingOption = true\n }\n\n // Handle the actual selection\n option.onclick = (e: MouseEvent) => {\n e.stopPropagation()\n this._selectOption(option)\n // Reset flag after a short delay\n setTimeout(() => {\n this._isSelectingOption = false\n }, 50)\n }\n })\n }\n\n private _updateOptionSelection(selectedValue: string, selectedValues: string[]) {\n this._options.forEach(option => {\n option.selected = this.multi\n ? selectedValues.includes(option.value)\n : option.value === selectedValue\n option.setAttribute('aria-selected', String(option.selected))\n })\n }\n\n private _filterOptions(searchTerm: string) {\n const term = searchTerm.trim()\n\n if (!term) {\n // Show all options if no search term\n this._options.forEach(option => {\n option.hidden = false\n option.style.order = '0'\n })\n this._visibleOptionsCount = this._options.length\n this._hasResults = true\n } else {\n // Calculate similarity scores for all options\n const scoredOptions: FilteredOption[] = this._options.map(option => {\n const optionLabel = option.label || option.textContent || ''\n const optionValue = option.value\n\n const labelScore = similarity(term, optionLabel)\n const valueScore = similarity(term, optionValue)\n const score = Math.max(labelScore * 1.1, valueScore)\n\n return { option, score }\n })\n\n // Sort by score (highest first)\n scoredOptions.sort((a, b) => b.score - a.score)\n\n // Apply visibility and ordering\n let visibleCount = 0\n scoredOptions.forEach((item, index) => {\n const { option, score } = item\n\n if (score < this.similarityThreshold) {\n option.hidden = true\n } else {\n option.hidden = false\n visibleCount++\n option.style.order = String(index)\n }\n })\n\n this._visibleOptionsCount = visibleCount\n this._hasResults = visibleCount > 0\n }\n\n this._announceToScreenReader(\n this._visibleOptionsCount > 0\n ? `${this._visibleOptionsCount} option${this._visibleOptionsCount === 1 ? '' : 's'} available.`\n : 'No results found.'\n )\n }\n\n private _selectOption(option: SchmancyOption) {\n if (this.multi) {\n const currentValues = this._selectedValues$.value\n const index = currentValues.indexOf(option.value)\n const newValues = index > -1\n ? currentValues.filter(v => v !== option.value)\n : [...currentValues, option.value]\n\n this._selectedValues$.next(newValues)\n this._announceToScreenReader(\n newValues.length > 0\n ? `Selected: ${this._getSelectedLabels().join(', ')}`\n : 'No options selected'\n )\n this._fireChangeEvent()\n } else {\n // Fix the bug: Update value BEFORE firing event\n this._selectedValue$.next(option.value)\n\n // Now fire event with the NEW value\n this._fireChangeEvent()\n\n // Update UI\n this._open = false\n this._inputValue = option.label || option.textContent || ''\n this._inputValue$.next(this._inputValue)\n\n // Blur the input\n setTimeout(() => this._inputElementRef.value?.blur(), 100)\n\n this._announceToScreenReader(`Selected: ${option.label || option.textContent}`)\n }\n }\n\n private _setupDocumentClickHandler() {\n // Simple document click handler\n const handleDocumentClick = (e: MouseEvent) => {\n if (!this._open) return\n\n const path = e.composedPath()\n if (!path.includes(this) && !this._options.some(opt => path.includes(opt))) {\n this._open = false\n this._updateInputDisplay()\n }\n }\n\n document.addEventListener('click', handleDocumentClick)\n\n // Cleanup on disconnect\n this.disconnecting.pipe(take(1)).subscribe(() => {\n document.removeEventListener('click', handleDocumentClick)\n })\n }\n\n\n private _updateInputDisplay() {\n // For multi-select, we don't update input display since chips show the selections\n if (this.multi || this._open) return\n\n const selectedValue = this._selectedValue$.value\n const option = this._options.find(opt => opt.value === selectedValue)\n this._inputValue = option ? option.label || option.textContent || '' : ''\n this._inputValue$.next(this._inputValue)\n\n if (this._inputElementRef.value) {\n this._inputElementRef.value.value = this._inputValue\n }\n }\n\n private _getSelectedLabels(): string[] {\n return this._options\n .filter(option => \n this.multi \n ? this._selectedValues$.value.includes(option.value)\n : option.value === this._selectedValue$.value\n )\n .map(option => option.label || option.textContent || '')\n }\n\n private _announceToScreenReader(message: string) {\n const liveRegion = this.shadowRoot?.querySelector('#live-status')\n if (liveRegion) {\n liveRegion.textContent = message\n }\n }\n\n private _fireChangeEvent() {\n const detail: SchmancyAutocompleteChangeEvent['detail'] = {\n value: this.value,\n }\n\n if (this.multi) {\n detail.values = [...this._selectedValues$.value]\n }\n\n this.dispatchEvent(\n new CustomEvent<SchmancyAutocompleteChangeEvent['detail']>('change', {\n detail,\n bubbles: true,\n composed: true,\n })\n )\n }\n\n public checkValidity(): boolean {\n if (!this.required) return true\n return this.multi \n ? this._selectedValues$.value.length > 0 \n : Boolean(this._selectedValue$.value)\n }\n\n public reportValidity(): boolean {\n if (this._inputElementRef.value) {\n return this._inputElementRef.value.reportValidity()\n }\n return this.checkValidity()\n }\n\n firstUpdated() {\n this._setupOptionHandlers()\n\n // Update options when slot changes\n const slot = this.shadowRoot?.querySelector('slot')\n slot?.addEventListener('slotchange', () => {\n this._setupOptionHandlers()\n this._updateOptionSelection(this._selectedValue$.value, this._selectedValues$.value)\n })\n }\n\n private handleChipRemove(value: string) {\n const currentValues = this._selectedValues$.value\n const newValues = currentValues.filter(v => v !== value)\n this._selectedValues$.next(newValues)\n this._fireChangeEvent()\n this._announceToScreenReader(`Removed: ${this._getChipLabel(value)}`)\n }\n\n private _getChipLabel(value: string): string {\n const option = this._options.find(opt => opt.value === value)\n return option ? option.label || option.textContent || value : value\n }\n\n private _focusTextInput() {\n if (this._inputElementRef.value) {\n this._inputElementRef.value.focus()\n }\n }\n\n render() {\n const descriptionId = `${this.id}-desc`\n\n // Get size-based styling to match Schmancy input\n const getSizeStyles = () => {\n switch (this.size) {\n case 'sm':\n return {\n height: 'min-h-[40px]',\n padding: 'px-2',\n fontSize: 'text-sm', // 14px\n labelSize: 'text-sm'\n }\n case 'lg':\n return {\n height: 'min-h-[60px]',\n padding: 'px-5',\n fontSize: 'text-lg', // 18px\n labelSize: 'text-lg'\n }\n case 'md':\n default:\n return {\n height: 'min-h-[50px]',\n padding: 'px-4',\n fontSize: 'text-base', // 16px\n labelSize: 'text-base'\n }\n }\n }\n\n const { height, padding, fontSize, labelSize } = getSizeStyles()\n\n return html`\n <div class=\"relative\">\n <!-- Screen reader live region -->\n <div id=\"live-status\" role=\"status\" aria-live=\"polite\" class=\"sr-only\"></div>\n\n <!-- Description -->\n ${this.description ? html`<div id=\"${descriptionId}\" class=\"sr-only\">${this.description}</div>` : ''}\n\n <!-- Custom input wrapper for Gmail-style chip input -->\n <slot name=\"trigger\">\n ${when(this.multi,\n () => html`\n <!-- Custom multi-select input with inline chips -->\n <div class=\"relative\">\n ${when(this.label, () => html`\n <label class=\"${classMap({\n 'block mb-1 font-medium': true,\n 'text-primary-default': !this.error,\n 'text-error-default': this.error,\n [labelSize]: true\n })}\">\n ${this.label}${this.required ? html`<span class=\"text-error-default ml-1\">*</span>` : ''}\n </label>\n `)}\n <div\n class=\"${classMap({\n 'flex flex-wrap items-center gap-1': true,\n [height]: true,\n [padding]: true,\n 'block w-full min-w-0 rounded-[8px] border-0': true,\n 'bg-surface-highest text-surface-on': true,\n 'ring-0 ring-inset focus-within:ring-1 focus-within:ring-inset': true,\n 'ring-secondary-default focus-within:ring-secondary-default': !this.error,\n 'ring-error-default focus-within:ring-error-default': this.error,\n 'cursor-text transition-colors duration-200': true\n })}\"\n @click=${() => this._focusTextInput()}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-controls=\"options\"\n aria-expanded=${this._open}\n >\n <!-- Render chips inline -->\n ${repeat(\n this._selectedValues$.value,\n value => value,\n value => html`\n <schmancy-input-chip\n .value=${value}\n @remove=${(e: CustomEvent) => this.handleChipRemove(e.detail.value)}\n class=\"flex-shrink-0 my-0.5\"\n >\n ${this._getChipLabel(value)}\n </schmancy-input-chip>\n `\n )}\n\n <!-- Text input for typing -->\n <input\n ${ref(this._inputElementRef)}\n id=\"autocomplete-input\"\n type=\"text\"\n class=\"flex-1 min-w-[120px] py-1 bg-transparent border-none outline-none ${fontSize} font-medium text-surface-on placeholder:text-muted\"\n name=${this.name || this.label?.toLowerCase().replace(/\\s+/g, '-') || ''}\n .placeholder=${this._selectedValues$.value.length > 0 ? 'Add more...' : this.placeholder}\n .value=${this._inputValue}\n .autocomplete=${this.autocomplete}\n @input=${(e: Event) => {\n const value = (e.target as HTMLInputElement).value\n this._inputValue = value\n this._inputValue$.next(value)\n }}\n @focus=${(e: FocusEvent) => {\n e.stopPropagation()\n // Clear input on focus for new searches\n this._inputValue = ''\n this._inputValue$.next('')\n this._open = true\n }}\n @keydown=${(e: KeyboardEvent) => {\n this._handleKeyDown(e)\n }}\n @blur=${() => {\n this._handleAutoSelectOnBlur()\n }}\n />\n </div>\n\n <!-- Validation message -->\n ${when(this.error && this.validationMessage, () => html`\n <div class=\"mt-1 text-sm text-error-default\">\n ${this.validationMessage}\n </div>\n `)}\n </div>\n `,\n () => html`\n <!-- Regular single-select input -->\n <schmancy-input\n .size=${this.size}\n ${ref(this._inputElementRef)}\n id=\"autocomplete-input\"\n class=\"w-full\"\n .name=${this.name || this.label?.toLowerCase().replace(/\\s+/g, '-') || ''}\n .label=${this.label}\n .placeholder=${this.placeholder}\n .required=${this.required}\n .value=${this._inputValue}\n type=\"text\"\n autocomplete=${this.autocomplete}\n clickable\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-controls=\"options\"\n aria-expanded=${this._open}\n aria-describedby=${this.description ? descriptionId : undefined}\n @input=${(e: Event) => {\n const value = (e.target as HTMLInputElement).value\n this._inputValue = value\n this._inputValue$.next(value)\n }}\n @focus=${(e: FocusEvent) => {\n e.stopPropagation()\n this._open = true\n }}\n @click=${(e: MouseEvent) => {\n e.stopPropagation()\n this._open = true\n }}\n @keydown=${(e: KeyboardEvent) => {\n this._handleKeyDown(e)\n }}\n @blur=${() => {\n this._handleAutoSelectOnBlur()\n }}\n >\n </schmancy-input>\n `\n )}\n </slot>\n\n <!-- Options dropdown -->\n <ul\n id=\"options\"\n class=${classMap({\n 'absolute': true,\n 'z-[1000]': true,\n 'mt-1': true,\n 'w-full': true,\n 'rounded-md': true,\n 'shadow-md': true,\n 'overflow-auto': true,\n 'min-w-full': true,\n 'bg-surface-low': true,\n 'flex': true,\n 'flex-col': true, // Enable flexbox for ordering\n })}\n role=\"listbox\"\n aria-multiselectable=${this.multi ? 'true' : 'false'}\n aria-label=${`${this.label || 'Options'} dropdown`}\n ?hidden=${!this._open}\n style=\"max-height: ${this.maxHeight}; display: ${this._open ? 'flex' : 'none'};\"\n @slotchange=${() => {\n this._setupOptionHandlers()\n }}\n >\n <slot></slot>\n ${!this._hasResults ? html`\n <li class=\"px-3 py-2 text-sm text-muted\">No results found</li>\n ` : ''}\n </ul>\n </div>\n `\n }\n\n private _handleAutoSelectOnBlur() {\n // Don't run if we're clicking on an option (prevents interference with click handler)\n if (this._isSelectingOption) {\n return\n }\n\n // Only auto-select in single-select mode and when dropdown is open with a search term\n if (this.multi || !this._open || !this._inputValue.trim()) {\n return\n }\n \n const searchTerm = this._inputValue.trim()\n \n // Find the best matching option using the same similarity logic as filtering\n let bestMatch: SchmancyOption | null = null\n let bestScore = 0\n \n this._options.forEach(option => {\n // Skip hidden options\n if (option.hidden) return\n \n // Get text to search in (prioritize label, then textContent, then value)\n const optionLabel = option.label || option.textContent || ''\n const optionValue = option.value\n \n // Calculate similarity scores for both label and value\n const labelScore = similarity(searchTerm, optionLabel)\n const valueScore = similarity(searchTerm, optionValue)\n \n // Use the higher score (prioritizing label matches)\n const score = Math.max(labelScore * 1.1, valueScore) // Slight boost for label matches\n \n // Keep track of best match that meets threshold\n if (score > bestScore && score >= this.similarityThreshold) {\n bestScore = score\n bestMatch = option\n }\n })\n \n // Auto-select the best match if found\n if (bestMatch) {\n // Select the option directly\n this._selectOption(bestMatch)\n\n // Close the dropdown\n this._open = false\n }\n }\n\n private _handleKeyDown(event: KeyboardEvent) {\n const isOpen = this._open\n const selectedValues = this._selectedValues$.value\n\n // Handle backspace to remove last chip in multi-select when input is empty\n if (this.multi && event.key === 'Backspace' && !this._inputValue && selectedValues.length > 0 && !isOpen) {\n event.preventDefault()\n const lastValue = selectedValues[selectedValues.length - 1]\n this.handleChipRemove(lastValue)\n return\n }\n\n if (!isOpen && (event.key === 'ArrowDown' || event.key === 'Enter')) {\n event.preventDefault()\n this._open = true\n\n setTimeout(() => {\n const firstVisible = this._options.find(opt => !opt.hidden)\n firstVisible?.focus()\n }, 10)\n return\n }\n\n if (!isOpen) return\n\n const visibleOptions = this._options.filter(opt => !opt.hidden)\n .sort((a, b) => parseInt(a.style.order || '0') - parseInt(b.style.order || '0'))\n\n const focusedOption = visibleOptions.find(opt => opt === document.activeElement)\n const currentIndex = focusedOption ? visibleOptions.indexOf(focusedOption) : -1\n\n switch (event.key) {\n case 'Escape':\n event.preventDefault()\n this._open = false\n this._updateInputDisplay()\n this._inputElementRef.value?.focus()\n break\n\n case 'Tab':\n this._open = false\n this._updateInputDisplay()\n break\n\n case 'ArrowDown':\n event.preventDefault()\n const nextIndex = currentIndex < visibleOptions.length - 1 ? currentIndex + 1 : 0\n visibleOptions[nextIndex]?.focus()\n break\n\n case 'ArrowUp':\n event.preventDefault()\n const prevIndex = currentIndex > 0 ? currentIndex - 1 : visibleOptions.length - 1\n visibleOptions[prevIndex]?.focus()\n break\n\n case 'Home':\n event.preventDefault()\n visibleOptions[0]?.focus()\n break\n\n case 'End':\n event.preventDefault()\n visibleOptions[visibleOptions.length - 1]?.focus()\n break\n\n case 'Enter':\n case ' ':\n if (focusedOption) {\n event.preventDefault()\n this._selectOption(focusedOption)\n }\n break\n }\n }\n}\n\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-autocomplete': SchmancyAutocomplete\n }\n}"],"names":["SchmancyAutocomplete","$LitElement","super","arguments","this","required","placeholder","label","name","maxHeight","multi","description","size","autocomplete","debounceMs","similarityThreshold","error","validationMessage","_open","_inputValue","_visibleOptionsCount","_hasResults","_isSelectingOption","_inputElementRef","createRef","_selectedValue$","BehaviorSubject","_selectedValues$","_inputValue$","values","value","vals","next","Array","isArray","join","val","newValues","split","map","v","trim","filter","Boolean","currentValues","JSON","stringify","connectedCallback","id","Math","random","toString","slice","_setupAutocompleteLogic","_setupDocumentClickHandler","combineLatest","pipe","tap","selectedValue","selectedValues","_updateOptionSelection","takeUntil","disconnecting","subscribe","distinctUntilChanged","debounceTime","searchTerm","_filterOptions","_setupOptionHandlers","_options","forEach","option","index","setAttribute","tabIndex","onmousedown","e","preventDefault","onclick","stopPropagation","_selectOption","setTimeout","selected","includes","String","term","scoredOptions","optionLabel","textContent","optionValue","labelScore","similarity","valueScore","score","max","sort","a","b","visibleCount","item","hidden","style","order","length","_announceToScreenReader","indexOf","_getSelectedLabels","_fireChangeEvent","blur","handleDocumentClick","path","composedPath","some","opt","_updateInputDisplay","document","addEventListener","take","removeEventListener","find","message","liveRegion","shadowRoot","querySelector","detail","dispatchEvent","CustomEvent","bubbles","composed","checkValidity","reportValidity","firstUpdated","_getChipLabel","_focusTextInput","focus","descriptionId","height","padding","fontSize","labelSize","getSizeStyles","html","when","classMap","repeat","handleChipRemove","ref","toLowerCase","replace","target","_handleKeyDown","_handleAutoSelectOnBlur","absolute","flex","bestMatch","bestScore","event","isOpen","key","lastValue","firstVisible","visibleOptions","parseInt","focusedOption","activeElement","currentIndex","nextIndex","prevIndex","__decorateClass","property","type","prototype","reflect","Number","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ "use strict";const m=require("rxjs"),f=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const a=require("lit/decorators.js");require("./tailwind.mixin-x6_PgjK6.cjs");const b=require("./litElement.mixin-Df8xHue5.cjs"),h=require("lit"),v=require("lit/directives/ref.js"),g=require("lit/directives/repeat.js"),y=require("lit/directives/when.js"),c=require("rxjs/operators"),_=require("./search-DWW8IoOp.cjs");require("./input-chip-IrLdDdsH.cjs");var $=Object.defineProperty,x=Object.getOwnPropertyDescriptor,r=(e,t,i,n)=>{for(var u,s=n>1?void 0:n?x(t,i):t,l=e.length-1;l>=0;l--)(u=e[l])&&(s=(n?u(t,i,s):u(s))||s);return n&&s&&$(t,i,s),s};let o=class extends b.$LitElement(":host{display:block;border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important}:host:focus{box-shadow:unset!important}@keyframes onAutoFillStart{}sch-input::part(input):-webkit-autofill,sch-input input:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:1ms}"){constructor(){super(...arguments),this.required=!1,this.placeholder="",this.label="",this.name="",this.maxHeight="300px",this.multi=!1,this.description="",this.size="md",this.autocomplete="off",this.debounceMs=200,this.similarityThreshold=.3,this.error=!1,this.validationMessage="",this._open=!1,this._inputValue="",this._visibleOptionsCount=0,this._hasResults=!0,this._isSelectingOption=!1,this._inputElementRef=v.createRef(),this._selectedValue$=new m.BehaviorSubject(""),this._selectedValues$=new m.BehaviorSubject([]),this._inputValue$=new m.BehaviorSubject("")}get values(){return[...this._selectedValues$.value]}set values(e){this._selectedValues$.next(Array.isArray(e)?[...e]:[])}get value(){return this.multi?this._selectedValues$.value.join(","):this._selectedValue$.value}set value(e){if(this.multi){const t=e?e.split(",").map(n=>n.trim()).filter(Boolean):[],i=this._selectedValues$.value;JSON.stringify(t)!==JSON.stringify(i)&&this._selectedValues$.next(t)}else e!==this._selectedValue$.value&&this._selectedValue$.next(e)}connectedCallback(){super.connectedCallback(),this.id||(this.id=`sch-autocomplete-${Math.random().toString(36).slice(2,9)}`),this._setupAutocompleteLogic(),this._setupDocumentClickHandler()}_setupAutocompleteLogic(){m.combineLatest([this._selectedValue$,this._selectedValues$]).pipe(c.tap(([e,t])=>{this._updateOptionSelection(e,t)}),c.takeUntil(this.disconnecting)).subscribe(),this._inputValue$.pipe(c.distinctUntilChanged(),c.debounceTime(this.debounceMs),c.tap(e=>{this._open&&this._filterOptions(e)}),c.takeUntil(this.disconnecting)).subscribe()}_setupOptionHandlers(){this._options.forEach((e,t)=>{e.setAttribute("role","option"),e.tabIndex=-1,e.id||(e.id=`${this.id}-option-${t}`),e.onmousedown=i=>{i.preventDefault(),this._isSelectingOption=!0},e.onclick=i=>{i.stopPropagation(),this._selectOption(e),setTimeout(()=>{this._isSelectingOption=!1},50)}})}_updateOptionSelection(e,t){this._options.forEach(i=>{i.selected=this.multi?t.includes(i.value):i.value===e,i.setAttribute("aria-selected",String(i.selected))})}_filterOptions(e){const t=e.trim();if(t){const i=this._options.map(u=>{const s=u.label||u.textContent||"",l=u.value,p=_.similarity(t,s),d=_.similarity(t,l);return{option:u,score:Math.max(1.1*p,d)}});i.sort((u,s)=>s.score-u.score);let n=0;i.forEach((u,s)=>{const{option:l,score:p}=u;p<this.similarityThreshold?l.hidden=!0:(l.hidden=!1,n++,l.style.order=String(s))}),this._visibleOptionsCount=n,this._hasResults=n>0}else this._options.forEach(i=>{i.hidden=!1,i.style.order="0"}),this._visibleOptionsCount=this._options.length,this._hasResults=!0;this._announceToScreenReader(this._visibleOptionsCount>0?`${this._visibleOptionsCount} option${this._visibleOptionsCount===1?"":"s"} available.`:"No results found.")}_selectOption(e){if(this.multi){const t=this._selectedValues$.value,i=t.indexOf(e.value)>-1?t.filter(n=>n!==e.value):[...t,e.value];this._selectedValues$.next(i),this._announceToScreenReader(i.length>0?`Selected: ${this._getSelectedLabels().join(", ")}`:"No options selected"),this._fireChangeEvent()}else this._selectedValue$.next(e.value),this._fireChangeEvent(),this._open=!1,this._inputValue=e.label||e.textContent||"",this._inputValue$.next(this._inputValue),setTimeout(()=>this._inputElementRef.value?.blur(),100),this._announceToScreenReader(`Selected: ${e.label||e.textContent}`)}_setupDocumentClickHandler(){const e=t=>{if(!this._open)return;const i=t.composedPath();i.includes(this)||this._options.some(n=>i.includes(n))||(this._open=!1,this._updateInputDisplay())};document.addEventListener("click",e),this.disconnecting.pipe(c.take(1)).subscribe(()=>{document.removeEventListener("click",e)})}_updateInputDisplay(){if(this.multi||this._open)return;const e=this._selectedValue$.value,t=this._options.find(i=>i.value===e);this._inputValue=t&&(t.label||t.textContent)||"",this._inputValue$.next(this._inputValue),this._inputElementRef.value&&(this._inputElementRef.value.value=this._inputValue)}_getSelectedLabels(){return this._options.filter(e=>this.multi?this._selectedValues$.value.includes(e.value):e.value===this._selectedValue$.value).map(e=>e.label||e.textContent||"")}_announceToScreenReader(e){const t=this.shadowRoot?.querySelector("#live-status");t&&(t.textContent=e)}_fireChangeEvent(){const e={value:this.value};this.multi&&(e.values=[...this._selectedValues$.value]),this.dispatchEvent(new CustomEvent("change",{detail:e,bubbles:!0,composed:!0}))}checkValidity(){return!this.required||(this.multi?this._selectedValues$.value.length>0:!!this._selectedValue$.value)}reportValidity(){return this._inputElementRef.value?this._inputElementRef.value.reportValidity():this.checkValidity()}firstUpdated(){this._setupOptionHandlers(),this.shadowRoot?.querySelector("slot")?.addEventListener("slotchange",()=>{this._setupOptionHandlers(),this._updateOptionSelection(this._selectedValue$.value,this._selectedValues$.value)})}handleChipRemove(e){const t=this._selectedValues$.value.filter(i=>i!==e);this._selectedValues$.next(t),this._fireChangeEvent(),this._announceToScreenReader(`Removed: ${this._getChipLabel(e)}`)}_getChipLabel(e){const t=this._options.find(i=>i.value===e);return t&&(t.label||t.textContent)||e}_focusTextInput(){this._inputElementRef.value&&this._inputElementRef.value.focus()}render(){const e=`${this.id}-desc`,{height:t,padding:i,fontSize:n,labelSize:u}=(()=>{switch(this.size){case"sm":return{height:"min-h-[40px]",padding:"px-2",fontSize:"text-sm",labelSize:"text-sm"};case"lg":return{height:"min-h-[60px]",padding:"px-5",fontSize:"text-lg",labelSize:"text-lg"};default:return{height:"min-h-[50px]",padding:"px-4",fontSize:"text-base",labelSize:"text-base"}}})();return h.html`
2
+ <div class="relative">
3
+ <!-- Screen reader live region -->
4
+ <div id="live-status" role="status" aria-live="polite" class="sr-only"></div>
5
+
6
+ <!-- Description -->
7
+ ${this.description?h.html`<div id="${e}" class="sr-only">${this.description}</div>`:""}
8
+
9
+ <!-- Custom input wrapper for Gmail-style chip input -->
10
+ <slot name="trigger">
11
+ ${y.when(this.multi,()=>h.html`
12
+ <!-- Custom multi-select input with inline chips -->
13
+ <div class="relative">
14
+ ${y.when(this.label,()=>h.html`
15
+ <label class="${f.classMap({"block mb-1 font-medium":!0,"text-primary-default":!this.error,"text-error-default":this.error,[u]:!0})}">
16
+ ${this.label}${this.required?h.html`<span class="text-error-default ml-1">*</span>`:""}
17
+ </label>
18
+ `)}
19
+ <div
20
+ class="${f.classMap({"flex flex-wrap items-center gap-1":!0,[t]:!0,[i]:!0,"block w-full min-w-0 rounded-[8px] border-0":!0,"bg-surface-highest text-surface-on":!0,"ring-0 ring-inset focus-within:ring-1 focus-within:ring-inset":!0,"ring-secondary-default focus-within:ring-secondary-default":!this.error,"ring-error-default focus-within:ring-error-default":this.error,"cursor-text transition-colors duration-200":!0})}"
21
+ @click=${()=>this._focusTextInput()}
22
+ role="combobox"
23
+ aria-autocomplete="list"
24
+ aria-haspopup="listbox"
25
+ aria-controls="options"
26
+ aria-expanded=${this._open}
27
+ >
28
+ <!-- Render chips inline -->
29
+ ${g.repeat(this._selectedValues$.value,s=>s,s=>h.html`
30
+ <schmancy-input-chip
31
+ .value=${s}
32
+ @remove=${l=>this.handleChipRemove(l.detail.value)}
33
+ class="flex-shrink-0 my-0.5"
34
+ >
35
+ ${this._getChipLabel(s)}
36
+ </schmancy-input-chip>
37
+ `)}
38
+
39
+ <!-- Text input for typing -->
40
+ <input
41
+ ${v.ref(this._inputElementRef)}
42
+ id="autocomplete-input"
43
+ type="text"
44
+ class="flex-1 min-w-[120px] py-1 bg-transparent border-none outline-none ${n} font-medium text-surface-on placeholder:text-muted"
45
+ name=${this.name||this.label?.toLowerCase().replace(/\s+/g,"-")||""}
46
+ .placeholder=${this._selectedValues$.value.length>0?"Add more...":this.placeholder}
47
+ .value=${this._inputValue}
48
+ .autocomplete=${this.autocomplete}
49
+ @input=${s=>{const l=s.target.value;this._inputValue=l,this._inputValue$.next(l)}}
50
+ @focus=${s=>{s.stopPropagation(),this._inputValue="",this._inputValue$.next(""),this._open=!0}}
51
+ @keydown=${s=>{this._handleKeyDown(s)}}
52
+ @blur=${()=>{this._handleAutoSelectOnBlur()}}
53
+ />
54
+ </div>
55
+
56
+ <!-- Validation message -->
57
+ ${y.when(this.error&&this.validationMessage,()=>h.html`
58
+ <div class="mt-1 text-sm text-error-default">
59
+ ${this.validationMessage}
60
+ </div>
61
+ `)}
62
+ </div>
63
+ `,()=>h.html`
64
+ <!-- Regular single-select input -->
65
+ <schmancy-input
66
+ .size=${this.size}
67
+ ${v.ref(this._inputElementRef)}
68
+ id="autocomplete-input"
69
+ class="w-full"
70
+ .name=${this.name||this.label?.toLowerCase().replace(/\s+/g,"-")||""}
71
+ .label=${this.label}
72
+ .placeholder=${this.placeholder}
73
+ .required=${this.required}
74
+ .value=${this._inputValue}
75
+ type="text"
76
+ autocomplete=${this.autocomplete}
77
+ clickable
78
+ role="combobox"
79
+ aria-autocomplete="list"
80
+ aria-haspopup="listbox"
81
+ aria-controls="options"
82
+ aria-expanded=${this._open}
83
+ aria-describedby=${this.description?e:void 0}
84
+ @input=${s=>{const l=s.target.value;this._inputValue=l,this._inputValue$.next(l)}}
85
+ @focus=${s=>{s.stopPropagation(),this._open=!0}}
86
+ @click=${s=>{s.stopPropagation(),this._open=!0}}
87
+ @keydown=${s=>{this._handleKeyDown(s)}}
88
+ @blur=${()=>{this._handleAutoSelectOnBlur()}}
89
+ >
90
+ </schmancy-input>
91
+ `)}
92
+ </slot>
93
+
94
+ <!-- Options dropdown -->
95
+ <ul
96
+ id="options"
97
+ class=${f.classMap({absolute:!0,"z-[1000]":!0,"mt-1":!0,"w-full":!0,"rounded-md":!0,"shadow-md":!0,"overflow-auto":!0,"min-w-full":!0,"bg-surface-low":!0,flex:!0,"flex-col":!0})}
98
+ role="listbox"
99
+ aria-multiselectable=${this.multi?"true":"false"}
100
+ aria-label=${`${this.label||"Options"} dropdown`}
101
+ ?hidden=${!this._open}
102
+ style="max-height: ${this.maxHeight}; display: ${this._open?"flex":"none"};"
103
+ @slotchange=${()=>{this._setupOptionHandlers()}}
104
+ >
105
+ <slot></slot>
106
+ ${this._hasResults?"":h.html`
107
+ <li class="px-3 py-2 text-sm text-muted">No results found</li>
108
+ `}
109
+ </ul>
110
+ </div>
111
+ `}_handleAutoSelectOnBlur(){if(this._isSelectingOption||this.multi||!this._open||!this._inputValue.trim())return;const e=this._inputValue.trim();let t=null,i=0;this._options.forEach(n=>{if(n.hidden)return;const u=n.label||n.textContent||"",s=n.value,l=_.similarity(e,u),p=_.similarity(e,s),d=Math.max(1.1*l,p);d>i&&d>=this.similarityThreshold&&(i=d,t=n)}),t&&(this._selectOption(t),this._open=!1)}_handleKeyDown(e){const t=this._open,i=this._selectedValues$.value;if(this.multi&&e.key==="Backspace"&&!this._inputValue&&i.length>0&&!t){e.preventDefault();const l=i[i.length-1];return void this.handleChipRemove(l)}if(!t&&(e.key==="ArrowDown"||e.key==="Enter"))return e.preventDefault(),this._open=!0,void setTimeout(()=>{this._options.find(p=>!p.hidden)?.focus()},10);if(!t)return;const n=this._options.filter(l=>!l.hidden).sort((l,p)=>parseInt(l.style.order||"0")-parseInt(p.style.order||"0")),u=n.find(l=>l===document.activeElement),s=u?n.indexOf(u):-1;switch(e.key){case"Escape":e.preventDefault(),this._open=!1,this._updateInputDisplay(),this._inputElementRef.value?.focus();break;case"Tab":this._open=!1,this._updateInputDisplay();break;case"ArrowDown":e.preventDefault();const l=s<n.length-1?s+1:0;n[l]?.focus();break;case"ArrowUp":e.preventDefault();const p=s>0?s-1:n.length-1;n[p]?.focus();break;case"Home":e.preventDefault(),n[0]?.focus();break;case"End":e.preventDefault(),n[n.length-1]?.focus();break;case"Enter":case" ":u&&(e.preventDefault(),this._selectOption(u))}}};r([a.property({type:Boolean})],o.prototype,"required",2),r([a.property({type:String})],o.prototype,"placeholder",2),r([a.property({type:String,reflect:!0})],o.prototype,"label",2),r([a.property({type:String})],o.prototype,"name",2),r([a.property({type:String})],o.prototype,"maxHeight",2),r([a.property({type:Boolean})],o.prototype,"multi",2),r([a.property({type:String})],o.prototype,"description",2),r([a.property({type:String,reflect:!0})],o.prototype,"size",2),r([a.property({type:String})],o.prototype,"autocomplete",2),r([a.property({type:Number})],o.prototype,"debounceMs",2),r([a.property({type:Number})],o.prototype,"similarityThreshold",2),r([a.property({type:Boolean})],o.prototype,"error",2),r([a.property({type:String})],o.prototype,"validationMessage",2),r([a.property({type:Array})],o.prototype,"values",1),r([a.property({type:String,reflect:!0})],o.prototype,"value",1),r([a.state()],o.prototype,"_open",2),r([a.state()],o.prototype,"_inputValue",2),r([a.state()],o.prototype,"_visibleOptionsCount",2),r([a.state()],o.prototype,"_hasResults",2),r([a.query("#options")],o.prototype,"_listbox",2),r([a.query("sch-input")],o.prototype,"_input",2),r([a.queryAssignedElements({flatten:!0})],o.prototype,"_options",2),o=r([a.customElement("schmancy-autocomplete")],o);
112
+ //# sourceMappingURL=autocomplete-D-p-hOUD.cjs.map