@lodev09/react-native-true-sheet 4.0.0-beta.1 → 4.0.0-beta.2

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 (108) hide show
  1. package/android/src/main/java/com/lodev09/truesheet/TrueSheetFooterView.kt +8 -2
  2. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +9 -2
  3. package/android/src/main/java/com/lodev09/truesheet/utils/TouchEventDeduper.kt +31 -0
  4. package/ios/TrueSheetViewController.mm +1 -4
  5. package/lib/module/TrueSheet.js +12 -6
  6. package/lib/module/TrueSheet.js.map +1 -1
  7. package/lib/module/TrueSheet.web.js +11 -9
  8. package/lib/module/TrueSheet.web.js.map +1 -1
  9. package/lib/module/TrueSheetPeek.web.js +3 -3
  10. package/lib/module/TrueSheetPeek.web.js.map +1 -1
  11. package/lib/module/mocks/navigation.js +31 -21
  12. package/lib/module/mocks/navigation.js.map +1 -1
  13. package/lib/module/mocks/navigationExpoRouter.js +21 -0
  14. package/lib/module/mocks/navigationExpoRouter.js.map +1 -0
  15. package/lib/module/mocks/reanimated.js +1 -1
  16. package/lib/module/mocks/reanimated.js.map +1 -1
  17. package/lib/module/navigation/{TrueSheetView.js → TrueSheetNavigatorContent.js} +14 -12
  18. package/lib/module/navigation/TrueSheetNavigatorContent.js.map +1 -0
  19. package/lib/module/navigation/actions.js +50 -0
  20. package/lib/module/navigation/actions.js.map +1 -0
  21. package/lib/module/navigation/{TrueSheetRouter.js → createTrueSheetRouter.js} +20 -24
  22. package/lib/module/navigation/createTrueSheetRouter.js.map +1 -0
  23. package/lib/module/navigation/expo-router/index.js +48 -0
  24. package/lib/module/navigation/expo-router/index.js.map +1 -0
  25. package/lib/module/navigation/index.js +43 -2
  26. package/lib/module/navigation/index.js.map +1 -1
  27. package/lib/module/navigation/navigator.js +10 -0
  28. package/lib/module/navigation/navigator.js.map +1 -0
  29. package/lib/module/navigation/screen/ReanimatedTrueSheetScreen.js +2 -2
  30. package/lib/module/navigation/screen/ReanimatedTrueSheetScreen.js.map +1 -1
  31. package/lib/module/navigation/screen/TrueSheetScreen.js +2 -2
  32. package/lib/module/navigation/screen/TrueSheetScreen.js.map +1 -1
  33. package/lib/module/navigation/screen/useSheetScreenState.js +4 -4
  34. package/lib/module/navigation/screen/useSheetScreenState.js.map +1 -1
  35. package/lib/module/navigation/useTrueSheetNavigation.js +1 -1
  36. package/lib/module/navigation/useTrueSheetNavigation.js.map +1 -1
  37. package/lib/module/web/dom.js +10 -0
  38. package/lib/module/web/dom.js.map +1 -0
  39. package/lib/module/web/vaul/helpers.js +10 -4
  40. package/lib/module/web/vaul/helpers.js.map +1 -1
  41. package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
  42. package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -1
  43. package/lib/typescript/src/TrueSheetPeek.web.d.ts.map +1 -1
  44. package/lib/typescript/src/mocks/navigation.d.ts +5 -1
  45. package/lib/typescript/src/mocks/navigation.d.ts.map +1 -1
  46. package/lib/typescript/src/mocks/navigationExpoRouter.d.ts +22 -0
  47. package/lib/typescript/src/mocks/navigationExpoRouter.d.ts.map +1 -0
  48. package/lib/typescript/src/mocks/reanimated.d.ts.map +1 -1
  49. package/lib/typescript/src/navigation/TrueSheetNavigatorContent.d.ts +5 -0
  50. package/lib/typescript/src/navigation/TrueSheetNavigatorContent.d.ts.map +1 -0
  51. package/lib/typescript/src/navigation/actions.d.ts +71 -0
  52. package/lib/typescript/src/navigation/actions.d.ts.map +1 -0
  53. package/lib/typescript/src/navigation/createTrueSheetRouter.d.ts +14 -0
  54. package/lib/typescript/src/navigation/createTrueSheetRouter.d.ts.map +1 -0
  55. package/lib/typescript/src/navigation/expo-router/index.d.ts +37 -0
  56. package/lib/typescript/src/navigation/expo-router/index.d.ts.map +1 -0
  57. package/lib/typescript/src/navigation/index.d.ts +42 -2
  58. package/lib/typescript/src/navigation/index.d.ts.map +1 -1
  59. package/lib/typescript/src/navigation/navigator.d.ts +7 -0
  60. package/lib/typescript/src/navigation/navigator.d.ts.map +1 -0
  61. package/lib/typescript/src/navigation/screen/ReanimatedTrueSheetScreen.d.ts +1 -1
  62. package/lib/typescript/src/navigation/screen/ReanimatedTrueSheetScreen.d.ts.map +1 -1
  63. package/lib/typescript/src/navigation/screen/TrueSheetScreen.d.ts +1 -1
  64. package/lib/typescript/src/navigation/screen/TrueSheetScreen.d.ts.map +1 -1
  65. package/lib/typescript/src/navigation/screen/types.d.ts +3 -4
  66. package/lib/typescript/src/navigation/screen/types.d.ts.map +1 -1
  67. package/lib/typescript/src/navigation/screen/useSheetScreenState.d.ts +3 -5
  68. package/lib/typescript/src/navigation/screen/useSheetScreenState.d.ts.map +1 -1
  69. package/lib/typescript/src/navigation/types.d.ts +24 -0
  70. package/lib/typescript/src/navigation/types.d.ts.map +1 -1
  71. package/lib/typescript/src/navigation/useTrueSheetNavigation.d.ts +1 -1
  72. package/lib/typescript/src/navigation/useTrueSheetNavigation.d.ts.map +1 -1
  73. package/lib/typescript/src/web/dom.d.ts +7 -0
  74. package/lib/typescript/src/web/dom.d.ts.map +1 -0
  75. package/lib/typescript/src/web/vaul/helpers.d.ts.map +1 -1
  76. package/package.json +23 -8
  77. package/src/TrueSheet.tsx +11 -8
  78. package/src/TrueSheet.web.tsx +14 -18
  79. package/src/TrueSheetPeek.web.tsx +4 -3
  80. package/src/mocks/navigation.ts +32 -25
  81. package/src/mocks/navigationExpoRouter.ts +40 -0
  82. package/src/mocks/reanimated.ts +8 -9
  83. package/src/navigation/{TrueSheetView.tsx → TrueSheetNavigatorContent.tsx} +24 -17
  84. package/src/navigation/actions.ts +78 -0
  85. package/src/navigation/createTrueSheetRouter.ts +222 -0
  86. package/src/navigation/expo-router/index.ts +89 -0
  87. package/src/navigation/index.ts +69 -2
  88. package/src/navigation/navigator.ts +18 -0
  89. package/src/navigation/screen/ReanimatedTrueSheetScreen.tsx +2 -2
  90. package/src/navigation/screen/TrueSheetScreen.tsx +2 -2
  91. package/src/navigation/screen/types.ts +4 -6
  92. package/src/navigation/screen/useSheetScreenState.ts +8 -15
  93. package/src/navigation/types.ts +32 -0
  94. package/src/navigation/useTrueSheetNavigation.ts +1 -1
  95. package/src/web/dom.ts +9 -0
  96. package/src/web/vaul/helpers.ts +13 -6
  97. package/lib/module/navigation/TrueSheetRouter.js.map +0 -1
  98. package/lib/module/navigation/TrueSheetView.js.map +0 -1
  99. package/lib/module/navigation/createTrueSheetNavigator.js +0 -63
  100. package/lib/module/navigation/createTrueSheetNavigator.js.map +0 -1
  101. package/lib/typescript/src/navigation/TrueSheetRouter.d.ts +0 -57
  102. package/lib/typescript/src/navigation/TrueSheetRouter.d.ts.map +0 -1
  103. package/lib/typescript/src/navigation/TrueSheetView.d.ts +0 -10
  104. package/lib/typescript/src/navigation/TrueSheetView.d.ts.map +0 -1
  105. package/lib/typescript/src/navigation/createTrueSheetNavigator.d.ts +0 -35
  106. package/lib/typescript/src/navigation/createTrueSheetNavigator.d.ts.map +0 -1
  107. package/src/navigation/TrueSheetRouter.ts +0 -234
  108. package/src/navigation/createTrueSheetNavigator.tsx +0 -93
