@astrato-io/visualizations 0.6.4 → 0.6.5

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 (149) hide show
  1. package/CHANGELOG.md +0 -0
  2. package/THIRD_PARTY_NOTICES.md +94 -4
  3. package/chunks/ClickAwayListener-BbeNMAvj.js +52 -0
  4. package/chunks/{LinearProgress-CUZ0D8_t.js → LinearProgress-B1FeWaen.js} +54 -54
  5. package/chunks/app-filter-bar.compiler-BGJ7HAbr.js +64 -0
  6. package/chunks/bar.compiler-CT0ZbQKc.js +374 -0
  7. package/chunks/{src-Cum_2NLV.js → builder-B6dWSIdD.js} +5779 -5635
  8. package/chunks/{coloring-C16AUZEi.js → coloring-B1XAfg6b.js} +234 -233
  9. package/chunks/{src-BC7cGcJ-.js → definitions-D3OVqmXl.js} +438 -360
  10. package/chunks/{escobar-BGqT1EsE.js → escobar-eDjtGpkC.js} +4645 -4619
  11. package/chunks/filter.compiler-DBsyRBJt.js +70 -0
  12. package/chunks/{filtering-Yq4DEa0t.js → filtering-tqjAyJH5.js} +432 -313
  13. package/chunks/{grouping-type-BX_9Ix5q.js → grouping-type-On4s9Thj.js} +1 -1
  14. package/chunks/handlers-VTBfIZYZ.js +13072 -0
  15. package/chunks/isEqual-BDxAhUo8.js +7514 -0
  16. package/chunks/line.compiler-CzdM5Ld0.js +198 -0
  17. package/chunks/{metadata-CPXdYoln.js → metadata-BGElBy5Z.js} +1 -1
  18. package/chunks/number.compiler-G-R7y16P.js +53 -0
  19. package/chunks/{src-C0LgoUWY.js → operations-CTNUX6Sy.js} +9576 -9432
  20. package/chunks/{range-DrzdfBX4.js → range-CiwTbMig.js} +2 -2
  21. package/chunks/{registry-CExpGJ1N.js → registry-CsQQzukD.js} +153 -153
  22. package/chunks/{requirements-DNhuShLS.js → requirements-DYjZCFyf.js} +1 -1
  23. package/chunks/{shared-CKDL4hx9.js → shared-CBvcC5YV.js} +460 -413
  24. package/chunks/{standalone-D5vnf-9y.js → standalone-0M4HlmDW2.js} +823 -822
  25. package/chunks/standalone-0ashe9w1.js +411 -0
  26. package/chunks/{standalone-C85u7U6I.js → standalone-B7jax8wa.js} +93 -94
  27. package/chunks/standalone-BK0VYU-l.js +463 -0
  28. package/chunks/{standalone-BDCwI6Hn.js → standalone-BMIbT1b2.js} +815 -815
  29. package/chunks/standalone-BZV5vOwA.js +6 -0
  30. package/chunks/standalone-BhDrWj4p.js +1980 -0
  31. package/chunks/{standalone-CNyNHKVx.js → standalone-BtSHCp2U2.js} +97 -98
  32. package/chunks/{standalone-CDQnr6qT.js → standalone-BvaKdky9.js} +95 -96
  33. package/chunks/standalone-BwtM31-f.js +2 -0
  34. package/chunks/{standalone-CY57qwZ-.js → standalone-C3gg736V.js} +153 -153
  35. package/chunks/{standalone-DFPva_ku.js → standalone-CC1VUjO32.js} +60 -60
  36. package/chunks/{standalone-CCNtaJ7s.js → standalone-C_rYnZ0N.js} +41 -41
  37. package/chunks/{standalone-CZynjFG7.js → standalone-CoLrAxRV.js} +3701 -3482
  38. package/chunks/{standalone-jiz0L2Dg.js → standalone-DC-aUgXC.js} +104 -104
  39. package/chunks/standalone-DCtRoTWg.js +675 -0
  40. package/chunks/standalone-DUDFTBqL.js +833 -0
  41. package/chunks/standalone-DhZkX9Td.js +2 -0
  42. package/chunks/{standalone-Dx3MLlrO.js → standalone-DtLElfuM.js} +141 -141
  43. package/chunks/{standalone-BmfMt74U.js → standalone-G9Q4Uczu.js} +192 -192
  44. package/chunks/{standalone-BH5NqDwp.js → standalone-JuLF-OoH.js} +390 -391
  45. package/chunks/standalone-_DeX21JJ.js +383 -0
  46. package/chunks/{standalone-lBm9hQ-q.js → standalone-gFhKZh8m.js} +34 -34
  47. package/chunks/standalone-tDNy-SFH.js +281 -0
  48. package/chunks/{standalone-rJ45Zfl1.js → standalone-v1oxfU20.js} +10 -10
  49. package/chunks/{standalone-BYm1UjLr.js → standalone-vzBY6q0I2.js} +18 -18
  50. package/chunks/table.compiler-tb914oj3.js +222 -0
  51. package/chunks/{ui-D1HQNIBy.js → ui-DQWtv2iM.js} +13485 -3973
  52. package/chunks/{useFieldName-oqQ3bvnO.js → useFieldName-BvdcoJRl.js} +1 -1
  53. package/chunks/{utils-Ba9T0TqC.js → utils-Bg7K-t6K.js} +7306 -6024
  54. package/chunks/{src-DvX5LU9T.js → view-Bn83C8d9.js} +2555 -4831
  55. package/definitions.js +3 -3
  56. package/docs/operations/astrato-app-filter-bar.md +17 -17
  57. package/docs/operations/bar.md +989 -1071
  58. package/docs/operations/combo.md +717 -738
  59. package/docs/operations/date-picker.md +25 -25
  60. package/docs/operations/distribution-gauge.md +471 -607
  61. package/docs/operations/dot.md +787 -879
  62. package/docs/operations/filter.md +139 -163
  63. package/docs/operations/gauge.md +491 -627
  64. package/docs/operations/heatMap.md +834 -916
  65. package/docs/operations/histogram.md +166 -180
  66. package/docs/operations/iframe.md +5 -5
  67. package/docs/operations/image.md +16 -16
  68. package/docs/operations/index.md +12 -12
  69. package/docs/operations/line.md +811 -888
  70. package/docs/operations/number.md +470 -536
  71. package/docs/operations/pie.md +825 -958
  72. package/docs/operations/radar.md +599 -679
  73. package/docs/operations/sankey.md +462 -584
  74. package/docs/operations/scatter.md +823 -929
  75. package/docs/operations/shape.md +34 -34
  76. package/docs/operations/simpleTextObject.md +18 -25
  77. package/docs/operations/slider.md +33 -43
  78. package/docs/operations/table.md +1160 -1150
  79. package/docs/operations/tree.md +354 -361
  80. package/docs/operations/treemap.md +545 -637
  81. package/docs/operations/waterfall.md +369 -379
  82. package/docs/operations/word-cloud.md +512 -583
  83. package/getters.js +3 -3
  84. package/index.js +51 -51
  85. package/metadata.js +3 -3
  86. package/operations.js +7 -7
  87. package/package.json +80 -86
  88. package/src/definitions/index.d.ts +2 -2
  89. package/src/definitions/{shared/lib → model/definitions}/available-fields.d.ts +0 -1
  90. package/src/definitions/{shared/lib/compilers/index.d.ts → model/definitions/compilers/compile.d.ts} +1 -1
  91. package/src/definitions/model/definitions/data-item-resolution.d.ts +19 -0
  92. package/src/definitions/model/definitions/descriptors/descriptor-metadata.d.ts +1341 -0
  93. package/src/definitions/model/definitions/descriptors/json-schema.d.ts +2 -0
  94. package/src/definitions/model/definitions/diagnostics.d.ts +5 -0
  95. package/src/definitions/model/definitions/field-suggestions.d.ts +2 -0
  96. package/src/definitions/model/definitions/index.d.ts +23 -0
  97. package/src/definitions/{shared/lib → model/definitions}/registry/compile.d.ts +1 -1
  98. package/src/definitions/model/definitions/registry/descriptor-registry.d.ts +3 -0
  99. package/src/definitions/model/definitions/schema-registry.d.ts +660 -0
  100. package/src/definitions/{shared/lib → model/definitions}/schemas/broad-chart.schema.d.ts +1 -1
  101. package/src/definitions/{shared/lib → model/definitions}/schemas/common.schema.d.ts +0 -1
  102. package/src/definitions/model/definitions/schemas/index.d.ts +9 -0
  103. package/src/definitions/{shared/lib → model/definitions}/schemas/object.schema.d.ts +6 -6
  104. package/src/definitions/{shared/lib → model/definitions}/types/definition.types.d.ts +1 -1
  105. package/src/definitions/model/definitions/types/index.d.ts +3 -0
  106. package/src/definitions/{shared/lib/registry → model/definitions}/validation.d.ts +1 -1
  107. package/chunks/Radio-Ciu-F4CU.js +0 -957
  108. package/chunks/ToggleButton-BCJc3Jlc.js +0 -153
  109. package/chunks/_baseFlatten-DPXPOrea.js +0 -7076
  110. package/chunks/app-filter-bar.compiler-j_CVoWTa.js +0 -55
  111. package/chunks/bar.compiler-oqaPzIut.js +0 -370
  112. package/chunks/data-item-resolution-1lvYB5ln.js +0 -53
  113. package/chunks/event-bus-KiSiCJrC.js +0 -2683
  114. package/chunks/filter.compiler-CuLtc_02.js +0 -60
  115. package/chunks/gauge-target-type-BkKXAqkX.js +0 -4
  116. package/chunks/interfaces-VUY4_yVO.js +0 -8742
  117. package/chunks/line-settings-DfYTUyPz.js +0 -4
  118. package/chunks/line.compiler-BpA_6Tc7.js +0 -188
  119. package/chunks/number.compiler-DbkWcG4S.js +0 -44
  120. package/chunks/pie-uv42Eqal.js +0 -10
  121. package/chunks/src-Dun_jXtz.js +0 -10295
  122. package/chunks/standalone-87YV_m9n.js +0 -687
  123. package/chunks/standalone-BLVAWLNJ.js +0 -385
  124. package/chunks/standalone-BPomtAVs.js +0 -2
  125. package/chunks/standalone-BXyBcUOQ.js +0 -2
  126. package/chunks/standalone-BllF4rDp.js +0 -383
  127. package/chunks/standalone-BqWyrnZI.js +0 -281
  128. package/chunks/standalone-DQxxNwF8.js +0 -675
  129. package/chunks/standalone-DS9T0FZ-.js +0 -830
  130. package/chunks/standalone-DzixzZAL.js +0 -411
  131. package/chunks/standalone-QJ1kKMnO.js +0 -6
  132. package/chunks/table.compiler-BrXkm4Fz.js +0 -213
  133. package/chunks/toInteger-DVZr-D1j.js +0 -11
  134. package/chunks/treemap-x_zmJoG7.js +0 -23
  135. package/chunks/types-dVVCsDWD.js +0 -4
  136. package/chunks/view-CLqWMV7Z.js +0 -156
  137. package/src/definitions/shared/index.d.ts +0 -5
  138. package/src/definitions/shared/lib/registry/descriptor-registry.d.ts +0 -587
  139. package/src/definitions/shared/lib/registry/index.d.ts +0 -3
  140. package/src/definitions/shared/lib/schemas/index.d.ts +0 -9
  141. package/src/definitions/shared/lib/types/index.d.ts +0 -3
  142. package/src/definitions/{shared/lib → model/definitions}/schemas/app-filter-bar.schema.d.ts +0 -0
  143. package/src/definitions/{shared/lib → model/definitions}/schemas/bar.schema.d.ts +0 -0
  144. package/src/definitions/{shared/lib → model/definitions}/schemas/filter.schema.d.ts +0 -0
  145. package/src/definitions/{shared/lib → model/definitions}/schemas/line.schema.d.ts +0 -0
  146. package/src/definitions/{shared/lib → model/definitions}/schemas/number.schema.d.ts +0 -0
  147. package/src/definitions/{shared/lib → model/definitions}/schemas/table.schema.d.ts +4 -4
  148. /package/src/definitions/{shared/lib → model/definitions}/types/compilation.types.d.ts +0 -0
  149. /package/src/definitions/{shared/lib → model/definitions}/types/descriptor.types.d.ts +0 -0
