@ynput/ayon-frontend-shared 0.6.9 → 0.7.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 (65) hide show
  1. package/dist/ContextMenu.es.js +44 -27
  2. package/dist/DetailsPanel.es.js +225 -224
  3. package/dist/ListTable.es.js +420 -420
  4. package/dist/NewEntity.es.js +42 -41
  5. package/dist/ProjectTreeTable.es.js +3517 -3378
  6. package/dist/Slicer.es.js +301 -276
  7. package/dist/Views.es.js +366 -352
  8. package/dist/api.es.js +428 -413
  9. package/dist/chunks/Actions.es.js +18 -17
  10. package/dist/chunks/ColumnDropIndicator.es.js +19 -18
  11. package/dist/chunks/ColumnHeaderMenuUI.es.js +2 -2
  12. package/dist/chunks/ContextMenuContextInstance.es.js +4 -3
  13. package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +53 -41
  14. package/dist/chunks/DetailsDialog.es.js +26 -24
  15. package/dist/chunks/EmptyPlaceholder.es.js +3 -3
  16. package/dist/chunks/EmptyPlaceholderFlex.styled.es.js +40 -0
  17. package/dist/chunks/EntityPath.es.js +60 -59
  18. package/dist/chunks/EntityPickerDialog.es.js +88 -83
  19. package/dist/chunks/EntityTooltip.es.js +15 -14
  20. package/dist/chunks/EntityUpdatesContext.es.js +11 -11
  21. package/dist/chunks/Feed.es.js +864 -859
  22. package/dist/chunks/FilterErrorActions.es.js +4 -3
  23. package/dist/chunks/Menu.es.js +633 -289
  24. package/dist/chunks/MenuContext.es.js +1 -1
  25. package/dist/chunks/MetaWidget.es.js +2457 -2196
  26. package/dist/chunks/PlayableIcon.es.js +77 -76
  27. package/dist/chunks/ProjectContext.es.js +6 -6
  28. package/dist/chunks/RepresentationsList.es.js +1 -1
  29. package/dist/chunks/ReviewablesSelector.es.js +625 -609
  30. package/dist/chunks/SimpleForm.es.js +1 -1
  31. package/dist/chunks/SimpleTable.es.js +386 -363
  32. package/dist/chunks/Slicer.es.js +954 -821
  33. package/dist/chunks/{DeleteEntitiesContextInstance.es.js → TableExportContextInstance.es.js} +190 -186
  34. package/dist/chunks/TableSettingsFallback.es.js +4 -3
  35. package/dist/chunks/ThumbnailSimple.es.js +100 -99
  36. package/dist/chunks/VideoPlayer.es.js +1 -1
  37. package/dist/chunks/Watchers.es.js +222 -221
  38. package/dist/chunks/getBundleMode.es.js +1 -1
  39. package/dist/chunks/getEntityTypeIcon.es.js +5 -4
  40. package/dist/chunks/getUris.es.js +3873 -3736
  41. package/dist/chunks/realtimeUpdatesUtils.es.js +91 -82
  42. package/dist/chunks/searchTerms.es.js +621 -499
  43. package/dist/chunks/sortLists.es.js +22 -0
  44. package/dist/chunks/useAttributeEnums.es.js +43 -43
  45. package/dist/chunks/useHierarchySelection.es.js +6 -5
  46. package/dist/chunks/useLoadModule.es.js +24 -23
  47. package/dist/chunks/viewUpdateHelper.es.js +16 -15
  48. package/dist/components.es.js +565 -531
  49. package/dist/context.es.js +529 -503
  50. package/dist/hooks.es.js +13 -13
  51. package/dist/index.es.js +4 -4
  52. package/dist/types/ContextMenu.d.ts +4 -1
  53. package/dist/types/Feed.d.ts +1 -1
  54. package/dist/types/ListTable.d.ts +1 -1
  55. package/dist/types/ProjectTreeTable.d.ts +123 -13
  56. package/dist/types/SimpleTable.d.ts +2 -1
  57. package/dist/types/Slicer.d.ts +26 -1
  58. package/dist/types/Views.d.ts +2 -0
  59. package/dist/types/api.d.ts +2359 -590
  60. package/dist/types/components.d.ts +30 -4
  61. package/dist/types/context.d.ts +94 -2
  62. package/dist/types/util.d.ts +54 -0
  63. package/dist/util.es.js +129 -119
  64. package/package.json +2 -2
  65. package/dist/chunks/MenuItem.es.js +0 -420
@@ -1,50 +1,51 @@
1
1
  import { jsxs as k, jsx as i, Fragment as Ie } from "react/jsx-runtime";
2
- import { Toolbar as ze, Panel as ft, Button as Z, Spacer as Ge, Icon as fe, getTextColor as Ee, Dialog as bt, SEARCH_FILTER_ID as Qe, buildFilterId as Se, getFilterFromId as vt, SearchFilter as yt, AssigneeField as kt } from "@ynput/ayon-react-components";
3
- import { useEffect as H, useRef as ee, useMemo as D, useState as X, useContext as wt, useId as xt } from "react";
4
- import T, { keyframes as St } from "styled-components";
5
- import { bp as Ct } from "./chunks/searchTerms.es.js";
6
- import { bm as Tt, bK as Nt, bZ as Et, ct as qe, bu as Ke, t as Dt, bO as It, c8 as Pt } from "./chunks/getUris.es.js";
2
+ import { Toolbar as ze, Panel as vt, Button as Z, Spacer as Ge, Icon as fe, getTextColor as Ee, Dialog as yt, SEARCH_FILTER_ID as Qe, buildFilterId as Se, getFilterFromId as kt, SearchFilter as wt, AssigneeField as xt } from "@ynput/ayon-react-components";
3
+ import { useEffect as H, useRef as ee, useMemo as D, useState as J, useContext as St, useId as Ct } from "react";
4
+ import T, { keyframes as Tt } from "styled-components";
5
+ import { bz as Nt, bH as Et } from "./chunks/searchTerms.es.js";
6
+ import { bp as Dt, bN as It, c2 as Pt, cy as qe, bx as Ke, v as Ft, bR as At, cd as Ot } from "./chunks/getUris.es.js";
7
7
  import "primereact/confirmdialog";
8
- import { o as Ft, y as At, H as Ot, G as Rt, z as jt, w as Xe, A as Vt, B as Ut, E as $t, I as Lt, J as _t, K as Mt, N as Ht, W as Bt, s as Wt } from "./chunks/Watchers.es.js";
9
- import { O as wa, Q as xa, V as Sa, X as Ca, T as Ta } from "./chunks/Watchers.es.js";
10
- import { E as zt, R as Gt, a as Qt } from "./chunks/EntityPath.es.js";
11
- import { union as ue, upperFirst as Je } from "lodash";
8
+ import { o as Rt, y as jt, H as Vt, G as Ut, z as $t, w as Je, A as Lt, B as _t, E as Mt, I as Ht, J as Bt, K as Wt, N as zt, W as Gt, s as Qt } from "./chunks/Watchers.es.js";
9
+ import { O as Ca, Q as Ta, V as Na, X as Ea, T as Da } from "./chunks/Watchers.es.js";
10
+ import { E as qt, R as Kt, a as Jt } from "./chunks/EntityPath.es.js";
11
+ import { union as ue, upperFirst as Xe } from "lodash";
12
12
  import "react-toastify";
13
13
  import "uuid";
14
- import { a as qt, b as Kt, A as _e, e as Xt } from "./chunks/activeEntities.es.js";
14
+ import { a as Xt, b as Yt, A as _e, e as Zt } from "./chunks/activeEntities.es.js";
15
15
  import "@module-federation/enhanced/runtime";
16
- import { o as q, u as Jt, T as Yt, a6 as Zt, a0 as en, a8 as tn, B as nn, a7 as sn, X as an } from "./chunks/DeleteEntitiesContextInstance.es.js";
16
+ import { o as q, u as en, T as tn, a8 as nn, a2 as sn, aa as an, G as on, a9 as rn, Z as ln } from "./chunks/TableExportContextInstance.es.js";
17
17
  import "semver";
18
- import { T as on, P as Ye } from "./chunks/ProjectContext.es.js";
18
+ import { T as cn, P as Ye } from "./chunks/ProjectContext.es.js";
19
19
  import "react-dom";
20
20
  import "react-redux";
21
+ import "react-router-dom";
21
22
  import ie from "clsx";
22
- import { A as rn } from "./chunks/Actions.es.js";
23
+ import { A as dn } from "./chunks/Actions.es.js";
23
24
  import "./chunks/ContextMenuContextInstance.es.js";
24
25
  import { g as Ce } from "./chunks/getEntityTypeIcon.es.js";
