react-native-external-keyboard 0.6.8 → 0.7.1

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 (123) hide show
  1. package/README.md +37 -129
  2. package/android/src/main/java/com/externalkeyboard/ExternalKeyboardViewPackage.java +2 -0
  3. package/android/src/main/java/com/externalkeyboard/helper/FocusHelper.java +70 -0
  4. package/android/src/main/java/com/externalkeyboard/views/ExternalKeyboardLockView/ExternalKeyboardLockView.java +115 -0
  5. package/android/src/main/java/com/externalkeyboard/views/ExternalKeyboardLockView/ExternalKeyboardLockViewManager.java +32 -0
  6. package/android/src/main/java/com/externalkeyboard/views/ExternalKeyboardLockView/LockService.java +44 -0
  7. package/android/src/newarch/ExternalKeyboardLockViewManagerSpec.java +8 -0
  8. package/android/src/oldarch/ExternalKeyboardLockViewManagerSpec.java +12 -0
  9. package/ios/Delegates/RNCEKVFocusOrderDelegate/RNCEKVFocusGuideDelegate/RNCEKVFocusGuideDelegate.h +36 -0
  10. package/ios/Delegates/RNCEKVFocusOrderDelegate/RNCEKVFocusGuideDelegate/RNCEKVFocusGuideDelegate.mm +150 -0
  11. package/ios/Delegates/RNCEKVFocusOrderDelegate/RNCEKVFocusOrderDelegate.h +14 -0
  12. package/ios/Delegates/RNCEKVFocusOrderDelegate/RNCEKVFocusOrderDelegate.mm +98 -349
  13. package/ios/Extensions/RCTTextInputComponentView+RNCEKVExternalKeyboard.h +1 -1
  14. package/ios/Extensions/RCTTextInputComponentView+RNCEKVExternalKeyboard.mm +11 -3
  15. package/ios/Extensions/UIViewController+RNCEKVExternalKeyboard.h +1 -1
  16. package/ios/Extensions/UIViewController+RNCEKVExternalKeyboard.mm +17 -17
  17. package/ios/Helpers/RNCEKVFocusGuideHelper/RNCEKVFocusGuideHelper.h +32 -0
  18. package/ios/Helpers/RNCEKVFocusGuideHelper/RNCEKVFocusGuideHelper.mm +81 -0
  19. package/ios/Helpers/RNCEKVSwizzlingHelper/RNCEKVSwizzlingHelper.h +16 -0
  20. package/ios/Helpers/RNCEKVSwizzlingHelper/RNCEKVSwizzlingHelper.mm +27 -0
  21. package/ios/Modules/RNCEKVExternalKeyboardModule.mm +3 -3
  22. package/ios/Services/RNCEKVFocusLinkObserver.h +7 -1
  23. package/ios/Services/RNCEKVFocusLinkObserver.mm +31 -6
  24. package/ios/Services/RNCEKVKeyboardOrderManager/RNCEKVKeyboardOrderManager.h +17 -0
  25. package/ios/Services/RNCEKVKeyboardOrderManager/RNCEKVKeyboardOrderManager.mm +15 -0
  26. package/ios/Services/{RNCEKVRelashioship.h → RNCEKVKeyboardOrderManager/RNCEKVOrderRelationship/RNCEKVOrderRelationship.h} +8 -7
  27. package/ios/Services/{RNCEKVRelashioship.mm → RNCEKVKeyboardOrderManager/RNCEKVOrderRelationship/RNCEKVOrderRelationship.mm} +36 -13
  28. package/ios/Services/RNCEKVOrderLinking.h +2 -7
  29. package/ios/Services/RNCEKVOrderLinking.mm +27 -64
  30. package/ios/Services/RNCEKVOrderSubscriber.h +4 -3
  31. package/ios/Services/RNCEKVOrderSubscriber.mm +2 -1
  32. package/ios/Views/RNCEKVExternalKeyboardLockView/RNCEKVExternalKeyboardLockView.h +38 -0
  33. package/ios/Views/RNCEKVExternalKeyboardLockView/RNCEKVExternalKeyboardLockView.mm +62 -0
  34. package/ios/Views/RNCEKVExternalKeyboardLockView/RNCEKVExternalKeyboardLockViewManager.h +14 -0
  35. package/ios/Views/RNCEKVExternalKeyboardLockView/RNCEKVExternalKeyboardLockViewManager.mm +25 -0
  36. package/ios/Views/RNCEKVExternalKeyboardView/Helpers/RNCEKVFabricEventHelper/RNCEKVFabricEventHelper.mm +6 -4
  37. package/ios/Views/RNCEKVExternalKeyboardView/RNCEKVExternalKeyboardView.mm +2 -2
  38. package/ios/Views/RNCEKVKeyboardFocusGroupView/RNCEKVKeyboardFocusGroup.mm +0 -1
  39. package/ios/Views/RNCEKVTextInputFocusWrapper/RNCEKVTextInputFocusWrapper.mm +1 -15
  40. package/lib/commonjs/components/KeyboardFocusLock/FocusFrame/FocusFrame.android.js +21 -0
  41. package/lib/commonjs/components/KeyboardFocusLock/FocusFrame/FocusFrame.android.js.map +1 -0
  42. package/lib/commonjs/components/KeyboardFocusLock/FocusFrame/FocusFrame.js +11 -0
  43. package/lib/commonjs/components/KeyboardFocusLock/FocusFrame/FocusFrame.js.map +1 -0
  44. package/lib/commonjs/components/KeyboardFocusLock/FocusTrap/FocusTrap.android.js +19 -0
  45. package/lib/commonjs/components/KeyboardFocusLock/FocusTrap/FocusTrap.android.js.map +1 -0
  46. package/lib/commonjs/components/KeyboardFocusLock/FocusTrap/FocusTrap.js +15 -0
  47. package/lib/commonjs/components/KeyboardFocusLock/FocusTrap/FocusTrap.js.map +1 -0
  48. package/lib/commonjs/components/KeyboardFocusLock/FocusTrap/FocusTrapMountWrapper.js +46 -0
  49. package/lib/commonjs/components/KeyboardFocusLock/FocusTrap/FocusTrapMountWrapper.js.map +1 -0
  50. package/lib/commonjs/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.android.js +21 -0
  51. package/lib/commonjs/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.android.js.map +1 -0
  52. package/lib/commonjs/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.js +9 -0
  53. package/lib/commonjs/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.js.map +1 -0
  54. package/lib/commonjs/context/FocusFrameProviderContext.js +28 -0
  55. package/lib/commonjs/context/FocusFrameProviderContext.js.map +1 -0
  56. package/lib/commonjs/index.js +7 -1
  57. package/lib/commonjs/index.js.map +1 -1
  58. package/lib/commonjs/nativeSpec/ExternalKeyboardLockViewNativeComponent.js +10 -0
  59. package/lib/commonjs/nativeSpec/ExternalKeyboardLockViewNativeComponent.js.map +1 -0
  60. package/lib/commonjs/types/KeyboardFocusLock.types.js +6 -0
  61. package/lib/commonjs/types/KeyboardFocusLock.types.js.map +1 -0
  62. package/lib/module/components/KeyboardFocusLock/FocusFrame/FocusFrame.android.js +14 -0
  63. package/lib/module/components/KeyboardFocusLock/FocusFrame/FocusFrame.android.js.map +1 -0
  64. package/lib/module/components/KeyboardFocusLock/FocusFrame/FocusFrame.js +4 -0
  65. package/lib/module/components/KeyboardFocusLock/FocusFrame/FocusFrame.js.map +1 -0
  66. package/lib/module/components/KeyboardFocusLock/FocusTrap/FocusTrap.android.js +12 -0
  67. package/lib/module/components/KeyboardFocusLock/FocusTrap/FocusTrap.android.js.map +1 -0
  68. package/lib/module/components/KeyboardFocusLock/FocusTrap/FocusTrap.js +8 -0
  69. package/lib/module/components/KeyboardFocusLock/FocusTrap/FocusTrap.js.map +1 -0
  70. package/lib/module/components/KeyboardFocusLock/FocusTrap/FocusTrapMountWrapper.js +39 -0
  71. package/lib/module/components/KeyboardFocusLock/FocusTrap/FocusTrapMountWrapper.js.map +1 -0
  72. package/lib/module/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.android.js +14 -0
  73. package/lib/module/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.android.js.map +1 -0
  74. package/lib/module/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.js +3 -0
  75. package/lib/module/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.js.map +1 -0
  76. package/lib/module/context/FocusFrameProviderContext.js +20 -0
  77. package/lib/module/context/FocusFrameProviderContext.js.map +1 -0
  78. package/lib/module/index.js +6 -0
  79. package/lib/module/index.js.map +1 -1
  80. package/lib/module/nativeSpec/ExternalKeyboardLockViewNativeComponent.js +3 -0
  81. package/lib/module/nativeSpec/ExternalKeyboardLockViewNativeComponent.js.map +1 -0
  82. package/lib/module/types/KeyboardFocusLock.types.js +2 -0
  83. package/lib/module/types/KeyboardFocusLock.types.js.map +1 -0
  84. package/lib/typescript/src/components/KeyboardFocusLock/FocusFrame/FocusFrame.android.d.ts +4 -0
  85. package/lib/typescript/src/components/KeyboardFocusLock/FocusFrame/FocusFrame.android.d.ts.map +1 -0
  86. package/lib/typescript/src/components/KeyboardFocusLock/FocusFrame/FocusFrame.d.ts +3 -0
  87. package/lib/typescript/src/components/KeyboardFocusLock/FocusFrame/FocusFrame.d.ts.map +1 -0
  88. package/lib/typescript/src/components/KeyboardFocusLock/FocusTrap/FocusTrap.android.d.ts +4 -0
  89. package/lib/typescript/src/components/KeyboardFocusLock/FocusTrap/FocusTrap.android.d.ts.map +1 -0
  90. package/lib/typescript/src/components/KeyboardFocusLock/FocusTrap/FocusTrap.d.ts +3 -0
  91. package/lib/typescript/src/components/KeyboardFocusLock/FocusTrap/FocusTrap.d.ts.map +1 -0
  92. package/lib/typescript/src/components/KeyboardFocusLock/FocusTrap/FocusTrapMountWrapper.d.ts +3 -0
  93. package/lib/typescript/src/components/KeyboardFocusLock/FocusTrap/FocusTrapMountWrapper.d.ts.map +1 -0
  94. package/lib/typescript/src/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.android.d.ts +4 -0
  95. package/lib/typescript/src/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.android.d.ts.map +1 -0
  96. package/lib/typescript/src/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.d.ts +3 -0
  97. package/lib/typescript/src/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.d.ts.map +1 -0
  98. package/lib/typescript/src/components/Touchable/Pressable.d.ts +1 -1
  99. package/lib/typescript/src/context/FocusFrameProviderContext.d.ts +12 -0
  100. package/lib/typescript/src/context/FocusFrameProviderContext.d.ts.map +1 -0
  101. package/lib/typescript/src/index.d.ts +4 -0
  102. package/lib/typescript/src/index.d.ts.map +1 -1
  103. package/lib/typescript/src/nativeSpec/ExternalKeyboardLockViewNativeComponent.d.ts +9 -0
  104. package/lib/typescript/src/nativeSpec/ExternalKeyboardLockViewNativeComponent.d.ts.map +1 -0
  105. package/lib/typescript/src/types/KeyboardFocusLock.types.d.ts +6 -0
  106. package/lib/typescript/src/types/KeyboardFocusLock.types.d.ts.map +1 -0
  107. package/lib/typescript/src/utils/withKeyboardFocus.d.ts +1 -1
  108. package/package.json +4 -3
  109. package/src/components/KeyboardFocusLock/FocusFrame/FocusFrame.android.tsx +18 -0
  110. package/src/components/KeyboardFocusLock/FocusFrame/FocusFrame.tsx +8 -0
  111. package/src/components/KeyboardFocusLock/FocusTrap/FocusTrap.android.tsx +17 -0
  112. package/src/components/KeyboardFocusLock/FocusTrap/FocusTrap.tsx +9 -0
  113. package/src/components/KeyboardFocusLock/FocusTrap/FocusTrapMountWrapper.ts +40 -0
  114. package/src/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.android.tsx +16 -0
  115. package/src/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.tsx +5 -0
  116. package/src/context/FocusFrameProviderContext.tsx +36 -0
  117. package/src/index.tsx +8 -0
  118. package/src/nativeSpec/ExternalKeyboardLockViewNativeComponent.ts +13 -0
  119. package/src/types/KeyboardFocusLock.types.ts +6 -0
  120. package/ios/Services/RNCEKVFocusLinkObserverManager.h +0 -23
  121. package/ios/Services/RNCEKVFocusLinkObserverManager.mm +0 -30
  122. /package/ios/Services/{RNCEKVSortedMap.h → RNCEKVKeyboardOrderManager/RNCEKVOrderRelationship/RNCEKVSortedMap/RNCEKVSortedMap.h} +0 -0
  123. /package/ios/Services/{RNCEKVSortedMap.mm → RNCEKVKeyboardOrderManager/RNCEKVOrderRelationship/RNCEKVSortedMap/RNCEKVSortedMap.mm} +0 -0
