@mhmo91/schmancy 0.5.25 → 0.5.27

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 (362) hide show
  1. package/ai/checkbox.md +93 -52
  2. package/dist/ai/checkbox.md +93 -52
  3. package/dist/{animated-text-Q61RCdXT.js → animated-text-Bn8-ILmB.js} +3 -3
  4. package/dist/{animated-text-Q61RCdXT.js.map → animated-text-Bn8-ILmB.js.map} +1 -1
  5. package/dist/{animated-text-CiHeHOww.cjs → animated-text-vdNivzdc.cjs} +2 -2
  6. package/dist/{animated-text-CiHeHOww.cjs.map → animated-text-vdNivzdc.cjs.map} +1 -1
  7. package/dist/animated-text.cjs +1 -1
  8. package/dist/animated-text.js +1 -1
  9. package/dist/area.cjs +1 -1
  10. package/dist/{area.component-C_cHSKz0.cjs → area.component-DwPL6bdo.cjs} +2 -2
  11. package/dist/{area.component-C_cHSKz0.cjs.map → area.component-DwPL6bdo.cjs.map} +1 -1
  12. package/dist/{area.component-DYMGLvuA.js → area.component-pd24G8zW.js} +3 -3
  13. package/dist/{area.component-DYMGLvuA.js.map → area.component-pd24G8zW.js.map} +1 -1
  14. package/dist/area.js +1 -1
  15. package/dist/{autocomplete-DuQWyQeT.js → autocomplete-BlhAOtex.js} +4 -4
  16. package/dist/{autocomplete-DuQWyQeT.js.map → autocomplete-BlhAOtex.js.map} +1 -1
  17. package/dist/{autocomplete-ZT3BOEA5.cjs → autocomplete-GW91jVqw.cjs} +2 -2
  18. package/dist/{autocomplete-ZT3BOEA5.cjs.map → autocomplete-GW91jVqw.cjs.map} +1 -1
  19. package/dist/autocomplete.cjs +1 -1
  20. package/dist/autocomplete.js +1 -1
  21. package/dist/{avatar-BcnWoLvo.js → avatar-4sGidVGe.js} +51 -51
  22. package/dist/{avatar-BcnWoLvo.js.map → avatar-4sGidVGe.js.map} +1 -1
  23. package/dist/{avatar-8CSFLRvq.cjs → avatar-q32dkyky.cjs} +2 -2
  24. package/dist/{avatar-8CSFLRvq.cjs.map → avatar-q32dkyky.cjs.map} +1 -1
  25. package/dist/badge.cjs +1 -1
  26. package/dist/badge.js +1 -1
  27. package/dist/boat-DNmaFlxD.cjs +83 -0
  28. package/dist/boat-DNmaFlxD.cjs.map +1 -0
  29. package/dist/boat-dSTPix8t.js +240 -0
  30. package/dist/boat-dSTPix8t.js.map +1 -0
  31. package/dist/boat.cjs +1 -1
  32. package/dist/boat.js +1 -1
  33. package/dist/busy.cjs +1 -1
  34. package/dist/busy.js +1 -1
  35. package/dist/button.cjs +1 -1
  36. package/dist/button.js +1 -1
  37. package/dist/card.cjs +1 -1
  38. package/dist/card.js +1 -1
  39. package/dist/{checkbox-D0LwTB_L.cjs → checkbox-BJ5aqrKY.cjs} +2 -2
  40. package/dist/{checkbox-D0LwTB_L.cjs.map → checkbox-BJ5aqrKY.cjs.map} +1 -1
  41. package/dist/{checkbox-WxVuYamU.js → checkbox-CU2tyEL0.js} +2 -2
  42. package/dist/{checkbox-WxVuYamU.js.map → checkbox-CU2tyEL0.js.map} +1 -1
  43. package/dist/checkbox.cjs +1 -1
  44. package/dist/checkbox.js +1 -1
  45. package/dist/chips.cjs +1 -1
  46. package/dist/chips.js +2 -2
  47. package/dist/code-highlight.cjs +1 -1
  48. package/dist/code-highlight.js +1 -1
  49. package/dist/{code-preview-7uzeIcQP.js → code-preview-KDpn0Q3T.js} +2 -2
  50. package/dist/{code-preview-7uzeIcQP.js.map → code-preview-KDpn0Q3T.js.map} +1 -1
  51. package/dist/{code-preview-BcwituOr.cjs → code-preview-fda91FDi.cjs} +2 -2
  52. package/dist/{code-preview-BcwituOr.cjs.map → code-preview-fda91FDi.cjs.map} +1 -1
  53. package/dist/components.cjs +1 -1
  54. package/dist/components.js +1 -1
  55. package/dist/content-drawer.cjs +1 -1
  56. package/dist/content-drawer.js +1 -1
  57. package/dist/{date-range-eygGuBZz.cjs → date-range-0nOdLk-l.cjs} +2 -2
  58. package/dist/{date-range-eygGuBZz.cjs.map → date-range-0nOdLk-l.cjs.map} +1 -1
  59. package/dist/{date-range-inline-97fWguq7.cjs → date-range-inline-UoP6EDug.cjs} +2 -2
  60. package/dist/{date-range-inline-97fWguq7.cjs.map → date-range-inline-UoP6EDug.cjs.map} +1 -1
  61. package/dist/{date-range-inline-B2QQNDMg.js → date-range-inline-b0yYxPn_.js} +3 -3
  62. package/dist/{date-range-inline-B2QQNDMg.js.map → date-range-inline-b0yYxPn_.js.map} +1 -1
  63. package/dist/date-range-inline.cjs +1 -1
  64. package/dist/date-range-inline.js +1 -1
  65. package/dist/{date-range-s3Us154k.js → date-range-yd-FnXRe.js} +3 -3
  66. package/dist/{date-range-s3Us154k.js.map → date-range-yd-FnXRe.js.map} +1 -1
  67. package/dist/date-range.cjs +1 -1
  68. package/dist/date-range.js +1 -1
  69. package/dist/{delay-CQEb521T.js → delay-CE9VOJBG.js} +2 -2
  70. package/dist/{delay-CQEb521T.js.map → delay-CE9VOJBG.js.map} +1 -1
  71. package/dist/{delay-B0GqQ3C1.cjs → delay-CaOsI0yP.cjs} +2 -2
  72. package/dist/{delay-B0GqQ3C1.cjs.map → delay-CaOsI0yP.cjs.map} +1 -1
  73. package/dist/delay.cjs +1 -1
  74. package/dist/delay.js +1 -1
  75. package/dist/details-B_kKG0Du.cjs +143 -0
  76. package/dist/details-B_kKG0Du.cjs.map +1 -0
  77. package/dist/details-m-njXkGl.js +210 -0
  78. package/dist/details-m-njXkGl.js.map +1 -0
  79. package/dist/details.cjs +1 -1
  80. package/dist/details.js +1 -1
  81. package/dist/{dialog-content-DMImBN73.cjs → dialog-content-B5MUa6uq.cjs} +2 -2
  82. package/dist/{dialog-content-DMImBN73.cjs.map → dialog-content-B5MUa6uq.cjs.map} +1 -1
  83. package/dist/{dialog-content-CcNZ5YU6.js → dialog-content-BireCTdH.js} +3 -3
  84. package/dist/{dialog-content-CcNZ5YU6.js.map → dialog-content-BireCTdH.js.map} +1 -1
  85. package/dist/dialog.cjs +1 -1
  86. package/dist/dialog.js +1 -1
  87. package/dist/{divider-DvznHh3I.js → divider-CMaqpnia.js} +3 -3
  88. package/dist/{divider-DvznHh3I.js.map → divider-CMaqpnia.js.map} +1 -1
  89. package/dist/{divider-DNxHAfMo.cjs → divider-DekMH80a.cjs} +2 -2
  90. package/dist/{divider-DNxHAfMo.cjs.map → divider-DekMH80a.cjs.map} +1 -1
  91. package/dist/divider.cjs +1 -1
  92. package/dist/divider.js +1 -1
  93. package/dist/{dropdown-content-CtMauszk.js → dropdown-content-CViuccZ6.js} +3 -3
  94. package/dist/{dropdown-content-CtMauszk.js.map → dropdown-content-CViuccZ6.js.map} +1 -1
  95. package/dist/{dropdown-content-CH5MB5mz.cjs → dropdown-content-eXth59vX.cjs} +2 -2
  96. package/dist/{dropdown-content-CH5MB5mz.cjs.map → dropdown-content-eXth59vX.cjs.map} +1 -1
  97. package/dist/dropdown.cjs +1 -1
  98. package/dist/dropdown.js +1 -1
  99. package/dist/{email-recipients-BxiV610x.js → email-recipients-BSopuO1J.js} +5 -5
  100. package/dist/{email-recipients-BxiV610x.js.map → email-recipients-BSopuO1J.js.map} +1 -1
  101. package/dist/{email-recipients-pW93YxrA.cjs → email-recipients-DNcWf4_1.cjs} +2 -2
  102. package/dist/{email-recipients-pW93YxrA.cjs.map → email-recipients-DNcWf4_1.cjs.map} +1 -1
  103. package/dist/extra.cjs +1 -1
  104. package/dist/extra.js +1 -1
  105. package/dist/{flex-H2ZPqfIW.cjs → flex-CE0IKjR4.cjs} +2 -2
  106. package/dist/{flex-H2ZPqfIW.cjs.map → flex-CE0IKjR4.cjs.map} +1 -1
  107. package/dist/{flex-ykbucnko.js → flex-Czj-zqJQ.js} +2 -2
  108. package/dist/{flex-ykbucnko.js.map → flex-Czj-zqJQ.js.map} +1 -1
  109. package/dist/{form-CGGeAQbK.js → form-CAvvBQiv.js} +2 -2
  110. package/dist/{form-CGGeAQbK.js.map → form-CAvvBQiv.js.map} +1 -1
  111. package/dist/{form-C7FRhHOX.cjs → form-OUNdJnUW.cjs} +2 -2
  112. package/dist/{form-C7FRhHOX.cjs.map → form-OUNdJnUW.cjs.map} +1 -1
  113. package/dist/form.cjs +1 -1
  114. package/dist/form.js +1 -1
  115. package/dist/{formField.mixin-MbkisYHL.cjs → formField.mixin-Bu0ygAbE.cjs} +2 -2
  116. package/dist/{formField.mixin-MbkisYHL.cjs.map → formField.mixin-Bu0ygAbE.cjs.map} +1 -1
  117. package/dist/{formField.mixin-D-3pktvx.js → formField.mixin-DlYLC82X.js} +2 -2
  118. package/dist/{formField.mixin-D-3pktvx.js.map → formField.mixin-DlYLC82X.js.map} +1 -1
  119. package/dist/{icon-CnVNGmjD.cjs → icon-BwhQbcAk.cjs} +2 -2
  120. package/dist/{icon-CnVNGmjD.cjs.map → icon-BwhQbcAk.cjs.map} +1 -1
  121. package/dist/{icon-BiHCgOyT.js → icon-D0EaNtwd.js} +2 -2
  122. package/dist/{icon-BiHCgOyT.js.map → icon-D0EaNtwd.js.map} +1 -1
  123. package/dist/{icon-button-CB52pDFa.cjs → icon-button-BrRSVzzx.cjs} +2 -2
  124. package/dist/{icon-button-CB52pDFa.cjs.map → icon-button-BrRSVzzx.cjs.map} +1 -1
  125. package/dist/{icon-button--hjJtAL_.js → icon-button-CGMdsmXS.js} +3 -3
  126. package/dist/{icon-button--hjJtAL_.js.map → icon-button-CGMdsmXS.js.map} +1 -1
  127. package/dist/icons.cjs +1 -1
  128. package/dist/icons.js +1 -1
  129. package/dist/index.cjs +1 -1
  130. package/dist/index.js +166 -163
  131. package/dist/{input-Mrc7DrIK.js → input-DZYN1TnY.js} +3 -3
  132. package/dist/{input-Mrc7DrIK.js.map → input-DZYN1TnY.js.map} +1 -1
  133. package/dist/{input-chip-BRdk5zlg.js → input-chip-CNLkwei6.js} +2 -2
  134. package/dist/{input-chip-BRdk5zlg.js.map → input-chip-CNLkwei6.js.map} +1 -1
  135. package/dist/{input-chip-DnM_iJbj.cjs → input-chip-Cf25jEob.cjs} +2 -2
  136. package/dist/{input-chip-DnM_iJbj.cjs.map → input-chip-Cf25jEob.cjs.map} +1 -1
  137. package/dist/{input-BXcrOvCH.cjs → input-lzxE1e5L.cjs} +2 -2
  138. package/dist/{input-BXcrOvCH.cjs.map → input-lzxE1e5L.cjs.map} +1 -1
  139. package/dist/input.cjs +1 -1
  140. package/dist/input.js +1 -1
  141. package/dist/layout.cjs +1 -1
  142. package/dist/layout.js +1 -1
  143. package/dist/{list-CXBxuSyn.js → list-Cqo45m_h.js} +2 -2
  144. package/dist/{list-CXBxuSyn.js.map → list-Cqo45m_h.js.map} +1 -1
  145. package/dist/{list-CYvT9cR6.cjs → list-rGx4YHgo.cjs} +2 -2
  146. package/dist/{list-CYvT9cR6.cjs.map → list-rGx4YHgo.cjs.map} +1 -1
  147. package/dist/list.cjs +1 -1
  148. package/dist/list.js +1 -1
  149. package/dist/{litElement.mixin-DvxIa-6i.js → litElement.mixin-B0Rsd4Km.js} +2 -2
  150. package/dist/{litElement.mixin-DvxIa-6i.js.map → litElement.mixin-B0Rsd4Km.js.map} +1 -1
  151. package/dist/{litElement.mixin-BlkckXzw.cjs → litElement.mixin-DUiUa087.cjs} +2 -2
  152. package/dist/{litElement.mixin-BlkckXzw.cjs.map → litElement.mixin-DUiUa087.cjs.map} +1 -1
  153. package/dist/mailbox.cjs +1 -1
  154. package/dist/mailbox.js +1 -1
  155. package/dist/{map-CnBZmqCI.cjs → map-8DhybTup.cjs} +2 -2
  156. package/dist/{map-CnBZmqCI.cjs.map → map-8DhybTup.cjs.map} +1 -1
  157. package/dist/{map-DwJzufvh.js → map-DWf43TA1.js} +2 -2
  158. package/dist/{map-DwJzufvh.js.map → map-DWf43TA1.js.map} +1 -1
  159. package/dist/map.cjs +1 -1
  160. package/dist/map.js +1 -1
  161. package/dist/media-BVKgZzK_.js +243 -0
  162. package/dist/media-BVKgZzK_.js.map +1 -0
  163. package/dist/media-BZwiyJto.cjs +152 -0
  164. package/dist/media-BZwiyJto.cjs.map +1 -0
  165. package/dist/{menu-dj8ocrls.js → menu-CGaCEOer.js} +3 -3
  166. package/dist/{menu-dj8ocrls.js.map → menu-CGaCEOer.js.map} +1 -1
  167. package/dist/{menu-1D8Grlkb.cjs → menu-D8qP_e7D.cjs} +2 -2
  168. package/dist/{menu-1D8Grlkb.cjs.map → menu-D8qP_e7D.cjs.map} +1 -1
  169. package/dist/menu.cjs +1 -1
  170. package/dist/menu.js +1 -1
  171. package/dist/mixins/tailwind.css +0 -247
  172. package/dist/nav-drawer.cjs +1 -1
  173. package/dist/nav-drawer.js +1 -1
  174. package/dist/navigation-bar.cjs +1 -1
  175. package/dist/navigation-bar.js +1 -1
  176. package/dist/{navigation-rail-CO20kIzL.cjs → navigation-rail-BzMOzaFm.cjs} +77 -39
  177. package/dist/navigation-rail-BzMOzaFm.cjs.map +1 -0
  178. package/dist/{navigation-rail-DDSUxYea.js → navigation-rail-CjBw96pi.js} +88 -50
  179. package/dist/navigation-rail-CjBw96pi.js.map +1 -0
  180. package/dist/navigation-rail.cjs +1 -1
  181. package/dist/navigation-rail.js +1 -1
  182. package/dist/{notification-service-DcZEP2es.cjs → notification-service-DCmDSvc-.cjs} +2 -2
  183. package/dist/{notification-service-DcZEP2es.cjs.map → notification-service-DCmDSvc-.cjs.map} +1 -1
  184. package/dist/{notification-service-pckh5tN0.js → notification-service-Dv4oQi_Z.js} +5 -5
  185. package/dist/{notification-service-pckh5tN0.js.map → notification-service-Dv4oQi_Z.js.map} +1 -1
  186. package/dist/notification.cjs +1 -1
  187. package/dist/notification.js +2 -2
  188. package/dist/{notify-CkVQ8Yk1.js → notify-COuaNTJP.js} +2 -2
  189. package/dist/{notify-CkVQ8Yk1.js.map → notify-COuaNTJP.js.map} +1 -1
  190. package/dist/{notify-G37oQhaA.cjs → notify-XY2e8y_a.cjs} +2 -2
  191. package/dist/{notify-G37oQhaA.cjs.map → notify-XY2e8y_a.cjs.map} +1 -1
  192. package/dist/{option-aPValeTc.js → option-CSSmqUBi.js} +2 -2
  193. package/dist/{option-aPValeTc.js.map → option-CSSmqUBi.js.map} +1 -1
  194. package/dist/{option-Cjwmga85.cjs → option-q-dig7LF.cjs} +2 -2
  195. package/dist/{option-Cjwmga85.cjs.map → option-q-dig7LF.cjs.map} +1 -1
  196. package/dist/option.cjs +1 -1
  197. package/dist/option.js +1 -1
  198. package/dist/{payment-card-form-CbGx00Fm.cjs → payment-card-form-C8bWa_hh.cjs} +2 -2
  199. package/dist/{payment-card-form-CbGx00Fm.cjs.map → payment-card-form-C8bWa_hh.cjs.map} +1 -1
  200. package/dist/{payment-card-form-B0kQ8Wr5.js → payment-card-form-CWboYwqO.js} +3 -3
  201. package/dist/{payment-card-form-B0kQ8Wr5.js.map → payment-card-form-CWboYwqO.js.map} +1 -1
  202. package/dist/{progress-CmI5A7Z_.cjs → progress-CP2lpJsl.cjs} +2 -2
  203. package/dist/{progress-CmI5A7Z_.cjs.map → progress-CP2lpJsl.cjs.map} +1 -1
  204. package/dist/{progress-DuqVkW8o.js → progress-Cci0dXzp.js} +2 -2
  205. package/dist/{progress-DuqVkW8o.js.map → progress-Cci0dXzp.js.map} +1 -1
  206. package/dist/progress.cjs +1 -1
  207. package/dist/progress.js +1 -1
  208. package/dist/{radio-button-Chlsm46k.cjs → radio-button-CU-lMs92.cjs} +2 -2
  209. package/dist/{radio-button-Chlsm46k.cjs.map → radio-button-CU-lMs92.cjs.map} +1 -1
  210. package/dist/{radio-button-sQa0jt-L.js → radio-button-DFbfVgox.js} +3 -3
  211. package/dist/{radio-button-sQa0jt-L.js.map → radio-button-DFbfVgox.js.map} +1 -1
  212. package/dist/radio-group.cjs +1 -1
  213. package/dist/radio-group.js +1 -1
  214. package/dist/{schmancy-steps-container-r34O78hN.cjs → schmancy-steps-container-CQY1zmws.cjs} +2 -2
  215. package/dist/{schmancy-steps-container-r34O78hN.cjs.map → schmancy-steps-container-CQY1zmws.cjs.map} +1 -1
  216. package/dist/{schmancy-steps-container-BsVtwIIR.js → schmancy-steps-container-vW7r1ZTL.js} +2 -2
  217. package/dist/{schmancy-steps-container-BsVtwIIR.js.map → schmancy-steps-container-vW7r1ZTL.js.map} +1 -1
  218. package/dist/{select-lhS0e1Jw.cjs → select-Be8HIqWu.cjs} +2 -2
  219. package/dist/{select-lhS0e1Jw.cjs.map → select-Be8HIqWu.cjs.map} +1 -1
  220. package/dist/{select-DQNDWSWh.js → select-BkGodZaS.js} +4 -4
  221. package/dist/{select-DQNDWSWh.js.map → select-BkGodZaS.js.map} +1 -1
  222. package/dist/select.cjs +1 -1
  223. package/dist/select.js +1 -1
  224. package/dist/{sheet-DImUVTqD.js → sheet-DECb9whB.js} +3 -3
  225. package/dist/{sheet-DImUVTqD.js.map → sheet-DECb9whB.js.map} +1 -1
  226. package/dist/{sheet-CVQ6px7m.cjs → sheet-dK5UPVjp.cjs} +2 -2
  227. package/dist/{sheet-CVQ6px7m.cjs.map → sheet-dK5UPVjp.cjs.map} +1 -1
  228. package/dist/sheet.cjs +1 -1
  229. package/dist/sheet.js +1 -1
  230. package/dist/{slider-CZMt67fl.js → slider-BhFc1oRj.js} +3 -3
  231. package/dist/{slider-CZMt67fl.js.map → slider-BhFc1oRj.js.map} +1 -1
  232. package/dist/{slider-MzOpDc_J.cjs → slider-CP3JRaWR.cjs} +2 -2
  233. package/dist/{slider-MzOpDc_J.cjs.map → slider-CP3JRaWR.cjs.map} +1 -1
  234. package/dist/slider.cjs +1 -1
  235. package/dist/slider.js +1 -1
  236. package/dist/{spinner-BuujVERe.cjs → spinner-BD8cXVK_.cjs} +2 -2
  237. package/dist/{spinner-BuujVERe.cjs.map → spinner-BD8cXVK_.cjs.map} +1 -1
  238. package/dist/{spinner-CUHM2lNo.js → spinner-DGyRYqUZ.js} +2 -2
  239. package/dist/{spinner-CUHM2lNo.js.map → spinner-DGyRYqUZ.js.map} +1 -1
  240. package/dist/steps.cjs +1 -1
  241. package/dist/steps.js +1 -1
  242. package/dist/{suggestion-chip-CzMoacAF.cjs → suggestion-chip-C1n2VYBG.cjs} +31 -20
  243. package/dist/suggestion-chip-C1n2VYBG.cjs.map +1 -0
  244. package/dist/{suggestion-chip-8mpcT2Lk.js → suggestion-chip-Cl0cPTKV.js} +89 -70
  245. package/dist/suggestion-chip-Cl0cPTKV.js.map +1 -0
  246. package/dist/surface-C3V23wh9.js +140 -0
  247. package/dist/surface-C3V23wh9.js.map +1 -0
  248. package/dist/surface-ClIDhSRv.cjs +119 -0
  249. package/dist/surface-ClIDhSRv.cjs.map +1 -0
  250. package/dist/surface.cjs +1 -1
  251. package/dist/surface.js +1 -1
  252. package/dist/{table-Dt0gOEZZ.cjs → table-1New2HBS.cjs} +2 -2
  253. package/dist/{table-Dt0gOEZZ.cjs.map → table-1New2HBS.cjs.map} +1 -1
  254. package/dist/{table-DkaAXbrh.js → table-CLA3cxIk.js} +2 -2
  255. package/dist/{table-DkaAXbrh.js.map → table-CLA3cxIk.js.map} +1 -1
  256. package/dist/table.cjs +1 -1
  257. package/dist/table.js +1 -1
  258. package/dist/{tabs-compatibility-5WVuGrk5.cjs → tabs-compatibility-DDtYFCUj.cjs} +2 -2
  259. package/dist/{tabs-compatibility-5WVuGrk5.cjs.map → tabs-compatibility-DDtYFCUj.cjs.map} +1 -1
  260. package/dist/{tabs-compatibility-DGvPxrEr.js → tabs-compatibility-RMzYuSJ1.js} +2 -2
  261. package/dist/{tabs-compatibility-DGvPxrEr.js.map → tabs-compatibility-RMzYuSJ1.js.map} +1 -1
  262. package/dist/tabs.cjs +1 -1
  263. package/dist/tabs.js +1 -1
  264. package/dist/tailwind.mixin-CFrLBtkD.cjs +2 -0
  265. package/dist/{tailwind.mixin-BiRVB4Hl.cjs.map → tailwind.mixin-CFrLBtkD.cjs.map} +1 -1
  266. package/dist/tailwind.mixin-CZKT1dUr.js +43 -0
  267. package/dist/{tailwind.mixin-BbF53_0W.js.map → tailwind.mixin-CZKT1dUr.js.map} +1 -1
  268. package/dist/teleport.cjs +1 -1
  269. package/dist/teleport.js +1 -1
  270. package/dist/{textarea-mc3Gk2Ch.js → textarea-B4DXG5Sg.js} +3 -3
  271. package/dist/{textarea-mc3Gk2Ch.js.map → textarea-B4DXG5Sg.js.map} +1 -1
  272. package/dist/{textarea-CJECXt0r.cjs → textarea-ChDsPBZz.cjs} +2 -2
  273. package/dist/{textarea-CJECXt0r.cjs.map → textarea-ChDsPBZz.cjs.map} +1 -1
  274. package/dist/textarea.cjs +1 -1
  275. package/dist/textarea.js +1 -1
  276. package/dist/{theme-button-cDGf9KiE.js → theme-button-DGjG_shg.js} +2 -2
  277. package/dist/{theme-button-cDGf9KiE.js.map → theme-button-DGjG_shg.js.map} +1 -1
  278. package/dist/{theme-button-1nU7sd5N.cjs → theme-button-qzDX0i9Q.cjs} +2 -2
  279. package/dist/{theme-button-1nU7sd5N.cjs.map → theme-button-qzDX0i9Q.cjs.map} +1 -1
  280. package/dist/theme-button.cjs +1 -1
  281. package/dist/theme-button.js +1 -1
  282. package/dist/theme.cjs +1 -1
  283. package/dist/theme.component-Blc_4wu9.cjs +3 -0
  284. package/dist/{theme.component-BpyyRbkh.cjs.map → theme.component-Blc_4wu9.cjs.map} +1 -1
  285. package/dist/theme.component-C3r_-QqQ.js +818 -0
  286. package/dist/{theme.component-HF6Qt0YA.js.map → theme.component-C3r_-QqQ.js.map} +1 -1
  287. package/dist/theme.interface-BLfE5J_1.js +5 -0
  288. package/dist/theme.interface-BLfE5J_1.js.map +1 -0
  289. package/dist/theme.interface-BMeNadVb.cjs +2 -0
  290. package/dist/theme.interface-BMeNadVb.cjs.map +1 -0
  291. package/dist/theme.js +13 -10
  292. package/dist/{timezone-8UCGVbbl.js → timezone-BkE20wzQ.js} +3 -3
  293. package/dist/{timezone-8UCGVbbl.js.map → timezone-BkE20wzQ.js.map} +1 -1
  294. package/dist/{timezone-DC3VVwlT.cjs → timezone-wWfEuXrb.cjs} +2 -2
  295. package/dist/{timezone-DC3VVwlT.cjs.map → timezone-wWfEuXrb.cjs.map} +1 -1
  296. package/dist/{tooltip-DNl5aBNp.cjs → tooltip-DLadXXnP.cjs} +2 -2
  297. package/dist/{tooltip-DNl5aBNp.cjs.map → tooltip-DLadXXnP.cjs.map} +1 -1
  298. package/dist/{tooltip-C5r_jUM1.js → tooltip-UtpbXzQX.js} +2 -2
  299. package/dist/{tooltip-C5r_jUM1.js.map → tooltip-UtpbXzQX.js.map} +1 -1
  300. package/dist/tooltip.cjs +1 -1
  301. package/dist/tooltip.js +1 -1
  302. package/dist/{tree-yiGCSyyN.cjs → tree-Brtho3Eu.cjs} +2 -2
  303. package/dist/{tree-yiGCSyyN.cjs.map → tree-Brtho3Eu.cjs.map} +1 -1
  304. package/dist/{tree-CeNor9l6.js → tree-VkXtw2P8.js} +2 -2
  305. package/dist/{tree-CeNor9l6.js.map → tree-VkXtw2P8.js.map} +1 -1
  306. package/dist/tree.cjs +1 -1
  307. package/dist/tree.js +1 -1
  308. package/dist/{typewriter-CWFH8-z-.cjs → typewriter-CEgaw_pR.cjs} +2 -2
  309. package/dist/{typewriter-CWFH8-z-.cjs.map → typewriter-CEgaw_pR.cjs.map} +1 -1
  310. package/dist/{typewriter-BbQsON2M.js → typewriter-CsReDsYS.js} +4 -4
  311. package/dist/{typewriter-BbQsON2M.js.map → typewriter-CsReDsYS.js.map} +1 -1
  312. package/dist/typewriter.cjs +1 -1
  313. package/dist/typewriter.js +1 -1
  314. package/dist/{typography-PFj-xY2T.js → typography-D_bM5DW7.js} +2 -2
  315. package/dist/{typography-PFj-xY2T.js.map → typography-D_bM5DW7.js.map} +1 -1
  316. package/dist/{typography-ByLTIj6U.cjs → typography-NurK7F-8.cjs} +2 -2
  317. package/dist/{typography-ByLTIj6U.cjs.map → typography-NurK7F-8.cjs.map} +1 -1
  318. package/dist/typography.cjs +1 -1
  319. package/dist/typography.js +1 -1
  320. package/package.json +1 -1
  321. package/types/src/boat/boat.d.ts +9 -0
  322. package/types/src/card/card.d.ts +5 -1
  323. package/types/src/chips/chips.d.ts +1 -6
  324. package/types/src/details/details.d.ts +4 -4
  325. package/types/src/theme/context.d.ts +222 -2
  326. package/types/src/theme/index.d.ts +10 -3
  327. package/types/src/theme/theme.elevation.d.ts +131 -0
  328. package/types/src/theme/theme.format.d.ts +32 -5
  329. package/types/src/theme/theme.interface.d.ts +231 -5
  330. package/types/src/theme/theme.motion.d.ts +198 -0
  331. package/types/src/theme/theme.service.d.ts +222 -2
  332. package/types/src/theme/theme.shape.d.ts +144 -0
  333. package/types/src/theme/theme.state.d.ts +546 -0
  334. package/types/src/theme/theme.typography.d.ts +74 -0
  335. package/dist/boat-BTSQNgJQ.js +0 -174
  336. package/dist/boat-BTSQNgJQ.js.map +0 -1
  337. package/dist/boat-BtViHW8M.cjs +0 -66
  338. package/dist/boat-BtViHW8M.cjs.map +0 -1
  339. package/dist/details-BSmS_ILq.cjs +0 -161
  340. package/dist/details-BSmS_ILq.cjs.map +0 -1
  341. package/dist/details-kr1zYIlK.js +0 -228
  342. package/dist/details-kr1zYIlK.js.map +0 -1
  343. package/dist/media-CdM6XhRo.cjs +0 -177
  344. package/dist/media-CdM6XhRo.cjs.map +0 -1
  345. package/dist/media-DOKkl0Ic.js +0 -261
  346. package/dist/media-DOKkl0Ic.js.map +0 -1
  347. package/dist/navigation-rail-CO20kIzL.cjs.map +0 -1
  348. package/dist/navigation-rail-DDSUxYea.js.map +0 -1
  349. package/dist/suggestion-chip-8mpcT2Lk.js.map +0 -1
  350. package/dist/suggestion-chip-CzMoacAF.cjs.map +0 -1
  351. package/dist/surface-C3B9Sbtw.cjs +0 -90
  352. package/dist/surface-C3B9Sbtw.cjs.map +0 -1
  353. package/dist/surface-DdR9DjO8.js +0 -111
  354. package/dist/surface-DdR9DjO8.js.map +0 -1
  355. package/dist/tailwind.mixin-BbF53_0W.js +0 -43
  356. package/dist/tailwind.mixin-BiRVB4Hl.cjs +0 -2
  357. package/dist/theme.component-BpyyRbkh.cjs +0 -3
  358. package/dist/theme.component-HF6Qt0YA.js +0 -814
  359. package/dist/theme.interface-C5Kj6WjD.js +0 -5
  360. package/dist/theme.interface-C5Kj6WjD.js.map +0 -1
  361. package/dist/theme.interface-Xg5Zi46a.cjs +0 -2
  362. package/dist/theme.interface-Xg5Zi46a.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestion-chip-C1n2VYBG.cjs","sources":["../src/chips/assist-chip.ts","../src/chips/chips.ts","../src/chips/filter-chip.ts","../src/chips/suggestion-chip.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { BehaviorSubject, combineLatest } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\n/**\n * Assist chip component - prompts user actions like opening calendar events or sharing content\n * Pure Schmancy implementation with Tailwind CSS and RxJS state management\n */\n@customElement('schmancy-assist-chip')\nexport class SchmancyAssistChip extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\toutline: none;\n\t\tmin-width:fit-content\n\t}\n\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t}\n\n\t.ripple {\n\t\tposition: absolute;\n\t\tborder-radius: 50%;\n\t\ttransform: scale(0);\n\t\tanimation: ripple 600ms linear;\n\t\tbackground-color: rgba(0, 0, 0, 0.08);\n\t\tpointer-events: none;\n\t}\n\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t/* State layer for M3 hover/focus/pressed states */\n\t.state-layer {\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tborder-radius: inherit;\n\t\tpointer-events: none;\n\t\tbackground-color: currentColor;\n\t\topacity: 0;\n\t\ttransition: opacity 200ms ease;\n\t}\n\n\t:host(:not([disabled])) button:hover .state-layer {\n\t\topacity: 0.08;\n\t}\n\n\t:host(:not([disabled])) button:focus-visible .state-layer {\n\t\topacity: 0.1;\n\t}\n\n\t:host(:not([disabled])) button:active .state-layer {\n\t\topacity: 0.1;\n\t}\n`) {\n\t/** Value identifier for the chip */\n\t@property({ reflect: true }) value = ''\n\n\t/** Optional icon name (Material Symbols) */\n\t@property({ reflect: true }) icon = ''\n\n\t/** Optional href for navigation */\n\t@property({ reflect: true }) href = ''\n\n\t/** Target for navigation (e.g., '_blank') */\n\t@property({ reflect: true }) target = ''\n\n\t/** Disable the chip */\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\n\t/** Elevated style variant - true by default per M3 spec for assist chips */\n\t@property({ type: Boolean, reflect: true }) elevated = true\n\n\t// RxJS state streams\n\tprivate hover$ = new BehaviorSubject<boolean>(false)\n\tprivate pressed$ = new BehaviorSubject<boolean>(false)\n\tprivate focused$ = new BehaviorSubject<boolean>(false)\n\n\t// UI state - only ripples needed for rendering\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\n\n\tprotected static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true }\n\n\tprivate nextRippleId = 0\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Stream management for future extensions\n\t\t// Currently, states are handled directly in event handlers\n\t\t// This pipeline can be extended for more complex state interactions\n\t\tcombineLatest([\n\t\t\tthis.hover$,\n\t\t\tthis.pressed$,\n\t\t\tthis.focused$\n\t\t]).pipe(\n\t\t\t// States are managed through event handlers directly\n\t\t\t// This pipeline is kept for potential future state combinations\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\t}\n\n\tprivate handleClick = (e: MouseEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Add ripple effect\n\t\tconst button = this.shadowRoot?.querySelector('button')\n\t\tif (button) {\n\t\t\tconst rect = button.getBoundingClientRect()\n\t\t\tconst x = e.clientX - rect.left\n\t\t\tconst y = e.clientY - rect.top\n\t\t\tconst id = this.nextRippleId++\n\n\t\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t\t// Remove ripple after animation\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t\t}, 600)\n\t\t}\n\n\t\t// Navigate if href is provided\n\t\tif (this.href) {\n\t\t\tif (this.target === '_blank') {\n\t\t\t\twindow.open(this.href, '_blank')\n\t\t\t} else {\n\t\t\t\twindow.location.href = this.href\n\t\t\t}\n\t\t}\n\n\t\t// Dispatch action event\n\t\tthis.dispatchEvent(new CustomEvent('action', {\n\t\t\tdetail: { value: this.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled) return\n\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault()\n\t\t\tthis.pressed$.next(true)\n\n\t\t\t// Simulate click\n\t\t\tconst clickEvent = new MouseEvent('click', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true,\n\t\t\t\tclientX: 0,\n\t\t\t\tclientY: 0\n\t\t\t})\n\t\t\tthis.handleClick(clickEvent)\n\n\t\t\tsetTimeout(() => this.pressed$.next(false), 100)\n\t\t}\n\t}\n\n\tprivate handleFocus = () => {\n\t\tthis.focused$.next(true)\n\t}\n\n\tprivate handleBlur = () => {\n\t\tthis.focused$.next(false)\n\t}\n\n\trender() {\n\t\tconst hasIcon = !!this.icon;\n\n\t\tconst classes = {\n\t\t\t'relative': true,\n\t\t\t'inline-flex': true,\n\t\t\t'items-center': true,\n\t\t\t'gap-2': true,\n\t\t\t'h-8': true, // M3: 32px height\n\t\t\t'min-h-[32px]': true,\n\t\t\t'rounded-full': true,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'transition-all': true,\n\t\t\t'duration-200': true,\n\t\t\t'select-none': true,\n\t\t\t'overflow-hidden': true,\n\n\t\t\t// M3 Padding: 8px with icon, 16px without (leading), 16px trailing\n\t\t\t'pl-2': hasIcon, // 8px with icon\n\t\t\t'pl-4': !hasIcon, // 16px without icon\n\t\t\t'pr-4': true, // 16px trailing\n\n\t\t\t// M3 Colors - assist chips are elevated by default\n\t\t\t'bg-surface-containerLow': true,\n\t\t\t'text-surface-onVariant': true,\n\n\t\t\t// M3: Assist chips elevated by default (shadow-1)\n\t\t\t'shadow-sm': this.elevated && !this.disabled, // shadow-1 for elevation\n\t\t\t'hover:shadow-md': this.elevated && !this.disabled, // elevated on hover\n\n\t\t\t// Focus state\n\t\t\t'focus-visible:outline': !this.disabled,\n\t\t\t'focus-visible:outline-2': !this.disabled,\n\t\t\t'focus-visible:outline-primary': !this.disabled,\n\t\t\t'focus-visible:outline-offset-2': !this.disabled,\n\n\t\t\t// Disabled\n\t\t\t'opacity-38': this.disabled, // M3 disabled opacity\n\t\t\t'cursor-not-allowed': this.disabled\n\t\t}\n\n\t\treturn html`\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=${classMap(classes)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@mouseenter=${() => this.hover$.next(true)}\n\t\t\t\t@mouseleave=${() => this.hover$.next(false)}\n\t\t\t\t@mousedown=${() => this.pressed$.next(true)}\n\t\t\t\t@mouseup=${() => this.pressed$.next(false)}\n\t\t\t\t@focus=${this.handleFocus}\n\t\t\t\t@blur=${this.handleBlur}\n\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\trole=\"button\"\n\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\taria-label=${this.value}\n\t\t\t>\n\t\t\t\t${this.icon ? html`\n\t\t\t\t\t<schmancy-icon class=\"text-[18px] shrink-0\">${this.icon}</schmancy-icon>\n\t\t\t\t` : ''}\n\t\t\t\t<span class=\"text-sm font-medium leading-5\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</span>\n\n\t\t\t\t<!-- Ripple effects -->\n\t\t\t\t${this.ripples.map(ripple => html`\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"ripple\"\n\t\t\t\t\t\tstyle=\"left: ${ripple.x}px; top: ${ripple.y}px;\"\n\t\t\t\t\t></span>\n\t\t\t\t`)}\n\n\t\t\t\t<!-- State layer for M3 hover/focus/pressed states -->\n\t\t\t\t<div class=\"state-layer\"></div>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-assist-chip': SchmancyAssistChip\n\t}\n}\n\nexport type AssistChipActionEvent = { value: string }","import { $LitElement } from '@mixins/index'\nimport { css, html, PropertyValues } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { BehaviorSubject } from 'rxjs'\nimport { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators'\nimport type { FilterChipChangeEvent as SchmancyChipChangeEvent } from './filter-chip'\nimport { SchmancyFilterChip as SchmancyChip } from './filter-chip'\n\n@customElement('schmancy-chips')\nexport default class SchmancyChips extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n\n\t:host([wrap]) section {\n\t\tflex-wrap: wrap;\n\t}\n\n\t:host(:not([wrap])) section {\n\t\toverflow-x: auto;\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\n\t:host(:not([wrap])) section::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, and Opera */\n\t}\n\n\tsection {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 0.5rem;\n\t}\n`) {\n\t// RxJS state streams\n\tprivate value$ = new BehaviorSubject<string>('')\n\tprivate values$ = new BehaviorSubject<string[]>([])\n\n\tprivate _value: string = ''\n\tprivate _values: string[] = []\n\tprivate _multi: boolean = false\n\n\t/**\n\t * @deprecated Use .values for multi-selection or .value for single-selection instead.\n\t * The mode is now automatically determined based on which property is used.\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tget multi(): boolean {\n\t\treturn this._multi\n\t}\n\tset multi(value: boolean) {\n\t\tthis._multi = value\n\t}\n\n\tprivate get mode(): 'multi' | 'single' | 'none' {\n\t\tif (this._values.length > 0 || this.hasAttribute('values')) return 'multi'\n\t\tif (this._value || this.hasAttribute('value')) return 'single'\n\t\tif (this._multi) return 'multi'\n\t\treturn 'none'\n\t}\n\n\t@property({ type: Array, reflect: true })\n\tget values(): string[] {\n\t\treturn this._values\n\t}\n\tset values(value: string[]) {\n\t\tthis._values = value || []\n\t\tthis.values$.next(this._values)\n\t}\n\n\t@property({ type: String, reflect: true })\n\tget value(): string {\n\t\treturn this._value\n\t}\n\tset value(value: string) {\n\t\tthis._value = value || ''\n\t\tthis.value$.next(this._value)\n\t}\n\n\t@queryAssignedElements({\n\t\tselector: 'schmancy-chip, schmancy-filter-chip, schmancy-assist-chip, schmancy-input-chip, schmancy-suggestion-chip',\n\t\tflatten: true,\n\t})\n\tchips!: (SchmancyChip | HTMLElement)[]\n\n\t@property({ type: Boolean, reflect: true })\n\twrap: boolean = false\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.value$.next(this._value)\n\t\tthis.values$.next(this._values)\n\n\t\tconst mode = this.mode\n\t\tif (mode === 'multi') {\n\t\t\tthis.values$.pipe(\n\t\t\t\tdistinctUntilChanged((p, c) => p.length === c.length && p.every((v, i) => v === c[i])),\n\t\t\t\tdebounceTime(0),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t).subscribe(v => this.updateChipStates(v))\n\t\t} else if (mode === 'single') {\n\t\t\tthis.value$.pipe(\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\tdebounceTime(0),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t).subscribe(v => this.updateChipStates(v))\n\t\t}\n\t}\n\n\tprivate updateChipStates(selection: string | string[]) {\n\t\tif (!this.chips) return\n\n\t\tconst mode = this.mode\n\t\tif (mode === 'none') return\n\n\t\tthis.chips.forEach(chip => {\n\t\t\tif (!('value' in chip && 'selected' in chip)) return\n\t\t\tconst fc = chip as SchmancyChip\n\t\t\tif (mode === 'multi') {\n\t\t\t\tconst vals = selection as string[]\n\t\t\t\tfc.selected = vals.length > 0 && vals.includes(fc.value)\n\t\t\t} else {\n\t\t\t\tfc.selected = selection !== '' && selection === fc.value\n\t\t\t}\n\t\t})\n\t}\n\n\tchange(e: CustomEvent<SchmancyChipChangeEvent>) {\n\t\te.preventDefault()\n\t\te.stopPropagation()\n\t\tconst mode = this.mode\n\t\tif (mode === 'none') return\n\n\t\tconst { value, selected } = e.detail\n\t\tif (mode === 'multi') {\n\t\t\tthis._values = selected\n\t\t\t\t? [...new Set([...this._values, value])]\n\t\t\t\t: this._values.filter(v => v !== value)\n\t\t\tthis.values$.next(this._values)\n\t\t} else {\n\t\t\tthis._value = selected ? value : ''\n\t\t\tthis.value$.next(this._value)\n\t\t}\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyChipsChangeEvent>('change', {\n\t\t\t\tdetail: mode === 'multi' ? this._values : this._value,\n\t\t\t\tbubbles: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tprotected firstUpdated(_changedProperties: PropertyValues): void {\n\t\tsuper.firstUpdated(_changedProperties)\n\t\tconst mode = this.mode\n\t\tif (mode === 'multi') this.updateChipStates(this._values)\n\t\telse if (mode === 'single') this.updateChipStates(this._value)\n\t}\n\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<section @change=${this.change}>\n\t\t\t\t<slot @slotchange=${() => {\n\t\t\t\t\tconst mode = this.mode\n\t\t\t\t\tif (mode === 'multi') this.updateChipStates(this._values)\n\t\t\t\t\telse if (mode === 'single') this.updateChipStates(this._value)\n\t\t\t\t}}></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-chips': SchmancyChips\n\t}\n}\nexport type SchmancyChipsChangeEvent = string | Array<string>\n","import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { css, html, LitElement } from 'lit'\nimport { property, queryAssignedElements } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { BehaviorSubject, combineLatest } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\n/**\n * Filter chip component for content filtering.\n *\n * Filter chips are the ONLY chip type that maintains persistent selected state.\n * They are used for filtering content by toggling on/off different filter criteria.\n *\n * @fires change - Dispatched when selection state changes with {value, selected}\n * @fires remove - Dispatched when remove button is clicked (if removable)\n *\n * @example\n * ```html\n * <schmancy-filter-chip value=\"category-1\" selected>\n * Category 1\n * </schmancy-filter-chip>\n * ```\n */\nexport class SchmancyFilterChip extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\toutline: none;\n\t\tmin-width:fit-content\n\t}\n\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t\t/* M3 disabled state opacity */\n\t\topacity: var(--schmancy-sys-state-disabled-opacity);\n\t}\n\n\tbutton {\n\t\tfont-family: inherit;\n\t}\n\n\t/* Material Symbols font for icons */\n\t.material-symbols-outlined {\n\t\tfont-family: 'Material Symbols Outlined';\n\t\tfont-weight: normal;\n\t\tfont-style: normal;\n\t\tfont-size: 18px;\n\t\tline-height: 1;\n\t\tletter-spacing: normal;\n\t\ttext-transform: none;\n\t\tdisplay: inline-block;\n\t\twhite-space: nowrap;\n\t\tword-wrap: normal;\n\t\tdirection: ltr;\n\t\t-webkit-font-smoothing: antialiased;\n\t\ttext-rendering: optimizeLegibility;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tfont-feature-settings: 'liga';\n\t\tvertical-align: middle;\n\t}\n`) {\n\t/** Unique identifier for this filter chip */\n\t@property({ type: String, reflect: true })\n\tvalue: string = ''\n\n\t/** Whether the filter chip is selected (active filter) */\n\tprivate _selected: boolean = false\n\n\t@property({ type: Boolean, reflect: true })\n\tget selected(): boolean {\n\t\treturn this._selected\n\t}\n\tset selected(value: boolean) {\n\t\tconst oldValue = this._selected\n\t\tthis._selected = value\n\t\tthis.requestUpdate('selected', oldValue)\n\t}\n\n\t/** Optional icon to display (Material Symbols name) */\n\t@property({ type: String, reflect: true })\n\ticon: string = ''\n\n\t/** Whether to show a remove button */\n\t@property({ type: Boolean, reflect: true })\n\tremovable: boolean = false\n\n\t/** Whether the chip is disabled */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled: boolean = false\n\n\t/** Whether to use elevated style with shadow */\n\t@property({ type: Boolean, reflect: true })\n\televated: boolean = false\n\n\t// Reactive state management with RxJS\n\tprivate hover$ = new BehaviorSubject<boolean>(false)\n\tprivate pressed$ = new BehaviorSubject<boolean>(false)\n\tprivate focused$ = new BehaviorSubject<boolean>(false)\n\n\t// Query assigned elements in the icon slot\n\t@queryAssignedElements({ slot: 'icon' }) iconSlotElements!: Element[]\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\n\tstatic formAssociated = true\n\tinternals: ElementInternals | undefined\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// RxJS streams are maintained for potential future use\n\t\t// Currently state is handled directly through event handlers\n\t\tcombineLatest([\n\t\t\tthis.hover$,\n\t\t\tthis.pressed$,\n\t\t\tthis.focused$,\n\t\t]).pipe(\n\t\t\t// States are managed through event handlers directly\n\t\t\t// This pipeline is kept for potential future state combinations\n\t\t\ttakeUntil(this.disconnecting),\n\t\t).subscribe()\n\t}\n\n\tprivate handleClick = () => {\n\t\tif (this.disabled) return\n\n\t\t// Don't modify this.selected - let the parent container control it\n\t\t// Dispatch change event with the INTENDED state\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('change', {\n\t\t\t\tdetail: { value: this.value, selected: !this._selected },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate handleRemove = (e: Event) => {\n\t\tif (this.disabled) return\n\n\t\te.stopPropagation()\n\n\t\t// Dispatch remove event\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('remove', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled) return\n\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault()\n\t\t\t// Dispatch event directly rather than calling handleClick to be explicit\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail: { value: this.value, selected: !this._selected },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate handleMouseEnter = () => {\n\t\tthis.hover$.next(true)\n\t}\n\n\tprivate handleMouseLeave = () => {\n\t\tthis.hover$.next(false)\n\t\tthis.pressed$.next(false)\n\t}\n\n\tprivate handleMouseDown = () => {\n\t\tthis.pressed$.next(true)\n\t}\n\n\tprivate handleMouseUp = () => {\n\t\tthis.pressed$.next(false)\n\t}\n\n\tprivate handleFocus = () => {\n\t\tthis.focused$.next(true)\n\t}\n\n\tprivate handleBlur = () => {\n\t\tthis.focused$.next(false)\n\t}\n\n\tprotected render(): unknown {\n\t\tconst chipClasses = {\n\t\t\t'inline-flex': true,\n\t\t\t'items-center': true,\n\t\t\t'gap-2': true,\n\t\t\t/* M3 shape: small for chips */\n\t\t\t'rounded-lg': true,\n\t\t\t'h-8 px-4': true,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'transition-all': true,\n\t\t\t/* M3 motion: short duration */\n\t\t\t'duration-200': true,\n\t\t\t'select-none': true,\n\t\t\t'text-sm': true,\n\t\t\t'font-medium': true,\n\t\t\t'border': true,\n\t\t\t'relative': true,\n\t\t\t'min-h-[32px]': true,\n\n\t\t\t// Background and text colors based on selection state\n\t\t\t'bg-secondary-container': this._selected,\n\t\t\t'text-secondary-onContainer': this._selected,\n\t\t\t'border-secondary-container': this._selected,\n\t\t\t'bg-surface-container': !this._selected,\n\t\t\t'text-surface-on': !this._selected,\n\t\t\t'border-outline-variant': !this._selected,\n\n\t\t\t// Hover states\n\t\t\t'hover:brightness-95': this._selected && !this.disabled,\n\t\t\t'hover:bg-surface-container-high': !this._selected && !this.disabled,\n\n\t\t\t// M3 pressed state (no scale transformation in M3)\n\t\t\t'active:brightness-90': !this.disabled,\n\n\t\t\t// Focus-visible state for better UX\n\t\t\t'focus-visible:outline': !this.disabled,\n\t\t\t'focus-visible:outline-2': !this.disabled,\n\t\t\t'focus-visible:outline-offset-2': !this.disabled,\n\t\t\t'focus-visible:outline-primary-default': !this.disabled,\n\n\t\t\t// Elevated style\n\t\t\t'shadow-md': this.elevated && !this.disabled,\n\t\t\t'hover:shadow-lg': this.elevated && !this.disabled,\n\n\t\t\t// M3 disabled state\n\t\t\t'opacity-[var(--schmancy-sys-state-disabled-opacity)]': this.disabled,\n\t\t\t'cursor-not-allowed': this.disabled\n\t\t}\n\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tclass=${this.classMap(chipClasses)}\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@mouseenter=${this.handleMouseEnter}\n\t\t\t\t@mouseleave=${this.handleMouseLeave}\n\t\t\t\t@mousedown=${this.handleMouseDown}\n\t\t\t\t@mouseup=${this.handleMouseUp}\n\t\t\t\t@focus=${this.handleFocus}\n\t\t\t\t@blur=${this.handleBlur}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\taria-pressed=${this._selected ? 'true' : 'false'}\n\t\t\t\trole=\"checkbox\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t>\n\t\t\t\t<!-- Icon container - conditionally shown using when directive -->\n\t\t\t\t${when(\n\t\t\t\t\tthis._selected || this.icon || this.iconSlotElements?.length > 0,\n\t\t\t\t\t() => html`\n\t\t\t\t\t\t<span class=\"inline-flex w-[18px] h-[18px] items-center justify-center shrink-0\">\n\t\t\t\t\t\t\t${this._selected ? html`\n\t\t\t\t\t\t\t\t<span class=\"material-symbols-outlined text-[18px]\">\n\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t` : this.icon ? html`\n\t\t\t\t\t\t\t\t<span class=\"material-symbols-outlined text-[18px]\">\n\t\t\t\t\t\t\t\t\t${this.icon}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t` : html`\n\t\t\t\t\t\t\t\t<slot name=\"icon\"></slot>\n\t\t\t\t\t\t\t`}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t`\n\t\t\t\t)}\n\n\t\t\t\t<!-- Chip content -->\n\t\t\t\t<slot></slot>\n\n\t\t\t\t<!-- Remove button (if removable) -->\n\t\t\t\t${this.removable ? html`\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"ml-1 -mr-1 p-0.5 rounded-full hover:bg-surface-container-highest transition-colors duration-200\"\n\t\t\t\t\t\t@click=${this.handleRemove}\n\t\t\t\t\t\taria-label=\"Remove filter\"\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"material-symbols-outlined text-sm sm:text-[16px]\">\n\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</button>\n\t\t\t\t` : ''}\n\t\t\t</button>\n\t\t`\n\t}\n}\n\n// Register the element with both names for backward compatibility\n// Check if not already registered to prevent duplicate registration errors\nif (!customElements.get('schmancy-filter-chip')) {\n\tcustomElements.define('schmancy-filter-chip', SchmancyFilterChip)\n}\n\n// For backward compatibility, register 'schmancy-chip' with a subclass\n// to avoid duplicate constructor registration error\nif (!customElements.get('schmancy-chip')) {\n\tclass SchmancyChipCompat extends SchmancyFilterChip {}\n\tcustomElements.define('schmancy-chip', SchmancyChipCompat)\n}\n\n// Export alias for backward compatibility\nexport { SchmancyFilterChip as SchmancyChip }\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-chip': SchmancyFilterChip\n\t\t'schmancy-filter-chip': SchmancyFilterChip\n\t}\n}\n\nexport type FilterChipChangeEvent = { value: string; selected: boolean }\nexport type FilterChipRemoveEvent = { value: string }\n// Alias for backward compatibility\nexport type SchmancyChipChangeEvent = FilterChipChangeEvent","import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { BehaviorSubject, combineLatest } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\n/**\n * Suggestion chip component - provides contextual recommendations to users\n *\n * IMPORTANT: Suggestion chips do NOT have a selected state. They are designed to\n * provide suggestions and recommendations that trigger actions when clicked.\n * Unlike filter chips, they cannot be toggled on/off.\n *\n * Pure Schmancy implementation with Tailwind CSS and RxJS state management\n */\n@customElement('schmancy-suggestion-chip')\nexport class SchmancySuggestionChip extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\toutline: none;\n\t\tmin-width:fit-content\n\t}\n\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t}\n\n\t.ripple {\n\t\tposition: absolute;\n\t\tborder-radius: 50%;\n\t\ttransform: scale(0);\n\t\tanimation: ripple 600ms linear;\n\t\tbackground-color: rgba(0, 0, 0, 0.08);\n\t\tpointer-events: none;\n\t}\n\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t/* State layer for M3 hover/focus/pressed states */\n\t.state-layer {\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tborder-radius: inherit;\n\t\tpointer-events: none;\n\t\tbackground-color: currentColor;\n\t\topacity: 0;\n\t\ttransition: opacity 200ms ease;\n\t}\n\n\t:host(:not([disabled])) button:hover .state-layer {\n\t\topacity: 0.08;\n\t}\n\n\t:host(:not([disabled])) button:focus-visible .state-layer {\n\t\topacity: 0.1;\n\t}\n\n\t:host(:not([disabled])) button:active .state-layer {\n\t\topacity: 0.1;\n\t}\n`) {\n\t/** Value identifier for the chip */\n\t@property({ reflect: true }) value = ''\n\n\t/** Optional icon name (Material Symbols) */\n\t@property({ reflect: true }) icon = ''\n\n\t/** Optional href for navigation */\n\t@property({ reflect: true }) href = ''\n\n\t/** Target for navigation (e.g., '_blank') */\n\t@property({ reflect: true }) target = ''\n\n\t/** Disable the chip */\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\n\t/** Elevated style variant - flat by default per M3 spec */\n\t@property({ type: Boolean, reflect: true }) elevated = false\n\n\t// RxJS state streams\n\tprivate hover$ = new BehaviorSubject<boolean>(false)\n\tprivate pressed$ = new BehaviorSubject<boolean>(false)\n\tprivate focused$ = new BehaviorSubject<boolean>(false)\n\n\t// UI state - only ripples needed for rendering\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\n\n\tprotected static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true }\n\n\tprivate nextRippleId = 0\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Stream management for future extensions\n\t\t// Currently, states are handled directly in event handlers\n\t\t// This pipeline can be extended for more complex state interactions\n\t\tcombineLatest([\n\t\t\tthis.hover$,\n\t\t\tthis.pressed$,\n\t\t\tthis.focused$\n\t\t]).pipe(\n\t\t\t// States are managed through event handlers directly\n\t\t\t// This pipeline is kept for potential future state combinations\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\t}\n\n\tprivate handleClick = (e: MouseEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Add ripple effect\n\t\tconst button = this.shadowRoot?.querySelector('button')\n\t\tif (button) {\n\t\t\tconst rect = button.getBoundingClientRect()\n\t\t\tconst x = e.clientX - rect.left\n\t\t\tconst y = e.clientY - rect.top\n\t\t\tconst id = this.nextRippleId++\n\n\t\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t\t// Remove ripple after animation\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t\t}, 600)\n\t\t}\n\n\t\t// Navigate if href is provided\n\t\tif (this.href) {\n\t\t\tif (this.target === '_blank') {\n\t\t\t\twindow.open(this.href, '_blank')\n\t\t\t} else {\n\t\t\t\twindow.location.href = this.href\n\t\t\t}\n\t\t}\n\n\t\t// Dispatch action event\n\t\tthis.dispatchEvent(new CustomEvent('action', {\n\t\t\tdetail: { value: this.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled) return\n\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault()\n\t\t\tthis.pressed$.next(true)\n\n\t\t\t// Simulate click\n\t\t\tconst clickEvent = new MouseEvent('click', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true,\n\t\t\t\tclientX: 0,\n\t\t\t\tclientY: 0\n\t\t\t})\n\t\t\tthis.handleClick(clickEvent)\n\n\t\t\tsetTimeout(() => this.pressed$.next(false), 100)\n\t\t}\n\t}\n\n\tprivate handleFocus = () => {\n\t\tthis.focused$.next(true)\n\t}\n\n\tprivate handleBlur = () => {\n\t\tthis.focused$.next(false)\n\t}\n\n\tprotected render(): unknown {\n\t\tconst hasIcon = !!this.icon;\n\n\t\tconst classes = {\n\t\t\t'relative': true,\n\t\t\t'inline-flex': true,\n\t\t\t'items-center': true,\n\t\t\t'gap-2': true,\n\t\t\t'h-8': true, // M3: 32px height\n\t\t\t'min-h-[32px]': true,\n\t\t\t'rounded-full': true,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'transition-all': true,\n\t\t\t'duration-200': true,\n\t\t\t'select-none': true,\n\t\t\t'overflow-hidden': true,\n\t\t\t'border': true,\n\n\t\t\t// M3 Padding: 8px with icon, 16px without (leading), 16px trailing\n\t\t\t'pl-2': hasIcon, // 8px with icon\n\t\t\t'pl-4': !hasIcon, // 16px without icon\n\t\t\t'pr-4': true, // 16px trailing\n\n\t\t\t// M3 Colors for suggestion chips\n\t\t\t'bg-surface-containerLow': true,\n\t\t\t'text-surface-onVariant': true,\n\t\t\t'border-outline': true,\n\n\t\t\t// Suggestion chips are flat by default (no elevation per M3)\n\n\t\t\t// Focus state\n\t\t\t'focus-visible:outline': !this.disabled,\n\t\t\t'focus-visible:outline-2': !this.disabled,\n\t\t\t'focus-visible:outline-primary': !this.disabled,\n\t\t\t'focus-visible:outline-offset-2': !this.disabled,\n\n\t\t\t// Disabled\n\t\t\t'opacity-38': this.disabled, // M3 disabled opacity\n\t\t\t'cursor-not-allowed': this.disabled\n\t\t}\n\n\t\treturn html`\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=${classMap(classes)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@mouseenter=${() => this.hover$.next(true)}\n\t\t\t\t@mouseleave=${() => this.hover$.next(false)}\n\t\t\t\t@mousedown=${() => this.pressed$.next(true)}\n\t\t\t\t@mouseup=${() => this.pressed$.next(false)}\n\t\t\t\t@focus=${this.handleFocus}\n\t\t\t\t@blur=${this.handleBlur}\n\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\trole=\"button\"\n\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\taria-label=${this.value}\n\t\t\t>\n\t\t\t\t${this.icon ? html`\n\t\t\t\t\t<schmancy-icon class=\"text-[18px] shrink-0\">${this.icon}</schmancy-icon>\n\t\t\t\t` : ''}\n\t\t\t\t<span class=\"text-sm font-medium leading-5\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</span>\n\n\t\t\t\t<!-- Ripple effects -->\n\t\t\t\t${this.ripples.map(ripple => html`\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"ripple\"\n\t\t\t\t\t\tstyle=\"left: ${ripple.x}px; top: ${ripple.y}px;\"\n\t\t\t\t\t></span>\n\t\t\t\t`)}\n\n\t\t\t\t<!-- State layer for M3 hover/focus/pressed states -->\n\t\t\t\t<div class=\"state-layer\"></div>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-suggestion-chip': SchmancySuggestionChip\n\t}\n}\n\nexport type SuggestionChipActionEvent = { value: string }"],"names":["SchmancyAssistChip","TailwindElement","css","constructor","super","arguments","this","value","icon","href","target","disabled","elevated","hover$","BehaviorSubject","pressed$","focused$","ripples","nextRippleId","handleClick","e","button","shadowRoot","querySelector","rect","getBoundingClientRect","x","clientX","left","y","clientY","top","id","setTimeout","filter","r","window","open","location","dispatchEvent","CustomEvent","detail","bubbles","composed","handleKeyDown","key","preventDefault","next","clickEvent","MouseEvent","cancelable","handleFocus","handleBlur","connectedCallback","combineLatest","pipe","takeUntil","disconnecting","subscribe","render","hasIcon","classes","relative","html","classMap","map","ripple","shadowRootOptions","LitElement","delegatesFocus","__decorateClass","property","reflect","prototype","type","Boolean","state","customElement","SchmancyChips","$LitElement","value$","values$","_value","_values","_multi","wrap","multi","mode","length","hasAttribute","values","distinctUntilChanged","p","c","every","v","i","debounceTime","updateChipStates","selection","chips","forEach","chip","fc","vals","selected","includes","stopPropagation","Set","_changedProperties","firstUpdated","change","Array","String","queryAssignedElements","selector","flatten","SchmancyFilterChip","_selected","removable","handleRemove","handleMouseEnter","handleMouseLeave","handleMouseDown","handleMouseUp","internals","attachInternals","oldValue","requestUpdate","form","chipClasses","border","when","iconSlotElements","formAssociated","_v","slot","customElements","get","define","SchmancyChipCompat","SchmancySuggestionChip"],"mappings":"mgBAYaA,QAAAA,mBAAN,cAAiCC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAjD,CAAA,CAAA,aAAAC,CAAAC,MAAAA,GAAAC,SAAAA,EAmDuBC,KAAAC,MAAQ,GAGRD,KAAAE,KAAO,GAGPF,KAAAG,KAAO,GAGPH,KAAAI,OAAS,GAGMJ,KAAAK,SAAAA,GAGAL,KAAAM,SAAAA,GAG5CN,KAAQO,OAAS,IAAIC,EAAAA,gBAAAA,EAAyB,EAC9CR,KAAQS,SAAW,IAAID,EAAAA,gBAAAA,EAAyB,EAChDR,KAAQU,SAAW,IAAIF,EAAAA,gBAAAA,EAAyB,EAGvCR,KAAQW,QAAuD,CAAA,EAIxEX,KAAQY,aAAe,EAmBvBZ,KAAQa,YAAeC,GAAAA,CACtB,GAAId,KAAKK,SAAU,OAGnB,MAAMU,EAASf,KAAKgB,YAAYC,cAAc,UAC9C,GAAIF,EAAQ,CACX,MAAMG,EAAOH,EAAOI,sBAAAA,EACdC,EAAIN,EAAEO,QAAUH,EAAKI,KACrBC,EAAIT,EAAEU,QAAUN,EAAKO,IACrBC,EAAK1B,KAAKY,eAEhBZ,KAAKW,QAAU,CAAA,GAAIX,KAAKW,QAAS,CAAES,IAAGG,EAAAA,EAAGG,GAAAA,CAAAA,CAAAA,EAGzCC,WAAW,IAAA,CACV3B,KAAKW,QAAUX,KAAKW,QAAQiB,OAAOC,GAAKA,EAAEH,KAAOA,CAAAA,CAAAA,EAC/C,GAAA,CACJ,CAGI1B,KAAKG,OACJH,KAAKI,SAAW,SACnB0B,OAAOC,KAAK/B,KAAKG,KAAM,QAAA,EAEvB2B,OAAOE,SAAS7B,KAAOH,KAAKG,MAK9BH,KAAKiC,cAAc,IAAIC,YAAY,SAAU,CAC5CC,OAAQ,CAAElC,MAAOD,KAAKC,KAAAA,EACtBmC,QAAAA,GACAC,SAAAA,OAIFrC,KAAQsC,cAAiBxB,GAAAA,CACxB,GAAA,CAAId,KAAKK,WAELS,EAAEyB,MAAQ,SAAWzB,EAAEyB,MAAQ,KAAK,CACvCzB,EAAE0B,eAAAA,EACFxC,KAAKS,SAASgC,KAAAA,EAAK,EAGnB,MAAMC,EAAa,IAAIC,WAAW,QAAS,CAC1CP,WACAQ,WAAAA,GACAvB,QAAS,EACTG,QAAS,CAAA,CAAA,EAEVxB,KAAKa,YAAY6B,CAAAA,EAEjBf,WAAW,IAAM3B,KAAKS,SAASgC,KAAAA,EAAK,EAAQ,GAAA,CAC7C,GAGDzC,KAAQ6C,YAAc,IAAA,CACrB7C,KAAKU,SAAS+B,KAAAA,EAAK,CAAA,EAGpBzC,KAAQ8C,WAAa,IAAA,CACpB9C,KAAKU,SAAS+B,KAAAA,EAAK,CAAA,CACpB,CA/EA,mBAAAM,CACCjD,MAAMiD,kBAAAA,EAKNC,gBAAc,CACbhD,KAAKO,OACLP,KAAKS,SACLT,KAAKU,QAAAA,CAAAA,EACHuC,KAGFC,EAAAA,UAAUlD,KAAKmD,aAAAA,CAAAA,EACdC,UAAAA,CACH,CAkEA,QAAAC,CACC,MAAMC,EAAAA,CAAAA,CAAYtD,KAAKE,KAEjBqD,EAAU,CACfC,SAAAA,GACA,cAAA,GACA,eAAA,GACA,QAAA,GACA,MAAA,GACA,kBACA,eAAA,GACA,iBAAA,CAAmBxD,KAAKK,SACxB,iBAAA,GACA,kBACA,cAAA,GACA,kBAAA,GAGA,OAAQiD,EACR,OAAA,CAASA,EACT,OAAA,GAGA,0BAAA,GACA,yBAAA,GAGA,YAAatD,KAAKM,WAAaN,KAAKK,SACpC,kBAAmBL,KAAKM,UAAAA,CAAaN,KAAKK,SAG1C,wBAAA,CAA0BL,KAAKK,SAC/B,0BAAA,CAA4BL,KAAKK,SACjC,gCAAA,CAAkCL,KAAKK,SACvC,iCAAA,CAAmCL,KAAKK,SAGxC,aAAcL,KAAKK,SACnB,qBAAsBL,KAAKK,QAAAA,EAG5B,OAAOoD,EAAAA;AAAAA;AAAAA;AAAAA,YAGGC,EAAAA,SAASH,CAAAA,CAAAA;AAAAA,gBACLvD,KAAKK,QAAAA;AAAAA,aACRL,KAAKa,WAAAA;AAAAA,eACHb,KAAKsC,aAAAA;AAAAA,kBACF,IAAMtC,KAAKO,OAAOkC,KAAAA,EAAK,CAAA;AAAA,kBACvB,IAAMzC,KAAKO,OAAOkC,KAAAA,EAAK,CAAA;AAAA,iBACxB,IAAMzC,KAAKS,SAASgC,KAAAA,EAAK,CAAA;AAAA,eAC3B,IAAMzC,KAAKS,SAASgC,KAAAA,EAAK,CAAA;AAAA,aAC3BzC,KAAK6C,WAAAA;AAAAA,YACN7C,KAAK8C,UAAAA;AAAAA,eACF9C,KAAKK,SAAW,KAAO,GAAA;AAAA;AAAA,oBAElBL,KAAKK,QAAAA;AAAAA,iBACRL,KAAKC,KAAAA;AAAAA;AAAAA,MAEhBD,KAAKE,KAAOuD,EAAAA;AAAAA,mDACiCzD,KAAKE,IAAAA;AAAAA,MAChD,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMFF,KAAKW,QAAQgD,IAAIC,GAAUH,EAAAA;AAAAA;AAAAA;AAAAA,qBAGZG,EAAOxC,aAAawC,EAAOrC,CAAAA;AAAAA;AAAAA;;;;;GAQ/C,CAAA,EA/OY7B,QAAAA,mBA4EKmE,kBAAoB,CAAA,GAAKC,EAAAA,WAAWD,kBAAmBE,eAAAA,EAAgB,EAzB3DC,EAAA,CAA5BC,WAAS,CAAEC,QAAAA,MAnDAxE,2BAmDiByE,UAAA,QAAA,GAGAH,EAAA,CAA5BC,WAAS,CAAEC,QAAAA,EAAS,CAAA,CAAA,EAtDTxE,2BAsDiByE,UAAA,OAAA,CAAA,EAGAH,EAAA,CAA5BC,WAAS,CAAEC,QAAAA,EAAS,CAAA,CAAA,EAzDTxE,2BAyDiByE,UAAA,OAAA,CAAA,EAGAH,EAAA,CAA5BC,WAAS,CAAEC,QAAAA,MA5DAxE,2BA4DiByE,UAAA,SAAA,GAGeH,EAAA,CAA3CC,EAAAA,SAAS,CAAEG,KAAMC,QAASH,QAAAA,EAAS,CAAA,CAAA,EA/DxBxE,2BA+DgCyE,UAAA,WAAA,CAAA,EAGAH,EAAA,CAA3CC,EAAAA,SAAS,CAAEG,KAAMC,QAASH,QAAAA,EAAS,CAAA,CAAA,EAlExBxE,2BAkEgCyE,UAAA,WAAA,CAAA,EAQ3BH,EAAA,CAAhBM,EAAAA,MAAAA,CAAAA,EA1EW5E,2BA0EKyE,UAAA,UAAA,CAAA,EA1ELzE,QAAAA,mBAANsE,EAAA,CADNO,EAAAA,cAAc,sBAAA,CAAA,EACF7E,4NCHb,IAAqB8E,EAArB,cAA2CC,EAAAA,YAAY7E,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAvD,CAAA,CAAA,cAAAE,MAAAA,GAAAC,SAAAA,EA0BCC,KAAQ0E,OAAS,IAAIlE,EAAAA,gBAAwB,EAAA,EAC7CR,KAAQ2E,QAAU,IAAInE,EAAAA,gBAA0B,CAAA,CAAA,EAEhDR,KAAQ4E,OAAiB,GACzB5E,KAAQ6E,QAAoB,GAC5B7E,KAAQ8E,OAAAA,GA8CR9E,KAAA+E,OAAgB,CAvChB,IAAA,OAAIC,CACH,OAAOhF,KAAK8E,MACb,CACA,IAAA,MAAU7E,EAAAA,CACTD,KAAK8E,OAAS7E,CACf,CAEA,IAAA,MAAYgF,CACX,OAAIjF,KAAK6E,QAAQK,OAAS,GAAKlF,KAAKmF,aAAa,UAAkB,QAC/DnF,KAAK4E,QAAU5E,KAAKmF,aAAa,OAAA,EAAiB,SAClDnF,KAAK8E,OAAe,QACjB,MACR,CAGA,IAAA,QAAIM,CACH,OAAOpF,KAAK6E,OACb,CACA,IAAA,OAAW5E,EAAAA,CACVD,KAAK6E,QAAU5E,GAAS,CAAA,EACxBD,KAAK2E,QAAQlC,KAAKzC,KAAK6E,OAAAA,CACxB,CAGA,IAAA,OAAI5E,CACH,OAAOD,KAAK4E,MACb,CACA,IAAA,MAAU3E,EAAAA,CACTD,KAAK4E,OAAS3E,GAAS,GACvBD,KAAK0E,OAAOjC,KAAKzC,KAAK4E,MAAAA,CACvB,CAWA,mBAAA7B,CACCjD,MAAMiD,kBAAAA,EACN/C,KAAK0E,OAAOjC,KAAKzC,KAAK4E,MAAAA,EACtB5E,KAAK2E,QAAQlC,KAAKzC,KAAK6E,SAEvB,MAAMI,EAAOjF,KAAKiF,KACdA,IAAS,QACZjF,KAAK2E,QAAQ1B,KACZoC,EAAAA,qBAAqB,CAACC,EAAGC,IAAMD,EAAEJ,SAAWK,EAAEL,QAAUI,EAAEE,MAAM,CAACC,EAAGC,IAAMD,IAAMF,EAAEG,CAAAA,CAAAA,CAAAA,EAClFC,EAAAA,aAAa,CAAA,EACbzC,EAAAA,UAAUlD,KAAKmD,gBACdC,UAAUqC,GAAKzF,KAAK4F,iBAAiBH,IAC7BR,IAAS,UACnBjF,KAAK0E,OAAOzB,KACXoC,yBACAM,EAAAA,aAAa,CAAA,EACbzC,EAAAA,UAAUlD,KAAKmD,aAAAA,CAAAA,EACdC,UAAUqC,GAAKzF,KAAK4F,iBAAiBH,CAAAA,CAAAA,CAEzC,CAEQ,iBAAiBI,EAAAA,CACxB,GAAA,CAAK7F,KAAK8F,MAAO,OAEjB,MAAMb,EAAOjF,KAAKiF,KACdA,IAAS,QAEbjF,KAAK8F,MAAMC,QAAQC,GAAAA,CAClB,GAAA,EAAM,UAAWA,IAAAA,EAAQ,aAAcA,GAAO,OAC9C,MAAMC,EAAKD,EACX,GAAIf,IAAS,QAAS,CACrB,MAAMiB,EAAOL,EACbI,EAAGE,SAAWD,EAAKhB,OAAS,GAAKgB,EAAKE,SAASH,EAAGhG,KAAAA,CACnD,MACCgG,EAAGE,SAAWN,IAAc,IAAMA,IAAcI,EAAGhG,KAAAA,CAAAA,CAGtD,CAEA,OAAOa,EAAAA,CACNA,EAAE0B,iBACF1B,EAAEuF,gBAAAA,EACF,MAAMpB,EAAOjF,KAAKiF,KAClB,GAAIA,IAAS,OAAQ,OAErB,MAAMhF,MAAEA,EAAAkG,SAAOA,CAAAA,EAAarF,EAAEqB,OAC1B8C,IAAS,SACZjF,KAAK6E,QAAUsB,EACZ,CAAA,GAAI,IAAIG,IAAI,IAAItG,KAAK6E,QAAS5E,CAAAA,CAAAA,CAAAA,EAC9BD,KAAK6E,QAAQjD,OAAO6D,GAAKA,IAAMxF,CAAAA,EAClCD,KAAK2E,QAAQlC,KAAKzC,KAAK6E,OAAAA,IAEvB7E,KAAK4E,OAASuB,EAAWlG,EAAQ,GACjCD,KAAK0E,OAAOjC,KAAKzC,KAAK4E,MAAAA,GAGvB5E,KAAKiC,cACJ,IAAIC,YAAsC,SAAU,CACnDC,OAAQ8C,IAAS,QAAUjF,KAAK6E,QAAU7E,KAAK4E,OAC/CxC,QAAAA,EAAS,CAAA,CAAA,CAGZ,CAEU,aAAamE,EAAAA,CACtBzG,MAAM0G,aAAaD,GACnB,MAAMtB,EAAOjF,KAAKiF,KACdA,IAAS,QAASjF,KAAK4F,iBAAiB5F,KAAK6E,SACxCI,IAAS,UAAUjF,KAAK4F,iBAAiB5F,KAAK4E,MAAAA,CACxD,CAEU,QAAAvB,CACT,OAAOI,EAAAA;AAAAA,sBACazD,KAAKyG,MAAAA;AAAAA,wBACH,IAAA,CACnB,MAAMxB,EAAOjF,KAAKiF,KACdA,IAAS,QAASjF,KAAK4F,iBAAiB5F,KAAK6E,OAAAA,EACxCI,IAAS,UAAUjF,KAAK4F,iBAAiB5F,KAAK4E,MAAAA,CAAAA,CAAAA;AAAAA;AAAAA,GAI3D,CAAA,EA1HIZ,EAAA,CADHC,EAAAA,SAAS,CAAEG,KAAMC,QAASH,QAAAA,EAAS,CAAA,CAAA,EArChBM,EAsChBL,UAAA,QAAA,CAAA,EAeAH,EAAA,CADHC,EAAAA,SAAS,CAAEG,KAAMsC,MAAOxC,QAAAA,EAAS,CAAA,CAAA,EApDdM,EAqDhBL,UAAA,SAAA,CAAA,EASAH,EAAA,CADHC,EAAAA,SAAS,CAAEG,KAAMuC,OAAQzC,QAAAA,EAAS,CAAA,CAAA,EA7DfM,EA8DhBL,UAAA,QAAA,CAAA,EAYJH,EAAA,CAJC4C,wBAAsB,CACtBC,SAAU,2GACVC,QAAAA,EAAS,CAAA,CAAA,EAxEUtC,EA0EpBL,UAAA,QAAA,CAAA,EAGAH,EAAA,CADCC,EAAAA,SAAS,CAAEG,KAAMC,QAASH,QAAAA,EAAS,CAAA,CAAA,EA5EhBM,EA6EpBL,UAAA,OAAA,CAAA,EA7EoBK,EAArBR,EAAA,CADCO,EAAAA,cAAc,gBAAA,CAAA,EACMC,CAAAA,kMCcd,MAAMuC,EAAN,MAAMA,UAA2BpH,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CA8EvD,CAAA,CAAA,cACCE,MAAAA,EAxCDE,KAAAC,MAAgB,GAGhBD,KAAQgH,UAAAA,GAcRhH,KAAAE,KAAe,GAIfF,KAAAiH,UAAAA,GAIAjH,KAAAK,YAIAL,KAAAM,SAAAA,GAGAN,KAAQO,OAAS,IAAIC,EAAAA,gBAAAA,IACrBR,KAAQS,SAAW,IAAID,EAAAA,kBAAyB,EAChDR,KAAQU,SAAW,IAAIF,EAAAA,kBAAyB,EAyChDR,KAAQa,YAAc,IAAA,CACjBb,KAAKK,UAITL,KAAKiC,cACJ,IAAIC,YAAY,SAAU,CACzBC,OAAQ,CAAElC,MAAOD,KAAKC,MAAOkG,UAAWnG,KAAKgH,SAAAA,EAC7C5E,WACAC,SAAAA,EAAU,CAAA,CAAA,CAAA,EAKbrC,KAAQkH,aAAgBpG,GAAAA,CACnBd,KAAKK,WAETS,EAAEuF,kBAGFrG,KAAKiC,cACJ,IAAIC,YAAY,SAAU,CACzBC,OAAQ,CAAElC,MAAOD,KAAKC,OACtBmC,QAAAA,GACAC,SAAAA,EAAU,CAAA,CAAA,EAAA,EAKbrC,KAAQsC,cAAiBxB,GAAAA,CACpBd,KAAKK,UAELS,EAAEyB,MAAQ,SAAWzB,EAAEyB,MAAQ,MAClCzB,EAAE0B,eAAAA,EAEFxC,KAAKiC,cACJ,IAAIC,YAAY,SAAU,CACzBC,OAAQ,CAAElC,MAAOD,KAAKC,MAAOkG,SAAAA,CAAWnG,KAAKgH,SAAAA,EAC7C5E,QAAAA,GACAC,SAAAA,QAMJrC,KAAQmH,iBAAmB,KAC1BnH,KAAKO,OAAOkC,OAAK,CAAA,EAGlBzC,KAAQoH,iBAAmB,IAAA,CAC1BpH,KAAKO,OAAOkC,KAAAA,EAAK,EACjBzC,KAAKS,SAASgC,KAAAA,EAAK,CAAA,EAGpBzC,KAAQqH,gBAAkB,KACzBrH,KAAKS,SAASgC,OAAK,CAAA,EAGpBzC,KAAQsH,cAAgB,IAAA,CACvBtH,KAAKS,SAASgC,KAAAA,KAGfzC,KAAQ6C,YAAc,IAAA,CACrB7C,KAAKU,SAAS+B,KAAAA,EAAK,CAAA,EAGpBzC,KAAQ8C,WAAa,KACpB9C,KAAKU,SAAS+B,OAAK,CAAA,EArGnB,GAAA,CACCzC,KAAKuH,UAAYvH,KAAKwH,gBAAAA,CACvB,OACCxH,KAAKuH,UAAAA,MACN,CACD,CAxCA,IAAA,UAAIpB,CACH,OAAOnG,KAAKgH,SACb,CACA,IAAA,SAAa/G,EAAAA,CACZ,MAAMwH,EAAWzH,KAAKgH,UACtBhH,KAAKgH,UAAY/G,EACjBD,KAAK0H,cAAc,WAAYD,EAChC,CA0CA,IAAA,OACC,OAAOzH,KAAKuH,WAAWI,IACxB,CAEA,mBAAA5E,CACCjD,MAAMiD,kBAAAA,EAINC,gBAAc,CACbhD,KAAKO,OACLP,KAAKS,SACLT,KAAKU,QAAAA,CAAAA,EACHuC,KAGFC,EAAAA,UAAUlD,KAAKmD,aAAAA,CAAAA,EACdC,UAAAA,CACH,CAwEU,QAAAC,CACT,MAAMuE,EAAc,CACnB,iBACA,eAAA,GACA,QAAA,GAEA,gBACA,WAAA,GACA,iBAAA,CAAmB5H,KAAKK,SACxB,iBAAA,GAEA,eAAA,GACA,cAAA,GACA,UAAA,GACA,iBACAwH,OAAAA,GACArE,SAAAA,GACA,eAAA,GAGA,yBAA0BxD,KAAKgH,UAC/B,6BAA8BhH,KAAKgH,UACnC,6BAA8BhH,KAAKgH,UACnC,uBAAA,CAAyBhH,KAAKgH,UAC9B,mBAAoBhH,KAAKgH,UACzB,0BAA2BhH,KAAKgH,UAGhC,sBAAuBhH,KAAKgH,WAAAA,CAAchH,KAAKK,SAC/C,mCAAoCL,KAAKgH,WAAAA,CAAchH,KAAKK,SAG5D,wBAAyBL,KAAKK,SAG9B,wBAAA,CAA0BL,KAAKK,SAC/B,0BAAA,CAA4BL,KAAKK,SACjC,iCAAA,CAAmCL,KAAKK,SACxC,wCAAA,CAA0CL,KAAKK,SAG/C,YAAaL,KAAKM,UAAAA,CAAaN,KAAKK,SACpC,kBAAmBL,KAAKM,UAAAA,CAAaN,KAAKK,SAG1C,uDAAwDL,KAAKK,SAC7D,qBAAsBL,KAAKK,QAAAA,EAG5B,OAAOoD,EAAAA;AAAAA;AAAAA,YAEGzD,KAAK0D,SAASkE,CAAAA,CAAAA;AAAAA,aACb5H,KAAKa,WAAAA;AAAAA,eACHb,KAAKsC,aAAAA;AAAAA,kBACFtC,KAAKmH,gBAAAA;AAAAA,kBACLnH,KAAKoH,gBAAAA;AAAAA,iBACNpH,KAAKqH,eAAAA;AAAAA,eACPrH,KAAKsH,aAAAA;AAAAA,aACPtH,KAAK6C,WAAAA;AAAAA,YACN7C,KAAK8C,UAAAA;AAAAA,gBACD9C,KAAKK,QAAAA;AAAAA,mBACFL,KAAKgH,UAAY,OAAS,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAKvCc,EAAAA,KACD9H,KAAKgH,WAAahH,KAAKE,MAAQF,KAAK+H,kBAAkB7C,OAAS,EAC/D,IAAMzB,EAAAA;AAAAA;AAAAA,SAEFzD,KAAKgH,UAAYvD,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,SAIfzD,KAAKE,KAAOuD,EAAAA;AAAAA;AAAAA,WAEZzD,KAAKE,IAAAA;AAAAA;AAAAA,SAELuD,EAAAA;AAAAA;AAAAA;;;;;;;;MAWLzD,KAAKiH,UAAYxD,EAAAA;AAAAA;AAAAA;AAAAA,eAGRzD,KAAKkH,YAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAQZ,EAAA;AAAA;AAAA,GAGP,CAAA,EAxMAlH,EAAiB6D,kBAAoB,CAAA,GACjCC,EAAAA,WAAWD,kBACdE,iBAAgB,EAGjB/D,EAAOgI,eAAAA,GA5FD,IAAMjB,EAANkB,EA0SP,GAnQCjE,EAAA,CADCC,EAAAA,SAAS,CAAEG,KAAMuC,OAAQzC,QAAAA,EAAS,CAAA,CAAA,EAtCvB6C,EAuCZ5C,UAAA,QAAA,GAMIH,EAAA,CADHC,EAAAA,SAAS,CAAEG,KAAMC,QAASH,UAAS,CAAA,CAAA,EA5CxB6C,EA6CR5C,UAAA,WAAA,GAWJH,EAAA,CADCC,EAAAA,SAAS,CAAEG,KAAMuC,OAAQzC,UAAS,CAAA,CAAA,EAvDvB6C,EAwDZ5C,UAAA,OAAA,CAAA,EAIAH,EAAA,CADCC,EAAAA,SAAS,CAAEG,KAAMC,QAASH,UAAS,CAAA,CAAA,EA3DxB6C,EA4DZ5C,UAAA,YAAA,GAIAH,EAAA,CADCC,EAAAA,SAAS,CAAEG,KAAMC,QAASH,QAAAA,EAAS,CAAA,CAAA,EA/DxB6C,EAgEZ5C,UAAA,WAAA,CAAA,EAIAH,EAAA,CADCC,EAAAA,SAAS,CAAEG,KAAMC,QAASH,QAAAA,MAnEf6C,EAoEZ5C,UAAA,WAAA,CAAA,EAQyCH,EAAA,CAAxC4C,wBAAsB,CAAEsB,KAAM,UA5EnBnB,EA4E6B5C,UAAA,mBAAA,CAAA,EAwNrCgE,eAAeC,IAAI,sBAAA,GACvBD,eAAeE,OAAO,uBAAwBtB,CAAAA,EAAAA,CAK1CoB,eAAeC,IAAI,eAAA,EAAkB,CACzC,MAAME,UAA2BvB,CAAAA,CAAAA,CACjCoB,eAAeE,OAAO,gBAAiBC,CAAAA,CACxC,iMCnTaC,QAAAA,uBAAN,cAAqC5I,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAArD,CAAA,CAAA,aAAAC,CAAAC,MAAAA,GAAAC,SAAAA,EAmDuBC,KAAAC,MAAQ,GAGRD,KAAAE,KAAO,GAGPF,KAAAG,KAAO,GAGPH,KAAAI,OAAS,GAGMJ,KAAAK,SAAAA,GAGAL,KAAAM,SAAAA,GAG5CN,KAAQO,OAAS,IAAIC,EAAAA,gBAAAA,EAAyB,EAC9CR,KAAQS,SAAW,IAAID,EAAAA,gBAAAA,EAAyB,EAChDR,KAAQU,SAAW,IAAIF,EAAAA,gBAAAA,EAAyB,EAGvCR,KAAQW,QAAuD,CAAA,EAIxEX,KAAQY,aAAe,EAmBvBZ,KAAQa,YAAeC,IACtB,GAAId,KAAKK,SAAU,OAGnB,MAAMU,EAASf,KAAKgB,YAAYC,cAAc,QAAA,EAC9C,GAAIF,EAAQ,CACX,MAAMG,EAAOH,EAAOI,sBAAAA,EACdC,EAAIN,EAAEO,QAAUH,EAAKI,KACrBC,EAAIT,EAAEU,QAAUN,EAAKO,IACrBC,EAAK1B,KAAKY,eAEhBZ,KAAKW,QAAU,CAAA,GAAIX,KAAKW,QAAS,CAAES,EAAAA,EAAGG,EAAAA,EAAGG,GAAAA,CAAAA,CAAAA,EAGzCC,WAAW,IAAA,CACV3B,KAAKW,QAAUX,KAAKW,QAAQiB,OAAOC,GAAKA,EAAEH,KAAOA,CAAAA,CAAAA,EAC/C,GAAA,CACJ,CAGI1B,KAAKG,OACJH,KAAKI,SAAW,SACnB0B,OAAOC,KAAK/B,KAAKG,KAAM,QAAA,EAEvB2B,OAAOE,SAAS7B,KAAOH,KAAKG,MAK9BH,KAAKiC,cAAc,IAAIC,YAAY,SAAU,CAC5CC,OAAQ,CAAElC,MAAOD,KAAKC,KAAAA,EACtBmC,WACAC,SAAAA,EAAU,CAAA,CAAA,CAAA,EAIZrC,KAAQsC,cAAiBxB,GAAAA,CACxB,GAAA,CAAId,KAAKK,WAELS,EAAEyB,MAAQ,SAAWzB,EAAEyB,MAAQ,KAAK,CACvCzB,EAAE0B,eAAAA,EACFxC,KAAKS,SAASgC,KAAAA,EAAK,EAGnB,MAAMC,EAAa,IAAIC,WAAW,QAAS,CAC1CP,QAAAA,GACAQ,WAAAA,GACAvB,QAAS,EACTG,QAAS,CAAA,CAAA,EAEVxB,KAAKa,YAAY6B,CAAAA,EAEjBf,WAAW,IAAM3B,KAAKS,SAASgC,OAAK,EAAQ,GAAA,CAC7C,CAAA,EAGDzC,KAAQ6C,YAAc,IAAA,CACrB7C,KAAKU,SAAS+B,KAAAA,EAAK,CAAA,EAGpBzC,KAAQ8C,WAAa,IAAA,CACpB9C,KAAKU,SAAS+B,KAAAA,IACf,CA/EA,mBAAAM,CACCjD,MAAMiD,kBAAAA,EAKNC,gBAAc,CACbhD,KAAKO,OACLP,KAAKS,SACLT,KAAKU,QAAAA,CAAAA,EACHuC,KAGFC,EAAAA,UAAUlD,KAAKmD,aAAAA,CAAAA,EACdC,UAAAA,CACH,CAkEU,QAAAC,CACT,MAAMC,EAAAA,CAAAA,CAAYtD,KAAKE,KAEjBqD,EAAU,CACfC,SAAAA,GACA,cAAA,GACA,eAAA,GACA,QAAA,GACA,MAAA,GACA,eAAA,GACA,eAAA,GACA,kBAAmBxD,KAAKK,SACxB,iBAAA,GACA,eAAA,GACA,cAAA,GACA,qBACAwH,OAAAA,GAGA,OAAQvE,EACR,OAAA,CAASA,EACT,OAAA,GAGA,0BAAA,GACA,yBAAA,GACA,iBAAA,GAKA,wBAAA,CAA0BtD,KAAKK,SAC/B,0BAAA,CAA4BL,KAAKK,SACjC,gCAAA,CAAkCL,KAAKK,SACvC,iCAAA,CAAmCL,KAAKK,SAGxC,aAAcL,KAAKK,SACnB,qBAAsBL,KAAKK,QAAAA,EAG5B,OAAOoD,EAAAA;AAAAA;AAAAA;AAAAA,YAGGC,EAAAA,SAASH,CAAAA,CAAAA;AAAAA,gBACLvD,KAAKK,QAAAA;AAAAA,aACRL,KAAKa,WAAAA;AAAAA,eACHb,KAAKsC,aAAAA;AAAAA,kBACF,IAAMtC,KAAKO,OAAOkC,KAAAA,EAAK,CAAA;AAAA,kBACvB,IAAMzC,KAAKO,OAAOkC,KAAAA,EAAK,CAAA;AAAA,iBACxB,IAAMzC,KAAKS,SAASgC,KAAAA,EAAK,CAAA;AAAA,eAC3B,IAAMzC,KAAKS,SAASgC,KAAAA,EAAK,CAAA;AAAA,aAC3BzC,KAAK6C,WAAAA;AAAAA,YACN7C,KAAK8C,UAAAA;AAAAA,eACF9C,KAAKK,SAAW,KAAO,GAAA;AAAA;AAAA,oBAElBL,KAAKK,QAAAA;AAAAA,iBACRL,KAAKC,KAAAA;AAAAA;AAAAA,MAEhBD,KAAKE,KAAOuD,EAAAA;AAAAA,mDACiCzD,KAAKE,IAAAA;AAAAA,MAChD,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMFF,KAAKW,QAAQgD,IAAIC,GAAUH,EAAAA;AAAAA;AAAAA;AAAAA,qBAGZG,EAAOxC,aAAawC,EAAOrC,CAAAA;AAAAA;AAAAA;;;;;GAQ/C,CAAA,EA/OYgH,QAAAA,uBA4EK1E,kBAAoB,CAAA,GAAKC,EAAAA,WAAWD,kBAAmBE,eAAAA,EAAgB,EAzB3DC,EAAA,CAA5BC,WAAS,CAAEC,QAAAA,EAAS,CAAA,CAAA,EAnDTqE,+BAmDiBpE,UAAA,QAAA,CAAA,EAGAH,EAAA,CAA5BC,WAAS,CAAEC,QAAAA,EAAS,CAAA,CAAA,EAtDTqE,+BAsDiBpE,UAAA,OAAA,CAAA,EAGAH,EAAA,CAA5BC,WAAS,CAAEC,UAAS,CAAA,CAAA,EAzDTqE,+BAyDiBpE,UAAA,OAAA,CAAA,EAGAH,EAAA,CAA5BC,WAAS,CAAEC,QAAAA,EAAS,CAAA,CAAA,EA5DTqE,+BA4DiBpE,UAAA,SAAA,CAAA,EAGeH,EAAA,CAA3CC,EAAAA,SAAS,CAAEG,KAAMC,QAASH,QAAAA,MA/DfqE,+BA+DgCpE,UAAA,WAAA,CAAA,EAGAH,EAAA,CAA3CC,EAAAA,SAAS,CAAEG,KAAMC,QAASH,QAAAA,MAlEfqE,+BAkEgCpE,UAAA,WAAA,CAAA,EAQ3BH,EAAA,CAAhBM,EAAAA,MAAAA,CAAAA,EA1EWiE,+BA0EKpE,UAAA,UAAA,CAAA,EA1ELoE,QAAAA,uBAANvE,EAAA,CADNO,EAAAA,cAAc,0BAAA,CAAA,EACFgE"}
