react-native-windows 0.0.0-canary.429 → 0.0.0-canary.433

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 (29) hide show
  1. package/.flowconfig +0 -1
  2. package/Directory.Build.props +6 -1
  3. package/Directory.Build.targets +6 -1
  4. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +24 -0
  5. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +24 -0
  6. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +4 -0
  7. package/Libraries/Core/ReactNativeVersion.js +1 -1
  8. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +20 -8
  9. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +17 -7
  10. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +18 -8
  11. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +20 -8
  12. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +17 -7
  13. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +18 -8
  14. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
  15. package/Libraries/Text/Text.js +1 -0
  16. package/Libraries/Text/Text.windows.js +0 -1
  17. package/Libraries/Text/TextNativeComponent.js +6 -0
  18. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +1 -0
  19. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +0 -2
  20. package/PropertySheets/External/Microsoft.ReactNative.Common.props +6 -0
  21. package/PropertySheets/External/Microsoft.ReactNative.Common.targets +8 -2
  22. package/PropertySheets/Generated/PackageVersion.g.props +1 -1
  23. package/PropertySheets/JSEngine.props +2 -0
  24. package/Shared/WinRTWebSocketResource.cpp +29 -32
  25. package/Shared/WinRTWebSocketResource.h +0 -3
  26. package/codegen/NativeAccessibilityManagerSpec.g.h +12 -0
  27. package/package.json +4 -4
  28. package/rntypes/index.d.ts +4 -5
  29. package/Libraries/Text/TextNativeComponent.windows.js +0 -68
package/.flowconfig CHANGED
@@ -30,7 +30,6 @@
30
30
  <PROJECT_ROOT>/Libraries/NewAppScreen/components/DebugInstructions.js
31
31
  <PROJECT_ROOT>/Libraries/NewAppScreen/components/ReloadInstructions.js
32
32
  <PROJECT_ROOT>/Libraries/Pressability/Pressability.js
33
- <PROJECT_ROOT>/Libraries/Text/TextNativeComponent.js
34
33
  <PROJECT_ROOT>/Libraries/Types/CoreEventTypes.js
35
34
 
36
35
  ; Ignore react-native files in node_modules since they are copied into project root
@@ -58,4 +58,9 @@
58
58
  <FmtDir>$([MSBuild]::NormalizeDirectory($(FmtDir)))</FmtDir>
59
59
  </PropertyGroup>
60
60
 
61
- </Project>
61
+ <PropertyGroup Label="NuGet" Condition="'$(MSBuildProjectExtension)' == '.vcxproj'">
62
+ <!--See https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#restore-target-->
63
+ <RestoreUseStaticGraphEvaluation Condition="'$(BuildingInsideVisualStudio)' == 'true'">true</RestoreUseStaticGraphEvaluation>
64
+ </PropertyGroup>
65
+
66
+ </Project>
@@ -4,4 +4,9 @@
4
4
  <!-- This import will noop when customer code is built. This import is here to help building the bits in the react-native-windows repository. -->
5
5
  <Import Condition="Exists($([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)../')))" Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
6
6
 
7
- </Project>
7
+ <!--Allow implicitly restoring PackageReference dependencies in C++ projects using the Visual Studio IDE.-->
8
+ <Target Name="BeforeResolveReferences" Condition="'$(BuildingInsideVisualStudio)' == 'true' AND '$(MSBuildProjectExtension)' == '.vcxproj'">
9
+ <MSBuild Projects="$(MSBuildProjectFile)" Targets="Restore" />
10
+ </Target>
11
+
12
+ </Project>
@@ -341,6 +341,30 @@ const AccessibilityInfo = {
341
341
  }
342
342
  },
343
343
 
344
+ /**
345
+ * Post a string to be announced by the screen reader.
346
+ * - `announcement`: The string announced by the screen reader.
347
+ * - `options`: An object that configures the reading options.
348
+ * - `queue`: The announcement will be queued behind existing announcements. iOS only.
349
+ */
350
+ announceForAccessibilityWithOptions(
351
+ announcement: string,
352
+ options: {queue?: boolean},
353
+ ): void {
354
+ if (Platform.OS === 'android') {
355
+ NativeAccessibilityInfoAndroid?.announceForAccessibility(announcement);
356
+ } else {
357
+ if (NativeAccessibilityManagerIOS?.announceForAccessibilityWithOptions) {
358
+ NativeAccessibilityManagerIOS?.announceForAccessibilityWithOptions(
359
+ announcement,
360
+ options,
361
+ );
362
+ } else {
363
+ NativeAccessibilityManagerIOS?.announceForAccessibility(announcement);
364
+ }
365
+ }
366
+ },
367
+
344
368
  /**
345
369
  * @deprecated Use `remove` on the EventSubscription from `addEventListener`.
346
370
  */
@@ -347,6 +347,30 @@ const AccessibilityInfo = {
347
347
  }
348
348
  },
349
349
 
350
+ /**
351
+ * Post a string to be announced by the screen reader.
352
+ * - `announcement`: The string announced by the screen reader.
353
+ * - `options`: An object that configures the reading options.
354
+ * - `queue`: The announcement will be queued behind existing announcements. iOS only.
355
+ */
356
+ announceForAccessibilityWithOptions(
357
+ announcement: string,
358
+ options: {queue?: boolean},
359
+ ): void {
360
+ if (Platform.OS === 'android' || Platform.OS === 'windows') {
361
+ NativeAccessibilityInfo?.announceForAccessibility(announcement);
362
+ } else {
363
+ if (NativeAccessibilityManagerIOS?.announceForAccessibilityWithOptions) {
364
+ NativeAccessibilityManagerIOS?.announceForAccessibilityWithOptions(
365
+ announcement,
366
+ options,
367
+ );
368
+ } else {
369
+ NativeAccessibilityManagerIOS?.announceForAccessibility(announcement);
370
+ }
371
+ }
372
+ },
373
+
350
374
  /**
351
375
  * @deprecated Use `remove` on the EventSubscription from `addEventListener`.
352
376
  */
@@ -52,6 +52,10 @@ export interface Spec extends TurboModule {
52
52
  |}) => void;
53
53
  +setAccessibilityFocus: (reactTag: number) => void;
54
54
  +announceForAccessibility: (announcement: string) => void;
55
+ +announceForAccessibilityWithOptions?: (
56
+ announcement: string,
57
+ options: {queue?: boolean},
58
+ ) => void;
55
59
  }
56
60
 
57
61
  export default (TurboModuleRegistry.get<Spec>('AccessibilityManager'): ?Spec);
