@weng-lab/visualization 1.2.6 → 1.2.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"SingleNode.d.ts","sourceRoot":"","sources":["../../../../src/components/TreeMap/SingleNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAO1C,QAAA,MAAM,UAAU,GAAI,CAAC,EACjB,OAAO,eAAe,CAAC,CAAC,CAAC,4CA+G5B,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"SingleNode.d.ts","sourceRoot":"","sources":["../../../../src/components/TreeMap/SingleNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAe,MAAM,SAAS,CAAC;AAQvD,QAAA,MAAM,UAAU,GAAI,CAAC,EACjB,OAAO,eAAe,CAAC,CAAC,CAAC,4CA4H5B,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -5,7 +5,7 @@ export type Methods = "treemapSquarify" | "treemapBinary" | "treemapDice" | "tre
5
5
  export type AnimationType = "fade" | "scale" | "slideUp" | "slideRight" | "pop";
6
6
  export type TreemapNode<T> = {
7
7
  label: string;
8
- value: number;
8
+ value?: number;
9
9
  children?: TreemapNode<T>[];
10
10
  style?: {
11
11
  color?: string;
@@ -13,6 +13,7 @@ export type TreemapNode<T> = {
13
13
  strokeWidth?: number;
14
14
  strokeColor?: string;
15
15
  };
16
+ displayValue?: number;
16
17
  metaData?: T;
17
18
  };
18
19
  export type TreemapProps<T> = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/TreeMap/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,MAAM,OAAO,GAAG,iBAAiB,GAAG,eAAe,GAAG,aAAa,GAAG,mBAAmB,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAErI,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,KAAK,CAAC;AAEhF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5B,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QAEf,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAA;IACD,QAAQ,CAAC,EAAE,CAAC,CAAC;CACd,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC1B,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvB,YAAY,CAAC,EAAE;QACb;;;WAGG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAA;IACD;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,aAAa,CAAC;IAClF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC;IACrD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAChD,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC7B,IAAI,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,aAAa,CAAC;IACjF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,YAAY,CAAA;IACpD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACnD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/TreeMap/types.ts"],"names":[],"mappings":"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"}
@@ -50847,30 +50847,33 @@ const Gne = (t, e) => {
50847
50847
  )
50848
50848
  ] });
