@mhmo91/schmancy 0.5.16 → 0.5.18
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/details.md +12 -0
- package/dist/ai/details.md +12 -0
- package/dist/{animated-text-BU3wdZMG.cjs → animated-text-B3ShIBX3.cjs} +2 -2
- package/dist/{animated-text-BU3wdZMG.cjs.map → animated-text-B3ShIBX3.cjs.map} +1 -1
- package/dist/{animated-text-DPKUP50F.js → animated-text-Bu95OxOB.js} +3 -3
- package/dist/{animated-text-DPKUP50F.js.map → animated-text-Bu95OxOB.js.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-DtA3Lu3W.cjs → area.component-De95XHvt.cjs} +2 -2
- package/dist/{area.component-DtA3Lu3W.cjs.map → area.component-De95XHvt.cjs.map} +1 -1
- package/dist/{area.component-IplYWAJ9.js → area.component-Uj8eYomX.js} +3 -3
- package/dist/{area.component-IplYWAJ9.js.map → area.component-Uj8eYomX.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-TQAKC3zb.js → autocomplete-CfICiUej.js} +4 -4
- package/dist/{autocomplete-TQAKC3zb.js.map → autocomplete-CfICiUej.js.map} +1 -1
- package/dist/{autocomplete-DuICmC-L.cjs → autocomplete-S3tqpsfx.cjs} +2 -2
- package/dist/{autocomplete-DuICmC-L.cjs.map → autocomplete-S3tqpsfx.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-DNiWurOB.cjs → avatar-3C1rkJ1T.cjs} +3 -3
- package/dist/avatar-3C1rkJ1T.cjs.map +1 -0
- package/dist/{avatar-BnhiKcim.js → avatar-CxDF7O9q.js} +52 -52
- package/dist/avatar-CxDF7O9q.js.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-C_5lajE1.cjs → boat-COig4aPk.cjs} +2 -2
- package/dist/{boat-C_5lajE1.cjs.map → boat-COig4aPk.cjs.map} +1 -1
- package/dist/{boat-Cdj946Gt.js → boat-X1OG5F2J.js} +2 -2
- package/dist/{boat-Cdj946Gt.js.map → boat-X1OG5F2J.js.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-C7iXDlMd.cjs → checkbox-BKyJeBzr.cjs} +2 -2
- package/dist/{checkbox-C7iXDlMd.cjs.map → checkbox-BKyJeBzr.cjs.map} +1 -1
- package/dist/{checkbox-bczbYKJ_.js → checkbox-CQ_N8nVx.js} +2 -2
- package/dist/{checkbox-bczbYKJ_.js.map → checkbox-CQ_N8nVx.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-DVY7Ma5M.js → code-preview-DRt2qNK4.js} +2 -2
- package/dist/{code-preview-DVY7Ma5M.js.map → code-preview-DRt2qNK4.js.map} +1 -1
- package/dist/{code-preview-Dd5zlolv.cjs → code-preview-DdWQ9Huu.cjs} +2 -2
- package/dist/{code-preview-Dd5zlolv.cjs.map → code-preview-DdWQ9Huu.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-BtFOCYu5.js → date-range-W2AtcWsE.js} +3 -3
- package/dist/{date-range-BtFOCYu5.js.map → date-range-W2AtcWsE.js.map} +1 -1
- package/dist/{date-range-CN8RbjbA.cjs → date-range-_0PfGLTG.cjs} +2 -2
- package/dist/{date-range-CN8RbjbA.cjs.map → date-range-_0PfGLTG.cjs.map} +1 -1
- package/dist/{date-range-inline-CFZMugO6.js → date-range-inline-Cqu7nIGM.js} +3 -3
- package/dist/{date-range-inline-CFZMugO6.js.map → date-range-inline-Cqu7nIGM.js.map} +1 -1
- package/dist/{date-range-inline-DJWi6AzY.cjs → date-range-inline-tDA37KYD.cjs} +2 -2
- package/dist/{date-range-inline-DJWi6AzY.cjs.map → date-range-inline-tDA37KYD.cjs.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-CgsGlDy_.cjs → delay-B_M7fPe5.cjs} +2 -2
- package/dist/{delay-CgsGlDy_.cjs.map → delay-B_M7fPe5.cjs.map} +1 -1
- package/dist/{delay-DcuTxFvb.js → delay-CXAQP1GR.js} +2 -2
- package/dist/{delay-DcuTxFvb.js.map → delay-CXAQP1GR.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/details-Chfs-oHV.cjs +161 -0
- package/dist/details-Chfs-oHV.cjs.map +1 -0
- package/dist/details-CphTZvhk.js +228 -0
- package/dist/details-CphTZvhk.js.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-BQz6wlhP.cjs → dialog-content-Cm8VekL4.cjs} +2 -2
- package/dist/{dialog-content-BQz6wlhP.cjs.map → dialog-content-Cm8VekL4.cjs.map} +1 -1
- package/dist/{dialog-content-BQAkcUsG.js → dialog-content-h_Oz2PDz.js} +3 -3
- package/dist/{dialog-content-BQAkcUsG.js.map → dialog-content-h_Oz2PDz.js.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-DWVLisJ0.cjs → divider-CrP3muaP.cjs} +2 -2
- package/dist/{divider-DWVLisJ0.cjs.map → divider-CrP3muaP.cjs.map} +1 -1
- package/dist/{divider-9uMywuN_.js → divider-DZZPRjp6.js} +3 -3
- package/dist/{divider-9uMywuN_.js.map → divider-DZZPRjp6.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-CLS28mkc.cjs → dropdown-content-A6ZdJyZz.cjs} +2 -2
- package/dist/{dropdown-content-CLS28mkc.cjs.map → dropdown-content-A6ZdJyZz.cjs.map} +1 -1
- package/dist/{dropdown-content-BRVX5FUw.js → dropdown-content-CB1GBHlI.js} +3 -3
- package/dist/{dropdown-content-BRVX5FUw.js.map → dropdown-content-CB1GBHlI.js.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-C6EmSuto.cjs → email-recipients-DbovFfyf.cjs} +2 -2
- package/dist/{email-recipients-C6EmSuto.cjs.map → email-recipients-DbovFfyf.cjs.map} +1 -1
- package/dist/{email-recipients-t3MSN6He.js → email-recipients-Wk64dWuZ.js} +5 -5
- package/dist/{email-recipients-t3MSN6He.js.map → email-recipients-Wk64dWuZ.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-CCunmRc7.cjs → flex-B20VU8L_.cjs} +2 -2
- package/dist/{flex-CCunmRc7.cjs.map → flex-B20VU8L_.cjs.map} +1 -1
- package/dist/{flex-BeSf40tc.js → flex-BjEfo9Y7.js} +2 -2
- package/dist/{flex-BeSf40tc.js.map → flex-BjEfo9Y7.js.map} +1 -1
- package/dist/{form-DiButxNL.cjs → form-C02xoiR8.cjs} +2 -2
- package/dist/{form-DiButxNL.cjs.map → form-C02xoiR8.cjs.map} +1 -1
- package/dist/{form-CkU_Ur0f.js → form-C1PF3LFP.js} +2 -2
- package/dist/{form-CkU_Ur0f.js.map → form-C1PF3LFP.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-DOzSd0Zh.js → formField.mixin-Butk4H3G.js} +2 -2
- package/dist/{formField.mixin-DOzSd0Zh.js.map → formField.mixin-Butk4H3G.js.map} +1 -1
- package/dist/{formField.mixin-CZVWzyth.cjs → formField.mixin-pLRVCeUD.cjs} +2 -2
- package/dist/{formField.mixin-CZVWzyth.cjs.map → formField.mixin-pLRVCeUD.cjs.map} +1 -1
- package/dist/{icon-DFRGa2fo.js → icon-BZUpikxQ.js} +2 -2
- package/dist/{icon-DFRGa2fo.js.map → icon-BZUpikxQ.js.map} +1 -1
- package/dist/{icon-lBY6FS9l.cjs → icon-CcNT1vvG.cjs} +2 -2
- package/dist/{icon-lBY6FS9l.cjs.map → icon-CcNT1vvG.cjs.map} +1 -1
- package/dist/{icon-button-CrJ2c2kL.js → icon-button-7b5uVTan.js} +3 -3
- package/dist/{icon-button-CrJ2c2kL.js.map → icon-button-7b5uVTan.js.map} +1 -1
- package/dist/{icon-button-DAQLtaOG.cjs → icon-button-C5YpXRdC.cjs} +2 -2
- package/dist/{icon-button-DAQLtaOG.cjs.map → icon-button-C5YpXRdC.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +49 -49
- package/dist/{input-B61RzsgE.js → input-DC8Sf6IC.js} +3 -3
- package/dist/{input-B61RzsgE.js.map → input-DC8Sf6IC.js.map} +1 -1
- package/dist/{input-kKKCgqxB.cjs → input-DhdHemYN.cjs} +2 -2
- package/dist/{input-kKKCgqxB.cjs.map → input-DhdHemYN.cjs.map} +1 -1
- package/dist/{input-chip-CxQWsj0V.cjs → input-chip-BVeKi5rc.cjs} +2 -2
- package/dist/{input-chip-CxQWsj0V.cjs.map → input-chip-BVeKi5rc.cjs.map} +1 -1
- package/dist/{input-chip-Bbwo8kOY.js → input-chip-CIk926sc.js} +2 -2
- package/dist/{input-chip-Bbwo8kOY.js.map → input-chip-CIk926sc.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-o3XsZj53.js → list-CGNZvRGe.js} +2 -2
- package/dist/{list-o3XsZj53.js.map → list-CGNZvRGe.js.map} +1 -1
- package/dist/{list-BDcAo9zK.cjs → list-t7vG7o_O.cjs} +2 -2
- package/dist/{list-BDcAo9zK.cjs.map → list-t7vG7o_O.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-DxwbI-J4.cjs → litElement.mixin-BJ_Q1yRD.cjs} +2 -2
- package/dist/{litElement.mixin-DxwbI-J4.cjs.map → litElement.mixin-BJ_Q1yRD.cjs.map} +1 -1
- package/dist/{litElement.mixin-B3iC2lw1.js → litElement.mixin-C_TdCsfa.js} +2 -2
- package/dist/{litElement.mixin-B3iC2lw1.js.map → litElement.mixin-C_TdCsfa.js.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-Cd59ESHb.js → map-BiTqxS1F.js} +2 -2
- package/dist/{map-Cd59ESHb.js.map → map-BiTqxS1F.js.map} +1 -1
- package/dist/{map-BtbxKTAn.cjs → map-Bm3uVhWx.cjs} +2 -2
- package/dist/{map-BtbxKTAn.cjs.map → map-Bm3uVhWx.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-u34OCQWn.js → media-BKviPW_h.js} +2 -2
- package/dist/{media-u34OCQWn.js.map → media-BKviPW_h.js.map} +1 -1
- package/dist/{media-D2rk_vq5.cjs → media-D1kp7fjX.cjs} +2 -2
- package/dist/{media-D2rk_vq5.cjs.map → media-D1kp7fjX.cjs.map} +1 -1
- package/dist/{menu-CZEgDQcF.js → menu-BZzL9ILt.js} +3 -3
- package/dist/{menu-CZEgDQcF.js.map → menu-BZzL9ILt.js.map} +1 -1
- package/dist/{menu-DqmAs9UT.cjs → menu-Cjz7s37L.cjs} +2 -2
- package/dist/{menu-DqmAs9UT.cjs.map → menu-Cjz7s37L.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/{navigation-rail-item-CRoyy__9.cjs → navigation-rail-item-B4IK1tid.cjs} +2 -2
- package/dist/{navigation-rail-item-CRoyy__9.cjs.map → navigation-rail-item-B4IK1tid.cjs.map} +1 -1
- package/dist/{navigation-rail-item-B0Pt1TYe.js → navigation-rail-item-D3uE3_58.js} +2 -2
- package/dist/{navigation-rail-item-B0Pt1TYe.js.map → navigation-rail-item-D3uE3_58.js.map} +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-DCUmBhfk.js → notification-service-CLOPRsR_.js} +4 -4
- package/dist/{notification-service-DCUmBhfk.js.map → notification-service-CLOPRsR_.js.map} +1 -1
- package/dist/{notification-service-piGXhIs2.cjs → notification-service-ECIE9gmi.cjs} +2 -2
- package/dist/{notification-service-piGXhIs2.cjs.map → notification-service-ECIE9gmi.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-CoCkS3he.js → notify-Ujep-Wva.js} +2 -2
- package/dist/{notify-CoCkS3he.js.map → notify-Ujep-Wva.js.map} +1 -1
- package/dist/{notify-qNzmCeYb.cjs → notify-nO72O0p5.cjs} +2 -2
- package/dist/{notify-qNzmCeYb.cjs.map → notify-nO72O0p5.cjs.map} +1 -1
- package/dist/{option-DM8-4I1s.js → option-CRjbCpf-.js} +2 -2
- package/dist/{option-DM8-4I1s.js.map → option-CRjbCpf-.js.map} +1 -1
- package/dist/{option-Cyl8FWFM.cjs → option-r8dBm4ca.cjs} +2 -2
- package/dist/{option-Cyl8FWFM.cjs.map → option-r8dBm4ca.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-BYWfgv5Z.js → payment-card-form-BkWQ6H8v.js} +3 -3
- package/dist/{payment-card-form-BYWfgv5Z.js.map → payment-card-form-BkWQ6H8v.js.map} +1 -1
- package/dist/{payment-card-form-ee4Ebne-.cjs → payment-card-form-C3rs3GJg.cjs} +2 -2
- package/dist/{payment-card-form-ee4Ebne-.cjs.map → payment-card-form-C3rs3GJg.cjs.map} +1 -1
- package/dist/{progress-C1rlF_8g.cjs → progress-C6sY_Q2O.cjs} +2 -2
- package/dist/{progress-C1rlF_8g.cjs.map → progress-C6sY_Q2O.cjs.map} +1 -1
- package/dist/{progress-DN3dDTiy.js → progress-T5BaCgVz.js} +2 -2
- package/dist/{progress-DN3dDTiy.js.map → progress-T5BaCgVz.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-d4moXZV6.js → radio-button-BXZsXmyT.js} +3 -3
- package/dist/{radio-button-d4moXZV6.js.map → radio-button-BXZsXmyT.js.map} +1 -1
- package/dist/{radio-button-CNt9gVRR.cjs → radio-button-C85DWct1.cjs} +2 -2
- package/dist/{radio-button-CNt9gVRR.cjs.map → radio-button-C85DWct1.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-DegtmDab.js → schmancy-steps-container-C18l7ZUJ.js} +2 -2
- package/dist/{schmancy-steps-container-DegtmDab.js.map → schmancy-steps-container-C18l7ZUJ.js.map} +1 -1
- package/dist/{schmancy-steps-container-CwDo6HeY.cjs → schmancy-steps-container-YzlY4UDL.cjs} +2 -2
- package/dist/{schmancy-steps-container-CwDo6HeY.cjs.map → schmancy-steps-container-YzlY4UDL.cjs.map} +1 -1
- package/dist/{select-28RckE56.js → select-BgxZupg_.js} +3 -3
- package/dist/{select-28RckE56.js.map → select-BgxZupg_.js.map} +1 -1
- package/dist/{select-B-W4JpnH.cjs → select-Dve8bW-v.cjs} +2 -2
- package/dist/{select-B-W4JpnH.cjs.map → select-Dve8bW-v.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-AGfB3SYS.js → sheet-Dn2OyNPH.js} +3 -3
- package/dist/{sheet-AGfB3SYS.js.map → sheet-Dn2OyNPH.js.map} +1 -1
- package/dist/{sheet-CzPYQ9Ka.cjs → sheet-y9Uo1NQy.cjs} +2 -2
- package/dist/{sheet-CzPYQ9Ka.cjs.map → sheet-y9Uo1NQy.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-BuF8I1Tu.cjs → slider-CTsC1POO.cjs} +2 -2
- package/dist/{slider-BuF8I1Tu.cjs.map → slider-CTsC1POO.cjs.map} +1 -1
- package/dist/{slider-bTP1g--T.js → slider-HrSdi1w5.js} +3 -3
- package/dist/{slider-bTP1g--T.js.map → slider-HrSdi1w5.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-BG5ueufA.js → spinner-CwsNWGqj.js} +2 -2
- package/dist/{spinner-BG5ueufA.js.map → spinner-CwsNWGqj.js.map} +1 -1
- package/dist/{spinner-DNT6-zxK.cjs → spinner-DguvYTr2.cjs} +2 -2
- package/dist/{spinner-DNT6-zxK.cjs.map → spinner-DguvYTr2.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{suggestion-chip-CWeigglb.js → suggestion-chip-BcfuYhVu.js} +3 -3
- package/dist/{suggestion-chip-CWeigglb.js.map → suggestion-chip-BcfuYhVu.js.map} +1 -1
- package/dist/{suggestion-chip-rGFAeb1m.cjs → suggestion-chip-CocgJQgD.cjs} +2 -2
- package/dist/{suggestion-chip-rGFAeb1m.cjs.map → suggestion-chip-CocgJQgD.cjs.map} +1 -1
- package/dist/{surface-Cu_bwRCo.cjs → surface-14-wbhaX.cjs} +2 -2
- package/dist/{surface-Cu_bwRCo.cjs.map → surface-14-wbhaX.cjs.map} +1 -1
- package/dist/{surface-BBifm3dN.js → surface-BU2twRfK.js} +2 -2
- package/dist/{surface-BBifm3dN.js.map → surface-BU2twRfK.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-TlcaGCXZ.cjs → table-CUWzQ4jl.cjs} +2 -2
- package/dist/{table-TlcaGCXZ.cjs.map → table-CUWzQ4jl.cjs.map} +1 -1
- package/dist/{table-D6RQyRmf.js → table-d_te1RgD.js} +2 -2
- package/dist/{table-D6RQyRmf.js.map → table-d_te1RgD.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-DzboGqOA.js → tabs-compatibility-Boc5CUVW.js} +2 -2
- package/dist/{tabs-compatibility-DzboGqOA.js.map → tabs-compatibility-Boc5CUVW.js.map} +1 -1
- package/dist/{tabs-compatibility-hWCwyO1e.cjs → tabs-compatibility-DyZLNr4f.cjs} +2 -2
- package/dist/{tabs-compatibility-hWCwyO1e.cjs.map → tabs-compatibility-DyZLNr4f.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-D2o72t31.cjs +2 -0
- package/dist/{tailwind.mixin-B-Iki5zy.cjs.map → tailwind.mixin-D2o72t31.cjs.map} +1 -1
- package/dist/tailwind.mixin-nZk3QUQy.js +43 -0
- package/dist/{tailwind.mixin-DBQpFzVL.js.map → tailwind.mixin-nZk3QUQy.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-BpjtQ1Vm.js → textarea-B0sYfSz6.js} +2 -2
- package/dist/{textarea-BpjtQ1Vm.js.map → textarea-B0sYfSz6.js.map} +1 -1
- package/dist/{textarea-B4ygx9bG.cjs → textarea-mrIBP74N.cjs} +2 -2
- package/dist/{textarea-B4ygx9bG.cjs.map → textarea-mrIBP74N.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-BDPuUSsa.js → theme-button-CNJVyopz.js} +2 -2
- package/dist/{theme-button-BDPuUSsa.js.map → theme-button-CNJVyopz.js.map} +1 -1
- package/dist/{theme-button-U-aPrNi2.cjs → theme-button-DGb5LDjM.cjs} +2 -2
- package/dist/{theme-button-U-aPrNi2.cjs.map → theme-button-DGb5LDjM.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-B1YpKkFK.cjs → theme.component-BIrl0bms.cjs} +2 -2
- package/dist/{theme.component-B1YpKkFK.cjs.map → theme.component-BIrl0bms.cjs.map} +1 -1
- package/dist/{theme.component-Bc0uce8r.js → theme.component-X5en4kgs.js} +2 -2
- package/dist/{theme.component-Bc0uce8r.js.map → theme.component-X5en4kgs.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-BJF0KThH.cjs → timezone-Bt3qA38o.cjs} +2 -2
- package/dist/{timezone-BJF0KThH.cjs.map → timezone-Bt3qA38o.cjs.map} +1 -1
- package/dist/{timezone-CnPyYSg4.js → timezone-CjMKVlle.js} +3 -3
- package/dist/{timezone-CnPyYSg4.js.map → timezone-CjMKVlle.js.map} +1 -1
- package/dist/{tooltip-CSEHlVvW.cjs → tooltip-B8YU69FO.cjs} +2 -2
- package/dist/{tooltip-CSEHlVvW.cjs.map → tooltip-B8YU69FO.cjs.map} +1 -1
- package/dist/{tooltip-CFk8KeLc.js → tooltip-BorRixOk.js} +2 -2
- package/dist/{tooltip-CFk8KeLc.js.map → tooltip-BorRixOk.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-CJY3ap30.js → tree-DQi0dyBy.js} +2 -2
- package/dist/{tree-CJY3ap30.js.map → tree-DQi0dyBy.js.map} +1 -1
- package/dist/{tree-BLKCCTAY.cjs → tree-jWKUZns-.cjs} +2 -2
- package/dist/{tree-BLKCCTAY.cjs.map → tree-jWKUZns-.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-DXZBcC_w.cjs → typewriter-BCVmjF7y.cjs} +2 -2
- package/dist/{typewriter-DXZBcC_w.cjs.map → typewriter-BCVmjF7y.cjs.map} +1 -1
- package/dist/{typewriter-BQXUH0iw.js → typewriter-GHGwLOWk.js} +4 -4
- package/dist/{typewriter-BQXUH0iw.js.map → typewriter-GHGwLOWk.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-LaiF0NZy.cjs → typography-BIHYyI6-.cjs} +2 -2
- package/dist/{typography-LaiF0NZy.cjs.map → typography-BIHYyI6-.cjs.map} +1 -1
- package/dist/{typography-Di9dJ773.js → typography-DsKadWmR.js} +2 -2
- package/dist/{typography-Di9dJ773.js.map → typography-DsKadWmR.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/details/details.d.ts +22 -2
- package/dist/avatar-BnhiKcim.js.map +0 -1
- package/dist/avatar-DNiWurOB.cjs.map +0 -1
- package/dist/details-DMIt_WDC.js +0 -95
- package/dist/details-DMIt_WDC.js.map +0 -1
- package/dist/details-ca1aYzkG.cjs +0 -69
- package/dist/details-ca1aYzkG.cjs.map +0 -1
- package/dist/tailwind.mixin-B-Iki5zy.cjs +0 -2
- package/dist/tailwind.mixin-DBQpFzVL.js +0 -43
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delay-DcuTxFvb.js","sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../node_modules/@lit-labs/motion/position.js","../src/utils/hashContent.ts","../src/delay/delay.ts"],"sourcesContent":["const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach((i=>i.webAnimation?.pause()))}play(){this.clients.forEach((i=>i.webAnimation?.play()))}cancel(){this.clients.forEach((i=>i.webAnimation?.cancel())),this.clients.clear()}finish(){this.clients.forEach((i=>i.webAnimation?.finish())),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some((i=>\"running\"===i.webAnimation?.playState))}async finished(){await Promise.all(Array.from(this.clients).map((i=>i.finished)))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise((t=>requestAnimationFrame(t))),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise((t=>{this.l=t}))}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then((t=>this.t=!0)),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.p(i),this.render(i)}p(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}m(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach((e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o})),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every(((t,s)=>t===i[s])))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.O(),s=this.j(this.options.keyframeOptions,i),e=this.m();if(void 0!==this.A){const{from:s,to:h}=this.N(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.N(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach((t=>t.zIndex=o))}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.P&&(this.element.setAttribute(\"style\",this.P??\"\"),this.P=void 0)}commitStyles(){this.P=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.m();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then((()=>{n.add(this.u)})),t}j(t,i=this.O()){const s={...A};return i.forEach((t=>Object.assign(s,t.options.keyframeOptions))),Object.assign(s,t),s}N(t,i,s){t={...t},i={...i};const e=s.map((t=>t.animatingProperties)).filter((t=>void 0!==t));let h=1,o=1;return e.length>0&&(e.forEach((t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)})),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as o}from\"lit/async-directive.js\";const r=[\"top\",\"right\",\"bottom\",\"left\"];class e extends o{constructor(t){if(super(t),t.type!==s.ELEMENT)throw Error(\"The `position` directive must be used in attribute position.\")}render(i,s){return t}update(t,[i,s]){return void 0===this.u&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=i,this.F=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.$()}$(){const t=\"function\"==typeof this.C?this.C():this.C?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.F?.forEach((t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.S.style[t]=i+\"px\"}))}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\n","export default function (content: string): string {\n\tconst fnvOffsetBasis = 0x811c9dc5\n\tconst fnvPrime = 0x01000193\n\tlet hash = fnvOffsetBasis\n\n\tfor (let i = 0; i < content.length; i++) {\n\t\thash ^= content.charCodeAt(i)\n\t\thash = (hash * fnvPrime) >>> 0 // Ensure unsigned 32-bit integer\n\t}\n\n\treturn hash.toString(16) // Convert to hexadecimal string for compactness\n}\n","import { animate, fadeIn, flyAbove, flyBelow } from '@lit-labs/motion'\nimport { consume, createContext, provide } from '@lit/context'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { timer } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nexport const delayContext = createContext<number>('delay-context')\n\n@customElement('schmancy-delay')\nexport class SchmancyDelay extends $LitElement() {\n\t@property({ type: Number, reflect: true }) delay = 0 // Delay in milliseconds\n\t@property({ type: String }) motion = 'flyBelow' // Motion type (default: flyBelow)\n\t@state() private rendered = false // Tracks if the content is rendered\n\t@consume({ context: delayContext, subscribe: true }) parentDelay = 0 // Consumes the parent's delay value\n\t@provide({ context: delayContext }) effectiveDelay = 0 // Provides the effective delay to children\n\n\t@property({ type: Boolean }) once? = true // Only render once per session\n\n\tprivate sessionKey = '' // Unique session key\n\tprivate mutationObserver?: MutationObserver\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tassignedElements: HTMLElement[]\n\tfirstUpdated() {\n\t\tthis.observeSlotChanges()\n\t\tthis.updateRenderState()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.mutationObserver?.disconnect() // Clean up the observer\n\t}\n\n\tprivate observeSlotChanges() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (!slot) return\n\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t// Update session key when children change\n\t\t\tthis.sessionKey = this.generateSessionKey()\n\t\t})\n\n\t\tthis.mutationObserver.observe(slot, { childList: true, subtree: true })\n\t}\n\n\tprivate getTotalSiblingDelay(element: HTMLElement | null): number {\n\t\tif (!element || !(element instanceof HTMLElement)) return 0\n\n\t\tlet totalDelay = 0\n\t\tlet sibling = element.previousElementSibling // Start with the previous sibling\n\n\t\twhile (sibling) {\n\t\t\t// Check if the sibling is a `schmancy-delay` and add its delay\n\t\t\tif (sibling instanceof SchmancyDelay) {\n\t\t\t\ttotalDelay += sibling.delay\n\t\t\t}\n\t\t\t// Move to the previous sibling\n\t\t\tsibling = sibling.previousElementSibling\n\t\t}\n\n\t\t// Traverse up the tree and repeat for the parent node\n\t\tif (element.parentElement) {\n\t\t\ttotalDelay += this.getTotalSiblingDelay(element.parentElement)\n\t\t}\n\n\t\treturn totalDelay\n\t}\n\n\tprivate updateRenderState() {\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.rendered = true\n\t\t\treturn\n\t\t}\n\n\t\t// Calculate the effective delay (parent + self + all preceding siblings)\n\t\tconst siblingDelay = this.getTotalSiblingDelay(this)\n\t\tthis.effectiveDelay = this.delay + this.parentDelay + siblingDelay\n\n\t\t// Start the delay timer\n\t\ttimer(this.effectiveDelay)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.rendered = true // Render content after delay\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this.assignedElements.map(el => el.outerHTML).join('')\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\n\tprivate get motionLit(): any {\n\t\treturn this.motion === 'flyBelow' ? flyBelow : this.motion === 'flyAbove' ? flyAbove : fadeIn\n\t}\n\n\trender() {\n\t\treturn cache(\n\t\t\tthis.rendered\n\t\t\t\t? html`<div\n\t\t\t\t\t\t${animate({\n\t\t\t\t\t\t\tin: this.motionLit, // Use the provided motion type\n\t\t\t\t\t\t\tkeyframeOptions: { duration: 300, easing: 'ease-out' },\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>`\n\t\t\t\t: html`\n\t\t\t\t\t\t<section style=\"display: none;\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t`,\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-delay': SchmancyDelay\n\t}\n}\n"],"names":["i","WeakMap","o","r","Map","n","WeakSet","a","Promise","t","requestAnimationFrame","c","transform","opacity","l","v","g","s","w","N","left","value","isNaN","top","width","e","overrideFrom","height","A","duration","easing","b","j","F","super","this","h","shouldLog","type","CHILD","Error","createFinished","resolveFinished","finished","getController","get","u","options","disabled","host","addController","updateComplete","then","element","set","optionsOrCallback","p","render","defaultOptions","keyframeOptions","properties","m","getBoundingClientRect","getComputedStyle","forEach","Number","guard","Array","isArray","length","every","_","isDisabled","isAnimating","isConnected","from","hostUpdate","parentNode","nextSibling","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","getAttribute","webAnimation","commitStyles","cancel","reconnected","disconnected","id","out","insertBefore","stabilizeOut","position","style","remove","start","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","hostUpdated","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","constructor","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","firstUpdated","observeSlotChanges","updateRenderState","disconnectedCallback","mutationObserver","disconnect","slot","shadowRoot","querySelector","MutationObserver","generateSessionKey","observe","childList","subtree","HTMLElement","totalDelay","sibling","previousElementSibling","parentElement","getTotalSiblingDelay","sessionStorage","getItem","siblingDelay","timer","pipe","takeUntil","disconnecting","subscribe","setItem","error","slotContent","assignedElements","el","outerHTML","join","flyBelow","flyAbove","fadeIn","cache","html","motionLit","__decorateClass","property","reflect","prototype","String","state","consume","context","provide","Boolean","queryAssignedElements","flatten","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"delay-CXAQP1GR.js","sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../node_modules/@lit-labs/motion/position.js","../src/utils/hashContent.ts","../src/delay/delay.ts"],"sourcesContent":["const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach((i=>i.webAnimation?.pause()))}play(){this.clients.forEach((i=>i.webAnimation?.play()))}cancel(){this.clients.forEach((i=>i.webAnimation?.cancel())),this.clients.clear()}finish(){this.clients.forEach((i=>i.webAnimation?.finish())),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some((i=>\"running\"===i.webAnimation?.playState))}async finished(){await Promise.all(Array.from(this.clients).map((i=>i.finished)))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise((t=>requestAnimationFrame(t))),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise((t=>{this.l=t}))}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then((t=>this.t=!0)),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.p(i),this.render(i)}p(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}m(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach((e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o})),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every(((t,s)=>t===i[s])))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.O(),s=this.j(this.options.keyframeOptions,i),e=this.m();if(void 0!==this.A){const{from:s,to:h}=this.N(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.N(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach((t=>t.zIndex=o))}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.P&&(this.element.setAttribute(\"style\",this.P??\"\"),this.P=void 0)}commitStyles(){this.P=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.m();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then((()=>{n.add(this.u)})),t}j(t,i=this.O()){const s={...A};return i.forEach((t=>Object.assign(s,t.options.keyframeOptions))),Object.assign(s,t),s}N(t,i,s){t={...t},i={...i};const e=s.map((t=>t.animatingProperties)).filter((t=>void 0!==t));let h=1,o=1;return e.length>0&&(e.forEach((t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)})),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as o}from\"lit/async-directive.js\";const r=[\"top\",\"right\",\"bottom\",\"left\"];class e extends o{constructor(t){if(super(t),t.type!==s.ELEMENT)throw Error(\"The `position` directive must be used in attribute position.\")}render(i,s){return t}update(t,[i,s]){return void 0===this.u&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=i,this.F=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.$()}$(){const t=\"function\"==typeof this.C?this.C():this.C?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.F?.forEach((t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.S.style[t]=i+\"px\"}))}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\n","export default function (content: string): string {\n\tconst fnvOffsetBasis = 0x811c9dc5\n\tconst fnvPrime = 0x01000193\n\tlet hash = fnvOffsetBasis\n\n\tfor (let i = 0; i < content.length; i++) {\n\t\thash ^= content.charCodeAt(i)\n\t\thash = (hash * fnvPrime) >>> 0 // Ensure unsigned 32-bit integer\n\t}\n\n\treturn hash.toString(16) // Convert to hexadecimal string for compactness\n}\n","import { animate, fadeIn, flyAbove, flyBelow } from '@lit-labs/motion'\nimport { consume, createContext, provide } from '@lit/context'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { timer } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nexport const delayContext = createContext<number>('delay-context')\n\n@customElement('schmancy-delay')\nexport class SchmancyDelay extends $LitElement() {\n\t@property({ type: Number, reflect: true }) delay = 0 // Delay in milliseconds\n\t@property({ type: String }) motion = 'flyBelow' // Motion type (default: flyBelow)\n\t@state() private rendered = false // Tracks if the content is rendered\n\t@consume({ context: delayContext, subscribe: true }) parentDelay = 0 // Consumes the parent's delay value\n\t@provide({ context: delayContext }) effectiveDelay = 0 // Provides the effective delay to children\n\n\t@property({ type: Boolean }) once? = true // Only render once per session\n\n\tprivate sessionKey = '' // Unique session key\n\tprivate mutationObserver?: MutationObserver\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tassignedElements: HTMLElement[]\n\tfirstUpdated() {\n\t\tthis.observeSlotChanges()\n\t\tthis.updateRenderState()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.mutationObserver?.disconnect() // Clean up the observer\n\t}\n\n\tprivate observeSlotChanges() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (!slot) return\n\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t// Update session key when children change\n\t\t\tthis.sessionKey = this.generateSessionKey()\n\t\t})\n\n\t\tthis.mutationObserver.observe(slot, { childList: true, subtree: true })\n\t}\n\n\tprivate getTotalSiblingDelay(element: HTMLElement | null): number {\n\t\tif (!element || !(element instanceof HTMLElement)) return 0\n\n\t\tlet totalDelay = 0\n\t\tlet sibling = element.previousElementSibling // Start with the previous sibling\n\n\t\twhile (sibling) {\n\t\t\t// Check if the sibling is a `schmancy-delay` and add its delay\n\t\t\tif (sibling instanceof SchmancyDelay) {\n\t\t\t\ttotalDelay += sibling.delay\n\t\t\t}\n\t\t\t// Move to the previous sibling\n\t\t\tsibling = sibling.previousElementSibling\n\t\t}\n\n\t\t// Traverse up the tree and repeat for the parent node\n\t\tif (element.parentElement) {\n\t\t\ttotalDelay += this.getTotalSiblingDelay(element.parentElement)\n\t\t}\n\n\t\treturn totalDelay\n\t}\n\n\tprivate updateRenderState() {\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.rendered = true\n\t\t\treturn\n\t\t}\n\n\t\t// Calculate the effective delay (parent + self + all preceding siblings)\n\t\tconst siblingDelay = this.getTotalSiblingDelay(this)\n\t\tthis.effectiveDelay = this.delay + this.parentDelay + siblingDelay\n\n\t\t// Start the delay timer\n\t\ttimer(this.effectiveDelay)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.rendered = true // Render content after delay\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this.assignedElements.map(el => el.outerHTML).join('')\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\n\tprivate get motionLit(): any {\n\t\treturn this.motion === 'flyBelow' ? flyBelow : this.motion === 'flyAbove' ? flyAbove : fadeIn\n\t}\n\n\trender() {\n\t\treturn cache(\n\t\t\tthis.rendered\n\t\t\t\t? html`<div\n\t\t\t\t\t\t${animate({\n\t\t\t\t\t\t\tin: this.motionLit, // Use the provided motion type\n\t\t\t\t\t\t\tkeyframeOptions: { duration: 300, easing: 'ease-out' },\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>`\n\t\t\t\t: html`\n\t\t\t\t\t\t<section style=\"display: none;\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t`,\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-delay': SchmancyDelay\n\t}\n}\n"],"names":["i","WeakMap","o","r","Map","n","WeakSet","a","Promise","t","requestAnimationFrame","c","transform","opacity","l","v","g","s","w","N","left","value","isNaN","top","width","e","overrideFrom","height","A","duration","easing","b","j","F","super","this","h","shouldLog","type","CHILD","Error","createFinished","resolveFinished","finished","getController","get","u","options","disabled","host","addController","updateComplete","then","element","set","optionsOrCallback","p","render","defaultOptions","keyframeOptions","properties","m","getBoundingClientRect","getComputedStyle","forEach","Number","guard","Array","isArray","length","every","_","isDisabled","isAnimating","isConnected","from","hostUpdate","parentNode","nextSibling","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","getAttribute","webAnimation","commitStyles","cancel","reconnected","disconnected","id","out","insertBefore","stabilizeOut","position","style","remove","start","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","hostUpdated","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","constructor","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","firstUpdated","observeSlotChanges","updateRenderState","disconnectedCallback","mutationObserver","disconnect","slot","shadowRoot","querySelector","MutationObserver","generateSessionKey","observe","childList","subtree","HTMLElement","totalDelay","sibling","previousElementSibling","parentElement","getTotalSiblingDelay","sessionStorage","getItem","siblingDelay","timer","pipe","takeUntil","disconnecting","subscribe","setItem","error","slotContent","assignedElements","el","outerHTML","join","flyBelow","flyAbove","fadeIn","cache","html","motionLit","__decorateClass","property","reflect","prototype","String","state","consume","context","provide","Boolean","queryAssignedElements","flatten","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
package/dist/delay.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./delay-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./delay-B_M7fPe5.cjs");Object.defineProperty(exports,"SchmancyDelay",{enumerable:!0,get:()=>e.SchmancyDelay}),exports.delayContext=e.delayContext;
|
|
2
2
|
//# sourceMappingURL=delay.cjs.map
|
package/dist/delay.js
CHANGED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";const c=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const o=require("lit/decorators.js"),d=require("./tailwind.mixin-D2o72t31.cjs"),l=require("lit"),h=require("lit/directives/when.js"),u=require("rxjs/operators");var m=Object.defineProperty,y=Object.getOwnPropertyDescriptor,r=(e,t,a,i)=>{for(var s,n=i>1?void 0:i?y(t,a):t,p=e.length-1;p>=0;p--)(s=e[p])&&(n=(i?s(t,a,n):s(n))||n);return i&&n&&m(t,a,n),n};exports.SchmancyDetails=class extends d.TailwindElement(l.css`
|
|
2
|
+
:host {
|
|
3
|
+
display: block;
|
|
4
|
+
position: relative;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/* Hide browser default marker */
|
|
8
|
+
summary::-webkit-details-marker {
|
|
9
|
+
display: none;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
summary {
|
|
13
|
+
list-style: none;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/* Container border-radius following M3 spec */
|
|
17
|
+
details {
|
|
18
|
+
border-radius: 12px; /* M3 medium component radius */
|
|
19
|
+
transition: all 200ms cubic-bezier(0.2, 0, 0, 1); /* M3 standard easing */
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* Variant-specific styles */
|
|
23
|
+
:host([variant='outlined']) details {
|
|
24
|
+
border: 1px solid var(--schmancy-sys-color-outline-variant);
|
|
25
|
+
background-color: var(--schmancy-sys-color-surface-default);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
:host([variant='filled']) details {
|
|
29
|
+
background-color: var(--schmancy-sys-color-surface-container);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
:host([variant='elevated']) details {
|
|
33
|
+
background-color: var(--schmancy-sys-color-surface-low);
|
|
34
|
+
box-shadow: var(--schmancy-sys-elevation-1);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
:host([variant='elevated']) details[open] {
|
|
38
|
+
box-shadow: var(--schmancy-sys-elevation-2);
|
|
39
|
+
background-color: var(--schmancy-sys-color-surface-container);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* Content animation */
|
|
43
|
+
@keyframes slideDown {
|
|
44
|
+
from {
|
|
45
|
+
opacity: 0;
|
|
46
|
+
transform: translateY(-8px);
|
|
47
|
+
}
|
|
48
|
+
to {
|
|
49
|
+
opacity: 1;
|
|
50
|
+
transform: translateY(0);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.content-wrapper[data-open='true'] {
|
|
55
|
+
animation: slideDown 250ms cubic-bezier(0.2, 0, 0, 1);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* Ripple effect */
|
|
59
|
+
@keyframes ripple {
|
|
60
|
+
to {
|
|
61
|
+
transform: scale(4);
|
|
62
|
+
opacity: 0;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/* Focus ring following M3 spec */
|
|
67
|
+
summary:focus-visible {
|
|
68
|
+
outline: 2px solid var(--schmancy-sys-color-primary-default);
|
|
69
|
+
outline-offset: 2px;
|
|
70
|
+
border-radius: 12px;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/* Icon rotation transition */
|
|
74
|
+
.icon-wrapper {
|
|
75
|
+
transition: transform 200ms cubic-bezier(0.2, 0, 0, 1);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.icon-wrapper[data-open='true'] {
|
|
79
|
+
transform: rotate(90deg);
|
|
80
|
+
}
|
|
81
|
+
`){constructor(){super(...arguments),this.summary="",this.variant="default",this.ripples=[],this.pressed=!1,this._isOpen=!1,this.nextRippleId=0,this._open$=new c.BehaviorSubject(!1)}get open(){return this._open$.value}set open(e){this._open$.value!==e&&this._open$.next(e)}connectedCallback(){super.connectedCallback(),this._open$.pipe(u.tap(e=>{this._isOpen=e,this.requestUpdate()}),c.takeUntil(this.disconnecting)).subscribe()}render(){const e=this.classMap({"cursor-pointer":!0,"select-none":!0,relative:!0,flex:!0,"items-center":!0,"gap-3":!0,"min-h-[48px]":!0,"sm:min-h-[56px]":!0,"px-4":!0,"sm:px-6":!0,"py-3":!0,"sm:py-4":!0,"rounded-xl":!0,"transition-colors":!0,"duration-200":!0,"text-surface-on":!0,group:!0}),t=this.classMap({absolute:!0,"inset-0":!0,"rounded-xl":!0,"pointer-events-none":!0,"transition-opacity":!0,"duration-200":!0,"bg-surface-on":!0,[this.pressed?"opacity-[0.12]":this.variant==="default"?"opacity-0 hover:opacity-[0.08]":"opacity-0 hover:opacity-[0.04]"]:!0}),a=this.classMap({"px-4":!0,"sm:px-6":!0,"pb-3":!0,"sm:pb-4":!0,"text-surface-onVariant":!0,"text-sm":!0,"sm:text-base":!0}),i=this.classMap({flex:!0,"items-center":!0,"justify-center":!0,"w-6":!0,"h-6":!0,"rounded-full":!0,"flex-shrink-0":!0,"text-surface-onVariant":!0,"group-hover:text-surface-on":!0,"transition-all":!0,"duration-200":!0});return l.html`
|
|
82
|
+
<details
|
|
83
|
+
?open=${this._isOpen}
|
|
84
|
+
@toggle=${this._handleToggle}
|
|
85
|
+
class="w-full overflow-hidden"
|
|
86
|
+
>
|
|
87
|
+
<summary
|
|
88
|
+
class=${e}
|
|
89
|
+
@click=${this._handleClick}
|
|
90
|
+
@mousedown=${this._handleMouseDown}
|
|
91
|
+
@mouseup=${this._handleMouseUp}
|
|
92
|
+
@mouseleave=${this._handleMouseLeave}
|
|
93
|
+
@keydown=${this._handleKeyDown}
|
|
94
|
+
@keyup=${this._handleKeyUp}
|
|
95
|
+
tabindex="0"
|
|
96
|
+
>
|
|
97
|
+
<!-- State layer for hover/focus/pressed states -->
|
|
98
|
+
<div class=${t}></div>
|
|
99
|
+
|
|
100
|
+
<!-- Ripple container -->
|
|
101
|
+
<div class="absolute inset-0 rounded-xl overflow-hidden pointer-events-none">
|
|
102
|
+
${this.ripples.map(s=>l.html`
|
|
103
|
+
<span
|
|
104
|
+
class="absolute rounded-full scale-0 animate-[ripple_600ms_linear] bg-surface-on opacity-[0.12] pointer-events-none"
|
|
105
|
+
style="
|
|
106
|
+
left: ${s.x}px;
|
|
107
|
+
top: ${s.y}px;
|
|
108
|
+
width: 20px;
|
|
109
|
+
height: 20px;
|
|
110
|
+
margin-left: -10px;
|
|
111
|
+
margin-top: -10px;
|
|
112
|
+
"
|
|
113
|
+
></span>
|
|
114
|
+
`)}
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
<!-- Summary content -->
|
|
118
|
+
<span class="relative flex-1 font-medium text-base sm:text-lg z-10">
|
|
119
|
+
<slot name="summary">${this.summary}</slot>
|
|
120
|
+
</span>
|
|
121
|
+
|
|
122
|
+
<!-- Expand/collapse icon -->
|
|
123
|
+
<span
|
|
124
|
+
class=${i}
|
|
125
|
+
data-open=${this._isOpen}
|
|
126
|
+
style="transform: rotate(${this._isOpen?"90deg":"0deg"})"
|
|
127
|
+
>
|
|
128
|
+
<svg
|
|
129
|
+
width="24"
|
|
130
|
+
height="24"
|
|
131
|
+
viewBox="0 0 24 24"
|
|
132
|
+
fill="none"
|
|
133
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
134
|
+
class="w-5 h-5 sm:w-6 sm:h-6"
|
|
135
|
+
>
|
|
136
|
+
<path
|
|
137
|
+
d="M9 6L15 12L9 18"
|
|
138
|
+
stroke="currentColor"
|
|
139
|
+
stroke-width="2"
|
|
140
|
+
stroke-linecap="round"
|
|
141
|
+
stroke-linejoin="round"
|
|
142
|
+
/>
|
|
143
|
+
</svg>
|
|
144
|
+
</span>
|
|
145
|
+
</summary>
|
|
146
|
+
|
|
147
|
+
<!-- Content area -->
|
|
148
|
+
<div
|
|
149
|
+
class=${a}
|
|
150
|
+
data-open=${this._isOpen}
|
|
151
|
+
style="${this._isOpen?"":"display: none;"}"
|
|
152
|
+
>
|
|
153
|
+
${h.when(this._isOpen,()=>l.html`
|
|
154
|
+
<div class="content-wrapper" data-open=${this._isOpen}>
|
|
155
|
+
<slot></slot>
|
|
156
|
+
</div>
|
|
157
|
+
`)}
|
|
158
|
+
</div>
|
|
159
|
+
</details>
|
|
160
|
+
`}_handleToggle(e){const t=e.target;this._open$.next(t.open),this.dispatchEvent(new CustomEvent("toggle",{detail:{open:t.open},bubbles:!0,composed:!0}))}_handleClick(e){e.preventDefault();const t=e.currentTarget.getBoundingClientRect(),a=e.clientX-t.left,i=e.clientY-t.top,s=this.nextRippleId++;this.ripples=[...this.ripples,{x:a,y:i,id:s}],setTimeout(()=>{this.ripples=this.ripples.filter(n=>n.id!==s)},600),this._open$.next(!this._open$.value),this.dispatchEvent(new CustomEvent("toggle",{detail:{open:this._open$.value},bubbles:!0,composed:!0}))}_handleMouseDown(){this.pressed=!0}_handleMouseUp(){this.pressed=!1}_handleMouseLeave(){this.pressed=!1}_handleKeyDown(e){if(e.key==="Enter"||e.key===" "){e.preventDefault(),this.pressed=!0;const t=e.currentTarget.getBoundingClientRect(),a=t.width/2,i=t.height/2,s=this.nextRippleId++;this.ripples=[...this.ripples,{x:a,y:i,id:s}],setTimeout(()=>{this.ripples=this.ripples.filter(n=>n.id!==s)},600),this._open$.next(!this._open$.value),this.dispatchEvent(new CustomEvent("toggle",{detail:{open:this._open$.value},bubbles:!0,composed:!0}))}}_handleKeyUp(e){e.key!=="Enter"&&e.key!==" "||(this.pressed=!1)}},exports.SchmancyDetails.shadowRootOptions={...l.LitElement.shadowRootOptions,mode:"open",delegatesFocus:!0},r([o.property()],exports.SchmancyDetails.prototype,"summary",2),r([o.property({type:Boolean,reflect:!0})],exports.SchmancyDetails.prototype,"open",1),r([o.property({reflect:!0})],exports.SchmancyDetails.prototype,"variant",2),r([o.state()],exports.SchmancyDetails.prototype,"ripples",2),r([o.state()],exports.SchmancyDetails.prototype,"pressed",2),r([o.state()],exports.SchmancyDetails.prototype,"_isOpen",2),exports.SchmancyDetails=r([o.customElement("schmancy-details")],exports.SchmancyDetails);
|
|
161
|
+
//# sourceMappingURL=details-Chfs-oHV.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"details-Chfs-oHV.cjs","sources":["../src/details/details.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\r\nimport { css, html, LitElement } from 'lit'\r\nimport { customElement, property, state } from 'lit/decorators.js'\r\nimport { when } from 'lit/directives/when.js'\r\nimport { BehaviorSubject, takeUntil } from 'rxjs'\r\nimport { tap } from 'rxjs/operators'\r\n\r\n@customElement('schmancy-details')\r\nexport default class SchmancyDetails extends TailwindElement(css`\r\n\t:host {\r\n\t\tdisplay: block;\r\n\t\tposition: relative;\r\n\t}\r\n\r\n\t/* Hide browser default marker */\r\n\tsummary::-webkit-details-marker {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\tsummary {\r\n\t\tlist-style: none;\r\n\t}\r\n\r\n\t/* Container border-radius following M3 spec */\r\n\tdetails {\r\n\t\tborder-radius: 12px; /* M3 medium component radius */\r\n\t\ttransition: all 200ms cubic-bezier(0.2, 0, 0, 1); /* M3 standard easing */\r\n\t}\r\n\r\n\t/* Variant-specific styles */\r\n\t:host([variant='outlined']) details {\r\n\t\tborder: 1px solid var(--schmancy-sys-color-outline-variant);\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\r\n\t}\r\n\r\n\t:host([variant='filled']) details {\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\r\n\t}\r\n\r\n\t:host([variant='elevated']) details {\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\r\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\r\n\t}\r\n\r\n\t:host([variant='elevated']) details[open] {\r\n\t\tbox-shadow: var(--schmancy-sys-elevation-2);\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\r\n\t}\r\n\r\n\t/* Content animation */\r\n\t@keyframes slideDown {\r\n\t\tfrom {\r\n\t\t\topacity: 0;\r\n\t\t\ttransform: translateY(-8px);\r\n\t\t}\r\n\t\tto {\r\n\t\t\topacity: 1;\r\n\t\t\ttransform: translateY(0);\r\n\t\t}\r\n\t}\r\n\r\n\t.content-wrapper[data-open='true'] {\r\n\t\tanimation: slideDown 250ms cubic-bezier(0.2, 0, 0, 1);\r\n\t}\r\n\r\n\t/* Ripple effect */\r\n\t@keyframes ripple {\r\n\t\tto {\r\n\t\t\ttransform: scale(4);\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t/* Focus ring following M3 spec */\r\n\tsummary:focus-visible {\r\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\r\n\t\toutline-offset: 2px;\r\n\t\tborder-radius: 12px;\r\n\t}\r\n\r\n\t/* Icon rotation transition */\r\n\t.icon-wrapper {\r\n\t\ttransition: transform 200ms cubic-bezier(0.2, 0, 0, 1);\r\n\t}\r\n\r\n\t.icon-wrapper[data-open='true'] {\r\n\t\ttransform: rotate(90deg);\r\n\t}\r\n`) {\r\n\tprotected static shadowRootOptions = {\r\n\t\t...LitElement.shadowRootOptions,\r\n\t\tmode: 'open' as const,\r\n\t\tdelegatesFocus: true,\r\n\t}\r\n\r\n\t@property() summary = ''\r\n\t@property({ type: Boolean, reflect: true })\r\n\tget open() {\r\n\t\treturn this._open$.value\r\n\t}\r\n\tset open(value: boolean) {\r\n\t\tif (this._open$.value !== value) {\r\n\t\t\tthis._open$.next(value)\r\n\t\t}\r\n\t}\r\n\t@property({ reflect: true }) variant: 'default' | 'outlined' | 'filled' | 'elevated' = 'default'\r\n\r\n\t// Internal state for ripple effects\r\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\r\n\t@state() private pressed = false\r\n\t@state() private _isOpen = false\r\n\r\n\tprivate nextRippleId = 0\r\n\tprivate _open$ = new BehaviorSubject<boolean>(false)\r\n\r\n\tconnectedCallback() {\r\n\t\tsuper.connectedCallback()\r\n\r\n\t\t// Subscribe to open state changes\r\n\t\tthis._open$.pipe(\r\n\t\t\ttap(isOpen => {\r\n\t\t\t\tthis._isOpen = isOpen\r\n\t\t\t\tthis.requestUpdate()\r\n\t\t\t}),\r\n\t\t\ttakeUntil(this.disconnecting)\r\n\t\t).subscribe()\r\n\t}\r\n\r\n\trender() {\r\n\t\t// Define state layer opacity based on variant and state\r\n\t\tconst getStateLayerOpacity = () => {\r\n\t\t\tif (this.pressed) return 'opacity-[0.12]' // M3 pressed state\r\n\t\t\tif (this.variant === 'default') {\r\n\t\t\t\treturn 'opacity-0 hover:opacity-[0.08]' // M3 hover state\r\n\t\t\t}\r\n\t\t\treturn 'opacity-0 hover:opacity-[0.04]' // Reduced for filled/elevated variants\r\n\t\t}\r\n\r\n\t\t// Summary classes following M3 specs\r\n\t\tconst summaryClasses = this.classMap({\r\n\t\t\t'cursor-pointer': true,\r\n\t\t\t'select-none': true,\r\n\t\t\t'relative': true,\r\n\t\t\t'flex': true,\r\n\t\t\t'items-center': true,\r\n\t\t\t'gap-3': true,\r\n\t\t\t'min-h-[48px]': true, // M3 minimum touch target\r\n\t\t\t'sm:min-h-[56px]': true, // Desktop size\r\n\t\t\t'px-4': true, // M3 standard padding\r\n\t\t\t'sm:px-6': true,\r\n\t\t\t'py-3': true,\r\n\t\t\t'sm:py-4': true,\r\n\t\t\t'rounded-xl': true, // Match container radius\r\n\t\t\t'transition-colors': true,\r\n\t\t\t'duration-200': true,\r\n\t\t\t'text-surface-on': true,\r\n\t\t\t'group': true, // For hover states on icon\r\n\t\t})\r\n\r\n\t\t// State layer for interactive feedback\r\n\t\tconst stateLayerClasses = this.classMap({\r\n\t\t\t'absolute': true,\r\n\t\t\t'inset-0': true,\r\n\t\t\t'rounded-xl': true,\r\n\t\t\t'pointer-events-none': true,\r\n\t\t\t'transition-opacity': true,\r\n\t\t\t'duration-200': true,\r\n\t\t\t'bg-surface-on': true,\r\n\t\t\t[getStateLayerOpacity()]: true,\r\n\t\t})\r\n\r\n\t\t// Content wrapper classes\r\n\t\tconst contentClasses = this.classMap({\r\n\t\t\t'px-4': true,\r\n\t\t\t'sm:px-6': true,\r\n\t\t\t'pb-3': true,\r\n\t\t\t'sm:pb-4': true,\r\n\t\t\t'text-surface-onVariant': true,\r\n\t\t\t'text-sm': true,\r\n\t\t\t'sm:text-base': true,\r\n\t\t})\r\n\r\n\t\t// Icon classes with group hover\r\n\t\tconst iconClasses = this.classMap({\r\n\t\t\t'flex': true,\r\n\t\t\t'items-center': true,\r\n\t\t\t'justify-center': true,\r\n\t\t\t'w-6': true,\r\n\t\t\t'h-6': true,\r\n\t\t\t'rounded-full': true,\r\n\t\t\t'flex-shrink-0': true,\r\n\t\t\t'text-surface-onVariant': true,\r\n\t\t\t'group-hover:text-surface-on': true,\r\n\t\t\t'transition-all': true,\r\n\t\t\t'duration-200': true,\r\n\t\t})\r\n\r\n\t\treturn html`\r\n\t\t\t<details\r\n\t\t\t\t?open=${this._isOpen}\r\n\t\t\t\t@toggle=${this._handleToggle}\r\n\t\t\t\tclass=\"w-full overflow-hidden\"\r\n\t\t\t>\r\n\t\t\t\t<summary\r\n\t\t\t\t\tclass=${summaryClasses}\r\n\t\t\t\t\t@click=${this._handleClick}\r\n\t\t\t\t\t@mousedown=${this._handleMouseDown}\r\n\t\t\t\t\t@mouseup=${this._handleMouseUp}\r\n\t\t\t\t\t@mouseleave=${this._handleMouseLeave}\r\n\t\t\t\t\t@keydown=${this._handleKeyDown}\r\n\t\t\t\t\t@keyup=${this._handleKeyUp}\r\n\t\t\t\t\ttabindex=\"0\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<!-- State layer for hover/focus/pressed states -->\r\n\t\t\t\t\t<div class=${stateLayerClasses}></div>\r\n\r\n\t\t\t\t\t<!-- Ripple container -->\r\n\t\t\t\t\t<div class=\"absolute inset-0 rounded-xl overflow-hidden pointer-events-none\">\r\n\t\t\t\t\t\t${this.ripples.map(\r\n\t\t\t\t\t\t\tripple => html`\r\n\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\tclass=\"absolute rounded-full scale-0 animate-[ripple_600ms_linear] bg-surface-on opacity-[0.12] pointer-events-none\"\r\n\t\t\t\t\t\t\t\t\tstyle=\"\r\n\t\t\t\t\t\t\t\t\t\tleft: ${ripple.x}px;\r\n\t\t\t\t\t\t\t\t\t\ttop: ${ripple.y}px;\r\n\t\t\t\t\t\t\t\t\t\twidth: 20px;\r\n\t\t\t\t\t\t\t\t\t\theight: 20px;\r\n\t\t\t\t\t\t\t\t\t\tmargin-left: -10px;\r\n\t\t\t\t\t\t\t\t\t\tmargin-top: -10px;\r\n\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t></span>\r\n\t\t\t\t\t\t\t`,\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<!-- Summary content -->\r\n\t\t\t\t\t<span class=\"relative flex-1 font-medium text-base sm:text-lg z-10\">\r\n\t\t\t\t\t\t<slot name=\"summary\">${this.summary}</slot>\r\n\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t<!-- Expand/collapse icon -->\r\n\t\t\t\t\t<span\r\n\t\t\t\t\t\tclass=${iconClasses}\r\n\t\t\t\t\t\tdata-open=${this._isOpen}\r\n\t\t\t\t\t\tstyle=\"transform: rotate(${this._isOpen ? '90deg' : '0deg'})\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<svg\r\n\t\t\t\t\t\t\twidth=\"24\"\r\n\t\t\t\t\t\t\theight=\"24\"\r\n\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\r\n\t\t\t\t\t\t\tfill=\"none\"\r\n\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\t\t\t\t\tclass=\"w-5 h-5 sm:w-6 sm:h-6\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<path\r\n\t\t\t\t\t\t\t\td=\"M9 6L15 12L9 18\"\r\n\t\t\t\t\t\t\t\tstroke=\"currentColor\"\r\n\t\t\t\t\t\t\t\tstroke-width=\"2\"\r\n\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\r\n\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</summary>\r\n\r\n\t\t\t\t<!-- Content area -->\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=${contentClasses}\r\n\t\t\t\t\tdata-open=${this._isOpen}\r\n\t\t\t\t\tstyle=\"${this._isOpen ? '' : 'display: none;'}\"\r\n\t\t\t\t>\r\n\t\t\t\t\t${when(\r\n\t\t\t\t\t\tthis._isOpen,\r\n\t\t\t\t\t\t() => html`\r\n\t\t\t\t\t\t\t<div class=\"content-wrapper\" data-open=${this._isOpen}>\r\n\t\t\t\t\t\t\t\t<slot></slot>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t`\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\t\t\t</details>\r\n\t\t`\r\n\t}\r\n\r\n\tprivate _handleToggle(e: Event) {\r\n\t\tconst details = e.target as HTMLDetailsElement\r\n\t\t// Sync the internal state with the actual details element state\r\n\t\tthis._open$.next(details.open)\r\n\r\n\t\t// Dispatch custom event\r\n\t\tthis.dispatchEvent(\r\n\t\t\tnew CustomEvent('toggle', {\r\n\t\t\t\tdetail: { open: details.open },\r\n\t\t\t\tbubbles: true,\r\n\t\t\t\tcomposed: true,\r\n\t\t\t}),\r\n\t\t)\r\n\t}\r\n\r\n\tprivate _handleClick(e: MouseEvent) {\r\n\t\t// Prevent default to control the toggle manually\r\n\t\te.preventDefault()\r\n\r\n\t\t// Add ripple effect at click position\r\n\t\tconst rect = (e.currentTarget as HTMLElement).getBoundingClientRect()\r\n\t\tconst x = e.clientX - rect.left\r\n\t\tconst y = e.clientY - rect.top\r\n\t\tconst id = this.nextRippleId++\r\n\r\n\t\tthis.ripples = [...this.ripples, { x, y, id }]\r\n\r\n\t\t// Remove ripple after animation\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\r\n\t\t}, 600)\r\n\r\n\t\t// Toggle the open state through the BehaviorSubject\r\n\t\tthis._open$.next(!this._open$.value)\r\n\r\n\t\t// Dispatch the toggle event\r\n\t\tthis.dispatchEvent(\r\n\t\t\tnew CustomEvent('toggle', {\r\n\t\t\t\tdetail: { open: this._open$.value },\r\n\t\t\t\tbubbles: true,\r\n\t\t\t\tcomposed: true,\r\n\t\t\t}),\r\n\t\t)\r\n\t}\r\n\r\n\tprivate _handleMouseDown() {\r\n\t\tthis.pressed = true\r\n\t}\r\n\r\n\tprivate _handleMouseUp() {\r\n\t\tthis.pressed = false\r\n\t}\r\n\r\n\tprivate _handleMouseLeave() {\r\n\t\tthis.pressed = false\r\n\t}\r\n\r\n\tprivate _handleKeyDown(e: KeyboardEvent) {\r\n\t\t// Handle keyboard activation\r\n\t\tif (e.key === 'Enter' || e.key === ' ') {\r\n\t\t\te.preventDefault()\r\n\t\t\tthis.pressed = true\r\n\r\n\t\t\t// Add ripple effect from center\r\n\t\t\tconst rect = (e.currentTarget as HTMLElement).getBoundingClientRect()\r\n\t\t\tconst x = rect.width / 2\r\n\t\t\tconst y = rect.height / 2\r\n\t\t\tconst id = this.nextRippleId++\r\n\r\n\t\t\tthis.ripples = [...this.ripples, { x, y, id }]\r\n\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\r\n\t\t\t}, 600)\r\n\r\n\t\t\t// Toggle the open state through the BehaviorSubject\r\n\t\t\tthis._open$.next(!this._open$.value)\r\n\r\n\t\t\t// Dispatch the toggle event\r\n\t\t\tthis.dispatchEvent(\r\n\t\t\t\tnew CustomEvent('toggle', {\r\n\t\t\t\t\tdetail: { open: this._open$.value },\r\n\t\t\t\t\tbubbles: true,\r\n\t\t\t\t\tcomposed: true,\r\n\t\t\t\t}),\r\n\t\t\t)\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _handleKeyUp(e: KeyboardEvent) {\r\n\t\tif (e.key === 'Enter' || e.key === ' ') {\r\n\t\t\tthis.pressed = false\r\n\t\t}\r\n\t}\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-details': SchmancyDetails\r\n\t}\r\n}\r\n"],"names":["SchmancyDetails","TailwindElement","css","super","arguments","this","summary","variant","ripples","pressed","_isOpen","nextRippleId","_open$","BehaviorSubject","open","value","next","connectedCallback","pipe","tap","isOpen","requestUpdate","takeUntil","disconnecting","subscribe","render","summaryClasses","classMap","relative","flex","group","stateLayerClasses","absolute","getStateLayerOpacity","contentClasses","iconClasses","html","_handleToggle","_handleClick","_handleMouseDown","_handleMouseUp","_handleMouseLeave","_handleKeyDown","_handleKeyUp","map","ripple","x","y","when","e","details","target","dispatchEvent","CustomEvent","detail","bubbles","composed","preventDefault","rect","currentTarget","getBoundingClientRect","clientX","left","clientY","top","id","setTimeout","filter","r","key","width","height","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","property","prototype","type","Boolean","reflect","state","customElement"],"mappings":"odAQqBA,QAAAA,gBAArB,cAA6CC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA7D,CAAA,CAAA,cAAAC,MAAAA,GAAAC,SAAAA,EAuFaC,KAAAC,QAAU,GAUOD,KAAAE,QAA0D,UAG9EF,KAAQG,QAAuD,CAAA,EAC/DH,KAAQI,QAAAA,GACRJ,KAAQK,QAAAA,GAEjBL,KAAQM,aAAe,EACvBN,KAAQO,OAAS,IAAIC,EAAAA,gBAAAA,EAAyB,CAAK,CAhBnD,IAAA,MAAIC,CACH,OAAOT,KAAKO,OAAOG,KACpB,CACA,IAAA,KAASA,EAAAA,CACJV,KAAKO,OAAOG,QAAUA,GACzBV,KAAKO,OAAOI,KAAKD,CAAAA,CAEnB,CAWA,mBAAAE,CACCd,MAAMc,oBAGNZ,KAAKO,OAAOM,KACXC,EAAAA,IAAIC,IACHf,KAAKK,QAAUU,EACff,KAAKgB,cAAAA,CAAAA,CAAAA,EAENC,EAAAA,UAAUjB,KAAKkB,gBACdC,UAAAA,CACH,CAEA,QAAAC,CAEC,MASMC,EAAiBrB,KAAKsB,SAAS,CACpC,iBAAA,GACA,iBACAC,SAAAA,GACAC,KAAAA,GACA,kBACA,QAAA,GACA,eAAA,GACA,qBACA,OAAA,GACA,UAAA,GACA,OAAA,GACA,aACA,aAAA,GACA,oBAAA,GACA,kBACA,kBAAA,GACAC,MAAAA,EAAS,CAAA,EAIJC,EAAoB1B,KAAKsB,SAAS,CACvCK,SAAAA,GACA,aACA,aAAA,GACA,sBAAA,GACA,wBACA,eAAA,GACA,gBAAA,GACA,CArCI3B,KAAKI,QAAgB,iBACrBJ,KAAKE,UAAY,UACb,iCAED,gCAiCN0B,EAAAA,EAAyB,CAAA,EAIrBC,EAAiB7B,KAAKsB,SAAS,CACpC,OAAA,GACA,aACA,OAAA,GACA,UAAA,GACA,4BACA,UAAA,GACA,eAAA,EAAgB,CAAA,EAIXQ,EAAc9B,KAAKsB,SAAS,CACjCE,KAAAA,GACA,kBACA,iBAAA,GACA,MAAA,GACA,SACA,eAAA,GACA,gBAAA,GACA,4BACA,8BAAA,GACA,iBAAA,GACA,iBAAgB,CAAA,EAGjB,OAAOO,EAAAA;AAAAA;AAAAA,YAEG/B,KAAKK,OAAAA;AAAAA,cACHL,KAAKgC,aAAAA;AAAAA;AAAAA;AAAAA;AAAAA,aAINX,CAAAA;AAAAA,cACCrB,KAAKiC,YAAAA;AAAAA,kBACDjC,KAAKkC,gBAAAA;AAAAA,gBACPlC,KAAKmC,cAAAA;AAAAA,mBACFnC,KAAKoC,iBAAAA;AAAAA,gBACRpC,KAAKqC,cAAAA;AAAAA,cACPrC,KAAKsC,YAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAIDZ,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAIV1B,KAAKG,QAAQoC,IACdC,GAAUT,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAICS,EAAOC,CAAAA;AAAAA,iBACRD,EAAOE,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;;;;;6BAaK1C,KAAKC,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,cAKpB6B,CAAAA;AAAAA,kBACI9B,KAAKK,OAAAA;AAAAA,iCACUL,KAAKK,QAAU,QAAU,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAuB7CwB,CAAAA;AAAAA,iBACI7B,KAAKK,OAAAA;AAAAA,cACRL,KAAKK,QAAU,GAAK,gBAAA;AAAA;AAAA,OAE3BsC,EAAAA,KACD3C,KAAKK,QACL,IAAM0B,EAAAA;AAAAA,gDACoC/B,KAAKK,OAAAA;AAAAA;AAAAA;AAAAA;;;GAQpD,CAEQ,cAAcuC,EAAAA,CACrB,MAAMC,EAAUD,EAAEE,OAElB9C,KAAKO,OAAOI,KAAKkC,EAAQpC,IAAAA,EAGzBT,KAAK+C,cACJ,IAAIC,YAAY,SAAU,CACzBC,OAAQ,CAAExC,KAAMoC,EAAQpC,IAAAA,EACxByC,QAAAA,GACAC,SAAAA,EAAU,CAAA,CAAA,CAGb,CAEQ,aAAaP,GAEpBA,EAAEQ,eAAAA,EAGF,MAAMC,EAAQT,EAAEU,cAA8BC,sBAAAA,EACxCd,EAAIG,EAAEY,QAAUH,EAAKI,KACrBf,EAAIE,EAAEc,QAAUL,EAAKM,IACrBC,EAAK5D,KAAKM,eAEhBN,KAAKG,QAAU,CAAA,GAAIH,KAAKG,QAAS,CAAEsC,IAAGC,EAAAA,EAAGkB,GAAAA,CAAAA,CAAAA,EAGzCC,WAAW,IAAA,CACV7D,KAAKG,QAAUH,KAAKG,QAAQ2D,OAAOC,GAAKA,EAAEH,KAAOA,CAAAA,CAAAA,EAC/C,GAAA,EAGH5D,KAAKO,OAAOI,KAAAA,CAAMX,KAAKO,OAAOG,KAAAA,EAG9BV,KAAK+C,cACJ,IAAIC,YAAY,SAAU,CACzBC,OAAQ,CAAExC,KAAMT,KAAKO,OAAOG,KAAAA,EAC5BwC,QAAAA,GACAC,SAAAA,KAGH,CAEQ,kBAAAjB,CACPlC,KAAKI,QAAAA,EACN,CAEQ,iBACPJ,KAAKI,QAAAA,EACN,CAEQ,mBAAAgC,CACPpC,KAAKI,QAAAA,EACN,CAEQ,eAAewC,EAAAA,CAEtB,GAAIA,EAAEoB,MAAQ,SAAWpB,EAAEoB,MAAQ,IAAK,CACvCpB,EAAEQ,eAAAA,EACFpD,KAAKI,QAAAA,GAGL,MAAMiD,EAAQT,EAAEU,cAA8BC,sBAAAA,EACxCd,EAAIY,EAAKY,MAAQ,EACjBvB,EAAIW,EAAKa,OAAS,EAClBN,EAAK5D,KAAKM,eAEhBN,KAAKG,QAAU,IAAIH,KAAKG,QAAS,CAAEsC,EAAAA,EAAGC,EAAAA,EAAGkB,GAAAA,CAAAA,CAAAA,EAEzCC,WAAW,IAAA,CACV7D,KAAKG,QAAUH,KAAKG,QAAQ2D,OAAOC,GAAKA,EAAEH,KAAOA,CAAAA,CAAAA,EAC/C,KAGH5D,KAAKO,OAAOI,KAAAA,CAAMX,KAAKO,OAAOG,KAAAA,EAG9BV,KAAK+C,cACJ,IAAIC,YAAY,SAAU,CACzBC,OAAQ,CAAExC,KAAMT,KAAKO,OAAOG,OAC5BwC,QAAAA,GACAC,SAAAA,EAAU,CAAA,CAAA,CAGb,CACD,CAEQ,aAAaP,GAChBA,EAAEoB,MAAQ,SAAWpB,EAAEoB,MAAQ,MAClChE,KAAKI,QAAAA,GAEP,CAAA,EAjXoBT,QAAAA,gBAiFHwE,kBAAoB,CAAA,GACjCC,EAAAA,WAAWD,kBACdE,KAAM,OACNC,eAAAA,EAAgB,EAGLC,EAAA,CAAXC,EAAAA,SAAAA,CAAAA,EAvFmB7E,wBAuFR8E,UAAA,UAAA,CAAA,EAERF,EAAA,CADHC,EAAAA,SAAS,CAAEE,KAAMC,QAASC,QAAAA,EAAS,CAAA,CAAA,EAxFhBjF,wBAyFhB8E,UAAA,OAAA,CAAA,EAQyBF,EAAA,CAA5BC,WAAS,CAAEI,QAAAA,EAAS,CAAA,CAAA,EAjGDjF,wBAiGS8E,UAAA,UAAA,CAAA,EAGZF,EAAA,CAAhBM,EAAAA,MAAAA,CAAAA,EApGmBlF,wBAoGH8E,UAAA,UAAA,CAAA,EACAF,EAAA,CAAhBM,EAAAA,MAAAA,CAAAA,EArGmBlF,wBAqGH8E,UAAA,UAAA,CAAA,EACAF,EAAA,CAAhBM,EAAAA,MAAAA,CAAAA,EAtGmBlF,wBAsGH8E,UAAA,UAAA,CAAA,EAtGG9E,QAAAA,gBAArB4E,EAAA,CADCO,EAAAA,cAAc,qBACMnF"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { BehaviorSubject as h, takeUntil as u } from "rxjs";
|
|
2
|
+
import "lit/directives/class-map.js";
|
|
3
|
+
import "lit/directives/style-map.js";
|
|
4
|
+
import { property as l, state as c, customElement as m } from "lit/decorators.js";
|
|
5
|
+
import { T as y } from "./tailwind.mixin-nZk3QUQy.js";
|
|
6
|
+
import { css as v, html as d, LitElement as f } from "lit";
|
|
7
|
+
import { when as g } from "lit/directives/when.js";
|
|
8
|
+
import { tap as x } from "rxjs/operators";
|
|
9
|
+
var b = Object.defineProperty, w = Object.getOwnPropertyDescriptor, r = (e, t, n, i) => {
|
|
10
|
+
for (var s, o = i > 1 ? void 0 : i ? w(t, n) : t, p = e.length - 1; p >= 0; p--) (s = e[p]) && (o = (i ? s(t, n, o) : s(o)) || o);
|
|
11
|
+
return i && o && b(t, n, o), o;
|
|
12
|
+
};
|
|
13
|
+
let a = class extends y(v`
|
|
14
|
+
:host {
|
|
15
|
+
display: block;
|
|
16
|
+
position: relative;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Hide browser default marker */
|
|
20
|
+
summary::-webkit-details-marker {
|
|
21
|
+
display: none;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
summary {
|
|
25
|
+
list-style: none;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* Container border-radius following M3 spec */
|
|
29
|
+
details {
|
|
30
|
+
border-radius: 12px; /* M3 medium component radius */
|
|
31
|
+
transition: all 200ms cubic-bezier(0.2, 0, 0, 1); /* M3 standard easing */
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* Variant-specific styles */
|
|
35
|
+
:host([variant='outlined']) details {
|
|
36
|
+
border: 1px solid var(--schmancy-sys-color-outline-variant);
|
|
37
|
+
background-color: var(--schmancy-sys-color-surface-default);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
:host([variant='filled']) details {
|
|
41
|
+
background-color: var(--schmancy-sys-color-surface-container);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
:host([variant='elevated']) details {
|
|
45
|
+
background-color: var(--schmancy-sys-color-surface-low);
|
|
46
|
+
box-shadow: var(--schmancy-sys-elevation-1);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
:host([variant='elevated']) details[open] {
|
|
50
|
+
box-shadow: var(--schmancy-sys-elevation-2);
|
|
51
|
+
background-color: var(--schmancy-sys-color-surface-container);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* Content animation */
|
|
55
|
+
@keyframes slideDown {
|
|
56
|
+
from {
|
|
57
|
+
opacity: 0;
|
|
58
|
+
transform: translateY(-8px);
|
|
59
|
+
}
|
|
60
|
+
to {
|
|
61
|
+
opacity: 1;
|
|
62
|
+
transform: translateY(0);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.content-wrapper[data-open='true'] {
|
|
67
|
+
animation: slideDown 250ms cubic-bezier(0.2, 0, 0, 1);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/* Ripple effect */
|
|
71
|
+
@keyframes ripple {
|
|
72
|
+
to {
|
|
73
|
+
transform: scale(4);
|
|
74
|
+
opacity: 0;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* Focus ring following M3 spec */
|
|
79
|
+
summary:focus-visible {
|
|
80
|
+
outline: 2px solid var(--schmancy-sys-color-primary-default);
|
|
81
|
+
outline-offset: 2px;
|
|
82
|
+
border-radius: 12px;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* Icon rotation transition */
|
|
86
|
+
.icon-wrapper {
|
|
87
|
+
transition: transform 200ms cubic-bezier(0.2, 0, 0, 1);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.icon-wrapper[data-open='true'] {
|
|
91
|
+
transform: rotate(90deg);
|
|
92
|
+
}
|
|
93
|
+
`) {
|
|
94
|
+
constructor() {
|
|
95
|
+
super(...arguments), this.summary = "", this.variant = "default", this.ripples = [], this.pressed = !1, this._isOpen = !1, this.nextRippleId = 0, this._open$ = new h(!1);
|
|
96
|
+
}
|
|
97
|
+
get open() {
|
|
98
|
+
return this._open$.value;
|
|
99
|
+
}
|
|
100
|
+
set open(e) {
|
|
101
|
+
this._open$.value !== e && this._open$.next(e);
|
|
102
|
+
}
|
|
103
|
+
connectedCallback() {
|
|
104
|
+
super.connectedCallback(), this._open$.pipe(x((e) => {
|
|
105
|
+
this._isOpen = e, this.requestUpdate();
|
|
106
|
+
}), u(this.disconnecting)).subscribe();
|
|
107
|
+
}
|
|
108
|
+
render() {
|
|
109
|
+
const e = this.classMap({ "cursor-pointer": !0, "select-none": !0, relative: !0, flex: !0, "items-center": !0, "gap-3": !0, "min-h-[48px]": !0, "sm:min-h-[56px]": !0, "px-4": !0, "sm:px-6": !0, "py-3": !0, "sm:py-4": !0, "rounded-xl": !0, "transition-colors": !0, "duration-200": !0, "text-surface-on": !0, group: !0 }), t = this.classMap({ absolute: !0, "inset-0": !0, "rounded-xl": !0, "pointer-events-none": !0, "transition-opacity": !0, "duration-200": !0, "bg-surface-on": !0, [this.pressed ? "opacity-[0.12]" : this.variant === "default" ? "opacity-0 hover:opacity-[0.08]" : "opacity-0 hover:opacity-[0.04]"]: !0 }), n = this.classMap({ "px-4": !0, "sm:px-6": !0, "pb-3": !0, "sm:pb-4": !0, "text-surface-onVariant": !0, "text-sm": !0, "sm:text-base": !0 }), i = this.classMap({ flex: !0, "items-center": !0, "justify-center": !0, "w-6": !0, "h-6": !0, "rounded-full": !0, "flex-shrink-0": !0, "text-surface-onVariant": !0, "group-hover:text-surface-on": !0, "transition-all": !0, "duration-200": !0 });
|
|
110
|
+
return d`
|
|
111
|
+
<details
|
|
112
|
+
?open=${this._isOpen}
|
|
113
|
+
@toggle=${this._handleToggle}
|
|
114
|
+
class="w-full overflow-hidden"
|
|
115
|
+
>
|
|
116
|
+
<summary
|
|
117
|
+
class=${e}
|
|
118
|
+
@click=${this._handleClick}
|
|
119
|
+
@mousedown=${this._handleMouseDown}
|
|
120
|
+
@mouseup=${this._handleMouseUp}
|
|
121
|
+
@mouseleave=${this._handleMouseLeave}
|
|
122
|
+
@keydown=${this._handleKeyDown}
|
|
123
|
+
@keyup=${this._handleKeyUp}
|
|
124
|
+
tabindex="0"
|
|
125
|
+
>
|
|
126
|
+
<!-- State layer for hover/focus/pressed states -->
|
|
127
|
+
<div class=${t}></div>
|
|
128
|
+
|
|
129
|
+
<!-- Ripple container -->
|
|
130
|
+
<div class="absolute inset-0 rounded-xl overflow-hidden pointer-events-none">
|
|
131
|
+
${this.ripples.map((s) => d`
|
|
132
|
+
<span
|
|
133
|
+
class="absolute rounded-full scale-0 animate-[ripple_600ms_linear] bg-surface-on opacity-[0.12] pointer-events-none"
|
|
134
|
+
style="
|
|
135
|
+
left: ${s.x}px;
|
|
136
|
+
top: ${s.y}px;
|
|
137
|
+
width: 20px;
|
|
138
|
+
height: 20px;
|
|
139
|
+
margin-left: -10px;
|
|
140
|
+
margin-top: -10px;
|
|
141
|
+
"
|
|
142
|
+
></span>
|
|
143
|
+
`)}
|
|
144
|
+
</div>
|
|
145
|
+
|
|
146
|
+
<!-- Summary content -->
|
|
147
|
+
<span class="relative flex-1 font-medium text-base sm:text-lg z-10">
|
|
148
|
+
<slot name="summary">${this.summary}</slot>
|
|
149
|
+
</span>
|
|
150
|
+
|
|
151
|
+
<!-- Expand/collapse icon -->
|
|
152
|
+
<span
|
|
153
|
+
class=${i}
|
|
154
|
+
data-open=${this._isOpen}
|
|
155
|
+
style="transform: rotate(${this._isOpen ? "90deg" : "0deg"})"
|
|
156
|
+
>
|
|
157
|
+
<svg
|
|
158
|
+
width="24"
|
|
159
|
+
height="24"
|
|
160
|
+
viewBox="0 0 24 24"
|
|
161
|
+
fill="none"
|
|
162
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
163
|
+
class="w-5 h-5 sm:w-6 sm:h-6"
|
|
164
|
+
>
|
|
165
|
+
<path
|
|
166
|
+
d="M9 6L15 12L9 18"
|
|
167
|
+
stroke="currentColor"
|
|
168
|
+
stroke-width="2"
|
|
169
|
+
stroke-linecap="round"
|
|
170
|
+
stroke-linejoin="round"
|
|
171
|
+
/>
|
|
172
|
+
</svg>
|
|
173
|
+
</span>
|
|
174
|
+
</summary>
|
|
175
|
+
|
|
176
|
+
<!-- Content area -->
|
|
177
|
+
<div
|
|
178
|
+
class=${n}
|
|
179
|
+
data-open=${this._isOpen}
|
|
180
|
+
style="${this._isOpen ? "" : "display: none;"}"
|
|
181
|
+
>
|
|
182
|
+
${g(this._isOpen, () => d`
|
|
183
|
+
<div class="content-wrapper" data-open=${this._isOpen}>
|
|
184
|
+
<slot></slot>
|
|
185
|
+
</div>
|
|
186
|
+
`)}
|
|
187
|
+
</div>
|
|
188
|
+
</details>
|
|
189
|
+
`;
|
|
190
|
+
}
|
|
191
|
+
_handleToggle(e) {
|
|
192
|
+
const t = e.target;
|
|
193
|
+
this._open$.next(t.open), this.dispatchEvent(new CustomEvent("toggle", { detail: { open: t.open }, bubbles: !0, composed: !0 }));
|
|
194
|
+
}
|
|
195
|
+
_handleClick(e) {
|
|
196
|
+
e.preventDefault();
|
|
197
|
+
const t = e.currentTarget.getBoundingClientRect(), n = e.clientX - t.left, i = e.clientY - t.top, s = this.nextRippleId++;
|
|
198
|
+
this.ripples = [...this.ripples, { x: n, y: i, id: s }], setTimeout(() => {
|
|
199
|
+
this.ripples = this.ripples.filter((o) => o.id !== s);
|
|
200
|
+
}, 600), this._open$.next(!this._open$.value), this.dispatchEvent(new CustomEvent("toggle", { detail: { open: this._open$.value }, bubbles: !0, composed: !0 }));
|
|
201
|
+
}
|
|
202
|
+
_handleMouseDown() {
|
|
203
|
+
this.pressed = !0;
|
|
204
|
+
}
|
|
205
|
+
_handleMouseUp() {
|
|
206
|
+
this.pressed = !1;
|
|
207
|
+
}
|
|
208
|
+
_handleMouseLeave() {
|
|
209
|
+
this.pressed = !1;
|
|
210
|
+
}
|
|
211
|
+
_handleKeyDown(e) {
|
|
212
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
213
|
+
e.preventDefault(), this.pressed = !0;
|
|
214
|
+
const t = e.currentTarget.getBoundingClientRect(), n = t.width / 2, i = t.height / 2, s = this.nextRippleId++;
|
|
215
|
+
this.ripples = [...this.ripples, { x: n, y: i, id: s }], setTimeout(() => {
|
|
216
|
+
this.ripples = this.ripples.filter((o) => o.id !== s);
|
|
217
|
+
}, 600), this._open$.next(!this._open$.value), this.dispatchEvent(new CustomEvent("toggle", { detail: { open: this._open$.value }, bubbles: !0, composed: !0 }));
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
_handleKeyUp(e) {
|
|
221
|
+
e.key !== "Enter" && e.key !== " " || (this.pressed = !1);
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
a.shadowRootOptions = { ...f.shadowRootOptions, mode: "open", delegatesFocus: !0 }, r([l()], a.prototype, "summary", 2), r([l({ type: Boolean, reflect: !0 })], a.prototype, "open", 1), r([l({ reflect: !0 })], a.prototype, "variant", 2), r([c()], a.prototype, "ripples", 2), r([c()], a.prototype, "pressed", 2), r([c()], a.prototype, "_isOpen", 2), a = r([m("schmancy-details")], a);
|
|
225
|
+
export {
|
|
226
|
+
a as S
|
|
227
|
+
};
|
|
228
|
+
//# sourceMappingURL=details-CphTZvhk.js.map
|