@ynput/ayon-frontend-shared 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/DetailsPanel.es.js +2 -2
  2. package/dist/ListTable.es.js +1 -1
  3. package/dist/NewEntity.es.js +5 -3
  4. package/dist/ProjectTreeTable.es.js +4153 -4130
  5. package/dist/ProjectsTable.es.js +5 -4
  6. package/dist/Slicer.es.js +326 -293
  7. package/dist/Views.es.js +724 -714
  8. package/dist/chunks/ColumnDropIndicator.es.js +10 -10
  9. package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +44 -38
  10. package/dist/chunks/EntityPickerDialog.es.js +1 -1
  11. package/dist/chunks/Feed.es.js +41 -39
  12. package/dist/chunks/FilmstripEntityCard.es.js +1 -1
  13. package/dist/chunks/GroupSettingsFallback.es.js +3 -2
  14. package/dist/chunks/MetaWidget.es.js +425 -411
  15. package/dist/chunks/NewEntityContextInstance.es.js +6 -5
  16. package/dist/chunks/ReviewablesSelector.es.js +76 -76
  17. package/dist/chunks/SimpleTable.es.js +151 -149
  18. package/dist/chunks/Slicer.es.js +637 -617
  19. package/dist/chunks/TableExportContextInstance.es.js +141 -136
  20. package/dist/chunks/ThumbnailSimple.es.js +11 -11
  21. package/dist/chunks/Watchers.es.js +46 -46
  22. package/dist/chunks/getUris.es.js +1 -1
  23. package/dist/chunks/searchTerms.es.js +618 -581
  24. package/dist/chunks/useCreateContextMenu.es.js +15 -13
  25. package/dist/components.es.js +1393 -1314
  26. package/dist/context.es.js +1 -1
  27. package/dist/hooks.es.js +2 -2
  28. package/dist/index.es.js +11 -10
  29. package/dist/types/ContextMenu.d.ts +1 -1
  30. package/dist/types/Feed.d.ts +1 -1
  31. package/dist/types/ListTable.d.ts +1 -1
  32. package/dist/types/NewEntity.d.ts +2 -0
  33. package/dist/types/ProjectTreeTable.d.ts +121 -3
  34. package/dist/types/ProjectsTable.d.ts +1 -1
  35. package/dist/types/SimpleTable.d.ts +1 -1
  36. package/dist/types/Slicer.d.ts +7 -1
  37. package/dist/types/Views.d.ts +5 -0
  38. package/dist/types/api.d.ts +1 -0
  39. package/dist/types/components.d.ts +164 -1
  40. package/dist/types/context.d.ts +2 -1
  41. package/dist/types/util.d.ts +21 -0
  42. package/dist/util.es.js +116 -113
  43. package/package.json +2 -2
@@ -1,28 +1,28 @@
1
1
  import { jsx as s, jsxs as M, Fragment as he } from "react/jsx-runtime";
2
- import { useRef as Q, useState as G, useLayoutEffect as Mt, createElement as zn, forwardRef as Se, useEffect as q, Fragment as wt, useMemo as ee, useCallback as Y, createContext as ye, useContext as se, memo as kt } from "react";
2
+ import { useRef as Q, useState as G, useLayoutEffect as Mt, createElement as Fn, forwardRef as Se, useEffect as q, Fragment as wt, useMemo as ee, useCallback as Y, createContext as ye, useContext as ae, memo as kt } from "react";
3
3
  import W from "clsx";
4
4
  import x, { css as Ot } from "styled-components";
5
- import { Icon as te, getTextColor as Fn, Dropdown as cn, FormRow as Je, Dialog as dn, InputText as et, IconSelect as Hn, ColorPicker as Bn, Button as xe, SaveButton as Wn, TagsSelect as Un, BorderedSection as zt, theme as Ke, getMixedCounts as Kn, applyMixedChange as Vn } from "@ynput/ayon-react-components";
5
+ import { Icon as re, getTextColor as Hn, Dropdown as cn, FormRow as Je, Dialog as dn, InputText as et, IconSelect as Bn, ColorPicker as Wn, Button as xe, SaveButton as Un, TagsSelect as Kn, BorderedSection as zt, theme as Ke, getMixedCounts as Vn, applyMixedChange as Gn } from "@ynput/ayon-react-components";
6
6
  import "@module-federation/enhanced/runtime";
7
7
  import "@ynput/ayon-addon/host";
8
8
  import { toast as we } from "react-toastify";
9
- import { bA as Gn, bs as Tt, bJ as jn, bB as Yn, a as qn } from "./searchTerms.es.js";
10
- import { bv as Qn, d8 as Jn, bG as Zn, L as Xn, a2 as er, c0 as at, aZ as tr, aK as nr, cj as rr, v as or, dB as ir, dr as ar, cA as sr, aj as lr } from "./getUris.es.js";
9
+ import { bC as jn, bs as Tt, bL as Yn, bD as qn, a as Qn } from "./searchTerms.es.js";
10
+ import { bv as Jn, d8 as Zn, bG as Xn, L as er, a2 as tr, c0 as at, aZ as nr, aK as rr, cj as or, v as ir, dB as ar, dr as sr, cA as lr, aj as cr } from "./getUris.es.js";
11
11
  import "primereact/confirmdialog";
12
12
  import { upperFirst as He, debounce as un } from "lodash";
13
13
  import "uuid";
14
- import { e as cr, g as Ze, d as yt, b as pn, p as Ft, c as dr, a as ur } from "./iconUtils.es.js";
14
+ import { e as dr, g as Ze, d as yt, b as pn, p as Ft, c as ur, a as pr } from "./iconUtils.es.js";
15
15
  import "axios";
16
- import { q as Be, b as pr, c as mn } from "./TableExportContextInstance.es.js";
16
+ import { s as Be, b as mr, c as mn } from "./TableExportContextInstance.es.js";
17
17
  import "semver";
18
18
  import "./ContextMenuContextInstance.es.js";
19
19
  import "react-dom";
20
20
  import "react-router-dom";
21
- import { e as ft, P as mr, a6 as gr, r as We, J as Ct, as as hr, G as yr, s as fr, t as St, a9 as br, a3 as vr, U as xr, aa as wr, a8 as kr, F as Tr } from "./FilmstripEntityCard.es.js";
21
+ import { e as ft, P as gr, a6 as hr, r as We, J as Ct, as as yr, G as fr, s as br, t as St, a9 as vr, a3 as xr, U as wr, aa as kr, a8 as Tr, F as Cr } from "./FilmstripEntityCard.es.js";
22
22
  import "lexical";
23
23
  import "@lexical/markdown";
24
24
  import "match-sorter";
25
- import { parseISO as st, isValid as Ht, subMilliseconds as bt, format as Cr } from "date-fns";
25
+ import { parseISO as st, isValid as Ht, subMilliseconds as bt, format as Sr } from "date-fns";
26
26
  import "@lexical/code";
27
27
  import "@lexical/list";
28
28
  import "@lexical/rich-text";
@@ -32,14 +32,14 @@ import "@lexical/react/LexicalBlockWithAlignableContents";
32
32
  import "@lexical/react/LexicalDecoratorBlockNode";
33
33
  import "@ynput/ayon-addon";
34
34
  import { sortingFns as Ne } from "@tanstack/react-table";
35
- import { W as Sr, l as _e, L as $e, R as Bt, g as lt, C as Ir, m as Er } from "./realtimeUpdatesUtils.es.js";
36
- import gn, { defaultUrlTransform as Rr } from "react-markdown";
35
+ import { W as Ir, l as _e, L as $e, R as Bt, g as lt, C as Er, m as Rr } from "./realtimeUpdatesUtils.es.js";
36
+ import gn, { defaultUrlTransform as Lr } from "react-markdown";
37
37
  import hn from "remark-gfm";
38
38
  import { useSelector as Wt } from "react-redux";
39
- import { E as Lr } from "./EntityPickerDialog.es.js";
40
- import { g as Te, a as Nr } from "./getEntityTypeIcon.es.js";
41
- import { g as Dr, a as Ar } from "./getThumbnailUrl.es.js";
42
- const Pr = x.div`
39
+ import { E as Nr } from "./EntityPickerDialog.es.js";
40
+ import { g as Te, a as Dr } from "./getEntityTypeIcon.es.js";
41
+ import { g as Ar, a as Pr } from "./getThumbnailUrl.es.js";
42
+ const _r = x.div`
43
43
  display: flex;
44
44
  gap: var(--base-gap-small);
45
45
  align-items: center;
@@ -80,12 +80,12 @@ const Pr = x.div`
80
80
  top: -9999px;
81
81
  left: -9999px;
82
82
  z-index: -100;
83
- `, _r = x(It)`
83
+ `, $r = x(It)`
84
84
  flex-shrink: 0;
85
85
  display: flex;
86
86
  justify-content: center;
87
87
  align-items: center;
88
- `, $r = x(te)`
88
+ `, Mr = x(re)`
89
89
  background-color: var(--md-sys-color-surface-container);
90
90
  border-radius: var(--border-radius-m);
91
91
  width: 24px;
@@ -129,10 +129,10 @@ const Pr = x.div`
129
129
  return E.observe(m), _(), () => E.disconnect();
130
130
  }, [e, g]), t) return null;
131
131
  if (!e.length)
132
- return /* @__PURE__ */ s($r, { icon: "add", className: o?.chip?.className });
132
+ return /* @__PURE__ */ s(Mr, { icon: "add", className: o?.chip?.className });
133
133
  const f = e.slice(0, i), p = i ? e.length - f.length : 0;
