@surdeddd/bottom-sheet 0.13.0 → 0.14.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 (66) hide show
  1. package/README.md +33 -0
  2. package/dist/{BottomSheetCore-CsIjyq7C.d.cts → BottomSheetCore-Cp7dWy91.d.cts} +26 -1
  3. package/dist/{BottomSheetCore-D16lsa6g.d.ts → BottomSheetCore-DJYwWOqt.d.ts} +26 -1
  4. package/dist/{BottomSheetEngine-BYjAVrmd.d.cts → BottomSheetEngine-Lm7HIVHv.d.cts} +1 -1
  5. package/dist/{BottomSheetEngine-YuCNugZn.d.ts → BottomSheetEngine-O5PbeKfe.d.ts} +1 -1
  6. package/dist/core.cjs +231 -27
  7. package/dist/core.d.cts +2 -2
  8. package/dist/core.d.ts +2 -2
  9. package/dist/core.js +231 -27
  10. package/dist/debug.d.cts +1 -1
  11. package/dist/debug.d.ts +1 -1
  12. package/dist/element.cjs +300 -102
  13. package/dist/element.d.cts +2 -2
  14. package/dist/element.d.ts +2 -2
  15. package/dist/element.iife.global.js +2 -2
  16. package/dist/element.js +300 -102
  17. package/dist/features.cjs +6 -50
  18. package/dist/features.d.cts +2 -2
  19. package/dist/features.d.ts +2 -2
  20. package/dist/features.js +6 -50
  21. package/dist/index-Bb5TRmyg.d.cts +9 -0
  22. package/dist/index-Cl9ebCP2.d.ts +9 -0
  23. package/dist/index.cjs +238 -823
  24. package/dist/index.d.cts +42 -45
  25. package/dist/index.d.ts +42 -45
  26. package/dist/index.js +239 -810
  27. package/dist/integrations/formik.d.cts +1 -1
  28. package/dist/integrations/formik.d.ts +1 -1
  29. package/dist/integrations/react-hook-form.d.cts +1 -1
  30. package/dist/integrations/react-hook-form.d.ts +1 -1
  31. package/dist/overlay.cjs +5 -5
  32. package/dist/overlay.js +5 -5
  33. package/dist/preact.d.cts +2 -2
  34. package/dist/preact.d.ts +2 -2
  35. package/dist/qwik-lib/index.qwik.cjs +228 -77
  36. package/dist/qwik-lib/index.qwik.mjs +228 -77
  37. package/dist/qwik.cjs +245 -77
  38. package/dist/qwik.d.cts +4 -2
  39. package/dist/qwik.d.ts +4 -2
  40. package/dist/qwik.js +245 -77
  41. package/dist/react.cjs +250 -79
  42. package/dist/react.d.cts +3 -4
  43. package/dist/react.d.ts +3 -4
  44. package/dist/react.js +250 -79
  45. package/dist/solid.cjs +251 -77
  46. package/dist/solid.d.cts +27 -0
  47. package/dist/solid.d.ts +27 -0
  48. package/dist/solid.js +251 -77
  49. package/dist/solid.source.jsx +259 -77
  50. package/dist/styles.css +24 -4
  51. package/dist/svelte-core.cjs +237 -77
  52. package/dist/svelte-core.js +237 -77
  53. package/dist/svelte-src/BottomSheet.svelte +14 -0
  54. package/dist/svelte.cjs +247 -77
  55. package/dist/svelte.d.cts +2 -0
  56. package/dist/svelte.d.ts +2 -0
  57. package/dist/svelte.js +247 -77
  58. package/dist/vue.cjs +253 -77
  59. package/dist/vue.js +253 -77
  60. package/dist/webgl.cjs +583 -0
  61. package/dist/webgl.d.cts +17 -0
  62. package/dist/webgl.d.ts +17 -0
  63. package/dist/webgl.js +581 -0
  64. package/package.json +36 -12
  65. package/dist/index-DdYLOIIT.d.ts +0 -15
  66. package/dist/index-dfrzw-lI.d.cts +0 -15
package/dist/solid.d.cts CHANGED
@@ -1,13 +1,18 @@
1
1
  import { JSX } from 'solid-js';
2
2
 
3
+ type DragFrom$1 = "handle" | "sheet" | "zones";
4
+
3
5
  type TransformAxis = "bottom" | "top" | "left" | "right";
4
6
 
5
7
  type SnapPoint = number | `${number}%` | "fit" | "content" | "full" | (string & {});
