@validationcloud/fractal-ui 1.80.1 → 1.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,6 +8,7 @@ type DropdownMenuProps = {
8
8
  baseColor?: 'bg-neutral-60' | 'bg-neutral-80';
9
9
  className?: string;
10
10
  contentClassName?: string;
11
+ contentStyle?: React.CSSProperties;
11
12
  disabled?: boolean;
12
13
  } & React.ComponentProps<typeof DropdownMenuPrimitive.Root>;
13
14
  /**
@@ -17,5 +18,5 @@ type DropdownMenuProps = {
17
18
  *
18
19
  * @see {@link https://www.radix-ui.com/primitives/docs/components/dropdown-menu}
19
20
  */
20
- export declare function DropdownMenu({ trigger, baseColor, children, className, contentClassName, disabled, ...props }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
21
+ export declare function DropdownMenu({ trigger, baseColor, children, className, contentClassName, contentStyle, disabled, ...props }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
21
22
  export {};
@@ -1,13 +1,13 @@
1
1
  "use client";
2
- import { jsx as e, jsxs as u } from "react/jsx-runtime";
2
+ import { jsx as e, jsxs as s } from "react/jsx-runtime";
3
3
  import { DropdownMenu as t, ScrollArea as n } from "radix-ui";
4
- import { forwardRef as g } from "react";
5
- import { twMerge as s } from "../../lib/tailwind-merge.js";
6
- const p = g(
4
+ import { forwardRef as p } from "react";
5
+ import { twMerge as d } from "../../lib/tailwind-merge.js";
6
+ const m = p(
7
7
  ({ className: o, baseColor: r = "bg-neutral-60", textValue: l, ...a }, i) => /* @__PURE__ */ e(
8
8
  t.Item,
9
9
  {
10
- className: s(
10
+ className: d(
11
11
  "tg-button-small data-highlighted:text-neutral-10 flex cursor-pointer items-center truncate rounded-[4px] px-4 py-2.5 transition-colors outline-none select-none",
12
12
  r === "bg-neutral-60" && "text-neutral-20 data-highlighted:bg-neutral-55",
13
13
  r === "bg-neutral-80" && "text-neutral-40 data-highlighted:bg-neutral-60",
@@ -19,41 +19,43 @@ const p = g(
19
19
  }
20
20
  )
21
21
  );
22
- p.displayName = "DropdownMenuItem";
23
- function w({
22
+ m.displayName = "DropdownMenuItem";
23
+ function v({
24
24
  trigger: o,
25
25
  baseColor: r = "bg-neutral-60",
26
26
  children: l,
27
27
  className: a,
28
28
  contentClassName: i,
29
- disabled: d,
30
- ...c
29
+ contentStyle: u,
30
+ disabled: c,
31
+ ...h
31
32
  }) {
32
- return /* @__PURE__ */ u(t.Root, { ...c, children: [
33
- /* @__PURE__ */ e(t.Trigger, { className: s("", a), asChild: !0, disabled: d, children: o }),
33
+ return /* @__PURE__ */ s(t.Root, { ...h, children: [
34
+ /* @__PURE__ */ e(t.Trigger, { className: d("", a), asChild: !0, disabled: c, children: o }),
34
35
  /* @__PURE__ */ e(t.Portal, { children: /* @__PURE__ */ e(
35
36
  n.Root,
36
37
  {
37
38
  type: "hover",
38
39
  style: { "--scrollbar-size": "10px" },
39
40
  asChild: !0,
40
- children: /* @__PURE__ */ u(
41
+ children: /* @__PURE__ */ s(
41
42
  t.Content,
42
43
  {
43
- onCloseAutoFocus: (h) => {
44
- h.preventDefault();
44
+ onCloseAutoFocus: (g) => {
45
+ g.preventDefault();
45
46
  },
46
- className: s(
47
+ className: d(
47
48
  "max-h-(--radix-dropdown-menu-content-available-height) overflow-hidden rounded-lg shadow-[0px_8px_20px_2px_rgba(0,0,0,0.40)]",
48
49
  r === "bg-neutral-60" && "bg-neutral-60",
49
50
  r === "bg-neutral-80" && "bg-neutral-80",
50
51
  i
51
52
  ),
53
+ style: u,
52
54
  align: "end",
53
55
  sideOffset: 8,
54
56
  collisionPadding: 8,
55
57
  children: [
56
- /* @__PURE__ */ e(n.Viewport, { className: "max-h-(--radix-dropdown-menu-content-available-height) p-1", children: l }),
58
+ /* @__PURE__ */ e(n.Viewport, { className: "max-h-(--radix-dropdown-menu-content-available-height) overflow-x-hidden p-1 [&>div]:block!", children: l }),
57
59
  /* @__PURE__ */ e(
58
60
  n.Scrollbar,
59
61
  {
@@ -70,6 +72,6 @@ function w({
70
72
  ] });
71
73
  }
72
74
  export {
73
- w as DropdownMenu,
74
- p as DropdownMenuItem
75
+ v as DropdownMenu,
76
+ m as DropdownMenuItem
75
77
  };
@@ -27,6 +27,7 @@ declare const _default: {
27
27
  "#FF99BF",
28
28
  "#8277D8"
29
29
  ],
30
+ "gradientColor": ["#653E43", "#8E3D4B", "#C14E64", "#DF687D"],
30
31
  "backgroundColor": "#1A1D1F",
31
32
  "textStyle": {
32
33
  "fontFamily": "Poppins, sans-serif",
@@ -1,43 +1,45 @@
1
- const M = [{ type: "linear", x: 0, y: 0, x2: 1, y2: 0, colorStops: [{ offset: 0, color: "#C14E64" }, { offset: 1, color: "#DE7385" }] }, "#00BBFA", "#0072B2", "#E69F00", "#D66119", "#56B4E9", "#45B26B", "#F0E442", "#FF99BF", "#8277D8"], L = "#1A1D1F", N = { fontFamily: "Poppins, sans-serif", fontWeight: 500 }, j = { top: 32, left: 32, textStyle: { color: "#FFFFFF", fontSize: 16, fontWeight: 600 }, subtextStyle: { color: "#A7A9AD" } }, D = { itemStyle: { borderWidth: 1 }, lineStyle: { width: 2 }, areaStyle: { opacity: 0.15 }, showSymbol: !1, symbolSize: 5, symbol: "circle", smooth: !1, sampling: "lttb" }, A = { barGap: "25%", barCategoryGap: "25%" }, g = { axisLine: { show: !0, lineStyle: { color: "#3A3D46", type: "dashed" } }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !1 } }, t = { axisLine: { show: !1 }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !0, lineStyle: { color: ["#3A3D46"], type: "dashed" } } }, u = { axisLine: { show: !1 }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !0, lineStyle: { color: ["#3A3D46"], type: "dashed" } } }, I = { axisLine: { show: !0, lineStyle: { color: "#3A3D46" } }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !1 } }, y = { top: 82, left: "auto", right: 32, icon: "circle", itemGap: 22, itemWidth: 12, itemHeight: 12, textStyle: { color: "#A7A9AD", fontSize: 11 } }, T = { top: 132, left: 32, right: 32, bottom: 32, outerBoundsMode: "same", outerBoundsContain: "axisLabel" }, i = { backgroundColor: "rgba(26, 29, 31, 0)", borderColor: "#3A3D46", borderRadius: 4, dataBackground: { lineStyle: { color: "#606060", width: 1 }, areaStyle: { color: "rgba(96, 96, 96, 0.3)" } }, selectedDataBackground: { lineStyle: { color: "#b36674", width: 1 }, areaStyle: { color: "rgba(164, 91, 105, 0.5)" } }, fillerColor: "rgba(82, 45, 52, 0.35)", handleStyle: { color: "#C14E64", borderColor: "#C14E64" }, moveHandleStyle: { color: "#b36674" }, brushStyle: { color: "rgba(95, 58, 65, 0.2)" }, emphasis: { handleStyle: { color: "rgb(209, 123, 140)", borderColor: "rgb(209, 123, 140)" } }, handleSize: "100%", textStyle: { color: "#A7A9AD" } }, S = { color: ["#C14E64", "#00BBFA", "#0072B2", "#E69F00", "#D66119", "#56B4E9", "#45B26B", "#F0E442", "#FF99BF", "#8277D8"], left: 140, right: 140, top: 82, bottom: 32, nodeWidth: 20, nodeGap: 40, layoutIterations: 32, draggable: !1, emphasis: { focus: "adjacency" }, label: { show: !0, formatter: "{b}", color: "#FCFCFC", fontSize: 11, width: 100, overflow: "truncate", ellipsis: "..." }, edgeLabel: { show: !1, fontSize: 9, color: "#A7A9AD", backgroundColor: "rgba(26, 29, 31, 0.85)", padding: [2, 6], borderRadius: 3 }, lineStyle: { color: "gradient", opacity: 0.4, curveness: 0.5 }, itemStyle: { borderWidth: 0 }, levels: [{ depth: 0, itemStyle: { color: "#C14E64" }, lineStyle: { color: "gradient", opacity: 0.4 } }, { depth: 1, itemStyle: { color: "#56B4E9" }, lineStyle: { color: "gradient", opacity: 0.4 } }, { depth: 2, itemStyle: { color: "#0072B2" }, lineStyle: { color: "gradient", opacity: 0.4 } }] }, z = { itemStyle: { areaColor: "#413E3D", borderColor: "#2A2726", borderWidth: 0.5 }, label: { show: !1 }, emphasis: { label: { show: !1 }, itemStyle: { areaColor: "#524E4D" } } }, o = { itemStyle: { areaColor: "#413E3D", borderColor: "#2A2726", borderWidth: 0.5 }, label: { show: !1 }, emphasis: { label: { show: !1 }, itemStyle: { areaColor: "#524E4D" } } }, e = { label: { color: "#A7A9AD" }, emphasis: { label: { color: "#FFFFFF" } } }, x = { confine: !0, backgroundColor: "transparent", padding: 10, borderRadius: 8, borderColor: "#50525A", borderWidth: 1, textStyle: { color: "#FCFCFC", fontFamily: "Poppins, sans-serif", fontSize: 11, fontStyle: "normal", fontWeight: 500 }, extraCssText: "letter-spacing: 0.22px; box-shadow: 0 14px 11px -4px rgba(0, 0, 0, 0.30), 0 -4px 4px 0 rgba(0, 0, 0, 0.04) inset; background: radial-gradient(ellipse at 25% 0%, rgba(217, 217, 217, 0.12) 0%, transparent 60%), #1A1D1F;" }, C = { type: "image", id: "fractal-watermark", left: "center", top: "middle", style: { image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMTAiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyMTAgMjQiPgogIDxnIGZpbGw9IiNhN2E5YWQiIGZpbGwtb3BhY2l0eT0iMC4zIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMzLjczMyAxLjg2OGgtMjEuNjdDNi40MzggMS44NjggMS44NzggNi40MDQgMS44NzggMTJzNC41NiAxMC4xMzIgMTAuMTg1IDEwLjEzMmgyMS42N2M1LjYyNSAwIDEwLjE4NS00LjUzNiAxMC4xODUtMTAuMTMyUzM5LjM1OCAxLjg2OCAzMy43MzMgMS44NjhNMCAxMmMwIDYuNjI3IDUuNCAxMiAxMi4wNjMgMTJoMjEuNjdjNi42NjIgMCAxMi4wNjMtNS4zNzMgMTIuMDYzLTEycy01LjQtMTItMTIuMDYzLTEyaC0yMS42N0M1LjQwMSAwIDAgNS4zNzMgMCAxMiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMy43MzQgNS4xNzRoLTIxLjY3QzguMjczIDUuMTc0IDUuMiA4LjIzIDUuMiAxMnMzLjA3MyA2LjgyNiA2Ljg2MyA2LjgyNmgyMS42N2MzLjc5IDAgNi44NjItMy4wNTYgNi44NjItNi44MjZzLTMuMDcyLTYuODI2LTYuODYyLTYuODI2TTMuMzIzIDEyYzAgNC44MDIgMy45MTIgOC42OTUgOC43NCA4LjY5NWgyMS42N2M0LjgyNyAwIDguNzQtMy44OTMgOC43NC04LjY5NXMtMy45MTMtOC42OTUtOC43NC04LjY5NWgtMjEuNjdjLTQuODI4IDAtOC43NCAzLjg5My04Ljc0IDguNjk1IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMzLjczMyA4LjQ4aC0yMS42N0EzLjUzIDMuNTMgMCAwIDAgOC41MjMgMTJhMy41MyAzLjUzIDAgMCAwIDMuNTQgMy41MjFoMjEuNjdhMy41MyAzLjUzIDAgMCAwIDMuNTQtMy41MiAzLjUzIDMuNTMgMCAwIDAtMy41NC0zLjUyMk02LjY0NiAxMmMwIDIuOTc2IDIuNDI1IDUuMzkgNS40MTcgNS4zOWgyMS42N2MyLjk5MiAwIDUuNDE4LTIuNDE0IDUuNDE4LTUuMzlzLTIuNDI2LTUuMzktNS40MTgtNS4zOWgtMjEuNjdjLTIuOTkyIDAtNS40MTcgMi40MTQtNS40MTcgNS4zOSIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICA8cGF0aCBkPSJNNTguNDUgMjAuNjk1aC0yLjc3TDQ4LjU5MiAzLjMyN2gyLjdsNS43NzMgMTQuNTQyIDUuNzczLTE0LjU0MmgyLjd6TTczLjk4NiAyMC42OTVoLTIuMDZsLS4xNC0xLjQ4MnEtLjY0LjgxLTEuNjE3IDEuMjYyLS45NzguNDUtMi4xNjUuNDUxLTEuMjQ2IDAtMi4yMjMtLjQ4NmEzLjg2IDMuODYgMCAwIDEtMS41MzctMS4zMzIgMy40IDMuNCAwIDAgMS0uNTU5LTEuOTIycTAtMS4xMzQuNjA2LTEuOTkxLjYwNS0uODY4IDEuNjUzLTEuMzU1IDEuMDQ3LS40OTggMi4zODYtLjQ5OC44MzggMCAxLjY5OS4xOTdhNi42IDYuNiAwIDAgMSAxLjU3MS41NTZ2LS40MjlxMC0uODQ0LS40NDItMS40NDdhMi43IDIuNyAwIDAgMC0xLjE4Ny0uOTM4IDQuMSA0LjEgMCAwIDAtMS42NTMtLjMyNHEtLjgwMiAwLTEuNjQxLjI3OC0uODI2LjI3Ny0xLjU2Ljg1N2wtLjcyMS0xLjkzNGE5LjMgOS4zIDAgMCAxIDIuMi0uOTUgOC4zIDguMyAwIDAgMSAyLjI1Ny0uMzIzcTEuNTgzIDAgMi43MjQuNjI1YTQuMzUgNC4zNSAwIDAgMSAxLjc4IDEuNzgzcS42MyAxLjE0Ni42MyAyLjcxem0tNS41MTctMS43ODNxLjgyNyAwIDEuNTI1LS4zMzZhMi45MyAyLjkzIDAgMCAwIDEuMTI5LS45NzNxLjQ0Mi0uNjM2LjQ3Ny0xLjQ4MnYtLjE2MmE0LjcgNC43IDAgMCAwLTEuMzM4LS42ODMgNC42IDQuNiAwIDAgMC0xLjUwMi0uMjU1cS0xLjE3NiAwLTEuOTU1LjU1Ni0uNzguNTU1LS43OCAxLjQyNCAwIC41NDQuMzE0Ljk4NC4zMjYuNDMuODczLjY4My41Ni4yNDQgMS4yNTcuMjQ0TTc3Ljk4OCAyMC42OTVoLTIuNTRWMi44NjRoMi41NHpNODAuNjY2IDUuNzU4cS0uNTQ4IDAtLjkyLS4zODJhMS4yOCAxLjI4IDAgMCAxLS4zNzMtLjkyNnEwLS41NDUuMzczLS45MTUuMzcyLS4zODIuOTItLjM4Mi41NiAwIC45MzIuMzgyLjM4NS4zNy4zODUuOTE1dC0uMzg1LjkyNnEtLjM3My4zODItLjkzMi4zODJtMS4xODggMTQuOTM3aC0yLjM4OFY5LjExNmgyLjM4OHpNOTUuNjI4IDIwLjY5NUg5My41MmwtLjEyOC0xLjY1NmE1LjcgNS43IDAgMCAxLTEuOTA5IDEuMzlxLTEuMTA2LjQ5Ny0yLjQzMi40OTctMS42NzcgMC0zLjAwMy0uNzg3YTUuNyA1LjcgMCAwIDEtMi4wOTUtMi4xNTRxLS43NTctMS4zNjUtLjc1Ny0zLjA4IDAtMS43MjQuNzU3LTMuMDhhNS43IDUuNyAwIDAgMSAyLjA5NS0yLjE1M3ExLjMyNi0uNzg3IDMuMDAzLS43ODcgMS4yNTcgMCAyLjMyOC40NTFhNS41IDUuNSAwIDAgMSAxLjg2MiAxLjI2MlYzLjMyN2gyLjM4NnptLTYuMTgtMS45cTEuMDU5IDAgMS45MDgtLjQ4NmEzLjc1IDMuNzUgMCAwIDAgMS4zNzQtMS4zMnEuNTEyLS44MzMuNTEyLTEuODk4di0uMzk0cTAtMS4wNjUtLjUxMi0xLjg5OWEzLjY2IDMuNjYgMCAwIDAtMS4zNzQtMS4zMDhxLS44NS0uNDc1LTEuOTA4LS40NzUtMS4wODMgMC0xLjk0NC41MWEzLjcgMy43IDAgMCAwLTEuMzYyIDEuMzg5cS0uNS44NjktLjUgMS45OHQuNSAxLjk5MWEzLjggMy44IDAgMCAwIDEuMzYyIDEuNDAxcS44NjEuNTEgMS45NDQuNTFNMTA3LjI2OSAyMC42OTVoLTIuMDYxbC0uMTM5LTEuNDgycS0uNjQuODEtMS42MTggMS4yNjItLjk3OC40NS0yLjE2NS40NTEtMS4yNDUgMC0yLjIyMy0uNDg2YTMuODYgMy44NiAwIDAgMS0xLjUzNi0xLjMzMiAzLjQgMy40IDAgMCAxLS41Ni0xLjkyMnEwLTEuMTM0LjYwNi0xLjk5MS42MDUtLjg2OCAxLjY1My0xLjM1NSAxLjA0Ny0uNDk4IDIuMzg2LS40OThhNy42IDcuNiAwIDAgMSAxLjY5OS4xOTcgNi42IDYuNiAwIDAgMSAxLjU3MS41NTZ2LS40MjlxMC0uODQ0LS40NDItMS40NDdhMi43IDIuNyAwIDAgMC0xLjE4Ny0uOTM4IDQuMSA0LjEgMCAwIDAtMS42NTMtLjMyNCA1LjE2NiA1LjE2NiAwIDAgMC0zLjIgMS4xMzVsLS43MjItMS45MzRhOS4zIDkuMyAwIDAgMSAyLjItLjk1IDguMyA4LjMgMCAwIDEgMi4yNTgtLjMyM3ExLjU4MyAwIDIuNzIzLjYyNWE0LjM1IDQuMzUgMCAwIDEgMS43ODEgMS43ODNxLjYyOSAxLjE0Ni42MjkgMi43MXptLTUuNTE3LTEuNzgzcS44MjYgMCAxLjUyNC0uMzM2YTIuOSAyLjkgMCAwIDAgMS4xMjktLjk3M3EuNDQyLS42MzYuNDc3LTEuNDgydi0uMTYyYTQuNiA0LjYgMCAwIDAtMS4zMzgtLjY4MyA0LjYgNC42IDAgMCAwLTEuNTAyLS4yNTVxLTEuMTc1IDAtMS45NTUuNTU2LS43OC41NTUtLjc4IDEuNDI0IDAgLjU0NC4zMTQuOTg0LjMyNy40My44NzMuNjgzLjU2LjI0NCAxLjI1OC4yNDRNMTE2LjQyNCAyMC40MDVxLTEuMjIxLjUyMS0yLjM2Mi41MjF0LTIuMDAyLS40ODZhMy41IDMuNSAwIDAgMS0xLjMzOS0xLjM2NnEtLjQ3Ny0uODkyLS40NzctMi4wNXYtNS43ODloLTIuMDM3VjkuMTE2aDIuMTUzVjYuMjIyaDIuMjd2Mi44OTRoMy4zOTl2Mi4xMTloLTMuMzk5djUuMzVxMCAxLjAxOC41NDcgMS42Mi41NTguNTkgMS40MzIuNTkuNzM0IDAgMS40NTUtLjQ0ek0xMTguNTggNS43NThxLS41NDggMC0uOTItLjM4MmExLjI4IDEuMjggMCAwIDEtLjM3My0uOTI2cTAtLjU0NS4zNzMtLjkxNS4zNzItLjM4Mi45Mi0uMzgyLjU2IDAgLjkzMi4zODIuMzg1LjM3LjM4NS45MTV0LS4zODUuOTI2YTEuMjUgMS4yNSAwIDAgMS0uOTMyLjM4Mm0xLjE4OCAxNC45MzdoLTIuMzg4VjkuMTE2aDIuMzg4ek0xMjcuMjU3IDIwLjkyNnEtMS43NDYgMC0zLjE0My0uNzg3YTUuODUgNS44NSAwIDAgMS0yLjItMi4xNDJxLS44MDMtMS4zNjYtLjgwMy0zLjA5MiAwLTEuNzEzLjgwMy0zLjA2OGE1LjggNS44IDAgMCAxIDIuMi0yLjE1M3ExLjM5Ny0uOCAzLjE0My0uOCAxLjc1NyAwIDMuMTQyLjhhNS43NiA1Ljc2IDAgMCAxIDIuMTc3IDIuMTUzcS44MDMgMS4zNTUuODAzIDMuMDY4IDAgMS43MjUtLjgwMyAzLjA5MmE1LjggNS44IDAgMCAxLTIuMTc3IDIuMTQycS0xLjM4NS43ODctMy4xNDIuNzg3bS0uMDEyLTIuMTNxMS4wNiAwIDEuODg2LS41MWEzLjcgMy43IDAgMCAwIDEuMzE1LTEuMzlxLjQ4OS0uODguNDg5LTIuMDAyIDAtMS4xLS40ODktMS45NjlhMy42IDMuNiAwIDAgMC0xLjMxNS0xLjM4OXEtLjgyNy0uNTItMS44ODYtLjUyLTEuMDQ3IDAtMS44ODUuNTJhMy43IDMuNyAwIDAgMC0xLjMyNyAxLjM5cS0uNDc3Ljg2OC0uNDc3IDEuOTY4IDAgMS4xMjMuNDc3IDIuMDAzYTMuOCAzLjggMCAwIDAgMS4zMjcgMS4zOXEuODM3LjUwOSAxLjg4NS41MDlNMTQ1LjgxNiAyMC42OTVoLTIuMzg2di02LjI4N3EwLTEuNTQtLjg0OS0yLjQ1NS0uODM5LS45MTUtMi4yNTgtLjkxNS0xLjQ2NiAwLTIuMzYzLjk3My0uODk2Ljk3Mi0uODk2IDIuNTgydjYuMTAyaC0yLjM4NlY5LjExNmgyLjAxM2wuMDgyIDEuODY0YTQuMjUgNC4yNSAwIDAgMSAxLjY3Ni0xLjU1MXExLjAzNS0uNTQ0IDIuNDMyLS41NDQgMi4yOTQgMCAzLjYwOSAxLjM3NyAxLjMyNiAxLjM3OSAxLjMyNiAzLjc5OHpNMTY2LjE3OCAxOC40ODNhOC43IDguNyAwIDAgMS0yLjg4OCAxLjg4N3EtMS42NjQuNjcyLTMuNjMxLjY3MnQtMy42MzItLjY3MmE4LjcgOC43IDAgMCAxLTIuODk4LTEuODg3IDguOSA4LjkgMCAwIDEtMS45MDgtMi44NzFxLS42NzYtMS42NTYtLjY3Ni0zLjYwMSAwLTEuOTU3LjY3Ni0zLjYwMWE4LjcgOC43IDAgMCAxIDEuOTA4LTIuODcyIDguNyA4LjcgMCAwIDEgMi44OTgtMS44ODdxMS42NjUtLjY3MSAzLjYzMi0uNjcxIDEuOTU1IDAgMy42MTkuNjgzIDEuNjc3LjY3MSAyLjg3NSAxLjg2NGwtMS43OCAxLjgwNmE2LjIgNi4yIDAgMCAwLTIuMDk0LTEuNTRxLTEuMjEyLS41NjctMi42NTQtLjU2Ny0xLjM5NyAwLTIuNTczLjUxYTYgNiAwIDAgMC0yLjA0OSAxLjQyMyA2LjYgNi42IDAgMCAwLTEuMzYxIDIuMTU0cS0uNDc4IDEuMjM5LS40NzggMi42OTh0LjQ3OCAyLjY5OGE2LjcgNi43IDAgMCAwIDEuMzYxIDIuMTY1IDYuMiA2LjIgMCAwIDAgMi4wNDkgMS40MjRxMS4xNzUuNDk4IDIuNTczLjQ5OCAxLjQ0MiAwIDIuNjU0LS41NTZhNi4yIDYuMiAwIDAgMCAyLjA4My0xLjU1MnpNMTcwLjA5MiAyMC42OTVoLTIuNTRWMi44NjRoMi41NHpNMTc3LjUzNCAyMC45MjZxLTEuNzQ1IDAtMy4xNDMtLjc4N2E1Ljg0IDUuODQgMCAwIDEtMi4xOTktMi4xNDJxLS44MDMtMS4zNjYtLjgwMy0zLjA5MiAwLTEuNzEzLjgwMy0zLjA2OGE1LjggNS44IDAgMCAxIDIuMTk5LTIuMTUzcTEuMzk4LS44IDMuMTQzLS44IDEuNzU4IDAgMy4xNDIuOGE1Ljc1IDUuNzUgMCAwIDEgMi4xNzYgMi4xNTNxLjgwNCAxLjM1NS44MDMgMy4wNjggMCAxLjcyNS0uODAzIDMuMDkyYTUuOCA1LjggMCAwIDEtMi4xNzYgMi4xNDJxLTEuMzg0Ljc4Ny0zLjE0Mi43ODdtLS4wMTMtMi4xM3ExLjA2IDAgMS44ODctLjUxYTMuNyAzLjcgMCAwIDAgMS4zMTUtMS4zOXEuNDg4LS44OC40ODgtMi4wMDIgMC0xLjEtLjQ4OC0xLjk2OWEzLjYgMy42IDAgMCAwLTEuMzE1LTEuMzg5cS0uODI3LS41Mi0xLjg4Ny0uNTJhMy41IDMuNSAwIDAgMC0xLjg4NS41MiAzLjcgMy43IDAgMCAwLTEuMzI2IDEuMzlxLS40NzcuODY4LS40NzcgMS45NjggMCAxLjEyMy40NzcgMi4wMDNhMy44IDMuOCAwIDAgMCAxLjMyNiAxLjM5IDMuNTYgMy41NiAwIDAgMCAxLjg4NS41MDlNMTk2LjEgMjAuNjk1aC0yLjAyNmwtLjA4Mi0xLjg2NHEtLjY0IDEuMDE4LTEuNjc2IDEuNTYzLTEuMDI1LjUzMi0yLjQzMy41MzItMi4yOCAwLTMuNjA3LTEuMzc4LTEuMzE2LTEuMzktMS4zMTYtMy43OTdWOS4xMTZoMi4zODd2Ni4yODdxMCAxLjU0LjgzNyAyLjQ1NS44NC45MTUgMi4yNTguOTE1IDEuNDY4IDAgMi4zNjQtLjk3My45MDctLjk4NC45MDctMi41ODJWOS4xMTZoMi4zODd6TTIwOS44NCAyMC42OTVoLTIuMTA2bC0uMTI5LTEuNjU2YTUuNyA1LjcgMCAwIDEtMS45MDggMS4zOXEtMS4xMDUuNDk3LTIuNDMzLjQ5Ny0xLjY3NiAwLTMuMDAyLS43ODdhNS43IDUuNyAwIDAgMS0yLjA5Ni0yLjE1NHEtLjc1Ni0xLjM2NS0uNzU2LTMuMDggMC0xLjcyNC43NTYtMy4wOGE1LjcgNS43IDAgMCAxIDIuMDk2LTIuMTUzcTEuMzI2LS43ODcgMy4wMDItLjc4NyAxLjI1NyAwIDIuMzI5LjQ1MWE1LjUgNS41IDAgMCAxIDEuODYyIDEuMjYyVjMuMzI3aDIuMzg1em0tNi4xOC0xLjlxMS4wNTkgMCAxLjkwOC0uNDg2YTMuNzQgMy43NCAwIDAgMCAxLjM3NC0xLjMycS41MTItLjgzMy41MTMtMS44OTh2LS4zOTRxMC0xLjA2NS0uNTEzLTEuODk5YTMuNjUgMy42NSAwIDAgMC0xLjM3NC0xLjMwOHEtLjg0OS0uNDc1LTEuOTA4LS40NzUtMS4wODIgMC0xLjk0My41MWEzLjcgMy43IDAgMCAwLTEuMzYzIDEuMzg5cS0uNS44NjktLjQ5OSAxLjk4IDAgMS4xMTEuNDk5IDEuOTkxYTMuOCAzLjggMCAwIDAgMS4zNjMgMS40MDFxLjg2LjUxIDEuOTQzLjUxIi8+CiAgPC9nPgo8L3N2Zz4=", width: 210, height: 24 }, z: 100, silent: !0 }, l = {
1
+ const M = [{ type: "linear", x: 0, y: 0, x2: 1, y2: 0, colorStops: [{ offset: 0, color: "#C14E64" }, { offset: 1, color: "#DE7385" }] }, "#00BBFA", "#0072B2", "#E69F00", "#D66119", "#56B4E9", "#45B26B", "#F0E442", "#FF99BF", "#8277D8"], L = ["#653E43", "#8E3D4B", "#C14E64", "#DF687D"], N = "#1A1D1F", j = { fontFamily: "Poppins, sans-serif", fontWeight: 500 }, D = { top: 32, left: 32, textStyle: { color: "#FFFFFF", fontSize: 16, fontWeight: 600 }, subtextStyle: { color: "#A7A9AD" } }, A = { itemStyle: { borderWidth: 1 }, lineStyle: { width: 2 }, areaStyle: { opacity: 0.15 }, showSymbol: !1, symbolSize: 5, symbol: "circle", smooth: !1, sampling: "lttb" }, g = { barGap: "25%", barCategoryGap: "25%" }, t = { axisLine: { show: !0, lineStyle: { color: "#3A3D46", type: "dashed" } }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !1 } }, u = { axisLine: { show: !1 }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !0, lineStyle: { color: ["#3A3D46"], type: "dashed" } } }, I = { axisLine: { show: !1 }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !0, lineStyle: { color: ["#3A3D46"], type: "dashed" } } }, y = { axisLine: { show: !0, lineStyle: { color: "#3A3D46" } }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !1 } }, i = { top: 82, left: "auto", right: 32, icon: "circle", itemGap: 22, itemWidth: 12, itemHeight: 12, textStyle: { color: "#A7A9AD", fontSize: 11 } }, T = { top: 132, left: 32, right: 32, bottom: 32, outerBoundsMode: "same", outerBoundsContain: "axisLabel" }, S = { backgroundColor: "rgba(26, 29, 31, 0)", borderColor: "#3A3D46", borderRadius: 4, dataBackground: { lineStyle: { color: "#606060", width: 1 }, areaStyle: { color: "rgba(96, 96, 96, 0.3)" } }, selectedDataBackground: { lineStyle: { color: "#b36674", width: 1 }, areaStyle: { color: "rgba(164, 91, 105, 0.5)" } }, fillerColor: "rgba(82, 45, 52, 0.35)", handleStyle: { color: "#C14E64", borderColor: "#C14E64" }, moveHandleStyle: { color: "#b36674" }, brushStyle: { color: "rgba(95, 58, 65, 0.2)" }, emphasis: { handleStyle: { color: "rgb(209, 123, 140)", borderColor: "rgb(209, 123, 140)" } }, handleSize: "100%", textStyle: { color: "#A7A9AD" } }, o = { color: ["#C14E64", "#00BBFA", "#0072B2", "#E69F00", "#D66119", "#56B4E9", "#45B26B", "#F0E442", "#FF99BF", "#8277D8"], left: 140, right: 140, top: 82, bottom: 32, nodeWidth: 20, nodeGap: 40, layoutIterations: 32, draggable: !1, emphasis: { focus: "adjacency" }, label: { show: !0, formatter: "{b}", color: "#FCFCFC", fontSize: 11, width: 100, overflow: "truncate", ellipsis: "..." }, edgeLabel: { show: !1, fontSize: 9, color: "#A7A9AD", backgroundColor: "rgba(26, 29, 31, 0.85)", padding: [2, 6], borderRadius: 3 }, lineStyle: { color: "gradient", opacity: 0.4, curveness: 0.5 }, itemStyle: { borderWidth: 0 }, levels: [{ depth: 0, itemStyle: { color: "#C14E64" }, lineStyle: { color: "gradient", opacity: 0.4 } }, { depth: 1, itemStyle: { color: "#56B4E9" }, lineStyle: { color: "gradient", opacity: 0.4 } }, { depth: 2, itemStyle: { color: "#0072B2" }, lineStyle: { color: "gradient", opacity: 0.4 } }] }, z = { itemStyle: { areaColor: "#413E3D", borderColor: "#2A2726", borderWidth: 0.5 }, label: { show: !1 }, emphasis: { label: { show: !1 }, itemStyle: { areaColor: "#524E4D" } } }, e = { itemStyle: { areaColor: "#413E3D", borderColor: "#2A2726", borderWidth: 0.5 }, label: { show: !1 }, emphasis: { label: { show: !1 }, itemStyle: { areaColor: "#524E4D" } } }, x = { label: { color: "#A7A9AD" }, emphasis: { label: { color: "#FFFFFF" } } }, C = { confine: !0, backgroundColor: "transparent", padding: 10, borderRadius: 8, borderColor: "#50525A", borderWidth: 1, textStyle: { color: "#FCFCFC", fontFamily: "Poppins, sans-serif", fontSize: 11, fontStyle: "normal", fontWeight: 500 }, extraCssText: "letter-spacing: 0.22px; box-shadow: 0 14px 11px -4px rgba(0, 0, 0, 0.30), 0 -4px 4px 0 rgba(0, 0, 0, 0.04) inset; background: radial-gradient(ellipse at 25% 0%, rgba(217, 217, 217, 0.12) 0%, transparent 60%), #1A1D1F;" }, E = { type: "image", id: "fractal-watermark", left: "center", top: "middle", style: { image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMTAiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyMTAgMjQiPgogIDxnIGZpbGw9IiNhN2E5YWQiIGZpbGwtb3BhY2l0eT0iMC4zIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMzLjczMyAxLjg2OGgtMjEuNjdDNi40MzggMS44NjggMS44NzggNi40MDQgMS44NzggMTJzNC41NiAxMC4xMzIgMTAuMTg1IDEwLjEzMmgyMS42N2M1LjYyNSAwIDEwLjE4NS00LjUzNiAxMC4xODUtMTAuMTMyUzM5LjM1OCAxLjg2OCAzMy43MzMgMS44NjhNMCAxMmMwIDYuNjI3IDUuNCAxMiAxMi4wNjMgMTJoMjEuNjdjNi42NjIgMCAxMi4wNjMtNS4zNzMgMTIuMDYzLTEycy01LjQtMTItMTIuMDYzLTEyaC0yMS42N0M1LjQwMSAwIDAgNS4zNzMgMCAxMiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMy43MzQgNS4xNzRoLTIxLjY3QzguMjczIDUuMTc0IDUuMiA4LjIzIDUuMiAxMnMzLjA3MyA2LjgyNiA2Ljg2MyA2LjgyNmgyMS42N2MzLjc5IDAgNi44NjItMy4wNTYgNi44NjItNi44MjZzLTMuMDcyLTYuODI2LTYuODYyLTYuODI2TTMuMzIzIDEyYzAgNC44MDIgMy45MTIgOC42OTUgOC43NCA4LjY5NWgyMS42N2M0LjgyNyAwIDguNzQtMy44OTMgOC43NC04LjY5NXMtMy45MTMtOC42OTUtOC43NC04LjY5NWgtMjEuNjdjLTQuODI4IDAtOC43NCAzLjg5My04Ljc0IDguNjk1IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMzLjczMyA4LjQ4aC0yMS42N0EzLjUzIDMuNTMgMCAwIDAgOC41MjMgMTJhMy41MyAzLjUzIDAgMCAwIDMuNTQgMy41MjFoMjEuNjdhMy41MyAzLjUzIDAgMCAwIDMuNTQtMy41MiAzLjUzIDMuNTMgMCAwIDAtMy41NC0zLjUyMk02LjY0NiAxMmMwIDIuOTc2IDIuNDI1IDUuMzkgNS40MTcgNS4zOWgyMS42N2MyLjk5MiAwIDUuNDE4LTIuNDE0IDUuNDE4LTUuMzlzLTIuNDI2LTUuMzktNS40MTgtNS4zOWgtMjEuNjdjLTIuOTkyIDAtNS40MTcgMi40MTQtNS40MTcgNS4zOSIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICA8cGF0aCBkPSJNNTguNDUgMjAuNjk1aC0yLjc3TDQ4LjU5MiAzLjMyN2gyLjdsNS43NzMgMTQuNTQyIDUuNzczLTE0LjU0MmgyLjd6TTczLjk4NiAyMC42OTVoLTIuMDZsLS4xNC0xLjQ4MnEtLjY0LjgxLTEuNjE3IDEuMjYyLS45NzguNDUtMi4xNjUuNDUxLTEuMjQ2IDAtMi4yMjMtLjQ4NmEzLjg2IDMuODYgMCAwIDEtMS41MzctMS4zMzIgMy40IDMuNCAwIDAgMS0uNTU5LTEuOTIycTAtMS4xMzQuNjA2LTEuOTkxLjYwNS0uODY4IDEuNjUzLTEuMzU1IDEuMDQ3LS40OTggMi4zODYtLjQ5OC44MzggMCAxLjY5OS4xOTdhNi42IDYuNiAwIDAgMSAxLjU3MS41NTZ2LS40MjlxMC0uODQ0LS40NDItMS40NDdhMi43IDIuNyAwIDAgMC0xLjE4Ny0uOTM4IDQuMSA0LjEgMCAwIDAtMS42NTMtLjMyNHEtLjgwMiAwLTEuNjQxLjI3OC0uODI2LjI3Ny0xLjU2Ljg1N2wtLjcyMS0xLjkzNGE5LjMgOS4zIDAgMCAxIDIuMi0uOTUgOC4zIDguMyAwIDAgMSAyLjI1Ny0uMzIzcTEuNTgzIDAgMi43MjQuNjI1YTQuMzUgNC4zNSAwIDAgMSAxLjc4IDEuNzgzcS42MyAxLjE0Ni42MyAyLjcxem0tNS41MTctMS43ODNxLjgyNyAwIDEuNTI1LS4zMzZhMi45MyAyLjkzIDAgMCAwIDEuMTI5LS45NzNxLjQ0Mi0uNjM2LjQ3Ny0xLjQ4MnYtLjE2MmE0LjcgNC43IDAgMCAwLTEuMzM4LS42ODMgNC42IDQuNiAwIDAgMC0xLjUwMi0uMjU1cS0xLjE3NiAwLTEuOTU1LjU1Ni0uNzguNTU1LS43OCAxLjQyNCAwIC41NDQuMzE0Ljk4NC4zMjYuNDMuODczLjY4My41Ni4yNDQgMS4yNTcuMjQ0TTc3Ljk4OCAyMC42OTVoLTIuNTRWMi44NjRoMi41NHpNODAuNjY2IDUuNzU4cS0uNTQ4IDAtLjkyLS4zODJhMS4yOCAxLjI4IDAgMCAxLS4zNzMtLjkyNnEwLS41NDUuMzczLS45MTUuMzcyLS4zODIuOTItLjM4Mi41NiAwIC45MzIuMzgyLjM4NS4zNy4zODUuOTE1dC0uMzg1LjkyNnEtLjM3My4zODItLjkzMi4zODJtMS4xODggMTQuOTM3aC0yLjM4OFY5LjExNmgyLjM4OHpNOTUuNjI4IDIwLjY5NUg5My41MmwtLjEyOC0xLjY1NmE1LjcgNS43IDAgMCAxLTEuOTA5IDEuMzlxLTEuMTA2LjQ5Ny0yLjQzMi40OTctMS42NzcgMC0zLjAwMy0uNzg3YTUuNyA1LjcgMCAwIDEtMi4wOTUtMi4xNTRxLS43NTctMS4zNjUtLjc1Ny0zLjA4IDAtMS43MjQuNzU3LTMuMDhhNS43IDUuNyAwIDAgMSAyLjA5NS0yLjE1M3ExLjMyNi0uNzg3IDMuMDAzLS43ODcgMS4yNTcgMCAyLjMyOC40NTFhNS41IDUuNSAwIDAgMSAxLjg2MiAxLjI2MlYzLjMyN2gyLjM4NnptLTYuMTgtMS45cTEuMDU5IDAgMS45MDgtLjQ4NmEzLjc1IDMuNzUgMCAwIDAgMS4zNzQtMS4zMnEuNTEyLS44MzMuNTEyLTEuODk4di0uMzk0cTAtMS4wNjUtLjUxMi0xLjg5OWEzLjY2IDMuNjYgMCAwIDAtMS4zNzQtMS4zMDhxLS44NS0uNDc1LTEuOTA4LS40NzUtMS4wODMgMC0xLjk0NC41MWEzLjcgMy43IDAgMCAwLTEuMzYyIDEuMzg5cS0uNS44NjktLjUgMS45OHQuNSAxLjk5MWEzLjggMy44IDAgMCAwIDEuMzYyIDEuNDAxcS44NjEuNTEgMS45NDQuNTFNMTA3LjI2OSAyMC42OTVoLTIuMDYxbC0uMTM5LTEuNDgycS0uNjQuODEtMS42MTggMS4yNjItLjk3OC40NS0yLjE2NS40NTEtMS4yNDUgMC0yLjIyMy0uNDg2YTMuODYgMy44NiAwIDAgMS0xLjUzNi0xLjMzMiAzLjQgMy40IDAgMCAxLS41Ni0xLjkyMnEwLTEuMTM0LjYwNi0xLjk5MS42MDUtLjg2OCAxLjY1My0xLjM1NSAxLjA0Ny0uNDk4IDIuMzg2LS40OThhNy42IDcuNiAwIDAgMSAxLjY5OS4xOTcgNi42IDYuNiAwIDAgMSAxLjU3MS41NTZ2LS40MjlxMC0uODQ0LS40NDItMS40NDdhMi43IDIuNyAwIDAgMC0xLjE4Ny0uOTM4IDQuMSA0LjEgMCAwIDAtMS42NTMtLjMyNCA1LjE2NiA1LjE2NiAwIDAgMC0zLjIgMS4xMzVsLS43MjItMS45MzRhOS4zIDkuMyAwIDAgMSAyLjItLjk1IDguMyA4LjMgMCAwIDEgMi4yNTgtLjMyM3ExLjU4MyAwIDIuNzIzLjYyNWE0LjM1IDQuMzUgMCAwIDEgMS43ODEgMS43ODNxLjYyOSAxLjE0Ni42MjkgMi43MXptLTUuNTE3LTEuNzgzcS44MjYgMCAxLjUyNC0uMzM2YTIuOSAyLjkgMCAwIDAgMS4xMjktLjk3M3EuNDQyLS42MzYuNDc3LTEuNDgydi0uMTYyYTQuNiA0LjYgMCAwIDAtMS4zMzgtLjY4MyA0LjYgNC42IDAgMCAwLTEuNTAyLS4yNTVxLTEuMTc1IDAtMS45NTUuNTU2LS43OC41NTUtLjc4IDEuNDI0IDAgLjU0NC4zMTQuOTg0LjMyNy40My44NzMuNjgzLjU2LjI0NCAxLjI1OC4yNDRNMTE2LjQyNCAyMC40MDVxLTEuMjIxLjUyMS0yLjM2Mi41MjF0LTIuMDAyLS40ODZhMy41IDMuNSAwIDAgMS0xLjMzOS0xLjM2NnEtLjQ3Ny0uODkyLS40NzctMi4wNXYtNS43ODloLTIuMDM3VjkuMTE2aDIuMTUzVjYuMjIyaDIuMjd2Mi44OTRoMy4zOTl2Mi4xMTloLTMuMzk5djUuMzVxMCAxLjAxOC41NDcgMS42Mi41NTguNTkgMS40MzIuNTkuNzM0IDAgMS40NTUtLjQ0ek0xMTguNTggNS43NThxLS41NDggMC0uOTItLjM4MmExLjI4IDEuMjggMCAwIDEtLjM3My0uOTI2cTAtLjU0NS4zNzMtLjkxNS4zNzItLjM4Mi45Mi0uMzgyLjU2IDAgLjkzMi4zODIuMzg1LjM3LjM4NS45MTV0LS4zODUuOTI2YTEuMjUgMS4yNSAwIDAgMS0uOTMyLjM4Mm0xLjE4OCAxNC45MzdoLTIuMzg4VjkuMTE2aDIuMzg4ek0xMjcuMjU3IDIwLjkyNnEtMS43NDYgMC0zLjE0My0uNzg3YTUuODUgNS44NSAwIDAgMS0yLjItMi4xNDJxLS44MDMtMS4zNjYtLjgwMy0zLjA5MiAwLTEuNzEzLjgwMy0zLjA2OGE1LjggNS44IDAgMCAxIDIuMi0yLjE1M3ExLjM5Ny0uOCAzLjE0My0uOCAxLjc1NyAwIDMuMTQyLjhhNS43NiA1Ljc2IDAgMCAxIDIuMTc3IDIuMTUzcS44MDMgMS4zNTUuODAzIDMuMDY4IDAgMS43MjUtLjgwMyAzLjA5MmE1LjggNS44IDAgMCAxLTIuMTc3IDIuMTQycS0xLjM4NS43ODctMy4xNDIuNzg3bS0uMDEyLTIuMTNxMS4wNiAwIDEuODg2LS41MWEzLjcgMy43IDAgMCAwIDEuMzE1LTEuMzlxLjQ4OS0uODguNDg5LTIuMDAyIDAtMS4xLS40ODktMS45NjlhMy42IDMuNiAwIDAgMC0xLjMxNS0xLjM4OXEtLjgyNy0uNTItMS44ODYtLjUyLTEuMDQ3IDAtMS44ODUuNTJhMy43IDMuNyAwIDAgMC0xLjMyNyAxLjM5cS0uNDc3Ljg2OC0uNDc3IDEuOTY4IDAgMS4xMjMuNDc3IDIuMDAzYTMuOCAzLjggMCAwIDAgMS4zMjcgMS4zOXEuODM3LjUwOSAxLjg4NS41MDlNMTQ1LjgxNiAyMC42OTVoLTIuMzg2di02LjI4N3EwLTEuNTQtLjg0OS0yLjQ1NS0uODM5LS45MTUtMi4yNTgtLjkxNS0xLjQ2NiAwLTIuMzYzLjk3My0uODk2Ljk3Mi0uODk2IDIuNTgydjYuMTAyaC0yLjM4NlY5LjExNmgyLjAxM2wuMDgyIDEuODY0YTQuMjUgNC4yNSAwIDAgMSAxLjY3Ni0xLjU1MXExLjAzNS0uNTQ0IDIuNDMyLS41NDQgMi4yOTQgMCAzLjYwOSAxLjM3NyAxLjMyNiAxLjM3OSAxLjMyNiAzLjc5OHpNMTY2LjE3OCAxOC40ODNhOC43IDguNyAwIDAgMS0yLjg4OCAxLjg4N3EtMS42NjQuNjcyLTMuNjMxLjY3MnQtMy42MzItLjY3MmE4LjcgOC43IDAgMCAxLTIuODk4LTEuODg3IDguOSA4LjkgMCAwIDEtMS45MDgtMi44NzFxLS42NzYtMS42NTYtLjY3Ni0zLjYwMSAwLTEuOTU3LjY3Ni0zLjYwMWE4LjcgOC43IDAgMCAxIDEuOTA4LTIuODcyIDguNyA4LjcgMCAwIDEgMi44OTgtMS44ODdxMS42NjUtLjY3MSAzLjYzMi0uNjcxIDEuOTU1IDAgMy42MTkuNjgzIDEuNjc3LjY3MSAyLjg3NSAxLjg2NGwtMS43OCAxLjgwNmE2LjIgNi4yIDAgMCAwLTIuMDk0LTEuNTRxLTEuMjEyLS41NjctMi42NTQtLjU2Ny0xLjM5NyAwLTIuNTczLjUxYTYgNiAwIDAgMC0yLjA0OSAxLjQyMyA2LjYgNi42IDAgMCAwLTEuMzYxIDIuMTU0cS0uNDc4IDEuMjM5LS40NzggMi42OTh0LjQ3OCAyLjY5OGE2LjcgNi43IDAgMCAwIDEuMzYxIDIuMTY1IDYuMiA2LjIgMCAwIDAgMi4wNDkgMS40MjRxMS4xNzUuNDk4IDIuNTczLjQ5OCAxLjQ0MiAwIDIuNjU0LS41NTZhNi4yIDYuMiAwIDAgMCAyLjA4My0xLjU1MnpNMTcwLjA5MiAyMC42OTVoLTIuNTRWMi44NjRoMi41NHpNMTc3LjUzNCAyMC45MjZxLTEuNzQ1IDAtMy4xNDMtLjc4N2E1Ljg0IDUuODQgMCAwIDEtMi4xOTktMi4xNDJxLS44MDMtMS4zNjYtLjgwMy0zLjA5MiAwLTEuNzEzLjgwMy0zLjA2OGE1LjggNS44IDAgMCAxIDIuMTk5LTIuMTUzcTEuMzk4LS44IDMuMTQzLS44IDEuNzU4IDAgMy4xNDIuOGE1Ljc1IDUuNzUgMCAwIDEgMi4xNzYgMi4xNTNxLjgwNCAxLjM1NS44MDMgMy4wNjggMCAxLjcyNS0uODAzIDMuMDkyYTUuOCA1LjggMCAwIDEtMi4xNzYgMi4xNDJxLTEuMzg0Ljc4Ny0zLjE0Mi43ODdtLS4wMTMtMi4xM3ExLjA2IDAgMS44ODctLjUxYTMuNyAzLjcgMCAwIDAgMS4zMTUtMS4zOXEuNDg4LS44OC40ODgtMi4wMDIgMC0xLjEtLjQ4OC0xLjk2OWEzLjYgMy42IDAgMCAwLTEuMzE1LTEuMzg5cS0uODI3LS41Mi0xLjg4Ny0uNTJhMy41IDMuNSAwIDAgMC0xLjg4NS41MiAzLjcgMy43IDAgMCAwLTEuMzI2IDEuMzlxLS40NzcuODY4LS40NzcgMS45NjggMCAxLjEyMy40NzcgMi4wMDNhMy44IDMuOCAwIDAgMCAxLjMyNiAxLjM5IDMuNTYgMy41NiAwIDAgMCAxLjg4NS41MDlNMTk2LjEgMjAuNjk1aC0yLjAyNmwtLjA4Mi0xLjg2NHEtLjY0IDEuMDE4LTEuNjc2IDEuNTYzLTEuMDI1LjUzMi0yLjQzMy41MzItMi4yOCAwLTMuNjA3LTEuMzc4LTEuMzE2LTEuMzktMS4zMTYtMy43OTdWOS4xMTZoMi4zODd2Ni4yODdxMCAxLjU0LjgzNyAyLjQ1NS44NC45MTUgMi4yNTguOTE1IDEuNDY4IDAgMi4zNjQtLjk3My45MDctLjk4NC45MDctMi41ODJWOS4xMTZoMi4zODd6TTIwOS44NCAyMC42OTVoLTIuMTA2bC0uMTI5LTEuNjU2YTUuNyA1LjcgMCAwIDEtMS45MDggMS4zOXEtMS4xMDUuNDk3LTIuNDMzLjQ5Ny0xLjY3NiAwLTMuMDAyLS43ODdhNS43IDUuNyAwIDAgMS0yLjA5Ni0yLjE1NHEtLjc1Ni0xLjM2NS0uNzU2LTMuMDggMC0xLjcyNC43NTYtMy4wOGE1LjcgNS43IDAgMCAxIDIuMDk2LTIuMTUzcTEuMzI2LS43ODcgMy4wMDItLjc4NyAxLjI1NyAwIDIuMzI5LjQ1MWE1LjUgNS41IDAgMCAxIDEuODYyIDEuMjYyVjMuMzI3aDIuMzg1em0tNi4xOC0xLjlxMS4wNTkgMCAxLjkwOC0uNDg2YTMuNzQgMy43NCAwIDAgMCAxLjM3NC0xLjMycS41MTItLjgzMy41MTMtMS44OTh2LS4zOTRxMC0xLjA2NS0uNTEzLTEuODk5YTMuNjUgMy42NSAwIDAgMC0xLjM3NC0xLjMwOHEtLjg0OS0uNDc1LTEuOTA4LS40NzUtMS4wODIgMC0xLjk0My41MWEzLjcgMy43IDAgMCAwLTEuMzYzIDEuMzg5cS0uNS44NjktLjQ5OSAxLjk4IDAgMS4xMTEuNDk5IDEuOTkxYTMuOCAzLjggMCAwIDAgMS4zNjMgMS40MDFxLjg2LjUxIDEuOTQzLjUxIi8+CiAgPC9nPgo8L3N2Zz4=", width: 210, height: 24 }, z: 100, silent: !0 }, l = {
2
2
  color: M,
3
- backgroundColor: L,
4
- textStyle: N,
5
- title: j,
6
- line: D,
7
- bar: A,
8
- categoryAxis: g,
9
- valueAxis: t,
10
- logAxis: u,
11
- timeAxis: I,
12
- legend: y,
3
+ gradientColor: L,
4
+ backgroundColor: N,
5
+ textStyle: j,
6
+ title: D,
7
+ line: A,
8
+ bar: g,
9
+ categoryAxis: t,
10
+ valueAxis: u,
11
+ logAxis: I,
12
+ timeAxis: y,
13
+ legend: i,
13
14
  grid: T,
14
- dataZoom: i,
15
- sankey: S,
15
+ dataZoom: S,
16
+ sankey: o,
16
17
  map: z,
17
- geo: o,
18
- markPoint: e,
19
- tooltip: x,
20
- graphic: C
18
+ geo: e,
19
+ markPoint: x,
20
+ tooltip: C,
21
+ graphic: E
21
22
  };
22
23
  export {
23
- L as backgroundColor,
24
- A as bar,
25
- g as categoryAxis,
24
+ N as backgroundColor,
25
+ g as bar,
26
+ t as categoryAxis,
26
27
  M as color,
27
- i as dataZoom,
28
+ S as dataZoom,
28
29
  l as default,
29
- o as geo,
30
- C as graphic,
30
+ e as geo,
31
+ L as gradientColor,
32
+ E as graphic,
31
33
  T as grid,
32
- y as legend,
33
- D as line,
34
- u as logAxis,
34
+ i as legend,
35
+ A as line,
36
+ I as logAxis,
35
37
  z as map,
36
- e as markPoint,
37
- S as sankey,
38
- N as textStyle,
39
- I as timeAxis,
40
- j as title,
41
- x as tooltip,
42
- t as valueAxis
38
+ x as markPoint,
39
+ o as sankey,
40
+ j as textStyle,
41
+ y as timeAxis,
42
+ D as title,
43
+ C as tooltip,
44
+ u as valueAxis
43
45
  };
@@ -27,6 +27,7 @@ declare const _default: {
27
27
  "#FF99BF",
28
28
  "#8277D8"
29
29
  ],
30
+ "gradientColor": ["#653E43", "#8E3D4B", "#C14E64", "#DF687D"],
30
31
  "backgroundColor": "#1A1D1F",
31
32
  "textStyle": {
32
33
  "fontFamily": "Poppins, sans-serif",
@@ -1,43 +1,45 @@
1
- const M = [{ type: "linear", x: 0, y: 0, x2: 0, y2: 1, colorStops: [{ offset: 0, color: "#C14E64" }, { offset: 1, color: "#DE7385" }] }, "#00BBFA", "#0072B2", "#E69F00", "#D66119", "#56B4E9", "#45B26B", "#F0E442", "#FF99BF", "#8277D8"], L = "#1A1D1F", N = { fontFamily: "Poppins, sans-serif", fontWeight: 500 }, j = { top: 32, left: 32, textStyle: { color: "#FFFFFF", fontSize: 16, fontWeight: 600 }, subtextStyle: { color: "#A7A9AD" } }, D = { itemStyle: { borderWidth: 1 }, lineStyle: { width: 2 }, areaStyle: { opacity: 0.15 }, showSymbol: !1, symbolSize: 5, symbol: "circle", smooth: !1, sampling: "lttb" }, A = { barGap: "25%", barCategoryGap: "25%" }, g = { axisLine: { show: !0, lineStyle: { color: "#3A3D46", type: "dashed" } }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !1 } }, t = { axisLine: { show: !1 }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !0, lineStyle: { color: ["#3A3D46"], type: "dashed" } } }, u = { axisLine: { show: !1 }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !0, lineStyle: { color: ["#3A3D46"], type: "dashed" } } }, I = { axisLine: { show: !0, lineStyle: { color: "#3A3D46" } }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !1 } }, y = { top: 82, left: "auto", right: 32, icon: "circle", itemGap: 22, itemWidth: 12, itemHeight: 12, textStyle: { color: "#A7A9AD", fontSize: 11 } }, T = { top: 132, left: 32, right: 32, bottom: 32, outerBoundsMode: "same", outerBoundsContain: "axisLabel" }, i = { backgroundColor: "rgba(26, 29, 31, 0)", borderColor: "#3A3D46", borderRadius: 4, dataBackground: { lineStyle: { color: "#606060", width: 1 }, areaStyle: { color: "rgba(96, 96, 96, 0.3)" } }, selectedDataBackground: { lineStyle: { color: "#b36674", width: 1 }, areaStyle: { color: "rgba(164, 91, 105, 0.5)" } }, fillerColor: "rgba(82, 45, 52, 0.35)", handleStyle: { color: "#C14E64", borderColor: "#C14E64" }, moveHandleStyle: { color: "#b36674" }, brushStyle: { color: "rgba(95, 58, 65, 0.2)" }, emphasis: { handleStyle: { color: "rgb(209, 123, 140)", borderColor: "rgb(209, 123, 140)" } }, handleSize: "100%", textStyle: { color: "#A7A9AD" } }, S = { color: ["#C14E64", "#00BBFA", "#0072B2", "#E69F00", "#D66119", "#56B4E9", "#45B26B", "#F0E442", "#FF99BF", "#8277D8"], left: 140, right: 140, top: 82, bottom: 32, nodeWidth: 20, nodeGap: 40, layoutIterations: 32, draggable: !1, emphasis: { focus: "adjacency" }, label: { show: !0, formatter: "{b}", color: "#FCFCFC", fontSize: 11, width: 100, overflow: "truncate", ellipsis: "..." }, edgeLabel: { show: !1, fontSize: 9, color: "#A7A9AD", backgroundColor: "rgba(26, 29, 31, 0.85)", padding: [2, 6], borderRadius: 3 }, lineStyle: { color: "gradient", opacity: 0.4, curveness: 0.5 }, itemStyle: { borderWidth: 0 }, levels: [{ depth: 0, itemStyle: { color: "#C14E64" }, lineStyle: { color: "gradient", opacity: 0.4 } }, { depth: 1, itemStyle: { color: "#56B4E9" }, lineStyle: { color: "gradient", opacity: 0.4 } }, { depth: 2, itemStyle: { color: "#0072B2" }, lineStyle: { color: "gradient", opacity: 0.4 } }] }, z = { itemStyle: { areaColor: "#413E3D", borderColor: "#2A2726", borderWidth: 0.5 }, label: { show: !1 }, emphasis: { label: { show: !1 }, itemStyle: { areaColor: "#524E4D" } } }, e = { itemStyle: { areaColor: "#413E3D", borderColor: "#2A2726", borderWidth: 0.5 }, label: { show: !1 }, emphasis: { label: { show: !1 }, itemStyle: { areaColor: "#524E4D" } } }, o = { label: { color: "#A7A9AD" }, emphasis: { label: { color: "#FFFFFF" } } }, x = { confine: !0, backgroundColor: "transparent", padding: 10, borderRadius: 8, borderColor: "#50525A", borderWidth: 1, textStyle: { color: "#FCFCFC", fontFamily: "Poppins, sans-serif", fontSize: 11, fontStyle: "normal", fontWeight: 500 }, extraCssText: "letter-spacing: 0.22px; box-shadow: 0 14px 11px -4px rgba(0, 0, 0, 0.30), 0 -4px 4px 0 rgba(0, 0, 0, 0.04) inset; background: radial-gradient(ellipse at 25% 0%, rgba(217, 217, 217, 0.12) 0%, transparent 60%), #1A1D1F;" }, C = { type: "image", id: "fractal-watermark", left: "center", top: "middle", style: { image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMTAiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyMTAgMjQiPgogIDxnIGZpbGw9IiNhN2E5YWQiIGZpbGwtb3BhY2l0eT0iMC4zIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMzLjczMyAxLjg2OGgtMjEuNjdDNi40MzggMS44NjggMS44NzggNi40MDQgMS44NzggMTJzNC41NiAxMC4xMzIgMTAuMTg1IDEwLjEzMmgyMS42N2M1LjYyNSAwIDEwLjE4NS00LjUzNiAxMC4xODUtMTAuMTMyUzM5LjM1OCAxLjg2OCAzMy43MzMgMS44NjhNMCAxMmMwIDYuNjI3IDUuNCAxMiAxMi4wNjMgMTJoMjEuNjdjNi42NjIgMCAxMi4wNjMtNS4zNzMgMTIuMDYzLTEycy01LjQtMTItMTIuMDYzLTEyaC0yMS42N0M1LjQwMSAwIDAgNS4zNzMgMCAxMiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMy43MzQgNS4xNzRoLTIxLjY3QzguMjczIDUuMTc0IDUuMiA4LjIzIDUuMiAxMnMzLjA3MyA2LjgyNiA2Ljg2MyA2LjgyNmgyMS42N2MzLjc5IDAgNi44NjItMy4wNTYgNi44NjItNi44MjZzLTMuMDcyLTYuODI2LTYuODYyLTYuODI2TTMuMzIzIDEyYzAgNC44MDIgMy45MTIgOC42OTUgOC43NCA4LjY5NWgyMS42N2M0LjgyNyAwIDguNzQtMy44OTMgOC43NC04LjY5NXMtMy45MTMtOC42OTUtOC43NC04LjY5NWgtMjEuNjdjLTQuODI4IDAtOC43NCAzLjg5My04Ljc0IDguNjk1IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMzLjczMyA4LjQ4aC0yMS42N0EzLjUzIDMuNTMgMCAwIDAgOC41MjMgMTJhMy41MyAzLjUzIDAgMCAwIDMuNTQgMy41MjFoMjEuNjdhMy41MyAzLjUzIDAgMCAwIDMuNTQtMy41MiAzLjUzIDMuNTMgMCAwIDAtMy41NC0zLjUyMk02LjY0NiAxMmMwIDIuOTc2IDIuNDI1IDUuMzkgNS40MTcgNS4zOWgyMS42N2MyLjk5MiAwIDUuNDE4LTIuNDE0IDUuNDE4LTUuMzlzLTIuNDI2LTUuMzktNS40MTgtNS4zOWgtMjEuNjdjLTIuOTkyIDAtNS40MTcgMi40MTQtNS40MTcgNS4zOSIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICA8cGF0aCBkPSJNNTguNDUgMjAuNjk1aC0yLjc3TDQ4LjU5MiAzLjMyN2gyLjdsNS43NzMgMTQuNTQyIDUuNzczLTE0LjU0MmgyLjd6TTczLjk4NiAyMC42OTVoLTIuMDZsLS4xNC0xLjQ4MnEtLjY0LjgxLTEuNjE3IDEuMjYyLS45NzguNDUtMi4xNjUuNDUxLTEuMjQ2IDAtMi4yMjMtLjQ4NmEzLjg2IDMuODYgMCAwIDEtMS41MzctMS4zMzIgMy40IDMuNCAwIDAgMS0uNTU5LTEuOTIycTAtMS4xMzQuNjA2LTEuOTkxLjYwNS0uODY4IDEuNjUzLTEuMzU1IDEuMDQ3LS40OTggMi4zODYtLjQ5OC44MzggMCAxLjY5OS4xOTdhNi42IDYuNiAwIDAgMSAxLjU3MS41NTZ2LS40MjlxMC0uODQ0LS40NDItMS40NDdhMi43IDIuNyAwIDAgMC0xLjE4Ny0uOTM4IDQuMSA0LjEgMCAwIDAtMS42NTMtLjMyNHEtLjgwMiAwLTEuNjQxLjI3OC0uODI2LjI3Ny0xLjU2Ljg1N2wtLjcyMS0xLjkzNGE5LjMgOS4zIDAgMCAxIDIuMi0uOTUgOC4zIDguMyAwIDAgMSAyLjI1Ny0uMzIzcTEuNTgzIDAgMi43MjQuNjI1YTQuMzUgNC4zNSAwIDAgMSAxLjc4IDEuNzgzcS42MyAxLjE0Ni42MyAyLjcxem0tNS41MTctMS43ODNxLjgyNyAwIDEuNTI1LS4zMzZhMi45MyAyLjkzIDAgMCAwIDEuMTI5LS45NzNxLjQ0Mi0uNjM2LjQ3Ny0xLjQ4MnYtLjE2MmE0LjcgNC43IDAgMCAwLTEuMzM4LS42ODMgNC42IDQuNiAwIDAgMC0xLjUwMi0uMjU1cS0xLjE3NiAwLTEuOTU1LjU1Ni0uNzguNTU1LS43OCAxLjQyNCAwIC41NDQuMzE0Ljk4NC4zMjYuNDMuODczLjY4My41Ni4yNDQgMS4yNTcuMjQ0TTc3Ljk4OCAyMC42OTVoLTIuNTRWMi44NjRoMi41NHpNODAuNjY2IDUuNzU4cS0uNTQ4IDAtLjkyLS4zODJhMS4yOCAxLjI4IDAgMCAxLS4zNzMtLjkyNnEwLS41NDUuMzczLS45MTUuMzcyLS4zODIuOTItLjM4Mi41NiAwIC45MzIuMzgyLjM4NS4zNy4zODUuOTE1dC0uMzg1LjkyNnEtLjM3My4zODItLjkzMi4zODJtMS4xODggMTQuOTM3aC0yLjM4OFY5LjExNmgyLjM4OHpNOTUuNjI4IDIwLjY5NUg5My41MmwtLjEyOC0xLjY1NmE1LjcgNS43IDAgMCAxLTEuOTA5IDEuMzlxLTEuMTA2LjQ5Ny0yLjQzMi40OTctMS42NzcgMC0zLjAwMy0uNzg3YTUuNyA1LjcgMCAwIDEtMi4wOTUtMi4xNTRxLS43NTctMS4zNjUtLjc1Ny0zLjA4IDAtMS43MjQuNzU3LTMuMDhhNS43IDUuNyAwIDAgMSAyLjA5NS0yLjE1M3ExLjMyNi0uNzg3IDMuMDAzLS43ODcgMS4yNTcgMCAyLjMyOC40NTFhNS41IDUuNSAwIDAgMSAxLjg2MiAxLjI2MlYzLjMyN2gyLjM4NnptLTYuMTgtMS45cTEuMDU5IDAgMS45MDgtLjQ4NmEzLjc1IDMuNzUgMCAwIDAgMS4zNzQtMS4zMnEuNTEyLS44MzMuNTEyLTEuODk4di0uMzk0cTAtMS4wNjUtLjUxMi0xLjg5OWEzLjY2IDMuNjYgMCAwIDAtMS4zNzQtMS4zMDhxLS44NS0uNDc1LTEuOTA4LS40NzUtMS4wODMgMC0xLjk0NC41MWEzLjcgMy43IDAgMCAwLTEuMzYyIDEuMzg5cS0uNS44NjktLjUgMS45OHQuNSAxLjk5MWEzLjggMy44IDAgMCAwIDEuMzYyIDEuNDAxcS44NjEuNTEgMS45NDQuNTFNMTA3LjI2OSAyMC42OTVoLTIuMDYxbC0uMTM5LTEuNDgycS0uNjQuODEtMS42MTggMS4yNjItLjk3OC40NS0yLjE2NS40NTEtMS4yNDUgMC0yLjIyMy0uNDg2YTMuODYgMy44NiAwIDAgMS0xLjUzNi0xLjMzMiAzLjQgMy40IDAgMCAxLS41Ni0xLjkyMnEwLTEuMTM0LjYwNi0xLjk5MS42MDUtLjg2OCAxLjY1My0xLjM1NSAxLjA0Ny0uNDk4IDIuMzg2LS40OThhNy42IDcuNiAwIDAgMSAxLjY5OS4xOTcgNi42IDYuNiAwIDAgMSAxLjU3MS41NTZ2LS40MjlxMC0uODQ0LS40NDItMS40NDdhMi43IDIuNyAwIDAgMC0xLjE4Ny0uOTM4IDQuMSA0LjEgMCAwIDAtMS42NTMtLjMyNCA1LjE2NiA1LjE2NiAwIDAgMC0zLjIgMS4xMzVsLS43MjItMS45MzRhOS4zIDkuMyAwIDAgMSAyLjItLjk1IDguMyA4LjMgMCAwIDEgMi4yNTgtLjMyM3ExLjU4MyAwIDIuNzIzLjYyNWE0LjM1IDQuMzUgMCAwIDEgMS43ODEgMS43ODNxLjYyOSAxLjE0Ni42MjkgMi43MXptLTUuNTE3LTEuNzgzcS44MjYgMCAxLjUyNC0uMzM2YTIuOSAyLjkgMCAwIDAgMS4xMjktLjk3M3EuNDQyLS42MzYuNDc3LTEuNDgydi0uMTYyYTQuNiA0LjYgMCAwIDAtMS4zMzgtLjY4MyA0LjYgNC42IDAgMCAwLTEuNTAyLS4yNTVxLTEuMTc1IDAtMS45NTUuNTU2LS43OC41NTUtLjc4IDEuNDI0IDAgLjU0NC4zMTQuOTg0LjMyNy40My44NzMuNjgzLjU2LjI0NCAxLjI1OC4yNDRNMTE2LjQyNCAyMC40MDVxLTEuMjIxLjUyMS0yLjM2Mi41MjF0LTIuMDAyLS40ODZhMy41IDMuNSAwIDAgMS0xLjMzOS0xLjM2NnEtLjQ3Ny0uODkyLS40NzctMi4wNXYtNS43ODloLTIuMDM3VjkuMTE2aDIuMTUzVjYuMjIyaDIuMjd2Mi44OTRoMy4zOTl2Mi4xMTloLTMuMzk5djUuMzVxMCAxLjAxOC41NDcgMS42Mi41NTguNTkgMS40MzIuNTkuNzM0IDAgMS40NTUtLjQ0ek0xMTguNTggNS43NThxLS41NDggMC0uOTItLjM4MmExLjI4IDEuMjggMCAwIDEtLjM3My0uOTI2cTAtLjU0NS4zNzMtLjkxNS4zNzItLjM4Mi45Mi0uMzgyLjU2IDAgLjkzMi4zODIuMzg1LjM3LjM4NS45MTV0LS4zODUuOTI2YTEuMjUgMS4yNSAwIDAgMS0uOTMyLjM4Mm0xLjE4OCAxNC45MzdoLTIuMzg4VjkuMTE2aDIuMzg4ek0xMjcuMjU3IDIwLjkyNnEtMS43NDYgMC0zLjE0My0uNzg3YTUuODUgNS44NSAwIDAgMS0yLjItMi4xNDJxLS44MDMtMS4zNjYtLjgwMy0zLjA5MiAwLTEuNzEzLjgwMy0zLjA2OGE1LjggNS44IDAgMCAxIDIuMi0yLjE1M3ExLjM5Ny0uOCAzLjE0My0uOCAxLjc1NyAwIDMuMTQyLjhhNS43NiA1Ljc2IDAgMCAxIDIuMTc3IDIuMTUzcS44MDMgMS4zNTUuODAzIDMuMDY4IDAgMS43MjUtLjgwMyAzLjA5MmE1LjggNS44IDAgMCAxLTIuMTc3IDIuMTQycS0xLjM4NS43ODctMy4xNDIuNzg3bS0uMDEyLTIuMTNxMS4wNiAwIDEuODg2LS41MWEzLjcgMy43IDAgMCAwIDEuMzE1LTEuMzlxLjQ4OS0uODguNDg5LTIuMDAyIDAtMS4xLS40ODktMS45NjlhMy42IDMuNiAwIDAgMC0xLjMxNS0xLjM4OXEtLjgyNy0uNTItMS44ODYtLjUyLTEuMDQ3IDAtMS44ODUuNTJhMy43IDMuNyAwIDAgMC0xLjMyNyAxLjM5cS0uNDc3Ljg2OC0uNDc3IDEuOTY4IDAgMS4xMjMuNDc3IDIuMDAzYTMuOCAzLjggMCAwIDAgMS4zMjcgMS4zOXEuODM3LjUwOSAxLjg4NS41MDlNMTQ1LjgxNiAyMC42OTVoLTIuMzg2di02LjI4N3EwLTEuNTQtLjg0OS0yLjQ1NS0uODM5LS45MTUtMi4yNTgtLjkxNS0xLjQ2NiAwLTIuMzYzLjk3My0uODk2Ljk3Mi0uODk2IDIuNTgydjYuMTAyaC0yLjM4NlY5LjExNmgyLjAxM2wuMDgyIDEuODY0YTQuMjUgNC4yNSAwIDAgMSAxLjY3Ni0xLjU1MXExLjAzNS0uNTQ0IDIuNDMyLS41NDQgMi4yOTQgMCAzLjYwOSAxLjM3NyAxLjMyNiAxLjM3OSAxLjMyNiAzLjc5OHpNMTY2LjE3OCAxOC40ODNhOC43IDguNyAwIDAgMS0yLjg4OCAxLjg4N3EtMS42NjQuNjcyLTMuNjMxLjY3MnQtMy42MzItLjY3MmE4LjcgOC43IDAgMCAxLTIuODk4LTEuODg3IDguOSA4LjkgMCAwIDEtMS45MDgtMi44NzFxLS42NzYtMS42NTYtLjY3Ni0zLjYwMSAwLTEuOTU3LjY3Ni0zLjYwMWE4LjcgOC43IDAgMCAxIDEuOTA4LTIuODcyIDguNyA4LjcgMCAwIDEgMi44OTgtMS44ODdxMS42NjUtLjY3MSAzLjYzMi0uNjcxIDEuOTU1IDAgMy42MTkuNjgzIDEuNjc3LjY3MSAyLjg3NSAxLjg2NGwtMS43OCAxLjgwNmE2LjIgNi4yIDAgMCAwLTIuMDk0LTEuNTRxLTEuMjEyLS41NjctMi42NTQtLjU2Ny0xLjM5NyAwLTIuNTczLjUxYTYgNiAwIDAgMC0yLjA0OSAxLjQyMyA2LjYgNi42IDAgMCAwLTEuMzYxIDIuMTU0cS0uNDc4IDEuMjM5LS40NzggMi42OTh0LjQ3OCAyLjY5OGE2LjcgNi43IDAgMCAwIDEuMzYxIDIuMTY1IDYuMiA2LjIgMCAwIDAgMi4wNDkgMS40MjRxMS4xNzUuNDk4IDIuNTczLjQ5OCAxLjQ0MiAwIDIuNjU0LS41NTZhNi4yIDYuMiAwIDAgMCAyLjA4My0xLjU1MnpNMTcwLjA5MiAyMC42OTVoLTIuNTRWMi44NjRoMi41NHpNMTc3LjUzNCAyMC45MjZxLTEuNzQ1IDAtMy4xNDMtLjc4N2E1Ljg0IDUuODQgMCAwIDEtMi4xOTktMi4xNDJxLS44MDMtMS4zNjYtLjgwMy0zLjA5MiAwLTEuNzEzLjgwMy0zLjA2OGE1LjggNS44IDAgMCAxIDIuMTk5LTIuMTUzcTEuMzk4LS44IDMuMTQzLS44IDEuNzU4IDAgMy4xNDIuOGE1Ljc1IDUuNzUgMCAwIDEgMi4xNzYgMi4xNTNxLjgwNCAxLjM1NS44MDMgMy4wNjggMCAxLjcyNS0uODAzIDMuMDkyYTUuOCA1LjggMCAwIDEtMi4xNzYgMi4xNDJxLTEuMzg0Ljc4Ny0zLjE0Mi43ODdtLS4wMTMtMi4xM3ExLjA2IDAgMS44ODctLjUxYTMuNyAzLjcgMCAwIDAgMS4zMTUtMS4zOXEuNDg4LS44OC40ODgtMi4wMDIgMC0xLjEtLjQ4OC0xLjk2OWEzLjYgMy42IDAgMCAwLTEuMzE1LTEuMzg5cS0uODI3LS41Mi0xLjg4Ny0uNTJhMy41IDMuNSAwIDAgMC0xLjg4NS41MiAzLjcgMy43IDAgMCAwLTEuMzI2IDEuMzlxLS40NzcuODY4LS40NzcgMS45NjggMCAxLjEyMy40NzcgMi4wMDNhMy44IDMuOCAwIDAgMCAxLjMyNiAxLjM5IDMuNTYgMy41NiAwIDAgMCAxLjg4NS41MDlNMTk2LjEgMjAuNjk1aC0yLjAyNmwtLjA4Mi0xLjg2NHEtLjY0IDEuMDE4LTEuNjc2IDEuNTYzLTEuMDI1LjUzMi0yLjQzMy41MzItMi4yOCAwLTMuNjA3LTEuMzc4LTEuMzE2LTEuMzktMS4zMTYtMy43OTdWOS4xMTZoMi4zODd2Ni4yODdxMCAxLjU0LjgzNyAyLjQ1NS44NC45MTUgMi4yNTguOTE1IDEuNDY4IDAgMi4zNjQtLjk3My45MDctLjk4NC45MDctMi41ODJWOS4xMTZoMi4zODd6TTIwOS44NCAyMC42OTVoLTIuMTA2bC0uMTI5LTEuNjU2YTUuNyA1LjcgMCAwIDEtMS45MDggMS4zOXEtMS4xMDUuNDk3LTIuNDMzLjQ5Ny0xLjY3NiAwLTMuMDAyLS43ODdhNS43IDUuNyAwIDAgMS0yLjA5Ni0yLjE1NHEtLjc1Ni0xLjM2NS0uNzU2LTMuMDggMC0xLjcyNC43NTYtMy4wOGE1LjcgNS43IDAgMCAxIDIuMDk2LTIuMTUzcTEuMzI2LS43ODcgMy4wMDItLjc4NyAxLjI1NyAwIDIuMzI5LjQ1MWE1LjUgNS41IDAgMCAxIDEuODYyIDEuMjYyVjMuMzI3aDIuMzg1em0tNi4xOC0xLjlxMS4wNTkgMCAxLjkwOC0uNDg2YTMuNzQgMy43NCAwIDAgMCAxLjM3NC0xLjMycS41MTItLjgzMy41MTMtMS44OTh2LS4zOTRxMC0xLjA2NS0uNTEzLTEuODk5YTMuNjUgMy42NSAwIDAgMC0xLjM3NC0xLjMwOHEtLjg0OS0uNDc1LTEuOTA4LS40NzUtMS4wODIgMC0xLjk0My41MWEzLjcgMy43IDAgMCAwLTEuMzYzIDEuMzg5cS0uNS44NjktLjQ5OSAxLjk4IDAgMS4xMTEuNDk5IDEuOTkxYTMuOCAzLjggMCAwIDAgMS4zNjMgMS40MDFxLjg2LjUxIDEuOTQzLjUxIi8+CiAgPC9nPgo8L3N2Zz4=", width: 210, height: 24 }, z: 100, silent: !0 }, l = {
1
+ const M = [{ type: "linear", x: 0, y: 0, x2: 0, y2: 1, colorStops: [{ offset: 0, color: "#C14E64" }, { offset: 1, color: "#DE7385" }] }, "#00BBFA", "#0072B2", "#E69F00", "#D66119", "#56B4E9", "#45B26B", "#F0E442", "#FF99BF", "#8277D8"], L = ["#653E43", "#8E3D4B", "#C14E64", "#DF687D"], N = "#1A1D1F", j = { fontFamily: "Poppins, sans-serif", fontWeight: 500 }, D = { top: 32, left: 32, textStyle: { color: "#FFFFFF", fontSize: 16, fontWeight: 600 }, subtextStyle: { color: "#A7A9AD" } }, A = { itemStyle: { borderWidth: 1 }, lineStyle: { width: 2 }, areaStyle: { opacity: 0.15 }, showSymbol: !1, symbolSize: 5, symbol: "circle", smooth: !1, sampling: "lttb" }, g = { barGap: "25%", barCategoryGap: "25%" }, t = { axisLine: { show: !0, lineStyle: { color: "#3A3D46", type: "dashed" } }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !1 } }, u = { axisLine: { show: !1 }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !0, lineStyle: { color: ["#3A3D46"], type: "dashed" } } }, I = { axisLine: { show: !1 }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !0, lineStyle: { color: ["#3A3D46"], type: "dashed" } } }, y = { axisLine: { show: !0, lineStyle: { color: "#3A3D46" } }, axisTick: { show: !1 }, axisLabel: { show: !0, color: "#A7A9AD", hideOverlap: !0 }, nameLocation: "middle", nameTextStyle: { color: "#A7A9AD", fontSize: 11, fontWeight: 400 }, splitLine: { show: !1 } }, T = { top: 82, left: "auto", right: 32, icon: "circle", itemGap: 22, itemWidth: 12, itemHeight: 12, textStyle: { color: "#A7A9AD", fontSize: 11 } }, i = { top: 132, left: 32, right: 32, bottom: 32, outerBoundsMode: "same", outerBoundsContain: "axisLabel" }, S = { backgroundColor: "rgba(26, 29, 31, 0)", borderColor: "#3A3D46", borderRadius: 4, dataBackground: { lineStyle: { color: "#606060", width: 1 }, areaStyle: { color: "rgba(96, 96, 96, 0.3)" } }, selectedDataBackground: { lineStyle: { color: "#b36674", width: 1 }, areaStyle: { color: "rgba(164, 91, 105, 0.5)" } }, fillerColor: "rgba(82, 45, 52, 0.35)", handleStyle: { color: "#C14E64", borderColor: "#C14E64" }, moveHandleStyle: { color: "#b36674" }, brushStyle: { color: "rgba(95, 58, 65, 0.2)" }, emphasis: { handleStyle: { color: "rgb(209, 123, 140)", borderColor: "rgb(209, 123, 140)" } }, handleSize: "100%", textStyle: { color: "#A7A9AD" } }, o = { color: ["#C14E64", "#00BBFA", "#0072B2", "#E69F00", "#D66119", "#56B4E9", "#45B26B", "#F0E442", "#FF99BF", "#8277D8"], left: 140, right: 140, top: 82, bottom: 32, nodeWidth: 20, nodeGap: 40, layoutIterations: 32, draggable: !1, emphasis: { focus: "adjacency" }, label: { show: !0, formatter: "{b}", color: "#FCFCFC", fontSize: 11, width: 100, overflow: "truncate", ellipsis: "..." }, edgeLabel: { show: !1, fontSize: 9, color: "#A7A9AD", backgroundColor: "rgba(26, 29, 31, 0.85)", padding: [2, 6], borderRadius: 3 }, lineStyle: { color: "gradient", opacity: 0.4, curveness: 0.5 }, itemStyle: { borderWidth: 0 }, levels: [{ depth: 0, itemStyle: { color: "#C14E64" }, lineStyle: { color: "gradient", opacity: 0.4 } }, { depth: 1, itemStyle: { color: "#56B4E9" }, lineStyle: { color: "gradient", opacity: 0.4 } }, { depth: 2, itemStyle: { color: "#0072B2" }, lineStyle: { color: "gradient", opacity: 0.4 } }] }, z = { itemStyle: { areaColor: "#413E3D", borderColor: "#2A2726", borderWidth: 0.5 }, label: { show: !1 }, emphasis: { label: { show: !1 }, itemStyle: { areaColor: "#524E4D" } } }, e = { itemStyle: { areaColor: "#413E3D", borderColor: "#2A2726", borderWidth: 0.5 }, label: { show: !1 }, emphasis: { label: { show: !1 }, itemStyle: { areaColor: "#524E4D" } } }, x = { label: { color: "#A7A9AD" }, emphasis: { label: { color: "#FFFFFF" } } }, C = { confine: !0, backgroundColor: "transparent", padding: 10, borderRadius: 8, borderColor: "#50525A", borderWidth: 1, textStyle: { color: "#FCFCFC", fontFamily: "Poppins, sans-serif", fontSize: 11, fontStyle: "normal", fontWeight: 500 }, extraCssText: "letter-spacing: 0.22px; box-shadow: 0 14px 11px -4px rgba(0, 0, 0, 0.30), 0 -4px 4px 0 rgba(0, 0, 0, 0.04) inset; background: radial-gradient(ellipse at 25% 0%, rgba(217, 217, 217, 0.12) 0%, transparent 60%), #1A1D1F;" }, E = { type: "image", id: "fractal-watermark", left: "center", top: "middle", style: { image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMTAiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyMTAgMjQiPgogIDxnIGZpbGw9IiNhN2E5YWQiIGZpbGwtb3BhY2l0eT0iMC4zIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMzLjczMyAxLjg2OGgtMjEuNjdDNi40MzggMS44NjggMS44NzggNi40MDQgMS44NzggMTJzNC41NiAxMC4xMzIgMTAuMTg1IDEwLjEzMmgyMS42N2M1LjYyNSAwIDEwLjE4NS00LjUzNiAxMC4xODUtMTAuMTMyUzM5LjM1OCAxLjg2OCAzMy43MzMgMS44NjhNMCAxMmMwIDYuNjI3IDUuNCAxMiAxMi4wNjMgMTJoMjEuNjdjNi42NjIgMCAxMi4wNjMtNS4zNzMgMTIuMDYzLTEycy01LjQtMTItMTIuMDYzLTEyaC0yMS42N0M1LjQwMSAwIDAgNS4zNzMgMCAxMiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMy43MzQgNS4xNzRoLTIxLjY3QzguMjczIDUuMTc0IDUuMiA4LjIzIDUuMiAxMnMzLjA3MyA2LjgyNiA2Ljg2MyA2LjgyNmgyMS42N2MzLjc5IDAgNi44NjItMy4wNTYgNi44NjItNi44MjZzLTMuMDcyLTYuODI2LTYuODYyLTYuODI2TTMuMzIzIDEyYzAgNC44MDIgMy45MTIgOC42OTUgOC43NCA4LjY5NWgyMS42N2M0LjgyNyAwIDguNzQtMy44OTMgOC43NC04LjY5NXMtMy45MTMtOC42OTUtOC43NC04LjY5NWgtMjEuNjdjLTQuODI4IDAtOC43NCAzLjg5My04Ljc0IDguNjk1IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMzLjczMyA4LjQ4aC0yMS42N0EzLjUzIDMuNTMgMCAwIDAgOC41MjMgMTJhMy41MyAzLjUzIDAgMCAwIDMuNTQgMy41MjFoMjEuNjdhMy41MyAzLjUzIDAgMCAwIDMuNTQtMy41MiAzLjUzIDMuNTMgMCAwIDAtMy41NC0zLjUyMk02LjY0NiAxMmMwIDIuOTc2IDIuNDI1IDUuMzkgNS40MTcgNS4zOWgyMS42N2MyLjk5MiAwIDUuNDE4LTIuNDE0IDUuNDE4LTUuMzlzLTIuNDI2LTUuMzktNS40MTgtNS4zOWgtMjEuNjdjLTIuOTkyIDAtNS40MTcgMi40MTQtNS40MTcgNS4zOSIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICA8cGF0aCBkPSJNNTguNDUgMjAuNjk1aC0yLjc3TDQ4LjU5MiAzLjMyN2gyLjdsNS43NzMgMTQuNTQyIDUuNzczLTE0LjU0MmgyLjd6TTczLjk4NiAyMC42OTVoLTIuMDZsLS4xNC0xLjQ4MnEtLjY0LjgxLTEuNjE3IDEuMjYyLS45NzguNDUtMi4xNjUuNDUxLTEuMjQ2IDAtMi4yMjMtLjQ4NmEzLjg2IDMuODYgMCAwIDEtMS41MzctMS4zMzIgMy40IDMuNCAwIDAgMS0uNTU5LTEuOTIycTAtMS4xMzQuNjA2LTEuOTkxLjYwNS0uODY4IDEuNjUzLTEuMzU1IDEuMDQ3LS40OTggMi4zODYtLjQ5OC44MzggMCAxLjY5OS4xOTdhNi42IDYuNiAwIDAgMSAxLjU3MS41NTZ2LS40MjlxMC0uODQ0LS40NDItMS40NDdhMi43IDIuNyAwIDAgMC0xLjE4Ny0uOTM4IDQuMSA0LjEgMCAwIDAtMS42NTMtLjMyNHEtLjgwMiAwLTEuNjQxLjI3OC0uODI2LjI3Ny0xLjU2Ljg1N2wtLjcyMS0xLjkzNGE5LjMgOS4zIDAgMCAxIDIuMi0uOTUgOC4zIDguMyAwIDAgMSAyLjI1Ny0uMzIzcTEuNTgzIDAgMi43MjQuNjI1YTQuMzUgNC4zNSAwIDAgMSAxLjc4IDEuNzgzcS42MyAxLjE0Ni42MyAyLjcxem0tNS41MTctMS43ODNxLjgyNyAwIDEuNTI1LS4zMzZhMi45MyAyLjkzIDAgMCAwIDEuMTI5LS45NzNxLjQ0Mi0uNjM2LjQ3Ny0xLjQ4MnYtLjE2MmE0LjcgNC43IDAgMCAwLTEuMzM4LS42ODMgNC42IDQuNiAwIDAgMC0xLjUwMi0uMjU1cS0xLjE3NiAwLTEuOTU1LjU1Ni0uNzguNTU1LS43OCAxLjQyNCAwIC41NDQuMzE0Ljk4NC4zMjYuNDMuODczLjY4My41Ni4yNDQgMS4yNTcuMjQ0TTc3Ljk4OCAyMC42OTVoLTIuNTRWMi44NjRoMi41NHpNODAuNjY2IDUuNzU4cS0uNTQ4IDAtLjkyLS4zODJhMS4yOCAxLjI4IDAgMCAxLS4zNzMtLjkyNnEwLS41NDUuMzczLS45MTUuMzcyLS4zODIuOTItLjM4Mi41NiAwIC45MzIuMzgyLjM4NS4zNy4zODUuOTE1dC0uMzg1LjkyNnEtLjM3My4zODItLjkzMi4zODJtMS4xODggMTQuOTM3aC0yLjM4OFY5LjExNmgyLjM4OHpNOTUuNjI4IDIwLjY5NUg5My41MmwtLjEyOC0xLjY1NmE1LjcgNS43IDAgMCAxLTEuOTA5IDEuMzlxLTEuMTA2LjQ5Ny0yLjQzMi40OTctMS42NzcgMC0zLjAwMy0uNzg3YTUuNyA1LjcgMCAwIDEtMi4wOTUtMi4xNTRxLS43NTctMS4zNjUtLjc1Ny0zLjA4IDAtMS43MjQuNzU3LTMuMDhhNS43IDUuNyAwIDAgMSAyLjA5NS0yLjE1M3ExLjMyNi0uNzg3IDMuMDAzLS43ODcgMS4yNTcgMCAyLjMyOC40NTFhNS41IDUuNSAwIDAgMSAxLjg2MiAxLjI2MlYzLjMyN2gyLjM4NnptLTYuMTgtMS45cTEuMDU5IDAgMS45MDgtLjQ4NmEzLjc1IDMuNzUgMCAwIDAgMS4zNzQtMS4zMnEuNTEyLS44MzMuNTEyLTEuODk4di0uMzk0cTAtMS4wNjUtLjUxMi0xLjg5OWEzLjY2IDMuNjYgMCAwIDAtMS4zNzQtMS4zMDhxLS44NS0uNDc1LTEuOTA4LS40NzUtMS4wODMgMC0xLjk0NC41MWEzLjcgMy43IDAgMCAwLTEuMzYyIDEuMzg5cS0uNS44NjktLjUgMS45OHQuNSAxLjk5MWEzLjggMy44IDAgMCAwIDEuMzYyIDEuNDAxcS44NjEuNTEgMS45NDQuNTFNMTA3LjI2OSAyMC42OTVoLTIuMDYxbC0uMTM5LTEuNDgycS0uNjQuODEtMS42MTggMS4yNjItLjk3OC40NS0yLjE2NS40NTEtMS4yNDUgMC0yLjIyMy0uNDg2YTMuODYgMy44NiAwIDAgMS0xLjUzNi0xLjMzMiAzLjQgMy40IDAgMCAxLS41Ni0xLjkyMnEwLTEuMTM0LjYwNi0xLjk5MS42MDUtLjg2OCAxLjY1My0xLjM1NSAxLjA0Ny0uNDk4IDIuMzg2LS40OThhNy42IDcuNiAwIDAgMSAxLjY5OS4xOTcgNi42IDYuNiAwIDAgMSAxLjU3MS41NTZ2LS40MjlxMC0uODQ0LS40NDItMS40NDdhMi43IDIuNyAwIDAgMC0xLjE4Ny0uOTM4IDQuMSA0LjEgMCAwIDAtMS42NTMtLjMyNCA1LjE2NiA1LjE2NiAwIDAgMC0zLjIgMS4xMzVsLS43MjItMS45MzRhOS4zIDkuMyAwIDAgMSAyLjItLjk1IDguMyA4LjMgMCAwIDEgMi4yNTgtLjMyM3ExLjU4MyAwIDIuNzIzLjYyNWE0LjM1IDQuMzUgMCAwIDEgMS43ODEgMS43ODNxLjYyOSAxLjE0Ni42MjkgMi43MXptLTUuNTE3LTEuNzgzcS44MjYgMCAxLjUyNC0uMzM2YTIuOSAyLjkgMCAwIDAgMS4xMjktLjk3M3EuNDQyLS42MzYuNDc3LTEuNDgydi0uMTYyYTQuNiA0LjYgMCAwIDAtMS4zMzgtLjY4MyA0LjYgNC42IDAgMCAwLTEuNTAyLS4yNTVxLTEuMTc1IDAtMS45NTUuNTU2LS43OC41NTUtLjc4IDEuNDI0IDAgLjU0NC4zMTQuOTg0LjMyNy40My44NzMuNjgzLjU2LjI0NCAxLjI1OC4yNDRNMTE2LjQyNCAyMC40MDVxLTEuMjIxLjUyMS0yLjM2Mi41MjF0LTIuMDAyLS40ODZhMy41IDMuNSAwIDAgMS0xLjMzOS0xLjM2NnEtLjQ3Ny0uODkyLS40NzctMi4wNXYtNS43ODloLTIuMDM3VjkuMTE2aDIuMTUzVjYuMjIyaDIuMjd2Mi44OTRoMy4zOTl2Mi4xMTloLTMuMzk5djUuMzVxMCAxLjAxOC41NDcgMS42Mi41NTguNTkgMS40MzIuNTkuNzM0IDAgMS40NTUtLjQ0ek0xMTguNTggNS43NThxLS41NDggMC0uOTItLjM4MmExLjI4IDEuMjggMCAwIDEtLjM3My0uOTI2cTAtLjU0NS4zNzMtLjkxNS4zNzItLjM4Mi45Mi0uMzgyLjU2IDAgLjkzMi4zODIuMzg1LjM3LjM4NS45MTV0LS4zODUuOTI2YTEuMjUgMS4yNSAwIDAgMS0uOTMyLjM4Mm0xLjE4OCAxNC45MzdoLTIuMzg4VjkuMTE2aDIuMzg4ek0xMjcuMjU3IDIwLjkyNnEtMS43NDYgMC0zLjE0My0uNzg3YTUuODUgNS44NSAwIDAgMS0yLjItMi4xNDJxLS44MDMtMS4zNjYtLjgwMy0zLjA5MiAwLTEuNzEzLjgwMy0zLjA2OGE1LjggNS44IDAgMCAxIDIuMi0yLjE1M3ExLjM5Ny0uOCAzLjE0My0uOCAxLjc1NyAwIDMuMTQyLjhhNS43NiA1Ljc2IDAgMCAxIDIuMTc3IDIuMTUzcS44MDMgMS4zNTUuODAzIDMuMDY4IDAgMS43MjUtLjgwMyAzLjA5MmE1LjggNS44IDAgMCAxLTIuMTc3IDIuMTQycS0xLjM4NS43ODctMy4xNDIuNzg3bS0uMDEyLTIuMTNxMS4wNiAwIDEuODg2LS41MWEzLjcgMy43IDAgMCAwIDEuMzE1LTEuMzlxLjQ4OS0uODguNDg5LTIuMDAyIDAtMS4xLS40ODktMS45NjlhMy42IDMuNiAwIDAgMC0xLjMxNS0xLjM4OXEtLjgyNy0uNTItMS44ODYtLjUyLTEuMDQ3IDAtMS44ODUuNTJhMy43IDMuNyAwIDAgMC0xLjMyNyAxLjM5cS0uNDc3Ljg2OC0uNDc3IDEuOTY4IDAgMS4xMjMuNDc3IDIuMDAzYTMuOCAzLjggMCAwIDAgMS4zMjcgMS4zOXEuODM3LjUwOSAxLjg4NS41MDlNMTQ1LjgxNiAyMC42OTVoLTIuMzg2di02LjI4N3EwLTEuNTQtLjg0OS0yLjQ1NS0uODM5LS45MTUtMi4yNTgtLjkxNS0xLjQ2NiAwLTIuMzYzLjk3My0uODk2Ljk3Mi0uODk2IDIuNTgydjYuMTAyaC0yLjM4NlY5LjExNmgyLjAxM2wuMDgyIDEuODY0YTQuMjUgNC4yNSAwIDAgMSAxLjY3Ni0xLjU1MXExLjAzNS0uNTQ0IDIuNDMyLS41NDQgMi4yOTQgMCAzLjYwOSAxLjM3NyAxLjMyNiAxLjM3OSAxLjMyNiAzLjc5OHpNMTY2LjE3OCAxOC40ODNhOC43IDguNyAwIDAgMS0yLjg4OCAxLjg4N3EtMS42NjQuNjcyLTMuNjMxLjY3MnQtMy42MzItLjY3MmE4LjcgOC43IDAgMCAxLTIuODk4LTEuODg3IDguOSA4LjkgMCAwIDEtMS45MDgtMi44NzFxLS42NzYtMS42NTYtLjY3Ni0zLjYwMSAwLTEuOTU3LjY3Ni0zLjYwMWE4LjcgOC43IDAgMCAxIDEuOTA4LTIuODcyIDguNyA4LjcgMCAwIDEgMi44OTgtMS44ODdxMS42NjUtLjY3MSAzLjYzMi0uNjcxIDEuOTU1IDAgMy42MTkuNjgzIDEuNjc3LjY3MSAyLjg3NSAxLjg2NGwtMS43OCAxLjgwNmE2LjIgNi4yIDAgMCAwLTIuMDk0LTEuNTRxLTEuMjEyLS41NjctMi42NTQtLjU2Ny0xLjM5NyAwLTIuNTczLjUxYTYgNiAwIDAgMC0yLjA0OSAxLjQyMyA2LjYgNi42IDAgMCAwLTEuMzYxIDIuMTU0cS0uNDc4IDEuMjM5LS40NzggMi42OTh0LjQ3OCAyLjY5OGE2LjcgNi43IDAgMCAwIDEuMzYxIDIuMTY1IDYuMiA2LjIgMCAwIDAgMi4wNDkgMS40MjRxMS4xNzUuNDk4IDIuNTczLjQ5OCAxLjQ0MiAwIDIuNjU0LS41NTZhNi4yIDYuMiAwIDAgMCAyLjA4My0xLjU1MnpNMTcwLjA5MiAyMC42OTVoLTIuNTRWMi44NjRoMi41NHpNMTc3LjUzNCAyMC45MjZxLTEuNzQ1IDAtMy4xNDMtLjc4N2E1Ljg0IDUuODQgMCAwIDEtMi4xOTktMi4xNDJxLS44MDMtMS4zNjYtLjgwMy0zLjA5MiAwLTEuNzEzLjgwMy0zLjA2OGE1LjggNS44IDAgMCAxIDIuMTk5LTIuMTUzcTEuMzk4LS44IDMuMTQzLS44IDEuNzU4IDAgMy4xNDIuOGE1Ljc1IDUuNzUgMCAwIDEgMi4xNzYgMi4xNTNxLjgwNCAxLjM1NS44MDMgMy4wNjggMCAxLjcyNS0uODAzIDMuMDkyYTUuOCA1LjggMCAwIDEtMi4xNzYgMi4xNDJxLTEuMzg0Ljc4Ny0zLjE0Mi43ODdtLS4wMTMtMi4xM3ExLjA2IDAgMS44ODctLjUxYTMuNyAzLjcgMCAwIDAgMS4zMTUtMS4zOXEuNDg4LS44OC40ODgtMi4wMDIgMC0xLjEtLjQ4OC0xLjk2OWEzLjYgMy42IDAgMCAwLTEuMzE1LTEuMzg5cS0uODI3LS41Mi0xLjg4Ny0uNTJhMy41IDMuNSAwIDAgMC0xLjg4NS41MiAzLjcgMy43IDAgMCAwLTEuMzI2IDEuMzlxLS40NzcuODY4LS40NzcgMS45NjggMCAxLjEyMy40NzcgMi4wMDNhMy44IDMuOCAwIDAgMCAxLjMyNiAxLjM5IDMuNTYgMy41NiAwIDAgMCAxLjg4NS41MDlNMTk2LjEgMjAuNjk1aC0yLjAyNmwtLjA4Mi0xLjg2NHEtLjY0IDEuMDE4LTEuNjc2IDEuNTYzLTEuMDI1LjUzMi0yLjQzMy41MzItMi4yOCAwLTMuNjA3LTEuMzc4LTEuMzE2LTEuMzktMS4zMTYtMy43OTdWOS4xMTZoMi4zODd2Ni4yODdxMCAxLjU0LjgzNyAyLjQ1NS44NC45MTUgMi4yNTguOTE1IDEuNDY4IDAgMi4zNjQtLjk3My45MDctLjk4NC45MDctMi41ODJWOS4xMTZoMi4zODd6TTIwOS44NCAyMC42OTVoLTIuMTA2bC0uMTI5LTEuNjU2YTUuNyA1LjcgMCAwIDEtMS45MDggMS4zOXEtMS4xMDUuNDk3LTIuNDMzLjQ5Ny0xLjY3NiAwLTMuMDAyLS43ODdhNS43IDUuNyAwIDAgMS0yLjA5Ni0yLjE1NHEtLjc1Ni0xLjM2NS0uNzU2LTMuMDggMC0xLjcyNC43NTYtMy4wOGE1LjcgNS43IDAgMCAxIDIuMDk2LTIuMTUzcTEuMzI2LS43ODcgMy4wMDItLjc4NyAxLjI1NyAwIDIuMzI5LjQ1MWE1LjUgNS41IDAgMCAxIDEuODYyIDEuMjYyVjMuMzI3aDIuMzg1em0tNi4xOC0xLjlxMS4wNTkgMCAxLjkwOC0uNDg2YTMuNzQgMy43NCAwIDAgMCAxLjM3NC0xLjMycS41MTItLjgzMy41MTMtMS44OTh2LS4zOTRxMC0xLjA2NS0uNTEzLTEuODk5YTMuNjUgMy42NSAwIDAgMC0xLjM3NC0xLjMwOHEtLjg0OS0uNDc1LTEuOTA4LS40NzUtMS4wODIgMC0xLjk0My41MWEzLjcgMy43IDAgMCAwLTEuMzYzIDEuMzg5cS0uNS44NjktLjQ5OSAxLjk4IDAgMS4xMTEuNDk5IDEuOTkxYTMuOCAzLjggMCAwIDAgMS4zNjMgMS40MDFxLjg2LjUxIDEuOTQzLjUxIi8+CiAgPC9nPgo8L3N2Zz4=", width: 210, height: 24 }, z: 100, silent: !0 }, l = {
2
2
  color: M,
3
- backgroundColor: L,
4
- textStyle: N,
5
- title: j,
6
- line: D,
7
- bar: A,
8
- categoryAxis: g,
9
- valueAxis: t,
10
- logAxis: u,
11
- timeAxis: I,
12
- legend: y,
13
- grid: T,
14
- dataZoom: i,
15
- sankey: S,
3
+ gradientColor: L,
4
+ backgroundColor: N,
5
+ textStyle: j,
6
+ title: D,
7
+ line: A,
8
+ bar: g,
9
+ categoryAxis: t,
10
+ valueAxis: u,
11
+ logAxis: I,
12
+ timeAxis: y,
13
+ legend: T,
14
+ grid: i,
15
+ dataZoom: S,
16
+ sankey: o,
16
17
  map: z,
17
18
  geo: e,
18
- markPoint: o,
19
- tooltip: x,
20
- graphic: C
19
+ markPoint: x,
20
+ tooltip: C,
21
+ graphic: E
21
22
  };
22
23
  export {
23
- L as backgroundColor,
24
- A as bar,
25
- g as categoryAxis,
24
+ N as backgroundColor,
25
+ g as bar,
26
+ t as categoryAxis,
26
27
  M as color,
27
- i as dataZoom,
28
+ S as dataZoom,
28
29
  l as default,
29
30
  e as geo,
30
- C as graphic,
31
- T as grid,
32
- y as legend,
33
- D as line,
34
- u as logAxis,
31
+ L as gradientColor,
32
+ E as graphic,
33
+ i as grid,
34
+ T as legend,
35
+ A as line,
36
+ I as logAxis,
35
37
  z as map,
36
- o as markPoint,
37
- S as sankey,
38
- N as textStyle,
39
- I as timeAxis,
40
- j as title,
41
- x as tooltip,
42
- t as valueAxis
38
+ x as markPoint,
39
+ o as sankey,
40
+ j as textStyle,
41
+ y as timeAxis,
42
+ D as title,
43
+ C as tooltip,
44
+ u as valueAxis
43
45
  };
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- type SidebarItemId = 'home' | 'mavrik' | 'nodeApi' | 'staking' | 'apiKey' | 'docs';
2
+ type SidebarItemId = 'home' | 'mavrik' | 'nodeApi' | 'staking';
3
3
  type SidebarDestination = {
4
4
  href: string;
5
5
  matchPaths?: string | string[];
@@ -16,7 +16,7 @@ type SidebarProps = {
16
16
  *
17
17
  * Provide a key to show that item; omit it to hide it.
18
18
  *
19
- * Possible keys: 'home', 'mavrik', 'nodeApi', 'staking', 'apiKey', 'docs'.
19
+ * Possible keys: 'home', 'mavrik', 'nodeApi', 'staking'.
20
20
  *
21
21
  * Destination shape (per key):
22
22
  * - `href` (required): URL or in-app route string
@@ -30,8 +30,6 @@ type SidebarProps = {
30
30
  * mavrik: { href: '/mavrik', matchPaths: '/ai/[[...rest]]' },
31
31
  * nodeApi: { href: '/node-api', matchPaths: '/node/[[...rest]]' },
32
32
  * staking: { href: '/staking', matchPaths: '/staking/[[...rest]]' },
33
- * apiKey: { href: '/settings/api-keys' },
34
- * docs: { href: 'https://docs.validationcloud.io', external: true, openInNewTab: true },
35
33
  * };
36
34
  * ```
37
35
  */
@@ -61,24 +59,14 @@ type SidebarProps = {
61
59
  * ```
62
60
  */
63
61
  renderLink: (props: RenderLinkProps) => React.ReactElement;
64
- /**
65
- * Bottom item content for the account area (e.g. `UserDropdown`).
66
- *
67
- * Rendered at the bottom of the Sidebar.
68
- */
69
- accountItem: React.ReactNode;
70
- /**
71
- * Optional bottom contact item (e.g. `IntercomButton`).
72
- *
73
- * Rendered above `accountItem` when provided.
74
- */
75
- helpItem?: React.ReactNode;
76
62
  /**
77
63
  * The app's current pathname (e.g. value from`usePathname()` ).
78
64
  *
79
65
  * Used to compute active state for product items via each destination's `matchPaths`.
80
66
  */
81
67
  currentPathname: string;
68
+ /** Content rendered at the bottom of the icon rail (e.g. a collapsed `<UserDropdown>`). */
69
+ footer?: React.ReactNode;
82
70
  } & React.ComponentProps<'nav'>;
83
71
  /**
84
72
  * Vertical navigation sidebar.
@@ -88,5 +76,5 @@ type SidebarProps = {
88
76
  * - Provide `renderLink` to hook into your app router.
89
77
  * - Provide `currentPathname` + per-route `matchPaths` to enable active styling for product items.
90
78
  */
91
- export declare function Sidebar({ routes, renderLink, helpItem, accountItem, currentPathname, className }: SidebarProps): import("react/jsx-runtime").JSX.Element;
79
+ export declare function Sidebar({ routes, renderLink, currentPathname, footer, className }: SidebarProps): import("react/jsx-runtime").JSX.Element;
92
80
  export {};
@@ -1,75 +1,58 @@
1
- import { jsxs as t, jsx as o } from "react/jsx-runtime";
2
- import s from "react";
3
- import N from "../../assets/mavrik-icon-muted.svg.js";
4
- import b from "../../assets/mavrik-icon.svg.js";
5
- import I from "../../assets/node-api-icon-muted.svg.js";
6
- import A from "../../assets/node-api-icon.svg.js";
7
- import k from "../../assets/staking-icon-muted.svg.js";
8
- import x from "../../assets/staking-icon.svg.js";
9
- import P from "../../assets/vc-logo-sm-white.svg.js";
10
- import { Icon as d } from "../icon/icon.js";
11
- import { BottomNavItem as u } from "./bottom-nav-item.js";
12
- import { ProductNavItem as H } from "./product-nav-item.js";
13
- import { twMerge as w } from "../../lib/tailwind-merge.js";
14
- import { matchesPathname as f } from "../../utils/matches-pathname.js";
15
- const y = [
1
+ import { jsxs as f, jsx as o } from "react/jsx-runtime";
2
+ import g from "react";
3
+ import v from "../../assets/mavrik-icon-muted.svg.js";
4
+ import h from "../../assets/mavrik-icon.svg.js";
5
+ import N from "../../assets/node-api-icon-muted.svg.js";
6
+ import k from "../../assets/node-api-icon.svg.js";
7
+ import I from "../../assets/staking-icon-muted.svg.js";
8
+ import A from "../../assets/staking-icon.svg.js";
9
+ import H from "../../assets/vc-logo-sm-white.svg.js";
10
+ import { ProductNavItem as P } from "./product-nav-item.js";
11
+ import { twMerge as b } from "../../lib/tailwind-merge.js";
12
+ import { matchesPathname as n } from "../../utils/matches-pathname.js";
13
+ const w = [
16
14
  {
17
15
  id: "mavrik",
18
16
  label: "Mavrik",
19
- icon: /* @__PURE__ */ o("img", { src: N, alt: "Mavrik", className: "w-5" }),
20
- iconHover: /* @__PURE__ */ o("img", { src: b, alt: "Mavrik", className: "w-5" })
17
+ icon: /* @__PURE__ */ o("img", { src: v, alt: "Mavrik", className: "w-5" }),
18
+ iconHover: /* @__PURE__ */ o("img", { src: h, alt: "Mavrik", className: "w-5" })
21
19
  },
22
20
  {
23
21
  id: "nodeApi",
24
22
  label: "Node API",
25
- icon: /* @__PURE__ */ o("img", { src: I, alt: "Node API", className: "w-4" }),
26
- iconHover: /* @__PURE__ */ o("img", { src: A, alt: "Node API", className: "w-4" })
23
+ icon: /* @__PURE__ */ o("img", { src: N, alt: "Node API", className: "w-4" }),
24
+ iconHover: /* @__PURE__ */ o("img", { src: k, alt: "Node API", className: "w-4" })
27
25
  },
28
26
  {
29
27
  id: "staking",
30
28
  label: "Staking",
31
- icon: /* @__PURE__ */ o("img", { src: k, alt: "Staking", className: "w-4" }),
32
- iconHover: /* @__PURE__ */ o("img", { src: x, alt: "Staking", className: "w-4" })
29
+ icon: /* @__PURE__ */ o("img", { src: I, alt: "Staking", className: "w-4" }),
30
+ iconHover: /* @__PURE__ */ o("img", { src: A, alt: "Staking", className: "w-4" })
33
31
  }
34
- ], M = [
35
- { id: "apiKey", label: "API Key", icon: /* @__PURE__ */ o(d, { icon: "key", className: "size-5 flex-none" }) },
36
- { id: "docs", label: "Docs", icon: /* @__PURE__ */ o(d, { icon: "documents", className: "mb-1 size-4 flex-none" }) }
37
32
  ];
38
- function U({ routes: c, renderLink: r, helpItem: n, accountItem: p, currentPathname: l, className: g }) {
39
- const m = c.home;
40
- return /* @__PURE__ */ t("nav", { className: w("bg-neutral-80 flex h-full w-16 flex-col items-center gap-4 pt-4 pb-9", g), children: [
41
- m && r({
42
- destination: m,
33
+ function F({ routes: e, renderLink: m, currentPathname: t, footer: l, className: s }) {
34
+ const c = e.home;
35
+ return /* @__PURE__ */ f("nav", { className: b("bg-neutral-80 flex h-full w-16 flex-col items-center gap-4 pt-4", s), children: [
36
+ c && m({
37
+ destination: c,
43
38
  "aria-label": "Home",
44
- children: /* @__PURE__ */ o("div", { className: "px-5 py-2", children: /* @__PURE__ */ o("img", { src: P, alt: "Company Logo" }) })
39
+ children: /* @__PURE__ */ o("div", { className: "px-5 py-2", children: /* @__PURE__ */ o("img", { src: H, alt: "Company Logo" }) })
45
40
  }),
46
- y.map((a) => {
47
- const i = c[a.id];
48
- if (!i) return null;
49
- let e = !1;
50
- i.matchPaths && (Array.isArray(i.matchPaths) ? e = i.matchPaths.some((h) => f(l, h)) : e = f(l, i.matchPaths));
51
- const v = r({
52
- destination: i,
53
- children: /* @__PURE__ */ o(H, { icon: a.icon, iconHover: a.iconHover, label: a.label, isActive: e })
41
+ w.map((i) => {
42
+ const a = e[i.id];
43
+ if (!a) return null;
44
+ let r = !1;
45
+ a.matchPaths && (Array.isArray(a.matchPaths) ? r = a.matchPaths.some((d) => n(t, d)) : r = n(t, a.matchPaths));
46
+ const p = m({
47
+ destination: a,
48
+ children: /* @__PURE__ */ o(P, { icon: i.icon, iconHover: i.iconHover, label: i.label, isActive: r })
54
49
  });
55
- return /* @__PURE__ */ o(s.Fragment, { children: v }, a.id);
50
+ return /* @__PURE__ */ o(g.Fragment, { children: p }, i.id);
56
51
  }),
57
52
  /* @__PURE__ */ o("div", { className: "flex-1" }),
58
- /* @__PURE__ */ t("div", { className: "flex flex-col items-center gap-6", children: [
59
- M.map((a) => {
60
- const i = c[a.id];
61
- if (!i) return null;
62
- const e = r({
63
- destination: i,
64
- children: /* @__PURE__ */ o(u, { icon: a.icon, label: a.label })
65
- });
66
- return /* @__PURE__ */ o(s.Fragment, { children: e }, a.id);
67
- }),
68
- n && n,
69
- p
70
- ] })
53
+ l
71
54
  ] });
72
55
  }
73
56
  export {
74
- U as Sidebar
57
+ F as Sidebar
75
58
  };
@@ -0,0 +1,7 @@
1
+ type InitialsAvatarProps = {
2
+ email: string;
3
+ displayName: string | undefined;
4
+ className?: string;
5
+ };
6
+ export declare function InitialsAvatar({ email, displayName, className }: InitialsAvatarProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,42 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { twMerge as s } from "../../lib/tailwind-merge.js";
3
+ const n = [
4
+ "var(--color-primary-50)",
5
+ "var(--color-secondary-50)",
6
+ "var(--color-purple)",
7
+ "var(--color-success-50)",
8
+ "var(--color-primary-60)",
9
+ "var(--color-secondary-60)",
10
+ "var(--color-warning-60)",
11
+ "var(--color-secondary-70)"
12
+ ], c = /\s+/;
13
+ function i(o, r) {
14
+ if (o) {
15
+ const t = o.trim().split(c), e = t[0]?.[0] ?? "";
16
+ return t.length >= 2 ? (e + (t.at(-1)?.[0] ?? "")).toUpperCase() : e.toUpperCase();
17
+ }
18
+ return (r[0] ?? "").toUpperCase();
19
+ }
20
+ function l(o) {
21
+ let r = 0;
22
+ for (const t of o)
23
+ r = (r << 5) - r + t.charCodeAt(0) | 0;
24
+ return n[Math.abs(r) % n.length] ?? "var(--color-primary-50)";
25
+ }
26
+ function p({ email: o, displayName: r, className: t }) {
27
+ return /* @__PURE__ */ a(
28
+ "div",
29
+ {
30
+ className: s(
31
+ "flex size-8 items-center justify-center rounded-full text-xs font-semibold text-white outline-1 -outline-offset-1 outline-white/10 select-none",
32
+ t
33
+ ),
34
+ style: { backgroundColor: l(o) },
35
+ "aria-hidden": "true",
36
+ children: i(r, o)
37
+ }
38
+ );
39
+ }
40
+ export {
41
+ p as InitialsAvatar
42
+ };
@@ -1,36 +1,42 @@
1
1
  import { default as React } from 'react';
2
2
  import { DropdownMenu } from '../dropdown-menu/dropdown-menu';
3
- type UserWithNameAndPicture = {
3
+ type UserDropdownUser = {
4
4
  email: string;
5
- picture?: string;
6
5
  };
7
6
  type UserDropdownProps = {
8
- user: UserWithNameAndPicture | undefined;
7
+ user: UserDropdownUser | undefined;
9
8
  loginUrl: string;
10
9
  signupUrl: string;
11
10
  logoutUrl: string;
12
11
  accountUrl?: string;
13
- contactItem?: React.ReactNode;
14
- } & Omit<React.ComponentProps<typeof DropdownMenu>, 'trigger'>;
12
+ /** Extra menu items rendered between account and logout. */
13
+ menuItems?: React.ReactNode;
14
+ /** Display name shown on the trigger card. Falls back to email prefix when omitted. */
15
+ displayName?: string;
16
+ /** Plan tier label (e.g. "Free", "PRO · Monthly") shown below the name on the trigger card. */
17
+ planLabel?: string;
18
+ /** When provided, shows an "Upgrade" badge on the trigger and an upgrade menu item in the dropdown. */
19
+ upgradeUrl?: string;
20
+ /** When true, renders a compact avatar-only trigger (e.g. when the sidebar is collapsed). */
21
+ collapsed?: boolean;
22
+ /** When true, renders the trigger with a card-like background (use in sidebar context). */
23
+ card?: boolean;
24
+ } & Omit<React.ComponentProps<typeof DropdownMenu>, 'trigger' | 'contentClassName'>;
15
25
  /**
16
- * User dropdown menu that displays a user's email, account, and logout options.
17
- * @param user - The user to display in the dropdown
18
- * @param loginUrl - The URL to navigate to the login page
19
- * @param signupUrl - The URL to navigate to the signup page
20
- * @param logoutUrl - The URL to navigate to the logout page
21
- * @param accountUrl - The URL to navigate to the account page
22
- * @param contactItem - The item to display in the contact dropdown
23
-
26
+ * User dropdown menu with a trigger card showing avatar, display name, plan
27
+ * tier, and an optional upgrade pill. Opens a dropdown with email, account,
28
+ * contact, and logout items.
29
+ *
24
30
  * @example
25
- * // Example usage of UserDropdown
26
31
  * <UserDropdown
27
- * user={{ email: 'john.doe@example.com', picture: 'picture-url' }}
32
+ * user={{ email: 'john.doe@example.com' }}
33
+ * displayName="John"
34
+ * planLabel="PRO · Monthly"
28
35
  * loginUrl="/auth/login"
29
36
  * signupUrl="/auth/login?screen_hint=signup"
30
37
  * logoutUrl="/auth/logout"
31
38
  * accountUrl="/account"
32
- * contactItem={<IntercomButton><Icon icon="help-center"/><p className="tg-body">Contact Support</p></IntercomButton>}
33
39
  * />
34
40
  */
35
- export declare function UserDropdown({ user, loginUrl, signupUrl, logoutUrl, accountUrl, contactItem, className, ...props }: UserDropdownProps): import("react/jsx-runtime").JSX.Element;
41
+ export declare function UserDropdown({ user, loginUrl, signupUrl, logoutUrl, accountUrl, menuItems, displayName, planLabel, upgradeUrl, collapsed, card, className, ...props }: UserDropdownProps): import("react/jsx-runtime").JSX.Element;
36
42
  export {};
@@ -1,74 +1,118 @@
1
1
  "use client";
2
- import { jsxs as r, Fragment as p, jsx as e } from "react/jsx-runtime";
3
- import "react";
4
- import h from "../../assets/default-avatar.svg.js";
5
- import { Button as u } from "../button/button.js";
6
- import { DropdownMenu as f, DropdownMenuItem as i } from "../dropdown-menu/dropdown-menu.js";
7
- import { Icon as t } from "../icon/icon.js";
8
- import { twMerge as a } from "../../lib/tailwind-merge.js";
9
- function C({
10
- user: l,
11
- loginUrl: o,
2
+ import { jsxs as t, Fragment as y, jsx as e } from "react/jsx-runtime";
3
+ import z from "../../assets/default-avatar.svg.js";
4
+ import { Button as x } from "../button/button.js";
5
+ import { DropdownMenu as b, DropdownMenuItem as n } from "../dropdown-menu/dropdown-menu.js";
6
+ import { Icon as a } from "../icon/icon.js";
7
+ import { InitialsAvatar as N } from "./initials-avatar.js";
8
+ import { twMerge as o } from "../../lib/tailwind-merge.js";
9
+ function S({
10
+ user: r,
11
+ loginUrl: c,
12
12
  signupUrl: d,
13
- logoutUrl: g,
14
- accountUrl: c,
15
- contactItem: n,
13
+ logoutUrl: v,
14
+ accountUrl: u,
15
+ menuItems: m,
16
+ displayName: i,
17
+ planLabel: h,
18
+ upgradeUrl: l,
19
+ collapsed: g,
20
+ card: p,
16
21
  className: s,
17
- ...m
22
+ ...f
18
23
  }) {
19
- return l ? /* @__PURE__ */ r(
20
- f,
24
+ if (!r)
25
+ return /* @__PURE__ */ t(y, { children: [
26
+ /* @__PURE__ */ t("div", { className: o("hidden gap-3 sm:flex", s), children: [
27
+ /* @__PURE__ */ e(x, { variant: "secondary", size: "medium", asChild: !0, children: /* @__PURE__ */ e("a", { href: c, children: "Log in" }) }),
28
+ /* @__PURE__ */ e(x, { variant: "primary", size: "medium", asChild: !0, children: /* @__PURE__ */ e("a", { href: d, children: "Sign up" }) })
29
+ ] }),
30
+ /* @__PURE__ */ t(
31
+ b,
32
+ {
33
+ trigger: /* @__PURE__ */ e("img", { className: "size-7 cursor-pointer sm:hidden", src: z, alt: "User avatar" }),
34
+ className: o(
35
+ "hover:bg-neutral-60 focus-visible:ring-neutral-60 data-[state=open]:bg-neutral-60 rounded-full outline-none focus-visible:ring-2 sm:hidden",
36
+ s
37
+ ),
38
+ ...f,
39
+ children: [
40
+ /* @__PURE__ */ e(n, { asChild: !0, children: /* @__PURE__ */ e("a", { href: c, className: "tg-body", children: "Log in" }) }),
41
+ /* @__PURE__ */ e(n, { asChild: !0, children: /* @__PURE__ */ e("a", { href: d, className: "tg-body", children: "Sign up" }) }),
42
+ m
43
+ ]
44
+ }
45
+ )
46
+ ] });
47
+ const w = i ?? r.email.split("@")[0] ?? r.email;
48
+ return /* @__PURE__ */ t(
49
+ b,
21
50
  {
22
- trigger: /* @__PURE__ */ e(
51
+ trigger: g ? /* @__PURE__ */ e(
23
52
  "button",
24
53
  {
25
54
  type: "button",
26
- className: "gap-r3 focus-visible:ring-neutral-40 flex h-10 shrink cursor-pointer flex-row items-center overflow-hidden px-3 py-6 focus:outline-none focus-visible:rounded-xl focus-visible:ring-2",
27
- children: /* @__PURE__ */ e("img", { className: "size-7 rounded-full sm:size-9", src: l.picture ?? h, alt: "User avatar" })
55
+ "aria-label": "User menu",
56
+ className: "group focus-visible:ring-neutral-40 flex h-14 w-16 cursor-pointer items-center justify-center rounded-xl focus:outline-none focus-visible:ring-2",
57
+ children: /* @__PURE__ */ e(
58
+ N,
59
+ {
60
+ email: r.email,
61
+ displayName: i,
62
+ className: "group-hover:brightness-125 group-data-[state=open]:brightness-125"
63
+ }
64
+ )
65
+ }
66
+ ) : /* @__PURE__ */ t(
67
+ "button",
68
+ {
69
+ type: "button",
70
+ className: o(
71
+ "group focus-visible:ring-neutral-40 flex h-14 w-full cursor-pointer items-center gap-4 rounded-xl pr-3.5 pl-4 focus:outline-none focus-visible:ring-2",
72
+ p && "bg-neutral-65 hover:bg-neutral-60 shadow-[0_-6px_12px_-4px_rgba(0,0,0,0.25)]"
73
+ ),
74
+ children: [
75
+ /* @__PURE__ */ e(N, { email: r.email, displayName: i, className: "shrink-0" }),
76
+ /* @__PURE__ */ t("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
77
+ /* @__PURE__ */ e("span", { className: "tg-body-bold text-neutral-10 truncate text-left", children: w }),
78
+ h && /* @__PURE__ */ e("span", { className: "tg-caption text-neutral-40 group-data-[state=open]:text-neutral-10 truncate text-left", children: h })
79
+ ] }),
80
+ l ? /* @__PURE__ */ e("span", { className: "tg-caption-bold text-neutral-20 shrink-0 rounded-full border border-neutral-50 px-2.5 py-0.5", children: "Upgrade" }) : /* @__PURE__ */ e(
81
+ a,
82
+ {
83
+ icon: "chevron-vertical",
84
+ className: "text-neutral-40 group-data-[state=open]:text-neutral-10 size-3.5 shrink-0"
85
+ }
86
+ )
87
+ ]
28
88
  }
29
89
  ),
30
- className: a("tg-caption-bold -mx-2 rounded-xl px-2 py-1", s),
90
+ className: s,
31
91
  contentClassName: "bg-neutral-60",
32
- ...m,
92
+ contentStyle: p && !g ? { width: "var(--radix-dropdown-menu-trigger-width)" } : void 0,
93
+ ...f,
33
94
  children: [
34
- /* @__PURE__ */ r("div", { className: "tg-button-small text-neutral-40 flex items-center gap-3 px-4 py-2.5 select-text", children: [
35
- /* @__PURE__ */ e(t, { icon: "user", className: "size-4 flex-none" }),
36
- /* @__PURE__ */ e("p", { className: "tg-body", children: l.email })
95
+ l && /* @__PURE__ */ e(n, { asChild: !0, children: /* @__PURE__ */ t("a", { href: l, className: "flex items-center gap-3", children: [
96
+ /* @__PURE__ */ e(a, { icon: "sparkles", className: "size-4 flex-none text-white" }),
97
+ /* @__PURE__ */ e("p", { className: "tg-body", children: "Upgrade plan" })
98
+ ] }) }),
99
+ /* @__PURE__ */ t("div", { className: "tg-button-small text-neutral-40 flex items-center gap-3 overflow-hidden px-4 py-2.5 select-text", children: [
100
+ /* @__PURE__ */ e(a, { icon: "user", className: "size-4 flex-none" }),
101
+ /* @__PURE__ */ e("p", { className: "tg-body min-w-0 truncate", children: r.email })
37
102
  ] }),
38
- c && /* @__PURE__ */ e(i, { asChild: !0, children: /* @__PURE__ */ r("a", { href: c, className: "flex items-center gap-3", children: [
39
- /* @__PURE__ */ e(t, { icon: "cog", className: "size-4 flex-none text-white" }),
103
+ u && /* @__PURE__ */ e(n, { asChild: !0, children: /* @__PURE__ */ t("a", { href: u, className: "flex items-center gap-3", children: [
104
+ /* @__PURE__ */ e(a, { icon: "cog", className: "size-4 flex-none text-white" }),
40
105
  /* @__PURE__ */ e("p", { className: "tg-body", children: "Account" })
41
106
  ] }) }),
42
- n && /* @__PURE__ */ e(i, { asChild: !0, children: n }),
43
- /* @__PURE__ */ e(i, { asChild: !0, children: /* @__PURE__ */ r("a", { href: g, className: "flex items-center gap-3", children: [
44
- /* @__PURE__ */ e(t, { icon: "logout", className: "size-4 flex-none text-white" }),
107
+ m,
108
+ /* @__PURE__ */ e(n, { asChild: !0, children: /* @__PURE__ */ t("a", { href: v, className: "flex items-center gap-3", children: [
109
+ /* @__PURE__ */ e(a, { icon: "logout", className: "size-4 flex-none text-white" }),
45
110
  /* @__PURE__ */ e("p", { className: "tg-body", children: "Log out" })
46
111
  ] }) })
47
112
  ]
48
113
  }
49
- ) : /* @__PURE__ */ r(p, { children: [
50
- /* @__PURE__ */ r("div", { className: a("hidden gap-3 sm:flex", s), children: [
51
- /* @__PURE__ */ e(u, { variant: "secondary", size: "medium", asChild: !0, children: /* @__PURE__ */ e("a", { href: o, children: "Log in" }) }),
52
- /* @__PURE__ */ e(u, { variant: "primary", size: "medium", asChild: !0, children: /* @__PURE__ */ e("a", { href: d, children: "Sign up" }) })
53
- ] }),
54
- /* @__PURE__ */ r(
55
- f,
56
- {
57
- trigger: /* @__PURE__ */ e("img", { className: "size-7 cursor-pointer sm:hidden", src: h, alt: "User avatar" }),
58
- className: a(
59
- "hover:bg-neutral-60 focus-visible:ring-neutral-60 data-[state=open]:bg-neutral-60 rounded-full outline-none focus-visible:ring-2 sm:hidden",
60
- s
61
- ),
62
- ...m,
63
- children: [
64
- /* @__PURE__ */ e(i, { asChild: !0, children: /* @__PURE__ */ e("a", { href: o, className: "tg-body", children: "Log in" }) }),
65
- /* @__PURE__ */ e(i, { asChild: !0, children: /* @__PURE__ */ e("a", { href: d, className: "tg-body", children: "Sign up" }) }),
66
- n && /* @__PURE__ */ e(i, { children: n })
67
- ]
68
- }
69
- )
70
- ] });
114
+ );
71
115
  }
72
116
  export {
73
- C as UserDropdown
117
+ S as UserDropdown
74
118
  };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@validationcloud/fractal-ui",
3
3
  "description": "Validation Cloud's shared React component library with design tokens, Tailwind CSS utilities, and CLI tools",
4
4
  "private": false,
5
- "version": "1.80.1",
5
+ "version": "1.82.0",
6
6
  "module": "./dist/index.js",
7
7
  "type": "module",
8
8
  "bin": {
@@ -1,7 +0,0 @@
1
- import { default as React } from 'react';
2
- type BottomNavItemProps = {
3
- icon: React.ReactNode;
4
- label: string;
5
- } & React.ComponentPropsWithoutRef<'div'>;
6
- export declare function BottomNavItem({ icon, label, className, ...props }: BottomNavItemProps): import("react/jsx-runtime").JSX.Element;
7
- export {};
@@ -1,19 +0,0 @@
1
- import { jsxs as o, jsx as c } from "react/jsx-runtime";
2
- import "react";
3
- import { twMerge as i } from "../../lib/tailwind-merge.js";
4
- function l({ icon: t, label: e, className: r, ...n }) {
5
- return /* @__PURE__ */ o(
6
- "div",
7
- {
8
- className: i("text-neutral-40 hover:text-neutral-10 flex flex-col items-center justify-center", r),
9
- ...n,
10
- children: [
11
- t,
12
- /* @__PURE__ */ c("span", { className: "tg-caption text-center", children: e })
13
- ]
14
- }
15
- );
16
- }
17
- export {
18
- l as BottomNavItem
19
- };