Mission Control Dashboard - Initial implementation
This commit is contained in:
47
node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
generated
vendored
Normal file
47
node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
import { parseValueFromTransform } from '../../../render/dom/parse-transform.mjs';
|
||||
import { transformPropOrder } from '../../../render/utils/keys-transform.mjs';
|
||||
import { number } from '../../../value/types/numbers/index.mjs';
|
||||
import { px } from '../../../value/types/numbers/units.mjs';
|
||||
|
||||
const isNumOrPxType = (v) => v === number || v === px;
|
||||
const transformKeys = new Set(["x", "y", "z"]);
|
||||
const nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));
|
||||
function removeNonTranslationalTransform(visualElement) {
|
||||
const removedTransforms = [];
|
||||
nonTranslationalTransformKeys.forEach((key) => {
|
||||
const value = visualElement.getValue(key);
|
||||
if (value !== undefined) {
|
||||
removedTransforms.push([key, value.get()]);
|
||||
value.set(key.startsWith("scale") ? 1 : 0);
|
||||
}
|
||||
});
|
||||
return removedTransforms;
|
||||
}
|
||||
const positionalValues = {
|
||||
// Dimensions
|
||||
width: ({ x }, { paddingLeft = "0", paddingRight = "0", boxSizing }) => {
|
||||
const width = x.max - x.min;
|
||||
return boxSizing === "border-box"
|
||||
? width
|
||||
: width - parseFloat(paddingLeft) - parseFloat(paddingRight);
|
||||
},
|
||||
height: ({ y }, { paddingTop = "0", paddingBottom = "0", boxSizing }) => {
|
||||
const height = y.max - y.min;
|
||||
return boxSizing === "border-box"
|
||||
? height
|
||||
: height - parseFloat(paddingTop) - parseFloat(paddingBottom);
|
||||
},
|
||||
top: (_bbox, { top }) => parseFloat(top),
|
||||
left: (_bbox, { left }) => parseFloat(left),
|
||||
bottom: ({ y }, { top }) => parseFloat(top) + (y.max - y.min),
|
||||
right: ({ x }, { left }) => parseFloat(left) + (x.max - x.min),
|
||||
// Transform
|
||||
x: (_bbox, { transform }) => parseValueFromTransform(transform, "x"),
|
||||
y: (_bbox, { transform }) => parseValueFromTransform(transform, "y"),
|
||||
};
|
||||
// Alias translate longform names
|
||||
positionalValues.translateX = positionalValues.x;
|
||||
positionalValues.translateY = positionalValues.y;
|
||||
|
||||
export { isNumOrPxType, positionalValues, removeNonTranslationalTransform };
|
||||
//# sourceMappingURL=unit-conversion.mjs.map
|
||||
Reference in New Issue
Block a user