@wavemaker/rn-codegen 11.13.0-rc.6255 → 11.14.0-rc.232

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.
@@ -225,18 +225,18 @@ class EsBuilder {
225
225
  console.log('Patched Expo Root Component.');
226
226
  }
227
227
 
228
- async patchReactNavigation() {
229
- // https://github.com/react-navigation/react-navigation/pull/11496/files
230
- fs.copyFileSync(
231
- `${__dirname}/@react-navigation/drawer/6.6.3/lib/module/views/modern/Drawer.js`,
232
- `${__dirname}/../node_modules/@react-navigation/drawer/lib/module/views/modern/Drawer.js`
233
- );
234
- fs.copyFileSync(
235
- `${__dirname}/@react-navigation/drawer/6.6.3/lib/module/views/modern/Overlay.js`,
236
- `${__dirname}/../node_modules/@react-navigation/drawer/lib/module/views/modern/Overlay.js`
237
- );
238
- console.log('Patched React Navigation.');
239
- }
228
+ // async patchReactNavigation() {
229
+ // // https://github.com/react-navigation/react-navigation/pull/11496/files
230
+ // fs.copyFileSync(
231
+ // `${__dirname}/@react-navigation/drawer/6.6.3/lib/module/views/modern/Drawer.js`,
232
+ // `${__dirname}/../node_modules/@react-navigation/drawer/lib/module/views/modern/Drawer.js`
233
+ // );
234
+ // fs.copyFileSync(
235
+ // `${__dirname}/@react-navigation/drawer/6.6.3/lib/module/views/modern/Overlay.js`,
236
+ // `${__dirname}/../node_modules/@react-navigation/drawer/lib/module/views/modern/Overlay.js`
237
+ // );
238
+ // console.log('Patched React Navigation.');
239
+ // }
240
240
 
241
241
  async patchReactNativeReanimated() {
242
242
  // Check and patch PlatformChecker.js
@@ -263,6 +263,54 @@ class EsBuilder {
263
263
  console.log('Applied useSharedValue.ts patch.');
264
264
  }
265
265
 
266
+ // Patch useHandler to handle web worklets
267
+ const useHandlerPath = `${__dirname}/../node_modules/react-native-reanimated/lib/module/hook/useHandler.js`;
268
+ if (fs.existsSync(useHandlerPath)) {
269
+ await readAndReplaceFileContent(useHandlerPath, (c) => {
270
+ return c.replace(
271
+ `throw new ReanimatedError('Passed a function that is not a worklet. Please provide a worklet function.');`,
272
+ `// Web fallback: skip worklet validation on web
273
+ if (typeof window !== "undefined") {
274
+ continue;
275
+ }
276
+ throw new ReanimatedError('Passed a function that is not a worklet. Please provide a worklet function.');`
277
+ )
278
+ });
279
+ console.log('Applied useHandler.js web worklet patch.');
280
+ }
281
+
282
+ // Patch useAnimatedScrollHandler for web compatibility
283
+ const useAnimatedScrollHandlerPath = `${__dirname}/../node_modules/react-native-reanimated/lib/module/hook/useAnimatedScrollHandler.js`;
284
+ if (fs.existsSync(useAnimatedScrollHandlerPath)) {
285
+ await readAndReplaceFileContent(useAnimatedScrollHandlerPath, (c) => {
286
+ return c.replace(
287
+ 'export function useAnimatedScrollHandler(handler, dependencies) {',
288
+ `export function useAnimatedScrollHandler(handler, dependencies) {
289
+ // Web fallback for scroll handlers
290
+ if (typeof window !== "undefined" && handler && typeof handler === "object" && handler.onScroll) {
291
+ return handler.onScroll;
292
+ }`
293
+ )
294
+ });
295
+ console.log('Applied useAnimatedScrollHandler.js web patch.');
296
+ }
297
+
298
+ // Patch worklet detection for web
299
+ const workletPath = `${__dirname}/../node_modules/react-native-reanimated/lib/module/reanimated2/commonTypes.js`;
300
+ if (fs.existsSync(workletPath)) {
301
+ await readAndReplaceFileContent(workletPath, (c) => {
302
+ return c.replace(
303
+ 'export function isWorklet(fun) {',
304
+ `export function isWorklet(fun) {
305
+ // Always return true on web to bypass worklet checks
306
+ if (typeof window !== "undefined") {
307
+ return true;
308
+ }`
309
+ )
310
+ });
311
+ console.log('Applied worklet detection web patch.');
312
+ }
313
+
266
314
  console.log('Patched React Native Reanimated.');
267
315
  }
