@tamagui/sheet 1.58.7 → 1.59.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/dist/cjs/SheetImplementationCustom.js +72 -14
- package/dist/cjs/SheetImplementationCustom.js.map +2 -2
- package/dist/cjs/createSheet.js +20 -4
- package/dist/cjs/createSheet.js.map +1 -1
- package/dist/cjs/useSheetOffscreenSize.js +27 -5
- package/dist/cjs/useSheetOffscreenSize.js.map +2 -2
- package/dist/cjs/useSheetProviderProps.js +43 -5
- package/dist/cjs/useSheetProviderProps.js.map +1 -1
- package/dist/esm/SheetImplementationCustom.js +74 -15
- package/dist/esm/SheetImplementationCustom.js.map +2 -2
- package/dist/esm/createSheet.js +26 -5
- package/dist/esm/createSheet.js.map +1 -1
- package/dist/esm/useSheetOffscreenSize.js +27 -5
- package/dist/esm/useSheetOffscreenSize.js.map +2 -2
- package/dist/esm/useSheetProviderProps.js +43 -5
- package/dist/esm/useSheetProviderProps.js.map +1 -1
- package/dist/jsx/SheetImplementationCustom.js +70 -15
- package/dist/jsx/SheetImplementationCustom.js.map +2 -2
- package/dist/jsx/createSheet.js +18 -2
- package/dist/jsx/createSheet.js.map +1 -1
- package/dist/jsx/useSheetOffscreenSize.js +27 -5
- package/dist/jsx/useSheetOffscreenSize.js.map +2 -2
- package/dist/jsx/useSheetProviderProps.js +43 -5
- package/dist/jsx/useSheetProviderProps.js.map +1 -1
- package/package.json +14 -14
- package/src/SheetImplementationCustom.tsx +85 -15
- package/src/createSheet.tsx +21 -3
- package/src/types.tsx +4 -1
- package/src/useSheetOffscreenSize.tsx +40 -4
- package/src/useSheetProviderProps.tsx +65 -5
- package/types/Sheet.d.ts +2 -1
- package/types/Sheet.d.ts.map +1 -1
- package/types/SheetContext.d.ts +25 -10
- package/types/SheetContext.d.ts.map +1 -1
- package/types/SheetImplementationCustom.d.ts +3 -1
- package/types/SheetImplementationCustom.d.ts.map +1 -1
- package/types/createSheet.d.ts +2 -1
- package/types/createSheet.d.ts.map +1 -1
- package/types/types.d.ts +3 -1
- package/types/types.d.ts.map +1 -1
- package/types/useSheet.d.ts +5 -2
- package/types/useSheet.d.ts.map +1 -1
- package/types/useSheetOffscreenSize.d.ts +1 -1
- package/types/useSheetOffscreenSize.d.ts.map +1 -1
- package/types/useSheetProviderProps.d.ts +5 -2
- package/types/useSheetProviderProps.d.ts.map +1 -1
|
@@ -36,7 +36,7 @@ import { SHEET_HIDDEN_STYLESHEET } from './constants'
|
|
|
36
36
|
import { ParentSheetContext, SheetInsideSheetContext } from './contexts'
|
|
37
37
|
import { resisted } from './helpers'
|
|
38
38
|
import { SheetProvider } from './SheetContext'
|
|
39
|
-
import { SheetProps } from './types'
|
|
39
|
+
import { SheetProps, SnapPointsMode } from './types'
|
|
40
40
|
import { useSheetOpenState } from './useSheetOpenState'
|
|
41
41
|
import { useSheetProviderProps } from './useSheetProviderProps'
|
|
42
42
|
|
|
@@ -65,10 +65,13 @@ export const SheetImplementationCustom = themeable(
|
|
|
65
65
|
frameSize,
|
|
66
66
|
setFrameSize,
|
|
67
67
|
snapPoints,
|
|
68
|
+
snapPointsMode,
|
|
69
|
+
hasFit,
|
|
68
70
|
position,
|
|
69
71
|
setPosition,
|
|
70
72
|
scrollBridge,
|
|
71
73
|
screenSize,
|
|
74
|
+
setMaxContentSize,
|
|
72
75
|
maxSnapPoint,
|
|
73
76
|
} = providerProps
|
|
74
77
|
const { open, controller, isHidden } = state
|
|
@@ -87,8 +90,11 @@ export const SheetImplementationCustom = themeable(
|
|
|
87
90
|
}, [])
|
|
88
91
|
|
|
89
92
|
const positions = useMemo(
|
|
90
|
-
() =>
|
|
91
|
-
|
|
93
|
+
() =>
|
|
94
|
+
snapPoints.map((point) =>
|
|
95
|
+
getYPositions(snapPointsMode, point, screenSize, frameSize)
|
|
96
|
+
),
|
|
97
|
+
[screenSize, frameSize, snapPoints, snapPointsMode]
|
|
92
98
|
)
|
|
93
99
|
|
|
94
100
|
const driver = useAnimationDriver()
|
|
@@ -178,11 +184,11 @@ export const SheetImplementationCustom = themeable(
|
|
|
178
184
|
}, [hasntMeasured, screenSize])
|
|
179
185
|
|
|
180
186
|
useIsomorphicLayoutEffect(() => {
|
|
181
|
-
if (!frameSize || isHidden || (hasntMeasured && !open)) {
|
|
187
|
+
if (!frameSize || !screenSize || isHidden || (hasntMeasured && !open)) {
|
|
182
188
|
return
|
|
183
189
|
}
|
|
184
190
|
animateTo(position)
|
|
185
|
-
}, [isHidden, frameSize, open, position])
|
|
191
|
+
}, [isHidden, frameSize, screenSize, open, position])
|
|
186
192
|
|
|
187
193
|
const disableDrag = props.disableDrag ?? controller?.disableDrag
|
|
188
194
|
const themeName = useThemeName()
|
|
@@ -314,6 +320,15 @@ export const SheetImplementationCustom = themeable(
|
|
|
314
320
|
[keyboardIsVisible]
|
|
315
321
|
)
|
|
316
322
|
|
|
323
|
+
const handleMaxContentViewLayout = useCallback(
|
|
324
|
+
(e: LayoutChangeEvent) => {
|
|
325
|
+
const next = e.nativeEvent?.layout.height
|
|
326
|
+
if (!next) return
|
|
327
|
+
setMaxContentSize(next)
|
|
328
|
+
},
|
|
329
|
+
[keyboardIsVisible]
|
|
330
|
+
)
|
|
331
|
+
|
|
317
332
|
const animatedStyle = useAnimatedNumberStyle(animatedNumber, (val) => {
|
|
318
333
|
'worklet'
|
|
319
334
|
const translateY = frameSize === 0 ? hiddenSize : val
|
|
@@ -362,6 +377,12 @@ export const SheetImplementationCustom = themeable(
|
|
|
362
377
|
}
|
|
363
378
|
}, [open])
|
|
364
379
|
|
|
380
|
+
const forcedContentHeight = hasFit
|
|
381
|
+
? frameSize
|
|
382
|
+
: snapPointsMode === 'percent'
|
|
383
|
+
? `${maxSnapPoint}%`
|
|
384
|
+
: maxSnapPoint
|
|
385
|
+
|
|
365
386
|
const contents = (
|
|
366
387
|
<ParentSheetContext.Provider value={nextParentContext}>
|
|
367
388
|
<SheetProvider {...providerProps}>
|
|
@@ -369,10 +390,25 @@ export const SheetImplementationCustom = themeable(
|
|
|
369
390
|
{shouldHideParentSheet || !open ? null : overlayComponent}
|
|
370
391
|
</AnimatePresence>
|
|
371
392
|
|
|
393
|
+
{snapPointsMode !== 'percent' && (
|
|
394
|
+
<View
|
|
395
|
+
style={{
|
|
396
|
+
opacity: 0,
|
|
397
|
+
position: 'absolute',
|
|
398
|
+
top: 0,
|
|
399
|
+
left: 0,
|
|
400
|
+
right: 0,
|
|
401
|
+
bottom: 0,
|
|
402
|
+
pointerEvents: 'none',
|
|
403
|
+
}}
|
|
404
|
+
pointerEvents="none"
|
|
405
|
+
onLayout={handleMaxContentViewLayout}
|
|
406
|
+
/>
|
|
407
|
+
)}
|
|
372
408
|
<AnimatedView
|
|
373
409
|
ref={ref}
|
|
374
410
|
{...panResponder?.panHandlers}
|
|
375
|
-
onLayout={handleAnimationViewLayout}
|
|
411
|
+
onLayout={hasFit ? undefined : handleAnimationViewLayout}
|
|
376
412
|
pointerEvents={open && !shouldHideParentSheet ? 'auto' : 'none'}
|
|
377
413
|
// @ts-ignore
|
|
378
414
|
animation={props.animation}
|
|
@@ -381,8 +417,8 @@ export const SheetImplementationCustom = themeable(
|
|
|
381
417
|
position: 'absolute',
|
|
382
418
|
zIndex,
|
|
383
419
|
width: '100%',
|
|
384
|
-
height:
|
|
385
|
-
minHeight:
|
|
420
|
+
height: forcedContentHeight,
|
|
421
|
+
minHeight: forcedContentHeight,
|
|
386
422
|
opacity,
|
|
387
423
|
},
|
|
388
424
|
animatedStyle,
|
|
@@ -428,14 +464,48 @@ export const SheetImplementationCustom = themeable(
|
|
|
428
464
|
})
|
|
429
465
|
)
|
|
430
466
|
|
|
431
|
-
function
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
467
|
+
function getYPositions(
|
|
468
|
+
mode: SnapPointsMode,
|
|
469
|
+
point: string | number,
|
|
470
|
+
screenSize?: number,
|
|
471
|
+
frameSize?: number
|
|
472
|
+
) {
|
|
473
|
+
if (!screenSize || !frameSize) return 0
|
|
474
|
+
|
|
475
|
+
if (mode === 'mixed') {
|
|
476
|
+
if (typeof point === 'number') {
|
|
477
|
+
return screenSize - Math.min(screenSize, Math.max(0, point))
|
|
478
|
+
}
|
|
479
|
+
if (point === 'fit') {
|
|
480
|
+
return screenSize - frameSize
|
|
481
|
+
}
|
|
482
|
+
if (point.endsWith('%')) {
|
|
483
|
+
const pct = Math.min(100, Math.max(0, Number(point.slice(0, -1)))) / 100
|
|
484
|
+
if (Number.isNaN(pct)) {
|
|
485
|
+
console.warn('Invalid snapPoint percentage string')
|
|
486
|
+
return 0
|
|
487
|
+
}
|
|
488
|
+
const next = Math.round(screenSize - pct * screenSize)
|
|
489
|
+
return next
|
|
490
|
+
}
|
|
491
|
+
console.warn('Invalid snapPoint unknown value')
|
|
492
|
+
return 0
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
if (mode === 'fit') {
|
|
496
|
+
if (point === 0) return screenSize
|
|
497
|
+
return screenSize - Math.min(screenSize, frameSize)
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
if (mode === 'constant' && typeof point === 'number') {
|
|
501
|
+
return screenSize - Math.min(screenSize, Math.max(0, point))
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
const pct = Math.min(100, Math.max(0, Number(point))) / 100
|
|
505
|
+
if (Number.isNaN(pct)) {
|
|
506
|
+
console.warn('Invalid snapPoint percentage')
|
|
435
507
|
return 0
|
|
436
508
|
}
|
|
437
|
-
const pct = point / 100
|
|
438
|
-
const next = Math.round(screenSize - pct * screenSize)
|
|
439
509
|
|
|
440
|
-
return
|
|
510
|
+
return Math.round(screenSize - pct * screenSize)
|
|
441
511
|
}
|
package/src/createSheet.tsx
CHANGED
|
@@ -11,8 +11,15 @@ import {
|
|
|
11
11
|
withStaticProperties,
|
|
12
12
|
} from '@tamagui/core'
|
|
13
13
|
import { RemoveScroll } from '@tamagui/remove-scroll'
|
|
14
|
-
import {
|
|
15
|
-
|
|
14
|
+
import {
|
|
15
|
+
FunctionComponent,
|
|
16
|
+
RefAttributes,
|
|
17
|
+
forwardRef,
|
|
18
|
+
memo,
|
|
19
|
+
useCallback,
|
|
20
|
+
useMemo,
|
|
21
|
+
} from 'react'
|
|
22
|
+
import { LayoutChangeEvent, Platform, View } from 'react-native'
|
|
16
23
|
|
|
17
24
|
import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from './constants'
|
|
18
25
|
import { getNativeSheet } from './nativeSheet'
|
|
@@ -126,10 +133,21 @@ export function createSheet<
|
|
|
126
133
|
const composedContentRef = useComposedRefs(forwardedRef, contentRef)
|
|
127
134
|
const offscreenSize = useSheetOffscreenSize(context)
|
|
128
135
|
|
|
136
|
+
const handleLayoutChange = useCallback((e: LayoutChangeEvent) => {
|
|
137
|
+
const next = e.nativeEvent?.layout.height
|
|
138
|
+
if (!next) return
|
|
139
|
+
context.setFrameSize(next)
|
|
140
|
+
}, [])
|
|
141
|
+
|
|
129
142
|
const sheetContents = useMemo(() => {
|
|
130
143
|
return (
|
|
131
144
|
// @ts-ignore
|
|
132
|
-
<Frame
|
|
145
|
+
<Frame
|
|
146
|
+
ref={composedContentRef}
|
|
147
|
+
height={context.hasFit ? undefined : frameSize}
|
|
148
|
+
onLayout={context.hasFit ? handleLayoutChange : undefined}
|
|
149
|
+
{...props}
|
|
150
|
+
>
|
|
133
151
|
{children}
|
|
134
152
|
<Stack data-sheet-offscreen-pad height={offscreenSize} width="100%" />
|
|
135
153
|
</Frame>
|
package/src/types.tsx
CHANGED
|
@@ -11,7 +11,8 @@ export type SheetProps = ScopedProps<
|
|
|
11
11
|
onOpenChange?: OpenChangeHandler
|
|
12
12
|
position?: number
|
|
13
13
|
defaultPosition?: number
|
|
14
|
-
snapPoints?: number[]
|
|
14
|
+
snapPoints?: (string | number)[]
|
|
15
|
+
snapPointsMode?: SnapPointsMode
|
|
15
16
|
onPositionChange?: PositionChangeHandler
|
|
16
17
|
children?: ReactNode
|
|
17
18
|
dismissOnOverlayPress?: boolean
|
|
@@ -54,6 +55,8 @@ type OpenChangeHandler =
|
|
|
54
55
|
|
|
55
56
|
export type RemoveScrollProps = React.ComponentProps<typeof RemoveScroll>
|
|
56
57
|
|
|
58
|
+
export type SnapPointsMode = 'percent' | 'constant' | 'fit' | 'mixed'
|
|
59
|
+
|
|
57
60
|
export type SheetScopedProps<A> = ScopedProps<A, 'Sheet'>
|
|
58
61
|
|
|
59
62
|
export type ScrollBridge = {
|
|
@@ -4,10 +4,46 @@ export const useSheetOffscreenSize = ({
|
|
|
4
4
|
snapPoints,
|
|
5
5
|
position,
|
|
6
6
|
screenSize,
|
|
7
|
+
frameSize,
|
|
8
|
+
snapPointsMode,
|
|
7
9
|
}: SheetContextValue) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
if (snapPointsMode === 'fit') {
|
|
11
|
+
return 0
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (snapPointsMode === 'constant') {
|
|
15
|
+
const maxSize = Number(snapPoints[0])
|
|
16
|
+
const currentSize = Number(snapPoints[position] ?? 0)
|
|
17
|
+
const offscreenSize = maxSize - currentSize
|
|
18
|
+
return offscreenSize
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (snapPointsMode === 'percent') {
|
|
22
|
+
const maxPercentOpened = Number(snapPoints[0]) / 100
|
|
23
|
+
const percentOpened = Number(snapPoints[position] ?? 0) / 100
|
|
24
|
+
const percentHidden = 1 - maxPercentOpened - percentOpened
|
|
25
|
+
const offscreenSize = percentHidden * screenSize
|
|
26
|
+
return offscreenSize
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// mixed:
|
|
30
|
+
const maxSnapPoint = snapPoints[0]
|
|
31
|
+
const maxSize =
|
|
32
|
+
maxSnapPoint === 'fit'
|
|
33
|
+
? frameSize
|
|
34
|
+
: typeof maxSnapPoint === 'string'
|
|
35
|
+
? (Number(maxSnapPoint.slice(0, -1)) / 100) * screenSize
|
|
36
|
+
: maxSnapPoint
|
|
37
|
+
const currentSnapPoint = snapPoints[position] ?? 0
|
|
38
|
+
const currentSize =
|
|
39
|
+
currentSnapPoint === 'fit'
|
|
40
|
+
? frameSize
|
|
41
|
+
: typeof currentSnapPoint === 'string'
|
|
42
|
+
? (Number(currentSnapPoint.slice(0, -1)) / 100) * screenSize
|
|
43
|
+
: currentSnapPoint
|
|
44
|
+
const offscreenSize = maxSize - currentSize
|
|
45
|
+
if (Number.isNaN(offscreenSize)) {
|
|
46
|
+
return 0
|
|
47
|
+
}
|
|
12
48
|
return offscreenSize
|
|
13
49
|
}
|
|
@@ -17,7 +17,16 @@ export function useSheetProviderProps(
|
|
|
17
17
|
) {
|
|
18
18
|
const contentRef = React.useRef<TamaguiElement>(null)
|
|
19
19
|
const [frameSize, setFrameSize] = useState<number>(0)
|
|
20
|
-
const
|
|
20
|
+
const [maxContentSize, setMaxContentSize] = useState<number>(0)
|
|
21
|
+
const snapPointsMode = props.snapPointsMode ?? 'percent'
|
|
22
|
+
const snapPointsProp: (string | number)[] =
|
|
23
|
+
props.snapPoints ??
|
|
24
|
+
(snapPointsMode === 'percent'
|
|
25
|
+
? [80]
|
|
26
|
+
: snapPointsMode === 'constant'
|
|
27
|
+
? [256]
|
|
28
|
+
: ['fit'])
|
|
29
|
+
const hasFit = snapPointsProp[0] === 'fit'
|
|
21
30
|
|
|
22
31
|
const snapPoints = useMemo(
|
|
23
32
|
() => (props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp),
|
|
@@ -51,9 +60,54 @@ export function useSheetProviderProps(
|
|
|
51
60
|
)
|
|
52
61
|
|
|
53
62
|
if (process.env.NODE_ENV === 'development') {
|
|
54
|
-
if (
|
|
63
|
+
if (
|
|
64
|
+
snapPointsMode === 'mixed' &&
|
|
65
|
+
snapPoints.some((p) => {
|
|
66
|
+
if (typeof p === 'string') {
|
|
67
|
+
if (p === 'fit') {
|
|
68
|
+
return false
|
|
69
|
+
}
|
|
70
|
+
if (p.endsWith('%')) {
|
|
71
|
+
const n = Number(p.slice(0, -1))
|
|
72
|
+
return n < 0 || n > 100
|
|
73
|
+
}
|
|
74
|
+
return true
|
|
75
|
+
}
|
|
76
|
+
return typeof p !== 'number' || p < 0
|
|
77
|
+
})
|
|
78
|
+
) {
|
|
55
79
|
console.warn(
|
|
56
|
-
'⚠️ Invalid snapPoint given, snapPoints must be between 0
|
|
80
|
+
'⚠️ Invalid snapPoint given, snapPoints must be positive numeric values, string percentages between 0-100%, or "fit" when snapPointsMode is mixed'
|
|
81
|
+
)
|
|
82
|
+
}
|
|
83
|
+
if (snapPointsMode === 'mixed' && snapPoints.indexOf('fit') > 0) {
|
|
84
|
+
console.warn(
|
|
85
|
+
'⚠️ Invalid snapPoint given, "fit" must be the first/largest snap point when snapPointsMode is mixed'
|
|
86
|
+
)
|
|
87
|
+
}
|
|
88
|
+
if (
|
|
89
|
+
snapPointsMode === 'fit' &&
|
|
90
|
+
(snapPoints.length !== (props.dismissOnSnapToBottom ? 2 : 1) ||
|
|
91
|
+
snapPoints[0] !== 'fit')
|
|
92
|
+
) {
|
|
93
|
+
console.warn(
|
|
94
|
+
'⚠️ Invalid snapPoint given, there are no snap points when snapPointsMode is fit'
|
|
95
|
+
)
|
|
96
|
+
}
|
|
97
|
+
if (
|
|
98
|
+
snapPointsMode === 'constant' &&
|
|
99
|
+
snapPoints.some((p) => typeof p !== 'number' || p < 0)
|
|
100
|
+
) {
|
|
101
|
+
console.warn(
|
|
102
|
+
'⚠️ Invalid snapPoint given, snapPoints must be positive numeric values when snapPointsMode is constant'
|
|
103
|
+
)
|
|
104
|
+
}
|
|
105
|
+
if (
|
|
106
|
+
snapPointsMode === 'percent' &&
|
|
107
|
+
snapPoints.some((p) => typeof p !== 'number' || p < 0 || p > 100)
|
|
108
|
+
) {
|
|
109
|
+
console.warn(
|
|
110
|
+
'⚠️ Invalid snapPoint given, snapPoints must be numeric values between 0 and 100 when snapPointsMode is percent'
|
|
57
111
|
)
|
|
58
112
|
}
|
|
59
113
|
}
|
|
@@ -89,8 +143,11 @@ export function useSheetProviderProps(
|
|
|
89
143
|
|
|
90
144
|
const removeScrollEnabled = props.forceRemoveScrollEnabled ?? (open && props.modal)
|
|
91
145
|
|
|
92
|
-
const maxSnapPoint = snapPoints
|
|
93
|
-
const screenSize =
|
|
146
|
+
const maxSnapPoint = snapPoints[0]
|
|
147
|
+
const screenSize =
|
|
148
|
+
snapPointsMode === 'percent'
|
|
149
|
+
? frameSize / ((typeof maxSnapPoint === 'number' ? maxSnapPoint : 100) / 100)
|
|
150
|
+
: maxContentSize
|
|
94
151
|
|
|
95
152
|
const providerProps = {
|
|
96
153
|
screenSize,
|
|
@@ -108,8 +165,11 @@ export function useSheetProviderProps(
|
|
|
108
165
|
dismissOnSnapToBottom: props.dismissOnSnapToBottom ?? false,
|
|
109
166
|
onOverlayComponent: options.onOverlayComponent,
|
|
110
167
|
scope: props.__scopeSheet,
|
|
168
|
+
hasFit,
|
|
111
169
|
position,
|
|
112
170
|
snapPoints,
|
|
171
|
+
snapPointsMode,
|
|
172
|
+
setMaxContentSize,
|
|
113
173
|
setPosition,
|
|
114
174
|
setPositionImmediate,
|
|
115
175
|
onlyShowFrame: false,
|
package/types/Sheet.d.ts
CHANGED
|
@@ -198,7 +198,8 @@ export declare const Sheet: import("react").ForwardRefExoticComponent<{
|
|
|
198
198
|
onOpenChange?: (((open: boolean) => void) | import("react").Dispatch<import("react").SetStateAction<boolean>>) | undefined;
|
|
199
199
|
position?: number | undefined;
|
|
200
200
|
defaultPosition?: number | undefined;
|
|
201
|
-
snapPoints?: number[] | undefined;
|
|
201
|
+
snapPoints?: (string | number)[] | undefined;
|
|
202
|
+
snapPointsMode?: import("./types").SnapPointsMode | undefined;
|
|
202
203
|
onPositionChange?: import("./types").PositionChangeHandler | undefined;
|
|
203
204
|
children?: import("react").ReactNode;
|
|
204
205
|
dismissOnOverlayPress?: boolean | undefined;
|
package/types/Sheet.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sheet.d.ts","sourceRoot":"","sources":["../src/Sheet.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,cAAc,SAAS,CAAA;AAMvB,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCjB,CAAA;AAMF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BlB,CAAA;AAMF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBhB,CAAA;AAEF,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"Sheet.d.ts","sourceRoot":"","sources":["../src/Sheet.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,cAAc,SAAS,CAAA;AAMvB,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCjB,CAAA;AAMF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BlB,CAAA;AAMF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBhB,CAAA;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIhB,CAAA;AAEF,uCAAuC;AACvC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAU,CAAA;AAExC,uCAAuC;AACvC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAS,CAAA"}
|
package/types/SheetContext.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare const createSheetContext: <ContextValueType extends object | null
|
|
|
12
12
|
export declare const SheetProvider: {
|
|
13
13
|
(props: {
|
|
14
14
|
screenSize: number;
|
|
15
|
-
maxSnapPoint: number;
|
|
15
|
+
maxSnapPoint: string | number;
|
|
16
16
|
removeScrollEnabled: boolean | undefined;
|
|
17
17
|
scrollBridge: import("./types").ScrollBridge;
|
|
18
18
|
modal: boolean;
|
|
@@ -26,15 +26,18 @@ export declare const SheetProvider: {
|
|
|
26
26
|
dismissOnSnapToBottom: boolean;
|
|
27
27
|
onOverlayComponent: ((comp: any) => void) | undefined;
|
|
28
28
|
scope: import("@tamagui/create-context").Scope<any>;
|
|
29
|
+
hasFit: boolean;
|
|
29
30
|
position: number;
|
|
30
|
-
snapPoints: number[];
|
|
31
|
+
snapPoints: (string | number)[];
|
|
32
|
+
snapPointsMode: import("./types").SnapPointsMode;
|
|
33
|
+
setMaxContentSize: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
31
34
|
setPosition: (next: number) => void;
|
|
32
35
|
setPositionImmediate: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
33
36
|
onlyShowFrame: boolean;
|
|
34
37
|
} & {
|
|
35
38
|
scope: import("@tamagui/create-context").Scope<{
|
|
36
39
|
screenSize: number;
|
|
37
|
-
maxSnapPoint: number;
|
|
40
|
+
maxSnapPoint: string | number;
|
|
38
41
|
removeScrollEnabled: boolean | undefined;
|
|
39
42
|
scrollBridge: import("./types").ScrollBridge;
|
|
40
43
|
modal: boolean;
|
|
@@ -48,8 +51,11 @@ export declare const SheetProvider: {
|
|
|
48
51
|
dismissOnSnapToBottom: boolean;
|
|
49
52
|
onOverlayComponent: ((comp: any) => void) | undefined;
|
|
50
53
|
scope: import("@tamagui/create-context").Scope<any>;
|
|
54
|
+
hasFit: boolean;
|
|
51
55
|
position: number;
|
|
52
|
-
snapPoints: number[];
|
|
56
|
+
snapPoints: (string | number)[];
|
|
57
|
+
snapPointsMode: import("./types").SnapPointsMode;
|
|
58
|
+
setMaxContentSize: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
53
59
|
setPosition: (next: number) => void;
|
|
54
60
|
setPositionImmediate: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
55
61
|
onlyShowFrame: boolean;
|
|
@@ -59,7 +65,7 @@ export declare const SheetProvider: {
|
|
|
59
65
|
displayName: string;
|
|
60
66
|
}, useSheetContext: (consumerName: string, scope: import("@tamagui/create-context").Scope<{
|
|
61
67
|
screenSize: number;
|
|
62
|
-
maxSnapPoint: number;
|
|
68
|
+
maxSnapPoint: string | number;
|
|
63
69
|
removeScrollEnabled: boolean | undefined;
|
|
64
70
|
scrollBridge: import("./types").ScrollBridge;
|
|
65
71
|
modal: boolean;
|
|
@@ -73,8 +79,11 @@ export declare const SheetProvider: {
|
|
|
73
79
|
dismissOnSnapToBottom: boolean;
|
|
74
80
|
onOverlayComponent: ((comp: any) => void) | undefined;
|
|
75
81
|
scope: import("@tamagui/create-context").Scope<any>;
|
|
82
|
+
hasFit: boolean;
|
|
76
83
|
position: number;
|
|
77
|
-
snapPoints: number[];
|
|
84
|
+
snapPoints: (string | number)[];
|
|
85
|
+
snapPointsMode: import("./types").SnapPointsMode;
|
|
86
|
+
setMaxContentSize: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
78
87
|
setPosition: (next: number) => void;
|
|
79
88
|
setPositionImmediate: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
80
89
|
onlyShowFrame: boolean;
|
|
@@ -82,7 +91,7 @@ export declare const SheetProvider: {
|
|
|
82
91
|
warn?: boolean | undefined;
|
|
83
92
|
fallback?: Partial<{
|
|
84
93
|
screenSize: number;
|
|
85
|
-
maxSnapPoint: number;
|
|
94
|
+
maxSnapPoint: string | number;
|
|
86
95
|
removeScrollEnabled: boolean | undefined;
|
|
87
96
|
scrollBridge: import("./types").ScrollBridge;
|
|
88
97
|
modal: boolean;
|
|
@@ -96,15 +105,18 @@ export declare const SheetProvider: {
|
|
|
96
105
|
dismissOnSnapToBottom: boolean;
|
|
97
106
|
onOverlayComponent: ((comp: any) => void) | undefined;
|
|
98
107
|
scope: import("@tamagui/create-context").Scope<any>;
|
|
108
|
+
hasFit: boolean;
|
|
99
109
|
position: number;
|
|
100
|
-
snapPoints: number[];
|
|
110
|
+
snapPoints: (string | number)[];
|
|
111
|
+
snapPointsMode: import("./types").SnapPointsMode;
|
|
112
|
+
setMaxContentSize: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
101
113
|
setPosition: (next: number) => void;
|
|
102
114
|
setPositionImmediate: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
103
115
|
onlyShowFrame: boolean;
|
|
104
116
|
}> | undefined;
|
|
105
117
|
} | undefined) => {
|
|
106
118
|
screenSize: number;
|
|
107
|
-
maxSnapPoint: number;
|
|
119
|
+
maxSnapPoint: string | number;
|
|
108
120
|
removeScrollEnabled: boolean | undefined;
|
|
109
121
|
scrollBridge: import("./types").ScrollBridge;
|
|
110
122
|
modal: boolean;
|
|
@@ -118,8 +130,11 @@ export declare const SheetProvider: {
|
|
|
118
130
|
dismissOnSnapToBottom: boolean;
|
|
119
131
|
onOverlayComponent: ((comp: any) => void) | undefined;
|
|
120
132
|
scope: import("@tamagui/create-context").Scope<any>;
|
|
133
|
+
hasFit: boolean;
|
|
121
134
|
position: number;
|
|
122
|
-
snapPoints: number[];
|
|
135
|
+
snapPoints: (string | number)[];
|
|
136
|
+
snapPointsMode: import("./types").SnapPointsMode;
|
|
137
|
+
setMaxContentSize: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
123
138
|
setPosition: (next: number) => void;
|
|
124
139
|
setPositionImmediate: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
125
140
|
onlyShowFrame: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetContext.d.ts","sourceRoot":"","sources":["../src/SheetContext.tsx"],"names":[],"mappings":";AAKA,eAAO,MAAO,kBAAkB;;;;;;;;;qCAAE,gBAAgB,+CAAkC,CAAA;AAEpF,eAAO,MAAO,aAAa
|
|
1
|
+
{"version":3,"file":"SheetContext.d.ts","sourceRoot":"","sources":["../src/SheetContext.tsx"],"names":[],"mappings":";AAKA,eAAO,MAAO,kBAAkB;;;;;;;;;qCAAE,gBAAgB,+CAAkC,CAAA;AAEpF,eAAO,MAAO,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG3C,CAAA"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { View } from 'react-native';
|
|
3
|
+
import { SnapPointsMode } from './types';
|
|
3
4
|
export declare const SheetImplementationCustom: (props: Omit<{
|
|
4
5
|
open?: boolean | undefined;
|
|
5
6
|
defaultOpen?: boolean | undefined;
|
|
6
7
|
onOpenChange?: (((open: boolean) => void) | import("react").Dispatch<import("react").SetStateAction<boolean>>) | undefined;
|
|
7
8
|
position?: number | undefined;
|
|
8
9
|
defaultPosition?: number | undefined;
|
|
9
|
-
snapPoints?: number[] | undefined;
|
|
10
|
+
snapPoints?: (string | number)[] | undefined;
|
|
11
|
+
snapPointsMode?: SnapPointsMode | undefined;
|
|
10
12
|
onPositionChange?: import("./types").PositionChangeHandler | undefined;
|
|
11
13
|
children?: import("react").ReactNode;
|
|
12
14
|
dismissOnOverlayPress?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetImplementationCustom.d.ts","sourceRoot":"","sources":["../src/SheetImplementationCustom.tsx"],"names":[],"mappings":";AAwBA,OAAO,EAOL,IAAI,EACL,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"SheetImplementationCustom.d.ts","sourceRoot":"","sources":["../src/SheetImplementationCustom.tsx"],"names":[],"mappings":";AAwBA,OAAO,EAOL,IAAI,EACL,MAAM,cAAc,CAAA;AAMrB,OAAO,EAAc,cAAc,EAAE,MAAM,SAAS,CAAA;AAMpD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;6MAoarC,CAAA"}
|
package/types/createSheet.d.ts
CHANGED
|
@@ -17,7 +17,8 @@ export declare function createSheet<H extends SheetStyledComponent | TamaguiComp
|
|
|
17
17
|
onOpenChange?: (((open: boolean) => void) | import("react").Dispatch<import("react").SetStateAction<boolean>>) | undefined;
|
|
18
18
|
position?: number | undefined;
|
|
19
19
|
defaultPosition?: number | undefined;
|
|
20
|
-
snapPoints?: number[] | undefined;
|
|
20
|
+
snapPoints?: (string | number)[] | undefined;
|
|
21
|
+
snapPointsMode?: import("./types").SnapPointsMode | undefined;
|
|
21
22
|
onPositionChange?: import("./types").PositionChangeHandler | undefined;
|
|
22
23
|
children?: import("react").ReactNode;
|
|
23
24
|
dismissOnOverlayPress?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSheet.d.ts","sourceRoot":"","sources":["../src/createSheet.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAER,UAAU,EACV,gBAAgB,EAChB,iCAAiC,EAKlC,MAAM,eAAe,CAAA;AAEtB,OAAO,
|
|
1
|
+
{"version":3,"file":"createSheet.d.ts","sourceRoot":"","sources":["../src/createSheet.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAER,UAAU,EACV,gBAAgB,EAChB,iCAAiC,EAKlC,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,iBAAiB,EACjB,aAAa,EAKd,MAAM,OAAO,CAAA;AACd,OAAO,EAA+B,IAAI,EAAE,MAAM,cAAc,CAAA;AAOhE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAItD,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,SAAS,GAAG,UAAU,GAAG,gBAAgB,CAAA;AAE9C,KAAK,oBAAoB,GAAG,iCAAiC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;AAE1F,wBAAgB,WAAW,CACzB,CAAC,SAAS,oBAAoB,GAAG,gBAAgB,EACjD,CAAC,SAAS,oBAAoB,GAAG,gBAAgB,EACjD,CAAC,SAAS,oBAAoB,GAAG,gBAAgB,EACjD,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DA+B9C,iBAAiB,SAAS,cAAc,CAAC,CAAC;6CA7B5B,iBAAiB,SAAS,aAAa,CAAC,CAAC;;;;;;;;;;;;2DA6BvD,iBAAiB,SAAS,cAAc,CAAC,CAAC;yCA7B5B,iBAAiB,SAAS,aAAa,CAAC,CAAC;;;;;;;;EA4LzE"}
|
package/types/types.d.ts
CHANGED
|
@@ -9,7 +9,8 @@ export type SheetProps = ScopedProps<{
|
|
|
9
9
|
onOpenChange?: OpenChangeHandler;
|
|
10
10
|
position?: number;
|
|
11
11
|
defaultPosition?: number;
|
|
12
|
-
snapPoints?: number[];
|
|
12
|
+
snapPoints?: (string | number)[];
|
|
13
|
+
snapPointsMode?: SnapPointsMode;
|
|
13
14
|
onPositionChange?: PositionChangeHandler;
|
|
14
15
|
children?: ReactNode;
|
|
15
16
|
dismissOnOverlayPress?: boolean;
|
|
@@ -41,6 +42,7 @@ export type SheetProps = ScopedProps<{
|
|
|
41
42
|
export type PositionChangeHandler = (position: number) => void;
|
|
42
43
|
type OpenChangeHandler = ((open: boolean) => void) | React.Dispatch<React.SetStateAction<boolean>>;
|
|
43
44
|
export type RemoveScrollProps = React.ComponentProps<typeof RemoveScroll>;
|
|
45
|
+
export type SnapPointsMode = 'percent' | 'constant' | 'fit' | 'mixed';
|
|
44
46
|
export type SheetScopedProps<A> = ScopedProps<A, 'Sheet'>;
|
|
45
47
|
export type ScrollBridge = {
|
|
46
48
|
enabled: boolean;
|
package/types/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAExC,MAAM,MAAM,UAAU,GAAG,WAAW,CAClC;IACE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAExC,MAAM,MAAM,UAAU,GAAG,WAAW,CAClC;IACE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAChC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,gBAAgB,CAAC,EAAE,qBAAqB,CAAA;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,eAAe,CAAC,EAAE,sBAAsB,CAAA;IAExC;;OAEG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;IAEnC;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,EACD,OAAO,CACR,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;AAE9D,KAAK,iBAAiB,GAClB,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,GACzB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;AAEjD,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAA;AAEzE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAAA;AAErE,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AAEzD,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,CAAC,EAAE,MAAM,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACxD,UAAU,EAAE,OAAO,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;CAC7B,CAAA"}
|
package/types/useSheet.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export declare const useSheet: () => {
|
|
3
3
|
screenSize: number;
|
|
4
|
-
maxSnapPoint: number;
|
|
4
|
+
maxSnapPoint: string | number;
|
|
5
5
|
removeScrollEnabled: boolean | undefined;
|
|
6
6
|
scrollBridge: import("./types").ScrollBridge;
|
|
7
7
|
modal: boolean;
|
|
@@ -15,8 +15,11 @@ export declare const useSheet: () => {
|
|
|
15
15
|
dismissOnSnapToBottom: boolean;
|
|
16
16
|
onOverlayComponent: ((comp: any) => void) | undefined;
|
|
17
17
|
scope: import("@tamagui/create-context").Scope<any>;
|
|
18
|
+
hasFit: boolean;
|
|
18
19
|
position: number;
|
|
19
|
-
snapPoints: number[];
|
|
20
|
+
snapPoints: (string | number)[];
|
|
21
|
+
snapPointsMode: import("./types").SnapPointsMode;
|
|
22
|
+
setMaxContentSize: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
20
23
|
setPosition: (next: number) => void;
|
|
21
24
|
setPositionImmediate: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
22
25
|
onlyShowFrame: boolean;
|
package/types/useSheet.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSheet.d.ts","sourceRoot":"","sources":["../src/useSheet.tsx"],"names":[],"mappings":";AAEA,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"useSheet.d.ts","sourceRoot":"","sources":["../src/useSheet.tsx"],"names":[],"mappings":";AAEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;CAAuC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { SheetContextValue } from './useSheetProviderProps';
|
|
2
|
-
export declare const useSheetOffscreenSize: ({ snapPoints, position, screenSize, }: SheetContextValue) => number;
|
|
2
|
+
export declare const useSheetOffscreenSize: ({ snapPoints, position, screenSize, frameSize, snapPointsMode, }: SheetContextValue) => number;
|
|
3
3
|
//# sourceMappingURL=useSheetOffscreenSize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSheetOffscreenSize.d.ts","sourceRoot":"","sources":["../src/useSheetOffscreenSize.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"useSheetOffscreenSize.d.ts","sourceRoot":"","sources":["../src/useSheetOffscreenSize.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,eAAO,MAAM,qBAAqB,qEAM/B,iBAAiB,WAwCnB,CAAA"}
|
|
@@ -7,7 +7,7 @@ export declare function useSheetProviderProps(props: SheetProps, state: SheetOpe
|
|
|
7
7
|
onOverlayComponent?: (comp: any) => void;
|
|
8
8
|
}): {
|
|
9
9
|
screenSize: number;
|
|
10
|
-
maxSnapPoint: number;
|
|
10
|
+
maxSnapPoint: string | number;
|
|
11
11
|
removeScrollEnabled: boolean | undefined;
|
|
12
12
|
scrollBridge: ScrollBridge;
|
|
13
13
|
modal: boolean;
|
|
@@ -21,8 +21,11 @@ export declare function useSheetProviderProps(props: SheetProps, state: SheetOpe
|
|
|
21
21
|
dismissOnSnapToBottom: boolean;
|
|
22
22
|
onOverlayComponent: ((comp: any) => void) | undefined;
|
|
23
23
|
scope: import("@tamagui/create-context").Scope<any>;
|
|
24
|
+
hasFit: boolean;
|
|
24
25
|
position: number;
|
|
25
|
-
snapPoints: number[];
|
|
26
|
+
snapPoints: (string | number)[];
|
|
27
|
+
snapPointsMode: import("./types").SnapPointsMode;
|
|
28
|
+
setMaxContentSize: React.Dispatch<React.SetStateAction<number>>;
|
|
26
29
|
setPosition: (next: number) => void;
|
|
27
30
|
setPositionImmediate: React.Dispatch<React.SetStateAction<number>>;
|
|
28
31
|
onlyShowFrame: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSheetProviderProps.d.ts","sourceRoot":"","sources":["../src/useSheetProviderProps.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAsB,MAAM,eAAe,CAAA;AAGlE,OAAO,KAAoD,MAAM,OAAO,CAAA;AAExE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAExE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE;IACP,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;CACpC;;;;;;;;;;;;;;gCADwB,GAAG,KAAK,IAAI
|
|
1
|
+
{"version":3,"file":"useSheetProviderProps.d.ts","sourceRoot":"","sources":["../src/useSheetProviderProps.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAsB,MAAM,eAAe,CAAA;AAGlE,OAAO,KAAoD,MAAM,OAAO,CAAA;AAExE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAExE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE;IACP,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;CACpC;;;;;;;;;;;;;;gCADwB,GAAG,KAAK,IAAI;;;;;;;wBAoCjC,MAAM;;;EAgIhB"}
|