@mhmo91/schmancy 0.4.75 → 0.4.77
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/chips.md +350 -128
- package/ai/typography.md +66 -8
- package/dist/ai/chips.md +350 -128
- package/dist/ai/typography.md +66 -8
- package/dist/{animated-text-CqpyC7Y0.js → animated-text-CTMDHCbw.js} +6 -6
- package/dist/{animated-text-CqpyC7Y0.js.map → animated-text-CTMDHCbw.js.map} +1 -1
- package/dist/{animated-text-DlRt6Q09.cjs → animated-text-yAIb26ld.cjs} +2 -2
- package/dist/{animated-text-DlRt6Q09.cjs.map → animated-text-yAIb26ld.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.js +1 -1
- package/dist/{autocomplete-BOGG_9iL.cjs → autocomplete-BYiDoFG_.cjs} +2 -2
- package/dist/{autocomplete-BOGG_9iL.cjs.map → autocomplete-BYiDoFG_.cjs.map} +1 -1
- package/dist/{autocomplete-B-oKMH7m.js → autocomplete-m-nEVE3h.js} +6 -6
- package/dist/{autocomplete-B-oKMH7m.js.map → autocomplete-m-nEVE3h.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-C27bnQKE.cjs → avatar-DjCNlJz6.cjs} +2 -2
- package/dist/{avatar-C27bnQKE.cjs.map → avatar-DjCNlJz6.cjs.map} +1 -1
- package/dist/{avatar-DKVNl5rX.js → avatar-nxVn--Oo.js} +48 -48
- package/dist/{avatar-DKVNl5rX.js.map → avatar-nxVn--Oo.js.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-DMKcZpZb.cjs → boat-_ZRYkQQZ.cjs} +2 -2
- package/dist/{boat-DMKcZpZb.cjs.map → boat-_ZRYkQQZ.cjs.map} +1 -1
- package/dist/{boat-CdR5Pqik.js → boat-sl3amQ3s.js} +2 -2
- package/dist/{boat-CdR5Pqik.js.map → boat-sl3amQ3s.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-HdmRM2Vg.cjs +40 -0
- package/dist/checkbox-HdmRM2Vg.cjs.map +1 -0
- package/dist/checkbox-zTyMywpJ.js +527 -0
- package/dist/checkbox-zTyMywpJ.js.map +1 -0
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips-DAkLLDRf.js +577 -0
- package/dist/chips-DAkLLDRf.js.map +1 -0
- package/dist/chips-DDDu8hh9.cjs +324 -0
- package/dist/chips-DDDu8hh9.cjs.map +1 -0
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +9 -1
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-CdCzzZTX.cjs → code-preview-BxO04VVx.cjs} +2 -2
- package/dist/{code-preview-CdCzzZTX.cjs.map → code-preview-BxO04VVx.cjs.map} +1 -1
- package/dist/{code-preview-CIXEd04f.js → code-preview-DH3koGm9.js} +7 -7
- package/dist/{code-preview-CIXEd04f.js.map → code-preview-DH3koGm9.js.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-CvD9zwK9.cjs → date-range-TJXLY7Yx.cjs} +2 -2
- package/dist/{date-range-CvD9zwK9.cjs.map → date-range-TJXLY7Yx.cjs.map} +1 -1
- package/dist/{date-range-inline-CP_a_w01.cjs → date-range-inline-BSqXKZ3-.cjs} +2 -2
- package/dist/{date-range-inline-CP_a_w01.cjs.map → date-range-inline-BSqXKZ3-.cjs.map} +1 -1
- package/dist/{date-range-inline-5QP9av94.js → date-range-inline-CUb59TOM.js} +3 -3
- package/dist/{date-range-inline-5QP9av94.js.map → date-range-inline-CUb59TOM.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/{date-range-lJ_fPY4v.js → date-range-sfDUF7dG.js} +8 -8
- package/dist/{date-range-lJ_fPY4v.js.map → date-range-sfDUF7dG.js.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-BM1jk7XF.js → delay-CHpGPLLr.js} +2 -2
- package/dist/{delay-BM1jk7XF.js.map → delay-CHpGPLLr.js.map} +1 -1
- package/dist/{delay-CB0Wohe7.cjs → delay-CbXOIuAd.cjs} +2 -2
- package/dist/{delay-CB0Wohe7.cjs.map → delay-CbXOIuAd.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-B9JrXrCO.js → details-Cf7zosIT.js} +5 -5
- package/dist/{details-B9JrXrCO.js.map → details-Cf7zosIT.js.map} +1 -1
- package/dist/{details-C22WoRWP.cjs → details-D6yYIQaE.cjs} +2 -2
- package/dist/{details-C22WoRWP.cjs.map → details-D6yYIQaE.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-BHR9cUJ-.js → dialog-content-BabnHd-t.js} +10 -10
- package/dist/{dialog-content-BHR9cUJ-.js.map → dialog-content-BabnHd-t.js.map} +1 -1
- package/dist/{dialog-content-CpxWMPlh.cjs → dialog-content-BkK0XT-T.cjs} +2 -2
- package/dist/{dialog-content-CpxWMPlh.cjs.map → dialog-content-BkK0XT-T.cjs.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-DAg0oW4T.cjs → divider-CQ9PTETp.cjs} +2 -2
- package/dist/{divider-DAg0oW4T.cjs.map → divider-CQ9PTETp.cjs.map} +1 -1
- package/dist/{divider-Cz4g_Ept.js → divider-DyNmX5oP.js} +6 -6
- package/dist/{divider-Cz4g_Ept.js.map → divider-DyNmX5oP.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-Bto1swKT.js → dropdown-content-1g76XIVT.js} +6 -6
- package/dist/{dropdown-content-Bto1swKT.js.map → dropdown-content-1g76XIVT.js.map} +1 -1
- package/dist/{dropdown-content-QvR9QvT0.cjs → dropdown-content-DwiI2xi1.cjs} +3 -3
- package/dist/{dropdown-content-QvR9QvT0.cjs.map → dropdown-content-DwiI2xi1.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-C9Yx0eML.js → email-recipients-BJsjr6H6.js} +5 -5
- package/dist/{email-recipients-C9Yx0eML.js.map → email-recipients-BJsjr6H6.js.map} +1 -1
- package/dist/{email-recipients-aEI5Hz1y.cjs → email-recipients-BiPVR8Hi.cjs} +2 -2
- package/dist/{email-recipients-aEI5Hz1y.cjs.map → email-recipients-BiPVR8Hi.cjs.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-8Zt64KfZ.js → flex-0kVSQTqk.js} +2 -2
- package/dist/{flex-8Zt64KfZ.js.map → flex-0kVSQTqk.js.map} +1 -1
- package/dist/{flex-BWZv2xik.cjs → flex-CYToPu65.cjs} +2 -2
- package/dist/{flex-BWZv2xik.cjs.map → flex-CYToPu65.cjs.map} +1 -1
- package/dist/{form-BH43OMu3.cjs → form-BTIOJob0.cjs} +2 -2
- package/dist/{form-BH43OMu3.cjs.map → form-BTIOJob0.cjs.map} +1 -1
- package/dist/{form-DeoSuBtM.js → form-CzSHXlhh.js} +7 -7
- package/dist/{form-DeoSuBtM.js.map → form-CzSHXlhh.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-Dta3OeAY.cjs → formField.mixin-BE8yyY7E.cjs} +2 -2
- package/dist/{formField.mixin-Dta3OeAY.cjs.map → formField.mixin-BE8yyY7E.cjs.map} +1 -1
- package/dist/{formField.mixin-BaPL0TYo.js → formField.mixin-D3pQ9LTE.js} +2 -2
- package/dist/{formField.mixin-BaPL0TYo.js.map → formField.mixin-D3pQ9LTE.js.map} +1 -1
- package/dist/icon-CB8zMasU.js +85 -0
- package/dist/icon-CB8zMasU.js.map +1 -0
- package/dist/icon-DxLigT_B.cjs +49 -0
- package/dist/icon-DxLigT_B.cjs.map +1 -0
- package/dist/{icon-button-D1GjgM8z.cjs → icon-button-B6sa3c9D.cjs} +2 -2
- package/dist/{icon-button-D1GjgM8z.cjs.map → icon-button-B6sa3c9D.cjs.map} +1 -1
- package/dist/{icon-button-OZM1xg0D.js → icon-button-n_1iOQGQ.js} +8 -8
- package/dist/{icon-button-OZM1xg0D.js.map → icon-button-n_1iOQGQ.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 +232 -226
- package/dist/{input-CkvjCut5.js → input-BAJnPVSv.js} +3 -3
- package/dist/{input-CkvjCut5.js.map → input-BAJnPVSv.js.map} +1 -1
- package/dist/{input-lUWuO40Q.cjs → input-FXEREBl6.cjs} +2 -2
- package/dist/{input-lUWuO40Q.cjs.map → input-FXEREBl6.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-CIt75CB5.cjs → list-TbB9Rpwx.cjs} +2 -2
- package/dist/{list-CIt75CB5.cjs.map → list-TbB9Rpwx.cjs.map} +1 -1
- package/dist/{list-5rw56k73.js → list-ZeNhyo74.js} +7 -7
- package/dist/{list-5rw56k73.js.map → list-ZeNhyo74.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-BZErt4H3.js → litElement.mixin-DVZiIRUa.js} +2 -2
- package/dist/{litElement.mixin-BZErt4H3.js.map → litElement.mixin-DVZiIRUa.js.map} +1 -1
- package/dist/{litElement.mixin-BLa7fWsS.cjs → litElement.mixin-N4BRrCeD.cjs} +2 -2
- package/dist/{litElement.mixin-BLa7fWsS.cjs.map → litElement.mixin-N4BRrCeD.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-BY_0W4ER.cjs → map-DW4GhKaH.cjs} +2 -2
- package/dist/{map-BY_0W4ER.cjs.map → map-DW4GhKaH.cjs.map} +1 -1
- package/dist/{map-BrguuFGa.js → map-ck5dlHEW.js} +5 -5
- package/dist/{map-BrguuFGa.js.map → map-ck5dlHEW.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-D6ZtvTjC.cjs → media-C9Qy2mql.cjs} +2 -2
- package/dist/{media-D6ZtvTjC.cjs.map → media-C9Qy2mql.cjs.map} +1 -1
- package/dist/{media-CLz2t5zS.js → media-CunGFwol.js} +11 -11
- package/dist/{media-CLz2t5zS.js.map → media-CunGFwol.js.map} +1 -1
- package/dist/{menu-DWD_IywE.cjs → menu-BkTWAEeh.cjs} +3 -3
- package/dist/{menu-DWD_IywE.cjs.map → menu-BkTWAEeh.cjs.map} +1 -1
- package/dist/{menu-CgDSJpDV.js → menu-Cja83sLd.js} +7 -7
- package/dist/{menu-CgDSJpDV.js.map → menu-Cja83sLd.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins/index.ts +5 -5
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/{notification-service-A3reAJZQ.cjs → notification-service-BB7pBlG6.cjs} +2 -2
- package/dist/{notification-service-A3reAJZQ.cjs.map → notification-service-BB7pBlG6.cjs.map} +1 -1
- package/dist/{notification-service-1HGYK2tM.js → notification-service-CKHPaK_C.js} +9 -9
- package/dist/{notification-service-1HGYK2tM.js.map → notification-service-CKHPaK_C.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-CVbsMt75.cjs → notify-CxMMHOyT.cjs} +2 -2
- package/dist/{notify-CVbsMt75.cjs.map → notify-CxMMHOyT.cjs.map} +1 -1
- package/dist/{notify-Bt-KiLeP.js → notify-DNNTtvHN.js} +2 -2
- package/dist/{notify-Bt-KiLeP.js.map → notify-DNNTtvHN.js.map} +1 -1
- package/dist/{option-Cd0TxMBE.cjs → option-BWzNpqSh.cjs} +2 -2
- package/dist/{option-Cd0TxMBE.cjs.map → option-BWzNpqSh.cjs.map} +1 -1
- package/dist/{option-DvSZ0D0R.js → option-BsvqJpe9.js} +5 -5
- package/dist/{option-DvSZ0D0R.js.map → option-BsvqJpe9.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-C6wrIT_X.js → payment-card-form-C0Rck0tO.js} +6 -6
- package/dist/{payment-card-form-C6wrIT_X.js.map → payment-card-form-C0Rck0tO.js.map} +1 -1
- package/dist/{payment-card-form-CJkWQ3j4.cjs → payment-card-form-Q8jzlprZ.cjs} +2 -2
- package/dist/{payment-card-form-CJkWQ3j4.cjs.map → payment-card-form-Q8jzlprZ.cjs.map} +1 -1
- package/dist/{progress-pOL6OHwT.js → progress-CG2bQVP8.js} +5 -5
- package/dist/{progress-pOL6OHwT.js.map → progress-CG2bQVP8.js.map} +1 -1
- package/dist/{progress-D0iWLtHk.cjs → progress-CtoQKQub.cjs} +2 -2
- package/dist/{progress-D0iWLtHk.cjs.map → progress-CtoQKQub.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-C-t6JJsj.js → radio-button-BSUgktLD.js} +5 -5
- package/dist/{radio-button-C-t6JJsj.js.map → radio-button-BSUgktLD.js.map} +1 -1
- package/dist/{radio-button-CSV7-ftB.cjs → radio-button-DnvjanKu.cjs} +3 -3
- package/dist/{radio-button-CSV7-ftB.cjs.map → radio-button-DnvjanKu.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/route.component-BJEghY9L.js +341 -0
- package/dist/route.component-BJEghY9L.js.map +1 -0
- package/dist/route.component-YXwO_9vn.cjs +12 -0
- package/dist/route.component-YXwO_9vn.cjs.map +1 -0
- package/dist/{schmancy-steps-container-CgzGlBCk.cjs → schmancy-steps-container-BJdjcjfb.cjs} +2 -2
- package/dist/{schmancy-steps-container-CgzGlBCk.cjs.map → schmancy-steps-container-BJdjcjfb.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-AIJ2_ZSN.js → schmancy-steps-container-DLoPUodd.js} +2 -2
- package/dist/{schmancy-steps-container-AIJ2_ZSN.js.map → schmancy-steps-container-DLoPUodd.js.map} +1 -1
- package/dist/{select-CwJ4OuVo.js → select-DagDNtvt.js} +6 -6
- package/dist/{select-CwJ4OuVo.js.map → select-DagDNtvt.js.map} +1 -1
- package/dist/{select-GBaqnfMC.cjs → select-t2FXt_pa.cjs} +2 -2
- package/dist/{select-GBaqnfMC.cjs.map → select-t2FXt_pa.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-fT1oxKgG.js → sheet-CRVVJZ0R.js} +6 -6
- package/dist/{sheet-fT1oxKgG.js.map → sheet-CRVVJZ0R.js.map} +1 -1
- package/dist/{sheet-CXd47YKG.cjs → sheet-mPwoKv2g.cjs} +2 -2
- package/dist/{sheet-CXd47YKG.cjs.map → sheet-mPwoKv2g.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-CYsku-3b.js → slider-B3F6JkFf.js} +8 -8
- package/dist/{slider-CYsku-3b.js.map → slider-B3F6JkFf.js.map} +1 -1
- package/dist/{slider-DxSzFbQe.cjs → slider-pBPJS7W9.cjs} +2 -2
- package/dist/{slider-DxSzFbQe.cjs.map → slider-pBPJS7W9.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-DrG_NQpx.cjs → spinner-BRpfKS5O.cjs} +40 -11
- package/dist/spinner-BRpfKS5O.cjs.map +1 -0
- package/dist/{spinner-CrK1E8LD.js → spinner-DA_-O-xo.js} +51 -22
- package/dist/spinner-DA_-O-xo.js.map +1 -0
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-C64YekDh.js → surface-Dwl538cH.js} +2 -2
- package/dist/{surface-C64YekDh.js.map → surface-Dwl538cH.js.map} +1 -1
- package/dist/{surface-DVNi8l6T.cjs → surface-diIElnDd.cjs} +2 -2
- package/dist/{surface-DVNi8l6T.cjs.map → surface-diIElnDd.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-DmrYZ1hR.js → table-BgKKtRLd.js} +2 -2
- package/dist/{table-DmrYZ1hR.js.map → table-BgKKtRLd.js.map} +1 -1
- package/dist/{table-B3WKGYlu.cjs → table-Bov9UEcb.cjs} +2 -2
- package/dist/{table-B3WKGYlu.cjs.map → table-Bov9UEcb.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-Uetjk25R.js → tabs-compatibility-CPvOBfor.js} +7 -7
- package/dist/{tabs-compatibility-Uetjk25R.js.map → tabs-compatibility-CPvOBfor.js.map} +1 -1
- package/dist/{tabs-compatibility-Ds7SEeST.cjs → tabs-compatibility-D5yIfQ_k.cjs} +2 -2
- package/dist/{tabs-compatibility-Ds7SEeST.cjs.map → tabs-compatibility-D5yIfQ_k.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-2zZHkoOm.cjs +2 -0
- package/dist/{tailwind.mixin-df9KoZ9x.cjs.map → tailwind.mixin-2zZHkoOm.cjs.map} +1 -1
- package/dist/tailwind.mixin-DbE6WE_l.js +43 -0
- package/dist/{tailwind.mixin-B6ADeWOc.js.map → tailwind.mixin-DbE6WE_l.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-B1Tng7F9.js → textarea-CNEv2Aoz.js} +2 -2
- package/dist/{textarea-B1Tng7F9.js.map → textarea-CNEv2Aoz.js.map} +1 -1
- package/dist/{textarea-QKNA3oAQ.cjs → textarea-CswyRsoR.cjs} +2 -2
- package/dist/{textarea-QKNA3oAQ.cjs.map → textarea-CswyRsoR.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-CYEhS3ub.js → theme-button-CRcXeIw5.js} +5 -5
- package/dist/{theme-button-CYEhS3ub.js.map → theme-button-CRcXeIw5.js.map} +1 -1
- package/dist/{theme-button-CoCFS3Rx.cjs → theme-button-DPmEDF3P.cjs} +2 -2
- package/dist/{theme-button-CoCFS3Rx.cjs.map → theme-button-DPmEDF3P.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-C12jLwtB.cjs → theme.component-CamQBQHp.cjs} +2 -2
- package/dist/{theme.component-C12jLwtB.cjs.map → theme.component-CamQBQHp.cjs.map} +1 -1
- package/dist/{theme.component-Df731_fn.js → theme.component-v5kO9gkQ.js} +30 -30
- package/dist/{theme.component-Df731_fn.js.map → theme.component-v5kO9gkQ.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-B7bscKFN.cjs → timezone-Bk4IctLE.cjs} +2 -2
- package/dist/{timezone-B7bscKFN.cjs.map → timezone-Bk4IctLE.cjs.map} +1 -1
- package/dist/{timezone-CdtCVjMF.js → timezone-Yo9Sdd5R.js} +8 -8
- package/dist/{timezone-CdtCVjMF.js.map → timezone-Yo9Sdd5R.js.map} +1 -1
- package/dist/{tooltip-CjoNCIvr.cjs → tooltip-B-yn_OSS.cjs} +2 -2
- package/dist/{tooltip-CjoNCIvr.cjs.map → tooltip-B-yn_OSS.cjs.map} +1 -1
- package/dist/{tooltip-JVkexTyf.js → tooltip-ZJEAlZUQ.js} +2 -2
- package/dist/{tooltip-JVkexTyf.js.map → tooltip-ZJEAlZUQ.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-CaqiNcJJ.js → tree-BV-2ElOU.js} +5 -5
- package/dist/{tree-CaqiNcJJ.js.map → tree-BV-2ElOU.js.map} +1 -1
- package/dist/{tree-Be48ABq4.cjs → tree-CxBWy_Vp.cjs} +2 -2
- package/dist/{tree-Be48ABq4.cjs.map → tree-CxBWy_Vp.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-CoMrmwFJ.js → typewriter-Bsn8eoJW.js} +7 -7
- package/dist/{typewriter-CoMrmwFJ.js.map → typewriter-Bsn8eoJW.js.map} +1 -1
- package/dist/{typewriter-DCYDScE9.cjs → typewriter-C-mf2RVj.cjs} +2 -2
- package/dist/{typewriter-DCYDScE9.cjs.map → typewriter-C-mf2RVj.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-DkJagEoF.js → typography-B5Y21osS.js} +2 -2
- package/dist/{typography-DkJagEoF.js.map → typography-B5Y21osS.js.map} +1 -1
- package/dist/{typography-BQg6J2hD.cjs → typography-pyk5TJHO.cjs} +2 -2
- package/dist/{typography-BQg6J2hD.cjs.map → typography-pyk5TJHO.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +252 -1
- package/types/mixins/index.d.ts +1 -1
- package/types/src/area/area.component.d.ts +1 -4
- package/types/src/area/route.component.d.ts +9 -3
- package/types/src/busy/spinner.d.ts +1 -1
- package/types/src/checkbox/checkbox.d.ts +5 -4
- package/types/src/chips/assist-chip.d.ts +46 -0
- package/types/src/chips/chip.d.ts +3 -32
- package/types/src/chips/chips.d.ts +26 -11
- package/types/src/chips/filter-chip.d.ts +73 -0
- package/types/src/chips/index.d.ts +11 -2
- package/types/src/chips/input-chip.d.ts +75 -0
- package/types/src/chips/suggestion-chip.d.ts +51 -0
- package/types/src/icons/icon.d.ts +32 -5
- package/dist/checkbox-CVwU3M4h.js +0 -243
- package/dist/checkbox-CVwU3M4h.js.map +0 -1
- package/dist/checkbox-DP_zX786.cjs +0 -38
- package/dist/checkbox-DP_zX786.cjs.map +0 -1
- package/dist/chips-BuMUH3zA.cjs +0 -87
- package/dist/chips-BuMUH3zA.cjs.map +0 -1
- package/dist/chips-DcCUwYBu.js +0 -340
- package/dist/chips-DcCUwYBu.js.map +0 -1
- package/dist/icon-B0JNrBfq.js +0 -55
- package/dist/icon-B0JNrBfq.js.map +0 -1
- package/dist/icon-DY2pBLIU.cjs +0 -30
- package/dist/icon-DY2pBLIU.cjs.map +0 -1
- package/dist/redispatch-event-BLom7yp4.js +0 -293
- package/dist/redispatch-event-BLom7yp4.js.map +0 -1
- package/dist/redispatch-event-DHcobAl6.cjs +0 -4
- package/dist/redispatch-event-DHcobAl6.cjs.map +0 -1
- package/dist/route.component-BWVESeW2.cjs +0 -12
- package/dist/route.component-BWVESeW2.cjs.map +0 -1
- package/dist/route.component-DkPA8FVn.js +0 -348
- package/dist/route.component-DkPA8FVn.js.map +0 -1
- package/dist/spinner-CrK1E8LD.js.map +0 -1
- package/dist/spinner-DrG_NQpx.cjs.map +0 -1
- package/dist/tailwind.mixin-B6ADeWOc.js +0 -43
- package/dist/tailwind.mixin-df9KoZ9x.cjs +0 -2
package/ai/chips.md
CHANGED
|
@@ -1,175 +1,397 @@
|
|
|
1
1
|
# Schmancy Chips - AI Reference
|
|
2
2
|
|
|
3
|
+
## 🎯 Chip Type Behavior Matrix
|
|
4
|
+
|
|
5
|
+
Understanding the behavioral differences between chip types is crucial for proper implementation:
|
|
6
|
+
|
|
7
|
+
| Chip Type | Has Selected State | Click Behavior | Primary Purpose | Remove Button |
|
|
8
|
+
|-----------|-------------------|----------------|-----------------|---------------|
|
|
9
|
+
| **Filter** | ✅ Yes (toggles) | Toggles selected state on/off | Filtering content, toggling options | ❌ No |
|
|
10
|
+
| **Assist** | ❌ No | Triggers an action (no state change) | Smart actions, automation, help | ❌ No |
|
|
11
|
+
| **Input** | ❌ No | No default behavior (custom action) | Representing user data/selections | ✅ Optional |
|
|
12
|
+
| **Suggestion** | ❌ No | Triggers an action (no state change) | Quick recommendations, shortcuts | ❌ No |
|
|
13
|
+
|
|
14
|
+
### ⚠️ Important Behavioral Notes
|
|
15
|
+
|
|
16
|
+
- **ONLY Filter chips have a selected state** - They toggle on/off to filter content
|
|
17
|
+
- **Assist/Suggestion chips trigger actions** - They don't change state, they perform operations
|
|
18
|
+
- **Input chips represent data** - They show user selections and can be removed
|
|
19
|
+
- **Default type is 'filter'** - For backward compatibility with existing code
|
|
20
|
+
|
|
21
|
+
### 🔧 Pure Schmancy Implementation
|
|
22
|
+
|
|
23
|
+
This is a pure Schmancy implementation that:
|
|
24
|
+
- ✅ **No Material Design imports** - Built entirely with Lit, Tailwind CSS, and RxJS
|
|
25
|
+
- ✅ **Full Material Design 3 compliance** - Maintains all MD3 behaviors and styling
|
|
26
|
+
- ✅ **Reactive architecture** - Uses RxJS for state management and event handling
|
|
27
|
+
- ✅ **Tailwind styling** - All styling done with Tailwind classes, no CSS-in-JS
|
|
28
|
+
|
|
29
|
+
## Material Web Aligned API
|
|
30
|
+
|
|
31
|
+
The schmancy chips component fully supports Material Design 3 chip specifications with all four chip types:
|
|
32
|
+
|
|
33
|
+
- **filter**: Toggle chips for filtering content (selectable) - default type
|
|
34
|
+
- **assist**: Action chips for prompting smart/automated actions
|
|
35
|
+
- **input**: Removable chips for user inputs and data
|
|
36
|
+
- **suggestion**: Chips for quick suggestions and recommendations
|
|
37
|
+
|
|
38
|
+
## Usage Examples
|
|
39
|
+
|
|
3
40
|
```js
|
|
4
|
-
//
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
41
|
+
// MATERIAL WEB COMPLIANT CHIP TYPES
|
|
42
|
+
|
|
43
|
+
// Assist Chip - For actions and navigation
|
|
44
|
+
<schmancy-chip type="assist" value="share">
|
|
45
|
+
<schmancy-icon slot="icon">share</schmancy-icon>
|
|
46
|
+
Share
|
|
47
|
+
</schmancy-chip>
|
|
48
|
+
|
|
49
|
+
// Filter Chip - Toggleable filters (default type for backward compatibility)
|
|
50
|
+
<schmancy-chip type="filter" value="starred" selected>
|
|
51
|
+
<schmancy-icon slot="icon">star</schmancy-icon>
|
|
52
|
+
Starred
|
|
12
53
|
</schmancy-chip>
|
|
13
54
|
|
|
14
|
-
//
|
|
55
|
+
// Input Chip - User inputs with optional remove button
|
|
56
|
+
<schmancy-chip type="input" value="john-doe" removable @remove=${handleRemove}>
|
|
57
|
+
<schmancy-icon slot="icon">person</schmancy-icon>
|
|
58
|
+
John Doe
|
|
59
|
+
</schmancy-chip>
|
|
60
|
+
|
|
61
|
+
// Suggestion Chip - Quick suggestions
|
|
62
|
+
<schmancy-chip type="suggestion" value="reply">
|
|
63
|
+
<schmancy-icon slot="icon">reply</schmancy-icon>
|
|
64
|
+
Reply
|
|
65
|
+
</schmancy-chip>
|
|
66
|
+
|
|
67
|
+
// ENHANCED PROPERTIES
|
|
68
|
+
|
|
69
|
+
// Elevated chips for more emphasis
|
|
70
|
+
<schmancy-chip type="assist" elevated>
|
|
71
|
+
<schmancy-icon slot="icon">add</schmancy-icon>
|
|
72
|
+
Create New
|
|
73
|
+
</schmancy-chip>
|
|
74
|
+
|
|
75
|
+
// Soft-disabled for partial interaction
|
|
76
|
+
<schmancy-chip type="filter" soft-disabled>
|
|
77
|
+
Premium Only
|
|
78
|
+
</schmancy-chip>
|
|
79
|
+
|
|
80
|
+
// Avatar support for input chips
|
|
81
|
+
<schmancy-chip type="input" avatar removable>
|
|
82
|
+
<img slot="icon" src="user.jpg" alt="User">
|
|
83
|
+
Alice Smith
|
|
84
|
+
</schmancy-chip>
|
|
85
|
+
|
|
86
|
+
// BACKWARD COMPATIBLE USAGE (still works!)
|
|
87
|
+
|
|
88
|
+
// Simple text chip (defaults to filter type)
|
|
15
89
|
<schmancy-chip value="javascript">
|
|
16
90
|
JavaScript
|
|
17
91
|
</schmancy-chip>
|
|
18
92
|
|
|
19
|
-
// Chip with icon
|
|
93
|
+
// Chip with icon in content (legacy style - still supported)
|
|
20
94
|
<schmancy-chip value="edit">
|
|
21
95
|
<schmancy-icon>edit</schmancy-icon>
|
|
22
96
|
Edit
|
|
23
97
|
</schmancy-chip>
|
|
24
98
|
|
|
25
|
-
//
|
|
99
|
+
// Icon slot usage (recommended for proper Material Web alignment)
|
|
100
|
+
<schmancy-chip value="star" selected>
|
|
101
|
+
<schmancy-icon slot="icon">star</schmancy-icon>
|
|
102
|
+
Starred
|
|
103
|
+
</schmancy-chip>
|
|
104
|
+
|
|
105
|
+
// Complex content with Tailwind classes
|
|
26
106
|
<schmancy-chip value="user1" class="flex items-center gap-2">
|
|
27
107
|
<schmancy-avatar size="sm">JD</schmancy-avatar>
|
|
28
108
|
<schmancy-typography type="body" token="sm">john.doe@example.com</schmancy-typography>
|
|
29
109
|
</schmancy-chip>
|
|
30
110
|
|
|
31
|
-
//
|
|
32
|
-
<schmancy-chip value="notifications" class="flex items-center gap-2">
|
|
33
|
-
<schmancy-icon>notifications</schmancy-icon>
|
|
34
|
-
<span>Notifications</span>
|
|
35
|
-
<schmancy-badge>5</schmancy-badge>
|
|
36
|
-
</schmancy-chip>
|
|
111
|
+
// CHIPS CONTAINER
|
|
37
112
|
|
|
38
|
-
//
|
|
113
|
+
// Single Selection Mode - Automatically detected from .value property
|
|
39
114
|
<schmancy-chips
|
|
40
115
|
.value=${selectedValue}
|
|
41
116
|
@change=${handleSelectionChange}>
|
|
42
|
-
<schmancy-chip value="1">Option 1</schmancy-chip>
|
|
43
|
-
<schmancy-chip value="2">Option 2</schmancy-chip>
|
|
44
|
-
<schmancy-chip value="3">Option 3</schmancy-chip>
|
|
117
|
+
<schmancy-chip type="filter" value="1">Option 1</schmancy-chip>
|
|
118
|
+
<schmancy-chip type="filter" value="2">Option 2</schmancy-chip>
|
|
119
|
+
<schmancy-chip type="filter" value="3">Option 3</schmancy-chip>
|
|
45
120
|
</schmancy-chips>
|
|
46
121
|
|
|
47
|
-
//
|
|
122
|
+
// Multiple Selection Mode - Automatically detected from .values property
|
|
48
123
|
<schmancy-chips
|
|
49
|
-
multi
|
|
50
124
|
.values=${selectedValues}
|
|
51
125
|
@change=${handleSelectionChange}>
|
|
52
|
-
<schmancy-chip value="red">Red</schmancy-chip>
|
|
53
|
-
<schmancy-chip value="green">Green</schmancy-chip>
|
|
54
|
-
<schmancy-chip value="blue">Blue</schmancy-chip>
|
|
126
|
+
<schmancy-chip type="filter" value="red">Red</schmancy-chip>
|
|
127
|
+
<schmancy-chip type="filter" value="green">Green</schmancy-chip>
|
|
128
|
+
<schmancy-chip type="filter" value="blue">Blue</schmancy-chip>
|
|
55
129
|
</schmancy-chips>
|
|
56
130
|
|
|
57
|
-
//
|
|
58
|
-
<schmancy-chips
|
|
59
|
-
<schmancy-chip value="
|
|
60
|
-
<schmancy-chip value="
|
|
61
|
-
<schmancy-chip value="wed">Wednesday</schmancy-chip>
|
|
62
|
-
<schmancy-chip value="thu">Thursday</schmancy-chip>
|
|
63
|
-
<schmancy-chip value="fri">Friday</schmancy-chip>
|
|
131
|
+
// Layout-only Mode - No selection management when neither property is used
|
|
132
|
+
<schmancy-chips>
|
|
133
|
+
<schmancy-chip type="assist" value="share">Share</schmancy-chip>
|
|
134
|
+
<schmancy-chip type="assist" value="save">Save</schmancy-chip>
|
|
64
135
|
</schmancy-chips>
|
|
65
136
|
|
|
66
|
-
//
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
// Chips Container Properties
|
|
73
|
-
multi: boolean // Enable multiple selection mode
|
|
74
|
-
value: string // Selected value (single selection)
|
|
75
|
-
values: string[] // Selected values (multiple selection)
|
|
76
|
-
wrap: boolean // Whether chips wrap to new lines (default: true)
|
|
77
|
-
|
|
78
|
-
// Chip Events
|
|
79
|
-
@click // Fires when chip is clicked
|
|
80
|
-
@change // Fires when selection changes, with { detail: { value: string, selected: boolean } }
|
|
81
|
-
|
|
82
|
-
// Chips Container Events
|
|
83
|
-
@change // Fires when selection changes, with detail being string (single) or string[] (multi)
|
|
84
|
-
|
|
85
|
-
// Examples
|
|
86
|
-
// Basic chips with emoji and Material icons
|
|
87
|
-
<div>
|
|
88
|
-
<schmancy-chip value="basic">Basic</schmancy-chip>
|
|
89
|
-
<schmancy-chip value="javascript" icon="📝">JavaScript</schmancy-chip>
|
|
90
|
-
<schmancy-chip value="settings" icon="settings">Settings</schmancy-chip>
|
|
91
|
-
<schmancy-chip value="star" icon="star">Starred</schmancy-chip>
|
|
92
|
-
<schmancy-chip value="delete" icon="delete">Delete</schmancy-chip>
|
|
93
|
-
</div>
|
|
94
|
-
|
|
95
|
-
// User chips with avatars - now fully supported!
|
|
96
|
-
<div class="flex flex-wrap gap-2">
|
|
97
|
-
<schmancy-chip value="user1" class="flex items-center gap-2">
|
|
98
|
-
<schmancy-avatar size="sm">JD</schmancy-avatar>
|
|
99
|
-
<schmancy-typography type="body" token="sm">john.doe@example.com</schmancy-typography>
|
|
137
|
+
// Mixed chip types in container
|
|
138
|
+
<schmancy-chips @remove=${handleRemove}>
|
|
139
|
+
<schmancy-chip type="input" value="tag1" removable>
|
|
140
|
+
<schmancy-icon slot="icon">label</schmancy-icon>
|
|
141
|
+
Important
|
|
100
142
|
</schmancy-chip>
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
<schmancy-typography type="body" token="sm">alice.smith@example.com</schmancy-typography>
|
|
143
|
+
<schmancy-chip type="assist" value="add">
|
|
144
|
+
<schmancy-icon slot="icon">add</schmancy-icon>
|
|
145
|
+
Add Tag
|
|
105
146
|
</schmancy-chip>
|
|
106
|
-
</div>
|
|
107
|
-
|
|
108
|
-
// Single selection chips
|
|
109
|
-
<schmancy-chips
|
|
110
|
-
.value=${selectedSize}
|
|
111
|
-
@change=${(e) => selectedSize = e.detail}>
|
|
112
|
-
<schmancy-chip value="sm">Small</schmancy-chip>
|
|
113
|
-
<schmancy-chip value="md">Medium</schmancy-chip>
|
|
114
|
-
<schmancy-chip value="lg">Large</schmancy-chip>
|
|
115
147
|
</schmancy-chips>
|
|
116
148
|
|
|
117
|
-
//
|
|
118
|
-
<schmancy-chips
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
<schmancy-chip value="
|
|
123
|
-
<schmancy-chip value="
|
|
124
|
-
<schmancy-chip value="mushrooms">Mushrooms</schmancy-chip>
|
|
125
|
-
<schmancy-chip value="onions">Onions</schmancy-chip>
|
|
126
|
-
<schmancy-chip value="peppers">Peppers</schmancy-chip>
|
|
149
|
+
// Horizontal scrolling chips
|
|
150
|
+
<schmancy-chips wrap="false">
|
|
151
|
+
<schmancy-chip type="filter" value="mon">Monday</schmancy-chip>
|
|
152
|
+
<schmancy-chip type="filter" value="tue">Tuesday</schmancy-chip>
|
|
153
|
+
<schmancy-chip type="filter" value="wed">Wednesday</schmancy-chip>
|
|
154
|
+
<schmancy-chip type="filter" value="thu">Thursday</schmancy-chip>
|
|
155
|
+
<schmancy-chip type="filter" value="fri">Friday</schmancy-chip>
|
|
127
156
|
</schmancy-chips>
|
|
157
|
+
```
|
|
128
158
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
159
|
+
## Component Properties
|
|
160
|
+
|
|
161
|
+
### schmancy-chip
|
|
162
|
+
|
|
163
|
+
| Property | Type | Default | Description |
|
|
164
|
+
|----------|------|---------|-------------|
|
|
165
|
+
| `type` | `'assist' \| 'filter' \| 'input' \| 'suggestion'` | `'filter'` | Chip type (Material Web spec) |
|
|
166
|
+
| `value` | `string` | `''` | Value for selection/identification |
|
|
167
|
+
| `selected` | `boolean` | `false` | Whether chip is selected (ONLY applies to filter chips) |
|
|
168
|
+
| `label` | `string` | `''` | Text label (alternative to slot content) |
|
|
169
|
+
| `icon` | `string` | `''` | Legacy emoji/icon support |
|
|
170
|
+
| `avatar` | `boolean` | `false` | Enable avatar mode (input chips) |
|
|
171
|
+
| `elevated` | `boolean` | `false` | Add elevation shadow |
|
|
172
|
+
| `soft-disabled` | `boolean` | `false` | Partial disable state |
|
|
173
|
+
| `removable` | `boolean` | `false` | Show remove button (input chips) |
|
|
174
|
+
| `readOnly` | `boolean` | `false` | Make chip non-interactive |
|
|
175
|
+
| `disabled` | `boolean` | `false` | Fully disable chip |
|
|
176
|
+
|
|
177
|
+
### schmancy-chips
|
|
178
|
+
|
|
179
|
+
| Property | Type | Default | Description |
|
|
180
|
+
|----------|------|---------|-------------|
|
|
181
|
+
| `multi` | `boolean` | `false` | **[Deprecated]** Use `.values` for multi-selection or `.value` for single-selection |
|
|
182
|
+
| `value` | `string` | `''` | Selected value (automatically enables single-selection mode) |
|
|
183
|
+
| `values` | `string[]` | `[]` | Selected values (automatically enables multi-selection mode) |
|
|
184
|
+
| `wrap` | `boolean` | `true` | Whether chips wrap to new lines |
|
|
185
|
+
|
|
186
|
+
#### 🎯 Automatic Mode Detection
|
|
187
|
+
|
|
188
|
+
The `schmancy-chips` container now **automatically detects** the selection mode based on which property you use:
|
|
189
|
+
|
|
190
|
+
- **`.values` array** → Automatically enables **multi-selection mode**
|
|
191
|
+
- **`.value` string** → Automatically enables **single-selection mode**
|
|
192
|
+
- **Neither property** → Layout-only mode (no selection management)
|
|
193
|
+
|
|
194
|
+
The deprecated `multi` property is kept for backward compatibility but is no longer needed.
|
|
195
|
+
|
|
196
|
+
## Events
|
|
197
|
+
|
|
198
|
+
### schmancy-chip Events
|
|
199
|
+
|
|
200
|
+
- `@change` - Fires when selection changes (ONLY for filter chips)
|
|
201
|
+
- Detail: `{ value: string, selected: boolean }`
|
|
202
|
+
- Note: Only filter chips emit this event when toggling selected state
|
|
203
|
+
- `@remove` - Fires when remove button clicked (ONLY for input chips with `removable` prop)
|
|
204
|
+
- Detail: `{ value: string }`
|
|
205
|
+
- Note: Requires `type="input"` and `removable` property
|
|
206
|
+
- `@click` - Standard click event (all chip types)
|
|
207
|
+
- For assist/suggestion chips: Use this to trigger actions
|
|
208
|
+
- For filter chips: Internally handled to toggle selection
|
|
209
|
+
- For input chips: Use for custom click handling
|
|
210
|
+
|
|
211
|
+
### schmancy-chips Events
|
|
212
|
+
|
|
213
|
+
- `@change` - Fires when selection changes
|
|
214
|
+
- Detail: `string` (single mode) or `string[]` (multi mode)
|
|
215
|
+
- `@remove` - Bubbled from child chip remove events
|
|
216
|
+
- Detail: `{ value: string }`
|
|
217
|
+
|
|
218
|
+
## Slots
|
|
219
|
+
|
|
220
|
+
### Icon Slot (Recommended)
|
|
221
|
+
Use the `icon` slot for proper Material Web icon alignment:
|
|
222
|
+
|
|
223
|
+
```html
|
|
224
|
+
<schmancy-chip value="star">
|
|
225
|
+
<schmancy-icon slot="icon">star</schmancy-icon>
|
|
226
|
+
Starred
|
|
227
|
+
</schmancy-chip>
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Default Slot
|
|
231
|
+
The default slot accepts any content, including text, icons, and complex layouts:
|
|
232
|
+
|
|
233
|
+
```html
|
|
234
|
+
<schmancy-chip value="complex">
|
|
235
|
+
<div class="flex items-center gap-2">
|
|
236
|
+
<schmancy-avatar size="sm">JD</schmancy-avatar>
|
|
237
|
+
<span>John Doe</span>
|
|
238
|
+
<schmancy-badge>5</schmancy-badge>
|
|
239
|
+
</div>
|
|
240
|
+
</schmancy-chip>
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## Real-World Examples
|
|
244
|
+
|
|
245
|
+
### Tag Input with Remove
|
|
246
|
+
```js
|
|
247
|
+
<schmancy-chips @remove=${handleTagRemove}>
|
|
248
|
+
${tags.map(tag => html`
|
|
249
|
+
<schmancy-chip
|
|
250
|
+
type="input"
|
|
251
|
+
value=${tag.id}
|
|
252
|
+
removable>
|
|
253
|
+
<schmancy-icon slot="icon">label</schmancy-icon>
|
|
254
|
+
${tag.name}
|
|
255
|
+
</schmancy-chip>
|
|
256
|
+
`)}
|
|
257
|
+
<schmancy-chip type="assist" value="add" @click=${addTag}>
|
|
258
|
+
<schmancy-icon slot="icon">add</schmancy-icon>
|
|
259
|
+
Add Tag
|
|
260
|
+
</schmancy-chip>
|
|
141
261
|
</schmancy-chips>
|
|
262
|
+
```
|
|
142
263
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
<schmancy-chip
|
|
151
|
-
|
|
152
|
-
|
|
264
|
+
### Filter Bar with Multiple Types
|
|
265
|
+
```js
|
|
266
|
+
<schmancy-chips .values=${activeFilters}>
|
|
267
|
+
<schmancy-chip type="filter" value="in-stock">
|
|
268
|
+
<schmancy-icon slot="icon">inventory</schmancy-icon>
|
|
269
|
+
In Stock
|
|
270
|
+
</schmancy-chip>
|
|
271
|
+
<schmancy-chip type="filter" value="on-sale">
|
|
272
|
+
<schmancy-icon slot="icon">sell</schmancy-icon>
|
|
273
|
+
On Sale
|
|
274
|
+
</schmancy-chip>
|
|
275
|
+
<schmancy-chip type="filter" value="free-shipping">
|
|
276
|
+
<schmancy-icon slot="icon">local_shipping</schmancy-icon>
|
|
277
|
+
Free Shipping
|
|
278
|
+
</schmancy-chip>
|
|
153
279
|
</schmancy-chips>
|
|
280
|
+
```
|
|
154
281
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
.
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
282
|
+
### User Selection with Avatars
|
|
283
|
+
```js
|
|
284
|
+
<schmancy-chips>
|
|
285
|
+
${users.map(user => html`
|
|
286
|
+
<schmancy-chip
|
|
287
|
+
type="input"
|
|
288
|
+
value=${user.id}
|
|
289
|
+
avatar
|
|
290
|
+
removable>
|
|
291
|
+
<img slot="icon" src=${user.avatar} alt=${user.name}>
|
|
292
|
+
${user.name}
|
|
165
293
|
</schmancy-chip>
|
|
166
294
|
`)}
|
|
167
295
|
</schmancy-chips>
|
|
296
|
+
```
|
|
168
297
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
<schmancy-chip
|
|
173
|
-
|
|
298
|
+
### Action Chips
|
|
299
|
+
```js
|
|
300
|
+
<div class="flex gap-2">
|
|
301
|
+
<schmancy-chip type="assist" elevated @click=${handleShare}>
|
|
302
|
+
<schmancy-icon slot="icon">share</schmancy-icon>
|
|
303
|
+
Share
|
|
304
|
+
</schmancy-chip>
|
|
305
|
+
<schmancy-chip type="assist" @click=${handleBookmark}>
|
|
306
|
+
<schmancy-icon slot="icon">bookmark</schmancy-icon>
|
|
307
|
+
Save
|
|
308
|
+
</schmancy-chip>
|
|
309
|
+
<schmancy-chip type="assist" @click=${handlePrint}>
|
|
310
|
+
<schmancy-icon slot="icon">print</schmancy-icon>
|
|
311
|
+
Print
|
|
312
|
+
</schmancy-chip>
|
|
174
313
|
</div>
|
|
175
|
-
```
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Suggestion Chips
|
|
317
|
+
```js
|
|
318
|
+
<schmancy-chips>
|
|
319
|
+
<schmancy-chip type="suggestion" value="recently-viewed">
|
|
320
|
+
<schmancy-icon slot="icon">history</schmancy-icon>
|
|
321
|
+
Recently Viewed
|
|
322
|
+
</schmancy-chip>
|
|
323
|
+
<schmancy-chip type="suggestion" value="recommended">
|
|
324
|
+
<schmancy-icon slot="icon">thumb_up</schmancy-icon>
|
|
325
|
+
Recommended
|
|
326
|
+
</schmancy-chip>
|
|
327
|
+
<schmancy-chip type="suggestion" value="trending">
|
|
328
|
+
<schmancy-icon slot="icon">trending_up</schmancy-icon>
|
|
329
|
+
Trending
|
|
330
|
+
</schmancy-chip>
|
|
331
|
+
</schmancy-chips>
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
## Common Mistakes to Avoid
|
|
335
|
+
|
|
336
|
+
### ❌ Trying to use `selected` on non-filter chips
|
|
337
|
+
```js
|
|
338
|
+
// WRONG - Only filter chips support selected state
|
|
339
|
+
<schmancy-chip type="assist" selected>Help</schmancy-chip>
|
|
340
|
+
<schmancy-chip type="input" selected>Tag</schmancy-chip>
|
|
341
|
+
<schmancy-chip type="suggestion" selected>Tip</schmancy-chip>
|
|
342
|
+
|
|
343
|
+
// CORRECT - Only use selected with filter type
|
|
344
|
+
<schmancy-chip type="filter" selected>Active Filter</schmancy-chip>
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### ❌ Expecting state changes from assist/suggestion chips
|
|
348
|
+
```js
|
|
349
|
+
// WRONG - Expecting assist chip to maintain state
|
|
350
|
+
<schmancy-chip type="assist" @change=${handleChange}>
|
|
351
|
+
Share
|
|
352
|
+
</schmancy-chip>
|
|
353
|
+
|
|
354
|
+
// CORRECT - Use click event for actions
|
|
355
|
+
<schmancy-chip type="assist" @click=${handleShare}>
|
|
356
|
+
Share
|
|
357
|
+
</schmancy-chip>
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
### ❌ Using remove button on non-input chips
|
|
361
|
+
```js
|
|
362
|
+
// WRONG - Only input chips support removable
|
|
363
|
+
<schmancy-chip type="filter" removable>Filter</schmancy-chip>
|
|
364
|
+
<schmancy-chip type="assist" removable>Action</schmancy-chip>
|
|
365
|
+
|
|
366
|
+
// CORRECT - Use removable only with input type
|
|
367
|
+
<schmancy-chip type="input" removable @remove=${handleRemove}>
|
|
368
|
+
User Tag
|
|
369
|
+
</schmancy-chip>
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
## Migration Guide
|
|
373
|
+
|
|
374
|
+
### From Legacy to Material Web API
|
|
375
|
+
|
|
376
|
+
```js
|
|
377
|
+
// OLD (still works for backward compatibility)
|
|
378
|
+
<schmancy-chip value="star" selected icon="">
|
|
379
|
+
<schmancy-icon>star</schmancy-icon>
|
|
380
|
+
Starred
|
|
381
|
+
</schmancy-chip>
|
|
382
|
+
|
|
383
|
+
// NEW (Material Web compliant)
|
|
384
|
+
<schmancy-chip type="filter" value="star" selected>
|
|
385
|
+
<schmancy-icon slot="icon">star</schmancy-icon>
|
|
386
|
+
Starred
|
|
387
|
+
</schmancy-chip>
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
### Key Changes
|
|
391
|
+
1. Add `type` property to explicitly set chip behavior
|
|
392
|
+
2. Use `slot="icon"` for icons to ensure proper placement
|
|
393
|
+
3. Use `removable` property for input chips with remove functionality
|
|
394
|
+
4. Use `elevated` for visual emphasis
|
|
395
|
+
5. Use `soft-disabled` for partial interaction states
|
|
396
|
+
|
|
397
|
+
All existing code continues to work - the default type is `'filter'` for backward compatibility.
|
package/ai/typography.md
CHANGED
|
@@ -53,8 +53,8 @@ import '@schmancy/index' // For all Schmancy components
|
|
|
53
53
|
</schmancy-typography>
|
|
54
54
|
|
|
55
55
|
// 6. With additional styling
|
|
56
|
-
<schmancy-typography type="headline" token="sm" class="mb-4
|
|
57
|
-
|
|
56
|
+
<schmancy-typography type="headline" token="sm" class="mb-4">
|
|
57
|
+
Section Title
|
|
58
58
|
</schmancy-typography>
|
|
59
59
|
|
|
60
60
|
// 7. Centered uppercase title
|
|
@@ -77,7 +77,7 @@ import '@schmancy/index' // For all Schmancy components
|
|
|
77
77
|
<schmancy-typography type="headline" token="sm" class="block mb-2">
|
|
78
78
|
Card Title
|
|
79
79
|
</schmancy-typography>
|
|
80
|
-
<schmancy-typography type="body" token="md" class="block mb-4
|
|
80
|
+
<schmancy-typography type="body" token="md" class="block mb-4">
|
|
81
81
|
This is a description that provides more context about the card content.
|
|
82
82
|
</schmancy-typography>
|
|
83
83
|
<schmancy-typography type="label" token="lg" class="text-primary">
|
|
@@ -167,8 +167,66 @@ Material Design 3 typography scale with 6 types, each with 5 sizes:
|
|
|
167
167
|
### Theme Integration
|
|
168
168
|
Typography automatically inherits colors from the theme:
|
|
169
169
|
- Uses `color: var(--schmancy-sys-color-surface-on)` by default
|
|
170
|
-
-
|
|
171
|
-
-
|
|
170
|
+
- Automatically inherits the correct text color from parent surfaces
|
|
171
|
+
- WARNING: Avoid overriding with Tailwind color classes when inside surfaces
|
|
172
|
+
|
|
173
|
+
### Color Inheritance
|
|
174
|
+
|
|
175
|
+
**CRITICAL: Typography components automatically inherit the correct color from their parent surface.**
|
|
176
|
+
|
|
177
|
+
#### ✅ CORRECT - Let Surface Handle Colors
|
|
178
|
+
```html
|
|
179
|
+
<!-- Typography inherits the correct on-color from the surface -->
|
|
180
|
+
<schmancy-surface type="containerLow" class="p-4">
|
|
181
|
+
<schmancy-typography type="headline" token="md">
|
|
182
|
+
This text automatically uses the correct contrast color
|
|
183
|
+
</schmancy-typography>
|
|
184
|
+
</schmancy-surface>
|
|
185
|
+
|
|
186
|
+
<!-- Different surface types provide different text colors automatically -->
|
|
187
|
+
<schmancy-surface type="primary" class="p-4">
|
|
188
|
+
<schmancy-typography type="body" token="md">
|
|
189
|
+
White text on primary background (automatic)
|
|
190
|
+
</schmancy-typography>
|
|
191
|
+
</schmancy-surface>
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
#### ❌ WRONG - Explicit Color Classes Inside Surfaces
|
|
195
|
+
```html
|
|
196
|
+
<!-- BAD: Overriding the surface's automatic color selection -->
|
|
197
|
+
<schmancy-surface type="containerLow" class="p-4">
|
|
198
|
+
<schmancy-typography type="headline" token="md" class="text-surface-onVariant">
|
|
199
|
+
Don't add color classes - the surface already provides the right color!
|
|
200
|
+
</schmancy-typography>
|
|
201
|
+
</schmancy-surface>
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
#### When to Use Color Classes
|
|
205
|
+
|
|
206
|
+
**ONLY add explicit color classes when:**
|
|
207
|
+
1. Typography is used standalone (not inside a surface)
|
|
208
|
+
2. You need a specific semantic color (e.g., `text-error` for errors)
|
|
209
|
+
3. Creating interactive elements that change color on hover
|
|
210
|
+
|
|
211
|
+
```html
|
|
212
|
+
<!-- Standalone typography (not in a surface) - color class is appropriate -->
|
|
213
|
+
<div class="p-4">
|
|
214
|
+
<schmancy-typography type="label" token="md" class="text-error">
|
|
215
|
+
Error: Invalid input
|
|
216
|
+
</schmancy-typography>
|
|
217
|
+
</div>
|
|
218
|
+
|
|
219
|
+
<!-- Interactive element with hover state -->
|
|
220
|
+
<schmancy-typography type="body" token="md" class="cursor-pointer hover:text-primary">
|
|
221
|
+
Click for more info
|
|
222
|
+
</schmancy-typography>
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Key Rules:**
|
|
226
|
+
- NEVER add `text-surface-onVariant` or similar classes inside surfaces
|
|
227
|
+
- Surfaces automatically provide the correct contrast color
|
|
228
|
+
- Each surface type (primary, secondary, tertiary, containerLow, etc.) knows its appropriate text color
|
|
229
|
+
- Trust the component system - it handles accessibility and contrast automatically
|
|
172
230
|
|
|
173
231
|
### Implementation Details
|
|
174
232
|
- Uses Shadow DOM with encapsulated styles
|
|
@@ -184,7 +242,7 @@ Typography automatically inherits colors from the theme:
|
|
|
184
242
|
<schmancy-typography type="display" token="md" class="block mb-4">
|
|
185
243
|
Dashboard
|
|
186
244
|
</schmancy-typography>
|
|
187
|
-
<schmancy-typography type="body" token="lg" class="block
|
|
245
|
+
<schmancy-typography type="body" token="lg" class="block">
|
|
188
246
|
Welcome back! Here's your activity summary.
|
|
189
247
|
</schmancy-typography>
|
|
190
248
|
```
|
|
@@ -202,7 +260,7 @@ Typography automatically inherits colors from the theme:
|
|
|
202
260
|
<schmancy-typography type="headline" token="md" class="block text-primary">
|
|
203
261
|
$1,234.56
|
|
204
262
|
</schmancy-typography>
|
|
205
|
-
<schmancy-typography type="label" token="sm"
|
|
263
|
+
<schmancy-typography type="label" token="sm">
|
|
206
264
|
Total Revenue
|
|
207
265
|
</schmancy-typography>
|
|
208
266
|
```
|
|
@@ -214,7 +272,7 @@ Typography automatically inherits colors from the theme:
|
|
|
214
272
|
<schmancy-typography type="title" token="md" class="block">
|
|
215
273
|
Feature One
|
|
216
274
|
</schmancy-typography>
|
|
217
|
-
<schmancy-typography type="body" token="sm" class="block
|
|
275
|
+
<schmancy-typography type="body" token="sm" class="block">
|
|
218
276
|
Description of the first feature
|
|
219
277
|
</schmancy-typography>
|
|
220
278
|
</div>
|