268
316
 
@@ -309,10 +357,10 @@ class EsBuilder {
309
357
  'd3-path', 'd3-scale', 'd3-shape', 'd3-time', 'd3-time-format',
310
358
  'd3-timer', 'd3-voronoi']))
311
359
  .then(() => this.patchWithDevTools('expo/build/launch/withDevTools.js'))
312
- .then(() => this.patchReactNativeWeb())
360
+ // .then(() => this.patchReactNativeWeb())
313
361
  .then(() => this.patchReactNativeAssets())
314
- .then(() => this.patchBabelExpoPreset())
315
- .then(() => this.patchReactNavigation())
362
+ // .then(() => this.patchBabelExpoPreset())
363
+ // .then(() => this.patchReactNavigation())
316
364
  .then(() => this.patchReactNativeReanimated())
317
365
  .then(() => this.patchExpoVideo())
318
366
  .then(() => {
@@ -334,7 +382,8 @@ class EsBuilder {
334
382
  bundle: true,
335
383
  entryNames: 'bundle-[hash]',
336
384
  outdir: 'web-build',
337
- jsxFragment: 'React.Fragment',
385
+ jsx: 'automatic',
386
+ jsxImportSource: 'react',
338
387
  tsconfig: './esbuild/jsconfig.json',
339
388
  define: {'process.env': '{}', 'process.env.NODE_ENV': '"development"', '__DEV__': false, global:'window', 'process.env.EXPO_OS': '"web"', 'process.env.APP_MANIFEST': JSON.stringify(appJson.expo)},
340
389
  resolveExtensions: ['.web.tsx','.web.ts','.web.jsx','.web.js','.tsx','.ts','.jsx','.js',],
@@ -15,7 +15,6 @@ module.exports = (async () => {
15
15
  config.resolver.watchFolders = [
16
16
  path.join(projectRoot, 'wmx-components')
17
17
  ];
18
- config.resolver.disableHierarchicalLookup = true;
19
18
  config.transformer = {
20
19
  ...config.transformer,
21
20
  minifierPath: 'metro-minify-terser',
@@ -32,11 +31,6 @@ module.exports = (async () => {
32
31
  }
33
32
  })
34
33
  }
35
- config.resolver = {
36
- ...config.resolver,
37
- assetExts: config.resolver.assetExts.filter(ext => ext !== 'svg'),
38
- sourceExts: [...config.resolver.sourceExts, 'svg']
39
- }
40
34
  return config;
41
35
  }
42
36
  catch (e) {
@@ -11,77 +11,78 @@
11
11
  "postinstall": "node ./scripts/post-build.js"
12
12
  },
13
13
  "dependencies": {
14
- "@wavemaker/app-rn-runtime": "11.13.0-rc.6255",
15
- "@wavemaker/variables": "11.13.0-rc.6255",
16
- "@wavemaker/rn-codegen": "11.13.0-rc.6255",
14
+ "@wavemaker/app-rn-runtime": "11.14.0-rc.232",
15
+ "@wavemaker/variables": "11.14.0-rc.232",
16
+ "@wavemaker/rn-codegen": "11.14.0-rc.232",
17
17
  "@wavemaker/wavepulse-agent": "1.0.11",
18
- "expo": "52.0.17",
19
- "expo-build-properties": "0.13.1",
20
- "@expo/vector-icons": "14.0.2",
21
- "@expo/metro-runtime": "4.0.0",
22
- "expo-font": "13.0.1",
23
- "expo-file-system": "18.0.4",
24
- "expo-camera": "16.0.9",
25
- "expo-av": "15.0.1",
26
- "expo-web-browser": "14.0.1",
27
- "expo-device": "7.0.1",
28
- "expo-network": "7.0.3",
29
- "expo-location": "18.0.3",
30
- "expo-localization": "16.0.0",
31
- "expo-contacts": "14.0.2",
32
- "expo-calendar": "14.0.4",
33
- "expo-splash-screen": "0.29.16",
34
- "expo-document-picker": "13.0.1",
35
- "expo-constants": "17.0.3",
36
- "expo-modules-core": "2.1.1",
37
- "expo-secure-store": "14.0.1",
38
- "expo-video": "2.0.2",
39
- "expo-application": "6.0.1",
18
+ "expo": "54.0.12",
19
+ "expo-build-properties": "1.0.9",
20
+ "@expo/vector-icons": "15.0.2",
21
+ "@expo/metro-runtime": "6.1.2",
22
+ "expo-font": "14.0.8",
23
+ "expo-file-system": "19.0.14",
24
+ "expo-camera": "17.0.8",
25
+ "expo-av": "16.0.7",
26
+ "expo-web-browser": "15.0.8",
27
+ "expo-device": "8.0.9",
28
+ "expo-network": "8.0.7",
29
+ "expo-location": "19.0.7",
30
+ "expo-localization": "17.0.7",
31
+ "expo-contacts": "15.0.8",
32
+ "expo-calendar": "15.0.7",
33
+ "expo-splash-screen": "31.0.10",
34
+ "expo-document-picker": "14.0.7",
35
+ "expo-constants": "18.0.9",
36
+ "expo-video": "3.0.11",
37
+ "expo-application": "7.0.7",
40
38
  "@react-native/assets": "1.0.0",
41
39
  "hermes-engine": "0.11.0",
42
40
  "imask": "7.6.1",
43
41
  "punycode": "2.3.1",
44
- "react": "18.3.1",
45
- "react-dom": "18.3.1",
46
- "react-native": "0.76.3",
47
- "react-native-web": "0.19.13",
42
+ "react": "19.1.0",
43
+ "react-dom": "19.1.0",
44
+ "react-native": "0.81.4",
45
+ "react-native-web": "0.21.0",
48
46
  "@react-native/assets-registry": "0.76.3",
49
- "@react-native-async-storage/async-storage": "1.23.1",
47
+ "@react-native-async-storage/async-storage": "2.2.0",
50
48
  "@react-native-community/netinfo": "11.4.1",
51
- "react-native-gesture-handler": "2.20.2",
52
- "react-native-reanimated": "3.16.1",
49
+ "react-native-gesture-handler": "2.28.0",
50
+ "react-native-reanimated": "4.1.1",
53
51
  "react-native-bundle-splitter": "3.0.1",
54
- "react-native-safe-area-context": "4.12.0",
55
- "@react-native-community/datetimepicker": "8.2.0",
56
- "@react-native-community/slider": "4.5.5",
52
+ "react-native-safe-area-context": "5.6.0",
53
+ "@react-native-community/datetimepicker": "8.4.4",
54
+ "@react-native-community/slider": "5.0.1",
57
55
  "react-native-circular-progress": "1.4.1",
58
56
  "@react-native-masked-view/masked-view": "0.3.2",
59
- "react-native-svg": "15.8.0",
57
+ "react-native-svg": "15.12.1",
60
58
  "react-native-ssl-public-key-pinning": "1.2.3",
61
59
  "@wavemaker/react-native-ssl-publickey": "1.0.2",
62
60
  "victory-native": "37.3.2",
63
- "@react-navigation/native": "6.1.7",
64
- "react-native-pager-view": "6.5.1",
65
- "react-native-webview": "13.12.5",
61
+ "@react-navigation/native": "7.1.18",
62
+ "react-native-pager-view": "6.9.1",
63
+ "react-native-webview": "13.15.0",
66
64
  "react-native-vector-icons": "10.2.0",
67
- "@react-navigation/drawer": "6.6.3",
68
- "react-native-screens": "4.1.0",
65
+ "@react-navigation/drawer": "7.5.8",
66
+ "react-native-screens": "4.16.0",
69
67
  "react-native-svg-transformer": "1.5.0",
70
- "lottie-react-native": "7.1.0",
68
+ "lottie-react-native": "7.3.4",
71
69
  "react-lottie-player": "2.1.0",
72
70
  "react-native-mime-types": "2.5.0",
73
- "expo-linear-gradient": "13.0.2",
71
+ "expo-linear-gradient": "15.0.7",
74
72
  "setimmediate": "1.0.5",
75
73
  "react-native-restart": "0.0.27",
76
- "@babel/core": "7.25.2",
74
+ "@babel/core": "7.26.0",
77
75
  "@babel/standalone": "7.26.3",
78
76
  "@babel/plugin-syntax-jsx": "7.25.9",
79
- "expo-image": "2.0.3",
80
- "expo-blur": "14.0.3",
81
- "expo-navigation-bar": "4.0.8",
82
- "expo-sharing": "13.0.1",
83
- "expo-clipboard": "7.0.1",
84
- "expo-screen-capture": "7.0.1"
77
+ "expo-image": "3.0.8",
78
+ "expo-blur": "15.0.7",
79
+ "expo-navigation-bar": "5.0.8",
80
+ "expo-sharing": "14.0.7",
81
+ "expo-clipboard": "8.0.7",
82
+ "expo-screen-capture": "8.0.8",
83
+ "expo-secure-store": "15.0.7",
84
+ "@react-native/metro-babel-transformer": "0.81.4",
85
+ "react-native-worklets": "0.5.1"
85
86
  },
86
87
  "devDependencies": {
87
88
  "metro-minify-terser": "0.80.10",
@@ -90,6 +91,7 @@
90
91
  "esbuild": "0.15.15",
91
92
  "esbuild-plugin-resolve": "1.0.3",
92
93
  "fs-extra": "10.0.0",
94
+ "@react-native/metro-config": "0.82.0",
93
95
  "@babel/plugin-transform-class-static-block": "7.26.0",
94
96
  "@babel/plugin-proposal-export-namespace-from": "7.18.9",
95
97
  "babel-plugin-transform-remove-console": "6.9.4",
@@ -97,7 +99,7 @@
97
99
  "@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6",
98
100
  "@react-native-community/cli": "16.0.0",
99
101
  "@types/babel__standalone": "7.1.7",
100
- "@expo/config-plugins": "~6.0.1"
102
+ "@expo/config-plugins": "54.0.1"
101
103
  },
102
104
  "private": true
103
105
  }
@@ -162,6 +162,7 @@ const PARSER_MAP = new Map([['base', new Map([
162
162
  ['aspectRatio', NUMERIC_PARSER],
163
163
  ['showdefaultvideoposter', BOOLEAN_PARSER],
164
164
  ['hidehorizontalscrollbar', BOOLEAN_PARSER],
165
+ ['horizontalscrolltoitem', BOOLEAN_PARSER],
165
166
  ['sticky', BOOLEAN_PARSER],
166
167
  ['hideonscroll', BOOLEAN_PARSER],
167
168
  ['showerror', BOOLEAN_PARSER],
@@ -228,6 +229,8 @@ const PARSER_MAP = new Map([['base', new Map([
228
229
  ['bottomsheetminimumheight', NUMERIC_PARSER],
229
230
  ['autoclose', STRING_PARSER],
230
231
  ['enabledragsettle', BOOLEAN_PARSER],
232
+ ['disablescrollonrest', BOOLEAN_PARSER],
233
+ ['issticky', BOOLEAN_PARSER],
231
234
  ])],
232
235
  ['wm-chips', new Map([
233
236
  ['searchable', BOOLEAN_PARSER]
@@ -1 +1 @@
1
- {"version":3,"file":"property-parser.js","sourceRoot":"","sources":["../../../../src/transpile/property/property-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"property-parser.js","sourceRoot":"","sources":["../../../../src/transpile/property/property-parser.ts"],"names":[],"mappings":"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"}
@@ -1,303 +0,0 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
- import * as React from 'react';
3
- import { I18nManager, InteractionManager, Keyboard, Platform, StatusBar, StyleSheet, View } from 'react-native';
4
- import { PanGestureHandler, State as GestureState } from 'react-native-gesture-handler';
5
- import Animated, { interpolate, runOnJS, useAnimatedGestureHandler, useAnimatedStyle, useDerivedValue, useSharedValue, withSpring } from 'react-native-reanimated';
6
- import DrawerProgressContext from '../../utils/DrawerProgressContext';
7
- import Overlay from './Overlay';
8
- const SWIPE_DISTANCE_MINIMUM = 5;
9
- const DEFAULT_DRAWER_WIDTH = '80%';
10
- const minmax = (value, start, end) => {
11
- 'worklet';
12
-
13
- return Math.min(Math.max(value, start), end);
14
- };
15
- export default function Drawer(_ref) {
16
- let {
17
- dimensions,
18
- drawerPosition,
19
- drawerStyle,
20
- drawerType,
21
- gestureHandlerProps,
22
- hideStatusBarOnOpen,
23
- keyboardDismissMode,
24
- onClose,
25
- onOpen,
26
- open,
27
- overlayStyle,
28
- renderDrawerContent,
29
- renderSceneContent,
30
- statusBarAnimation,
31
- swipeDistanceThreshold,
32
- swipeEdgeWidth,
33
- swipeEnabled,
34
- swipeVelocityThreshold,
35
- overlayAccessibilityLabel
36
- } = _ref;
37
- const getDrawerWidth = () => {
38
- const {
39
- width = DEFAULT_DRAWER_WIDTH
40
- } = StyleSheet.flatten(drawerStyle) || {};
41
- if (typeof width === 'string' && width.endsWith('%')) {
42
- // Try to calculate width if a percentage is given
43
- const percentage = Number(width.replace(/%$/, ''));
44
- if (Number.isFinite(percentage)) {
45
- return dimensions.width * (percentage / 100);
46
- }
47
- }
48
- return typeof width === 'number' ? width : 0;
49
- };
50
- const drawerWidth = getDrawerWidth();
51
- const isOpen = drawerType === 'permanent' ? true : open;
52
- const isRight = drawerPosition === 'right';
53
- const getDrawerTranslationX = React.useCallback(open => {
54
- 'worklet';
55
-
56
- if (drawerPosition === 'left') {
57
- return open ? 0 : -drawerWidth;
58
- }
59
- return open ? 0 : drawerWidth;
60
- }, [drawerPosition, drawerWidth]);
61
- const hideStatusBar = React.useCallback(hide => {
62
- if (hideStatusBarOnOpen) {
63
- StatusBar.setHidden(hide, statusBarAnimation);
64
- }
65
- }, [hideStatusBarOnOpen, statusBarAnimation]);
66
- React.useEffect(() => {
67
- hideStatusBar(isOpen);
68
- return () => hideStatusBar(false);
69
- }, [isOpen, hideStatusBarOnOpen, statusBarAnimation, hideStatusBar]);
70
- const interactionHandleRef = React.useRef(null);
71
- const startInteraction = () => {
72
- interactionHandleRef.current = InteractionManager.createInteractionHandle();
73
- };
74
- const endInteraction = () => {
75
- if (interactionHandleRef.current != null) {
76
- InteractionManager.clearInteractionHandle(interactionHandleRef.current);
77
- interactionHandleRef.current = null;
78
- }
79
- };
80
- const hideKeyboard = () => {
81
- if (keyboardDismissMode === 'on-drag') {
82
- Keyboard.dismiss();
83
- }
84
- };
85
- const onGestureStart = () => {
86
- startInteraction();
87
- hideKeyboard();
88
- hideStatusBar(true);
89
- };
90
- const onGestureFinish = () => {
91
- endInteraction();
92
- };
93
-
94
- // FIXME: Currently hitSlop is broken when on Android when drawer is on right
95
- // https://github.com/software-mansion/react-native-gesture-handler/issues/569
96
- const hitSlop = isRight ?
97
- // Extend hitSlop to the side of the screen when drawer is closed
98
- // This lets the user drag the drawer from the side of the screen
99
- {
100
- right: 0,
101
- width: isOpen ? undefined : swipeEdgeWidth
102
- } : {
103
- left: 0,
104
- width: isOpen ? undefined : swipeEdgeWidth
105
- };
106
- const touchStartX = useSharedValue(0);
107
- const touchX = useSharedValue(0);
108
- const translationX = useSharedValue(getDrawerTranslationX(open));
109
- const gestureState = useSharedValue(GestureState.UNDETERMINED);
110
- const toggleDrawer = React.useCallback(_ref2 => {
111
- 'worklet';
112
-
113
- let {
114
- open,
115
- isUserInitiated,
116
- velocity
117
- } = _ref2;
118
- const translateX = getDrawerTranslationX(open);
119
- touchStartX.value = 0;
120
- touchX.value = 0;
121
- translationX.value = withSpring(translateX, {
122
- velocity,
123
- stiffness: 1000,
124
- damping: 500,
125
- mass: 3,
126
- overshootClamping: true,
127
- restDisplacementThreshold: 0.01,
128
- restSpeedThreshold: 0.01
129
- });
130
- if (!isUserInitiated) {
131
- return;
132
- }
133
- if (open) {
134
- runOnJS(onOpen)();
135
- } else {
136
- runOnJS(onClose)();
137
- }
138
- }, [getDrawerTranslationX, onClose, onOpen, touchStartX, touchX, translationX]);
139
- React.useEffect(() => toggleDrawer({
140
- open,
141
- isUserInitiated: false
142
- }), [open, toggleDrawer]);
143
- const onGestureEvent = useAnimatedGestureHandler({
144
- onStart: (event, ctx) => {
145
- ctx.hasCalledOnStart = false;
146
- ctx.startX = translationX.value;
147
- gestureState.value = event.state;
148
- touchStartX.value = event.x;
149
- },
150
- onActive: (event, ctx) => {
151
- touchX.value = event.x;
152
- translationX.value = ctx.startX + event.translationX;
153
- gestureState.value = event.state;
154
-
155
- // onStart will _always_ be called, even when the activation
156
- // criteria isn't met yet. This makes sure onGestureStart is only
157
- // called when the criteria is really met.
158
- if (!ctx.hasCalledOnStart) {
159
- ctx.hasCalledOnStart = true;
160
- runOnJS(onGestureStart)();
161
- }
162
- },
163
- onEnd: event => {
164
- gestureState.value = event.state;
165
- const nextOpen = Math.abs(event.translationX) > SWIPE_DISTANCE_MINIMUM && Math.abs(event.translationX) > swipeVelocityThreshold || Math.abs(event.translationX) > swipeDistanceThreshold ? drawerPosition === 'left' ?
166
- // If swiped to right, open the drawer, otherwise close it
167
- (event.velocityX === 0 ? event.translationX : event.velocityX) > 0 :
168
- // If swiped to left, open the drawer, otherwise close it
169
- (event.velocityX === 0 ? event.translationX : event.velocityX) < 0 : open;
170
- toggleDrawer({
171
- open: nextOpen,
172
- isUserInitiated: true,
173
- velocity: event.velocityX
174
- });
175
- },
176
- onFinish: () => {
177
- runOnJS(onGestureFinish)();
178
- }
179
- });
180
- const translateX = useDerivedValue(() => {
181
- // Comment stolen from react-native-gesture-handler/DrawerLayout
182
- //
183
- // While closing the drawer when user starts gesture outside of its area (in greyed
184
- // out part of the window), we want the drawer to follow only once finger reaches the
185
- // edge of the drawer.
186
- // E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by
187
- // dots. The touch gesture starts at '*' and moves left, touch path is indicated by
188
- // an arrow pointing left
189
- // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+
190
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
191
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
192
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
193
- // |XXXXXXXX|......| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|
194
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
195
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
196
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
197
- // +---------------+ +---------------+ +---------------+ +---------------+
198
- //
199
- // For the above to work properly we define animated value that will keep start position
200
- // of the gesture. Then we use that value to calculate how much we need to subtract from
201
- // the translationX. If the gesture started on the greyed out area we take the distance from the
202
- // edge of the drawer to the start position. Otherwise we don't subtract at all and the
203
- // drawer be pulled back as soon as you start the pan.
204
- //
205
- // This is used only when drawerType is "front"
206
- const touchDistance = drawerType === 'front' && gestureState.value === GestureState.ACTIVE ? minmax(drawerPosition === 'left' ? touchStartX.value - drawerWidth : dimensions.width - drawerWidth - touchStartX.value, 0, dimensions.width) : 0;
207
- const translateX = drawerPosition === 'left' ? minmax(translationX.value + touchDistance, -drawerWidth, 0) : minmax(translationX.value - touchDistance, 0, drawerWidth);
208
- return translateX;
209
- }, [
210
- drawerType,
211
- gestureState,
212
- minmax,
213
- drawerPosition,
214
- touchStartX,
215
- drawerWidth,
216
- translationX,
217
- ]);
218
- const isRTL = I18nManager.getConstants().isRTL;
219
- const drawerAnimatedStyle = useAnimatedStyle(() => {
220
- const distanceFromEdge = dimensions.width - drawerWidth;
221
- return {
222
- transform: drawerType === 'permanent' ?
223
- // Reanimated needs the property to be present, but it results in Browser bug
224
- // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
225
- [] : [{
226
- translateX:
227
- // The drawer stays in place when `drawerType` is `back`
228
- (drawerType === 'back' ? 0 : translateX.value) + (drawerPosition === 'left' ? isRTL ? -distanceFromEdge : 0 : isRTL ? 0 : distanceFromEdge)
229
- }]
230
- };
231
- }, [ drawerWidth, drawerType, translateX, drawerPosition, isRTL]);
232
- const contentAnimatedStyle = useAnimatedStyle(() => {
233
- return {
234
- transform: drawerType === 'permanent' ?
235
- // Reanimated needs the property to be present, but it results in Browser bug
236
- // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
237
- [] : [{
238
- translateX:
239
- // The screen content stays in place when `drawerType` is `front`
240
- drawerType === 'front' ? 0 : translateX.value + drawerWidth * (drawerPosition === 'left' ? 1 : -1)
241
- }]
242
- };
243
- }, [drawerType, translateX, drawerWidth, drawerPosition]);
244
- const progress = useDerivedValue(() => {
245
- return drawerType === 'permanent' ? 1 : interpolate(translateX.value, [getDrawerTranslationX(false), getDrawerTranslationX(true)], [0, 1]);
246
- }, [drawerType, interpolate, translateX, getDrawerTranslationX]);
247
- return /*#__PURE__*/React.createElement(DrawerProgressContext.Provider, {
248
- value: progress
249
- }, /*#__PURE__*/React.createElement(PanGestureHandler, _extends({
250
- activeOffsetX: [-SWIPE_DISTANCE_MINIMUM, SWIPE_DISTANCE_MINIMUM],
251
- failOffsetY: [-SWIPE_DISTANCE_MINIMUM, SWIPE_DISTANCE_MINIMUM],
252
- hitSlop: hitSlop,
253
- enabled: drawerType !== 'permanent' && swipeEnabled,
254
- onGestureEvent: onGestureEvent
255
- }, gestureHandlerProps), /*#__PURE__*/React.createElement(Animated.View, {
256
- style: [styles.main, {
257
- flexDirection: drawerType === 'permanent' && !isRight ? 'row-reverse' : 'row'
258
- }]
259
- }, /*#__PURE__*/React.createElement(Animated.View, {
260
- style: [styles.content, contentAnimatedStyle]
261
- }, /*#__PURE__*/React.createElement(View, {
262
- accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
263
- importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
264
- style: styles.content
265
- }, renderSceneContent()), drawerType !== 'permanent' ? /*#__PURE__*/React.createElement(Overlay, {
266
- progress: progress,
267
- onPress: () => toggleDrawer({
268
- open: false,
269
- isUserInitiated: true
270
- }),
271
- style: overlayStyle,
272
- accessibilityLabel: overlayAccessibilityLabel
273
- }) : null), /*#__PURE__*/React.createElement(Animated.View, {
274
- removeClippedSubviews: Platform.OS !== 'ios',
275
- style: [styles.container, {
276
- position: drawerType === 'permanent' ? 'relative' : 'absolute',
277
- zIndex: drawerType === 'back' ? -1 : 0
278
- }, drawerAnimatedStyle, drawerStyle]
279
- }, renderDrawerContent()))));
280
- }
281
- const styles = StyleSheet.create({
282
- container: {
283
- top: 0,
284
- bottom: 0,
285
- maxWidth: '100%',
286
- width: DEFAULT_DRAWER_WIDTH
287
- },
288
- content: {
289
- flex: 1
290
- },
291
- main: {
292
- flex: 1,
293
- ...Platform.select({
294
- // FIXME: We need to hide `overflowX` on Web so the translated content doesn't show offscreen.
295
- // But adding `overflowX: 'hidden'` prevents content from collapsing the URL bar.
296
- web: null,
297
- default: {
298
- overflow: 'hidden'
299
- }
300
- })
301
- }
302
- });
303
- //# sourceMappingURL=Drawer.js.map