@surdeddd/bottom-sheet 0.3.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 (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 +480 -89
  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 +480 -89
  8. package/dist/index.cjs +341 -80
  9. package/dist/index.d.cts +3 -2
  10. package/dist/index.d.ts +3 -2
  11. package/dist/index.js +341 -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 +352 -81
  21. package/dist/qwik.d.cts +4 -2
  22. package/dist/qwik.d.ts +4 -2
  23. package/dist/qwik.js +352 -81
  24. package/dist/react.cjs +427 -87
  25. package/dist/react.d.cts +29 -4
  26. package/dist/react.d.ts +29 -4
  27. package/dist/react.js +427 -87
  28. package/dist/solid.cjs +341 -80
  29. package/dist/solid.d.cts +38 -2
  30. package/dist/solid.d.ts +38 -2
  31. package/dist/solid.js +341 -80
  32. package/dist/solid.source.jsx +341 -80
  33. package/dist/styles.css +57 -56
  34. package/dist/svelte-core.cjs +346 -80
  35. package/dist/svelte-core.js +346 -80
  36. package/dist/svelte-src/BottomSheet.svelte +103 -5
  37. package/dist/svelte.cjs +421 -88
  38. package/dist/svelte.d.cts +21 -0
  39. package/dist/svelte.d.ts +21 -0
  40. package/dist/svelte.js +421 -88
  41. package/dist/vue.cjs +584 -91
  42. package/dist/vue.d.cts +51 -2
  43. package/dist/vue.d.ts +51 -2
  44. package/dist/vue.js +585 -92
  45. package/package.json +6 -6
package/dist/solid.d.cts CHANGED
@@ -2,7 +2,7 @@ import { JSX } from 'solid-js';
2
2
 
3
3
  type TransformAxis = "bottom" | "top" | "left" | "right";
4
4
 
5
- type SnapPoint = number | `${number}%` | "fit" | "full" | (string & {});
5
+ type SnapPoint = number | `${number}%` | "fit" | "content" | "full" | (string & {});
6
6
  type SnapPointDef<Id extends string = string> = {
7
7
  id: Id;
8
8
  size: SnapPoint;
@@ -33,9 +33,14 @@ type SheetEventMap = {
33
33
  cancel: () => void;
34
34
  previousId: string;
35
35
  };
36
+ "before-close": {
37
+ reason: "programmatic" | "backdrop" | "escape" | "back";
38
+ cancel: () => void;
39
+ };
36
40
  snap: {
37
41
  id: string;
38
42
  size: number;
43
+ progress: number;
39
44
  };
40
45
  progress: {
41
46
  value: number;
@@ -56,7 +61,12 @@ type SheetEventMap = {
56
61
  open: {
57
62
  id: string;
58
63
  };
64
+ opened: {
65
+ id: string;
66
+ };
67
+ closed: undefined;
59
68
  };
69
+ type CloseReason = "programmatic" | "backdrop" | "escape" | "back";
60
70
  type EngineOptions = {
61
71
  element: HTMLElement;
62
72
  handle?: HTMLElement;
@@ -95,6 +105,13 @@ type EngineOptions = {
95
105
  closeOnBack?: boolean;
96
106
  routedTo?: string;
97
107
  inertSiblings?: boolean;
108
+ persistent?: boolean;
109
+ disableClose?: boolean;
110
+ disableDrag?: boolean;
111
+ closeOnRouteChange?: boolean;
112
+ radius?: string | number;
113
+ maxHeight?: string | number;
114
+ returnFocusTo?: HTMLElement | string | (() => HTMLElement | null);
98
115
  persistKey?: string;
99
116
  autoCollapseAfter?: number;
100
117
  linkedSheets?: BottomSheetEngineLike[];
@@ -181,6 +198,11 @@ declare class BottomSheetEngine {
181
198
  private lifecycle;
182
199
  private closeOnBack;
183
200
  private routedTo;
201
+ private persistent;
202
+ private disableCloseFlag;
203
+ private disableDragFlag;
204
+ private closeOnRouteChange;
205
+ private maxHeightCap;
184
206
  private snapPointsRaw;
185
207
  private snaps;
186
208
  private activeId;
@@ -193,6 +215,7 @@ declare class BottomSheetEngine {
193
215
  private sizeWriteSentinel;
194
216
  private progressWriteSentinel;
195
217
  private isTopSheet;
218
+ private opening;
196
219
  private progressPayload;
197
220
  private dragContextBuf;
198
221
  private bus;
@@ -222,7 +245,15 @@ declare class BottomSheetEngine {
222
245
  signal?: AbortSignal;
223
246
  }): Promise<void>;
224
247
  open(id?: string): Promise<void>;
225
- close(): Promise<void>;
248
+ close(reason?: CloseReason): Promise<void>;
249
+ canDismiss(): boolean;
250
+ isTop(): boolean;
251
+ depth(): number;
252
+ expand(): Promise<void>;
253
+ collapse(): Promise<void>;
254
+ setRadius(r: string | number): void;
255
+ setMaxHeight(h: string | number): void;
256
+ private clampToMaxHeight;
226
257
  setAllowed(ids: string[], snap?: string): void;
227
258
  setBackdropRange(range: [number, number]): void;
228
259
  setScreenRange(range: [number, number]): void;
@@ -241,10 +272,15 @@ declare class BottomSheetEngine {
241
272
  enabled: boolean;
242
273
  };
243
274
  setSnapPoints(points: EngineOptions["snapPoints"], allowed?: string[]): void;
275
+ recompute(): void;
276
+ private measureFitSize;
277
+ private installFitObserver;
244
278
  destroy(): void;
245
279
  private emit;
246
280
  private newCycle;
247
281
  private emitBeforeSnap;
282
+ private emitBeforeClose;
283
+ private applyAutoAriaLabelledBy;
248
284
  private recomputeSnaps;
249
285
  private getAllowedRange;
250
286
  private allowedIdsBySize;
package/dist/solid.d.ts CHANGED
@@ -2,7 +2,7 @@ import { JSX } from 'solid-js';
2
2
 
3
3
  type TransformAxis = "bottom" | "top" | "left" | "right";
4
4
 
5
- type SnapPoint = number | `${number}%` | "fit" | "full" | (string & {});
5
+ type SnapPoint = number | `${number}%` | "fit" | "content" | "full" | (string & {});
6
6
  type SnapPointDef<Id extends string = string> = {
7
7
  id: Id;
8
8
  size: SnapPoint;
@@ -33,9 +33,14 @@ type SheetEventMap = {
33
33
  cancel: () => void;
34
34
  previousId: string;
35
35
  };
36
+ "before-close": {
37
+ reason: "programmatic" | "backdrop" | "escape" | "back";
38
+ cancel: () => void;
39
+ };
36
40
  snap: {
37
41
  id: string;
38
42
  size: number;
43
+ progress: number;
39
44
  };
40
45
  progress: {
41
46
  value: number;
@@ -56,7 +61,12 @@ type SheetEventMap = {
56
61
  open: {
57
62
  id: string;
58
63
  };
64
+ opened: {
65
+ id: string;
66
+ };
67
+ closed: undefined;
59
68
  };
69
+ type CloseReason = "programmatic" | "backdrop" | "escape" | "back";
60
70
  type EngineOptions = {
61
71
  element: HTMLElement;
62
72
  handle?: HTMLElement;
@@ -95,6 +105,13 @@ type EngineOptions = {
95
105
  closeOnBack?: boolean;
96
106
  routedTo?: string;
97
107
  inertSiblings?: boolean;
108
+ persistent?: boolean;
109
+ disableClose?: boolean;
110
+ disableDrag?: boolean;
111
+ closeOnRouteChange?: boolean;
112
+ radius?: string | number;
113
+ maxHeight?: string | number;
114
+ returnFocusTo?: HTMLElement | string | (() => HTMLElement | null);
98
115
  persistKey?: string;
99
116
  autoCollapseAfter?: number;
100
117
  linkedSheets?: BottomSheetEngineLike[];
@@ -181,6 +198,11 @@ declare class BottomSheetEngine {
181
198
  private lifecycle;
182
199
  private closeOnBack;
183
200
  private routedTo;
201
+ private persistent;
202
+ private disableCloseFlag;
203
+ private disableDragFlag;
204
+ private closeOnRouteChange;
205
+ private maxHeightCap;
184
206
  private snapPointsRaw;
185
207
  private snaps;
186
208
  private activeId;
@@ -193,6 +215,7 @@ declare class BottomSheetEngine {
193
215
  private sizeWriteSentinel;
194
216
  private progressWriteSentinel;
195
217
  private isTopSheet;
218
+ private opening;
196
219
  private progressPayload;
197
220
  private dragContextBuf;
198
221
  private bus;
@@ -222,7 +245,15 @@ declare class BottomSheetEngine {
222
245
  signal?: AbortSignal;
223
246
  }): Promise<void>;
224
247
  open(id?: string): Promise<void>;
225
- close(): Promise<void>;
248
+ close(reason?: CloseReason): Promise<void>;
249
+ canDismiss(): boolean;
250
+ isTop(): boolean;
251
+ depth(): number;
252
+ expand(): Promise<void>;
253
+ collapse(): Promise<void>;
254
+ setRadius(r: string | number): void;
255
+ setMaxHeight(h: string | number): void;
256
+ private clampToMaxHeight;
226
257
  setAllowed(ids: string[], snap?: string): void;
227
258
  setBackdropRange(range: [number, number]): void;
228
259
  setScreenRange(range: [number, number]): void;
@@ -241,10 +272,15 @@ declare class BottomSheetEngine {
241
272
  enabled: boolean;
242
273
  };
243
274
  setSnapPoints(points: EngineOptions["snapPoints"], allowed?: string[]): void;
275
+ recompute(): void;
276
+ private measureFitSize;
277
+ private installFitObserver;
244
278
  destroy(): void;
245
279
  private emit;
246
280
  private newCycle;
247
281
  private emitBeforeSnap;
282
+ private emitBeforeClose;
283
+ private applyAutoAriaLabelledBy;
248
284
  private recomputeSnaps;
249
285
  private getAllowedRange;
250
286
  private allowedIdsBySize;