@carto/ps-react-ui 6.1.0 → 6.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 (72) hide show
  1. package/dist/{actions-BWlS5tpP.js → actions-CueYrfVr.js} +2 -2
  2. package/dist/actions-CueYrfVr.js.map +1 -0
  3. package/dist/category-DULnoxvk.js +933 -0
  4. package/dist/category-DULnoxvk.js.map +1 -0
  5. package/dist/chat.js +1 -1
  6. package/dist/chat.js.map +1 -1
  7. package/dist/components-CTUpdQuj.js.map +1 -1
  8. package/dist/download-B4sykOFm.js.map +1 -1
  9. package/dist/{echart-CV8F50gn.js → echart-ysYFLa_T.js} +2 -2
  10. package/dist/echart-ysYFLa_T.js.map +1 -0
  11. package/dist/formula-DJS-JLpk.js.map +1 -1
  12. package/dist/legend.js.map +1 -1
  13. package/dist/{markdown-Bn2nKCbn.js → markdown-DmvLi3vx.js} +2 -2
  14. package/dist/markdown-DmvLi3vx.js.map +1 -0
  15. package/dist/{markdown-content-kYNLOX0T.js → markdown-content-BpAH_V6S.js} +5 -4
  16. package/dist/markdown-content-BpAH_V6S.js.map +1 -0
  17. package/dist/option-builders-DQivvvbb.js.map +1 -1
  18. package/dist/range-BpU2zBmq.js.map +1 -1
  19. package/dist/smart-tooltip-Dc_rHhyI.js.map +1 -1
  20. package/dist/spread-CQwFIwuz.js.map +1 -1
  21. package/dist/stores-DcBOZlU3.js.map +1 -1
  22. package/dist/stores-mad-9yFn.js.map +1 -1
  23. package/dist/styles-BCEBm7xh.js.map +1 -1
  24. package/dist/table-DEdW_fDj.js.map +1 -1
  25. package/dist/types/widgets/category/category-ui.d.ts +10 -2
  26. package/dist/types/widgets/category/category.d.ts +7 -1
  27. package/dist/types/widgets/category/components/category-bar-stacked.d.ts +8 -1
  28. package/dist/types/widgets/category/components/category-bar.d.ts +24 -2
  29. package/dist/types/widgets/category/components/category-row-multi.d.ts +3 -1
  30. package/dist/types/widgets/category/components/category-row-single.d.ts +3 -1
  31. package/dist/types/widgets/category/components/category-row-stacked.d.ts +10 -1
  32. package/dist/types/widgets/category/style.d.ts +33 -6
  33. package/dist/types/widgets/wrapper/style.d.ts +31 -2
  34. package/dist/types/widgets/wrapper/widget-actions.d.ts +2 -2
  35. package/dist/types/widgets/wrapper/widget-wrapper.d.ts +2 -2
  36. package/dist/utils-C-eWwOhE.js.map +1 -1
  37. package/dist/widgets/actions.js +1 -1
  38. package/dist/widgets/bar.js.map +1 -1
  39. package/dist/widgets/category.js +1 -1
  40. package/dist/widgets/echart.js +1 -1
  41. package/dist/widgets/histogram.js.map +1 -1
  42. package/dist/widgets/markdown.js +2 -2
  43. package/dist/widgets/pie.js +2 -2
  44. package/dist/widgets/pie.js.map +1 -1
  45. package/dist/widgets/scatterplot.js.map +1 -1
  46. package/dist/widgets/timeseries.js.map +1 -1
  47. package/dist/widgets.js +344 -297
  48. package/dist/widgets.js.map +1 -1
  49. package/dist/zoom-toggle-MmLjMTEw.js.map +1 -1
  50. package/package.json +2 -2
  51. package/src/widgets/category/category-ui.test.tsx +139 -0
  52. package/src/widgets/category/category-ui.tsx +64 -11
  53. package/src/widgets/category/category.test.tsx +67 -0
  54. package/src/widgets/category/category.tsx +32 -15
  55. package/src/widgets/category/components/category-bar-stacked.test.tsx +18 -0
  56. package/src/widgets/category/components/category-bar-stacked.tsx +42 -29
  57. package/src/widgets/category/components/category-bar.test.tsx +66 -0
  58. package/src/widgets/category/components/category-bar.tsx +65 -9
  59. package/src/widgets/category/components/category-row-multi.tsx +21 -0
  60. package/src/widgets/category/components/category-row-single.tsx +4 -0
  61. package/src/widgets/category/components/category-row-stacked.tsx +24 -1
  62. package/src/widgets/category/style.ts +58 -14
  63. package/src/widgets/wrapper/style.ts +38 -2
  64. package/src/widgets/wrapper/widget-actions.tsx +2 -2
  65. package/src/widgets/wrapper/widget-wrapper.test.tsx +32 -2
  66. package/src/widgets/wrapper/widget-wrapper.tsx +62 -36
  67. package/dist/actions-BWlS5tpP.js.map +0 -1
  68. package/dist/category-alzjKzvQ.js +0 -839
  69. package/dist/category-alzjKzvQ.js.map +0 -1
  70. package/dist/echart-CV8F50gn.js.map +0 -1
  71. package/dist/markdown-Bn2nKCbn.js.map +0 -1
  72. package/dist/markdown-content-kYNLOX0T.js.map +0 -1