@@ -0,0 +1,1980 @@
1
+ import { o as e } from "./rolldown-runtime-DleVn1XH.js";
2
+ import { Cs as t, Ta as n, Uc as r, _a as i, do as a, la as o, lo as s, qa as c, sa as l, uo as u } from "./isEqual-BDxAhUo8.js";
3
+ import { $t as d, Cn as f, Ei as p, G as m, Gt as h, In as g, J as _, Pn as v, Ut as y, Wt as b, Y as x, Yi as S, Zi as C, c as w, d as T, fi as E, fn as D, m as O, n as k, nt as A, ot as j, pn as M, qn as N, s as P, tr as F, wr as I, xi as L, yi as R } from "./utils-Bg7K-t6K.js";
4
+ import { Cn as z, Ft as B, It as V, Qt as H, Sn as U, Tt as ee, bn as W, ct as te, dt as G, gn as K, gt as ne, hn as re, in as q, lt as ie, ot as ae, pn as oe, ut as se, vn as J, xn as ce } from "./ui-DQWtv2iM.js";
5
+ import { _ as le, a as ue, c as de, d as fe, g as pe, h as me, i as he, l as ge, n as _e, o as ve, r as ye, s as be, t as xe, u as Se } from "./filtering-tqjAyJH5.js";
6
+ import { t as Ce } from "./ClickAwayListener-BbeNMAvj.js";
7
+ function Y({ props: e, name: t }) {
8
+ return le({
9
+ props: e,
10
+ name: t,
11
+ defaultTheme: x,
12
+ themeId: h
13
+ });
14
+ }
15
+ var we = (e) => ({
16
+ hasImage: !!e.dimensions[1]?.dataItem,
17
+ hasMeasure: !!e.measures[0]?.dataItem,
18
+ searchEnabled: !!e.filterSettings?.searchable,
19
+ quickSelection: !!e.filterSettings?.quickSelect
20
+ }), X = C(), Z = /* @__PURE__ */ e(S()), Te = /* @__PURE__ */ e(N()), Ee = m({ menuTrigger: ({ responsive: e, isDisplayImportant: t }) => ({
21
+ ...e && B,
22
+ display: t ? "inline-flex !important" : "inline-flex",
23
+ alignItems: "center",
24
+ justifyContent: "center",
25
+ minWidth: 22,
26
+ width: 22,
27
+ height: 22,
28
+ padding: 0,
29
+ borderRadius: 6,
30
+ border: "none",
31
+ backgroundColor: "transparent",
32
+ color: "inherit",
33
+ lineHeight: 0,
34
+ "&:hover": { boxShadow: "inset 0 0 0 1px currentColor" },
35
+ "&:focus": { outline: "none" },
36
+ ...e && {
37
+ [V.md]: {
38
+ minWidth: 20,
39
+ width: 20,
40
+ height: 20,
41
+ borderRadius: 5
42
+ },
43
+ [V.sm]: {
44
+ minWidth: 16,
45
+ width: 16,
46
+ height: 16,
47
+ borderRadius: 4
48
+ },
49
+ [V.xs]: {
50
+ minWidth: 12,
51
+ width: 12,
52
+ height: 12,
53
+ borderRadius: 3
54
+ }
55
+ }
56
+ }) }), Q = p();
57
+ function De(e) {
58
+ let { isPreview: t, areSelectedValues: n, arePendingValues: r, isNotEnabled: i, responsive: a, onClear: o, onDeselectAll: s, onSelectAll: c, onSelectExcluded: l, toggleNotOperator: u, onLockClick: d, isSingleSelectField: p = !1 } = e, [m, h] = (0, Z.useState)(!1), g = Ee({
59
+ responsive: a,
60
+ isDisplayImportant: !0
61
+ }), _ = f().daedalus.getWorkbookProperties()?.isLockUnlockFieldsEnabled ?? !1, v = [{
62
+ disabled: t || !r,
63
+ key: "clear",
64
+ label: "Clear",
65
+ type: "option",
66
+ onClick: o
67
+ }];
68
+ return p || v.push({
69
+ key: "divider",
70
+ type: "divider"
71
+ }, {
72
+ disabled: t || !n,
73
+ key: "deselect-all",
74
+ label: "Deselect all",
75
+ type: "option",
76
+ onClick: s
77
+ }, {
78
+ disabled: t,
79
+ key: "select-all",
80
+ label: i ? "Exclude all" : "Select all",
81
+ type: "option",
82
+ onClick: c
83
+ }, {
84
+ disabled: t,
85
+ key: "invert",
86
+ label: "Invert",
87
+ type: "option",
88
+ onClick: l
89
+ }, {
90
+ disabled: t,
91
+ key: "not",
92
+ label: "Exclude",
93
+ type: "option",
94
+ onClick: u
95
+ }), _ && v.push({
96
+ key: "divider",
97
+ type: "divider"
98
+ }, {
99
+ key: "lock",
100
+ label: "Lock",
101
+ type: "option",
102
+ icon: { right: /* @__PURE__ */ (0, Q.jsx)(I, {}) },
103
+ onClick: d
104
+ }), /* @__PURE__ */ (0, Q.jsx)(ne, {
105
+ open: m,
106
+ placement: "bottom-end",
107
+ title: /* @__PURE__ */ (0, Q.jsx)(Ce, {
108
+ onClickAway: () => h(!1),
109
+ children: /* @__PURE__ */ (0, Q.jsx)(ae, {
110
+ appearance: "legacy",
111
+ onClose: () => h(!1),
112
+ options: v,
113
+ responsive: a,
114
+ style: { margin: "-8px -12px" }
115
+ })
116
+ }),
117
+ children: /* @__PURE__ */ (0, Q.jsx)(G, {
118
+ onClick: () => h(!m),
119
+ "data-testid": "filter-button-icon-dots",
120
+ className: g.menuTrigger,
121
+ children: /* @__PURE__ */ (0, Q.jsx)(E, {
122
+ fill: "currentColor",
123
+ size: 20
124
+ })
125
+ })
126
+ });
127
+ }
128
+ function Oe(e) {
129
+ return typeof e == "string";
130
+ }
131
+ function ke(e, t, n) {
132
+ return e === void 0 || Oe(e) ? t : {
133
+ ...t,
134
+ ownerState: {
135
+ ...t.ownerState,
136
+ ...n
137
+ }
138
+ };
139
+ }
140
+ function Ae(e, t = []) {
141
+ if (e === void 0) return {};
142
+ let n = {};
143
+ return Object.keys(e).filter((n) => n.match(/^on[A-Z]/) && typeof e[n] == "function" && !t.includes(n)).forEach((t) => {
144
+ n[t] = e[t];
145
+ }), n;
146
+ }
147
+ function je(e, t, n) {
148
+ return typeof e == "function" ? e(t, n) : e;
149
+ }
150
+ function Me(...e) {
151
+ let t = Z.useRef(void 0), n = Z.useCallback((t) => {
152
+ let n = e.map((e) => {
153
+ if (e == null) return null;
154
+ if (typeof e == "function") {
155
+ let n = e, r = n(t);
156
+ return typeof r == "function" ? r : () => {
157
+ n(null);
158
+ };
159
+ }
160
+ return e.current = t, () => {
161
+ e.current = null;
162
+ };
163
+ });
164
+ return () => {
165
+ n.forEach((e) => e?.());
166
+ };
167
+ }, e);
168
+ return Z.useMemo(() => e.every((e) => e == null) ? null : (e) => {
169
+ t.current &&= (t.current(), void 0), e != null && (t.current = n(e));
170
+ }, e);
171
+ }
172
+ function Ne(e, t, n = void 0) {
173
+ let r = {};
174
+ for (let i in e) {
175
+ let a = e[i], o = "", s = !0;
176
+ for (let e = 0; e < a.length; e += 1) {
177
+ let r = a[e];
178
+ r && (o += (s === !0 ? "" : " ") + t(r), s = !1, n && n[r] && (o += " " + n[r]));
179
+ }
180
+ r[i] = o;
181
+ }
182
+ return r;
183
+ }
184
+ function Pe(e) {
185
+ if (e === void 0) return {};
186
+ let t = {};
187
+ return Object.keys(e).filter((t) => !(t.match(/^on[A-Z]/) && typeof e[t] == "function")).forEach((n) => {
188
+ t[n] = e[n];
189
+ }), t;
190
+ }
191
+ function Fe(e) {
192
+ let { getSlotProps: t, additionalProps: n, externalSlotProps: r, externalForwardedProps: i, className: a } = e;
193
+ if (!t) {
194
+ let e = z(n?.className, a, i?.className, r?.className), t = {
195
+ ...n?.style,
196
+ ...i?.style,
197
+ ...r?.style
198
+ }, o = {
199
+ ...n,
200
+ ...i,
201
+ ...r
202
+ };
203
+ return e.length > 0 && (o.className = e), Object.keys(t).length > 0 && (o.style = t), {
204
+ props: o,
205
+ internalRef: void 0
206
+ };
207
+ }
208
+ let o = Ae({
209
+ ...i,
210
+ ...r
211
+ }), s = Pe(r), c = Pe(i), l = t(o), u = z(l?.className, n?.className, a, i?.className, r?.className), d = {
212
+ ...l?.style,
213
+ ...n?.style,
214
+ ...i?.style,
215
+ ...r?.style
216
+ }, f = {
217
+ ...l,
218
+ ...n,
219
+ ...c,
220
+ ...s
221
+ };
222
+ return u.length > 0 && (f.className = u), Object.keys(d).length > 0 && (f.style = d), {
223
+ props: f,
224
+ internalRef: l.ref
225
+ };
226
+ }
227
+ function Ie(e) {
228
+ let { elementType: t, externalSlotProps: n, ownerState: r, skipResolvingSlotProps: i = !1, ...a } = e, o = i ? {} : je(n, r), { props: s, internalRef: c } = Fe({
229
+ ...a,
230
+ externalSlotProps: o
231
+ }), l = Me(c, o?.ref, e.additionalProps?.ref);
232
+ return ke(t, {
233
+ ...s,
234
+ ref: l
235
+ }, r);
236
+ }
237
+ b(), M();
238
+ var Le = ["element"];
239
+ function Re(e, t) {
240
+ for (let n = 0; n < e.length; n += 1) if (t(e[n])) return n;
241
+ return -1;
242
+ }
243
+ function ze(e, t) {
244
+ let n = 0, r = e.length - 1;
245
+ for (; n <= r;) {
246
+ let i = Math.floor((n + r) / 2);
247
+ if (e[i].element === t) return i;
248
+ e[i].element.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_PRECEDING ? r = i - 1 : n = i + 1;
249
+ }
250
+ return n;
251
+ }
252
+ var Be = /*#__PURE__*/ Z.createContext({});
253
+ function Ve(e) {
254
+ let t = Z.useRef(null);
255
+ return Z.useEffect(() => {
256
+ t.current = e;
257
+ }, [e]), t.current;
258
+ }
259
+ var He = () => {};
260
+ function Ue(e) {
261
+ let [, t] = Z.useState(), { registerDescendant: n = He, unregisterDescendant: r = He, descendants: i = [], parentId: a = null } = Z.useContext(Be), o = Re(i, (t) => t.element === e.element), s = Ve(i);
262
+ return j(() => {
263
+ if (e.element) return n(D({}, e, { index: o })), () => {
264
+ r(e.element);
265
+ };
266
+ t({});
267
+ }, [
268
+ n,
269
+ r,
270
+ o,
271
+ i.some((e, t) => s && s[t] && s[t].element !== e.element),
272
+ e
273
+ ]), {
274
+ parentId: a,
275
+ index: o
276
+ };
277
+ }
278
+ function We(e) {
279
+ let { children: t, id: n } = e, [r, i] = Z.useState([]), a = Z.useCallback((e) => {
280
+ let { element: t } = e, n = y(e, Le);
281
+ i((e) => {
282
+ if (e.length === 0) return [D({}, n, {
283
+ element: t,
284
+ index: 0
285
+ })];
286
+ let r = ze(e, t), i;
287
+ if (e[r] && e[r].element === t) i = e;
288
+ else {
289
+ let a = D({}, n, {
290
+ element: t,
291
+ index: r
292
+ });
293
+ i = e.slice(), i.splice(r, 0, a);
294
+ }
295
+ return i.forEach((e, t) => {
296
+ e.index = t;
297
+ }), i;
298
+ });
299
+ }, []), o = Z.useCallback((e) => {
300
+ i((t) => t.filter((t) => e !== t.element));
301
+ }, []), s = Z.useMemo(() => ({
302
+ descendants: r,
303
+ registerDescendant: a,
304
+ unregisterDescendant: o,
305
+ parentId: n
306
+ }), [
307
+ r,
308
+ a,
309
+ o,
310
+ n
311
+ ]);
312
+ return /*#__PURE__*/ (0, Q.jsx)(Be.Provider, {
313
+ value: s,
314
+ children: t
315
+ });
316
+ }
317
+ var Ge = {
318
+ instance: null,
319
+ multiSelect: !1,
320
+ disabledItemsFocusable: !1,
321
+ treeId: void 0,
322
+ icons: {
323
+ defaultCollapseIcon: null,
324
+ defaultExpandIcon: null,
325
+ defaultParentIcon: null,
326
+ defaultEndIcon: null
327
+ }
328
+ }, Ke = /*#__PURE__*/ Z.createContext(Ge), qe = () => Z.useContext(Ke);
329
+ function Je(e) {
330
+ let { instance: t, multiSelect: n } = qe(), r = t ? t.isNodeExpandable(e) : !1, i = t ? t.isNodeExpanded(e) : !1, a = t ? t.isNodeFocused(e) : !1, o = t ? t.isNodeSelected(e) : !1, s = t ? t.isNodeDisabled(e) : !1;
331
+ return {
332
+ disabled: s,
333
+ expanded: i,
334
+ selected: o,
335
+ focused: a,
336
+ handleExpansion: (i) => {
337
+ if (t && !s) {
338
+ a || t.focusNode(i, e);
339
+ let o = n && (i.shiftKey || i.ctrlKey || i.metaKey);
340
+ r && !(o && t.isNodeExpanded(e)) && t.toggleNodeExpansion(i, e);
341
+ }
342
+ },
343
+ handleSelection: (r) => {
344
+ t && !s && (a || t.focusNode(r, e), n && (r.shiftKey || r.ctrlKey || r.metaKey) ? r.shiftKey ? t.selectRange(r, { end: e }) : t.selectNode(r, e, !0) : t.selectNode(r, e));
345
+ },
346
+ preventSelection: (e) => {
347
+ (e.shiftKey || e.ctrlKey || e.metaKey || s) && e.preventDefault();
348
+ }
349
+ };
350
+ }
351
+ M(), b();
352
+ var Ye = [
353
+ "classes",
354
+ "className",
355
+ "displayIcon",
356
+ "expansionIcon",
357
+ "icon",
358
+ "label",
359
+ "nodeId",
360
+ "onClick",
361
+ "onMouseDown"
362
+ ], Xe = /*#__PURE__*/ Z.forwardRef(function(e, t) {
363
+ let { classes: n, className: r, displayIcon: i, expansionIcon: a, icon: o, label: s, nodeId: c, onClick: l, onMouseDown: u } = e, d = y(e, Ye), { disabled: f, expanded: p, selected: m, focused: h, handleExpansion: g, handleSelection: _, preventSelection: v } = Je(c), b = o || a || i;
364
+ return /*#__PURE__*/ (0, Q.jsxs)("div", D({}, d, {
365
+ className: z(r, n.root, p && n.expanded, m && n.selected, h && n.focused, f && n.disabled),
366
+ onClick: (e) => {
367
+ g(e), _(e), l && l(e);
368
+ },
369
+ onMouseDown: (e) => {
370
+ v(e), u && u(e);
371
+ },
372
+ ref: t,
373
+ children: [/*#__PURE__*/ (0, Q.jsx)("div", {
374
+ className: n.iconContainer,
375
+ children: b
376
+ }), /*#__PURE__*/ (0, Q.jsx)("div", {
377
+ className: n.label,
378
+ children: s
379
+ })]
380
+ }));
381
+ });
382
+ function Ze(e) {
383
+ return U("MuiTreeItem", e);
384
+ }
385
+ var $ = ce("MuiTreeItem", [
386
+ "root",
387
+ "group",
388
+ "content",
389
+ "expanded",
390
+ "selected",
391
+ "focused",
392
+ "disabled",
393
+ "iconContainer",
394
+ "label"
395
+ ]);
396
+ b(), M();
397
+ var Qe = [
398
+ "children",
399
+ "className",
400
+ "collapseIcon",
401
+ "ContentComponent",
402
+ "ContentProps",
403
+ "endIcon",
404
+ "expandIcon",
405
+ "disabled",
406
+ "icon",
407
+ "id",
408
+ "label",
409
+ "nodeId",
410
+ "onClick",
411
+ "onMouseDown",
412
+ "TransitionComponent",
413
+ "TransitionProps"
414
+ ], $e = (e) => {
415
+ let { classes: t } = e;
416
+ return Ne({
417
+ root: ["root"],
418
+ content: ["content"],
419
+ expanded: ["expanded"],
420
+ selected: ["selected"],
421
+ focused: ["focused"],
422
+ disabled: ["disabled"],
423
+ iconContainer: ["iconContainer"],
424
+ label: ["label"],
425
+ group: ["group"]
426
+ }, Ze, t);
427
+ }, et = q("li", {
428
+ name: "MuiTreeItem",
429
+ slot: "Root",
430
+ overridesResolver: (e, t) => t.root
431
+ })({
432
+ listStyle: "none",
433
+ margin: 0,
434
+ padding: 0,
435
+ outline: 0
436
+ }), tt = q(Xe, {
437
+ name: "MuiTreeItem",
438
+ slot: "Content",
439
+ overridesResolver: (e, t) => [
440
+ t.content,
441
+ t.iconContainer && { [`& .${$.iconContainer}`]: t.iconContainer },
442
+ t.label && { [`& .${$.label}`]: t.label }
443
+ ]
444
+ })(({ theme: e }) => ({
445
+ padding: "0 8px",
446
+ width: "100%",
447
+ boxSizing: "border-box",
448
+ display: "flex",
449
+ alignItems: "center",
450
+ cursor: "pointer",
451
+ WebkitTapHighlightColor: "transparent",
452
+ "&:hover": {
453
+ backgroundColor: (e.vars || e).palette.action.hover,
454
+ "@media (hover: none)": { backgroundColor: "transparent" }
455
+ },
456
+ [`&.${$.disabled}`]: {
457
+ opacity: (e.vars || e).palette.action.disabledOpacity,
458
+ backgroundColor: "transparent"
459
+ },
460
+ [`&.${$.focused}`]: { backgroundColor: (e.vars || e).palette.action.focus },
461
+ [`&.${$.selected}`]: {
462
+ backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})` : W(e.palette.primary.main, e.palette.action.selectedOpacity),
463
+ "&:hover": {
464
+ backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))` : W(e.palette.primary.main, e.palette.action.selectedOpacity + e.palette.action.hoverOpacity),
465
+ "@media (hover: none)": { backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})` : W(e.palette.primary.main, e.palette.action.selectedOpacity) }
466
+ },
467
+ [`&.${$.focused}`]: { backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))` : W(e.palette.primary.main, e.palette.action.selectedOpacity + e.palette.action.focusOpacity) }
468
+ },
469
+ [`& .${$.iconContainer}`]: {
470
+ marginRight: 4,
471
+ width: 15,
472
+ display: "flex",
473
+ flexShrink: 0,
474
+ justifyContent: "center",
475
+ "& svg": { fontSize: 18 }
476
+ },
477
+ [`& .${$.label}`]: D({
478
+ paddingLeft: 4,
479
+ width: "100%",
480
+ boxSizing: "border-box",
481
+ minWidth: 0,
482
+ position: "relative"
483
+ }, e.typography.body1)
484
+ })), nt = q(H, {
485
+ name: "MuiTreeItem",
486
+ slot: "Group",
487
+ overridesResolver: (e, t) => t.group
488
+ })({
489
+ margin: 0,
490
+ padding: 0,
491
+ marginLeft: 17
492
+ }), rt = /*#__PURE__*/ Z.forwardRef(function(e, t) {
493
+ let n = Y({
494
+ props: e,
495
+ name: "MuiTreeItem"
496
+ }), { children: r, className: i, collapseIcon: a, ContentComponent: o = Xe, ContentProps: s, endIcon: c, expandIcon: l, disabled: u, icon: d, id: f, label: p, nodeId: m, onClick: h, onMouseDown: g, TransitionComponent: _ = H, TransitionProps: v } = n, b = y(n, Qe), { icons: x, multiSelect: S, disabledItemsFocusable: C, treeId: w, instance: T } = qe(), E;
497
+ f == null ? w && m && (E = `${w}-${m}`) : E = f;
498
+ let [O, k] = Z.useState(null), A = Z.useRef(null), j = re(k, t), { index: M, parentId: N } = Ue(Z.useMemo(() => ({
499
+ element: O,
500
+ id: m
501
+ }), [m, O])), P = !!(Array.isArray(r) ? r.length : r), F = T ? T.isNodeExpanded(m) : !1, I = T ? T.isNodeFocused(m) : !1, L = T ? T.isNodeSelected(m) : !1, R = T ? T.isNodeDisabled(m) : !1, B = D({}, n, {
502
+ expanded: F,
503
+ focused: I,
504
+ selected: L,
505
+ disabled: R
506
+ }), V = $e(B), U, ee;
507
+ P && (ee = F ? a || x.defaultCollapseIcon : l || x.defaultExpandIcon), U = P ? x.defaultParentIcon : c || x.defaultEndIcon, Z.useEffect(() => {
508
+ if (T && M !== -1) return T.updateNode({
509
+ id: m,
510
+ idAttribute: E,
511
+ index: M,
512
+ parentId: N,
513
+ expandable: P,
514
+ disabled: u
515
+ }), () => T.removeNode(m);
516
+ }, [
517
+ T,
518
+ N,
519
+ M,
520
+ m,
521
+ P,
522
+ u,
523
+ E
524
+ ]), Z.useEffect(() => {
525
+ if (T && p) return T.mapFirstChar(m, (A.current?.textContent ?? "").substring(0, 1).toLowerCase());
526
+ }, [
527
+ T,
528
+ m,
529
+ p
530
+ ]);
531
+ let W;
532
+ S ? W = L : L && (W = !0);
533
+ function te(e) {
534
+ if (e.target === e.currentTarget) {
535
+ let t;
536
+ t = typeof e.target.getRootNode == "function" ? e.target.getRootNode() : J(e.target), t.getElementById(w).focus({ preventScroll: !0 });
537
+ }
538
+ let t = !C && R;
539
+ T && !I && e.currentTarget === e.target && !t && T.focusNode(e, m);
540
+ }
541
+ return /*#__PURE__*/ (0, Q.jsxs)(et, D({
542
+ className: z(V.root, i),
543
+ role: "treeitem",
544
+ "aria-expanded": P ? F : void 0,
545
+ "aria-selected": W,
546
+ "aria-disabled": R || void 0,
547
+ id: E,
548
+ tabIndex: -1
549
+ }, b, {
550
+ ownerState: B,
551
+ onFocus: te,
552
+ ref: j,
553
+ children: [/*#__PURE__*/ (0, Q.jsx)(tt, D({
554
+ as: o,
555
+ ref: A,
556
+ classes: {
557
+ root: V.content,
558
+ expanded: V.expanded,
559
+ selected: V.selected,
560
+ focused: V.focused,
561
+ disabled: V.disabled,
562
+ iconContainer: V.iconContainer,
563
+ label: V.label
564
+ },
565
+ label: p,
566
+ nodeId: m,
567
+ onClick: h,
568
+ onMouseDown: g,
569
+ icon: d,
570
+ expansionIcon: ee,
571
+ displayIcon: U,
572
+ ownerState: B
573
+ }, s)), r && /*#__PURE__*/ (0, Q.jsx)(We, {
574
+ id: m,
575
+ children: /*#__PURE__*/ (0, Q.jsx)(nt, D({
576
+ as: _,
577
+ unmountOnExit: !0,
578
+ className: V.group,
579
+ in: F,
580
+ component: "ul",
581
+ role: "group"
582
+ }, v, { children: r }))
583
+ })]
584
+ }));
585
+ });
586
+ function it(e) {
587
+ return U("MuiTreeView", e);
588
+ }
589
+ ce("MuiTreeView", ["root"]), M();
590
+ var at = (e, t) => {
591
+ let n = Z.useRef({}), [r, i] = Z.useState(() => {
592
+ let r = {};
593
+ return e.forEach((e) => {
594
+ e.models && Object.entries(e.models).forEach(([e, i]) => {
595
+ n.current[e] = {
596
+ controlledProp: i.controlledProp,
597
+ defaultProp: i.defaultProp,
598
+ isControlled: t[i.controlledProp] !== void 0
599
+ }, r[e] = t[i.defaultProp];
600
+ });
601
+ }), r;
602
+ });
603
+ return Object.fromEntries(Object.entries(n.current).map(([e, n]) => [e, {
604
+ value: n.isControlled ? t[n.controlledProp] : r[e],
605
+ setValue: (t) => {
606
+ n.isControlled || i((n) => D({}, n, { [e]: t }));
607
+ }
608
+ }]));
609
+ }, ot = class {
610
+ constructor() {
611
+ this.maxListeners = 20, this.warnOnce = !1, this.events = {};
612
+ }
613
+ on(e, t, n = {}) {
614
+ let r = this.events[e];
615
+ r || (r = {
616
+ highPriority: /* @__PURE__ */ new Map(),
617
+ regular: /* @__PURE__ */ new Map()
618
+ }, this.events[e] = r), n.isFirst ? r.highPriority.set(t, !0) : r.regular.set(t, !0);
619
+ }
620
+ removeListener(e, t) {
621
+ this.events[e] && (this.events[e].regular.delete(t), this.events[e].highPriority.delete(t));
622
+ }
623
+ removeAllListeners() {
624
+ this.events = {};
625
+ }
626
+ emit(e, ...t) {
627
+ let n = this.events[e];
628
+ if (!n) return;
629
+ let r = Array.from(n.highPriority.keys()), i = Array.from(n.regular.keys());
630
+ for (let e = r.length - 1; e >= 0; --e) {
631
+ let i = r[e];
632
+ n.highPriority.has(i) && i.apply(this, t);
633
+ }
634
+ for (let e = 0; e < i.length; e += 1) {
635
+ let r = i[e];
636
+ n.regular.has(r) && r.apply(this, t);
637
+ }
638
+ }
639
+ once(e, t) {
640
+ let n = this;
641
+ this.on(e, function r(...i) {
642
+ n.removeListener(e, r), t.apply(n, i);
643
+ });
644
+ }
645
+ }, st = (e, t) => {
646
+ let n = e.getNode(t), r = e.getNavigableChildrenIds(n.parentId), i = r.indexOf(t);
647
+ if (i === 0) return n.parentId;
648
+ let a = r[i - 1];
649
+ for (; e.isNodeExpanded(a) && e.getNavigableChildrenIds(a).length > 0;) a = e.getNavigableChildrenIds(a).pop();
650
+ return a;
651
+ }, ct = (e, t) => {
652
+ if (e.isNodeExpanded(t) && e.getNavigableChildrenIds(t).length > 0) return e.getNavigableChildrenIds(t)[0];
653
+ let n = e.getNode(t);
654
+ for (; n != null;) {
655
+ let t = e.getNavigableChildrenIds(n.parentId), r = t[t.indexOf(n.id) + 1];
656
+ if (r) return r;
657
+ n = e.getNode(n.parentId);
658
+ }
659
+ return null;
660
+ }, lt = (e) => {
661
+ let t = e.getNavigableChildrenIds(null).pop();
662
+ for (; e.isNodeExpanded(t);) t = e.getNavigableChildrenIds(t).pop();
663
+ return t;
664
+ }, ut = (e) => e.getNavigableChildrenIds(null)[0], dt = (e, t) => {
665
+ Object.assign(e, t);
666
+ }, ft = (e) => e.isPropagationStopped !== void 0, pt = [({ instance: e }) => {
667
+ let [t] = Z.useState(() => new ot());
668
+ dt(e, {
669
+ $$publishEvent: Z.useCallback((...e) => {
670
+ let [n, r, i = {}] = e;
671
+ i.defaultMuiPrevented = !1, !(ft(i) && i.isPropagationStopped()) && t.emit(n, r, i);
672
+ }, [t]),
673
+ $$subscribeEvent: Z.useCallback((e, n) => (t.on(e, n), () => {
674
+ t.removeListener(e, n);
675
+ }), [t])
676
+ });
677
+ }];
678
+ M();
679
+ var mt = (e) => {
680
+ let t = [...pt, ...e.plugins], n = t.reduce((e, t) => t.getDefaultizedParams ? t.getDefaultizedParams(e) : e, e), r = at(t, n), i = Z.useRef({}).current, a = Z.useRef(null), o = re(a, e.rootRef), [s, c] = Z.useState(() => {
681
+ let e = {};
682
+ return t.forEach((t) => {
683
+ t.getInitialState && Object.assign(e, t.getInitialState(n));
684
+ }), e;
685
+ }), l = [], u = Ge;
686
+ return t.forEach((e) => {
687
+ let t = e({
688
+ instance: i,
689
+ params: n,
690
+ state: s,
691
+ setState: c,
692
+ rootRef: a,
693
+ models: r
694
+ }) || {};
695
+ t.getRootProps && l.push(t.getRootProps), t.contextValue && (u = t.contextValue);
696
+ }), {
697
+ getRootProps: (e = {}) => {
698
+ let t = D({
699
+ role: "tree",
700
+ tabIndex: 0
701
+ }, e, { ref: o });
702
+ return l.forEach((n) => {
703
+ Object.assign(t, n(e));
704
+ }), t;
705
+ },
706
+ rootRef: o,
707
+ contextValue: u
708
+ };
709
+ };
710
+ function ht(e) {
711
+ let { value: t, children: n } = e;
712
+ return /*#__PURE__*/ (0, Q.jsx)(Ke.Provider, {
713
+ value: t,
714
+ children: /*#__PURE__*/ (0, Q.jsx)(We, { children: n })
715
+ });
716
+ }
717
+ var gt = (e, t, n) => {
718
+ e.$$publishEvent(t, n);
719
+ };
720
+ M();
721
+ var _t = ({ instance: e, params: t }) => {
722
+ let n = Z.useRef({}), r = Z.useCallback((e) => n.current[e], []), i = Z.useCallback((e) => {
723
+ n.current[e.id] = e;
724
+ }, []), a = Z.useCallback((t) => {
725
+ let r = D({}, n.current);
726
+ delete r[t], n.current = r, gt(e, "removeNode", { id: t });
727
+ }, [e]), o = Z.useCallback((t) => {
728
+ if (t == null) return !1;
729
+ let n = e.getNode(t);
730
+ if (!n) return !1;
731
+ if (n.disabled) return !0;
732
+ for (; n.parentId != null;) if (n = e.getNode(n.parentId), n.disabled) return !0;
733
+ return !1;
734
+ }, [e]);
735
+ dt(e, {
736
+ getNode: r,
737
+ updateNode: i,
738
+ removeNode: a,
739
+ getChildrenIds: K((e) => Object.values(n.current).filter((t) => t.parentId === e).sort((e, t) => e.index - t.index).map((e) => e.id)),
740
+ getNavigableChildrenIds: (n) => {
741
+ let r = e.getChildrenIds(n);
742
+ return t.disabledItemsFocusable || (r = r.filter((t) => !e.isNodeDisabled(t))), r;
743
+ },
744
+ isNodeDisabled: o
745
+ });
746
+ };
747
+ M();
748
+ var vt = ({ instance: e, params: t, models: n }) => {
749
+ dt(e, {
750
+ isNodeExpanded: Z.useCallback((e) => Array.isArray(n.expanded.value) ? n.expanded.value.indexOf(e) !== -1 : !1, [n.expanded.value]),
751
+ isNodeExpandable: Z.useCallback((t) => {
752
+ var n;
753
+ return !!((n = e.getNode(t)) != null && n.expandable);
754
+ }, [e]),
755
+ toggleNodeExpansion: K((e, r) => {
756
+ if (r == null) return;
757
+ let i;
758
+ i = n.expanded.value.indexOf(r) === -1 ? [r].concat(n.expanded.value) : n.expanded.value.filter((e) => e !== r), t.onNodeToggle && t.onNodeToggle(e, i), n.expanded.setValue(i);
759
+ }),
760
+ expandAllSiblings: (r, i) => {
761
+ let a = e.getNode(i), o = e.getChildrenIds(a.parentId).filter((t) => e.isNodeExpandable(t) && !e.isNodeExpanded(t)), s = n.expanded.value.concat(o);
762
+ o.length > 0 && (n.expanded.setValue(s), t.onNodeToggle && t.onNodeToggle(r, s));
763
+ }
764
+ });
765
+ };
766
+ vt.models = { expanded: {
767
+ controlledProp: "expanded",
768
+ defaultProp: "defaultExpanded"
769
+ } };
770
+ var yt = [];
771
+ vt.getDefaultizedParams = (e) => D({}, e, { defaultExpanded: e.defaultExpanded ?? yt });
772
+ var bt = (e, t, n) => {
773
+ if (t === n) return [t, n];
774
+ let r = e.getNode(t), i = e.getNode(n);
775
+ if (r.parentId === i.id || i.parentId === r.id) return i.parentId === r.id ? [r.id, i.id] : [i.id, r.id];
776
+ let a = [r.id], o = [i.id], s = r.parentId, c = i.parentId, l = o.indexOf(s) !== -1, u = a.indexOf(c) !== -1, d = !0, f = !0;
777
+ for (; !u && !l;) d && (a.push(s), l = o.indexOf(s) !== -1, d = s !== null, !l && d && (s = e.getNode(s).parentId)), f && !l && (o.push(c), u = a.indexOf(c) !== -1, f = c !== null, !u && f && (c = e.getNode(c).parentId));
778
+ let p = l ? s : c, m = e.getChildrenIds(p), h = a[a.indexOf(p) - 1], g = o[o.indexOf(p) - 1];
779
+ return m.indexOf(h) < m.indexOf(g) ? [t, n] : [n, t];
780
+ };
781
+ M();
782
+ var xt = ({ instance: e, params: t, models: n }) => {
783
+ let r = Z.useRef(null), i = Z.useRef(!1), a = Z.useRef([]), o = (e) => Array.isArray(n.selected.value) ? n.selected.value.indexOf(e) !== -1 : n.selected.value === e, s = (e, o, s = !1) => {
784
+ if (!t.disableSelection) {
785
+ if (s) {
786
+ if (Array.isArray(n.selected.value)) {
787
+ let r;
788
+ r = n.selected.value.indexOf(o) === -1 ? [o].concat(n.selected.value) : n.selected.value.filter((e) => e !== o), t.onNodeSelect && t.onNodeSelect(e, r), n.selected.setValue(r);
789
+ }
790
+ } else {
791
+ let r = t.multiSelect ? [o] : o;
792
+ t.onNodeSelect && t.onNodeSelect(e, r), n.selected.setValue(r);
793
+ }
794
+ r.current = o, i.current = !1, a.current = [];
795
+ }
796
+ }, c = (t, n) => {
797
+ let [r, i] = bt(e, t, n), a = [r], o = r;
798
+ for (; o !== i;) o = ct(e, o), a.push(o);
799
+ return a;
800
+ }, l = (e, r) => {
801
+ let o = n.selected.value.slice(), { start: s, next: c, current: l } = r;
802
+ !c || !l || (a.current.indexOf(l) === -1 && (a.current = []), i.current ? a.current.indexOf(c) === -1 ? (o.push(c), a.current.push(c)) : (o = o.filter((e) => e === s || e !== l), a.current = a.current.filter((e) => e === s || e !== l)) : (o.push(c), a.current.push(l, c)), t.onNodeSelect && t.onNodeSelect(e, o), n.selected.setValue(o));
803
+ }, u = (r, o) => {
804
+ let s = n.selected.value.slice(), { start: l, end: u } = o;
805
+ i.current && (s = s.filter((e) => a.current.indexOf(e) === -1));
806
+ let d = c(l, u);
807
+ d = d.filter((t) => !e.isNodeDisabled(t)), a.current = d;
808
+ let f = s.concat(d);
809
+ f = f.filter((e, t) => f.indexOf(e) === t), t.onNodeSelect && t.onNodeSelect(r, f), n.selected.setValue(f);
810
+ };
811
+ return dt(e, {
812
+ isNodeSelected: o,
813
+ selectNode: s,
814
+ selectRange: (e, n, a = !1) => {
815
+ if (t.disableSelection) return;
816
+ let { start: o = r.current, end: s, current: c } = n;
817
+ a ? l(e, {
818
+ start: o,
819
+ next: s,
820
+ current: c
821
+ }) : o != null && s != null && u(e, {
822
+ start: o,
823
+ end: s
824
+ }), i.current = !0;
825
+ },
826
+ rangeSelectToLast: (t, n) => {
827
+ r.current ||= n;
828
+ let a = i.current ? r.current : n;
829
+ e.selectRange(t, {
830
+ start: a,
831
+ end: lt(e)
832
+ });
833
+ },
834
+ rangeSelectToFirst: (t, n) => {
835
+ r.current ||= n;
836
+ let a = i.current ? r.current : n;
837
+ e.selectRange(t, {
838
+ start: a,
839
+ end: ut(e)
840
+ });
841
+ }
842
+ }), { getRootProps: () => ({ "aria-multiselectable": t.multiSelect }) };
843
+ };
844
+ xt.models = { selected: {
845
+ controlledProp: "selected",
846
+ defaultProp: "defaultSelected"
847
+ } };
848
+ var St = [];
849
+ xt.getDefaultizedParams = (e) => D({}, e, {
850
+ disableSelection: e.disableSelection ?? !1,
851
+ multiSelect: e.multiSelect ?? !1,
852
+ defaultSelected: e.defaultSelected ?? (e.multiSelect ? St : null)
853
+ });
854
+ var Ct = 1e3, wt = class {
855
+ constructor(e = Ct) {
856
+ this.timeouts = /* @__PURE__ */ new Map(), this.cleanupTimeout = Ct, this.cleanupTimeout = e;
857
+ }
858
+ register(e, t, n) {
859
+ this.timeouts ||= /* @__PURE__ */ new Map();
860
+ let r = setTimeout(() => {
861
+ typeof t == "function" && t(), this.timeouts.delete(n.cleanupToken);
862
+ }, this.cleanupTimeout);
863
+ this.timeouts.set(n.cleanupToken, r);
864
+ }
865
+ unregister(e) {
866
+ let t = this.timeouts.get(e.cleanupToken);
867
+ t && (this.timeouts.delete(e.cleanupToken), clearTimeout(t));
868
+ }
869
+ reset() {
870
+ this.timeouts &&= (this.timeouts.forEach((e, t) => {
871
+ this.unregister({ cleanupToken: t });
872
+ }), void 0);
873
+ }
874
+ }, Tt = class {
875
+ constructor() {
876
+ this.registry = new FinalizationRegistry((e) => {
877
+ typeof e == "function" && e();
878
+ });
879
+ }
880
+ register(e, t, n) {
881
+ this.registry.register(e, t, n);
882
+ }
883
+ unregister(e) {
884
+ this.registry.unregister(e);
885
+ }
886
+ reset() {}
887
+ }, Et = class {};
888
+ function Dt(e) {
889
+ let t = 0;
890
+ return function(n, r, i) {
891
+ e.registry === null && (e.registry = typeof FinalizationRegistry < "u" ? new Tt() : new wt());
892
+ let [a] = Z.useState(new Et()), o = Z.useRef(null), s = Z.useRef();
893
+ s.current = i;
894
+ let c = Z.useRef(null);
895
+ !o.current && s.current ? (o.current = n.$$subscribeEvent(r, (e, t) => {
896
+ if (!t.defaultMuiPrevented) {
897
+ var n;
898
+ (n = s.current) == null || n.call(s, e, t);
899
+ }
900
+ }), t += 1, c.current = { cleanupToken: t }, e.registry.register(a, () => {
901
+ var e;
902
+ (e = o.current) == null || e.call(o), o.current = null, c.current = null;
903
+ }, c.current)) : !s.current && o.current && (o.current(), o.current = null, c.current &&= (e.registry.unregister(c.current), null)), Z.useEffect(() => (!o.current && s.current && (o.current = n.$$subscribeEvent(r, (e, t) => {
904
+ if (!t.defaultMuiPrevented) {
905
+ var n;
906
+ (n = s.current) == null || n.call(s, e, t);
907
+ }
908
+ })), c.current && e.registry && (e.registry.unregister(c.current), c.current = null), () => {
909
+ var e;
910
+ (e = o.current) == null || e.call(o), o.current = null;
911
+ }), [n, r]);
912
+ };
913
+ }
914
+ var Ot = Dt({ registry: null });
915
+ M();
916
+ var kt = ({ instance: e, params: t, state: n, setState: r, models: i, rootRef: a }) => {
917
+ let o = K((e) => {
918
+ let t = typeof e == "function" ? e(n.focusedNodeId) : e;
919
+ r((e) => D({}, e, { focusedNodeId: t }));
920
+ });
921
+ dt(e, {
922
+ isNodeFocused: Z.useCallback((e) => n.focusedNodeId === e, [n.focusedNodeId]),
923
+ focusNode: K((e, n) => {
924
+ n && (o(n), t.onNodeFocus && t.onNodeFocus(e, n));
925
+ })
926
+ }), Ot(e, "removeNode", ({ id: t }) => {
927
+ o((n) => n === t && a.current === J(a.current).activeElement ? e.getChildrenIds(null)[0] : n);
928
+ });
929
+ let s = (t) => (n) => {
930
+ var r;
931
+ if ((r = t.onFocus) == null || r.call(t, n), n.target === n.currentTarget) {
932
+ let t = (t) => {
933
+ let n = e.getNode(t);
934
+ return n && (n.parentId == null || e.isNodeExpanded(n.parentId));
935
+ }, r;
936
+ Array.isArray(i.selected.value) ? r = i.selected.value.find(t) : i.selected.value != null && t(i.selected.value) && (r = i.selected.value), r ??= e.getNavigableChildrenIds(null)[0], e.focusNode(n, r);
937
+ }
938
+ }, c = (e) => (t) => {
939
+ var n;
940
+ (n = e.onBlur) == null || n.call(e, t), o(null);
941
+ }, l = e.getNode(n.focusedNodeId), u = l ? l.idAttribute : null;
942
+ return { getRootProps: (e) => ({
943
+ onFocus: s(e),
944
+ onBlur: c(e),
945
+ "aria-activedescendant": u ?? void 0
946
+ }) };
947
+ };
948
+ kt.getInitialState = () => ({ focusedNodeId: null }), kt.getDefaultizedParams = (e) => D({}, e, { disabledItemsFocusable: e.disabledItemsFocusable ?? !1 }), M();
949
+ function At(e) {
950
+ return e && e.length === 1 && e.match(/\S/);
951
+ }
952
+ function jt(e, t, n) {
953
+ for (let r = t; r < e.length; r += 1) if (n === e[r]) return r;
954
+ return -1;
955
+ }
956
+ var Mt = [
957
+ _t,
958
+ vt,
959
+ xt,
960
+ kt,
961
+ ({ instance: e, params: t, state: n }) => {
962
+ let r = _().direction === "rtl", i = Z.useRef({});
963
+ dt(e, { mapFirstChar: K((e, t) => (i.current[e] = t, () => {
964
+ let t = D({}, i.current);
965
+ delete t[e], i.current = t;
966
+ })) });
967
+ let a = (t) => (n.focusedNodeId != null && e.isNodeExpandable(n.focusedNodeId) && (e.isNodeExpanded(n.focusedNodeId) ? e.focusNode(t, ct(e, n.focusedNodeId)) : e.isNodeDisabled(n.focusedNodeId) || e.toggleNodeExpansion(t, n.focusedNodeId)), !0), o = (t) => {
968
+ if (n.focusedNodeId == null) return !1;
969
+ if (e.isNodeExpanded(n.focusedNodeId) && !e.isNodeDisabled(n.focusedNodeId)) return e.toggleNodeExpansion(t, n.focusedNodeId), !0;
970
+ let r = e.getNode(n.focusedNodeId).parentId;
971
+ return r ? (e.focusNode(t, r), !0) : !1;
972
+ }, s = (n, r, a) => {
973
+ let o, s, c = a.toLowerCase(), l = [], u = [];
974
+ Object.keys(i.current).forEach((n) => {
975
+ let r = e.getNode(n), a = !r.parentId || e.isNodeExpanded(r.parentId), o = !t.disabledItemsFocusable && e.isNodeDisabled(n);
976
+ a && !o && (l.push(n), u.push(i.current[n]));
977
+ }), o = l.indexOf(r) + 1, o >= l.length && (o = 0), s = jt(u, o, c), s === -1 && (s = jt(u, 0, c)), s > -1 && e.focusNode(n, l[s]);
978
+ }, c = (t, n) => {
979
+ e.isNodeDisabled(ct(e, n)) || e.selectRange(t, {
980
+ end: ct(e, n),
981
+ current: n
982
+ }, !0);
983
+ }, l = (t, n) => {
984
+ e.isNodeDisabled(st(e, n)) || e.selectRange(t, {
985
+ end: st(e, n),
986
+ current: n
987
+ }, !0);
988
+ }, u = (i) => (u) => {
989
+ var d;
990
+ (d = i.onKeyDown) == null || d.call(i, u);
991
+ let f = !1, p = u.key;
992
+ if (u.altKey || u.currentTarget !== u.target || n.focusedNodeId == null) return;
993
+ let m = u.ctrlKey || u.metaKey;
994
+ switch (p) {
995
+ case " ":
996
+ !t.disableSelection && !e.isNodeDisabled(n.focusedNodeId) && (f = !0, t.multiSelect && u.shiftKey ? e.selectRange(u, { end: n.focusedNodeId }) : t.multiSelect ? e.selectNode(u, n.focusedNodeId, !0) : e.selectNode(u, n.focusedNodeId)), u.stopPropagation();
997
+ break;
998
+ case "Enter":
999
+ e.isNodeDisabled(n.focusedNodeId) || (e.isNodeExpandable(n.focusedNodeId) ? (e.toggleNodeExpansion(u, n.focusedNodeId), f = !0) : t.disableSelection || (f = !0, t.multiSelect ? e.selectNode(u, n.focusedNodeId, !0) : e.selectNode(u, n.focusedNodeId))), u.stopPropagation();
1000
+ break;
1001
+ case "ArrowDown":
1002
+ t.multiSelect && u.shiftKey && !t.disableSelection && c(u, n.focusedNodeId), e.focusNode(u, ct(e, n.focusedNodeId)), f = !0;
1003
+ break;
1004
+ case "ArrowUp":
1005
+ t.multiSelect && u.shiftKey && !t.disableSelection && l(u, n.focusedNodeId), e.focusNode(u, st(e, n.focusedNodeId)), f = !0;
1006
+ break;
1007
+ case "ArrowRight":
1008
+ f = r ? o(u) : a(u);
1009
+ break;
1010
+ case "ArrowLeft":
1011
+ f = r ? a(u) : o(u);
1012
+ break;
1013
+ case "Home":
1014
+ t.multiSelect && m && u.shiftKey && !t.disableSelection && !e.isNodeDisabled(n.focusedNodeId) && e.rangeSelectToFirst(u, n.focusedNodeId), e.focusNode(u, ut(e)), f = !0;
1015
+ break;
1016
+ case "End":
1017
+ t.multiSelect && m && u.shiftKey && !t.disableSelection && !e.isNodeDisabled(n.focusedNodeId) && e.rangeSelectToLast(u, n.focusedNodeId), e.focusNode(u, lt(e)), f = !0;
1018
+ break;
1019
+ default: p === "*" ? (e.expandAllSiblings(u, n.focusedNodeId), f = !0) : t.multiSelect && m && p.toLowerCase() === "a" && !t.disableSelection ? (e.selectRange(u, {
1020
+ start: ut(e),
1021
+ end: lt(e)
1022
+ }), f = !0) : !m && !u.shiftKey && At(p) && (s(u, n.focusedNodeId, p), f = !0);
1023
+ }
1024
+ f && (u.preventDefault(), u.stopPropagation());
1025
+ };
1026
+ return { getRootProps: (e) => ({ onKeyDown: u(e) }) };
1027
+ },
1028
+ ({ instance: e, params: t }) => {
1029
+ let n = A(t.id);
1030
+ return {
1031
+ getRootProps: () => ({ id: n }),
1032
+ contextValue: {
1033
+ treeId: n,
1034
+ instance: e,
1035
+ multiSelect: t.multiSelect,
1036
+ disabledItemsFocusable: t.disabledItemsFocusable,
1037
+ icons: {
1038
+ defaultCollapseIcon: t.defaultCollapseIcon,
1039
+ defaultEndIcon: t.defaultEndIcon,
1040
+ defaultExpandIcon: t.defaultExpandIcon,
1041
+ defaultParentIcon: t.defaultParentIcon
1042
+ }
1043
+ }
1044
+ };
1045
+ }
1046
+ ];
1047
+ M(), b();
1048
+ var Nt = [
1049
+ "disabledItemsFocusable",
1050
+ "expanded",
1051
+ "defaultExpanded",
1052
+ "onNodeToggle",
1053
+ "onNodeFocus",
1054
+ "disableSelection",
1055
+ "defaultSelected",
1056
+ "selected",
1057
+ "multiSelect",
1058
+ "onNodeSelect",
1059
+ "id",
1060
+ "defaultCollapseIcon",
1061
+ "defaultEndIcon",
1062
+ "defaultExpandIcon",
1063
+ "defaultParentIcon",
1064
+ "children"
1065
+ ], Pt = (e) => {
1066
+ let { classes: t } = e;
1067
+ return oe({ root: ["root"] }, it, t);
1068
+ }, Ft = q("ul", {
1069
+ name: "MuiTreeView",
1070
+ slot: "Root",
1071
+ overridesResolver: (e, t) => t.root
1072
+ })({
1073
+ padding: 0,
1074
+ margin: 0,
1075
+ listStyle: "none",
1076
+ outline: 0
1077
+ }), It = /*#__PURE__*/ Z.forwardRef(function(e, t) {
1078
+ let n = Y({
1079
+ props: e,
1080
+ name: "MuiTreeView"
1081
+ }), r = n, i = n, { disabledItemsFocusable: a, expanded: o, defaultExpanded: s, onNodeToggle: c, onNodeFocus: l, disableSelection: u, defaultSelected: d, selected: f, multiSelect: p, onNodeSelect: m, id: h, defaultCollapseIcon: g, defaultEndIcon: _, defaultExpandIcon: v, defaultParentIcon: b, children: x } = i, S = y(i, Nt), { getRootProps: C, contextValue: w } = mt({
1082
+ disabledItemsFocusable: a,
1083
+ expanded: o,
1084
+ defaultExpanded: s,
1085
+ onNodeToggle: c,
1086
+ onNodeFocus: l,
1087
+ disableSelection: u,
1088
+ defaultSelected: d,
1089
+ selected: f,
1090
+ multiSelect: p,
1091
+ onNodeSelect: m,
1092
+ id: h,
1093
+ defaultCollapseIcon: g,
1094
+ defaultEndIcon: _,
1095
+ defaultExpandIcon: v,
1096
+ defaultParentIcon: b,
1097
+ plugins: Mt,
1098
+ rootRef: t
1099
+ }), T = Ie({
1100
+ elementType: Ft,
1101
+ externalSlotProps: {},
1102
+ externalForwardedProps: S,
1103
+ className: Pt(n).root,
1104
+ getSlotProps: C,
1105
+ ownerState: r
1106
+ });
1107
+ return /*#__PURE__*/ (0, Q.jsx)(ht, {
1108
+ value: w,
1109
+ children: /*#__PURE__*/ (0, Q.jsx)(Ft, D({}, T, { children: x }))
1110
+ });
1111
+ }), Lt = "5px", Rt = g`
1112
+ 100% {
1113
+ background-position: -200% 0;
1114
+ }
1115
+ `, zt = v({
1116
+ background: `linear-gradient(90deg, ${n.grey5} 25%, ${n.grey4} 50%, ${n.grey5} 75%)`,
1117
+ backgroundSize: "200% 100%",
1118
+ animation: `${Rt} 1.4s ease-in-out infinite`,
1119
+ "@media (prefers-reduced-motion: reduce)": { animation: "none" }
1120
+ }), Bt = (e) => ({ "& > .MuiTreeItem-content": {
1121
+ backgroundColor: `${e} !important`,
1122
+ borderRadius: Lt
1123
+ } }), Vt = (e, t) => ({
1124
+ width: "100%",
1125
+ minWidth: 0,
1126
+ "& .MuiTreeItem-group": { paddingLeft: "5px" },
1127
+ "& .MuiTreeItem-content": { minWidth: 0 },
1128
+ "& .MuiTreeItem-content:hover": {
1129
+ backgroundColor: `${e} !important`,
1130
+ borderRadius: Lt
1131
+ },
1132
+ "& .MuiTreeItem-content:hover .MuiTreeItem-iconContainer:has(svg)": {
1133
+ backgroundColor: e,
1134
+ borderRadius: Lt
1135
+ },
1136
+ ...t && {
1137
+ [V.md]: { "& .MuiTreeItem-group": { paddingLeft: "4px" } },
1138
+ [V.sm]: {
1139
+ "& .MuiTreeItem-group": { paddingLeft: "3px" },
1140
+ "& .MuiTreeItem-iconContainer": {
1141
+ width: "16px",
1142
+ "& svg": {
1143
+ width: "16px",
1144
+ height: "16px"
1145
+ }
1146
+ }
1147
+ },
1148
+ [V.xs]: {
1149
+ "& .MuiTreeItem-group": { paddingLeft: "2px" },
1150
+ "& .MuiTreeItem-iconContainer": {
1151
+ width: "12px",
1152
+ "& svg": {
1153
+ width: "12px",
1154
+ height: "12px"
1155
+ }
1156
+ }
1157
+ }
1158
+ }
1159
+ }), Ht = m({
1160
+ row: (e) => ({
1161
+ display: "flex",
1162
+ alignItems: "center",
1163
+ boxSizing: "border-box",
1164
+ height: 28,
1165
+ padding: 4,
1166
+ ...e && {
1167
+ [V.md]: {
1168
+ height: 24,
1169
+ padding: 3
1170
+ },
1171
+ [V.sm]: {
1172
+ height: 16,
1173
+ padding: 2,
1174
+ "& > div:first-of-type": {
1175
+ width: 11,
1176
+ height: 11,
1177
+ marginRight: 4
1178
+ },
1179
+ "& > div:last-child": { height: 9 }
1180
+ },
1181
+ [V.xs]: {
1182
+ height: 12,
1183
+ padding: 1,
1184
+ "& > div:first-of-type": {
1185
+ width: 10,
1186
+ height: 10,
1187
+ marginRight: 3
1188
+ },
1189
+ "& > div:last-child": { height: 8 }
1190
+ }
1191
+ }
1192
+ }),
1193
+ dimensionPlaceholder: {
1194
+ flexShrink: 0,
1195
+ width: 14,
1196
+ height: 14,
1197
+ borderRadius: 2,
1198
+ marginRight: 6
1199
+ },
1200
+ labelPlaceholder: {
1201
+ width: "55%",
1202
+ height: 12,
1203
+ borderRadius: 3
1204
+ }
1205
+ }), Ut = ({ nodeId: e, filterFontSize: t, filterFontColor: n, responsive: r }) => {
1206
+ let i = Ht(r);
1207
+ return /* @__PURE__ */ (0, Q.jsx)(Q.Fragment, { children: Array.from({ length: 3 }, (r, a) => /* @__PURE__ */ (0, Q.jsx)(rt, {
1208
+ nodeId: `loading-${e}-${a}`,
1209
+ icon: /* @__PURE__ */ (0, Q.jsx)(R, {
1210
+ size: t,
1211
+ fill: n
1212
+ }),
1213
+ label: /* @__PURE__ */ (0, Q.jsxs)("div", {
1214
+ className: i.row,
1215
+ "aria-hidden": "true",
1216
+ children: [/* @__PURE__ */ (0, Q.jsx)("div", { className: `${zt} ${i.dimensionPlaceholder}` }), /* @__PURE__ */ (0, Q.jsx)("div", { className: `${zt} ${i.labelPlaceholder}` })]
1217
+ }),
1218
+ disabled: !0,
1219
+ sx: { pointerEvents: "none" }
1220
+ }, `loading-${e}-${a}`)) });
1221
+ }, Wt = (e, t, n) => e.map((e, t) => ({
1222
+ entry: e,
1223
+ index: t
1224
+ })).sort((e, r) => {
1225
+ let i = n[t] ?? [], a = i.includes(e.entry[1].value), o = i.includes(r.entry[1].value);
1226
+ return Number(o) - Number(a) || e.index - r.index;
1227
+ }).map(({ entry: e }) => e), Gt = ({ filterValues: e, filterDimensionsCount: t, searchTerm: n, primaryDimensionKey: r, isPreview: i, isFieldLocked: a, loadMoreData: o, hoverColor: s, filterFontSize: l, filterFontColor: d, vSpec: f, dimensionSelectionMethods: p, selectionMode: m }) => {
1228
+ let [h, g] = (0, Z.useState)([]), [_, v] = (0, Z.useState)([]), [y, b] = (0, Z.useState)([]), x = f.dimensions.filter((e) => e.role === c.FILTER_DIMENSION), S = JSON.stringify({
1229
+ filterDimensions: x.map(({ dataItem: e, dateLevel: t, datePart: n }) => ({
1230
+ internalKey: e.internalKey,
1231
+ dateLevel: t,
1232
+ datePart: n
1233
+ })),
1234
+ showOnlyAvailableValuesInFilter: f.filterSettings?.showOnlyAvailableValuesInFilter
1235
+ }), C = f.dimensions.find((e) => e.role === c.FILTER_IMAGE) ?? (f.dimensions.every((e) => !e.role) ? f.dimensions[1] : void 0), w = e.reduce((e, t) => typeof t.measure1 == "number" ? e === null ? t.measure1 : Math.max(e, t.measure1) : e, null), T = (0, Z.useMemo)(() => {
1236
+ let t = /* @__PURE__ */ new Map();
1237
+ return e.forEach(({ dimension: e, childDimension: n, dimensionValues: r, disabled: i, image: a, measure1: o, measure2: s }) => {
1238
+ let c = r ?? [e, ...n === void 0 ? [] : [n]];
1239
+ if (c[0] === null || c[0] === void 0) return;
1240
+ let l = t, u;
1241
+ c.forEach((e) => {
1242
+ if (e == null) return;
1243
+ let t = JSON.stringify(e), n = l.get(t) ?? {
1244
+ value: e,
1245
+ label: String(e),
1246
+ disabled: !!i,
1247
+ children: /* @__PURE__ */ new Map()
1248
+ };
1249
+ n.disabled = n.disabled && !!i, l.set(t, n), u = n, l = n.children;
1250
+ }), u && (o != null || s != null) && (u.measure1 = o, u.measure2 = s), u && a && (u.image = a);
1251
+ }), Array.from(t.entries());
1252
+ }, [e, f.measures]), E = (0, Z.useMemo)(() => {
1253
+ let e = /* @__PURE__ */ new Map(), t = (e) => `tree-${encodeURIComponent(JSON.stringify(e))}`, n = (r, i, a) => {
1254
+ let o = t(i);
1255
+ e.set(o, {
1256
+ node: r,
1257
+ level: a
1258
+ }), Array.from(r.children.entries()).forEach(([e, t]) => {
1259
+ n(t, [...i, e], a + 1);
1260
+ });
1261
+ };
1262
+ return T.forEach(([e, t]) => n(t, [e], 0)), e;
1263
+ }, [T]);
1264
+ (0, Z.useEffect)(() => {
1265
+ g([]), v([]), b([]);
1266
+ }, [r, S]), (0, Z.useEffect)(() => {
1267
+ n || g([]);
1268
+ }, [n]), (0, Z.useEffect)(() => {
1269
+ n && g(Array.from(E.entries()).filter(([, { level: e }]) => e < t - 1).map(([e]) => e));
1270
+ }, [
1271
+ t,
1272
+ n,
1273
+ E
1274
+ ]);
1275
+ let D = (e, t) => {
1276
+ let n = t.filter((e) => !h.includes(e));
1277
+ g(t), n.forEach((e) => {
1278
+ let t = E.get(e);
1279
+ !t || t.node.children.size > 0 || _.includes(e) || (async () => {
1280
+ let n = !1;
1281
+ b((t) => t.includes(e) ? t : [...t, e]);
1282
+ try {
1283
+ await o(t.node.value, t.level), n = !0;
1284
+ } catch {
1285
+ g((t) => t.filter((t) => t !== e));
1286
+ } finally {
1287
+ b((t) => t.filter((t) => t !== e)), n ? v((t) => t.includes(e) ? t : [...t, e]) : g((t) => t.filter((t) => t !== e));
1288
+ }
1289
+ })();
1290
+ });
1291
+ }, O = p.map((e) => e?.state.pending ?? e?.state.applied ?? []), k = p.map((e) => e?.state.applied ?? []), A = (e, t, n) => {
1292
+ if (m === u.AllLevels && n.some((e, t) => {
1293
+ let n = O[t] ?? [];
1294
+ return (p[t]?.operators.pending ?? p[t]?.operators.applied) !== X.FilterOperator.NotInList && n.length > 0 && !n.includes(e.value);
1295
+ })) return "none";
1296
+ if (O[t]?.includes(e.value)) return "full";
1297
+ let r = Array.from(e.children.values()).map((r) => A(r, t + 1, [...n, e]));
1298
+ return r.length > 0 && r.every((e) => e === "full") ? "full" : r.some((e) => e !== "none") ? "partial" : "none";
1299
+ }, j = (e, r, o, c) => {
1300
+ let h = `tree-${encodeURIComponent(JSON.stringify(o))}`, g = p[r], v = !!x[r]?.expandOnly, b = Wt(Array.from(e.children.entries()), r + 1, k), S = r < t - 1, T = S && (b.length > 0 || !_.includes(h)), E = c.some((e, t) => {
1301
+ let n = k[t] ?? [];
1302
+ return p[t]?.operators.applied !== X.FilterOperator.NotInList && n.length > 0 && !n.includes(e.value);
1303
+ }), D = A(e, r, c), O = e.disabled || E || a || !!i, M = (e.disabled || E) && !S || a || !!i;
1304
+ return /* @__PURE__ */ (0, Q.jsx)(rt, {
1305
+ nodeId: h,
1306
+ disabled: M,
1307
+ sx: D === "full" ? Bt(s) : void 0,
1308
+ "data-testid": `${e.label}-tree-item`,
1309
+ label: /* @__PURE__ */ (0, Q.jsx)(Se, {
1310
+ selected: D === "full",
1311
+ applied: !1,
1312
+ disabled: O,
1313
+ hoverColor: s,
1314
+ onSelect: v ? void 0 : (t) => {
1315
+ t.stopPropagation(), !O && (m === u.AllLevels && c.forEach((e, t) => {
1316
+ x[t]?.expandOnly || p[t]?.onClick(e.value, { on: !0 });
1317
+ }), g?.onClick(e.value));
1318
+ },
1319
+ showProgressBar: f.filterSettings?.showProgressBar,
1320
+ showCheckbox: !v,
1321
+ showSelectionIcon: !v,
1322
+ checkboxState: D,
1323
+ dimensionValue: e.value,
1324
+ dimensionFormatter: x[r]?.formatter,
1325
+ measure1Value: e.measure1,
1326
+ measure1Label: f.measures[0]?.filterValueLabel,
1327
+ measure1Formatter: f.measures[0]?.formatter,
1328
+ measure2Value: e.measure2,
1329
+ measure2Label: f.measures[1]?.filterValueLabel,
1330
+ measure2Formatter: f.measures[1]?.formatter,
1331
+ maxValue: w,
1332
+ imageValue: e.image,
1333
+ imageFit: C?.imageFit,
1334
+ searchTerm: n,
1335
+ fontStyle: f.filterSettings?.fontStyle,
1336
+ fontSize: l,
1337
+ progressBarColor: f.filterSettings?.filterStyle?.progressBarColor,
1338
+ responsive: f?.filterSettings?.responsive
1339
+ }),
1340
+ children: T ? /* @__PURE__ */ (0, Q.jsxs)(Q.Fragment, { children: [b.map(([t, n]) => j(n, r + 1, [...o, t], [...c, e])), b.length === 0 ? y.includes(h) ? /* @__PURE__ */ (0, Q.jsx)(Ut, {
1341
+ nodeId: h,
1342
+ filterFontSize: l,
1343
+ filterFontColor: d,
1344
+ responsive: f?.filterSettings?.responsive
1345
+ }) : /* @__PURE__ */ (0, Q.jsx)(rt, {
1346
+ nodeId: `placeholder-${h}`,
1347
+ label: "",
1348
+ sx: { display: "none" }
1349
+ }) : null] }) : void 0
1350
+ }, h);
1351
+ };
1352
+ return /* @__PURE__ */ (0, Q.jsx)(It, {
1353
+ "aria-label": "Filter values",
1354
+ defaultCollapseIcon: /* @__PURE__ */ (0, Q.jsx)(L, {
1355
+ size: l,
1356
+ fill: d,
1357
+ "data-testid": "collapse-icon"
1358
+ }),
1359
+ defaultExpandIcon: /* @__PURE__ */ (0, Q.jsx)(R, {
1360
+ size: l,
1361
+ fill: d,
1362
+ "data-testid": "expand-icon"
1363
+ }),
1364
+ sx: Vt(s, f?.filterSettings?.responsive),
1365
+ expanded: h,
1366
+ selected: [],
1367
+ onNodeToggle: D,
1368
+ children: Wt(T, 0, k).map(([e, t]) => j(t, 0, [e], []))
1369
+ });
1370
+ }, Kt = {
1371
+ borderBottom: `1px solid ${n.grey5}`,
1372
+ margin: "0 12px",
1373
+ width: "calc(100% - 24px)"
1374
+ }, qt = {
1375
+ flexGrow: 1,
1376
+ borderRadius: 0,
1377
+ height: 28,
1378
+ boxShadow: "0 3px 6px rgba(0, 0, 0, 0.2)",
1379
+ clipPath: "inset(0 0 -10px 0)",
1380
+ transform: "translateY(-3px)"
1381
+ }, Jt = {
1382
+ position: "absolute",
1383
+ inset: 0,
1384
+ display: "flex",
1385
+ justifyContent: "center",
1386
+ alignItems: "flex-end",
1387
+ pointerEvents: "auto",
1388
+ zIndex: 2
1389
+ }, Yt = ({ vSpec: e, vTheme: t, filterValues: n, isPreview: r, loadMoreData: a, searchTerm: s, setSearchTerm: u, allValuesLoaded: d, isSearching: p = !1, isApplyingFilters: m = !1 }) => {
1390
+ let h = f(), [g, _] = (0, Z.useState)(s), v = !!e.filterSettings?.defaultNotState, y = e.filterSettings?.selectionMode ?? l.selectionMode, [b, x] = (0, Z.useState)(v), [S, C] = pe(e), T = (0, Z.useMemo)(() => (0, Te.default)((e) => u(e), 300), [u]), E = n.reduce((e, t) => (t.disabled || e.push(t.dimension), e), []), D = e.dimensions.filter((e) => e.role === c.FILTER_DIMENSION), A = D[0] ?? e.dimensions[0], j = D.length > 1, M = r ? [] : D.length > 0 ? D.map((e, t) => ({
1391
+ dataItem: e.dataItem,
1392
+ dateLevel: e.dateLevel,
1393
+ datePart: e.datePart,
1394
+ values: n.map((e) => e.dimensionValues?.[t] ?? (t === 0 ? e.dimension : t === 1 ? e.childDimension : null)).filter((e) => e != null)
1395
+ })) : [{
1396
+ dataItem: A?.dataItem,
1397
+ dateLevel: A?.dateLevel,
1398
+ datePart: A?.datePart,
1399
+ values: E
1400
+ }], { hasImage: N, hasMeasure: I, searchEnabled: L, quickSelection: R } = we(e), z = e.filterSettings?.filterStyle?.backgroundColor ?? o.backgroundColor, B = e.filterSettings?.fontStyle?.fontSize ?? o.fontSize, V = i(t, e.filterSettings?.fontStyle?.fontColor), H = te({
1401
+ ...ie,
1402
+ "--background-color": z
1403
+ })["--background-color-hover"], U = P(M, {
1404
+ disabled: r,
1405
+ state: R ? X.SelectionState.APPLIED : void 0,
1406
+ defaultOperator: b ? X.FilterOperator.NotInList : X.FilterOperator.InList,
1407
+ commitHistory: R
1408
+ }), { onClear: W, onClick: G, onDeselectAll: K, onSelectExcluded: ne, onNotOperatorChange: re, onSelectAll: q, field: ae, state: oe, operators: se } = U[0] ?? w, { isFieldLocked: J, toggleFieldLock: ce } = k(ae), le = oe.pending ?? oe.applied ?? [], me = O([ae]);
1409
+ (0, Z.useEffect)(() => {
1410
+ let e = se.pending ?? se.applied;
1411
+ if (e) {
1412
+ x(e === X.FilterOperator.NotInList);
1413
+ return;
1414
+ }
1415
+ x(v);
1416
+ }, [v, se]);
1417
+ let he = (0, Z.useCallback)(() => {
1418
+ x((e) => !e), re();
1419
+ }, [x, re]);
1420
+ function ve() {
1421
+ d ? q() : h.daedalus.emitEvent(X.AstratoEvents.SHOW_GLOBAL_NOTIFICATION, {
1422
+ type: "warn",
1423
+ message: "Cannot select values, because not all of them are loaded!"
1424
+ });
1425
+ }
1426
+ let Se = J || m && !j || p, Ce = (0, Z.useRef)(null);
1427
+ (0, Z.useEffect)(() => {
1428
+ Ce.current?.toggleAttribute("inert", Se);
1429
+ }, [Se]);
1430
+ let Y = n;
1431
+ return J && (Y = n.filter((e) => le.includes(e.dimension))), /* @__PURE__ */ (0, Q.jsx)("div", {
1432
+ style: {
1433
+ position: "relative",
1434
+ height: "100%"
1435
+ },
1436
+ children: /* @__PURE__ */ (0, Q.jsx)(xe, {
1437
+ blurBackground: !0,
1438
+ filterStyle: e.filterSettings?.filterStyle,
1439
+ vTheme: t,
1440
+ fontSize: e.filterSettings?.fontStyle?.fontSize ?? o.fontSize,
1441
+ children: /* @__PURE__ */ (0, Q.jsxs)(fe.Provider, {
1442
+ value: {
1443
+ appliedOperator: se.applied,
1444
+ pendingOperator: se.pending
1445
+ },
1446
+ children: [
1447
+ /* @__PURE__ */ (0, Q.jsx)(ye, {
1448
+ measureTitle: C,
1449
+ dimensionTitle: S,
1450
+ searchEnabled: L && !r,
1451
+ searchTerm: g,
1452
+ onSearchChange: (e) => {
1453
+ _(e), T(e);
1454
+ },
1455
+ onApplySearched: ve,
1456
+ fontStyle: e.filterSettings?.fontStyle,
1457
+ vTheme: t,
1458
+ isNotEnabled: b,
1459
+ responsive: e?.filterSettings?.responsive,
1460
+ isLocked: J,
1461
+ children: R ? null : /* @__PURE__ */ (0, Q.jsx)(De, {
1462
+ isPreview: r,
1463
+ responsive: e?.filterSettings?.responsive,
1464
+ areSelectedValues: le.length > 0,
1465
+ arePendingValues: !!oe.pending,
1466
+ onClear: W,
1467
+ onDeselectAll: K,
1468
+ onSelectExcluded: ne,
1469
+ onSelectAll: q,
1470
+ toggleNotOperator: he,
1471
+ onLockClick: ce,
1472
+ isNotEnabled: b,
1473
+ isSingleSelectField: me
1474
+ })
1475
+ }),
1476
+ p ? /* @__PURE__ */ (0, Q.jsx)(ue, { loading: !0 }) : /* @__PURE__ */ (0, Q.jsx)("div", { style: Kt }),
1477
+ /* @__PURE__ */ (0, Q.jsx)("div", {
1478
+ ref: Ce,
1479
+ style: {
1480
+ height: "100%",
1481
+ opacity: Se ? .5 : 1,
1482
+ pointerEvents: Se ? "none" : void 0,
1483
+ transition: "opacity 0.15s ease"
1484
+ },
1485
+ children: /* @__PURE__ */ (0, Q.jsxs)(_e, {
1486
+ loadMoreData: a,
1487
+ responsive: e?.filterSettings?.responsive,
1488
+ children: [d && Y.length === 0 && !p && !m ? /* @__PURE__ */ (0, Q.jsx)(de, {
1489
+ responsive: e?.filterSettings?.responsive,
1490
+ applied: !1,
1491
+ disabled: !1,
1492
+ selected: !1,
1493
+ hoverColor: H,
1494
+ fontStyle: e.filterSettings.fontStyle,
1495
+ dimensionValue: "No results to display."
1496
+ }) : null, j ? /* @__PURE__ */ (0, Q.jsx)(Gt, {
1497
+ filterValues: Y,
1498
+ filterDimensionsCount: D.length,
1499
+ searchTerm: s,
1500
+ primaryDimensionKey: A?.dataItem.internalKey,
1501
+ isPreview: r,
1502
+ isFieldLocked: J,
1503
+ loadMoreData: a,
1504
+ hoverColor: H,
1505
+ filterFontSize: B,
1506
+ filterFontColor: V,
1507
+ vSpec: e,
1508
+ dimensionSelectionMethods: U,
1509
+ selectionMode: y
1510
+ }) : N || I ? /* @__PURE__ */ (0, Q.jsx)(ge, {
1511
+ vSpec: e,
1512
+ filterValues: Y,
1513
+ hoverColor: H,
1514
+ onItemClick: G,
1515
+ selectedValues: le,
1516
+ appliedValues: oe.applied ?? [],
1517
+ searchTerm: s
1518
+ }) : /* @__PURE__ */ (0, Q.jsx)(be, {
1519
+ vSpec: e,
1520
+ filterValues: Y,
1521
+ hoverColor: H,
1522
+ onItemClick: G,
1523
+ selectedValues: le,
1524
+ appliedValues: oe.applied ?? [],
1525
+ searchTerm: s
1526
+ })]
1527
+ })
1528
+ }),
1529
+ J && /* @__PURE__ */ (0, Q.jsx)("div", {
1530
+ style: Jt,
1531
+ children: /* @__PURE__ */ (0, Q.jsx)(ee, {
1532
+ color: "secondary",
1533
+ style: qt,
1534
+ onClick: () => ce(),
1535
+ children: /* @__PURE__ */ (0, Q.jsxs)(Q.Fragment, { children: [/* @__PURE__ */ (0, Q.jsx)(F, { fill: "white" }), "Unlock"] })
1536
+ })
1537
+ })
1538
+ ]
1539
+ })
1540
+ })
1541
+ });
1542
+ };
1543
+ function Xt(e) {
1544
+ let { quickSelection: t, isPreview: n, areSelectedValues: r, state: i, responsive: a, isSingleSelectField: o = !1, onClear: s, onDeselectAll: c, onSelectAll: l, onSelectExcluded: u, onNotOperatorChange: d, onLockClick: p } = e, [m, h] = (0, Z.useState)(!1), g = Ee({ responsive: a }), { appliedOperator: _, pendingOperator: v } = (0, Z.useContext)(fe), y = _ ?? v ?? X.FilterOperator.InList, b = f().daedalus.getWorkbookProperties()?.isLockUnlockFieldsEnabled ?? !1;
1545
+ if (t) return null;
1546
+ let x = [{
1547
+ disabled: n || !i.pending,
1548
+ key: "clear",
1549
+ label: "Clear",
1550
+ type: "option",
1551
+ onClick: s
1552
+ }];
1553
+ return o || x.push({
1554
+ key: "divider",
1555
+ type: "divider"
1556
+ }, {
1557
+ disabled: n || !r,
1558
+ key: "deselect-all",
1559
+ label: "Deselect all",
1560
+ type: "option",
1561
+ onClick: c
1562
+ }, {
1563
+ disabled: n,
1564
+ key: "select-all",
1565
+ label: y === X.FilterOperator.InList ? "Select all" : "Exclude all",
1566
+ type: "option",
1567
+ onClick: l
1568
+ }, {
1569
+ disabled: n,
1570
+ key: "invert",
1571
+ label: "Invert",
1572
+ type: "option",
1573
+ onClick: u
1574
+ }, {
1575
+ disabled: n,
1576
+ key: "not",
1577
+ label: "Exclude",
1578
+ type: "option",
1579
+ onClick: d
1580
+ }), b && x.push({
1581
+ key: "divider",
1582
+ type: "divider"
1583
+ }, {
1584
+ key: "lock",
1585
+ label: "Lock",
1586
+ type: "option",
1587
+ icon: { right: /* @__PURE__ */ (0, Q.jsx)(I, {}) },
1588
+ onClick: p
1589
+ }), /* @__PURE__ */ (0, Q.jsx)(ne, {
1590
+ open: m,
1591
+ placement: "bottom-end",
1592
+ title: /* @__PURE__ */ (0, Q.jsx)(Ce, {
1593
+ onClickAway: () => h(!1),
1594
+ children: /* @__PURE__ */ (0, Q.jsx)(ae, {
1595
+ appearance: "legacy",
1596
+ onClose: () => h(!1),
1597
+ options: x,
1598
+ responsive: a,
1599
+ style: { margin: "-8px -12px" }
1600
+ })
1601
+ }),
1602
+ children: /* @__PURE__ */ (0, Q.jsx)(G, {
1603
+ onClick: () => h(!m),
1604
+ className: g.menuTrigger,
1605
+ children: /* @__PURE__ */ (0, Q.jsx)(E, {
1606
+ fill: "currentColor",
1607
+ size: 20
1608
+ })
1609
+ })
1610
+ });
1611
+ }
1612
+ var Zt = m({
1613
+ searchWrapper: (e) => ({
1614
+ alignItems: "center",
1615
+ display: "flex",
1616
+ flexDirection: "row",
1617
+ gap: 4,
1618
+ justifyContent: "space-between",
1619
+ padding: "8px 8px 8px 12px",
1620
+ position: "relative",
1621
+ width: "100%",
1622
+ ...e && {
1623
+ [V.md]: { padding: "6px 6px 6px 10px" },
1624
+ [V.sm]: { padding: "4px 4px 4px 8px" },
1625
+ [V.xs]: { padding: "2px 2px 2px 4px" }
1626
+ }
1627
+ }),
1628
+ searchWrapperSearch: { flexGrow: 1 },
1629
+ tooltip: (e) => ({
1630
+ "& .MuiTooltip-tooltip": {
1631
+ padding: 0,
1632
+ margin: 0,
1633
+ backgroundColor: "transparent"
1634
+ },
1635
+ ...$t("bottom", e),
1636
+ ...$t("top", e)
1637
+ }),
1638
+ unlockButtonStyles: {
1639
+ width: "100%",
1640
+ height: 28,
1641
+ boxShadow: "0 3px 6px rgba(0, 0, 0, 0.2)",
1642
+ clipPath: "inset(0 0 -10px 0)",
1643
+ transform: "translateY(-3px)"
1644
+ }
1645
+ });
1646
+ function Qt(e) {
1647
+ let { children: t, isOpen: r, setIsOpen: i, isPreview: a, vSpec: s, vTheme: c, onSearchChange: l, setLocalSearch: u, allValuesLoaded: d, onSelectAll: p, localSearch: m, searchTerm: h, loadMoreData: g, headerElement: _, filterValues: v, hierarchicalMode: y, filterDimensionsCount: b, primaryDimensionKey: x, dimensionSelectionMethods: S, selectionMode: C, onNotOperatorChange: w, onClick: T, onDeselectAll: E, onClear: D, onSelectExcluded: O, state: k, onLockClick: A, isLocked: j, isSingleSelectField: M = !1, isSearching: N = !1, isApplyingFilters: P = !1 } = e, I = f(), L = Zt(s?.filterSettings?.responsive), R = P || N, z = (0, Z.useRef)(null);
1648
+ (0, Z.useEffect)(() => {
1649
+ z.current?.toggleAttribute("inert", R);
1650
+ }, [R]);
1651
+ let { quickSelection: B, hasMeasure: V, hasImage: H, searchEnabled: U } = we(s), W = k.pending ?? k.applied ?? [], G = s.filterSettings?.filterStyle?.borderRadius ?? o.borderRadius, K = s.filterSettings?.fontStyle?.fontColor ?? c?.fonts?.general?.color ?? n.mainDarkNavy, re = s.filterSettings?.filterStyle?.backgroundColor ?? o.backgroundColor, q = te({
1652
+ ...ie,
1653
+ "--background-color": re
1654
+ })["--background-color-hover"];
1655
+ function ae(e) {
1656
+ switch (e.key) {
1657
+ case "Enter":
1658
+ d ? p() : I.daedalus.emitEvent(X.AstratoEvents.SHOW_GLOBAL_NOTIFICATION, {
1659
+ type: "warn",
1660
+ message: "Cannot select values, because not all of them are loaded!"
1661
+ });
1662
+ break;
1663
+ case "Escape":
1664
+ u("");
1665
+ break;
1666
+ }
1667
+ }
1668
+ return /* @__PURE__ */ (0, Q.jsx)(ne, {
1669
+ placement: "bottom-start",
1670
+ arrow: !1,
1671
+ open: r,
1672
+ classes: { popper: L.tooltip },
1673
+ slotProps: { popper: { anchorEl: _?.current?.firstElementChild } },
1674
+ title: /* @__PURE__ */ (0, Q.jsx)(Ce, {
1675
+ onClickAway: () => i(!1),
1676
+ children: /* @__PURE__ */ (0, Q.jsx)("div", {
1677
+ style: {
1678
+ minWidth: _.current?.clientWidth ?? null,
1679
+ maxWidth: "80vw",
1680
+ fontSize: s.filterSettings?.fontStyle?.fontSize ?? o.fontSize
1681
+ },
1682
+ children: r && /* @__PURE__ */ (0, Q.jsxs)("div", {
1683
+ style: { position: "relative" },
1684
+ children: [/* @__PURE__ */ (0, Q.jsx)("div", {
1685
+ style: {
1686
+ filter: j ? "brightness(0.93)" : void 0,
1687
+ pointerEvents: j ? "none" : void 0
1688
+ },
1689
+ children: /* @__PURE__ */ (0, Q.jsxs)(ve, {
1690
+ filterStyle: s.filterSettings?.filterStyle,
1691
+ vTheme: c,
1692
+ isLocked: j,
1693
+ children: [
1694
+ U && !a && /* @__PURE__ */ (0, Q.jsxs)("div", {
1695
+ className: L.searchWrapper,
1696
+ style: { color: K },
1697
+ children: [/* @__PURE__ */ (0, Q.jsx)(se, {
1698
+ className: L.searchWrapperSearch,
1699
+ "data-testid": "filter-search-input",
1700
+ onChange: (e) => {
1701
+ l(e.target.value);
1702
+ },
1703
+ autoFocus: !j,
1704
+ onPaste: me(l),
1705
+ onKeyDown: ae,
1706
+ style: {
1707
+ color: K,
1708
+ borderColor: K
1709
+ },
1710
+ value: m,
1711
+ responsive: s?.filterSettings?.responsive
1712
+ }), /* @__PURE__ */ (0, Q.jsx)(Xt, {
1713
+ responsive: s?.filterSettings?.responsive,
1714
+ isPreview: a,
1715
+ quickSelection: B,
1716
+ areSelectedValues: !!W.length,
1717
+ state: k,
1718
+ onClear: D,
1719
+ onDeselectAll: E,
1720
+ onSelectAll: p,
1721
+ onSelectExcluded: O,
1722
+ onNotOperatorChange: w,
1723
+ onLockClick: A,
1724
+ isSingleSelectField: M
1725
+ })]
1726
+ }),
1727
+ /* @__PURE__ */ (0, Q.jsx)(ue, { loading: N }),
1728
+ /* @__PURE__ */ (0, Q.jsx)("div", {
1729
+ ref: z,
1730
+ style: {
1731
+ opacity: R ? .5 : 1,
1732
+ pointerEvents: R ? "none" : void 0,
1733
+ transition: "opacity 0.15s ease"
1734
+ },
1735
+ children: /* @__PURE__ */ (0, Q.jsxs)(_e, {
1736
+ loadMoreData: g,
1737
+ isDropdown: !0,
1738
+ hasSearch: U,
1739
+ responsive: s?.filterSettings?.responsive,
1740
+ children: [d && v.length === 0 && !N && !P ? /* @__PURE__ */ (0, Q.jsx)(de, {
1741
+ applied: !1,
1742
+ disabled: !1,
1743
+ selected: !1,
1744
+ hoverColor: q,
1745
+ fontStyle: s.filterSettings.fontStyle,
1746
+ dimensionValue: "No results to display.",
1747
+ responsive: s?.filterSettings?.responsive
1748
+ }) : null, y ? /* @__PURE__ */ (0, Q.jsx)(Gt, {
1749
+ filterValues: v,
1750
+ filterDimensionsCount: b,
1751
+ searchTerm: h,
1752
+ primaryDimensionKey: x,
1753
+ isPreview: a,
1754
+ isFieldLocked: j,
1755
+ loadMoreData: g,
1756
+ hoverColor: q,
1757
+ filterFontSize: s.filterSettings?.fontStyle?.fontSize ?? o.fontSize,
1758
+ filterFontColor: K,
1759
+ vSpec: s,
1760
+ dimensionSelectionMethods: S,
1761
+ selectionMode: C
1762
+ }) : H || V ? /* @__PURE__ */ (0, Q.jsx)(ge, {
1763
+ vSpec: s,
1764
+ filterValues: v,
1765
+ hoverColor: q,
1766
+ onItemClick: T,
1767
+ selectedValues: W,
1768
+ appliedValues: k.applied ?? [],
1769
+ searchTerm: h
1770
+ }) : /* @__PURE__ */ (0, Q.jsx)(be, {
1771
+ vSpec: s,
1772
+ filterValues: v,
1773
+ hoverColor: q,
1774
+ onItemClick: T,
1775
+ selectedValues: W,
1776
+ appliedValues: k.applied ?? [],
1777
+ searchTerm: h
1778
+ })]
1779
+ })
1780
+ })
1781
+ ]
1782
+ })
1783
+ }), j && /* @__PURE__ */ (0, Q.jsx)(ee, {
1784
+ color: "secondary",
1785
+ style: { borderRadius: `0 0 ${G}px ${G}px` },
1786
+ className: L.unlockButtonStyles,
1787
+ onClick: A,
1788
+ children: /* @__PURE__ */ (0, Q.jsxs)(Q.Fragment, { children: [/* @__PURE__ */ (0, Q.jsx)(F, { fill: "white" }), "Unlock"] })
1789
+ })]
1790
+ })
1791
+ })
1792
+ }),
1793
+ children: t
1794
+ });
1795
+ }
1796
+ function $t(e, t) {
1797
+ let n = e === "top" ? "marginBottom" : "marginTop";
1798
+ return { [`&[data-popper-placement*="${e}"]`]: { "& .MuiTooltip-tooltip": {
1799
+ [n]: 8,
1800
+ ...t && {
1801
+ [V.md]: { [n]: 6 },
1802
+ [V.sm]: { [n]: 4 },
1803
+ [V.xs]: { [n]: 2 }
1804
+ }
1805
+ } } };
1806
+ }
1807
+ var en = {
1808
+ backgroundColor: "transparent",
1809
+ borderEnabled: !1
1810
+ }, tn = ({ vSpec: e, filterValues: t, isPreview: n, vTheme: r, loadMoreData: i, searchTerm: a, setSearchTerm: s, allValuesLoaded: u, isSearching: d = !1, isApplyingFilters: f = !1 }) => {
1811
+ let p = (0, Z.useRef)(), [m, h] = (0, Z.useState)(!1), [g, _] = (0, Z.useState)(a), v = e.dimensions[0]?.formatter, y = e.dimensions.filter((e) => e.role === c.FILTER_DIMENSION), b = y.length > 1, x = t.map((e) => e.dimension), [S, C] = pe(e), { quickSelection: T } = we(e), E = e.filterSettings?.defaultNotState ? X.FilterOperator.NotInList : X.FilterOperator.InList, D = P(n ? [] : b ? y.map((e, n) => ({
1812
+ dataItem: e.dataItem,
1813
+ dateLevel: e.dateLevel,
1814
+ datePart: e.datePart,
1815
+ values: t.map((e) => e.dimensionValues?.[n] ?? (n === 0 ? e.dimension : n === 1 ? e.childDimension : null)).filter((e) => e != null)
1816
+ })) : [{
1817
+ dataItem: e.dimensions[0]?.dataItem,
1818
+ dateLevel: e.dimensions[0]?.dateLevel,
1819
+ datePart: e.dimensions[0]?.datePart,
1820
+ values: x
1821
+ }], {
1822
+ disabled: n,
1823
+ state: T ? X.SelectionState.APPLIED : void 0,
1824
+ defaultOperator: E,
1825
+ commitHistory: T
1826
+ }), A = (0, Z.useMemo)(() => (0, Te.default)((e) => s(e), 300), [s]), { onClear: j, onClick: M, onDeselectAll: N, onSelectExcluded: F, onSelectAll: I, onNotOperatorChange: L, state: R, operators: z, field: B } = D[0] ?? w, V = R.pending ?? R.applied ?? [], { isFieldLocked: H, toggleFieldLock: U } = k(B), ee = O([B]), W = (e) => {
1827
+ _(e), A(e);
1828
+ }, te = t;
1829
+ return H && (te = t.filter((e) => V.includes(e.dimension))), /* @__PURE__ */ (0, Q.jsx)(xe, {
1830
+ noBorder: !0,
1831
+ vTheme: r,
1832
+ filterStyle: en,
1833
+ fontSize: e.filterSettings?.fontStyle?.fontSize ?? o.fontSize,
1834
+ children: /* @__PURE__ */ (0, Q.jsx)(fe.Provider, {
1835
+ value: {
1836
+ appliedOperator: z.applied,
1837
+ pendingOperator: z.pending
1838
+ },
1839
+ children: /* @__PURE__ */ (0, Q.jsx)(Qt, {
1840
+ isOpen: m,
1841
+ isPreview: n,
1842
+ vSpec: e,
1843
+ vTheme: r,
1844
+ allValuesLoaded: u,
1845
+ localSearch: g,
1846
+ searchTerm: a,
1847
+ headerElement: p,
1848
+ setIsOpen: h,
1849
+ onSearchChange: W,
1850
+ setLocalSearch: _,
1851
+ loadMoreData: i,
1852
+ filterValues: te,
1853
+ hierarchicalMode: b,
1854
+ filterDimensionsCount: y.length,
1855
+ primaryDimensionKey: y[0]?.dataItem.internalKey,
1856
+ dimensionSelectionMethods: D,
1857
+ selectionMode: e.filterSettings?.selectionMode ?? l.selectionMode,
1858
+ onNotOperatorChange: L,
1859
+ onClick: M,
1860
+ onDeselectAll: N,
1861
+ onSelectAll: I,
1862
+ onClear: j,
1863
+ onSelectExcluded: F,
1864
+ state: R,
1865
+ onLockClick: U,
1866
+ isLocked: H,
1867
+ isSingleSelectField: ee,
1868
+ isSearching: d,
1869
+ isApplyingFilters: f,
1870
+ children: /* @__PURE__ */ (0, Q.jsx)("div", {
1871
+ ref: p,
1872
+ style: { height: "100%" },
1873
+ children: /* @__PURE__ */ (0, Q.jsx)(he, {
1874
+ measureTitle: C,
1875
+ dimensionTitle: S,
1876
+ isOpen: m,
1877
+ onToggle: () => h(!m),
1878
+ dimensionFormatter: v,
1879
+ selectedValues: V,
1880
+ fontStyle: e.filterSettings?.fontStyle,
1881
+ filterStyle: e.filterSettings?.filterStyle,
1882
+ responsive: e?.filterSettings?.responsive,
1883
+ isLocked: H
1884
+ })
1885
+ })
1886
+ })
1887
+ })
1888
+ });
1889
+ }, nn = [
1890
+ { value: "Value 1" },
1891
+ { value: "Value 2" },
1892
+ { value: "Value 3" },
1893
+ { value: "Value 4" },
1894
+ { value: "Value 5" },
1895
+ { value: "Value 6" },
1896
+ { value: "Value 7" },
1897
+ { value: "Value 8" },
1898
+ { value: "Value 9" },
1899
+ { value: "Value 10" },
1900
+ { value: "Value 11" }
1901
+ ], rn = ({ vSpec: e, vTheme: n }) => {
1902
+ let i = nn.map((e) => ({ dimension: e.value })), a = {
1903
+ ...e,
1904
+ dimensions: [{
1905
+ dataItem: {
1906
+ internalKey: null,
1907
+ uniqueSignature: t(),
1908
+ schema: "excel",
1909
+ view: "pokemon",
1910
+ name: "city",
1911
+ dataType: X.FieldType.STRING,
1912
+ type: r.Dimension
1913
+ },
1914
+ label: "Dimension"
1915
+ }],
1916
+ measures: []
1917
+ };
1918
+ return e.filterSettings.mode === s.Dropdown ? /* @__PURE__ */ (0, Q.jsx)(tn, {
1919
+ allValuesLoaded: !0,
1920
+ vSpec: a,
1921
+ vTheme: n,
1922
+ filterValues: i,
1923
+ isPreview: !0,
1924
+ searchTerm: "",
1925
+ setSearchTerm: () => null,
1926
+ loadMoreData: () => null
1927
+ }) : /* @__PURE__ */ (0, Q.jsx)(Yt, {
1928
+ allValuesLoaded: !0,
1929
+ vSpec: a,
1930
+ vTheme: n,
1931
+ filterValues: i,
1932
+ isPreview: !0,
1933
+ searchTerm: "",
1934
+ setSearchTerm: () => null,
1935
+ loadMoreData: () => null
1936
+ });
1937
+ }, an = d(({ vSpec: e, filterValues: t = [], vTheme: n, loadMoreData: r, searchTerm: i, setSearchTerm: o, allValuesLoaded: c, isSearching: l = !1, isApplyingFilters: u = !1 }) => {
1938
+ let d = T();
1939
+ if ((0, Z.useEffect)(() => {
1940
+ e?.dimensions?.length < 2 && d();
1941
+ }, [e]), !e?.dimensions?.length && e?.dimensions !== void 0) return /* @__PURE__ */ (0, Q.jsx)(rn, {
1942
+ vSpec: {
1943
+ ...e,
1944
+ filterSettings: {
1945
+ ...e.filterSettings,
1946
+ mode: e.filterSettings?.mode ?? s.Listbox,
1947
+ source: e.filterSettings?.source ?? a.Engine
1948
+ }
1949
+ },
1950
+ vTheme: n
1951
+ });
1952
+ if (e?.dimensions === void 0 || !e?.filterSettings?.mode || !e?.filterSettings?.source) return null;
1953
+ switch (e.filterSettings.mode) {
1954
+ case s.Image: return null;
1955
+ case s.Dropdown: return /* @__PURE__ */ (0, Q.jsx)(tn, {
1956
+ allValuesLoaded: c,
1957
+ vSpec: e,
1958
+ vTheme: n,
1959
+ filterValues: t,
1960
+ loadMoreData: r,
1961
+ searchTerm: i,
1962
+ setSearchTerm: o,
1963
+ isSearching: l,
1964
+ isApplyingFilters: u
1965
+ });
1966
+ case s.Listbox:
1967
+ default: return /* @__PURE__ */ (0, Q.jsx)(Yt, {
1968
+ allValuesLoaded: c,
1969
+ vSpec: e,
1970
+ vTheme: n,
1971
+ filterValues: t,
1972
+ loadMoreData: r,
1973
+ searchTerm: i,
1974
+ setSearchTerm: o,
1975
+ isSearching: l,
1976
+ isApplyingFilters: u
1977
+ });
1978
+ }
1979
+ });
1980
+ export { an as Filter };