134
- return /* @__PURE__ */ M(Pr, { ref: a, className: W(n, { "multi-row": l > 1 }), children: [
135
- f.map((m, S) => /* @__PURE__ */ zn(
134
+ return /* @__PURE__ */ M(_r, { ref: a, className: W(n, { "multi-row": l > 1 }), children: [
135
+ f.map((m, S) => /* @__PURE__ */ Fn(
136
136
  It,
137
137
  {
138
138
  ...o?.chip,
@@ -147,17 +147,17 @@ const Pr = x.div`
147
147
  )
148
148
  },
149
149
  m.prefix,
150
- m?.icon && /* @__PURE__ */ s(te, { icon: m.icon }),
150
+ m?.icon && /* @__PURE__ */ s(re, { icon: m.icon }),
151
151
  m.label,
152
152
  m.suffix
153
153
  )),
154
- p > 0 && /* @__PURE__ */ M(_r, { className: W("more-chip", o?.chip?.className), children: [
154
+ p > 0 && /* @__PURE__ */ M($r, { className: W("more-chip", o?.chip?.className), children: [
155
155
  "+",
156
156
  p
157
157
  ] }),
158
158
  g.map((m, S) => /* @__PURE__ */ M(Ut, { className: "offscreen-chip", children: [
159
159
  m.prefix,
160
- m?.icon && /* @__PURE__ */ s(te, { icon: m.icon }),
160
+ m?.icon && /* @__PURE__ */ s(re, { icon: m.icon }),
161
161
  m.label,
162
162
  m.suffix
163
163
  ] }, m.label + S)),
@@ -166,7 +166,7 @@ const Pr = x.div`
166
166
  g.length - 1
167
167
  ] })
168
168
  ] });
169
- }, Mr = x.div`
169
+ }, Or = x.div`
170
170
  width: 8px;
171
171
  height: 8px;
172
172
  border-radius: 50%;
@@ -176,9 +176,9 @@ const Pr = x.div`
176
176
  top: 50%;
177
177
  left: 50%;
178
178
  transform: translate(-50%, -50%);
179
- `, Or = Se(
180
- ({ color: e, ...t }, n) => /* @__PURE__ */ s(Mr, { style: { backgroundColor: e }, ...t, ref: n })
181
- ), zr = x.input`
179
+ `, zr = Se(
180
+ ({ color: e, ...t }, n) => /* @__PURE__ */ s(Or, { style: { backgroundColor: e }, ...t, ref: n })
181
+ ), Fr = x.input`
182
182
  z-index: 10;
183
183
  border: none;
184
184
  outline: none;
@@ -192,7 +192,7 @@ const Pr = x.div`
192
192
  background-color: transparent;
193
193
  width: 100%;
194
194
  box-sizing: border-box;
195
- `, Fr = Se(
195
+ `, Hr = Se(
196
196
  ({
197
197
  value: e,
198
198
  onChange: t,
@@ -256,7 +256,7 @@ const Pr = x.div`
256
256
  return !1;
257
257
  };
258
258
  return /* @__PURE__ */ s(
259
- zr,
259
+ Fr,
260
260
  {
261
261
  ...i,
262
262
  ref: d,
@@ -274,18 +274,18 @@ const Pr = x.div`
274
274
  );
275
275
  }
276
276
  ), rt = (e, ...t) => Ot`
277
- @container cell (min-height: ${Sr}px) {
277
+ @container cell (min-height: ${Ir}px) {
278
278
  ${Ot(e, ...t)}
279
279
  }
280
- `, Hr = x.span`
280
+ `, Br = x.span`
281
281
  white-space: nowrap;
282
282
 
283
283
  ${rt`
284
284
  white-space: normal;
285
285
  `}
286
- `, Br = x.span`
286
+ `, Wr = x.span`
287
287
  white-space: nowrap;
288
- `, Wr = Se(
288
+ `, Ur = Se(
289
289
  ({
290
290
  value: e,
291
291
  isEditing: t,
@@ -301,13 +301,13 @@ const Pr = x.div`
301
301
  if (e)
302
302
  try {
303
303
  const S = l ? "dd-MM-yyyy HH:mm:ss" : "dd-MM-yyyy", u = c ? bt(new Date(e), 1) : new Date(e);
304
- f = l ? Cr(u, S) : ft(u, S);
304
+ f = l ? Sr(u, S) : ft(u, S);
305
305
  } catch {
306
306
  console.error("Invalid date value:", e), f = "Invalid Date", p = !0;
307
307
  }
308
308
  if (t)
309
309
  return /* @__PURE__ */ s(
310
- Fr,
310
+ Hr,
311
311
  {
312
312
  value: e,
313
313
  onChange: a,
@@ -319,12 +319,12 @@ const Pr = x.div`
319
319
  }
320
320
  );
321
321
  const m = f && !p ? f.split(" ") : [];
322
- return /* @__PURE__ */ s(Hr, { ...g, ref: d, children: p ? f : m.map((S, u) => /* @__PURE__ */ M(wt, { children: [
322
+ return /* @__PURE__ */ s(Br, { ...g, ref: d, children: p ? f : m.map((S, u) => /* @__PURE__ */ M(wt, { children: [
323
323
  u > 0 && " ",
324
- /* @__PURE__ */ s(Br, { children: S })
324
+ /* @__PURE__ */ s(Wr, { children: S })
325
325
  ] }, u)) });
326
326
  }
327
- ), Ur = "edit-trigger", vt = x.span`
327
+ ), Kr = "edit-trigger", vt = x.span`
328
328
  text-align: left;
329
329
  border-radius: var(--border-radius-m);
330
330
  padding: 0px 2px;
@@ -336,7 +336,7 @@ const Pr = x.div`
336
336
  &.placeholder {
337
337
  color: var(--md-sys-color-outline);
338
338
  }
339
- `, Kr = x.div`
339
+ `, Vr = x.div`
340
340
  display: flex;
341
341
  gap: 1px;
342
342
  align-items: center;
@@ -403,7 +403,7 @@ const Pr = x.div`
403
403
  }
404
404
  }
405
405
  `}
406
- `, Vr = x.div`
406
+ `, Gr = x.div`
407
407
  flex: 1;
408
408
  display: flex;
409
409
  gap: var(--base-gap-small);
@@ -413,14 +413,14 @@ const Pr = x.div`
413
413
  border-radius: var(--border-radius-m);
414
414
  padding: 0px 2px;
415
415
  flex-wrap: nowrap;
416
- `, Gr = x.div`
416
+ `, jr = x.div`
417
417
  display: flex;
418
418
  gap: 2px;
419
419
  align-items: center;
420
420
 
421
421
  max-width: 100%;
422
422
  min-width: 20px;
423
- `, jr = x.img`
423
+ `, Yr = x.img`
424
424
  width: 20px;
425
425
  height: 20px;
426
426
  object-fit: cover;
@@ -429,7 +429,7 @@ const Pr = x.div`
429
429
  &.avatar {
430
430
  border-radius: 50%;
431
431
  }
432
- `, Yr = x.div`
432
+ `, qr = x.div`
433
433
  border-radius: var(--border-radius-m);
434
434
  display: flex;
435
435
  justify-content: center;
@@ -444,7 +444,7 @@ const Pr = x.div`
444
444
  &.open {
445
445
  background-color: transparent;
446
446
  }
447
- `, qr = x(te)`
447
+ `, Qr = x(re)`
448
448
  transition: rotate 0.2s;
449
449
  padding: 2px;
450
450
  `, Ve = ({
@@ -474,7 +474,7 @@ const Pr = x.div`
474
474
  value: ""
475
475
  }
476
476
  ]), /* @__PURE__ */ M(
477
- Kr,
477
+ Vr,
478
478
  {
479
479
  className: W(d, {
480
480
  selected: l,
@@ -483,22 +483,22 @@ const Pr = x.div`
483
483
  }),
484
484
  ...p,
485
485
  children: [
486
- /* @__PURE__ */ s(Vr, { className: "values", children: e.map((k, O) => /* @__PURE__ */ M(
487
- Gr,
486
+ /* @__PURE__ */ s(Gr, { className: "values", children: e.map((k, O) => /* @__PURE__ */ M(
487
+ jr,
488
488
  {
489
489
  className: W({ "has-img": Kt(k.icon) }),
490
490
  children: [
491
491
  k.icon && Kt(k.icon) ? /* @__PURE__ */ s(
492
- jr,
492
+ Yr,
493
493
  {
494
494
  src: k.icon,
495
- className: W({ avatar: Qr(k.icon) }, I),
495
+ className: W({ avatar: Jr(k.icon) }, I),
496
496
  style: E,
497
497
  "data-tooltip": k.label,
498
498
  ...T
499
499
  }
500
500
  ) : k.icon ? /* @__PURE__ */ s(
501
- te,
501
+ re,
502
502
  {
503
503
  icon: k.icon,
504
504
  style: { color: k.color, ...w },
@@ -510,7 +510,7 @@ const Pr = x.div`
510
510
  vt,
511
511
  {
512
512
  style: {
513
- color: L && k.color ? Fn(k.color) : g && k.icon ? void 0 : k.color,
513
+ color: L && k.color ? Hn(k.color) : g && k.icon ? void 0 : k.color,
514
514
  backgroundColor: L ? k.color || "var(--md-sys-color-surface-container)" : "transparent",
515
515
  ...z
516
516
  },
@@ -525,11 +525,11 @@ const Pr = x.div`
525
525
  k.value.toString() + O
526
526
  )) }),
527
527
  !i && !c && /* @__PURE__ */ s(
528
- Yr,
528
+ qr,
529
529
  {
530
- className: W("expand", Ur, { open: a }, P),
530
+ className: W("expand", Kr, { open: a }, P),
531
531
  children: /* @__PURE__ */ s(
532
- qr,
532
+ Qr,
533
533
  {
534
534
  icon: "expand_more",
535
535
  style: { rotate: a ? "180deg" : "0", ...A },
@@ -540,7 +540,7 @@ const Pr = x.div`
540
540
  }
541
541
  ),
542
542
  i && l && o && /* @__PURE__ */ s(
543
- te,
543
+ re,
544
544
  {
545
545
  icon: "close",
546
546
  style: { marginLeft: "auto", marginRight: 4, ...r },
@@ -552,7 +552,7 @@ const Pr = x.div`
552
552
  ]
553
553
  }
554
554
  );
555
- }, Kt = (e = "") => e.startsWith("/") || e.startsWith("./") || e.startsWith("../") || e.startsWith("http://") || e.startsWith("https://"), Qr = (e) => e.includes("avatar"), Jr = x(cn)`
555
+ }, Kt = (e = "") => e.startsWith("/") || e.startsWith("./") || e.startsWith("../") || e.startsWith("http://") || e.startsWith("https://"), Jr = (e) => e.includes("avatar"), Zr = x(cn)`
556
556
  height: 100%;
557
557
  width: 100%;
558
558
 
@@ -562,7 +562,7 @@ const Pr = x.div`
562
562
  height: 100%;
563
563
  }
564
564
  `}
565
- `, Zr = Se(
565
+ `, Xr = Se(
566
566
  ({
567
567
  value: e,
568
568
  isEditing: t,
@@ -600,7 +600,7 @@ const Pr = x.div`
600
600
  w = [...w, P], R.push(P);
601
601
  }
602
602
  });
603
- const _ = w.length > 1, E = [...Gn(n, y), ...R], I = Q(null), [T, z] = G(!1);
603
+ const _ = w.length > 1, E = [...jn(n, y), ...R], I = Q(null), [T, z] = G(!1);
604
604
  q(() => {
605
605
  t && I.current && a ? (!I.current.isOpen && I.current?.open(), z(!0)) : z(!1);
606
606
  }, [t, I.current, a]), q(() => {
@@ -614,7 +614,7 @@ const Pr = x.div`
614
614
  o?.includes("list") || (P = Array.isArray(P) ? P[0] : P), d(P, "Click");
615
615
  };
616
616
  return t ? /* @__PURE__ */ s(
617
- Jr,
617
+ Zr,
618
618
  {
619
619
  options: E,
620
620
  value: y,
@@ -671,8 +671,8 @@ const Pr = x.div`
671
671
  }
672
672
  );
673
673
  }
674
- ), Vt = /* @__PURE__ */ new Map(), Xr = (e, t = []) => {
675
- const { data: n } = Qn(void 0, { skip: !e }), [o] = Jn(), a = !!e && !!(n?.data?.isAdmin || n?.data?.isManager), [i, l] = G(null), c = Y(
674
+ ), Vt = /* @__PURE__ */ new Map(), eo = (e, t = []) => {
675
+ const { data: n } = Jn(void 0, { skip: !e }), [o] = Zn(), a = !!e && !!(n?.data?.isAdmin || n?.data?.isManager), [i, l] = G(null), c = Y(
676
676
  (g) => {
677
677
  if (!e || !g.length) return;
678
678
  const d = (Vt.get(e) || Promise.resolve()).then(async () => {
@@ -710,16 +710,16 @@ const Pr = x.div`
710
710
  addTags: (p) => c(p.filter((m) => m && !g.has(m)).map((m) => ({ name: m })))
711
711
  };
712
712
  }, [a, t, c, i]);
713
- }, eo = x(Je)`
713
+ }, to = x(Je)`
714
714
  .field {
715
715
  padding: 4px;
716
716
  margin: -4px;
717
717
  }
718
- `, to = x.div`
718
+ `, no = x.div`
719
719
  display: flex;
720
720
  flex-direction: column;
721
721
  gap: 12px;
722
- `, Oe = (e) => e.stopPropagation(), no = ({
722
+ `, Oe = (e) => e.stopPropagation(), ro = ({
723
723
  item: e,
724
724
  isNew: t,
725
725
  fields: n,
@@ -753,7 +753,7 @@ const Pr = x.div`
753
753
  footer: /* @__PURE__ */ M(he, { children: [
754
754
  /* @__PURE__ */ s(xe, { onClick: i, children: "Cancel" }),
755
755
  /* @__PURE__ */ s(
756
- Wn,
756
+ Un,
757
757
  {
758
758
  label: t ? "Add" : "Save",
759
759
  icon: "check",
@@ -767,7 +767,7 @@ const Pr = x.div`
767
767
  style: { zIndex: 11e3 }
768
768
  }
769
769
  },
770
- children: /* @__PURE__ */ M(to, { children: [
770
+ children: /* @__PURE__ */ M(no, { children: [
771
771
  t && /* @__PURE__ */ s(Je, { label: "Name", children: /* @__PURE__ */ s(
772
772
  et,
773
773
  {
@@ -786,22 +786,22 @@ const Pr = x.div`
786
786
  }
787
787
  ) }),
788
788
  n.includes("icon") && /* @__PURE__ */ s(Je, { label: "Icon", children: /* @__PURE__ */ s(
789
- Hn,
789
+ Bn,
790
790
  {
791
791
  value: l.icon ? [l.icon] : [],
792
792
  onChange: (p) => g({ icon: p[0] })
793
793
  }
794
794
  ) }),
795
- n.includes("color") && /* @__PURE__ */ s(eo, { label: "Colour", style: { padding: 4 }, children: /* @__PURE__ */ s(Bn, { value: l.color, onChange: (p) => g({ color: p }) }) })
795
+ n.includes("color") && /* @__PURE__ */ s(to, { label: "Colour", style: { padding: 4 }, children: /* @__PURE__ */ s(Wn, { value: l.color, onChange: (p) => g({ color: p }) }) })
796
796
  ] })
797
797
  }
798
798
  )
799
799
  }
800
800
  );
801
- }, ro = "#353B46", oo = x(Un)`
801
+ }, oo = "#353B46", io = x(Kn)`
802
802
  width: 100%;
803
803
  height: 100%;
804
- `, io = ({
804
+ `, ao = ({
805
805
  value: e,
806
806
  options: t,
807
807
  projectName: n,
@@ -831,7 +831,7 @@ const Pr = x.div`
831
831
  }, [t, u]), y = !!o && !a, w = ee(
832
832
  () => t.map((I) => ({ name: I.value.toString() })),
833
833
  [t]
834
- ), R = Xr(
834
+ ), R = eo(
835
835
  f && y ? n : void 0,
836
836
  w
837
837
  ), _ = Q(null);
@@ -840,7 +840,7 @@ const Pr = x.div`
840
840
  }, [y]), y)
841
841
  return /* @__PURE__ */ M(he, { children: [
842
842
  /* @__PURE__ */ s(
843
- oo,
843
+ io,
844
844
  {
845
845
  ref: _,
846
846
  value: u,
@@ -862,13 +862,13 @@ const Pr = x.div`
862
862
  className: d
863
863
  }
864
864
  ),
865
- R && /* @__PURE__ */ s(no, { ...R.dialog })
865
+ R && /* @__PURE__ */ s(ro, { ...R.dialog })
866
866
  ] });
867
867
  const E = u.map(
868
868
  (I) => t.find((T) => T.value === I) ?? {
869
869
  value: I,
870
870
  label: I,
871
- color: ro
871
+ color: oo
872
872
  }
873
873
  );
874
874
  return /* @__PURE__ */ s(
@@ -883,7 +883,7 @@ const Pr = x.div`
883
883
  className: W("enum-value", p?.template?.className, d)
884
884
  }
885
885
  );
886
- }, ao = x.input`
886
+ }, so = x.input`
887
887
  z-index: 10;
888
888
  border: none;
889
889
  outline: none;
@@ -901,7 +901,7 @@ const Pr = x.div`
901
901
  padding: 0 8px 0 9px;
902
902
  background-color: var(--md-sys-color-surface-container-lowest);
903
903
  box-shadow: inset 0 0 0 2px var(--md-sys-color-primary);
904
- `, so = Se(
904
+ `, lo = Se(
905
905
  ({ value: e, onChange: t, onCancel: n, autoFocus: o = !0, type: a = "string", ...i }, l) => {
906
906
  const [c, g] = G(e), d = Q(null), f = Q(!1), p = Q(e), m = (y) => {
907
907
  const w = y != null ? String(y).trim() : "";
@@ -934,7 +934,7 @@ const Pr = x.div`
934
934
  return q(() => {
935
935
  o && d && d.current && (d.current.focus(), d.current.select());
936
936
  }, [o]), /* @__PURE__ */ s(
937
- ao,
937
+ so,
938
938
  {
939
939
  ...i,
940
940
  ref: d,
@@ -973,7 +973,7 @@ const Pr = x.div`
973
973
  }
974
974
  );
975
975
  }
976
- ), lo = x.div`
976
+ ), co = x.div`
977
977
  padding: 0;
978
978
  cursor: pointer;
979
979
  display: flex;
@@ -1028,22 +1028,22 @@ const Pr = x.div`
1028
1028
  left: var(--padding-s);
1029
1029
  }
1030
1030
  }
1031
- `, co = x.div`
1031
+ `, uo = x.div`
1032
1032
  display: flex;
1033
1033
  justify-content: end;
1034
1034
  align-items: center;
1035
1035
  padding: 8px;
1036
1036
  height: 48px;
1037
1037
  border-top: 1px solid var(--md-sys-color-outline-variant);
1038
- `, uo = x.div`
1038
+ `, po = x.div`
1039
1039
  height: 20px;
1040
1040
  background: var(--md-sys-color-surface-container-low);
1041
1041
  border-radius: 4px;
1042
- `, po = x.div`
1042
+ `, mo = x.div`
1043
1043
  display: flex;
1044
1044
  gap: 8px;
1045
1045
  `, yn = (e, { skip: t } = {}) => {
1046
- const { data: n } = Zn(
1046
+ const { data: n } = Xn(
1047
1047
  {
1048
1048
  suggestRequest: {
1049
1049
  entityType: e?.entityType,
@@ -1054,7 +1054,7 @@ const Pr = x.div`
1054
1054
  { skip: t || !e?.projectName || !e?.entityId }
1055
1055
  ), { entityType: o, productTypes: a, taskTypes: i } = e ?? {};
1056
1056
  return ee(
1057
- () => e ? mr({
1057
+ () => e ? gr({
1058
1058
  suggestions: n,
1059
1059
  project: { productTypes: a ?? [] },
1060
1060
  taskTypes: i,
@@ -1062,7 +1062,7 @@ const Pr = x.div`
1062
1062
  }) : void 0,
1063
1063
  [!!e, n, a, i, o]
1064
1064
  );
1065
- }, mo = x.div`
1065
+ }, go = x.div`
1066
1066
  display: flex;
1067
1067
  flex-direction: column;
1068
1068
  background: var(--md-sys-color-surface-container-lowest);
@@ -1080,7 +1080,7 @@ const Pr = x.div`
1080
1080
  &.editing {
1081
1081
  border: 2px solid var(--md-sys-color-primary);
1082
1082
  }
1083
- `, go = x.textarea`
1083
+ `, ho = x.textarea`
1084
1084
  width: 100%;
1085
1085
  height: auto;
1086
1086
  min-height: 88px;
@@ -1092,7 +1092,7 @@ const Pr = x.div`
1092
1092
  color: inherit;
1093
1093
  font: inherit;
1094
1094
  padding: 12px;
1095
- `, ho = x.div`
1095
+ `, yo = x.div`
1096
1096
  width: 100%;
1097
1097
  white-space: pre-wrap;
1098
1098
  word-break: break-word;
@@ -1101,7 +1101,7 @@ const Pr = x.div`
1101
1101
  min-height: 88px;
1102
1102
  max-height: inherit;
1103
1103
  overflow: auto;
1104
- `, yo = {
1104
+ `, fo = {
1105
1105
  d: "code",
1106
1106
  o: "number",
1107
1107
  l: "bullet",
@@ -1173,9 +1173,9 @@ const Pr = x.div`
1173
1173
  ), U = Y(
1174
1174
  (k = "Click") => {
1175
1175
  if (!I) {
1176
- const { value: F, error: ne } = P(w);
1177
- if (ne) {
1178
- we.error(ne);
1176
+ const { value: F, error: te } = P(w);
1177
+ if (te) {
1178
+ we.error(te);
1179
1179
  return;
1180
1180
  }
1181
1181
  if (k !== "Enter" && (F === B.current || String(F ?? "") === B.current)) {
@@ -1204,12 +1204,12 @@ const Pr = x.div`
1204
1204
  return;
1205
1205
  }
1206
1206
  if (k.shiftKey || k.altKey || !(k.ctrlKey || k.metaKey)) return;
1207
- const O = yo[k.key.toLowerCase()], F = _.current?.getEditor();
1208
- !O || !F || (k.preventDefault(), gr(F, O));
1207
+ const O = fo[k.key.toLowerCase()], F = _.current?.getEditor();
1208
+ !O || !F || (k.preventDefault(), hr(F, O));
1209
1209
  },
1210
1210
  [E, I]
1211
1211
  ), D = /* @__PURE__ */ s(
1212
- mo,
1212
+ go,
1213
1213
  {
1214
1214
  ref: H,
1215
1215
  className: E ? "preview" : "editing",
@@ -1254,8 +1254,8 @@ const Pr = x.div`
1254
1254
  onEscape: E ? void 0 : () => a?.()
1255
1255
  },
1256
1256
  `text-editor-${i}-${t}`
1257
- ) : E ? /* @__PURE__ */ s(ho, { children: y }) : /* @__PURE__ */ s(
1258
- go,
1257
+ ) : E ? /* @__PURE__ */ s(yo, { children: y }) : /* @__PURE__ */ s(
1258
+ ho,
1259
1259
  {
1260
1260
  ref: T,
1261
1261
  value: w,
@@ -1324,13 +1324,13 @@ const Pr = x.div`
1324
1324
  }
1325
1325
  `}
1326
1326
  `;
1327
- let bn, fo;
1328
- const bo = () => fo ??= import("rehype-raw").then((e) => bn = e.default), vo = (e) => {
1327
+ let bn, bo;
1328
+ const vo = () => bo ??= import("rehype-raw").then((e) => bn = e.default), xo = (e) => {
1329
1329
  const [t, n] = G(() => bn);
1330
1330
  return q(() => {
1331
1331
  if (!e || t) return;
1332
1332
  let o = !0;
1333
- return bo().then((a) => {
1333
+ return vo().then((a) => {
1334
1334
  o && n(() => a);
1335
1335
  }), () => {
1336
1336
  o = !1;
@@ -1347,7 +1347,7 @@ const bo = () => fo ??= import("rehype-raw").then((e) => bn = e.default), vo = (
1347
1347
  &:hover {
1348
1348
  text-decoration: underline;
1349
1349
  }
1350
- `, xo = x.div`
1350
+ `, wo = x.div`
1351
1351
  background: var(--md-sys-color-surface-container-lowest);
1352
1352
  border-radius: 8px;
1353
1353
  padding: 12px;
@@ -1374,7 +1374,7 @@ const bo = () => fo ??= import("rehype-raw").then((e) => bn = e.default), vo = (
1374
1374
  }
1375
1375
  }
1376
1376
  `;
1377
- class wo {
1377
+ class ko {
1378
1378
  lastShownTime = 0;
1379
1379
  warmTimeout = 500;
1380
1380
  // ms idle before resetting to cold mode
@@ -1387,19 +1387,19 @@ class wo {
1387
1387
  this.lastShownTime = Date.now();
1388
1388
  }
1389
1389
  }
1390
- const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1390
+ const jt = new ko(), dt = "projectTreeTextPreviewOpen", To = (e) => {
1391
1391
  try {
1392
1392
  const t = new URL(e.trim());
1393
1393
  return t.protocol === "http:" || t.protocol === "https:";
1394
1394
  } catch {
1395
1395
  return !1;
1396
1396
  }
1397
- }, To = (e) => {
1397
+ }, Co = (e) => {
1398
1398
  const t = /(https?:\/\/[^\s<>"]+[^\s.,!?;:<>\")\]])/gi;
1399
- return e.split(t).map((o, a) => ko(o) ? { type: "url", content: o, key: a } : { type: "text", content: o, key: a });
1399
+ return e.split(t).map((o, a) => To(o) ? { type: "url", content: o, key: a } : { type: "text", content: o, key: a });
1400
1400
  }, Yt = (e) => {
1401
1401
  const t = e?.match(/^@?([a-z]+):(.+)$/);
1402
- return !t || !yr.includes(t[1]) ? null : { type: t[1], id: decodeURIComponent(t[2]) };
1402
+ return !t || !fr.includes(t[1]) ? null : { type: t[1], id: decodeURIComponent(t[2]) };
1403
1403
  }, qt = (e) => /<[^>]*>/.test(e), Qt = Se(
1404
1404
  ({
1405
1405
  value: e,
@@ -1420,7 +1420,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1420
1420
  className: b,
1421
1421
  ...y
1422
1422
  }, w) => {
1423
- const R = vo(!!n), _ = p || (() => {
1423
+ const R = xo(!!n), _ = p || (() => {
1424
1424
  }), E = m || (() => null), I = S || (() => {
1425
1425
  }), [T, z] = G(!1), [H, B] = G(!1), [A, P] = G(!1), [U, r] = G(!1), h = Q(null), v = Q(), N = Q(), C = Q(!1), L = T || H, D = t?.label || e, k = typeof D == "string" ? D : String(D ?? ""), O = !n && !qt(k) && !k.match(/(https?:\/\/\S+)/gi);
1426
1426
  q(() => {
@@ -1460,7 +1460,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1460
1460
  };
1461
1461
  return window.addEventListener(dt, K), () => window.removeEventListener(dt, K);
1462
1462
  }, [f, F]);
1463
- const ne = Y(() => {
1463
+ const te = Y(() => {
1464
1464
  F(!1), f && _(f);
1465
1465
  }, [f, _, F]), ue = Y(
1466
1466
  (K, V) => {
@@ -1472,7 +1472,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1472
1472
  {
1473
1473
  remarkPlugins: [hn],
1474
1474
  rehypePlugins: R ? [R] : [],
1475
- urlTransform: (V) => Yt(V) ? V : Rr(V),
1475
+ urlTransform: (V) => Yt(V) ? V : Lr(V),
1476
1476
  components: {
1477
1477
  p: ({ children: V }) => /* @__PURE__ */ s("span", { children: V }),
1478
1478
  a: ({ href: V, children: $ }) => {
@@ -1480,7 +1480,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1480
1480
  if (j) {
1481
1481
  const Z = String($ ?? "").replace(/^@+/, "");
1482
1482
  return /* @__PURE__ */ s(
1483
- hr,
1483
+ yr,
1484
1484
  {
1485
1485
  type: j.type,
1486
1486
  id: j.id.replaceAll(".", "-").replaceAll(" ", "-"),
@@ -1505,7 +1505,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1505
1505
  },
1506
1506
  children: k
1507
1507
  }
1508
- ) : qt(k) ? cr(k).map(($) => $.type === "url" && $.href ? /* @__PURE__ */ s(
1508
+ ) : qt(k) ? dr(k).map(($) => $.type === "url" && $.href ? /* @__PURE__ */ s(
1509
1509
  ct,
1510
1510
  {
1511
1511
  href: $.href,
@@ -1515,7 +1515,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1515
1515
  children: $.content
1516
1516
  },
1517
1517
  $.key
1518
- ) : /* @__PURE__ */ s("span", { style: { whiteSpace: "pre-line" }, children: $.content }, $.key)) : k.match(/(https?:\/\/\S+)/gi) ? To(k).map(($) => $.type === "url" ? /* @__PURE__ */ s(
1518
+ ) : /* @__PURE__ */ s("span", { style: { whiteSpace: "pre-line" }, children: $.content }, $.key)) : k.match(/(https?:\/\/\S+)/gi) ? Co(k).map(($) => $.type === "url" ? /* @__PURE__ */ s(
1519
1519
  ct,
1520
1520
  {
1521
1521
  href: $.content,
@@ -1528,7 +1528,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1528
1528
  ) : $.content) : k;
1529
1529
  if (o && !n)
1530
1530
  return /* @__PURE__ */ s(
1531
- so,
1531
+ lo,
1532
1532
  {
1533
1533
  value: e,
1534
1534
  onChange: i,
@@ -1552,7 +1552,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1552
1552
  },
1553
1553
  children: [
1554
1554
  t?.icon && /* @__PURE__ */ s(
1555
- te,
1555
+ re,
1556
1556
  {
1557
1557
  icon: t.icon,
1558
1558
  style: {
@@ -1591,7 +1591,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1591
1591
  allowMarkdown: !0,
1592
1592
  onChange: i,
1593
1593
  onCancelEdit: () => F(!1),
1594
- onPreviewClick: ne,
1594
+ onPreviewClick: te,
1595
1595
  onPreviewMouseEnter: () => B(!0),
1596
1596
  onPreviewMouseLeave: () => B(!1)
1597
1597
  }
@@ -1603,9 +1603,9 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1603
1603
  anchorId: f,
1604
1604
  onClose: () => F(!1),
1605
1605
  children: /* @__PURE__ */ s(
1606
- xo,
1606
+ wo,
1607
1607
  {
1608
- onClick: ne,
1608
+ onClick: te,
1609
1609
  onMouseEnter: () => B(!0),
1610
1610
  onMouseLeave: () => B(!1),
1611
1611
  onMouseDown: (K) => K.stopPropagation(),
@@ -1616,7 +1616,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1616
1616
  )
1617
1617
  ] });
1618
1618
  }
1619
- ), Co = ({
1619
+ ), So = ({
1620
1620
  description: e,
1621
1621
  enableEditing: t,
1622
1622
  isMixed: n,
@@ -1637,7 +1637,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1637
1637
  i(!1), c("");
1638
1638
  }
1639
1639
  };
1640
- }, So = ({
1640
+ }, Io = ({
1641
1641
  description: e,
1642
1642
  isLarge: t = !0,
1643
1643
  isMixed: n,
@@ -1650,7 +1650,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1650
1650
  onMentionClick: d,
1651
1651
  onMentionHover: f
1652
1652
  }) => {
1653
- const { isEditing: p, editorValue: m, setEditorValue: S, handleStartEditing: u, handleSave: b, handleCancel: y } = Co({
1653
+ const { isEditing: p, editorValue: m, setEditorValue: S, handleStartEditing: u, handleSave: b, handleCancel: y } = So({
1654
1654
  description: e,
1655
1655
  enableEditing: o,
1656
1656
  isMixed: n,
@@ -1659,7 +1659,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1659
1659
  if (q(() => {
1660
1660
  a && !p && u();
1661
1661
  }, [a]), c)
1662
- return /* @__PURE__ */ s(zt, { title: "Description", children: /* @__PURE__ */ s(uo, {}) });
1662
+ return /* @__PURE__ */ s(zt, { title: "Description", children: /* @__PURE__ */ s(po, {}) });
1663
1663
  const R = (E) => {
1664
1664
  if (p) return;
1665
1665
  const I = E.target;
@@ -1679,7 +1679,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1679
1679
  enableHover: !p,
1680
1680
  onClick: p ? void 0 : u,
1681
1681
  description: t,
1682
- children: /* @__PURE__ */ M(lo, { className: W({ editing: p }), onClick: R, children: [
1682
+ children: /* @__PURE__ */ M(co, { className: W({ editing: p }), onClick: R, children: [
1683
1683
  /* @__PURE__ */ s(Rt, { className: "block-shortcuts", children: /* @__PURE__ */ s(
1684
1684
  Ct,
1685
1685
  {
@@ -1691,7 +1691,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1691
1691
  onMentionClick: d,
1692
1692
  onMentionHover: f,
1693
1693
  readOnly: !p,
1694
- toolbar: p ? fr : !1,
1694
+ toolbar: p ? br : !1,
1695
1695
  bordered: !1,
1696
1696
  autoFocus: p,
1697
1697
  minHeight: p ? 60 : 20,
@@ -1700,14 +1700,14 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1700
1700
  },
1701
1701
  p ? "edit" : "view"
1702
1702
  ) }),
1703
- p && /* @__PURE__ */ s(co, { children: /* @__PURE__ */ M(po, { children: [
1703
+ p && /* @__PURE__ */ s(uo, { children: /* @__PURE__ */ M(mo, { children: [
1704
1704
  /* @__PURE__ */ s(xe, { variant: "text", label: "Cancel", onClick: _ }),
1705
1705
  /* @__PURE__ */ s(xe, { variant: "filled", label: "Save", onClick: b })
1706
1706
  ] }) })
1707
1707
  ] })
1708
1708
  }
1709
1709
  );
1710
- }, Io = x(xe)`
1710
+ }, Eo = x(xe)`
1711
1711
  position: absolute;
1712
1712
  right: -40px;
1713
1713
  top: 38px;
@@ -1715,7 +1715,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1715
1715
  width: 32px;
1716
1716
  height: 32px;
1717
1717
  padding: 2px;
1718
- `, Eo = ({
1718
+ `, Ro = ({
1719
1719
  value: e,
1720
1720
  isOpen: t,
1721
1721
  onClose: n,
@@ -1729,7 +1729,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1729
1729
  onClose: n,
1730
1730
  style: { maxHeight: "80vh" },
1731
1731
  children: /* @__PURE__ */ s(
1732
- So,
1732
+ Io,
1733
1733
  {
1734
1734
  description: e,
1735
1735
  isLarge: !0,
@@ -1794,7 +1794,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1794
1794
  const I = b && !p;
1795
1795
  return /* @__PURE__ */ M("div", { ref: u, style: { width: "100%", height: y, position: "relative", minWidth: 0 }, children: [
1796
1796
  l && w >= 3 && /* @__PURE__ */ s(
1797
- Io,
1797
+ Eo,
1798
1798
  {
1799
1799
  icon: "expand_content",
1800
1800
  className: "field-tools expand-button",
@@ -1832,7 +1832,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1832
1832
  }
1833
1833
  ),
1834
1834
  /* @__PURE__ */ s(
1835
- Eo,
1835
+ Ro,
1836
1836
  {
1837
1837
  isOpen: p,
1838
1838
  onClose: () => m(!1),
@@ -1843,7 +1843,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1843
1843
  }
1844
1844
  )
1845
1845
  ] });
1846
- }, Ro = x.input`
1846
+ }, Lo = x.input`
1847
1847
  margin: auto;
1848
1848
  z-index: 1;
1849
1849
  cursor: pointer;
@@ -1864,9 +1864,9 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
1864
1864
  border-color: var(--md-sys-color-primary);
1865
1865
  appearance: auto;
1866
1866
  }
1867
- `, Lo = Se(
1867
+ `, No = Se(
1868
1868
  ({ value: e, onChange: t, isReadOnly: n, isEditing: o, onCancelEdit: a, isInherited: i, ...l }, c) => n ? /* @__PURE__ */ s(St, { checked: e, isReadOnly: !0, className: l.className }) : /* @__PURE__ */ s(
1869
- Ro,
1869
+ Lo,
1870
1870
  {
1871
1871
  ...l,
1872
1872
  checked: e,
@@ -2025,7 +2025,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2025
2025
  &:hover {
2026
2026
  background-color: var(--md-sys-color-surface-container-low-hover);
2027
2027
  }
2028
- `, No = x(et).attrs({ type: "number" })`
2028
+ `, Do = x(et).attrs({ type: "number" })`
2029
2029
  height: 22px !important;
2030
2030
  min-height: 22px !important;
2031
2031
  max-height: 22px !important;
@@ -2045,7 +2045,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2045
2045
  -webkit-appearance: none;
2046
2046
  margin: 0;
2047
2047
  }
2048
- `, Do = x.div`
2048
+ `, Ao = x.div`
2049
2049
  display: flex;
2050
2050
  flex-direction: column;
2051
2051
  /* hack for search border cutoff */
@@ -2058,12 +2058,12 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2058
2058
 
2059
2059
  /* Set a reasonable max-height that allows for search functionality */
2060
2060
  max-height: 250px;
2061
- `, Ao = x.div`
2061
+ `, Po = x.div`
2062
2062
  display: flex;
2063
2063
  flex-direction: column;
2064
2064
  align-items: center;
2065
2065
  gap: var(--base-gap-small);
2066
- `, Po = x.div`
2066
+ `, _o = x.div`
2067
2067
  position: relative;
2068
2068
  width: 100%;
2069
2069
  display: flex;
@@ -2075,21 +2075,21 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2075
2075
  position: absolute;
2076
2076
  left: 4px;
2077
2077
  }
2078
- `, _o = x(xe)`
2078
+ `, $o = x(xe)`
2079
2079
  min-width: 110px;
2080
2080
  flex: 1;
2081
2081
  width: 100%;
2082
- `, $o = x(et)`
2082
+ `, Mo = x(et)`
2083
2083
  flex: 1;
2084
2084
  border: none;
2085
2085
  background-color: var(--md-sys-color-surface-container);
2086
2086
  padding-left: 28px;
2087
2087
  width: 100%;
2088
2088
  min-width: 224px;
2089
- `, Mo = x.div`
2089
+ `, Oo = x.div`
2090
2090
  color: var(--md-sys-color-error);
2091
2091
  margin-top: var(--base-gap-small);
2092
- `, Oo = x.ul`
2092
+ `, zo = x.ul`
2093
2093
  list-style: none;
2094
2094
  padding: 0;
2095
2095
  margin: 0;
@@ -2179,11 +2179,11 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2179
2179
  color: var(--md-sys-color-outline);
2180
2180
  }
2181
2181
  `, Cn = ye(void 0), Nt = () => {
2182
- const e = se(Cn);
2182
+ const e = ae(Cn);
2183
2183
  if (e === void 0)
2184
2184
  throw new Error("useCellEditing must be used within a CellEditingProvider");
2185
2185
  return e;
2186
- }, zo = () => se(Cn), Fo = {
2186
+ }, Fo = () => ae(Cn), Ho = {
2187
2187
  status: ["folder", "task", "product", "version"],
2188
2188
  subType: ["folder", "task", "product"],
2189
2189
  assignees: ["task"],
@@ -2199,9 +2199,9 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2199
2199
  label: ["folder", "task", "version"],
2200
2200
  thumbnailHash: ["folder", "task", "version"]
2201
2201
  }, Dt = (e, t) => {
2202
- const n = Fo[e];
2202
+ const n = Ho[e];
2203
2203
  return !n || n.includes(t);
2204
- }, De = (e, t) => t === "primary" ? e.primary : e.parents?.[t], ae = (e, t, n, o = !1) => {
2204
+ }, De = (e, t) => t === "primary" ? e.primary : e.parents?.[t], se = (e, t, n, o = !1) => {
2205
2205
  if (e.group)
2206
2206
  return o || t !== "primary" || n !== "name" ? void 0 : e.primary.name;
2207
2207
  const a = De(e, t);
@@ -2220,16 +2220,16 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2220
2220
  listType: "review-session",
2221
2221
  entityTypes: ["version"]
2222
2222
  }
2223
- }, Ho = Object.keys(Me), ut = (e, t) => !!Me[e]?.entityTypes.includes(t), de = {
2223
+ }, Bo = Object.keys(Me), ut = (e, t) => !!Me[e]?.entityTypes.includes(t), de = {
2224
2224
  folder: "folder_entity",
2225
2225
  task: "task_entity",
2226
2226
  version: "version_entity"
2227
- }, Bo = {
2227
+ }, Wo = {
2228
2228
  folder: de.folder,
2229
2229
  folderName: de.folder,
2230
2230
  taskLabel: de.task,
2231
2231
  taskName: de.task
2232
- }, ge = (e, t = {}) => t[e] || Bo[e] || e, pt = (e = [], t = {}) => Array.from(new Set(e.map((n) => ge(n, t)))), Ue = (e = {}, t = {}) => {
2232
+ }, ge = (e, t = {}) => t[e] || Wo[e] || e, pt = (e = [], t = {}) => Array.from(new Set(e.map((n) => ge(n, t)))), Ue = (e = {}, t = {}) => {
2233
2233
  const n = {};
2234
2234
  return Object.entries(e).forEach(([o, a]) => {
2235
2235
  const i = ge(o, t);
@@ -2257,19 +2257,19 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2257
2257
  columnSummaryFormats: Ue(e.columnSummaryFormats, t)
2258
2258
  };
2259
2259
  }, Sn = ye(void 0), In = () => {
2260
- const e = se(Sn);
2260
+ const e = ae(Sn);
2261
2261
  if (e === void 0)
2262
2262
  throw new Error("useSelectionCellsContext must be used within a SelectionCellsProvider");
2263
2263
  return e;
2264
- }, Us = () => se(Sn), En = (e) => {
2264
+ }, Us = () => ae(Sn), En = (e) => {
2265
2265
  if (!(e.group || e.metaType)) {
2266
2266
  if (e.parents?.folder) return e.parents.folder;
2267
2267
  if (e.primary.entityType === "folder" && !e.isLoading) return e.primary;
2268
2268
  }
2269
- }, Wo = (e) => {
2269
+ }, Uo = (e) => {
2270
2270
  const t = En(e);
2271
2271
  return t?.label || t?.name;
2272
- }, Uo = async (e, t) => {
2272
+ }, Ko = async (e, t) => {
2273
2273
  if (e.length)
2274
2274
  try {
2275
2275
  const n = e.map(
@@ -2290,7 +2290,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2290
2290
  } catch (n) {
2291
2291
  throw we.error(`Failed to remove links: ${n}`), n;
2292
2292
  }
2293
- }, Ko = async (e, t) => {
2293
+ }, Vo = async (e, t) => {
2294
2294
  if (e.length)
2295
2295
  try {
2296
2296
  const n = e.map(
@@ -2321,7 +2321,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2321
2321
  } catch (n) {
2322
2322
  throw we.error(`Failed to add links: ${n}`), n;
2323
2323
  }
2324
- }, Vo = ({ projectInfo: e }) => {
2324
+ }, Go = ({ projectInfo: e }) => {
2325
2325
  const { folderTypes: t = [], taskTypes: n = [], productTypes: o = [] } = e || {}, a = ee(() => {
2326
2326
  const g = /* @__PURE__ */ new Map();
2327
2327
  for (const d of t)
@@ -2352,7 +2352,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2352
2352
  },
2353
2353
  [a, i, l]
2354
2354
  );
2355
- }, le = "next-page", be = "_ungrouped", At = "__", mt = (e) => e ? Array.isArray(e) ? [...new Set(e.map((t) => t.toString()))] : [e.toString()] : [], Go = (e, t, n, o, a) => {
2355
+ }, le = "next-page", be = "_ungrouped", At = "__", mt = (e) => e ? Array.isArray(e) ? [...new Set(e.map((t) => t.toString()))] : [e.toString()] : [], jo = (e, t, n, o, a) => {
2356
2356
  const i = o?.get(t), l = n?.find((g) => g.value === t), c = l ? {
2357
2357
  value: l.value,
2358
2358
  label: l.label || l.value,
@@ -2362,10 +2362,10 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2362
2362
  img: e === "assignees" ? `/api/users/${l.value}/avatar` : void 0
2363
2363
  } : { value: t, label: t };
2364
2364
  return i ? (c.count = i.count, c.percentage = i.percentage) : o && a && (c.count = 0, c.percentage = void 0), c;
2365
- }, tt = "_GROUP_", Jt = (e) => `${tt}${e}`, jo = (e) => e.startsWith(tt) ? e.slice(tt.length) : null, Ks = (e) => e.startsWith(tt), Yo = (e, t, n = []) => {
2365
+ }, tt = "_GROUP_", Jt = (e) => `${tt}${e}`, Yo = (e) => e.startsWith(tt) ? e.slice(tt.length) : null, Ks = (e) => e.startsWith(tt), qo = (e, t, n = []) => {
2366
2366
  const o = e.id.replace("attrib.", "");
2367
2367
  return o === "status" ? t?.statuses?.map((a) => a.name) || [] : o === "taskType" ? t?.taskTypes?.map((a) => a.name) || [] : o === "folderType" ? t?.folderTypes?.map((a) => a.name) || [] : e.id.startsWith("attrib.") ? n.find((a) => a.name === o)?.data.enum?.map((a) => a.value.toString()) || [] : [];
2368
- }, qo = (e, t, n, o, a) => {
2368
+ }, Qo = (e, t, n, o, a) => {
2369
2369
  const i = a(n, e.taskType), l = o.get(e.folderId), c = Hi(
2370
2370
  e,
2371
2371
  l?.entityType === "folder" ? l : void 0
@@ -2386,9 +2386,9 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2386
2386
  groupCounts: l,
2387
2387
  groupCountsComplete: c
2388
2388
  }) => {
2389
- const g = Be(), d = Vo({ projectInfo: g }), f = Y(
2389
+ const g = Be(), d = Go({ projectInfo: g }), f = Y(
2390
2390
  (p, m) => {
2391
- const S = i ? i(p) : qo(p, m, t, e, d);
2391
+ const S = i ? i(p) : Qo(p, m, t, e, d);
2392
2392
  return t === "task" && (S.primary.links = Fi(p.links, "task", g.anatomy)), {
2393
2393
  ...S,
2394
2394
  id: p.id + At + m,
@@ -2402,7 +2402,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2402
2402
  (p) => {
2403
2403
  const m = /* @__PURE__ */ new Map();
2404
2404
  for (const E of n) {
2405
- const I = E.value?.toString(), T = Jt(I), z = Go(
2405
+ const I = E.value?.toString(), T = Jt(I), z = jo(
2406
2406
  p.id,
2407
2407
  I,
2408
2408
  n,
@@ -2482,7 +2482,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2482
2482
  }
2483
2483
  }
2484
2484
  }
2485
- const y = Array.from(m.values()), w = Yo(p, g, o), R = p.desc ? -1 : 1;
2485
+ const y = Array.from(m.values()), w = qo(p, g, o), R = p.desc ? -1 : 1;
2486
2486
  y.sort((E, I) => {
2487
2487
  if (E.group?.value === be) return 1;
2488
2488
  if (I.group?.value === be) return -1;
@@ -2509,49 +2509,49 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2509
2509
  g
2510
2510
  ]
2511
2511
  );
2512
- }, Qo = ye(void 0), Jo = () => {
2513
- const e = se(Qo);
2512
+ }, Jo = ye(void 0), Zo = () => {
2513
+ const e = ae(Jo);
2514
2514
  if (!e)
2515
2515
  throw new Error("useColumnSettingsContext must be used within a ColumnSettingsProvider");
2516
2516
  return e;
2517
2517
  }, Rn = ye(void 0), Pt = () => {
2518
- const e = se(Rn);
2518
+ const e = ae(Rn);
2519
2519
  if (!e)
2520
2520
  throw new Error("useProjectTableContext must be used within a ProjectTableProvider");
2521
2521
  return e;
2522
- }, Gs = () => se(Rn), Zo = (e) => e?.split(At)[0] || e, Xo = ye(void 0), js = () => {
2523
- const e = se(Xo);
2522
+ }, Gs = () => ae(Rn), Xo = (e) => e?.split(At)[0] || e, ei = ye(void 0), js = () => {
2523
+ const e = ae(ei);
2524
2524
  if (e === void 0)
2525
2525
  throw new Error("useClipboard must be used within a ClipboardProvider");
2526
2526
  return e;
2527
2527
  }, Ln = ye(
2528
2528
  void 0
2529
- ), ei = () => {
2530
- const e = se(Ln);
2529
+ ), ti = () => {
2530
+ const e = ae(Ln);
2531
2531
  if (!e)
2532
2532
  throw new Error("useDetailsPanelEntityContext must be used within a DetailsPanelEntityProvider");
2533
2533
  return e;
2534
- }, ti = ye(void 0), ni = () => {
2535
- const e = se(ti);
2534
+ }, Nn = ye(void 0), ni = () => {
2535
+ const e = ae(Nn);
2536
2536
  if (!e)
2537
2537
  throw new Error("useProjectDataContext must be used within a ProjectDataProvider");
2538
2538
  return e;
2539
- }, ri = ye(void 0), Ys = () => {
2540
- const e = se(ri);
2539
+ }, Ys = () => ae(Nn), ri = ye(void 0), qs = () => {
2540
+ const e = ae(ri);
2541
2541
  if (!e)
2542
2542
  throw new Error(
2543
2543
  "useProjectTableQueriesContext must be used within a ProjectTableQueriesProvider"
2544
2544
  );
2545
2545
  return e;
2546
- }, Nn = ye(void 0), Dn = () => {
2547
- const e = se(Nn);
2546
+ }, Dn = ye(void 0), An = () => {
2547
+ const e = ae(Dn);
2548
2548
  if (!e)
2549
2549
  throw new Error("useSelectedRowsContext must be used within a SelectedRowsProvider");
2550
2550
  return e;
2551
- }, oi = () => se(Nn), ii = "unknown", qs = "restricted", Qs = "Access Restricted - Insufficient Permissions", Js = "lock", Ge = (e) => e === ii, Fe = "readonly", Zs = (e) => {
2551
+ }, oi = () => ae(Dn), ii = "unknown", Qs = "restricted", Js = "Access Restricted - Insufficient Permissions", Zs = "lock", Ge = (e) => e === ii, Fe = "readonly", Xs = (e) => {
2552
2552
  const t = e.target;
2553
2553
  return t.tagName === "TD" ? t.classList.contains(Fe) || Array.from(t.children).some((n) => n.classList.contains(Fe)) : t.closest(`.${Fe}`) !== null;
2554
- }, An = ye(void 0), Xs = {
2554
+ }, Pn = ye(void 0), el = {
2555
2555
  progress: {
2556
2556
  fields: [
2557
2557
  { value: "hierarchy" },
@@ -2582,12 +2582,12 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2582
2582
  { value: "entityList" }
2583
2583
  ]
2584
2584
  }
2585
- }, el = () => {
2586
- const e = se(An);
2585
+ }, tl = () => {
2586
+ const e = ae(Pn);
2587
2587
  if (e === void 0)
2588
2588
  throw new Error("useSlicerContext must be used within a SlicerProvider");
2589
2589
  return e;
2590
- }, tl = () => se(An), ai = x(cn)`
2590
+ }, nl = () => ae(Pn), ai = x(cn)`
2591
2591
  height: 28px;
2592
2592
 
2593
2593
  .template-value {
@@ -2612,9 +2612,9 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2612
2612
  }
2613
2613
  }
2614
2614
  }
2615
- `, nl = Se(
2615
+ `, rl = Se(
2616
2616
  ({ sliceTypes: e, ...t }, n) => {
2617
- const { setPowerpackDialog: o } = pr(), a = [...t.options].map((l) => l.value === "hierarchy" ? l : {
2617
+ const { setPowerpackDialog: o } = mr(), a = [...t.options].map((l) => l.value === "hierarchy" ? l : {
2618
2618
  ...l,
2619
2619
  icon: "bolt"
2620
2620
  });
@@ -2632,7 +2632,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2632
2632
  }
2633
2633
  );
2634
2634
  }
2635
- ), Ie = "inset 0 1px 0 0 var(--md-sys-color-primary)", Ee = "inset -1px 0 0 0 var(--md-sys-color-primary)", Re = "inset 0 -1px 0 0 var(--md-sys-color-primary)", Le = "inset 1px 0 0 0 var(--md-sys-color-primary)", ce = (e) => e ? "inset -2px -1px 0 0 var(--md-sys-color-surface-container), inset 1px 0 0 0 var(--md-sys-color-surface-container)" : "inset 1px -1px 0 0 var(--md-sys-color-surface-container)", xt = "drag-handle", rl = x.tr`
2635
+ ), Ie = "inset 0 1px 0 0 var(--md-sys-color-primary)", Ee = "inset -1px 0 0 0 var(--md-sys-color-primary)", Re = "inset 0 -1px 0 0 var(--md-sys-color-primary)", Le = "inset 1px 0 0 0 var(--md-sys-color-primary)", ce = (e) => e ? "inset -2px -1px 0 0 var(--md-sys-color-surface-container), inset 1px 0 0 0 var(--md-sys-color-surface-container)" : "inset 1px -1px 0 0 var(--md-sys-color-surface-container)", xt = "drag-handle", ol = x.tr`
2636
2636
  display: flex;
2637
2637
  position: absolute;
2638
2638
  width: 100%;
@@ -2702,7 +2702,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2702
2702
  .resizing & {
2703
2703
  cursor: col-resize !important;
2704
2704
  }
2705
- `, ol = x.div`
2705
+ `, il = x.div`
2706
2706
  position: absolute;
2707
2707
  right: -1px;
2708
2708
  top: 0;
@@ -2718,9 +2718,9 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2718
2718
  opacity: 1;
2719
2719
  cursor: col-resize !important;
2720
2720
  }
2721
- `, il = x.tr`
2721
+ `, al = x.tr`
2722
2722
  background-color: var(--md-sys-color-surface-container-low);
2723
- `, al = x.th`
2723
+ `, sl = x.th`
2724
2724
  position: relative;
2725
2725
  background-color: var(--md-sys-color-surface-container-lowest);
2726
2726
  box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container);
@@ -2779,13 +2779,13 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2779
2779
  cursor: grabbing;
2780
2780
  }
2781
2781
  }
2782
- `, sl = x.span`
2782
+ `, ll = x.span`
2783
2783
  margin-left: -2px;
2784
2784
  font-size: 11px;
2785
2785
  line-height: 1;
2786
2786
  color: var(--md-sys-color-outline);
2787
2787
  user-select: none;
2788
- `, ll = x.div`
2788
+ `, cl = x.div`
2789
2789
  display: none;
2790
2790
 
2791
2791
  ${({ $isOpen: e }) => e && `
@@ -2853,7 +2853,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
2853
2853
  display: none !important;
2854
2854
  }
2855
2855
  }
2856
- `, cl = x.td`
2856
+ `, dl = x.td`
2857
2857
  position: relative;
2858
2858
  box-shadow: ${ce(!1)};
2859
2859
  background-color: var(--color-table-row);
@@ -3011,8 +3011,8 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
3011
3011
  pointer-events: none;
3012
3012
  }
3013
3013
 
3014
- /* read only fields are dimmed down for bg and border */
3015
- &:has(> div.readonly) {
3014
+ /* read only fields are dimmed down for bg and border; a fully read-only table keeps the normal focus */
3015
+ &:has(> div.readonly):not(.table-readonly) {
3016
3016
  &:not(.multiple-selected) {
3017
3017
  &.focused {
3018
3018
  background-color: var(--color-table-readonly-focused);
@@ -3061,7 +3061,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
3061
3061
  }
3062
3062
  }
3063
3063
  }
3064
- `, dl = x.div`
3064
+ `, ul = x.div`
3065
3065
  position: absolute;
3066
3066
  inset: 0;
3067
3067
  pointer-events: none;
@@ -3073,7 +3073,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
3073
3073
  width: 1px;
3074
3074
  background-color: var(--md-sys-color-surface-container);
3075
3075
  }
3076
- `, ul = x.thead`
3076
+ `, pl = x.thead`
3077
3077
  display: grid !important;
3078
3078
  position: sticky;
3079
3079
  top: 0;
@@ -3084,14 +3084,14 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
3084
3084
  .resizing & {
3085
3085
  cursor: col-resize !important;
3086
3086
  }
3087
- `, pl = x.div`
3087
+ `, ml = x.div`
3088
3088
  overflow: hidden;
3089
3089
  position: absolute;
3090
3090
  inset: 0;
3091
3091
  border-radius: var(--border-radius-m);
3092
3092
 
3093
3093
  background-color: var(--md-sys-color-surface-container-low);
3094
- `, ml = x.div`
3094
+ `, gl = x.div`
3095
3095
  position: relative;
3096
3096
  display: flex;
3097
3097
 
@@ -3140,7 +3140,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
3140
3140
  font-size: 18px;
3141
3141
  color: var(--md-sys-color-outline);
3142
3142
  }
3143
- `, gl = x.div`
3143
+ `, hl = x.div`
3144
3144
  animation: fadeIn 20ms ease-in forwards;
3145
3145
  animation-delay: 300ms;
3146
3146
  opacity: 0;
@@ -3168,7 +3168,7 @@ x.span`
3168
3168
  color: var(--md-sys-color-tertiary);
3169
3169
  }
3170
3170
  `;
3171
- const hl = x.div`
3171
+ const yl = x.div`
3172
3172
  position: absolute;
3173
3173
  bottom: 60px; // to go above the footer stats
3174
3174
  left: 8px;
@@ -3181,7 +3181,7 @@ const hl = x.div`
3181
3181
  box-shadow: var(--md-sys-shadow-level-2);
3182
3182
  padding: var(--padding-s);
3183
3183
  }
3184
- `, yl = x.span`
3184
+ `, fl = x.span`
3185
3185
  position: absolute;
3186
3186
  top: 0;
3187
3187
  bottom: 0;
@@ -3209,7 +3209,7 @@ const hl = x.div`
3209
3209
  display: none;
3210
3210
  }
3211
3211
  `, ci = Se(
3212
- ({ isSelected: e, ...t }, n) => /* @__PURE__ */ s(li, { ...t, ref: n, children: /* @__PURE__ */ s(te, { icon: "check" }) })
3212
+ ({ isSelected: e, ...t }, n) => /* @__PURE__ */ s(li, { ...t, ref: n, children: /* @__PURE__ */ s(re, { icon: "check" }) })
3213
3213
  ), di = x.div`
3214
3214
  position: absolute;
3215
3215
  inset: 0;
@@ -3218,23 +3218,36 @@ const hl = x.div`
3218
3218
  justify-content: center;
3219
3219
  cursor: pointer;
3220
3220
 
3221
+ .icon {
3222
+ color: var(--md-sys-color-outline);
3223
+ /* the header cell is 18px wide and clips anything larger */
3224
+ font-size: 16px;
3225
+ }
3226
+
3221
3227
  &:hover {
3222
3228
  background-color: var(--md-sys-color-surface-container-high);
3229
+
3230
+ .icon {
3231
+ color: var(--md-sys-color-on-surface);
3232
+ }
3233
+ }
3234
+
3235
+ &[data-selected='true'] .icon {
3236
+ color: var(--md-sys-color-on-surface);
3223
3237
  }
3224
3238
  `, ui = () => {
3225
- const { areAllRowsSelected: e, areSomeRowsSelected: t, selectAllRows: n, clearRowsSelection: o } = Dn(), a = e(), i = t();
3226
- return /* @__PURE__ */ s(di, { onClick: () => {
3227
- a || i ? o() : n();
3228
- }, children: a ? (
3229
- // Show double check mark when all rows are selected
3230
- /* @__PURE__ */ s(te, { icon: "done_all" })
3231
- ) : i ? (
3232
- // Show minimize icon when some (but not all) rows are selected
3233
- /* @__PURE__ */ s(te, { icon: "remove" })
3234
- ) : (
3235
- // Show nothing when no rows are selected
3236
- null
3237
- ) });
3239
+ const { areAllRowsSelected: e, areSomeRowsSelected: t, selectAllRows: n, clearRowsSelection: o } = An(), a = e(), i = t();
3240
+ return /* @__PURE__ */ s(
3241
+ di,
3242
+ {
3243
+ onClick: () => {
3244
+ a || i ? o() : n();
3245
+ },
3246
+ "data-selected": a || i,
3247
+ title: a || i ? "Clear selection" : "Select all rows",
3248
+ children: /* @__PURE__ */ s(re, { icon: i && !a ? "remove" : "done_all" })
3249
+ }
3250
+ );
3238
3251
  }, pi = kt(ui), mi = x.div`
3239
3252
  position: absolute;
3240
3253
  inset: 0;
@@ -3263,7 +3276,7 @@ const hl = x.div`
3263
3276
  if (t in e)
3264
3277
  return e[t];
3265
3278
  }
3266
- }, fl = (e, t) => {
3279
+ }, bl = (e, t) => {
3267
3280
  if (e)
3268
3281
  return e[t];
3269
3282
  }, hi = (e, t) => e ? e[t]?.display : void 0, yi = (e) => ["folder", "product"].includes(e), X = 50, fi = [
@@ -3272,7 +3285,7 @@ const hl = x.div`
3272
3285
  "float",
3273
3286
  "boolean",
3274
3287
  "datetime"
3275
- ], bi = (e) => Yn(e) || fi.includes(e.type), J = {
3288
+ ], bi = (e) => qn(e) || fi.includes(e.type), J = {
3276
3289
  thumbnail: "Thumbnail",
3277
3290
  status: "Status",
3278
3291
  entityType: "Entity type",
@@ -3317,7 +3330,7 @@ const hl = x.div`
3317
3330
  comments: Ze("comment"),
3318
3331
  [$e]: Me[$e].icon,
3319
3332
  [_e]: Me[_e].icon
3320
- }, bl = (e) => {
3333
+ }, vl = (e) => {
3321
3334
  const t = ge(e);
3322
3335
  return vi[t] ?? Ze(t);
3323
3336
  }, Pe = {
@@ -3402,12 +3415,12 @@ const hl = x.div`
3402
3415
  comments: { enabled: !1, label: J.comments },
3403
3416
  [$e]: { enabled: !1, label: J[$e] },
3404
3417
  [_e]: { enabled: !1, label: J[_e] }
3405
- }, vl = (e) => e.includes("version") ? "Version / Product" : e.map((t) => t.charAt(0).toUpperCase() + t.slice(1)).join(" / "), xl = (e, t = []) => Object.entries(Pe).filter(
3418
+ }, xl = (e) => e.includes("version") ? "Version / Product" : e.map((t) => t.charAt(0).toUpperCase() + t.slice(1)).join(" / "), wl = (e, t = []) => Object.entries(Pe).filter(
3406
3419
  ([, n]) => n.enabled && (!n.scopes || !e || n.scopes.some((o) => e.includes(o)))
3407
3420
  ).map(([n, o]) => ({
3408
3421
  id: n,
3409
3422
  label: t.find((a) => ge(a.value) === n)?.label || oe(n, e)
3410
- })), xi = (e) => Pe[ge(e)]?.enabled ?? !e.startsWith("link_"), wl = (e, t = !0, n) => {
3423
+ })), xi = (e) => Pe[ge(e)]?.enabled ?? !e.startsWith("link_"), kl = (e, t = !0, n) => {
3411
3424
  if (!e) return;
3412
3425
  const o = ge(e);
3413
3426
  if (Ce(o).scope === "primary") {
@@ -3419,7 +3432,7 @@ const hl = x.div`
3419
3432
  }
3420
3433
  return Pe[o]?.sortKey ?? o;
3421
3434
  }
3422
- }, ie = (e) => (t, n, ...o) => t.original.isLoading !== n.original.isLoading ? t.original.isLoading ? 1 : -1 : e(t, n, ...o), Pn = new Intl.Collator(void 0, { numeric: !0, sensitivity: "base" }), wi = (e, t) => {
3435
+ }, ie = (e) => (t, n, ...o) => t.original.isLoading !== n.original.isLoading ? t.original.isLoading ? 1 : -1 : e(t, n, ...o), _n = new Intl.Collator(void 0, { numeric: !0, sensitivity: "base" }), wi = (e, t) => {
3423
3436
  const n = e.getAllCells()[0]?.getContext().table.getState().sorting;
3424
3437
  return !n?.length || n[n.length - 1].id === t;
3425
3438
  }, me = (e) => (t, n, ...o) => {
@@ -3427,10 +3440,10 @@ const hl = x.div`
3427
3440
  if (a !== 0) return a;
3428
3441
  if (!wi(t, o[0])) return 0;
3429
3442
  const i = t.original.primary.label || t.original.primary.name || "", l = n.original.primary.label || n.original.primary.name || "";
3430
- return Pn.compare(i, l);
3443
+ return _n.compare(i, l);
3431
3444
  }, ze = (e, t) => {
3432
3445
  const n = e.original.primary.label || e.original.primary.path || e.original.primary.name || "", o = t.original.primary.label || t.original.primary.path || t.original.primary.name || "";
3433
- return Pn.compare(n, o);
3446
+ return _n.compare(n, o);
3434
3447
  }, ve = (e) => {
3435
3448
  const t = e.parents?.version;
3436
3449
  return t?.entityType === "version" ? t : e.primary.entityType === "version" ? e.primary : void 0;
@@ -3439,13 +3452,13 @@ const hl = x.div`
3439
3452
  const t = je(e);
3440
3453
  return t?.entityType === "product" ? t.subType : void 0;
3441
3454
  }
3442
- return ae(e, "primary", "subType");
3443
- }, Ti = (e) => e.primary.entityType === "product" ? ve(e) : e.primary, _n = (e, t) => {
3455
+ return se(e, "primary", "subType");
3456
+ }, Ti = (e) => e.primary.entityType === "product" ? ve(e) : e.primary, $n = (e, t) => {
3444
3457
  const n = t.scope?.length === 1 && t.scope[0] === "version";
3445
3458
  return e.primary.entityType === "product" && n && ve(e) || e.primary;
3446
3459
  }, Xt = (e, t) => {
3447
- const n = _n(e, t);
3448
- return n === e.primary ? ae(e, "primary", t.name, !0) : n.attrib?.[t.name];
3460
+ const n = $n(e, t);
3461
+ return n === e.primary ? se(e, "primary", t.name, !0) : n.attrib?.[t.name];
3449
3462
  }, en = (e, t, n) => {
3450
3463
  const o = e.getValue(n), a = t.getValue(n), i = Array.isArray(o) ? o.length : o ? String(o).length : 0, l = Array.isArray(a) ? a.length : a ? String(a).length : 0;
3451
3464
  return i - l;
@@ -3455,13 +3468,13 @@ const hl = x.div`
3455
3468
  const l = o.enum.findIndex((g) => g.value === a), c = o.enum.findIndex((g) => g.value === i);
3456
3469
  return l - c;
3457
3470
  } else return o?.type === "datetime" ? Ne.datetime(e, t, n) : o?.type === "boolean" ? (a === !0 ? 1 : 0) - (i === !0 ? 1 : 0) : Ne.alphanumeric(e, t, n);
3458
- }, Ci = (e) => e.data.type === "list_of_strings", Si = (e, t) => `${e.linkType.charAt(0).toUpperCase() + e.linkType.slice(1)} (${t})`, nt = (e, t) => `${e.name.replaceAll("_", "").replaceAll("-", "").replaceAll("|", "_")}_${t}`, Ii = (e, t) => `link_${nt(e, t)}`, $n = (e, t) => e === "primary" ? t : `${He(e)} ${t}`, Ei = (e, t, n) => {
3459
- const o = qe(n, t), a = typeof e.header == "string" ? $n(n, e.header) : e.header;
3471
+ }, Ci = (e) => e.data.type === "list_of_strings", Si = (e, t) => `${e.linkType.charAt(0).toUpperCase() + e.linkType.slice(1)} (${t})`, nt = (e, t) => `${e.name.replaceAll("_", "").replaceAll("-", "").replaceAll("|", "_")}_${t}`, Ii = (e, t) => `link_${nt(e, t)}`, Mn = (e, t) => e === "primary" ? t : `${He(e)} ${t}`, Ei = (e, t, n) => {
3472
+ const o = qe(n, t), a = typeof e.header == "string" ? Mn(n, e.header) : e.header;
3460
3473
  return {
3461
3474
  ...e,
3462
3475
  id: o,
3463
3476
  header: a,
3464
- accessorFn: (i) => ae(i, n, t),
3477
+ accessorFn: (i) => se(i, n, t),
3465
3478
  cell: (i) => {
3466
3479
  const l = De(i.row.original, n);
3467
3480
  return !l || i.row.original.group || i.row.original.metaType ? null : Dt(t, l.entityType) ? typeof e.cell == "function" ? e.cell(i) : e.cell : /* @__PURE__ */ s("div", { className: "readonly" });
@@ -3473,7 +3486,7 @@ const hl = x.div`
3473
3486
  return De(l, t) || (e.fallbackToPrimary && l.primary.entityType === t ? l.primary : void 0);
3474
3487
  }, i = (l) => {
3475
3488
  const c = a(l);
3476
- return c ? ae(l, c === l.primary ? "primary" : t, n) : void 0;
3489
+ return c ? se(l, c === l.primary ? "primary" : t, n) : void 0;
3477
3490
  };
3478
3491
  return {
3479
3492
  id: o,
@@ -3491,7 +3504,7 @@ const hl = x.div`
3491
3504
  if (!Dt(n, d.entityType)) return /* @__PURE__ */ s("div", { className: "readonly" });
3492
3505
  const f = i(l.original), p = g.options.meta, m = e.updateField || n, S = e.readOnly === !0 || p?.readOnly?.includes(c.id) || e.readOnly !== !1 && p?.readOnly?.includes(m);
3493
3506
  return /* @__PURE__ */ s(
3494
- re,
3507
+ ne,
3495
3508
  {
3496
3509
  rowId: l.id,
3497
3510
  className: W("parent-column", { loading: l.original.isLoading }),
@@ -3517,8 +3530,8 @@ const hl = x.div`
3517
3530
  const n = qe(t, e.name, !0);
3518
3531
  return {
3519
3532
  id: n,
3520
- header: $n(t, e.data.title || e.name),
3521
- accessorFn: (o) => ae(o, t, e.name, !0),
3533
+ header: Mn(t, e.data.title || e.name),
3534
+ accessorFn: (o) => se(o, t, e.name, !0),
3522
3535
  minSize: X,
3523
3536
  enableSorting: !1,
3524
3537
  enableResizing: !0,
@@ -3530,9 +3543,9 @@ const hl = x.div`
3530
3543
  cell: ({ row: o, column: a, table: i }) => {
3531
3544
  const l = De(o.original, t);
3532
3545
  if (!l || o.original.group || o.original.metaType) return null;
3533
- const c = i.options.meta, g = ae(o.original, t, e.name, !0), d = !l.ownAttrib?.includes(e.name), f = e.readOnly || c?.readOnly?.includes(n) || c?.readOnly?.includes(`attrib_${e.name}`) || c?.readOnly?.includes("attrib");
3546
+ const c = i.options.meta, g = se(o.original, t, e.name, !0), d = !l.ownAttrib?.includes(e.name), f = e.readOnly || c?.readOnly?.includes(n) || c?.readOnly?.includes(`attrib_${e.name}`) || c?.readOnly?.includes("attrib");
3534
3547
  return /* @__PURE__ */ s(
3535
- re,
3548
+ ne,
3536
3549
  {
3537
3550
  rowId: o.id,
3538
3551
  className: W("attrib", { loading: o.original.isLoading }),
@@ -3582,7 +3595,7 @@ const hl = x.div`
3582
3595
  }
3583
3596
  );
3584
3597
  }
3585
- }), kl = ({
3598
+ }), Tl = ({
3586
3599
  scopes: e,
3587
3600
  attribs: t,
3588
3601
  links: n = [],
@@ -3610,7 +3623,7 @@ const hl = x.div`
3610
3623
  size: 20
3611
3624
  }), b("thumbnail") && u.push(tn("primary")), b("name") && u.push({
3612
3625
  id: "name",
3613
- accessorFn: (r) => ae(r, "primary", "name"),
3626
+ accessorFn: (r) => se(r, "primary", "name"),
3614
3627
  header: p,
3615
3628
  minSize: X,
3616
3629
  sortingFn: ie(ze),
@@ -3619,7 +3632,7 @@ const hl = x.div`
3619
3632
  enablePinning: !0,
3620
3633
  enableHiding: !(f && f.id !== "folder"),
3621
3634
  cell: ({ row: r, column: h, table: v }) => {
3622
- const { value: N, id: C, type: L } = pe(r, h.id), D = v.options.meta, { isEditing: k } = Nt(), { rowHeight: O = 40 } = Jo(), F = Ye(r.id, h.id);
3635
+ const { value: N, id: C, type: L } = pe(r, h.id), D = v.options.meta, { isEditing: k } = Nt(), { rowHeight: O = 40 } = Zo(), F = Ye(r.id, h.id);
3623
3636
  if (r.original.metaType)
3624
3637
  return /* @__PURE__ */ s(
3625
3638
  gt,
@@ -3648,7 +3661,7 @@ const hl = x.div`
3648
3661
  onLoadMore: (ue) => D?.loadMoreRows?.(ue)
3649
3662
  }
3650
3663
  );
3651
- const ne = r.getCanExpand() && !!r.originalSubRows && (yi(r.original.primary.entityType) || !!r.original.group);
3664
+ const te = r.getCanExpand() && !!r.originalSubRows && (yi(r.original.primary.entityType) || !!r.original.group);
3652
3665
  return /* @__PURE__ */ M(
3653
3666
  gt,
3654
3667
  {
@@ -3662,7 +3675,7 @@ const hl = x.div`
3662
3675
  }
3663
3676
  ),
3664
3677
  style: {
3665
- paddingLeft: `calc(${r.depth * 1}rem + ${ne || !r.getCanExpand() ? 0 : 32}px + 8px)`
3678
+ paddingLeft: `calc(${r.depth * 1}rem + ${te || !r.getCanExpand() ? 0 : 32}px + 8px)`
3666
3679
  },
3667
3680
  tabIndex: 0,
3668
3681
  children: [
@@ -3687,7 +3700,7 @@ const hl = x.div`
3687
3700
  id: r.id,
3688
3701
  entity: r.original.primary,
3689
3702
  path: !a && !i ? r.original.primary.path : void 0,
3690
- isExpandable: ne,
3703
+ isExpandable: te,
3691
3704
  isExpanded: r.getIsExpanded(),
3692
3705
  toggleExpandAll: () => D?.toggleExpandAll?.([r.id]),
3693
3706
  toggleExpanded: r.getToggleExpandedHandler(),
@@ -3696,7 +3709,7 @@ const hl = x.div`
3696
3709
  }
3697
3710
  ),
3698
3711
  !r.original.group && k(F) && /* @__PURE__ */ s(
3699
- re,
3712
+ ne,
3700
3713
  {
3701
3714
  rowId: C,
3702
3715
  className: W("name", { loading: r.original.isLoading }),
@@ -3722,7 +3735,7 @@ const hl = x.div`
3722
3735
  }
3723
3736
  }), b("status") && u.push({
3724
3737
  id: "status",
3725
- accessorFn: (r) => ae(r, "primary", "status"),
3738
+ accessorFn: (r) => se(r, "primary", "status"),
3726
3739
  minSize: X,
3727
3740
  header: oe("status"),
3728
3741
  sortingFn: ie(
@@ -3738,7 +3751,7 @@ const hl = x.div`
3738
3751
  cell: ({ row: r, column: h, table: v }) => {
3739
3752
  const { value: N, id: C, type: L } = pe(r, h.id), D = v.options.meta;
3740
3753
  return ["group", le].includes(L) || r.original.metaType ? null : /* @__PURE__ */ s(
3741
- re,
3754
+ ne,
3742
3755
  {
3743
3756
  rowId: C,
3744
3757
  className: W("status", { loading: r.original.isLoading }),
@@ -3791,7 +3804,7 @@ const hl = x.div`
3791
3804
  className: W("entityType", Fe, L, { loading: r.original.isLoading }),
3792
3805
  tabIndex: 0,
3793
3806
  children: [
3794
- /* @__PURE__ */ s(te, { icon: Te(L) }),
3807
+ /* @__PURE__ */ s(re, { icon: Te(L) }),
3795
3808
  " ",
3796
3809
  He(N)
3797
3810
  ]
@@ -3821,7 +3834,7 @@ const hl = x.div`
3821
3834
  if (["group", le].includes(L) || r.original.metaType) return null;
3822
3835
  const D = L === "product" || L === "version", k = L === "folder" ? "folderType" : D ? "productType" : "taskType", O = v.options.meta, F = L === "folder" && r.original.primary.entityType === "folder" && r.original.primary.hasVersions;
3823
3836
  return /* @__PURE__ */ s(
3824
- re,
3837
+ ne,
3825
3838
  {
3826
3839
  rowId: C,
3827
3840
  className: W("subType", { loading: r.original.isLoading }),
@@ -3830,8 +3843,8 @@ const hl = x.div`
3830
3843
  attributeData: { type: "string" },
3831
3844
  options: L === "folder" ? O?.options?.folderType : L === "task" ? O?.options?.taskType : D ? O?.options?.productType : [],
3832
3845
  isCollapsed: !!r.original.childOnlyMatch,
3833
- onChange: (ne) => O?.updateEntities?.(
3834
- { field: k, value: ne, type: L, rowId: r.id },
3846
+ onChange: (te) => O?.updateEntities?.(
3847
+ { field: k, value: te, type: L, rowId: r.id },
3835
3848
  { selection: O?.selection }
3836
3849
  ),
3837
3850
  isReadOnly: D || O?.readOnly?.includes(h.id) || O?.readOnly?.includes(k) || F || Ce(h.id).scope !== "primary",
@@ -3850,7 +3863,7 @@ const hl = x.div`
3850
3863
  }
3851
3864
  }), b("assignees") && u.push({
3852
3865
  id: "assignees",
3853
- accessorFn: (r) => ae(r, "primary", "assignees"),
3866
+ accessorFn: (r) => se(r, "primary", "assignees"),
3854
3867
  header: oe("assignees"),
3855
3868
  minSize: X,
3856
3869
  enableSorting: y("assignees"),
@@ -3861,7 +3874,7 @@ const hl = x.div`
3861
3874
  cell: ({ row: r, column: h, table: v }) => {
3862
3875
  const N = v.options.meta, { value: C, id: L, type: D } = pe(r, h.id);
3863
3876
  return ["group", le].includes(D) || r.original.metaType ? null : D === "folder" ? /* @__PURE__ */ s(
3864
- re,
3877
+ ne,
3865
3878
  {
3866
3879
  rowId: L,
3867
3880
  className: W("assignees", { loading: r.original.isLoading }),
@@ -3870,7 +3883,7 @@ const hl = x.div`
3870
3883
  isPlaceholder: !0
3871
3884
  }
3872
3885
  ) : /* @__PURE__ */ s(
3873
- re,
3886
+ ne,
3874
3887
  {
3875
3888
  rowId: L,
3876
3889
  className: W("assignees", { loading: r.original.isLoading }),
@@ -3898,7 +3911,7 @@ const hl = x.div`
3898
3911
  }
3899
3912
  }), b(de.folder) && u.push({
3900
3913
  id: de.folder,
3901
- accessorFn: (r) => Wo(r),
3914
+ accessorFn: (r) => Uo(r),
3902
3915
  header: oe(de.folder),
3903
3916
  minSize: X,
3904
3917
  sortDescFirst: Pe.folder_entity.sortDescFirst,
@@ -3963,7 +3976,7 @@ const hl = x.div`
3963
3976
  if (r.original.group || r.original.metaType) return null;
3964
3977
  const N = v.options.meta, C = ve(r.original), L = C?.author || "", D = C?.entityType || r.original.primary.entityType;
3965
3978
  return ["group", le].includes(D) ? null : /* @__PURE__ */ s(
3966
- re,
3979
+ ne,
3967
3980
  {
3968
3981
  rowId: r.id,
3969
3982
  className: W("author", { loading: r.original.isLoading }),
@@ -4019,7 +4032,7 @@ const hl = x.div`
4019
4032
  if (r.original.group || r.original.metaType) return null;
4020
4033
  const v = ve(r.original), N = v?.version ?? 0, C = v?.entityType || r.original.primary.entityType;
4021
4034
  return ["group", le].includes(C) ? null : /* @__PURE__ */ s(
4022
- re,
4035
+ ne,
4023
4036
  {
4024
4037
  rowId: r.id,
4025
4038
  className: W("version", { loading: r.original.isLoading }),
@@ -4044,7 +4057,7 @@ const hl = x.div`
4044
4057
  if (r.original.group || r.original.metaType) return null;
4045
4058
  const v = je(r.original), N = v?.label || v?.name || "", C = v?.entityType || r.original.primary.entityType;
4046
4059
  return ["group", le].includes(C) ? null : /* @__PURE__ */ s(
4047
- re,
4060
+ ne,
4048
4061
  {
4049
4062
  rowId: r.id,
4050
4063
  className: W("product", { loading: r.original.isLoading }),
@@ -4057,7 +4070,7 @@ const hl = x.div`
4057
4070
  }
4058
4071
  }), b("tags") && u.push({
4059
4072
  id: "tags",
4060
- accessorFn: (r) => ae(r, "primary", "tags"),
4073
+ accessorFn: (r) => se(r, "primary", "tags"),
4061
4074
  header: oe("tags"),
4062
4075
  minSize: X,
4063
4076
  enableSorting: y("tags"),
@@ -4068,7 +4081,7 @@ const hl = x.div`
4068
4081
  cell: ({ row: r, column: h, table: v }) => {
4069
4082
  const N = v.options.meta, { value: C, id: L, type: D } = pe(r, h.id);
4070
4083
  return ["group", le].includes(D) || r.original.metaType ? null : /* @__PURE__ */ s(
4071
- re,
4084
+ ne,
4072
4085
  {
4073
4086
  rowId: L,
4074
4087
  className: W("tags", { loading: r.original.isLoading }),
@@ -4088,7 +4101,7 @@ const hl = x.div`
4088
4101
  }
4089
4102
  }), b("createdAt") && u.push({
4090
4103
  id: "createdAt",
4091
- accessorFn: (r) => ae(r, "primary", "createdAt"),
4104
+ accessorFn: (r) => se(r, "primary", "createdAt"),
4092
4105
  header: oe("createdAt"),
4093
4106
  minSize: X,
4094
4107
  enableSorting: y("createdAt"),
@@ -4099,7 +4112,7 @@ const hl = x.div`
4099
4112
  cell: ({ row: r, column: h }) => {
4100
4113
  const { value: v, id: N, type: C } = pe(r, h.id);
4101
4114
  return ["group", le].includes(C) || r.original.metaType ? null : /* @__PURE__ */ s(
4102
- re,
4115
+ ne,
4103
4116
  {
4104
4117
  rowId: N,
4105
4118
  className: W("createdAt", { loading: r.original.isLoading }),
@@ -4114,7 +4127,7 @@ const hl = x.div`
4114
4127
  }
4115
4128
  }), b("updatedAt") && u.push({
4116
4129
  id: "updatedAt",
4117
- accessorFn: (r) => ae(r, "primary", "updatedAt"),
4130
+ accessorFn: (r) => se(r, "primary", "updatedAt"),
4118
4131
  header: oe("updatedAt"),
4119
4132
  minSize: X,
4120
4133
  enableSorting: y("updatedAt"),
@@ -4125,7 +4138,7 @@ const hl = x.div`
4125
4138
  cell: ({ row: r, column: h }) => {
4126
4139
  const { value: v, id: N, type: C } = pe(r, h.id);
4127
4140
  return ["group", le].includes(C) || r.original.metaType ? null : /* @__PURE__ */ s(
4128
- re,
4141
+ ne,
4129
4142
  {
4130
4143
  rowId: N,
4131
4144
  className: W("updatedAt", { loading: r.original.isLoading }),
@@ -4142,7 +4155,7 @@ const hl = x.div`
4142
4155
  for (const r of ["createdBy", "updatedBy"])
4143
4156
  b(r) && u.push({
4144
4157
  id: r,
4145
- accessorFn: (h) => ae(h, "primary", r),
4158
+ accessorFn: (h) => se(h, "primary", r),
4146
4159
  header: oe(r),
4147
4160
  minSize: X,
4148
4161
  enableSorting: y(r),
@@ -4162,7 +4175,7 @@ const hl = x.div`
4162
4175
  }
4163
4176
  ] : k;
4164
4177
  return /* @__PURE__ */ s(
4165
- re,
4178
+ ne,
4166
4179
  {
4167
4180
  rowId: L,
4168
4181
  className: W(r, { loading: h.original.isLoading }),
@@ -4190,13 +4203,13 @@ const hl = x.div`
4190
4203
  if (["group", le].includes(D) || r.original.metaType) return null;
4191
4204
  if (D !== "task") return /* @__PURE__ */ s("div", { className: "readonly" });
4192
4205
  const k = {
4193
- taskId: jo(r.id) || r.original.primary.id,
4206
+ taskId: Yo(r.id) || r.original.primary.id,
4194
4207
  taskName: r.original.primary.name,
4195
4208
  folderId: r.original.parents?.folder?.id ?? void 0,
4196
4209
  subtasks: C || []
4197
4210
  };
4198
4211
  return /* @__PURE__ */ s(
4199
- re,
4212
+ ne,
4200
4213
  {
4201
4214
  rowId: L,
4202
4215
  className: W("subtasks", { loading: r.original.isLoading }),
@@ -4221,7 +4234,7 @@ const hl = x.div`
4221
4234
  if (r.original.group || r.original.metaType) return null;
4222
4235
  const v = r.original.primary.entityType === "product", N = v && r.original.parents?.version || r.original.primary, C = v ? r.original.parents?.version?.latestComments || [] : r.original.primary.latestComments || [], L = N.entityType;
4223
4236
  return ["group", le].includes(L) ? null : !r.original.isLoading && !["task", "version", "product", "folder"].includes(L) ? /* @__PURE__ */ s("div", { className: "readonly" }) : /* @__PURE__ */ s(
4224
- re,
4237
+ ne,
4225
4238
  {
4226
4239
  rowId: r.id,
4227
4240
  className: W("comments", { loading: r.original.isLoading }),
@@ -4235,7 +4248,7 @@ const hl = x.div`
4235
4248
  );
4236
4249
  }
4237
4250
  });
4238
- for (const r of Ho)
4251
+ for (const r of Bo)
4239
4252
  !b(r) || !e.some((h) => ut(r, h)) || u.push({
4240
4253
  id: r,
4241
4254
  header: oe(r),
@@ -4251,7 +4264,7 @@ const hl = x.div`
4251
4264
  return /* @__PURE__ */ s("div", { className: "readonly" });
4252
4265
  const k = !L && ut(v.id, D.entityType) ? { entityId: D.id, entityType: D.entityType, columnId: v.id } : void 0;
4253
4266
  return /* @__PURE__ */ s(
4254
- re,
4267
+ ne,
4255
4268
  {
4256
4269
  rowId: h.id,
4257
4270
  className: W("lists", { loading: L }),
@@ -4283,9 +4296,9 @@ const hl = x.div`
4283
4296
  enableHiding: !0,
4284
4297
  cell: ({ row: v, column: N, table: C }) => {
4285
4298
  if (v.original.group || v.original.metaType) return null;
4286
- const L = C.options.meta, D = N.id.replace("attrib_", ""), { type: k } = pe(v, D, "attrib"), O = _n(v.original, r), F = Xt(v.original, r), ne = O.id, ue = O.entityType, ke = !O.ownAttrib?.includes(D);
4299
+ const L = C.options.meta, D = N.id.replace("attrib_", ""), { type: k } = pe(v, D, "attrib"), O = $n(v.original, r), F = Xt(v.original, r), te = O.id, ue = O.entityType, ke = !O.ownAttrib?.includes(D);
4287
4300
  return ["group", le].includes(ue) || v.original.metaType || !r.scope?.includes(k) && F == null ? null : /* @__PURE__ */ s(
4288
- re,
4301
+ ne,
4289
4302
  {
4290
4303
  rowId: v.id,
4291
4304
  className: W("attrib", { loading: v.original.isLoading }),
@@ -4300,9 +4313,9 @@ const hl = x.div`
4300
4313
  isLoadingOptions: !!r.enumIsLoading,
4301
4314
  tooltip: r.enumError,
4302
4315
  pt: {
4303
- enum: { error: jn(r.enumError) },
4316
+ enum: { error: Yn(r.enumError) },
4304
4317
  // markdown attributes can mention the users, tasks and versions of the entity
4305
- text: { mentionEntity: { entityId: ne, entityType: ue } }
4318
+ text: { mentionEntity: { entityId: te, entityType: ue } }
4306
4319
  },
4307
4320
  midnightExclusiveFields: v.original.midnightExclusiveFields,
4308
4321
  isCollapsed: !!v.original.childOnlyMatch,
@@ -4319,7 +4332,7 @@ const hl = x.div`
4319
4332
  field: D,
4320
4333
  value: K,
4321
4334
  type: ue,
4322
- id: ne,
4335
+ id: te,
4323
4336
  isAttrib: !0,
4324
4337
  rowId: v.id,
4325
4338
  entityData: O
@@ -4343,7 +4356,7 @@ const hl = x.div`
4343
4356
  Si(h, v),
4344
4357
  " ",
4345
4358
  /* @__PURE__ */ s(
4346
- te,
4359
+ re,
4347
4360
  {
4348
4361
  icon: Te(v === "in" ? h.inputType : h.outputType)
4349
4362
  }
@@ -4356,7 +4369,7 @@ const hl = x.div`
4356
4369
  enableHiding: !0,
4357
4370
  cell: ({ row: L, column: D, table: k }) => {
4358
4371
  if (L.original.group || L.original.metaType) return null;
4359
- const { id: O, value: F } = pe(L, D.id, "links"), ne = F?.map((K) => K.label), ue = De(L.original, r);
4372
+ const { id: O, value: F } = pe(L, D.id, "links"), te = F?.map((K) => K.label), ue = De(L.original, r);
4360
4373
  if (!ue) return null;
4361
4374
  const ke = r === "primary" && !!k.options.meta?.loadingLinksEntityIds?.has(ue.id), Ae = {
4362
4375
  links: F,
@@ -4370,12 +4383,12 @@ const hl = x.div`
4370
4383
  }
4371
4384
  };
4372
4385
  return /* @__PURE__ */ s(
4373
- re,
4386
+ ne,
4374
4387
  {
4375
4388
  rowId: O,
4376
4389
  className: W("links", { loading: L.original.isLoading }),
4377
4390
  columnId: D.id,
4378
- value: ne,
4391
+ value: te,
4379
4392
  valueData: Ae,
4380
4393
  folderId: L.original.parents?.folder?.id,
4381
4394
  attributeData: { type: "links" },
@@ -4434,7 +4447,7 @@ const hl = x.div`
4434
4447
  p && g ? u = g : S && d || m && d ? u = d : n === "latestComments" && f && g && (u = g);
4435
4448
  let b;
4436
4449
  if (n === "attrib")
4437
- b = ae(e.original, o, a, !0);
4450
+ b = se(e.original, o, a, !0);
4438
4451
  else if (n === "links")
4439
4452
  b = u.links?.[a.replace(/^link_/, "")];
4440
4453
  else if (n === "subtasks")
@@ -4446,13 +4459,13 @@ const hl = x.div`
4446
4459
  else if (t === "product")
4447
4460
  b = d?.label || d?.name;
4448
4461
  else if (u === c)
4449
- b = ae(e.original, o, a, i);
4462
+ b = se(e.original, o, a, i);
4450
4463
  else {
4451
4464
  const y = u.entityType === "version" ? "version" : "product";
4452
- b = ae(e.original, y, a, i);
4465
+ b = se(e.original, y, a, i);
4453
4466
  }
4454
4467
  return { value: b, id: e.id, type: u.entityType };
4455
- }, Ni = 200, Di = (e) => Xn.includes(e), Tl = ({
4468
+ }, Ni = 200, Di = (e) => er.includes(e), Cl = ({
4456
4469
  projectName: e,
4457
4470
  entities: t,
4458
4471
  enabled: n
@@ -4479,7 +4492,7 @@ const hl = x.div`
4479
4492
  );
4480
4493
  }, Ai = (e, t, n) => {
4481
4494
  const o = ee(
4482
- () => er.endpoints.getListsMembership.select({
4495
+ () => tr.endpoints.getListsMembership.select({
4483
4496
  projectName: e,
4484
4497
  entityType: t,
4485
4498
  entityIds: []
@@ -4491,7 +4504,7 @@ const hl = x.div`
4491
4504
  return Tt(c.error) || "Unknown error";
4492
4505
  });
4493
4506
  return { lists: a, error: i };
4494
- }, Pi = ye({}), _i = () => se(Pi);
4507
+ }, Pi = ye({}), _i = () => ae(Pi);
4495
4508
  var $i = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Top = 1] = "Top", e[e.Right = 2] = "Right", e[e.Bottom = 4] = "Bottom", e[e.Left = 8] = "Left", e[e.All = 15] = "All", e))($i || {});
4496
4509
  const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4497
4510
  const t = e.match(/^cell-(.+)-(.+)$/);
@@ -4506,7 +4519,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4506
4519
  field: i ? a.slice(7) : a,
4507
4520
  isAttrib: i
4508
4521
  };
4509
- }, zi = (e) => !!e && typeof e == "object" && "primary" in e, Cl = (e, t) => {
4522
+ }, zi = (e) => !!e && typeof e == "object" && "primary" in e, Sl = (e, t) => {
4510
4523
  if (!e || !t) return;
4511
4524
  if (zi(e)) {
4512
4525
  const { scope: a, field: i, isAttrib: l } = Ce(t);
@@ -4520,7 +4533,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4520
4533
  if (i === "product")
4521
4534
  return e.parents?.product?.label || e.parents?.product?.name || (e.primary.entityType === "product" ? e.primary.label || e.primary.name : void 0);
4522
4535
  }
4523
- return ae(e, a, i, l);
4536
+ return se(e, a, i, l);
4524
4537
  }
4525
4538
  const n = t.split("_");
4526
4539
  let o = e;
@@ -4530,20 +4543,20 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4530
4543
  else
4531
4544
  return;
4532
4545
  return o;
4533
- }, Sl = (e, t) => {
4546
+ }, Il = (e, t) => {
4534
4547
  const [n, o, a, i, l] = t.split("_"), c = e.filter(
4535
4548
  (g) => g.linkType === o && g.direction === l
4536
4549
  );
4537
4550
  return c.length ? c.map((g) => g.node.id).join(",") : "";
4538
- }, Il = (e, t, n) => {
4551
+ }, El = (e, t, n) => {
4539
4552
  if (!n[e]?.[t])
4540
4553
  return 0;
4541
4554
  let o = 0;
4542
4555
  return (e === 0 || !n[e - 1]?.[t]) && (o |= 1), n[e]?.[t + 1] || (o |= 2), n[e + 1]?.[t] || (o |= 4), (t === 0 || !n[e]?.[t - 1]) && (o |= 8), o;
4543
- }, El = (e) => {
4556
+ }, Rl = (e) => {
4544
4557
  const t = [];
4545
4558
  return e & 1 && t.push("shadow-top"), e & 2 && t.push("shadow-right"), e & 4 && t.push("shadow-bottom"), e & 8 && t.push("shadow-left"), t;
4546
- }, Rl = (e, t) => t.get(Zo(e)), Fi = (e, t, n) => e?.reduce((o, a) => {
4559
+ }, Ll = (e, t) => t.get(Xo(e)), Fi = (e, t, n) => e?.reduce((o, a) => {
4547
4560
  const { linkType: i, direction: l, entityType: c, id: g, node: d, isRestricted: f } = a;
4548
4561
  if (f || !d) {
4549
4562
  const u = {
@@ -4615,7 +4628,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4615
4628
  },
4616
4629
  parents: t ? { folder: _t(t).primary } : void 0,
4617
4630
  midnightExclusiveFields: e.data?.schedulerSyncData?.allDay ? ["attrib_endDate"] : void 0
4618
- }), Ll = (e, t) => {
4631
+ }), Nl = (e, t) => {
4619
4632
  const n = e;
4620
4633
  return {
4621
4634
  id: n.id,
@@ -4636,7 +4649,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4636
4649
  },
4637
4650
  parents: t ? { folder: _t(t).primary } : void 0
4638
4651
  };
4639
- }, Nl = (e, t, n) => ({
4652
+ }, Dl = (e, t, n) => ({
4640
4653
  id: e.id,
4641
4654
  primary: {
4642
4655
  id: e.id,
@@ -4667,7 +4680,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4667
4680
  targetEntityType: a,
4668
4681
  linkType: i
4669
4682
  }) => {
4670
- const l = zo()?.history, [c] = tr(), [g] = nr(), d = Y(
4683
+ const l = Fo()?.history, [c] = nr(), [g] = rr(), d = Y(
4671
4684
  async (p, m = !0) => {
4672
4685
  try {
4673
4686
  if (p.some((b) => b.targetEntityId === n))
@@ -4682,7 +4695,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4682
4695
  direction: t,
4683
4696
  projectName: e
4684
4697
  }));
4685
- return await Ko(u, g), m && l && l.pushHistory([
4698
+ return await Vo(u, g), m && l && l.pushHistory([
4686
4699
  () => f(
4687
4700
  p.map((b) => ({
4688
4701
  id: b.linkId,
@@ -4711,7 +4724,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4711
4724
  direction: t,
4712
4725
  projectName: e
4713
4726
  }));
4714
- await Uo(u, c), m && l && l.pushHistory(
4727
+ await Ko(u, c), m && l && l.pushHistory(
4715
4728
  p.map(
4716
4729
  (b) => () => d([{ targetEntityId: b.target.entityId, linkId: b.id }], !1)
4717
4730
  )
@@ -4804,7 +4817,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4804
4817
  ] }, `loading-${t}`)), it = ({ entity: e, icon: t, color: n, ...o }) => {
4805
4818
  const { anatomy: a } = Be();
4806
4819
  return /* @__PURE__ */ s(
4807
- te,
4820
+ re,
4808
4821
  {
4809
4822
  icon: t ?? yt(e.entityType, e.subType, a),
4810
4823
  style: { color: n ?? pn(e.entityType, e.subType, a) },
@@ -4829,7 +4842,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4829
4842
  hasNextPage: u,
4830
4843
  isFetchingNextPage: b,
4831
4844
  fetchNextPage: y
4832
- } = rr(
4845
+ } = or(
4833
4846
  {
4834
4847
  projectName: e,
4835
4848
  entityType: t,
@@ -4854,13 +4867,13 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4854
4867
  d.current && d.current.focus();
4855
4868
  }, 0);
4856
4869
  return () => clearTimeout(T);
4857
- }, [p, i]), /* @__PURE__ */ M(Do, { children: [
4870
+ }, [p, i]), /* @__PURE__ */ M(Ao, { children: [
4858
4871
  /* @__PURE__ */ s(xn, { children: "Add new link" }),
4859
- /* @__PURE__ */ M(Ao, { children: [
4860
- /* @__PURE__ */ M(Po, { children: [
4861
- /* @__PURE__ */ s(te, { icon: "search", className: "input-search" }),
4872
+ /* @__PURE__ */ M(Po, { children: [
4873
+ /* @__PURE__ */ M(_o, { children: [
4874
+ /* @__PURE__ */ s(re, { icon: "search", className: "input-search" }),
4862
4875
  /* @__PURE__ */ s(
4863
- $o,
4876
+ Mo,
4864
4877
  {
4865
4878
  ref: d,
4866
4879
  value: i,
@@ -4873,7 +4886,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4873
4886
  )
4874
4887
  ] }),
4875
4888
  !i && /* @__PURE__ */ s(
4876
- _o,
4889
+ $o,
4877
4890
  {
4878
4891
  label: `Pick ${t}s`,
4879
4892
  icon: "table_rows",
@@ -4881,7 +4894,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4881
4894
  }
4882
4895
  )
4883
4896
  ] }),
4884
- i && p && /* @__PURE__ */ M(Oo, { ref: E, children: [
4897
+ i && p && /* @__PURE__ */ M(zo, { ref: E, children: [
4885
4898
  p?.pages.map(
4886
4899
  (T, z) => T.entities.map((H, B) => {
4887
4900
  const A = p.pages.slice(0, z).reduce((P, U) => P + U.entities.length, 0) + B;
@@ -4909,7 +4922,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4909
4922
  ),
4910
4923
  (S || b || u) && /* @__PURE__ */ s(Ui, {})
4911
4924
  ] }),
4912
- !S && m && /* @__PURE__ */ s(Mo, { children: m.message })
4925
+ !S && m && /* @__PURE__ */ s(Oo, { children: m.message })
4913
4926
  ] });
4914
4927
  }, Vi = ({
4915
4928
  link: e,
@@ -4930,7 +4943,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4930
4943
  p(t), d(!1);
4931
4944
  }, b = (R) => {
4932
4945
  R.stopPropagation(), R.key === "Enter" ? R.currentTarget.blur() : R.key === "Escape" && u();
4933
- }, w = or.includes(e.entityType) && !e.isRestricted;
4946
+ }, w = ir.includes(e.entityType) && !e.isRestricted;
4934
4947
  return /* @__PURE__ */ M(
4935
4948
  kn,
4936
4949
  {
@@ -4952,7 +4965,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4952
4965
  /* @__PURE__ */ s("span", { className: "label", children: e.label })
4953
4966
  ] }) }),
4954
4967
  !e.isRestricted && (g ? /* @__PURE__ */ s(
4955
- No,
4968
+ Do,
4956
4969
  {
4957
4970
  value: f,
4958
4971
  min: 1,
@@ -4989,7 +5002,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
4989
5002
  ]
4990
5003
  }
4991
5004
  );
4992
- }, Mn = (e) => {
5005
+ }, On = (e) => {
4993
5006
  const t = /* @__PURE__ */ new Map(), n = [];
4994
5007
  for (const o of e) {
4995
5008
  const a = o.isRestricted ? `restricted_${o.linkId}` : o.entityId, i = t.get(a);
@@ -5023,7 +5036,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5023
5036
  entityType: i,
5024
5037
  targetEntityType: c,
5025
5038
  linkType: l
5026
- }), [b, y] = G(null), [w, R] = G(!1), [_, E] = G({}), I = Mn(n), T = (A) => {
5039
+ }), [b, y] = G(null), [w, R] = G(!1), [_, E] = G({}), I = On(n), T = (A) => {
5027
5040
  const P = _[A.groupKey];
5028
5041
  return P !== void 0 && P !== A.count ? P : A.count;
5029
5042
  }, z = async (A) => {
@@ -5113,7 +5126,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5113
5126
  }
5114
5127
  ),
5115
5128
  b === "picker" && /* @__PURE__ */ s(
5116
- Lr,
5129
+ Nr,
5117
5130
  {
5118
5131
  onClose: () => y(null),
5119
5132
  projectName: o,
@@ -5157,12 +5170,12 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5157
5170
  let p, m;
5158
5171
  const S = [];
5159
5172
  try {
5160
- const w = ei();
5173
+ const w = ti();
5161
5174
  p = w.setSelectedEntity, w.selectedEntity && S.push(w.selectedEntity.entityId);
5162
5175
  } catch {
5163
5176
  }
5164
5177
  try {
5165
- m = Dn().clearRowsSelection;
5178
+ m = An().clearRowsSelection;
5166
5179
  } catch {
5167
5180
  }
5168
5181
  const u = (w, R) => {
@@ -5170,7 +5183,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5170
5183
  entityId: w,
5171
5184
  entityType: R
5172
5185
  }) : console.log("Entity clicked:", w, R));
5173
- }, b = e?.links ? ji(e.links) : [], y = Mn(b);
5186
+ }, b = e?.links ? ji(e.links) : [], y = On(b);
5174
5187
  if (g) {
5175
5188
  const w = e?.entityId ?? "", R = w.charCodeAt(0) % 3 + 1;
5176
5189
  return /* @__PURE__ */ s(qi, { children: Array.from({ length: R }, (_, E) => /* @__PURE__ */ s(
@@ -5227,7 +5240,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5227
5240
  dispatch: t,
5228
5241
  ...n
5229
5242
  }) => {
5230
- const [o] = ir(), [a] = ar(), { data: i = [] } = sr({ projectName: n.projectName }), l = Be();
5243
+ const [o] = ar(), [a] = sr(), { data: i = [] } = lr({ projectName: n.projectName }), l = Be();
5231
5244
  return /* @__PURE__ */ s(
5232
5245
  e,
5233
5246
  {
@@ -5237,8 +5250,8 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5237
5250
  projectContext: l,
5238
5251
  onLink: (g) => {
5239
5252
  g.outputType === "product" && t?.(
5240
- qn.util.invalidateTags([
5241
- lr,
5253
+ Qn.util.invalidateTags([
5254
+ cr,
5242
5255
  { type: "productColumnStats", id: n.projectName },
5243
5256
  { type: "link", id: g.output },
5244
5257
  { type: "link", id: g.input },
@@ -5386,16 +5399,16 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5386
5399
  ),
5387
5400
  a: ({ href: e, children: t }) => {
5388
5401
  const [n, o] = e?.split(":") ?? [];
5389
- if (n && o && br.includes(n)) {
5402
+ if (n && o && vr.includes(n)) {
5390
5403
  const a = String(t ?? "").replace("@", "");
5391
5404
  return /* @__PURE__ */ M(na, { children: [
5392
- /* @__PURE__ */ s(te, { icon: ra(n) }),
5405
+ /* @__PURE__ */ s(re, { icon: ra(n) }),
5393
5406
  a
5394
5407
  ] });
5395
5408
  }
5396
5409
  return /* @__PURE__ */ s("span", { children: t });
5397
5410
  }
5398
- }, ia = (e) => vr(e).replace(/<br\s*\/?>/gi, `
5411
+ }, ia = (e) => xr(e).replace(/<br\s*\/?>/gi, `
5399
5412
  `), aa = kt(({ body: e }) => /* @__PURE__ */ s("div", { className: "body", children: /* @__PURE__ */ s(
5400
5413
  gn,
5401
5414
  {
@@ -5405,12 +5418,12 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5405
5418
  children: ia(e)
5406
5419
  }
5407
5420
  ) })), sa = (e) => {
5408
- const t = e.createdAt ? wr(new Date(e.createdAt)) : "";
5421
+ const t = e.createdAt ? kr(new Date(e.createdAt)) : "";
5409
5422
  return [e.author, t].filter(Boolean).join(" • ");
5410
5423
  }, la = ({ value: e }) => {
5411
5424
  const t = e || [];
5412
5425
  return t.length ? /* @__PURE__ */ s(ea, { className: "comments-list", children: t.map((n) => /* @__PURE__ */ M(ta, { children: [
5413
- /* @__PURE__ */ s("span", { className: "author", "data-tooltip": sa(n), "data-tooltip-delay": 0, children: /* @__PURE__ */ s(xr, { name: n.author || "", size: 18 }) }),
5426
+ /* @__PURE__ */ s("span", { className: "author", "data-tooltip": sa(n), "data-tooltip-delay": 0, children: /* @__PURE__ */ s(wr, { name: n.author || "", size: 18 }) }),
5414
5427
  /* @__PURE__ */ s(aa, { body: n.body })
5415
5428
  ] }, n.activityId)) }) : null;
5416
5429
  }, ca = x(Et)`
@@ -5480,7 +5493,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5480
5493
  tooltip: y.itemIds.length > 1 ? `${y.label} (x${y.itemIds.length})` : y.label,
5481
5494
  suffix: /* @__PURE__ */ M(he, { children: [
5482
5495
  /* @__PURE__ */ s(on, { count: y.itemIds.length }),
5483
- w && /* @__PURE__ */ s(te, { icon: "open_in_new", className: "open-icon" })
5496
+ w && /* @__PURE__ */ s(re, { icon: "open_in_new", className: "open-icon" })
5484
5497
  ] }),
5485
5498
  onClick: w
5486
5499
  })),
@@ -5493,14 +5506,14 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5493
5506
  };
5494
5507
  return document.addEventListener("keydown", y), () => document.removeEventListener("keydown", y);
5495
5508
  }, [i, l]), p ? /* @__PURE__ */ M(da, { "data-tooltip": `Lists failed to load, sync to try again: ${p}`, children: [
5496
- /* @__PURE__ */ s(te, { icon: "error" }),
5509
+ /* @__PURE__ */ s(re, { icon: "error" }),
5497
5510
  "Failed to load"
5498
5511
  ] }) : S ? S.length ? /* @__PURE__ */ M(he, { children: [
5499
5512
  /* @__PURE__ */ s(ca, { values: b, pt: { chip: { className: $t } } }),
5500
5513
  i && /* @__PURE__ */ s(We, { isEditing: i, anchorId: a, onClose: l, children: /* @__PURE__ */ M(ot, { onMouseDown: (y) => y.stopPropagation(), children: [
5501
5514
  /* @__PURE__ */ s(vn, { children: m?.label }),
5502
5515
  /* @__PURE__ */ s(wn, { children: u.map(({ list: y, open: w }) => /* @__PURE__ */ M(kn, { className: W({ clickable: !!w }), onClick: w, children: [
5503
- /* @__PURE__ */ s(te, { icon: Nr({ entityListType: y.entityListType, entityType: t }) }),
5516
+ /* @__PURE__ */ s(re, { icon: Dr({ entityListType: y.entityListType, entityType: t }) }),
5504
5517
  /* @__PURE__ */ s("span", { className: "title", children: y.label }),
5505
5518
  /* @__PURE__ */ s(on, { count: y.itemIds.length })
5506
5519
  ] }, y.id)) })
@@ -5557,13 +5570,13 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5557
5570
  const E = Y(async () => {
5558
5571
  if (m !== n || f !== o) {
5559
5572
  if (f !== o && !c) {
5560
- const D = dr(f);
5573
+ const D = ur(f);
5561
5574
  if (!D.valid) {
5562
5575
  console.error("Invalid label:", D.error), we.error(`Invalid label: ${D.error}`);
5563
5576
  return;
5564
5577
  }
5565
5578
  }
5566
- const L = ur(m);
5579
+ const L = pr(m);
5567
5580
  if (!L.valid || !m) {
5568
5581
  console.error("Invalid name:", L.error), we.error(`Invalid name: ${L.error}`);
5569
5582
  return;
@@ -5720,7 +5733,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5720
5733
  return i.current = {
5721
5734
  value: l.length > 1 ? {
5722
5735
  cellIds: l,
5723
- counts: Kn(c),
5736
+ counts: Vn(c),
5724
5737
  total: l.length,
5725
5738
  label: g.size === 1 ? `${d}s` : "items"
5726
5739
  } : void 0
@@ -5728,7 +5741,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5728
5741
  }, ka = x.div`
5729
5742
  position: absolute;
5730
5743
  inset: 0;
5731
- padding: ${Ir}px 8px;
5744
+ padding: ${Er}px 8px;
5732
5745
  display: flex;
5733
5746
  align-items: center;
5734
5747
  overflow: hidden;
@@ -5809,7 +5822,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5809
5822
  h(Z, !1, !1), v(Z), B(Z);
5810
5823
  } else
5811
5824
  B(null);
5812
- }, ne = ($, j) => {
5825
+ }, te = ($, j) => {
5813
5826
  if (d) {
5814
5827
  B(null);
5815
5828
  return;
@@ -5823,7 +5836,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5823
5836
  }, ue = ($) => {
5824
5837
  if (B(null), d || !O) return;
5825
5838
  const j = (Array.isArray(n) ? n : [n]).map(String).filter(Boolean);
5826
- w?.(Vn(j, $), "Click", { ...$, cellIds: O.cellIds });
5839
+ w?.(Gn(j, $), "Click", { ...$, cellIds: O.cellIds });
5827
5840
  }, ke = O && Object.keys(O.counts), Ae = O && {
5828
5841
  mixedCounts: O.counts,
5829
5842
  mixedTotal: O.total,
@@ -5835,7 +5848,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5835
5848
  $ && $.focus();
5836
5849
  }, V = ee(() => {
5837
5850
  const $ = {
5838
- onChange: ne,
5851
+ onChange: te,
5839
5852
  onCancelEdit: K,
5840
5853
  isEditing: D,
5841
5854
  isReadOnly: d
@@ -5846,7 +5859,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5846
5859
  const fe = (T?.includes("list") ? i.find(
5847
5860
  (Qe) => Array.isArray(n) ? n.includes(Qe.value) : n === Qe.value
5848
5861
  ) : void 0)?.color;
5849
- return /* @__PURE__ */ s(Or, { color: fe });
5862
+ return /* @__PURE__ */ s(zr, { color: fe });
5850
5863
  }
5851
5864
  case T === "name":
5852
5865
  return /* @__PURE__ */ s(
@@ -5903,7 +5916,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5903
5916
  );
5904
5917
  case a?.widget === "tags":
5905
5918
  return /* @__PURE__ */ s(
5906
- io,
5919
+ ao,
5907
5920
  {
5908
5921
  value: ke || (Array.isArray(n) ? n : [n]),
5909
5922
  options: i,
@@ -5944,7 +5957,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5944
5957
  );
5945
5958
  }
5946
5959
  return /* @__PURE__ */ s(
5947
- Zr,
5960
+ Xr,
5948
5961
  {
5949
5962
  value: ke || Z,
5950
5963
  options: i,
@@ -5978,7 +5991,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5978
5991
  );
5979
5992
  case T === "datetime":
5980
5993
  return /* @__PURE__ */ s(
5981
- Wr,
5994
+ Ur,
5982
5995
  {
5983
5996
  value: n || void 0,
5984
5997
  isInherited: c,
@@ -5988,7 +6001,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
5988
6001
  }
5989
6002
  );
5990
6003
  case T === "boolean":
5991
- return /* @__PURE__ */ s(Lo, { value: n, ...$, ..._?.boolean });
6004
+ return /* @__PURE__ */ s(No, { value: n, ...$, ..._?.boolean });
5992
6005
  case g:
5993
6006
  return null;
5994
6007
  default:
@@ -6002,7 +6015,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
6002
6015
  i,
6003
6016
  l,
6004
6017
  L,
6005
- ne,
6018
+ te,
6006
6019
  O
6007
6020
  ]);
6008
6021
  return /* @__PURE__ */ M(he, { children: [
@@ -6017,7 +6030,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
6017
6030
  {
6018
6031
  ...E,
6019
6032
  onKeyDown: ($) => {
6020
- E.onKeyDown?.($), !($.defaultPrevented || $.key !== "Enter" || T !== "boolean" || i.length || a?.enumResolver || d || l) && ($.preventDefault(), $.stopPropagation(), ne(!n, "Enter"));
6033
+ E.onKeyDown?.($), !($.defaultPrevented || $.key !== "Enter" || T !== "boolean" || i.length || a?.enumResolver || d || l) && ($.preventDefault(), $.stopPropagation(), te(!n, "Enter"));
6021
6034
  },
6022
6035
  className: W(E.className, {
6023
6036
  inherited: c && !D,
@@ -6033,7 +6046,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
6033
6046
  }
6034
6047
  )
6035
6048
  ] });
6036
- }, re = ({ mark: e, isReadOnly: t, ...n }) => {
6049
+ }, ne = ({ mark: e, isReadOnly: t, ...n }) => {
6037
6050
  const { mark: o, isRowReadOnly: a } = _i(), i = o && e ? { ...o, ...e } : e || o;
6038
6051
  return i?.placeholder ? /* @__PURE__ */ s(
6039
6052
  sn,
@@ -6168,7 +6181,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
6168
6181
  rowHeight: c = 40,
6169
6182
  columnDisplayConfig: g
6170
6183
  }) => {
6171
- const d = Ge(t.entityType), f = c < Er, p = f ? "compact" : "stacked", m = Zt(g, "path", "compact") ?? !0, S = Zt(g, "path", "full") ?? !0, u = f ? m : S;
6184
+ const d = Ge(t.entityType), f = c < Rr, p = f ? "compact" : "stacked", m = Zt(g, "path", "compact") ?? !0, S = Zt(g, "path", "full") ?? !0, u = f ? m : S;
6172
6185
  return /* @__PURE__ */ M(Ia, { className: p, children: [
6173
6186
  o ? /* @__PURE__ */ s(
6174
6187
  Sa,
@@ -6212,7 +6225,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
6212
6225
  border-radius: 4px;
6213
6226
  opacity: 1;
6214
6227
  }
6215
- `, On = x.div`
6228
+ `, zn = x.div`
6216
6229
  display: flex;
6217
6230
  align-items: center;
6218
6231
  gap: var(--base-gap-small);
@@ -6223,10 +6236,10 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
6223
6236
  &:hover {
6224
6237
  background-color: var(--md-sys-color-surface-container-high-hover);
6225
6238
  }
6226
- `, Pa = x(te)`
6239
+ `, Pa = x(re)`
6227
6240
  opacity: 0;
6228
6241
 
6229
- ${On}:hover & {
6242
+ ${zn}:hover & {
6230
6243
  opacity: 1;
6231
6244
  }
6232
6245
  `, _a = "entity-widget", ht = ({
@@ -6239,7 +6252,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
6239
6252
  className: l,
6240
6253
  isLoading: c
6241
6254
  }) => {
6242
- const g = se(Ln), d = oi(), f = (m) => {
6255
+ const g = ae(Ln), d = oi(), f = (m) => {
6243
6256
  m.button !== 0 || !o || !g || (d?.clearRowsSelection(), g.setSelectedEntity({ entityId: o, entityType: a }), m.preventDefault());
6244
6257
  }, p = (m) => {
6245
6258
  m.detail === 2 && f(m);
@@ -6251,7 +6264,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
6251
6264
  className: W(_a, Fe, l, { loading: c }),
6252
6265
  onMouseDown: p,
6253
6266
  "data-tooltip-delay": 200,
6254
- children: /* @__PURE__ */ M(On, { onMouseDown: f, children: [
6267
+ children: /* @__PURE__ */ M(zn, { onMouseDown: f, children: [
6255
6268
  i && /* @__PURE__ */ s(it, { entity: { entityType: a, subType: i } }),
6256
6269
  String(n ?? ""),
6257
6270
  /* @__PURE__ */ s(Pa, { icon: "dock_to_left" })
@@ -6345,7 +6358,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
6345
6358
  ),
6346
6359
  /* @__PURE__ */ s(Oa, { children: /* @__PURE__ */ s(za, { children: /* @__PURE__ */ M(Fa, { children: [
6347
6360
  a && /* @__PURE__ */ s(Ba, { src: a, alt: n, className: "img" }),
6348
- o && /* @__PURE__ */ s(te, { icon: o, style: { color: c || void 0 } }),
6361
+ o && /* @__PURE__ */ s(re, { icon: o, style: { color: c || void 0 } }),
6349
6362
  /* @__PURE__ */ s(Ha, { style: { color: c || void 0 }, children: /* @__PURE__ */ s("span", { className: "label", children: t || n }) }),
6350
6363
  i !== void 0 && i > 0 ? /* @__PURE__ */ M(ln, { children: [
6351
6364
  i,
@@ -6376,7 +6389,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
6376
6389
  height: 100%;
6377
6390
  object-fit: contain;
6378
6391
  z-index: 20;
6379
- `, Ga = x(kr)`
6392
+ `, Ga = x(Tr)`
6380
6393
  right: 5px;
6381
6394
  top: 5px;
6382
6395
  `, ja = ({
@@ -6390,14 +6403,14 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
6390
6403
  id: c,
6391
6404
  ...g
6392
6405
  }) => {
6393
- const d = e && t && n && t !== "product", f = Dr({ projectName: e, entityType: t, entityId: n, thumbnailHash: o });
6406
+ const d = e && t && n && t !== "product", f = Ar({ projectName: e, entityType: t, entityId: n, thumbnailHash: o });
6394
6407
  return /* @__PURE__ */ M(Ua, { className: "thumbnail-widget", id: c, children: [
6395
6408
  /* @__PURE__ */ M(Ka, { ...g, children: [
6396
6409
  d && /* @__PURE__ */ s(Va, { src: l || f || void 0 }),
6397
6410
  d && i && /* @__PURE__ */ s(
6398
- Tr,
6411
+ Cr,
6399
6412
  {
6400
- src: Ar({ projectName: e, entityType: t, entityId: n, thumbnailHash: o }),
6413
+ src: Pr({ projectName: e, entityType: t, entityId: n, thumbnailHash: o }),
6401
6414
  fit: "contain",
6402
6415
  style: { zIndex: 20 }
6403
6416
  }
@@ -6434,54 +6447,54 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
6434
6447
  }
6435
6448
  };
6436
6449
  export {
6437
- ei as $,
6450
+ ti as $,
6438
6451
  Ki as A,
6439
- Lo as B,
6452
+ No as B,
6440
6453
  Cn as C,
6441
- Wr as D,
6442
- Zr as E,
6443
- Rl as F,
6454
+ Ur as D,
6455
+ Xr as E,
6456
+ Ll as F,
6444
6457
  Vs as G,
6445
- Zo as H,
6458
+ Xo as H,
6446
6459
  Rn as I,
6447
6460
  Nt as J,
6448
- Uo as K,
6461
+ Ko as K,
6449
6462
  Vi as L,
6450
6463
  Bs as M,
6451
- Ko as N,
6464
+ Vo as N,
6452
6465
  In as O,
6453
- ti as P,
6454
- Sl as Q,
6455
- Cl as R,
6456
- nl as S,
6466
+ Nn as P,
6467
+ Il as Q,
6468
+ Sl as R,
6469
+ rl as S,
6457
6470
  Qt as T,
6458
6471
  be as U,
6459
- Wo as V,
6460
- Xo as W,
6472
+ Uo as V,
6473
+ ei as W,
6461
6474
  Ws as X,
6462
- Qo as Y,
6475
+ Jo as Y,
6463
6476
  Ln as Z,
6464
6477
  ri as _,
6465
- Jo as a,
6478
+ Zo as a,
6466
6479
  ci as a$,
6467
6480
  Ye as a0,
6468
- Nn as a1,
6469
- Ys as a2,
6481
+ Dn as a1,
6482
+ qs as a2,
6470
6483
  js as a3,
6471
6484
  tt as a4,
6472
6485
  Ge as a5,
6473
- wl as a6,
6486
+ kl as a6,
6474
6487
  Ks as a7,
6475
6488
  $i as a8,
6476
- El as a9,
6489
+ Rl as a9,
6477
6490
  vi as aA,
6478
6491
  J as aB,
6479
6492
  X as aC,
6480
6493
  Pe as aD,
6481
- re as aE,
6482
- Or as aF,
6494
+ ne as aE,
6495
+ zr as aF,
6483
6496
  de as aG,
6484
- Fo as aH,
6497
+ Ho as aH,
6485
6498
  _a as aI,
6486
6499
  Qa as aJ,
6487
6500
  Da as aK,
@@ -6489,15 +6502,15 @@ export {
6489
6502
  Ve as aM,
6490
6503
  Za as aN,
6491
6504
  Wa as aO,
6492
- Bo as aP,
6505
+ Wo as aP,
6493
6506
  Me as aQ,
6494
6507
  Ji as aR,
6495
6508
  ga as aS,
6496
6509
  Xa as aT,
6497
6510
  le as aU,
6498
- Js as aV,
6499
- Qs as aW,
6500
- qs as aX,
6511
+ Zs as aV,
6512
+ Js as aW,
6513
+ Qs as aX,
6501
6514
  ii as aY,
6502
6515
  At as aZ,
6503
6516
  pi as a_,
@@ -6505,46 +6518,46 @@ export {
6505
6518
  Fe as ab,
6506
6519
  gt as ac,
6507
6520
  xa as ad,
6508
- kl as ae,
6509
- pl as af,
6510
- ml as ag,
6511
- hl as ah,
6512
- rl as ai,
6513
- cl as aj,
6514
- vl as ak,
6515
- ul as al,
6516
- Tl as am,
6517
- dl as an,
6518
- gl as ao,
6519
- Dn as ap,
6520
- fl as aq,
6521
+ Tl as ae,
6522
+ ml as af,
6523
+ gl as ag,
6524
+ yl as ah,
6525
+ ol as ai,
6526
+ dl as aj,
6527
+ xl as ak,
6528
+ pl as al,
6529
+ Cl as am,
6530
+ ul as an,
6531
+ hl as ao,
6532
+ An as ap,
6533
+ bl as aq,
6521
6534
  Pi as ar,
6522
- yl as as,
6523
- Zs as at,
6535
+ fl as as,
6536
+ Xs as at,
6524
6537
  yi as au,
6525
- al as av,
6526
- il as aw,
6527
- ll as ax,
6528
- sl as ay,
6529
- ol as az,
6538
+ sl as av,
6539
+ al as aw,
6540
+ cl as ax,
6541
+ ll as ay,
6542
+ il as az,
6530
6543
  Pt as b,
6531
6544
  fn as b0,
6532
6545
  Xi as b1,
6533
6546
  Ya as b2,
6534
6547
  Jt as b3,
6535
- Ll as b4,
6536
- Nl as b5,
6537
- Il as b6,
6538
- bl as b7,
6548
+ Nl as b4,
6549
+ Dl as b5,
6550
+ El as b6,
6551
+ vl as b7,
6539
6552
  oe as b8,
6540
6553
  Ii as b9,
6541
6554
  nt as ba,
6542
6555
  Si as bb,
6543
6556
  qe as bc,
6544
6557
  De as bd,
6545
- $n as be,
6546
- ae as bf,
6547
- xl as bg,
6558
+ Mn as be,
6559
+ se as bf,
6560
+ wl as bg,
6548
6561
  pe as bh,
6549
6562
  xi as bi,
6550
6563
  Dt as bj,
@@ -6554,34 +6567,35 @@ export {
6554
6567
  Ci as bn,
6555
6568
  ge as bo,
6556
6569
  pt as bp,
6557
- jo as bq,
6570
+ Yo as bq,
6558
6571
  Ce as br,
6559
6572
  ji as bs,
6560
6573
  Ai as bt,
6561
- zo as bu,
6562
- oi as bv,
6563
- _i as bw,
6564
- An as c,
6565
- el as d,
6566
- Xs as e,
6567
- Xr as f,
6574
+ Fo as bu,
6575
+ Ys as bv,
6576
+ oi as bw,
6577
+ _i as bx,
6578
+ eo as c,
6579
+ Pn as d,
6580
+ tl as e,
6581
+ el as f,
6568
6582
  ni as g,
6569
6583
  Us as h,
6570
6584
  Gs as i,
6571
6585
  $t as j,
6572
6586
  Et as k,
6573
- So as l,
6587
+ Io as l,
6574
6588
  it as m,
6575
- no as n,
6589
+ ro as n,
6576
6590
  Gi as o,
6577
6591
  Mi as p,
6578
6592
  Zi as q,
6579
- Mn as r,
6593
+ On as r,
6580
6594
  Bi as s,
6581
- io as t,
6582
- tl as u,
6583
- Ho as v,
6584
- Vo as w,
6595
+ ao as t,
6596
+ nl as u,
6597
+ Bo as v,
6598
+ Go as w,
6585
6599
  Hi as x,
6586
6600
  Fi as y,
6587
6601
  _t as z