@@ -1,839 +0,0 @@
1
- import "./components-CTUpdQuj.js";
2
- import { n as e } from "./smart-tooltip-Dc_rHhyI.js";
3
- import { C as t, D as n, S as r, p as i } from "./stores-DcBOZlU3.js";
4
- import { n as a, t as o } from "./download-B4sykOFm.js";
5
- import { t as s } from "./utils-C-eWwOhE.js";
6
- import { c } from "react/compiler-runtime";
7
- import { useRef as l, useState as u } from "react";
8
- import { Box as d, Skeleton as f, Typography as p, useTheme as m } from "@mui/material";
9
- import { jsx as h, jsxs as g } from "react/jsx-runtime";
10
- var _ = {
11
- root: {
12
- display: "flex",
13
- flexDirection: "column",
14
- position: "relative",
15
- width: "100%"
16
- },
17
- list: {
18
- display: "flex",
19
- flexDirection: "column",
20
- gap: 1,
21
- py: .5
22
- },
23
- listScroll: { pr: 1 },
24
- rowSingle: {
25
- display: "flex",
26
- flexDirection: "column",
27
- gap: .5,
28
- cursor: "pointer",
29
- userSelect: "none",
30
- transition: "background-color 80ms ease",
31
- "&:hover [data-bar-fill=\"true\"]": { filter: "brightness(1.2)" },
32
- "&:focus-visible": {
33
- outline: "2px solid",
34
- outlineColor: "primary.main",
35
- outlineOffset: -2
36
- }
37
- },
38
- rowHeader: {
39
- display: "flex",
40
- justifyContent: "space-between",
41
- alignItems: "center",
42
- gap: 1
43
- },
44
- rowMulti: {
45
- display: "flex",
46
- flexDirection: "column",
47
- gap: .5,
48
- cursor: "pointer",
49
- userSelect: "none",
50
- transition: "background-color 80ms ease",
51
- "&:hover [data-bar-fill=\"true\"]": { filter: "brightness(1.2)" },
52
- "&:focus-visible": {
53
- outline: "2px solid",
54
- outlineColor: "primary.main",
55
- outlineOffset: -2
56
- }
57
- },
58
- name: {
59
- overflow: "hidden",
60
- whiteSpace: "nowrap",
61
- textOverflow: "ellipsis",
62
- color: "text.primary",
63
- fontWeight: "medium"
64
- },
65
- multiName: {
66
- overflow: "hidden",
67
- whiteSpace: "nowrap",
68
- textOverflow: "ellipsis",
69
- color: "text.primary",
70
- fontWeight: "medium"
71
- },
72
- value: {
73
- color: "text.secondary",
74
- fontVariantNumeric: "tabular-nums",
75
- minWidth: 48,
76
- textAlign: "right"
77
- },
78
- bar: {
79
- small: {
80
- position: "relative",
81
- height: 4,
82
- bgcolor: "action.hover",
83
- borderRadius: 1,
84
- overflow: "hidden",
85
- transition: "background-color 150ms ease"
86
- },
87
- medium: {
88
- position: "relative",
89
- height: 12,
90
- bgcolor: "action.hover",
91
- borderRadius: .25,
92
- overflow: "hidden",
93
- transition: "background-color 150ms ease"
94
- }
95
- },
96
- barFill: {
97
- small: {
98
- position: "absolute",
99
- inset: "0 auto 0 0",
100
- borderRadius: 1,
101
- transition: "width 300ms ease-in-out, background-color 150ms ease, filter 150ms ease"
102
- },
103
- medium: {
104
- position: "absolute",
105
- inset: "0 auto 0 0",
106
- borderRadius: .25,
107
- transition: "width 300ms ease-in-out, background-color 150ms ease, filter 150ms ease"
108
- }
109
- },
110
- stackedSegment: {
111
- small: {
112
- position: "absolute",
113
- top: 0,
114
- bottom: 0,
115
- transition: "left 300ms ease-in-out, width 300ms ease-in-out, background-color 150ms ease, filter 150ms ease"
116
- },
117
- medium: {
118
- position: "absolute",
119
- top: 0,
120
- bottom: 0,
121
- transition: "left 300ms ease-in-out, width 300ms ease-in-out, background-color 150ms ease, filter 150ms ease"
122
- }
123
- },
124
- multiBarRow: {
125
- display: "flex",
126
- alignItems: "center",
127
- gap: 1
128
- },
129
- multiBarContainer: { flex: 1 },
130
- rowStacked: {
131
- display: "flex",
132
- flexDirection: "column",
133
- gap: .5,
134
- cursor: "pointer",
135
- userSelect: "none",
136
- transition: "background-color 80ms ease",
137
- "&:hover [data-bar-fill=\"true\"]": { filter: "brightness(1.2)" },
138
- "&:focus-visible": {
139
- outline: "2px solid",
140
- outlineColor: "primary.main",
141
- outlineOffset: -2
142
- }
143
- },
144
- stackedHeader: {
145
- display: "flex",
146
- justifyContent: "space-between",
147
- alignItems: "center",
148
- gap: 1
149
- },
150
- stackedTotal: {
151
- color: "text.primary",
152
- fontWeight: "medium",
153
- fontVariantNumeric: "tabular-nums",
154
- minWidth: 48,
155
- textAlign: "right"
156
- },
157
- stackedBreakdown: {
158
- display: "flex",
159
- flexWrap: "wrap",
160
- columnGap: 2,
161
- rowGap: .25
162
- },
163
- stackedBreakdownItem: {
164
- color: "text.secondary",
165
- fontVariantNumeric: "tabular-nums"
166
- },
167
- legend: {
168
- display: "flex",
169
- alignItems: "center",
170
- gap: 2,
171
- flexWrap: "wrap",
172
- pt: 2,
173
- mt: 2,
174
- position: "sticky",
175
- bottom: 0,
176
- bgcolor: "background.paper",
177
- borderTop: (e) => `1px solid ${e.palette.divider}`
178
- },
179
- legendItem: {
180
- display: "flex",
181
- alignItems: "center",
182
- gap: 1,
183
- cursor: "pointer"
184
- },
185
- legendItemHidden: {
186
- display: "flex",
187
- alignItems: "center",
188
- gap: 1,
189
- cursor: "pointer",
190
- opacity: .5
191
- },
192
- legendDot: {
193
- width: 14,
194
- height: 14,
195
- borderRadius: "50%"
196
- },
197
- legendLabel: {
198
- color: "text.secondary",
199
- textTransform: "uppercase",
200
- fontWeight: "medium"
201
- },
202
- otherRow: {
203
- display: "flex",
204
- alignItems: "center",
205
- gap: 1,
206
- py: .5,
207
- px: .5
208
- },
209
- otherLabelButton: {
210
- cursor: "pointer",
211
- userSelect: "none",
212
- borderRadius: 1,
213
- px: .5,
214
- ml: -.5,
215
- transition: "background-color 80ms ease",
216
- "&:hover": { bgcolor: "action.hover" },
217
- "&:focus-visible": {
218
- outline: "2px solid",
219
- outlineColor: "primary.main",
220
- outlineOffset: 2
221
- }
222
- },
223
- otherLabel: {
224
- color: "text.primary",
225
- fontWeight: "medium"
226
- },
227
- otherCount: {
228
- color: "text.secondary",
229
- fontVariantNumeric: "tabular-nums"
230
- }
231
- };
232
- //#endregion
233
- //#region src/widgets/category/components/category-bar.tsx
234
- function v(e) {
235
- let t = c(10), { value: n, maxValue: r, color: i, size: a } = e, o = a === void 0 ? "small" : a, s = r > 0 ? n / r * 100 : 0, l = _.bar[o], u = _.barFill[o], f = `${s}%`, p;
236
- t[0] !== i || t[1] !== f ? (p = {
237
- width: f,
238
- backgroundColor: i
239
- }, t[0] = i, t[1] = f, t[2] = p) : p = t[2];
240
- let m;
241
- t[3] !== u || t[4] !== p ? (m = /* @__PURE__ */ h(d, {
242
- sx: u,
243
- style: p,
244
- "data-bar-fill": "true"
245
- }), t[3] = u, t[4] = p, t[5] = m) : m = t[5];
246
- let g;
247
- return t[6] !== o || t[7] !== l || t[8] !== m ? (g = /* @__PURE__ */ h(d, {
248
- sx: l,
249
- "data-size": o,
250
- children: m
251
- }), t[6] = o, t[7] = l, t[8] = m, t[9] = g) : g = t[9], g;
252
- }
253
- //#endregion
254
- //#region src/widgets/category/components/category-row-single.tsx
255
- function y(e) {
256
- let t = c(27), { name: n, displayName: r, value: i, maxValue: a, color: o, formatter: s, selected: l, onToggle: u, size: f } = e, m;
257
- t[0] !== n || t[1] !== u ? (m = (e) => {
258
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), u(n));
259
- }, t[0] = n, t[1] = u, t[2] = m) : m = t[2];
260
- let y = m, b;
261
- t[3] !== n || t[4] !== u ? (b = () => u(n), t[3] = n, t[4] = u, t[5] = b) : b = t[5];
262
- let x = r ?? n, S;
263
- t[6] === x ? S = t[7] : (S = /* @__PURE__ */ h(p, {
264
- variant: "body2",
265
- sx: _.name,
266
- children: x
267
- }), t[6] = x, t[7] = S);
268
- let C;
269
- t[8] !== s || t[9] !== i ? (C = s(i), t[8] = s, t[9] = i, t[10] = C) : C = t[10];
270
- let w;
271
- t[11] === C ? w = t[12] : (w = /* @__PURE__ */ h(p, {
272
- variant: "body2",
273
- sx: _.value,
274
- children: C
275
- }), t[11] = C, t[12] = w);
276
- let T;
277
- t[13] !== S || t[14] !== w ? (T = /* @__PURE__ */ g(d, {
278
- sx: _.rowHeader,
279
- children: [S, w]
280
- }), t[13] = S, t[14] = w, t[15] = T) : T = t[15];
281
- let E;
282
- t[16] !== o || t[17] !== a || t[18] !== f || t[19] !== i ? (E = /* @__PURE__ */ h(v, {
283
- value: i,
284
- maxValue: a,
285
- color: o,
286
- size: f
287
- }), t[16] = o, t[17] = a, t[18] = f, t[19] = i, t[20] = E) : E = t[20];
288
- let D;
289
- return t[21] !== y || t[22] !== l || t[23] !== b || t[24] !== T || t[25] !== E ? (D = /* @__PURE__ */ g(d, {
290
- role: "button",
291
- "aria-pressed": l,
292
- tabIndex: 0,
293
- onClick: b,
294
- onKeyDown: y,
295
- sx: _.rowSingle,
296
- children: [T, E]
297
- }), t[21] = y, t[22] = l, t[23] = b, t[24] = T, t[25] = E, t[26] = D) : D = t[26], D;
298
- }
299
- //#endregion
300
- //#region src/widgets/category/components/category-row-multi.tsx
301
- function b(e) {
302
- let t = c(27), { name: n, displayName: r, values: i, colors: a, maxValue: o, formatter: s, selected: l, onToggle: u, size: f } = e, m;
303
- t[0] !== n || t[1] !== u ? (m = (e) => {
304
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), u(n));
305
- }, t[0] = n, t[1] = u, t[2] = m) : m = t[2];
306
- let y = m, b;
307
- t[3] !== n || t[4] !== u ? (b = () => u(n), t[3] = n, t[4] = u, t[5] = b) : b = t[5];
308
- let x = r ?? n, S;
309
- t[6] === x ? S = t[7] : (S = /* @__PURE__ */ h(p, {
310
- variant: "body2",
311
- sx: _.multiName,
312
- children: x
313
- }), t[6] = x, t[7] = S);
314
- let C;
315
- if (t[8] !== a || t[9] !== s || t[10] !== o || t[11] !== n || t[12] !== f || t[13] !== i) {
316
- let e;
317
- t[15] !== a || t[16] !== s || t[17] !== o || t[18] !== n || t[19] !== f ? (e = (e, t) => /* @__PURE__ */ g(d, {
318
- sx: _.multiBarRow,
319
- children: [/* @__PURE__ */ h(d, {
320
- sx: _.multiBarContainer,
321
- children: /* @__PURE__ */ h(v, {
322
- value: e,
323
- maxValue: o,
324
- color: a[t] ?? "",
325
- size: f
326
- })
327
- }), /* @__PURE__ */ h(p, {
328
- variant: "body2",
329
- sx: _.value,
330
- children: s(e)
331
- })]
332
- }, `${n}-series-${t}`), t[15] = a, t[16] = s, t[17] = o, t[18] = n, t[19] = f, t[20] = e) : e = t[20], C = i.map(e), t[8] = a, t[9] = s, t[10] = o, t[11] = n, t[12] = f, t[13] = i, t[14] = C;
333
- } else C = t[14];
334
- let w;
335
- return t[21] !== y || t[22] !== l || t[23] !== b || t[24] !== S || t[25] !== C ? (w = /* @__PURE__ */ g(d, {
336
- role: "button",
337
- "aria-pressed": l,
338
- tabIndex: 0,
339
- onClick: b,
340
- onKeyDown: y,
341
- sx: _.rowMulti,
342
- children: [S, C]
343
- }), t[21] = y, t[22] = l, t[23] = b, t[24] = S, t[25] = C, t[26] = w) : w = t[26], w;
344
- }
345
- //#endregion
346
- //#region src/widgets/category/components/category-bar-stacked.tsx
347
- function x(e) {
348
- let t = c(17), { values: n, colors: r, maxValue: i, size: a } = e, o = a === void 0 ? "small" : a, s;
349
- if (t[0] !== n) {
350
- s = [];
351
- let e = 0;
352
- for (let t of n) s.push(e), e += t;
353
- t[0] = n, t[1] = s;
354
- } else s = t[1];
355
- let l = _.bar[o], u;
356
- if (t[2] !== r || t[3] !== i || t[4] !== s || t[5] !== o || t[6] !== n) {
357
- let e;
358
- t[8] !== r || t[9] !== i || t[10] !== s || t[11] !== o ? (e = (e, t) => {
359
- if (e <= 0) return null;
360
- let n = i > 0 ? s[t] / i * 100 : 0, a = i > 0 ? e / i * 100 : 0;
361
- return /* @__PURE__ */ h(d, {
362
- sx: _.stackedSegment[o],
363
- style: {
364
- left: `${n}%`,
365
- width: `${a}%`,
366
- backgroundColor: r[t] ?? ""
367
- },
368
- "data-bar-fill": "true"
369
- }, `seg-${r[t] ?? "none"}-${t}`);
370
- }, t[8] = r, t[9] = i, t[10] = s, t[11] = o, t[12] = e) : e = t[12], u = n.map(e), t[2] = r, t[3] = i, t[4] = s, t[5] = o, t[6] = n, t[7] = u;
371
- } else u = t[7];
372
- let f;
373
- return t[13] !== o || t[14] !== l || t[15] !== u ? (f = /* @__PURE__ */ h(d, {
374
- sx: l,
375
- "data-size": o,
376
- children: u
377
- }), t[13] = o, t[14] = l, t[15] = u, t[16] = f) : f = t[16], f;
378
- }
379
- //#endregion
380
- //#region src/widgets/category/components/category-row-stacked.tsx
381
- function S(e) {
382
- let t = c(65), { name: n, displayName: r, values: i, colors: a, seriesNames: o, formatter: s, selected: l, onToggle: u, size: f } = e, m;
383
- t[0] !== n || t[1] !== u ? (m = (e) => {
384
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), u(n));
385
- }, t[0] = n, t[1] = u, t[2] = m) : m = t[2];
386
- let v = m, y, b, S, w, T, E, D, O, k, A, j, M, N, P, F;
387
- if (t[3] !== r || t[4] !== s || t[5] !== v || t[6] !== n || t[7] !== u || t[8] !== l || t[9] !== i) {
388
- F = i.reduce(C, 0), S = d, M = "button", N = l, P = 0, t[25] !== n || t[26] !== u ? (w = () => u(n), t[25] = n, t[26] = u, t[27] = w) : w = t[27], T = v, E = _.rowStacked, b = d, A = _.stackedHeader;
389
- let e = r ?? n;
390
- t[28] === e ? j = t[29] : (j = /* @__PURE__ */ h(p, {
391
- variant: "body2",
392
- sx: _.multiName,
393
- children: e
394
- }), t[28] = e, t[29] = j), y = p, D = "body2", O = _.stackedTotal, k = s(F), t[3] = r, t[4] = s, t[5] = v, t[6] = n, t[7] = u, t[8] = l, t[9] = i, t[10] = y, t[11] = b, t[12] = S, t[13] = w, t[14] = T, t[15] = E, t[16] = D, t[17] = O, t[18] = k, t[19] = A, t[20] = j, t[21] = M, t[22] = N, t[23] = P, t[24] = F;
395
- } else y = t[10], b = t[11], S = t[12], w = t[13], T = t[14], E = t[15], D = t[16], O = t[17], k = t[18], A = t[19], j = t[20], M = t[21], N = t[22], P = t[23], F = t[24];
396
- let I;
397
- t[30] !== y || t[31] !== D || t[32] !== O || t[33] !== k ? (I = /* @__PURE__ */ h(y, {
398
- variant: D,
399
- sx: O,
400
- children: k
401
- }), t[30] = y, t[31] = D, t[32] = O, t[33] = k, t[34] = I) : I = t[34];
402
- let L;
403
- t[35] !== b || t[36] !== I || t[37] !== A || t[38] !== j ? (L = /* @__PURE__ */ g(b, {
404
- sx: A,
405
- children: [j, I]
406
- }), t[35] = b, t[36] = I, t[37] = A, t[38] = j, t[39] = L) : L = t[39];
407
- let R;
408
- t[40] !== a || t[41] !== f || t[42] !== F || t[43] !== i ? (R = /* @__PURE__ */ h(x, {
409
- values: i,
410
- colors: a,
411
- maxValue: F,
412
- size: f
413
- }), t[40] = a, t[41] = f, t[42] = F, t[43] = i, t[44] = R) : R = t[44];
414
- let z;
415
- if (t[45] !== s || t[46] !== o || t[47] !== i) {
416
- let e;
417
- t[49] !== s || t[50] !== o ? (e = (e, t) => /* @__PURE__ */ h(p, {
418
- variant: "body2",
419
- sx: _.stackedBreakdownItem,
420
- children: `${o[t]}: ${s(e)}`
421
- }, `breakdown-${o[t]}`), t[49] = s, t[50] = o, t[51] = e) : e = t[51], z = i.map(e), t[45] = s, t[46] = o, t[47] = i, t[48] = z;
422
- } else z = t[48];
423
- let B;
424
- t[52] === z ? B = t[53] : (B = /* @__PURE__ */ h(d, {
425
- sx: _.stackedBreakdown,
426
- children: z
427
- }), t[52] = z, t[53] = B);
428
- let V;
429
- return t[54] !== S || t[55] !== w || t[56] !== T || t[57] !== E || t[58] !== L || t[59] !== R || t[60] !== B || t[61] !== M || t[62] !== N || t[63] !== P ? (V = /* @__PURE__ */ g(S, {
430
- role: M,
431
- "aria-pressed": N,
432
- tabIndex: P,
433
- onClick: w,
434
- onKeyDown: T,
435
- sx: E,
436
- children: [
437
- L,
438
- R,
439
- B
440
- ]
441
- }), t[54] = S, t[55] = w, t[56] = T, t[57] = E, t[58] = L, t[59] = R, t[60] = B, t[61] = M, t[62] = N, t[63] = P, t[64] = V) : V = t[64], V;
442
- }
443
- function C(e, t) {
444
- return e + t;
445
- }
446
- //#endregion
447
- //#region src/widgets/category/components/category-row-other.tsx
448
- function w(t) {
449
- let n = c(23), { hiddenCount: r, otherLabel: i, otherCountLabel: a, onShowAll: o, showAllLabel: s } = t, l = i === void 0 ? "Others" : i, u = a === void 0 ? "{count}" : a, f = s === void 0 ? "Show all" : s, m;
450
- n[0] !== r || n[1] !== u ? (m = u.replace("{count}", String(r)), n[0] = r, n[1] = u, n[2] = m) : m = n[2];
451
- let v = m, y;
452
- n[3] === v ? y = n[4] : (y = /* @__PURE__ */ h(p, {
453
- variant: "body2",
454
- sx: _.otherCount,
455
- children: v
456
- }), n[3] = v, n[4] = y);
457
- let b = y;
458
- if (!o) {
459
- let e;
460
- n[5] === l ? e = n[6] : (e = /* @__PURE__ */ h(p, {
461
- variant: "body2",
462
- sx: _.otherLabel,
463
- children: l
464
- }), n[5] = l, n[6] = e);
465
- let t;
466
- return n[7] !== b || n[8] !== e ? (t = /* @__PURE__ */ g(d, {
467
- sx: _.otherRow,
468
- children: [e, b]
469
- }), n[7] = b, n[8] = e, n[9] = t) : t = n[9], t;
470
- }
471
- let x;
472
- n[10] === o ? x = n[11] : (x = (e) => {
473
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), o());
474
- }, n[10] = o, n[11] = x);
475
- let S = x, C;
476
- n[12] === Symbol.for("react.memo_cache_sentinel") ? (C = {
477
- ..._.otherLabel,
478
- ..._.otherLabelButton
479
- }, n[12] = C) : C = n[12];
480
- let w;
481
- n[13] !== S || n[14] !== o || n[15] !== l ? (w = /* @__PURE__ */ h(p, {
482
- variant: "body2",
483
- component: "span",
484
- role: "button",
485
- tabIndex: 0,
486
- onClick: o,
487
- onKeyDown: S,
488
- sx: C,
489
- children: l
490
- }), n[13] = S, n[14] = o, n[15] = l, n[16] = w) : w = n[16];
491
- let T;
492
- n[17] !== f || n[18] !== w ? (T = /* @__PURE__ */ h(e, {
493
- title: f,
494
- children: w
495
- }), n[17] = f, n[18] = w, n[19] = T) : T = n[19];
496
- let E;
497
- return n[20] !== b || n[21] !== T ? (E = /* @__PURE__ */ g(d, {
498
- sx: _.otherRow,
499
- children: [T, b]
500
- }), n[20] = b, n[21] = T, n[22] = E) : E = n[22], E;
501
- }
502
- //#endregion
503
- //#region src/widgets/category/helpers.ts
504
- var T = /* @__PURE__ */ new Set();
505
- function E(e) {
506
- return JSON.stringify(e?.map((e) => e.name) ?? []);
507
- }
508
- //#endregion
509
- //#region src/widgets/category/components/category-legend.tsx
510
- function D(e) {
511
- let t = c(11), { series: n, colorAt: r, hiddenSeries: i, onToggle: a } = e, o = i === void 0 ? T : i;
512
- if (n.length === 0) return null;
513
- let s;
514
- if (t[0] !== r || t[1] !== o || t[2] !== a || t[3] !== n) {
515
- let e;
516
- t[5] !== r || t[6] !== o || t[7] !== a ? (e = (e, t) => {
517
- let n = o.has(t);
518
- return /* @__PURE__ */ g(d, {
519
- role: "checkbox",
520
- "aria-checked": !n,
521
- tabIndex: 0,
522
- onClick: () => a?.(t),
523
- onKeyDown: (e) => {
524
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), a?.(t));
525
- },
526
- sx: n ? _.legendItemHidden : _.legendItem,
527
- children: [/* @__PURE__ */ h(d, {
528
- sx: _.legendDot,
529
- style: { backgroundColor: r(t) }
530
- }), /* @__PURE__ */ h(p, {
531
- variant: "caption",
532
- sx: _.legendLabel,
533
- children: e.name
534
- })]
535
- }, e.name);
536
- }, t[5] = r, t[6] = o, t[7] = a, t[8] = e) : e = t[8], s = n.map(e), t[0] = r, t[1] = o, t[2] = a, t[3] = n, t[4] = s;
537
- } else s = t[4];
538
- let l;
539
- return t[9] === s ? l = t[10] : (l = /* @__PURE__ */ h(d, {
540
- sx: _.legend,
541
- children: s
542
- }), t[9] = s, t[10] = l), l;
543
- }
544
- //#endregion
545
- //#region src/widgets/category/category-ui.tsx
546
- var O = 20, k = {
547
- small: 36,
548
- medium: 44
549
- }, A = 8;
550
- function j(e, t) {
551
- let n = new Set([...e].filter((e) => e < t));
552
- return n.size >= t ? /* @__PURE__ */ new Set() : n;
553
- }
554
- function M(e) {
555
- if (!e || e.length === 0) return [];
556
- let t = Math.max(e.length, 1), n = /* @__PURE__ */ new Map(), r = [];
557
- for (let i = 0; i < e.length; i++) {
558
- let a = e[i] ?? [];
559
- for (let e of a) {
560
- let a = n.get(e.name);
561
- a || (a = {
562
- name: e.name,
563
- values: Array(t).fill(0),
564
- rowColors: Array(t).fill(void 0)
565
- }, n.set(e.name, a), r.push(e.name)), a.values[i] = e.value, a.rowColors[i] = e.color;
566
- }
567
- }
568
- return r.map((e) => n.get(e));
569
- }
570
- function N(e) {
571
- let t = c(87), { data: n, selection: r, onSelectionChange: i, formatter: a, labelFormatter: o, series: f, maxItems: p, labels: v, onShowAll: x, maxOverride: C, size: T, stacked: N, hiddenSeries: L, onHiddenSeriesChange: R } = e, z = p === void 0 ? O : p, B = T === void 0 ? "small" : T, V = N !== void 0 && N, H = m(), U = a ?? I, ee = !!r && r.length > 0, W;
572
- t[0] === r ? W = t[1] : (W = r ?? [], t[0] = r, t[1] = W);
573
- let te;
574
- t[2] === W ? te = t[3] : (te = new Set(W), t[2] = W, t[3] = te);
575
- let ne = te, re;
576
- t[4] !== i || t[5] !== r ? (re = (e) => {
577
- if (!i) return;
578
- let t = r ?? [], n = t.includes(e) ? t.filter((t) => t !== e) : [...t, e];
579
- i(n);
580
- }, t[4] = i, t[5] = r, t[6] = re) : re = t[6];
581
- let ie = re, ae = H.palette.secondary.main, oe;
582
- t[7] === H.palette ? oe = t[8] : (oe = Object.values(H.palette.qualitative?.bold ?? {}), t[7] = H.palette, t[8] = oe);
583
- let se;
584
- t[9] !== oe || t[10] !== H.palette.secondary.main ? (se = [ae, ...oe], t[9] = oe, t[10] = H.palette.secondary.main, t[11] = se) : se = t[11];
585
- let ce = se, le;
586
- t[12] !== ce || t[13] !== f || t[14] !== H ? (le = (e, t) => {
587
- let n = t ?? f?.[e]?.color;
588
- return n ? s(H, n) ?? n : ce[e % ce.length] ?? H.palette.secondary.main;
589
- }, t[12] = ce, t[13] = f, t[14] = H, t[15] = le) : le = t[15];
590
- let G = le, ue = H.palette.action.disabled, de;
591
- t[16] === n ? de = t[17] : (de = M(n), t[16] = n, t[17] = de);
592
- let K = de, fe;
593
- bb0: {
594
- if (typeof C == "number" && C > 0) {
595
- fe = C;
596
- break bb0;
597
- }
598
- let e = 0;
599
- for (let t of K) for (let n of t.values) n > e && (e = n);
600
- fe = e;
601
- }
602
- let pe = fe, q = z === 0, me = l(!1), [he, ge] = u(null), _e;
603
- t[18] === q ? _e = t[19] : (_e = (e) => {
604
- if (!e || me.current || q) return;
605
- let t = e.clientHeight;
606
- t > 0 && (me.current = !0, ge(t));
607
- }, t[18] = q, t[19] = _e);
608
- let ve = _e, [ye, be] = u(F), xe = L ?? ye, Se;
609
- t[20] === f ? Se = t[21] : (Se = E(f), t[20] = f, t[21] = Se);
610
- let Ce = Se, [we, Te] = u(Ce);
611
- Ce !== we && (Te(Ce), be(/* @__PURE__ */ new Set()));
612
- let J = Math.max(n.length, 1), Ee;
613
- t[22] !== xe || t[23] !== R || t[24] !== J ? (Ee = (e) => {
614
- let t = j(xe, J);
615
- t.has(e) ? t.delete(e) : t.add(e), (R ?? be)(t.size >= J ? /* @__PURE__ */ new Set() : t);
616
- }, t[22] = xe, t[23] = R, t[24] = J, t[25] = Ee) : Ee = t[25];
617
- let De = Ee;
618
- if (K.length === 0) return null;
619
- let Oe;
620
- t[26] === z ? Oe = t[27] : (Oe = typeof z == "number" && Number.isFinite(z) && z > 0, t[26] = z, t[27] = Oe);
621
- let ke = Oe, Ae;
622
- t[28] !== K || t[29] !== ke || t[30] !== z ? (Ae = ke ? K.slice(0, z) : K, t[28] = K, t[29] = ke, t[30] = z, t[31] = Ae) : Ae = t[31];
623
- let je = Ae, Me = ke ? K.length - je.length : 0, Ne = n.length > 1, Pe = Ne && !!f && f.length > 0, Fe, Ie, Y, Le, X, Z, Re, Q;
624
- if (t[32] !== G || t[33] !== ue || t[34] !== U || t[35] !== ee || t[36] !== xe || t[37] !== Ne || t[38] !== o || t[39] !== ve || t[40] !== pe || t[41] !== he || t[42] !== q || t[43] !== ne || t[44] !== f || t[45] !== J || t[46] !== B || t[47] !== V || t[48] !== ie || t[49] !== je) {
625
- Y = j(xe, J);
626
- let e = Array.from({ length: J }, P).filter((e) => !Y.has(e)), n = q ? he ?? k[B] * A : void 0;
627
- Ie = d, Q = _.root, Fe = d, Le = ve, t[58] === q ? X = t[59] : (X = q ? {
628
- ..._.list,
629
- ..._.listScroll
630
- } : _.list, t[58] = q, t[59] = X), t[60] === n ? Z = t[61] : (Z = n === void 0 ? void 0 : {
631
- maxHeight: n,
632
- overflowY: "auto"
633
- }, t[60] = n, t[61] = Z), Re = je.map((t) => {
634
- let n = ne.has(t.name), r = ee && !n, i = o ? o(t.name) : void 0, a = (e) => r ? ue : G(e, t.rowColors[e]);
635
- return Ne ? V ? /* @__PURE__ */ h(S, {
636
- name: t.name,
637
- displayName: i,
638
- values: e.map((e) => t.values[e]),
639
- colors: e.map((e) => a(e)),
640
- seriesNames: e.map((e) => f?.[e]?.name ?? `Series ${e + 1}`),
641
- formatter: U,
642
- selected: n,
643
- onToggle: ie,
644
- size: B
645
- }, String(t.name)) : /* @__PURE__ */ h(b, {
646
- name: t.name,
647
- displayName: i,
648
- values: e.map((e) => t.values[e]),
649
- colors: e.map((e) => a(e)),
650
- maxValue: pe,
651
- formatter: U,
652
- selected: n,
653
- onToggle: ie,
654
- size: B
655
- }, String(t.name)) : /* @__PURE__ */ h(y, {
656
- name: t.name,
657
- displayName: i,
658
- value: t.values[0] ?? 0,
659
- maxValue: pe,
660
- color: a(0),
661
- formatter: U,
662
- selected: n,
663
- onToggle: ie,
664
- size: B
665
- }, String(t.name));
666
- }), t[32] = G, t[33] = ue, t[34] = U, t[35] = ee, t[36] = xe, t[37] = Ne, t[38] = o, t[39] = ve, t[40] = pe, t[41] = he, t[42] = q, t[43] = ne, t[44] = f, t[45] = J, t[46] = B, t[47] = V, t[48] = ie, t[49] = je, t[50] = Fe, t[51] = Ie, t[52] = Y, t[53] = Le, t[54] = X, t[55] = Z, t[56] = Re, t[57] = Q;
667
- } else Fe = t[50], Ie = t[51], Y = t[52], Le = t[53], X = t[54], Z = t[55], Re = t[56], Q = t[57];
668
- let ze;
669
- t[62] !== Me || t[63] !== v?.other || t[64] !== v?.otherCount || t[65] !== v?.showAll || t[66] !== x ? (ze = Me > 0 && /* @__PURE__ */ h(w, {
670
- hiddenCount: Me,
671
- otherLabel: v?.other,
672
- otherCountLabel: v?.otherCount,
673
- showAllLabel: v?.showAll,
674
- onShowAll: x
675
- }), t[62] = Me, t[63] = v?.other, t[64] = v?.otherCount, t[65] = v?.showAll, t[66] = x, t[67] = ze) : ze = t[67];
676
- let Be;
677
- t[68] !== Fe || t[69] !== Le || t[70] !== X || t[71] !== Z || t[72] !== Re || t[73] !== ze ? (Be = /* @__PURE__ */ g(Fe, {
678
- ref: Le,
679
- sx: X,
680
- style: Z,
681
- children: [Re, ze]
682
- }), t[68] = Fe, t[69] = Le, t[70] = X, t[71] = Z, t[72] = Re, t[73] = ze, t[74] = Be) : Be = t[74];
683
- let $;
684
- t[75] !== Y || t[76] !== G || t[77] !== Pe || t[78] !== f || t[79] !== J || t[80] !== De ? ($ = Pe && f && /* @__PURE__ */ h(D, {
685
- series: f.slice(0, J),
686
- colorAt: (e) => G(e),
687
- hiddenSeries: Y,
688
- onToggle: De
689
- }), t[75] = Y, t[76] = G, t[77] = Pe, t[78] = f, t[79] = J, t[80] = De, t[81] = $) : $ = t[81];
690
- let Ve;
691
- return t[82] !== Ie || t[83] !== Q || t[84] !== Be || t[85] !== $ ? (Ve = /* @__PURE__ */ g(Ie, {
692
- sx: Q,
693
- children: [Be, $]
694
- }), t[82] = Ie, t[83] = Q, t[84] = Be, t[85] = $, t[86] = Ve) : Ve = t[86], Ve;
695
- }
696
- function P(e, t) {
697
- return t;
698
- }
699
- function F() {
700
- return /* @__PURE__ */ new Set();
701
- }
702
- function I(e) {
703
- return String(e);
704
- }
705
- //#endregion
706
- //#region src/widgets/category/category.tsx
707
- var L = (e) => ({
708
- data: e.data ?? [],
709
- rawData: e.rawData ?? void 0,
710
- formatter: e.formatter,
711
- labelFormatter: e.labelFormatter
712
- });
713
- function R(e) {
714
- if (!e) return 0;
715
- let t = 0;
716
- for (let n of e) for (let e of n) e.value > t && (t = e.value);
717
- return t;
718
- }
719
- function z(e) {
720
- let a = c(20), { selection: o, onSelectionChange: s, series: l, maxItems: u, labels: d, onShowAll: f, maxOverride: p, size: m, stacked: g } = e, _ = n(), v = t(_, L), y = R(v.rawData), b = p ?? (y > 0 ? y : void 0), x;
721
- a[0] === l ? x = a[1] : (x = E(l), a[0] = l, a[1] = x);
722
- let S = x, C = r(_, B), w = C?.key === S ? C.indices : T, D;
723
- a[2] !== _ || a[3] !== S ? (D = (e) => i(_).setState({ categoryHiddenSeries: {
724
- key: S,
725
- indices: e
726
- } }), a[2] = _, a[3] = S, a[4] = D) : D = a[4];
727
- let O = D, k;
728
- return a[5] !== b || a[6] !== w || a[7] !== d || a[8] !== u || a[9] !== O || a[10] !== s || a[11] !== f || a[12] !== o || a[13] !== l || a[14] !== m || a[15] !== v.data || a[16] !== v.formatter || a[17] !== v.labelFormatter || a[18] !== g ? (k = /* @__PURE__ */ h(N, {
729
- data: v.data,
730
- formatter: v.formatter,
731
- labelFormatter: v.labelFormatter,
732
- selection: o,
733
- onSelectionChange: s,
734
- series: l,
735
- maxItems: u,
736
- labels: d,
737
- onShowAll: f,
738
- maxOverride: b,
739
- size: m,
740
- stacked: g,
741
- hiddenSeries: w,
742
- onHiddenSeriesChange: O
743
- }), a[5] = b, a[6] = w, a[7] = d, a[8] = u, a[9] = O, a[10] = s, a[11] = f, a[12] = o, a[13] = l, a[14] = m, a[15] = v.data, a[16] = v.formatter, a[17] = v.labelFormatter, a[18] = g, a[19] = k) : k = a[19], k;
744
- }
745
- function B(e) {
746
- return e.categoryHiddenSeries;
747
- }
748
- //#endregion
749
- //#region src/widgets/category/skeleton.tsx
750
- var V = {
751
- root: {
752
- display: "flex",
753
- flexDirection: "column",
754
- gap: 1,
755
- py: .5
756
- },
757
- row: {
758
- display: "flex",
759
- flexDirection: "column",
760
- gap: .5
761
- },
762
- rowHeader: {
763
- display: "flex",
764
- justifyContent: "space-between",
765
- alignItems: "center",
766
- gap: 1
767
- },
768
- name: {
769
- height: 14,
770
- width: 80
771
- },
772
- value: {
773
- height: 14,
774
- width: 48
775
- }
776
- }, H = {
777
- small: 4,
778
- medium: 12
779
- }, U = [
780
- "95%",
781
- "80%",
782
- "55%",
783
- "75%",
784
- "60%"
785
- ];
786
- function ee(e) {
787
- let t = c(5), { rows: n, size: r } = e, i = n === void 0 ? 5 : n, a = r === void 0 ? "small" : r, o;
788
- t[0] === i ? o = t[1] : (o = Array.from({ length: i }), t[0] = i, t[1] = o);
789
- let s;
790
- return t[2] !== a || t[3] !== o ? (s = /* @__PURE__ */ h(d, {
791
- sx: V.root,
792
- children: o.map((e, t) => /* @__PURE__ */ g(d, {
793
- sx: V.row,
794
- children: [/* @__PURE__ */ g(d, {
795
- sx: V.rowHeader,
796
- children: [/* @__PURE__ */ h(f, {
797
- variant: "rectangular",
798
- sx: V.name
799
- }), /* @__PURE__ */ h(f, {
800
- variant: "rectangular",
801
- sx: V.value
802
- })]
803
- }), /* @__PURE__ */ h(f, {
804
- variant: "rectangular",
805
- sx: {
806
- height: H[a],
807
- width: U[t % U.length]
808
- }
809
- })]
810
- }, `row-${t}`))
811
- }), t[2] = a, t[3] = o, t[4] = s) : s = t[4], s;
812
- }
813
- //#endregion
814
- //#region src/widgets/category/download.ts
815
- function W(e) {
816
- return o(e, a({
817
- filename: e.filename,
818
- getRows: (t) => {
819
- let n = e.getData(t), r = [[
820
- "series",
821
- "name",
822
- "value"
823
- ]];
824
- for (let [t, i] of n.entries()) {
825
- let n = e.seriesNames?.[t] ?? `series_${t + 1}`;
826
- for (let e of i) r.push([
827
- n,
828
- e.name,
829
- e.value
830
- ]);
831
- }
832
- return r;
833
- }
834
- }));
835
- }
836
- //#endregion
837
- export { D as a, y as c, N as i, v as l, ee as n, w as o, z as r, b as s, W as t };
838
-
839
- //# sourceMappingURL=category-alzjKzvQ.js.map