@mhmo91/schmancy 0.5.20 → 0.5.21
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/navigation-rail.md +475 -0
- package/dist/ai/navigation-rail.md +475 -0
- package/dist/{animated-text-D1D0dI8T.cjs → animated-text-Bic7z7SI.cjs} +2 -2
- package/dist/{animated-text-D1D0dI8T.cjs.map → animated-text-Bic7z7SI.cjs.map} +1 -1
- package/dist/{animated-text-DS9AsLAy.js → animated-text-CLEr78FV.js} +3 -3
- package/dist/{animated-text-DS9AsLAy.js.map → animated-text-CLEr78FV.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-DZFtLBMV.cjs → area.component-BrvNYy7Z.cjs} +2 -2
- package/dist/{area.component-DZFtLBMV.cjs.map → area.component-BrvNYy7Z.cjs.map} +1 -1
- package/dist/{area.component-5hv6c-dZ.js → area.component-tIK_P5JR.js} +3 -3
- package/dist/{area.component-5hv6c-dZ.js.map → area.component-tIK_P5JR.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-Bm_tnRns.js → autocomplete-BG5HqWvt.js} +4 -4
- package/dist/{autocomplete-Bm_tnRns.js.map → autocomplete-BG5HqWvt.js.map} +1 -1
- package/dist/{autocomplete-DpGmI06M.cjs → autocomplete-BJ_0fG9s.cjs} +2 -2
- package/dist/{autocomplete-DpGmI06M.cjs.map → autocomplete-BJ_0fG9s.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-DVkOL5_x.js → avatar--NfBgxWj.js} +50 -50
- package/dist/{avatar-DVkOL5_x.js.map → avatar--NfBgxWj.js.map} +1 -1
- package/dist/{avatar-B0Q9R0jH.cjs → avatar-BT1w6myH.cjs} +2 -2
- package/dist/{avatar-B0Q9R0jH.cjs.map → avatar-BT1w6myH.cjs.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-DDBc--4N.js → boat-BdJ1jyK_.js} +2 -2
- package/dist/{boat-DDBc--4N.js.map → boat-BdJ1jyK_.js.map} +1 -1
- package/dist/{boat-DpuxxF9v.cjs → boat-DP98_5qG.cjs} +2 -2
- package/dist/{boat-DpuxxF9v.cjs.map → boat-DP98_5qG.cjs.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-ByAbf0mX.js → checkbox-4mBWkzKG.js} +2 -2
- package/dist/{checkbox-ByAbf0mX.js.map → checkbox-4mBWkzKG.js.map} +1 -1
- package/dist/{checkbox-DA355aVd.cjs → checkbox-CIMDI5hW.cjs} +2 -2
- package/dist/{checkbox-DA355aVd.cjs.map → checkbox-CIMDI5hW.cjs.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-DXvds6Ik.cjs → code-preview-CHuRZ9cY.cjs} +2 -2
- package/dist/{code-preview-DXvds6Ik.cjs.map → code-preview-CHuRZ9cY.cjs.map} +1 -1
- package/dist/{code-preview-BEDuv4oc.js → code-preview-DrB-Y8dn.js} +2 -2
- package/dist/{code-preview-BEDuv4oc.js.map → code-preview-DrB-Y8dn.js.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-CO96uRfu.cjs → date-range-B0yz-_Zv.cjs} +2 -2
- package/dist/{date-range-CO96uRfu.cjs.map → date-range-B0yz-_Zv.cjs.map} +1 -1
- package/dist/{date-range-CWwzapvu.js → date-range-CM-5J_JO.js} +3 -3
- package/dist/{date-range-CWwzapvu.js.map → date-range-CM-5J_JO.js.map} +1 -1
- package/dist/{date-range-inline-DcRJrT7z.js → date-range-inline-CPI4EyL0.js} +3 -3
- package/dist/{date-range-inline-DcRJrT7z.js.map → date-range-inline-CPI4EyL0.js.map} +1 -1
- package/dist/{date-range-inline-Br8Pkm6Z.cjs → date-range-inline-P8P2ixg1.cjs} +2 -2
- package/dist/{date-range-inline-Br8Pkm6Z.cjs.map → date-range-inline-P8P2ixg1.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-BU66nJyr.cjs → delay-1aTGz1ZH.cjs} +2 -2
- package/dist/{delay-BU66nJyr.cjs.map → delay-1aTGz1ZH.cjs.map} +1 -1
- package/dist/{delay-4p58-oPM.js → delay-Lg_7K_Vi.js} +2 -2
- package/dist/{delay-4p58-oPM.js.map → delay-Lg_7K_Vi.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-COgnQWz1.js → details-gUvX6sxc.js} +2 -2
- package/dist/{details-COgnQWz1.js.map → details-gUvX6sxc.js.map} +1 -1
- package/dist/{details-CoqpAwjh.cjs → details-uxsPpjMp.cjs} +2 -2
- package/dist/{details-CoqpAwjh.cjs.map → details-uxsPpjMp.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-CJUcyFT1.cjs → dialog-content-CvVd9EwS.cjs} +2 -2
- package/dist/{dialog-content-CJUcyFT1.cjs.map → dialog-content-CvVd9EwS.cjs.map} +1 -1
- package/dist/{dialog-content-naA5eL6T.js → dialog-content-DKLDmgfz.js} +3 -3
- package/dist/{dialog-content-naA5eL6T.js.map → dialog-content-DKLDmgfz.js.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-a2f7N3mc.cjs → divider-CHGffGro.cjs} +2 -2
- package/dist/{divider-a2f7N3mc.cjs.map → divider-CHGffGro.cjs.map} +1 -1
- package/dist/{divider-DsNchzPn.js → divider-EvBnlb2a.js} +3 -3
- package/dist/{divider-DsNchzPn.js.map → divider-EvBnlb2a.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-YiOmwoxH.cjs → dropdown-content-FVKimBQR.cjs} +2 -2
- package/dist/{dropdown-content-YiOmwoxH.cjs.map → dropdown-content-FVKimBQR.cjs.map} +1 -1
- package/dist/{dropdown-content-CARJm72a.js → dropdown-content-NGBIkvdR.js} +3 -3
- package/dist/{dropdown-content-CARJm72a.js.map → dropdown-content-NGBIkvdR.js.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-CM41HA4G.js → email-recipients-CXFSIsL-.js} +5 -5
- package/dist/{email-recipients-CM41HA4G.js.map → email-recipients-CXFSIsL-.js.map} +1 -1
- package/dist/{email-recipients-Dha5jYMG.cjs → email-recipients-DxqCC99q.cjs} +2 -2
- package/dist/{email-recipients-Dha5jYMG.cjs.map → email-recipients-DxqCC99q.cjs.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-D-oS3wlY.js → flex-Cm4nZM9q.js} +2 -2
- package/dist/{flex-D-oS3wlY.js.map → flex-Cm4nZM9q.js.map} +1 -1
- package/dist/{flex-zqTHF06u.cjs → flex-DisTVvBI.cjs} +2 -2
- package/dist/{flex-zqTHF06u.cjs.map → flex-DisTVvBI.cjs.map} +1 -1
- package/dist/{form-DPAzy8Dn.js → form-BU9TBjfk.js} +2 -2
- package/dist/{form-DPAzy8Dn.js.map → form-BU9TBjfk.js.map} +1 -1
- package/dist/{form-BSlt0E8v.cjs → form-SMbhjYsC.cjs} +2 -2
- package/dist/{form-BSlt0E8v.cjs.map → form-SMbhjYsC.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-R7Ddvq3q.cjs → formField.mixin-DYkeOpES.cjs} +2 -2
- package/dist/{formField.mixin-R7Ddvq3q.cjs.map → formField.mixin-DYkeOpES.cjs.map} +1 -1
- package/dist/{formField.mixin-CVkUNhSX.js → formField.mixin-DxhnL3Kb.js} +2 -2
- package/dist/{formField.mixin-CVkUNhSX.js.map → formField.mixin-DxhnL3Kb.js.map} +1 -1
- package/dist/{icon-Cm5BKSV4.cjs → icon-BT_1B5_G.cjs} +2 -2
- package/dist/{icon-Cm5BKSV4.cjs.map → icon-BT_1B5_G.cjs.map} +1 -1
- package/dist/{icon-ave1X5b9.js → icon-Cgd3NUcv.js} +2 -2
- package/dist/{icon-ave1X5b9.js.map → icon-Cgd3NUcv.js.map} +1 -1
- package/dist/{icon-button-BdB5el84.cjs → icon-button-C5hq1cKD.cjs} +2 -2
- package/dist/{icon-button-BdB5el84.cjs.map → icon-button-C5hq1cKD.cjs.map} +1 -1
- package/dist/{icon-button-DiNXfJ8u.js → icon-button-DsjqusZz.js} +3 -3
- package/dist/{icon-button-DiNXfJ8u.js.map → icon-button-DsjqusZz.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 +49 -49
- package/dist/{input-DPiDmsjt.js → input-Bj4MTOC9.js} +3 -3
- package/dist/{input-DPiDmsjt.js.map → input-Bj4MTOC9.js.map} +1 -1
- package/dist/{input-B6zwyDBC.cjs → input-D3qmQZ-Y.cjs} +2 -2
- package/dist/{input-B6zwyDBC.cjs.map → input-D3qmQZ-Y.cjs.map} +1 -1
- package/dist/{input-chip-CkWSf6nV.cjs → input-chip-CbD-eDs-.cjs} +2 -2
- package/dist/{input-chip-CkWSf6nV.cjs.map → input-chip-CbD-eDs-.cjs.map} +1 -1
- package/dist/{input-chip-C06GAnnC.js → input-chip-DiThsRoi.js} +2 -2
- package/dist/{input-chip-C06GAnnC.js.map → input-chip-DiThsRoi.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-BCDPk6mM.cjs → list-5Y_CGGJF.cjs} +2 -2
- package/dist/{list-BCDPk6mM.cjs.map → list-5Y_CGGJF.cjs.map} +1 -1
- package/dist/{list-vICZQxqV.js → list-CAFpmXsb.js} +2 -2
- package/dist/{list-vICZQxqV.js.map → list-CAFpmXsb.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-jTGHsEfH.js → litElement.mixin-Bv6DGuhe.js} +2 -2
- package/dist/{litElement.mixin-jTGHsEfH.js.map → litElement.mixin-Bv6DGuhe.js.map} +1 -1
- package/dist/{litElement.mixin-DLJYzvsb.cjs → litElement.mixin-rWG9s46P.cjs} +2 -2
- package/dist/{litElement.mixin-DLJYzvsb.cjs.map → litElement.mixin-rWG9s46P.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-D6QG9Yzr.cjs → map-bTOQf8Jm.cjs} +2 -2
- package/dist/{map-D6QG9Yzr.cjs.map → map-bTOQf8Jm.cjs.map} +1 -1
- package/dist/{map-DZt51SfS.js → map-yv8FB9mG.js} +2 -2
- package/dist/{map-DZt51SfS.js.map → map-yv8FB9mG.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-BUx20F5U.js → media-CA52MXd3.js} +2 -2
- package/dist/{media-BUx20F5U.js.map → media-CA52MXd3.js.map} +1 -1
- package/dist/{media-CdPEYBLJ.cjs → media-CPIoKlRw.cjs} +2 -2
- package/dist/{media-CdPEYBLJ.cjs.map → media-CPIoKlRw.cjs.map} +1 -1
- package/dist/{menu-CvWQC1In.js → menu-BKO9PgJq.js} +3 -3
- package/dist/{menu-CvWQC1In.js.map → menu-BKO9PgJq.js.map} +1 -1
- package/dist/{menu-2UwBHzr9.cjs → menu-Cak8SbFx.cjs} +2 -2
- package/dist/{menu-2UwBHzr9.cjs.map → menu-Cak8SbFx.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-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/navigation-rail-C8OOb0V3.js +564 -0
- package/dist/navigation-rail-C8OOb0V3.js.map +1 -0
- package/dist/navigation-rail-D1iYDMy2.cjs +415 -0
- package/dist/navigation-rail-D1iYDMy2.cjs.map +1 -0
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-BqvWCDoP.cjs → notification-service-DaXxcXyj.cjs} +2 -2
- package/dist/{notification-service-BqvWCDoP.cjs.map → notification-service-DaXxcXyj.cjs.map} +1 -1
- package/dist/{notification-service-eOCFErH1.js → notification-service-jfBwJ2TN.js} +4 -4
- package/dist/{notification-service-eOCFErH1.js.map → notification-service-jfBwJ2TN.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-COSA8XRV.js → notify-C5gy3egX.js} +2 -2
- package/dist/{notify-COSA8XRV.js.map → notify-C5gy3egX.js.map} +1 -1
- package/dist/{notify-BaedZ1y9.cjs → notify-Dd5h2l-v.cjs} +2 -2
- package/dist/{notify-BaedZ1y9.cjs.map → notify-Dd5h2l-v.cjs.map} +1 -1
- package/dist/{option-CeXe-DCz.cjs → option-C6PwIhut.cjs} +2 -2
- package/dist/{option-CeXe-DCz.cjs.map → option-C6PwIhut.cjs.map} +1 -1
- package/dist/{option-CplQ_59U.js → option-D7b-uGff.js} +2 -2
- package/dist/{option-CplQ_59U.js.map → option-D7b-uGff.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-wns1GAaC.cjs → payment-card-form-DTfoZiiN.cjs} +2 -2
- package/dist/{payment-card-form-wns1GAaC.cjs.map → payment-card-form-DTfoZiiN.cjs.map} +1 -1
- package/dist/{payment-card-form-hVPgM3HO.js → payment-card-form-xwk5dfeQ.js} +3 -3
- package/dist/{payment-card-form-hVPgM3HO.js.map → payment-card-form-xwk5dfeQ.js.map} +1 -1
- package/dist/{progress-X8hxleUC.js → progress-D-5gThOU.js} +2 -2
- package/dist/{progress-X8hxleUC.js.map → progress-D-5gThOU.js.map} +1 -1
- package/dist/{progress-CM5lHuCR.cjs → progress-sFt6EeRy.cjs} +2 -2
- package/dist/{progress-CM5lHuCR.cjs.map → progress-sFt6EeRy.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button--uXczpjB.js → radio-button-CZq8Z-V-.js} +3 -3
- package/dist/{radio-button--uXczpjB.js.map → radio-button-CZq8Z-V-.js.map} +1 -1
- package/dist/{radio-button-D76Qubig.cjs → radio-button-Cc5fCDdU.cjs} +2 -2
- package/dist/{radio-button-D76Qubig.cjs.map → radio-button-Cc5fCDdU.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-Dc_hXgrm.cjs → schmancy-steps-container-Cb-cUZWP.cjs} +2 -2
- package/dist/{schmancy-steps-container-Dc_hXgrm.cjs.map → schmancy-steps-container-Cb-cUZWP.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-Csh_Ocoa.js → schmancy-steps-container-DkPckhRw.js} +2 -2
- package/dist/{schmancy-steps-container-Csh_Ocoa.js.map → schmancy-steps-container-DkPckhRw.js.map} +1 -1
- package/dist/{select-BrdNXtJK.js → select-BxlDe36e.js} +3 -3
- package/dist/{select-BrdNXtJK.js.map → select-BxlDe36e.js.map} +1 -1
- package/dist/{select-DvjgcI2e.cjs → select-Cod_lOwT.cjs} +2 -2
- package/dist/{select-DvjgcI2e.cjs.map → select-Cod_lOwT.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-D6hxqRpX.js → sheet-BscruHZw.js} +3 -3
- package/dist/{sheet-D6hxqRpX.js.map → sheet-BscruHZw.js.map} +1 -1
- package/dist/{sheet-DrGvhM5D.cjs → sheet-ZHVITumf.cjs} +2 -2
- package/dist/{sheet-DrGvhM5D.cjs.map → sheet-ZHVITumf.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-DNqgaGvI.cjs → slider-BKUCiMOV.cjs} +2 -2
- package/dist/{slider-DNqgaGvI.cjs.map → slider-BKUCiMOV.cjs.map} +1 -1
- package/dist/{slider-ev-R3lWD.js → slider-gBHyj2TC.js} +3 -3
- package/dist/{slider-ev-R3lWD.js.map → slider-gBHyj2TC.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-BBhBlm_F.cjs → spinner-CiRbCC74.cjs} +2 -2
- package/dist/{spinner-BBhBlm_F.cjs.map → spinner-CiRbCC74.cjs.map} +1 -1
- package/dist/{spinner-0Be5YjKa.js → spinner-DZ3oE5cQ.js} +2 -2
- package/dist/{spinner-0Be5YjKa.js.map → spinner-DZ3oE5cQ.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{suggestion-chip-GLpIJvu3.cjs → suggestion-chip-AVshmS4V.cjs} +2 -2
- package/dist/{suggestion-chip-GLpIJvu3.cjs.map → suggestion-chip-AVshmS4V.cjs.map} +1 -1
- package/dist/{suggestion-chip-WW3dScRF.js → suggestion-chip-CxQK5dcP.js} +3 -3
- package/dist/{suggestion-chip-WW3dScRF.js.map → suggestion-chip-CxQK5dcP.js.map} +1 -1
- package/dist/{surface-DmtBge0h.js → surface-C4Lkv6Xu.js} +2 -2
- package/dist/{surface-DmtBge0h.js.map → surface-C4Lkv6Xu.js.map} +1 -1
- package/dist/{surface-BaMQfpnN.cjs → surface-DTqeD1NX.cjs} +2 -2
- package/dist/{surface-BaMQfpnN.cjs.map → surface-DTqeD1NX.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-Bc86ZVfE.cjs → table-CGB_dR8H.cjs} +2 -2
- package/dist/{table-Bc86ZVfE.cjs.map → table-CGB_dR8H.cjs.map} +1 -1
- package/dist/{table-D00xx57f.js → table-D320TllW.js} +2 -2
- package/dist/{table-D00xx57f.js.map → table-D320TllW.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-Bo4Z38SO.cjs → tabs-compatibility-C1ifLAs_.cjs} +2 -2
- package/dist/{tabs-compatibility-Bo4Z38SO.cjs.map → tabs-compatibility-C1ifLAs_.cjs.map} +1 -1
- package/dist/{tabs-compatibility-BQqS_oQN.js → tabs-compatibility-DNkcL6dE.js} +2 -2
- package/dist/{tabs-compatibility-BQqS_oQN.js.map → tabs-compatibility-DNkcL6dE.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-9XFzAXGw.js +43 -0
- package/dist/{tailwind.mixin-Dq8FD_xN.js.map → tailwind.mixin-9XFzAXGw.js.map} +1 -1
- package/dist/tailwind.mixin-ChrVaJHF.cjs +2 -0
- package/dist/{tailwind.mixin-B_-9TcsC.cjs.map → tailwind.mixin-ChrVaJHF.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-DvfusaL0.cjs → textarea-1QvQzHKm.cjs} +2 -2
- package/dist/{textarea-DvfusaL0.cjs.map → textarea-1QvQzHKm.cjs.map} +1 -1
- package/dist/{textarea-DpSgcB0q.js → textarea-B2U316Um.js} +2 -2
- package/dist/{textarea-DpSgcB0q.js.map → textarea-B2U316Um.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-Dj3aS2jG.cjs → theme-button-B0n3kSd_.cjs} +2 -2
- package/dist/{theme-button-Dj3aS2jG.cjs.map → theme-button-B0n3kSd_.cjs.map} +1 -1
- package/dist/{theme-button-1dnUcGe5.js → theme-button-zUYywyWx.js} +2 -2
- package/dist/{theme-button-1dnUcGe5.js.map → theme-button-zUYywyWx.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.component-B2834R93.cjs → theme.component-BLKJxyFX.cjs} +2 -2
- package/dist/{theme.component-B2834R93.cjs.map → theme.component-BLKJxyFX.cjs.map} +1 -1
- package/dist/{theme.component-DwzieORm.js → theme.component-DpPMKf8l.js} +2 -2
- package/dist/{theme.component-DwzieORm.js.map → theme.component-DpPMKf8l.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-CWEqsRA_.cjs → timezone-DRSCR7bi.cjs} +2 -2
- package/dist/{timezone-CWEqsRA_.cjs.map → timezone-DRSCR7bi.cjs.map} +1 -1
- package/dist/{timezone-YbhVzZRq.js → timezone-DhLUcYcX.js} +3 -3
- package/dist/{timezone-YbhVzZRq.js.map → timezone-DhLUcYcX.js.map} +1 -1
- package/dist/{tooltip-BZ2fruXd.cjs → tooltip-B4nvmANO.cjs} +2 -2
- package/dist/{tooltip-BZ2fruXd.cjs.map → tooltip-B4nvmANO.cjs.map} +1 -1
- package/dist/{tooltip-DgLua_UV.js → tooltip-tFxYzDct.js} +2 -2
- package/dist/{tooltip-DgLua_UV.js.map → tooltip-tFxYzDct.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-Dg-mKO7n.js → tree-C9gLZE_E.js} +2 -2
- package/dist/{tree-Dg-mKO7n.js.map → tree-C9gLZE_E.js.map} +1 -1
- package/dist/{tree-c9Fcsgxi.cjs → tree-CRjGBeHH.cjs} +2 -2
- package/dist/{tree-c9Fcsgxi.cjs.map → tree-CRjGBeHH.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-Bgp3f7FN.js → typewriter-DN9HiCBW.js} +4 -4
- package/dist/{typewriter-Bgp3f7FN.js.map → typewriter-DN9HiCBW.js.map} +1 -1
- package/dist/{typewriter-FHkXxEdA.cjs → typewriter-VGsKEZOj.cjs} +2 -2
- package/dist/{typewriter-FHkXxEdA.cjs.map → typewriter-VGsKEZOj.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-B2kH45Vn.js → typography-MN7P8my2.js} +2 -2
- package/dist/{typography-B2kH45Vn.js.map → typography-MN7P8my2.js.map} +1 -1
- package/dist/{typography-CE_QuH1P.cjs → typography-XN-pEi3Q.cjs} +2 -2
- package/dist/{typography-CE_QuH1P.cjs.map → typography-XN-pEi3Q.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/navigation-rail/index.d.ts +1 -1
- package/types/src/navigation-rail/navigation-rail-item.d.ts +89 -9
- package/types/src/navigation-rail/navigation-rail.d.ts +77 -9
- package/dist/navigation-rail-item-CIg6-B2G.js +0 -151
- package/dist/navigation-rail-item-CIg6-B2G.js.map +0 -1
- package/dist/navigation-rail-item-DA7eqAg3.cjs +0 -116
- package/dist/navigation-rail-item-DA7eqAg3.cjs.map +0 -1
- package/dist/tailwind.mixin-B_-9TcsC.cjs +0 -2
- package/dist/tailwind.mixin-Dq8FD_xN.js +0 -43
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delay-4p58-oPM.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-Lg_7K_Vi.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-1aTGz1ZH.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
|
@@ -2,7 +2,7 @@ import { BehaviorSubject as h, takeUntil as u } from "rxjs";
|
|
|
2
2
|
import "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
4
|
import { property as l, state as c, customElement as m } from "lit/decorators.js";
|
|
5
|
-
import { T as y } from "./tailwind.mixin-
|
|
5
|
+
import { T as y } from "./tailwind.mixin-9XFzAXGw.js";
|
|
6
6
|
import { css as v, html as d, LitElement as f } from "lit";
|
|
7
7
|
import { when as g } from "lit/directives/when.js";
|
|
8
8
|
import { tap as x } from "rxjs/operators";
|
|
@@ -225,4 +225,4 @@ a.shadowRootOptions = { ...f.shadowRootOptions, mode: "open", delegatesFocus: !0
|
|
|
225
225
|
export {
|
|
226
226
|
a as S
|
|
227
227
|
};
|
|
228
|
-
//# sourceMappingURL=details-
|
|
228
|
+
//# sourceMappingURL=details-gUvX6sxc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details-COgnQWz1.js","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":"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"}
|
|
1
|
+
{"version":3,"file":"details-gUvX6sxc.js","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":";;;;;;;;;;;;AAQA,IAAqBA,IAArB,cAA6CC,EAAgBC;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,EAAA;AAAA,EAAA;AAAAC,UAAAA,GAAAC,SAAAA,GAuFaC,KAAAC,UAAU,IAUOD,KAAAE,UAA0D,WAG9EF,KAAQG,UAAuD,CAAA,GAC/DH,KAAQI,UAAAA,IACRJ,KAAQK,UAAAA,IAEjBL,KAAQM,eAAe,GACvBN,KAAQO,SAAS,IAAIC,EAAAA,EAAyB;AAAA,EAAK;AAAA,EAhBnD,IAAA,OAAIC;AACH,WAAOT,KAAKO,OAAOG;AAAAA,EACpB;AAAA,EACA,IAAA,KAASA,GAAAA;AACJV,SAAKO,OAAOG,UAAUA,KACzBV,KAAKO,OAAOI,KAAKD,CAAAA;AAAAA,EAEnB;AAAA,EAWA,oBAAAE;AACCd,UAAMc,qBAGNZ,KAAKO,OAAOM,KACXC,EAAIC,CAAAA,MAAAA;AACHf,WAAKK,UAAUU,GACff,KAAKgB,cAAAA;AAAAA,IAAAA,CAAAA,GAENC,EAAUjB,KAAKkB,aAAAA,CAAAA,EACdC,UAAAA;AAAAA,EACH;AAAA,EAEA,SAAAC;AAEC,UASMC,IAAiBrB,KAAKsB,SAAS,EACpC,sBACA,eAAA,IACAC,UAAAA,IACAC,UACA,gBAAA,IACA,SAAA,IACA,oBACA,mBAAA,IACA,QAAA,IACA,WAAA,IACA,YACA,WAAA,IACA,cAAA,IACA,yBACA,gBAAA,IACA,mBAAA,IACAC,UAAS,CAAA,GAIJC,IAAoB1B,KAAKsB,SAAS,EACvCK,cACA,WAAA,IACA,cAAA,IACA,uBAAA,IACA,0BACA,gBAAA,IACA,iBAAA,IACA,CArCI3B,KAAKI,UAAgB,mBACrBJ,KAAKE,YAAY,YACb,mCAED,gCAiCN0B,GAAAA,GAAyB,CAAA,GAIrBC,IAAiB7B,KAAKsB,SAAS,EACpC,QAAA,IACA,WAAA,IACA,YACA,WAAA,IACA,0BAAA,IACA,eACA,gBAAA,OAIKQ,IAAc9B,KAAKsB,SAAS,EACjCE,MAAAA,IACA,gBAAA,IACA,sBACA,OAAA,IACA,OAAA,IACA,oBACA,iBAAA,IACA,0BAAA,IACA,mCACA,kBAAA,IACA,gBAAA,GAAgB,CAAA;AAGjB,WAAOO;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,CAAAA,MAAUT;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,UAAU,UAAU,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,UAAU,KAAK,gBAAA;AAAA;AAAA,OAE3BsC,EACD3C,KAAKK,SACL,MAAM0B;AAAAA,gDACoC/B,KAAKK,OAAAA;AAAAA;AAAAA;AAAAA;;;;EAQpD;AAAA,EAEQ,cAAcuC,GAAAA;AACrB,UAAMC,IAAUD,EAAEE;AAElB9C,SAAKO,OAAOI,KAAKkC,EAAQpC,IAAAA,GAGzBT,KAAK+C,cACJ,IAAIC,YAAY,UAAU,EACzBC,QAAQ,EAAExC,MAAMoC,EAAQpC,KAAAA,GACxByC,SAAAA,IACAC,UAAAA,GAAU,CAAA,CAAA;AAAA,EAGb;AAAA,EAEQ,aAAaP,GAAAA;AAEpBA,IAAAA,EAAEQ,eAAAA;AAGF,UAAMC,IAAQT,EAAEU,cAA8BC,sBAAAA,GACxCd,IAAIG,EAAEY,UAAUH,EAAKI,MACrBf,IAAIE,EAAEc,UAAUL,EAAKM,KACrBC,IAAK5D,KAAKM;AAEhBN,SAAKG,UAAU,CAAA,GAAIH,KAAKG,SAAS,EAAEsC,GAAAA,GAAGC,GAAAA,GAAGkB,IAAAA,EAAAA,CAAAA,GAGzCC,WAAW,MAAA;AACV7D,WAAKG,UAAUH,KAAKG,QAAQ2D,OAAOC,CAAAA,MAAKA,EAAEH,OAAOA,CAAAA;AAAAA,IAAAA,GAC/C,GAAA,GAGH5D,KAAKO,OAAOI,KAAAA,CAAMX,KAAKO,OAAOG,KAAAA,GAG9BV,KAAK+C,cACJ,IAAIC,YAAY,UAAU,EACzBC,QAAQ,EAAExC,MAAMT,KAAKO,OAAOG,MAAAA,GAC5BwC,SAAAA,IACAC,UAAAA,GAAU,CAAA,CAAA;AAAA,EAGb;AAAA,EAEQ;AACPnD,SAAKI,UAAAA;AAAAA,EACN;AAAA,EAEQ,iBAAA+B;AACPnC,SAAKI,UAAAA;AAAAA,EACN;AAAA,EAEQ,oBAAAgC;AACPpC,SAAKI,UAAAA;AAAAA,EACN;AAAA,EAEQ,eAAewC,GAAAA;AAEtB,QAAIA,EAAEoB,QAAQ,WAAWpB,EAAEoB,QAAQ,KAAK;AACvCpB,MAAAA,EAAEQ,eAAAA,GACFpD,KAAKI,UAAAA;AAGL,YAAMiD,IAAQT,EAAEU,cAA8BC,sBAAAA,GACxCd,IAAIY,EAAKY,QAAQ,GACjBvB,IAAIW,EAAKa,SAAS,GAClBN,IAAK5D,KAAKM;AAEhBN,WAAKG,UAAU,IAAIH,KAAKG,SAAS,EAAEsC,GAAAA,GAAGC,GAAAA,GAAGkB,IAAAA,EAAAA,CAAAA,GAEzCC,WAAW,MAAA;AACV7D,aAAKG,UAAUH,KAAKG,QAAQ2D,OAAOC,CAAAA,MAAKA,EAAEH,OAAOA;SAC/C,GAAA,GAGH5D,KAAKO,OAAOI,KAAAA,CAAMX,KAAKO,OAAOG,KAAAA,GAG9BV,KAAK+C,cACJ,IAAIC,YAAY,UAAU,EACzBC,QAAQ,EAAExC,MAAMT,KAAKO,OAAOG,MAAAA,GAC5BwC,SAAAA,IACAC,UAAAA,GAAU,CAAA,CAAA;AAAA,IAGb;AAAA,EACD;AAAA,EAEQ,aAAaP,GAAAA;AACN,IAAVA,EAAEoB,QAAQ,WAAWpB,EAAEoB,QAAQ,QAClChE,KAAKI,UAAAA;AAAAA,EAEP;AAAA;AAjXoBT,EAiFHwE,oBAAoB,EAAA,GACjCC,EAAWD,mBACdE,MAAM,QACNC,gBAAAA,GAAgB,GAGLC,EAAA,CAAXC,EAAAA,CAAAA,GAvFmB7E,EAuFR8E,WAAA,WAAA,CAAA,GAERF,EAAA,CADHC,EAAS,EAAEE,MAAMC,SAASC,SAAAA,GAAS,CAAA,CAAA,GAxFhBjF,EAyFhB8E,WAAA,QAAA,CAAA,GAQyBF,EAAA,CAA5BC,EAAS,EAAEI,SAAAA,GAAS,CAAA,CAAA,GAjGDjF,EAiGS8E,WAAA,WAAA,CAAA,GAGZF,EAAA,CAAhBM,EAAAA,CAAAA,GApGmBlF,EAoGH8E,WAAA,WAAA,CAAA,GACAF,EAAA,CAAhBM,EAAAA,CAAAA,GArGmBlF,EAqGH8E,WAAA,WAAA,CAAA,GACAF,EAAA,CAAhBM,EAAAA,CAAAA,GAtGmBlF,EAsGH8E,WAAA,WAAA,CAAA,GAtGG9E,IAArB4E,EAAA,CADCO,EAAc,sBACMnF,CAAAA;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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-ChrVaJHF.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
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
position: relative;
|
|
@@ -158,4 +158,4 @@
|
|
|
158
158
|
</div>
|
|
159
159
|
</details>
|
|
160
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-
|
|
161
|
+
//# sourceMappingURL=details-uxsPpjMp.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details-CoqpAwjh.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":"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"}
|
|
1
|
+
{"version":3,"file":"details-uxsPpjMp.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":"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"}
|
package/dist/details.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./details-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./details-uxsPpjMp.cjs");Object.defineProperty(exports,"SchmancyDetails",{enumerable:!0,get:()=>e.SchmancyDetails});
|
|
2
2
|
//# sourceMappingURL=details.cjs.map
|
package/dist/details.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const r=require("@floating-ui/dom"),p=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const l=require("lit/decorators.js");require("./tailwind.mixin-
|
|
1
|
+
"use strict";const r=require("@floating-ui/dom"),p=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const l=require("lit/decorators.js");require("./tailwind.mixin-ChrVaJHF.cjs");const u=require("./litElement.mixin-rWG9s46P.cjs"),c=require("lit"),d=require("lit/directives/when.js"),y=require("rxjs/operators"),m=require("./dialog-service-Bdaxn2t0.cjs");var f=Object.defineProperty,b=Object.getOwnPropertyDescriptor,h=(t,e,i,s)=>{for(var n,o=s>1?void 0:s?b(e,i):e,a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s?n(e,i,o):n(o))||o);return s&&o&&f(e,i,o),o};exports.ConfirmDialog=class extends u.$LitElement(c.css`
|
|
2
2
|
:host {
|
|
3
3
|
position: fixed;
|
|
4
4
|
z-index: 10000;
|
|
@@ -82,4 +82,4 @@
|
|
|
82
82
|
height: 100%;
|
|
83
83
|
}
|
|
84
84
|
`){render(){return c.html`<slot></slot>`}},exports.SchmancyDialogContent=((t,e,i,s)=>{for(var n,o=s>1?void 0:s?x(e,i):e,a=t.length-1;a>=0;a--)(n=t[a])&&(o=n(o)||o);return o})([l.customElement("schmancy-dialog-content")],exports.SchmancyDialogContent);
|
|
85
|
-
//# sourceMappingURL=dialog-content-
|
|
85
|
+
//# sourceMappingURL=dialog-content-CvVd9EwS.cjs.map
|