Skip to content

Commit 08964d3

Browse files
committed
Merge branch 'main' of git://github.com/microsoft/react-native-macos into remove-postinstall
2 parents 43d637b + 5ad4444 commit 08964d3

File tree

7 files changed

+121
-71
lines changed

7 files changed

+121
-71
lines changed

.ado/apple-integration.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,15 @@ variables:
44
trigger:
55
branches:
66
include:
7-
# GH #948: Disable Integration on main, as we are not currently stable
8-
# - main
7+
- main
98
- '*-stable'
109
paths:
1110
exclude:
1211
- '*.md'
1312
pr:
1413
branches:
1514
include:
16-
# GH #948: Disable Integration on main, as we are not currently stable
17-
# - main
15+
- main
1816
- '*-stable'
1917
paths:
2018
exclude:
@@ -83,6 +81,7 @@ jobs:
8381
displayName: Bundle JavaScript
8482
workingDirectory: react-native-test-app/example
8583
- bash: |
84+
rm macos/Podfile.lock
8685
pod install --project-directory=macos
8786
displayName: Install Pods
8887
workingDirectory: react-native-test-app/example

Libraries/Components/Pressable/Pressable.js

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ import type {
2727
LayoutEvent,
2828
MouseEvent,
2929
PressEvent,
30+
// [TODO(macOS GH#774)
31+
FocusEvent,
32+
BlurEvent,
33+
KeyEvent,
34+
// ]TODO(macOS GH#774)
3035
} from '../../Types/CoreEventTypes';
3136
import type {DraggedTypesType} from '../View/DraggedType'; // TODO(macOS GH#774)
3237
import View from '../View/View';
@@ -134,6 +139,40 @@ type Props = $ReadOnly<{|
134139
*/
135140
onPressOut?: ?(event: PressEvent) => mixed,
136141

142+
// [TODO(macOS GH#774)
143+
/**
144+
* Called after the element is focused.
145+
*/
146+
onFocus?: ?(event: FocusEvent) => mixed,
147+
148+
/**
149+
* Called after the element loses focus.
150+
*/
151+
onBlur?: ?(event: BlurEvent) => mixed,
152+
153+
/**
154+
* Called after a key down event is detected.
155+
*/
156+
onKeyDown?: ?(event: KeyEvent) => mixed,
157+
158+
/**
159+
* Called after a key up event is detected.
160+
*/
161+
onKeyUp?: ?(event: KeyEvent) => mixed,
162+
163+
/**
164+
* Array of keys to receive key down events for
165+
* For arrow keys, add "ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown",
166+
*/
167+
validKeysDown?: ?Array<string>,
168+
169+
/**
170+
* Array of keys to receive key up events for
171+
* For arrow keys, add "ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown",
172+
*/
173+
validKeysUp?: ?Array<string>,
174+
// ]TODO(macOS GH#774)
175+
137176
/**
138177
* Either view styles or a function that receives a boolean reflecting whether
139178
* the component is currently pressed and returns view styles.
@@ -200,6 +239,12 @@ function Pressable(props: Props, forwardedRef): React.Node {
200239
onPress,
201240
onPressIn,
202241
onPressOut,
242+
// [TODO(macOS GH#774)
243+
onFocus,
244+
onBlur,
245+
onKeyDown,
246+
onKeyUp,
247+
// ]TODO(macOS GH#774)
203248
pressRetentionOffset,
204249
style,
205250
testOnly_pressed,
@@ -266,6 +311,12 @@ function Pressable(props: Props, forwardedRef): React.Node {
266311
onPressOut(event);
267312
}
268313
},
314+
// [TODO(macOS GH#774)
315+
onFocus,
316+
onBlur,
317+
onKeyDown,
318+
onKeyUp,
319+
// ]TODO(macOS GH#774)
269320
}),
270321
[
271322
android_disableSound,
@@ -282,6 +333,12 @@ function Pressable(props: Props, forwardedRef): React.Node {
282333
onPress,
283334
onPressIn,
284335
onPressOut,
336+
// [TODO(macOS GH#774)
337+
onFocus,
338+
onBlur,
339+
onKeyDown,
340+
onKeyUp,
341+
// ]TODO(macOS GH#774)
285342
pressRetentionOffset,
286343
setPressed,
287344
unstable_pressDelay,

Libraries/Pressability/Pressability.js

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -466,21 +466,6 @@ export default class Pressability {
466466
},
467467
};
468468

469-
const keyEventHandlers = {
470-
onKeyDown: (event: KeyEvent): void => {
471-
const {onKeyDown} = this._config;
472-
if (onKeyDown != null) {
473-
onKeyDown(event);
474-
}
475-
},
476-
onKeyUp: (event: KeyEvent): void => {
477-
const {onKeyUp} = this._config;
478-
if (onKeyUp != null) {
479-
onKeyUp(event);
480-
}
481-
},
482-
};
483-
484469
const responderEventHandlers = {
485470
onStartShouldSetResponder: (): boolean => {
486471
const {disabled} = this._config;
@@ -636,11 +621,28 @@ export default class Pressability {
636621
},
637622
};
638623

624+
// [TODO(macOS GH#774)
625+
const keyboardEventHandlers = {
626+
onKeyDown: (event: KeyEvent): void => {
627+
const {onKeyDown} = this._config;
628+
if (onKeyDown != null) {
629+
onKeyDown(event);
630+
}
631+
},
632+
onKeyUp: (event: KeyEvent): void => {
633+
const {onKeyUp} = this._config;
634+
if (onKeyUp != null) {
635+
onKeyUp(event);
636+
}
637+
},
638+
};
639+
// ]TODO(macOS GH#774)
640+
639641
return {
640642
...focusEventHandlers,
641643
...responderEventHandlers,
642644
...mouseEventHandlers,
643-
...keyEventHandlers,
645+
...keyboardEventHandlers, // [TODO(macOS GH#774)]
644646
};
645647
}
646648

Libraries/Text/TextNativeComponent.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ export const NativeText: HostComponent<NativeTextProps> = (createReactNativeComp
4242
onInlineViewLayout: true,
4343
dataDetectorType: true,
4444
android_hyphenationFrequency: true,
45+
tooltip: true, // [TODO(macOS GH#774)]
4546
},
4647
directEventTypes: {
4748
topTextLayout: {

React/Views/RCTView.m

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1393,19 +1393,6 @@ - (BOOL)acceptsFirstResponder
13931393
return ([self focusable] && [NSApp isFullKeyboardAccessEnabled]) || [super acceptsFirstResponder];
13941394
}
13951395

1396-
- (BOOL)performKeyEquivalent:(NSEvent *)theEvent
1397-
{
1398-
if (self.onClick != nil &&
1399-
[self focusable] &&
1400-
[[self window] firstResponder] == self) {
1401-
if ([[theEvent characters] isEqualToString:@" "] || [[theEvent characters] isEqualToString:@"\r"]) {
1402-
self.onClick(nil);
1403-
return YES;
1404-
}
1405-
}
1406-
return [super performKeyEquivalent:theEvent];
1407-
}
1408-
14091396
- (void)updateTrackingAreas
14101397
{
14111398
if (_trackingArea) {

packages/rn-tester/Podfile.lock

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -538,12 +538,12 @@ EXTERNAL SOURCES:
538538
:path: "../../ReactCommon/yoga"
539539

540540
SPEC CHECKSUMS:
541-
boost: af377b4e3b1e398af5372741cfac107a2ae7e331
542-
boost-for-react-native: d5ad1140010aa8cb622323a781ecbeab4425d19a
541+
boost: 613e39eac4239cc72b15421247b5ab05361266a2
542+
boost-for-react-native: 8f7c9ecfe357664c072ffbe2432569667cbf1f1b
543543
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
544-
DoubleConversion: 8dfb8e6a364e688caa15f66896caee7845035144
545-
FBLazyVector: ecacdf60242a748ec88abf375fa537a477ce7cce
546-
FBReactNativeSpec: c24354727fa9ae1be804a71ee8ab825a1d7e4d5a
544+
DoubleConversion: ed15e075aa758ac0e4c1f8b830bd4e4d40d669e8
545+
FBLazyVector: 94e8d07547a0c1ea3a3b3f380a26d015b80018c1
546+
FBReactNativeSpec: 261385871fd227f3b85571fa8c4f54867ffa17f2
547547
Flipper: 30e8eeeed6abdc98edaf32af0cda2f198be4b733
548548
Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c
549549
Flipper-DoubleConversion: 57ffbe81ef95306cc9e69c4aa3aeeeeb58a6a28c
@@ -554,40 +554,40 @@ SPEC CHECKSUMS:
554554
Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541
555555
FlipperKit: d8d346844eca5d9120c17d441a2f38596e8ed2b9
556556
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
557-
glog: 1ef03a8a5f8e1978691d927bb31c0935ceb005f8
557+
glog: 42c4bf47024808486e90b25ea9e5ac3959047641
558558
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
559559
OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b
560-
RCT-Folly: 1870fc2f6c34038cae3556a1af98f979f2ce63d9
561-
RCTRequired: 6f74fd96b062938e33bfb9f532715278591f81af
562-
RCTTypeSafety: e81fb08d37c83fe3436a444932a592bd79cc8c2b
563-
React: c7f87233b4b3b94fb27ffc4656d820a84d4750b0
564-
React-callinvoker: 2188feda5c50e0e1bb4095a0d58e7379e90f35d0
565-
React-Core: 1963b1b00bfe0b7bea4189570cc7879e99f0b77b
566-
React-CoreModules: 76a95db816a348df5f7a81e8e30e7ec588a50458
567-
React-cxxreact: c6fc2fbeed038a7d930e9de52dfa5b515124232d
568-
React-jsi: 52cf528fe8423cb62ce736ab63ad0b26f1cff96e
569-
React-jsiexecutor: 59763a1806b0d51d7b6909de4748055ddee2aac5
570-
React-jsinspector: 3289457acc8f5ddd8b6532cc52b5148abe4c3850
571-
React-logger: 72dba72411d323584bb9b201b67963a00f5b6cdb
572-
React-perflogger: aa748460926457aa289b9729832b94072e955f8e
573-
React-RCTActionSheet: 2e67249f09c734e0b15f651c68a4ae9138ef52ba
574-
React-RCTAnimation: 2142e57698ad0b3cfa80fe0b7d3ea3fb3d384fe9
575-
React-RCTBlob: 1fba774b7c9cdf07b3bf248b46c75d5bbfe7fdde
576-
React-RCTImage: a41f786fed42dd712af8addf67498a3e202b448b
577-
React-RCTLinking: 9e2688e00d538e7d99d69fb7de91265f69d721f1
578-
React-RCTNetwork: aa51591e8575c96cc161471ba07dcceb81f94558
579-
React-RCTPushNotification: 03d2e955289511231da75ace7d08d2e00d27397b
580-
React-RCTSettings: 3d97a65258ef5d8adae59d94b98b268c49069edf
581-
React-RCTTest: b12caca2d64c764e1c9b271f26a46134da011e86
582-
React-RCTText: c03196bf49ab84a0ac26723c15d7c8feabf26470
583-
React-RCTVibration: fc9b3c4789dfbae38b4970ee2f9ddedc38078280
584-
React-runtimeexecutor: 5acb34ce3f3cb453db416a4691c637545d464bf7
585-
React-TurboModuleCxx-RNW: 84be9c2264b05327ba1133dcf1c8e67a4c238a57
586-
React-TurboModuleCxx-WinRTPort: 365cf72f8bb5e27f81113097cd263a0824d7df7e
587-
ReactCommon: 71bfd2766343c173f1180466328b36fad23556fa
588-
Yoga: ff04bdfd8d4c638a484657a809d89a7c56c87e5e
560+
RCT-Folly: 5c589d0de10e841479ad79352fae591dc0e9533a
561+
RCTRequired: 7e003851595a3883e2326b3c7a2633a10365859c
562+
RCTTypeSafety: a4a36ce7733c51e79f9d2b9e633e3341c8832ed8
563+
React: 015423b3d3ec0926d1b72e7abab73f9d791d8129
564+
React-callinvoker: c1a30fcc5e4889f4aeb93e118666740c57b167f8
565+
React-Core: e7102d7ab9d1d6002d877b001055e4c055cd781c
566+
React-CoreModules: 36725cb8a9341d7c54a99c4d9fb18c2c4caf5919
567+
React-cxxreact: 964de8735c9f3a1458d59d361c1f444e7906b451
568+
React-jsi: 10c7ff0c757ec72ffe0eb0c8e340a60ee89ae5e9
569+
React-jsiexecutor: 862f89646e412c7391ef9dd582d5633c7d71cdd2
570+
React-jsinspector: 4e946ea8cbac20e985e424d1987fc8a0facc6f6d
571+
React-logger: 7d21716ac087dea8339883390805b5b4f8234d30
572+
React-perflogger: 6f8630f7462bad0e3b4d8b0628b3f01aaba4bcd4
573+
React-RCTActionSheet: fad246587ca30007784baeb79e48db2350e43d36
574+
React-RCTAnimation: f8909fef3cc338208a91f73f7e1c7fb70ce4061c
575+
React-RCTBlob: 2542aa7bbdfb59541690f537bf0fb83b6c36dc08
576+
React-RCTImage: 6032f09e63e8b2a2c2c05b02e8cc721ea5ebcda2
577+
React-RCTLinking: 23b465ef446538956a11762b8614fc5bbb689085
578+
React-RCTNetwork: fb3ccb9ff976a1cbf1d9e8dd035a188e45f0ec1d
579+
React-RCTPushNotification: 7d57b5f7680509d3e70121ba9b675a5cec4ddf0e
580+
React-RCTSettings: 369d93e991ddb10bd6ed49410b860485017d6e76
581+
React-RCTTest: c79cfff7f622459180b6ce5b3cef303ddc118713
582+
React-RCTText: 268743ffce26a948a96e1eb2b9fcbd0f0c2857ab
583+
React-RCTVibration: 9f85d8f2724f43ab0a1ba26294969427c7e33dcf
584+
React-runtimeexecutor: 38cffec648dad50ecdff565421088f233f3b9dfe
585+
React-TurboModuleCxx-RNW: f2e32cbfced49190a61d66c993a8975de79a158a
586+
React-TurboModuleCxx-WinRTPort: e2343fde0ddc6555514fcce2efa368d3328ea947
587+
ReactCommon: 0fc3ccbfe74eac6e8603406887a3a86ac37f9373
588+
Yoga: 711b614df68f9280a788f60c9a4c39b8a2e46319
589589
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
590590

591-
PODFILE CHECKSUM: 0d4a59b8a9a45fb5448c60c0bc782f1313a9b0a0
591+
PODFILE CHECKSUM: a09d2f5789dd254e2ffc7291c405c0784adf420d
592592

593593
COCOAPODS: 1.11.2

packages/rn-tester/js/examples/Pressable/PressableExample.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,12 @@ function PressableFeedbackEvents() {
9898
testID="pressable_feedback_events_button"
9999
accessibilityLabel="pressable feedback events"
100100
accessibilityRole="button"
101-
onHoverIn={() => appendEvent('hoverIn')} // [TODO(macOS GH#774)
102-
onHoverOut={() => appendEvent('hoverOut')} // ]TODO(macOS GH#774)
101+
// [TODO(macOS GH#774)
102+
onHoverIn={() => appendEvent('hoverIn')}
103+
onHoverOut={() => appendEvent('hoverOut')}
104+
onFocus={() => appendEvent('focus')}
105+
onBlur={() => appendEvent('blur')}
106+
// ]TODO(macOS GH#774)
103107
onPress={() => appendEvent('press')}
104108
onPressIn={() => appendEvent('pressIn')}
105109
onPressOut={() => appendEvent('pressOut')}

0 commit comments

Comments
 (0)