@@ -0,0 +1,89 @@
1
+ import type { ParamListBase } from '@react-navigation/core';
2
+ import { StackRouter, unstable_integrateWithRouter, useNavigation } from 'expo-router';
3
+
4
+ import {
5
+ createTrueSheetRouter,
6
+ type StackRouterFactory,
7
+ type TrueSheetRouterOptions,
8
+ } from '../createTrueSheetRouter';
9
+ import { trueSheetNavigator } from '../navigator';
10
+ import type {
11
+ TrueSheetNavigationOptions,
12
+ TrueSheetNavigationProp,
13
+ TrueSheetNavigationState,
14
+ TrueSheetNavigatorContentExtraProps,
15
+ TrueSheetNavigatorProps,
16
+ TrueSheetStandardEventMap,
17
+ } from '../types';
18
+
19
+ const SheetNavigator = unstable_integrateWithRouter<
20
+ TrueSheetNavigationOptions,
21
+ TrueSheetNavigationState<ParamListBase>,
22
+ TrueSheetStandardEventMap,
23
+ TrueSheetNavigatorContentExtraProps,
24
+ TrueSheetRouterOptions
25
+ >(
26
+ trueSheetNavigator,
27
+ // expo-router's vendored StackRouter is structurally identical to @react-navigation's
28
+ createTrueSheetRouter(StackRouter as StackRouterFactory),
29
+ {
30
+ createProps: ({ state, dispatch }) => ({
31
+ routes: state.routes,
32
+ dispatch,
33
+ }),
34
+ }
35
+ );
36
+
37
+ // Public props: `routes`/`dispatch` are injected by `createProps` (optional here
38
+ // so the navigator type stays comparable), and expo-router intersects the event
39
+ // map with an index signature which breaks precisely typed `screenListeners`
40
+ // callbacks - replace it with the exact map
41
+ type SheetProps = Omit<
42
+ React.ComponentProps<typeof SheetNavigator>,
43
+ 'screenListeners' | 'routes' | 'dispatch'
44
+ > &
45
+ Partial<Pick<React.ComponentProps<typeof SheetNavigator>, 'routes' | 'dispatch'>> &
46
+ Pick<TrueSheetNavigatorProps, 'screenListeners'>;
47
+
48
+ /**
49
+ * TrueSheet navigator layout for Expo Router.
50
+ *
51
+ * @example
52
+ * ```tsx
53
+ * // app/sheet/_layout.tsx
54
+ * import { Sheet } from '@lodev09/react-native-true-sheet/navigation/expo-router';
55
+ *
56
+ * export default function SheetLayout() {
57
+ * return (
58
+ * <Sheet initialRouteName="(home)">
59
+ * <Sheet.Screen name="details" options={{ detents: [0.5, 1] }} />
60
+ * </Sheet>
61
+ * );
62
+ * }
63
+ * ```
64
+ */
65
+ export const Sheet = SheetNavigator as React.ComponentType<SheetProps> & {
66
+ Screen: typeof SheetNavigator.Screen;
67
+ Protected: typeof SheetNavigator.Protected;
68
+ };
69
+
70
+ /**
71
+ * Hook to access TrueSheet navigation with the resize helper.
72
+ * Built on expo-router's `useNavigation`.
73
+ */
74
+ export const useTrueSheetNavigation = <
75
+ T extends ParamListBase = ParamListBase,
76
+ >(): TrueSheetNavigationProp<T> => useNavigation<TrueSheetNavigationProp<T>>();
77
+
78
+ export { TrueSheetActions, type TrueSheetActionType } from '../actions';
79
+
80
+ export type { DetentInfoEventPayload, PositionChangeEventPayload } from '../../TrueSheet.types';
81
+
82
+ export type {
83
+ TrueSheetNavigationEventMap,
84
+ TrueSheetNavigationHelpers,
85
+ TrueSheetNavigationOptions,
86
+ TrueSheetNavigationProp,
87
+ TrueSheetNavigationState,
88
+ TrueSheetScreenProps,
89
+ } from '../types';
@@ -1,5 +1,72 @@
1
- export { createTrueSheetNavigator } from './createTrueSheetNavigator';
2
- export { TrueSheetActions, type TrueSheetActionType } from './TrueSheetRouter';
1
+ import {
2
+ createStandardNavigationFactories,
3
+ StackRouter,
4
+ type StandardNavigationTypeBagBase,
5
+ } from '@react-navigation/native';
6
+
7
+ import { createTrueSheetRouter, type StackRouterFactory } from './createTrueSheetRouter';
8
+ import { trueSheetNavigator } from './navigator';
9
+ import type {
10
+ TrueSheetActionHelpers,
11
+ TrueSheetNavigationOptions,
12
+ TrueSheetNavigationEventMap,
13
+ TrueSheetNavigationState,
14
+ TrueSheetNavigatorContentExtraProps,
15
+ } from './types';
16
+ import type { TrueSheetRouterOptions } from './createTrueSheetRouter';
17
+
18
+ export interface TrueSheetNavigationTypeBag extends StandardNavigationTypeBagBase {
19
+ State: TrueSheetNavigationState<this['ParamList']>;
20
+ ActionHelpers: TrueSheetActionHelpers<this['ParamList']>;
21
+ ScreenOptions: TrueSheetNavigationOptions;
22
+ EventMap: TrueSheetNavigationEventMap;
23
+ RouterOptions: TrueSheetRouterOptions;
24
+ }
25
+
26
+ const { createNavigator, createScreen } = createStandardNavigationFactories<
27
+ TrueSheetNavigationTypeBag,
28
+ {},
29
+ TrueSheetNavigatorContentExtraProps
30
+ >(
31
+ trueSheetNavigator,
32
+ createTrueSheetRouter(StackRouter as StackRouterFactory),
33
+ ({ state, navigation }) => ({ routes: state.routes, dispatch: navigation.dispatch })
34
+ );
35
+
36
+ /**
37
+ * Creates a TrueSheet navigator.
38
+ *
39
+ * @example
40
+ * ```tsx
41
+ * const Sheet = createTrueSheetNavigator();
42
+ *
43
+ * function App() {
44
+ * return (
45
+ * <Sheet.Navigator>
46
+ * <Sheet.Screen name="Home" component={HomeScreen} />
47
+ * <Sheet.Screen
48
+ * name="Details"
49
+ * component={DetailsSheet}
50
+ * options={{ detents: [0.5, 1] }}
51
+ * />
52
+ * </Sheet.Navigator>
53
+ * );
54
+ * }
55
+ * ```
56
+ */
57
+ export const createTrueSheetNavigator = createNavigator;
58
+
59
+ /**
60
+ * Creates a screen configuration for the static API.
61
+ */
62
+ export const createTrueSheetScreen = createScreen;
63
+
64
+ export { TrueSheetActions, type TrueSheetActionType } from './actions';
65
+ export {
66
+ createTrueSheetRouter,
67
+ type StackRouterFactory,
68
+ type TrueSheetRouterOptions,
69
+ } from './createTrueSheetRouter';
3
70
  export { useTrueSheetNavigation } from './useTrueSheetNavigation';
