@mhmo91/schmancy 0.9.9 → 0.9.11
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/custom-elements.json +4 -4
- package/dist/{area-D9b9dHQr.cjs → area-BafkBc1f.cjs} +1 -1
- package/dist/{area-D9b9dHQr.cjs.map → area-BafkBc1f.cjs.map} +1 -1
- package/dist/{area-BARjKpE9.js → area-D03HRn1L.js} +1 -1
- package/dist/{area-BARjKpE9.js.map → area-D03HRn1L.js.map} +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-AI2CCJmK.cjs → autocomplete-BeLg4A3T.cjs} +1 -1
- package/dist/{autocomplete-AI2CCJmK.cjs.map → autocomplete-BeLg4A3T.cjs.map} +1 -1
- package/dist/{autocomplete-DOimwVMP.js → autocomplete-BotVnTfP.js} +2 -2
- package/dist/{autocomplete-DOimwVMP.js.map → autocomplete-BotVnTfP.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-Bk4u-LzT.cjs → boat-4hSLFsGy.cjs} +1 -1
- package/dist/{boat-Bk4u-LzT.cjs.map → boat-4hSLFsGy.cjs.map} +1 -1
- package/dist/{boat-DrghVeWK.js → boat-C1wGdoaF.js} +1 -1
- package/dist/{boat-DrghVeWK.js.map → boat-C1wGdoaF.js.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/breadcrumb.cjs +1 -1
- package/dist/breadcrumb.js +1 -1
- package/dist/{busy-c_q_F8O0.cjs → busy-C0qP0TiL.cjs} +1 -1
- package/dist/{busy-c_q_F8O0.cjs.map → busy-C0qP0TiL.cjs.map} +1 -1
- package/dist/{busy-BmFfwyz_.js → busy-D74-XaFn.js} +1 -1
- package/dist/{busy-BmFfwyz_.js.map → busy-D74-XaFn.js.map} +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +29 -29
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +52 -50
- package/dist/button.js.map +1 -1
- package/dist/{card-C_E944_Z.cjs → card-Bht1QcYl.cjs} +1 -1
- package/dist/{card-C_E944_Z.cjs.map → card-Bht1QcYl.cjs.map} +1 -1
- package/dist/{card-BADJHUMA.js → card-DiNYPJ9b.js} +1 -1
- package/dist/{card-BADJHUMA.js.map → card-DiNYPJ9b.js.map} +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/charts.cjs +1 -1
- package/dist/charts.js +1 -1
- package/dist/{checkbox-ZqDoCagB.cjs → checkbox-CRzu7URt.cjs} +1 -1
- package/dist/{checkbox-ZqDoCagB.cjs.map → checkbox-CRzu7URt.cjs.map} +1 -1
- package/dist/{checkbox-D7rvCrGk.js → checkbox-dRBf89qt.js} +2 -2
- package/dist/{checkbox-D7rvCrGk.js.map → checkbox-dRBf89qt.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-vdzIsesI.js → chips-Bma_B3J-.js} +3 -3
- package/dist/{chips-vdzIsesI.js.map → chips-Bma_B3J-.js.map} +1 -1
- package/dist/{chips-Cux635Qs.cjs → chips-CXknD-vY.cjs} +1 -1
- package/dist/{chips-Cux635Qs.cjs.map → chips-CXknD-vY.cjs.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/{code-highlight-C9lKek2p.cjs → code-highlight-BROOsNA_.cjs} +1 -1
- package/dist/{code-highlight-C9lKek2p.cjs.map → code-highlight-BROOsNA_.cjs.map} +1 -1
- package/dist/{code-highlight-D6yruol6.js → code-highlight-DjiyaDcX.js} +1 -1
- package/dist/{code-highlight-D6yruol6.js.map → code-highlight-DjiyaDcX.js.map} +1 -1
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{components-DSvPKR9Q.js → components-DKgu88mm.js} +1 -1
- package/dist/{components-DSvPKR9Q.js.map → components-DKgu88mm.js.map} +1 -1
- package/dist/{components-ByRyEzz5.cjs → components-ubXwQbGs.cjs} +1 -1
- package/dist/{components-ByRyEzz5.cjs.map → components-ubXwQbGs.cjs.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/connectivity.cjs +1 -1
- package/dist/connectivity.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/context-B81Q3U_1.cjs +1 -0
- package/dist/context-B81Q3U_1.cjs.map +1 -0
- package/dist/context-Dnj4ofbV.js +3 -0
- package/dist/context-Dnj4ofbV.js.map +1 -0
- package/dist/{date-range-tEX2Jx2j.js → date-range-CwqFuGGK.js} +3 -3
- package/dist/{date-range-tEX2Jx2j.js.map → date-range-CwqFuGGK.js.map} +1 -1
- package/dist/{date-range-inline-B87TDYI6.js.map → date-range-inline-B_g1YXu3.js.map} +1 -1
- package/dist/{date-range-inline-De-M0VmL.cjs.map → date-range-inline-LLC3Y0mi.cjs.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/{date-range-DJsavigf.cjs → date-range-n_xPONd5.cjs} +1 -1
- package/dist/{date-range-DJsavigf.cjs.map → date-range-n_xPONd5.cjs.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-BvVdfhAR.cjs → delay-BFpu_Yz9.cjs} +1 -1
- package/dist/{delay-BvVdfhAR.cjs.map → delay-BFpu_Yz9.cjs.map} +1 -1
- package/dist/{delay-CZw37zps.js → delay-Bkd3SOTy.js} +4 -4
- package/dist/{delay-CZw37zps.js.map → delay-Bkd3SOTy.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-Bhz8_whd.cjs → details-Bal2g3J4.cjs} +1 -1
- package/dist/{details-Bhz8_whd.cjs.map → details-Bal2g3J4.cjs.map} +1 -1
- package/dist/{details-D7VTnLOh.js → details-DZq61CD5.js} +1 -1
- package/dist/{details-D7VTnLOh.js.map → details-DZq61CD5.js.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-service-ClFrOWf4.js → dialog-service-CCFGpU7a.js} +1 -1
- package/dist/{dialog-service-ClFrOWf4.js.map → dialog-service-CCFGpU7a.js.map} +1 -1
- package/dist/{dialog-service-DcuAavp2.cjs → dialog-service-DXLGSshF.cjs} +1 -1
- package/dist/{dialog-service-DcuAavp2.cjs.map → dialog-service-DXLGSshF.cjs.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +2 -2
- package/dist/{divider-zS232JDr.js → divider-ChK7lCQF.js} +1 -1
- package/dist/{divider-zS232JDr.js.map → divider-ChK7lCQF.js.map} +1 -1
- package/dist/{divider-S0bHwCCS.cjs → divider-RjZbewe8.cjs} +1 -1
- package/dist/{divider-S0bHwCCS.cjs.map → divider-RjZbewe8.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +2 -2
- package/dist/{expand-BXt9SqAF.js → expand-CUrWPZu-.js} +2 -2
- package/dist/{expand-BXt9SqAF.js.map → expand-CUrWPZu-.js.map} +1 -1
- package/dist/{expand-Dr7TFXpl.cjs → expand-DwZKr9hD.cjs} +1 -1
- package/dist/{expand-Dr7TFXpl.cjs.map → expand-DwZKr9hD.cjs.map} +1 -1
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{extra-BmZTXAp0.cjs → extra-BE9p8l3U.cjs} +1 -1
- package/dist/{extra-BmZTXAp0.cjs.map → extra-BE9p8l3U.cjs.map} +1 -1
- package/dist/{extra-COYhsOyZ.js → extra-C7xp1GQG.js} +1 -1
- package/dist/{extra-COYhsOyZ.js.map → extra-C7xp1GQG.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{float-CSRW-Rrd.cjs → float-DoHSvH7R.cjs} +1 -1
- package/dist/{float-CSRW-Rrd.cjs.map → float-DoHSvH7R.cjs.map} +1 -1
- package/dist/{float-DCXafWh6.js → float-kRCgEf_1.js} +1 -1
- package/dist/{float-DCXafWh6.js.map → float-kRCgEf_1.js.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{flow-CqgDEIqK.js.map → flow-BPDtbhLe.js.map} +1 -1
- package/dist/{flow-DSu4PLt1.cjs.map → flow-Dn9AZktE.cjs.map} +1 -1
- package/dist/{form-D2cJ58TB.js.map → form-C1qS9uvS.js.map} +1 -1
- package/dist/{form-CAY9GSCd.cjs.map → form-CzD0JLxM.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{hashContent-nD2uWwi2.js.map → hashContent-BUqULUiZ.js.map} +1 -1
- package/dist/{hashContent-kKvXKFa9.cjs.map → hashContent-CI39BY-_.cjs.map} +1 -1
- package/dist/{icons-DPUeLS_Y.cjs → icons-Bz84Dr-q.cjs} +4 -4
- package/dist/icons-Bz84Dr-q.cjs.map +1 -0
- package/dist/{icons-BbaI9Zf-.js → icons-D93IZn6-.js} +29 -25
- package/dist/icons-D93IZn6-.js.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-Ct50FYXq.cjs → iframe-Cmanzy9x.cjs} +1 -1
- package/dist/{iframe-Ct50FYXq.cjs.map → iframe-Cmanzy9x.cjs.map} +1 -1
- package/dist/{iframe-CEDOvkql.js → iframe-DyOg96rn.js} +1 -1
- package/dist/{iframe-CEDOvkql.js.map → iframe-DyOg96rn.js.map} +1 -1
- package/dist/iframe.cjs +1 -1
- package/dist/iframe.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +40 -40
- package/dist/{input-DMjpf6V8.cjs.map → input-DIuyi3Gm.cjs.map} +1 -1
- package/dist/{input-Ri72dn5t.js.map → input-HzweUBSn.js.map} +1 -1
- package/dist/{input-chip-CI4__N8w.js → input-chip-B4uw64rQ.js} +1 -1
- package/dist/{input-chip-CI4__N8w.js.map → input-chip-B4uw64rQ.js.map} +1 -1
- package/dist/{input-chip-BhjGVpc3.cjs → input-chip-DY9IEbQj.cjs} +1 -1
- package/dist/{input-chip-BhjGVpc3.cjs.map → input-chip-DY9IEbQj.cjs.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/{intersection-LfEsy29T.js.map → intersection-C0JuW_7U.js.map} +1 -1
- package/dist/{intersection-D1v1UCVv.cjs.map → intersection-MvbRovUz.cjs.map} +1 -1
- package/dist/json.cjs +1 -1
- package/dist/json.js +2 -2
- package/dist/kbd.cjs +1 -1
- package/dist/kbd.js +1 -1
- package/dist/{layout-uAQpJN31.js → layout-D7OCZ8rE.js} +2 -2
- package/dist/{layout-uAQpJN31.js.map → layout-D7OCZ8rE.js.map} +1 -1
- package/dist/{layout-D7xOqMkJ.cjs → layout-DIuACbuC.cjs} +1 -1
- package/dist/{layout-D7xOqMkJ.cjs.map → layout-DIuACbuC.cjs.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -2
- package/dist/{lightbox-cXRnvHMN.cjs → lightbox-DFbqNGoX.cjs} +1 -1
- package/dist/{lightbox-cXRnvHMN.cjs.map → lightbox-DFbqNGoX.cjs.map} +1 -1
- package/dist/{lightbox-C0OEHns9.js → lightbox-DL-v1tk9.js} +3 -3
- package/dist/{lightbox-C0OEHns9.js.map → lightbox-DL-v1tk9.js.map} +1 -1
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-CmJ5h35b.cjs → list-D99W7WvC.cjs} +1 -1
- package/dist/{list-CmJ5h35b.cjs.map → list-D99W7WvC.cjs.map} +1 -1
- package/dist/{list-d1mHar5p.js → list-DZTLJ-2e.js} +2 -2
- package/dist/{list-d1mHar5p.js.map → list-DZTLJ-2e.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-CncaUoxz.js → litElement.mixin-D6ZHgGZv.js} +1 -1
- package/dist/{litElement.mixin-CncaUoxz.js.map → litElement.mixin-D6ZHgGZv.js.map} +1 -1
- package/dist/{litElement.mixin-Bj2q1yPw.cjs → litElement.mixin-De5SG5z7.cjs} +1 -1
- package/dist/{litElement.mixin-Bj2q1yPw.cjs.map → litElement.mixin-De5SG5z7.cjs.map} +1 -1
- package/dist/{mailbox-C4-E93be.js → mailbox-BBV6hDAa.js} +5 -5
- package/dist/{mailbox-C4-E93be.js.map → mailbox-BBV6hDAa.js.map} +1 -1
- package/dist/{mailbox-BmChskZc.cjs → mailbox-CW7zc0v-.cjs} +1 -1
- package/dist/{mailbox-BmChskZc.cjs.map → mailbox-CW7zc0v-.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-DYEvlNl0.cjs → map-CSQMA89X.cjs} +1 -1
- package/dist/{map-DYEvlNl0.cjs.map → map-CSQMA89X.cjs.map} +1 -1
- package/dist/{map-DHyYLhvy.js → map-PvojF8B3.js} +1 -1
- package/dist/{map-DHyYLhvy.js.map → map-PvojF8B3.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{menu-BlPTI6H9.cjs → menu-3XXOfmrj.cjs} +1 -1
- package/dist/{menu-BlPTI6H9.cjs.map → menu-3XXOfmrj.cjs.map} +1 -1
- package/dist/{menu-DFDBADp4.js → menu-B_o1fOPW.js} +2 -2
- package/dist/{menu-DFDBADp4.js.map → menu-B_o1fOPW.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +2 -2
- 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.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-DGpv8g2H.js → notification-BMtrJG-Y.js} +2 -2
- package/dist/{notification-DGpv8g2H.js.map → notification-BMtrJG-Y.js.map} +1 -1
- package/dist/{notification-DKVWYhqs.cjs → notification-NnsatHAh.cjs} +1 -1
- package/dist/{notification-DKVWYhqs.cjs.map → notification-NnsatHAh.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-BD2eh458.js → option-CNzW-sdU.js} +1 -1
- package/dist/{option-BD2eh458.js.map → option-CNzW-sdU.js.map} +1 -1
- package/dist/{option-LtSDy2xf.cjs → option-DxIFpYpC.cjs} +1 -1
- package/dist/{option-LtSDy2xf.cjs.map → option-DxIFpYpC.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-stack-Ca4EK2Mu.js.map → overlay-stack-BJt_r6aZ.js.map} +1 -1
- package/dist/{overlay-stack-CEYGD9T1.cjs.map → overlay-stack-J_eJCUTX.cjs.map} +1 -1
- package/dist/page.cjs +1 -1
- package/dist/page.js +2 -2
- package/dist/{progress-B5ChDPbB.cjs → progress-Cw6Qn3Kb.cjs} +1 -1
- package/dist/{progress-B5ChDPbB.cjs.map → progress-Cw6Qn3Kb.cjs.map} +1 -1
- package/dist/{progress-CE1Pk2hi.js → progress-DHmYCHmy.js} +1 -1
- package/dist/{progress-CE1Pk2hi.js.map → progress-DHmYCHmy.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{provide-jn1Fj1vv.js → provide-C4L6R1lo.js} +1 -1
- package/dist/{provide-jn1Fj1vv.js.map → provide-C4L6R1lo.js.map} +1 -1
- package/dist/{provide-BZ9lq_Be.cjs → provide-Dsoh3FdP.cjs} +1 -1
- package/dist/{provide-BZ9lq_Be.cjs.map → provide-Dsoh3FdP.cjs.map} +1 -1
- package/dist/qr-scanner.cjs +1 -1
- package/dist/qr-scanner.js +1 -1
- package/dist/{radio-group-CyRHgIF3.js → radio-group-DneItRXU.js} +1 -1
- package/dist/{radio-group-CyRHgIF3.js.map → radio-group-DneItRXU.js.map} +1 -1
- package/dist/{radio-group-Cd9pZ2MR.cjs → radio-group-xgKQTd6h.cjs} +1 -1
- package/dist/{radio-group-Cd9pZ2MR.cjs.map → radio-group-xgKQTd6h.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/range.cjs +1 -1
- package/dist/range.js +1 -1
- package/dist/{rxjs-utils-Bldch1RO.js.map → rxjs-utils-CN9fv8Xq.js.map} +1 -1
- package/dist/{rxjs-utils-hAgKC7vk.cjs.map → rxjs-utils-Vn6DCKgL.cjs.map} +1 -1
- package/dist/rxjs-utils.cjs +1 -1
- package/dist/rxjs-utils.js +1 -1
- package/dist/{scroll-DoliwpRu.js → scroll-D7QJYev7.js} +1 -1
- package/dist/{scroll-DoliwpRu.js.map → scroll-D7QJYev7.js.map} +1 -1
- package/dist/{scroll-C_iNOi7E.cjs → scroll-DZAB4JFv.cjs} +1 -1
- package/dist/{scroll-C_iNOi7E.cjs.map → scroll-DZAB4JFv.cjs.map} +1 -1
- package/dist/{select-_vHPXi30.js → select-B2T3RZng.js} +2 -2
- package/dist/{select-_vHPXi30.js.map → select-B2T3RZng.js.map} +1 -1
- package/dist/{select-CWWuZ2iJ.cjs → select-D2eLEDUT.cjs} +1 -1
- package/dist/{select-CWWuZ2iJ.cjs.map → select-D2eLEDUT.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-i1KtxGIj.js → sheet-BiGXZPdu.js} +3 -3
- package/dist/{sheet-i1KtxGIj.js.map → sheet-BiGXZPdu.js.map} +1 -1
- package/dist/{sheet-r0oEYIdi.cjs → sheet-NaecDxuR.cjs} +1 -1
- package/dist/{sheet-r0oEYIdi.cjs.map → sheet-NaecDxuR.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-Cr13Oo6G.cjs → sheet.service-CQq5hUNb.cjs} +1 -1
- package/dist/{sheet.service-Cr13Oo6G.cjs.map → sheet.service-CQq5hUNb.cjs.map} +1 -1
- package/dist/{sheet.service-DUO5_kmI.js → sheet.service-gek7Spb6.js} +2 -2
- package/dist/{sheet.service-DUO5_kmI.js.map → sheet.service-gek7Spb6.js.map} +1 -1
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.js +1 -1
- package/dist/skills/INDEX.md +1 -1
- package/dist/skills/SKILL.md +2 -2
- package/dist/skills/schmancy/INDEX.md +1 -1
- package/dist/skills/schmancy/SKILL.md +2 -2
- package/dist/skills/schmancy/surface.md +14 -0
- package/dist/skills/schmancy/theme.md +83 -5
- package/dist/skills/surface.md +14 -0
- package/dist/skills/theme.md +83 -5
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{splash-screen-CquyPP1C.cjs → splash-screen-CxPHf-SC.cjs} +1 -1
- package/dist/{splash-screen-CquyPP1C.cjs.map → splash-screen-CxPHf-SC.cjs.map} +1 -1
- package/dist/{splash-screen-CvucPkpD.js → splash-screen-Dc6LDIbK.js} +1 -1
- package/dist/{splash-screen-CvucPkpD.js.map → splash-screen-Dc6LDIbK.js.map} +1 -1
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-Bemk2C2P.cjs → src-BP8bYUHc.cjs} +1 -1
- package/dist/{src-Bemk2C2P.cjs.map → src-BP8bYUHc.cjs.map} +1 -1
- package/dist/{src-f5a3W9Mj.js → src-BYrvfmFF.js} +46 -46
- package/dist/{src-f5a3W9Mj.js.map → src-BYrvfmFF.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +3 -3
- package/dist/{surface-CkEYJCae.js → surface-B2cmGNZ2.js} +2 -2
- package/dist/{surface-CkEYJCae.js.map → surface-B2cmGNZ2.js.map} +1 -1
- package/dist/{surface-CDufon40.cjs → surface-C9plkl5F.cjs} +1 -1
- package/dist/{surface-CDufon40.cjs.map → surface-C9plkl5F.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/switch.cjs +1 -1
- package/dist/switch.js +1 -1
- package/dist/{table-DWc1mkpj.cjs → table-6xNLZh3K.cjs} +2 -2
- package/dist/{table-DWc1mkpj.cjs.map → table-6xNLZh3K.cjs.map} +1 -1
- package/dist/{table-P6VGG7NK.js → table-BCJgjSvq.js} +3 -3
- package/dist/{table-P6VGG7NK.js.map → table-BCJgjSvq.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-CjGjGrqY.js → tabs-BDqvhB54.js} +2 -2
- package/dist/{tabs-CjGjGrqY.js.map → tabs-BDqvhB54.js.map} +1 -1
- package/dist/{tabs-DGJEKuhC.cjs → tabs-pvevSaFB.cjs} +1 -1
- package/dist/{tabs-DGJEKuhC.cjs.map → tabs-pvevSaFB.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-Bug3G6K6.cjs +2 -0
- package/dist/tailwind.mixin-Bug3G6K6.cjs.map +1 -0
- package/dist/tailwind.mixin-ywtUNG2c.js +219 -0
- package/dist/tailwind.mixin-ywtUNG2c.js.map +1 -0
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-DZT_Ofp5.js → textarea-BvZn41aa.js} +1 -1
- package/dist/{textarea-DZT_Ofp5.js.map → textarea-BvZn41aa.js.map} +1 -1
- package/dist/{textarea-jmTOXrzl.cjs → textarea-D2v000gK.cjs} +1 -1
- package/dist/{textarea-jmTOXrzl.cjs.map → textarea-D2v000gK.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-CCKqaksQ.cjs → theme-Dw9Ag_VS.cjs} +1 -1
- package/dist/{theme-CCKqaksQ.cjs.map → theme-Dw9Ag_VS.cjs.map} +1 -1
- package/dist/{theme-CEc32pAv.js → theme-JvXazXJr.js} +4 -4
- package/dist/{theme-CEc32pAv.js.map → theme-JvXazXJr.js.map} +1 -1
- package/dist/{theme-button-dOiAvdKU.js → theme-button-Bh8wKXtV.js} +1 -1
- package/dist/{theme-button-dOiAvdKU.js.map → theme-button-Bh8wKXtV.js.map} +1 -1
- package/dist/{theme-button-BsJcv-Zv.cjs → theme-button-qHd4AFsE.cjs} +1 -1
- package/dist/{theme-button-BsJcv-Zv.cjs.map → theme-button-qHd4AFsE.cjs.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.interface-CM26m9te.cjs.map → theme.interface-CCE3L1ql.cjs.map} +1 -1
- package/dist/{theme.interface-FAUIgbIq.js.map → theme.interface-Cyqv5XWY.js.map} +1 -1
- package/dist/theme.js +3 -3
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{tslib.es6-Bd-92OW3.cjs.map → tslib.es6-PMITL0Z3.cjs.map} +1 -1
- package/dist/{tslib.es6-CI1onEZb.js.map → tslib.es6-vJQZBGJO.js.map} +1 -1
- package/dist/{typewriter-ByIL2Mh-.cjs → typewriter-C5uDB2Lu.cjs} +1 -1
- package/dist/{typewriter-ByIL2Mh-.cjs.map → typewriter-C5uDB2Lu.cjs.map} +1 -1
- package/dist/{typewriter-vOQ3bDLb.js → typewriter-PpYJFsVi.js} +5 -5
- package/dist/{typewriter-vOQ3bDLb.js.map → typewriter-PpYJFsVi.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/{utils-D2kE-6zc.cjs → utils-C8PD8So2.cjs} +1 -1
- package/dist/{utils-D2kE-6zc.cjs.map → utils-C8PD8So2.cjs.map} +1 -1
- package/dist/{utils-Cq0m3LYo.js → utils-DVuCPDfw.js} +2 -2
- package/dist/{utils-Cq0m3LYo.js.map → utils-DVuCPDfw.js.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +3 -3
- package/dist/visually-hidden.cjs +1 -1
- package/dist/visually-hidden.js +1 -1
- package/dist/{window-WnAihpsA.js → window-ChDgkb97.js} +2 -2
- package/dist/{window-WnAihpsA.js.map → window-ChDgkb97.js.map} +1 -1
- package/dist/{window-BS7ZQjgH.cjs → window-Czfu-i4Y.cjs} +1 -1
- package/dist/{window-BS7ZQjgH.cjs.map → window-Czfu-i4Y.cjs.map} +1 -1
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +1 -1
- package/skills/schmancy/INDEX.md +1 -1
- package/skills/schmancy/SKILL.md +2 -2
- package/skills/schmancy/surface.md +14 -0
- package/skills/schmancy/theme.md +83 -5
- package/src/button/button.ts +6 -1
- package/src/button/context.ts +9 -0
- package/src/icons/icon.ts +19 -3
- package/types/src/button/button.d.ts +4 -1
- package/types/src/button/context.d.ts +8 -0
- package/types/src/icons/icon.d.ts +9 -0
- package/dist/icons-BbaI9Zf-.js.map +0 -1
- package/dist/icons-DPUeLS_Y.cjs.map +0 -1
- package/dist/tailwind.mixin-Cpa-VnnX.cjs +0 -2
- package/dist/tailwind.mixin-Cpa-VnnX.cjs.map +0 -1
- package/dist/tailwind.mixin-DufHBjmb.js +0 -219
- package/dist/tailwind.mixin-DufHBjmb.js.map +0 -1
- /package/dist/{date-range-inline-B87TDYI6.js → date-range-inline-B_g1YXu3.js} +0 -0
- /package/dist/{date-range-inline-De-M0VmL.cjs → date-range-inline-LLC3Y0mi.cjs} +0 -0
- /package/dist/{flow-CqgDEIqK.js → flow-BPDtbhLe.js} +0 -0
- /package/dist/{flow-DSu4PLt1.cjs → flow-Dn9AZktE.cjs} +0 -0
- /package/dist/{form-D2cJ58TB.js → form-C1qS9uvS.js} +0 -0
- /package/dist/{form-CAY9GSCd.cjs → form-CzD0JLxM.cjs} +0 -0
- /package/dist/{hashContent-nD2uWwi2.js → hashContent-BUqULUiZ.js} +0 -0
- /package/dist/{hashContent-kKvXKFa9.cjs → hashContent-CI39BY-_.cjs} +0 -0
- /package/dist/{input-DMjpf6V8.cjs → input-DIuyi3Gm.cjs} +0 -0
- /package/dist/{input-Ri72dn5t.js → input-HzweUBSn.js} +0 -0
- /package/dist/{intersection-LfEsy29T.js → intersection-C0JuW_7U.js} +0 -0
- /package/dist/{intersection-D1v1UCVv.cjs → intersection-MvbRovUz.cjs} +0 -0
- /package/dist/{overlay-stack-Ca4EK2Mu.js → overlay-stack-BJt_r6aZ.js} +0 -0
- /package/dist/{overlay-stack-CEYGD9T1.cjs → overlay-stack-J_eJCUTX.cjs} +0 -0
- /package/dist/{rxjs-utils-Bldch1RO.js → rxjs-utils-CN9fv8Xq.js} +0 -0
- /package/dist/{rxjs-utils-hAgKC7vk.cjs → rxjs-utils-Vn6DCKgL.cjs} +0 -0
- /package/dist/{theme.interface-CM26m9te.cjs → theme.interface-CCE3L1ql.cjs} +0 -0
- /package/dist/{theme.interface-FAUIgbIq.js → theme.interface-Cyqv5XWY.js} +0 -0
- /package/dist/{tslib.es6-Bd-92OW3.cjs → tslib.es6-PMITL0Z3.cjs} +0 -0
- /package/dist/{tslib.es6-CI1onEZb.js → tslib.es6-vJQZBGJO.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-
|
|
1
|
+
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-Bug3G6K6.cjs`),t=require(`./provide-Dsoh3FdP.cjs`),n=require(`./decorate-F9CuyeHg.cjs`),r=require(`./litElement.mixin-De5SG5z7.cjs`),i=require(`./hashContent-CI39BY-_.cjs`);let a=require(`rxjs`),o=require(`rxjs/operators`),s=require(`lit/decorators.js`),c=require(`lit`),l=require(`lit/async-directive.js`),u=require(`lit/directive.js`),d=require(`lit/html.js`),f=require(`lit/directives/cache.js`);var p,m=new WeakMap,h=0,g=new Map,_=new WeakSet,v=()=>new Promise(e=>requestAnimationFrame(e)),y=[{transform:`translateY(100%) scale(0)`,opacity:0}],b=[{transform:`translateY(-100%) scale(0)`,opacity:0}],x=[{opacity:0},{opacity:1}],S=(e,t)=>{let n=e-t;return n===0?void 0:n},C=(e,t)=>{let n=e/t;return n===1?void 0:n},w={left:(e,t)=>{let n=S(e,t);return{value:n,transform:n==null||isNaN(n)?void 0:`translateX(${n}px)`}},top:(e,t)=>{let n=S(e,t);return{value:n,transform:n==null||isNaN(n)?void 0:`translateY(${n}px)`}},width:(e,t)=>{let n;t===0&&(t=1,n={width:`1px`});let r=C(e,t);return{value:r,overrideFrom:n,transform:r==null||isNaN(r)?void 0:`scaleX(${r})`}},height:(e,t)=>{let n;t===0&&(t=1,n={height:`1px`});let r=C(e,t);return{value:r,overrideFrom:n,transform:r==null||isNaN(r)?void 0:`scaleY(${r})`}}},T={duration:333,easing:`ease-in-out`},E=[`left`,`top`,`width`,`height`,`opacity`,`color`,`background`],D=new WeakMap,O=class extends l.AsyncDirective{constructor(e){if(super(e),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,e.type===u.PartType.CHILD)throw Error("The `animate` directive must be used in attribute position.");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise(e=>{this.l=e})}async resolveFinished(){this.l?.(),this.l=void 0}render(e){return d.nothing}getController(){return m.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(e,[t]){let n=this.u===void 0;return n&&(this.u=e.options?.host,this.u.addController(this),this.u.updateComplete.then(e=>this.t=!0),this.element=e.element,D.set(this.element,this)),this.optionsOrCallback=t,(n||typeof t!=`function`)&&this.m(t),this.render(t)}m(e){e??={};let t=this.getController();t!==void 0&&((e={...t.defaultOptions,...e}).keyframeOptions={...t.defaultOptions.keyframeOptions,...e.keyframeOptions}),e.properties??=E,this.options=e}p(){let e={},t=this.element.getBoundingClientRect(),n=getComputedStyle(this.element);return this.options.properties.forEach(r=>{let i=t[r]??(w[r]?void 0:n[r]),a=Number(i);e[r]=isNaN(a)?i+``:a}),e}v(){let e,t=!0;return this.options.guard&&(e=this.options.guard(),t=((e,t)=>{if(Array.isArray(e)){if(Array.isArray(t)&&t.length===e.length&&e.every((e,n)=>e===t[n]))return!1}else if(t===e)return!1;return!0})(e,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&t&&this.element.isConnected,this.h&&(this._=Array.isArray(e)?Array.from(e):e),this.h}hostUpdate(){typeof this.optionsOrCallback==`function`&&this.m(this.optionsOrCallback()),this.v()&&(this.A=this.p(),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 e;this.prepare(),await v;let t=this.P(),n=this.V(this.options.keyframeOptions,t),r=this.p();if(this.A!==void 0){let{from:n,to:i}=this.O(this.A,r,t);this.log(`measured`,[this.A,r,n,i]),e=this.calculateKeyframes(n,i)}else{let n=g.get(this.options.inId);if(n){g.delete(this.options.inId);let{from:i,to:a}=this.O(n,r,t);e=this.calculateKeyframes(i,a),e=this.options.in?[{...this.options.in[0],...e[0]},...this.options.in.slice(1),e[1]]:e,h++,e.forEach(e=>e.zIndex=h)}else this.options.in&&(e=[...this.options.in,{}])}this.animate(e,n)}resetStyles(){this.j!==void 0&&(this.element.setAttribute(`style`,this.j??``),this.j=void 0)}commitStyles(){this.j=this.element.getAttribute(`style`),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h||(this.options.id!==void 0&&g.set(this.options.id,this.A),this.options.out===void 0))return;if(this.prepare(),await v(),this.i?.isConnected){let e=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,e),this.options.stabilizeOut){let e=this.p();this.log(`stabilizing out`);let t=this.A.left-e.left,n=this.A.top-e.top;getComputedStyle(this.element).position!==`static`||t===0&&n===0||(this.element.style.position=`relative`),t!==0&&(this.element.style.left=t+`px`),n!==0&&(this.element.style.top=n+`px`)}}let e=this.V(this.options.keyframeOptions);await this.animate(this.options.out,e),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(e){e&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}P(){let e=[];for(let t=this.element.parentNode;t;t=t?.parentNode){let n=D.get(t);n&&!n.isDisabled()&&n&&e.push(n)}return e}get isHostRendered(){let e=_.has(this.u);return e||this.u.updateComplete.then(()=>{_.add(this.u)}),e}V(e,t=this.P()){let n={...T};return t.forEach(e=>Object.assign(n,e.options.keyframeOptions)),Object.assign(n,e),n}O(e,t,n){e={...e},t={...t};let r=n.map(e=>e.animatingProperties).filter(e=>e!==void 0),i=1,a=1;return r.length>0&&(r.forEach(e=>{e.width&&(i/=e.width),e.height&&(a/=e.height)}),e.left!==void 0&&t.left!==void 0&&(e.left=i*e.left,t.left=i*t.left),e.top!==void 0&&t.top!==void 0&&(e.top=a*e.top,t.top=a*t.top)),{from:e,to:t}}calculateKeyframes(e,t,n=!1){let r={},i={},a=!1,o={};for(let n in t){let s=e[n],c=t[n];if(n in w){let e=w[n];if(s===void 0||c===void 0)continue;let t=e(s,c);t.transform!==void 0&&(o[n]=t.value,a=!0,r.transform=`${r.transform??``} ${t.transform}`,t.overrideFrom!==void 0&&Object.assign(r,t.overrideFrom))}else s!==c&&s!==void 0&&c!==void 0&&(a=!0,r[n]=s,i[n]=c)}return r.transformOrigin=i.transformOrigin=n?`center center`:`top left`,this.animatingProperties=o,a?[r,i]:void 0}async animate(e,t=this.options.keyframeOptions){this.start(),this.frames=e;let n=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=e=this.options.onFrames(this),this.log(`modified frames`,e)),e!==void 0)){this.log(`animate`,[e,t]),n=!0,this.webAnimation=this.element.animate(e,t);let r=this.getController();r?.add(this);try{await this.webAnimation.finished}catch{}r?.remove(this)}return this.didFinish(n),n}isAnimating(){return this.webAnimation?.playState===`running`||this.webAnimation?.pending}log(e,t){this.shouldLog&&this.isDisabled()}},k=(0,u.directive)(O),A=[`top`,`right`,`bottom`,`left`],j=class extends l.AsyncDirective{constructor(e){if(super(e),e.type!==u.PartType.ELEMENT)throw Error("The `position` directive must be used in attribute position.")}render(e,t){return d.nothing}update(e,[t,n]){return this.u===void 0&&(this.u=e.options?.host,this.u.addController(this)),this.C=e.element,this.N=t,this.S=n??[`left`,`top`,`width`,`height`],this.render(t,n)}hostUpdated(){this.F()}F(){let e=typeof this.N==`function`?this.N():this.N?.value,t=e.offsetParent;if(e===void 0||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();this.S?.forEach(e=>{let t=A.includes(e)?n[e]-r[e]:n[e];this.C.style[e]=t+`px`})}},M=((0,u.directive)(j),e.o(`delay-context`)),N=p=class extends r.t(){constructor(...e){super(...e),this.delay=0,this.motion=`flyBelow`,this.rendered=!1,this.parentDelay=0,this.effectiveDelay=0,this.once=!0,this.sessionKey=``}firstUpdated(){this.observeSlotChanges(),this.updateRenderState()}disconnectedCallback(){super.disconnectedCallback(),this.mutationObserver?.disconnect()}observeSlotChanges(){let e=this.shadowRoot?.querySelector(`slot`);e&&(this.mutationObserver=new MutationObserver(()=>{this.sessionKey=this.generateSessionKey()}),this.mutationObserver.observe(e,{childList:!0,subtree:!0}))}getTotalSiblingDelay(e){if(!(e&&e instanceof HTMLElement))return 0;let t=0,n=e.previousElementSibling;for(;n;)n instanceof p&&(t+=n.delay),n=n.previousElementSibling;return e.parentElement&&(t+=this.getTotalSiblingDelay(e.parentElement)),t}updateRenderState(){if(this.sessionKey=this.generateSessionKey(),this.once&&sessionStorage.getItem(this.sessionKey)===`true`)return void(this.rendered=!0);let e=this.getTotalSiblingDelay(this);this.effectiveDelay=this.delay+this.parentDelay+e,(0,a.timer)(this.effectiveDelay).pipe((0,o.takeUntil)(this.disconnecting)).subscribe(()=>{if(this.rendered=!0,this.once)try{sessionStorage.setItem(this.sessionKey,`true`)}catch{}})}generateSessionKey(){let e=this.assignedElements.map(e=>e.outerHTML).join(``);return this.once?i.t(e):``}get motionLit(){return this.motion===`flyBelow`?y:this.motion===`flyAbove`?b:x}render(){return(0,f.cache)(this.rendered?c.html`<div
|
|
2
2
|
${k({in:this.motionLit,keyframeOptions:{duration:300,easing:`ease-out`}})}
|
|
3
3
|
>
|
|
4
4
|
<slot></slot>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delay-BvVdfhAR.cjs","names":["i","o","s","t"],"sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../node_modules/@lit-labs/motion/position.js","../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.m(i),this.render(i)}m(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}p(){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.m(this.optionsOrCallback()),this.v()&&(this.A=this.p(),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.P(),s=this.V(this.options.keyframeOptions,i),e=this.p();if(void 0!==this.A){const{from:s,to:h}=this.O(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.O(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.j&&(this.element.setAttribute(\"style\",this.j??\"\"),this.j=void 0)}commitStyles(){this.j=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.p();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.V(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()}P(){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}V(t,i=this.P()){const s={...A};return i.forEach(t=>Object.assign(s,t.options.keyframeOptions)),Object.assign(s,t),s}O(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.C=t.element,this.N=i,this.S=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.F()}F(){const t=\"function\"==typeof this.N?this.N():this.N?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.S?.forEach(t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.C.style[t]=i+\"px\"})}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\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"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delay-BFpu_Yz9.cjs","names":["i","o","s","t"],"sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../node_modules/@lit-labs/motion/position.js","../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.m(i),this.render(i)}m(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}p(){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.m(this.optionsOrCallback()),this.v()&&(this.A=this.p(),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.P(),s=this.V(this.options.keyframeOptions,i),e=this.p();if(void 0!==this.A){const{from:s,to:h}=this.O(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.O(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.j&&(this.element.setAttribute(\"style\",this.j??\"\"),this.j=void 0)}commitStyles(){this.j=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.p();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.V(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()}P(){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}V(t,i=this.P()){const s={...A};return i.forEach(t=>Object.assign(s,t.options.keyframeOptions)),Object.assign(s,t),s}O(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.C=t.element,this.N=i,this.S=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.F()}F(){const t=\"function\"==typeof this.N?this.N():this.N?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.S?.forEach(t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.C.style[t]=i+\"px\"})}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\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"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as e, o as t } from "./tailwind.mixin-
|
|
2
|
-
import { t as n } from "./provide-
|
|
1
|
+
import { a as e, o as t } from "./tailwind.mixin-ywtUNG2c.js";
|
|
2
|
+
import { t as n } from "./provide-C4L6R1lo.js";
|
|
3
3
|
import { t as r } from "./decorate-D_utPUsC.js";
|
|
4
|
-
import { t as i } from "./litElement.mixin-
|
|
5
|
-
import { t as a } from "./hashContent-
|
|
4
|
+
import { t as i } from "./litElement.mixin-D6ZHgGZv.js";
|
|
5
|
+
import { t as a } from "./hashContent-BUqULUiZ.js";
|
|
6
6
|
import { timer as o } from "rxjs";
|
|
7
7
|
import { takeUntil as s } from "rxjs/operators";
|
|
8
8
|
import { customElement as c, property as l, queryAssignedElements as u, state as d } from "lit/decorators.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delay-CZw37zps.js","names":["o","s","t","i"],"sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../node_modules/@lit-labs/motion/position.js","../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.m(i),this.render(i)}m(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}p(){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.m(this.optionsOrCallback()),this.v()&&(this.A=this.p(),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.P(),s=this.V(this.options.keyframeOptions,i),e=this.p();if(void 0!==this.A){const{from:s,to:h}=this.O(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.O(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.j&&(this.element.setAttribute(\"style\",this.j??\"\"),this.j=void 0)}commitStyles(){this.j=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.p();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.V(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()}P(){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}V(t,i=this.P()){const s={...A};return i.forEach(t=>Object.assign(s,t.options.keyframeOptions)),Object.assign(s,t),s}O(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.C=t.element,this.N=i,this.S=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.F()}F(){const t=\"function\"==typeof this.N?this.N():this.N?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.S?.forEach(t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.C.style[t]=i+\"px\"})}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\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"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delay-Bkd3SOTy.js","names":["o","s","t","i"],"sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../node_modules/@lit-labs/motion/position.js","../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.m(i),this.render(i)}m(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}p(){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.m(this.optionsOrCallback()),this.v()&&(this.A=this.p(),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.P(),s=this.V(this.options.keyframeOptions,i),e=this.p();if(void 0!==this.A){const{from:s,to:h}=this.O(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.O(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.j&&(this.element.setAttribute(\"style\",this.j??\"\"),this.j=void 0)}commitStyles(){this.j=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.p();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.V(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()}P(){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}V(t,i=this.P()){const s={...A};return i.forEach(t=>Object.assign(s,t.options.keyframeOptions)),Object.assign(s,t),s}O(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.C=t.element,this.N=i,this.S=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.F()}F(){const t=\"function\"==typeof this.N?this.N():this.N?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.S?.forEach(t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.C.style[t]=i+\"px\"})}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\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"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|
package/dist/delay.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./delay-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./delay-BFpu_Yz9.cjs`);Object.defineProperty(exports,`SchmancyDelay`,{enumerable:!0,get:function(){return e.t}}),exports.delayContext=e.n;
|
package/dist/delay.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./delay-
|
|
1
|
+
import { n as e, t } from "./delay-Bkd3SOTy.js";
|
|
2
2
|
export { t as SchmancyDelay, e as delayContext };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-
|
|
1
|
+
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-Bug3G6K6.cjs`),t=require(`./decorate-F9CuyeHg.cjs`),n=require(`./surface.mixin-CSKqQH-0.cjs`);require(`./mixins.cjs`);const r=require(`./animation-Bcwh107v.cjs`),i=require(`./reduced-motion-DR32yKEO.cjs`),a=require(`./cursor-glow-82y5h3E4.cjs`),o=require(`./magnetic-aBBnj_vk.cjs`);let s=require(`rxjs`),c=require(`rxjs/operators`),l=require(`lit/decorators.js`),u=require(`lit`),d=require(`lit/directives/ref.js`);var f=class extends n.t(e.t(u.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
transition: box-shadow 400ms cubic-bezier(0.34, 1.2, 0.64, 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details-Bhz8_whd.cjs","names":[],"sources":["../src/details/details.ts"],"sourcesContent":["import { TailwindElement, SurfaceMixin } from '@mixins/index'\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { cursorGlow } from '../directives/cursor-glow'\nimport { magnetic } from '../directives/magnetic'\nimport { createRef, ref, Ref } from 'lit/directives/ref.js'\nimport { BehaviorSubject, fromEvent, Subscription } from 'rxjs'\nimport { distinctUntilChanged, filter, take, takeUntil, tap } from 'rxjs/operators'\nimport { SPRING_SNAPPY } from '../utils/animation.js'\nimport { reducedMotion$ } from '../directives/reduced-motion'\n\n@customElement('schmancy-details')\nexport default class SchmancyDetails extends SurfaceMixin(\n\tTailwindElement(css`\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\ttransition: box-shadow 400ms cubic-bezier(0.34, 1.2, 0.64, 1);\n\t\t}\n\n\t\t:host([overlay]) {\n\t\t\tposition: relative;\n\t\t}\n\n\t\t:host([open]) {\n\t\t\tbox-shadow:\n\t\t\t\t0 2px 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent),\n\t\t\t\t0 8px 32px -8px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 8%, transparent);\n\t\t\tz-index: 10;\n\t\t}\n\n\t\tdetails {\n\t\t\tbackground: inherit;\n\t\t\tcolor: inherit;\n\t\t\tborder-radius: inherit;\n\t\t}\n\n\t\tsummary::-webkit-details-marker {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\tsummary {\n\t\t\tlist-style: none;\n\t\t\tcolor: inherit;\n\t\t}\n\n\t\t/*\n\t\t * Blackbird 2.1 — CSS-driven collapse/expand\n\t\t *\n\t\t * Single animation system: CSS grid transition handles height,\n\t\t * coordinated opacity fade for buttery smooth feel.\n\t\t * No competing Web Animations API on content.\n\t\t */\n\n\t\t.content-wrapper {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-rows: 0fr;\n\t\t\toverflow: hidden;\n\t\t\topacity: 0;\n\t\t\ttransition:\n\t\t\t\tgrid-template-rows 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\topacity 250ms ease;\n\t\t}\n\n\t\t/* Spring easing when linear() is supported */\n\t\t@supports (animation-timing-function: linear(0, 1)) {\n\t\t\t.content-wrapper {\n\t\t\t\ttransition:\n\t\t\t\t\tgrid-template-rows 400ms linear(\n\t\t\t\t\t\t0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%,\n\t\t\t\t\t\t0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50%, 1.015 54.8%,\n\t\t\t\t\t\t1.017 63.3%, 1.001\n\t\t\t\t\t),\n\t\t\t\t\topacity 250ms ease;\n\t\t\t}\n\t\t}\n\n\t\t.content-wrapper[data-open='true'] {\n\t\t\tgrid-template-rows: 1fr;\n\t\t\topacity: 1;\n\t\t}\n\n\t\t.content-inner {\n\t\t\tmin-height: 0;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t/*\n\t\t * Progressive Enhancement: ::details-content (Chrome 131+)\n\t\t *\n\t\t * When both ::details-content AND interpolate-size are supported,\n\t\t * the browser handles height animation natively — including animated\n\t\t * close via transition-behavior: allow-discrete on content-visibility.\n\t\t * The grid wrapper becomes transparent (display: contents).\n\t\t */\n\t\t@supports selector(::details-content) and (interpolate-size: allow-keywords) {\n\t\t\t:host {\n\t\t\t\tinterpolate-size: allow-keywords;\n\t\t\t}\n\n\t\t\t.content-wrapper {\n\t\t\t\tdisplay: contents;\n\t\t\t}\n\n\t\t\tdetails::details-content {\n\t\t\t\tblock-size: 0;\n\t\t\t\toverflow-y: clip;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition:\n\t\t\t\t\tblock-size 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\t\topacity 250ms ease,\n\t\t\t\t\tcontent-visibility 400ms;\n\t\t\t\ttransition-behavior: allow-discrete;\n\t\t\t}\n\n\t\t\tdetails[open]::details-content {\n\t\t\t\tblock-size: auto;\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.content-wrapper {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t\tdetails::details-content {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t}\n\t`),\n) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open' as const,\n\t\tdelegatesFocus: true,\n\t}\n\n\t@property() summary = ''\n\n\t@property({ type: Boolean, reflect: true })\n\tget open() {\n\t\treturn this._open$.value\n\t}\n\tset open(value: boolean) {\n\t\tif (this._open$.value !== value) {\n\t\t\tthis._open$.next(value)\n\t\t}\n\t}\n\n\t@property({ attribute: 'indicator-placement', reflect: true })\n\tindicatorPlacement: 'start' | 'end' = 'end'\n\n\t@property({ type: Boolean, attribute: 'hide-indicator' })\n\thideIndicator = false\n\n\t@property({ type: Number, attribute: 'indicator-rotate' })\n\tindicatorRotate: number = 90\n\n\t@property({ type: Boolean, reflect: true })\n\tlocked = false\n\n\t@property({ type: Boolean, reflect: true })\n\toverlay = false\n\n\t@property({ attribute: 'summary-padding' })\n\tsummaryPadding = 'p-3'\n\n\t@property({ attribute: 'content-padding' })\n\tcontentPadding = 'p-3'\n\n\tprivate _open$ = new BehaviorSubject<boolean>(false)\n\tprivate _indicatorRef: Ref<HTMLElement> = createRef()\n\tprivate _contentRef: Ref<HTMLDivElement> = createRef()\n\tprivate _currentAnimation?: Animation\n\tprivate _indicatorIsOpen = false\n\tprivate _closing = false\n\tprivate _closeSub?: Subscription\n\n\t/** True when browser handles close animation natively via ::details-content */\n\tprivate _nativeAnim =\n\t\ttypeof CSS !== 'undefined' &&\n\t\t!!CSS.supports?.('selector(::details-content)') &&\n\t\t!!CSS.supports?.('interpolate-size', 'allow-keywords')\n\n\t/**\n\t * Lazy rendering: tracks if content has ever been opened.\n\t * Once true, content stays rendered (even when closed) for smooth animations.\n\t */\n\t@state() private _hasOpened = false\n\n\tconstructor() {\n\t\tsuper()\n\t\tthis.type = 'solid'\n\t\tthis.rounded = 'all'\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tthis._open$\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(isOpen => {\n\t\t\t\t\tif (isOpen && !this._hasOpened) {\n\t\t\t\t\t\tthis._hasOpened = true\n\t\t\t\t\t}\n\t\t\t\t\tthis._animateIndicator(isOpen)\n\t\t\t\t\tthis._updateIndicatorSlot()\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => this.requestUpdate())\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis._closeSub?.unsubscribe()\n\t}\n\n\trender() {\n\t\tconst isOpen = this._open$.value\n\n\t\tconst detailsClasses = this.classMap({\n\t\t\t'w-full rounded-xl transition-shadow duration-200 ease-out': true,\n\t\t\t'overflow-hidden': !this.overlay,\n\t\t\t'overflow-visible relative': this.overlay,\n\t\t})\n\n\t\tconst summaryClasses = this.classMap({\n\t\t\t[this.summaryPadding]: true,\n\t\t\t'select-none relative flex items-center gap-2 rounded-xl': true,\n\t\t\t'transition-colors duration-150': true,\n\t\t\t'ring-1 ring-inset ring-transparent': true,\n\t\t\t'hover:bg-surface-on/5 active:bg-surface-on/8 hover:ring-outline-variant/40': !this.locked,\n\t\t\t'focus-visible:ring-2 focus-visible:ring-primary-default/50 focus-visible:ring-offset-1': !this.locked,\n\t\t\t'cursor-pointer group': !this.locked,\n\t\t\t'cursor-default': this.locked,\n\t\t\t'flex-row': this.indicatorPlacement === 'start',\n\t\t\t'flex-row-reverse': this.indicatorPlacement === 'end',\n\t\t})\n\n\t\tconst contentClasses = this.classMap({\n\t\t\t[this.contentPadding]: true,\n\t\t\t'text-sm': true,\n\t\t\t'absolute inset-x-0 bg-surface-lowest/55 backdrop-blur-[16px] shadow-2xl rounded-b-xl z-20 border border-surface-on/10':\n\t\t\t\tthis.overlay,\n\t\t})\n\n\t\treturn html`\n\t\t\t<details ?open=${isOpen} @toggle=${this._handleToggle} class=${detailsClasses}>\n\t\t\t\t<summary ${this.locked ? '' : magnetic({ strength: 2, radius: 50 })} ${this.locked ? '' : cursorGlow({ radius: 250, intensity: 0.08 })} class=${summaryClasses} tabindex=${this.locked ? -1 : 0} @click=${this._handleSummaryClick}>\n\t\t\t\t\t${!this.hideIndicator\n\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t${ref(this._indicatorRef)}\n\t\t\t\t\t\t\t\t\tclass=\"flex items-center justify-center w-5 h-5 rounded-full shrink-0 opacity-70 group-hover:opacity-100\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<slot name=\"indicator\" @slotchange=${this._handleIndicatorSlotChange}>\n\t\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"w-5 h-5\"\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 6L15 12L9 18\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t`\n\t\t\t\t\t\t: ''}\n\n\t\t\t\t\t<span class=\"flex-1 min-w-0\">\n\t\t\t\t\t\t<slot name=\"summary\">${this.summary}</slot>\n\t\t\t\t\t</span>\n\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</summary>\n\n\t\t\t\t<div\n\t\t\t\t\t${ref(this._contentRef)}\n\t\t\t\t\tclass=\"content-wrapper\"\n\t\t\t\t\tdata-open=${isOpen && !this._closing}\n\t\t\t\t\taria-hidden=${isOpen ? 'false' : 'true'}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"content-inner\">\n\t\t\t\t\t\t${this._hasOpened\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div class=${contentClasses}>\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t\t<slot name=\"details\"></slot>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t: nothing}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</details>\n\t\t`\n\t}\n\n\tprivate _handleSummaryClick(e: MouseEvent) {\n\t\tif ((e.target as HTMLElement).closest('[slot=\"actions\"]')) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this.locked) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this._closing) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\n\t\t// Native animated path (Chromium 131+): browser handles everything via CSS\n\t\tif (this._nativeAnim) return\n\n\t\t// Fallback: manually animate close via CSS transition, then close native details\n\t\tif (this._open$.value) {\n\t\t\te.preventDefault()\n\t\t\tthis._startClose()\n\t\t}\n\t\t// If closed, let native open happen (handled by _handleToggle)\n\t}\n\n\tprivate _handleToggle(e: Event) {\n\t\te.stopPropagation()\n\n\t\tconst ownDetails = this.shadowRoot?.querySelector('details')\n\t\tif (e.target !== ownDetails) return\n\n\t\tconst newState = ownDetails.open\n\n\t\tif (this._nativeAnim) {\n\t\t\t// Native path: handle both open and close\n\t\t\tif (this._open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t} else {\n\t\t\t// Fallback path: only handle OPEN (close is driven by _startClose)\n\t\t\tif (newState && this._open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Fallback close: trigger CSS grid+opacity transition, then close native <details>.\n\t * The CSS transition (400ms) handles the visual collapse — no WAAPI needed.\n\t */\n\tprivate _startClose() {\n\t\tthis._closing = true\n\t\tthis._closeSub?.unsubscribe()\n\n\t\t// Immediately collapse the grid wrapper via DOM attribute\n\t\tthis._contentRef.value?.setAttribute('data-open', 'false')\n\n\t\t// Animate indicator immediately\n\t\tthis._animateIndicator(false)\n\n\t\t// After CSS transition completes, close native details and update state\n\t\tconst wrapper = this._contentRef.value\n\t\tif (!wrapper) return\n\n\t\tthis._closeSub = fromEvent<TransitionEvent>(wrapper, 'transitionend').pipe(\n\t\t\tfilter(e => e.propertyName === 'grid-template-rows'),\n\t\t\ttake(1),\n\t\t\ttap(() => {\n\t\t\t\tthis._closing = false\n\t\t\t\tthis.open = false\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: false })\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting),\n\t\t).subscribe()\n\t}\n\n\tprivate _handleIndicatorSlotChange(e: Event) {\n\t\tconst slot = e.target as HTMLSlotElement\n\t\tslot.assignedElements().forEach(el => {\n\t\t\tel.setAttribute('data-open', String(this._open$.value))\n\t\t})\n\t}\n\n\tprivate _updateIndicatorSlot() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot[name=\"indicator\"]') as HTMLSlotElement | null\n\t\tif (slot) {\n\t\t\tslot.assignedElements().forEach(el => {\n\t\t\t\tel.setAttribute('data-open', String(this._open$.value))\n\t\t\t})\n\t\t}\n\t}\n\n\t/** Idempotent indicator rotation — skips if already at target state */\n\tprivate _animateIndicator(isOpen: boolean) {\n\t\tif (this._indicatorIsOpen === isOpen) return\n\t\tthis._indicatorIsOpen = isOpen\n\n\t\tconst indicator = this._indicatorRef.value\n\t\tif (!indicator || reducedMotion$.value) return\n\n\t\tthis._currentAnimation?.cancel()\n\n\t\tthis._currentAnimation = indicator.animate(\n\t\t\t[\n\t\t\t\t{ transform: `rotate(${isOpen ? '0deg' : `${this.indicatorRotate}deg`})` },\n\t\t\t\t{ transform: `rotate(${isOpen ? `${this.indicatorRotate}deg` : '0deg'})` },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: SPRING_SNAPPY.duration,\n\t\t\t\teasing: SPRING_SNAPPY.easingFallback,\n\t\t\t\tfill: 'forwards',\n\t\t\t},\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-details': SchmancyDetails\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"details-Bal2g3J4.cjs","names":[],"sources":["../src/details/details.ts"],"sourcesContent":["import { TailwindElement, SurfaceMixin } from '@mixins/index'\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { cursorGlow } from '../directives/cursor-glow'\nimport { magnetic } from '../directives/magnetic'\nimport { createRef, ref, Ref } from 'lit/directives/ref.js'\nimport { BehaviorSubject, fromEvent, Subscription } from 'rxjs'\nimport { distinctUntilChanged, filter, take, takeUntil, tap } from 'rxjs/operators'\nimport { SPRING_SNAPPY } from '../utils/animation.js'\nimport { reducedMotion$ } from '../directives/reduced-motion'\n\n@customElement('schmancy-details')\nexport default class SchmancyDetails extends SurfaceMixin(\n\tTailwindElement(css`\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\ttransition: box-shadow 400ms cubic-bezier(0.34, 1.2, 0.64, 1);\n\t\t}\n\n\t\t:host([overlay]) {\n\t\t\tposition: relative;\n\t\t}\n\n\t\t:host([open]) {\n\t\t\tbox-shadow:\n\t\t\t\t0 2px 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent),\n\t\t\t\t0 8px 32px -8px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 8%, transparent);\n\t\t\tz-index: 10;\n\t\t}\n\n\t\tdetails {\n\t\t\tbackground: inherit;\n\t\t\tcolor: inherit;\n\t\t\tborder-radius: inherit;\n\t\t}\n\n\t\tsummary::-webkit-details-marker {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\tsummary {\n\t\t\tlist-style: none;\n\t\t\tcolor: inherit;\n\t\t}\n\n\t\t/*\n\t\t * Blackbird 2.1 — CSS-driven collapse/expand\n\t\t *\n\t\t * Single animation system: CSS grid transition handles height,\n\t\t * coordinated opacity fade for buttery smooth feel.\n\t\t * No competing Web Animations API on content.\n\t\t */\n\n\t\t.content-wrapper {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-rows: 0fr;\n\t\t\toverflow: hidden;\n\t\t\topacity: 0;\n\t\t\ttransition:\n\t\t\t\tgrid-template-rows 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\topacity 250ms ease;\n\t\t}\n\n\t\t/* Spring easing when linear() is supported */\n\t\t@supports (animation-timing-function: linear(0, 1)) {\n\t\t\t.content-wrapper {\n\t\t\t\ttransition:\n\t\t\t\t\tgrid-template-rows 400ms linear(\n\t\t\t\t\t\t0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%,\n\t\t\t\t\t\t0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50%, 1.015 54.8%,\n\t\t\t\t\t\t1.017 63.3%, 1.001\n\t\t\t\t\t),\n\t\t\t\t\topacity 250ms ease;\n\t\t\t}\n\t\t}\n\n\t\t.content-wrapper[data-open='true'] {\n\t\t\tgrid-template-rows: 1fr;\n\t\t\topacity: 1;\n\t\t}\n\n\t\t.content-inner {\n\t\t\tmin-height: 0;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t/*\n\t\t * Progressive Enhancement: ::details-content (Chrome 131+)\n\t\t *\n\t\t * When both ::details-content AND interpolate-size are supported,\n\t\t * the browser handles height animation natively — including animated\n\t\t * close via transition-behavior: allow-discrete on content-visibility.\n\t\t * The grid wrapper becomes transparent (display: contents).\n\t\t */\n\t\t@supports selector(::details-content) and (interpolate-size: allow-keywords) {\n\t\t\t:host {\n\t\t\t\tinterpolate-size: allow-keywords;\n\t\t\t}\n\n\t\t\t.content-wrapper {\n\t\t\t\tdisplay: contents;\n\t\t\t}\n\n\t\t\tdetails::details-content {\n\t\t\t\tblock-size: 0;\n\t\t\t\toverflow-y: clip;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition:\n\t\t\t\t\tblock-size 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\t\topacity 250ms ease,\n\t\t\t\t\tcontent-visibility 400ms;\n\t\t\t\ttransition-behavior: allow-discrete;\n\t\t\t}\n\n\t\t\tdetails[open]::details-content {\n\t\t\t\tblock-size: auto;\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.content-wrapper {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t\tdetails::details-content {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t}\n\t`),\n) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open' as const,\n\t\tdelegatesFocus: true,\n\t}\n\n\t@property() summary = ''\n\n\t@property({ type: Boolean, reflect: true })\n\tget open() {\n\t\treturn this._open$.value\n\t}\n\tset open(value: boolean) {\n\t\tif (this._open$.value !== value) {\n\t\t\tthis._open$.next(value)\n\t\t}\n\t}\n\n\t@property({ attribute: 'indicator-placement', reflect: true })\n\tindicatorPlacement: 'start' | 'end' = 'end'\n\n\t@property({ type: Boolean, attribute: 'hide-indicator' })\n\thideIndicator = false\n\n\t@property({ type: Number, attribute: 'indicator-rotate' })\n\tindicatorRotate: number = 90\n\n\t@property({ type: Boolean, reflect: true })\n\tlocked = false\n\n\t@property({ type: Boolean, reflect: true })\n\toverlay = false\n\n\t@property({ attribute: 'summary-padding' })\n\tsummaryPadding = 'p-3'\n\n\t@property({ attribute: 'content-padding' })\n\tcontentPadding = 'p-3'\n\n\tprivate _open$ = new BehaviorSubject<boolean>(false)\n\tprivate _indicatorRef: Ref<HTMLElement> = createRef()\n\tprivate _contentRef: Ref<HTMLDivElement> = createRef()\n\tprivate _currentAnimation?: Animation\n\tprivate _indicatorIsOpen = false\n\tprivate _closing = false\n\tprivate _closeSub?: Subscription\n\n\t/** True when browser handles close animation natively via ::details-content */\n\tprivate _nativeAnim =\n\t\ttypeof CSS !== 'undefined' &&\n\t\t!!CSS.supports?.('selector(::details-content)') &&\n\t\t!!CSS.supports?.('interpolate-size', 'allow-keywords')\n\n\t/**\n\t * Lazy rendering: tracks if content has ever been opened.\n\t * Once true, content stays rendered (even when closed) for smooth animations.\n\t */\n\t@state() private _hasOpened = false\n\n\tconstructor() {\n\t\tsuper()\n\t\tthis.type = 'solid'\n\t\tthis.rounded = 'all'\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tthis._open$\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(isOpen => {\n\t\t\t\t\tif (isOpen && !this._hasOpened) {\n\t\t\t\t\t\tthis._hasOpened = true\n\t\t\t\t\t}\n\t\t\t\t\tthis._animateIndicator(isOpen)\n\t\t\t\t\tthis._updateIndicatorSlot()\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => this.requestUpdate())\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis._closeSub?.unsubscribe()\n\t}\n\n\trender() {\n\t\tconst isOpen = this._open$.value\n\n\t\tconst detailsClasses = this.classMap({\n\t\t\t'w-full rounded-xl transition-shadow duration-200 ease-out': true,\n\t\t\t'overflow-hidden': !this.overlay,\n\t\t\t'overflow-visible relative': this.overlay,\n\t\t})\n\n\t\tconst summaryClasses = this.classMap({\n\t\t\t[this.summaryPadding]: true,\n\t\t\t'select-none relative flex items-center gap-2 rounded-xl': true,\n\t\t\t'transition-colors duration-150': true,\n\t\t\t'ring-1 ring-inset ring-transparent': true,\n\t\t\t'hover:bg-surface-on/5 active:bg-surface-on/8 hover:ring-outline-variant/40': !this.locked,\n\t\t\t'focus-visible:ring-2 focus-visible:ring-primary-default/50 focus-visible:ring-offset-1': !this.locked,\n\t\t\t'cursor-pointer group': !this.locked,\n\t\t\t'cursor-default': this.locked,\n\t\t\t'flex-row': this.indicatorPlacement === 'start',\n\t\t\t'flex-row-reverse': this.indicatorPlacement === 'end',\n\t\t})\n\n\t\tconst contentClasses = this.classMap({\n\t\t\t[this.contentPadding]: true,\n\t\t\t'text-sm': true,\n\t\t\t'absolute inset-x-0 bg-surface-lowest/55 backdrop-blur-[16px] shadow-2xl rounded-b-xl z-20 border border-surface-on/10':\n\t\t\t\tthis.overlay,\n\t\t})\n\n\t\treturn html`\n\t\t\t<details ?open=${isOpen} @toggle=${this._handleToggle} class=${detailsClasses}>\n\t\t\t\t<summary ${this.locked ? '' : magnetic({ strength: 2, radius: 50 })} ${this.locked ? '' : cursorGlow({ radius: 250, intensity: 0.08 })} class=${summaryClasses} tabindex=${this.locked ? -1 : 0} @click=${this._handleSummaryClick}>\n\t\t\t\t\t${!this.hideIndicator\n\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t${ref(this._indicatorRef)}\n\t\t\t\t\t\t\t\t\tclass=\"flex items-center justify-center w-5 h-5 rounded-full shrink-0 opacity-70 group-hover:opacity-100\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<slot name=\"indicator\" @slotchange=${this._handleIndicatorSlotChange}>\n\t\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"w-5 h-5\"\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 6L15 12L9 18\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t`\n\t\t\t\t\t\t: ''}\n\n\t\t\t\t\t<span class=\"flex-1 min-w-0\">\n\t\t\t\t\t\t<slot name=\"summary\">${this.summary}</slot>\n\t\t\t\t\t</span>\n\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</summary>\n\n\t\t\t\t<div\n\t\t\t\t\t${ref(this._contentRef)}\n\t\t\t\t\tclass=\"content-wrapper\"\n\t\t\t\t\tdata-open=${isOpen && !this._closing}\n\t\t\t\t\taria-hidden=${isOpen ? 'false' : 'true'}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"content-inner\">\n\t\t\t\t\t\t${this._hasOpened\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div class=${contentClasses}>\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t\t<slot name=\"details\"></slot>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t: nothing}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</details>\n\t\t`\n\t}\n\n\tprivate _handleSummaryClick(e: MouseEvent) {\n\t\tif ((e.target as HTMLElement).closest('[slot=\"actions\"]')) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this.locked) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this._closing) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\n\t\t// Native animated path (Chromium 131+): browser handles everything via CSS\n\t\tif (this._nativeAnim) return\n\n\t\t// Fallback: manually animate close via CSS transition, then close native details\n\t\tif (this._open$.value) {\n\t\t\te.preventDefault()\n\t\t\tthis._startClose()\n\t\t}\n\t\t// If closed, let native open happen (handled by _handleToggle)\n\t}\n\n\tprivate _handleToggle(e: Event) {\n\t\te.stopPropagation()\n\n\t\tconst ownDetails = this.shadowRoot?.querySelector('details')\n\t\tif (e.target !== ownDetails) return\n\n\t\tconst newState = ownDetails.open\n\n\t\tif (this._nativeAnim) {\n\t\t\t// Native path: handle both open and close\n\t\t\tif (this._open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t} else {\n\t\t\t// Fallback path: only handle OPEN (close is driven by _startClose)\n\t\t\tif (newState && this._open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Fallback close: trigger CSS grid+opacity transition, then close native <details>.\n\t * The CSS transition (400ms) handles the visual collapse — no WAAPI needed.\n\t */\n\tprivate _startClose() {\n\t\tthis._closing = true\n\t\tthis._closeSub?.unsubscribe()\n\n\t\t// Immediately collapse the grid wrapper via DOM attribute\n\t\tthis._contentRef.value?.setAttribute('data-open', 'false')\n\n\t\t// Animate indicator immediately\n\t\tthis._animateIndicator(false)\n\n\t\t// After CSS transition completes, close native details and update state\n\t\tconst wrapper = this._contentRef.value\n\t\tif (!wrapper) return\n\n\t\tthis._closeSub = fromEvent<TransitionEvent>(wrapper, 'transitionend').pipe(\n\t\t\tfilter(e => e.propertyName === 'grid-template-rows'),\n\t\t\ttake(1),\n\t\t\ttap(() => {\n\t\t\t\tthis._closing = false\n\t\t\t\tthis.open = false\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: false })\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting),\n\t\t).subscribe()\n\t}\n\n\tprivate _handleIndicatorSlotChange(e: Event) {\n\t\tconst slot = e.target as HTMLSlotElement\n\t\tslot.assignedElements().forEach(el => {\n\t\t\tel.setAttribute('data-open', String(this._open$.value))\n\t\t})\n\t}\n\n\tprivate _updateIndicatorSlot() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot[name=\"indicator\"]') as HTMLSlotElement | null\n\t\tif (slot) {\n\t\t\tslot.assignedElements().forEach(el => {\n\t\t\t\tel.setAttribute('data-open', String(this._open$.value))\n\t\t\t})\n\t\t}\n\t}\n\n\t/** Idempotent indicator rotation — skips if already at target state */\n\tprivate _animateIndicator(isOpen: boolean) {\n\t\tif (this._indicatorIsOpen === isOpen) return\n\t\tthis._indicatorIsOpen = isOpen\n\n\t\tconst indicator = this._indicatorRef.value\n\t\tif (!indicator || reducedMotion$.value) return\n\n\t\tthis._currentAnimation?.cancel()\n\n\t\tthis._currentAnimation = indicator.animate(\n\t\t\t[\n\t\t\t\t{ transform: `rotate(${isOpen ? '0deg' : `${this.indicatorRotate}deg`})` },\n\t\t\t\t{ transform: `rotate(${isOpen ? `${this.indicatorRotate}deg` : '0deg'})` },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: SPRING_SNAPPY.duration,\n\t\t\t\teasing: SPRING_SNAPPY.easingFallback,\n\t\t\t\tfill: 'forwards',\n\t\t\t},\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-details': SchmancyDetails\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details-D7VTnLOh.js","names":[],"sources":["../src/details/details.ts"],"sourcesContent":["import { TailwindElement, SurfaceMixin } from '@mixins/index'\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { cursorGlow } from '../directives/cursor-glow'\nimport { magnetic } from '../directives/magnetic'\nimport { createRef, ref, Ref } from 'lit/directives/ref.js'\nimport { BehaviorSubject, fromEvent, Subscription } from 'rxjs'\nimport { distinctUntilChanged, filter, take, takeUntil, tap } from 'rxjs/operators'\nimport { SPRING_SNAPPY } from '../utils/animation.js'\nimport { reducedMotion$ } from '../directives/reduced-motion'\n\n@customElement('schmancy-details')\nexport default class SchmancyDetails extends SurfaceMixin(\n\tTailwindElement(css`\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\ttransition: box-shadow 400ms cubic-bezier(0.34, 1.2, 0.64, 1);\n\t\t}\n\n\t\t:host([overlay]) {\n\t\t\tposition: relative;\n\t\t}\n\n\t\t:host([open]) {\n\t\t\tbox-shadow:\n\t\t\t\t0 2px 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent),\n\t\t\t\t0 8px 32px -8px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 8%, transparent);\n\t\t\tz-index: 10;\n\t\t}\n\n\t\tdetails {\n\t\t\tbackground: inherit;\n\t\t\tcolor: inherit;\n\t\t\tborder-radius: inherit;\n\t\t}\n\n\t\tsummary::-webkit-details-marker {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\tsummary {\n\t\t\tlist-style: none;\n\t\t\tcolor: inherit;\n\t\t}\n\n\t\t/*\n\t\t * Blackbird 2.1 — CSS-driven collapse/expand\n\t\t *\n\t\t * Single animation system: CSS grid transition handles height,\n\t\t * coordinated opacity fade for buttery smooth feel.\n\t\t * No competing Web Animations API on content.\n\t\t */\n\n\t\t.content-wrapper {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-rows: 0fr;\n\t\t\toverflow: hidden;\n\t\t\topacity: 0;\n\t\t\ttransition:\n\t\t\t\tgrid-template-rows 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\topacity 250ms ease;\n\t\t}\n\n\t\t/* Spring easing when linear() is supported */\n\t\t@supports (animation-timing-function: linear(0, 1)) {\n\t\t\t.content-wrapper {\n\t\t\t\ttransition:\n\t\t\t\t\tgrid-template-rows 400ms linear(\n\t\t\t\t\t\t0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%,\n\t\t\t\t\t\t0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50%, 1.015 54.8%,\n\t\t\t\t\t\t1.017 63.3%, 1.001\n\t\t\t\t\t),\n\t\t\t\t\topacity 250ms ease;\n\t\t\t}\n\t\t}\n\n\t\t.content-wrapper[data-open='true'] {\n\t\t\tgrid-template-rows: 1fr;\n\t\t\topacity: 1;\n\t\t}\n\n\t\t.content-inner {\n\t\t\tmin-height: 0;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t/*\n\t\t * Progressive Enhancement: ::details-content (Chrome 131+)\n\t\t *\n\t\t * When both ::details-content AND interpolate-size are supported,\n\t\t * the browser handles height animation natively — including animated\n\t\t * close via transition-behavior: allow-discrete on content-visibility.\n\t\t * The grid wrapper becomes transparent (display: contents).\n\t\t */\n\t\t@supports selector(::details-content) and (interpolate-size: allow-keywords) {\n\t\t\t:host {\n\t\t\t\tinterpolate-size: allow-keywords;\n\t\t\t}\n\n\t\t\t.content-wrapper {\n\t\t\t\tdisplay: contents;\n\t\t\t}\n\n\t\t\tdetails::details-content {\n\t\t\t\tblock-size: 0;\n\t\t\t\toverflow-y: clip;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition:\n\t\t\t\t\tblock-size 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\t\topacity 250ms ease,\n\t\t\t\t\tcontent-visibility 400ms;\n\t\t\t\ttransition-behavior: allow-discrete;\n\t\t\t}\n\n\t\t\tdetails[open]::details-content {\n\t\t\t\tblock-size: auto;\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.content-wrapper {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t\tdetails::details-content {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t}\n\t`),\n) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open' as const,\n\t\tdelegatesFocus: true,\n\t}\n\n\t@property() summary = ''\n\n\t@property({ type: Boolean, reflect: true })\n\tget open() {\n\t\treturn this._open$.value\n\t}\n\tset open(value: boolean) {\n\t\tif (this._open$.value !== value) {\n\t\t\tthis._open$.next(value)\n\t\t}\n\t}\n\n\t@property({ attribute: 'indicator-placement', reflect: true })\n\tindicatorPlacement: 'start' | 'end' = 'end'\n\n\t@property({ type: Boolean, attribute: 'hide-indicator' })\n\thideIndicator = false\n\n\t@property({ type: Number, attribute: 'indicator-rotate' })\n\tindicatorRotate: number = 90\n\n\t@property({ type: Boolean, reflect: true })\n\tlocked = false\n\n\t@property({ type: Boolean, reflect: true })\n\toverlay = false\n\n\t@property({ attribute: 'summary-padding' })\n\tsummaryPadding = 'p-3'\n\n\t@property({ attribute: 'content-padding' })\n\tcontentPadding = 'p-3'\n\n\tprivate _open$ = new BehaviorSubject<boolean>(false)\n\tprivate _indicatorRef: Ref<HTMLElement> = createRef()\n\tprivate _contentRef: Ref<HTMLDivElement> = createRef()\n\tprivate _currentAnimation?: Animation\n\tprivate _indicatorIsOpen = false\n\tprivate _closing = false\n\tprivate _closeSub?: Subscription\n\n\t/** True when browser handles close animation natively via ::details-content */\n\tprivate _nativeAnim =\n\t\ttypeof CSS !== 'undefined' &&\n\t\t!!CSS.supports?.('selector(::details-content)') &&\n\t\t!!CSS.supports?.('interpolate-size', 'allow-keywords')\n\n\t/**\n\t * Lazy rendering: tracks if content has ever been opened.\n\t * Once true, content stays rendered (even when closed) for smooth animations.\n\t */\n\t@state() private _hasOpened = false\n\n\tconstructor() {\n\t\tsuper()\n\t\tthis.type = 'solid'\n\t\tthis.rounded = 'all'\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tthis._open$\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(isOpen => {\n\t\t\t\t\tif (isOpen && !this._hasOpened) {\n\t\t\t\t\t\tthis._hasOpened = true\n\t\t\t\t\t}\n\t\t\t\t\tthis._animateIndicator(isOpen)\n\t\t\t\t\tthis._updateIndicatorSlot()\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => this.requestUpdate())\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis._closeSub?.unsubscribe()\n\t}\n\n\trender() {\n\t\tconst isOpen = this._open$.value\n\n\t\tconst detailsClasses = this.classMap({\n\t\t\t'w-full rounded-xl transition-shadow duration-200 ease-out': true,\n\t\t\t'overflow-hidden': !this.overlay,\n\t\t\t'overflow-visible relative': this.overlay,\n\t\t})\n\n\t\tconst summaryClasses = this.classMap({\n\t\t\t[this.summaryPadding]: true,\n\t\t\t'select-none relative flex items-center gap-2 rounded-xl': true,\n\t\t\t'transition-colors duration-150': true,\n\t\t\t'ring-1 ring-inset ring-transparent': true,\n\t\t\t'hover:bg-surface-on/5 active:bg-surface-on/8 hover:ring-outline-variant/40': !this.locked,\n\t\t\t'focus-visible:ring-2 focus-visible:ring-primary-default/50 focus-visible:ring-offset-1': !this.locked,\n\t\t\t'cursor-pointer group': !this.locked,\n\t\t\t'cursor-default': this.locked,\n\t\t\t'flex-row': this.indicatorPlacement === 'start',\n\t\t\t'flex-row-reverse': this.indicatorPlacement === 'end',\n\t\t})\n\n\t\tconst contentClasses = this.classMap({\n\t\t\t[this.contentPadding]: true,\n\t\t\t'text-sm': true,\n\t\t\t'absolute inset-x-0 bg-surface-lowest/55 backdrop-blur-[16px] shadow-2xl rounded-b-xl z-20 border border-surface-on/10':\n\t\t\t\tthis.overlay,\n\t\t})\n\n\t\treturn html`\n\t\t\t<details ?open=${isOpen} @toggle=${this._handleToggle} class=${detailsClasses}>\n\t\t\t\t<summary ${this.locked ? '' : magnetic({ strength: 2, radius: 50 })} ${this.locked ? '' : cursorGlow({ radius: 250, intensity: 0.08 })} class=${summaryClasses} tabindex=${this.locked ? -1 : 0} @click=${this._handleSummaryClick}>\n\t\t\t\t\t${!this.hideIndicator\n\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t${ref(this._indicatorRef)}\n\t\t\t\t\t\t\t\t\tclass=\"flex items-center justify-center w-5 h-5 rounded-full shrink-0 opacity-70 group-hover:opacity-100\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<slot name=\"indicator\" @slotchange=${this._handleIndicatorSlotChange}>\n\t\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"w-5 h-5\"\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 6L15 12L9 18\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t`\n\t\t\t\t\t\t: ''}\n\n\t\t\t\t\t<span class=\"flex-1 min-w-0\">\n\t\t\t\t\t\t<slot name=\"summary\">${this.summary}</slot>\n\t\t\t\t\t</span>\n\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</summary>\n\n\t\t\t\t<div\n\t\t\t\t\t${ref(this._contentRef)}\n\t\t\t\t\tclass=\"content-wrapper\"\n\t\t\t\t\tdata-open=${isOpen && !this._closing}\n\t\t\t\t\taria-hidden=${isOpen ? 'false' : 'true'}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"content-inner\">\n\t\t\t\t\t\t${this._hasOpened\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div class=${contentClasses}>\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t\t<slot name=\"details\"></slot>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t: nothing}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</details>\n\t\t`\n\t}\n\n\tprivate _handleSummaryClick(e: MouseEvent) {\n\t\tif ((e.target as HTMLElement).closest('[slot=\"actions\"]')) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this.locked) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this._closing) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\n\t\t// Native animated path (Chromium 131+): browser handles everything via CSS\n\t\tif (this._nativeAnim) return\n\n\t\t// Fallback: manually animate close via CSS transition, then close native details\n\t\tif (this._open$.value) {\n\t\t\te.preventDefault()\n\t\t\tthis._startClose()\n\t\t}\n\t\t// If closed, let native open happen (handled by _handleToggle)\n\t}\n\n\tprivate _handleToggle(e: Event) {\n\t\te.stopPropagation()\n\n\t\tconst ownDetails = this.shadowRoot?.querySelector('details')\n\t\tif (e.target !== ownDetails) return\n\n\t\tconst newState = ownDetails.open\n\n\t\tif (this._nativeAnim) {\n\t\t\t// Native path: handle both open and close\n\t\t\tif (this._open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t} else {\n\t\t\t// Fallback path: only handle OPEN (close is driven by _startClose)\n\t\t\tif (newState && this._open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Fallback close: trigger CSS grid+opacity transition, then close native <details>.\n\t * The CSS transition (400ms) handles the visual collapse — no WAAPI needed.\n\t */\n\tprivate _startClose() {\n\t\tthis._closing = true\n\t\tthis._closeSub?.unsubscribe()\n\n\t\t// Immediately collapse the grid wrapper via DOM attribute\n\t\tthis._contentRef.value?.setAttribute('data-open', 'false')\n\n\t\t// Animate indicator immediately\n\t\tthis._animateIndicator(false)\n\n\t\t// After CSS transition completes, close native details and update state\n\t\tconst wrapper = this._contentRef.value\n\t\tif (!wrapper) return\n\n\t\tthis._closeSub = fromEvent<TransitionEvent>(wrapper, 'transitionend').pipe(\n\t\t\tfilter(e => e.propertyName === 'grid-template-rows'),\n\t\t\ttake(1),\n\t\t\ttap(() => {\n\t\t\t\tthis._closing = false\n\t\t\t\tthis.open = false\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: false })\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting),\n\t\t).subscribe()\n\t}\n\n\tprivate _handleIndicatorSlotChange(e: Event) {\n\t\tconst slot = e.target as HTMLSlotElement\n\t\tslot.assignedElements().forEach(el => {\n\t\t\tel.setAttribute('data-open', String(this._open$.value))\n\t\t})\n\t}\n\n\tprivate _updateIndicatorSlot() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot[name=\"indicator\"]') as HTMLSlotElement | null\n\t\tif (slot) {\n\t\t\tslot.assignedElements().forEach(el => {\n\t\t\t\tel.setAttribute('data-open', String(this._open$.value))\n\t\t\t})\n\t\t}\n\t}\n\n\t/** Idempotent indicator rotation — skips if already at target state */\n\tprivate _animateIndicator(isOpen: boolean) {\n\t\tif (this._indicatorIsOpen === isOpen) return\n\t\tthis._indicatorIsOpen = isOpen\n\n\t\tconst indicator = this._indicatorRef.value\n\t\tif (!indicator || reducedMotion$.value) return\n\n\t\tthis._currentAnimation?.cancel()\n\n\t\tthis._currentAnimation = indicator.animate(\n\t\t\t[\n\t\t\t\t{ transform: `rotate(${isOpen ? '0deg' : `${this.indicatorRotate}deg`})` },\n\t\t\t\t{ transform: `rotate(${isOpen ? `${this.indicatorRotate}deg` : '0deg'})` },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: SPRING_SNAPPY.duration,\n\t\t\t\teasing: SPRING_SNAPPY.easingFallback,\n\t\t\t\tfill: 'forwards',\n\t\t\t},\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-details': SchmancyDetails\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"details-DZq61CD5.js","names":[],"sources":["../src/details/details.ts"],"sourcesContent":["import { TailwindElement, SurfaceMixin } from '@mixins/index'\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { cursorGlow } from '../directives/cursor-glow'\nimport { magnetic } from '../directives/magnetic'\nimport { createRef, ref, Ref } from 'lit/directives/ref.js'\nimport { BehaviorSubject, fromEvent, Subscription } from 'rxjs'\nimport { distinctUntilChanged, filter, take, takeUntil, tap } from 'rxjs/operators'\nimport { SPRING_SNAPPY } from '../utils/animation.js'\nimport { reducedMotion$ } from '../directives/reduced-motion'\n\n@customElement('schmancy-details')\nexport default class SchmancyDetails extends SurfaceMixin(\n\tTailwindElement(css`\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\ttransition: box-shadow 400ms cubic-bezier(0.34, 1.2, 0.64, 1);\n\t\t}\n\n\t\t:host([overlay]) {\n\t\t\tposition: relative;\n\t\t}\n\n\t\t:host([open]) {\n\t\t\tbox-shadow:\n\t\t\t\t0 2px 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent),\n\t\t\t\t0 8px 32px -8px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 8%, transparent);\n\t\t\tz-index: 10;\n\t\t}\n\n\t\tdetails {\n\t\t\tbackground: inherit;\n\t\t\tcolor: inherit;\n\t\t\tborder-radius: inherit;\n\t\t}\n\n\t\tsummary::-webkit-details-marker {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\tsummary {\n\t\t\tlist-style: none;\n\t\t\tcolor: inherit;\n\t\t}\n\n\t\t/*\n\t\t * Blackbird 2.1 — CSS-driven collapse/expand\n\t\t *\n\t\t * Single animation system: CSS grid transition handles height,\n\t\t * coordinated opacity fade for buttery smooth feel.\n\t\t * No competing Web Animations API on content.\n\t\t */\n\n\t\t.content-wrapper {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-rows: 0fr;\n\t\t\toverflow: hidden;\n\t\t\topacity: 0;\n\t\t\ttransition:\n\t\t\t\tgrid-template-rows 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\topacity 250ms ease;\n\t\t}\n\n\t\t/* Spring easing when linear() is supported */\n\t\t@supports (animation-timing-function: linear(0, 1)) {\n\t\t\t.content-wrapper {\n\t\t\t\ttransition:\n\t\t\t\t\tgrid-template-rows 400ms linear(\n\t\t\t\t\t\t0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%,\n\t\t\t\t\t\t0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50%, 1.015 54.8%,\n\t\t\t\t\t\t1.017 63.3%, 1.001\n\t\t\t\t\t),\n\t\t\t\t\topacity 250ms ease;\n\t\t\t}\n\t\t}\n\n\t\t.content-wrapper[data-open='true'] {\n\t\t\tgrid-template-rows: 1fr;\n\t\t\topacity: 1;\n\t\t}\n\n\t\t.content-inner {\n\t\t\tmin-height: 0;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t/*\n\t\t * Progressive Enhancement: ::details-content (Chrome 131+)\n\t\t *\n\t\t * When both ::details-content AND interpolate-size are supported,\n\t\t * the browser handles height animation natively — including animated\n\t\t * close via transition-behavior: allow-discrete on content-visibility.\n\t\t * The grid wrapper becomes transparent (display: contents).\n\t\t */\n\t\t@supports selector(::details-content) and (interpolate-size: allow-keywords) {\n\t\t\t:host {\n\t\t\t\tinterpolate-size: allow-keywords;\n\t\t\t}\n\n\t\t\t.content-wrapper {\n\t\t\t\tdisplay: contents;\n\t\t\t}\n\n\t\t\tdetails::details-content {\n\t\t\t\tblock-size: 0;\n\t\t\t\toverflow-y: clip;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition:\n\t\t\t\t\tblock-size 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\t\topacity 250ms ease,\n\t\t\t\t\tcontent-visibility 400ms;\n\t\t\t\ttransition-behavior: allow-discrete;\n\t\t\t}\n\n\t\t\tdetails[open]::details-content {\n\t\t\t\tblock-size: auto;\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.content-wrapper {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t\tdetails::details-content {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t}\n\t`),\n) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open' as const,\n\t\tdelegatesFocus: true,\n\t}\n\n\t@property() summary = ''\n\n\t@property({ type: Boolean, reflect: true })\n\tget open() {\n\t\treturn this._open$.value\n\t}\n\tset open(value: boolean) {\n\t\tif (this._open$.value !== value) {\n\t\t\tthis._open$.next(value)\n\t\t}\n\t}\n\n\t@property({ attribute: 'indicator-placement', reflect: true })\n\tindicatorPlacement: 'start' | 'end' = 'end'\n\n\t@property({ type: Boolean, attribute: 'hide-indicator' })\n\thideIndicator = false\n\n\t@property({ type: Number, attribute: 'indicator-rotate' })\n\tindicatorRotate: number = 90\n\n\t@property({ type: Boolean, reflect: true })\n\tlocked = false\n\n\t@property({ type: Boolean, reflect: true })\n\toverlay = false\n\n\t@property({ attribute: 'summary-padding' })\n\tsummaryPadding = 'p-3'\n\n\t@property({ attribute: 'content-padding' })\n\tcontentPadding = 'p-3'\n\n\tprivate _open$ = new BehaviorSubject<boolean>(false)\n\tprivate _indicatorRef: Ref<HTMLElement> = createRef()\n\tprivate _contentRef: Ref<HTMLDivElement> = createRef()\n\tprivate _currentAnimation?: Animation\n\tprivate _indicatorIsOpen = false\n\tprivate _closing = false\n\tprivate _closeSub?: Subscription\n\n\t/** True when browser handles close animation natively via ::details-content */\n\tprivate _nativeAnim =\n\t\ttypeof CSS !== 'undefined' &&\n\t\t!!CSS.supports?.('selector(::details-content)') &&\n\t\t!!CSS.supports?.('interpolate-size', 'allow-keywords')\n\n\t/**\n\t * Lazy rendering: tracks if content has ever been opened.\n\t * Once true, content stays rendered (even when closed) for smooth animations.\n\t */\n\t@state() private _hasOpened = false\n\n\tconstructor() {\n\t\tsuper()\n\t\tthis.type = 'solid'\n\t\tthis.rounded = 'all'\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tthis._open$\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(isOpen => {\n\t\t\t\t\tif (isOpen && !this._hasOpened) {\n\t\t\t\t\t\tthis._hasOpened = true\n\t\t\t\t\t}\n\t\t\t\t\tthis._animateIndicator(isOpen)\n\t\t\t\t\tthis._updateIndicatorSlot()\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => this.requestUpdate())\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis._closeSub?.unsubscribe()\n\t}\n\n\trender() {\n\t\tconst isOpen = this._open$.value\n\n\t\tconst detailsClasses = this.classMap({\n\t\t\t'w-full rounded-xl transition-shadow duration-200 ease-out': true,\n\t\t\t'overflow-hidden': !this.overlay,\n\t\t\t'overflow-visible relative': this.overlay,\n\t\t})\n\n\t\tconst summaryClasses = this.classMap({\n\t\t\t[this.summaryPadding]: true,\n\t\t\t'select-none relative flex items-center gap-2 rounded-xl': true,\n\t\t\t'transition-colors duration-150': true,\n\t\t\t'ring-1 ring-inset ring-transparent': true,\n\t\t\t'hover:bg-surface-on/5 active:bg-surface-on/8 hover:ring-outline-variant/40': !this.locked,\n\t\t\t'focus-visible:ring-2 focus-visible:ring-primary-default/50 focus-visible:ring-offset-1': !this.locked,\n\t\t\t'cursor-pointer group': !this.locked,\n\t\t\t'cursor-default': this.locked,\n\t\t\t'flex-row': this.indicatorPlacement === 'start',\n\t\t\t'flex-row-reverse': this.indicatorPlacement === 'end',\n\t\t})\n\n\t\tconst contentClasses = this.classMap({\n\t\t\t[this.contentPadding]: true,\n\t\t\t'text-sm': true,\n\t\t\t'absolute inset-x-0 bg-surface-lowest/55 backdrop-blur-[16px] shadow-2xl rounded-b-xl z-20 border border-surface-on/10':\n\t\t\t\tthis.overlay,\n\t\t})\n\n\t\treturn html`\n\t\t\t<details ?open=${isOpen} @toggle=${this._handleToggle} class=${detailsClasses}>\n\t\t\t\t<summary ${this.locked ? '' : magnetic({ strength: 2, radius: 50 })} ${this.locked ? '' : cursorGlow({ radius: 250, intensity: 0.08 })} class=${summaryClasses} tabindex=${this.locked ? -1 : 0} @click=${this._handleSummaryClick}>\n\t\t\t\t\t${!this.hideIndicator\n\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t${ref(this._indicatorRef)}\n\t\t\t\t\t\t\t\t\tclass=\"flex items-center justify-center w-5 h-5 rounded-full shrink-0 opacity-70 group-hover:opacity-100\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<slot name=\"indicator\" @slotchange=${this._handleIndicatorSlotChange}>\n\t\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"w-5 h-5\"\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 6L15 12L9 18\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t`\n\t\t\t\t\t\t: ''}\n\n\t\t\t\t\t<span class=\"flex-1 min-w-0\">\n\t\t\t\t\t\t<slot name=\"summary\">${this.summary}</slot>\n\t\t\t\t\t</span>\n\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</summary>\n\n\t\t\t\t<div\n\t\t\t\t\t${ref(this._contentRef)}\n\t\t\t\t\tclass=\"content-wrapper\"\n\t\t\t\t\tdata-open=${isOpen && !this._closing}\n\t\t\t\t\taria-hidden=${isOpen ? 'false' : 'true'}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"content-inner\">\n\t\t\t\t\t\t${this._hasOpened\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div class=${contentClasses}>\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t\t<slot name=\"details\"></slot>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t: nothing}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</details>\n\t\t`\n\t}\n\n\tprivate _handleSummaryClick(e: MouseEvent) {\n\t\tif ((e.target as HTMLElement).closest('[slot=\"actions\"]')) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this.locked) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this._closing) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\n\t\t// Native animated path (Chromium 131+): browser handles everything via CSS\n\t\tif (this._nativeAnim) return\n\n\t\t// Fallback: manually animate close via CSS transition, then close native details\n\t\tif (this._open$.value) {\n\t\t\te.preventDefault()\n\t\t\tthis._startClose()\n\t\t}\n\t\t// If closed, let native open happen (handled by _handleToggle)\n\t}\n\n\tprivate _handleToggle(e: Event) {\n\t\te.stopPropagation()\n\n\t\tconst ownDetails = this.shadowRoot?.querySelector('details')\n\t\tif (e.target !== ownDetails) return\n\n\t\tconst newState = ownDetails.open\n\n\t\tif (this._nativeAnim) {\n\t\t\t// Native path: handle both open and close\n\t\t\tif (this._open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t} else {\n\t\t\t// Fallback path: only handle OPEN (close is driven by _startClose)\n\t\t\tif (newState && this._open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Fallback close: trigger CSS grid+opacity transition, then close native <details>.\n\t * The CSS transition (400ms) handles the visual collapse — no WAAPI needed.\n\t */\n\tprivate _startClose() {\n\t\tthis._closing = true\n\t\tthis._closeSub?.unsubscribe()\n\n\t\t// Immediately collapse the grid wrapper via DOM attribute\n\t\tthis._contentRef.value?.setAttribute('data-open', 'false')\n\n\t\t// Animate indicator immediately\n\t\tthis._animateIndicator(false)\n\n\t\t// After CSS transition completes, close native details and update state\n\t\tconst wrapper = this._contentRef.value\n\t\tif (!wrapper) return\n\n\t\tthis._closeSub = fromEvent<TransitionEvent>(wrapper, 'transitionend').pipe(\n\t\t\tfilter(e => e.propertyName === 'grid-template-rows'),\n\t\t\ttake(1),\n\t\t\ttap(() => {\n\t\t\t\tthis._closing = false\n\t\t\t\tthis.open = false\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: false })\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting),\n\t\t).subscribe()\n\t}\n\n\tprivate _handleIndicatorSlotChange(e: Event) {\n\t\tconst slot = e.target as HTMLSlotElement\n\t\tslot.assignedElements().forEach(el => {\n\t\t\tel.setAttribute('data-open', String(this._open$.value))\n\t\t})\n\t}\n\n\tprivate _updateIndicatorSlot() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot[name=\"indicator\"]') as HTMLSlotElement | null\n\t\tif (slot) {\n\t\t\tslot.assignedElements().forEach(el => {\n\t\t\t\tel.setAttribute('data-open', String(this._open$.value))\n\t\t\t})\n\t\t}\n\t}\n\n\t/** Idempotent indicator rotation — skips if already at target state */\n\tprivate _animateIndicator(isOpen: boolean) {\n\t\tif (this._indicatorIsOpen === isOpen) return\n\t\tthis._indicatorIsOpen = isOpen\n\n\t\tconst indicator = this._indicatorRef.value\n\t\tif (!indicator || reducedMotion$.value) return\n\n\t\tthis._currentAnimation?.cancel()\n\n\t\tthis._currentAnimation = indicator.animate(\n\t\t\t[\n\t\t\t\t{ transform: `rotate(${isOpen ? '0deg' : `${this.indicatorRotate}deg`})` },\n\t\t\t\t{ transform: `rotate(${isOpen ? `${this.indicatorRotate}deg` : '0deg'})` },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: SPRING_SNAPPY.duration,\n\t\t\t\teasing: SPRING_SNAPPY.easingFallback,\n\t\t\t\tfill: 'forwards',\n\t\t\t},\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-details': SchmancyDetails\n\t}\n}\n"],"mappings":"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"}
|
package/dist/details.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./details-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./details-Bal2g3J4.cjs`);exports.SchmancyDetails=e.t;
|
package/dist/details.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./details-
|
|
1
|
+
import { t as e } from "./details-DZq61CD5.js";
|
|
2
2
|
export { e as SchmancyDetails };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as e, t } from "./theme.events-Bw3mYjUA.js";
|
|
2
|
-
import { t as n } from "./overlay-stack-
|
|
2
|
+
import { t as n } from "./overlay-stack-BJt_r6aZ.js";
|
|
3
3
|
import { Subject as r, defaultIfEmpty as i, forkJoin as a, fromEvent as o, map as s, of as c, switchMap as l, takeUntil as u, tap as d, timer as f } from "rxjs";
|
|
4
4
|
import { render as p } from "lit";
|
|
5
5
|
var m = "are-you-there-dialog", h = "yes-dialog-here", g = class g {
|