laif-ds
Version:
Design System di Laif con componenti React basati su principi di Atomic Design
141 lines (140 loc) • 4.12 kB
JavaScript
"use client";
import * as P from "react";
import { clsx as h } from "../../../clsx/dist/clsx.js";
import { filterProps as j } from "../util/ReactUtils.js";
import { upperFirst as l } from "../util/DataUtils.js";
import d from "../../../d3-shape/src/symbol.js";
import w from "../../../d3-shape/src/symbol/wye.js";
import S from "../../../d3-shape/src/symbol/triangle.js";
import M from "../../../d3-shape/src/symbol/star.js";
import x from "../../../d3-shape/src/symbol/square.js";
import _ from "../../../d3-shape/src/symbol/diamond.js";
import D from "../../../d3-shape/src/symbol/cross.js";
import p from "../../../d3-shape/src/symbol/circle.js";
var q = ["type", "size", "sizeType"];
function s() {
return s = Object.assign ? Object.assign.bind() : function(r) {
for (var t = 1; t < arguments.length; t++) {
var e = arguments[t];
for (var o in e) ({}).hasOwnProperty.call(e, o) && (r[o] = e[o]);
}
return r;
}, s.apply(null, arguments);
}
function u(r, t) {
var e = Object.keys(r);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(r);
t && (o = o.filter(function(a) {
return Object.getOwnPropertyDescriptor(r, a).enumerable;
})), e.push.apply(e, o);
}
return e;
}
function m(r) {
for (var t = 1; t < arguments.length; t++) {
var e = arguments[t] != null ? arguments[t] : {};
t % 2 ? u(Object(e), !0).forEach(function(o) {
E(r, o, e[o]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(r, Object.getOwnPropertyDescriptors(e)) : u(Object(e)).forEach(function(o) {
Object.defineProperty(r, o, Object.getOwnPropertyDescriptor(e, o));
});
}
return r;
}
function E(r, t, e) {
return (t = F(t)) in r ? Object.defineProperty(r, t, { value: e, enumerable: !0, configurable: !0, writable: !0 }) : r[t] = e, r;
}
function F(r) {
var t = I(r, "string");
return typeof t == "symbol" ? t : t + "";
}
function I(r, t) {
if (typeof r != "object" || !r) return r;
var e = r[Symbol.toPrimitive];
if (e !== void 0) {
var o = e.call(r, t);
if (typeof o != "object") return o;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(r);
}
function N(r, t) {
if (r == null) return {};
var e, o, a = T(r, t);
if (Object.getOwnPropertySymbols) {
var n = Object.getOwnPropertySymbols(r);
for (o = 0; o < n.length; o++) e = n[o], t.indexOf(e) === -1 && {}.propertyIsEnumerable.call(r, e) && (a[e] = r[e]);
}
return a;
}
function T(r, t) {
if (r == null) return {};
var e = {};
for (var o in r) if ({}.hasOwnProperty.call(r, o)) {
if (t.indexOf(o) !== -1) continue;
e[o] = r[o];
}
return e;
}
var y = {
symbolCircle: p,
symbolCross: D,
symbolDiamond: _,
symbolSquare: x,
symbolStar: M,
symbolTriangle: S,
symbolWye: w
}, A = Math.PI / 180, W = (r) => {
var t = "symbol".concat(l(r));
return y[t] || p;
}, C = (r, t, e) => {
if (t === "area")
return r;
switch (e) {
case "cross":
return 5 * r * r / 9;
case "diamond":
return 0.5 * r * r / Math.sqrt(3);
case "square":
return r * r;
case "star": {
var o = 18 * A;
return 1.25 * r * r * (Math.tan(o) - Math.tan(o * 2) * Math.tan(o) ** 2);
}
case "triangle":
return Math.sqrt(3) * r * r / 4;
case "wye":
return (21 - 10 * Math.sqrt(3)) * r * r / 8;
default:
return Math.PI * r * r / 4;
}
}, K = (r, t) => {
y["symbol".concat(l(r))] = t;
}, R = (r) => {
var {
type: t = "circle",
size: e = 64,
sizeType: o = "area"
} = r, a = N(r, q), n = m(m({}, a), {}, {
type: t,
size: e,
sizeType: o
}), f = () => {
var O = W(t), g = d().type(O).size(C(e, o, t));
return g();
}, {
className: b,
cx: i,
cy: c
} = n, v = j(n, !0);
return i === +i && c === +c && e === +e ? /* @__PURE__ */ P.createElement("path", s({}, v, {
className: h("recharts-symbols", b),
transform: "translate(".concat(i, ", ").concat(c, ")"),
d: f()
})) : null;
};
R.registerSymbol = K;
export {
R as Symbols
};