@mhmo91/schmancy 0.5.25 → 0.5.27
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/checkbox.md +93 -52
- package/dist/ai/checkbox.md +93 -52
- package/dist/{animated-text-Q61RCdXT.js → animated-text-Bn8-ILmB.js} +3 -3
- package/dist/{animated-text-Q61RCdXT.js.map → animated-text-Bn8-ILmB.js.map} +1 -1
- package/dist/{animated-text-CiHeHOww.cjs → animated-text-vdNivzdc.cjs} +2 -2
- package/dist/{animated-text-CiHeHOww.cjs.map → animated-text-vdNivzdc.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-C_cHSKz0.cjs → area.component-DwPL6bdo.cjs} +2 -2
- package/dist/{area.component-C_cHSKz0.cjs.map → area.component-DwPL6bdo.cjs.map} +1 -1
- package/dist/{area.component-DYMGLvuA.js → area.component-pd24G8zW.js} +3 -3
- package/dist/{area.component-DYMGLvuA.js.map → area.component-pd24G8zW.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-DuQWyQeT.js → autocomplete-BlhAOtex.js} +4 -4
- package/dist/{autocomplete-DuQWyQeT.js.map → autocomplete-BlhAOtex.js.map} +1 -1
- package/dist/{autocomplete-ZT3BOEA5.cjs → autocomplete-GW91jVqw.cjs} +2 -2
- package/dist/{autocomplete-ZT3BOEA5.cjs.map → autocomplete-GW91jVqw.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-BcnWoLvo.js → avatar-4sGidVGe.js} +51 -51
- package/dist/{avatar-BcnWoLvo.js.map → avatar-4sGidVGe.js.map} +1 -1
- package/dist/{avatar-8CSFLRvq.cjs → avatar-q32dkyky.cjs} +2 -2
- package/dist/{avatar-8CSFLRvq.cjs.map → avatar-q32dkyky.cjs.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/boat-DNmaFlxD.cjs +83 -0
- package/dist/boat-DNmaFlxD.cjs.map +1 -0
- package/dist/boat-dSTPix8t.js +240 -0
- package/dist/boat-dSTPix8t.js.map +1 -0
- 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-D0LwTB_L.cjs → checkbox-BJ5aqrKY.cjs} +2 -2
- package/dist/{checkbox-D0LwTB_L.cjs.map → checkbox-BJ5aqrKY.cjs.map} +1 -1
- package/dist/{checkbox-WxVuYamU.js → checkbox-CU2tyEL0.js} +2 -2
- package/dist/{checkbox-WxVuYamU.js.map → checkbox-CU2tyEL0.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-7uzeIcQP.js → code-preview-KDpn0Q3T.js} +2 -2
- package/dist/{code-preview-7uzeIcQP.js.map → code-preview-KDpn0Q3T.js.map} +1 -1
- package/dist/{code-preview-BcwituOr.cjs → code-preview-fda91FDi.cjs} +2 -2
- package/dist/{code-preview-BcwituOr.cjs.map → code-preview-fda91FDi.cjs.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-eygGuBZz.cjs → date-range-0nOdLk-l.cjs} +2 -2
- package/dist/{date-range-eygGuBZz.cjs.map → date-range-0nOdLk-l.cjs.map} +1 -1
- package/dist/{date-range-inline-97fWguq7.cjs → date-range-inline-UoP6EDug.cjs} +2 -2
- package/dist/{date-range-inline-97fWguq7.cjs.map → date-range-inline-UoP6EDug.cjs.map} +1 -1
- package/dist/{date-range-inline-B2QQNDMg.js → date-range-inline-b0yYxPn_.js} +3 -3
- package/dist/{date-range-inline-B2QQNDMg.js.map → date-range-inline-b0yYxPn_.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/{date-range-s3Us154k.js → date-range-yd-FnXRe.js} +3 -3
- package/dist/{date-range-s3Us154k.js.map → date-range-yd-FnXRe.js.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-CQEb521T.js → delay-CE9VOJBG.js} +2 -2
- package/dist/{delay-CQEb521T.js.map → delay-CE9VOJBG.js.map} +1 -1
- package/dist/{delay-B0GqQ3C1.cjs → delay-CaOsI0yP.cjs} +2 -2
- package/dist/{delay-B0GqQ3C1.cjs.map → delay-CaOsI0yP.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/details-B_kKG0Du.cjs +143 -0
- package/dist/details-B_kKG0Du.cjs.map +1 -0
- package/dist/details-m-njXkGl.js +210 -0
- package/dist/details-m-njXkGl.js.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-DMImBN73.cjs → dialog-content-B5MUa6uq.cjs} +2 -2
- package/dist/{dialog-content-DMImBN73.cjs.map → dialog-content-B5MUa6uq.cjs.map} +1 -1
- package/dist/{dialog-content-CcNZ5YU6.js → dialog-content-BireCTdH.js} +3 -3
- package/dist/{dialog-content-CcNZ5YU6.js.map → dialog-content-BireCTdH.js.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-DvznHh3I.js → divider-CMaqpnia.js} +3 -3
- package/dist/{divider-DvznHh3I.js.map → divider-CMaqpnia.js.map} +1 -1
- package/dist/{divider-DNxHAfMo.cjs → divider-DekMH80a.cjs} +2 -2
- package/dist/{divider-DNxHAfMo.cjs.map → divider-DekMH80a.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-CtMauszk.js → dropdown-content-CViuccZ6.js} +3 -3
- package/dist/{dropdown-content-CtMauszk.js.map → dropdown-content-CViuccZ6.js.map} +1 -1
- package/dist/{dropdown-content-CH5MB5mz.cjs → dropdown-content-eXth59vX.cjs} +2 -2
- package/dist/{dropdown-content-CH5MB5mz.cjs.map → dropdown-content-eXth59vX.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-BxiV610x.js → email-recipients-BSopuO1J.js} +5 -5
- package/dist/{email-recipients-BxiV610x.js.map → email-recipients-BSopuO1J.js.map} +1 -1
- package/dist/{email-recipients-pW93YxrA.cjs → email-recipients-DNcWf4_1.cjs} +2 -2
- package/dist/{email-recipients-pW93YxrA.cjs.map → email-recipients-DNcWf4_1.cjs.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-H2ZPqfIW.cjs → flex-CE0IKjR4.cjs} +2 -2
- package/dist/{flex-H2ZPqfIW.cjs.map → flex-CE0IKjR4.cjs.map} +1 -1
- package/dist/{flex-ykbucnko.js → flex-Czj-zqJQ.js} +2 -2
- package/dist/{flex-ykbucnko.js.map → flex-Czj-zqJQ.js.map} +1 -1
- package/dist/{form-CGGeAQbK.js → form-CAvvBQiv.js} +2 -2
- package/dist/{form-CGGeAQbK.js.map → form-CAvvBQiv.js.map} +1 -1
- package/dist/{form-C7FRhHOX.cjs → form-OUNdJnUW.cjs} +2 -2
- package/dist/{form-C7FRhHOX.cjs.map → form-OUNdJnUW.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-MbkisYHL.cjs → formField.mixin-Bu0ygAbE.cjs} +2 -2
- package/dist/{formField.mixin-MbkisYHL.cjs.map → formField.mixin-Bu0ygAbE.cjs.map} +1 -1
- package/dist/{formField.mixin-D-3pktvx.js → formField.mixin-DlYLC82X.js} +2 -2
- package/dist/{formField.mixin-D-3pktvx.js.map → formField.mixin-DlYLC82X.js.map} +1 -1
- package/dist/{icon-CnVNGmjD.cjs → icon-BwhQbcAk.cjs} +2 -2
- package/dist/{icon-CnVNGmjD.cjs.map → icon-BwhQbcAk.cjs.map} +1 -1
- package/dist/{icon-BiHCgOyT.js → icon-D0EaNtwd.js} +2 -2
- package/dist/{icon-BiHCgOyT.js.map → icon-D0EaNtwd.js.map} +1 -1
- package/dist/{icon-button-CB52pDFa.cjs → icon-button-BrRSVzzx.cjs} +2 -2
- package/dist/{icon-button-CB52pDFa.cjs.map → icon-button-BrRSVzzx.cjs.map} +1 -1
- package/dist/{icon-button--hjJtAL_.js → icon-button-CGMdsmXS.js} +3 -3
- package/dist/{icon-button--hjJtAL_.js.map → icon-button-CGMdsmXS.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 +166 -163
- package/dist/{input-Mrc7DrIK.js → input-DZYN1TnY.js} +3 -3
- package/dist/{input-Mrc7DrIK.js.map → input-DZYN1TnY.js.map} +1 -1
- package/dist/{input-chip-BRdk5zlg.js → input-chip-CNLkwei6.js} +2 -2
- package/dist/{input-chip-BRdk5zlg.js.map → input-chip-CNLkwei6.js.map} +1 -1
- package/dist/{input-chip-DnM_iJbj.cjs → input-chip-Cf25jEob.cjs} +2 -2
- package/dist/{input-chip-DnM_iJbj.cjs.map → input-chip-Cf25jEob.cjs.map} +1 -1
- package/dist/{input-BXcrOvCH.cjs → input-lzxE1e5L.cjs} +2 -2
- package/dist/{input-BXcrOvCH.cjs.map → input-lzxE1e5L.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-CXBxuSyn.js → list-Cqo45m_h.js} +2 -2
- package/dist/{list-CXBxuSyn.js.map → list-Cqo45m_h.js.map} +1 -1
- package/dist/{list-CYvT9cR6.cjs → list-rGx4YHgo.cjs} +2 -2
- package/dist/{list-CYvT9cR6.cjs.map → list-rGx4YHgo.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-DvxIa-6i.js → litElement.mixin-B0Rsd4Km.js} +2 -2
- package/dist/{litElement.mixin-DvxIa-6i.js.map → litElement.mixin-B0Rsd4Km.js.map} +1 -1
- package/dist/{litElement.mixin-BlkckXzw.cjs → litElement.mixin-DUiUa087.cjs} +2 -2
- package/dist/{litElement.mixin-BlkckXzw.cjs.map → litElement.mixin-DUiUa087.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-CnBZmqCI.cjs → map-8DhybTup.cjs} +2 -2
- package/dist/{map-CnBZmqCI.cjs.map → map-8DhybTup.cjs.map} +1 -1
- package/dist/{map-DwJzufvh.js → map-DWf43TA1.js} +2 -2
- package/dist/{map-DwJzufvh.js.map → map-DWf43TA1.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/media-BVKgZzK_.js +243 -0
- package/dist/media-BVKgZzK_.js.map +1 -0
- package/dist/media-BZwiyJto.cjs +152 -0
- package/dist/media-BZwiyJto.cjs.map +1 -0
- package/dist/{menu-dj8ocrls.js → menu-CGaCEOer.js} +3 -3
- package/dist/{menu-dj8ocrls.js.map → menu-CGaCEOer.js.map} +1 -1
- package/dist/{menu-1D8Grlkb.cjs → menu-D8qP_e7D.cjs} +2 -2
- package/dist/{menu-1D8Grlkb.cjs.map → menu-D8qP_e7D.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins/tailwind.css +0 -247
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/{navigation-rail-CO20kIzL.cjs → navigation-rail-BzMOzaFm.cjs} +77 -39
- package/dist/navigation-rail-BzMOzaFm.cjs.map +1 -0
- package/dist/{navigation-rail-DDSUxYea.js → navigation-rail-CjBw96pi.js} +88 -50
- package/dist/navigation-rail-CjBw96pi.js.map +1 -0
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-DcZEP2es.cjs → notification-service-DCmDSvc-.cjs} +2 -2
- package/dist/{notification-service-DcZEP2es.cjs.map → notification-service-DCmDSvc-.cjs.map} +1 -1
- package/dist/{notification-service-pckh5tN0.js → notification-service-Dv4oQi_Z.js} +5 -5
- package/dist/{notification-service-pckh5tN0.js.map → notification-service-Dv4oQi_Z.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-CkVQ8Yk1.js → notify-COuaNTJP.js} +2 -2
- package/dist/{notify-CkVQ8Yk1.js.map → notify-COuaNTJP.js.map} +1 -1
- package/dist/{notify-G37oQhaA.cjs → notify-XY2e8y_a.cjs} +2 -2
- package/dist/{notify-G37oQhaA.cjs.map → notify-XY2e8y_a.cjs.map} +1 -1
- package/dist/{option-aPValeTc.js → option-CSSmqUBi.js} +2 -2
- package/dist/{option-aPValeTc.js.map → option-CSSmqUBi.js.map} +1 -1
- package/dist/{option-Cjwmga85.cjs → option-q-dig7LF.cjs} +2 -2
- package/dist/{option-Cjwmga85.cjs.map → option-q-dig7LF.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-CbGx00Fm.cjs → payment-card-form-C8bWa_hh.cjs} +2 -2
- package/dist/{payment-card-form-CbGx00Fm.cjs.map → payment-card-form-C8bWa_hh.cjs.map} +1 -1
- package/dist/{payment-card-form-B0kQ8Wr5.js → payment-card-form-CWboYwqO.js} +3 -3
- package/dist/{payment-card-form-B0kQ8Wr5.js.map → payment-card-form-CWboYwqO.js.map} +1 -1
- package/dist/{progress-CmI5A7Z_.cjs → progress-CP2lpJsl.cjs} +2 -2
- package/dist/{progress-CmI5A7Z_.cjs.map → progress-CP2lpJsl.cjs.map} +1 -1
- package/dist/{progress-DuqVkW8o.js → progress-Cci0dXzp.js} +2 -2
- package/dist/{progress-DuqVkW8o.js.map → progress-Cci0dXzp.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-Chlsm46k.cjs → radio-button-CU-lMs92.cjs} +2 -2
- package/dist/{radio-button-Chlsm46k.cjs.map → radio-button-CU-lMs92.cjs.map} +1 -1
- package/dist/{radio-button-sQa0jt-L.js → radio-button-DFbfVgox.js} +3 -3
- package/dist/{radio-button-sQa0jt-L.js.map → radio-button-DFbfVgox.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-r34O78hN.cjs → schmancy-steps-container-CQY1zmws.cjs} +2 -2
- package/dist/{schmancy-steps-container-r34O78hN.cjs.map → schmancy-steps-container-CQY1zmws.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-BsVtwIIR.js → schmancy-steps-container-vW7r1ZTL.js} +2 -2
- package/dist/{schmancy-steps-container-BsVtwIIR.js.map → schmancy-steps-container-vW7r1ZTL.js.map} +1 -1
- package/dist/{select-lhS0e1Jw.cjs → select-Be8HIqWu.cjs} +2 -2
- package/dist/{select-lhS0e1Jw.cjs.map → select-Be8HIqWu.cjs.map} +1 -1
- package/dist/{select-DQNDWSWh.js → select-BkGodZaS.js} +4 -4
- package/dist/{select-DQNDWSWh.js.map → select-BkGodZaS.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-DImUVTqD.js → sheet-DECb9whB.js} +3 -3
- package/dist/{sheet-DImUVTqD.js.map → sheet-DECb9whB.js.map} +1 -1
- package/dist/{sheet-CVQ6px7m.cjs → sheet-dK5UPVjp.cjs} +2 -2
- package/dist/{sheet-CVQ6px7m.cjs.map → sheet-dK5UPVjp.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-CZMt67fl.js → slider-BhFc1oRj.js} +3 -3
- package/dist/{slider-CZMt67fl.js.map → slider-BhFc1oRj.js.map} +1 -1
- package/dist/{slider-MzOpDc_J.cjs → slider-CP3JRaWR.cjs} +2 -2
- package/dist/{slider-MzOpDc_J.cjs.map → slider-CP3JRaWR.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-BuujVERe.cjs → spinner-BD8cXVK_.cjs} +2 -2
- package/dist/{spinner-BuujVERe.cjs.map → spinner-BD8cXVK_.cjs.map} +1 -1
- package/dist/{spinner-CUHM2lNo.js → spinner-DGyRYqUZ.js} +2 -2
- package/dist/{spinner-CUHM2lNo.js.map → spinner-DGyRYqUZ.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{suggestion-chip-CzMoacAF.cjs → suggestion-chip-C1n2VYBG.cjs} +31 -20
- package/dist/suggestion-chip-C1n2VYBG.cjs.map +1 -0
- package/dist/{suggestion-chip-8mpcT2Lk.js → suggestion-chip-Cl0cPTKV.js} +89 -70
- package/dist/suggestion-chip-Cl0cPTKV.js.map +1 -0
- package/dist/surface-C3V23wh9.js +140 -0
- package/dist/surface-C3V23wh9.js.map +1 -0
- package/dist/surface-ClIDhSRv.cjs +119 -0
- package/dist/surface-ClIDhSRv.cjs.map +1 -0
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-Dt0gOEZZ.cjs → table-1New2HBS.cjs} +2 -2
- package/dist/{table-Dt0gOEZZ.cjs.map → table-1New2HBS.cjs.map} +1 -1
- package/dist/{table-DkaAXbrh.js → table-CLA3cxIk.js} +2 -2
- package/dist/{table-DkaAXbrh.js.map → table-CLA3cxIk.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-5WVuGrk5.cjs → tabs-compatibility-DDtYFCUj.cjs} +2 -2
- package/dist/{tabs-compatibility-5WVuGrk5.cjs.map → tabs-compatibility-DDtYFCUj.cjs.map} +1 -1
- package/dist/{tabs-compatibility-DGvPxrEr.js → tabs-compatibility-RMzYuSJ1.js} +2 -2
- package/dist/{tabs-compatibility-DGvPxrEr.js.map → tabs-compatibility-RMzYuSJ1.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-CFrLBtkD.cjs +2 -0
- package/dist/{tailwind.mixin-BiRVB4Hl.cjs.map → tailwind.mixin-CFrLBtkD.cjs.map} +1 -1
- package/dist/tailwind.mixin-CZKT1dUr.js +43 -0
- package/dist/{tailwind.mixin-BbF53_0W.js.map → tailwind.mixin-CZKT1dUr.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-mc3Gk2Ch.js → textarea-B4DXG5Sg.js} +3 -3
- package/dist/{textarea-mc3Gk2Ch.js.map → textarea-B4DXG5Sg.js.map} +1 -1
- package/dist/{textarea-CJECXt0r.cjs → textarea-ChDsPBZz.cjs} +2 -2
- package/dist/{textarea-CJECXt0r.cjs.map → textarea-ChDsPBZz.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-cDGf9KiE.js → theme-button-DGjG_shg.js} +2 -2
- package/dist/{theme-button-cDGf9KiE.js.map → theme-button-DGjG_shg.js.map} +1 -1
- package/dist/{theme-button-1nU7sd5N.cjs → theme-button-qzDX0i9Q.cjs} +2 -2
- package/dist/{theme-button-1nU7sd5N.cjs.map → theme-button-qzDX0i9Q.cjs.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.component-Blc_4wu9.cjs +3 -0
- package/dist/{theme.component-BpyyRbkh.cjs.map → theme.component-Blc_4wu9.cjs.map} +1 -1
- package/dist/theme.component-C3r_-QqQ.js +818 -0
- package/dist/{theme.component-HF6Qt0YA.js.map → theme.component-C3r_-QqQ.js.map} +1 -1
- package/dist/theme.interface-BLfE5J_1.js +5 -0
- package/dist/theme.interface-BLfE5J_1.js.map +1 -0
- package/dist/theme.interface-BMeNadVb.cjs +2 -0
- package/dist/theme.interface-BMeNadVb.cjs.map +1 -0
- package/dist/theme.js +13 -10
- package/dist/{timezone-8UCGVbbl.js → timezone-BkE20wzQ.js} +3 -3
- package/dist/{timezone-8UCGVbbl.js.map → timezone-BkE20wzQ.js.map} +1 -1
- package/dist/{timezone-DC3VVwlT.cjs → timezone-wWfEuXrb.cjs} +2 -2
- package/dist/{timezone-DC3VVwlT.cjs.map → timezone-wWfEuXrb.cjs.map} +1 -1
- package/dist/{tooltip-DNl5aBNp.cjs → tooltip-DLadXXnP.cjs} +2 -2
- package/dist/{tooltip-DNl5aBNp.cjs.map → tooltip-DLadXXnP.cjs.map} +1 -1
- package/dist/{tooltip-C5r_jUM1.js → tooltip-UtpbXzQX.js} +2 -2
- package/dist/{tooltip-C5r_jUM1.js.map → tooltip-UtpbXzQX.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-yiGCSyyN.cjs → tree-Brtho3Eu.cjs} +2 -2
- package/dist/{tree-yiGCSyyN.cjs.map → tree-Brtho3Eu.cjs.map} +1 -1
- package/dist/{tree-CeNor9l6.js → tree-VkXtw2P8.js} +2 -2
- package/dist/{tree-CeNor9l6.js.map → tree-VkXtw2P8.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-CWFH8-z-.cjs → typewriter-CEgaw_pR.cjs} +2 -2
- package/dist/{typewriter-CWFH8-z-.cjs.map → typewriter-CEgaw_pR.cjs.map} +1 -1
- package/dist/{typewriter-BbQsON2M.js → typewriter-CsReDsYS.js} +4 -4
- package/dist/{typewriter-BbQsON2M.js.map → typewriter-CsReDsYS.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-PFj-xY2T.js → typography-D_bM5DW7.js} +2 -2
- package/dist/{typography-PFj-xY2T.js.map → typography-D_bM5DW7.js.map} +1 -1
- package/dist/{typography-ByLTIj6U.cjs → typography-NurK7F-8.cjs} +2 -2
- package/dist/{typography-ByLTIj6U.cjs.map → typography-NurK7F-8.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/boat/boat.d.ts +9 -0
- package/types/src/card/card.d.ts +5 -1
- package/types/src/chips/chips.d.ts +1 -6
- package/types/src/details/details.d.ts +4 -4
- package/types/src/theme/context.d.ts +222 -2
- package/types/src/theme/index.d.ts +10 -3
- package/types/src/theme/theme.elevation.d.ts +131 -0
- package/types/src/theme/theme.format.d.ts +32 -5
- package/types/src/theme/theme.interface.d.ts +231 -5
- package/types/src/theme/theme.motion.d.ts +198 -0
- package/types/src/theme/theme.service.d.ts +222 -2
- package/types/src/theme/theme.shape.d.ts +144 -0
- package/types/src/theme/theme.state.d.ts +546 -0
- package/types/src/theme/theme.typography.d.ts +74 -0
- package/dist/boat-BTSQNgJQ.js +0 -174
- package/dist/boat-BTSQNgJQ.js.map +0 -1
- package/dist/boat-BtViHW8M.cjs +0 -66
- package/dist/boat-BtViHW8M.cjs.map +0 -1
- package/dist/details-BSmS_ILq.cjs +0 -161
- package/dist/details-BSmS_ILq.cjs.map +0 -1
- package/dist/details-kr1zYIlK.js +0 -228
- package/dist/details-kr1zYIlK.js.map +0 -1
- package/dist/media-CdM6XhRo.cjs +0 -177
- package/dist/media-CdM6XhRo.cjs.map +0 -1
- package/dist/media-DOKkl0Ic.js +0 -261
- package/dist/media-DOKkl0Ic.js.map +0 -1
- package/dist/navigation-rail-CO20kIzL.cjs.map +0 -1
- package/dist/navigation-rail-DDSUxYea.js.map +0 -1
- package/dist/suggestion-chip-8mpcT2Lk.js.map +0 -1
- package/dist/suggestion-chip-CzMoacAF.cjs.map +0 -1
- package/dist/surface-C3B9Sbtw.cjs +0 -90
- package/dist/surface-C3B9Sbtw.cjs.map +0 -1
- package/dist/surface-DdR9DjO8.js +0 -111
- package/dist/surface-DdR9DjO8.js.map +0 -1
- package/dist/tailwind.mixin-BbF53_0W.js +0 -43
- package/dist/tailwind.mixin-BiRVB4Hl.cjs +0 -2
- package/dist/theme.component-BpyyRbkh.cjs +0 -3
- package/dist/theme.component-HF6Qt0YA.js +0 -814
- package/dist/theme.interface-C5Kj6WjD.js +0 -5
- package/dist/theme.interface-C5Kj6WjD.js.map +0 -1
- package/dist/theme.interface-Xg5Zi46a.cjs +0 -2
- package/dist/theme.interface-Xg5Zi46a.cjs.map +0 -1
package/ai/checkbox.md
CHANGED
|
@@ -3,96 +3,137 @@
|
|
|
3
3
|
```js
|
|
4
4
|
// Basic Checkbox
|
|
5
5
|
<schmancy-checkbox
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
.value=${booleanValue} // Boolean value (default: false)
|
|
7
|
+
.checked=${booleanValue} // Alias for value - use either value or checked
|
|
8
|
+
?disabled=${isDisabled} // Whether checkbox is disabled
|
|
9
|
+
?required=${isRequired} // Whether checkbox is required
|
|
10
|
+
name="checkbox-name" // Name attribute (auto-generated if not provided)
|
|
11
|
+
id="checkbox-id" // ID attribute (auto-generated if not provided)
|
|
12
|
+
label="Checkbox Label" // Optional label text
|
|
13
|
+
size="sm|md|lg" // Size of checkbox (default: "md") - Note: currently not affecting rendering
|
|
14
|
+
@change=${handleChange}> // Change event handler
|
|
14
15
|
</schmancy-checkbox>
|
|
15
16
|
|
|
16
|
-
// Checkbox with label
|
|
17
|
+
// Checkbox with label attribute
|
|
17
18
|
<schmancy-checkbox
|
|
18
19
|
label="Subscribe to newsletter"
|
|
19
|
-
|
|
20
|
+
.checked=${isSubscribed}
|
|
21
|
+
@change=${(e) => this.isSubscribed = e.detail.value}>
|
|
20
22
|
</schmancy-checkbox>
|
|
21
23
|
|
|
22
|
-
// Checkbox with slot content
|
|
24
|
+
// Checkbox with slot content (when no label attribute)
|
|
23
25
|
<schmancy-checkbox
|
|
24
26
|
name="terms"
|
|
25
|
-
|
|
27
|
+
.checked=${agreedToTerms}
|
|
28
|
+
required
|
|
29
|
+
@change=${(e) => this.agreedToTerms = e.detail.value}>
|
|
26
30
|
I accept the <a href="/terms">terms and conditions</a>
|
|
27
31
|
</schmancy-checkbox>
|
|
28
32
|
|
|
29
33
|
// Checkbox Properties
|
|
30
|
-
value: boolean // The checked state (true/false)
|
|
31
|
-
checked: boolean // Alias for value
|
|
32
|
-
name: string // The name attribute (auto-generated if not provided)
|
|
33
|
-
id: string // The id attribute (auto-generated if not provided)
|
|
34
|
-
disabled: boolean // Whether the checkbox is disabled
|
|
35
|
-
required: boolean // Whether the checkbox is required
|
|
36
|
-
label?: string // Optional label text
|
|
34
|
+
value: boolean // The checked state (true/false, default: false)
|
|
35
|
+
checked: boolean // Alias for value - getter/setter that maps to value
|
|
36
|
+
name: string // The name attribute (auto-generated random ID if not provided)
|
|
37
|
+
id: string // The id attribute (auto-generated random ID if not provided)
|
|
38
|
+
disabled: boolean // Whether the checkbox is disabled (default: false)
|
|
39
|
+
required: boolean // Whether the checkbox is required (default: false)
|
|
40
|
+
label?: string // Optional label text - if provided, shows text; otherwise uses slot
|
|
37
41
|
size: 'sm'|'md'|'lg' // Size of the checkbox (default: 'md')
|
|
38
42
|
|
|
39
43
|
// Checkbox Events
|
|
40
|
-
@change // Fires when checked state changes,
|
|
44
|
+
@change // Fires when checked state changes, event detail: { value: boolean }
|
|
45
|
+
// Access new value via: e.detail.value (NOT e.detail.checked)
|
|
46
|
+
|
|
47
|
+
// Important Notes:
|
|
48
|
+
// - The component uses md-checkbox internally from Material Web Components
|
|
49
|
+
// - Use property binding (.value or .checked) for the boolean state, not attribute
|
|
50
|
+
// - The label property takes precedence over slot content
|
|
51
|
+
// - Event detail contains 'value' property, not 'checked'
|
|
41
52
|
|
|
42
53
|
// Examples
|
|
43
|
-
|
|
54
|
+
|
|
55
|
+
// Basic usage with property binding
|
|
44
56
|
<schmancy-checkbox
|
|
45
57
|
name="agree"
|
|
46
58
|
label="I agree to the terms and conditions"
|
|
59
|
+
.checked=${this.agreed}
|
|
47
60
|
required
|
|
48
|
-
@change=${(e) =>
|
|
61
|
+
@change=${(e) => {
|
|
62
|
+
console.log('Agreed:', e.detail.value); // Use e.detail.value, not e.detail.checked
|
|
63
|
+
this.agreed = e.detail.value;
|
|
64
|
+
}}>
|
|
49
65
|
</schmancy-checkbox>
|
|
50
66
|
|
|
51
|
-
//
|
|
67
|
+
// Using slot for custom HTML content
|
|
52
68
|
<schmancy-checkbox
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
@change=${selectAll}>
|
|
69
|
+
.checked=${this.acceptTerms}
|
|
70
|
+
@change=${(e) => this.acceptTerms = e.detail.value}>
|
|
71
|
+
I accept the <strong>terms</strong> and <a href="/privacy">privacy policy</a>
|
|
57
72
|
</schmancy-checkbox>
|
|
58
73
|
|
|
59
|
-
//
|
|
60
|
-
<div>
|
|
74
|
+
// Typical checkbox group pattern
|
|
75
|
+
<div class="flex flex-col gap-2">
|
|
76
|
+
<schmancy-checkbox
|
|
77
|
+
.checked=${this.preferences.notifications}
|
|
78
|
+
@change=${(e) => this.preferences.notifications = e.detail.value}
|
|
79
|
+
label="Email notifications">
|
|
80
|
+
</schmancy-checkbox>
|
|
81
|
+
|
|
61
82
|
<schmancy-checkbox
|
|
62
|
-
|
|
63
|
-
value
|
|
64
|
-
label="
|
|
65
|
-
.checked=${roles.includes('admin')}
|
|
66
|
-
@change=${updateRoles}>
|
|
83
|
+
.checked=${this.preferences.newsletter}
|
|
84
|
+
@change=${(e) => this.preferences.newsletter = e.detail.value}
|
|
85
|
+
label="Weekly newsletter">
|
|
67
86
|
</schmancy-checkbox>
|
|
68
|
-
|
|
87
|
+
|
|
69
88
|
<schmancy-checkbox
|
|
70
|
-
|
|
71
|
-
value
|
|
72
|
-
label="
|
|
73
|
-
.checked=${roles.includes('editor')}
|
|
74
|
-
@change=${updateRoles}>
|
|
89
|
+
.checked=${this.preferences.marketing}
|
|
90
|
+
@change=${(e) => this.preferences.marketing = e.detail.value}
|
|
91
|
+
label="Marketing emails">
|
|
75
92
|
</schmancy-checkbox>
|
|
76
|
-
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
// Common pattern with external label
|
|
96
|
+
<div class="flex items-center gap-2">
|
|
77
97
|
<schmancy-checkbox
|
|
78
|
-
|
|
79
|
-
value
|
|
80
|
-
label="Viewer"
|
|
81
|
-
.checked=${roles.includes('viewer')}
|
|
82
|
-
@change=${updateRoles}>
|
|
98
|
+
.checked=${this.isSelected}
|
|
99
|
+
@change=${(e) => this.isSelected = e.detail.value}>
|
|
83
100
|
</schmancy-checkbox>
|
|
101
|
+
<schmancy-typography type="body" token="md">
|
|
102
|
+
Custom styled label text
|
|
103
|
+
</schmancy-typography>
|
|
84
104
|
</div>
|
|
85
105
|
|
|
86
|
-
//
|
|
106
|
+
// Disabled states
|
|
107
|
+
<schmancy-checkbox
|
|
108
|
+
label="This option is disabled"
|
|
109
|
+
disabled>
|
|
110
|
+
</schmancy-checkbox>
|
|
111
|
+
|
|
112
|
+
<schmancy-checkbox
|
|
113
|
+
label="This option is checked and disabled"
|
|
114
|
+
.checked=${true}
|
|
115
|
+
disabled>
|
|
116
|
+
</schmancy-checkbox>
|
|
117
|
+
|
|
118
|
+
// In a form context
|
|
87
119
|
<schmancy-form @submit=${handleSubmit}>
|
|
88
|
-
<schmancy-input name="
|
|
89
|
-
|
|
120
|
+
<schmancy-input name="email" label="Email" type="email" required></schmancy-input>
|
|
121
|
+
|
|
90
122
|
<schmancy-checkbox
|
|
91
123
|
name="subscribe"
|
|
92
|
-
|
|
93
|
-
value
|
|
124
|
+
.checked=${this.wantsNewsletter}
|
|
125
|
+
@change=${(e) => this.wantsNewsletter = e.detail.value}>
|
|
126
|
+
Send me newsletter updates
|
|
94
127
|
</schmancy-checkbox>
|
|
95
|
-
|
|
128
|
+
|
|
129
|
+
<schmancy-checkbox
|
|
130
|
+
name="terms"
|
|
131
|
+
required
|
|
132
|
+
.checked=${this.acceptedTerms}
|
|
133
|
+
@change=${(e) => this.acceptedTerms = e.detail.value}>
|
|
134
|
+
I accept the terms and conditions
|
|
135
|
+
</schmancy-checkbox>
|
|
136
|
+
|
|
96
137
|
<schmancy-button type="submit">Submit</schmancy-button>
|
|
97
138
|
</schmancy-form>
|
|
98
139
|
```
|
package/dist/ai/checkbox.md
CHANGED
|
@@ -3,96 +3,137 @@
|
|
|
3
3
|
```js
|
|
4
4
|
// Basic Checkbox
|
|
5
5
|
<schmancy-checkbox
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
.value=${booleanValue} // Boolean value (default: false)
|
|
7
|
+
.checked=${booleanValue} // Alias for value - use either value or checked
|
|
8
|
+
?disabled=${isDisabled} // Whether checkbox is disabled
|
|
9
|
+
?required=${isRequired} // Whether checkbox is required
|
|
10
|
+
name="checkbox-name" // Name attribute (auto-generated if not provided)
|
|
11
|
+
id="checkbox-id" // ID attribute (auto-generated if not provided)
|
|
12
|
+
label="Checkbox Label" // Optional label text
|
|
13
|
+
size="sm|md|lg" // Size of checkbox (default: "md") - Note: currently not affecting rendering
|
|
14
|
+
@change=${handleChange}> // Change event handler
|
|
14
15
|
</schmancy-checkbox>
|
|
15
16
|
|
|
16
|
-
// Checkbox with label
|
|
17
|
+
// Checkbox with label attribute
|
|
17
18
|
<schmancy-checkbox
|
|
18
19
|
label="Subscribe to newsletter"
|
|
19
|
-
|
|
20
|
+
.checked=${isSubscribed}
|
|
21
|
+
@change=${(e) => this.isSubscribed = e.detail.value}>
|
|
20
22
|
</schmancy-checkbox>
|
|
21
23
|
|
|
22
|
-
// Checkbox with slot content
|
|
24
|
+
// Checkbox with slot content (when no label attribute)
|
|
23
25
|
<schmancy-checkbox
|
|
24
26
|
name="terms"
|
|
25
|
-
|
|
27
|
+
.checked=${agreedToTerms}
|
|
28
|
+
required
|
|
29
|
+
@change=${(e) => this.agreedToTerms = e.detail.value}>
|
|
26
30
|
I accept the <a href="/terms">terms and conditions</a>
|
|
27
31
|
</schmancy-checkbox>
|
|
28
32
|
|
|
29
33
|
// Checkbox Properties
|
|
30
|
-
value: boolean // The checked state (true/false)
|
|
31
|
-
checked: boolean // Alias for value
|
|
32
|
-
name: string // The name attribute (auto-generated if not provided)
|
|
33
|
-
id: string // The id attribute (auto-generated if not provided)
|
|
34
|
-
disabled: boolean // Whether the checkbox is disabled
|
|
35
|
-
required: boolean // Whether the checkbox is required
|
|
36
|
-
label?: string // Optional label text
|
|
34
|
+
value: boolean // The checked state (true/false, default: false)
|
|
35
|
+
checked: boolean // Alias for value - getter/setter that maps to value
|
|
36
|
+
name: string // The name attribute (auto-generated random ID if not provided)
|
|
37
|
+
id: string // The id attribute (auto-generated random ID if not provided)
|
|
38
|
+
disabled: boolean // Whether the checkbox is disabled (default: false)
|
|
39
|
+
required: boolean // Whether the checkbox is required (default: false)
|
|
40
|
+
label?: string // Optional label text - if provided, shows text; otherwise uses slot
|
|
37
41
|
size: 'sm'|'md'|'lg' // Size of the checkbox (default: 'md')
|
|
38
42
|
|
|
39
43
|
// Checkbox Events
|
|
40
|
-
@change // Fires when checked state changes,
|
|
44
|
+
@change // Fires when checked state changes, event detail: { value: boolean }
|
|
45
|
+
// Access new value via: e.detail.value (NOT e.detail.checked)
|
|
46
|
+
|
|
47
|
+
// Important Notes:
|
|
48
|
+
// - The component uses md-checkbox internally from Material Web Components
|
|
49
|
+
// - Use property binding (.value or .checked) for the boolean state, not attribute
|
|
50
|
+
// - The label property takes precedence over slot content
|
|
51
|
+
// - Event detail contains 'value' property, not 'checked'
|
|
41
52
|
|
|
42
53
|
// Examples
|
|
43
|
-
|
|
54
|
+
|
|
55
|
+
// Basic usage with property binding
|
|
44
56
|
<schmancy-checkbox
|
|
45
57
|
name="agree"
|
|
46
58
|
label="I agree to the terms and conditions"
|
|
59
|
+
.checked=${this.agreed}
|
|
47
60
|
required
|
|
48
|
-
@change=${(e) =>
|
|
61
|
+
@change=${(e) => {
|
|
62
|
+
console.log('Agreed:', e.detail.value); // Use e.detail.value, not e.detail.checked
|
|
63
|
+
this.agreed = e.detail.value;
|
|
64
|
+
}}>
|
|
49
65
|
</schmancy-checkbox>
|
|
50
66
|
|
|
51
|
-
//
|
|
67
|
+
// Using slot for custom HTML content
|
|
52
68
|
<schmancy-checkbox
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
@change=${selectAll}>
|
|
69
|
+
.checked=${this.acceptTerms}
|
|
70
|
+
@change=${(e) => this.acceptTerms = e.detail.value}>
|
|
71
|
+
I accept the <strong>terms</strong> and <a href="/privacy">privacy policy</a>
|
|
57
72
|
</schmancy-checkbox>
|
|
58
73
|
|
|
59
|
-
//
|
|
60
|
-
<div>
|
|
74
|
+
// Typical checkbox group pattern
|
|
75
|
+
<div class="flex flex-col gap-2">
|
|
76
|
+
<schmancy-checkbox
|
|
77
|
+
.checked=${this.preferences.notifications}
|
|
78
|
+
@change=${(e) => this.preferences.notifications = e.detail.value}
|
|
79
|
+
label="Email notifications">
|
|
80
|
+
</schmancy-checkbox>
|
|
81
|
+
|
|
61
82
|
<schmancy-checkbox
|
|
62
|
-
|
|
63
|
-
value
|
|
64
|
-
label="
|
|
65
|
-
.checked=${roles.includes('admin')}
|
|
66
|
-
@change=${updateRoles}>
|
|
83
|
+
.checked=${this.preferences.newsletter}
|
|
84
|
+
@change=${(e) => this.preferences.newsletter = e.detail.value}
|
|
85
|
+
label="Weekly newsletter">
|
|
67
86
|
</schmancy-checkbox>
|
|
68
|
-
|
|
87
|
+
|
|
69
88
|
<schmancy-checkbox
|
|
70
|
-
|
|
71
|
-
value
|
|
72
|
-
label="
|
|
73
|
-
.checked=${roles.includes('editor')}
|
|
74
|
-
@change=${updateRoles}>
|
|
89
|
+
.checked=${this.preferences.marketing}
|
|
90
|
+
@change=${(e) => this.preferences.marketing = e.detail.value}
|
|
91
|
+
label="Marketing emails">
|
|
75
92
|
</schmancy-checkbox>
|
|
76
|
-
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
// Common pattern with external label
|
|
96
|
+
<div class="flex items-center gap-2">
|
|
77
97
|
<schmancy-checkbox
|
|
78
|
-
|
|
79
|
-
value
|
|
80
|
-
label="Viewer"
|
|
81
|
-
.checked=${roles.includes('viewer')}
|
|
82
|
-
@change=${updateRoles}>
|
|
98
|
+
.checked=${this.isSelected}
|
|
99
|
+
@change=${(e) => this.isSelected = e.detail.value}>
|
|
83
100
|
</schmancy-checkbox>
|
|
101
|
+
<schmancy-typography type="body" token="md">
|
|
102
|
+
Custom styled label text
|
|
103
|
+
</schmancy-typography>
|
|
84
104
|
</div>
|
|
85
105
|
|
|
86
|
-
//
|
|
106
|
+
// Disabled states
|
|
107
|
+
<schmancy-checkbox
|
|
108
|
+
label="This option is disabled"
|
|
109
|
+
disabled>
|
|
110
|
+
</schmancy-checkbox>
|
|
111
|
+
|
|
112
|
+
<schmancy-checkbox
|
|
113
|
+
label="This option is checked and disabled"
|
|
114
|
+
.checked=${true}
|
|
115
|
+
disabled>
|
|
116
|
+
</schmancy-checkbox>
|
|
117
|
+
|
|
118
|
+
// In a form context
|
|
87
119
|
<schmancy-form @submit=${handleSubmit}>
|
|
88
|
-
<schmancy-input name="
|
|
89
|
-
|
|
120
|
+
<schmancy-input name="email" label="Email" type="email" required></schmancy-input>
|
|
121
|
+
|
|
90
122
|
<schmancy-checkbox
|
|
91
123
|
name="subscribe"
|
|
92
|
-
|
|
93
|
-
value
|
|
124
|
+
.checked=${this.wantsNewsletter}
|
|
125
|
+
@change=${(e) => this.wantsNewsletter = e.detail.value}>
|
|
126
|
+
Send me newsletter updates
|
|
94
127
|
</schmancy-checkbox>
|
|
95
|
-
|
|
128
|
+
|
|
129
|
+
<schmancy-checkbox
|
|
130
|
+
name="terms"
|
|
131
|
+
required
|
|
132
|
+
.checked=${this.acceptedTerms}
|
|
133
|
+
@change=${(e) => this.acceptedTerms = e.detail.value}>
|
|
134
|
+
I accept the terms and conditions
|
|
135
|
+
</schmancy-checkbox>
|
|
136
|
+
|
|
96
137
|
<schmancy-button type="submit">Submit</schmancy-button>
|
|
97
138
|
</schmancy-form>
|
|
98
139
|
```
|
|
@@ -2,8 +2,8 @@ import { concat as u, interval as g, startWith as y, filter as h, take as d, fro
|
|
|
2
2
|
import "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
4
|
import { property as a, queryAssignedNodes as x, query as m, customElement as S } from "lit/decorators.js";
|
|
5
|
-
import "./tailwind.mixin-
|
|
6
|
-
import { $ as Z } from "./litElement.mixin-
|
|
5
|
+
import "./tailwind.mixin-CZKT1dUr.js";
|
|
6
|
+
import { $ as Z } from "./litElement.mixin-B0Rsd4Km.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) => {
|
|
9
9
|
for (var l, o = i > 1 ? void 0 : i ? O(s, n) : s, p = r.length - 1; p >= 0; p--) (l = r[p]) && (o = (i ? l(s, n, o) : l(o)) || o);
|
|
@@ -72,4 +72,4 @@ let t = class extends Z(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([x()], t.prototype, "defaultSlot", 2), e([m(".letters")], t.prototype, "letters", 2), e([m(".ml7")], t.prototype, "ml7", 2), t = e([S("schmancy-animated-text")], t);
|
|
75
|
-
//# sourceMappingURL=animated-text-
|
|
75
|
+
//# sourceMappingURL=animated-text-Bn8-ILmB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animated-text-Q61RCdXT.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","constructor","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","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"animated-text-Bn8-ILmB.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","constructor","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","render","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 r=require("lit/decorators.js");require("./tailwind.mixin-
|
|
1
|
+
"use strict";const e=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const r=require("lit/decorators.js");require("./tailwind.mixin-CFrLBtkD.cjs");const h=require("./litElement.mixin-DUiUa087.cjs"),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-vdNivzdc.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animated-text-CiHeHOww.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","constructor","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","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"animated-text-vdNivzdc.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","constructor","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","render","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-vdNivzdc.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-Bn8-ILmB.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-DwPL6bdo.cjs"),e=require("./utils-C38P63L6.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}),Object.defineProperty(exports,"SchmancyRoute",{enumerable:!0,get:()=>t.SchmancyRoute}),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.decodeData=e.decodeData,exports.decodeRouteState=e.decodeRouteState,exports.deepMerge=e.deepMerge,exports.encodeData=e.encodeData,exports.encodeRouteState=e.encodeRouteState,exports.extractQueryParams=e.extractQueryParams,exports.getTagName=e.getTagName,exports.isObject=e.isObject,exports.lazy=e.lazy,exports.normalizeTagName=e.normalizeTagName,exports.sanitizeRouteState=e.sanitizeRouteState;
|
|
2
2
|
//# sourceMappingURL=area.cjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const s=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("lit/decorators.js");require("./tailwind.mixin-
|
|
1
|
+
"use strict";const s=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("lit/decorators.js");require("./tailwind.mixin-CFrLBtkD.cjs");const A=require("./litElement.mixin-DUiUa087.cjs"),b=require("lit"),R=new s.Subject,j="FINDING_MORTIES",C="HERE_RICKY",O=new WeakMap;class f{constructor(){this.prettyURL=!1,this.mode="HISTORY",this.request=new s.ReplaySubject(1),this.current=new Map,this.$current=new s.ReplaySubject(1),this.enableHistoryMode=!0,this.findingMortiesEvent=new CustomEvent(j),this.disposed=!1,this.isProcessingPopstate=!1,this.$current.next(this.current),this.$current.subscribe(t=>{this.disposed||t.forEach((e,r)=>{this.getOrCreateAreaSubject(r).next(e)})}),this.initializeFromBrowserState(),typeof window<"u"&&(this.unloadSubscription=s.fromEvent(window,"unload").subscribe(()=>{this.dispose()}))}get areaSubjects(){let t=O.get(this);return t||(t=new Map,O.set(this,t)),t}initializeFromBrowserState(){try{const t=history.state;t&&t.schmancyAreas&&(Object.entries(t.schmancyAreas).forEach(([e,r])=>{this.current.set(e,r)}),this.$current.next(this.current))}catch{}}getOrCreateAreaSubject(t){let e=this.areaSubjects.get(t);if(!e||e.closed){e=new s.ReplaySubject(1),this.areaSubjects.set(t,e);const r=this.current.get(t);r&&e.next({...r,state:r.state||{},params:r.params||{},props:r.props||{}})}return e}on(t,e=!1){if(!t)throw new Error("Area name is required");const r=this.getOrCreateAreaSubject(t).asObservable().pipe(s.distinctUntilChanged((i,n)=>i.component===n.component&&JSON.stringify(i.state)===JSON.stringify(n.state)&&JSON.stringify(i.params)===JSON.stringify(n.params)),s.shareReplay(1));return e?r.pipe(s.skip(1)):r}all(t=!1){const e=this.$current.asObservable().pipe(s.shareReplay(1));return t?e.pipe(s.skip(1)):e}getState(t){if(!t)throw new Error("Area name is required");return this.on(t).pipe(s.map(e=>e.state),s.filter(e=>e!=null),s.distinctUntilChanged((e,r)=>JSON.stringify(e)===JSON.stringify(r)),s.map(e=>e),s.catchError(e=>s.EMPTY))}params(t){if(!t)throw new Error("Area name is required");return this.on(t).pipe(s.map(e=>e.params),s.filter(e=>e!=null),s.distinctUntilChanged((e,r)=>JSON.stringify(e)===JSON.stringify(r)),s.map(e=>e),s.catchError(e=>s.EMPTY))}param(t,e){if(!t||!e)throw new Error("Area name and key are required");return this.params(t).pipe(s.map(r=>r[e]),s.filter(r=>r!==void 0),s.distinctUntilChanged(),s.map(r=>r),s.catchError(r=>s.EMPTY))}props(t){if(!t)throw new Error("Area name is required");return this.on(t).pipe(s.map(e=>e.props),s.filter(e=>e!=null),s.distinctUntilChanged((e,r)=>JSON.stringify(e)===JSON.stringify(r)),s.map(e=>e),s.catchError(e=>s.EMPTY))}prop(t,e){if(!t||!e)throw new Error("Area name and key are required");return this.props(t).pipe(s.map(r=>r[e]),s.filter(r=>r!==void 0),s.distinctUntilChanged(),s.map(r=>r),s.catchError(r=>s.EMPTY))}find(){return s.zip([s.fromEvent(window,C).pipe(s.map(t=>t.detail),s.bufferTime(0)),s.of(1).pipe(s.tap(()=>window.dispatchEvent(this.findingMortiesEvent)))]).pipe(s.map(([t])=>t),s.timeout(1),s.catchError(()=>s.EMPTY))}push(t){if(!t.area)throw new Error("Area is required for route action");if(this.isProcessingPopstate)return;const e={...t,state:t.state||{},params:t.params||{},props:t.props||{},_source:"programmatic"};this.enableHistoryMode&&R.next(e),this.request.next(e),this.dispatchAreaEvent(e.area,e)}_updateFromBrowser(t){const e={...t,state:t.state||{},params:t.params||{},props:t.props||{},_source:"browser"};this.isProcessingPopstate=!0,this.request.next(e),this.isProcessingPopstate=!1}_updateBrowserHistory(t,e,r,i){if(this.enableHistoryMode)try{const n=history.state||{},o=n.schmancyAreas||{},h={component:e.component,area:e.area};e.state&&Object.keys(e.state).length>0&&(h.state=e.state),e.params&&Object.keys(e.params).length>0&&(h.params=e.params),e.props&&Object.keys(e.props).length>0&&(h.props=e.props),o[t]=h;const c={...n,schmancyAreas:o},l=this.createCleanURL(o,i);r==="replace"||r==="pop"?history.replaceState(c,"",l):r!=="push"&&r||history.pushState(c,"",l)}catch{}}createCleanURL(t,e){const r=location.pathname,i=r.split("/");let n="/";const o=i[i.length-1];o&&(o.includes("{")||o.includes("%7B"))?(i.pop(),n=i.join("/")||"/"):n=r,n==="/"||n.endsWith("/")||(n+="/");let h="";if(e!==!0){const c=new URLSearchParams(location.search);Array.isArray(e)&&e.forEach(l=>c.delete(l)),h=c.toString(),h=h?`?${h}`:""}if(this.prettyURL){const c=t.main;if(c){let l=n==="/"?`/${c.component}`:`${n}${c.component}`;const S=new URLSearchParams(h);c.params&&Object.entries(c.params).forEach(([d,E])=>{typeof E!="string"&&typeof E!="number"||S.set(d,String(E))});const p=S.toString();return l+(p?`?${p}`:"")}}try{const c={};if(Object.entries(t).forEach(([S,p])=>{const d={component:p.component};p.state&&Object.keys(p.state).length>0&&(d.state=p.state),p.params&&Object.keys(p.params).length>0&&(d.params=p.params),p.props&&Object.keys(p.props).length>0&&(d.props=p.props),c[S]=d}),Object.keys(c).length===0)return`${n==="/"?"":n.replace(/\/$/,"")}${h}`;const l=encodeURIComponent(JSON.stringify(c));return`${n==="/"?"":n.replace(/\/$/,"")}/${l}${h}`}catch{return location.pathname}}restoreFromBrowserState(t){try{if(t&&t.schmancyAreas)return t.schmancyAreas}catch{}return this.parseStateFromURL()}parseStateFromURL(){const t=location.pathname.split("/").pop();if(!t)return{};try{const e=decodeURIComponent(t),r=JSON.parse(e);if(typeof r=="object"&&r!==null)return r}catch{}return{}}dispatchAreaEvent(t,e){const r=new CustomEvent(`schmancy-area-${t}-changed`,{detail:{area:t,component:e.component,state:e.state,params:e.params,props:e.props,historyStrategy:e.historyStrategy},bubbles:!0,composed:!0});window.dispatchEvent(r)}pop(t){if(!t)throw new Error("Area name is required");const e=this.areaSubjects.get(t);if(e&&!e.closed&&e.next({component:null,state:{},area:t,params:{},props:{}}),this.request.next({area:t,component:null,state:{},params:{},props:{},historyStrategy:"silent",_source:"programmatic"}),this.current.delete(t),this.$current.next(this.current),this.enableHistoryMode)try{const r=history.state||{},i={...r.schmancyAreas||{}};delete i[t];const n={...r,schmancyAreas:i},o=this.createCleanURL(i);history.replaceState(n,"",o)}catch{}}clear(){if(this.areaSubjects.forEach(t=>t.complete()),this.areaSubjects.clear(),this.current.clear(),this.$current.next(this.current),this.enableHistoryMode){const t=this.createCleanURL({});history.replaceState({schmancyAreas:{}},"",t)}}dispose(){this.disposed||(this.disposed=!0,this.unloadSubscription&&(this.unloadSubscription.unsubscribe(),this.unloadSubscription=void 0),this.areaSubjects.forEach(t=>t.complete()),this.areaSubjects.clear(),this.request.complete(),this.$current.complete(),R.complete(),this.current.clear(),O.delete(this))}static getInstance(){return f.instance||(f.instance=new f),f.instance}get state(){try{const t=history.state;if(t&&t.schmancyAreas)return t.schmancyAreas}catch{}return this.parseStateFromURL()}hasArea(t){return this.current.has(t)}getActiveAreas(){return Array.from(this.current.keys())}getRoute(t){return this.current.get(t)}}const y=f.getInstance();var v=Object.defineProperty,M=Object.getOwnPropertyDescriptor,g=(a,t,e,r)=>{for(var i,n=r>1?void 0:r?M(t,e):t,o=a.length-1;o>=0;o--)(i=a[o])&&(n=(r?i(t,e,n):i(n))||n);return r&&n&&v(t,e,n),n};exports.SchmancyRoute=class extends A.$LitElement(b.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: none;
|
|
4
4
|
}
|
|
@@ -9,4 +9,4 @@
|
|
|
9
9
|
inset: 0;
|
|
10
10
|
}
|
|
11
11
|
`){firstUpdated(){if(!this.name)throw new Error("Area name is required");s.merge(y.request.pipe(s.filter(({area:a})=>a===this.name)),s.of(null).pipe(s.take(1),s.map(()=>{const a=location.pathname,t=a.split("/").pop()||"";if(t&&(t.includes("{")||t.includes("%7B")))try{const r=JSON.parse(decodeURIComponent(t));if(r[this.name])return{area:this.name,component:r[this.name].component,state:r[this.name].state||{},params:r[this.name].params||{},historyStrategy:m.replace}}catch{}const e=a.split("/").filter(Boolean).find(r=>this.routes?.some(i=>i.when===r));return e?{area:this.name,component:e,state:{},params:{},historyStrategy:m.silent}:this.default?{area:this.name,component:this.default,state:{},params:{},historyStrategy:m.silent}:null})),s.fromEvent(window,"popstate").pipe(s.map(()=>{if(history.state?.schmancyAreas?.[this.name]){const r=history.state.schmancyAreas[this.name];return{area:this.name,component:r.component,state:r.state||{},params:r.params||{},historyStrategy:m.pop}}const a=location.pathname,t=a.split("/").pop()||"";if(t&&(t.includes("{")||t.includes("%7B")))try{const r=JSON.parse(decodeURIComponent(t));if(r[this.name])return{area:this.name,component:r[this.name].component,state:r[this.name].state||{},params:r[this.name].params||{},historyStrategy:m.replace}}catch{}const e=a.split("/").filter(Boolean).find(r=>this.routes?.some(i=>i.when===r));return e?{area:this.name,component:e,state:{},params:{},historyStrategy:m.silent}:this.default?{area:this.name,component:this.default,state:{},params:{},historyStrategy:m.silent}:null}))).pipe(s.filter(a=>a!==null),s.map(a=>{let t,e=a.component;if(typeof e=="string"&&this.routes)t=this.routes.find(r=>r.when===e),t&&(e=t.component);else if(typeof e=="function"&&this.routes)t=this.routes.find(r=>r.component===e);else if(e instanceof HTMLElement&&this.routes){const r=e.tagName.toLowerCase();t=this.routes.find(i=>i.when===r)}return{...a,component:e,matchedRoute:t}}),s.switchMap(a=>a.matchedRoute?.guard?a.matchedRoute.guard.pipe(s.switchMap(t=>{if(t===!0)return s.of(a);const e=new CustomEvent("redirect",{detail:{blockedRoute:a.matchedRoute?.when||"unknown",area:this.name,params:a.params||{},state:a.state||{},redirectTarget:typeof t=="object"?t:void 0},bubbles:!0,composed:!0});return a.matchedRoute.dispatchEvent(e),s.EMPTY})):s.of(a)),s.switchMap(async a=>{let t=a.component;if(typeof t=="function"&&("preload"in t||"_promise"in t||"_module"in t))try{t=(await t()).default}catch{return{...a,component:null}}return{...a,component:t}}),s.map(a=>{let t="";const e=a.component;e&&e!==""?typeof e=="string"?t=e:e instanceof HTMLElement?t=e.tagName.toLowerCase():typeof e=="function"&&(t=e.name||"CustomElement"):t="null";const r=`${t}${JSON.stringify(a.params)}${JSON.stringify(a.state)}`;return{...a,key:r,tagName:t}}),s.distinctUntilChanged((a,t)=>a.key===t.key),s.map(a=>{let t=null;const e=a.component;if(e&&e!==""){if(typeof e=="string")try{t=document.createElement(e)}catch{}else if(e instanceof HTMLElement)t=e;else if(typeof e=="function")try{t=new e}catch{}}else t=null;return t&&(a.params&&Object.assign(t,a.params),a.props&&Object.assign(t,a.props),a.state&&(t.state=a.state)),{element:t,route:a}}),s.shareReplay(1),s.tap(({element:a,route:t})=>this.swapComponents(a,t)),s.catchError(a=>s.EMPTY),s.takeUntil(this.disconnecting)).subscribe()}swapComponents(a,t){const e=Array.from(this.children).find(i=>!(i instanceof exports.SchmancyRoute));if(!a)return void e?.remove();e?e.animate([{opacity:1},{opacity:0}],{duration:150,easing:"ease-out"}).onfinish=()=>{e.remove(),this.appendChild(a),a.animate([{opacity:0},{opacity:1}],{duration:150,easing:"ease-in"})}:(this.appendChild(a),a.animate([{opacity:0},{opacity:1}],{duration:100,easing:"ease-in"}));const r={component:a.tagName.toLowerCase(),state:t.state||{},area:this.name,params:t.params||{}};y.current.set(this.name,r),y.$current.next(y.current),y.enableHistoryMode&&y._updateBrowserHistory(this.name,r,t.historyStrategy||m.push,t.clearQueryParams)}disconnectedCallback(){super.disconnectedCallback()}render(){return b.html`<slot></slot>`}},w([u.property()],exports.SchmancyArea.prototype,"name",2),w([u.property()],exports.SchmancyArea.prototype,"default",2),w([u.queryAssignedElements({selector:"schmancy-route",flatten:!0})],exports.SchmancyArea.prototype,"routes",2),exports.SchmancyArea=w([u.customElement("schmancy-area")],exports.SchmancyArea),exports.FINDING_MORTIES=j,exports.HERE_RICKY=C,exports.HISTORY_STRATEGY=m,exports.area=y,exports.routerHistory=R;
|
|
12
|
-
//# sourceMappingURL=area.component-
|
|
12
|
+
//# sourceMappingURL=area.component-DwPL6bdo.cjs.map
|