182 lines
5.7 KiB
React
182 lines
5.7 KiB
React
// Metro module 1822 (f1823).
|
|
import Module19, { useEffect, useMemo, useState } from "react";
|
|
import { View, StyleSheet } from "react-native";
|
|
import * as _Module1823 from "./Module1823";
|
|
import * as _Module1824 from "./Module1824";
|
|
import { KEYBOARD_HAS_ROUNDED_CORNERS, KEYBOARD_TOOLBAR_HEIGHT, OPENED_OFFSET, TEST_ID_KEYBOARD_TOOLBAR } from "./Module1824";
|
|
import { useKeyboardState } from "./useResizeMode";
|
|
import _default from "./_default_1825";
|
|
import _default2 from "./_default_1826";
|
|
import { FocusedInputEvents, RCTKeyboardToolbarGroupView } from "./Module1596";
|
|
import * as _Module1827 from "./Module1827";
|
|
import { Background, Content, Prev, Next } from "./Module1827";
|
|
import { ToolbarContext } from "./Module1831";
|
|
import Module1815 from "./Module1815";
|
|
let styles;
|
|
const _excluded = ["children", "content", "theme", "doneText", "button", "icon", "showArrows", "onNextCallback", "onPrevCallback", "onDoneCallback", "blur", "opacity", "offset", "enabled", "insets"];
|
|
const KeyboardToolbar = (props) => {
|
|
let r84, r106, r111;
|
|
const { children: children2, content, theme = _Module1823.colors } = props;
|
|
let isPrevDisabled, isNextDisabled, c13248_9, c13248_10, children, c13248_12, c13248_13;
|
|
const colors = theme;
|
|
const doneText = props.doneText;
|
|
const text = doneText !== void 0 ? doneText : "Done";
|
|
let button = props.button;
|
|
let icon = props.icon;
|
|
const { showArrows = true, onNextCallback, onPrevCallback, onDoneCallback, blur } = props;
|
|
let r18 = blur !== void 0 ? blur : null;
|
|
let opacity = props.opacity;
|
|
if (opacity === void 0) {
|
|
opacity = _Module1824.DEFAULT_OPACITY;
|
|
}
|
|
const DEFAULT_OPACITY = opacity;
|
|
let offset = props.offset;
|
|
if (offset === void 0) {
|
|
offset = {};
|
|
}
|
|
const { closed = 0, opened = 0 } = offset;
|
|
const { enabled: enabled2 = true, insets, ...rest } = props;
|
|
const keyboardState = useKeyboardState((a0) => a0.appearance);
|
|
const [state, setState] = useState({
|
|
current: 0,
|
|
count: 0
|
|
});
|
|
isPrevDisabled = state.current === 0;
|
|
isNextDisabled = state.current === state.count - 1;
|
|
if (button == null) {
|
|
button = _default;
|
|
}
|
|
if (icon == null) {
|
|
icon = _default2;
|
|
}
|
|
useEffect(() => FocusedInputEvents.addListener("focusDidSet", (a0) => {
|
|
setState(a0);
|
|
}).remove, []);
|
|
const memo = useMemo(() => [styles.toolbar, {
|
|
backgroundColor: `${colors[keyboardState].background}${DEFAULT_OPACITY}`
|
|
}, KEYBOARD_HAS_ROUNDED_CORNERS ? null : {
|
|
paddingLeft: insets?.left,
|
|
paddingRight: insets?.right
|
|
}, KEYBOARD_HAS_ROUNDED_CORNERS ? styles.floating : null], [keyboardState, DEFAULT_OPACITY, colors, insets]);
|
|
const memo2 = useMemo(() => {
|
|
const r10 = [styles.sticky, ,];
|
|
let r16 = null;
|
|
if (KEYBOARD_HAS_ROUNDED_CORNERS) {
|
|
let r8 = insets?.left;
|
|
if (r8 == null) {
|
|
r8 = 0;
|
|
}
|
|
let r21 = insets?.right;
|
|
if (r21 == null) {
|
|
r21 = 0;
|
|
}
|
|
r16 = {
|
|
left: r8 + 16,
|
|
right: r21 + 16
|
|
};
|
|
}
|
|
r10[1] = r16;
|
|
return r10;
|
|
}, [insets]);
|
|
const memo3 = useMemo(() => ({
|
|
closed: closed + KEYBOARD_TOOLBAR_HEIGHT,
|
|
opened: opened + OPENED_OFFSET
|
|
}), [closed, opened]);
|
|
if (children2) {
|
|
c13248_9 = null;
|
|
c13248_10 = null;
|
|
children = null;
|
|
c13248_12 = null;
|
|
c13248_13 = null;
|
|
Module19.Children.forEach(children2, (a0) => {
|
|
if (Module19.isValidElement(a0)) {
|
|
const type = a0.type;
|
|
if (type === Background) {
|
|
c13248_13 = a0;
|
|
} else if (type === Content) {
|
|
children = a0;
|
|
} else if (type === Prev) {
|
|
c13248_9 = a0;
|
|
} else if (type === Next) {
|
|
c13248_10 = a0;
|
|
} else if (type === _Module1827.Done) {
|
|
c13248_12 = a0;
|
|
}
|
|
}
|
|
});
|
|
const r117 = c13248_13;
|
|
const r118 = c13248_12;
|
|
const r121 = c13248_9 ? <View style={styles.arrows}>
|
|
{c13248_9}
|
|
{c13248_10}
|
|
</View> : c13248_10 ? <View style={styles.arrows}>
|
|
{c13248_9}
|
|
{c13248_10}
|
|
</View> : null;
|
|
let r130 = children;
|
|
if (r130 == null) {
|
|
r130 = <Content>{children}</Content>;
|
|
}
|
|
r111 = r130;
|
|
r106 = r118;
|
|
r84 = r121;
|
|
r18 = r117;
|
|
} else {
|
|
r84 = showArrows ? <View style={styles.arrows}>
|
|
<Prev button={button} icon={icon} onPress={onPrevCallback} />
|
|
<Next button={button} icon={icon} onPress={onNextCallback} />
|
|
</View> : null;
|
|
const r105 = <Content>{content}</Content>;
|
|
r106 = text ? <_Module1827.Done button={button} text={text} onPress={onDoneCallback} /> : null;
|
|
r111 = r105;
|
|
}
|
|
return <ToolbarContext.Provider value={useMemo(() => ({
|
|
theme: colors,
|
|
isPrevDisabled,
|
|
isNextDisabled
|
|
}), [colors, isPrevDisabled, isNextDisabled])}>
|
|
<Module1815 enabled={enabled2} offset={memo3} style={memo2}>
|
|
<View {...rest} style={memo} testID={TEST_ID_KEYBOARD_TOOLBAR}>
|
|
{r18}
|
|
{r84}
|
|
{r111}
|
|
{r106}
|
|
</View>
|
|
</Module1815>
|
|
</ToolbarContext.Provider>;
|
|
};
|
|
styles = StyleSheet.create({
|
|
sticky: {
|
|
position: "absolute",
|
|
left: 0,
|
|
right: 0,
|
|
bottom: 0,
|
|
height: KEYBOARD_TOOLBAR_HEIGHT
|
|
},
|
|
toolbar: {
|
|
position: "absolute",
|
|
bottom: 0,
|
|
alignItems: "center",
|
|
width: "100%",
|
|
flexDirection: "row",
|
|
height: KEYBOARD_TOOLBAR_HEIGHT
|
|
},
|
|
arrows: {
|
|
flexDirection: "row",
|
|
paddingLeft: 8
|
|
},
|
|
floating: {
|
|
alignSelf: "center",
|
|
borderRadius: 20,
|
|
overflow: "hidden"
|
|
}
|
|
});
|
|
KeyboardToolbar.Background = Background;
|
|
KeyboardToolbar.Content = Content;
|
|
KeyboardToolbar.Prev = Prev;
|
|
KeyboardToolbar.Next = Next;
|
|
KeyboardToolbar.Done = _Module1827.Done;
|
|
KeyboardToolbar.Group = RCTKeyboardToolbarGroupView;
|
|
export default KeyboardToolbar;
|
|
export const DefaultKeyboardToolbarTheme = _Module1823.colors;
|