@office-iss/react-native-win32 0.76.0-preview.1 → 0.76.0-preview.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.
package/CHANGELOG.json CHANGED
@@ -2,7 +2,34 @@
2
2
  "name": "@office-iss/react-native-win32",
3
3
  "entries": [
4
4
  {
5
- "date": "Mon, 30 Sep 2024 21:36:50 GMT",
5
+ "date": "Fri, 11 Oct 2024 20:16:43 GMT",
6
+ "version": "0.76.0-preview.2",
7
+ "tag": "@office-iss/react-native-win32_v0.76.0-preview.2",
8
+ "comments": {
9
+ "prerelease": [
10
+ {
11
+ "author": "jthysell@microsoft.com",
12
+ "package": "@office-iss/react-native-win32",
13
+ "commit": "9614bfe01650f577bf573989faecac1d0989c93d",
14
+ "comment": "Update to @react-native-community/cli@15.0.0-alpha.2"
15
+ },
16
+ {
17
+ "author": "email not defined",
18
+ "package": "@office-iss/react-native-win32",
19
+ "commit": "6e76721bda69d1c8603a211729b89056743eb01f",
20
+ "comment": "integrate RN 0.76.0-rc3"
21
+ },
22
+ {
23
+ "author": "email not defined",
24
+ "package": "@office-iss/react-native-win32",
25
+ "commit": "c1536386579b67da32092327aacbb821730dab02",
26
+ "comment": "integrate 0.76.0-rc.4"
27
+ }
28
+ ]
29
+ }
30
+ },
31
+ {
32
+ "date": "Mon, 30 Sep 2024 23:20:39 GMT",
6
33
  "version": "0.76.0-preview.1",
7
34
  "tag": "@office-iss/react-native-win32_v0.76.0-preview.1",
8
35
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,17 +1,27 @@
1
1
  # Change Log - @office-iss/react-native-win32
2
2
 
3
- <!-- This log was last generated on Mon, 30 Sep 2024 21:36:50 GMT and should not be manually modified. -->
3
+ <!-- This log was last generated on Fri, 11 Oct 2024 20:16:43 GMT and should not be manually modified. -->
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
- ## 0.76.0-preview.1
7
+ ## 0.76.0-preview.2
8
8
 
9
- Mon, 30 Sep 2024 21:36:50 GMT
9
+ Fri, 11 Oct 2024 20:16:43 GMT
10
10
 
11
11
  ### Changes
12
12
 
13
- - Promote 0.76 to preview (tatianakapos@microsoft.com)
13
+ - Update to @react-native-community/cli@15.0.0-alpha.2 (jthysell@microsoft.com)
14
+ - integrate RN 0.76.0-rc3 (email not defined)
15
+ - integrate 0.76.0-rc.4 (email not defined)
14
16
 
17
+ ## 0.76.0-preview.1
18
+
19
+ Mon, 30 Sep 2024 23:20:39 GMT
20
+
21
+ ### Changes
22
+
23
+ - Promote 0.76 to preview (tatianakapos@microsoft.com)
24
+
15
25
  ## 0.0.0-canary.263
16
26
 
17
27
  Thu, 26 Sep 2024 17:38:26 GMT
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import type {ViewStyleProp} from '../../StyleSheet/StyleSheet';
12
+ import type {DimensionsPayload} from '../../Utilities/NativeDeviceInfo';
12
13
  import type {
13
14
  ViewLayout,
14
15
  ViewLayoutEvent,
@@ -18,6 +19,7 @@ import type {KeyboardEvent, KeyboardMetrics} from './Keyboard';
18
19
 
19
20
  import LayoutAnimation from '../../LayoutAnimation/LayoutAnimation';
20
21
  import StyleSheet from '../../StyleSheet/StyleSheet';
22
+ import Dimensions from '../../Utilities/Dimensions';
21
23
  import Platform from '../../Utilities/Platform';
22
24
  import {type EventSubscription} from '../../vendor/emitter/EventEmitter';
23
25
  import AccessibilityInfo from '../AccessibilityInfo/AccessibilityInfo';
@@ -66,6 +68,7 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
66
68
  viewRef: {current: React.ElementRef<typeof View> | null, ...};
67
69
  _initialFrameHeight: number = 0;
68
70
  _bottom: number = 0;
71
+ _windowWidth: number = Dimensions.get('window').width;
69
72
 
70
73
  constructor(props: Props) {
71
74
  super(props);
@@ -130,6 +133,10 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
130
133
  }
131
134
  };
132
135
 
136
+ _onDimensionsChange = ({window}: DimensionsPayload) => {
137
+ this._windowWidth = window?.width ?? 0;
138
+ };
139
+
133
140
  // Avoid unnecessary renders if the KeyboardAvoidingView is disabled.
134
141
  _setBottom = (value: number) => {
135
142
  const enabled = this.props.enabled ?? true;
@@ -145,6 +152,15 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
145
152
  return;
146
153
  }
147
154
 
155
+ if (
156
+ Platform.OS === 'ios' &&
157
+ this._windowWidth !== this._keyboardEvent.endCoordinates.width
158
+ ) {
159
+ // The keyboard is not the standard bottom-of-the-screen keyboard. For example, floating keyboard on iPadOS.
160
+ this._setBottom(0);
161
+ return;
162
+ }
163
+
148
164
  const {duration, easing, endCoordinates} = this._keyboardEvent;
149
165
  const height = await this._relativeKeyboardHeight(endCoordinates);
150
166
 
@@ -178,6 +194,7 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
178
194
  if (Platform.OS === 'ios') {
179
195
  this._subscriptions = [
180
196
  Keyboard.addListener('keyboardWillChangeFrame', this._onKeyboardChange),
197
+ Dimensions.addEventListener('change', this._onDimensionsChange),
181
198
  ];
182
199
  } else {
183
200
  this._subscriptions = [
@@ -160,6 +160,9 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
160
160
  snapToInterval: true,
161
161
  snapToOffsets: true,
162
162
  snapToStart: true,
163
+ verticalScrollIndicatorInsets: {
164
+ diff: require('../../Utilities/differ/insetsDiffer'),
165
+ },
163
166
  zoomScale: true,
164
167
  ...ConditionallyIgnoredEventHandlers({
165
168
  onScrollBeginDrag: true,
@@ -85,8 +85,15 @@ const RCTTextInputViewConfig = {
85
85
  topContentSizeChange: {
86
86
  registrationName: 'onContentSizeChange',
87
87
  },
88
+ topChangeSync: {
89
+ registrationName: 'onChangeSync',
90
+ },
91
+ topKeyPressSync: {
92
+ registrationName: 'onKeyPressSync',
93
+ },
88
94
  },
89
95
  validAttributes: {
96
+ dynamicTypeRamp: true,
90
97
  fontSize: true,
91
98
  fontWeight: true,
92
99
  fontVariant: true,
@@ -97,6 +104,7 @@ const RCTTextInputViewConfig = {
97
104
  textTransform: true,
98
105
  textAlign: true,
99
106
  fontFamily: true,
107
+ lineBreakModeIOS: true,
100
108
  lineHeight: true,
101
109
  isHighlighted: true,
102
110
  writingDirection: true,
@@ -150,6 +158,8 @@ const RCTTextInputViewConfig = {
150
158
  onSelectionChange: true,
151
159
  onContentSizeChange: true,
152
160
  onScroll: true,
161
+ onChangeSync: true,
162
+ onKeyPressSync: true,
153
163
  }),
154
164
  },
155
165
  };
@@ -120,7 +120,7 @@ const ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {
120
120
  /**
121
121
  * Filter
122
122
  */
123
- experimental_filter: {process: processFilter},
123
+ filter: {process: processFilter},
124
124
 
125
125
  /**
126
126
  * MixBlendMode
@@ -135,7 +135,7 @@ const ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {
135
135
  /*
136
136
  * BoxShadow
137
137
  */
138
- experimental_boxShadow: {process: processBoxShadow},
138
+ boxShadow: {process: processBoxShadow},
139
139
 
140
140
  /**
141
141
  * Linear Gradient
@@ -17,7 +17,7 @@ const version: $ReadOnly<{
17
17
  major: 0,
18
18
  minor: 76,
19
19
  patch: 0,
20
- prerelease: 'rc.0',
20
+ prerelease: 'rc.4',
21
21
  };
22
22
 
23
23
  module.exports = {version};
@@ -42,9 +42,13 @@ if (__DEV__) {
42
42
  if (!Platform.isTesting) {
43
43
  const HMRClient = require('../Utilities/HMRClient');
44
44
 
45
+ // [0.76 only] When under React Native DevTools, log "JavaScript logs will
46
+ // be removed from Metro..." warning, and continue to forward logs.
45
47
  if (global.__FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__) {
46
48
  HMRClient.unstable_notifyFuseboxConsoleEnabled();
47
- } else if (console._isPolyfilled) {
49
+ }
50
+
51
+ if (console._isPolyfilled) {
48
52
  // We assume full control over the console and send JavaScript logs to Metro.
49
53
  [
50
54
  'trace',
@@ -169,10 +169,10 @@ const validAttributesForNonEventProps = {
169
169
  experimental_backgroundImage: {
170
170
  process: require('../StyleSheet/processBackgroundImage').default,
171
171
  },
172
- experimental_boxShadow: {
172
+ boxShadow: {
173
173
  process: require('../StyleSheet/processBoxShadow').default,
174
174
  },
175
- experimental_filter: {
175
+ filter: {
176
176
  process: require('../StyleSheet/processFilter').default,
177
177
  },
178
178
  experimental_mixBlendMode: true,
@@ -198,6 +198,7 @@ const validAttributesForNonEventProps = {
198
198
  testID: true,
199
199
  backgroundColor: {process: require('../StyleSheet/processColor').default},
200
200
  backfaceVisibility: true,
201
+ cursor: true,
201
202
  opacity: true,
202
203
  shadowColor: {process: require('../StyleSheet/processColor').default},
203
204
  shadowOffset: {diff: require('../Utilities/differ/sizesDiffer')},
@@ -216,16 +217,18 @@ const validAttributesForNonEventProps = {
216
217
  role: true,
217
218
  borderRadius: true,
218
219
  borderColor: {process: require('../StyleSheet/processColor').default},
220
+ borderBlockColor: {process: require('../StyleSheet/processColor').default},
219
221
  borderCurve: true,
220
222
  borderWidth: true,
223
+ borderBlockWidth: true,
221
224
  borderStyle: true,
222
225
  hitSlop: {diff: require('../Utilities/differ/insetsDiffer')},
223
226
  collapsable: true,
224
227
  collapsableChildren: true,
225
- experimental_filter: {
228
+ filter: {
226
229
  process: require('../StyleSheet/processFilter').default,
227
230
  },
228
- experimental_boxShadow: {
231
+ boxShadow: {
229
232
  process: require('../StyleSheet/processBoxShadow').default,
230
233
  },
231
234
  experimental_mixBlendMode: true,
@@ -240,9 +243,15 @@ const validAttributesForNonEventProps = {
240
243
  borderLeftWidth: true,
241
244
  borderLeftColor: {process: require('../StyleSheet/processColor').default},
242
245
  borderStartWidth: true,
246
+ borderBlockStartWidth: true,
243
247
  borderStartColor: {process: require('../StyleSheet/processColor').default},
248
+ borderBlockStartColor: {
249
+ process: require('../StyleSheet/processColor').default,
250
+ },
244
251
  borderEndWidth: true,
252
+ borderBlockEndWidth: true,
245
253
  borderEndColor: {process: require('../StyleSheet/processColor').default},
254
+ borderBlockEndColor: {process: require('../StyleSheet/processColor').default},
246
255
 
247
256
  borderTopLeftRadius: true,
248
257
  borderTopRightRadius: true,
@@ -198,6 +198,7 @@ const validAttributesForNonEventProps = {
198
198
  testID: true,
199
199
  backgroundColor: {process: require('../StyleSheet/processColor').default},
200
200
  backfaceVisibility: true,
201
+ cursor: true,
201
202
  opacity: true,
202
203
  shadowColor: {process: require('../StyleSheet/processColor').default},
203
204
  shadowOffset: {diff: require('../Utilities/differ/sizesDiffer')},
@@ -216,16 +217,18 @@ const validAttributesForNonEventProps = {
216
217
  role: true,
217
218
  borderRadius: true,
218
219
  borderColor: {process: require('../StyleSheet/processColor').default},
220
+ borderBlockColor: {process: require('../StyleSheet/processColor').default},
219
221
  borderCurve: true,
220
222
  borderWidth: true,
223
+ borderBlockWidth: true,
221
224
  borderStyle: true,
222
225
  hitSlop: {diff: require('../Utilities/differ/insetsDiffer')},
223
226
  collapsable: true,
224
227
  collapsableChildren: true,
225
- experimental_filter: {
228
+ filter: {
226
229
  process: require('../StyleSheet/processFilter').default,
227
230
  },
228
- experimental_boxShadow: {
231
+ boxShadow: {
229
232
  process: require('../StyleSheet/processBoxShadow').default,
230
233
  },
231
234
  experimental_mixBlendMode: true,
@@ -240,9 +243,15 @@ const validAttributesForNonEventProps = {
240
243
  borderLeftWidth: true,
241
244
  borderLeftColor: {process: require('../StyleSheet/processColor').default},
242
245
  borderStartWidth: true,
246
+ borderBlockStartWidth: true,
243
247
  borderStartColor: {process: require('../StyleSheet/processColor').default},
248
+ borderBlockStartColor: {
249
+ process: require('../StyleSheet/processColor').default,
250
+ },
244
251
  borderEndWidth: true,
252
+ borderBlockEndWidth: true,
245
253
  borderEndColor: {process: require('../StyleSheet/processColor').default},
254
+ borderBlockEndColor: {process: require('../StyleSheet/processColor').default},
246
255
 
247
256
  borderTopLeftRadius: true,
248
257
  borderTopRightRadius: true,
@@ -188,6 +188,10 @@ function getProcessorForType(typeName: string): ?(nextProp: any) => any {
188
188
  case 'UIImage':
189
189
  case 'RCTImageSource':
190
190
  return resolveAssetSource;
191
+ case 'BoxShadowArray':
192
+ return processBoxShadow;
193
+ case 'FilterArray':
194
+ return processFilter;
191
195
  // Android Types
192
196
  case 'Color':
193
197
  return processColor;
@@ -110,11 +110,102 @@ export interface FlexStyle {
110
110
  top?: DimensionValue | undefined;
111
111
  width?: DimensionValue | undefined;
112
112
  zIndex?: number | undefined;
113
+ direction?: 'inherit' | 'ltr' | 'rtl' | undefined;
113
114
 
114
115
  /**
115
- * @platform ios
116
+ * Equivalent to `top`, `bottom`, `right` and `left`
116
117
  */
117
- direction?: 'inherit' | 'ltr' | 'rtl' | undefined;
118
+ inset?: DimensionValue | undefined;
119
+
120
+ /**
121
+ * Equivalent to `top`, `bottom`
122
+ */
123
+ insetBlock?: DimensionValue | undefined;
124
+
125
+ /**
126
+ * Equivalent to `bottom`
127
+ */
128
+ insetBlockEnd?: DimensionValue | undefined;
129
+
130
+ /**
131
+ * Equivalent to `top`
132
+ */
133
+ insetBlockStart?: DimensionValue | undefined;
134
+
135
+ /**
136
+ * Equivalent to `right` and `left`
137
+ */
138
+ insetInline?: DimensionValue | undefined;
139
+
140
+ /**
141
+ * Equivalent to `right` or `left`
142
+ */
143
+ insetInlineEnd?: DimensionValue | undefined;
144
+
145
+ /**
146
+ * Equivalent to `right` or `left`
147
+ */
148
+ insetInlineStart?: DimensionValue | undefined;
149
+
150
+ /**
151
+ * Equivalent to `marginVertical`
152
+ */
153
+ marginBlock?: DimensionValue | undefined;
154
+
155
+ /**
156
+ * Equivalent to `marginBottom`
157
+ */
158
+ marginBlockEnd?: DimensionValue | undefined;
159
+
160
+ /**
161
+ * Equivalent to `marginTop`
162
+ */
163
+ marginBlockStart?: DimensionValue | undefined;
164
+
165
+ /**
166
+ * Equivalent to `marginHorizontal`
167
+ */
168
+ marginInline?: DimensionValue | undefined;
169
+
170
+ /**
171
+ * Equivalent to `marginEnd`
172
+ */
173
+ marginInlineEnd?: DimensionValue | undefined;
174
+
175
+ /**
176
+ * Equivalent to `marginStart`
177
+ */
178
+ marginInlineStart?: DimensionValue | undefined;
179
+
180
+ /**
181
+ * Equivalent to `paddingVertical`
182
+ */
183
+ paddingBlock?: DimensionValue | undefined;
184
+
185
+ /**
186
+ * Equivalent to `paddingBottom`
187
+ */
188
+ paddingBlockEnd?: DimensionValue | undefined;
189
+
190
+ /**
191
+ * Equivalent to `paddingTop`
192
+ */
193
+ paddingBlockStart?: DimensionValue | undefined;
194
+
195
+ /**
196
+ * Equivalent to `paddingHorizontal`
197
+ */
198
+ paddingInline?: DimensionValue | undefined;
199
+
200
+ /**
201
+ * Equivalent to `paddingEnd`
202
+ */
203
+ paddingInlineEnd?: DimensionValue | undefined;
204
+
205
+ /**
206
+ * Equivalent to `paddingStart`
207
+ */
208
+ paddingInlineStart?: DimensionValue | undefined;
118
209
  }
119
210
 
120
211
  export interface ShadowStyleIOS {
@@ -239,16 +330,16 @@ export type FilterFunction =
239
330
  | {opacity: number | string}
240
331
  | {saturate: number | string}
241
332
  | {sepia: number | string}
242
- | {dropShadow: DropShadowPrimitive | string};
333
+ | {dropShadow: DropShadowValue | string};
243
334
 
244
- export type DropShadowPrimitive = {
335
+ export type DropShadowValue = {
245
336
  offsetX: number | string;
246
337
  offsetY: number | string;
247
338
  standardDeviation?: number | string | undefined;
248
339
  color?: ColorValue | number | undefined;
249
340
  };
250
341
 
251
- export type BoxShadowPrimitive = {
342
+ export type BoxShadowValue = {
252
343
  offsetX: number | string;
253
344
  offsetY: number | string;
254
345
  color?: string | undefined;
@@ -336,6 +427,8 @@ export interface ViewStyle extends FlexStyle, ShadowStyleIOS, TransformsStyle {
336
427
  pointerEvents?: 'box-none' | 'none' | 'box-only' | 'auto' | undefined;
337
428
  isolation?: 'auto' | 'isolate' | undefined;
338
429
  cursor?: CursorValue | undefined;
430
+ boxShadow?: ReadonlyArray<BoxShadowValue> | string | undefined;
431
+ filter?: ReadonlyArray<FilterFunction> | string | undefined;
339
432
  }
340
433
 
341
434
  export type FontVariant =
@@ -700,9 +700,9 @@ export type FilterFunction =
700
700
  | {opacity: number | string}
701
701
  | {saturate: number | string}
702
702
  | {sepia: number | string}
703
- | {dropShadow: DropShadowPrimitive | string};
703
+ | {dropShadow: DropShadowValue | string};
704
704
 
705
- export type DropShadowPrimitive = {
705
+ export type DropShadowValue = {
706
706
  offsetX: number | string,
707
707
  offsetY: number | string,
708
708
  standardDeviation?: number | string,
@@ -719,7 +719,7 @@ export type GradientValue = {
719
719
  }>,
720
720
  };
721
721
 
722
- export type BoxShadowPrimitive = {
722
+ export type BoxShadowValue = {
723
723
  offsetX: number | string,
724
724
  offsetY: number | string,
725
725
  color?: ____ColorValue_Internal,
@@ -788,8 +788,8 @@ export type ____ViewStyle_InternalCore = $ReadOnly<{
788
788
  elevation?: number,
789
789
  pointerEvents?: 'auto' | 'none' | 'box-none' | 'box-only',
790
790
  cursor?: CursorValue,
791
- experimental_boxShadow?: $ReadOnlyArray<BoxShadowPrimitive> | string,
792
- experimental_filter?: $ReadOnlyArray<FilterFunction> | string,
791
+ boxShadow?: $ReadOnlyArray<BoxShadowValue> | string,
792
+ filter?: $ReadOnlyArray<FilterFunction> | string,
793
793
  experimental_mixBlendMode?: ____BlendMode_Internal,
794
794
  experimental_backgroundImage?: $ReadOnlyArray<GradientValue> | string,
795
795
  isolation?: 'auto' | 'isolate',
@@ -10,7 +10,7 @@
10
10
  */
11
11
 
12
12
  import type {ProcessedColorValue} from './processColor';
13
- import type {BoxShadowPrimitive} from './StyleSheetTypes';
13
+ import type {BoxShadowValue} from './StyleSheetTypes';
14
14
 
15
15
  import processColor from './processColor';
16
16
 
@@ -24,7 +24,7 @@ export type ParsedBoxShadow = {
24
24
  };
25
25
 
26
26
  export default function processBoxShadow(
27
- rawBoxShadows: ?($ReadOnlyArray<BoxShadowPrimitive> | string),
27
+ rawBoxShadows: ?($ReadOnlyArray<BoxShadowValue> | string),
28
28
  ): Array<ParsedBoxShadow> {
29
29
  const result: Array<ParsedBoxShadow> = [];
30
30
  if (rawBoxShadows == null) {
@@ -106,16 +106,14 @@ export default function processBoxShadow(
106
106
  return result;
107
107
  }
108
108
 
109
- function parseBoxShadowString(
110
- rawBoxShadows: string,
111
- ): Array<BoxShadowPrimitive> {
112
- let result: Array<BoxShadowPrimitive> = [];
109
+ function parseBoxShadowString(rawBoxShadows: string): Array<BoxShadowValue> {
110
+ let result: Array<BoxShadowValue> = [];
113
111
 
114
112
  for (const rawBoxShadow of rawBoxShadows
115
113
  .split(/,(?![^()]*\))/) // split by comma that is not in parenthesis
116
114
  .map(bS => bS.trim())
117
115
  .filter(bS => bS !== '')) {
118
- const boxShadow: BoxShadowPrimitive = {
116
+ const boxShadow: BoxShadowValue = {
119
117
  offsetX: 0,
120
118
  offsetY: 0,
121
119
  };
@@ -12,7 +12,7 @@
12
12
  'use strict';
13
13
 
14
14
  import type {ColorValue} from './StyleSheet';
15
- import type {DropShadowPrimitive, FilterFunction} from './StyleSheetTypes';
15
+ import type {DropShadowValue, FilterFunction} from './StyleSheetTypes';
16
16
 
17
17
  import processColor from './processColor';
18
18
 
@@ -179,7 +179,7 @@ function _getFilterAmount(filterName: string, filterArgs: mixed): ?number {
179
179
  }
180
180
 
181
181
  function parseDropShadow(
182
- rawDropShadow: string | DropShadowPrimitive,
182
+ rawDropShadow: string | DropShadowValue,
183
183
  ): ?ParsedDropShadow {
184
184
  const dropShadow =
185
185
  typeof rawDropShadow === 'string'
@@ -248,8 +248,8 @@ function parseDropShadow(
248
248
  return parsedDropShadow;
249
249
  }
250
250
 
251
- function parseDropShadowString(rawDropShadow: string): ?DropShadowPrimitive {
252
- const dropShadow: DropShadowPrimitive = {
251
+ function parseDropShadowString(rawDropShadow: string): ?DropShadowValue {
252
+ const dropShadow: DropShadowValue = {
253
253
  offsetX: 0,
254
254
  offsetY: 0,
255
255
  };
@@ -153,11 +153,12 @@ const HMRClient: HMRClientNativeInterface = {
153
153
  level: 'info',
154
154
  data: [
155
155
  '\n' +
156
- '\x1b[7m' +
157
- ' \x1b[1mJavaScript logs have moved!\x1b[22m They will now appear in the debugger console. ' +
158
- 'Tip: Type \x1b[1mj\x1b[22m in the terminal to open the debugger (requires Google Chrome ' +
159
- 'or Microsoft Edge).' +
160
- '\x1b[27m' +
156
+ '\u001B[7m' +
157
+ ' \u001B[1m💡 JavaScript logs will be removed from Metro in React ' +
158
+ 'Native 0.77!\u001B[22m Please use React Native DevTools as your ' +
159
+ 'default tool. Tip: Type \u001B[1mj\u001B[22m in the terminal to ' +
160
+ 'open (requires Google Chrome or Microsoft Edge).' +
161
+ '\u001B[27m' +
161
162
  '\n',
162
163
  ],
163
164
  }),
package/overrides.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "**/__snapshots__/**",
8
8
  "src-win/rntypes/**"
9
9
  ],
10
- "baseVersion": "0.76.0-rc.0",
10
+ "baseVersion": "0.76.0-rc.4",
11
11
  "overrides": [
12
12
  {
13
13
  "type": "derived",
@@ -337,7 +337,7 @@
337
337
  "type": "derived",
338
338
  "file": "src-win/Libraries/NativeComponent/BaseViewConfig.win32.js",
339
339
  "baseFile": "packages/react-native/Libraries/NativeComponent/BaseViewConfig.ios.js",
340
- "baseHash": "91e7e2aacf6c1559247dccad0c581fde64202bf3"
340
+ "baseHash": "0b4642542c2865c5cd3d542a82b295a1aca21c1a"
341
341
  },
342
342
  {
343
343
  "type": "copy",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@office-iss/react-native-win32",
3
- "version": "0.76.0-preview.1",
3
+ "version": "0.76.0-preview.2",
4
4
  "description": "Implementation of react native on top of Office's Win32 platform.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,21 +26,23 @@
26
26
  "dependencies": {
27
27
  "@babel/runtime": "^7.0.0",
28
28
  "@jest/create-cache-key-function": "^29.6.3",
29
- "@react-native-community/cli": "14.0.0",
30
- "@react-native-community/cli-platform-android": "14.0.0",
31
- "@react-native-community/cli-platform-ios": "14.0.0",
29
+ "@react-native-community/cli": "15.0.0-alpha.2",
30
+ "@react-native-community/cli-platform-android": "15.0.0-alpha.2",
31
+ "@react-native-community/cli-platform-ios": "15.0.0-alpha.2",
32
32
  "@react-native/assets": "1.0.0",
33
- "@react-native/assets-registry": "0.76.0-rc.0",
34
- "@react-native/codegen": "0.76.0-rc.0",
35
- "@react-native/community-cli-plugin": "0.76.0-rc.0",
36
- "@react-native/gradle-plugin": "0.76.0-rc.0",
37
- "@react-native/js-polyfills": "0.76.0-rc.0",
38
- "@react-native/normalize-colors": "0.76.0-rc.0",
39
- "@react-native/virtualized-lists": "0.76.0-rc.0",
33
+ "@react-native/assets-registry": "0.76.0-rc.4",
34
+ "@react-native/codegen": "0.76.0-rc.4",
35
+ "@react-native/community-cli-plugin": "0.76.0-rc.4",
36
+ "@react-native/gradle-plugin": "0.76.0-rc.4",
37
+ "@react-native/js-polyfills": "0.76.0-rc.4",
38
+ "@react-native/normalize-colors": "0.76.0-rc.4",
39
+ "@react-native/virtualized-lists": "0.76.0-rc.4",
40
40
  "abort-controller": "^3.0.0",
41
41
  "anser": "^1.4.9",
42
42
  "ansi-regex": "^5.0.0",
43
43
  "art": "^0.10.0",
44
+ "babel-jest": "^29.7.0",
45
+ "babel-plugin-syntax-hermes-parser": "^0.23.1",
44
46
  "base64-js": "^1.5.1",
45
47
  "chalk": "^4.0.0",
46
48
  "commander": "^12.0.0",
@@ -51,8 +53,8 @@
51
53
  "jest-environment-node": "^29.6.3",
52
54
  "jsc-android": "^250231.0.0",
53
55
  "memoize-one": "^5.0.0",
54
- "metro-runtime": "^0.80.10",
55
- "metro-source-map": "^0.80.10",
56
+ "metro-runtime": "^0.81.0-alpha.2",
57
+ "metro-source-map": "^0.81.0-alpha.2",
56
58
  "mkdirp": "^0.5.1",
57
59
  "nullthrows": "^1.1.1",
58
60
  "pretty-format": "^29.7.0",
@@ -88,14 +90,14 @@
88
90
  "just-scripts": "^1.3.3",
89
91
  "prettier": "2.8.8",
90
92
  "react": "18.3.1",
91
- "react-native": "0.76.0-rc.0",
93
+ "react-native": "0.76.0-rc.4",
92
94
  "react-native-platform-override": "^1.9.46",
93
95
  "typescript": "5.0.4"
94
96
  },
95
97
  "peerDependencies": {
96
98
  "@types/react": "^18.2.6",
97
99
  "react": "^18.2.0",
98
- "react-native": "0.76.0-rc.0"
100
+ "react-native": "0.76.0-rc.4"
99
101
  },
100
102
  "beachball": {
101
103
  "defaultNpmTag": "preview",
@@ -13,15 +13,17 @@ import type {ViewProps} from '../../../Libraries/Components/View/ViewPropTypes';
13
13
  import Platform from '../../../Libraries/Utilities/Platform';
14
14
  import View from '../../../Libraries/Components/View/View';
15
15
  import * as React from 'react';
16
- export * from '../../../src/private/specs/components/RCTSafeAreaViewNativeComponent';
17
- import RCTSafeAreaViewNativeComponent from '../../../src/private/specs/components/RCTSafeAreaViewNativeComponent';
18
16
 
19
- let exported: React.AbstractComponent<ViewProps, React.ElementRef<typeof View>>;
20
-
21
- if (Platform.OS === 'android' || Platform.OS === 'ios') {
22
- exported = RCTSafeAreaViewNativeComponent;
23
- } else {
24
- exported = View;
25
- }
17
+ const exported: React.AbstractComponent<
18
+ ViewProps,
19
+ React.ElementRef<typeof View>,
20
+ > = Platform.select({
21
+ ios: require('../../../src/private/specs/components/RCTSafeAreaViewNativeComponent')
22
+ .default,
23
+ android:
24
+ require('../../../src/private/specs/components/RCTSafeAreaViewNativeComponent')
25
+ .default,
26
+ default: View,
27
+ });
26
28
 
27
29
  export default exported;
@@ -35,111 +35,11 @@
35
35
  import {
36
36
  GradientValue,
37
37
  BlendMode,
38
- BoxShadowPrimitive,
39
- DimensionValue,
40
- FilterFunction,
41
38
  } from 'react-native/Libraries/StyleSheet/StyleSheetTypes';
42
39
 
43
40
  export {};
44
41
 
45
42
  declare module '.' {
46
- export interface FlexStyle {
47
- /**
48
- * Equivalent to `top`, `bottom`, `right` and `left`
49
- */
50
- inset?: DimensionValue | undefined;
51
-
52
- /**
53
- * Equivalent to `top`, `bottom`
54
- */
55
- insetBlock?: DimensionValue | undefined;
56
-
57
- /**
58
- * Equivalent to `bottom`
59
- */
60
- insetBlockEnd?: DimensionValue | undefined;
61
-
62
- /**
63
- * Equivalent to `top`
64
- */
65
- insetBlockStart?: DimensionValue | undefined;
66
-
67
- /**
68
- * Equivalent to `right` and `left`
69
- */
70
- insetInline?: DimensionValue | undefined;
71
-
72
- /**
73
- * Equivalent to `right` or `left`
74
- */
75
- insetInlineEnd?: DimensionValue | undefined;
76
-
77
- /**
78
- * Equivalent to `right` or `left`
79
- */
80
- insetInlineStart?: DimensionValue | undefined;
81
-
82
- /**
83
- * Equivalent to `marginVertical`
84
- */
85
- marginBlock?: DimensionValue | undefined;
86
-
87
- /**
88
- * Equivalent to `marginBottom`
89
- */
90
- marginBlockEnd?: DimensionValue | undefined;
91
-
92
- /**
93
- * Equivalent to `marginTop`
94
- */
95
- marginBlockStart?: DimensionValue | undefined;
96
-
97
- /**
98
- * Equivalent to `marginHorizontal`
99
- */
100
- marginInline?: DimensionValue | undefined;
101
-
102
- /**
103
- * Equivalent to `marginEnd`
104
- */
105
- marginInlineEnd?: DimensionValue | undefined;
106
-
107
- /**
108
- * Equivalent to `marginStart`
109
- */
110
- marginInlineStart?: DimensionValue | undefined;
111
-
112
- /**
113
- * Equivalent to `paddingVertical`
114
- */
115
- paddingBlock?: DimensionValue | undefined;
116
-
117
- /**
118
- * Equivalent to `paddingBottom`
119
- */
120
- paddingBlockEnd?: DimensionValue | undefined;
121
-
122
- /**
123
- * Equivalent to `paddingTop`
124
- */
125
- paddingBlockStart?: DimensionValue | undefined;
126
-
127
- /**
128
- * Equivalent to `paddingHorizontal`
129
- */
130
- paddingInline?: DimensionValue | undefined;
131
-
132
- /**
133
- * Equivalent to `paddingEnd`
134
- */
135
- paddingInlineEnd?: DimensionValue | undefined;
136
-
137
- /**
138
- * Equivalent to `paddingStart`
139
- */
140
- paddingInlineStart?: DimensionValue | undefined;
141
- }
142
-
143
43
  export interface ViewProps {
144
44
  /**
145
45
  * Contols whether this view, and its transitive children, are laid in a way
@@ -150,11 +50,6 @@ declare module '.' {
150
50
  }
151
51
 
152
52
  export interface ViewStyle {
153
- experimental_boxShadow?:
154
- | ReadonlyArray<BoxShadowPrimitive>
155
- | string
156
- | undefined;
157
- experimental_filter?: ReadonlyArray<FilterFunction> | string | undefined;
158
53
  experimental_mixBlendMode?: BlendMode | undefined;
159
54
  experimental_backgroundImage?:
160
55
  | ReadonlyArray<GradientValue>