react-modal-sheet 5.5.0 → 5.7.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.
- package/README.md +305 -89
- package/dist/index.d.mts +16 -7
- package/dist/index.d.ts +16 -7
- package/dist/index.js +604 -558
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +581 -535
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/context.tsx +16 -6
- package/src/hooks/use-modal-effect.ts +147 -85
- package/src/index.tsx +11 -16
- package/src/{SheetBackdrop.tsx → sheet-backdrop.tsx} +3 -12
- package/src/{SheetContainer.tsx → sheet-container.tsx} +2 -2
- package/src/{SheetContent.tsx → sheet-content.tsx} +9 -3
- package/src/{SheetDragIndicator.tsx → sheet-drag-indicator.tsx} +2 -2
- package/src/{SheetHeader.tsx → sheet-header.tsx} +3 -3
- package/src/sheet.tsx +38 -29
- package/src/snap.ts +1 -5
- package/src/types.tsx +13 -1
- package/src/utils.ts +4 -0
package/src/types.tsx
CHANGED
|
@@ -103,7 +103,7 @@ export type SheetSnapPoint = {
|
|
|
103
103
|
snapValueY: number; // Y value is inverted as `y = 0` means sheet is at the top
|
|
104
104
|
};
|
|
105
105
|
|
|
106
|
-
export interface
|
|
106
|
+
export interface InternalContextType {
|
|
107
107
|
currentSnap?: number;
|
|
108
108
|
detent: SheetDetent;
|
|
109
109
|
disableDrag: boolean;
|
|
@@ -114,9 +114,20 @@ export interface SheetContextType {
|
|
|
114
114
|
sheetBoundsRef: (node: HTMLDivElement | null) => void;
|
|
115
115
|
sheetRef: RefObject<any>;
|
|
116
116
|
unstyled: boolean;
|
|
117
|
+
yProgress: MotionValue<number>;
|
|
117
118
|
y: MotionValue<any>;
|
|
118
119
|
}
|
|
119
120
|
|
|
121
|
+
export interface ExposedContextType {
|
|
122
|
+
currentSnap?: number;
|
|
123
|
+
height: number;
|
|
124
|
+
snapPoints: SheetSnapPoint[];
|
|
125
|
+
snapTo: (index: number) => void;
|
|
126
|
+
y: MotionValue<number>;
|
|
127
|
+
yInverted: MotionValue<number>;
|
|
128
|
+
yProgress: MotionValue<number>;
|
|
129
|
+
}
|
|
130
|
+
|
|
120
131
|
export interface SheetScrollerContextType {
|
|
121
132
|
disableDrag: boolean;
|
|
122
133
|
setDragDisabled: () => void;
|
|
@@ -149,6 +160,7 @@ interface SheetCompoundComponent {
|
|
|
149
160
|
DragIndicator: FunctionComponent<SheetDragIndicatorProps>;
|
|
150
161
|
Content: ContentComponent;
|
|
151
162
|
Backdrop: BackdropComponent;
|
|
163
|
+
useContext: () => ExposedContextType;
|
|
152
164
|
}
|
|
153
165
|
|
|
154
166
|
export type SheetCompound = SheetComponent & SheetCompoundComponent;
|
package/src/utils.ts
CHANGED
|
@@ -114,3 +114,7 @@ export function willOpenKeyboard(target: Element) {
|
|
|
114
114
|
export function isHTTPS() {
|
|
115
115
|
return typeof window !== 'undefined' && window.isSecureContext;
|
|
116
116
|
}
|
|
117
|
+
|
|
118
|
+
export function clamp(value: number, min: number, max: number) {
|
|
119
|
+
return Math.min(Math.max(value, min), max);
|
|
120
|
+
}
|