@@ -1,17 +1,17 @@
1
- import { T as w } from "./tailwind.mixin-BbF53_0W.js";
2
- import { css as $, html as r, LitElement as k } from "lit";
3
- import { property as a, state as E, customElement as _, queryAssignedElements as S } from "lit/decorators.js";
4
- import { classMap as O } from "lit/directives/class-map.js";
5
- import { BehaviorSubject as c, combineLatest as g } from "rxjs";
6
- import { takeUntil as x, distinctUntilChanged as C, debounceTime as B } from "rxjs/operators";
1
+ import { T as w } from "./tailwind.mixin-CZKT1dUr.js";
2
+ import { css as g, html as r, LitElement as x } from "lit";
3
+ import { property as l, state as O, customElement as k, queryAssignedElements as S } from "lit/decorators.js";
4
+ import { classMap as B } from "lit/directives/class-map.js";
5
+ import { BehaviorSubject as c, combineLatest as _ } from "rxjs";
6
+ import { takeUntil as y, distinctUntilChanged as C, debounceTime as E } from "rxjs/operators";
7
7
  import "lit/directives/style-map.js";
8
- import { $ as M } from "./litElement.mixin-DvxIa-6i.js";
8
+ import { $ as M } from "./litElement.mixin-B0Rsd4Km.js";
9
9
  import { when as R } from "lit/directives/when.js";