25
- import { _ as ln } from "./chunks/PlayableIcon.es.js";
26
- import { R as cn } from "./chunks/RepresentationsList.es.js";
27
- import { I as dn } from "./chunks/InfoMessage.es.js";
28
- import { M as un, a as pn } from "./chunks/Menu.es.js";
29
- import { D as hn } from "./chunks/DetailsDialog.es.js";
30
- import { u as mn } from "./chunks/VersionUploadContextInstance.es.js";
31
- import { p as gn } from "./chunks/pluralize.es.js";
32
- import { c as fn } from "./chunks/copyToClipboard.es.js";
33
- import { u as bn } from "./chunks/useQueryArgumentChangeLoading.es.js";
34
- import { d as Ze, c as vn } from "./chunks/Feed.es.js";
35
- import { A as yn, C as kn } from "./chunks/ThumbnailSimple.es.js";
36
- import { o as wn, k as xn } from "./chunks/MetaWidget.es.js";
37
- import { t as Sn, c as Cn } from "./chunks/queryFilterToClientFilter.es.js";
38
- import { u as Tn } from "./chunks/useDateRangeFilter.es.js";
39
- import { e as Nn } from "./chunks/expandRelativeDates.es.js";
26
+ import { _ as un } from "./chunks/PlayableIcon.es.js";
27
+ import { R as pn } from "./chunks/RepresentationsList.es.js";
28
+ import { I as hn } from "./chunks/InfoMessage.es.js";
29
+ import { M as mn, a as gn } from "./chunks/Menu.es.js";
30
+ import { D as fn } from "./chunks/DetailsDialog.es.js";
31
+ import { u as bn } from "./chunks/VersionUploadContextInstance.es.js";
32
+ import { p as vn } from "./chunks/pluralize.es.js";
33
+ import { c as yn } from "./chunks/copyToClipboard.es.js";
34
+ import { u as kn } from "./chunks/useQueryArgumentChangeLoading.es.js";
35
+ import { d as Ze, c as wn } from "./chunks/Feed.es.js";
36
+ import { A as xn, C as Sn } from "./chunks/ThumbnailSimple.es.js";
37
+ import { o as Cn, k as Tn } from "./chunks/MetaWidget.es.js";
38
+ import { t as Nn, c as En } from "./chunks/queryFilterToClientFilter.es.js";
39
+ import { u as Dn } from "./chunks/useDateRangeFilter.es.js";
40
+ import { e as In } from "./chunks/expandRelativeDates.es.js";
40
41
  import "axios";
41
42
  import "@dnd-kit/core";
42
43
  import "@dnd-kit/sortable";
43
44
  import "@dnd-kit/utilities";
44
45
  import "custom-protocol-check";
45
46
  import "./chunks/SimpleForm.es.js";