4
71
 
5
72
  export type { DetentInfoEventPayload, PositionChangeEventPayload } from '../TrueSheet.types';
@@ -0,0 +1,18 @@
1
+ import { createStandardNavigator } from 'standard-navigation';
2
+
3
+ import { TrueSheetNavigatorContent } from './TrueSheetNavigatorContent';
4
+ import type {
5
+ TrueSheetNavigationOptions,
6
+ TrueSheetNavigatorContentExtraProps,
7
+ TrueSheetStandardEventMap,
8
+ } from './types';
9
+
10
+ /**
11
+ * Framework-agnostic TrueSheet navigator.
12
+ * Wired into React Navigation via `./index` and Expo Router via `./expo-router`.
13
+ */
14
+ export const trueSheetNavigator = createStandardNavigator<
15
+ TrueSheetNavigationOptions,
16
+ TrueSheetStandardEventMap,
17
+ TrueSheetNavigatorContentExtraProps
18
+ >(TrueSheetNavigatorContent);
@@ -12,7 +12,7 @@ const AnimatedTrueSheet = Animated.createAnimatedComponent(TrueSheet);
12
12
  export const ReanimatedTrueSheetScreen = ({
13
13
  detentIndex,
14
14
  resizeKey,
15
- navigation,
15
+ dispatch,
16
16
  emit,
17
17
  routeKey,
18
18
  closing,
@@ -29,7 +29,7 @@ export const ReanimatedTrueSheetScreen = ({
29
29
  detentIndex,
30
30
  resizeKey,
31
31
  closing,
32
- navigation,
32
+ dispatch,
33
33
  routeKey,
34
34
  emit,
35
35
  });
@@ -8,7 +8,7 @@ import { useSheetScreenState } from './useSheetScreenState';
8
8
  export const TrueSheetScreen = ({
9
9
  detentIndex,
10
10
  resizeKey,
11
- navigation,
11
+ dispatch,
12
12
  emit,
13
13
  routeKey,
14
14
  closing,
@@ -25,7 +25,7 @@ export const TrueSheetScreen = ({
25
25
  detentIndex,
26
26
  resizeKey,
27
27
  closing,
28
- navigation,
28
+ dispatch,
29
29
  routeKey,
30
30
  emit,
31
31
  });
@@ -1,18 +1,16 @@
1
- import type { ParamListBase } from '@react-navigation/core';
2
-
3
1
  import type { TrueSheetProps } from '../../TrueSheet.types';
4
2
  import type {
5
3
  PositionChangeHandler,
6
- TrueSheetNavigationHelpers,
7
- TrueSheetNavigationProp,
4
+ TrueSheetDispatch,
5
+ TrueSheetEmitFn,
8
6
  TrueSheetNavigationSheetProps,
9
7
  } from '../types';
10
8
 
11
9
  export interface TrueSheetScreenProps extends TrueSheetNavigationSheetProps {
12
10
  detentIndex: number;
13
11
  resizeKey?: number;
14
- navigation: TrueSheetNavigationProp<ParamListBase>;
15
- emit: TrueSheetNavigationHelpers['emit'];
12
+ dispatch: TrueSheetDispatch;
13
+ emit: TrueSheetEmitFn;
16
14
  routeKey: string;
17
15
  closing?: boolean;
18
16
  detents: TrueSheetProps['detents'];
@@ -17,27 +17,20 @@ import type {
17
17
  WillFocusEvent,
18
18
  WillPresentEvent,
19
19
  } from '../../TrueSheet.types';
20
- import type {
21
- TrueSheetNavigationEventMap,
22
- TrueSheetNavigationHelpers,
23
- TrueSheetNavigationProp,
24
- } from '../types';
25
- import { TrueSheetActions } from '../TrueSheetRouter';
26
- import type { ParamListBase } from '@react-navigation/core';
27
-
28
- type EmitFn = TrueSheetNavigationHelpers['emit'];
20
+ import type { TrueSheetDispatch, TrueSheetEmitFn, TrueSheetNavigationEventMap } from '../types';
21
+ import { TrueSheetActions } from '../actions';
29
22
 
30
23
  interface UseSheetScreenStateProps {
31
24
  detentIndex: number;
32
25
  resizeKey?: number;
33
26
  closing?: boolean;
34
- navigation: TrueSheetNavigationProp<ParamListBase>;
27
+ dispatch: TrueSheetDispatch;
35
28
  routeKey: string;
36
- emit: EmitFn;
29
+ emit: TrueSheetEmitFn;
37
30
  }
38
31
 
39
32
  export const useSheetScreenState = (props: UseSheetScreenStateProps) => {
40
- const { detentIndex, resizeKey, closing, navigation, routeKey, emit } = props;
33
+ const { detentIndex, resizeKey, closing, dispatch, routeKey, emit } = props;
41
34
 
42
35
  const ref = useRef<TrueSheet>(null);
43
36
  const isDismissedRef = useRef(false);
@@ -68,7 +61,7 @@ export const useSheetScreenState = (props: UseSheetScreenStateProps) => {
68
61
  type,
69
62
  target: routeKey,
70
63
  data,
71
- } as Parameters<EmitFn>[0]);
64
+ } as Parameters<TrueSheetEmitFn>[0]);
72
65
  },
73
66
  [emit, routeKey]
74
67
  );
@@ -76,8 +69,8 @@ export const useSheetScreenState = (props: UseSheetScreenStateProps) => {
76
69
  const onDidDismiss = useCallback(() => {
77
70
  emitEvent('sheetDidDismiss', undefined);
78
71
  isDismissedRef.current = true;
79
- navigation.dispatch({ ...TrueSheetActions.remove(), source: routeKey });
80
- }, [emitEvent, navigation, routeKey]);
72
+ dispatch({ ...TrueSheetActions.remove(), source: routeKey });
73
+ }, [emitEvent, dispatch, routeKey]);
81
74
 
