@cloudflare/kumo 2.1.0 → 2.2.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.
Files changed (182) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/ai/component-registry.json +24 -1
  3. package/ai/component-registry.md +87 -11
  4. package/ai/schemas.ts +3 -0
  5. package/dist/.build-complete +1 -1
  6. package/dist/ai/schemas.d.ts +12 -0
  7. package/dist/ai/schemas.d.ts.map +1 -1
  8. package/dist/ai/schemas.js +137 -131
  9. package/dist/ai/schemas.js.map +1 -1
  10. package/dist/chunks/SankeyChart-h1kzhs1tyt20luha.js +629 -0
  11. package/dist/chunks/SankeyChart-h1kzhs1tyt20luha.js.map +1 -0
  12. package/dist/chunks/{autocomplete-1hi2rgzo10bczkfa.js → autocomplete-nw1ig02pawtj3il9.js} +4 -4
  13. package/dist/chunks/{autocomplete-1hi2rgzo10bczkfa.js.map → autocomplete-nw1ig02pawtj3il9.js.map} +1 -1
  14. package/dist/chunks/{breadcrumbs-davmangc0urzivbs.js → breadcrumbs-f7bi3g8tx6dfcgl6.js} +2 -2
  15. package/dist/chunks/{breadcrumbs-davmangc0urzivbs.js.map → breadcrumbs-f7bi3g8tx6dfcgl6.js.map} +1 -1
  16. package/dist/chunks/{button-n859eyw550yi2b9z.js → button-gflkhovvkmt0ftzz.js} +2 -2
  17. package/dist/chunks/{button-n859eyw550yi2b9z.js.map → button-gflkhovvkmt0ftzz.js.map} +1 -1
  18. package/dist/chunks/{checkbox-dfl2fr8nchh43qfc.js → checkbox-imuc4c45j7sds6wk.js} +3 -3
  19. package/dist/chunks/{checkbox-dfl2fr8nchh43qfc.js.map → checkbox-imuc4c45j7sds6wk.js.map} +1 -1
  20. package/dist/chunks/{clipboard-text-ic9k5qjkljlr9z3b.js → clipboard-text-dp5eb2c2qudgusnc.js} +4 -4
  21. package/dist/chunks/{clipboard-text-ic9k5qjkljlr9z3b.js.map → clipboard-text-dp5eb2c2qudgusnc.js.map} +1 -1
  22. package/dist/chunks/{collapsible-jvebgqfqljzokj8h.js → collapsible-ej6p2bq758sw30nk.js} +2 -2
  23. package/dist/chunks/{collapsible-jvebgqfqljzokj8h.js.map → collapsible-ej6p2bq758sw30nk.js.map} +1 -1
  24. package/dist/chunks/{combobox-f5nyw45yiwx5f69l.js → combobox-42i2nyvfgkqjb5a4.js} +4 -4
  25. package/dist/chunks/{combobox-f5nyw45yiwx5f69l.js.map → combobox-42i2nyvfgkqjb5a4.js.map} +1 -1
  26. package/dist/chunks/{command-palette-ezbzp2fpbbo97ogf.js → command-palette-eep807rf6iapoz8r.js} +3 -3
  27. package/dist/chunks/{command-palette-ezbzp2fpbbo97ogf.js.map → command-palette-eep807rf6iapoz8r.js.map} +1 -1
  28. package/dist/chunks/{dialog-n6uc2s99xwdn2pnb.js → dialog-fo3qhv9fgiadq5gp.js} +3 -3
  29. package/dist/chunks/{dialog-n6uc2s99xwdn2pnb.js.map → dialog-fo3qhv9fgiadq5gp.js.map} +1 -1
  30. package/dist/chunks/{dropdown-mftv4iv9nzhprg81.js → dropdown-cobpydatw4vlb3ov.js} +2 -2
  31. package/dist/chunks/{dropdown-mftv4iv9nzhprg81.js.map → dropdown-cobpydatw4vlb3ov.js.map} +1 -1
  32. package/dist/chunks/{empty-mmtirqntk6enx51o.js → empty-jwan4d5hqjocakhm.js} +2 -2
  33. package/dist/chunks/{empty-mmtirqntk6enx51o.js.map → empty-jwan4d5hqjocakhm.js.map} +1 -1
  34. package/dist/chunks/{field-mil8efu3x0s68eed.js → field-yhlyu6fy0qi1ewtl.js} +36 -30
  35. package/dist/chunks/field-yhlyu6fy0qi1ewtl.js.map +1 -0
  36. package/dist/chunks/input-area-d85jzxlnvx7mc3x9.js +78 -0
  37. package/dist/chunks/input-area-d85jzxlnvx7mc3x9.js.map +1 -0
  38. package/dist/chunks/{input-kmztt6h4mzy101ho.js → input-cyils8jxj8e0udr7.js} +61 -45
  39. package/dist/chunks/input-cyils8jxj8e0udr7.js.map +1 -0
  40. package/dist/chunks/{input-group-5luo0442jgsie018.js → input-group-mu8yklweljytpt04.js} +5 -5
  41. package/dist/chunks/{input-group-5luo0442jgsie018.js.map → input-group-mu8yklweljytpt04.js.map} +1 -1
  42. package/dist/chunks/{label-d14ibjmcbk1qmyrt.js → label-kaz4uxdt1yf3i5x5.js} +3 -3
  43. package/dist/chunks/{label-d14ibjmcbk1qmyrt.js.map → label-kaz4uxdt1yf3i5x5.js.map} +1 -1
  44. package/dist/chunks/{layer-card-eomdoafn3sfpih1d.js → layer-card-hyz8lfxceudt05pv.js} +2 -2
  45. package/dist/chunks/{layer-card-eomdoafn3sfpih1d.js.map → layer-card-hyz8lfxceudt05pv.js.map} +1 -1
  46. package/dist/chunks/{link-ihastr6a2dmo1so5.js → link-lkzjiitte3l29q87.js} +2 -2
  47. package/dist/chunks/{link-ihastr6a2dmo1so5.js.map → link-lkzjiitte3l29q87.js.map} +1 -1
  48. package/dist/chunks/{menubar-f6xelkurau8cl60f.js → menubar-gk322oew1y1lr851.js} +2 -2
  49. package/dist/chunks/{menubar-f6xelkurau8cl60f.js.map → menubar-gk322oew1y1lr851.js.map} +1 -1
  50. package/dist/chunks/{meter-g1ja8cwtum0frcdj.js → meter-jbxkh6gfggx1kjna.js} +2 -2
  51. package/dist/chunks/{meter-g1ja8cwtum0frcdj.js.map → meter-jbxkh6gfggx1kjna.js.map} +1 -1
  52. package/dist/chunks/{pagination-kmtbb3twehv79tm8.js → pagination-kswioh2znglyq7as.js} +3 -3
  53. package/dist/chunks/{pagination-kmtbb3twehv79tm8.js.map → pagination-kswioh2znglyq7as.js.map} +1 -1
  54. package/dist/chunks/{popover-f3t99000mahsnjzc.js → popover-i4opvl9g0as52fyx.js} +2 -2
  55. package/dist/chunks/{popover-f3t99000mahsnjzc.js.map → popover-i4opvl9g0as52fyx.js.map} +1 -1
  56. package/dist/chunks/{radio-me5m5ei86beum5bo.js → radio-g56o5rftpu1qpxuv.js} +6 -6
  57. package/dist/chunks/{radio-me5m5ei86beum5bo.js.map → radio-g56o5rftpu1qpxuv.js.map} +1 -1
  58. package/dist/chunks/select-hz8wwd2msvp1u0jp.js +226 -0
  59. package/dist/chunks/select-hz8wwd2msvp1u0jp.js.map +1 -0
  60. package/dist/chunks/{sensitive-input-gyf5hhgyolt07y1p.js → sensitive-input-mdtjukbb3wimz1iy.js} +4 -4
  61. package/dist/chunks/{sensitive-input-gyf5hhgyolt07y1p.js.map → sensitive-input-mdtjukbb3wimz1iy.js.map} +1 -1
  62. package/dist/chunks/{sidebar-o8y71x814ptc0xpf.js → sidebar-dlh79t5uliezwniq.js} +3 -3
  63. package/dist/chunks/{sidebar-o8y71x814ptc0xpf.js.map → sidebar-dlh79t5uliezwniq.js.map} +1 -1
  64. package/dist/chunks/{surface-ivrb4btwdoq91ytl.js → surface-ck1nt2uqfzmod4sz.js} +2 -2
  65. package/dist/chunks/{surface-ivrb4btwdoq91ytl.js.map → surface-ck1nt2uqfzmod4sz.js.map} +1 -1
  66. package/dist/chunks/{switch-c0avfhj6n85inmtb.js → switch-luut1d75u179g7x6.js} +3 -3
  67. package/dist/chunks/{switch-c0avfhj6n85inmtb.js.map → switch-luut1d75u179g7x6.js.map} +1 -1
  68. package/dist/chunks/{table-htqdo9dgy8c6hwuq.js → table-ef63hg1r1zia9u9j.js} +2 -2
  69. package/dist/chunks/{table-htqdo9dgy8c6hwuq.js.map → table-ef63hg1r1zia9u9j.js.map} +1 -1
  70. package/dist/chunks/tabs-g8ier5pehjpfxauf.js +152 -0
  71. package/dist/chunks/tabs-g8ier5pehjpfxauf.js.map +1 -0
  72. package/dist/chunks/{toast-evn3ce20j18hpyqt.js → toast-e5id2hx8pv0x3vue.js} +42 -38
  73. package/dist/chunks/{toast-evn3ce20j18hpyqt.js.map → toast-e5id2hx8pv0x3vue.js.map} +1 -1
  74. package/dist/chunks/{tooltip-fjxy4s4l75hjxp1x.js → tooltip-caka3fmn1ogdc7q8.js} +2 -2
  75. package/dist/chunks/{tooltip-fjxy4s4l75hjxp1x.js.map → tooltip-caka3fmn1ogdc7q8.js.map} +1 -1
  76. package/dist/chunks/{vendor-base-ui-epfrwb4nfbd4btaz.js → vendor-base-ui-nbyiqqi138hcoz52.js} +30 -29
  77. package/dist/chunks/{vendor-base-ui-epfrwb4nfbd4btaz.js.map → vendor-base-ui-nbyiqqi138hcoz52.js.map} +1 -1
  78. package/dist/code.js +1 -1
  79. package/dist/components/autocomplete.js +1 -1
  80. package/dist/components/breadcrumbs.js +1 -1
  81. package/dist/components/button.js +1 -1
  82. package/dist/components/chart.js +1 -1
  83. package/dist/components/checkbox.js +1 -1
  84. package/dist/components/clipboard-text.js +1 -1
  85. package/dist/components/collapsible.js +1 -1
  86. package/dist/components/combobox.js +1 -1
  87. package/dist/components/command-palette.js +1 -1
  88. package/dist/components/dialog.js +1 -1
  89. package/dist/components/dropdown.js +1 -1
  90. package/dist/components/empty.js +1 -1
  91. package/dist/components/field.js +6 -5
  92. package/dist/components/input-group.js +1 -1
  93. package/dist/components/input.js +3 -3
  94. package/dist/components/label.js +1 -1
  95. package/dist/components/layer-card.js +1 -1
  96. package/dist/components/link.js +1 -1
  97. package/dist/components/menubar.js +1 -1
  98. package/dist/components/meter.js +1 -1
  99. package/dist/components/pagination.js +1 -1
  100. package/dist/components/popover.js +1 -1
  101. package/dist/components/radio.js +1 -1
  102. package/dist/components/select.js +1 -1
  103. package/dist/components/sensitive-input.js +1 -1
  104. package/dist/components/sidebar.js +1 -1
  105. package/dist/components/surface.js +1 -1
  106. package/dist/components/switch.js +1 -1
  107. package/dist/components/table.js +1 -1
  108. package/dist/components/tabs.js +1 -1
  109. package/dist/components/toast.js +2 -2
  110. package/dist/components/tooltip.js +1 -1
  111. package/dist/index.js +138 -137
  112. package/dist/primitives/accordion.js +1 -1
  113. package/dist/primitives/alert-dialog.js +1 -1
  114. package/dist/primitives/autocomplete.js +1 -1
  115. package/dist/primitives/avatar.js +1 -1
  116. package/dist/primitives/button.js +1 -1
  117. package/dist/primitives/checkbox-group.js +1 -1
  118. package/dist/primitives/checkbox.js +1 -1
  119. package/dist/primitives/collapsible.js +1 -1
  120. package/dist/primitives/combobox.js +1 -1
  121. package/dist/primitives/context-menu.js +1 -1
  122. package/dist/primitives/csp-provider.js +1 -1
  123. package/dist/primitives/dialog.js +1 -1
  124. package/dist/primitives/direction-provider.js +1 -1
  125. package/dist/primitives/drawer.js +1 -1
  126. package/dist/primitives/field.js +1 -1
  127. package/dist/primitives/fieldset.js +1 -1
  128. package/dist/primitives/form.js +1 -1
  129. package/dist/primitives/input.js +1 -1
  130. package/dist/primitives/menu.js +1 -1
  131. package/dist/primitives/menubar.js +1 -1
  132. package/dist/primitives/meter.js +1 -1
  133. package/dist/primitives/navigation-menu.js +1 -1
  134. package/dist/primitives/number-field.js +1 -1
  135. package/dist/primitives/otp-field.js +1 -1
  136. package/dist/primitives/popover.js +1 -1
  137. package/dist/primitives/preview-card.js +1 -1
  138. package/dist/primitives/progress.js +1 -1
  139. package/dist/primitives/radio-group.js +1 -1
  140. package/dist/primitives/radio.js +1 -1
  141. package/dist/primitives/scroll-area.js +1 -1
  142. package/dist/primitives/select.js +1 -1
  143. package/dist/primitives/separator.js +1 -1
  144. package/dist/primitives/slider.js +1 -1
  145. package/dist/primitives/switch.js +1 -1
  146. package/dist/primitives/tabs.js +1 -1
  147. package/dist/primitives/toast.js +1 -1
  148. package/dist/primitives/toggle-group.js +1 -1
  149. package/dist/primitives/toggle.js +1 -1
  150. package/dist/primitives/toolbar.js +1 -1
  151. package/dist/primitives/tooltip.js +1 -1
  152. package/dist/primitives.js +1 -1
  153. package/dist/src/components/chart/SankeyChart.d.ts.map +1 -1
  154. package/dist/src/components/chart/TimeseriesChart.d.ts +7 -1
  155. package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -1
  156. package/dist/src/components/field/field.d.ts +22 -1
  157. package/dist/src/components/field/field.d.ts.map +1 -1
  158. package/dist/src/components/field/index.d.ts +1 -1
  159. package/dist/src/components/field/index.d.ts.map +1 -1
  160. package/dist/src/components/input/input-area.d.ts.map +1 -1
  161. package/dist/src/components/input/input.d.ts +4 -0
  162. package/dist/src/components/input/input.d.ts.map +1 -1
  163. package/dist/src/components/select/select.d.ts.map +1 -1
  164. package/dist/src/components/tabs/tabs.d.ts +10 -1
  165. package/dist/src/components/tabs/tabs.d.ts.map +1 -1
  166. package/dist/src/components/toast/toast.d.ts +28 -1
  167. package/dist/src/components/toast/toast.d.ts.map +1 -1
  168. package/dist/src/index.d.ts +1 -1
  169. package/dist/src/index.d.ts.map +1 -1
  170. package/dist/styles/kumo-binding.css +65 -0
  171. package/dist/styles/kumo-standalone.css +1 -1
  172. package/package.json +3 -3
  173. package/dist/chunks/SankeyChart-i4vgcatj89zpgpl9.js +0 -626
  174. package/dist/chunks/SankeyChart-i4vgcatj89zpgpl9.js.map +0 -1
  175. package/dist/chunks/field-mil8efu3x0s68eed.js.map +0 -1
  176. package/dist/chunks/input-area-hl1rdb9xcrqyt8xw.js +0 -78
  177. package/dist/chunks/input-area-hl1rdb9xcrqyt8xw.js.map +0 -1
  178. package/dist/chunks/input-kmztt6h4mzy101ho.js.map +0 -1
  179. package/dist/chunks/select-brzswxbhhf1ktx9t.js +0 -215
  180. package/dist/chunks/select-brzswxbhhf1ktx9t.js.map +0 -1
  181. package/dist/chunks/tabs-fdkhdhv8kvnpp8nt.js +0 -92
  182. package/dist/chunks/tabs-fdkhdhv8kvnpp8nt.js.map +0 -1
