@ynput/ayon-frontend-shared 0.6.5 → 0.6.6

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.
@@ -1,28 +1,28 @@
1
1
  import { jsx as W, jsxs as Ge, Fragment as vn } from "react/jsx-runtime";
2
- import Xe, { useMemo as j, useCallback as q, useEffect as Ue, useState as Ve, useRef as je, useLayoutEffect as ws } from "react";
2
+ import Xe, { useMemo as j, useCallback as q, useEffect as Ue, useState as Ve, useRef as je, useLayoutEffect as bs } from "react";
3
3
  import { useVirtualizer as Un } from "@tanstack/react-virtual";
4
- import { functionalUpdate as Ct, useReactTable as Cs, filterFns as Ts, getSortedRowModel as Ss, getExpandedRowModel as vs, getFilteredRowModel as Es, getCoreRowModel as xs, flexRender as dn } from "@tanstack/react-table";
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 ks, s as Rs, t as En, v as Ps, w as dt, a as nt, x as As, y as Gn, z as Ds, b as Ke, F as ut, G as Zt, H as en, I as Ye, p as he, J as Ls, K as $t, N as Os, O as _s, Q as Fs, R as Ns, P as Ms, V as $s, W as Wn, X as _e, Y as Vs, Z as zs, f as un, _ as Bs, $ as an, a0 as Wt, U as xn, a1 as ln, a2 as Us, a3 as bt, a4 as Gs, a5 as Ws, C as Hs, a6 as js, a7 as Ks, a8 as qs, a9 as Qs, aa as Xs, ab as Hn, ac as fn, ad as Ys, ae as Js, af as Zs, ag as kn, ah as eo, q as Rn, ai as to, aj as no, ak as jn, al as Kn, am as so, an as oo, ao as ro, ap as io } from "./chunks/MetaWidget.es.js";
7
- import { B as Na, aq as Ma, ar as $a, as as Va, at as za, au as Ba, av as Ua, n as Ga, aw as Wa, ax as Ha, ay as ja, az as Ka, aA as qa, aB as Qa, aC as Xa, o as Ya, aD as Ja, aE as Za, aF as el, aG as tl, M as nl, aH as sl, aI as ol, aJ as rl, aK as il, aL as al, aM as ll, aN as cl, aO as dl, aP as ul, aQ as fl, aR as pl, T as gl, aS as ml, aT as yl, aU as hl, aV as Il, aW as bl, aX as wl, aY as Cl, aZ as Tl, a_ as Sl, a$ as vl, b0 as El, b1 as xl, b2 as kl, b3 as Rl, b4 as Pl, b5 as Al, b6 as Dl, b7 as Ll, b8 as Ol, b9 as _l, ba as Fl, bb as Nl, bc as Ml, bd as $l, be as Vl, h as zl, bf 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";
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";
10
10
  import "@module-federation/enhanced/runtime";
11
11
  import { ay as An, bi as qn } from "./chunks/searchTerms.es.js";
12
- import { aV as co, aG as uo, ds as Qn, dB as St, bX as fo, ct as po, bY as go, ca as mo, bx as Dn, cm as yo, bM as ho, dC as Io } from "./chunks/getUris.es.js";
13
- import { dD as Wl } from "./chunks/getUris.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
14
  import "primereact/confirmdialog";
15
- 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";
16
- import { isEqual as wt, debounce as vo, throttle as Eo } from "lodash";
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
17
  import { toast as Le } from "react-toastify";
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";
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";
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 Ro } from "./chunks/PlayableIcon.es.js";
25
+ import { k as ko } 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 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";
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";
42
42
  import { E as sn } from "./chunks/EmptyPlaceholder.es.js";
43
43
  import "./chunks/Menu.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";
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";
48
48
  import { a as Vt, K as zt } from "./chunks/platform.es.js";
49
- import { u as Ho } from "./chunks/useHierarchySelection.es.js";
49
+ import { u as Wo } 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 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";
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";
61
61
  const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
62
- id: xo(),
62
+ id: Eo(),
63
63
  primary: {
64
64
  id: `loading-${o}`,
65
65
  entityType: "folder",
@@ -69,46 +69,46 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
69
69
  attrib: e
70
70
  },
71
71
  isLoading: !0
72
- })), Zo = (t = 10) => Array(t).fill(null).map((e, n) => ({
72
+ })), Jo = (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
- })), er = ({
79
+ })), Zo = ({
80
80
  expandedFoldersTasks: t,
81
81
  expandedParentIds: e,
82
82
  foldersMap: n
83
83
  }) => {
84
84
  const o = t.map((i) => i.folderId), s = e.filter(
85
85
  (i) => n.get(i)?.hasTasks
86
- ), g = new Set(o), h = /* @__PURE__ */ new Set();
86
+ ), m = new Set(o), h = /* @__PURE__ */ new Set();
87
87
  for (const i of s)
88
- g.has(i) || h.add(i);
88
+ m.has(i) || h.add(i);
89
89
  const w = {};
90
90
  for (const i of h) {
91
91
  const d = n.get(i);
92
92
  d && (w[i] = d.taskNames?.length || 0);
93
93
  }
94
94
  return w;
