/* Metro module 6735; source: modules/guild_onboarding/native/GuildOnboardingPromptOptionButton.tsx; dependencies: [57, 31, 27, 4502, 6540, 1881, 33, 4501, 697, 566, 4017, 4504, 4577, 6736, 1244, 3860, 3874, 5278, 6739, 1423, 4573, 6742, 1305, 2] */
function _fun53153(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#53153, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6913:6, offset: 0x0133f1ab, size: 573 bytes, params: 8, frame: 23
var object3;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const emojiStore = importDefault(6540) /* metro dependency 6540: EmojiStore */;
const env0_8 = (require(1881) /* metro dependency 1881: EmojiConstants */).EMOJI_URL_BASE_SIZE;
let value = require(33) /* metro dependency 33 */;
const env0_9 = value.jsx;
const env0_10 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object3 = {};
const object4 = {'borderRadius': null, 'borderWidth': 2, 'borderStyle': 'solid', 'marginBottom': 8};
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
object3.container = object4;
object3.optionButton = {'paddingVertical': 12, 'paddingHorizontal': 16, 'display': 'flex', 'flexDirection': 'row',
'alignItems': 'center'};
object3.optionTextEmoji = {'fontSize': 24, 'lineHeight': 24, 'marginRight': 12, 'paddingTop': 5};
object3.optionImageEmoji = {'height': 24, 'width': 24, 'marginRight': 12};
object3.optionText = {flexShrink: 1};
let BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND;
object3.checkIcon = {'position': 'absolute', 'top': -6, 'right': -6, 'width': 20, 'height': 20,
'backgroundColor': null, 'borderRadius': 10, 'display': 'flex', 'alignItems': 'center',
'justifyContent': 'center', backgroundColor: BACKGROUND_BRAND};
object3.newBadgeWrapper = {'position': 'absolute', 'top': -6, 'right': -6};
object3.newBadge = {fontWeight: 'bold'};
BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND;
object3.roleCount = {'position': 'absolute', 'top': -6, 'right': 24, 'paddingVertical': 2, 'paddingHorizontal': 6,
'backgroundColor': null, 'borderRadius': 10, 'display': 'flex', 'alignItems': 'center',
'justifyContent': 'center', backgroundColor: BACKGROUND_BRAND};
const env0_11 = Reflect.apply(createStyles, value, [object3]);
object3 = {code: 'function GuildOnboardingPromptOptionButtonTsx1(){const{selected,withTiming,Easing,useReducedMotion,withSequence,withSpring}=this.__closure;const rawOpacity=selected?1:0;const opacity=withTiming(rawOpacity,{duration:150,easing:Easing.out(Easing.ease)});const rawScale=selected?1:0.7;const scale=useReducedMotion?rawScale:withSequence(withSpring(rawScale*1.2,{stiffness:80,damping:6,mass:0.3}),withSpring(rawScale,{stiffness:80,damping:6,mass:0.3}));return{opacity:opacity,transform:[{scale:scale}]};}'};
object3 = {code: 'function GuildOnboardingPromptOptionButtonTsx2(){const{showMemberCount,withDelay,withTiming,Easing,useReducedMotion}=this.__closure;const rawOpacity=showMemberCount?1:0;const opacity=withDelay(showMemberCount?400:0,withTiming(rawOpacity,{duration:150,easing:Easing.out(Easing.ease)}));const rawTranslate=showMemberCount?0:16;const translateX=useReducedMotion?rawTranslate:withDelay(showMemberCount?400:0,withTiming(rawTranslate,{duration:200,easing:Easing.out(Easing.ease)}));return{opacity:opacity,transform:[{translateX:translateX}]};}'};
object3 = {code: "function GuildOnboardingPromptOptionButtonTsx3(){const{useReducedMotion,Easing,withTiming,selected,selectedBorderColor,isNew,unselectedBrandBorderColor,unselectedBorderColor,selectedBackgroundColor}=this.__closure;const timing=useReducedMotion?{duration:0}:{duration:200,easing:Easing.out(Easing.ease)};return{borderColor:withTiming(selected?selectedBorderColor:isNew?unselectedBrandBorderColor:unselectedBorderColor,timing),backgroundColor:withTiming(selected?selectedBackgroundColor:'transparent',timing)};}"};
object3 = {code: 'function GuildOnboardingPromptOptionButtonTsx4(){const{useReducedMotion,scale}=this.__closure;return useReducedMotion?{}:{transform:[{scale:scale.get()}]};}'};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_onboarding/native/GuildOnboardingPromptOptionButton.tsx');
exports.default = PromptOptionButton;
}
function PromptOptionButton({guildId, option, selected, onSelect, suppressMemberCount, canBeNew}) { // fn#53154, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6913:2931, offset: 0x0133f3e8, size: 2519 bytes, params: 2, frame: 43
var r23;
var r24;
var Math;
var max;
var value8;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var Emoji;
var TextBadge;
const env0_3 = suppressMemberCount;
const env0_12 = undefined;
const env0_13 = undefined;
const styles = useStyles();
const value3 = (require(566) /* metro dependency 566: flux */).useStateFromStores([EmojiStore], _fun53155);
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const env0_4 = useReducedMotion;
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
let useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
let closure = PromptOptionButtonD;
object = {selected: selected};
object.withTiming = (require(4504) /* metro dependency 4504: timing */).withTiming;
const Easing = reanimatedRexportModule.Easing;
object.Easing = Easing;
object.useReducedMotion = useReducedMotion;
object.withSequence = reanimatedRexportModule.withSequence;
object.withSpring = (require(4577) /* metro dependency 4577: spring */).withSpring;
closure.__closure = object;
closure.__workletHash = 8281627194581;
closure.__initData = env0_12;
const value4 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
if ((importDefault(6736) /* metro dependency 6736: useGuildRoleMemberCounts */)(guildId) == null) {
r23 = 0;
} else if (option.roleIds == null) {
r23 = 0;
} else {
Math = global.Math;
max = Math.max;
value8 = option.roleIds.map(_fun53158);
object = [];
arraySpread(object, value8, 0, undefined);
r23 = apply(max, object, Math, undefined);
}
const binding = env0_4;
const [property, env0_7] = env0_3(binding.useState(false), 2);
const env0_8 = binding.useRef(null);
binding.useEffect(_fun53159, [property]);
const moduleValue4 = reanimatedRexportModule;
useAnimatedStyle = moduleValue4.useAnimatedStyle;
closure = PromptOptionButtonK;
object = {showMemberCount: property};
object.withDelay = reanimatedRexportModule.withDelay;
object.withTiming = (require(4504) /* metro dependency 4504: timing */).withTiming;
object.Easing = Easing;
object.useReducedMotion = useReducedMotion;
closure.__closure = object;
closure.__workletHash = 9518487706997;
closure.__initData = env0_13;
const value12 = Reflect.apply(useAnimatedStyle, moduleValue4, [closure]);
const value13 = reanimatedRexportModule.useSharedValue(1);
const r29 = canBeNew && option.isUnseen;
const value16 = env0_4.useMemo(_fun53163,
[(option == null || option.emoji == null ? undefined : option.emoji.id) != null || (option == null || option.emoji == null ? undefined : option.emoji.name) != null,
option.emoji?.name, option.title, option.description]);
const useTokenModule = require(3860) /* metro dependency 3860: useToken */;
let useToken = useTokenModule.useToken;
const BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND;
const value17 = Reflect.apply(useToken, useTokenModule, [BACKGROUND_BRAND]);
const moduleValue7 = useTokenModule;
useToken = moduleValue7.useToken;
const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
const value18 = Reflect.apply(useToken, moduleValue7, [BORDER_SUBTLE]);
const moduleValue8 = useTokenModule;
useToken = moduleValue8.useToken;
const BORDER_STRONG = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_STRONG;
const value19 = Reflect.apply(useToken, moduleValue8, [BORDER_STRONG]);
const env0_14 = value19;
const moduleValue9 = useTokenModule;
useToken = moduleValue9.useToken;
const BACKGROUND_BASE_LOWEST = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOWEST;
const value20 = Reflect.apply(useToken, moduleValue9, [BACKGROUND_BASE_LOWEST]);
const env0_15 = value20;
const moduleValue10 = reanimatedRexportModule;
useAnimatedStyle = moduleValue10.useAnimatedStyle;
closure = PromptOptionButtonL;
object = {useReducedMotion: useReducedMotion};
object.Easing = Easing;
object.withTiming = (require(4504) /* metro dependency 4504: timing */).withTiming;
object.selected = selected;
object.selectedBorderColor = value19;
object.isNew = r29;
object.unselectedBrandBorderColor = value17;
object.unselectedBorderColor = value18;
object.selectedBackgroundColor = value20;
closure.__closure = object;
closure.__workletHash = 17180171486485;
closure.__initData = env0_14;
const value21 = Reflect.apply(useAnimatedStyle, moduleValue10, [closure]);
const moduleValue11 = reanimatedRexportModule;
useAnimatedStyle = moduleValue11.useAnimatedStyle;
closure = PromptOptionButtonX;
closure.__closure = {useReducedMotion: useReducedMotion, scale: value13};
closure.__workletHash = 319662489785;
closure.__initData = env0_15;
const value22 = Reflect.apply(useAnimatedStyle, moduleValue11, [closure]);
const {accessibilityRole,
accessibilityState} = (require(3874) /* metro dependency 3874: useA11yRolesNative */).useCheckboxA11yNative({checked: selected});
const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const items2 = [value22, value21];
items2[2] = styles.container;
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const pressableOpacityProps2 = {activeOpacity: 0.6, style: [styles.optionButton], onPress: onPress_53166,
onPressIn: onPressIn_53167, onPressOut: onPressOut_53168, accessibilityRole: accessibilityRole,
accessibilityState: accessibilityState, accessibilityLabel: value16,
accessibilityHint: suppressMemberCount || r23 <= 0 ? undefined : intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t.iyXfAn,
{memberCount: r23})};
let r16 = (option == null || option.emoji == null ? undefined : option.emoji.id) != null || (option == null || option.emoji == null ? undefined : option.emoji.name) != null;
if (r16) {
Emoji = importDefault(6739) /* metro dependency 6739: Emoji */;
var defaultImportProps = {textEmojiStyle: styles.optionTextEmoji, fastImageStyle: styles.optionImageEmoji};
r24 = value3 != null ? (importDefault(1423) /* metro dependency 1423: AvatarUtils */).getEmojiURL({id: value3.id,
animated: value3.animated, size: EMOJI_URL_BASE_SIZE}) : undefined;
defaultImportProps.src = r24;
r24 = (option == null || option.emoji == null ? undefined : option.emoji.name) ?? '';
defaultImportProps.name = r24;
r16 = ;
}
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const items5 = [{r16}{option.title}{option.description != null && option.description.length > 0 && {option.description}}];
items5[1] = r23 > 0 ? ((View) => {intl.format((require(1244) /* metro dependency 1244: indexNative */).t.EgKsZA,
{memberCount: r23})})((importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View) : null;
const View4 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const items7 = [styles.checkIcon, value4];
const CheckmarkSmallIcon = (require(6742) /* metro dependency 6742: CheckmarkSmallIcon */).CheckmarkSmallIcon;
const WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE;
items5[2] = ;
let r5 = canBeNew && !selected && option.isUnseen;
if (r5) {
TextBadge = (require(1305) /* metro dependency 1305: native */).TextBadge;
r5 = ;
}
items5[3] = r5;
return (
{items5}
);
}
function _fun53155() { // fn#53155, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6913:3096, offset: 0x0133fdbf, size: 108 bytes, params: 1, frame: 16
const optionBinding = option;
const value2 = null;
const value3 = undefined;
return value2 != (value2 == optionBinding || value2 == option.emoji ? value3 : option.emoji.id) ? EmojiStore.getUsableCustomEmojiById(value2 == option || value2 == option.emoji ? value3 : option.emoji.id) : value2;
}
function PromptOptionButtonD() { // fn#53157, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6913:3329, owner: PromptOptionButton.D, offset: 0x0133fe3a, size: 286 bytes, params: 1, frame: 23
var object2;
var r1;
var withSequence;
var value9;
var moduleValue3;
var value;
const r6 = selected ? 1 : 0;
const timingModule = require(4504) /* metro dependency 4504: timing */;
const withTiming = timingModule.withTiming;
const Easing = (require(4017) /* metro dependency 4017: ReanimatedRexport */).Easing;
const out = Easing.out;
const Easing2 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).Easing;
const value5 = Reflect.apply(withTiming, timingModule, [r6, {duration: 150, easing: Reflect.apply(out, Easing,
[Easing2.ease])}]);
const r9 = selected ? 1 : 0.7;
object2 = {opacity: value5};
if (useReducedMotion) {
r1 = r9;
} else {
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
withSequence = value.withSequence;
value9 = (require(4577) /* metro dependency 4577: spring */).withSpring(1.2 * r9, {'stiffness': 80,
'damping': 6,
'mass': 0.3});
moduleValue3 = require(4577) /* metro dependency 4577: spring */;
value = Reflect.apply(withSequence, value, [value9, moduleValue3.withSpring(r9, {'stiffness': 80, 'damping': 6,
'mass': 0.3})]);
r1 = value;
}
object2.transform = [{scale: r1}];
return object2;
}
function _fun53159() { // fn#53159, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6913:3995, offset: 0x0133ff58, size: 60 bytes, params: 1, frame: 15
if (env0_6) {
env0_8.current = global.setTimeout(_fun53160, 3000);
return _fun53161;
}
}
function PromptOptionButtonK() { // fn#53162, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6913:4163, owner: PromptOptionButton.K, offset: 0x0133ffe0, size: 344 bytes, params: 1, frame: 26
var object4;
var r6;
var moduleValue3;
var object2;
var value;
const value2 = 0;
const r10 = env0_6 ? 1 : value2;
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
let withDelay = reanimatedRexportModule.withDelay;
let r1 = env0_6 ? 400 : value2;
const timingModule = require(4504) /* metro dependency 4504: timing */;
let withTiming = timingModule.withTiming;
const Easing = reanimatedRexportModule.Easing;
const out = Easing.out;
const Easing2 = reanimatedRexportModule.Easing;
const value6 = Reflect.apply(withDelay, reanimatedRexportModule, [r1, Reflect.apply(withTiming, timingModule, [r10,
{duration: 150, easing: Reflect.apply(out, Easing, [Easing2.ease])}])]);
const r9 = env0_6 ? value2 : 16;
object4 = {opacity: value6};
if (useReducedMotion) {
r1 = r9;
} else {
moduleValue3 = reanimatedRexportModule;
withDelay = moduleValue3.withDelay;
r6 = env0_6 ? 400 : value2;
value = require(4504) /* metro dependency 4504: timing */;
withTiming = value.withTiming;
object2 = {duration: 200};
object2.easing = Easing.out((require(4017) /* metro dependency 4017: ReanimatedRexport */).Easing.ease);
value = Reflect.apply(withDelay, moduleValue3, [r6, Reflect.apply(withTiming, value, [r9, object2])]);
r1 = value;
}
object4.transform = [{translateX: r1}];
return object4;
}
function _fun53163() { // fn#53163, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6913:4814, offset: 0x01340138, size: 422 bytes, params: 1, frame: 18
var name;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var value4;
var value5;
const binding = env0_11;
const optionBinding = option;
if (binding) {
name = optionBinding.emoji?.name;
value4 = '';
value5 = (name ?? value4).replace(RegExp('^:|:$', 'g'), value4);
return option.description == null ? intl.formatToPlainString(t.rBPpAN, {emojiName: value5,
title: option.title}) : option.description.length > 0 ? intl.formatToPlainString(t.nSzqkg,
{emojiName: value5,
title: option.title, description: option.description}) : intl.formatToPlainString(t.rBPpAN,
{emojiName: value5,
title: option.title});
}
return optionBinding.description == null ? option.title : option.description.length > 0 ? intl.formatToPlainString(t.U4lDOC,
{title: option.title, description: option.description}) : option.title;
}
function PromptOptionButtonL() { // fn#53164, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6913:5607, owner: PromptOptionButton.L, offset: 0x013402de, size: 222 bytes, params: 1, frame: 19
var r4;
var object2;
var value2;
var Easing;
if (useReducedMotion) {
r4 = {duration: 0};
} else {
object2 = {duration: 200};
value2 = environment.__proto__;
Easing = (require(4017) /* metro dependency 4017: ReanimatedRexport */).Easing;
object2.easing = Easing.out((require(4017) /* metro dependency 4017: ReanimatedRexport */).Easing.ease);
r4 = object2;
}
object2 = {};
const timingModule = require(4504) /* metro dependency 4504: timing */;
object2.borderColor = timingModule.withTiming(selected ? env0_14 : env0_10 ? env0_12 : env0_13, r4);
const moduleValue2 = timingModule;
object2.backgroundColor = moduleValue2.withTiming(selected ? env0_15 : 'transparent', r4);
return object2;
}
function PromptOptionButtonX() { // fn#53165, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6913:6108, owner: PromptOptionButton.X, offset: 0x013403bc, size: 50 bytes, params: 1, frame: 11
var object;
var object3;
if (useReducedMotion) {
object = {};
} else {
object3 = {};
object3.scale = env0_9.get();
object = {transform: [object3]};
}
return object;
}
function PromptOptionButtonOnPress() { // fn#53166, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6913:6483, owner: PromptOptionButton.onPress, offset: 0x013403ee, size: 46 bytes, params: 1, frame: 12
onSelect(!selected);
if (!suppressMemberCount) {
env0_7(!selected);
}
}
function PromptOptionButtonOnPressIn() { // fn#53167, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6913:6514, owner: PromptOptionButton.onPressIn, offset: 0x0134041c, size: 181 bytes, params: 1, frame: 23
const binding = env0_9;
const set = binding.set;
let value = environment.__proto__;
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const withSequence = value.withSequence;
const timingModule = require(4504) /* metro dependency 4504: timing */;
let withTiming = timingModule.withTiming;
const value2 = Reflect.apply(withTiming, timingModule, [1, {duration: 0}]);
const moduleValue2 = timingModule;
withTiming = moduleValue2.withTiming;
const Easing = (require(4017) /* metro dependency 4017: ReanimatedRexport */).Easing;
const out = Easing.out;
const Easing2 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).Easing;
Reflect.apply(set, binding, [Reflect.apply(withSequence, value, [value2, Reflect.apply(withTiming, moduleValue2,
[1.02, {duration: 200, easing: Reflect.apply(out, Easing, [Easing2.ease])}])])]);
}
function PromptOptionButtonOnPressOut() { // fn#53168, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6913:6687, owner: PromptOptionButton.onPressOut, offset: 0x013404d1, size: 122 bytes, params: 1, frame: 20
const binding = env0_9;
const set = binding.set;
let value = environment.__proto__;
value = require(4504) /* metro dependency 4504: timing */;
const withTiming = value.withTiming;
const Easing = (require(4017) /* metro dependency 4017: ReanimatedRexport */).Easing;
const out = Easing.out;
const Easing2 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).Easing;
Reflect.apply(set, binding, [Reflect.apply(withTiming, value, [1, {duration: 100, easing: Reflect.apply(out, Easing,
[Easing2.ease])}])]);
}
function _fun53160() { // fn#53160, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6913:4034, offset: 0x0133ff94, size: 30 bytes, params: 1, frame: 12
env1_7(false);
env1_8.current = null;
}
function _fun53161() { // fn#53161, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6913:4067, offset: 0x0133ffb2, size: 46 bytes, params: 1, frame: 11
if (env1_8.current != null) {
global.clearTimeout(env1_8.current);
}
}