/* Metro module 4585; source: design/components/Button/native/BaseButton.native.tsx; dependencies: [29, 31, 27, 4586, 33, 3868, 4501, 697, 4583, 4017, 1360, 477, 2] */
function _fun38889(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#38889, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4763:6, offset: 0x010cf432, size: 309 bytes, params: 8, frame: 22
const env0_0 = require;
const env0_3 = ['style'];
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_4 = importDefault(29) /* metro dependency 29 */;
let value = importAll(31) /* metro dependency 31 */;
const {Pressable, TouchableOpacity} = require(27) /* metro dependency 27 */;
const env0_6 = (require(4586) /* metro dependency 4586: styleConstants */).IOS_POINTER_STYLE;
const env0_7 = (require(33) /* metro dependency 33 */).jsx;
const env0_8 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun38890);
const env0_9 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).createAnimatedComponent(Pressable);
const env0_10 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).createAnimatedComponent(TouchableOpacity);
value = value.forwardRef(_fun38891);
(require(2) /* metro dependency 2 */).fileFinishedImporting('design/components/Button/native/BaseButton.native.tsx');
exports.BaseButton = value;
}
function _fun38890(a0) { // fn#38890, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4763:247, offset: 0x010cf567, size: 140 bytes, params: 2, frame: 13
var r3;
var r2;
if (a0 === 'secondary') {
r2 = (importDefault(697) /* metro dependency 697: native */).shadows.SHADOW_LOW;
r3 = importDefault;
} else if (a0 !== 'primary-overlay') {
r2 = {};
} else {
r2 = (importDefault(697) /* metro dependency 697: native */).shadows.SHADOW_BUTTON_OVERLAY;
r3 = importDefault;
}
const object = {};
copyDataProperties(object, r2, r3);
return {button: object, disabled: {opacity: 0.5}};
}
function _fun38891({children, style, variant, disabled, loading, pressed, onPress, onPressDisabled, onPressIn, onPressOut, onLongPress, onLayout, accessible, accessibilityRole, accessibilityLabel, accessibilityHint, accessibilityValue, accessibilityState, accessibilityActions, onAccessibilityAction, accessibilityElementsHidden, importantForAccessibility, pointerEvents, hitSlop, scaleAmountInPx}, a1) { // fn#38891, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4763:524, offset: 0x010cf5f3, size: 1065 bytes, params: 3, frame: 46
variant = variant === undefined ? 'primary' : variant;
disabled = !(disabled === undefined) && disabled;
loading = !(loading === undefined) && loading;
const env0_3 = undefined;
const styles = useStyles(variant);
const r7 = disabled && onPressDisabled == null;
const r9 = (disabled ? onPressDisabled : onPress) ?? undefined;
const value7 = (require(4583) /* metro dependency 4583: ButtonHooksNative */).useButtonPressAnimationProps(pressed,
scaleAmountInPx, onLayout, onPressIn, onPressOut);
const style2 = value7.style;
let binding = env0_4;
const r10 = pressed == null ? {animatedScaleStyles: undefined, buttonAnimationProps: {onLayout: onLayout,
onPressIn: onPressIn, onPressOut: onPressOut}} : {animatedScaleStyles: style2,
buttonAnimationProps: binding(value7, env0_3)};
const animatedScaleStyles = r10.animatedScaleStyles;
const buttonAnimationProps = r10.buttonAnimationProps;
const value9 = env0_5.useMemo(_fun38892, [accessibilityState, r7, loading]);
const nativeModule = require(3868) /* metro dependency 3868: native */;
const useThemeContext = nativeModule.useThemeContext;
const theme = Reflect.apply(useThemeContext, nativeModule, []).theme;
const value10 = 'light';
const r30 = variant === 'primary-overlay' ? value10 : variant !== 'secondary-overlay' || value10 !== theme ? undefined : 'dark';
const r5 = r30 == null ? children : {children};
const items = [styles.button, style];
disabled = disabled && styles.disabled;
items[2] = disabled;
items[3] = animatedScaleStyles;
items[4] = IOS_POINTER_STYLE;
if (accessibilityRole !== 'none') {
return ((Component) => {r5})(env0_9);
}
const r27 = accessibilityElementsHidden ? '' : [accessibilityLabel,
accessibilityHint].filter((require(1360) /* metro dependency 1360: GlobalUtils */).isNotNullish).join(', ');
binding = env0_10;
const bindingProps2 = {...buttonAnimationProps};
bindingProps2['ref'] = a1;
bindingProps2['accessible'] = !(accessible ?? (require(477) /* metro dependency 477: PlatformUtils */).isAndroid()) && undefined;
bindingProps2['accessibilityRole'] = 'none';
bindingProps2['accessibilityLabel'] = r27;
bindingProps2['accessibilityElementsHidden'] = accessibilityElementsHidden;
bindingProps2['activeOpacity'] = 1;
bindingProps2['importantForAccessibility'] = importantForAccessibility;
bindingProps2['style'] = items;
bindingProps2['onPress'] = r9;
bindingProps2['onPressIn'] = function(a0) {
if (buttonAnimationProps.onPressIn != null) {
buttonAnimationProps.onPressIn(a0);
}
};
bindingProps2['onPressOut'] = function(a0) {
if (buttonAnimationProps.onPressOut != null) {
buttonAnimationProps.onPressOut(a0);
}
};
bindingProps2['hitSlop'] = hitSlop;
return ((Component) => {r5})(binding);
}
function _fun38892() { // fn#38892, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4763:1367, offset: 0x010cfa1c, size: 44 bytes, params: 1, frame: 13
const object2 = {};
copyDataProperties(object2, accessibilityState, undefined);
object2['disabled'] = env0_2;
object2['busy'] = loading;
return object2;
}