@mhmo91/schmancy 0.2.116 → 0.2.118
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-DrH4Miy7.js → animated-text-6DhYKKzt.js} +3 -3
- package/dist/{animated-text-DrH4Miy7.js.map → animated-text-6DhYKKzt.js.map} +1 -1
- package/dist/{animated-text-DmtCT-2q.cjs → animated-text-C2EvhDmf.cjs} +2 -2
- package/dist/{animated-text-DmtCT-2q.cjs.map → animated-text-C2EvhDmf.cjs.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-CmsssAq_.js → area.component-DAry93pl.js} +3 -3
- package/dist/{area.component-CmsssAq_.js.map → area.component-DAry93pl.js.map} +1 -1
- package/dist/{area.component-Bg1zJKiZ.cjs → area.component-X-1ZwgJL.cjs} +2 -2
- package/dist/{area.component-Bg1zJKiZ.cjs.map → area.component-X-1ZwgJL.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-BFj0YUYW.cjs → autocomplete-BIJ9G0y1.cjs} +2 -2
- package/dist/{autocomplete-BFj0YUYW.cjs.map → autocomplete-BIJ9G0y1.cjs.map} +1 -1
- package/dist/{autocomplete-BsrWuTsP.js → autocomplete-C_QyhPJw.js} +3 -3
- package/dist/{autocomplete-BsrWuTsP.js.map → autocomplete-C_QyhPJw.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.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-Cb7nmI6P.cjs → checkbox-BkGLOzBe.cjs} +2 -2
- package/dist/{checkbox-Cb7nmI6P.cjs.map → checkbox-BkGLOzBe.cjs.map} +1 -1
- package/dist/{checkbox-DUP_qnel.js → checkbox-CTRhgYJB.js} +2 -2
- package/dist/{checkbox-DUP_qnel.js.map → checkbox-CTRhgYJB.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-CiesiXpI.cjs → chips-B4X5PxUQ.cjs} +2 -2
- package/dist/{chips-CiesiXpI.cjs.map → chips-B4X5PxUQ.cjs.map} +1 -1
- package/dist/{chips-0hsW-Rxx.js → chips-DjX_Zznh.js} +3 -3
- package/dist/{chips-0hsW-Rxx.js.map → chips-DjX_Zznh.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-DvTXqD8e.cjs → date-range-CCsKoZUV.cjs} +2 -2
- package/dist/{date-range-DvTXqD8e.cjs.map → date-range-CCsKoZUV.cjs.map} +1 -1
- package/dist/{date-range-DF_kjOLs.js → date-range-CRJ7wYwK.js} +3 -3
- package/dist/{date-range-DF_kjOLs.js.map → date-range-CRJ7wYwK.js.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-Cmf_vIaJ.js → delay-BkSIN-In.js} +2 -2
- package/dist/{delay-Cmf_vIaJ.js.map → delay-BkSIN-In.js.map} +1 -1
- package/dist/{delay-DhV8MSPZ.cjs → delay-ttYmIqo7.cjs} +2 -2
- package/dist/{delay-DhV8MSPZ.cjs.map → delay-ttYmIqo7.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{divider-4ev5A0v0.cjs → divider-2AVp1yWB.cjs} +2 -2
- package/dist/{divider-4ev5A0v0.cjs.map → divider-2AVp1yWB.cjs.map} +1 -1
- package/dist/{divider-B7GoicdG.js → divider-C3zQQjqq.js} +3 -3
- package/dist/{divider-B7GoicdG.js.map → divider-C3zQQjqq.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-DFHDHleC.cjs → flex-CfGGWirm.cjs} +3 -3
- package/dist/flex-CfGGWirm.cjs.map +1 -0
- package/dist/{flex-t4F0-R-c.js → flex-CfRUWQWK.js} +13 -13
- package/dist/flex-CfRUWQWK.js.map +1 -0
- package/dist/{form-dVHTERy3.js → form-BTg8x5QO.js} +2 -2
- package/dist/{form-dVHTERy3.js.map → form-BTg8x5QO.js.map} +1 -1
- package/dist/{form-D_ShigQq.cjs → form-DPRTjp4Q.cjs} +2 -2
- package/dist/{form-D_ShigQq.cjs.map → form-DPRTjp4Q.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-C3PI8GgN.js → icon-BLvikygg.js} +3 -3
- package/dist/{icon-C3PI8GgN.js.map → icon-BLvikygg.js.map} +1 -1
- package/dist/{icon-BNyFKp0p.cjs → icon-BfUZ5ZBV.cjs} +2 -2
- package/dist/{icon-BNyFKp0p.cjs.map → icon-BfUZ5ZBV.cjs.map} +1 -1
- package/dist/{icon-button-D4D5bXCm.cjs → icon-button-BefimCfp.cjs} +2 -2
- package/dist/{icon-button-D4D5bXCm.cjs.map → icon-button-BefimCfp.cjs.map} +1 -1
- package/dist/{icon-button-Dr_-8Ey5.js → icon-button-OidywZ1U.js} +3 -3
- package/dist/{icon-button-Dr_-8Ey5.js.map → icon-button-OidywZ1U.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 +35 -35
- package/dist/{input-_XU4ILwo.js → input-BNIa-xYu.js} +2 -2
- package/dist/{input-_XU4ILwo.js.map → input-BNIa-xYu.js.map} +1 -1
- package/dist/{input-Bk7EZhOl.cjs → input-CqYkuOF4.cjs} +2 -2
- package/dist/{input-Bk7EZhOl.cjs.map → input-CqYkuOF4.cjs.map} +1 -1
- package/dist/{input-BHgBONgn.cjs → input-Dq3dT_7p.cjs} +2 -2
- package/dist/{input-BHgBONgn.cjs.map → input-Dq3dT_7p.cjs.map} +1 -1
- package/dist/{input-BgmQpY14.js → input-igN7Vis2.js} +2 -2
- package/dist/{input-BgmQpY14.js.map → input-igN7Vis2.js.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-CCrSL1bZ.cjs → list-C78nnFIZ.cjs} +2 -2
- package/dist/{list-CCrSL1bZ.cjs.map → list-C78nnFIZ.cjs.map} +1 -1
- package/dist/{list-r6mo_zcT.js → list-CQV0ecrY.js} +2 -2
- package/dist/{list-r6mo_zcT.js.map → list-CQV0ecrY.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-DfYInjJd.js → litElement.mixin-B1ZP2iG4.js} +2 -2
- package/dist/{litElement.mixin-DfYInjJd.js.map → litElement.mixin-B1ZP2iG4.js.map} +1 -1
- package/dist/{litElement.mixin-CAXeI5RY.cjs → litElement.mixin-DGx3SrGX.cjs} +2 -2
- package/dist/{litElement.mixin-CAXeI5RY.cjs.map → litElement.mixin-DGx3SrGX.cjs.map} +1 -1
- package/dist/{menu-yboJ8_V4.js → menu-15yMmtd2.js} +3 -3
- package/dist/{menu-yboJ8_V4.js.map → menu-15yMmtd2.js.map} +1 -1
- package/dist/{menu-B6x8xZng.cjs → menu-DqLKbEXx.cjs} +2 -2
- package/dist/{menu-B6x8xZng.cjs.map → menu-DqLKbEXx.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.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-gnBrhD_1.cjs → option-BaOmCXP8.cjs} +2 -2
- package/dist/{option-gnBrhD_1.cjs.map → option-BaOmCXP8.cjs.map} +1 -1
- package/dist/{option-CmZo8fXU.js → option-DleJMgj-.js} +2 -2
- package/dist/{option-CmZo8fXU.js.map → option-DleJMgj-.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{outlet-BgJ_WOwi.js → outlet-I1IE2wTK.js} +2 -2
- package/dist/{outlet-BgJ_WOwi.js.map → outlet-I1IE2wTK.js.map} +1 -1
- package/dist/{outlet-CSduKjEi.cjs → outlet-mNvq9oaA.cjs} +2 -2
- package/dist/{outlet-CSduKjEi.cjs.map → outlet-mNvq9oaA.cjs.map} +1 -1
- package/dist/{payment-card-form-CVW9uWum.cjs → payment-card-form-Cm_-ul4G.cjs} +2 -2
- package/dist/{payment-card-form-CVW9uWum.cjs.map → payment-card-form-Cm_-ul4G.cjs.map} +1 -1
- package/dist/{payment-card-form-NUTic2b3.js → payment-card-form-DHmtfa_H.js} +3 -3
- package/dist/{payment-card-form-NUTic2b3.js.map → payment-card-form-DHmtfa_H.js.map} +1 -1
- package/dist/{radio-group-Bl5nhDCh.js → radio-group-CSKgiPxL.js} +2 -2
- package/dist/{radio-group-Bl5nhDCh.js.map → radio-group-CSKgiPxL.js.map} +1 -1
- package/dist/{radio-group-CTCnzxmZ.cjs → radio-group-RChAvIUM.cjs} +2 -2
- package/dist/{radio-group-CTCnzxmZ.cjs.map → radio-group-RChAvIUM.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{select-C2TJxenH.js → select-CHXdCR-t.js} +3 -3
- package/dist/{select-C2TJxenH.js.map → select-CHXdCR-t.js.map} +1 -1
- package/dist/{select-D3yrgnVD.cjs → select-Gbo-xjwq.cjs} +2 -2
- package/dist/{select-D3yrgnVD.cjs.map → select-Gbo-xjwq.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/sheet-DcDDkPRG.js +212 -0
- package/dist/sheet-DcDDkPRG.js.map +1 -0
- package/dist/sheet-OQg2AgBP.cjs +47 -0
- package/dist/sheet-OQg2AgBP.cjs.map +1 -0
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-2mhXBUIM.js → slider-njrfDqrk.js} +3 -3
- package/dist/{slider-2mhXBUIM.js.map → slider-njrfDqrk.js.map} +1 -1
- package/dist/{slider-DCJHcXt1.cjs → slider-rumGp8Bz.cjs} +2 -2
- package/dist/{slider-DCJHcXt1.cjs.map → slider-rumGp8Bz.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-B9JHqmoP.js → spinner-C3JUT7Lx.js} +3 -3
- package/dist/{spinner-B9JHqmoP.js.map → spinner-C3JUT7Lx.js.map} +1 -1
- package/dist/{spinner-D-vtqMqq.cjs → spinner-DVEN9TFJ.cjs} +2 -2
- package/dist/{spinner-D-vtqMqq.cjs.map → spinner-DVEN9TFJ.cjs.map} +1 -1
- package/dist/{surface-O_-YGi6T.js → surface-BpQasVOW.js} +2 -2
- package/dist/{surface-O_-YGi6T.js.map → surface-BpQasVOW.js.map} +1 -1
- package/dist/{surface-DLHFSFU6.cjs → surface-CZayNjQ8.cjs} +2 -2
- package/dist/{surface-DLHFSFU6.cjs.map → surface-CZayNjQ8.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-CdkLZM2b.cjs → table-BzJFv5qf.cjs} +2 -2
- package/dist/{table-CdkLZM2b.cjs.map → table-BzJFv5qf.cjs.map} +1 -1
- package/dist/{table-Bvb_ZG7b.js → table-CWRqwAtQ.js} +2 -2
- package/dist/{table-Bvb_ZG7b.js.map → table-CWRqwAtQ.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-group-B-KvImY2.cjs → tabs-group-BWmuXV1M.cjs} +2 -2
- package/dist/{tabs-group-B-KvImY2.cjs.map → tabs-group-BWmuXV1M.cjs.map} +1 -1
- package/dist/{tabs-group-CVZ2SEq3.js → tabs-group-Dsupy-TK.js} +2 -2
- package/dist/{tabs-group-CVZ2SEq3.js.map → tabs-group-Dsupy-TK.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-C2MUeArS.js +43 -0
- package/dist/{tailwind.mixin-BvhzMkqK.js.map → tailwind.mixin-C2MUeArS.js.map} +1 -1
- package/dist/tailwind.mixin-UzdLTEsN.cjs +2 -0
- package/dist/{tailwind.mixin-csgxM8P_.cjs.map → tailwind.mixin-UzdLTEsN.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/{teleport.component-BRm0yYbM.js → teleport.component-Cf9BZUyf.js} +37 -37
- package/dist/{teleport.component-BRm0yYbM.js.map → teleport.component-Cf9BZUyf.js.map} +1 -1
- package/dist/{teleport.component-D9xuyN_z.cjs → teleport.component-DElxiimP.cjs} +2 -2
- package/dist/{teleport.component-D9xuyN_z.cjs.map → teleport.component-DElxiimP.cjs.map} +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-txN6-t64.js → textarea-DZhAzd2-.js} +2 -2
- package/dist/{textarea-txN6-t64.js.map → textarea-DZhAzd2-.js.map} +1 -1
- package/dist/{textarea-BaTTXEtZ.cjs → textarea-DtP4CN8S.cjs} +2 -2
- package/dist/{textarea-BaTTXEtZ.cjs.map → textarea-DtP4CN8S.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-C2oB9OCM.js → theme-button-B7v53G35.js} +2 -2
- package/dist/{theme-button-C2oB9OCM.js.map → theme-button-B7v53G35.js.map} +1 -1
- package/dist/{theme-button-qFLBZi0_.cjs → theme-button-XUBpRyVd.cjs} +2 -2
- package/dist/{theme-button-qFLBZi0_.cjs.map → theme-button-XUBpRyVd.cjs.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.component-UVrnuMPb.js → theme.component-4tKB3U5D.js} +2 -2
- package/dist/{theme.component-UVrnuMPb.js.map → theme.component-4tKB3U5D.js.map} +1 -1
- package/dist/{theme.component-C-055F7V.cjs → theme.component-Df85q2pE.cjs} +2 -2
- package/dist/{theme.component-C-055F7V.cjs.map → theme.component-Df85q2pE.cjs.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-DUYp8qD3.js → timezone-C9zQrHBV.js} +3 -3
- package/dist/{timezone-DUYp8qD3.js.map → timezone-C9zQrHBV.js.map} +1 -1
- package/dist/{timezone-CvS7opKc.cjs → timezone-FYjFkh4S.cjs} +2 -2
- package/dist/{timezone-CvS7opKc.cjs.map → timezone-FYjFkh4S.cjs.map} +1 -1
- package/dist/{tree-Cxgw_mi9.js → tree-BEsQyzsP.js} +2 -2
- package/dist/{tree-Cxgw_mi9.js.map → tree-BEsQyzsP.js.map} +1 -1
- package/dist/{tree-DYLlgF1F.cjs → tree-k_BipeY0.cjs} +2 -2
- package/dist/{tree-DYLlgF1F.cjs.map → tree-k_BipeY0.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-DoGLma1z.cjs → typewriter-B3B8JBRl.cjs} +2 -2
- package/dist/{typewriter-DoGLma1z.cjs.map → typewriter-B3B8JBRl.cjs.map} +1 -1
- package/dist/{typewriter-DUdvh6VO.js → typewriter-CjgsbmTc.js} +4 -4
- package/dist/{typewriter-DUdvh6VO.js.map → typewriter-CjgsbmTc.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-BnQJ5TWy.js → typography-BzTRpIGt.js} +2 -2
- package/dist/{typography-BnQJ5TWy.js.map → typography-BzTRpIGt.js.map} +1 -1
- package/dist/{typography-DFREXmBg.cjs → typography-Cs7PQACq.cjs} +2 -2
- package/dist/{typography-DFREXmBg.cjs.map → typography-Cs7PQACq.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/v2.cjs +1 -1
- package/dist/v2.js +1 -1
- package/package.json +1 -1
- package/types/src/sheet/sheet.d.ts +3 -121
- package/types/src/sheet/sheet.service.d.ts +30 -1
- package/dist/flex-DFHDHleC.cjs.map +0 -1
- package/dist/flex-t4F0-R-c.js.map +0 -1
- package/dist/sheet-CwzonocJ.cjs +0 -62
- package/dist/sheet-CwzonocJ.cjs.map +0 -1
- package/dist/sheet-DHyy-OIH.js +0 -244
- package/dist/sheet-DHyy-OIH.js.map +0 -1
- package/dist/tailwind.mixin-BvhzMkqK.js +0 -43
- package/dist/tailwind.mixin-csgxM8P_.cjs +0 -2
|
@@ -1,149 +1,31 @@
|
|
|
1
1
|
import { SchmancySheetPosition } from './sheet.service';
|
|
2
2
|
declare const SchmancySheet_base: CustomElementConstructor & import("@mixins/index").Constructor<import("lit").LitElement> & import("@mixins/index").Constructor<import("@mixins/index").IBaseMixin>;
|
|
3
|
-
/**
|
|
4
|
-
* `<schmancy-sheet>` component
|
|
5
|
-
*
|
|
6
|
-
* A modal sheet component that can be positioned at the bottom or side of the viewport.
|
|
7
|
-
* Supports customizable animations, focus management, and accessibility features.
|
|
8
|
-
*
|
|
9
|
-
* @element schmancy-sheet
|
|
10
|
-
* @fires before-close - Fired before the sheet begins closing (cancelable)
|
|
11
|
-
* @fires close - Fired when the sheet has closed
|
|
12
|
-
* @fires open - Fired when the sheet has opened
|
|
13
|
-
*/
|
|
14
3
|
export default class SchmancySheet extends SchmancySheet_base {
|
|
15
|
-
/** Unique identifier for the sheet */
|
|
16
4
|
uid: string;
|
|
17
|
-
/** Controls whether the sheet is open or closed */
|
|
18
5
|
open: boolean;
|
|
19
|
-
/** Controls visibility of the header section */
|
|
20
6
|
header: 'hidden' | 'visible';
|
|
21
|
-
/** Position of the sheet */
|
|
22
7
|
position: SchmancySheetPosition;
|
|
23
|
-
/** Whether the sheet persists after closing */
|
|
24
8
|
persist: boolean;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/** Prevents closing by backdrop click, even if allowOverlayDismiss is true */
|
|
28
|
-
preventBackdropClick: boolean;
|
|
29
|
-
/** Title displayed in the header */
|
|
9
|
+
lock: boolean;
|
|
10
|
+
handleHistory: boolean;
|
|
30
11
|
title: string;
|
|
31
|
-
/** Accessible label for the sheet (for screen readers) */
|
|
32
|
-
ariaLabel: string;
|
|
33
|
-
/** ARIA describedby attribute value */
|
|
34
|
-
ariaDescribedBy?: string;
|
|
35
|
-
/** Custom selector to specify which element receives focus when opened */
|
|
36
|
-
initialFocusSelector?: string;
|
|
37
|
-
/** Animation duration in milliseconds */
|
|
38
|
-
animationDuration: number;
|
|
39
|
-
/** Animation easing function */
|
|
40
|
-
animationEasing: string;
|
|
41
|
-
/** Attribute to specify which element should receive focus when the sheet opens */
|
|
42
|
-
focusAttribute: string;
|
|
43
|
-
/** Ref to the sheet container */
|
|
44
12
|
private sheet;
|
|
45
|
-
/** Ref to the sheet body */
|
|
46
|
-
bodyElement: HTMLElement;
|
|
47
|
-
/** Collection of assigned elements */
|
|
48
13
|
private assignedElements;
|
|
49
|
-
|
|
14
|
+
focusAttribute: string;
|
|
50
15
|
private lastFocusedElement;
|
|
51
|
-
/** For touch interactions */
|
|
52
|
-
private startY;
|
|
53
|
-
private currentY;
|
|
54
|
-
/** ResizeObserver instance */
|
|
55
|
-
private resizeObserver;
|
|
56
|
-
/**
|
|
57
|
-
* Lifecycle callback for when the 'open' property changes
|
|
58
|
-
*/
|
|
59
16
|
onOpenChange(_oldValue: boolean, newValue: boolean): void;
|
|
60
|
-
/**
|
|
61
|
-
* Component connected to DOM
|
|
62
|
-
*/
|
|
63
17
|
connectedCallback(): void;
|
|
64
|
-
/**
|
|
65
|
-
* First update lifecycle callback
|
|
66
|
-
*/
|
|
67
|
-
firstUpdated(): void;
|
|
68
|
-
/**
|
|
69
|
-
* Component updated lifecycle callback
|
|
70
|
-
*/
|
|
71
|
-
updated(changedProps: Map<string, unknown>): void;
|
|
72
|
-
/**
|
|
73
|
-
* Component disconnected from DOM
|
|
74
|
-
*/
|
|
75
18
|
disconnectedCallback(): void;
|
|
76
|
-
/**
|
|
77
|
-
* Updates CSS custom properties
|
|
78
|
-
*/
|
|
79
|
-
private updateCssVariables;
|
|
80
|
-
/**
|
|
81
|
-
* Sets up event listeners
|
|
82
|
-
*/
|
|
83
19
|
private setupEventListeners;
|
|
84
|
-
/**
|
|
85
|
-
* Check if focus is within the sheet
|
|
86
|
-
*/
|
|
87
20
|
private sheetContainsFocus;
|
|
88
|
-
/**
|
|
89
|
-
* Announce presence to the sheet service
|
|
90
|
-
*/
|
|
91
21
|
private announcePresence;
|
|
92
|
-
/**
|
|
93
|
-
* Add focus trap to keep focus within sheet when open
|
|
94
|
-
*/
|
|
95
22
|
private addFocusTrap;
|
|
96
|
-
/**
|
|
97
|
-
* Remove focus trap
|
|
98
|
-
*/
|
|
99
23
|
private removeFocusTrap;
|
|
100
|
-
/**
|
|
101
|
-
* Handle focus events to trap focus
|
|
102
|
-
*/
|
|
103
24
|
private handleFocusIn;
|
|
104
|
-
/**
|
|
105
|
-
* Handle scroll events
|
|
106
|
-
*/
|
|
107
|
-
private handleScroll;
|
|
108
|
-
/**
|
|
109
|
-
* Updates the aria-hidden and aria-modal attributes
|
|
110
|
-
*/
|
|
111
25
|
setIsSheetShown(isShown: boolean): void;
|
|
112
|
-
/**
|
|
113
|
-
* Closes the sheet
|
|
114
|
-
*/
|
|
115
26
|
closeSheet(): void;
|
|
116
|
-
/**
|
|
117
|
-
* Update dimensions based on viewport
|
|
118
|
-
*/
|
|
119
|
-
private updateSheetDimensions;
|
|
120
|
-
/**
|
|
121
|
-
* Find the element that should receive focus
|
|
122
|
-
*/
|
|
123
27
|
private getFocusElement;
|
|
124
|
-
/**
|
|
125
|
-
* Set focus within the sheet
|
|
126
|
-
*/
|
|
127
28
|
focus(): void;
|
|
128
|
-
/**
|
|
129
|
-
* Fire events with consistent format
|
|
130
|
-
*/
|
|
131
|
-
private fireEvent;
|
|
132
|
-
/**
|
|
133
|
-
* Handle touch start for swipe gesture
|
|
134
|
-
*/
|
|
135
|
-
private handleTouchStart;
|
|
136
|
-
/**
|
|
137
|
-
* Handle touch move for swipe gesture
|
|
138
|
-
*/
|
|
139
|
-
private handleTouchMove;
|
|
140
|
-
/**
|
|
141
|
-
* Handle touch end for swipe gesture
|
|
142
|
-
*/
|
|
143
|
-
private handleTouchEnd;
|
|
144
|
-
/**
|
|
145
|
-
* Render the component
|
|
146
|
-
*/
|
|
147
29
|
render(): import("lit-html").TemplateResult<1>;
|
|
148
30
|
}
|
|
149
31
|
declare global {
|
|
@@ -22,7 +22,8 @@ type BottomSheeetTarget = {
|
|
|
22
22
|
position?: SchmancySheetPosition;
|
|
23
23
|
persist?: boolean;
|
|
24
24
|
close?: () => void;
|
|
25
|
-
|
|
25
|
+
lock?: boolean;
|
|
26
|
+
handleHistory?: boolean;
|
|
26
27
|
title?: string;
|
|
27
28
|
header?: 'hidden' | 'visible';
|
|
28
29
|
};
|
|
@@ -37,9 +38,37 @@ export declare const SheetHereMorty = "yes-here";
|
|
|
37
38
|
declare class BottomSheetService {
|
|
38
39
|
bottomSheet: Subject<BottomSheeetTarget>;
|
|
39
40
|
$dismiss: Subject<string>;
|
|
41
|
+
private activeSheets;
|
|
42
|
+
private popStateListenerActive;
|
|
40
43
|
constructor();
|
|
44
|
+
/**
|
|
45
|
+
* Sets up the main sheet opening logic
|
|
46
|
+
*/
|
|
47
|
+
private setupSheetOpeningLogic;
|
|
48
|
+
/**
|
|
49
|
+
* Sets up the sheet closing/dismissal logic
|
|
50
|
+
*/
|
|
51
|
+
private setupSheetDismissLogic;
|
|
52
|
+
/**
|
|
53
|
+
* Sets up the popstate listener to handle browser back button
|
|
54
|
+
*/
|
|
55
|
+
private setupPopStateListener;
|
|
56
|
+
/**
|
|
57
|
+
* Dismiss a sheet by uid
|
|
58
|
+
*/
|
|
41
59
|
dismiss(uid: string): void;
|
|
60
|
+
/**
|
|
61
|
+
* Open a sheet with the given target configuration
|
|
62
|
+
*/
|
|
42
63
|
open(target: BottomSheeetTarget): void;
|
|
64
|
+
/**
|
|
65
|
+
* Check if a sheet is currently open by uid
|
|
66
|
+
*/
|
|
67
|
+
isOpen(uid: string): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Close all open sheets
|
|
70
|
+
*/
|
|
71
|
+
closeAll(): void;
|
|
43
72
|
}
|
|
44
73
|
export declare const sheet: BottomSheetService;
|
|
45
74
|
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flex-DFHDHleC.cjs","sources":["../src/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts","../src/layout/v2/flex.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\nexport default class Layout extends TailwindElement() {\n\tstatic styles = [this.styles]\n\tlayout = true\n\t@property({ type: Boolean }) center: boolean | undefined = undefined\n\t@property({ type: String }) padding: string | undefined\n\t@property({ type: String }) margin: string | undefined\n\t@property({ type: String }) width: string | undefined\n\t@property({ type: String }) height: string | undefined\n\t@property({ type: String }) minWidth: string | undefined\n\t@property({ type: String }) minHeight: string | undefined\n\t@property({ type: String }) maxWidth: string | undefined\n\t@property({ type: String }) maxHeight: string | undefined\n\t@property({ type: String }) display:\n\t\t| 'block'\n\t\t| 'inline-block'\n\t\t| 'inline'\n\t\t| 'flex'\n\t\t| 'inline-flex'\n\t\t| 'grid'\n\t\t| 'inline-grid'\n\t\t| 'table'\n\t\t| 'inline-table'\n\t\t| 'flow-root'\n\t\t| 'none'\n\t\t| undefined = undefined\n\t@property({ type: String }) overflow: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowX: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowY: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) position: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky' | undefined = undefined\n\t@property({ type: String }) top: string | undefined\n\t@property({ type: String }) right: string | undefined\n\t@property({ type: String }) bottom: string | undefined\n\t@property({ type: String }) left: string | undefined\n\t@property({ type: String }) inset: string | undefined\n\t@property({ type: String }) zIndex: string | undefined\n\n\t@property({ type: String }) border: string | undefined\n\t@property({ type: String }) borderTop: string | undefined\n\t@property({ type: String }) borderRight: string | undefined\n\t@property({ type: String }) borderBottom: string | undefined\n\t@property({ type: String }) borderLeft: string | undefined\n\t@property({ type: String }) borderColor: string | undefined\n\t@property({ type: String }) borderRadius: string | undefined\n\t@property({ type: String }) borderWidth: string | undefined\n\n\t@property({ type: String }) boxShadow: string | undefined\n\t@property({ type: String }) opacity: string | undefined\n\t@property({ type: String }) background: string | undefined\n\t@property({ type: String }) backgroundImage: string | undefined\n\t@property({ type: String }) backgroundPosition: string | undefined\n\t@property({ type: String }) backgroundSize: string | undefined\n\t@property({ type: String }) backgroundRepeat: string | undefined\n\t@property({ type: String }) backgroundAttachment: string | undefined\n\t@property({ type: String }) backgroundColor: string | undefined\n\t@property({ type: String }) backgroundClip: string | undefined\n\t@property({ type: String }) backgroundOrigin: string | undefined\n\t@property({ type: String }) backgroundBlendMode: string | undefined\n\t@property({ type: String }) filter: string | undefined\n\t@property({ type: String }) backdropFilter: string | undefined\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.style.setProperty('padding', this.padding ?? '')\n\t\tthis.style.setProperty('margin', this.margin ?? '')\n\t\tthis.style.setProperty('width', this.width ?? '')\n\t\tthis.style.setProperty('height', this.height ?? '')\n\t\tthis.style.setProperty('min-width', this.minWidth ?? '')\n\t\tthis.style.setProperty('min-height', this.minHeight ?? '')\n\t\tthis.style.setProperty('max-width', this.maxWidth ?? '')\n\t\tthis.style.setProperty('max-height', this.maxHeight ?? '')\n\t\tthis.style.setProperty('display', this.display ?? '')\n\t\tthis.style.setProperty('overflow', this.overflow ?? '')\n\t\tthis.style.setProperty('overflow-x', this.overflowX ?? '')\n\t\tthis.style.setProperty('overflow-y', this.overflowY ?? '')\n\t\tthis.style.setProperty('position', this.position ?? '')\n\t\tthis.style.setProperty('top', this.top ?? '')\n\t\tthis.style.setProperty('right', this.right ?? '')\n\t\tthis.style.setProperty('bottom', this.bottom ?? '')\n\t\tthis.style.setProperty('left', this.left ?? '')\n\t\tthis.style.setProperty('inset', this.inset ?? '')\n\t\tthis.style.setProperty('z-index', this.zIndex ?? '')\n\t\tthis.style.setProperty('border', this.border ?? '')\n\t\tthis.style.setProperty('border-top', this.borderTop ?? '')\n\t\tthis.style.setProperty('border-right', this.borderRight ?? '')\n\t\tthis.style.setProperty('border-bottom', this.borderBottom ?? '')\n\t\tthis.style.setProperty('border-left', this.borderLeft ?? '')\n\t\tthis.style.setProperty('border-color', this.borderColor ?? '')\n\t\tthis.style.setProperty('border-radius', this.borderRadius ?? '')\n\t\tthis.style.setProperty('border-width', this.borderWidth ?? '')\n\t\tthis.style.setProperty('box-shadow', this.boxShadow ?? '')\n\t\tthis.style.setProperty('opacity', this.opacity ?? '')\n\t\tthis.style.setProperty('background', this.background ?? '')\n\t\tthis.style.setProperty('background-image', this.backgroundImage ?? '')\n\t\tthis.style.setProperty('background-position', this.backgroundPosition ?? '')\n\t\tthis.style.setProperty('background-size', this.backgroundSize ?? '')\n\t\tthis.style.setProperty('background-repeat', this.backgroundRepeat ?? '')\n\t\tthis.style.setProperty('background-attachment', this.backgroundAttachment ?? '')\n\t\tthis.style.setProperty('background-color', this.backgroundColor ?? '')\n\t\tthis.style.setProperty('background-clip', this.backgroundClip ?? '')\n\t\tthis.style.setProperty('background-origin', this.backgroundOrigin ?? '')\n\t\tthis.style.setProperty('background-blend-mode', this.backgroundBlendMode ?? '')\n\t\tthis.style.setProperty('filter', this.filter ?? '')\n\t\tthis.style.setProperty('backdrop-filter', this.backdropFilter ?? '')\n\t\tif (this.center) {\n\t\t\tthis.style.setProperty('margin-left', 'auto')\n\t\t\tthis.style.setProperty('margin-right', 'auto')\n\t\t}\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport Layout from '../layout'\nimport style from './flex.scss?inline'\n@customElement('schmancy-flex')\nexport class SchmancyFlex extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String, reflect: true }) flow: 'row' | 'row-reverse' | 'col' | 'col-reverse' = 'col'\n\t@property({ type: String, reflect: true }) wrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\t@property({ type: String, reflect: true }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'start'\n\t@property({ type: String, reflect: true }) justify: 'start' | 'center' | 'end' | 'stretch' | 'between' = 'start'\n\t@property({ type: String, reflect: true }) gap: 'none' | 'sm' | 'md' | 'lg' = 'none'\n\n\trender() {\n\t\tconst classes = {\n\t\t\tflex: true,\n\t\t\t// Direction\n\t\t\t'flex-col': this.flow === 'row',\n\t\t\t'flex-col-reverse': this.flow === 'row-reverse',\n\t\t\t'flex-row': this.flow === 'col',\n\t\t\t'flex-row-reverse': this.flow === 'col-reverse',\n\t\t\t// Wrap\n\t\t\t'flex-wrap': this.wrap === 'wrap',\n\t\t\t'flex-wrap-reverse': this.wrap === 'wrap-reverse',\n\t\t\t'flex-nowrap': this.wrap === 'nowrap',\n\t\t\t// Align\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'justify-baseline': this.align === 'baseline',\n\n\t\t\t// Justify\n\t\t\t'justify-center': this.justify === 'center',\n\t\t\t'justify-end': this.justify === 'end',\n\t\t\t'justify-start': this.justify === 'start',\n\t\t\t'justify-stretch': this.justify === 'stretch',\n\t\t\t'justify-between': this.justify === 'between',\n\n\t\t\t// Gap\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t}\n\n\t\tconst styles = {}\n\t\treturn html`\n\t\t\t<section class=${classMap(classes)} style=${styleMap(styles)}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-flex': SchmancyFlex\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil } from 'rxjs'\nimport Layout from '../layout'\nimport style from './grid.scss?inline'\n\n@customElement('schmancy-grid')\nexport class SchmancyGrid extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String }) flow: 'row' | 'col' | 'dense' | 'row-dense' | 'col-dense' = 'row'\n\t@property({ type: String }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\t@property({ type: String }) justify: 'start' | 'center' | 'end' | 'stretch' = 'stretch'\n\t@property({ type: String }) content: 'start' | 'center' | 'end' | 'stretch' | 'around' | 'evenly' | 'between' =\n\t\t'stretch'\n\t@property({ type: String }) gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' = 'none'\n\n\t@property({ type: String }) cols?: string\n\t@property({ type: String }) rows?: string\n\t@property({ type: Object }) rcols?: {\n\t\txs?: string | number\n\t\tsm?: string | number\n\t\tmd?: string | number\n\t\tlg?: string | number\n\t\txl?: string | number\n\t\t'2xl'?: string | number\n\t}\n\n\t@property({ type: Boolean }) wrap = false\n\n\t@queryAssignedElements() assignedElements!: HTMLElement[]\n\n\tfirstUpdated() {\n\t\tif (this.rcols)\n\t\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t\t.pipe(\n\t\t\t\t\tmap(event => event.target as Window),\n\t\t\t\t\tstartWith(1),\n\t\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\tdebounceTime(10),\n\t\t\t\t\tmap(w => {\n\t\t\t\t\t\tlet cols\n\t\t\t\t\t\tif (this.rcols?.['2xl'] && w >= 1536) cols = this.rcols?.['2xl']\n\t\t\t\t\t\telse if (this.rcols?.xl && w >= 1280) cols = this.rcols?.xl\n\t\t\t\t\t\telse if (this.rcols?.lg && w >= 1024) cols = this.rcols?.lg\n\t\t\t\t\t\telse if (this.rcols?.md && w >= 768) cols = this.rcols?.md\n\t\t\t\t\t\telse if (this.rcols?.sm && w >= 640) cols = this.rcols?.sm\n\t\t\t\t\t\telse if (this.rcols?.xs && w < 640) cols = this.rcols?.xs\n\t\t\t\t\t\treturn cols\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.subscribe(cols => {\n\t\t\t\t\tthis.cols = cols\n\t\t\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full': true,\n\t\t\t'grid flex-1': true,\n\t\t\t// flow classes: https://tailwindcss.com/docs/grid-auto-flow\n\t\t\t'grid-flow-row auto-rows-max': this.flow === 'row',\n\t\t\t'grid-flow-col auto-cols-max': this.flow === 'col',\n\t\t\t'grid-flow-row-dense': this.flow === 'row-dense',\n\t\t\t'grid-flow-col-dense': this.flow === 'col-dense',\n\t\t\t'grid-flow-dense': this.flow === 'dense',\n\n\t\t\t'justify-center': this.content === 'center',\n\t\t\t'justify-end': this.content === 'end',\n\t\t\t'justify-start': this.content === 'start',\n\t\t\t'justify-stretch': this.content === 'stretch',\n\t\t\t'justify-between': this.content === 'between',\n\t\t\t'justify-around': this.content === 'around',\n\t\t\t'justify-evenly': this.content === 'evenly',\n\n\t\t\t'justify-items-center': this.justify === 'center',\n\t\t\t'justify-items-end': this.justify === 'end',\n\t\t\t'justify-items-start': this.justify === 'start',\n\t\t\t'justify-items-stretch': this.justify === 'stretch',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-1': this.gap === 'xs',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t\t'flex-nowrap': this.wrap,\n\t\t\t'flex-wrap': !this.wrap,\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateRows: this.rows ? this.rows : undefined,\n\t\t\tgridTemplateColumns: this.cols ? this.cols : undefined,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"${this.classMap(classes)}\" style=${this.styleMap(style)}>\n\t\t\t\t<slot> </slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-grid': SchmancyGrid\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-scroll')\nexport class SchmancyScroll extends TailwindElement(css`\n\t:host {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\tbox-sizing: border-box; /* Ensures proper sizing */\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0px;\n\t}\n\t.scrollbar-hide {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.scrollbar-hide::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, and Opera */\n\t}\n`) {\n\t/**\n\t * Determines whether the scrollbar is hidden.\n\t *\n\t * When `hide` is true, the inner scrollable div receives the `scrollbar-hide` class,\n\t * which hides scrollbars in supported browsers.\n\t *\n\t * @attr hide\n\t * @example <schmancy-scroll hide></schmancy-scroll>\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic hide = false\n\n\trender() {\n\t\t// The classes are dynamically assigned based on the `hide` property.\n\t\tconst classes = {\n\t\t\t'h-full w-full inset-0 overflow-x-scroll overflow-y-scroll scroll-smooth overscroll-contain': true,\n\t\t\t'scrollbar-hide': this.hide,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0 h-full w-full overscroll-none\">\n\t\t\t\t<div class=${this.classMap(classes)}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport Layout from '../layout'\n\n/**\n * SchmancyFlex exposes a flex container with all the Tailwind CSS 4 options:\n *\n * - **Display**: By default uses `flex` but can be set to inline using the `inline` property.\n * - **Flow**: Accepts 'row', 'row-reverse', 'col', 'col-reverse' as well as grid‐like dense variants:\n * - Dense variants (`row-dense`, `col-dense`) force wrapping.\n * - **Wrap**: 'wrap', 'nowrap', or 'wrap-reverse'\n * - **Align Items**: 'start', 'center', 'end', 'stretch', or 'baseline'\n * - **Justify Content**: 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Align Content** (for multi-line flex containers): 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Gap**: Supports Tailwind’s spacing scale (e.g. 'none', '0', '1', '2', …, '64')\n */\n@customElement('sch-flex')\nexport class SchmancyFlexV2 extends Layout {\n\tstatic styles = [\n\t\tLayout.styles,\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t`,\n\t]\n\t// If true, the container will use inline-flex instead of flex.\n\t@property({ type: Boolean, reflect: true })\n\tinline = false\n\n\t/**\n\t * Flow property that determines the flex direction.\n\t * Allowed values:\n\t * - Standard: 'row', 'row-reverse', 'col', 'col-reverse'\n\t * - Dense variants: 'row-dense', 'col-dense' (dense implies wrapping)\n\t */\n\t@property({ type: String, reflect: true })\n\tflow: 'row' | 'row-reverse' | 'col' | 'col-reverse' | 'row-dense' | 'col-dense' = 'row'\n\n\t/**\n\t * Flex-wrap options:\n\t * - 'wrap', 'nowrap', or 'wrap-reverse'\n\t */\n\t@property({ type: String, reflect: true })\n\twrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\n\t/**\n\t * Align-items (vertical alignment of flex items):\n\t * - 'start', 'center', 'end', 'stretch', or 'baseline'\n\t */\n\t@property({ type: String, reflect: true })\n\talign: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\n\t/**\n\t * Justify-content (horizontal distribution):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tjustify: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly' = 'start'\n\n\t/**\n\t * Align-content (spacing between rows when wrapping):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tcontent?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'\n\n\t/**\n\t * Gap between flex items.\n\t * Options (based on Tailwind CSS 4 spacing scale):\n\t * - 'none', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '12', '16', '20', '24', '32', '40', '48', '56', or '64'\n\t */\n\t@property({ type: String, reflect: true })\n\tgap:\n\t\t| 'none'\n\t\t| '0'\n\t\t| '1'\n\t\t| '2'\n\t\t| '3'\n\t\t| '4'\n\t\t| '5'\n\t\t| '6'\n\t\t| '7'\n\t\t| '8'\n\t\t| '9'\n\t\t| '10'\n\t\t| '12'\n\t\t| '16'\n\t\t| '20'\n\t\t| '24'\n\t\t| '32'\n\t\t| '40'\n\t\t| '48'\n\t\t| '56'\n\t\t| '64' = 'none'\n\n\trender() {\n\t\t// Determine whether to use inline-flex or flex.\n\t\tconst baseDisplay = this.inline ? 'inline-flex' : 'flex'\n\n\t\t// Map the flow property to a flex-direction class.\n\t\t// (Dense variants use the same class as their standard counterparts.)\n\t\tlet directionClass = ''\n\t\tswitch (this.flow) {\n\t\t\tcase 'row':\n\t\t\tcase 'row-dense':\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t\t\tbreak\n\t\t\tcase 'row-reverse':\n\t\t\t\tdirectionClass = 'flex-row-reverse'\n\t\t\t\tbreak\n\t\t\tcase 'col':\n\t\t\tcase 'col-dense':\n\t\t\t\tdirectionClass = 'flex-col'\n\t\t\t\tbreak\n\t\t\tcase 'col-reverse':\n\t\t\t\tdirectionClass = 'flex-col-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t}\n\n\t\t// Dense variants force wrapping regardless of the wrap property.\n\t\tconst isDense = this.flow === 'row-dense' || this.flow === 'col-dense'\n\t\tconst effectiveWrap = isDense ? 'wrap' : this.wrap\n\n\t\tlet wrapClass = ''\n\t\tswitch (effectiveWrap) {\n\t\t\tcase 'wrap':\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t\t\tbreak\n\t\t\tcase 'nowrap':\n\t\t\t\twrapClass = 'flex-nowrap'\n\t\t\t\tbreak\n\t\t\tcase 'wrap-reverse':\n\t\t\t\twrapClass = 'flex-wrap-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t}\n\n\t\t// Map align-items.\n\t\tlet alignClass = ''\n\t\tswitch (this.align) {\n\t\t\tcase 'start':\n\t\t\t\talignClass = 'items-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\talignClass = 'items-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\talignClass = 'items-end'\n\t\t\t\tbreak\n\t\t\tcase 'stretch':\n\t\t\t\talignClass = 'items-stretch'\n\t\t\t\tbreak\n\t\t\tcase 'baseline':\n\t\t\t\talignClass = 'items-baseline'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\talignClass = 'items-stretch'\n\t\t}\n\n\t\t// Map justify-content.\n\t\tlet justifyClass = ''\n\t\tswitch (this.justify) {\n\t\t\tcase 'start':\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\tjustifyClass = 'justify-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\tjustifyClass = 'justify-end'\n\t\t\t\tbreak\n\t\t\tcase 'between':\n\t\t\t\tjustifyClass = 'justify-between'\n\t\t\t\tbreak\n\t\t\tcase 'around':\n\t\t\t\tjustifyClass = 'justify-around'\n\t\t\t\tbreak\n\t\t\tcase 'evenly':\n\t\t\t\tjustifyClass = 'justify-evenly'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t}\n\n\t\t// Map align-content (if provided).\n\t\tlet contentClass = ''\n\t\tif (this.content) {\n\t\t\tswitch (this.content) {\n\t\t\t\tcase 'start':\n\t\t\t\t\tcontentClass = 'content-start'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'center':\n\t\t\t\t\tcontentClass = 'content-center'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'end':\n\t\t\t\t\tcontentClass = 'content-end'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'between':\n\t\t\t\t\tcontentClass = 'content-between'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'around':\n\t\t\t\t\tcontentClass = 'content-around'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'evenly':\n\t\t\t\t\tcontentClass = 'content-evenly'\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// Map gap value.\n\t\tconst gapClass = this.gap === 'none' ? 'gap-0' : `gap-${this.gap}`\n\n\t\t// Build the complete list of classes.\n\t\tconst classes = [baseDisplay, directionClass, wrapClass, alignClass, justifyClass, contentClass, gapClass]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')\n\n\t\treturn html`\n\t\t\t<section class=${classes}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'sch-flex': SchmancyFlexV2\n\t}\n}\n"],"names":["Layout","TailwindElement","super","arguments","this","layout","center","display","overflow","overflowX","overflowY","position","connectedCallback","style","setProperty","padding","margin","width","height","minWidth","minHeight","maxWidth","maxHeight","top","right","bottom","left","inset","zIndex","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderRadius","borderWidth","boxShadow","opacity","background","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundColor","backgroundClip","backgroundOrigin","backgroundBlendMode","filter","backdropFilter","__decorateClass","styles","_a","property","type","Boolean","prototype","String","SchmancyFlex","constructor","flow","wrap","align","justify","gap","classes","flex","html","classMap","styleMap","unsafeCSS","reflect","customElement","SchmancyGrid","content","rcols","fromEvent","window","pipe","map","event","target","startWith","clientWidth","innerWidth","distinctUntilChanged","takeUntil","disconnecting","debounceTime","w","cols","xl","lg","md","sm","xs","subscribe","gridTemplateRows","rows","gridTemplateColumns","Object","queryAssignedElements","SchmancyScroll","css","hide","render","SchmancyFlexV2","inline","baseDisplay","directionClass","wrapClass","alignClass","justifyClass","contentClass","join"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flex-t4F0-R-c.js","sources":["../src/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts","../src/layout/v2/flex.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\nexport default class Layout extends TailwindElement() {\n\tstatic styles = [this.styles]\n\tlayout = true\n\t@property({ type: Boolean }) center: boolean | undefined = undefined\n\t@property({ type: String }) padding: string | undefined\n\t@property({ type: String }) margin: string | undefined\n\t@property({ type: String }) width: string | undefined\n\t@property({ type: String }) height: string | undefined\n\t@property({ type: String }) minWidth: string | undefined\n\t@property({ type: String }) minHeight: string | undefined\n\t@property({ type: String }) maxWidth: string | undefined\n\t@property({ type: String }) maxHeight: string | undefined\n\t@property({ type: String }) display:\n\t\t| 'block'\n\t\t| 'inline-block'\n\t\t| 'inline'\n\t\t| 'flex'\n\t\t| 'inline-flex'\n\t\t| 'grid'\n\t\t| 'inline-grid'\n\t\t| 'table'\n\t\t| 'inline-table'\n\t\t| 'flow-root'\n\t\t| 'none'\n\t\t| undefined = undefined\n\t@property({ type: String }) overflow: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowX: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowY: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) position: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky' | undefined = undefined\n\t@property({ type: String }) top: string | undefined\n\t@property({ type: String }) right: string | undefined\n\t@property({ type: String }) bottom: string | undefined\n\t@property({ type: String }) left: string | undefined\n\t@property({ type: String }) inset: string | undefined\n\t@property({ type: String }) zIndex: string | undefined\n\n\t@property({ type: String }) border: string | undefined\n\t@property({ type: String }) borderTop: string | undefined\n\t@property({ type: String }) borderRight: string | undefined\n\t@property({ type: String }) borderBottom: string | undefined\n\t@property({ type: String }) borderLeft: string | undefined\n\t@property({ type: String }) borderColor: string | undefined\n\t@property({ type: String }) borderRadius: string | undefined\n\t@property({ type: String }) borderWidth: string | undefined\n\n\t@property({ type: String }) boxShadow: string | undefined\n\t@property({ type: String }) opacity: string | undefined\n\t@property({ type: String }) background: string | undefined\n\t@property({ type: String }) backgroundImage: string | undefined\n\t@property({ type: String }) backgroundPosition: string | undefined\n\t@property({ type: String }) backgroundSize: string | undefined\n\t@property({ type: String }) backgroundRepeat: string | undefined\n\t@property({ type: String }) backgroundAttachment: string | undefined\n\t@property({ type: String }) backgroundColor: string | undefined\n\t@property({ type: String }) backgroundClip: string | undefined\n\t@property({ type: String }) backgroundOrigin: string | undefined\n\t@property({ type: String }) backgroundBlendMode: string | undefined\n\t@property({ type: String }) filter: string | undefined\n\t@property({ type: String }) backdropFilter: string | undefined\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.style.setProperty('padding', this.padding ?? '')\n\t\tthis.style.setProperty('margin', this.margin ?? '')\n\t\tthis.style.setProperty('width', this.width ?? '')\n\t\tthis.style.setProperty('height', this.height ?? '')\n\t\tthis.style.setProperty('min-width', this.minWidth ?? '')\n\t\tthis.style.setProperty('min-height', this.minHeight ?? '')\n\t\tthis.style.setProperty('max-width', this.maxWidth ?? '')\n\t\tthis.style.setProperty('max-height', this.maxHeight ?? '')\n\t\tthis.style.setProperty('display', this.display ?? '')\n\t\tthis.style.setProperty('overflow', this.overflow ?? '')\n\t\tthis.style.setProperty('overflow-x', this.overflowX ?? '')\n\t\tthis.style.setProperty('overflow-y', this.overflowY ?? '')\n\t\tthis.style.setProperty('position', this.position ?? '')\n\t\tthis.style.setProperty('top', this.top ?? '')\n\t\tthis.style.setProperty('right', this.right ?? '')\n\t\tthis.style.setProperty('bottom', this.bottom ?? '')\n\t\tthis.style.setProperty('left', this.left ?? '')\n\t\tthis.style.setProperty('inset', this.inset ?? '')\n\t\tthis.style.setProperty('z-index', this.zIndex ?? '')\n\t\tthis.style.setProperty('border', this.border ?? '')\n\t\tthis.style.setProperty('border-top', this.borderTop ?? '')\n\t\tthis.style.setProperty('border-right', this.borderRight ?? '')\n\t\tthis.style.setProperty('border-bottom', this.borderBottom ?? '')\n\t\tthis.style.setProperty('border-left', this.borderLeft ?? '')\n\t\tthis.style.setProperty('border-color', this.borderColor ?? '')\n\t\tthis.style.setProperty('border-radius', this.borderRadius ?? '')\n\t\tthis.style.setProperty('border-width', this.borderWidth ?? '')\n\t\tthis.style.setProperty('box-shadow', this.boxShadow ?? '')\n\t\tthis.style.setProperty('opacity', this.opacity ?? '')\n\t\tthis.style.setProperty('background', this.background ?? '')\n\t\tthis.style.setProperty('background-image', this.backgroundImage ?? '')\n\t\tthis.style.setProperty('background-position', this.backgroundPosition ?? '')\n\t\tthis.style.setProperty('background-size', this.backgroundSize ?? '')\n\t\tthis.style.setProperty('background-repeat', this.backgroundRepeat ?? '')\n\t\tthis.style.setProperty('background-attachment', this.backgroundAttachment ?? '')\n\t\tthis.style.setProperty('background-color', this.backgroundColor ?? '')\n\t\tthis.style.setProperty('background-clip', this.backgroundClip ?? '')\n\t\tthis.style.setProperty('background-origin', this.backgroundOrigin ?? '')\n\t\tthis.style.setProperty('background-blend-mode', this.backgroundBlendMode ?? '')\n\t\tthis.style.setProperty('filter', this.filter ?? '')\n\t\tthis.style.setProperty('backdrop-filter', this.backdropFilter ?? '')\n\t\tif (this.center) {\n\t\t\tthis.style.setProperty('margin-left', 'auto')\n\t\t\tthis.style.setProperty('margin-right', 'auto')\n\t\t}\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport Layout from '../layout'\nimport style from './flex.scss?inline'\n@customElement('schmancy-flex')\nexport class SchmancyFlex extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String, reflect: true }) flow: 'row' | 'row-reverse' | 'col' | 'col-reverse' = 'col'\n\t@property({ type: String, reflect: true }) wrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\t@property({ type: String, reflect: true }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'start'\n\t@property({ type: String, reflect: true }) justify: 'start' | 'center' | 'end' | 'stretch' | 'between' = 'start'\n\t@property({ type: String, reflect: true }) gap: 'none' | 'sm' | 'md' | 'lg' = 'none'\n\n\trender() {\n\t\tconst classes = {\n\t\t\tflex: true,\n\t\t\t// Direction\n\t\t\t'flex-col': this.flow === 'row',\n\t\t\t'flex-col-reverse': this.flow === 'row-reverse',\n\t\t\t'flex-row': this.flow === 'col',\n\t\t\t'flex-row-reverse': this.flow === 'col-reverse',\n\t\t\t// Wrap\n\t\t\t'flex-wrap': this.wrap === 'wrap',\n\t\t\t'flex-wrap-reverse': this.wrap === 'wrap-reverse',\n\t\t\t'flex-nowrap': this.wrap === 'nowrap',\n\t\t\t// Align\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'justify-baseline': this.align === 'baseline',\n\n\t\t\t// Justify\n\t\t\t'justify-center': this.justify === 'center',\n\t\t\t'justify-end': this.justify === 'end',\n\t\t\t'justify-start': this.justify === 'start',\n\t\t\t'justify-stretch': this.justify === 'stretch',\n\t\t\t'justify-between': this.justify === 'between',\n\n\t\t\t// Gap\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t}\n\n\t\tconst styles = {}\n\t\treturn html`\n\t\t\t<section class=${classMap(classes)} style=${styleMap(styles)}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-flex': SchmancyFlex\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil } from 'rxjs'\nimport Layout from '../layout'\nimport style from './grid.scss?inline'\n\n@customElement('schmancy-grid')\nexport class SchmancyGrid extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String }) flow: 'row' | 'col' | 'dense' | 'row-dense' | 'col-dense' = 'row'\n\t@property({ type: String }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\t@property({ type: String }) justify: 'start' | 'center' | 'end' | 'stretch' = 'stretch'\n\t@property({ type: String }) content: 'start' | 'center' | 'end' | 'stretch' | 'around' | 'evenly' | 'between' =\n\t\t'stretch'\n\t@property({ type: String }) gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' = 'none'\n\n\t@property({ type: String }) cols?: string\n\t@property({ type: String }) rows?: string\n\t@property({ type: Object }) rcols?: {\n\t\txs?: string | number\n\t\tsm?: string | number\n\t\tmd?: string | number\n\t\tlg?: string | number\n\t\txl?: string | number\n\t\t'2xl'?: string | number\n\t}\n\n\t@property({ type: Boolean }) wrap = false\n\n\t@queryAssignedElements() assignedElements!: HTMLElement[]\n\n\tfirstUpdated() {\n\t\tif (this.rcols)\n\t\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t\t.pipe(\n\t\t\t\t\tmap(event => event.target as Window),\n\t\t\t\t\tstartWith(1),\n\t\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\tdebounceTime(10),\n\t\t\t\t\tmap(w => {\n\t\t\t\t\t\tlet cols\n\t\t\t\t\t\tif (this.rcols?.['2xl'] && w >= 1536) cols = this.rcols?.['2xl']\n\t\t\t\t\t\telse if (this.rcols?.xl && w >= 1280) cols = this.rcols?.xl\n\t\t\t\t\t\telse if (this.rcols?.lg && w >= 1024) cols = this.rcols?.lg\n\t\t\t\t\t\telse if (this.rcols?.md && w >= 768) cols = this.rcols?.md\n\t\t\t\t\t\telse if (this.rcols?.sm && w >= 640) cols = this.rcols?.sm\n\t\t\t\t\t\telse if (this.rcols?.xs && w < 640) cols = this.rcols?.xs\n\t\t\t\t\t\treturn cols\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.subscribe(cols => {\n\t\t\t\t\tthis.cols = cols\n\t\t\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full': true,\n\t\t\t'grid flex-1': true,\n\t\t\t// flow classes: https://tailwindcss.com/docs/grid-auto-flow\n\t\t\t'grid-flow-row auto-rows-max': this.flow === 'row',\n\t\t\t'grid-flow-col auto-cols-max': this.flow === 'col',\n\t\t\t'grid-flow-row-dense': this.flow === 'row-dense',\n\t\t\t'grid-flow-col-dense': this.flow === 'col-dense',\n\t\t\t'grid-flow-dense': this.flow === 'dense',\n\n\t\t\t'justify-center': this.content === 'center',\n\t\t\t'justify-end': this.content === 'end',\n\t\t\t'justify-start': this.content === 'start',\n\t\t\t'justify-stretch': this.content === 'stretch',\n\t\t\t'justify-between': this.content === 'between',\n\t\t\t'justify-around': this.content === 'around',\n\t\t\t'justify-evenly': this.content === 'evenly',\n\n\t\t\t'justify-items-center': this.justify === 'center',\n\t\t\t'justify-items-end': this.justify === 'end',\n\t\t\t'justify-items-start': this.justify === 'start',\n\t\t\t'justify-items-stretch': this.justify === 'stretch',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-1': this.gap === 'xs',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t\t'flex-nowrap': this.wrap,\n\t\t\t'flex-wrap': !this.wrap,\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateRows: this.rows ? this.rows : undefined,\n\t\t\tgridTemplateColumns: this.cols ? this.cols : undefined,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"${this.classMap(classes)}\" style=${this.styleMap(style)}>\n\t\t\t\t<slot> </slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-grid': SchmancyGrid\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-scroll')\nexport class SchmancyScroll extends TailwindElement(css`\n\t:host {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\tbox-sizing: border-box; /* Ensures proper sizing */\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0px;\n\t}\n\t.scrollbar-hide {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.scrollbar-hide::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, and Opera */\n\t}\n`) {\n\t/**\n\t * Determines whether the scrollbar is hidden.\n\t *\n\t * When `hide` is true, the inner scrollable div receives the `scrollbar-hide` class,\n\t * which hides scrollbars in supported browsers.\n\t *\n\t * @attr hide\n\t * @example <schmancy-scroll hide></schmancy-scroll>\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic hide = false\n\n\trender() {\n\t\t// The classes are dynamically assigned based on the `hide` property.\n\t\tconst classes = {\n\t\t\t'h-full w-full inset-0 overflow-x-scroll overflow-y-scroll scroll-smooth overscroll-contain': true,\n\t\t\t'scrollbar-hide': this.hide,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0 h-full w-full overscroll-none\">\n\t\t\t\t<div class=${this.classMap(classes)}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport Layout from '../layout'\n\n/**\n * SchmancyFlex exposes a flex container with all the Tailwind CSS 4 options:\n *\n * - **Display**: By default uses `flex` but can be set to inline using the `inline` property.\n * - **Flow**: Accepts 'row', 'row-reverse', 'col', 'col-reverse' as well as grid‐like dense variants:\n * - Dense variants (`row-dense`, `col-dense`) force wrapping.\n * - **Wrap**: 'wrap', 'nowrap', or 'wrap-reverse'\n * - **Align Items**: 'start', 'center', 'end', 'stretch', or 'baseline'\n * - **Justify Content**: 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Align Content** (for multi-line flex containers): 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Gap**: Supports Tailwind’s spacing scale (e.g. 'none', '0', '1', '2', …, '64')\n */\n@customElement('sch-flex')\nexport class SchmancyFlexV2 extends Layout {\n\tstatic styles = [\n\t\tLayout.styles,\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t`,\n\t]\n\t// If true, the container will use inline-flex instead of flex.\n\t@property({ type: Boolean, reflect: true })\n\tinline = false\n\n\t/**\n\t * Flow property that determines the flex direction.\n\t * Allowed values:\n\t * - Standard: 'row', 'row-reverse', 'col', 'col-reverse'\n\t * - Dense variants: 'row-dense', 'col-dense' (dense implies wrapping)\n\t */\n\t@property({ type: String, reflect: true })\n\tflow: 'row' | 'row-reverse' | 'col' | 'col-reverse' | 'row-dense' | 'col-dense' = 'row'\n\n\t/**\n\t * Flex-wrap options:\n\t * - 'wrap', 'nowrap', or 'wrap-reverse'\n\t */\n\t@property({ type: String, reflect: true })\n\twrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\n\t/**\n\t * Align-items (vertical alignment of flex items):\n\t * - 'start', 'center', 'end', 'stretch', or 'baseline'\n\t */\n\t@property({ type: String, reflect: true })\n\talign: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\n\t/**\n\t * Justify-content (horizontal distribution):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tjustify: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly' = 'start'\n\n\t/**\n\t * Align-content (spacing between rows when wrapping):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tcontent?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'\n\n\t/**\n\t * Gap between flex items.\n\t * Options (based on Tailwind CSS 4 spacing scale):\n\t * - 'none', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '12', '16', '20', '24', '32', '40', '48', '56', or '64'\n\t */\n\t@property({ type: String, reflect: true })\n\tgap:\n\t\t| 'none'\n\t\t| '0'\n\t\t| '1'\n\t\t| '2'\n\t\t| '3'\n\t\t| '4'\n\t\t| '5'\n\t\t| '6'\n\t\t| '7'\n\t\t| '8'\n\t\t| '9'\n\t\t| '10'\n\t\t| '12'\n\t\t| '16'\n\t\t| '20'\n\t\t| '24'\n\t\t| '32'\n\t\t| '40'\n\t\t| '48'\n\t\t| '56'\n\t\t| '64' = 'none'\n\n\trender() {\n\t\t// Determine whether to use inline-flex or flex.\n\t\tconst baseDisplay = this.inline ? 'inline-flex' : 'flex'\n\n\t\t// Map the flow property to a flex-direction class.\n\t\t// (Dense variants use the same class as their standard counterparts.)\n\t\tlet directionClass = ''\n\t\tswitch (this.flow) {\n\t\t\tcase 'row':\n\t\t\tcase 'row-dense':\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t\t\tbreak\n\t\t\tcase 'row-reverse':\n\t\t\t\tdirectionClass = 'flex-row-reverse'\n\t\t\t\tbreak\n\t\t\tcase 'col':\n\t\t\tcase 'col-dense':\n\t\t\t\tdirectionClass = 'flex-col'\n\t\t\t\tbreak\n\t\t\tcase 'col-reverse':\n\t\t\t\tdirectionClass = 'flex-col-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t}\n\n\t\t// Dense variants force wrapping regardless of the wrap property.\n\t\tconst isDense = this.flow === 'row-dense' || this.flow === 'col-dense'\n\t\tconst effectiveWrap = isDense ? 'wrap' : this.wrap\n\n\t\tlet wrapClass = ''\n\t\tswitch (effectiveWrap) {\n\t\t\tcase 'wrap':\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t\t\tbreak\n\t\t\tcase 'nowrap':\n\t\t\t\twrapClass = 'flex-nowrap'\n\t\t\t\tbreak\n\t\t\tcase 'wrap-reverse':\n\t\t\t\twrapClass = 'flex-wrap-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t}\n\n\t\t// Map align-items.\n\t\tlet alignClass = ''\n\t\tswitch (this.align) {\n\t\t\tcase 'start':\n\t\t\t\talignClass = 'items-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\talignClass = 'items-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\talignClass = 'items-end'\n\t\t\t\tbreak\n\t\t\tcase 'stretch':\n\t\t\t\talignClass = 'items-stretch'\n\t\t\t\tbreak\n\t\t\tcase 'baseline':\n\t\t\t\talignClass = 'items-baseline'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\talignClass = 'items-stretch'\n\t\t}\n\n\t\t// Map justify-content.\n\t\tlet justifyClass = ''\n\t\tswitch (this.justify) {\n\t\t\tcase 'start':\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\tjustifyClass = 'justify-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\tjustifyClass = 'justify-end'\n\t\t\t\tbreak\n\t\t\tcase 'between':\n\t\t\t\tjustifyClass = 'justify-between'\n\t\t\t\tbreak\n\t\t\tcase 'around':\n\t\t\t\tjustifyClass = 'justify-around'\n\t\t\t\tbreak\n\t\t\tcase 'evenly':\n\t\t\t\tjustifyClass = 'justify-evenly'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t}\n\n\t\t// Map align-content (if provided).\n\t\tlet contentClass = ''\n\t\tif (this.content) {\n\t\t\tswitch (this.content) {\n\t\t\t\tcase 'start':\n\t\t\t\t\tcontentClass = 'content-start'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'center':\n\t\t\t\t\tcontentClass = 'content-center'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'end':\n\t\t\t\t\tcontentClass = 'content-end'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'between':\n\t\t\t\t\tcontentClass = 'content-between'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'around':\n\t\t\t\t\tcontentClass = 'content-around'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'evenly':\n\t\t\t\t\tcontentClass = 'content-evenly'\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// Map gap value.\n\t\tconst gapClass = this.gap === 'none' ? 'gap-0' : `gap-${this.gap}`\n\n\t\t// Build the complete list of classes.\n\t\tconst classes = [baseDisplay, directionClass, wrapClass, alignClass, justifyClass, contentClass, gapClass]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')\n\n\t\treturn html`\n\t\t\t<section class=${classes}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'sch-flex': SchmancyFlexV2\n\t}\n}\n"],"names":["Layout","TailwindElement","constructor","super","arguments","this","layout","center","display","overflow","overflowX","overflowY","position","connectedCallback","style","setProperty","padding","margin","width","height","minWidth","minHeight","maxWidth","maxHeight","top","right","bottom","left","inset","zIndex","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderRadius","borderWidth","boxShadow","opacity","background","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundColor","backgroundClip","backgroundOrigin","backgroundBlendMode","filter","backdropFilter","__decorateClass","styles","_u","property","type","Boolean","prototype","String","SchmancyFlex","flow","wrap","align","justify","gap","render","classes","flex","html","classMap","styleMap","unsafeCSS","reflect","customElement","SchmancyGrid","content","rcols","fromEvent","window","pipe","map","event","target","startWith","clientWidth","innerWidth","distinctUntilChanged","takeUntil","disconnecting","debounceTime","w","cols","xl","lg","md","sm","xs","subscribe","gridTemplateRows","rows","gridTemplateColumns","Object","queryAssignedElements","SchmancyScroll","css","hide","SchmancyFlexV2","inline","baseDisplay","directionClass","wrapClass","alignClass","justifyClass","contentClass","join"],"mappings":"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"}
|
package/dist/sheet-CwzonocJ.cjs
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";const s=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const w=require("./tailwind.mixin-csgxM8P_.cjs"),u=require("lit"),a=require("lit/decorators.js"),E=require("./litElement.mixin-CAXeI5RY.cjs"),v=require("lit/directives/if-defined.js"),f=require("lit/directives/when.js");var S=Object.getOwnPropertyDescriptor;let g=class extends w.TailwindElement(u.css``){render(){return u.html`
|
|
2
|
-
<sch-flex class="absolute top-0 left-0 md:left-[unset] md:right-0">
|
|
3
|
-
<div class="block md:hidden flex-1 justify-start items-start">
|
|
4
|
-
<slot name="back">
|
|
5
|
-
<schmancy-button
|
|
6
|
-
@click=${()=>{this.dispatchEvent(new CustomEvent("dismiss",{bubbles:!0,composed:!0}))}}
|
|
7
|
-
>
|
|
8
|
-
<span class="text-[24px]">← </span>
|
|
9
|
-
</schmancy-button>
|
|
10
|
-
</slot>
|
|
11
|
-
</div>
|
|
12
|
-
|
|
13
|
-
<div class="hidden md:block flex-1 justify-end items-end">
|
|
14
|
-
<slot name="actions">
|
|
15
|
-
<schmancy-icon-button
|
|
16
|
-
@click=${()=>{this.dispatchEvent(new CustomEvent("dismiss",{bubbles:!0,composed:!0}))}}
|
|
17
|
-
>
|
|
18
|
-
close
|
|
19
|
-
</schmancy-icon-button>
|
|
20
|
-
</slot>
|
|
21
|
-
</div>
|
|
22
|
-
</sch-flex>
|
|
23
|
-
`}};g=((t,e,i,o)=>{for(var c,h=o>1?void 0:o?S(e,i):e,l=t.length-1;l>=0;l--)(c=t[l])&&(h=c(h)||h);return h})([a.customElement("schmancy-sheet-header")],g);var d=(t=>(t.Side="side",t.Bottom="bottom",t.BottomCenter="bottom-center",t.TopRight="top-right",t.BottomRight="bottom-right",t))(d||{});const y="are-you-there-sheet",b="yes-here",x=new class{constructor(){this.bottomSheet=new s.Subject,this.$dismiss=new s.Subject,this.bottomSheet.pipe(s.switchMap(t=>s.forkJoin([s.fromEvent(window,b).pipe(s.takeUntil(s.timer(0)),s.map(e=>e.detail.sheet),s.defaultIfEmpty(void 0)),s.of(t).pipe(s.tap(()=>{window.dispatchEvent(new CustomEvent(y,{detail:{uid:t.uid??t.component.tagName}}))}))])),s.map(([t,e])=>{t||(t=document.createElement("schmancy-sheet"),document.body.appendChild(t)),t.setAttribute("uid",e.uid??e.component.tagName);const i=e.position||(window.innerWidth>=768?"side":"bottom");return t.setAttribute("position",i),t.setAttribute("allowOverlyDismiss",e.allowOverlyDismiss===!1?"false":"true"),e.title&&t.setAttribute("title",e.title),e.persist&&t.setAttribute("persist",e.persist??!1),e.header&&t.setAttribute("header",e.header),document.body.style.overflow="hidden",{target:e,sheet:t}}),s.delay(20),s.filter(({target:t,sheet:e})=>{var i,o;return!t.persist||!((o=(i=e==null?void 0:e.shadowRoot)==null?void 0:i.querySelector("slot"))!=null&&o.assignedElements().find(c=>c.tagName===t.component.tagName))||(e==null||e.setAttribute("open","true"),!1)}),s.tap(({target:t,sheet:e})=>{e==null||e.appendChild(t.component)}),s.delay(1),s.tap(({sheet:t})=>{t==null||t.setAttribute("open","true")}),s.tap(({sheet:t})=>{s.fromEvent(t,"close").pipe(s.take(1)).pipe(s.delay(300)).subscribe(e=>{const i=e.target;i!=null&&i.persist||(i==null||i.remove()),document.body.style.overflow="auto"})})).subscribe(),this.$dismiss.pipe(s.mergeMap(t=>s.forkJoin([s.fromEvent(window,b).pipe(s.takeUntil(s.timer(100)),s.map(e=>e.detail.sheet),s.defaultIfEmpty(void 0)),s.of(t).pipe(s.tap(()=>{window.dispatchEvent(new CustomEvent(y,{detail:{uid:t}}))}))])),s.tap(([t])=>{t==null||t.closeSheet()})).subscribe()}dismiss(t){this.$dismiss.next(t)}open(t){this.bottomSheet.next(t)}};var k=Object.defineProperty,C=Object.getOwnPropertyDescriptor,r=(t,e,i,o)=>{for(var c,h=o>1?void 0:o?C(e,i):e,l=t.length-1;l>=0;l--)(c=t[l])&&(h=(o?c(e,i,h):c(h))||h);return o&&h&&k(e,i,h),h};let n=class extends E.$LitElement(':host{--overlay-color: var(--schmancy-sys-color-surface-dim);--transition-duration: .2s;--transition-timing: ease-in-out;--sheet-radius: 0;--max-height: 100vh}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;visibility:visible;transition:visibility var(--transition-duration) var(--transition-timing)}.sheet[aria-hidden=true]{visibility:hidden;pointer-events:none}.sheet[aria-hidden=true] .content{transform:translateY(100%)}.sheet[aria-hidden=true] .content[data-position=side]{transform:translate(100%)}.sheet[aria-hidden=true] .overlay{opacity:0}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-color);opacity:.8;transition:opacity var(--transition-duration) var(--transition-timing)}.content{z-index:1;transition:transform var(--transition-duration) var(--transition-timing);overflow:hidden}.content[data-position=side]{height:100vh;height:100%;min-width:320px;max-width:90vw;width:fit-content;margin-left:auto}.content[data-position=side] #body{max-height:100vh}.content[data-position=bottom]{width:100%;margin-top:auto;border-radius:16px 16px 0 0;max-height:90vh}.content[data-position=bottom] #body{max-height:90vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}[data-position=bottom]:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:36px;height:4px;background-color:var(--schmancy-sys-color-surface-onVariant);opacity:.3;border-radius:2px;z-index:10}'){constructor(){super(...arguments),this.open=!1,this.header="visible",this.position=d.Side,this.persist=!1,this.allowOverlayDismiss=!0,this.preventBackdropClick=!1,this.title="",this.animationDuration=200,this.animationEasing="ease-in-out",this.focusAttribute="autofocus",this.lastFocusedElement=null,this.startY=0,this.currentY=0,this.resizeObserver=null,this.handleFocusIn=t=>{var e;(e=this.sheet)!=null&&e.contains(t.target)||this.focus()},this.handleScroll=()=>{},this.handleTouchStart=t=>{this.position===d.Bottom&&(this.startY=t.touches[0].clientY,this.currentY=this.startY)},this.handleTouchMove=t=>{if(this.position===d.Bottom){this.currentY=t.touches[0].clientY;const e=this.currentY-this.startY;e>0&&(t.currentTarget.style.transform=`translateY(${e}px)`,t.preventDefault())}},this.handleTouchEnd=t=>{if(this.position===d.Bottom){const e=t.currentTarget,i=this.currentY-this.startY;e.style.transform="",i>Math.min(100,.3*e.offsetHeight)&&this.closeSheet()}}}onOpenChange(t,e){var i;e?(this.lastFocusedElement=document.activeElement,this.addFocusTrap(),this.focus(),this.fireEvent("open")):(this.removeFocusTrap(),(i=this.lastFocusedElement)==null||i.focus(),this.lastFocusedElement=null),this.updateCssVariables()}connectedCallback(){super.connectedCallback(),this.setupEventListeners(),this.resizeObserver=new ResizeObserver(()=>{this.open&&this.updateSheetDimensions()}),this.resizeObserver.observe(document.body),this.updateCssVariables()}firstUpdated(){var t;(t=this.bodyElement)==null||t.addEventListener("scroll",this.handleScroll,{passive:!0})}updated(t){(t.has("animationDuration")||t.has("animationEasing"))&&this.updateCssVariables()}disconnectedCallback(){var t,e;super.disconnectedCallback(),this.disconnecting.next(!0),(t=this.bodyElement)==null||t.removeEventListener("scroll",this.handleScroll),(e=this.resizeObserver)==null||e.disconnect()}updateCssVariables(){this.style.setProperty("--transition-duration",`${this.animationDuration}ms`),this.style.setProperty("--transition-timing",this.animationEasing)}setupEventListeners(){const t=s.fromEvent(window,"popstate").pipe(s.tap(o=>{o.preventDefault(),this.closeSheet()})),e=s.fromEvent(window,"keyup").pipe(s.tap(o=>{o.key!=="Escape"||this.sheetContainsFocus()||this.closeSheet()})),i=s.fromEvent(window,y).pipe(s.tap(o=>{o.detail.uid===this.uid&&this.announcePresence()}));s.merge(t,e,i).pipe(s.takeUntil(this.disconnecting)).subscribe()}sheetContainsFocus(){var t;return((t=this.sheet)==null?void 0:t.contains(document.activeElement))??!1}announcePresence(){this.dispatchEvent(new CustomEvent(b,{detail:{sheet:this},bubbles:!0,composed:!0}))}addFocusTrap(){document.addEventListener("focusin",this.handleFocusIn)}removeFocusTrap(){document.removeEventListener("focusin",this.handleFocusIn)}setIsSheetShown(t){var e,i;(e=this.sheet)==null||e.setAttribute("aria-hidden",String(!t)),(i=this.sheet)==null||i.setAttribute("aria-modal",String(t))}closeSheet(){const t=new CustomEvent("before-close",{bubbles:!0,composed:!0,cancelable:!0});this.dispatchEvent(t)&&(this.open=!1,this.fireEvent("close"))}updateSheetDimensions(){var t;if(this.position===d.Bottom){const e=(t=this.shadowRoot)==null?void 0:t.querySelector(".content");e&&(e.style.maxHeight=.9*window.innerHeight+"px")}}getFocusElement(){var e;if(this.initialFocusSelector){const i=(e=this.shadowRoot)==null?void 0:e.querySelector(this.initialFocusSelector);if(i)return i}const t=`[${this.focusAttribute}]`;return this.assignedElements.find(i=>i.matches(t)||i.querySelector(t))??null}focus(){var t;(t=this.getFocusElement())==null||t.focus()}fireEvent(t,e={}){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}render(){return u.html`
|
|
24
|
-
<div
|
|
25
|
-
class="sheet"
|
|
26
|
-
role="dialog"
|
|
27
|
-
aria-labelledby=${v.ifDefined(this.title?"sheet-title":this.ariaLabel?"sheet-aria-label":void 0)}
|
|
28
|
-
aria-describedby=${v.ifDefined(this.ariaDescribedBy)}
|
|
29
|
-
aria-hidden=${!this.open}
|
|
30
|
-
aria-modal=${this.open}
|
|
31
|
-
>
|
|
32
|
-
${f.when(this.ariaLabel&&!this.title,()=>u.html`<span id="sheet-aria-label" class="sr-only">${this.ariaLabel}</span>`)}
|
|
33
|
-
|
|
34
|
-
<div
|
|
35
|
-
class="overlay"
|
|
36
|
-
@click=${t=>{t.stopPropagation(),this.allowOverlayDismiss&&!this.preventBackdropClick&&this.closeSheet()}}
|
|
37
|
-
></div>
|
|
38
|
-
|
|
39
|
-
<schmancy-grid
|
|
40
|
-
@touchstart=${this.handleTouchStart}
|
|
41
|
-
@touchmove=${this.handleTouchMove}
|
|
42
|
-
@touchend=${this.handleTouchEnd}
|
|
43
|
-
rows=${this.header==="hidden"?"1fr":"auto 1fr"}
|
|
44
|
-
class="content w-full"
|
|
45
|
-
data-position=${this.position}
|
|
46
|
-
>
|
|
47
|
-
${f.when(this.header!=="hidden",()=>u.html`<schmancy-sheet-header
|
|
48
|
-
class="sticky top-0 z-50 w-full"
|
|
49
|
-
@dismiss=${t=>{t.stopPropagation(),this.closeSheet()}}
|
|
50
|
-
id="sheet-title"
|
|
51
|
-
title=${this.title}
|
|
52
|
-
></schmancy-sheet-header>`)}
|
|
53
|
-
|
|
54
|
-
<schmancy-surface rounded="left" fill="all" id="body" class="overflow-hidden" type="surface">
|
|
55
|
-
<schmancy-scroll>
|
|
56
|
-
<slot></slot>
|
|
57
|
-
</schmancy-scroll>
|
|
58
|
-
</schmancy-surface>
|
|
59
|
-
</schmancy-grid>
|
|
60
|
-
</div>
|
|
61
|
-
`}};var m,p;r([a.property({type:String,reflect:!0})],n.prototype,"uid",2),r([a.property({type:Boolean,reflect:!0})],n.prototype,"open",2),r([a.property({type:String,reflect:!0})],n.prototype,"header",2),r([a.property({type:String,reflect:!0})],n.prototype,"position",2),r([a.property({type:Boolean,reflect:!0})],n.prototype,"persist",2),r([a.property({type:Boolean,reflect:!0})],n.prototype,"allowOverlayDismiss",2),r([a.property({type:Boolean})],n.prototype,"preventBackdropClick",2),r([a.property({type:String,reflect:!0})],n.prototype,"title",2),r([a.property({type:String})],n.prototype,"ariaLabel",2),r([a.property({type:String})],n.prototype,"ariaDescribedBy",2),r([a.property({type:String})],n.prototype,"initialFocusSelector",2),r([a.property({type:Number})],n.prototype,"animationDuration",2),r([a.property({type:String})],n.prototype,"animationEasing",2),r([a.property()],n.prototype,"focusAttribute",2),r([a.query(".sheet")],n.prototype,"sheet",2),r([a.query("#body")],n.prototype,"bodyElement",2),r([a.queryAssignedElements({flatten:!0})],n.prototype,"assignedElements",2),r([(m="open",(t,e)=>{const{willUpdate:i}=t;p=Object.assign({waitUntilFirstUpdate:!1},p),t.willUpdate=function(o){if(i.call(this,o),o.has(m)){const c=o.get(m),h=this[m];c!==h&&(p!=null&&p.waitUntilFirstUpdate&&!this.hasUpdated||this[e].call(this,c,h))}}})],n.prototype,"onOpenChange",1),n=r([a.customElement("schmancy-sheet")],n),exports.SchmancySheetPosition=d,exports.SheetHereMorty=b,exports.SheetWhereAreYouRicky=y,exports.sheet=x;
|
|
62
|
-
//# sourceMappingURL=sheet-CwzonocJ.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sheet-CwzonocJ.cjs","sources":["../src/sheet/header.ts","../src/sheet/sheet.service.ts","../src/sheet/sheet.ts","../src/sheet/hook.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-sheet-header')\nexport default class SchmancySheetHeader extends TailwindElement(css``) {\n\trender() {\n\t\treturn html`\n\t\t\t<sch-flex class=\"absolute top-0 left-0 md:left-[unset] md:right-0\">\n\t\t\t\t<div class=\"block md:hidden flex-1 justify-start items-start\">\n\t\t\t\t\t<slot name=\"back\">\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent('dismiss', {\n\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"text-[24px]\">← </span>\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"hidden md:block flex-1 justify-end items-end\">\n\t\t\t\t\t<slot name=\"actions\">\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent('dismiss', {\n\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\t\t\t</sch-flex>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-sheet-header': SchmancySheetHeader\n\t}\n}\n","import {\n\tdefaultIfEmpty,\n\tdelay,\n\tfilter,\n\tforkJoin,\n\tfromEvent,\n\tmap,\n\tmergeMap,\n\tof,\n\tSubject,\n\tswitchMap,\n\ttake,\n\ttakeUntil,\n\ttap,\n\ttimer,\n} from 'rxjs'\nimport SchmancySheet from './sheet'\n\nexport enum SchmancySheetPosition {\n\tSide = 'side',\n\tBottom = 'bottom',\n\t/**\n\t * @deprecated use bottom instead\n\t */\n\tBottomCenter = 'bottom-center',\n\t/**\n\t * @deprecated use side instead\n\t */\n\tTopRight = 'top-right',\n\t/**\n\t * @deprecated use side instead\n\t */\n\tBottomRight = 'bottom-right',\n}\n\ntype BottomSheeetTarget = {\n\tcomponent: HTMLElement\n\tuid?: string\n\tposition?: SchmancySheetPosition\n\tpersist?: boolean\n\tclose?: () => void\n\tallowOverlyDismiss?: boolean\n\ttitle?: string\n\theader?: 'hidden' | 'visible'\n}\n\n// Events for communication between bottom-sheet component and bottom-sheet.service\nexport type SheetWhereAreYouRickyEvent = CustomEvent<{\n\tuid: string\n}>\nexport const SheetWhereAreYouRicky = 'are-you-there-sheet'\n\nexport type SheetHereMortyEvent = CustomEvent<{\n\tsheet: SchmancySheet\n}>\nexport const SheetHereMorty = 'yes-here'\n\n// Function to determine the position based on screen size\nconst getPosition = (): SchmancySheetPosition => {\n\treturn window.innerWidth >= 768 ? SchmancySheetPosition.Side : SchmancySheetPosition.Bottom // Adjust 768 as needed for your breakpoint\n}\n\nclass BottomSheetService {\n\tbottomSheet = new Subject<BottomSheeetTarget>()\n\t$dismiss = new Subject<string>()\n\tconstructor() {\n\t\tthis.bottomSheet\n\t\t\t.pipe(\n\t\t\t\tswitchMap(target =>\n\t\t\t\t\tforkJoin([\n\t\t\t\t\t\tfromEvent<SheetHereMortyEvent>(window, SheetHereMorty).pipe(\n\t\t\t\t\t\t\ttakeUntil(timer(0)),\n\t\t\t\t\t\t\tmap(e => e.detail.sheet),\n\t\t\t\t\t\t\tdefaultIfEmpty(undefined),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tof(target).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent(SheetWhereAreYouRicky, {\n\t\t\t\t\t\t\t\t\t\tdetail: { uid: target.uid ?? target.component.tagName },\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t\tmap(([sheet, target]) => {\n\t\t\t\t\tconsole.log(sheet, target)\n\t\t\t\t\tif (!sheet) {\n\t\t\t\t\t\t// if sheet is not found, create it\n\t\t\t\t\t\tsheet = document.createElement('schmancy-sheet')\n\t\t\t\t\t\tdocument.body.appendChild(sheet)\n\t\t\t\t\t}\n\t\t\t\t\tsheet.setAttribute('uid', target.uid ?? target.component.tagName)\n\n\t\t\t\t\t// **Use the dynamic position function here**\n\t\t\t\t\tconst position = target.position || getPosition() // Use target.position if it's set, otherwise determine based on screen size\n\t\t\t\t\tsheet.setAttribute('position', position)\n\n\t\t\t\t\tsheet.setAttribute('allowOverlyDismiss', target.allowOverlyDismiss === false ? 'false' : 'true')\n\t\t\t\t\ttarget.title && sheet.setAttribute('title', target.title)\n\t\t\t\t\ttarget.persist && sheet.setAttribute('persist', target.persist ?? false)\n\t\t\t\t\ttarget.header && sheet.setAttribute('header', target.header)\n\t\t\t\t\tdocument.body.style.overflow = 'hidden' // lock the scroll of the host\n\t\t\t\t\treturn { target, sheet }\n\t\t\t\t}),\n\t\t\t\tdelay(20),\n\t\t\t\tfilter(({ target, sheet }) => {\n\t\t\t\t\t// if the sheet has already the component, just show it\n\t\t\t\t\tif (\n\t\t\t\t\t\ttarget.persist &&\n\t\t\t\t\t\tsheet?.shadowRoot\n\t\t\t\t\t\t\t?.querySelector('slot')\n\t\t\t\t\t\t\t?.assignedElements()\n\t\t\t\t\t\t\t.find(e => e.tagName === target.component.tagName)\n\t\t\t\t\t) {\n\t\t\t\t\t\tsheet?.setAttribute('open', 'true')\n\t\t\t\t\t\treturn false\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn true // if the sheet does not have the component, continue to the next step\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttap(({ target, sheet }) => {\n\t\t\t\t\tsheet?.appendChild(target.component)\n\t\t\t\t}),\n\t\t\t\tdelay(1),\n\t\t\t\ttap(({ sheet }) => {\n\t\t\t\t\tsheet?.setAttribute('open', 'true')\n\t\t\t\t}),\n\t\t\t\ttap(({ sheet }) => {\n\t\t\t\t\tfromEvent<CustomEvent>(sheet, 'close')\n\t\t\t\t\t\t.pipe(take(1))\n\t\t\t\t\t\t.pipe(delay(300))\n\t\t\t\t\t\t.subscribe(e => {\n\t\t\t\t\t\t\tconst target = e.target as SchmancySheet\n\t\t\t\t\t\t\tconsole.log(target)\n\n\t\t\t\t\t\t\tif (!target?.persist) target?.remove()\n\t\t\t\t\t\t\tdocument.body.style.overflow = 'auto' // unlock the scroll of the host\n\t\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\tthis.$dismiss\n\t\t\t.pipe(\n\t\t\t\tmergeMap(uid =>\n\t\t\t\t\tforkJoin([\n\t\t\t\t\t\tfromEvent<SheetHereMortyEvent>(window, SheetHereMorty).pipe(\n\t\t\t\t\t\t\ttakeUntil(timer(100)), // Some people say why 10? I say why not?\n\t\t\t\t\t\t\tmap(e => e.detail.sheet),\n\t\t\t\t\t\t\tdefaultIfEmpty(undefined),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tof(uid).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\twindow.dispatchEvent(new CustomEvent(SheetWhereAreYouRicky, { detail: { uid } }))\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t\ttap(([sheet]) => {\n\t\t\t\t\tsheet?.closeSheet()\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tdismiss(uid: string) {\n\t\tthis.$dismiss.next(uid)\n\t}\n\n\topen(target: BottomSheeetTarget) {\n\t\tthis.bottomSheet.next(target)\n\t}\n}\nexport const sheet = new BottomSheetService()\n","import { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nimport { fromEvent, merge, takeUntil, tap } from 'rxjs'\nimport { on } from './hook'\nimport style from './sheet.scss?inline'\nimport {\n\tSchmancySheetPosition,\n\tSheetHereMorty,\n\tSheetWhereAreYouRicky,\n\tSheetWhereAreYouRickyEvent,\n} from './sheet.service'\n\n/**\n * `<schmancy-sheet>` component\n *\n * A modal sheet component that can be positioned at the bottom or side of the viewport.\n * Supports customizable animations, focus management, and accessibility features.\n *\n * @element schmancy-sheet\n * @fires before-close - Fired before the sheet begins closing (cancelable)\n * @fires close - Fired when the sheet has closed\n * @fires open - Fired when the sheet has opened\n */\n@customElement('schmancy-sheet')\nexport default class SchmancySheet extends $LitElement(style) {\n\t/** Unique identifier for the sheet */\n\t@property({ type: String, reflect: true }) uid!: string\n\n\t/** Controls whether the sheet is open or closed */\n\t@property({ type: Boolean, reflect: true }) open = false\n\n\t/** Controls visibility of the header section */\n\t@property({ type: String, reflect: true }) header: 'hidden' | 'visible' = 'visible'\n\n\t/** Position of the sheet */\n\t@property({ type: String, reflect: true }) position: SchmancySheetPosition = SchmancySheetPosition.Side\n\n\t/** Whether the sheet persists after closing */\n\t@property({ type: Boolean, reflect: true }) persist = false\n\n\t/** Whether clicking the overlay dismisses the sheet */\n\t@property({ type: Boolean, reflect: true }) allowOverlayDismiss = true\n\n\t/** Prevents closing by backdrop click, even if allowOverlayDismiss is true */\n\t@property({ type: Boolean }) preventBackdropClick = false\n\n\t/** Title displayed in the header */\n\t@property({ type: String, reflect: true }) title = ''\n\n\t/** Accessible label for the sheet (for screen readers) */\n\t@property({ type: String }) ariaLabel: string\n\n\t/** ARIA describedby attribute value */\n\t@property({ type: String }) ariaDescribedBy?: string\n\n\t/** Custom selector to specify which element receives focus when opened */\n\t@property({ type: String }) initialFocusSelector?: string\n\n\t/** Animation duration in milliseconds */\n\t@property({ type: Number }) animationDuration = 200\n\n\t/** Animation easing function */\n\t@property({ type: String }) animationEasing = 'ease-in-out'\n\n\t/** Attribute to specify which element should receive focus when the sheet opens */\n\t@property() focusAttribute = 'autofocus'\n\n\t/** Ref to the sheet container */\n\t@query('.sheet') private sheet!: HTMLElement\n\n\t/** Ref to the sheet body */\n\t@query('#body') bodyElement!: HTMLElement\n\n\t/** Collection of assigned elements */\n\t@queryAssignedElements({ flatten: true }) private assignedElements!: HTMLElement[]\n\n\t/** Tracks the element that had focus before the sheet opened */\n\tprivate lastFocusedElement: HTMLElement | null = null\n\n\t/** For touch interactions */\n\tprivate startY = 0\n\tprivate currentY = 0\n\n\t/** ResizeObserver instance */\n\tprivate resizeObserver: ResizeObserver | null = null\n\n\t/**\n\t * Lifecycle callback for when the 'open' property changes\n\t */\n\t@on('open')\n\tonOpenChange(_oldValue: boolean, newValue: boolean) {\n\t\tif (newValue) {\n\t\t\tthis.lastFocusedElement = document.activeElement as HTMLElement\n\t\t\tthis.addFocusTrap()\n\t\t\tthis.focus()\n\t\t\tthis.fireEvent('open')\n\t\t} else {\n\t\t\tthis.removeFocusTrap()\n\t\t\tthis.lastFocusedElement?.focus()\n\t\t\tthis.lastFocusedElement = null\n\t\t}\n\n\t\t// Update CSS variables when opening/closing\n\t\tthis.updateCssVariables()\n\t}\n\n\t/**\n\t * Component connected to DOM\n\t */\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.setupEventListeners()\n\n\t\t// Create resize observer\n\t\tthis.resizeObserver = new ResizeObserver(() => {\n\t\t\tif (this.open) {\n\t\t\t\tthis.updateSheetDimensions()\n\t\t\t}\n\t\t})\n\n\t\tthis.resizeObserver.observe(document.body)\n\n\t\t// Set initial CSS variables\n\t\tthis.updateCssVariables()\n\t}\n\n\t/**\n\t * First update lifecycle callback\n\t */\n\tfirstUpdated() {\n\t\t// Add passive scroll listeners for better performance\n\t\tthis.bodyElement?.addEventListener('scroll', this.handleScroll, { passive: true })\n\t}\n\n\t/**\n\t * Component updated lifecycle callback\n\t */\n\tupdated(changedProps: Map<string, unknown>) {\n\t\tif (changedProps.has('animationDuration') || changedProps.has('animationEasing')) {\n\t\t\tthis.updateCssVariables()\n\t\t}\n\t}\n\n\t/**\n\t * Component disconnected from DOM\n\t */\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.disconnecting.next(true)\n\t\tthis.bodyElement?.removeEventListener('scroll', this.handleScroll)\n\t\tthis.resizeObserver?.disconnect()\n\t}\n\n\t/**\n\t * Updates CSS custom properties\n\t */\n\tprivate updateCssVariables() {\n\t\tthis.style.setProperty('--transition-duration', `${this.animationDuration}ms`)\n\t\tthis.style.setProperty('--transition-timing', this.animationEasing)\n\t}\n\n\t/**\n\t * Sets up event listeners\n\t */\n\tprivate setupEventListeners() {\n\t\t// Handle browser back button\n\t\tconst popState$ = fromEvent<PopStateEvent>(window, 'popstate').pipe(\n\t\t\ttap(e => {\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.closeSheet()\n\t\t\t}),\n\t\t)\n\n\t\t// Handle ESC key\n\t\tconst keyUp$ = fromEvent<KeyboardEvent>(window, 'keyup').pipe(\n\t\t\ttap(event => {\n\t\t\t\tif (event.key === 'Escape' && !this.sheetContainsFocus()) {\n\t\t\t\t\tthis.closeSheet()\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\n\t\t// Handle inter-component communication\n\t\tconst rickyComm$ = fromEvent<SheetWhereAreYouRickyEvent>(window, SheetWhereAreYouRicky).pipe(\n\t\t\ttap(e => {\n\t\t\t\tif (e.detail.uid === this.uid) this.announcePresence()\n\t\t\t}),\n\t\t)\n\n\t\tmerge(popState$, keyUp$, rickyComm$).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\t/**\n\t * Check if focus is within the sheet\n\t */\n\tprivate sheetContainsFocus(): boolean {\n\t\treturn this.sheet?.contains(document.activeElement) ?? false\n\t}\n\n\t/**\n\t * Announce presence to the sheet service\n\t */\n\tprivate announcePresence() {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent(SheetHereMorty, {\n\t\t\t\tdetail: { sheet: this },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t/**\n\t * Add focus trap to keep focus within sheet when open\n\t */\n\tprivate addFocusTrap() {\n\t\tdocument.addEventListener('focusin', this.handleFocusIn)\n\t}\n\n\t/**\n\t * Remove focus trap\n\t */\n\tprivate removeFocusTrap() {\n\t\tdocument.removeEventListener('focusin', this.handleFocusIn)\n\t}\n\n\t/**\n\t * Handle focus events to trap focus\n\t */\n\tprivate handleFocusIn = (e: Event) => {\n\t\tif (!this.sheet?.contains(e.target as Node)) {\n\t\t\tthis.focus()\n\t\t}\n\t}\n\n\t/**\n\t * Handle scroll events\n\t */\n\tprivate handleScroll = () => {\n\t\t// Implement scroll handling if needed\n\t}\n\n\t/**\n\t * Updates the aria-hidden and aria-modal attributes\n\t */\n\tsetIsSheetShown(isShown: boolean) {\n\t\tthis.sheet?.setAttribute('aria-hidden', String(!isShown))\n\t\tthis.sheet?.setAttribute('aria-modal', String(isShown))\n\t}\n\n\t/**\n\t * Closes the sheet\n\t */\n\tcloseSheet() {\n\t\t// Fire before-close event, allow prevention\n\t\tconst event = new CustomEvent('before-close', {\n\t\t\tbubbles: true,\n\t\t\tcomposed: true,\n\t\t\tcancelable: true,\n\t\t})\n\n\t\tconst allowed = this.dispatchEvent(event)\n\n\t\tif (!allowed) return // User prevented close\n\n\t\tthis.open = false\n\t\tthis.fireEvent('close')\n\t}\n\n\t/**\n\t * Update dimensions based on viewport\n\t */\n\tprivate updateSheetDimensions() {\n\t\tif (this.position === SchmancySheetPosition.Bottom) {\n\t\t\tconst content = this.shadowRoot?.querySelector('.content') as HTMLElement\n\t\t\tif (content) {\n\t\t\t\tcontent.style.maxHeight = `${window.innerHeight * 0.9}px`\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Find the element that should receive focus\n\t */\n\tprivate getFocusElement(): HTMLElement | null {\n\t\t// If initialFocusSelector is provided, use that first\n\t\tif (this.initialFocusSelector) {\n\t\t\tconst element = this.shadowRoot?.querySelector(this.initialFocusSelector) as HTMLElement\n\t\t\tif (element) return element\n\t\t}\n\n\t\t// Otherwise, try to find element with focusAttribute\n\t\tconst selector = `[${this.focusAttribute}]`\n\t\treturn (this.assignedElements.find(el => el.matches(selector) || el.querySelector(selector)) as HTMLElement) ?? null\n\t}\n\n\t/**\n\t * Set focus within the sheet\n\t */\n\toverride focus() {\n\t\tthis.getFocusElement()?.focus()\n\t}\n\n\t/**\n\t * Fire events with consistent format\n\t */\n\tprivate fireEvent(name: string, detail = {}) {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent(name, {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t\tdetail,\n\t\t\t}),\n\t\t)\n\t}\n\n\t/**\n\t * Handle touch start for swipe gesture\n\t */\n\tprivate handleTouchStart = (e: TouchEvent) => {\n\t\tif (this.position === SchmancySheetPosition.Bottom) {\n\t\t\tthis.startY = e.touches[0].clientY\n\t\t\tthis.currentY = this.startY\n\t\t}\n\t}\n\n\t/**\n\t * Handle touch move for swipe gesture\n\t */\n\tprivate handleTouchMove = (e: TouchEvent) => {\n\t\tif (this.position === SchmancySheetPosition.Bottom) {\n\t\t\tthis.currentY = e.touches[0].clientY\n\t\t\tconst deltaY = this.currentY - this.startY\n\n\t\t\t// Only allow downward swipes to close\n\t\t\tif (deltaY > 0) {\n\t\t\t\tconst content = e.currentTarget as HTMLElement\n\t\t\t\tcontent.style.transform = `translateY(${deltaY}px)`\n\t\t\t\te.preventDefault()\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handle touch end for swipe gesture\n\t */\n\tprivate handleTouchEnd = (e: TouchEvent) => {\n\t\tif (this.position === SchmancySheetPosition.Bottom) {\n\t\t\tconst content = e.currentTarget as HTMLElement\n\t\t\tconst deltaY = this.currentY - this.startY\n\n\t\t\t// Reset transform\n\t\t\tcontent.style.transform = ''\n\n\t\t\t// If dragged down more than 100px or 30% of height, close the sheet\n\t\t\tconst threshold = Math.min(100, content.offsetHeight * 0.3)\n\t\t\tif (deltaY > threshold) {\n\t\t\t\tthis.closeSheet()\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Render the component\n\t */\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"sheet\"\n\t\t\t\trole=\"dialog\"\n\t\t\t\taria-labelledby=${ifDefined(this.title ? 'sheet-title' : this.ariaLabel ? 'sheet-aria-label' : undefined)}\n\t\t\t\taria-describedby=${ifDefined(this.ariaDescribedBy)}\n\t\t\t\taria-hidden=${!this.open}\n\t\t\t\taria-modal=${this.open}\n\t\t\t>\n\t\t\t\t${when(\n\t\t\t\t\tthis.ariaLabel && !this.title,\n\t\t\t\t\t() => html`<span id=\"sheet-aria-label\" class=\"sr-only\">${this.ariaLabel}</span>`,\n\t\t\t\t)}\n\n\t\t\t\t<div\n\t\t\t\t\tclass=\"overlay\"\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tif (this.allowOverlayDismiss && !this.preventBackdropClick) {\n\t\t\t\t\t\t\tthis.closeSheet()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t></div>\n\n\t\t\t\t<schmancy-grid\n\t\t\t\t\t@touchstart=${this.handleTouchStart}\n\t\t\t\t\t@touchmove=${this.handleTouchMove}\n\t\t\t\t\t@touchend=${this.handleTouchEnd}\n\t\t\t\t\trows=${this.header === 'hidden' ? '1fr' : 'auto 1fr'}\n\t\t\t\t\tclass=\"content w-full\"\n\t\t\t\t\tdata-position=${this.position}\n\t\t\t\t>\n\t\t\t\t\t${when(\n\t\t\t\t\t\tthis.header !== 'hidden',\n\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\thtml`<schmancy-sheet-header\n\t\t\t\t\t\t\t\tclass=\"sticky top-0 z-50 w-full\"\n\t\t\t\t\t\t\t\t@dismiss=${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tthis.closeSheet()\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid=\"sheet-title\"\n\t\t\t\t\t\t\t\ttitle=${this.title}\n\t\t\t\t\t\t\t></schmancy-sheet-header>`,\n\t\t\t\t\t)}\n\n\t\t\t\t\t<schmancy-surface rounded=\"left\" fill=\"all\" id=\"body\" class=\"overflow-hidden\" type=\"surface\">\n\t\t\t\t\t\t<schmancy-scroll>\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</schmancy-scroll>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</schmancy-grid>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-sheet': SchmancySheet\n\t}\n}\n","// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n//\ninterface WatchOptions {\n\twaitUntilFirstUpdate?: boolean\n}\n\nexport function on(propName: string, options?: WatchOptions) {\n\treturn (protoOrDescriptor: any, name: string): any => {\n\t\tconst { willUpdate } = protoOrDescriptor\n\n\t\toptions = Object.assign({ waitUntilFirstUpdate: false }, options) as WatchOptions\n\n\t\tprotoOrDescriptor.willUpdate = function (changedProps: Map<string, any>) {\n\t\t\twillUpdate.call(this, changedProps)\n\n\t\t\tif (changedProps.has(propName)) {\n\t\t\t\tconst oldValue = changedProps.get(propName)\n\t\t\t\tconst newValue = this[propName]\n\n\t\t\t\tif (oldValue !== newValue) {\n\t\t\t\t\tif (!options?.waitUntilFirstUpdate || this.hasUpdated) {\n\t\t\t\t\t\tthis[name].call(this, oldValue, newValue)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["SchmancySheetHeader","TailwindElement","css","html","this","dispatchEvent","CustomEvent","bubbles","composed","customElement","SchmancySheetPosition","SheetWhereAreYouRicky","SheetHereMorty","sheet","constructor","bottomSheet","Subject","$dismiss","pipe","switchMap","forkJoin","fromEvent","window","takeUntil","timer","map","e","detail","defaultIfEmpty","of","target","tap","uid","component","tagName","document","createElement","body","appendChild","setAttribute","position","innerWidth","allowOverlyDismiss","title","persist","header","style","overflow","delay","filter","shadowRoot","querySelector","assignedElements","find","take","subscribe","remove","mergeMap","closeSheet","next","SchmancySheet","$LitElement","super","arguments","open","Side","allowOverlayDismiss","preventBackdropClick","animationDuration","animationEasing","focusAttribute","lastFocusedElement","startY","currentY","resizeObserver","handleFocusIn","contains","focus","handleScroll","handleTouchStart","Bottom","touches","clientY","handleTouchMove","deltaY","currentTarget","transform","preventDefault","handleTouchEnd","content","Math","min","offsetHeight","_oldValue","newValue","activeElement","addFocusTrap","fireEvent","removeFocusTrap","updateCssVariables","connectedCallback","setupEventListeners","ResizeObserver","updateSheetDimensions","observe","bodyElement","addEventListener","passive","changedProps","has","disconnectedCallback","disconnecting","removeEventListener","disconnect","setProperty","popState$","keyUp$","event","key","sheetContainsFocus","rickyComm$","announcePresence","merge","isShown","String","cancelable","maxHeight","innerHeight","getFocusElement","initialFocusSelector","element","selector","el","matches","name","i","render","ifDefined","ariaLabel","ariaDescribedBy","when","stopPropagation","propName","options","__decorateClass","property","type","reflect","prototype","Boolean","Number","query","queryAssignedElements","flatten","protoOrDescriptor","willUpdate","Object","assign","waitUntilFirstUpdate","call","oldValue","get","hasUpdated"],"mappings":"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"}
|