@surdeddd/bottom-sheet 0.2.0 → 0.4.0

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.
Files changed (49) hide show
  1. package/README.md +51 -21
  2. package/dist/{BottomSheetEngine-CIT9Htti.d.cts → BottomSheetEngine-BJrH7qY3.d.cts} +105 -3
  3. package/dist/{BottomSheetEngine-Df9MwBbm.d.ts → BottomSheetEngine-L05jGZvU.d.ts} +105 -3
  4. package/dist/element.cjs +1170 -196
  5. package/dist/element.d.cts +29 -5
  6. package/dist/element.d.ts +29 -5
  7. package/dist/element.iife.global.js +2 -2
  8. package/dist/element.js +1170 -196
  9. package/dist/index.cjs +1051 -220
  10. package/dist/index.d.cts +18 -3
  11. package/dist/index.d.ts +18 -3
  12. package/dist/index.js +1049 -221
  13. package/dist/integrations/formik.d.cts +1 -1
  14. package/dist/integrations/formik.d.ts +1 -1
  15. package/dist/integrations/react-hook-form.d.cts +1 -1
  16. package/dist/integrations/react-hook-form.d.ts +1 -1
  17. package/dist/overlay.cjs +181 -37
  18. package/dist/overlay.d.cts +13 -0
  19. package/dist/overlay.d.ts +13 -0
  20. package/dist/overlay.js +181 -37
  21. package/dist/preact.d.cts +1 -1
  22. package/dist/preact.d.ts +1 -1
  23. package/dist/qwik.cjs +966 -195
  24. package/dist/qwik.d.cts +4 -2
  25. package/dist/qwik.d.ts +4 -2
  26. package/dist/qwik.js +967 -196
  27. package/dist/react.cjs +1242 -272
  28. package/dist/react.d.cts +47 -5
  29. package/dist/react.d.ts +47 -5
  30. package/dist/react.js +1242 -272
  31. package/dist/solid.cjs +992 -236
  32. package/dist/solid.d.cts +299 -4
  33. package/dist/solid.d.ts +299 -4
  34. package/dist/solid.js +993 -237
  35. package/dist/solid.source.jsx +3476 -0
  36. package/dist/styles.css +67 -66
  37. package/dist/svelte-core.cjs +3415 -0
  38. package/dist/svelte-core.js +3413 -0
  39. package/dist/svelte-src/BottomSheet.svelte +308 -0
  40. package/dist/svelte-src/index.js +2 -0
  41. package/dist/svelte.cjs +1034 -207
  42. package/dist/svelte.d.cts +121 -0
  43. package/dist/svelte.d.ts +28 -3
  44. package/dist/svelte.js +1035 -208
  45. package/dist/vue.cjs +1191 -205
  46. package/dist/vue.d.cts +127 -0
  47. package/dist/vue.d.ts +57 -4
  48. package/dist/vue.js +1192 -206
  49. package/package.json +105 -45
@@ -0,0 +1,121 @@
1
+ import type { Component, Snippet } from "svelte";
2
+ import type {
3
+ AnchorOptions,
4
+ BottomSheetEngine,
5
+ EngineOptions,
6
+ EngineState,
7
+ SheetEventMap,
8
+ SheetMode,
9
+ SnapPoint,
10
+ SnapPointDef,
11
+ ScrimStagesOptions,
12
+ ScrimUpdate,
13
+ ScrimOverlayOptions,
14
+ } from "./index.cjs";
15
+
16
+ export type SvelteBottomSheetOpts<TId extends string = string> = Omit<
17
+ EngineOptions,
18
+ | "element"
19
+ | "handle"
20
+ | "scrollContainer"
21
+ | "backdrop"
22
+ | "scrim"
23
+ | "snapPoints"
24
+ | "allowed"
25
+ | "initial"
26
+ > & {
27
+ snapPoints: SnapPointDef<TId>[] | ReadonlyArray<SnapPointDef<TId>>;
28
+ allowed?: TId[] | ReadonlyArray<TId>;
29
+ initial?: TId;
30
+ onSnap?: (id: TId) => void;
31
+ };
32
+
33
+ export type SvelteAttachRefs = {
34
+ element: HTMLElement;
35
+ handle?: HTMLElement;
36
+ scrollContainer?: HTMLElement;
37
+ backdrop?: HTMLElement;
38
+ scrim?: HTMLElement;
39
+ };
40
+
41
+ export type SvelteBottomSheetController<TId extends string = string> = {
42
+ attach(refs: SvelteAttachRefs): () => void;
43
+ state(): EngineState & { activeId: TId };
44
+ on<K extends keyof SheetEventMap>(
45
+ event: K,
46
+ fn: (payload: SheetEventMap[K]) => void,
47
+ ): () => void;
48
+ snapTo(id: TId): Promise<void>;
49
+ open(id?: TId): Promise<void>;
50
+ close(): Promise<void>;
51
+ expand(): Promise<void>;
52
+ collapse(): Promise<void>;
53
+ isTop(): boolean;
54
+ depth(): number;
55
+ setAllowed(ids: TId[], snap?: TId): void;
56
+ setSnapPoints(points: EngineOptions["snapPoints"], allowed?: string[]): void;
57
+ setScrim(opts: ScrimUpdate): void;
58
+ setScrimOverlay(opts: ScrimOverlayOptions): () => void;
59
+ addAnchor(opts: AnchorOptions): () => void;
60
+ setScrimStages(opts: ScrimStagesOptions | null): () => void;
61
+ recompute(): void;
62
+ getEngine(): BottomSheetEngine | null;
63
+ destroy(): void;
64
+ };
65
+
66
+ export function createBottomSheet<TId extends string = string>(
67
+ opts: SvelteBottomSheetOpts<TId>,
68
+ ): SvelteBottomSheetController<TId>;
69
+
70
+ export type BottomSheetProps<TId extends string = string> = {
71
+ snapPoints: SnapPointDef<TId>[];
72
+ allowed?: TId[];
73
+ initial?: TId;
74
+ mode?: SheetMode;
75
+ animation?: "spring" | "tween";
76
+ spring?: { stiffness?: number; damping?: number; mass?: number };
77
+ focusTrap?: boolean;
78
+ closeOnEscape?: boolean;
79
+ closeOnBack?: boolean;
80
+ lockBodyScroll?: boolean;
81
+ rubberBand?: boolean;
82
+ backdropRange?: [number, number];
83
+ backdrop?: boolean;
84
+ closeOnBackdrop?: boolean;
85
+ persistent?: boolean;
86
+ disableClose?: boolean;
87
+ disableDrag?: boolean;
88
+ closeOnRouteChange?: boolean;
89
+ radius?: string | number;
90
+ maxHeight?: string | number;
91
+ backdropColor?: string;
92
+ backdropOpacity?: number;
93
+ open?: boolean;
94
+ snap?: TId;
95
+ returnFocusTo?: HTMLElement | string | (() => HTMLElement | null);
96
+ ariaLabel?: string;
97
+ header?: Snippet<[EngineState & { activeId: TId }]>;
98
+ leftButton?: Snippet;
99
+ rightButton?: Snippet;
100
+ screen?: Snippet;
101
+ children?: Snippet;
102
+ onsnap?: (id: TId) => void;
103
+ onopen?: (id: TId) => void;
104
+ onclose?: () => void;
105
+ onbeforeclose?: (payload: SheetEventMap["before-close"]) => void;
106
+ onopened?: (id: TId) => void;
107
+ onclosed?: () => void;
108
+ ondragstart?: () => void;
109
+ ondragend?: () => void;
110
+ onchange?: (state: EngineState & { activeId: TId }) => void;
111
+ };
112
+
113
+ export const BottomSheet: Component<BottomSheetProps>;
114
+
115
+ export type {
116
+ SnapPoint,
117
+ SnapPointDef,
118
+ SheetMode,
119
+ EngineState,
120
+ EngineOptions,
121
+ };
package/dist/svelte.d.ts CHANGED
@@ -1,15 +1,17 @@
1
1
  import type { Component, Snippet } from "svelte";
