decord/source/design/components/Button/native/ImageButton.native.tsx
2026-07-27 11:26:19 +00:00

157 lines
6.1 KiB
TypeScript

// Module ID: 12200
// Function ID: 95406
// Name: ImageButton
// Dependencies: [31, 27, 33, 4131, 4548, 689, 4549, 3992, 4543, 4547, 4551, 6626, 4127, 2]
// Module 12200 (ImageButton)
import importAllResult from "result";
import get_ActivityIndicator from "get ActivityIndicator";
import jsxProd from "jsxProd";
import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose";
let closure_4;
let closure_5;
let closure_6;
let closure_7;
const require = arg1;
({ View: closure_4, Image: closure_5 } = get_ActivityIndicator);
({ jsx: closure_6, jsxs: closure_7 } = jsxProd);
let closure_8 = _createForOfIteratorHelperLoose.createStyles((arg0, arg1, arg2) => {
let MEDIUM_BUTTON_PADDING = require(4548) /* getButtonPadding */.LARGE_BUTTON_PADDING;
if ("sm" === arg0) {
MEDIUM_BUTTON_PADDING = require(4548) /* getButtonPadding */.SMALL_BUTTON_PADDING;
} else if ("md" === arg0) {
MEDIUM_BUTTON_PADDING = require(4548) /* getButtonPadding */.MEDIUM_BUTTON_PADDING;
}
const sum = arg1 + 2 * MEDIUM_BUTTON_PADDING;
let obj = require(4548) /* getButtonPadding */;
const buttonBorderRadius = obj.getButtonBorderRadius(arg0);
obj = {};
obj = { paddingBottom: importDefault(689).space.PX_4, gap: importDefault(689).space.PX_8, alignItems: "center", alignSelf: "center" };
let num = 0;
if (arg2) {
num = 1;
}
obj.flexGrow = num;
obj.labelPressable = obj;
const obj1 = { paddingHorizontal: 0, paddingVertical: 0, minHeight: sum, minWidth: sum, borderRadius: buttonBorderRadius, borderWidth: 0, outlineWidth: require(4548) /* getButtonPadding */.BUTTON_BORDER_WIDTH, outlineColor: importDefault(689).colors.CONTROL_SECONDARY_BORDER_DEFAULT, outlineStyle: "solid" };
obj.pill = obj1;
obj.imageWrapper = { width: sum, height: sum, position: "relative" };
obj.image = { width: sum, height: sum };
const obj2 = { position: "absolute", top: 0, left: 0, right: 0, bottom: 0, backgroundColor: importDefault(689).colors.REDESIGN_IMAGE_BUTTON_PRESSED_BACKGROUND, borderRadius: buttonBorderRadius };
obj.imageDim = obj2;
return obj;
});
let closure_9 = { code: "function ImageButtonNativeTsx1(){const{withSpring,pressed,ON_PRESS_SPRING}=this.__closure;return{opacity:withSpring(pressed.get()===1?1:0,ON_PRESS_SPRING,'animate-always')};}" };
const forwardRefResult = importAllResult.forwardRef((size, ref) => {
let accessibilityLabel;
let grow;
let image;
let label;
let maxFontSizeMultiplier;
let onPressIn;
let str = size.size;
if (str === undefined) {
str = "lg";
}
({ label, accessibilityLabel, maxFontSizeMultiplier, onPressIn } = size);
const onPressOut = size.onPressOut;
let obj = { size: 0, label: 0, grow: 0, image: 0, accessibilityLabel: 0, maxFontSizeMultiplier: 0, onPressIn: 0, onPressOut: 0 };
({ grow, image } = size);
Object.setPrototypeOf(null);
const merged = Object.assign(size, obj);
let sharedValue;
let obj1 = onPressIn(sharedValue[6]);
const tmp3 = callback3(str, obj1.useIconSizeStyles(str, true, maxFontSizeMultiplier).width, grow);
let obj2 = onPressIn(sharedValue[7]);
sharedValue = obj2.useSharedValue(0);
const items = [sharedValue, onPressIn];
const callback = importAllResult.useCallback((arg0) => {
const result = sharedValue.set(1);
if (null != onPressIn) {
onPressIn(arg0);
}
}, items);
const items1 = [sharedValue, onPressOut];
const callback1 = importAllResult.useCallback((arg0) => {
const result = sharedValue.set(0);
if (null != onPressOut) {
onPressOut(arg0);
}
}, items1);
let obj3 = onPressIn(sharedValue[7]);
class B {
constructor() {
obj = {};
obj2 = onPressIn(c2[8]);
num = 0;
if (1 === c2.get()) {
num = 1;
}
obj.opacity = obj2.withSpring(num, onPressIn(c2[9]).ON_PRESS_SPRING, "animate-always");
return obj;
}
}
obj = { withSpring: onPressIn(sharedValue[8]).withSpring, pressed: sharedValue, ON_PRESS_SPRING: onPressIn(sharedValue[9]).ON_PRESS_SPRING };
B.__closure = obj;
B.__workletHash = 17257158773379;
B.__initData = closure_9;
obj = { style: tmp3.imageWrapper };
obj1 = { source: image, style: tmp3.image };
const animatedStyle = obj3.useAnimatedStyle(B);
const items2 = [callback(closure_5, obj1), ];
const items3 = [tmp3.imageDim, animatedStyle];
items2[1] = callback(onPressOut(sharedValue[7]).View, { style: items3 });
obj.children = items2;
const tmp8 = callback2(closure_4, obj);
if (null != label) {
obj2 = { style: tmp3.labelPressable };
const merged1 = Object.assign(merged);
obj2["variant"] = "none";
obj2["accessibilityLabel"] = accessibilityLabel;
obj3 = { ref };
const merged2 = Object.assign(merged);
obj3["icon"] = tmp8;
obj3["accessibilityRole"] = "none";
obj3["accessibilityLabel"] = "";
obj3["size"] = "lg";
obj3["pillStyle"] = tmp3.pill;
obj3["variant"] = "secondary";
obj3["onPressIn"] = callback;
obj3["onPressOut"] = callback1;
obj3["maxFontSizeMultiplier"] = maxFontSizeMultiplier;
const items4 = [callback(onPressIn(sharedValue[11]).BaseIconButton, obj3), ];
class B {
constructor() {
obj = {};
obj2 = onPressIn(c2[8]);
num = 0;
if (1 === c2.get()) {
num = 1;
}
obj.opacity = obj2.withSpring(num, onPressIn(c2[9]).ON_PRESS_SPRING, "animate-always");
return obj;
}
}
tmp19.maxFontSizeMultiplier = maxFontSizeMultiplier;
tmp19.children = label;
items4[1] = callback(onPressIn(sharedValue[12]).Text, tmp19);
obj2["children"] = items4;
let tmp20 = callback2(onPressIn(sharedValue[10]).BaseButton, obj2);
} else {
const obj4 = { ref };
const merged3 = Object.assign(merged);
obj4["size"] = str;
obj4["icon"] = tmp8;
obj4["accessibilityLabel"] = accessibilityLabel;
obj4["pillStyle"] = tmp3.pill;
obj4["variant"] = "secondary";
obj4["onPressIn"] = callback;
obj4["onPressOut"] = callback1;
tmp20 = callback(onPressIn(sharedValue[11]).BaseIconButton, obj4);
}
return tmp20;
});
let result = require("jsxProd").fileFinishedImporting("design/components/Button/native/ImageButton.native.tsx");
export const ImageButton = forwardRefResult;