@surdeddd/bottom-sheet 0.3.0 → 0.4.1

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 (45) hide show
  1. package/dist/{BottomSheetEngine-CAymrH-P.d.cts → BottomSheetEngine-BJrH7qY3.d.cts} +39 -3
  2. package/dist/{BottomSheetEngine-DcqcuudN.d.ts → BottomSheetEngine-L05jGZvU.d.ts} +39 -3
  3. package/dist/element.cjs +490 -91
  4. package/dist/element.d.cts +23 -4
  5. package/dist/element.d.ts +23 -4
  6. package/dist/element.iife.global.js +2 -2
  7. package/dist/element.js +490 -91
  8. package/dist/index.cjs +347 -80
  9. package/dist/index.d.cts +3 -2
  10. package/dist/index.d.ts +3 -2
  11. package/dist/index.js +347 -80
  12. package/dist/integrations/formik.d.cts +1 -1
  13. package/dist/integrations/formik.d.ts +1 -1
  14. package/dist/integrations/react-hook-form.d.cts +1 -1
  15. package/dist/integrations/react-hook-form.d.ts +1 -1
  16. package/dist/overlay.cjs +13 -2
  17. package/dist/overlay.js +13 -2
  18. package/dist/preact.d.cts +1 -1
  19. package/dist/preact.d.ts +1 -1
  20. package/dist/qwik.cjs +358 -81
  21. package/dist/qwik.d.cts +4 -2
  22. package/dist/qwik.d.ts +4 -2
  23. package/dist/qwik.js +358 -81
  24. package/dist/react.cjs +451 -89
  25. package/dist/react.d.cts +29 -4
  26. package/dist/react.d.ts +29 -4
  27. package/dist/react.js +451 -89
  28. package/dist/solid.cjs +347 -80
  29. package/dist/solid.d.cts +38 -2
  30. package/dist/solid.d.ts +38 -2
  31. package/dist/solid.js +347 -80
  32. package/dist/solid.source.jsx +347 -80
  33. package/dist/styles.css +68 -55
  34. package/dist/svelte-core.cjs +352 -80
  35. package/dist/svelte-core.js +352 -80
  36. package/dist/svelte-src/BottomSheet.svelte +113 -15
  37. package/dist/svelte.cjs +474 -133
  38. package/dist/svelte.d.cts +21 -0
  39. package/dist/svelte.d.ts +21 -0
  40. package/dist/svelte.js +474 -133
  41. package/dist/vue.cjs +610 -109
  42. package/dist/vue.d.cts +51 -2
  43. package/dist/vue.d.ts +51 -2
  44. package/dist/vue.js +611 -110
  45. package/package.json +8 -8
