@mhmo91/schmancy 0.2.147 → 0.2.148

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 (239) hide show
  1. package/dist/{animated-text-DkN0D_t-.cjs → animated-text-4bzcQnLj.cjs} +2 -2
  2. package/dist/{animated-text-DkN0D_t-.cjs.map → animated-text-4bzcQnLj.cjs.map} +1 -1
  3. package/dist/{animated-text-BpnzzbXY.js → animated-text-BkuguEeM.js} +3 -3
  4. package/dist/{animated-text-BpnzzbXY.js.map → animated-text-BkuguEeM.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-DU1nlNPk.js → area.component-BXSxaOqH.js} +3 -3
  9. package/dist/{area.component-DU1nlNPk.js.map → area.component-BXSxaOqH.js.map} +1 -1
  10. package/dist/{area.component-C-UMOntg.cjs → area.component-KocrLEJt.cjs} +2 -2
  11. package/dist/{area.component-C-UMOntg.cjs.map → area.component-KocrLEJt.cjs.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-DxtVoUTn.js → autocomplete-B0c08igh.js} +29 -25
  14. package/dist/autocomplete-B0c08igh.js.map +1 -0
  15. package/dist/autocomplete-n96KH2V5.cjs +56 -0
  16. package/dist/autocomplete-n96KH2V5.cjs.map +1 -0
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/badge.cjs +1 -1
  20. package/dist/badge.js +1 -1
  21. package/dist/busy.cjs +1 -1
  22. package/dist/busy.js +1 -1
  23. package/dist/button.cjs +1 -1
  24. package/dist/button.js +1 -1
  25. package/dist/card.cjs +1 -1
  26. package/dist/card.js +1 -1
  27. package/dist/{checkbox-CQ6xJPIp.js → checkbox-DPQ_TJWq.js} +2 -2
  28. package/dist/{checkbox-CQ6xJPIp.js.map → checkbox-DPQ_TJWq.js.map} +1 -1
  29. package/dist/{checkbox-Bt4E5VkO.cjs → checkbox-FUtjyBGI.cjs} +2 -2
  30. package/dist/{checkbox-Bt4E5VkO.cjs.map → checkbox-FUtjyBGI.cjs.map} +1 -1
  31. package/dist/checkbox.cjs +1 -1
  32. package/dist/checkbox.js +1 -1
  33. package/dist/{chips-CwJZTbZw.js → chips-B9X67Zf1.js} +3 -3
  34. package/dist/{chips-CwJZTbZw.js.map → chips-B9X67Zf1.js.map} +1 -1
  35. package/dist/{chips-B8PEHhZM.cjs → chips-Ds7-VTgU.cjs} +2 -2
  36. package/dist/{chips-B8PEHhZM.cjs.map → chips-Ds7-VTgU.cjs.map} +1 -1
  37. package/dist/chips.cjs +1 -1
  38. package/dist/chips.js +1 -1
  39. package/dist/components.cjs +1 -1
  40. package/dist/components.js +1 -1
  41. package/dist/content-drawer.cjs +1 -1
  42. package/dist/content-drawer.js +1 -1
  43. package/dist/{date-range-CKiUzPM-.js → date-range-DwPCtLde.js} +3 -3
  44. package/dist/{date-range-CKiUzPM-.js.map → date-range-DwPCtLde.js.map} +1 -1
  45. package/dist/{date-range-SUJni0lB.cjs → date-range-mVYs7rOp.cjs} +2 -2
  46. package/dist/{date-range-SUJni0lB.cjs.map → date-range-mVYs7rOp.cjs.map} +1 -1
  47. package/dist/date-range.cjs +1 -1
  48. package/dist/date-range.js +1 -1
  49. package/dist/{delay-CqS_7Ph2.js → delay-CqMYQvhW.js} +2 -2
  50. package/dist/{delay-CqS_7Ph2.js.map → delay-CqMYQvhW.js.map} +1 -1
  51. package/dist/{delay-D7n7AeGx.cjs → delay-DtmAvWzY.cjs} +2 -2
  52. package/dist/{delay-D7n7AeGx.cjs.map → delay-DtmAvWzY.cjs.map} +1 -1
  53. package/dist/delay.cjs +1 -1
  54. package/dist/delay.js +1 -1
  55. package/dist/{divider-C1CzYW8c.cjs → divider-CqnMKD2G.cjs} +2 -2
  56. package/dist/{divider-C1CzYW8c.cjs.map → divider-CqnMKD2G.cjs.map} +1 -1
  57. package/dist/{divider-DrJl2Xy2.js → divider-DJ2rp3kE.js} +3 -3
  58. package/dist/{divider-DrJl2Xy2.js.map → divider-DJ2rp3kE.js.map} +1 -1
  59. package/dist/divider.cjs +1 -1
  60. package/dist/divider.js +1 -1
  61. package/dist/extra.cjs +1 -1
  62. package/dist/extra.js +1 -1
  63. package/dist/{flex-DncwoE7C.js → flex-BwPk1ZCy.js} +2 -2
  64. package/dist/{flex-DncwoE7C.js.map → flex-BwPk1ZCy.js.map} +1 -1
  65. package/dist/{flex-FwBQXuM6.cjs → flex-CrDe23ro.cjs} +2 -2
  66. package/dist/{flex-FwBQXuM6.cjs.map → flex-CrDe23ro.cjs.map} +1 -1
  67. package/dist/{form-sBoavnBF.js → form-BHK78zOX.js} +2 -2
  68. package/dist/{form-sBoavnBF.js.map → form-BHK78zOX.js.map} +1 -1
  69. package/dist/{form-CH3v03Eg.cjs → form-D6s14cK9.cjs} +2 -2
  70. package/dist/{form-CH3v03Eg.cjs.map → form-D6s14cK9.cjs.map} +1 -1
  71. package/dist/form.cjs +1 -1
  72. package/dist/form.js +1 -1
  73. package/dist/{icon-D6O4jyJn.cjs → icon-BdQ3F5on.cjs} +2 -2
  74. package/dist/{icon-D6O4jyJn.cjs.map → icon-BdQ3F5on.cjs.map} +1 -1
  75. package/dist/{icon-6Bbreq6Y.js → icon-C45X2j8_.js} +3 -3
  76. package/dist/{icon-6Bbreq6Y.js.map → icon-C45X2j8_.js.map} +1 -1
  77. package/dist/{icon-button-B59U140Z.cjs → icon-button-CJ_84AFW.cjs} +3 -3
  78. package/dist/icon-button-CJ_84AFW.cjs.map +1 -0
  79. package/dist/{icon-button-D55ewAMu.js → icon-button-Ci_gG-kz.js} +4 -4
  80. package/dist/icon-button-Ci_gG-kz.js.map +1 -0
  81. package/dist/icons.cjs +1 -1
  82. package/dist/icons.js +1 -1
  83. package/dist/index.cjs +1 -1
  84. package/dist/index.js +35 -35
  85. package/dist/{input-BM-9h0i_.js → input-CjVrAIa_.js} +2 -2
  86. package/dist/{input-BM-9h0i_.js.map → input-CjVrAIa_.js.map} +1 -1
  87. package/dist/{input-Ce0Vo1ka.cjs → input-siacCk_m.cjs} +2 -2
  88. package/dist/{input-Ce0Vo1ka.cjs.map → input-siacCk_m.cjs.map} +1 -1
  89. package/dist/input.cjs +1 -1
  90. package/dist/input.js +1 -1
  91. package/dist/layout.cjs +1 -1
  92. package/dist/layout.js +1 -1
  93. package/dist/{list-Bz01obcA.cjs → list-C9yR_9FT.cjs} +2 -2
  94. package/dist/{list-Bz01obcA.cjs.map → list-C9yR_9FT.cjs.map} +1 -1
  95. package/dist/{list-BICI9-9P.js → list-Dsjhaheh.js} +2 -2
  96. package/dist/{list-BICI9-9P.js.map → list-Dsjhaheh.js.map} +1 -1
  97. package/dist/list.cjs +1 -1
  98. package/dist/list.js +1 -1
  99. package/dist/{litElement.mixin-BPho-Vsl.js → litElement.mixin-CoHCkb8H.js} +2 -2
  100. package/dist/{litElement.mixin-BPho-Vsl.js.map → litElement.mixin-CoHCkb8H.js.map} +1 -1
  101. package/dist/{litElement.mixin-DQWXpjIu.cjs → litElement.mixin-DD-8VzTC.cjs} +2 -2
  102. package/dist/{litElement.mixin-DQWXpjIu.cjs.map → litElement.mixin-DD-8VzTC.cjs.map} +1 -1
  103. package/dist/{menu-ysNGv_50.js → menu-B1eBKh8d.js} +3 -3
  104. package/dist/{menu-ysNGv_50.js.map → menu-B1eBKh8d.js.map} +1 -1
  105. package/dist/{menu-CwbjEKoe.cjs → menu-Cjp0aIUG.cjs} +2 -2
  106. package/dist/{menu-CwbjEKoe.cjs.map → menu-Cjp0aIUG.cjs.map} +1 -1
  107. package/dist/menu.cjs +1 -1
  108. package/dist/menu.js +1 -1
  109. package/dist/nav-drawer.cjs +1 -1
  110. package/dist/nav-drawer.js +1 -1
  111. package/dist/{notification-container-DKTTCod8.cjs → notification-container-BK5ePvLB.cjs} +2 -2
  112. package/dist/{notification-container-DKTTCod8.cjs.map → notification-container-BK5ePvLB.cjs.map} +1 -1
  113. package/dist/{notification-container-CnXkKuai.js → notification-container-TrZOs1ki.js} +3 -3
  114. package/dist/{notification-container-CnXkKuai.js.map → notification-container-TrZOs1ki.js.map} +1 -1
  115. package/dist/notification.cjs +1 -1
  116. package/dist/notification.js +1 -1
  117. package/dist/{option-DzWgJ-es.js → option-V_neaIcw.js} +2 -2
  118. package/dist/option-V_neaIcw.js.map +1 -0
  119. package/dist/{option-VZZsJj58.cjs → option-fLL6kZcD.cjs} +2 -2
  120. package/dist/option-fLL6kZcD.cjs.map +1 -0
  121. package/dist/option.cjs +1 -1
  122. package/dist/option.js +1 -1
  123. package/dist/{payment-card-form-eFUNGHWG.js → payment-card-form-CRD9p90d.js} +3 -3
  124. package/dist/{payment-card-form-eFUNGHWG.js.map → payment-card-form-CRD9p90d.js.map} +1 -1
  125. package/dist/{payment-card-form-CmHxvgsL.cjs → payment-card-form-rlN9B_Yz.cjs} +2 -2
  126. package/dist/{payment-card-form-CmHxvgsL.cjs.map → payment-card-form-rlN9B_Yz.cjs.map} +1 -1
  127. package/dist/{radio-group-DO9RAuIJ.cjs → radio-group-DMvJuLqj.cjs} +2 -2
  128. package/dist/{radio-group-DO9RAuIJ.cjs.map → radio-group-DMvJuLqj.cjs.map} +1 -1
  129. package/dist/{radio-group-2HmtUsYl.js → radio-group-Durt2La8.js} +2 -2
  130. package/dist/{radio-group-2HmtUsYl.js.map → radio-group-Durt2La8.js.map} +1 -1
  131. package/dist/radio-group.cjs +1 -1
  132. package/dist/radio-group.js +1 -1
  133. package/dist/{schmancy-steps-container-Ctt4xPtW.cjs → schmancy-steps-container-D9eukn1l.cjs} +2 -2
  134. package/dist/{schmancy-steps-container-Ctt4xPtW.cjs.map → schmancy-steps-container-D9eukn1l.cjs.map} +1 -1
  135. package/dist/{schmancy-steps-container-CIhj4b3o.js → schmancy-steps-container-Dc7I9XAP.js} +2 -2
  136. package/dist/{schmancy-steps-container-CIhj4b3o.js.map → schmancy-steps-container-Dc7I9XAP.js.map} +1 -1
  137. package/dist/{select-C7FXO0NX.js → select-Cyo5cypJ.js} +14 -14
  138. package/dist/{select-C7FXO0NX.js.map → select-Cyo5cypJ.js.map} +1 -1
  139. package/dist/{select-qCJN4ZMG.cjs → select-bbT_5IeU.cjs} +3 -3
  140. package/dist/{select-qCJN4ZMG.cjs.map → select-bbT_5IeU.cjs.map} +1 -1
  141. package/dist/select.cjs +1 -1
  142. package/dist/select.js +1 -1
  143. package/dist/{sheet-HxDvaRXn.cjs → sheet-C4zL3J3N.cjs} +2 -2
  144. package/dist/{sheet-HxDvaRXn.cjs.map → sheet-C4zL3J3N.cjs.map} +1 -1
  145. package/dist/{sheet-ConknPY3.js → sheet-VW_eSshd.js} +3 -3
  146. package/dist/{sheet-ConknPY3.js.map → sheet-VW_eSshd.js.map} +1 -1
  147. package/dist/sheet.cjs +1 -1
  148. package/dist/sheet.js +1 -1
  149. package/dist/{slider-DtATtMjm.js → slider-Dptq2z_W.js} +3 -3
  150. package/dist/{slider-DtATtMjm.js.map → slider-Dptq2z_W.js.map} +1 -1
  151. package/dist/{slider-SRwEsPeK.cjs → slider-P__YNpbe.cjs} +2 -2
  152. package/dist/{slider-SRwEsPeK.cjs.map → slider-P__YNpbe.cjs.map} +1 -1
  153. package/dist/slider.cjs +1 -1
  154. package/dist/slider.js +1 -1
  155. package/dist/{spinner-gAYh9zYz.cjs → spinner-BiIbsLxA.cjs} +2 -2
  156. package/dist/{spinner-gAYh9zYz.cjs.map → spinner-BiIbsLxA.cjs.map} +1 -1
  157. package/dist/{spinner-CKyAO5p-.js → spinner-CNxmhBV9.js} +3 -3
  158. package/dist/{spinner-CKyAO5p-.js.map → spinner-CNxmhBV9.js.map} +1 -1
  159. package/dist/steps.cjs +1 -1
  160. package/dist/steps.js +1 -1
  161. package/dist/{surface-Cv6Jj-30.cjs → surface-DtrMbU4a.cjs} +2 -2
  162. package/dist/{surface-Cv6Jj-30.cjs.map → surface-DtrMbU4a.cjs.map} +1 -1
  163. package/dist/{surface-CwmNcHRr.js → surface-dN-5Uj3t.js} +2 -2
  164. package/dist/{surface-CwmNcHRr.js.map → surface-dN-5Uj3t.js.map} +1 -1
  165. package/dist/surface.cjs +1 -1
  166. package/dist/surface.js +1 -1
  167. package/dist/{table-Chfsc5WW.js → table-CMOSTYCh.js} +2 -2
  168. package/dist/{table-Chfsc5WW.js.map → table-CMOSTYCh.js.map} +1 -1
  169. package/dist/{table-CpXbZocE.cjs → table-CPl_BaOs.cjs} +2 -2
  170. package/dist/{table-CpXbZocE.cjs.map → table-CPl_BaOs.cjs.map} +1 -1
  171. package/dist/table.cjs +1 -1
  172. package/dist/table.js +1 -1
  173. package/dist/{tabs-group-Dul0bazy.cjs → tabs-group-BYv1i3tL.cjs} +2 -2
  174. package/dist/{tabs-group-Dul0bazy.cjs.map → tabs-group-BYv1i3tL.cjs.map} +1 -1
  175. package/dist/{tabs-group-DTGqvfEX.js → tabs-group-C6glPUAY.js} +2 -2
  176. package/dist/{tabs-group-DTGqvfEX.js.map → tabs-group-C6glPUAY.js.map} +1 -1
  177. package/dist/tabs.cjs +1 -1
  178. package/dist/tabs.js +1 -1
  179. package/dist/tailwind.mixin-Bw0PQOnL.cjs +2 -0
  180. package/dist/{tailwind.mixin-Dc-mJStj.cjs.map → tailwind.mixin-Bw0PQOnL.cjs.map} +1 -1
  181. package/dist/tailwind.mixin-DPlle4Fm.js +43 -0
  182. package/dist/{tailwind.mixin-Cvv1OxNe.js.map → tailwind.mixin-DPlle4Fm.js.map} +1 -1
  183. package/dist/teleport.cjs +1 -1
  184. package/dist/{teleport.component-D9O8CeOh.js → teleport.component-877TFBRq.js} +37 -37
  185. package/dist/{teleport.component-D9O8CeOh.js.map → teleport.component-877TFBRq.js.map} +1 -1
  186. package/dist/{teleport.component-NQuVrhvG.cjs → teleport.component-sEZqe8CM.cjs} +2 -2
  187. package/dist/{teleport.component-NQuVrhvG.cjs.map → teleport.component-sEZqe8CM.cjs.map} +1 -1
  188. package/dist/teleport.js +1 -1
  189. package/dist/{textarea-CJEVzo9O.js → textarea-C0a2m6et.js} +2 -2
  190. package/dist/{textarea-CJEVzo9O.js.map → textarea-C0a2m6et.js.map} +1 -1
  191. package/dist/{textarea-0WOWsHxe.cjs → textarea-CLciEnTR.cjs} +2 -2
  192. package/dist/{textarea-0WOWsHxe.cjs.map → textarea-CLciEnTR.cjs.map} +1 -1
  193. package/dist/textarea.cjs +1 -1
  194. package/dist/textarea.js +1 -1
  195. package/dist/{theme-button-DwBODwC7.cjs → theme-button-CGIPHUsm.cjs} +2 -2
  196. package/dist/{theme-button-DwBODwC7.cjs.map → theme-button-CGIPHUsm.cjs.map} +1 -1
  197. package/dist/{theme-button-EFWVNbOs.js → theme-button-DWNlOnlS.js} +2 -2
  198. package/dist/{theme-button-EFWVNbOs.js.map → theme-button-DWNlOnlS.js.map} +1 -1
  199. package/dist/theme-button.cjs +1 -1
  200. package/dist/theme-button.js +1 -1
  201. package/dist/theme.cjs +1 -1
  202. package/dist/{theme.component-C3aZxuwf.js → theme.component-B74CISr9.js} +2 -2
  203. package/dist/{theme.component-C3aZxuwf.js.map → theme.component-B74CISr9.js.map} +1 -1
  204. package/dist/{theme.component-BNn_GQiG.cjs → theme.component-BVrFzx-m.cjs} +2 -2
  205. package/dist/{theme.component-BNn_GQiG.cjs.map → theme.component-BVrFzx-m.cjs.map} +1 -1
  206. package/dist/theme.js +1 -1
  207. package/dist/{timezone-BBhS3uY6.js → timezone-6ZUd_NwV.js} +3 -3
  208. package/dist/{timezone-BBhS3uY6.js.map → timezone-6ZUd_NwV.js.map} +1 -1
  209. package/dist/{timezone-CS8T9gpI.cjs → timezone-CPCnFUWd.cjs} +2 -2
  210. package/dist/{timezone-CS8T9gpI.cjs.map → timezone-CPCnFUWd.cjs.map} +1 -1
  211. package/dist/{tree-CxaZslTD.js → tree-DEVDbiSJ.js} +2 -2
  212. package/dist/{tree-CxaZslTD.js.map → tree-DEVDbiSJ.js.map} +1 -1
  213. package/dist/{tree-xSs_yXx8.cjs → tree-YKNEtPLi.cjs} +2 -2
  214. package/dist/{tree-xSs_yXx8.cjs.map → tree-YKNEtPLi.cjs.map} +1 -1
  215. package/dist/tree.cjs +1 -1
  216. package/dist/tree.js +1 -1
  217. package/dist/{typewriter-Dx5l9T6O.cjs → typewriter-CAJodRri.cjs} +2 -2
  218. package/dist/{typewriter-Dx5l9T6O.cjs.map → typewriter-CAJodRri.cjs.map} +1 -1
  219. package/dist/{typewriter-B2x_d7dQ.js → typewriter-QzBi0aAI.js} +4 -4
  220. package/dist/{typewriter-B2x_d7dQ.js.map → typewriter-QzBi0aAI.js.map} +1 -1
  221. package/dist/typewriter.cjs +1 -1
  222. package/dist/typewriter.js +1 -1
  223. package/dist/{typography-Ca1GPuKp.cjs → typography-B-z8JOAc.cjs} +2 -2
  224. package/dist/{typography-Ca1GPuKp.cjs.map → typography-B-z8JOAc.cjs.map} +1 -1
  225. package/dist/{typography-Q14LuB3h.js → typography-Dvf60Ziw.js} +2 -2
  226. package/dist/{typography-Q14LuB3h.js.map → typography-Dvf60Ziw.js.map} +1 -1
  227. package/dist/typography.cjs +1 -1
  228. package/dist/typography.js +1 -1
  229. package/package.json +1 -1
  230. package/types/src/autocomplete/autocomplete.d.ts +7 -3
  231. package/dist/autocomplete-CqgyTwox.cjs +0 -62
  232. package/dist/autocomplete-CqgyTwox.cjs.map +0 -1
  233. package/dist/autocomplete-DxtVoUTn.js.map +0 -1
  234. package/dist/icon-button-B59U140Z.cjs.map +0 -1
  235. package/dist/icon-button-D55ewAMu.js.map +0 -1
  236. package/dist/option-DzWgJ-es.js.map +0 -1
  237. package/dist/option-VZZsJj58.cjs.map +0 -1
  238. package/dist/tailwind.mixin-Cvv1OxNe.js +0 -43
  239. package/dist/tailwind.mixin-Dc-mJStj.cjs +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"file":"autocomplete-CqgyTwox.cjs","sources":["../src/autocomplete/autocomplete.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { InputSize } from '@schmancy/input'\nimport SchmancyInput from '@schmancy/input/input'\nimport SchmancyOption from '@schmancy/option/option'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport style from './autocomplete.scss?inline'\n\n/**\n * @fires change - When selection changes\n */\nexport type SchmancyAutocompleteChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n/**\n * SchmancyAutocomplete provides an accessible autocomplete/combobox component\n * with keyboard navigation and single or multi-select capabilities.\n *\n * @element schmancy-autocomplete\n * @slot - Default slot for option elements\n * @slot trigger - Optional slot to override the default input element\n */\n@customElement('schmancy-autocomplete')\nexport default class SchmancyAutocomplete extends $LitElement(style) {\n\t// Public API properties\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = ''\n\t@property({ type: String, reflect: true }) label = ''\n\t@property({ type: String }) maxHeight = '300px'\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) description = ''\n\t@property({ type: String, reflect: true }) size: InputSize = 'md'\n\t@property({ type: String }) autocomplete = 'off'\n\t@property({ type: Number }) debounceMs = 200 // Debounce delay in milliseconds\n\n\t// Value property with getter/setter\n\t@property({ type: String, reflect: true })\n\tget value() {\n\t\tif (this.multi) {\n\t\t\treturn this._selectedValues.join(',')\n\t\t}\n\t\treturn this._selectedValue\n\t}\n\tset value(val: string) {\n\t\tif (this.multi) {\n\t\t\tthis._selectedValues = val\n\t\t\t\t? val\n\t\t\t\t\t\t.split(',')\n\t\t\t\t\t\t.map(v => v.trim())\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t: []\n\t\t} else {\n\t\t\tthis._selectedValue = val\n\t\t}\n\t\tthis._syncOptionsSelection()\n\t\tthis._updateInputDisplay()\n\n\t\t// Dispatch change event when value is set programmatically\n\t\tif (this.isConnected) {\n\t\t\tthis._fireChangeEvent()\n\t\t}\n\t}\n\n\t// Internal state\n\t@state() private _open = false\n\t@state() private _inputValue = ''\n\t@state() private _selectedValue = ''\n\t@state() private _selectedValues: string[] = []\n\t@state() private _suppressFocusOpen = false // Flag to prevent dropdown from opening on focus after selection\n\n\t// Debounce timer reference\n\tprivate _debounceTimer: number | null = null\n\n\t// DOM references\n\t@query('#options') _listbox!: HTMLUListElement\n\t@query('sch-input') _input!: SchmancyInput\n\t@queryAssignedElements({ flatten: true }) private _options!: SchmancyOption[]\n\tprivate _inputElementRef = createRef<HTMLInputElement>()\n\n\t// Click outside handler reference for cleanup\n\tprivate _documentClickHandler = this._onDocumentClick.bind(this)\n\n\t// Lifecycle methods\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\t// Ensure component has ID for ARIA relationships\n\t\tif (!this.id) {\n\t\t\tthis.id = `sch-autocomplete-${Math.random().toString(36).slice(2, 9)}`\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\t// Clean up global event listeners\n\t\tdocument.removeEventListener('click', this._documentClickHandler)\n\n\t\t// Clear any pending debounce timer\n\t\tif (this._debounceTimer !== null) {\n\t\t\twindow.clearTimeout(this._debounceTimer)\n\t\t}\n\n\t\tsuper.disconnectedCallback()\n\t}\n\n\tfirstUpdated() {\n\t\t// Set up initial state and accessibility\n\t\tthis._syncOptionsSelection()\n\t\tthis._setupOptionsAccessibility()\n\t\tthis._updateInputDisplay()\n\t}\n\n\tupdated(changedProps: Map<string, unknown>) {\n\t\tsuper.updated(changedProps)\n\n\t\t// Update document click handler when dropdown state changes\n\t\tif (changedProps.has('_open')) {\n\t\t\tif (!this._open) {\n\t\t\t\tdocument.removeEventListener('click', this._documentClickHandler)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handle document clicks to close dropdown when clicking outside\n\t */\n\tprivate _onDocumentClick(e: MouseEvent) {\n\t\t// Don't close if clicking on component or its children\n\t\tif (e.composedPath().includes(this)) {\n\t\t\treturn\n\t\t}\n\n\t\t// Don't close if clicking on one of the options (which may be in light DOM)\n\t\tfor (const option of this._options) {\n\t\t\tif (e.composedPath().includes(option)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\t// Otherwise close the dropdown\n\t\tif (this._open) {\n\t\t\tthis._open = false\n\t\t\tthis._updateInputDisplay()\n\t\t}\n\t}\n\n\t/**\n\t * Set up initial option accessibility attributes\n\t */\n\tprivate _setupOptionsAccessibility() {\n\t\tthis._options.forEach((option, index) => {\n\t\t\t// Set common attributes for all options\n\t\t\toption.setAttribute('role', 'option')\n\t\t\toption.tabIndex = -1\n\n\t\t\t// Ensure each option has an ID\n\t\t\tif (!option.id) {\n\t\t\t\toption.id = `${this.id}-option-${index}`\n\t\t\t}\n\n\t\t\t// Add click handler to options\n\t\t\tif (!option.hasAttribute('data-event-bound')) {\n\t\t\t\toption.addEventListener('click', e => {\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t\tthis._selectOption(option)\n\t\t\t\t})\n\t\t\t\toption.setAttribute('data-event-bound', 'true')\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * Update options' selection state based on component value\n\t */\n\tprivate _syncOptionsSelection() {\n\t\tif (!this._options?.length) return\n\n\t\tthis._options.forEach(option => {\n\t\t\tif (this.multi) {\n\t\t\t\toption.selected = this._selectedValues.includes(option.value)\n\t\t\t} else {\n\t\t\t\toption.selected = option.value === this._selectedValue\n\t\t\t}\n\n\t\t\t// Update aria-selected attribute\n\t\t\toption.setAttribute('aria-selected', String(option.selected))\n\t\t})\n\t}\n\n\t/**\n\t * Filter options based on input text - this operation can be expensive\n\t * with many options or complex filtering logic\n\t */\n\tprivate _filterOptions() {\n\t\tconsole.time('filter-options')\n\t\tconst searchTerm = this._inputValue.toLowerCase().trim()\n\n\t\t// Track if we have any matches\n\t\tlet hasMatches = false\n\n\t\tthis._options.forEach(option => {\n\t\t\t// Always show all options if search is empty\n\t\t\tif (!searchTerm) {\n\t\t\t\toption.hidden = false\n\t\t\t\thasMatches = true\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Simple substring matching\n\t\t\tconst text = (option.label || option.textContent || '').toLowerCase()\n\t\t\tconst isMatch = text.includes(searchTerm)\n\t\t\toption.hidden = !isMatch\n\n\t\t\tif (isMatch) {\n\t\t\t\thasMatches = true\n\t\t\t}\n\t\t})\n\n\t\t// Update \"No results\" visibility\n\t\tconst emptyMessage = this.shadowRoot?.querySelector('#empty')\n\t\tif (emptyMessage) {\n\t\t\temptyMessage.toggleAttribute('hidden', hasMatches)\n\t\t}\n\n\t\t// Announce results to screen readers\n\t\tconst visibleCount = this._getVisibleOptions().length\n\t\tthis._announceToScreenReader(\n\t\t\tvisibleCount > 0 ? `${visibleCount} option${visibleCount === 1 ? '' : 's'} available.` : 'No results found.',\n\t\t)\n\t\tconsole.timeEnd('filter-options')\n\t}\n\n\t/**\n\t * Get all currently visible options\n\t */\n\tprivate _getVisibleOptions(): SchmancyOption[] {\n\t\treturn Array.from(this._options || []).filter(option => !option.hidden)\n\t}\n\n\t/**\n\t * Get labels of selected options\n\t */\n\tprivate _getSelectedLabels(): string[] {\n\t\treturn Array.from(this._options || [])\n\t\t\t.filter(option =>\n\t\t\t\tthis.multi ? this._selectedValues.includes(option.value) : option.value === this._selectedValue,\n\t\t\t)\n\t\t\t.map(option => option.label || option.textContent || '')\n\t}\n\n\t/**\n\t * Update the input display based on selection state\n\t */\n\tprivate _updateInputDisplay() {\n\t\tif (!this._inputElementRef.value) return\n\n\t\t// When dropdown is closed or in single select mode, show the selection\n\t\tif (!this._open || !this.multi) {\n\t\t\tif (this.multi) {\n\t\t\t\t// Show comma-separated labels for multi-select\n\t\t\t\tthis._inputValue = this._getSelectedLabels().join(', ')\n\t\t\t} else {\n\t\t\t\t// Show selected option label for single-select\n\t\t\t\tconst selectedOption = this._options?.find(o => o.value === this._selectedValue)\n\t\t\t\tthis._inputValue = selectedOption ? selectedOption.label || selectedOption.textContent || '' : ''\n\t\t\t}\n\t\t}\n\n\t\t// Update the input value\n\t\tthis._inputElementRef.value.value = this._inputValue\n\t}\n\n\t/**\n\t * Handle input focus\n\t */\n\tprivate _onInputFocus(e: FocusEvent) {\n\t\te.stopPropagation()\n\n\t\t// If suppress flag is active, don't open dropdown\n\t\tif (this._suppressFocusOpen) {\n\t\t\treturn\n\t\t}\n\n\t\t// If multi-select mode and input is focused, clear it for new input\n\t\tif (this.multi) {\n\t\t\tthis._inputValue = ''\n\t\t\tif (this._inputElementRef.value) {\n\t\t\t\tthis._inputElementRef.value.value = ''\n\t\t\t}\n\t\t}\n\n\t\tthis._showDropdown()\n\t}\n\n\t/**\n\t * Debounce a function call\n\t * @param fn Function to debounce\n\t */\n\tprivate _debounce(fn: () => void): void {\n\t\t// Clear any existing timer\n\t\tif (this._debounceTimer !== null) {\n\t\t\twindow.clearTimeout(this._debounceTimer)\n\t\t}\n\n\t\t// Set new timer\n\t\tthis._debounceTimer = window.setTimeout(() => {\n\t\t\tfn()\n\t\t\tthis._debounceTimer = null\n\t\t}, this.debounceMs)\n\t}\n\n\t/**\n\t * Handle input text changes with debouncing\n\t */\n\tprivate _onInputChange(e: Event) {\n\t\tconst target = e.target as HTMLInputElement\n\t\tthis._inputValue = target.value\n\n\t\t// Immediate feedback - show dropdown\n\t\tif (!this._open) {\n\t\t\tthis._showDropdown()\n\t\t}\n\n\t\t// Debounce the expensive filtering operation\n\t\tthis._debounce(() => {\n\t\t\tthis._filterOptions()\n\t\t})\n\t}\n\n\t/**\n\t * Show the dropdown with filtered options\n\t */\n\tprivate _showDropdown() {\n\t\tif (this._open) return\n\n\t\tthis._open = true\n\t\tthis._filterOptions()\n\n\t\t// Add document click handler after a brief delay\n\t\t// to avoid immediate closing on the same click event\n\t\tsetTimeout(() => {\n\t\t\tdocument.addEventListener('click', this._documentClickHandler)\n\t\t}, 10)\n\t}\n\n\t/**\n\t * Announce message to screen readers\n\t */\n\tprivate _announceToScreenReader(message: string) {\n\t\tconst liveRegion = this.shadowRoot?.querySelector('#live-status')\n\t\tif (liveRegion) {\n\t\t\tliveRegion.textContent = message\n\t\t}\n\t}\n\n\t/**\n\t * Select an option (either via click or keyboard)\n\t */\n\tprivate _selectOption(option: SchmancyOption) {\n\t\tif (this.multi) {\n\t\t\t// Toggle selection in multi-select mode\n\t\t\tconst value = option.value\n\t\t\tconst index = this._selectedValues.indexOf(value)\n\n\t\t\tif (index > -1) {\n\t\t\t\t// Remove if already selected\n\t\t\t\tthis._selectedValues = [...this._selectedValues.slice(0, index), ...this._selectedValues.slice(index + 1)]\n\t\t\t} else {\n\t\t\t\t// Add if not selected\n\t\t\t\tthis._selectedValues = [...this._selectedValues, value]\n\t\t\t}\n\n\t\t\t// Clear input for more typing in multi-select mode\n\t\t\tthis._inputValue = ''\n\t\t\tif (this._inputElementRef.value) {\n\t\t\t\tthis._inputElementRef.value.value = ''\n\t\t\t}\n\n\t\t\t// Update option selection state\n\t\t\toption.selected = !option.selected\n\t\t\toption.setAttribute('aria-selected', String(option.selected))\n\n\t\t\t// Keep dropdown open in multi-select\n\t\t\tthis._filterOptions()\n\n\t\t\t// Announce selection to screen readers\n\t\t\tconst selectedLabels = this._getSelectedLabels()\n\t\t\tthis._announceToScreenReader(\n\t\t\t\tselectedLabels.length > 0 ? `Selected: ${selectedLabels.join(', ')}` : 'No options selected',\n\t\t\t)\n\t\t} else {\n\t\t\t// Single-select mode - select and close\n\t\t\tthis._selectedValue = option.value\n\n\t\t\t// Update selected state\n\t\t\tthis._syncOptionsSelection()\n\n\t\t\t// Close dropdown\n\t\t\tthis._open = false\n\n\t\t\t// Set flag to prevent reopening on focus\n\t\t\tthis._suppressFocusOpen = true\n\n\t\t\t// Update input with selected label\n\t\t\tthis._updateInputDisplay()\n\n\t\t\t// For mobile: blur input to dismiss keyboard\n\t\t\tif (this._inputElementRef.value) {\n\t\t\t\tthis._inputElementRef.value.blur()\n\t\t\t}\n\n\t\t\t// Reset suppress flag after a delay\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis._suppressFocusOpen = false\n\t\t\t}, 300)\n\n\t\t\t// Announce selection to screen readers\n\t\t\tthis._announceToScreenReader(`Selected: ${option.label || option.textContent}`)\n\t\t}\n\n\t\t// Fire change event\n\t\tthis._fireChangeEvent()\n\t}\n\n\t/**\n\t * Handle keyboard navigation\n\t */\n\tprivate _onKeyDown(e: KeyboardEvent) {\n\t\t// If dropdown is closed, open on arrow down or enter\n\t\tif (!this._open && (e.key === 'ArrowDown' || e.key === 'Enter')) {\n\t\t\te.preventDefault()\n\t\t\tthis._showDropdown()\n\n\t\t\t// Focus first visible option\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst visibleOptions = this._getVisibleOptions()\n\t\t\t\tif (visibleOptions.length > 0) {\n\t\t\t\t\tvisibleOptions[0].focus()\n\t\t\t\t}\n\t\t\t}, 10)\n\n\t\t\treturn\n\t\t}\n\n\t\t// Early return if dropdown is closed\n\t\tif (!this._open) return\n\n\t\t// Handle keyboard navigation\n\t\tswitch (e.key) {\n\t\t\tcase 'Escape':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis._open = false\n\t\t\t\tthis._updateInputDisplay()\n\t\t\t\tthis._inputElementRef.value?.focus()\n\t\t\t\tbreak\n\n\t\t\tcase 'Tab':\n\t\t\t\t// Natural tab behavior will move focus; just close dropdown\n\t\t\t\tthis._open = false\n\t\t\t\tthis._updateInputDisplay()\n\t\t\t\tbreak\n\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis._moveFocus(1)\n\t\t\t\tbreak\n\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis._moveFocus(-1)\n\t\t\t\tbreak\n\n\t\t\tcase 'Home':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis._focusFirstOption()\n\t\t\t\tbreak\n\n\t\t\tcase 'End':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis._focusLastOption()\n\t\t\t\tbreak\n\n\t\t\tcase 'Enter':\n\t\t\tcase ' ': // Space key\n\t\t\t\t// Select currently focused option\n\t\t\t\tconst focusedOption = this._getFocusedOption()\n\t\t\t\tif (focusedOption) {\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tthis._selectOption(focusedOption)\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\t/**\n\t * Get the currently focused option\n\t */\n\tprivate _getFocusedOption(): SchmancyOption | null {\n\t\tconst visibleOptions = this._getVisibleOptions()\n\t\treturn visibleOptions.find(opt => opt === document.activeElement) || null\n\t}\n\n\t/**\n\t * Move focus to next/previous option\n\t */\n\tprivate _moveFocus(direction: number) {\n\t\tconst visibleOptions = this._getVisibleOptions()\n\t\tif (!visibleOptions.length) return\n\n\t\tconst currentOption = this._getFocusedOption()\n\t\tlet index = currentOption ? visibleOptions.indexOf(currentOption) : -1\n\n\t\t// Calculate new index\n\t\tif (direction > 0) {\n\t\t\t// Move forward, wrap to start\n\t\t\tindex = index < visibleOptions.length - 1 ? index + 1 : 0\n\t\t} else {\n\t\t\t// Move backward, wrap to end\n\t\t\tindex = index > 0 ? index - 1 : visibleOptions.length - 1\n\t\t}\n\n\t\t// Focus the option\n\t\tvisibleOptions[index].focus()\n\t}\n\n\t/**\n\t * Focus the first visible option\n\t */\n\tprivate _focusFirstOption() {\n\t\tconst visibleOptions = this._getVisibleOptions()\n\t\tif (visibleOptions.length > 0) {\n\t\t\tvisibleOptions[0].focus()\n\t\t}\n\t}\n\n\t/**\n\t * Focus the last visible option\n\t */\n\tprivate _focusLastOption() {\n\t\tconst visibleOptions = this._getVisibleOptions()\n\t\tif (visibleOptions.length > 0) {\n\t\t\tvisibleOptions[visibleOptions.length - 1].focus()\n\t\t}\n\t}\n\n\t/**\n\t * Fire change event\n\t */\n\tprivate _fireChangeEvent() {\n\t\tconst detail = {\n\t\t\tvalue: this.multi ? this._selectedValues : this._selectedValue,\n\t\t}\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyAutocompleteChangeEvent['detail']>('change', {\n\t\t\t\tdetail,\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t/**\n\t * Check validity for form integration\n\t */\n\tpublic checkValidity(): boolean {\n\t\tif (!this.required) return true\n\t\treturn this.multi ? this._selectedValues.length > 0 : Boolean(this._selectedValue)\n\t}\n\n\t/**\n\t * Report validity for form integration\n\t */\n\tpublic reportValidity(): boolean {\n\t\tif (this._inputElementRef.value) {\n\t\t\treturn this._inputElementRef.value.reportValidity()\n\t\t}\n\t\treturn this.checkValidity()\n\t}\n\n\trender() {\n\t\tconst descriptionId = `${this.id}-desc`\n\n\t\treturn html`\n\t\t\t<div class=\"schmancy-autocomplete relative z-10\">\n\t\t\t\t<!-- Screen reader live region -->\n\t\t\t\t<div id=\"live-status\" role=\"status\" aria-live=\"polite\" class=\"sr-only\"></div>\n\n\t\t\t\t<!-- Description (for screen readers) -->\n\t\t\t\t${this.description ? html`<div id=\"${descriptionId}\" class=\"sr-only\">${this.description}</div>` : ''}\n\n\t\t\t\t<!-- Input / trigger slot -->\n\t\t\t\t<slot name=\"trigger\">\n\t\t\t\t\t<sch-input\n\t\t\t\t\t\t.size=${this.size}\n\t\t\t\t\t\t${ref(this._inputElementRef)}\n\t\t\t\t\t\tid=\"autocomplete-input\"\n\t\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t\t.value=${this._inputValue}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tautocomplete=${this.autocomplete}\n\t\t\t\t\t\tclickable\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\taria-controls=\"options\"\n\t\t\t\t\t\taria-expanded=${this._open}\n\t\t\t\t\t\taria-describedby=${this.description ? descriptionId : undefined}\n\t\t\t\t\t\t@input=${this._onInputChange}\n\t\t\t\t\t\t@focus=${this._onInputFocus}\n\t\t\t\t\t\t@click=${(e: MouseEvent) => {\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\tthis._onInputFocus(new FocusEvent('focus'))\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t@keydown=${this._onKeyDown}\n\t\t\t\t\t>\n\t\t\t\t\t</sch-input>\n\t\t\t\t</slot>\n\n\t\t\t\t<!-- Options dropdown -->\n\t\t\t\t<ul\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\tclass=${classMap({\n\t\t\t\t\t\tabsolute: true,\n\t\t\t\t\t\t'z-30': true,\n\t\t\t\t\t\t'mt-1': true,\n\t\t\t\t\t\t'w-full': true,\n\t\t\t\t\t\t'rounded-md': true,\n\t\t\t\t\t\t'shadow-sm': true,\n\t\t\t\t\t\t'overflow-auto': true,\n\t\t\t\t\t})}\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\taria-multiselectable=${this.multi ? 'true' : 'false'}\n\t\t\t\t\taria-label=${`${this.label || 'Options'} dropdown`}\n\t\t\t\t\t?hidden=${!this._open}\n\t\t\t\t\tstyle=\"\n max-height: ${this.maxHeight}; \n display: ${this._open ? 'block' : 'none'};\n background-color: transparent;\n \"\n\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\tthis._setupOptionsAccessibility()\n\t\t\t\t\t\tthis._syncOptionsSelection()\n\t\t\t\t\t\tthis._filterOptions()\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<!-- \"No results\" message -->\n\t\t\t\t\t<li id=\"empty\" tabindex=\"-1\" role=\"option\" aria-disabled=\"true\" class=\"p-2 text-center\" hidden>\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<!-- Options slot -->\n\t\t\t\t\t<slot></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":["SchmancyAutocomplete","$LitElement","super","arguments","this","required","placeholder","label","maxHeight","multi","description","size","autocomplete","debounceMs","_open","_inputValue","_selectedValue","_selectedValues","_suppressFocusOpen","_debounceTimer","_inputElementRef","createRef","_documentClickHandler","_onDocumentClick","bind","value","join","val","split","map","v","trim","filter","Boolean","_syncOptionsSelection","_updateInputDisplay","isConnected","_fireChangeEvent","connectedCallback","id","Math","random","toString","slice","document","removeEventListener","window","clearTimeout","disconnectedCallback","_setupOptionsAccessibility","changedProps","updated","has","e","composedPath","includes","option","_options","forEach","index","setAttribute","tabIndex","hasAttribute","addEventListener","stopPropagation","_selectOption","length","selected","String","searchTerm","toLowerCase","hasMatches","hidden","isMatch","textContent","emptyMessage","shadowRoot","querySelector","toggleAttribute","visibleCount","_getVisibleOptions","_announceToScreenReader","Array","from","_getSelectedLabels","selectedOption","find","o","_showDropdown","fn","setTimeout","target","_debounce","_filterOptions","message","liveRegion","indexOf","selectedLabels","blur","key","preventDefault","visibleOptions","focus","_moveFocus","_focusFirstOption","_focusLastOption","focusedOption","_getFocusedOption","opt","activeElement","direction","currentOption","detail","dispatchEvent","CustomEvent","bubbles","composed","checkValidity","reportValidity","descriptionId","html","ref","_onInputChange","_onInputFocus","FocusEvent","_onKeyDown","classMap","absolute","__decorateClass","property","type","prototype","reflect","Number","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"autocomplete-DxtVoUTn.js","sources":["../src/autocomplete/autocomplete.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { InputSize } from '@schmancy/input'\nimport SchmancyInput from '@schmancy/input/input'\nimport SchmancyOption from '@schmancy/option/option'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport style from './autocomplete.scss?inline'\n\n/**\n * @fires change - When selection changes\n */\nexport type SchmancyAutocompleteChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n/**\n * SchmancyAutocomplete provides an accessible autocomplete/combobox component\n * with keyboard navigation and single or multi-select capabilities.\n *\n * @element schmancy-autocomplete\n * @slot - Default slot for option elements\n * @slot trigger - Optional slot to override the default input element\n */\n@customElement('schmancy-autocomplete')\nexport default class SchmancyAutocomplete extends $LitElement(style) {\n\t// Public API properties\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = ''\n\t@property({ type: String, reflect: true }) label = ''\n\t@property({ type: String }) maxHeight = '300px'\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) description = ''\n\t@property({ type: String, reflect: true }) size: InputSize = 'md'\n\t@property({ type: String }) autocomplete = 'off'\n\t@property({ type: Number }) debounceMs = 200 // Debounce delay in milliseconds\n\n\t// Value property with getter/setter\n\t@property({ type: String, reflect: true })\n\tget value() {\n\t\tif (this.multi) {\n\t\t\treturn this._selectedValues.join(',')\n\t\t}\n\t\treturn this._selectedValue\n\t}\n\tset value(val: string) {\n\t\tif (this.multi) {\n\t\t\tthis._selectedValues = val\n\t\t\t\t? val\n\t\t\t\t\t\t.split(',')\n\t\t\t\t\t\t.map(v => v.trim())\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t: []\n\t\t} else {\n\t\t\tthis._selectedValue = val\n\t\t}\n\t\tthis._syncOptionsSelection()\n\t\tthis._updateInputDisplay()\n\n\t\t// Dispatch change event when value is set programmatically\n\t\tif (this.isConnected) {\n\t\t\tthis._fireChangeEvent()\n\t\t}\n\t}\n\n\t// Internal state\n\t@state() private _open = false\n\t@state() private _inputValue = ''\n\t@state() private _selectedValue = ''\n\t@state() private _selectedValues: string[] = []\n\t@state() private _suppressFocusOpen = false // Flag to prevent dropdown from opening on focus after selection\n\n\t// Debounce timer reference\n\tprivate _debounceTimer: number | null = null\n\n\t// DOM references\n\t@query('#options') _listbox!: HTMLUListElement\n\t@query('sch-input') _input!: SchmancyInput\n\t@queryAssignedElements({ flatten: true }) private _options!: SchmancyOption[]\n\tprivate _inputElementRef = createRef<HTMLInputElement>()\n\n\t// Click outside handler reference for cleanup\n\tprivate _documentClickHandler = this._onDocumentClick.bind(this)\n\n\t// Lifecycle methods\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\t// Ensure component has ID for ARIA relationships\n\t\tif (!this.id) {\n\t\t\tthis.id = `sch-autocomplete-${Math.random().toString(36).slice(2, 9)}`\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\t// Clean up global event listeners\n\t\tdocument.removeEventListener('click', this._documentClickHandler)\n\n\t\t// Clear any pending debounce timer\n\t\tif (this._debounceTimer !== null) {\n\t\t\twindow.clearTimeout(this._debounceTimer)\n\t\t}\n\n\t\tsuper.disconnectedCallback()\n\t}\n\n\tfirstUpdated() {\n\t\t// Set up initial state and accessibility\n\t\tthis._syncOptionsSelection()\n\t\tthis._setupOptionsAccessibility()\n\t\tthis._updateInputDisplay()\n\t}\n\n\tupdated(changedProps: Map<string, unknown>) {\n\t\tsuper.updated(changedProps)\n\n\t\t// Update document click handler when dropdown state changes\n\t\tif (changedProps.has('_open')) {\n\t\t\tif (!this._open) {\n\t\t\t\tdocument.removeEventListener('click', this._documentClickHandler)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handle document clicks to close dropdown when clicking outside\n\t */\n\tprivate _onDocumentClick(e: MouseEvent) {\n\t\t// Don't close if clicking on component or its children\n\t\tif (e.composedPath().includes(this)) {\n\t\t\treturn\n\t\t}\n\n\t\t// Don't close if clicking on one of the options (which may be in light DOM)\n\t\tfor (const option of this._options) {\n\t\t\tif (e.composedPath().includes(option)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\t// Otherwise close the dropdown\n\t\tif (this._open) {\n\t\t\tthis._open = false\n\t\t\tthis._updateInputDisplay()\n\t\t}\n\t}\n\n\t/**\n\t * Set up initial option accessibility attributes\n\t */\n\tprivate _setupOptionsAccessibility() {\n\t\tthis._options.forEach((option, index) => {\n\t\t\t// Set common attributes for all options\n\t\t\toption.setAttribute('role', 'option')\n\t\t\toption.tabIndex = -1\n\n\t\t\t// Ensure each option has an ID\n\t\t\tif (!option.id) {\n\t\t\t\toption.id = `${this.id}-option-${index}`\n\t\t\t}\n\n\t\t\t// Add click handler to options\n\t\t\tif (!option.hasAttribute('data-event-bound')) {\n\t\t\t\toption.addEventListener('click', e => {\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t\tthis._selectOption(option)\n\t\t\t\t})\n\t\t\t\toption.setAttribute('data-event-bound', 'true')\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * Update options' selection state based on component value\n\t */\n\tprivate _syncOptionsSelection() {\n\t\tif (!this._options?.length) return\n\n\t\tthis._options.forEach(option => {\n\t\t\tif (this.multi) {\n\t\t\t\toption.selected = this._selectedValues.includes(option.value)\n\t\t\t} else {\n\t\t\t\toption.selected = option.value === this._selectedValue\n\t\t\t}\n\n\t\t\t// Update aria-selected attribute\n\t\t\toption.setAttribute('aria-selected', String(option.selected))\n\t\t})\n\t}\n\n\t/**\n\t * Filter options based on input text - this operation can be expensive\n\t * with many options or complex filtering logic\n\t */\n\tprivate _filterOptions() {\n\t\tconsole.time('filter-options')\n\t\tconst searchTerm = this._inputValue.toLowerCase().trim()\n\n\t\t// Track if we have any matches\n\t\tlet hasMatches = false\n\n\t\tthis._options.forEach(option => {\n\t\t\t// Always show all options if search is empty\n\t\t\tif (!searchTerm) {\n\t\t\t\toption.hidden = false\n\t\t\t\thasMatches = true\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Simple substring matching\n\t\t\tconst text = (option.label || option.textContent || '').toLowerCase()\n\t\t\tconst isMatch = text.includes(searchTerm)\n\t\t\toption.hidden = !isMatch\n\n\t\t\tif (isMatch) {\n\t\t\t\thasMatches = true\n\t\t\t}\n\t\t})\n\n\t\t// Update \"No results\" visibility\n\t\tconst emptyMessage = this.shadowRoot?.querySelector('#empty')\n\t\tif (emptyMessage) {\n\t\t\temptyMessage.toggleAttribute('hidden', hasMatches)\n\t\t}\n\n\t\t// Announce results to screen readers\n\t\tconst visibleCount = this._getVisibleOptions().length\n\t\tthis._announceToScreenReader(\n\t\t\tvisibleCount > 0 ? `${visibleCount} option${visibleCount === 1 ? '' : 's'} available.` : 'No results found.',\n\t\t)\n\t\tconsole.timeEnd('filter-options')\n\t}\n\n\t/**\n\t * Get all currently visible options\n\t */\n\tprivate _getVisibleOptions(): SchmancyOption[] {\n\t\treturn Array.from(this._options || []).filter(option => !option.hidden)\n\t}\n\n\t/**\n\t * Get labels of selected options\n\t */\n\tprivate _getSelectedLabels(): string[] {\n\t\treturn Array.from(this._options || [])\n\t\t\t.filter(option =>\n\t\t\t\tthis.multi ? this._selectedValues.includes(option.value) : option.value === this._selectedValue,\n\t\t\t)\n\t\t\t.map(option => option.label || option.textContent || '')\n\t}\n\n\t/**\n\t * Update the input display based on selection state\n\t */\n\tprivate _updateInputDisplay() {\n\t\tif (!this._inputElementRef.value) return\n\n\t\t// When dropdown is closed or in single select mode, show the selection\n\t\tif (!this._open || !this.multi) {\n\t\t\tif (this.multi) {\n\t\t\t\t// Show comma-separated labels for multi-select\n\t\t\t\tthis._inputValue = this._getSelectedLabels().join(', ')\n\t\t\t} else {\n\t\t\t\t// Show selected option label for single-select\n\t\t\t\tconst selectedOption = this._options?.find(o => o.value === this._selectedValue)\n\t\t\t\tthis._inputValue = selectedOption ? selectedOption.label || selectedOption.textContent || '' : ''\n\t\t\t}\n\t\t}\n\n\t\t// Update the input value\n\t\tthis._inputElementRef.value.value = this._inputValue\n\t}\n\n\t/**\n\t * Handle input focus\n\t */\n\tprivate _onInputFocus(e: FocusEvent) {\n\t\te.stopPropagation()\n\n\t\t// If suppress flag is active, don't open dropdown\n\t\tif (this._suppressFocusOpen) {\n\t\t\treturn\n\t\t}\n\n\t\t// If multi-select mode and input is focused, clear it for new input\n\t\tif (this.multi) {\n\t\t\tthis._inputValue = ''\n\t\t\tif (this._inputElementRef.value) {\n\t\t\t\tthis._inputElementRef.value.value = ''\n\t\t\t}\n\t\t}\n\n\t\tthis._showDropdown()\n\t}\n\n\t/**\n\t * Debounce a function call\n\t * @param fn Function to debounce\n\t */\n\tprivate _debounce(fn: () => void): void {\n\t\t// Clear any existing timer\n\t\tif (this._debounceTimer !== null) {\n\t\t\twindow.clearTimeout(this._debounceTimer)\n\t\t}\n\n\t\t// Set new timer\n\t\tthis._debounceTimer = window.setTimeout(() => {\n\t\t\tfn()\n\t\t\tthis._debounceTimer = null\n\t\t}, this.debounceMs)\n\t}\n\n\t/**\n\t * Handle input text changes with debouncing\n\t */\n\tprivate _onInputChange(e: Event) {\n\t\tconst target = e.target as HTMLInputElement\n\t\tthis._inputValue = target.value\n\n\t\t// Immediate feedback - show dropdown\n\t\tif (!this._open) {\n\t\t\tthis._showDropdown()\n\t\t}\n\n\t\t// Debounce the expensive filtering operation\n\t\tthis._debounce(() => {\n\t\t\tthis._filterOptions()\n\t\t})\n\t}\n\n\t/**\n\t * Show the dropdown with filtered options\n\t */\n\tprivate _showDropdown() {\n\t\tif (this._open) return\n\n\t\tthis._open = true\n\t\tthis._filterOptions()\n\n\t\t// Add document click handler after a brief delay\n\t\t// to avoid immediate closing on the same click event\n\t\tsetTimeout(() => {\n\t\t\tdocument.addEventListener('click', this._documentClickHandler)\n\t\t}, 10)\n\t}\n\n\t/**\n\t * Announce message to screen readers\n\t */\n\tprivate _announceToScreenReader(message: string) {\n\t\tconst liveRegion = this.shadowRoot?.querySelector('#live-status')\n\t\tif (liveRegion) {\n\t\t\tliveRegion.textContent = message\n\t\t}\n\t}\n\n\t/**\n\t * Select an option (either via click or keyboard)\n\t */\n\tprivate _selectOption(option: SchmancyOption) {\n\t\tif (this.multi) {\n\t\t\t// Toggle selection in multi-select mode\n\t\t\tconst value = option.value\n\t\t\tconst index = this._selectedValues.indexOf(value)\n\n\t\t\tif (index > -1) {\n\t\t\t\t// Remove if already selected\n\t\t\t\tthis._selectedValues = [...this._selectedValues.slice(0, index), ...this._selectedValues.slice(index + 1)]\n\t\t\t} else {\n\t\t\t\t// Add if not selected\n\t\t\t\tthis._selectedValues = [...this._selectedValues, value]\n\t\t\t}\n\n\t\t\t// Clear input for more typing in multi-select mode\n\t\t\tthis._inputValue = ''\n\t\t\tif (this._inputElementRef.value) {\n\t\t\t\tthis._inputElementRef.value.value = ''\n\t\t\t}\n\n\t\t\t// Update option selection state\n\t\t\toption.selected = !option.selected\n\t\t\toption.setAttribute('aria-selected', String(option.selected))\n\n\t\t\t// Keep dropdown open in multi-select\n\t\t\tthis._filterOptions()\n\n\t\t\t// Announce selection to screen readers\n\t\t\tconst selectedLabels = this._getSelectedLabels()\n\t\t\tthis._announceToScreenReader(\n\t\t\t\tselectedLabels.length > 0 ? `Selected: ${selectedLabels.join(', ')}` : 'No options selected',\n\t\t\t)\n\t\t} else {\n\t\t\t// Single-select mode - select and close\n\t\t\tthis._selectedValue = option.value\n\n\t\t\t// Update selected state\n\t\t\tthis._syncOptionsSelection()\n\n\t\t\t// Close dropdown\n\t\t\tthis._open = false\n\n\t\t\t// Set flag to prevent reopening on focus\n\t\t\tthis._suppressFocusOpen = true\n\n\t\t\t// Update input with selected label\n\t\t\tthis._updateInputDisplay()\n\n\t\t\t// For mobile: blur input to dismiss keyboard\n\t\t\tif (this._inputElementRef.value) {\n\t\t\t\tthis._inputElementRef.value.blur()\n\t\t\t}\n\n\t\t\t// Reset suppress flag after a delay\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis._suppressFocusOpen = false\n\t\t\t}, 300)\n\n\t\t\t// Announce selection to screen readers\n\t\t\tthis._announceToScreenReader(`Selected: ${option.label || option.textContent}`)\n\t\t}\n\n\t\t// Fire change event\n\t\tthis._fireChangeEvent()\n\t}\n\n\t/**\n\t * Handle keyboard navigation\n\t */\n\tprivate _onKeyDown(e: KeyboardEvent) {\n\t\t// If dropdown is closed, open on arrow down or enter\n\t\tif (!this._open && (e.key === 'ArrowDown' || e.key === 'Enter')) {\n\t\t\te.preventDefault()\n\t\t\tthis._showDropdown()\n\n\t\t\t// Focus first visible option\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst visibleOptions = this._getVisibleOptions()\n\t\t\t\tif (visibleOptions.length > 0) {\n\t\t\t\t\tvisibleOptions[0].focus()\n\t\t\t\t}\n\t\t\t}, 10)\n\n\t\t\treturn\n\t\t}\n\n\t\t// Early return if dropdown is closed\n\t\tif (!this._open) return\n\n\t\t// Handle keyboard navigation\n\t\tswitch (e.key) {\n\t\t\tcase 'Escape':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis._open = false\n\t\t\t\tthis._updateInputDisplay()\n\t\t\t\tthis._inputElementRef.value?.focus()\n\t\t\t\tbreak\n\n\t\t\tcase 'Tab':\n\t\t\t\t// Natural tab behavior will move focus; just close dropdown\n\t\t\t\tthis._open = false\n\t\t\t\tthis._updateInputDisplay()\n\t\t\t\tbreak\n\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis._moveFocus(1)\n\t\t\t\tbreak\n\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis._moveFocus(-1)\n\t\t\t\tbreak\n\n\t\t\tcase 'Home':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis._focusFirstOption()\n\t\t\t\tbreak\n\n\t\t\tcase 'End':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis._focusLastOption()\n\t\t\t\tbreak\n\n\t\t\tcase 'Enter':\n\t\t\tcase ' ': // Space key\n\t\t\t\t// Select currently focused option\n\t\t\t\tconst focusedOption = this._getFocusedOption()\n\t\t\t\tif (focusedOption) {\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tthis._selectOption(focusedOption)\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\t/**\n\t * Get the currently focused option\n\t */\n\tprivate _getFocusedOption(): SchmancyOption | null {\n\t\tconst visibleOptions = this._getVisibleOptions()\n\t\treturn visibleOptions.find(opt => opt === document.activeElement) || null\n\t}\n\n\t/**\n\t * Move focus to next/previous option\n\t */\n\tprivate _moveFocus(direction: number) {\n\t\tconst visibleOptions = this._getVisibleOptions()\n\t\tif (!visibleOptions.length) return\n\n\t\tconst currentOption = this._getFocusedOption()\n\t\tlet index = currentOption ? visibleOptions.indexOf(currentOption) : -1\n\n\t\t// Calculate new index\n\t\tif (direction > 0) {\n\t\t\t// Move forward, wrap to start\n\t\t\tindex = index < visibleOptions.length - 1 ? index + 1 : 0\n\t\t} else {\n\t\t\t// Move backward, wrap to end\n\t\t\tindex = index > 0 ? index - 1 : visibleOptions.length - 1\n\t\t}\n\n\t\t// Focus the option\n\t\tvisibleOptions[index].focus()\n\t}\n\n\t/**\n\t * Focus the first visible option\n\t */\n\tprivate _focusFirstOption() {\n\t\tconst visibleOptions = this._getVisibleOptions()\n\t\tif (visibleOptions.length > 0) {\n\t\t\tvisibleOptions[0].focus()\n\t\t}\n\t}\n\n\t/**\n\t * Focus the last visible option\n\t */\n\tprivate _focusLastOption() {\n\t\tconst visibleOptions = this._getVisibleOptions()\n\t\tif (visibleOptions.length > 0) {\n\t\t\tvisibleOptions[visibleOptions.length - 1].focus()\n\t\t}\n\t}\n\n\t/**\n\t * Fire change event\n\t */\n\tprivate _fireChangeEvent() {\n\t\tconst detail = {\n\t\t\tvalue: this.multi ? this._selectedValues : this._selectedValue,\n\t\t}\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyAutocompleteChangeEvent['detail']>('change', {\n\t\t\t\tdetail,\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t/**\n\t * Check validity for form integration\n\t */\n\tpublic checkValidity(): boolean {\n\t\tif (!this.required) return true\n\t\treturn this.multi ? this._selectedValues.length > 0 : Boolean(this._selectedValue)\n\t}\n\n\t/**\n\t * Report validity for form integration\n\t */\n\tpublic reportValidity(): boolean {\n\t\tif (this._inputElementRef.value) {\n\t\t\treturn this._inputElementRef.value.reportValidity()\n\t\t}\n\t\treturn this.checkValidity()\n\t}\n\n\trender() {\n\t\tconst descriptionId = `${this.id}-desc`\n\n\t\treturn html`\n\t\t\t<div class=\"schmancy-autocomplete relative z-10\">\n\t\t\t\t<!-- Screen reader live region -->\n\t\t\t\t<div id=\"live-status\" role=\"status\" aria-live=\"polite\" class=\"sr-only\"></div>\n\n\t\t\t\t<!-- Description (for screen readers) -->\n\t\t\t\t${this.description ? html`<div id=\"${descriptionId}\" class=\"sr-only\">${this.description}</div>` : ''}\n\n\t\t\t\t<!-- Input / trigger slot -->\n\t\t\t\t<slot name=\"trigger\">\n\t\t\t\t\t<sch-input\n\t\t\t\t\t\t.size=${this.size}\n\t\t\t\t\t\t${ref(this._inputElementRef)}\n\t\t\t\t\t\tid=\"autocomplete-input\"\n\t\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t\t.value=${this._inputValue}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tautocomplete=${this.autocomplete}\n\t\t\t\t\t\tclickable\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\taria-controls=\"options\"\n\t\t\t\t\t\taria-expanded=${this._open}\n\t\t\t\t\t\taria-describedby=${this.description ? descriptionId : undefined}\n\t\t\t\t\t\t@input=${this._onInputChange}\n\t\t\t\t\t\t@focus=${this._onInputFocus}\n\t\t\t\t\t\t@click=${(e: MouseEvent) => {\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\tthis._onInputFocus(new FocusEvent('focus'))\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t@keydown=${this._onKeyDown}\n\t\t\t\t\t>\n\t\t\t\t\t</sch-input>\n\t\t\t\t</slot>\n\n\t\t\t\t<!-- Options dropdown -->\n\t\t\t\t<ul\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\tclass=${classMap({\n\t\t\t\t\t\tabsolute: true,\n\t\t\t\t\t\t'z-30': true,\n\t\t\t\t\t\t'mt-1': true,\n\t\t\t\t\t\t'w-full': true,\n\t\t\t\t\t\t'rounded-md': true,\n\t\t\t\t\t\t'shadow-sm': true,\n\t\t\t\t\t\t'overflow-auto': true,\n\t\t\t\t\t})}\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\taria-multiselectable=${this.multi ? 'true' : 'false'}\n\t\t\t\t\taria-label=${`${this.label || 'Options'} dropdown`}\n\t\t\t\t\t?hidden=${!this._open}\n\t\t\t\t\tstyle=\"\n max-height: ${this.maxHeight}; \n display: ${this._open ? 'block' : 'none'};\n background-color: transparent;\n \"\n\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\tthis._setupOptionsAccessibility()\n\t\t\t\t\t\tthis._syncOptionsSelection()\n\t\t\t\t\t\tthis._filterOptions()\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<!-- \"No results\" message -->\n\t\t\t\t\t<li id=\"empty\" tabindex=\"-1\" role=\"option\" aria-disabled=\"true\" class=\"p-2 text-center\" hidden>\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<!-- Options slot -->\n\t\t\t\t\t<slot></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":["SchmancyAutocomplete","$LitElement","super","arguments","this","required","placeholder","label","maxHeight","multi","description","size","autocomplete","debounceMs","_open","_inputValue","_selectedValue","_selectedValues","_suppressFocusOpen","_debounceTimer","_inputElementRef","createRef","_documentClickHandler","_onDocumentClick","bind","value","join","val","split","map","v","trim","filter","Boolean","_syncOptionsSelection","_updateInputDisplay","isConnected","_fireChangeEvent","connectedCallback","id","Math","random","toString","slice","document","removeEventListener","window","clearTimeout","disconnectedCallback","_setupOptionsAccessibility","changedProps","updated","has","e","composedPath","includes","option","_options","forEach","index","setAttribute","tabIndex","hasAttribute","addEventListener","stopPropagation","_selectOption","length","selected","String","_filterOptions","searchTerm","toLowerCase","hasMatches","hidden","isMatch","textContent","emptyMessage","shadowRoot","querySelector","toggleAttribute","visibleCount","_getVisibleOptions","_announceToScreenReader","Array","from","_getSelectedLabels","selectedOption","find","o","_showDropdown","fn","setTimeout","target","_debounce","message","liveRegion","indexOf","selectedLabels","blur","key","preventDefault","visibleOptions","focus","_moveFocus","_focusFirstOption","_focusLastOption","focusedOption","_getFocusedOption","opt","activeElement","direction","currentOption","detail","dispatchEvent","CustomEvent","bubbles","composed","reportValidity","checkValidity","render","descriptionId","html","ref","_onInputChange","_onInputFocus","FocusEvent","_onKeyDown","classMap","absolute","__decorateClass","property","type","prototype","reflect","Number","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-button-B59U140Z.cjs","sources":["../src/button/button.ts","../src/button/icon-button.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\n\nexport interface SchmancyButtonEventMap {\n\tSchmancyFocus: CustomEvent<void>\n\tSchmancyBlur: CustomEvent<void>\n}\n\nexport type ButtonVariant = 'elevated' | 'filled' | 'filled tonal' | 'outlined' | 'text'\n\n/**\n * A button component.\n * @element schmancy-button\n * @slot - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n */\n@customElement('schmancy-button')\nexport class SchmancyButton extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: fit-content;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t/**\n\t * The variant of the button.\n\t * @attr\n\t * @default 'text'\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t * @public\n\t */\n\t@property()\n\tpublic width: 'full' | 'auto' = 'auto'\n\n\t/**\n\t * The type of the button.\n\t * Defaults to 'button' (preventing accidental form submissions).\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type: 'button' | 'reset' | 'submit' = 'button'\n\n\t/**\n\t * The URL the button points to.\n\t * If provided, the component will render as an anchor element.\n\t * @attr\n\t */\n\t@property()\n\tpublic href?: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t@queryAssignedElements({\n\t\tslot: 'prefix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate prefixImgs!: HTMLImageElement[]\n\n\t@queryAssignedElements({\n\t\tslot: 'suffix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate suffixImgs!: HTMLImageElement[]\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tprotected get imgClasses(): string[] {\n\t\treturn ['max-h-[24px]', 'max-w-[24px]', 'object-contain']\n\t}\n\n\tfirstUpdated() {\n\t\t// Add image classes and ensure decorative images have an empty alt.\n\t\tthis.prefixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t\tif (!img.hasAttribute('alt')) {\n\t\t\t\timg.setAttribute('alt', '')\n\t\t\t}\n\t\t})\n\t\tthis.suffixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t\tif (!img.hasAttribute('alt')) {\n\t\t\t\timg.setAttribute('alt', '')\n\t\t\t}\n\t\t})\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\t// Prevent default behavior when the component is disabled.\n\tprivate _preventDefault(event: Event) {\n\t\tevent.preventDefault()\n\t\tevent.stopPropagation()\n\t}\n\n\trender() {\n\t\t// Compute classes for the interactive element.\n\t\tconst classes = {\n\t\t\t'z-0 py-[8px] px-[16px] transition-all duration-200 relative rounded-full inline-flex justify-center items-center gap-[8px] outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 outline-hidden':\n\t\t\t\ttrue,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'hover:shadow-xs':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(this.variant === 'outlined' ||\n\t\t\t\t\tthis.variant === 'text' ||\n\t\t\t\t\tthis.variant === 'filled' ||\n\t\t\t\t\tthis.variant === 'filled tonal'),\n\t\t\t'hover:shadow-sm': !this.disabled && this.variant === 'elevated',\n\t\t\t'w-full tex-center': this.width === 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-xs': this.variant === 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-solid border-outline': this.variant === 'outlined',\n\t\t\t'bg-primary-default text-primary-on': this.variant === 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': this.variant === 'filled tonal',\n\t\t\t'text-primary-default': this.variant === 'text',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'absolute inset-0 hover:opacity-[0.08] z-0 rounded-full': true,\n\t\t\t'hover:bg-primary-on': this.variant === 'filled',\n\t\t\t'hover:bg-primary-default': this.variant === 'outlined' || this.variant === 'elevated' || this.variant === 'text',\n\t\t\t'hover:bg-secondary-container': this.variant === 'filled tonal',\n\t\t}\n\n\t\t// If href is provided, render an anchor element.\n\t\tif (this.href) {\n\t\t\treturn html`\n\t\t\t\t<a\n\t\t\t\t\tpart=\"base\"\n\t\t\t\t\thref=${ifDefined(this.disabled ? undefined : this.href)}\n\t\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\t\t@click=${this.disabled ? this._preventDefault : undefined}\n\t\t\t\t>\n\t\t\t\t\t${when(!this.disabled, () => html`<div class=\"${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t\t</a>\n\t\t\t`\n\t\t}\n\n\t\t// Otherwise, render a native button element.\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html`<div class=\"${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t<slot></slot>\n\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-button': SchmancyButton\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement, PropertyValueMap } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nimport { ButtonVariant } from './button'\nimport { classMap } from 'lit/directives/class-map.js'\n\n/**\n * An icon button component.\n * @element schmancy-icon-button\n * @slot - The default slot.\n */\n@customElement('schmancy-icon-button')\nexport class SchmnacyIconButton extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t/**\n\t * The size of the icon.\n\t * @attr\n\t * @default 'md'\n\t */\n\t@property({ type: String })\n\tpublic size: 'sm' | 'md' | 'lg' = 'md'\n\n\t/**\n\t * The variant of the button.\n\t * @attr\n\t * @default 'text'\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t */\n\t@property()\n\tpublic width: 'full' | 'auto' = 'auto'\n\n\t/**\n\t * The type of the button.\n\t * Defaults to 'button' (preventing accidental form submissions).\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type: 'button' | 'reset' | 'submit' = 'button'\n\n\t/**\n\t * The URL the button points to.\n\t * If provided, the component will render as an anchor element.\n\t * @attr\n\t */\n\t@property()\n\tpublic href?: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\t// Manage aria-label manually so that we can always use our internal property.\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\t// Prevent default behavior when the component is disabled.\n\tprivate _preventDefault(event: Event) {\n\t\tevent.preventDefault()\n\t\tevent.stopPropagation()\n\t}\n\n\tprotected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n\t\t// Add any first-update logic here if needed.\n\t}\n\n\trender() {\n\t\t// Compute classes for the interactive element.\n\t\tconst classes = {\n\t\t\t'z-10 h-full transition-all duration-200 relative rounded-full inline-flex justify-center items-center gap-[8px] outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 outline-hidden':\n\t\t\t\ttrue,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'hover:shadow-xs':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(this.variant === 'outlined' ||\n\t\t\t\t\tthis.variant === 'text' ||\n\t\t\t\t\tthis.variant === 'filled' ||\n\t\t\t\t\tthis.variant === 'filled tonal'),\n\t\t\t'hover:shadow-sm': !this.disabled && this.variant === 'elevated',\n\t\t\t'w-full text-center': this.width === 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-xs': this.variant === 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-outline': this.variant === 'outlined',\n\t\t\t'bg-primary-default text-primary-on': this.variant === 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': this.variant === 'filled tonal',\n\t\t\t'text-primary-default': this.variant === 'text',\n\t\t\t'px-[6px] py-[6px]': this.size === 'sm',\n\t\t\t'px-[8px] py-[8px]': this.size === 'md',\n\t\t\t'px-[12px] py-[12px]': this.size === 'lg',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'hover:opacity-[0.08] rounded-full z-0': true,\n\t\t\t'hover:bg-primary-on': this.variant === 'filled',\n\t\t\t'hover:bg-primary-default': this.variant === 'outlined' || this.variant === 'elevated' || this.variant === 'text',\n\t\t\t'hover:bg-secondary-container': this.variant === 'filled tonal',\n\t\t}\n\n\t\t// If href is provided, render an anchor element.\n\t\tif (this.href) {\n\t\t\treturn html`\n\t\t\t\t<a\n\t\t\t\t\tpart=\"base\"\n\t\t\t\t\thref=${ifDefined(this.disabled ? undefined : this.href)}\n\t\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t\tclass=\"${classMap(classes)}\"\n\t\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\t\t@click=${this.disabled ? this._preventDefault : undefined}\n\t\t\t\t>\n\t\t\t\t\t${when(!this.disabled, () => html`<div class=\"absolute inset-0 ${classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t\t<schmancy-icon size=${this.size === 'sm' ? '18px' : this.size === 'md' ? '24px' : '32px'}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</schmancy-icon>\n\t\t\t\t</a>\n\t\t\t`\n\t\t}\n\n\t\t// Otherwise, render a native button element.\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html`<div class=\"absolute inset-0 ${classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t<schmancy-icon size=${this.size === 'sm' ? '18px' : this.size === 'md' ? '24px' : '32px'}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</schmancy-icon>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-icon-button': SchmnacyIconButton\n\t}\n}\n"],"names":["SchmancyButton","$LitElement","css","constructor","super","arguments","this","variant","width","type","disabled","value","oldVal","_ariaLabel","hasAttribute","removeAttribute","requestUpdate","options","nativeElement","focus","blur","imgClasses","prefixImgs","forEach","img","classList","add","setAttribute","suffixImgs","dispatchEvent","Event","bubbles","composed","event","preventDefault","stopPropagation","render","classes","stateLayerClasses","href","html","ifDefined","ariaLabel","classMap","_preventDefault","when","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","query","prototype","property","reflect","String","Boolean","attribute","queryAssignedElements","slot","flatten","selector","customElement","SchmnacyIconButton","size","_changedProperties"],"mappings":"mhBAqBaA,QAAAA,eAAN,cAA6BC,EAAAA,YAAYC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAzC,aAAAC,CAAAC,SAAAC,SAwBNC,EAAAA,KAAOC,QAAyB,OAUhCD,KAAOE,MAAyB,OAQhCF,KAAOG,KAAsC,SAe7CH,KAAOI,SAAAA,EAAW,CAElB,IAAA,UAA8BC,EAC7B,CAAA,MAAMC,EAASN,KAAKO,WACpBP,KAAKO,WAAaF,EAEdL,KAAKQ,aAAa,YACrBR,GAAAA,KAAKS,gBAAgB,YAEjBT,EAAAA,KAAAU,cAAc,YAAaJ,CAAM,CAAA,CAIvC,eACC,CAAA,OAAON,KAAKO,UAAA,CAkBG,MAAMI,EAAAA,CAChBX,KAAAY,cAAcC,MAAMF,CAAAA,CAAO,CAIjB,MAAAG,CACfd,KAAKY,cAAcE,KAAAA,CAAK,CAGzB,IAAcC,YAAAA,CACN,MAAA,CAAC,eAAgB,eAAgB,iBAAgB,CAGzD,wBAEMf,EAAAA,KAAAgB,aAAAhB,MAAAA,EAAYiB,QAAeC,GAC/BA,CAAAA,EAAIC,UAAUC,IAAAA,GAAOpB,KAAKe,UAAAA,EACrBG,EAAIV,aAAa,KAAA,GACjBU,EAAAG,aAAa,MAAO,GAAE,IAGvBrB,EAAAA,KAAAsB,aAAAtB,MAAAA,EAAYiB,QAAeC,GAC/BA,CAAAA,EAAIC,UAAUC,IAAOpB,GAAAA,KAAKe,UACrBG,EAAAA,EAAIV,aAAa,KAAA,GACjBU,EAAAG,aAAa,MAAO,EAAE,CAAA,EAE3B,CAGF,QACMrB,KAAAuB,cAAc,IAAIC,MAAM,QAAS,CAAEC,QAAS,GAAMC,SAAU,EAAA,CAAA,CAAA,CAAO,CAIjE,gBAAgBC,EACvBA,CAAAA,EAAMC,iBACND,EAAME,gBAAAA,CAAgB,CAGvB,QAAAC,CAEC,MAAMC,EAAU,CACf,yPAAA,GAEA,iBAAmB/B,CAAAA,KAAKI,SACxB,iBAAkBJ,KAAKI,SACvB,kBACEJ,CAAAA,KAAKI,WACLJ,KAAKC,UAAY,YACjBD,KAAKC,UAAY,QACjBD,KAAKC,UAAY,UACjBD,KAAKC,UAAY,gBACnB,kBAAA,CAAoBD,KAAKI,UAAYJ,KAAKC,UAAY,WACtD,oBAAqBD,KAAKE,QAAU,OACpC,gDAAiDF,KAAKC,UAAY,WAClE,2EAA4ED,KAAKC,UAAY,WAC7F,qCAAsCD,KAAKC,UAAY,SACvD,oDAAqDD,KAAKC,UAAY,eACtE,uBAAwBD,KAAKC,UAAY,MAGpC+B,EAAAA,EAAoB,CACzB,yDAA0D,GAC1D,sBAAuBhC,KAAKC,UAAY,SACxC,2BAA4BD,KAAKC,UAAY,YAAcD,KAAKC,UAAY,YAAcD,KAAKC,UAAY,OAC3G,+BAAgCD,KAAKC,UAAY,gBAIlD,OAAID,KAAKiC,KACDC,EAAAA;AAAAA;AAAAA;AAAAA,YAGEC,EAAAA,UAAUnC,KAAKI,SAAW,OAAYJ,KAAKiC,IAAAA,CAAAA;AAAAA,kBACrCE,EAAAA,UAAUnC,KAAKoC,SAAAA,CAAAA;AAAAA,cACnBpC,KAAKqC,SAASN,CAAAA,CAAAA;AAAAA,gBACZ/B,KAAKI,SAAW,KAAO,GAAA;AAAA,qBAClBJ,KAAKI,QAAAA;AAAAA,cACZJ,KAAKI,SAAWJ,KAAKsC,gBAAkB,MAAA;AAAA;AAAA,OAE9CC,QAAMvC,KAAKI,SAAU,IAAM8B,EAAmBA,mBAAAlC,KAAKqC,SAASL,CAAAA,CAAAA,UAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KAS1DE,EAAAA;AAAAA;AAAAA;AAAAA,iBAGQC,EAAAA,UAAUnC,KAAKoC,SAAAA,CAAAA;AAAAA,gBAChBpC,KAAKI,QAAAA;AAAAA,aACRJ,KAAKqC,SAASN,CAAAA,CAAAA;AAAAA,WAChBI,EAAAA,UAAUnC,KAAKG,IAAAA,CAAAA;AAAAA,eACXgC,EAAUA,UAAAnC,KAAKI,SAAW,KAAO,MAAA,CAAA;AAAA;AAAA,MAE1CmC,QAAMvC,KAAKI,SAAU,IAAM8B,EAAmBA,mBAAAlC,KAAKqC,SAASL,CAAAA,CAAAA,UAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAA6B,CA3LlFtC,EAAAA,QAAAA,eAMK8C,kBAAoB,CAAA,GACjCC,EAAWA,WAAAD,kBACdE,KAAM,OACNC,eAAAA,IAIOC,EAAA,CADPC,EAAAA,MAAM,gBAAA,KAZKnD,uBAaJoD,UAAA,gBAAA,CAAA,EAWDF,EAAA,CADNG,EAAAA,SAAS,CAAEC,QAAAA,GAAe7C,KAAM8C,MAAAA,CAAAA,CAAAA,EAvBrBvD,uBAwBLoD,UAAA,UAAA,CAUAF,EAAAA,EAAA,CADNG,EAASA,SAAAA,CAAAA,EAjCErD,uBAkCLoD,UAAA,QAAA,CAAA,EAQAF,EAAA,CADNG,EAAAA,SAAS,CAAEC,WAAe7C,KAAM8C,UAzCrBvD,uBA0CLoD,UAAA,OAAA,CAAA,EAQAF,EAAA,CADNG,EAASA,YAjDErD,uBAkDLoD,UAAA,OAAA,CAAA,EAOAF,EAAA,CADNG,EAAAA,SAAS,CAAE5C,KAAM+C,QAASF,UAxDftD,CAAAA,CAAAA,EAAAA,uBAyDLoD,UAAA,WAAA,GAaaF,EAAA,CADnBG,WAAS,CAAEI,UAAW,YArEXzD,CAAAA,CAAAA,EAAAA,uBAsEQoD,UAAA,YAAA,CASZF,EAAAA,EAAA,CALPQ,wBAAsB,CACtBC,KAAM,SACNC,QAAS,GACTC,SAAU,KA7EC7D,CAAAA,CAAAA,EAAAA,uBA+EJoD,UAAA,aAAA,GAOAF,EAAA,CALPQ,wBAAsB,CACtBC,KAAM,SACNC,QAAAA,GACAC,SAAU,KAAA,CAAA,CAAA,EApFC7D,uBAsFJoD,UAAA,aAAA,CAtFIpD,EAAAA,QAANA,eAAAkD,EAAA,CADNY,EAAAA,cAAc,iBAAA,CAAA,EACF9D,wNCPA+D,QAAAA,mBAAN,cAAiC9D,EAAAA,YAAYC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA7C,CAAA,CAAA,cAAAE,MAAAC,GAAAA,SAAAA,EAsBNC,KAAO0D,KAA2B,KAQlC1D,KAAOC,QAAyB,OAShCD,KAAOE,MAAyB,OAQhCF,KAAOG,KAAsC,SAe7CH,KAAOI,SAAW,EAAA,CAGlB,IAAoBgC,UAAU/B,EAC7B,CAAA,MAAMC,EAASN,KAAKO,WACpBP,KAAKO,WAAaF,EAEdL,KAAKQ,aAAa,YAAA,GACrBR,KAAKS,gBAAgB,YAAA,EAEjBT,KAAAU,cAAc,YAAaJ,EAAM,CAIvC,IAAA,YACC,OAAON,KAAKO,UAAA,CAIG,MAAMI,EAAAA,CAChBX,KAAAY,cAAcC,MAAMF,EAAO,CAIjB,OACfX,KAAKY,cAAcE,MAAK,CAGzB,QACMd,KAAAuB,cAAc,IAAIC,MAAM,QAAS,CAAEC,QAAAA,GAAeC,SAAU,EAAA,CAAA,CAAA,CAAO,CAIjE,gBAAgBC,GACvBA,EAAMC,eAAAA,EACND,EAAME,gBAAgB,CAAA,CAGb,aAAa8B,EAAAA,CAA6E,CAIpG,QAAA7B,CAEC,MAAMC,EAAU,CACf,8OACC,GACD,iBAAkB/B,KAAKI,SACvB,kBAAmBJ,KAAKI,SACxB,mBACEJ,KAAKI,WACLJ,KAAKC,UAAY,YACjBD,KAAKC,UAAY,QACjBD,KAAKC,UAAY,UACjBD,KAAKC,UAAY,gBACnB,kBAAoBD,CAAAA,KAAKI,UAAYJ,KAAKC,UAAY,WACtD,qBAAsBD,KAAKE,QAAU,OACrC,gDAAiDF,KAAKC,UAAY,WAClE,8DAA+DD,KAAKC,UAAY,WAChF,qCAAsCD,KAAKC,UAAY,SACvD,oDAAqDD,KAAKC,UAAY,eACtE,uBAAwBD,KAAKC,UAAY,OACzC,oBAAqBD,KAAK0D,OAAS,KACnC,oBAAqB1D,KAAK0D,OAAS,KACnC,sBAAuB1D,KAAK0D,OAAS,IAGhC1B,EAAAA,EAAoB,CACzB,wCAAyC,GACzC,sBAAuBhC,KAAKC,UAAY,SACxC,2BAA4BD,KAAKC,UAAY,YAAcD,KAAKC,UAAY,YAAcD,KAAKC,UAAY,OAC3G,+BAAgCD,KAAKC,UAAY,cAAZA,EAItC,OAAID,KAAKiC,KACDC,EAAAA;AAAAA;AAAAA;AAAAA,YAGEC,EAAAA,UAAUnC,KAAKI,SAAW,OAAYJ,KAAKiC,IAAAA,CAAAA;AAAAA,kBACrCE,EAAAA,UAAUnC,KAAKoC,SAAAA,CAAAA;AAAAA,cACnBC,EAAAA,SAASN,CAAAA,CAAAA;AAAAA,gBACP/B,KAAKI,SAAW,KAAO,GAAA;AAAA,qBAClBJ,KAAKI,QAAAA;AAAAA,cACZJ,KAAKI,SAAWJ,KAAKsC,gBAAkB,MAAA;AAAA;AAAA,OAE9CC,QAAMvC,KAAKI,SAAU,IAAM8B,EAAAA,oCAAoCG,WAASL,CAAAA,CAAAA,UAAAA,CAAAA;AAAAA,2BACpDhC,KAAK0D,OAAS,KAAO,OAAS1D,KAAK0D,OAAS,KAAO,OAAS,MAAA;AAAA;AAAA;AAAA;AAAA,KAQ9ExB,EAAAA;AAAAA;AAAAA;AAAAA,iBAGQC,EAAAA,UAAUnC,KAAKoC,SAAAA,CAAAA;AAAAA,gBAChBpC,KAAKI,QAAAA;AAAAA,aACRiC,EAAAA,SAASN,CAAAA,CAAAA;AAAAA,WACXI,EAAAA,UAAUnC,KAAKG,IAAAA,CAAAA;AAAAA,eACXgC,EAAUA,UAAAnC,KAAKI,SAAW,KAAO,MAAA,CAAA;AAAA;AAAA,MAE1CmC,QAAMvC,KAAKI,SAAU,IAAM8B,EAAAA,oCAAoCG,WAASL,CAAAA,CAAAA,UAAAA,CAAAA;AAAAA,0BACpDhC,KAAK0D,OAAS,KAAO,OAAS1D,KAAK0D,OAAS,KAAO,OAAS,MAAA;AAAA;AAAA;AAAA;AAAA,GAAM,CAvK/ED,EAAAA,QAAAA,mBAKKjB,kBAAoB,CACjCC,GAAAA,EAAWA,WAAAD,kBACdE,KAAM,OACNC,eAAAA,EAIOC,EAAAA,EAAA,CADPC,EAAAA,MAAM,gBAAiB,EAAA,CAAA,EAXZY,2BAYJX,UAAA,gBAAA,CAUDF,EAAAA,EAAA,CADNG,WAAS,CAAE5C,KAAM8C,MArBNQ,CAAAA,CAAAA,EAAAA,2BAsBLX,UAAA,OAAA,CAAA,EAQAF,EAAA,CADNG,EAAAA,SAAS,CAAEC,QAAS,GAAM7C,KAAM8C,MA7BrBQ,CAAAA,CAAAA,EAAAA,2BA8BLX,UAAA,UAAA,CAAA,EASAF,EAAA,CADNG,EAASA,SAAAA,CAAAA,EAtCEU,2BAuCLX,UAAA,QAAA,GAQAF,EAAA,CADNG,EAAAA,SAAS,CAAEC,QAAAA,GAAe7C,KAAM8C,MAAAA,CAAAA,CAAAA,EA9CrBQ,2BA+CLX,UAAA,OAAA,GAQAF,EAAA,CADNG,EAASA,SAAAA,CAAAA,EAtDEU,2BAuDLX,UAAA,OAAA,CAOAF,EAAAA,EAAA,CADNG,EAAAA,SAAS,CAAE5C,KAAM+C,QAASF,QAAAA,EA7DfS,CAAAA,CAAAA,EAAAA,2BA8DLX,UAAA,WAAA,CAAA,EAcaF,EAAA,CADnBG,WAAS,CAAEI,UAAW,gBA3EXM,2BA4EQX,UAAA,YAAA,CA5ERW,EAAAA,QAANA,mBAAAb,EAAA,CADNY,EAAAA,cAAc,sBAAA,CAAA,EACFC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-button-D55ewAMu.js","sources":["../src/button/button.ts","../src/button/icon-button.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\n\nexport interface SchmancyButtonEventMap {\n\tSchmancyFocus: CustomEvent<void>\n\tSchmancyBlur: CustomEvent<void>\n}\n\nexport type ButtonVariant = 'elevated' | 'filled' | 'filled tonal' | 'outlined' | 'text'\n\n/**\n * A button component.\n * @element schmancy-button\n * @slot - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n */\n@customElement('schmancy-button')\nexport class SchmancyButton extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: fit-content;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t/**\n\t * The variant of the button.\n\t * @attr\n\t * @default 'text'\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t * @public\n\t */\n\t@property()\n\tpublic width: 'full' | 'auto' = 'auto'\n\n\t/**\n\t * The type of the button.\n\t * Defaults to 'button' (preventing accidental form submissions).\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type: 'button' | 'reset' | 'submit' = 'button'\n\n\t/**\n\t * The URL the button points to.\n\t * If provided, the component will render as an anchor element.\n\t * @attr\n\t */\n\t@property()\n\tpublic href?: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t@queryAssignedElements({\n\t\tslot: 'prefix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate prefixImgs!: HTMLImageElement[]\n\n\t@queryAssignedElements({\n\t\tslot: 'suffix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate suffixImgs!: HTMLImageElement[]\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tprotected get imgClasses(): string[] {\n\t\treturn ['max-h-[24px]', 'max-w-[24px]', 'object-contain']\n\t}\n\n\tfirstUpdated() {\n\t\t// Add image classes and ensure decorative images have an empty alt.\n\t\tthis.prefixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t\tif (!img.hasAttribute('alt')) {\n\t\t\t\timg.setAttribute('alt', '')\n\t\t\t}\n\t\t})\n\t\tthis.suffixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t\tif (!img.hasAttribute('alt')) {\n\t\t\t\timg.setAttribute('alt', '')\n\t\t\t}\n\t\t})\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\t// Prevent default behavior when the component is disabled.\n\tprivate _preventDefault(event: Event) {\n\t\tevent.preventDefault()\n\t\tevent.stopPropagation()\n\t}\n\n\trender() {\n\t\t// Compute classes for the interactive element.\n\t\tconst classes = {\n\t\t\t'z-0 py-[8px] px-[16px] transition-all duration-200 relative rounded-full inline-flex justify-center items-center gap-[8px] outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 outline-hidden':\n\t\t\t\ttrue,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'hover:shadow-xs':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(this.variant === 'outlined' ||\n\t\t\t\t\tthis.variant === 'text' ||\n\t\t\t\t\tthis.variant === 'filled' ||\n\t\t\t\t\tthis.variant === 'filled tonal'),\n\t\t\t'hover:shadow-sm': !this.disabled && this.variant === 'elevated',\n\t\t\t'w-full tex-center': this.width === 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-xs': this.variant === 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-solid border-outline': this.variant === 'outlined',\n\t\t\t'bg-primary-default text-primary-on': this.variant === 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': this.variant === 'filled tonal',\n\t\t\t'text-primary-default': this.variant === 'text',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'absolute inset-0 hover:opacity-[0.08] z-0 rounded-full': true,\n\t\t\t'hover:bg-primary-on': this.variant === 'filled',\n\t\t\t'hover:bg-primary-default': this.variant === 'outlined' || this.variant === 'elevated' || this.variant === 'text',\n\t\t\t'hover:bg-secondary-container': this.variant === 'filled tonal',\n\t\t}\n\n\t\t// If href is provided, render an anchor element.\n\t\tif (this.href) {\n\t\t\treturn html`\n\t\t\t\t<a\n\t\t\t\t\tpart=\"base\"\n\t\t\t\t\thref=${ifDefined(this.disabled ? undefined : this.href)}\n\t\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\t\t@click=${this.disabled ? this._preventDefault : undefined}\n\t\t\t\t>\n\t\t\t\t\t${when(!this.disabled, () => html`<div class=\"${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t\t</a>\n\t\t\t`\n\t\t}\n\n\t\t// Otherwise, render a native button element.\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html`<div class=\"${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t<slot></slot>\n\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-button': SchmancyButton\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement, PropertyValueMap } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nimport { ButtonVariant } from './button'\nimport { classMap } from 'lit/directives/class-map.js'\n\n/**\n * An icon button component.\n * @element schmancy-icon-button\n * @slot - The default slot.\n */\n@customElement('schmancy-icon-button')\nexport class SchmnacyIconButton extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t/**\n\t * The size of the icon.\n\t * @attr\n\t * @default 'md'\n\t */\n\t@property({ type: String })\n\tpublic size: 'sm' | 'md' | 'lg' = 'md'\n\n\t/**\n\t * The variant of the button.\n\t * @attr\n\t * @default 'text'\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t */\n\t@property()\n\tpublic width: 'full' | 'auto' = 'auto'\n\n\t/**\n\t * The type of the button.\n\t * Defaults to 'button' (preventing accidental form submissions).\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type: 'button' | 'reset' | 'submit' = 'button'\n\n\t/**\n\t * The URL the button points to.\n\t * If provided, the component will render as an anchor element.\n\t * @attr\n\t */\n\t@property()\n\tpublic href?: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\t// Manage aria-label manually so that we can always use our internal property.\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\t// Prevent default behavior when the component is disabled.\n\tprivate _preventDefault(event: Event) {\n\t\tevent.preventDefault()\n\t\tevent.stopPropagation()\n\t}\n\n\tprotected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n\t\t// Add any first-update logic here if needed.\n\t}\n\n\trender() {\n\t\t// Compute classes for the interactive element.\n\t\tconst classes = {\n\t\t\t'z-10 h-full transition-all duration-200 relative rounded-full inline-flex justify-center items-center gap-[8px] outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 outline-hidden':\n\t\t\t\ttrue,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'hover:shadow-xs':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(this.variant === 'outlined' ||\n\t\t\t\t\tthis.variant === 'text' ||\n\t\t\t\t\tthis.variant === 'filled' ||\n\t\t\t\t\tthis.variant === 'filled tonal'),\n\t\t\t'hover:shadow-sm': !this.disabled && this.variant === 'elevated',\n\t\t\t'w-full text-center': this.width === 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-xs': this.variant === 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-outline': this.variant === 'outlined',\n\t\t\t'bg-primary-default text-primary-on': this.variant === 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': this.variant === 'filled tonal',\n\t\t\t'text-primary-default': this.variant === 'text',\n\t\t\t'px-[6px] py-[6px]': this.size === 'sm',\n\t\t\t'px-[8px] py-[8px]': this.size === 'md',\n\t\t\t'px-[12px] py-[12px]': this.size === 'lg',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'hover:opacity-[0.08] rounded-full z-0': true,\n\t\t\t'hover:bg-primary-on': this.variant === 'filled',\n\t\t\t'hover:bg-primary-default': this.variant === 'outlined' || this.variant === 'elevated' || this.variant === 'text',\n\t\t\t'hover:bg-secondary-container': this.variant === 'filled tonal',\n\t\t}\n\n\t\t// If href is provided, render an anchor element.\n\t\tif (this.href) {\n\t\t\treturn html`\n\t\t\t\t<a\n\t\t\t\t\tpart=\"base\"\n\t\t\t\t\thref=${ifDefined(this.disabled ? undefined : this.href)}\n\t\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t\tclass=\"${classMap(classes)}\"\n\t\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\t\t@click=${this.disabled ? this._preventDefault : undefined}\n\t\t\t\t>\n\t\t\t\t\t${when(!this.disabled, () => html`<div class=\"absolute inset-0 ${classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t\t<schmancy-icon size=${this.size === 'sm' ? '18px' : this.size === 'md' ? '24px' : '32px'}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</schmancy-icon>\n\t\t\t\t</a>\n\t\t\t`\n\t\t}\n\n\t\t// Otherwise, render a native button element.\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html`<div class=\"absolute inset-0 ${classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t<schmancy-icon size=${this.size === 'sm' ? '18px' : this.size === 'md' ? '24px' : '32px'}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</schmancy-icon>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-icon-button': SchmnacyIconButton\n\t}\n}\n"],"names":["SchmancyButton","$LitElement","css","constructor","super","arguments","this","variant","width","type","disabled","value","oldVal","_ariaLabel","hasAttribute","removeAttribute","requestUpdate","options","nativeElement","focus","blur","imgClasses","prefixImgs","forEach","img","classList","add","setAttribute","suffixImgs","dispatchEvent","Event","bubbles","composed","event","preventDefault","stopPropagation","render","classes","stateLayerClasses","href","html","ifDefined","ariaLabel","classMap","_preventDefault","when","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","query","prototype","property","reflect","String","Boolean","attribute","queryAssignedElements","slot","flatten","selector","customElement","SchmnacyIconButton","size","_changedProperties"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"option-DzWgJ-es.js","sources":["../src/option/option.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * `schmancy-option` is an option element for schmancy-select and schmancy-autocomplete components.\n *\n * @fires click - When the option is clicked\n */\n@customElement('schmancy-option')\nexport default class SchmancyOption extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tcursor: pointer;\n\t\tuser-select: none;\n\t\toutline: none;\n\t}\n\n\t:host(:focus-visible) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\n\t\toutline-offset: -2px;\n\t}\n\n\t:host([hidden]) {\n\t\tdisplay: none;\n\t}\n\n\t:host([disabled]) {\n\t\topacity: 0.5;\n\t\tpointer-events: none;\n\t}\n`) {\n\t/**\n\t * The value of the option, will be used when selected.\n\t */\n\t@property({ type: String })\n\tvalue: string = ''\n\n\t/**\n\t * The human-readable label for the option.\n\t */\n\t@property({ type: String })\n\tlabel: string = ''\n\n\t/**\n\t * Whether the option is currently selected.\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tselected: boolean = false\n\n\t/**\n\t * Whether the option is disabled.\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled: boolean = false\n\n\t/**\n\t * Optional group this option belongs to (for option grouping).\n\t */\n\t@property({ type: String })\n\tgroup: string = ''\n\n\t/**\n\t * Optional icon or image to display before the label.\n\t */\n\t@property({ type: String })\n\ticon: string = ''\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Ensure the option has an ID for accessibility\n\t\tif (!this.id) {\n\t\t\tthis.id = `schmancy-option-${Math.random().toString(36).substring(2, 9)}`\n\t\t}\n\n\t\t// If no label was provided, use the text content or value\n\t\tif (!this.label) {\n\t\t\tthis.label = this.textContent?.trim() || this.value\n\t\t}\n\n\t\t// If value wasn't set but there's text content, use that as the value\n\t\tif (!this.value && this.textContent) {\n\t\t\tthis.value = this.textContent.trim()\n\t\t}\n\n\t\t// Make the option clickable\n\t\tthis.addEventListener('click', this.handleClick)\n\t\tthis.addEventListener('keydown', this.handleKeyDown)\n\t}\n\n\tdisconnectedCallback() {\n\t\t// Clean up event listeners\n\t\tthis.removeEventListener('click', this.handleClick)\n\t\tthis.removeEventListener('keydown', this.handleKeyDown)\n\t\tsuper.disconnectedCallback()\n\t}\n\n\tprivate handleClick(e: Event) {\n\t\te.stopPropagation()\n\t\tif (this.disabled) return\n\n\t\t// Dispatch a custom event with this option's value\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('option-select', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t\tdetail: { value: this.value },\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate handleKeyDown(e: KeyboardEvent) {\n\t\t// Handle space and enter as clicks\n\t\tif (e.key === ' ' || e.key === 'Enter') {\n\t\t\te.preventDefault()\n\t\t\tthis.handleClick(e)\n\t\t}\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'py-2': true,\n\t\t\t'px-3': true,\n\t\t\trounded: true,\n\t\t\t'text-sm': true,\n\t\t\t'w-full': true,\n\t\t\tflex: true,\n\t\t\t'items-center': true,\n\t\t\t'gap-2': true,\n\t\t\t// Selected state\n\t\t\t'bg-primary-container': this.selected,\n\t\t\t'text-primary-onContainer': this.selected,\n\t\t\t// Hover state (when not selected)\n\t\t\t'hover:bg-surface-high': !this.selected,\n\t\t\t// Focus state\n\t\t\t'focus:outline-none': true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(classes)} role=\"option\" aria-selected=${this.selected} aria-disabled=${this.disabled}>\n\t\t\t\t${this.icon ? html`<span class=\"icon\">${this.icon}</span>` : ''}\n\t\t\t\t<span class=\"flex-1\">${this.label || this.value}</span>\n\t\t\t\t${this.selected\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<span class=\"check\">\n\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\twidth=\"16\"\n\t\t\t\t\t\t\t\t\theight=\"16\"\n\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<polyline points=\"20 6 9 17 4 12\"></polyline>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-option': SchmancyOption\n\t}\n}\n"],"names":["SchmancyOption","TailwindElement","css","super","arguments","this","value","label","selected","disabled","group","icon","connectedCallback","id","Math","random","toString","substring","textContent","trim","addEventListener","handleClick","handleKeyDown","removeEventListener","disconnectedCallback","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","detail","key","preventDefault","render","classes","rounded","flex","html","classMap","__decorateClass","property","type","String","prototype","Boolean","reflect","customElement"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"option-VZZsJj58.cjs","sources":["../src/option/option.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * `schmancy-option` is an option element for schmancy-select and schmancy-autocomplete components.\n *\n * @fires click - When the option is clicked\n */\n@customElement('schmancy-option')\nexport default class SchmancyOption extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tcursor: pointer;\n\t\tuser-select: none;\n\t\toutline: none;\n\t}\n\n\t:host(:focus-visible) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\n\t\toutline-offset: -2px;\n\t}\n\n\t:host([hidden]) {\n\t\tdisplay: none;\n\t}\n\n\t:host([disabled]) {\n\t\topacity: 0.5;\n\t\tpointer-events: none;\n\t}\n`) {\n\t/**\n\t * The value of the option, will be used when selected.\n\t */\n\t@property({ type: String })\n\tvalue: string = ''\n\n\t/**\n\t * The human-readable label for the option.\n\t */\n\t@property({ type: String })\n\tlabel: string = ''\n\n\t/**\n\t * Whether the option is currently selected.\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tselected: boolean = false\n\n\t/**\n\t * Whether the option is disabled.\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled: boolean = false\n\n\t/**\n\t * Optional group this option belongs to (for option grouping).\n\t */\n\t@property({ type: String })\n\tgroup: string = ''\n\n\t/**\n\t * Optional icon or image to display before the label.\n\t */\n\t@property({ type: String })\n\ticon: string = ''\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Ensure the option has an ID for accessibility\n\t\tif (!this.id) {\n\t\t\tthis.id = `schmancy-option-${Math.random().toString(36).substring(2, 9)}`\n\t\t}\n\n\t\t// If no label was provided, use the text content or value\n\t\tif (!this.label) {\n\t\t\tthis.label = this.textContent?.trim() || this.value\n\t\t}\n\n\t\t// If value wasn't set but there's text content, use that as the value\n\t\tif (!this.value && this.textContent) {\n\t\t\tthis.value = this.textContent.trim()\n\t\t}\n\n\t\t// Make the option clickable\n\t\tthis.addEventListener('click', this.handleClick)\n\t\tthis.addEventListener('keydown', this.handleKeyDown)\n\t}\n\n\tdisconnectedCallback() {\n\t\t// Clean up event listeners\n\t\tthis.removeEventListener('click', this.handleClick)\n\t\tthis.removeEventListener('keydown', this.handleKeyDown)\n\t\tsuper.disconnectedCallback()\n\t}\n\n\tprivate handleClick(e: Event) {\n\t\te.stopPropagation()\n\t\tif (this.disabled) return\n\n\t\t// Dispatch a custom event with this option's value\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('option-select', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t\tdetail: { value: this.value },\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate handleKeyDown(e: KeyboardEvent) {\n\t\t// Handle space and enter as clicks\n\t\tif (e.key === ' ' || e.key === 'Enter') {\n\t\t\te.preventDefault()\n\t\t\tthis.handleClick(e)\n\t\t}\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'py-2': true,\n\t\t\t'px-3': true,\n\t\t\trounded: true,\n\t\t\t'text-sm': true,\n\t\t\t'w-full': true,\n\t\t\tflex: true,\n\t\t\t'items-center': true,\n\t\t\t'gap-2': true,\n\t\t\t// Selected state\n\t\t\t'bg-primary-container': this.selected,\n\t\t\t'text-primary-onContainer': this.selected,\n\t\t\t// Hover state (when not selected)\n\t\t\t'hover:bg-surface-high': !this.selected,\n\t\t\t// Focus state\n\t\t\t'focus:outline-none': true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(classes)} role=\"option\" aria-selected=${this.selected} aria-disabled=${this.disabled}>\n\t\t\t\t${this.icon ? html`<span class=\"icon\">${this.icon}</span>` : ''}\n\t\t\t\t<span class=\"flex-1\">${this.label || this.value}</span>\n\t\t\t\t${this.selected\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<span class=\"check\">\n\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\twidth=\"16\"\n\t\t\t\t\t\t\t\t\theight=\"16\"\n\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<polyline points=\"20 6 9 17 4 12\"></polyline>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-option': SchmancyOption\n\t}\n}\n"],"names":["SchmancyOption","TailwindElement","css","super","arguments","this","value","label","selected","disabled","group","icon","connectedCallback","id","Math","random","toString","substring","textContent","trim","addEventListener","handleClick","handleKeyDown","disconnectedCallback","removeEventListener","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","detail","key","preventDefault","classes","rounded","flex","html","classMap","__decorateClass","property","type","String","prototype","Boolean","reflect","customElement"],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- import { unsafeCSS as i, LitElement as n } from "lit";
2
- import { Subject as s } from "rxjs";
3
- import { classMap as l } from "lit/directives/class-map.js";
4
- import { styleMap as d } from "lit/directives/style-map.js";
5
- const c = (r) => class extends r {
6
- constructor() {
7
- super(...arguments), this.disconnecting = new s();
8
- }
9
- classMap(t) {
10
- const e = {};
11
- return Object.keys(t).forEach((o) => {
12
- o.trim().split(" ").filter(Boolean).forEach((a) => {
13
- e[a] = t[o];
14
- });
15
- }), l(e);
16
- }
17
- styleMap(t) {
18
- return d(t);
19
- }
20
- disconnectedCallback() {
21
- this.disconnecting.next(!0), this.disconnecting.complete(), super.disconnectedCallback();
22
- }
23
- }, p = i('/*! tailwindcss v4.0.15 | MIT License | https://tailwindcss.com */@layer theme;@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab,currentColor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-6{inset-inline:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.top-6{top:1.5rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\\/2{left:50%}.left-2{left:.5rem}.left-2\\.5{left:.625rem}.left-3{left:.75rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-49{z-index:49}.z-50{z-index:50}.z-\\[9999999\\]{z-index:9999999}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-8{margin-top:2rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-\\[4px\\]{margin-bottom:4px}.-ml-px{margin-left:-1px}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-none{-webkit-line-clamp:unset;-webkit-box-orient:horizontal;display:block;overflow:visible}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.table{display:table}.size-2\\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-5{width:1.25rem;height:1.25rem}.h-4{height:1rem}.h-10{height:2.5rem}.h-\\[24px\\]{height:24px}.h-\\[50px\\]{height:50px}.h-\\[320px\\]{height:320px}.h-\\[440px\\]{height:440px}.h-auto{height:auto}.h-full{height:100%}.max-h-\\[24px\\]{max-height:24px}.max-h-\\[90vh\\]{max-height:90vh}.min-h-\\[50vh\\]{min-height:50vh}.min-h-\\[56px\\]{min-height:56px}.w-0\\.5{width:.125rem}.w-4{width:1rem}.w-\\[24px\\]{width:24px}.w-\\[320px\\]{width:320px}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-\\[24px\\]{max-width:24px}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[360px\\]{max-width:360px}.max-w-sm{max-width:24rem}.min-w-0{min-width:0}.min-w-\\[50vw\\]{min-width:50vw}.min-w-\\[160px\\]{min-width:160px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/4{--tw-translate-y: -25% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.auto-cols-max{grid-auto-columns:max-content}.grid-flow-col{grid-auto-flow:column}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-flow-dense{grid-auto-flow:dense}.grid-flow-row{grid-auto-flow:row}.grid-flow-row-dense{grid-auto-flow:dense}.auto-rows-max{grid-auto-rows:max-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.content-around{align-content:space-around}.content-between{align-content:space-between}.content-center{align-content:center}.content-end{align-content:flex-end}.content-evenly{align-content:space-evenly}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-baseline{justify-content:baseline}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-evenly{justify-content:space-evenly}.justify-start{justify-content:flex-start}.justify-stretch{justify-content:stretch}.justify-items-center{justify-items:center}.justify-items-end{justify-items:end}.justify-items-start{justify-items:start}.justify-items-stretch{justify-items:stretch}.gap-0{gap:0}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-\\[8px\\]{gap:8px}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(.5rem *var(--tw-space-x-reverse));margin-inline-end:calc(.5rem *calc(1 - var(--tw-space-x-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}.scroll-smooth{scroll-behavior:smooth}.rounded-\\[8px\\]{border-radius:8px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-t-\\[8px\\]{border-top-left-radius:8px;border-top-right-radius:8px}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-l-\\[8px\\]{border-top-left-radius:8px;border-bottom-left-radius:8px}.rounded-r-\\[8px\\]{border-top-right-radius:8px;border-bottom-right-radius:8px}.rounded-b-\\[8px\\]{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-solid{--tw-border-style:solid;border-style:solid}.border-gray-300{border-color:#d1d5dc}.border-outline{border-color:var(--schmancy-sys-color-outline)}.border-outlineVariant{border-color:var(--schmancy-sys-color-outlineVariant)}.border-primary-default{border-color:var(--schmancy-sys-color-primary-default)}.border-tertiary-default{border-color:var(--schmancy-sys-color-tertiary-default)}.border-transparent{border-color:#0000}.bg-blue-500{background-color:#3280ff;background-color:oklch(.623 .214 259.815)}.bg-gray-300{background-color:#d1d5dc}.bg-green-500{background-color:#00c65a;background-color:oklch(.723 .219 149.579)}.bg-indigo-500{background-color:#6260ff;background-color:oklch(.585 .233 277.117)}.bg-pink-500{background-color:#f6339a}.bg-primary-container{background-color:var(--schmancy-sys-color-primary-container)}.bg-primary-default{background-color:var(--schmancy-sys-color-primary-default)}.bg-purple-500{background-color:#ab4eff;background-color:oklch(.627 .265 303.9)}.bg-red-500{background-color:#fb2c36}.bg-secondary-container{background-color:var(--schmancy-sys-color-secondary-container)}.bg-surface-bright{background-color:var(--schmancy-sys-color-surface-bright)}.bg-surface-container{background-color:var(--schmancy-sys-color-surface-container)}.bg-surface-default{background-color:var(--schmancy-sys-color-surface-default)}.bg-surface-dim{background-color:var(--schmancy-sys-color-surface-dim)}.bg-surface-high{background-color:var(--schmancy-sys-color-surface-high)}.bg-surface-highest{background-color:var(--schmancy-sys-color-surface-highest)}.bg-surface-low{background-color:var(--schmancy-sys-color-surface-low)}.bg-surface-lowest{background-color:var(--schmancy-sys-color-surface-lowest)}.bg-teal-500{background-color:#00b9a6;background-color:oklch(.704 .14 182.503)}.bg-tertiary-default{background-color:var(--schmancy-sys-color-tertiary-default)}.bg-transparent{background-color:#0000}.bg-white{background-color:#fff}.bg-yellow-500{background-color:#eab300;background-color:oklch(.795 .184 86.047)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.object-none{object-fit:none}.object-scale-down{object-fit:scale-down}.object-center{object-position:center}.p-0{padding:0}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\\[16px\\]{padding:16px}.p-\\[32px\\]{padding:32px}.px-1\\.5{padding-inline:.375rem}.px-2{padding-inline:.5rem}.px-2\\.5{padding-inline:.625rem}.px-3{padding-inline:.75rem}.px-4{padding-inline:1rem}.px-6{padding-inline:1.5rem}.px-7{padding-inline:1.75rem}.px-\\[6px\\]{padding-inline:6px}.px-\\[8px\\]{padding-inline:8px}.px-\\[12px\\]{padding-inline:12px}.px-\\[16px\\]{padding-inline:16px}.py-1{padding-block:.25rem}.py-1\\.5{padding-block:.375rem}.py-2{padding-block:.5rem}.py-3{padding-block:.75rem}.py-5{padding-block:1.25rem}.py-12{padding-block:3rem}.py-\\[6px\\]{padding-block:6px}.py-\\[8px\\]{padding-block:8px}.py-\\[12px\\]{padding-block:12px}.py-\\[24px\\]{padding-block:24px}.pt-\\[1px\\]{padding-top:1px}.pt-\\[2px\\]{padding-top:2px}.pt-\\[3px\\]{padding-top:3px}.pt-\\[4px\\]{padding-top:4px}.pb-4{padding-bottom:1rem}.pb-12{padding-bottom:3rem}.pb-\\[300px\\]{padding-bottom:300px}.pl-2{padding-left:.5rem}.text-center{text-align:center}.text-justify{text-align:justify}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:var(--tw-leading,calc(2/1.5))}.text-base{font-size:1rem;line-height:var(--tw-leading, 1.5 )}.text-lg{font-size:1.125rem;line-height:var(--tw-leading,calc(1.75/1.125))}.text-sm{font-size:.875rem;line-height:var(--tw-leading,calc(1.25/.875))}.text-xs{font-size:.75rem;line-height:var(--tw-leading,calc(1/.75))}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[14px\\]{font-size:14px}.text-\\[16px\\]{font-size:16px}.text-\\[22px\\]{font-size:22px}.text-\\[24px\\]{font-size:24px}.text-\\[28px\\]{font-size:28px}.text-\\[32px\\]{font-size:32px}.text-\\[36px\\]{font-size:36px}.text-\\[45px\\]{font-size:45px}.text-\\[57px\\]{font-size:57px}.leading-6{--tw-leading: 1.5rem ;line-height:1.5rem}.leading-\\[16px\\]{--tw-leading:16px;line-height:16px}.leading-\\[20px\\]{--tw-leading:20px;line-height:20px}.leading-\\[24px\\]{--tw-leading:24px;line-height:24px}.leading-\\[28px\\]{--tw-leading:28px;line-height:28px}.leading-\\[32px\\]{--tw-leading:32px;line-height:32px}.leading-\\[36px\\]{--tw-leading:36px;line-height:36px}.leading-\\[40px\\]{--tw-leading:40px;line-height:40px}.leading-\\[44px\\]{--tw-leading:44px;line-height:44px}.leading-\\[52px\\]{--tw-leading:52px;line-height:52px}.leading-\\[64px\\]{--tw-leading:64px;line-height:64px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:700;font-weight:700}.font-medium{--tw-font-weight:500;font-weight:500}.font-normal{--tw-font-weight:400;font-weight:400}.font-semibold{--tw-font-weight:600;font-weight:600}.tracking-\\[-0\\.25px\\]{--tw-tracking:-.25px;letter-spacing:-.25px}.tracking-\\[0\\.1px\\]{--tw-tracking:.1px;letter-spacing:.1px}.tracking-\\[0\\.4px\\]{--tw-tracking:.4px;letter-spacing:.4px}.tracking-\\[0\\.5px\\]{--tw-tracking:.5px;letter-spacing:.5px}.tracking-\\[0\\.15px\\]{--tw-tracking:.15px;letter-spacing:.15px}.tracking-\\[0\\.25px\\]{--tw-tracking:.25px;letter-spacing:.25px}.tracking-\\[0px\\]{--tw-tracking:0px;letter-spacing:0}.tracking-wide{--tw-tracking:.025em;letter-spacing:.025em}.text-ellipsis{text-overflow:ellipsis}.hyphens-none{-webkit-hyphens:none;hyphens:none}.text-error-default{color:var(--schmancy-sys-color-error-default)}.text-gray-500{color:#6a7282}.text-gray-900{color:#101828}.text-indigo-600{color:#4f39f6}.text-primary-default{color:var(--schmancy-sys-color-primary-default)}.text-primary-on{color:var(--schmancy-sys-color-primary-on)}.text-primary-onContainer{color:var(--schmancy-sys-color-primary-onContainer)}.text-secondary-onContainer{color:var(--schmancy-sys-color-secondary-onContainer)}.text-success-default{color:var(--schmancy-sys-color-success-default)}.text-surface-on{color:var(--schmancy-sys-color-surface-on)}.text-tertiary-default{color:var(--schmancy-sys-color-tertiary-default)}.text-white{color:#fff}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.caret-transparent{caret-color:#0000}.opacity-0{opacity:0}.opacity-1{opacity:.01}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-\\[0\\.08\\]{opacity:.08}.opacity-\\[0\\.38\\]{opacity:.38}.shadow-1{--tw-shadow:var(--schmancy-sys-elevation-1);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-5{--tw-shadow:var(--schmancy-sys-elevation-5);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-error-default{--tw-ring-color:var(--schmancy-sys-color-error-default)}.ring-outline{--tw-ring-color:var(--schmancy-sys-color-outline)}.ring-primary-default{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.ring-secondary-default{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-secondary-default{outline-color:var(--schmancy-sys-color-secondary-default)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:cubic-bezier(.4,0,1,1);transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{--tw-ease:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\\:border-gray-400:is(:where(.group):hover *){border-color:#99a1af}.group-hover\\:bg-gray-300:is(:where(.group):hover *){background-color:#d1d5dc}.group-hover\\:bg-tertiary-onContainer:is(:where(.group):hover *){background-color:var(--schmancy-sys-color-tertiary-onContainer)}.hover\\:border-gray-300:hover{border-color:#d1d5dc}.hover\\:bg-primary-default:hover{background-color:var(--schmancy-sys-color-primary-default)}.hover\\:bg-primary-on:hover{background-color:var(--schmancy-sys-color-primary-on)}.hover\\:bg-secondary-container:hover{background-color:var(--schmancy-sys-color-secondary-container)}.hover\\:bg-surface-high:hover{background-color:var(--schmancy-sys-color-surface-high)}.hover\\:bg-surface-on:hover{background-color:var(--schmancy-sys-color-surface-on)}.hover\\:text-gray-700:hover{color:#364153}.hover\\:opacity-\\[0\\.08\\]:hover{opacity:.08}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-xs:hover{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-error-default:focus{--tw-ring-color:var(--schmancy-sys-color-error-default)}.focus\\:ring-indigo-600:focus{--tw-ring-color:oklch(.511 .262 276.966)}.focus\\:ring-primary-default:focus{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.focus\\:ring-secondary-default:focus{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\\:outline-1:focus{outline-style:var(--tw-outline-style);outline-width:1px}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus\\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\\:z-1:focus-visible{z-index:1}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-offset-0:focus-visible{outline-offset:0px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-solid:focus-visible{--tw-outline-style:solid;outline-style:solid}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}@media (width>=40rem){.sm\\:px-\\[12px\\]{padding-inline:12px}}@media (width>=48rem){.md\\:right-0{right:0}.md\\:left-\\[unset\\]{left:unset}.md\\:block{display:block}.md\\:hidden{display:none}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\\:px-\\[16px\\]{padding-inline:16px}}}:host,:root{font-family:var(--schmancy-font-family)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}'), w = (r) => {
24
- const e = class e extends n {
25
- };
26
- e.styles = [i(r), p];
27
- let t = e;
28
- return t;
29
- }, b = (r) => {
30
- class t extends c(w(r)) {
31
- constructor() {
32
- super(...arguments), this.disconnectedCallback = () => {
33
- super.disconnectedCallback();
34
- };
35
- }
36
- }
37
- return t;
38
- };
39
- export {
40
- c as B,
41
- b as T
42
- };
43
- //# sourceMappingURL=tailwind.mixin-Cvv1OxNe.js.map
@@ -1,2 +0,0 @@
1
- "use strict";const o=require("lit"),s=require("rxjs"),l=require("lit/directives/class-map.js"),d=require("lit/directives/style-map.js"),a=r=>class extends r{constructor(){super(...arguments),this.disconnecting=new s.Subject}classMap(t){const e={};return Object.keys(t).forEach(i=>{i.trim().split(" ").filter(Boolean).forEach(n=>{e[n]=t[i]})}),l.classMap(e)}styleMap(t){return d.styleMap(t)}disconnectedCallback(){this.disconnecting.next(!0),this.disconnecting.complete(),super.disconnectedCallback()}},c=o.unsafeCSS('/*! tailwindcss v4.0.15 | MIT License | https://tailwindcss.com */@layer theme;@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab,currentColor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-6{inset-inline:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.top-6{top:1.5rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\\/2{left:50%}.left-2{left:.5rem}.left-2\\.5{left:.625rem}.left-3{left:.75rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-49{z-index:49}.z-50{z-index:50}.z-\\[9999999\\]{z-index:9999999}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-8{margin-top:2rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-\\[4px\\]{margin-bottom:4px}.-ml-px{margin-left:-1px}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-none{-webkit-line-clamp:unset;-webkit-box-orient:horizontal;display:block;overflow:visible}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.table{display:table}.size-2\\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-5{width:1.25rem;height:1.25rem}.h-4{height:1rem}.h-10{height:2.5rem}.h-\\[24px\\]{height:24px}.h-\\[50px\\]{height:50px}.h-\\[320px\\]{height:320px}.h-\\[440px\\]{height:440px}.h-auto{height:auto}.h-full{height:100%}.max-h-\\[24px\\]{max-height:24px}.max-h-\\[90vh\\]{max-height:90vh}.min-h-\\[50vh\\]{min-height:50vh}.min-h-\\[56px\\]{min-height:56px}.w-0\\.5{width:.125rem}.w-4{width:1rem}.w-\\[24px\\]{width:24px}.w-\\[320px\\]{width:320px}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-\\[24px\\]{max-width:24px}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[360px\\]{max-width:360px}.max-w-sm{max-width:24rem}.min-w-0{min-width:0}.min-w-\\[50vw\\]{min-width:50vw}.min-w-\\[160px\\]{min-width:160px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/4{--tw-translate-y: -25% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.auto-cols-max{grid-auto-columns:max-content}.grid-flow-col{grid-auto-flow:column}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-flow-dense{grid-auto-flow:dense}.grid-flow-row{grid-auto-flow:row}.grid-flow-row-dense{grid-auto-flow:dense}.auto-rows-max{grid-auto-rows:max-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.content-around{align-content:space-around}.content-between{align-content:space-between}.content-center{align-content:center}.content-end{align-content:flex-end}.content-evenly{align-content:space-evenly}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-baseline{justify-content:baseline}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-evenly{justify-content:space-evenly}.justify-start{justify-content:flex-start}.justify-stretch{justify-content:stretch}.justify-items-center{justify-items:center}.justify-items-end{justify-items:end}.justify-items-start{justify-items:start}.justify-items-stretch{justify-items:stretch}.gap-0{gap:0}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-\\[8px\\]{gap:8px}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(.5rem *var(--tw-space-x-reverse));margin-inline-end:calc(.5rem *calc(1 - var(--tw-space-x-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}.scroll-smooth{scroll-behavior:smooth}.rounded-\\[8px\\]{border-radius:8px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-t-\\[8px\\]{border-top-left-radius:8px;border-top-right-radius:8px}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-l-\\[8px\\]{border-top-left-radius:8px;border-bottom-left-radius:8px}.rounded-r-\\[8px\\]{border-top-right-radius:8px;border-bottom-right-radius:8px}.rounded-b-\\[8px\\]{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-solid{--tw-border-style:solid;border-style:solid}.border-gray-300{border-color:#d1d5dc}.border-outline{border-color:var(--schmancy-sys-color-outline)}.border-outlineVariant{border-color:var(--schmancy-sys-color-outlineVariant)}.border-primary-default{border-color:var(--schmancy-sys-color-primary-default)}.border-tertiary-default{border-color:var(--schmancy-sys-color-tertiary-default)}.border-transparent{border-color:#0000}.bg-blue-500{background-color:#3280ff;background-color:oklch(.623 .214 259.815)}.bg-gray-300{background-color:#d1d5dc}.bg-green-500{background-color:#00c65a;background-color:oklch(.723 .219 149.579)}.bg-indigo-500{background-color:#6260ff;background-color:oklch(.585 .233 277.117)}.bg-pink-500{background-color:#f6339a}.bg-primary-container{background-color:var(--schmancy-sys-color-primary-container)}.bg-primary-default{background-color:var(--schmancy-sys-color-primary-default)}.bg-purple-500{background-color:#ab4eff;background-color:oklch(.627 .265 303.9)}.bg-red-500{background-color:#fb2c36}.bg-secondary-container{background-color:var(--schmancy-sys-color-secondary-container)}.bg-surface-bright{background-color:var(--schmancy-sys-color-surface-bright)}.bg-surface-container{background-color:var(--schmancy-sys-color-surface-container)}.bg-surface-default{background-color:var(--schmancy-sys-color-surface-default)}.bg-surface-dim{background-color:var(--schmancy-sys-color-surface-dim)}.bg-surface-high{background-color:var(--schmancy-sys-color-surface-high)}.bg-surface-highest{background-color:var(--schmancy-sys-color-surface-highest)}.bg-surface-low{background-color:var(--schmancy-sys-color-surface-low)}.bg-surface-lowest{background-color:var(--schmancy-sys-color-surface-lowest)}.bg-teal-500{background-color:#00b9a6;background-color:oklch(.704 .14 182.503)}.bg-tertiary-default{background-color:var(--schmancy-sys-color-tertiary-default)}.bg-transparent{background-color:#0000}.bg-white{background-color:#fff}.bg-yellow-500{background-color:#eab300;background-color:oklch(.795 .184 86.047)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.object-none{object-fit:none}.object-scale-down{object-fit:scale-down}.object-center{object-position:center}.p-0{padding:0}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\\[16px\\]{padding:16px}.p-\\[32px\\]{padding:32px}.px-1\\.5{padding-inline:.375rem}.px-2{padding-inline:.5rem}.px-2\\.5{padding-inline:.625rem}.px-3{padding-inline:.75rem}.px-4{padding-inline:1rem}.px-6{padding-inline:1.5rem}.px-7{padding-inline:1.75rem}.px-\\[6px\\]{padding-inline:6px}.px-\\[8px\\]{padding-inline:8px}.px-\\[12px\\]{padding-inline:12px}.px-\\[16px\\]{padding-inline:16px}.py-1{padding-block:.25rem}.py-1\\.5{padding-block:.375rem}.py-2{padding-block:.5rem}.py-3{padding-block:.75rem}.py-5{padding-block:1.25rem}.py-12{padding-block:3rem}.py-\\[6px\\]{padding-block:6px}.py-\\[8px\\]{padding-block:8px}.py-\\[12px\\]{padding-block:12px}.py-\\[24px\\]{padding-block:24px}.pt-\\[1px\\]{padding-top:1px}.pt-\\[2px\\]{padding-top:2px}.pt-\\[3px\\]{padding-top:3px}.pt-\\[4px\\]{padding-top:4px}.pb-4{padding-bottom:1rem}.pb-12{padding-bottom:3rem}.pb-\\[300px\\]{padding-bottom:300px}.pl-2{padding-left:.5rem}.text-center{text-align:center}.text-justify{text-align:justify}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:var(--tw-leading,calc(2/1.5))}.text-base{font-size:1rem;line-height:var(--tw-leading, 1.5 )}.text-lg{font-size:1.125rem;line-height:var(--tw-leading,calc(1.75/1.125))}.text-sm{font-size:.875rem;line-height:var(--tw-leading,calc(1.25/.875))}.text-xs{font-size:.75rem;line-height:var(--tw-leading,calc(1/.75))}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[14px\\]{font-size:14px}.text-\\[16px\\]{font-size:16px}.text-\\[22px\\]{font-size:22px}.text-\\[24px\\]{font-size:24px}.text-\\[28px\\]{font-size:28px}.text-\\[32px\\]{font-size:32px}.text-\\[36px\\]{font-size:36px}.text-\\[45px\\]{font-size:45px}.text-\\[57px\\]{font-size:57px}.leading-6{--tw-leading: 1.5rem ;line-height:1.5rem}.leading-\\[16px\\]{--tw-leading:16px;line-height:16px}.leading-\\[20px\\]{--tw-leading:20px;line-height:20px}.leading-\\[24px\\]{--tw-leading:24px;line-height:24px}.leading-\\[28px\\]{--tw-leading:28px;line-height:28px}.leading-\\[32px\\]{--tw-leading:32px;line-height:32px}.leading-\\[36px\\]{--tw-leading:36px;line-height:36px}.leading-\\[40px\\]{--tw-leading:40px;line-height:40px}.leading-\\[44px\\]{--tw-leading:44px;line-height:44px}.leading-\\[52px\\]{--tw-leading:52px;line-height:52px}.leading-\\[64px\\]{--tw-leading:64px;line-height:64px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:700;font-weight:700}.font-medium{--tw-font-weight:500;font-weight:500}.font-normal{--tw-font-weight:400;font-weight:400}.font-semibold{--tw-font-weight:600;font-weight:600}.tracking-\\[-0\\.25px\\]{--tw-tracking:-.25px;letter-spacing:-.25px}.tracking-\\[0\\.1px\\]{--tw-tracking:.1px;letter-spacing:.1px}.tracking-\\[0\\.4px\\]{--tw-tracking:.4px;letter-spacing:.4px}.tracking-\\[0\\.5px\\]{--tw-tracking:.5px;letter-spacing:.5px}.tracking-\\[0\\.15px\\]{--tw-tracking:.15px;letter-spacing:.15px}.tracking-\\[0\\.25px\\]{--tw-tracking:.25px;letter-spacing:.25px}.tracking-\\[0px\\]{--tw-tracking:0px;letter-spacing:0}.tracking-wide{--tw-tracking:.025em;letter-spacing:.025em}.text-ellipsis{text-overflow:ellipsis}.hyphens-none{-webkit-hyphens:none;hyphens:none}.text-error-default{color:var(--schmancy-sys-color-error-default)}.text-gray-500{color:#6a7282}.text-gray-900{color:#101828}.text-indigo-600{color:#4f39f6}.text-primary-default{color:var(--schmancy-sys-color-primary-default)}.text-primary-on{color:var(--schmancy-sys-color-primary-on)}.text-primary-onContainer{color:var(--schmancy-sys-color-primary-onContainer)}.text-secondary-onContainer{color:var(--schmancy-sys-color-secondary-onContainer)}.text-success-default{color:var(--schmancy-sys-color-success-default)}.text-surface-on{color:var(--schmancy-sys-color-surface-on)}.text-tertiary-default{color:var(--schmancy-sys-color-tertiary-default)}.text-white{color:#fff}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.caret-transparent{caret-color:#0000}.opacity-0{opacity:0}.opacity-1{opacity:.01}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-\\[0\\.08\\]{opacity:.08}.opacity-\\[0\\.38\\]{opacity:.38}.shadow-1{--tw-shadow:var(--schmancy-sys-elevation-1);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-5{--tw-shadow:var(--schmancy-sys-elevation-5);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-error-default{--tw-ring-color:var(--schmancy-sys-color-error-default)}.ring-outline{--tw-ring-color:var(--schmancy-sys-color-outline)}.ring-primary-default{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.ring-secondary-default{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-secondary-default{outline-color:var(--schmancy-sys-color-secondary-default)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:cubic-bezier(.4,0,1,1);transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{--tw-ease:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\\:border-gray-400:is(:where(.group):hover *){border-color:#99a1af}.group-hover\\:bg-gray-300:is(:where(.group):hover *){background-color:#d1d5dc}.group-hover\\:bg-tertiary-onContainer:is(:where(.group):hover *){background-color:var(--schmancy-sys-color-tertiary-onContainer)}.hover\\:border-gray-300:hover{border-color:#d1d5dc}.hover\\:bg-primary-default:hover{background-color:var(--schmancy-sys-color-primary-default)}.hover\\:bg-primary-on:hover{background-color:var(--schmancy-sys-color-primary-on)}.hover\\:bg-secondary-container:hover{background-color:var(--schmancy-sys-color-secondary-container)}.hover\\:bg-surface-high:hover{background-color:var(--schmancy-sys-color-surface-high)}.hover\\:bg-surface-on:hover{background-color:var(--schmancy-sys-color-surface-on)}.hover\\:text-gray-700:hover{color:#364153}.hover\\:opacity-\\[0\\.08\\]:hover{opacity:.08}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-xs:hover{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-error-default:focus{--tw-ring-color:var(--schmancy-sys-color-error-default)}.focus\\:ring-indigo-600:focus{--tw-ring-color:oklch(.511 .262 276.966)}.focus\\:ring-primary-default:focus{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.focus\\:ring-secondary-default:focus{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\\:outline-1:focus{outline-style:var(--tw-outline-style);outline-width:1px}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus\\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\\:z-1:focus-visible{z-index:1}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-offset-0:focus-visible{outline-offset:0px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-solid:focus-visible{--tw-outline-style:solid;outline-style:solid}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}@media (width>=40rem){.sm\\:px-\\[12px\\]{padding-inline:12px}}@media (width>=48rem){.md\\:right-0{right:0}.md\\:left-\\[unset\\]{left:unset}.md\\:block{display:block}.md\\:hidden{display:none}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\\:px-\\[16px\\]{padding-inline:16px}}}:host,:root{font-family:var(--schmancy-font-family)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}'),p=r=>{const e=class e extends o.LitElement{};e.styles=[o.unsafeCSS(r),c];let t=e;return t};exports.BaseElement=a,exports.TailwindElement=r=>{class t extends a(p(r)){constructor(){super(...arguments),this.disconnectedCallback=()=>{super.disconnectedCallback()}}}return t};
2
- //# sourceMappingURL=tailwind.mixin-Dc-mJStj.cjs.map