UNPKG

laif-ds

Version:

Design System di Laif con componenti React basati su principi di Atomic Design

126 lines (125 loc) 4.38 kB
"use client"; import * as s from "react"; import { useRef as j, useState as k, useEffect as T } from "react"; import { clsx as U } from "../../../clsx/dist/clsx.js"; import { filterProps as P } from "../util/ReactUtils.js"; import { resolveDefaultProps as W } from "../util/resolveDefaultProps.js"; import { Animate as B } from "../animation/Animate.js"; function L() { return L = Object.assign ? Object.assign.bind() : function(o) { for (var c = 1; c < arguments.length; c++) { var t = arguments[c]; for (var a in t) ({}).hasOwnProperty.call(t, a) && (o[a] = t[a]); } return o; }, L.apply(null, arguments); } var D = (o, c, t, a, p) => { var v = Math.min(Math.abs(t) / 2, Math.abs(a) / 2), f = a >= 0 ? 1 : -1, e = t >= 0 ? 1 : -1, m = a >= 0 && t >= 0 || a < 0 && t < 0 ? 1 : 0, l; if (v > 0 && p instanceof Array) { for (var n = [0, 0, 0, 0], i = 0, A = 4; i < A; i++) n[i] = p[i] > v ? v : p[i]; l = "M".concat(o, ",").concat(c + f * n[0]), n[0] > 0 && (l += "A ".concat(n[0], ",").concat(n[0], ",0,0,").concat(m, ",").concat(o + e * n[0], ",").concat(c)), l += "L ".concat(o + t - e * n[1], ",").concat(c), n[1] > 0 && (l += "A ".concat(n[1], ",").concat(n[1], ",0,0,").concat(m, `, `).concat(o + t, ",").concat(c + f * n[1])), l += "L ".concat(o + t, ",").concat(c + a - f * n[2]), n[2] > 0 && (l += "A ".concat(n[2], ",").concat(n[2], ",0,0,").concat(m, `, `).concat(o + t - e * n[2], ",").concat(c + a)), l += "L ".concat(o + e * n[3], ",").concat(c + a), n[3] > 0 && (l += "A ".concat(n[3], ",").concat(n[3], ",0,0,").concat(m, `, `).concat(o, ",").concat(c + a - f * n[3])), l += "Z"; } else if (v > 0 && p === +p && p > 0) { var r = Math.min(v, p); l = "M ".concat(o, ",").concat(c + f * r, ` A `).concat(r, ",").concat(r, ",0,0,").concat(m, ",").concat(o + e * r, ",").concat(c, ` L `).concat(o + t - e * r, ",").concat(c, ` A `).concat(r, ",").concat(r, ",0,0,").concat(m, ",").concat(o + t, ",").concat(c + f * r, ` L `).concat(o + t, ",").concat(c + a - f * r, ` A `).concat(r, ",").concat(r, ",0,0,").concat(m, ",").concat(o + t - e * r, ",").concat(c + a, ` L `).concat(o + e * r, ",").concat(c + a, ` A `).concat(r, ",").concat(r, ",0,0,").concat(m, ",").concat(o, ",").concat(c + a - f * r, " Z"); } else l = "M ".concat(o, ",").concat(c, " h ").concat(t, " v ").concat(a, " h ").concat(-t, " Z"); return l; }, C = { 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" }, F = (o) => { var c = W(o, C), t = j(null), [a, p] = k(-1); T(() => { if (t.current && t.current.getTotalLength) try { var g = t.current.getTotalLength(); g && p(g); } catch { } }, []); var { x: v, y: f, width: e, height: m, radius: l, className: n } = c, { animationEasing: i, animationDuration: A, animationBegin: r, isAnimationActive: N, isUpdateAnimationActive: E } = c; if (v !== +v || f !== +f || e !== +e || m !== +m || e === 0 || m === 0) return null; var b = U("recharts-rectangle", n); return E ? /* @__PURE__ */ s.createElement(B, { canBegin: a > 0, from: { width: e, height: m, x: v, y: f }, to: { width: e, height: m, x: v, y: f }, duration: A, animationEasing: i, isActive: E }, (g) => { var { width: M, height: O, x: S, y: Z } = g; return /* @__PURE__ */ s.createElement(B, { canBegin: a > 0, from: "0px ".concat(a === -1 ? 1 : a, "px"), to: "".concat(a, "px 0px"), attributeName: "strokeDasharray", begin: r, duration: A, isActive: N, easing: i }, /* @__PURE__ */ s.createElement("path", L({}, P(c, !0), { className: b, d: D(S, Z, M, O, l), ref: t }))); }) : /* @__PURE__ */ s.createElement("path", L({}, P(c, !0), { className: b, d: D(v, f, e, m, l) })); }; export { F as Rectangle };