95
- }, tr = ({
95
+ }, er = ({
96
96
  users: t,
97
97
  statuses: e,
98
98
  folderTypes: n,
99
99
  taskTypes: o,
100
100
  productTypes: s,
101
- tags: g,
101
+ tags: m,
102
102
  scopes: h
103
103
  }) => {
104
104
  const w = (i) => e.filter(
105
105
  (d) => !d.scope || i.some((a) => d.scope?.includes(a))
106
- ).map(({ name: d, color: a, icon: y, scope: m }) => ({
106
+ ).map(({ name: d, color: a, icon: y, scope: g }) => ({
107
107
  value: d,
108
108
  label: d,
109
109
  color: a,
110
110
  icon: y,
111
- scope: m
111
+ scope: g
112
112
  }));
113
113
  return {
114
114
  assignee: t.map(({ name: i, fullName: d, hidden: a }) => ({
@@ -120,7 +120,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
120
120
  status: w(h),
121
121
  folderStatus: w(["folder"]),
122
122
  taskStatus: w(["task"]),
123
- tag: g.map(({ name: i, color: d }) => ({ value: i, label: i, color: d })),
123
+ tag: m.map(({ name: i, color: d }) => ({ value: i, label: i, color: d })),
124
124
  folderType: n.map(({ name: i, icon: d, color: a }) => ({
125
125
  value: i,
126
126
  label: i,
@@ -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
- }, nr = {
138
+ }, tr = {
139
139
  name: ["name"],
140
140
  label: ["label"],
141
141
  status: ["status"],
@@ -147,27 +147,27 @@ 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
- }, sr = (t, e, n = []) => {
150
+ }, nr = (t, e, n = []) => {
151
151
  let o = t.filter((d) => d.readOnly).map((d) => d.name), s;
152
- const g = [];
152
+ const m = [];
153
153
  let h = !1, w = !1;
154
154
  if (e) {
155
- const d = new Set(e), a = (y) => y.some((m) => d.has(m));
156
- Object.entries(nr).forEach(([y, m]) => {
157
- a(m) || (g.push(y), y === "folderType" && (h = !0), y === "taskType" && (w = !0));
155
+ const d = new Set(e), a = (y) => y.some((g) => d.has(g));
156
+ Object.entries(tr).forEach(([y, g]) => {
157
+ a(g) || (m.push(y), y === "folderType" && (h = !0), y === "taskType" && (w = !0));
158
158
  });
159
159
  }
160
160
  if (n?.includes("attrib") ? (o = t.filter((d) => d.builtin || d.readOnly).map((d) => d.name), s = /* @__PURE__ */ new Set([
161
161
  ...o.map((d) => "attrib_" + d),
162
162
  // Add the read-only attribute columns to the set
163
- ...g,
163
+ ...m,
164
164
  // Also include read-only built-in fields
165
165
  ...n || []
166
166
  // Add any other specified readOnly columns
167
167
  ])) : (s = /* @__PURE__ */ new Set([
168
168
  ...o.map((d) => "attrib_" + d),
169
169
  // Add readOnly attribute columns to the set
170
- ...g,
170
+ ...m,
171
171
  // Add read-only built-in fields to the set (field ids match column ids)
172
172
  ...n || []
173
173
  // Add any other specified readOnly columns
@@ -176,11 +176,11 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
176
176
  const a = d.replace("attrib_", "");
177
177
  t.find((y) => y.name === a) && !o.includes(a) && o.push(a);
178
178
  }
179
- })), h && w && (s.add("subType"), o.includes("subType") || o.push("subType")), g.length)
180
- for (const d of g)
179
+ })), h && w && (s.add("subType"), o.includes("subType") || o.push("subType")), m.length)
180
+ for (const d of m)
181
181
  o.includes(d) || o.push(d);
182
182
  return { readOnlyColumns: Array.from(s), readOnlyAttribs: o };
183
- }, or = {
183
+ }, sr = {
184
184
  status: "statuses",
185
185
  folderType: "folderTypes",
186
186
  taskType: "taskTypes"
@@ -188,17 +188,10 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
188
188
  const e = t.trim().split(`
189
189
  `), n = [], o = [];
190
190
  return e.forEach((s) => {
191
- const g = s.split(" ");
192
- n.push({ values: g, colIds: o });
191
+ const m = s.split(" ");
192
+ n.push({ values: m, colIds: o });
193
193
  }), n;
194
- }, ns = (t, e) => {
195
- const n = e.get(t);
196
- if (!n) return "";
197
- const o = n.name || "", s = n.folderId || n.parentId;
198
- if (!s) return o;
199
- const g = ns(s, e);
200
- return g ? `${g} / ${o}` : o;
201
- }, rr = (t, e) => {
194
+ }, or = (t, e) => {
202
195
  if (e === "array")
203
196
  try {
204
197
  if (t === "")
@@ -219,13 +212,13 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
219
212
  return t.toLowerCase() === "true" || t === "1" || t.toLowerCase() === "yes";
220
213
  }
221
214
  return t;
222
- }, ir = ["assignees", "status", "subType"], ar = (t) => {
215
+ }, rr = ["assignees", "status", "subType"], ir = (t) => {
223
216
  const {
224
217
  colId: e,
225
218
  isFolder: n,
226
219
  pasteValue: o,
227
220
  parsedData: s,
228
- columnEnums: g,
221
+ columnEnums: m,
229
222
  columnReadOnly: h,
230
223
  rowIndex: w,
231
224
  colIndex: i,
@@ -237,10 +230,10 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
237
230
  return $e(`This column is read-only: "${e}". Paste operation cancelled.`), !1;
238
231
  if (e.startsWith("link_"))
239
232
  return o.split(",").map((p) => p.trim()).every((p) => Yn(p)) ? !0 : ($e(`Invalid link id format: "${o}". Paste operation cancelled.`), !1);
240
- if (ir.includes(e)) {
233
+ if (rr.includes(e)) {
241
234
  let r = e;
242
235
  e === "assignees" ? r = "assignee" : e === "subType" ? r = n ? "folderType" : "taskType" : e === "status" && (r = "status");
243
- const l = g[r] || [];
236
+ const l = m[r] || [];
244
237
  if (l.length === 0)
245
238
  return !0;
246
239
  const p = o.split(",").map(($) => $.trim()), v = [];
@@ -325,15 +318,15 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
325
318
  }
326
319
  }
327
320
  let y = e === "subType" ? n ? "folderType" : "taskType" : e;
328
- if (y = or[y] || y, !(y in g)) return !0;
329
- const m = g[y];
330
- if (!Array.isArray(m) || m.length === 0) return !0;
321
+ if (y = sr[y] || y, !(y in m)) return !0;
322
+ const g = m[y];
323
+ if (!Array.isArray(g) || g.length === 0) return !0;
331
324
  const T = o.split(",").map((r) => r.trim()), { validValues: b, hasInvalidValues: P } = T.reduce(
332
325
  (r, l) => {
333
- const p = m.find((x) => x.value === l || x.label === l);
326
+ const p = g.find((x) => x.value === l || x.label === l);
334
327
  if (p)
335
328
  return r.validValues.push(String(p.value)), r;
336
- const v = m.find(
329
+ const v = g.find(
337
330
  (x) => String(x.value).toLowerCase() === l.toLowerCase() || String(x.label).toLowerCase() === l.toLowerCase()
338
331
  );
339
332
  return v ? (r.validValues.push(String(v.value)), r) : (r.hasInvalidValues = !0, r.validValues.push(l), r);
@@ -351,7 +344,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
351
344
  s[r].values[l] = I;
352
345
  }
353
346
  return !0;
354
- }, lr = (t, e, n) => t.map((s) => [
347
+ }, ar = (t, e, n) => t.map((s) => [
355
348
  e || "",
356
349
  n || "",
357
350
  s.label || "",
@@ -361,7 +354,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
361
354
  (s.assignees || []).join(", "),
362
355
  s.isDone ? "Done" : "Todo"
363
356
  ]).map((s) => s.join(" ")).join(`
364
- `), sa = (t, e, n) => [
357
+ `), na = (t, e, n) => [
365
358
  e || "",
366
359
  n || "",
367
360
  t.label || "",
@@ -378,19 +371,19 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
378
371
  return (n.includes("taskid") && n.includes("taskname") && n.includes("label") && n.includes("name") && n.includes("start date") && n.includes("end date") && n.includes("assignees") && n.includes("status") ? e.slice(1) : e).map((h) => {
379
372
  const w = h.split(" ");
380
373
  if (w.length < 6) return null;
381
- let i, d, a, y, m, T, b, P;
382
- w.length >= 8 ? ([i, d, a, y, m, T, b, P] = w, i = i || void 0, d = d || void 0) : [a, y, m, T, b, P] = w.slice(0, 6);
374
+ let i, d, a, y, g, T, b, P;
375
+ w.length >= 8 ? ([i, d, a, y, g, T, b, P] = w, i = i || void 0, d = d || void 0) : [a, y, g, T, b, P] = w.slice(0, 6);
383
376
  const I = b ? b.split(",").map((p) => p.trim()).filter(Boolean) : [], r = P?.toLowerCase().trim() === "done", l = {
384
377
  label: a || "",
385
378
  name: y || "",
386
379
  assignees: I,
387
380
  isDone: r
388
381
  };
389
- return i && (l.taskId = i), d && (l.taskName = d), m && (l.startDate = m), T && (l.endDate = T), l;
382
+ return i && (l.taskId = i), d && (l.taskName = d), g && (l.startDate = g), T && (l.endDate = T), l;
390
383
  }).filter(
391
384
  (h) => h !== null
392
385
  );
393
- }, cr = (t) => {
386
+ }, lr = (t) => {
394
387
  const e = t.trim().split(`
395
388
  `);
396
389
  if (e.length === 0) return !1;
@@ -402,44 +395,44 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
402
395
  if (s.includes("taskid") && s.includes("taskname") && s.includes("label") && s.includes("name") && s.includes("start date") && s.includes("end date") && s.includes("assignees") && s.includes("status") || s.includes("label") && s.includes("name") && s.includes("start date") && s.includes("end date") && s.includes("assignees") && s.includes("status"))
403
396
  return !0;
404
397
  if (e.length > 0) {
405
- const g = o[o.length - 1]?.toLowerCase().trim();
406
- return g === "done" || g === "todo";
398
+ const m = o[o.length - 1]?.toLowerCase().trim();
399
+ return m === "done" || m === "todo";
407
400
  }
408
401
  return !1;
409
- }, dr = (t) => {
402
+ }, cr = (t) => {
410
403
  let e = t.replace(/[^a-zA-Z0-9_\.\-]/g, "_");
411
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;
412
- }, Bt = (t) => String(t).padStart(2, "0"), ur = (t) => {
405
+ }, Bt = (t) => String(t).padStart(2, "0"), dr = (t) => {
413
406
  if (!t) return "";
414
407
  const e = new Date(t);
415
408
  return isNaN(e.getTime()) ? "" : `${Bt(e.getDate())}/${Bt(e.getMonth() + 1)}/${e.getFullYear()} ${Bt(
416
409
  e.getHours()
417
410
  )}:${Bt(e.getMinutes())}`;
418
- }, fr = (t) => t.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#39;/gi, "'").replace(/&amp;/gi, "&"), pr = (t) => {
411
+ }, ur = (t) => t.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#39;/gi, "'").replace(/&amp;/gi, "&"), fr = (t) => {
419
412
  if (!t) return "";
420
413
  let e = t;
421
414
  return e = e.replace(/<br\s*\/?>/gi, " "), e = e.replace(/!\[[^\]]*\]\([^)]*\)/g, ""), e = e.replace(
422
415
  /\[([^\]]*)\]\(([^)]*)\)/g,
423
- (n, o, s) => Ro.includes(String(s).split(":")[0]) ? String(o).replace(/^@/, "") : o
424
- ), 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();
425
- }, gr = (t = []) => t.map(
426
- (e) => [pr(e.body), e.author, ur(e.createdAt)].filter(Boolean).join(" - ")
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(" - ")
427
420
  ).join(`
428
421
  `), Nn = 100;
429
- function mr({
422
+ function gr({
430
423
  foldersMap: t,
431
424
  tasksMap: e,
432
425
  rows: n,
433
426
  tasksByFolderMap: o,
434
427
  expanded: s,
435
- showHierarchy: g,
428
+ showHierarchy: m,
436
429
  isFlatFolderView: h = !1,
437
430
  showEmptyFolders: w = !1,
438
431
  loadingTasks: i = {},
439
432
  isLoadingMore: d = !1,
440
433
  selectedFolders: a = []
441
434
  }) {
442
- const y = Qe(), m = ks({ projectInfo: y }), T = j(() => JSON.stringify(s), [s]), b = j(() => new Set(
435
+ const y = Qe(), g = xs({ projectInfo: y }), T = j(() => JSON.stringify(s), [s]), b = j(() => new Set(
443
436
  Object.entries(s).filter(([l, p]) => p).map(([l]) => l)
444
437
  ), [T]), { childToParentMap: P, parentToChildrenMap: I } = j(() => {
445
438
  const l = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map();
@@ -469,10 +462,10 @@ function mr({
469
462
  }, [t, I, b]);
470
463
  return j(() => {
471
464
  const l = (C, c) => {
472
- const u = m("task", C.taskType), E = Rs(C, t.get(c || C.folderId));
465
+ const u = g("task", C.taskType), E = ks(C, t.get(c || C.folderId));
473
466
  return E.primary.icon = u?.icon || null, E.primary.color = u?.color || null, E.primary.links = En(C.links, "task", y.anatomy), E.subRows = [], E;
474
467
  }, p = (C) => {
475
- const c = m("folder", C.folderType), u = Ps(C);
468
+ const c = g("folder", C.folderType), u = Rs(C);
476
469
  return u.primary.icon = c?.icon || null, u.primary.color = c?.color || null, u.primary.links = En(C.links, "folder", y.anatomy), u.subRows = [], u;
477
470
  }, v = () => {
478
471
  const C = [];
@@ -508,7 +501,7 @@ function mr({
508
501
  }
509
502
  return C.push(...v()), C;
510
503
  }
511
- if (!g) {
504
+ if (!m) {
512
505
  const C = [];
513
506
  for (const c of e.values())
514
507
  c.id && C.push(l(c));
@@ -551,7 +544,7 @@ function mr({
551
544
  const u = x.get(C), E = x.get(c);
552
545
  !u || !E || E.subRows?.push(u);
553
546
  }
554
- if ($.push(...v()), g && d) {
547
+ if ($.push(...v()), m && d) {
555
548
  const C = Nn;
556
549
  $.push(...Tt(C));
557
550
  }
@@ -566,7 +559,7 @@ function mr({
566
559
  r,
567
560
  P,
568
561
  b,
569
- g,
562
+ m,
570
563
  h,
571
564
  w,
572
565
  i,
@@ -574,13 +567,13 @@ function mr({
574
567
  a
575
568
  ]);
576
569
  }
577
- function yr({
570
+ function mr({
578
571
  tasksMap: t,
579
572
  entitiesMap: e,
580
573
  tasksByFolderMap: n,
581
574
  getEntityById: o,
582
575
  projectAttrib: s,
583
- attribFields: g
576
+ attribFields: m
584
577
  }) {
585
578
  const h = j(() => {
586
579
  const T = /* @__PURE__ */ new Map();
@@ -668,7 +661,7 @@ function yr({
668
661
  if (p.length)
669
662
  for (const v of p) {
670
663
  const x = r.filter(
671
- ([c]) => !v.ownAttrib?.includes(c) && g?.find((u) => u.name === c)?.data?.inherit
664
+ ([c]) => !v.ownAttrib?.includes(c) && m?.find((u) => u.name === c)?.data?.inherit
672
665
  ), $ = r.filter(
673
666
  ([c]) => v.ownAttrib?.includes(c)
674
667
  );
@@ -698,7 +691,7 @@ function yr({
698
691
  return b;
699
692
  },
700
693
  [w, t, d, i]
701
- ), m = q(
694
+ ), g = q(
702
695
  (T, b, P) => {
703
696
  const I = o(T);
704
697
  if (!I) return null;
@@ -718,25 +711,25 @@ function yr({
718
711
  folderChildrenMap: h,
719
712
  getChildrenEntities: w,
720
713
  getInheritedDependents: y,
721
- findInheritedValueFromAncestors: m,
714
+ findInheritedValueFromAncestors: g,
722
715
  findNonInheritedValues: a,
723
716
  getAncestorsOf: i
724
717
  };
725
718
  }
726
- const oa = ({
719
+ const sa = ({
727
720
  children: t,
728
721
  foldersMap: e,
729
722
  tableRows: n,
730
723
  tasksMap: o,
731
724
  entitiesMap: s,
732
- tasksByFolderMap: g,
725
+ tasksByFolderMap: m,
733
726
  selectedFolders: h,
734
727
  expanded: w,
735
728
  showHierarchy: i,
736
729
  loadingTasks: d,
737
730
  isLoadingMore: a,
738
731
  isLoading: y,
739
- error: m,
732
+ error: g,
740
733
  softError: T,
741
734
  softErrorAction: b,
742
735
  isInitialized: P,
@@ -779,11 +772,11 @@ const oa = ({
779
772
  const { attrib: Y } = Qe(), {
780
773
  groupBy: V,
781
774
  groupByConfig: { showEmpty: G = !0 } = {}
782
- } = nt(), K = mr({
775
+ } = nt(), K = gr({
783
776
  foldersMap: e,
784
777
  tasksMap: o,
785
778
  rows: n,
786
- tasksByFolderMap: g,
779
+ tasksByFolderMap: m,
787
780
  expanded: w,
788
781
  showHierarchy: i,
789
782
  isFlatFolderView: ee,
@@ -791,7 +784,7 @@ const oa = ({
791
784
  loadingTasks: d,
792
785
  isLoadingMore: a,
793
786
  selectedFolders: h
794
- }), Z = ee ? void 0 : x || V, te = As({
787
+ }), Z = ee ? void 0 : x || V, te = Ps({
795
788
  entities: s,
796
789
  entityType: A?.entityType || "unknown",
797
790
  groups: p,
@@ -830,10 +823,10 @@ const oa = ({
830
823
  findInheritedValueFromAncestors: Te,
831
824
  findNonInheritedValues: Re,
832
825
  getAncestorsOf: H
833
- } = yr({
826
+ } = mr({
834
827
  entitiesMap: s,
835
828
  tasksMap: o,
836
- tasksByFolderMap: g,
829
+ tasksByFolderMap: m,
837
830
  getEntityById: ve,
838
831
  projectAttrib: Y,
839
832
  attribFields: r
@@ -860,7 +853,7 @@ const oa = ({
860
853
  [w, f]
861
854
  );
862
855
  return /* @__PURE__ */ W(
863
- Ds.Provider,
856
+ As.Provider,
864
857
  {
865
858
  value: {
866
859
  // from this context
@@ -868,7 +861,7 @@ const oa = ({
868
861
  // forwarded on
869
862
  isInitialized: P,
870
863
  isLoading: y,
871
- error: m,
864
+ error: g,
872
865
  softError: T,
873
866
  softErrorAction: b,
874
867
  attribFields: r,
@@ -927,8 +920,8 @@ const oa = ({
927
920
  children: t
928
921
  }
929
922
  );
930
- }, hr = (t) => {
931
- const { projectName: e } = Qe(), { getEntityById: n } = Ke(), o = e, { history: s } = ut(), [g] = co(), [h] = uo();
923
+ }, yr = (t) => {
924
+ const { projectName: e } = Qe(), { getEntityById: n } = Ke(), o = e, { history: s } = ut(), [m] = lo(), [h] = co();
932
925
  return { pasteTableLinks: q(
933
926
  async (i) => {
934
927
  if (!o || !i.length) return;
@@ -937,7 +930,7 @@ const oa = ({
937
930
  const b = `${T.sourceEntityId}-${T.linkType}-${T.direction}`;
938
931
  d.has(b) || d.set(b, []), d.get(b).push(T);
939
932
  }
940
- const a = [], y = [], m = [];
933
+ const a = [], y = [], g = [];
941
934
  for (const [, T] of d) {
942
935
  const { sourceEntityId: b } = T[0], P = /* @__PURE__ */ new Set();
943
936
  if (T.forEach((I) => I.targetEntityIds.forEach((r) => P.add(r))), P.has(b)) {
@@ -1010,10 +1003,10 @@ const oa = ({
1010
1003
  });
1011
1004
  }
1012
1005
  }
1013
- c.length > 0 && (a.push(Zt(c, g)), m.push(...c)), C.length > 0 && (a.push(en(C, h)), y.push(...C));
1006
+ c.length > 0 && (a.push(Zt(c, m)), g.push(...c)), C.length > 0 && (a.push(en(C, h)), y.push(...C));
1014
1007
  }
1015
1008
  try {
1016
- if (await Promise.all(a), s && (y.length > 0 || m.length > 0)) {
1009
+ if (await Promise.all(a), s && (y.length > 0 || g.length > 0)) {
1017
1010
  const T = y.map((r) => ({
1018
1011
  id: r.linkId,
1019
1012
  projectName: r.projectName,
@@ -1021,7 +1014,7 @@ const oa = ({
1021
1014
  direction: r.direction,
1022
1015
  target: { entityId: r.targetEntityId, entityType: r.targetEntityType },
1023
1016
  source: { entityId: r.sourceEntityId, entityType: r.sourceEntityType }
1024
- })), b = m.map((r) => ({
1017
+ })), b = g.map((r) => ({
1025
1018
  targetEntityId: r.target.entityId,
1026
1019
  linkId: r.id,
1027
1020
  sourceEntityId: r.source.entityId,
@@ -1032,11 +1025,11 @@ const oa = ({
1032
1025
  projectName: r.projectName
1033
1026
  })), P = () => {
1034
1027
  const r = [];
1035
- T.length && r.push(Zt(T, g)), b.length && r.push(en(b, h)), r.length && Promise.all(r).catch(() => {
1028
+ T.length && r.push(Zt(T, m)), b.length && r.push(en(b, h)), r.length && Promise.all(r).catch(() => {
1036
1029
  });
1037
1030
  }, I = () => {
1038
1031
  const r = [];
1039
- m.length && r.push(Zt(m, g)), y.length && r.push(en(y, h)), r.length && Promise.all(r).catch(() => {
1032
+ g.length && r.push(Zt(g, m)), y.length && r.push(en(y, h)), r.length && Promise.all(r).catch(() => {
1040
1033
  });
1041
1034
  };
1042
1035
  s.pushHistory([P], [I]);
@@ -1045,25 +1038,25 @@ const oa = ({
1045
1038
  throw T;
1046
1039
  }
1047
1040
  },
1048
- [o, n, g, h, s]
1041
+ [o, n, m, h, s]
1049
1042
  ) };
1050
- }, Ir = /* @__PURE__ */ new Set([
1043
+ }, hr = /* @__PURE__ */ new Set([
1051
1044
  "version",
1052
1045
  "version_entity",
1053
1046
  "product",
1054
1047
  "productBaseType",
1055
1048
  "task_entity"
1056
- ]), br = {
1049
+ ]), Ir = {
1057
1050
  folder_entity: "folder",
1058
1051
  version_entity: "versionName"
1059
- }, wr = ({
1052
+ }, br = ({
1060
1053
  children: t,
1061
1054
  entitiesMap: e,
1062
1055
  columnEnums: n,
1063
1056
  columnReadOnly: o,
1064
1057
  visibleColumns: s
1065
1058
  }) => {
1066
- const { selectedCells: g, gridMap: h, focusedCellId: w } = Ye(), { updateEntities: i, history: d } = ut(), { pasteTableLinks: a } = hr(), { getEntityById: y, attribFields: m, tableData: T } = Ke(), b = j(() => {
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(() => {
1067
1060
  const c = /* @__PURE__ */ new Map(), u = (E) => {
1068
1061
  for (const k of E)
1069
1062
  c.set(k.id, k), k.subRows?.length && u(k.subRows);
@@ -1119,29 +1112,29 @@ const oa = ({
1119
1112
  for (const oe of ee) {
1120
1113
  let me = "";
1121
1114
  if (oe.startsWith("link_"))
1122
- me = Ls(A.links, oe);
1115
+ me = Ds(A.links, oe);
1123
1116
  else if (oe === "subtasks") {
1124
1117
  const Ie = $t(A, oe) || [];
1125
- me = lr(Ie, A.id, A.name);
1118
+ me = ar(Ie, A.id, A.name);
1126
1119
  } else if (oe === "comments") {
1127
1120
  const Ie = $t(A, "latestComments") || [];
1128
- me = gr(Ie);
1121
+ me = pr(Ie);
1129
1122
  } else {
1130
- const Ie = br[oe] || oe;
1123
+ const Ie = Ir[oe] || oe;
1131
1124
  let U = oe === "task_entity" ? z?.parents?.task?.label || z?.parents?.task?.name || A.task?.label || A.task?.name : $t(A, Ie);
1132
1125
  if (oe === "folder_entity" && typeof U != "string") {
1133
1126
  const M = U || A.product?.folder, D = "parents" in A ? A.parents : void 0;
1134
1127
  U = M?.label || M?.name || D?.[D.length - 1] || "";
1135
1128
  }
1136
- if (z && (Ir.has(oe) || U === void 0 || U === null || U === "" || typeof U == "object")) {
1129
+ if (z && (hr.has(oe) || U === void 0 || U === null || U === "" || typeof U == "object")) {
1137
1130
  const M = $t(z, Ie);
1138
1131
  M != null && M !== "" && (U = M);
1139
1132
  }
1140
1133
  if (!U) {
1141
- const M = m.find((D) => D.name === oe.replace("attrib_", ""));
1134
+ const M = g.find((D) => D.name === oe.replace("attrib_", ""));
1142
1135
  M && M.data.type === "boolean" ? U = !1 : M && M.data.type?.includes("list_of") && (U = []);
1143
1136
  }
1144
- if (me = U != null ? String(U) : "", oe === "name" && (me = (z?.primary.entityType === "version" ? z.primary.label || z.primary.name : void 0) || ns(A.entityId || A.id, e) || z?.label || z?.primary?.name || A.label || A.name || ""), oe === "subType") {
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") {
1145
1138
  const M = z?.subType ?? A.subType;
1146
1139
  typeof M == "string" && M ? me = M : ("folderType" in A && (me = A.folderType || ""), "taskType" in A && (me = A.taskType || ""));
1147
1140
  }
@@ -1159,7 +1152,7 @@ const oa = ({
1159
1152
  }
1160
1153
  },
1161
1154
  [
1162
- g,
1155
+ m,
1163
1156
  w,
1164
1157
  h,
1165
1158
  e,
@@ -1174,7 +1167,7 @@ const oa = ({
1174
1167
  return u.length === 0 ? !1 : u.every((E) => E.values.every((k) => k.split(",").every((R) => Yn(R))));
1175
1168
  }, p = q(
1176
1169
  async (c, u) => {
1177
- if (c = c || Array.from(g), !c.length) return;
1170
+ if (c = c || Array.from(m), !c.length) return;
1178
1171
  const E = await r(c, { fullRow: u });
1179
1172
  if (E) {
1180
1173
  if (!navigator.clipboard) {
@@ -1192,10 +1185,10 @@ const oa = ({
1192
1185
  }
1193
1186
  }
1194
1187
  },
1195
- [g, e, h]
1188
+ [m, e, h]
1196
1189
  ), v = q(
1197
1190
  async (c, u, E) => {
1198
- if (c = c || Array.from(g), !!c.length)
1191
+ if (c = c || Array.from(m), !!c.length)
1199
1192
  try {
1200
1193
  const k = await r(c, { headers: !0, fullRow: E });
1201
1194
  if (!k) return;
@@ -1207,7 +1200,7 @@ const oa = ({
1207
1200
  console.error("Failed to copy to clipboard:", k);
1208
1201
  }
1209
1202
  },
1210
- [g, e, h, r]
1203
+ [m, e, h, r]
1211
1204
  ), x = async () => {
1212
1205
  if (!navigator.clipboard) {
1213
1206
  $e("Clipboard API not supported in this browser.");
@@ -1231,7 +1224,7 @@ const oa = ({
1231
1224
  const k = await x();
1232
1225
  if (!k) return;
1233
1226
  let R = !1, S = k;
1234
- cr(k) && (R = !0);
1227
+ lr(k) && (R = !0);
1235
1228
  const f = Fn(k);
1236
1229
  if (!f.length) return;
1237
1230
  const L = f.length === 1 && f[0].values.length === 1, F = s.map((U) => U.id).filter((U) => U !== ge), O = (U, M, D) => {
@@ -1263,7 +1256,7 @@ const oa = ({
1263
1256
  for (const te of ee) {
1264
1257
  if (te === "subType" && V) continue;
1265
1258
  const ue = Z[te] || "";
1266
- if (!ar({
1259
+ if (!ir({
1267
1260
  colId: te,
1268
1261
  isFolder: Y,
1269
1262
  pasteValue: ue,
@@ -1273,7 +1266,7 @@ const oa = ({
1273
1266
  rowIndex: U,
1274
1267
  colIndex: ee.indexOf(te),
1275
1268
  isSingleCellValue: L,
1276
- attribFields: m
1269
+ attribFields: g
1277
1270
  })) return;
1278
1271
  }
1279
1272
  }
@@ -1332,7 +1325,7 @@ const oa = ({
1332
1325
  if (!Te || Te.length === 0) continue;
1333
1326
  const Re = Te.map((H, Ce) => ({
1334
1327
  id: cn(),
1335
- name: dr(H.name || H.label || `Subtask ${Ce + 1}`),
1328
+ name: cr(H.name || H.label || `Subtask ${Ce + 1}`),
1336
1329
  label: H.label || "",
1337
1330
  assignees: H.assignees || [],
1338
1331
  description: H.label || "",
@@ -1376,7 +1369,7 @@ const oa = ({
1376
1369
  else if (M === "tags" || M === "assignees")
1377
1370
  V = "array";
1378
1371
  else if (D) {
1379
- const Z = M.replace("attrib_", ""), te = m.find((ue) => ue.name === Z);
1372
+ const Z = M.replace("attrib_", ""), te = g.find((ue) => ue.name === Z);
1380
1373
  if (te)
1381
1374
  switch (te.data.type) {
1382
1375
  case "boolean":
@@ -1423,7 +1416,7 @@ const oa = ({
1423
1416
  let xe = M.split("_").pop() || M;
1424
1417
  if (M === "subType" && (Z === "product" || Z === "version" || (xe = te ? "folderType" : "taskType", D = !1, !ue)))
1425
1418
  continue;
1426
- const pe = rr(ue, V), ke = y(K)?.entityId || K, we = `${K}-${Z}`;
1419
+ const pe = or(ue, V), ke = y(K)?.entityId || K, we = `${K}-${Z}`;
1427
1420
  !le.has(we) && Z && le.set(we, {
1428
1421
  rowId: K,
1429
1422
  id: ke,
@@ -1508,7 +1501,7 @@ const oa = ({
1508
1501
  }
1509
1502
  },
1510
1503
  [
1511
- g,
1504
+ m,
1512
1505
  h,
1513
1506
  e,
1514
1507
  i,
@@ -1516,7 +1509,7 @@ const oa = ({
1516
1509
  n,
1517
1510
  y,
1518
1511
  s,
1519
- m,
1512
+ g,
1520
1513
  P,
1521
1514
  I,
1522
1515
  d
@@ -1528,7 +1521,7 @@ const oa = ({
1528
1521
  const E = document.activeElement, k = E?.closest("table") !== null || E?.closest(".table-container") !== null || E?.tagName === "TD" || E?.tagName === "TH", R = E?.tagName === "INPUT" || E?.tagName === "TEXTAREA" || E?.isContentEditable;
1529
1522
  if ((window.getSelection()?.toString().length ?? !1) && !k || R && !k)
1530
1523
  return;
1531
- g.size > 0 && await p();
1524
+ m.size > 0 && await p();
1532
1525
  }
1533
1526
  if ((u.ctrlKey || u.metaKey) && u.key === "v") {
1534
1527
  const E = document.activeElement;
@@ -1537,7 +1530,7 @@ const oa = ({
1537
1530
  u.preventDefault();
1538
1531
  else
1539
1532
  return;
1540
- $(Array.from(g), {
1533
+ $(Array.from(m), {
1541
1534
  method: u.shiftKey ? "merge" : "replace"
1542
1535
  // Use shift key to determine paste method
1543
1536
  });
@@ -1555,18 +1548,18 @@ const oa = ({
1555
1548
  }),
1556
1549
  [p, $]
1557
1550
  );
1558
- return /* @__PURE__ */ W(Os.Provider, { value: C, children: t });
1559
- }, ra = ({
1551
+ return /* @__PURE__ */ W(Ls.Provider, { value: C, children: t });
1552
+ }, oa = ({
1560
1553
  children: t,
1561
1554
  config: e,
1562
1555
  onChange: n,
1563
1556
  defaultColumnVisibility: o,
1564
1557
  columnIdAliases: s
1565
1558
  }) => {
1566
- const g = Xe.useRef([]), h = Xe.useRef(null), w = Xe.useRef(null), i = Xe.useRef(null), d = Xe.useRef(void 0), a = Xe.useRef(null), [y, m] = Ve(null), [T, b] = Ve(null), [P, I] = Ve(null), r = (N) => {
1567
- g.current = Array.from(new Set(N));
1568
- }, l = () => g.current, p = (N) => {
1569
- const B = g.current, ce = /* @__PURE__ */ new Set([Be, ge]);
1559
+ const m = Xe.useRef([]), h = Xe.useRef(null), w = Xe.useRef(null), i = Xe.useRef(null), d = Xe.useRef(void 0), a = Xe.useRef(null), [y, g] = Ve(null), [T, b] = Ve(null), [P, I] = Ve(null), r = (N) => {
1560
+ m.current = Array.from(new Set(N));
1561
+ }, l = () => m.current, p = (N) => {
1562
+ const B = m.current, ce = /* @__PURE__ */ new Set([Be, ge]);
1570
1563
  if (B.length > 0) {
1571
1564
  const ne = { ...N.columnVisibility };
1572
1565
  B.forEach((Fe) => {
@@ -1579,7 +1572,7 @@ const oa = ({
1579
1572
  );
1580
1573
  } else
1581
1574
  n(N, B);
1582
- }, v = _s(e, s), {
1575
+ }, v = Os(e, s), {
1583
1576
  columnOrder: x = [],
1584
1577
  columnPinning: $ = {},
1585
1578
  columnVisibility: C = {},
@@ -1639,11 +1632,11 @@ const oa = ({
1639
1632
  columnPinning: N
1640
1633
  });
1641
1634
  }, Se = y || c, Ie = (N) => {
1642
- m(N), h.current && clearTimeout(h.current), h.current = setTimeout(() => {
1635
+ g(N), h.current && clearTimeout(h.current), h.current = setTimeout(() => {
1643
1636
  p({
1644
1637
  ...v,
1645
1638
  columnSizing: N
1646
- }), m(null);
1639
+ }), g(null);
1647
1640
  }, 500);
1648
1641
  }, U = (N) => {
1649
1642
  const B = { ...z }, ne = (B.left || []).filter(
@@ -1727,7 +1720,7 @@ const oa = ({
1727
1720
  a.current = ce / ne;
1728
1721
  }
1729
1722
  const B = a.current * N;
1730
- b(N), m({
1723
+ b(N), g({
1731
1724
  ...y || c,
1732
1725
  thumbnail: B
1733
1726
  });
@@ -1736,7 +1729,7 @@ const oa = ({
1736
1729
  ), ke = Xe.useCallback(
1737
1730
  (N) => {
1738
1731
  const ie = (c.thumbnail || 63) / (R || 34) * N;
1739
- b(N), m({
1732
+ b(N), g({
1740
1733
  ...y || c,
1741
1734
  thumbnail: ie
1742
1735
  }), w.current && clearTimeout(w.current), w.current = setTimeout(() => {
@@ -1747,7 +1740,7 @@ const oa = ({
1747
1740
  ...c,
1748
1741
  thumbnail: ie
1749
1742
  }
1750
- }), b(null), m(null), a.current = null;
1743
+ }), b(null), g(null), a.current = null;
1751
1744
  }, 300);
1752
1745
  },
1753
1746
  [
@@ -1777,7 +1770,7 @@ const oa = ({
1777
1770
  wt(B, O) || K(B);
1778
1771
  };
1779
1772
  return /* @__PURE__ */ W(
1780
- Fs.Provider,
1773
+ _s.Provider,
1781
1774
  {
1782
1775
  value: {
1783
1776
  // all columns ref
@@ -1831,14 +1824,14 @@ const oa = ({
1831
1824
  children: t
1832
1825
  }
1833
1826
  );
1834
- }, ia = ({ children: t }) => {
1835
- const [e, n] = Ve(null), o = q((g) => {
1836
- n(g);
1827
+ }, ra = ({ children: t }) => {
1828
+ const [e, n] = Ve(null), o = q((m) => {
1829
+ n(m);
1837
1830
  }, []), s = q(() => {
1838
1831
  n(null);
1839
1832
  }, []);
1840
1833
  return /* @__PURE__ */ W(
1841
- Ns.Provider,
1834
+ Fs.Provider,
1842
1835
  {
1843
1836
  value: {
1844
1837
  selectedEntity: e,
@@ -1848,28 +1841,28 @@ const oa = ({
1848
1841
  children: t
1849
1842
  }
1850
1843
  );
1851
- }, Cr = ({ projectPermissions: t }) => {
1844
+ }, wr = ({ projectPermissions: t }) => {
1852
1845
  const {
1853
1846
  attributes: e,
1854
1847
  isLoading: { siteInfo: n }
1855
- } = bo(), { attrib_read: o, attrib_write: s } = t || {}, { enabled: g, attributes: h } = o || {}, {
1848
+ } = Io(), { attrib_read: o, attrib_write: s } = t || {}, { enabled: m, attributes: h } = o || {}, {
1856
1849
  enabled: w,
1857
1850
  attributes: i,
1858
1851
  fields: d
1859
1852
  } = s || {}, a = w ? d ?? [] : void 0;
1860
- return { attribFields: e.filter((m) => !g || h?.includes(m.name)).map((m) => ({
1861
- ...m,
1862
- readOnly: w ? !i?.includes(m.name) : !1
1853
+ return { attribFields: e.filter((g) => !m || h?.includes(g.name)).map((g) => ({
1854
+ ...g,
1855
+ readOnly: w ? !i?.includes(g.name) : !1
1863
1856
  })), writableFields: a, isLoading: n };
1864
- }, aa = ({ children: t, projectName: e }) => {
1865
- const { isLoading: n, isSuccess: o } = Qe(), { data: s } = fo(
1857
+ }, ia = ({ children: t, projectName: e }) => {
1858
+ const { isLoading: n, isSuccess: o } = Qe(), { data: s } = uo(
1866
1859
  { projectName: e },
1867
1860
  { skip: !e }
1868
- ), { attrib_write: g } = s || {}, {
1861
+ ), { attrib_write: m } = s || {}, {
1869
1862
  attribFields: h,
1870
1863
  writableFields: w,
1871
1864
  isLoading: i
1872
- } = Cr({ projectPermissions: s }), { data: d = [] } = po({ projectName: e }, { skip: !e }), a = d, y = j(() => g ? g.enabled ? !!g.fields?.includes("name") : !0 : !1, [g]), m = j(() => g ? g.enabled ? !!g.fields?.includes("label") : !0 : !1, [g]), T = o && !n && !i, b = j(
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(
1873
1866
  () => ({
1874
1867
  isInitialized: T,
1875
1868
  isLoading: n || i,
@@ -1877,7 +1870,7 @@ const oa = ({
1877
1870
  attribFields: h,
1878
1871
  writableFields: w,
1879
1872
  canWriteNamePermission: y,
1880
- canWriteLabelPermission: m
1873
+ canWriteLabelPermission: g
1881
1874
  }),
1882
1875
  [
1883
1876
  T,
@@ -1887,16 +1880,16 @@ const oa = ({
1887
1880
  h,
1888
1881
  w,
1889
1882
  y,
1890
- m
1883
+ g
1891
1884
  ]
1892
1885
  );
1893
- return /* @__PURE__ */ W(Ms.Provider, { value: b, children: t });
1894
- }, la = ({
1886
+ return /* @__PURE__ */ W(Ns.Provider, { value: b, children: t });
1887
+ }, aa = ({
1895
1888
  children: t,
1896
1889
  updateEntities: e,
1897
1890
  getFoldersTasks: n
1898
1891
  }) => /* @__PURE__ */ W(
1899
- $s.Provider,
1892
+ Ms.Provider,
1900
1893
  {
1901
1894
  value: {
1902
1895
  updateEntities: e,
@@ -1904,8 +1897,8 @@ const oa = ({
1904
1897
  },
1905
1898
  children: t
1906
1899
  }
1907
- ), ca = ({ children: t }) => {
1908
- const { selectedCells: e, gridMap: n, setSelectedCells: o, setFocusedCellId: s, setAnchorCell: g } = Ye();
1900
+ ), la = ({ children: t }) => {
1901
+ const { selectedCells: e, gridMap: n, setSelectedCells: o, setFocusedCellId: s, setAnchorCell: m } = Ye();
1909
1902
  let h;
1910
1903
  try {
1911
1904
  h = Wn().clearSelectedEntity;
@@ -1933,7 +1926,7 @@ const oa = ({
1933
1926
  r.add(_e(l, ge));
1934
1927
  }), o(r), I.length > 0) {
1935
1928
  const l = _e(I[0], ge);
1936
- s(l), g(he(l));
1929
+ s(l), m(he(l));
1937
1930
  }
1938
1931
  }, [n]), y = q(() => {
1939
1932
  o((I) => {
@@ -1942,7 +1935,7 @@ const oa = ({
1942
1935
  he(l)?.colId === ge && r.delete(l);
1943
1936
  }), r;
1944
1937
  });
1945
- }, [o]), m = q(
1938
+ }, [o]), g = q(
1946
1939
  (I) => d.includes(I),
1947
1940
  [d]
1948
1941
  ), T = q(() => {
@@ -1952,11 +1945,11 @@ const oa = ({
1952
1945
  selectedRows: d,
1953
1946
  selectAllRows: a,
1954
1947
  clearRowsSelection: y,
1955
- isRowSelected: m,
1948
+ isRowSelected: g,
1956
1949
  areAllRowsSelected: T,
1957
1950
  areSomeRowsSelected: b
1958
1951
  }), [d, a, T, b, y]);
1959
- return /* @__PURE__ */ W(Vs.Provider, { value: P, children: t });
1952
+ return /* @__PURE__ */ W($s.Provider, { value: P, children: t });
1960
1953
  }, Ut = (t, e, n) => {
1961
1954
  switch (t) {
1962
1955
  case "unique-violation":
@@ -1970,14 +1963,14 @@ const oa = ({
1970
1963
  default:
1971
1964
  return `Failed to update ${e}: ${n}`;
1972
1965
  }
1973
- }, Tr = (t) => {
1966
+ }, Cr = (t) => {
1974
1967
  const { pushHistory: e, removeHistoryEntries: n } = t || {}, { projectName: o } = Qe(), {
1975
1968
  getEntityById: s,
1976
- getInheritedDependents: g,
1969
+ getInheritedDependents: m,
1977
1970
  findInheritedValueFromAncestors: h,
1978
1971
  findNonInheritedValues: w
1979
- } = Ke(), { updateEntities: i } = zs(), d = q(
1980
- async (y = [], m = !0) => {
1972
+ } = Ke(), { updateEntities: i } = Vs(), d = q(
1973
+ async (y = [], g = !0) => {
1981
1974
  if (!y.length || !o)
1982
1975
  return;
1983
1976
  let T = y.filter((x) => !x.isLink);
@@ -1986,7 +1979,7 @@ const oa = ({
1986
1979
  `Cannot change folder type for ${P} folder${P > 1 ? "s" : ""} with published versions`
1987
1980
  ), T = b, !T.length)
1988
1981
  return;
1989
- if (e && m) {
1982
+ if (e && g) {
1990
1983
  const x = T.map(
1991
1984
  ({ rowId: C, id: c, type: u, field: E, isAttrib: k, meta: R, entityData: S }) => {
1992
1985
  const f = s(c) || S;
@@ -2067,7 +2060,7 @@ const oa = ({
2067
2060
  entityId: x.entityId,
2068
2061
  entityType: x.entityType,
2069
2062
  attrib: x.data && "attrib" in x.data ? x.data?.attrib : {}
2070
- })), v = g(l).map((x) => ({
2063
+ })), v = m(l).map((x) => ({
2071
2064
  entityId: x.entityId,
2072
2065
  entityType: x.entityType,
2073
2066
  data: {
@@ -2093,7 +2086,7 @@ const oa = ({
2093
2086
  r.length === 1 ? Ut(void 0, C.entityType, u) : "Failed to update entities"
2094
2087
  );
2095
2088
  }
2096
- e && m && n && n(1);
2089
+ e && g && n && n(1);
2097
2090
  }
2098
2091
  },
2099
2092
  [
@@ -2101,15 +2094,15 @@ const oa = ({
2101
2094
  i,
2102
2095
  //
2103
2096
  s,
2104
- g,
2097
+ m,
2105
2098
  e,
2106
2099
  n
2107
2100
  ]
2108
2101
  ), a = q(
2109
- async (y, m = !0) => {
2102
+ async (y, g = !0) => {
2110
2103
  if (!y.length || !o)
2111
2104
  return;
2112
- if (m && e) {
2105
+ if (g && e) {
2113
2106
  const r = [];
2114
2107
  for (const p of y) {
2115
2108
  const v = s(p.entityId);
@@ -2197,7 +2190,7 @@ const oa = ({
2197
2190
  }
2198
2191
  };
2199
2192
  I.push(x);
2200
- const C = g([
2193
+ const C = m([
2201
2194
  { entityId: r.entityId, entityType: l, attrib: v }
2202
2195
  ]).map((c) => ({
2203
2196
  entityId: c.entityId,
@@ -2248,32 +2241,32 @@ const oa = ({
2248
2241
  b.length === 1 ? Ut(void 0, p.entityType, x) : "Failed to update entities"
2249
2242
  );
2250
2243
  }
2251
- m && e && n && n(1);
2244
+ g && e && n && n(1);
2252
2245
  }
2253
2246
  },
2254
2247
  [
2255
2248
  o,
2256
2249
  i,
2257
- g,
2250
+ m,
2258
2251
  h,
2259
2252
  e,
2260
2253
  n
2261
2254
  ]
2262
2255
  );
2263
2256
  return { updateEntities: d, inheritFromParent: a };
2264
- }, Sr = ({ onSuccess: t }) => {
2265
- const { projectName: e } = Qe(), { getEntityById: n } = Ke(), { deleteEntities: o } = wo();
2257
+ }, Tr = ({ onSuccess: t }) => {
2258
+ const { projectName: e } = Qe(), { getEntityById: n } = Ke(), { deleteEntities: o } = bo();
2266
2259
  return q(
2267
2260
  async (s) => {
2268
2261
  if (!s || s.length === 0) {
2269
2262
  Le.error("No entities selected");
2270
2263
  return;
2271
2264
  }
2272
- const g = /* @__PURE__ */ new Set(), h = [];
2265
+ const m = /* @__PURE__ */ new Set(), h = [];
2273
2266
  for (const w of s) {
2274
2267
  const i = n(w);
2275
- if (!i || g.has(i.id)) continue;
2276
- g.add(i.id);
2268
+ if (!i || m.has(i.id)) continue;
2269
+ m.add(i.id);
2277
2270
  const d = i.entityType || ("folderId" in i ? "task" : "folder");
2278
2271
  h.push({
2279
2272
  id: i.id,
@@ -2295,25 +2288,25 @@ const oa = ({
2295
2288
  },
2296
2289
  [n, e, o, t]
2297
2290
  );
2298
- }, vr = ({
2291
+ }, Sr = ({
2299
2292
  attribs: t,
2300
2293
  headerLabels: e = [],
2301
2294
  onOpenNew: n,
2302
2295
  contextMenuItems: o
2303
2296
  }) => {
2304
2297
  const { projectName: s } = Qe(), {
2305
- showHierarchy: g,
2298
+ showHierarchy: m,
2306
2299
  getEntityById: h,
2307
2300
  toggleExpandAll: w,
2308
2301
  toggleExpands: i,
2309
2302
  expanded: d,
2310
2303
  contextMenuItems: a = [],
2311
2304
  powerpack: y,
2312
- onOpenPlayer: m
2305
+ onOpenPlayer: g
2313
2306
  } = Ke(), T = j(
2314
2307
  () => [...a, ...o || []],
2315
2308
  [a, o]
2316
- ), 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) => {
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) => {
2317
2310
  const { rowId: V, colId: G } = he(Y) || {};
2318
2311
  if (!V || !G || !G.startsWith("attrib_")) return D;
2319
2312
  const K = h(V);
@@ -2370,11 +2363,11 @@ const oa = ({
2370
2363
  icon: "play_circle",
2371
2364
  shortcut: "Spacebar",
2372
2365
  command: () => {
2373
- if (m) {
2366
+ if (g) {
2374
2367
  const G = h(D.entityId);
2375
2368
  if (G) {
2376
2369
  const K = mn(G);
2377
- m(K, { quickView: !0 });
2370
+ g(K, { quickView: !0 });
2378
2371
  }
2379
2372
  }
2380
2373
  },
@@ -2423,7 +2416,7 @@ const oa = ({
2423
2416
  },
2424
2417
  hidden: D.columnId !== "name" || D.isGroup
2425
2418
  }), z = (M, D, Y, V) => {
2426
- const G = f(V.selectedCells), K = G.length > 0 && g && !(V.selectedRows.length > 1 && V.selectedColumns.length > 1);
2419
+ const G = f(V.selectedCells), K = G.length > 0 && m && !(V.selectedRows.length > 1 && V.selectedColumns.length > 1);
2427
2420
  return {
2428
2421
  label: "Inherit from parent",
2429
2422
  icon: "disabled_by_default",
@@ -2467,7 +2460,7 @@ const oa = ({
2467
2460
  label: ct.folder.createLabel,
2468
2461
  icon: ct.folder.icon,
2469
2462
  command: () => {
2470
- g ? le("folder", D, V.selectedRows) : n?.("folder");
2463
+ m ? le("folder", D, V.selectedRows) : n?.("folder");
2471
2464
  },
2472
2465
  hidden: D.columnId !== "name" || !n
2473
2466
  },
@@ -2564,34 +2557,34 @@ const oa = ({
2564
2557
  );
2565
2558
  S(M, Re);
2566
2559
  } };
2567
- }, Er = (t) => {
2560
+ }, vr = (t) => {
2568
2561
  const {
2569
2562
  expanded: e,
2570
2563
  expandedParentIds: n,
2571
2564
  selectedFolders: o,
2572
2565
  excludeSelectedFolders: s,
2573
- getFolderById: g,
2566
+ getFolderById: m,
2574
2567
  showHierarchy: h
2575
2568
  } = t, w = e, i = /* @__PURE__ */ new Map(), d = (a) => {
2576
2569
  if (i.has(a)) return i.get(a);
2577
- const y = g(a);
2570
+ const y = m(a);
2578
2571
  if (!y)
2579
2572
  return i.set(a, !1), !1;
2580
- const m = y.parentId;
2581
- if (s ? o.includes(m) : o.includes(a))
2573
+ const g = y.parentId;
2574
+ if (s ? o.includes(g) : o.includes(a))
2582
2575
  return i.set(a, !0), !0;
2583
- if (!m) {
2576
+ if (!g) {
2584
2577
  const b = o.length === 0;
2585
2578
  return i.set(a, b), b;
2586
2579
  }
2587
2580
  if (h) {
2588
- const b = w[m] === !0 && d(m);
2581
+ const b = w[g] === !0 && d(g);
2589
2582
  return i.set(a, b), b;
2590
2583
  } else
2591
2584
  return !0;
2592
2585
  };
2593
2586
  return n.filter((a) => d(a));
2594
- }, xr = 1e3, kr = 400, Rr = 100, Mn = (t = 1) => Math.max(Rr, Math.min(kr, Math.round(xr / t))), Pr = ({
2587
+ }, Er = 1e3, xr = 400, kr = 100, Mn = (t = 1) => Math.max(kr, Math.min(xr, Math.round(Er / t))), Rr = ({
2595
2588
  groups: t = [],
2596
2589
  filters: e = { conditions: [] },
2597
2590
  groupBy: n,
@@ -2599,28 +2592,28 @@ const oa = ({
2599
2592
  dataType: s
2600
2593
  }) => {
2601
2594
  if (!t.length) return [];
2602
- const g = !!s?.startsWith("list_of_"), h = e.conditions || [], w = t.map((a) => {
2595
+ const m = !!s?.startsWith("list_of_"), h = e.conditions || [], w = t.map((a) => {
2603
2596
  const y = {
2604
2597
  key: n.id,
2605
2598
  value: [a.value],
2606
- operator: g ? "includesany" : "in"
2607
- }, m = o[a.value] || 1;
2599
+ operator: m ? "includesany" : "in"
2600
+ }, g = o[a.value] || 1;
2608
2601
  return {
2609
2602
  value: a.value,
2610
- count: Mn(t.length) * m,
2603
+ count: Mn(t.length) * g,
2611
2604
  filter: JSON.stringify({ ...e, conditions: [...h, y] })
2612
2605
  };
2613
2606
  }), i = {
2614
2607
  key: n.id,
2615
2608
  value: t.map((a) => a.value),
2616
- operator: g ? "excludesany" : "notin"
2609
+ operator: m ? "excludesany" : "notin"
2617
2610
  }, d = {
2618
2611
  value: xn,
2619
2612
  count: Mn() * (o[xn] || 1),
2620
2613
  filter: JSON.stringify({ ...e, conditions: [...h, i] })
2621
2614
  };
2622
2615
  return [...w, d];
2623
- }, Ar = 300, da = ({
2616
+ }, Pr = 300, ca = ({
2624
2617
  projectName: t,
2625
2618
  selectedFolders: e,
2626
2619
  // comes from the slicer
@@ -2628,14 +2621,14 @@ const oa = ({
2628
2621
  taskIds: o,
2629
2622
  // specific task IDs from entity list slicer
2630
2623
  taskFilters: s,
2631
- folderFilters: g,
2624
+ folderFilters: m,
2632
2625
  sorting: h,
2633
2626
  groupBy: w,
2634
2627
  taskGroups: i = [],
2635
2628
  taskGroupsCount: d,
2636
2629
  expanded: a,
2637
2630
  showHierarchy: y,
2638
- isFlatFolderView: m = !1,
2631
+ isFlatFolderView: g = !1,
2639
2632
  attribFields: T,
2640
2633
  modules: b,
2641
2634
  skipLinks: P,
@@ -2655,8 +2648,8 @@ const oa = ({
2655
2648
  isUninitialized: R,
2656
2649
  getFolderById: S,
2657
2650
  getFolderIdsWithoutChildren: f
2658
- } = Co(), L = Object.entries(a).filter(([, X]) => X).filter(([X]) => !ln(X)).map(([X]) => X), F = j(
2659
- () => Er({
2651
+ } = wo(), L = Object.entries(a).filter(([, X]) => X).filter(([X]) => !ln(X)).map(([X]) => X), F = j(
2652
+ () => vr({
2660
2653
  expanded: a,
2661
2654
  expandedParentIds: L,
2662
2655
  selectedFolders: e,
@@ -2673,20 +2666,20 @@ const oa = ({
2673
2666
  y
2674
2667
  ]
2675
2668
  ), [O, _] = Ve(p), A = j(
2676
- () => vo((X) => _(X), Ar),
2669
+ () => So((X) => _(X), Pr),
2677
2670
  []
2678
2671
  );
2679
2672
  Ue(() => (A(p), () => A.cancel()), [p, A]);
2680
2673
  const z = j(() => {
2681
- if (!y || m)
2674
+ if (!y || g)
2682
2675
  return F;
2683
2676
  const X = new Set(O);
2684
2677
  return F.filter((ye) => X.has(ye));
2685
- }, [F, y, m, O]), J = {
2678
+ }, [F, y, g, O]), J = {
2686
2679
  projectName: t,
2687
2680
  parentIds: z,
2688
2681
  filter: s.filterString,
2689
- folderFilter: g.filterString,
2682
+ folderFilter: m.filterString,
2690
2683
  search: s.search,
2691
2684
  showComments: I
2692
2685
  }, {
@@ -2694,13 +2687,13 @@ const oa = ({
2694
2687
  isFetching: le,
2695
2688
  error: oe,
2696
2689
  isUninitialized: me
2697
- } = go(J, {
2698
- skip: r || !z.length || !y && !m
2699
- }), Ee = !s.filterString && !g.filterString && !s.search && !g.search || !E.length || !y && !m, Se = {
2690
+ } = po(J, {
2691
+ skip: r || !z.length || !y && !g
2692
+ }), Ee = !s.filterString && !m.filterString && !s.search && !m.search || !E.length || !y && !g, Se = {
2700
2693
  projectName: t,
2701
2694
  folderSearchRequest: {
2702
2695
  taskFilter: s.filter?.conditions?.length ? s.filter : void 0,
2703
- folderFilter: g.filter?.conditions?.length ? g.filter : void 0,
2696
+ folderFilter: m.filter?.conditions?.length ? m.filter : void 0,
2704
2697
  search: s.search
2705
2698
  }
2706
2699
  }, {
@@ -2709,7 +2702,7 @@ const oa = ({
2709
2702
  isLoading: M,
2710
2703
  isUninitialized: D,
2711
2704
  error: Y
2712
- } = mo(Se, {
2705
+ } = go(Se, {
2713
2706
  skip: r || Ee
2714
2707
  }), V = j(() => {
2715
2708
  const X = /* @__PURE__ */ new Set(), ye = /* @__PURE__ */ new Set();
@@ -2758,7 +2751,7 @@ const oa = ({
2758
2751
  const De = fe.get(de);
2759
2752
  De && De.parentId && (se.add(De.parentId), ae(De.parentId));
2760
2753
  };
2761
- if (!m) {
2754
+ if (!g) {
2762
2755
  const de = [...se];
2763
2756
  for (const De of de)
2764
2757
  ae(De);
@@ -2774,7 +2767,7 @@ const oa = ({
2774
2767
  const De = ae.path, it = se.includes(De);
2775
2768
  (se.some(
2776
2769
  (Qt) => De.startsWith(Qt + "/")
2777
- ) || it && (!n || m)) && fe.set(de, ye(ae));
2770
+ ) || it && (!n || g)) && fe.set(de, ye(ae));
2778
2771
  }), fe;
2779
2772
  }
2780
2773
  return X;
@@ -2785,8 +2778,8 @@ const oa = ({
2785
2778
  e,
2786
2779
  n,
2787
2780
  K,
2788
- m
2789
- ]), xe = j(() => le ? er({
2781
+ g
2782
+ ]), xe = j(() => le ? Zo({
2790
2783
  expandedFoldersTasks: ee,
2791
2784
  expandedParentIds: L,
2792
2785
  foldersMap: ue
@@ -2794,9 +2787,9 @@ const oa = ({
2794
2787
  Ue(() => {
2795
2788
  pe && ve("");
2796
2789
  }, [h, pe]);
2797
- const { sortBy: ke, desc: we } = ko(
2790
+ const { sortBy: ke, desc: we } = xo(
2798
2791
  h.map((X) => ({
2799
- key: Us(X.id, y, "task")?.replace("_", "."),
2792
+ key: Bs(X.id, y, "task")?.replace("_", "."),
2800
2793
  desc: X.desc
2801
2794
  }))
2802
2795
  ), Te = e.length ? Array.from(
@@ -2810,7 +2803,7 @@ const oa = ({
2810
2803
  }, N = {
2811
2804
  projectName: t,
2812
2805
  filter: s.filterString,
2813
- folderFilter: g.filterString,
2806
+ folderFilter: m.filterString,
2814
2807
  search: s.search,
2815
2808
  folderIds: Ce(),
2816
2809
  taskIds: o?.length ? o : void 0,
@@ -2826,18 +2819,18 @@ const oa = ({
2826
2819
  hasNextPage: Ae,
2827
2820
  isFetchingNextPage: Fe,
2828
2821
  isUninitialized: ze
2829
- } = yo(N, {
2822
+ } = mo(N, {
2830
2823
  // Skip flat task list for flat folder view (tasks loaded on folder expand).
2831
2824
  // In hierarchy+slicer mode, run it to fetch tasks under selected-but-hidden folders.
2832
2825
  // Always run it when entity list provides specific task IDs.
2833
- skip: r || (y && !H || m) && !o?.length,
2826
+ skip: r || (y && !H || g) && !o?.length,
2834
2827
  initialPageParam: {
2835
2828
  cursor: "",
2836
2829
  desc: we
2837
2830
  }
2838
- }), Me = j(() => B?.pages ? B.pages.flatMap((X) => X.tasks || []) : [], [B?.pages]), { pageCounts: vt, incrementPageCount: Et } = Yo({
2831
+ }), Me = j(() => B?.pages ? B.pages.flatMap((X) => X.tasks || []) : [], [B?.pages]), { pageCounts: vt, incrementPageCount: Et } = Xo({
2839
2832
  groups: i
2840
- }), 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({
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({
2841
2834
  groups: i,
2842
2835
  // @ts-expect-error: filter is the same
2843
2836
  filters: s.filter,
@@ -2857,7 +2850,7 @@ const oa = ({
2857
2850
  sortBy: ke,
2858
2851
  desc: we,
2859
2852
  search: s.search,
2860
- folderFilter: g.filterString,
2853
+ folderFilter: m.filterString,
2861
2854
  folderIds: Te,
2862
2855
  groupCount: d,
2863
2856
  showComments: I
@@ -2865,13 +2858,13 @@ const oa = ({
2865
2858
  data: { tasks: Pt = [] } = {},
2866
2859
  isUninitialized: pt,
2867
2860
  error: st
2868
- } = ho(Rt, {
2861
+ } = yo(Rt, {
2869
2862
  skip: r || !w || !ft.length || u
2870
- }), ot = j(() => o?.length ? Me : m ? ee : y ? H ? [...ee, ...Me] : ee : w ? Pt : Me, [
2863
+ }), ot = j(() => o?.length ? Me : g ? ee : y ? H ? [...ee, ...Me] : ee : w ? Pt : Me, [
2871
2864
  o,
2872
2865
  y,
2873
2866
  H,
2874
- m,
2867
+ g,
2875
2868
  w,
2876
2869
  Me,
2877
2870
  ee,
@@ -2963,13 +2956,13 @@ const oa = ({
2963
2956
  }), (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(
2964
2957
  ae.map(
2965
2958
  ({ endpointName: de, args: De }) => c(
2966
- Qo(de, De, {
2959
+ qo(de, De, {
2967
2960
  refreshOtherActiveQueries: !1
2968
2961
  })
2969
2962
  ).unwrap()
2970
2963
  )
2971
2964
  ), ae.map(
2972
- ({ endpointName: de, args: De }) => c(Xo(de, De))
2965
+ ({ endpointName: de, args: De }) => c(Qo(de, De))
2973
2966
  );
2974
2967
  }, _t = ne || Y || st, Ft = j(() => {
2975
2968
  if (oe && l)
@@ -2996,17 +2989,17 @@ const oa = ({
2996
2989
  fetchNextPage: Lt,
2997
2990
  onSyncData: rt
2998
2991
  };
2999
- }, Dr = ({
2992
+ }, Ar = ({
3000
2993
  queryFilters: t,
3001
2994
  sliceFilter: e,
3002
2995
  sliceFilters: n,
3003
2996
  config: { searchKey: o } = {}
3004
2997
  }) => {
3005
2998
  let s = t;
3006
- const g = [e, ...n || []];
3007
- for (const a of g) {
2999
+ const m = [e, ...n || []];
3000
+ for (const a of m) {
3008
3001
  if (!a?.values?.length) continue;
3009
- const y = Ko([a]);
3002
+ const y = jo([a]);
3010
3003
  y.conditions?.length && (s = {
3011
3004
  conditions: [...s?.conditions || [], ...y.conditions],
3012
3005
  operator: "and"
@@ -3014,9 +3007,9 @@ const oa = ({
3014
3007
  }
3015
3008
  let h = t, w = "";
3016
3009
  if (s?.conditions?.length) {
3017
- const a = [], y = s.conditions.filter((m) => {
3018
- const T = m;
3019
- if (T.key === lo) {
3010
+ const a = [], y = s.conditions.filter((g) => {
3011
+ const T = g;
3012
+ if (T.key === ao) {
3020
3013
  const b = T.value;
3021
3014
  return b != null && String(b).trim() !== "" && a.push(String(b)), !1;
3022
3015
  }
@@ -3038,7 +3031,7 @@ const oa = ({
3038
3031
  });
3039
3032
  w = a.join(", "), s = y.length ? { ...s, conditions: y } : { ...s, conditions: [] };
3040
3033
  }
3041
- const i = s?.conditions?.length ? rs(qo(s)) : s;
3034
+ const i = s?.conditions?.length ? os(Ko(s)) : s;
3042
3035
  return {
3043
3036
  filterString: i?.conditions?.length ? JSON.stringify(i) : "",
3044
3037
  filter: i,
@@ -3046,51 +3039,51 @@ const oa = ({
3046
3039
  combinedFilters: i,
3047
3040
  displayFilters: h
3048
3041
  };
3049
- }, ua = (t) => {
3042
+ }, da = (t) => {
3050
3043
  const { queryFilters: e, sliceFilter: n, sliceFilters: o } = t;
3051
- return j(() => Dr(t), [e, n, o]);
3052
- }, fa = ({ foldersMap: t, tasksMap: e }) => j(() => {
3044
+ return j(() => Ar(t), [e, n, o]);
3045
+ }, ua = ({ foldersMap: t, tasksMap: e }) => j(() => {
3053
3046
  const n = /* @__PURE__ */ new Map();
3054
3047
  return t.forEach((o) => {
3055
3048
  n.set(o.id, o);
3056
3049
  }), e.forEach((o) => {
3057
3050
  n.set(o.id, o);
3058
3051
  }), n;
3059
- }, [t, e]), ss = "0".repeat(32), pa = (t, e, n) => {
3052
+ }, [t, e]), ns = "0".repeat(32), fa = (t, e, n) => {
3060
3053
  if (!n || !t.length) return t;
3061
3054
  const o = t.filter((s) => {
3062
- const g = e[s];
3063
- return !g || n.has(g);
3055
+ const m = e[s];
3056
+ return !m || n.has(m);
3064
3057
  });
3065
- return o.length ? o : [ss];
3066
- }, Lr = (t, e, n) => {
3067
- const o = t.find((a) => a.sliceType === "hierarchy"), s = t.find((a) => a.sliceType === "entityList"), g = Object.entries(o?.rowSelection || {}).filter(([, a]) => a).map(([a]) => a);
3058
+ return o.length ? o : [ns];
3059
+ }, Dr = (t, e, n) => {
3060
+ 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);
3068
3061
  if (!(!!s && Object.entries(s.rowSelection).some(([a, y]) => y && !a.startsWith("folder-"))))
3069
- return { selectedFolders: g, folderScope: null, listPanelSelected: !1 };
3070
- const w = e?.length ? e : [], i = g.length && n ? new Set(n(g, !0)) : null;
3062
+ return { selectedFolders: m, folderScope: null, listPanelSelected: !1 };
3063
+ const w = e?.length ? e : [], i = m.length && n ? new Set(n(m, !0)) : null;
3071
3064
  let d = w;
3072
3065
  if (i) {
3073
3066
  const a = n && w.length ? new Set(n(w, !0)) : new Set(w);
3074
3067
  d = [
3075
3068
  .../* @__PURE__ */ new Set([
3076
3069
  ...w.filter((y) => i.has(y)),
3077
- ...g.filter((y) => a.has(y))
3070
+ ...m.filter((y) => a.has(y))
3078
3071
  ])
3079
3072
  ];
3080
3073
  }
3081
3074
  return {
3082
- selectedFolders: d.length ? d : [ss],
3075
+ selectedFolders: d.length ? d : [ns],
3083
3076
  folderScope: i,
3084
3077
  listPanelSelected: !0
3085
3078
  };
3086
- }, ga = ({
3079
+ }, pa = ({
3087
3080
  slices: t,
3088
3081
  entityListFolderIds: e,
3089
3082
  getChildFolderIds: n
3090
3083
  }) => j(
3091
- () => Lr(t, e, n),
3084
+ () => Dr(t, e, n),
3092
3085
  [t, e, n]
3093
- ), ma = ({
3086
+ ), ga = ({
3094
3087
  attribFields: t,
3095
3088
  allowedScopes: e = ["task", "folder"]
3096
3089
  }) => j(
@@ -3098,17 +3091,17 @@ const oa = ({
3098
3091
  (n) => e.some((o) => n.scope?.includes(o))
3099
3092
  ),
3100
3093
  [t, e]
3101
- ), ya = ({ expanded: t, setExpanded: e }) => {
3094
+ ), ma = ({ expanded: t, setExpanded: e }) => {
3102
3095
  const n = q(
3103
- (g) => {
3104
- e(Ct(g, t));
3096
+ (m) => {
3097
+ e(Ct(m, t));
3105
3098
  },
3106
3099
  [t, e]
3107
- ), o = Object.entries(t).filter(([, g]) => g).map(([g]) => g), s = q(
3108
- (g) => {
3100
+ ), o = Object.entries(t).filter(([, m]) => m).map(([m]) => m), s = q(
3101
+ (m) => {
3109
3102
  typeof t != "boolean" && e({
3110
3103
  ...t,
3111
- [g]: !t[g]
3104
+ [m]: !t[m]
3112
3105
  });
3113
3106
  },
3114
3107
  [t, e]
@@ -3118,17 +3111,17 @@ const oa = ({
3118
3111
  toggleExpanded: s,
3119
3112
  expandedIds: o
3120
3113
  };
3121
- }, Or = ({
3114
+ }, Lr = ({
3122
3115
  selectedCells: t,
3123
3116
  setSelectedCells: e,
3124
3117
  focusedCellId: n,
3125
3118
  setFocusedCellId: o
3126
3119
  }) => {
3127
- const { getEntityById: s, isLoading: g } = Ke(), h = je(!0);
3120
+ const { getEntityById: s, isLoading: m } = Ke(), h = je(!0);
3128
3121
  Ue(() => (h.current = !0, () => {
3129
3122
  h.current = !1;
3130
3123
  }), []), Ue(() => {
3131
- if (g) return;
3124
+ if (m) return;
3132
3125
  if (h.current) {
3133
3126
  const i = setTimeout(() => {
3134
3127
  h.current = !1;
@@ -3144,11 +3137,11 @@ const oa = ({
3144
3137
  i.delete(d);
3145
3138
  e(i), w.has(n || "") && o(null);
3146
3139
  }
3147
- }, [s, t, n, e, o, g]);
3148
- }, _r = (t) => {
3149
- const { updateGroupBy: e } = nt(), { attribFields: n, scopes: o } = Ke(), s = t.startsWith("attrib_"), g = s ? t.replace("attrib_", "") : void 0, h = j(
3150
- () => s ? n.find((y) => y.name === g) : void 0,
3151
- [n, s, g]
3140
+ }, [s, t, n, e, o, m]);
3141
+ }, Or = (t) => {
3142
+ const { updateGroupBy: e } = nt(), { attribFields: n, scopes: o } = Ke(), s = t.startsWith("attrib_"), m = s ? t.replace("attrib_", "") : void 0, h = j(
3143
+ () => s ? n.find((y) => y.name === m) : void 0,
3144
+ [n, s, m]
3152
3145
  ), w = j(() => {
3153
3146
  if (t.startsWith("attrib_")) return "attrib." + t.replace("attrib_", "");
3154
3147
  if (t === "subType") {
@@ -3158,7 +3151,7 @@ const oa = ({
3158
3151
  return "productType";
3159
3152
  }
3160
3153
  if (["status", "assignees", "tags", "taskType"].includes(t)) return t;
3161
- }, [t]), i = j(() => w ? s ? !!h && Po(h, "task") : !0 : !1, [h, s, w]), d = j(() => s ? h?.data.title || h?.name || g || "Attribute" : t === "status" ? "Status" : t === "subType" ? "Type" : t === "assignees" ? "Assignees" : t === "tags" ? "Tags" : "Column", [h, g, t, s]), a = q(() => {
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(() => {
3162
3155
  w && e({ id: w, desc: !1 });
3163
3156
  }, [w, e]);
3164
3157
  return {
@@ -3167,13 +3160,13 @@ const oa = ({
3167
3160
  groupLabel: d,
3168
3161
  groupBySelectedColumn: a
3169
3162
  };
3170
- }, ha = ({ children: t }) => {
3171
- const [e, n] = Ve(/* @__PURE__ */ new Set()), [o, s] = Ve(null), [g, h] = Ve(!1), [w, i] = Ve(null), [d, a] = Ve({
3163
+ }, ya = ({ children: t }) => {
3164
+ const [e, n] = Ve(/* @__PURE__ */ new Set()), [o, s] = Ve(null), [m, h] = Ve(!1), [w, i] = Ve(null), [d, a] = Ve({
3172
3165
  rowIdToIndex: /* @__PURE__ */ new Map(),
3173
3166
  colIdToIndex: /* @__PURE__ */ new Map(),
3174
3167
  indexToRowId: /* @__PURE__ */ new Map(),
3175
3168
  indexToColId: /* @__PURE__ */ new Map()
3176
- }), y = (f) => JSON.stringify(Array.from(f.entries())), m = j(
3169
+ }), y = (f) => JSON.stringify(Array.from(f.entries())), g = j(
3177
3170
  () => d,
3178
3171
  [
3179
3172
  y(d.rowIdToIndex),
@@ -3187,7 +3180,7 @@ const oa = ({
3187
3180
  ).map((f) => he(f)?.rowId),
3188
3181
  [e]
3189
3182
  );
3190
- Or({
3183
+ Lr({
3191
3184
  selectedCells: e,
3192
3185
  setSelectedCells: n,
3193
3186
  focusedCellId: o,
@@ -3214,18 +3207,18 @@ const oa = ({
3214
3207
  }, []), l = q(
3215
3208
  (f, L, F) => {
3216
3209
  F || r(/* @__PURE__ */ new Set(), f);
3217
- const O = m.rowIdToIndex.get(f.rowId) ?? 0, _ = m.colIdToIndex.get(f.colId) ?? 0, A = m.rowIdToIndex.get(L.rowId) ?? 0, z = m.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 : []);
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 : []);
3218
3211
  for (let Ee = J; Ee <= ee; Ee++) {
3219
- const Se = m.indexToRowId.get(Ee);
3212
+ const Se = g.indexToRowId.get(Ee);
3220
3213
  if (Se)
3221
3214
  for (let Ie = le; Ie <= oe; Ie++) {
3222
- const U = m.indexToColId.get(Ie);
3215
+ const U = g.indexToColId.get(Ie);
3223
3216
  U && me.add(_e(Se, U));
3224
3217
  }
3225
3218
  }
3226
3219
  return me;
3227
3220
  },
3228
- [m, e, r]
3221
+ [g, e, r]
3229
3222
  ), p = q(
3230
3223
  (f, L) => {
3231
3224
  const F = he(f);
@@ -3237,7 +3230,7 @@ const oa = ({
3237
3230
  [e, o, r]
3238
3231
  ), v = q(
3239
3232
  (f, L) => {
3240
- if (!g || !w) return;
3233
+ if (!m || !w) return;
3241
3234
  const F = he(f);
3242
3235
  if (F)
3243
3236
  if (L)
@@ -3255,7 +3248,7 @@ const oa = ({
3255
3248
  r(O, F);
3256
3249
  }
3257
3250
  },
3258
- [g, w, l, r]
3251
+ [m, w, l, r]
3259
3252
  ), x = q(() => {
3260
3253
  h(!1);
3261
3254
  }, []), $ = q(
@@ -3280,21 +3273,21 @@ const oa = ({
3280
3273
  if (!u(f)) return [];
3281
3274
  const L = he(f);
3282
3275
  if (!L) return [];
3283
- const F = m.rowIdToIndex.get(L.rowId), O = m.colIdToIndex.get(L.colId);
3276
+ const F = g.rowIdToIndex.get(L.rowId), O = g.colIdToIndex.get(L.colId);
3284
3277
  if (F === void 0 || O === void 0) return [];
3285
- const _ = m.indexToRowId.get(F - 1), A = m.indexToColId.get(O + 1), z = m.indexToRowId.get(F + 1), J = m.indexToColId.get(O - 1);
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);
3286
3279
  let ee = bt.None;
3287
- 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), Gs(ee);
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);
3288
3281
  },
3289
- [e, m, u]
3282
+ [e, g, u]
3290
3283
  ), S = j(
3291
3284
  () => ({
3292
3285
  selectedCells: e,
3293
3286
  selectedRows: b,
3294
3287
  focusedCellId: o,
3295
- selectionInProgress: g,
3288
+ selectionInProgress: m,
3296
3289
  anchorCell: w,
3297
- gridMap: m,
3290
+ gridMap: g,
3298
3291
  setSelectedCells: n,
3299
3292
  setFocusedCellId: s,
3300
3293
  setAnchorCell: i,
@@ -3314,9 +3307,9 @@ const oa = ({
3314
3307
  e,
3315
3308
  b,
3316
3309
  o,
3317
- g,
3318
- w,
3319
3310
  m,
3311
+ w,
3312
+ g,
3320
3313
  n,
3321
3314
  s,
3322
3315
  i,
@@ -3333,11 +3326,11 @@ const oa = ({
3333
3326
  R
3334
3327
  ]
3335
3328
  );
3336
- return /* @__PURE__ */ W(Ws.Provider, { value: S, children: t });
3337
- }, 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 = {
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 = {
3338
3331
  primary: "folders",
3339
3332
  secondary: "tasks"
3340
- }, Fr = [
3333
+ }, _r = [
3341
3334
  "invalid path",
3342
3335
  "invalid key",
3343
3336
  "invalid value",
@@ -3348,11 +3341,11 @@ const oa = ({
3348
3341
  "value type in list",
3349
3342
  "empty path",
3350
3343
  "json filter error"
3351
- ], Nr = (t) => (t?.filter?.conditions ?? []).length > 0 || !!t?.search, Mr = (t, e) => {
3344
+ ], Fr = (t) => (t?.filter?.conditions ?? []).length > 0 || !!t?.search, Nr = (t, e) => {
3352
3345
  if (!t) return !1;
3353
3346
  const n = qn(t).toLowerCase();
3354
- return Fr.some((o) => n.includes(o)) ? !0 : Nr(e);
3355
- }, $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) => {
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) => {
3356
3349
  switch (t) {
3357
3350
  case "boolean":
3358
3351
  return !1;
@@ -3378,56 +3371,56 @@ const oa = ({
3378
3371
  [t.entityType + "Id"]: t.entityId
3379
3372
  };
3380
3373
  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;
3381
- }, jt = "__", zr = (t) => `${jt}${t}`, Ra = (t, e) => `${t}${zr(e)}`, os = (t) => {
3374
+ }, jt = "__", Vr = (t) => `${jt}${t}`, ka = (t, e) => `${t}${Vr(e)}`, ss = (t) => {
3382
3375
  const e = t.lastIndexOf(jt);
3383
3376
  if (e === -1)
3384
3377
  return null;
3385
3378
  const n = t.slice(0, e), o = t.slice(e + jt.length);
3386
3379
  return { entityId: n, type: o };
3387
- }, Pa = (t) => t.includes(jt) && os(t) !== null, Aa = (t, e) => os(t)?.type === e, Br = (t) => "key" in t, rs = (t) => ({
3380
+ }, Ra = (t) => t.includes(jt) && ss(t) !== null, Pa = (t, e) => ss(t)?.type === e, zr = (t) => "key" in t, os = (t) => ({
3388
3381
  ...t,
3389
3382
  conditions: t.conditions?.map((e) => {
3390
- if (!Br(e)) return rs(e);
3383
+ if (!zr(e)) return os(e);
3391
3384
  if ((e.operator === "isnull" || e.operator === "notnull") && e.value == null) {
3392
3385
  const { value: n, ...o } = e;
3393
3386
  return o;
3394
3387
  }
3395
3388
  return e;
3396
3389
  })
3397
- }), Ur = (t = 50) => {
3398
- const [e, n] = Ve([]), [o, s] = Ve([]), g = q(
3399
- (y, m) => {
3390
+ }), Br = (t = 50) => {
3391
+ const [e, n] = Ve([]), [o, s] = Ve([]), m = q(
3392
+ (y, g) => {
3400
3393
  y.length && (n((T) => {
3401
- const b = [...T, { undo: y, redo: m, timestamp: Date.now() }];
3394
+ const b = [...T, { undo: y, redo: g, timestamp: Date.now() }];
3402
3395
  return b.length > t ? b.slice(b.length - t) : b;
3403
3396
  }), s([]));
3404
3397
  },
3405
3398
  [t]
3406
3399
  ), h = (y) => y.reduce(
3407
- (m, T) => (typeof T == "function" ? m[2].push(T) : T.wasInherited ? m[1].push({
3400
+ (g, T) => (typeof T == "function" ? g[2].push(T) : T.wasInherited ? g[1].push({
3408
3401
  entityId: T.id,
3409
3402
  entityType: T.type,
3410
3403
  folderId: T.folderId,
3411
3404
  attribs: [T.field],
3412
3405
  ownAttrib: T.ownAttrib,
3413
3406
  rowId: T.rowId
3414
- }) : m[0].push(T), m),
3407
+ }) : g[0].push(T), g),
3415
3408
  [[], [], []]
3416
3409
  ), w = q(() => {
3417
3410
  if (e.length === 0) return null;
3418
- const y = [...e], m = y.pop();
3419
- return n(y), m.redo && s((T) => [...T, m]), h(m.undo);
3411
+ const y = [...e], g = y.pop();
3412
+ return n(y), g.redo && s((T) => [...T, g]), h(g.undo);
3420
3413
  }, [e]), i = q(() => {
3421
3414
  if (o.length === 0) return null;
3422
- const y = [...o], m = y.pop();
3423
- return s(y), n((T) => [...T, m]), m.redo ? h(m.redo) : null;
3415
+ const y = [...o], g = y.pop();
3416
+ return s(y), n((T) => [...T, g]), g.redo ? h(g.redo) : null;
3424
3417
  }, [o]), d = q((y) => {
3425
- n((m) => m.slice(0, Math.max(0, m.length - y))), s((m) => m.slice(0, Math.max(0, m.length - y)));
3418
+ n((g) => g.slice(0, Math.max(0, g.length - y))), s((g) => g.slice(0, Math.max(0, g.length - y)));
3426
3419
  }, []), a = q(() => {
3427
3420
  n([]), s([]);
3428
3421
  }, []);
3429
3422
  return {
3430
- pushHistory: g,
3423
+ pushHistory: m,
3431
3424
  undo: w,
3432
3425
  redo: i,
3433
3426
  canUndo: e.length > 0,
@@ -3435,13 +3428,13 @@ const oa = ({
3435
3428
  clearHistory: a,
3436
3429
  removeHistoryEntries: d
3437
3430
  };
3438
- }, Gr = (t = [], e) => {
3431
+ }, Ur = (t = [], e) => {
3439
3432
  for (const { isAttrib: n, value: o, field: s } of t) {
3440
3433
  if (!n) continue;
3441
- const g = e.find((p) => p.name === s);
3442
- if (!g) continue;
3434
+ const m = e.find((p) => p.name === s);
3435
+ if (!m) continue;
3443
3436
  let h = o;
3444
- const { type: w } = g.data;
3437
+ const { type: w } = m.data;
3445
3438
  if (w === "integer" || w === "float") {
3446
3439
  if (typeof o == "string") {
3447
3440
  if (o.trim() === "" || isNaN(Number(o)))
@@ -3459,11 +3452,11 @@ const oa = ({
3459
3452
  "maxLength",
3460
3453
  "minItems",
3461
3454
  "maxItems"
3462
- ], d = Object.entries(g.data).reduce((p, [v, x]) => (i.includes(v) && (p[v] = x), p), {}), { ge: a, gt: y, le: m, lt: T, minLength: b, maxLength: P, minItems: I, maxItems: r } = d, l = g.data.regex;
3455
+ ], d = Object.entries(m.data).reduce((p, [v, x]) => (i.includes(v) && (p[v] = x), p), {}), { ge: a, gt: y, le: g, lt: T, minLength: b, maxLength: P, minItems: I, maxItems: r } = d, l = m.data.regex;
3463
3456
  if (typeof h == "number") {
3464
3457
  if (a != null && h < a) throw new Error(`“${s}” must be ≥ ${a}`);
3465
3458
  if (y != null && h <= y) throw new Error(`“${s}” must be > ${y}`);
3466
- if (m != null && h > m) throw new Error(`“${s}” must be ≤ ${m}`);
3459
+ if (g != null && h > g) throw new Error(`“${s}” must be ≤ ${g}`);
3467
3460
  if (T != null && h >= T) throw new Error(`“${s}” must be < ${T}`);
3468
3461
  } else if (typeof h == "string") {
3469
3462
  if (b != null && h.length < b)
@@ -3479,25 +3472,25 @@ const oa = ({
3479
3472
  throw new Error(`“${s}” items must be ≤ ${r}`);
3480
3473
  }
3481
3474
  }
3482
- }, Da = ({ children: t }) => {
3483
- const [e, n] = Ve(null), o = je(null), s = q(() => o.current, []), g = q((k) => {
3475
+ }, Aa = ({ children: t }) => {
3476
+ const [e, n] = Ve(null), o = je(null), s = q(() => o.current, []), m = q((k) => {
3484
3477
  o.current = k;
3485
3478
  }, []), h = q((k) => {
3486
3479
  o.current = null, n(k);
3487
- }, []), w = q((k) => k === e, [e]), i = Ur(), {
3480
+ }, []), w = q((k) => k === e, [e]), i = Br(), {
3488
3481
  pushHistory: d,
3489
3482
  undo: a,
3490
3483
  redo: y,
3491
- canUndo: m,
3484
+ canUndo: g,
3492
3485
  canRedo: T,
3493
3486
  removeHistoryEntries: b
3494
- } = i, { selectedCells: P } = Ye(), { updateEntities: I, inheritFromParent: r } = Tr({
3487
+ } = i, { selectedCells: P } = Ye(), { updateEntities: I, inheritFromParent: r } = Cr({
3495
3488
  pushHistory: d,
3496
3489
  removeHistoryEntries: b
3497
3490
  }), { attribFields: l, getEntityById: p } = Ke(), { projectName: v } = Qe(), [x] = Qn(), $ = q(
3498
3491
  async (k = [], R = !0) => {
3499
3492
  try {
3500
- return Gr(k, l), await I(k, R);
3493
+ return Ur(k, l), await I(k, R);
3501
3494
  } catch (S) {
3502
3495
  return Le.error(S.message), Promise.reject(S);
3503
3496
  }
@@ -3651,7 +3644,7 @@ const oa = ({
3651
3644
  redo: c,
3652
3645
  history: i,
3653
3646
  getEditingDraft: s,
3654
- setEditingDraft: g
3647
+ setEditingDraft: m
3655
3648
  }),
3656
3649
  [
3657
3650
  e,
@@ -3662,7 +3655,7 @@ const oa = ({
3662
3655
  c,
3663
3656
  i,
3664
3657
  s,
3665
- g
3658
+ m
3666
3659
  ]
3667
3660
  );
3668
3661
  return Ue(() => {
@@ -3672,7 +3665,7 @@ const oa = ({
3672
3665
  const F = typeof navigator < "u" && // @ts-expect-error
3673
3666
  (navigator.userAgentData && // @ts-expect-error
3674
3667
  navigator.userAgentData.platform.toUpperCase().includes("MAC") || navigator.userAgent.toUpperCase().includes("MAC")) ? R.metaKey : R.ctrlKey;
3675
- if (F && R.key === "z" && (R.preventDefault(), m && C()), (F && R.key === "y" || F && R.shiftKey && R.key === "z" || F && R.key === "Z") && (R.preventDefault(), T && c()), R.key === "Backspace" && !(R.ctrlKey || R.metaKey) || R.key === "Delete") {
3668
+ if (F && R.key === "z" && (R.preventDefault(), g && C()), (F && R.key === "y" || F && R.shiftKey && R.key === "z" || F && R.key === "Z") && (R.preventDefault(), T && c()), R.key === "Backspace" && !(R.ctrlKey || R.metaKey) || R.key === "Delete") {
3676
3669
  if (!P.size) return;
3677
3670
  R.preventDefault();
3678
3671
  const O = Array.from(P).map(
@@ -3686,8 +3679,8 @@ const oa = ({
3686
3679
  }
3687
3680
  };
3688
3681
  return document.addEventListener("keydown", k), () => document.removeEventListener("keydown", k);
3689
- }, [m, T, C, c, P, u]), /* @__PURE__ */ W(Hs.Provider, { value: E, children: t });
3690
- }, Wr = ({
3682
+ }, [g, T, C, c, P, u]), /* @__PURE__ */ W(Ws.Provider, { value: E, children: t });
3683
+ }, Gr = ({
3691
3684
  attributes: t,
3692
3685
  listeners: e
3693
3686
  }) => /* @__PURE__ */ W(
@@ -3712,17 +3705,17 @@ const oa = ({
3712
3705
  },
3713
3706
  children: /* @__PURE__ */ W(pn, { icon: "drag_handle" })
3714
3707
  }
3715
- ), Hr = ({
3708
+ ), Wr = ({
3716
3709
  header: t,
3717
3710
  canHide: e,
3718
3711
  canPin: n,
3719
3712
  canSort: o,
3720
3713
  isResizing: s,
3721
- className: g,
3714
+ className: m,
3722
3715
  menuId: h,
3723
3716
  isOpen: w
3724
3717
  }) => {
3725
- const { column: i } = t, d = String(i.id), { toggleMenuOpen: a } = Xn(), { updateGroupBy: y, groupBy: m, sorting: T } = nt(), { canGroupThisColumn: b, groupLabel: P, groupBySelectedColumn: I, targetGroupById: r } = _r(d);
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);
3726
3719
  if (s)
3727
3720
  return null;
3728
3721
  const l = (c = !0) => {
@@ -3772,7 +3765,7 @@ const oa = ({
3772
3765
  id: "divider",
3773
3766
  type: "divider"
3774
3767
  }), b && d !== "name" && d !== "thumbnail") {
3775
- const c = m?.id === r;
3768
+ const c = g?.id === r;
3776
3769
  C.push({
3777
3770
  id: "group-by",
3778
3771
  label: c ? "Ungroup" : `Group by ${P}`,
@@ -3790,21 +3783,21 @@ const oa = ({
3790
3783
  i.toggleVisibility(), l(!1);
3791
3784
  }
3792
3785
  }), C.length === 0 ? null : /* @__PURE__ */ W(
3793
- Do,
3786
+ Ao,
3794
3787
  {
3795
- className: g,
3788
+ className: m,
3796
3789
  menuItems: C,
3797
3790
  menuId: h || `column-menu-${t.id}`
3798
3791
  }
3799
3792
  );
3800
- }, $n = 60, Gt = 150, Vn = 50, zn = [Be, ge], La = ({ children: t }) => {
3793
+ }, $n = 60, Gt = 150, Vn = 50, zn = [Be, ge], Da = ({ children: t }) => {
3801
3794
  const { columnOrder: e, updateColumnOrder: n, columnPinning: o, columnSizing: s } = nt(), {
3802
- restrictToSection: g,
3795
+ restrictToSection: m,
3803
3796
  setDragPinnedState: h,
3804
3797
  clearDragPinnedState: w,
3805
3798
  activePinnedState: i,
3806
3799
  setCachedBoundary: d
3807
- } = Ao({ columnPinning: o, columnSizing: s }), a = je({
3800
+ } = Po({ columnPinning: o, columnSizing: s }), a = je({
3808
3801
  cursorX: 0,
3809
3802
  container: null,
3810
3803
  boundaryX: 0,
@@ -3813,11 +3806,11 @@ const oa = ({
3813
3806
  isScrolling: !1,
3814
3807
  isColumnDrag: !1,
3815
3808
  isPinnedDrag: null
3816
- }), y = Lo(
3817
- nn(Oo, { activationConstraint: { distance: 5 } }),
3818
- nn(_o, { activationConstraint: { delay: 100, tolerance: 5 } }),
3819
- nn(Fo, {})
3820
- ), m = j(() => [g], [g]), T = o.left || [], b = q(() => {
3809
+ }), y = Do(
3810
+ nn(Lo, { activationConstraint: { distance: 5 } }),
3811
+ nn(Oo, { activationConstraint: { delay: 100, tolerance: 5 } }),
3812
+ nn(_o, {})
3813
+ ), g = j(() => [m], [m]), T = o.left || [], b = q(() => {
3821
3814
  const u = a.current.container;
3822
3815
  if (!u) return 0;
3823
3816
  const E = u.querySelector("th.last-pinned-left");
@@ -3883,11 +3876,11 @@ const oa = ({
3883
3876
  };
3884
3877
  };
3885
3878
  return /* @__PURE__ */ W(
3886
- No,
3879
+ Fo,
3887
3880
  {
3888
3881
  sensors: y,
3889
3882
  collisionDetection: I,
3890
- modifiers: m,
3883
+ modifiers: g,
3891
3884
  onDragStart: (u) => {
3892
3885
  if (u.active.data.current?.type !== "column") return;
3893
3886
  const E = document.querySelector("[data-column-dnd-container]"), k = E?.getBoundingClientRect(), R = T.includes(u.active.id);
@@ -3922,25 +3915,25 @@ const oa = ({
3922
3915
  children: t
3923
3916
  }
3924
3917
  );
3925
- }, jr = (t, e) => {
3918
+ }, Hr = (t, e) => {
3926
3919
  const n = t.getFlatHeaders(), o = t.getState().columnSizingInfo;
3927
3920
  return j(() => {
3928
- const g = {};
3921
+ const m = {};
3929
3922
  for (let h = 0; h < n.length; h++) {
3930
3923
  const w = n[h];
3931
- g[`--header-${w.id}-size`] = w.getSize(), g[`--col-${w.column.id}-size`] = w.column.getSize();
3924
+ m[`--header-${w.id}-size`] = w.getSize(), m[`--col-${w.column.id}-size`] = w.column.getSize();
3932
3925
  }
3933
- return g;
3926
+ return m;
3934
3927
  }, [o, e, n]);
3935
- }, Kr = ({
3928
+ }, jr = ({
3936
3929
  visibleColumns: t,
3937
3930
  tableContainerRef: e,
3938
3931
  columnPinning: n,
3939
3932
  columnSizing: o,
3940
3933
  columnOrder: s
3941
3934
  }) => {
3942
- const g = j(() => t.filter((b) => b.getIsPinned() === "left").map((b) => b.getIndex()), [t, n]), [h, w] = Ve(null);
3943
- Mo({
3935
+ const m = j(() => t.filter((b) => b.getIsPinned() === "left").map((b) => b.getIndex()), [t, n]), [h, w] = Ve(null);
3936
+ No({
3944
3937
  onDragStart(b) {
3945
3938
  if (b.active.data?.current?.type === "column") {
3946
3939
  const P = t.findIndex((I) => I.id === b.active.id);
@@ -3955,8 +3948,8 @@ const oa = ({
3955
3948
  }
3956
3949
  });
3957
3950
  const i = [];
3958
- if (g.length > 0) {
3959
- const b = Math.max(...g);
3951
+ if (m.length > 0) {
3952
+ const b = Math.max(...m);
3960
3953
  for (let P = 0; P <= b; P++)
3961
3954
  i.push(P);
3962
3955
  }
@@ -3982,16 +3975,16 @@ const oa = ({
3982
3975
  return Array.from(v).sort((x, $) => x - $);
3983
3976
  }
3984
3977
  }), a = j(
3985
- () => Eo(() => {
3978
+ () => vo(() => {
3986
3979
  d.measure();
3987
3980
  }, 1e3),
3988
3981
  [d]
3989
3982
  );
3990
- ws(() => {
3983
+ bs(() => {
3991
3984
  a();
3992
3985
  }, [a, o, s]);
3993
3986
  const y = d.getVirtualItems();
3994
- let m, T;
3987
+ let g, T;
3995
3988
  if (d && y.length) {
3996
3989
  const b = d.getTotalSize(), P = y.findIndex(
3997
3990
  (r) => !i.includes(r.index)
@@ -4001,20 +3994,20 @@ const oa = ({
4001
3994
  const x = t[v];
4002
3995
  return p + x.getSize();
4003
3996
  }, 0);
4004
- m = Math.max(0, r - l);
3997
+ g = Math.max(0, r - l);
4005
3998
  } else
4006
- m = 0;
3999
+ g = 0;
4007
4000
  const I = y[y.length - 1]?.end ?? 0;
4008
4001
  T = Math.max(0, b - I);
4009
4002
  }
4010
4003
  return {
4011
4004
  columnVirtualizer: d,
4012
- virtualPaddingLeft: m,
4005
+ virtualPaddingLeft: g,
4013
4006
  virtualPaddingRight: T
4014
4007
  };
4015
4008
  };
4016
- function qr() {
4017
- const { attribFields: t, getEntityById: e, onOpenPlayer: n, playerOpen: o } = Ke(), { canWriteLabelPermission: s, canWriteNamePermission: g } = un(), h = s || g, { focusedCellId: w, gridMap: i, selectCell: d, focusCell: a, clearSelection: y, setFocusedCellId: m } = Ye(), { setEditingCellId: T, editingCellId: b } = ut(), { setSelectedEntity: P } = Wn(), I = q(
4009
+ function Kr() {
4010
+ 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(
4018
4011
  (l) => {
4019
4012
  a(l), console.log(l), requestAnimationFrame(() => document.getElementById(l)?.closest("td")?.focus());
4020
4013
  },
@@ -4027,7 +4020,7 @@ function qr() {
4027
4020
  if (!$) return;
4028
4021
  const { rowId: C, colId: c } = $, u = i.rowIdToIndex.get(C), E = i.colIdToIndex.get(c);
4029
4022
  if (u === void 0 || E === void 0) return;
4030
- const k = c.startsWith("attrib_") && t.find((S) => S.name === c.replace("attrib_", ""))?.readOnly || p.closest("td")?.querySelector(`.${js}`) !== null, R = (S) => {
4023
+ const k = c.startsWith("attrib_") && t.find((S) => S.name === c.replace("attrib_", ""))?.readOnly || p.closest("td")?.querySelector(`.${Hs}`) !== null, R = (S) => {
4031
4024
  if (n) {
4032
4025
  const f = e(S);
4033
4026
  if (f) {
@@ -4089,7 +4082,7 @@ function qr() {
4089
4082
  break;
4090
4083
  }
4091
4084
  case "Escape": {
4092
- l.preventDefault(), y(), T(null), m(null);
4085
+ l.preventDefault(), y(), T(null), g(null);
4093
4086
  break;
4094
4087
  }
4095
4088
  case "Tab": {
@@ -4169,30 +4162,30 @@ function qr() {
4169
4162
  editingCellId: b
4170
4163
  };
4171
4164
  }
4172
- const Qr = 24, Xr = () => {
4173
- const { rowHeight: t = Qr } = nt();
4165
+ const qr = 24, Qr = () => {
4166
+ const { rowHeight: t = qr } = nt();
4174
4167
  return { getRowHeight: (n) => t, thumbnailRowHeight: t, defaultRowHeight: t };
4175
- }, Yr = () => null, Jr = (t, e) => e.some((n) => {
4168
+ }, Xr = () => null, Yr = (t, e) => e.some((n) => {
4176
4169
  if (n.includes("*")) {
4177
4170
  const s = "^" + n.replace(/[.*+?^${}()|[\]\\]/g, "\\$&").replace(/\\\*/g, ".*") + "$";
4178
4171
  return new RegExp(s).test(t);
4179
4172
  }
4180
4173
  return t === n;
4181
- }), Oa = ({
4174
+ }), La = ({
4182
4175
  scope: t,
4183
4176
  sliceId: e,
4184
4177
  onScroll: n,
4185
4178
  onScrollBottom: o,
4186
4179
  // when the user scrolls to the bottom of the table, this callback is called
4187
4180
  onOpenNew: s,
4188
- readOnly: g,
4181
+ readOnly: m,
4189
4182
  excludedColumns: h,
4190
4183
  excludedSorting: w,
4191
4184
  extraColumns: i,
4192
4185
  includeLinks: d,
4193
4186
  includeParents: a,
4194
4187
  parentColumns: y,
4195
- isLoading: m,
4188
+ isLoading: g,
4196
4189
  isExpandable: T,
4197
4190
  enableSorting: b = !0,
4198
4191
  clientSorting: P = !1,
@@ -4261,22 +4254,22 @@ const Qr = 24, Xr = () => {
4261
4254
  overrideGroupBy: Et,
4262
4255
  loadingLinksEntityIds: xt,
4263
4256
  queryFilters: kt
4264
- } = 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(() => {
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(() => {
4265
4258
  const Q = st?.startsWith("attrib.") ? st.slice(7) : void 0;
4266
4259
  return ve.filter(
4267
4260
  (re) => re.name === Q || St(_, `attrib_${re.name}`, Se)
4268
4261
  ).map((re) => re.name);
4269
- }, [ve, _, Se, st]), We = jo(ve, {
4262
+ }, [ve, _, Se, st]), We = Ho(ve, {
4270
4263
  projectName: ue,
4271
4264
  request: At
4272
- }), Ze = m || Te, {
4265
+ }), Ze = g || Te, {
4273
4266
  statuses: gt = [],
4274
4267
  folderTypes: Dt = [],
4275
4268
  taskTypes: Lt = [],
4276
4269
  tags: Ot = [],
4277
4270
  linkTypes: et = []
4278
4271
  } = xe || {}, tt = j(
4279
- () => tr({
4272
+ () => er({
4280
4273
  users: we,
4281
4274
  statuses: gt,
4282
4275
  folderTypes: Dt,
@@ -4287,13 +4280,13 @@ const Qr = 24, Xr = () => {
4287
4280
  }),
4288
4281
  [we, gt, Dt, Lt, ze, Ot]
4289
4282
  ), rt = je(null), _t = je(0), { registerGrid: Ft } = Ye(), { loadingAttrib: X, loadingRows: ye } = j(() => {
4290
- const Q = rt.current?.querySelectorAll("tbody tr").length || 0, re = Zo(), Oe = Tt(
4283
+ const Q = rt.current?.querySelectorAll("tbody tr").length || 0, re = Jo(), Oe = Tt(
4291
4284
  ie && pe.length > 0 ? Math.min(Q, 50) : M ? Math.max(_t.current, 50) : 50
4292
4285
  );
4293
4286
  return { loadingAttrib: re, loadingRows: Oe };
4294
4287
  }, []), se = !N || Ze, { readOnlyColumns: fe, readOnlyAttribs: ae } = j(
4295
- () => sr(ve, Je, g),
4296
- [ve, Je, g]
4288
+ () => nr(ve, Je, m),
4289
+ [ve, Je, m]
4297
4290
  ), { selectedCells: de } = Ye(), { updateEntities: De } = ut(), it = q(
4298
4291
  async (Q, re) => {
4299
4292
  const { selection: Oe = [] } = re || {}, be = [];
@@ -4301,8 +4294,8 @@ const Qr = 24, Xr = () => {
4301
4294
  be.push({ ...Q, id: Q.id || Q.rowId });
4302
4295
  else {
4303
4296
  const { field: Pe, value: He, isAttrib: Xt } = Q;
4304
- for (const bs of de) {
4305
- const { colId: Yt, rowId: Mt } = he(bs) || {};
4297
+ for (const Is of de) {
4298
+ const { colId: Yt, rowId: Mt } = he(Is) || {};
4306
4299
  if (Yt === ge) continue;
4307
4300
  const Jt = Me(Mt || "");
4308
4301
  if (!Jt) {
@@ -4329,8 +4322,8 @@ const Qr = 24, Xr = () => {
4329
4322
  ), mt = j(
4330
4323
  () => N ? We : X,
4331
4324
  [We, X, N]
4332
- ), Qt = () => Ys(ze), at = j(() => {
4333
- const Q = Ks({
4325
+ ), Qt = () => Xs(ze), at = j(() => {
4326
+ const Q = js({
4334
4327
  scopes: ze,
4335
4328
  attribs: mt,
4336
4329
  links: et,
@@ -4386,13 +4379,13 @@ const Qr = 24, Xr = () => {
4386
4379
  const Q = at.map((re) => re.id).filter(Boolean);
4387
4380
  ee(Q);
4388
4381
  }, [at, ee]);
4389
- const as = j(() => {
4382
+ const is = j(() => {
4390
4383
  const Q = { ..._ };
4391
4384
  return at.forEach((re) => {
4392
4385
  const Oe = re.visible;
4393
4386
  re.id && Q[re.id] === void 0 && (Oe !== void 0 ? Q[re.id] = Oe : Q[re.id] = St({}, re.id, Se));
4394
- }), Io(Q, at.map((re) => re.id).filter(Boolean));
4395
- }, [_, Se, at]), Ne = Cs({
4387
+ }), ho(Q, at.map((re) => re.id).filter(Boolean));
4388
+ }, [_, Se, at]), Ne = ws({
4396
4389
  data: se ? ye : pe,
4397
4390
  columns: at,
4398
4391
  defaultColumn: {
@@ -4406,15 +4399,15 @@ const Qr = 24, Xr = () => {
4406
4399
  //disable sub row selection
4407
4400
  getSubRows: (Q) => Q.subRows,
4408
4401
  getRowCanExpand: () => !!T || ie || Ae || ft,
4409
- getCoreRowModel: xs(),
4410
- getFilteredRowModel: Es(),
4411
- getExpandedRowModel: vs(),
4402
+ getCoreRowModel: Es(),
4403
+ getFilteredRowModel: vs(),
4404
+ getExpandedRowModel: Ss(),
4412
4405
  filterFromLeafRows: !0,
4413
4406
  // EXPANDABLE
4414
4407
  onExpandedChange: ce,
4415
4408
  // SORTING
4416
4409
  enableSorting: b,
4417
- getSortedRowModel: Ss(),
4410
+ getSortedRowModel: Ts(),
4418
4411
  sortDescFirst: !1,
4419
4412
  maxMultiSortColCount: gn,
4420
4413
  manualSorting: !P,
@@ -4425,7 +4418,7 @@ const Qr = 24, Xr = () => {
4425
4418
  onColumnVisibilityChange: Ie,
4426
4419
  onColumnOrderChange: U,
4427
4420
  // @ts-ignore
4428
- filterFns: Ts,
4421
+ filterFns: Cs,
4429
4422
  state: {
4430
4423
  expanded: B,
4431
4424
  sorting: le,
@@ -4441,7 +4434,7 @@ const Qr = 24, Xr = () => {
4441
4434
  };
4442
4435
  })(),
4443
4436
  columnSizing: J,
4444
- columnVisibility: as,
4437
+ columnVisibility: is,
4445
4438
  columnOrder: z
4446
4439
  },
4447
4440
  meta: {
@@ -4467,7 +4460,7 @@ const Qr = 24, Xr = () => {
4467
4460
  });
4468
4461
  Ft(Q, Oe);
4469
4462
  }, [lt, Ne.getVisibleLeafColumns(), A, ge, Ft]);
4470
- const Nt = Ne.getVisibleLeafColumns(), { columnVirtualizer: yt, virtualPaddingLeft: ht, virtualPaddingRight: It } = Kr({
4463
+ const Nt = Ne.getVisibleLeafColumns(), { columnVirtualizer: yt, virtualPaddingLeft: ht, virtualPaddingRight: It } = jr({
4471
4464
  visibleColumns: Nt,
4472
4465
  tableContainerRef: rt,
4473
4466
  columnPinning: A,
@@ -4478,18 +4471,18 @@ const Qr = 24, Xr = () => {
4478
4471
  if (!S || !f?.length) return;
4479
4472
  const Q = new Set(hn.map((Pe) => Nt[Pe.index]?.id)), re = {};
4480
4473
  let Oe = !1;
4481
- Ne.getAllLeafColumns().filter((Pe) => Jr(Pe.id, f)).forEach((Pe) => {
4474
+ Ne.getAllLeafColumns().filter((Pe) => Yr(Pe.id, f)).forEach((Pe) => {
4482
4475
  const He = Q.has(Pe.id);
4483
4476
  yn.current[Pe.id] !== He && (re[Pe.id] = He, Oe = !0, yn.current[Pe.id] = He);
4484
4477
  }), Oe && S(re);
4485
4478
  }, [hn, S, f, Nt, Ne]);
4486
- const In = jr(Ne, J), { powerLicense: bn } = To(), [ls, { isLoaded: wn, isLoading: Cn }] = Go({
4479
+ const In = Hr(Ne, J), { powerLicense: bn } = Co(), [as, { isLoaded: wn, isLoading: Cn }] = Uo({
4487
4480
  addon: "powerpack",
4488
4481
  remote: "views",
4489
4482
  module: "SummaryCellContent",
4490
- fallback: Yr,
4483
+ fallback: Xr,
4491
4484
  skip: !v || !bn
4492
- }), cs = v && bn && (wn || Cn) && !!lt.length, ds = Cn || !wn, us = j(() => {
4485
+ }), ls = v && bn && (wn || Cn) && !!lt.length, cs = Cn || !wn, ds = j(() => {
4493
4486
  const Q = /* @__PURE__ */ new Set(), re = /* @__PURE__ */ new Set();
4494
4487
  for (const Oe of de) {
4495
4488
  const { rowId: be, colId: Pe } = he(Oe) || {};
@@ -4498,9 +4491,9 @@ const Qr = 24, Xr = () => {
4498
4491
  He && (Pe === ge ? re.add(He) : Q.add(He));
4499
4492
  }
4500
4493
  return Q.size || re.size;
4501
- }, [de, Me]), { getRowHeight: fs, defaultRowHeight: Tn } = Xr(), ps = j(() => We.reduce((Q, re) => (re.data?.enum?.length && (Q[re.name] = re.data?.enum), Q), {}), [We]), gs = j(() => pe.map((Q) => Q.id), [pe]), ms = j(() => z.filter(
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(
4502
4495
  (Q) => Q !== Be && Q !== ge
4503
- ), [z]), ys = j(() => !l || !I ? null : pe.find((Q) => Q.id === l), [l, pe, I]), hs = q(
4496
+ ), [z]), ms = j(() => !l || !I ? null : pe.find((Q) => Q.id === l), [l, pe, I]), ys = q(
4504
4497
  (Q) => {
4505
4498
  if (n?.(Q), o) {
4506
4499
  const re = Q.currentTarget;
@@ -4516,19 +4509,19 @@ const Qr = 24, Xr = () => {
4516
4509
  },
4517
4510
  [n, o, k, ie, M, Ze]
4518
4511
  ), Sn = /* @__PURE__ */ W(
4519
- wr,
4512
+ br,
4520
4513
  {
4521
4514
  entitiesMap: ke,
4522
- columnEnums: { ...tt, ...ps },
4515
+ columnEnums: { ...tt, ...fs },
4523
4516
  columnReadOnly: ae,
4524
4517
  visibleColumns: Nt,
4525
- children: /* @__PURE__ */ Ge(qs, { ...O, children: [
4518
+ children: /* @__PURE__ */ Ge(Ks, { ...O, children: [
4526
4519
  /* @__PURE__ */ W(
4527
- Qs,
4520
+ qs,
4528
4521
  {
4529
4522
  ref: rt,
4530
4523
  style: { height: "100%", padding: 0 },
4531
- onScroll: hs,
4524
+ onScroll: ys,
4532
4525
  ...F?.container,
4533
4526
  "data-column-dnd-container": !0,
4534
4527
  className: qe(
@@ -4555,7 +4548,7 @@ const Qr = 24, Xr = () => {
4555
4548
  },
4556
4549
  children: [
4557
4550
  /* @__PURE__ */ W(
4558
- Zr,
4551
+ Jr,
4559
4552
  {
4560
4553
  columnVirtualizer: yt,
4561
4554
  table: Ne,
@@ -4564,12 +4557,12 @@ const Qr = 24, Xr = () => {
4564
4557
  isLoading: Ze,
4565
4558
  readOnlyColumns: fe,
4566
4559
  sortableRows: I,
4567
- columnOrderIds: ms,
4560
+ columnOrderIds: gs,
4568
4561
  ...F?.head
4569
4562
  }
4570
4563
  ),
4571
4564
  /* @__PURE__ */ W(
4572
- ni,
4565
+ ti,
4573
4566
  {
4574
4567
  columnVirtualizer: yt,
4575
4568
  table: Ne,
@@ -4579,32 +4572,32 @@ const Qr = 24, Xr = () => {
4579
4572
  showHierarchy: ie,
4580
4573
  attribs: We,
4581
4574
  onOpenNew: s,
4582
- rowOrderIds: gs,
4575
+ rowOrderIds: ps,
4583
4576
  sortableRows: I,
4584
4577
  error: Re,
4585
4578
  isFilterError: Rt,
4586
4579
  filterErrorMessage: Pt,
4587
4580
  isLoading: Ze,
4588
4581
  isGrouping: ft,
4589
- getRowHeight: fs,
4582
+ getRowHeight: us,
4590
4583
  defaultRowHeight: Tn,
4591
4584
  onResetView: vt,
4592
4585
  contextMenuItems: R,
4593
4586
  onVisibleRowsChange: L
4594
4587
  }
4595
4588
  ),
4596
- cs && !Re && /* @__PURE__ */ W(
4597
- ao,
4589
+ ls && !Re && /* @__PURE__ */ W(
4590
+ io,
4598
4591
  {
4599
4592
  columnVirtualizer: yt,
4600
4593
  table: Ne,
4601
4594
  virtualPaddingLeft: ht,
4602
4595
  virtualPaddingRight: It,
4603
- isLoading: ds,
4596
+ isLoading: cs,
4604
4597
  statsLoading: !!C,
4605
4598
  error: c,
4606
4599
  renderCellContent: (Q) => /* @__PURE__ */ W(
4607
- ls,
4600
+ as,
4608
4601
  {
4609
4602
  columnId: Q,
4610
4603
  attribs: We,
@@ -4619,7 +4612,7 @@ const Qr = 24, Xr = () => {
4619
4612
  mainCountLabels: u,
4620
4613
  fieldOptions: tt,
4621
4614
  parentScopeApplicable: ot,
4622
- selectedCount: us,
4615
+ selectedCount: ds,
4623
4616
  mainBreakdownFields: E
4624
4617
  }
4625
4618
  )
@@ -4630,11 +4623,11 @@ const Qr = 24, Xr = () => {
4630
4623
  )
4631
4624
  }
4632
4625
  ),
4633
- H && /* @__PURE__ */ W(Xs, { children: /* @__PURE__ */ W(Bo, { variant: "warning", message: H, action: Ce }) })
4626
+ H && /* @__PURE__ */ W(Qs, { children: /* @__PURE__ */ W(zo, { variant: "warning", message: H, action: Ce }) })
4634
4627
  ] })
4635
4628
  }
4636
- ), Is = I && l && Ht(
4637
- /* @__PURE__ */ W(Jn, { dropAnimation: null, children: ys ? (() => {
4629
+ ), hs = I && l && Ht(
4630
+ /* @__PURE__ */ W(Jn, { dropAnimation: null, children: ms ? (() => {
4638
4631
  const Q = Ne.getRowModel().rows.find((Oe) => Oe.id === l);
4639
4632
  if (!Q) return null;
4640
4633
  const re = Ne.getTotalSize();
@@ -4672,7 +4665,7 @@ const Qr = 24, Xr = () => {
4672
4665
  },
4673
4666
  `overlay-drag-${be.id}`
4674
4667
  ) : /* @__PURE__ */ W(
4675
- is,
4668
+ rs,
4676
4669
  {
4677
4670
  cell: be,
4678
4671
  cellId: `overlay-${_e(Q.id, be.column.id)}`,
@@ -4691,7 +4684,7 @@ const Qr = 24, Xr = () => {
4691
4684
  );
4692
4685
  return I ? /* @__PURE__ */ Ge(vn, { children: [
4693
4686
  Sn,
4694
- Is,
4687
+ hs,
4695
4688
  /* @__PURE__ */ W(Bn, { table: Ne }),
4696
4689
  /* @__PURE__ */ W(Ln, {})
4697
4690
  ] }) : /* @__PURE__ */ Ge(vn, { children: [
@@ -4700,7 +4693,7 @@ const Qr = 24, Xr = () => {
4700
4693
  /* @__PURE__ */ W(Ln, {})
4701
4694
  ] });
4702
4695
  }, Bn = ({ table: t }) => {
4703
- const { active: e } = $o(), o = e?.data?.current?.type === "column" ? e?.id : null, s = j(() => o && t.getHeaderGroups()[0]?.headers.find((g) => g.id === o) || null, [o, 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]);
4704
4697
  return !o || !s ? null : Ht(
4705
4698
  /* @__PURE__ */ W(Jn, { dropAnimation: null, children: /* @__PURE__ */ W(
4706
4699
  jn,
@@ -4721,53 +4714,53 @@ const Qr = 24, Xr = () => {
4721
4714
  ) }),
4722
4715
  document.body
4723
4716
  );
4724
- }, Zr = ({
4717
+ }, Jr = ({
4725
4718
  columnVirtualizer: t,
4726
4719
  table: e,
4727
4720
  virtualPaddingLeft: n,
4728
4721
  virtualPaddingRight: o,
4729
4722
  isLoading: s,
4730
- readOnlyColumns: g,
4723
+ readOnlyColumns: m,
4731
4724
  sortableRows: h,
4732
4725
  columnOrderIds: w,
4733
4726
  ...i
4734
- }) => /* @__PURE__ */ W(Js, { ...i, children: e.getHeaderGroups().map((d) => /* @__PURE__ */ W(
4735
- ei,
4727
+ }) => /* @__PURE__ */ W(Ys, { ...i, children: e.getHeaderGroups().map((d) => /* @__PURE__ */ W(
4728
+ Zr,
4736
4729
  {
4737
4730
  columnVirtualizer: t,
4738
4731
  headerGroup: d,
4739
4732
  virtualPaddingLeft: n,
4740
4733
  virtualPaddingRight: o,
4741
4734
  isLoading: s,
4742
- readOnlyColumns: g,
4735
+ readOnlyColumns: m,
4743
4736
  sortableRows: h,
4744
4737
  columnOrderIds: w
4745
4738
  },
4746
4739
  d.id
4747
- )) }), ei = ({
4740
+ )) }), Zr = ({
4748
4741
  columnVirtualizer: t,
4749
4742
  headerGroup: e,
4750
4743
  virtualPaddingLeft: n,
4751
4744
  virtualPaddingRight: o,
4752
4745
  isLoading: s,
4753
- readOnlyColumns: g,
4746
+ readOnlyColumns: m,
4754
4747
  sortableRows: h,
4755
4748
  columnOrderIds: w
4756
4749
  }) => {
4757
4750
  const i = t.getVirtualItems();
4758
- return /* @__PURE__ */ Ge(so, { style: { display: "flex" }, children: [
4751
+ return /* @__PURE__ */ Ge(no, { style: { display: "flex" }, children: [
4759
4752
  n ? (
4760
4753
  //fake empty column to the left for virtualization scroll padding
4761
4754
  /* @__PURE__ */ W("th", { style: { display: "flex", width: n } })
4762
4755
  ) : null,
4763
- /* @__PURE__ */ W(Zn, { items: w, strategy: zo, children: i.map((d) => {
4756
+ /* @__PURE__ */ W(Zn, { items: w, strategy: Vo, children: i.map((d) => {
4764
4757
  const a = e.headers[d.index], y = a.id !== Be && a.id !== ge;
4765
4758
  return /* @__PURE__ */ W(
4766
- ti,
4759
+ ei,
4767
4760
  {
4768
4761
  header: a,
4769
4762
  isLoading: s,
4770
- isReadOnly: g?.includes(a.id),
4763
+ isReadOnly: m?.includes(a.id),
4771
4764
  canSort: a.column.getCanSort(),
4772
4765
  canFilter: a.column.getCanFilter(),
4773
4766
  canHide: a.column.getCanHide(),
@@ -4784,19 +4777,19 @@ const Qr = 24, Xr = () => {
4784
4777
  /* @__PURE__ */ W("th", { style: { display: "flex", width: o } })
4785
4778
  ) : null
4786
4779
  ] }, e.id);
4787
- }, ti = ({
4780
+ }, ei = ({
4788
4781
  header: t,
4789
4782
  isLoading: e,
4790
4783
  canFilter: n,
4791
4784
  canHide: o,
4792
4785
  canSort: s,
4793
- canPin: g,
4786
+ canPin: m,
4794
4787
  canResize: h,
4795
4788
  isReadOnly: w,
4796
4789
  sortableRows: i,
4797
4790
  isDraggable: d = !0
4798
4791
  }) => {
4799
- const { column: a } = t, y = a.getIsSorted(), m = `column-header-menu-${a.id}`, { menuOpen: T } = Xn(), b = T === m, { columnPinning: P, sorting: I, updateSorting: r } = nt(), l = (S) => {
4792
+ const { column: a } = t, y = a.getIsSorted(), g = `column-header-menu-${a.id}`, { menuOpen: T } = Xn(), b = T === g, { columnPinning: P, sorting: I, updateSorting: r } = nt(), l = (S) => {
4800
4793
  const f = I?.find((F) => F.id === a.id);
4801
4794
  if (S.shiftKey && I?.length) {
4802
4795
  const F = f ? f.desc ? I.filter((O) => O.id !== a.id) : I.map((O) => O.id === a.id ? { ...O, desc: !0 } : O) : [...I, { id: a.id, desc: !1 }];
@@ -4843,17 +4836,17 @@ const Qr = 24, Xr = () => {
4843
4836
  children: [
4844
4837
  dn(a.columnDef.header, t.getContext()),
4845
4838
  w && /* @__PURE__ */ W(pn, { icon: "lock", "data-tooltip": "You only have permission to read this column." }),
4846
- /* @__PURE__ */ Ge(oo, { className: "actions", $isOpen: b, ...R, children: [
4847
- (o || g || s) && /* @__PURE__ */ W(
4848
- Hr,
4839
+ /* @__PURE__ */ Ge(so, { className: "actions", $isOpen: b, ...R, children: [
4840
+ (o || m || s) && /* @__PURE__ */ W(
4841
+ Wr,
4849
4842
  {
4850
4843
  className: "header-menu",
4851
4844
  header: t,
4852
4845
  canHide: o,
4853
- canPin: g,
4846
+ canPin: m,
4854
4847
  canSort: s,
4855
4848
  isResizing: a.getIsResizing(),
4856
- menuId: m,
4849
+ menuId: g,
4857
4850
  isOpen: b
4858
4851
  }
4859
4852
  ),
@@ -4869,7 +4862,7 @@ const Qr = 24, Xr = () => {
4869
4862
  selected: !!a.getIsSorted()
4870
4863
  }
4871
4864
  ),
4872
- s && p > -1 && /* @__PURE__ */ W(ro, { className: "sort-index", children: p + 1 }),
4865
+ s && p > -1 && /* @__PURE__ */ W(oo, { className: "sort-index", children: p + 1 }),
4873
4866
  a.getIsPinned() && a.id !== ge && a.id !== Be && /* @__PURE__ */ W(
4874
4867
  Pn,
4875
4868
  {
@@ -4881,7 +4874,7 @@ const Qr = 24, Xr = () => {
4881
4874
  )
4882
4875
  ] }),
4883
4876
  h && /* @__PURE__ */ W(
4884
- io,
4877
+ ro,
4885
4878
  {
4886
4879
  onDoubleClick: () => a.resetSize(),
4887
4880
  onMouseDown: (S) => {
@@ -4900,20 +4893,20 @@ const Qr = 24, Xr = () => {
4900
4893
  },
4901
4894
  t.id
4902
4895
  );
4903
- }, ni = ({
4896
+ }, ti = ({
4904
4897
  columnVirtualizer: t,
4905
4898
  table: e,
4906
4899
  tableContainerRef: n,
4907
4900
  showHierarchy: o,
4908
4901
  virtualPaddingLeft: s,
4909
- virtualPaddingRight: g,
4902
+ virtualPaddingRight: m,
4910
4903
  attribs: h,
4911
4904
  onOpenNew: w,
4912
4905
  rowOrderIds: i,
4913
4906
  sortableRows: d,
4914
4907
  error: a,
4915
4908
  isFilterError: y,
4916
- filterErrorMessage: m,
4909
+ filterErrorMessage: g,
4917
4910
  isLoading: T,
4918
4911
  isGrouping: b,
4919
4912
  getRowHeight: P,
@@ -4925,7 +4918,7 @@ const Qr = 24, Xr = () => {
4925
4918
  const v = j(() => e.getAllColumns().map((O) => {
4926
4919
  const _ = O.id, A = O.columnDef.header;
4927
4920
  return typeof A == "string" || typeof A == "number" ? { label: A, id: _ } : null;
4928
- }).filter(Boolean), [e.getAllColumns()]), $ = vr({
4921
+ }).filter(Boolean), [e.getAllColumns()]), $ = Sr({
4929
4922
  attribs: h,
4930
4923
  onOpenNew: w,
4931
4924
  headerLabels: v,
@@ -4952,7 +4945,7 @@ const Qr = 24, Xr = () => {
4952
4945
  },
4953
4946
  [c]
4954
4947
  );
4955
- qr();
4948
+ Kr();
4956
4949
  const R = e.getVisibleLeafColumns(), S = j(() => {
4957
4950
  const L = [], F = [];
4958
4951
  for (let O = 0; O < R.length - 1; O++) {
@@ -4970,18 +4963,18 @@ const Qr = 24, Xr = () => {
4970
4963
  },
4971
4964
  onContextMenu: $,
4972
4965
  children: [
4973
- /* @__PURE__ */ W(Zs, { "aria-hidden": !0, children: S.map((L, F) => /* @__PURE__ */ W("div", { style: { left: L } }, F)) }),
4966
+ /* @__PURE__ */ W(Js, { "aria-hidden": !0, children: S.map((L, F) => /* @__PURE__ */ W("div", { style: { left: L } }, F)) }),
4974
4967
  u.map((L) => {
4975
4968
  const F = C[L.index];
4976
4969
  return F ? /* @__PURE__ */ W(
4977
- si,
4970
+ ni,
4978
4971
  {
4979
4972
  row: F,
4980
4973
  showHierarchy: o,
4981
4974
  visibleCells: F.getVisibleCells(),
4982
4975
  virtualColumns: t.getVirtualItems(),
4983
4976
  paddingLeft: s,
4984
- paddingRight: g,
4977
+ paddingRight: m,
4985
4978
  rowRef: k,
4986
4979
  dataIndex: L.index,
4987
4980
  offsetTop: L.start,
@@ -4996,7 +4989,7 @@ const Qr = 24, Xr = () => {
4996
4989
  }
4997
4990
  );
4998
4991
  return a ? n.current && Ht(
4999
- /* @__PURE__ */ W(kn, { children: y ? /* @__PURE__ */ Ge(sn, { message: m, icon: "filter_alt_off", children: [
4992
+ /* @__PURE__ */ W(kn, { children: y ? /* @__PURE__ */ Ge(sn, { message: g, icon: "filter_alt_off", children: [
5000
4993
  r && /* @__PURE__ */ W(
5001
4994
  tn,
5002
4995
  {
@@ -5006,7 +4999,7 @@ const Qr = 24, Xr = () => {
5006
4999
  onClick: r
5007
5000
  }
5008
5001
  ),
5009
- /* @__PURE__ */ W(Uo, { errorMessage: qn(a) })
5002
+ /* @__PURE__ */ W(Bo, { errorMessage: qn(a) })
5010
5003
  ] }) : /* @__PURE__ */ W(sn, { message: "No items found", error: a, children: r && /* @__PURE__ */ W(
5011
5004
  tn,
5012
5005
  {
@@ -5020,14 +5013,14 @@ const Qr = 24, Xr = () => {
5020
5013
  ) : !C.length && !T ? n.current && Ht(
5021
5014
  /* @__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 }) }) }),
5022
5015
  n.current
5023
- ) : d ? /* @__PURE__ */ W(Zn, { items: i, strategy: Vo, children: f }) : f;
5024
- }, si = ({
5016
+ ) : d ? /* @__PURE__ */ W(Zn, { items: i, strategy: $o, children: f }) : f;
5017
+ }, ni = ({
5025
5018
  row: t,
5026
5019
  showHierarchy: e,
5027
5020
  visibleCells: n,
5028
5021
  virtualColumns: o,
5029
5022
  paddingLeft: s,
5030
- paddingRight: g,
5023
+ paddingRight: m,
5031
5024
  rowRef: h,
5032
5025
  dataIndex: w,
5033
5026
  offsetTop: i,
@@ -5035,11 +5028,11 @@ const Qr = 24, Xr = () => {
5035
5028
  isGrouping: a = !1,
5036
5029
  rowHeight: y
5037
5030
  }) => {
5038
- const m = d ? es({ id: t.id }) : null, T = je(null), b = q(
5031
+ const g = d ? es({ id: t.id }) : null, T = je(null), b = q(
5039
5032
  (I) => {
5040
- T.current = I, m && m.setNodeRef(I), m && m.isDragging || h(I);
5033
+ T.current = I, g && g.setNodeRef(I), g && g.isDragging || h(I);
5041
5034
  },
5042
- [m, h]
5035
+ [g, h]
5043
5036
  ), P = {
5044
5037
  position: "absolute",
5045
5038
  // Use absolute positioning for virtualized items
@@ -5051,14 +5044,14 @@ const Qr = 24, Xr = () => {
5051
5044
  // Span full width
5052
5045
  height: y,
5053
5046
  // Use dynamic row height
5054
- zIndex: m && m.isDragging ? 0 : 1,
5047
+ zIndex: g && g.isDragging ? 0 : 1,
5055
5048
  // Ensure dragged item is above others
5056
5049
  display: "flex",
5057
5050
  // Styled.TR is display:flex
5058
- transform: m && m.transform ? ts.Transform.toString(m.transform) : void 0,
5051
+ transform: g && g.transform ? ts.Transform.toString(g.transform) : void 0,
5059
5052
  // Apply dnd-kit's transform for drag effect
5060
- transition: m && m.transition ? m.transition : void 0,
5061
- visibility: m && m.isDragging ? "hidden" : "visible"
5053
+ transition: g && g.transition ? g.transition : void 0,
5054
+ visibility: g && g.isDragging ? "hidden" : "visible"
5062
5055
  // Hide the row being dragged
5063
5056
  };
5064
5057
  return /* @__PURE__ */ Ge(
@@ -5100,16 +5093,16 @@ const Qr = 24, Xr = () => {
5100
5093
  p.preventDefault(), p.stopPropagation();
5101
5094
  },
5102
5095
  children: /* @__PURE__ */ W(
5103
- Wr,
5096
+ Gr,
5104
5097
  {
5105
- attributes: m?.attributes,
5106
- listeners: m?.listeners
5098
+ attributes: g?.attributes,
5099
+ listeners: g?.listeners
5107
5100
  }
5108
5101
  )
5109
5102
  },
5110
5103
  r.id
5111
5104
  ) : /* @__PURE__ */ W(
5112
- is,
5105
+ rs,
5113
5106
  {
5114
5107
  cell: r,
5115
5108
  cellId: l,
@@ -5121,27 +5114,27 @@ const Qr = 24, Xr = () => {
5121
5114
  r.id
5122
5115
  );
5123
5116
  }),
5124
- g ? (
5117
+ m ? (
5125
5118
  //fake empty column to the right for virtualization scroll padding
5126
- /* @__PURE__ */ W("td", { style: { display: "flex", width: g } })
5119
+ /* @__PURE__ */ W("td", { style: { display: "flex", width: m } })
5127
5120
  ) : null
5128
5121
  ]
5129
5122
  }
5130
5123
  );
5131
- }, is = ({
5124
+ }, rs = ({
5132
5125
  cell: t,
5133
5126
  rowId: e,
5134
5127
  cellId: n,
5135
5128
  className: o,
5136
5129
  showHierarchy: s,
5137
- sortableRows: g,
5130
+ sortableRows: m,
5138
5131
  rowHeight: h,
5139
5132
  ...w
5140
5133
  }) => {
5141
5134
  const { getEntityById: i, onOpenPlayer: d } = Ke(), {
5142
5135
  isCellSelected: a,
5143
5136
  isCellFocused: y,
5144
- startSelection: m,
5137
+ startSelection: g,
5145
5138
  extendSelection: T,
5146
5139
  endSelection: b,
5147
5140
  selectCell: P,
@@ -5152,7 +5145,7 @@ const Qr = 24, Xr = () => {
5152
5145
  setSelectedCells: v,
5153
5146
  setAnchorCell: x,
5154
5147
  setFocusedCellId: $
5155
- } = 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;
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;
5156
5149
  return /* @__PURE__ */ W(
5157
5150
  fn,
5158
5151
  {
@@ -5167,7 +5160,7 @@ const Qr = 24, Xr = () => {
5167
5160
  editing: c(n),
5168
5161
  "last-pinned-left": S,
5169
5162
  "selected-row": C(e),
5170
- expandable: !L && !!t.row.originalSubRows && no(t.row.original.primary.entityType),
5163
+ expandable: !L && !!t.row.originalSubRows && to(t.row.original.primary.entityType),
5171
5164
  "multiple-selected": F
5172
5165
  },
5173
5166
  o,
@@ -5183,12 +5176,12 @@ const Qr = 24, Xr = () => {
5183
5176
  const _ = O.target;
5184
5177
  if (_.closest(".expander") || _.closest(".options")) return;
5185
5178
  if (O.currentTarget.focus(), O.detail === 2) {
5186
- if (to(O) && t.column.id !== "comments" || Wt(t.row.original.primary.entityType) || L) {
5179
+ if (eo(O) && t.column.id !== "comments" || Wt(t.row.original.primary.entityType) || L) {
5187
5180
  O.preventDefault();
5188
5181
  return;
5189
5182
  }
5190
5183
  if (["name", "comments"].includes(t.column.id) && !_.closest(".expander")) {
5191
- t.column.id === "comments" && So("overview", "feed");
5184
+ t.column.id === "comments" && To("overview", "feed");
5192
5185
  const ee = _e(t.row.id, ge), le = O.metaKey || O.ctrlKey, oe = he(ee);
5193
5186
  v((me) => {
5194
5187
  const Ee = le ? new Set(me) : /* @__PURE__ */ new Set();
@@ -5228,7 +5221,7 @@ const Qr = 24, Xr = () => {
5228
5221
  z();
5229
5222
  function z() {
5230
5223
  const J = O.metaKey || O.ctrlKey || f;
5231
- O.shiftKey ? P(n, J, !0) : m(n, J), O.preventDefault();
5224
+ O.shiftKey ? P(n, J, !0) : g(n, J), O.preventDefault();
5232
5225
  }
5233
5226
  },
5234
5227
  onMouseOver: (O) => {
@@ -5253,195 +5246,194 @@ const Qr = 24, Xr = () => {
5253
5246
  );
5254
5247
  };
5255
5248
  export {
5256
- Wl as ALWAYS_VISIBLE_COLUMNS,
5257
- Na as BooleanWidget,
5249
+ Gl as ALWAYS_VISIBLE_COLUMNS,
5250
+ Fa as BooleanWidget,
5258
5251
  bt as BorderPosition,
5259
- jl as CELL_PADDING_Y,
5260
- Ma as COLUMN_ICONS,
5261
- $a as COLUMN_LABELS,
5262
- Va as COLUMN_MIN_SIZE,
5263
- za as COLUMN_SORT_CONFIG,
5264
- Hs as CellEditingContext,
5265
- Da as CellEditingProvider,
5266
- Ba as CellWidget,
5267
- Os as ClipboardContext,
5268
- wr as ClipboardProvider,
5269
- Ua as CollapsedWidget,
5270
- La as ColumnDndProvider,
5271
- Hr as ColumnHeaderMenu,
5272
- Fs as ColumnSettingsContext,
5273
- ra as ColumnSettingsProvider,
5274
- xa as DEFAULT_MAIN_COUNT_LABELS,
5275
- Ta as DEFAULT_ROW_SCOPE,
5276
- Ia as DEFAULT_SUMMARY_FORMAT,
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,
5277
5270
  Be as DRAG_HANDLE_COLUMN_ID,
5278
- Ga as DateWidget,
5279
- Ns as DetailsPanelEntityContext,
5280
- ia as DetailsPanelEntityProvider,
5271
+ Ua as DateWidget,
5272
+ Fs as DetailsPanelEntityContext,
5273
+ ra as DetailsPanelEntityProvider,
5281
5274
  Rn as EDIT_TRIGGER_CLASS,
5282
- Wa as ENTITY_COLUMN_IDS,
5283
- Ha as ENTITY_FIELD_SUPPORT,
5284
- ja as ENTITY_WIDGET_CLASS,
5285
- Ka as EmptyWidget,
5286
- qa as EntityNameWidget,
5287
- Qa as EntityWidget,
5288
- Xa as EnumCellValue,
5289
- Ya as EnumWidget,
5290
- Ja as ErrorWidget,
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,
5291
5284
  an as GROUP_BY_ID,
5292
- Za as GroupHeaderWidget,
5285
+ Ja as GroupHeaderWidget,
5293
5286
  Pn as HeaderActionButton,
5294
- el as LEGACY_COLUMN_ID_ALIASES,
5295
- tl as LinksWidget,
5296
- nl as MarkdownWidget,
5297
- sl as MetaWidget,
5298
- ol as NEXT_PAGE_ID,
5299
- ss as NO_MATCH_FOLDER_ID,
5300
- Ms as ProjectDataContext,
5301
- aa as ProjectDataProvider,
5302
- Ds as ProjectTableContext,
5303
- oa as ProjectTableProvider,
5304
- $s as ProjectTableQueriesContext,
5305
- la as ProjectTableQueriesProvider,
5306
- Oa as ProjectTreeTable,
5307
- js as READ_ONLY,
5308
- rl as RESTRICTED_ENTITY_ICON,
5309
- il as RESTRICTED_ENTITY_LABEL,
5310
- al as RESTRICTED_ENTITY_NAME,
5311
- ll as RESTRICTED_ENTITY_TYPE,
5312
- cl as ROW_ID_SEPARATOR,
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
+ ns as NO_MATCH_FOLDER_ID,
5293
+ Ns as ProjectDataContext,
5294
+ ia as ProjectDataProvider,
5295
+ 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,
5313
5306
  ge as ROW_SELECTION_COLUMN_ID,
5314
- Wr as RowDragHandleCellContent,
5315
- dl as RowSelectionHeader,
5316
- Vs as SelectedRowsContext,
5317
- ca as SelectedRowsProvider,
5318
- ul as SelectionCell,
5319
- Ws as SelectionCellsContext,
5320
- ha as SelectionCellsProvider,
5321
- fl as StyledBaseTextWidget,
5322
- pl as SubtasksWidget,
5323
- Xl as TABLE_CONTAINER_ATTR,
5324
- gl as TextWidget,
5325
- ml as ThumbnailWidget,
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,
5326
5319
  xn as UNGROUPED_VALUE,
5327
- Kl as WRAP_MIN_CELL_HEIGHT,
5328
- ql as WRAP_MIN_ROW_HEIGHT,
5329
- Yl as allowedGroupByFields,
5330
- Ps as buildFolderTableRow,
5331
- yl as buildGroupId,
5332
- hl as buildProductTableRow,
5333
- Dr as buildQueryFilters,
5334
- Ea as buildRowScope,
5335
- Ca as buildSummaryFormat,
5336
- Rs as buildTaskTableRow,
5337
- Il as buildVersionTableRow,
5338
- or as builtInFieldMappings,
5320
+ jl as WRAP_MIN_CELL_HEIGHT,
5321
+ Kl as WRAP_MIN_ROW_HEIGHT,
5322
+ Xl as allowedGroupByFields,
5323
+ Rs as buildFolderTableRow,
5324
+ ml as buildGroupId,
5325
+ yl as buildProductTableRow,
5326
+ Ar as buildQueryFilters,
5327
+ va as buildRowScope,
5328
+ wa as buildSummaryFormat,
5329
+ ks as buildTaskTableRow,
5330
+ hl as buildVersionTableRow,
5331
+ sr as builtInFieldMappings,
5339
5332
  St as checkColumnVisibility,
5340
- Ko as clientFilterToQueryFilter,
5333
+ jo as clientFilterToQueryFilter,
5341
5334
  $e as clipboardError,
5342
- gr as commentsToText,
5343
- nc as convertDateFilterToQueryFilter,
5344
- ka as createLocalStorageKey,
5345
- Ra as createMetaRowId,
5346
- ac as createRelativeValue,
5347
- er as determineLoadingTaskFolders,
5348
- Io as ensureAtLeastOneVisibleColumn,
5349
- qo as expandRelativeDates,
5350
- ba as formatHasCount,
5351
- wa as formatHasPercent,
5352
- Zo as generateDummyAttributes,
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,
5353
5346
  Tt as generateLoadingRows,
5354
- Gs as getBorderClasses,
5355
- bl as getCellBorders,
5347
+ Us as getBorderClasses,
5348
+ Il as getCellBorders,
5356
5349
  _e as getCellId,
5357
5350
  $t as getCellValue,
5358
- wl as getColumnIcon,
5359
- Cl as getColumnLabel,
5360
- Us as getColumnSortKey,
5351
+ bl as getColumnIcon,
5352
+ wl as getColumnLabel,
5353
+ Bs as getColumnSortKey,
5361
5354
  Kt as getColumnWidth,
5362
5355
  qt as getCommonPinningStyles,
5363
- Vr as getEntitiesLabelFromScopes,
5356
+ $r as getEntitiesLabelFromScopes,
5364
5357
  dt as getEntityDataById,
5365
- ns as getEntityPath,
5366
5358
  mn as getEntityViewierIds,
5367
- $r as getFilterErrorMessage,
5368
- Er as getFolderIdsToQueryFromExpanded,
5369
- Tl as getLinkColumnId,
5370
- Ls as getLinkEntityIdsByColumnId,
5371
- Sl as getLinkKey,
5372
- vl as getLinkLabel,
5373
- Ys as getNameColumnLabel,
5374
- sr as getReadOnlyLists,
5375
- El as getScopedColumnId,
5376
- xl as getScopedEntity,
5377
- kl as getScopedValue,
5378
- Rl as getSortableColumnOptions,
5379
- tr as getTableFieldOptions,
5359
+ Mr as getFilterErrorMessage,
5360
+ vr as getFolderIdsToQueryFromExpanded,
5361
+ Cl as getLinkColumnId,
5362
+ 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,
5380
5372
  rn as getTypeDefaultValue,
5381
- Pl as getValueIdType,
5382
- Nr as hasActiveFilters,
5383
- Po as isAttribGroupable,
5384
- Al as isColumnSortable,
5385
- no as isEntityExpandable,
5373
+ Rl as getValueIdType,
5374
+ Fr as hasActiveFilters,
5375
+ Ro as isAttribGroupable,
5376
+ Pl as isColumnSortable,
5377
+ to as isEntityExpandable,
5386
5378
  Wt as isEntityRestricted,
5387
- Dl as isFieldSupported,
5388
- Mr as isFilterError,
5379
+ Al as isFieldSupported,
5380
+ Nr as isFilterError,
5389
5381
  ln as isGroupId,
5390
- Ll as isLinkEditable,
5391
- Pa as isMetaRowId,
5392
- Aa as isMetaRowType,
5393
- Ol as isMultiSelectAttribute,
5394
- lc as isRelativeDateValue,
5395
- cr as isSubtasksTSV,
5396
- to as isTargetReadOnly,
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,
5397
5389
  En as linksToTableData,
5398
- _l as normalizeColumnId,
5399
- Fl as normalizeColumnIdList,
5400
- _s as normalizeColumnsConfig,
5390
+ Ol as normalizeColumnId,
5391
+ _l as normalizeColumnIdList,
5392
+ Os as normalizeColumnsConfig,
5401
5393
  he as parseCellId,
5402
5394
  Fn as parseClipboardText,
5403
- Nl as parseGroupId,
5404
- os as parseMetaRowId,
5395
+ Fl as parseGroupId,
5396
+ ss as parseMetaRowId,
5405
5397
  Gn as parseRowId,
5406
- Ml as parseScopedColumnId,
5407
- rr as processFieldValue,
5408
- sc as queryFilterToClientFilter,
5409
- cc as resolveRelativeValue,
5410
- rs as sanitizeQueryFilter,
5411
- dr as sanitizeSubtaskName,
5412
- Sa as scopeHasGroups,
5413
- va as scopeHasRows,
5414
- pa as scopeIdsToFolders,
5415
- $l as sortEntityLinksByPath,
5416
- sa as subtaskToTSV,
5417
- lr as subtasksToTSV,
5418
- oc as tryMergeDatetimeRange,
5419
- rc as tryMergeTextNullness,
5398
+ Nl as parseScopedColumnId,
5399
+ or as processFieldValue,
5400
+ nc as queryFilterToClientFilter,
5401
+ lc as resolveRelativeValue,
5402
+ 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,
5420
5412
  on as tsvToSubtasks,
5421
5413
  ut as useCellEditing,
5422
- Or as useCheckSelectedCellsVisible,
5423
- Bs as useClipboard,
5424
- Ao as useColumnDragRestriction,
5425
- _r as useColumnGroupBy,
5414
+ Lr as useCheckSelectedCellsVisible,
5415
+ zs as useClipboard,
5416
+ Po as useColumnDragRestriction,
5417
+ Or as useColumnGroupBy,
5426
5418
  nt as useColumnSettingsContext,
5427
5419
  Wn as useDetailsPanelEntityContext,
5428
- fa as useEntitiesMap,
5429
- ya as useExpandedState,
5430
- da as useFetchOverviewData,
5431
- ks as useGetEntityTypeData,
5432
- Jl as useGetGroupedFields,
5433
- ec as useGroupCounts,
5434
- Vl as useOptionalCellEditing,
5435
- zl as useOptionalProjectTableContext,
5436
- Bl as useOptionalSelectedRowsContext,
5437
- Ul as useOptionalSelectionCellsContext,
5420
+ ua as useEntitiesMap,
5421
+ ma as useExpandedState,
5422
+ ca as useFetchOverviewData,
5423
+ 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,
5438
5430
  un as useProjectDataContext,
5439
5431
  Ke as useProjectTableContext,
5440
- zs as useProjectTableQueriesContext,
5441
- ua as useQueryFilters,
5442
- ma as useScopedAttributeFields,
5443
- ga as useSelectedFolders,
5444
- eo as useSelectedRowsContext,
5432
+ Vs as useProjectTableQueriesContext,
5433
+ da as useQueryFilters,
5434
+ ga as useScopedAttributeFields,
5435
+ pa as useSelectedFolders,
5436
+ Zs as useSelectedRowsContext,
5445
5437
  Ye as useSelectionCellsContext,
5446
- ar as validateClipboardData
5438
+ ir as validateClipboardData
5447
5439
  };