@mhmo91/schmancy 0.2.199 → 0.2.201
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/boat.md +118 -0
- package/dist/_commonjsHelpers-Dw9sPFZy.js +7 -0
- package/dist/_commonjsHelpers-Dw9sPFZy.js.map +1 -0
- package/dist/_commonjsHelpers-k2hpEU-q.cjs +2 -0
- package/dist/_commonjsHelpers-k2hpEU-q.cjs.map +1 -0
- package/dist/ai/boat.md +118 -0
- package/dist/{animated-text-Cb07SP6h.js → animated-text-Dr60iE4v.js} +3 -3
- package/dist/{animated-text-Cb07SP6h.js.map → animated-text-Dr60iE4v.js.map} +1 -1
- package/dist/{animated-text-DML1qmmR.cjs → animated-text-IaaGcNeD.cjs} +2 -2
- package/dist/{animated-text-DML1qmmR.cjs.map → animated-text-IaaGcNeD.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-Psgv50Lq.cjs → area.component-C2dpnyWJ.cjs} +2 -2
- package/dist/{area.component-Psgv50Lq.cjs.map → area.component-C2dpnyWJ.cjs.map} +1 -1
- package/dist/{area.component-CdFovqHE.js → area.component-FmOhHylt.js} +3 -3
- package/dist/{area.component-CdFovqHE.js.map → area.component-FmOhHylt.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-B4F-i4IH.cjs → autocomplete-Bw-YykAE.cjs} +2 -2
- package/dist/{autocomplete-B4F-i4IH.cjs.map → autocomplete-Bw-YykAE.cjs.map} +1 -1
- package/dist/{autocomplete-87RcHRRv.js → autocomplete-D1_1Gh-W.js} +3 -3
- package/dist/{autocomplete-87RcHRRv.js.map → autocomplete-D1_1Gh-W.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-DI6tP5aD.cjs → avatar-CkolR0PQ.cjs} +2 -2
- package/dist/{avatar-DI6tP5aD.cjs.map → avatar-CkolR0PQ.cjs.map} +1 -1
- package/dist/{avatar-Dx-kdZaM.js → avatar-DWQCLmQc.js} +47 -45
- package/dist/{avatar-Dx-kdZaM.js.map → avatar-DWQCLmQc.js.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/boat-BOprkgg-.cjs +64 -0
- package/dist/boat-BOprkgg-.cjs.map +1 -0
- package/dist/boat-C6361uOb.js +95 -0
- package/dist/boat-C6361uOb.js.map +1 -0
- package/dist/boat.cjs +2 -0
- package/dist/boat.cjs.map +1 -0
- package/dist/boat.js +5 -0
- package/dist/boat.js.map +1 -0
- 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-Cntlr_eV.js → checkbox-CTo4qcmS.js} +6 -6
- package/dist/{checkbox-Cntlr_eV.js.map → checkbox-CTo4qcmS.js.map} +1 -1
- package/dist/{checkbox-C80YxaCN.cjs → checkbox-DtU97oO6.cjs} +2 -2
- package/dist/{checkbox-C80YxaCN.cjs.map → checkbox-DtU97oO6.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-CI-fsAqX.cjs → chips-CwwieBdF.cjs} +2 -2
- package/dist/{chips-CI-fsAqX.cjs.map → chips-CwwieBdF.cjs.map} +1 -1
- package/dist/{chips-vMtInVGX.js → chips-DMvV4T1B.js} +3 -3
- package/dist/{chips-vMtInVGX.js.map → chips-DMvV4T1B.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/{circular-progress-8LR4RVjD.js → circular-progress-B4TOfd8J.js} +3 -3
- package/dist/{circular-progress-8LR4RVjD.js.map → circular-progress-B4TOfd8J.js.map} +1 -1
- package/dist/{circular-progress-CSWSAcU6.cjs → circular-progress-D3Jt291j.cjs} +2 -2
- package/dist/{circular-progress-CSWSAcU6.cjs.map → circular-progress-D3Jt291j.cjs.map} +1 -1
- package/dist/circular-progress.cjs +1 -1
- package/dist/circular-progress.js +1 -1
- package/dist/code-highlight.cjs +2 -0
- package/dist/code-highlight.cjs.map +1 -0
- package/dist/code-highlight.js +7 -0
- package/dist/code-highlight.js.map +1 -0
- package/dist/code-preview-BWAcgpVl.cjs +133 -0
- package/dist/code-preview-BWAcgpVl.cjs.map +1 -0
- package/dist/code-preview-CGtqgdc7.js +876 -0
- package/dist/code-preview-CGtqgdc7.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-ChsdVWRV.js → date-range-BPWHcYDO.js} +62 -64
- package/dist/{date-range-ChsdVWRV.js.map → date-range-BPWHcYDO.js.map} +1 -1
- package/dist/date-range-CrCwkBhk.cjs +121 -0
- package/dist/{date-range-BkVCslGl.cjs.map → date-range-CrCwkBhk.cjs.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-DJMIbnvL.js → delay-BRK6QqCQ.js} +11 -11
- package/dist/{delay-DJMIbnvL.js.map → delay-BRK6QqCQ.js.map} +1 -1
- package/dist/{delay-D6UmIwSa.cjs → delay-DBEPTzJx.cjs} +2 -2
- package/dist/{delay-D6UmIwSa.cjs.map → delay-DBEPTzJx.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{dialog-content-CWvxqVsr.js → dialog-content-3jFhSjfz.js} +3 -3
- package/dist/{dialog-content-CWvxqVsr.js.map → dialog-content-3jFhSjfz.js.map} +1 -1
- package/dist/{dialog-content-Cw1Al_Re.cjs → dialog-content-DTW-jlGG.cjs} +2 -2
- package/dist/{dialog-content-Cw1Al_Re.cjs.map → dialog-content-DTW-jlGG.cjs.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-Cp6EXlTN.cjs → divider-CUiOCxcv.cjs} +2 -2
- package/dist/{divider-Cp6EXlTN.cjs.map → divider-CUiOCxcv.cjs.map} +1 -1
- package/dist/{divider-BGo7hglJ.js → divider-DLedYg2o.js} +3 -3
- package/dist/{divider-BGo7hglJ.js.map → divider-DLedYg2o.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-CTWWDRgy.js → dropdown-content-CHcK5vDp.js} +3 -3
- package/dist/{dropdown-content-CTWWDRgy.js.map → dropdown-content-CHcK5vDp.js.map} +1 -1
- package/dist/{dropdown-content-CmCumNjC.cjs → dropdown-content-rLIDGVfK.cjs} +2 -2
- package/dist/{dropdown-content-CmCumNjC.cjs.map → dropdown-content-rLIDGVfK.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-CKtJkkxU.js → flex-DDmzufXs.js} +2 -2
- package/dist/{flex-CKtJkkxU.js.map → flex-DDmzufXs.js.map} +1 -1
- package/dist/{flex-Dyfn6mxF.cjs → flex-aKz0Ms65.cjs} +2 -2
- package/dist/{flex-Dyfn6mxF.cjs.map → flex-aKz0Ms65.cjs.map} +1 -1
- package/dist/{form-BbQRONBu.cjs → form-BfeOUZjw.cjs} +2 -2
- package/dist/{form-BbQRONBu.cjs.map → form-BfeOUZjw.cjs.map} +1 -1
- package/dist/{form-BZdw3XUt.js → form-CWCw7gLZ.js} +2 -2
- package/dist/{form-BZdw3XUt.js.map → form-CWCw7gLZ.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-CNkK3oMH.cjs → icon-DOMq_VrC.cjs} +2 -2
- package/dist/icon-DOMq_VrC.cjs.map +1 -0
- package/dist/{icon-PZTHZSsC.js → icon-DfDdy5YY.js} +2 -3
- package/dist/icon-DfDdy5YY.js.map +1 -0
- package/dist/{icon-button-L6UzTqIn.cjs → icon-button-BWO3kLWC.cjs} +2 -2
- package/dist/{icon-button-L6UzTqIn.cjs.map → icon-button-BWO3kLWC.cjs.map} +1 -1
- package/dist/{icon-button-5_uidIo2.js → icon-button-Cq0E6Y7I.js} +3 -3
- package/dist/{icon-button-5_uidIo2.js.map → icon-button-Cq0E6Y7I.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 +162 -156
- package/dist/index.js.map +1 -1
- package/dist/{input-GETorvfT.cjs → input-BBi8YkYi.cjs} +2 -2
- package/dist/{input-GETorvfT.cjs.map → input-BBi8YkYi.cjs.map} +1 -1
- package/dist/{input-cvO-mD1t.js → input-DVdHjbNu.js} +2 -2
- package/dist/{input-cvO-mD1t.js.map → input-DVdHjbNu.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-BPQwn2ZD.cjs → list-Bh9W7eBM.cjs} +2 -2
- package/dist/{list-BPQwn2ZD.cjs.map → list-Bh9W7eBM.cjs.map} +1 -1
- package/dist/{list-CjVW-XS-.js → list-ByACnM5l.js} +2 -2
- package/dist/{list-CjVW-XS-.js.map → list-ByACnM5l.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-BKgKxczr.js → litElement.mixin-BHvj00po.js} +2 -2
- package/dist/{litElement.mixin-BKgKxczr.js.map → litElement.mixin-BHvj00po.js.map} +1 -1
- package/dist/{litElement.mixin-0pIFA8ru.cjs → litElement.mixin-Bk1VBCai.cjs} +2 -2
- package/dist/{litElement.mixin-0pIFA8ru.cjs.map → litElement.mixin-Bk1VBCai.cjs.map} +1 -1
- package/dist/{menu-Bj9xX6Hn.js → menu-B0W8bS5x.js} +3 -3
- package/dist/{menu-Bj9xX6Hn.js.map → menu-B0W8bS5x.js.map} +1 -1
- package/dist/{menu-BpjaKAXC.cjs → menu-BIrEM0LW.cjs} +2 -2
- package/dist/{menu-BpjaKAXC.cjs.map → menu-BIrEM0LW.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-ITb5rmvM.js → notification-service-C8rKbKf8.js} +3 -3
- package/dist/{notification-service-ITb5rmvM.js.map → notification-service-C8rKbKf8.js.map} +1 -1
- package/dist/{notification-service-BFAKagab.cjs → notification-service-DID_WpGV.cjs} +2 -2
- package/dist/{notification-service-BFAKagab.cjs.map → notification-service-DID_WpGV.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-vszqrPbH.cjs → option-BlDPqrw1.cjs} +2 -2
- package/dist/{option-vszqrPbH.cjs.map → option-BlDPqrw1.cjs.map} +1 -1
- package/dist/{option-_DZj4_on.js → option-Cz1zyVde.js} +2 -2
- package/dist/{option-_DZj4_on.js.map → option-Cz1zyVde.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-CxhMa60Q.js → payment-card-form-CL8RwARO.js} +3 -3
- package/dist/{payment-card-form-CxhMa60Q.js.map → payment-card-form-CL8RwARO.js.map} +1 -1
- package/dist/{payment-card-form-DgFUnANa.cjs → payment-card-form-Ct3M1hzR.cjs} +2 -2
- package/dist/{payment-card-form-DgFUnANa.cjs.map → payment-card-form-Ct3M1hzR.cjs.map} +1 -1
- package/dist/{radio-button-ChM1WZDg.cjs → radio-button-BHeHYYA3.cjs} +2 -2
- package/dist/{radio-button-ChM1WZDg.cjs.map → radio-button-BHeHYYA3.cjs.map} +1 -1
- package/dist/{radio-button-svaVfPn8.js → radio-button-CzA6BGJT.js} +2 -2
- package/dist/{radio-button-svaVfPn8.js.map → radio-button-CzA6BGJT.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-9fHGNLHd.js → schmancy-steps-container-CTgSYtS0.js} +2 -2
- package/dist/{schmancy-steps-container-9fHGNLHd.js.map → schmancy-steps-container-CTgSYtS0.js.map} +1 -1
- package/dist/{schmancy-steps-container-C_-PFkRy.cjs → schmancy-steps-container-Cl_oWCxT.cjs} +2 -2
- package/dist/{schmancy-steps-container-C_-PFkRy.cjs.map → schmancy-steps-container-Cl_oWCxT.cjs.map} +1 -1
- package/dist/{select-DEd1YJF0.cjs → select-BerRDrTL.cjs} +2 -2
- package/dist/{select-DEd1YJF0.cjs.map → select-BerRDrTL.cjs.map} +1 -1
- package/dist/{select-CWulYSxd.js → select-DAMjx78G.js} +3 -3
- package/dist/{select-CWulYSxd.js.map → select-DAMjx78G.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-C2f1XwT3.js → sheet-CrGvhxN3.js} +3 -3
- package/dist/{sheet-C2f1XwT3.js.map → sheet-CrGvhxN3.js.map} +1 -1
- package/dist/{sheet-BhKQmvCN.cjs → sheet-YHSlWQRv.cjs} +2 -2
- package/dist/{sheet-BhKQmvCN.cjs.map → sheet-YHSlWQRv.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-CmJGqDDU.js → slider-BMijf5Js.js} +3 -3
- package/dist/{slider-CmJGqDDU.js.map → slider-BMijf5Js.js.map} +1 -1
- package/dist/{slider-CetPyN3J.cjs → slider-CiRA-NEX.cjs} +2 -2
- package/dist/{slider-CetPyN3J.cjs.map → slider-CiRA-NEX.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-CmJk8fIO.js → spinner-FEk-Ttf7.js} +3 -3
- package/dist/{spinner-CmJk8fIO.js.map → spinner-FEk-Ttf7.js.map} +1 -1
- package/dist/{spinner-CLfAy0cd.cjs → spinner-uFgJCTW9.cjs} +2 -2
- package/dist/{spinner-CLfAy0cd.cjs.map → spinner-uFgJCTW9.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-ChxX03-I.cjs → surface-AwNWjIdg.cjs} +2 -2
- package/dist/{surface-ChxX03-I.cjs.map → surface-AwNWjIdg.cjs.map} +1 -1
- package/dist/{surface-BnlEKr-d.js → surface-BVF_3RnX.js} +2 -2
- package/dist/{surface-BnlEKr-d.js.map → surface-BVF_3RnX.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-CZJ14ZEI.js → table-CSCZMivU.js} +2 -2
- package/dist/{table-CZJ14ZEI.js.map → table-CSCZMivU.js.map} +1 -1
- package/dist/{table-CzD7rJ5o.cjs → table-D6sHLyxt.cjs} +2 -2
- package/dist/{table-CzD7rJ5o.cjs.map → table-D6sHLyxt.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-BviE0FdA.cjs → tabs-compatibility-Dlij_WIx.cjs} +2 -2
- package/dist/{tabs-compatibility-BviE0FdA.cjs.map → tabs-compatibility-Dlij_WIx.cjs.map} +1 -1
- package/dist/{tabs-compatibility-DHkghYmL.js → tabs-compatibility-tx3PViNI.js} +2 -2
- package/dist/{tabs-compatibility-DHkghYmL.js.map → tabs-compatibility-tx3PViNI.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-C3BFeflA.js +43 -0
- package/dist/{tailwind.mixin-k9HTphsu.js.map → tailwind.mixin-C3BFeflA.js.map} +1 -1
- package/dist/tailwind.mixin-Xs0QJUOE.cjs +2 -0
- package/dist/{tailwind.mixin-DFxMrwgk.cjs.map → tailwind.mixin-Xs0QJUOE.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-kTwx4MAh.js → textarea-Cam1Bejh.js} +2 -2
- package/dist/{textarea-kTwx4MAh.js.map → textarea-Cam1Bejh.js.map} +1 -1
- package/dist/{textarea-qNzKErHX.cjs → textarea-qDsdI_sm.cjs} +2 -2
- package/dist/{textarea-qNzKErHX.cjs.map → textarea-qDsdI_sm.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-Dt3WQdd4.cjs → theme-button-B3jMXzi4.cjs} +2 -2
- package/dist/{theme-button-Dt3WQdd4.cjs.map → theme-button-B3jMXzi4.cjs.map} +1 -1
- package/dist/{theme-button-CCwPpArv.js → theme-button-delusSKh.js} +2 -2
- package/dist/{theme-button-CCwPpArv.js.map → theme-button-delusSKh.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-Drq675ta.cjs → theme.component-C9jqo1WB.cjs} +2 -2
- package/dist/{theme.component-Drq675ta.cjs.map → theme.component-C9jqo1WB.cjs.map} +1 -1
- package/dist/{theme.component-CJHr6wNa.js → theme.component-D3rDl8K0.js} +2 -2
- package/dist/{theme.component-CJHr6wNa.js.map → theme.component-D3rDl8K0.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-oZ1r5Z54.cjs → timezone-B9QDIwnj.cjs} +2 -2
- package/dist/{timezone-oZ1r5Z54.cjs.map → timezone-B9QDIwnj.cjs.map} +1 -1
- package/dist/{timezone-B53HOn4a.js → timezone-rultNrNC.js} +3 -3
- package/dist/{timezone-B53HOn4a.js.map → timezone-rultNrNC.js.map} +1 -1
- package/dist/{tooltip-Bfcu9uoC.js → tooltip-CmBYAmna.js} +2 -2
- package/dist/{tooltip-Bfcu9uoC.js.map → tooltip-CmBYAmna.js.map} +1 -1
- package/dist/{tooltip-DrLzz4rf.cjs → tooltip-DLqcf-Co.cjs} +2 -2
- package/dist/{tooltip-DrLzz4rf.cjs.map → tooltip-DLqcf-Co.cjs.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-n0KxiiWX.js → tree-Bqxzo_84.js} +2 -2
- package/dist/{tree-n0KxiiWX.js.map → tree-Bqxzo_84.js.map} +1 -1
- package/dist/{tree-Buf-0IQD.cjs → tree-DTO2h6VT.cjs} +2 -2
- package/dist/{tree-Buf-0IQD.cjs.map → tree-DTO2h6VT.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-W7Rj384X.js → typewriter-BHnCxd9O.js} +16 -16
- package/dist/{typewriter-W7Rj384X.js.map → typewriter-BHnCxd9O.js.map} +1 -1
- package/dist/{typewriter-DSUU_7wv.cjs → typewriter-Bw0LLuVh.cjs} +2 -2
- package/dist/{typewriter-DSUU_7wv.cjs.map → typewriter-Bw0LLuVh.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/typography-BLd8VN8Q.cjs +10 -0
- package/dist/typography-BLd8VN8Q.cjs.map +1 -0
- package/dist/typography-ClEPUgIN.js +37 -0
- package/dist/typography-ClEPUgIN.js.map +1 -0
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +2 -1
- package/types/src/boat/boat.d.ts +12 -0
- package/types/src/boat/index.d.ts +1 -0
- package/types/src/code-highlight/code-highlight.d.ts +39 -0
- package/types/src/code-highlight/code-preview.d.ts +25 -0
- package/types/src/code-highlight/index.d.ts +3 -0
- package/types/src/icons/icon.d.ts +1 -1
- package/types/src/index.d.ts +2 -0
- package/dist/date-range-BkVCslGl.cjs +0 -121
- package/dist/icon-CNkK3oMH.cjs.map +0 -1
- package/dist/icon-PZTHZSsC.js.map +0 -1
- package/dist/tailwind.mixin-DFxMrwgk.cjs +0 -2
- package/dist/tailwind.mixin-k9HTphsu.js +0 -43
- package/dist/typography-DaN7dGA2.cjs +0 -6
- package/dist/typography-DaN7dGA2.cjs.map +0 -1
- package/dist/typography-XkeTnrP9.js +0 -29
- package/dist/typography-XkeTnrP9.js.map +0 -1
package/ai/boat.md
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Boat Component
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
The boat component is a bottom sheet that slides up from the bottom of the screen. It can be in one of three states: hidden, minimized, or expanded. This component is perfect for displaying additional content or actions while keeping the main interface accessible.
|
|
5
|
+
|
|
6
|
+
## Properties
|
|
7
|
+
|
|
8
|
+
| Property | Type | Default | Description |
|
|
9
|
+
|----------|------|---------|-------------|
|
|
10
|
+
| `state` | `'hidden' \| 'minimized' \| 'expanded'` | `'hidden'` | The current state of the boat component |
|
|
11
|
+
|
|
12
|
+
## Events
|
|
13
|
+
|
|
14
|
+
| Event | Detail | Description |
|
|
15
|
+
|-------|--------|-------------|
|
|
16
|
+
| `change` | `'hidden' \| 'minimized' \| 'expanded'` | Fired when the state changes |
|
|
17
|
+
|
|
18
|
+
## Slots
|
|
19
|
+
|
|
20
|
+
| Slot | Description |
|
|
21
|
+
|------|-------------|
|
|
22
|
+
| `header` | Content to display in the header area (visible in both minimized and expanded states) |
|
|
23
|
+
| Default | Main content displayed when the boat is expanded |
|
|
24
|
+
|
|
25
|
+
## Usage
|
|
26
|
+
|
|
27
|
+
### Basic Example
|
|
28
|
+
```html
|
|
29
|
+
<schmancy-boat state="minimized">
|
|
30
|
+
<schmancy-typography slot="header" variant="title">
|
|
31
|
+
Boat Title
|
|
32
|
+
</schmancy-typography>
|
|
33
|
+
|
|
34
|
+
<schmancy-flex direction="column" gap="md" class="p-4">
|
|
35
|
+
<schmancy-typography>
|
|
36
|
+
This is the main content of the boat component.
|
|
37
|
+
</schmancy-typography>
|
|
38
|
+
</schmancy-flex>
|
|
39
|
+
</schmancy-boat>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### With Icon in Header
|
|
43
|
+
```html
|
|
44
|
+
<schmancy-boat state="minimized" @change="${(e) => console.log(e.detail)}">
|
|
45
|
+
<schmancy-flex slot="header" gap="sm" content="center">
|
|
46
|
+
<schmancy-icon>info</schmancy-icon>
|
|
47
|
+
<schmancy-typography variant="title">Settings</schmancy-typography>
|
|
48
|
+
</schmancy-flex>
|
|
49
|
+
|
|
50
|
+
<schmancy-flex direction="column" gap="md" class="p-4">
|
|
51
|
+
<!-- Settings content -->
|
|
52
|
+
</schmancy-flex>
|
|
53
|
+
</schmancy-boat>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Controlling State
|
|
57
|
+
```typescript
|
|
58
|
+
// Get reference to boat
|
|
59
|
+
const boat = document.querySelector('schmancy-boat');
|
|
60
|
+
|
|
61
|
+
// Show minimized
|
|
62
|
+
boat.state = 'minimized';
|
|
63
|
+
|
|
64
|
+
// Show expanded
|
|
65
|
+
boat.state = 'expanded';
|
|
66
|
+
|
|
67
|
+
// Hide
|
|
68
|
+
boat.state = 'hidden';
|
|
69
|
+
|
|
70
|
+
// Listen for state changes
|
|
71
|
+
boat.addEventListener('change', (e) => {
|
|
72
|
+
console.log('New state:', e.detail);
|
|
73
|
+
});
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Features
|
|
77
|
+
|
|
78
|
+
- **Three States**: Hidden (completely off-screen), minimized (shows only header), and expanded (shows all content)
|
|
79
|
+
- **Smooth Transitions**: Animated transitions between states using CSS transforms
|
|
80
|
+
- **Responsive Design**: Different widths on various screen sizes:
|
|
81
|
+
- Mobile: 100% width
|
|
82
|
+
- Tablet: 70% width
|
|
83
|
+
- Desktop: 60% width
|
|
84
|
+
- Large screens: 40% width
|
|
85
|
+
- **Fixed Positioning**: Always appears at the bottom-right of the viewport
|
|
86
|
+
- **Overflow Handling**: Content scrolls when it exceeds 80vh max height
|
|
87
|
+
- **Sticky Header**: Header remains visible when scrolling through content
|
|
88
|
+
|
|
89
|
+
## CSS Classes
|
|
90
|
+
|
|
91
|
+
The component uses internal CSS classes for styling:
|
|
92
|
+
- `.translate-y-full`: Positions the boat completely off-screen (hidden state)
|
|
93
|
+
- `.translate-y-full-minus-64`: Shows only the header (minimized state)
|
|
94
|
+
- `.translate-y-0`: Shows the entire boat (expanded state)
|
|
95
|
+
|
|
96
|
+
## Use Cases
|
|
97
|
+
|
|
98
|
+
- **Chat Interfaces**: Keep a chat window accessible while browsing
|
|
99
|
+
- **Media Players**: Minimize music/video controls while using other features
|
|
100
|
+
- **Quick Settings**: Provide easy access to frequently used settings
|
|
101
|
+
- **Notifications**: Show important information that users can minimize
|
|
102
|
+
- **Form Wizards**: Multi-step forms that can be minimized during the process
|
|
103
|
+
- **Help/Support**: Keep help documentation accessible while working
|
|
104
|
+
|
|
105
|
+
## Accessibility
|
|
106
|
+
|
|
107
|
+
- The component uses semantic HTML structure
|
|
108
|
+
- State changes are announced via events
|
|
109
|
+
- Keyboard navigation is supported through the button controls
|
|
110
|
+
- Focus management is handled automatically
|
|
111
|
+
|
|
112
|
+
## Best Practices
|
|
113
|
+
|
|
114
|
+
1. **Header Content**: Keep header content concise and descriptive
|
|
115
|
+
2. **State Management**: Store the boat state in your application state if persistence is needed
|
|
116
|
+
3. **Content Height**: Design content to work well within the max-height constraint
|
|
117
|
+
4. **Mobile Considerations**: Test thoroughly on mobile devices where the boat takes full width
|
|
118
|
+
5. **Z-Index**: The component uses `z-[100]` - ensure this works with your app's z-index hierarchy
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_commonjsHelpers-Dw9sPFZy.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_commonjsHelpers-k2hpEU-q.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/ai/boat.md
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Boat Component
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
The boat component is a bottom sheet that slides up from the bottom of the screen. It can be in one of three states: hidden, minimized, or expanded. This component is perfect for displaying additional content or actions while keeping the main interface accessible.
|
|
5
|
+
|
|
6
|
+
## Properties
|
|
7
|
+
|
|
8
|
+
| Property | Type | Default | Description |
|
|
9
|
+
|----------|------|---------|-------------|
|
|
10
|
+
| `state` | `'hidden' \| 'minimized' \| 'expanded'` | `'hidden'` | The current state of the boat component |
|
|
11
|
+
|
|
12
|
+
## Events
|
|
13
|
+
|
|
14
|
+
| Event | Detail | Description |
|
|
15
|
+
|-------|--------|-------------|
|
|
16
|
+
| `change` | `'hidden' \| 'minimized' \| 'expanded'` | Fired when the state changes |
|
|
17
|
+
|
|
18
|
+
## Slots
|
|
19
|
+
|
|
20
|
+
| Slot | Description |
|
|
21
|
+
|------|-------------|
|
|
22
|
+
| `header` | Content to display in the header area (visible in both minimized and expanded states) |
|
|
23
|
+
| Default | Main content displayed when the boat is expanded |
|
|
24
|
+
|
|
25
|
+
## Usage
|
|
26
|
+
|
|
27
|
+
### Basic Example
|
|
28
|
+
```html
|
|
29
|
+
<schmancy-boat state="minimized">
|
|
30
|
+
<schmancy-typography slot="header" variant="title">
|
|
31
|
+
Boat Title
|
|
32
|
+
</schmancy-typography>
|
|
33
|
+
|
|
34
|
+
<schmancy-flex direction="column" gap="md" class="p-4">
|
|
35
|
+
<schmancy-typography>
|
|
36
|
+
This is the main content of the boat component.
|
|
37
|
+
</schmancy-typography>
|
|
38
|
+
</schmancy-flex>
|
|
39
|
+
</schmancy-boat>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### With Icon in Header
|
|
43
|
+
```html
|
|
44
|
+
<schmancy-boat state="minimized" @change="${(e) => console.log(e.detail)}">
|
|
45
|
+
<schmancy-flex slot="header" gap="sm" content="center">
|
|
46
|
+
<schmancy-icon>info</schmancy-icon>
|
|
47
|
+
<schmancy-typography variant="title">Settings</schmancy-typography>
|
|
48
|
+
</schmancy-flex>
|
|
49
|
+
|
|
50
|
+
<schmancy-flex direction="column" gap="md" class="p-4">
|
|
51
|
+
<!-- Settings content -->
|
|
52
|
+
</schmancy-flex>
|
|
53
|
+
</schmancy-boat>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Controlling State
|
|
57
|
+
```typescript
|
|
58
|
+
// Get reference to boat
|
|
59
|
+
const boat = document.querySelector('schmancy-boat');
|
|
60
|
+
|
|
61
|
+
// Show minimized
|
|
62
|
+
boat.state = 'minimized';
|
|
63
|
+
|
|
64
|
+
// Show expanded
|
|
65
|
+
boat.state = 'expanded';
|
|
66
|
+
|
|
67
|
+
// Hide
|
|
68
|
+
boat.state = 'hidden';
|
|
69
|
+
|
|
70
|
+
// Listen for state changes
|
|
71
|
+
boat.addEventListener('change', (e) => {
|
|
72
|
+
console.log('New state:', e.detail);
|
|
73
|
+
});
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Features
|
|
77
|
+
|
|
78
|
+
- **Three States**: Hidden (completely off-screen), minimized (shows only header), and expanded (shows all content)
|
|
79
|
+
- **Smooth Transitions**: Animated transitions between states using CSS transforms
|
|
80
|
+
- **Responsive Design**: Different widths on various screen sizes:
|
|
81
|
+
- Mobile: 100% width
|
|
82
|
+
- Tablet: 70% width
|
|
83
|
+
- Desktop: 60% width
|
|
84
|
+
- Large screens: 40% width
|
|
85
|
+
- **Fixed Positioning**: Always appears at the bottom-right of the viewport
|
|
86
|
+
- **Overflow Handling**: Content scrolls when it exceeds 80vh max height
|
|
87
|
+
- **Sticky Header**: Header remains visible when scrolling through content
|
|
88
|
+
|
|
89
|
+
## CSS Classes
|
|
90
|
+
|
|
91
|
+
The component uses internal CSS classes for styling:
|
|
92
|
+
- `.translate-y-full`: Positions the boat completely off-screen (hidden state)
|
|
93
|
+
- `.translate-y-full-minus-64`: Shows only the header (minimized state)
|
|
94
|
+
- `.translate-y-0`: Shows the entire boat (expanded state)
|
|
95
|
+
|
|
96
|
+
## Use Cases
|
|
97
|
+
|
|
98
|
+
- **Chat Interfaces**: Keep a chat window accessible while browsing
|
|
99
|
+
- **Media Players**: Minimize music/video controls while using other features
|
|
100
|
+
- **Quick Settings**: Provide easy access to frequently used settings
|
|
101
|
+
- **Notifications**: Show important information that users can minimize
|
|
102
|
+
- **Form Wizards**: Multi-step forms that can be minimized during the process
|
|
103
|
+
- **Help/Support**: Keep help documentation accessible while working
|
|
104
|
+
|
|
105
|
+
## Accessibility
|
|
106
|
+
|
|
107
|
+
- The component uses semantic HTML structure
|
|
108
|
+
- State changes are announced via events
|
|
109
|
+
- Keyboard navigation is supported through the button controls
|
|
110
|
+
- Focus management is handled automatically
|
|
111
|
+
|
|
112
|
+
## Best Practices
|
|
113
|
+
|
|
114
|
+
1. **Header Content**: Keep header content concise and descriptive
|
|
115
|
+
2. **State Management**: Store the boat state in your application state if persistence is needed
|
|
116
|
+
3. **Content Height**: Design content to work well within the max-height constraint
|
|
117
|
+
4. **Mobile Considerations**: Test thoroughly on mobile devices where the boat takes full width
|
|
118
|
+
5. **Z-Index**: The component uses `z-[100]` - ensure this works with your app's z-index hierarchy
|
|
@@ -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-BHvj00po.js";
|
|
5
|
+
import "./tailwind.mixin-C3BFeflA.js";
|
|
6
6
|
import { css as S, html as Z } from "lit";
|
|
7
7
|
import { property as a, queryAssignedNodes as v, query as m, customElement as A } from "lit/decorators.js";
|
|
8
8
|
var E = Object.defineProperty, O = Object.getOwnPropertyDescriptor, e = (r, s, n, i) => {
|
|
@@ -72,4 +72,4 @@ let t = class extends x(S`
|
|
|
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([v()], t.prototype, "defaultSlot", 2), e([m(".letters")], t.prototype, "letters", 2), e([m(".ml7")], t.prototype, "ml7", 2), t = e([A("schmancy-animated-text")], t);
|
|
75
|
-
//# sourceMappingURL=animated-text-
|
|
75
|
+
//# sourceMappingURL=animated-text-Dr60iE4v.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animated-text-Cb07SP6h.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-Dr60iE4v.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,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-Bk1VBCai.cjs");require("./tailwind.mixin-Xs0QJUOE.cjs");const c=require("lit"),r=require("lit/decorators.js");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-IaaGcNeD.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animated-text-DML1qmmR.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-IaaGcNeD.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-IaaGcNeD.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-Dr60iE4v.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-C2dpnyWJ.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
|
-
"use strict";const r=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const S=require("./litElement.mixin-
|
|
1
|
+
"use strict";const r=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const S=require("./litElement.mixin-Bk1VBCai.cjs");require("./tailwind.mixin-Xs0QJUOE.cjs");const f=require("lit"),m=require("lit/decorators.js"),w=require("./index-DyJ0oDpR.cjs"),d=new r.Subject,y="FINDING_MORTIES",g="HERE_RICKY",u=new WeakMap;class c{constructor(){this.prettyURL=!1,this.mode="HISTORY",this.request=new r.ReplaySubject(1),this.current=new Map,this.$current=new r.ReplaySubject(1),this.enableHistoryMode=!0,this.findingMortiesEvent=new CustomEvent(y),this.disposed=!1,this.$current.next(this.current),this.$current.subscribe(e=>{this.disposed||e.forEach((t,n)=>{this.getOrCreateAreaSubject(n).next(t)})})}get areaSubjects(){let e=u.get(this);return e||(e=new Map,u.set(this,e)),e}getOrCreateAreaSubject(e){let t=this.areaSubjects.get(e);if(!t||t.closed){t=new r.ReplaySubject(1),this.areaSubjects.set(e,t);const n=this.current.get(e);n&&t.next({...n,state:n.state||{},params:n.params||{}})}return t}on(e,t=!1){if(!e)throw new Error("Area name is required");const n=this.getOrCreateAreaSubject(e).asObservable().pipe(r.distinctUntilChanged((s,i)=>s.component===i.component&&JSON.stringify(s.state)===JSON.stringify(i.state)&&JSON.stringify(s.params)===JSON.stringify(i.params)),r.shareReplay(1));return t?n.pipe(r.skip(1)):n}all(e=!1){const t=this.$current.asObservable().pipe(r.shareReplay(1));return e?t.pipe(r.skip(1)):t}getState(e){if(!e)throw new Error("Area name is required");return this.on(e).pipe(r.map(t=>t.state),r.filter(t=>t!=null),r.distinctUntilChanged((t,n)=>JSON.stringify(t)===JSON.stringify(n)),r.map(t=>t),r.catchError(t=>r.EMPTY))}params(e){if(!e)throw new Error("Area name is required");return this.on(e).pipe(r.map(t=>t.params),r.filter(t=>t!=null),r.distinctUntilChanged((t,n)=>JSON.stringify(t)===JSON.stringify(n)),r.map(t=>t),r.catchError(t=>r.EMPTY))}param(e,t){if(!e||!t)throw new Error("Area name and key are required");return this.params(e).pipe(r.map(n=>n[t]),r.filter(n=>n!==void 0),r.distinctUntilChanged(),r.map(n=>n),r.catchError(n=>r.EMPTY))}find(){return r.zip([r.fromEvent(window,g).pipe(r.map(e=>e.detail),r.bufferTime(0)),r.of(1).pipe(r.tap(()=>window.dispatchEvent(this.findingMortiesEvent)))]).pipe(r.map(([e])=>e),r.timeout(1),r.catchError(()=>r.EMPTY))}push(e){if(!e.area)throw new Error("Area is required for route action");const t={...e,state:e.state||{},params:e.params||{}};this.enableHistoryMode&&d.next(t),this.request.next(t),this.dispatchAreaEvent(t.area,t)}dispatchAreaEvent(e,t){const n=new CustomEvent(`schmancy-area-${e}-changed`,{detail:{area:e,component:t.component,state:t.state,params:t.params,historyStrategy:t.historyStrategy},bubbles:!0,composed:!0});window.dispatchEvent(n)}pop(e){if(!e)throw new Error("Area name is required");const t={...this.state};delete t[e];const n=encodeURIComponent(JSON.stringify(t));history.replaceState(null,"",`/${n}${location.search}`),this.current.delete(e),this.$current.next(this.current);const s=this.areaSubjects.get(e);s&&(s.complete(),this.areaSubjects.delete(e))}clear(){this.areaSubjects.forEach(e=>e.complete()),this.areaSubjects.clear(),this.current.clear(),this.$current.next(this.current),history.replaceState(null,"",`/${location.search}`)}dispose(){this.disposed||(this.disposed=!0,this.areaSubjects.forEach(e=>e.complete()),this.areaSubjects.clear(),this.request.complete(),this.$current.complete(),d.complete(),this.current.clear(),u.delete(this))}static getInstance(){return c.instance||(c.instance=new c),c.instance}get state(){const e=location.pathname.split("/").pop();if(!e)return{};try{const t=decodeURIComponent(e),n=JSON.parse(t);if(typeof n=="object"&&n!==null)return n}catch{}return{}}hasArea(e){return this.current.has(e)}getActiveAreas(){return Array.from(this.current.keys())}getRoute(e){return this.current.get(e)}}const o=c.getInstance();typeof window<"u"&&window.addEventListener("unload",()=>{o.dispose()});var p=(a=>(a.push="push",a.replace="replace",a.pop="pop",a.silent="silent",a))(p||{}),E=Object.defineProperty,b=Object.getOwnPropertyDescriptor,l=(a,e,t,n)=>{for(var s,i=n>1?void 0:n?b(e,t):e,h=a.length-1;h>=0;h--)(s=a[h])&&(i=(n?s(e,t,i):s(i))||i);return n&&i&&E(e,t,i),i};exports.SchmancyArea=class extends S.$LitElement(f.css`
|
|
2
2
|
:host {
|
|
3
3
|
position: relative;
|
|
4
4
|
display: block;
|
|
5
5
|
inset: 0;
|
|
6
6
|
}
|
|
7
7
|
`){getComponentFromPathname(a,e){return r.of(a).pipe(r.map(t=>t.split("/").pop()??""),r.map(t=>{try{return JSON.parse(decodeURIComponent(t))}catch{return{}}}),r.map(t=>t[this.name]),r.map(t=>!t&&this.default?{component:this.default,state:void 0}:t),r.filter(t=>w.libExports.isPresent(t)),r.map(t=>({area:this.name,component:t.component??this.default,state:t.state,historyStrategy:e})),r.map(t=>t),r.catchError(()=>this.default?r.of({area:this.name,component:this.default,historyStrategy:e}):r.EMPTY))}firstUpdated(){if(!this.name)throw new Error("Area name or default component not set");r.merge(r.of(location.pathname).pipe(r.switchMap(a=>this.getComponentFromPathname(a,p.silent)),r.map(a=>a),r.take(1)),o.request.pipe(r.filter(({area:a})=>a===this.name)),r.fromEvent(window,"popstate").pipe(r.map(a=>a.target.location.pathname),r.switchMap(a=>this.getComponentFromPathname(a,p.silent)),r.map(a=>a))).pipe(r.filter(a=>!!a.component),r.takeUntil(this.disconnecting),r.distinctUntilChanged((a,e)=>{let t,n;if(typeof a.component=="function"||(typeof a.component=="string"&&(t=a.component),typeof e.component=="function"))return!1;typeof e.component=="string"&&(n=e.component);const s=(n==null?void 0:n.replaceAll("-","").toLowerCase())===(t==null?void 0:t.replaceAll("-","").toLowerCase()),i=JSON.stringify(a.params||{})===JSON.stringify(e.params||{});return s&&i})).pipe(r.switchMap(a=>{const e=a.component;return e instanceof Promise?r.from(e).pipe(r.map(t=>{var n;return{component:((n=t.exports)==null?void 0:n.default)||t.default,route:a}}),r.catchError(()=>r.EMPTY)):r.of({component:e,route:a})}),r.map(({component:a,route:e})=>{let t;return t=typeof a=="string"?document.createElement(a):a instanceof HTMLElement?a:typeof a=="function"?new a:a,e.params&&Object.entries(e.params).forEach(([n,s])=>{t[n]=s}),e.state&&(t.state=e.state),{component:t,route:e}}),r.map(({component:a,route:e})=>{var s,i;const t=(s=this.shadowRoot)==null?void 0:s.children[0],n=!!t;return t==null||t.remove(),a.classList.add("opacity-0"),(i=this.shadowRoot)==null||i.append(a),a.animate([{opacity:0},{opacity:1}],{duration:n?150:100,easing:"cubic-bezier(0.25, 0.8, 0.25, 1)",fill:"forwards"}),{component:a,route:e}}),r.tap(({component:a,route:e})=>{e.historyStrategy===void 0||e.historyStrategy==="push"?history.pushState(e.state,"",this.newPath(a.tagName,e)):e.historyStrategy&&["replace","pop"].includes(e.historyStrategy)&&history.replaceState(e.state,"",this.newPath(a.tagName,e)),o.current.set(this.name,{component:a.tagName,state:e.state||{},area:this.name,params:e.params||{}}),o.$current.next(o.current)}),r.takeUntil(this.disconnecting)).subscribe()}newPath(a,e){const t=location.pathname.split("/").pop();let n={};try{n=t?JSON.parse(decodeURIComponent(t)):{}}catch{n={}}e.state=e.state??{};const s=e.clearQueryParams?this.queryParamClear(e.clearQueryParams):document.location.search;return encodeURIComponent(JSON.stringify({...n,[this.name]:{component:a.toLowerCase(),state:e.state,params:e.params}})).concat(`${s}`)}queryParamClear(a){if(!a)return"";const e=new URLSearchParams(location.search);return a.forEach(t=>e.delete(t)),e.toString()===""?"":`?${e.toString()}`}checkForTeleportationRequests(){return r.fromEvent(window,"FLIP_REQUEST").pipe(r.map(a=>a.detail),r.bufferTime(0),r.tap(()=>{this.dispatchEvent(new CustomEvent("FLIP_STARTED"))}),r.takeUntil(this.disconnecting),r.timeout(0),r.catchError(()=>r.of(null)))}disconnectedCallback(){super.disconnectedCallback(),this.disconnecting.next(!0),this.disconnecting.complete()}render(){return f.html` <slot> </slot> `}},l([m.property()],exports.SchmancyArea.prototype,"name",2),l([m.property()],exports.SchmancyArea.prototype,"default",2),exports.SchmancyArea=l([m.customElement("schmancy-area")],exports.SchmancyArea),exports.FINDING_MORTIES=y,exports.HERE_RICKY=g,exports.HISTORY_STRATEGY=p,exports.area=o,exports.routerHistory=d;
|
|
8
|
-
//# sourceMappingURL=area.component-
|
|
8
|
+
//# sourceMappingURL=area.component-C2dpnyWJ.cjs.map
|