react-native-external-keyboard 0.11.1 → 1.0.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.
- package/android/src/main/java/com/externalkeyboard/ExternalKeyboardViewPackage.java +24 -22
- package/android/src/main/java/com/externalkeyboard/services/KeyboardService.java +4 -13
- package/android/src/newarch/TextInputFocusWrapperManagerSpec.java +0 -3
- package/lib/commonjs/nativeSpec/ExternalKeyboardLockViewNativeComponent.ts +1 -3
- package/lib/commonjs/nativeSpec/ExternalKeyboardViewNativeComponent.ts +6 -5
- package/lib/commonjs/nativeSpec/KeyboardFocusGroupNativeComponent.ts +5 -3
- package/lib/commonjs/nativeSpec/TextInputFocusWrapperNativeComponent.ts +5 -3
- package/lib/module/nativeSpec/ExternalKeyboardLockViewNativeComponent.ts +1 -3
- package/lib/module/nativeSpec/ExternalKeyboardViewNativeComponent.ts +6 -5
- package/lib/module/nativeSpec/KeyboardFocusGroupNativeComponent.ts +5 -3
- package/lib/module/nativeSpec/TextInputFocusWrapperNativeComponent.ts +5 -3
- package/lib/typescript/src/components/BaseKeyboardView/BaseKeyboardView.d.ts +129 -3
- package/lib/typescript/src/components/BaseKeyboardView/BaseKeyboardView.d.ts.map +1 -1
- package/lib/typescript/src/components/KeyboardExtendedInput/KeyboardExtendedInput.d.ts +372 -6
- package/lib/typescript/src/components/KeyboardExtendedInput/KeyboardExtendedInput.d.ts.map +1 -1
- package/lib/typescript/src/components/KeyboardFocusLock/FocusFrame/FocusFrame.d.ts +1 -1
- package/lib/typescript/src/components/KeyboardFocusLock/FocusFrame/FocusFrame.d.ts.map +1 -1
- package/lib/typescript/src/components/KeyboardFocusLock/FocusTrap/FocusTrap.d.ts +1 -1
- package/lib/typescript/src/components/KeyboardFocusLock/FocusTrap/FocusTrap.d.ts.map +1 -1
- package/lib/typescript/src/components/KeyboardFocusView/KeyboardFocusView.d.ts +124 -1
- package/lib/typescript/src/components/KeyboardFocusView/KeyboardFocusView.d.ts.map +1 -1
- package/lib/typescript/src/components/Touchable/Pressable.d.ts +158 -1
- package/lib/typescript/src/components/Touchable/Pressable.d.ts.map +1 -1
- package/lib/typescript/src/context/OrderFocusContext.d.ts +1 -1
- package/lib/typescript/src/context/OrderFocusContext.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +656 -9
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/nativeSpec/ExternalKeyboardLockViewNativeComponent.d.ts +2 -2
- package/lib/typescript/src/nativeSpec/ExternalKeyboardLockViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/nativeSpec/ExternalKeyboardViewNativeComponent.d.ts +2 -2
- package/lib/typescript/src/nativeSpec/ExternalKeyboardViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/nativeSpec/KeyboardFocusGroupNativeComponent.d.ts +2 -2
- package/lib/typescript/src/nativeSpec/KeyboardFocusGroupNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/nativeSpec/NativeExternalKeyboardModule.d.ts +1 -1
- package/lib/typescript/src/nativeSpec/TextInputFocusWrapperNativeComponent.d.ts +2 -2
- package/lib/typescript/src/nativeSpec/TextInputFocusWrapperNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/types/focus.types.d.ts +1 -10
- package/lib/typescript/src/types/focus.types.d.ts.map +1 -1
- package/lib/typescript/src/utils/useFocusStyle.d.ts +1005 -3
- package/lib/typescript/src/utils/useFocusStyle.d.ts.map +1 -1
- package/lib/typescript/src/utils/useKeyboardFocusContainer.d.ts +867 -3
- package/lib/typescript/src/utils/useKeyboardFocusContainer.d.ts.map +1 -1
- package/lib/typescript/src/utils/useRenderedChildren.d.ts +1 -1
- package/lib/typescript/src/utils/useRenderedChildren.d.ts.map +1 -1
- package/lib/typescript/src/utils/withKeyboardFocus.d.ts +6 -2
- package/lib/typescript/src/utils/withKeyboardFocus.d.ts.map +1 -1
- package/package.json +4 -7
- package/src/nativeSpec/ExternalKeyboardLockViewNativeComponent.ts +1 -3
- package/src/nativeSpec/ExternalKeyboardViewNativeComponent.ts +6 -5
- package/src/nativeSpec/KeyboardFocusGroupNativeComponent.ts +5 -3
- package/src/nativeSpec/TextInputFocusWrapperNativeComponent.ts +5 -3
- package/src/types/focus.types.ts +1 -10
|
@@ -6,19 +6,19 @@ import com.externalkeyboard.views.ExternalKeyboardLockView.ExternalKeyboardLockV
|
|
|
6
6
|
import com.externalkeyboard.views.ExternalKeyboardView.ExternalKeyboardViewManager;
|
|
7
7
|
import com.externalkeyboard.views.KeyboardFocusGroup.KeyboardFocusGroupManager;
|
|
8
8
|
import com.externalkeyboard.views.TextInputFocusWrapper.TextInputFocusWrapperManager;
|
|
9
|
-
import com.facebook.react.
|
|
9
|
+
import com.facebook.react.BaseReactPackage;
|
|
10
10
|
import com.facebook.react.bridge.NativeModule;
|
|
11
11
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
12
12
|
import com.facebook.react.module.model.ReactModuleInfo;
|
|
13
13
|
import com.facebook.react.module.model.ReactModuleInfoProvider;
|
|
14
14
|
import com.facebook.react.uimanager.ViewManager;
|
|
15
15
|
|
|
16
|
-
import java.util.
|
|
16
|
+
import java.util.Arrays;
|
|
17
17
|
import java.util.List;
|
|
18
18
|
import java.util.HashMap;
|
|
19
19
|
import java.util.Map;
|
|
20
20
|
|
|
21
|
-
public class ExternalKeyboardViewPackage extends
|
|
21
|
+
public class ExternalKeyboardViewPackage extends BaseReactPackage {
|
|
22
22
|
@Override
|
|
23
23
|
public NativeModule getModule(String name, ReactApplicationContext reactContext) {
|
|
24
24
|
if (name.equals(ExternalKeyboardModule.NAME)) {
|
|
@@ -30,29 +30,31 @@ public class ExternalKeyboardViewPackage extends TurboReactPackage {
|
|
|
30
30
|
|
|
31
31
|
@Override
|
|
32
32
|
public ReactModuleInfoProvider getReactModuleInfoProvider() {
|
|
33
|
-
return ()
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
33
|
+
return new ReactModuleInfoProvider() {
|
|
34
|
+
@Override
|
|
35
|
+
public Map<String, ReactModuleInfo> getReactModuleInfos() {
|
|
36
|
+
Map<String, ReactModuleInfo> map = new HashMap<>();
|
|
37
|
+
|
|
38
|
+
map.put(ExternalKeyboardModule.NAME, new ReactModuleInfo(
|
|
39
|
+
ExternalKeyboardModule.NAME, // name
|
|
40
|
+
ExternalKeyboardModule.NAME, // className
|
|
41
|
+
false, // canOverrideExistingModule
|
|
42
|
+
false, // needsEagerInit
|
|
43
|
+
false, // isCxxModule
|
|
44
|
+
BuildConfig.IS_NEW_ARCHITECTURE_ENABLED // isTurboModule
|
|
45
|
+
));
|
|
46
|
+
return map;
|
|
47
|
+
}
|
|
45
48
|
};
|
|
46
49
|
}
|
|
47
50
|
|
|
48
51
|
@Override
|
|
49
52
|
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return viewManagers;
|
|
53
|
+
return Arrays.asList(
|
|
54
|
+
new ExternalKeyboardViewManager(),
|
|
55
|
+
new TextInputFocusWrapperManager(),
|
|
56
|
+
new KeyboardFocusGroupManager(),
|
|
57
|
+
new ExternalKeyboardLockViewManager()
|
|
58
|
+
);
|
|
57
59
|
}
|
|
58
60
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
package com.externalkeyboard.services;
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
import static com.facebook.react.uimanager.common.UIManagerType.FABRIC;
|
|
5
|
-
|
|
6
4
|
import android.app.Activity;
|
|
7
5
|
import android.util.Log;
|
|
8
6
|
import android.view.View;
|
|
@@ -11,8 +9,6 @@ import com.facebook.react.bridge.ReactApplicationContext;
|
|
|
11
9
|
import com.facebook.react.bridge.UIManager;
|
|
12
10
|
import com.facebook.react.uimanager.IllegalViewOperationException;
|
|
13
11
|
import com.facebook.react.uimanager.UIManagerHelper;
|
|
14
|
-
import com.facebook.react.uimanager.UIManagerModule;
|
|
15
|
-
import com.facebook.react.uimanager.common.ViewUtil;
|
|
16
12
|
|
|
17
13
|
public class KeyboardService {
|
|
18
14
|
private final ReactApplicationContext context;
|
|
@@ -30,17 +26,12 @@ public class KeyboardService {
|
|
|
30
26
|
|
|
31
27
|
activity.runOnUiThread(() -> {
|
|
32
28
|
try {
|
|
33
|
-
|
|
34
|
-
if (
|
|
35
|
-
|
|
36
|
-
if (
|
|
37
|
-
View view = fabricUIManager.resolveView(tag);
|
|
29
|
+
UIManager uiManager = UIManagerHelper.getUIManagerForReactTag(context, tag);
|
|
30
|
+
if (uiManager != null) {
|
|
31
|
+
View view = uiManager.resolveView(tag);
|
|
32
|
+
if (view != null) {
|
|
38
33
|
view.requestFocus();
|
|
39
34
|
}
|
|
40
|
-
} else {
|
|
41
|
-
UIManager uiManager = context.getNativeModule(UIManagerModule.class);
|
|
42
|
-
View view = uiManager.resolveView(tag);
|
|
43
|
-
view.requestFocus();
|
|
44
35
|
}
|
|
45
36
|
} catch (IllegalViewOperationException error) {
|
|
46
37
|
Log.e("KEYBOARD_FOCUS_ERROR", error.getMessage());
|
|
@@ -2,10 +2,7 @@ package com.externalkeyboard;
|
|
|
2
2
|
|
|
3
3
|
import android.view.ViewGroup;
|
|
4
4
|
|
|
5
|
-
import androidx.annotation.Nullable;
|
|
6
|
-
|
|
7
5
|
import com.facebook.react.views.view.ReactViewManager;
|
|
8
|
-
import com.facebook.react.viewmanagers.TextInputFocusWrapperManagerDelegate;
|
|
9
6
|
|
|
10
7
|
public abstract class TextInputFocusWrapperManagerSpec<T extends ViewGroup> extends ReactViewManager implements TextInputFocusWrapperManagerInterface<T> {
|
|
11
8
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { codegenNativeComponent, type ViewProps } from 'react-native';
|
|
2
2
|
import type { Int32 } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
4
|
-
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
5
3
|
|
|
6
4
|
export interface ExternalKeyboardLockViewNativeComponentProps
|
|
7
5
|
extends ViewProps {
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
codegenNativeComponent,
|
|
3
|
+
codegenNativeCommands,
|
|
4
|
+
type ColorValue,
|
|
5
|
+
type ViewProps,
|
|
6
|
+
} from 'react-native';
|
|
2
7
|
import type {
|
|
3
8
|
BubblingEventHandler,
|
|
4
9
|
DirectEventHandler,
|
|
@@ -6,10 +11,6 @@ import type {
|
|
|
6
11
|
Int32,
|
|
7
12
|
} from 'react-native/Libraries/Types/CodegenTypes';
|
|
8
13
|
import type { ComponentType } from 'react';
|
|
9
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
10
|
-
import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
|
|
11
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
12
|
-
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
13
14
|
|
|
14
15
|
export type FocusChange = Readonly<{
|
|
15
16
|
isFocused: boolean;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
codegenNativeComponent,
|
|
3
|
+
type ViewProps,
|
|
4
|
+
type ColorValue,
|
|
5
|
+
} from 'react-native';
|
|
2
6
|
import type { DirectEventHandler } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
4
|
-
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
5
7
|
|
|
6
8
|
export type FocusChange = Readonly<{
|
|
7
9
|
isFocused: boolean;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
codegenNativeComponent,
|
|
3
|
+
type ViewProps,
|
|
4
|
+
type ColorValue,
|
|
5
|
+
} from 'react-native';
|
|
2
6
|
import type {
|
|
3
7
|
DirectEventHandler,
|
|
4
8
|
Float,
|
|
5
9
|
Int32,
|
|
6
10
|
} from 'react-native/Libraries/Types/CodegenTypes';
|
|
7
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
8
|
-
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
9
11
|
|
|
10
12
|
export type FocusChange = Readonly<{
|
|
11
13
|
isFocused: boolean;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { codegenNativeComponent, type ViewProps } from 'react-native';
|
|
2
2
|
import type { Int32 } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
4
|
-
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
5
3
|
|
|
6
4
|
export interface ExternalKeyboardLockViewNativeComponentProps
|
|
7
5
|
extends ViewProps {
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
codegenNativeComponent,
|
|
3
|
+
codegenNativeCommands,
|
|
4
|
+
type ColorValue,
|
|
5
|
+
type ViewProps,
|
|
6
|
+
} from 'react-native';
|
|
2
7
|
import type {
|
|
3
8
|
BubblingEventHandler,
|
|
4
9
|
DirectEventHandler,
|
|
@@ -6,10 +11,6 @@ import type {
|
|
|
6
11
|
Int32,
|
|
7
12
|
} from 'react-native/Libraries/Types/CodegenTypes';
|
|
8
13
|
import type { ComponentType } from 'react';
|
|
9
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
10
|
-
import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
|
|
11
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
12
|
-
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
13
14
|
|
|
14
15
|
export type FocusChange = Readonly<{
|
|
15
16
|
isFocused: boolean;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
codegenNativeComponent,
|
|
3
|
+
type ViewProps,
|
|
4
|
+
type ColorValue,
|
|
5
|
+
} from 'react-native';
|
|
2
6
|
import type { DirectEventHandler } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
4
|
-
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
5
7
|
|
|
6
8
|
export type FocusChange = Readonly<{
|
|
7
9
|
isFocused: boolean;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
codegenNativeComponent,
|
|
3
|
+
type ViewProps,
|
|
4
|
+
type ColorValue,
|
|
5
|
+
} from 'react-native';
|
|
2
6
|
import type {
|
|
3
7
|
DirectEventHandler,
|
|
4
8
|
Float,
|
|
5
9
|
Int32,
|
|
6
10
|
} from 'react-native/Libraries/Types/CodegenTypes';
|
|
7
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
8
|
-
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
9
11
|
|
|
10
12
|
export type FocusChange = Readonly<{
|
|
11
13
|
isFocused: boolean;
|
|
@@ -1,6 +1,128 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
export declare const BaseKeyboardView: React.NamedExoticComponent<Readonly<Omit<Readonly<{
|
|
3
|
+
onAccessibilityAction?: ((event: import("react-native").AccessibilityActionEvent) => unknown) | undefined;
|
|
4
|
+
onAccessibilityTap?: (() => unknown) | undefined;
|
|
5
|
+
onLayout?: ((event: import("react-native").LayoutChangeEvent) => unknown) | undefined;
|
|
6
|
+
onMagicTap?: (() => unknown) | undefined;
|
|
7
|
+
onAccessibilityEscape?: (() => unknown) | undefined;
|
|
8
|
+
}>, "onMoveShouldSetResponder" | "onMoveShouldSetResponderCapture" | "onResponderGrant" | "onResponderMove" | "onResponderReject" | "onResponderRelease" | "onResponderStart" | "onResponderEnd" | "onResponderTerminate" | "onResponderTerminationRequest" | "onStartShouldSetResponder" | "onStartShouldSetResponderCapture" | "onMouseEnter" | "onMouseLeave" | "onClick" | "onClickCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onBlur" | "onBlurCapture" | "onFocus" | "onFocusCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
9
|
+
onMoveShouldSetResponder?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
|
|
10
|
+
onMoveShouldSetResponderCapture?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
|
|
11
|
+
onResponderGrant?: ((e: import("react-native").GestureResponderEvent) => void | boolean) | undefined;
|
|
12
|
+
onResponderMove?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
13
|
+
onResponderReject?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
14
|
+
onResponderRelease?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
15
|
+
onResponderStart?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
16
|
+
onResponderEnd?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
17
|
+
onResponderTerminate?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
18
|
+
onResponderTerminationRequest?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
|
|
19
|
+
onStartShouldSetResponder?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
|
|
20
|
+
onStartShouldSetResponderCapture?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
|
|
21
|
+
}>, "onMouseEnter" | "onMouseLeave" | "onClick" | "onClickCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onBlur" | "onBlurCapture" | "onFocus" | "onFocusCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
22
|
+
onMouseEnter?: ((event: import("react-native").MouseEvent) => void) | undefined;
|
|
23
|
+
onMouseLeave?: ((event: import("react-native").MouseEvent) => void) | undefined;
|
|
24
|
+
}>, "onClick" | "onClickCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onBlur" | "onBlurCapture" | "onFocus" | "onFocusCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
25
|
+
onClick?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
26
|
+
onClickCapture?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
27
|
+
onPointerEnter?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
28
|
+
onPointerEnterCapture?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
29
|
+
onPointerLeave?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
30
|
+
onPointerLeaveCapture?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
31
|
+
onPointerMove?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
32
|
+
onPointerMoveCapture?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
33
|
+
onPointerCancel?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
34
|
+
onPointerCancelCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
35
|
+
onPointerDown?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
36
|
+
onPointerDownCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
37
|
+
onPointerUp?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
38
|
+
onPointerUpCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
39
|
+
onPointerOver?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
40
|
+
onPointerOverCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
41
|
+
onPointerOut?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
42
|
+
onPointerOutCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
43
|
+
onGotPointerCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
44
|
+
onGotPointerCaptureCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
45
|
+
onLostPointerCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
46
|
+
onLostPointerCaptureCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
47
|
+
}>, "onClick" | "onBlur" | "onBlurCapture" | "onFocus" | "onFocusCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
48
|
+
onBlur?: ((event: import("react-native").BlurEvent) => void) | undefined;
|
|
49
|
+
onBlurCapture?: ((event: import("react-native").BlurEvent) => void) | undefined;
|
|
50
|
+
onFocus?: ((event: import("react-native").FocusEvent) => void) | undefined;
|
|
51
|
+
onFocusCapture?: ((event: import("react-native").FocusEvent) => void) | undefined;
|
|
52
|
+
}>, "onClick" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
53
|
+
onTouchCancel?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
54
|
+
onTouchCancelCapture?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
55
|
+
onTouchEnd?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
56
|
+
onTouchEndCapture?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
57
|
+
onTouchMove?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
58
|
+
onTouchMoveCapture?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
59
|
+
onTouchStart?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
60
|
+
onTouchStartCapture?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
61
|
+
}>, "onClick" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
62
|
+
nativeBackgroundAndroid?: import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").AndroidDrawable | undefined;
|
|
63
|
+
nativeForegroundAndroid?: import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").AndroidDrawable | undefined;
|
|
64
|
+
renderToHardwareTextureAndroid?: boolean | undefined;
|
|
65
|
+
hasTVPreferredFocus?: boolean | undefined;
|
|
66
|
+
nextFocusDown?: number | undefined;
|
|
67
|
+
nextFocusForward?: number | undefined;
|
|
68
|
+
nextFocusLeft?: number | undefined;
|
|
69
|
+
nextFocusRight?: number | undefined;
|
|
70
|
+
nextFocusUp?: number | undefined;
|
|
71
|
+
focusable?: boolean | undefined;
|
|
72
|
+
tabIndex?: 0 | -1;
|
|
73
|
+
onClick?: ((event: import("react-native").GestureResponderEvent) => unknown) | undefined;
|
|
74
|
+
}>, "shouldRasterizeIOS" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
75
|
+
shouldRasterizeIOS?: boolean | undefined;
|
|
76
|
+
}>, "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<Omit<Readonly<{
|
|
77
|
+
accessibilityLabelledBy?: (string | undefined) | (Array<string> | undefined);
|
|
78
|
+
"aria-labelledby"?: string | undefined;
|
|
79
|
+
accessibilityLiveRegion?: ("none" | "polite" | "assertive") | undefined;
|
|
80
|
+
"aria-live"?: ("polite" | "assertive" | "off") | undefined;
|
|
81
|
+
importantForAccessibility?: ("auto" | "yes" | "no" | "no-hide-descendants") | undefined;
|
|
82
|
+
screenReaderFocusable?: boolean;
|
|
83
|
+
}>, "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden"> & Omit<Readonly<{
|
|
84
|
+
accessibilityIgnoresInvertColors?: boolean | undefined;
|
|
85
|
+
accessibilityViewIsModal?: boolean | undefined;
|
|
86
|
+
accessibilityShowsLargeContentViewer?: boolean | undefined;
|
|
87
|
+
accessibilityLargeContentTitle?: string | undefined;
|
|
88
|
+
"aria-modal"?: boolean | undefined;
|
|
89
|
+
accessibilityElementsHidden?: boolean | undefined;
|
|
90
|
+
accessibilityLanguage?: string | undefined;
|
|
91
|
+
accessibilityRespondsToUserInteraction?: boolean | undefined;
|
|
92
|
+
}>, "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden"> & {
|
|
93
|
+
accessible?: boolean | undefined;
|
|
94
|
+
accessibilityLabel?: string | undefined;
|
|
95
|
+
accessibilityHint?: string | undefined;
|
|
96
|
+
"aria-label"?: string | undefined;
|
|
97
|
+
accessibilityRole?: import("react-native").AccessibilityRole | undefined;
|
|
98
|
+
role?: import("react-native").Role | undefined;
|
|
99
|
+
accessibilityState?: import("react-native").AccessibilityState | undefined;
|
|
100
|
+
accessibilityValue?: import("react-native").AccessibilityValue | undefined;
|
|
101
|
+
"aria-valuemax"?: import("react-native").AccessibilityValue["max"] | undefined;
|
|
102
|
+
"aria-valuemin"?: import("react-native").AccessibilityValue["min"] | undefined;
|
|
103
|
+
"aria-valuenow"?: import("react-native").AccessibilityValue["now"] | undefined;
|
|
104
|
+
"aria-valuetext"?: import("react-native").AccessibilityValue["text"] | undefined;
|
|
105
|
+
accessibilityActions?: ReadonlyArray<import("react-native/types_generated/Libraries/Components/View/ViewAccessibility").AccessibilityActionInfo> | undefined;
|
|
106
|
+
"aria-busy"?: boolean | undefined;
|
|
107
|
+
"aria-checked"?: (boolean | undefined) | "mixed";
|
|
108
|
+
"aria-disabled"?: boolean | undefined;
|
|
109
|
+
"aria-expanded"?: boolean | undefined;
|
|
110
|
+
"aria-selected"?: boolean | undefined;
|
|
111
|
+
"aria-hidden"?: boolean | undefined;
|
|
112
|
+
}>, "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
113
|
+
children?: React.ReactNode;
|
|
114
|
+
style?: import("react-native/types_generated/Libraries/StyleSheet/StyleSheet").ViewStyleProp | undefined;
|
|
115
|
+
collapsable?: boolean | undefined;
|
|
116
|
+
collapsableChildren?: boolean | undefined;
|
|
117
|
+
id?: string;
|
|
118
|
+
testID?: string | undefined;
|
|
119
|
+
nativeID?: string | undefined;
|
|
120
|
+
needsOffscreenAlphaCompositing?: boolean | undefined;
|
|
121
|
+
hitSlop?: import("react-native/types_generated/Libraries/StyleSheet/EdgeInsetsPropType").EdgeInsetsOrSizeProp | undefined;
|
|
122
|
+
pointerEvents?: ("auto" | "box-none" | "box-only" | "none") | undefined;
|
|
123
|
+
removeClippedSubviews?: boolean | undefined;
|
|
124
|
+
experimental_accessibilityOrder?: Array<string> | undefined;
|
|
125
|
+
}>, never>> & {
|
|
4
126
|
focusableWrapper?: boolean;
|
|
5
127
|
onFocusChange?: import("../..").OnFocusChangeFn;
|
|
6
128
|
onKeyUpPress?: import("../..").OnKeyPressFn;
|
|
@@ -17,5 +139,9 @@ export declare const BaseKeyboardView: React.MemoExoticComponent<React.ForwardRe
|
|
|
17
139
|
screenAutoA11yFocus?: boolean;
|
|
18
140
|
screenAutoA11yFocusDelay?: number;
|
|
19
141
|
enableA11yFocus?: boolean;
|
|
20
|
-
} & import("../../types/baseKeyboardView.types").CommonFocusProps & import("../../types").FocusOrderProps & React.RefAttributes<import("../..").KeyboardFocus |
|
|
142
|
+
} & import("../../types/baseKeyboardView.types").CommonFocusProps & import("../../types").FocusOrderProps & React.RefAttributes<import("../..").KeyboardFocus | ((props: Omit<import("react-native").ViewProps, keyof {
|
|
143
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native").unstable_NativeView>>;
|
|
144
|
+
}> & {
|
|
145
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native").unstable_NativeView>>;
|
|
146
|
+
}) => React.ReactNode)>>;
|
|
21
147
|
//# sourceMappingURL=BaseKeyboardView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseKeyboardView.d.ts","sourceRoot":"","sources":["../../../../../src/components/BaseKeyboardView/BaseKeyboardView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseKeyboardView.d.ts","sourceRoot":"","sources":["../../../../../src/components/BaseKeyboardView/BaseKeyboardView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAmDf,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAnCX,CAAC;;OAGd,CAAA;wBAqOJ,CAAC"}
|