@@ -13,5 +13,5 @@ exports.version = {
13
13
  major: 0,
14
14
  minor: 0,
15
15
  patch: 0,
16
- prerelease: '20211125-2009-3ba237b66',
16
+ prerelease: '20211202-2008-9e2ec4d3d',
17
17
  };
@@ -7,7 +7,7 @@
7
7
  * @noflow
8
8
  * @nolint
9
9
  * @preventMunge
10
- * @generated SignedSource<<86bcbed641a7044e773a303487a93758>>
10
+ * @generated SignedSource<<c63c5718d1b40bee38ff92020247d874>>
11
11
  */
12
12
 
13
13
  'use strict';
@@ -6008,7 +6008,7 @@ function flushSyncCallbacks() {
6008
6008
  return null;
6009
6009
  }
6010
6010
 
6011
- var ReactVersion = "18.0.0-c0c71a868-20211112";
6011
+ var ReactVersion = "18.0.0-c1220ebdd-20211123";
6012
6012
 
6013
6013
  var SCHEDULING_PROFILER_VERSION = 1;
6014
6014
 
@@ -9441,7 +9441,10 @@ function ChildReconciler(shouldTrackSideEffects) {
9441
9441
  }
9442
9442
 
9443
9443
  function createChild(returnFiber, newChild, lanes) {
9444
- if (typeof newChild === "string" || typeof newChild === "number") {
9444
+ if (
9445
+ (typeof newChild === "string" && newChild !== "") ||
9446
+ typeof newChild === "number"
9447
+ ) {
9445
9448
  // Text nodes don't have keys. If the previous node is implicitly keyed
9446
9449
  // we can continue to replace it without aborting even if it is not a text
9447
9450
  // node.
@@ -9504,7 +9507,10 @@ function ChildReconciler(shouldTrackSideEffects) {
9504
9507
  // Update the fiber if the keys match, otherwise return null.
9505
9508
  var key = oldFiber !== null ? oldFiber.key : null;
9506
9509
 
9507
- if (typeof newChild === "string" || typeof newChild === "number") {
9510
+ if (
9511
+ (typeof newChild === "string" && newChild !== "") ||
9512
+ typeof newChild === "number"
9513
+ ) {
9508
9514
  // Text nodes don't have keys. If the previous node is implicitly keyed
9509
9515
  // we can continue to replace it without aborting even if it is not a text
9510
9516
  // node.
@@ -9561,7 +9567,10 @@ function ChildReconciler(shouldTrackSideEffects) {
9561
9567
  newChild,
9562
9568
  lanes
9563
9569
  ) {
9564
- if (typeof newChild === "string" || typeof newChild === "number") {
9570
+ if (
9571
+ (typeof newChild === "string" && newChild !== "") ||
9572
+ typeof newChild === "number"
9573
+ ) {
9565
9574
  // Text nodes don't have keys, so we neither have to check the old nor
9566
9575
  // new node for the key. If both are text nodes, they match.
9567
9576
  var matchedFiber = existingChildren.get(newIdx) || null;
@@ -10246,7 +10255,10 @@ function ChildReconciler(shouldTrackSideEffects) {
10246
10255
  throwOnInvalidObjectType(returnFiber, newChild);
10247
10256
  }
10248
10257
 
10249
- if (typeof newChild === "string" || typeof newChild === "number") {
10258
+ if (
10259
+ (typeof newChild === "string" && newChild !== "") ||
10260
+ typeof newChild === "number"
10261
+ ) {
10250
10262
  return placeSingleChild(
10251
10263
  reconcileSingleTextNode(
10252
10264
  returnFiber,
@@ -14562,7 +14574,7 @@ function completeWork(current, workInProgress, renderLanes) {
14562
14574
  // Schedule an effect to clear this container at the start of the next commit.
14563
14575
  // This handles the case of React rendering into a container with previous children.
14564
14576
  // It's also safe to do for updates too, because current.child would only be null
14565
- // if the previous render was null (so the the container would already be empty).
14577
+ // if the previous render was null (so the container would already be empty).
14566
14578
  workInProgress.flags |= Snapshot;
14567
14579
  }
14568
14580
  }
@@ -20817,7 +20829,7 @@ function finishConcurrentRender(root, exitStatus, lanes) {
20817
20829
 
20818
20830
  function isRenderConsistentWithExternalStores(finishedWork) {
20819
20831
  // Search the rendered tree for external store reads, and check whether the
20820
- // stores were mutated in a concurrent event. Intentionally using a iterative
20832
+ // stores were mutated in a concurrent event. Intentionally using an iterative
20821
20833
  // loop instead of recursion so we can exit early.
20822
20834
  var node = finishedWork;
20823
20835
 
@@ -7,7 +7,7 @@
7
7
  * @noflow
8
8
  * @nolint
9
9
  * @preventMunge
10
- * @generated SignedSource<<b80a65da6d07065eb2cb1fb8dca0c565>>
10
+ * @generated SignedSource<<d2675ef49da99531a7fa8940f853bd5f>>
11
11
  */
12
12
 
13
13
  "use strict";
@@ -2840,7 +2840,10 @@ function ChildReconciler(shouldTrackSideEffects) {
2840
2840
  return current;
2841
2841
  }
2842
2842
  function createChild(returnFiber, newChild, lanes) {
2843
- if ("string" === typeof newChild || "number" === typeof newChild)
2843
+ if (
2844
+ ("string" === typeof newChild && "" !== newChild) ||
2845
+ "number" === typeof newChild
2846
+ )
2844
2847
  return (
2845
2848
  (newChild = createFiberFromText(
2846
2849
  "" + newChild,
@@ -2894,7 +2897,10 @@ function ChildReconciler(shouldTrackSideEffects) {
2894
2897
  }
2895
2898
  function updateSlot(returnFiber, oldFiber, newChild, lanes) {
2896
2899
  var key = null !== oldFiber ? oldFiber.key : null;
2897
- if ("string" === typeof newChild || "number" === typeof newChild)
2900
+ if (
2901
+ ("string" === typeof newChild && "" !== newChild) ||
2902
+ "number" === typeof newChild
2903
+ )
2898
2904
  return null !== key
2899
2905
  ? null
2900
2906
  : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes);
@@ -2924,7 +2930,10 @@ function ChildReconciler(shouldTrackSideEffects) {
2924
2930
  newChild,
2925
2931
  lanes
2926
2932
  ) {
2927
- if ("string" === typeof newChild || "number" === typeof newChild)
2933
+ if (
2934
+ ("string" === typeof newChild && "" !== newChild) ||
2935
+ "number" === typeof newChild
2936
+ )
2928
2937
  return (
2929
2938
  (existingChildren = existingChildren.get(newIdx) || null),
2930
2939
  updateTextNode(returnFiber, existingChildren, "" + newChild, lanes)
@@ -3250,7 +3259,8 @@ function ChildReconciler(shouldTrackSideEffects) {
3250
3259
  );
3251
3260
  throwOnInvalidObjectType(returnFiber, newChild);
3252
3261
  }
3253
- return "string" === typeof newChild || "number" === typeof newChild
3262
+ return ("string" === typeof newChild && "" !== newChild) ||
3263
+ "number" === typeof newChild
3254
3264
  ? ((newChild = "" + newChild),
3255
3265
  null !== currentFirstChild && 6 === currentFirstChild.tag
3256
3266
  ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),
@@ -8166,7 +8176,7 @@ var roots = new Map(),
8166
8176
  devToolsConfig$jscomp$inline_925 = {
8167
8177
  findFiberByHostInstance: getInstanceFromInstance,
8168
8178
  bundleType: 0,
8169
- version: "18.0.0-c0c71a868-20211112",
8179
+ version: "18.0.0-c1220ebdd-20211123",
8170
8180
  rendererPackageName: "react-native-renderer",
8171
8181
  rendererConfig: {
8172
8182
  getInspectorDataForViewTag: function() {
@@ -8208,7 +8218,7 @@ var internals$jscomp$inline_1179 = {
8208
8218
  scheduleRoot: null,
8209
8219
  setRefreshHandler: null,
8210
8220
  getCurrentFiber: null,
8211
- reconcilerVersion: "18.0.0-c0c71a868-20211112"
8221
+ reconcilerVersion: "18.0.0-c1220ebdd-20211123"
8212
8222
  };
8213
8223
  if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
8214
8224
  var hook$jscomp$inline_1180 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -7,7 +7,7 @@
7
7
  * @noflow
8
8
  * @nolint
9
9
  * @preventMunge
10
- * @generated SignedSource<<84b02666b89c30d381a8cdd2ef587911>>
10
+ * @generated SignedSource<<d9e820a361c20b62bc9a8c1f8ab34868>>
11
11
  */
12
12
 
13
13
 
@@ -3025,7 +3025,10 @@ function ChildReconciler(shouldTrackSideEffects) {
3025
3025
  return current;
3026
3026
  }
3027
3027
  function createChild(returnFiber, newChild, lanes) {
3028
- if ("string" === typeof newChild || "number" === typeof newChild)
3028
+ if (
3029
+ ("string" === typeof newChild && "" !== newChild) ||
3030
+ "number" === typeof newChild
3031
+ )
3029
3032
  return (
3030
3033
  (newChild = createFiberFromText(
3031
3034
  "" + newChild,
@@ -3079,7 +3082,10 @@ function ChildReconciler(shouldTrackSideEffects) {
3079
3082
  }
3080
3083
  function updateSlot(returnFiber, oldFiber, newChild, lanes) {
3081
3084
  var key = null !== oldFiber ? oldFiber.key : null;
3082
- if ("string" === typeof newChild || "number" === typeof newChild)
3085
+ if (
3086
+ ("string" === typeof newChild && "" !== newChild) ||
3087
+ "number" === typeof newChild
3088
+ )
3083
3089
  return null !== key
3084
3090
  ? null
3085
3091
  : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes);
@@ -3109,7 +3115,10 @@ function ChildReconciler(shouldTrackSideEffects) {
3109
3115
  newChild,
3110
3116
  lanes
3111
3117
  ) {
3112
- if ("string" === typeof newChild || "number" === typeof newChild)
3118
+ if (
3119
+ ("string" === typeof newChild && "" !== newChild) ||
3120
+ "number" === typeof newChild
3121
+ )
3113
3122
  return (
3114
3123
  (existingChildren = existingChildren.get(newIdx) || null),
3115
3124
  updateTextNode(returnFiber, existingChildren, "" + newChild, lanes)
@@ -3435,7 +3444,8 @@ function ChildReconciler(shouldTrackSideEffects) {
3435
3444
  );
3436
3445
  throwOnInvalidObjectType(returnFiber, newChild);
3437
3446
  }
3438
- return "string" === typeof newChild || "number" === typeof newChild
3447
+ return ("string" === typeof newChild && "" !== newChild) ||
3448
+ "number" === typeof newChild
3439
3449
  ? ((newChild = "" + newChild),
3440
3450
  null !== currentFirstChild && 6 === currentFirstChild.tag
3441
3451
  ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),
@@ -7612,7 +7622,7 @@ function commitRootImpl(root, renderPriorityLevel) {
7612
7622
  lanes = root.finishedLanes;
7613
7623
  supportsUserTimingV3 &&
7614
7624
  (markAndClear("--commit-start-" + lanes),
7615
- markAndClear("--react-version-18.0.0-c0c71a868-20211112"),
7625
+ markAndClear("--react-version-18.0.0-c1220ebdd-20211123"),
7616
7626
  markAndClear("--profiler-version-1"),
7617
7627
  getLaneLabels(),
7618
7628
  markAndClear("--react-lane-labels-" + laneLabels.join(",")),
@@ -8868,7 +8878,7 @@ var roots = new Map(),
8868
8878
  devToolsConfig$jscomp$inline_1020 = {
8869
8879
  findFiberByHostInstance: getInstanceFromInstance,
8870
8880
  bundleType: 0,
8871
- version: "18.0.0-c0c71a868-20211112",
8881
+ version: "18.0.0-c1220ebdd-20211123",
8872
8882
  rendererPackageName: "react-native-renderer",
8873
8883
  rendererConfig: {
8874
8884
  getInspectorDataForViewTag: function() {
@@ -8910,7 +8920,7 @@ var internals$jscomp$inline_1308 = {
8910
8920
  scheduleRoot: null,
8911
8921
  setRefreshHandler: null,
8912
8922
  getCurrentFiber: null,
8913
- reconcilerVersion: "18.0.0-c0c71a868-20211112"
8923
+ reconcilerVersion: "18.0.0-c1220ebdd-20211123"
8914
8924
  };
8915
8925
  if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
8916
8926
  var hook$jscomp$inline_1309 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -7,7 +7,7 @@
7
7
  * @noflow
8
8
  * @nolint
9
9
  * @preventMunge
10
- * @generated SignedSource<<74aab8e89c3a533591d19aa80a7790da>>
10
+ * @generated SignedSource<<8b128574fdea8d0a11f1cf1c1aefe59b>>
11
11
  */
12
12
 
13
13
  'use strict';
@@ -6241,7 +6241,7 @@ function flushSyncCallbacks() {
6241
6241
  return null;
6242
6242
  }
6243
6243
 
6244
- var ReactVersion = "18.0.0-c0c71a868-20211112";
6244
+ var ReactVersion = "18.0.0-c1220ebdd-20211123";
6245
6245
 
6246
6246
  var SCHEDULING_PROFILER_VERSION = 1;
6247
6247
 
@@ -9674,7 +9674,10 @@ function ChildReconciler(shouldTrackSideEffects) {
9674
9674
  }
9675
9675
 
9676
9676
  function createChild(returnFiber, newChild, lanes) {
9677
- if (typeof newChild === "string" || typeof newChild === "number") {
9677
+ if (
9678
+ (typeof newChild === "string" && newChild !== "") ||
9679
+ typeof newChild === "number"
9680
+ ) {
9678
9681
  // Text nodes don't have keys. If the previous node is implicitly keyed
9679
9682
  // we can continue to replace it without aborting even if it is not a text
9680
9683
  // node.
@@ -9737,7 +9740,10 @@ function ChildReconciler(shouldTrackSideEffects) {
9737
9740
  // Update the fiber if the keys match, otherwise return null.
9738
9741
  var key = oldFiber !== null ? oldFiber.key : null;
9739
9742
 
9740
- if (typeof newChild === "string" || typeof newChild === "number") {
9743
+ if (
9744
+ (typeof newChild === "string" && newChild !== "") ||
9745
+ typeof newChild === "number"
9746
+ ) {
9741
9747
  // Text nodes don't have keys. If the previous node is implicitly keyed
9742
9748
  // we can continue to replace it without aborting even if it is not a text
9743
9749
  // node.
@@ -9794,7 +9800,10 @@ function ChildReconciler(shouldTrackSideEffects) {
9794
9800
  newChild,
9795
9801
  lanes
9796
9802
  ) {
9797
- if (typeof newChild === "string" || typeof newChild === "number") {
9803
+ if (
9804
+ (typeof newChild === "string" && newChild !== "") ||
9805
+ typeof newChild === "number"
9806
+ ) {
9798
9807
  // Text nodes don't have keys, so we neither have to check the old nor
9799
9808
  // new node for the key. If both are text nodes, they match.
9800
9809
  var matchedFiber = existingChildren.get(newIdx) || null;
@@ -10479,7 +10488,10 @@ function ChildReconciler(shouldTrackSideEffects) {
10479
10488
  throwOnInvalidObjectType(returnFiber, newChild);
10480
10489
  }
10481
10490
 
10482
- if (typeof newChild === "string" || typeof newChild === "number") {
10491
+ if (
10492
+ (typeof newChild === "string" && newChild !== "") ||
10493
+ typeof newChild === "number"
10494
+ ) {
10483
10495
  return placeSingleChild(
10484
10496
  reconcileSingleTextNode(
10485
10497
  returnFiber,
@@ -14592,7 +14604,7 @@ function completeWork(current, workInProgress, renderLanes) {
14592
14604
  // Schedule an effect to clear this container at the start of the next commit.
14593
14605
  // This handles the case of React rendering into a container with previous children.
14594
14606
  // It's also safe to do for updates too, because current.child would only be null
14595
- // if the previous render was null (so the the container would already be empty).
14607
+ // if the previous render was null (so the container would already be empty).
14596
14608
  workInProgress.flags |= Snapshot;
14597
14609
  }
14598
14610
  }
@@ -21232,7 +21244,7 @@ function finishConcurrentRender(root, exitStatus, lanes) {
21232
21244
 
21233
21245
  function isRenderConsistentWithExternalStores(finishedWork) {
21234
21246
  // Search the rendered tree for external store reads, and check whether the
21235
- // stores were mutated in a concurrent event. Intentionally using a iterative
21247
+ // stores were mutated in a concurrent event. Intentionally using an iterative
21236
21248
  // loop instead of recursion so we can exit early.
21237
21249
  var node = finishedWork;
21238
21250
 
@@ -7,7 +7,7 @@
7
7
  * @noflow
8
8
  * @nolint
9
9
  * @preventMunge
10
- * @generated SignedSource<<6fc8d6b12f7d5605a1f7ab5894718cb3>>
10
+ * @generated SignedSource<<c587a7b3e41dfa079412f1481033cff7>>
11
11
  */
12
12
 
13
13
  "use strict";
@@ -2811,7 +2811,10 @@ function ChildReconciler(shouldTrackSideEffects) {
2811
2811
  return current;
2812
2812
  }
2813
2813
  function createChild(returnFiber, newChild, lanes) {
2814
- if ("string" === typeof newChild || "number" === typeof newChild)
2814
+ if (
2815
+ ("string" === typeof newChild && "" !== newChild) ||
2816
+ "number" === typeof newChild
2817
+ )
2815
2818
  return (
2816
2819
  (newChild = createFiberFromText(
2817
2820
  "" + newChild,
@@ -2865,7 +2868,10 @@ function ChildReconciler(shouldTrackSideEffects) {
2865
2868
  }
2866
2869
  function updateSlot(returnFiber, oldFiber, newChild, lanes) {
2867
2870
  var key = null !== oldFiber ? oldFiber.key : null;
2868
- if ("string" === typeof newChild || "number" === typeof newChild)
2871
+ if (
2872
+ ("string" === typeof newChild && "" !== newChild) ||
2873
+ "number" === typeof newChild
2874
+ )
2869
2875
  return null !== key
2870
2876
  ? null
2871
2877
  : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes);
@@ -2895,7 +2901,10 @@ function ChildReconciler(shouldTrackSideEffects) {
2895
2901
  newChild,
2896
2902
  lanes
2897
2903
  ) {
2898
- if ("string" === typeof newChild || "number" === typeof newChild)
2904
+ if (
2905
+ ("string" === typeof newChild && "" !== newChild) ||
2906
+ "number" === typeof newChild
2907
+ )
2899
2908
  return (
2900
2909
  (existingChildren = existingChildren.get(newIdx) || null),
2901
2910
  updateTextNode(returnFiber, existingChildren, "" + newChild, lanes)
@@ -3221,7 +3230,8 @@ function ChildReconciler(shouldTrackSideEffects) {
3221
3230
  );
3222
3231
  throwOnInvalidObjectType(returnFiber, newChild);
3223
3232
  }
3224
- return "string" === typeof newChild || "number" === typeof newChild
3233
+ return ("string" === typeof newChild && "" !== newChild) ||
3234
+ "number" === typeof newChild
3225
3235
  ? ((newChild = "" + newChild),
3226
3236
  null !== currentFirstChild && 6 === currentFirstChild.tag
3227
3237
  ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),
@@ -8253,7 +8263,7 @@ var roots = new Map(),
8253
8263
  devToolsConfig$jscomp$inline_966 = {
8254
8264
  findFiberByHostInstance: getInstanceFromTag,
8255
8265
  bundleType: 0,
8256
- version: "18.0.0-c0c71a868-20211112",
8266
+ version: "18.0.0-c1220ebdd-20211123",
8257
8267
  rendererPackageName: "react-native-renderer",
8258
8268
  rendererConfig: {
8259
8269
  getInspectorDataForViewTag: function() {
@@ -8295,7 +8305,7 @@ var internals$jscomp$inline_1230 = {
8295
8305
  scheduleRoot: null,
8296
8306
  setRefreshHandler: null,
8297
8307
  getCurrentFiber: null,
8298
- reconcilerVersion: "18.0.0-c0c71a868-20211112"
8308
+ reconcilerVersion: "18.0.0-c1220ebdd-20211123"
8299
8309
  };
8300
8310
  if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
8301
8311
  var hook$jscomp$inline_1231 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -7,7 +7,7 @@
7
7
  * @noflow
8
8
  * @nolint
9
9
  * @preventMunge
10
- * @generated SignedSource<<bbacb11ee462ae80c14f12baf55dfb71>>
10
+ * @generated SignedSource<<d52f24e9901f9340c97ef19e63d99705>>
11
11
  */
12
12
 
13
13
 
@@ -2996,7 +2996,10 @@ function ChildReconciler(shouldTrackSideEffects) {
2996
2996
  return current;
2997
2997
  }
2998
2998
  function createChild(returnFiber, newChild, lanes) {
2999
- if ("string" === typeof newChild || "number" === typeof newChild)
2999
+ if (
3000
+ ("string" === typeof newChild && "" !== newChild) ||
3001
+ "number" === typeof newChild
3002
+ )
3000
3003
  return (
3001
3004
  (newChild = createFiberFromText(
3002
3005
  "" + newChild,
@@ -3050,7 +3053,10 @@ function ChildReconciler(shouldTrackSideEffects) {
3050
3053
  }
3051
3054
  function updateSlot(returnFiber, oldFiber, newChild, lanes) {
3052
3055
  var key = null !== oldFiber ? oldFiber.key : null;
3053
- if ("string" === typeof newChild || "number" === typeof newChild)
3056
+ if (
3057
+ ("string" === typeof newChild && "" !== newChild) ||
3058
+ "number" === typeof newChild
3059
+ )
3054
3060
  return null !== key
3055
3061
  ? null
3056
3062
  : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes);
@@ -3080,7 +3086,10 @@ function ChildReconciler(shouldTrackSideEffects) {
3080
3086
  newChild,
3081
3087
  lanes
3082
3088
  ) {
3083
- if ("string" === typeof newChild || "number" === typeof newChild)
3089
+ if (
3090
+ ("string" === typeof newChild && "" !== newChild) ||
3091
+ "number" === typeof newChild
3092
+ )
3084
3093
  return (
3085
3094
  (existingChildren = existingChildren.get(newIdx) || null),
3086
3095
  updateTextNode(returnFiber, existingChildren, "" + newChild, lanes)
@@ -3406,7 +3415,8 @@ function ChildReconciler(shouldTrackSideEffects) {
3406
3415
  );
3407
3416
  throwOnInvalidObjectType(returnFiber, newChild);
3408
3417
  }
3409
- return "string" === typeof newChild || "number" === typeof newChild
3418
+ return ("string" === typeof newChild && "" !== newChild) ||
3419
+ "number" === typeof newChild
3410
3420
  ? ((newChild = "" + newChild),
3411
3421
  null !== currentFirstChild && 6 === currentFirstChild.tag
3412
3422
  ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),
@@ -7691,7 +7701,7 @@ function commitRootImpl(root, renderPriorityLevel) {
7691
7701
  lanes = root.finishedLanes;
7692
7702
  supportsUserTimingV3 &&
7693
7703
  (markAndClear("--commit-start-" + lanes),
7694
- markAndClear("--react-version-18.0.0-c0c71a868-20211112"),
7704
+ markAndClear("--react-version-18.0.0-c1220ebdd-20211123"),
7695
7705
  markAndClear("--profiler-version-1"),
7696
7706
  getLaneLabels(),
7697
7707
  markAndClear("--react-lane-labels-" + laneLabels.join(",")),
@@ -8947,7 +8957,7 @@ var roots = new Map(),
8947
8957
  devToolsConfig$jscomp$inline_1061 = {
8948
8958
  findFiberByHostInstance: getInstanceFromTag,
8949
8959
  bundleType: 0,
8950
- version: "18.0.0-c0c71a868-20211112",
8960
+ version: "18.0.0-c1220ebdd-20211123",
8951
8961
  rendererPackageName: "react-native-renderer",
8952
8962
  rendererConfig: {
8953
8963
  getInspectorDataForViewTag: function() {
@@ -8989,7 +8999,7 @@ var internals$jscomp$inline_1359 = {
8989
8999
  scheduleRoot: null,
8990
9000
  setRefreshHandler: null,
8991
9001
  getCurrentFiber: null,
8992
- reconcilerVersion: "18.0.0-c0c71a868-20211112"
9002
+ reconcilerVersion: "18.0.0-c1220ebdd-20211123"
8993
9003
  };
8994
9004
  if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
8995
9005
  var hook$jscomp$inline_1360 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -6,13 +6,11 @@
6
6
  *
7
7
  * @noformat
8
8
  * @flow strict-local
9
- * @generated SignedSource<<cfc4aafaa6b6af5b0a69d4463b8d214d>>
9
+ * @generated SignedSource<<a81ed33269e71024fedad145e843fab0>>
10
10
  *
11
11
  * This file was sync'd from the facebook/react repository.
12
12
  */
13
13
 
14
- /* eslint-disable react-internal/invariant-args */
15
-
16
14
  'use strict';
17
15
 
18
16
  import {type ViewConfig} from './ReactNativeTypes';
@@ -163,6 +163,7 @@ const Text: React.AbstractComponent<
163
163
  {...restProps}
164
164
  {...eventHandlersForText}
165
165
  isHighlighted={isHighlighted}
166
+ isPressable={isPressable}
166
167
  numberOfLines={numberOfLines}
167
168
  selectionColor={selectionColor}
168
169
  style={style}
@@ -162,7 +162,6 @@ const Text: React.AbstractComponent<
162
162
 
163
163
  const hasTextAncestor = useContext(TextAncestor);
164
164
 
165
- //let styleProps: ViewStyleProp = (props.style: any);
166
165
  if (hasTextAncestor) {
167
166
  return (
168
167
  <NativeVirtualText
@@ -19,6 +19,10 @@ type NativeTextProps = $ReadOnly<{
19
19
  ...TextProps,
20
20
  isHighlighted?: ?boolean,
21
21
  selectionColor?: ?ProcessedColorValue,
22
+ // This is only needed for platforms that optimize text hit testing, e.g.,
23
+ // react-native-windows. It can be used to only hit test virtual text spans
24
+ // that have pressable events attached to them.
25
+ isPressable?: ?boolean,
22
26
  }>;
23
27
 
24
28
  export const NativeText: HostComponent<NativeTextProps> =
@@ -26,6 +30,7 @@ export const NativeText: HostComponent<NativeTextProps> =
26
30
  validAttributes: {
27
31
  ...ReactNativeViewAttributes.UIView,
28
32
  isHighlighted: true,
33
+ isPressable: true,
29
34
  numberOfLines: true,
30
35
  ellipsizeMode: true,
31
36
  allowFontScaling: true,
@@ -59,6 +64,7 @@ export const NativeVirtualText: HostComponent<NativeTextProps> =
59
64
  validAttributes: {
60
65
  ...ReactNativeViewAttributes.UIView,
61
66
  isHighlighted: true,
67
+ isPressable: true,
62
68
  maxFontSizeMultiplier: true,
63
69
  },
64
70
  uiViewClassName: 'RCTVirtualText',
@@ -150,6 +150,7 @@ inline void fromRawValue(const PropsParserContext &context, const RawValue &valu
150
150
  if (value.hasType<Float>()) {
151
151
  auto number = (Float)value;
152
152
  result = {number, number, number, number};
153
+ return;
153
154
  }
154
155
 
155
156
  if (value.hasType<better::map<std::string, Float>>()) {
@@ -142,8 +142,6 @@
142
142
  <SubSystem>Console</SubSystem>
143
143
  <GenerateWindowsMetadata>true</GenerateWindowsMetadata>
144
144
  <ModuleDefinitionFile>Microsoft.ReactNative.def</ModuleDefinitionFile>
145
- <!-- #8824: The Hermes NuGet package adds itself to be linked, but we go through Hermes Shim instead. Ignore the unused DLL until using NuGet package with "HermesNoLink" -->
146
- <AdditionalOptions>/IGNORE:4199</AdditionalOptions>
147
145
  </Link>
148
146
  <Midl>
149
147
  <AdditionalIncludeDirectories>$(ReactNativeWindowsDir)Microsoft.ReactNative\Views\cppwinrt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -37,5 +37,11 @@
37
37
  <HermesNoDLLCopy Condition="'$(UseHermes)' != 'true'">true</HermesNoDLLCopy>
38
38
  </PropertyGroup>
39
39
 
40
+ <!-- Should match entry in $(ReactNativeWindowsDir)vnext\Directory.Build.props -->
41
+ <PropertyGroup Label="NuGet" Condition="'$(MSBuildProjectExtension)' == '.vcxproj'">
42
+ <!--See https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#restore-target-->
43
+ <RestoreUseStaticGraphEvaluation Condition="'$(BuildingInsideVisualStudio)' == 'true'">true</RestoreUseStaticGraphEvaluation>
44
+ </PropertyGroup>
45
+
40
46
  <Import Project="$(ReactNativeWindowsDir)\PropertySheets\Generated\PackageVersion.g.props" />
41
47
  </Project>
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <!--
2
+ <!--
3
3
  Copyright (c) Microsoft Corporation.
4
4
  Licensed under the MIT License.
5
5
 
@@ -8,9 +8,15 @@
8
8
  Microsoft.ReactNative.
9
9
  -->
10
10
  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets="ReactNativeWindowsValidateProps">
11
-
11
+
12
12
  <Target Name="ReactNativeWindowsValidateProps">
13
13
  <Error Condition="'$(ReactNativeWindowsDirNotSet)' == 'true'" Text="'ReactNativeWindowsDir' should be set to the resolved location of the `react-native-windows` package. See https://aka.ms/ReactNativeWindowsDir." />
14
14
  </Target>
15
15
 
16
+ <!-- Should match entry in $(ReactNativeWindowsDir)vnext\Directory.Build.targets -->
17
+ <!--Allow implicitly restoring PackageReference dependencies in C++ projects using the Visual Studio IDE.-->
18
+ <Target Name="BeforeResolveReferences" Condition="'$(BuildingInsideVisualStudio)' == 'true' AND '$(MSBuildProjectExtension)' == '.vcxproj'">
19
+ <MSBuild Projects="$(MSBuildProjectFile)" Targets="Restore" />
20
+ </Target>
21
+
16
22
  </Project>
@@ -10,7 +10,7 @@
10
10
  -->
11
11
  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12
12
  <PropertyGroup>
13
- <ReactNativeWindowsVersion>0.0.0-canary.429</ReactNativeWindowsVersion>
13
+ <ReactNativeWindowsVersion>0.0.0-canary.433</ReactNativeWindowsVersion>
14
14
  <ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
15
15
  <ReactNativeWindowsMinor>0</ReactNativeWindowsMinor>
16
16
  <ReactNativeWindowsPatch>0</ReactNativeWindowsPatch>
@@ -12,6 +12,8 @@
12
12
  <HermesPackage Condition="'$(HermesPackage)' == '' And Exists('$(PkgReactNative_Hermes_Windows)')">$(PkgReactNative_Hermes_Windows)</HermesPackage>
13
13
  <HermesPackage Condition="'$(HermesPackage)' == ''">$(NuGetPackageRoot)\ReactNative.Hermes.Windows\$(HermesVersion)</HermesPackage>
14
14
  <EnableHermesInspectorInReleaseFlavor Condition="'$(EnableHermesInspectorInReleaseFlavor)' == ''">false</EnableHermesInspectorInReleaseFlavor>
15
+ <!-- Disable linking Hermes into the output in cases where we need to fully rely on HermesShim -->
16
+ <HermesNoLink Condition="'$(HermesNoLink)' == '' and '$(Configuration)' == 'Release' and '$(EnableHermesInspectorInReleaseFlavor)' != 'true'">true</HermesNoLink>
15
17
  <!-- Use Hermes bytecode bundles provided by metro hermes compiler when available -->
16
18
  <EnableDevServerHBCBundles Condition="'$(EnableDevServerHBCBundles)' == ''">false</EnableDevServerHBCBundles>
17
19
 
@@ -98,8 +98,6 @@ WinRTWebSocketResource::WinRTWebSocketResource(
98
98
  IDataWriter &&writer,
99
99
  vector<ChainValidationResult> &&certExceptions)
100
100
  : m_socket{std::move(socket)}, m_writer{std::move(writer)} {
101
- m_socket.MessageReceived({this, &WinRTWebSocketResource::OnMessageReceived});
102
-
103
101
  for (const auto &certException : certExceptions) {
104
102
  m_socket.Control().IgnorableServerCertificateErrors().Append(certException);
105
103
  }
@@ -288,36 +286,6 @@ fire_and_forget WinRTWebSocketResource::PerformClose() noexcept {
288
286
  m_closePerformed.Set();
289
287
  }
290
288
 
291
- void WinRTWebSocketResource::OnMessageReceived(
292
- IWebSocket const &sender,
293
- IMessageWebSocketMessageReceivedEventArgs const &args) {
294
- try {
295
- string response;
296
- IDataReader reader = args.GetDataReader();
297
- auto len = reader.UnconsumedBufferLength();
298
- if (args.MessageType() == SocketMessageType::Utf8) {
299
- reader.UnicodeEncoding(UnicodeEncoding::Utf8);
300
- vector<uint8_t> data(len);
301
- reader.ReadBytes(data);
302
-
303
- response = string(CheckedReinterpretCast<char *>(data.data()), data.size());
304
- } else {
305
- auto buffer = reader.ReadBuffer(len);
306
- winrt::hstring data = CryptographicBuffer::EncodeToBase64String(buffer);
307
-
308
- response = winrt::to_string(std::wstring_view(data));
309
- }
310
-
311
- if (m_readHandler) {
312
- m_readHandler(response.length(), response, args.MessageType() == SocketMessageType::Binary);
313
- }
314
- } catch (hresult_error const &e) {
315
- if (m_errorHandler) {
316
- m_errorHandler({HResultToString(e), ErrorType::Receive});
317
- }
318
- }
319
- }
320
-
321
289
  void WinRTWebSocketResource::Synchronize() noexcept {
322
290
  // Ensure sequence of other operations
323
291
  if (m_connectRequested) {
@@ -330,6 +298,35 @@ void WinRTWebSocketResource::Synchronize() noexcept {
330
298
  #pragma region IWebSocketResource
331
299
 
332
300
  void WinRTWebSocketResource::Connect(string &&url, const Protocols &protocols, const Options &options) noexcept {
301
+ m_socket.MessageReceived(
302
+ [self = shared_from_this()](IWebSocket const &sender, IMessageWebSocketMessageReceivedEventArgs const &args) {
303
+ try {
304
+ string response;
305
+ IDataReader reader = args.GetDataReader();
306
+ auto len = reader.UnconsumedBufferLength();
307
+ if (args.MessageType() == SocketMessageType::Utf8) {
308
+ reader.UnicodeEncoding(UnicodeEncoding::Utf8);
309
+ vector<uint8_t> data(len);
310
+ reader.ReadBytes(data);
311
+
312
+ response = string(CheckedReinterpretCast<char *>(data.data()), data.size());
313
+ } else {
314
+ auto buffer = reader.ReadBuffer(len);
315
+ winrt::hstring data = CryptographicBuffer::EncodeToBase64String(buffer);
316
+
317
+ response = winrt::to_string(std::wstring_view(data));
318
+ }
319
+
320
+ if (self->m_readHandler) {
321
+ self->m_readHandler(response.length(), response, args.MessageType() == SocketMessageType::Binary);
322
+ }
323
+ } catch (hresult_error const &e) {
324
+ if (self->m_errorHandler) {
325
+ self->m_errorHandler({HResultToString(e), ErrorType::Receive});
326
+ }
327
+ }
328
+ });
329
+
333
330
  m_readyState = ReadyState::Connecting;
334
331
 
335
332
  for (const auto &header : options) {
@@ -51,9 +51,6 @@ class WinRTWebSocketResource : public IWebSocketResource, public std::enable_sha
51
51
  winrt::fire_and_forget PerformWrite(std::string &&message, bool isBinary) noexcept;
52
52
  winrt::fire_and_forget PerformClose() noexcept;
53
53
 
54
- void OnMessageReceived(
55
- winrt::Windows::Networking::Sockets::IWebSocket const &sender,
56
- winrt::Windows::Networking::Sockets::IMessageWebSocketMessageReceivedEventArgs const &args);
57
54
  void Synchronize() noexcept;
58
55
 
59
56
  public:
@@ -41,6 +41,12 @@ struct AccessibilityManagerSpec_setAccessibilityContentSizeMultipliers_JSMultipl
41
41
  std::optional<double> accessibilityExtraExtraExtraLarge;
42
42
  };
43
43
 
44
+ REACT_STRUCT(AccessibilityManagerSpec_announceForAccessibilityWithOptions_options)
45
+ struct AccessibilityManagerSpec_announceForAccessibilityWithOptions_options {
46
+ REACT_FIELD(queue)
47
+ std::optional<bool> queue;
48
+ };
49
+
44
50
  struct AccessibilityManagerSpec : winrt::Microsoft::ReactNative::TurboModuleSpec {
45
51
  static constexpr auto methods = std::tuple{
46
52
  Method<void(Callback<bool>, Callback<::React::JSValue>) noexcept>{0, L"getCurrentBoldTextState"},
@@ -52,6 +58,7 @@ struct AccessibilityManagerSpec : winrt::Microsoft::ReactNative::TurboModuleSpec
52
58
  Method<void(AccessibilityManagerSpec_setAccessibilityContentSizeMultipliers_JSMultipliers) noexcept>{6, L"setAccessibilityContentSizeMultipliers"},
53
59
  Method<void(double) noexcept>{7, L"setAccessibilityFocus"},
54
60
  Method<void(std::string) noexcept>{8, L"announceForAccessibility"},
61
+ Method<void(std::string, AccessibilityManagerSpec_announceForAccessibilityWithOptions_options) noexcept>{9, L"announceForAccessibilityWithOptions"},
55
62
  };
56
63
 
57
64
  template <class TModule>
@@ -103,6 +110,11 @@ struct AccessibilityManagerSpec : winrt::Microsoft::ReactNative::TurboModuleSpec
103
110
  "announceForAccessibility",
104
111
  " REACT_METHOD(announceForAccessibility) void announceForAccessibility(std::string announcement) noexcept { /* implementation */ }}\n"
105
112
  " REACT_METHOD(announceForAccessibility) static void announceForAccessibility(std::string announcement) noexcept { /* implementation */ }}\n");
113
+ REACT_SHOW_METHOD_SPEC_ERRORS(
114
+ 9,
115
+ "announceForAccessibilityWithOptions",
116
+ " REACT_METHOD(announceForAccessibilityWithOptions) void announceForAccessibilityWithOptions(std::string announcement, AccessibilityManagerSpec_announceForAccessibilityWithOptions_options && options) noexcept { /* implementation */ }}\n"
117
+ " REACT_METHOD(announceForAccessibilityWithOptions) static void announceForAccessibilityWithOptions(std::string announcement, AccessibilityManagerSpec_announceForAccessibilityWithOptions_options && options) noexcept { /* implementation */ }}\n");
106
118
  }
107
119
  };
108
120
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-windows",
3
- "version": "0.0.0-canary.429",
3
+ "version": "0.0.0-canary.433",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,7 +27,7 @@
27
27
  "@react-native-community/cli-platform-android": "^6.0.0",
28
28
  "@react-native-community/cli-platform-ios": "^6.0.0",
29
29
  "@react-native-windows/cli": "0.0.0-canary.107",
30
- "@react-native-windows/virtualized-list": "0.0.0-canary.21",
30
+ "@react-native-windows/virtualized-list": "0.0.0-canary.22",
31
31
  "@react-native/assets": "1.0.0",
32
32
  "@react-native/normalize-color": "2.0.0",
33
33
  "@react-native/polyfills": "2.0.0",
@@ -73,7 +73,7 @@
73
73
  "metro-config": "^0.66.0",
74
74
  "prettier": "^2.4.1",
75
75
  "react": "17.0.2",
76
- "react-native": "0.0.0-20211125-2009-3ba237b66",
76
+ "react-native": "0.0.0-20211202-2008-9e2ec4d3d",
77
77
  "react-native-platform-override": "^1.6.2",
78
78
  "react-refresh": "^0.4.0",
79
79
  "react-shallow-renderer": "16.14.1",
@@ -81,7 +81,7 @@
81
81
  },
82
82
  "peerDependencies": {
83
83
  "react": "17.0.2",
84
- "react-native": "0.0.0-20211125-2009-3ba237b66"
84
+ "react-native": "0.0.0-20211202-2008-9e2ec4d3d"
85
85
  },
86
86
  "beachball": {
87
87
  "defaultNpmTag": "canary",
@@ -31,7 +31,6 @@
31
31
  // Abe Dolinger <https://github.com/256hz>
32
32
  // Dominique Richard <https://github.com/doumart>
33
33
  // Mohamed Shaban <https://github.com/drmas>
34
- // André Krüger <https://github.com/akrger>
35
34
  // Jérémy Barbet <https://github.com/jeremybarbet>
36
35
  // Christian Ost <https://github.com/ca057>
37
36
  // David Sheldrick <https://github.com/ds300>
@@ -9590,8 +9589,8 @@ interface NativeModulesStatic {
9590
9589
  * Native Modules written in ObjectiveC/Swift/Java exposed via the RCTBridge
9591
9590
  * Define lazy getters for each module. These will return the module if already loaded, or load it if not.
9592
9591
  * See https://reactnative.dev/docs/native-modules-ios
9593
- * Use:
9594
- * <code>const MyModule = NativeModules.ModuleName</code>
9592
+ * @example
9593
+ * const MyModule = NativeModules.ModuleName
9595
9594
  */
9596
9595
  export const NativeModules: NativeModulesStatic;
9597
9596
  export const Platform:
@@ -9730,8 +9729,8 @@ declare global {
9730
9729
 
9731
9730
  /**
9732
9731
  * This variable is set to true when react-native is running in Dev mode
9733
- * Typical usage:
9734
- * <code> if (__DEV__) console.log('Running in dev mode')</code>
9732
+ * @example
9733
+ * if (__DEV__) console.log('Running in dev mode')
9735
9734
  */
9736
9735
  const __DEV__: boolean;
9737
9736
 
@@ -1,68 +0,0 @@
1
- /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @flow
8
- * @format
9
- */
10
-
11
- import ReactNativeViewAttributes from '../Components/View/ReactNativeViewAttributes';
12
- import UIManager from '../ReactNative/UIManager';
13
- import {type HostComponent} from '../Renderer/shims/ReactNativeTypes';
14
- import createReactNativeComponentClass from '../Renderer/shims/createReactNativeComponentClass';
15
- import {type ProcessedColorValue} from '../StyleSheet/processColor';
16
- import {type TextProps} from './TextProps';
17
-
18
- type NativeTextProps = $ReadOnly<{
19
- ...TextProps,
20
- isHighlighted?: ?boolean,
21
- isPressable?: ?boolean, // [Windows]
22
- selectionColor?: ?ProcessedColorValue,
23
- }>;
24
-
25
- export const NativeText: HostComponent<NativeTextProps> =
26
- (createReactNativeComponentClass('RCTText', () => ({
27
- validAttributes: {
28
- ...ReactNativeViewAttributes.UIView,
29
- isHighlighted: true,
30
- isPressable: true, // [Windows]
31
- numberOfLines: true,
32
- ellipsizeMode: true,
33
- allowFontScaling: true,
34
- maxFontSizeMultiplier: true,
35
- disabled: true,
36
- selectable: true,
37
- selectionColor: true,
38
- adjustsFontSizeToFit: true,
39
- minimumFontScale: true,
40
- textBreakStrategy: true,
41
- onTextLayout: true,
42
- onInlineViewLayout: true,
43
- dataDetectorType: true,
44
- android_hyphenationFrequency: true,
45
- },
46
- directEventTypes: {
47
- topTextLayout: {
48
- registrationName: 'onTextLayout',
49
- },
50
- topInlineViewLayout: {
51
- registrationName: 'onInlineViewLayout',
52
- },
53
- },
54
- uiViewClassName: 'RCTText',
55
- })): any);
56
-
57
- export const NativeVirtualText: HostComponent<NativeTextProps> =
58
- !global.RN$Bridgeless && !UIManager.hasViewManagerConfig('RCTVirtualText')
59
- ? NativeText
60
- : (createReactNativeComponentClass('RCTVirtualText', () => ({
61
- validAttributes: {
62
- ...ReactNativeViewAttributes.UIView,
63
- isHighlighted: true,
64
- isPressable: true, // [Windows]
65
- maxFontSizeMultiplier: true,
66
- },
67
- uiViewClassName: 'RCTVirtualText',
68
- })): any);