/* Metro module 10988; source: modules/markup/native/Spoiler.tsx; dependencies: [6, 7, 15, 17, 18, 31, 27, 661, 10980, 33, 4501, 477, 697, 1305, 3868, 2] */
import ClassCallCheck from '../../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
import CreateClass from '../../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */
import PossibleConstructorReturn from '../../../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */
import Module00017 from '../../../by-id/module-00017.js'; /* Metro dependency 17 */
import Inherits from '../../../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */
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 JsxRuntimeModule from '../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */
import * as NativeModule from '../../../design/void/native.tsx'; /* Metro dependency 1305 */
import * as NativeModule2 from '../../../external/discord_common/js/packages/design/native.tsx'; /* Metro dependency 3868 */
import * as CreateStylesModule from '../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as RedesignChannelListConstantsModule from '../../channel_list_v2/native/RedesignChannelListConstants.tsx'; /* Metro dependency 10980 */
function _fun84090(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#84090, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11174:6, offset: 0x01f38a7a, size: 549 bytes, params: 8, frame: 25
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = ReactModule;
const EMOJI_CHAT_SIZE = (ConstantsModule).EMOJI_CHAT_SIZE;
const MUTED_OPACITY_CONTENT = (RedesignChannelListConstantsModule).MUTED_OPACITY_CONTENT;
const createLegacyClassComponentStyles = CreateStylesModule.createLegacyClassComponentStyles;
object = {};
const object2 = {};
object2.color = (require(477) /* metro dependency 477: PlatformUtils */).isAndroid() ? 'rgba(0,0,0,0.0019607844)' : 'transparent';
let SPOILER_HIDDEN_BACKGROUND = (importDefault(697) /* metro dependency 697: native */).colors.SPOILER_HIDDEN_BACKGROUND;
object2.backgroundColor = SPOILER_HIDDEN_BACKGROUND;
object.spoiler = object2;
const object3 = {width: EMOJI_CHAT_SIZE, height: EMOJI_CHAT_SIZE};
SPOILER_HIDDEN_BACKGROUND = (importDefault(697) /* metro dependency 697: native */).colors.SPOILER_HIDDEN_BACKGROUND;
object3.backgroundColor = SPOILER_HIDDEN_BACKGROUND;
object.placeholder = object3;
const object4 = {};
const TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_DEFAULT;
object4.color = TEXT_DEFAULT;
const SPOILER_REVEALED_BACKGROUND = (importDefault(697) /* metro dependency 697: native */).colors.SPOILER_REVEALED_BACKGROUND;
object4.backgroundColor = SPOILER_REVEALED_BACKGROUND;
object.spoilerRevealed = object4;
object.muted = {opacity: MUTED_OPACITY_CONTENT};
const env0_11 = Reflect.apply(createLegacyClassComponentStyles, CreateStylesModule, [object]);
const PureComponent = value.PureComponent;
value = _fun84096(PureComponent);
const ThemeContext = (NativeModule2).ThemeContext;
value.contextType = ThemeContext;
(FileImportTrackerModule).fileFinishedImporting('modules/markup/native/Spoiler.tsx');
exports.default = value;
function _isNativeReflectConstruct_84091() { // fn#84091, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11174:264, offset: 0x01f38c9f, size: 98 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_84091_isNativeReflectConstruct = function() {
return !!result;
})();
}
function recursiveTextExtraction(a0, a1) { // fn#84094, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11174:888, offset: 0x01f38d01, size: 45 bytes, params: 3, frame: 13
const env0_0 = a1;
const Children = env0_7.Children;
return Children.map(a0, _fun84095);
function _fun84095(a0) { // fn#84095, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11174:913, offset: 0x01f38d2e, size: 154 bytes, params: 2, frame: 18
var r7;
var props;
var style;
var Array;
var cloneElement;
var object;
var recursiveTextExtractionBinding;
let binding = env1_7;
if (binding.isValidElement(a0)) {
props = a0.props;
style = props.style;
Array = global.Array;
r7 = Array.isArray(style) ? StyleSheet.flatten(style) : style;
binding = env1_7;
cloneElement = binding.cloneElement;
object = {};
recursiveTextExtractionBinding = recursiveTextExtraction;
props = a0.props;
object.children = recursiveTextExtractionBinding(props.children, require);
object.style = [r7, require.spoiler];
object.onPress = undefined;
return Reflect.apply(cloneElement, binding, [a0, object]);
}
return a0;
}
}
function _fun84096(a0) { // fn#84096, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11174:1124, offset: 0x01f38dc8, size: 72 bytes, params: 2, frame: 15
const Spoiler2 = Spoiler;
Inherits(Spoiler2, a0);
return CreateClass(Spoiler2, [{key: 'render', value: value_84099}]);
function Spoiler(a0) { // fn#84097, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11174:1136, offset: 0x01f38e10, size: 160 bytes, params: 2, frame: 20
var r0;
var Reflect;
let value = copyRestArgs(0, undefined);
let binding = env1_2;
binding(this, Spoiler);
const items2 = [];
arraySpread(items2, value, 0, items2);
value = env1_5(Spoiler);
binding = env1_4;
if (_isNativeReflectConstruct_84091()) {
Reflect = global.Reflect;
value = Reflect.construct(value, items2, env1_5(this).constructor);
r0 = value;
} else {
value = value.apply(this, items2);
r0 = value;
}
value = binding(this, r0);
value.state = {revealed: false};
value.handleTap = handleTap;
return value;
function handleTap() { // fn#84098, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11174:1377, owner: Spoiler.handleTap, offset: 0x01f38eb0, size: 79 bytes, params: 1, frame: 12
var binding;
if (!(env0_0.state.revealed || env0_0.props.disableReveal)) {
binding = env0_0;
binding.setState({revealed: !binding.state.revealed});
}
}
}
function value_84099() { // fn#84099, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11174:1518, offset: 0x01f38eff, size: 284 bytes, params: 1, frame: 19
const binding = env1_11;
const context = this.context;
const value2 = undefined;
const value3 = binding(context);
const revealed = this.state.revealed;
const props = this.props;
const children = props.children;
const r7 = revealed ? [value3.spoilerRevealed, props.spoilerRevealedStyle] : [value3.spoiler, props.spoilerStyle];
let Children = env1_7.Children;
if (Children.count(children) === 0) {
return null;
}
Children = env1_7.Children;
const value5 = Children.map(children, _fun84100);
const LegacyText = (NativeModule).LegacyText;
return (
{value5}
);
function _fun84100(a0) { // fn#84100, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11174:1744, offset: 0x01f3901b, size: 168 bytes, params: 2, frame: 16
var r2;
var r1;
var r0;
let value = a0;
const binding = env2_7;
if (binding.isValidElement(value)) {
if (value.type.displayName === 'Image') {
if (revealed) {
if (value.props == null) {
r2 = value;
} else if (revealed) {
r2 = value;
} else {
value = recursiveTextExtraction(value, env0_0);
r2 = value;
}
r1 = r2;
} else {
r1 = ;
}
} else if (value.props?.source == null) {
if (value.props == null) {
r2 = value;
} else if (revealed) {
r2 = value;
} else {
value = recursiveTextExtraction(value, env0_0);
r2 = value;
}
r1 = r2;
} else if (revealed) {
if (value.props == null) {
r2 = value;
} else if (revealed) {
r2 = value;
} else {
value = recursiveTextExtraction(value, env0_0);
r2 = value;
}
r1 = r2;
} else {
r1 = ;
}
r0 = r1;
} else {
r0 = value;
}
return r0;
}
}
}
}
global.__d(_fun84090, 10988, [6, 7, 15, 17, 18, 31, 27, 661, 10980, 33, 4501, 477, 697, 1305, 3868,
2]) /* metro module 10988, dependencies: [6, 7, 15, 17, 18, 31, 27, 661, 10980, 33, 4501, 477, 697, 1305, 3868, 2] */;