6
8
  type SnapPointDef<Id extends string = string> = {
7
9
  id: Id;
8
10
  size: SnapPoint;
11
+ dragFromContent?: boolean;
9
12
  };
10
13
  type SheetMode = TransformAxis;
14
+ type DragFrom = DragFrom$1;
15
+ type DragSurfaceKind = "content";
11
16
  type ScrimPreset = "subtle" | "standard" | "monitoring" | "cinematic";
12
17
  type ScrimUpdate = {
13
18
  color?: string | null;
@@ -83,6 +88,8 @@ type EngineOptions = {
83
88
  respectReducedMotion?: boolean;
84
89
  flickVelocity?: number;
85
90
  dragThreshold?: number;
91
+ dragFrom?: DragFrom;
92
+ dragFromContent?: boolean;
86
93
  rubberBand?: boolean;
87
94
  backdropRange?: [number, number];
88
95
  screenRange?: [number, number];
@@ -162,6 +169,7 @@ type EngineFeatureContext = {
162
169
  resyncAfterResize: () => void;
163
170
  snapTo: (id: string) => void;
164
171
  close: (reason?: CloseReason) => Promise<void>;
172
+ attachDragSurface: (surface: HTMLElement, kind: DragSurfaceKind) => (() => void) | void;
165
173
  on: <K extends keyof SheetEventMap>(event: K, fn: (payload: SheetEventMap[K]) => void) => () => void;
166
174
  addTeardown: (fn: (() => void) | null | undefined) => void;
167
175
  };
@@ -241,6 +249,8 @@ declare class BottomSheetCore {
241
249
  private mode;
242
250
  private flickVelocity;
243
251
  private dragThreshold;
252
+ private dragFromMode;
253
+ private dragFromContentDefault;
244
254
  private rubberBandEnabled;
245
255
  private scrim;
246
256
  private aria;
@@ -258,8 +268,11 @@ declare class BottomSheetCore {
258
268
  private activeId;
259
269
  private size;
260
270
  private gesture;
271
+ private contentGesture;
272
+ private detachSheetGesture;
261
273
  private rootEl;
262
274
  private destroyed;
275
+ private restClosed;
263
276
  private currentViewTransition;
264
277
  private currentAbort;
265
278
  private sizeWriteSentinel;
@@ -302,6 +315,7 @@ declare class BottomSheetCore {
302
315
  signal?: AbortSignal;
303
316
  }, _skipBeforeSnap?: boolean): Promise<void>;
304
317
  private completeSnap;
318
+ private setRestClosed;
305
319
  private emitOpenSequence;
306
320
  private emitCloseSequence;
307
321
  dragTo(targetSize: number, velocityOrOpts?: number | {
@@ -314,6 +328,9 @@ declare class BottomSheetCore {
314
328
  setPersistent(value: boolean): void;
315
329
  setDisableClose(value: boolean): void;
316
330
  setDisableDrag(value: boolean): void;
331
+ setDragFromContent(value: boolean): void;
332
+ setDragFrom(mode: DragFrom$1): void;
333
+ getDragFrom(): DragFrom$1;
317
334
  isTop(): boolean;
318
335
  depth(): number;
319
336
  expand(): Promise<void>;
@@ -353,9 +370,17 @@ declare class BottomSheetCore {
353
370
  private updateAriaSlider;
354
371
  private registerInStack;
355
372
  private applyStackDepth;
373
+ private buildGestureDeps;
374
+ private isContentDragAllowed;
375
+ private decideContentDrag;
376
+ private attachDragSurface;
377
+ private sheetDragSurface;
378
+ private canStartSheetDrag;
379
+ private mountSheetGesture;
356
380
  private attach;
357
381
  private attachFeatures;
358
382
  private settleAfterDrag;
383
+ private isDraggingAny;
359
384
  private clearWillChangeIfIdle;
360
385
  private haptic;
361
386
  private applySize;
@@ -395,6 +420,8 @@ type BottomSheetProps<TId extends string = string> = {
395
420
  persistent?: boolean;
396
421
  disableClose?: boolean;
397
422
  disableDrag?: boolean;
423
+ dragFrom?: EngineOptions["dragFrom"];
424
+ dragFromContent?: boolean;
398
425
  closeOnRouteChange?: boolean;
399
426
  stackEffect?: boolean;
400
427
  teleport?: boolean;
package/dist/solid.d.ts CHANGED
@@ -1,13 +1,18 @@
1
1
  import { JSX } from 'solid-js';
2
2
 
3
+ type DragFrom$1 = "handle" | "sheet" | "zones";
4
+
3
5
  type TransformAxis = "bottom" | "top" | "left" | "right";
4
6
 
5
7
  type SnapPoint = number | `${number}%` | "fit" | "content" | "full" | (string & {});
6
8
  type SnapPointDef<Id extends string = string> = {
7
9
  id: Id;
8
10
  size: SnapPoint;
11
+ dragFromContent?: boolean;
9
12
  };
10
13
  type SheetMode = TransformAxis;
14
+ type DragFrom = DragFrom$1;
15
+ type DragSurfaceKind = "content";
11
16
  type ScrimPreset = "subtle" | "standard" | "monitoring" | "cinematic";
12
17
  type ScrimUpdate = {
13
18
  color?: string | null;
@@ -83,6 +88,8 @@ type EngineOptions = {
83
88
  respectReducedMotion?: boolean;
84
89
  flickVelocity?: number;
85
90
  dragThreshold?: number;
91
+ dragFrom?: DragFrom;
92
+ dragFromContent?: boolean;
86
93
  rubberBand?: boolean;
87
94
  backdropRange?: [number, number];
88
95
  screenRange?: [number, number];
@@ -162,6 +169,7 @@ type EngineFeatureContext = {
162
169
  resyncAfterResize: () => void;
163
170
  snapTo: (id: string) => void;
164
171
  close: (reason?: CloseReason) => Promise<void>;
172
+ attachDragSurface: (surface: HTMLElement, kind: DragSurfaceKind) => (() => void) | void;
165
173
  on: <K extends keyof SheetEventMap>(event: K, fn: (payload: SheetEventMap[K]) => void) => () => void;
166
174
  addTeardown: (fn: (() => void) | null | undefined) => void;
167
175
  };
@@ -241,6 +249,8 @@ declare class BottomSheetCore {
241
249
  private mode;
242
250
  private flickVelocity;
243
251
  private dragThreshold;
252
+ private dragFromMode;
253
+ private dragFromContentDefault;
244
254
  private rubberBandEnabled;
245
255
  private scrim;
246
256
  private aria;
@@ -258,8 +268,11 @@ declare class BottomSheetCore {
258
268
  private activeId;
259
269
  private size;
260
270
  private gesture;
271
+ private contentGesture;
272
+ private detachSheetGesture;
261
273
  private rootEl;
262
274
  private destroyed;
275
+ private restClosed;
263
276
  private currentViewTransition;
264
277
  private currentAbort;
265
278
  private sizeWriteSentinel;
@@ -302,6 +315,7 @@ declare class BottomSheetCore {
302
315
  signal?: AbortSignal;
303
316
  }, _skipBeforeSnap?: boolean): Promise<void>;
304
317
  private completeSnap;
318
+ private setRestClosed;
305
319
  private emitOpenSequence;
306
320
  private emitCloseSequence;
307
321
  dragTo(targetSize: number, velocityOrOpts?: number | {
@@ -314,6 +328,9 @@ declare class BottomSheetCore {
314
328
  setPersistent(value: boolean): void;
315
329
  setDisableClose(value: boolean): void;
316
330
  setDisableDrag(value: boolean): void;
331
+ setDragFromContent(value: boolean): void;
332
+ setDragFrom(mode: DragFrom$1): void;
333
+ getDragFrom(): DragFrom$1;
317
334
  isTop(): boolean;
318
335
  depth(): number;
319
336
  expand(): Promise<void>;
@@ -353,9 +370,17 @@ declare class BottomSheetCore {
353
370
  private updateAriaSlider;
354
371
  private registerInStack;
355
372
  private applyStackDepth;
373
+ private buildGestureDeps;
374
+ private isContentDragAllowed;
375
+ private decideContentDrag;
376
+ private attachDragSurface;
377
+ private sheetDragSurface;
378
+ private canStartSheetDrag;
379
+ private mountSheetGesture;
356
380
  private attach;
357
381
  private attachFeatures;
358
382
  private settleAfterDrag;
383
+ private isDraggingAny;
359
384
  private clearWillChangeIfIdle;
360
385
  private haptic;
361
386
  private applySize;
@@ -395,6 +420,8 @@ type BottomSheetProps<TId extends string = string> = {
395
420
  persistent?: boolean;
396
421
  disableClose?: boolean;
397
422
  disableDrag?: boolean;
423
+ dragFrom?: EngineOptions["dragFrom"];
424
+ dragFromContent?: boolean;
398
425
  closeOnRouteChange?: boolean;
399
426
  stackEffect?: boolean;
400
427
  teleport?: boolean;