Files
discord-decomp/_bundle/addPxToTransform.js
T
2026-11-01 12:12:55 +02:00

145 lines
4.5 KiB
JavaScript

// Metro module 1694 (f1695).
import _slicedToArray from "./_slicedToArray";
import { convertAnimationObjectToKeyframes } from "./Module1664";
import { insertWebAnimation } from "./findDescendantWithExitingAnimation";
import { AnimationsData, TransitionType } from "./Module1662";
import { LinearTransition } from "./Module1695";
import { SequencedTransition } from "./Module1696";
import { FadingTransition } from "./Module1697";
import { JumpingTransition } from "./Module1698";
import { CurvedTransition } from "./Module1699";
import { EntryExitTransition } from "./addTransformToKeepPosition";
let _excluded, c1338_6, generateNextCustomKeyframeName;
const addPxToTransform = function addPxToTransform(transform) {
return transform.map((a0) => {
const r0 = {};
for (const item of Object.entries(a0)) {
const [r36, r38] = item;
if (!(!r36.includes("translate") && !r36.includes("perspective")) && typeof r38 === "number") {
r0[r36] = `${r38}px`;
continue;
}
r0[r36] = r38;
}
return r0;
});
};
generateNextCustomKeyframeName = function generateNextCustomKeyframeName() {
const r1 = +c1338_6;
c1338_6 = r1 + 1;
return "REA" + r1;
};
_excluded = ["transform"];
c1338_6 = 0;
export function createCustomKeyFrameAnimation(a0) {
for (const item of Object.values(a0)) {
if (item.transform) {
item.transform = addPxToTransform(item.transform);
}
}
const r35 = {
name: generateNextCustomKeyframeName(),
style: a0,
duration: -1
};
const r40 = Object.keys(a0);
const r43 = 1 < r40.length;
let r45 = 1;
if (r43) {
do {
const r47 = a0[r40[r45]];
const easing = r47.easing;
const r49 = r45;
if (easing) {
a0[r40[r49 - 1]].easing = r47.easing;
delete r47["easing"];
}
r45 = r49 + 1;
} while (r45 < r40.length);
}
insertWebAnimation(r35.name, convertAnimationObjectToKeyframes(r35));
return r35.name;
}
export function createAnimationWithInitialValues(a0, a1) {
const style = structuredClone(AnimationsData[a0].style);
const r38 = style[0];
const { transform, ...rest } = a1;
if (transform) {
const transform2 = addPxToTransform(transform);
if (r38.transform) {
const map = new Map();
for (const item of r38.transform) {
for (const item2 of Object.entries(item)) {
const r61 = _slicedToArray(item2, 2);
map.set(r61[0], r61[1]);
}
}
for (const item3 of transform2) {
for (const item4 of Object.entries(item3)) {
const r83 = _slicedToArray(item4, 2);
map.set(r83[0], r83[1]);
}
}
r38.transform = Array.from(map, (a0) => {
const [r13, r14] = a0;
const r16 = {};
r16[r13] = r14;
return r16;
});
} else {
r38.transform = transform2;
}
}
style[0] = {
...style[0],
...rest
};
const name = generateNextCustomKeyframeName();
insertWebAnimation(name, convertAnimationObjectToKeyframes({
name,
style,
duration: AnimationsData[a0].duration
}));
return name;
}
export function TransitionGenerator(a0, a1) {
let r7, dummyTransitionKeyframeName;
const r12 = +c1338_6;
c1338_6 = r12 + 1;
const transitionKeyframeName = "REA" + r12;
if (TransitionType.LINEAR === a0) {
r7 = LinearTransition(transitionKeyframeName, a1);
dummyTransitionKeyframeName = void 0;
} else if (TransitionType.SEQUENCED === a0) {
r7 = SequencedTransition(transitionKeyframeName, a1);
dummyTransitionKeyframeName = void 0;
} else if (TransitionType.FADING === a0) {
r7 = FadingTransition(transitionKeyframeName, a1);
dummyTransitionKeyframeName = void 0;
} else if (TransitionType.JUMPING === a0) {
r7 = JumpingTransition(transitionKeyframeName, a1);
dummyTransitionKeyframeName = void 0;
} else if (TransitionType.CURVED === a0) {
const r42 = +c1338_6;
c1338_6 = r42 + 1;
const r44 = "REA" + r42;
const r48 = CurvedTransition(transitionKeyframeName, r44, a1);
r7 = r48.firstKeyframeObj;
insertWebAnimation(r44, convertAnimationObjectToKeyframes(r48.secondKeyframeObj));
dummyTransitionKeyframeName = r44;
} else {
const ENTRY_EXIT = TransitionType.ENTRY_EXIT;
r7 = void 0;
dummyTransitionKeyframeName = void 0;
if (ENTRY_EXIT === a0) {
r7 = EntryExitTransition(transitionKeyframeName, a1);
dummyTransitionKeyframeName = void 0;
}
}
insertWebAnimation(transitionKeyframeName, convertAnimationObjectToKeyframes(r7));
return {
transitionKeyframeName,
dummyTransitionKeyframeName
};
}