@mhmo91/schmancy 0.2.194 → 0.2.196
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/animated-text.md +114 -0
- package/ai/area.md +158 -78
- package/ai/card.md +162 -131
- package/ai/circular-progress.md +91 -0
- package/ai/content-drawer.md +190 -0
- package/ai/date-range.md +142 -0
- package/ai/delay.md +158 -0
- package/ai/dialog.md +10 -0
- package/ai/divider.md +153 -0
- package/ai/index.md +43 -3
- package/ai/nav-drawer.md +206 -0
- package/ai/option.md +173 -0
- package/ai/slider.md +227 -0
- package/ai/steps.md +231 -0
- package/ai/surface.md +139 -200
- package/ai/table.md +99 -1
- package/ai/teleport.md +196 -0
- package/ai/theme-button.md +173 -0
- package/ai/theme.md +241 -0
- package/ai/typewriter.md +217 -0
- package/dist/_headers +2 -0
- package/dist/ai/animated-text.md +114 -0
- package/dist/ai/area.md +158 -78
- package/dist/ai/card.md +162 -131
- package/dist/ai/circular-progress.md +91 -0
- package/dist/ai/content-drawer.md +190 -0
- package/dist/ai/date-range.md +142 -0
- package/dist/ai/delay.md +158 -0
- package/dist/ai/dialog.md +10 -0
- package/dist/ai/divider.md +153 -0
- package/dist/ai/index.md +43 -3
- package/dist/ai/nav-drawer.md +206 -0
- package/dist/ai/option.md +173 -0
- package/dist/ai/slider.md +227 -0
- package/dist/ai/steps.md +231 -0
- package/dist/ai/surface.md +139 -200
- package/dist/ai/table.md +99 -1
- package/dist/ai/teleport.md +196 -0
- package/dist/ai/theme-button.md +173 -0
- package/dist/ai/theme.md +241 -0
- package/dist/ai/typewriter.md +217 -0
- package/dist/{animated-text-9AM64DHd.cjs → animated-text-DnX2TopW.cjs} +2 -2
- package/dist/{animated-text-9AM64DHd.cjs.map → animated-text-DnX2TopW.cjs.map} +1 -1
- package/dist/{animated-text-CVStWn5N.js → animated-text-jv1yAwLh.js} +3 -3
- package/dist/{animated-text-CVStWn5N.js.map → animated-text-jv1yAwLh.js.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-DMD20wqd.js +191 -0
- package/dist/area.component-DMD20wqd.js.map +1 -0
- package/dist/area.component-Vs2WGXgk.cjs +8 -0
- package/dist/area.component-Vs2WGXgk.cjs.map +1 -0
- package/dist/area.js +21 -6
- package/dist/area.js.map +1 -1
- package/dist/{autocomplete-DBXvIJgc.cjs → autocomplete-BrAxEJJq.cjs} +2 -2
- package/dist/{autocomplete-DBXvIJgc.cjs.map → autocomplete-BrAxEJJq.cjs.map} +1 -1
- package/dist/{autocomplete-ih92pPkb.js → autocomplete-OS61ngsy.js} +3 -3
- package/dist/{autocomplete-ih92pPkb.js.map → autocomplete-OS61ngsy.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-Bmg5TXj9.cjs → avatar-CEdv8DJY.cjs} +62 -24
- package/dist/avatar-CEdv8DJY.cjs.map +1 -0
- package/dist/{avatar-CgP1tBZq.js → avatar-CUHTDenQ.js} +183 -145
- package/dist/avatar-CUHTDenQ.js.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.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-Jxxbjxp0.js → checkbox-CVXRiSWP.js} +72 -65
- package/dist/{checkbox-Jxxbjxp0.js.map → checkbox-CVXRiSWP.js.map} +1 -1
- package/dist/{checkbox-DtnX5sT6.cjs → checkbox-Chd-COYm.cjs} +10 -10
- package/dist/{checkbox-DtnX5sT6.cjs.map → checkbox-Chd-COYm.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-CVDnpVUM.cjs → chips-Bx9gSvN1.cjs} +2 -2
- package/dist/{chips-CVDnpVUM.cjs.map → chips-Bx9gSvN1.cjs.map} +1 -1
- package/dist/{chips-lP7ohQep.js → chips-Dx_erk55.js} +3 -3
- package/dist/{chips-lP7ohQep.js.map → chips-Dx_erk55.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/circular-progress-BQnGvbss.js +35 -0
- package/dist/circular-progress-BQnGvbss.js.map +1 -0
- package/dist/circular-progress-CNBah5dz.cjs +9 -0
- package/dist/circular-progress-CNBah5dz.cjs.map +1 -0
- package/dist/circular-progress.cjs +2 -0
- package/dist/circular-progress.cjs.map +1 -0
- package/dist/circular-progress.js +5 -0
- package/dist/circular-progress.js.map +1 -0
- 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-DbPA5Y-t.cjs → date-range-Cq0diVSY.cjs} +4 -3
- package/dist/{date-range-DbPA5Y-t.cjs.map → date-range-Cq0diVSY.cjs.map} +1 -1
- package/dist/{date-range-Ca9WLI4Q.js → date-range-wxdt6Ha0.js} +5 -4
- package/dist/date-range-wxdt6Ha0.js.map +1 -0
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-BgNgQV2G.cjs → delay-BzkhDhs0.cjs} +2 -2
- package/dist/{delay-BgNgQV2G.cjs.map → delay-BzkhDhs0.cjs.map} +1 -1
- package/dist/{delay-5cCl7ji3.js → delay-Ds5suSsc.js} +2 -2
- package/dist/{delay-5cCl7ji3.js.map → delay-Ds5suSsc.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{dialog-content-qj1E8aye.cjs → dialog-content-CJY69qfC.cjs} +8 -8
- package/dist/dialog-content-CJY69qfC.cjs.map +1 -0
- package/dist/{dialog-content-9pumpyLD.js → dialog-content-DFJnYzff.js} +86 -82
- package/dist/dialog-content-DFJnYzff.js.map +1 -0
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-r8-9eNnl.js → divider-C3w1_-N1.js} +3 -3
- package/dist/{divider-r8-9eNnl.js.map → divider-C3w1_-N1.js.map} +1 -1
- package/dist/{divider-CHckHGEQ.cjs → divider-CFzbCFsr.cjs} +2 -2
- package/dist/{divider-CHckHGEQ.cjs.map → divider-CFzbCFsr.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-D-TddflQ.js → dropdown-content-BGFYBXcx.js} +3 -3
- package/dist/{dropdown-content-D-TddflQ.js.map → dropdown-content-BGFYBXcx.js.map} +1 -1
- package/dist/{dropdown-content-B41MDDRG.cjs → dropdown-content-PaMOJphI.cjs} +2 -2
- package/dist/{dropdown-content-B41MDDRG.cjs.map → dropdown-content-PaMOJphI.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-Bf0zNqji.js → flex-Cy4Stl_1.js} +2 -2
- package/dist/{flex-Bf0zNqji.js.map → flex-Cy4Stl_1.js.map} +1 -1
- package/dist/{flex-CFv-Zb76.cjs → flex-DP5O5644.cjs} +2 -2
- package/dist/{flex-CFv-Zb76.cjs.map → flex-DP5O5644.cjs.map} +1 -1
- package/dist/{form-uYcr1RLJ.js → form-BQamcLFL.js} +2 -2
- package/dist/{form-uYcr1RLJ.js.map → form-BQamcLFL.js.map} +1 -1
- package/dist/{form-BN75s0PI.cjs → form-CG3kns69.cjs} +2 -2
- package/dist/{form-BN75s0PI.cjs.map → form-CG3kns69.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-BR-jE0Y2.js → icon-Cd4p9jRB.js} +3 -3
- package/dist/{icon-BR-jE0Y2.js.map → icon-Cd4p9jRB.js.map} +1 -1
- package/dist/{icon-Cu-imayV.cjs → icon-CilwMTXB.cjs} +2 -2
- package/dist/{icon-Cu-imayV.cjs.map → icon-CilwMTXB.cjs.map} +1 -1
- package/dist/{icon-button-1tZaicyb.js → icon-button-By17is4V.js} +3 -3
- package/dist/{icon-button-1tZaicyb.js.map → icon-button-By17is4V.js.map} +1 -1
- package/dist/{icon-button-D0BbHnDL.cjs → icon-button-C4Hf63hY.cjs} +2 -2
- package/dist/{icon-button-D0BbHnDL.cjs.map → icon-button-C4Hf63hY.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 +190 -173
- package/dist/index.js.map +1 -1
- package/dist/{input-B2oV6Hck.cjs → input-BIi0rS2t.cjs} +2 -2
- package/dist/{input-B2oV6Hck.cjs.map → input-BIi0rS2t.cjs.map} +1 -1
- package/dist/{input-kiz5O3dY.js → input-C8OAokVe.js} +2 -2
- package/dist/{input-kiz5O3dY.js.map → input-C8OAokVe.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-wT4DLXCh.js → list-BC3OE3Pu.js} +2 -2
- package/dist/{list-wT4DLXCh.js.map → list-BC3OE3Pu.js.map} +1 -1
- package/dist/{list-CMHoPfX9.cjs → list-jFsCubuy.cjs} +2 -2
- package/dist/{list-CMHoPfX9.cjs.map → list-jFsCubuy.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-B9Qdq5S_.js → litElement.mixin-C6PzcPXd.js} +2 -2
- package/dist/{litElement.mixin-B9Qdq5S_.js.map → litElement.mixin-C6PzcPXd.js.map} +1 -1
- package/dist/{litElement.mixin-CHvyxfxf.cjs → litElement.mixin-Cypiq-N-.cjs} +2 -2
- package/dist/{litElement.mixin-CHvyxfxf.cjs.map → litElement.mixin-Cypiq-N-.cjs.map} +1 -1
- package/dist/{menu-BcSplMNh.cjs → menu-CDjqdEd6.cjs} +2 -2
- package/dist/{menu-BcSplMNh.cjs.map → menu-CDjqdEd6.cjs.map} +1 -1
- package/dist/{menu-Dl1QU86K.js → menu-n_Doj-bW.js} +3 -3
- package/dist/{menu-Dl1QU86K.js.map → menu-n_Doj-bW.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-BV9ybQBu.cjs → notification-service--VLqOJJg.cjs} +2 -2
- package/dist/{notification-service-BV9ybQBu.cjs.map → notification-service--VLqOJJg.cjs.map} +1 -1
- package/dist/{notification-service-CC698xHg.js → notification-service-DHIhgWQr.js} +3 -3
- package/dist/{notification-service-CC698xHg.js.map → notification-service-DHIhgWQr.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-CkLBgH71.cjs → option-B359EBiZ.cjs} +2 -2
- package/dist/{option-CkLBgH71.cjs.map → option-B359EBiZ.cjs.map} +1 -1
- package/dist/{option-DDxxXwwc.js → option-oyyjCwnL.js} +2 -2
- package/dist/{option-DDxxXwwc.js.map → option-oyyjCwnL.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-UWbAYNPR.cjs → payment-card-form-B-ZAsSED.cjs} +2 -2
- package/dist/{payment-card-form-UWbAYNPR.cjs.map → payment-card-form-B-ZAsSED.cjs.map} +1 -1
- package/dist/{payment-card-form-DDTO5_AA.js → payment-card-form-BSueaw97.js} +3 -3
- package/dist/{payment-card-form-DDTO5_AA.js.map → payment-card-form-BSueaw97.js.map} +1 -1
- package/dist/{radio-button-wWoxPDfq.js → radio-button-84TD7rpH.js} +2 -2
- package/dist/{radio-button-wWoxPDfq.js.map → radio-button-84TD7rpH.js.map} +1 -1
- package/dist/{radio-button-BykiVxTD.cjs → radio-button-BO6mIWCi.cjs} +2 -2
- package/dist/{radio-button-BykiVxTD.cjs.map → radio-button-BO6mIWCi.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-B1mIGa9M.cjs → schmancy-steps-container-Cfq8OsWt.cjs} +2 -2
- package/dist/{schmancy-steps-container-B1mIGa9M.cjs.map → schmancy-steps-container-Cfq8OsWt.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-ByO98z7L.js → schmancy-steps-container-Lo4d27n3.js} +2 -2
- package/dist/{schmancy-steps-container-ByO98z7L.js.map → schmancy-steps-container-Lo4d27n3.js.map} +1 -1
- package/dist/{select-BIOhocL7.js → select-B-zgP_v6.js} +3 -3
- package/dist/{select-BIOhocL7.js.map → select-B-zgP_v6.js.map} +1 -1
- package/dist/{select-DE57Nios.cjs → select-DhEVsWh6.cjs} +2 -2
- package/dist/{select-DE57Nios.cjs.map → select-DhEVsWh6.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-fZYAWGsm.cjs → sheet-BEWq40cN.cjs} +2 -2
- package/dist/{sheet-fZYAWGsm.cjs.map → sheet-BEWq40cN.cjs.map} +1 -1
- package/dist/{sheet-Dh4MLVsU.js → sheet-DDY4pbD4.js} +3 -3
- package/dist/{sheet-Dh4MLVsU.js.map → sheet-DDY4pbD4.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-DVlJoDgU.js → slider--irxEv_B.js} +3 -3
- package/dist/{slider-DVlJoDgU.js.map → slider--irxEv_B.js.map} +1 -1
- package/dist/{slider-CejrdmPF.cjs → slider-De-H5fe8.cjs} +2 -2
- package/dist/{slider-CejrdmPF.cjs.map → slider-De-H5fe8.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-DbTnai_Q.js → spinner-Bl9n09Z5.js} +3 -3
- package/dist/{spinner-DbTnai_Q.js.map → spinner-Bl9n09Z5.js.map} +1 -1
- package/dist/{spinner-DxVJ7QJZ.cjs → spinner-DNz1IjmL.cjs} +2 -2
- package/dist/{spinner-DxVJ7QJZ.cjs.map → spinner-DNz1IjmL.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/surface-BAEUiWcq.cjs +92 -0
- package/dist/surface-BAEUiWcq.cjs.map +1 -0
- package/dist/surface-h9dLHMTm.js +113 -0
- package/dist/surface-h9dLHMTm.js.map +1 -0
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-CqUv1TOC.js → table-CxazXBjI.js} +72 -68
- package/dist/{table-CqUv1TOC.js.map → table-CxazXBjI.js.map} +1 -1
- package/dist/{table-CBhyHINV.cjs → table-Dn07ykGG.cjs} +4 -4
- package/dist/{table-CBhyHINV.cjs.map → table-Dn07ykGG.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-DUo2f_sV.js → tabs-compatibility-B8I0vg7Y.js} +2 -2
- package/dist/{tabs-compatibility-DUo2f_sV.js.map → tabs-compatibility-B8I0vg7Y.js.map} +1 -1
- package/dist/{tabs-compatibility-DPD6jfGF.cjs → tabs-compatibility-BrTxeSS-.cjs} +2 -2
- package/dist/{tabs-compatibility-DPD6jfGF.cjs.map → tabs-compatibility-BrTxeSS-.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-Du4i6vQR.js +43 -0
- package/dist/{tailwind.mixin-Di7KWye7.js.map → tailwind.mixin-Du4i6vQR.js.map} +1 -1
- package/dist/tailwind.mixin-qyIcoDLk.cjs +2 -0
- package/dist/{tailwind.mixin-Dm5QDZav.cjs.map → tailwind.mixin-qyIcoDLk.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-Dbz18REy.js → textarea-DibCLxC2.js} +2 -2
- package/dist/{textarea-Dbz18REy.js.map → textarea-DibCLxC2.js.map} +1 -1
- package/dist/{textarea-CesFdBkm.cjs → textarea-pMec4Wpg.cjs} +2 -2
- package/dist/{textarea-CesFdBkm.cjs.map → textarea-pMec4Wpg.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-Bt2OV4iu.cjs → theme-button-CG1w_waw.cjs} +2 -2
- package/dist/{theme-button-Bt2OV4iu.cjs.map → theme-button-CG1w_waw.cjs.map} +1 -1
- package/dist/{theme-button-lqbT2_LL.js → theme-button-irLEczd5.js} +2 -2
- package/dist/{theme-button-lqbT2_LL.js.map → theme-button-irLEczd5.js.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-xarFSe8p.js → theme.component-CMM8Xws2.js} +2 -2
- package/dist/{theme.component-xarFSe8p.js.map → theme.component-CMM8Xws2.js.map} +1 -1
- package/dist/{theme.component-BlBaN7d6.cjs → theme.component-CpRuySmd.cjs} +3 -3
- package/dist/{theme.component-BlBaN7d6.cjs.map → theme.component-CpRuySmd.cjs.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-DwT_pQrj.js → timezone-DIrmlnD6.js} +3 -3
- package/dist/{timezone-DwT_pQrj.js.map → timezone-DIrmlnD6.js.map} +1 -1
- package/dist/{timezone-VUMRmZaJ.cjs → timezone-n5GflDRe.cjs} +2 -2
- package/dist/{timezone-VUMRmZaJ.cjs.map → timezone-n5GflDRe.cjs.map} +1 -1
- package/dist/{tooltip-Cvoroe7w.cjs → tooltip-0vIcVm5-.cjs} +2 -2
- package/dist/{tooltip-Cvoroe7w.cjs.map → tooltip-0vIcVm5-.cjs.map} +1 -1
- package/dist/{tooltip-BKOHVCMK.js → tooltip-N_B-vsDa.js} +2 -2
- package/dist/{tooltip-BKOHVCMK.js.map → tooltip-N_B-vsDa.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-_FJnHVmP.js → tree-2Hf2X0Hv.js} +2 -2
- package/dist/{tree-_FJnHVmP.js.map → tree-2Hf2X0Hv.js.map} +1 -1
- package/dist/{tree-Cyp2AZ8g.cjs → tree-Q8AMxJxP.cjs} +2 -2
- package/dist/{tree-Cyp2AZ8g.cjs.map → tree-Q8AMxJxP.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-BIm2tOe4.cjs → typewriter-CsL-NfYC.cjs} +2 -2
- package/dist/{typewriter-BIm2tOe4.cjs.map → typewriter-CsL-NfYC.cjs.map} +1 -1
- package/dist/{typewriter-DWfXPBni.js → typewriter-bqbNKczJ.js} +22 -22
- package/dist/{typewriter-DWfXPBni.js.map → typewriter-bqbNKczJ.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-DaKLzjFB.js → typography-CbrvouLo.js} +2 -2
- package/dist/{typography-DaKLzjFB.js.map → typography-CbrvouLo.js.map} +1 -1
- package/dist/{typography-OpLt6LNd.cjs → typography-Hlts-hzc.cjs} +2 -2
- package/dist/{typography-OpLt6LNd.cjs.map → typography-Hlts-hzc.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/utils-BqFGvnN9.cjs +2 -0
- package/dist/utils-BqFGvnN9.cjs.map +1 -0
- package/dist/utils-jduntaQU.js +128 -0
- package/dist/utils-jduntaQU.js.map +1 -0
- package/package.json +13 -14
- package/types/src/area/area.component.d.ts +1 -1
- package/types/src/area/area.service.d.ts +44 -26
- package/types/src/area/index.d.ts +1 -0
- package/types/src/area/utils.d.ts +91 -1
- package/types/src/checkbox/checkbox.d.ts +9 -0
- package/types/src/circular-progress/circular-progress.d.ts +15 -0
- package/types/src/circular-progress/index.d.ts +1 -0
- package/types/src/dialog/dailog.d.ts +8 -0
- package/types/src/dialog/dialog-service.d.ts +1 -0
- package/types/src/index.d.ts +1 -0
- package/types/src/table/table.d.ts +1 -0
- package/dist/area.component-CzFJM7Y4.js +0 -143
- package/dist/area.component-CzFJM7Y4.js.map +0 -1
- package/dist/area.component-WxccFh1z.cjs +0 -8
- package/dist/area.component-WxccFh1z.cjs.map +0 -1
- package/dist/avatar-Bmg5TXj9.cjs.map +0 -1
- package/dist/avatar-CgP1tBZq.js.map +0 -1
- package/dist/date-range-Ca9WLI4Q.js.map +0 -1
- package/dist/dialog-content-9pumpyLD.js.map +0 -1
- package/dist/dialog-content-qj1E8aye.cjs.map +0 -1
- package/dist/surface-BTuzKmT2.cjs +0 -20
- package/dist/surface-BTuzKmT2.cjs.map +0 -1
- package/dist/surface-DXx1bJN4.js +0 -43
- package/dist/surface-DXx1bJN4.js.map +0 -1
- package/dist/tailwind.mixin-Di7KWye7.js +0 -43
- package/dist/tailwind.mixin-Dm5QDZav.cjs +0 -2
package/ai/theme.md
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
# Theme Component
|
|
2
|
+
|
|
3
|
+
A powerful theming system that generates Material Design 3 color schemes from a source color, with automatic dark/light mode support and CSS custom property injection.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<!-- Basic theme with auto color -->
|
|
9
|
+
<schmancy-theme>
|
|
10
|
+
<div class="my-app">
|
|
11
|
+
<!-- All children inherit theme -->
|
|
12
|
+
</div>
|
|
13
|
+
</schmancy-theme>
|
|
14
|
+
|
|
15
|
+
<!-- Custom color theme -->
|
|
16
|
+
<schmancy-theme color="#6750A4" scheme="light">
|
|
17
|
+
<schmancy-card>
|
|
18
|
+
<h2>Themed Content</h2>
|
|
19
|
+
</schmancy-card>
|
|
20
|
+
</schmancy-theme>
|
|
21
|
+
|
|
22
|
+
<!-- Root-level theme -->
|
|
23
|
+
<schmancy-theme color="#00695C" root>
|
|
24
|
+
<!-- Theme applies to entire document -->
|
|
25
|
+
</schmancy-theme>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Properties
|
|
29
|
+
|
|
30
|
+
| Property | Type | Default | Description |
|
|
31
|
+
|----------|------|---------|-------------|
|
|
32
|
+
| `color` | `string` | `random` | Source color for theme generation |
|
|
33
|
+
| `scheme` | `'dark' \| 'light' \| 'auto'` | `'auto'` | Color scheme mode |
|
|
34
|
+
| `root` | `boolean` | `false` | Apply theme to document root |
|
|
35
|
+
| `theme` | `Partial<TSchmancyTheme>` | `{}` | Custom theme overrides |
|
|
36
|
+
|
|
37
|
+
## Material Design 3 Integration
|
|
38
|
+
|
|
39
|
+
The component uses Google's Material Color Utilities to generate a complete color system:
|
|
40
|
+
|
|
41
|
+
```typescript
|
|
42
|
+
import { argbFromHex, themeFromSourceColor } from '@material/material-color-utilities';
|
|
43
|
+
|
|
44
|
+
// Generates full MD3 color palette
|
|
45
|
+
const theme = themeFromSourceColor(argbFromHex('#6750A4'));
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Examples
|
|
49
|
+
|
|
50
|
+
### App-Wide Theme
|
|
51
|
+
```html
|
|
52
|
+
<!-- In your app root -->
|
|
53
|
+
<schmancy-theme color="#1976D2" root>
|
|
54
|
+
<schmancy-app>
|
|
55
|
+
<!-- Entire app uses this theme -->
|
|
56
|
+
</schmancy-app>
|
|
57
|
+
</schmancy-theme>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Component-Level Theming
|
|
61
|
+
```html
|
|
62
|
+
<!-- Different sections with different themes -->
|
|
63
|
+
<div class="dashboard">
|
|
64
|
+
<schmancy-theme color="#00897B">
|
|
65
|
+
<section class="analytics">
|
|
66
|
+
<!-- Teal theme -->
|
|
67
|
+
</section>
|
|
68
|
+
</schmancy-theme>
|
|
69
|
+
|
|
70
|
+
<schmancy-theme color="#E53935">
|
|
71
|
+
<section class="alerts">
|
|
72
|
+
<!-- Red theme for alerts -->
|
|
73
|
+
</section>
|
|
74
|
+
</schmancy-theme>
|
|
75
|
+
</div>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Dark Mode Support
|
|
79
|
+
```html
|
|
80
|
+
<!-- Automatic dark/light switching -->
|
|
81
|
+
<schmancy-theme scheme="auto">
|
|
82
|
+
<schmancy-surface>
|
|
83
|
+
<p>Adapts to system preferences</p>
|
|
84
|
+
</schmancy-surface>
|
|
85
|
+
</schmancy-theme>
|
|
86
|
+
|
|
87
|
+
<!-- Force dark mode -->
|
|
88
|
+
<schmancy-theme scheme="dark" color="#673AB7">
|
|
89
|
+
<schmancy-card>
|
|
90
|
+
<h3>Always Dark</h3>
|
|
91
|
+
</schmancy-card>
|
|
92
|
+
</schmancy-theme>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Theme Overrides
|
|
96
|
+
```html
|
|
97
|
+
<schmancy-theme
|
|
98
|
+
color="#FF5722"
|
|
99
|
+
.theme="${{
|
|
100
|
+
sys: {
|
|
101
|
+
color: {
|
|
102
|
+
primary: {
|
|
103
|
+
default: '#FF5722',
|
|
104
|
+
onDefault: '#FFFFFF'
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}}"
|
|
109
|
+
>
|
|
110
|
+
<schmancy-button variant="filled">
|
|
111
|
+
Custom Themed Button
|
|
112
|
+
</schmancy-button>
|
|
113
|
+
</schmancy-theme>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Generated CSS Properties
|
|
117
|
+
|
|
118
|
+
The theme generates a comprehensive set of CSS custom properties:
|
|
119
|
+
|
|
120
|
+
```css
|
|
121
|
+
/* Primary colors */
|
|
122
|
+
--schmancy-sys-color-primary-default
|
|
123
|
+
--schmancy-sys-color-primary-onDefault
|
|
124
|
+
--schmancy-sys-color-primary-container
|
|
125
|
+
--schmancy-sys-color-primary-onContainer
|
|
126
|
+
|
|
127
|
+
/* Secondary colors */
|
|
128
|
+
--schmancy-sys-color-secondary-default
|
|
129
|
+
--schmancy-sys-color-secondary-onDefault
|
|
130
|
+
--schmancy-sys-color-secondary-container
|
|
131
|
+
--schmancy-sys-color-secondary-onContainer
|
|
132
|
+
|
|
133
|
+
/* Tertiary colors */
|
|
134
|
+
--schmancy-sys-color-tertiary-default
|
|
135
|
+
--schmancy-sys-color-tertiary-onDefault
|
|
136
|
+
|
|
137
|
+
/* Surface colors */
|
|
138
|
+
--schmancy-sys-color-surface-default
|
|
139
|
+
--schmancy-sys-color-surface-on
|
|
140
|
+
--schmancy-sys-color-surface-container
|
|
141
|
+
--schmancy-sys-color-surface-containerHigh
|
|
142
|
+
--schmancy-sys-color-surface-containerHighest
|
|
143
|
+
|
|
144
|
+
/* And many more... */
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Auto Color Scheme Detection
|
|
148
|
+
|
|
149
|
+
```javascript
|
|
150
|
+
// Automatically detects system preference
|
|
151
|
+
const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
|
|
152
|
+
|
|
153
|
+
// Reactive updates when system preference changes
|
|
154
|
+
scheme === 'auto' && mediaQuery.addEventListener('change', updateTheme);
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Random Color Generation
|
|
158
|
+
|
|
159
|
+
When no color is specified, generates a random color:
|
|
160
|
+
|
|
161
|
+
```javascript
|
|
162
|
+
generateRandomColor() {
|
|
163
|
+
const randomColor = Math.floor(Math.random() * 16777215).toString(16);
|
|
164
|
+
return '#' + randomColor.padStart(6, '0');
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Context Provider
|
|
169
|
+
|
|
170
|
+
The theme component provides its theme via Lit Context:
|
|
171
|
+
|
|
172
|
+
```javascript
|
|
173
|
+
import { consume } from '@lit/context';
|
|
174
|
+
import { themeContext } from '@schmancy/theme';
|
|
175
|
+
|
|
176
|
+
// In child components
|
|
177
|
+
@consume({ context: themeContext })
|
|
178
|
+
theme: TSchmancyTheme;
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Advanced Usage
|
|
182
|
+
|
|
183
|
+
### Nested Themes
|
|
184
|
+
```html
|
|
185
|
+
<schmancy-theme color="#2196F3" scheme="light">
|
|
186
|
+
<div class="main-content">
|
|
187
|
+
<!-- Blue light theme -->
|
|
188
|
+
|
|
189
|
+
<schmancy-theme color="#F44336" scheme="dark">
|
|
190
|
+
<aside class="sidebar">
|
|
191
|
+
<!-- Red dark theme -->
|
|
192
|
+
</aside>
|
|
193
|
+
</schmancy-theme>
|
|
194
|
+
</div>
|
|
195
|
+
</schmancy-theme>
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Dynamic Theme Changes
|
|
199
|
+
```javascript
|
|
200
|
+
const themeEl = document.querySelector('schmancy-theme');
|
|
201
|
+
|
|
202
|
+
// Change color
|
|
203
|
+
themeEl.color = '#9C27B0';
|
|
204
|
+
|
|
205
|
+
// Switch scheme
|
|
206
|
+
themeEl.scheme = 'dark';
|
|
207
|
+
|
|
208
|
+
// Apply custom overrides
|
|
209
|
+
themeEl.theme = {
|
|
210
|
+
sys: {
|
|
211
|
+
color: {
|
|
212
|
+
error: {
|
|
213
|
+
default: '#FF0000'
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
## Best Practices
|
|
221
|
+
|
|
222
|
+
1. **Root Theme**: Use one root theme for consistency
|
|
223
|
+
2. **Color Choice**: Pick colors with good contrast ratios
|
|
224
|
+
3. **Scheme Handling**: Respect user preferences with 'auto'
|
|
225
|
+
4. **Performance**: Limit nested themes
|
|
226
|
+
5. **Accessibility**: Test themes with contrast checkers
|
|
227
|
+
|
|
228
|
+
## Related Components
|
|
229
|
+
|
|
230
|
+
- [Theme Button](./theme-button.md) - Theme switcher
|
|
231
|
+
- [Surface](./surface.md) - Themed containers
|
|
232
|
+
- [Button](./button.md) - Themed interactions
|
|
233
|
+
- [Card](./card.md) - Themed content
|
|
234
|
+
|
|
235
|
+
## Use Cases
|
|
236
|
+
|
|
237
|
+
1. **App Theming**: Consistent app-wide styling
|
|
238
|
+
2. **White-Label**: Dynamic branding
|
|
239
|
+
3. **User Preferences**: Personalized themes
|
|
240
|
+
4. **Section Theming**: Different themes for app sections
|
|
241
|
+
5. **A/B Testing**: Theme variations for testing
|
package/ai/typewriter.md
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# Typewriter Component
|
|
2
|
+
|
|
3
|
+
An engaging text animation component that simulates typing effects with customizable speed, delays, and advanced sequencing capabilities.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<!-- Basic typewriter effect -->
|
|
9
|
+
<schmancy-typewriter>
|
|
10
|
+
Hello, World! This text will be typed out character by character.
|
|
11
|
+
</schmancy-typewriter>
|
|
12
|
+
|
|
13
|
+
<!-- With custom speed -->
|
|
14
|
+
<schmancy-typewriter speed="30" delay="500">
|
|
15
|
+
Fast typing with a delay before starting.
|
|
16
|
+
</schmancy-typewriter>
|
|
17
|
+
|
|
18
|
+
<!-- With actions -->
|
|
19
|
+
<schmancy-typewriter>
|
|
20
|
+
Type this first.
|
|
21
|
+
<span action="pause" value="1000"></span>
|
|
22
|
+
Then type this after a pause.
|
|
23
|
+
<span action="delete" value="10"></span>
|
|
24
|
+
And finally this!
|
|
25
|
+
</schmancy-typewriter>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Properties
|
|
29
|
+
|
|
30
|
+
| Property | Type | Default | Description |
|
|
31
|
+
|----------|------|---------|-------------|
|
|
32
|
+
| `speed` | `number` | `50` | Typing speed (ms per character) |
|
|
33
|
+
| `delay` | `number` | `0` | Initial delay before typing starts |
|
|
34
|
+
| `autoStart` | `boolean` | `true` | Start typing automatically |
|
|
35
|
+
| `cursorChar` | `string` | `''` | Custom cursor character |
|
|
36
|
+
| `deleteSpeed` | `number` | `25` | Speed for deletion (ms per character) |
|
|
37
|
+
| `once` | `boolean` | `true` | Only animate once per session |
|
|
38
|
+
|
|
39
|
+
## Events
|
|
40
|
+
|
|
41
|
+
### typeit-complete
|
|
42
|
+
Fired when typing animation completes.
|
|
43
|
+
|
|
44
|
+
```javascript
|
|
45
|
+
element.addEventListener('typeit-complete', () => {
|
|
46
|
+
console.log('Typing finished!');
|
|
47
|
+
});
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Examples
|
|
51
|
+
|
|
52
|
+
### Hero Section
|
|
53
|
+
```html
|
|
54
|
+
<div class="hero">
|
|
55
|
+
<h1>
|
|
56
|
+
<schmancy-typewriter speed="100" delay="300">
|
|
57
|
+
Welcome to the Future
|
|
58
|
+
</schmancy-typewriter>
|
|
59
|
+
</h1>
|
|
60
|
+
<p>
|
|
61
|
+
<schmancy-typewriter delay="2000" speed="40">
|
|
62
|
+
Where innovation meets possibility.
|
|
63
|
+
</schmancy-typewriter>
|
|
64
|
+
</p>
|
|
65
|
+
</div>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Multi-line Typing
|
|
69
|
+
```html
|
|
70
|
+
<schmancy-typewriter speed="60">
|
|
71
|
+
<p>First paragraph of text.</p>
|
|
72
|
+
<p>Second paragraph appears on a new line.</p>
|
|
73
|
+
<p>Third paragraph continues the story.</p>
|
|
74
|
+
</schmancy-typewriter>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Terminal Effect
|
|
78
|
+
```html
|
|
79
|
+
<div class="terminal">
|
|
80
|
+
<schmancy-typewriter cursorChar="|" speed="30">
|
|
81
|
+
$ npm install schmancy-ui
|
|
82
|
+
<span action="pause" value="500"></span>
|
|
83
|
+
<p>Installing dependencies...</p>
|
|
84
|
+
<span action="pause" value="1000"></span>
|
|
85
|
+
<p>✓ Installation complete!</p>
|
|
86
|
+
</schmancy-typewriter>
|
|
87
|
+
</div>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Dynamic Typing Sequence
|
|
91
|
+
```html
|
|
92
|
+
<schmancy-typewriter>
|
|
93
|
+
We are
|
|
94
|
+
<span action="pause" value="500"></span>
|
|
95
|
+
developers
|
|
96
|
+
<span action="delete" value="10"></span>
|
|
97
|
+
designers
|
|
98
|
+
<span action="delete" value="9"></span>
|
|
99
|
+
innovators
|
|
100
|
+
<span action="pause" value="1000"></span>
|
|
101
|
+
!
|
|
102
|
+
</schmancy-typewriter>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Code Tutorial
|
|
106
|
+
```html
|
|
107
|
+
<schmancy-typewriter speed="40">
|
|
108
|
+
<code>
|
|
109
|
+
function greet(name) {
|
|
110
|
+
<span action="pause" value="300"></span>
|
|
111
|
+
return `Hello, ${name}!`;
|
|
112
|
+
<span action="pause" value="300"></span>
|
|
113
|
+
}
|
|
114
|
+
</code>
|
|
115
|
+
</schmancy-typewriter>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Actions System
|
|
119
|
+
|
|
120
|
+
Special action elements control typing behavior:
|
|
121
|
+
|
|
122
|
+
| Action | Value | Description |
|
|
123
|
+
|--------|-------|-------------|
|
|
124
|
+
| `pause` | milliseconds | Pause typing for specified duration |
|
|
125
|
+
| `delete` | character count | Delete specified number of characters |
|
|
126
|
+
|
|
127
|
+
```html
|
|
128
|
+
<span action="pause" value="1000"></span> <!-- 1 second pause -->
|
|
129
|
+
<span action="delete" value="5"></span> <!-- Delete 5 characters -->
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Features
|
|
133
|
+
|
|
134
|
+
### Session Memory
|
|
135
|
+
When `once` is true, remembers completion state per session:
|
|
136
|
+
- Uses sessionStorage with content hash
|
|
137
|
+
- Skips animation on repeat views
|
|
138
|
+
- Clears on session end
|
|
139
|
+
|
|
140
|
+
### Context Integration
|
|
141
|
+
Inherits delay from parent `schmancy-delay` components:
|
|
142
|
+
|
|
143
|
+
```html
|
|
144
|
+
<schmancy-delay delay="1000">
|
|
145
|
+
<schmancy-typewriter> <!-- Inherits 1000ms delay -->
|
|
146
|
+
This starts typing after 1 second
|
|
147
|
+
</schmancy-typewriter>
|
|
148
|
+
</schmancy-delay>
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Intersection Observer
|
|
152
|
+
Only starts typing when element is in viewport:
|
|
153
|
+
- Efficient performance
|
|
154
|
+
- Better user experience
|
|
155
|
+
- Automatic trigger on scroll
|
|
156
|
+
|
|
157
|
+
### TypeIt Integration
|
|
158
|
+
Powered by the TypeIt library for smooth, reliable animations.
|
|
159
|
+
|
|
160
|
+
## Styling
|
|
161
|
+
|
|
162
|
+
```css
|
|
163
|
+
/* Hide cursor after completion */
|
|
164
|
+
schmancy-typewriter {
|
|
165
|
+
--ti-cursor-display: none;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/* Custom cursor styling */
|
|
169
|
+
schmancy-typewriter .ti-cursor {
|
|
170
|
+
color: var(--schmancy-sys-color-primary-default);
|
|
171
|
+
font-weight: normal;
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Advanced Configuration
|
|
176
|
+
|
|
177
|
+
```javascript
|
|
178
|
+
// TypeIt options passed through
|
|
179
|
+
const typeItOptions = {
|
|
180
|
+
speed: this.speed,
|
|
181
|
+
startDelay: this.delay,
|
|
182
|
+
cursor: !!this.cursorChar,
|
|
183
|
+
cursorChar: this.cursorChar,
|
|
184
|
+
deleteSpeed: this.deleteSpeed,
|
|
185
|
+
afterComplete: () => {
|
|
186
|
+
// Custom completion logic
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Accessibility
|
|
192
|
+
|
|
193
|
+
- Uses `aria-live="polite"` for screen reader support
|
|
194
|
+
- Completed text remains in DOM
|
|
195
|
+
- Semantic HTML structure maintained
|
|
196
|
+
|
|
197
|
+
## Best Practices
|
|
198
|
+
|
|
199
|
+
1. **Speed**: 40-80ms for comfortable reading speed
|
|
200
|
+
2. **Delays**: Use pauses for emphasis
|
|
201
|
+
3. **Content**: Keep animations short and meaningful
|
|
202
|
+
4. **Performance**: Limit concurrent typewriters
|
|
203
|
+
5. **Mobile**: Test on various devices
|
|
204
|
+
|
|
205
|
+
## Related Components
|
|
206
|
+
|
|
207
|
+
- [Animated Text](./animated-text.md) - Word/letter animations
|
|
208
|
+
- [Delay](./delay.md) - Coordinated delays
|
|
209
|
+
- [Typography](./typography.md) - Text styling
|
|
210
|
+
|
|
211
|
+
## Use Cases
|
|
212
|
+
|
|
213
|
+
1. **Landing Pages**: Engaging hero text
|
|
214
|
+
2. **Tutorials**: Step-by-step code examples
|
|
215
|
+
3. **Storytelling**: Narrative experiences
|
|
216
|
+
4. **Loading States**: Entertaining wait messages
|
|
217
|
+
5. **Terminal UIs**: Command-line interfaces
|
package/dist/_headers
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline' https://cdn.jsdelivr.net/npm/ https://www.claudeusercontent.com https://cdnjs.cloudflare.com https://cdn.jsdelivr.net/pyodide/; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net/npm/; font-src 'self' data: https://cdn.jsdelivr.net/npm/; img-src 'self' data: https: blob:; connect-src 'self' https:
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Schmancy Animated Text - AI Reference
|
|
2
|
+
|
|
3
|
+
```js
|
|
4
|
+
// Animated Text Component
|
|
5
|
+
<schmancy-animated-text
|
|
6
|
+
ease="outExpo"
|
|
7
|
+
delay="0"
|
|
8
|
+
stagger="50"
|
|
9
|
+
duration="750"
|
|
10
|
+
scale="[0, 1]"
|
|
11
|
+
opacity="[0, 1]"
|
|
12
|
+
translateX="['0.55em', '0em']"
|
|
13
|
+
translateY="['1.1em', '0em']"
|
|
14
|
+
rotate3d="[0, 0, 1, 45]">
|
|
15
|
+
Text to animate
|
|
16
|
+
</schmancy-animated-text>
|
|
17
|
+
|
|
18
|
+
// Animation Properties
|
|
19
|
+
ease: string // Animation easing function (default: "outExpo")
|
|
20
|
+
delay: number // Initial delay in milliseconds (default: 0)
|
|
21
|
+
stagger: number // Delay between letter animations (default: 50)
|
|
22
|
+
duration: number // Animation duration in milliseconds (default: 750)
|
|
23
|
+
scale: number[] // Scale transformation [from, to] (default: [0, 1])
|
|
24
|
+
opacity: number[] // Opacity transition [from, to] (default: [0, 1])
|
|
25
|
+
translateX: string[] // X translation ["from", "to"] (default: ['0.55em', '0em'])
|
|
26
|
+
translateY: string[] // Y translation ["from", "to"] (default: ['1.1em', '0em'])
|
|
27
|
+
rotate3d: number[] // 3D rotation [x, y, z, angle] (default: [0, 0, 1, 45])
|
|
28
|
+
|
|
29
|
+
// Examples
|
|
30
|
+
// 1. Basic fade in
|
|
31
|
+
<schmancy-animated-text>
|
|
32
|
+
Welcome to our application
|
|
33
|
+
</schmancy-animated-text>
|
|
34
|
+
|
|
35
|
+
// 2. Custom stagger effect
|
|
36
|
+
<schmancy-animated-text
|
|
37
|
+
stagger="100"
|
|
38
|
+
duration="1000"
|
|
39
|
+
translateY="['2em', '0em']">
|
|
40
|
+
Cascading Letters
|
|
41
|
+
</schmancy-animated-text>
|
|
42
|
+
|
|
43
|
+
// 3. Scale and rotate effect
|
|
44
|
+
<schmancy-animated-text
|
|
45
|
+
scale="[0.5, 1]"
|
|
46
|
+
rotate3d="[0, 1, 0, 180]"
|
|
47
|
+
duration="1500">
|
|
48
|
+
Dramatic Entrance
|
|
49
|
+
</schmancy-animated-text>
|
|
50
|
+
|
|
51
|
+
// 4. No translation effect
|
|
52
|
+
<schmancy-animated-text
|
|
53
|
+
translateX="['0em', '0em']"
|
|
54
|
+
translateY="['0em', '0em']"
|
|
55
|
+
opacity="[0, 1]">
|
|
56
|
+
Fade Only
|
|
57
|
+
</schmancy-animated-text>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Related Components
|
|
61
|
+
- **[Typography](./typography.md)**: Base text styling component
|
|
62
|
+
- **[Typewriter](./typewriter.md)**: Alternative text animation with typing effect
|
|
63
|
+
|
|
64
|
+
## Technical Details
|
|
65
|
+
|
|
66
|
+
### Animation Behavior
|
|
67
|
+
- Text is split into individual letter spans
|
|
68
|
+
- Each letter animates with the specified stagger delay
|
|
69
|
+
- Uses Web Animations API for performance
|
|
70
|
+
- Animations trigger on component mount and when text changes
|
|
71
|
+
- Responsive to viewport visibility
|
|
72
|
+
|
|
73
|
+
### CSS Classes
|
|
74
|
+
- `.ml7`: Main wrapper class
|
|
75
|
+
- `.text-wrapper`: Container for animated text
|
|
76
|
+
- `.letter`: Individual animated letter span
|
|
77
|
+
|
|
78
|
+
## Common Use Cases
|
|
79
|
+
|
|
80
|
+
1. **Hero Text**: Large headings with dramatic entrance animations
|
|
81
|
+
```html
|
|
82
|
+
<h1>
|
|
83
|
+
<schmancy-animated-text duration="2000" scale="[0.3, 1]">
|
|
84
|
+
Welcome to Schmancy
|
|
85
|
+
</schmancy-animated-text>
|
|
86
|
+
</h1>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
2. **Loading Messages**: Staggered letter animations for loading states
|
|
90
|
+
```html
|
|
91
|
+
<schmancy-animated-text stagger="100" translateY="['1em', '0em']">
|
|
92
|
+
Loading...
|
|
93
|
+
</schmancy-animated-text>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
3. **Notifications**: Subtle fade-in for status messages
|
|
97
|
+
```html
|
|
98
|
+
<schmancy-animated-text
|
|
99
|
+
duration="500"
|
|
100
|
+
translateX="['0em', '0em']"
|
|
101
|
+
translateY="['0em', '0em']">
|
|
102
|
+
Operation completed successfully
|
|
103
|
+
</schmancy-animated-text>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
4. **Interactive Reveals**: Combined with visibility triggers
|
|
107
|
+
```html
|
|
108
|
+
<schmancy-animated-text
|
|
109
|
+
delay="500"
|
|
110
|
+
stagger="75"
|
|
111
|
+
opacity="[0, 1]">
|
|
112
|
+
Scroll to reveal this text
|
|
113
|
+
</schmancy-animated-text>
|
|
114
|
+
```
|