Files
discord-decomp/sources/by-id/module-01679.jsx
T
2026-07-27 16:20:00 +03:00

524 lines
21 KiB
React

/* Metro module 1679; source: unknown; dependencies: [1669, 1662, 1614, 1651, 1635, 1666, 1680, 1696, 1620, 1697, 1698, 1703] */
function _fun18352(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#18352, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:6, offset: 0x00e898d0, size: 203 bytes, params: 8, frame: 18
const env0_0 = require;
const getRandomDelay = function() {
var r5;
var value = 1000;
r5 = arguments.length > 0 ? arguments[0] === undefined ? value : arguments[0] : value;
var Math = global.Math;
var Math2 = global.Math;
return Math.floor(Math2.random() * (r5 + 1)) / value;
};
const getCallbackFromConfig = function(a0) {
return a0.callbackV === undefined ? null : a0.callbackV;
};
const getReversedFromConfig = function(a0) {
return !!a0.reversed;
};
const closure = saveSnapshot;
const closure2 = setElementAnimation;
const getElementScrollValue = function(a0) {
var r2;
var r3;
var parentElement;
var value = a0;
var object = {'scrollTopOffset': 0, 'scrollLeftOffset': 0};
if (value) {
r2 = value;
while (true) {
value = r2.scrollTop !== 0;
r3 = value && object.scrollTopOffset === 0;
if (!r3) {
continue;
}
object.scrollTopOffset = r2.scrollTop;
value = r2.scrollLeft !== 0;
if (!value) {
r3 = value;
continue;
}
value = object.scrollLeftOffset === 0;
r3 = value;
if (!r3) {
continue;
}
object.scrollLeftOffset = r2.scrollLeft;
parentElement = r2.parentElement;
if (parentElement) {
r2 = parentElement;
continue;
}
break;
}
}
return object;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
exports.getReducedMotionFromConfig = getReducedMotionFromConfig;
exports.getProcessedConfig = function(a0, a1, a2) {
var object = {animationName: a0, animationType: a1};
object.duration = getDurationFromConfig(a2, a0);
object.delay = getDelayFromConfig(a2);
object.easing = getEasingFromConfig(a2);
object.callback = getCallbackFromConfig(a2);
object.reversed = getReversedFromConfig(a2);
return object;
};
exports.maybeModifyStyleForKeyframe = maybeModifyStyleForKeyframe;
exports.saveSnapshot = closure;
exports.setElementAnimation = closure2;
exports.handleLayoutTransition = handleLayoutTransition;
exports.handleExitingAnimation = handleExitingAnimation;
}
function getEasingFromConfig(a0) { // fn#18353, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:43, offset: 0x00e8999b, size: 233 bytes, params: 2, frame: 18
var r0;
var property;
var value2;
var moduleValue;
var maybeGetBezierEasing;
var value3;
let easingV = a0.easingV;
var value;
if (easingV) {
easingV = a0.easingV;
property = easingV[(require(1662) /* metro dependency 1662 */).EasingNameSymbol];
value2 = property in (require(1669) /* metro dependency 1669 */).WebEasings;
moduleValue = require(1669) /* metro dependency 1669 */;
if (value2) {
return moduleValue.getEasingByName(property);
}
maybeGetBezierEasing = moduleValue.maybeGetBezierEasing;
easingV = a0.easingV;
value3 = Reflect.apply(maybeGetBezierEasing, moduleValue, [easingV]);
if (value3) {
r0 = value3;
} else {
(require(1614) /* metro dependency 1614 */).logger.warn('Selected easing is not currently supported on web. Using linear easing instead.');
value = require(1669) /* metro dependency 1669 */;
value = value.getEasingByName('linear');
r0 = value;
}
return r0;
}
return (require(1669) /* metro dependency 1669 */).getEasingByName('linear');
}
function getDelayFromConfig(a0) { // fn#18355, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:562, offset: 0x00e89ae0, size: 82 bytes, params: 2, frame: 13
const randomizeDelay = a0.randomizeDelay;
let r0 = randomizeDelay ? getRandomDelay() : 0;
r0 = a0.delayV ? randomizeDelay ? getRandomDelay(a0.delayV) : a0.delayV / 1000 : r0;
return r0;
}
function getDurationFromConfig(a0, a1) { // fn#18356, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:697, offset: 0x00e89b32, size: 114 bytes, params: 3, frame: 15
const Animations = (require(1666) /* metro dependency 1666 */).Animations;
return a0.durationV === undefined ? a1 in Animations ? Animations[a1].duration : 0.3 : a0.durationV / 1000;
}
function saveSnapshot(a0) { // fn#18359, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:975, offset: 0x00e89bce, size: 109 bytes, params: 2, frame: 15
const boundingClientRect = a0.getBoundingClientRect();
const object2 = {};
object2.top = boundingClientRect.top;
object2.left = boundingClientRect.left;
object2.width = boundingClientRect.width;
object2.height = boundingClientRect.height;
object2.scrollOffsets = getElementScrollValue(a0);
(require(1696) /* metro dependency 1696 */).snapshots.set(a0, object2);
}
function setElementAnimation(a0, a1) { // fn#18360, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:1154, offset: 0x00e89c3b, size: 327 bytes, params: 3, frame: 22
const env0_0 = a0;
const env0_1 = a1;
let r2 = arguments.length > 2 && arguments[2] !== undefined && arguments[2];
value = null;
r2 = arguments.length > 3 ? arguments[3] === undefined ? value : arguments[3] : value;
const animationName = a1.animationName;
const duration = a1.duration;
const delay = a1.delay;
const env0_7 = a1.easing;
const closure = configureAnimation;
const animationType = a1.animationType;
const LayoutAnimationType = (require(1635) /* metro dependency 1635 */).LayoutAnimationType;
const ENTERING = LayoutAnimationType.ENTERING;
if (animationType === ENTERING) {
global.requestAnimationFrame(closure);
} else {
closure();
}
a0.onanimationend = onanimationend;
a0.onanimationstart = onanimationstart;
const Animations = (require(1666) /* metro dependency 1666 */).Animations;
if (!(animationName in Animations)) {
value = require(1697) /* metro dependency 1697 */;
value.scheduleAnimationCleanup(animationName, duration + delay, _fun18367);
}
}
function getReducedMotionFromConfig(a0) { // fn#18369, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:2658, offset: 0x00e8a04f, size: 170 bytes, params: 2, frame: 14
const ReducedMotionManager = (require(1651) /* metro dependency 1651 */).ReducedMotionManager;
const ReduceMotion = (require(1635) /* metro dependency 1635 */).ReduceMotion;
let reduceMotionV = a0.reduceMotionV;
if (reduceMotionV) {
reduceMotionV = a0.reduceMotionV;
if (ReduceMotion.Never === reduceMotionV) {
return false;
}
if (ReduceMotion.Always === reduceMotionV) {
return true;
}
}
return ReducedMotionManager.jsValue;
}
function maybeModifyStyleForKeyframe(a0, a1) { // fn#18371, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:3211, offset: 0x00e8a15b, size: 168 bytes, params: 3, frame: 17
var r2;
var value;
var Keyframe;
var style;
var Object;
var values;
var definitions;
var iterator;
var iterator2;
var item;
var item2;
var error;
exceptionSkip13: while (true) {
exceptionLanding13: while (true) {
value = environment;
Keyframe = (require(1680) /* metro dependency 1680 */).Keyframe;
if (a1 instanceof Keyframe) {
style = a0.style;
style.animationFillMode = 'forwards';
Object = global.Object;
values = Object.values;
definitions = a1.definitions;
iterator = Reflect.apply(values, Object, [definitions])[Symbol.iterator]();
iterator2 = iterator.next;
r2 = iterator;
loopExit2: while (true) {
item2 = Reflect.apply(iterator2, r2, []);
item = item2.value;
item2 = item2.done ? undefined : r2;
if (item2 === undefined) {
return undefined;
}
try {
value = 'originX' in item;
} catch (error) {
break exceptionLanding13;
}
if (value) {
break loopExit2;
}
try {
value = 'originY' in item;
} catch (error) {
break exceptionLanding13;
}
if (value) {
break loopExit2;
}
r2 = item2;
continue;
}
try {
style = a0.style;
} catch (error) {
break exceptionLanding13;
}
try {
style.position = 'absolute';
} catch (error) {
break exceptionLanding13;
}
item2.return();
return undefined;
}
return undefined;
break exceptionSkip13;
}
try {
item2.return();
} catch {
}
throw error;
break exceptionSkip13;
}
}
function handleLayoutTransition(a0, a1, a2) { // fn#18372, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:3535, offset: 0x00e8a203, size: 475 bytes, params: 4, frame: 21
const TransitionType = (require(1666) /* metro dependency 1666 */).TransitionType;
var value3;
const animationName = a1.animationName;
const r4 = animationName === 'LinearTransition' ? TransitionType.LINEAR : animationName === 'SequencedTransition' ? TransitionType.SEQUENCED : animationName === 'FadingTransition' ? TransitionType.FADING : animationName === 'JumpingTransition' ? TransitionType.JUMPING : animationName === 'CurvedTransition' ? TransitionType.CURVED : animationName !== 'EntryExitTransition' ? TransitionType.LINEAR : TransitionType.ENTRY_EXIT;
const {transitionKeyframeName,
dummyTransitionKeyframeName} = (require(1698) /* metro dependency 1698 */).TransitionGenerator(r4, a2);
a1.animationName = transitionKeyframeName;
const CURVED = TransitionType.CURVED;
if (r4 === CURVED) {
value3 = (require(1703) /* metro dependency 1703 */).prepareCurvedTransition(a0, a1, a2,
dummyTransitionKeyframeName);
setElementAnimation(value3.dummy, value3.dummyAnimationConfig);
}
setElementAnimation(a0, a1);
}
function handleExitingAnimation(a0, a1) { // fn#18373, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:4293, offset: 0x00e8a3de, size: 391 bytes, params: 3, frame: 21
var appendChild;
var top;
var left;
const env0_0 = a0;
const offsetParent = a0.offsetParent;
const value = a0.cloneNode();
value.isDummy = true;
value.style.animationName = '';
a0.dummyClone = value;
a0.style.animationName = '';
const Map = global.Map;
const map = new Map();
saveScrollPosition(a0);
let firstChild = a0.firstChild;
if (firstChild) {
reducibleLoop1: while (true) {
appendChild = value.appendChild;
firstChild = a0.firstChild;
Reflect.apply(appendChild, value, [firstChild]);
firstChild = a0.firstChild;
if (firstChild) {
continue reducibleLoop1;
}
break reducibleLoop1;
}
}
reducibleJoin4: while (true) {
if (offsetParent == null) {
break reducibleJoin4;
}
appendChild = offsetParent.appendChild;
Reflect.apply(appendChild, offsetParent, [value]);
break reducibleJoin4;
}
restoreScrollPosition(value);
const snapshots = (require(1696) /* metro dependency 1696 */).snapshots;
const value5 = snapshots.get(a0);
const elementScrollValue = getElementScrollValue(a0);
const scrollTopOffset = elementScrollValue.scrollTopOffset;
const scrollTopOffset2 = value5.scrollOffsets.scrollTopOffset;
reducibleJoin6: while (true) {
if (scrollTopOffset === scrollTopOffset2) {
break reducibleJoin6;
}
top = value5.top;
value5.top = top + (scrollTopOffset2 - scrollTopOffset);
break reducibleJoin6;
}
const scrollLeftOffset = elementScrollValue.scrollLeftOffset;
const scrollLeftOffset2 = value5.scrollOffsets.scrollLeftOffset;
reducibleJoin8: while (true) {
if (scrollLeftOffset === scrollLeftOffset2) {
break reducibleJoin8;
}
left = value5.left;
value5.left = left + (scrollLeftOffset2 - scrollLeftOffset);
break reducibleJoin8;
}
snapshots.set(value, value5);
(require(1696) /* metro dependency 1696 */).setElementPosition(value, value5);
setElementAnimation(value, a1, false, offsetParent);
}
function configureAnimation() { // fn#18361, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:1366, owner: setElementAnimation.configureAnimation, offset: 0x00e89d82, size: 119 bytes, params: 1, frame: 17
const binding = env0_0;
binding.style.animationName = animationName;
binding.style.animationDuration = '' + duration + 's';
binding.style.animationDelay = '' + delay + 's';
binding.style.animationTimingFunction = easing;
}
function maybeRemoveElement() { // fn#18362, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:1610, owner: setElementAnimation.maybeRemoveElement, offset: 0x00e89df9, size: 82 bytes, params: 1, frame: 13
var binding;
if (env0_0.isDummy && env0_3 != null && env0_3.contains(env0_0)) {
binding = env0_0;
binding.removedAfterAnimation = true;
env0_3.removeChild(binding);
}
}
function maybeCallCallback(a0) { // fn#18363, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:1729, owner: setElementAnimation.maybeCallCallback, offset: 0x00e89e4b, size: 54 bytes, params: 2, frame: 12
if (!env0_9 && require.callback) {
require.callback(a0);
}
}
function onanimationend() { // fn#18364, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:1814, owner: setElementAnimation.onanimationend, offset: 0x00e89e81, size: 77 bytes, params: 1, frame: 14
var value2;
if (env0_2) {
value2 = environment.__proto__;
saveSnapshot(env0_0);
}
maybeRemoveElement();
maybeCallCallback(true);
const binding = env0_0;
binding.removeEventListener('animationcancel', animationCancelHandler);
}
function animationCancelHandler() { // fn#18365, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:1904, owner: setElementAnimation.animationCancelHandler, offset: 0x00e89ece, size: 52 bytes, params: 1, frame: 14
maybeRemoveElement();
maybeCallCallback(false);
const binding = env0_0;
binding.removeEventListener('animationcancel', animationCancelHandler);
}
function onanimationstart() { // fn#18366, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:2011, owner: setElementAnimation.onanimationstart, offset: 0x00e89f02, size: 129 bytes, params: 1, frame: 15
const animationType = require.animationType;
const LayoutAnimationType = (require(1635) /* metro dependency 1635 */).LayoutAnimationType;
const ENTERING = LayoutAnimationType.ENTERING;
if (animationType === ENTERING) {
(require(1620) /* metro dependency 1620 */)._updatePropsJS({visibility: 'initial'}, env0_0);
}
const binding = env0_0;
binding.addEventListener('animationcancel', animationCancelHandler);
}
function _fun18367() { // fn#18367, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:2233, offset: 0x00e89f83, size: 99 bytes, params: 1, frame: 17
var value2;
var moduleValue;
var setElementPosition;
var binding;
var snapshots;
if (env0_2) {
value2 = environment.__proto__;
moduleValue = require(1696) /* metro dependency 1696 */;
setElementPosition = moduleValue.setElementPosition;
binding = env0_0;
snapshots = (require(1696) /* metro dependency 1696 */).snapshots;
Reflect.apply(setElementPosition, moduleValue, [binding, snapshots.get(binding)]);
}
maybeRemoveElement();
maybeCallCallback(false);
}
function saveScrollPosition(a0) { // fn#18374, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:4461, owner: handleExitingAnimation.saveScrollPosition, offset: 0x00e8a565, size: 105 bytes, params: 2, frame: 15
var saveScrollPositionBinding;
var error;
env0_2.set(a0, {top: a0.scrollTop, left: a0.scrollLeft});
const Array = global.Array;
const iterator = Array.from(a0.children)[Symbol.iterator]();
const iterator2 = iterator.next;
let r2 = iterator;
let item2 = Reflect.apply(iterator2, r2, []);
let item = item2.value;
item2 = item2.done ? undefined : r2;
reducibleJoin2: while (true) {
if (item2 === undefined) {
return undefined;
}
break reducibleJoin2;
}
reducibleLoop2: while (true) {
try {
saveScrollPositionBinding = saveScrollPosition;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
saveScrollPositionBinding(item);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r2 = item2;
item2 = Reflect.apply(iterator2, r2, []);
item = item2.value;
item2 = item2.done ? undefined : r2;
if (item2 === undefined) {
break reducibleLoop2;
}
continue reducibleLoop2;
}
}
function restoreScrollPosition(a0) { // fn#18375, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1806:4663, owner: handleExitingAnimation.restoreScrollPosition, offset: 0x00e8a5ce, size: 122 bytes, params: 2, frame: 14
var r1;
var binding2;
var top;
var left;
var restoreScrollPositionBinding;
var error;
const value = a0;
const binding = env0_2;
const get = binding.get;
reducibleJoin2: while (true) {
if (value !== env0_1) {
r1 = value;
break reducibleJoin2;
}
binding2 = env0_0;
r1 = binding2;
break reducibleJoin2;
}
const value3 = Reflect.apply(get, binding, [r1]);
reducibleJoin4: while (true) {
if (value3) {
top = value3.top;
value.scrollTop = top;
left = value3.left;
value.scrollLeft = left;
break reducibleJoin4;
}
break reducibleJoin4;
}
const Array = global.Array;
const iterator = Array.from(value.children)[Symbol.iterator]();
const iterator2 = iterator.next;
let r2 = iterator;
let item2 = Reflect.apply(iterator2, r2, []);
let item = item2.value;
item2 = item2.done ? undefined : r2;
reducibleJoin6: while (true) {
if (item2 === undefined) {
return undefined;
}
break reducibleJoin6;
}
reducibleLoop6: while (true) {
try {
restoreScrollPositionBinding = restoreScrollPosition;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
restoreScrollPositionBinding(item);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r2 = item2;
item2 = Reflect.apply(iterator2, r2, []);
item = item2.value;
item2 = item2.done ? undefined : r2;
if (item2 === undefined) {
break reducibleLoop6;
}
continue reducibleLoop6;
}
}