decord/source/design/components/Button/native/BaseButton.native.tsx
2026-07-29 08:29:29 +00:00

201 lines
6.4 KiB
TypeScript

// Module ID: 4607
// Function ID: 4608
// Name: BaseButton
// Dependencies: [109, 19, 17, 4608, 21, 3901, 4189, 712, 4605, 4050, 1351, 500, 2]
// Module 4607 (BaseButton)
import _objectWithoutProperties from "_objectWithoutProperties";
import importAllResult from "noop";
import get_ActivityIndicator from "get ActivityIndicator";
import { IOS_POINTER_STYLE } from "IOS_POINTER_STYLE";
import { jsx } from "jsxProd";
import createCacheKey from "createCacheKey";
import importDefaultResult from "module_4050";
import importDefaultResult1 from "module_4050";
let Pressable;
let TouchableOpacity;
const require = arg1;
let closure_3 = ["style"];
let c5 = importAllResult;
({ Pressable, TouchableOpacity } = get_ActivityIndicator);
let closure_8 = createCacheKey.createStyles((arg0) => {
let prop = {};
if ("primary-overlay" === arg0) {
prop = importDefault(712).shadows.SHADOW_BUTTON_OVERLAY;
}
let obj = { button: null, disabled: null };
obj = {};
const merged = Object.assign(prop);
obj[0] = obj;
obj[1] = { opacity: 0.5 };
return obj;
});
let closure_9 = require("module_4050").createAnimatedComponent(Pressable);
let closure_10 = require("module_4050").createAnimatedComponent(TouchableOpacity);
const forwardRefResult = importAllResult.forwardRef((disabled, ref) => {
let accessibilityActions;
let accessibilityElementsHidden;
let accessibilityHint;
let accessibilityLabel;
let accessibilityRole;
let accessibilityState;
let accessibilityValue;
let accessible;
let children;
let hitSlop;
let importantForAccessibility;
let onAccessibilityAction;
let onLayout;
let onLongPress;
let onPress;
let onPressDisabled;
let onPressIn;
let onPressOut;
let pointerEvents;
let pressed;
let scaleAmountInPx;
let variant;
({ children, variant } = disabled);
if (variant === undefined) {
variant = "primary";
}
let flag = disabled.disabled;
if (flag === undefined) {
flag = false;
}
let flag2 = disabled.loading;
if (flag2 === undefined) {
flag2 = false;
}
({ pressed, onPress, onPressDisabled, onPressIn, onPressOut, onLayout, accessible, accessibilityRole, accessibilityLabel, accessibilityHint, accessibilityState } = disabled);
({ accessibilityElementsHidden, importantForAccessibility, hitSlop, scaleAmountInPx } = disabled);
let dependencyMap;
let buttonAnimationProps;
({ onLongPress, accessibilityValue, accessibilityActions, onAccessibilityAction, pointerEvents } = disabled);
const tmp = callback(variant);
let tmp2 = flag;
if (flag) {
tmp2 = null == onPressDisabled;
}
dependencyMap = tmp2;
if (flag) {
onPress = onPressDisabled;
}
let obj = flag2(4605);
const buttonPressAnimationProps = obj.useButtonPressAnimationProps(pressed, scaleAmountInPx, onLayout, onPressIn, onPressOut);
if (null == pressed) {
obj = { animatedScaleStyles: "Array", buttonAnimationProps: 0 };
obj = { onLayout: null, onPressIn: null, onPressOut: null };
obj[0] = onLayout;
obj[1] = onPressIn;
obj[2] = onPressOut;
obj[1] = obj;
let obj1 = obj;
} else {
obj1 = { animatedScaleStyles: null, buttonAnimationProps: null };
obj1[0] = buttonPressAnimationProps.style;
obj1[1] = tmp7;
}
buttonAnimationProps = obj1.buttonAnimationProps;
const items = [accessibilityState, tmp2, flag2];
const memo = importAllResult.useMemo(() => {
const obj = {};
const merged = Object.assign(accessibilityState);
obj.disabled = c2;
obj.busy = flag2;
return obj;
}, items);
let tmp4Result = tmp4(3901);
let str = "light";
if ("primary-overlay" !== variant) {
let str3;
if ("secondary-overlay" === variant) {
if ("light" === tmp10) {
str3 = "dark";
}
}
str = str3;
}
let tmp11 = children;
if (null != str) {
const obj2 = { theme: null, children: null };
obj2[0] = str;
obj2[1] = children;
tmp11 = jsx(tmp4(3901).ThemeContextProvider, { theme: null, children: null });
}
const items1 = [tmp.button, disabled.style, , , ];
if (flag) {
flag = tmp.disabled;
}
items1[2] = flag;
items1[3] = obj1.animatedScaleStyles;
items1[4] = IOS_POINTER_STYLE;
if ("none" !== accessibilityRole) {
const obj3 = {};
let merged = Object.assign(buttonAnimationProps);
obj3.ref = ref;
obj3.accessible = accessible;
if (accessibilityRole == null) {
accessibilityRole = "button";
}
obj3.accessibilityRole = accessibilityRole;
obj3.accessibilityLabel = accessibilityLabel;
obj3.accessibilityHint = accessibilityHint;
obj3.accessibilityValue = accessibilityValue;
obj3.accessibilityState = memo;
obj3.accessibilityActions = accessibilityActions;
obj3.onAccessibilityAction = onAccessibilityAction;
obj3.accessibilityElementsHidden = accessibilityElementsHidden;
obj3.importantForAccessibility = importantForAccessibility;
obj3.pointerEvents = pointerEvents;
obj3.style = items1;
obj3.onPress = onPress;
obj3.onLongPress = onLongPress;
obj3.disabled = tmp2;
obj3.hitSlop = hitSlop;
obj3.children = tmp11;
return <closure_9 />;
} else {
let str5 = "";
if (!accessibilityElementsHidden) {
const items2 = [accessibilityLabel, accessibilityHint];
const found = items2.filter(tmp4(1351).isNotNullish);
str5 = found.join(", ");
}
const obj4 = {};
const merged1 = Object.assign(buttonAnimationProps);
obj4.ref = ref;
let isAndroidResult = accessible;
if (accessible == null) {
tmp4Result = tmp4(500);
isAndroidResult = tmp4Result.isAndroid();
}
obj4.accessible = !isAndroidResult;
obj4.accessibilityRole = "none";
obj4.accessibilityLabel = str5;
obj4.accessibilityElementsHidden = accessibilityElementsHidden;
obj4.activeOpacity = 1;
obj4.importantForAccessibility = importantForAccessibility;
obj4.style = items1;
obj4.onPress = onPress;
obj4.onPressIn = function onPressIn(arg0) {
const onPressIn = buttonAnimationProps.onPressIn;
if (onPressIn != null) {
onPressIn(arg0);
}
};
obj4.onPressOut = function onPressOut(arg0) {
const onPressOut = buttonAnimationProps.onPressOut;
if (onPressOut != null) {
onPressOut(arg0);
}
};
obj4.hitSlop = hitSlop;
obj4.children = tmp11;
return <closure_10 />;
}
});
const result = require("get ActivityIndicator").fileFinishedImporting("design/components/Button/native/BaseButton.native.tsx");
export const BaseButton = forwardRefResult;