2
2
  import type {
3
+ AnchorOptions,
4
+ BottomSheetEngine,
3
5
  EngineOptions,
4
6
  EngineState,
7
+ SheetEventMap,
5
8
  SheetMode,
6
9
  SnapPoint,
7
10
  SnapPointDef,
11
+ ScrimStagesOptions,
8
12
  ScrimUpdate,
9
13
  ScrimOverlayOptions,
10
- } from "../core/types";
11
- import type { SheetEventMap } from "../core/types";
12
- import type { BottomSheetEngine } from "../core/BottomSheetEngine";
14
+ } from "./index.js";
13
15
 
14
16
  export type SvelteBottomSheetOpts<TId extends string = string> = Omit<
15
17
  EngineOptions,
@@ -46,10 +48,17 @@ export type SvelteBottomSheetController<TId extends string = string> = {
46
48
  snapTo(id: TId): Promise<void>;
47
49
  open(id?: TId): Promise<void>;
48
50
  close(): Promise<void>;
51
+ expand(): Promise<void>;
52
+ collapse(): Promise<void>;
53
+ isTop(): boolean;
54
+ depth(): number;
49
55
  setAllowed(ids: TId[], snap?: TId): void;
50
56
  setSnapPoints(points: EngineOptions["snapPoints"], allowed?: string[]): void;
51
57
  setScrim(opts: ScrimUpdate): void;
52
58
  setScrimOverlay(opts: ScrimOverlayOptions): () => void;
59
+ addAnchor(opts: AnchorOptions): () => void;
60
+ setScrimStages(opts: ScrimStagesOptions | null): () => void;
61
+ recompute(): void;
53
62
  getEngine(): BottomSheetEngine | null;
54
63
  destroy(): void;
55
64
  };
@@ -73,6 +82,17 @@ export type BottomSheetProps<TId extends string = string> = {
73
82
  backdropRange?: [number, number];
74
83
  backdrop?: boolean;
75
84
  closeOnBackdrop?: boolean;
85
+ persistent?: boolean;
86
+ disableClose?: boolean;
87
+ disableDrag?: boolean;
88
+ closeOnRouteChange?: boolean;
89
+ radius?: string | number;
90
+ maxHeight?: string | number;
91
+ backdropColor?: string;
92
+ backdropOpacity?: number;
93
+ open?: boolean;
94
+ snap?: TId;
95
+ returnFocusTo?: HTMLElement | string | (() => HTMLElement | null);
76
96
  ariaLabel?: string;
77
97
  header?: Snippet<[EngineState & { activeId: TId }]>;
78
98
  leftButton?: Snippet;
@@ -82,6 +102,11 @@ export type BottomSheetProps<TId extends string = string> = {
82
102
  onsnap?: (id: TId) => void;
83
103
  onopen?: (id: TId) => void;
84
104
  onclose?: () => void;
105
+ onbeforeclose?: (payload: SheetEventMap["before-close"]) => void;
106
+ onopened?: (id: TId) => void;
107
+ onclosed?: () => void;
108
+ ondragstart?: () => void;
109
+ ondragend?: () => void;
85
110
  onchange?: (state: EngineState & { activeId: TId }) => void;
86
111
  };
87
112