@ynput/ayon-frontend-shared 0.4.7 → 0.5.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 (48) hide show
  1. package/dist/DetailsPanel.es.js +684 -651
  2. package/dist/ListTable.es.js +8 -7
  3. package/dist/ProjectTreeTable.es.js +2223 -2184
  4. package/dist/Slicer.es.js +152 -120
  5. package/dist/api.es.js +202 -201
  6. package/dist/chunks/Actions.es.js +20 -20
  7. package/dist/chunks/ColumnDropIndicator.es.js +127 -241
  8. package/dist/chunks/DeleteEntitiesContext.es.js +36 -36
  9. package/dist/chunks/DetailsDialog.es.js +3 -3
  10. package/dist/chunks/EntityPath.es.js +22 -22
  11. package/dist/chunks/EntityPickerDialog.es.js +1 -1
  12. package/dist/chunks/EntityTooltip.es.js +12 -12
  13. package/dist/chunks/Feed.es.js +2 -2
  14. package/dist/chunks/FilterErrorActions.es.js +5 -5
  15. package/dist/chunks/GlobalContext.es.js +14 -14
  16. package/dist/chunks/InfoMessage.es.js +146 -0
  17. package/dist/chunks/Menu.es.js +5 -5
  18. package/dist/chunks/MenuContext.es.js +75 -73
  19. package/dist/chunks/MetaWidget.es.js +1968 -1960
  20. package/dist/chunks/NewEntityContext.es.js +538 -543
  21. package/dist/chunks/PlayableIcon.es.js +54 -54
  22. package/dist/chunks/ProjectContext.es.js +12 -12
  23. package/dist/chunks/ProjectFoldersContext.es.js +84 -76
  24. package/dist/chunks/RepresentationsList.es.js +1 -1
  25. package/dist/chunks/ReviewablesSelector.es.js +387 -384
  26. package/dist/chunks/SimpleTable.es.js +286 -283
  27. package/dist/chunks/Slicer.es.js +1121 -683
  28. package/dist/chunks/VersionUploadContext.es.js +26 -26
  29. package/dist/chunks/ViewsContext.es.js +31 -31
  30. package/dist/chunks/Watchers.es.js +1 -1
  31. package/dist/chunks/entityDefinitions.es.js +275 -133
  32. package/dist/chunks/getUris.es.js +236 -231
  33. package/dist/chunks/searchTerms.es.js +9 -0
  34. package/dist/chunks/useAttributeEnums.es.js +69 -61
  35. package/dist/chunks/useLocalStorage.es.js +10 -10
  36. package/dist/chunks/viewUpdateHelper.es.js +23 -23
  37. package/dist/components.es.js +166 -166
  38. package/dist/hooks.es.js +44 -43
  39. package/dist/index.es.js +11 -10
  40. package/dist/types/DetailsPanel.d.ts +6 -0
  41. package/dist/types/ProjectTreeTable.d.ts +28 -6
  42. package/dist/types/RepresentationsList.d.ts +3 -0
  43. package/dist/types/SimpleTable.d.ts +1 -0
  44. package/dist/types/Slicer.d.ts +103 -18
  45. package/dist/types/api.d.ts +13 -0
  46. package/dist/types/components.d.ts +7 -5
  47. package/package.json +11 -10
  48. package/dist/chunks/useSlicerSplitter.es.js +0 -18
@@ -9,51 +9,52 @@ import { createPortal as sn } from "react-dom";
9
9
  import { DndContext as kt, closestCenter as Ct, DragOverlay as Et, useSensors as ln, useSensor as cn, PointerSensor as dn } from "@dnd-kit/core";
10
10
  import { useSortable as It, SortableContext as Ke, verticalListSortingStrategy as Ge, arrayMove as un } from "@dnd-kit/sortable";
11
11
  import { CSS as Tt } from "@dnd-kit/utilities";
12
- import { I as eo, d as to, e as pn, f as no } from "./ColumnDropIndicator.es.js";
13
- import { S as mn } from "./SimpleForm.es.js";
14
- import { bp as oo, aX as ro, bn as gn, bm as hn, bo as $t, bh as io, b0 as ao, bl as vn, bf as fn, be as so } from "./searchTerms.es.js";
15
- import { bh as lo, bn as co, cz as uo, bc as po, dx as ae, ch as mo } from "./getUris.es.js";
12
+ import { I as eo } from "./InfoMessage.es.js";
13
+ import { S as pn } from "./SimpleForm.es.js";
14
+ import { bp as to, aX as no, bn as mn, bm as gn, bo as $t, bh as oo, b0 as ro, bl as hn, bf as vn, be as io } from "./searchTerms.es.js";
15
+ import { bi as ao, bo as so, cA as lo, bd as co, dy as ae, ci as uo } from "./getUris.es.js";
16
16
  import "primereact/confirmdialog";
17
- import { u as go, g as ho, v as vo } from "./Watchers.es.js";
17
+ import { u as po, g as mo, v as go } from "./Watchers.es.js";
18
18
  import { matchSorter as Ft } from "match-sorter";
19
- import { J as fo } from "./JsonViewer.es.js";
20
- import { u as bn } from "./GlobalContext.es.js";
21
- import { toast as bo } from "react-toastify";
19
+ import { J as ho } from "./JsonViewer.es.js";
20
+ import { u as fn } from "./GlobalContext.es.js";
21
+ import { toast as vo } from "react-toastify";
22
22
  import { g as ve } from "./parseHtmlToPlainTextWithLinks.es.js";
23
23
  import "uuid";
24
- import { u as yo } from "./useLocalStorage.es.js";
25
- import { Link as xo } from "react-router-dom";
26
- import { aT as Z, u as ke, a as We, b2 as wo, aj as xe, aU as oe, _ as So, a_ as Mt, aX as Vt, a$ as Bt, b9 as ko } from "./MetaWidget.es.js";
24
+ import { u as fo } from "./useLocalStorage.es.js";
25
+ import { Link as bo } from "react-router-dom";
26
+ import { aT as Z, u as ke, a as We, b2 as yo, b7 as xo, aj as xe, aU as oe, _ as wo, a_ as Mt, aX as Vt, a$ as Bt, ba as So } from "./MetaWidget.es.js";
27
27
  import { k as Xe } from "./DeleteEntitiesContext.es.js";
28
28
  import "date-fns";
29
- import { a as yn } from "./ProjectContext.es.js";
29
+ import { a as bn } from "./ProjectContext.es.js";
30
30
  import "@tanstack/react-table";
31
- import { a as Co } from "./useCreateContextMenu.es.js";
31
+ import { a as ko } from "./useCreateContextMenu.es.js";
32
32
  import "@module-federation/enhanced/runtime";
33
33
  import "semver";
34
34
  import "./ProjectFoldersContextInstance.es.js";
35
35
  import { u as Qe } from "./MenuContext.es.js";
36
36
  import "react-redux";
37
37
  import "./ViewsContext.es.js";
38
- import { T as Eo, E as Io } from "./EntityPickerDialog.es.js";
39
- import { useDebounce as To } from "primereact/hooks";
40
- import { b as No, T as xn } from "./useColumnDragRestriction.es.js";
38
+ import { T as Co, E as Eo } from "./EntityPickerDialog.es.js";
39
+ import { useDebounce as Io } from "primereact/hooks";
40
+ import { b as To, T as yn } from "./useColumnDragRestriction.es.js";
41
41
  import "@tanstack/react-virtual";
42
+ import { d as No, e as xn, f as Po } from "./ColumnDropIndicator.es.js";
42
43
  import { g as wn } from "./getEntityTypeIcon.es.js";
43
44
  import "./EmptyPlaceholder.es.js";
44
- import { d as Po, c as _o, M as Ao } from "./Menu.es.js";
45
- import { D as Do, R as Lo } from "./realtimeUpdatesUtils.es.js";
45
+ import { M as _o, a as Ao, c as Do } from "./Menu.es.js";
46
+ import { D as Lo, R as Oo } from "./realtimeUpdatesUtils.es.js";
46
47
  import "./MenuItem.es.js";
47
48
  import { a as Sn } from "./VersionUploadContext.es.js";
48
- import { Skeleton as Oo } from "primereact/skeleton";
49
- import Ro from "react-perfect-scrollbar";
50
- const $o = g.div`
49
+ import { Skeleton as Ro } from "primereact/skeleton";
50
+ import $o from "react-perfect-scrollbar";
51
+ const Fo = g.div`
51
52
  display: flex;
52
53
  width: 100%;
53
54
  height: 100%;
54
55
  gap: 0;
55
56
  padding: ${(e) => e.$padding};
56
- `, Fo = g.div`
57
+ `, Mo = g.div`
57
58
  width: ${(e) => e.$config.width || "15%"};
58
59
  min-width: ${(e) => e.$config.minWidth || "2%"};
59
60
  max-width: ${(e) => e.$config.maxWidth || "600px"};
@@ -61,7 +62,7 @@ const $o = g.div`
61
62
  flex-shrink: 0;
62
63
  border-radius: 4px;
63
64
  background-color: var(--md-sys-color-surface-container);
64
- `, Mo = g.div`
65
+ `, Vo = g.div`
65
66
  display: grid;
66
67
  grid-template-columns: repeat(${(e) => e.$config.columns}, 1fr);
67
68
  grid-template-rows: repeat(${(e) => e.$config.rows}, 1fr);
@@ -69,11 +70,11 @@ const $o = g.div`
69
70
  flex: 1;
70
71
  padding: 1rem;
71
72
  overflow: auto;
72
- `, Vo = g.div`
73
+ `, Bo = g.div`
73
74
  border-radius: 4px;
74
75
  min-height: ${(e) => e.$minHeight};
75
76
  background-color: var(--md-sys-color-surface-container);
76
- `, ts = ({
77
+ `, os = ({
77
78
  showSidebar: e = !0,
78
79
  sidebarConfig: t = {},
79
80
  gridConfig: o = { columns: 3, rows: 3 },
@@ -82,10 +83,10 @@ const $o = g.div`
82
83
  ...s
83
84
  }) => {
84
85
  const i = o.columns * o.rows;
85
- return /* @__PURE__ */ k($o, { $padding: r, ...s, children: [
86
- e && /* @__PURE__ */ n(Fo, { className: "loading", $config: t, ...a?.sidebar }),
87
- /* @__PURE__ */ n(Mo, { $config: o, ...a?.grid, children: Array.from({ length: i }).map((v, b) => /* @__PURE__ */ n(
88
- Vo,
86
+ return /* @__PURE__ */ k(Fo, { $padding: r, ...s, children: [
87
+ e && /* @__PURE__ */ n(Mo, { className: "loading", $config: t, ...a?.sidebar }),
88
+ /* @__PURE__ */ n(Vo, { $config: o, ...a?.grid, children: Array.from({ length: i }).map((v, b) => /* @__PURE__ */ n(
89
+ Bo,
89
90
  {
90
91
  className: "loading",
91
92
  $minHeight: o.itemMinHeight || "200px",
@@ -94,7 +95,7 @@ const $o = g.div`
94
95
  b
95
96
  )) })
96
97
  ] });
97
- }, ns = g.div`
98
+ }, rs = g.div`
98
99
  position: relative;
99
100
  width: 100%;
100
101
 
@@ -102,7 +103,7 @@ const $o = g.div`
102
103
  min-height: 32px;
103
104
  max-height: 32px;
104
105
  }
105
- `, os = g.ul`
106
+ `, is = g.ul`
106
107
  position: absolute;
107
108
  top: 100%;
108
109
  left: 0;
@@ -131,7 +132,7 @@ const $o = g.div`
131
132
  .tip {
132
133
  color: var(--md-sys-color-outline);
133
134
  }
134
- `, Bo = g.div`
135
+ `, Uo = g.div`
135
136
  display: flex;
136
137
  align-items: center;
137
138
  gap: var(--base-gap-medium);
@@ -175,7 +176,7 @@ const $o = g.div`
175
176
  padding: 2px;
176
177
  font-size: 20px;
177
178
  }
178
- `, Uo = "__everyone__", Ho = "__guests__", Ut = "group:", Ht = "team:", zt = "user:", jt = "guest:", zo = g(G)`
179
+ `, Ho = "__everyone__", zo = "__guests__", Ut = "group:", Ht = "team:", zt = "user:", jt = "guest:", jo = g(G)`
179
180
  font-size: ${({ $size: e }) => `${e}px`};
180
181
  &.withBackground {
181
182
  display: flex;
@@ -185,7 +186,7 @@ const $o = g.div`
185
186
  background-color: var(--md-sys-color-surface-container-high);
186
187
  padding: 3px;
187
188
  }
188
- `, jo = ({
189
+ `, Ko = ({
189
190
  shareType: e,
190
191
  name: t,
191
192
  label: o,
@@ -196,7 +197,7 @@ const $o = g.div`
196
197
  let i = e, v = t;
197
198
  i || (t.startsWith(zt) ? (i = "user", v = t.slice(zt.length)) : t.startsWith(Ut) ? (i = "group", v = t.slice(Ut.length)) : t.startsWith(Ht) ? (i = "team", v = t.slice(Ht.length)) : t.startsWith(jt) && (i = "guest", v = t.slice(jt.length)));
198
199
  const b = (c, u) => /* @__PURE__ */ n(
199
- zo,
200
+ jo,
200
201
  {
201
202
  className: Q({ withBackground: a }),
202
203
  icon: c,
@@ -205,13 +206,13 @@ const $o = g.div`
205
206
  $size: a ? r - 6 : r
206
207
  }
207
208
  );
208
- return i === "user" ? /* @__PURE__ */ n(Jn, { name: v, fullName: s ? o : void 0, size: r }) : i === "group" ? b("shield_person", "Access group") : i === "team" ? b("groups", "Team") : i === "guest" || t === Ho ? b("badge", "Guest user") : t === Uo ? b("groups", "Everyone with access to the project") : b("person");
209
- }, rs = {
209
+ return i === "user" ? /* @__PURE__ */ n(Jn, { name: v, fullName: s ? o : void 0, size: r }) : i === "group" ? b("shield_person", "Access group") : i === "team" ? b("groups", "Team") : i === "guest" || t === zo ? b("badge", "Guest user") : t === Ho ? b("groups", "Everyone with access to the project") : b("person");
210
+ }, as = {
210
211
  0: "No access",
211
212
  10: "Viewer",
212
213
  20: "Editor",
213
214
  30: "Admin"
214
- }, is = le(
215
+ }, ss = le(
215
216
  ({
216
217
  name: e,
217
218
  label: t,
@@ -227,8 +228,8 @@ const $o = g.div`
227
228
  ...l
228
229
  }, m) => {
229
230
  const x = r === "user" || r === "guest", d = x || v, h = x ? e : r;
230
- return /* @__PURE__ */ k(Bo, { ...l, ref: m, className: Q(u, { compact: i }), children: [
231
- /* @__PURE__ */ n(jo, { shareType: r, name: e, label: t, icon: o }),
231
+ return /* @__PURE__ */ k(Uo, { ...l, ref: m, className: Q(u, { compact: i }), children: [
232
+ /* @__PURE__ */ n(Ko, { shareType: r, name: e, label: t, icon: o }),
232
233
  /* @__PURE__ */ k("span", { className: "title-label", children: [
233
234
  t || e,
234
235
  a ? /* @__PURE__ */ n("span", { className: "name", children: "(you)" }) : d && /* @__PURE__ */ n("span", { className: Q("name", { "float-right": v }), children: h }),
@@ -238,7 +239,7 @@ const $o = g.div`
238
239
  s && /* @__PURE__ */ n("span", { className: "owner", children: "Owner" })
239
240
  ] });
