@carto/ps-react-ui 4.17.2 → 4.18.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 (91) hide show
  1. package/dist/category-Ct2BzADB.js +753 -0
  2. package/dist/category-Ct2BzADB.js.map +1 -0
  3. package/dist/change-column-Bhcxmp-r.js +1148 -0
  4. package/dist/change-column-Bhcxmp-r.js.map +1 -0
  5. package/dist/echart-B10dhEaM.js +262 -0
  6. package/dist/echart-B10dhEaM.js.map +1 -0
  7. package/dist/legend/stores.js +1 -1
  8. package/dist/{legend-store-registry-Bo8U_qWM.js → legend-store-registry-p1tSwJXH.js} +151 -147
  9. package/dist/legend-store-registry-p1tSwJXH.js.map +1 -0
  10. package/dist/legend.js +473 -415
  11. package/dist/legend.js.map +1 -1
  12. package/dist/types/legend/components/legend-actions/legend-actions.d.ts +2 -2
  13. package/dist/types/legend/components/legend-group/styles.d.ts +31 -20
  14. package/dist/types/legend/components/legend-row/styles.d.ts +24 -4
  15. package/dist/types/legend/components/legend-sortable/styles.d.ts +4 -3
  16. package/dist/types/widgets-v2/actions/lock-selection/lock-selection.d.ts +15 -5
  17. package/dist/types/widgets-v2/category/components/category-legend.d.ts +18 -2
  18. package/dist/types/widgets-v2/category/components/category-row-stacked.d.ts +6 -1
  19. package/dist/types/widgets-v2/category/style.d.ts +8 -0
  20. package/dist/types/widgets-v2/echart/use-chart-selection.d.ts +10 -4
  21. package/dist/types/widgets-v2/histogram/index.d.ts +1 -1
  22. package/dist/types/widgets-v2/histogram/transforms.d.ts +11 -0
  23. package/dist/types/widgets-v2/histogram/types.d.ts +9 -0
  24. package/dist/types/widgets-v2/scatterplot/index.d.ts +1 -1
  25. package/dist/types/widgets-v2/scatterplot/transforms.d.ts +9 -0
  26. package/dist/types/widgets-v2/table/index.d.ts +1 -0
  27. package/dist/types/widgets-v2/table/transforms.d.ts +13 -0
  28. package/dist/types/widgets-v2/table/transforms.test.d.ts +1 -0
  29. package/dist/types/widgets-v2/timeseries/index.d.ts +1 -0
  30. package/dist/types/widgets-v2/timeseries/transforms.d.ts +10 -0
  31. package/dist/types/widgets-v2/timeseries/transforms.test.d.ts +1 -0
  32. package/dist/widgets-v2/actions.js +1 -1
  33. package/dist/widgets-v2/category.js +1 -1
  34. package/dist/widgets-v2/echart.js +1 -1
  35. package/dist/widgets-v2/echart.js.map +1 -1
  36. package/dist/widgets-v2/histogram.js +181 -158
  37. package/dist/widgets-v2/histogram.js.map +1 -1
  38. package/dist/widgets-v2/pie.js +155 -116
  39. package/dist/widgets-v2/pie.js.map +1 -1
  40. package/dist/widgets-v2/scatterplot.js +91 -85
  41. package/dist/widgets-v2/scatterplot.js.map +1 -1
  42. package/dist/widgets-v2/table.js +55 -45
  43. package/dist/widgets-v2/table.js.map +1 -1
  44. package/dist/widgets-v2/timeseries.js +96 -85
  45. package/dist/widgets-v2/timeseries.js.map +1 -1
  46. package/dist/widgets-v2.js +4 -4
  47. package/package.json +3 -3
  48. package/src/legend/components/legend-actions/legend-actions.tsx +2 -2
  49. package/src/legend/components/legend-group/styles.ts +59 -36
  50. package/src/legend/components/legend-row/legend-row.tsx +10 -7
  51. package/src/legend/components/legend-row/styles.ts +41 -10
  52. package/src/legend/components/legend-sortable/styles.ts +13 -4
  53. package/src/legend/stores/legend-store-registry.ts +28 -4
  54. package/src/legend/stores/legend-store.test.ts +23 -0
  55. package/src/widgets-v2/actions/lock-selection/lock-selection.test.tsx +62 -0
  56. package/src/widgets-v2/actions/lock-selection/lock-selection.tsx +45 -13
  57. package/src/widgets-v2/category/category-ui.test.tsx +55 -0
  58. package/src/widgets-v2/category/category-ui.tsx +65 -6
  59. package/src/widgets-v2/category/components/category-legend.test.tsx +53 -2
  60. package/src/widgets-v2/category/components/category-legend.tsx +55 -12
  61. package/src/widgets-v2/category/components/category-row-stacked.test.tsx +7 -3
  62. package/src/widgets-v2/category/components/category-row-stacked.tsx +8 -3
  63. package/src/widgets-v2/category/style.ts +10 -2
  64. package/src/widgets-v2/echart/echart-ui.test.tsx +25 -0
  65. package/src/widgets-v2/echart/echart-ui.tsx +20 -0
  66. package/src/widgets-v2/echart/use-chart-selection.test.tsx +3 -1
  67. package/src/widgets-v2/echart/use-chart-selection.ts +10 -4
  68. package/src/widgets-v2/histogram/index.ts +4 -1
  69. package/src/widgets-v2/histogram/options.test.ts +86 -0
  70. package/src/widgets-v2/histogram/options.ts +50 -0
  71. package/src/widgets-v2/histogram/transforms.test.ts +36 -1
  72. package/src/widgets-v2/histogram/transforms.ts +23 -0
  73. package/src/widgets-v2/histogram/types.ts +9 -0
  74. package/src/widgets-v2/pie/options.test.ts +262 -0
  75. package/src/widgets-v2/pie/options.ts +80 -5
  76. package/src/widgets-v2/scatterplot/index.ts +4 -1
  77. package/src/widgets-v2/scatterplot/transforms.test.ts +38 -1
  78. package/src/widgets-v2/scatterplot/transforms.ts +23 -0
  79. package/src/widgets-v2/table/index.ts +1 -0
  80. package/src/widgets-v2/table/transforms.test.ts +40 -0
  81. package/src/widgets-v2/table/transforms.ts +26 -0
  82. package/src/widgets-v2/timeseries/index.ts +1 -0
  83. package/src/widgets-v2/timeseries/transforms.test.ts +49 -0
  84. package/src/widgets-v2/timeseries/transforms.ts +31 -0
  85. package/dist/category-CGS_eHr4.js +0 -719
  86. package/dist/category-CGS_eHr4.js.map +0 -1
  87. package/dist/change-column-CiVAjOUB.js +0 -1143
  88. package/dist/change-column-CiVAjOUB.js.map +0 -1
  89. package/dist/echart-Bdvbfx9s.js +0 -250
  90. package/dist/echart-Bdvbfx9s.js.map +0 -1
  91. package/dist/legend-store-registry-Bo8U_qWM.js.map +0 -1
package/dist/legend.js CHANGED
@@ -1,18 +1,18 @@
1
1
  import { jsx as d, jsxs as M, Fragment as he } from "react/jsx-runtime";
2
2
  import { c as T } from "react/compiler-runtime";
3
- import { createContext as me, useContext as be, useState as J, useLayoutEffect as Ge, Children as ut, isValidElement as pt, useEffect as ft, useRef as Te, useId as ht } from "react";
4
- import { L as gt, h as yt, g as X, a as mt, m as bt, r as xt, u as vt, n as N, o as Z, p as U, b as ke, i as re, f as Lt, e as De, s as Pe, j as xe, l as Ee } from "./legend-store-registry-Bo8U_qWM.js";
5
- import { Box as A, IconButton as ve, Typography as E, Collapse as He, createSvgIcon as wt, Menu as $e, CircularProgress as Re, MenuItem as q, Divider as St, Slider as Ct, InputAdornment as It, OutlinedInput as kt, ButtonBase as $t } from "@mui/material";
6
- import { DragIndicator as Ot, ExpandMore as Ve, VisibilityOffOutlined as _t, VisibilityOutlined as Be, MoreVert as Gt, ChecklistOutlined as Pt, Close as At, ArrowDropDown as Mt, ErrorOutline as zt } from "@mui/icons-material";
7
- import { useSortable as Tt, SortableContext as We, verticalListSortingStrategy as Ne } from "@dnd-kit/sortable";
8
- import { S as Fe } from "./smart-tooltip-DFV6GD8R.js";
3
+ import { createContext as me, useContext as be, useState as J, useLayoutEffect as Pe, Children as ut, isValidElement as pt, useEffect as ft, useRef as De, useId as ht } from "react";
4
+ import { L as gt, h as yt, g as X, a as mt, m as bt, r as vt, u as xt, n as N, o as Z, p as j, b as $e, i as re, f as Lt, e as Ee, s as Ae, j as ve, l as He } from "./legend-store-registry-p1tSwJXH.js";
5
+ import { Box as A, IconButton as xe, Typography as E, Collapse as Re, createSvgIcon as wt, Menu as Oe, CircularProgress as Ve, MenuItem as q, Divider as St, Slider as Ct, InputAdornment as It, OutlinedInput as kt, ButtonBase as $t } from "@mui/material";
6
+ import { DragIndicator as Ot, ExpandMore as We, VisibilityOffOutlined as _t, VisibilityOutlined as Be, MoreVert as Gt, ChecklistOutlined as Pt, Close as At, ArrowDropDown as Mt, ErrorOutline as zt } from "@mui/icons-material";
7
+ import { useSortable as Tt, SortableContext as Ne, verticalListSortingStrategy as Fe } from "@dnd-kit/sortable";
8
+ import { S as Ue } from "./smart-tooltip-DFV6GD8R.js";
9
9
  import { CSS as Dt } from "@dnd-kit/utilities";
10
10
  import { T as ie } from "./tooltip-BDnrRKrp.js";
11
11
  import "zustand";
12
12
  import "zustand/vanilla";
13
13
  import "zustand/middleware";
14
14
  import "zustand/react/shallow";