@@ -1,626 +0,0 @@
1
- "use client";
2
- import { jsx as w, jsxs as C } from "react/jsx-runtime";
3
- import { forwardRef as ne, useRef as M, useEffect as D, useMemo as q, useCallback as re } from "react";
4
- import { c as L } from "./cn-ct4n7r74mh8y0f48.js";
5
- var Z = /* @__PURE__ */ ((e) => (e.Attention = "#FC574A", e.Warning = "#F8A054", e.Success = "#00A63E", e.Neutral = "#B9D6FF", e.Disabled = "#CBCBCB", e.Skeleton = "#DDDDDD", e))(Z || {}), ee = /* @__PURE__ */ ((e) => (e.Attention = "#FC574A", e.Warning = "#F8A054", e.Success = "#00A63E", e.Neutral = "#8EC5FF", e.Disabled = "#878787", e.Skeleton = "#5C5C5C", e))(ee || {});
6
- const se = {
7
- blues: ["#E1EAF4", "#8EBCF6", "#4290F0", "#0E58B4", "#03254F"]
8
- }, oe = {
9
- blues: ["#03254F", "#0E58B4", "#4290F0", "#A6BFDD", "#E1EAF4"]
10
- }, U = [
11
- "#4290F0",
12
- "#F5B647",
13
- "#E8649D",
14
- "#8D58EE",
15
- "#50C3B6",
16
- "#D37536"
17
- /* Orange */
18
- ], X = [
19
- "#4290F0",
20
- "#EEB720",
21
- "#E8649D",
22
- "#8D58EE",
23
- "#50C3B6",
24
- "#D37536"
25
- /* Orange */
26
- ];
27
- var j;
28
- ((e) => {
29
- function t(s, d = !1) {
30
- return d ? ee[s] : Z[s];
31
- }
32
- e.semantic = t;
33
- function c(s, d = !1) {
34
- return d ? X[s % X.length] : U[s % U.length];
35
- }
36
- e.categorical = c;
37
- function i(s, d = !1) {
38
- return d ? [...oe[s]] : [...se[s]];
39
- }
40
- e.sequential = i;
41
- function r(s, d = !1) {
42
- const h = {
43
- light: { primary: "#6B7280", secondary: "#9CA3AF" },
44
- dark: { primary: "#9CA3AF", secondary: "#6B7280" }
45
- };
46
- return d ? h.dark[s] : h.light[s];
47
- }
48
- e.text = r;
49
- })(j || (j = {}));
50
- const Y = (e) => {
51
- const { dangerousHtmlFormatter: t, ...c } = e;
52
- return {
53
- ...c,
54
- formatter: t
55
- };
56
- }, ae = (e) => e.tooltip ? {
57
- ...e,
58
- tooltip: Array.isArray(e.tooltip) ? e.tooltip.map(Y) : Y(e.tooltip)
59
- } : e, K = ne(function({
60
- echarts: t,
61
- options: c,
62
- optionUpdateBehavior: i,
63
- className: r,
64
- isDarkMode: s,
65
- height: d = 350,
66
- onEvents: h
67
- }, p) {
68
- const f = M(null), N = M(null), S = M({}), E = M({}), F = M(/* @__PURE__ */ new Set());
69
- return D(() => {
70
- if (!f.current) return;
71
- const u = t.init(
72
- f.current,
73
- s ? "dark" : {
74
- color: s ? X : U
75
- }
76
- );
77
- return N.current = u, typeof p == "function" ? p(u) : p && (p.current = u), () => {
78
- for (const b of F.current) {
79
- const l = E.current[b];
80
- l && u.off(b, l);
81
- }
82
- F.current.clear(), typeof p == "function" ? p(null) : p && (p.current = null), N.current = null, u.dispose();
83
- };
84
- }, [f, s]), D(() => {
85
- const u = N.current;
86
- u && u.setOption(ae(c), {
87
- notMerge: !1,
88
- lazyUpdate: !0,
89
- ...i
90
- });
91
- }, [s, i, c]), D(() => {
92
- S.current = h ?? {};
93
- }, [h]), D(() => {
94
- const u = N.current;
95
- if (!u) return;
96
- const b = /* @__PURE__ */ new Set();
97
- for (const [l, A] of Object.entries(h ?? {}))
98
- typeof A == "function" && (b.add(l), E.current[l] || (E.current[l] = (B) => {
99
- S.current[l]?.(B);
100
- }), F.current.has(l) || u.on(l, E.current[l]));
101
- for (const l of F.current) {
102
- if (b.has(l)) continue;
103
- const A = E.current[l];
104
- A && u.off(l, A);
105
- }
106
- F.current = b;
107
- }, [t, s, h]), D(() => {
108
- const u = N.current, b = f.current;
109
- if (!u || !b) return;
110
- let l = !0;
111
- const A = new ResizeObserver(() => {
112
- if (l) {
113
- l = !1;
114
- return;
115
- }
116
- u.resize();
117
- });
118
- return A.observe(b), () => A.disconnect();
119
- }, []), /* @__PURE__ */ w(
120
- "div",
121
- {
122
- ref: f,
123
- className: L("w-full", r),
124
- style: { height: d },
125
- tabIndex: c.aria?.enabled ? 0 : void 0,
126
- role: c.aria?.enabled ? "img" : void 0
127
- }
128
- );
129
- });
130
- K.displayName = "Chart";
131
- function be({
132
- echarts: e,
133
- type: t = "line",
134
- data: c,
135
- xAxisName: i,
136
- xAxisTickCount: r,
137
- xAxisTickFormat: s,
138
- yAxisTickFormat: d,
139
- yAxisTickLabelFormat: h,
140
- yAxisName: p,
141
- yAxisTickCount: f,
142
- tooltipValueFormat: N,
143
- onTimeRangeChange: S,
144
- height: E = 350,
145
- incomplete: F,
146
- isDarkMode: u,
147
- gradient: b,
148
- loading: l,
149
- ariaDescription: A
150
- }) {
151
- const B = M(null), R = F?.before, H = F?.after, P = q(() => {
152
- const g = [], I = t === "bar" ? { type: "bar", stack: "total" } : { type: "line", showSymbol: !1 };
153
- for (const o of c) {
154
- const n = R && t === "line" ? o.data.filter((O) => O[0] <= R) : [], a = H && t === "line" ? o.data.filter((O) => O[0] >= H) : [], m = n.length > 0 || a.length > 0 ? o.data.slice(
155
- Math.max(0, n.length - 1),
156
- Math.max(0, o.data.length - a.length + 1)
157
- ) : o.data, x = b && t === "line" ? {
158
- color: new e.graphic.LinearGradient(0, 0, 0, 1, [
159
- { offset: 0, color: J(o.color, 0.4) },
160
- { offset: 1, color: J(o.color, 0) }
161
- ])
162
- } : void 0;
163
- g.push({
164
- data: m,
165
- color: o.color,
166
- name: o.name,
167
- emphasis: { focus: "series" },
168
- ...x ? { areaStyle: x } : {},
169
- ...I
170
- });
171
- const $ = {
172
- color: o.color,
173
- name: o.name,
174
- type: "line",
175
- lineStyle: { type: "dashed" },
176
- showSymbol: !1,
177
- emphasis: { focus: "series" }
178
- };
179
- n.length > 0 && g.push({
180
- ...$,
181
- data: n
182
- }), a.length > 0 && g.push({
183
- ...$,
184
- data: a
185
- });
186
- }
187
- return {
188
- aria: {
189
- enabled: !0,
190
- ...A && { label: { description: A } }
191
- },
192
- brush: {
193
- xAxisIndex: "all",
194
- brushType: "lineX",
195
- brushMode: "single",
196
- outOfBrush: {
197
- colorAlpha: 0.3
198
- },
199
- brushStyle: {
200
- borderWidth: 1,
201
- color: "rgba(120,140,180,0.3)",
202
- borderColor: "rgba(120,140,180,0.8)"
203
- }
204
- },
205
- tooltip: {
206
- trigger: "axis",
207
- appendTo: "body",
208
- axisPointer: { type: "shadow" },
209
- dangerousHtmlFormatter: (o) => {
210
- const n = Array.isArray(o) ? o : [o], a = /* @__PURE__ */ new Set(), m = n.filter((T) => a.has(T.seriesName) ? !1 : (a.add(T.seriesName), !0)), x = m[0], $ = x?.value?.[0] ?? x?.axisValue, O = $ != null ? `<div style="font-weight:600;margin-bottom:4px;">${e.format.encodeHTML(le($))}</div>` : "", _ = m.map((T) => {
211
- const k = T?.value?.[1], G = N ?? h, te = G ? e.format.encodeHTML(String(G(k))) : e.format.encodeHTML(String(k));
212
- return `${T.marker} ${e.format.encodeHTML(T.seriesName)}: <strong>${te}</strong>`;
213
- }).join("<br/>");
214
- return `${O}${_}`;
215
- }
216
- },
217
- backgroundColor: "transparent",
218
- toolbox: { show: !1 },
219
- xAxis: {
220
- name: i,
221
- nameLocation: "middle",
222
- nameGap: 30,
223
- type: "time",
224
- splitLine: {
225
- show: !1
226
- },
227
- axisLine: { show: !1 },
228
- splitNumber: r ?? 5,
229
- ...s && {
230
- axisLabel: {
231
- formatter: (o) => s(o)
232
- }
233
- }
234
- },
235
- yAxis: {
236
- name: p,
237
- nameLocation: "middle",
238
- nameGap: 40,
239
- type: "value",
240
- axisTick: { show: !0 },
241
- axisLabel: {
242
- margin: 15,
243
- ...d && {
244
- formatter: (o) => d(o)
245
- }
246
- },
247
- splitLine: {
248
- show: !0,
249
- lineStyle: { type: "dashed", width: 1 }
250
- },
251
- splitNumber: f
252
- },
253
- grid: {
254
- left: p ? 30 : 24,
255
- right: 24,
256
- top: 24,
257
- bottom: i ? 30 : 24
258
- },
259
- series: g
260
- };
261
- }, [
262
- c,
263
- i,
264
- r,
265
- s,
266
- d,
267
- h,
268
- p,
269
- f,
270
- N,
271
- R,
272
- H,
273
- t,
274
- b,
275
- e,
276
- A
277
- ]), y = q(() => S ? {
278
- brushend: (g) => {
279
- const I = g.areas[0].coordRange;
280
- S(I[0], I[1]), B.current?.dispatchAction({ type: "brush", areas: [] });
281
- }
282
- } : {}, [S]), v = !!S;
283
- return D(() => {
284
- const g = B.current;
285
- if (g && v)
286
- return g.dispatchAction({
287
- type: "takeGlobalCursor",
288
- key: "brush",
289
- brushOption: {
290
- brushType: "lineX",
291
- brushMode: "single"
292
- }
293
- }), () => {
294
- g.dispatchAction({
295
- type: "takeGlobalCursor",
296
- key: "brush",
297
- brushOption: {
298
- brushType: !1
299
- }
300
- });
301
- };
302
- }, [B, v, l]), /* @__PURE__ */ C("div", { className: "relative w-full", style: { height: E }, children: [
303
- l && /* @__PURE__ */ w(ce, { height: E, isDarkMode: u }),
304
- !l && /* @__PURE__ */ w(
305
- K,
306
- {
307
- echarts: e,
308
- ref: B,
309
- options: P,
310
- height: E,
311
- isDarkMode: u,
312
- onEvents: y
313
- }
314
- )
315
- ] });
316
- }
317
- function ce({
318
- height: e,
319
- isDarkMode: t
320
- }) {
321
- const c = e / 2, i = Math.min(e * 0.12, 28), r = 400, s = 120, d = [];
322
- for (let f = 0; f <= s; f++) {
323
- const N = -r + f / s * r * 3, S = c + Math.sin(f / s * 2 * Math.PI * 3) * i;
324
- d.push(`${f === 0 ? "M" : "L"}${N.toFixed(2)},${S.toFixed(2)}`);
325
- }
326
- const h = d.join(" "), p = t ? "rgba(255,255,255,0.5)" : "rgba(0,0,0,0.2)";
327
- return /* @__PURE__ */ w(
328
- "div",
329
- {
330
- "aria-hidden": "true",
331
- className: "absolute inset-0 overflow-hidden",
332
- style: { height: e },
333
- children: /* @__PURE__ */ w(
334
- "svg",
335
- {
336
- width: "100%",
337
- height: e,
338
- viewBox: `0 0 ${r} ${e}`,
339
- preserveAspectRatio: "none",
340
- className: "w-full animate-pulse",
341
- children: /* @__PURE__ */ w(
342
- "path",
343
- {
344
- d: h,
345
- fill: "none",
346
- stroke: p,
347
- strokeWidth: "2",
348
- style: {
349
- animation: "kumo-chart-wave 2.4s linear infinite",
350
- transformOrigin: "0 0"
351
- }
352
- }
353
- )
354
- }
355
- )
356
- }
357
- );
358
- }
359
- function J(e, t) {
360
- const c = Math.max(0, Math.min(1, t)), i = e.match(
361
- /rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i
362
- );
363
- if (i)
364
- return `rgba(${i[1]}, ${i[2]}, ${i[3]}, ${c})`;
365
- let r = e.replace(/^#/, "");
366
- r.length === 3 && (r = r[0] + r[0] + r[1] + r[1] + r[2] + r[2]), r.length === 8 && (r = r.slice(0, 6));
367
- const s = parseInt(r.slice(0, 2), 16), d = parseInt(r.slice(2, 4), 16), h = parseInt(r.slice(4, 6), 16);
368
- return `rgba(${s}, ${d}, ${h}, ${c})`;
369
- }
370
- function z(e) {
371
- return e.toString().padStart(2, "0");
372
- }
373
- function le(e) {
374
- const t = new Date(e);
375
- return `${t.getFullYear()}-${z(t.getMonth() + 1)}-${z(t.getDate())} ${z(t.getHours())}:${z(t.getMinutes())}:${z(t.getSeconds())}`;
376
- }
377
- function ie({ color: e, value: t, name: c, unit: i, inactive: r }) {
378
- return /* @__PURE__ */ C("div", { className: "inline-flex flex-col gap-2 min-w-42 py-2", children: [
379
- /* @__PURE__ */ C("div", { className: "flex items-center gap-2", children: [
380
- /* @__PURE__ */ w(
381
- "span",
382
- {
383
- className: L("size-2 rounded-full inline-block", {
384
- "opacity-50": r
385
- }),
386
- style: { backgroundColor: e }
387
- }
388
- ),
389
- /* @__PURE__ */ w("span", { className: L("text-xs", { "opacity-50": r }), children: c })
390
- ] }),
391
- /* @__PURE__ */ C("div", { className: "flex items-baseline gap-0.5", children: [
392
- /* @__PURE__ */ w(
393
- "span",
394
- {
395
- className: L("text-lg font-medium leading-none", {
396
- "opacity-50": r
397
- }),
398
- children: t
399
- }
400
- ),
401
- i && /* @__PURE__ */ w(
402
- "span",
403
- {
404
- className: L("text-xs text-kumo-subtle leading-none", {
405
- "opacity-50": r
406
- }),
407
- children: i
408
- }
409
- )
410
- ] })
411
- ] });
412
- }
413
- function ue({ color: e, value: t, name: c, inactive: i }) {
414
- return /* @__PURE__ */ C("div", { className: "inline-flex items-center gap-2", children: [
415
- /* @__PURE__ */ w(
416
- "span",
417
- {
418
- className: L("size-2 rounded-full inline-block", {
419
- "opacity-50": i
420
- }),
421
- style: { backgroundColor: e }
422
- }
423
- ),
424
- /* @__PURE__ */ w("span", { className: L("text-xs", { "opacity-50": i }), children: c }),
425
- /* @__PURE__ */ w("span", { className: L("text-xs font-medium", { "opacity-50": i }), children: t })
426
- ] });
427
- }
428
- const ye = {
429
- SmallItem: ue,
430
- LargeItem: ie
431
- }, de = (e) => e.toLocaleString();
432
- function fe(e) {
433
- return typeof e == "object" && e !== null;
434
- }
435
- const W = (e) => e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;"), Q = (e) => e.replace(/[{}|]/g, (t) => `\\${t}`), V = (e) => {
436
- const t = "#666";
437
- return !e || typeof e != "string" ? t : /^#(?:[0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(e) || /^rgba?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*(?:,\s*[\d.]+\s*)?\)$/i.test(
438
- e
439
- ) || /^hsla?\(\s*\d{1,3}\s*,\s*\d{1,3}%\s*,\s*\d{1,3}%\s*(?:,\s*[\d.]+\s*)?\)$/i.test(
440
- e
441
- ) || /^[a-z]{3,20}$/i.test(e) ? e : t;
442
- };
443
- function pe({
444
- echarts: e,
445
- nodes: t,
446
- links: c,
447
- height: i = 400,
448
- nodeWidth: r = 8,
449
- nodePadding: s = 10,
450
- showTooltip: d = !0,
451
- showNodeValues: h,
452
- formatValue: p = de,
453
- tooltipFormatter: f,
454
- defaultNodeColor: N,
455
- linkColor: S = "gradient",
456
- linkOpacity: E = 0.5,
457
- className: F,
458
- isDarkMode: u,
459
- onNodeClick: b,
460
- onLinkClick: l
461
- }) {
462
- const A = t.some((y) => y.value !== void 0), B = h ?? A, R = q(() => {
463
- const y = j.text("primary", u), v = j.text("secondary", u), g = new Map(t.map((n) => [n.name, n])), I = t.map((n, a) => ({
464
- name: n.name,
465
- value: n.value,
466
- itemStyle: {
467
- color: n.color ?? N ?? j.categorical(a, u)
468
- }
469
- })), o = c.map((n) => ({
470
- source: t[n.source]?.name ?? "",
471
- target: t[n.target]?.name ?? "",
472
- value: n.value
473
- }));
474
- return {
475
- animation: !0,
476
- animationDuration: 500,
477
- animationDurationUpdate: 300,
478
- animationEasingUpdate: "cubicInOut",
479
- tooltip: d ? {
480
- trigger: "item",
481
- triggerOn: "mousemove",
482
- dangerousHtmlFormatter: (n) => {
483
- if (!fe(n)) return "";
484
- if (n.dataType === "node" && n.name) {
485
- const a = g.get(n.name), m = V(
486
- a?.color ?? n.color ?? "#666"
487
- );
488
- if (f)
489
- return f({
490
- type: "node",
491
- name: n.name,
492
- node: a,
493
- color: m
494
- });
495
- const x = W(n.name);
496
- return `<div style="display:flex;align-items:center;gap:6px;"><span style="display:inline-block;width:10px;height:10px;border-radius:50%;background:${m}"></span><strong>${x}</strong></div>`;
497
- }
498
- if (n.dataType === "edge" && n.data) {
499
- const { source: a, target: m, value: x } = n.data;
500
- if (f)
501
- return f({
502
- type: "link",
503
- name: `${a} → ${m}`,
504
- link: {
505
- source: a ?? "",
506
- target: m ?? "",
507
- value: x ?? 0
508
- }
509
- });
510
- const $ = g.get(a ?? ""), O = g.get(m ?? ""), _ = V($?.color ?? "#666"), T = V(O?.color ?? "#666"), k = W(a ?? ""), G = W(m ?? "");
511
- return `<div style="display:flex;align-items:center;gap:6px;margin-bottom:4px;">
512
- <span style="display:inline-block;width:10px;height:10px;border-radius:50%;background:${_}"></span>
513
- <strong>${k}</strong>
514
- <span style="color:${v}">→</span>
515
- <span style="display:inline-block;width:10px;height:10px;border-radius:50%;background:${T}"></span>
516
- <strong>${G}</strong>
517
- </div>
518
- <strong>${x !== void 0 ? W(p(x)) : ""}</strong>`;
519
- }
520
- return "";
521
- }
522
- } : void 0,
523
- series: [
524
- {
525
- type: "sankey",
526
- data: I,
527
- links: o,
528
- draggable: !1,
529
- emphasis: {
530
- focus: "adjacency"
531
- },
532
- nodeWidth: r,
533
- nodeGap: s,
534
- lineStyle: {
535
- color: S === "gradient" ? "source" : "#d1d5db",
536
- opacity: S === "gradient" ? E : 0.4,
537
- curveness: 0.5
538
- },
539
- label: {
540
- show: !0,
541
- color: y,
542
- fontSize: 12,
543
- formatter: B ? (n) => {
544
- const a = n.name ?? "", m = g.get(a), x = Q(a);
545
- return m?.value !== void 0 ? `{value|${Q(p(m.value))}}
546
- {name|${x}}` : x;
547
- } : void 0,
548
- rich: B ? {
549
- value: {
550
- fontSize: 11,
551
- color: y,
552
- lineHeight: 16
553
- },
554
- name: {
555
- fontSize: 12,
556
- color: y,
557
- fontWeight: 700
558
- }
559
- } : void 0
560
- }
561
- }
562
- ]
563
- };
564
- }, [
565
- t,
566
- c,
567
- d,
568
- r,
569
- s,
570
- N,
571
- u,
572
- S,
573
- E,
574
- B,
575
- p,
576
- f
577
- ]), H = re(
578
- (y) => {
579
- if (y.dataType === "node" && b && y.name) {
580
- const v = t.findIndex((o) => o.name === y.name), I = {
581
- ...v >= 0 ? t[v] : null,
582
- name: y.name
583
- };
584
- b(I);
585
- } else if (y.dataType === "edge" && l && y.data) {
586
- const v = y.data, g = typeof v == "object" && v !== null && "source" in v ? String(v.source) : "", I = typeof v == "object" && v !== null && "target" in v ? String(v.target) : "", o = t.findIndex(($) => $.name === g), n = t.findIndex(($) => $.name === I);
587
- if (o === -1 || n === -1) return;
588
- const a = y.value, m = typeof a == "number" ? a : Array.isArray(a) && typeof a[0] == "number" ? a[0] : 0, x = c.find(
589
- ($) => $.source === o && $.target === n
590
- );
591
- l({
592
- ...x,
593
- source: o,
594
- target: n,
595
- value: m
596
- });
597
- }
598
- },
599
- [t, c, b, l]
600
- ), P = q(
601
- () => ({
602
- click: H
603
- }),
604
- [H]
605
- );
606
- return /* @__PURE__ */ w(
607
- K,
608
- {
609
- echarts: e,
610
- options: R,
611
- className: F,
612
- isDarkMode: u,
613
- height: i,
614
- onEvents: P
615
- }
616
- );
617
- }
618
- pe.displayName = "SankeyChart";
619
- export {
620
- K as C,
621
- pe as S,
622
- be as T,
623
- ye as a,
624
- j as b
625
- };
626
- //# sourceMappingURL=SankeyChart-i4vgcatj89zpgpl9.js.map