@mhmo91/schmancy 0.5.26 → 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.
- package/ai/checkbox.md +93 -52
- package/dist/ai/checkbox.md +93 -52
- package/dist/{animated-text-BF-_41Hw.js → animated-text-Bn8-ILmB.js} +3 -3
- package/dist/{animated-text-BF-_41Hw.js.map → animated-text-Bn8-ILmB.js.map} +1 -1
- package/dist/{animated-text-D7XcIPvJ.cjs → animated-text-vdNivzdc.cjs} +2 -2
- package/dist/{animated-text-D7XcIPvJ.cjs.map → animated-text-vdNivzdc.cjs.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-C1EzgnER.cjs → area.component-DwPL6bdo.cjs} +2 -2
- package/dist/{area.component-C1EzgnER.cjs.map → area.component-DwPL6bdo.cjs.map} +1 -1
- package/dist/{area.component-C5wZ7yAA.js → area.component-pd24G8zW.js} +3 -3
- package/dist/{area.component-C5wZ7yAA.js.map → area.component-pd24G8zW.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-C2KCl8gZ.js → autocomplete-BlhAOtex.js} +4 -4
- package/dist/{autocomplete-C2KCl8gZ.js.map → autocomplete-BlhAOtex.js.map} +1 -1
- package/dist/{autocomplete-Dp2pvQ1J.cjs → autocomplete-GW91jVqw.cjs} +2 -2
- package/dist/{autocomplete-Dp2pvQ1J.cjs.map → autocomplete-GW91jVqw.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-BISA1L6R.js → avatar-4sGidVGe.js} +50 -50
- package/dist/{avatar-BISA1L6R.js.map → avatar-4sGidVGe.js.map} +1 -1
- package/dist/{avatar-dRvfep6e.cjs → avatar-q32dkyky.cjs} +2 -2
- package/dist/{avatar-dRvfep6e.cjs.map → avatar-q32dkyky.cjs.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-B7y4ZeDv.cjs → boat-DNmaFlxD.cjs} +2 -2
- package/dist/{boat-B7y4ZeDv.cjs.map → boat-DNmaFlxD.cjs.map} +1 -1
- package/dist/{boat-BDARBzjf.js → boat-dSTPix8t.js} +2 -2
- package/dist/{boat-BDARBzjf.js.map → boat-dSTPix8t.js.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-Dyj95Cob.cjs → checkbox-BJ5aqrKY.cjs} +2 -2
- package/dist/{checkbox-Dyj95Cob.cjs.map → checkbox-BJ5aqrKY.cjs.map} +1 -1
- package/dist/{checkbox-Bo5DWgmR.js → checkbox-CU2tyEL0.js} +2 -2
- package/dist/{checkbox-Bo5DWgmR.js.map → checkbox-CU2tyEL0.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-BkLf1Tjt.js → code-preview-KDpn0Q3T.js} +2 -2
- package/dist/{code-preview-BkLf1Tjt.js.map → code-preview-KDpn0Q3T.js.map} +1 -1
- package/dist/{code-preview-Ci4_9dyI.cjs → code-preview-fda91FDi.cjs} +2 -2
- package/dist/{code-preview-Ci4_9dyI.cjs.map → code-preview-fda91FDi.cjs.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-BzJ_GFAW.cjs → date-range-0nOdLk-l.cjs} +2 -2
- package/dist/{date-range-BzJ_GFAW.cjs.map → date-range-0nOdLk-l.cjs.map} +1 -1
- package/dist/{date-range-inline-egzlYgWB.cjs → date-range-inline-UoP6EDug.cjs} +2 -2
- package/dist/{date-range-inline-egzlYgWB.cjs.map → date-range-inline-UoP6EDug.cjs.map} +1 -1
- package/dist/{date-range-inline-C5gZQxPv.js → date-range-inline-b0yYxPn_.js} +3 -3
- package/dist/{date-range-inline-C5gZQxPv.js.map → date-range-inline-b0yYxPn_.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/{date-range-BriVhMyA.js → date-range-yd-FnXRe.js} +3 -3
- package/dist/{date-range-BriVhMyA.js.map → date-range-yd-FnXRe.js.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-3A6yeHgq.js → delay-CE9VOJBG.js} +2 -2
- package/dist/{delay-3A6yeHgq.js.map → delay-CE9VOJBG.js.map} +1 -1
- package/dist/{delay-9mVh_ncQ.cjs → delay-CaOsI0yP.cjs} +2 -2
- package/dist/{delay-9mVh_ncQ.cjs.map → delay-CaOsI0yP.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/details-B_kKG0Du.cjs +143 -0
- package/dist/details-B_kKG0Du.cjs.map +1 -0
- package/dist/details-m-njXkGl.js +210 -0
- package/dist/details-m-njXkGl.js.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-B9OkO5fD.cjs → dialog-content-B5MUa6uq.cjs} +2 -2
- package/dist/{dialog-content-B9OkO5fD.cjs.map → dialog-content-B5MUa6uq.cjs.map} +1 -1
- package/dist/{dialog-content-B2mWmFZf.js → dialog-content-BireCTdH.js} +3 -3
- package/dist/{dialog-content-B2mWmFZf.js.map → dialog-content-BireCTdH.js.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-gwQsKA8E.js → divider-CMaqpnia.js} +3 -3
- package/dist/{divider-gwQsKA8E.js.map → divider-CMaqpnia.js.map} +1 -1
- package/dist/{divider-7QB9lkg8.cjs → divider-DekMH80a.cjs} +2 -2
- package/dist/{divider-7QB9lkg8.cjs.map → divider-DekMH80a.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-wWiQrGbJ.js → dropdown-content-CViuccZ6.js} +3 -3
- package/dist/{dropdown-content-wWiQrGbJ.js.map → dropdown-content-CViuccZ6.js.map} +1 -1
- package/dist/{dropdown-content-B8jF14WR.cjs → dropdown-content-eXth59vX.cjs} +2 -2
- package/dist/{dropdown-content-B8jF14WR.cjs.map → dropdown-content-eXth59vX.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-BerOPRSS.js → email-recipients-BSopuO1J.js} +5 -5
- package/dist/{email-recipients-BerOPRSS.js.map → email-recipients-BSopuO1J.js.map} +1 -1
- package/dist/{email-recipients-DDPOQ6GR.cjs → email-recipients-DNcWf4_1.cjs} +2 -2
- package/dist/{email-recipients-DDPOQ6GR.cjs.map → email-recipients-DNcWf4_1.cjs.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-A9QGoIZO.cjs → flex-CE0IKjR4.cjs} +2 -2
- package/dist/{flex-A9QGoIZO.cjs.map → flex-CE0IKjR4.cjs.map} +1 -1
- package/dist/{flex-CMaGJmsr.js → flex-Czj-zqJQ.js} +2 -2
- package/dist/{flex-CMaGJmsr.js.map → flex-Czj-zqJQ.js.map} +1 -1
- package/dist/{form-TwzAo9l7.js → form-CAvvBQiv.js} +2 -2
- package/dist/{form-TwzAo9l7.js.map → form-CAvvBQiv.js.map} +1 -1
- package/dist/{form-B1MHwY2q.cjs → form-OUNdJnUW.cjs} +2 -2
- package/dist/{form-B1MHwY2q.cjs.map → form-OUNdJnUW.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-BnEz6ZwN.cjs → formField.mixin-Bu0ygAbE.cjs} +2 -2
- package/dist/{formField.mixin-BnEz6ZwN.cjs.map → formField.mixin-Bu0ygAbE.cjs.map} +1 -1
- package/dist/{formField.mixin-BssBYPia.js → formField.mixin-DlYLC82X.js} +2 -2
- package/dist/{formField.mixin-BssBYPia.js.map → formField.mixin-DlYLC82X.js.map} +1 -1
- package/dist/{icon-BAcc1N7i.cjs → icon-BwhQbcAk.cjs} +2 -2
- package/dist/{icon-BAcc1N7i.cjs.map → icon-BwhQbcAk.cjs.map} +1 -1
- package/dist/{icon-Bc-fZOsV.js → icon-D0EaNtwd.js} +2 -2
- package/dist/{icon-Bc-fZOsV.js.map → icon-D0EaNtwd.js.map} +1 -1
- package/dist/{icon-button-u2JxLUVz.cjs → icon-button-BrRSVzzx.cjs} +2 -2
- package/dist/{icon-button-u2JxLUVz.cjs.map → icon-button-BrRSVzzx.cjs.map} +1 -1
- package/dist/{icon-button-bMlXZsaD.js → icon-button-CGMdsmXS.js} +3 -3
- package/dist/{icon-button-bMlXZsaD.js.map → icon-button-CGMdsmXS.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +49 -49
- package/dist/{input-CBpMXWq5.js → input-DZYN1TnY.js} +3 -3
- package/dist/{input-CBpMXWq5.js.map → input-DZYN1TnY.js.map} +1 -1
- package/dist/{input-chip-BdOr_Bst.js → input-chip-CNLkwei6.js} +2 -2
- package/dist/{input-chip-BdOr_Bst.js.map → input-chip-CNLkwei6.js.map} +1 -1
- package/dist/{input-chip-BOD5fjLj.cjs → input-chip-Cf25jEob.cjs} +2 -2
- package/dist/{input-chip-BOD5fjLj.cjs.map → input-chip-Cf25jEob.cjs.map} +1 -1
- package/dist/{input-64Amkh7B.cjs → input-lzxE1e5L.cjs} +2 -2
- package/dist/{input-64Amkh7B.cjs.map → input-lzxE1e5L.cjs.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-kbaJkd6g.js → list-Cqo45m_h.js} +2 -2
- package/dist/{list-kbaJkd6g.js.map → list-Cqo45m_h.js.map} +1 -1
- package/dist/{list-D_RsjBt7.cjs → list-rGx4YHgo.cjs} +2 -2
- package/dist/{list-D_RsjBt7.cjs.map → list-rGx4YHgo.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-BjvDNbpd.js → litElement.mixin-B0Rsd4Km.js} +2 -2
- package/dist/{litElement.mixin-BjvDNbpd.js.map → litElement.mixin-B0Rsd4Km.js.map} +1 -1
- package/dist/{litElement.mixin-wU3TW8NU.cjs → litElement.mixin-DUiUa087.cjs} +2 -2
- package/dist/{litElement.mixin-wU3TW8NU.cjs.map → litElement.mixin-DUiUa087.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-C3aSKiL1.cjs → map-8DhybTup.cjs} +2 -2
- package/dist/{map-C3aSKiL1.cjs.map → map-8DhybTup.cjs.map} +1 -1
- package/dist/{map-DhyZmeSW.js → map-DWf43TA1.js} +2 -2
- package/dist/{map-DhyZmeSW.js.map → map-DWf43TA1.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/media-BVKgZzK_.js +243 -0
- package/dist/media-BVKgZzK_.js.map +1 -0
- package/dist/media-BZwiyJto.cjs +152 -0
- package/dist/media-BZwiyJto.cjs.map +1 -0
- package/dist/{menu-BWAj2ToG.js → menu-CGaCEOer.js} +3 -3
- package/dist/{menu-BWAj2ToG.js.map → menu-CGaCEOer.js.map} +1 -1
- package/dist/{menu-GScOP0tp.cjs → menu-D8qP_e7D.cjs} +2 -2
- package/dist/{menu-GScOP0tp.cjs.map → menu-D8qP_e7D.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/{navigation-rail-DpffIkNR.cjs → navigation-rail-BzMOzaFm.cjs} +77 -39
- package/dist/navigation-rail-BzMOzaFm.cjs.map +1 -0
- package/dist/{navigation-rail-Cwhii1Km.js → navigation-rail-CjBw96pi.js} +88 -50
- package/dist/navigation-rail-CjBw96pi.js.map +1 -0
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-CiS9cxNM.cjs → notification-service-DCmDSvc-.cjs} +2 -2
- package/dist/{notification-service-CiS9cxNM.cjs.map → notification-service-DCmDSvc-.cjs.map} +1 -1
- package/dist/{notification-service-D9FrcaYV.js → notification-service-Dv4oQi_Z.js} +4 -4
- package/dist/{notification-service-D9FrcaYV.js.map → notification-service-Dv4oQi_Z.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-CHdshRyb.js → notify-COuaNTJP.js} +2 -2
- package/dist/{notify-CHdshRyb.js.map → notify-COuaNTJP.js.map} +1 -1
- package/dist/{notify-BmlPVAHr.cjs → notify-XY2e8y_a.cjs} +2 -2
- package/dist/{notify-BmlPVAHr.cjs.map → notify-XY2e8y_a.cjs.map} +1 -1
- package/dist/{option-DYw6IjKG.js → option-CSSmqUBi.js} +2 -2
- package/dist/{option-DYw6IjKG.js.map → option-CSSmqUBi.js.map} +1 -1
- package/dist/{option-DA812L2R.cjs → option-q-dig7LF.cjs} +2 -2
- package/dist/{option-DA812L2R.cjs.map → option-q-dig7LF.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-DI7uO_75.cjs → payment-card-form-C8bWa_hh.cjs} +2 -2
- package/dist/{payment-card-form-DI7uO_75.cjs.map → payment-card-form-C8bWa_hh.cjs.map} +1 -1
- package/dist/{payment-card-form-K2w6cCIE.js → payment-card-form-CWboYwqO.js} +3 -3
- package/dist/{payment-card-form-K2w6cCIE.js.map → payment-card-form-CWboYwqO.js.map} +1 -1
- package/dist/{progress-DDWci51w.cjs → progress-CP2lpJsl.cjs} +2 -2
- package/dist/{progress-DDWci51w.cjs.map → progress-CP2lpJsl.cjs.map} +1 -1
- package/dist/{progress-CHHtHq7e.js → progress-Cci0dXzp.js} +2 -2
- package/dist/{progress-CHHtHq7e.js.map → progress-Cci0dXzp.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-BFWrUvoQ.cjs → radio-button-CU-lMs92.cjs} +2 -2
- package/dist/{radio-button-BFWrUvoQ.cjs.map → radio-button-CU-lMs92.cjs.map} +1 -1
- package/dist/{radio-button-Uzt9IgG3.js → radio-button-DFbfVgox.js} +3 -3
- package/dist/{radio-button-Uzt9IgG3.js.map → radio-button-DFbfVgox.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-DCIjNVl9.cjs → schmancy-steps-container-CQY1zmws.cjs} +2 -2
- package/dist/{schmancy-steps-container-DCIjNVl9.cjs.map → schmancy-steps-container-CQY1zmws.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-fxA9vvA6.js → schmancy-steps-container-vW7r1ZTL.js} +2 -2
- package/dist/{schmancy-steps-container-fxA9vvA6.js.map → schmancy-steps-container-vW7r1ZTL.js.map} +1 -1
- package/dist/{select-HByOFIgf.cjs → select-Be8HIqWu.cjs} +2 -2
- package/dist/{select-HByOFIgf.cjs.map → select-Be8HIqWu.cjs.map} +1 -1
- package/dist/{select-s2RGXov_.js → select-BkGodZaS.js} +3 -3
- package/dist/{select-s2RGXov_.js.map → select-BkGodZaS.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-CHMqdnPC.js → sheet-DECb9whB.js} +3 -3
- package/dist/{sheet-CHMqdnPC.js.map → sheet-DECb9whB.js.map} +1 -1
- package/dist/{sheet-B3SYJ5bI.cjs → sheet-dK5UPVjp.cjs} +2 -2
- package/dist/{sheet-B3SYJ5bI.cjs.map → sheet-dK5UPVjp.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-B5sg-McD.js → slider-BhFc1oRj.js} +3 -3
- package/dist/{slider-B5sg-McD.js.map → slider-BhFc1oRj.js.map} +1 -1
- package/dist/{slider-C34Lp0Ns.cjs → slider-CP3JRaWR.cjs} +2 -2
- package/dist/{slider-C34Lp0Ns.cjs.map → slider-CP3JRaWR.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-D2zUun1n.cjs → spinner-BD8cXVK_.cjs} +2 -2
- package/dist/{spinner-D2zUun1n.cjs.map → spinner-BD8cXVK_.cjs.map} +1 -1
- package/dist/{spinner-CsdQec_Y.js → spinner-DGyRYqUZ.js} +2 -2
- package/dist/{spinner-CsdQec_Y.js.map → spinner-DGyRYqUZ.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{suggestion-chip-jPIhloJG.cjs → suggestion-chip-C1n2VYBG.cjs} +31 -20
- package/dist/suggestion-chip-C1n2VYBG.cjs.map +1 -0
- package/dist/{suggestion-chip-BE4I1i8Z.js → suggestion-chip-Cl0cPTKV.js} +89 -70
- package/dist/suggestion-chip-Cl0cPTKV.js.map +1 -0
- package/dist/surface-C3V23wh9.js +140 -0
- package/dist/surface-C3V23wh9.js.map +1 -0
- package/dist/surface-ClIDhSRv.cjs +119 -0
- package/dist/surface-ClIDhSRv.cjs.map +1 -0
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-CzHvHTwO.cjs → table-1New2HBS.cjs} +2 -2
- package/dist/{table-CzHvHTwO.cjs.map → table-1New2HBS.cjs.map} +1 -1
- package/dist/{table-Zvpbmts7.js → table-CLA3cxIk.js} +2 -2
- package/dist/{table-Zvpbmts7.js.map → table-CLA3cxIk.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-BIwTX2f5.cjs → tabs-compatibility-DDtYFCUj.cjs} +2 -2
- package/dist/{tabs-compatibility-BIwTX2f5.cjs.map → tabs-compatibility-DDtYFCUj.cjs.map} +1 -1
- package/dist/{tabs-compatibility-BRxG6DfR.js → tabs-compatibility-RMzYuSJ1.js} +2 -2
- package/dist/{tabs-compatibility-BRxG6DfR.js.map → tabs-compatibility-RMzYuSJ1.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-CFrLBtkD.cjs +2 -0
- package/dist/{tailwind.mixin-CvLC4LGm.cjs.map → tailwind.mixin-CFrLBtkD.cjs.map} +1 -1
- package/dist/tailwind.mixin-CZKT1dUr.js +43 -0
- package/dist/{tailwind.mixin-DXMWx0zN.js.map → tailwind.mixin-CZKT1dUr.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-BmfkGMl_.js → textarea-B4DXG5Sg.js} +2 -2
- package/dist/{textarea-BmfkGMl_.js.map → textarea-B4DXG5Sg.js.map} +1 -1
- package/dist/{textarea-BStwsU5t.cjs → textarea-ChDsPBZz.cjs} +2 -2
- package/dist/{textarea-BStwsU5t.cjs.map → textarea-ChDsPBZz.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-C0aKpjew.js → theme-button-DGjG_shg.js} +2 -2
- package/dist/{theme-button-C0aKpjew.js.map → theme-button-DGjG_shg.js.map} +1 -1
- package/dist/{theme-button-8UOIxNBy.cjs → theme-button-qzDX0i9Q.cjs} +2 -2
- package/dist/{theme-button-8UOIxNBy.cjs.map → theme-button-qzDX0i9Q.cjs.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.component-BvUi2mvO.cjs → theme.component-Blc_4wu9.cjs} +2 -2
- package/dist/{theme.component-BvUi2mvO.cjs.map → theme.component-Blc_4wu9.cjs.map} +1 -1
- package/dist/{theme.component-DPfWc8Tz.js → theme.component-C3r_-QqQ.js} +2 -2
- package/dist/{theme.component-DPfWc8Tz.js.map → theme.component-C3r_-QqQ.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-CyWZzj5y.js → timezone-BkE20wzQ.js} +3 -3
- package/dist/{timezone-CyWZzj5y.js.map → timezone-BkE20wzQ.js.map} +1 -1
- package/dist/{timezone-BqVai0NU.cjs → timezone-wWfEuXrb.cjs} +2 -2
- package/dist/{timezone-BqVai0NU.cjs.map → timezone-wWfEuXrb.cjs.map} +1 -1
- package/dist/{tooltip-B3OI6L58.cjs → tooltip-DLadXXnP.cjs} +2 -2
- package/dist/{tooltip-B3OI6L58.cjs.map → tooltip-DLadXXnP.cjs.map} +1 -1
- package/dist/{tooltip-ADFA2Hhl.js → tooltip-UtpbXzQX.js} +2 -2
- package/dist/{tooltip-ADFA2Hhl.js.map → tooltip-UtpbXzQX.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-Dn_LFln3.cjs → tree-Brtho3Eu.cjs} +2 -2
- package/dist/{tree-Dn_LFln3.cjs.map → tree-Brtho3Eu.cjs.map} +1 -1
- package/dist/{tree-B8U0nKLT.js → tree-VkXtw2P8.js} +2 -2
- package/dist/{tree-B8U0nKLT.js.map → tree-VkXtw2P8.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-D16QiY6_.cjs → typewriter-CEgaw_pR.cjs} +2 -2
- package/dist/{typewriter-D16QiY6_.cjs.map → typewriter-CEgaw_pR.cjs.map} +1 -1
- package/dist/{typewriter-eEIOUfNO.js → typewriter-CsReDsYS.js} +4 -4
- package/dist/{typewriter-eEIOUfNO.js.map → typewriter-CsReDsYS.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-BuYmtWlY.js → typography-D_bM5DW7.js} +2 -2
- package/dist/{typography-BuYmtWlY.js.map → typography-D_bM5DW7.js.map} +1 -1
- package/dist/{typography-9tbZm7OD.cjs → typography-NurK7F-8.cjs} +2 -2
- package/dist/{typography-9tbZm7OD.cjs.map → typography-NurK7F-8.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/card/card.d.ts +5 -1
- package/types/src/chips/chips.d.ts +1 -6
- package/types/src/details/details.d.ts +4 -4
- package/dist/details-BVo7N1R-.cjs +0 -161
- package/dist/details-BVo7N1R-.cjs.map +0 -1
- package/dist/details-b0374YYL.js +0 -228
- package/dist/details-b0374YYL.js.map +0 -1
- package/dist/media-CXD15d1H.js +0 -261
- package/dist/media-CXD15d1H.js.map +0 -1
- package/dist/media-DPyw2ILI.cjs +0 -177
- package/dist/media-DPyw2ILI.cjs.map +0 -1
- package/dist/navigation-rail-Cwhii1Km.js.map +0 -1
- package/dist/navigation-rail-DpffIkNR.cjs.map +0 -1
- package/dist/suggestion-chip-BE4I1i8Z.js.map +0 -1
- package/dist/suggestion-chip-jPIhloJG.cjs.map +0 -1
- package/dist/surface-D8fzaQOr.cjs +0 -90
- package/dist/surface-D8fzaQOr.cjs.map +0 -1
- package/dist/surface-QCZ627r4.js +0 -111
- package/dist/surface-QCZ627r4.js.map +0 -1
- package/dist/tailwind.mixin-CvLC4LGm.cjs +0 -2
- package/dist/tailwind.mixin-DXMWx0zN.js +0 -43
|
@@ -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":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { T as w } from "./tailwind.mixin-
|
|
2
|
-
import { css as
|
|
3
|
-
import { property as
|
|
4
|
-
import { classMap as
|
|
5
|
-
import { BehaviorSubject as c, combineLatest as
|
|
6
|
-
import { takeUntil as
|
|
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-
|
|
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
|
|
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,
|
|
70
|
-
this.ripples = [...this.ripples, { x: o, y:
|
|
71
|
-
this.ripples = this.ripples.filter((
|
|
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(),
|
|
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=${
|
|
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 = { ...
|
|
132
|
-
var F = Object.defineProperty, P = Object.getOwnPropertyDescriptor,
|
|
133
|
-
for (var
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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)
|
|
175
|
-
|
|
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
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
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
|
-
|
|
187
|
-
|
|
188
|
-
const
|
|
189
|
-
|
|
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)
|
|
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
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
this.updateChipStates(this.
|
|
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
|
-
|
|
208
|
-
var
|
|
209
|
-
for (var
|
|
210
|
-
return o && 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
|
|
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
|
|
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(),
|
|
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-
|
|
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-
|
|
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
|
-
|
|
343
|
-
let h =
|
|
344
|
-
if (
|
|
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
|
|
350
|
-
for (var
|
|
351
|
-
return o && 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,
|
|
409
|
-
this.ripples = [...this.ripples, { x: o, y:
|
|
410
|
-
this.ripples = this.ripples.filter((
|
|
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(),
|
|
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=${
|
|
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 = { ...
|
|
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-
|
|
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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"}
|