50849
50849
  }, zne = (t) => {
50850
- const e = t.node.parent !== void 0 && t.node.parent?.data.label !== "root", r = t.node.children !== void 0 && t.node.children.length > 0, n = t.fontSize, a = e ? t.node.parent?.data.style?.color || "black" : t.node.data.style?.color || "black", i = t.node.data.style?.labelColor || a, o = t.node.data.style?.strokeColor || a, A = t.node.data.style?.strokeWidth === 0 ? 0 : t.node.data.style?.strokeWidth || t.strokeWidth, s = t.isHovered ? A + 2 : A, l = t.node.x1 - t.node.x0, u = t.node.y1 - t.node.y0, c = t.node.data.label, f = Kne(c, l - 8, n, "sans-serif"), d = u > 55 && l > 50, h = u > 20, { textX: p, textY: g, textAnchor: v, valueAnchor: y, baseline: m, valueY: w, valueX: C } = _ne(
50850
+ function e(L) {
50851
+ return L.children && L.children.length > 0 ? L.children.reduce((O, M) => O + e(M), 0) : L.data.value ?? 0;
50852
+ }
50853
+ const r = t.node.children !== void 0 && t.node.children.length > 0, n = r ? t.node.data.displayValue ?? e(t.node) : t.node.data.value ?? 0, a = t.fontSize, i = t.node.data.style?.color || t.node.parent?.data.style?.color || "black", o = t.node.data.style?.labelColor || i, A = t.node.data.style?.strokeColor || i, s = t.node.data.style?.strokeWidth === 0 ? 0 : t.node.data.style?.strokeWidth || t.strokeWidth, l = t.isHovered ? s + 2 : s, u = t.node.x1 - t.node.x0, c = t.node.y1 - t.node.y0, f = t.node.data.label, d = Kne(f, u - 8, a, "sans-serif"), h = c > 55 && u > 50 && n > 0, p = c > 20, { textX: g, textY: v, textAnchor: y, valueAnchor: m, baseline: w, valueY: C, valueX: T } = _ne(
50851
50854
  t.node,
50852
50855
  t.labelPlacement,
50853
- d,
50856
+ h,
50854
50857
  r
50855
50858
  ), {
50856
- tooltipData: T,
50857
- tooltipLeft: B,
50858
- tooltipTop: E,
50859
- tooltipOpen: x,
50860
- showTooltip: b,
50861
- hideTooltip: F
50862
- } = $f(), U = Ke(
50863
- (I) => {
50859
+ tooltipData: B,
50860
+ tooltipLeft: E,
50861
+ tooltipTop: x,
50862
+ tooltipOpen: b,
50863
+ showTooltip: F,
50864
+ hideTooltip: U
50865
+ } = $f(), S = Ke(
50866
+ (L) => {
50864
50867
  if (!t.tooltipBody) return;
50865
- const L = t.tooltipBody(t.node.data);
50866
- b({
50867
- tooltipLeft: I.clientX + 10,
50868
- tooltipTop: I.clientY + 10,
50869
- tooltipData: L
50868
+ const O = t.tooltipBody(t.node.data);
50869
+ F({
50870
+ tooltipLeft: L.clientX + 10,
50871
+ tooltipTop: L.clientY + 10,
50872
+ tooltipData: O
50870
50873
  });
50871
50874
  },
50872
- [t.tooltipBody, t.node.data, b]
50873
- ), S = () => {
50875
+ [t.tooltipBody, t.node.data, F]
50876
+ ), I = () => {
50874
50877
  t.onNodeClicked && t.onNodeClicked(t.node.data);
50875
50878
  };
50876
50879
  return /* @__PURE__ */ V.jsxs(Ie.Fragment, { children: [
@@ -50879,10 +50882,10 @@ const Gne = (t, e) => {
50879
50882
  {
50880
50883
  onMouseEnter: () => t.onHover(!0),
50881
50884
  onMouseLeave: () => {
50882
- t.onHover(!1), F?.();
50885
+ t.onHover(!1), U?.();
50883
50886
  },
50884
- onMouseMove: U,
50885
- onClick: S,
50887
+ onMouseMove: S,
50888
+ onClick: I,
50886
50889
  style: { cursor: "pointer", transition: "stroke-width 0.2s" },
50887
50890
  children: [
50888
50891
  /* @__PURE__ */ V.jsx(
@@ -50890,42 +50893,42 @@ const Gne = (t, e) => {
50890
50893
  {
50891
50894
  x: t.node.x0,
50892
50895
  y: t.node.y0,
50893
- width: l,
50894
- height: u,
50895
- fill: a,
50896
+ width: u,
50897
+ height: c,
50898
+ fill: i,
50896
50899
  fillOpacity: t.opacity,
50897
- stroke: o,
50898
- strokeWidth: s,
50900
+ stroke: A,
50901
+ strokeWidth: l,
50899
50902
  rx: t.borderRadius
50900
50903
  }
50901
50904
  ),
50902
- h && /* @__PURE__ */ V.jsx(
50905
+ p && /* @__PURE__ */ V.jsx(
50903
50906
  "text",
50904
50907
  {
50905
- x: p,
50906
- y: g,
50907
- textAnchor: v,
50908
- dominantBaseline: m,
50909
- fill: i,
50908
+ x: g,
50909
+ y: v,
50910
+ textAnchor: y,
50911
+ dominantBaseline: w,
50912
+ fill: o,
50910
50913
  fontSize: t.fontSize,
50911
50914
  fontWeight: 500,
50912
- children: f
50915
+ children: d
50913
50916
  }
50914
50917
  ),
50915
- d && /* @__PURE__ */ V.jsx(
50918
+ h && /* @__PURE__ */ V.jsx(
50916
50919
  $ne,
50917
50920
  {
50918
- cx: C,
50919
- cy: w,
50920
- color: i,
50921
- value: t.node.data.value,
50922
- align: y
50921
+ cx: T,
50922
+ cy: C,
50923
+ color: o,
50924
+ value: n,
50925
+ align: m
50923
50926
  }
50924
50927
  )
50925
50928
  ]
50926
50929
  }
50927
50930
  ),
50928
- t.tooltipBody && x && T && /* @__PURE__ */ V.jsx(xA, { children: /* @__PURE__ */ V.jsx(Yf, { left: (B ?? 0) + 10, top: E, children: T }) })
50931
+ t.tooltipBody && b && B && /* @__PURE__ */ V.jsx(xA, { children: /* @__PURE__ */ V.jsx(Yf, { left: (E ?? 0) + 10, top: x, children: B }) })
50929
50932
  ] }, `frag-${t.node.data.label}`);
50930
50933
  }, oae = (t) => {
50931
50934
  const { parentRef: e, width: r, height: n } = rd(), [a, i] = Je(null), o = yt(null), A = lw({ label: "root", value: 0, children: t.data }).sum((f) => f.value).sort((f, d) => (d.value || 0) - (f.value || 0)), s = {