/* Metro module 11869; source: modules/application_commands/native/ApplicationCommandBar.tsx; dependencies: [57, 31, 27, 1945, 33, 4501, 697, 6235, 5278, 1244, 1305, 566, 11752, 5475, 4573, 7972, 6266, 11870, 2] */ import Module00057 from '../../../by-id/module-00057.js'; /* Metro dependency 57 */ import GuildMemberStore from '../../../stores/GuildMemberStore.tsx'; /* Metro dependency 1945 */ import UsePrevious from '../../../hooks/usePrevious.tsx'; /* Metro dependency 6266 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactNativeModule from '../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */ import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as FluxModule from '../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as NativeModule from '../../../design/void/native.tsx'; /* Metro dependency 1305 */ import * as TextModule from '../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */ import * as PressablesModule from '../../../design/void/Pressables/native/Pressables.tsx'; /* Metro dependency 5278 */ import * as LegacyTokensModule from '../../../design/migrations/native/LegacyTokens.tsx'; /* Metro dependency 6235 */ import * as NativeModule2 from '../../../design/void/Form/native/index.tsx'; /* Metro dependency 7972 */ import * as ApplicationCommandUtilsModule from './ApplicationCommandUtils.tsx'; /* Metro dependency 11752 */ function _fun91003(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#91003, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:6, offset: 0x0204f649, size: 963 bytes, params: 8, frame: 26 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ReactNativeModule; const env0_5 = value.View; const StyleSheet = value.StyleSheet; const env0_6 = value.ScrollView; value = require(33) /* metro dependency 33 */; const env0_8 = value.jsx; const env0_9 = value.Fragment; const env0_10 = value.jsxs; value = require(4501) /* metro dependency 4501: createStyles */; const createStyles = value.createStyles; object = {}; const object2 = {flexDirection: 'column'}; const MOBILE_COMMAND_BAR_BACKGROUND = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_COMMAND_BAR_BACKGROUND; object2.backgroundColor = MOBILE_COMMAND_BAR_BACKGROUND; const CHAT_INPUT_FLOATING_BORDER_RADIUS = (importDefault(697) /* metro dependency 697: native */).modules.mobile.CHAT_INPUT_FLOATING_BORDER_RADIUS; object2.borderRadius = CHAT_INPUT_FLOATING_BORDER_RADIUS; const CHAT_INPUT_FLOATING_ACCESSORY_BORDER_WIDTH = (importDefault(697) /* metro dependency 697: native */).modules.mobile.CHAT_INPUT_FLOATING_ACCESSORY_BORDER_WIDTH; object2.borderWidth = CHAT_INPUT_FLOATING_ACCESSORY_BORDER_WIDTH; const MOBILE_FLOATING_ACCESSORY_BORDER = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_FLOATING_ACCESSORY_BORDER; object2.borderColor = MOBILE_FLOATING_ACCESSORY_BORDER; object2.overflow = 'hidden'; object.applicationCommandBar = object2; const object3 = {'width': 24, 'height': 24, 'borderRadius': null, 'marginRight': 16}; object3.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md; object.applicationIcon = object3; object.applicationTopWrapperScrollView = {'flexDirection': 'row', 'alignItems': 'center', 'paddingHorizontal': 16, 'paddingVertical': 8}; object.applicationName = {'textAlignVertical': 'center', 'marginRight': 12}; const object4 = {'width': null, 'marginVertical': 8, 'marginHorizontal': 12, 'backgroundColor': null, 'height': '100%'}; object4.width = StyleSheet.hairlineWidth; const BACKGROUND_MOD_NORMAL = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_NORMAL; object4.backgroundColor = BACKGROUND_MOD_NORMAL; object.applicationOptionalOptionsDivider = object4; object.applicationOptionalOptionsDividerWithNoRequired = {marginLeft: 4}; object.applicationOptionalOptionsIndicator = {'marginHorizontal': 4, 'paddingVertical': 8}; object.applicationDescriptionContainer = {flexShrink: 1}; const MOBILE_COMMAND_BAR_DIVIDER = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_COMMAND_BAR_DIVIDER; object.applicationDescriptionDivider = {marginLeft: 0, backgroundColor: MOBILE_COMMAND_BAR_DIVIDER}; const object8 = {'marginHorizontal': 4, 'padding': 8, 'fontSize': 12, 'alignItems': 'center'}; object8.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.xs; const DARK_PRIMARY_800_LIGHT_PRIMARY_300 = (LegacyTokensModule).DARK_PRIMARY_800_LIGHT_PRIMARY_300; object8.backgroundColor = DARK_PRIMARY_800_LIGHT_PRIMARY_300; object.applicationCommandOption = object8; const TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_DEFAULT; object.applicationCommandOptionText = {color: TEXT_DEFAULT}; const BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND; object.activeCommandOption = {backgroundColor: BACKGROUND_BRAND}; const WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE; object.activeCommandOptionText = {color: WHITE}; object.completeCommandOptionText = {opacity: 0.5}; const TEXT_FEEDBACK_CRITICAL = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_FEEDBACK_CRITICAL; object.errorCommandOptionText = {color: TEXT_FEEDBACK_CRITICAL}; object.optionDescriptionContainer = {'overflow': 'hidden', 'paddingHorizontal': 16, 'paddingVertical': 8, 'flexDirection': 'row'}; const MOBILE_FLOATING_ACCESSORY_BACKGROUND = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_FLOATING_ACCESSORY_BACKGROUND; object.descriptionEllipsis = {marginLeft: 10, backgroundColor: MOBILE_FLOATING_ACCESSORY_BACKGROUND}; const INTERACTIVE_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_DEFAULT; object.descriptionEllipsisDots = {backgroundColor: INTERACTIVE_TEXT_DEFAULT}; const DARK_PRIMARY_660_LIGHT_PRIMARY_300 = (LegacyTokensModule).DARK_PRIMARY_660_LIGHT_PRIMARY_300; object.completeCommandOption = {backgroundColor: DARK_PRIMARY_660_LIGHT_PRIMARY_300}; const env0_11 = Reflect.apply(createStyles, value, [object]); (FileImportTrackerModule).fileFinishedImporting('modules/application_commands/native/ApplicationCommandBar.tsx'); exports.default = _default_91009; function ApplicationCommandOptionItem(a0) { // fn#91004, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:2157, offset: 0x0204fa0c, size: 501 bytes, params: 2, frame: 27 const option = a0.option; const optionState = a0.optionState; const value = Object.create(null); value.option = 0; value.optionState = 0; const value2 = copyDataProperties({}, a0, value, undefined); const value4 = undefined; const styles = useStyles(); const isActive = optionState == null ? value4 : optionState.isActive; let r9 = isActive != null && isActive; const PressableOpacity = (PressablesModule).PressableOpacity; const object = {}; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; object.accessibilityLabel = intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t.evoEHc, {optionName: option.displayName}); object.accessibilityRole = 'button'; object.disabled = r9; const value6 = !r9; object.style = [styles.applicationCommandOption, r9 && styles.activeCommandOption, (r9 ? value6 : optionState == null || optionState.lastValidationResult == null ? value4 : optionState.lastValidationResult.success) && styles.completeCommandOption]; copyDataProperties(object, value2, value); const LegacyText = (NativeModule).LegacyText; const items2 = [styles.applicationCommandOptionText]; items2[1] = r9 && styles.activeCommandOptionText; items2[2] = (r9 ? value6 : optionState == null || optionState.lastValidationResult == null ? value4 : optionState.lastValidationResult.success) && styles.completeCommandOptionText; r9 = (r9 ? value6 : (optionState == null || optionState.lastValidationResult == null ? value4 : optionState.lastValidationResult.success) === false) && styles.errorCommandOptionText; items2[3] = r9; return ( {option.displayName} ); } function ApplicationCommandOptionDescription({command, option, optionState}) { // fn#91005, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:2945, offset: 0x0204fc01, size: 675 bytes, params: 2, frame: 31 var r8; var value; const styles = useStyles(); const value3 = (UsePrevious)(option); let useState = ReactModule.useState; const value4 = Reflect.apply(useState, ReactModule, [undefined]); const binding2 = env0_3; const value5 = binding2(value4, 2); const property = value5[0]; var env0_3 = value5[1]; useState = ReactModule.useState; const value6 = binding2(Reflect.apply(useState, ReactModule, [0]), 2); const property2 = value6[0]; const env0_5 = value6[1]; useState = ReactModule.useState; const value7 = binding2(Reflect.apply(useState, ReactModule, [0]), 2); const property3 = value7[0]; const env0_6 = value7[1]; ReactModule.useEffect(_fun91006, [value3, option, property2, (UsePrevious)(property2)]); const value9 = ReactModule.useCallback(_fun91007, [property]); const onLayout_910082 = onLayout_91008; const r5 = property === 1 && property3 === property2; const r6 = r5 ? 'text' : 'button'; const PressableOpacity = (PressablesModule).PressableOpacity; const view = ( { (optionState == null || optionState.lastValidationResult == null ? undefined : optionState.lastValidationResult.error) != null ? ((Text) => {optionState.lastValidationResult.error})((require(4573) /* metro dependency 4573: Text */).Text) : ((Text) => {option != null ? option.displayDescription : command.displayDescription})((require(4573) /* metro dependency 4573: Text */).Text) } ); if (property3 === property2) { r8 = null; } else { value = importDefault(11870) /* metro dependency 11870: DescriptionEllipsis */; value = ((Component) => )(value); r8 = value; } return ( {view} {r8} ); function _fun91006() { // fn#91006, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:3159, offset: 0x0204fea4, size: 90 bytes, params: 1, frame: 12 if (env0_1 !== option) { env0_5(0); env0_6(0); env0_3(undefined); } else if (ReactModule > 0 && env0_7 === 0) { env0_3(1); } } function _fun91007() { // fn#91007, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:3243, offset: 0x0204fefe, size: 29 bytes, params: 1, frame: 11 const binding = env0_3; const value = 1; binding(value !== env0_2 ? value : undefined); } function ApplicationCommandOptionDescriptionOnLayout({nativeEvent}) { // fn#91008, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:3293, owner: ApplicationCommandOptionDescription.onLayout, offset: 0x0204ff1b, size: 86 bytes, params: 2, frame: 13 const height = nativeEvent.layout.height; const Math = global.Math; const value = Math.trunc(height); if (env0_2 === undefined || value > ReactModule) { env0_5(value); } env0_6(value); } } function _default_91009({command, section, guildId, currentOption, optionStates, onPressOption}) { // fn#91009, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:4105, offset: 0x0204ff71, size: 1077 bytes, params: 2, frame: 36 var r7; var jsxRuntimeEnv0_9Binding; var items3; var intl; const currentOption2 = currentOption; const optionStates2 = optionStates; const styles = useStyles(); const binding = optionStates2; const value4 = binding.useRef(null); const env0_8 = binding.useRef({}); let useState = binding.useState; const value5 = Reflect.apply(useState, binding, [false]); const binding2 = currentOption2; const value6 = binding2(value5, 2); const property = value6[0]; const env0_9 = value6[1]; useState = binding.useState; const value7 = binding2(Reflect.apply(useState, binding, [false]), 2); const property2 = value7[0]; const env0_10 = value7[1]; useState = binding.useState; const value8 = binding2(Reflect.apply(useState, binding, []), 2); const property3 = value8[0]; const env0_12 = value8[1]; binding.useEffect(_fun91010, [command]); binding.useEffect(_fun91012, [currentOption]); binding.useEffect(_fun91013, [property3, styles]); const value9 = binding.useMemo(_fun91015, [section, (FluxModule).useStateFromStores([GuildMemberStore], _fun91014)]); const env0_14 = binding.useCallback(_fun91016, []); const r12 = currentOption?.name != null ? optionStates[currentOption?.name] : undefined; const items2 = [ value9 != null && ((Component) => )(importDefault(5475) /* metro dependency 5475: FastImage */), ]; const Text = (TextModule).Text; items2[1] = ( {'/ ' + command.displayName} ); items2[2] = command.options?.map(_fun91017); if (property) { jsxRuntimeEnv0_9Binding = jsxRuntimeEnv0_9; items3 = [ , ]; var textProps = {'style': null, 'lineClamp': 1, 'variant': 'eyebrow', 'color': 'text-muted', style: styles.applicationOptionalOptionsIndicator}; intl = (require(1244) /* metro dependency 1244: indexNative */).intl; items3[1] = ( {intl.string((require(1244) /* metro dependency 1244: indexNative */).t.U19GM3)} ); items3[2] = command.options?.map(_fun91020); r7 = ( <> {items3} ); } else { r7 = null; } items2[3] = r7; const items4 = [ {items2} , ]; const FormDivider = (NativeModule2).FormDivider; items4[1] = ; items4[2] = ( ); items4[3] = ; return ( {items4} ); function _fun91010() { // fn#91010, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:4365, offset: 0x020503a6, size: 77 bytes, params: 1, frame: 13 const env0_0 = false; const env0_1 = false; const options = command.options; if (options != null) { options.forEach(_fun91011); } env0_9(env0_0); env0_10(env0_1); function _fun91011({required}) { // fn#91011, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:4418, offset: 0x020503f3, size: 35 bytes, params: 2, frame: 2 if (required !== true) { } } } function _fun91012() { // fn#91012, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:4481, offset: 0x02050416, size: 40 bytes, params: 1, frame: 13 const binding = env0_12; const currentOptionBinding = currentOption; const value2 = undefined; binding(currentOptionBinding == null ? value2 : currentOption.name); return value2; } function _fun91013() { // fn#91013, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:4531, offset: 0x0205043e, size: 104 bytes, params: 1, frame: 13 var current; const value2 = null; const r4 = value2 != env0_11 ? env0_8.current[env0_11] : value2; if (value2 != r4) { current = env0_7.current; if (value2 != current) { current.scrollTo({x: r4.x - styles.applicationTopWrapperScrollView.paddingHorizontal, animated: true}); } } } function _fun91014() { // fn#91014, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:4734, offset: 0x020504a6, size: 79 bytes, params: 1, frame: 13 var value3; var guildMemberStoreBinding; if (guildId != null) { if (section?.botId != null) { value3 = environment.__proto__; guildMemberStoreBinding = GuildMemberStore; return guildMemberStoreBinding.getMember(guildId, section.botId); } } } function _fun91015() { // fn#91015, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:4828, offset: 0x020504f5, size: 50 bytes, params: 1, frame: 13 const value = environment.__proto__; return (ApplicationCommandUtilsModule).getApplicationCommandsIconSource(section, member); } function _fun91016({nativeEvent}, {name}) { // fn#91016, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:4904, offset: 0x02050527, size: 75 bytes, params: 3, frame: 6 const binding = env0_8; const current = binding.current; current[name] = {x: nativeEvent.layout.x, width: nativeEvent.layout.width}; binding.current = current; } function _fun91017(a0) { // fn#91017, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:5518, offset: 0x02050572, size: 98 bytes, params: 2, frame: 18 var environment; var r0; var object; var optionStatesBinding; var name; const env0_0 = a0; const required = a0.required; let value = null; if (required) { value = environment.__proto__; object = {option: a0, onPress: onPress_91018}; optionStatesBinding = optionStates; name = a0.name; object.optionState = optionStatesBinding[name]; object.onLayout = onLayout_91019; name = a0.name; value = ; r0 = value; } else { r0 = value; } return r0; function onPress_91018() { // fn#91018, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:5581, offset: 0x020505d4, size: 38 bytes, params: 1, frame: 12 const value = environment.__proto__; return onPressOption?.(env0_0); } function onLayout_91019(a0) { // fn#91019, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:5636, offset: 0x020505fa, size: 27 bytes, params: 2, frame: 13 return env1_14(a0, env0_0); } } function _fun91020(a0) { // fn#91020, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:5977, offset: 0x02050615, size: 98 bytes, params: 2, frame: 18 var environment; var r0; var object; var optionStatesBinding; var name; const env0_0 = a0; const required = a0.required; let value = null; if (required) { r0 = value; } else { value = environment.__proto__; object = {option: a0, onPress: onPress_91021}; optionStatesBinding = optionStates; name = a0.name; object.optionState = optionStatesBinding[name]; object.onLayout = onLayout_91022; name = a0.name; value = ; r0 = value; } return r0; function onPress_91021() { // fn#91021, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:6045, offset: 0x01bda28e, size: 23 bytes, params: 1, frame: 11 return onPressOption(env0_0); } function onLayout_91022(a0) { // fn#91022, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12055:6085, offset: 0x020505fa, size: 27 bytes, params: 2, frame: 13 return env1_14(a0, env0_0); } } } } global.__d(_fun91003, 11869, [57, 31, 27, 1945, 33, 4501, 697, 6235, 5278, 1244, 1305, 566, 11752, 5475, 4573, 7972, 6266, 11870, 2]) /* metro module 11869, dependencies: [57, 31, 27, 1945, 33, 4501, 697, 6235, 5278, 1244, 1305, 566, 11752, 5475, 4573, 7972, 6266, 11870, 2] */;