438 lines
22 KiB
TypeScript
438 lines
22 KiB
TypeScript
/* Metro module 4596; source: components_native/common/Alert.tsx; dependencies: [6, 7, 15, 17, 18, 31, 27, 33, 4501, 697, 1305, 4597, 4041, 4570, 4573, 1244, 4578, 5278, 7704, 3868, 1478, 8750, 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 UseWindowDimensionsNative from '../../modules/screen/useWindowDimensions.native.tsx'; /* Metro dependency 1478 */
|
|
import ThemedGradient from '../../modules/client_themes/native/ThemedGradient.tsx'; /* Metro dependency 7704 */
|
|
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 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 TimersModule from '../../external/discord_common/js/packages/timers/Timers.tsx'; /* Metro dependency 4041 */
|
|
import * as CreateStylesModule from '../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
|
|
import * as SetAccessibilityFocusAndroidModule from '../../modules/a11y/native/setAccessibilityFocus.android.tsx'; /* Metro dependency 4570 */
|
|
import * as ButtonNativeModule from '../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */
|
|
import * as UseIsScreenLandscapeNativeModule from '../../modules/screen/useIsScreenLandscape.native.tsx'; /* Metro dependency 8750 */
|
|
|
|
function _fun38946(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#38946, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:6, offset: 0x010d1d85, size: 700 bytes, params: 8, frame: 28
|
|
const env0_0 = require;
|
|
const getAlertButtonVariant2 = getAlertButtonVariant;
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
let value = ReactModule;
|
|
const StyleSheet = ReactNativeModule.StyleSheet;
|
|
const createLegacyClassComponentStyles = CreateStylesModule.createLegacyClassComponentStyles;
|
|
object = {};
|
|
const object2 = {};
|
|
object2.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
|
|
object2.padding = 16;
|
|
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
|
|
object2.backgroundColor = BACKGROUND_BASE_LOW;
|
|
object.alert = object2;
|
|
const MOBILE_TEXT_HEADING_PRIMARY = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_TEXT_HEADING_PRIMARY;
|
|
object.titleText = {marginBottom: 16, color: MOBILE_TEXT_HEADING_PRIMARY};
|
|
const object4 = {};
|
|
object4.height = StyleSheet.hairlineWidth;
|
|
const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
|
|
object4.backgroundColor = BORDER_SUBTLE;
|
|
object.divider = object4;
|
|
const TEXT_STRONG = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_STRONG;
|
|
object.body = {marginTop: 16, color: TEXT_STRONG};
|
|
object.buttons = {marginTop: 24};
|
|
object.cancelButton = {marginTop: 8};
|
|
object.secondaryConfirm = {'marginTop': 16, 'alignSelf': 'center'};
|
|
const object8 = {};
|
|
object8.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
|
|
object.gradient = object8;
|
|
const env0_15 = Reflect.apply(createLegacyClassComponentStyles, CreateStylesModule, [object]);
|
|
const PureComponent = value.PureComponent;
|
|
const value5 = _fun38951(PureComponent);
|
|
const ThemeContext = (NativeModule2).ThemeContext;
|
|
value5.contextType = ThemeContext;
|
|
const ButtonColors = (NativeModule).ButtonColors;
|
|
const BRAND = ButtonColors.BRAND;
|
|
value5.defaultProps = {confirmColor: BRAND, autoCloseOnConfirm: true};
|
|
value = value.memo(_fun38967);
|
|
value.Colors = ButtonColors;
|
|
(FileImportTrackerModule).fileFinishedImporting('components_native/common/Alert.tsx');
|
|
exports.default = value;
|
|
exports.getAlertButtonVariant = getAlertButtonVariant2;
|
|
function _isNativeReflectConstruct_38947() { // fn#38947, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:247, offset: 0x010d2041, size: 94 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_38947_isNativeReflectConstruct = function() {
|
|
return !!result;
|
|
})();
|
|
}
|
|
|
|
function getAlertButtonVariant(a0) { // fn#38950, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:940, offset: 0x010d209f, size: 249 bytes, params: 2, frame: 14
|
|
const ButtonColors = (NativeModule).ButtonColors;
|
|
const GREEN = ButtonColors.GREEN;
|
|
if (GREEN === a0) {
|
|
return 'active';
|
|
}
|
|
const RED = ButtonColors.RED;
|
|
if (RED === a0) {
|
|
return 'destructive';
|
|
}
|
|
const GREY = ButtonColors.GREY;
|
|
if (GREY === a0) {
|
|
return 'secondary';
|
|
}
|
|
const LIGHTGREY = ButtonColors.LIGHTGREY;
|
|
if (LIGHTGREY === a0) {
|
|
return 'secondary';
|
|
}
|
|
const TRANSPARENT = ButtonColors.TRANSPARENT;
|
|
if (TRANSPARENT === a0) {
|
|
return 'secondary';
|
|
}
|
|
const WHITE = ButtonColors.WHITE;
|
|
if (WHITE === a0) {
|
|
return 'primary-overlay';
|
|
}
|
|
return 'primary';
|
|
}
|
|
|
|
function _fun38951(a0) { // fn#38951, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:1297, offset: 0x010d2198, size: 233 bytes, params: 2, frame: 16
|
|
const Alert_389522 = Alert_38952;
|
|
Inherits(Alert_389522, a0);
|
|
return CreateClass(Alert_389522, [{key: 'componentDidMount', value: function() {
|
|
var env0_0 = this;
|
|
if (this.titleRef.current != null) {
|
|
global.setImmediate(_fun38958);
|
|
}
|
|
}}, {key: 'componentWillUnmount', value: function() {
|
|
this.timeout.stop();
|
|
this.focusTimeout.stop();
|
|
}}, {key: 'componentDidUpdate', value: function() {
|
|
var confirming = this.props.confirming;
|
|
if (confirming != null) {
|
|
this.timeout.stop();
|
|
this.setState({confirming: confirming});
|
|
}
|
|
}}, {key: 'renderHeader', value: value_38962}, {key: 'renderBody', value: value_38963}, {key: 'renderButtons',
|
|
value: value_38964}, {key: 'renderFooter', value: value_38965}, {key: 'render', value: value_38966}]);
|
|
function Alert_38952(a0) { // fn#38952, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:1309, offset: 0x010d2281, size: 325 bytes, params: 2, frame: 21
|
|
var r0;
|
|
var Reflect;
|
|
let value = copyRestArgs(0, undefined);
|
|
let binding = env1_4;
|
|
binding(this, Alert_38952);
|
|
const items2 = [];
|
|
arraySpread(items2, value, 0, items2);
|
|
value = env1_7(Alert_38952);
|
|
binding = env1_6;
|
|
if (_isNativeReflectConstruct_38947()) {
|
|
Reflect = global.Reflect;
|
|
value = Reflect.construct(value, items2, env1_7(this).constructor);
|
|
r0 = value;
|
|
} else {
|
|
value = value.apply(this, items2);
|
|
r0 = value;
|
|
}
|
|
value = binding(this, r0);
|
|
value.titleRef = env1_9.createRef();
|
|
value.state = {confirming: false};
|
|
value.renderContent = (importAll(4597) /* metro dependency 4597: CustomMarkupNative */).getParser();
|
|
const Timeout = (TimersModule).Timeout;
|
|
const value4 = Object.create(Timeout.prototype, {constructor: {value: Timeout}});
|
|
let timeout = new Timeout();
|
|
value.timeout = timeout instanceof Object ? timeout : value4;
|
|
const value6 = Object.create(Timeout.prototype, {constructor: {value: Timeout}});
|
|
timeout = new Timeout();
|
|
value.focusTimeout = timeout instanceof Object ? timeout : value6;
|
|
value.handleConfirm = handleConfirm;
|
|
value.handleCancel = handleCancel;
|
|
value.handleSecondaryConfirm = handleSecondaryConfirm;
|
|
return value;
|
|
function handleConfirm() { // fn#38953, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:1681, owner: Alert_38952.handleConfirm, offset: 0x010d23c6, size: 129 bytes, params: 1, frame: 16
|
|
var binding;
|
|
var props;
|
|
var onClose;
|
|
var onConfirm;
|
|
var autoCloseOnConfirm;
|
|
if (!env0_0.state.confirming) {
|
|
binding = env0_0;
|
|
props = binding.props;
|
|
onClose = props.onClose;
|
|
onConfirm = props.onConfirm;
|
|
autoCloseOnConfirm = props.autoCloseOnConfirm;
|
|
binding.setState({confirming: true});
|
|
binding.timeout.start(500, _fun38954);
|
|
if (autoCloseOnConfirm) {
|
|
if (onClose != null) {
|
|
onClose();
|
|
}
|
|
}
|
|
if (onConfirm != null) {
|
|
onConfirm();
|
|
}
|
|
}
|
|
function _fun38954() { // fn#38954, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:1822, offset: 0x010d2447, size: 31 bytes, params: 1, frame: 12
|
|
env1_0.setState({confirming: false});
|
|
}
|
|
|
|
}
|
|
|
|
function handleCancel() { // fn#38955, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:1906, owner: Alert_38952.handleCancel, offset: 0x010d2466, size: 50 bytes, params: 1, frame: 11
|
|
const {onClose, onCancel} = env0_0.props;
|
|
if (onCancel != null) {
|
|
onCancel();
|
|
}
|
|
if (onClose != null) {
|
|
onClose();
|
|
}
|
|
}
|
|
|
|
function handleSecondaryConfirm() { // fn#38956, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:2002, owner: Alert_38952.handleSecondaryConfirm, offset: 0x010d2498, size: 50 bytes, params: 1, frame: 11
|
|
const {onClose, onConfirmSecondary} = env0_0.props;
|
|
if (onClose != null) {
|
|
onClose();
|
|
}
|
|
if (onConfirmSecondary != null) {
|
|
onConfirmSecondary();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
function value_38957() { // fn#38957, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:2143, offset: 0x010d24ca, size: 50 bytes, params: 1, frame: 11
|
|
if (this.titleRef.current != null) {
|
|
global.setImmediate(_fun38958);
|
|
}
|
|
function _fun38958() { // fn#38958, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:2197, offset: 0x010d24fc, size: 41 bytes, params: 1, frame: 13
|
|
env0_0.focusTimeout.start(300, _fun38959);
|
|
function _fun38959() { // fn#38959, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:2231, offset: 0x010d2525, size: 57 bytes, params: 1, frame: 13
|
|
const value = environment.__proto__.__proto__.__proto__;
|
|
(SetAccessibilityFocusAndroidModule).setAccessibilityFocus({ref: env1_0.titleRef});
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function value_38962() { // fn#38962, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:2548, offset: 0x010d25bf, size: 219 bytes, params: 1, frame: 24
|
|
const value = environment.__proto__;
|
|
const value2 = env1_15(this.context);
|
|
const title = this.props.title;
|
|
const value3 = null;
|
|
return (
|
|
value3 == title || title === ''
|
|
? value3
|
|
: (
|
|
<View>
|
|
{((Text) => <Text ref={this.titleRef} accessible accessibilityRole="header" variant="heading-md/extrabold" color="text-default" style={value2.titleText}>{typeof title !== 'string' ? title : this.renderContent(title)}</Text>)((require(4573) /* metro dependency 4573: Text */).Text)}
|
|
<View style={value2.divider} />
|
|
</View>
|
|
)
|
|
);
|
|
}
|
|
|
|
function value_38963() { // fn#38963, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:2895, offset: 0x010d269a, size: 206 bytes, params: 1, frame: 25
|
|
const value = environment.__proto__;
|
|
const value2 = env1_15(this.context);
|
|
const {body, children} = this.props;
|
|
const jsxRuntimeEnv1_14Binding = jsxRuntimeEnv1_14;
|
|
const value3 = null;
|
|
return (
|
|
<>
|
|
{
|
|
value3 != body
|
|
? (
|
|
<ScrollView style={{maxHeight: this.props.contentHeight}}>
|
|
{((Text) => <Text variant="text-md/normal" style={value2.body}>{typeof body !== 'string' ? body : this.renderContent(body)}</Text>)((require(4573) /* metro dependency 4573: Text */).Text)}
|
|
</ScrollView>
|
|
)
|
|
: value3
|
|
}
|
|
{children}
|
|
</>
|
|
);
|
|
}
|
|
|
|
function value_38964() { // fn#38964, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:3200, offset: 0x010d2768, size: 607 bytes, params: 1, frame: 31
|
|
var r16;
|
|
var r7;
|
|
var r6;
|
|
var r8;
|
|
var r14;
|
|
var r15;
|
|
var r0;
|
|
var intl;
|
|
const Button = (ButtonNativeModule).Button;
|
|
let value = environment.__proto__;
|
|
const binding = env1_15;
|
|
const context = this.context;
|
|
const value2 = undefined;
|
|
const value3 = binding(context);
|
|
const props = this.props;
|
|
const cancelText = props.cancelText;
|
|
const confirmText = props.confirmText;
|
|
if (value2 !== confirmText) {
|
|
r16 = confirmText;
|
|
} else {
|
|
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
|
|
r16 = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.BddRzS);
|
|
}
|
|
const confirmColor = props.confirmColor;
|
|
const secondaryConfirmText = props.secondaryConfirmText;
|
|
const noDefaultButtons = props.noDefaultButtons;
|
|
const renderConfirmIcon = props.renderConfirmIcon;
|
|
const renderConfirmRightIcon = props.renderConfirmRightIcon;
|
|
const renderConfirmButton = props.renderConfirmButton;
|
|
const isConfirmButtonDisabled = props.isConfirmButtonDisabled;
|
|
const confirming = this.state.confirming;
|
|
const value5 = null;
|
|
if (noDefaultButtons) {
|
|
r0 = value5;
|
|
} else {
|
|
r7 = (
|
|
value5 != cancelText
|
|
? (
|
|
<View style={value3.cancelButton}>
|
|
<Button
|
|
variant="secondary"
|
|
onPress={this.handleCancel}
|
|
text={cancelText}
|
|
/>
|
|
</View>
|
|
)
|
|
: value2
|
|
);
|
|
if (value5 != secondaryConfirmText) {
|
|
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
|
|
r6 = (
|
|
<PressableOpacity
|
|
accessibilityRole="button"
|
|
style={value3.secondaryConfirm}
|
|
onPress={this.handleSecondaryConfirm}
|
|
>
|
|
{((Text) => <Text variant="text-sm/semibold" color="text-link">{secondaryConfirmText}</Text>)((require(4573) /* metro dependency 4573: Text */).Text)}
|
|
</PressableOpacity>
|
|
);
|
|
} else {
|
|
r6 = value2;
|
|
}
|
|
var viewBindingProps = {style: value3.buttons};
|
|
r8 = value5 == renderConfirmButton ? value2 : renderConfirmButton();
|
|
if (value5 == r8) {
|
|
var buttonProps = {variant: getAlertButtonVariant(confirmColor), onPress: this.handleConfirm, text: r16,
|
|
loading: confirming};
|
|
value = value5 != isConfirmButtonDisabled;
|
|
r14 = value && isConfirmButtonDisabled;
|
|
buttonProps.disabled = r14;
|
|
r15 = value5 == renderConfirmIcon ? value2 : renderConfirmIcon();
|
|
r15 = value5 == r15 ? value5 == renderConfirmRightIcon ? value2 : renderConfirmRightIcon() : r15;
|
|
r14 = value5 != r15 ? r15 : value2;
|
|
buttonProps.icon = r14;
|
|
value = 'start';
|
|
buttonProps.iconPosition = value5 != renderConfirmIcon ? value : value5 != renderConfirmRightIcon ? 'end' : value2;
|
|
value = <Button {...buttonProps} />;
|
|
r8 = value;
|
|
}
|
|
value = (
|
|
<View {...viewBindingProps}>
|
|
{r8}
|
|
{r7}
|
|
{r6}
|
|
</View>
|
|
);
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function value_38965() { // fn#38965, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:4225, offset: 0x010d29c7, size: 50 bytes, params: 1, frame: 14
|
|
var r0;
|
|
const footer = this.props.footer;
|
|
let value = null;
|
|
if (value == footer) {
|
|
r0 = value;
|
|
} else {
|
|
value = environment.__proto__;
|
|
value = (
|
|
<View>
|
|
{footer}
|
|
</View>
|
|
);
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function value_38966() { // fn#38966, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:4320, offset: 0x010d29f9, size: 287 bytes, params: 1, frame: 24
|
|
const value = environment.__proto__;
|
|
const value2 = env1_15(this.context);
|
|
const {style, width, isLandscape, onClose} = this.props;
|
|
const jsxRuntimeEnv1_14Binding = jsxRuntimeEnv1_14;
|
|
const value3 = ((Component) => <Component absolute componentStyles={value2.gradient} />)(ThemedGradient);
|
|
const items2 = [value2.alert, style];
|
|
items2[2] = {width: width};
|
|
const items3 = [this.renderHeader()];
|
|
items3[1] = this.renderBody();
|
|
items3[2] = this.renderButtons();
|
|
items3[3] = this.renderFooter();
|
|
const fragment = (
|
|
<>
|
|
{value3}
|
|
<View onAccessibilityEscape={onClose} style={items2}>
|
|
{items3}
|
|
</View>
|
|
</>
|
|
);
|
|
return (
|
|
isLandscape
|
|
? (
|
|
<ScrollView style={{maxHeight: width}}>
|
|
{fragment}
|
|
</ScrollView>
|
|
)
|
|
: fragment
|
|
);
|
|
}
|
|
|
|
}
|
|
|
|
function _fun38967(a0) { // fn#38967, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4774:4837, offset: 0x010d2b18, size: 182 bytes, params: 2, frame: 19
|
|
const value2 = (UseWindowDimensionsNative)();
|
|
const value3 = (UseIsScreenLandscapeNativeModule).useIsScreenLandscape();
|
|
const Math = global.Math;
|
|
const min = Math.min;
|
|
const Math2 = global.Math;
|
|
return ((Component) => <Component width={Reflect.apply(min, Math, [0.9 * Math2.min(value2.width, value2.height),
|
|
400])} contentHeight={0.7 * value2.height} isLandscape={value3} {...a0} />)(env0_16);
|
|
}
|
|
|
|
}
|
|
|
|
global.__d(_fun38946, 4596, [6, 7, 15, 17, 18, 31, 27, 33, 4501, 697, 1305, 4597, 4041, 4570, 4573, 1244, 4578,
|
|
5278, 7704, 3868, 1478, 8750,
|
|
2]) /* metro module 4596, dependencies: [6, 7, 15, 17, 18, 31, 27, 33, 4501, 697, 1305, 4597, 4041, 4570, 4573, 1244, 4578, 5278, 7704, 3868, 1478, 8750, 2] */;
|