@@ -0,0 +1,62 @@
1
+ //
2
+ // RNCEKVExternalKeyboardLockView.m
3
+ // react-native-external-keyboard
4
+ //
5
+ // Created by Artur Kalach on 27/01/2026.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+
11
+ #import <UIKit/UIKit.h>
12
+ #import <React/RCTViewManager.h>
13
+ #import "RNCEKVExternalKeyboardLockView.h"
14
+
15
+ #ifdef RCT_NEW_ARCH_ENABLED
16
+
17
+ #include <string>
18
+ #import <react/renderer/components/RNExternalKeyboardViewSpec/ComponentDescriptors.h>
19
+ #import <react/renderer/components/RNExternalKeyboardViewSpec/EventEmitters.h>
20
+ #import <react/renderer/components/RNExternalKeyboardViewSpec/Props.h>
21
+ #import <react/renderer/components/RNExternalKeyboardViewSpec/RCTComponentViewHelpers.h>
22
+ #import "RCTFabricComponentsPlugins.h"
23
+
24
+ using namespace facebook::react;
25
+
26
+ @interface RNCEKVExternalKeyboardLockView () <RCTExternalKeyboardLockViewViewProtocol>
27
+
28
+ @end
29
+
30
+ #endif
31
+
32
+
33
+
34
+ @implementation RNCEKVExternalKeyboardLockView
35
+
36
+
37
+ #ifdef RCT_NEW_ARCH_ENABLED
38
+
39
+ + (ComponentDescriptorProvider)componentDescriptorProvider
40
+ {
41
+ return concreteComponentDescriptorProvider<ExternalKeyboardLockViewComponentDescriptor>();
42
+ }
43
+
44
+
45
+ - (instancetype)initWithFrame:(CGRect)frame
46
+ {
47
+ if (self = [super initWithFrame:frame]) {
48
+ static const auto defaultProps = std::make_shared<const ExternalKeyboardLockViewProps>();
49
+ _props = defaultProps;
50
+ }
51
+
52
+ return self;
53
+ }
54
+
55
+ Class<RCTComponentViewProtocol> ExternalKeyboardLockViewCls(void)
56
+ {
57
+ return RNCEKVExternalKeyboardLockView.class;
58
+ }
59
+
60
+ #endif
61
+
62
+ @end
@@ -0,0 +1,14 @@
1
+ //
2
+ // RNCEKVExternalKeyboardLockViewManager.h
3
+ // Pods
4
+ //
5
+ // Created by Artur Kalach on 27/01/2026.
6
+ //
7
+
8
+ #ifndef RNCEKVExternalKeyboardLockViewManager_h
9
+ #define RNCEKVExternalKeyboardLockViewManager_h
10
+
11
+ @interface RNCEKVExternalKeyboardLockViewManager : RCTViewManager
12
+ @end
13
+
14
+ #endif /* RNCEKVExternalKeyboardLockViewManager_h */
@@ -0,0 +1,25 @@
1
+ //
2
+ // RNCEKVExternalKeyboardLockViewManager.m
3
+ // react-native-external-keyboard
4
+ //
5
+ // Created by Artur Kalach on 27/01/2026.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+
11
+ #import <React/RCTViewManager.h>
12
+ #import <React/RCTUIManager.h>
13
+ #import "RNCEKVExternalKeyboardLockView.h"
14
+ #import "RNCEKVExternalKeyboardLockViewManager.h"
15
+
16
+ @implementation RNCEKVExternalKeyboardLockViewManager
17
+
18
+ RCT_EXPORT_MODULE(ExternalKeyboardLockView)
19
+
20
+ - (UIView *)view
21
+ {
22
+ return [[RNCEKVExternalKeyboardLockView alloc] init];
23
+ }
24
+
25
+ @end
@@ -21,7 +21,8 @@ using namespace facebook::react;
21
21
  + (void)onKeyDownPressEventEmmiter:(NSDictionary*) dictionary withEmitter:(facebook::react::SharedViewEventEmitter) _eventEmitter {
22
22
  if (_eventEmitter) {
23
23
  auto viewEventEmitter = std::static_pointer_cast<ExternalKeyboardViewEventEmitter const>(_eventEmitter);
24
-
24
+
25
+ NSString* unicodeChar = [dictionary valueForKey:@"unicodeChar"];
25
26
  facebook::react::ExternalKeyboardViewEventEmitter::OnKeyDownPress data = {
26
27
  .keyCode = [[dictionary valueForKey:@"keyCode"] intValue],
27
28
  .isLongPress = [[dictionary valueForKey:@"isLongPress"] boolValue],
@@ -31,7 +32,7 @@ using namespace facebook::react;
31
32
  .isCapsLockOn = [[dictionary valueForKey:@"isCapsLockOn"] boolValue],
32
33
  .hasNoModifiers = [[dictionary valueForKey:@"hasNoModifiers"] boolValue],
33
34
  .unicode = [[dictionary valueForKey:@"unicode"] intValue],
34
- .unicodeChar = [[[dictionary valueForKey:@"unicodeChar"] stringValue] UTF8String],
35
+ .unicodeChar = [unicodeChar UTF8String],
35
36
  };
36
37
  viewEventEmitter->onKeyDownPress(data);
37
38
  };
@@ -40,7 +41,8 @@ using namespace facebook::react;
40
41
  + (void)onKeyUpPressEventEmmiter:(NSDictionary*) dictionary withEmitter:(facebook::react::SharedViewEventEmitter) _eventEmitter {
41
42
  if (_eventEmitter) {
42
43
  auto viewEventEmitter = std::static_pointer_cast<ExternalKeyboardViewEventEmitter const>(_eventEmitter);
43
-
44
+
45
+ NSString* unicodeChar = [dictionary valueForKey:@"unicodeChar"];
44
46
  facebook::react::ExternalKeyboardViewEventEmitter::OnKeyUpPress data = {
45
47
  .keyCode = [[dictionary valueForKey:@"keyCode"] intValue],
46
48
  .isLongPress = [[dictionary valueForKey:@"isLongPress"] boolValue],
@@ -50,7 +52,7 @@ using namespace facebook::react;
50
52
  .isCapsLockOn = [[dictionary valueForKey:@"isCapsLockOn"] boolValue],
51
53
  .hasNoModifiers = [[dictionary valueForKey:@"hasNoModifiers"] boolValue],
52
54
  .unicode = [[dictionary valueForKey:@"unicode"] intValue],
53
- .unicodeChar = [[[dictionary valueForKey:@"unicodeChar"] stringValue] UTF8String],
55
+ .unicodeChar = [unicodeChar UTF8String],
54
56
  };
55
57
  viewEventEmitter->onKeyUpPress(data);
56
58
  };
@@ -37,7 +37,7 @@ using namespace facebook::react;
37
37
  RNCEKVFocusDelegate *_focusDelegate;
38
38
  RNCEKVGroupIdentifierDelegate *_gIdDelegate;
39
39
  RNCEKVFocusOrderDelegate *_focusOrderDelegate;
40
-
40
+
41
41
  NSNumber *_isFocused;
42
42
  BOOL _isAttachedToWindow;
43
43
  BOOL _isAttachedToController;
@@ -371,7 +371,7 @@ Class<RCTComponentViewProtocol> ExternalKeyboardViewCls(void) {
371
371
  UIView *focusingView = self; // [_focusDelegate getFocusingView];
372
372
 
373
373
  if (self.superview != nil && controller != nil) {
374
- controller.customFocusView = focusingView;
374
+ controller.rncekvCustomFocusView = focusingView;
375
375
  dispatch_async(dispatch_get_main_queue(), ^{
376
376
  [controller setNeedsFocusUpdate];
377
377
  [controller updateFocusIfNeeded];
@@ -10,7 +10,6 @@
10
10
  #import <React/RCTViewManager.h>
11
11
  #import "UIViewController+RNCEKVExternalKeyboard.h"
12
12
  #import "RNCEKVOrderLinking.h"
13
- #import "RNCEKVRelashioship.h"
14
13
  #import "RNCEKVExternalKeyboardView.h"
15
14
 
16
15
  #ifdef RCT_NEW_ARCH_ENABLED
@@ -206,7 +206,7 @@ Class<RCTComponentViewProtocol> TextInputFocusWrapperCls(void)
206
206
 
207
207
  #ifdef RCT_NEW_ARCH_ENABLED
208
208
  if([input isKindOfClass: [RCTTextInputComponentView class]]) {
209
- backedTextInputView = ((RCTTextInputComponentView *)input).backedTextInputView;
209
+ backedTextInputView = ((RCTTextInputComponentView *)input).rncekbBackedTextInputView;
210
210
  }
211
211
  #else
212
212
  if([input isKindOfClass: [RCTMultilineTextInputView class]]) {
@@ -242,20 +242,6 @@ Class<RCTComponentViewProtocol> TextInputFocusWrapperCls(void)
242
242
  return isTextInput;
243
243
  }
244
244
 
245
- - (UIView*)getMultilineTextView: (UIView*)view {
246
- UIView* textView = nil;
247
- #ifdef RCT_NEW_ARCH_ENABLED
248
- if([view isKindOfClass: [RCTTextInputComponentView class]]) {
249
- textView = ((RCTTextInputComponentView *)view).backedTextInputView;
250
- }
251
- #else
252
- if([view isKindOfClass: [RCTMultilineTextInputView class]]) {
253
- textView = ((RCTMultilineTextInputView *)view).backedTextInputView;
254
- }
255
- #endif
256
- return textView;
257
- }
258
-
259
245
  - (void)updateHalo {
260
246
  if(self.subviews.count == 0) {
261
247
  return;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FocusFrame = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _FocusFrameProviderContext = require("../../../context/FocusFrameProviderContext");
9
+ var _KeyboardFocusLockBase = require("../KeyboardFocusLockBase/KeyboardFocusLockBase");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
12
+ const FocusFrame = exports.FocusFrame = /*#__PURE__*/_react.default.memo(({
13
+ lockDisabled = false,
14
+ ...props
15
+ }) => {
16
+ return /*#__PURE__*/_react.default.createElement(_FocusFrameProviderContext.FrameProvider, null, /*#__PURE__*/_react.default.createElement(_KeyboardFocusLockBase.KeyboardFocusLockBase, _extends({}, props, {
17
+ componentType: 1,
18
+ lockDisabled: lockDisabled
19
+ })));
20
+ });
21
+ //# sourceMappingURL=FocusFrame.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_FocusFrameProviderContext","_KeyboardFocusLockBase","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","FocusFrame","exports","React","memo","lockDisabled","props","createElement","FrameProvider","KeyboardFocusLockBase","componentType"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/FocusFrame/FocusFrame.android.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAAuF,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;AAGhF,MAAMO,UAAU,GAAAC,OAAA,CAAAD,UAAA,gBAAGE,cAAK,CAACC,IAAI,CAClC,CAAC;EAAEC,YAAY,GAAG,KAAK;EAAE,GAAGC;AAAM,CAAC,KAAK;EACtC,oBACEzB,MAAA,CAAAO,OAAA,CAAAmB,aAAA,CAACvB,0BAAA,CAAAwB,aAAa,qBACZ3B,MAAA,CAAAO,OAAA,CAAAmB,aAAA,CAACtB,sBAAA,CAAAwB,qBAAqB,EAAApB,QAAA,KAChBiB,KAAK;IACTI,aAAa,EAAE,CAAE;IACjBL,YAAY,EAAEA;EAAa,EAC5B,CACY,CAAC;AAEpB,CACF,CAAC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FocusFrame = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _FocusFrameProviderContext = require("../../../context/FocusFrameProviderContext");
9
+ const FocusFrame = props => /*#__PURE__*/React.createElement(_FocusFrameProviderContext.FrameProvider, null, /*#__PURE__*/React.createElement(_reactNative.View, props));
10
+ exports.FocusFrame = FocusFrame;
11
+ //# sourceMappingURL=FocusFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_FocusFrameProviderContext","FocusFrame","props","React","createElement","FrameProvider","View","exports"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/FocusFrame/FocusFrame.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAEO,MAAME,UAAU,GAAIC,KAAgB,iBACzCC,KAAA,CAAAC,aAAA,CAACJ,0BAAA,CAAAK,aAAa,qBACZF,KAAA,CAAAC,aAAA,CAACN,YAAA,CAAAQ,IAAI,EAAKJ,KAAQ,CACL,CAChB;AAACK,OAAA,CAAAN,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FocusTrap = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _FocusTrapMountWrapper = require("./FocusTrapMountWrapper");
9
+ var _KeyboardFocusLockBase = require("../KeyboardFocusLockBase/KeyboardFocusLockBase");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
12
+ const FocusTrap = exports.FocusTrap = /*#__PURE__*/_react.default.memo(({
13
+ lockDisabled = false,
14
+ ...props
15
+ }) => /*#__PURE__*/_react.default.createElement(_FocusTrapMountWrapper.FocusTrapMountWrapper, null, /*#__PURE__*/_react.default.createElement(_KeyboardFocusLockBase.KeyboardFocusLockBase, _extends({}, props, {
16
+ componentType: 0,
17
+ lockDisabled: lockDisabled
18
+ }))));
19
+ //# sourceMappingURL=FocusTrap.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_FocusTrapMountWrapper","_KeyboardFocusLockBase","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","FocusTrap","exports","React","memo","lockDisabled","props","createElement","FocusTrapMountWrapper","KeyboardFocusLockBase","componentType"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/FocusTrap/FocusTrap.android.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAAuF,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;AAGhF,MAAMO,SAAS,GAAAC,OAAA,CAAAD,SAAA,gBAAGE,cAAK,CAACC,IAAI,CACjC,CAAC;EAAEC,YAAY,GAAG,KAAK;EAAE,GAAGC;AAAM,CAAC,kBACjCzB,MAAA,CAAAO,OAAA,CAAAmB,aAAA,CAACvB,sBAAA,CAAAwB,qBAAqB,qBACpB3B,MAAA,CAAAO,OAAA,CAAAmB,aAAA,CAACtB,sBAAA,CAAAwB,qBAAqB,EAAApB,QAAA,KAChBiB,KAAK;EACTI,aAAa,EAAE,CAAE;EACjBL,YAAY,EAAEA;AAAa,EAC5B,CACoB,CAE3B,CAAC","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FocusTrap = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _FocusTrapMountWrapper = require("./FocusTrapMountWrapper");
9
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
10
+ const FocusTrap = props => /*#__PURE__*/React.createElement(_FocusTrapMountWrapper.FocusTrapMountWrapper, null, /*#__PURE__*/React.createElement(_reactNative.View, _extends({
11
+ collapsable: false,
12
+ accessibilityViewIsModal: true
13
+ }, props)));
14
+ exports.FocusTrap = FocusTrap;
15
+ //# sourceMappingURL=FocusTrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_FocusTrapMountWrapper","_extends","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","apply","FocusTrap","props","React","createElement","FocusTrapMountWrapper","View","collapsable","accessibilityViewIsModal","exports"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/FocusTrap/FocusTrap.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAAgE,SAAAE,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,CAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAL,CAAA,CAAAK,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAL,CAAA,KAAAJ,QAAA,CAAAY,KAAA,OAAAN,SAAA;AAGzD,MAAMO,SAAS,GAAIC,KAA6B,iBACrDC,KAAA,CAAAC,aAAA,CAACjB,sBAAA,CAAAkB,qBAAqB,qBACpBF,KAAA,CAAAC,aAAA,CAACnB,YAAA,CAAAqB,IAAI,EAAAlB,QAAA;EAACmB,WAAW,EAAE,KAAM;EAACC,wBAAwB,EAAE;AAAK,GAAKN,KAAK,CAAG,CACjD,CACxB;AAACO,OAAA,CAAAR,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FocusTrapMountWrapper = void 0;
7
+ var _react = require("react");
8
+ var _FocusFrameProviderContext = require("../../../context/FocusFrameProviderContext");
9
+ const FocusTrapMountWrapper = ({
10
+ children
11
+ }) => {
12
+ const a11yFrameContext = (0, _FocusFrameProviderContext.useFocusFrameContext)();
13
+ const instanceId = (0, _react.useRef)(Symbol('FocusLock'));
14
+ if (!a11yFrameContext) {
15
+ console.warn('Focus.Trap must be used within a Focus.Frame');
16
+ return children;
17
+ }
18
+ const {
19
+ hasFocusLock,
20
+ setHasFocusLock,
21
+ focusLockId,
22
+ setFocusLockId
23
+ } = a11yFrameContext;
24
+ const isActive = !hasFocusLock || focusLockId === instanceId.current;
25
+
26
+ // eslint-disable-next-line react-hooks/rules-of-hooks
27
+ (0, _react.useEffect)(() => {
28
+ const id = instanceId.current;
29
+ if (!hasFocusLock) {
30
+ setHasFocusLock(true);
31
+ setFocusLockId(id);
32
+ }
33
+ return () => {
34
+ if (focusLockId === id) {
35
+ setHasFocusLock(false);
36
+ setFocusLockId(null);
37
+ }
38
+ };
39
+ }, [hasFocusLock, setHasFocusLock, focusLockId, setFocusLockId]);
40
+ if (!isActive) {
41
+ console.warn('Multiple Focus.Trap components may cause unstable behavior');
42
+ }
43
+ return children;
44
+ };
45
+ exports.FocusTrapMountWrapper = FocusTrapMountWrapper;
46
+ //# sourceMappingURL=FocusTrapMountWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_FocusFrameProviderContext","FocusTrapMountWrapper","children","a11yFrameContext","useFocusFrameContext","instanceId","useRef","Symbol","console","warn","hasFocusLock","setHasFocusLock","focusLockId","setFocusLockId","isActive","current","useEffect","id","exports"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/FocusTrap/FocusTrapMountWrapper.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAEO,MAAME,qBAAkD,GAAGA,CAAC;EACjEC;AACF,CAAC,KAAK;EACJ,MAAMC,gBAAgB,GAAG,IAAAC,+CAAoB,EAAC,CAAC;EAC/C,MAAMC,UAAU,GAAG,IAAAC,aAAM,EAACC,MAAM,CAAC,WAAW,CAAC,CAAC;EAE9C,IAAI,CAACJ,gBAAgB,EAAE;IACrBK,OAAO,CAACC,IAAI,CAAC,8CAA8C,CAAC;IAC5D,OAAOP,QAAQ;EACjB;EAEA,MAAM;IAAEQ,YAAY;IAAEC,eAAe;IAAEC,WAAW;IAAEC;EAAe,CAAC,GAClEV,gBAAgB;EAClB,MAAMW,QAAQ,GAAG,CAACJ,YAAY,IAAIE,WAAW,KAAKP,UAAU,CAACU,OAAO;;EAEpE;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,EAAE,GAAGZ,UAAU,CAACU,OAAO;IAE7B,IAAI,CAACL,YAAY,EAAE;MACjBC,eAAe,CAAC,IAAI,CAAC;MACrBE,cAAc,CAACI,EAAE,CAAC;IACpB;IACA,OAAO,MAAM;MACX,IAAIL,WAAW,KAAKK,EAAE,EAAE;QACtBN,eAAe,CAAC,KAAK,CAAC;QACtBE,cAAc,CAAC,IAAI,CAAC;MACtB;IACF,CAAC;EACH,CAAC,EAAE,CAACH,YAAY,EAAEC,eAAe,EAAEC,WAAW,EAAEC,cAAc,CAAC,CAAC;EAEhE,IAAI,CAACC,QAAQ,EAAE;IACbN,OAAO,CAACC,IAAI,CAAC,4DAA4D,CAAC;EAC5E;EAEA,OAAOP,QAAQ;AACjB,CAAC;AAACgB,OAAA,CAAAjB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.KeyboardFocusLockBase = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _ExternalKeyboardLockViewNativeComponent = _interopRequireDefault(require("../../../nativeSpec/ExternalKeyboardLockViewNativeComponent"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
11
+ const KeyboardFocusLockBase = exports.KeyboardFocusLockBase = /*#__PURE__*/_react.default.memo(({
12
+ lockDisabled = false,
13
+ componentType = 0,
14
+ ...props
15
+ }) => {
16
+ return /*#__PURE__*/_react.default.createElement(_ExternalKeyboardLockViewNativeComponent.default, _extends({}, props, {
17
+ componentType: componentType,
18
+ lockDisabled: lockDisabled
19
+ }));
20
+ });
21
+ //# sourceMappingURL=KeyboardFocusLockBase.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_ExternalKeyboardLockViewNativeComponent","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","KeyboardFocusLockBase","exports","React","memo","lockDisabled","componentType","props","createElement"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.android.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,wCAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAmG,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;AAI5F,MAAMO,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,gBAAGE,cAAK,CAACC,IAAI,CAC7C,CAAC;EAAEC,YAAY,GAAG,KAAK;EAAEC,aAAa,GAAG,CAAC;EAAE,GAAGC;AAAM,CAAC,KAAK;EACzD,oBACEzB,MAAA,CAAAM,OAAA,CAAAoB,aAAA,CAACvB,wCAAA,CAAAG,OAAwB,EAAAC,QAAA,KACnBkB,KAAK;IACTD,aAAa,EAAEA,aAAc;IAC7BD,YAAY,EAAEA;EAAa,EAC5B,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.KeyboardFocusLockBase = void 0;
7
+ var _reactNative = require("react-native");
8
+ const KeyboardFocusLockBase = exports.KeyboardFocusLockBase = _reactNative.View;
9
+ //# sourceMappingURL=KeyboardFocusLockBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","KeyboardFocusLockBase","exports","View"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGO,MAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAChCE,iBAAgE","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useFocusFrameContext = exports.FrameProvider = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
9
+ const FocusFrameProviderContext = /*#__PURE__*/(0, _react.createContext)(undefined);
10
+ const useFocusFrameContext = () => (0, _react.useContext)(FocusFrameProviderContext);
11
+ exports.useFocusFrameContext = useFocusFrameContext;
12
+ const FrameProvider = ({
13
+ children
14
+ }) => {
15
+ const [hasFocusLock, setHasFocusLock] = (0, _react.useState)(false);
16
+ const [focusLockId, setFocusLockId] = (0, _react.useState)(null);
17
+ const state = (0, _react.useMemo)(() => ({
18
+ hasFocusLock,
19
+ focusLockId,
20
+ setHasFocusLock,
21
+ setFocusLockId
22
+ }), [hasFocusLock, focusLockId, setHasFocusLock, setFocusLockId]);
23
+ return /*#__PURE__*/_react.default.createElement(FocusFrameProviderContext.Provider, {
24
+ value: state
25
+ }, children);
26
+ };
27
+ exports.FrameProvider = FrameProvider;
28
+ //# sourceMappingURL=FocusFrameProviderContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FocusFrameProviderContext","createContext","undefined","useFocusFrameContext","useContext","exports","FrameProvider","children","hasFocusLock","setHasFocusLock","useState","focusLockId","setFocusLockId","state","useMemo","createElement","Provider","value"],"sourceRoot":"../../../src","sources":["context/FocusFrameProviderContext.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAuC,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAevC,MAAMkB,yBAAyB,gBAAG,IAAAC,oBAAa,EAE7CC,SAAS,CAAC;AAEL,MAAMC,oBAAoB,GAAGA,CAAA,KAAM,IAAAC,iBAAU,EAACJ,yBAAyB,CAAC;AAACK,OAAA,CAAAF,oBAAA,GAAAA,oBAAA;AAEzE,MAAMG,aAA0C,GAAGA,CAAC;EAAEC;AAAS,CAAC,KAAK;EAC1E,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACvD,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAF,eAAQ,EAAgB,IAAI,CAAC;EAEnE,MAAMG,KAAK,GAAG,IAAAC,cAAO,EACnB,OAAO;IAAEN,YAAY;IAAEG,WAAW;IAAEF,eAAe;IAAEG;EAAe,CAAC,CAAC,EACtE,CAACJ,YAAY,EAAEG,WAAW,EAAEF,eAAe,EAAEG,cAAc,CAC7D,CAAC;EAED,oBACElC,MAAA,CAAAa,OAAA,CAAAwB,aAAA,CAACf,yBAAyB,CAACgB,QAAQ;IAACC,KAAK,EAAEJ;EAAM,GAC9CN,QACiC,CAAC;AAEzC,CAAC;AAACF,OAAA,CAAAC,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -21,7 +21,7 @@ Object.defineProperty(exports, "ExternalKeyboardViewNative", {
21
21
  return _nativeSpec.ExternalKeyboardViewNative;
22
22
  }
23
23
  });
24
- exports.Keyboard = void 0;
24
+ exports.Keyboard = exports.Focus = void 0;
25
25
  Object.defineProperty(exports, "KeyboardExtendedBaseView", {
26
26
  enumerable: true,
27
27
  get: function () {
@@ -106,6 +106,8 @@ Object.defineProperty(exports, "withKeyboardFocus", {
106
106
  return _withKeyboardFocus.withKeyboardFocus;
107
107
  }
108
108
  });
109
+ var _FocusFrame = require("./components/KeyboardFocusLock/FocusFrame/FocusFrame");
110
+ var _FocusTrap = require("./components/KeyboardFocusLock/FocusTrap/FocusTrap");
109
111
  var _nativeSpec = require("./nativeSpec");
110
112
  var _components = require("./components");
111
113
  var _Pressable = require("./components/Touchable/Pressable");
@@ -117,4 +119,8 @@ var _OrderFocusContext = require("./context/OrderFocusContext");
117
119
  var Keyboard = _interopRequireWildcard(require("./modules/Keyboard"));
118
120
  exports.Keyboard = Keyboard;
119
121
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
122
+ const Focus = exports.Focus = {
123
+ Frame: _FocusFrame.FocusFrame,
124
+ Trap: _FocusTrap.FocusTrap
125
+ };
120
126
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_nativeSpec","require","_components","_Pressable","_KeyboardExtendedInput","_KeyboardFocusGroup","_withKeyboardFocus","_IsViewFocusedContext","_OrderFocusContext","Keyboard","_interopRequireWildcard","exports","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAcA,IAAAC,WAAA,GAAAD,OAAA;AAOA,IAAAE,UAAA,GAAAF,OAAA;AAIA,IAAAG,sBAAA,GAAAH,OAAA;AAIA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AACA,IAAAM,qBAAA,GAAAN,OAAA;AACA,IAAAO,kBAAA,GAAAP,OAAA;AAKA,IAAAQ,QAAA,GAAAC,uBAAA,CAAAT,OAAA;AAA+CU,OAAA,CAAAF,QAAA,GAAAA,QAAA;AAAA,SAAAC,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_FocusFrame","require","_FocusTrap","_nativeSpec","_components","_Pressable","_KeyboardExtendedInput","_KeyboardFocusGroup","_withKeyboardFocus","_IsViewFocusedContext","_OrderFocusContext","Keyboard","_interopRequireWildcard","exports","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Focus","Frame","FocusFrame","Trap","FocusTrap"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAcA,IAAAG,WAAA,GAAAH,OAAA;AAOA,IAAAI,UAAA,GAAAJ,OAAA;AAIA,IAAAK,sBAAA,GAAAL,OAAA;AAIA,IAAAM,mBAAA,GAAAN,OAAA;AACA,IAAAO,kBAAA,GAAAP,OAAA;AACA,IAAAQ,qBAAA,GAAAR,OAAA;AACA,IAAAS,kBAAA,GAAAT,OAAA;AAKA,IAAAU,QAAA,GAAAC,uBAAA,CAAAX,OAAA;AAA+CY,OAAA,CAAAF,QAAA,GAAAA,QAAA;AAAA,SAAAC,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGxC,MAAMkB,KAAK,GAAApB,OAAA,CAAAoB,KAAA,GAAG;EACnBC,KAAK,EAAEC,sBAAU;EACjBC,IAAI,EAAEC;AACR,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _codegenNativeComponent = _interopRequireDefault(require("react-native/Libraries/Utilities/codegenNativeComponent"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ var _default = exports.default = (0, _codegenNativeComponent.default)('ExternalKeyboardLockView');
10
+ //# sourceMappingURL=ExternalKeyboardLockViewNativeComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","default","_default","exports","codegenNativeComponent"],"sourceRoot":"../../../src","sources":["nativeSpec/ExternalKeyboardLockViewNativeComponent.ts"],"mappings":";;;;;;AAEA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAQ9E,IAAAG,+BAAsB,EACnC,0BACF,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=KeyboardFocusLock.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/KeyboardFocusLock.types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import React from 'react';
3
+ import { FrameProvider } from '../../../context/FocusFrameProviderContext';
4
+ import { KeyboardFocusLockBase } from '../KeyboardFocusLockBase/KeyboardFocusLockBase';
5
+ export const FocusFrame = /*#__PURE__*/React.memo(({
6
+ lockDisabled = false,
7
+ ...props
8
+ }) => {
9
+ return /*#__PURE__*/React.createElement(FrameProvider, null, /*#__PURE__*/React.createElement(KeyboardFocusLockBase, _extends({}, props, {
10
+ componentType: 1,
11
+ lockDisabled: lockDisabled
12
+ })));
13
+ });
14
+ //# sourceMappingURL=FocusFrame.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","FrameProvider","KeyboardFocusLockBase","FocusFrame","memo","lockDisabled","props","createElement","_extends","componentType"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/FocusFrame/FocusFrame.android.tsx"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,QAAQ,4CAA4C;AAC1E,SAASC,qBAAqB,QAAQ,gDAAgD;AAGtF,OAAO,MAAMC,UAAU,gBAAGH,KAAK,CAACI,IAAI,CAClC,CAAC;EAAEC,YAAY,GAAG,KAAK;EAAE,GAAGC;AAAM,CAAC,KAAK;EACtC,oBACEN,KAAA,CAAAO,aAAA,CAACN,aAAa,qBACZD,KAAA,CAAAO,aAAA,CAACL,qBAAqB,EAAAM,QAAA,KAChBF,KAAK;IACTG,aAAa,EAAE,CAAE;IACjBJ,YAAY,EAAEA;EAAa,EAC5B,CACY,CAAC;AAEpB,CACF,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import { View } from 'react-native';
2
+ import { FrameProvider } from '../../../context/FocusFrameProviderContext';
3
+ export const FocusFrame = props => /*#__PURE__*/React.createElement(FrameProvider, null, /*#__PURE__*/React.createElement(View, props));
4
+ //# sourceMappingURL=FocusFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","FrameProvider","FocusFrame","props","React","createElement"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/FocusFrame/FocusFrame.tsx"],"mappings":"AAAA,SAASA,IAAI,QAAwB,cAAc;AACnD,SAASC,aAAa,QAAQ,4CAA4C;AAE1E,OAAO,MAAMC,UAAU,GAAIC,KAAgB,iBACzCC,KAAA,CAAAC,aAAA,CAACJ,aAAa,qBACZG,KAAA,CAAAC,aAAA,CAACL,IAAI,EAAKG,KAAQ,CACL,CAChB","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import React from 'react';
3
+ import { FocusTrapMountWrapper } from './FocusTrapMountWrapper';
4
+ import { KeyboardFocusLockBase } from '../KeyboardFocusLockBase/KeyboardFocusLockBase';
5
+ export const FocusTrap = /*#__PURE__*/React.memo(({
6
+ lockDisabled = false,
7
+ ...props
8
+ }) => /*#__PURE__*/React.createElement(FocusTrapMountWrapper, null, /*#__PURE__*/React.createElement(KeyboardFocusLockBase, _extends({}, props, {
9
+ componentType: 0,
10
+ lockDisabled: lockDisabled
11
+ }))));
12
+ //# sourceMappingURL=FocusTrap.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","FocusTrapMountWrapper","KeyboardFocusLockBase","FocusTrap","memo","lockDisabled","props","createElement","_extends","componentType"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/FocusTrap/FocusTrap.android.tsx"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,qBAAqB,QAAQ,gDAAgD;AAGtF,OAAO,MAAMC,SAAS,gBAAGH,KAAK,CAACI,IAAI,CACjC,CAAC;EAAEC,YAAY,GAAG,KAAK;EAAE,GAAGC;AAAM,CAAC,kBACjCN,KAAA,CAAAO,aAAA,CAACN,qBAAqB,qBACpBD,KAAA,CAAAO,aAAA,CAACL,qBAAqB,EAAAM,QAAA,KAChBF,KAAK;EACTG,aAAa,EAAE,CAAE;EACjBJ,YAAY,EAAEA;AAAa,EAC5B,CACoB,CAE3B,CAAC","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import { View } from 'react-native';
3
+ import { FocusTrapMountWrapper } from './FocusTrapMountWrapper';
4
+ export const FocusTrap = props => /*#__PURE__*/React.createElement(FocusTrapMountWrapper, null, /*#__PURE__*/React.createElement(View, _extends({
5
+ collapsable: false,
6
+ accessibilityViewIsModal: true
7
+ }, props)));
8
+ //# sourceMappingURL=FocusTrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","FocusTrapMountWrapper","FocusTrap","props","React","createElement","_extends","collapsable","accessibilityViewIsModal"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/FocusTrap/FocusTrap.tsx"],"mappings":";AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,qBAAqB,QAAQ,yBAAyB;AAG/D,OAAO,MAAMC,SAAS,GAAIC,KAA6B,iBACrDC,KAAA,CAAAC,aAAA,CAACJ,qBAAqB,qBACpBG,KAAA,CAAAC,aAAA,CAACL,IAAI,EAAAM,QAAA;EAACC,WAAW,EAAE,KAAM;EAACC,wBAAwB,EAAE;AAAK,GAAKL,KAAK,CAAG,CACjD,CACxB","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ import { useEffect, useRef } from 'react';
2
+ import { useFocusFrameContext } from '../../../context/FocusFrameProviderContext';
3
+ export const FocusTrapMountWrapper = ({
4
+ children
5
+ }) => {
6
+ const a11yFrameContext = useFocusFrameContext();
7
+ const instanceId = useRef(Symbol('FocusLock'));
8
+ if (!a11yFrameContext) {
9
+ console.warn('Focus.Trap must be used within a Focus.Frame');
10
+ return children;
11
+ }
12
+ const {
13
+ hasFocusLock,
14
+ setHasFocusLock,
15
+ focusLockId,
16
+ setFocusLockId
17
+ } = a11yFrameContext;
18
+ const isActive = !hasFocusLock || focusLockId === instanceId.current;
19
+
20
+ // eslint-disable-next-line react-hooks/rules-of-hooks
21
+ useEffect(() => {
22
+ const id = instanceId.current;
23
+ if (!hasFocusLock) {
24
+ setHasFocusLock(true);
25
+ setFocusLockId(id);
26
+ }
27
+ return () => {
28
+ if (focusLockId === id) {
29
+ setHasFocusLock(false);
30
+ setFocusLockId(null);
31
+ }
32
+ };
33
+ }, [hasFocusLock, setHasFocusLock, focusLockId, setFocusLockId]);
34
+ if (!isActive) {
35
+ console.warn('Multiple Focus.Trap components may cause unstable behavior');
36
+ }
37
+ return children;
38
+ };
39
+ //# sourceMappingURL=FocusTrapMountWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","useFocusFrameContext","FocusTrapMountWrapper","children","a11yFrameContext","instanceId","Symbol","console","warn","hasFocusLock","setHasFocusLock","focusLockId","setFocusLockId","isActive","current","id"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/FocusTrap/FocusTrapMountWrapper.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAgC,OAAO;AACjE,SAASC,oBAAoB,QAAQ,4CAA4C;AAEjF,OAAO,MAAMC,qBAAkD,GAAGA,CAAC;EACjEC;AACF,CAAC,KAAK;EACJ,MAAMC,gBAAgB,GAAGH,oBAAoB,CAAC,CAAC;EAC/C,MAAMI,UAAU,GAAGL,MAAM,CAACM,MAAM,CAAC,WAAW,CAAC,CAAC;EAE9C,IAAI,CAACF,gBAAgB,EAAE;IACrBG,OAAO,CAACC,IAAI,CAAC,8CAA8C,CAAC;IAC5D,OAAOL,QAAQ;EACjB;EAEA,MAAM;IAAEM,YAAY;IAAEC,eAAe;IAAEC,WAAW;IAAEC;EAAe,CAAC,GAClER,gBAAgB;EAClB,MAAMS,QAAQ,GAAG,CAACJ,YAAY,IAAIE,WAAW,KAAKN,UAAU,CAACS,OAAO;;EAEpE;EACAf,SAAS,CAAC,MAAM;IACd,MAAMgB,EAAE,GAAGV,UAAU,CAACS,OAAO;IAE7B,IAAI,CAACL,YAAY,EAAE;MACjBC,eAAe,CAAC,IAAI,CAAC;MACrBE,cAAc,CAACG,EAAE,CAAC;IACpB;IACA,OAAO,MAAM;MACX,IAAIJ,WAAW,KAAKI,EAAE,EAAE;QACtBL,eAAe,CAAC,KAAK,CAAC;QACtBE,cAAc,CAAC,IAAI,CAAC;MACtB;IACF,CAAC;EACH,CAAC,EAAE,CAACH,YAAY,EAAEC,eAAe,EAAEC,WAAW,EAAEC,cAAc,CAAC,CAAC;EAEhE,IAAI,CAACC,QAAQ,EAAE;IACbN,OAAO,CAACC,IAAI,CAAC,4DAA4D,CAAC;EAC5E;EAEA,OAAOL,QAAQ;AACjB,CAAC","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import React from 'react';
3
+ import ExternalKeyboardLockView from '../../../nativeSpec/ExternalKeyboardLockViewNativeComponent';
4
+ export const KeyboardFocusLockBase = /*#__PURE__*/React.memo(({
5
+ lockDisabled = false,
6
+ componentType = 0,
7
+ ...props
8
+ }) => {
9
+ return /*#__PURE__*/React.createElement(ExternalKeyboardLockView, _extends({}, props, {
10
+ componentType: componentType,
11
+ lockDisabled: lockDisabled
12
+ }));
13
+ });
14
+ //# sourceMappingURL=KeyboardFocusLockBase.android.js.map