@ynput/ayon-frontend-shared 0.6.6 → 0.6.8

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 (53) hide show
  1. package/dist/DetailsPanel.es.js +4 -4
  2. package/dist/ListTable.es.js +2 -2
  3. package/dist/NewEntity.es.js +49 -49
  4. package/dist/ProjectTreeTable.es.js +501 -496
  5. package/dist/Slicer.es.js +27 -27
  6. package/dist/Views.es.js +213 -206
  7. package/dist/api.es.js +362 -360
  8. package/dist/chunks/Actions.es.js +21 -21
  9. package/dist/chunks/CodeEditor.es.js +30 -0
  10. package/dist/chunks/ColumnDropIndicator.es.js +5 -5
  11. package/dist/chunks/ColumnDropIndicator.styled.es.js +24 -24
  12. package/dist/chunks/ColumnHeaderMenuUI.es.js +2 -2
  13. package/dist/chunks/DeleteEntitiesContextInstance.es.js +96 -96
  14. package/dist/chunks/EmptyPlaceholder.es.js +9 -9
  15. package/dist/chunks/EntityPath.es.js +3 -3
  16. package/dist/chunks/EntityTooltip.es.js +1 -1
  17. package/dist/chunks/EntityUpdatesContext.es.js +1 -1
  18. package/dist/chunks/Feed.es.js +1625 -1573
  19. package/dist/chunks/JsonViewer.es.js +1 -1
  20. package/dist/chunks/Menu.es.js +1 -1
  21. package/dist/chunks/MenuItem.es.js +25 -25
  22. package/dist/chunks/MetaWidget.es.js +1537 -1516
  23. package/dist/chunks/PlayableIcon.es.js +128 -128
  24. package/dist/chunks/ProjectContext.es.js +11 -11
  25. package/dist/chunks/ReviewablesSelector.es.js +553 -462
  26. package/dist/chunks/SimpleForm.es.js +7 -7
  27. package/dist/chunks/SimpleTable.es.js +110 -110
  28. package/dist/chunks/Slicer.es.js +80 -80
  29. package/dist/chunks/TableSettingsFallback.es.js +1 -1
  30. package/dist/chunks/ThumbnailSimple.es.js +17 -17
  31. package/dist/chunks/VideoPlayer.es.js +1 -1
  32. package/dist/chunks/Watchers.es.js +50 -50
  33. package/dist/chunks/afterStartup.es.js +13 -0
  34. package/dist/chunks/getBundleMode.es.js +1 -1
  35. package/dist/chunks/getUris.es.js +797 -827
  36. package/dist/chunks/searchTerms.es.js +353 -336
  37. package/dist/chunks/useAttributeEnums.es.js +16 -16
  38. package/dist/chunks/useHierarchySelection.es.js +2 -2
  39. package/dist/chunks/useLoadModule.es.js +24 -23
  40. package/dist/chunks/viewUpdateHelper.es.js +8 -8
  41. package/dist/components.es.js +205 -202
  42. package/dist/context.es.js +525 -496
  43. package/dist/hooks.es.js +190 -166
  44. package/dist/types/ContextMenu.d.ts +1 -0
  45. package/dist/types/ProjectTreeTable.d.ts +1 -0
  46. package/dist/types/Views.d.ts +11 -0
  47. package/dist/types/api.d.ts +823 -1427
  48. package/dist/types/components.d.ts +9 -1
  49. package/dist/types/context.d.ts +1 -0
  50. package/dist/types/hooks.d.ts +25 -1
  51. package/dist/types/util.d.ts +10 -0
  52. package/dist/util.es.js +45 -42
  53. package/package.json +2 -2
@@ -3,26 +3,26 @@ import Xe, { useMemo as j, useCallback as q, useEffect as Ue, useState as Ve, us
3
3
  import { useVirtualizer as Un } from "@tanstack/react-virtual";
4
4
  import { functionalUpdate as Ct, useReactTable as ws, filterFns as Cs, getSortedRowModel as Ts, getExpandedRowModel as Ss, getFilteredRowModel as vs, getCoreRowModel as Es, flexRender as dn } from "@tanstack/react-table";
5
5
  import qe from "clsx";
6
- import { r as xs, s as ks, t as En, v as Rs, w as dt, a as nt, x as Ps, y as Gn, z as As, b as Ke, F as ut, G as Zt, H as en, I as Ye, p as he, J as Ds, K as $t, N as Ls, O as Os, Q as _s, R as Fs, P as Ns, V as Ms, W as Wn, X as _e, Y as $s, Z as Vs, f as un, _ as zs, $ as an, a0 as Wt, U as xn, a1 as ln, a2 as Bs, a3 as bt, a4 as Us, a5 as Gs, C as Ws, a6 as Hs, a7 as js, a8 as Ks, a9 as qs, aa as Qs, ab as Hn, ac as fn, ad as Xs, ae as Ys, af as Js, ag as kn, ah as Zs, q as Rn, ai as eo, aj as to, ak as jn, al as Kn, am as no, an as so, ao as oo, ap as ro } from "./chunks/MetaWidget.es.js";
7
- import { B as Fa, aq as Na, ar as Ma, as as $a, at as Va, au as za, av as Ba, n as Ua, aw as Ga, ax as Wa, ay as Ha, az as ja, aA as Ka, aB as qa, aC as Qa, o as Xa, aD as Ya, aE as Ja, aF as Za, aG as el, M as tl, aH as nl, aI as sl, aJ as ol, aK as rl, aL as il, aM as al, aN as ll, aO as cl, aP as dl, aQ as ul, aR as fl, T as pl, aS as gl, aT as ml, aU as yl, aV as hl, aW as Il, aX as bl, aY as wl, aZ as Cl, a_ as Tl, a$ as Sl, b0 as vl, b1 as El, b2 as xl, b3 as kl, b4 as Rl, b5 as Pl, b6 as Al, b7 as Dl, b8 as Ll, b9 as Ol, ba as _l, bb as Fl, bc as Nl, bd as Ml, be as $l, h as Vl, bf as zl, g as Bl } from "./chunks/MetaWidget.es.js";
8
- import { T as io, g as Kt, c as qt, H as Pn } from "./chunks/ColumnDropIndicator.styled.es.js";
9
- import { SEARCH_FILTER_ID as ao, Icon as pn, Button as tn } from "@ynput/ayon-react-components";
6
+ import { r as xs, s as ks, t as En, v as Rs, w as dt, a as nt, x as Ps, y as Gn, z as As, b as Ke, F as ut, G as Zt, H as en, I as Ye, p as he, J as Ds, K as $t, N as Ls, O as Os, Q as _s, R as Fs, V as Ns, P as Ms, W as $s, X as Wn, Y as _e, Z as Vs, _ as zs, f as un, $ as Bs, a0 as an, a1 as Wt, U as xn, a2 as ln, a3 as Us, a4 as bt, a5 as Gs, a6 as Ws, C as Hs, a7 as js, a8 as Ks, a9 as qs, aa as Qs, ab as Xs, ac as Hn, ad as fn, ae as Ys, af as Js, ag as Zs, ah as kn, ai as eo, q as Rn, aj as to, ak as no, al as jn, am as Kn, an as so, ao as oo, ap as ro, aq as io } from "./chunks/MetaWidget.es.js";
7
+ import { B as Na, ar as Ma, as as $a, at as Va, au as za, av as Ba, aw as Ua, n as Ga, ax as Wa, ay as Ha, az as ja, aA as Ka, aB as qa, aC as Qa, aD as Xa, o as Ya, aE as Ja, aF as Za, aG as el, aH as tl, M as nl, aI as sl, aJ as ol, aK as rl, aL as il, aM as al, aN as ll, aO as cl, aP as dl, aQ as ul, aR as fl, aS as pl, T as gl, aT as ml, aU as yl, aV as hl, aW as Il, aX as bl, aY as wl, aZ as Cl, a_ as Tl, a$ as Sl, b0 as vl, b1 as El, b2 as xl, b3 as kl, b4 as Rl, b5 as Pl, b6 as Al, b7 as Dl, b8 as Ll, b9 as Ol, ba as _l, bb as Fl, bc as Nl, bd as Ml, be as $l, bf as Vl, h as zl, bg as Bl, g as Ul } from "./chunks/MetaWidget.es.js";
8
+ import { T as ao, g as Kt, c as qt, H as Pn } from "./chunks/ColumnDropIndicator.styled.es.js";
9
+ import { SEARCH_FILTER_ID as lo, Icon as pn, Button as tn } from "@ynput/ayon-react-components";
10
10
  import "@module-federation/enhanced/runtime";
11
- import { ay as An, bi as qn } from "./chunks/searchTerms.es.js";
12
- import { aV as lo, aG as co, ds as Qn, dB as St, bX as uo, ct as fo, bY as po, ca as go, bx as Dn, cm as mo, bM as yo, dC as ho } from "./chunks/getUris.es.js";
13
- import { dD as Gl } from "./chunks/getUris.es.js";
14
- import "primereact/confirmdialog";
15
- import { x as Qe, d as Io, a5 as bo, y as wo, u as Xn, a as Co, a1 as To } from "./chunks/DeleteEntitiesContextInstance.es.js";
16
- import { isEqual as wt, debounce as So, throttle as vo } from "lodash";
17
11
  import { toast as Le } from "react-toastify";
18
- import { v4 as Eo } from "uuid";
19
- import { v as Yn, g as cn, R as ge, D as Be, f as xo, M as gn } from "./chunks/realtimeUpdatesUtils.es.js";
20
- import { C as Hl, W as jl, k as Kl } from "./chunks/realtimeUpdatesUtils.es.js";
12
+ import { az as An, bj as qn } from "./chunks/searchTerms.es.js";
13
+ import { aV as co, aG as uo, dt as Qn, dC as St, bX as fo, ct as po, bY as go, ca as mo, bx as Dn, cm as yo, bM as ho, dD as Io } from "./chunks/getUris.es.js";
14
+ import { dE as Wl } from "./chunks/getUris.es.js";
15
+ import "primereact/confirmdialog";
16
+ import { x as Qe, d as bo, a5 as wo, y as Co, u as Xn, a as To, a1 as So } from "./chunks/DeleteEntitiesContextInstance.es.js";
17
+ import { isEqual as wt, debounce as vo, throttle as Eo } from "lodash";
18
+ import { v4 as xo } from "uuid";
19
+ import { v as Yn, g as cn, R as ge, D as Be, f as ko, M as gn } from "./chunks/realtimeUpdatesUtils.es.js";
20
+ import { C as jl, W as Kl, k as ql } from "./chunks/realtimeUpdatesUtils.es.js";
21
21
  import "semver";
22
22
  import "./chunks/ContextMenuContextInstance.es.js";
23
23
  import { createPortal as Ht } from "react-dom";
24
24
  import "react-redux";
25
- import { k as ko } from "./chunks/PlayableIcon.es.js";
25
+ import { k as Ro } from "./chunks/PlayableIcon.es.js";
26
26
  import "lexical";
27
27
  import "@lexical/markdown";
28
28
  import "@lexical/react/LexicalBlockWithAlignableContents";
@@ -34,32 +34,32 @@ import "@lexical/list";
34
34
  import "@lexical/rich-text";
35
35
  import "@lexical/selection";
36
36
  import "@lexical/utils";
37
- import { i as Ro, u as Po, T as Ln } from "./chunks/ColumnDropIndicator.es.js";
38
- import { a as Ql, b as Xl, c as Yl } from "./chunks/ColumnDropIndicator.es.js";
39
- import { C as Ao } from "./chunks/ColumnHeaderMenuUI.es.js";
40
- import { useSensors as Do, useSensor as nn, MouseSensor as Lo, TouchSensor as Oo, KeyboardSensor as _o, closestCenter as On, DndContext as Fo, useDndMonitor as No, DragOverlay as Jn, useDndContext as Mo } from "@dnd-kit/core";
41
- import { arrayMove as _n, SortableContext as Zn, verticalListSortingStrategy as $o, horizontalListSortingStrategy as Vo, useSortable as es } from "@dnd-kit/sortable";
37
+ import { i as Po, u as Ao, T as Ln } from "./chunks/ColumnDropIndicator.es.js";
38
+ import { a as Xl, b as Yl, c as Jl } from "./chunks/ColumnDropIndicator.es.js";
39
+ import { C as Do } from "./chunks/ColumnHeaderMenuUI.es.js";
40
+ import { useSensors as Lo, useSensor as nn, MouseSensor as Oo, TouchSensor as _o, KeyboardSensor as Fo, closestCenter as On, DndContext as No, useDndMonitor as Mo, DragOverlay as Jn, useDndContext as $o } from "@dnd-kit/core";
41
+ import { arrayMove as _n, SortableContext as Zn, verticalListSortingStrategy as Vo, horizontalListSortingStrategy as zo, useSortable as es } from "@dnd-kit/sortable";
42
42
  import { E as sn } from "./chunks/EmptyPlaceholder.es.js";
43
43
  import "./chunks/Menu.es.js";
44
- import { I as zo } from "./chunks/InfoMessage.es.js";
45
- import { F as Bo } from "./chunks/FilterErrorActions.es.js";
46
- import { u as Uo } from "./chunks/useLoadModule.es.js";
47
- import { u as Go } from "./chunks/useCreateContextMenu.es.js";
44
+ import { I as Bo } from "./chunks/InfoMessage.es.js";
45
+ import { F as Uo } from "./chunks/FilterErrorActions.es.js";
46
+ import { u as Go } from "./chunks/useLoadModule.es.js";
47
+ import { u as Wo } from "./chunks/useCreateContextMenu.es.js";
48
48
  import { a as Vt, K as zt } from "./chunks/platform.es.js";
49
- import { u as Wo } from "./chunks/useHierarchySelection.es.js";
49
+ import { u as Ho } from "./chunks/useHierarchySelection.es.js";
50
50
  import { n as ct } from "./chunks/entityDefinitions.es.js";
51
51
  import { CSS as ts } from "@dnd-kit/utilities";
52
- import { u as Ho } from "./chunks/useAttributeEnums.es.js";
53
- import { a as Zl } from "./chunks/useAttributeEnums.es.js";
54
- import { a as jo } from "./chunks/queryFilterToClientFilter.es.js";
55
- import { c as tc, q as nc, t as sc, b as oc } from "./chunks/queryFilterToClientFilter.es.js";
56
- import { e as Ko } from "./chunks/expandRelativeDates.es.js";
57
- import { c as ic, i as ac, r as lc } from "./chunks/expandRelativeDates.es.js";
58
- import { r as qo, a as Qo } from "./chunks/refreshActiveAndPurgeOthers.es.js";
59
- import { u as Xo } from "./chunks/useGroupedPagination.es.js";
60
- import { g as Yo } from "./chunks/getGroupByDataType.es.js";
52
+ import { u as jo } from "./chunks/useAttributeEnums.es.js";
53
+ import { a as ec } from "./chunks/useAttributeEnums.es.js";
54
+ import { a as Ko } from "./chunks/queryFilterToClientFilter.es.js";
55
+ import { c as nc, q as sc, t as oc, b as rc } from "./chunks/queryFilterToClientFilter.es.js";
56
+ import { e as qo } from "./chunks/expandRelativeDates.es.js";
57
+ import { c as ac, i as lc, r as cc } from "./chunks/expandRelativeDates.es.js";
58
+ import { r as Qo, a as Xo } from "./chunks/refreshActiveAndPurgeOthers.es.js";
59
+ import { u as Yo } from "./chunks/useGroupedPagination.es.js";
60
+ import { g as Jo } from "./chunks/getGroupByDataType.es.js";
61
61
  const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
62
- id: Eo(),
62
+ id: xo(),
63
63
  primary: {
64
64
  id: `loading-${o}`,
65
65
  entityType: "folder",
@@ -69,14 +69,14 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
69
69
  attrib: e
70
70
  },
71
71
  isLoading: !0
72
- })), Jo = (t = 10) => Array(t).fill(null).map((e, n) => ({
72
+ })), Zo = (t = 10) => Array(t).fill(null).map((e, n) => ({
73
73
  name: `loading-attribute${n}`,
74
74
  scope: ["folder", "task"],
75
75
  data: {
76
76
  type: "string"
77
77
  },
78
78
  position: n
79
- })), Zo = ({
79
+ })), er = ({
80
80
  expandedFoldersTasks: t,
81
81
  expandedParentIds: e,
82
82
  foldersMap: n
@@ -92,7 +92,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
92
92
  d && (w[i] = d.taskNames?.length || 0);
93
93
  }
94
94
  return w;
95
- }, er = ({
95
+ }, tr = ({
96
96
  users: t,
97
97
  statuses: e,
98
98
  folderTypes: n,
@@ -135,7 +135,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
135
135
  color: a
136
136
  }))
137
137
  };
