@mhmo91/schmancy 0.10.42 → 0.10.43
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 +264 -79
- package/dist/SchmancyElement-CeKrBW2j.cjs +2 -0
- package/dist/SchmancyElement-CeKrBW2j.cjs.map +1 -0
- package/dist/SchmancyElement-Ob9yGkiG.js +286 -0
- package/dist/SchmancyElement-Ob9yGkiG.js.map +1 -0
- package/dist/agent/schmancy.agent.js +4031 -3891
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +215 -58
- package/dist/animation-CCOIW4wJ.cjs.map +1 -1
- package/dist/animation-DCznELuT.js.map +1 -1
- package/dist/area-CbajcnmJ.cjs +21 -0
- package/dist/area-CbajcnmJ.cjs.map +1 -0
- package/dist/{area-DtCNCb8w.js → area-MxLAyWgV.js} +22 -22
- package/dist/area-MxLAyWgV.js.map +1 -0
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{audio-DdN76ikW.js → audio-B_0PGwYC.js} +1 -1
- package/dist/audio-B_0PGwYC.js.map +1 -0
- package/dist/{audio-B924fI5N.cjs → audio-CpwrIaw-.cjs} +1 -1
- package/dist/audio-CpwrIaw-.cjs.map +1 -0
- package/dist/audio.cjs +1 -1
- package/dist/audio.js +2 -2
- package/dist/autocomplete-CILzaDB7.cjs +115 -0
- package/dist/autocomplete-CILzaDB7.cjs.map +1 -0
- package/dist/{autocomplete-UNOknYUz.js → autocomplete-DV9RxCun.js} +113 -113
- package/dist/autocomplete-DV9RxCun.js.map +1 -0
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/avatar.cjs +1 -1
- package/dist/avatar.cjs.map +1 -1
- package/dist/avatar.js +4 -4
- package/dist/avatar.js.map +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-BZah1Sf9.js → boat-DoZGgQ0P.js} +5 -5
- package/dist/{boat-BZah1Sf9.js.map → boat-DoZGgQ0P.js.map} +1 -1
- package/dist/{boat-D3bEjxf8.cjs → boat-sg0cWO8a.cjs} +2 -2
- package/dist/{boat-D3bEjxf8.cjs.map → boat-sg0cWO8a.cjs.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/breadcrumb.cjs +32 -31
- package/dist/breadcrumb.cjs.map +1 -1
- package/dist/breadcrumb.js +33 -32
- package/dist/breadcrumb.js.map +1 -1
- package/dist/busy-Brs-TDh9.cjs +133 -0
- package/dist/busy-Brs-TDh9.cjs.map +1 -0
- package/dist/busy-g4LoQmhB.js +172 -0
- package/dist/busy-g4LoQmhB.js.map +1 -0
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/{button-CTvS5YX4.cjs → button-Cml67Y_d.cjs} +41 -32
- package/dist/button-Cml67Y_d.cjs.map +1 -0
- package/dist/{button-DgoDfcJx.js → button-DWANpZfD.js} +43 -34
- package/dist/button-DWANpZfD.js.map +1 -0
- package/dist/button.cjs +40 -33
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +42 -35
- package/dist/button.js.map +1 -1
- package/dist/calendar-2dJrw9pR.cjs +58 -0
- package/dist/calendar-2dJrw9pR.cjs.map +1 -0
- package/dist/calendar-kCe5LaBa.js +434 -0
- package/dist/calendar-kCe5LaBa.js.map +1 -0
- package/dist/calendar.cjs +1 -0
- package/dist/calendar.js +2 -0
- package/dist/{card-C6ijJZpF.js → card-CS_hYJbz.js} +136 -136
- package/dist/card-CS_hYJbz.js.map +1 -0
- package/dist/card-d0KhTnx5.cjs +177 -0
- package/dist/card-d0KhTnx5.cjs.map +1 -0
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-7vEPZuGC.js → checkbox-Bjp7kWuE.js} +2 -2
- package/dist/{checkbox-7vEPZuGC.js.map → checkbox-Bjp7kWuE.js.map} +1 -1
- package/dist/{checkbox-DXKdxkXE.cjs → checkbox-DZ2Wrz7Y.cjs} +1 -1
- package/dist/{checkbox-DXKdxkXE.cjs.map → checkbox-DZ2Wrz7Y.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-9eG-96_D.cjs → chips-BHBVkxsa.cjs} +142 -153
- package/dist/chips-BHBVkxsa.cjs.map +1 -0
- package/dist/{chips-DF7akwz7.js → chips-DACeW7YL.js} +127 -138
- package/dist/chips-DACeW7YL.js.map +1 -0
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/connectivity.cjs +53 -35
- package/dist/connectivity.cjs.map +1 -1
- package/dist/connectivity.js +55 -37
- package/dist/connectivity.js.map +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/cursor-glow-Ah7VXSj7.js.map +1 -1
- package/dist/cursor-glow-Bulq-38P.cjs.map +1 -1
- package/dist/date-range-CVAWMdar.cjs +138 -0
- package/dist/date-range-CVAWMdar.cjs.map +1 -0
- package/dist/date-range-D2NZU5Yg.js +433 -0
- package/dist/date-range-D2NZU5Yg.js.map +1 -0
- package/dist/{date-range-inline-DV2c_gWM.cjs → date-range-inline-CGM0SPK9.cjs} +2 -4
- package/dist/date-range-inline-CGM0SPK9.cjs.map +1 -0
- package/dist/{date-range-inline-BnOD-ddB.js → date-range-inline-D6Ozerzw.js} +3 -5
- package/dist/date-range-inline-D6Ozerzw.js.map +1 -0
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +2 -2
- package/dist/dayjs.min-CvRZTfam.cjs +1 -0
- package/dist/dayjs.min-CvRZTfam.cjs.map +1 -0
- package/dist/dayjs.min-DnELezPs.js +296 -0
- package/dist/dayjs.min-DnELezPs.js.map +1 -0
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +3 -3
- package/dist/{details-ByF66CyY.js → details-Ct1_GwKr.js} +104 -93
- package/dist/details-Ct1_GwKr.js.map +1 -0
- package/dist/{details-B2-jECBh.cjs → details-D4fVOaj4.cjs} +109 -98
- package/dist/details-D4fVOaj4.cjs.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{directives-DCb_LA9R.cjs → directives-B2VxfwRL.cjs} +1 -1
- package/dist/directives-B2VxfwRL.cjs.map +1 -0
- package/dist/{directives-BL7mzVsA.js → directives-Dj8jlv-Q.js} +3 -3
- package/dist/directives-Dj8jlv-Q.js.map +1 -0
- package/dist/directives.cjs +1 -1
- package/dist/directives.js +2 -2
- package/dist/discovery.service-CIa3Eeuk.cjs.map +1 -1
- package/dist/discovery.service-DZFxtRwW.js.map +1 -1
- package/dist/divider-B3v33OnX.cjs +57 -0
- package/dist/divider-B3v33OnX.cjs.map +1 -0
- package/dist/divider-BJHW3q11.js +89 -0
- package/dist/divider-BJHW3q11.js.map +1 -0
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.cjs +40 -40
- package/dist/dropdown.cjs.map +1 -1
- package/dist/dropdown.js +41 -41
- package/dist/dropdown.js.map +1 -1
- package/dist/{expand-cZ8rfCWP.js → expand-BT8mOu8Q.js} +103 -97
- package/dist/expand-BT8mOu8Q.js.map +1 -0
- package/dist/expand-D0YdR9nR.cjs +147 -0
- package/dist/expand-D0YdR9nR.cjs.map +1 -0
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/fab.cjs +1 -1
- package/dist/fab.cjs.map +1 -1
- package/dist/fab.js +2 -2
- package/dist/fab.js.map +1 -1
- package/dist/{float-DkGyWSWy.cjs → float-BPQlDyai.cjs} +1 -1
- package/dist/{float-DkGyWSWy.cjs.map → float-BPQlDyai.cjs.map} +1 -1
- package/dist/{float-zn3DgXBT.js → float-BQcxj3i_.js} +2 -2
- package/dist/{float-zn3DgXBT.js.map → float-BQcxj3i_.js.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{form-DowzVsgI.cjs → form-CoWFnClb.cjs} +8 -13
- package/dist/form-CoWFnClb.cjs.map +1 -0
- package/dist/{form-tG7LwDm4.js → form-hC2LvCHX.js} +10 -15
- package/dist/form-hC2LvCHX.js.map +1 -0
- package/dist/form.cjs +12 -13
- package/dist/form.cjs.map +1 -1
- package/dist/form.js +23 -24
- package/dist/form.js.map +1 -1
- package/dist/gravity-6pL6CfIr.cjs.map +1 -1
- package/dist/gravity-sVK3zGBF.js.map +1 -1
- package/dist/handover/agent-runtime-followups.md +1 -1
- package/dist/handover/agent-runtime-v1.md +3 -3
- package/dist/{hashContent-iRZJJWtE.cjs.map → hashContent--s09Ed_g.cjs.map} +1 -1
- package/dist/{hashContent-BqU6v1Xr.js.map → hashContent-CAvrQ56N.js.map} +1 -1
- package/dist/icons-BeGKDZ-k.cjs +22 -0
- package/dist/icons-BeGKDZ-k.cjs.map +1 -0
- package/dist/{icons-Dup5skuk.js → icons-DEJnIxml.js} +20 -22
- package/dist/icons-DEJnIxml.js.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-CDJjnNmo.cjs → iframe-BkSukM9C.cjs} +9 -9
- package/dist/iframe-BkSukM9C.cjs.map +1 -0
- package/dist/{iframe-Xc3EPMZT.js → iframe-V3S-bwEY.js} +10 -10
- package/dist/iframe-V3S-bwEY.js.map +1 -0
- package/dist/iframe.cjs +1 -1
- package/dist/iframe.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +61 -60
- package/dist/{input-cTyDxW9L.js → input-CPFCSQld.js} +3 -10
- package/dist/input-CPFCSQld.js.map +1 -0
- package/dist/{input-DnmC6J1T.cjs → input-DSfwfhhj.cjs} +2 -9
- package/dist/input-DSfwfhhj.cjs.map +1 -0
- package/dist/input-chip-BUuFJUky.cjs +129 -0
- package/dist/input-chip-BUuFJUky.cjs.map +1 -0
- package/dist/{input-chip-CYI17YOq.js → input-chip-C3a1fwKB.js} +87 -104
- package/dist/input-chip-C3a1fwKB.js.map +1 -0
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/json.cjs +5 -1
- package/dist/json.cjs.map +1 -1
- package/dist/json.js +8 -4
- package/dist/json.js.map +1 -1
- package/dist/kbd.cjs +28 -28
- package/dist/kbd.cjs.map +1 -1
- package/dist/kbd.js +29 -29
- package/dist/kbd.js.map +1 -1
- package/dist/{layout-CNlZSJFU.cjs → layout-CdyHy_oX.cjs} +1 -1
- package/dist/layout-CdyHy_oX.cjs.map +1 -0
- package/dist/{layout-DDxw0EwL.js → layout-k6fOkpif.js} +1 -1
- package/dist/layout-k6fOkpif.js.map +1 -0
- package/dist/layout.cjs +26 -26
- package/dist/layout.cjs.map +1 -1
- package/dist/layout.js +27 -27
- package/dist/layout.js.map +1 -1
- package/dist/lazy-BaAiIUru.js.map +1 -1
- package/dist/lazy-C-7a4FAe.cjs.map +1 -1
- package/dist/{lightbox-CH-y3rYB.js → lightbox-DIG0VLOK.js} +8 -14
- package/dist/lightbox-DIG0VLOK.js.map +1 -0
- package/dist/{lightbox-CvtqoInF.cjs → lightbox-E5rgd-hu.cjs} +7 -13
- package/dist/lightbox-E5rgd-hu.cjs.map +1 -0
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/list-BRz0rDSH.cjs +47 -0
- package/dist/list-BRz0rDSH.cjs.map +1 -0
- package/dist/{list-DrsawQ5R.js → list-NrOYDPBo.js} +42 -35
- package/dist/list-NrOYDPBo.js.map +1 -0
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/magnetic-DKtc4umC.cjs.map +1 -1
- package/dist/magnetic-DaOOv5Dz.js.map +1 -1
- package/dist/{menu-CsY5lMqY.js → menu-B1Ei9SVj.js} +12 -12
- package/dist/menu-B1Ei9SVj.js.map +1 -0
- package/dist/{menu-BFRcTe3o.cjs → menu-Duvl66Nl.cjs} +10 -10
- package/dist/menu-Duvl66Nl.cjs.map +1 -0
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/{mixins-BoMURWag.cjs → mixins-Cjn20BQH.cjs} +42 -100
- package/dist/mixins-Cjn20BQH.cjs.map +1 -0
- package/dist/{mixins-bCEXbwJV.js → mixins-q4KAL8Xr.js} +42 -100
- package/dist/mixins-q4KAL8Xr.js.map +1 -0
- 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 +2 -4
- package/dist/navigation-rail.cjs.map +1 -1
- package/dist/navigation-rail.js +3 -5
- package/dist/navigation-rail.js.map +1 -1
- package/dist/{notification-DFKRMmSq.js → notification-COhUhUCr.js} +5 -7
- package/dist/notification-COhUhUCr.js.map +1 -0
- package/dist/{notification-FBf3Mb2e.cjs → notification-DsdA_MJe.cjs} +2 -4
- package/dist/notification-DsdA_MJe.cjs.map +1 -0
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-Ct0lGdH3.js → option-BIzgTbXz.js} +20 -20
- package/dist/option-BIzgTbXz.js.map +1 -0
- package/dist/option-C5hhqR2z.cjs +43 -0
- package/dist/option-C5hhqR2z.cjs.map +1 -0
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-sRXiMkjn.cjs → overlay-BzgF8P7i.cjs} +48 -41
- package/dist/overlay-BzgF8P7i.cjs.map +1 -0
- package/dist/{overlay-Bh8Q_R01.js → overlay-LoRRemny.js} +52 -45
- package/dist/overlay-LoRRemny.js.map +1 -0
- package/dist/overlay-stack-Bdr9lOqi.cjs.map +1 -1
- package/dist/overlay-stack-D2rgxQLh.js.map +1 -1
- package/dist/overlay.cjs +1 -1
- package/dist/{overlay.confirm-body-CQihsR20.js → overlay.confirm-body-D0b1MoCw.js} +30 -45
- package/dist/overlay.confirm-body-D0b1MoCw.js.map +1 -0
- package/dist/{overlay.confirm-body-Jc1EuMGs.cjs → overlay.confirm-body-DCneq73Z.cjs} +22 -37
- package/dist/overlay.confirm-body-DCneq73Z.cjs.map +1 -0
- package/dist/overlay.js +3 -3
- package/dist/{overlay.service-BXPgS7ay.js → overlay.service-BuUeti6X.js} +2 -2
- package/dist/overlay.service-BuUeti6X.js.map +1 -0
- package/dist/{overlay.service-9Dp3g7ot.cjs → overlay.service-MMTiW2T3.cjs} +1 -1
- package/dist/overlay.service-MMTiW2T3.cjs.map +1 -0
- package/dist/{progress-CYLshdo2.js → progress-D7n3SKAO.js} +50 -50
- package/dist/progress-D7n3SKAO.js.map +1 -0
- package/dist/progress-DsCnFsH5.cjs +51 -0
- package/dist/progress-DsCnFsH5.cjs.map +1 -0
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-group-6kCgOgBL.cjs → radio-group-CaAjg9UV.cjs} +1 -1
- package/dist/radio-group-CaAjg9UV.cjs.map +1 -0
- package/dist/{radio-group-bZtZHOj_.js → radio-group-Drpl6Pl8.js} +2 -2
- package/dist/radio-group-Drpl6Pl8.js.map +1 -0
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/range.cjs +4 -2
- package/dist/range.cjs.map +1 -1
- package/dist/range.js +5 -3
- package/dist/range.js.map +1 -1
- package/dist/reduced-motion-D-L12p7G.js.map +1 -1
- package/dist/reduced-motion-Ds-HjMzn.cjs.map +1 -1
- package/dist/{rxjs-utils-Csnks202.cjs.map → rxjs-utils-4P2v57ke.cjs.map} +1 -1
- package/dist/{rxjs-utils-d-ivVN84.js.map → rxjs-utils-JMFdgQSl.js.map} +1 -1
- package/dist/rxjs-utils.cjs +1 -1
- package/dist/rxjs-utils.js +1 -1
- package/dist/search-DPKoC-dT.cjs.map +1 -1
- package/dist/search-MvIBA93K.js.map +1 -1
- package/dist/{select-CU3X-PIa.js → select-CTXkrrVZ.js} +13 -13
- package/dist/select-CTXkrrVZ.js.map +1 -0
- package/dist/select-DcLcpPCh.cjs +56 -0
- package/dist/select-DcLcpPCh.cjs.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/skeleton.cjs +37 -33
- package/dist/skeleton.cjs.map +1 -1
- package/dist/skeleton.js +38 -34
- package/dist/skeleton.js.map +1 -1
- package/dist/skills/schmancy/surface.md +38 -22
- package/dist/skills/surface.md +38 -22
- package/dist/slider.cjs +31 -31
- package/dist/slider.cjs.map +1 -1
- package/dist/slider.js +32 -32
- package/dist/slider.js.map +1 -1
- package/dist/{sound.service-B4ZmXpH9.js → sound.service-AJwuk3yr.js} +1 -1
- package/dist/sound.service-AJwuk3yr.js.map +1 -0
- package/dist/{sound.service-DjlMvicQ.cjs → sound.service-CVsxhQkX.cjs} +1 -1
- package/dist/sound.service-CVsxhQkX.cjs.map +1 -0
- package/dist/{splash-screen-emCLYoVl.js → splash-screen-DANfqvlo.js} +23 -26
- package/dist/splash-screen-DANfqvlo.js.map +1 -0
- package/dist/splash-screen-K74cgU6S.cjs +38 -0
- package/dist/splash-screen-K74cgU6S.cjs.map +1 -0
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-DGDTkOvC.js → src-DAtcPmCb.js} +173 -175
- package/dist/src-DAtcPmCb.js.map +1 -0
- package/dist/src-DuRvYagm.cjs +237 -0
- package/dist/src-DuRvYagm.cjs.map +1 -0
- package/dist/{state-CumAEPQH.cjs → state-BWQiqN6I.cjs} +1 -1
- package/dist/state-BWQiqN6I.cjs.map +1 -0
- package/dist/{state-DMd_FUeA.js → state-DBA_gzJO.js} +1 -1
- package/dist/state-DBA_gzJO.js.map +1 -0
- package/dist/state.cjs +1 -1
- package/dist/state.js +2 -2
- package/dist/steps.cjs +20 -12
- package/dist/steps.cjs.map +1 -1
- package/dist/steps.js +21 -13
- package/dist/steps.js.map +1 -1
- package/dist/surface-COBvWWFb.cjs +7 -0
- package/dist/surface-COBvWWFb.cjs.map +1 -0
- package/dist/{surface-DNiYigsX.js → surface-DXk1X1tL.js} +9 -9
- package/dist/{surface-DNiYigsX.js.map → surface-DXk1X1tL.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/switch.cjs +13 -4
- package/dist/switch.cjs.map +1 -1
- package/dist/switch.js +14 -5
- package/dist/switch.js.map +1 -1
- package/dist/table.cjs +4 -10
- package/dist/table.cjs.map +1 -1
- package/dist/table.js +5 -11
- package/dist/table.js.map +1 -1
- package/dist/{tabs-4T_4kCf-.js → tabs-BYhFWnsx.js} +7 -7
- package/dist/tabs-BYhFWnsx.js.map +1 -0
- package/dist/{tabs-Byxxt-AH.cjs → tabs-CJwB0fr0.cjs} +6 -6
- package/dist/tabs-CJwB0fr0.cjs.map +1 -0
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-kkYNk1ET.js → textarea-BjDx1w2g.js} +37 -41
- package/dist/textarea-BjDx1w2g.js.map +1 -0
- package/dist/{textarea-BwYwH9fu.cjs → textarea-CGgznhd6.cjs} +36 -40
- package/dist/textarea-CGgznhd6.cjs.map +1 -0
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-BG0EnzYP.cjs → theme-BVul7lHS.cjs} +6 -6
- package/dist/{theme-BG0EnzYP.cjs.map → theme-BVul7lHS.cjs.map} +1 -1
- package/dist/{theme-DwQBl6sr.js → theme-Dvm5J8nh.js} +11 -11
- package/dist/{theme-DwQBl6sr.js.map → theme-Dvm5J8nh.js.map} +1 -1
- package/dist/{theme-button-BD8anzsZ.js → theme-button-Bko5ohFP.js} +2 -2
- package/dist/{theme-button-BD8anzsZ.js.map → theme-button-Bko5ohFP.js.map} +1 -1
- package/dist/{theme-button-DlrNoCMA.cjs → theme-button-YLY7zR1c.cjs} +1 -1
- package/dist/{theme-button-DlrNoCMA.cjs.map → theme-button-YLY7zR1c.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-CSt7JUBD.cjs.map → theme.interface-B-qxDsZQ.cjs.map} +1 -1
- package/dist/{theme.interface-odQEpZZH.js.map → theme.interface-B7caS5cg.js.map} +1 -1
- package/dist/theme.js +4 -4
- package/dist/{theme.service-Dv_55nfE.js → theme.service-D94nm7Bf.js} +1 -1
- package/dist/theme.service-D94nm7Bf.js.map +1 -0
- package/dist/{theme.service-pjkTM209.cjs → theme.service-h2fXQq7x.cjs} +1 -1
- package/dist/theme.service-h2fXQq7x.cjs.map +1 -0
- package/dist/tooltip.cjs.map +1 -1
- package/dist/tooltip.js.map +1 -1
- package/dist/tree.cjs +14 -14
- package/dist/tree.cjs.map +1 -1
- package/dist/tree.js +15 -15
- package/dist/tree.js.map +1 -1
- package/dist/types.cjs +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.js +19 -2
- package/dist/types.js.map +1 -1
- package/dist/typewriter.cjs.map +1 -1
- package/dist/typewriter.js.map +1 -1
- package/dist/typography-ByF2k5yW.js +358 -0
- package/dist/typography-ByF2k5yW.js.map +1 -0
- package/dist/typography-Cfav17it.cjs +282 -0
- package/dist/typography-Cfav17it.cjs.map +1 -0
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/utils-DIXndz6Q.cjs.map +1 -0
- package/dist/utils-dSPH7Oh9.js.map +1 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/dist/visually-hidden.cjs +13 -13
- package/dist/visually-hidden.cjs.map +1 -1
- package/dist/visually-hidden.js +14 -14
- package/dist/visually-hidden.js.map +1 -1
- package/dist/window-Br1OmpL-.cjs +67 -0
- package/dist/window-Br1OmpL-.cjs.map +1 -0
- package/dist/{window-C76zstbV.js → window-CCmN4but.js} +24 -15
- package/dist/window-CCmN4but.js.map +1 -0
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +1 -1
- package/skills/schmancy/surface.md +38 -22
- package/src/area/area.component.ts +249 -163
- package/src/area/area.service.test.ts +994 -1006
- package/src/area/area.service.ts +76 -72
- package/src/area/index.ts +7 -7
- package/src/area/lazy.ts +39 -42
- package/src/area/route.component.ts +54 -52
- package/src/area/router.types.ts +7 -7
- package/src/audio/emotional-sounds.ts +880 -801
- package/src/audio/sound.service.ts +26 -5
- package/src/avatar/avatar.ts +4 -4
- package/src/badge/badge.ts +15 -12
- package/src/badge/index.ts +1 -1
- package/src/boat/boat.ts +1 -1
- package/src/breadcrumb/breadcrumb.ts +37 -32
- package/src/busy/busy.ts +15 -12
- package/src/busy/index.ts +2 -2
- package/src/busy/spinner.ts +132 -119
- package/src/button/button.test.ts +5 -1
- package/src/button/button.ts +113 -72
- package/src/button/icon-button.ts +64 -46
- package/src/button/index.ts +2 -2
- package/src/calendar/calendar.test.ts +504 -0
- package/src/calendar/calendar.ts +587 -0
- package/src/calendar/index.ts +2 -0
- package/src/card/actions.ts +11 -9
- package/src/card/card.ts +79 -77
- package/src/card/content.ts +8 -6
- package/src/card/index.ts +4 -4
- package/src/card/media.ts +50 -50
- package/src/chips/assist-chip.ts +1 -1
- package/src/chips/chips.ts +1 -1
- package/src/chips/filter-chip.ts +1 -1
- package/src/chips/index.ts +1 -1
- package/src/chips/input-chip.ts +1 -1
- package/src/chips/suggestion-chip.ts +1 -1
- package/src/connectivity/connectivity-status.ts +90 -62
- package/src/content-drawer/drawer.service.ts +47 -36
- package/src/content-drawer/drawer.ts +31 -18
- package/src/content-drawer/index.ts +5 -5
- package/src/content-drawer/main.ts +9 -7
- package/src/content-drawer/sheet.ts +8 -6
- package/src/date-range-inline/date-range-inline.ts +523 -522
- package/src/date-range-inline/index.ts +2 -2
- package/src/delay/index.ts +1 -1
- package/src/details/details.ts +119 -105
- package/src/details/index.ts +1 -1
- package/src/directives/ai-badge.ts +1 -5
- package/src/directives/animate-text.ts +43 -31
- package/src/directives/art/effects/howl.ts +1 -4
- package/src/directives/art/effects/samwa.ts +11 -5
- package/src/directives/art/effects/snow.ts +1 -2
- package/src/directives/battery.ts +21 -12
- package/src/directives/confirm-click.ts +9 -17
- package/src/directives/cursor-glow.ts +1 -1
- package/src/directives/cycle-text.ts +7 -21
- package/src/directives/drag.ts +50 -45
- package/src/directives/fyi.ts +1 -6
- package/src/directives/gravity.ts +10 -8
- package/src/directives/hummingbird.ts +256 -107
- package/src/directives/index.ts +29 -29
- package/src/directives/intersect.ts +11 -11
- package/src/directives/layout.ts +25 -36
- package/src/directives/liquid.ts +4 -10
- package/src/directives/living-border.ts +7 -5
- package/src/directives/long-press.ts +2 -1
- package/src/directives/magnetic.ts +7 -6
- package/src/directives/nebula.ts +34 -28
- package/src/directives/overflow-within.ts +18 -20
- package/src/directives/reduced-motion.ts +9 -9
- package/src/directives/reveal.ts +193 -195
- package/src/directives/ripple.ts +9 -7
- package/src/directives/urgent.ts +3 -1
- package/src/directives/working-snake.ts +1 -1
- package/src/discovery/discovery.service.ts +198 -210
- package/src/discovery/index.ts +1 -1
- package/src/divider/divider.ts +49 -47
- package/src/divider/index.ts +1 -1
- package/src/dropdown/dropdown-content.ts +42 -40
- package/src/dropdown/index.ts +2 -2
- package/src/expand/expand-root.component.ts +70 -61
- package/src/expand/expand.component.ts +48 -43
- package/src/fab/fab.test.ts +1 -2
- package/src/fab/fab.ts +2 -4
- package/src/form/fields/autocomplete/autocomplete.scss +6 -2
- package/src/form/fields/autocomplete/autocomplete.ts +712 -724
- package/src/form/fields/autocomplete/index.ts +1 -1
- package/src/form/fields/checkbox/checkbox.ts +1 -4
- package/src/form/fields/chips/assist-chip.ts +69 -72
- package/src/form/fields/chips/chips.ts +14 -15
- package/src/form/fields/chips/filter-chip.ts +36 -32
- package/src/form/fields/chips/index.ts +5 -5
- package/src/form/fields/chips/input-chip.ts +130 -142
- package/src/form/fields/chips/suggestion-chip.ts +69 -72
- package/src/form/fields/date-range/date-range-dialog.ts +141 -194
- package/src/form/fields/date-range/date-range-helpers.ts +63 -64
- package/src/form/fields/date-range/date-range.test.ts +359 -122
- package/src/form/fields/date-range/date-range.ts +319 -395
- package/src/form/fields/date-range/index.ts +2 -2
- package/src/form/fields/input/index.ts +8 -8
- package/src/form/fields/input/input.scss +30 -26
- package/src/form/fields/input/input.test.ts +4 -1
- package/src/form/fields/input/input.ts +4 -20
- package/src/form/fields/radio-group/index.ts +2 -2
- package/src/form/fields/radio-group/radio-button.ts +8 -8
- package/src/form/fields/radio-group/radio-group.ts +4 -1
- package/src/form/fields/range/range.ts +3 -1
- package/src/form/fields/select/index.ts +2 -2
- package/src/form/fields/select/select.ts +51 -45
- package/src/form/fields/switch/switch.ts +13 -7
- package/src/form/fields/textarea/index.ts +1 -1
- package/src/form/fields/textarea/textarea.ts +44 -49
- package/src/form/form-summary.ts +15 -14
- package/src/form/form.test.ts +0 -1
- package/src/form/form.ts +11 -23
- package/src/icons/icon.ts +25 -25
- package/src/icons/index.ts +1 -1
- package/src/iframe/iframe.ts +11 -9
- package/src/index.ts +1 -0
- package/src/json/json.ts +9 -2
- package/src/kbd/kbd.ts +30 -28
- package/src/layout/scroll/index.ts +1 -1
- package/src/layout/scroll/scroll.ts +54 -54
- package/src/lightbox/lightbox-service.ts +27 -18
- package/src/lightbox/lightbox.directive.ts +2 -1
- package/src/lightbox/lightbox.ts +21 -38
- package/src/list/index.ts +3 -3
- package/src/list/list-item.ts +32 -26
- package/src/list/list.ts +13 -8
- package/src/menu/index.ts +2 -2
- package/src/menu/menu-item.ts +7 -5
- package/src/menu/menu.ts +8 -6
- package/src/nav-drawer/appbar.ts +9 -7
- package/src/nav-drawer/content.ts +10 -8
- package/src/nav-drawer/drawer.ts +29 -25
- package/src/nav-drawer/index.ts +6 -6
- package/src/navigation-bar/index.ts +2 -2
- package/src/navigation-bar/navigation-bar-item.ts +127 -118
- package/src/navigation-bar/navigation-bar.ts +103 -91
- package/src/navigation-rail/index.ts +2 -2
- package/src/navigation-rail/navigation-rail.ts +21 -22
- package/src/notification/index.ts +6 -6
- package/src/notification/notification-service.ts +1 -2
- package/src/notification/notification.scss +5 -1
- package/src/notification/notification.ts +1 -3
- package/src/notification/notify.ts +204 -207
- package/src/option/index.ts +1 -1
- package/src/option/option.ts +26 -25
- package/src/overlay/overlay.animations.ts +4 -14
- package/src/overlay/overlay.component.ts +110 -131
- package/src/overlay/overlay.confirm-body.ts +26 -48
- package/src/overlay/overlay.gestures.ts +8 -10
- package/src/overlay/overlay.layout.ts +1 -4
- package/src/overlay/overlay.positioning.ts +4 -15
- package/src/overlay/overlay.service.ts +9 -24
- package/src/overlay/overlay.stack.test.ts +4 -1
- package/src/overlay/overlay.stack.ts +4 -4
- package/src/overlay/overlay.types.ts +11 -20
- package/src/progress/index.ts +1 -1
- package/src/progress/progress.ts +135 -133
- package/src/rxjs-utils/index.ts +6 -6
- package/src/rxjs-utils/waitForElement.ts +20 -20
- package/src/rxjs-utils/waitForElementAll.ts +21 -21
- package/src/rxjs-utils/waitForElements.ts +27 -27
- package/src/rxjs-utils/waitForElementsAll.ts +27 -29
- package/src/rxjs-utils/waitUntil.ts +7 -12
- package/src/skeleton/skeleton.ts +39 -33
- package/src/slider/index.ts +2 -2
- package/src/slider/slide.ts +14 -12
- package/src/slider/slider.ts +24 -22
- package/src/splash-screen/index.ts +1 -1
- package/src/splash-screen/splash-screen.ts +26 -27
- package/src/state/active-host.ts +4 -5
- package/src/state/index.ts +34 -53
- package/src/state/persist.ts +14 -11
- package/src/state/schmancy-context.ts +88 -88
- package/src/state/state.test-d.ts +3 -13
- package/src/state/state.test.ts +1 -4
- package/src/steps/index.ts +3 -3
- package/src/steps/schmancy-step.ts +41 -31
- package/src/steps/schmancy-steps.ts +7 -5
- package/src/surface/index.ts +1 -1
- package/src/surface/surface.styles.ts +53 -104
- package/src/surface/surface.ts +10 -8
- package/src/table/index.ts +2 -2
- package/src/table/row.ts +1 -4
- package/src/table/table.ts +2 -5
- package/src/tabs/index.ts +2 -2
- package/src/tabs/tabs-group.ts +8 -6
- package/src/teleport/index.ts +2 -2
- package/src/test-utils/a11y.ts +1 -3
- package/src/theme/index.ts +17 -17
- package/src/theme/theme-audio-player.ts +18 -16
- package/src/theme/theme-controller-boat.ts +1 -1
- package/src/theme/theme-controller.ts +36 -32
- package/src/theme/theme.component.ts +5 -9
- package/src/theme/theme.events.ts +1 -1
- package/src/theme/theme.format.ts +7 -7
- package/src/theme/theme.service.ts +453 -468
- package/src/theme/theme.style.css +78 -23
- package/src/theme-button/index.ts +1 -1
- package/src/tooltip/tooltip.directive.ts +1 -1
- package/src/tree/index.ts +1 -1
- package/src/tree/tree.ts +24 -16
- package/src/types/surface.ts +38 -44
- package/src/typewriter/typewriter.directive.ts +30 -39
- package/src/typography/typography.ts +289 -269
- package/src/utils/animation.ts +2 -8
- package/src/utils/index.ts +6 -6
- package/src/utils/number.ts +480 -517
- package/src/utils/overlay-stack.ts +1 -3
- package/src/utils/search.ts +5 -9
- package/src/visually-hidden/visually-hidden.ts +15 -13
- package/src/window/window-manager.ts +6 -1
- package/src/window/window-position.ts +7 -5
- package/src/window/window.ts +143 -108
- package/types/src/calendar/calendar.d.ts +108 -0
- package/types/src/calendar/calendar.test.d.ts +1 -0
- package/types/src/calendar/index.d.ts +2 -0
- package/types/src/directives/cursor-glow.d.ts +1 -1
- package/types/src/directives/hummingbird.d.ts +3 -3
- package/types/src/form/fields/date-range/date-range-dialog.d.ts +24 -28
- package/types/src/form/fields/date-range/date-range.d.ts +35 -66
- package/types/src/form/fields/date-range/date-range.test.d.ts +1 -0
- package/types/src/form/fields/date-range/index.d.ts +1 -1
- package/types/src/index.d.ts +1 -0
- package/types/src/surface/surface.styles.d.ts +13 -6
- package/types/src/types/surface.d.ts +17 -22
- package/types/src/utils/number.d.ts +1 -1
- package/dist/SchmancyElement-OG71FtNv.js +0 -286
- package/dist/SchmancyElement-OG71FtNv.js.map +0 -1
- package/dist/SchmancyElement-PS1u0j1B.cjs +0 -2
- package/dist/SchmancyElement-PS1u0j1B.cjs.map +0 -1
- package/dist/area-CaEI33G0.cjs +0 -21
- package/dist/area-CaEI33G0.cjs.map +0 -1
- package/dist/area-DtCNCb8w.js.map +0 -1
- package/dist/audio-B924fI5N.cjs.map +0 -1
- package/dist/audio-DdN76ikW.js.map +0 -1
- package/dist/autocomplete-Dq3BkitV.cjs +0 -115
- package/dist/autocomplete-Dq3BkitV.cjs.map +0 -1
- package/dist/autocomplete-UNOknYUz.js.map +0 -1
- package/dist/busy--WqiXKnl.cjs +0 -134
- package/dist/busy--WqiXKnl.cjs.map +0 -1
- package/dist/busy-DzXyO0z6.js +0 -173
- package/dist/busy-DzXyO0z6.js.map +0 -1
- package/dist/button-CTvS5YX4.cjs.map +0 -1
- package/dist/button-DgoDfcJx.js.map +0 -1
- package/dist/card-C6ijJZpF.js.map +0 -1
- package/dist/card-Ci3_9Dd4.cjs +0 -177
- package/dist/card-Ci3_9Dd4.cjs.map +0 -1
- package/dist/chips-9eG-96_D.cjs.map +0 -1
- package/dist/chips-DF7akwz7.js.map +0 -1
- package/dist/date-range-C13_R3OA.js +0 -966
- package/dist/date-range-C13_R3OA.js.map +0 -1
- package/dist/date-range-Q2xj5Syc.cjs +0 -142
- package/dist/date-range-Q2xj5Syc.cjs.map +0 -1
- package/dist/date-range-inline-BnOD-ddB.js.map +0 -1
- package/dist/date-range-inline-DV2c_gWM.cjs.map +0 -1
- package/dist/details-B2-jECBh.cjs.map +0 -1
- package/dist/details-ByF66CyY.js.map +0 -1
- package/dist/directives-BL7mzVsA.js.map +0 -1
- package/dist/directives-DCb_LA9R.cjs.map +0 -1
- package/dist/divider-Bv2QiOZL.cjs +0 -57
- package/dist/divider-Bv2QiOZL.cjs.map +0 -1
- package/dist/divider-gYuz0zDU.js +0 -89
- package/dist/divider-gYuz0zDU.js.map +0 -1
- package/dist/expand-B9IUGVtc.cjs +0 -141
- package/dist/expand-B9IUGVtc.cjs.map +0 -1
- package/dist/expand-cZ8rfCWP.js.map +0 -1
- package/dist/form-DowzVsgI.cjs.map +0 -1
- package/dist/form-tG7LwDm4.js.map +0 -1
- package/dist/icons-BZeCloP9.cjs +0 -24
- package/dist/icons-BZeCloP9.cjs.map +0 -1
- package/dist/icons-Dup5skuk.js.map +0 -1
- package/dist/iframe-CDJjnNmo.cjs.map +0 -1
- package/dist/iframe-Xc3EPMZT.js.map +0 -1
- package/dist/input-DnmC6J1T.cjs.map +0 -1
- package/dist/input-cTyDxW9L.js.map +0 -1
- package/dist/input-chip-CV91URyU.cjs +0 -146
- package/dist/input-chip-CV91URyU.cjs.map +0 -1
- package/dist/input-chip-CYI17YOq.js.map +0 -1
- package/dist/layout-CNlZSJFU.cjs.map +0 -1
- package/dist/layout-DDxw0EwL.js.map +0 -1
- package/dist/lightbox-CH-y3rYB.js.map +0 -1
- package/dist/lightbox-CvtqoInF.cjs.map +0 -1
- package/dist/list-Dl8KfxrF.cjs +0 -40
- package/dist/list-Dl8KfxrF.cjs.map +0 -1
- package/dist/list-DrsawQ5R.js.map +0 -1
- package/dist/menu-BFRcTe3o.cjs.map +0 -1
- package/dist/menu-CsY5lMqY.js.map +0 -1
- package/dist/mixins-BoMURWag.cjs.map +0 -1
- package/dist/mixins-bCEXbwJV.js.map +0 -1
- package/dist/notification-DFKRMmSq.js.map +0 -1
- package/dist/notification-FBf3Mb2e.cjs.map +0 -1
- package/dist/option-Ct0lGdH3.js.map +0 -1
- package/dist/option-Il1KpU8M.cjs +0 -43
- package/dist/option-Il1KpU8M.cjs.map +0 -1
- package/dist/overlay-Bh8Q_R01.js.map +0 -1
- package/dist/overlay-sRXiMkjn.cjs.map +0 -1
- package/dist/overlay.confirm-body-CQihsR20.js.map +0 -1
- package/dist/overlay.confirm-body-Jc1EuMGs.cjs.map +0 -1
- package/dist/overlay.service-9Dp3g7ot.cjs.map +0 -1
- package/dist/overlay.service-BXPgS7ay.js.map +0 -1
- package/dist/progress-CWC5XYZ_.cjs +0 -51
- package/dist/progress-CWC5XYZ_.cjs.map +0 -1
- package/dist/progress-CYLshdo2.js.map +0 -1
- package/dist/radio-group-6kCgOgBL.cjs.map +0 -1
- package/dist/radio-group-bZtZHOj_.js.map +0 -1
- package/dist/select-CU3X-PIa.js.map +0 -1
- package/dist/select-MXsF8KsU.cjs +0 -56
- package/dist/select-MXsF8KsU.cjs.map +0 -1
- package/dist/sound.service-B4ZmXpH9.js.map +0 -1
- package/dist/sound.service-DjlMvicQ.cjs.map +0 -1
- package/dist/splash-screen-CN9dZcqC.cjs +0 -41
- package/dist/splash-screen-CN9dZcqC.cjs.map +0 -1
- package/dist/splash-screen-emCLYoVl.js.map +0 -1
- package/dist/src-DGDTkOvC.js.map +0 -1
- package/dist/src-DK3111z_.cjs +0 -240
- package/dist/src-DK3111z_.cjs.map +0 -1
- package/dist/state-CumAEPQH.cjs.map +0 -1
- package/dist/state-DMd_FUeA.js.map +0 -1
- package/dist/surface-DGI-FBoi.cjs +0 -7
- package/dist/surface-DGI-FBoi.cjs.map +0 -1
- package/dist/tabs-4T_4kCf-.js.map +0 -1
- package/dist/tabs-Byxxt-AH.cjs.map +0 -1
- package/dist/textarea-BwYwH9fu.cjs.map +0 -1
- package/dist/textarea-kkYNk1ET.js.map +0 -1
- package/dist/theme.service-Dv_55nfE.js.map +0 -1
- package/dist/theme.service-pjkTM209.cjs.map +0 -1
- package/dist/typography-BVkU11_q.js +0 -358
- package/dist/typography-BVkU11_q.js.map +0 -1
- package/dist/typography-aaQaIcNc.cjs +0 -282
- package/dist/typography-aaQaIcNc.cjs.map +0 -1
- package/dist/utils-DTa3QHxk.cjs.map +0 -1
- package/dist/utils-H8wNknWC.js.map +0 -1
- package/dist/window-C76zstbV.js.map +0 -1
- package/dist/window-CmB9XZzT.cjs +0 -58
- package/dist/window-CmB9XZzT.cjs.map +0 -1
- package/src/form/fields/date-range/date-range-presets.ts +0 -220
- package/src/form/fields/date-range/date-utils.ts +0 -58
- package/types/src/form/fields/date-range/date-range-presets.d.ts +0 -18
- package/types/src/form/fields/date-range/date-utils.d.ts +0 -15
- /package/dist/{hashContent-iRZJJWtE.cjs → hashContent--s09Ed_g.cjs} +0 -0
- /package/dist/{hashContent-BqU6v1Xr.js → hashContent-CAvrQ56N.js} +0 -0
- /package/dist/{rxjs-utils-Csnks202.cjs → rxjs-utils-4P2v57ke.cjs} +0 -0
- /package/dist/{rxjs-utils-d-ivVN84.js → rxjs-utils-JMFdgQSl.js} +0 -0
- /package/dist/{theme.interface-CSt7JUBD.cjs → theme.interface-B-qxDsZQ.cjs} +0 -0
- /package/dist/{theme.interface-odQEpZZH.js → theme.interface-B7caS5cg.js} +0 -0
- /package/dist/{utils-DTa3QHxk.cjs → utils-DIXndz6Q.cjs} +0 -0
- /package/dist/{utils-H8wNknWC.js → utils-dSPH7Oh9.js} +0 -0
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DURATION_EXIT,
|
|
3
|
-
getEasing,
|
|
4
|
-
SPRING_SMOOTH,
|
|
5
|
-
SPRING_SNAPPY,
|
|
6
|
-
} from '../utils/animation'
|
|
1
|
+
import { DURATION_EXIT, getEasing, SPRING_SMOOTH, SPRING_SNAPPY } from '../utils/animation'
|
|
7
2
|
import { reducedMotion$ } from '../directives/reduced-motion'
|
|
8
3
|
import type { Anchor, OverlayLayout } from './overlay.types'
|
|
9
4
|
|
|
@@ -47,7 +42,7 @@ export interface AnimationSpec {
|
|
|
47
42
|
* module singletons don't need explicit teardown).
|
|
48
43
|
*/
|
|
49
44
|
let reducedMotion = reducedMotion$.value
|
|
50
|
-
reducedMotion$.subscribe(
|
|
45
|
+
reducedMotion$.subscribe(v => {
|
|
51
46
|
reducedMotion = v
|
|
52
47
|
})
|
|
53
48
|
|
|
@@ -62,9 +57,7 @@ function clampPercent(value: number): number {
|
|
|
62
57
|
|
|
63
58
|
function getAnchorCenter(anchor: Anchor): { x: number; y: number } {
|
|
64
59
|
// Element | VirtualAnchor — anything exposing getBoundingClientRect()
|
|
65
|
-
if (
|
|
66
|
-
typeof (anchor as { getBoundingClientRect?: unknown }).getBoundingClientRect === 'function'
|
|
67
|
-
) {
|
|
60
|
+
if (typeof (anchor as { getBoundingClientRect?: unknown }).getBoundingClientRect === 'function') {
|
|
68
61
|
const r = (anchor as { getBoundingClientRect(): DOMRect }).getBoundingClientRect()
|
|
69
62
|
return { x: r.left + r.width / 2, y: r.top + r.height / 2 }
|
|
70
63
|
}
|
|
@@ -84,10 +77,7 @@ function getAnchorCenter(anchor: Anchor): { x: number; y: number } {
|
|
|
84
77
|
return { x: e.clientX, y: e.clientY }
|
|
85
78
|
}
|
|
86
79
|
// TouchEvent
|
|
87
|
-
if (
|
|
88
|
-
typeof (anchor as TouchEvent).touches !== 'undefined' &&
|
|
89
|
-
(anchor as TouchEvent).touches.length > 0
|
|
90
|
-
) {
|
|
80
|
+
if (typeof (anchor as TouchEvent).touches !== 'undefined' && (anchor as TouchEvent).touches.length > 0) {
|
|
91
81
|
const t = (anchor as TouchEvent).touches[0]
|
|
92
82
|
return { x: t.clientX, y: t.clientY }
|
|
93
83
|
}
|
|
@@ -17,32 +17,12 @@ import {
|
|
|
17
17
|
} from 'rxjs'
|
|
18
18
|
import type { LazyComponent } from '../area/lazy'
|
|
19
19
|
import { fromResizeObserver } from '../directives/layout'
|
|
20
|
-
import {
|
|
21
|
-
anchorOriginVars,
|
|
22
|
-
flipAnimation,
|
|
23
|
-
surfaceAnimation,
|
|
24
|
-
} from './overlay.animations'
|
|
20
|
+
import { anchorOriginVars, flipAnimation, surfaceAnimation } from './overlay.animations'
|
|
25
21
|
import { swipeToDismiss$ } from './overlay.gestures'
|
|
26
|
-
import {
|
|
27
|
-
|
|
28
|
-
resolveLayout,
|
|
29
|
-
type ResolvedAnchor,
|
|
30
|
-
} from './overlay.layout'
|
|
31
|
-
import {
|
|
32
|
-
pickPositioner,
|
|
33
|
-
positionCSSAnchor,
|
|
34
|
-
positionFloatingUI,
|
|
35
|
-
positionPopoverAPI,
|
|
36
|
-
} from './overlay.positioning'
|
|
22
|
+
import { resolveAnchorRef, resolveLayout, type ResolvedAnchor } from './overlay.layout'
|
|
23
|
+
import { pickPositioner, positionCSSAnchor, positionFloatingUI, positionPopoverAPI } from './overlay.positioning'
|
|
37
24
|
import { currentStack } from './overlay.stack'
|
|
38
|
-
import type {
|
|
39
|
-
Anchor,
|
|
40
|
-
CloseReason,
|
|
41
|
-
Content,
|
|
42
|
-
OverlayLayout,
|
|
43
|
-
OverlayTier,
|
|
44
|
-
ShowOptions,
|
|
45
|
-
} from './overlay.types'
|
|
25
|
+
import type { Anchor, CloseReason, Content, OverlayLayout, OverlayTier, ShowOptions } from './overlay.types'
|
|
46
26
|
|
|
47
27
|
const MOUNT_POINT_ID = 'overlay-mount'
|
|
48
28
|
const RE_RESOLVE_COOLDOWN_MS = 600
|
|
@@ -69,49 +49,51 @@ const RE_RESOLVE_COOLDOWN_MS = 600
|
|
|
69
49
|
*/
|
|
70
50
|
@customElement('schmancy-overlay')
|
|
71
51
|
export class SchmancyOverlay extends SchmancyElement {
|
|
72
|
-
static styles = [
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
52
|
+
static styles = [
|
|
53
|
+
css`
|
|
54
|
+
:host {
|
|
55
|
+
position: fixed;
|
|
56
|
+
inset: 0;
|
|
57
|
+
z-index: 10000;
|
|
58
|
+
display: none;
|
|
59
|
+
pointer-events: none;
|
|
60
|
+
}
|
|
61
|
+
:host([active]) {
|
|
62
|
+
display: block;
|
|
63
|
+
}
|
|
64
|
+
/* Vertical-gradient scrim — Tailwind's bg-gradient utilities cannot reach
|
|
84
65
|
* these color-mix percentages with sufficient control. */
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
66
|
+
.backdrop {
|
|
67
|
+
background: linear-gradient(
|
|
68
|
+
to bottom,
|
|
69
|
+
color-mix(in srgb, var(--schmancy-sys-color-scrim) 18%, transparent) 0%,
|
|
70
|
+
color-mix(in srgb, var(--schmancy-sys-color-scrim) 56%, transparent) 100%
|
|
71
|
+
);
|
|
72
|
+
-webkit-backdrop-filter: blur(16px) saturate(160%);
|
|
73
|
+
backdrop-filter: blur(16px) saturate(160%);
|
|
74
|
+
}
|
|
75
|
+
/* Popover top-layer surfaces — UA defaults push surface off-screen. */
|
|
76
|
+
.surface:popover-open {
|
|
77
|
+
margin: 0;
|
|
78
|
+
border: 0;
|
|
79
|
+
}
|
|
80
|
+
/* Modal tier promotes the whole shell (scrim + surface) into the top
|
|
100
81
|
* layer so every overlay — anchored or modal — shares ONE stacking
|
|
101
82
|
* domain ordered strictly by show() time. Neutralize the UA popover
|
|
102
83
|
* box so the shell stays full-viewport. */
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
84
|
+
.shell:popover-open {
|
|
85
|
+
inset: 0;
|
|
86
|
+
margin: 0;
|
|
87
|
+
border: 0;
|
|
88
|
+
width: 100%;
|
|
89
|
+
height: 100%;
|
|
90
|
+
max-width: none;
|
|
91
|
+
max-height: none;
|
|
92
|
+
background: transparent;
|
|
93
|
+
overflow: visible;
|
|
94
|
+
}
|
|
95
|
+
`,
|
|
96
|
+
]
|
|
115
97
|
|
|
116
98
|
@property({ type: String, reflect: true }) layout: OverlayLayout = 'sheet'
|
|
117
99
|
@property({ type: Boolean, reflect: true }) dismissable = true
|
|
@@ -188,11 +170,7 @@ export class SchmancyOverlay extends SchmancyElement {
|
|
|
188
170
|
// Pick the positioning tier. Modal layouts always use the 'modal'
|
|
189
171
|
// tier (custom shell + manual backdrop); anchored uses the CAPS-driven
|
|
190
172
|
// ladder. `modal: true` on an anchored layout stays modal.
|
|
191
|
-
this.tier = this.modal
|
|
192
|
-
? 'modal'
|
|
193
|
-
: this.resolvedAnchor
|
|
194
|
-
? pickPositioner(this.resolvedAnchor)
|
|
195
|
-
: 'modal'
|
|
173
|
+
this.tier = this.modal ? 'modal' : this.resolvedAnchor ? pickPositioner(this.resolvedAnchor) : 'modal'
|
|
196
174
|
|
|
197
175
|
await this.updateComplete
|
|
198
176
|
|
|
@@ -313,7 +291,12 @@ export class SchmancyOverlay extends SchmancyElement {
|
|
|
313
291
|
<div class="shell fixed inset-0 pointer-events-none" part="shell">
|
|
314
292
|
${when(
|
|
315
293
|
this.modal,
|
|
316
|
-
() =>
|
|
294
|
+
() =>
|
|
295
|
+
html`<div
|
|
296
|
+
class="backdrop fixed inset-0 pointer-events-auto"
|
|
297
|
+
part="backdrop"
|
|
298
|
+
@click=${this.onBackdropClick}
|
|
299
|
+
></div>`,
|
|
317
300
|
)}
|
|
318
301
|
<section
|
|
319
302
|
class="${baseClasses} ${layoutClasses}"
|
|
@@ -324,7 +307,10 @@ export class SchmancyOverlay extends SchmancyElement {
|
|
|
324
307
|
aria-modal=${this.modal ? 'true' : 'false'}
|
|
325
308
|
tabindex="-1"
|
|
326
309
|
>
|
|
327
|
-
<div
|
|
310
|
+
<div
|
|
311
|
+
id=${MOUNT_POINT_ID}
|
|
312
|
+
class=${this.layout === 'sheet' && this.full ? 'flex-1 min-h-0 overflow-hidden' : ''}
|
|
313
|
+
></div>
|
|
328
314
|
</section>
|
|
329
315
|
</div>
|
|
330
316
|
`
|
|
@@ -397,23 +383,22 @@ export class SchmancyOverlay extends SchmancyElement {
|
|
|
397
383
|
|
|
398
384
|
// Structured close — content dispatches CustomEvent('close', { detail }).
|
|
399
385
|
const structured$ = fromEvent<CustomEvent>(this, 'close').pipe(
|
|
400
|
-
filter(
|
|
401
|
-
tap(
|
|
402
|
-
map(
|
|
386
|
+
filter(e => e instanceof CustomEvent),
|
|
387
|
+
tap(e => e.stopPropagation()),
|
|
388
|
+
map(e => ({ reason: 'structured' as CloseReason, result: e.detail })),
|
|
403
389
|
)
|
|
404
390
|
|
|
405
391
|
// Native <form method="dialog"> submission bubbles up as a regular
|
|
406
392
|
// submit event with `submitter.value` (returnValue proxy for our
|
|
407
393
|
// custom shell). Capture it and resolve with the string value.
|
|
408
394
|
const nativeSubmit$ = fromEvent<SubmitEvent>(this, 'submit').pipe(
|
|
409
|
-
filter(
|
|
395
|
+
filter(e => {
|
|
410
396
|
const form = e.target as HTMLFormElement | null
|
|
411
397
|
return !!form && form.method === 'dialog'
|
|
412
398
|
}),
|
|
413
|
-
tap(
|
|
414
|
-
map(
|
|
415
|
-
const submitter = (e as SubmitEvent & { submitter?: HTMLButtonElement | HTMLInputElement })
|
|
416
|
-
.submitter
|
|
399
|
+
tap(e => e.preventDefault()),
|
|
400
|
+
map(e => {
|
|
401
|
+
const submitter = (e as SubmitEvent & { submitter?: HTMLButtonElement | HTMLInputElement }).submitter
|
|
417
402
|
return { reason: 'native-submit' as CloseReason, result: submitter?.value ?? '' }
|
|
418
403
|
}),
|
|
419
404
|
)
|
|
@@ -423,8 +408,8 @@ export class SchmancyOverlay extends SchmancyElement {
|
|
|
423
408
|
// either (the auto popover-stack would close ancestor overlays when
|
|
424
409
|
// a nested overlay opens — see positionPopoverAPI's comment).
|
|
425
410
|
const escape$ = fromEvent<KeyboardEvent>(document, 'keydown').pipe(
|
|
426
|
-
filter(
|
|
427
|
-
tap(
|
|
411
|
+
filter(e => e.key === 'Escape'),
|
|
412
|
+
tap(e => e.preventDefault()),
|
|
428
413
|
filter(() => this.dismissable),
|
|
429
414
|
map(() => ({ reason: 'escape' as CloseReason })),
|
|
430
415
|
take(1),
|
|
@@ -438,60 +423,55 @@ export class SchmancyOverlay extends SchmancyElement {
|
|
|
438
423
|
// `Node.contains`) so clicks on elements inside slotted /
|
|
439
424
|
// shadow-DOM descendants of the surface are correctly classified
|
|
440
425
|
// as "inside".
|
|
441
|
-
const outsideClick$ =
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
426
|
+
const outsideClick$ =
|
|
427
|
+
this.tier !== 'modal'
|
|
428
|
+
? fromEvent<PointerEvent>(document, 'pointerdown', { capture: true }).pipe(
|
|
429
|
+
filter(e => {
|
|
430
|
+
if (!this.dismissable) return false
|
|
431
|
+
const path = e.composedPath()
|
|
432
|
+
if (this.surface && path.includes(this.surface)) return false
|
|
433
|
+
if (this.resolvedAnchor?.el && path.includes(this.resolvedAnchor.el)) return false
|
|
434
|
+
// Suppress dismiss when the click lands inside any overlay that sits
|
|
435
|
+
// ABOVE this one in the stack (nested overlays sibling-appended to
|
|
436
|
+
// body). Read the stack fresh per pointerdown — it mutates as overlays
|
|
437
|
+
// open and close.
|
|
438
|
+
const stack = currentStack()
|
|
439
|
+
const myIndex = stack.findIndex(entry => entry.element === this)
|
|
440
|
+
if (myIndex !== -1) {
|
|
441
|
+
for (let i = myIndex + 1; i < stack.length; i++) {
|
|
442
|
+
if (path.includes(stack[i].element)) return false
|
|
443
|
+
const aboveSurface = stack[i].element.shadowRoot?.querySelector('.surface')
|
|
444
|
+
if (aboveSurface && path.includes(aboveSurface)) return false
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
return true
|
|
448
|
+
}),
|
|
449
|
+
map(() => ({ reason: 'backdrop' as CloseReason })),
|
|
450
|
+
take(1),
|
|
451
|
+
)
|
|
452
|
+
: null
|
|
467
453
|
|
|
468
454
|
// Swipe-to-dismiss for sheet layout only. No visual drag handle —
|
|
469
455
|
// the gesture starts from the top 40px of the surface (see
|
|
470
456
|
// DRAG_START_TOP_PX in overlay.gestures). Escape + backdrop click
|
|
471
457
|
// cover the other dismiss paths via the modal-tier listeners above.
|
|
472
|
-
const swipe$ =
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
458
|
+
const swipe$ =
|
|
459
|
+
this.layout === 'sheet' && this.dismissable
|
|
460
|
+
? swipeToDismiss$({ surface: this.surface, until$: merge(until, this.#closed$) }).pipe(
|
|
461
|
+
take(1),
|
|
462
|
+
map(() => ({ reason: 'swipe' as CloseReason })),
|
|
463
|
+
)
|
|
464
|
+
: null
|
|
478
465
|
|
|
479
466
|
// AbortSignal — standard cancellation input.
|
|
480
467
|
const abort$ = signal
|
|
481
468
|
? fromEvent(signal, 'abort').pipe(
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
469
|
+
take(1),
|
|
470
|
+
map(() => ({ reason: 'abort' as CloseReason })),
|
|
471
|
+
)
|
|
485
472
|
: null
|
|
486
473
|
|
|
487
|
-
merge(
|
|
488
|
-
structured$,
|
|
489
|
-
nativeSubmit$,
|
|
490
|
-
escape$,
|
|
491
|
-
outsideClick$ ?? EMPTY,
|
|
492
|
-
swipe$ ?? EMPTY,
|
|
493
|
-
abort$ ?? EMPTY,
|
|
494
|
-
)
|
|
474
|
+
merge(structured$, nativeSubmit$, escape$, outsideClick$ ?? EMPTY, swipe$ ?? EMPTY, abort$ ?? EMPTY)
|
|
495
475
|
.pipe(takeUntil(until))
|
|
496
476
|
.subscribe(({ reason, result }: { reason: CloseReason; result?: unknown }) => void this.close(reason, result))
|
|
497
477
|
}
|
|
@@ -501,7 +481,7 @@ export class SchmancyOverlay extends SchmancyElement {
|
|
|
501
481
|
private wireResizeObserver(mount: HTMLElement): void {
|
|
502
482
|
fromResizeObserver(mount)
|
|
503
483
|
.pipe(
|
|
504
|
-
map(
|
|
484
|
+
map(entries => {
|
|
505
485
|
const entry = entries[0]
|
|
506
486
|
if (!entry) return null
|
|
507
487
|
const box = entry.contentRect
|
|
@@ -548,17 +528,16 @@ export class SchmancyOverlay extends SchmancyElement {
|
|
|
548
528
|
const surface = this.surface
|
|
549
529
|
if (!surface) return
|
|
550
530
|
const spec = surfaceAnimation(this.layout, direction)
|
|
551
|
-
const tasks: Promise<unknown>[] = [
|
|
552
|
-
surface.animate(spec.keyframes, spec.options).finished.catch(() => undefined),
|
|
553
|
-
]
|
|
531
|
+
const tasks: Promise<unknown>[] = [surface.animate(spec.keyframes, spec.options).finished.catch(() => undefined)]
|
|
554
532
|
const backdrop = this.backdrop
|
|
555
533
|
if (this.modal && backdrop) {
|
|
556
534
|
tasks.push(
|
|
557
535
|
backdrop
|
|
558
|
-
.animate(
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
536
|
+
.animate(direction === 'in' ? [{ opacity: 0 }, { opacity: 1 }] : [{ opacity: 1 }, { opacity: 0 }], {
|
|
537
|
+
duration: spec.options.duration,
|
|
538
|
+
easing: direction === 'in' ? 'ease-out' : 'ease-in',
|
|
539
|
+
fill: 'forwards',
|
|
540
|
+
})
|
|
562
541
|
.finished.catch(() => undefined),
|
|
563
542
|
)
|
|
564
543
|
}
|
|
@@ -25,13 +25,15 @@ import '../button/button'
|
|
|
25
25
|
*/
|
|
26
26
|
@customElement('schmancy-overlay-prompt-body')
|
|
27
27
|
export class SchmancyOverlayPromptBody extends SchmancyElement {
|
|
28
|
-
static styles = [
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
28
|
+
static styles = [
|
|
29
|
+
css`
|
|
30
|
+
:host {
|
|
31
|
+
display: block;
|
|
32
|
+
min-width: 280px;
|
|
33
|
+
max-width: 480px;
|
|
34
|
+
}
|
|
35
|
+
`,
|
|
36
|
+
]
|
|
35
37
|
|
|
36
38
|
@property({ type: String }) heading?: string
|
|
37
39
|
@property({ type: String }) subtitle?: string
|
|
@@ -46,17 +48,8 @@ export class SchmancyOverlayPromptBody extends SchmancyElement {
|
|
|
46
48
|
@property({ type: String, attribute: 'default-value' }) defaultValue = ''
|
|
47
49
|
@property({ type: String }) placeholder?: string
|
|
48
50
|
@property({ type: String, attribute: 'input-type' })
|
|
49
|
-
inputType:
|
|
50
|
-
|
|
51
|
-
| 'email'
|
|
52
|
-
| 'password'
|
|
53
|
-
| 'tel'
|
|
54
|
-
| 'url'
|
|
55
|
-
| 'number'
|
|
56
|
-
| 'search'
|
|
57
|
-
| 'date'
|
|
58
|
-
| 'time'
|
|
59
|
-
| 'datetime-local' = 'text'
|
|
51
|
+
inputType: 'text' | 'email' | 'password' | 'tel' | 'url' | 'number' | 'search' | 'date' | 'time' | 'datetime-local' =
|
|
52
|
+
'text'
|
|
60
53
|
@property({ type: String }) pattern?: string
|
|
61
54
|
@property({ type: Boolean }) required = false
|
|
62
55
|
|
|
@@ -103,26 +96,19 @@ export class SchmancyOverlayPromptBody extends SchmancyElement {
|
|
|
103
96
|
${when(
|
|
104
97
|
this.heading,
|
|
105
98
|
() => html`
|
|
106
|
-
<schmancy-typography
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
token="sm"
|
|
110
|
-
>${this.heading}</schmancy-typography>
|
|
99
|
+
<schmancy-typography ${gravity({ delay: 0, mass: 0.8 })} type="headline" token="sm"
|
|
100
|
+
>${this.heading}</schmancy-typography
|
|
101
|
+
>
|
|
111
102
|
`,
|
|
112
103
|
)}
|
|
113
|
-
|
|
114
104
|
${when(
|
|
115
105
|
this.subtitle,
|
|
116
106
|
() => html`
|
|
117
|
-
<schmancy-typography
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
token="md"
|
|
121
|
-
class="opacity-70"
|
|
122
|
-
>${this.subtitle}</schmancy-typography>
|
|
107
|
+
<schmancy-typography ${gravity({ delay: 60, mass: 0.9 })} type="body" token="md" class="opacity-70"
|
|
108
|
+
>${this.subtitle}</schmancy-typography
|
|
109
|
+
>
|
|
123
110
|
`,
|
|
124
111
|
)}
|
|
125
|
-
|
|
126
112
|
${choose(
|
|
127
113
|
this.mode,
|
|
128
114
|
[
|
|
@@ -146,7 +132,8 @@ export class SchmancyOverlayPromptBody extends SchmancyElement {
|
|
|
146
132
|
type="body"
|
|
147
133
|
token="sm"
|
|
148
134
|
class="opacity-70"
|
|
149
|
-
|
|
135
|
+
>${this.message}</schmancy-typography
|
|
136
|
+
>
|
|
150
137
|
`,
|
|
151
138
|
)}
|
|
152
139
|
`,
|
|
@@ -156,12 +143,9 @@ export class SchmancyOverlayPromptBody extends SchmancyElement {
|
|
|
156
143
|
${when(
|
|
157
144
|
this.message,
|
|
158
145
|
() => html`
|
|
159
|
-
<schmancy-typography
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
token="md"
|
|
163
|
-
class="opacity-70"
|
|
164
|
-
>${this.message}</schmancy-typography>
|
|
146
|
+
<schmancy-typography ${gravity({ delay: 60, mass: 0.9 })} type="body" token="md" class="opacity-70"
|
|
147
|
+
>${this.message}</schmancy-typography
|
|
148
|
+
>
|
|
165
149
|
`,
|
|
166
150
|
)}
|
|
167
151
|
`,
|
|
@@ -169,16 +153,10 @@ export class SchmancyOverlayPromptBody extends SchmancyElement {
|
|
|
169
153
|
</div>
|
|
170
154
|
|
|
171
155
|
<div ${gravity({ delay: 180, mass: 1.0 })} class="flex justify-end gap-2 mt-6">
|
|
172
|
-
<schmancy-button
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
>${this.cancelText}</schmancy-button>
|
|
177
|
-
<schmancy-button
|
|
178
|
-
type="submit"
|
|
179
|
-
variant="filled"
|
|
180
|
-
color=${this.variant === 'danger' ? 'error' : 'primary'}
|
|
181
|
-
>${this.confirmText}</schmancy-button>
|
|
156
|
+
<schmancy-button type="button" variant="text" @click=${this.handleCancel}>${this.cancelText}</schmancy-button>
|
|
157
|
+
<schmancy-button type="submit" variant="filled" color=${this.variant === 'danger' ? 'error' : 'primary'}
|
|
158
|
+
>${this.confirmText}</schmancy-button
|
|
159
|
+
>
|
|
182
160
|
</div>
|
|
183
161
|
</schmancy-form>
|
|
184
162
|
`
|
|
@@ -57,7 +57,7 @@ export interface SwipeInputs {
|
|
|
57
57
|
export function swipeToDismiss$(inputs: SwipeInputs): Observable<'dismiss'> {
|
|
58
58
|
const { surface, dragHandle, until$ } = inputs
|
|
59
59
|
|
|
60
|
-
return new Observable<'dismiss'>(
|
|
60
|
+
return new Observable<'dismiss'>(subscriber => {
|
|
61
61
|
const dragTarget = dragHandle ?? surface
|
|
62
62
|
const stopCurrent$ = new Subject<void>()
|
|
63
63
|
|
|
@@ -70,14 +70,14 @@ export function swipeToDismiss$(inputs: SwipeInputs): Observable<'dismiss'> {
|
|
|
70
70
|
const pointerDown$ = fromEvent<PointerEvent>(dragTarget, 'pointerdown').pipe(
|
|
71
71
|
// Primary button / primary finger only. For touch, isPrimary also
|
|
72
72
|
// covers the pinch-zoom guard (only one finger has isPrimary=true).
|
|
73
|
-
filter(
|
|
73
|
+
filter(e => e.isPrimary && (e.pointerType !== 'mouse' || e.button === 0)),
|
|
74
74
|
// Without a dedicated drag handle, require start in the top band.
|
|
75
|
-
filter(
|
|
75
|
+
filter(e => {
|
|
76
76
|
if (dragHandle) return true
|
|
77
77
|
const rect = surface.getBoundingClientRect()
|
|
78
78
|
return e.clientY - rect.top <= DRAG_START_TOP_PX
|
|
79
79
|
}),
|
|
80
|
-
tap(
|
|
80
|
+
tap(e => {
|
|
81
81
|
dragging = true
|
|
82
82
|
activePointerId = e.pointerId
|
|
83
83
|
startY = e.clientY
|
|
@@ -97,8 +97,8 @@ export function swipeToDismiss$(inputs: SwipeInputs): Observable<'dismiss'> {
|
|
|
97
97
|
|
|
98
98
|
const pointerMove$ = fromEvent<PointerEvent>(dragTarget, 'pointermove').pipe(
|
|
99
99
|
filter(() => dragging),
|
|
100
|
-
filter(
|
|
101
|
-
tap(
|
|
100
|
+
filter(e => e.pointerId === activePointerId),
|
|
101
|
+
tap(e => {
|
|
102
102
|
const deltaY = e.clientY - startY
|
|
103
103
|
currentDelta = logDamp(deltaY)
|
|
104
104
|
surface.style.transform = `translateY(${currentDelta}px)`
|
|
@@ -114,7 +114,7 @@ export function swipeToDismiss$(inputs: SwipeInputs): Observable<'dismiss'> {
|
|
|
114
114
|
fromEvent<PointerEvent>(dragTarget, 'lostpointercapture'),
|
|
115
115
|
).pipe(
|
|
116
116
|
filter(() => dragging),
|
|
117
|
-
filter(
|
|
117
|
+
filter(e => e.pointerId === activePointerId),
|
|
118
118
|
tap(() => {
|
|
119
119
|
dragging = false
|
|
120
120
|
const pointerId = activePointerId
|
|
@@ -131,8 +131,7 @@ export function swipeToDismiss$(inputs: SwipeInputs): Observable<'dismiss'> {
|
|
|
131
131
|
const distanceThreshold = Math.min(DISMISS_DISTANCE_PX, surfaceHeight * DISMISS_DISTANCE_FRACTION)
|
|
132
132
|
|
|
133
133
|
const shouldDismiss =
|
|
134
|
-
currentDelta > distanceThreshold ||
|
|
135
|
-
(currentDelta > 20 && velocity > DISMISS_VELOCITY_PX_PER_MS)
|
|
134
|
+
currentDelta > distanceThreshold || (currentDelta > 20 && velocity > DISMISS_VELOCITY_PX_PER_MS)
|
|
136
135
|
|
|
137
136
|
surface.style.willChange = ''
|
|
138
137
|
|
|
@@ -164,4 +163,3 @@ export function swipeToDismiss$(inputs: SwipeInputs): Observable<'dismiss'> {
|
|
|
164
163
|
}
|
|
165
164
|
}).pipe(take(1))
|
|
166
165
|
}
|
|
167
|
-
|
|
@@ -99,10 +99,7 @@ export function resolveAnchorRef(anchor: Anchor | undefined): ResolvedAnchor | u
|
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
// TouchEvent — zero-size rect at first touch point.
|
|
102
|
-
if (
|
|
103
|
-
typeof (anchor as TouchEvent).touches !== 'undefined' &&
|
|
104
|
-
(anchor as TouchEvent).touches.length > 0
|
|
105
|
-
) {
|
|
102
|
+
if (typeof (anchor as TouchEvent).touches !== 'undefined' && (anchor as TouchEvent).touches.length > 0) {
|
|
106
103
|
const t = (anchor as TouchEvent).touches[0]
|
|
107
104
|
const rect = makePointRect(t.clientX, t.clientY)
|
|
108
105
|
return { virtual: { getBoundingClientRect: () => rect } }
|
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
autoUpdate,
|
|
3
|
-
computePosition,
|
|
4
|
-
flip,
|
|
5
|
-
offset,
|
|
6
|
-
shift,
|
|
7
|
-
size,
|
|
8
|
-
type Placement,
|
|
9
|
-
} from '@floating-ui/dom'
|
|
1
|
+
import { autoUpdate, computePosition, flip, offset, shift, size, type Placement } from '@floating-ui/dom'
|
|
10
2
|
import { Observable } from 'rxjs'
|
|
11
3
|
import { ANCHOR_FIT_PADDING_PX, type ResolvedAnchor } from './overlay.layout'
|
|
12
4
|
import type { OverlayPlacement, OverlayTier } from './overlay.types'
|
|
@@ -37,10 +29,7 @@ export const CAPS = Object.freeze({
|
|
|
37
29
|
typeof HTMLElement !== 'undefined' &&
|
|
38
30
|
'popover' in HTMLElement.prototype &&
|
|
39
31
|
typeof (HTMLElement.prototype as unknown as { showPopover?: () => void }).showPopover === 'function',
|
|
40
|
-
cssAnchor:
|
|
41
|
-
typeof CSS !== 'undefined' &&
|
|
42
|
-
typeof CSS.supports === 'function' &&
|
|
43
|
-
CSS.supports('anchor-name: --x'),
|
|
32
|
+
cssAnchor: typeof CSS !== 'undefined' && typeof CSS.supports === 'function' && CSS.supports('anchor-name: --x'),
|
|
44
33
|
})
|
|
45
34
|
|
|
46
35
|
/**
|
|
@@ -107,7 +96,7 @@ export function positionCSSAnchor(
|
|
|
107
96
|
} else {
|
|
108
97
|
anchorEl.style.removeProperty('anchor-name')
|
|
109
98
|
}
|
|
110
|
-
shadowRoot.adoptedStyleSheets = shadowRoot.adoptedStyleSheets.filter(
|
|
99
|
+
shadowRoot.adoptedStyleSheets = shadowRoot.adoptedStyleSheets.filter(s => s !== sheet)
|
|
111
100
|
delete surface.dataset.overlayRef
|
|
112
101
|
}
|
|
113
102
|
}
|
|
@@ -222,7 +211,7 @@ export function positionFloatingUI(
|
|
|
222
211
|
anchor: ResolvedAnchor,
|
|
223
212
|
opts: FloatingUIOptions = {},
|
|
224
213
|
): Observable<void> {
|
|
225
|
-
return new Observable<void>(
|
|
214
|
+
return new Observable<void>(subscriber => {
|
|
226
215
|
const reference = anchor.el ?? anchor.virtual
|
|
227
216
|
if (!reference) {
|
|
228
217
|
subscriber.error(new Error('positionFloatingUI requires an element or virtual anchor'))
|