@depup/react-native-web 0.21.2-depup.1 → 0.21.3-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,8 +13,8 @@ npm install @depup/react-native-web
13
13
 
14
14
  | Field | Value |
15
15
  |-------|-------|
16
- | Original | [react-native-web](https://www.npmjs.com/package/react-native-web) @ 0.21.2 |
17
- | Processed | 2026-04-07 |
16
+ | Original | [react-native-web](https://www.npmjs.com/package/react-native-web) @ 0.21.3 |
17
+ | Processed | 2026-09-27 |
18
18
  | Smoke test | failed |
19
19
  | Deps updated | 4 |
20
20
 
@@ -22,8 +22,8 @@ npm install @depup/react-native-web
22
22
 
23
23
  | Dependency | From | To |
24
24
  |------------|------|-----|
25
- | @babel/runtime | ^7.18.6 | ^7.29.2 |
26
- | @react-native/normalize-colors | ^0.74.1 | ^0.85.0 |
25
+ | @babel/runtime | ^7.18.6 | ^8.0.5 |
26
+ | @react-native/normalize-colors | ^0.74.1 | ^0.87.1 |
27
27
  | fbjs | ^3.0.4 | ^3.0.5 |
28
28
  | styleq | ^0.1.3 | ^0.2.1 |
29
29
 
package/changes.json CHANGED
@@ -2,11 +2,11 @@
2
2
  "bumped": {
3
3
  "@babel/runtime": {
4
4
  "from": "^7.18.6",
5
- "to": "^7.29.2"
5
+ "to": "^8.0.5"
6
6
  },
7
7
  "@react-native/normalize-colors": {
8
8
  "from": "^0.74.1",
9
- "to": "^0.85.0"
9
+ "to": "^0.87.1"
10
10
  },
11
11
  "fbjs": {
12
12
  "from": "^3.0.4",
@@ -17,6 +17,6 @@
17
17
  "to": "^0.2.1"
18
18
  }
19
19
  },
20
- "timestamp": "2026-04-07T16:32:46.975Z",
20
+ "timestamp": "2026-09-27T01:02:09.872Z",
21
21
  "totalUpdated": 4
22
22
  }
@@ -26,6 +26,7 @@ var _ImageLoader = _interopRequireDefault(require("../../modules/ImageLoader"));
26
26
  var _PixelRatio = _interopRequireDefault(require("../PixelRatio"));
27
27
  var _StyleSheet = _interopRequireDefault(require("../StyleSheet"));
28
28
  var _TextAncestorContext = _interopRequireDefault(require("../Text/TextAncestorContext"));
29
+ var _useLayoutEffect = _interopRequireDefault(require("../../modules/useLayoutEffect"));
29
30
  var _View = _interopRequireDefault(require("../View"));
30
31
  var _warnOnce = require("../../modules/warnOnce");
31
32
  var _excluded = ["aria-label", "accessibilityLabel", "blurRadius", "defaultSource", "draggable", "onError", "onLayout", "onLoad", "onLoadEnd", "onLoadStart", "pointerEvents", "source", "style"];
@@ -227,16 +228,36 @@ var Image = /*#__PURE__*/React.forwardRef((props, ref) => {
227
228
  }
228
229
 
229
230
  // Image loading
231
+ // Read the load handlers through a ref, so that a new handler identity does
232
+ // not abort and restart the request for the same uri.
233
+ var loadEventHandlersRef = React.useRef({
234
+ onError,
235
+ onLoad,
236
+ onLoadEnd,
237
+ onLoadStart
238
+ });
239
+ (0, _useLayoutEffect.default)(() => {
240
+ loadEventHandlersRef.current = {
241
+ onError,
242
+ onLoad,
243
+ onLoadEnd,
244
+ onLoadStart
245
+ };
246
+ });
230
247
  var uri = resolveAssetUri(source);
231
248
  React.useEffect(() => {
232
249
  abortPendingRequest();
233
250
  if (uri != null) {
234
251
  updateState(LOADING);
235
- if (onLoadStart) {
236
- onLoadStart();
252
+ var _onLoadStart = loadEventHandlersRef.current.onLoadStart;
253
+ if (_onLoadStart) {
254
+ _onLoadStart();
237
255
  }
238
256
  requestRef.current = _ImageLoader.default.load(uri, function load(e) {
239
257
  updateState(LOADED);
258
+ var _loadEventHandlersRef = loadEventHandlersRef.current,
259
+ onLoad = _loadEventHandlersRef.onLoad,
260
+ onLoadEnd = _loadEventHandlersRef.onLoadEnd;
240
261
  if (onLoad) {
241
262
  onLoad(e);
242
263
  }
@@ -245,6 +266,9 @@ var Image = /*#__PURE__*/React.forwardRef((props, ref) => {
245
266
  }
246
267
  }, function error() {
247
268
  updateState(ERRORED);
269
+ var _loadEventHandlersRef2 = loadEventHandlersRef.current,
270
+ onError = _loadEventHandlersRef2.onError,
271
+ onLoadEnd = _loadEventHandlersRef2.onLoadEnd;
248
272
  if (onError) {
249
273
  onError({
250
274
  nativeEvent: {
@@ -264,7 +288,7 @@ var Image = /*#__PURE__*/React.forwardRef((props, ref) => {
264
288
  }
265
289
  }
266
290
  return abortPendingRequest;
267
- }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);
291
+ }, [uri, requestRef, updateState]);
268
292
  return /*#__PURE__*/React.createElement(_View.default, (0, _extends2.default)({}, rest, {
269
293
  "aria-label": ariaLabel,
270
294
  onLayout: handleLayout,
@@ -28,7 +28,7 @@ function useColorScheme() {
28
28
  var _Appearance$addChange = _Appearance.default.addChangeListener(listener),
29
29
  remove = _Appearance$addChange.remove;
30
30
  return remove;
31
- });
31
+ }, []);
32
32
  return colorScheme;
33
33
  }
34
34
  module.exports = exports.default;
package/dist/cjs/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  exports.__esModule = true;
5
- exports.useWindowDimensions = exports.useLocaleContext = exports.useColorScheme = exports.unstable_createElement = exports.unmountComponentAtNode = exports.render = exports.processColor = exports.findNodeHandle = exports.YellowBox = exports.VirtualizedList = exports.View = exports.Vibration = exports.UIManager = exports.TouchableWithoutFeedback = exports.TouchableOpacity = exports.TouchableNativeFeedback = exports.TouchableHighlight = exports.Touchable = exports.TextInput = exports.Text = exports.Switch = exports.StyleSheet = exports.StatusBar = exports.Share = exports.SectionList = exports.ScrollView = exports.SafeAreaView = exports.RefreshControl = exports.ProgressBar = exports.Pressable = exports.Platform = exports.PixelRatio = exports.Picker = exports.PanResponder = exports.NativeModules = exports.NativeEventEmitter = exports.Modal = exports.LogBox = exports.Linking = exports.LayoutAnimation = exports.KeyboardAvoidingView = exports.Keyboard = exports.InteractionManager = exports.ImageBackground = exports.Image = exports.I18nManager = exports.FlatList = exports.Easing = exports.Dimensions = exports.DeviceEventEmitter = exports.Clipboard = exports.CheckBox = exports.Button = exports.BackHandler = exports.Appearance = exports.AppState = exports.AppRegistry = exports.Animated = exports.Alert = exports.ActivityIndicator = exports.AccessibilityInfo = void 0;
5
+ exports.useWindowDimensions = exports.useLocaleContext = exports.useColorScheme = exports.unstable_createElement = exports.unmountComponentAtNode = exports.render = exports.processColor = exports.findNodeHandle = exports.YellowBox = exports.VirtualizedList = exports.View = exports.Vibration = exports.UIManager = exports.TouchableWithoutFeedback = exports.TouchableOpacity = exports.TouchableNativeFeedback = exports.TouchableHighlight = exports.Touchable = exports.TextInput = exports.Text = exports.Switch = exports.StyleSheet = exports.StatusBar = exports.Share = exports.SectionList = exports.ScrollView = exports.SafeAreaView = exports.RefreshControl = exports.ProgressBar = exports.Pressable = exports.Platform = exports.PixelRatio = exports.Picker = exports.PanResponder = exports.NativeModules = exports.NativeEventEmitter = exports.Modal = exports.LogBox = exports.Linking = exports.LayoutAnimation = exports.KeyboardAvoidingView = exports.Keyboard = exports.InteractionManager = exports.InputAccessoryView = exports.ImageBackground = exports.Image = exports.I18nManager = exports.FlatList = exports.Easing = exports.Dimensions = exports.DeviceEventEmitter = exports.Clipboard = exports.CheckBox = exports.Button = exports.BackHandler = exports.Appearance = exports.AppState = exports.AppRegistry = exports.Animated = exports.Alert = exports.ActivityIndicator = exports.AccessibilityInfo = void 0;
6
6
  var _createElement = _interopRequireDefault(require("./exports/createElement"));
7
7
  exports.unstable_createElement = _createElement.default;
8
8
  var _findNodeHandle = _interopRequireDefault(require("./exports/findNodeHandle"));
@@ -73,6 +73,8 @@ var _Image = _interopRequireDefault(require("./exports/Image"));
73
73
  exports.Image = _Image.default;
74
74
  var _ImageBackground = _interopRequireDefault(require("./exports/ImageBackground"));
75
75
  exports.ImageBackground = _ImageBackground.default;
76
+ var _InputAccessoryView = _interopRequireDefault(require("./exports/InputAccessoryView"));
77
+ exports.InputAccessoryView = _InputAccessoryView.default;
76
78
  var _KeyboardAvoidingView = _interopRequireDefault(require("./exports/KeyboardAvoidingView"));
77
79
  exports.KeyboardAvoidingView = _KeyboardAvoidingView.default;
78
80
  var _Modal = _interopRequireDefault(require("./exports/Modal"));
@@ -22,6 +22,7 @@ import ImageLoader from '../../modules/ImageLoader';
22
22
  import PixelRatio from '../PixelRatio';
23
23
  import StyleSheet from '../StyleSheet';
24
24
  import TextAncestorContext from '../Text/TextAncestorContext';
25
+ import useLayoutEffect from '../../modules/useLayoutEffect';
25
26
  import View from '../View';
26
27
  import { warnOnce } from '../../modules/warnOnce';
27
28
  var ERRORED = 'ERRORED';
@@ -222,16 +223,36 @@ var Image = /*#__PURE__*/React.forwardRef((props, ref) => {
222
223
  }
223
224
 
224
225
  // Image loading
226
+ // Read the load handlers through a ref, so that a new handler identity does
227
+ // not abort and restart the request for the same uri.
228
+ var loadEventHandlersRef = React.useRef({
229
+ onError,
230
+ onLoad,
231
+ onLoadEnd,
232
+ onLoadStart
233
+ });
234
+ useLayoutEffect(() => {
235
+ loadEventHandlersRef.current = {
236
+ onError,
237
+ onLoad,
238
+ onLoadEnd,
239
+ onLoadStart
240
+ };
241
+ });
225
242
  var uri = resolveAssetUri(source);
226
243
  React.useEffect(() => {
227
244
  abortPendingRequest();
228
245
  if (uri != null) {
229
246
  updateState(LOADING);
230
- if (onLoadStart) {
231
- onLoadStart();
247
+ var _onLoadStart = loadEventHandlersRef.current.onLoadStart;
248
+ if (_onLoadStart) {
249
+ _onLoadStart();
232
250
  }
233
251
  requestRef.current = ImageLoader.load(uri, function load(e) {
234
252
  updateState(LOADED);
253
+ var _loadEventHandlersRef = loadEventHandlersRef.current,
254
+ onLoad = _loadEventHandlersRef.onLoad,
255
+ onLoadEnd = _loadEventHandlersRef.onLoadEnd;
235
256
  if (onLoad) {
236
257
  onLoad(e);
237
258
  }
@@ -240,6 +261,9 @@ var Image = /*#__PURE__*/React.forwardRef((props, ref) => {
240
261
  }
241
262
  }, function error() {
242
263
  updateState(ERRORED);
264
+ var _loadEventHandlersRef2 = loadEventHandlersRef.current,
265
+ onError = _loadEventHandlersRef2.onError,
266
+ onLoadEnd = _loadEventHandlersRef2.onLoadEnd;
243
267
  if (onError) {
244
268
  onError({
245
269
  nativeEvent: {
@@ -259,7 +283,7 @@ var Image = /*#__PURE__*/React.forwardRef((props, ref) => {
259
283
  }
260
284
  }
261
285
  return abortPendingRequest;
262
- }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);
286
+ }, [uri, requestRef, updateState]);
263
287
  return /*#__PURE__*/React.createElement(View, _extends({}, rest, {
264
288
  "aria-label": ariaLabel,
265
289
  onLayout: handleLayout,
@@ -19,6 +19,7 @@ import ImageLoader from '../../modules/ImageLoader';
19
19
  import PixelRatio from '../PixelRatio';
20
20
  import StyleSheet from '../StyleSheet';
21
21
  import TextAncestorContext from '../Text/TextAncestorContext';
22
+ import useLayoutEffect from '../../modules/useLayoutEffect';
22
23
  import View from '../View';
23
24
  import { warnOnce } from '../../modules/warnOnce';
24
25
  export type { ImageProps };
@@ -97,16 +98,39 @@ const Image: React.AbstractComponent<ImageProps, React.ElementRef<typeof View>>
97
98
  }) : null;
98
99
  declare function getBackgroundSize(): ?string;
99
100
  declare function handleLayout(e: any): any; // Image loading
101
+ // Read the load handlers through a ref, so that a new handler identity does
102
+ // not abort and restart the request for the same uri.
103
+ const loadEventHandlersRef = React.useRef({
104
+ onError,
105
+ onLoad,
106
+ onLoadEnd,
107
+ onLoadStart
108
+ });
109
+ useLayoutEffect(() => {
110
+ loadEventHandlersRef.current = {
111
+ onError,
112
+ onLoad,
113
+ onLoadEnd,
114
+ onLoadStart
115
+ };
116
+ });
100
117
  const uri = resolveAssetUri(source);
101
118
  React.useEffect(() => {
102
119
  abortPendingRequest();
103
120
  if (uri != null) {
104
121
  updateState(LOADING);
122
+ const {
123
+ onLoadStart
124
+ } = loadEventHandlersRef.current;
105
125
  if (onLoadStart) {
106
126
  onLoadStart();
107
127
  }
108
128
  requestRef.current = ImageLoader.load(uri, function load(e) {
109
129
  updateState(LOADED);
130
+ const {
131
+ onLoad,
132
+ onLoadEnd
133
+ } = loadEventHandlersRef.current;
110
134
  if (onLoad) {
111
135
  onLoad(e);
112
136
  }
@@ -115,6 +139,10 @@ const Image: React.AbstractComponent<ImageProps, React.ElementRef<typeof View>>
115
139
  }
116
140
  }, function error() {
117
141
  updateState(ERRORED);
142
+ const {
143
+ onError,
144
+ onLoadEnd
145
+ } = loadEventHandlersRef.current;
118
146
  if (onError) {
119
147
  onError({
120
148
  nativeEvent: {
@@ -129,7 +157,7 @@ const Image: React.AbstractComponent<ImageProps, React.ElementRef<typeof View>>
129
157
  }
130
158
  declare function abortPendingRequest(): any;
131
159
  return abortPendingRequest;
132
- }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);
160
+ }, [uri, requestRef, updateState]);
133
161
  return <View {...rest} aria-label={ariaLabel} onLayout={handleLayout} pointerEvents={pointerEvents} ref={ref} style={[styles.root, hasTextAncestor && styles.inline, imageSizeStyle, style, styles.undo,
134
162
  // TEMP: avoid deprecated shadow props regression
135
163
  // until Image refactored to use createElement.
@@ -23,6 +23,6 @@ export default function useColorScheme() {
23
23
  var _Appearance$addChange = Appearance.addChangeListener(listener),
24
24
  remove = _Appearance$addChange.remove;
25
25
  return remove;
26
- });
26
+ }, []);
27
27
  return colorScheme;
28
28
  }
package/dist/index.js CHANGED
@@ -37,6 +37,7 @@ export { default as CheckBox } from './exports/CheckBox';
37
37
  export { default as FlatList } from './exports/FlatList';
38
38
  export { default as Image } from './exports/Image';
39
39
  export { default as ImageBackground } from './exports/ImageBackground';
40
+ export { default as InputAccessoryView } from './exports/InputAccessoryView';
40
41
  export { default as KeyboardAvoidingView } from './exports/KeyboardAvoidingView';
41
42
  export { default as Modal } from './exports/Modal';
42
43
  export { default as Picker } from './exports/Picker';
@@ -38,6 +38,7 @@ export { default as CheckBox } from './exports/CheckBox';
38
38
  export { default as FlatList } from './exports/FlatList';
39
39
  export { default as Image } from './exports/Image';
40
40
  export { default as ImageBackground } from './exports/ImageBackground';
41
+ export { default as InputAccessoryView } from './exports/InputAccessoryView';
41
42
  export { default as KeyboardAvoidingView } from './exports/KeyboardAvoidingView';
42
43
  export { default as Modal } from './exports/Modal';
43
44
  export { default as Picker } from './exports/Picker';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@depup/react-native-web",
3
- "version": "0.21.2-depup.1",
3
+ "version": "0.21.3-depup.0",
4
4
  "description": "React Native for Web (with updated dependencies)",
5
5
  "module": "dist/index.js",
6
6
  "main": "dist/cjs/index.js",
@@ -21,8 +21,8 @@
21
21
  "dev": "npm-run-all clean -p \"build:* {@} -- --watch\""
22
22
  },
23
23
  "dependencies": {
24
- "@babel/runtime": "^7.29.2",
25
- "@react-native/normalize-colors": "^0.85.0",
24
+ "@babel/runtime": "^8.0.5",
25
+ "@react-native/normalize-colors": "^0.87.1",
26
26
  "fbjs": "^3.0.5",
27
27
  "inline-style-prefixer": "^7.0.1",
28
28
  "memoize-one": "^6.0.0",
@@ -38,7 +38,7 @@
38
38
  "license": "MIT",
39
39
  "repository": {
40
40
  "type": "git",
41
- "url": "git://github.com/necolas/react-native-web.git"
41
+ "url": "git+https://github.com/necolas/react-native-web.git"
42
42
  },
43
43
  "tags": [
44
44
  "react"
@@ -59,11 +59,11 @@
59
59
  "changes": {
60
60
  "@babel/runtime": {
61
61
  "from": "^7.18.6",
62
- "to": "^7.29.2"
62
+ "to": "^8.0.5"
63
63
  },
64
64
  "@react-native/normalize-colors": {
65
65
  "from": "^0.74.1",
66
- "to": "^0.85.0"
66
+ "to": "^0.87.1"
67
67
  },
68
68
  "fbjs": {
69
69
  "from": "^3.0.4",
@@ -76,8 +76,8 @@
76
76
  },
77
77
  "depsUpdated": 4,
78
78
  "originalPackage": "react-native-web",
79
- "originalVersion": "0.21.2",
80
- "processedAt": "2026-04-07T16:32:49.553Z",
79
+ "originalVersion": "0.21.3",
80
+ "processedAt": "2026-09-27T01:02:11.181Z",
81
81
  "smokeTest": "failed"
82
82
  }
83
83
  }
@@ -20,6 +20,7 @@ import ImageLoader from '../../modules/ImageLoader';
20
20
  import PixelRatio from '../PixelRatio';
21
21
  import StyleSheet from '../StyleSheet';
22
22
  import TextAncestorContext from '../Text/TextAncestorContext';
23
+ import useLayoutEffect from '../../modules/useLayoutEffect';
23
24
  import View from '../View';
24
25
  import { warnOnce } from '../../modules/warnOnce';
25
26
 
@@ -274,12 +275,26 @@ const Image: React.AbstractComponent<
274
275
  }
275
276
 
276
277
  // Image loading
278
+ // Read the load handlers through a ref, so that a new handler identity does
279
+ // not abort and restart the request for the same uri.
280
+ const loadEventHandlersRef = React.useRef({
281
+ onError,
282
+ onLoad,
283
+ onLoadEnd,
284
+ onLoadStart
285
+ });
286
+
287
+ useLayoutEffect(() => {
288
+ loadEventHandlersRef.current = { onError, onLoad, onLoadEnd, onLoadStart };
289
+ });
290
+
277
291
  const uri = resolveAssetUri(source);
278
292
  React.useEffect(() => {
279
293
  abortPendingRequest();
280
294
 
281
295
  if (uri != null) {
282
296
  updateState(LOADING);
297
+ const { onLoadStart } = loadEventHandlersRef.current;
283
298
  if (onLoadStart) {
284
299
  onLoadStart();
285
300
  }
@@ -288,6 +303,7 @@ const Image: React.AbstractComponent<
288
303
  uri,
289
304
  function load(e) {
290
305
  updateState(LOADED);
306
+ const { onLoad, onLoadEnd } = loadEventHandlersRef.current;
291
307
  if (onLoad) {
292
308
  onLoad(e);
293
309
  }
@@ -297,6 +313,7 @@ const Image: React.AbstractComponent<
297
313
  },
298
314
  function error() {
299
315
  updateState(ERRORED);
316
+ const { onError, onLoadEnd } = loadEventHandlersRef.current;
300
317
  if (onError) {
301
318
  onError({
302
319
  nativeEvent: {
@@ -319,7 +336,7 @@ const Image: React.AbstractComponent<
319
336
  }
320
337
 
321
338
  return abortPendingRequest;
322
- }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);
339
+ }, [uri, requestRef, updateState]);
323
340
 
324
341
  return (
325
342
  <View
@@ -25,7 +25,7 @@ export default function useColorScheme(): ColorSchemeName {
25
25
  }
26
26
  const { remove } = Appearance.addChangeListener(listener);
27
27
  return remove;
28
- });
28
+ }, []);
29
29
 
30
30
  return colorScheme;
31
31
  }
package/src/index.js CHANGED
@@ -38,6 +38,7 @@ export { default as CheckBox } from './exports/CheckBox';
38
38
  export { default as FlatList } from './exports/FlatList';
39
39
  export { default as Image } from './exports/Image';
40
40
  export { default as ImageBackground } from './exports/ImageBackground';
41
+ export { default as InputAccessoryView } from './exports/InputAccessoryView';
41
42
  export { default as KeyboardAvoidingView } from './exports/KeyboardAvoidingView';
42
43
  export { default as Modal } from './exports/Modal';
43
44
  export { default as Picker } from './exports/Picker';