138
- }, tr = {
138
+ }, nr = {
139
139
  name: ["name"],
140
140
  label: ["label"],
141
141
  status: ["status"],
@@ -147,13 +147,13 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
147
147
  taskType: ["taskType", "task_type"],
148
148
  productType: ["productType", "product_type"],
149
149
  author: ["author"]
150
- }, nr = (t, e, n = []) => {
150
+ }, sr = (t, e, n = []) => {
151
151
  let o = t.filter((d) => d.readOnly).map((d) => d.name), s;
152
152
  const m = [];
153
153
  let h = !1, w = !1;
154
154
  if (e) {
155
155
  const d = new Set(e), a = (y) => y.some((g) => d.has(g));
156
- Object.entries(tr).forEach(([y, g]) => {
156
+ Object.entries(nr).forEach(([y, g]) => {
157
157
  a(g) || (m.push(y), y === "folderType" && (h = !0), y === "taskType" && (w = !0));
158
158
  });
159
159
  }
@@ -180,7 +180,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
180
180
  for (const d of m)
181
181
  o.includes(d) || o.push(d);
182
182
  return { readOnlyColumns: Array.from(s), readOnlyAttribs: o };
183
- }, sr = {
183
+ }, or = {
184
184
  status: "statuses",
185
185
  folderType: "folderTypes",
186
186
  taskType: "taskTypes"
@@ -191,7 +191,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
191
191
  const m = s.split(" ");
192
192
  n.push({ values: m, colIds: o });
193
193
  }), n;
194
- }, or = (t, e) => {
194
+ }, rr = (t, e) => {
195
195
  if (e === "array")
196
196
  try {
197
197
  if (t === "")
@@ -212,7 +212,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
212
212
  return t.toLowerCase() === "true" || t === "1" || t.toLowerCase() === "yes";
213
213
  }
214
214
  return t;
215
- }, rr = ["assignees", "status", "subType"], ir = (t) => {
215
+ }, ir = ["assignees", "status", "subType"], ar = (t) => {
216
216
  const {
217
217
  colId: e,
218
218
  isFolder: n,
@@ -230,7 +230,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
230
230
  return $e(`This column is read-only: "${e}". Paste operation cancelled.`), !1;
231
231
  if (e.startsWith("link_"))
232
232
  return o.split(",").map((p) => p.trim()).every((p) => Yn(p)) ? !0 : ($e(`Invalid link id format: "${o}". Paste operation cancelled.`), !1);
233
- if (rr.includes(e)) {
233
+ if (ir.includes(e)) {
234
234
  let r = e;
235
235
  e === "assignees" ? r = "assignee" : e === "subType" ? r = n ? "folderType" : "taskType" : e === "status" && (r = "status");
236
236
  const l = m[r] || [];
@@ -318,7 +318,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
318
318
  }
319
319
  }
320
320
  let y = e === "subType" ? n ? "folderType" : "taskType" : e;
321
- if (y = sr[y] || y, !(y in m)) return !0;
321
+ if (y = or[y] || y, !(y in m)) return !0;
322
322
  const g = m[y];
323
323
  if (!Array.isArray(g) || g.length === 0) return !0;
324
324
  const T = o.split(",").map((r) => r.trim()), { validValues: b, hasInvalidValues: P } = T.reduce(
@@ -344,7 +344,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
344
344
  s[r].values[l] = I;
345
345
  }
346
346
  return !0;
347
- }, ar = (t, e, n) => t.map((s) => [
347
+ }, lr = (t, e, n) => t.map((s) => [
348
348
  e || "",
349
349
  n || "",
350
350
  s.label || "",
@@ -354,7 +354,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
354
354
  (s.assignees || []).join(", "),
355
355
  s.isDone ? "Done" : "Todo"
356
356
  ]).map((s) => s.join(" ")).join(`
357
- `), na = (t, e, n) => [
357
+ `), sa = (t, e, n) => [
358
358
  e || "",
359
359
  n || "",
360
360
  t.label || "",
@@ -383,7 +383,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
383
383
  }).filter(
384
384
  (h) => h !== null
385
385
  );
386
- }, lr = (t) => {
386
+ }, cr = (t) => {
387
387
  const e = t.trim().split(`
388
388
  `);
389
389
  if (e.length === 0) return !1;
@@ -399,27 +399,27 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
399
399
  return m === "done" || m === "todo";
400
400
  }
401
401
  return !1;
402
- }, cr = (t) => {
402
+ }, dr = (t) => {
403
403
  let e = t.replace(/[^a-zA-Z0-9_\.\-]/g, "_");
404
404
  return e.length > 0 && !/^[a-zA-Z0-9_]/.test(e) && (e = "s_" + e), e.length > 0 && !/[a-zA-Z0-9_]$/.test(e) && (e = e + "_"), e || (e = "subtask"), e;
405
- }, Bt = (t) => String(t).padStart(2, "0"), dr = (t) => {
405
+ }, Bt = (t) => String(t).padStart(2, "0"), ur = (t) => {
406
406
  if (!t) return "";
407
407
  const e = new Date(t);
408
408
  return isNaN(e.getTime()) ? "" : `${Bt(e.getDate())}/${Bt(e.getMonth() + 1)}/${e.getFullYear()} ${Bt(
409
409
  e.getHours()
410
410
  )}:${Bt(e.getMinutes())}`;
411
- }, ur = (t) => t.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#39;/gi, "'").replace(/&amp;/gi, "&"), fr = (t) => {
411
+ }, fr = (t) => t.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#39;/gi, "'").replace(/&amp;/gi, "&"), pr = (t) => {
412
412
  if (!t) return "";
413
413
  let e = t;
414
414
  return e = e.replace(/<br\s*\/?>/gi, " "), e = e.replace(/!\[[^\]]*\]\([^)]*\)/g, ""), e = e.replace(
415
415
  /\[([^\]]*)\]\(([^)]*)\)/g,
416
- (n, o, s) => ko.includes(String(s).split(":")[0]) ? String(o).replace(/^@/, "") : o
417
- ), e = e.replace(/```([\s\S]*?)```/g, "$1"), e = e.replace(/`+/g, ""), e = e.replace(/^\s{0,3}#{1,6}\s+/gm, ""), e = e.replace(/^\s*[-=]{2,}\s*$/gm, ""), e = e.replace(/^\s*>\s?/gm, ""), e = e.replace(/^\s*[-*+]\s+\[[ xX]\]\s?/gm, ""), e = e.replace(/^\s*[-*+]\s+/gm, ""), e = e.replace(/^\s*\d+\.\s+/gm, ""), e = e.replace(/\*\*|__|~~/g, ""), e = ur(e), e = e.replace(/[<>]/g, ""), e.replace(/\s+/g, " ").trim();
418
- }, pr = (t = []) => t.map(
419
- (e) => [fr(e.body), e.author, dr(e.createdAt)].filter(Boolean).join(" - ")
416
+ (n, o, s) => Ro.includes(String(s).split(":")[0]) ? String(o).replace(/^@/, "") : o
417
+ ), e = e.replace(/```([\s\S]*?)```/g, "$1"), e = e.replace(/`+/g, ""), e = e.replace(/^\s{0,3}#{1,6}\s+/gm, ""), e = e.replace(/^\s*[-=]{2,}\s*$/gm, ""), e = e.replace(/^\s*>\s?/gm, ""), e = e.replace(/^\s*[-*+]\s+\[[ xX]\]\s?/gm, ""), e = e.replace(/^\s*[-*+]\s+/gm, ""), e = e.replace(/^\s*\d+\.\s+/gm, ""), e = e.replace(/\*\*|__|~~/g, ""), e = fr(e), e = e.replace(/[<>]/g, ""), e.replace(/\s+/g, " ").trim();
418
+ }, gr = (t = []) => t.map(
419
+ (e) => [pr(e.body), e.author, ur(e.createdAt)].filter(Boolean).join(" - ")
420
420
  ).join(`
421
421
  `), Nn = 100;
422
- function gr({
422
+ function mr({
423
423
  foldersMap: t,
424
424
  tasksMap: e,
425
425
  rows: n,
@@ -567,7 +567,7 @@ function gr({
567
567
  a
568
568
  ]);
569
569
  }
570
- function mr({
570
+ function yr({
571
571
  tasksMap: t,
572
572
  entitiesMap: e,
573
573
  tasksByFolderMap: n,
@@ -716,7 +716,7 @@ function mr({
716
716
  getAncestorsOf: i
717
717
  };
718
718
  }
719
- const sa = ({
719
+ const oa = ({
720
720
  children: t,
721
721
  foldersMap: e,
722
722
  tableRows: n,
@@ -753,7 +753,7 @@ const sa = ({
753
753
  modules: O,
754
754
  loadingLinksEntityIds: _,
755
755
  groupByConfig: A,
756
- hierarchyOptions: z,
756
+ hierarchyOptions: V,
757
757
  hierarchyActive: J,
758
758
  isFlatFolderView: ee,
759
759
  SubtasksManager: le,
@@ -770,9 +770,9 @@ const sa = ({
770
770
  dispatch: D
771
771
  }) => {
772
772
  const { attrib: Y } = Qe(), {
773
- groupBy: V,
773
+ groupBy: z,
774
774
  groupByConfig: { showEmpty: G = !0 } = {}
775
- } = nt(), K = gr({
775
+ } = nt(), K = mr({
776
776
  foldersMap: e,
777
777
  tasksMap: o,
778
778
  rows: n,
@@ -784,7 +784,7 @@ const sa = ({
784
784
  loadingTasks: d,
785
785
  isLoadingMore: a,
786
786
  selectedFolders: h
787
- }), Z = ee ? void 0 : x || V, te = Ps({
787
+ }), Z = ee ? void 0 : x || z, te = Ps({
788
788
  entities: s,
789
789
  entityType: A?.entityType || "unknown",
790
790
  groups: p,
@@ -823,7 +823,7 @@ const sa = ({
823
823
  findInheritedValueFromAncestors: Te,
824
824
  findNonInheritedValues: Re,
825
825
  getAncestorsOf: H
826
- } = mr({
826
+ } = yr({
827
827
  entitiesMap: s,
828
828
  tasksMap: o,
829
829
  tasksByFolderMap: m,
@@ -880,7 +880,7 @@ const sa = ({
880
880
  // hierarchy
881
881
  showHierarchy: i,
882
882
  updateShowHierarchy: u,
883
- hierarchyOptions: z,
883
+ hierarchyOptions: V,
884
884
  hierarchyActive: J,
885
885
  // flat folder view
886
886
  isFlatFolderView: ee,
@@ -920,8 +920,8 @@ const sa = ({
920
920
  children: t
921
921
  }
922
922
  );
923
- }, yr = (t) => {
924
- const { projectName: e } = Qe(), { getEntityById: n } = Ke(), o = e, { history: s } = ut(), [m] = lo(), [h] = co();
923
+ }, hr = (t) => {
924
+ const { projectName: e } = Qe(), { getEntityById: n } = Ke(), o = e, { history: s } = ut(), [m] = co(), [h] = uo();
925
925
  return { pasteTableLinks: q(
926
926
  async (i) => {
927
927
  if (!o || !i.length) return;
@@ -1040,23 +1040,23 @@ const sa = ({
1040
1040
  },
1041
1041
  [o, n, m, h, s]
1042
1042
  ) };
1043
- }, hr = /* @__PURE__ */ new Set([
1043
+ }, Ir = /* @__PURE__ */ new Set([
1044
1044
  "version",
1045
1045
  "version_entity",
1046
1046
  "product",
1047
1047
  "productBaseType",
1048
1048
  "task_entity"
1049
- ]), Ir = {
1049
+ ]), br = {
1050
1050
  folder_entity: "folder",
1051
1051
  version_entity: "versionName"
1052
- }, br = ({
1052
+ }, wr = ({
1053
1053
  children: t,
1054
1054
  entitiesMap: e,
1055
1055
  columnEnums: n,
1056
1056
  columnReadOnly: o,
1057
1057
  visibleColumns: s
1058
1058
  }) => {
1059
- const { selectedCells: m, gridMap: h, focusedCellId: w } = Ye(), { updateEntities: i, history: d } = ut(), { pasteTableLinks: a } = yr(), { getEntityById: y, attribFields: g, tableData: T } = Ke(), b = j(() => {
1059
+ const { selectedCells: m, gridMap: h, focusedCellId: w } = Ye(), { updateEntities: i, history: d } = ut(), { pasteTableLinks: a } = hr(), { getEntityById: y, attribFields: g, tableData: T } = Ke(), b = j(() => {
1060
1060
  const c = /* @__PURE__ */ new Map(), u = (E) => {
1061
1061
  for (const k of E)
1062
1062
  c.set(k.id, k), k.subRows?.length && u(k.subRows);
@@ -1070,8 +1070,8 @@ const sa = ({
1070
1070
  c.forEach((_) => {
1071
1071
  const A = he(_);
1072
1072
  if (!A) return;
1073
- const { rowId: z, colId: J } = A;
1074
- J === ge || !R.includes(J) || (S.has(z) || S.set(z, /* @__PURE__ */ new Set()), S.get(z)?.add(J));
1073
+ const { rowId: V, colId: J } = A;
1074
+ J === ge || !R.includes(J) || (S.has(V) || S.set(V, /* @__PURE__ */ new Set()), S.get(V)?.add(J));
1075
1075
  }), k && c.filter(
1076
1076
  (A) => he(A)?.rowId && he(A)?.colId === ge
1077
1077
  ).map((A) => he(A)?.rowId).forEach((A) => {
@@ -1080,21 +1080,21 @@ const sa = ({
1080
1080
  });
1081
1081
  });
1082
1082
  const f = Array.from(S.keys()).sort((_, A) => {
1083
- const z = h.rowIdToIndex.get(_) ?? 1 / 0, J = h.rowIdToIndex.get(A) ?? 1 / 0;
1084
- return z - J;
1083
+ const V = h.rowIdToIndex.get(_) ?? 1 / 0, J = h.rowIdToIndex.get(A) ?? 1 / 0;
1084
+ return V - J;
1085
1085
  });
1086
1086
  let L = "";
1087
1087
  const F = f[0];
1088
1088
  if (!F) return "";
1089
1089
  const O = Array.from(S.get(F) || []).sort((_, A) => {
1090
- const z = h.colIdToIndex.get(_) ?? 1 / 0, J = h.colIdToIndex.get(A) ?? 1 / 0;
1091
- return z - J;
1090
+ const V = h.colIdToIndex.get(_) ?? 1 / 0, J = h.colIdToIndex.get(A) ?? 1 / 0;
1091
+ return V - J;
1092
1092
  });
1093
1093
  if (E && O.length > 0) {
1094
1094
  const _ = [];
1095
1095
  for (const A of O) {
1096
- const z = A;
1097
- _.push(`${z.replace(/"/g, '""')}`);
1096
+ const V = A;
1097
+ _.push(`${V.replace(/"/g, '""')}`);
1098
1098
  }
1099
1099
  L += _.join(" ") + `
1100
1100
  `;
@@ -1105,7 +1105,7 @@ const sa = ({
1105
1105
  console.warn(`Entity not found for rowId: ${_}`);
1106
1106
  continue;
1107
1107
  }
1108
- const z = b.get(_), ee = Array.from(S.get(_) || []).sort((oe, me) => {
1108
+ const V = b.get(_), ee = Array.from(S.get(_) || []).sort((oe, me) => {
1109
1109
  const Ee = h.colIdToIndex.get(oe) ?? 1 / 0, Se = h.colIdToIndex.get(me) ?? 1 / 0;
1110
1110
  return Ee - Se;
1111
1111
  }).filter((oe) => oe !== ge), le = [];
@@ -1115,27 +1115,32 @@ const sa = ({
1115
1115
  me = Ds(A.links, oe);
1116
1116
  else if (oe === "subtasks") {
1117
1117
  const Ie = $t(A, oe) || [];
1118
- me = ar(Ie, A.id, A.name);
1118
+ me = lr(Ie, A.id, A.name);
1119
1119
  } else if (oe === "comments") {
1120
1120
  const Ie = $t(A, "latestComments") || [];
1121
- me = pr(Ie);
1121
+ me = gr(Ie);
1122
1122
  } else {
1123
- const Ie = Ir[oe] || oe;
1124
- let U = oe === "task_entity" ? z?.parents?.task?.label || z?.parents?.task?.name || A.task?.label || A.task?.name : $t(A, Ie);
1125
- if (oe === "folder_entity" && typeof U != "string") {
1126
- const M = U || A.product?.folder, D = "parents" in A ? A.parents : void 0;
1127
- U = M?.label || M?.name || D?.[D.length - 1] || "";
1123
+ const Ie = br[oe] || oe;
1124
+ let U = oe === "task_entity" ? V?.parents?.task?.label || V?.parents?.task?.name || A.task?.label || A.task?.name : $t(A, Ie);
1125
+ if (oe === "folder_entity") {
1126
+ const M = V && Ls(V);
1127
+ if (M)
1128
+ U = M;
1129
+ else if (typeof U != "string") {
1130
+ const D = U || A.product?.folder, Y = "parents" in A ? A.parents : void 0;
1131
+ U = D?.label || D?.name || Y?.[Y.length - 1] || "";
1132
+ }
1128
1133
  }
1129
- if (z && (hr.has(oe) || U === void 0 || U === null || U === "" || typeof U == "object")) {
1130
- const M = $t(z, Ie);
1134
+ if (V && (Ir.has(oe) || U === void 0 || U === null || U === "" || typeof U == "object")) {
1135
+ const M = $t(V, Ie);
1131
1136
  M != null && M !== "" && (U = M);
1132
1137
  }
1133
1138
  if (!U) {
1134
1139
  const M = g.find((D) => D.name === oe.replace("attrib_", ""));
1135
1140
  M && M.data.type === "boolean" ? U = !1 : M && M.data.type?.includes("list_of") && (U = []);
1136
1141
  }
1137
- if (me = U != null ? String(U) : "", oe === "name" && (me = (z?.primary.entityType === "version" ? z.primary.label || z.primary.name : void 0) || e.get(A.entityId || A.id)?.name || z?.label || z?.primary?.name || A.label || A.name || ""), oe === "subType") {
1138
- const M = z?.subType ?? A.subType;
1142
+ if (me = U != null ? String(U) : "", oe === "name" && (me = (V?.primary.entityType === "version" ? V.primary.label || V.primary.name : void 0) || e.get(A.entityId || A.id)?.name || V?.label || V?.primary?.name || A.label || A.name || ""), oe === "subType") {
1143
+ const M = V?.subType ?? A.subType;
1139
1144
  typeof M == "string" && M ? me = M : ("folderType" in A && (me = A.folderType || ""), "taskType" in A && (me = A.taskType || ""));
1140
1145
  }
1141
1146
  }
@@ -1224,18 +1229,18 @@ const sa = ({
1224
1229
  const k = await x();
1225
1230
  if (!k) return;
1226
1231
  let R = !1, S = k;
1227
- lr(k) && (R = !0);
1232
+ cr(k) && (R = !0);
1228
1233
  const f = Fn(k);
1229
1234
  if (!f.length) return;
1230
1235
  const L = f.length === 1 && f[0].values.length === 1, F = s.map((U) => U.id).filter((U) => U !== ge), O = (U, M, D) => {
1231
1236
  const Y = {};
1232
- return D && D.length > 0 ? D.forEach((V, G) => {
1237
+ return D && D.length > 0 ? D.forEach((z, G) => {
1233
1238
  const K = M.find(
1234
- (Z) => Z === V || Z.replace("attrib_", "") === V || Z === `attrib_${V}` || Z.toLowerCase() === V.toLowerCase()
1239
+ (Z) => Z === z || Z.replace("attrib_", "") === z || Z === `attrib_${z}` || Z.toLowerCase() === z.toLowerCase()
1235
1240
  );
1236
1241
  K && G < U.values.length && (Y[K] = U.values[G]);
1237
- }) : M.forEach((V, G) => {
1238
- G < U.values.length && (Y[V] = U.values[G]);
1242
+ }) : M.forEach((z, G) => {
1243
+ G < U.values.length && (Y[z] = U.values[G]);
1239
1244
  }), Y;
1240
1245
  }, _ = f[0]?.colIds || void 0, A = /* @__PURE__ */ new Map();
1241
1246
  Array.from(c).forEach((U) => {
@@ -1244,19 +1249,19 @@ const sa = ({
1244
1249
  const { rowId: D, colId: Y } = M;
1245
1250
  Y === ge || !F.includes(Y) || (A.has(D) || A.set(D, /* @__PURE__ */ new Set()), A.get(D)?.add(Y));
1246
1251
  });
1247
- const z = Array.from(A.keys()).sort((U, M) => {
1252
+ const V = Array.from(A.keys()).sort((U, M) => {
1248
1253
  const D = h.rowIdToIndex.get(U) ?? 1 / 0, Y = h.rowIdToIndex.get(M) ?? 1 / 0;
1249
1254
  return D - Y;
1250
- }), J = z[0], ee = Array.from(A.get(J) || []).sort((U, M) => {
1255
+ }), J = V[0], ee = Array.from(A.get(J) || []).sort((U, M) => {
1251
1256
  const D = h.colIdToIndex.get(U) ?? 1 / 0, Y = h.colIdToIndex.get(M) ?? 1 / 0;
1252
1257
  return D - Y;
1253
1258
  });
1254
- for (let U = 0; U < z.length; U++) {
1255
- const M = z[U], D = dt(M, e)?.entityType, Y = D === "folder", V = D === "product" || D === "version", G = U % f.length, K = f[G], Z = L ? { [ee[0]]: f[0].values[0] } : O(K, ee, _);
1259
+ for (let U = 0; U < V.length; U++) {
1260
+ const M = V[U], D = dt(M, e)?.entityType, Y = D === "folder", z = D === "product" || D === "version", G = U % f.length, K = f[G], Z = L ? { [ee[0]]: f[0].values[0] } : O(K, ee, _);
1256
1261
  for (const te of ee) {
1257
- if (te === "subType" && V) continue;
1262
+ if (te === "subType" && z) continue;
1258
1263
  const ue = Z[te] || "";
1259
- if (!ir({
1264
+ if (!ar({
1260
1265
  colId: te,
1261
1266
  isFolder: Y,
1262
1267
  pasteValue: ue,
@@ -1293,8 +1298,8 @@ const sa = ({
1293
1298
  });
1294
1299
  }), K = G.length <= 1;
1295
1300
  }
1296
- for (let Z = 0; Z < z.length; Z++) {
1297
- const te = z[Z], ue = dt(te, e)?.entityType;
1301
+ for (let Z = 0; Z < V.length; Z++) {
1302
+ const te = V[Z], ue = dt(te, e)?.entityType;
1298
1303
  if (ue !== "task") continue;
1299
1304
  const xe = y(te), pe = xe?.entityId || te, ve = `${te}-${ue}`;
1300
1305
  le.has(ve) || le.set(ve, {
@@ -1325,7 +1330,7 @@ const sa = ({
1325
1330
  if (!Te || Te.length === 0) continue;
1326
1331
  const Re = Te.map((H, Ce) => ({
1327
1332
  id: cn(),
1328
- name: cr(H.name || H.label || `Subtask ${Ce + 1}`),
1333
+ name: dr(H.name || H.label || `Subtask ${Ce + 1}`),
1329
1334
  label: H.label || "",
1330
1335
  assignees: H.assignees || [],
1331
1336
  description: H.label || "",
@@ -1360,38 +1365,38 @@ const sa = ({
1360
1365
  }
1361
1366
  continue;
1362
1367
  }
1363
- let D = !1, Y = !1, V = "string";
1364
- if (z.length > 0) {
1365
- const G = z[0];
1368
+ let D = !1, Y = !1, z = "string";
1369
+ if (V.length > 0) {
1370
+ const G = V[0];
1366
1371
  if (y(G))
1367
1372
  if (D = M.startsWith("attrib_"), Y = M.startsWith("link_"), M === "status" || M === "subType")
1368
- V = "string", D = !1;
1373
+ z = "string", D = !1;
1369
1374
  else if (M === "tags" || M === "assignees")
1370
- V = "array";
1375
+ z = "array";
1371
1376
  else if (D) {
1372
1377
  const Z = M.replace("attrib_", ""), te = g.find((ue) => ue.name === Z);
1373
1378
  if (te)
1374
1379
  switch (te.data.type) {
1375
1380
  case "boolean":
1376
- V = "boolean";
1381
+ z = "boolean";
1377
1382
  break;
1378
1383
  case "float":
1379
1384
  case "integer":
1380
- V = "number";
1385
+ z = "number";
1381
1386
  break;
1382
1387
  case "list_of_strings":
1383
1388
  case "list_of_any":
1384
1389
  case "list_of_integers":
1385
1390
  case "list_of_submodels":
1386
- V = "array";
1391
+ z = "array";
1387
1392
  break;
1388
1393
  default:
1389
- V = "string";
1394
+ z = "string";
1390
1395
  }
1391
- } else Y && (V = "array");
1396
+ } else Y && (z = "array");
1392
1397
  }
1393
- for (let G = 0; G < z.length; G++) {
1394
- const K = z[G], Z = dt(K, e)?.entityType, te = Z === "folder";
1398
+ for (let G = 0; G < V.length; G++) {
1399
+ const K = V[G], Z = dt(K, e)?.entityType, te = Z === "folder";
1395
1400
  let ue;
1396
1401
  if (L)
1397
1402
  ue = f[0].values[0];
@@ -1416,7 +1421,7 @@ const sa = ({
1416
1421
  let xe = M.split("_").pop() || M;
1417
1422
  if (M === "subType" && (Z === "product" || Z === "version" || (xe = te ? "folderType" : "taskType", D = !1, !ue)))
1418
1423
  continue;
1419
- const pe = or(ue, V), ke = y(K)?.entityId || K, we = `${K}-${Z}`;
1424
+ const pe = rr(ue, z), ke = y(K)?.entityId || K, we = `${K}-${Z}`;
1420
1425
  !le.has(we) && Z && le.set(we, {
1421
1426
  rowId: K,
1422
1427
  id: ke,
@@ -1452,15 +1457,15 @@ const sa = ({
1452
1457
  isAttrib: !0
1453
1458
  });
1454
1459
  }), Object.entries(U.links).forEach(([M, D]) => {
1455
- const [Y, V] = M.split("_"), G = Y.split("|");
1460
+ const [Y, z] = M.split("_"), G = Y.split("|");
1456
1461
  if (G.length >= 3) {
1457
- const K = G[0], Z = G[1], te = G[2], ue = `${K}|${Z}|${te}`, xe = V === "out" ? te : Z, pe = `${U.id}-${ue}-${V}`;
1462
+ const K = G[0], Z = G[1], te = G[2], ue = `${K}|${Z}|${te}`, xe = z === "out" ? te : Z, pe = `${U.id}-${ue}-${z}`;
1458
1463
  me.set(pe, {
1459
1464
  rowId: U.rowId,
1460
1465
  sourceEntityId: U.id,
1461
1466
  sourceEntityType: U.type,
1462
1467
  linkType: ue,
1463
- direction: V,
1468
+ direction: z,
1464
1469
  targetEntityType: xe,
1465
1470
  operation: E,
1466
1471
  targetEntityIds: Array.isArray(D) ? D : []
@@ -1479,8 +1484,8 @@ const sa = ({
1479
1484
  const Ie = [];
1480
1485
  if (oe.length > 0 && Ie.push(i(oe)), Ee.length > 0 && Ie.push(a(Ee)), Se.length > 0) {
1481
1486
  d && Se.forEach(({ taskId: M, subtasks: D, previousSubtasks: Y }) => {
1482
- const V = Y || [], G = D || [], K = () => {
1483
- I({ projectName: P, taskId: M, subtasks: V }).unwrap().catch(() => {
1487
+ const z = Y || [], G = D || [], K = () => {
1488
+ I({ projectName: P, taskId: M, subtasks: z }).unwrap().catch(() => {
1484
1489
  });
1485
1490
  }, Z = () => {
1486
1491
  I({ projectName: P, taskId: M, subtasks: G }).unwrap().catch(() => {
@@ -1548,8 +1553,8 @@ const sa = ({
1548
1553
  }),
1549
1554
  [p, $]
1550
1555
  );
1551
- return /* @__PURE__ */ W(Ls.Provider, { value: C, children: t });
1552
- }, oa = ({
1556
+ return /* @__PURE__ */ W(Os.Provider, { value: C, children: t });
1557
+ }, ra = ({
1553
1558
  children: t,
1554
1559
  config: e,
1555
1560
  onChange: n,
@@ -1572,7 +1577,7 @@ const sa = ({
1572
1577
  );
1573
1578
  } else
1574
1579
  n(N, B);
1575
- }, v = Os(e, s), {
1580
+ }, v = _s(e, s), {
1576
1581
  columnOrder: x = [],
1577
1582
  columnPinning: $ = {},
1578
1583
  columnVisibility: C = {},
@@ -1586,7 +1591,7 @@ const sa = ({
1586
1591
  columnSummaryFormats: L = {}
1587
1592
  } = v || {};
1588
1593
  d.current !== R && d.current !== void 0 && (T !== null && b(null), w.current && (clearTimeout(w.current), w.current = null)), d.current = R;
1589
- const F = T ?? R, O = [...u], A = [...P ?? [...x]], z = { ...$ }, J = ["thumbnail", "name", "subType", "status", "tags"];
1594
+ const F = T ?? R, O = [...u], A = [...P ?? [...x]], V = { ...$ }, J = ["thumbnail", "name", "subType", "status", "tags"];
1590
1595
  J.forEach((N, B) => {
1591
1596
  if (!A.includes(N)) {
1592
1597
  const ce = J[B - 1], ne = J[B + 1];
@@ -1596,16 +1601,16 @@ const sa = ({
1596
1601
  const ie = A.indexOf(ce);
1597
1602
  A.splice(ie + 1, 0, N);
1598
1603
  }
1599
- ne && z?.left && z?.left.includes(ne) && (z.left = [N, ...z?.left || []]);
1604
+ ne && V?.left && V?.left.includes(ne) && (V.left = [N, ...V?.left || []]);
1600
1605
  }
1601
1606
  });
1602
1607
  const ee = [...A];
1603
1608
  if (E && E.id !== "folder") {
1604
- if (!z.left?.includes("name"))
1605
- z.left = ["name", ...z?.left || []];
1609
+ if (!V.left?.includes("name"))
1610
+ V.left = ["name", ...V?.left || []];
1606
1611
  else {
1607
- const N = z.left.filter((B) => B !== "name");
1608
- z.left = ["name", ...N];
1612
+ const N = V.left.filter((B) => B !== "name");
1613
+ V.left = ["name", ...N];
1609
1614
  }
1610
1615
  if (A.includes("name")) {
1611
1616
  const N = A.indexOf("name");
@@ -1639,7 +1644,7 @@ const sa = ({
1639
1644
  }), g(null);
1640
1645
  }, 500);
1641
1646
  }, U = (N) => {
1642
- const B = { ...z }, ne = (B.left || []).filter(
1647
+ const B = { ...V }, ne = (B.left || []).filter(
1643
1648
  (ie) => St(N, ie, o)
1644
1649
  );
1645
1650
  return {
@@ -1647,7 +1652,7 @@ const sa = ({
1647
1652
  left: ne
1648
1653
  };
1649
1654
  }, M = (N) => {
1650
- const B = { ...z }, ce = B.left || [], ne = N.filter((ie) => ce.includes(ie));
1655
+ const B = { ...V }, ce = B.left || [], ne = N.filter((ie) => ce.includes(ie));
1651
1656
  return {
1652
1657
  ...B,
1653
1658
  left: ne
@@ -1662,7 +1667,7 @@ const sa = ({
1662
1667
  columnVisibility: N,
1663
1668
  columnPinning: B
1664
1669
  });
1665
- }, V = (N) => {
1670
+ }, z = (N) => {
1666
1671
  const B = N.filter(
1667
1672
  (ne) => ne !== Be && ne !== ge
1668
1673
  ), ce = M(B);
@@ -1757,8 +1762,8 @@ const sa = ({
1757
1762
  B[ne] !== ie && (ce[ne] = B[ne]);
1758
1763
  }), !wt(ce, le) && oe(ce);
1759
1764
  }, Te = (N) => {
1760
- const B = Ct(N, z);
1761
- wt(B, z) || Ee(B);
1765
+ const B = Ct(N, V);
1766
+ wt(B, V) || Ee(B);
1762
1767
  }, Re = (N) => {
1763
1768
  const B = Ct(N, A);
1764
1769
  wt(B, A) || me(B);
@@ -1770,7 +1775,7 @@ const sa = ({
1770
1775
  wt(B, O) || K(B);
1771
1776
  };
1772
1777
  return /* @__PURE__ */ W(
1773
- _s.Provider,
1778
+ Fs.Provider,
1774
1779
  {
1775
1780
  value: {
1776
1781
  // all columns ref
@@ -1783,14 +1788,14 @@ const sa = ({
1783
1788
  updateColumnVisibility: Y,
1784
1789
  columnVisibilityOnChange: we,
1785
1790
  // column pinning
1786
- columnPinning: z,
1791
+ columnPinning: V,
1787
1792
  setColumnPinning: Ee,
1788
1793
  updateColumnPinning: G,
1789
1794
  columnPinningOnChange: Te,
1790
1795
  // column order
1791
1796
  columnOrder: A,
1792
1797
  setColumnOrder: me,
1793
- updateColumnOrder: V,
1798
+ updateColumnOrder: z,
1794
1799
  columnOrderOnChange: Re,
1795
1800
  // column sizing
1796
1801
  columnSizing: Se,
@@ -1824,14 +1829,14 @@ const sa = ({
1824
1829
  children: t
1825
1830
  }
1826
1831
  );
1827
- }, ra = ({ children: t }) => {
1832
+ }, ia = ({ children: t }) => {
1828
1833
  const [e, n] = Ve(null), o = q((m) => {
1829
1834
  n(m);
1830
1835
  }, []), s = q(() => {
1831
1836
  n(null);
1832
1837
  }, []);
1833
1838
  return /* @__PURE__ */ W(
1834
- Fs.Provider,
1839
+ Ns.Provider,
1835
1840
  {
1836
1841
  value: {
1837
1842
  selectedEntity: e,
@@ -1841,11 +1846,11 @@ const sa = ({
1841
1846
  children: t
1842
1847
  }
1843
1848
  );
1844
- }, wr = ({ projectPermissions: t }) => {
1849
+ }, Cr = ({ projectPermissions: t }) => {
1845
1850
  const {
1846
1851
  attributes: e,
1847
1852
  isLoading: { siteInfo: n }
1848
- } = Io(), { attrib_read: o, attrib_write: s } = t || {}, { enabled: m, attributes: h } = o || {}, {
1853
+ } = bo(), { attrib_read: o, attrib_write: s } = t || {}, { enabled: m, attributes: h } = o || {}, {
1849
1854
  enabled: w,
1850
1855
  attributes: i,
1851
1856
  fields: d
@@ -1854,15 +1859,15 @@ const sa = ({
1854
1859
  ...g,
1855
1860
  readOnly: w ? !i?.includes(g.name) : !1
1856
1861
  })), writableFields: a, isLoading: n };
1857
- }, ia = ({ children: t, projectName: e }) => {
1858
- const { isLoading: n, isSuccess: o } = Qe(), { data: s } = uo(
1862
+ }, aa = ({ children: t, projectName: e }) => {
1863
+ const { isLoading: n, isSuccess: o } = Qe(), { data: s } = fo(
1859
1864
  { projectName: e },
1860
1865
  { skip: !e }
1861
1866
  ), { attrib_write: m } = s || {}, {
1862
1867
  attribFields: h,
1863
1868
  writableFields: w,
1864
1869
  isLoading: i
1865
- } = wr({ projectPermissions: s }), { data: d = [] } = fo({ projectName: e }, { skip: !e }), a = d, y = j(() => m ? m.enabled ? !!m.fields?.includes("name") : !0 : !1, [m]), g = j(() => m ? m.enabled ? !!m.fields?.includes("label") : !0 : !1, [m]), T = o && !n && !i, b = j(
1870
+ } = Cr({ projectPermissions: s }), { data: d = [] } = po({ projectName: e }, { skip: !e }), a = d, y = j(() => m ? m.enabled ? !!m.fields?.includes("name") : !0 : !1, [m]), g = j(() => m ? m.enabled ? !!m.fields?.includes("label") : !0 : !1, [m]), T = o && !n && !i, b = j(
1866
1871
  () => ({
1867
1872
  isInitialized: T,
1868
1873
  isLoading: n || i,
@@ -1883,13 +1888,13 @@ const sa = ({
1883
1888
  g
1884
1889
  ]
1885
1890
  );
1886
- return /* @__PURE__ */ W(Ns.Provider, { value: b, children: t });
1887
- }, aa = ({
1891
+ return /* @__PURE__ */ W(Ms.Provider, { value: b, children: t });
1892
+ }, la = ({
1888
1893
  children: t,
1889
1894
  updateEntities: e,
1890
1895
  getFoldersTasks: n
1891
1896
  }) => /* @__PURE__ */ W(
1892
- Ms.Provider,
1897
+ $s.Provider,
1893
1898
  {
1894
1899
  value: {
1895
1900
  updateEntities: e,
@@ -1897,7 +1902,7 @@ const sa = ({
1897
1902
  },
1898
1903
  children: t
1899
1904
  }
1900
- ), la = ({ children: t }) => {
1905
+ ), ca = ({ children: t }) => {
1901
1906
  const { selectedCells: e, gridMap: n, setSelectedCells: o, setFocusedCellId: s, setAnchorCell: m } = Ye();
1902
1907
  let h;
1903
1908
  try {
@@ -1949,7 +1954,7 @@ const sa = ({
1949
1954
  areAllRowsSelected: T,
1950
1955
  areSomeRowsSelected: b
1951
1956
  }), [d, a, T, b, y]);
1952
- return /* @__PURE__ */ W($s.Provider, { value: P, children: t });
1957
+ return /* @__PURE__ */ W(Vs.Provider, { value: P, children: t });
1953
1958
  }, Ut = (t, e, n) => {
1954
1959
  switch (t) {
1955
1960
  case "unique-violation":
@@ -1963,13 +1968,13 @@ const sa = ({
1963
1968
  default:
1964
1969
  return `Failed to update ${e}: ${n}`;
1965
1970
  }
1966
- }, Cr = (t) => {
1971
+ }, Tr = (t) => {
1967
1972
  const { pushHistory: e, removeHistoryEntries: n } = t || {}, { projectName: o } = Qe(), {
1968
1973
  getEntityById: s,
1969
1974
  getInheritedDependents: m,
1970
1975
  findInheritedValueFromAncestors: h,
1971
1976
  findNonInheritedValues: w
1972
- } = Ke(), { updateEntities: i } = Vs(), d = q(
1977
+ } = Ke(), { updateEntities: i } = zs(), d = q(
1973
1978
  async (y = [], g = !0) => {
1974
1979
  if (!y.length || !o)
1975
1980
  return;
@@ -2254,8 +2259,8 @@ const sa = ({
2254
2259
  ]
2255
2260
  );
2256
2261
  return { updateEntities: d, inheritFromParent: a };
2257
- }, Tr = ({ onSuccess: t }) => {
2258
- const { projectName: e } = Qe(), { getEntityById: n } = Ke(), { deleteEntities: o } = bo();
2262
+ }, Sr = ({ onSuccess: t }) => {
2263
+ const { projectName: e } = Qe(), { getEntityById: n } = Ke(), { deleteEntities: o } = wo();
2259
2264
  return q(
2260
2265
  async (s) => {
2261
2266
  if (!s || s.length === 0) {
@@ -2288,7 +2293,7 @@ const sa = ({
2288
2293
  },
2289
2294
  [n, e, o, t]
2290
2295
  );
2291
- }, Sr = ({
2296
+ }, vr = ({
2292
2297
  attribs: t,
2293
2298
  headerLabels: e = [],
2294
2299
  onOpenNew: n,
@@ -2306,10 +2311,10 @@ const sa = ({
2306
2311
  } = Ke(), T = j(
2307
2312
  () => [...a, ...o || []],
2308
2313
  [a, o]
2309
- ), b = Wo(), P = Object.values(b || {}).some(Boolean), { canWriteLabelPermission: I, canWriteNamePermission: r } = un(), { copyToClipboard: l, exportCSV: p, pasteFromClipboard: v } = zs(), { selectedCells: x, clearSelection: $, selectCell: C, focusCell: c } = Ye(), { inheritFromParent: u, history: E, setEditingCellId: k } = ut(), R = Tr({}), [S] = Go([], y), f = (M) => M.reduce((D, Y) => {
2310
- const { rowId: V, colId: G } = he(Y) || {};
2311
- if (!V || !G || !G.startsWith("attrib_")) return D;
2312
- const K = h(V);
2314
+ ), b = Ho(), P = Object.values(b || {}).some(Boolean), { canWriteLabelPermission: I, canWriteNamePermission: r } = un(), { copyToClipboard: l, exportCSV: p, pasteFromClipboard: v } = Bs(), { selectedCells: x, clearSelection: $, selectCell: C, focusCell: c } = Ye(), { inheritFromParent: u, history: E, setEditingCellId: k } = ut(), R = Sr({}), [S] = Wo([], y), f = (M) => M.reduce((D, Y) => {
2315
+ const { rowId: z, colId: G } = he(Y) || {};
2316
+ if (!z || !G || !G.startsWith("attrib_")) return D;
2317
+ const K = h(z);
2313
2318
  if (!K) return D;
2314
2319
  const Z = K.entityId || K.id, te = G.replace("attrib_", ""), xe = t.find((pe) => pe.name === te)?.data.inherit;
2315
2320
  if (K.ownAttrib?.includes(te) && xe) {
@@ -2325,19 +2330,19 @@ const sa = ({
2325
2330
  });
2326
2331
  }
2327
2332
  return D;
2328
- }, []), L = (M, D, Y, V) => [
2333
+ }, []), L = (M, D, Y, z) => [
2329
2334
  {
2330
2335
  label: "Copy",
2331
2336
  icon: "content_copy",
2332
2337
  shortcut: Vt("c", [zt.Ctrl]),
2333
- command: () => l(V.selectedCells),
2338
+ command: () => l(z.selectedCells),
2334
2339
  hidden: D.isGroup || D.columnId === "thumbnail"
2335
2340
  },
2336
2341
  {
2337
- label: `Copy row${V.selectedFullRows.length > 1 ? "s" : ""}`,
2342
+ label: `Copy row${z.selectedFullRows.length > 1 ? "s" : ""}`,
2338
2343
  icon: "content_copy",
2339
- command: () => l(V.selectedFullRows, !0),
2340
- hidden: D.columnId !== "name" || !V.selectedFullRows.some(
2344
+ command: () => l(z.selectedFullRows, !0),
2345
+ hidden: D.columnId !== "name" || !z.selectedFullRows.some(
2341
2346
  (G) => he(G)?.rowId === he(D.cellId)?.rowId
2342
2347
  )
2343
2348
  },
@@ -2345,11 +2350,11 @@ const sa = ({
2345
2350
  label: "Paste",
2346
2351
  icon: "content_paste",
2347
2352
  shortcut: Vt("v", [zt.Ctrl]),
2348
- command: () => v(V.selectedCells),
2353
+ command: () => v(z.selectedCells),
2349
2354
  hidden: D.columnId === "name" || D.columnId === "thumbnail" || D.isGroup,
2350
2355
  disabled: D.attribField?.readOnly
2351
2356
  }
2352
- ], F = (M, D, Y, V) => ({
2357
+ ], F = (M, D, Y, z) => ({
2353
2358
  label: "Show details",
2354
2359
  icon: "dock_to_left",
2355
2360
  shortcut: "Double click",
@@ -2357,8 +2362,8 @@ const sa = ({
2357
2362
  const G = _e(D.entityId, ge);
2358
2363
  C(G, !1, !1);
2359
2364
  },
2360
- hidden: D.columnId !== "name" || V.selectedRows.length > 1 || D.isGroup || Wt(D.entityType)
2361
- }), O = (M, D, Y, V) => ({
2365
+ hidden: D.columnId !== "name" || z.selectedRows.length > 1 || D.isGroup || Wt(D.entityType)
2366
+ }), O = (M, D, Y, z) => ({
2362
2367
  label: "Open in viewer",
2363
2368
  icon: "play_circle",
2364
2369
  shortcut: "Spacebar",
@@ -2372,34 +2377,34 @@ const sa = ({
2372
2377
  }
2373
2378
  },
2374
2379
  hidden: D.columnId !== "thumbnail" && D.columnId !== "name" || D.isGroup || D.entityType === "unknown"
2375
- }), _ = (M, D, Y, V) => [
2380
+ }), _ = (M, D, Y, z) => [
2376
2381
  {
2377
2382
  label: "Expand children",
2378
2383
  icon: "expand_all",
2379
2384
  shortcut: Vt("click", [zt.Alt]),
2380
- command: () => w(V.selectedRows, !0),
2385
+ command: () => w(z.selectedRows, !0),
2381
2386
  hidden: D.columnId !== "name" || D.entityType !== "folder"
2382
2387
  },
2383
2388
  {
2384
2389
  label: "Collapse children",
2385
2390
  icon: "collapse_all",
2386
2391
  shortcut: Vt("click", [zt.Alt]),
2387
- command: () => w(V.selectedRows, !1),
2392
+ command: () => w(z.selectedRows, !1),
2388
2393
  hidden: D.columnId !== "name" || D.entityType !== "folder"
2389
2394
  },
2390
2395
  {
2391
2396
  label: "Expand",
2392
2397
  icon: "expand_all",
2393
- command: () => i(V.selectedRows, !0),
2398
+ command: () => i(z.selectedRows, !0),
2394
2399
  hidden: D.columnId !== "name" || !D.isGroup || d[D.entityId]
2395
2400
  },
2396
2401
  {
2397
2402
  label: "Collapse",
2398
2403
  icon: "collapse_all",
2399
- command: () => i(V.selectedRows, !1),
2404
+ command: () => i(z.selectedRows, !1),
2400
2405
  hidden: D.columnId !== "name" || !D.isGroup || !d[D.entityId]
2401
2406
  }
2402
- ], A = (M, D, Y, V) => ({
2407
+ ], A = (M, D, Y, z) => ({
2403
2408
  label: "Delete",
2404
2409
  icon: "delete",
2405
2410
  danger: !0,
@@ -2409,14 +2414,14 @@ const sa = ({
2409
2414
  command: () => {
2410
2415
  const G = [
2411
2416
  ...new Set(
2412
- V.selectedCells.map((K) => he(K)?.rowId).filter((K) => !!K)
2417
+ z.selectedCells.map((K) => he(K)?.rowId).filter((K) => !!K)
2413
2418
  )
2414
2419
  ];
2415
- R(G.length ? G : V.selectedRows);
2420
+ R(G.length ? G : z.selectedRows);
2416
2421
  },
2417
2422
  hidden: D.columnId !== "name" || D.isGroup
2418
- }), z = (M, D, Y, V) => {
2419
- const G = f(V.selectedCells), K = G.length > 0 && m && !(V.selectedRows.length > 1 && V.selectedColumns.length > 1);
2423
+ }), V = (M, D, Y, z) => {
2424
+ const G = f(z.selectedCells), K = G.length > 0 && m && !(z.selectedRows.length > 1 && z.selectedColumns.length > 1);
2420
2425
  return {
2421
2426
  label: "Inherit from parent",
2422
2427
  icon: "disabled_by_default",
@@ -2429,14 +2434,14 @@ const sa = ({
2429
2434
  command: () => p(Array.from(x), s),
2430
2435
  hidden: D.isGroup
2431
2436
  }), ee = (M, D) => {
2432
- const V = (D.length ? D : [M.entityId]).flatMap((G) => {
2437
+ const z = (D.length ? D : [M.entityId]).flatMap((G) => {
2433
2438
  const K = h(G);
2434
2439
  return K ? K.entityType === "folder" || !("folderId" in K) ? [K.id] : K.folderId ? [K.folderId] : [] : [];
2435
2440
  });
2436
- return V.length ? V : null;
2441
+ return z.length ? z : null;
2437
2442
  }, le = (M, D, Y) => {
2438
- const V = ee(D, Y);
2439
- n?.(M, V ? { parentFolderIds: V } : void 0);
2443
+ const z = ee(D, Y);
2444
+ n?.(M, z ? { parentFolderIds: z } : void 0);
2440
2445
  }, Se = {
2441
2446
  "copy-paste": L,
2442
2447
  "show-details": F,
@@ -2453,14 +2458,14 @@ const sa = ({
2453
2458
  }),
2454
2459
  "expand-collapse": _,
2455
2460
  delete: A,
2456
- inherit: z,
2461
+ inherit: V,
2457
2462
  export: J,
2458
- "create-folder": (M, D, Y, V) => [
2463
+ "create-folder": (M, D, Y, z) => [
2459
2464
  {
2460
2465
  label: ct.folder.createLabel,
2461
2466
  icon: ct.folder.icon,
2462
2467
  command: () => {
2463
- m ? le("folder", D, V.selectedRows) : n?.("folder");
2468
+ m ? le("folder", D, z.selectedRows) : n?.("folder");
2464
2469
  },
2465
2470
  hidden: D.columnId !== "name" || !n
2466
2471
  },
@@ -2473,12 +2478,12 @@ const sa = ({
2473
2478
  hidden: D.columnId !== "name" || !n
2474
2479
  }
2475
2480
  ],
2476
- "create-task": (M, D, Y, V) => {
2477
- const G = !!ee(D, V.selectedRows) || P;
2481
+ "create-task": (M, D, Y, z) => {
2482
+ const G = !!ee(D, z.selectedRows) || P;
2478
2483
  return {
2479
2484
  label: ct.task.createLabel,
2480
2485
  icon: ct.task.icon,
2481
- command: () => le("task", D, V.selectedRows),
2486
+ command: () => le("task", D, z.selectedRows),
2482
2487
  hidden: D.columnId !== "name" || !n,
2483
2488
  disabled: !G
2484
2489
  };
@@ -2487,12 +2492,12 @@ const sa = ({
2487
2492
  }, Ie = (M) => {
2488
2493
  const { rowId: D, colId: Y } = he(M) || {};
2489
2494
  if (!D || !Y) return;
2490
- const V = h(D), G = t.find((te) => te.name === Y?.replace("attrib_", "")), K = e.find((te) => te.id === Y), Z = V ? "parentId" in V ? V.parentId : "folderId" in V ? V.folderId : void 0 : void 0;
2495
+ const z = h(D), G = t.find((te) => te.name === Y?.replace("attrib_", "")), K = e.find((te) => te.id === Y), Z = z ? "parentId" in z ? z.parentId : "folderId" in z ? z.folderId : void 0 : void 0;
2491
2496
  return {
2492
2497
  cellId: M,
2493
2498
  columnId: Y,
2494
- entityId: V?.entityId || V?.id || D,
2495
- entityType: V?.entityType,
2499
+ entityId: z?.entityId || z?.id || D,
2500
+ entityType: z?.entityType,
2496
2501
  parentId: Z,
2497
2502
  attribField: G,
2498
2503
  isGroup: D.startsWith(an),
@@ -2500,13 +2505,13 @@ const sa = ({
2500
2505
  id: Y,
2501
2506
  label: K?.label || ""
2502
2507
  },
2503
- data: V
2508
+ data: z
2504
2509
  };
2505
2510
  };
2506
2511
  return { handleTableBodyContextMenu: (M) => {
2507
- const V = M.target.closest("td")?.firstElementChild?.id;
2508
- if (!V) return;
2509
- const G = Ie(V);
2512
+ const z = M.target.closest("td")?.firstElementChild?.id;
2513
+ if (!z) return;
2514
+ const G = Ie(z);
2510
2515
  if (!G) return;
2511
2516
  let K = Array.from(x);
2512
2517
  const te = K.filter(
@@ -2514,7 +2519,7 @@ const sa = ({
2514
2519
  ).some(
2515
2520
  (H) => he(H)?.rowId === G.entityId
2516
2521
  );
2517
- (!K.includes(V) && !te || !K.length) && (K = [V], C(V, !1, !1), c(V));
2522
+ (!K.includes(z) && !te || !K.length) && (K = [z], C(z, !1, !1), c(z));
2518
2523
  const ue = K.filter(
2519
2524
  (H) => he(H)?.colId !== ge
2520
2525
  ), xe = K.flatMap((H) => Ie(H) || []), pe = [
@@ -2557,7 +2562,7 @@ const sa = ({
2557
2562
  );
2558
2563
  S(M, Re);
2559
2564
  } };
2560
- }, vr = (t) => {
2565
+ }, Er = (t) => {
2561
2566
  const {
2562
2567
  expanded: e,
2563
2568
  expandedParentIds: n,
@@ -2584,7 +2589,7 @@ const sa = ({
2584
2589
  return !0;
2585
2590
  };
2586
2591
  return n.filter((a) => d(a));
2587
- }, Er = 1e3, xr = 400, kr = 100, Mn = (t = 1) => Math.max(kr, Math.min(xr, Math.round(Er / t))), Rr = ({
2592
+ }, xr = 1e3, kr = 400, Rr = 100, Mn = (t = 1) => Math.max(Rr, Math.min(kr, Math.round(xr / t))), Pr = ({
2588
2593
  groups: t = [],
2589
2594
  filters: e = { conditions: [] },
2590
2595
  groupBy: n,
@@ -2613,7 +2618,7 @@ const sa = ({
2613
2618
  filter: JSON.stringify({ ...e, conditions: [...h, i] })
2614
2619
  };
2615
2620
  return [...w, d];
2616
- }, Pr = 300, ca = ({
2621
+ }, Ar = 300, da = ({
2617
2622
  projectName: t,
2618
2623
  selectedFolders: e,
2619
2624
  // comes from the slicer
@@ -2648,8 +2653,8 @@ const sa = ({
2648
2653
  isUninitialized: R,
2649
2654
  getFolderById: S,
2650
2655
  getFolderIdsWithoutChildren: f
2651
- } = wo(), L = Object.entries(a).filter(([, X]) => X).filter(([X]) => !ln(X)).map(([X]) => X), F = j(
2652
- () => vr({
2656
+ } = Co(), L = Object.entries(a).filter(([, X]) => X).filter(([X]) => !ln(X)).map(([X]) => X), F = j(
2657
+ () => Er({
2653
2658
  expanded: a,
2654
2659
  expandedParentIds: L,
2655
2660
  selectedFolders: e,
@@ -2666,18 +2671,18 @@ const sa = ({
2666
2671
  y
2667
2672
  ]
2668
2673
  ), [O, _] = Ve(p), A = j(
2669
- () => So((X) => _(X), Pr),
2674
+ () => vo((X) => _(X), Ar),
2670
2675
  []
2671
2676
  );
2672
2677
  Ue(() => (A(p), () => A.cancel()), [p, A]);
2673
- const z = j(() => {
2678
+ const V = j(() => {
2674
2679
  if (!y || g)
2675
2680
  return F;
2676
2681
  const X = new Set(O);
2677
2682
  return F.filter((ye) => X.has(ye));
2678
2683
  }, [F, y, g, O]), J = {
2679
2684
  projectName: t,
2680
- parentIds: z,
2685
+ parentIds: V,
2681
2686
  filter: s.filterString,
2682
2687
  folderFilter: m.filterString,
2683
2688
  search: s.search,
@@ -2687,8 +2692,8 @@ const sa = ({
2687
2692
  isFetching: le,
2688
2693
  error: oe,
2689
2694
  isUninitialized: me
2690
- } = po(J, {
2691
- skip: r || !z.length || !y && !g
2695
+ } = go(J, {
2696
+ skip: r || !V.length || !y && !g
2692
2697
  }), Ee = !s.filterString && !m.filterString && !s.search && !m.search || !E.length || !y && !g, Se = {
2693
2698
  projectName: t,
2694
2699
  folderSearchRequest: {
@@ -2702,9 +2707,9 @@ const sa = ({
2702
2707
  isLoading: M,
2703
2708
  isUninitialized: D,
2704
2709
  error: Y
2705
- } = go(Se, {
2710
+ } = mo(Se, {
2706
2711
  skip: r || Ee
2707
- }), V = j(() => {
2712
+ }), z = j(() => {
2708
2713
  const X = /* @__PURE__ */ new Set(), ye = /* @__PURE__ */ new Set();
2709
2714
  E.forEach((se) => {
2710
2715
  if (ye.add(se.id), !se.parentId) {
@@ -2727,7 +2732,7 @@ const sa = ({
2727
2732
  n
2728
2733
  ]), G = {
2729
2734
  projectName: t,
2730
- entityIds: Array.from(V),
2735
+ entityIds: Array.from(z),
2731
2736
  entityType: "folder"
2732
2737
  }, {
2733
2738
  data: K = [],
@@ -2779,7 +2784,7 @@ const sa = ({
2779
2784
  n,
2780
2785
  K,
2781
2786
  g
2782
- ]), xe = j(() => le ? Zo({
2787
+ ]), xe = j(() => le ? er({
2783
2788
  expandedFoldersTasks: ee,
2784
2789
  expandedParentIds: L,
2785
2790
  foldersMap: ue
@@ -2787,9 +2792,9 @@ const sa = ({
2787
2792
  Ue(() => {
2788
2793
  pe && ve("");
2789
2794
  }, [h, pe]);
2790
- const { sortBy: ke, desc: we } = xo(
2795
+ const { sortBy: ke, desc: we } = ko(
2791
2796
  h.map((X) => ({
2792
- key: Bs(X.id, y, "task")?.replace("_", "."),
2797
+ key: Us(X.id, y, "task")?.replace("_", "."),
2793
2798
  desc: X.desc
2794
2799
  }))
2795
2800
  ), Te = e.length ? Array.from(
@@ -2819,7 +2824,7 @@ const sa = ({
2819
2824
  hasNextPage: Ae,
2820
2825
  isFetchingNextPage: Fe,
2821
2826
  isUninitialized: ze
2822
- } = mo(N, {
2827
+ } = yo(N, {
2823
2828
  // Skip flat task list for flat folder view (tasks loaded on folder expand).
2824
2829
  // In hierarchy+slicer mode, run it to fetch tasks under selected-but-hidden folders.
2825
2830
  // Always run it when entity list provides specific task IDs.
@@ -2828,9 +2833,9 @@ const sa = ({
2828
2833
  cursor: "",
2829
2834
  desc: we
2830
2835
  }
2831
- }), Me = j(() => B?.pages ? B.pages.flatMap((X) => X.tasks || []) : [], [B?.pages]), { pageCounts: vt, incrementPageCount: Et } = Xo({
2836
+ }), Me = j(() => B?.pages ? B.pages.flatMap((X) => X.tasks || []) : [], [B?.pages]), { pageCounts: vt, incrementPageCount: Et } = Yo({
2832
2837
  groups: i
2833
- }), xt = Yo(w, T), kt = j(() => Object.entries(a).filter(([, X]) => X).filter(([X]) => ln(X)).map(([X]) => X.slice(an.length)), [a]), ft = j(() => w ? Rr({
2838
+ }), xt = Jo(w, T), kt = j(() => Object.entries(a).filter(([, X]) => X).filter(([X]) => ln(X)).map(([X]) => X.slice(an.length)), [a]), ft = j(() => w ? Pr({
2834
2839
  groups: i,
2835
2840
  // @ts-expect-error: filter is the same
2836
2841
  filters: s.filter,
@@ -2858,7 +2863,7 @@ const sa = ({
2858
2863
  data: { tasks: Pt = [] } = {},
2859
2864
  isUninitialized: pt,
2860
2865
  error: st
2861
- } = yo(Rt, {
2866
+ } = ho(Rt, {
2862
2867
  skip: r || !w || !ft.length || u
2863
2868
  }), ot = j(() => o?.length ? Me : g ? ee : y ? H ? [...ee, ...Me] : ee : w ? Pt : Me, [
2864
2869
  o,
@@ -2883,7 +2888,7 @@ const sa = ({
2883
2888
  const X = /* @__PURE__ */ new Set();
2884
2889
  if (te && !P) {
2885
2890
  const ye = new Set(K.map((se) => se.id));
2886
- for (const se of V)
2891
+ for (const se of z)
2887
2892
  ye.has(se) || X.add(se);
2888
2893
  }
2889
2894
  if (gt && !P) {
@@ -2897,7 +2902,7 @@ const sa = ({
2897
2902
  gt,
2898
2903
  K,
2899
2904
  We,
2900
- V,
2905
+ z,
2901
2906
  Je,
2902
2907
  P
2903
2908
  ]), Lt = (X) => {
@@ -2956,13 +2961,13 @@ const sa = ({
2956
2961
  }), (ye || fe) && !ze && ae.push({ endpointName: "getTasksListInfinite", args: N }), (ye || fe) && !pt && ae.push({ endpointName: "getGroupedTasksList", args: Rt }), (ye || se) && !$ && v && ae.push({ endpointName: "GetFolderColumnStats", args: v }), (ye || fe) && !C && x && ae.push({ endpointName: "GetTaskColumnStats", args: x }), (ye || se) && !Z && ae.push({ endpointName: "getEntityLinks", args: G }), (ye || fe) && !Ze && ae.push({ endpointName: "getEntityLinks", args: At }), await Promise.all(
2957
2962
  ae.map(
2958
2963
  ({ endpointName: de, args: De }) => c(
2959
- qo(de, De, {
2964
+ Qo(de, De, {
2960
2965
  refreshOtherActiveQueries: !1
2961
2966
  })
2962
2967
  ).unwrap()
2963
2968
  )
2964
2969
  ), ae.map(
2965
- ({ endpointName: de, args: De }) => c(Qo(de, De))
2970
+ ({ endpointName: de, args: De }) => c(Xo(de, De))
2966
2971
  );
2967
2972
  }, _t = ne || Y || st, Ft = j(() => {
2968
2973
  if (oe && l)
@@ -2989,7 +2994,7 @@ const sa = ({
2989
2994
  fetchNextPage: Lt,
2990
2995
  onSyncData: rt
2991
2996
  };
2992
- }, Ar = ({
2997
+ }, Dr = ({
2993
2998
  queryFilters: t,
2994
2999
  sliceFilter: e,
2995
3000
  sliceFilters: n,
@@ -2999,7 +3004,7 @@ const sa = ({
2999
3004
  const m = [e, ...n || []];
3000
3005
  for (const a of m) {
3001
3006
  if (!a?.values?.length) continue;
3002
- const y = jo([a]);
3007
+ const y = Ko([a]);
3003
3008
  y.conditions?.length && (s = {
3004
3009
  conditions: [...s?.conditions || [], ...y.conditions],
3005
3010
  operator: "and"
@@ -3009,7 +3014,7 @@ const sa = ({
3009
3014
  if (s?.conditions?.length) {
3010
3015
  const a = [], y = s.conditions.filter((g) => {
3011
3016
  const T = g;
3012
- if (T.key === ao) {
3017
+ if (T.key === lo) {
3013
3018
  const b = T.value;
3014
3019
  return b != null && String(b).trim() !== "" && a.push(String(b)), !1;
3015
3020
  }
@@ -3031,7 +3036,7 @@ const sa = ({
3031
3036
  });
3032
3037
  w = a.join(", "), s = y.length ? { ...s, conditions: y } : { ...s, conditions: [] };
3033
3038
  }
3034
- const i = s?.conditions?.length ? os(Ko(s)) : s;
3039
+ const i = s?.conditions?.length ? os(qo(s)) : s;
3035
3040
  return {
3036
3041
  filterString: i?.conditions?.length ? JSON.stringify(i) : "",
3037
3042
  filter: i,
@@ -3039,24 +3044,24 @@ const sa = ({
3039
3044
  combinedFilters: i,
3040
3045
  displayFilters: h
3041
3046
  };
3042
- }, da = (t) => {
3047
+ }, ua = (t) => {
3043
3048
  const { queryFilters: e, sliceFilter: n, sliceFilters: o } = t;
3044
- return j(() => Ar(t), [e, n, o]);
3045
- }, ua = ({ foldersMap: t, tasksMap: e }) => j(() => {
3049
+ return j(() => Dr(t), [e, n, o]);
3050
+ }, fa = ({ foldersMap: t, tasksMap: e }) => j(() => {
3046
3051
  const n = /* @__PURE__ */ new Map();
3047
3052
  return t.forEach((o) => {
3048
3053
  n.set(o.id, o);
3049
3054
  }), e.forEach((o) => {
3050
3055
  n.set(o.id, o);
3051
3056
  }), n;
3052
- }, [t, e]), ns = "0".repeat(32), fa = (t, e, n) => {
3057
+ }, [t, e]), ns = "0".repeat(32), pa = (t, e, n) => {
3053
3058
  if (!n || !t.length) return t;
3054
3059
  const o = t.filter((s) => {
3055
3060
  const m = e[s];
3056
3061
  return !m || n.has(m);
3057
3062
  });
3058
3063
  return o.length ? o : [ns];
3059
- }, Dr = (t, e, n) => {
3064
+ }, Lr = (t, e, n) => {
3060
3065
  const o = t.find((a) => a.sliceType === "hierarchy"), s = t.find((a) => a.sliceType === "entityList"), m = Object.entries(o?.rowSelection || {}).filter(([, a]) => a).map(([a]) => a);
3061
3066
  if (!(!!s && Object.entries(s.rowSelection).some(([a, y]) => y && !a.startsWith("folder-"))))
3062
3067
  return { selectedFolders: m, folderScope: null, listPanelSelected: !1 };
@@ -3076,14 +3081,14 @@ const sa = ({
3076
3081
  folderScope: i,
3077
3082
  listPanelSelected: !0
3078
3083
  };
3079
- }, pa = ({
3084
+ }, ga = ({
3080
3085
  slices: t,
3081
3086
  entityListFolderIds: e,
3082
3087
  getChildFolderIds: n
3083
3088
  }) => j(
3084
- () => Dr(t, e, n),
3089
+ () => Lr(t, e, n),
3085
3090
  [t, e, n]
3086
- ), ga = ({
3091
+ ), ma = ({
3087
3092
  attribFields: t,
3088
3093
  allowedScopes: e = ["task", "folder"]
3089
3094
  }) => j(
@@ -3091,7 +3096,7 @@ const sa = ({
3091
3096
  (n) => e.some((o) => n.scope?.includes(o))
3092
3097
  ),
3093
3098
  [t, e]
3094
- ), ma = ({ expanded: t, setExpanded: e }) => {
3099
+ ), ya = ({ expanded: t, setExpanded: e }) => {
3095
3100
  const n = q(
3096
3101
  (m) => {
3097
3102
  e(Ct(m, t));
@@ -3111,7 +3116,7 @@ const sa = ({
3111
3116
  toggleExpanded: s,
3112
3117
  expandedIds: o
3113
3118
  };
3114
- }, Lr = ({
3119
+ }, Or = ({
3115
3120
  selectedCells: t,
3116
3121
  setSelectedCells: e,
3117
3122
  focusedCellId: n,
@@ -3138,7 +3143,7 @@ const sa = ({
3138
3143
  e(i), w.has(n || "") && o(null);
3139
3144
  }
3140
3145
  }, [s, t, n, e, o, m]);
3141
- }, Or = (t) => {
3146
+ }, _r = (t) => {
3142
3147
  const { updateGroupBy: e } = nt(), { attribFields: n, scopes: o } = Ke(), s = t.startsWith("attrib_"), m = s ? t.replace("attrib_", "") : void 0, h = j(
3143
3148
  () => s ? n.find((y) => y.name === m) : void 0,
3144
3149
  [n, s, m]
@@ -3151,7 +3156,7 @@ const sa = ({
3151
3156
  return "productType";
3152
3157
  }
3153
3158
  if (["status", "assignees", "tags", "taskType"].includes(t)) return t;
3154
- }, [t]), i = j(() => w ? s ? !!h && Ro(h, "task") : !0 : !1, [h, s, w]), d = j(() => s ? h?.data.title || h?.name || m || "Attribute" : t === "status" ? "Status" : t === "subType" ? "Type" : t === "assignees" ? "Assignees" : t === "tags" ? "Tags" : "Column", [h, m, t, s]), a = q(() => {
3159
+ }, [t]), i = j(() => w ? s ? !!h && Po(h, "task") : !0 : !1, [h, s, w]), d = j(() => s ? h?.data.title || h?.name || m || "Attribute" : t === "status" ? "Status" : t === "subType" ? "Type" : t === "assignees" ? "Assignees" : t === "tags" ? "Tags" : "Column", [h, m, t, s]), a = q(() => {
3155
3160
  w && e({ id: w, desc: !1 });
3156
3161
  }, [w, e]);
3157
3162
  return {
@@ -3160,7 +3165,7 @@ const sa = ({
3160
3165
  groupLabel: d,
3161
3166
  groupBySelectedColumn: a
3162
3167
  };
3163
- }, ya = ({ children: t }) => {
3168
+ }, ha = ({ children: t }) => {
3164
3169
  const [e, n] = Ve(/* @__PURE__ */ new Set()), [o, s] = Ve(null), [m, h] = Ve(!1), [w, i] = Ve(null), [d, a] = Ve({
3165
3170
  rowIdToIndex: /* @__PURE__ */ new Map(),
3166
3171
  colIdToIndex: /* @__PURE__ */ new Map(),
@@ -3180,7 +3185,7 @@ const sa = ({
3180
3185
  ).map((f) => he(f)?.rowId),
3181
3186
  [e]
3182
3187
  );
3183
- Lr({
3188
+ Or({
3184
3189
  selectedCells: e,
3185
3190
  setSelectedCells: n,
3186
3191
  focusedCellId: o,
@@ -3188,10 +3193,10 @@ const sa = ({
3188
3193
  });
3189
3194
  const P = je(!1), I = q((f, L) => {
3190
3195
  const F = /* @__PURE__ */ new Map(), O = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Map(), A = /* @__PURE__ */ new Map();
3191
- f.forEach((z, J) => {
3192
- F.set(z, J), _.set(J, z);
3193
- }), L.forEach((z, J) => {
3194
- O.set(z, J), A.set(J, z);
3196
+ f.forEach((V, J) => {
3197
+ F.set(V, J), _.set(J, V);
3198
+ }), L.forEach((V, J) => {
3199
+ O.set(V, J), A.set(J, V);
3195
3200
  }), a({ rowIdToIndex: F, colIdToIndex: O, indexToRowId: _, indexToColId: A });
3196
3201
  }, []), r = q((f, L) => {
3197
3202
  n((F) => {
@@ -3207,7 +3212,7 @@ const sa = ({
3207
3212
  }, []), l = q(
3208
3213
  (f, L, F) => {
3209
3214
  F || r(/* @__PURE__ */ new Set(), f);
3210
- const O = g.rowIdToIndex.get(f.rowId) ?? 0, _ = g.colIdToIndex.get(f.colId) ?? 0, A = g.rowIdToIndex.get(L.rowId) ?? 0, z = g.colIdToIndex.get(L.colId) ?? 0, J = Math.min(O, A), ee = Math.max(O, A), le = Math.min(_, z), oe = Math.max(_, z), me = new Set(F ? e : []);
3215
+ const O = g.rowIdToIndex.get(f.rowId) ?? 0, _ = g.colIdToIndex.get(f.colId) ?? 0, A = g.rowIdToIndex.get(L.rowId) ?? 0, V = g.colIdToIndex.get(L.colId) ?? 0, J = Math.min(O, A), ee = Math.max(O, A), le = Math.min(_, V), oe = Math.max(_, V), me = new Set(F ? e : []);
3211
3216
  for (let Ee = J; Ee <= ee; Ee++) {
3212
3217
  const Se = g.indexToRowId.get(Ee);
3213
3218
  if (Se)
@@ -3275,9 +3280,9 @@ const sa = ({
3275
3280
  if (!L) return [];
3276
3281
  const F = g.rowIdToIndex.get(L.rowId), O = g.colIdToIndex.get(L.colId);
3277
3282
  if (F === void 0 || O === void 0) return [];
3278
- const _ = g.indexToRowId.get(F - 1), A = g.indexToColId.get(O + 1), z = g.indexToRowId.get(F + 1), J = g.indexToColId.get(O - 1);
3283
+ const _ = g.indexToRowId.get(F - 1), A = g.indexToColId.get(O + 1), V = g.indexToRowId.get(F + 1), J = g.indexToColId.get(O - 1);
3279
3284
  let ee = bt.None;
3280
- return (!_ || !e.has(_e(_, L.colId))) && (ee |= bt.Top), (!A || !e.has(_e(L.rowId, A))) && (ee |= bt.Right), (!z || !e.has(_e(z, L.colId))) && (ee |= bt.Bottom), (!J || !e.has(_e(L.rowId, J))) && (ee |= bt.Left), Us(ee);
3285
+ return (!_ || !e.has(_e(_, L.colId))) && (ee |= bt.Top), (!A || !e.has(_e(L.rowId, A))) && (ee |= bt.Right), (!V || !e.has(_e(V, L.colId))) && (ee |= bt.Bottom), (!J || !e.has(_e(L.rowId, J))) && (ee |= bt.Left), Gs(ee);
3281
3286
  },
3282
3287
  [e, g, u]
3283
3288
  ), S = j(
@@ -3326,11 +3331,11 @@ const sa = ({
3326
3331
  R
3327
3332
  ]
3328
3333
  );
3329
- return /* @__PURE__ */ W(Gs.Provider, { value: S, children: t });
3330
- }, ha = "count", Ia = (t) => t === "count" || t === "both", ba = (t) => t === "percent" || t === "both", wa = (t, e) => t && e ? "both" : t ? "count" : e ? "percent" : "none", Ca = "all", Ta = (t) => t === "all" || t === "primary", Sa = (t) => t === "all" || t === "secondary", va = (t, e) => t && e ? "all" : t ? "primary" : e ? "secondary" : "none", Ea = {
3334
+ return /* @__PURE__ */ W(Ws.Provider, { value: S, children: t });
3335
+ }, Ia = "count", ba = (t) => t === "count" || t === "both", wa = (t) => t === "percent" || t === "both", Ca = (t, e) => t && e ? "both" : t ? "count" : e ? "percent" : "none", Ta = "all", Sa = (t) => t === "all" || t === "primary", va = (t) => t === "all" || t === "secondary", Ea = (t, e) => t && e ? "all" : t ? "primary" : e ? "secondary" : "none", xa = {
3331
3336
  primary: "folders",
3332
3337
  secondary: "tasks"
3333
- }, _r = [
3338
+ }, Fr = [
3334
3339
  "invalid path",
3335
3340
  "invalid key",
3336
3341
  "invalid value",
@@ -3341,11 +3346,11 @@ const sa = ({
3341
3346
  "value type in list",
3342
3347
  "empty path",
3343
3348
  "json filter error"
3344
- ], Fr = (t) => (t?.filter?.conditions ?? []).length > 0 || !!t?.search, Nr = (t, e) => {
3349
+ ], Nr = (t) => (t?.filter?.conditions ?? []).length > 0 || !!t?.search, Mr = (t, e) => {
3345
3350
  if (!t) return !1;
3346
3351
  const n = qn(t).toLowerCase();
3347
- return _r.some((o) => n.includes(o)) ? !0 : Fr(e);
3348
- }, Mr = (t = "Items") => `${t} were unable to load due to a corrupt filter.`, $r = (t = []) => t.includes("product") ? "Products" : t.includes("version") ? "Versions" : t.includes("task") ? "Tasks" : t.includes("folder") ? "Folders" : "Items", xa = (t, e, n) => `${t}-${e}-${n}`, rn = (t) => {
3352
+ return Fr.some((o) => n.includes(o)) ? !0 : Nr(e);
3353
+ }, $r = (t = "Items") => `${t} were unable to load due to a corrupt filter.`, Vr = (t = []) => t.includes("product") ? "Products" : t.includes("version") ? "Versions" : t.includes("task") ? "Tasks" : t.includes("folder") ? "Folders" : "Items", ka = (t, e, n) => `${t}-${e}-${n}`, rn = (t) => {
3349
3354
  switch (t) {
3350
3355
  case "boolean":
3351
3356
  return !1;
@@ -3371,23 +3376,23 @@ const sa = ({
3371
3376
  [t.entityType + "Id"]: t.entityId
3372
3377
  };
3373
3378
  return t.entityType === "version" && "product" in t && t.product?.id && (e.productId = t.product?.id, "folder" in t.product && t.product?.folder?.id && (e.folderId = t.product?.folder.id)), e;
3374
- }, jt = "__", Vr = (t) => `${jt}${t}`, ka = (t, e) => `${t}${Vr(e)}`, ss = (t) => {
3379
+ }, jt = "__", zr = (t) => `${jt}${t}`, Ra = (t, e) => `${t}${zr(e)}`, ss = (t) => {
3375
3380
  const e = t.lastIndexOf(jt);
3376
3381
  if (e === -1)
3377
3382
  return null;
3378
3383
  const n = t.slice(0, e), o = t.slice(e + jt.length);
3379
3384
  return { entityId: n, type: o };
3380
- }, Ra = (t) => t.includes(jt) && ss(t) !== null, Pa = (t, e) => ss(t)?.type === e, zr = (t) => "key" in t, os = (t) => ({
3385
+ }, Pa = (t) => t.includes(jt) && ss(t) !== null, Aa = (t, e) => ss(t)?.type === e, Br = (t) => "key" in t, os = (t) => ({
3381
3386
  ...t,
3382
3387
  conditions: t.conditions?.map((e) => {
3383
- if (!zr(e)) return os(e);
3388
+ if (!Br(e)) return os(e);
3384
3389
  if ((e.operator === "isnull" || e.operator === "notnull") && e.value == null) {
3385
3390
  const { value: n, ...o } = e;
3386
3391
  return o;
3387
3392
  }
3388
3393
  return e;
3389
3394
  })
3390
- }), Br = (t = 50) => {
3395
+ }), Ur = (t = 50) => {
3391
3396
  const [e, n] = Ve([]), [o, s] = Ve([]), m = q(
3392
3397
  (y, g) => {
3393
3398
  y.length && (n((T) => {
@@ -3428,7 +3433,7 @@ const sa = ({
3428
3433
  clearHistory: a,
3429
3434
  removeHistoryEntries: d
3430
3435
  };
3431
- }, Ur = (t = [], e) => {
3436
+ }, Gr = (t = [], e) => {
3432
3437
  for (const { isAttrib: n, value: o, field: s } of t) {
3433
3438
  if (!n) continue;
3434
3439
  const m = e.find((p) => p.name === s);
@@ -3472,25 +3477,25 @@ const sa = ({
3472
3477
  throw new Error(`“${s}” items must be ≤ ${r}`);
3473
3478
  }
3474
3479
  }
3475
- }, Aa = ({ children: t }) => {
3480
+ }, Da = ({ children: t }) => {
3476
3481
  const [e, n] = Ve(null), o = je(null), s = q(() => o.current, []), m = q((k) => {
3477
3482
  o.current = k;
3478
3483
  }, []), h = q((k) => {
3479
3484
  o.current = null, n(k);
3480
- }, []), w = q((k) => k === e, [e]), i = Br(), {
3485
+ }, []), w = q((k) => k === e, [e]), i = Ur(), {
3481
3486
  pushHistory: d,
3482
3487
  undo: a,
3483
3488
  redo: y,
3484
3489
  canUndo: g,
3485
3490
  canRedo: T,
3486
3491
  removeHistoryEntries: b
3487
- } = i, { selectedCells: P } = Ye(), { updateEntities: I, inheritFromParent: r } = Cr({
3492
+ } = i, { selectedCells: P } = Ye(), { updateEntities: I, inheritFromParent: r } = Tr({
3488
3493
  pushHistory: d,
3489
3494
  removeHistoryEntries: b
3490
3495
  }), { attribFields: l, getEntityById: p } = Ke(), { projectName: v } = Qe(), [x] = Qn(), $ = q(
3491
3496
  async (k = [], R = !0) => {
3492
3497
  try {
3493
- return Ur(k, l), await I(k, R);
3498
+ return Gr(k, l), await I(k, R);
3494
3499
  } catch (S) {
3495
3500
  return Le.error(S.message), Promise.reject(S);
3496
3501
  }
@@ -3549,7 +3554,7 @@ const sa = ({
3549
3554
  }
3550
3555
  const _ = p(O);
3551
3556
  if (!_) return;
3552
- const A = F.replace("attrib_", ""), z = F.startsWith("attrib_");
3557
+ const A = F.replace("attrib_", ""), V = F.startsWith("attrib_");
3553
3558
  if (!A) {
3554
3559
  console.warn(`Invalid column ID: ${F}`);
3555
3560
  continue;
@@ -3562,7 +3567,7 @@ const sa = ({
3562
3567
  continue;
3563
3568
  }
3564
3569
  let J = null;
3565
- if (z) {
3570
+ if (V) {
3566
3571
  const le = l.find((oe) => oe.name === A);
3567
3572
  if (!le) {
3568
3573
  console.warn(`Attribute field not found: ${A}`);
@@ -3594,7 +3599,7 @@ const sa = ({
3594
3599
  rowId: O,
3595
3600
  field: A,
3596
3601
  value: J,
3597
- isAttrib: z,
3602
+ isAttrib: V,
3598
3603
  type: _.entityType
3599
3604
  };
3600
3605
  R.push(ee);
@@ -3669,18 +3674,18 @@ const sa = ({
3669
3674
  if (!P.size) return;
3670
3675
  R.preventDefault();
3671
3676
  const O = Array.from(P).map(
3672
- (z) => document.getElementById(z)
3673
- ), _ = (z) => z?.classList.contains("editable"), A = O.filter(_);
3677
+ (V) => document.getElementById(V)
3678
+ ), _ = (V) => V?.classList.contains("editable"), A = O.filter(_);
3674
3679
  if (A.length === 0) {
3675
3680
  Le.warn("No editable cells selected to clear");
3676
3681
  return;
3677
3682
  }
3678
- u(A.map((z) => z?.id).filter(Boolean));
3683
+ u(A.map((V) => V?.id).filter(Boolean));
3679
3684
  }
3680
3685
  };
3681
3686
  return document.addEventListener("keydown", k), () => document.removeEventListener("keydown", k);
3682
- }, [g, T, C, c, P, u]), /* @__PURE__ */ W(Ws.Provider, { value: E, children: t });
3683
- }, Gr = ({
3687
+ }, [g, T, C, c, P, u]), /* @__PURE__ */ W(Hs.Provider, { value: E, children: t });
3688
+ }, Wr = ({
3684
3689
  attributes: t,
3685
3690
  listeners: e
3686
3691
  }) => /* @__PURE__ */ W(
@@ -3705,7 +3710,7 @@ const sa = ({
3705
3710
  },
3706
3711
  children: /* @__PURE__ */ W(pn, { icon: "drag_handle" })
3707
3712
  }
3708
- ), Wr = ({
3713
+ ), Hr = ({
3709
3714
  header: t,
3710
3715
  canHide: e,
3711
3716
  canPin: n,
@@ -3715,7 +3720,7 @@ const sa = ({
3715
3720
  menuId: h,
3716
3721
  isOpen: w
3717
3722
  }) => {
3718
- const { column: i } = t, d = String(i.id), { toggleMenuOpen: a } = Xn(), { updateGroupBy: y, groupBy: g, sorting: T } = nt(), { canGroupThisColumn: b, groupLabel: P, groupBySelectedColumn: I, targetGroupById: r } = Or(d);
3723
+ const { column: i } = t, d = String(i.id), { toggleMenuOpen: a } = Xn(), { updateGroupBy: y, groupBy: g, sorting: T } = nt(), { canGroupThisColumn: b, groupLabel: P, groupBySelectedColumn: I, targetGroupById: r } = _r(d);
3719
3724
  if (s)
3720
3725
  return null;
3721
3726
  const l = (c = !0) => {
@@ -3783,21 +3788,21 @@ const sa = ({
3783
3788
  i.toggleVisibility(), l(!1);
3784
3789
  }
3785
3790
  }), C.length === 0 ? null : /* @__PURE__ */ W(
3786
- Ao,
3791
+ Do,
3787
3792
  {
3788
3793
  className: m,
3789
3794
  menuItems: C,
3790
3795
  menuId: h || `column-menu-${t.id}`
3791
3796
  }
3792
3797
  );
3793
- }, $n = 60, Gt = 150, Vn = 50, zn = [Be, ge], Da = ({ children: t }) => {
3798
+ }, $n = 60, Gt = 150, Vn = 50, zn = [Be, ge], La = ({ children: t }) => {
3794
3799
  const { columnOrder: e, updateColumnOrder: n, columnPinning: o, columnSizing: s } = nt(), {
3795
3800
  restrictToSection: m,
3796
3801
  setDragPinnedState: h,
3797
3802
  clearDragPinnedState: w,
3798
3803
  activePinnedState: i,
3799
3804
  setCachedBoundary: d
3800
- } = Po({ columnPinning: o, columnSizing: s }), a = je({
3805
+ } = Ao({ columnPinning: o, columnSizing: s }), a = je({
3801
3806
  cursorX: 0,
3802
3807
  container: null,
3803
3808
  boundaryX: 0,
@@ -3806,10 +3811,10 @@ const sa = ({
3806
3811
  isScrolling: !1,
3807
3812
  isColumnDrag: !1,
3808
3813
  isPinnedDrag: null
3809
- }), y = Do(
3810
- nn(Lo, { activationConstraint: { distance: 5 } }),
3811
- nn(Oo, { activationConstraint: { delay: 100, tolerance: 5 } }),
3812
- nn(_o, {})
3814
+ }), y = Lo(
3815
+ nn(Oo, { activationConstraint: { distance: 5 } }),
3816
+ nn(_o, { activationConstraint: { delay: 100, tolerance: 5 } }),
3817
+ nn(Fo, {})
3813
3818
  ), g = j(() => [m], [m]), T = o.left || [], b = q(() => {
3814
3819
  const u = a.current.container;
3815
3820
  if (!u) return 0;
@@ -3876,7 +3881,7 @@ const sa = ({
3876
3881
  };
3877
3882
  };
3878
3883
  return /* @__PURE__ */ W(
3879
- Fo,
3884
+ No,
3880
3885
  {
3881
3886
  sensors: y,
3882
3887
  collisionDetection: I,
@@ -3915,7 +3920,7 @@ const sa = ({
3915
3920
  children: t
3916
3921
  }
3917
3922
  );
3918
- }, Hr = (t, e) => {
3923
+ }, jr = (t, e) => {
3919
3924
  const n = t.getFlatHeaders(), o = t.getState().columnSizingInfo;
3920
3925
  return j(() => {
3921
3926
  const m = {};
@@ -3925,7 +3930,7 @@ const sa = ({
3925
3930
  }
3926
3931
  return m;
3927
3932
  }, [o, e, n]);
3928
- }, jr = ({
3933
+ }, Kr = ({
3929
3934
  visibleColumns: t,
3930
3935
  tableContainerRef: e,
3931
3936
  columnPinning: n,
@@ -3933,7 +3938,7 @@ const sa = ({
3933
3938
  columnOrder: s
3934
3939
  }) => {
3935
3940
  const m = j(() => t.filter((b) => b.getIsPinned() === "left").map((b) => b.getIndex()), [t, n]), [h, w] = Ve(null);
3936
- No({
3941
+ Mo({
3937
3942
  onDragStart(b) {
3938
3943
  if (b.active.data?.current?.type === "column") {
3939
3944
  const P = t.findIndex((I) => I.id === b.active.id);
@@ -3975,7 +3980,7 @@ const sa = ({
3975
3980
  return Array.from(v).sort((x, $) => x - $);
3976
3981
  }
3977
3982
  }), a = j(
3978
- () => vo(() => {
3983
+ () => Eo(() => {
3979
3984
  d.measure();
3980
3985
  }, 1e3),
3981
3986
  [d]
@@ -4006,7 +4011,7 @@ const sa = ({
4006
4011
  virtualPaddingRight: T
4007
4012
  };
4008
4013
  };
4009
- function Kr() {
4014
+ function qr() {
4010
4015
  const { attribFields: t, getEntityById: e, onOpenPlayer: n, playerOpen: o } = Ke(), { canWriteLabelPermission: s, canWriteNamePermission: m } = un(), h = s || m, { focusedCellId: w, gridMap: i, selectCell: d, focusCell: a, clearSelection: y, setFocusedCellId: g } = Ye(), { setEditingCellId: T, editingCellId: b } = ut(), { setSelectedEntity: P } = Wn(), I = q(
4011
4016
  (l) => {
4012
4017
  a(l), console.log(l), requestAnimationFrame(() => document.getElementById(l)?.closest("td")?.focus());
@@ -4020,7 +4025,7 @@ function Kr() {
4020
4025
  if (!$) return;
4021
4026
  const { rowId: C, colId: c } = $, u = i.rowIdToIndex.get(C), E = i.colIdToIndex.get(c);
4022
4027
  if (u === void 0 || E === void 0) return;
4023
- const k = c.startsWith("attrib_") && t.find((S) => S.name === c.replace("attrib_", ""))?.readOnly || p.closest("td")?.querySelector(`.${Hs}`) !== null, R = (S) => {
4028
+ const k = c.startsWith("attrib_") && t.find((S) => S.name === c.replace("attrib_", ""))?.readOnly || p.closest("td")?.querySelector(`.${js}`) !== null, R = (S) => {
4024
4029
  if (n) {
4025
4030
  const f = e(S);
4026
4031
  if (f) {
@@ -4162,16 +4167,16 @@ function Kr() {
4162
4167
  editingCellId: b
4163
4168
  };
4164
4169
  }
4165
- const qr = 24, Qr = () => {
4166
- const { rowHeight: t = qr } = nt();
4170
+ const Qr = 24, Xr = () => {
4171
+ const { rowHeight: t = Qr } = nt();
4167
4172
  return { getRowHeight: (n) => t, thumbnailRowHeight: t, defaultRowHeight: t };
4168
- }, Xr = () => null, Yr = (t, e) => e.some((n) => {
4173
+ }, Yr = () => null, Jr = (t, e) => e.some((n) => {
4169
4174
  if (n.includes("*")) {
4170
4175
  const s = "^" + n.replace(/[.*+?^${}()|[\]\\]/g, "\\$&").replace(/\\\*/g, ".*") + "$";
4171
4176
  return new RegExp(s).test(t);
4172
4177
  }
4173
4178
  return t === n;
4174
- }), La = ({
4179
+ }), Oa = ({
4175
4180
  scope: t,
4176
4181
  sliceId: e,
4177
4182
  onScroll: n,
@@ -4214,7 +4219,7 @@ const qr = 24, Qr = () => {
4214
4219
  const {
4215
4220
  columnVisibility: _,
4216
4221
  columnPinning: A,
4217
- columnOrder: z,
4222
+ columnOrder: V,
4218
4223
  columnSizing: J,
4219
4224
  setAllColumns: ee,
4220
4225
  sorting: le,
@@ -4227,7 +4232,7 @@ const qr = 24, Qr = () => {
4227
4232
  groupBy: M,
4228
4233
  columnSummaries: D,
4229
4234
  updateColumnSummary: Y,
4230
- columnSummaryScopes: V,
4235
+ columnSummaryScopes: z,
4231
4236
  updateColumnSummaryScope: G,
4232
4237
  columnSummaryFormats: K,
4233
4238
  updateColumnSummaryFormat: Z
@@ -4254,12 +4259,12 @@ const qr = 24, Qr = () => {
4254
4259
  overrideGroupBy: Et,
4255
4260
  loadingLinksEntityIds: xt,
4256
4261
  queryFilters: kt
4257
- } = Ke(), ft = !!M || !!Et, Rt = Nr(Re, kt), Pt = Mr($r(ze)), pt = Et?.id ?? M?.id, st = Array.isArray(pt) ? pt[0] : pt, ot = ie || ["hierarchy", "folder", "product"].includes(st ?? "") || ze.includes("product"), { writableFields: Je } = un(), At = j(() => {
4262
+ } = Ke(), ft = !!M || !!Et, Rt = Mr(Re, kt), Pt = $r(Vr(ze)), pt = Et?.id ?? M?.id, st = Array.isArray(pt) ? pt[0] : pt, ot = ie || ["hierarchy", "folder", "product"].includes(st ?? "") || ze.includes("product"), { writableFields: Je } = un(), At = j(() => {
4258
4263
  const Q = st?.startsWith("attrib.") ? st.slice(7) : void 0;
4259
4264
  return ve.filter(
4260
4265
  (re) => re.name === Q || St(_, `attrib_${re.name}`, Se)
4261
4266
  ).map((re) => re.name);
4262
- }, [ve, _, Se, st]), We = Ho(ve, {
4267
+ }, [ve, _, Se, st]), We = jo(ve, {
4263
4268
  projectName: ue,
4264
4269
  request: At
4265
4270
  }), Ze = g || Te, {
@@ -4269,7 +4274,7 @@ const qr = 24, Qr = () => {
4269
4274
  tags: Ot = [],
4270
4275
  linkTypes: et = []
4271
4276
  } = xe || {}, tt = j(
4272
- () => er({
4277
+ () => tr({
4273
4278
  users: we,
4274
4279
  statuses: gt,
4275
4280
  folderTypes: Dt,
@@ -4280,12 +4285,12 @@ const qr = 24, Qr = () => {
4280
4285
  }),
4281
4286
  [we, gt, Dt, Lt, ze, Ot]
4282
4287
  ), rt = je(null), _t = je(0), { registerGrid: Ft } = Ye(), { loadingAttrib: X, loadingRows: ye } = j(() => {
4283
- const Q = rt.current?.querySelectorAll("tbody tr").length || 0, re = Jo(), Oe = Tt(
4288
+ const Q = rt.current?.querySelectorAll("tbody tr").length || 0, re = Zo(), Oe = Tt(
4284
4289
  ie && pe.length > 0 ? Math.min(Q, 50) : M ? Math.max(_t.current, 50) : 50
4285
4290
  );
4286
4291
  return { loadingAttrib: re, loadingRows: Oe };
4287
4292
  }, []), se = !N || Ze, { readOnlyColumns: fe, readOnlyAttribs: ae } = j(
4288
- () => nr(ve, Je, m),
4293
+ () => sr(ve, Je, m),
4289
4294
  [ve, Je, m]
4290
4295
  ), { selectedCells: de } = Ye(), { updateEntities: De } = ut(), it = q(
4291
4296
  async (Q, re) => {
@@ -4322,8 +4327,8 @@ const qr = 24, Qr = () => {
4322
4327
  ), mt = j(
4323
4328
  () => N ? We : X,
4324
4329
  [We, X, N]
4325
- ), Qt = () => Xs(ze), at = j(() => {
4326
- const Q = js({
4330
+ ), Qt = () => Ys(ze), at = j(() => {
4331
+ const Q = Ks({
4327
4332
  scopes: ze,
4328
4333
  attribs: mt,
4329
4334
  links: et,
@@ -4384,7 +4389,7 @@ const qr = 24, Qr = () => {
4384
4389
  return at.forEach((re) => {
4385
4390
  const Oe = re.visible;
4386
4391
  re.id && Q[re.id] === void 0 && (Oe !== void 0 ? Q[re.id] = Oe : Q[re.id] = St({}, re.id, Se));
4387
- }), ho(Q, at.map((re) => re.id).filter(Boolean));
4392
+ }), Io(Q, at.map((re) => re.id).filter(Boolean));
4388
4393
  }, [_, Se, at]), Ne = ws({
4389
4394
  data: se ? ye : pe,
4390
4395
  columns: at,
@@ -4435,7 +4440,7 @@ const qr = 24, Qr = () => {
4435
4440
  })(),
4436
4441
  columnSizing: J,
4437
4442
  columnVisibility: is,
4438
- columnOrder: z
4443
+ columnOrder: V
4439
4444
  },
4440
4445
  meta: {
4441
4446
  projectName: ue,
@@ -4460,27 +4465,27 @@ const qr = 24, Qr = () => {
4460
4465
  });
4461
4466
  Ft(Q, Oe);
4462
4467
  }, [lt, Ne.getVisibleLeafColumns(), A, ge, Ft]);
4463
- const Nt = Ne.getVisibleLeafColumns(), { columnVirtualizer: yt, virtualPaddingLeft: ht, virtualPaddingRight: It } = jr({
4468
+ const Nt = Ne.getVisibleLeafColumns(), { columnVirtualizer: yt, virtualPaddingLeft: ht, virtualPaddingRight: It } = Kr({
4464
4469
  visibleColumns: Nt,
4465
4470
  tableContainerRef: rt,
4466
4471
  columnPinning: A,
4467
4472
  columnSizing: J,
4468
- columnOrder: z
4473
+ columnOrder: V
4469
4474
  }), yn = je({}), hn = yt.getVirtualItems();
4470
4475
  Ue(() => {
4471
4476
  if (!S || !f?.length) return;
4472
4477
  const Q = new Set(hn.map((Pe) => Nt[Pe.index]?.id)), re = {};
4473
4478
  let Oe = !1;
4474
- Ne.getAllLeafColumns().filter((Pe) => Yr(Pe.id, f)).forEach((Pe) => {
4479
+ Ne.getAllLeafColumns().filter((Pe) => Jr(Pe.id, f)).forEach((Pe) => {
4475
4480
  const He = Q.has(Pe.id);
4476
4481
  yn.current[Pe.id] !== He && (re[Pe.id] = He, Oe = !0, yn.current[Pe.id] = He);
4477
4482
  }), Oe && S(re);
4478
4483
  }, [hn, S, f, Nt, Ne]);
4479
- const In = Hr(Ne, J), { powerLicense: bn } = Co(), [as, { isLoaded: wn, isLoading: Cn }] = Uo({
4484
+ const In = jr(Ne, J), { powerLicense: bn } = To(), [as, { isLoaded: wn, isLoading: Cn }] = Go({
4480
4485
  addon: "powerpack",
4481
4486
  remote: "views",
4482
4487
  module: "SummaryCellContent",
4483
- fallback: Xr,
4488
+ fallback: Yr,
4484
4489
  skip: !v || !bn
4485
4490
  }), ls = v && bn && (wn || Cn) && !!lt.length, cs = Cn || !wn, ds = j(() => {
4486
4491
  const Q = /* @__PURE__ */ new Set(), re = /* @__PURE__ */ new Set();
@@ -4491,9 +4496,9 @@ const qr = 24, Qr = () => {
4491
4496
  He && (Pe === ge ? re.add(He) : Q.add(He));
4492
4497
  }
4493
4498
  return Q.size || re.size;
4494
- }, [de, Me]), { getRowHeight: us, defaultRowHeight: Tn } = Qr(), fs = j(() => We.reduce((Q, re) => (re.data?.enum?.length && (Q[re.name] = re.data?.enum), Q), {}), [We]), ps = j(() => pe.map((Q) => Q.id), [pe]), gs = j(() => z.filter(
4499
+ }, [de, Me]), { getRowHeight: us, defaultRowHeight: Tn } = Xr(), fs = j(() => We.reduce((Q, re) => (re.data?.enum?.length && (Q[re.name] = re.data?.enum), Q), {}), [We]), ps = j(() => pe.map((Q) => Q.id), [pe]), gs = j(() => V.filter(
4495
4500
  (Q) => Q !== Be && Q !== ge
4496
- ), [z]), ms = j(() => !l || !I ? null : pe.find((Q) => Q.id === l), [l, pe, I]), ys = q(
4501
+ ), [V]), ms = j(() => !l || !I ? null : pe.find((Q) => Q.id === l), [l, pe, I]), ys = q(
4497
4502
  (Q) => {
4498
4503
  if (n?.(Q), o) {
4499
4504
  const re = Q.currentTarget;
@@ -4509,15 +4514,15 @@ const qr = 24, Qr = () => {
4509
4514
  },
4510
4515
  [n, o, k, ie, M, Ze]
4511
4516
  ), Sn = /* @__PURE__ */ W(
4512
- br,
4517
+ wr,
4513
4518
  {
4514
4519
  entitiesMap: ke,
4515
4520
  columnEnums: { ...tt, ...fs },
4516
4521
  columnReadOnly: ae,
4517
4522
  visibleColumns: Nt,
4518
- children: /* @__PURE__ */ Ge(Ks, { ...O, children: [
4523
+ children: /* @__PURE__ */ Ge(qs, { ...O, children: [
4519
4524
  /* @__PURE__ */ W(
4520
- qs,
4525
+ Qs,
4521
4526
  {
4522
4527
  ref: rt,
4523
4528
  style: { height: "100%", padding: 0 },
@@ -4548,7 +4553,7 @@ const qr = 24, Qr = () => {
4548
4553
  },
4549
4554
  children: [
4550
4555
  /* @__PURE__ */ W(
4551
- Jr,
4556
+ Zr,
4552
4557
  {
4553
4558
  columnVirtualizer: yt,
4554
4559
  table: Ne,
@@ -4562,7 +4567,7 @@ const qr = 24, Qr = () => {
4562
4567
  }
4563
4568
  ),
4564
4569
  /* @__PURE__ */ W(
4565
- ti,
4570
+ ni,
4566
4571
  {
4567
4572
  columnVirtualizer: yt,
4568
4573
  table: Ne,
@@ -4587,7 +4592,7 @@ const qr = 24, Qr = () => {
4587
4592
  }
4588
4593
  ),
4589
4594
  ls && !Re && /* @__PURE__ */ W(
4590
- io,
4595
+ ao,
4591
4596
  {
4592
4597
  columnVirtualizer: yt,
4593
4598
  table: Ne,
@@ -4607,7 +4612,7 @@ const qr = 24, Qr = () => {
4607
4612
  onCalcChange: (re) => Y(Q, re),
4608
4613
  format: K[Q],
4609
4614
  onFormatChange: (re) => Z(Q, re),
4610
- scope: V[Q],
4615
+ scope: z[Q],
4611
4616
  onScopeChange: (re) => G(Q, re),
4612
4617
  mainCountLabels: u,
4613
4618
  fieldOptions: tt,
@@ -4623,7 +4628,7 @@ const qr = 24, Qr = () => {
4623
4628
  )
4624
4629
  }
4625
4630
  ),
4626
- H && /* @__PURE__ */ W(Qs, { children: /* @__PURE__ */ W(zo, { variant: "warning", message: H, action: Ce }) })
4631
+ H && /* @__PURE__ */ W(Xs, { children: /* @__PURE__ */ W(Bo, { variant: "warning", message: H, action: Ce }) })
4627
4632
  ] })
4628
4633
  }
4629
4634
  ), hs = I && l && Ht(
@@ -4693,7 +4698,7 @@ const qr = 24, Qr = () => {
4693
4698
  /* @__PURE__ */ W(Ln, {})
4694
4699
  ] });
4695
4700
  }, Bn = ({ table: t }) => {
4696
- const { active: e } = Mo(), o = e?.data?.current?.type === "column" ? e?.id : null, s = j(() => o && t.getHeaderGroups()[0]?.headers.find((m) => m.id === o) || null, [o, t]);
4701
+ const { active: e } = $o(), o = e?.data?.current?.type === "column" ? e?.id : null, s = j(() => o && t.getHeaderGroups()[0]?.headers.find((m) => m.id === o) || null, [o, t]);
4697
4702
  return !o || !s ? null : Ht(
4698
4703
  /* @__PURE__ */ W(Jn, { dropAnimation: null, children: /* @__PURE__ */ W(
4699
4704
  jn,
@@ -4714,7 +4719,7 @@ const qr = 24, Qr = () => {
4714
4719
  ) }),
4715
4720
  document.body
4716
4721
  );
4717
- }, Jr = ({
4722
+ }, Zr = ({
4718
4723
  columnVirtualizer: t,
4719
4724
  table: e,
4720
4725
  virtualPaddingLeft: n,
@@ -4724,8 +4729,8 @@ const qr = 24, Qr = () => {
4724
4729
  sortableRows: h,
4725
4730
  columnOrderIds: w,
4726
4731
  ...i
4727
- }) => /* @__PURE__ */ W(Ys, { ...i, children: e.getHeaderGroups().map((d) => /* @__PURE__ */ W(
4728
- Zr,
4732
+ }) => /* @__PURE__ */ W(Js, { ...i, children: e.getHeaderGroups().map((d) => /* @__PURE__ */ W(
4733
+ ei,
4729
4734
  {
4730
4735
  columnVirtualizer: t,
4731
4736
  headerGroup: d,
@@ -4737,7 +4742,7 @@ const qr = 24, Qr = () => {
4737
4742
  columnOrderIds: w
4738
4743
  },
4739
4744
  d.id
4740
- )) }), Zr = ({
4745
+ )) }), ei = ({
4741
4746
  columnVirtualizer: t,
4742
4747
  headerGroup: e,
4743
4748
  virtualPaddingLeft: n,
@@ -4748,15 +4753,15 @@ const qr = 24, Qr = () => {
4748
4753
  columnOrderIds: w
4749
4754
  }) => {
4750
4755
  const i = t.getVirtualItems();
4751
- return /* @__PURE__ */ Ge(no, { style: { display: "flex" }, children: [
4756
+ return /* @__PURE__ */ Ge(so, { style: { display: "flex" }, children: [
4752
4757
  n ? (
4753
4758
  //fake empty column to the left for virtualization scroll padding
4754
4759
  /* @__PURE__ */ W("th", { style: { display: "flex", width: n } })
4755
4760
  ) : null,
4756
- /* @__PURE__ */ W(Zn, { items: w, strategy: Vo, children: i.map((d) => {
4761
+ /* @__PURE__ */ W(Zn, { items: w, strategy: zo, children: i.map((d) => {
4757
4762
  const a = e.headers[d.index], y = a.id !== Be && a.id !== ge;
4758
4763
  return /* @__PURE__ */ W(
4759
- ei,
4764
+ ti,
4760
4765
  {
4761
4766
  header: a,
4762
4767
  isLoading: s,
@@ -4777,7 +4782,7 @@ const qr = 24, Qr = () => {
4777
4782
  /* @__PURE__ */ W("th", { style: { display: "flex", width: o } })
4778
4783
  ) : null
4779
4784
  ] }, e.id);
4780
- }, ei = ({
4785
+ }, ti = ({
4781
4786
  header: t,
4782
4787
  isLoading: e,
4783
4788
  canFilter: n,
@@ -4836,9 +4841,9 @@ const qr = 24, Qr = () => {
4836
4841
  children: [
4837
4842
  dn(a.columnDef.header, t.getContext()),
4838
4843
  w && /* @__PURE__ */ W(pn, { icon: "lock", "data-tooltip": "You only have permission to read this column." }),
4839
- /* @__PURE__ */ Ge(so, { className: "actions", $isOpen: b, ...R, children: [
4844
+ /* @__PURE__ */ Ge(oo, { className: "actions", $isOpen: b, ...R, children: [
4840
4845
  (o || m || s) && /* @__PURE__ */ W(
4841
- Wr,
4846
+ Hr,
4842
4847
  {
4843
4848
  className: "header-menu",
4844
4849
  header: t,
@@ -4862,7 +4867,7 @@ const qr = 24, Qr = () => {
4862
4867
  selected: !!a.getIsSorted()
4863
4868
  }
4864
4869
  ),
4865
- s && p > -1 && /* @__PURE__ */ W(oo, { className: "sort-index", children: p + 1 }),
4870
+ s && p > -1 && /* @__PURE__ */ W(ro, { className: "sort-index", children: p + 1 }),
4866
4871
  a.getIsPinned() && a.id !== ge && a.id !== Be && /* @__PURE__ */ W(
4867
4872
  Pn,
4868
4873
  {
@@ -4874,7 +4879,7 @@ const qr = 24, Qr = () => {
4874
4879
  )
4875
4880
  ] }),
4876
4881
  h && /* @__PURE__ */ W(
4877
- ro,
4882
+ io,
4878
4883
  {
4879
4884
  onDoubleClick: () => a.resetSize(),
4880
4885
  onMouseDown: (S) => {
@@ -4893,7 +4898,7 @@ const qr = 24, Qr = () => {
4893
4898
  },
4894
4899
  t.id
4895
4900
  );
4896
- }, ti = ({
4901
+ }, ni = ({
4897
4902
  columnVirtualizer: t,
4898
4903
  table: e,
4899
4904
  tableContainerRef: n,
@@ -4918,7 +4923,7 @@ const qr = 24, Qr = () => {
4918
4923
  const v = j(() => e.getAllColumns().map((O) => {
4919
4924
  const _ = O.id, A = O.columnDef.header;
4920
4925
  return typeof A == "string" || typeof A == "number" ? { label: A, id: _ } : null;
4921
- }).filter(Boolean), [e.getAllColumns()]), $ = Sr({
4926
+ }).filter(Boolean), [e.getAllColumns()]), $ = vr({
4922
4927
  attribs: h,
4923
4928
  onOpenNew: w,
4924
4929
  headerLabels: v,
@@ -4945,7 +4950,7 @@ const qr = 24, Qr = () => {
4945
4950
  },
4946
4951
  [c]
4947
4952
  );
4948
- Kr();
4953
+ qr();
4949
4954
  const R = e.getVisibleLeafColumns(), S = j(() => {
4950
4955
  const L = [], F = [];
4951
4956
  for (let O = 0; O < R.length - 1; O++) {
@@ -4963,11 +4968,11 @@ const qr = 24, Qr = () => {
4963
4968
  },
4964
4969
  onContextMenu: $,
4965
4970
  children: [
4966
- /* @__PURE__ */ W(Js, { "aria-hidden": !0, children: S.map((L, F) => /* @__PURE__ */ W("div", { style: { left: L } }, F)) }),
4971
+ /* @__PURE__ */ W(Zs, { "aria-hidden": !0, children: S.map((L, F) => /* @__PURE__ */ W("div", { style: { left: L } }, F)) }),
4967
4972
  u.map((L) => {
4968
4973
  const F = C[L.index];
4969
4974
  return F ? /* @__PURE__ */ W(
4970
- ni,
4975
+ si,
4971
4976
  {
4972
4977
  row: F,
4973
4978
  showHierarchy: o,
@@ -4999,7 +5004,7 @@ const qr = 24, Qr = () => {
4999
5004
  onClick: r
5000
5005
  }
5001
5006
  ),
5002
- /* @__PURE__ */ W(Bo, { errorMessage: qn(a) })
5007
+ /* @__PURE__ */ W(Uo, { errorMessage: qn(a) })
5003
5008
  ] }) : /* @__PURE__ */ W(sn, { message: "No items found", error: a, children: r && /* @__PURE__ */ W(
5004
5009
  tn,
5005
5010
  {
@@ -5013,8 +5018,8 @@ const qr = 24, Qr = () => {
5013
5018
  ) : !C.length && !T ? n.current && Ht(
5014
5019
  /* @__PURE__ */ W(kn, { children: /* @__PURE__ */ W(sn, { message: "No items found", children: r && /* @__PURE__ */ W(tn, { variant: "filled", label: "Reset filters", icon: "replay", onClick: r }) }) }),
5015
5020
  n.current
5016
- ) : d ? /* @__PURE__ */ W(Zn, { items: i, strategy: $o, children: f }) : f;
5017
- }, ni = ({
5021
+ ) : d ? /* @__PURE__ */ W(Zn, { items: i, strategy: Vo, children: f }) : f;
5022
+ }, si = ({
5018
5023
  row: t,
5019
5024
  showHierarchy: e,
5020
5025
  visibleCells: n,
@@ -5093,7 +5098,7 @@ const qr = 24, Qr = () => {
5093
5098
  p.preventDefault(), p.stopPropagation();
5094
5099
  },
5095
5100
  children: /* @__PURE__ */ W(
5096
- Gr,
5101
+ Wr,
5097
5102
  {
5098
5103
  attributes: g?.attributes,
5099
5104
  listeners: g?.listeners
@@ -5145,7 +5150,7 @@ const qr = 24, Qr = () => {
5145
5150
  setSelectedCells: v,
5146
5151
  setAnchorCell: x,
5147
5152
  setFocusedCellId: $
5148
- } = Ye(), { isRowSelected: C } = Zs(), { isEditing: c, setEditingCellId: u, editingCellId: E } = ut(), k = r(n), S = t.column.getIsPinned() === "left" && t.column.getIsLastColumn("left"), f = t.column.id === ge, L = !!t.row.original.group, F = p.size > 1;
5153
+ } = Ye(), { isRowSelected: C } = eo(), { isEditing: c, setEditingCellId: u, editingCellId: E } = ut(), k = r(n), S = t.column.getIsPinned() === "left" && t.column.getIsLastColumn("left"), f = t.column.id === ge, L = !!t.row.original.group, F = p.size > 1;
5149
5154
  return /* @__PURE__ */ W(
5150
5155
  fn,
5151
5156
  {
@@ -5160,7 +5165,7 @@ const qr = 24, Qr = () => {
5160
5165
  editing: c(n),
5161
5166
  "last-pinned-left": S,
5162
5167
  "selected-row": C(e),
5163
- expandable: !L && !!t.row.originalSubRows && to(t.row.original.primary.entityType),
5168
+ expandable: !L && !!t.row.originalSubRows && no(t.row.original.primary.entityType),
5164
5169
  "multiple-selected": F
5165
5170
  },
5166
5171
  o,
@@ -5176,12 +5181,12 @@ const qr = 24, Qr = () => {
5176
5181
  const _ = O.target;
5177
5182
  if (_.closest(".expander") || _.closest(".options")) return;
5178
5183
  if (O.currentTarget.focus(), O.detail === 2) {
5179
- if (eo(O) && t.column.id !== "comments" || Wt(t.row.original.primary.entityType) || L) {
5184
+ if (to(O) && t.column.id !== "comments" || Wt(t.row.original.primary.entityType) || L) {
5180
5185
  O.preventDefault();
5181
5186
  return;
5182
5187
  }
5183
5188
  if (["name", "comments"].includes(t.column.id) && !_.closest(".expander")) {
5184
- t.column.id === "comments" && To("overview", "feed");
5189
+ t.column.id === "comments" && So("overview", "feed");
5185
5190
  const ee = _e(t.row.id, ge), le = O.metaKey || O.ctrlKey, oe = he(ee);
5186
5191
  v((me) => {
5187
5192
  const Ee = le ? new Set(me) : /* @__PURE__ */ new Set();
@@ -5212,14 +5217,14 @@ const qr = 24, Qr = () => {
5212
5217
  );
5213
5218
  if (J) {
5214
5219
  J.blur(), setTimeout(() => {
5215
- z();
5220
+ V();
5216
5221
  }, 0);
5217
5222
  return;
5218
5223
  }
5219
5224
  u(null);
5220
5225
  }
5221
- z();
5222
- function z() {
5226
+ V();
5227
+ function V() {
5223
5228
  const J = O.metaKey || O.ctrlKey || f;
5224
5229
  O.shiftKey ? P(n, J, !0) : g(n, J), O.preventDefault();
5225
5230
  }
@@ -5246,194 +5251,194 @@ const qr = 24, Qr = () => {
5246
5251
  );
5247
5252
  };
5248
5253
  export {
5249
- Gl as ALWAYS_VISIBLE_COLUMNS,
5250
- Fa as BooleanWidget,
5254
+ Wl as ALWAYS_VISIBLE_COLUMNS,
5255
+ Na as BooleanWidget,
5251
5256
  bt as BorderPosition,
5252
- Hl as CELL_PADDING_Y,
5253
- Na as COLUMN_ICONS,
5254
- Ma as COLUMN_LABELS,
5255
- $a as COLUMN_MIN_SIZE,
5256
- Va as COLUMN_SORT_CONFIG,
5257
- Ws as CellEditingContext,
5258
- Aa as CellEditingProvider,
5259
- za as CellWidget,
5260
- Ls as ClipboardContext,
5261
- br as ClipboardProvider,
5262
- Ba as CollapsedWidget,
5263
- Da as ColumnDndProvider,
5264
- Wr as ColumnHeaderMenu,
5265
- _s as ColumnSettingsContext,
5266
- oa as ColumnSettingsProvider,
5267
- Ea as DEFAULT_MAIN_COUNT_LABELS,
5268
- Ca as DEFAULT_ROW_SCOPE,
5269
- ha as DEFAULT_SUMMARY_FORMAT,
5257
+ jl as CELL_PADDING_Y,
5258
+ Ma as COLUMN_ICONS,
5259
+ $a as COLUMN_LABELS,
5260
+ Va as COLUMN_MIN_SIZE,
5261
+ za as COLUMN_SORT_CONFIG,
5262
+ Hs as CellEditingContext,
5263
+ Da as CellEditingProvider,
5264
+ Ba as CellWidget,
5265
+ Os as ClipboardContext,
5266
+ wr as ClipboardProvider,
5267
+ Ua as CollapsedWidget,
5268
+ La as ColumnDndProvider,
5269
+ Hr as ColumnHeaderMenu,
5270
+ Fs as ColumnSettingsContext,
5271
+ ra as ColumnSettingsProvider,
5272
+ xa as DEFAULT_MAIN_COUNT_LABELS,
5273
+ Ta as DEFAULT_ROW_SCOPE,
5274
+ Ia as DEFAULT_SUMMARY_FORMAT,
5270
5275
  Be as DRAG_HANDLE_COLUMN_ID,
5271
- Ua as DateWidget,
5272
- Fs as DetailsPanelEntityContext,
5273
- ra as DetailsPanelEntityProvider,
5276
+ Ga as DateWidget,
5277
+ Ns as DetailsPanelEntityContext,
5278
+ ia as DetailsPanelEntityProvider,
5274
5279
  Rn as EDIT_TRIGGER_CLASS,
5275
- Ga as ENTITY_COLUMN_IDS,
5276
- Wa as ENTITY_FIELD_SUPPORT,
5277
- Ha as ENTITY_WIDGET_CLASS,
5278
- ja as EmptyWidget,
5279
- Ka as EntityNameWidget,
5280
- qa as EntityWidget,
5281
- Qa as EnumCellValue,
5282
- Xa as EnumWidget,
5283
- Ya as ErrorWidget,
5280
+ Wa as ENTITY_COLUMN_IDS,
5281
+ Ha as ENTITY_FIELD_SUPPORT,
5282
+ ja as ENTITY_WIDGET_CLASS,
5283
+ Ka as EmptyWidget,
5284
+ qa as EntityNameWidget,
5285
+ Qa as EntityWidget,
5286
+ Xa as EnumCellValue,
5287
+ Ya as EnumWidget,
5288
+ Ja as ErrorWidget,
5284
5289
  an as GROUP_BY_ID,
5285
- Ja as GroupHeaderWidget,
5290
+ Za as GroupHeaderWidget,
5286
5291
  Pn as HeaderActionButton,
5287
- Za as LEGACY_COLUMN_ID_ALIASES,
5288
- el as LinksWidget,
5289
- tl as MarkdownWidget,
5290
- nl as MetaWidget,
5291
- sl as NEXT_PAGE_ID,
5292
+ el as LEGACY_COLUMN_ID_ALIASES,
5293
+ tl as LinksWidget,
5294
+ nl as MarkdownWidget,
5295
+ sl as MetaWidget,
5296
+ ol as NEXT_PAGE_ID,
5292
5297
  ns as NO_MATCH_FOLDER_ID,
5293
- Ns as ProjectDataContext,
5294
- ia as ProjectDataProvider,
5298
+ Ms as ProjectDataContext,
5299
+ aa as ProjectDataProvider,
5295
5300
  As as ProjectTableContext,
5296
- sa as ProjectTableProvider,
5297
- Ms as ProjectTableQueriesContext,
5298
- aa as ProjectTableQueriesProvider,
5299
- La as ProjectTreeTable,
5300
- Hs as READ_ONLY,
5301
- ol as RESTRICTED_ENTITY_ICON,
5302
- rl as RESTRICTED_ENTITY_LABEL,
5303
- il as RESTRICTED_ENTITY_NAME,
5304
- al as RESTRICTED_ENTITY_TYPE,
5305
- ll as ROW_ID_SEPARATOR,
5301
+ oa as ProjectTableProvider,
5302
+ $s as ProjectTableQueriesContext,
5303
+ la as ProjectTableQueriesProvider,
5304
+ Oa as ProjectTreeTable,
5305
+ js as READ_ONLY,
5306
+ rl as RESTRICTED_ENTITY_ICON,
5307
+ il as RESTRICTED_ENTITY_LABEL,
5308
+ al as RESTRICTED_ENTITY_NAME,
5309
+ ll as RESTRICTED_ENTITY_TYPE,
5310
+ cl as ROW_ID_SEPARATOR,
5306
5311
  ge as ROW_SELECTION_COLUMN_ID,
5307
- Gr as RowDragHandleCellContent,
5308
- cl as RowSelectionHeader,
5309
- $s as SelectedRowsContext,
5310
- la as SelectedRowsProvider,
5311
- dl as SelectionCell,
5312
- Gs as SelectionCellsContext,
5313
- ya as SelectionCellsProvider,
5314
- ul as StyledBaseTextWidget,
5315
- fl as SubtasksWidget,
5316
- Ql as TABLE_CONTAINER_ATTR,
5317
- pl as TextWidget,
5318
- gl as ThumbnailWidget,
5312
+ Wr as RowDragHandleCellContent,
5313
+ dl as RowSelectionHeader,
5314
+ Vs as SelectedRowsContext,
5315
+ ca as SelectedRowsProvider,
5316
+ ul as SelectionCell,
5317
+ Ws as SelectionCellsContext,
5318
+ ha as SelectionCellsProvider,
5319
+ fl as StyledBaseTextWidget,
5320
+ pl as SubtasksWidget,
5321
+ Xl as TABLE_CONTAINER_ATTR,
5322
+ gl as TextWidget,
5323
+ ml as ThumbnailWidget,
5319
5324
  xn as UNGROUPED_VALUE,
5320
- jl as WRAP_MIN_CELL_HEIGHT,
5321
- Kl as WRAP_MIN_ROW_HEIGHT,
5322
- Xl as allowedGroupByFields,
5325
+ Kl as WRAP_MIN_CELL_HEIGHT,
5326
+ ql as WRAP_MIN_ROW_HEIGHT,
5327
+ Yl as allowedGroupByFields,
5323
5328
  Rs as buildFolderTableRow,
5324
- ml as buildGroupId,
5325
- yl as buildProductTableRow,
5326
- Ar as buildQueryFilters,
5327
- va as buildRowScope,
5328
- wa as buildSummaryFormat,
5329
+ yl as buildGroupId,
5330
+ hl as buildProductTableRow,
5331
+ Dr as buildQueryFilters,
5332
+ Ea as buildRowScope,
5333
+ Ca as buildSummaryFormat,
5329
5334
  ks as buildTaskTableRow,
5330
- hl as buildVersionTableRow,
5331
- sr as builtInFieldMappings,
5335
+ Il as buildVersionTableRow,
5336
+ or as builtInFieldMappings,
5332
5337
  St as checkColumnVisibility,
5333
- jo as clientFilterToQueryFilter,
5338
+ Ko as clientFilterToQueryFilter,
5334
5339
  $e as clipboardError,
5335
- pr as commentsToText,
5336
- tc as convertDateFilterToQueryFilter,
5337
- xa as createLocalStorageKey,
5338
- ka as createMetaRowId,
5339
- ic as createRelativeValue,
5340
- Zo as determineLoadingTaskFolders,
5341
- ho as ensureAtLeastOneVisibleColumn,
5342
- Ko as expandRelativeDates,
5343
- Ia as formatHasCount,
5344
- ba as formatHasPercent,
5345
- Jo as generateDummyAttributes,
5340
+ gr as commentsToText,
5341
+ nc as convertDateFilterToQueryFilter,
5342
+ ka as createLocalStorageKey,
5343
+ Ra as createMetaRowId,
5344
+ ac as createRelativeValue,
5345
+ er as determineLoadingTaskFolders,
5346
+ Io as ensureAtLeastOneVisibleColumn,
5347
+ qo as expandRelativeDates,
5348
+ ba as formatHasCount,
5349
+ wa as formatHasPercent,
5350
+ Zo as generateDummyAttributes,
5346
5351
  Tt as generateLoadingRows,
5347
- Us as getBorderClasses,
5348
- Il as getCellBorders,
5352
+ Gs as getBorderClasses,
5353
+ bl as getCellBorders,
5349
5354
  _e as getCellId,
5350
5355
  $t as getCellValue,
5351
- bl as getColumnIcon,
5352
- wl as getColumnLabel,
5353
- Bs as getColumnSortKey,
5356
+ wl as getColumnIcon,
5357
+ Cl as getColumnLabel,
5358
+ Us as getColumnSortKey,
5354
5359
  Kt as getColumnWidth,
5355
5360
  qt as getCommonPinningStyles,
5356
- $r as getEntitiesLabelFromScopes,
5361
+ Vr as getEntitiesLabelFromScopes,
5357
5362
  dt as getEntityDataById,
5358
5363
  mn as getEntityViewierIds,
5359
- Mr as getFilterErrorMessage,
5360
- vr as getFolderIdsToQueryFromExpanded,
5361
- Cl as getLinkColumnId,
5364
+ $r as getFilterErrorMessage,
5365
+ Er as getFolderIdsToQueryFromExpanded,
5366
+ Tl as getLinkColumnId,
5362
5367
  Ds as getLinkEntityIdsByColumnId,
5363
- Tl as getLinkKey,
5364
- Sl as getLinkLabel,
5365
- Xs as getNameColumnLabel,
5366
- nr as getReadOnlyLists,
5367
- vl as getScopedColumnId,
5368
- El as getScopedEntity,
5369
- xl as getScopedValue,
5370
- kl as getSortableColumnOptions,
5371
- er as getTableFieldOptions,
5368
+ Sl as getLinkKey,
5369
+ vl as getLinkLabel,
5370
+ Ys as getNameColumnLabel,
5371
+ sr as getReadOnlyLists,
5372
+ El as getScopedColumnId,
5373
+ xl as getScopedEntity,
5374
+ kl as getScopedValue,
5375
+ Rl as getSortableColumnOptions,
5376
+ tr as getTableFieldOptions,
5372
5377
  rn as getTypeDefaultValue,
5373
- Rl as getValueIdType,
5374
- Fr as hasActiveFilters,
5375
- Ro as isAttribGroupable,
5376
- Pl as isColumnSortable,
5377
- to as isEntityExpandable,
5378
+ Pl as getValueIdType,
5379
+ Nr as hasActiveFilters,
5380
+ Po as isAttribGroupable,
5381
+ Al as isColumnSortable,
5382
+ no as isEntityExpandable,
5378
5383
  Wt as isEntityRestricted,
5379
- Al as isFieldSupported,
5380
- Nr as isFilterError,
5384
+ Dl as isFieldSupported,
5385
+ Mr as isFilterError,
5381
5386
  ln as isGroupId,
5382
- Dl as isLinkEditable,
5383
- Ra as isMetaRowId,
5384
- Pa as isMetaRowType,
5385
- Ll as isMultiSelectAttribute,
5386
- ac as isRelativeDateValue,
5387
- lr as isSubtasksTSV,
5388
- eo as isTargetReadOnly,
5387
+ Ll as isLinkEditable,
5388
+ Pa as isMetaRowId,
5389
+ Aa as isMetaRowType,
5390
+ Ol as isMultiSelectAttribute,
5391
+ lc as isRelativeDateValue,
5392
+ cr as isSubtasksTSV,
5393
+ to as isTargetReadOnly,
5389
5394
  En as linksToTableData,
5390
- Ol as normalizeColumnId,
5391
- _l as normalizeColumnIdList,
5392
- Os as normalizeColumnsConfig,
5395
+ _l as normalizeColumnId,
5396
+ Fl as normalizeColumnIdList,
5397
+ _s as normalizeColumnsConfig,
5393
5398
  he as parseCellId,
5394
5399
  Fn as parseClipboardText,
5395
- Fl as parseGroupId,
5400
+ Nl as parseGroupId,
5396
5401
  ss as parseMetaRowId,
5397
5402
  Gn as parseRowId,
5398
- Nl as parseScopedColumnId,
5399
- or as processFieldValue,
5400
- nc as queryFilterToClientFilter,
5401
- lc as resolveRelativeValue,
5403
+ Ml as parseScopedColumnId,
5404
+ rr as processFieldValue,
5405
+ sc as queryFilterToClientFilter,
5406
+ cc as resolveRelativeValue,
5402
5407
  os as sanitizeQueryFilter,
5403
- cr as sanitizeSubtaskName,
5404
- Ta as scopeHasGroups,
5405
- Sa as scopeHasRows,
5406
- fa as scopeIdsToFolders,
5407
- Ml as sortEntityLinksByPath,
5408
- na as subtaskToTSV,
5409
- ar as subtasksToTSV,
5410
- sc as tryMergeDatetimeRange,
5411
- oc as tryMergeTextNullness,
5408
+ dr as sanitizeSubtaskName,
5409
+ Sa as scopeHasGroups,
5410
+ va as scopeHasRows,
5411
+ pa as scopeIdsToFolders,
5412
+ $l as sortEntityLinksByPath,
5413
+ sa as subtaskToTSV,
5414
+ lr as subtasksToTSV,
5415
+ oc as tryMergeDatetimeRange,
5416
+ rc as tryMergeTextNullness,
5412
5417
  on as tsvToSubtasks,
5413
5418
  ut as useCellEditing,
5414
- Lr as useCheckSelectedCellsVisible,
5415
- zs as useClipboard,
5416
- Po as useColumnDragRestriction,
5417
- Or as useColumnGroupBy,
5419
+ Or as useCheckSelectedCellsVisible,
5420
+ Bs as useClipboard,
5421
+ Ao as useColumnDragRestriction,
5422
+ _r as useColumnGroupBy,
5418
5423
  nt as useColumnSettingsContext,
5419
5424
  Wn as useDetailsPanelEntityContext,
5420
- ua as useEntitiesMap,
5421
- ma as useExpandedState,
5422
- ca as useFetchOverviewData,
5425
+ fa as useEntitiesMap,
5426
+ ya as useExpandedState,
5427
+ da as useFetchOverviewData,
5423
5428
  xs as useGetEntityTypeData,
5424
- Yl as useGetGroupedFields,
5425
- Zl as useGroupCounts,
5426
- $l as useOptionalCellEditing,
5427
- Vl as useOptionalProjectTableContext,
5428
- zl as useOptionalSelectedRowsContext,
5429
- Bl as useOptionalSelectionCellsContext,
5429
+ Jl as useGetGroupedFields,
5430
+ ec as useGroupCounts,
5431
+ Vl as useOptionalCellEditing,
5432
+ zl as useOptionalProjectTableContext,
5433
+ Bl as useOptionalSelectedRowsContext,
5434
+ Ul as useOptionalSelectionCellsContext,
5430
5435
  un as useProjectDataContext,
5431
5436
  Ke as useProjectTableContext,
5432
- Vs as useProjectTableQueriesContext,
5433
- da as useQueryFilters,
5434
- ga as useScopedAttributeFields,
5435
- pa as useSelectedFolders,
5436
- Zs as useSelectedRowsContext,
5437
+ zs as useProjectTableQueriesContext,
5438
+ ua as useQueryFilters,
5439
+ ma as useScopedAttributeFields,
5440
+ ga as useSelectedFolders,
5441
+ eo as useSelectedRowsContext,
5437
5442
  Ye as useSelectionCellsContext,
5438
- ir as validateClipboardData
5443
+ ar as validateClipboardData
5439
5444
  };