📚 Documentação inicial do ALETHEIA
- MANUAL-PRODUTO.md: Manual do usuário final - MANUAL-VENDAS.md: Estratégia comercial e vendas - MANUAL-TECNICO.md: Infraestrutura e deploy - README.md: Visão geral do projeto
This commit is contained in:
41
frontend/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs
generated
vendored
Normal file
41
frontend/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
import { px } from '../../value/types/numbers/units.mjs';
|
||||
|
||||
function pixelsToPercent(pixels, axis) {
|
||||
if (axis.max === axis.min)
|
||||
return 0;
|
||||
return (pixels / (axis.max - axis.min)) * 100;
|
||||
}
|
||||
/**
|
||||
* We always correct borderRadius as a percentage rather than pixels to reduce paints.
|
||||
* For example, if you are projecting a box that is 100px wide with a 10px borderRadius
|
||||
* into a box that is 200px wide with a 20px borderRadius, that is actually a 10%
|
||||
* borderRadius in both states. If we animate between the two in pixels that will trigger
|
||||
* a paint each time. If we animate between the two in percentage we'll avoid a paint.
|
||||
*/
|
||||
const correctBorderRadius = {
|
||||
correct: (latest, node) => {
|
||||
if (!node.target)
|
||||
return latest;
|
||||
/**
|
||||
* If latest is a string, if it's a percentage we can return immediately as it's
|
||||
* going to be stretched appropriately. Otherwise, if it's a pixel, convert it to a number.
|
||||
*/
|
||||
if (typeof latest === "string") {
|
||||
if (px.test(latest)) {
|
||||
latest = parseFloat(latest);
|
||||
}
|
||||
else {
|
||||
return latest;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* If latest is a number, it's a pixel value. We use the current viewportBox to calculate that
|
||||
* pixel value as a percentage of each axis
|
||||
*/
|
||||
const x = pixelsToPercent(latest, node.target.x);
|
||||
const y = pixelsToPercent(latest, node.target.y);
|
||||
return `${x}% ${y}%`;
|
||||
},
|
||||
};
|
||||
|
||||
export { correctBorderRadius, pixelsToPercent };
|
||||
35
frontend/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs
generated
vendored
Normal file
35
frontend/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
import { mixNumber } from '../../utils/mix/number.mjs';
|
||||
import { complex } from '../../value/types/complex/index.mjs';
|
||||
|
||||
const correctBoxShadow = {
|
||||
correct: (latest, { treeScale, projectionDelta }) => {
|
||||
const original = latest;
|
||||
const shadow = complex.parse(latest);
|
||||
// TODO: Doesn't support multiple shadows
|
||||
if (shadow.length > 5)
|
||||
return original;
|
||||
const template = complex.createTransformer(latest);
|
||||
const offset = typeof shadow[0] !== "number" ? 1 : 0;
|
||||
// Calculate the overall context scale
|
||||
const xScale = projectionDelta.x.scale * treeScale.x;
|
||||
const yScale = projectionDelta.y.scale * treeScale.y;
|
||||
shadow[0 + offset] /= xScale;
|
||||
shadow[1 + offset] /= yScale;
|
||||
/**
|
||||
* Ideally we'd correct x and y scales individually, but because blur and
|
||||
* spread apply to both we have to take a scale average and apply that instead.
|
||||
* We could potentially improve the outcome of this by incorporating the ratio between
|
||||
* the two scales.
|
||||
*/
|
||||
const averageScale = mixNumber(xScale, yScale, 0.5);
|
||||
// Blur
|
||||
if (typeof shadow[2 + offset] === "number")
|
||||
shadow[2 + offset] /= averageScale;
|
||||
// Spread
|
||||
if (typeof shadow[3 + offset] === "number")
|
||||
shadow[3 + offset] /= averageScale;
|
||||
return template(shadow);
|
||||
},
|
||||
};
|
||||
|
||||
export { correctBoxShadow };
|
||||
6
frontend/node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs
generated
vendored
Normal file
6
frontend/node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
const scaleCorrectors = {};
|
||||
function addScaleCorrector(correctors) {
|
||||
Object.assign(scaleCorrectors, correctors);
|
||||
}
|
||||
|
||||
export { addScaleCorrector, scaleCorrectors };
|
||||
49
frontend/node_modules/framer-motion/dist/es/projection/styles/transform.mjs
generated
vendored
Normal file
49
frontend/node_modules/framer-motion/dist/es/projection/styles/transform.mjs
generated
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
function buildProjectionTransform(delta, treeScale, latestTransform) {
|
||||
let transform = "";
|
||||
/**
|
||||
* The translations we use to calculate are always relative to the viewport coordinate space.
|
||||
* But when we apply scales, we also scale the coordinate space of an element and its children.
|
||||
* For instance if we have a treeScale (the culmination of all parent scales) of 0.5 and we need
|
||||
* to move an element 100 pixels, we actually need to move it 200 in within that scaled space.
|
||||
*/
|
||||
const xTranslate = delta.x.translate / treeScale.x;
|
||||
const yTranslate = delta.y.translate / treeScale.y;
|
||||
const zTranslate = (latestTransform === null || latestTransform === void 0 ? void 0 : latestTransform.z) || 0;
|
||||
if (xTranslate || yTranslate || zTranslate) {
|
||||
transform = `translate3d(${xTranslate}px, ${yTranslate}px, ${zTranslate}px) `;
|
||||
}
|
||||
/**
|
||||
* Apply scale correction for the tree transform.
|
||||
* This will apply scale to the screen-orientated axes.
|
||||
*/
|
||||
if (treeScale.x !== 1 || treeScale.y !== 1) {
|
||||
transform += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;
|
||||
}
|
||||
if (latestTransform) {
|
||||
const { transformPerspective, rotate, rotateX, rotateY, skewX, skewY } = latestTransform;
|
||||
if (transformPerspective)
|
||||
transform = `perspective(${transformPerspective}px) ${transform}`;
|
||||
if (rotate)
|
||||
transform += `rotate(${rotate}deg) `;
|
||||
if (rotateX)
|
||||
transform += `rotateX(${rotateX}deg) `;
|
||||
if (rotateY)
|
||||
transform += `rotateY(${rotateY}deg) `;
|
||||
if (skewX)
|
||||
transform += `skewX(${skewX}deg) `;
|
||||
if (skewY)
|
||||
transform += `skewY(${skewY}deg) `;
|
||||
}
|
||||
/**
|
||||
* Apply scale to match the size of the element to the size we want it.
|
||||
* This will apply scale to the element-orientated axes.
|
||||
*/
|
||||
const elementScaleX = delta.x.scale * treeScale.x;
|
||||
const elementScaleY = delta.y.scale * treeScale.y;
|
||||
if (elementScaleX !== 1 || elementScaleY !== 1) {
|
||||
transform += `scale(${elementScaleX}, ${elementScaleY})`;
|
||||
}
|
||||
return transform || "none";
|
||||
}
|
||||
|
||||
export { buildProjectionTransform };
|
||||
Reference in New Issue
Block a user