15
- import { useSensors as Et, useSensor as Ae, PointerSensor as Ht, KeyboardSensor as Rt, DndContext as Vt, closestCenter as Bt, DragOverlay as Wt } from "@dnd-kit/core";
15
+ import { useSensors as Et, useSensor as Me, PointerSensor as Ht, KeyboardSensor as Rt, DndContext as Vt, closestCenter as Wt, DragOverlay as Bt } from "@dnd-kit/core";
16
16
  const ge = {
17
17
  expandLayer: "Expand layer",
18
18
  collapseLayer: "Collapse layer",
@@ -46,11 +46,11 @@ const ge = {
46
46
  colorGradient: "Color gradient",
47
47
  maxPrefix: "MAX: ",
48
48
  minPrefix: "MIN: "
49
- }, Ue = me({
49
+ }, je = me({
50
50
  labels: ge
51
51
  });
52
- function B() {
53
- return be(Ue);
52
+ function W() {
53
+ return be(je);
54
54
  }
55
55
  function Nt(t) {
56
56
  const e = T(24), {
@@ -73,47 +73,47 @@ function Nt(t) {
73
73
  }, e[0] = l, e[1] = o, e[2] = r, e[3] = c) : c = e[3];
74
74
  const [p] = J(c);
75
75
  let f, u;
76
- e[4] !== o || e[5] !== s || e[6] !== p ? (f = () => (xt(o, p), () => {
77
- vt(o, {
76
+ e[4] !== o || e[5] !== s || e[6] !== p ? (f = () => (vt(o, p), () => {
77
+ xt(o, {
78
78
  keepAlive: s
79
79
  });
80
- }), u = [o, p, s], e[4] = o, e[5] = s, e[6] = p, e[7] = f, e[8] = u) : (f = e[7], u = e[8]), Ge(f, u);
80
+ }), u = [o, p, s], e[4] = o, e[5] = s, e[6] = p, e[7] = f, e[8] = u) : (f = e[7], u = e[8]), Pe(f, u);
81
81
  let y, h;
82
82
  e[9] !== l || e[10] !== r || e[11] !== p ? (y = () => {
83
83
  p.getState()._sync(r, l ?? []);
84
- }, h = [p, r, l], e[9] = l, e[10] = r, e[11] = p, e[12] = y, e[13] = h) : (y = e[12], h = e[13]), Ge(y, h);
84
+ }, h = [p, r, l], e[9] = l, e[10] = r, e[11] = p, e[12] = y, e[13] = h) : (y = e[12], h = e[13]), Pe(y, h);
85
85
  let g;
86
86
  e[14] !== i ? (g = i ? {
87
87
  ...ge,
88
88
  ...i
89
89
  } : ge, e[14] = i, e[15] = g) : g = e[15];
90
- let v;
91
- e[16] !== g ? (v = {
90
+ let x;
91
+ e[16] !== g ? (x = {
92
92
  labels: g
93
- }, e[16] = g, e[17] = v) : v = e[17];
94
- const b = v;
93
+ }, e[16] = g, e[17] = x) : x = e[17];
94
+ const b = x;
95
95
  let S;
96
- e[18] !== a || e[19] !== b ? (S = /* @__PURE__ */ d(Ue.Provider, { value: b, children: a }), e[18] = a, e[19] = b, e[20] = S) : S = e[20];
96
+ e[18] !== a || e[19] !== b ? (S = /* @__PURE__ */ d(je.Provider, { value: b, children: a }), e[18] = a, e[19] = b, e[20] = S) : S = e[20];
97
97
  let L;
98
98
  return e[21] !== o || e[22] !== S ? (L = /* @__PURE__ */ d(gt.Provider, { value: o, children: S }), e[21] = o, e[22] = S, e[23] = L) : L = e[23], L;
99
99
  }
100
- function je(t) {
100
+ function Ze(t) {
101
101
  return (e) => {
102
102
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), t());
103
103
  };
104
104
  }
105
- const Ze = me(null);
106
- function Q() {
107
- return be(Ze);
108
- }
109
105
  const Ke = me(null);
110
- function ue() {
106
+ function Q() {
111
107
  return be(Ke);
112
108
  }
113
109
  const Xe = me(null);
114
- function qe() {
110
+ function ue() {
115
111
  return be(Xe);
116
112
  }
113
+ const qe = me(null);
114
+ function Qe() {
115
+ return be(qe);
116
+ }
117
117
  const Ft = {
118
118
  fadeGroup: {
119
119
  display: "flex",
@@ -121,17 +121,17 @@ const Ft = {
121
121
  gap: 0.25
122
122
  }
123
123
  };
124
- function Qe(t) {
124
+ function Ye(t) {
125
125
  const e = T(3), {
126
126
  children: o
127
127
  } = t, l = Q() !== null ? "PsLegend-rowFade" : "PsLegend-groupFade";
128
128
  let i;
129
129
  return e[0] !== o || e[1] !== l ? (i = /* @__PURE__ */ d(A, { className: l, sx: Ft.fadeGroup, children: o }), e[0] = o, e[1] = l, e[2] = i) : i = e[2], i;
130
130
  }
131
- function Ye(t) {
131
+ function Je(t) {
132
132
  const e = [], o = [];
133
133
  for (const r of ut.toArray(t))
134
- Ut(r, Qe) ? e.push(r) : o.push(r);
134
+ Ut(r, Ye) ? e.push(r) : o.push(r);
135
135
  return {
136
136
  actions: e,
137
137
  body: o
@@ -140,11 +140,11 @@ function Ye(t) {
140
140
  function Ut(t, e) {
141
141
  return pt(t) && t.type === e;
142
142
  }
143
- const Je = me(!1);
144
- function et() {
145
- return be(Je);
143
+ const et = me(!1);
144
+ function tt() {
145
+ return be(et);
146
146
  }
147
- const we = (t, e) => `${t}:${e}`;
147
+ const Se = (t, e) => `${t}:${e}`;
148
148
  function de(t) {
149
149
  const e = t.indexOf(":");
150
150
  if (e === -1) return null;
@@ -154,132 +154,57 @@ function de(t) {
154
154
  id: t.slice(e + 1)
155
155
  };
156
156
  }
157
- const le = {
158
- // Absolute handle — no flex slot; sticky header is the containing block.
159
- handleSlot: {
160
- position: "absolute",
161
- zIndex: 1,
157
+ const we = 48, Y = {
158
+ group: {
162
159
  display: "flex",
163
- alignItems: "center",
164
- justifyContent: "center",
165
- height: 24
166
- },
167
- handleSlotLayer: {
168
- right: 2
169
- },
170
- handleSlotGroup: {
171
- right: 2
172
- },
173
- handle: {
174
- padding: "2px",
175
- cursor: "grab",
176
- touchAction: "none",
177
- color: "text.secondary",
178
- "& .MuiSvgIcon-root": {
179
- fontSize: 18
180
- },
181
- "&:active": {
182
- cursor: "grabbing"
183
- },
184
- "&:hover": {
185
- backgroundColor: "transparent"
160
+ flexDirection: "column",
161
+ "& + &": {
162
+ borderTop: "1px solid",
163
+ borderColor: "divider"
186
164
  }
187
165
  },
188
- overlay: {
166
+ // The original stays in place, dimmed, while its overlay clone is dragged.
167
+ groupDragging: {
168
+ opacity: 0.4
169
+ },
170
+ // Figma: 48px tall, 16px left inset (matches the row's own left inset),
171
+ // 8px gap to the label, actions right-aligned with ~8px edge inset (the
172
+ // small icon-button padding brings the glyphs to the design's 16px optical
173
+ // inset), hairline divider below. Sticky: pins to the top of the panel's
174
+ // scroll container.
175
+ header: {
189
176
  display: "flex",
190
177
  alignItems: "center",
191
178
  gap: 1,
192
179
  padding: ({
193
180
  spacing: t
194
- }) => t(1, 1.5),
195
- backgroundColor: "background.paper",
196
- borderRadius: 1,
197
- boxShadow: 4,
198
- height: "auto",
199
- maxWidth: "100%",
200
- overflow: "hidden"
201
- },
202
- overlayIcon: {
203
- display: "flex",
204
- color: "text.secondary"
205
- },
206
- overlayLabel: {
207
- minWidth: 0,
208
- overflow: "hidden",
209
- textOverflow: "ellipsis",
210
- whiteSpace: "nowrap"
211
- }
212
- };
213
- function tt(t) {
214
- const e = T(31), {
215
- kind: o,
216
- id: r,
217
- render: l
218
- } = t, {
219
- labels: i
220
- } = B();
221
- let n;
222
- e[0] !== r || e[1] !== o ? (n = we(o, r), e[0] = r, e[1] = o, e[2] = n) : n = e[2];
223
- let a;
224
- e[3] !== n ? (a = {
225
- id: n
226
- }, e[3] = n, e[4] = a) : a = e[4];
227
- const {
228
- attributes: s,
229
- listeners: c,
230
- setNodeRef: p,
231
- setActivatorNodeRef: f,
232
- transform: u,
233
- transition: y,
234
- isDragging: h
235
- } = Tt(a);
236
- let g;
237
- if (e[5] !== s || e[6] !== h || e[7] !== o || e[8] !== i.reorder || e[9] !== c || e[10] !== l || e[11] !== f || e[12] !== p || e[13] !== u || e[14] !== y) {
238
- const v = {
239
- transform: Dt.Transform.toString(u ? {
240
- ...u,
241
- x: 0
242
- } : null),
243
- transition: y
244
- }, b = `PsLegend-dragHandle-${o}`, S = o === "group" ? le.handleSlotGroup : le.handleSlotLayer;
245
- let L;
246
- e[16] !== S ? (L = [le.handleSlot, S], e[16] = S, e[17] = L) : L = e[17];
247
- let C;
248
- e[18] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (C = /* @__PURE__ */ d(Ot, {}), e[18] = C) : C = e[18];
249
- let x;
250
- e[19] !== s || e[20] !== i.reorder || e[21] !== c || e[22] !== f ? (x = /* @__PURE__ */ d(ve, { ref: f, size: "xsmall", "aria-label": i.reorder, ...s, ...c, sx: le.handle, children: C }), e[19] = s, e[20] = i.reorder, e[21] = c, e[22] = f, e[23] = x) : x = e[23];
251
- let I;
252
- e[24] !== i.reorder || e[25] !== x ? (I = /* @__PURE__ */ d(ie, { title: i.reorder, children: x }), e[24] = i.reorder, e[25] = x, e[26] = I) : I = e[26];
253
- let w;
254
- e[27] !== b || e[28] !== L || e[29] !== I ? (w = /* @__PURE__ */ d(A, { component: "span", className: b, sx: L, children: I }), e[27] = b, e[28] = L, e[29] = I, e[30] = w) : w = e[30], g = l({
255
- rootRef: p,
256
- rootStyle: v,
257
- dragging: h,
258
- handle: w
259
- }), e[5] = s, e[6] = h, e[7] = o, e[8] = i.reorder, e[9] = c, e[10] = l, e[11] = f, e[12] = p, e[13] = u, e[14] = y, e[15] = g;
260
- } else
261
- g = e[15];
262
- return g;
263
- }
264
- const ot = 48, Y = {
265
- group: {
266
- display: "flex",
267
- flexDirection: "column",
268
- "& + &": {
269
- borderTop: "1px solid",
270
- borderColor: "divider"
271
- },
272
- // Hover-fade group actions (widgets-v2 Wrapper parity). Revealed by
273
- // hovering anywhere in the group block (including member rows); a control
274
- // carrying `.active` (hidden group) stays visible. Touch devices always
275
- // show them. The collapse chevron sits outside the fade group. Member
276
- // rows use the distinct `PsLegend-rowFade` class, so group hover never
277
- // lights up row actions.
181
+ }) => t(1.5, 2, 1.5, 2),
182
+ minHeight: we,
183
+ borderBottom: "1px solid",
184
+ borderColor: "divider",
185
+ position: "sticky",
186
+ top: 0,
187
+ // Above the sticky row headers (2), which in turn sit above MUI's
188
+ // z-index-1 form internals in row content.
189
+ zIndex: 3,
190
+ // Distinct from the row header / panel body (both `background.paper`) so
191
+ // the group header visually separates from the rest.
192
+ backgroundColor: "background.default",
193
+ // Hover-fade group actions (widgets-v2 Wrapper parity). Scoped to the
194
+ // header itself (not the group root) so hovering a member row's body
195
+ // below never lights up the group's own actions/handle — only hovering
196
+ // the header (title/handle/actions) does. A control carrying `.active`
197
+ // (hidden group) stays visible. Touch devices always show them. The
198
+ // collapse chevron sits outside the fade group. Each non-active child
199
+ // also collapses to zero width on its own (not just the whole actions
200
+ // slot) so a sibling's `.active` pin (e.g. the eye on a mixed-visibility
201
+ // group) doesn't leave a same-sized invisible hole where the still-faded
202
+ // ⋮ menu would've been.
278
203
  "& .PsLegend-groupFade > *": {
279
204
  opacity: 1,
280
205
  transition: ({
281
206
  transitions: t
282
- }) => t.create("opacity", {
207
+ }) => t.create(["opacity", "width"], {
283
208
  duration: t.duration.standard,
284
209
  easing: t.easing.easeInOut
285
210
  }),
@@ -290,14 +215,21 @@ const ot = 48, Y = {
290
215
  opacity: 1
291
216
  }
292
217
  },
293
- "&:hover .PsLegend-groupFade > *, &:focus-within .PsLegend-groupFade > *": {
294
- opacity: 1
295
- },
296
218
  // Faded actions don't reserve flex space on fine-pointer devices — the
297
219
  // label grows to the trailing edge. Hover/focus-within restores the slot
298
220
  // so the label reflows with the buttons; a dirty `.active` child keeps
299
221
  // the slot open even outside hover.
300
222
  "@media (hover: hover)": {
223
+ "& .PsLegend-groupFade > *:not(.active)": {
224
+ width: 0,
225
+ minWidth: 0,
226
+ // border-box IconButtons keep their padding inside `width` — zero it
227
+ // too, otherwise the fixed 2px+2px padding survives as a tiny but
228
+ // needless residual gap.
229
+ padding: 0,
230
+ overflow: "hidden",
231
+ pointerEvents: "none"
232
+ },
301
233
  "& .PsLegend-groupActions:not(:has(.active))": {
302
234
  width: 0,
303
235
  minWidth: 0,
@@ -309,6 +241,14 @@ const ot = 48, Y = {
309
241
  pointerEvents: "none"
310
242
  }
311
243
  },
244
+ "&:hover .PsLegend-groupFade > *, &:focus-within .PsLegend-groupFade > *": {
245
+ opacity: 1,
246
+ width: "auto",
247
+ minWidth: 0,
248
+ padding: "2px",
249
+ overflow: "visible",
250
+ pointerEvents: "auto"
251
+ },
312
252
  "&:hover .PsLegend-groupActions, &:focus-within .PsLegend-groupActions": {
313
253
  width: "auto",
314
254
  minWidth: 0,
@@ -335,33 +275,6 @@ const ot = 48, Y = {
335
275
  opacity: 1
336
276
  }
337
277
  },
338
- // The original stays in place, dimmed, while its overlay clone is dragged.
339
- groupDragging: {
340
- opacity: 0.4
341
- },
342
- // Figma: 48px tall, icon at 12px from the left, 8px gap to the label,
343
- // actions right-aligned with ~8px edge inset (the small icon-button padding
344
- // brings the glyphs to the design's 16px optical inset), hairline divider
345
- // below. Sticky: pins to the top of the panel's scroll container.
346
- header: {
347
- display: "flex",
348
- alignItems: "center",
349
- gap: 1,
350
- padding: ({
351
- spacing: t
352
- }) => t(1.5, 2, 1.5, 1),
353
- minHeight: ot,
354
- borderBottom: "1px solid",
355
- borderColor: "divider",
356
- position: "sticky",
357
- top: 0,
358
- // Above the sticky row headers (2), which in turn sit above MUI's
359
- // z-index-1 form internals in row content.
360
- zIndex: 3,
361
- // Distinct from the row header / panel body (both `background.paper`) so
362
- // the group header visually separates from the rest.
363
- backgroundColor: "background.default"
364
- },
365
278
  // Accordion click target: everything in the header but the actions box.
366
279
  // Non-native button (role='button'), so it carries its own focus ring.
367
280
  titleArea: {
@@ -382,8 +295,11 @@ const ot = 48, Y = {
382
295
  display: "flex",
383
296
  color: "text.secondary"
384
297
  },
298
+ // No `flex:1` here — the label sizes to its own text (shrinking to
299
+ // ellipsis when too long) so the chevron sits right after it, instead of
300
+ // being dragged to the trailing edge of `titleArea` (which keeps its own
301
+ // `flex:1` to fill the header up to the actions).
385
302
  label: {
386
- flex: 1,
387
303
  minWidth: 0,
388
304
  overflow: "hidden",
389
305
  textOverflow: "ellipsis",
@@ -418,61 +334,175 @@ const ot = 48, Y = {
418
334
  padding: "2px"
419
335
  }
420
336
  }
337
+ }, le = {
338
+ // Absolute handle, flush against the header's top-left corner — no flex
339
+ // slot; sticky header is the containing block.
340
+ handleSlot: {
341
+ position: "absolute",
342
+ zIndex: 1,
343
+ display: "flex",
344
+ alignItems: "center",
345
+ justifyContent: "center",
346
+ left: 0,
347
+ top: 0
348
+ },
349
+ // Both headers center their title on the same 24px band from the header's
350
+ // top edge (group: 48px header, `alignItems:'center'`; row: 12px top
351
+ // padding + 24px `titleLine`, `alignItems:'flex-start'`) — so `height:48`
352
+ // centers the icon on the title in both cases, even though the row's own
353
+ // header is only 32px tall (a 32px-tall slot would center at 16px, 8px
354
+ // short of the title).
355
+ handleSlotLayer: {
356
+ height: we
357
+ },
358
+ handleSlotGroup: {
359
+ height: we
360
+ },
361
+ handle: {
362
+ padding: "2px",
363
+ cursor: "grab",
364
+ touchAction: "none",
365
+ color: "text.secondary",
366
+ "& .MuiSvgIcon-root": {
367
+ fontSize: 18
368
+ },
369
+ "&:active": {
370
+ cursor: "grabbing"
371
+ },
372
+ "&:hover": {
373
+ backgroundColor: "transparent"
374
+ }
375
+ },
376
+ overlay: {
377
+ display: "flex",
378
+ alignItems: "center",
379
+ gap: 1,
380
+ padding: ({
381
+ spacing: t
382
+ }) => t(1, 1.5),
383
+ backgroundColor: "background.paper",
384
+ borderRadius: 1,
385
+ boxShadow: 4,
386
+ height: "auto",
387
+ maxWidth: "100%",
388
+ overflow: "hidden"
389
+ },
390
+ overlayIcon: {
391
+ display: "flex",
392
+ color: "text.secondary"
393
+ },
394
+ overlayLabel: {
395
+ minWidth: 0,
396
+ overflow: "hidden",
397
+ textOverflow: "ellipsis",
398
+ whiteSpace: "nowrap"
399
+ }
421
400
  };
401
+ function ot(t) {
402
+ const e = T(31), {
403
+ kind: o,
404
+ id: r,
405
+ render: l
406
+ } = t, {
407
+ labels: i
408
+ } = W();
409
+ let n;
410
+ e[0] !== r || e[1] !== o ? (n = Se(o, r), e[0] = r, e[1] = o, e[2] = n) : n = e[2];
411
+ let a;
412
+ e[3] !== n ? (a = {
413
+ id: n
414
+ }, e[3] = n, e[4] = a) : a = e[4];
415
+ const {
416
+ attributes: s,
417
+ listeners: c,
418
+ setNodeRef: p,
419
+ setActivatorNodeRef: f,
420
+ transform: u,
421
+ transition: y,
422
+ isDragging: h
423
+ } = Tt(a);
424
+ let g;
425
+ if (e[5] !== s || e[6] !== h || e[7] !== o || e[8] !== i.reorder || e[9] !== c || e[10] !== l || e[11] !== f || e[12] !== p || e[13] !== u || e[14] !== y) {
426
+ const x = {
427
+ transform: Dt.Transform.toString(u ? {
428
+ ...u,
429
+ x: 0
430
+ } : null),
431
+ transition: y
432
+ }, b = `PsLegend-dragHandle-${o}`, S = o === "group" ? le.handleSlotGroup : le.handleSlotLayer;
433
+ let L;
434
+ e[16] !== S ? (L = [le.handleSlot, S], e[16] = S, e[17] = L) : L = e[17];
435
+ let C;
436
+ e[18] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (C = /* @__PURE__ */ d(Ot, {}), e[18] = C) : C = e[18];
437
+ let v;
438
+ e[19] !== s || e[20] !== i.reorder || e[21] !== c || e[22] !== f ? (v = /* @__PURE__ */ d(xe, { ref: f, size: "xsmall", "aria-label": i.reorder, ...s, ...c, sx: le.handle, children: C }), e[19] = s, e[20] = i.reorder, e[21] = c, e[22] = f, e[23] = v) : v = e[23];
439
+ let I;
440
+ e[24] !== i.reorder || e[25] !== v ? (I = /* @__PURE__ */ d(ie, { title: i.reorder, children: v }), e[24] = i.reorder, e[25] = v, e[26] = I) : I = e[26];
441
+ let w;
442
+ e[27] !== b || e[28] !== L || e[29] !== I ? (w = /* @__PURE__ */ d(A, { component: "span", className: b, sx: L, children: I }), e[27] = b, e[28] = L, e[29] = I, e[30] = w) : w = e[30], g = l({
443
+ rootRef: p,
444
+ rootStyle: x,
445
+ dragging: h,
446
+ handle: w
447
+ }), e[5] = s, e[6] = h, e[7] = o, e[8] = i.reorder, e[9] = c, e[10] = l, e[11] = f, e[12] = p, e[13] = u, e[14] = y, e[15] = g;
448
+ } else
449
+ g = e[15];
450
+ return g;
451
+ }
422
452
  function jt(t) {
423
453
  const e = T(27), {
424
454
  groupId: o,
425
455
  children: r
426
456
  } = t, l = N();
427
457
  let i;
428
- e[0] !== o ? (i = (x) => x.groups[o], e[0] = o, e[1] = i) : i = e[1];
458
+ e[0] !== o ? (i = (v) => v.groups[o], e[0] = o, e[1] = i) : i = e[1];
429
459
  const n = Z(l, i), a = Z(l, Kt);
430
460
  let s;
431
- e[2] !== o ? (s = (x) => ke(x, o) === "hidden", e[2] = o, e[3] = s) : s = e[3];
432
- const c = U(l, s), p = et();
461
+ e[2] !== o ? (s = (v) => $e(v, o) === "hidden", e[2] = o, e[3] = s) : s = e[3];
462
+ const c = j(l, s), p = tt();
433
463
  let f;
434
- e[4] !== o ? (f = (x) => re(x, o).map(Zt), e[4] = o, e[5] = f) : f = e[5];
464
+ e[4] !== o ? (f = (v) => re(v, o).map(Zt), e[4] = o, e[5] = f) : f = e[5];
435
465
  const u = Z(l, f);
436
466
  if (!n)
437
467
  return null;
438
468
  let y;
439
- e[6] !== r ? (y = Ye(r), e[6] = r, e[7] = y) : y = e[7];
469
+ e[6] !== r ? (y = Je(r), e[6] = r, e[7] = y) : y = e[7];
440
470
  const {
441
471
  actions: h,
442
472
  body: g
443
473
  } = y;
444
- let v;
445
- e[8] !== n.collapsed || e[9] !== o || e[10] !== a ? (v = () => a(o, !n.collapsed), e[8] = n.collapsed, e[9] = o, e[10] = a, e[11] = v) : v = e[11];
446
- const b = v;
474
+ let x;
475
+ e[8] !== n.collapsed || e[9] !== o || e[10] !== a ? (x = () => a(o, !n.collapsed), e[8] = n.collapsed, e[9] = o, e[10] = a, e[11] = x) : x = e[11];
476
+ const b = x;
447
477
  let S;
448
- e[12] !== h || e[13] !== g || e[14] !== n.collapsed || e[15] !== n.icon || e[16] !== n.label || e[17] !== o || e[18] !== c || e[19] !== u || e[20] !== p || e[21] !== b ? (S = (x) => /* @__PURE__ */ d(Ke.Provider, { value: o, children: /* @__PURE__ */ M(A, { ref: x?.rootRef, style: x?.rootStyle, sx: [Y.group, x?.dragging === !0 && Y.groupDragging], children: [
478
+ e[12] !== h || e[13] !== g || e[14] !== n.collapsed || e[15] !== n.icon || e[16] !== n.label || e[17] !== o || e[18] !== c || e[19] !== u || e[20] !== p || e[21] !== b ? (S = (v) => /* @__PURE__ */ d(Xe.Provider, { value: o, children: /* @__PURE__ */ M(A, { ref: v?.rootRef, style: v?.rootStyle, sx: [Y.group, v?.dragging === !0 && Y.groupDragging], children: [
449
479
  /* @__PURE__ */ M(A, { sx: Y.header, children: [
450
- x?.handle,
451
- /* @__PURE__ */ M(A, { sx: Y.titleArea, role: "button", tabIndex: 0, "aria-expanded": !n.collapsed, onClick: b, onKeyDown: je(b), children: [
480
+ v?.handle,
481
+ /* @__PURE__ */ M(A, { sx: Y.titleArea, role: "button", tabIndex: 0, "aria-expanded": !n.collapsed, onClick: b, onKeyDown: Ze(b), children: [
452
482
  n.icon != null && /* @__PURE__ */ d(A, { sx: Y.groupIcon, children: n.icon }),
453
- /* @__PURE__ */ d(Fe, { title: n.label, dependencies: [n.label], children: (I) => {
483
+ /* @__PURE__ */ d(Ue, { title: n.label, dependencies: [n.label], children: (I) => {
454
484
  const {
455
485
  ref: w
456
486
  } = I;
457
487
  return /* @__PURE__ */ d(E, { ref: w, variant: "button", fontWeight: "bold", color: c ? "text.disabled" : "text.primary", sx: Y.label, children: n.label });
458
488
  } }),
459
- /* @__PURE__ */ d(Ve, { sx: [Y.chevron, n.collapsed && Y.chevronCollapsed] })
489
+ /* @__PURE__ */ d(We, { sx: [Y.chevron, n.collapsed && Y.chevronCollapsed] })
460
490
  ] }),
461
491
  /* @__PURE__ */ d(A, { className: "PsLegend-groupActions", sx: Y.actions, children: h })
462
492
  ] }),
463
- /* @__PURE__ */ d(He, { in: !n.collapsed, children: p ? /* @__PURE__ */ d(We, { items: u, strategy: Ne, children: g }) : g })
493
+ /* @__PURE__ */ d(Re, { in: !n.collapsed, children: p ? /* @__PURE__ */ d(Ne, { items: u, strategy: Fe, children: g }) : g })
464
494
  ] }) }), e[12] = h, e[13] = g, e[14] = n.collapsed, e[15] = n.icon, e[16] = n.label, e[17] = o, e[18] = c, e[19] = u, e[20] = p, e[21] = b, e[22] = S) : S = e[22];
465
495
  const L = S;
466
496
  let C;
467
- return e[23] !== o || e[24] !== L || e[25] !== p ? (C = p ? /* @__PURE__ */ d(tt, { kind: "group", id: o, render: L }) : L(), e[23] = o, e[24] = L, e[25] = p, e[26] = C) : C = e[26], C;
497
+ return e[23] !== o || e[24] !== L || e[25] !== p ? (C = p ? /* @__PURE__ */ d(ot, { kind: "group", id: o, render: L }) : L(), e[23] = o, e[24] = L, e[25] = p, e[26] = C) : C = e[26], C;
468
498
  }
469
499
  function Zt(t) {
470
- return we("layer", t.id);
500
+ return Se("layer", t.id);
471
501
  }
472
502
  function Kt(t) {
473
503
  return t.setGroupCollapsed;
474
504
  }
475
- const j = {
505
+ const F = {
476
506
  // Padding lives on header/content/footer (not the root) so the sticky
477
507
  // header is opaque and full-bleed while pinned.
478
508
  row: {
@@ -487,15 +517,17 @@ const j = {
487
517
  // `.PsLegend-rowFade` are hidden on fine-pointer devices and fade in when
488
518
  // the row is hovered or holds focus; a control carrying `.active` (dirty
489
519
  // state — hidden layer, open menu, opacity ≠ 1) stays visible. Coarse-
490
- // pointer (touch) devices always show them. The actions slot itself also
491
- // collapses to zero width while faded (see `PsLegend-rowActions` below)
492
- // so the title can grow to the trailing edge. The collapse chevron sits
493
- // outside the fade group and never fades.
520
+ // pointer (touch) devices always show them. Each non-active child also
521
+ // collapses to zero width on its own (not just the whole actions slot —
522
+ // see `PsLegend-rowActions` below) so a sibling's `.active` pin (e.g. the
523
+ // eye while hidden) doesn't leave a same-sized invisible hole where the
524
+ // still-faded ⋮ menu would've been; the title grows into that space. The
525
+ // collapse chevron sits outside the fade group and never fades.
494
526
  "& .PsLegend-rowFade > *": {
495
527
  opacity: 1,
496
528
  transition: ({
497
529
  transitions: t
498
- }) => t.create("opacity", {
530
+ }) => t.create(["opacity", "width"], {
499
531
  duration: t.duration.standard,
500
532
  easing: t.easing.easeInOut
501
533
  }),
@@ -506,14 +538,21 @@ const j = {
506
538
  opacity: 1
507
539
  }
508
540
  },
509
- "&:hover .PsLegend-rowFade > *, &:focus-within .PsLegend-rowFade > *": {
510
- opacity: 1
511
- },
512
541
  // Faded actions don't reserve flex space on fine-pointer devices — the
513
542
  // title grows to the trailing edge. Hover/focus-within restores the slot
514
543
  // so the title reflows with the buttons; a dirty `.active` child keeps
515
544
  // the slot open even outside hover.
516
545
  "@media (hover: hover)": {
546
+ "& .PsLegend-rowFade > *:not(.active)": {
547
+ width: 0,
548
+ minWidth: 0,
549
+ // border-box IconButtons keep their padding inside `width` — zero it
550
+ // too, otherwise the fixed 2px+2px padding survives as a tiny but
551
+ // needless residual gap.
552
+ padding: 0,
553
+ overflow: "hidden",
554
+ pointerEvents: "none"
555
+ },
517
556
  "& .PsLegend-rowActions:not(:has(.active))": {
518
557
  width: 0,
519
558
  minWidth: 0,
@@ -525,6 +564,14 @@ const j = {
525
564
  pointerEvents: "none"
526
565
  }
527
566
  },
567
+ "&:hover .PsLegend-rowFade > *, &:focus-within .PsLegend-rowFade > *": {
568
+ opacity: 1,
569
+ width: "auto",
570
+ minWidth: 0,
571
+ padding: "2px",
572
+ overflow: "visible",
573
+ pointerEvents: "auto"
574
+ },
528
575
  "&:hover .PsLegend-rowActions, &:focus-within .PsLegend-rowActions": {
529
576
  width: "auto",
530
577
  minWidth: 0,
@@ -565,7 +612,9 @@ const j = {
565
612
  // band (subtitle flows below them) — hence `flex-start` with the title
566
613
  // optically centered against the 30px icon-button row. Sticky: pins inside
567
614
  // the panel's scroll container; `top` is applied inline per row (0, or the
568
- // group-header height for grouped rows).
615
+ // group-header height for grouped rows). Grouped rows get an extra 20px
616
+ // left inset (36px total) so member layers read as nested under the group
617
+ // and line up with the group's own icon+label text start.
569
618
  header: {
570
619
  display: "flex",
571
620
  alignItems: "flex-start",
@@ -580,6 +629,9 @@ const j = {
580
629
  zIndex: 2,
581
630
  backgroundColor: "background.paper"
582
631
  },
632
+ headerGrouped: {
633
+ paddingLeft: 4.5
634
+ },
583
635
  titleBox: {
584
636
  flex: 1,
585
637
  minWidth: 0,
@@ -606,8 +658,11 @@ const j = {
606
658
  alignItems: "center",
607
659
  gap: 0.5
608
660
  },
661
+ // No `flex:1` here — the title sizes to its own text (shrinking to
662
+ // ellipsis when too long) so the chevron sits right after it, instead of
663
+ // being dragged to the trailing edge of `titleLine` (which spans the full
664
+ // width of `titleBox`, itself `flex:1` to fill the header up to actions).
609
665
  title: {
610
- flex: 1,
611
666
  minWidth: 0,
612
667
  overflow: "hidden",
613
668
  textOverflow: "ellipsis",
@@ -657,18 +712,24 @@ const j = {
657
712
  spacing: t
658
713
  }) => t(0.5, 2, 1, 2)
659
714
  },
715
+ contentGrouped: {
716
+ paddingLeft: 4.5
717
+ },
660
718
  // ~16px above the note (content's 8px bottom inset + 8px here), per design.
661
719
  footer: {
662
720
  padding: ({
663
721
  spacing: t
664
722
  }) => t(1, 2, 1, 2)
665
723
  },
724
+ footerGrouped: {
725
+ paddingLeft: 4.5
726
+ },
666
727
  dimmed: {
667
728
  opacity: 0.5
668
729
  }
669
730
  };
670
731
  function Xt(t) {
671
- const e = T(30), {
732
+ const e = T(31), {
672
733
  layerId: o,
673
734
  children: r
674
735
  } = t, l = N();
@@ -677,62 +738,59 @@ function Xt(t) {
677
738
  const n = Z(l, i), a = Z(l, qt);
678
739
  let s;
679
740
  e[2] !== o ? (s = (m) => Lt(m, o), e[2] = o, e[3] = s) : s = e[3];
680
- const c = U(l, s), p = ue() !== null, f = et(), [u, y] = J(!1), h = n?.visible ?? !0, g = u && h;
681
- let v;
682
- e[4] !== o || e[5] !== g ? (v = {
741
+ const c = j(l, s), p = ue() !== null, f = tt(), [u, y] = J(!1), h = n?.visible ?? !0, g = u && h;
742
+ let x;
743
+ e[4] !== o || e[5] !== g ? (x = {
683
744
  layerId: o,
684
745
  opacityOpen: g,
685
746
  setOpacityOpen: y
686
- }, e[4] = o, e[5] = g, e[6] = v) : v = e[6];
687
- const b = v;
747
+ }, e[4] = o, e[5] = g, e[6] = x) : x = e[6];
748
+ const b = x;
688
749
  if (!n)
689
750
  return null;
690
751
  let S;
691
- e[7] !== r ? (S = Ye(r), e[7] = r, e[8] = S) : S = e[8];
752
+ e[7] !== r ? (S = Je(r), e[7] = r, e[8] = S) : S = e[8];
692
753
  const {
693
754
  actions: L,
694
755
  body: C
695
- } = S, x = !n.visible || n.collapsed, I = p ? ot : 0, w = n.visible && c;
756
+ } = S, v = !n.visible || n.collapsed, I = p ? we : 0, w = n.visible && c;
696
757
  let O;
697
758
  e[9] !== n.collapsed || e[10] !== o || e[11] !== a ? (O = () => a(o, !n.collapsed), e[9] = n.collapsed, e[10] = o, e[11] = a, e[12] = O) : O = e[12];
698
759
  const k = O;
699
760
  let $;
700
- e[13] !== L || e[14] !== C || e[15] !== w || e[16] !== x || e[17] !== n.collapsed || e[18] !== n.helperText || e[19] !== n.name || e[20] !== n.subtitle || e[21] !== n.visible || e[22] !== b || e[23] !== I || e[24] !== k ? ($ = (m) => /* @__PURE__ */ d(Ze.Provider, { value: b, children: /* @__PURE__ */ M(A, { ref: m?.rootRef, style: m?.rootStyle, sx: [j.row, m?.dragging === !0 && j.rowDragging], children: [
701
- /* @__PURE__ */ M(A, { sx: j.header, style: {
761
+ e[13] !== L || e[14] !== C || e[15] !== w || e[16] !== v || e[17] !== p || e[18] !== n.collapsed || e[19] !== n.helperText || e[20] !== n.name || e[21] !== n.subtitle || e[22] !== n.visible || e[23] !== b || e[24] !== I || e[25] !== k ? ($ = (m) => /* @__PURE__ */ d(Ke.Provider, { value: b, children: /* @__PURE__ */ M(A, { ref: m?.rootRef, style: m?.rootStyle, sx: [F.row, m?.dragging === !0 && F.rowDragging], children: [
762
+ /* @__PURE__ */ M(A, { sx: [F.header, p && F.headerGrouped], style: {
702
763
  top: I
703
764
  }, children: [
704
765
  m?.handle,
705
- /* @__PURE__ */ M(A, { sx: [j.titleBox, w && j.titleBoxInteractive], ...w && {
766
+ /* @__PURE__ */ M(A, { sx: [F.titleBox, w && F.titleBoxInteractive], ...w && {
706
767
  role: "button",
707
768
  tabIndex: 0,
708
769
  "aria-expanded": !n.collapsed,
709
770
  onClick: k,
710
- onKeyDown: je(k)
771
+ onKeyDown: Ze(k)
711
772
  }, children: [
712
- /* @__PURE__ */ M(A, { sx: j.titleLine, children: [
713
- /* @__PURE__ */ d(Fe, { title: n.name, dependencies: [n.name], children: (P) => {
773
+ /* @__PURE__ */ M(A, { sx: F.titleLine, children: [
774
+ /* @__PURE__ */ d(Ue, { title: n.name, dependencies: [n.name], children: (P) => {
714
775
  const {
715
776
  ref: z
716
777
  } = P;
717
- return /* @__PURE__ */ d(E, { ref: z, variant: "button", color: n.visible ? "text.primary" : "text.disabled", sx: j.title, children: n.name });
778
+ return /* @__PURE__ */ d(E, { ref: z, variant: "button", color: n.visible ? "text.primary" : "text.disabled", sx: F.title, children: n.name });
718
779
  } }),
719
- w && /* @__PURE__ */ d(Ve, { sx: [j.chevron, n.collapsed && j.chevronCollapsed] })
780
+ w && /* @__PURE__ */ d(We, { sx: [F.chevron, n.collapsed && F.chevronCollapsed] })
720
781
  ] }),
721
- n.subtitle && !x && /* @__PURE__ */ d(E, { variant: "caption", color: "text.secondary", children: n.subtitle })
782
+ n.subtitle && !v && /* @__PURE__ */ d(E, { variant: "caption", color: "text.secondary", children: n.subtitle })
722
783
  ] }),
723
- /* @__PURE__ */ d(A, { className: "PsLegend-rowActions", sx: j.actions, children: L })
784
+ /* @__PURE__ */ d(A, { className: "PsLegend-rowActions", sx: F.actions, children: L })
724
785
  ] }),
725
- /* @__PURE__ */ M(He, { in: !x, children: [
726
- /* @__PURE__ */ d(A, { sx: n.visible ? j.content : {
727
- ...j.content,
728
- ...j.dimmed
729
- }, children: C }),
730
- n.helperText && /* @__PURE__ */ d(A, { sx: j.footer, children: typeof n.helperText == "string" ? /* @__PURE__ */ d(E, { variant: "caption", color: "text.secondary", children: n.helperText }) : n.helperText })
786
+ /* @__PURE__ */ M(Re, { in: !v, children: [
787
+ /* @__PURE__ */ d(A, { sx: [F.content, p && F.contentGrouped, !n.visible && F.dimmed], children: C }),
788
+ n.helperText && /* @__PURE__ */ d(A, { sx: [F.footer, p && F.footerGrouped], children: typeof n.helperText == "string" ? /* @__PURE__ */ d(E, { variant: "caption", color: "text.secondary", children: n.helperText }) : n.helperText })
731
789
  ] })
732
- ] }) }), e[13] = L, e[14] = C, e[15] = w, e[16] = x, e[17] = n.collapsed, e[18] = n.helperText, e[19] = n.name, e[20] = n.subtitle, e[21] = n.visible, e[22] = b, e[23] = I, e[24] = k, e[25] = $) : $ = e[25];
790
+ ] }) }), e[13] = L, e[14] = C, e[15] = w, e[16] = v, e[17] = p, e[18] = n.collapsed, e[19] = n.helperText, e[20] = n.name, e[21] = n.subtitle, e[22] = n.visible, e[23] = b, e[24] = I, e[25] = k, e[26] = $) : $ = e[26];
733
791
  const _ = $;
734
792
  let G;
735
- return e[26] !== o || e[27] !== _ || e[28] !== f ? (G = f ? /* @__PURE__ */ d(tt, { kind: "layer", id: o, render: _ }) : _(), e[26] = o, e[27] = _, e[28] = f, e[29] = G) : G = e[29], G;
793
+ return e[27] !== o || e[28] !== _ || e[29] !== f ? (G = f ? /* @__PURE__ */ d(ot, { kind: "layer", id: o, render: _ }) : _(), e[27] = o, e[28] = _, e[29] = f, e[30] = G) : G = e[30], G;
736
794
  }
737
795
  function qt(t) {
738
796
  return t.setCollapsed;
@@ -752,17 +810,17 @@ function Jt(t) {
752
810
  labels: l
753
811
  } = t, i = N(), n = Q(), a = ue(), {
754
812
  labels: s
755
- } = B(), c = o !== void 0 && r !== void 0;
813
+ } = W(), c = o !== void 0 && r !== void 0;
756
814
  let p;
757
815
  e[0] !== c || e[1] !== n ? (p = (m) => !c && n ? m.layers[n.layerId]?.visible ?? !0 : !0, e[0] = c, e[1] = n, e[2] = p) : p = e[2];
758
- const f = U(i, p);
816
+ const f = j(i, p);
759
817
  let u;
760
- e[3] !== c || e[4] !== a || e[5] !== n ? (u = (m) => !c && !n && a ? ke(m, a) : "visible", e[3] = c, e[4] = a, e[5] = n, e[6] = u) : u = e[6];
761
- const y = Z(i, u), h = U(i, to), g = U(i, eo);
762
- let v, b;
763
- e[7] !== c || e[8] !== a || e[9] !== n ? (v = () => {
818
+ e[3] !== c || e[4] !== a || e[5] !== n ? (u = (m) => !c && !n && a ? $e(m, a) : "visible", e[3] = c, e[4] = a, e[5] = n, e[6] = u) : u = e[6];
819
+ const y = Z(i, u), h = j(i, to), g = j(i, eo);
820
+ let x, b;
821
+ e[7] !== c || e[8] !== a || e[9] !== n ? (x = () => {
764
822
  !c && !n && !a && console.warn("Legend.VisibilityToggle needs `visibility`/`onToggle` props or a Legend.Row / Legend.Group context.");
765
- }, b = [c, n, a], e[7] = c, e[8] = a, e[9] = n, e[10] = v, e[11] = b) : (v = e[10], b = e[11]), ft(v, b);
823
+ }, b = [c, n, a], e[7] = c, e[8] = a, e[9] = n, e[10] = x, e[11] = b) : (x = e[10], b = e[11]), ft(x, b);
766
824
  let S, L, C = l;
767
825
  if (c) {
768
826
  S = o;
@@ -784,13 +842,13 @@ function Jt(t) {
784
842
  } else
785
843
  return null;
786
844
  const {
787
- hideLayer: x,
845
+ hideLayer: v,
788
846
  showLayer: I
789
- } = C ?? s, w = Yt[S], O = S === "hidden" ? I : x, k = S === "visible" ? void 0 : "active";
847
+ } = C ?? s, w = Yt[S], O = S === "hidden" ? I : v, k = S === "visible" ? void 0 : "active";
790
848
  let $;
791
849
  e[26] !== w ? ($ = /* @__PURE__ */ d(w, { fontSize: "small" }), e[26] = w, e[27] = $) : $ = e[27];
792
850
  let _;
793
- e[28] !== L || e[29] !== O || e[30] !== k || e[31] !== $ ? (_ = /* @__PURE__ */ d(ve, { size: "small", className: k, onClick: L, "aria-label": O, children: $ }), e[28] = L, e[29] = O, e[30] = k, e[31] = $, e[32] = _) : _ = e[32];
851
+ e[28] !== L || e[29] !== O || e[30] !== k || e[31] !== $ ? (_ = /* @__PURE__ */ d(xe, { size: "small", className: k, onClick: L, "aria-label": O, children: $ }), e[28] = L, e[29] = O, e[30] = k, e[31] = $, e[32] = _) : _ = e[32];
794
852
  let G;
795
853
  return e[33] !== O || e[34] !== _ ? (G = /* @__PURE__ */ d(ie, { title: O, children: _ }), e[33] = O, e[34] = _, e[35] = G) : G = e[35], G;
796
854
  }
@@ -800,18 +858,18 @@ function eo(t) {
800
858
  function to(t) {
801
859
  return t.setVisibility;
802
860
  }
803
- function Oe(t) {
861
+ function _e(t) {
804
862
  const e = T(23), {
805
863
  children: o,
806
864
  gate: r,
807
865
  ariaLabel: l,
808
866
  active: i
809
- } = t, n = r === void 0 ? !0 : r, a = i === void 0 ? !1 : i, [s, c] = J(null), [p, f] = J(!1), u = Te(!1), y = !!s, {
867
+ } = t, n = r === void 0 ? !0 : r, a = i === void 0 ? !1 : i, [s, c] = J(null), [p, f] = J(!1), u = De(!1), y = !!s, {
810
868
  labels: h
811
- } = B();
869
+ } = W();
812
870
  let g;
813
871
  e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (g = () => c(null), e[0] = g) : g = e[0];
814
- const v = g;
872
+ const x = g;
815
873
  let b;
816
874
  e[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (b = (V) => {
817
875
  u.current = V, f(V);
@@ -820,17 +878,17 @@ function Oe(t) {
820
878
  let L;
821
879
  e[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (L = () => u.current, e[2] = L) : L = e[2];
822
880
  const C = L;
823
- let x;
824
- e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x = () => {
825
- u.current || v();
826
- }, e[3] = x) : x = e[3];
827
- const I = x;
881
+ let v;
882
+ e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (v = () => {
883
+ u.current || x();
884
+ }, e[3] = v) : v = e[3];
885
+ const I = v;
828
886
  let w;
829
887
  e[4] !== p ? (w = {
830
888
  busy: p,
831
889
  isBusy: C,
832
890
  setBusy: S,
833
- close: v
891
+ close: x
834
892
  }, e[4] = p, e[5] = w) : w = e[5];
835
893
  const O = w;
836
894
  if (!n || !o)
@@ -843,13 +901,13 @@ function Oe(t) {
843
901
  let G;
844
902
  e[7] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (G = /* @__PURE__ */ d(Gt, { fontSize: "small" }), e[7] = G) : G = e[7];
845
903
  let m;
846
- e[8] !== l || e[9] !== y || e[10] !== _ ? (m = /* @__PURE__ */ d(ve, { size: "small", className: _, onClick: $, "aria-label": l, "aria-haspopup": "menu", "aria-expanded": y, children: G }), e[8] = l, e[9] = y, e[10] = _, e[11] = m) : m = e[11];
904
+ e[8] !== l || e[9] !== y || e[10] !== _ ? (m = /* @__PURE__ */ d(xe, { size: "small", className: _, onClick: $, "aria-label": l, "aria-haspopup": "menu", "aria-expanded": y, children: G }), e[8] = l, e[9] = y, e[10] = _, e[11] = m) : m = e[11];
847
905
  let P;
848
906
  e[12] !== h.moreOptions || e[13] !== m ? (P = /* @__PURE__ */ d(ie, { title: h.moreOptions, children: m }), e[12] = h.moreOptions, e[13] = m, e[14] = P) : P = e[14];
849
907
  let z;
850
- e[15] !== s || e[16] !== o || e[17] !== y ? (z = /* @__PURE__ */ d($e, { anchorEl: s, open: y, onClose: I, onClick: I, children: o }), e[15] = s, e[16] = o, e[17] = y, e[18] = z) : z = e[18];
908
+ e[15] !== s || e[16] !== o || e[17] !== y ? (z = /* @__PURE__ */ d(Oe, { anchorEl: s, open: y, onClose: I, onClick: I, children: o }), e[15] = s, e[16] = o, e[17] = y, e[18] = z) : z = e[18];
851
909
  let D;
852
- return e[19] !== O || e[20] !== P || e[21] !== z ? (D = /* @__PURE__ */ M(Xe.Provider, { value: O, children: [
910
+ return e[19] !== O || e[20] !== P || e[21] !== z ? (D = /* @__PURE__ */ M(qe.Provider, { value: O, children: [
853
911
  P,
854
912
  z
855
913
  ] }), e[19] = O, e[20] = P, e[21] = z, e[22] = D) : D = e[22], D;
@@ -859,9 +917,9 @@ function oo(t) {
859
917
  children: o
860
918
  } = t, r = Q(), {
861
919
  labels: l
862
- } = B(), i = !!r, n = r?.opacityOpen ?? !1;
920
+ } = W(), i = !!r, n = r?.opacityOpen ?? !1;
863
921
  let a;
864
- return e[0] !== o || e[1] !== l.layerOptions || e[2] !== i || e[3] !== n ? (a = /* @__PURE__ */ d(Oe, { gate: i, ariaLabel: l.layerOptions, active: n, children: o }), e[0] = o, e[1] = l.layerOptions, e[2] = i, e[3] = n, e[4] = a) : a = e[4], a;
922
+ return e[0] !== o || e[1] !== l.layerOptions || e[2] !== i || e[3] !== n ? (a = /* @__PURE__ */ d(_e, { gate: i, ariaLabel: l.layerOptions, active: n, children: o }), e[0] = o, e[1] = l.layerOptions, e[2] = i, e[3] = n, e[4] = a) : a = e[4], a;
865
923
  }
866
924
  async function nt(t, e) {
867
925
  if (!t.isBusy()) {
@@ -876,12 +934,12 @@ async function nt(t, e) {
876
934
  function no(t) {
877
935
  const e = T(13), {
878
936
  onZoomTo: o
879
- } = t, r = N(), l = Q(), i = qe();
937
+ } = t, r = N(), l = Q(), i = Qe();
880
938
  let n;
881
939
  e[0] !== l ? (n = (g) => l ? g.layers[l.layerId]?.visible ?? !1 : !1, e[0] = l, e[1] = n) : n = e[1];
882
- const a = U(r, n), {
940
+ const a = j(r, n), {
883
941
  labels: s
884
- } = B();
942
+ } = W();
885
943
  if (!l || !a)
886
944
  return null;
887
945
  const c = i?.busy ?? !1;
@@ -891,7 +949,7 @@ function no(t) {
891
949
  }, e[2] = i, e[3] = o, e[4] = l, e[5] = p) : p = e[5];
892
950
  const f = p;
893
951
  let u;
894
- e[6] !== c ? (u = c && /* @__PURE__ */ d(Re, { size: 16, sx: {
952
+ e[6] !== c ? (u = c && /* @__PURE__ */ d(Ve, { size: 16, sx: {
895
953
  mr: 1
896
954
  } }), e[6] = c, e[7] = u) : u = e[7];
897
955
  const y = c ? s.loading : s.zoomTo;
@@ -904,7 +962,7 @@ function no(t) {
904
962
  function lo() {
905
963
  const t = T(6), e = N(), o = Q(), {
906
964
  labels: r
907
- } = B();
965
+ } = W();
908
966
  if (!o)
909
967
  return null;
910
968
  let l;
@@ -921,7 +979,7 @@ function lo() {
921
979
  function io() {
922
980
  const t = T(6), e = N(), o = ue(), r = Q(), {
923
981
  labels: l
924
- } = B();
982
+ } = W();
925
983
  if (o === null && !r)
926
984
  return null;
927
985
  let i;
@@ -942,20 +1000,20 @@ function ro(t) {
942
1000
  children: o
943
1001
  } = t, r = ue(), {
944
1002
  labels: l
945
- } = B(), i = r !== null;
1003
+ } = W(), i = r !== null;
946
1004
  let n;
947
- return e[0] !== o || e[1] !== l.groupOptions || e[2] !== i ? (n = /* @__PURE__ */ d(Oe, { gate: i, ariaLabel: l.groupOptions, children: o }), e[0] = o, e[1] = l.groupOptions, e[2] = i, e[3] = n) : n = e[3], n;
1005
+ return e[0] !== o || e[1] !== l.groupOptions || e[2] !== i ? (n = /* @__PURE__ */ d(_e, { gate: i, ariaLabel: l.groupOptions, children: o }), e[0] = o, e[1] = l.groupOptions, e[2] = i, e[3] = n) : n = e[3], n;
948
1006
  }
949
1007
  function so() {
950
1008
  const t = T(6), e = N(), o = ue(), {
951
1009
  labels: r
952
- } = B();
1010
+ } = W();
953
1011
  if (o === null)
954
1012
  return null;
955
1013
  let l;
956
1014
  t[0] !== o || t[1] !== e ? (l = () => {
957
1015
  const a = X(e).getState();
958
- for (const s of xe(a))
1016
+ for (const s of ve(a))
959
1017
  a.setGroupVisibility(s.id, s.id === o);
960
1018
  for (const s of re(a, void 0))
961
1019
  a.setVisibility(s.id, !1);
@@ -965,15 +1023,15 @@ function so() {
965
1023
  return t[3] !== r.showOnlyGroup || t[4] !== i ? (n = /* @__PURE__ */ d(q, { onClick: i, children: r.showOnlyGroup }), t[3] = r.showOnlyGroup, t[4] = i, t[5] = n) : n = t[5], n;
966
1024
  }
967
1025
  function ao() {
968
- const t = T(5), e = N(), o = U(e, De), {
1026
+ const t = T(5), e = N(), o = j(e, Ee), {
969
1027
  labels: r
970
- } = B();
1028
+ } = W();
971
1029
  if (!o)
972
1030
  return null;
973
1031
  let l;
974
1032
  t[0] !== e ? (l = () => {
975
1033
  const a = X(e).getState();
976
- for (const s of xe(a))
1034
+ for (const s of ve(a))
977
1035
  a.setGroupVisibility(s.id, !0);
978
1036
  for (const s of re(a, void 0))
979
1037
  a.setVisibility(s.id, !0);
@@ -983,15 +1041,15 @@ function ao() {
983
1041
  return t[2] !== r.showAllGroups || t[3] !== i ? (n = /* @__PURE__ */ d(q, { onClick: i, children: r.showAllGroups }), t[2] = r.showAllGroups, t[3] = i, t[4] = n) : n = t[4], n;
984
1042
  }
985
1043
  function co() {
986
- const t = T(5), e = N(), o = U(e, De), r = U(e, Pe), {
1044
+ const t = T(5), e = N(), o = j(e, Ee), r = j(e, Ae), {
987
1045
  labels: l
988
- } = B();
1046
+ } = W();
989
1047
  if (!o)
990
1048
  return null;
991
1049
  let i;
992
1050
  t[0] !== e ? (i = () => {
993
- const c = X(e).getState(), p = Pe(c);
994
- for (const f of xe(c))
1051
+ const c = X(e).getState(), p = Ae(c);
1052
+ for (const f of ve(c))
995
1053
  c.setGroupCollapsed(f.id, !p);
996
1054
  }, t[0] = e, t[1] = i) : i = t[1];
997
1055
  const n = i, a = r ? l.expandAllGroups : l.collapseAllGroups;
@@ -1001,12 +1059,12 @@ function co() {
1001
1059
  function uo(t) {
1002
1060
  const e = T(13), {
1003
1061
  onZoomTo: o
1004
- } = t, r = N(), l = ue(), i = qe();
1062
+ } = t, r = N(), l = ue(), i = Qe();
1005
1063
  let n;
1006
- e[0] !== l ? (n = (g) => l !== null && ke(g, l) === "hidden", e[0] = l, e[1] = n) : n = e[1];
1007
- const a = U(r, n), {
1064
+ e[0] !== l ? (n = (g) => l !== null && $e(g, l) === "hidden", e[0] = l, e[1] = n) : n = e[1];
1065
+ const a = j(r, n), {
1008
1066
  labels: s
1009
- } = B();
1067
+ } = W();
1010
1068
  if (l === null || a)
1011
1069
  return null;
1012
1070
  const c = i?.busy ?? !1;
@@ -1016,7 +1074,7 @@ function uo(t) {
1016
1074
  }, e[2] = l, e[3] = i, e[4] = o, e[5] = p) : p = e[5];
1017
1075
  const f = p;
1018
1076
  let u;
1019
- e[6] !== c ? (u = c && /* @__PURE__ */ d(Re, { size: 16, sx: {
1077
+ e[6] !== c ? (u = c && /* @__PURE__ */ d(Ve, { size: 16, sx: {
1020
1078
  mr: 1
1021
1079
  } }), e[6] = c, e[7] = u) : u = e[7];
1022
1080
  const y = c ? s.loading : s.zoomToGroup;
@@ -1031,9 +1089,9 @@ function po(t) {
1031
1089
  children: o
1032
1090
  } = t, {
1033
1091
  labels: r
1034
- } = B();
1092
+ } = W();
1035
1093
  let l;
1036
- return e[0] !== o || e[1] !== r.panelOptions ? (l = /* @__PURE__ */ d(Oe, { ariaLabel: r.panelOptions, children: o }), e[0] = o, e[1] = r.panelOptions, e[2] = l) : l = e[2], l;
1094
+ return e[0] !== o || e[1] !== r.panelOptions ? (l = /* @__PURE__ */ d(_e, { ariaLabel: r.panelOptions, children: o }), e[0] = o, e[1] = r.panelOptions, e[2] = l) : l = e[2], l;
1037
1095
  }
1038
1096
  const ee = {
1039
1097
  // Tooltip wrapper around the (possibly disabled) trigger button. A plain
@@ -1095,14 +1153,14 @@ const ee = {
1095
1153
  }
1096
1154
  };
1097
1155
  function fo(t, e) {
1098
- return Ee(X(t).getState());
1156
+ return He(X(t).getState());
1099
1157
  }
1100
1158
  function ho() {
1101
1159
  const t = T(33), e = N(), [o, r] = J(null);
1102
- U(e, mo);
1160
+ j(e, mo);
1103
1161
  const l = fo(e), i = Z(e, yo), {
1104
1162
  labels: n
1105
- } = B(), a = l.reduce(go, 0), s = !!o && a > 0;
1163
+ } = W(), a = l.reduce(go, 0), s = !!o && a > 0;
1106
1164
  let c;
1107
1165
  t[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (c = (G) => r(G.currentTarget), t[0] = c) : c = t[0];
1108
1166
  const p = c;
@@ -1111,23 +1169,23 @@ function ho() {
1111
1169
  const u = f, y = s ? "active" : void 0, h = a === 0;
1112
1170
  let g;
1113
1171
  t[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (g = /* @__PURE__ */ d(Pt, { fontSize: "small" }), t[2] = g) : g = t[2];
1114
- let v;
1115
- t[3] !== n.enabledLayers || t[4] !== s || t[5] !== y || t[6] !== h ? (v = /* @__PURE__ */ d(A, { component: "span", sx: ee.triggerWrap, children: /* @__PURE__ */ d(ve, { size: "small", className: y, disabled: h, onClick: p, "aria-label": n.enabledLayers, "aria-haspopup": "menu", "aria-expanded": s, children: g }) }), t[3] = n.enabledLayers, t[4] = s, t[5] = y, t[6] = h, t[7] = v) : v = t[7];
1172
+ let x;
1173
+ t[3] !== n.enabledLayers || t[4] !== s || t[5] !== y || t[6] !== h ? (x = /* @__PURE__ */ d(A, { component: "span", sx: ee.triggerWrap, children: /* @__PURE__ */ d(xe, { size: "small", className: y, disabled: h, onClick: p, "aria-label": n.enabledLayers, "aria-haspopup": "menu", "aria-expanded": s, children: g }) }), t[3] = n.enabledLayers, t[4] = s, t[5] = y, t[6] = h, t[7] = x) : x = t[7];
1116
1174
  let b;
1117
- t[8] !== n.toggleEnabledLayers || t[9] !== v ? (b = /* @__PURE__ */ d(ie, { title: n.toggleEnabledLayers, children: v }), t[8] = n.toggleEnabledLayers, t[9] = v, t[10] = b) : b = t[10];
1118
- const S = $e;
1175
+ t[8] !== n.toggleEnabledLayers || t[9] !== x ? (b = /* @__PURE__ */ d(ie, { title: n.toggleEnabledLayers, children: x }), t[8] = n.toggleEnabledLayers, t[9] = x, t[10] = b) : b = t[10];
1176
+ const S = Oe;
1119
1177
  let L;
1120
1178
  t[11] !== u ? (L = {
1121
1179
  onExited: u
1122
1180
  }, t[11] = u, t[12] = L) : L = t[12];
1123
- let C, x;
1181
+ let C, v;
1124
1182
  t[13] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (C = {
1125
1183
  disablePadding: !0
1126
- }, x = {
1184
+ }, v = {
1127
1185
  paper: {
1128
1186
  sx: ee.paper
1129
1187
  }
1130
- }, t[13] = C, t[14] = x) : (C = t[13], x = t[14]);
1188
+ }, t[13] = C, t[14] = v) : (C = t[13], v = t[14]);
1131
1189
  const I = `${n.enabledLayers} (${a})`;
1132
1190
  let w;
1133
1191
  t[15] !== I ? (w = /* @__PURE__ */ d(E, { component: "div", variant: "caption", color: "text.primary", sx: ee.stickyHeader, children: I }), t[15] = I, t[16] = w) : w = t[16];
@@ -1138,10 +1196,10 @@ function ho() {
1138
1196
  ] }, P.id))], t[17] = n.hideLayer, t[18] = i, t[19] = O) : O = t[19];
1139
1197
  const k = l.flatMap(O);
1140
1198
  let $;
1141
- t[20] !== S || t[21] !== o || t[22] !== u || t[23] !== s || t[24] !== w || t[25] !== k || t[26] !== L || t[27] !== C || t[28] !== x ? ($ = /* @__PURE__ */ M(S, { anchorEl: o, open: s, onClose: u, TransitionProps: L, MenuListProps: C, slotProps: x, children: [
1199
+ t[20] !== S || t[21] !== o || t[22] !== u || t[23] !== s || t[24] !== w || t[25] !== k || t[26] !== L || t[27] !== C || t[28] !== v ? ($ = /* @__PURE__ */ M(S, { anchorEl: o, open: s, onClose: u, TransitionProps: L, MenuListProps: C, slotProps: v, children: [
1142
1200
  w,
1143
1201
  k
1144
- ] }), t[20] = S, t[21] = o, t[22] = u, t[23] = s, t[24] = w, t[25] = k, t[26] = L, t[27] = C, t[28] = x, t[29] = $) : $ = t[29];
1202
+ ] }), t[20] = S, t[21] = o, t[22] = u, t[23] = s, t[24] = w, t[25] = k, t[26] = L, t[27] = C, t[28] = v, t[29] = $) : $ = t[29];
1145
1203
  let _;
1146
1204
  return t[30] !== $ || t[31] !== b ? (_ = /* @__PURE__ */ M(he, { children: [
1147
1205
  b,
@@ -1155,22 +1213,22 @@ function yo(t) {
1155
1213
  return t.setVisibility;
1156
1214
  }
1157
1215
  function mo(t) {
1158
- return Ee(t).map(bo).join("|");
1216
+ return He(t).map(bo).join("|");
1159
1217
  }
1160
1218
  function bo(t) {
1161
1219
  const {
1162
1220
  group: e,
1163
1221
  layers: o
1164
1222
  } = t;
1165
- return `${e?.id ?? ""}${e?.label ?? ""}:${o.map(xo).join(",")}`;
1223
+ return `${e?.id ?? ""}${e?.label ?? ""}:${o.map(vo).join(",")}`;
1166
1224
  }
1167
- function xo(t) {
1225
+ function vo(t) {
1168
1226
  return `${t.id}${t.name}`;
1169
1227
  }
1170
- function vo(t) {
1228
+ function xo(t) {
1171
1229
  const e = T(27), {
1172
1230
  children: o
1173
- } = t, r = N(), [l, i] = J(null), n = Te(void 0), a = Z(r, Lo);
1231
+ } = t, r = N(), [l, i] = J(null), n = De(void 0), a = Z(r, Lo);
1174
1232
  let s;
1175
1233
  e[0] !== r ? (s = (k, $) => {
1176
1234
  const _ = de(k), G = de($);
@@ -1190,13 +1248,13 @@ function vo(t) {
1190
1248
  if (!G || !m || k.code !== "ArrowDown" && k.code !== "ArrowUp")
1191
1249
  return;
1192
1250
  k.preventDefault();
1193
- const D = k.code === "ArrowDown", W = z.getEnabled().filter((R) => R.id !== G.id && c(String(G.id), String(R.id))).flatMap((R) => {
1251
+ const D = k.code === "ArrowDown", B = z.getEnabled().filter((R) => R.id !== G.id && c(String(G.id), String(R.id))).flatMap((R) => {
1194
1252
  const H = P.get(R.id);
1195
1253
  return H ? [H] : [];
1196
1254
  }).filter((R) => D ? R.top > m.top : R.top < m.top).sort((R, H) => D ? R.top - H.top : H.top - R.top)[0];
1197
- return W ? {
1198
- x: W.left,
1199
- y: W.top
1255
+ return B ? {
1256
+ x: B.left,
1257
+ y: B.top
1200
1258
  } : void 0;
1201
1259
  }, e[2] = c, e[3] = p) : p = e[3];
1202
1260
  const f = p;
@@ -1204,24 +1262,24 @@ function vo(t) {
1204
1262
  e[4] !== f ? (u = {
1205
1263
  coordinateGetter: f
1206
1264
  }, e[4] = f, e[5] = u) : u = e[5];
1207
- const y = Et(Ae(Ht), Ae(Rt, u));
1265
+ const y = Et(Me(Ht), Me(Rt, u));
1208
1266
  let h;
1209
1267
  e[6] !== c ? (h = (k) => {
1210
1268
  const $ = k.droppableContainers.filter((_) => c(String(k.active.id), String(_.id)));
1211
- return Bt({
1269
+ return Wt({
1212
1270
  ...k,
1213
1271
  droppableContainers: $
1214
1272
  });
1215
1273
  }, e[6] = c, e[7] = h) : h = e[7];
1216
1274
  const g = h;
1217
- let v;
1218
- e[8] !== r ? (v = (k) => {
1275
+ let x;
1276
+ e[8] !== r ? (x = (k) => {
1219
1277
  const $ = String(k.active.id);
1220
1278
  i($);
1221
1279
  const _ = de($);
1222
1280
  n.current = _?.kind === "layer" ? X(r).getState().layers[_.id]?.groupId : void 0;
1223
- }, e[8] = r, e[9] = v) : v = e[9];
1224
- const b = v;
1281
+ }, e[8] = r, e[9] = x) : x = e[9];
1282
+ const b = x;
1225
1283
  let S;
1226
1284
  e[10] !== r ? (S = (k) => {
1227
1285
  i(null);
@@ -1236,39 +1294,39 @@ function vo(t) {
1236
1294
  return;
1237
1295
  const P = X(r).getState();
1238
1296
  if (G.kind === "group") {
1239
- const R = xe(P).findIndex((H) => H.id === m.id);
1297
+ const R = ve(P).findIndex((H) => H.id === m.id);
1240
1298
  R !== -1 && P.moveGroup(G.id, R);
1241
1299
  return;
1242
1300
  }
1243
1301
  const z = P.layers[G.id], D = P.layers[m.id];
1244
1302
  if (!z || !D || z.groupId !== D.groupId)
1245
1303
  return;
1246
- const W = re(P, z.groupId).findIndex((R) => R.id === m.id);
1247
- W !== -1 && P.moveLayer(G.id, W);
1304
+ const B = re(P, z.groupId).findIndex((R) => R.id === m.id);
1305
+ B !== -1 && P.moveLayer(G.id, B);
1248
1306
  }, e[10] = r, e[11] = S) : S = e[11];
1249
1307
  const L = S;
1250
1308
  let C;
1251
1309
  e[12] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (C = () => i(null), e[12] = C) : C = e[12];
1252
- let x;
1253
- e[13] !== o || e[14] !== a ? (x = /* @__PURE__ */ d(We, { items: a, strategy: Ne, children: o }), e[13] = o, e[14] = a, e[15] = x) : x = e[15];
1310
+ let v;
1311
+ e[13] !== o || e[14] !== a ? (v = /* @__PURE__ */ d(Ne, { items: a, strategy: Fe, children: o }), e[13] = o, e[14] = a, e[15] = v) : v = e[15];
1254
1312
  let I;
1255
1313
  e[16] !== l ? (I = l && /* @__PURE__ */ d(Co, { activeId: l }), e[16] = l, e[17] = I) : I = e[17];
1256
1314
  let w;
1257
- e[18] !== I ? (w = /* @__PURE__ */ d(Wt, { children: I }), e[18] = I, e[19] = w) : w = e[19];
1315
+ e[18] !== I ? (w = /* @__PURE__ */ d(Bt, { children: I }), e[18] = I, e[19] = w) : w = e[19];
1258
1316
  let O;
1259
- return e[20] !== g || e[21] !== L || e[22] !== b || e[23] !== y || e[24] !== w || e[25] !== x ? (O = /* @__PURE__ */ d(Je.Provider, { value: !0, children: /* @__PURE__ */ M(Vt, { sensors: y, collisionDetection: g, onDragStart: b, onDragEnd: L, onDragCancel: C, children: [
1260
- x,
1317
+ return e[20] !== g || e[21] !== L || e[22] !== b || e[23] !== y || e[24] !== w || e[25] !== v ? (O = /* @__PURE__ */ d(et.Provider, { value: !0, children: /* @__PURE__ */ M(Vt, { sensors: y, collisionDetection: g, onDragStart: b, onDragEnd: L, onDragCancel: C, children: [
1318
+ v,
1261
1319
  w
1262
- ] }) }), e[20] = g, e[21] = L, e[22] = b, e[23] = y, e[24] = w, e[25] = x, e[26] = O) : O = e[26], O;
1320
+ ] }) }), e[20] = g, e[21] = L, e[22] = b, e[23] = y, e[24] = w, e[25] = v, e[26] = O) : O = e[26], O;
1263
1321
  }
1264
1322
  function Lo(t) {
1265
- return [...xe(t).map(So), ...re(t, void 0).map(wo)];
1323
+ return [...ve(t).map(So), ...re(t, void 0).map(wo)];
1266
1324
  }
1267
1325
  function wo(t) {
1268
- return we("layer", t.id);
1326
+ return Se("layer", t.id);
1269
1327
  }
1270
1328
  function So(t) {
1271
- return we("group", t.id);
1329
+ return Se("group", t.id);
1272
1330
  }
1273
1331
  function Co(t) {
1274
1332
  const e = T(15), {
@@ -1279,10 +1337,10 @@ function Co(t) {
1279
1337
  const i = l;
1280
1338
  let n;
1281
1339
  e[2] !== i ? (n = (h) => i ? i.kind === "group" ? h.groups[i.id]?.label : h.layers[i.id]?.name : void 0, e[2] = i, e[3] = n) : n = e[3];
1282
- const a = U(r, n);
1340
+ const a = j(r, n);
1283
1341
  let s;
1284
1342
  e[4] !== i ? (s = (h) => i?.kind === "group" ? h.groups[i.id]?.icon : void 0, e[4] = i, e[5] = s) : s = e[5];
1285
- const c = U(r, s);
1343
+ const c = j(r, s);
1286
1344
  if (!i || a === void 0)
1287
1345
  return null;
1288
1346
  let p;
@@ -1326,14 +1384,14 @@ const pe = {
1326
1384
  textAlign: "right"
1327
1385
  }
1328
1386
  }
1329
- }, Me = (t) => Math.min(100, Math.max(0, Math.round(t)));
1387
+ }, ze = (t) => Math.min(100, Math.max(0, Math.round(t)));
1330
1388
  function Io() {
1331
1389
  const t = T(10), e = N(), o = Q();
1332
1390
  let r;
1333
1391
  t[0] !== o ? (r = (p) => o ? p.layers[o.layerId] : void 0, t[0] = o, t[1] = r) : r = t[1];
1334
1392
  const l = Z(e, r), i = Z(e, ko), {
1335
1393
  labels: n
1336
- } = B();
1394
+ } = W();
1337
1395
  if (!o || !l?.visible || !l.opacityControl)
1338
1396
  return null;
1339
1397
  let a;
@@ -1352,31 +1410,31 @@ function $o() {
1352
1410
  const t = T(47), e = N(), o = Q(), r = o?.layerId;
1353
1411
  let l;
1354
1412
  t[0] !== r ? (l = (H) => r ? H.layers[r]?.opacity ?? 1 : 1, t[0] = r, t[1] = l) : l = t[1];
1355
- const i = U(e, l), n = U(e, _o), {
1413
+ const i = j(e, l), n = j(e, _o), {
1356
1414
  labels: a
1357
- } = B(), [s, c] = J(null), [p, f] = J(null);
1415
+ } = W(), [s, c] = J(null), [p, f] = J(null);
1358
1416
  if (!o || !r || !o.opacityOpen)
1359
1417
  return null;
1360
1418
  let u;
1361
- t[2] !== s || t[3] !== i ? (u = s ?? Me(i * 100), t[2] = s, t[3] = i, t[4] = u) : u = t[4];
1419
+ t[2] !== s || t[3] !== i ? (u = s ?? ze(i * 100), t[2] = s, t[3] = i, t[4] = u) : u = t[4];
1362
1420
  const y = u;
1363
1421
  let h;
1364
1422
  t[5] !== r || t[6] !== n ? (h = (H) => {
1365
- const F = Me(H);
1366
- return n(r, F / 100), F;
1423
+ const U = ze(H);
1424
+ return n(r, U / 100), U;
1367
1425
  }, t[5] = r, t[6] = n, t[7] = h) : h = t[7];
1368
1426
  const g = h;
1369
- let v;
1370
- t[8] !== g ? (v = (H) => {
1427
+ let x;
1428
+ t[8] !== g ? (x = (H) => {
1371
1429
  if (f(H), H.trim() === "")
1372
1430
  return;
1373
- const F = Number(H);
1374
- if (!Number.isFinite(F))
1431
+ const U = Number(H);
1432
+ if (!Number.isFinite(U))
1375
1433
  return;
1376
- const se = g(F);
1377
- se !== F && f(String(se));
1378
- }, t[8] = g, t[9] = v) : v = t[9];
1379
- const b = v;
1434
+ const se = g(U);
1435
+ se !== U && f(String(se));
1436
+ }, t[8] = g, t[9] = x) : x = t[9];
1437
+ const b = x;
1380
1438
  let S;
1381
1439
  t[10] !== o ? (S = () => {
1382
1440
  o.setOpacityOpen(!1), f(null), c(null);
@@ -1384,10 +1442,10 @@ function $o() {
1384
1442
  const L = S;
1385
1443
  let C;
1386
1444
  t[12] !== a.opacity ? (C = /* @__PURE__ */ d(E, { variant: "caption", fontWeight: "medium", color: "text.primary", children: a.opacity }), t[12] = a.opacity, t[13] = C) : C = t[13];
1387
- let x;
1388
- t[14] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x = /* @__PURE__ */ d(At, { fontSize: "small" }), t[14] = x) : x = t[14];
1445
+ let v;
1446
+ t[14] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (v = /* @__PURE__ */ d(At, { fontSize: "small" }), t[14] = v) : v = t[14];
1389
1447
  let I;
1390
- t[15] !== L || t[16] !== a.close ? (I = /* @__PURE__ */ d(ve, { size: "small", onClick: L, "aria-label": a.close, children: x }), t[15] = L, t[16] = a.close, t[17] = I) : I = t[17];
1448
+ t[15] !== L || t[16] !== a.close ? (I = /* @__PURE__ */ d(xe, { size: "small", onClick: L, "aria-label": a.close, children: v }), t[15] = L, t[16] = a.close, t[17] = I) : I = t[17];
1391
1449
  let w;
1392
1450
  t[18] !== a.close || t[19] !== I ? (w = /* @__PURE__ */ d(ie, { title: a.close, children: I }), t[18] = a.close, t[19] = I, t[20] = w) : w = t[20];
1393
1451
  let O;
@@ -1396,12 +1454,12 @@ function $o() {
1396
1454
  w
1397
1455
  ] }), t[21] = C, t[22] = w, t[23] = O) : O = t[23];
1398
1456
  let k;
1399
- t[24] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (k = (H, F) => {
1400
- c(F), f(null);
1457
+ t[24] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (k = (H, U) => {
1458
+ c(U), f(null);
1401
1459
  }, t[24] = k) : k = t[24];
1402
1460
  let $;
1403
- t[25] !== g ? ($ = (H, F) => {
1404
- g(F), c(null);
1461
+ t[25] !== g ? ($ = (H, U) => {
1462
+ g(U), c(null);
1405
1463
  }, t[25] = g, t[26] = $) : $ = t[26];
1406
1464
  let _;
1407
1465
  t[27] !== a.opacity || t[28] !== y || t[29] !== $ ? (_ = /* @__PURE__ */ d(Ct, { size: "small", min: 0, max: 100, step: 1, value: y, onChange: k, onChangeCommitted: $, "aria-label": a.opacity, sx: pe.slider }), t[27] = a.opacity, t[28] = y, t[29] = $, t[30] = _) : _ = t[30];
@@ -1419,16 +1477,16 @@ function $o() {
1419
1477
  }, t[35] = a.opacity, t[36] = D) : D = t[36];
1420
1478
  let V;
1421
1479
  t[37] !== G || t[38] !== m || t[39] !== D ? (V = /* @__PURE__ */ d(kt, { size: "small", value: G, onChange: m, onBlur: P, onKeyDown: Oo, endAdornment: z, inputProps: D, sx: pe.input }), t[37] = G, t[38] = m, t[39] = D, t[40] = V) : V = t[40];
1422
- let W;
1423
- t[41] !== _ || t[42] !== V ? (W = /* @__PURE__ */ M(A, { sx: pe.inlineControls, children: [
1480
+ let B;
1481
+ t[41] !== _ || t[42] !== V ? (B = /* @__PURE__ */ M(A, { sx: pe.inlineControls, children: [
1424
1482
  _,
1425
1483
  V
1426
- ] }), t[41] = _, t[42] = V, t[43] = W) : W = t[43];
1484
+ ] }), t[41] = _, t[42] = V, t[43] = B) : B = t[43];
1427
1485
  let R;
1428
- return t[44] !== W || t[45] !== O ? (R = /* @__PURE__ */ M(A, { sx: pe.inline, children: [
1486
+ return t[44] !== B || t[45] !== O ? (R = /* @__PURE__ */ M(A, { sx: pe.inline, children: [
1429
1487
  O,
1430
- W
1431
- ] }), t[44] = W, t[45] = O, t[46] = R) : R = t[46], R;
1488
+ B
1489
+ ] }), t[44] = B, t[45] = O, t[46] = R) : R = t[46], R;
1432
1490
  }
1433
1491
  function Oo(t) {
1434
1492
  t.key === "Enter" && t.target.blur();
@@ -1497,7 +1555,7 @@ function Po() {
1497
1555
  t[0] !== r ? (l = (O) => r ? O.layers[r]?.sections : void 0, t[0] = r, t[1] = l) : l = t[1];
1498
1556
  const i = Z(e, l), n = Z(e, Ao), {
1499
1557
  labels: a
1500
- } = B(), [s, c] = J(null), p = !!s;
1558
+ } = W(), [s, c] = J(null), p = !!s;
1501
1559
  if (!r || !i || i.length === 0)
1502
1560
  return null;
1503
1561
  const f = i[0].active, u = i.length > 1;
@@ -1510,13 +1568,13 @@ function Po() {
1510
1568
  ...ne.chevron,
1511
1569
  ...ne.chevronOpen
1512
1570
  } : ne.chevron, t[5] = p, t[6] = g) : g = t[6];
1513
- let v;
1514
- t[7] !== g ? (v = /* @__PURE__ */ d(Mt, { fontSize: "small", sx: g }), t[7] = g, t[8] = v) : v = t[8];
1571
+ let x;
1572
+ t[7] !== g ? (x = /* @__PURE__ */ d(Mt, { fontSize: "small", sx: g }), t[7] = g, t[8] = x) : x = t[8];
1515
1573
  let b;
1516
- t[9] !== a.attribute || t[10] !== p || t[11] !== h || t[12] !== v ? (b = /* @__PURE__ */ M($t, { sx: ne.trigger, onClick: y, "aria-label": a.attribute, "aria-haspopup": "listbox", "aria-expanded": p, children: [
1574
+ t[9] !== a.attribute || t[10] !== p || t[11] !== h || t[12] !== x ? (b = /* @__PURE__ */ M($t, { sx: ne.trigger, onClick: y, "aria-label": a.attribute, "aria-haspopup": "listbox", "aria-expanded": p, children: [
1517
1575
  h,
1518
- v
1519
- ] }), t[9] = a.attribute, t[10] = p, t[11] = h, t[12] = v, t[13] = b) : b = t[13];
1576
+ x
1577
+ ] }), t[9] = a.attribute, t[10] = p, t[11] = h, t[12] = x, t[13] = b) : b = t[13];
1520
1578
  let S;
1521
1579
  t[14] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (S = () => c(null), t[14] = S) : S = t[14];
1522
1580
  const L = s?.clientWidth;
@@ -1528,16 +1586,16 @@ function Po() {
1528
1586
  }
1529
1587
  }
1530
1588
  }, t[15] = L, t[16] = C) : C = t[16];
1531
- let x;
1589
+ let v;
1532
1590
  if (t[17] !== r || t[18] !== i || t[19] !== n || t[20] !== u) {
1533
1591
  let O;
1534
1592
  t[22] !== r || t[23] !== n || t[24] !== u ? (O = (k) => [u && k.title ? /* @__PURE__ */ d(E, { variant: "overline", color: "text.secondary", component: "li", sx: ne.sectionTitle, children: k.title }, `${k.id}-title`) : null, ...k.options.map(($) => /* @__PURE__ */ d(q, { selected: $ === k.active, sx: ne.option, onClick: () => {
1535
1593
  n(r, k.id, $), c(null);
1536
- }, children: $ }, `${k.id}-${$}`))], t[22] = r, t[23] = n, t[24] = u, t[25] = O) : O = t[25], x = i.map(O), t[17] = r, t[18] = i, t[19] = n, t[20] = u, t[21] = x;
1594
+ }, children: $ }, `${k.id}-${$}`))], t[22] = r, t[23] = n, t[24] = u, t[25] = O) : O = t[25], v = i.map(O), t[17] = r, t[18] = i, t[19] = n, t[20] = u, t[21] = v;
1537
1595
  } else
1538
- x = t[21];
1596
+ v = t[21];
1539
1597
  let I;
1540
- t[26] !== s || t[27] !== p || t[28] !== C || t[29] !== x ? (I = /* @__PURE__ */ d($e, { anchorEl: s, open: p, onClose: S, slotProps: C, children: x }), t[26] = s, t[27] = p, t[28] = C, t[29] = x, t[30] = I) : I = t[30];
1598
+ t[26] !== s || t[27] !== p || t[28] !== C || t[29] !== v ? (I = /* @__PURE__ */ d(Oe, { anchorEl: s, open: p, onClose: S, slotProps: C, children: v }), t[26] = s, t[27] = p, t[28] = C, t[29] = v, t[30] = I) : I = t[30];
1541
1599
  let w;
1542
1600
  return t[31] !== I || t[32] !== b ? (w = /* @__PURE__ */ M(he, { children: [
1543
1601
  b,
@@ -1607,7 +1665,7 @@ const te = {
1607
1665
  overflow: "visible",
1608
1666
  textOverflow: "clip"
1609
1667
  }
1610
- }, _e = 12, ye = 1.5, lt = 2, Mo = 1;
1668
+ }, Ge = 12, ye = 1.5, lt = 2, Mo = 1;
1611
1669
  function zo(t) {
1612
1670
  switch (t) {
1613
1671
  case "dashed":
@@ -1696,29 +1754,29 @@ function it(t) {
1696
1754
  fillPattern: i,
1697
1755
  strokeStyle: n,
1698
1756
  size: a
1699
- } = t, s = o === void 0 ? "circle" : o, c = l === void 0 ? !1 : l, p = i === void 0 ? "solid" : i, f = n === void 0 ? "solid" : n, u = a === void 0 ? _e : a, y = ht();
1757
+ } = t, s = o === void 0 ? "circle" : o, c = l === void 0 ? !1 : l, p = i === void 0 ? "solid" : i, f = n === void 0 ? "solid" : n, u = a === void 0 ? Ge : a, y = ht();
1700
1758
  if (s === "line") {
1701
1759
  let V;
1702
1760
  e[0] !== f ? (V = To(f), e[0] = f, e[1] = V) : V = e[1];
1703
1761
  const {
1704
- dash: W,
1762
+ dash: B,
1705
1763
  round: R
1706
1764
  } = V, H = `0 0 ${u} ${u}`;
1707
- let F;
1708
- e[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (F = {
1765
+ let U;
1766
+ e[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (U = {
1709
1767
  display: "block",
1710
1768
  overflow: "visible"
1711
- }, e[2] = F) : F = e[2];
1712
- const se = u / 2, Se = u / 2, Ce = R ? "round" : "butt";
1769
+ }, e[2] = U) : U = e[2];
1770
+ const se = u / 2, Ce = u / 2, Ie = R ? "round" : "butt";
1713
1771
  let ae;
1714
- e[3] !== r || e[4] !== W || e[5] !== u || e[6] !== Se || e[7] !== Ce || e[8] !== se ? (ae = /* @__PURE__ */ d("line", { x1: 0, y1: se, x2: u, y2: Se, stroke: r, strokeWidth: lt, strokeDasharray: W, strokeLinecap: Ce }), e[3] = r, e[4] = W, e[5] = u, e[6] = Se, e[7] = Ce, e[8] = se, e[9] = ae) : ae = e[9];
1772
+ e[3] !== r || e[4] !== B || e[5] !== u || e[6] !== Ce || e[7] !== Ie || e[8] !== se ? (ae = /* @__PURE__ */ d("line", { x1: 0, y1: se, x2: u, y2: Ce, stroke: r, strokeWidth: lt, strokeDasharray: B, strokeLinecap: Ie }), e[3] = r, e[4] = B, e[5] = u, e[6] = Ce, e[7] = Ie, e[8] = se, e[9] = ae) : ae = e[9];
1715
1773
  let Le;
1716
- return e[10] !== u || e[11] !== ae || e[12] !== H ? (Le = /* @__PURE__ */ d("svg", { width: u, height: u, viewBox: H, "aria-hidden": !0, "data-shape": "line", style: F, children: ae }), e[10] = u, e[11] = ae, e[12] = H, e[13] = Le) : Le = e[13], Le;
1774
+ return e[10] !== u || e[11] !== ae || e[12] !== H ? (Le = /* @__PURE__ */ d("svg", { width: u, height: u, viewBox: H, "aria-hidden": !0, "data-shape": "line", style: U, children: ae }), e[10] = u, e[11] = ae, e[12] = H, e[13] = Le) : Le = e[13], Le;
1717
1775
  }
1718
1776
  const h = c ? ye / 2 : 0, g = !c && p !== "solid";
1719
- let v;
1720
- e[14] !== r || e[15] !== p || e[16] !== g ? (v = g ? Do(p, r) : null, e[14] = r, e[15] = p, e[16] = g, e[17] = v) : v = e[17];
1721
- const b = v, S = c && f === "corners" && s === "square";
1777
+ let x;
1778
+ e[14] !== r || e[15] !== p || e[16] !== g ? (x = g ? Do(p, r) : null, e[14] = r, e[15] = p, e[16] = g, e[17] = x) : x = e[17];
1779
+ const b = x, S = c && f === "corners" && s === "square";
1722
1780
  let L;
1723
1781
  e[18] !== c || e[19] !== f ? (L = c ? zo(f) : {
1724
1782
  dash: void 0,
@@ -1726,8 +1784,8 @@ function it(t) {
1726
1784
  }, e[18] = c, e[19] = f, e[20] = L) : L = e[20];
1727
1785
  const {
1728
1786
  dash: C,
1729
- round: x
1730
- } = L, I = c ? ye : Mo, w = c ? C : void 0, O = x ? "round" : "butt";
1787
+ round: v
1788
+ } = L, I = c ? ye : Mo, w = c ? C : void 0, O = v ? "round" : "butt";
1731
1789
  let k;
1732
1790
  e[21] !== r || e[22] !== O || e[23] !== I || e[24] !== w ? (k = {
1733
1791
  stroke: r,
@@ -1771,15 +1829,15 @@ function Eo(t) {
1771
1829
  let h;
1772
1830
  e[8] !== s || e[9] !== y ? (h = /* @__PURE__ */ d("path", { d: y, ...s }), e[8] = s, e[9] = y, e[10] = h) : h = e[10];
1773
1831
  const g = `M${i + l} ${n} H${i} V${n - l}`;
1774
- let v;
1775
- e[11] !== s || e[12] !== g ? (v = /* @__PURE__ */ d("path", { d: g, ...s }), e[11] = s, e[12] = g, e[13] = v) : v = e[13];
1832
+ let x;
1833
+ e[11] !== s || e[12] !== g ? (x = /* @__PURE__ */ d("path", { d: g, ...s }), e[11] = s, e[12] = g, e[13] = x) : x = e[13];
1776
1834
  let b;
1777
- return e[14] !== p || e[15] !== u || e[16] !== h || e[17] !== v ? (b = /* @__PURE__ */ M(he, { children: [
1835
+ return e[14] !== p || e[15] !== u || e[16] !== h || e[17] !== x ? (b = /* @__PURE__ */ M(he, { children: [
1778
1836
  p,
1779
1837
  u,
1780
1838
  h,
1781
- v
1782
- ] }), e[14] = p, e[15] = u, e[16] = h, e[17] = v, e[18] = b) : b = e[18], b;
1839
+ x
1840
+ ] }), e[14] = p, e[15] = u, e[16] = h, e[17] = x, e[18] = b) : b = e[18], b;
1783
1841
  }
1784
1842
  const Ho = 16;
1785
1843
  function rt(t) {
@@ -1811,7 +1869,7 @@ function rt(t) {
1811
1869
  /* @__PURE__ */ d(A, { sx: {
1812
1870
  ...te.gutter,
1813
1871
  width: h ? void 0 : b
1814
- }, children: /* @__PURE__ */ d(it, { shape: w.shape ?? c, color: w.color, isStrokeColor: w.isStrokeColor ?? p, fillPattern: w.fillPattern ?? f, strokeStyle: w.strokeStyle ?? u, size: w.size ?? _e }) }),
1872
+ }, children: /* @__PURE__ */ d(it, { shape: w.shape ?? c, color: w.color, isStrokeColor: w.isStrokeColor ?? p, fillPattern: w.fillPattern ?? f, strokeStyle: w.strokeStyle ?? u, size: w.size ?? Ge }) }),
1815
1873
  /* @__PURE__ */ d(E, { variant: "caption", color: "text.primary", sx: {
1816
1874
  ...te.label,
1817
1875
  ...h ? te.labelHorizontal : null
@@ -1820,11 +1878,11 @@ function rt(t) {
1820
1878
  ] }, `${w.label}-${O}`), e[12] = f, e[13] = b, e[14] = h, e[15] = p, e[16] = c, e[17] = u, e[18] = I) : I = e[18], C = r.map(I), e[4] = f, e[5] = b, e[6] = h, e[7] = p, e[8] = r, e[9] = c, e[10] = u, e[11] = C;
1821
1879
  } else
1822
1880
  C = e[11];
1823
- let x;
1824
- return e[19] !== y || e[20] !== L || e[21] !== C ? (x = /* @__PURE__ */ d(A, { "data-orientation": y, sx: L, children: C }), e[19] = y, e[20] = L, e[21] = C, e[22] = x) : x = e[22], x;
1881
+ let v;
1882
+ return e[19] !== y || e[20] !== L || e[21] !== C ? (v = /* @__PURE__ */ d(A, { "data-orientation": y, sx: L, children: C }), e[19] = y, e[20] = L, e[21] = C, e[22] = v) : v = e[22], v;
1825
1883
  }
1826
1884
  function Ro(t, e) {
1827
- return Math.max(t, e.size ?? _e);
1885
+ return Math.max(t, e.size ?? Ge);
1828
1886
  }
1829
1887
  const K = {
1830
1888
  container: {
@@ -1913,16 +1971,16 @@ function st(t) {
1913
1971
  const u = f, y = n[0], h = n[n.length - 1];
1914
1972
  let g;
1915
1973
  e[2] !== i ? (g = i.join(", "), e[2] = i, e[3] = g) : g = e[3];
1916
- const v = `linear-gradient(90deg, ${g})`, b = !a && n.length === i.length + 1, S = !a && !b;
1974
+ const x = `linear-gradient(90deg, ${g})`, b = !a && n.length === i.length + 1, S = !a && !b;
1917
1975
  let L;
1918
1976
  e[4] !== n ? (L = (m) => `${n[m]?.label ?? ""} – ${n[m + 1]?.label ?? ""}`, e[4] = n, e[5] = L) : L = e[5];
1919
1977
  const C = L;
1920
- let x;
1921
- e[6] !== s || e[7] !== l ? (x = s && /* @__PURE__ */ M(A, { sx: K.attribute, children: [
1978
+ let v;
1979
+ e[6] !== s || e[7] !== l ? (v = s && /* @__PURE__ */ M(A, { sx: K.attribute, children: [
1922
1980
  /* @__PURE__ */ d(E, { variant: "overline", color: "text.secondary", children: l.colorBasedOn }),
1923
1981
  /* @__PURE__ */ d(E, { variant: "caption", color: "text.primary", children: s })
1924
- ] }), e[6] = s, e[7] = l, e[8] = x) : x = e[8];
1925
- const I = x;
1982
+ ] }), e[6] = s, e[7] = l, e[8] = v) : v = e[8];
1983
+ const I = v;
1926
1984
  if (S) {
1927
1985
  let m;
1928
1986
  e[9] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (m = /* @__PURE__ */ d(zt, { fontSize: "small" }), e[9] = m) : m = e[9];
@@ -1939,14 +1997,14 @@ function st(t) {
1939
1997
  ] }), e[12] = I, e[13] = z, e[14] = D) : D = e[14], D;
1940
1998
  }
1941
1999
  let w;
1942
- e[15] !== i || e[16] !== v || e[17] !== a || e[18] !== l || e[19] !== C ? (w = a ? /* @__PURE__ */ d(A, { role: "img", "aria-label": l.colorGradient, sx: {
2000
+ e[15] !== i || e[16] !== x || e[17] !== a || e[18] !== l || e[19] !== C ? (w = a ? /* @__PURE__ */ d(A, { role: "img", "aria-label": l.colorGradient, sx: {
1943
2001
  width: "100%",
1944
2002
  height: "100%",
1945
- background: v
2003
+ background: x
1946
2004
  } }) : i.map((m, P) => /* @__PURE__ */ d(A, { role: "img", "aria-label": C(P), sx: {
1947
2005
  ...K.step,
1948
2006
  backgroundColor: m
1949
- } }, P)), e[15] = i, e[16] = v, e[17] = a, e[18] = l, e[19] = C, e[20] = w) : w = e[20];
2007
+ } }, P)), e[15] = i, e[16] = x, e[17] = a, e[18] = l, e[19] = C, e[20] = w) : w = e[20];
1950
2008
  let O;
1951
2009
  e[21] !== w ? (O = /* @__PURE__ */ d(A, { sx: K.bar, children: w }), e[21] = w, e[22] = O) : O = e[22];
1952
2010
  let k;
@@ -2016,24 +2074,24 @@ const ce = {
2016
2074
  flexDirection: "column",
2017
2075
  justifyContent: "space-between"
2018
2076
  }
2019
- }, fe = 72, Bo = 0.3, ze = 2, Ie = 4;
2020
- function Wo(t) {
2077
+ }, fe = 72, Wo = 0.3, Te = 2, ke = 4;
2078
+ function Bo(t) {
2021
2079
  const e = (t.stops ?? []).filter((i) => Number.isFinite(i));
2022
- if (e.length >= ze)
2023
- return e.sort((i, n) => n - i).slice(0, Ie);
2080
+ if (e.length >= Te)
2081
+ return e.sort((i, n) => n - i).slice(0, ke);
2024
2082
  const {
2025
2083
  min: o,
2026
2084
  max: r
2027
2085
  } = t;
2028
2086
  if (o === r) return [r];
2029
- const l = Math.min(Ie, Math.max(ze, t.steps ?? Ie));
2087
+ const l = Math.min(ke, Math.max(Te, t.steps ?? ke));
2030
2088
  return Array.from({
2031
2089
  length: l
2032
2090
  }, (i, n) => r - (r - o) * n / (l - 1));
2033
2091
  }
2034
2092
  function No(t, e) {
2035
2093
  if (e <= 1) return fe;
2036
- const o = 1 - (1 - Bo) * (t / (e - 1));
2094
+ const o = 1 - (1 - Wo) * (t / (e - 1));
2037
2095
  return fe * o;
2038
2096
  }
2039
2097
  function at(t) {
@@ -2044,25 +2102,25 @@ function at(t) {
2044
2102
  attribute: i,
2045
2103
  formatValue: n
2046
2104
  } = o, a = n === void 0 ? String : n;
2047
- let s, c, p, f, u, y, h, g, v;
2105
+ let s, c, p, f, u, y, h, g, x;
2048
2106
  if (e[0] !== i || e[1] !== o || e[2] !== a || e[3] !== l) {
2049
- const C = Wo(o), x = C.length;
2107
+ const C = Bo(o), v = C.length;
2050
2108
  let I;
2051
- e[13] !== a || e[14] !== l || e[15] !== x ? (I = (_, G) => {
2109
+ e[13] !== a || e[14] !== l || e[15] !== v ? (I = (_, G) => {
2052
2110
  const m = a(_);
2053
- return x <= 1 ? m : G === 0 ? /* @__PURE__ */ M(he, { children: [
2111
+ return v <= 1 ? m : G === 0 ? /* @__PURE__ */ M(he, { children: [
2054
2112
  l.maxPrefix,
2055
2113
  m
2056
- ] }) : G === x - 1 ? /* @__PURE__ */ M(he, { children: [
2114
+ ] }) : G === v - 1 ? /* @__PURE__ */ M(he, { children: [
2057
2115
  l.minPrefix,
2058
2116
  m
2059
2117
  ] }) : m;
2060
- }, e[13] = a, e[14] = l, e[15] = x, e[16] = I) : I = e[16];
2118
+ }, e[13] = a, e[14] = l, e[15] = v, e[16] = I) : I = e[16];
2061
2119
  const w = I;
2062
- p = A, g = ce.root, e[17] !== i || e[18] !== l ? (v = i && /* @__PURE__ */ M(A, { sx: ce.attribute, children: [
2120
+ p = A, g = ce.root, e[17] !== i || e[18] !== l ? (x = i && /* @__PURE__ */ M(A, { sx: ce.attribute, children: [
2063
2121
  /* @__PURE__ */ d(E, { variant: "overline", color: "text.secondary", children: l.radiusRangeBy }),
2064
2122
  /* @__PURE__ */ d(E, { variant: "caption", color: "text.primary", children: i })
2065
- ] }), e[17] = i, e[18] = l, e[19] = v) : v = e[19], c = A, y = ce.body;
2123
+ ] }), e[17] = i, e[18] = l, e[19] = x) : x = e[19], c = A, y = ce.body;
2066
2124
  let O;
2067
2125
  e[20] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (O = {
2068
2126
  ...ce.circles,
@@ -2070,21 +2128,21 @@ function at(t) {
2070
2128
  height: fe
2071
2129
  }, e[20] = O) : O = e[20];
2072
2130
  let k;
2073
- e[21] !== x ? (k = (_, G) => {
2074
- const m = No(G, x);
2131
+ e[21] !== v ? (k = (_, G) => {
2132
+ const m = No(G, v);
2075
2133
  return /* @__PURE__ */ d(A, { "aria-hidden": !0, sx: {
2076
2134
  ...ce.circle,
2077
2135
  width: m,
2078
2136
  height: m
2079
2137
  } }, G);
2080
- }, e[21] = x, e[22] = k) : k = e[22], h = /* @__PURE__ */ d(A, { sx: O, children: C.map(k) }), s = A, e[23] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (f = {
2138
+ }, e[21] = v, e[22] = k) : k = e[22], h = /* @__PURE__ */ d(A, { sx: O, children: C.map(k) }), s = A, e[23] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (f = {
2081
2139
  ...ce.labels,
2082
2140
  height: fe
2083
2141
  }, e[23] = f) : f = e[23];
2084
2142
  let $;
2085
- e[24] !== w ? ($ = (_, G) => /* @__PURE__ */ d(E, { variant: "caption", color: "text.secondary", children: w(_, G) }, G), e[24] = w, e[25] = $) : $ = e[25], u = C.map($), e[0] = i, e[1] = o, e[2] = a, e[3] = l, e[4] = s, e[5] = c, e[6] = p, e[7] = f, e[8] = u, e[9] = y, e[10] = h, e[11] = g, e[12] = v;
2143
+ e[24] !== w ? ($ = (_, G) => /* @__PURE__ */ d(E, { variant: "caption", color: "text.secondary", children: w(_, G) }, G), e[24] = w, e[25] = $) : $ = e[25], u = C.map($), e[0] = i, e[1] = o, e[2] = a, e[3] = l, e[4] = s, e[5] = c, e[6] = p, e[7] = f, e[8] = u, e[9] = y, e[10] = h, e[11] = g, e[12] = x;
2086
2144
  } else
2087
- s = e[4], c = e[5], p = e[6], f = e[7], u = e[8], y = e[9], h = e[10], g = e[11], v = e[12];
2145
+ s = e[4], c = e[5], p = e[6], f = e[7], u = e[8], y = e[9], h = e[10], g = e[11], x = e[12];
2088
2146
  let b;
2089
2147
  e[26] !== s || e[27] !== f || e[28] !== u ? (b = /* @__PURE__ */ d(s, { sx: f, children: u }), e[26] = s, e[27] = f, e[28] = u, e[29] = b) : b = e[29];
2090
2148
  let S;
@@ -2093,10 +2151,10 @@ function at(t) {
2093
2151
  b
2094
2152
  ] }), e[30] = c, e[31] = y, e[32] = h, e[33] = b, e[34] = S) : S = e[34];
2095
2153
  let L;
2096
- return e[35] !== p || e[36] !== S || e[37] !== g || e[38] !== v ? (L = /* @__PURE__ */ M(p, { sx: g, children: [
2097
- v,
2154
+ return e[35] !== p || e[36] !== S || e[37] !== g || e[38] !== x ? (L = /* @__PURE__ */ M(p, { sx: g, children: [
2155
+ x,
2098
2156
  S
2099
- ] }), e[35] = p, e[36] = S, e[37] = g, e[38] = v, e[39] = L) : L = e[39], L;
2157
+ ] }), e[35] = p, e[36] = S, e[37] = g, e[38] = x, e[39] = L) : L = e[39], L;
2100
2158
  }
2101
2159
  const oe = {
2102
2160
  list: {
@@ -2223,7 +2281,7 @@ function Uo() {
2223
2281
  t[0] !== o ? (r = (s) => o ? s.layers[o.layerId]?.variables : void 0, t[0] = o, t[1] = r) : r = t[1];
2224
2282
  const l = Z(e, r), {
2225
2283
  labels: i
2226
- } = B();
2284
+ } = W();
2227
2285
  if (!l || l.length === 0)
2228
2286
  return null;
2229
2287
  let n;
@@ -2240,8 +2298,8 @@ const an = {
2240
2298
  Provider: Nt,
2241
2299
  Group: jt,
2242
2300
  Row: Xt,
2243
- Actions: Qe,
2244
- Sortable: vo,
2301
+ Actions: Ye,
2302
+ Sortable: xo,
2245
2303
  // Store-connected actions & controls (context-driven)
2246
2304
  VisibilityToggle: Jt,
2247
2305
  RowMenu: oo,