240
241
  }
241
- ), Ko = g.div`
242
+ ), Go = g.div`
242
243
  display: flex;
243
244
  flex-direction: row;
244
245
  align-items: center;
@@ -248,7 +249,7 @@ const $o = g.div`
248
249
  input {
249
250
  width: 100%;
250
251
  }
251
- `, Go = ({ value: e = {}, isMin: t, isFloat: o = !1, onChange: r }) => {
252
+ `, Yo = ({ value: e = {}, isMin: t, isFloat: o = !1, onChange: r }) => {
252
253
  const { le: a, lt: s, ge: i, gt: v } = e, b = i ?? v, c = a ?? s, u = K(null), l = t ? b : c, m = t ? "g" : "l", x = m + "e", d = m + "t", [h, E] = U(e[x] != null || !o);
253
254
  J(() => {
254
255
  o ? (l !== void 0 && r({ [x]: String(l), [d]: void 0 }), E(!0)) : (r({ [x]: parseInt(String(l))?.toString(), [d]: void 0 }), E(!0));
@@ -260,7 +261,7 @@ const $o = g.div`
260
261
  const $ = !h;
261
262
  E($), r($ ? { [d]: void 0, [x]: l } : { [d]: l, [x]: void 0 });
262
263
  }, p = t ? "greater" : "less", y = t ? ">" : "<", w = t ? "≥" : "≤", P = `Determines if the value should be '${p} than or equal to' (${w}) or 'strictly ${p} than' (${y}). Currently: ${h ? w : y}`;
