@mhmo91/schmancy 0.2.162 → 0.2.166
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/dist/{animated-text-CSOz5SCF.cjs → animated-text-DykevNAQ.cjs} +2 -2
- package/dist/{animated-text-CSOz5SCF.cjs.map → animated-text-DykevNAQ.cjs.map} +1 -1
- package/dist/{animated-text-DUB2OEsp.js → animated-text-lA1qYOb3.js} +3 -3
- package/dist/{animated-text-DUB2OEsp.js.map → animated-text-lA1qYOb3.js.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-kK1WKJY2.cjs → area.component-DAzIOTvX.cjs} +2 -2
- package/dist/{area.component-kK1WKJY2.cjs.map → area.component-DAzIOTvX.cjs.map} +1 -1
- package/dist/{area.component-BWaTpFPB.js → area.component-DbLTnRuW.js} +6 -6
- package/dist/{area.component-BWaTpFPB.js.map → area.component-DbLTnRuW.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-BKPUk9e5.cjs → autocomplete-DB1BIFBS.cjs} +2 -2
- package/dist/{autocomplete-BKPUk9e5.cjs.map → autocomplete-DB1BIFBS.cjs.map} +1 -1
- package/dist/{autocomplete-Di9kiTER.js → autocomplete-VHq-wIav.js} +3 -3
- package/dist/{autocomplete-Di9kiTER.js.map → autocomplete-VHq-wIav.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/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-CwMYYFc5.cjs → checkbox-9PyWz5FJ.cjs} +2 -2
- package/dist/{checkbox-CwMYYFc5.cjs.map → checkbox-9PyWz5FJ.cjs.map} +1 -1
- package/dist/{checkbox-Dr_Nv_NO.js → checkbox-D2X1Yff3.js} +2 -2
- package/dist/{checkbox-Dr_Nv_NO.js.map → checkbox-D2X1Yff3.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-CMSDxpu9.cjs → chips-Bv2hdmMK.cjs} +2 -2
- package/dist/{chips-CMSDxpu9.cjs.map → chips-Bv2hdmMK.cjs.map} +1 -1
- package/dist/{chips-Dy8t83by.js → chips-pqAEZ-DH.js} +3 -3
- package/dist/{chips-Dy8t83by.js.map → chips-pqAEZ-DH.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-BSRsyfMM.js → date-range-7_L_ECbS.js} +3 -3
- package/dist/{date-range-BSRsyfMM.js.map → date-range-7_L_ECbS.js.map} +1 -1
- package/dist/{date-range-B2cD9hQe.cjs → date-range-Dpvip0Kf.cjs} +2 -2
- package/dist/{date-range-B2cD9hQe.cjs.map → date-range-Dpvip0Kf.cjs.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-DUjqSk9U.cjs → delay-D0Np7OmS.cjs} +2 -2
- package/dist/{delay-DUjqSk9U.cjs.map → delay-D0Np7OmS.cjs.map} +1 -1
- package/dist/{delay-DN-mtGtE.js → delay-DiN5nFO-.js} +11 -11
- package/dist/{delay-DN-mtGtE.js.map → delay-DiN5nFO-.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{divider-D-3b8xBH.cjs → divider-B56pVfQK.cjs} +2 -2
- package/dist/{divider-D-3b8xBH.cjs.map → divider-B56pVfQK.cjs.map} +1 -1
- package/dist/{divider-CwrrRepk.js → divider-BpVwalY9.js} +3 -3
- package/dist/{divider-CwrrRepk.js.map → divider-BpVwalY9.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown-content-CgwaiBpw.cjs +65 -0
- package/dist/dropdown-content-CgwaiBpw.cjs.map +1 -0
- package/dist/dropdown-content-DmqNgUQQ.js +153 -0
- package/dist/dropdown-content-DmqNgUQQ.js.map +1 -0
- package/dist/dropdown.cjs +2 -0
- package/dist/dropdown.cjs.map +1 -0
- package/dist/dropdown.js +6 -0
- package/dist/dropdown.js.map +1 -0
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-D4HMvbL2.js → flex-B2plWeGc.js} +2 -2
- package/dist/{flex-D4HMvbL2.js.map → flex-B2plWeGc.js.map} +1 -1
- package/dist/{flex-BJPUKHgq.cjs → flex-Crv0q1Ni.cjs} +2 -2
- package/dist/{flex-BJPUKHgq.cjs.map → flex-Crv0q1Ni.cjs.map} +1 -1
- package/dist/{form-D-CN4Npb.js → form-9Gu7_vfY.js} +2 -2
- package/dist/{form-D-CN4Npb.js.map → form-9Gu7_vfY.js.map} +1 -1
- package/dist/{form-CPm25cLE.cjs → form-DYaROiIF.cjs} +2 -2
- package/dist/{form-CPm25cLE.cjs.map → form-DYaROiIF.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-baMFKlix.js → icon-BWnY3Sgg.js} +3 -3
- package/dist/{icon-baMFKlix.js.map → icon-BWnY3Sgg.js.map} +1 -1
- package/dist/{icon-DUTbI5sF.cjs → icon-D5bKkv2u.cjs} +2 -2
- package/dist/{icon-DUTbI5sF.cjs.map → icon-D5bKkv2u.cjs.map} +1 -1
- package/dist/{icon-button-M79Lwelv.cjs → icon-button-DPm9yazs.cjs} +2 -2
- package/dist/{icon-button-M79Lwelv.cjs.map → icon-button-DPm9yazs.cjs.map} +1 -1
- package/dist/{icon-button-Dytz2u7f.js → icon-button-iP7bvDh9.js} +3 -3
- package/dist/{icon-button-Dytz2u7f.js.map → icon-button-iP7bvDh9.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +49 -46
- package/dist/index.js.map +1 -1
- package/dist/{input-D390Osy4.js → input-Ca6zzXC1.js} +2 -2
- package/dist/{input-D390Osy4.js.map → input-Ca6zzXC1.js.map} +1 -1
- package/dist/{input-C2wFU_S6.cjs → input-DxJNIkJF.cjs} +2 -2
- package/dist/{input-C2wFU_S6.cjs.map → input-DxJNIkJF.cjs.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-Bn-B6Pbl.cjs → list-BSiDxGZM.cjs} +2 -2
- package/dist/{list-Bn-B6Pbl.cjs.map → list-BSiDxGZM.cjs.map} +1 -1
- package/dist/{list-BJFvg0LF.js → list-D35IuiWE.js} +2 -2
- package/dist/{list-BJFvg0LF.js.map → list-D35IuiWE.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-CwAqMl79.cjs → litElement.mixin-BDAc5mMz.cjs} +2 -2
- package/dist/{litElement.mixin-CwAqMl79.cjs.map → litElement.mixin-BDAc5mMz.cjs.map} +1 -1
- package/dist/{litElement.mixin-CRbxrdrS.js → litElement.mixin-DamySMT5.js} +2 -2
- package/dist/{litElement.mixin-CRbxrdrS.js.map → litElement.mixin-DamySMT5.js.map} +1 -1
- package/dist/{menu-5krKi7zq.js → menu-BvEZcVjD.js} +3 -3
- package/dist/{menu-5krKi7zq.js.map → menu-BvEZcVjD.js.map} +1 -1
- package/dist/{menu-D6SHzgaV.cjs → menu-DO4J9xKl.cjs} +2 -2
- package/dist/{menu-D6SHzgaV.cjs.map → menu-DO4J9xKl.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/{notification-service-DA3l75i3.js → notification-service-5KQWCCvu.js} +3 -3
- package/dist/{notification-service-DA3l75i3.js.map → notification-service-5KQWCCvu.js.map} +1 -1
- package/dist/{notification-service-BFfFPd1Q.cjs → notification-service-BFepRkx9.cjs} +2 -2
- package/dist/{notification-service-BFfFPd1Q.cjs.map → notification-service-BFepRkx9.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-BAMNOMye.js → option-DG1Ko33C.js} +2 -2
- package/dist/{option-BAMNOMye.js.map → option-DG1Ko33C.js.map} +1 -1
- package/dist/{option-DBh0pEws.cjs → option-DzxWSiKo.cjs} +2 -2
- package/dist/{option-DBh0pEws.cjs.map → option-DzxWSiKo.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-CklVDo7L.cjs → payment-card-form-DxD9nGB0.cjs} +2 -2
- package/dist/{payment-card-form-CklVDo7L.cjs.map → payment-card-form-DxD9nGB0.cjs.map} +1 -1
- package/dist/{payment-card-form-CNWsIJhu.js → payment-card-form-qTHGWvQQ.js} +3 -3
- package/dist/{payment-card-form-CNWsIJhu.js.map → payment-card-form-qTHGWvQQ.js.map} +1 -1
- package/dist/{radio-group-CRXQ4ajE.js → radio-group-S32ENLKc.js} +2 -2
- package/dist/{radio-group-CRXQ4ajE.js.map → radio-group-S32ENLKc.js.map} +1 -1
- package/dist/{radio-group-8d4MJqaa.cjs → radio-group-ujiKRIzu.cjs} +2 -2
- package/dist/{radio-group-8d4MJqaa.cjs.map → radio-group-ujiKRIzu.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-KinQK3rz.cjs → schmancy-steps-container-C0r65UXb.cjs} +2 -2
- package/dist/{schmancy-steps-container-KinQK3rz.cjs.map → schmancy-steps-container-C0r65UXb.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-DzeJED2U.js → schmancy-steps-container-C2bF45xo.js} +2 -2
- package/dist/{schmancy-steps-container-DzeJED2U.js.map → schmancy-steps-container-C2bF45xo.js.map} +1 -1
- package/dist/{select-DlblA74_.cjs → select-8C2C6mqT.cjs} +2 -2
- package/dist/{select-DlblA74_.cjs.map → select-8C2C6mqT.cjs.map} +1 -1
- package/dist/{select-dxNE4mnd.js → select-OC2POpYJ.js} +3 -3
- package/dist/{select-dxNE4mnd.js.map → select-OC2POpYJ.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-D2sUghqi.cjs → sheet-5NN9kqLw.cjs} +2 -2
- package/dist/{sheet-D2sUghqi.cjs.map → sheet-5NN9kqLw.cjs.map} +1 -1
- package/dist/{sheet-BmIoE7Ej.js → sheet-K0eVqQGM.js} +12 -12
- package/dist/{sheet-BmIoE7Ej.js.map → sheet-K0eVqQGM.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-DCysIErg.js → slider-pthecQmM.js} +3 -3
- package/dist/{slider-DCysIErg.js.map → slider-pthecQmM.js.map} +1 -1
- package/dist/{slider-VShAooYp.cjs → slider-zbnPbKrH.cjs} +2 -2
- package/dist/{slider-VShAooYp.cjs.map → slider-zbnPbKrH.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-UC31R_xS.js → spinner-BA-AdJft.js} +3 -3
- package/dist/{spinner-UC31R_xS.js.map → spinner-BA-AdJft.js.map} +1 -1
- package/dist/{spinner-Dv-uGeoR.cjs → spinner-DJUPKRaj.cjs} +2 -2
- package/dist/{spinner-Dv-uGeoR.cjs.map → spinner-DJUPKRaj.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-ClnnQP3o.cjs → surface-B0EP0wlI.cjs} +2 -2
- package/dist/{surface-ClnnQP3o.cjs.map → surface-B0EP0wlI.cjs.map} +1 -1
- package/dist/{surface-B3v9NfAj.js → surface-MaIcngHu.js} +2 -2
- package/dist/{surface-B3v9NfAj.js.map → surface-MaIcngHu.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-CWDtSTrW.cjs → table-DSg5xpqj.cjs} +2 -2
- package/dist/{table-CWDtSTrW.cjs.map → table-DSg5xpqj.cjs.map} +1 -1
- package/dist/{table-BZ4h621V.js → table-y955qHc7.js} +2 -2
- package/dist/{table-BZ4h621V.js.map → table-y955qHc7.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-group-WJjM75TT.js → tabs-group-CDVLZfL5.js} +2 -2
- package/dist/{tabs-group-WJjM75TT.js.map → tabs-group-CDVLZfL5.js.map} +1 -1
- package/dist/{tabs-group-Bb4uOpJc.cjs → tabs-group-Dd-mfajz.cjs} +2 -2
- package/dist/{tabs-group-Bb4uOpJc.cjs.map → tabs-group-Dd-mfajz.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-CAvg5VIG.cjs +2 -0
- package/dist/{tailwind.mixin-DLuYz9Iz.cjs.map → tailwind.mixin-CAvg5VIG.cjs.map} +1 -1
- package/dist/tailwind.mixin-CgdpQXVy.js +43 -0
- package/dist/{tailwind.mixin-B_hJc1PP.js.map → tailwind.mixin-CgdpQXVy.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/{teleport.component-CNVTORt3.cjs → teleport.component-CnDx2oti.cjs} +2 -2
- package/dist/{teleport.component-CNVTORt3.cjs.map → teleport.component-CnDx2oti.cjs.map} +1 -1
- package/dist/{teleport.component-DSs12GIK.js → teleport.component-DfjivpLV.js} +43 -42
- package/dist/{teleport.component-DSs12GIK.js.map → teleport.component-DfjivpLV.js.map} +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-B5V4jvIX.js → textarea-CCD5vT2R.js} +2 -2
- package/dist/{textarea-B5V4jvIX.js.map → textarea-CCD5vT2R.js.map} +1 -1
- package/dist/{textarea-B3_G9W-u.cjs → textarea-znssoPdJ.cjs} +2 -2
- package/dist/{textarea-B3_G9W-u.cjs.map → textarea-znssoPdJ.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-C6pyxtwQ.cjs → theme-button-BMe6kTMr.cjs} +2 -2
- package/dist/{theme-button-C6pyxtwQ.cjs.map → theme-button-BMe6kTMr.cjs.map} +1 -1
- package/dist/{theme-button-D-ojrnYh.js → theme-button-ByhGFrM6.js} +2 -2
- package/dist/{theme-button-D-ojrnYh.js.map → theme-button-ByhGFrM6.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.component-B6Hvc574.js → theme.component-BLmnJdq6.js} +2 -2
- package/dist/{theme.component-B6Hvc574.js.map → theme.component-BLmnJdq6.js.map} +1 -1
- package/dist/{theme.component-DR4uOck9.cjs → theme.component-CJDShQ7P.cjs} +2 -2
- package/dist/{theme.component-DR4uOck9.cjs.map → theme.component-CJDShQ7P.cjs.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-vGpDPCRT.cjs → timezone-BxvSIDGa.cjs} +2 -2
- package/dist/{timezone-vGpDPCRT.cjs.map → timezone-BxvSIDGa.cjs.map} +1 -1
- package/dist/{timezone-CyDIsW4A.js → timezone-DKHJwBwL.js} +3 -3
- package/dist/{timezone-CyDIsW4A.js.map → timezone-DKHJwBwL.js.map} +1 -1
- package/dist/{tooltip-BJ_lQc8I.cjs → tooltip-BU1ScbI9.cjs} +2 -2
- package/dist/{tooltip-BJ_lQc8I.cjs.map → tooltip-BU1ScbI9.cjs.map} +1 -1
- package/dist/{tooltip-Ck-JUG_m.js → tooltip-DLLzuUKg.js} +2 -2
- package/dist/{tooltip-Ck-JUG_m.js.map → tooltip-DLLzuUKg.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-plC4VSNF.cjs → tree-DJ0dLSbg.cjs} +2 -2
- package/dist/{tree-plC4VSNF.cjs.map → tree-DJ0dLSbg.cjs.map} +1 -1
- package/dist/{tree-BE0sci4r.js → tree-Dxc1tbC8.js} +2 -2
- package/dist/{tree-BE0sci4r.js.map → tree-Dxc1tbC8.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-CFULjoNm.js → typewriter-BhxAnEeh.js} +11 -11
- package/dist/{typewriter-CFULjoNm.js.map → typewriter-BhxAnEeh.js.map} +1 -1
- package/dist/{typewriter-CwrZhpWq.cjs → typewriter-a5uyOTf4.cjs} +2 -2
- package/dist/{typewriter-CwrZhpWq.cjs.map → typewriter-a5uyOTf4.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-CRoZbt0O.cjs → typography-BbsRPqla.cjs} +2 -2
- package/dist/{typography-CRoZbt0O.cjs.map → typography-BbsRPqla.cjs.map} +1 -1
- package/dist/{typography-BB5uUnkZ.js → typography-agkJjhZH.js} +2 -2
- package/dist/{typography-BB5uUnkZ.js.map → typography-agkJjhZH.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/dropdown/dropdown-component.d.ts +62 -0
- package/types/src/dropdown/dropdown-content.d.ts +32 -0
- package/types/src/dropdown/index.d.ts +2 -0
- package/types/src/index.d.ts +1 -0
- package/dist/tailwind.mixin-B_hJc1PP.js +0 -43
- package/dist/tailwind.mixin-DLuYz9Iz.cjs +0 -2
|
@@ -3,13 +3,13 @@ import { directive as N, PartType as k } from "lit/directive.js";
|
|
|
3
3
|
import { AsyncDirective as E } from "lit/async-directive.js";
|
|
4
4
|
import { n as F, e as x } from "./provide-hwQSumt-.js";
|
|
5
5
|
import { c as P } from "./consume-B05Dd6qy.js";
|
|
6
|
-
import { $ as K } from "./litElement.mixin-
|
|
6
|
+
import { $ as K } from "./litElement.mixin-DamySMT5.js";
|
|
7
7
|
import { html as y } from "lit";
|
|
8
|
-
import { property as m, state as $, queryAssignedElements as j, customElement as
|
|
9
|
-
import { cache as
|
|
10
|
-
import { timer as
|
|
11
|
-
import { takeUntil as
|
|
12
|
-
const
|
|
8
|
+
import { property as m, state as $, queryAssignedElements as j, customElement as T } from "lit/decorators.js";
|
|
9
|
+
import { cache as L } from "lit/directives/cache.js";
|
|
10
|
+
import { timer as B } from "rxjs";
|
|
11
|
+
import { takeUntil as M } from "rxjs/operators";
|
|
12
|
+
const R = /* @__PURE__ */ new WeakMap();
|
|
13
13
|
let g = 0;
|
|
14
14
|
const u = /* @__PURE__ */ new Map(), v = /* @__PURE__ */ new WeakSet(), b = () => new Promise((t) => requestAnimationFrame(t)), I = [{ transform: "translateY(100%) scale(0)", opacity: 0 }], U = [{ transform: "translateY(-100%) scale(0)", opacity: 0 }], H = [{ opacity: 0 }, { opacity: 1 }], A = (t, e) => {
|
|
15
15
|
const i = t - e;
|
|
@@ -52,7 +52,7 @@ const u = /* @__PURE__ */ new Map(), v = /* @__PURE__ */ new WeakSet(), b = () =
|
|
|
52
52
|
return S;
|
|
53
53
|
}
|
|
54
54
|
getController() {
|
|
55
|
-
return
|
|
55
|
+
return R.get(this.u);
|
|
56
56
|
}
|
|
57
57
|
isDisabled() {
|
|
58
58
|
var t;
|
|
@@ -266,7 +266,7 @@ let a = class extends K() {
|
|
|
266
266
|
updateRenderState() {
|
|
267
267
|
if (this.sessionKey = this.generateSessionKey(), this.once && sessionStorage.getItem(this.sessionKey) === "true") return void (this.rendered = !0);
|
|
268
268
|
const t = this.getTotalSiblingDelay(this);
|
|
269
|
-
this.effectiveDelay = this.delay + this.parentDelay + t,
|
|
269
|
+
this.effectiveDelay = this.delay + this.parentDelay + t, B(this.effectiveDelay).pipe(M(this.disconnecting)).subscribe(() => {
|
|
270
270
|
if (this.rendered = !0, this.once) try {
|
|
271
271
|
sessionStorage.setItem(this.sessionKey, "true");
|
|
272
272
|
} catch {
|
|
@@ -281,7 +281,7 @@ let a = class extends K() {
|
|
|
281
281
|
return this.motion === "flyBelow" ? I : this.motion === "flyAbove" ? U : H;
|
|
282
282
|
}
|
|
283
283
|
render() {
|
|
284
|
-
return
|
|
284
|
+
return L(this.rendered ? y`<div
|
|
285
285
|
${z({ in: this.motionLit, keyframeOptions: { duration: 300, easing: "ease-out" } })}
|
|
286
286
|
>
|
|
287
287
|
<slot></slot>
|
|
@@ -292,10 +292,10 @@ let a = class extends K() {
|
|
|
292
292
|
`);
|
|
293
293
|
}
|
|
294
294
|
};
|
|
295
|
-
l([m({ type: Number, reflect: !0 })], a.prototype, "delay", 2), l([m({ type: String })], a.prototype, "motion", 2), l([$()], a.prototype, "rendered", 2), l([P({ context: O, subscribe: !0 })], a.prototype, "parentDelay", 2), l([x({ context: O })], a.prototype, "effectiveDelay", 2), l([m({ type: Boolean })], a.prototype, "once", 2), l([j({ flatten: !0 })], a.prototype, "assignedElements", 2), a = l([
|
|
295
|
+
l([m({ type: Number, reflect: !0 })], a.prototype, "delay", 2), l([m({ type: String })], a.prototype, "motion", 2), l([$()], a.prototype, "rendered", 2), l([P({ context: O, subscribe: !0 })], a.prototype, "parentDelay", 2), l([x({ context: O })], a.prototype, "effectiveDelay", 2), l([m({ type: Boolean })], a.prototype, "once", 2), l([j({ flatten: !0 })], a.prototype, "assignedElements", 2), a = l([T("schmancy-delay")], a);
|
|
296
296
|
export {
|
|
297
297
|
a as S,
|
|
298
298
|
O as d,
|
|
299
299
|
X as h
|
|
300
300
|
};
|
|
301
|
-
//# sourceMappingURL=delay-
|
|
301
|
+
//# sourceMappingURL=delay-DiN5nFO-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delay-DN-mtGtE.js","sources":["../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate-controller.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/position.js","../src/utils/hashContent.ts","../src/delay/delay.ts"],"sourcesContent":["const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach((i=>i.webAnimation?.pause()))}play(){this.clients.forEach((i=>i.webAnimation?.play()))}cancel(){this.clients.forEach((i=>i.webAnimation?.cancel())),this.clients.clear()}finish(){this.clients.forEach((i=>i.webAnimation?.finish())),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some((i=>\"running\"===i.webAnimation?.playState))}async finished(){await Promise.all(Array.from(this.clients).map((i=>i.finished)))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise((t=>requestAnimationFrame(t))),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise((t=>{this.l=t}))}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then((t=>this.t=!0)),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.p(i),this.render(i)}p(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}m(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach((e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o})),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every(((t,s)=>t===i[s])))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.O(),s=this.j(this.options.keyframeOptions,i),e=this.m();if(void 0!==this.A){const{from:s,to:h}=this.N(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.N(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach((t=>t.zIndex=o))}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.P&&(this.element.setAttribute(\"style\",this.P??\"\"),this.P=void 0)}commitStyles(){this.P=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.m();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then((()=>{n.add(this.u)})),t}j(t,i=this.O()){const s={...A};return i.forEach((t=>Object.assign(s,t.options.keyframeOptions))),Object.assign(s,t),s}N(t,i,s){t={...t},i={...i};const e=s.map((t=>t.animatingProperties)).filter((t=>void 0!==t));let h=1,o=1;return e.length>0&&(e.forEach((t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)})),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as o}from\"lit/async-directive.js\";const r=[\"top\",\"right\",\"bottom\",\"left\"];class e extends o{constructor(t){if(super(t),t.type!==s.ELEMENT)throw Error(\"The `position` directive must be used in attribute position.\")}render(i,s){return t}update(t,[i,s]){return void 0===this.u&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=i,this.F=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.$()}$(){const t=\"function\"==typeof this.C?this.C():this.C?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.F?.forEach((t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.S.style[t]=i+\"px\"}))}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\n","export default function (content: string): string {\n\tconst fnvOffsetBasis = 0x811c9dc5\n\tconst fnvPrime = 0x01000193\n\tlet hash = fnvOffsetBasis\n\n\tfor (let i = 0; i < content.length; i++) {\n\t\thash ^= content.charCodeAt(i)\n\t\thash = (hash * fnvPrime) >>> 0 // Ensure unsigned 32-bit integer\n\t}\n\n\treturn hash.toString(16) // Convert to hexadecimal string for compactness\n}\n","import { animate, fadeIn, flyAbove, flyBelow } from '@lit-labs/motion'\nimport { consume, createContext, provide } from '@lit/context'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { timer } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nexport const delayContext = createContext<number>('delay-context')\n\n@customElement('schmancy-delay')\nexport class SchmancyDelay extends $LitElement() {\n\t@property({ type: Number, reflect: true }) delay = 0 // Delay in milliseconds\n\t@property({ type: String }) motion = 'flyBelow' // Motion type (default: flyBelow)\n\t@state() private rendered = false // Tracks if the content is rendered\n\t@consume({ context: delayContext, subscribe: true }) parentDelay = 0 // Consumes the parent's delay value\n\t@provide({ context: delayContext }) effectiveDelay = 0 // Provides the effective delay to children\n\n\t@property({ type: Boolean }) once? = true // Only render once per session\n\n\tprivate sessionKey = '' // Unique session key\n\tprivate mutationObserver?: MutationObserver\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tassignedElements: HTMLElement[]\n\tfirstUpdated() {\n\t\tthis.observeSlotChanges()\n\t\tthis.updateRenderState()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.mutationObserver?.disconnect() // Clean up the observer\n\t}\n\n\tprivate observeSlotChanges() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (!slot) return\n\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t// Update session key when children change\n\t\t\tthis.sessionKey = this.generateSessionKey()\n\t\t})\n\n\t\tthis.mutationObserver.observe(slot, { childList: true, subtree: true })\n\t}\n\n\tprivate getTotalSiblingDelay(element: HTMLElement | null): number {\n\t\tif (!element || !(element instanceof HTMLElement)) return 0\n\n\t\tlet totalDelay = 0\n\t\tlet sibling = element.previousElementSibling // Start with the previous sibling\n\n\t\twhile (sibling) {\n\t\t\t// Check if the sibling is a `schmancy-delay` and add its delay\n\t\t\tif (sibling instanceof SchmancyDelay) {\n\t\t\t\ttotalDelay += sibling.delay\n\t\t\t}\n\t\t\t// Move to the previous sibling\n\t\t\tsibling = sibling.previousElementSibling\n\t\t}\n\n\t\t// Traverse up the tree and repeat for the parent node\n\t\tif (element.parentElement) {\n\t\t\ttotalDelay += this.getTotalSiblingDelay(element.parentElement)\n\t\t}\n\n\t\treturn totalDelay\n\t}\n\n\tprivate updateRenderState() {\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.rendered = true\n\t\t\treturn\n\t\t}\n\n\t\t// Calculate the effective delay (parent + self + all preceding siblings)\n\t\tconst siblingDelay = this.getTotalSiblingDelay(this)\n\t\tthis.effectiveDelay = this.delay + this.parentDelay + siblingDelay\n\n\t\t// Start the delay timer\n\t\ttimer(this.effectiveDelay)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.rendered = true // Render content after delay\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this.assignedElements.map(el => el.outerHTML).join('')\n\t\tconsole.log(slotContent)\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\n\tprivate get motionLit(): any {\n\t\treturn this.motion === 'flyBelow' ? flyBelow : this.motion === 'flyAbove' ? flyAbove : fadeIn\n\t}\n\n\trender() {\n\t\treturn cache(\n\t\t\tthis.rendered\n\t\t\t\t? html`<div\n\t\t\t\t\t\t${animate({\n\t\t\t\t\t\t\tin: this.motionLit, // Use the provided motion type\n\t\t\t\t\t\t\tkeyframeOptions: { duration: 300, easing: 'ease-out' },\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>`\n\t\t\t\t: html`\n\t\t\t\t\t\t<section style=\"display: none;\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t`,\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-delay': SchmancyDelay\n\t}\n}\n"],"names":["i","WeakMap","o","r","Map","n","WeakSet","a","Promise","t","requestAnimationFrame","c","transform","opacity","l","v","g","s","w","N","left","value","isNaN","top","width","e","overrideFrom","height","A","duration","easing","b","j","F","super","this","h","shouldLog","type","CHILD","Error","createFinished","resolveFinished","finished","get","u","options","disabled","getController","host","addController","updateComplete","then","element","set","optionsOrCallback","p","render","defaultOptions","keyframeOptions","properties","m","getBoundingClientRect","getComputedStyle","forEach","Number","guard","Array","isArray","length","every","_","isDisabled","isAnimating","isConnected","from","hostUpdate","parentNode","nextSibling","hostUpdated","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","commitStyles","getAttribute","webAnimation","cancel","id","out","insertBefore","stabilizeOut","position","style","remove","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","start","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","observeSlotChanges","updateRenderState","disconnectedCallback","mutationObserver","disconnect","slot","shadowRoot","querySelector","MutationObserver","generateSessionKey","observe","childList","subtree","HTMLElement","totalDelay","sibling","previousElementSibling","parentElement","getTotalSiblingDelay","sessionStorage","getItem","siblingDelay","timer","pipe","takeUntil","disconnecting","subscribe","setItem","error","slotContent","assignedElements","el","outerHTML","join","flyBelow","flyAbove","fadeIn","cache","html","motionLit","__decorateClass","property","reflect","prototype","String","state","consume","context","provide","Boolean","queryAssignedElements","flatten","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"delay-DiN5nFO-.js","sources":["../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate-controller.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/position.js","../src/utils/hashContent.ts","../src/delay/delay.ts"],"sourcesContent":["const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach((i=>i.webAnimation?.pause()))}play(){this.clients.forEach((i=>i.webAnimation?.play()))}cancel(){this.clients.forEach((i=>i.webAnimation?.cancel())),this.clients.clear()}finish(){this.clients.forEach((i=>i.webAnimation?.finish())),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some((i=>\"running\"===i.webAnimation?.playState))}async finished(){await Promise.all(Array.from(this.clients).map((i=>i.finished)))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise((t=>requestAnimationFrame(t))),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise((t=>{this.l=t}))}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then((t=>this.t=!0)),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.p(i),this.render(i)}p(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}m(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach((e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o})),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every(((t,s)=>t===i[s])))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.O(),s=this.j(this.options.keyframeOptions,i),e=this.m();if(void 0!==this.A){const{from:s,to:h}=this.N(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.N(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach((t=>t.zIndex=o))}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.P&&(this.element.setAttribute(\"style\",this.P??\"\"),this.P=void 0)}commitStyles(){this.P=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.m();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then((()=>{n.add(this.u)})),t}j(t,i=this.O()){const s={...A};return i.forEach((t=>Object.assign(s,t.options.keyframeOptions))),Object.assign(s,t),s}N(t,i,s){t={...t},i={...i};const e=s.map((t=>t.animatingProperties)).filter((t=>void 0!==t));let h=1,o=1;return e.length>0&&(e.forEach((t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)})),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as o}from\"lit/async-directive.js\";const r=[\"top\",\"right\",\"bottom\",\"left\"];class e extends o{constructor(t){if(super(t),t.type!==s.ELEMENT)throw Error(\"The `position` directive must be used in attribute position.\")}render(i,s){return t}update(t,[i,s]){return void 0===this.u&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=i,this.F=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.$()}$(){const t=\"function\"==typeof this.C?this.C():this.C?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.F?.forEach((t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.S.style[t]=i+\"px\"}))}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\n","export default function (content: string): string {\n\tconst fnvOffsetBasis = 0x811c9dc5\n\tconst fnvPrime = 0x01000193\n\tlet hash = fnvOffsetBasis\n\n\tfor (let i = 0; i < content.length; i++) {\n\t\thash ^= content.charCodeAt(i)\n\t\thash = (hash * fnvPrime) >>> 0 // Ensure unsigned 32-bit integer\n\t}\n\n\treturn hash.toString(16) // Convert to hexadecimal string for compactness\n}\n","import { animate, fadeIn, flyAbove, flyBelow } from '@lit-labs/motion'\nimport { consume, createContext, provide } from '@lit/context'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { timer } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nexport const delayContext = createContext<number>('delay-context')\n\n@customElement('schmancy-delay')\nexport class SchmancyDelay extends $LitElement() {\n\t@property({ type: Number, reflect: true }) delay = 0 // Delay in milliseconds\n\t@property({ type: String }) motion = 'flyBelow' // Motion type (default: flyBelow)\n\t@state() private rendered = false // Tracks if the content is rendered\n\t@consume({ context: delayContext, subscribe: true }) parentDelay = 0 // Consumes the parent's delay value\n\t@provide({ context: delayContext }) effectiveDelay = 0 // Provides the effective delay to children\n\n\t@property({ type: Boolean }) once? = true // Only render once per session\n\n\tprivate sessionKey = '' // Unique session key\n\tprivate mutationObserver?: MutationObserver\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tassignedElements: HTMLElement[]\n\tfirstUpdated() {\n\t\tthis.observeSlotChanges()\n\t\tthis.updateRenderState()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.mutationObserver?.disconnect() // Clean up the observer\n\t}\n\n\tprivate observeSlotChanges() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (!slot) return\n\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t// Update session key when children change\n\t\t\tthis.sessionKey = this.generateSessionKey()\n\t\t})\n\n\t\tthis.mutationObserver.observe(slot, { childList: true, subtree: true })\n\t}\n\n\tprivate getTotalSiblingDelay(element: HTMLElement | null): number {\n\t\tif (!element || !(element instanceof HTMLElement)) return 0\n\n\t\tlet totalDelay = 0\n\t\tlet sibling = element.previousElementSibling // Start with the previous sibling\n\n\t\twhile (sibling) {\n\t\t\t// Check if the sibling is a `schmancy-delay` and add its delay\n\t\t\tif (sibling instanceof SchmancyDelay) {\n\t\t\t\ttotalDelay += sibling.delay\n\t\t\t}\n\t\t\t// Move to the previous sibling\n\t\t\tsibling = sibling.previousElementSibling\n\t\t}\n\n\t\t// Traverse up the tree and repeat for the parent node\n\t\tif (element.parentElement) {\n\t\t\ttotalDelay += this.getTotalSiblingDelay(element.parentElement)\n\t\t}\n\n\t\treturn totalDelay\n\t}\n\n\tprivate updateRenderState() {\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.rendered = true\n\t\t\treturn\n\t\t}\n\n\t\t// Calculate the effective delay (parent + self + all preceding siblings)\n\t\tconst siblingDelay = this.getTotalSiblingDelay(this)\n\t\tthis.effectiveDelay = this.delay + this.parentDelay + siblingDelay\n\n\t\t// Start the delay timer\n\t\ttimer(this.effectiveDelay)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.rendered = true // Render content after delay\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this.assignedElements.map(el => el.outerHTML).join('')\n\t\tconsole.log(slotContent)\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\n\tprivate get motionLit(): any {\n\t\treturn this.motion === 'flyBelow' ? flyBelow : this.motion === 'flyAbove' ? flyAbove : fadeIn\n\t}\n\n\trender() {\n\t\treturn cache(\n\t\t\tthis.rendered\n\t\t\t\t? html`<div\n\t\t\t\t\t\t${animate({\n\t\t\t\t\t\t\tin: this.motionLit, // Use the provided motion type\n\t\t\t\t\t\t\tkeyframeOptions: { duration: 300, easing: 'ease-out' },\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>`\n\t\t\t\t: html`\n\t\t\t\t\t\t<section style=\"display: none;\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t`,\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-delay': SchmancyDelay\n\t}\n}\n"],"names":["i","WeakMap","o","r","Map","n","WeakSet","a","Promise","t","requestAnimationFrame","c","transform","opacity","l","v","g","s","w","N","left","value","isNaN","top","width","e","overrideFrom","height","A","duration","easing","b","j","F","super","this","h","shouldLog","type","CHILD","Error","createFinished","resolveFinished","finished","get","u","options","disabled","getController","host","addController","updateComplete","then","element","set","optionsOrCallback","p","render","defaultOptions","keyframeOptions","properties","m","getBoundingClientRect","getComputedStyle","forEach","Number","guard","Array","isArray","length","every","_","isDisabled","isAnimating","isConnected","from","hostUpdate","parentNode","nextSibling","hostUpdated","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","commitStyles","getAttribute","webAnimation","cancel","id","out","insertBefore","stabilizeOut","position","style","remove","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","start","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","observeSlotChanges","updateRenderState","disconnectedCallback","mutationObserver","disconnect","slot","shadowRoot","querySelector","MutationObserver","generateSessionKey","observe","childList","subtree","HTMLElement","totalDelay","sibling","previousElementSibling","parentElement","getTotalSiblingDelay","sessionStorage","getItem","siblingDelay","timer","pipe","takeUntil","disconnecting","subscribe","setItem","error","slotContent","assignedElements","el","outerHTML","join","flyBelow","flyAbove","fadeIn","cache","html","motionLit","__decorateClass","property","reflect","prototype","String","state","consume","context","provide","Boolean","queryAssignedElements","flatten","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
package/dist/delay.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./delay-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./delay-D0Np7OmS.cjs");Object.defineProperty(exports,"SchmancyDelay",{enumerable:!0,get:()=>e.SchmancyDelay}),exports.delayContext=e.delayContext;
|
|
2
2
|
//# sourceMappingURL=delay.cjs.map
|
package/dist/delay.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";require("rxjs");const m=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const h=require("./litElement.mixin-
|
|
1
|
+
"use strict";require("rxjs");const m=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const h=require("./litElement.mixin-BDAc5mMz.cjs");require("./tailwind.mixin-CAvg5VIG.cjs");const c=require("lit"),n=require("lit/decorators.js");var u=Object.defineProperty,w=Object.getOwnPropertyDescriptor,e=(t,i,s,a)=>{for(var l,r=a>1?void 0:a?w(i,s):i,d=t.length-1;d>=0;d--)(l=t[d])&&(r=(a?l(i,s,r):l(r))||r);return a&&r&&u(i,s,r),r};let o=class extends h.$LitElement(c.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
overflow: hidden; /* Ensure the animation is clipped */
|
|
@@ -80,4 +80,4 @@
|
|
|
80
80
|
animation: drawVertical var(--animation-duration, 1s) forwards;
|
|
81
81
|
}
|
|
82
82
|
`){constructor(){super(...arguments),this.outline="variant",this.orientation="horizontal",this.grow="start"}render(){const t={divider:!0,horizontal:this.orientation==="horizontal",vertical:this.orientation==="vertical","border-outlineVariant":this.outline==="variant","border-outline":this.outline==="default",[`grow-${this.grow}`]:!0};return c.html`<div class="${m.classMap(t)}"></div>`}};e([n.property({type:String})],o.prototype,"outline",2),e([n.property({reflect:!0,type:String})],o.prototype,"orientation",2),e([n.property({type:String})],o.prototype,"grow",2),o=e([n.customElement("schmancy-divider")],o);
|
|
83
|
-
//# sourceMappingURL=divider-
|
|
83
|
+
//# sourceMappingURL=divider-B56pVfQK.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divider-
|
|
1
|
+
{"version":3,"file":"divider-B56pVfQK.cjs","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\n@customElement('schmancy-divider')\nexport default class SchmancyDivider extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden; /* Ensure the animation is clipped */\n\t}\n\t.divider {\n\t\t/* Maintain existing border-based color logic */\n\t\tborder-color: var(--divider-color, currentColor);\n\t}\n\t/* Horizontal Divider */\n\t.horizontal {\n\t\twidth: 100%;\n\t\theight: 1px;\n\t\tborder-top: 1px solid;\n\t\ttransform: scaleX(0);\n\t\ttransform-origin: var(--transform-origin, left);\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t/* Vertical Divider */\n\t.vertical {\n\t\twidth: 1px;\n\t\theight: 100%;\n\t\tborder-left: 1px solid;\n\t\ttransform: scaleY(0);\n\t\ttransform-origin: var(--transform-origin, top);\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t/* Outline Variants */\n\t.border-outlineVariant {\n\t\t/* Utilize existing outline variant styles */\n\t\tborder-color: var(--schmancy-sys-color-outlineVariant, #555);\n\t}\n\t.border-outline {\n\t\t/* Utilize existing default outline styles */\n\t\tborder-color: var(--schmancy-sys-color-outline, #000);\n\t}\n\t/* RTL Support for Horizontal Dividers */\n\t:host([dir='rtl']) .horizontal.grow-start {\n\t\t--transform-origin: right;\n\t}\n\t:host([dir='rtl']) .horizontal.grow-end {\n\t\t--transform-origin: left;\n\t}\n\t/* Center Growth for Horizontal and Vertical Dividers */\n\t.horizontal.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t.vertical.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t/* Define Keyframes */\n\t@keyframes drawHorizontal {\n\t\tto {\n\t\t\ttransform: scaleX(1);\n\t\t}\n\t}\n\t@keyframes drawVertical {\n\t\tto {\n\t\t\ttransform: scaleY(1);\n\t\t}\n\t}\n\t/* Assign Animations Based on Grow Direction */\n\t.horizontal.grow-start {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-end {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-both {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\n\t.vertical.grow-start {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-end {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-both {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n`) {\n\t@property({ type: String }) outline: 'default' | 'variant' = 'variant'\n\t@property({ reflect: true, type: String }) orientation: 'horizontal' | 'vertical' = 'horizontal'\n\t@property({ type: String }) grow: 'start' | 'end' | 'both' = 'start'\n\n\tprotected render() {\n\t\tconst classes = {\n\t\t\tdivider: true,\n\t\t\thorizontal: this.orientation === 'horizontal',\n\t\t\tvertical: this.orientation === 'vertical',\n\t\t\t'border-outlineVariant': this.outline === 'variant',\n\t\t\t'border-outline': this.outline === 'default',\n\t\t\t[`grow-${this.grow}`]: true, // e.g., grow-start, grow-end, grow-both\n\t\t}\n\t\treturn html`<div class=\"${classMap(classes)}\"></div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-divider': SchmancyDivider\n\t}\n}\n"],"names":["SchmancyDivider","$LitElement","css","super","arguments","this","outline","orientation","grow","render","classes","divider","horizontal","vertical","html","classMap","__decorateClass","property","type","String","prototype","reflect","customElement"],"mappings":"qcAOA,IAAqBA,EAArB,cAA6CC,EAAAA,YAAYC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAzD,CAAA,CAAA,cAAAC,MAAAC,GAAAA,SAAAA,EAkF8DC,KAAAC,QAAA,UACuBD,KAAAE,YAAA,aACvBF,KAAAG,KAAA,OAAA,CAEnD,QAAAC,CACT,MAAMC,EAAU,CACfC,WACAC,WAAYP,KAAKE,cAAgB,aACjCM,SAAUR,KAAKE,cAAgB,WAC/B,wBAAyBF,KAAKC,UAAY,UAC1C,iBAAkBD,KAAKC,UAAY,UACnC,CAAC,QAAQD,KAAKG,IAAS,EAAA,EAAA,EAAA,EAEjB,OAAAM,EAAAA,mBAAmBC,EAASA,SAAAL,CAAQ,CAAA,UAAA,CAAA,EAbhBM,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,UAlFEnB,EAkFQoB,UAAA,UAAA,CACeJ,EAAAA,EAAA,CAA1CC,EAAAA,SAAS,CAAEI,QAAS,GAAMH,KAAMC,MAnFbnB,CAAAA,CAAAA,EAAAA,EAmFuBoB,UAAA,cAAA,CAAA,EACfJ,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,UApFEnB,EAoFQoB,UAAA,OAAA,CApFRpB,EAAAA,EAArBgB,EAAA,CADCM,EAAAA,cAAc,kBACMtB,CAAAA,EAAAA,CAAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "rxjs";
|
|
2
2
|
import { classMap as m } from "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
|
-
import { $ as c } from "./litElement.mixin-
|
|
5
|
-
import "./tailwind.mixin-
|
|
4
|
+
import { $ as c } from "./litElement.mixin-DamySMT5.js";
|
|
5
|
+
import "./tailwind.mixin-CgdpQXVy.js";
|
|
6
6
|
import { css as h, html as f } from "lit";
|
|
7
7
|
import { property as d, customElement as w } from "lit/decorators.js";
|
|
8
8
|
var v = Object.defineProperty, g = Object.getOwnPropertyDescriptor, n = (t, i, e, a) => {
|
|
@@ -100,4 +100,4 @@ let o = class extends c(h`
|
|
|
100
100
|
}
|
|
101
101
|
};
|
|
102
102
|
n([d({ type: String })], o.prototype, "outline", 2), n([d({ reflect: !0, type: String })], o.prototype, "orientation", 2), n([d({ type: String })], o.prototype, "grow", 2), o = n([w("schmancy-divider")], o);
|
|
103
|
-
//# sourceMappingURL=divider-
|
|
103
|
+
//# sourceMappingURL=divider-BpVwalY9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divider-
|
|
1
|
+
{"version":3,"file":"divider-BpVwalY9.js","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\n@customElement('schmancy-divider')\nexport default class SchmancyDivider extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden; /* Ensure the animation is clipped */\n\t}\n\t.divider {\n\t\t/* Maintain existing border-based color logic */\n\t\tborder-color: var(--divider-color, currentColor);\n\t}\n\t/* Horizontal Divider */\n\t.horizontal {\n\t\twidth: 100%;\n\t\theight: 1px;\n\t\tborder-top: 1px solid;\n\t\ttransform: scaleX(0);\n\t\ttransform-origin: var(--transform-origin, left);\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t/* Vertical Divider */\n\t.vertical {\n\t\twidth: 1px;\n\t\theight: 100%;\n\t\tborder-left: 1px solid;\n\t\ttransform: scaleY(0);\n\t\ttransform-origin: var(--transform-origin, top);\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t/* Outline Variants */\n\t.border-outlineVariant {\n\t\t/* Utilize existing outline variant styles */\n\t\tborder-color: var(--schmancy-sys-color-outlineVariant, #555);\n\t}\n\t.border-outline {\n\t\t/* Utilize existing default outline styles */\n\t\tborder-color: var(--schmancy-sys-color-outline, #000);\n\t}\n\t/* RTL Support for Horizontal Dividers */\n\t:host([dir='rtl']) .horizontal.grow-start {\n\t\t--transform-origin: right;\n\t}\n\t:host([dir='rtl']) .horizontal.grow-end {\n\t\t--transform-origin: left;\n\t}\n\t/* Center Growth for Horizontal and Vertical Dividers */\n\t.horizontal.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t.vertical.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t/* Define Keyframes */\n\t@keyframes drawHorizontal {\n\t\tto {\n\t\t\ttransform: scaleX(1);\n\t\t}\n\t}\n\t@keyframes drawVertical {\n\t\tto {\n\t\t\ttransform: scaleY(1);\n\t\t}\n\t}\n\t/* Assign Animations Based on Grow Direction */\n\t.horizontal.grow-start {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-end {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-both {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\n\t.vertical.grow-start {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-end {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-both {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n`) {\n\t@property({ type: String }) outline: 'default' | 'variant' = 'variant'\n\t@property({ reflect: true, type: String }) orientation: 'horizontal' | 'vertical' = 'horizontal'\n\t@property({ type: String }) grow: 'start' | 'end' | 'both' = 'start'\n\n\tprotected render() {\n\t\tconst classes = {\n\t\t\tdivider: true,\n\t\t\thorizontal: this.orientation === 'horizontal',\n\t\t\tvertical: this.orientation === 'vertical',\n\t\t\t'border-outlineVariant': this.outline === 'variant',\n\t\t\t'border-outline': this.outline === 'default',\n\t\t\t[`grow-${this.grow}`]: true, // e.g., grow-start, grow-end, grow-both\n\t\t}\n\t\treturn html`<div class=\"${classMap(classes)}\"></div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-divider': SchmancyDivider\n\t}\n}\n"],"names":["SchmancyDivider","$LitElement","css","super","arguments","this","outline","orientation","grow","classes","divider","horizontal","vertical","html","classMap","__decorateClass","property","type","String","prototype","reflect","customElement"],"mappings":";;;;;;;;;;;AAOA,IAAqBA,IAArB,cAA6CC,EAAYC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAzD,EAAA;AAAA,EAAA;AAAAC,UAAAC,GAAAA,SAAAA,GAkF8DC,KAAAC,UAAA,WACuBD,KAAAE,cAAA,cACvBF,KAAAG,OAAA;AAAA,EAAA;AAAA,EAEnD,SACT;AAAA,UAAMC,IAAU,EACfC,SAAAA,IACAC,YAAYN,KAAKE,gBAAgB,cACjCK,UAAUP,KAAKE,gBAAgB,YAC/B,yBAAyBF,KAAKC,YAAY,WAC1C,kBAAkBD,KAAKC,YAAY,WACnC,CAAC,QAAQD,KAAKG,IAAS,EAAA,GAAA,GAAA;AAEjB,WAAAK,gBAAmBC,EAASL,CAAAA,CAAAA;AAAAA,EAAQ;;AAbhBM,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAlFElB,CAAAA,CAAAA,GAAAA,EAkFQmB,WAAA,WAAA,CAAA,GACeJ,EAAA,CAA1CC,EAAS,EAAEI,SAAS,IAAMH,MAAMC,OAAAA,CAAAA,CAAAA,GAnFblB,EAmFuBmB,WAAA,eAAA,IACfJ,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OApFElB,CAAAA,CAAAA,GAAAA,EAoFQmB,WAAA,QAAA,CAAA,GApFRnB,IAArBe,EAAA,CADCM,EAAc,kBACMrB,CAAAA,GAAAA,CAAAA;"}
|
package/dist/divider.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./divider-
|
|
1
|
+
"use strict";require("./divider-B56pVfQK.cjs");
|
|
2
2
|
//# sourceMappingURL=divider.cjs.map
|
package/dist/divider.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./divider-
|
|
1
|
+
import "./divider-BpVwalY9.js";
|
|
2
2
|
//# sourceMappingURL=divider.js.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";const l=require("@floating-ui/dom"),c=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const m=require("./litElement.mixin-BDAc5mMz.cjs"),y=require("./tailwind.mixin-CAvg5VIG.cjs"),h=require("lit"),n=require("lit/decorators.js");var u=Object.defineProperty,g=Object.getOwnPropertyDescriptor,a=(t,e,s,r)=>{for(var i,o=r>1?void 0:r?g(e,s):e,p=t.length-1;p>=0;p--)(i=t[p])&&(o=(r?i(e,s,o):i(o))||o);return r&&o&&u(e,s,o),o};exports.SchmancyDropdown=class extends m.$LitElement(h.css`
|
|
2
|
+
:host {
|
|
3
|
+
display: inline-block;
|
|
4
|
+
position: relative;
|
|
5
|
+
}
|
|
6
|
+
`){constructor(){super(...arguments),this.open=!1,this.placement="bottom-start",this.distance=8,this.portal=null}connectedCallback(){super.connectedCallback(),this.setupPortal(),c.fromEvent(document,"click").pipe(c.filter(t=>this.open&&!this.isEventFromSelf(t)),c.takeUntil(this.disconnecting)).subscribe(()=>{this.open=!1}),c.fromEvent(document,"keydown").pipe(c.filter(t=>this.open&&t.key==="Escape"),c.takeUntil(this.disconnecting)).subscribe(()=>{this.open=!1})}setupPortal(){let t=document.getElementById("schmancy-portal-container");t||(t=document.createElement("div"),t.id="schmancy-portal-container",t.style.position="fixed",t.style.zIndex="10000",t.style.top="0",t.style.left="0",t.style.pointerEvents="none",document.body.appendChild(t));const e=document.createElement("div");e.className="schmancy-dropdown-portal",e.style.position="absolute",e.style.pointerEvents="auto",e.style.display="none",t.appendChild(e),this.portal=e}isEventFromSelf(t){return t.composedPath().some(e=>e===this)}disconnectedCallback(){var t;(t=this.cleanupPositioner)==null||t.call(this),this.portal&&(this.portal.remove(),this.portal=null),super.disconnectedCallback()}toggle(){this.open=!this.open}updated(t){var e;super.updated(t),t.has("open")&&(this.open?this.setupPositioner():((e=this.cleanupPositioner)==null||e.call(this),this.portal&&(this.portal.style.display="none",this.portal.innerHTML="")))}setupPositioner(){this.triggerContainer&&this.portal&&(this.portal.style.display="block",this.teleportContentToPortal(),this.cleanupPositioner=l.autoUpdate(this.triggerContainer,this.portal,()=>{l.computePosition(this.triggerContainer,this.portal,{placement:this.placement,middleware:[l.offset(this.distance),l.flip({fallbackPlacements:["top-start","bottom-start"]}),l.shift({padding:0})]}).then(({x:t,y:e})=>{Object.assign(this.portal.style,{left:`${t}px`,top:e-8+"px"})})}))}teleportContentToPortal(){this.portal&&(this.portal.innerHTML="",this.contentElements.forEach(t=>{var s;const e=t.cloneNode(!0);t.tagName.toLowerCase()==="schmancy-dropdown-content"&&e.addEventListener("slotchange",()=>{var i;const r=(i=e.shadowRoot)==null?void 0:i.querySelector('[part="content"]');r&&r.classList.add("schmancy-dropdown-content")}),(s=this.portal)==null||s.appendChild(e)}))}handleTriggerClick(t){t.stopPropagation(),this.toggle()}render(){return h.html`
|
|
7
|
+
<div class="trigger-container" @click=${this.handleTriggerClick}>
|
|
8
|
+
<slot name="trigger"></slot>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
<div class="dropdown-content-container" ?hidden=${!this.open}>
|
|
12
|
+
<slot
|
|
13
|
+
@slotchange=${()=>{this.open&&(this.teleportContentToPortal(),this.setupPositioner())}}
|
|
14
|
+
></slot>
|
|
15
|
+
</div>
|
|
16
|
+
`}},a([n.property({type:Boolean,reflect:!0})],exports.SchmancyDropdown.prototype,"open",2),a([n.property({type:String})],exports.SchmancyDropdown.prototype,"placement",2),a([n.property({type:Number})],exports.SchmancyDropdown.prototype,"distance",2),a([n.query(".trigger-container")],exports.SchmancyDropdown.prototype,"triggerContainer",2),a([n.query(".dropdown-content-container")],exports.SchmancyDropdown.prototype,"contentContainer",2),a([n.queryAssignedElements({flatten:!0})],exports.SchmancyDropdown.prototype,"contentElements",2),a([n.state()],exports.SchmancyDropdown.prototype,"portal",2),a([n.queryAssignedElements({slot:"trigger",flatten:!0})],exports.SchmancyDropdown.prototype,"triggerElements",2),exports.SchmancyDropdown=a([n.customElement("schmancy-dropdown")],exports.SchmancyDropdown);var w=Object.defineProperty,f=Object.getOwnPropertyDescriptor,d=(t,e,s,r)=>{for(var i,o=r>1?void 0:r?f(e,s):e,p=t.length-1;p>=0;p--)(i=t[p])&&(o=(r?i(e,s,o):i(o))||o);return r&&o&&w(e,s,o),o};exports.SchmancyDropdownContent=class extends y.TailwindElement(h.css`
|
|
17
|
+
:host {
|
|
18
|
+
display: block;
|
|
19
|
+
position: absolute;
|
|
20
|
+
z-index: 1000;
|
|
21
|
+
min-width: 10rem;
|
|
22
|
+
padding: 0.5rem 0;
|
|
23
|
+
margin: 0;
|
|
24
|
+
text-align: left;
|
|
25
|
+
list-style: none;
|
|
26
|
+
background-color: var(--schmancy-sys-color-surface-container);
|
|
27
|
+
background-clip: padding-box;
|
|
28
|
+
border-radius: 0.375rem;
|
|
29
|
+
box-shadow: var(--schmancy-sys-elevation-3);
|
|
30
|
+
will-change: transform;
|
|
31
|
+
transform-origin: top left;
|
|
32
|
+
animation: dropdownAnimation 0.1s ease-out forwards;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:host([hidden]) {
|
|
36
|
+
display: none;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@keyframes dropdownAnimation {
|
|
40
|
+
from {
|
|
41
|
+
opacity: 0;
|
|
42
|
+
transform: scale(0.95);
|
|
43
|
+
}
|
|
44
|
+
to {
|
|
45
|
+
opacity: 1;
|
|
46
|
+
transform: scale(1);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* Apply styles to content both in the component and when teleported to the portal */
|
|
51
|
+
.schmancy-dropdown-content {
|
|
52
|
+
background-color: var(--schmancy-sys-color-surface-container);
|
|
53
|
+
border-radius: 0.375rem;
|
|
54
|
+
box-shadow: var(--schmancy-sys-elevation-3);
|
|
55
|
+
padding: 0.5rem 0;
|
|
56
|
+
will-change: transform;
|
|
57
|
+
transform-origin: top left;
|
|
58
|
+
animation: dropdownAnimation 0.1s ease-out forwards;
|
|
59
|
+
}
|
|
60
|
+
`){constructor(){super(...arguments),this.width="auto",this.maxHeight="80vh",this.shadow=!0,this.radius="md"}render(){const t={"schmancy-dropdown-content":!0,"overflow-auto":!0,"shadow-none":!this.shadow,"rounded-none":this.radius==="none","rounded-sm":this.radius==="sm","rounded-md":this.radius==="md","rounded-lg":this.radius==="lg","rounded-full":this.radius==="full"},e={width:this.width,maxHeight:this.maxHeight};return h.html`
|
|
61
|
+
<div class=${this.classMap(t)} style=${this.styleMap(e)} part="content">
|
|
62
|
+
<slot></slot>
|
|
63
|
+
</div>
|
|
64
|
+
`}},d([n.property({type:String})],exports.SchmancyDropdownContent.prototype,"width",2),d([n.property({type:String})],exports.SchmancyDropdownContent.prototype,"maxHeight",2),d([n.property({type:Boolean})],exports.SchmancyDropdownContent.prototype,"shadow",2),d([n.property({type:String})],exports.SchmancyDropdownContent.prototype,"radius",2),exports.SchmancyDropdownContent=d([n.customElement("schmancy-dropdown-content")],exports.SchmancyDropdownContent);
|
|
65
|
+
//# sourceMappingURL=dropdown-content-CgwaiBpw.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown-content-CgwaiBpw.cjs","sources":["../src/dropdown/dropdown-component.ts","../src/dropdown/dropdown-content.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * A dropdown component that displays content when triggered.\n *\n * @element schmancy-dropdown\n * @slot trigger - The element that triggers the dropdown\n * @slot - Default slot for the dropdown content\n */\n@customElement('schmancy-dropdown')\nexport class SchmancyDropdown extends $LitElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\tposition: relative;\n\t}\n`) {\n\t/**\n\t * Whether the dropdown is currently open\n\t */\n\t@property({ type: Boolean, reflect: true })\n\topen = false\n\n\t/**\n\t * Placement of the dropdown relative to the trigger\n\t */\n\t@property({ type: String })\n\tplacement:\n\t\t| 'top'\n\t\t| 'top-start'\n\t\t| 'top-end'\n\t\t| 'right'\n\t\t| 'right-start'\n\t\t| 'right-end'\n\t\t| 'bottom'\n\t\t| 'bottom-start'\n\t\t| 'bottom-end'\n\t\t| 'left'\n\t\t| 'left-start'\n\t\t| 'left-end' = 'bottom-start'\n\n\t/**\n\t * Offset distance in pixels\n\t */\n\t@property({ type: Number })\n\tdistance = 8\n\n\t@query('.trigger-container') triggerContainer!: HTMLElement\n\t@query('.dropdown-content-container') contentContainer!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) contentElements!: HTMLElement[]\n\t@state() private portal: HTMLElement | null = null\n\n\t@queryAssignedElements({ slot: 'trigger', flatten: true })\n\ttriggerElements!: Array<HTMLElement>\n\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Create portal container for teleporting content to document body\n\t\tthis.setupPortal()\n\n\t\t// Listen for document clicks to close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && !this.isEventFromSelf(event)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\n\t\t// Listen for escape key to close dropdown\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && event.key === 'Escape'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up the portal element for teleporting content\n\t */\n\tprivate setupPortal() {\n\t\t// Check if portal container exists\n\t\tlet portalContainer = document.getElementById('schmancy-portal-container')\n\n\t\t// Create portal container if it doesn't exist\n\t\tif (!portalContainer) {\n\t\t\tportalContainer = document.createElement('div')\n\t\t\tportalContainer.id = 'schmancy-portal-container'\n\t\t\tportalContainer.style.position = 'fixed'\n\t\t\tportalContainer.style.zIndex = '10000'\n\t\t\tportalContainer.style.top = '0'\n\t\t\tportalContainer.style.left = '0'\n\t\t\tportalContainer.style.pointerEvents = 'none'\n\t\t\tdocument.body.appendChild(portalContainer)\n\t\t}\n\n\t\t// Create portal for this specific dropdown\n\t\tconst portal = document.createElement('div')\n\t\tportal.className = 'schmancy-dropdown-portal'\n\t\tportal.style.position = 'absolute'\n\t\tportal.style.pointerEvents = 'auto'\n\t\tportal.style.display = 'none'\n\t\tportalContainer.appendChild(portal)\n\n\t\tthis.portal = portal\n\t}\n\n\t/**\n\t * Check if an event originated from within this component\n\t */\n\tprivate isEventFromSelf(event: Event): boolean {\n\t\treturn event.composedPath().some(el => el === this)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.cleanupPositioner?.()\n\n\t\t// Remove portal when component is disconnected\n\t\tif (this.portal) {\n\t\t\tthis.portal.remove()\n\t\t\tthis.portal = null\n\t\t}\n\n\t\tsuper.disconnectedCallback()\n\t}\n\n\t/**\n\t * Toggle the dropdown open state\n\t */\n\ttoggle() {\n\t\tthis.open = !this.open\n\t}\n\n\tupdated(changedProps: Map<string, any>) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (changedProps.has('open')) {\n\t\t\tif (this.open) {\n\t\t\t\tthis.setupPositioner()\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\n\t\t\t\t// Hide portal when dropdown is closed\n\t\t\t\tif (this.portal) {\n\t\t\t\t\tthis.portal.style.display = 'none'\n\t\t\t\t\tthis.portal.innerHTML = ''\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Setup floating UI positioning with teleportation\n\t */\n\tprivate setupPositioner() {\n\t\tif (!this.triggerContainer || !this.portal) return\n\n\t\t// Show the portal\n\t\tthis.portal.style.display = 'block'\n\n\t\t// Move content to portal\n\t\tthis.teleportContentToPortal()\n\n\t\t// Setup positioning\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerContainer, this.portal, () => {\n\t\t\tcomputePosition(this.triggerContainer, this.portal, {\n\t\t\t\tplacement: this.placement,\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(this.distance),\n\t\t\t\t\tflip({\n\t\t\t\t\t\tfallbackPlacements: ['top-start', 'bottom-start'],\n\t\t\t\t\t}),\n\t\t\t\t\tshift({ padding: 0 }),\n\t\t\t\t],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\t// Update portal position\n\t\t\t\tObject.assign(this.portal.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y - 8}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Move slotted content to the portal\n\t */\n\tprivate teleportContentToPortal() {\n\t\tif (!this.portal) return\n\n\t\t// Clear existing content\n\t\tthis.portal.innerHTML = ''\n\n\t\t// Clone and move slotted content to portal\n\t\tthis.contentElements.forEach(element => {\n\t\t\t// Get computed styles to ensure portal content matches original styling\n\t\t\tconst clonedElement = element.cloneNode(true) as HTMLElement\n\n\t\t\t// Ensure dropdown-content elements maintain their styles when teleported\n\t\t\tif (element.tagName.toLowerCase() === 'schmancy-dropdown-content') {\n\t\t\t\tclonedElement.addEventListener('slotchange', () => {\n\t\t\t\t\t// Propagate any slot changes to class changes on children\n\t\t\t\t\tconst contentDiv = clonedElement.shadowRoot?.querySelector('[part=\"content\"]')\n\t\t\t\t\tif (contentDiv) {\n\t\t\t\t\t\tcontentDiv.classList.add('schmancy-dropdown-content')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tthis.portal?.appendChild(clonedElement)\n\t\t})\n\t}\n\n\t/**\n\t * Handle trigger click to toggle dropdown\n\t */\n\tprivate handleTriggerClick(e: Event) {\n\t\te.stopPropagation()\n\t\tthis.toggle()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"trigger-container\" @click=${this.handleTriggerClick}>\n\t\t\t\t<slot name=\"trigger\"></slot>\n\t\t\t</div>\n\n\t\t\t<div class=\"dropdown-content-container\" ?hidden=${!this.open}>\n\t\t\t\t<slot\n\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.teleportContentToPortal()\n\t\t\t\t\t\t\tthis.setupPositioner()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown': SchmancyDropdown\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * Content container for the schmancy-dropdown component.\n *\n * @element schmancy-dropdown-content\n * @slot - Default slot for dropdown content\n */\n@customElement('schmancy-dropdown-content')\nexport class SchmancyDropdownContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tz-index: 1000;\n\t\tmin-width: 10rem;\n\t\tpadding: 0.5rem 0;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\tlist-style: none;\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tbackground-clip: padding-box;\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n\n\t:host([hidden]) {\n\t\tdisplay: none;\n\t}\n\n\t@keyframes dropdownAnimation {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.95);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n\n\t/* Apply styles to content both in the component and when teleported to the portal */\n\t.schmancy-dropdown-content {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\tpadding: 0.5rem 0;\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n`) {\n\t/**\n\t * Width of the dropdown content\n\t */\n\t@property({ type: String })\n\twidth: string = 'auto'\n\n\t/**\n\t * Maximum height of the dropdown content\n\t */\n\t@property({ type: String })\n\tmaxHeight: string = '80vh'\n\n\t/**\n\t * Whether to render with a shadow\n\t */\n\t@property({ type: Boolean })\n\tshadow: boolean = true\n\n\t/**\n\t * Border radius style\n\t */\n\t@property({ type: String })\n\tradius: 'none' | 'sm' | 'md' | 'lg' | 'full' = 'md'\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'schmancy-dropdown-content': true,\n\t\t\t'overflow-auto': true,\n\t\t\t'shadow-none': !this.shadow,\n\t\t\t'rounded-none': this.radius === 'none',\n\t\t\t'rounded-sm': this.radius === 'sm',\n\t\t\t'rounded-md': this.radius === 'md',\n\t\t\t'rounded-lg': this.radius === 'lg',\n\t\t\t'rounded-full': this.radius === 'full',\n\t\t}\n\n\t\tconst styles = {\n\t\t\twidth: this.width,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(classes)} style=${this.styleMap(styles)} part=\"content\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown-content': SchmancyDropdownContent\n\t}\n}\n"],"names":["SchmancyDropdown","$LitElement","css","super","arguments","this","open","placement","distance","portal","connectedCallback","setupPortal","fromEvent","document","pipe","filter","isEventFromSelf","event","takeUntil","disconnecting","subscribe","key","portalContainer","getElementById","createElement","id","style","position","zIndex","top","left","pointerEvents","body","appendChild","className","display","composedPath","some","el","cleanupPositioner","remove","disconnectedCallback","changedProps","updated","has","setupPositioner","innerHTML","triggerContainer","teleportContentToPortal","autoUpdate","computePosition","middleware","offset","flip","fallbackPlacements","shift","padding","then","x","y","Object","assign","contentElements","forEach","element","clonedElement","cloneNode","tagName","toLowerCase","addEventListener","contentDiv","shadowRoot","querySelector","classList","add","e","stopPropagation","toggle","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","constructor","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { autoUpdate as v, computePosition as k, offset as P, flip as x, shift as C } from "@floating-ui/dom";
|
|
2
|
+
import { fromEvent as h, filter as m, takeUntil as y } from "rxjs";
|
|
3
|
+
import "lit/directives/class-map.js";
|
|
4
|
+
import "lit/directives/style-map.js";
|
|
5
|
+
import { $ as E } from "./litElement.mixin-DamySMT5.js";
|
|
6
|
+
import { T as S } from "./tailwind.mixin-CgdpQXVy.js";
|
|
7
|
+
import { css as f, html as w } from "lit";
|
|
8
|
+
import { property as l, query as u, queryAssignedElements as g, state as T, customElement as b } from "lit/decorators.js";
|
|
9
|
+
var $ = Object.defineProperty, O = Object.getOwnPropertyDescriptor, i = (t, e, s, n) => {
|
|
10
|
+
for (var r, o = n > 1 ? void 0 : n ? O(e, s) : e, p = t.length - 1; p >= 0; p--) (r = t[p]) && (o = (n ? r(e, s, o) : r(o)) || o);
|
|
11
|
+
return n && o && $(e, s, o), o;
|
|
12
|
+
};
|
|
13
|
+
let a = class extends E(f`
|
|
14
|
+
:host {
|
|
15
|
+
display: inline-block;
|
|
16
|
+
position: relative;
|
|
17
|
+
}
|
|
18
|
+
`) {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments), this.open = !1, this.placement = "bottom-start", this.distance = 8, this.portal = null;
|
|
21
|
+
}
|
|
22
|
+
connectedCallback() {
|
|
23
|
+
super.connectedCallback(), this.setupPortal(), h(document, "click").pipe(m((t) => this.open && !this.isEventFromSelf(t)), y(this.disconnecting)).subscribe(() => {
|
|
24
|
+
this.open = !1;
|
|
25
|
+
}), h(document, "keydown").pipe(m((t) => this.open && t.key === "Escape"), y(this.disconnecting)).subscribe(() => {
|
|
26
|
+
this.open = !1;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
setupPortal() {
|
|
30
|
+
let t = document.getElementById("schmancy-portal-container");
|
|
31
|
+
t || (t = document.createElement("div"), t.id = "schmancy-portal-container", t.style.position = "fixed", t.style.zIndex = "10000", t.style.top = "0", t.style.left = "0", t.style.pointerEvents = "none", document.body.appendChild(t));
|
|
32
|
+
const e = document.createElement("div");
|
|
33
|
+
e.className = "schmancy-dropdown-portal", e.style.position = "absolute", e.style.pointerEvents = "auto", e.style.display = "none", t.appendChild(e), this.portal = e;
|
|
34
|
+
}
|
|
35
|
+
isEventFromSelf(t) {
|
|
36
|
+
return t.composedPath().some((e) => e === this);
|
|
37
|
+
}
|
|
38
|
+
disconnectedCallback() {
|
|
39
|
+
var t;
|
|
40
|
+
(t = this.cleanupPositioner) == null || t.call(this), this.portal && (this.portal.remove(), this.portal = null), super.disconnectedCallback();
|
|
41
|
+
}
|
|
42
|
+
toggle() {
|
|
43
|
+
this.open = !this.open;
|
|
44
|
+
}
|
|
45
|
+
updated(t) {
|
|
46
|
+
var e;
|
|
47
|
+
super.updated(t), t.has("open") && (this.open ? this.setupPositioner() : ((e = this.cleanupPositioner) == null || e.call(this), this.portal && (this.portal.style.display = "none", this.portal.innerHTML = "")));
|
|
48
|
+
}
|
|
49
|
+
setupPositioner() {
|
|
50
|
+
this.triggerContainer && this.portal && (this.portal.style.display = "block", this.teleportContentToPortal(), this.cleanupPositioner = v(this.triggerContainer, this.portal, () => {
|
|
51
|
+
k(this.triggerContainer, this.portal, { placement: this.placement, middleware: [P(this.distance), x({ fallbackPlacements: ["top-start", "bottom-start"] }), C({ padding: 0 })] }).then(({ x: t, y: e }) => {
|
|
52
|
+
Object.assign(this.portal.style, { left: `${t}px`, top: e - 8 + "px" });
|
|
53
|
+
});
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
teleportContentToPortal() {
|
|
57
|
+
this.portal && (this.portal.innerHTML = "", this.contentElements.forEach((t) => {
|
|
58
|
+
var s;
|
|
59
|
+
const e = t.cloneNode(!0);
|
|
60
|
+
t.tagName.toLowerCase() === "schmancy-dropdown-content" && e.addEventListener("slotchange", () => {
|
|
61
|
+
var r;
|
|
62
|
+
const n = (r = e.shadowRoot) == null ? void 0 : r.querySelector('[part="content"]');
|
|
63
|
+
n && n.classList.add("schmancy-dropdown-content");
|
|
64
|
+
}), (s = this.portal) == null || s.appendChild(e);
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
handleTriggerClick(t) {
|
|
68
|
+
t.stopPropagation(), this.toggle();
|
|
69
|
+
}
|
|
70
|
+
render() {
|
|
71
|
+
return w`
|
|
72
|
+
<div class="trigger-container" @click=${this.handleTriggerClick}>
|
|
73
|
+
<slot name="trigger"></slot>
|
|
74
|
+
</div>
|
|
75
|
+
|
|
76
|
+
<div class="dropdown-content-container" ?hidden=${!this.open}>
|
|
77
|
+
<slot
|
|
78
|
+
@slotchange=${() => {
|
|
79
|
+
this.open && (this.teleportContentToPortal(), this.setupPositioner());
|
|
80
|
+
}}
|
|
81
|
+
></slot>
|
|
82
|
+
</div>
|
|
83
|
+
`;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
i([l({ type: Boolean, reflect: !0 })], a.prototype, "open", 2), i([l({ type: String })], a.prototype, "placement", 2), i([l({ type: Number })], a.prototype, "distance", 2), i([u(".trigger-container")], a.prototype, "triggerContainer", 2), i([u(".dropdown-content-container")], a.prototype, "contentContainer", 2), i([g({ flatten: !0 })], a.prototype, "contentElements", 2), i([T()], a.prototype, "portal", 2), i([g({ slot: "trigger", flatten: !0 })], a.prototype, "triggerElements", 2), a = i([b("schmancy-dropdown")], a);
|
|
87
|
+
var j = Object.defineProperty, H = Object.getOwnPropertyDescriptor, c = (t, e, s, n) => {
|
|
88
|
+
for (var r, o = n > 1 ? void 0 : n ? H(e, s) : e, p = t.length - 1; p >= 0; p--) (r = t[p]) && (o = (n ? r(e, s, o) : r(o)) || o);
|
|
89
|
+
return n && o && j(e, s, o), o;
|
|
90
|
+
};
|
|
91
|
+
let d = class extends S(f`
|
|
92
|
+
:host {
|
|
93
|
+
display: block;
|
|
94
|
+
position: absolute;
|
|
95
|
+
z-index: 1000;
|
|
96
|
+
min-width: 10rem;
|
|
97
|
+
padding: 0.5rem 0;
|
|
98
|
+
margin: 0;
|
|
99
|
+
text-align: left;
|
|
100
|
+
list-style: none;
|
|
101
|
+
background-color: var(--schmancy-sys-color-surface-container);
|
|
102
|
+
background-clip: padding-box;
|
|
103
|
+
border-radius: 0.375rem;
|
|
104
|
+
box-shadow: var(--schmancy-sys-elevation-3);
|
|
105
|
+
will-change: transform;
|
|
106
|
+
transform-origin: top left;
|
|
107
|
+
animation: dropdownAnimation 0.1s ease-out forwards;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
:host([hidden]) {
|
|
111
|
+
display: none;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
@keyframes dropdownAnimation {
|
|
115
|
+
from {
|
|
116
|
+
opacity: 0;
|
|
117
|
+
transform: scale(0.95);
|
|
118
|
+
}
|
|
119
|
+
to {
|
|
120
|
+
opacity: 1;
|
|
121
|
+
transform: scale(1);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* Apply styles to content both in the component and when teleported to the portal */
|
|
126
|
+
.schmancy-dropdown-content {
|
|
127
|
+
background-color: var(--schmancy-sys-color-surface-container);
|
|
128
|
+
border-radius: 0.375rem;
|
|
129
|
+
box-shadow: var(--schmancy-sys-elevation-3);
|
|
130
|
+
padding: 0.5rem 0;
|
|
131
|
+
will-change: transform;
|
|
132
|
+
transform-origin: top left;
|
|
133
|
+
animation: dropdownAnimation 0.1s ease-out forwards;
|
|
134
|
+
}
|
|
135
|
+
`) {
|
|
136
|
+
constructor() {
|
|
137
|
+
super(...arguments), this.width = "auto", this.maxHeight = "80vh", this.shadow = !0, this.radius = "md";
|
|
138
|
+
}
|
|
139
|
+
render() {
|
|
140
|
+
const t = { "schmancy-dropdown-content": !0, "overflow-auto": !0, "shadow-none": !this.shadow, "rounded-none": this.radius === "none", "rounded-sm": this.radius === "sm", "rounded-md": this.radius === "md", "rounded-lg": this.radius === "lg", "rounded-full": this.radius === "full" }, e = { width: this.width, maxHeight: this.maxHeight };
|
|
141
|
+
return w`
|
|
142
|
+
<div class=${this.classMap(t)} style=${this.styleMap(e)} part="content">
|
|
143
|
+
<slot></slot>
|
|
144
|
+
</div>
|
|
145
|
+
`;
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
c([l({ type: String })], d.prototype, "width", 2), c([l({ type: String })], d.prototype, "maxHeight", 2), c([l({ type: Boolean })], d.prototype, "shadow", 2), c([l({ type: String })], d.prototype, "radius", 2), d = c([b("schmancy-dropdown-content")], d);
|
|
149
|
+
export {
|
|
150
|
+
a as S,
|
|
151
|
+
d as a
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=dropdown-content-DmqNgUQQ.js.map
|