@mhmo91/schmancy 0.4.77 → 0.4.79
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/content-drawer.md +59 -26
- package/ai/icons.md +222 -121
- package/ai/spinner.md +165 -0
- package/dist/ai/content-drawer.md +59 -26
- package/dist/ai/icons.md +222 -121
- package/dist/ai/spinner.md +165 -0
- package/dist/{animated-text-CTMDHCbw.js → animated-text-DF5iHL66.js} +3 -3
- package/dist/{animated-text-CTMDHCbw.js.map → animated-text-DF5iHL66.js.map} +1 -1
- package/dist/{animated-text-yAIb26ld.cjs → animated-text-Ra7G35tz.cjs} +2 -2
- package/dist/{animated-text-yAIb26ld.cjs.map → animated-text-Ra7G35tz.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-BYiDoFG_.cjs → autocomplete-0qgkJELR.cjs} +2 -2
- package/dist/{autocomplete-BYiDoFG_.cjs.map → autocomplete-0qgkJELR.cjs.map} +1 -1
- package/dist/{autocomplete-m-nEVE3h.js → autocomplete-DNTo7fHJ.js} +3 -3
- package/dist/{autocomplete-m-nEVE3h.js.map → autocomplete-DNTo7fHJ.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-nxVn--Oo.js → avatar-CokwBO2O.js} +190 -172
- package/dist/avatar-CokwBO2O.js.map +1 -0
- package/dist/{avatar-DjCNlJz6.cjs → avatar-Cxu7EOku.cjs} +20 -20
- package/dist/avatar-Cxu7EOku.cjs.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-sl3amQ3s.js → boat-BEjCaneK.js} +2 -2
- package/dist/{boat-sl3amQ3s.js.map → boat-BEjCaneK.js.map} +1 -1
- package/dist/{boat-_ZRYkQQZ.cjs → boat-CsmB4RXa.cjs} +2 -2
- package/dist/{boat-_ZRYkQQZ.cjs.map → boat-CsmB4RXa.cjs.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 → checkbox-D6bUTeG8.cjs} +2 -2
- package/dist/{checkbox-HdmRM2Vg.cjs.map → checkbox-D6bUTeG8.cjs.map} +1 -1
- package/dist/{checkbox-zTyMywpJ.js → checkbox-k9tWSA4E.js} +2 -2
- package/dist/{checkbox-zTyMywpJ.js.map → checkbox-k9tWSA4E.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-DDDu8hh9.cjs → chips-CtbapOaS.cjs} +2 -2
- package/dist/{chips-DDDu8hh9.cjs.map → chips-CtbapOaS.cjs.map} +1 -1
- package/dist/{chips-DAkLLDRf.js → chips-DO6f95nV.js} +3 -3
- package/dist/{chips-DAkLLDRf.js.map → chips-DO6f95nV.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-BxO04VVx.cjs → code-preview-DGkqHYdn.cjs} +2 -2
- package/dist/{code-preview-BxO04VVx.cjs.map → code-preview-DGkqHYdn.cjs.map} +1 -1
- package/dist/{code-preview-DH3koGm9.js → code-preview-djAAzZxj.js} +2 -2
- package/dist/{code-preview-DH3koGm9.js.map → code-preview-djAAzZxj.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-sfDUF7dG.js → date-range-CHJqdE9Y.js} +3 -3
- package/dist/{date-range-sfDUF7dG.js.map → date-range-CHJqdE9Y.js.map} +1 -1
- package/dist/{date-range-TJXLY7Yx.cjs → date-range-Dfw7LxKv.cjs} +2 -2
- package/dist/{date-range-TJXLY7Yx.cjs.map → date-range-Dfw7LxKv.cjs.map} +1 -1
- package/dist/{date-range-inline-BSqXKZ3-.cjs → date-range-inline-CBOrdNiP.cjs} +2 -2
- package/dist/{date-range-inline-BSqXKZ3-.cjs.map → date-range-inline-CBOrdNiP.cjs.map} +1 -1
- package/dist/{date-range-inline-CUb59TOM.js → date-range-inline-dlZb5tJg.js} +3 -3
- package/dist/{date-range-inline-CUb59TOM.js.map → date-range-inline-dlZb5tJg.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-CHpGPLLr.js → delay-BP5SfQRo.js} +2 -2
- package/dist/{delay-CHpGPLLr.js.map → delay-BP5SfQRo.js.map} +1 -1
- package/dist/{delay-CbXOIuAd.cjs → delay-DFB3_NEH.cjs} +2 -2
- package/dist/{delay-CbXOIuAd.cjs.map → delay-DFB3_NEH.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-Cf7zosIT.js → details-Bd0PJpSd.js} +15 -14
- package/dist/details-Bd0PJpSd.js.map +1 -0
- package/dist/{details-D6yYIQaE.cjs → details-Cv8AMues.cjs} +7 -7
- package/dist/details-Cv8AMues.cjs.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-BabnHd-t.js → dialog-content-8smVbEth.js} +3 -3
- package/dist/{dialog-content-BabnHd-t.js.map → dialog-content-8smVbEth.js.map} +1 -1
- package/dist/{dialog-content-BkK0XT-T.cjs → dialog-content-CURTuo8R.cjs} +2 -2
- package/dist/{dialog-content-BkK0XT-T.cjs.map → dialog-content-CURTuo8R.cjs.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-CQ9PTETp.cjs → divider-CVomKpEr.cjs} +2 -2
- package/dist/{divider-CQ9PTETp.cjs.map → divider-CVomKpEr.cjs.map} +1 -1
- package/dist/{divider-DyNmX5oP.js → divider-DnyRwbTs.js} +3 -3
- package/dist/{divider-DyNmX5oP.js.map → divider-DnyRwbTs.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-1g76XIVT.js → dropdown-content-B1tXM7Vp.js} +3 -3
- package/dist/{dropdown-content-1g76XIVT.js.map → dropdown-content-B1tXM7Vp.js.map} +1 -1
- package/dist/{dropdown-content-DwiI2xi1.cjs → dropdown-content-lZcMgCym.cjs} +2 -2
- package/dist/{dropdown-content-DwiI2xi1.cjs.map → dropdown-content-lZcMgCym.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-BJsjr6H6.js → email-recipients-CQNYpvG7.js} +5 -5
- package/dist/{email-recipients-BJsjr6H6.js.map → email-recipients-CQNYpvG7.js.map} +1 -1
- package/dist/{email-recipients-BiPVR8Hi.cjs → email-recipients-D2bcyJAi.cjs} +2 -2
- package/dist/{email-recipients-BiPVR8Hi.cjs.map → email-recipients-D2bcyJAi.cjs.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-0kVSQTqk.js → flex-CQzrxgEP.js} +2 -2
- package/dist/{flex-0kVSQTqk.js.map → flex-CQzrxgEP.js.map} +1 -1
- package/dist/{flex-CYToPu65.cjs → flex-CbGwzfNX.cjs} +2 -2
- package/dist/{flex-CYToPu65.cjs.map → flex-CbGwzfNX.cjs.map} +1 -1
- package/dist/{form-BTIOJob0.cjs → form-Cid9N-2B.cjs} +2 -2
- package/dist/{form-BTIOJob0.cjs.map → form-Cid9N-2B.cjs.map} +1 -1
- package/dist/{form-CzSHXlhh.js → form-DcKKSUWi.js} +2 -2
- package/dist/{form-CzSHXlhh.js.map → form-DcKKSUWi.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-D3pQ9LTE.js → formField.mixin-C5U1Rh5p.js} +2 -2
- package/dist/{formField.mixin-D3pQ9LTE.js.map → formField.mixin-C5U1Rh5p.js.map} +1 -1
- package/dist/{formField.mixin-BE8yyY7E.cjs → formField.mixin-DtuGCitn.cjs} +2 -2
- package/dist/{formField.mixin-BE8yyY7E.cjs.map → formField.mixin-DtuGCitn.cjs.map} +1 -1
- package/dist/{icon-DxLigT_B.cjs → icon-7uflQBUI.cjs} +2 -2
- package/dist/{icon-DxLigT_B.cjs.map → icon-7uflQBUI.cjs.map} +1 -1
- package/dist/{icon-CB8zMasU.js → icon-DF5RpNTK.js} +2 -2
- package/dist/{icon-CB8zMasU.js.map → icon-DF5RpNTK.js.map} +1 -1
- package/dist/{icon-button-n_1iOQGQ.js → icon-button-Bol0a-v7.js} +3 -3
- package/dist/{icon-button-n_1iOQGQ.js.map → icon-button-Bol0a-v7.js.map} +1 -1
- package/dist/{icon-button-B6sa3c9D.cjs → icon-button-D41ID2Fc.cjs} +2 -2
- package/dist/{icon-button-B6sa3c9D.cjs.map → icon-button-D41ID2Fc.cjs.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 +47 -47
- package/dist/{input-FXEREBl6.cjs → input-CcwnttG1.cjs} +2 -2
- package/dist/{input-FXEREBl6.cjs.map → input-CcwnttG1.cjs.map} +1 -1
- package/dist/{input-BAJnPVSv.js → input-ClFADkhf.js} +3 -3
- package/dist/{input-BAJnPVSv.js.map → input-ClFADkhf.js.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-TbB9Rpwx.cjs → list-BAjh6Ucg.cjs} +2 -2
- package/dist/{list-TbB9Rpwx.cjs.map → list-BAjh6Ucg.cjs.map} +1 -1
- package/dist/{list-ZeNhyo74.js → list-CIFl0wDX.js} +2 -2
- package/dist/{list-ZeNhyo74.js.map → list-CIFl0wDX.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-DVZiIRUa.js → litElement.mixin-Cs2vwcM4.js} +2 -2
- package/dist/{litElement.mixin-DVZiIRUa.js.map → litElement.mixin-Cs2vwcM4.js.map} +1 -1
- package/dist/{litElement.mixin-N4BRrCeD.cjs → litElement.mixin-DiSo_YRo.cjs} +2 -2
- package/dist/{litElement.mixin-N4BRrCeD.cjs.map → litElement.mixin-DiSo_YRo.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-ck5dlHEW.js → map-DRXTbpex.js} +2 -2
- package/dist/{map-ck5dlHEW.js.map → map-DRXTbpex.js.map} +1 -1
- package/dist/{map-DW4GhKaH.cjs → map-wFoHnuTE.cjs} +2 -2
- package/dist/{map-DW4GhKaH.cjs.map → map-wFoHnuTE.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-C9Qy2mql.cjs → media-DMXDyK_t.cjs} +2 -2
- package/dist/{media-C9Qy2mql.cjs.map → media-DMXDyK_t.cjs.map} +1 -1
- package/dist/{media-CunGFwol.js → media-DdD4d518.js} +2 -2
- package/dist/{media-CunGFwol.js.map → media-DdD4d518.js.map} +1 -1
- package/dist/{menu-BkTWAEeh.cjs → menu-D6djF8D7.cjs} +2 -2
- package/dist/{menu-BkTWAEeh.cjs.map → menu-D6djF8D7.cjs.map} +1 -1
- package/dist/{menu-Cja83sLd.js → menu-vSrpyy8w.js} +3 -3
- package/dist/{menu-Cja83sLd.js.map → menu-vSrpyy8w.js.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/{notification-service-CKHPaK_C.js → notification-service-C5f9YdPY.js} +4 -4
- package/dist/{notification-service-CKHPaK_C.js.map → notification-service-C5f9YdPY.js.map} +1 -1
- package/dist/{notification-service-BB7pBlG6.cjs → notification-service-CnVFGj74.cjs} +2 -2
- package/dist/{notification-service-BB7pBlG6.cjs.map → notification-service-CnVFGj74.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-DNNTtvHN.js → notify-CuQyUgsU.js} +2 -2
- package/dist/{notify-DNNTtvHN.js.map → notify-CuQyUgsU.js.map} +1 -1
- package/dist/{notify-CxMMHOyT.cjs → notify-DtUM_vBe.cjs} +2 -2
- package/dist/{notify-CxMMHOyT.cjs.map → notify-DtUM_vBe.cjs.map} +1 -1
- package/dist/{option-BsvqJpe9.js → option-CMyac-XQ.js} +2 -2
- package/dist/{option-BsvqJpe9.js.map → option-CMyac-XQ.js.map} +1 -1
- package/dist/{option-BWzNpqSh.cjs → option-D22bslGV.cjs} +2 -2
- package/dist/{option-BWzNpqSh.cjs.map → option-D22bslGV.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-C0Rck0tO.js → payment-card-form-C2rSfNUB.js} +3 -3
- package/dist/{payment-card-form-C0Rck0tO.js.map → payment-card-form-C2rSfNUB.js.map} +1 -1
- package/dist/{payment-card-form-Q8jzlprZ.cjs → payment-card-form-CIo6Jvh4.cjs} +2 -2
- package/dist/{payment-card-form-Q8jzlprZ.cjs.map → payment-card-form-CIo6Jvh4.cjs.map} +1 -1
- package/dist/{progress-CtoQKQub.cjs → progress-Cz6acdfO.cjs} +2 -2
- package/dist/{progress-CtoQKQub.cjs.map → progress-Cz6acdfO.cjs.map} +1 -1
- package/dist/{progress-CG2bQVP8.js → progress-CzZkkBKS.js} +2 -2
- package/dist/{progress-CG2bQVP8.js.map → progress-CzZkkBKS.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-BSUgktLD.js → radio-button-CvhN1gWj.js} +3 -3
- package/dist/{radio-button-BSUgktLD.js.map → radio-button-CvhN1gWj.js.map} +1 -1
- package/dist/{radio-button-DnvjanKu.cjs → radio-button-XTjTthrJ.cjs} +2 -2
- package/dist/{radio-button-DnvjanKu.cjs.map → radio-button-XTjTthrJ.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{route.component-YXwO_9vn.cjs → route.component-BMRfUQ9O.cjs} +2 -2
- package/dist/{route.component-YXwO_9vn.cjs.map → route.component-BMRfUQ9O.cjs.map} +1 -1
- package/dist/{route.component-BJEghY9L.js → route.component-D2BflZS9.js} +3 -3
- package/dist/{route.component-BJEghY9L.js.map → route.component-D2BflZS9.js.map} +1 -1
- package/dist/{schmancy-steps-container-BJdjcjfb.cjs → schmancy-steps-container-CDj0iFPm.cjs} +2 -2
- package/dist/{schmancy-steps-container-BJdjcjfb.cjs.map → schmancy-steps-container-CDj0iFPm.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-DLoPUodd.js → schmancy-steps-container-DJdcHEVs.js} +2 -2
- package/dist/{schmancy-steps-container-DLoPUodd.js.map → schmancy-steps-container-DJdcHEVs.js.map} +1 -1
- package/dist/{select-t2FXt_pa.cjs → select-BZuUqcqv.cjs} +2 -2
- package/dist/{select-t2FXt_pa.cjs.map → select-BZuUqcqv.cjs.map} +1 -1
- package/dist/{select-DagDNtvt.js → select-BnLSAqtO.js} +3 -3
- package/dist/{select-DagDNtvt.js.map → select-BnLSAqtO.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-mPwoKv2g.cjs → sheet-CSp5quAX.cjs} +2 -2
- package/dist/{sheet-mPwoKv2g.cjs.map → sheet-CSp5quAX.cjs.map} +1 -1
- package/dist/{sheet-CRVVJZ0R.js → sheet-CcKYre1L.js} +3 -3
- package/dist/{sheet-CRVVJZ0R.js.map → sheet-CcKYre1L.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-pBPJS7W9.cjs → slider-CPJ-4yg4.cjs} +2 -2
- package/dist/{slider-pBPJS7W9.cjs.map → slider-CPJ-4yg4.cjs.map} +1 -1
- package/dist/{slider-B3F6JkFf.js → slider-D36miB_e.js} +3 -3
- package/dist/{slider-B3F6JkFf.js.map → slider-D36miB_e.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-DA_-O-xo.js → spinner-1vMz2pLZ.js} +2 -2
- package/dist/{spinner-DA_-O-xo.js.map → spinner-1vMz2pLZ.js.map} +1 -1
- package/dist/{spinner-BRpfKS5O.cjs → spinner-uKeW1jVr.cjs} +2 -2
- package/dist/{spinner-BRpfKS5O.cjs.map → spinner-uKeW1jVr.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-diIElnDd.cjs → surface-DCAyIw6O.cjs} +2 -2
- package/dist/{surface-diIElnDd.cjs.map → surface-DCAyIw6O.cjs.map} +1 -1
- package/dist/{surface-Dwl538cH.js → surface-DWRvqMeW.js} +2 -2
- package/dist/{surface-Dwl538cH.js.map → surface-DWRvqMeW.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-BgKKtRLd.js → table-BYOOIwQ3.js} +2 -2
- package/dist/{table-BgKKtRLd.js.map → table-BYOOIwQ3.js.map} +1 -1
- package/dist/{table-Bov9UEcb.cjs → table-N5w5txc8.cjs} +2 -2
- package/dist/{table-Bov9UEcb.cjs.map → table-N5w5txc8.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-CPvOBfor.js → tabs-compatibility-BQZ_4rKO.js} +2 -2
- package/dist/{tabs-compatibility-CPvOBfor.js.map → tabs-compatibility-BQZ_4rKO.js.map} +1 -1
- package/dist/{tabs-compatibility-D5yIfQ_k.cjs → tabs-compatibility-B_0MOHRx.cjs} +2 -2
- package/dist/{tabs-compatibility-D5yIfQ_k.cjs.map → tabs-compatibility-B_0MOHRx.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-BPLAZH0W.cjs +2 -0
- package/dist/{tailwind.mixin-2zZHkoOm.cjs.map → tailwind.mixin-BPLAZH0W.cjs.map} +1 -1
- package/dist/tailwind.mixin-NLG6hsRk.js +43 -0
- package/dist/{tailwind.mixin-DbE6WE_l.js.map → tailwind.mixin-NLG6hsRk.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-CNEv2Aoz.js → textarea-B-BvDcvC.js} +2 -2
- package/dist/{textarea-CNEv2Aoz.js.map → textarea-B-BvDcvC.js.map} +1 -1
- package/dist/{textarea-CswyRsoR.cjs → textarea-CfO-1Q7I.cjs} +2 -2
- package/dist/{textarea-CswyRsoR.cjs.map → textarea-CfO-1Q7I.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-CRcXeIw5.js → theme-button-O8T2P7bp.js} +2 -2
- package/dist/{theme-button-CRcXeIw5.js.map → theme-button-O8T2P7bp.js.map} +1 -1
- package/dist/{theme-button-DPmEDF3P.cjs → theme-button-QgQtIkNO.cjs} +2 -2
- package/dist/{theme-button-DPmEDF3P.cjs.map → theme-button-QgQtIkNO.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-CamQBQHp.cjs → theme.component--fI9PP4Y.cjs} +2 -2
- package/dist/{theme.component-CamQBQHp.cjs.map → theme.component--fI9PP4Y.cjs.map} +1 -1
- package/dist/{theme.component-v5kO9gkQ.js → theme.component-z0OFbxq8.js} +2 -2
- package/dist/{theme.component-v5kO9gkQ.js.map → theme.component-z0OFbxq8.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-Bk4IctLE.cjs → timezone-C8PYHpA5.cjs} +2 -2
- package/dist/{timezone-Bk4IctLE.cjs.map → timezone-C8PYHpA5.cjs.map} +1 -1
- package/dist/{timezone-Yo9Sdd5R.js → timezone-CeadXobB.js} +3 -3
- package/dist/{timezone-Yo9Sdd5R.js.map → timezone-CeadXobB.js.map} +1 -1
- package/dist/{tooltip-ZJEAlZUQ.js → tooltip-DUuT16gi.js} +2 -2
- package/dist/{tooltip-ZJEAlZUQ.js.map → tooltip-DUuT16gi.js.map} +1 -1
- package/dist/{tooltip-B-yn_OSS.cjs → tooltip-DxkXzv_5.cjs} +2 -2
- package/dist/{tooltip-B-yn_OSS.cjs.map → tooltip-DxkXzv_5.cjs.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-CxBWy_Vp.cjs → tree-DD_zsKhj.cjs} +2 -2
- package/dist/{tree-CxBWy_Vp.cjs.map → tree-DD_zsKhj.cjs.map} +1 -1
- package/dist/{tree-BV-2ElOU.js → tree-YKMOXZkK.js} +2 -2
- package/dist/{tree-BV-2ElOU.js.map → tree-YKMOXZkK.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-C-mf2RVj.cjs → typewriter-BZQFLCSO.cjs} +2 -2
- package/dist/{typewriter-C-mf2RVj.cjs.map → typewriter-BZQFLCSO.cjs.map} +1 -1
- package/dist/{typewriter-Bsn8eoJW.js → typewriter-D0ocrgfy.js} +4 -4
- package/dist/{typewriter-Bsn8eoJW.js.map → typewriter-D0ocrgfy.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-B5Y21osS.js → typography-B813cueV.js} +2 -2
- package/dist/{typography-B5Y21osS.js.map → typography-B813cueV.js.map} +1 -1
- package/dist/{typography-pyk5TJHO.cjs → typography-C6a_0J8h.cjs} +2 -2
- package/dist/{typography-pyk5TJHO.cjs.map → typography-C6a_0J8h.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/content-drawer/drawer.d.ts +1 -1
- package/types/src/content-drawer/drawer.service.d.ts +20 -0
- package/types/src/content-drawer/index.d.ts +1 -1
- package/dist/avatar-DjCNlJz6.cjs.map +0 -1
- package/dist/avatar-nxVn--Oo.js.map +0 -1
- package/dist/details-Cf7zosIT.js.map +0 -1
- package/dist/details-D6yYIQaE.cjs.map +0 -1
- package/dist/tailwind.mixin-2zZHkoOm.cjs +0 -2
- package/dist/tailwind.mixin-DbE6WE_l.js +0 -43
package/ai/content-drawer.md
CHANGED
|
@@ -27,38 +27,71 @@ Sliding panel system for navigation, overlays, and responsive layouts.
|
|
|
27
27
|
</schmancy-content-drawer>
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
##
|
|
30
|
+
## Service API
|
|
31
31
|
|
|
32
32
|
```js
|
|
33
|
-
import {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
//
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
33
|
+
import { schmancyContentDrawer } from '@schmancy/content-drawer'
|
|
34
|
+
|
|
35
|
+
// NEW: Push API - Renders component with automatic re-rendering support
|
|
36
|
+
schmancyContentDrawer.push(component)
|
|
37
|
+
// component can be:
|
|
38
|
+
// - string: 'demo-button' (tag name)
|
|
39
|
+
// - HTMLElement: new DemoButton()
|
|
40
|
+
// - Factory: () => new DemoButton()
|
|
41
|
+
// - Async: () => import('./button').then(m => new m.default())
|
|
42
|
+
|
|
43
|
+
// Legacy render API (backward compatible)
|
|
44
|
+
schmancyContentDrawer.render(ref, component, title?)
|
|
45
|
+
|
|
46
|
+
// Dismiss drawer
|
|
47
|
+
schmancyContentDrawer.dimiss(ref)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Push API Features
|
|
51
|
+
|
|
52
|
+
The `push` API solves the re-rendering issue when the same component instance is pushed with updated properties:
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
// Create a component instance
|
|
56
|
+
const myComponent = new MyComponent()
|
|
57
|
+
myComponent.variant = 'filled'
|
|
58
|
+
|
|
59
|
+
// Push it to drawer
|
|
60
|
+
schmancyContentDrawer.push(myComponent)
|
|
61
|
+
|
|
62
|
+
// Later, update properties and push again
|
|
63
|
+
myComponent.variant = 'outlined'
|
|
64
|
+
schmancyContentDrawer.push(myComponent) // Automatically detects same instance and forces re-render
|
|
57
65
|
```
|
|
58
66
|
|
|
59
67
|
## Examples
|
|
60
68
|
|
|
61
|
-
### 1.
|
|
69
|
+
### 1. Using Push API for Dynamic Content
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
// Simple string component
|
|
73
|
+
schmancyContentDrawer.push('demo-typography')
|
|
74
|
+
|
|
75
|
+
// Component instance with properties
|
|
76
|
+
const button = new DemoButton()
|
|
77
|
+
button.variant = 'filled'
|
|
78
|
+
schmancyContentDrawer.push(button)
|
|
79
|
+
|
|
80
|
+
// Factory function for custom setup
|
|
81
|
+
schmancyContentDrawer.push(() => {
|
|
82
|
+
const comp = new MyComponent()
|
|
83
|
+
comp.setAttribute('theme', 'dark')
|
|
84
|
+
return comp
|
|
85
|
+
})
|
|
86
|
+
|
|
87
|
+
// Async module loading
|
|
88
|
+
schmancyContentDrawer.push(async () => {
|
|
89
|
+
const module = await import('./lazy-component')
|
|
90
|
+
return new module.default()
|
|
91
|
+
})
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 2. Basic Navigation Drawer
|
|
62
95
|
```html
|
|
63
96
|
<schmancy-content-drawer ?open="${drawerOpen}">
|
|
64
97
|
<schmancy-content-drawer-main>
|
package/ai/icons.md
CHANGED
|
@@ -1,147 +1,248 @@
|
|
|
1
1
|
# Schmancy Icons - AI Reference
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
// Basic Icon
|
|
5
|
-
<schmancy-icon
|
|
6
|
-
icon="icon-name"
|
|
7
|
-
size="small|medium|large|x-large"
|
|
8
|
-
color="primary|secondary|success|warning|danger|info|currentColor">
|
|
9
|
-
</schmancy-icon>
|
|
10
|
-
|
|
11
|
-
// Icon with custom size
|
|
12
|
-
<schmancy-icon
|
|
13
|
-
icon="home"
|
|
14
|
-
size="24px">
|
|
15
|
-
</schmancy-icon>
|
|
3
|
+
Modern Material Symbols icon component with variable font properties for dynamic icon styling.
|
|
16
4
|
|
|
17
|
-
|
|
5
|
+
```js
|
|
6
|
+
// Component Tag
|
|
18
7
|
<schmancy-icon
|
|
19
|
-
|
|
20
|
-
|
|
8
|
+
fill="0-1"
|
|
9
|
+
weight="100-700"
|
|
10
|
+
grade="-50-200"
|
|
11
|
+
variant="outlined|rounded|sharp">
|
|
12
|
+
icon-name
|
|
21
13
|
</schmancy-icon>
|
|
22
14
|
|
|
23
|
-
// Icon Properties
|
|
24
|
-
icon: string // Icon name to display
|
|
25
|
-
size: string // Size: "small" (16px), "medium" (24px), "large" (32px), "x-large" (48px), or custom size
|
|
26
|
-
color: string // Color: semantic colors, CSS color values, or "currentColor"
|
|
27
|
-
rotate: number // Rotation in degrees
|
|
28
|
-
flip: string // Flip transformation: "horizontal", "vertical", "both"
|
|
29
|
-
spin: boolean // Apply a spinning animation
|
|
30
|
-
clickable: boolean // Make icon clickable with hover effects
|
|
31
|
-
|
|
32
|
-
// Icon Events
|
|
33
|
-
@click // Fires when icon is clicked
|
|
34
|
-
|
|
35
|
-
// Available Icons
|
|
36
|
-
// The library includes a comprehensive set of icons. Some common ones:
|
|
37
|
-
// - UI Actions: "add", "remove", "edit", "delete", "search", "close", "check", "menu"
|
|
38
|
-
// - Navigation: "home", "back", "forward", "up", "down", "download", "upload"
|
|
39
|
-
// - Communication: "mail", "chat", "phone", "notification", "share"
|
|
40
|
-
// - Media: "play", "pause", "stop", "volume", "camera", "image"
|
|
41
|
-
// - Objects: "file", "folder", "document", "calendar", "clock", "location"
|
|
42
|
-
// - Social: "user", "group", "like", "star", "settings"
|
|
43
|
-
// - Alerts: "info", "warning", "error", "success"
|
|
44
|
-
// - Arrows: "arrow-up", "arrow-right", "arrow-down", "arrow-left"
|
|
45
|
-
// - Chevrons: "chevron-up", "chevron-right", "chevron-down", "chevron-left"
|
|
46
|
-
|
|
47
15
|
// Examples
|
|
48
|
-
// Basic icon
|
|
49
|
-
<schmancy-icon
|
|
50
|
-
|
|
51
|
-
//
|
|
52
|
-
<
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
</
|
|
16
|
+
// 1. Basic icon (outlined style by default)
|
|
17
|
+
<schmancy-icon>home</schmancy-icon>
|
|
18
|
+
|
|
19
|
+
// 2. Filled vs Outlined
|
|
20
|
+
<schmancy-icon fill="0">favorite</schmancy-icon> // Outlined heart
|
|
21
|
+
<schmancy-icon fill="1">favorite</schmancy-icon> // Filled heart
|
|
22
|
+
|
|
23
|
+
// 3. Icon weight variations
|
|
24
|
+
<schmancy-icon weight="100">search</schmancy-icon> // Thin
|
|
25
|
+
<schmancy-icon weight="400">search</schmancy-icon> // Regular (default)
|
|
26
|
+
<schmancy-icon weight="700">search</schmancy-icon> // Bold
|
|
27
|
+
|
|
28
|
+
// 4. Icon variants
|
|
29
|
+
<schmancy-icon variant="outlined">settings</schmancy-icon> // Default
|
|
30
|
+
<schmancy-icon variant="rounded">settings</schmancy-icon> // Rounded style
|
|
31
|
+
<schmancy-icon variant="sharp">settings</schmancy-icon> // Sharp corners
|
|
32
|
+
|
|
33
|
+
// 5. Grade variations (visual weight)
|
|
34
|
+
<schmancy-icon grade="-25">notifications</schmancy-icon> // Lighter
|
|
35
|
+
<schmancy-icon grade="0">notifications</schmancy-icon> // Normal (default)
|
|
36
|
+
<schmancy-icon grade="200">notifications</schmancy-icon> // Heavier
|
|
37
|
+
|
|
38
|
+
// 6. Combined properties
|
|
39
|
+
<schmancy-icon fill="1" weight="300" variant="rounded">
|
|
40
|
+
star
|
|
41
|
+
</schmancy-icon>
|
|
59
42
|
|
|
60
|
-
//
|
|
61
|
-
<
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
<schmancy-icon icon="warning" color="warning"></schmancy-icon>
|
|
65
|
-
<schmancy-icon icon="error" color="danger"></schmancy-icon>
|
|
66
|
-
<schmancy-icon icon="help" color="primary"></schmancy-icon>
|
|
67
|
-
<schmancy-icon icon="settings" color="secondary"></schmancy-icon>
|
|
68
|
-
<schmancy-icon icon="star" color="#f5a623"></schmancy-icon>
|
|
69
|
-
</div>
|
|
43
|
+
// 7. Icon sizing (via CSS)
|
|
44
|
+
<schmancy-icon style="--schmancy-icon-size: 16px;">home</schmancy-icon>
|
|
45
|
+
<schmancy-icon style="--schmancy-icon-size: 32px;">home</schmancy-icon>
|
|
46
|
+
<schmancy-icon style="--schmancy-icon-size: 48px;">home</schmancy-icon>
|
|
70
47
|
|
|
71
|
-
//
|
|
48
|
+
// 8. Icons in buttons
|
|
72
49
|
<schmancy-button>
|
|
73
|
-
<schmancy-icon slot="
|
|
50
|
+
<schmancy-icon slot="icon">download</schmancy-icon>
|
|
74
51
|
Download
|
|
75
52
|
</schmancy-button>
|
|
76
53
|
|
|
77
|
-
<schmancy-
|
|
54
|
+
<schmancy-button variant="filled">
|
|
55
|
+
<schmancy-icon slot="icon" fill="1">add</schmancy-icon>
|
|
56
|
+
Add Item
|
|
57
|
+
</schmancy-button>
|
|
58
|
+
|
|
59
|
+
// 9. Icons in list items
|
|
60
|
+
<schmancy-list-item>
|
|
61
|
+
<schmancy-icon slot="start">folder</schmancy-icon>
|
|
62
|
+
Documents
|
|
63
|
+
</schmancy-list-item>
|
|
64
|
+
|
|
65
|
+
<schmancy-list-item>
|
|
66
|
+
<schmancy-icon slot="start" fill="1">star</schmancy-icon>
|
|
67
|
+
Favorites
|
|
68
|
+
</schmancy-list-item>
|
|
69
|
+
|
|
70
|
+
// 10. Icon transitions (smooth property changes)
|
|
71
|
+
<schmancy-icon
|
|
72
|
+
fill=${isLiked ? "1" : "0"}
|
|
73
|
+
weight=${isLiked ? "700" : "400"}>
|
|
74
|
+
favorite
|
|
75
|
+
</schmancy-icon>
|
|
76
|
+
|
|
77
|
+
// 11. Navigation icons
|
|
78
|
+
<schmancy-navigation-rail>
|
|
79
|
+
<schmancy-icon slot="icon" fill=${activeTab === 'home' ? "1" : "0"}>
|
|
80
|
+
home
|
|
81
|
+
</schmancy-icon>
|
|
82
|
+
<schmancy-icon slot="icon" fill=${activeTab === 'search' ? "1" : "0"}>
|
|
83
|
+
search
|
|
84
|
+
</schmancy-icon>
|
|
85
|
+
<schmancy-icon slot="icon" fill=${activeTab === 'settings' ? "1" : "0"}>
|
|
86
|
+
settings
|
|
87
|
+
</schmancy-icon>
|
|
88
|
+
</schmancy-navigation-rail>
|
|
78
89
|
|
|
79
|
-
//
|
|
80
|
-
<div>
|
|
81
|
-
<schmancy-icon
|
|
82
|
-
<
|
|
83
|
-
<schmancy-icon icon="arrow-right" rotate="180"></schmancy-icon>
|
|
84
|
-
<schmancy-icon icon="arrow-right" rotate="270"></schmancy-icon>
|
|
85
|
-
<schmancy-icon icon="arrow-right" flip="horizontal"></schmancy-icon>
|
|
86
|
-
<schmancy-icon icon="arrow-right" flip="vertical"></schmancy-icon>
|
|
90
|
+
// 12. Status indicators
|
|
91
|
+
<div class="flex items-center gap-2">
|
|
92
|
+
<schmancy-icon fill="1" class="text-success">check_circle</schmancy-icon>
|
|
93
|
+
<span>Success</span>
|
|
87
94
|
</div>
|
|
88
95
|
|
|
89
|
-
|
|
90
|
-
<schmancy-icon
|
|
96
|
+
<div class="flex items-center gap-2">
|
|
97
|
+
<schmancy-icon fill="1" class="text-warning">warning</schmancy-icon>
|
|
98
|
+
<span>Warning</span>
|
|
99
|
+
</div>
|
|
91
100
|
|
|
92
|
-
|
|
93
|
-
<
|
|
94
|
-
<
|
|
95
|
-
<span>Loading...</span>
|
|
101
|
+
<div class="flex items-center gap-2">
|
|
102
|
+
<schmancy-icon fill="1" class="text-error">error</schmancy-icon>
|
|
103
|
+
<span>Error</span>
|
|
96
104
|
</div>
|
|
97
105
|
|
|
98
|
-
//
|
|
106
|
+
// 13. Form field icons
|
|
99
107
|
<schmancy-input>
|
|
100
|
-
<schmancy-icon slot="prefix"
|
|
108
|
+
<schmancy-icon slot="prefix">search</schmancy-icon>
|
|
101
109
|
</schmancy-input>
|
|
102
110
|
|
|
103
111
|
<schmancy-input type="password">
|
|
104
|
-
<schmancy-icon
|
|
105
|
-
|
|
106
|
-
icon=${passwordVisible ? "eye-off" : "eye"}
|
|
107
|
-
clickable
|
|
108
|
-
@click=${togglePasswordVisibility}>
|
|
112
|
+
<schmancy-icon slot="suffix" fill=${showPassword ? "1" : "0"}>
|
|
113
|
+
${showPassword ? 'visibility_off' : 'visibility'}
|
|
109
114
|
</schmancy-icon>
|
|
110
115
|
</schmancy-input>
|
|
111
116
|
|
|
112
|
-
//
|
|
113
|
-
<schmancy-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
117
|
+
// 14. Animated icon state
|
|
118
|
+
<schmancy-icon
|
|
119
|
+
@click=${() => this.toggleBookmark()}
|
|
120
|
+
fill=${this.isBookmarked ? "1" : "0"}
|
|
121
|
+
weight=${this.isBookmarked ? "700" : "400"}
|
|
122
|
+
style="cursor: pointer; transition: all 0.2s;">
|
|
123
|
+
bookmark
|
|
124
|
+
</schmancy-icon>
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Properties
|
|
128
|
+
|
|
129
|
+
| Property | Type | Default | Description |
|
|
130
|
+
|----------|------|---------|-------------|
|
|
131
|
+
| `fill` | `number` | `0` | Fill value (0 = outlined, 1 = filled) |
|
|
132
|
+
| `weight` | `number` | `400` | Stroke weight (100-700) |
|
|
133
|
+
| `grade` | `number` | `0` | Visual grade/weight (-50 to 200) |
|
|
134
|
+
| `variant` | `string` | `'outlined'` | Icon style variant: 'outlined', 'rounded', or 'sharp' |
|
|
135
|
+
|
|
136
|
+
## CSS Custom Properties
|
|
137
|
+
|
|
138
|
+
| Property | Default | Description |
|
|
139
|
+
|----------|---------|-------------|
|
|
140
|
+
| `--schmancy-icon-size` | `24px` | Icon size |
|
|
141
|
+
| `--schmancy-icon-fill` | `0` | Fill value |
|
|
142
|
+
| `--schmancy-icon-weight` | `400` | Weight value |
|
|
143
|
+
| `--schmancy-icon-grade` | `0` | Grade value |
|
|
144
|
+
| `--schmancy-icon-opsz` | `24` | Optical size |
|
|
145
|
+
|
|
146
|
+
## Material Symbols
|
|
147
|
+
|
|
148
|
+
This component uses Google's Material Symbols variable font, which provides:
|
|
149
|
+
- **3 variants**: Outlined, Rounded, Sharp
|
|
150
|
+
- **Variable properties**: Continuously adjustable fill, weight, and grade
|
|
151
|
+
- **2000+ icons**: Comprehensive icon library
|
|
152
|
+
- **Smooth transitions**: Animated property changes
|
|
153
|
+
- **Automatic font loading**: Fonts are loaded automatically when component is used
|
|
154
|
+
|
|
155
|
+
## Icon Names
|
|
156
|
+
|
|
157
|
+
Icons use Material Symbols naming convention. Common icons include:
|
|
158
|
+
|
|
159
|
+
### Navigation
|
|
160
|
+
- `home`, `arrow_back`, `arrow_forward`, `menu`, `close`, `more_vert`, `more_horiz`
|
|
161
|
+
|
|
162
|
+
### Actions
|
|
163
|
+
- `search`, `add`, `remove`, `edit`, `delete`, `save`, `share`, `download`, `upload`
|
|
164
|
+
|
|
165
|
+
### Communication
|
|
166
|
+
- `mail`, `chat`, `call`, `notifications`, `send`, `inbox`, `drafts`
|
|
167
|
+
|
|
168
|
+
### Media
|
|
169
|
+
- `play_arrow`, `pause`, `stop`, `skip_next`, `skip_previous`, `volume_up`, `mic`
|
|
170
|
+
|
|
171
|
+
### Status
|
|
172
|
+
- `check`, `close`, `error`, `warning`, `info`, `check_circle`, `cancel`
|
|
173
|
+
|
|
174
|
+
### Objects
|
|
175
|
+
- `folder`, `description`, `article`, `image`, `movie`, `music_note`, `code`
|
|
176
|
+
|
|
177
|
+
### User
|
|
178
|
+
- `person`, `group`, `face`, `account_circle`, `settings`, `logout`
|
|
179
|
+
|
|
180
|
+
Full icon list: https://fonts.google.com/icons
|
|
181
|
+
|
|
182
|
+
## Common Patterns
|
|
183
|
+
|
|
184
|
+
### Toggle Icons
|
|
185
|
+
```html
|
|
186
|
+
<!-- Like/Unlike -->
|
|
187
|
+
<schmancy-icon
|
|
188
|
+
fill=${isLiked ? "1" : "0"}
|
|
189
|
+
weight=${isLiked ? "700" : "400"}
|
|
190
|
+
@click=${this.toggleLike}>
|
|
191
|
+
favorite
|
|
192
|
+
</schmancy-icon>
|
|
193
|
+
|
|
194
|
+
<!-- Bookmark -->
|
|
195
|
+
<schmancy-icon fill=${isBookmarked ? "1" : "0"}>
|
|
196
|
+
bookmark
|
|
197
|
+
</schmancy-icon>
|
|
198
|
+
|
|
199
|
+
<!-- Star Rating -->
|
|
200
|
+
<schmancy-icon fill=${rating >= 1 ? "1" : "0"}>star</schmancy-icon>
|
|
201
|
+
<schmancy-icon fill=${rating >= 2 ? "1" : "0"}>star</schmancy-icon>
|
|
202
|
+
<schmancy-icon fill=${rating >= 3 ? "1" : "0"}>star</schmancy-icon>
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Contextual Icons
|
|
206
|
+
```html
|
|
207
|
+
<!-- Success state -->
|
|
208
|
+
<schmancy-icon fill="1" class="text-success">check_circle</schmancy-icon>
|
|
209
|
+
|
|
210
|
+
<!-- Error state -->
|
|
211
|
+
<schmancy-icon fill="1" class="text-error">error</schmancy-icon>
|
|
212
|
+
|
|
213
|
+
<!-- Warning state -->
|
|
214
|
+
<schmancy-icon fill="1" class="text-warning">warning</schmancy-icon>
|
|
215
|
+
|
|
216
|
+
<!-- Info state -->
|
|
217
|
+
<schmancy-icon fill="0" class="text-info">info</schmancy-icon>
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### Size Variations
|
|
221
|
+
```html
|
|
222
|
+
<!-- Small (16px) -->
|
|
223
|
+
<schmancy-icon style="--schmancy-icon-size: 16px;">home</schmancy-icon>
|
|
224
|
+
|
|
225
|
+
<!-- Default (24px) -->
|
|
226
|
+
<schmancy-icon>home</schmancy-icon>
|
|
227
|
+
|
|
228
|
+
<!-- Large (32px) -->
|
|
229
|
+
<schmancy-icon style="--schmancy-icon-size: 32px;">home</schmancy-icon>
|
|
230
|
+
|
|
231
|
+
<!-- Extra Large (48px) -->
|
|
232
|
+
<schmancy-icon style="--schmancy-icon-size: 48px;">home</schmancy-icon>
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Accessibility
|
|
236
|
+
|
|
237
|
+
- Icons are automatically marked with `aria-hidden="true"` for decorative use
|
|
238
|
+
- For interactive icons, provide `aria-label` or `aria-labelledby`
|
|
239
|
+
- For informational icons, include screen reader text:
|
|
240
|
+
```html
|
|
241
|
+
<schmancy-icon aria-label="Warning">warning</schmancy-icon>
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Related Components
|
|
245
|
+
- **[Button](./button.md)**: Icons commonly used in buttons
|
|
246
|
+
- **[List](./list.md)**: Icons in list items
|
|
247
|
+
- **[Input](./input.md)**: Icons in form fields
|
|
248
|
+
- **[Chips](./chips.md)**: Icons in chip components
|
package/ai/spinner.md
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# Schmancy Spinner - AI Reference
|
|
2
|
+
|
|
3
|
+
A modern circular loading spinner with contextual color inheritance and optional glass morphism effect.
|
|
4
|
+
|
|
5
|
+
```js
|
|
6
|
+
// Component Tag
|
|
7
|
+
<schmancy-spinner
|
|
8
|
+
color="primary|on-primary|secondary|on-secondary|tertiary|on-tertiary|error|on-error|success|on-success|surface|on-surface|surface-variant|on-surface-variant"
|
|
9
|
+
size="number"
|
|
10
|
+
glass?>
|
|
11
|
+
</schmancy-spinner>
|
|
12
|
+
|
|
13
|
+
// Examples
|
|
14
|
+
// 1. Basic spinner (inherits parent color)
|
|
15
|
+
<schmancy-spinner></schmancy-spinner>
|
|
16
|
+
|
|
17
|
+
// 2. Different sizes (using Tailwind sizing system)
|
|
18
|
+
<schmancy-spinner size="4"></schmancy-spinner> // 16px (1rem)
|
|
19
|
+
<schmancy-spinner size="6"></schmancy-spinner> // 24px (1.5rem) - default
|
|
20
|
+
<schmancy-spinner size="8"></schmancy-spinner> // 32px (2rem)
|
|
21
|
+
<schmancy-spinner size="12"></schmancy-spinner> // 48px (3rem)
|
|
22
|
+
|
|
23
|
+
// 3. Color variants
|
|
24
|
+
<schmancy-spinner color="primary"></schmancy-spinner>
|
|
25
|
+
<schmancy-spinner color="on-primary"></schmancy-spinner>
|
|
26
|
+
<schmancy-spinner color="error"></schmancy-spinner>
|
|
27
|
+
<schmancy-spinner color="success"></schmancy-spinner>
|
|
28
|
+
|
|
29
|
+
// 4. Glass morphism effect
|
|
30
|
+
<schmancy-spinner glass></schmancy-spinner>
|
|
31
|
+
<schmancy-spinner glass size="10" color="primary"></schmancy-spinner>
|
|
32
|
+
|
|
33
|
+
// 5. Inside buttons (inherits button text color)
|
|
34
|
+
<schmancy-button variant="filled">
|
|
35
|
+
<schmancy-spinner size="5"></schmancy-spinner>
|
|
36
|
+
Loading...
|
|
37
|
+
</schmancy-button>
|
|
38
|
+
|
|
39
|
+
// 6. Inside surfaces with contextual colors
|
|
40
|
+
<schmancy-surface type="filled" color="primary">
|
|
41
|
+
<schmancy-spinner color="on-primary"></schmancy-spinner>
|
|
42
|
+
</schmancy-surface>
|
|
43
|
+
|
|
44
|
+
// 7. Loading states
|
|
45
|
+
<div class="flex items-center gap-2">
|
|
46
|
+
<schmancy-spinner size="5"></schmancy-spinner>
|
|
47
|
+
<schmancy-typography>Loading data...</schmancy-typography>
|
|
48
|
+
</div>
|
|
49
|
+
|
|
50
|
+
// 8. Overlay loading indicator with glass effect
|
|
51
|
+
<div class="relative">
|
|
52
|
+
<div class="absolute inset-0 flex items-center justify-center bg-surface/50 backdrop-blur-sm">
|
|
53
|
+
<schmancy-spinner glass size="10"></schmancy-spinner>
|
|
54
|
+
</div>
|
|
55
|
+
<!-- Content being loaded -->
|
|
56
|
+
</div>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Properties
|
|
60
|
+
|
|
61
|
+
| Property | Type | Default | Description |
|
|
62
|
+
|----------|------|---------|-------------|
|
|
63
|
+
| `color` | `string` | `inherit` | Theme color variant or 'inherit' for contextual color |
|
|
64
|
+
| `size` | `number` | `6` | Size in Tailwind units (4 = 16px, 6 = 24px, 8 = 32px, etc.) |
|
|
65
|
+
| `glass` | `boolean` | `false` | Apply glass morphism effect with backdrop blur |
|
|
66
|
+
|
|
67
|
+
## Color System
|
|
68
|
+
|
|
69
|
+
The spinner intelligently inherits colors from its context by default:
|
|
70
|
+
- Inside buttons: Inherits button text color
|
|
71
|
+
- Inside colored surfaces: Inherits appropriate contrast color
|
|
72
|
+
- Standalone: Uses current text color
|
|
73
|
+
|
|
74
|
+
Available explicit colors:
|
|
75
|
+
- **Primary colors**: `primary`, `on-primary`
|
|
76
|
+
- **Secondary colors**: `secondary`, `on-secondary`
|
|
77
|
+
- **Tertiary colors**: `tertiary`, `on-tertiary`
|
|
78
|
+
- **Status colors**: `error`, `on-error`, `success`, `on-success`
|
|
79
|
+
- **Surface colors**: `surface`, `on-surface`, `surface-variant`, `on-surface-variant`
|
|
80
|
+
|
|
81
|
+
## Glass Effect
|
|
82
|
+
|
|
83
|
+
The `glass` attribute adds a modern glass morphism effect:
|
|
84
|
+
- Semi-transparent background with backdrop blur
|
|
85
|
+
- Subtle border and inner shadow
|
|
86
|
+
- Perfect for overlay loading indicators
|
|
87
|
+
- Works well on image or complex backgrounds
|
|
88
|
+
|
|
89
|
+
## Size System
|
|
90
|
+
|
|
91
|
+
Uses Tailwind's sizing convention where each unit = 0.25rem:
|
|
92
|
+
- `size="4"` = 16px (1rem)
|
|
93
|
+
- `size="5"` = 20px (1.25rem)
|
|
94
|
+
- `size="6"` = 24px (1.5rem) - **default**
|
|
95
|
+
- `size="8"` = 32px (2rem)
|
|
96
|
+
- `size="10"` = 40px (2.5rem)
|
|
97
|
+
- `size="12"` = 48px (3rem)
|
|
98
|
+
|
|
99
|
+
## Common Use Cases
|
|
100
|
+
|
|
101
|
+
### 1. Button Loading State
|
|
102
|
+
```html
|
|
103
|
+
<schmancy-button variant="filled" disabled>
|
|
104
|
+
<schmancy-spinner size="5"></schmancy-spinner>
|
|
105
|
+
<span class="ml-2">Processing...</span>
|
|
106
|
+
</schmancy-button>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 2. Page Loading Overlay
|
|
110
|
+
```html
|
|
111
|
+
<div class="fixed inset-0 flex items-center justify-center bg-black/30 backdrop-blur-sm z-50">
|
|
112
|
+
<schmancy-spinner glass size="12"></schmancy-spinner>
|
|
113
|
+
</div>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 3. Inline Loading Indicator
|
|
117
|
+
```html
|
|
118
|
+
<schmancy-list-item>
|
|
119
|
+
<span>Fetching user data</span>
|
|
120
|
+
<schmancy-spinner slot="end" size="5"></schmancy-spinner>
|
|
121
|
+
</schmancy-list-item>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 4. Card Loading State
|
|
125
|
+
```html
|
|
126
|
+
<schmancy-card>
|
|
127
|
+
<div class="flex flex-col items-center justify-center py-8">
|
|
128
|
+
<schmancy-spinner size="8" color="primary"></schmancy-spinner>
|
|
129
|
+
<schmancy-typography type="body" token="sm" class="mt-2">
|
|
130
|
+
Loading content...
|
|
131
|
+
</schmancy-typography>
|
|
132
|
+
</div>
|
|
133
|
+
</schmancy-card>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### 5. Status Indicators
|
|
137
|
+
```html
|
|
138
|
+
<div class="flex items-center gap-2">
|
|
139
|
+
<schmancy-spinner size="4" color="success"></schmancy-spinner>
|
|
140
|
+
<schmancy-typography>Syncing...</schmancy-typography>
|
|
141
|
+
</div>
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Accessibility
|
|
145
|
+
|
|
146
|
+
- The spinner is automatically marked with `aria-hidden="true"` since it's decorative
|
|
147
|
+
- Always provide textual context for screen readers:
|
|
148
|
+
```html
|
|
149
|
+
<div role="status">
|
|
150
|
+
<schmancy-spinner></schmancy-spinner>
|
|
151
|
+
<span class="sr-only">Loading...</span>
|
|
152
|
+
</div>
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Animation
|
|
156
|
+
|
|
157
|
+
- Continuous rotation at 1 second per revolution
|
|
158
|
+
- Smooth animation with reverse direction for visual appeal
|
|
159
|
+
- No performance impact with CSS animations
|
|
160
|
+
- Respects `prefers-reduced-motion` for accessibility
|
|
161
|
+
|
|
162
|
+
## Related Components
|
|
163
|
+
- **[Progress](./progress.md)**: For determinate linear progress
|
|
164
|
+
- **[Busy](./busy.md)**: For full-page loading states
|
|
165
|
+
- **[Button](./button.md)**: Often used with spinners for loading states
|