package/dist/vue.d.cts CHANGED
@@ -2,6 +2,7 @@ import type { DefineComponent } from "vue";
2
2
  import type {
3
3
  AnchorOptions,
4
4
  BottomSheetEngine,
5
+ CloseReason,
5
6
  EngineOptions,
6
7
  EngineState,
7
8
  SheetEventMap,
@@ -39,7 +40,7 @@ export type UseBottomSheetVueReturn<TId extends string = string> = {
39
40
  state: EngineState & { activeId: TId };
40
41
  snapTo: (id: TId) => Promise<void>;
41
42
  open: (id?: TId) => Promise<void>;
42
- close: () => Promise<void>;
43
+ close: (reason?: CloseReason) => Promise<void>;
43
44
  setAllowed: (ids: TId[], snap?: TId) => void;
44
45
  setSnapPoints: (
45
46
  points: EngineOptions["snapPoints"],
@@ -49,6 +50,16 @@ export type UseBottomSheetVueReturn<TId extends string = string> = {
49
50
  setScrimOverlay: (opts: ScrimOverlayOptions) => () => void;
50
51
  addAnchor: (opts: AnchorOptions) => () => void;
51
52
  setScrimStages: (opts: ScrimStagesOptions | null) => () => void;
53
+ recompute: () => void;
54
+ setScrimColor: (color: string | undefined | null) => void;
55
+ setBackdropRange: (range: [number, number]) => void;
56
+ setRadius: (r: string | number) => void;
57
+ setMaxHeight: (h: string | number) => void;
58
+ expand: () => Promise<void>;
59
+ collapse: () => Promise<void>;
60
+ isTop: () => boolean;
61
+ depth: () => number;
62
+ canDismiss: () => boolean;
52
63
  on: <K extends keyof SheetEventMap>(
53
64
  event: K,
54
65
  fn: (payload: SheetEventMap[K]) => void,
@@ -60,14 +71,51 @@ export function useBottomSheet<TId extends string = string>(
60
71
  opts: UseBottomSheetVueOptions<TId>,
61
72
  ): UseBottomSheetVueReturn<TId>;
62
73
 
74
+ export type VueAnchor<TId extends string = string> = Omit<
75
+ AnchorOptions,
76
+ "element"
77
+ > & { id: string };
78
+
63
79
  export type BottomSheetProps<TId extends string = string> =
64
80
  UseBottomSheetVueOptions<TId> & {
65
81
  backdrop?: boolean;
66
82
  closeOnBackdrop?: boolean;
67
83
  ariaLabel?: string;
84
+ open?: boolean;
85
+ snap?: TId;
86
+ teleport?: boolean;
87
+ teleportTo?: string | HTMLElement;
88
+ anchors?: VueAnchor<TId>[];
89
+ scrimStages?: ScrimStagesOptions | null;
90
+ backdropColor?: string;
91
+ backdropOpacity?: number;
68
92
  };
69
93
 
70
- export const BottomSheet: DefineComponent<BottomSheetProps>;
94
+ export const BottomSheet: DefineComponent<
95
+ BottomSheetProps,
96
+ Record<string, never>,
97
+ Record<string, never>,
98
+ Record<string, never>,
99
+ Record<string, never>,
100
+ Record<string, never>,
101
+ Record<string, never>,
102
+ {
103
+ change: (state: EngineState) => void;
104
+ snap: (id: string) => void;
105
+ open: (id: string) => void;
106
+ close: () => void;
107
+ opened: (id: string) => void;
108
+ closed: () => void;
109
+ "before-close": (payload: {
110
+ reason: CloseReason;
111
+ cancel: () => void;
112
+ }) => void;
113
+ "drag-start": (payload: { size: number }) => void;
114
+ "drag-end": (payload: { size: number; velocity: number }) => void;
115
+ "update:open": (open: boolean) => void;
116
+ "update:snap": (id: string) => void;
117
+ }
118
+ >;
71
119
 
72
120
  export type {
73
121
  SnapPoint,
@@ -75,4 +123,5 @@ export type {
75
123
  SheetMode,
76
124
  EngineState,
77
125
  EngineOptions,
126
+ CloseReason,
78
127
  };
package/dist/vue.d.ts CHANGED
@@ -2,6 +2,7 @@ import type { DefineComponent } from "vue";
2
2
  import type {
3
3
  AnchorOptions,
4
4
  BottomSheetEngine,
5
+ CloseReason,
5
6
  EngineOptions,
6
7
  EngineState,
7
8
  SheetEventMap,
@@ -39,7 +40,7 @@ export type UseBottomSheetVueReturn<TId extends string = string> = {
39
40
  state: EngineState & { activeId: TId };
40
41
  snapTo: (id: TId) => Promise<void>;
41
42
  open: (id?: TId) => Promise<void>;
42
- close: () => Promise<void>;
43
+ close: (reason?: CloseReason) => Promise<void>;
43
44
  setAllowed: (ids: TId[], snap?: TId) => void;
44
45
  setSnapPoints: (
45
46
  points: EngineOptions["snapPoints"],
@@ -49,6 +50,16 @@ export type UseBottomSheetVueReturn<TId extends string = string> = {
49
50
  setScrimOverlay: (opts: ScrimOverlayOptions) => () => void;
50
51
  addAnchor: (opts: AnchorOptions) => () => void;
51
52
  setScrimStages: (opts: ScrimStagesOptions | null) => () => void;
53
+ recompute: () => void;
54
+ setScrimColor: (color: string | undefined | null) => void;
55
+ setBackdropRange: (range: [number, number]) => void;
56
+ setRadius: (r: string | number) => void;
57
+ setMaxHeight: (h: string | number) => void;
58
+ expand: () => Promise<void>;
59
+ collapse: () => Promise<void>;
60
+ isTop: () => boolean;
61
+ depth: () => number;
62
+ canDismiss: () => boolean;
52
63
  on: <K extends keyof SheetEventMap>(
53
64
  event: K,
54
65
  fn: (payload: SheetEventMap[K]) => void,
@@ -60,14 +71,51 @@ export function useBottomSheet<TId extends string = string>(
60
71
  opts: UseBottomSheetVueOptions<TId>,
61
72
  ): UseBottomSheetVueReturn<TId>;
62
73
 
74
+ export type VueAnchor<TId extends string = string> = Omit<
75
+ AnchorOptions,
76
+ "element"
77
+ > & { id: string };
78
+
63
79
  export type BottomSheetProps<TId extends string = string> =
64
80
  UseBottomSheetVueOptions<TId> & {
65
81
  backdrop?: boolean;
66
82
  closeOnBackdrop?: boolean;
67
83
  ariaLabel?: string;
84
+ open?: boolean;
85
+ snap?: TId;
86
+ teleport?: boolean;
87
+ teleportTo?: string | HTMLElement;
88
+ anchors?: VueAnchor<TId>[];
89
+ scrimStages?: ScrimStagesOptions | null;
90
+ backdropColor?: string;
91
+ backdropOpacity?: number;
68
92
  };
69
93
 
70
- export const BottomSheet: DefineComponent<BottomSheetProps>;
94
+ export const BottomSheet: DefineComponent<
95
+ BottomSheetProps,
96
+ Record<string, never>,
97
+ Record<string, never>,
98
+ Record<string, never>,
99
+ Record<string, never>,
100
+ Record<string, never>,
101
+ Record<string, never>,
102
+ {
103
+ change: (state: EngineState) => void;
104
+ snap: (id: string) => void;
105
+ open: (id: string) => void;
106
+ close: () => void;
107
+ opened: (id: string) => void;
108
+ closed: () => void;
109
+ "before-close": (payload: {
110
+ reason: CloseReason;
111
+ cancel: () => void;
112
+ }) => void;
113
+ "drag-start": (payload: { size: number }) => void;
114
+ "drag-end": (payload: { size: number; velocity: number }) => void;
115
+ "update:open": (open: boolean) => void;
116
+ "update:snap": (id: string) => void;
117
+ }
118
+ >;
71
119
 
72
120
  export type {
73
121
  SnapPoint,
@@ -75,4 +123,5 @@ export type {
75
123
  SheetMode,
76
124
  EngineState,
77
125
  EngineOptions,
126
+ CloseReason,
78
127
  };