82
75
  const eventHandlers = useMemo(
83
76
  () => ({
@@ -8,12 +8,14 @@ import type {
8
8
  RouteProp,
9
9
  StackActionHelpers,
10
10
  } from '@react-navigation/core';
11
+ import type { NavigatorArgs } from 'standard-navigation';
11
12
 
12
13
  import type {
13
14
  DetentInfoEventPayload,
14
15
  PositionChangeEventPayload,
15
16
  TrueSheetProps,
16
17
  } from '../TrueSheet.types';
18
+ import type { TrueSheetActionType } from './actions';
17
19
 
18
20
  export type PositionChangeHandler = (payload: PositionChangeEventPayload) => void;
19
21
 
@@ -84,6 +86,36 @@ export type TrueSheetNavigationState<ParamList extends ParamListBase> = Omit<
84
86
  })[];
85
87
  };
86
88
 
89
+ /**
90
+ * `TrueSheetNavigationEventMap` in the `standard-navigation` event-map shape.
91
+ */
92
+ export type TrueSheetStandardEventMap = {
93
+ [K in keyof TrueSheetNavigationEventMap]: {
94
+ data: TrueSheetNavigationEventMap[K]['data'];
95
+ canPreventDefault: false;
96
+ };
97
+ };
98
+
99
+ export type TrueSheetRoute = TrueSheetNavigationState<ParamListBase>['routes'][number];
100
+
101
+ export type TrueSheetDispatch = (action: TrueSheetActionType) => void;
102
+
103
+ export type TrueSheetEmitFn = NavigatorArgs<
104
+ TrueSheetNavigationOptions,
105
+ TrueSheetStandardEventMap
106
+ >['emitter']['emit'];
107
+
108
+ /**
109
+ * Props injected into the navigator content by each adapter
110
+ * (React Navigation's `mapper` / Expo Router's `createProps`).
111
+ * Raw routes carry the custom fields (`closing`, `resizeIndex`, `resizeKey`)
112
+ * that the standard state strips out.
113
+ */
114
+ export interface TrueSheetNavigatorContentExtraProps {
115
+ routes: TrueSheetRoute[];
116
+ dispatch: TrueSheetDispatch;
117
+ }
118
+
87
119
  export type TrueSheetActionHelpers<ParamList extends ParamListBase> =
