@mhmo91/schmancy 0.4.13 → 0.4.14
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/busy.md +6 -7
- package/ai/button.md +5 -5
- package/ai/card.md +1 -1
- package/ai/checkbox.md +15 -25
- package/ai/form.md +63 -66
- package/ai/input.md +33 -28
- package/ai/notification.md +47 -61
- package/ai/radio-group.md +47 -29
- package/ai/select.md +3 -3
- package/ai/typography.md +12 -12
- package/dist/ai/busy.md +6 -7
- package/dist/ai/button.md +5 -5
- package/dist/ai/card.md +1 -1
- package/dist/ai/checkbox.md +15 -25
- package/dist/ai/form.md +63 -66
- package/dist/ai/input.md +33 -28
- package/dist/ai/notification.md +47 -61
- package/dist/ai/radio-group.md +47 -29
- package/dist/ai/select.md +3 -3
- package/dist/ai/typography.md +12 -12
- package/dist/{animated-text-DrgxxVXA.js → animated-text-CuOeUPBc.js} +3 -3
- package/dist/{animated-text-DrgxxVXA.js.map → animated-text-CuOeUPBc.js.map} +1 -1
- package/dist/{animated-text-aOZ4KXTt.cjs → animated-text-vI_J_T4H.cjs} +2 -2
- package/dist/{animated-text-aOZ4KXTt.cjs.map → animated-text-vI_J_T4H.cjs.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-BNENor9z.js → area.component-BM9ihM3x.js} +3 -3
- package/dist/{area.component-BNENor9z.js.map → area.component-BM9ihM3x.js.map} +1 -1
- package/dist/{area.component-BEiNkBI9.cjs → area.component-DMXMTNuu.cjs} +2 -2
- package/dist/{area.component-BEiNkBI9.cjs.map → area.component-DMXMTNuu.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-L0aas1vi.cjs → autocomplete-BF2L9FvO.cjs} +2 -2
- package/dist/{autocomplete-L0aas1vi.cjs.map → autocomplete-BF2L9FvO.cjs.map} +1 -1
- package/dist/{autocomplete-86x1z92h.js → autocomplete-BmY1HiRm.js} +3 -3
- package/dist/{autocomplete-86x1z92h.js.map → autocomplete-BmY1HiRm.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-DtzFyhlM.js → avatar-BCuQDohh.js} +45 -45
- package/dist/{avatar-DtzFyhlM.js.map → avatar-BCuQDohh.js.map} +1 -1
- package/dist/{avatar-Cy-cEMb2.cjs → avatar-CFAmHdY7.cjs} +2 -2
- package/dist/{avatar-Cy-cEMb2.cjs.map → avatar-CFAmHdY7.cjs.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-CMO8rBpx.js → boat-DhLd0NFJ.js} +2 -2
- package/dist/{boat-CMO8rBpx.js.map → boat-DhLd0NFJ.js.map} +1 -1
- package/dist/{boat-BMESV9c8.cjs → boat-GHXDYUXo.cjs} +2 -2
- package/dist/{boat-BMESV9c8.cjs.map → boat-GHXDYUXo.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-Chh3OgWJ.js → checkbox-BOQEemBC.js} +2 -2
- package/dist/{checkbox-Chh3OgWJ.js.map → checkbox-BOQEemBC.js.map} +1 -1
- package/dist/{checkbox-C7Xx4zVu.cjs → checkbox-CRwmpo0I.cjs} +2 -2
- package/dist/{checkbox-C7Xx4zVu.cjs.map → checkbox-CRwmpo0I.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-CZWOuWYh.js → chips-CAdNz2hu.js} +3 -3
- package/dist/{chips-CZWOuWYh.js.map → chips-CAdNz2hu.js.map} +1 -1
- package/dist/{chips-BPaU1fIQ.cjs → chips-CL4ex3S5.cjs} +2 -2
- package/dist/{chips-BPaU1fIQ.cjs.map → chips-CL4ex3S5.cjs.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/{circular-progress-xJRFI7FV.js → circular-progress-Byjn--Fy.js} +3 -3
- package/dist/{circular-progress-xJRFI7FV.js.map → circular-progress-Byjn--Fy.js.map} +1 -1
- package/dist/{circular-progress-B716jMbW.cjs → circular-progress-DHLvm1dK.cjs} +2 -2
- package/dist/{circular-progress-B716jMbW.cjs.map → circular-progress-DHLvm1dK.cjs.map} +1 -1
- package/dist/circular-progress.cjs +1 -1
- package/dist/circular-progress.js +1 -1
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-D1CCeP9o.cjs → code-preview-C0kMHrZp.cjs} +2 -2
- package/dist/{code-preview-D1CCeP9o.cjs.map → code-preview-C0kMHrZp.cjs.map} +1 -1
- package/dist/{code-preview-BMLIHTbp.js → code-preview-KWJFLNdy.js} +2 -2
- package/dist/{code-preview-BMLIHTbp.js.map → code-preview-KWJFLNdy.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-fP7yi819.js → date-range-Dbw7tlTg.js} +3 -3
- package/dist/{date-range-fP7yi819.js.map → date-range-Dbw7tlTg.js.map} +1 -1
- package/dist/{date-range-BncoO-ye.cjs → date-range-Dq9AYUX9.cjs} +2 -2
- package/dist/{date-range-BncoO-ye.cjs.map → date-range-Dq9AYUX9.cjs.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-oQ9qrOV_.cjs → delay-CHFrBv7q.cjs} +2 -2
- package/dist/{delay-oQ9qrOV_.cjs.map → delay-CHFrBv7q.cjs.map} +1 -1
- package/dist/{delay-DN_yNSsK.js → delay-DVNcXeFo.js} +2 -2
- package/dist/{delay-DN_yNSsK.js.map → delay-DVNcXeFo.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{dialog-content-BxiEOcGi.js → dialog-content-BUZnNGK5.js} +3 -3
- package/dist/{dialog-content-BxiEOcGi.js.map → dialog-content-BUZnNGK5.js.map} +1 -1
- package/dist/{dialog-content-aKmUf0nh.cjs → dialog-content-Bgc7dtoN.cjs} +2 -2
- package/dist/{dialog-content-aKmUf0nh.cjs.map → dialog-content-Bgc7dtoN.cjs.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-CZMnnY6N.js → divider-Baxo2_bg.js} +3 -3
- package/dist/{divider-CZMnnY6N.js.map → divider-Baxo2_bg.js.map} +1 -1
- package/dist/{divider-DH4gDqR3.cjs → divider-ONYdMCC3.cjs} +2 -2
- package/dist/{divider-DH4gDqR3.cjs.map → divider-ONYdMCC3.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-CDONqec-.js → dropdown-content-Di_ThsYr.js} +3 -3
- package/dist/{dropdown-content-CDONqec-.js.map → dropdown-content-Di_ThsYr.js.map} +1 -1
- package/dist/{dropdown-content-B_nQ7JQb.cjs → dropdown-content-DjcEmYM4.cjs} +2 -2
- package/dist/{dropdown-content-B_nQ7JQb.cjs.map → dropdown-content-DjcEmYM4.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-CdU3dsnT.cjs → flex-B_mu8j3k.cjs} +2 -2
- package/dist/{flex-CdU3dsnT.cjs.map → flex-B_mu8j3k.cjs.map} +1 -1
- package/dist/{flex-DpEq-xBP.js → flex-CqNaXCKb.js} +2 -2
- package/dist/{flex-DpEq-xBP.js.map → flex-CqNaXCKb.js.map} +1 -1
- package/dist/{form-DOXwEWEA.cjs → form-ha4Eqx8c.cjs} +2 -2
- package/dist/{form-DOXwEWEA.cjs.map → form-ha4Eqx8c.cjs.map} +1 -1
- package/dist/{form-CBQ7tqoN.js → form-t3eedyiY.js} +2 -2
- package/dist/{form-CBQ7tqoN.js.map → form-t3eedyiY.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-Dua_nJpW.js → formField.mixin-DzKDhHbR.js} +2 -2
- package/dist/{formField.mixin-Dua_nJpW.js.map → formField.mixin-DzKDhHbR.js.map} +1 -1
- package/dist/{formField.mixin-s6FQGAPU.cjs → formField.mixin-d14Fm5er.cjs} +2 -2
- package/dist/{formField.mixin-s6FQGAPU.cjs.map → formField.mixin-d14Fm5er.cjs.map} +1 -1
- package/dist/{icon-MwCR53u1.cjs → icon-CFCGmi4A.cjs} +2 -2
- package/dist/{icon-MwCR53u1.cjs.map → icon-CFCGmi4A.cjs.map} +1 -1
- package/dist/{icon-button-Dv6GLseS.cjs → icon-button-D4GrKqC0.cjs} +2 -2
- package/dist/{icon-button-Dv6GLseS.cjs.map → icon-button-D4GrKqC0.cjs.map} +1 -1
- package/dist/{icon-button-nX-6I8-n.js → icon-button-UhONt-F9.js} +3 -3
- package/dist/{icon-button-nX-6I8-n.js.map → icon-button-UhONt-F9.js.map} +1 -1
- package/dist/{icon-h6T16FZr.js → icon-tJDnrQSl.js} +2 -2
- package/dist/{icon-h6T16FZr.js.map → icon-tJDnrQSl.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 +43 -43
- package/dist/{input-CRyjA5vL.js → input-BKGOpZ3z.js} +3 -3
- package/dist/{input-CRyjA5vL.js.map → input-BKGOpZ3z.js.map} +1 -1
- package/dist/{input-oZQ_ATz5.cjs → input-dNXzVzgY.cjs} +2 -2
- package/dist/{input-oZQ_ATz5.cjs.map → input-dNXzVzgY.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-le1t7wnv.js → list-BXQI_aVt.js} +2 -2
- package/dist/{list-le1t7wnv.js.map → list-BXQI_aVt.js.map} +1 -1
- package/dist/{list-DsOs1b2s.cjs → list-DLKOrlMB.cjs} +2 -2
- package/dist/{list-DsOs1b2s.cjs.map → list-DLKOrlMB.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-nh8G1Uii.js → litElement.mixin-BFshhc99.js} +2 -2
- package/dist/{litElement.mixin-nh8G1Uii.js.map → litElement.mixin-BFshhc99.js.map} +1 -1
- package/dist/{litElement.mixin-HAhKNS-6.cjs → litElement.mixin-D80K-DKp.cjs} +2 -2
- package/dist/{litElement.mixin-HAhKNS-6.cjs.map → litElement.mixin-D80K-DKp.cjs.map} +1 -1
- package/dist/{media-BP4kiHwu.js → media-CMy1y_G4.js} +2 -2
- package/dist/{media-BP4kiHwu.js.map → media-CMy1y_G4.js.map} +1 -1
- package/dist/{media-D90bHvDD.cjs → media-DrrOd3Cp.cjs} +2 -2
- package/dist/{media-D90bHvDD.cjs.map → media-DrrOd3Cp.cjs.map} +1 -1
- package/dist/{menu-BirD28L0.js → menu-CIbYjq5w.js} +3 -3
- package/dist/{menu-BirD28L0.js.map → menu-CIbYjq5w.js.map} +1 -1
- package/dist/{menu-C0F6gTv9.cjs → menu-HxSHRr44.cjs} +2 -2
- package/dist/{menu-C0F6gTv9.cjs.map → menu-HxSHRr44.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/{notification-service-COqkYPMO.cjs → notification-service-D6dwccSa.cjs} +2 -2
- package/dist/{notification-service-COqkYPMO.cjs.map → notification-service-D6dwccSa.cjs.map} +1 -1
- package/dist/{notification-service-CX1notpL.js → notification-service-DqhrEhim.js} +3 -3
- package/dist/{notification-service-CX1notpL.js.map → notification-service-DqhrEhim.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-BgfgOhne.js → option-B7mh5iBR.js} +2 -2
- package/dist/{option-BgfgOhne.js.map → option-B7mh5iBR.js.map} +1 -1
- package/dist/{option-C2ioIuX3.cjs → option-YZacOiKm.cjs} +2 -2
- package/dist/{option-C2ioIuX3.cjs.map → option-YZacOiKm.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-CPdQDBjl.cjs → payment-card-form-Ba3j-mko.cjs} +2 -2
- package/dist/{payment-card-form-CPdQDBjl.cjs.map → payment-card-form-Ba3j-mko.cjs.map} +1 -1
- package/dist/{payment-card-form-BV5TjuAP.js → payment-card-form-jeoZZi6p.js} +3 -3
- package/dist/{payment-card-form-BV5TjuAP.js.map → payment-card-form-jeoZZi6p.js.map} +1 -1
- package/dist/progress-CZXKwGBB.cjs +35 -0
- package/dist/progress-CZXKwGBB.cjs.map +1 -0
- package/dist/progress-D4y0dpK9.js +57 -0
- package/dist/progress-D4y0dpK9.js.map +1 -0
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-D6ZQIEMc.js → radio-button-CKty5_sG.js} +3 -3
- package/dist/{radio-button-D6ZQIEMc.js.map → radio-button-CKty5_sG.js.map} +1 -1
- package/dist/{radio-button-Bplx6LUo.cjs → radio-button-DeAY1R3D.cjs} +2 -2
- package/dist/{radio-button-Bplx6LUo.cjs.map → radio-button-DeAY1R3D.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-CI_dfEaJ.cjs → schmancy-steps-container-CmSXDf7C.cjs} +2 -2
- package/dist/{schmancy-steps-container-CI_dfEaJ.cjs.map → schmancy-steps-container-CmSXDf7C.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-feCUXcti.js → schmancy-steps-container-DdxlPOl3.js} +2 -2
- package/dist/{schmancy-steps-container-feCUXcti.js.map → schmancy-steps-container-DdxlPOl3.js.map} +1 -1
- package/dist/{select-B4HKxJNd.js → select-7pWyVOgh.js} +3 -3
- package/dist/{select-B4HKxJNd.js.map → select-7pWyVOgh.js.map} +1 -1
- package/dist/{select-7MfozdvB.cjs → select-BRkT8QuS.cjs} +2 -2
- package/dist/{select-7MfozdvB.cjs.map → select-BRkT8QuS.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-CoHqDHlJ.js → sheet-q6FFKREE.js} +4 -4
- package/dist/{sheet-CoHqDHlJ.js.map → sheet-q6FFKREE.js.map} +1 -1
- package/dist/{sheet-BD7mNPgo.cjs → sheet-t4A4BeGz.cjs} +2 -2
- package/dist/{sheet-BD7mNPgo.cjs.map → sheet-t4A4BeGz.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{theme.component-CqT-wazM.cjs → sheet.service-DO-2bnGp.cjs} +3 -3
- package/dist/sheet.service-DO-2bnGp.cjs.map +1 -0
- package/dist/{theme.component-Biom0Mmq.js → sheet.service-DqO2aRtR.js} +60 -60
- package/dist/sheet.service-DqO2aRtR.js.map +1 -0
- package/dist/{slider-D8YnrJ-8.cjs → slider-BtKp18tE.cjs} +2 -2
- package/dist/{slider-D8YnrJ-8.cjs.map → slider-BtKp18tE.cjs.map} +1 -1
- package/dist/{slider-B7r8w_31.js → slider-Cv78iuoH.js} +3 -3
- package/dist/{slider-B7r8w_31.js.map → slider-Cv78iuoH.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/spinner-BZKI4Aje.cjs +77 -0
- package/dist/spinner-BZKI4Aje.cjs.map +1 -0
- package/dist/spinner-DIXpf7Xc.js +106 -0
- package/dist/spinner-DIXpf7Xc.js.map +1 -0
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-CjUKBdLJ.cjs → surface-6Kwk9NCC.cjs} +2 -2
- package/dist/{surface-CjUKBdLJ.cjs.map → surface-6Kwk9NCC.cjs.map} +1 -1
- package/dist/{surface-Bw7q1kMH.js → surface-By-1_D5m.js} +2 -2
- package/dist/{surface-Bw7q1kMH.js.map → surface-By-1_D5m.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-DQ38Z4T0.js → table-BKdxrE64.js} +2 -2
- package/dist/{table-DQ38Z4T0.js.map → table-BKdxrE64.js.map} +1 -1
- package/dist/{table-DFnbyo4s.cjs → table-BojV1cr-.cjs} +2 -2
- package/dist/{table-DFnbyo4s.cjs.map → table-BojV1cr-.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-DYErcu_5.js → tabs-compatibility-BddIPDk-.js} +2 -2
- package/dist/{tabs-compatibility-DYErcu_5.js.map → tabs-compatibility-BddIPDk-.js.map} +1 -1
- package/dist/{tabs-compatibility-BFULPNKJ.cjs → tabs-compatibility-BuSTUrbW.cjs} +2 -2
- package/dist/{tabs-compatibility-BFULPNKJ.cjs.map → tabs-compatibility-BuSTUrbW.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-C9wSwMyj.cjs +2 -0
- package/dist/{tailwind.mixin-DN3mj7AF.cjs.map → tailwind.mixin-C9wSwMyj.cjs.map} +1 -1
- package/dist/tailwind.mixin-CjS7whsn.js +43 -0
- package/dist/{tailwind.mixin-CGuZJSAV.js.map → tailwind.mixin-CjS7whsn.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-DUQC00Fd.js → textarea-BkUV1o5c.js} +2 -2
- package/dist/{textarea-DUQC00Fd.js.map → textarea-BkUV1o5c.js.map} +1 -1
- package/dist/{textarea-B1kV_2eH.cjs → textarea-Csc71VAg.cjs} +2 -2
- package/dist/{textarea-B1kV_2eH.cjs.map → textarea-Csc71VAg.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-nswF-4e7.cjs → theme-button-BBAfag6o.cjs} +2 -2
- package/dist/{theme-button-nswF-4e7.cjs.map → theme-button-BBAfag6o.cjs.map} +1 -1
- package/dist/{theme-button-CXnJIlOE.js → theme-button-D-bDzeOP.js} +2 -2
- package/dist/{theme-button-CXnJIlOE.js.map → theme-button-D-bDzeOP.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.js +1 -1
- package/dist/{timezone-DEfdZ7Ih.js → timezone-CRh0TVA5.js} +3 -3
- package/dist/{timezone-DEfdZ7Ih.js.map → timezone-CRh0TVA5.js.map} +1 -1
- package/dist/{timezone-BanTl7db.cjs → timezone-DntF7Anf.cjs} +2 -2
- package/dist/{timezone-BanTl7db.cjs.map → timezone-DntF7Anf.cjs.map} +1 -1
- package/dist/{tooltip-DyiokkSK.cjs → tooltip-7Vz-0dIm.cjs} +2 -2
- package/dist/{tooltip-DyiokkSK.cjs.map → tooltip-7Vz-0dIm.cjs.map} +1 -1
- package/dist/{tooltip-Cwd97bhO.js → tooltip-DSZZBYgA.js} +2 -2
- package/dist/{tooltip-Cwd97bhO.js.map → tooltip-DSZZBYgA.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-DiGklPGH.js → tree-BNtkejK4.js} +2 -2
- package/dist/{tree-DiGklPGH.js.map → tree-BNtkejK4.js.map} +1 -1
- package/dist/{tree-CkEPnffd.cjs → tree-CPQBVpEO.cjs} +2 -2
- package/dist/{tree-CkEPnffd.cjs.map → tree-CPQBVpEO.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-CclJKtWA.js → typewriter-Brhk0nKN.js} +4 -4
- package/dist/{typewriter-CclJKtWA.js.map → typewriter-Brhk0nKN.js.map} +1 -1
- package/dist/{typewriter-3DNeJHA8.cjs → typewriter-h4SJqRGh.cjs} +2 -2
- package/dist/{typewriter-3DNeJHA8.cjs.map → typewriter-h4SJqRGh.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-CddeXVmZ.cjs → typography-7ntwHeb5.cjs} +2 -2
- package/dist/{typography-CddeXVmZ.cjs.map → typography-7ntwHeb5.cjs.map} +1 -1
- package/dist/{typography-UQvNQS6H.js → typography-Bt0EPE8x.js} +2 -2
- package/dist/{typography-UQvNQS6H.js.map → typography-Bt0EPE8x.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/dist/progress-C7nnUVNo.cjs +0 -30
- package/dist/progress-C7nnUVNo.cjs.map +0 -1
- package/dist/progress-DNoDfb2_.js +0 -52
- package/dist/progress-DNoDfb2_.js.map +0 -1
- package/dist/spinner-CXfX6eka.js +0 -77
- package/dist/spinner-CXfX6eka.js.map +0 -1
- package/dist/spinner-DYX-qUui.cjs +0 -45
- package/dist/spinner-DYX-qUui.cjs.map +0 -1
- package/dist/tailwind.mixin-CGuZJSAV.js +0 -43
- package/dist/tailwind.mixin-DN3mj7AF.cjs +0 -2
- package/dist/theme.component-Biom0Mmq.js.map +0 -1
- package/dist/theme.component-CqT-wazM.cjs.map +0 -1
package/dist/ai/notification.md
CHANGED
|
@@ -2,53 +2,51 @@
|
|
|
2
2
|
|
|
3
3
|
```js
|
|
4
4
|
// Notification Service API
|
|
5
|
-
import { $notification } from 'schmancy';
|
|
5
|
+
import { $notification } from '@mhmo91/schmancy';
|
|
6
6
|
|
|
7
7
|
// Display notification methods
|
|
8
|
-
$notification.info(message
|
|
9
|
-
$notification.success(message
|
|
10
|
-
$notification.warning(message
|
|
11
|
-
$notification.error(message
|
|
8
|
+
$notification.info(message?, options?) -> string // Returns notification ID
|
|
9
|
+
$notification.success(message?, options?) -> string
|
|
10
|
+
$notification.warning(message?, options?) -> string
|
|
11
|
+
$notification.error(message?, options?) -> string
|
|
12
12
|
|
|
13
13
|
// Custom notification
|
|
14
|
-
$notification.
|
|
14
|
+
$notification.notify({
|
|
15
15
|
message: string,
|
|
16
|
-
type
|
|
16
|
+
type?: 'info'|'success'|'warning'|'error',
|
|
17
17
|
title?: string,
|
|
18
|
-
duration?: number,
|
|
19
|
-
closable?: boolean,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}],
|
|
24
|
-
position?: 'top-right'|'top-left'|'bottom-right'|'bottom-left'|'top'|'bottom',
|
|
25
|
-
onClose?: Function
|
|
26
|
-
}) -> NotificationRef
|
|
27
|
-
|
|
28
|
-
// NotificationRef object
|
|
29
|
-
{
|
|
30
|
-
close(): void, // Programmatically close the notification
|
|
31
|
-
id: string // Unique ID of the notification
|
|
32
|
-
}
|
|
18
|
+
duration?: number, // milliseconds, default 1000 (1 second)
|
|
19
|
+
closable?: boolean, // default true
|
|
20
|
+
playSound?: boolean, // default true
|
|
21
|
+
id?: string // custom ID
|
|
22
|
+
}) -> string // Returns notification ID
|
|
33
23
|
|
|
34
24
|
// Notification Container Component
|
|
35
|
-
<
|
|
36
|
-
position="top-right|top-left|bottom-right|bottom-left|top|bottom"
|
|
37
|
-
max-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
<schmancy-notification-outlet name="custom-location"></schmancy-notification-outlet>
|
|
42
|
-
// Use with:
|
|
43
|
-
$notification.show({ message: "Alert", outlet: "custom-location" });
|
|
25
|
+
<sch-notification-container
|
|
26
|
+
position="top-right|top-left|bottom-right|bottom-left|top-center|bottom-center"
|
|
27
|
+
max-visible-notifications="2" // Max number shown at once (default: 2)
|
|
28
|
+
play-sound="true|false" // Enable/disable sounds (default: false)
|
|
29
|
+
audio-volume="0.1"> // Volume level 0-1 (default: 0.1)
|
|
30
|
+
</sch-notification-container>
|
|
44
31
|
|
|
45
|
-
// Notification
|
|
46
|
-
|
|
32
|
+
// Individual Notification Component (used internally)
|
|
33
|
+
<sch-notification
|
|
34
|
+
title="Title"
|
|
35
|
+
message="Message text"
|
|
36
|
+
type="info|success|warning|error"
|
|
37
|
+
duration="5000" // Auto-close after ms (0 = no auto-close)
|
|
38
|
+
closable="true"
|
|
39
|
+
play-sound="true"
|
|
40
|
+
@close> // Fired when notification closes
|
|
41
|
+
</sch-notification>
|
|
47
42
|
|
|
48
43
|
// Examples
|
|
49
44
|
// Basic usage
|
|
50
45
|
$notification.success("Operation completed successfully");
|
|
51
46
|
|
|
47
|
+
// Without message (just icon)
|
|
48
|
+
$notification.success();
|
|
49
|
+
|
|
52
50
|
// With options
|
|
53
51
|
$notification.error("Failed to save changes", {
|
|
54
52
|
title: "Error",
|
|
@@ -56,38 +54,26 @@ $notification.error("Failed to save changes", {
|
|
|
56
54
|
closable: true
|
|
57
55
|
});
|
|
58
56
|
|
|
59
|
-
// With actions
|
|
60
|
-
$notification.info("New update available", {
|
|
61
|
-
actions: [
|
|
62
|
-
{
|
|
63
|
-
label: "Update Now",
|
|
64
|
-
onClick: () => performUpdate()
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
label: "Remind Later",
|
|
68
|
-
onClick: () => scheduleReminder()
|
|
69
|
-
}
|
|
70
|
-
]
|
|
71
|
-
});
|
|
72
|
-
|
|
73
57
|
// Custom notification
|
|
74
|
-
$notification.
|
|
58
|
+
$notification.notify({
|
|
75
59
|
type: "info",
|
|
76
|
-
message: "Custom message
|
|
60
|
+
message: "Custom message",
|
|
77
61
|
title: "Information",
|
|
78
62
|
duration: 0, // won't auto-close
|
|
79
|
-
|
|
80
|
-
actions: [{
|
|
81
|
-
label: "Dismiss",
|
|
82
|
-
onClick: (ref) => ref.close()
|
|
83
|
-
}]
|
|
63
|
+
playSound: false
|
|
84
64
|
});
|
|
85
65
|
|
|
86
|
-
//
|
|
87
|
-
$notification.info(
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
66
|
+
// Programmatic control
|
|
67
|
+
const notificationId = $notification.info("Processing...", { duration: 0 });
|
|
68
|
+
// Later, to remove it:
|
|
69
|
+
const container = document.querySelector('sch-notification-container');
|
|
70
|
+
container.removeNotification(notificationId);
|
|
71
|
+
|
|
72
|
+
// Setup notification container
|
|
73
|
+
// Add this once in your app layout:
|
|
74
|
+
<sch-notification-container
|
|
75
|
+
position="top-right"
|
|
76
|
+
max-visible-notifications="3"
|
|
77
|
+
play-sound="true">
|
|
78
|
+
</sch-notification-container>
|
|
93
79
|
```
|
package/dist/ai/radio-group.md
CHANGED
|
@@ -1,57 +1,75 @@
|
|
|
1
1
|
# Schmancy Radio Group - AI Reference
|
|
2
2
|
|
|
3
3
|
```js
|
|
4
|
-
// Basic Radio Group
|
|
4
|
+
// Basic Radio Group with options array
|
|
5
5
|
<schmancy-radio-group
|
|
6
6
|
name="radio-group-name"
|
|
7
7
|
label="Group Label"
|
|
8
8
|
value="selected-value"
|
|
9
|
+
.options=${[
|
|
10
|
+
{ value: "option1", label: "Option 1" },
|
|
11
|
+
{ value: "option2", label: "Option 2" },
|
|
12
|
+
{ value: "option3", label: "Option 3" }
|
|
13
|
+
]}
|
|
9
14
|
required?
|
|
10
|
-
disabled?
|
|
11
|
-
error="Error message"
|
|
12
15
|
@change=${handleChange}>
|
|
13
|
-
|
|
14
|
-
<schmancy-radio-button
|
|
15
|
-
value="option1"
|
|
16
|
-
label="Option 1">
|
|
17
|
-
</schmancy-radio-button>
|
|
18
|
-
|
|
19
|
-
<schmancy-radio-button
|
|
20
|
-
value="option2"
|
|
21
|
-
label="Option 2">
|
|
22
|
-
</schmancy-radio-button>
|
|
23
|
-
|
|
24
|
-
<schmancy-radio-button
|
|
25
|
-
value="option3"
|
|
26
|
-
label="Option 3"
|
|
27
|
-
disabled>
|
|
28
|
-
</schmancy-radio-button>
|
|
29
16
|
</schmancy-radio-group>
|
|
30
17
|
|
|
31
|
-
// Radio Group with
|
|
18
|
+
// Radio Group with slotted radio buttons
|
|
32
19
|
<schmancy-radio-group
|
|
33
20
|
label="Select payment method"
|
|
34
|
-
|
|
35
|
-
|
|
21
|
+
value="credit"
|
|
22
|
+
@change=${handleChange}>
|
|
36
23
|
|
|
37
24
|
<schmancy-radio-button
|
|
38
25
|
value="credit"
|
|
39
|
-
|
|
26
|
+
name="payment">
|
|
27
|
+
<span slot="label">Credit Card</span>
|
|
40
28
|
</schmancy-radio-button>
|
|
41
29
|
|
|
42
30
|
<schmancy-radio-button
|
|
43
31
|
value="paypal"
|
|
44
|
-
|
|
32
|
+
name="payment">
|
|
33
|
+
<span slot="label">PayPal</span>
|
|
34
|
+
</schmancy-radio-button>
|
|
35
|
+
|
|
36
|
+
<schmancy-radio-button
|
|
37
|
+
value="bank"
|
|
38
|
+
name="payment"
|
|
39
|
+
disabled>
|
|
40
|
+
<span slot="label">Bank Transfer</span>
|
|
45
41
|
</schmancy-radio-button>
|
|
46
42
|
</schmancy-radio-group>
|
|
47
43
|
|
|
48
|
-
//
|
|
49
|
-
<schmancy-radio-button
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
// Standalone radio button (without group)
|
|
45
|
+
<schmancy-radio-button
|
|
46
|
+
value="standalone"
|
|
47
|
+
name="standalone-radio"
|
|
48
|
+
checked
|
|
49
|
+
@change=${handleChange}>
|
|
50
|
+
<span slot="label">Standalone Option</span>
|
|
53
51
|
</schmancy-radio-button>
|
|
54
52
|
|
|
53
|
+
// Radio Group Properties
|
|
54
|
+
name: string // Form field name
|
|
55
|
+
label: string // Group label
|
|
56
|
+
value: string // Currently selected value
|
|
57
|
+
options: Array<{ // Options array (alternative to slotted content)
|
|
58
|
+
value: string,
|
|
59
|
+
label: string
|
|
60
|
+
}>
|
|
61
|
+
required: boolean // Whether selection is required
|
|
62
|
+
|
|
63
|
+
// Radio Button Properties
|
|
64
|
+
value: string // The value of this option
|
|
65
|
+
name: string // Form field name (for standalone use)
|
|
66
|
+
checked: boolean // Whether this option is selected
|
|
67
|
+
disabled: boolean // Whether this option is disabled
|
|
68
|
+
|
|
69
|
+
// Events
|
|
70
|
+
@change // CustomEvent<{ value: string }> - Fired when selection changes
|
|
71
|
+
@radio-button-click // Internal event for group communication
|
|
72
|
+
|
|
55
73
|
// Radio Group Methods
|
|
56
74
|
radioGroup.focus() -> void // Focus the first/selected radio button
|
|
57
75
|
radioGroup.validate() -> boolean // Validate and show error if invalid
|
package/dist/ai/select.md
CHANGED
|
@@ -17,17 +17,17 @@
|
|
|
17
17
|
<schmancy-option value="option3" disabled>Option 3</schmancy-option>
|
|
18
18
|
</schmancy-select>
|
|
19
19
|
|
|
20
|
-
// Select with
|
|
20
|
+
// Select with hint text
|
|
21
21
|
<schmancy-select
|
|
22
22
|
label="Country"
|
|
23
|
-
|
|
23
|
+
hint="Select your country of residence"
|
|
24
24
|
required>
|
|
25
25
|
<!-- Options -->
|
|
26
26
|
</schmancy-select>
|
|
27
27
|
|
|
28
28
|
// Multiple select
|
|
29
29
|
<schmancy-select
|
|
30
|
-
|
|
30
|
+
multi
|
|
31
31
|
label="Select Skills"
|
|
32
32
|
.value=${['html', 'css']}
|
|
33
33
|
@change=${(e) => console.log('Selected:', e.detail.value)}>
|
package/dist/ai/typography.md
CHANGED
|
@@ -20,9 +20,9 @@ import '@mhmo91/schmancy/typography'
|
|
|
20
20
|
// Typography Scale Reference (size/line-height)
|
|
21
21
|
// Display: xl (72/80), lg (57/64), md (45/52), sm (36/44), xs (28/36)
|
|
22
22
|
// Headline: xl (36/44), lg (32/40), md (28/36), sm (24/32), xs (20/28)
|
|
23
|
-
// Title: xl (
|
|
24
|
-
// Subtitle: xl (20/28), lg (18/24), md (16/
|
|
25
|
-
// Label: xl (16/
|
|
23
|
+
// Title: xl (24/32), lg (22/28), md (16/24), sm (14/20), xs (12/16)
|
|
24
|
+
// Subtitle: xl (20/28), lg (18/24), md (16/24), sm (14/20), xs (12/16)
|
|
25
|
+
// Label: xl (16/22), lg (14/20), md (12/16), sm (11/16), xs (10/14)
|
|
26
26
|
// Body: xl (18/28), lg (16/24), md (14/20), sm (12/16), xs (10/14)
|
|
27
27
|
|
|
28
28
|
// Examples
|
|
@@ -111,22 +111,22 @@ Material Design 3 typography scale with 6 types, each with 5 sizes:
|
|
|
111
111
|
- `sm`: 24px/32px line-height
|
|
112
112
|
- `xs`: 20px/28px line-height
|
|
113
113
|
|
|
114
|
-
**Title** - Smaller titles and subtitles (weight: 400
|
|
115
|
-
- `xl`:
|
|
114
|
+
**Title** - Smaller titles and subtitles (weight: 400)
|
|
115
|
+
- `xl`: 24px/32px line-height (weight: 400)
|
|
116
116
|
- `lg`: 22px/28px line-height (weight: 400)
|
|
117
117
|
- `md`: 16px/24px line-height (weight: 500)
|
|
118
118
|
- `sm`: 14px/20px line-height (weight: 500)
|
|
119
119
|
- `xs`: 12px/16px line-height (weight: 500)
|
|
120
120
|
|
|
121
|
-
**Subtitle** - Secondary headings (weight:
|
|
121
|
+
**Subtitle** - Secondary headings (weight: 500)
|
|
122
122
|
- `xl`: 20px/28px line-height
|
|
123
123
|
- `lg`: 18px/24px line-height
|
|
124
|
-
- `md`: 16px/
|
|
125
|
-
- `sm`: 14px/
|
|
124
|
+
- `md`: 16px/24px line-height
|
|
125
|
+
- `sm`: 14px/20px line-height
|
|
126
126
|
- `xs`: 12px/16px line-height
|
|
127
127
|
|
|
128
128
|
**Label** - UI labels and buttons (weight: 500)
|
|
129
|
-
- `xl`: 16px/
|
|
129
|
+
- `xl`: 16px/22px line-height
|
|
130
130
|
- `lg`: 14px/20px line-height
|
|
131
131
|
- `md`: 12px/16px line-height
|
|
132
132
|
- `sm`: 11px/16px line-height
|
|
@@ -172,9 +172,9 @@ Typography automatically inherits colors from the theme:
|
|
|
172
172
|
### Implementation Details
|
|
173
173
|
- Uses Shadow DOM with encapsulated styles
|
|
174
174
|
- All typography values are hardcoded in the component
|
|
175
|
-
- Renders
|
|
176
|
-
- Font family
|
|
177
|
-
-
|
|
175
|
+
- Renders with `display: block` by default
|
|
176
|
+
- Font family inherits from parent
|
|
177
|
+
- All properties reflect to HTML attributes for CSS targeting
|
|
178
178
|
|
|
179
179
|
## Common Use Cases
|
|
180
180
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { concat as u, interval as g, startWith as y, filter as h, take as d, fromEvent as f, throttleTime as w, map as b, distinctUntilChanged as $, tap as c } from "rxjs";
|
|
2
2
|
import "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
|
-
import { $ as x } from "./litElement.mixin-
|
|
5
|
-
import "./tailwind.mixin-
|
|
4
|
+
import { $ as x } from "./litElement.mixin-BFshhc99.js";
|
|
5
|
+
import "./tailwind.mixin-CjS7whsn.js";
|
|
6
6
|
import { property as a, queryAssignedNodes as S, query as m, customElement as Z } from "lit/decorators.js";
|
|
7
7
|
import { css as v, html as A } from "lit";
|
|
8
8
|
var E = Object.defineProperty, O = Object.getOwnPropertyDescriptor, e = (r, s, n, i) => {
|
|
@@ -72,4 +72,4 @@ let t = class extends x(v`
|
|
|
72
72
|
}
|
|
73
73
|
};
|
|
74
74
|
e([a({ type: String })], t.prototype, "ease", 2), e([a({ type: Number })], t.prototype, "delay", 2), e([a({ type: Number })], t.prototype, "stagger", 2), e([a({ type: Number })], t.prototype, "duration", 2), e([a({ type: Array })], t.prototype, "scale", 2), e([a({ type: Array })], t.prototype, "opacity", 2), e([a({ type: Array })], t.prototype, "translateX", 2), e([a({ type: Array })], t.prototype, "translateY", 2), e([a({ type: Array })], t.prototype, "translateZ", 2), e([a({ type: Array })], t.prototype, "rotateZ", 2), e([a({ type: Boolean })], t.prototype, "resetOnScroll", 2), e([S()], t.prototype, "defaultSlot", 2), e([m(".letters")], t.prototype, "letters", 2), e([m(".ml7")], t.prototype, "ml7", 2), t = e([Z("schmancy-animated-text")], t);
|
|
75
|
-
//# sourceMappingURL=animated-text-
|
|
75
|
+
//# sourceMappingURL=animated-text-CuOeUPBc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animated-text-DrgxxVXA.js","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"animated-text-CuOeUPBc.js","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":";;;;;;;;;;;AAsBA,IAAqBA,IAArB,cAAkDC,EAAYC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA9D,EAAA;AAAA,EAAA,cAAAC;AAAAA,UAAAA,GAAAC,SAoBoCC,GAAAA,KAAAC,OAAA,WACCD,KAAAE,QAAA,GACEF,KAAAG,UAAA,IACCH,KAAAI,WAAA,KACJJ,KAAAK,QAAA,CAAC,GAAG,CAAA,GACFL,KAAAM,UAAA,CAAC,GAAG,CACDN,GAAAA,KAAAO,aAAA,CAAC,UAAU,KAAA,GACXP,KAAAQ,aAAA,CAAC,SAAS,KACVR,GAAAA,KAAAS,aAAA,CAAC,GAAG,CAAA,GACPT,KAAAU,UAAA,CAAC,KAAK,CACEV,GAAAA,KAAAW,gBAAA;AAAA,EAAA;AAAA,EAO7C,aAAaC,GAAAA;AACN,UAAAC,IAAOD,EAAQE,sBAAAA;AACrB,WACCD,EAAKE,OAAO,KACZF,EAAKG,QAAQ,KACbH,EAAKI,WAAWC,OAAOC,eAAeC,SAASC,gBAAgBC,iBAC/DT,EAAKU,UAAUL,OAAOM,cAAcJ,SAASC,gBAAgBI;AAAAA,EAAA;AAAA,EAI/D,MAAMC,eAAAA;AAEA1B,SAAA2B,QAAQC,YAAY5B,KAAK6B,YAAY,CAAA,EAAGC,YAAaC,QAAQ,OAAO,gCAAA,GAGzEC,EAECC,EAAS,EAAIC,EAAAA,KACZC,EAAU,EAAA,GACVC,EAAO,MAAA;AACA,YAAAvB,IAAOb,KAAKc,sBAAAA;AAClB,aAAOD,EAAKwB,QAAQ,KAAKxB,EAAKyB,SAAS;AAAA,IAAA,CAAA,GAExCC,EAAK,CAAA,CAAA,GAGNC,EAAUtB,QAAQ,QAAUgB,EAAAA,KAC3BO,EAAa,GAAA,QAAc,EAC1BC,SAAS,IACTC,UAAU,GAAA,CAAA,GAEXR,EAAU,EAAA,GACVS,EAAI,MAAM5C,KAAK6C,aAAa7C,IAC5B8C,CAAAA,GAAAA,EAAAA,GACAC,EAAkBC,CAAAA,MAAAA;AAAAA,OAEZA,KAAchD,KAAKW,iBACvBsC,MAAMC,KAAKlD,KAAK2B,QAAQwB,QAAAA,EAAUC,QAASC,CAAAA,MAAAA;AAC1CA,QAAAA,EAAOC,MAAMhD,UAAU;AAAA,MAAA,CACvB;AAAA,IAAA,CAAA,GAGH8B,SAAuBS,CAEvB7C,GAAAA,KAAKW,gBAAgBoC,EAAAA,IAAQR,EAAK,CAAA,GAClCQ,EAAI,EACHQ,MAAM,MAAA;AAEWvD,WAAKwD,WAAYC,iBAA8B,cAAA,EAEvDL,QAAQ,CAACC,GAAQK,MAAAA;AAGxB,cAAMC,IAAgB;AAAA,8BACC3D,KAAKO,WAAW,CAAA,CAAA,KAAOP,KAAKQ,WAAW,CAAOR,CAAAA,KAAAA,KAAKS,WAAW,CAAA,CAAA;AAAA,0BAClET,KAAKU,QAAQ,CACfV,CAAAA;AAAAA,wBAAAA,KAAKK,MAAM,CAAA,CAAA;AAAA,iBAGtBuD,IAAc;AAAA,8BACG5D,KAAKO,WAAW,CAAOP,CAAAA,KAAAA,KAAKQ,WAAW,CAAA,CAAA,KAAOR,KAAKS,WAAW,CAClET,CAAAA;AAAAA,0BAAAA,KAAKU,QAAQ,CAAA,CAAA;AAAA,wBACfV,KAAKK,MAAM,CAQtBwD,CAAAA;AAAAA,iBAAAA,IAAwB,CAC7B,EAAEC,WAAWH,GAAerD,SAASyD,OAAO/D,KAAKM,QAAQ,CACzD,CAAA,EAAA,GAAA,EAAEwD,WAAWF,GAAatD,SAASyD,OAAO/D,KAAKM,QAAQ,CAGxD+C,CAAAA,EAAAA,CAAAA;AAAAA,QAAAA,EAAOW,QAAQH,GAAW,EACzBzD,UAAUJ,KAAKI,UACf6D,QAXyC,EACzCC,SAAS,iCAAA,EAUSlE,KAAKC,IAAAA,KAAS,YAChCC,OAAOF,KAAKE,QAAQwD,IAAI1D,KAAKG,SAC7BgE,MAAM,WACN,CAAA;AAAA,MAAA,CAAA;AAAA,IACD,EAIHC,CAAAA,CAAAA,CAAAA,EAAAA,UAAAA;AAAAA,EAAU;AAAA,EAGb,SACQ;AAAA,WAAAC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAA;AAAA;AA1GoBC,EAAA,CAA3BC,EAAS,EAAEC,MAAMT,OAAAA,CAAAA,CAAAA,GApBEpE,EAoBQ8E,WAAA,QAAA,CAAA,GACAH,EAAA,CAA3BC,EAAS,EAAEC,MAAME,OArBE/E,CAAAA,CAAAA,GAAAA,EAqBQ8E,WAAA,SAAA,CACAH,GAAAA,EAAA,CAA3BC,EAAS,EAAEC,MAAME,OAAAA,CAAAA,CAAAA,GAtBE/E,EAsBQ8E,WAAA,WAAA,CAAA,GACAH,EAAA,CAA3BC,EAAS,EAAEC,MAAME,OAvBE/E,CAAAA,CAAAA,GAAAA,EAuBQ8E,WAAA,YAAA,CACDH,GAAAA,EAAA,CAA1BC,EAAS,EAAEC,MAAMvB,MAxBEtD,CAAAA,CAAAA,GAAAA,EAwBO8E,WAAA,SAAA,CAAA,GACAH,EAAA,CAA1BC,EAAS,EAAEC,MAAMvB,MAAAA,CAAAA,CAAAA,GAzBEtD,EAyBO8E,WAAA,WAAA,CACAH,GAAAA,EAAA,CAA1BC,EAAS,EAAEC,MAAMvB,WA1BEtD,EA0BO8E,WAAA,cAAA,CAAA,GACAH,EAAA,CAA1BC,EAAS,EAAEC,MAAMvB,MAAAA,CAAAA,CAAAA,GA3BEtD,EA2BO8E,WAAA,cAAA,CAAA,GACAH,EAAA,CAA1BC,EAAS,EAAEC,MAAMvB,MA5BEtD,CAAAA,CAAAA,GAAAA,EA4BO8E,WAAA,cAAA,CACAH,GAAAA,EAAA,CAA1BC,EAAS,EAAEC,MAAMvB,MAAAA,CAAAA,CAAAA,GA7BEtD,EA6BO8E,WAAA,WAAA,CAAA,GACEH,EAAA,CAA5BC,EAAS,EAAEC,MAAMG,QA9BEhF,CAAAA,CAAAA,GAAAA,EA8BS8E,WAAA,iBAAA,IAEPH,EAAA,CAArBM,EAhCmBjF,CAAAA,GAAAA,EAgCE8E,WAAA,eAAA,CACHH,GAAAA,EAAA,CAAlBO,EAAM,UAAA,CAAA,GAjCalF,EAiCD8E,WAAA,WAAA,CAAA,GACJH,EAAA,CAAdO,EAAM,MAlCalF,CAAAA,GAAAA,EAkCL8E,WAAA,OAAA,CAlCK9E,GAAAA,IAArB2E,EAAA,CADCQ,EAAc,wBACMnF,CAAAA,GAAAA,CAAAA;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const e=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const h=require("./litElement.mixin-
|
|
1
|
+
"use strict";const e=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const h=require("./litElement.mixin-D80K-DKp.cjs");require("./tailwind.mixin-C9wSwMyj.cjs");const r=require("lit/decorators.js"),c=require("lit");var d=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=(i,a,p,n)=>{for(var l,o=n>1?void 0:n?u(a,p):a,y=i.length-1;y>=0;y--)(l=i[y])&&(o=(n?l(a,p,o):l(o))||o);return n&&o&&d(a,p,o),o};let t=class extends h.$LitElement(c.css`
|
|
2
2
|
:host {
|
|
3
3
|
font-family: inherit;
|
|
4
4
|
display: block;
|
|
@@ -34,4 +34,4 @@
|
|
|
34
34
|
</span>
|
|
35
35
|
</span>
|
|
36
36
|
`}};s([r.property({type:String})],t.prototype,"ease",2),s([r.property({type:Number})],t.prototype,"delay",2),s([r.property({type:Number})],t.prototype,"stagger",2),s([r.property({type:Number})],t.prototype,"duration",2),s([r.property({type:Array})],t.prototype,"scale",2),s([r.property({type:Array})],t.prototype,"opacity",2),s([r.property({type:Array})],t.prototype,"translateX",2),s([r.property({type:Array})],t.prototype,"translateY",2),s([r.property({type:Array})],t.prototype,"translateZ",2),s([r.property({type:Array})],t.prototype,"rotateZ",2),s([r.property({type:Boolean})],t.prototype,"resetOnScroll",2),s([r.queryAssignedNodes()],t.prototype,"defaultSlot",2),s([r.query(".letters")],t.prototype,"letters",2),s([r.query(".ml7")],t.prototype,"ml7",2),t=s([r.customElement("schmancy-animated-text")],t);
|
|
37
|
-
//# sourceMappingURL=animated-text-
|
|
37
|
+
//# sourceMappingURL=animated-text-vI_J_T4H.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animated-text-aOZ4KXTt.cjs","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"animated-text-vI_J_T4H.cjs","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
|
package/dist/animated-text.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./animated-text-
|
|
1
|
+
"use strict";require("./animated-text-vI_J_T4H.cjs");
|
|
2
2
|
//# sourceMappingURL=animated-text.cjs.map
|
package/dist/animated-text.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./animated-text-
|
|
1
|
+
import "./animated-text-CuOeUPBc.js";
|
|
2
2
|
//# sourceMappingURL=animated-text.js.map
|
package/dist/area.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./area.component-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./area.component-DMXMTNuu.cjs"),e=require("./utils-BqFGvnN9.cjs");exports.FINDING_MORTIES=t.FINDING_MORTIES,exports.HERE_RICKY=t.HERE_RICKY,exports.HISTORY_STRATEGY=t.HISTORY_STRATEGY,Object.defineProperty(exports,"SchmancyArea",{enumerable:!0,get:()=>t.SchmancyArea}),exports.area=t.area,exports.routerHistory=t.routerHistory,exports.buildQueryString=e.buildQueryString,exports.compareActiveRoutes=e.compareActiveRoutes,exports.compareCustomElementConstructors=e.compareCustomElementConstructors,exports.compareRouteActions=e.compareRouteActions,exports.createRouteCacheKey=e.createRouteCacheKey,exports.debounce=e.debounce,exports.decodeRouteState=e.decodeRouteState,exports.deepMerge=e.deepMerge,exports.encodeRouteState=e.encodeRouteState,exports.extractQueryParams=e.extractQueryParams,exports.getTagName=e.getTagName,exports.isObject=e.isObject,exports.normalizeTagName=e.normalizeTagName,exports.sanitizeRouteState=e.sanitizeRouteState;
|
|
2
2
|
//# sourceMappingURL=area.cjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Subject as J, ReplaySubject as A, distinctUntilChanged as y, shareReplay as C, skip as P, map as i, filter as h, catchError as c, EMPTY as m, zip as U, fromEvent as $, of as u, bufferTime as L, tap as S, timeout as M, merge as q, switchMap as b, take as k, takeUntil as R, from as x } from "rxjs";
|
|
2
2
|
import "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
|
-
import { $ as F } from "./litElement.mixin-
|
|
5
|
-
import "./tailwind.mixin-
|
|
4
|
+
import { $ as F } from "./litElement.mixin-BFshhc99.js";
|
|
5
|
+
import "./tailwind.mixin-CjS7whsn.js";
|
|
6
6
|
import { property as v, customElement as H } from "lit/decorators.js";
|
|
7
7
|
import { css as I, html as B } from "lit";
|
|
8
8
|
import { l as T } from "./index-CuY8m6ta.js";
|
|
@@ -280,4 +280,4 @@ export {
|
|
|
280
280
|
d as b,
|
|
281
281
|
N as r
|
|
282
282
|
};
|
|
283
|
-
//# sourceMappingURL=area.component-
|
|
283
|
+
//# sourceMappingURL=area.component-BM9ihM3x.js.map
|