laif-ds
Version:
Design System di Laif con componenti React basati su principi di Atomic Design
163 lines (162 loc) • 6.15 kB
JavaScript
"use client";
import * as P from "react";
import { useRef as u, useState as z, useEffect as F, useMemo as G } from "react";
import { clsx as Q } from "../../../clsx/dist/clsx.js";
import { filterProps as B } from "../util/ReactUtils.js";
import { resolveDefaultProps as $ } from "../util/resolveDefaultProps.js";
import { JavascriptAnimate as x } from "../animation/JavascriptAnimate.js";
import { interpolate as y } from "../util/DataUtils.js";
import { useAnimationId as _ } from "../util/useAnimationId.js";
import { getTransitionVal as d } from "../animation/util.js";
function H(r, t) {
var c = Object.keys(r);
if (Object.getOwnPropertySymbols) {
var n = Object.getOwnPropertySymbols(r);
t && (n = n.filter(function(p) {
return Object.getOwnPropertyDescriptor(r, p).enumerable;
})), c.push.apply(c, n);
}
return c;
}
function X(r) {
for (var t = 1; t < arguments.length; t++) {
var c = arguments[t] != null ? arguments[t] : {};
t % 2 ? H(Object(c), !0).forEach(function(n) {
R(r, n, c[n]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(r, Object.getOwnPropertyDescriptors(c)) : H(Object(c)).forEach(function(n) {
Object.defineProperty(r, n, Object.getOwnPropertyDescriptor(c, n));
});
}
return r;
}
function R(r, t, c) {
return (t = w(t)) in r ? Object.defineProperty(r, t, { value: c, enumerable: !0, configurable: !0, writable: !0 }) : r[t] = c, r;
}
function w(r) {
var t = tt(r, "string");
return typeof t == "symbol" ? t : t + "";
}
function tt(r, t) {
if (typeof r != "object" || !r) return r;
var c = r[Symbol.toPrimitive];
if (c !== void 0) {
var n = c.call(r, t);
if (typeof n != "object") return n;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(r);
}
function O() {
return O = Object.assign ? Object.assign.bind() : function(r) {
for (var t = 1; t < arguments.length; t++) {
var c = arguments[t];
for (var n in c) ({}).hasOwnProperty.call(c, n) && (r[n] = c[n]);
}
return r;
}, O.apply(null, arguments);
}
var Y = (r, t, c, n, p) => {
var m = Math.min(Math.abs(c) / 2, Math.abs(n) / 2), v = n >= 0 ? 1 : -1, o = c >= 0 ? 1 : -1, i = n >= 0 && c >= 0 || n < 0 && c < 0 ? 1 : 0, f;
if (m > 0 && p instanceof Array) {
for (var a = [0, 0, 0, 0], l = 0, g = 4; l < g; l++)
a[l] = p[l] > m ? m : p[l];
f = "M".concat(r, ",").concat(t + v * a[0]), a[0] > 0 && (f += "A ".concat(a[0], ",").concat(a[0], ",0,0,").concat(i, ",").concat(r + o * a[0], ",").concat(t)), f += "L ".concat(r + c - o * a[1], ",").concat(t), a[1] > 0 && (f += "A ".concat(a[1], ",").concat(a[1], ",0,0,").concat(i, `,
`).concat(r + c, ",").concat(t + v * a[1])), f += "L ".concat(r + c, ",").concat(t + n - v * a[2]), a[2] > 0 && (f += "A ".concat(a[2], ",").concat(a[2], ",0,0,").concat(i, `,
`).concat(r + c - o * a[2], ",").concat(t + n)), f += "L ".concat(r + o * a[3], ",").concat(t + n), a[3] > 0 && (f += "A ".concat(a[3], ",").concat(a[3], ",0,0,").concat(i, `,
`).concat(r, ",").concat(t + n - v * a[3])), f += "Z";
} else if (m > 0 && p === +p && p > 0) {
var e = Math.min(m, p);
f = "M ".concat(r, ",").concat(t + v * e, `
A `).concat(e, ",").concat(e, ",0,0,").concat(i, ",").concat(r + o * e, ",").concat(t, `
L `).concat(r + c - o * e, ",").concat(t, `
A `).concat(e, ",").concat(e, ",0,0,").concat(i, ",").concat(r + c, ",").concat(t + v * e, `
L `).concat(r + c, ",").concat(t + n - v * e, `
A `).concat(e, ",").concat(e, ",0,0,").concat(i, ",").concat(r + c - o * e, ",").concat(t + n, `
L `).concat(r + o * e, ",").concat(t + n, `
A `).concat(e, ",").concat(e, ",0,0,").concat(i, ",").concat(r, ",").concat(t + n - v * e, " Z");
} else
f = "M ".concat(r, ",").concat(t, " h ").concat(c, " v ").concat(n, " h ").concat(-c, " Z");
return f;
}, rt = {
x: 0,
y: 0,
width: 0,
height: 0,
// The radius of border
// The radius of four corners when radius is a number
// The radius of left-top, right-top, right-bottom, left-bottom when radius is an array
radius: 0,
isAnimationActive: !1,
isUpdateAnimationActive: !1,
animationBegin: 0,
animationDuration: 1500,
animationEasing: "ease"
}, mt = (r) => {
var t = $(r, rt), c = u(null), [n, p] = z(-1);
F(() => {
if (c.current && c.current.getTotalLength)
try {
var s = c.current.getTotalLength();
s && p(s);
} catch {
}
}, []);
var {
x: m,
y: v,
width: o,
height: i,
radius: f,
className: a
} = t, {
animationEasing: l,
animationDuration: g,
animationBegin: e,
isAnimationActive: Z,
isUpdateAnimationActive: j
} = t, D = u(o), E = u(i), L = u(m), S = u(v), K = G(() => ({
x: m,
y: v,
width: o,
height: i,
radius: f
}), [m, v, o, i, f]), M = _(K, "rectangle-");
if (m !== +m || v !== +v || o !== +o || i !== +i || o === 0 || i === 0)
return null;
var k = Q("recharts-rectangle", a);
if (!j)
return /* @__PURE__ */ P.createElement("path", O({}, B(t, !0), {
className: k,
d: Y(m, v, o, i, f)
}));
var U = D.current, h = E.current, C = L.current, J = S.current, V = "0px ".concat(n === -1 ? 1 : n, "px"), I = "".concat(n, "px 0px"), q = d(["strokeDasharray"], g, typeof l == "string" ? l : void 0);
return /* @__PURE__ */ P.createElement(x, {
animationId: M,
key: M,
canBegin: n > 0,
duration: g,
easing: l,
isActive: j,
begin: e
}, (s) => {
var A = y(U, o, s), N = y(h, i, s), T = y(C, m, s), W = y(J, v, s);
c.current && (D.current = A, E.current = N, L.current = T, S.current = W);
var b;
return Z ? s > 0 ? b = {
transition: q,
strokeDasharray: I
} : b = {
strokeDasharray: V
} : b = {
strokeDasharray: I
}, /* @__PURE__ */ P.createElement("path", O({}, B(t, !0), {
className: k,
d: Y(T, W, A, N, f),
ref: c,
style: X(X({}, b), t.style)
}));
});
};
export {
mt as Rectangle
};