88
120
  StackActionHelpers<ParamList> & {
89
121
  /**
@@ -1,4 +1,4 @@
1
- import { useNavigation, type ParamListBase } from '@react-navigation/core';
1
+ import { useNavigation, type ParamListBase } from '@react-navigation/native';
2
2
 
3
3
  import type { TrueSheetNavigationProp } from './types';
4
4
 
package/src/web/dom.ts ADDED
@@ -0,0 +1,9 @@
1
+ /// <reference lib="dom" />
2
+ import type { View } from 'react-native';
3
+
4
+ /**
5
+ * Resolves a React Native web `View` ref value to its underlying DOM element —
6
+ * RN-web refs expose the host DOM node directly.
7
+ */
8
+ export const getDOMElement = (view: View | null): HTMLElement | null =>
9
+ view instanceof HTMLElement ? view : null;
@@ -4,7 +4,12 @@ interface Style {
4
4
  [key: string]: string;
5
5
  }
6
6
 
7
- const cache = new WeakMap();
7
+ // CSSStyleDeclaration has no string index signature, so dynamic camelCase
8
+ // keys are assigned through this writable-record view. Values include
9
+ // undefined: originals captured for unknown keys read back as undefined.
10
+ type IndexableStyle = CSSStyleDeclaration & Record<string, string | undefined>;
11
+
12
+ const cache = new WeakMap<HTMLElement, Record<string, string | undefined>>();
8
13
 
9
14
  export function isInView(el: HTMLElement): boolean {
10
15
  const rect = el.getBoundingClientRect();
@@ -26,7 +31,8 @@ export function set(
26
31
  ignoreCache = false
27
32
  ) {
28
33
  if (!el || !(el instanceof HTMLElement)) return;
29
- let originalStyles: Style = {};
34
+ let originalStyles: Record<string, string | undefined> = {};
35
+ const style = el.style as IndexableStyle;
30
36
 
31
37
  Object.entries(styles).forEach(([key, value]: [string, string]) => {
32
38
  if (key.startsWith('--')) {
@@ -34,8 +40,8 @@ export function set(
34
40
  return;
35
41
  }
36
42
 
37
- originalStyles[key] = (el.style as any)[key];
38
- (el.style as any)[key] = value;
43
+ originalStyles[key] = style[key];
44
+ style[key] = value;
39
45
  });
40
46
 
41
47
  if (ignoreCache) return;
@@ -51,11 +57,12 @@ export function reset(el: Element | HTMLElement | null, prop?: string) {
51
57
  return;
52
58
  }
53
59
 
60
+ const style = el.style as IndexableStyle;
54
61
  if (prop) {
55
- (el.style as any)[prop] = originalStyles[prop];
62
+ style[prop] = originalStyles[prop];
56
63
  } else {
57
64
  Object.entries(originalStyles).forEach(([key, value]) => {
58
- (el.style as any)[key] = value;
65
+ style[key] = value;
59
66
  });
60
67
  }
61
68
  }
@@ -1 +0,0 @@
1
- {"version":3,"names":["nanoid","StackRouter","StackActions","TrueSheetActions","resize","index","type","dismiss","remove","ensureBaseRoute","state","baseRouteName","routeParamList","hasBaseRoute","routes","some","r","name","baseRoute","key","params","length","TrueSheetRouter","routerOptions","baseRouter","getInitialState","options","initialRouteName","routeNames","stateWithBaseRoute","stale","getStateForAction","action","routeIndex","target","source","findIndex","map","route","i","resizeIndex","resizeKey","pop","count","payload","maxPopCount","actualCount","Math","min","targetIndex","closingIndex","closing","popCount","targetName","routeKey","filter","_","getRehydratedState","partialState","routeGetIdList","actionCreators"],"sourceRoot":"../../../src","sources":["navigation/TrueSheetRouter.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["TrueSheetScreen","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ReanimatedTrueSheetScreen","getReanimatedScreen","require","DEFAULT_DETENTS","clampDetentIndex","index","detentsLength","Math","min","max","TrueSheetView","state","navigation","descriptors","baseRoute","sheetRoutes","routes","baseDescriptor","key","children","render","map","route","descriptor","options","screenNavigation","detentIndex","detents","reanimated","positionChangeHandler","sheetProps","resolvedIndex","resizeIndex","length","ReanimatedScreen","routeKey","closing","resizeKey","emit"],"sourceRoot":"../../../src","sources":["navigation/TrueSheetView.tsx"],"mappings":";;AAOA,SAASA,eAAe,QAAmC,mBAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAEtE,IAAIC,yBAA2E,GAAG,IAAI;AAEtF,MAAMC,mBAAmB,GAAGA,CAAA,KAAiD;EAC3E,IAAI,CAACD,yBAAyB,EAAE;IAC9BA,yBAAyB,GACvBE,OAAO,CAAC,oCAAoC,CAAC,CAACF,yBAAyB;EAC3E;EACA,OAAOA,yBAAyB;AAClC,CAAC;AAED,MAAMG,eAAoC,GAAG,CAAC,MAAM,CAAC;AAErD,MAAMC,gBAAgB,GAAGA,CAACC,KAAa,EAAEC,aAAqB,KAC5DC,IAAI,CAACC,GAAG,CAACH,KAAK,EAAEE,IAAI,CAACE,GAAG,CAACH,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAQjD,OAAO,MAAMI,aAAa,GAAGA,CAAC;EAAEC,KAAK;EAAEC,UAAU;EAAEC;AAAgC,CAAC,KAAK;EACvF;EACA,MAAM,CAACC,SAAS,EAAE,GAAGC,WAAW,CAAC,GAAGJ,KAAK,CAACK,MAAM;EAEhD,MAAMC,cAAc,GAAGH,SAAS,GAAGD,WAAW,CAACC,SAAS,CAACI,GAAG,CAAC,GAAG,IAAI;EAEpE,oBACEnB,KAAA,CAAAF,SAAA;IAAAsB,QAAA,GAEGF,cAAc,EAAEG,MAAM,CAAC,CAAC,EAGxBL,WAAW,CAACM,GAAG,CAAEC,KAAK,IAAK;MAC1B,MAAMC,UAAU,GAAGV,WAAW,CAACS,KAAK,CAACJ,GAAG,CAAC;MAEzC,IAAI,CAACK,UAAU,EAAE;QACf,OAAO,IAAI;MACb;MAEA,MAAM;QAAEC,OAAO;QAAEZ,UAAU,EAAEa,gBAAgB;QAAEL;MAAO,CAAC,GAAGG,UAAU;MACpE,MAAM;QACJG,WAAW,GAAG,CAAC;QACfC,OAAO,GAAGxB,eAAe;QACzByB,UAAU;QACVC,qBAAqB;QACrB,GAAGC;MACL,CAAC,GAAGN,OAAO;MACX,MAAMO,aAAa,GAAG3B,gBAAgB,CAACkB,KAAK,CAACU,WAAW,IAAIN,WAAW,EAAEC,OAAO,CAACM,MAAM,CAAC;MAExF,IAAIL,UAAU,EAAE;QACd,MAAMM,gBAAgB,GAAGjC,mBAAmB,CAAC,CAAC;QAC9C,oBACEN,IAAA,CAACuC,gBAAgB;UAEfC,QAAQ,EAAEb,KAAK,CAACJ,GAAI;UACpBkB,OAAO,EAAEd,KAAK,CAACc,OAAQ;UACvBV,WAAW,EAAEK,aAAc;UAC3BM,SAAS,EAAEf,KAAK,CAACe,SAAU;UAC3BV,OAAO,EAAEA,OAAQ;UACjBf,UAAU,EAAEa,gBAAiB;UAC7Ba,IAAI,EAAE1B,UAAU,CAAC0B,IAAK;UACtBT,qBAAqB,EAAEA,qBAAsB;UAAA,GACzCC,UAAU;UAAAX,QAAA,EAEbC,MAAM,CAAC;QAAC,GAXJE,KAAK,CAACJ,GAYK,CAAC;MAEvB;MAEA,oBACEvB,IAAA,CAACF,eAAe;QAEd0C,QAAQ,EAAEb,KAAK,CAACJ,GAAI;QACpBkB,OAAO,EAAEd,KAAK,CAACc,OAAQ;QACvBV,WAAW,EAAEK,aAAc;QAC3BM,SAAS,EAAEf,KAAK,CAACe,SAAU;QAC3BV,OAAO,EAAEA,OAAQ;QACjBf,UAAU,EAAEa,gBAAiB;QAC7Ba,IAAI,EAAE1B,UAAU,CAAC0B,IAAK;QACtBT,qBAAqB,EAAEA,qBAAsB;QAAA,GACzCC,UAAU;QAAAX,QAAA,EAEbC,MAAM,CAAC;MAAC,GAXJE,KAAK,CAACJ,GAYI,CAAC;IAEtB,CAAC,CAAC;EAAA,CACF,CAAC;AAEP,CAAC","ignoreList":[]}
@@ -1,63 +0,0 @@
1
- "use strict";
2
-
3
- import { createNavigatorFactory, useNavigationBuilder } from '@react-navigation/core';
4
- import { TrueSheetRouter } from "./TrueSheetRouter.js";
5
- import { TrueSheetView } from "./TrueSheetView.js";
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- const TrueSheetNavigator = ({
8
- id,
9
- initialRouteName,
10
- children,
11
- layout,
12
- screenListeners,
13
- screenOptions,
14
- screenLayout
15
- }) => {
16
- const {
17
- state,
18
- descriptors,
19
- navigation,
20
- NavigationContent
21
- } = useNavigationBuilder(TrueSheetRouter, {
22
- id,
23
- initialRouteName,
24
- children,
25
- layout,
26
- screenListeners,
27
- screenOptions,
28
- screenLayout
29
- });
30
- return /*#__PURE__*/_jsx(NavigationContent, {
31
- children: /*#__PURE__*/_jsx(TrueSheetView, {
32
- state: state,
33
- navigation: navigation,
34
- descriptors: descriptors
35
- })
36
- });
37
- };
38
-
39
- /**
40
- * Creates a TrueSheet navigator.
41
- *
42
- * @example
43
- * ```tsx
44
- * const Sheet = createTrueSheetNavigator();
45
- *
46
- * function App() {
47
- * return (
48
- * <Sheet.Navigator>
49
- * <Sheet.Screen name="Home" component={HomeScreen} />
50
- * <Sheet.Screen
51
- * name="Details"
52
- * component={DetailsSheet}
53
- * options={{ detents: [0.5, 1] }}
54
- * />
55
- * </Sheet.Navigator>
56
- * );
57
- * }
58
- * ```
59
- */
60
- export const createTrueSheetNavigator = config => {
61
- return createNavigatorFactory(TrueSheetNavigator)(config);
62
- };
63
- //# sourceMappingURL=createTrueSheetNavigator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createNavigatorFactory","useNavigationBuilder","TrueSheetRouter","TrueSheetView","jsx","_jsx","TrueSheetNavigator","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","state","descriptors","navigation","NavigationContent","createTrueSheetNavigator","config"],"sourceRoot":"../../../src","sources":["navigation/createTrueSheetNavigator.tsx"],"mappings":";;AAAA,SACEA,sBAAsB,EAKtBC,oBAAoB,QACf,wBAAwB;AAE/B,SAASC,eAAe,QAAqC,sBAAmB;AAChF,SAASC,aAAa,QAAQ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUhD,MAAMC,kBAAkB,GAAGA,CAAC;EAC1BC,EAAE;EACFC,gBAAgB;EAChBC,QAAQ;EACRC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC;AACuB,CAAC,KAAK;EAC7B,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GAAGhB,oBAAoB,CAMhFC,eAAe,EAAE;IACjBK,EAAE;IACFC,gBAAgB;IAChBC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC;EACF,CAAC,CAAC;EAEF,oBACER,IAAA,CAACY,iBAAiB;IAAAR,QAAA,eAChBJ,IAAA,CAACF,aAAa;MAACW,KAAK,EAAEA,KAAM;MAACE,UAAU,EAAEA,UAAW;MAACD,WAAW,EAAEA;IAAY,CAAE;EAAC,CAChE,CAAC;AAExB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,wBAAwB,GAgBnCC,MAAe,IACqB;EACpC,OAAOnB,sBAAsB,CAACM,kBAAkB,CAAC,CAACa,MAAM,CAAC;AAC3D,CAAC","ignoreList":[]}
@@ -1,57 +0,0 @@
1
- import { type CommonActions, type ParamListBase, type Router, type StackActionType, type StackRouterOptions } from '@react-navigation/core';
2
- import type { TrueSheetNavigationState } from './types';
3
- export type TrueSheetRouterOptions = StackRouterOptions;
4
- export type TrueSheetActionType = StackActionType | ReturnType<typeof CommonActions.goBack> | {
5
- type: 'RESIZE';
6
- index: number;
7
- source?: string;
8
- target?: string;
9
- } | {
10
- type: 'DISMISS';
11
- source?: string;
12
- target?: string;
13
- } | {
14
- type: 'REMOVE';
15
- source?: string;
16
- target?: string;
17
- };
18
- export declare const TrueSheetActions: {
19
- resize: (index: number) => TrueSheetActionType;
20
- dismiss: () => TrueSheetActionType;
21
- remove: () => TrueSheetActionType;
22
- replace(name: string, params?: object): {
23
- readonly type: "REPLACE";
24
- readonly payload: {
25
- readonly name: string;
26
- readonly params: object | undefined;
27
- };
28
- };
29
- push(name: string, params?: object): {
30
- readonly type: "PUSH";
31
- readonly payload: {
32
- readonly name: string;
33
- readonly params: object | undefined;
34
- };
35
- };
36
- pop(count?: number): {
37
- readonly type: "POP";
38
- readonly payload: {
39
- readonly count: number;
40
- };
41
- };
42
- popToTop(): {
43
- readonly type: "POP_TO_TOP";
44
- };
45
- popTo(name: string, params?: object, options?: {
46
- merge?: boolean;
47
- }): {
48
- readonly type: "POP_TO";
49
- readonly payload: {
50
- readonly name: string;
51
- readonly params: object | undefined;
52
- readonly merge: boolean | undefined;
53
- };
54
- };
55
- };
56
- export declare const TrueSheetRouter: (routerOptions: StackRouterOptions) => Router<TrueSheetNavigationState<ParamListBase>, TrueSheetActionType>;
57
- //# sourceMappingURL=TrueSheetRouter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TrueSheetRouter.d.ts","sourceRoot":"","sources":["../../../../src/navigation/TrueSheetRouter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,MAAM,EAEX,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExD,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,UAAU,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC,GACvC;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,eAAO,MAAM,gBAAgB;oBAEX,MAAM,KAAG,mBAAmB;mBAC/B,mBAAmB;kBACpB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;aA+FO,CAAC;;;;;;;;;CA9FxC,CAAC;AA8BF,eAAO,MAAM,eAAe,GAC1B,eAAe,kBAAkB,KAChC,MAAM,CAAC,wBAAwB,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAiKrE,CAAC"}
@@ -1,10 +0,0 @@
1
- import type { ParamListBase } from '@react-navigation/core';
2
- import type { TrueSheetDescriptorMap, TrueSheetNavigationHelpers, TrueSheetNavigationState } from './types';
3
- interface TrueSheetViewProps {
4
- state: TrueSheetNavigationState<ParamListBase>;
5
- navigation: TrueSheetNavigationHelpers;
6
- descriptors: TrueSheetDescriptorMap;
7
- }
8
- export declare const TrueSheetView: ({ state, navigation, descriptors }: TrueSheetViewProps) => import("react/jsx-runtime").JSX.Element;
9
- export {};
10
- //# sourceMappingURL=TrueSheetView.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TrueSheetView.d.ts","sourceRoot":"","sources":["../../../../src/navigation/TrueSheetView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAkBjB,UAAU,kBAAkB;IAC1B,KAAK,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAC/C,UAAU,EAAE,0BAA0B,CAAC;IACvC,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED,eAAO,MAAM,aAAa,GAAI,oCAAoC,kBAAkB,4CAoEnF,CAAC"}
@@ -1,35 +0,0 @@
1
- import { type NavigatorTypeBagBase, type ParamListBase, type StaticConfig, type TypedNavigator } from '@react-navigation/core';
2
- import type { TrueSheetNavigationEventMap, TrueSheetNavigationOptions, TrueSheetNavigationProp, TrueSheetNavigationState, TrueSheetNavigatorProps } from './types';
3
- declare const TrueSheetNavigator: ({ id, initialRouteName, children, layout, screenListeners, screenOptions, screenLayout, }: TrueSheetNavigatorProps) => import("react/jsx-runtime").JSX.Element;
4
- /**
5
- * Creates a TrueSheet navigator.
6
- *
7
- * @example
8
- * ```tsx
9
- * const Sheet = createTrueSheetNavigator();
10
- *
11
- * function App() {
12
- * return (
13
- * <Sheet.Navigator>
14
- * <Sheet.Screen name="Home" component={HomeScreen} />
15
- * <Sheet.Screen
16
- * name="Details"
17
- * component={DetailsSheet}
18
- * options={{ detents: [0.5, 1] }}
19
- * />
20
- * </Sheet.Navigator>
21
- * );
22
- * }
23
- * ```
24
- */
25
- export declare const createTrueSheetNavigator: <const ParamList extends ParamListBase, const NavigatorID extends string | undefined = undefined, const TypeBag extends NavigatorTypeBagBase = {
26
- ParamList: ParamList;
27
- NavigatorID: NavigatorID;
28
- State: TrueSheetNavigationState<ParamList>;
29
- ScreenOptions: TrueSheetNavigationOptions;
30
- EventMap: TrueSheetNavigationEventMap;
31
- NavigationList: { [RouteName in keyof ParamList]: TrueSheetNavigationProp<ParamList, RouteName, NavigatorID>; };
32
- Navigator: typeof TrueSheetNavigator;
33
- }, const Config extends StaticConfig<TypeBag> = StaticConfig<TypeBag>>(config?: Config) => TypedNavigator<TypeBag, Config>;
34
- export {};
35
- //# sourceMappingURL=createTrueSheetNavigator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createTrueSheetNavigator.d.ts","sourceRoot":"","sources":["../../../../src/navigation/createTrueSheetNavigator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EAEpB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,KAAK,EAEV,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,QAAA,MAAM,kBAAkB,GAAI,2FAQzB,uBAAuB,4CAsBzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,wBAAwB,GACnC,KAAK,CAAC,SAAS,SAAS,aAAa,EACrC,KAAK,CAAC,WAAW,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EACxD,KAAK,CAAC,OAAO,SAAS,oBAAoB,GAAG;IAC3C,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAC3C,aAAa,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,EAAE,2BAA2B,CAAC;IACtC,cAAc,EAAE,GACb,SAAS,IAAI,MAAM,SAAS,GAAG,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,GAC3F,CAAC;IACF,SAAS,EAAE,OAAO,kBAAkB,CAAC;CACtC,EACD,KAAK,CAAC,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAElE,SAAS,MAAM,KACd,cAAc,CAAC,OAAO,EAAE,MAAM,CAEhC,CAAC"}