@lodev09/react-native-true-sheet 4.0.0-beta.19 → 4.0.0-beta.20
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/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +6 -2
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +43 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +17 -10
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetBottomSheetView.kt +8 -1
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDetentCalculator.kt +16 -0
- package/ios/TrueSheetView.mm +20 -7
- package/ios/TrueSheetViewController.h +1 -3
- package/ios/TrueSheetViewController.mm +98 -22
- package/ios/core/TrueSheetBlurView.h +0 -2
- package/ios/core/TrueSheetBlurView.mm +3 -36
- package/ios/core/TrueSheetDetentCalculator.h +1 -0
- package/ios/core/TrueSheetDetentCalculator.mm +18 -0
- package/lib/module/TrueSheet.js +16 -5
- package/lib/module/TrueSheet.js.map +1 -1
- package/lib/module/TrueSheet.web.js +39 -6
- package/lib/module/TrueSheet.web.js.map +1 -1
- package/lib/module/TrueSheetBackground.js +15 -0
- package/lib/module/TrueSheetBackground.js.map +1 -0
- package/lib/module/detentBackgrounds.js +21 -0
- package/lib/module/detentBackgrounds.js.map +1 -0
- package/lib/module/fabric/TrueSheetViewNativeComponent.ts +6 -9
- package/lib/module/mocks/index.js +8 -2
- package/lib/module/mocks/index.js.map +1 -1
- package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.types.d.ts +30 -39
- package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheetBackground.d.ts +3 -0
- package/lib/typescript/src/TrueSheetBackground.d.ts.map +1 -0
- package/lib/typescript/src/detentBackgrounds.d.ts +10 -0
- package/lib/typescript/src/detentBackgrounds.d.ts.map +1 -0
- package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +4 -6
- package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/mocks/index.d.ts.map +1 -1
- package/lib/typescript/src/navigation/types.d.ts +1 -1
- package/lib/typescript/src/navigation/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/TrueSheet.tsx +13 -4
- package/src/TrueSheet.types.ts +30 -41
- package/src/TrueSheet.web.tsx +42 -6
- package/src/TrueSheetBackground.tsx +17 -0
- package/src/detentBackgrounds.ts +24 -0
- package/src/fabric/TrueSheetViewNativeComponent.ts +6 -9
- package/src/mocks/index.ts +10 -2
- package/src/navigation/types.ts +3 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Component, ComponentType, ReactElement, RefObject } from 'react';
|
|
1
|
+
import type { Component, ComponentType, ReactElement, ReactNode, RefObject } from 'react';
|
|
2
2
|
import type { ColorValue, NativeSyntheticEvent, StyleProp, ViewProps, ViewStyle } from 'react-native';
|
|
3
3
|
export interface DetentInfoEventPayload {
|
|
4
4
|
/**
|
|
@@ -279,27 +279,6 @@ export interface FooterOptions {
|
|
|
279
279
|
*/
|
|
280
280
|
avoidKeyboard?: boolean;
|
|
281
281
|
}
|
|
282
|
-
/**
|
|
283
|
-
* Options for customizing the blur effect.
|
|
284
|
-
* Only applies when `backgroundBlur` is set.
|
|
285
|
-
*
|
|
286
|
-
* @platform ios
|
|
287
|
-
*/
|
|
288
|
-
export interface BlurOptions {
|
|
289
|
-
/**
|
|
290
|
-
* The intensity of the blur effect (0-100).
|
|
291
|
-
* Uses system default if not provided.
|
|
292
|
-
*/
|
|
293
|
-
intensity?: number;
|
|
294
|
-
/**
|
|
295
|
-
* Enables or disables user interaction on the blur view.
|
|
296
|
-
* Disabling this can help with visual artifacts (flash) on iOS 18+
|
|
297
|
-
* when touching the sheet content with blur enabled.
|
|
298
|
-
*
|
|
299
|
-
* @default true
|
|
300
|
-
*/
|
|
301
|
-
interaction?: boolean;
|
|
302
|
-
}
|
|
303
282
|
/**
|
|
304
283
|
* Inset adjustment behavior for the sheet content.
|
|
305
284
|
*/
|
|
@@ -320,6 +299,13 @@ export type InsetAdjustment =
|
|
|
320
299
|
* @platform ios
|
|
321
300
|
*/
|
|
322
301
|
export type BackgroundBlur = 'light' | 'dark' | 'default' | 'extra-light' | 'regular' | 'prominent' | 'system-ultra-thin-material' | 'system-thin-material' | 'system-material' | 'system-thick-material' | 'system-chrome-material' | 'system-ultra-thin-material-light' | 'system-thin-material-light' | 'system-material-light' | 'system-thick-material-light' | 'system-chrome-material-light' | 'system-ultra-thin-material-dark' | 'system-thin-material-dark' | 'system-material-dark' | 'system-thick-material-dark' | 'system-chrome-material-dark';
|
|
302
|
+
export type DetentBackground = string | {
|
|
303
|
+
color: ColorValue;
|
|
304
|
+
blur?: never;
|
|
305
|
+
} | {
|
|
306
|
+
blur: BackgroundBlur;
|
|
307
|
+
color?: never;
|
|
308
|
+
};
|
|
323
309
|
/**
|
|
324
310
|
* Supported Sheet detent.
|
|
325
311
|
*/
|
|
@@ -441,19 +427,30 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
441
427
|
* Main sheet background color.
|
|
442
428
|
* Uses system default when not provided.
|
|
443
429
|
*
|
|
444
|
-
* On iOS 26
|
|
445
|
-
*
|
|
430
|
+
* On supported iOS 26.1+ devices, uses a native color effect.
|
|
431
|
+
* `backgroundBlur` takes precedence on iOS.
|
|
432
|
+
* Use `backgroundStyle.backgroundColor` for an exact color or to tint glass or blur.
|
|
446
433
|
*/
|
|
447
434
|
backgroundColor?: ColorValue;
|
|
448
435
|
/**
|
|
449
|
-
*
|
|
450
|
-
*
|
|
451
|
-
* `backgroundBlur
|
|
452
|
-
*
|
|
453
|
-
*
|
|
454
|
-
|
|
436
|
+
* Backgrounds matched to `detents` by index. Strings are color values.
|
|
437
|
+
* Null or missing entries inherit
|
|
438
|
+
* `backgroundColor`/`backgroundBlur`. iOS 26.1+ transitions natively.
|
|
439
|
+
* Other platforms cross-fade after passing the midpoint between detents.
|
|
440
|
+
* Blur entries use the sheet background on Android and Web.
|
|
441
|
+
*/
|
|
442
|
+
detentBackgrounds?: (DetentBackground | null)[];
|
|
443
|
+
/**
|
|
444
|
+
* Custom background rendered behind the header, content, and footer.
|
|
445
|
+
* The wrapper fills the sheet and ignores touches.
|
|
446
|
+
* Size the element to fill it with `StyleSheet.absoluteFill`.
|
|
447
|
+
*/
|
|
448
|
+
background?: ReactNode;
|
|
449
|
+
/**
|
|
450
|
+
* Style for the background wrapper. Only `backgroundColor` is supported.
|
|
451
|
+
* Use an opaque color for an exact color, or a translucent color to tint glass or blur.
|
|
455
452
|
*/
|
|
456
|
-
|
|
453
|
+
backgroundStyle?: StyleProp<Pick<ViewStyle, 'backgroundColor'>>;
|
|
457
454
|
/**
|
|
458
455
|
* The sheet corner radius.
|
|
459
456
|
*
|
|
@@ -494,18 +491,12 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
494
491
|
presentation?: 'page' | 'form';
|
|
495
492
|
/**
|
|
496
493
|
* The blur effect style on iOS.
|
|
497
|
-
*
|
|
494
|
+
* Takes precedence over `backgroundColor`.
|
|
495
|
+
* Use `backgroundStyle.backgroundColor` to tint the blur.
|
|
498
496
|
*
|
|
499
497
|
* @platform ios
|
|
500
498
|
*/
|
|
501
499
|
backgroundBlur?: BackgroundBlur;
|
|
502
|
-
/**
|
|
503
|
-
* Options for customizing the blur effect.
|
|
504
|
-
* Only applies when `backgroundBlur` is set.
|
|
505
|
-
*
|
|
506
|
-
* @platform ios
|
|
507
|
-
*/
|
|
508
|
-
blurOptions?: BlurOptions;
|
|
509
500
|
/**
|
|
510
501
|
* Overrides `large` or `100%` height.
|
|
511
502
|
* Also sets the maximum height for 'auto' detents.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrueSheet.web.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.web.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAaV,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EAMvB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"TrueSheet.web.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.web.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAaV,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EAMvB,MAAM,mBAAmB,CAAC;AAwC3B,QAAA,MAAM,kBAAkB,6GAkrCtB,CAAC;AAqDH,eAAO,MAAM,SAAS,EAAyB,OAAO,kBAAkB,GAAG,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { TrueSheetProps } from './TrueSheet.types';
|
|
2
|
+
export declare const TrueSheetBackground: ({ background, backgroundStyle, }: Pick<TrueSheetProps, "background" | "backgroundStyle">) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
//# sourceMappingURL=TrueSheetBackground.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrueSheetBackground.d.ts","sourceRoot":"","sources":["../../../src/TrueSheetBackground.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,eAAO,MAAM,mBAAmB,GAAI,kCAGjC,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,iBAAiB,CAAC,4CAUxD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DetentBackground } from './TrueSheet.types';
|
|
2
|
+
export declare function normalizeDetentBackground(entry: DetentBackground | null | undefined): {
|
|
3
|
+
color: import("react-native").ColorValue;
|
|
4
|
+
blur?: never;
|
|
5
|
+
} | {
|
|
6
|
+
blur: import("./TrueSheet.types").BackgroundBlur;
|
|
7
|
+
color?: never;
|
|
8
|
+
} | null | undefined;
|
|
9
|
+
export declare function getDetentBackgroundIndex(height: number, detentHeights: readonly number[], displayedIndex: number): number;
|
|
10
|
+
//# sourceMappingURL=detentBackgrounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detentBackgrounds.d.ts","sourceRoot":"","sources":["../../../src/detentBackgrounds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS;;;;;;qBAEnF;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,cAAc,EAAE,MAAM,GACrB,MAAM,CAaR"}
|
|
@@ -18,10 +18,6 @@ type AccessibilityOptionsType = Readonly<{
|
|
|
18
18
|
collapseActionLabel?: WithDefault<string, 'Collapse'>;
|
|
19
19
|
paneTitle?: WithDefault<string, 'Bottom sheet'>;
|
|
20
20
|
}>;
|
|
21
|
-
type BlurOptionsType = Readonly<{
|
|
22
|
-
intensity?: WithDefault<Double, -1>;
|
|
23
|
-
interaction?: WithDefault<boolean, true>;
|
|
24
|
-
}>;
|
|
25
21
|
type ScrollEdgeEffect = 'automatic' | 'hard' | 'soft' | 'hidden';
|
|
26
22
|
type ScrollableOptionsType = Readonly<{
|
|
27
23
|
contentInsetAdjustment?: WithDefault<'automatic' | 'safe-area' | 'footer' | 'never', 'automatic'>;
|
|
@@ -52,6 +48,10 @@ export interface PositionChangeEventPayload {
|
|
|
52
48
|
}
|
|
53
49
|
export interface NativeProps extends ViewProps {
|
|
54
50
|
detents?: ReadonlyArray<Double>;
|
|
51
|
+
detentBackgrounds?: ReadonlyArray<Readonly<{
|
|
52
|
+
color?: ProcessedColorValue | null;
|
|
53
|
+
blur?: string;
|
|
54
|
+
}>>;
|
|
55
55
|
maxContentHeight?: WithDefault<Double, 0>;
|
|
56
56
|
maxContentWidth?: WithDefault<Double, 0>;
|
|
57
57
|
cornerRadius?: WithDefault<Double, -1>;
|
|
@@ -63,8 +63,6 @@ export interface NativeProps extends ViewProps {
|
|
|
63
63
|
placement?: WithDefault<'automatic' | 'leading' | 'center' | 'trailing', 'automatic'>;
|
|
64
64
|
placementOffset?: WithDefault<Double, 16>;
|
|
65
65
|
insetAdjustment?: WithDefault<'automatic' | 'never', 'automatic'>;
|
|
66
|
-
blurOptions?: BlurOptionsType;
|
|
67
|
-
glass?: WithDefault<boolean, true>;
|
|
68
66
|
grabber?: WithDefault<boolean, true>;
|
|
69
67
|
grabberOptions?: GrabberOptionsType;
|
|
70
68
|
accessibilityOptions?: AccessibilityOptionsType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrueSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,KAAK,EACV,kBAAkB,EAClB,MAAM,EACN,KAAK,EACL,WAAW,EACZ,MAAM,2CAA2C,CAAC;AAGnD,KAAK,kBAAkB,GAAG,QAAQ,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;CACvC,CAAC,CAAC;AAEH,KAAK,wBAAwB,GAAG,QAAQ,CAAC;IACvC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACpD,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,4DAA4D,CAAC,CAAC;IAChG,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAC/D,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClD,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtD,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACjD,CAAC,CAAC;AAEH,KAAK,
|
|
1
|
+
{"version":3,"file":"TrueSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetViewNativeComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwD,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwD,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGjF,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAC5E,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAM;IAEjD,MAAM,CAAC,OAAO,kFAAsE;IACpF,MAAM,CAAC,YAAY,kFAAsE;IACzF,MAAM,CAAC,OAAO,+GAEZ;IACF,MAAM,CAAC,MAAM,iEAAiE;IAC9E,MAAM,CAAC,UAAU,mEAAuD;IAExE,OAAO,mEAAuD;IAC9D,YAAY,mEAAuD;IACnE,OAAO,gGAAwE;IAC/E,MAAM,kDAAkD;IAExD,iBAAiB;IAOjB,oBAAoB;IAOpB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAMpB,MAAM;CAWP;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,mCAE7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,mCAEhE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,mBAE5E;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,sBAAsB,CAQrD;AAED,cAAc,oBAAoB,CAAC"}
|
|
@@ -161,7 +161,7 @@ export type TrueSheetScreenProps<ParamList extends ParamListBase, RouteName exte
|
|
|
161
161
|
route: RouteProp<ParamList, RouteName>;
|
|
162
162
|
};
|
|
163
163
|
export type TrueSheetNavigationHelpers = NavigationHelpers<ParamListBase, TrueSheetNavigationEventMap>;
|
|
164
|
-
export type TrueSheetNavigationSheetProps = Pick<TrueSheetProps, 'detents' | 'backgroundColor' | '
|
|
164
|
+
export type TrueSheetNavigationSheetProps = Pick<TrueSheetProps, 'detents' | 'backgroundColor' | 'detentBackgrounds' | 'background' | 'backgroundStyle' | 'cornerRadius' | 'dismissible' | 'draggable' | 'grabber' | 'grabberOptions' | 'accessibilityOptions' | 'dimmed' | 'dimmedDetentIndex' | 'backgroundBlur' | 'maxContentHeight' | 'maxContentWidth' | 'presentation' | 'style' | 'header' | 'headerStyle' | 'headerOptions' | 'footer' | 'footerStyle' | 'footerOptions' | 'scrollableRef' | 'scrollableOptions' | 'insetAdjustment' | 'placement' | 'placementOffset' | 'elevation' | 'detached' | 'detachedOffset'>;
|
|
165
165
|
/**
|
|
166
166
|
* Screen options for TrueSheet navigator screens.
|
|
167
167
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/navigation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EACV,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,aAAa,EACb,SAAS,EACT,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,0BAA0B,KAAK,IAAI,CAAC;AAElF,MAAM,MAAM,2BAA2B,GAAG;IACxC;;OAEG;IACH,gBAAgB,EAAE;QAAE,IAAI,EAAE,sBAAsB,CAAA;KAAE,CAAC;IACnD;;OAEG;IACH,eAAe,EAAE;QAAE,IAAI,EAAE,sBAAsB,CAAA;KAAE,CAAC;IAClD;;OAEG;IACH,gBAAgB,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IACtC;;OAEG;IACH,eAAe,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IACrC;;OAEG;IACH,mBAAmB,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IACzC;;OAEG;IACH,iBAAiB,EAAE;QAAE,IAAI,EAAE,sBAAsB,CAAA;KAAE,CAAC;IACpD;;OAEG;IACH,cAAc,EAAE;QAAE,IAAI,EAAE,sBAAsB,CAAA;KAAE,CAAC;IACjD;;OAEG;IACH,eAAe,EAAE;QAAE,IAAI,EAAE,sBAAsB,CAAA;KAAE,CAAC;IAClD;;OAEG;IACH,YAAY,EAAE;QAAE,IAAI,EAAE,sBAAsB,CAAA;KAAE,CAAC;IAC/C;;OAEG;IACH,mBAAmB,EAAE;QAAE,IAAI,EAAE,0BAA0B,CAAA;KAAE,CAAC;IAC1D;;OAEG;IACH,cAAc,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IACpC;;OAEG;IACH,aAAa,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IACnC;;OAEG;IACH,aAAa,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IACnC;;OAEG;IACH,YAAY,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;CACnC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS;IAAE,MAAM,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,IAAI,IAAI,CAC/E,KAAK,EACL,QAAQ,CACT,GAAG;IACF,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG;QACjC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC,EAAE,CAAC;CACN,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,SAAS,SAAS,aAAa,IAAI,gBAAgB,CACtF,eAAe,CAAC,SAAS,CAAC,CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;AAE3E,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;AAEhF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,sBAAsB,KAAK,eAAe,CAAC;AAE1F;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,KAAK,SAAS,eAAe,CAAC,aAAa,CAAC,EAC5C,MAAM,SAAS,gBAAgB,EAE/B,OAAO,EAAE,sBAAsB,KAC5B,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;KACrC,CAAC,IAAI,MAAM,2BAA2B,GAAG;QACxC,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7C,iBAAiB,EAAE,KAAK,CAAC;KAC1B;CACF,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvF,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAEtE,MAAM,MAAM,eAAe,GAAG,aAAa,CACzC,0BAA0B,EAC1B,yBAAyB,CAC1B,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAErB;;;;;GAKG;AACH,MAAM,WAAW,mCAAmC;IAClD,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,wBAAwB,CAAC,OAAO,IAAI,OAAO,GAAG;IACxD;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,SAAS,SAAS,aAAa,IAAI,wBAAwB,CAC5F,kBAAkB,CAAC,SAAS,CAAC,CAC9B,CAAC;AAEF,MAAM,MAAM,uBAAuB,CACjC,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,EAC1C,WAAW,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,IAChD,cAAc,CAChB,SAAS,EACT,SAAS,EACT,WAAW,EACX,wBAAwB,CAAC,SAAS,CAAC,EACnC,0BAA0B,EAC1B,2BAA2B,CAC5B,GACC,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAEpC,MAAM,MAAM,oBAAoB,CAC9B,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,EAC1C,WAAW,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,IAChD;IACF,UAAU,EAAE,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACvE,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,CACxD,aAAa,EACb,2BAA2B,CAC5B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAC9C,cAAc,EACZ,SAAS,GACT,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,WAAW,GACX,SAAS,GACT,gBAAgB,GAChB,sBAAsB,GACtB,QAAQ,GACR,mBAAmB,GACnB,gBAAgB,GAChB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/navigation/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/TrueSheet.tsx
CHANGED
|
@@ -37,6 +37,8 @@ import TrueSheetHeaderViewNativeComponent from './fabric/TrueSheetHeaderViewNati
|
|
|
37
37
|
import TrueSheetFooterViewNativeComponent from './fabric/TrueSheetFooterViewNativeComponent';
|
|
38
38
|
|
|
39
39
|
import TrueSheetModule from './specs/NativeTrueSheetModule';
|
|
40
|
+
import { TrueSheetBackground } from './TrueSheetBackground';
|
|
41
|
+
import { normalizeDetentBackground } from './detentBackgrounds';
|
|
40
42
|
|
|
41
43
|
import {
|
|
42
44
|
Platform,
|
|
@@ -564,6 +566,9 @@ export class TrueSheet
|
|
|
564
566
|
const {
|
|
565
567
|
detents = [0.5, 1],
|
|
566
568
|
backgroundColor,
|
|
569
|
+
detentBackgrounds,
|
|
570
|
+
background,
|
|
571
|
+
backgroundStyle,
|
|
567
572
|
dismissible = true,
|
|
568
573
|
draggable = true,
|
|
569
574
|
grabber = true,
|
|
@@ -574,8 +579,6 @@ export class TrueSheet
|
|
|
574
579
|
initialDetentAnimated = true,
|
|
575
580
|
dimmedDetentIndex,
|
|
576
581
|
backgroundBlur,
|
|
577
|
-
blurOptions,
|
|
578
|
-
glass = true,
|
|
579
582
|
cornerRadius,
|
|
580
583
|
maxContentHeight,
|
|
581
584
|
maxContentWidth,
|
|
@@ -625,6 +628,7 @@ export class TrueSheet
|
|
|
625
628
|
|
|
626
629
|
const sheetContent = (
|
|
627
630
|
<>
|
|
631
|
+
<TrueSheetBackground background={background} backgroundStyle={backgroundStyle} />
|
|
628
632
|
{header && (
|
|
629
633
|
<TrueSheetHeaderViewNativeComponent
|
|
630
634
|
style={[
|
|
@@ -666,9 +670,14 @@ export class TrueSheet
|
|
|
666
670
|
style={styles.sheetView}
|
|
667
671
|
detents={resolvedDetents}
|
|
668
672
|
backgroundBlur={backgroundBlur}
|
|
669
|
-
blurOptions={blurOptions}
|
|
670
|
-
glass={glass}
|
|
671
673
|
backgroundColor={backgroundColor}
|
|
674
|
+
detentBackgrounds={
|
|
675
|
+
detentBackgrounds &&
|
|
676
|
+
Array.from(detentBackgrounds.slice(0, 3), (entry) => {
|
|
677
|
+
const normalized = normalizeDetentBackground(entry);
|
|
678
|
+
return normalized ? { ...normalized, color: processColor(normalized.color) } : {};
|
|
679
|
+
})
|
|
680
|
+
}
|
|
672
681
|
cornerRadius={cornerRadius}
|
|
673
682
|
grabber={grabber}
|
|
674
683
|
grabberOptions={this.resolvedGrabberOptions}
|
package/src/TrueSheet.types.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Component, ComponentType, ReactElement, RefObject } from 'react';
|
|
1
|
+
import type { Component, ComponentType, ReactElement, ReactNode, RefObject } from 'react';
|
|
2
2
|
import type {
|
|
3
3
|
ColorValue,
|
|
4
4
|
NativeSyntheticEvent,
|
|
@@ -303,28 +303,6 @@ export interface FooterOptions {
|
|
|
303
303
|
avoidKeyboard?: boolean;
|
|
304
304
|
}
|
|
305
305
|
|
|
306
|
-
/**
|
|
307
|
-
* Options for customizing the blur effect.
|
|
308
|
-
* Only applies when `backgroundBlur` is set.
|
|
309
|
-
*
|
|
310
|
-
* @platform ios
|
|
311
|
-
*/
|
|
312
|
-
export interface BlurOptions {
|
|
313
|
-
/**
|
|
314
|
-
* The intensity of the blur effect (0-100).
|
|
315
|
-
* Uses system default if not provided.
|
|
316
|
-
*/
|
|
317
|
-
intensity?: number;
|
|
318
|
-
/**
|
|
319
|
-
* Enables or disables user interaction on the blur view.
|
|
320
|
-
* Disabling this can help with visual artifacts (flash) on iOS 18+
|
|
321
|
-
* when touching the sheet content with blur enabled.
|
|
322
|
-
*
|
|
323
|
-
* @default true
|
|
324
|
-
*/
|
|
325
|
-
interaction?: boolean;
|
|
326
|
-
}
|
|
327
|
-
|
|
328
306
|
/**
|
|
329
307
|
* Inset adjustment behavior for the sheet content.
|
|
330
308
|
*/
|
|
@@ -368,6 +346,11 @@ export type BackgroundBlur =
|
|
|
368
346
|
| 'system-thick-material-dark'
|
|
369
347
|
| 'system-chrome-material-dark';
|
|
370
348
|
|
|
349
|
+
export type DetentBackground =
|
|
350
|
+
| string
|
|
351
|
+
| { color: ColorValue; blur?: never }
|
|
352
|
+
| { blur: BackgroundBlur; color?: never };
|
|
353
|
+
|
|
371
354
|
/**
|
|
372
355
|
* Supported Sheet detent.
|
|
373
356
|
*/
|
|
@@ -500,20 +483,33 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
500
483
|
* Main sheet background color.
|
|
501
484
|
* Uses system default when not provided.
|
|
502
485
|
*
|
|
503
|
-
* On iOS 26
|
|
504
|
-
*
|
|
486
|
+
* On supported iOS 26.1+ devices, uses a native color effect.
|
|
487
|
+
* `backgroundBlur` takes precedence on iOS.
|
|
488
|
+
* Use `backgroundStyle.backgroundColor` for an exact color or to tint glass or blur.
|
|
505
489
|
*/
|
|
506
490
|
backgroundColor?: ColorValue;
|
|
507
491
|
|
|
508
492
|
/**
|
|
509
|
-
*
|
|
510
|
-
*
|
|
511
|
-
* `backgroundBlur
|
|
512
|
-
*
|
|
513
|
-
*
|
|
514
|
-
* @default true
|
|
493
|
+
* Backgrounds matched to `detents` by index. Strings are color values.
|
|
494
|
+
* Null or missing entries inherit
|
|
495
|
+
* `backgroundColor`/`backgroundBlur`. iOS 26.1+ transitions natively.
|
|
496
|
+
* Other platforms cross-fade after passing the midpoint between detents.
|
|
497
|
+
* Blur entries use the sheet background on Android and Web.
|
|
515
498
|
*/
|
|
516
|
-
|
|
499
|
+
detentBackgrounds?: (DetentBackground | null)[];
|
|
500
|
+
|
|
501
|
+
/**
|
|
502
|
+
* Custom background rendered behind the header, content, and footer.
|
|
503
|
+
* The wrapper fills the sheet and ignores touches.
|
|
504
|
+
* Size the element to fill it with `StyleSheet.absoluteFill`.
|
|
505
|
+
*/
|
|
506
|
+
background?: ReactNode;
|
|
507
|
+
|
|
508
|
+
/**
|
|
509
|
+
* Style for the background wrapper. Only `backgroundColor` is supported.
|
|
510
|
+
* Use an opaque color for an exact color, or a translucent color to tint glass or blur.
|
|
511
|
+
*/
|
|
512
|
+
backgroundStyle?: StyleProp<Pick<ViewStyle, 'backgroundColor'>>;
|
|
517
513
|
|
|
518
514
|
/**
|
|
519
515
|
* The sheet corner radius.
|
|
@@ -560,20 +556,13 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
560
556
|
|
|
561
557
|
/**
|
|
562
558
|
* The blur effect style on iOS.
|
|
563
|
-
*
|
|
559
|
+
* Takes precedence over `backgroundColor`.
|
|
560
|
+
* Use `backgroundStyle.backgroundColor` to tint the blur.
|
|
564
561
|
*
|
|
565
562
|
* @platform ios
|
|
566
563
|
*/
|
|
567
564
|
backgroundBlur?: BackgroundBlur;
|
|
568
565
|
|
|
569
|
-
/**
|
|
570
|
-
* Options for customizing the blur effect.
|
|
571
|
-
* Only applies when `backgroundBlur` is set.
|
|
572
|
-
*
|
|
573
|
-
* @platform ios
|
|
574
|
-
*/
|
|
575
|
-
blurOptions?: BlurOptions;
|
|
576
|
-
|
|
577
566
|
/**
|
|
578
567
|
* Overrides `large` or `100%` height.
|
|
579
568
|
* Also sets the maximum height for 'auto' detents.
|
package/src/TrueSheet.web.tsx
CHANGED
|
@@ -57,6 +57,8 @@ import {
|
|
|
57
57
|
DEFAULT_MAX_WIDTH,
|
|
58
58
|
} from './web/constants';
|
|
59
59
|
import { getDOMElement } from './web/dom';
|
|
60
|
+
import { TrueSheetBackground } from './TrueSheetBackground';
|
|
61
|
+
import { getDetentBackgroundIndex, normalizeDetentBackground } from './detentBackgrounds';
|
|
60
62
|
import { observeSheetLayout } from './web/layout';
|
|
61
63
|
import { Drawer } from './web/vaul';
|
|
62
64
|
import { DEFAULT_PEEK_HEIGHT, DRAG_CLASS, TRANSITIONS } from './web/vaul/constants';
|
|
@@ -81,6 +83,9 @@ const TrueSheetComponent = forwardRef<TrueSheetMethods, TrueSheetProps>((props,
|
|
|
81
83
|
cornerRadius,
|
|
82
84
|
style,
|
|
83
85
|
backgroundColor: backgroundColorProp,
|
|
86
|
+
detentBackgrounds,
|
|
87
|
+
background,
|
|
88
|
+
backgroundStyle,
|
|
84
89
|
maxContentHeight,
|
|
85
90
|
maxContentWidth,
|
|
86
91
|
placement = 'automatic',
|
|
@@ -152,12 +157,20 @@ const TrueSheetComponent = forwardRef<TrueSheetMethods, TrueSheetProps>((props,
|
|
|
152
157
|
const effectiveDetached = isFormSheet || detached;
|
|
153
158
|
|
|
154
159
|
const colorScheme = useColorScheme();
|
|
160
|
+
const shouldAutoPresent = initialDetentIndex >= 0 && initialDetentIndex < validDetents.length;
|
|
161
|
+
const [isOpen, setIsOpen] = useState(shouldAutoPresent);
|
|
162
|
+
const isOpenRef = useRef(isOpen);
|
|
163
|
+
isOpenRef.current = isOpen;
|
|
164
|
+
const isPresentingRef = useRef(shouldAutoPresent);
|
|
165
|
+
const [displayedBackgroundIndex, setDisplayedBackgroundIndex] = useState(
|
|
166
|
+
shouldAutoPresent ? initialDetentIndex : 0
|
|
167
|
+
);
|
|
155
168
|
const backgroundColor =
|
|
169
|
+
normalizeDetentBackground(
|
|
170
|
+
detentBackgrounds?.[Math.min(displayedBackgroundIndex, validDetents.length - 1)]
|
|
171
|
+
)?.color ??
|
|
156
172
|
backgroundColorProp ??
|
|
157
173
|
(colorScheme === 'dark' ? COLOR_SURFACE_CONTAINER_LOW_DARK : COLOR_SURFACE_CONTAINER_LOW_LIGHT);
|
|
158
|
-
|
|
159
|
-
const shouldAutoPresent = initialDetentIndex >= 0 && initialDetentIndex < validDetents.length;
|
|
160
|
-
const [isOpen, setIsOpen] = useState(shouldAutoPresent);
|
|
161
174
|
const [activeSnapPoint, setActiveSnapPoint] = useState<SheetDetent | null>(
|
|
162
175
|
() => validDetents[shouldAutoPresent ? initialDetentIndex : 0] ?? null
|
|
163
176
|
);
|
|
@@ -241,6 +254,10 @@ const TrueSheetComponent = forwardRef<TrueSheetMethods, TrueSheetProps>((props,
|
|
|
241
254
|
`TrueSheet: present index (${index}) is out of bounds. detents array has ${validDetentsRef.current.length} item(s)`
|
|
242
255
|
);
|
|
243
256
|
}
|
|
257
|
+
if (!isOpenRef.current) {
|
|
258
|
+
isPresentingRef.current = true;
|
|
259
|
+
setDisplayedBackgroundIndex(index);
|
|
260
|
+
}
|
|
244
261
|
setActiveSnapPoint(detent);
|
|
245
262
|
setIsOpen(true);
|
|
246
263
|
},
|
|
@@ -643,11 +660,21 @@ const TrueSheetComponent = forwardRef<TrueSheetMethods, TrueSheetProps>((props,
|
|
|
643
660
|
const handlePositionChange = useCallback(
|
|
644
661
|
(position: number) => {
|
|
645
662
|
const { index, detent } = interpolateFromPosition(position);
|
|
663
|
+
if (isOpenRef.current && !isPresentingRef.current) {
|
|
664
|
+
const { effectiveH, positions } = computeDetentGeometry();
|
|
665
|
+
setDisplayedBackgroundIndex((current) =>
|
|
666
|
+
getDetentBackgroundIndex(
|
|
667
|
+
effectiveH - position,
|
|
668
|
+
positions.map((top) => effectiveH - top),
|
|
669
|
+
current
|
|
670
|
+
)
|
|
671
|
+
);
|
|
672
|
+
}
|
|
646
673
|
onPositionChangeRef.current?.({
|
|
647
674
|
nativeEvent: { index, position, detent, realtime: true },
|
|
648
675
|
} as PositionChangeEvent);
|
|
649
676
|
},
|
|
650
|
-
[interpolateFromPosition]
|
|
677
|
+
[interpolateFromPosition, computeDetentGeometry]
|
|
651
678
|
);
|
|
652
679
|
|
|
653
680
|
// Fire onMount once after first render. React-mount is the earliest point
|
|
@@ -686,6 +713,7 @@ const TrueSheetComponent = forwardRef<TrueSheetMethods, TrueSheetProps>((props,
|
|
|
686
713
|
|
|
687
714
|
const fireDone = () => {
|
|
688
715
|
if (present) {
|
|
716
|
+
isPresentingRef.current = false;
|
|
689
717
|
onDidPresentRef.current?.({ nativeEvent: computeDetentInfo() } as DidPresentEvent);
|
|
690
718
|
onDidFocusRef.current?.({ nativeEvent: null } as DidFocusEvent);
|
|
691
719
|
} else {
|
|
@@ -1019,6 +1047,14 @@ const TrueSheetComponent = forwardRef<TrueSheetMethods, TrueSheetProps>((props,
|
|
|
1019
1047
|
? `drop-shadow(0 ${-elevation}px ${elevation * 3}px rgba(0, 0, 0, 0.15))`
|
|
1020
1048
|
: undefined;
|
|
1021
1049
|
|
|
1050
|
+
const backgroundLayerStyle: React.CSSProperties = {
|
|
1051
|
+
position: 'absolute',
|
|
1052
|
+
inset: 0,
|
|
1053
|
+
pointerEvents: 'none',
|
|
1054
|
+
backgroundColor: backgroundColor as string,
|
|
1055
|
+
transition: isPresentingRef.current ? 'none' : 'background-color 200ms',
|
|
1056
|
+
};
|
|
1057
|
+
|
|
1022
1058
|
const mergedContentStyle = useMemo<React.CSSProperties>(
|
|
1023
1059
|
() => ({
|
|
1024
1060
|
position: 'fixed',
|
|
@@ -1030,7 +1066,6 @@ const TrueSheetComponent = forwardRef<TrueSheetMethods, TrueSheetProps>((props,
|
|
|
1030
1066
|
flexDirection: 'column',
|
|
1031
1067
|
borderTopLeftRadius: effectiveCornerRadius,
|
|
1032
1068
|
borderTopRightRadius: effectiveCornerRadius,
|
|
1033
|
-
backgroundColor: backgroundColor as string,
|
|
1034
1069
|
// Clip children to the rounded top so headers/content with their own
|
|
1035
1070
|
// background don't bleed past the corners. `clip` (not `hidden`): a
|
|
1036
1071
|
// hidden box is still a scroll container, so browser focus-reveal (e.g.
|
|
@@ -1051,7 +1086,6 @@ const TrueSheetComponent = forwardRef<TrueSheetMethods, TrueSheetProps>((props,
|
|
|
1051
1086
|
: 0,
|
|
1052
1087
|
}),
|
|
1053
1088
|
[
|
|
1054
|
-
backgroundColor,
|
|
1055
1089
|
effectiveCornerRadius,
|
|
1056
1090
|
insetAdjustment,
|
|
1057
1091
|
footerOwnsInset,
|
|
@@ -1208,6 +1242,7 @@ const TrueSheetComponent = forwardRef<TrueSheetMethods, TrueSheetProps>((props,
|
|
|
1208
1242
|
) : undefined
|
|
1209
1243
|
}
|
|
1210
1244
|
>
|
|
1245
|
+
<div aria-hidden style={backgroundLayerStyle} />
|
|
1211
1246
|
<Drawer.Title style={visuallyHiddenStyle}>
|
|
1212
1247
|
{accessibilityOptions?.paneTitle ?? 'Sheet'}
|
|
1213
1248
|
</Drawer.Title>
|
|
@@ -1217,6 +1252,7 @@ const TrueSheetComponent = forwardRef<TrueSheetMethods, TrueSheetProps>((props,
|
|
|
1217
1252
|
style={sizedLayoutStyle}
|
|
1218
1253
|
data-vaul-scroll-locked={isScrollLocked ? '' : undefined}
|
|
1219
1254
|
>
|
|
1255
|
+
<TrueSheetBackground background={background} backgroundStyle={backgroundStyle} />
|
|
1220
1256
|
{header && (
|
|
1221
1257
|
<View ref={headerElRef} style={resolvedHeaderStyle} onLayout={handleHeaderLayout}>
|
|
1222
1258
|
{isValidElement(header) ? header : createElement(header)}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { StyleSheet, View } from 'react-native';
|
|
2
|
+
import type { TrueSheetProps } from './TrueSheet.types';
|
|
3
|
+
|
|
4
|
+
export const TrueSheetBackground = ({
|
|
5
|
+
background,
|
|
6
|
+
backgroundStyle,
|
|
7
|
+
}: Pick<TrueSheetProps, 'background' | 'backgroundStyle'>) => (
|
|
8
|
+
<View
|
|
9
|
+
pointerEvents="none"
|
|
10
|
+
style={[
|
|
11
|
+
StyleSheet.absoluteFill,
|
|
12
|
+
{ backgroundColor: StyleSheet.flatten(backgroundStyle)?.backgroundColor },
|
|
13
|
+
]}
|
|
14
|
+
>
|
|
15
|
+
{background}
|
|
16
|
+
</View>
|
|
17
|
+
);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { DetentBackground } from './TrueSheet.types';
|
|
2
|
+
|
|
3
|
+
export function normalizeDetentBackground(entry: DetentBackground | null | undefined) {
|
|
4
|
+
return typeof entry === 'string' ? { color: entry } : entry;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export function getDetentBackgroundIndex(
|
|
8
|
+
height: number,
|
|
9
|
+
detentHeights: readonly number[],
|
|
10
|
+
displayedIndex: number
|
|
11
|
+
): number {
|
|
12
|
+
if (detentHeights.length === 0) return -1;
|
|
13
|
+
|
|
14
|
+
let nextIndex = Math.max(0, Math.min(displayedIndex, detentHeights.length - 1));
|
|
15
|
+
let distance = Math.abs(height - detentHeights[nextIndex]!);
|
|
16
|
+
for (let index = 0; index < detentHeights.length; index++) {
|
|
17
|
+
const nextDistance = Math.abs(height - detentHeights[index]!);
|
|
18
|
+
if (nextDistance < distance) {
|
|
19
|
+
nextIndex = index;
|
|
20
|
+
distance = nextDistance;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return nextIndex;
|
|
24
|
+
}
|