46
- import { Dialog as En } from "primereact/dialog";
47
- function Dn({
47
+ import { Dialog as Pn } from "primereact/dialog";
48
+ function Fn({
48
49
  entityData: e,
49
50
  project: n,
50
51
  activeEntityType: t,
@@ -60,7 +61,7 @@ function Dn({
60
61
  c !== m && window.history.replaceState(window.history.state, "", c);
61
62
  }, [e, n, t, o]);
62
63
  }
63
- const In = T(ze)`
64
+ const An = T(ze)`
64
65
  display: flex;
65
66
  justify-content: space-between;
66
67
  align-items: flex-start;
@@ -72,7 +73,7 @@ const In = T(ze)`
72
73
  & > * {
73
74
  min-width: max-content;
74
75
  }
75
- `, Pn = T.div`
76
+ `, On = T.div`
76
77
  display: flex;
77
78
  align-items: flex-start;
78
79
  gap: 4px;
@@ -81,26 +82,26 @@ const In = T(ze)`
81
82
  right: 0;
82
83
  padding: var(--padding-m);
83
84
  background-color: var(--md-sys-color-surface-container-low);
84
- `, Fn = T(ft)`
85
+ `, Rn = T(vt)`
85
86
  gap: 0px;
86
87
  height: 100%;
87
88
  padding: 0px;
88
89
  box-shadow: -2px 0 6px #00000047;
89
90
  z-index: 300;
90
- `, An = T(ze)`
91
+ `, jn = T(ze)`
91
92
  border-radius: 8px 8px 0 0;
92
93
  gap: var(--base-gap-small) !important;
93
94
  position: relative;
94
95
  z-index: 100;
95
96
  grid-column: span 2;
96
- `, On = ["product", "representation"], Rn = ["task"], jn = ({
97
+ `, Vn = ["product", "representation"], Un = ["task"], $n = ({
97
98
  entityType: e,
98
99
  currentTab: n,
99
100
  onTabChange: t,
100
101
  isLoading: o
101
102
  }) => {
102
- const s = !On.includes(e), a = Rn.includes(e);
103
- return /* @__PURE__ */ k(An, { className: o ? "loading" : "", children: [
103
+ const s = !Vn.includes(e), a = Un.includes(e);
104
+ return /* @__PURE__ */ k(jn, { className: o ? "loading" : "", children: [
104
105
  s && /* @__PURE__ */ i(
105
106
  Z,
106
107
  {
@@ -146,12 +147,12 @@ const In = T(ze)`
146
147
  }
147
148
  )
148
149
  ] });
149
- }, Vn = T.div`
150
+ }, Ln = T.div`
150
151
  display: flex;
151
152
  align-items: center;
152
153
  gap: var(--base-gap-small);
153
154
  overflow: hidden;
154
- `, Un = T.button`
155
+ `, _n = T.button`
155
156
  display: inline-flex;
156
157
  align-items: center;
157
158
  gap: var(--base-gap-small);
@@ -173,14 +174,14 @@ const In = T(ze)`
173
174
  text-overflow: ellipsis;
174
175
  white-space: nowrap;
175
176
  }
176
- `, $n = ({ entity: e, taskTypes: n }) => {
177
+ `, Mn = ({ entity: e, taskTypes: n }) => {
177
178
  const { openSlideOut: t } = q(), { projectName: o } = e, s = e.task?.name ? e.task : void 0;
178
179
  if (!s?.id) return null;
179
180
  const a = n.find((r) => r.name === s.taskType);
180
- return /* @__PURE__ */ k(Vn, { className: "linked-task", children: [
181
+ return /* @__PURE__ */ k(Ln, { className: "linked-task", children: [
181
182
  /* @__PURE__ */ i("span", { children: "Task" }),
182
183
  /* @__PURE__ */ k(
183
- Un,
184
+ _n,
184
185
  {
185
186
  onClick: () => t({ entityId: s.id, entityType: "task", projectName: o }),
186
187
  children: [
@@ -249,7 +250,7 @@ const In = T(ze)`
249
250
  subTitle: o.entityType || "Unknown Type"
250
251
  };
251
252
  }
252
- }, Ln = ({
253
+ }, Hn = ({
253
254
  entityType: e,
254
255
  entitySubTypes: n,
255
256
  entities: t = [],
@@ -267,7 +268,7 @@ const In = T(ze)`
267
268
  thumbnailInputRef: R,
268
269
  versionsInputRef: j
269
270
  }) => {
270
- const { useSearchParams: P, useNavigate: d, bundleMode: u } = q(), h = d(), [N, A] = P(), E = ee(null), y = D(() => tt(g), [g]), w = Ft(
271
+ const { useSearchParams: P, useNavigate: d, bundleMode: u } = q(), h = d(), [N, A] = P(), E = ee(null), y = D(() => tt(g), [g]), w = Rt(
271
272
  t.map((l) => l.projectName),
272
273
  [e]
273
274
  ), O = D(() => e === "task" ? ue(...t.map((l) => l.task?.assignees || [])) : e === "version" ? ue(
@@ -295,13 +296,13 @@ const In = T(ze)`
295
296
  });
296
297
  const te = t.length > 1 ? void 0 : V?.projectName;
297
298
  t.filter((l) => l.projectName === V?.projectName && l.id).map((l) => l.id);
298
- const { data: ne } = Tt({ attributeName: "priority" }), se = qt(ne, e), ae = D(
299
+ const { data: ne } = Dt({ attributeName: "priority" }), se = Xt(ne, e), ae = D(
299
300
  () => et(t, e, y),
300
301
  [t, e, y]
301
- ), I = D(() => t.map((l) => l.status), [t]), oe = D(() => t.map((l) => l.attrib?.priority), [t]), J = D(() => t.map((l) => l.tags), [t]), re = D(
302
+ ), I = D(() => t.map((l) => l.status), [t]), oe = D(() => t.map((l) => l.attrib?.priority), [t]), X = D(() => t.map((l) => l.tags), [t]), re = D(
302
303
  () => r.reduce((l, C) => (l[C.name] = C, l), {}),
303
304
  [r]
304
- ), K = t.length > 1, le = !K && !!V?.hasReviewables, $ = ae.length === 1, { attribAccess: U, updateEntity: ce } = At({
305
+ ), K = t.length > 1, le = !K && !!V?.hasReviewables, $ = ae.length === 1, { attribAccess: U, updateEntity: ce } = jt({
305
306
  entities: t,
306
307
  entityType: e
307
308
  }), { writableFields: B } = U, be = !B || B.includes("status"), he = !B || B.includes("tags"), S = e === "task" && (!B || B.includes("assignees")), Y = (l, C) => {
@@ -314,14 +315,14 @@ const In = T(ze)`
314
315
  projectName: te,
315
316
  versionIds: l
316
317
  });
317
- }, me = (e === "task" || e === "version") && (O.length > 0 || e === "task"), Q = [...Ct(s, O)];
318
+ }, me = (e === "task" || e === "version") && (O.length > 0 || e === "task"), Q = [...Nt(s, O)];
318
319
  if (me) {
319
320
  const l = s.map((z) => z.name), C = O.filter((z) => !l.includes(z));
320
321
  C.length && Q.push(...C.map((z) => ({ name: z, fullName: z })));
321
322
  }
322
323
  const { title: de, subTitle: ye } = nt(t, e), W = w?.length !== 0 && w?.find((l) => l.name === I[0]);
323
- return /* @__PURE__ */ i(Ot, { children: /* @__PURE__ */ i(
324
- zt,
324
+ return /* @__PURE__ */ i(Vt, { children: /* @__PURE__ */ i(
325
+ qt,
325
326
  {
326
327
  entities: t,
327
328
  entityType: e,
@@ -329,15 +330,15 @@ const In = T(ze)`
329
330
  thumbnailInputRef: R,
330
331
  versionsInputRef: j,
331
332
  onVersionCreated: (l) => x?.(l, "version"),
332
- children: /* @__PURE__ */ k(Rt, { className: ie("details-panel-header", { isCompact: m }), children: [
333
+ children: /* @__PURE__ */ k(Ut, { className: ie("details-panel-header", { isCompact: m }), children: [
333
334
  /* @__PURE__ */ k(
334
- jt,
335
+ $t,
335
336
  {
336
337
  className: ie("titles", { isCompact: m, loading: L }, "no-shimmer"),
337
338
  children: [
338
339
  /* @__PURE__ */ k("div", { style: { position: "relative" }, children: [
339
340
  /* @__PURE__ */ i(
340
- Xe,
341
+ Je,
341
342
  {
342
343
  isLoading: L,
343
344
  shimmer: L,
@@ -346,16 +347,16 @@ const In = T(ze)`
346
347
  hoverIcon: le ? "play_circle" : void 0
347
348
  }
348
349
  ),
349
- le && /* @__PURE__ */ i(ln, {})
350
+ le && /* @__PURE__ */ i(un, {})
350
351
  ] }),
351
- /* @__PURE__ */ k(Vt, { className: ie({ loading: L }), children: [
352
- /* @__PURE__ */ k(Ut, { children: [
352
+ /* @__PURE__ */ k(Lt, { className: ie({ loading: L }), children: [
353
+ /* @__PURE__ */ k(_t, { children: [
353
354
  /* @__PURE__ */ i("h2", { children: de }),
354
355
  he ? /* @__PURE__ */ i(
355
- $t,
356
+ Mt,
356
357
  {
357
358
  ref: E,
358
- value: ue(...J),
359
+ value: ue(...X),
359
360
  tags: re,
360
361
  options: [],
361
362
  editable: !0,
@@ -366,7 +367,7 @@ const In = T(ze)`
366
367
  className: "tags-select",
367
368
  itemClassName: "details-tag"
368
369
  }
369
- ) : /* @__PURE__ */ i(Lt, { className: "tags-select", children: ue(...J).length ? ue(...J).map((l) => {
370
+ ) : /* @__PURE__ */ i(Ht, { className: "tags-select", children: ue(...X).length ? ue(...X).map((l) => {
370
371
  const C = re[l]?.color;
371
372
  return /* @__PURE__ */ i(
372
373
  "span",
@@ -383,13 +384,13 @@ const In = T(ze)`
383
384
  ] }),
384
385
  /* @__PURE__ */ k("div", { className: "sub-title", children: [
385
386
  /* @__PURE__ */ k("span", { className: "entity-type", children: [
386
- Je(e),
387
+ Xe(e),
387
388
  " - "
388
389
  ] }),
389
390
  /* @__PURE__ */ i("h3", { children: ye })
390
391
  ] }),
391
392
  e === "version" && !K && !L && V && /* @__PURE__ */ i(
392
- $n,
393
+ Mn,
393
394
  {
394
395
  entity: V,
395
396
  taskTypes: g.taskTypes
@@ -401,7 +402,7 @@ const In = T(ze)`
401
402
  }
402
403
  ),
403
404
  /* @__PURE__ */ i(
404
- _t,
405
+ Bt,
405
406
  {
406
407
  value: I,
407
408
  options: w || [],
@@ -416,7 +417,7 @@ const In = T(ze)`
416
417
  }
417
418
  ),
418
419
  !m && (!me || L ? /* @__PURE__ */ i("div", {}) : /* @__PURE__ */ i(
419
- Mt,
420
+ Wt,
420
421
  {
421
422
  value: O,
422
423
  options: Q,
@@ -431,7 +432,7 @@ const In = T(ze)`
431
432
  }
432
433
  )),
433
434
  /* @__PURE__ */ i(
434
- rn,
435
+ dn,
435
436
  {
436
437
  entities: t,
437
438
  entityType: e,
@@ -444,7 +445,7 @@ const In = T(ze)`
444
445
  }
445
446
  ),
446
447
  se ? /* @__PURE__ */ i(
447
- Ht,
448
+ zt,
448
449
  {
449
450
  options: se,
450
451
  placeholder: "No priority",
@@ -454,7 +455,7 @@ const In = T(ze)`
454
455
  }
455
456
  ) : /* @__PURE__ */ i("div", { style: { height: 32 } }),
456
457
  /* @__PURE__ */ i(
457
- jn,
458
+ $n,
458
459
  {
459
460
  entityType: e,
460
461
  currentTab: f,
@@ -465,7 +466,7 @@ const In = T(ze)`
465
466
  ] })
466
467
  }
467
468
  ) });
468
- }, _n = T.div`
469
+ }, Bn = T.div`
469
470
  display: flex;
470
471
  flex-direction: column;
471
472
 
@@ -485,7 +486,7 @@ const In = T(ze)`
485
486
  &:first-child {
486
487
  border-bottom: 1px solid var(--md-sys-color-outline-variant);
487
488
  }
488
- `, Mn = ({
489
+ `, Wn = ({
489
490
  entities: e = [],
490
491
  scope: n,
491
492
  isLoadingVersion: t
@@ -493,11 +494,11 @@ const In = T(ze)`
493
494
  const o = e[0];
494
495
  if (!o) return null;
495
496
  let s = "Reviewables";
496
- return e.length > 1 && (s += ` (${o.name})`), e.some((a) => a.entityType !== "version") ? null : /* @__PURE__ */ k(_n, { children: [
497
+ return e.length > 1 && (s += ` (${o.name})`), e.some((a) => a.entityType !== "version") ? null : /* @__PURE__ */ k(Bn, { children: [
497
498
  /* @__PURE__ */ k(Me, { children: [
498
499
  /* @__PURE__ */ i("h4", { children: s }),
499
500
  /* @__PURE__ */ i(
500
- Gt,
501
+ Kt,
501
502
  {
502
503
  projectName: o.projectName,
503
504
  productId: o.product?.id,
@@ -509,16 +510,16 @@ const In = T(ze)`
509
510
  ] }),
510
511
  /* @__PURE__ */ k(Me, { children: [
511
512
  /* @__PURE__ */ i("h4", { children: "Representations" }),
512
- /* @__PURE__ */ i(cn, { entities: e })
513
+ /* @__PURE__ */ i(pn, { entities: e })
513
514
  ] })
514
515
  ] });
515
- }, Hn = ({
516
+ }, zn = ({
516
517
  latestVersion: e,
517
518
  resolveVersionJump: n
518
519
  }) => {
519
520
  const t = n?.(e.id);
520
521
  return /* @__PURE__ */ i(
521
- dn,
522
+ hn,
522
523
  {
523
524
  variant: "info",
524
525
  compact: !0,
@@ -532,16 +533,16 @@ const In = T(ze)`
532
533
  } : void 0
533
534
  }
534
535
  );
535
- }, Bn = (e) => {
536
+ }, Gn = (e) => {
536
537
  const n = e?.version?.version, t = e?.product?.latestVersion;
537
538
  if (!(e?.entityType !== "version" || !n || n <= 0 || !t?.active))
538
539
  return t.version > n ? t : void 0;
539
- }, Wn = () => ({
540
- onOpenVersionUpload: mn()?.onOpenVersionUpload ?? null
541
- }), zn = (e, n, t) => {
540
+ }, Qn = () => ({
541
+ onOpenVersionUpload: bn()?.onOpenVersionUpload ?? null
542
+ }), qn = (e, n, t) => {
542
543
  const o = e === "folder" || e === "task" ? "overview" : e === "product" || e === "version" || e === "representation" ? "products" : null;
543
544
  return o ? `${typeof window < "u" ? window.location.origin : ""}/projects/${t}/${o}?project=${t}&type=${e}&id=${n}` : null;
544
- }, Gn = ({
545
+ }, Kn = ({
545
546
  entityType: e,
546
547
  entityId: n,
547
548
  projectName: t,
@@ -607,7 +608,7 @@ const In = T(ze)`
607
608
  });
608
609
  }
609
610
  }
610
- const N = u[0], A = N?.entityId && t ? zn(
611
+ const N = u[0], A = N?.entityId && t ? qn(
611
612
  N.entityType || e,
612
613
  N.entityId,
613
614
  t
@@ -623,7 +624,7 @@ const In = T(ze)`
623
624
  icon: "database",
624
625
  onClick: P
625
626
  }), f && s.length > 0) {
626
- const E = new Set(s.map((O) => O.entityType)), y = E.size === 1 ? [...E][0] : "item", w = s.length === 1 ? `Delete ${y}` : `Delete ${gn(s.length, y)}`;
627
+ const E = new Set(s.map((O) => O.entityType)), y = E.size === 1 ? [...E][0] : "item", w = s.length === 1 ? `Delete ${y}` : `Delete ${vn(s.length, y)}`;
627
628
  h.push({
628
629
  id: "delete",
629
630
  label: w,
@@ -652,7 +653,7 @@ const In = T(ze)`
652
653
  P,
653
654
  d
654
655
  ]);
655
- }, Qn = T.div`
656
+ }, Jn = T.div`
656
657
  display: flex;
657
658
  flex-direction: column;
658
659
  gap: 16px;
@@ -692,12 +693,12 @@ const In = T(ze)`
692
693
  text-overflow: ellipsis;
693
694
  white-space: nowrap;
694
695
  }
695
- `, qn = ({ link: e, entityLabel: n, visible: t, onHide: o }) => {
696
+ `, Xn = ({ link: e, entityLabel: n, visible: t, onHide: o }) => {
696
697
  if (!t) return null;
697
698
  const s = `[${n}](${e})`, a = (r) => {
698
- fn(r, !0), o();
699
+ yn(r, !0), o();
699
700
  };
700
- return /* @__PURE__ */ i(bt, { isOpen: !0, onClose: o, size: "sm", header: "Share", children: /* @__PURE__ */ k(Qn, { children: [
701
+ return /* @__PURE__ */ i(yt, { isOpen: !0, onClose: o, size: "sm", header: "Share", children: /* @__PURE__ */ k(Jn, { children: [
701
702
  /* @__PURE__ */ k(He, { children: [
702
703
  /* @__PURE__ */ i(Be, { children: "Link" }),
703
704
  /* @__PURE__ */ k(We, { type: "button", onClick: () => a(e), "aria-label": "Copy link", children: [
@@ -713,7 +714,7 @@ const In = T(ze)`
713
714
  ] })
714
715
  ] })
715
716
  ] }) });
716
- }, Kn = (e, n, t, o) => {
717
+ }, Yn = (e, n, t, o) => {
717
718
  const s = { projectName: t, quickView: !0 };
718
719
  switch (e) {
719
720
  case "folder":
@@ -727,7 +728,7 @@ const In = T(ze)`
727
728
  default:
728
729
  return null;
729
730
  }
730
- }, Xn = ({
731
+ }, Zn = ({
731
732
  entityType: e,
732
733
  entityId: n,
733
734
  entityIds: t,
@@ -741,14 +742,14 @@ const In = T(ze)`
741
742
  taskId: p,
742
743
  folderId: g
743
744
  }) => {
744
- const b = ee(null), [x, R] = X(!1), [j, P] = X(null), { menuOpen: d, toggleMenuOpen: u, setMenuOpen: h } = Jt(), { triggerThumbnailUpload: N, canUploadVersion: A } = wt(Yt), { onOpenVersionUpload: E } = Wn(), y = xt(), w = D(() => {
745
+ const b = ee(null), [x, R] = J(!1), [j, P] = J(null), { menuOpen: d, toggleMenuOpen: u, setMenuOpen: h } = en(), { triggerThumbnailUpload: N, canUploadVersion: A } = St(tn), { onOpenVersionUpload: E } = Qn(), y = Ct(), w = D(() => {
745
746
  const $ = n || t?.[0] || "noentity";
746
747
  return `details-more-menu-${y}-${$}-${s || "noproject"}`;
747
748
  }, [y, n, t, s]), O = d === w, V = !!n && !!s && !!N, L = !!A && !!E, te = () => {
748
749
  E?.({ productId: f, taskId: p, folderId: g });
749
- }, ne = n && s ? Kn(e, n, s, f) : null, se = !!m && !!ne, ae = Zt(), I = D(() => (a.length ? a : n ? [{ entityId: n, entityType: e, projectName: s }] : []).map((U) => {
750
+ }, ne = n && s ? Yn(e, n, s, f) : null, se = !!m && !!ne, ae = nn(), I = D(() => (a.length ? a : n ? [{ entityId: n, entityType: e, projectName: s }] : []).map((U) => {
750
751
  const ce = U.entityType || e, B = U.projectName || s;
751
- return !en(ce) || !U.entityId || !B ? null : {
752
+ return !sn(ce) || !U.entityId || !B ? null : {
752
753
  id: U.entityId,
753
754
  entityType: ce,
754
755
  name: U.name,
@@ -757,9 +758,9 @@ const In = T(ze)`
757
758
  folderId: U.folderId,
758
759
  parentId: U.parentId
759
760
  };
760
- }).filter((U) => U !== null), [a, n, e, s]), oe = !!ae && I.length > 0, J = () => {
761
+ }).filter((U) => U !== null), [a, n, e, s]), oe = !!ae && I.length > 0, X = () => {
761
762
  h(!1), ae?.deleteEntities(I);
762
- }, { items: re } = Gn({
763
+ }, { items: re } = Kn({
763
764
  entityType: e,
764
765
  entityId: n,
765
766
  projectName: s,
@@ -777,7 +778,7 @@ const In = T(ze)`
777
778
  onUploadVersion: te,
778
779
  onShare: ($) => P($),
779
780
  onViewData: () => R(!0),
780
- onDelete: J
781
+ onDelete: X
781
782
  }), K = t?.length ? t : n ? [n] : [], le = o || n || "";
782
783
  return /* @__PURE__ */ k(Ie, { children: [
783
784
  /* @__PURE__ */ i(
@@ -792,9 +793,9 @@ const In = T(ze)`
792
793
  onClick: () => u(w)
793
794
  }
794
795
  ),
795
- /* @__PURE__ */ i(un, { id: w, target: b.current, align: "right", children: /* @__PURE__ */ i(pn, { menu: re, onClose: () => h(!1) }) }),
796
+ /* @__PURE__ */ i(mn, { id: w, target: b.current, align: "right", children: /* @__PURE__ */ i(gn, { menu: re, onClose: () => h(!1) }) }),
796
797
  x && s && K.length > 0 && /* @__PURE__ */ i(
797
- hn,
798
+ fn,
798
799
  {
799
800
  projectName: s,
800
801
  entityType: e,
@@ -804,7 +805,7 @@ const In = T(ze)`
804
805
  }
805
806
  ),
806
807
  j && /* @__PURE__ */ i(
807
- qn,
808
+ Xn,
808
809
  {
809
810
  link: j,
810
811
  entityLabel: le,
@@ -813,7 +814,7 @@ const In = T(ze)`
813
814
  }
814
815
  )
815
816
  ] });
816
- }, Jn = (e, n) => {
817
+ }, es = (e, n) => {
817
818
  const t = [e];
818
819
  let o = e;
819
820
  for (; o.parentId && o.parentId !== "root"; ) {
@@ -823,32 +824,32 @@ const In = T(ze)`
823
824
  t.unshift(s), o = s;
824
825
  }
825
826
  return t;
826
- }, Yn = (e, n) => {
827
+ }, ts = (e, n) => {
827
828
  const t = [];
828
829
  let o = n.get(e.folder?.id || "");
829
- if ((o ? Jn(o, n) : []).forEach((a) => {
830
+ if ((o ? es(o, n) : []).forEach((a) => {
830
831
  t.push({ type: "folder", label: a.label || a.name, id: a.id });
831
832
  }), e.entityType === "version") {
832
833
  const a = `${e.product?.name} - ${e.name}`;
833
834
  t.push({ type: "version", label: a, id: e.id });
834
835
  }
835
836
  return e.entityType === "task" && t.push({ type: "task", label: e.label || e.name, id: e.id }), t;
836
- }, Zn = ({
837
+ }, ns = ({
837
838
  entity: e,
838
839
  entityType: n,
839
840
  projectName: t,
840
841
  isLoading: o
841
842
  }) => {
842
- const { data: { folders: s = [] } = {}, isFetching: a } = Nt(
843
+ const { data: { folders: s = [] } = {}, isFetching: a } = It(
843
844
  // TODO: this is major overkill, we are only using label, name and id
844
845
  // We add a patch field that allows us to specify what ws message changes should cause an update to this query
845
846
  // @ts-expect-error - patch is not part of the query args
846
847
  { projectName: t, patch: ["id", "name", "label"] },
847
848
  { skip: !t || o }
848
- ), r = bn(
849
+ ), r = kn(
849
850
  { projectName: t || "", isLoading: o },
850
851
  a
851
- ), { data: c } = Et(
852
+ ), { data: c } = Pt(
852
853
  { productId: e.product?.id || "", projectName: t },
853
854
  { skip: n !== "version" || !e.product?.id }
854
855
  ), m = D(
@@ -863,7 +864,7 @@ const In = T(ze)`
863
864
  [s]
864
865
  );
865
866
  return [D(
866
- () => r ? [] : Yn(e, f),
867
+ () => r ? [] : ts(e, f),
867
868
  [r, s, e]
868
869
  ), m];
869
870
  }, st = (e, n) => {
@@ -896,12 +897,12 @@ const In = T(ze)`
896
897
  ...p,
897
898
  ...f,
898
899
  children: [
899
- /* @__PURE__ */ i(vn, { ...f, statuses: f.statuses }),
900
- /* @__PURE__ */ i(yn, {})
900
+ /* @__PURE__ */ i(wn, { ...f, statuses: f.statuses }),
901
+ /* @__PURE__ */ i(xn, {})
901
902
  ]
902
903
  }
903
904
  );
904
- }, es = ({
905
+ }, ss = ({
905
906
  children: e,
906
907
  scope: n = "dashboard",
907
908
  entities: t,
@@ -913,7 +914,7 @@ const In = T(ze)`
913
914
  exportAnnotationComposite: m,
914
915
  ...f
915
916
  }) => {
916
- const p = { annotations: r, removeAnnotation: c, exportAnnotationComposite: m }, { user: g } = q(), b = g?.name ?? "", x = g?.attrib?.fullName ?? "", [R, j] = X(null);
917
+ const p = { annotations: r, removeAnnotation: c, exportAnnotationComposite: m }, { user: g } = q(), b = g?.name ?? "", x = g?.attrib?.fullName ?? "", [R, j] = J(null);
917
918
  return /* @__PURE__ */ i(
918
919
  Ze,
919
920
  {
@@ -975,15 +976,15 @@ const In = T(ze)`
975
976
  }), Object.keys(s).forEach((a) => {
976
977
  (a === "productTypes" || s[a].length > 0) && (t[a] = o(s[a]));
977
978
  }), t;
978
- }, ts = T.div`
979
+ }, as = T.div`
979
980
  display: flex;
980
981
  align-items: center;
981
982
  padding: 4px 8px;
982
983
  gap: var(--base-gap-small);
983
- `, ns = T.span`
984
+ `, os = T.span`
984
985
  font-weight: 600;
985
986
  user-select: none;
986
- `, ss = T.div`
987
+ `, is = T.div`
987
988
  display: flex;
988
989
  gap: var(--base-gap-small);
989
990
  `, Ne = T(Z)`
@@ -991,7 +992,7 @@ const In = T(ze)`
991
992
  &.hasIcon {
992
993
  padding: 4px;
993
994
  }
994
- `, as = T.div`
995
+ `, rs = T.div`
995
996
  display: flex;
996
997
  align-items: center;
997
998
  gap: var(--base-gap-small);
@@ -1008,10 +1009,10 @@ const In = T(ze)`
1008
1009
  box-shadow: 0 0 0 1px var(--md-sys-color-primary-container);
1009
1010
  background-color: var(--md-sys-color-surface-container-lowest);
1010
1011
  }
1011
- `, os = T(wn)`
1012
+ `, ls = T(Cn)`
1012
1013
  width: 28px;
1013
1014
  height: 28px;
1014
- `, is = T.input`
1015
+ `, cs = T.input`
1015
1016
  flex: 1;
1016
1017
  min-width: 0;
1017
1018
  border: none;
@@ -1024,7 +1025,7 @@ const In = T(ze)`
1024
1025
  &::placeholder {
1025
1026
  color: var(--md-sys-color-outline);
1026
1027
  }
1027
- `, rs = T(Z)`
1028
+ `, ds = T(Z)`
1028
1029
  background-color: unset;
1029
1030
  min-width: unset;
1030
1031
  &.hasIcon {
@@ -1061,14 +1062,14 @@ const In = T(ze)`
1061
1062
  operator: t,
1062
1063
  value: a[0] || ""
1063
1064
  };
1064
- }, ls = ({
1065
+ }, us = ({
1065
1066
  label: e,
1066
1067
  filters: n,
1067
1068
  currentFilter: t,
1068
1069
  onFilterChange: o,
1069
1070
  isLoading: s
1070
1071
  }) => {
1071
- const [a, r] = X(null), [c, m] = X(""), f = ee(null), p = (d) => typeof d == "object" && d !== null && !Array.isArray(d);
1072
+ const [a, r] = J(null), [c, m] = J(""), f = ee(null), p = (d) => typeof d == "object" && d !== null && !Array.isArray(d);
1072
1073
  H(() => {
1073
1074
  a && f.current && f.current.focus();
1074
1075
  }, [a]), H(() => {
@@ -1125,14 +1126,14 @@ const In = T(ze)`
1125
1126
  }, j = (d) => p(t) ? t.conditions?.some((u) => pe(u, String(d.id))) : d.id === t, P = (d) => p(t) ? t.conditions?.find(
1126
1127
  (h) => Pe(h) && h.key === String(d.id)
1127
1128
  )?.value || [] : [];
1128
- return /* @__PURE__ */ k(ts, { className: ie("panel-tabs", { loading: s }), children: [
1129
- /* @__PURE__ */ i(ns, { className: "panel-header-label", children: e }),
1129
+ return /* @__PURE__ */ k(as, { className: ie("panel-tabs", { loading: s }), children: [
1130
+ /* @__PURE__ */ i(os, { className: "panel-header-label", children: e }),
1130
1131
  /* @__PURE__ */ i(Ge, {}),
1131
- /* @__PURE__ */ i(ss, { className: "panel-header-filters", children: n.map((d) => {
1132
+ /* @__PURE__ */ i(is, { className: "panel-header-filters", children: n.map((d) => {
1132
1133
  const u = j(d), h = d.type || "boolean";
1133
1134
  if (h === "enum")
1134
1135
  return /* @__PURE__ */ i(
1135
- os,
1136
+ ls,
1136
1137
  {
1137
1138
  options: d.options || [],
1138
1139
  value: P(d),
@@ -1158,7 +1159,7 @@ const In = T(ze)`
1158
1159
  if (h === "search") {
1159
1160
  const N = a === String(d.id);
1160
1161
  return /* @__PURE__ */ k(
1161
- as,
1162
+ rs,
1162
1163
  {
1163
1164
  className: ie("panel-filter", "panel-filter-search", { expanded: N }),
1164
1165
  children: [
@@ -1174,7 +1175,7 @@ const In = T(ze)`
1174
1175
  ),
1175
1176
  N && /* @__PURE__ */ k(Ie, { children: [
1176
1177
  /* @__PURE__ */ i(
1177
- is,
1178
+ cs,
1178
1179
  {
1179
1180
  ref: f,
1180
1181
  value: c,
@@ -1186,7 +1187,7 @@ const In = T(ze)`
1186
1187
  }
1187
1188
  ),
1188
1189
  /* @__PURE__ */ i(
1189
- rs,
1190
+ ds,
1190
1191
  {
1191
1192
  icon: "close",
1192
1193
  onClick: () => R(d),
@@ -1214,10 +1215,10 @@ const In = T(ze)`
1214
1215
  );
1215
1216
  }) })
1216
1217
  ] });
1217
- }, rt = ["done", "isDone"], cs = (e) => !!e && "key" in e, ds = (e, n) => {
1218
+ }, rt = ["done", "isDone"], lt = (e) => !!e && "key" in e, ps = (e, n) => {
1218
1219
  const t = [], o = [], s = (a) => {
1219
1220
  if (!a) return;
1220
- if (cs(a)) {
1221
+ if (lt(a)) {
1221
1222
  const c = a.key;
1222
1223
  if (c === "search") {
1223
1224
  const p = String(a.value ?? "");
@@ -1269,7 +1270,7 @@ const In = T(ze)`
1269
1270
  });
1270
1271
  return;
1271
1272
  }
1272
- const r = Sn(a, n);
1273
+ const r = Nn(a, n);
1273
1274
  if (r) {
1274
1275
  t.push(r);
1275
1276
  return;
@@ -1277,10 +1278,10 @@ const In = T(ze)`
1277
1278
  a.conditions?.forEach(s);
1278
1279
  };
1279
1280
  return e?.conditions?.forEach(s), o.length && t.push({ id: Qe, label: "", values: o }), t;
1280
- }, us = (e) => {
1281
+ }, hs = (e) => {
1281
1282
  const n = [], t = [];
1282
1283
  return e.forEach((o) => {
1283
- const s = vt(o.id), a = (o.values || []).map((r) => r.id);
1284
+ const s = kt(o.id), a = (o.values || []).map((r) => r.id);
1284
1285
  if (a.length)
1285
1286
  if (s === Qe)
1286
1287
  a.forEach(
@@ -1290,12 +1291,12 @@ const In = T(ze)`
1290
1291
  const r = a[0] === "true";
1291
1292
  n.push({ key: s, operator: "eq", value: r });
1292
1293
  } else if (o.type === "datetime") {
1293
- const r = Cn(s, o);
1294
+ const r = En(s, o);
1294
1295
  r && n.push(r);
1295
1296
  } else
1296
1297
  n.push({ key: s, operator: "in", value: a.map(String) });
1297
1298
  }), t.length === 1 ? n.push(t[0]) : t.length > 1 && n.push({ operator: "or", conditions: t }), { operator: "and", conditions: n };
1298
- }, ps = T.div`
1299
+ }, ct = (e) => lt(e) ? e.key !== "search" || typeof e.value != "string" ? e : Et(e.value, (n) => ({ ...e, value: n })) ?? e : { ...e, conditions: e.conditions?.map(ct) }, ms = T.div`
1299
1300
  padding: 4px 8px;
1300
1301
  padding-bottom: 0;
1301
1302
 
@@ -1303,7 +1304,7 @@ const In = T(ze)`
1303
1304
  opacity: 0.5;
1304
1305
  pointer-events: none;
1305
1306
  }
1306
- `, hs = ({
1307
+ `, gs = ({
1307
1308
  subtasksFilter: e,
1308
1309
  setSubtasksFilter: n,
1309
1310
  users: t,
@@ -1356,12 +1357,12 @@ const In = T(ze)`
1356
1357
  // },
1357
1358
  ],
1358
1359
  [t]
1359
- ), m = D(() => ds(e, c), [e, c]), [f, p] = X(m), g = ee(null), b = Tn();
1360
+ ), m = D(() => ps(e, c), [e, c]), [f, p] = J(m), g = ee(null), b = Dn();
1360
1361
  H(() => {
1361
1362
  p(m);
1362
1363
  }, [JSON.stringify(m)]);
1363
1364
  const x = (u) => {
1364
- const h = us(u);
1365
+ const h = hs(u);
1365
1366
  n(h), r?.("");
1366
1367
  }, R = (u) => {
1367
1368
  b.wrapFilterChange(u, f, p);
@@ -1374,9 +1375,9 @@ const In = T(ze)`
1374
1375
  () => [{ id: "isDone", label: P, tooltip: "Status" }],
1375
1376
  [P]
1376
1377
  );
1377
- return /* @__PURE__ */ k(ps, { className: o ? "loading" : void 0, children: [
1378
+ return /* @__PURE__ */ k(ms, { className: o ? "loading" : void 0, children: [
1378
1379
  /* @__PURE__ */ i(
1379
- yt,
1380
+ wt,
1380
1381
  {
1381
1382
  ref: g,
1382
1383
  compact: !0,
@@ -1405,7 +1406,7 @@ const In = T(ze)`
1405
1406
  }
1406
1407
  ),
1407
1408
  /* @__PURE__ */ i(
1408
- kn,
1409
+ Sn,
1409
1410
  {
1410
1411
  isOpen: !!b.customRangeFilterId,
1411
1412
  header: c.find((u) => u.id === b.customRangeFilterId?.split("__")[0])?.label ?? "Custom range",
@@ -1418,8 +1419,8 @@ const In = T(ze)`
1418
1419
  }
1419
1420
  )
1420
1421
  ] });
1421
- }, ms = ({ ...e }) => {
1422
- const [n, t] = X({}), [o, s] = X(""), [a, r] = X([]), { dispatch: c } = q(), { data: m = [] } = qe({ projectName: e.projectName }), f = e.subtasks?.length || 0, p = e.subtasks?.filter((b) => b.isDone).length || 0, g = D(() => {
1422
+ }, fs = ({ ...e }) => {
1423
+ const [n, t] = J({}), [o, s] = J(""), [a, r] = J([]), { dispatch: c } = q(), { data: m = [] } = qe({ projectName: e.projectName }), f = e.subtasks?.length || 0, p = e.subtasks?.filter((b) => b.isDone).length || 0, g = D(() => {
1423
1424
  let b = n;
1424
1425
  if (o) {
1425
1426
  const x = { key: "search", operator: "like", value: o };
@@ -1429,11 +1430,11 @@ const In = T(ze)`
1429
1430
  operator: "and"
1430
1431
  };
1431
1432
  }
1432
- return Nn(b);
1433
+ return In(ct(b));
1433
1434
  }, [n, o]);
1434
1435
  return /* @__PURE__ */ k(Ie, { children: [
1435
1436
  /* @__PURE__ */ i(
1436
- ls,
1437
+ us,
1437
1438
  {
1438
1439
  label: `Subtasks (${f})`,
1439
1440
  filters: [],
@@ -1442,7 +1443,7 @@ const In = T(ze)`
1442
1443
  }
1443
1444
  ),
1444
1445
  /* @__PURE__ */ i(
1445
- hs,
1446
+ gs,
1446
1447
  {
1447
1448
  subtasksFilter: n,
1448
1449
  setSubtasksFilter: t,
@@ -1453,7 +1454,7 @@ const In = T(ze)`
1453
1454
  }
1454
1455
  ),
1455
1456
  /* @__PURE__ */ i(
1456
- xn,
1457
+ Tn,
1457
1458
  {
1458
1459
  ...e,
1459
1460
  style: { padding: 8, height: "unset" },
@@ -1466,7 +1467,7 @@ const In = T(ze)`
1466
1467
  }
1467
1468
  )
1468
1469
  ] });
1469
- }, gs = ["product", "representation"], fs = ({
1470
+ }, bs = ["product", "representation"], vs = ({
1470
1471
  entityType: e,
1471
1472
  entitySubTypes: n = [],
1472
1473
  // entities is data we already have from kanban
@@ -1507,18 +1508,18 @@ const In = T(ze)`
1507
1508
  isGuest: ae,
1508
1509
  entities: I,
1509
1510
  setEntities: oe,
1510
- slideOut: J,
1511
+ slideOut: X,
1511
1512
  useSearchParams: re,
1512
1513
  SubtasksManager: K,
1513
1514
  useNavigate: le
1514
- } = q(), { currentTab: $, setTab: U, isFeed: ce } = tn(x), [B, be] = re(), he = ee(!1), S = I?.entityType ?? e, Y = I?.entities ?? o, ve = I?.entitySubTypes ?? n, me = I?.entities ? [] : t, Q = I?.entities ? I.entities.map((v) => v.projectName) : p;
1515
- Kt(
1515
+ } = q(), { currentTab: $, setTab: U, isFeed: ce } = an(x), [B, be] = re(), he = ee(!1), S = I?.entityType ?? e, Y = I?.entities ?? o, ve = I?.entitySubTypes ?? n, me = I?.entities ? [] : t, Q = I?.entities ? I.entities.map((v) => v.projectName) : p;
1516
+ Yt(
1516
1517
  S ? Y.map((v) => ({ ...v, entityType: S })) : [],
1517
1518
  g ? _e.slideOut : _e.detailsPanel
1518
1519
  ), H(() => {
1519
1520
  h && !he.current && (he.current = !0, h());
1520
1521
  }, []), H(() => {
1521
- gs.includes(S) && $ !== "details" && U("details");
1522
+ bs.includes(S) && $ !== "details" && U("details");
1522
1523
  }, [S, $, U]), H(() => {
1523
1524
  o.length && I && oe(null);
1524
1525
  }, [o, I, oe]);
@@ -1538,16 +1539,16 @@ const In = T(ze)`
1538
1539
  data: l = [],
1539
1540
  isFetching: C,
1540
1541
  isError: z,
1541
- originalArgs: lt
1542
+ originalArgs: dt
1542
1543
  } = Ke(
1543
1544
  { entityType: S, entities: W },
1544
1545
  {
1545
- skip: !W.length || !Dt.includes(S)
1546
+ skip: !W.length || !Ft.includes(S)
1546
1547
  }
1547
1548
  );
1548
1549
  H(() => {
1549
1550
  g || te();
1550
- }, [lt, g]);
1551
+ }, [dt, g]);
1551
1552
  const ke = ee(null);
1552
1553
  H(() => {
1553
1554
  I || (ke.current = null);
@@ -1560,20 +1561,20 @@ const In = T(ze)`
1560
1561
  ke.current = v, N(F, I.source);
1561
1562
  }
1562
1563
  }, [l, C, I, N]);
1563
- const Fe = st(f), G = Q[0], Ae = f[G] || {}, _ = l[0] || {}, ge = l[l.length - 1], we = Q[Q.length - 1], Oe = x === "inbox" && S === "version" && l.length === 1 ? Bn(l[0]) : void 0, [Re, ct] = Zn({
1564
+ const Fe = st(f), G = Q[0], Ae = f[G] || {}, _ = l[0] || {}, ge = l[l.length - 1], we = Q[Q.length - 1], Oe = x === "inbox" && S === "version" && l.length === 1 ? Gn(l[0]) : void 0, [Re, ut] = ns({
1564
1565
  entity: _,
1565
1566
  entityType: S,
1566
1567
  projectName: G,
1567
1568
  isLoading: C
1568
- }), { setEntityUri: dt, setUri: je } = nn();
1569
+ }), { setEntityUri: pt, setUri: je } = on();
1569
1570
  H(() => {
1570
1571
  if (!ge?.parents || !we) return;
1571
- const { folderPath: v, taskName: F, versionName: M, productName: Le } = Xt(
1572
+ const { folderPath: v, taskName: F, versionName: M, productName: Le } = Zt(
1572
1573
  ge.parents,
1573
1574
  S,
1574
1575
  ge.name
1575
1576
  );
1576
- return dt({
1577
+ return pt({
1577
1578
  projectName: we,
1578
1579
  folderPath: v,
1579
1580
  taskName: F,
@@ -1582,13 +1583,13 @@ const In = T(ze)`
1582
1583
  }), () => {
1583
1584
  je("");
1584
1585
  };
1585
- }, [l, Q, S]), Dn({
1586
+ }, [l, Q, S]), Fn({
1586
1587
  entityData: ge,
1587
1588
  project: we,
1588
1589
  activeEntityType: S,
1589
1590
  entitiesToQuery: W
1590
1591
  });
1591
- const ut = () => {
1592
+ const ht = () => {
1592
1593
  be(
1593
1594
  (v) => {
1594
1595
  const F = new URLSearchParams(v);
@@ -1597,19 +1598,19 @@ const In = T(ze)`
1597
1598
  { replace: !0 }
1598
1599
  );
1599
1600
  }, xe = () => {
1600
- j?.(), oe(null), je(""), ut(), te();
1601
+ j?.(), oe(null), je(""), ht(), te();
1601
1602
  };
1602
1603
  H(() => {
1603
1604
  const v = (F) => {
1604
1605
  if (F.key === "Escape" && j) {
1605
1606
  const M = F.target;
1606
- if (["INPUT", "TEXTAREA", "SELECT"].includes(M.tagName) || M.isContentEditable || g === !1 && (M.closest("#viewer-dialog") || J)) return;
1607
+ if (["INPUT", "TEXTAREA", "SELECT"].includes(M.tagName) || M.isContentEditable || g === !1 && (M.closest("#viewer-dialog") || X)) return;
1607
1608
  xe();
1608
1609
  }
1609
1610
  };
1610
1611
  return window.addEventListener("keydown", v), () => window.removeEventListener("keydown", v);
1611
- }, [xe, g, J]);
1612
- const { requestPipWindow: pt } = sn(), Ve = ee(null), Ue = ee(null), ht = l.length === 1 && S !== "representation", mt = D(() => {
1612
+ }, [xe, g, X]);
1613
+ const { requestPipWindow: mt } = rn(), Ve = ee(null), Ue = ee(null), gt = l.length === 1 && S !== "representation", ft = D(() => {
1613
1614
  const v = _?.label || _?.name || "", F = _?.parents || [], M = [G];
1614
1615
  switch (S) {
1615
1616
  case "folder":
@@ -1627,29 +1628,29 @@ const In = T(ze)`
1627
1628
  M.push(v);
1628
1629
  }
1629
1630
  return M.filter(Boolean).join(" - ");
1630
- }, [_, S, G]), gt = () => {
1631
+ }, [_, S, G]), bt = () => {
1631
1632
  ne({
1632
1633
  entityType: S,
1633
1634
  entities: W,
1634
1635
  scope: x
1635
- }), pt(500, 500);
1636
+ }), mt(500, 500);
1636
1637
  }, $e = () => !(Q.length > 1 || ae && (!w || !Object.prototype.hasOwnProperty.call(
1637
1638
  O,
1638
1639
  se.attrib?.email || ""
1639
1640
  )));
1640
1641
  return /* @__PURE__ */ i(
1641
- on,
1642
+ cn,
1642
1643
  {
1643
1644
  thumbnailInputRef: Ve,
1644
1645
  versionsInputRef: Ue,
1645
- canUploadVersion: ht,
1646
- children: /* @__PURE__ */ k(Fn, { className: "details-panel", children: [
1647
- /* @__PURE__ */ k(In, { children: [
1646
+ canUploadVersion: gt,
1647
+ children: /* @__PURE__ */ k(Rn, { className: "details-panel", children: [
1648
+ /* @__PURE__ */ k(An, { children: [
1648
1649
  /* @__PURE__ */ i(
1649
- Qt,
1650
+ Jt,
1650
1651
  {
1651
1652
  segments: Re,
1652
- versions: ct,
1653
+ versions: ut,
1653
1654
  projectName: G,
1654
1655
  hideProjectName: g,
1655
1656
  isLoading: C || !Re.length,
@@ -1658,14 +1659,14 @@ const In = T(ze)`
1658
1659
  entityTypeIcons: ye
1659
1660
  }
1660
1661
  ),
1661
- /* @__PURE__ */ k(Pn, { className: "right-tools", children: [
1662
+ /* @__PURE__ */ k(On, { className: "right-tools", children: [
1662
1663
  /* @__PURE__ */ i(
1663
- Xn,
1664
+ Zn,
1664
1665
  {
1665
1666
  entityType: S,
1666
1667
  entityId: _?.id,
1667
1668
  entityIds: W.map((v) => v.id).filter(Boolean),
1668
- entityLabel: mt,
1669
+ entityLabel: ft,
1669
1670
  projectName: G,
1670
1671
  selectedEntities: l.filter((v) => !!v?.id).map((v) => {
1671
1672
  const F = v.entityType || S;
@@ -1680,7 +1681,7 @@ const In = T(ze)`
1680
1681
  };
1681
1682
  }),
1682
1683
  entityListsContext: V,
1683
- onOpenPip: gt,
1684
+ onOpenPip: bt,
1684
1685
  onOpenViewer: d,
1685
1686
  productId: _?.product?.id,
1686
1687
  taskId: _?.task?.id,
@@ -1688,7 +1689,7 @@ const In = T(ze)`
1688
1689
  }
1689
1690
  ),
1690
1691
  /* @__PURE__ */ i(
1691
- Bt,
1692
+ Gt,
1692
1693
  {
1693
1694
  entities: W,
1694
1695
  entityType: S,
@@ -1709,14 +1710,14 @@ const In = T(ze)`
1709
1710
  ] })
1710
1711
  ] }),
1711
1712
  Oe && /* @__PURE__ */ i(
1712
- Hn,
1713
+ zn,
1713
1714
  {
1714
1715
  latestVersion: Oe,
1715
1716
  resolveVersionJump: L
1716
1717
  }
1717
1718
  ),
1718
1719
  /* @__PURE__ */ i(
1719
- Ln,
1720
+ Hn,
1720
1721
  {
1721
1722
  entityType: S,
1722
1723
  entitySubTypes: ve,
@@ -1757,7 +1758,7 @@ const In = T(ze)`
1757
1758
  }
1758
1759
  ),
1759
1760
  $ === "subtasks" && S === "task" && _?.id && K && /* @__PURE__ */ i(
1760
- ms,
1761
+ fs,
1761
1762
  {
1762
1763
  projectName: G,
1763
1764
  taskId: _.id,
@@ -1770,7 +1771,7 @@ const In = T(ze)`
1770
1771
  }
1771
1772
  ),
1772
1773
  $ === "files" && /* @__PURE__ */ i(
1773
- Mn,
1774
+ Wn,
1774
1775
  {
1775
1776
  entities: l,
1776
1777
  scope: x,
@@ -1778,7 +1779,7 @@ const In = T(ze)`
1778
1779
  }
1779
1780
  ),
1780
1781
  $ === "details" && /* @__PURE__ */ i(
1781
- es,
1782
+ ss,
1782
1783
  {
1783
1784
  entityType: S,
1784
1785
  entities: l,
@@ -1793,7 +1794,7 @@ const In = T(ze)`
1793
1794
  removeAnnotation: E,
1794
1795
  exportAnnotationComposite: y,
1795
1796
  children: /* @__PURE__ */ i(
1796
- Wt,
1797
+ Qt,
1797
1798
  {
1798
1799
  entities: l,
1799
1800
  isLoading: C
@@ -1805,14 +1806,14 @@ const In = T(ze)`
1805
1806
  ] })
1806
1807
  }
1807
1808
  );
1808
- }, bs = ({
1809
+ }, ys = ({
1809
1810
  isOpen: e,
1810
1811
  entityType: n,
1811
1812
  ...t
1812
1813
  }) => {
1813
1814
  const { entities: o } = q();
1814
- return !e && !o || !n && !o ? null : /* @__PURE__ */ i(fs, { ...t, entityType: n || o?.entityType });
1815
- }, vs = St`
1815
+ return !e && !o || !n && !o ? null : /* @__PURE__ */ i(vs, { ...t, entityType: n || o?.entityType });
1816
+ }, ks = Tt`
1816
1817
  from {
1817
1818
  translate: 0 0;
1818
1819
  }
@@ -1820,7 +1821,7 @@ to {
1820
1821
  translate: calc(-100% - 8px) 0;
1821
1822
 
1822
1823
  }
1823
- `, ys = T.div`
1824
+ `, ws = T.div`
1824
1825
  position: absolute;
1825
1826
  left: 0;
1826
1827
  top: 0;
@@ -1829,11 +1830,11 @@ to {
1829
1830
  width: 100%;
1830
1831
  max-width: 533px;
1831
1832
 
1832
- animation: ${vs} 0.2s ease forwards;
1833
- `, ba = ({ projectsInfo: e, scope: n }) => {
1833
+ animation: ${ks} 0.2s ease forwards;
1834
+ `, ka = ({ projectsInfo: e, scope: n }) => {
1834
1835
  const { slideOut: t, onOpenViewer: o } = q(), { entityType: s, entityId: a, projectName: r } = t || {}, c = !!s && !!a && !!r, { data: m } = qe({ projectName: r }, { skip: !r }), f = e[r || ""] || {}, { tags: p = [] } = f, { closeSlideOut: g } = q(), b = () => g(), x = (R) => o?.(R);
1835
- return c ? /* @__PURE__ */ i(ys, { children: /* @__PURE__ */ i(
1836
- bs,
1836
+ return c ? /* @__PURE__ */ i(ws, { children: /* @__PURE__ */ i(
1837
+ ys,
1837
1838
  {
1838
1839
  isOpen: !0,
1839
1840
  entityType: s,
@@ -1851,20 +1852,20 @@ to {
1851
1852
  }
1852
1853
  ) }) : null;
1853
1854
  };
1854
- T(En)`
1855
+ T(Pn)`
1855
1856
  .p-dialog-header-icons {
1856
1857
  display: none;
1857
1858
  }
1858
1859
  .p-dialog-content {
1859
1860
  }
1860
1861
  `;
1861
- const ks = T.div`
1862
+ const xs = T.div`
1862
1863
  display: flex;
1863
1864
  flex-direction: column;
1864
1865
  margin: -8px;
1865
1866
  width: calc(100% + 16px);
1866
1867
  height: calc(100% + 16px);
1867
- `, ws = T.header`
1868
+ `, Ss = T.header`
1868
1869
  display: flex;
1869
1870
  align-items: flex-start;
1870
1871
  gap: var(--base-gap-large);
@@ -1876,7 +1877,7 @@ const ks = T.div`
1876
1877
  display: none;
1877
1878
  }
1878
1879
  }
1879
- `, xs = T.div`
1880
+ `, Cs = T.div`
1880
1881
  display: flex;
1881
1882
  flex-direction: column;
1882
1883
  height: 100%;
@@ -1913,12 +1914,12 @@ const ks = T.div`
1913
1914
  align-items: center;
1914
1915
  gap: var(--base-gap-medium);
1915
1916
  }
1916
- `, Ss = T.div`
1917
+ `, Ts = T.div`
1917
1918
  display: flex;
1918
1919
  justify-content: space-between;
1919
1920
  padding: 8px;
1920
1921
  padding-top: 0;
1921
- `, Cs = T.div`
1922
+ `, Ns = T.div`
1922
1923
  border-top: solid 1px var(--md-sys-color-outline-variant);
1923
1924
  height: 100%;
1924
1925
  overflow: hidden;
@@ -1937,7 +1938,7 @@ const ks = T.div`
1937
1938
  display: none;
1938
1939
  }
1939
1940
  }
1940
- `, Ts = T.div`
1941
+ `, Es = T.div`
1941
1942
  display: flex;
1942
1943
  align-items: center;
1943
1944
  gap: var(--base-gap-small);
@@ -1948,8 +1949,8 @@ const ks = T.div`
1948
1949
  .icon {
1949
1950
  font-variation-settings: 'FILL' 1;
1950
1951
  }
1951
- `, va = () => {
1952
- const { pip: e } = q(), n = e?.entityType, t = e?.entities || [], o = e?.scope || "", s = t.length > 0 && !!n, a = t.map((y) => y.projectName), { data: r = [] } = It({ projects: a }, { skip: !s }), { data: c = {}, isFetching: m } = Pt(
1952
+ `, wa = () => {
1953
+ const { pip: e } = q(), n = e?.entityType, t = e?.entities || [], o = e?.scope || "", s = t.length > 0 && !!n, a = t.map((y) => y.projectName), { data: r = [] } = At({ projects: a }, { skip: !s }), { data: c = {}, isFetching: m } = Ot(
1953
1954
  {
1954
1955
  projects: a
1955
1956
  },
@@ -1990,23 +1991,23 @@ const ks = T.div`
1990
1991
  };
1991
1992
  if (!n) return null;
1992
1993
  const { title: A, subTitle: E } = nt(p, n);
1993
- return /* @__PURE__ */ i(an, { children: /* @__PURE__ */ i(Ye, { projectName: d, children: /* @__PURE__ */ k(ks, { children: [
1994
- /* @__PURE__ */ k(ws, { children: [
1995
- /* @__PURE__ */ i(Xe, { thumbnails: R }),
1996
- /* @__PURE__ */ k(xs, { children: [
1994
+ return /* @__PURE__ */ i(ln, { children: /* @__PURE__ */ i(Ye, { projectName: d, children: /* @__PURE__ */ k(xs, { children: [
1995
+ /* @__PURE__ */ k(Ss, { children: [
1996
+ /* @__PURE__ */ i(Je, { thumbnails: R }),
1997
+ /* @__PURE__ */ k(Cs, { children: [
1997
1998
  /* @__PURE__ */ i("h2", { children: A }),
1998
1999
  /* @__PURE__ */ k("div", { className: "sub-title", children: [
1999
2000
  /* @__PURE__ */ k("span", { children: [
2000
- Je(n),
2001
+ Xe(n),
2001
2002
  " - "
2002
2003
  ] }),
2003
2004
  /* @__PURE__ */ i("h3", { children: E })
2004
2005
  ] })
2005
2006
  ] })
2006
2007
  ] }),
2007
- /* @__PURE__ */ k(Ss, { children: [
2008
+ /* @__PURE__ */ k(Ts, { children: [
2008
2009
  /* @__PURE__ */ k(
2009
- Ts,
2010
+ Es,
2010
2011
  {
2011
2012
  style: {
2012
2013
  backgroundColor: N?.color,
@@ -2018,9 +2019,9 @@ const ks = T.div`
2018
2019
  ]
2019
2020
  }
2020
2021
  ),
2021
- /* @__PURE__ */ i(kt, { users: j, style: { pointerEvents: "none" } })
2022
+ /* @__PURE__ */ i(xt, { users: j, style: { pointerEvents: "none" } })
2022
2023
  ] }),
2023
- /* @__PURE__ */ i(Cs, { children: /* @__PURE__ */ i(
2024
+ /* @__PURE__ */ i(Ns, { children: /* @__PURE__ */ i(
2024
2025
  at,
2025
2026
  {
2026
2027
  entityType: n,
@@ -2038,23 +2039,23 @@ const ks = T.div`
2038
2039
  ] }) }) });
2039
2040
  };
2040
2041
  export {
2041
- Mt as AssigneeSelect,
2042
- wa as CloseButton,
2043
- Vt as Content,
2044
- xa as ContentRow,
2045
- bs as DetailsPanel,
2046
- va as DetailsPanelFloating,
2047
- ba as DetailsPanelSlideOut,
2048
- Sa as Footer,
2049
- Rt as Grid,
2050
- jt as Header,
2051
- Ot as HeaderContainer,
2052
- Ca as LabelWrapper,
2053
- Ht as PriorityEnumDropdown,
2054
- Lt as ReadOnlyTags,
2055
- _t as StatusSelect,
2056
- $t as TagsSelect,
2057
- Ta as ThumbnailWrapper,
2058
- Ut as Title,
2059
- gs as entitiesWithoutFeed
2042
+ Wt as AssigneeSelect,
2043
+ Ca as CloseButton,
2044
+ Lt as Content,
2045
+ Ta as ContentRow,
2046
+ ys as DetailsPanel,
2047
+ wa as DetailsPanelFloating,
2048
+ ka as DetailsPanelSlideOut,
2049
+ Na as Footer,
2050
+ Ut as Grid,
2051
+ $t as Header,
2052
+ Vt as HeaderContainer,
2053
+ Ea as LabelWrapper,
2054
+ zt as PriorityEnumDropdown,
2055
+ Ht as ReadOnlyTags,
2056
+ Bt as StatusSelect,
2057
+ Mt as TagsSelect,
2058
+ Da as ThumbnailWrapper,
2059
+ _t as Title,
2060
+ bs as entitiesWithoutFeed
2060
2061
  };