10
10
  var D = Object.defineProperty, j = Object.getOwnPropertyDescriptor, u = (t, e, s, o) => {
11
- for (var l, i = o > 1 ? void 0 : o ? j(e, s) : e, n = t.length - 1; n >= 0; n--) (l = t[n]) && (i = (o ? l(e, s, i) : l(i)) || i);
11
+ for (var n, i = o > 1 ? void 0 : o ? j(e, s) : e, a = t.length - 1; a >= 0; a--) (n = t[a]) && (i = (o ? n(e, s, i) : n(i)) || i);
12
12
  return o && i && D(e, s, i), i;
13
13
  };
14
- let d = class extends w($`
14
+ let d = class extends w(g`
15
15
  :host {
16
16
  display: inline-block;
17
17
  outline: none;
@@ -66,9 +66,9 @@ let d = class extends w($`
66
66
  if (this.disabled) return;
67
67
  const e = this.shadowRoot?.querySelector("button");
68
68
  if (e) {
69
- const s = e.getBoundingClientRect(), o = t.clientX - s.left, l = t.clientY - s.top, i = this.nextRippleId++;
70
- this.ripples = [...this.ripples, { x: o, y: l, id: i }], setTimeout(() => {
71
- this.ripples = this.ripples.filter((n) => n.id !== i);
69
+ const s = e.getBoundingClientRect(), o = t.clientX - s.left, n = t.clientY - s.top, i = this.nextRippleId++;
70
+ this.ripples = [...this.ripples, { x: o, y: n, id: i }], setTimeout(() => {
71
+ this.ripples = this.ripples.filter((a) => a.id !== i);
72
72
  }, 600);
73
73
  }
74
74
  this.href && (this.target === "_blank" ? window.open(this.href, "_blank") : window.location.href = this.href), this.dispatchEvent(new CustomEvent("action", { detail: { value: this.value }, bubbles: !0, composed: !0 }));
@@ -85,14 +85,14 @@ let d = class extends w($`
85
85
  };
86
86
  }
87
87
  connectedCallback() {
88
- super.connectedCallback(), g([this.hover$, this.pressed$, this.focused$]).pipe(x(this.disconnecting)).subscribe();
88
+ super.connectedCallback(), _([this.hover$, this.pressed$, this.focused$]).pipe(y(this.disconnecting)).subscribe();
89
89
  }
90
90
  render() {
91
91
  const t = !!this.icon, e = { relative: !0, "inline-flex": !0, "items-center": !0, "gap-2": !0, "h-8": !0, "min-h-[32px]": !0, "rounded-full": !0, "cursor-pointer": !this.disabled, "transition-all": !0, "duration-200": !0, "select-none": !0, "overflow-hidden": !0, "pl-2": t, "pl-4": !t, "pr-4": !0, "bg-surface-containerLow": !0, "text-surface-onVariant": !0, "shadow-sm": this.elevated && !this.disabled, "hover:shadow-md": this.elevated && !this.disabled, "focus-visible:outline": !this.disabled, "focus-visible:outline-2": !this.disabled, "focus-visible:outline-primary": !this.disabled, "focus-visible:outline-offset-2": !this.disabled, "opacity-38": this.disabled, "cursor-not-allowed": this.disabled };
92
92
  return r`
93
93
  <button
94
94
  type="button"
95
- class=${O(e)}
95
+ class=${B(e)}
96
96
  ?disabled=${this.disabled}
97
97
  @click=${this.handleClick}
98
98
  @keydown=${this.handleKeyDown}
@@ -128,26 +128,38 @@ let d = class extends w($`
128
128
  `;
129
129
  }
130
130
  };
131
- d.shadowRootOptions = { ...k.shadowRootOptions, delegatesFocus: !0 }, u([a({ reflect: !0 })], d.prototype, "value", 2), u([a({ reflect: !0 })], d.prototype, "icon", 2), u([a({ reflect: !0 })], d.prototype, "href", 2), u([a({ reflect: !0 })], d.prototype, "target", 2), u([a({ type: Boolean, reflect: !0 })], d.prototype, "disabled", 2), u([a({ type: Boolean, reflect: !0 })], d.prototype, "elevated", 2), u([E()], d.prototype, "ripples", 2), d = u([_("schmancy-assist-chip")], d);
132
- var F = Object.defineProperty, P = Object.getOwnPropertyDescriptor, m = (t, e, s, o) => {
133
- for (var l, i = o > 1 ? void 0 : o ? P(e, s) : e, n = t.length - 1; n >= 0; n--) (l = t[n]) && (i = (o ? l(e, s, i) : l(i)) || i);
131
+ d.shadowRootOptions = { ...x.shadowRootOptions, delegatesFocus: !0 }, u([l({ reflect: !0 })], d.prototype, "value", 2), u([l({ reflect: !0 })], d.prototype, "icon", 2), u([l({ reflect: !0 })], d.prototype, "href", 2), u([l({ reflect: !0 })], d.prototype, "target", 2), u([l({ type: Boolean, reflect: !0 })], d.prototype, "disabled", 2), u([l({ type: Boolean, reflect: !0 })], d.prototype, "elevated", 2), u([O()], d.prototype, "ripples", 2), d = u([k("schmancy-assist-chip")], d);
132
+ var F = Object.defineProperty, P = Object.getOwnPropertyDescriptor, v = (t, e, s, o) => {
133
+ for (var n, i = o > 1 ? void 0 : o ? P(e, s) : e, a = t.length - 1; a >= 0; a--) (n = t[a]) && (i = (o ? n(e, s, i) : n(i)) || i);
134
134
  return o && i && F(e, s, i), i;
135
135
  };
136
- let v = class extends M($`
137
- :host{
138
- display:block;
136
+ let f = class extends M(g`
137
+ :host {
138
+ display: block;
139
+ }
140
+
141
+ :host([wrap]) section {
142
+ flex-wrap: wrap;
139
143
  }
140
144
 
141
- .scrollbar-hide {
145
+ :host(:not([wrap])) section {
146
+ overflow-x: auto;
142
147
  -ms-overflow-style: none; /* IE and Edge */
143
148
  scrollbar-width: none; /* Firefox */
144
149
  }
145
- .scrollbar-hide::-webkit-scrollbar {
150
+
151
+ :host(:not([wrap])) section::-webkit-scrollbar {
146
152
  display: none; /* Chrome, Safari, and Opera */
147
153
  }
154
+
155
+ section {
156
+ display: flex;
157
+ align-items: center;
158
+ gap: 0.5rem;
159
+ }
148
160
  `) {
149
161
  constructor() {
150
- super(...arguments), this.value$ = new c(""), this.values$ = new c([]), this._value = "", this._values = [], this._multi = !1, this._valueSet = !1, this._valuesSet = !1, this.wrap = !1;
162
+ super(...arguments), this.value$ = new c(""), this.values$ = new c([]), this._value = "", this._values = [], this._multi = !1, this.wrap = !1;
151
163
  }
152
164
  get multi() {
153
165
  return this._multi;
@@ -156,60 +168,66 @@ let v = class extends M($`
156
168
  this._multi = t;
157
169
  }
158
170
  get mode() {
159
- return this._valuesSet ? "multi" : this._valueSet ? "single" : this.hasAttribute("values") ? "multi" : this.hasAttribute("value") ? "single" : this._multi === !0 ? "multi" : "none";
171
+ return this._values.length > 0 || this.hasAttribute("values") ? "multi" : this._value || this.hasAttribute("value") ? "single" : this._multi ? "multi" : "none";
160
172
  }
161
173
  get values() {
162
174
  return this._values;
163
175
  }
164
176
  set values(t) {
165
- this._values = t || [], this._valuesSet = !0, this.values$.next(this._values);
177
+ this._values = t || [], this.values$.next(this._values);
166
178
  }
167
179
  get value() {
168
180
  return this._value;
169
181
  }
170
182
  set value(t) {
171
- this._value = t || "", this._valueSet = !0, this.value$.next(this._value);
183
+ this._value = t || "", this.value$.next(this._value);
172
184
  }
173
185
  connectedCallback() {
174
- super.connectedCallback(), this.value$.next(this._value), this.values$.next(this._values), g([this.value$.pipe(C()), this.values$.pipe(C((t, e) => t.length === e.length && t.every((s, o) => s === e[o])))]).pipe(B(0), x(this.disconnecting)).subscribe(([t, e]) => {
175
- this.updateChipStates(this.mode, t, e);
176
- });
186
+ super.connectedCallback(), this.value$.next(this._value), this.values$.next(this._values);
187
+ const t = this.mode;
188
+ t === "multi" ? this.values$.pipe(C((e, s) => e.length === s.length && e.every((o, n) => o === s[n])), E(0), y(this.disconnecting)).subscribe((e) => this.updateChipStates(e)) : t === "single" && this.value$.pipe(C(), E(0), y(this.disconnecting)).subscribe((e) => this.updateChipStates(e));
177
189
  }
178
- updateChipStates(t, e, s) {
179
- this.chips && t !== "none" && this.chips.forEach((o) => {
180
- if ("value" in o && "selected" in o) {
181
- const l = o;
182
- t === "multi" ? l.selected = s.length > 0 && s.includes(l.value) : t === "single" && (l.selected = e !== "" && e === l.value);
183
- }
190
+ updateChipStates(t) {
191
+ if (!this.chips) return;
192
+ const e = this.mode;
193
+ e !== "none" && this.chips.forEach((s) => {
194
+ if (!("value" in s) || !("selected" in s)) return;
195
+ const o = s;
196
+ if (e === "multi") {
197
+ const n = t;
198
+ o.selected = n.length > 0 && n.includes(o.value);
199
+ } else o.selected = t !== "" && t === o.value;
184
200
  });
185
201
  }
186
- async change(t) {
187
- if (t.preventDefault(), t.stopPropagation(), this.mode === "none") return;
188
- const { value: e, selected: s } = t.detail;
189
- this.mode === "multi" ? s ? this._values.includes(e) || (this._values = [...this._values, e], this.values$.next(this._values)) : (this._values = this._values.filter((o) => o !== e), this.values$.next(this._values)) : this.mode === "single" && (this._value = s ? e : "", this.value$.next(this._value)), this.requestUpdate(), this.dispatchEvent(new CustomEvent("change", { detail: this.mode === "multi" ? this._values : this._value, bubbles: !0 }));
202
+ change(t) {
203
+ t.preventDefault(), t.stopPropagation();
204
+ const e = this.mode;
205
+ if (e === "none") return;
206
+ const { value: s, selected: o } = t.detail;
207
+ e === "multi" ? (this._values = o ? [.../* @__PURE__ */ new Set([...this._values, s])] : this._values.filter((n) => n !== s), this.values$.next(this._values)) : (this._value = o ? s : "", this.value$.next(this._value)), this.dispatchEvent(new CustomEvent("change", { detail: e === "multi" ? this._values : this._value, bubbles: !0 }));
190
208
  }
191
209
  firstUpdated(t) {
192
- super.firstUpdated(t), this.updateChipStates(this.mode, this._value, this._values);
210
+ super.firstUpdated(t);
211
+ const e = this.mode;
212
+ e === "multi" ? this.updateChipStates(this._values) : e === "single" && this.updateChipStates(this._value);
193
213
  }
194
214
  render() {
195
- const t = this.classMap({ "flex auto-cols-max": !0, "items-center": !0, "flex-wrap": this.wrap, "overflow-x-auto": !this.wrap, "scrollbar-hide": !this.wrap, "gap-2": !0 });
196
215
  return r`
197
- <section class=${t} @change=${this.change}>
198
- <slot
199
- @slotchange=${() => {
200
- this.updateChipStates(this.mode, this._value, this._values);
201
- }}
202
- ></slot>
216
+ <section @change=${this.change}>
217
+ <slot @slotchange=${() => {
218
+ const t = this.mode;
219
+ t === "multi" ? this.updateChipStates(this._values) : t === "single" && this.updateChipStates(this._value);
220
+ }}></slot>
203
221
  </section>
204
222
  `;
205
223
  }
206
224
  };
207
- m([a({ type: Boolean, reflect: !0 })], v.prototype, "multi", 1), m([a({ type: Array, reflect: !0 })], v.prototype, "values", 1), m([a({ type: String, reflect: !0 })], v.prototype, "value", 1), m([S({ selector: "schmancy-chip, schmancy-filter-chip, schmancy-assist-chip, schmancy-input-chip, schmancy-suggestion-chip", flatten: !0 })], v.prototype, "chips", 2), m([a({ type: Boolean, reflect: !0 })], v.prototype, "wrap", 2), v = m([_("schmancy-chips")], v);
208
- var U = Object.defineProperty, I = Object.getOwnPropertyDescriptor, f = (t, e, s, o) => {
209
- for (var l, i = o > 1 ? void 0 : o ? I(e, s) : e, n = t.length - 1; n >= 0; n--) (l = t[n]) && (i = (o ? l(e, s, i) : l(i)) || i);
210
- return o && i && U(e, s, i), i;
225
+ v([l({ type: Boolean, reflect: !0 })], f.prototype, "multi", 1), v([l({ type: Array, reflect: !0 })], f.prototype, "values", 1), v([l({ type: String, reflect: !0 })], f.prototype, "value", 1), v([S({ selector: "schmancy-chip, schmancy-filter-chip, schmancy-assist-chip, schmancy-input-chip, schmancy-suggestion-chip", flatten: !0 })], f.prototype, "chips", 2), v([l({ type: Boolean, reflect: !0 })], f.prototype, "wrap", 2), f = v([k("schmancy-chips")], f);
226
+ var I = Object.defineProperty, L = Object.getOwnPropertyDescriptor, m = (t, e, s, o) => {
227
+ for (var n, i = o > 1 ? void 0 : o ? L(e, s) : e, a = t.length - 1; a >= 0; a--) (n = t[a]) && (i = (o ? n(e, s, i) : n(i)) || i);
228
+ return o && i && I(e, s, i), i;
211
229
  };
212
- const y = class y extends w($`
230
+ const $ = class $ extends w(g`
213
231
  :host {
214
232
  display: inline-block;
215
233
  outline: none;
@@ -218,7 +236,8 @@ const y = class y extends w($`
218
236
 
219
237
  :host([disabled]) {
220
238
  pointer-events: none;
221
- opacity: 0.5;
239
+ /* M3 disabled state opacity */
240
+ opacity: var(--schmancy-sys-state-disabled-opacity);
222
241
  }
223
242
 
224
243
  button {
@@ -282,10 +301,10 @@ const y = class y extends w($`
282
301
  return this.internals?.form;
283
302
  }
284
303
  connectedCallback() {
285
- super.connectedCallback(), g([this.hover$, this.pressed$, this.focused$]).pipe(x(this.disconnecting)).subscribe();
304
+ super.connectedCallback(), _([this.hover$, this.pressed$, this.focused$]).pipe(y(this.disconnecting)).subscribe();
286
305
  }
287
306
  render() {
288
- const e = { "inline-flex": !0, "items-center": !0, "gap-2": !0, "rounded-full": !0, "h-8 px-4": !0, "cursor-pointer": !this.disabled, "transition-all": !0, "duration-200": !0, "select-none": !0, "text-sm": !0, "font-medium": !0, border: !0, relative: !0, "min-h-[32px]": !0, "bg-secondary-container": this._selected, "text-secondary-onContainer": this._selected, "border-secondary-container": this._selected, "bg-surface-container": !this._selected, "text-surface-on": !this._selected, "border-outline-variant": !this._selected, "hover:brightness-95": this._selected && !this.disabled, "hover:bg-surface-containerHigh": !this._selected && !this.disabled, "active:scale-95": !this.disabled, "focus-visible:outline": !this.disabled, "focus-visible:outline-2": !this.disabled, "focus-visible:outline-offset-2": !this.disabled, "focus-visible:outline-primary-default": !this.disabled, "shadow-md": this.elevated && !this.disabled, "hover:shadow-lg": this.elevated && !this.disabled, "opacity-50": this.disabled, "cursor-not-allowed": this.disabled };
307
+ const e = { "inline-flex": !0, "items-center": !0, "gap-2": !0, "rounded-lg": !0, "h-8 px-4": !0, "cursor-pointer": !this.disabled, "transition-all": !0, "duration-200": !0, "select-none": !0, "text-sm": !0, "font-medium": !0, border: !0, relative: !0, "min-h-[32px]": !0, "bg-secondary-container": this._selected, "text-secondary-onContainer": this._selected, "border-secondary-container": this._selected, "bg-surface-container": !this._selected, "text-surface-on": !this._selected, "border-outline-variant": !this._selected, "hover:brightness-95": this._selected && !this.disabled, "hover:bg-surface-container-high": !this._selected && !this.disabled, "active:brightness-90": !this.disabled, "focus-visible:outline": !this.disabled, "focus-visible:outline-2": !this.disabled, "focus-visible:outline-offset-2": !this.disabled, "focus-visible:outline-primary-default": !this.disabled, "shadow-md": this.elevated && !this.disabled, "hover:shadow-lg": this.elevated && !this.disabled, "opacity-[var(--schmancy-sys-state-disabled-opacity)]": this.disabled, "cursor-not-allowed": this.disabled };
289
308
  return r`
290
309
  <button
291
310
  class=${this.classMap(e)}
@@ -325,7 +344,7 @@ const y = class y extends w($`
325
344
  <!-- Remove button (if removable) -->
326
345
  ${this.removable ? r`
327
346
  <button
328
- class="ml-1 -mr-1 p-0.5 rounded-full hover:bg-surface-containerHighest transition-colors"
347
+ class="ml-1 -mr-1 p-0.5 rounded-full hover:bg-surface-container-highest transition-colors duration-200"
329
348
  @click=${this.handleRemove}
330
349
  aria-label="Remove filter"
331
350
  tabindex="-1"
@@ -339,18 +358,18 @@ const y = class y extends w($`
339
358
  `;
340
359
  }
341
360
  };
342
- y.shadowRootOptions = { ...k.shadowRootOptions, delegatesFocus: !0 }, y.formAssociated = !0;
343
- let h = y;
344
- if (f([a({ type: String, reflect: !0 })], h.prototype, "value", 2), f([a({ type: Boolean, reflect: !0 })], h.prototype, "selected", 1), f([a({ type: String, reflect: !0 })], h.prototype, "icon", 2), f([a({ type: Boolean, reflect: !0 })], h.prototype, "removable", 2), f([a({ type: Boolean, reflect: !0 })], h.prototype, "disabled", 2), f([a({ type: Boolean, reflect: !0 })], h.prototype, "elevated", 2), f([S({ slot: "icon" })], h.prototype, "iconSlotElements", 2), customElements.get("schmancy-filter-chip") || customElements.define("schmancy-filter-chip", h), !customElements.get("schmancy-chip")) {
361
+ $.shadowRootOptions = { ...x.shadowRootOptions, delegatesFocus: !0 }, $.formAssociated = !0;
362
+ let h = $;
363
+ if (m([l({ type: String, reflect: !0 })], h.prototype, "value", 2), m([l({ type: Boolean, reflect: !0 })], h.prototype, "selected", 1), m([l({ type: String, reflect: !0 })], h.prototype, "icon", 2), m([l({ type: Boolean, reflect: !0 })], h.prototype, "removable", 2), m([l({ type: Boolean, reflect: !0 })], h.prototype, "disabled", 2), m([l({ type: Boolean, reflect: !0 })], h.prototype, "elevated", 2), m([S({ slot: "icon" })], h.prototype, "iconSlotElements", 2), customElements.get("schmancy-filter-chip") || customElements.define("schmancy-filter-chip", h), !customElements.get("schmancy-chip")) {
345
364
  class t extends h {
346
365
  }
347
366
  customElements.define("schmancy-chip", t);
348
367
  }
349
- var L = Object.defineProperty, T = Object.getOwnPropertyDescriptor, b = (t, e, s, o) => {
350
- for (var l, i = o > 1 ? void 0 : o ? T(e, s) : e, n = t.length - 1; n >= 0; n--) (l = t[n]) && (i = (o ? l(e, s, i) : l(i)) || i);
351
- return o && i && L(e, s, i), i;
368
+ var T = Object.defineProperty, U = Object.getOwnPropertyDescriptor, b = (t, e, s, o) => {
369
+ for (var n, i = o > 1 ? void 0 : o ? U(e, s) : e, a = t.length - 1; a >= 0; a--) (n = t[a]) && (i = (o ? n(e, s, i) : n(i)) || i);
370
+ return o && i && T(e, s, i), i;
352
371
  };
353
- let p = class extends w($`
372
+ let p = class extends w(g`
354
373
  :host {
355
374
  display: inline-block;
356
375
  outline: none;
@@ -405,9 +424,9 @@ let p = class extends w($`
405
424
  if (this.disabled) return;
406
425
  const e = this.shadowRoot?.querySelector("button");
407
426
  if (e) {
408
- const s = e.getBoundingClientRect(), o = t.clientX - s.left, l = t.clientY - s.top, i = this.nextRippleId++;
409
- this.ripples = [...this.ripples, { x: o, y: l, id: i }], setTimeout(() => {
410
- this.ripples = this.ripples.filter((n) => n.id !== i);
427
+ const s = e.getBoundingClientRect(), o = t.clientX - s.left, n = t.clientY - s.top, i = this.nextRippleId++;
428
+ this.ripples = [...this.ripples, { x: o, y: n, id: i }], setTimeout(() => {
429
+ this.ripples = this.ripples.filter((a) => a.id !== i);
411
430
  }, 600);
412
431
  }
413
432
  this.href && (this.target === "_blank" ? window.open(this.href, "_blank") : window.location.href = this.href), this.dispatchEvent(new CustomEvent("action", { detail: { value: this.value }, bubbles: !0, composed: !0 }));
@@ -424,14 +443,14 @@ let p = class extends w($`
424
443
  };
425
444
  }
426
445
  connectedCallback() {
427
- super.connectedCallback(), g([this.hover$, this.pressed$, this.focused$]).pipe(x(this.disconnecting)).subscribe();
446
+ super.connectedCallback(), _([this.hover$, this.pressed$, this.focused$]).pipe(y(this.disconnecting)).subscribe();
428
447
  }
429
448
  render() {
430
449
  const t = !!this.icon, e = { relative: !0, "inline-flex": !0, "items-center": !0, "gap-2": !0, "h-8": !0, "min-h-[32px]": !0, "rounded-full": !0, "cursor-pointer": !this.disabled, "transition-all": !0, "duration-200": !0, "select-none": !0, "overflow-hidden": !0, border: !0, "pl-2": t, "pl-4": !t, "pr-4": !0, "bg-surface-containerLow": !0, "text-surface-onVariant": !0, "border-outline": !0, "focus-visible:outline": !this.disabled, "focus-visible:outline-2": !this.disabled, "focus-visible:outline-primary": !this.disabled, "focus-visible:outline-offset-2": !this.disabled, "opacity-38": this.disabled, "cursor-not-allowed": this.disabled };
431
450
  return r`
432
451
  <button
433
452
  type="button"
434
- class=${O(e)}
453
+ class=${B(e)}
435
454
  ?disabled=${this.disabled}
436
455
  @click=${this.handleClick}
437
456
  @keydown=${this.handleKeyDown}
@@ -467,10 +486,10 @@ let p = class extends w($`
467
486
  `;
468
487
  }
469
488
  };
470
- p.shadowRootOptions = { ...k.shadowRootOptions, delegatesFocus: !0 }, b([a({ reflect: !0 })], p.prototype, "value", 2), b([a({ reflect: !0 })], p.prototype, "icon", 2), b([a({ reflect: !0 })], p.prototype, "href", 2), b([a({ reflect: !0 })], p.prototype, "target", 2), b([a({ type: Boolean, reflect: !0 })], p.prototype, "disabled", 2), b([a({ type: Boolean, reflect: !0 })], p.prototype, "elevated", 2), b([E()], p.prototype, "ripples", 2), p = b([_("schmancy-suggestion-chip")], p);
489
+ p.shadowRootOptions = { ...x.shadowRootOptions, delegatesFocus: !0 }, b([l({ reflect: !0 })], p.prototype, "value", 2), b([l({ reflect: !0 })], p.prototype, "icon", 2), b([l({ reflect: !0 })], p.prototype, "href", 2), b([l({ reflect: !0 })], p.prototype, "target", 2), b([l({ type: Boolean, reflect: !0 })], p.prototype, "disabled", 2), b([l({ type: Boolean, reflect: !0 })], p.prototype, "elevated", 2), b([O()], p.prototype, "ripples", 2), p = b([k("schmancy-suggestion-chip")], p);
471
490
  export {
472
491
  d as S,
473
492
  h as a,
474
493
  p as b
475
494
  };
476
- //# sourceMappingURL=suggestion-chip-8mpcT2Lk.js.map
495
+ //# sourceMappingURL=suggestion-chip-Cl0cPTKV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestion-chip-Cl0cPTKV.js","sources":["../src/chips/assist-chip.ts","../src/chips/chips.ts","../src/chips/filter-chip.ts","../src/chips/suggestion-chip.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { BehaviorSubject, combineLatest } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\n/**\n * Assist chip component - prompts user actions like opening calendar events or sharing content\n * Pure Schmancy implementation with Tailwind CSS and RxJS state management\n */\n@customElement('schmancy-assist-chip')\nexport class SchmancyAssistChip extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\toutline: none;\n\t\tmin-width:fit-content\n\t}\n\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t}\n\n\t.ripple {\n\t\tposition: absolute;\n\t\tborder-radius: 50%;\n\t\ttransform: scale(0);\n\t\tanimation: ripple 600ms linear;\n\t\tbackground-color: rgba(0, 0, 0, 0.08);\n\t\tpointer-events: none;\n\t}\n\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t/* State layer for M3 hover/focus/pressed states */\n\t.state-layer {\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tborder-radius: inherit;\n\t\tpointer-events: none;\n\t\tbackground-color: currentColor;\n\t\topacity: 0;\n\t\ttransition: opacity 200ms ease;\n\t}\n\n\t:host(:not([disabled])) button:hover .state-layer {\n\t\topacity: 0.08;\n\t}\n\n\t:host(:not([disabled])) button:focus-visible .state-layer {\n\t\topacity: 0.1;\n\t}\n\n\t:host(:not([disabled])) button:active .state-layer {\n\t\topacity: 0.1;\n\t}\n`) {\n\t/** Value identifier for the chip */\n\t@property({ reflect: true }) value = ''\n\n\t/** Optional icon name (Material Symbols) */\n\t@property({ reflect: true }) icon = ''\n\n\t/** Optional href for navigation */\n\t@property({ reflect: true }) href = ''\n\n\t/** Target for navigation (e.g., '_blank') */\n\t@property({ reflect: true }) target = ''\n\n\t/** Disable the chip */\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\n\t/** Elevated style variant - true by default per M3 spec for assist chips */\n\t@property({ type: Boolean, reflect: true }) elevated = true\n\n\t// RxJS state streams\n\tprivate hover$ = new BehaviorSubject<boolean>(false)\n\tprivate pressed$ = new BehaviorSubject<boolean>(false)\n\tprivate focused$ = new BehaviorSubject<boolean>(false)\n\n\t// UI state - only ripples needed for rendering\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\n\n\tprotected static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true }\n\n\tprivate nextRippleId = 0\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Stream management for future extensions\n\t\t// Currently, states are handled directly in event handlers\n\t\t// This pipeline can be extended for more complex state interactions\n\t\tcombineLatest([\n\t\t\tthis.hover$,\n\t\t\tthis.pressed$,\n\t\t\tthis.focused$\n\t\t]).pipe(\n\t\t\t// States are managed through event handlers directly\n\t\t\t// This pipeline is kept for potential future state combinations\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\t}\n\n\tprivate handleClick = (e: MouseEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Add ripple effect\n\t\tconst button = this.shadowRoot?.querySelector('button')\n\t\tif (button) {\n\t\t\tconst rect = button.getBoundingClientRect()\n\t\t\tconst x = e.clientX - rect.left\n\t\t\tconst y = e.clientY - rect.top\n\t\t\tconst id = this.nextRippleId++\n\n\t\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t\t// Remove ripple after animation\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t\t}, 600)\n\t\t}\n\n\t\t// Navigate if href is provided\n\t\tif (this.href) {\n\t\t\tif (this.target === '_blank') {\n\t\t\t\twindow.open(this.href, '_blank')\n\t\t\t} else {\n\t\t\t\twindow.location.href = this.href\n\t\t\t}\n\t\t}\n\n\t\t// Dispatch action event\n\t\tthis.dispatchEvent(new CustomEvent('action', {\n\t\t\tdetail: { value: this.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled) return\n\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault()\n\t\t\tthis.pressed$.next(true)\n\n\t\t\t// Simulate click\n\t\t\tconst clickEvent = new MouseEvent('click', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true,\n\t\t\t\tclientX: 0,\n\t\t\t\tclientY: 0\n\t\t\t})\n\t\t\tthis.handleClick(clickEvent)\n\n\t\t\tsetTimeout(() => this.pressed$.next(false), 100)\n\t\t}\n\t}\n\n\tprivate handleFocus = () => {\n\t\tthis.focused$.next(true)\n\t}\n\n\tprivate handleBlur = () => {\n\t\tthis.focused$.next(false)\n\t}\n\n\trender() {\n\t\tconst hasIcon = !!this.icon;\n\n\t\tconst classes = {\n\t\t\t'relative': true,\n\t\t\t'inline-flex': true,\n\t\t\t'items-center': true,\n\t\t\t'gap-2': true,\n\t\t\t'h-8': true, // M3: 32px height\n\t\t\t'min-h-[32px]': true,\n\t\t\t'rounded-full': true,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'transition-all': true,\n\t\t\t'duration-200': true,\n\t\t\t'select-none': true,\n\t\t\t'overflow-hidden': true,\n\n\t\t\t// M3 Padding: 8px with icon, 16px without (leading), 16px trailing\n\t\t\t'pl-2': hasIcon, // 8px with icon\n\t\t\t'pl-4': !hasIcon, // 16px without icon\n\t\t\t'pr-4': true, // 16px trailing\n\n\t\t\t// M3 Colors - assist chips are elevated by default\n\t\t\t'bg-surface-containerLow': true,\n\t\t\t'text-surface-onVariant': true,\n\n\t\t\t// M3: Assist chips elevated by default (shadow-1)\n\t\t\t'shadow-sm': this.elevated && !this.disabled, // shadow-1 for elevation\n\t\t\t'hover:shadow-md': this.elevated && !this.disabled, // elevated on hover\n\n\t\t\t// Focus state\n\t\t\t'focus-visible:outline': !this.disabled,\n\t\t\t'focus-visible:outline-2': !this.disabled,\n\t\t\t'focus-visible:outline-primary': !this.disabled,\n\t\t\t'focus-visible:outline-offset-2': !this.disabled,\n\n\t\t\t// Disabled\n\t\t\t'opacity-38': this.disabled, // M3 disabled opacity\n\t\t\t'cursor-not-allowed': this.disabled\n\t\t}\n\n\t\treturn html`\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=${classMap(classes)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@mouseenter=${() => this.hover$.next(true)}\n\t\t\t\t@mouseleave=${() => this.hover$.next(false)}\n\t\t\t\t@mousedown=${() => this.pressed$.next(true)}\n\t\t\t\t@mouseup=${() => this.pressed$.next(false)}\n\t\t\t\t@focus=${this.handleFocus}\n\t\t\t\t@blur=${this.handleBlur}\n\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\trole=\"button\"\n\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\taria-label=${this.value}\n\t\t\t>\n\t\t\t\t${this.icon ? html`\n\t\t\t\t\t<schmancy-icon class=\"text-[18px] shrink-0\">${this.icon}</schmancy-icon>\n\t\t\t\t` : ''}\n\t\t\t\t<span class=\"text-sm font-medium leading-5\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</span>\n\n\t\t\t\t<!-- Ripple effects -->\n\t\t\t\t${this.ripples.map(ripple => html`\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"ripple\"\n\t\t\t\t\t\tstyle=\"left: ${ripple.x}px; top: ${ripple.y}px;\"\n\t\t\t\t\t></span>\n\t\t\t\t`)}\n\n\t\t\t\t<!-- State layer for M3 hover/focus/pressed states -->\n\t\t\t\t<div class=\"state-layer\"></div>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-assist-chip': SchmancyAssistChip\n\t}\n}\n\nexport type AssistChipActionEvent = { value: string }","import { $LitElement } from '@mixins/index'\nimport { css, html, PropertyValues } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { BehaviorSubject } from 'rxjs'\nimport { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators'\nimport type { FilterChipChangeEvent as SchmancyChipChangeEvent } from './filter-chip'\nimport { SchmancyFilterChip as SchmancyChip } from './filter-chip'\n\n@customElement('schmancy-chips')\nexport default class SchmancyChips extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n\n\t:host([wrap]) section {\n\t\tflex-wrap: wrap;\n\t}\n\n\t:host(:not([wrap])) section {\n\t\toverflow-x: auto;\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\n\t:host(:not([wrap])) section::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, and Opera */\n\t}\n\n\tsection {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 0.5rem;\n\t}\n`) {\n\t// RxJS state streams\n\tprivate value$ = new BehaviorSubject<string>('')\n\tprivate values$ = new BehaviorSubject<string[]>([])\n\n\tprivate _value: string = ''\n\tprivate _values: string[] = []\n\tprivate _multi: boolean = false\n\n\t/**\n\t * @deprecated Use .values for multi-selection or .value for single-selection instead.\n\t * The mode is now automatically determined based on which property is used.\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tget multi(): boolean {\n\t\treturn this._multi\n\t}\n\tset multi(value: boolean) {\n\t\tthis._multi = value\n\t}\n\n\tprivate get mode(): 'multi' | 'single' | 'none' {\n\t\tif (this._values.length > 0 || this.hasAttribute('values')) return 'multi'\n\t\tif (this._value || this.hasAttribute('value')) return 'single'\n\t\tif (this._multi) return 'multi'\n\t\treturn 'none'\n\t}\n\n\t@property({ type: Array, reflect: true })\n\tget values(): string[] {\n\t\treturn this._values\n\t}\n\tset values(value: string[]) {\n\t\tthis._values = value || []\n\t\tthis.values$.next(this._values)\n\t}\n\n\t@property({ type: String, reflect: true })\n\tget value(): string {\n\t\treturn this._value\n\t}\n\tset value(value: string) {\n\t\tthis._value = value || ''\n\t\tthis.value$.next(this._value)\n\t}\n\n\t@queryAssignedElements({\n\t\tselector: 'schmancy-chip, schmancy-filter-chip, schmancy-assist-chip, schmancy-input-chip, schmancy-suggestion-chip',\n\t\tflatten: true,\n\t})\n\tchips!: (SchmancyChip | HTMLElement)[]\n\n\t@property({ type: Boolean, reflect: true })\n\twrap: boolean = false\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.value$.next(this._value)\n\t\tthis.values$.next(this._values)\n\n\t\tconst mode = this.mode\n\t\tif (mode === 'multi') {\n\t\t\tthis.values$.pipe(\n\t\t\t\tdistinctUntilChanged((p, c) => p.length === c.length && p.every((v, i) => v === c[i])),\n\t\t\t\tdebounceTime(0),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t).subscribe(v => this.updateChipStates(v))\n\t\t} else if (mode === 'single') {\n\t\t\tthis.value$.pipe(\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\tdebounceTime(0),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t).subscribe(v => this.updateChipStates(v))\n\t\t}\n\t}\n\n\tprivate updateChipStates(selection: string | string[]) {\n\t\tif (!this.chips) return\n\n\t\tconst mode = this.mode\n\t\tif (mode === 'none') return\n\n\t\tthis.chips.forEach(chip => {\n\t\t\tif (!('value' in chip && 'selected' in chip)) return\n\t\t\tconst fc = chip as SchmancyChip\n\t\t\tif (mode === 'multi') {\n\t\t\t\tconst vals = selection as string[]\n\t\t\t\tfc.selected = vals.length > 0 && vals.includes(fc.value)\n\t\t\t} else {\n\t\t\t\tfc.selected = selection !== '' && selection === fc.value\n\t\t\t}\n\t\t})\n\t}\n\n\tchange(e: CustomEvent<SchmancyChipChangeEvent>) {\n\t\te.preventDefault()\n\t\te.stopPropagation()\n\t\tconst mode = this.mode\n\t\tif (mode === 'none') return\n\n\t\tconst { value, selected } = e.detail\n\t\tif (mode === 'multi') {\n\t\t\tthis._values = selected\n\t\t\t\t? [...new Set([...this._values, value])]\n\t\t\t\t: this._values.filter(v => v !== value)\n\t\t\tthis.values$.next(this._values)\n\t\t} else {\n\t\t\tthis._value = selected ? value : ''\n\t\t\tthis.value$.next(this._value)\n\t\t}\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyChipsChangeEvent>('change', {\n\t\t\t\tdetail: mode === 'multi' ? this._values : this._value,\n\t\t\t\tbubbles: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tprotected firstUpdated(_changedProperties: PropertyValues): void {\n\t\tsuper.firstUpdated(_changedProperties)\n\t\tconst mode = this.mode\n\t\tif (mode === 'multi') this.updateChipStates(this._values)\n\t\telse if (mode === 'single') this.updateChipStates(this._value)\n\t}\n\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<section @change=${this.change}>\n\t\t\t\t<slot @slotchange=${() => {\n\t\t\t\t\tconst mode = this.mode\n\t\t\t\t\tif (mode === 'multi') this.updateChipStates(this._values)\n\t\t\t\t\telse if (mode === 'single') this.updateChipStates(this._value)\n\t\t\t\t}}></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-chips': SchmancyChips\n\t}\n}\nexport type SchmancyChipsChangeEvent = string | Array<string>\n","import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { css, html, LitElement } from 'lit'\nimport { property, queryAssignedElements } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { BehaviorSubject, combineLatest } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\n/**\n * Filter chip component for content filtering.\n *\n * Filter chips are the ONLY chip type that maintains persistent selected state.\n * They are used for filtering content by toggling on/off different filter criteria.\n *\n * @fires change - Dispatched when selection state changes with {value, selected}\n * @fires remove - Dispatched when remove button is clicked (if removable)\n *\n * @example\n * ```html\n * <schmancy-filter-chip value=\"category-1\" selected>\n * Category 1\n * </schmancy-filter-chip>\n * ```\n */\nexport class SchmancyFilterChip extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\toutline: none;\n\t\tmin-width:fit-content\n\t}\n\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t\t/* M3 disabled state opacity */\n\t\topacity: var(--schmancy-sys-state-disabled-opacity);\n\t}\n\n\tbutton {\n\t\tfont-family: inherit;\n\t}\n\n\t/* Material Symbols font for icons */\n\t.material-symbols-outlined {\n\t\tfont-family: 'Material Symbols Outlined';\n\t\tfont-weight: normal;\n\t\tfont-style: normal;\n\t\tfont-size: 18px;\n\t\tline-height: 1;\n\t\tletter-spacing: normal;\n\t\ttext-transform: none;\n\t\tdisplay: inline-block;\n\t\twhite-space: nowrap;\n\t\tword-wrap: normal;\n\t\tdirection: ltr;\n\t\t-webkit-font-smoothing: antialiased;\n\t\ttext-rendering: optimizeLegibility;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tfont-feature-settings: 'liga';\n\t\tvertical-align: middle;\n\t}\n`) {\n\t/** Unique identifier for this filter chip */\n\t@property({ type: String, reflect: true })\n\tvalue: string = ''\n\n\t/** Whether the filter chip is selected (active filter) */\n\tprivate _selected: boolean = false\n\n\t@property({ type: Boolean, reflect: true })\n\tget selected(): boolean {\n\t\treturn this._selected\n\t}\n\tset selected(value: boolean) {\n\t\tconst oldValue = this._selected\n\t\tthis._selected = value\n\t\tthis.requestUpdate('selected', oldValue)\n\t}\n\n\t/** Optional icon to display (Material Symbols name) */\n\t@property({ type: String, reflect: true })\n\ticon: string = ''\n\n\t/** Whether to show a remove button */\n\t@property({ type: Boolean, reflect: true })\n\tremovable: boolean = false\n\n\t/** Whether the chip is disabled */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled: boolean = false\n\n\t/** Whether to use elevated style with shadow */\n\t@property({ type: Boolean, reflect: true })\n\televated: boolean = false\n\n\t// Reactive state management with RxJS\n\tprivate hover$ = new BehaviorSubject<boolean>(false)\n\tprivate pressed$ = new BehaviorSubject<boolean>(false)\n\tprivate focused$ = new BehaviorSubject<boolean>(false)\n\n\t// Query assigned elements in the icon slot\n\t@queryAssignedElements({ slot: 'icon' }) iconSlotElements!: Element[]\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\n\tstatic formAssociated = true\n\tinternals: ElementInternals | undefined\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// RxJS streams are maintained for potential future use\n\t\t// Currently state is handled directly through event handlers\n\t\tcombineLatest([\n\t\t\tthis.hover$,\n\t\t\tthis.pressed$,\n\t\t\tthis.focused$,\n\t\t]).pipe(\n\t\t\t// States are managed through event handlers directly\n\t\t\t// This pipeline is kept for potential future state combinations\n\t\t\ttakeUntil(this.disconnecting),\n\t\t).subscribe()\n\t}\n\n\tprivate handleClick = () => {\n\t\tif (this.disabled) return\n\n\t\t// Don't modify this.selected - let the parent container control it\n\t\t// Dispatch change event with the INTENDED state\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('change', {\n\t\t\t\tdetail: { value: this.value, selected: !this._selected },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate handleRemove = (e: Event) => {\n\t\tif (this.disabled) return\n\n\t\te.stopPropagation()\n\n\t\t// Dispatch remove event\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('remove', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled) return\n\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault()\n\t\t\t// Dispatch event directly rather than calling handleClick to be explicit\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail: { value: this.value, selected: !this._selected },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate handleMouseEnter = () => {\n\t\tthis.hover$.next(true)\n\t}\n\n\tprivate handleMouseLeave = () => {\n\t\tthis.hover$.next(false)\n\t\tthis.pressed$.next(false)\n\t}\n\n\tprivate handleMouseDown = () => {\n\t\tthis.pressed$.next(true)\n\t}\n\n\tprivate handleMouseUp = () => {\n\t\tthis.pressed$.next(false)\n\t}\n\n\tprivate handleFocus = () => {\n\t\tthis.focused$.next(true)\n\t}\n\n\tprivate handleBlur = () => {\n\t\tthis.focused$.next(false)\n\t}\n\n\tprotected render(): unknown {\n\t\tconst chipClasses = {\n\t\t\t'inline-flex': true,\n\t\t\t'items-center': true,\n\t\t\t'gap-2': true,\n\t\t\t/* M3 shape: small for chips */\n\t\t\t'rounded-lg': true,\n\t\t\t'h-8 px-4': true,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'transition-all': true,\n\t\t\t/* M3 motion: short duration */\n\t\t\t'duration-200': true,\n\t\t\t'select-none': true,\n\t\t\t'text-sm': true,\n\t\t\t'font-medium': true,\n\t\t\t'border': true,\n\t\t\t'relative': true,\n\t\t\t'min-h-[32px]': true,\n\n\t\t\t// Background and text colors based on selection state\n\t\t\t'bg-secondary-container': this._selected,\n\t\t\t'text-secondary-onContainer': this._selected,\n\t\t\t'border-secondary-container': this._selected,\n\t\t\t'bg-surface-container': !this._selected,\n\t\t\t'text-surface-on': !this._selected,\n\t\t\t'border-outline-variant': !this._selected,\n\n\t\t\t// Hover states\n\t\t\t'hover:brightness-95': this._selected && !this.disabled,\n\t\t\t'hover:bg-surface-container-high': !this._selected && !this.disabled,\n\n\t\t\t// M3 pressed state (no scale transformation in M3)\n\t\t\t'active:brightness-90': !this.disabled,\n\n\t\t\t// Focus-visible state for better UX\n\t\t\t'focus-visible:outline': !this.disabled,\n\t\t\t'focus-visible:outline-2': !this.disabled,\n\t\t\t'focus-visible:outline-offset-2': !this.disabled,\n\t\t\t'focus-visible:outline-primary-default': !this.disabled,\n\n\t\t\t// Elevated style\n\t\t\t'shadow-md': this.elevated && !this.disabled,\n\t\t\t'hover:shadow-lg': this.elevated && !this.disabled,\n\n\t\t\t// M3 disabled state\n\t\t\t'opacity-[var(--schmancy-sys-state-disabled-opacity)]': this.disabled,\n\t\t\t'cursor-not-allowed': this.disabled\n\t\t}\n\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tclass=${this.classMap(chipClasses)}\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@mouseenter=${this.handleMouseEnter}\n\t\t\t\t@mouseleave=${this.handleMouseLeave}\n\t\t\t\t@mousedown=${this.handleMouseDown}\n\t\t\t\t@mouseup=${this.handleMouseUp}\n\t\t\t\t@focus=${this.handleFocus}\n\t\t\t\t@blur=${this.handleBlur}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\taria-pressed=${this._selected ? 'true' : 'false'}\n\t\t\t\trole=\"checkbox\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t>\n\t\t\t\t<!-- Icon container - conditionally shown using when directive -->\n\t\t\t\t${when(\n\t\t\t\t\tthis._selected || this.icon || this.iconSlotElements?.length > 0,\n\t\t\t\t\t() => html`\n\t\t\t\t\t\t<span class=\"inline-flex w-[18px] h-[18px] items-center justify-center shrink-0\">\n\t\t\t\t\t\t\t${this._selected ? html`\n\t\t\t\t\t\t\t\t<span class=\"material-symbols-outlined text-[18px]\">\n\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t` : this.icon ? html`\n\t\t\t\t\t\t\t\t<span class=\"material-symbols-outlined text-[18px]\">\n\t\t\t\t\t\t\t\t\t${this.icon}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t` : html`\n\t\t\t\t\t\t\t\t<slot name=\"icon\"></slot>\n\t\t\t\t\t\t\t`}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t`\n\t\t\t\t)}\n\n\t\t\t\t<!-- Chip content -->\n\t\t\t\t<slot></slot>\n\n\t\t\t\t<!-- Remove button (if removable) -->\n\t\t\t\t${this.removable ? html`\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"ml-1 -mr-1 p-0.5 rounded-full hover:bg-surface-container-highest transition-colors duration-200\"\n\t\t\t\t\t\t@click=${this.handleRemove}\n\t\t\t\t\t\taria-label=\"Remove filter\"\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"material-symbols-outlined text-sm sm:text-[16px]\">\n\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</button>\n\t\t\t\t` : ''}\n\t\t\t</button>\n\t\t`\n\t}\n}\n\n// Register the element with both names for backward compatibility\n// Check if not already registered to prevent duplicate registration errors\nif (!customElements.get('schmancy-filter-chip')) {\n\tcustomElements.define('schmancy-filter-chip', SchmancyFilterChip)\n}\n\n// For backward compatibility, register 'schmancy-chip' with a subclass\n// to avoid duplicate constructor registration error\nif (!customElements.get('schmancy-chip')) {\n\tclass SchmancyChipCompat extends SchmancyFilterChip {}\n\tcustomElements.define('schmancy-chip', SchmancyChipCompat)\n}\n\n// Export alias for backward compatibility\nexport { SchmancyFilterChip as SchmancyChip }\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-chip': SchmancyFilterChip\n\t\t'schmancy-filter-chip': SchmancyFilterChip\n\t}\n}\n\nexport type FilterChipChangeEvent = { value: string; selected: boolean }\nexport type FilterChipRemoveEvent = { value: string }\n// Alias for backward compatibility\nexport type SchmancyChipChangeEvent = FilterChipChangeEvent","import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { BehaviorSubject, combineLatest } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\n/**\n * Suggestion chip component - provides contextual recommendations to users\n *\n * IMPORTANT: Suggestion chips do NOT have a selected state. They are designed to\n * provide suggestions and recommendations that trigger actions when clicked.\n * Unlike filter chips, they cannot be toggled on/off.\n *\n * Pure Schmancy implementation with Tailwind CSS and RxJS state management\n */\n@customElement('schmancy-suggestion-chip')\nexport class SchmancySuggestionChip extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\toutline: none;\n\t\tmin-width:fit-content\n\t}\n\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t}\n\n\t.ripple {\n\t\tposition: absolute;\n\t\tborder-radius: 50%;\n\t\ttransform: scale(0);\n\t\tanimation: ripple 600ms linear;\n\t\tbackground-color: rgba(0, 0, 0, 0.08);\n\t\tpointer-events: none;\n\t}\n\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t/* State layer for M3 hover/focus/pressed states */\n\t.state-layer {\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tborder-radius: inherit;\n\t\tpointer-events: none;\n\t\tbackground-color: currentColor;\n\t\topacity: 0;\n\t\ttransition: opacity 200ms ease;\n\t}\n\n\t:host(:not([disabled])) button:hover .state-layer {\n\t\topacity: 0.08;\n\t}\n\n\t:host(:not([disabled])) button:focus-visible .state-layer {\n\t\topacity: 0.1;\n\t}\n\n\t:host(:not([disabled])) button:active .state-layer {\n\t\topacity: 0.1;\n\t}\n`) {\n\t/** Value identifier for the chip */\n\t@property({ reflect: true }) value = ''\n\n\t/** Optional icon name (Material Symbols) */\n\t@property({ reflect: true }) icon = ''\n\n\t/** Optional href for navigation */\n\t@property({ reflect: true }) href = ''\n\n\t/** Target for navigation (e.g., '_blank') */\n\t@property({ reflect: true }) target = ''\n\n\t/** Disable the chip */\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\n\t/** Elevated style variant - flat by default per M3 spec */\n\t@property({ type: Boolean, reflect: true }) elevated = false\n\n\t// RxJS state streams\n\tprivate hover$ = new BehaviorSubject<boolean>(false)\n\tprivate pressed$ = new BehaviorSubject<boolean>(false)\n\tprivate focused$ = new BehaviorSubject<boolean>(false)\n\n\t// UI state - only ripples needed for rendering\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\n\n\tprotected static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true }\n\n\tprivate nextRippleId = 0\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Stream management for future extensions\n\t\t// Currently, states are handled directly in event handlers\n\t\t// This pipeline can be extended for more complex state interactions\n\t\tcombineLatest([\n\t\t\tthis.hover$,\n\t\t\tthis.pressed$,\n\t\t\tthis.focused$\n\t\t]).pipe(\n\t\t\t// States are managed through event handlers directly\n\t\t\t// This pipeline is kept for potential future state combinations\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\t}\n\n\tprivate handleClick = (e: MouseEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Add ripple effect\n\t\tconst button = this.shadowRoot?.querySelector('button')\n\t\tif (button) {\n\t\t\tconst rect = button.getBoundingClientRect()\n\t\t\tconst x = e.clientX - rect.left\n\t\t\tconst y = e.clientY - rect.top\n\t\t\tconst id = this.nextRippleId++\n\n\t\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t\t// Remove ripple after animation\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t\t}, 600)\n\t\t}\n\n\t\t// Navigate if href is provided\n\t\tif (this.href) {\n\t\t\tif (this.target === '_blank') {\n\t\t\t\twindow.open(this.href, '_blank')\n\t\t\t} else {\n\t\t\t\twindow.location.href = this.href\n\t\t\t}\n\t\t}\n\n\t\t// Dispatch action event\n\t\tthis.dispatchEvent(new CustomEvent('action', {\n\t\t\tdetail: { value: this.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled) return\n\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault()\n\t\t\tthis.pressed$.next(true)\n\n\t\t\t// Simulate click\n\t\t\tconst clickEvent = new MouseEvent('click', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true,\n\t\t\t\tclientX: 0,\n\t\t\t\tclientY: 0\n\t\t\t})\n\t\t\tthis.handleClick(clickEvent)\n\n\t\t\tsetTimeout(() => this.pressed$.next(false), 100)\n\t\t}\n\t}\n\n\tprivate handleFocus = () => {\n\t\tthis.focused$.next(true)\n\t}\n\n\tprivate handleBlur = () => {\n\t\tthis.focused$.next(false)\n\t}\n\n\tprotected render(): unknown {\n\t\tconst hasIcon = !!this.icon;\n\n\t\tconst classes = {\n\t\t\t'relative': true,\n\t\t\t'inline-flex': true,\n\t\t\t'items-center': true,\n\t\t\t'gap-2': true,\n\t\t\t'h-8': true, // M3: 32px height\n\t\t\t'min-h-[32px]': true,\n\t\t\t'rounded-full': true,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'transition-all': true,\n\t\t\t'duration-200': true,\n\t\t\t'select-none': true,\n\t\t\t'overflow-hidden': true,\n\t\t\t'border': true,\n\n\t\t\t// M3 Padding: 8px with icon, 16px without (leading), 16px trailing\n\t\t\t'pl-2': hasIcon, // 8px with icon\n\t\t\t'pl-4': !hasIcon, // 16px without icon\n\t\t\t'pr-4': true, // 16px trailing\n\n\t\t\t// M3 Colors for suggestion chips\n\t\t\t'bg-surface-containerLow': true,\n\t\t\t'text-surface-onVariant': true,\n\t\t\t'border-outline': true,\n\n\t\t\t// Suggestion chips are flat by default (no elevation per M3)\n\n\t\t\t// Focus state\n\t\t\t'focus-visible:outline': !this.disabled,\n\t\t\t'focus-visible:outline-2': !this.disabled,\n\t\t\t'focus-visible:outline-primary': !this.disabled,\n\t\t\t'focus-visible:outline-offset-2': !this.disabled,\n\n\t\t\t// Disabled\n\t\t\t'opacity-38': this.disabled, // M3 disabled opacity\n\t\t\t'cursor-not-allowed': this.disabled\n\t\t}\n\n\t\treturn html`\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=${classMap(classes)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@mouseenter=${() => this.hover$.next(true)}\n\t\t\t\t@mouseleave=${() => this.hover$.next(false)}\n\t\t\t\t@mousedown=${() => this.pressed$.next(true)}\n\t\t\t\t@mouseup=${() => this.pressed$.next(false)}\n\t\t\t\t@focus=${this.handleFocus}\n\t\t\t\t@blur=${this.handleBlur}\n\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\trole=\"button\"\n\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\taria-label=${this.value}\n\t\t\t>\n\t\t\t\t${this.icon ? html`\n\t\t\t\t\t<schmancy-icon class=\"text-[18px] shrink-0\">${this.icon}</schmancy-icon>\n\t\t\t\t` : ''}\n\t\t\t\t<span class=\"text-sm font-medium leading-5\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</span>\n\n\t\t\t\t<!-- Ripple effects -->\n\t\t\t\t${this.ripples.map(ripple => html`\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"ripple\"\n\t\t\t\t\t\tstyle=\"left: ${ripple.x}px; top: ${ripple.y}px;\"\n\t\t\t\t\t></span>\n\t\t\t\t`)}\n\n\t\t\t\t<!-- State layer for M3 hover/focus/pressed states -->\n\t\t\t\t<div class=\"state-layer\"></div>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-suggestion-chip': SchmancySuggestionChip\n\t}\n}\n\nexport type SuggestionChipActionEvent = { value: string }"],"names":["SchmancyAssistChip","TailwindElement","css","constructor","super","arguments","this","value","icon","href","target","disabled","elevated","hover$","BehaviorSubject","pressed$","focused$","ripples","nextRippleId","handleClick","e","button","shadowRoot","querySelector","rect","getBoundingClientRect","x","clientX","left","y","clientY","top","id","setTimeout","filter","r","window","open","location","dispatchEvent","CustomEvent","detail","bubbles","composed","handleKeyDown","key","preventDefault","next","clickEvent","MouseEvent","cancelable","handleFocus","handleBlur","connectedCallback","combineLatest","pipe","takeUntil","disconnecting","subscribe","hasIcon","classes","relative","html","classMap","map","ripple","shadowRootOptions","LitElement","delegatesFocus","__decorateClass","property","reflect","prototype","type","Boolean","state","customElement","SchmancyChips","$LitElement","value$","values$","_value","_values","_multi","wrap","multi","mode","length","hasAttribute","values","distinctUntilChanged","p","c","every","v","i","debounceTime","updateChipStates","selection","chips","forEach","chip","fc","vals","selected","includes","stopPropagation","Set","_changedProperties","firstUpdated","render","change","Array","String","queryAssignedElements","selector","flatten","SchmancyFilterChip","_selected","removable","handleRemove","handleMouseEnter","handleMouseLeave","handleMouseDown","handleMouseUp","internals","attachInternals","oldValue","requestUpdate","form","chipClasses","border","when","iconSlotElements","formAssociated","_S","slot","customElements","get","define","SchmancyChipCompat","SchmancySuggestionChip"],"mappings":"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"}