263
- return /* @__PURE__ */ k(Ko, { children: [
264
+ return /* @__PURE__ */ k(Go, { children: [
264
265
  /* @__PURE__ */ n(
265
266
  on,
266
267
  {
@@ -283,7 +284,7 @@ const $o = g.div`
283
284
  }
284
285
  )
285
286
  ] });
286
- }, Yo = xt`
287
+ }, qo = xt`
287
288
  display: flex;
288
289
  flex-direction: column;
289
290
  align-items: center;
@@ -303,12 +304,12 @@ const $o = g.div`
303
304
  &:hover {
304
305
  background-color: var(--md-sys-color-surface-container-low-hover);
305
306
  }
306
- `, qo = g.div`
307
+ `, Wo = g.div`
307
308
  display: flex;
308
309
  flex-direction: column;
309
310
  justify-content: stretch;
310
311
  gap: 4px;
311
- `, Wo = g.div`
312
+ `, Xo = g.div`
312
313
  justify-content: stretch;
313
314
  border-radius: 4px;
314
315
  overflow: hidden;
@@ -316,7 +317,7 @@ const $o = g.div`
316
317
  &.dragged {
317
318
  opacity: 0;
318
319
  }
319
- `, Xo = g.div`
320
+ `, Qo = g.div`
320
321
  ${Nt}
321
322
  cursor: pointer;
322
323
  user-select: none;
@@ -357,7 +358,7 @@ const $o = g.div`
357
358
  .spacer {
358
359
  flex-grow: 1;
359
360
  }
360
- `, Qo = g.div`
361
+ `, Jo = g.div`
361
362
  display: grid;
362
363
  grid-template-rows: 0fr;
363
364
  overflow: hidden;
@@ -365,8 +366,8 @@ const $o = g.div`
365
366
  &.expanded {
366
367
  grid-template-rows: 1fr;
367
368
  }
368
- `, Jo = g.div`
369
- ${Yo}
369
+ `, Zo = g.div`
370
+ ${qo}
370
371
  align-items: stretch;
371
372
  padding: 0 8px;
372
373
  min-height: 0;
@@ -386,11 +387,11 @@ const $o = g.div`
386
387
  `, Kt = g.div`
387
388
  ${Nt}
388
389
  gap: 4px;
389
- `, Zo = g.div`
390
+ `, er = g.div`
390
391
  border-radius: 4px;
391
392
  width: 14px;
392
393
  height: 14px;
393
- `, er = g(Wn)`
394
+ `, tr = g(Wn)`
394
395
  flex-grow: 1;
395
396
  width: 100%;
396
397
  button div {
@@ -421,7 +422,7 @@ const $o = g.div`
421
422
  width: 100%;
422
423
  padding-left: 8px;
423
424
  user-select: none;
424
- `, tr = g(Cn)`
425
+ `, nr = g(Cn)`
425
426
  ${kn}
426
427
  position: relative;
427
428
  cursor: pointer;
@@ -432,7 +433,7 @@ const $o = g.div`
432
433
  position: absolute;
433
434
  visibility: hidden;
434
435
  }
435
- `, nr = ({
436
+ `, or = ({
436
437
  item: e,
437
438
  onChange: t,
438
439
  onCommit: o,
@@ -452,7 +453,7 @@ const $o = g.div`
452
453
  }, [v, e.isNewAttribute]), J(() => {
453
454
  b && !v && !e.isNewAttribute && setTimeout(() => S.current?.focus(), 250);
454
455
  }, [b, v, e.isNewAttribute]), /* @__PURE__ */ k(
455
- Jo,
456
+ Zo,
456
457
  {
457
458
  ...u?.wrapper,
458
459
  ...l,
@@ -524,7 +525,7 @@ const $o = g.div`
524
525
  }
525
526
  ),
526
527
  /* @__PURE__ */ n(
527
- er,
528
+ tr,
528
529
  {
529
530
  ref: y,
530
531
  value: [d || "question_mark"],
@@ -557,7 +558,7 @@ const $o = g.div`
557
558
  /* @__PURE__ */ n(Fe, { ...u?.color?.label, children: "Color" }),
558
559
  /* @__PURE__ */ k(Yt, { style: { position: "relative" }, children: [
559
560
  /* @__PURE__ */ k(
560
- tr,
561
+ nr,
561
562
  {
562
563
  className: h ? "active" : "",
563
564
  style: { backgroundColor: h || void 0 },
@@ -617,7 +618,7 @@ const $o = g.div`
617
618
  transform: Tt.Translate.toString(E)
618
619
  };
619
620
  return /* @__PURE__ */ k(
620
- Wo,
621
+ Xo,
621
622
  {
622
623
  ref: h,
623
624
  style: f,
@@ -626,7 +627,7 @@ const $o = g.div`
626
627
  className: Q(v.className, i?.wrapper?.className, { dragged: t }),
627
628
  children: [
628
629
  /* @__PURE__ */ k(
629
- Xo,
630
+ Qo,
630
631
  {
631
632
  ...i?.header,
632
633
  onClick: () => {
@@ -634,7 +635,7 @@ const $o = g.div`
634
635
  },
635
636
  className: Q(i?.header?.className, { expanded: m }),
636
637
  children: [
637
- l && /* @__PURE__ */ n(Zo, { style: { backgroundColor: l } }),
638
+ l && /* @__PURE__ */ n(er, { style: { backgroundColor: l } }),
638
639
  u && /* @__PURE__ */ n(G, { className: "icon", icon: u }),
639
640
  /* @__PURE__ */ k("span", { children: [
640
641
  " ",
@@ -656,8 +657,8 @@ const $o = g.div`
656
657
  ]
657
658
  }
658
659
  ),
659
- /* @__PURE__ */ n(Qo, { className: Q({ expanded: m }), children: /* @__PURE__ */ n(
660
- nr,
660
+ /* @__PURE__ */ n(Jo, { className: Q({ expanded: m }), children: /* @__PURE__ */ n(
661
+ or,
661
662
  {
662
663
  item: e,
663
664
  onChange: o,
@@ -674,7 +675,7 @@ const $o = g.div`
674
675
  ]
675
676
  }
676
677
  );
677
- }, or = ({
678
+ }, rr = ({
678
679
  creator: e,
679
680
  initialData: t,
680
681
  onChange: o,
@@ -743,19 +744,19 @@ const $o = g.div`
743
744
  for (; t.includes(v); )
744
745
  v = i + o + s++;
745
746
  return v;
746
- }, rr = () => ({
747
+ }, ir = () => ({
747
748
  id: je(),
748
749
  isExpanded: !0,
749
750
  label: "",
750
751
  value: "",
751
752
  isLabelFocused: !0,
752
753
  isNewAttribute: !1
753
- }), ir = (e) => e.filter((t) => t.label !== "" && t.value !== "").map(({ label: t, value: o, icon: r, color: a }) => ({
754
+ }), ar = (e) => e.filter((t) => t.label !== "" && t.value !== "").map(({ label: t, value: o, icon: r, color: a }) => ({
754
755
  label: t,
755
756
  value: o,
756
757
  icon: r || void 0,
757
758
  color: a || void 0
758
- })), ar = (e) => e.map(({ label: t, value: o, icon: r, color: a }) => ({
759
+ })), sr = (e) => e.map(({ label: t, value: o, icon: r, color: a }) => ({
759
760
  id: je(),
760
761
  isExpanded: !1,
761
762
  label: t,
@@ -764,7 +765,7 @@ const $o = g.div`
764
765
  color: a,
765
766
  isLabelFocused: !1,
766
767
  isNewAttribute: !1
767
- })), sr = (e, t) => t.map((o, r) => {
768
+ })), lr = (e, t) => t.map((o, r) => {
768
769
  const a = e[r];
769
770
  return a ? {
770
771
  ...o,
@@ -773,7 +774,7 @@ const $o = g.div`
773
774
  isLabelFocused: a.isLabelFocused,
774
775
  isNewAttribute: a.isNewAttribute
775
776
  } : o;
776
- }), lr = ({ values: e, onChange: t, onCommit: o, pt: r, ...a }) => {
777
+ }), cr = ({ values: e, onChange: t, onCommit: o, pt: r, ...a }) => {
777
778
  if (!e)
778
779
  return null;
779
780
  const {
@@ -784,20 +785,20 @@ const $o = g.div`
784
785
  handleCommitItem: c,
785
786
  handleDuplicateItem: u,
786
787
  handleDraggableEnd: l
787
- } = or({
788
- creator: rr,
789
- initialData: ar(e),
788
+ } = rr({
789
+ creator: ir,
790
+ initialData: sr(e),
790
791
  onChange: t,
791
792
  onCommit: o,
792
- normalizer: ir,
793
- mergeIncomingData: sr
793
+ normalizer: ar,
794
+ mergeIncomingData: lr
794
795
  }), m = (S) => {
795
796
  h(S.active.id);
796
797
  }, x = (S) => {
797
798
  h(null), l(S);
798
799
  }, [d, h] = U();
799
800
  let E;
800
- return d && (E = s.find((S) => S.id === d)), /* @__PURE__ */ n(me, { children: /* @__PURE__ */ k(qo, { ...a, children: [
801
+ return d && (E = s.find((S) => S.id === d)), /* @__PURE__ */ n(me, { children: /* @__PURE__ */ k(Wo, { ...a, children: [
801
802
  /* @__PURE__ */ k(
802
803
  kt,
803
804
  {
@@ -876,12 +877,12 @@ const $o = g.div`
876
877
  flex: none;
877
878
  width: 20px;
878
879
  }
879
- `, En = ({ icon: e, color: t, reserveSpace: o }) => oo(e) ? /* @__PURE__ */ n("img", { src: e, alt: "" }) : e ? /* @__PURE__ */ n(G, { icon: e, style: { color: t } }) : o ? /* @__PURE__ */ n("span", { className: "icon-slot" }) : null, cr = 8, In = 10, dr = g.div`
880
+ `, En = ({ icon: e, color: t, reserveSpace: o }) => to(e) ? /* @__PURE__ */ n("img", { src: e, alt: "" }) : e ? /* @__PURE__ */ n(G, { icon: e, style: { color: t } }) : o ? /* @__PURE__ */ n("span", { className: "icon-slot" }) : null, dr = 8, In = 10, ur = g.div`
880
881
  display: flex;
881
882
  gap: var(--base-gap-large);
882
883
  flex: 1;
883
884
  min-height: 0;
884
- `, ur = g.div`
885
+ `, pr = g.div`
885
886
  display: flex;
886
887
  flex-direction: column;
887
888
  gap: var(--base-gap-large);
@@ -907,15 +908,15 @@ const $o = g.div`
907
908
  font-weight: 500;
908
909
  color: var(--md-sys-color-outline);
909
910
  padding: 4px 0;
910
- `, pr = g.div`
911
+ `, mr = g.div`
911
912
  display: flex;
912
913
  flex-direction: column;
913
914
  gap: var(--base-gap-large);
914
915
  flex: 1;
915
916
  min-width: 0;
916
- `, mr = g.span`
917
+ `, gr = g.span`
917
918
  color: var(--md-sys-color-outline);
918
- `, gr = g.div`
919
+ `, hr = g.div`
919
920
  display: flex;
920
921
  flex-direction: column;
921
922
  gap: var(--base-gap-large);
@@ -925,7 +926,7 @@ const $o = g.div`
925
926
  padding: var(--padding-m);
926
927
  border-radius: var(--border-radius-m);
927
928
  background-color: var(--md-sys-color-surface-container);
928
- `, hr = g(Je)`
929
+ `, vr = g(Je)`
929
930
  .value {
930
931
  margin-left: auto;
931
932
  flex: none;
@@ -934,8 +935,8 @@ const $o = g.div`
934
935
  }
935
936
  `, we = g.span`
936
937
  color: var(--md-sys-color-outline);
937
- `, vr = ({ value: e, onChange: t }) => {
938
- const { projects: o } = bn(), r = o.active.map((a) => ({
938
+ `, fr = ({ value: e, onChange: t }) => {
939
+ const { projects: o } = fn(), r = o.active.map((a) => ({
939
940
  value: a.name,
940
941
  label: a.label || a.name
941
942
  }));
@@ -952,7 +953,7 @@ const $o = g.div`
952
953
  }
953
954
  );
954
955
  }, Tn = ({ value: e, onChange: t }) => {
955
- const { data: o = [], isLoading: r } = lo({}), a = o.map((s) => ({
956
+ const { data: o = [], isLoading: r } = ao({}), a = o.map((s) => ({
956
957
  value: s.name,
957
958
  label: s.fullName || s.name
958
959
  }));
@@ -968,27 +969,27 @@ const $o = g.div`
968
969
  widthExpand: !0
969
970
  }
970
971
  );
971
- }, fr = {
972
- project_name: vr,
972
+ }, br = {
973
+ project_name: fr,
973
974
  user: Tn
974
- }, br = ["label", (e) => String(e.value), "description", "fulltext"], yr = ({ resolver: e, settings: t, onClose: o }) => {
975
- const [r, a] = U({}), [s, i] = U(t), [v, b] = U(""), { user: c } = bn(), u = e.settingsForm || [], l = new Set(u.map((T) => T.name)), m = e.acceptedParams || {}, x = !!c?.data?.isAdmin, d = Object.keys(m).filter(
975
+ }, yr = ["label", (e) => String(e.value), "description", "fulltext"], xr = ({ resolver: e, settings: t, onClose: o }) => {
976
+ const [r, a] = U({}), [s, i] = U(t), [v, b] = U(""), { user: c } = fn(), u = e.settingsForm || [], l = new Set(u.map((T) => T.name)), m = e.acceptedParams || {}, x = !!c?.data?.isAdmin, d = Object.keys(m).filter(
976
977
  (T) => !l.has(T) && (T !== "user" || x)
977
978
  ), h = x && !("user" in m), E = X(
978
979
  () => ({ ...s, ...r }),
979
980
  [s, r]
980
- ), { data: S, isFetching: f, isError: p } = ro({
981
+ ), { data: S, isFetching: f, isError: p } = no({
981
982
  enumName: e.name,
982
983
  params: E
983
984
  }), y = X(
984
- () => gn(S?.items || []).map((T) => ({
985
+ () => mn(S?.items || []).map((T) => ({
985
986
  ...T,
986
- icon: hn(T.icon)
987
+ icon: gn(T.icon)
987
988
  })),
988
989
  [S]
989
990
  ), w = p || !!S?.error, P = v.trim(), $ = X(
990
991
  () => P ? Ft(y, P, {
991
- keys: br,
992
+ keys: yr,
992
993
  threshold: Ft.rankings.CONTAINS
993
994
  }) : y,
994
995
  [y, P]
@@ -1003,7 +1004,7 @@ const $o = g.div`
1003
1004
  }
1004
1005
  ) }),
1005
1006
  d.map((T) => {
1006
- const V = $t(T) ? fr[T] : void 0;
1007
+ const V = $t(T) ? br[T] : void 0;
1007
1008
  return /* @__PURE__ */ n(te, { label: T, children: V && $t(T) ? /* @__PURE__ */ n(
1008
1009
  V,
1009
1010
  {
@@ -1014,8 +1015,8 @@ const $o = g.div`
1014
1015
  })
1015
1016
  ] }), z = () => {
1016
1017
  if (f)
1017
- return Array.from({ length: cr }).map((T, V) => /* @__PURE__ */ n(Je, { className: "loading" }, V));
1018
- if (w) return /* @__PURE__ */ n(we, { children: io(S?.error) });
1018
+ return Array.from({ length: dr }).map((T, V) => /* @__PURE__ */ n(Je, { className: "loading" }, V));
1019
+ if (w) return /* @__PURE__ */ n(we, { children: oo(S?.error) });
1019
1020
  if (!y.length) {
1020
1021
  const T = "project_name" in (e.acceptedParams || {}) && !r.project_name ? " Try selecting a project." : "";
1021
1022
  return /* @__PURE__ */ k(we, { children: [
@@ -1023,7 +1024,7 @@ const $o = g.div`
1023
1024
  T
1024
1025
  ] });
1025
1026
  }
1026
- return $.length ? $.map((T) => /* @__PURE__ */ k(hr, { title: T.description, children: [
1027
+ return $.length ? $.map((T) => /* @__PURE__ */ k(vr, { title: T.description, children: [
1027
1028
  /* @__PURE__ */ n(En, { icon: T.icon, color: T.color, reserveSpace: N }),
1028
1029
  /* @__PURE__ */ n("span", { className: "label", children: T.label }),
1029
1030
  /* @__PURE__ */ n("span", { className: "value", children: String(T.value) })
@@ -1042,22 +1043,22 @@ const $o = g.div`
1042
1043
  size: "full",
1043
1044
  style: { width: "95vw", maxWidth: "95vw", height: "95vh", maxHeight: "95vh" },
1044
1045
  onKeyDown: B,
1045
- children: /* @__PURE__ */ k(dr, { children: [
1046
- /* @__PURE__ */ k(ur, { children: [
1046
+ children: /* @__PURE__ */ k(ur, { children: [
1047
+ /* @__PURE__ */ k(pr, { children: [
1047
1048
  /* @__PURE__ */ k(st, { children: [
1048
1049
  /* @__PURE__ */ n(lt, { children: "Context Params" }),
1049
1050
  L()
1050
1051
  ] }),
1051
1052
  /* @__PURE__ */ k(st, { children: [
1052
1053
  /* @__PURE__ */ n(lt, { children: "Form" }),
1053
- u.length ? /* @__PURE__ */ n(mn, { fields: u, values: t, onChange: i }) : /* @__PURE__ */ n(we, { children: "This resolver has no settings." })
1054
+ u.length ? /* @__PURE__ */ n(pn, { fields: u, values: t, onChange: i }) : /* @__PURE__ */ n(we, { children: "This resolver has no settings." })
1054
1055
  ] }),
1055
1056
  /* @__PURE__ */ k(st, { children: [
1056
1057
  /* @__PURE__ */ n(lt, { children: "Enum Resolver Data" }),
1057
- /* @__PURE__ */ n(fo, { value: e, wrap: !0 })
1058
+ /* @__PURE__ */ n(ho, { value: e, wrap: !0 })
1058
1059
  ] })
1059
1060
  ] }),
1060
- /* @__PURE__ */ k(pr, { children: [
1061
+ /* @__PURE__ */ k(mr, { children: [
1061
1062
  /* @__PURE__ */ n(
1062
1063
  De,
1063
1064
  {
@@ -1067,16 +1068,16 @@ const $o = g.div`
1067
1068
  autoFocus: !0
1068
1069
  }
1069
1070
  ),
1070
- !f && !w && y.length > 0 && /* @__PURE__ */ n(mr, { children: P ? `${$.length} of ${y.length} ${y.length === 1 ? "item" : "items"}` : `${y.length} ${y.length === 1 ? "item" : "items"}` }),
1071
- /* @__PURE__ */ n(gr, { children: z() })
1071
+ !f && !w && y.length > 0 && /* @__PURE__ */ n(gr, { children: P ? `${$.length} of ${y.length} ${y.length === 1 ? "item" : "items"}` : `${y.length} ${y.length === 1 ? "item" : "items"}` }),
1072
+ /* @__PURE__ */ n(hr, { children: z() })
1072
1073
  ] })
1073
1074
  ] })
1074
1075
  }
1075
1076
  );
1076
- }, Ve = "__custom__", ct = 5, xr = [], wr = "No preview items found.", Sr = 5, kr = {
1077
+ }, Ve = "__custom__", ct = 5, wr = [], Sr = "No preview items found.", kr = 5, Cr = {
1077
1078
  project_name: "The select options will change based on the project it is used in.",
1078
1079
  user: "The select options will change based on the current user."
1079
- }, Cr = g.div`
1080
+ }, Er = g.div`
1080
1081
  display: flex;
1081
1082
  flex-direction: column;
1082
1083
  gap: var(--base-gap-large);
@@ -1091,7 +1092,7 @@ const $o = g.div`
1091
1092
  padding: var(--padding-m);
1092
1093
  border-radius: var(--border-radius-m);
1093
1094
  background-color: var(--md-sys-color-surface-container);
1094
- `, Er = g.button`
1095
+ `, Ir = g.button`
1095
1096
  display: flex;
1096
1097
  align-items: center;
1097
1098
  align-self: flex-start;
@@ -1107,7 +1108,7 @@ const $o = g.div`
1107
1108
  color: var(--md-sys-color-on-surface);
1108
1109
  text-decoration: underline;
1109
1110
  }
1110
- `, Ir = g(eo)`
1111
+ `, Tr = g(eo)`
1111
1112
  cursor: pointer;
1112
1113
  padding: var(--padding-s) var(--padding-m);
1113
1114
 
@@ -1118,7 +1119,7 @@ const $o = g.div`
1118
1119
  &:hover {
1119
1120
  filter: brightness(1.15);
1120
1121
  }
1121
- `, Tr = g(Je)`
1122
+ `, Nr = g(Je)`
1122
1123
  &:nth-child(2n) {
1123
1124
  width: 80%;
1124
1125
  }
@@ -1126,7 +1127,7 @@ const $o = g.div`
1126
1127
  &:last-of-type {
1127
1128
  width: 64px;
1128
1129
  }
1129
- `, Nr = ({
1130
+ `, Pr = ({
1130
1131
  resolver: e,
1131
1132
  acceptedParams: t,
1132
1133
  settings: o,
@@ -1135,9 +1136,9 @@ const $o = g.div`
1135
1136
  const a = X(
1136
1137
  () => ({ enumResolver: e, enumResolverSettings: o }),
1137
1138
  [e, o]
1138
- ), { options: s, isLoading: i, isError: v, errorMessage: b } = go(a), c = gn(s), u = vn(t);
1139
+ ), { options: s, isLoading: i, isError: v, errorMessage: b } = po(a), c = mn(s), u = hn(t);
1139
1140
  if (i)
1140
- return /* @__PURE__ */ n(Be, { children: Array.from({ length: ct + 1 }).map((d, h) => /* @__PURE__ */ n(Tr, { className: "loading" }, h)) });
1141
+ return /* @__PURE__ */ n(Be, { children: Array.from({ length: ct + 1 }).map((d, h) => /* @__PURE__ */ n(Nr, { className: "loading" }, h)) });
1141
1142
  if (v)
1142
1143
  return /* @__PURE__ */ n(Be, { children: /* @__PURE__ */ k(Ye, { children: [
1143
1144
  'Could not load options for "',
@@ -1147,24 +1148,24 @@ const $o = g.div`
1147
1148
  ] }) });
1148
1149
  if (!c.length)
1149
1150
  return /* @__PURE__ */ n(Be, { children: /* @__PURE__ */ k(Ye, { children: [
1150
- wr,
1151
+ Sr,
1151
1152
  u.length > 0 && ` This could be because in context parameters (${u.join(
1152
1153
  ", "
1153
1154
  )}) are required to get the items.`
1154
1155
  ] }) });
1155
- const l = c.length - ct, m = c.slice(0, ct).map((d) => ({ option: d, icon: hn(d.icon) })), x = m.some(({ icon: d }) => !!d);
1156
+ const l = c.length - ct, m = c.slice(0, ct).map((d) => ({ option: d, icon: gn(d.icon) })), x = m.some(({ icon: d }) => !!d);
1156
1157
  return /* @__PURE__ */ k(Be, { children: [
1157
1158
  m.map(({ option: d, icon: h }) => /* @__PURE__ */ k(Je, { children: [
1158
1159
  /* @__PURE__ */ n(En, { icon: h, color: d.color, reserveSpace: x }),
1159
1160
  /* @__PURE__ */ n("span", { className: "label", children: d.label })
1160
1161
  ] }, String(d.value))),
1161
- l > 0 && /* @__PURE__ */ k(Er, { type: "button", onClick: r, children: [
1162
+ l > 0 && /* @__PURE__ */ k(Ir, { type: "button", onClick: r, children: [
1162
1163
  "+",
1163
1164
  l,
1164
1165
  " more"
1165
1166
  ] })
1166
1167
  ] });
1167
- }, Pr = ({
1168
+ }, _r = ({
1168
1169
  enumValues: e,
1169
1170
  enumResolver: t,
1170
1171
  enumResolverSettings: o,
@@ -1172,14 +1173,14 @@ const $o = g.div`
1172
1173
  onChangeResolver: a,
1173
1174
  onChangeResolverSettings: s
1174
1175
  }) => {
1175
- const { data: i = [], isLoading: v, isError: b } = ao(), [c, u] = U(!1), l = () => u(!0), m = [
1176
+ const { data: i = [], isLoading: v, isError: b } = ro(), [c, u] = U(!1), l = () => u(!0), m = [
1176
1177
  { value: Ve, label: "Custom" },
1177
1178
  ...i.map((p) => ({
1178
1179
  value: p.name,
1179
1180
  label: p.label || St(p.name)
1180
1181
  }))
1181
- ], x = t || Ve, d = i.find((p) => p.name === t), h = d?.settingsForm || xr, E = o || {}, S = vn(d?.acceptedParams).map((p) => kr[p]).join(" ");
1182
- return /* @__PURE__ */ k(Cr, { children: [
1182
+ ], x = t || Ve, d = i.find((p) => p.name === t), h = d?.settingsForm || wr, E = o || {}, S = hn(d?.acceptedParams).map((p) => Cr[p]).join(" ");
1183
+ return /* @__PURE__ */ k(Er, { children: [
1183
1184
  /* @__PURE__ */ n(
1184
1185
  pe,
1185
1186
  {
@@ -1191,12 +1192,12 @@ const $o = g.div`
1191
1192
  },
1192
1193
  disabled: v || b,
1193
1194
  minSelected: 1,
1194
- searchOnNumber: Sr,
1195
+ searchOnNumber: kr,
1195
1196
  widthExpand: !0
1196
1197
  }
1197
1198
  ),
1198
1199
  x === Ve ? /* @__PURE__ */ n(
1199
- lr,
1200
+ cr,
1200
1201
  {
1201
1202
  values: e || [],
1202
1203
  onChange: (p) => r(p?.length ? p : void 0)
@@ -1209,7 +1210,7 @@ const $o = g.div`
1209
1210
  ] }),
1210
1211
  d?.description && /* @__PURE__ */ n(Ye, { children: d.description }),
1211
1212
  S && /* @__PURE__ */ n(
1212
- Ir,
1213
+ Tr,
1213
1214
  {
1214
1215
  message: S,
1215
1216
  role: "button",
@@ -1221,7 +1222,7 @@ const $o = g.div`
1221
1222
  }
1222
1223
  ),
1223
1224
  h.length > 0 && /* @__PURE__ */ n(
1224
- mn,
1225
+ pn,
1225
1226
  {
1226
1227
  fields: h,
1227
1228
  values: E,
@@ -1231,7 +1232,7 @@ const $o = g.div`
1231
1232
  ),
1232
1233
  d && /* @__PURE__ */ k(me, { children: [
1233
1234
  /* @__PURE__ */ n(
1234
- Nr,
1235
+ Pr,
1235
1236
  {
1236
1237
  resolver: d.name,
1237
1238
  acceptedParams: d.acceptedParams,
@@ -1251,7 +1252,7 @@ const $o = g.div`
1251
1252
  )
1252
1253
  ] }),
1253
1254
  c && d && /* @__PURE__ */ n(
1254
- yr,
1255
+ xr,
1255
1256
  {
1256
1257
  resolver: d,
1257
1258
  settings: E,
@@ -1283,18 +1284,18 @@ const $o = g.div`
1283
1284
  { value: "number", label: "Number", icon: ve("number", "integer") },
1284
1285
  { value: "checkbox", label: "Checkbox", icon: ve("checkbox", "boolean") },
1285
1286
  { value: "datetime", label: "Date and time", icon: ve("datetime", "datetime") }
1286
- ], _r = {
1287
+ ], Ar = {
1287
1288
  text: ["minLength", "maxLength", "regex"],
1288
1289
  select: ["enum"],
1289
1290
  number: ["ge", "gt", "le", "lt"],
1290
1291
  checkbox: [],
1291
1292
  datetime: []
1292
- }, Ar = {
1293
+ }, Dr = {
1293
1294
  checkbox: ["example"]
1294
1295
  }, vt = (e, t, o) => {
1295
1296
  switch (e) {
1296
1297
  case "string":
1297
- return fn({ enum: t, enumResolver: o }) ? "select" : "text";
1298
+ return vn({ enum: t, enumResolver: o }) ? "select" : "text";
1298
1299
  case "list_of_strings":
1299
1300
  return "select";
1300
1301
  case "integer":
@@ -1307,7 +1308,7 @@ const $o = g.div`
1307
1308
  default:
1308
1309
  return "text";
1309
1310
  }
1310
- }, Dr = (e, t) => {
1311
+ }, Lr = (e, t) => {
1311
1312
  switch (e) {
1312
1313
  case "text":
1313
1314
  return "string";
@@ -1320,24 +1321,24 @@ const $o = g.div`
1320
1321
  case "datetime":
1321
1322
  return "datetime";
1322
1323
  }
1323
- }, Lr = [
1324
+ }, Or = [
1324
1325
  "string",
1325
1326
  "integer",
1326
1327
  "float",
1327
1328
  "boolean",
1328
1329
  "datetime",
1329
1330
  "list_of_strings"
1330
- ], as = (e, t, o) => {
1331
- if (!e || !Lr.includes(e)) return e ?? "";
1331
+ ], ls = (e, t, o) => {
1332
+ if (!e || !Or.includes(e)) return e ?? "";
1332
1333
  if (e === "list_of_strings") return "Select (multiple)";
1333
1334
  const r = vt(e, t, o);
1334
1335
  return ze.find((a) => a.value === r)?.label ?? e;
1335
- }, Or = g.div`
1336
+ }, Rr = g.div`
1336
1337
  display: flex;
1337
1338
  flex-direction: row;
1338
1339
  gap: var(--base-gap-large);
1339
1340
  align-items: center;
1340
- `, Rr = /^[a-zA-Z0-9]{2,64}$/, $r = [
1341
+ `, $r = /^[a-zA-Z0-9]{2,64}$/, Fr = [
1341
1342
  { value: "project", label: "Project" },
1342
1343
  { value: "folder", label: "Folder" },
1343
1344
  { value: "task", label: "Task" },
@@ -1346,7 +1347,7 @@ const $o = g.div`
1346
1347
  { value: "representation", label: "Representation" },
1347
1348
  { value: "user", label: "User" },
1348
1349
  { value: "list", label: "List" }
1349
- ], Fr = [
1350
+ ], Mr = [
1350
1351
  { value: "description", scope: null },
1351
1352
  { value: "example", scope: null },
1352
1353
  { value: "default", scope: ["project"] },
@@ -1354,7 +1355,7 @@ const $o = g.div`
1354
1355
  value: "inherit",
1355
1356
  scope: ["project", "folder", "task", "product", "version", "representation", "user"]
1356
1357
  }
1357
- ], Mr = {
1358
+ ], Vr = {
1358
1359
  name: "",
1359
1360
  scope: ["folder", "task"],
1360
1361
  builtin: !1,
@@ -1379,8 +1380,8 @@ const $o = g.div`
1379
1380
  le: void 0,
1380
1381
  lt: void 0
1381
1382
  }
1382
- }, Vr = (e, t) => {
1383
- const o = JSON.parse(JSON.stringify(Mr)), r = ["name"];
1383
+ }, Br = (e, t) => {
1384
+ const o = JSON.parse(JSON.stringify(Vr)), r = ["name"];
1384
1385
  Object.keys(o).forEach((s) => {
1385
1386
  !r.includes(s) && e.includes(s) && s !== "data" && delete o[s];
1386
1387
  });
@@ -1391,7 +1392,7 @@ const $o = g.div`
1391
1392
  const i = s;
1392
1393
  i === "data" && t.data && o.data ? o.data = { ...o.data, ...t.data } : t[i] !== void 0 && (o[i] = t[i]);
1393
1394
  }), o;
1394
- }, ss = ({
1395
+ }, cs = ({
1395
1396
  attribute: e,
1396
1397
  defaultData: t,
1397
1398
  existingNames: o,
@@ -1405,7 +1406,7 @@ const $o = g.div`
1405
1406
  const c = t ? {
1406
1407
  ...t,
1407
1408
  name: t.name || (t.data?.title ? at(t.data.title) : void 0)
1408
- } : void 0, u = e || Vr(s, {
1409
+ } : void 0, u = e || Br(s, {
1409
1410
  position: o.length,
1410
1411
  ...c
1411
1412
  }), [l, m] = U(u), [x, d] = U(
@@ -1427,7 +1428,7 @@ const $o = g.div`
1427
1428
  });
1428
1429
  };
1429
1430
  let y = "";
1430
- l && S && (o.includes(l.name) ? y = "This attribute already exists" : Rr.test(l.name) || (y = "Invalid attribute name: use 2-64 letters or digits, no spaces or symbols"));
1431
+ l && S && (o.includes(l.name) ? y = "This attribute already exists" : $r.test(l.name) || (y = "Invalid attribute name: use 2-64 letters or digits, no spaces or symbols"));
1431
1432
  const w = () => {
1432
1433
  l && v(l);
1433
1434
  }, P = /* @__PURE__ */ k("div", { style: { display: "flex", width: "100%", flexDirection: "row" }, children: [
@@ -1455,17 +1456,17 @@ const $o = g.div`
1455
1456
  )
1456
1457
  ] });
1457
1458
  let $ = [];
1458
- Fr.forEach((C) => {
1459
+ Mr.forEach((C) => {
1459
1460
  (!C?.scope || C?.scope?.some((_) => l?.scope?.includes(_))) && $.push(C.value);
1460
1461
  });
1461
1462
  const N = [
1462
- ..._r[x] ?? [],
1463
+ ...Ar[x] ?? [],
1463
1464
  ...x === "select" && l?.data?.type === "list_of_strings" ? ["minItems", "maxItems"] : []
1464
- ], B = Ar[x] ?? [];
1465
+ ], B = Dr[x] ?? [];
1465
1466
  $ = [...$, ...N].filter((C) => !B.includes(C));
1466
1467
  const L = {
1467
1468
  enum: (C = [], _) => /* @__PURE__ */ n(
1468
- Pr,
1469
+ _r,
1469
1470
  {
1470
1471
  enumValues: C,
1471
1472
  enumResolver: l?.data?.enumResolver,
@@ -1496,7 +1497,7 @@ const $o = g.div`
1496
1497
  p("title", _), S && f("name", at(_));
1497
1498
  }, V = (C) => {
1498
1499
  const _ = C[0];
1499
- d(_), p("type", Dr(_, h)), _ !== "select" && (p("enum", void 0), p("enumResolver", void 0), p("enumResolverSettings", void 0), p("minItems", void 0), p("maxItems", void 0)), _ !== "text" && l?.data?.regex && p("regex", ""), p("widget", void 0);
1500
+ d(_), p("type", Lr(_, h)), _ !== "select" && (p("enum", void 0), p("enumResolver", void 0), p("enumResolverSettings", void 0), p("minItems", void 0), p("maxItems", void 0)), _ !== "text" && l?.data?.regex && p("regex", ""), p("widget", void 0);
1500
1501
  }, R = ze.find((C) => C.value === x)?.widgets;
1501
1502
  return /* @__PURE__ */ n(
1502
1503
  qe,
@@ -1525,7 +1526,7 @@ const $o = g.div`
1525
1526
  !s.includes("scope") && /* @__PURE__ */ n(te, { label: "Scope", children: /* @__PURE__ */ n(
1526
1527
  pe,
1527
1528
  {
1528
- options: $r,
1529
+ options: Fr,
1529
1530
  disabled: l.builtin,
1530
1531
  value: l.scope || [],
1531
1532
  onChange: (C) => f("scope", C),
@@ -1533,7 +1534,7 @@ const $o = g.div`
1533
1534
  widthExpand: !0
1534
1535
  }
1535
1536
  ) }),
1536
- !s.includes("type") && /* @__PURE__ */ n(te, { label: "Type", children: /* @__PURE__ */ k(Or, { children: [
1537
+ !s.includes("type") && /* @__PURE__ */ n(te, { label: "Type", children: /* @__PURE__ */ k(Rr, { children: [
1537
1538
  /* @__PURE__ */ n(
1538
1539
  pe,
1539
1540
  {
@@ -1597,7 +1598,7 @@ const $o = g.div`
1597
1598
  else if (["ge", "gt", "le", "lt"].includes(C)) {
1598
1599
  if (["gt", "lt"].includes(C)) return null;
1599
1600
  _ = /* @__PURE__ */ n(
1600
- Go,
1601
+ Yo,
1601
1602
  {
1602
1603
  value: l?.data,
1603
1604
  isMin: C === "ge",
@@ -1655,7 +1656,7 @@ const $o = g.div`
1655
1656
  ] })
1656
1657
  }
1657
1658
  );
1658
- }, Br = Gn`
1659
+ }, Ur = Gn`
1659
1660
  from {
1660
1661
  opacity: 0;
1661
1662
  transform: translateY(-4px);
@@ -1664,10 +1665,10 @@ const $o = g.div`
1664
1665
  opacity: 1;
1665
1666
  transform: translateY(0);
1666
1667
  }
1667
- `, ls = g.div`
1668
+ `, ds = g.div`
1668
1669
  position: relative;
1669
1670
  display: inline-flex;
1670
- `, cs = g.button`
1671
+ `, us = g.button`
1671
1672
  background: none;
1672
1673
  border: none;
1673
1674
  padding: 0;
@@ -1699,7 +1700,7 @@ const $o = g.div`
1699
1700
  width: 24px;
1700
1701
  height: 24px;
1701
1702
  }
1702
- `, ds = g(G)`
1703
+ `, ps = g(G)`
1703
1704
  width: 20px;
1704
1705
  height: 20px;
1705
1706
  min-width: 20px;
@@ -1715,13 +1716,13 @@ const $o = g.div`
1715
1716
  &:hover {
1716
1717
  background-color: var(--md-sys-color-surface-container-highest-hover);
1717
1718
  }
1718
- `, us = g.div`
1719
+ `, ms = g.div`
1719
1720
  position: fixed;
1720
1721
  z-index: 1001;
1721
1722
  background-color: var(--md-sys-color-surface-container-highest);
1722
1723
  border-radius: var(--border-radius-l);
1723
1724
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.2);
1724
- animation: ${Br} 0.15s ease-out;
1725
+ animation: ${Ur} 0.15s ease-out;
1725
1726
 
1726
1727
  &.right {
1727
1728
  transform-origin: top right;
@@ -1730,13 +1731,13 @@ const $o = g.div`
1730
1731
  &.left {
1731
1732
  transform-origin: top left;
1732
1733
  }
1733
- `, ps = g.div`
1734
+ `, gs = g.div`
1734
1735
  display: flex;
1735
1736
  flex-direction: column;
1736
1737
  gap: var(--base-gap-small);
1737
1738
  padding: var(--padding-m);
1738
1739
  position: relative;
1739
- `, ms = g(H)`
1740
+ `, hs = g(H)`
1740
1741
  &.hasIcon {
1741
1742
  padding: 4px;
1742
1743
  }
@@ -1752,7 +1753,7 @@ const $o = g.div`
1752
1753
  &:hover {
1753
1754
  background-color: var(--md-sys-color-surface-container-highest-hover);
1754
1755
  }
1755
- `, gs = g.div`
1756
+ `, vs = g.div`
1756
1757
  display: flex;
1757
1758
  flex-direction: column;
1758
1759
  gap: 4px;
@@ -1761,7 +1762,7 @@ const $o = g.div`
1761
1762
  ${fe.labelSmall}
1762
1763
  color: var(--md-sys-color-outline);
1763
1764
  }
1764
- `, hs = g.input`
1765
+ `, fs = g.input`
1765
1766
  background-color: var(--md-sys-color-surface-container-low);
1766
1767
  border: 1px solid var(--md-sys-color-outline-variant);
1767
1768
  border-radius: var(--border-radius-m);
@@ -1783,11 +1784,11 @@ const $o = g.div`
1783
1784
  cursor: pointer;
1784
1785
  filter: invert(0.5);
1785
1786
  }
1786
- `, vs = g(H)`
1787
+ `, bs = g(H)`
1787
1788
  &:hover {
1788
1789
  background-color: var(--md-sys-color-surface-container-highest-hover);
1789
1790
  }
1790
- `, Ur = g.div`
1791
+ `, Hr = g.div`
1791
1792
  position: fixed;
1792
1793
  bottom: 14px;
1793
1794
  left: 14px;
@@ -1803,13 +1804,13 @@ const $o = g.div`
1803
1804
 
1804
1805
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
1805
1806
  font-weight: 700;
1806
- `, fs = le(
1807
- ({ tooltip: e, ...t }, o) => /* @__PURE__ */ n(Ur, { "data-tooltip": e, "data-tooltip-delay": 0, ...t, ref: o, children: "Early preview" })
1807
+ `, ys = le(
1808
+ ({ tooltip: e, ...t }, o) => /* @__PURE__ */ n(Hr, { "data-tooltip": e, "data-tooltip-delay": 0, ...t, ref: o, children: "Early preview" })
1808
1809
  ), ft = [
1809
1810
  { value: "hero", label: "Hero", short: "Hero", icon: "star" },
1810
1811
  { value: "latestDone", label: "Latest Done", short: "Done", icon: "check_circle" },
1811
1812
  { value: "latest", label: "Latest", short: "Latest", icon: "fiber_new" }
1812
- ], bs = ft.map((e) => e.value), Hr = ({ id: e, label: t }) => {
1813
+ ], xs = ft.map((e) => e.value), zr = ({ id: e, label: t }) => {
1813
1814
  const { attributes: o, listeners: r, setNodeRef: a, transform: s, transition: i, isDragging: v } = It({
1814
1815
  id: e
1815
1816
  }), b = {
@@ -1817,7 +1818,7 @@ const $o = g.div`
1817
1818
  transition: i
1818
1819
  };
1819
1820
  return /* @__PURE__ */ n(
1820
- Kr,
1821
+ Gr,
1821
1822
  {
1822
1823
  ref: a,
1823
1824
  style: b,
@@ -1830,7 +1831,7 @@ const $o = g.div`
1830
1831
  ] })
1831
1832
  }
1832
1833
  );
1833
- }, ys = ({ value: e, onChange: t }) => {
1834
+ }, ws = ({ value: e, onChange: t }) => {
1834
1835
  const [o, r] = U(null), a = ln(
1835
1836
  cn(dn, {
1836
1837
  activationConstraint: {
@@ -1856,8 +1857,8 @@ const $o = g.div`
1856
1857
  }
1857
1858
  r(null);
1858
1859
  }, b = o ? ft.find((c) => c.value === o) : null;
1859
- return /* @__PURE__ */ k(zr, { children: [
1860
- /* @__PURE__ */ k(Gr, { children: [
1860
+ return /* @__PURE__ */ k(jr, { children: [
1861
+ /* @__PURE__ */ k(Yr, { children: [
1861
1862
  /* @__PURE__ */ n("span", { className: "label", children: "Product's featured version priority" }),
1862
1863
  /* @__PURE__ */ n(
1863
1864
  G,
@@ -1881,7 +1882,7 @@ const $o = g.div`
1881
1882
  {
1882
1883
  items: s.map((c) => c.value),
1883
1884
  strategy: Ge,
1884
- children: /* @__PURE__ */ n(jr, { children: s.map((c) => /* @__PURE__ */ n(Hr, { id: c.value, label: c.label }, c.value)) })
1885
+ children: /* @__PURE__ */ n(Kr, { children: s.map((c) => /* @__PURE__ */ n(zr, { id: c.value, label: c.label }, c.value)) })
1885
1886
  }
1886
1887
  ),
1887
1888
  /* @__PURE__ */ n(Et, { children: b && /* @__PURE__ */ k(Nn, { className: "overlay", children: [
@@ -1892,15 +1893,15 @@ const $o = g.div`
1892
1893
  }
1893
1894
  )
1894
1895
  ] });
1895
- }, zr = g.div`
1896
+ }, jr = g.div`
1896
1897
  display: flex;
1897
1898
  flex-direction: column;
1898
1899
  gap: var(--base-gap-small);
1899
- `, jr = g.div`
1900
+ `, Kr = g.div`
1900
1901
  display: flex;
1901
1902
  flex-direction: column;
1902
1903
  gap: var(--base-gap-small);
1903
- `, Kr = g.div`
1904
+ `, Gr = g.div`
1904
1905
  &.dragging {
1905
1906
  opacity: 0;
1906
1907
  }
@@ -1934,7 +1935,7 @@ const $o = g.div`
1934
1935
  `, _n = g.span`
1935
1936
  font-weight: 500;
1936
1937
  color: var(--md-sys-color-on-surface);
1937
- `, Gr = g.div`
1938
+ `, Yr = g.div`
1938
1939
  color: var(--md-sys-color-outline);
1939
1940
  display: flex;
1940
1941
  align-items: center;
@@ -1948,9 +1949,9 @@ const $o = g.div`
1948
1949
  .icon {
1949
1950
  cursor: pointer;
1950
1951
  }
1951
- `, xs = le(
1952
+ `, Ss = le(
1952
1953
  ({ tooltip: e = "This page will deprecated in a future version", ...t }, o) => /* @__PURE__ */ n(G, { icon: "ad_off", "data-tooltip": e, ...t, ref: o })
1953
- ), Yr = g(H)`
1954
+ ), qr = g(H)`
1954
1955
  transition: color 0.2s, background-color 0.2s, opacity 0.2s;
1955
1956
 
1956
1957
  .bolt {
@@ -1983,13 +1984,13 @@ const $o = g.div`
1983
1984
  &.rounded {
1984
1985
  border-radius: var(--border-radius-xl);
1985
1986
  }
1986
- `, ws = le(
1987
+ `, ks = le(
1987
1988
  ({ feature: e, variant: t = "outline", rounded: o = !0, bolt: r = !1, ...a }, s) => {
1988
- const { setPowerpackDialog: i } = yo(), v = (b) => {
1989
+ const { setPowerpackDialog: i } = fo(), v = (b) => {
1989
1990
  i(e), a.onClick?.(b);
1990
1991
  };
1991
1992
  return /* @__PURE__ */ k(
1992
- Yr,
1993
+ qr,
1993
1994
  {
1994
1995
  icon: a.icon || "bolt",
1995
1996
  ...a,
@@ -2008,21 +2009,21 @@ const $o = g.div`
2008
2009
  }
2009
2010
  );
2010
2011
  }
2011
- ), qr = "https://ynput.cloud/free-trial", Wr = ({
2012
+ ), Wr = "https://ynput.cloud/free-trial", Xr = ({
2012
2013
  addon: e
2013
2014
  // an addon they are trying to access, e.g. 'powerpack'
2014
2015
  }) => {
2015
- const { data: t } = co(), o = t?.data?.isAdmin || t?.data?.isManager, { data: r } = uo(void 0, { skip: !t?.name }), { data: a } = po(
2016
+ const { data: t } = so(), o = t?.data?.isAdmin || t?.data?.isManager, { data: r } = lo(void 0, { skip: !t?.name }), { data: a } = co(
2016
2017
  {},
2017
2018
  { skip: !o || !r?.instanceId }
2018
- ), s = new URL(qr), i = r?.instanceId, v = a || 10;
2019
+ ), s = new URL(Wr), i = r?.instanceId, v = a || 10;
2019
2020
  return s.searchParams.append("seats", v.toString()), i && s.searchParams.append("instance_id", i), e && s.searchParams.append("addon", e), s.toString();
2020
- }, Ss = le(
2021
+ }, Cs = le(
2021
2022
  ({ children: e, addon: t, ...o }, r) => {
2022
- const a = Wr({ addon: t });
2023
+ const a = Xr({ addon: t });
2023
2024
  return /* @__PURE__ */ n("a", { href: a, target: "_blank", rel: "noopener noreferrer", ...o, ref: r, children: e });
2024
2025
  }
2025
- ), ks = g(qe)`
2026
+ ), Es = g(qe)`
2026
2027
  background: linear-gradient(180deg, rgb(0 121 181 / 0%) -12.03%, rgb(4 255 227 / 26%) 105.38%),
2027
2028
  #15171c;
2028
2029
 
@@ -2044,7 +2045,7 @@ const $o = g.div`
2044
2045
  .cancelButton {
2045
2046
  background-color: unset;
2046
2047
  }
2047
- `, Cs = g.div`
2048
+ `, Is = g.div`
2048
2049
  display: flex;
2049
2050
  flex-direction: column;
2050
2051
  align-items: center;
@@ -2074,7 +2075,7 @@ const $o = g.div`
2074
2075
  font-size: 32px;
2075
2076
  color: var(--md-sys-color-tertiary);
2076
2077
  }
2077
- `, Es = g.div`
2078
+ `, Ts = g.div`
2078
2079
  width: 100%;
2079
2080
 
2080
2081
  h3 {
@@ -2102,7 +2103,7 @@ const $o = g.div`
2102
2103
  gap: 8px;
2103
2104
  }
2104
2105
  }
2105
- `, Is = g.div`
2106
+ `, Ns = g.div`
2106
2107
  cursor: pointer;
2107
2108
  text-align: center;
2108
2109
  margin-top: 16px;
@@ -2112,7 +2113,7 @@ const $o = g.div`
2112
2113
  &:hover {
2113
2114
  text-decoration: underline;
2114
2115
  }
2115
- `, Xr = g(H)`
2116
+ `, Qr = g(H)`
2116
2117
  background-color: var(--md-sys-color-tertiary);
2117
2118
  color: var(--md-sys-color-on-tertiary);
2118
2119
  padding: 12px 20px;
@@ -2124,19 +2125,19 @@ const $o = g.div`
2124
2125
  &:hover {
2125
2126
  background-color: var(--md-sys-color-tertiary-hover);
2126
2127
  }
2127
- `, Ts = le(({ ...e }, t) => /* @__PURE__ */ n(Xr, { ...e, children: "Try for free!" })), Qr = g.div`
2128
+ `, Ps = le(({ ...e }, t) => /* @__PURE__ */ n(Qr, { ...e, children: "Try for free!" })), Jr = g.div`
2128
2129
  display: flex;
2129
2130
  flex-direction: column;
2130
2131
  gap: 8px;
2131
2132
  border-radius: var(--border-radius-l);
2132
2133
  background-color: var(--md-sys-color-secondary-container);
2133
2134
  padding: var(--padding-m);
2134
- `, Ns = le(
2135
+ `, _s = le(
2135
2136
  ({ requiredVersion: e, addonName: t, addonLabel: o, ...r }, a) => {
2136
2137
  const s = t || "powerpack", i = o || "Power Features";
2137
- return e ? /* @__PURE__ */ k(Qr, { ...r, ref: a, children: [
2138
+ return e ? /* @__PURE__ */ k(Jr, { ...r, ref: a, children: [
2138
2139
  /* @__PURE__ */ n("span", { children: `${i} version ${e} is required to use this feature.` }),
2139
- /* @__PURE__ */ n(xo, { to: `/market?selected=${s}`, children: /* @__PURE__ */ k(H, { variant: "tertiary", children: [
2140
+ /* @__PURE__ */ n(bo, { to: `/market?selected=${s}`, children: /* @__PURE__ */ k(H, { variant: "tertiary", children: [
2140
2141
  "Update ",
2141
2142
  i,
2142
2143
  " ",
@@ -2144,7 +2145,7 @@ const $o = g.div`
2144
2145
  ] }) })
2145
2146
  ] }) : `Required ${i} version installed already.`;
2146
2147
  }
2147
- ), Jr = g.div`
2148
+ ), Zr = g.div`
2148
2149
  height: 100%;
2149
2150
  /* fixed floor so the panel doesn't resize as its content changes */
2150
2151
  min-width: 260px;
@@ -2154,7 +2155,7 @@ const $o = g.div`
2154
2155
  z-index: 10;
2155
2156
  display: flex;
2156
2157
  flex-direction: column;
2157
- `, Zr = g.div`
2158
+ `, ei = g.div`
2158
2159
  display: flex;
2159
2160
  align-items: center;
2160
2161
  gap: var(--base-gap-small);
@@ -2170,14 +2171,14 @@ const $o = g.div`
2170
2171
  }
2171
2172
  `, Xt = g(H)`
2172
2173
  padding: 4px !important;
2173
- `, ei = g.h3`
2174
+ `, ti = g.h3`
2174
2175
  margin: 0;
2175
2176
  flex: 1;
2176
- `, ti = g.div`
2177
+ `, ni = g.div`
2177
2178
  padding: 8px;
2178
2179
  flex: 1;
2179
2180
  overflow-y: auto;
2180
- `, ni = g(H)`
2181
+ `, oi = g(H)`
2181
2182
  width: 100%;
2182
2183
  justify-content: flex-start;
2183
2184
  margin-bottom: 8px;
@@ -2195,13 +2196,13 @@ const $o = g.div`
2195
2196
  .arrow {
2196
2197
  color: var(--md-sys-color-outline);
2197
2198
  }
2198
- `, oi = ({ settings: e, order: t }) => {
2199
+ `, ri = ({ settings: e, order: t }) => {
2199
2200
  const { isPanelOpen: o, selectedSetting: r, closePanel: a, backToMainMenu: s, selectSetting: i } = Xe(), v = () => r && e.find((m) => m.id === r)?.title || "Settings", b = t ? e.toSorted((l, m) => {
2200
2201
  const x = l.id ? t.indexOf(l.id) : -1, d = m.id ? t.indexOf(m.id) : -1;
2201
2202
  return x === -1 && d === -1 ? 0 : x === -1 ? 1 : d === -1 ? -1 : x - d;
2202
2203
  }) : e, c = e.find((l) => l.id === r), u = () => r ? e.find((m) => m.id === r)?.component : /* @__PURE__ */ n(me, { children: b.map(
2203
2204
  (m, x) => m.title ? /* @__PURE__ */ k(
2204
- ni,
2205
+ oi,
2205
2206
  {
2206
2207
  onClick: () => i(m.id),
2207
2208
  variant: "text",
@@ -2216,14 +2217,14 @@ const $o = g.div`
2216
2217
  m.id
2217
2218
  ) : /* @__PURE__ */ n(Yn, { children: m.component }, m.id)
2218
2219
  ) });
2219
- return /* @__PURE__ */ k(Jr, { open: o, children: [
2220
- /* @__PURE__ */ k(Zr, { children: [
2220
+ return /* @__PURE__ */ k(Zr, { open: o, children: [
2221
+ /* @__PURE__ */ k(ei, { children: [
2221
2222
  r && /* @__PURE__ */ n(Xt, { variant: "text", icon: "arrow_back", onClick: s }),
2222
- /* @__PURE__ */ n(ei, { children: v() }),
2223
+ /* @__PURE__ */ n(ti, { children: v() }),
2223
2224
  c?.headerActions,
2224
2225
  /* @__PURE__ */ n(Xt, { variant: "text", icon: "close", onClick: a })
2225
2226
  ] }),
2226
- /* @__PURE__ */ n(ti, { children: u() })
2227
+ /* @__PURE__ */ n(ni, { children: u() })
2227
2228
  ] });
2228
2229
  }, dt = g.ul`
2229
2230
  display: flex;
@@ -2232,7 +2233,7 @@ const $o = g.div`
2232
2233
  list-style-type: none;
2233
2234
  margin: 0;
2234
2235
  padding: 0;
2235
- `, ri = g.li`
2236
+ `, ii = g.li`
2236
2237
  display: flex;
2237
2238
  padding: 2px;
2238
2239
  padding-left: 8px;
@@ -2281,11 +2282,11 @@ const $o = g.div`
2281
2282
  background-color: unset;
2282
2283
  }
2283
2284
  }
2284
- `, ii = g.div`
2285
+ `, ai = g.div`
2285
2286
  display: flex;
2286
2287
  gap: var(--base-gap-small);
2287
2288
  margin-left: auto;
2288
- `, ai = g(H)`
2289
+ `, si = g(H)`
2289
2290
  && {
2290
2291
  background-color: unset;
2291
2292
  padding: 4px;
@@ -2316,7 +2317,7 @@ const $o = g.div`
2316
2317
  className: v,
2317
2318
  ...b
2318
2319
  }, c) => /* @__PURE__ */ k(
2319
- ri,
2320
+ ii,
2320
2321
  {
2321
2322
  className: Q("setting-item", v, {
2322
2323
  highlighted: a,
@@ -2335,8 +2336,8 @@ const $o = g.div`
2335
2336
  ] }),
2336
2337
  e.label
2337
2338
  ] }),
2338
- /* @__PURE__ */ n(ii, { className: "actions", children: t?.map(({ icon: u, className: l, active: m, onClick: x, ...d }, h) => /* @__PURE__ */ k(
2339
- ai,
2339
+ /* @__PURE__ */ n(ai, { className: "actions", children: t?.map(({ icon: u, className: l, active: m, onClick: x, ...d }, h) => /* @__PURE__ */ k(
2340
+ si,
2340
2341
  {
2341
2342
  className: Q("action", l, { active: m }),
2342
2343
  onClick: s ? void 0 : x,
@@ -2352,7 +2353,7 @@ const $o = g.div`
2352
2353
  ]
2353
2354
  }
2354
2355
  )
2355
- ), si = g(An)`
2356
+ ), li = g(An)`
2356
2357
  &:hover {
2357
2358
  .pin-action {
2358
2359
  opacity: 1;
@@ -2440,7 +2441,7 @@ const $o = g.div`
2440
2441
  ]
2441
2442
  );
2442
2443
  return /* @__PURE__ */ n(
2443
- si,
2444
+ li,
2444
2445
  {
2445
2446
  id: e,
2446
2447
  item: t,
@@ -2480,7 +2481,7 @@ const $o = g.div`
2480
2481
  transition: h
2481
2482
  };
2482
2483
  return /* @__PURE__ */ n(
2483
- li,
2484
+ ci,
2484
2485
  {
2485
2486
  ref: x,
2486
2487
  style: S,
@@ -2504,7 +2505,7 @@ const $o = g.div`
2504
2505
  )
2505
2506
  }
2506
2507
  );
2507
- }, li = g.div`
2508
+ }, ci = g.div`
2508
2509
  &.dragging {
2509
2510
  z-index: 1;
2510
2511
  opacity: 0;
@@ -2512,10 +2513,10 @@ const $o = g.div`
2512
2513
  `, Dn = "text_fields", Ln = ({
2513
2514
  field: e,
2514
2515
  parentScope: t
2515
- }) => e ? Z(e) : t ? wn(t) : Dn, ci = (e) => e.length === 1 ? `${e[0].charAt(0).toUpperCase() + e[0].slice(1)} attributes` : "Attributes", On = (e = [], t = []) => [
2516
+ }) => e ? Z(e) : t ? wn(t) : Dn, di = (e) => e.length === 1 ? `${e[0].charAt(0).toUpperCase() + e[0].slice(1)} attributes` : "Attributes", On = (e = [], t = []) => [
2516
2517
  {
2517
2518
  id: "attributes",
2518
- label: ci(e),
2519
+ label: di(e),
2519
2520
  icon: "text_fields",
2520
2521
  match: (o) => !!o.attrib && !o.parentScope
2521
2522
  },
@@ -2595,8 +2596,8 @@ const $o = g.div`
2595
2596
  const { menuOpen: o, setMenuOpen: r } = Qe();
2596
2597
  return J(() => {
2597
2598
  !t.length && o === e && r(!1);
2598
- }, [t.length, o, e, r]), /* @__PURE__ */ n(Po, { targetId: e, id: e, align: "left", children: /* @__PURE__ */ n(_o, { menu: t, onClose: () => r(!1) }) });
2599
- }, di = 300, Fn = ({
2599
+ }, [t.length, o, e, r]), /* @__PURE__ */ n(_o, { targetId: e, id: e, align: "left", children: /* @__PURE__ */ n(Ao, { menu: t, onClose: () => r(!1) }) });
2600
+ }, ui = 300, Fn = ({
2600
2601
  columnVisibility: e,
2601
2602
  defaultColumnVisibility: t,
2602
2603
  updateColumnVisibility: o,
@@ -2614,7 +2615,7 @@ const $o = g.div`
2614
2615
  }, m = ee(() => {
2615
2616
  v.current = null;
2616
2617
  const f = i.current;
2617
- f && (b.current = performance.now() + di, c.current.updateColumnVisibility(f.next), s(null));
2618
+ f && (b.current = performance.now() + ui, c.current.updateColumnVisibility(f.next), s(null));
2618
2619
  }, []), x = ee(() => {
2619
2620
  v.current = null, i.current && s(null);
2620
2621
  }, []);
@@ -2659,10 +2660,10 @@ const $o = g.div`
2659
2660
  cancelPaint: x,
2660
2661
  isPainting: !!a
2661
2662
  };
2662
- }, Ue = "add-column-menu-list", ui = [], pi = (e, t) => e.parentScope && e.attrib ? `${e.parentScope.charAt(0).toUpperCase()}${e.parentScope.slice(1)} attributes` : Rn(e, t)?.label, He = (e, t) => {
2663
- const o = pi(e, t);
2663
+ }, Ue = "add-column-menu-list", pi = [], mi = (e, t) => e.parentScope && e.attrib ? `${e.parentScope.charAt(0).toUpperCase()}${e.parentScope.slice(1)} attributes` : Rn(e, t)?.label, He = (e, t) => {
2664
+ const o = mi(e, t);
2664
2665
  return { ...e, icon: e.icon ?? Ln(e), ...o ? { path: o } : {} };
2665
- }, Ps = ({
2666
+ }, As = ({
2666
2667
  icon: e,
2667
2668
  label: t,
2668
2669
  checked: o,
@@ -2686,7 +2687,7 @@ const $o = g.div`
2686
2687
  ),
2687
2688
  ...s
2688
2689
  }
2689
- ), mi = ({
2690
+ ), gi = ({
2690
2691
  columns: e,
2691
2692
  highlighted: t,
2692
2693
  columnVisibility: o,
@@ -2707,7 +2708,7 @@ const $o = g.div`
2707
2708
  addColumnMenuItems: S,
2708
2709
  onColumnDragStart: f,
2709
2710
  isColumnDragging: p,
2710
- scopes: y = ui,
2711
+ scopes: y = pi,
2711
2712
  search: w,
2712
2713
  onSearchChange: P
2713
2714
  }) => {
@@ -2785,14 +2786,14 @@ const $o = g.div`
2785
2786
  }),
2786
2787
  [e, _, ne, M, Y, y]
2787
2788
  ), Te = S ?? Ie, _t = typeof w == "string" ? /* @__PURE__ */ n(
2788
- hi,
2789
+ vi,
2789
2790
  {
2790
2791
  value: w,
2791
2792
  onChange: (I) => P?.(I),
2792
2793
  onClose: () => P?.(null)
2793
2794
  }
2794
2795
  ) : /* @__PURE__ */ n(
2795
- gi,
2796
+ hi,
2796
2797
  {
2797
2798
  variant: "text",
2798
2799
  icon: "add",
@@ -2866,7 +2867,7 @@ const $o = g.div`
2866
2867
  nt !== ot && (nt && !ot ? Pe = Pe.filter((it) => it !== de) : !nt && ot && (Pe = [...Pe, de]));
2867
2868
  const rt = [...q, ...D], Dt = rt.indexOf(de), Lt = rt.indexOf(tt);
2868
2869
  if (Dt === -1 || Lt === -1) {
2869
- console.error("Invalid column order state"), bo.error("Invalid column order state");
2870
+ console.error("Invalid column order state"), vo.error("Invalid column order state");
2870
2871
  return;
2871
2872
  }
2872
2873
  const Ot = un(rt, Dt, Lt), Kn = Ot.filter((it) => Pe.includes(it));
@@ -3001,15 +3002,15 @@ const $o = g.div`
3001
3002
  font-weight: 500;
3002
3003
  color: var(--md-sys-color-outline);
3003
3004
  padding: 4px 0;
3004
- `, gi = g(H)`
3005
+ `, hi = g(H)`
3005
3006
  justify-content: flex-start;
3006
- `, hi = g(Eo)`
3007
+ `, vi = g(Co)`
3007
3008
  padding: 0;
3008
3009
 
3009
3010
  input {
3010
3011
  height: 32px;
3011
3012
  }
3012
- `, vi = (e) => {
3013
+ `, fi = (e) => {
3013
3014
  const {
3014
3015
  columnVisibility: t,
3015
3016
  defaultColumnVisibility: o,
@@ -3028,7 +3029,7 @@ const $o = g.div`
3028
3029
  columnSummaryFormats: h
3029
3030
  } = ke();
3030
3031
  return /* @__PURE__ */ n(
3031
- mi,
3032
+ gi,
3032
3033
  {
3033
3034
  ...e,
3034
3035
  columnVisibility: t,
@@ -3048,16 +3049,16 @@ const $o = g.div`
3048
3049
  columnSummaryFormats: h
3049
3050
  }
3050
3051
  );
3051
- }, fi = g.div`
3052
+ }, bi = g.div`
3052
3053
  padding: var(--padding-m);
3053
3054
  display: flex;
3054
3055
  flex-direction: column;
3055
3056
  gap: 12px;
3056
- `, bi = g.div`
3057
+ `, yi = g.div`
3057
3058
  display: flex;
3058
3059
  align-items: center;
3059
3060
  gap: 12px;
3060
- `, yi = g.input`
3061
+ `, xi = g.input`
3061
3062
  flex: 1;
3062
3063
  height: 4px;
3063
3064
  border-radius: 2px;
@@ -3098,11 +3099,11 @@ const $o = g.div`
3098
3099
  &:hover::-moz-range-thumb {
3099
3100
  background: var(--md-sys-color-primary-container);
3100
3101
  }
3101
- `, xi = g.span`
3102
+ `, wi = g.span`
3102
3103
  color: var(--md-sys-color-on-surface-variant);
3103
3104
  min-width: 40px;
3104
3105
  text-align: right;
3105
- `, wi = ({
3106
+ `, Si = ({
3106
3107
  value: e,
3107
3108
  onChange: t,
3108
3109
  onChangeComplete: o,
@@ -3120,7 +3121,7 @@ const $o = g.div`
3120
3121
  const h = ee((y) => {
3121
3122
  const w = parseInt(y.target.value, 10);
3122
3123
  d(!0), m(w);
3123
- }, []), E = To(l, b);
3124
+ }, []), E = Io(l, b);
3124
3125
  J(() => {
3125
3126
  x && t(l);
3126
3127
  }, [E, t, x, l]);
@@ -3129,11 +3130,11 @@ const $o = g.div`
3129
3130
  }, []), f = ee(() => {
3130
3131
  u(!1), d(!1), o && o(l);
3131
3132
  }, [l, o]), p = (l - s) / (i - s) * 100;
3132
- return /* @__PURE__ */ k(fi, { children: [
3133
+ return /* @__PURE__ */ k(bi, { children: [
3133
3134
  /* @__PURE__ */ n("label", { htmlFor: a, children: r }),
3134
- /* @__PURE__ */ k(bi, { children: [
3135
+ /* @__PURE__ */ k(yi, { children: [
3135
3136
  /* @__PURE__ */ n(
3136
- yi,
3137
+ xi,
3137
3138
  {
3138
3139
  id: a,
3139
3140
  type: "range",
@@ -3149,17 +3150,17 @@ const $o = g.div`
3149
3150
  }
3150
3151
  }
3151
3152
  ),
3152
- /* @__PURE__ */ n(xi, { children: l })
3153
+ /* @__PURE__ */ n(wi, { children: l })
3153
3154
  ] })
3154
3155
  ] });
3155
- }, Se = "hierarchy", mt = "folder", Zt = "name", Si = ({ scope: e }) => {
3156
+ }, Se = "hierarchy", mt = "folder", Zt = "name", ki = ({ scope: e }) => {
3156
3157
  const { groupBy: t, groupByConfig: o, updateGroupBy: r, updateGroupByConfig: a, sorting: s, updateSorting: i } = ke(), {
3157
3158
  modules: v,
3158
3159
  showHierarchy: b,
3159
3160
  updateShowHierarchy: c,
3160
3161
  hierarchyOptions: u,
3161
3162
  hierarchyActive: l
3162
- } = We(), m = No({ scope: e });
3163
+ } = We(), m = To({ scope: e });
3163
3164
  if (!v) return null;
3164
3165
  const { GroupSettings: x, requiredVersion: d } = v || {}, h = !!c, S = h ? [...u || [
3165
3166
  { value: Se, label: "Hierarchy", icon: "account_tree" },
@@ -3199,10 +3200,12 @@ const $o = g.div`
3199
3200
  }
3200
3201
  )
3201
3202
  };
3202
- }, ki = (e = []) => {
3203
+ }, Ci = (e = []) => {
3203
3204
  const { sorting: t, updateSorting: o } = ke(), { attribFields: r, scopes: a } = We(), s = [
3204
- ...wo(a, e),
3205
- ...r.filter((l) => l.scope?.some((m) => a.includes(m))).map((l) => ({
3205
+ ...yo(a, e),
3206
+ ...r.filter(
3207
+ (l) => l.scope?.some((m) => a.includes(m)) && !xo(l)
3208
+ ).map((l) => ({
3206
3209
  id: `attrib_${l.name}`,
3207
3210
  label: l.data.title || l.name
3208
3211
  }))
@@ -3230,11 +3233,11 @@ const $o = g.div`
3230
3233
  }
3231
3234
  )
3232
3235
  };
3233
- }, Pt = [Do, Lo], en = 5, Ci = `#${Ao}, [data-column-drag-origin]`, Ei = (e, t) => {
3234
- const r = document.querySelector(`[${xn}]`)?.getBoundingClientRect();
3236
+ }, Pt = [Lo, Oo], en = 5, Ei = `#${Do}, [data-column-drag-origin]`, Ii = (e, t) => {
3237
+ const r = document.querySelector(`[${yn}]`)?.getBoundingClientRect();
3235
3238
  if (!r || e < r.left || e > r.right || t < r.top || t > r.bottom) return;
3236
3239
  const a = Array.from(
3237
- document.querySelectorAll(pn)
3240
+ document.querySelectorAll(xn)
3238
3241
  ).filter((v) => !Pt.includes(v.dataset.columnId || "")), s = a.find((v) => {
3239
3242
  const b = v.getBoundingClientRect();
3240
3243
  return e >= b.left && e < b.right;
@@ -3243,18 +3246,18 @@ const $o = g.div`
3243
3246
  const i = a[a.length - 1];
3244
3247
  return e >= i.getBoundingClientRect().right ? i : a[0];
3245
3248
  }, tn = (e, t) => {
3246
- const o = document.elementsFromPoint(e, t).map((i) => i.closest?.(pn)).find(Boolean) ?? Ei(e, t), r = o?.dataset.columnId;
3249
+ const o = document.elementsFromPoint(e, t).map((i) => i.closest?.(xn)).find(Boolean) ?? Ii(e, t), r = o?.dataset.columnId;
3247
3250
  if (!o || !r || Pt.includes(r)) return null;
3248
3251
  const a = o.getBoundingClientRect(), s = e < a.left + a.width / 2 ? "left" : "right";
3249
3252
  return {
3250
3253
  columnId: r,
3251
3254
  side: s,
3252
- line: no(o, s)
3255
+ line: Po(o, s)
3253
3256
  };
3254
- }, Ii = (e, t) => {
3257
+ }, Ti = (e, t) => {
3255
3258
  const o = e.length ? e : t;
3256
3259
  return [...o, ...t.filter((r) => !o.includes(r))];
3257
- }, Ti = () => {
3260
+ }, Ni = () => {
3258
3261
  const {
3259
3262
  columnVisibility: e,
3260
3263
  columnOrder: t,
@@ -3302,7 +3305,7 @@ const $o = g.div`
3302
3305
  getAllColumns: m
3303
3306
  };
3304
3307
  const p = ee((N, B) => {
3305
- const L = f.current, z = Ii(L.columnOrder, L.getAllColumns()).filter(
3308
+ const L = f.current, z = Ti(L.columnOrder, L.getAllColumns()).filter(
3306
3309
  (C) => C !== N && !Pt.includes(C)
3307
3310
  ), T = z.indexOf(B.columnId), V = T === -1 ? z.length : T + (B.side === "left" ? 0 : 1), F = [...z.slice(0, V), N, ...z.slice(V)], R = new Set(L.columnPinning.left || []);
3308
3311
  R.has(B.columnId) ? R.add(N) : R.delete(N), L.setColumnsConfig({
@@ -3326,7 +3329,7 @@ const $o = g.div`
3326
3329
  column: N,
3327
3330
  x: B.clientX,
3328
3331
  y: B.clientY,
3329
- origin: L.closest(Ci),
3332
+ origin: L.closest(Ei),
3330
3333
  immediate: !!B.target.closest?.(".hover-swap"),
3331
3334
  grab: {
3332
3335
  x: B.clientX - z.left,
@@ -3348,7 +3351,7 @@ const $o = g.div`
3348
3351
  R && (Math.abs(V - R.x) < en && Math.abs(F - R.y) < en || !R.immediate && N(V, F, R.origin) || h({ column: R.column, x: V, y: F, grab: R.grab, target: tn(V, F) }));
3349
3352
  }, L = () => {
3350
3353
  const T = S.current;
3351
- E.current = null, T && (Pi(), T.target && (p(T.column.value, T.target), x(!1)), h(null));
3354
+ E.current = null, T && (_i(), T.target && (p(T.column.value, T.target), x(!1)), h(null));
3352
3355
  }, z = (T) => {
3353
3356
  T.key === "Escape" && y();
3354
3357
  };
@@ -3356,10 +3359,10 @@ const $o = g.div`
3356
3359
  window.removeEventListener("pointermove", B), window.removeEventListener("pointerup", L), window.removeEventListener("pointercancel", y), window.removeEventListener("keydown", z);
3357
3360
  };
3358
3361
  }, [p, y, x]);
3359
- const P = d ? document.querySelector(`[${xn}]`)?.getBoundingClientRect() : void 0, $ = d ? sn(
3362
+ const P = d ? document.querySelector(`[${yn}]`)?.getBoundingClientRect() : void 0, $ = d ? sn(
3360
3363
  /* @__PURE__ */ k(me, { children: [
3361
3364
  P && /* @__PURE__ */ n(
3362
- _i,
3365
+ Ai,
3363
3366
  {
3364
3367
  style: {
3365
3368
  left: P.left,
@@ -3370,38 +3373,38 @@ const $o = g.div`
3370
3373
  }
3371
3374
  ),
3372
3375
  /* @__PURE__ */ k(
3373
- Ai,
3376
+ Di,
3374
3377
  {
3375
3378
  style: {
3376
3379
  left: d.x - d.grab.x,
3377
3380
  top: d.y - d.grab.y,
3378
3381
  width: d.grab.width
3379
3382
  },
3380
- className: Ni(d),
3383
+ className: Pi(d),
3381
3384
  children: [
3382
3385
  d.column.icon && /* @__PURE__ */ n(G, { icon: d.column.icon }),
3383
3386
  /* @__PURE__ */ n("span", { children: d.column.label })
3384
3387
  ]
3385
3388
  }
3386
3389
  ),
3387
- d.target && /* @__PURE__ */ n(to, { style: d.target.line })
3390
+ d.target && /* @__PURE__ */ n(No, { style: d.target.line })
3388
3391
  ] }),
3389
3392
  document.body
3390
3393
  ) : null;
3391
3394
  return { armDrag: w, cancelDrag: y, isDragging: !!d, dragOverlay: $ };
3392
- }, Ni = (e) => e.target ? "over-target" : "", Pi = () => {
3395
+ }, Pi = (e) => e.target ? "over-target" : "", _i = () => {
3393
3396
  const e = (t) => {
3394
3397
  t.stopPropagation(), t.preventDefault();
3395
3398
  };
3396
3399
  window.addEventListener("click", e, !0), setTimeout(() => window.removeEventListener("click", e, !0), 0);
3397
- }, _i = g.div`
3400
+ }, Ai = g.div`
3398
3401
  position: fixed;
3399
3402
  box-sizing: border-box;
3400
3403
  z-index: 999;
3401
3404
  pointer-events: none;
3402
3405
  border-radius: 4px;
3403
3406
  background-color: color-mix(in srgb, var(--md-sys-color-primary) 8%, transparent);
3404
- `, Ai = g.div`
3407
+ `, Di = g.div`
3405
3408
  position: fixed;
3406
3409
  box-sizing: border-box;
3407
3410
  z-index: 2000;
@@ -3432,7 +3435,7 @@ const $o = g.div`
3432
3435
  columnVisibility: r,
3433
3436
  defaultColumnVisibility: a,
3434
3437
  updateColumnVisibility: s
3435
- }), { armDrag: x, cancelDrag: d, isDragging: h, dragOverlay: E } = Ti(), S = K({ isPainting: m, isDragging: h, cancelPaint: l });
3438
+ }), { armDrag: x, cancelDrag: d, isDragging: h, dragOverlay: E } = Ni(), S = K({ isPainting: m, isDragging: h, cancelPaint: l });
3436
3439
  S.current = { isPainting: m, isDragging: h, cancelPaint: l };
3437
3440
  const f = ee((w, P) => {
3438
3441
  S.current.isDragging || (P && d(), c(w, P));
@@ -3468,13 +3471,13 @@ const $o = g.div`
3468
3471
  onColumnDragStart: x,
3469
3472
  isColumnDragging: h
3470
3473
  };
3471
- }, Di = [], Li = [], Vn = ({
3472
- extraColumns: e = Di,
3473
- hiddenColumns: t = Li,
3474
+ }, Li = [], Oi = [], Vn = ({
3475
+ extraColumns: e = Li,
3476
+ hiddenColumns: t = Oi,
3474
3477
  includeLinks: o = !0,
3475
3478
  parentColumns: r = []
3476
3479
  }) => {
3477
- const { linkTypes: a } = yn(), { attribFields: s, scopes: i } = We(), v = X(
3480
+ const { linkTypes: a } = bn(), { attribFields: s, scopes: i } = We(), v = X(
3478
3481
  () => [
3479
3482
  {
3480
3483
  value: "thumbnail",
@@ -3483,7 +3486,7 @@ const $o = g.div`
3483
3486
  },
3484
3487
  {
3485
3488
  value: "name",
3486
- label: So(i),
3489
+ label: wo(i),
3487
3490
  icon: Z("name")
3488
3491
  },
3489
3492
  {
@@ -3554,7 +3557,7 @@ const $o = g.div`
3554
3557
  ...s.filter((c) => c.scope?.some((u) => i.includes(u))).map((c) => ({
3555
3558
  value: `attrib_${c.name}`,
3556
3559
  label: c.data.title || c.name,
3557
- icon: ve(c.name, c.data.type, fn(c.data)),
3560
+ icon: ve(c.name, c.data.type, vn(c.data)),
3558
3561
  attrib: { builtin: c.builtin, scope: c.scope }
3559
3562
  })),
3560
3563
  ...a && o ? a.filter(
@@ -3603,14 +3606,14 @@ const $o = g.div`
3603
3606
  [v, t]
3604
3607
  );
3605
3608
  return { columns: v, visibleColumns: b, scopes: i };
3606
- }, Oi = g(H)`
3609
+ }, Ri = g(H)`
3607
3610
  min-width: 120px;
3608
- `, Ri = g(H)`
3611
+ `, $i = g(H)`
3609
3612
  padding: 4px !important;
3610
- `, _s = ({ defaultSelected: e, className: t, ...o }) => {
3613
+ `, Ds = ({ defaultSelected: e, className: t, ...o }) => {
3611
3614
  const { togglePanel: r, isPanelOpen: a } = Xe();
3612
3615
  return /* @__PURE__ */ n(
3613
- Oi,
3616
+ Ri,
3614
3617
  {
3615
3618
  onClick: () => r(e),
3616
3619
  icon: "settings",
@@ -3619,7 +3622,7 @@ const $o = g.div`
3619
3622
  children: "Customize"
3620
3623
  }
3621
3624
  );
3622
- }, As = ({
3625
+ }, Ls = ({
3623
3626
  settings: e = [],
3624
3627
  extraColumns: t,
3625
3628
  hiddenColumns: o,
@@ -3652,7 +3655,7 @@ const $o = g.div`
3652
3655
  hiddenColumns: o,
3653
3656
  includeLinks: s,
3654
3657
  parentColumns: u
3655
- }), B = a && ko(a, l), L = N.filter(
3658
+ }), B = a && So(a, l), L = N.filter(
3656
3659
  (O) => ae(x, O.value, d)
3657
3660
  ).length, {
3658
3661
  menuItems: z,
@@ -3663,14 +3666,14 @@ const $o = g.div`
3663
3666
  columns: N,
3664
3667
  scopes: m,
3665
3668
  extraItems: c
3666
- }), R = Si({ scope: b }), C = ki($), _ = [
3669
+ }), R = ki({ scope: b }), C = Ci($), _ = [
3667
3670
  {
3668
3671
  id: "columns",
3669
3672
  title: "Columns",
3670
3673
  icon: "view_column",
3671
3674
  preview: `${L}/${N.length}`,
3672
3675
  headerActions: /* @__PURE__ */ n(
3673
- Ri,
3676
+ $i,
3674
3677
  {
3675
3678
  variant: "text",
3676
3679
  icon: "search",
@@ -3681,7 +3684,7 @@ const $o = g.div`
3681
3684
  ),
3682
3685
  component: /* @__PURE__ */ k(me, { children: [
3683
3686
  /* @__PURE__ */ n(
3684
- vi,
3687
+ fi,
3685
3688
  {
3686
3689
  columns: N,
3687
3690
  highlighted: B,
@@ -3701,7 +3704,7 @@ const $o = g.div`
3701
3704
  {
3702
3705
  id: "row-height",
3703
3706
  component: /* @__PURE__ */ n(
3704
- wi,
3707
+ Si,
3705
3708
  {
3706
3709
  value: h,
3707
3710
  onChange: E,
@@ -3716,8 +3719,8 @@ const $o = g.div`
3716
3719
  if (r.includes(O.id)) return;
3717
3720
  const M = _.findIndex((Y) => Y && "id" in Y && Y.id === O.id);
3718
3721
  M !== -1 ? _[M] = O : _.push(O);
3719
- }), /* @__PURE__ */ n(oi, { settings: _, order: v });
3720
- }, gt = "add-column-menu-table", $i = g.div`
3722
+ }), /* @__PURE__ */ n(ri, { settings: _, order: v });
3723
+ }, gt = "add-column-menu-table", Fi = g.div`
3721
3724
  position: absolute;
3722
3725
  top: 4px;
3723
3726
  right: 24px;
@@ -3727,7 +3730,7 @@ const $o = g.div`
3727
3730
  padding: 2px;
3728
3731
  border-radius: 12px;
3729
3732
  }
3730
- `, Ds = ({
3733
+ `, Os = ({
3731
3734
  extraColumns: e,
3732
3735
  hiddenColumns: t,
3733
3736
  includeLinks: o,
@@ -3744,7 +3747,7 @@ const $o = g.div`
3744
3747
  scopes: b,
3745
3748
  extraItems: r
3746
3749
  });
3747
- return s ? null : /* @__PURE__ */ k($i, { children: [
3750
+ return s ? null : /* @__PURE__ */ k(Fi, { children: [
3748
3751
  /* @__PURE__ */ n(
3749
3752
  H,
3750
3753
  {
@@ -3759,7 +3762,7 @@ const $o = g.div`
3759
3762
  /* @__PURE__ */ n(yt, { menuId: gt, menuItems: c }),
3760
3763
  l
3761
3764
  ] });
3762
- }, Ls = g.a`
3765
+ }, Rs = g.a`
3763
3766
  color: var(--md-sys-color-primary, #0066cc);
3764
3767
  text-decoration: none;
3765
3768
  cursor: pointer;
@@ -3771,7 +3774,7 @@ const $o = g.div`
3771
3774
  &:hover {
3772
3775
  text-decoration: underline;
3773
3776
  }
3774
- `, Fi = g.div`
3777
+ `, Mi = g.div`
3775
3778
  display: flex;
3776
3779
  gap: var(--base-gap-small);
3777
3780
  background-color: var(--md-sys-color-surface-container-high);
@@ -3784,14 +3787,14 @@ const $o = g.div`
3784
3787
  background-color: var(--md-sys-color-surface-container-highest-hover);
3785
3788
  }
3786
3789
  }
3787
- `, Os = le(
3790
+ `, $s = le(
3788
3791
  ({ showGrid: e, onChange: t, ...o }, r) => (J(() => {
3789
3792
  const a = (s) => {
3790
3793
  const i = s.target;
3791
3794
  i.tagName === "INPUT" || i.tagName === "TEXTAREA" || i.isContentEditable || i.getAttribute("role") === "textbox" || i.tagName === "LI" || (s.key.toLowerCase() === "t" ? t(!1) : s.key.toLowerCase() === "g" && t(!0));
3792
3795
  };
3793
3796
  return window.addEventListener("keydown", a), () => window.removeEventListener("keydown", a);
3794
- }, [t]), /* @__PURE__ */ k(Fi, { ...o, ref: r, children: [
3797
+ }, [t]), /* @__PURE__ */ k(Mi, { ...o, ref: r, children: [
3795
3798
  /* @__PURE__ */ n(
3796
3799
  nn,
3797
3800
  {
@@ -3815,13 +3818,13 @@ const $o = g.div`
3815
3818
  }
3816
3819
  )
3817
3820
  ] }))
3818
- ), Mi = g.form`
3821
+ ), Vi = g.form`
3819
3822
  display: flex;
3820
3823
  flex-direction: column;
3821
3824
  gap: var(--base-gap-large);
3822
3825
  padding: var(--padding-m);
3823
3826
  width: 100%;
3824
- `, Vi = g(wt)`
3827
+ `, Bi = g(wt)`
3825
3828
  width: 100%;
3826
3829
  margin: auto;
3827
3830
 
@@ -3832,12 +3835,12 @@ const $o = g.div`
3832
3835
  input {
3833
3836
  width: 100%;
3834
3837
  }
3835
- `, Bi = g.div`
3838
+ `, Ui = g.div`
3836
3839
  font-size: var(--font-size-xs);
3837
3840
  color: var(--md-sys-color-outline);
3838
3841
  margin-top: var(--base-gap-small);
3839
3842
  line-height: 1.3;
3840
- `, Ui = g.button`
3843
+ `, Hi = g.button`
3841
3844
  background: none;
3842
3845
  border: none;
3843
3846
  color: var(--md-sys-color-primary);
@@ -3850,7 +3853,7 @@ const $o = g.div`
3850
3853
  &:hover {
3851
3854
  color: var(--md-sys-color-primary-dark);
3852
3855
  }
3853
- `, Hi = g.div`
3856
+ `, zi = g.div`
3854
3857
  display: flex;
3855
3858
  align-items: start;
3856
3859
  gap: var(--base-gap-small);
@@ -3860,39 +3863,39 @@ const $o = g.div`
3860
3863
  flex: 1;
3861
3864
  min-width: 0;
3862
3865
  }
3863
- `, zi = g.div`
3866
+ `, ji = g.div`
3864
3867
  font-size: var(--font-size-xs);
3865
3868
  color: var(--md-sys-color-primary);
3866
3869
  margin-top: var(--base-gap-small);
3867
3870
  line-height: 1.3;
3868
- `, ji = g.div`
3871
+ `, Ki = g.div`
3869
3872
  position: relative;
3870
3873
  min-height: 80px;
3871
- `, Ki = g.div`
3874
+ `, Gi = g.div`
3872
3875
  display: flex;
3873
3876
  align-items: center;
3874
3877
  gap: var(--base-gap-small);
3875
3878
  width: 100%;
3876
- `, Gi = g(H)`
3879
+ `, Yi = g(H)`
3877
3880
  flex: 1;
3878
- `, Yi = g.div`
3881
+ `, qi = g.div`
3879
3882
  width: 100%;
3880
3883
  overflow: hidden;
3881
3884
  display: flex;
3882
3885
  min-width: 0;
3883
- `, qi = g.span`
3886
+ `, Wi = g.span`
3884
3887
  overflow: hidden;
3885
3888
  text-overflow: ellipsis;
3886
3889
  white-space: nowrap;
3887
3890
  max-width: fit-content;
3888
3891
  margin-right: 4px;
3889
3892
  flex: 1;
3890
- `, Wi = g.span`
3893
+ `, Xi = g.span`
3891
3894
  white-space: nowrap;
3892
3895
  overflow: hidden;
3893
3896
  text-overflow: ellipsis;
3894
3897
  font-weight: bold;
3895
- `, Xi = ({
3898
+ `, Qi = ({
3896
3899
  formData: e,
3897
3900
  onChange: t,
3898
3901
  onSubmit: o,
@@ -3925,10 +3928,10 @@ const $o = g.div`
3925
3928
  t("name", D.length > 0 ? D[0] : "");
3926
3929
  },
3927
3930
  [t]
3928
- ), V = N?.latestVersion ? `v${String(N.latestVersion.version).padStart(3, "0")}` : "", { data: F, isFetching: R } = mo(
3931
+ ), V = N?.latestVersion ? `v${String(N.latestVersion.version).padStart(3, "0")}` : "", { data: F, isFetching: R } = uo(
3929
3932
  { projectName: a, taskId: E },
3930
3933
  { skip: !E }
3931
- ), C = f || !!E && R && !S, _ = F?.folderId || w, O = yn(), M = F?.label || F?.name || S?.label || S?.name || "", Y = F?.taskType || S?.taskType, ne = Y ? O.getTaskType(Y) : void 0, re = ne?.icon || "task_alt", be = F?.path ? F.path.substring(0, F.path.lastIndexOf("/")) : "", ye = O.getProductTypeOptions(), ue = X(() => O.productTypes.reduce((D, q) => (D[q.name] = q, D), {}), [O.productTypes]);
3934
+ ), C = f || !!E && R && !S, _ = F?.folderId || w, O = bn(), M = F?.label || F?.name || S?.label || S?.name || "", Y = F?.taskType || S?.taskType, ne = Y ? O.getTaskType(Y) : void 0, re = ne?.icon || "task_alt", be = F?.path ? F.path.substring(0, F.path.lastIndexOf("/")) : "", ye = O.getProductTypeOptions(), ue = X(() => O.productTypes.reduce((D, q) => (D[q.name] = q, D), {}), [O.productTypes]);
3932
3935
  J(() => {
3933
3936
  const D = b.current, q = ue[D]?.name || "", he = ue[e.productType]?.name || "";
3934
3937
  if (e.productType !== D && q && e.name.startsWith(q)) {
@@ -3956,7 +3959,7 @@ const $o = g.div`
3956
3959
  return e.name && !e.name.startsWith(D);
3957
3960
  }, ie = !!i;
3958
3961
  return /* @__PURE__ */ k(
3959
- Mi,
3962
+ Vi,
3960
3963
  {
3961
3964
  id: "upload-version-form",
3962
3965
  ref: u,
@@ -3969,8 +3972,8 @@ const $o = g.div`
3969
3972
  }
3970
3973
  },
3971
3974
  children: [
3972
- /* @__PURE__ */ k(Vi, { children: [
3973
- !r.includes("name") && /* @__PURE__ */ n(te, { label: "Product Name", children: /* @__PURE__ */ k(Hi, { children: [
3975
+ /* @__PURE__ */ k(Bi, { children: [
3976
+ !r.includes("name") && /* @__PURE__ */ n(te, { label: "Product Name", children: /* @__PURE__ */ k(zi, { children: [
3974
3977
  /* @__PURE__ */ k("div", { children: [
3975
3978
  /* @__PURE__ */ n(
3976
3979
  De,
@@ -3985,17 +3988,17 @@ const $o = g.div`
3985
3988
  disabled: ie
3986
3989
  }
3987
3990
  ),
3988
- N && /* @__PURE__ */ n(zi, { children: N.latestVersion ? /* @__PURE__ */ k(me, { children: [
3991
+ N && /* @__PURE__ */ n(ji, { children: N.latestVersion ? /* @__PURE__ */ k(me, { children: [
3989
3992
  "Matched existing product (latest: ",
3990
3993
  V,
3991
3994
  ")"
3992
3995
  ] }) : "Matched existing product (no versions)" }),
3993
- !N && ce() && /* @__PURE__ */ k(Bi, { id: "name-recommendation", children: [
3996
+ !N && ce() && /* @__PURE__ */ k(Ui, { id: "name-recommendation", children: [
3994
3997
  'We recommend prefixing with "',
3995
3998
  ue[e.productType]?.name,
3996
3999
  '".',
3997
4000
  " ",
3998
- /* @__PURE__ */ n(Ui, { type: "button", onClick: ge, children: "Apply prefix" })
4001
+ /* @__PURE__ */ n(Hi, { type: "button", onClick: ge, children: "Apply prefix" })
3999
4002
  ] })
4000
4003
  ] }),
4001
4004
  !v && !ie && /* @__PURE__ */ n(
@@ -4050,9 +4053,9 @@ const $o = g.div`
4050
4053
  disabled: ie
4051
4054
  }
4052
4055
  ) }),
4053
- /* @__PURE__ */ n(te, { label: "Task", children: /* @__PURE__ */ n(Ki, { children: C ? /* @__PURE__ */ n(Oo, { height: "20px" }) : E && M ? /* @__PURE__ */ k(me, { children: [
4056
+ /* @__PURE__ */ n(te, { label: "Task", children: /* @__PURE__ */ n(Gi, { children: C ? /* @__PURE__ */ n(Ro, { height: "20px" }) : E && M ? /* @__PURE__ */ k(me, { children: [
4054
4057
  /* @__PURE__ */ k(
4055
- Gi,
4058
+ Yi,
4056
4059
  {
4057
4060
  type: "button",
4058
4061
  onClick: () => L(!0),
@@ -4060,13 +4063,13 @@ const $o = g.div`
4060
4063
  variant: "text",
4061
4064
  children: [
4062
4065
  /* @__PURE__ */ n(G, { icon: re, style: { color: ne?.color } }),
4063
- /* @__PURE__ */ k(Yi, { children: [
4064
- be && /* @__PURE__ */ k(qi, { children: [
4066
+ /* @__PURE__ */ k(qi, { children: [
4067
+ be && /* @__PURE__ */ k(Wi, { children: [
4065
4068
  be.split("/").filter(Boolean).join(" / "),
4066
4069
  " /",
4067
4070
  " "
4068
4071
  ] }),
4069
- /* @__PURE__ */ n(Wi, { children: M })
4072
+ /* @__PURE__ */ n(Xi, { children: M })
4070
4073
  ] })
4071
4074
  ]
4072
4075
  }
@@ -4096,7 +4099,7 @@ const $o = g.div`
4096
4099
  ) }) })
4097
4100
  ] }),
4098
4101
  B && /* @__PURE__ */ n(
4099
- Io,
4102
+ Eo,
4100
4103
  {
4101
4104
  projectName: a,
4102
4105
  entityType: "task",
@@ -4111,8 +4114,8 @@ const $o = g.div`
4111
4114
  }
4112
4115
  ),
4113
4116
  /* @__PURE__ */ n(te, { label: "Reviewable files" }),
4114
- /* @__PURE__ */ n(ji, { children: /* @__PURE__ */ n(
4115
- ho,
4117
+ /* @__PURE__ */ n(Ki, { children: /* @__PURE__ */ n(
4118
+ mo,
4116
4119
  {
4117
4120
  projectName: a,
4118
4121
  versionId: i,
@@ -4135,15 +4138,15 @@ const $o = g.div`
4135
4138
  ]
4136
4139
  }
4137
4140
  );
4138
- }, Qi = (e) => {
4141
+ }, Ji = (e) => {
4139
4142
  let t = String(e), o = Math.max(0, 3 - t.length);
4140
4143
  return `v${"0".repeat(o)}${t}`;
4141
- }, Ji = g.span`
4144
+ }, Zi = g.span`
4142
4145
  background-color: var(--md-sys-color-error-container);
4143
4146
  color: var(--md-sys-color-on-error-container);
4144
4147
  padding: var(--padding-s);
4145
4148
  border-radius: var(--border-radius-m);
4146
- `, Rs = () => {
4149
+ `, Fs = () => {
4147
4150
  const {
4148
4151
  isOpen: e,
4149
4152
  onCloseVersionUpload: t,
@@ -4167,7 +4170,7 @@ const $o = g.div`
4167
4170
  {
4168
4171
  type: "submit",
4169
4172
  form: "upload-version-form",
4170
- label: `Create ${Qi(s.version)}`,
4173
+ label: `Create ${Ji(s.version)}`,
4171
4174
  icon: "upload",
4172
4175
  active: !0,
4173
4176
  saving: c
@@ -4185,7 +4188,7 @@ const $o = g.div`
4185
4188
  style: { width: 600, maxHeight: "80vh" },
4186
4189
  children: [
4187
4190
  /* @__PURE__ */ n(
4188
- Xi,
4191
+ Qi,
4189
4192
  {
4190
4193
  formData: s,
4191
4194
  minVersion: i,
@@ -4197,24 +4200,24 @@ const $o = g.div`
4197
4200
  productId: d
4198
4201
  }
4199
4202
  ),
4200
- E && /* @__PURE__ */ n(Ji, { className: "error", children: so(u) })
4203
+ E && /* @__PURE__ */ n(Zi, { className: "error", children: io(u) })
4201
4204
  ]
4202
4205
  }
4203
4206
  );
4204
- }, Zi = g.div`
4207
+ }, ea = g.div`
4205
4208
  position: relative;
4206
4209
  flex: 1;
4207
4210
  z-index: 1000;
4208
4211
  overflow: hidden;
4209
4212
  padding-bottom: var(--padding-m);
4210
- `, ea = g(Ro)`
4213
+ `, ta = g($o)`
4211
4214
  display: flex;
4212
4215
  flex-direction: column;
4213
4216
  justify-content: flex-start;
4214
4217
  align-items: center;
4215
4218
  min-width: fit-content;
4216
4219
  gap: var(--base-gap-small);
4217
- `, ta = g.div`
4220
+ `, na = g.div`
4218
4221
  position: relative;
4219
4222
  display: flex;
4220
4223
  flex-direction: column;
@@ -4264,7 +4267,7 @@ const $o = g.div`
4264
4267
  border-color: var(--selection-border-color);
4265
4268
  color: var(--selection-color);
4266
4269
  }
4267
- `, na = g.span`
4270
+ `, oa = g.span`
4268
4271
  padding: var(--padding-m);
4269
4272
  border-radius: var(--border-radius-m);
4270
4273
  background-color: var(--md-sys-color-surface-container-low);
@@ -4275,7 +4278,7 @@ const $o = g.div`
4275
4278
  left: -8px;
4276
4279
  transform: translateX(-100%) translateY(-50%);
4277
4280
  z-index: 1000;
4278
- `, oa = g(H)`
4281
+ `, ra = g(H)`
4279
4282
  width: 62px;
4280
4283
  min-height: 62px;
4281
4284
  background-color: var(--md-sys-color-surface-container-high);
@@ -4283,7 +4286,7 @@ const $o = g.div`
4283
4286
  &:hover {
4284
4287
  background-color: var(--md-sys-color-surface-container-high-hover);
4285
4288
  }
4286
- `, ra = g.div`
4289
+ `, ia = g.div`
4287
4290
  border-radius: var(--border-radius-m);
4288
4291
  background-color: var(--md-sys-color-surface-container-high);
4289
4292
  position: absolute;
@@ -4291,7 +4294,7 @@ const $o = g.div`
4291
4294
  right: var(--padding-s);
4292
4295
  padding: var(--padding-s);
4293
4296
  `;
4294
- function ia({
4297
+ function aa({
4295
4298
  fileId: e,
4296
4299
  label: t,
4297
4300
  selected: o,
@@ -4304,9 +4307,9 @@ function ia({
4304
4307
  selectionVariant: c = "primary",
4305
4308
  shortcut: u
4306
4309
  }) {
4307
- const [l] = Co();
4310
+ const [l] = ko();
4308
4311
  return /* @__PURE__ */ k(
4309
- ta,
4312
+ na,
4310
4313
  {
4311
4314
  id: "preview-" + e,
4312
4315
  onClick: (m) => i?.(e, m.metaKey || m.ctrlKey),
@@ -4321,14 +4324,14 @@ function ia({
4321
4324
  },
4322
4325
  tabIndex: 0,
4323
4326
  children: [
4324
- /* @__PURE__ */ n(vo, { src: `/api/projects/${r}/files/${e}/thumbnail` }),
4325
- v && /* @__PURE__ */ n(ra, { children: v })
4327
+ /* @__PURE__ */ n(go, { src: `/api/projects/${r}/files/${e}/thumbnail` }),
4328
+ v && /* @__PURE__ */ n(ia, { children: v })
4326
4329
  ]
4327
4330
  },
4328
4331
  e
4329
4332
  );
4330
4333
  }
4331
- const $s = le(({
4334
+ const Ms = le(({
4332
4335
  reviewables: e = [],
4333
4336
  selected: t = [],
4334
4337
  projectName: o,
@@ -4383,9 +4386,9 @@ const $s = le(({
4383
4386
  if (f === (E - 1 + p) % p) return "W";
4384
4387
  if (f === (E + 1) % p) return "S";
4385
4388
  };
4386
- return /* @__PURE__ */ k(Zi, { children: [
4389
+ return /* @__PURE__ */ k(ea, { children: [
4387
4390
  /* @__PURE__ */ k(
4388
- ea,
4391
+ ta,
4389
4392
  {
4390
4393
  className: "reviewables",
4391
4394
  ref: i,
@@ -4394,7 +4397,7 @@ const $s = le(({
4394
4397
  },
4395
4398
  children: [
4396
4399
  e.map(({ fileId: f, label: p, tag: y, selectionVariant: w, contextMenuItems: P }, $) => /* @__PURE__ */ n(
4397
- ia,
4400
+ aa,
4398
4401
  {
4399
4402
  shortcut: S($),
4400
4403
  projectName: o,
@@ -4411,7 +4414,7 @@ const $s = le(({
4411
4414
  f
4412
4415
  )),
4413
4416
  !!a && /* @__PURE__ */ n(
4414
- oa,
4417
+ ra,
4415
4418
  {
4416
4419
  icon: "add",
4417
4420
  onClick: a,
@@ -4421,60 +4424,60 @@ const $s = le(({
4421
4424
  ]
4422
4425
  }
4423
4426
  ),
4424
- b && u && /* @__PURE__ */ n(na, { style: { top: u }, children: b })
4427
+ b && u && /* @__PURE__ */ n(oa, { style: { top: u }, children: b })
4425
4428
  ] });
4426
4429
  });
4427
4430
  export {
4428
- is as A,
4429
- As as B,
4430
- ns as C,
4431
- us as D,
4432
- Uo as E,
4433
- Es as F,
4431
+ ss as A,
4432
+ Ls as B,
4433
+ rs as C,
4434
+ ms as D,
4435
+ Ho as E,
4436
+ Ts as F,
4434
4437
  Ut as G,
4435
- $s as H,
4436
- ni as I,
4437
- Ps as J,
4438
- oi as K,
4439
- xs as L,
4440
- Cs as M,
4438
+ Ms as H,
4439
+ oi as I,
4440
+ As as J,
4441
+ ri as K,
4442
+ Ss as L,
4443
+ Is as M,
4441
4444
  An as N,
4442
- jo as O,
4443
- ws as P,
4444
- wi as Q,
4445
- Ns as R,
4446
- os as S,
4447
- cs as T,
4448
- Ls as U,
4445
+ Ko as O,
4446
+ ks as P,
4447
+ Si as Q,
4448
+ _s as R,
4449
+ is as S,
4450
+ us as T,
4451
+ Rs as U,
4449
4452
  Ht as V,
4450
- Os as W,
4453
+ $s as W,
4451
4454
  zt as X,
4452
- Rs as Y,
4453
- as as Z,
4454
- ls as a,
4455
- ps as b,
4456
- ms as c,
4457
- gs as d,
4458
- hs as e,
4459
- vs as f,
4460
- ds as g,
4461
- ks as h,
4462
- Is as i,
4463
- Ss as j,
4464
- Ts as k,
4455
+ Fs as Y,
4456
+ ls as Z,
4457
+ ds as a,
4458
+ gs as b,
4459
+ hs as c,
4460
+ vs as d,
4461
+ fs as e,
4462
+ bs as f,
4463
+ ps as g,
4464
+ Es as h,
4465
+ Ns as i,
4466
+ Cs as j,
4467
+ Ps as k,
4465
4468
  ft as l,
4466
- rs as m,
4467
- Ds as n,
4468
- ts as o,
4469
- ss as p,
4470
- mi as q,
4471
- vi as r,
4472
- _s as s,
4473
- bs as t,
4474
- Ho as u,
4475
- fs as v,
4476
- lr as w,
4477
- nr as x,
4478
- ys as y,
4469
+ as as m,
4470
+ Os as n,
4471
+ os as o,
4472
+ cs as p,
4473
+ gi as q,
4474
+ fi as r,
4475
+ Ds as s,
4476
+ xs as t,
4477
+ zo as u,
4478
+ ys as v,
4479
+ cr as w,
4480
+ or as x,
4481
+ ws as y,
4479
4482
  jt as z
4480
4483
  };