@ynput/ayon-frontend-shared 0.5.0 → 0.6.1

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 (92) hide show
  1. package/dist/ContextMenu.es.js +34 -16
  2. package/dist/DetailsPanel.es.js +307 -311
  3. package/dist/Feed.es.js +179 -50
  4. package/dist/ListTable.es.js +99 -92
  5. package/dist/NewEntity.es.js +1256 -11
  6. package/dist/ProjectTreeTable.es.js +4459 -2959
  7. package/dist/SimpleTable.es.js +8 -7
  8. package/dist/Slicer.es.js +451 -147
  9. package/dist/Views.es.js +918 -310
  10. package/dist/api.es.js +331 -329
  11. package/dist/chunks/Actions.es.js +32 -27
  12. package/dist/chunks/ColumnDropIndicator.es.js +174 -328
  13. package/dist/chunks/ColumnDropIndicator.styled.es.js +281 -0
  14. package/dist/chunks/ColumnHeaderMenuUI.es.js +52 -0
  15. package/dist/chunks/ContextMenuContextInstance.es.js +12 -0
  16. package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +229 -0
  17. package/dist/chunks/DeleteEntitiesContextInstance.es.js +827 -0
  18. package/dist/chunks/DetailsDialog.es.js +3 -3
  19. package/dist/chunks/EmptyPlaceholder.es.js +4 -4
  20. package/dist/chunks/EntityPath.es.js +74 -69
  21. package/dist/chunks/EntityPickerDialog.es.js +25 -21
  22. package/dist/chunks/EntityTooltip.es.js +29 -22
  23. package/dist/chunks/EntityUpdatesContext.es.js +38 -96
  24. package/dist/chunks/Feed.es.js +2321 -2668
  25. package/dist/chunks/FilterErrorActions.es.js +25 -229
  26. package/dist/chunks/Menu.es.js +21 -17
  27. package/dist/chunks/MenuContext.es.js +14 -256
  28. package/dist/chunks/MenuItem.es.js +34 -24
  29. package/dist/chunks/MetaWidget.es.js +2895 -4919
  30. package/dist/chunks/NewEntityContextInstance.es.js +11 -0
  31. package/dist/chunks/PlayableIcon.es.js +4215 -1179
  32. package/dist/chunks/ProjectContext.es.js +102 -66
  33. package/dist/chunks/RepresentationsList.es.js +4 -4
  34. package/dist/chunks/ReviewablesSelector.es.js +468 -460
  35. package/dist/chunks/SimpleForm.es.js +18 -18
  36. package/dist/chunks/SimpleTable.es.js +15 -13
  37. package/dist/chunks/Slicer.es.js +109 -98
  38. package/dist/chunks/TableSettingsFallback.es.js +22 -10
  39. package/dist/chunks/ThumbnailSimple.es.js +290 -52
  40. package/dist/chunks/VersionUploadContextInstance.es.js +12 -0
  41. package/dist/chunks/VideoPlayer.es.js +24 -28
  42. package/dist/chunks/Watchers.es.js +669 -644
  43. package/dist/chunks/entityDefinitions.es.js +2 -350
  44. package/dist/chunks/expandRelativeDates.es.js +27 -0
  45. package/dist/chunks/extractVersionFromFilename.es.js +28 -0
  46. package/dist/chunks/getBundleMode.es.js +1 -1
  47. package/dist/chunks/getUris.es.js +737 -710
  48. package/dist/chunks/queryFilterToClientFilter.es.js +11 -10
  49. package/dist/chunks/searchTerms.es.js +179 -174
  50. package/dist/chunks/useAttributeEnums.es.js +9 -9
  51. package/dist/chunks/useCreateContextMenu.es.js +66 -90
  52. package/dist/chunks/useDateRangeFilter.es.js +3 -3
  53. package/dist/chunks/useHierarchySelection.es.js +24 -0
  54. package/dist/chunks/useLoadModule.es.js +74 -0
  55. package/dist/chunks/useQueryArgumentChangeLoading.es.js +11 -0
  56. package/dist/chunks/versionUploadHelpers.es.js +16 -42
  57. package/dist/chunks/viewUpdateHelper.es.js +74 -57
  58. package/dist/components.es.js +1432 -1001
  59. package/dist/context.es.js +791 -78
  60. package/dist/hooks.es.js +95 -94
  61. package/dist/index.es.js +27 -26
  62. package/dist/types/Actions.d.ts +15 -15
  63. package/dist/types/ContextMenu.d.ts +19 -16
  64. package/dist/types/DetailsPanel.d.ts +110 -17
  65. package/dist/types/EntityPickerDialog.d.ts +15 -15
  66. package/dist/types/Feed.d.ts +19 -16
  67. package/dist/types/ListTable.d.ts +15 -15
  68. package/dist/types/NewEntity.d.ts +24 -18
  69. package/dist/types/ProjectTreeTable.d.ts +34 -123
  70. package/dist/types/RepresentationsList.d.ts +15 -15
  71. package/dist/types/SimpleTable.d.ts +19 -16
  72. package/dist/types/Slicer.d.ts +18 -15
  73. package/dist/types/Views.d.ts +19 -16
  74. package/dist/types/api.d.ts +515 -207
  75. package/dist/types/components.d.ts +84 -20
  76. package/dist/types/context.d.ts +108 -25
  77. package/dist/types/hooks.d.ts +15 -15
  78. package/dist/types/index.d.ts +15 -15
  79. package/dist/types/util.d.ts +20 -15
  80. package/dist/util.es.js +117 -105
  81. package/package.json +16 -4
  82. package/dist/chunks/DeleteEntitiesContext.es.js +0 -748
  83. package/dist/chunks/GlobalContext.es.js +0 -52
  84. package/dist/chunks/NewEntityContext.es.js +0 -1242
  85. package/dist/chunks/ProjectFoldersContext.es.js +0 -134
  86. package/dist/chunks/ProjectFoldersContextInstance.es.js +0 -7
  87. package/dist/chunks/VersionUploadContext.es.js +0 -232
  88. package/dist/chunks/ViewsContext.es.js +0 -878
  89. package/dist/chunks/mentionTypeOptions.es.js +0 -15
  90. package/dist/chunks/useColumnDragRestriction.es.js +0 -148
  91. package/dist/chunks/useLocalStorage.es.js +0 -355
  92. /package/dist/{useCreateContextMenu.css → ContextMenuContextInstance.css} +0 -0
@@ -1,54 +1,50 @@
1
1
  import { jsxs as k, jsx as i, Fragment as Ne } from "react/jsx-runtime";
2
2
  import { Toolbar as Me, Panel as gt, Button as X, Spacer as He, Icon as fe, getTextColor as Be, Dialog as ft, SEARCH_FILTER_ID as We, buildFilterId as ke, getFilterFromId as bt, SearchFilter as vt, AssigneeField as yt } from "@ynput/ayon-react-components";
3
- import { useEffect as W, useRef as Y, useMemo as I, useState as K, useContext as kt, useId as wt } from "react";
3
+ import { useEffect as W, useRef as Y, useMemo as P, useState as K, useContext as kt, useId as wt } from "react";
4
4
  import S, { keyframes as xt } from "styled-components";
5
- import "./chunks/searchTerms.es.js";
6
- import { bk as St, bI as Ct, bW as Tt, cq as ze, bs as Ge, s as Nt, bM as Dt, c5 as It } from "./chunks/getUris.es.js";
5
+ import { bo as St } from "./chunks/searchTerms.es.js";
6
+ import { bl as Ct, bJ as Tt, bX as Nt, cr as ze, bt as Ge, s as Dt, bN as Pt, c6 as It } from "./chunks/getUris.es.js";
7
7
  import "primereact/confirmdialog";
8
- import { c as Pt, a as Et, H as Ft, G as jt, y as At, w as Qe, z as Ot, A as Rt, B as Ut, E as Vt, I as Lt, J as $t, W as _t, s as Mt } from "./chunks/Watchers.es.js";
9
- import { K as wa, N as xa, O as Sa, Q as Ca, T as Ta } from "./chunks/Watchers.es.js";
10
- import { E as Ht, R as Bt, a as Wt } from "./chunks/EntityPath.es.js";
11
- import { T as zt, h as Gt, i as Qt, j as qt, e as Kt, b as Jt } from "./chunks/DeleteEntitiesContext.es.js";
8
+ import { c as Et, a as Ft, H as At, G as Ot, y as jt, w as Qe, z as Rt, A as Ut, B as Vt, E as Lt, I as $t, J as _t, W as Mt, s as Ht } from "./chunks/Watchers.es.js";
9
+ import { K as va, N as ya, O as ka, Q as wa, T as xa } from "./chunks/Watchers.es.js";
10
+ import { E as Bt, R as Wt, a as zt } from "./chunks/EntityPath.es.js";
12
11
  import { union as we, upperFirst as qe } from "lodash";
13
12
  import "react-toastify";
14
13
  import "uuid";
15
- import { g as Xt, e as Yt } from "./chunks/extractEntityHierarchyFromParents.es.js";
16
- import { P as Ke } from "./chunks/ProjectContext.es.js";
17
- import { c as G, u as Zt, d as en, e as tn } from "./chunks/MenuContext.es.js";
14
+ import { g as Gt, e as Qt } from "./chunks/extractEntityHierarchyFromParents.es.js";
15
+ import "@module-federation/enhanced/runtime";
16
+ import { v as G, u as qt, T as Kt, a6 as Jt, a0 as Xt, a8 as Yt, B as Zt, a7 as en, X as tn } from "./chunks/DeleteEntitiesContextInstance.es.js";
17
+ import "semver";
18
+ import { T as nn, P as Ke } from "./chunks/ProjectContext.es.js";
19
+ import "react-dom";
20
+ import "react-redux";
18
21
  import oe from "clsx";
19
- import { A as nn } from "./chunks/Actions.es.js";
22
+ import { A as sn } from "./chunks/Actions.es.js";
23
+ import "./chunks/ContextMenuContextInstance.es.js";
20
24
  import { g as xe } from "./chunks/getEntityTypeIcon.es.js";
21
- import { P as sn, a as Je, m as an } from "./chunks/PlayableIcon.es.js";
25
+ import { P as an } from "./chunks/PlayableIcon.es.js";
22
26
  import { R as on } from "./chunks/RepresentationsList.es.js";
23
27
  import { I as rn } from "./chunks/InfoMessage.es.js";
24
28
  import { M as ln, a as cn } from "./chunks/Menu.es.js";
25
29
  import { D as dn } from "./chunks/DetailsDialog.es.js";
26
- import { u as un } from "./chunks/VersionUploadContext.es.js";
30
+ import { u as un } from "./chunks/VersionUploadContextInstance.es.js";
27
31
  import { p as pn } from "./chunks/pluralize.es.js";
28
32
  import { c as mn } from "./chunks/copyToClipboard.es.js";
29
- import { a as hn } from "./chunks/ProjectFoldersContext.es.js";
30
- import { F as gn, a as fn } from "./chunks/Feed.es.js";
31
- import { l as bn, e as vn } from "./chunks/MetaWidget.es.js";
32
- import { t as yn, c as kn } from "./chunks/queryFilterToClientFilter.es.js";
33
- import { u as wn } from "./chunks/useDateRangeFilter.es.js";
34
- import { C as xn } from "./chunks/ThumbnailSimple.es.js";
35
- import "./chunks/useLocalStorage.es.js";
36
- import "@module-federation/enhanced/runtime";
37
- import "semver";
38
- import "react-dom";
39
- import "./chunks/GlobalContext.es.js";
40
- import "./chunks/ProjectFoldersContextInstance.es.js";
41
- import "react-redux";
42
- import "./chunks/ViewsContext.es.js";
33
+ import { u as hn } from "./chunks/useQueryArgumentChangeLoading.es.js";
34
+ import { c as Je, b as gn } from "./chunks/Feed.es.js";
35
+ import { A as fn, C as bn } from "./chunks/ThumbnailSimple.es.js";
36
+ import { m as vn, k as yn } from "./chunks/MetaWidget.es.js";
37
+ import { t as kn, c as wn } from "./chunks/queryFilterToClientFilter.es.js";
38
+ import { u as xn } from "./chunks/useDateRangeFilter.es.js";
39
+ import { e as Sn } from "./chunks/expandRelativeDates.es.js";
43
40
  import "axios";
44
41
  import "@dnd-kit/core";
45
42
  import "@dnd-kit/sortable";
46
43
  import "@dnd-kit/utilities";
47
- import "./chunks/useCreateContextMenu.es.js";
48
44
  import "custom-protocol-check";
49
45
  import "./chunks/SimpleForm.es.js";
50
- import { Dialog as Sn } from "primereact/dialog";
51
- function Cn({
46
+ import { Dialog as Cn } from "primereact/dialog";
47
+ function Tn({
52
48
  entityData: e,
53
49
  project: n,
54
50
  activeEntityType: t,
@@ -64,7 +60,7 @@ function Cn({
64
60
  window.history.replaceState({}, "", c);
65
61
  }, [e, n, t, o]);
66
62
  }
67
- const Tn = S(Me)`
63
+ const Nn = S(Me)`
68
64
  display: flex;
69
65
  justify-content: space-between;
70
66
  align-items: flex-start;
@@ -76,7 +72,7 @@ const Tn = S(Me)`
76
72
  & > * {
77
73
  min-width: max-content;
78
74
  }
79
- `, Nn = S.div`
75
+ `, Dn = S.div`
80
76
  display: flex;
81
77
  align-items: flex-start;
82
78
  gap: 4px;
@@ -85,7 +81,7 @@ const Tn = S(Me)`
85
81
  right: 0;
86
82
  padding: var(--padding-m);
87
83
  background-color: var(--md-sys-color-surface-container-low);
88
- `, Dn = S(gt)`
84
+ `, Pn = S(gt)`
89
85
  gap: 0px;
90
86
  height: 100%;
91
87
  padding: 0px;
@@ -97,13 +93,13 @@ const Tn = S(Me)`
97
93
  position: relative;
98
94
  z-index: 100;
99
95
  grid-column: span 2;
100
- `, Pn = ["product", "representation"], En = ["task"], Fn = ({
96
+ `, En = ["product", "representation"], Fn = ["task"], An = ({
101
97
  entityType: e,
102
98
  currentTab: n,
103
99
  onTabChange: t,
104
100
  isLoading: o
105
101
  }) => {
106
- const s = !Pn.includes(e), a = En.includes(e);
102
+ const s = !En.includes(e), a = Fn.includes(e);
107
103
  return /* @__PURE__ */ k(In, { className: o ? "loading" : "", children: [
108
104
  s && /* @__PURE__ */ i(
109
105
  X,
@@ -150,12 +146,12 @@ const Tn = S(Me)`
150
146
  }
151
147
  )
152
148
  ] });
153
- }, jn = S.div`
149
+ }, On = S.div`
154
150
  display: flex;
155
151
  align-items: center;
156
152
  gap: var(--base-gap-small);
157
153
  overflow: hidden;
158
- `, An = S.button`
154
+ `, jn = S.button`
159
155
  display: inline-flex;
160
156
  align-items: center;
161
157
  gap: var(--base-gap-small);
@@ -177,14 +173,14 @@ const Tn = S(Me)`
177
173
  text-overflow: ellipsis;
178
174
  white-space: nowrap;
179
175
  }
180
- `, On = ({ entity: e, taskTypes: n }) => {
176
+ `, Rn = ({ entity: e, taskTypes: n }) => {
181
177
  const { openSlideOut: t } = G(), { projectName: o } = e, s = e.task?.name ? e.task : void 0;
182
178
  if (!s?.id) return null;
183
179
  const a = n.find((r) => r.name === s.taskType);
184
- return /* @__PURE__ */ k(jn, { className: "linked-task", children: [
180
+ return /* @__PURE__ */ k(On, { className: "linked-task", children: [
185
181
  /* @__PURE__ */ i("span", { children: "Task" }),
186
182
  /* @__PURE__ */ k(
187
- An,
183
+ jn,
188
184
  {
189
185
  onClick: () => t({ entityId: s.id, entityType: "task", projectName: o }),
190
186
  children: [
@@ -253,7 +249,7 @@ const Tn = S(Me)`
253
249
  subTitle: o.entityType || "Unknown Type"
254
250
  };
255
251
  }
256
- }, Rn = ({
252
+ }, Un = ({
257
253
  entityType: e,
258
254
  entitySubTypes: n,
259
255
  entities: t = [],
@@ -268,15 +264,15 @@ const Tn = S(Me)`
268
264
  projectInfo: g,
269
265
  onOpenViewer: f,
270
266
  onEntityFocus: x,
271
- thumbnailInputRef: A,
267
+ thumbnailInputRef: j,
272
268
  versionsInputRef: R
273
269
  }) => {
274
- const { useSearchParams: E, useNavigate: l, bundleMode: d } = G(), h = l(), [C, j] = E(), T = Y(null), v = I(() => Ye(g), [g]), w = Pt(
275
- t.map((m) => m.projectName),
270
+ const { useSearchParams: E, useNavigate: l, bundleMode: d } = G(), m = l(), [C, A] = E(), T = Y(null), v = P(() => Ye(g), [g]), w = Et(
271
+ t.map((h) => h.projectName),
276
272
  [e]
277
- ), O = I(() => e === "task" ? we(...t.map((m) => m.task?.assignees || [])) : e === "version" ? we(
278
- ...t.map((m) => {
279
- const D = m.version?.author;
273
+ ), O = P(() => e === "task" ? we(...t.map((h) => h.task?.assignees || [])) : e === "version" ? we(
274
+ ...t.map((h) => {
275
+ const D = h.version?.author;
280
276
  return Array.isArray(D) ? D : D ? [D] : [];
281
277
  })
282
278
  ) : [], [t, e]);
@@ -298,47 +294,47 @@ const Tn = S(Me)`
298
294
  path: ""
299
295
  });
300
296
  const Z = t.length > 1 ? void 0 : U?.projectName;
301
- t.filter((m) => m.projectName === U?.projectName && m.id).map((m) => m.id);
302
- const { data: ee } = St({ attributeName: "priority" }), te = Xt(ee, e), ne = I(
297
+ t.filter((h) => h.projectName === U?.projectName && h.id).map((h) => h.id);
298
+ const { data: ee } = Ct({ attributeName: "priority" }), te = Gt(ee, e), ne = P(
303
299
  () => Xe(t, e, v),
304
300
  [t, e, v]
305
- ), P = I(() => t.map((m) => m.status), [t]), se = I(() => t.map((m) => m.attrib?.priority), [t]), ie = I(() => t.map((m) => m.tags), [t]), le = I(
306
- () => r.reduce((m, D) => (m[D.name] = D, m), {}),
301
+ ), I = P(() => t.map((h) => h.status), [t]), se = P(() => t.map((h) => h.attrib?.priority), [t]), ie = P(() => t.map((h) => h.tags), [t]), le = P(
302
+ () => r.reduce((h, D) => (h[D.name] = D, h), {}),
307
303
  [r]
308
- ), Q = t.length > 1, re = !Q && !!U?.hasReviewables, L = ne.length === 1, { updateEntity: V } = Et({
309
- entities: t.map((m) => ({
310
- id: m.id,
311
- projectName: m.projectName,
312
- users: m.task?.assignees || [],
313
- folderId: m.folder?.id,
314
- productId: m.product?.id
304
+ ), Q = t.length > 1, re = !Q && !!U?.hasReviewables, L = ne.length === 1, { updateEntity: V } = Ft({
305
+ entities: t.map((h) => ({
306
+ id: h.id,
307
+ projectName: h.projectName,
308
+ users: h.task?.assignees || [],
309
+ folderId: h.folder?.id,
310
+ productId: h.product?.id
315
311
  })),
316
312
  entityType: e
317
- }), q = (m, D) => D == null ? console.error("value is null or undefined") : V(m, D), ce = () => {
318
- let m, D = U.id, H = e + "Id";
319
- e === "version" && U.product?.id && (m = [U.id], D = U.product?.id, H = "productId"), D && f({
313
+ }), q = (h, D) => D == null ? console.error("value is null or undefined") : V(h, D), ce = () => {
314
+ let h, D = U.id, H = e + "Id";
315
+ e === "version" && U.product?.id && (h = [U.id], D = U.product?.id, H = "productId"), D && f({
320
316
  [H]: D,
321
317
  projectName: Z,
322
- versionIds: m
318
+ versionIds: h
323
319
  });
324
- }, pe = (e === "task" || e === "version") && (O.length > 0 || e === "task"), de = s.map((m) => m);
320
+ }, pe = (e === "task" || e === "version") && (O.length > 0 || e === "task"), de = [...St(s, O)];
325
321
  if (pe) {
326
- const m = s.map((H) => H.name), D = O.filter((H) => !m.includes(H));
322
+ const h = s.map((H) => H.name), D = O.filter((H) => !h.includes(H));
327
323
  D.length && de.push(...D.map((H) => ({ name: H, fullName: H })));
328
324
  }
329
- const { title: N, subTitle: me } = Ze(t, e), he = w?.length !== 0 && w?.find((m) => m.name === P[0]);
330
- return /* @__PURE__ */ i(Ft, { children: /* @__PURE__ */ i(
331
- Ht,
325
+ const { title: N, subTitle: me } = Ze(t, e), he = w?.length !== 0 && w?.find((h) => h.name === I[0]);
326
+ return /* @__PURE__ */ i(At, { children: /* @__PURE__ */ i(
327
+ Bt,
332
328
  {
333
329
  entities: t,
334
330
  entityType: e,
335
331
  projectName: Z,
336
- thumbnailInputRef: A,
332
+ thumbnailInputRef: j,
337
333
  versionsInputRef: R,
338
- onVersionCreated: (m) => x?.(m, "version"),
339
- children: /* @__PURE__ */ k(jt, { className: oe("details-panel-header", { isCompact: p }), children: [
334
+ onVersionCreated: (h) => x?.(h, "version"),
335
+ children: /* @__PURE__ */ k(Ot, { className: oe("details-panel-header", { isCompact: p }), children: [
340
336
  /* @__PURE__ */ k(
341
- At,
337
+ jt,
342
338
  {
343
339
  className: oe("titles", { isCompact: p, loading: _ }, "no-shimmer"),
344
340
  children: [
@@ -353,13 +349,13 @@ const Tn = S(Me)`
353
349
  hoverIcon: re ? "play_circle" : void 0
354
350
  }
355
351
  ),
356
- re && /* @__PURE__ */ i(sn, {})
352
+ re && /* @__PURE__ */ i(an, {})
357
353
  ] }),
358
- /* @__PURE__ */ k(Ot, { className: oe({ loading: _ }), children: [
359
- /* @__PURE__ */ k(Rt, { children: [
354
+ /* @__PURE__ */ k(Rt, { className: oe({ loading: _ }), children: [
355
+ /* @__PURE__ */ k(Ut, { children: [
360
356
  /* @__PURE__ */ i("h2", { children: N }),
361
357
  /* @__PURE__ */ i(
362
- Ut,
358
+ Vt,
363
359
  {
364
360
  ref: T,
365
361
  value: we(...ie),
@@ -367,7 +363,7 @@ const Tn = S(Me)`
367
363
  options: [],
368
364
  editable: !0,
369
365
  editor: !0,
370
- onChange: (m) => q("tags", m),
366
+ onChange: (h) => q("tags", h),
371
367
  align: "right",
372
368
  styleDropdown: { display: _ ? "none" : "unset" },
373
369
  className: "tags-select",
@@ -383,7 +379,7 @@ const Tn = S(Me)`
383
379
  /* @__PURE__ */ i("h3", { children: me })
384
380
  ] }),
385
381
  e === "version" && !Q && !_ && U && /* @__PURE__ */ i(
386
- On,
382
+ Rn,
387
383
  {
388
384
  entity: U,
389
385
  taskTypes: g.taskTypes
@@ -395,36 +391,36 @@ const Tn = S(Me)`
395
391
  }
396
392
  ),
397
393
  /* @__PURE__ */ i(
398
- Vt,
394
+ Lt,
399
395
  {
400
- value: P,
396
+ value: I,
401
397
  options: w || [],
402
398
  disabledValues: a,
403
399
  invert: !0,
404
400
  style: { maxWidth: "unset" },
405
- onChange: (m) => q("status", m),
401
+ onChange: (h) => q("status", h),
406
402
  className: oe("status-select", { loading: _ }),
407
403
  align: p ? "right" : "left",
408
404
  $textColor: Be(he !== void 0 ? he.color : "#OOO")
409
405
  }
410
406
  ),
411
407
  !p && (!pe || _ ? /* @__PURE__ */ i("div", {}) : /* @__PURE__ */ i(
412
- Lt,
408
+ $t,
413
409
  {
414
410
  value: O,
415
411
  options: de,
416
- disabledValues: o.map((m) => m.name),
412
+ disabledValues: o.map((h) => h.name),
417
413
  isMultiple: Q && O.length > 1 && e === "task",
418
414
  readOnly: e !== "task",
419
415
  emptyMessage: e === "task" ? "Assign user" : "",
420
416
  align: "right",
421
- onChange: (m) => q("assignees", m),
417
+ onChange: (h) => q("assignees", h),
422
418
  className: "assignee-select",
423
419
  "data-tooltip": O.length ? e === "task" ? "Assigned users" : "Author" : ""
424
420
  }
425
421
  )),
426
422
  /* @__PURE__ */ i(
427
- nn,
423
+ sn,
428
424
  {
429
425
  entities: t,
430
426
  entityType: e,
@@ -432,22 +428,22 @@ const Tn = S(Me)`
432
428
  isLoadingEntity: !!c || !!_,
433
429
  searchParams: C,
434
430
  bundleMode: d,
435
- onSetSearchParams: j,
436
- onNavigate: h
431
+ onSetSearchParams: A,
432
+ onNavigate: m
437
433
  }
438
434
  ),
439
435
  te ? /* @__PURE__ */ i(
440
- $t,
436
+ _t,
441
437
  {
442
438
  options: te,
443
439
  placeholder: "No priority",
444
440
  value: se,
445
- onChange: (m) => q("attrib", { priority: m[0] }),
441
+ onChange: (h) => q("attrib", { priority: h[0] }),
446
442
  align: "right"
447
443
  }
448
444
  ) : /* @__PURE__ */ i("div", { style: { height: 32 } }),
449
445
  /* @__PURE__ */ i(
450
- Fn,
446
+ An,
451
447
  {
452
448
  entityType: e,
453
449
  currentTab: b,
@@ -458,7 +454,7 @@ const Tn = S(Me)`
458
454
  ] })
459
455
  }
460
456
  ) });
461
- }, Un = S.div`
457
+ }, Vn = S.div`
462
458
  display: flex;
463
459
  flex-direction: column;
464
460
 
@@ -478,7 +474,7 @@ const Tn = S(Me)`
478
474
  &:first-child {
479
475
  border-bottom: 1px solid var(--md-sys-color-outline-variant);
480
476
  }
481
- `, Vn = ({
477
+ `, Ln = ({
482
478
  entities: e = [],
483
479
  scope: n,
484
480
  isLoadingVersion: t
@@ -486,11 +482,11 @@ const Tn = S(Me)`
486
482
  const o = e[0];
487
483
  if (!o) return null;
488
484
  let s = "Reviewables";
489
- return e.length > 1 && (s += ` (${o.name})`), e.some((a) => a.entityType !== "version") ? null : /* @__PURE__ */ k(Un, { children: [
485
+ return e.length > 1 && (s += ` (${o.name})`), e.some((a) => a.entityType !== "version") ? null : /* @__PURE__ */ k(Vn, { children: [
490
486
  /* @__PURE__ */ k(Ve, { children: [
491
487
  /* @__PURE__ */ i("h4", { children: s }),
492
488
  /* @__PURE__ */ i(
493
- Bt,
489
+ Wt,
494
490
  {
495
491
  projectName: o.projectName,
496
492
  productId: o.product?.id,
@@ -505,10 +501,6 @@ const Tn = S(Me)`
505
501
  /* @__PURE__ */ i(on, { entities: e })
506
502
  ] })
507
503
  ] });
508
- }, Ln = (e) => {
509
- const n = e?.version?.version, t = e?.product?.latestVersion;
510
- if (!(e?.entityType !== "version" || !n || n <= 0 || !t?.active))
511
- return t.version > n ? t : void 0;
512
504
  }, $n = ({
513
505
  latestVersion: e,
514
506
  resolveVersionJump: n
@@ -529,12 +521,16 @@ const Tn = S(Me)`
529
521
  } : void 0
530
522
  }
531
523
  );
532
- }, _n = () => ({
524
+ }, _n = (e) => {
525
+ const n = e?.version?.version, t = e?.product?.latestVersion;
526
+ if (!(e?.entityType !== "version" || !n || n <= 0 || !t?.active))
527
+ return t.version > n ? t : void 0;
528
+ }, Mn = () => ({
533
529
  onOpenVersionUpload: un()?.onOpenVersionUpload ?? null
534
- }), Mn = (e, n, t) => {
530
+ }), Hn = (e, n, t) => {
535
531
  const o = e === "folder" || e === "task" ? "overview" : e === "product" || e === "version" || e === "representation" ? "products" : null;
536
532
  return o ? `${typeof window < "u" ? window.location.origin : ""}/projects/${t}/${o}?project=${t}&type=${e}&id=${n}` : null;
537
- }, Hn = ({
533
+ }, Bn = ({
538
534
  entityType: e,
539
535
  entityId: n,
540
536
  projectName: t,
@@ -549,48 +545,48 @@ const Tn = S(Me)`
549
545
  onPip: g,
550
546
  onOpenViewer: f,
551
547
  onUploadThumbnail: x,
552
- onUploadVersion: A,
548
+ onUploadVersion: j,
553
549
  onShare: R,
554
550
  onViewData: E,
555
551
  onDelete: l
556
552
  }) => {
557
- const d = I(() => o.length ? o.filter((h) => !!h?.entityId).map((h) => ({
558
- entityId: h.entityId,
559
- entityType: h.entityType || e,
560
- hasReviewables: h.hasReviewables
553
+ const d = P(() => o.length ? o.filter((m) => !!m?.entityId).map((m) => ({
554
+ entityId: m.entityId,
555
+ entityType: m.entityType || e,
556
+ hasReviewables: m.hasReviewables
561
557
  })) : n ? [{ entityId: n, entityType: e }] : [], [o, n, e]);
562
- return I(() => {
563
- const h = [];
564
- if (p && h.push({
558
+ return P(() => {
559
+ const m = [];
560
+ if (p && m.push({
565
561
  id: "open-in-viewer",
566
562
  label: "Open in viewer",
567
563
  icon: "play_circle",
568
564
  onClick: f
569
- }), c && h.push({
565
+ }), c && m.push({
570
566
  id: "picture-in-picture",
571
567
  label: "Picture in picture",
572
568
  icon: "picture_in_picture",
573
569
  onClick: g
574
- }), a && h.push({
570
+ }), a && m.push({
575
571
  id: "upload-thumbnail",
576
572
  label: "Upload thumbnail",
577
573
  icon: "add_photo_alternate",
578
574
  onClick: x
579
- }), r && h.push({
575
+ }), r && m.push({
580
576
  id: "upload-version",
581
577
  label: "Upload version",
582
578
  icon: "upload",
583
- onClick: A
579
+ onClick: j
584
580
  }), u?.openAddToListDialog && t && d.length) {
585
581
  const T = d[0]?.entityType || e, v = u.openAddToListDialog;
586
- if (h.push({
582
+ if (m.push({
587
583
  id: "add-to-list",
588
584
  label: "Add to list",
589
585
  icon: "list_alt_add",
590
586
  onClick: () => v(T, d)
591
587
  }), (T === "version" || T === "representation") && u.hasReviewAddon) {
592
588
  const O = d.some((U) => U.hasReviewables === !0);
593
- h.push({
589
+ m.push({
594
590
  id: "add-to-review-list",
595
591
  label: "Add to session",
596
592
  icon: "list_alt_add",
@@ -600,24 +596,24 @@ const Tn = S(Me)`
600
596
  });
601
597
  }
602
598
  }
603
- const C = d[0], j = C?.entityId && t ? Mn(
599
+ const C = d[0], A = C?.entityId && t ? Hn(
604
600
  C.entityType || e,
605
601
  C.entityId,
606
602
  t
607
603
  ) : null;
608
- if (j && h.push({
604
+ if (A && m.push({
609
605
  id: "share",
610
606
  label: "Share",
611
607
  icon: "share",
612
- onClick: () => R(j)
613
- }), h.push({
608
+ onClick: () => R(A)
609
+ }), m.push({
614
610
  id: "view-data",
615
611
  label: "View data",
616
612
  icon: "database",
617
613
  onClick: E
618
614
  }), b && s.length > 0) {
619
615
  const T = new Set(s.map((O) => O.entityType)), v = T.size === 1 ? [...T][0] : "item", w = s.length === 1 ? `Delete ${v}` : `Delete ${pn(s.length, v)}`;
620
- h.push({
616
+ m.push({
621
617
  id: "delete",
622
618
  label: w,
623
619
  icon: "delete",
@@ -625,7 +621,7 @@ const Tn = S(Me)`
625
621
  onClick: l
626
622
  });
627
623
  }
628
- return { items: h, shareLink: j };
624
+ return { items: m, shareLink: A };
629
625
  }, [
630
626
  c,
631
627
  p,
@@ -640,12 +636,12 @@ const Tn = S(Me)`
640
636
  g,
641
637
  f,
642
638
  x,
643
- A,
639
+ j,
644
640
  R,
645
641
  E,
646
642
  l
647
643
  ]);
648
- }, Bn = S.div`
644
+ }, Wn = S.div`
649
645
  display: flex;
650
646
  flex-direction: column;
651
647
  gap: 16px;
@@ -685,12 +681,12 @@ const Tn = S(Me)`
685
681
  text-overflow: ellipsis;
686
682
  white-space: nowrap;
687
683
  }
688
- `, Wn = ({ link: e, entityLabel: n, visible: t, onHide: o }) => {
684
+ `, zn = ({ link: e, entityLabel: n, visible: t, onHide: o }) => {
689
685
  if (!t) return null;
690
686
  const s = `[${n}](${e})`, a = (r) => {
691
687
  mn(r, !0), o();
692
688
  };
693
- return /* @__PURE__ */ i(ft, { isOpen: !0, onClose: o, size: "sm", header: "Share", children: /* @__PURE__ */ k(Bn, { children: [
689
+ return /* @__PURE__ */ i(ft, { isOpen: !0, onClose: o, size: "sm", header: "Share", children: /* @__PURE__ */ k(Wn, { children: [
694
690
  /* @__PURE__ */ k(Le, { children: [
695
691
  /* @__PURE__ */ i($e, { children: "Link" }),
696
692
  /* @__PURE__ */ k(_e, { type: "button", onClick: () => a(e), "aria-label": "Copy link", children: [
@@ -706,7 +702,7 @@ const Tn = S(Me)`
706
702
  ] })
707
703
  ] })
708
704
  ] }) });
709
- }, zn = (e, n, t, o) => {
705
+ }, Gn = (e, n, t, o) => {
710
706
  const s = { projectName: t, quickView: !0 };
711
707
  switch (e) {
712
708
  case "folder":
@@ -720,7 +716,7 @@ const Tn = S(Me)`
720
716
  default:
721
717
  return null;
722
718
  }
723
- }, Gn = ({
719
+ }, Qn = ({
724
720
  entityType: e,
725
721
  entityId: n,
726
722
  entityIds: t,
@@ -734,14 +730,14 @@ const Tn = S(Me)`
734
730
  taskId: u,
735
731
  folderId: g
736
732
  }) => {
737
- const f = Y(null), [x, A] = K(!1), [R, E] = K(null), { menuOpen: l, toggleMenuOpen: d, setMenuOpen: h } = Zt(), { triggerThumbnailUpload: C, canUploadVersion: j } = kt(zt), { onOpenVersionUpload: T } = _n(), v = wt(), w = I(() => {
733
+ const f = Y(null), [x, j] = K(!1), [R, E] = K(null), { menuOpen: l, toggleMenuOpen: d, setMenuOpen: m } = qt(), { triggerThumbnailUpload: C, canUploadVersion: A } = kt(Kt), { onOpenVersionUpload: T } = Mn(), v = wt(), w = P(() => {
738
734
  const L = n || t?.[0] || "noentity";
739
735
  return `details-more-menu-${v}-${L}-${s || "noproject"}`;
740
- }, [v, n, t, s]), O = l === w, U = !!n && !!s && !!C, _ = !!j && !!T, Z = () => {
736
+ }, [v, n, t, s]), O = l === w, U = !!n && !!s && !!C, _ = !!A && !!T, Z = () => {
741
737
  T?.({ productId: b, taskId: u, folderId: g });
742
- }, ee = n && s ? zn(e, n, s, b) : null, te = !!p && !!ee, ne = Gt(), P = I(() => (a.length ? a : n ? [{ entityId: n, entityType: e, projectName: s }] : []).map((V) => {
738
+ }, ee = n && s ? Gn(e, n, s, b) : null, te = !!p && !!ee, ne = Jt(), I = P(() => (a.length ? a : n ? [{ entityId: n, entityType: e, projectName: s }] : []).map((V) => {
743
739
  const q = V.entityType || e, ce = V.projectName || s;
744
- return !Qt(q) || !V.entityId || !ce ? null : {
740
+ return !Xt(q) || !V.entityId || !ce ? null : {
745
741
  id: V.entityId,
746
742
  entityType: q,
747
743
  name: V.name,
@@ -750,14 +746,14 @@ const Tn = S(Me)`
750
746
  folderId: V.folderId,
751
747
  parentId: V.parentId
752
748
  };
753
- }).filter((V) => V !== null), [a, n, e, s]), se = !!ne && P.length > 0, ie = () => {
754
- h(!1), ne?.deleteEntities(P);
755
- }, { items: le } = Hn({
749
+ }).filter((V) => V !== null), [a, n, e, s]), se = !!ne && I.length > 0, ie = () => {
750
+ m(!1), ne?.deleteEntities(I);
751
+ }, { items: le } = Bn({
756
752
  entityType: e,
757
753
  entityId: n,
758
754
  projectName: s,
759
755
  selectedEntities: a,
760
- deleteEntities: P,
756
+ deleteEntities: I,
761
757
  canUploadThumbnail: U,
762
758
  canUploadVersion: _,
763
759
  canOpenPip: !!c,
@@ -769,7 +765,7 @@ const Tn = S(Me)`
769
765
  onUploadThumbnail: () => C?.(),
770
766
  onUploadVersion: Z,
771
767
  onShare: (L) => E(L),
772
- onViewData: () => A(!0),
768
+ onViewData: () => j(!0),
773
769
  onDelete: ie
774
770
  }), Q = t?.length ? t : n ? [n] : [], re = o || n || "";
775
771
  return /* @__PURE__ */ k(Ne, { children: [
@@ -785,7 +781,7 @@ const Tn = S(Me)`
785
781
  onClick: () => d(w)
786
782
  }
787
783
  ),
788
- /* @__PURE__ */ i(ln, { id: w, target: f.current, align: "right", children: /* @__PURE__ */ i(cn, { menu: le, onClose: () => h(!1) }) }),
784
+ /* @__PURE__ */ i(ln, { id: w, target: f.current, align: "right", children: /* @__PURE__ */ i(cn, { menu: le, onClose: () => m(!1) }) }),
789
785
  x && s && Q.length > 0 && /* @__PURE__ */ i(
790
786
  dn,
791
787
  {
@@ -793,11 +789,11 @@ const Tn = S(Me)`
793
789
  entityType: e,
794
790
  entityIds: Q,
795
791
  visible: x,
796
- onHide: () => A(!1)
792
+ onHide: () => j(!1)
797
793
  }
798
794
  ),
799
795
  R && /* @__PURE__ */ i(
800
- Wn,
796
+ zn,
801
797
  {
802
798
  link: R,
803
799
  entityLabel: re,
@@ -806,7 +802,7 @@ const Tn = S(Me)`
806
802
  }
807
803
  )
808
804
  ] });
809
- }, Qn = (e, n) => {
805
+ }, qn = (e, n) => {
810
806
  const t = [e];
811
807
  let o = e;
812
808
  for (; o.parentId && o.parentId !== "root"; ) {
@@ -816,23 +812,23 @@ const Tn = S(Me)`
816
812
  t.unshift(s), o = s;
817
813
  }
818
814
  return t;
819
- }, qn = (e, n) => {
815
+ }, Kn = (e, n) => {
820
816
  const t = [];
821
817
  let o = n.get(e.folder?.id || "");
822
- if ((o ? Qn(o, n) : []).forEach((a) => {
818
+ if ((o ? qn(o, n) : []).forEach((a) => {
823
819
  t.push({ type: "folder", label: a.label || a.name, id: a.id });
824
820
  }), e.entityType === "version") {
825
821
  const a = `${e.product?.name} - ${e.name}`;
826
822
  t.push({ type: "version", label: a, id: e.id });
827
823
  }
828
824
  return e.entityType === "task" && t.push({ type: "task", label: e.label || e.name, id: e.id }), t;
829
- }, Kn = ({
825
+ }, Jn = ({
830
826
  entity: e,
831
827
  entityType: n,
832
828
  projectName: t,
833
829
  isLoading: o
834
830
  }) => {
835
- const { data: { folders: s = [] } = {}, isFetching: a } = Ct(
831
+ const { data: { folders: s = [] } = {}, isFetching: a } = Tt(
836
832
  // TODO: this is major overkill, we are only using label, name and id
837
833
  // We add a patch field that allows us to specify what ws message changes should cause an update to this query
838
834
  // @ts-expect-error - patch is not part of the query args
@@ -841,22 +837,22 @@ const Tn = S(Me)`
841
837
  ), r = hn(
842
838
  { projectName: t || "", isLoading: o },
843
839
  a
844
- ), { data: c } = Tt(
840
+ ), { data: c } = Nt(
845
841
  { productId: e.product?.id || "", projectName: t },
846
842
  { skip: n !== "version" || !e.product?.id }
847
- ), p = I(
843
+ ), p = P(
848
844
  () => c?.project.product?.versionList ? [...c.project.product?.versionList || []].sort((g, f) => g.name === "HERO" ? -1 : f.name === "HERO" ? 1 : f.name.localeCompare(g.name)).map((g) => ({
849
845
  type: "version",
850
846
  label: g.name,
851
847
  id: g.id
852
848
  })) : [],
853
849
  [c]
854
- ), b = I(
850
+ ), b = P(
855
851
  () => new Map(s.map((g) => [g.id, g])),
856
852
  [s]
857
853
  );
858
- return [I(
859
- () => r ? [] : qn(e, b),
854
+ return [P(
855
+ () => r ? [] : Kn(e, b),
860
856
  [r, s, e]
861
857
  ), p];
862
858
  }, et = (e, n) => {
@@ -894,7 +890,7 @@ const Tn = S(Me)`
894
890
  ]
895
891
  }
896
892
  );
897
- }, Jn = ({
893
+ }, Xn = ({
898
894
  children: e,
899
895
  scope: n = "dashboard",
900
896
  entities: t,
@@ -906,7 +902,7 @@ const Tn = S(Me)`
906
902
  exportAnnotationComposite: p,
907
903
  ...b
908
904
  }) => {
909
- const u = { annotations: r, removeAnnotation: c, exportAnnotationComposite: p }, { user: g } = G(), f = g?.name ?? "", x = g?.attrib?.fullName ?? "", [A, R] = K(null);
905
+ const u = { annotations: r, removeAnnotation: c, exportAnnotationComposite: p }, { user: g } = G(), f = g?.name ?? "", x = g?.attrib?.fullName ?? "", [j, R] = K(null);
910
906
  return /* @__PURE__ */ i(
911
907
  Je,
912
908
  {
@@ -918,7 +914,7 @@ const Tn = S(Me)`
918
914
  userName: f,
919
915
  userFullName: x,
920
916
  ...u,
921
- editingId: A,
917
+ editingId: j,
922
918
  setEditingId: R,
923
919
  ...b,
924
920
  children: e
@@ -968,15 +964,15 @@ const Tn = S(Me)`
968
964
  }), Object.keys(s).forEach((a) => {
969
965
  (a === "productTypes" || s[a].length > 0) && (t[a] = o(s[a]));
970
966
  }), t;
971
- }, Xn = S.div`
967
+ }, Yn = S.div`
972
968
  display: flex;
973
969
  align-items: center;
974
970
  padding: 4px 8px;
975
971
  gap: var(--base-gap-small);
976
- `, Yn = S.span`
972
+ `, Zn = S.span`
977
973
  font-weight: 600;
978
974
  user-select: none;
979
- `, Zn = S.div`
975
+ `, es = S.div`
980
976
  display: flex;
981
977
  gap: var(--base-gap-small);
982
978
  `, Ce = S(X)`
@@ -984,7 +980,7 @@ const Tn = S(Me)`
984
980
  &.hasIcon {
985
981
  padding: 4px;
986
982
  }
987
- `, es = S.div`
983
+ `, ts = S.div`
988
984
  display: flex;
989
985
  align-items: center;
990
986
  gap: var(--base-gap-small);
@@ -1001,10 +997,10 @@ const Tn = S(Me)`
1001
997
  box-shadow: 0 0 0 1px var(--md-sys-color-primary-container);
1002
998
  background-color: var(--md-sys-color-surface-container-lowest);
1003
999
  }
1004
- `, ts = S(bn)`
1000
+ `, ns = S(vn)`
1005
1001
  width: 28px;
1006
1002
  height: 28px;
1007
- `, ns = S.input`
1003
+ `, ss = S.input`
1008
1004
  flex: 1;
1009
1005
  min-width: 0;
1010
1006
  border: none;
@@ -1017,7 +1013,7 @@ const Tn = S(Me)`
1017
1013
  &::placeholder {
1018
1014
  color: var(--md-sys-color-outline);
1019
1015
  }
1020
- `, ss = S(X)`
1016
+ `, as = S(X)`
1021
1017
  background-color: unset;
1022
1018
  min-width: unset;
1023
1019
  &.hasIcon {
@@ -1054,7 +1050,7 @@ const Tn = S(Me)`
1054
1050
  operator: t,
1055
1051
  value: a[0] || ""
1056
1052
  };
1057
- }, as = ({
1053
+ }, os = ({
1058
1054
  label: e,
1059
1055
  filters: n,
1060
1056
  currentFilter: t,
@@ -1076,56 +1072,56 @@ const Tn = S(Me)`
1076
1072
  o(l.id);
1077
1073
  return;
1078
1074
  }
1079
- const h = t.conditions ? [...t.conditions] : [], C = {
1075
+ const m = t.conditions ? [...t.conditions] : [], C = {
1080
1076
  ...t,
1081
- conditions: h,
1077
+ conditions: m,
1082
1078
  operator: t.operator || "and"
1083
- }, j = String(l.id), T = h.findIndex((w) => ue(w, j)), v = l.type || "boolean";
1079
+ }, A = String(l.id), T = m.findIndex((w) => ue(w, A)), v = l.type || "boolean";
1084
1080
  if (v === "boolean")
1085
- T > -1 ? h.splice(T, 1) : h.push({ key: j, operator: l.operator || "eq", value: !0 });
1081
+ T > -1 ? m.splice(T, 1) : m.push({ key: A, operator: l.operator || "eq", value: !0 });
1086
1082
  else if (v === "enum") {
1087
1083
  const w = Array.isArray(d) ? d : [d];
1088
1084
  if (w.length === 0 || w.length === 1 && w[0] === void 0)
1089
- T > -1 && h.splice(T, 1);
1085
+ T > -1 && m.splice(T, 1);
1090
1086
  else {
1091
1087
  const O = {
1092
- key: j,
1088
+ key: A,
1093
1089
  operator: l.operator || "in",
1094
1090
  value: w
1095
1091
  };
1096
- T > -1 ? h[T] = O : h.push(O);
1092
+ T > -1 ? m[T] = O : m.push(O);
1097
1093
  }
1098
1094
  } else if (v === "search") {
1099
1095
  const w = typeof d == "string" ? d : "";
1100
1096
  if (!w)
1101
- T > -1 && h.splice(T, 1);
1097
+ T > -1 && m.splice(T, 1);
1102
1098
  else {
1103
- const O = st(w, j, l.operator || "like");
1104
- T > -1 ? h[T] = O : h.push(O);
1099
+ const O = st(w, A, l.operator || "like");
1100
+ T > -1 ? m[T] = O : m.push(O);
1105
1101
  }
1106
1102
  }
1107
1103
  o(C);
1108
1104
  }, f = (l) => {
1109
1105
  const d = String(l.id);
1110
1106
  if (a !== d && (r(d), u(t))) {
1111
- const h = t.conditions?.find((C) => ue(C, d));
1112
- p(h ? Te(h) : "");
1107
+ const m = t.conditions?.find((C) => ue(C, d));
1108
+ p(m ? Te(m) : "");
1113
1109
  }
1114
1110
  }, x = (l, d) => {
1115
1111
  p(d), g(l, d);
1116
- }, A = (l) => {
1112
+ }, j = (l) => {
1117
1113
  p(""), r(null), g(l, "");
1118
1114
  }, R = (l) => u(t) ? t.conditions?.some((d) => ue(d, String(l.id))) : l.id === t, E = (l) => u(t) ? t.conditions?.find(
1119
- (h) => De(h) && h.key === String(l.id)
1115
+ (m) => De(m) && m.key === String(l.id)
1120
1116
  )?.value || [] : [];
1121
- return /* @__PURE__ */ k(Xn, { className: oe("panel-tabs", { loading: s }), children: [
1122
- /* @__PURE__ */ i(Yn, { className: "panel-header-label", children: e }),
1117
+ return /* @__PURE__ */ k(Yn, { className: oe("panel-tabs", { loading: s }), children: [
1118
+ /* @__PURE__ */ i(Zn, { className: "panel-header-label", children: e }),
1123
1119
  /* @__PURE__ */ i(He, {}),
1124
- /* @__PURE__ */ i(Zn, { className: "panel-header-filters", children: n.map((l) => {
1125
- const d = R(l), h = l.type || "boolean";
1126
- if (h === "enum")
1120
+ /* @__PURE__ */ i(es, { className: "panel-header-filters", children: n.map((l) => {
1121
+ const d = R(l), m = l.type || "boolean";
1122
+ if (m === "enum")
1127
1123
  return /* @__PURE__ */ i(
1128
- ts,
1124
+ ns,
1129
1125
  {
1130
1126
  options: l.options || [],
1131
1127
  value: E(l),
@@ -1148,10 +1144,10 @@ const Tn = S(Me)`
1148
1144
  },
1149
1145
  String(l.id)
1150
1146
  );
1151
- if (h === "search") {
1147
+ if (m === "search") {
1152
1148
  const C = a === String(l.id);
1153
1149
  return /* @__PURE__ */ k(
1154
- es,
1150
+ ts,
1155
1151
  {
1156
1152
  className: oe("panel-filter", "panel-filter-search", { expanded: C }),
1157
1153
  children: [
@@ -1167,22 +1163,22 @@ const Tn = S(Me)`
1167
1163
  ),
1168
1164
  C && /* @__PURE__ */ k(Ne, { children: [
1169
1165
  /* @__PURE__ */ i(
1170
- ns,
1166
+ ss,
1171
1167
  {
1172
1168
  ref: b,
1173
1169
  value: c,
1174
- onChange: (j) => x(l, j.target.value),
1175
- onKeyDown: (j) => {
1176
- j.key === "Escape" && A(l);
1170
+ onChange: (A) => x(l, A.target.value),
1171
+ onKeyDown: (A) => {
1172
+ A.key === "Escape" && j(l);
1177
1173
  },
1178
1174
  placeholder: l.placeholder || "Search..."
1179
1175
  }
1180
1176
  ),
1181
1177
  /* @__PURE__ */ i(
1182
- ss,
1178
+ as,
1183
1179
  {
1184
1180
  icon: "close",
1185
- onClick: () => A(l),
1181
+ onClick: () => j(l),
1186
1182
  "data-tooltip": "Clear",
1187
1183
  "data-tooltip-delay": 0
1188
1184
  }
@@ -1207,10 +1203,10 @@ const Tn = S(Me)`
1207
1203
  );
1208
1204
  }) })
1209
1205
  ] });
1210
- }, at = ["done", "isDone"], os = (e) => !!e && "key" in e, is = (e, n) => {
1206
+ }, at = ["done", "isDone"], is = (e) => !!e && "key" in e, rs = (e, n) => {
1211
1207
  const t = [], o = [], s = (a) => {
1212
1208
  if (!a) return;
1213
- if (os(a)) {
1209
+ if (is(a)) {
1214
1210
  const c = a.key;
1215
1211
  if (c === "search") {
1216
1212
  const u = String(a.value ?? "");
@@ -1262,7 +1258,7 @@ const Tn = S(Me)`
1262
1258
  });
1263
1259
  return;
1264
1260
  }
1265
- const r = yn(a, n);
1261
+ const r = kn(a, n);
1266
1262
  if (r) {
1267
1263
  t.push(r);
1268
1264
  return;
@@ -1270,7 +1266,7 @@ const Tn = S(Me)`
1270
1266
  a.conditions?.forEach(s);
1271
1267
  };
1272
1268
  return e?.conditions?.forEach(s), o.length && t.push({ id: We, label: "", values: o }), t;
1273
- }, rs = (e) => {
1269
+ }, ls = (e) => {
1274
1270
  const n = [], t = [];
1275
1271
  return e.forEach((o) => {
1276
1272
  const s = bt(o.id), a = (o.values || []).map((r) => r.id);
@@ -1283,12 +1279,12 @@ const Tn = S(Me)`
1283
1279
  const r = a[0] === "true";
1284
1280
  n.push({ key: s, operator: "eq", value: r });
1285
1281
  } else if (o.type === "datetime") {
1286
- const r = kn(s, o);
1282
+ const r = wn(s, o);
1287
1283
  r && n.push(r);
1288
1284
  } else
1289
1285
  n.push({ key: s, operator: "in", value: a.map(String) });
1290
1286
  }), t.length === 1 ? n.push(t[0]) : t.length > 1 && n.push({ operator: "or", conditions: t }), { operator: "and", conditions: n };
1291
- }, ls = S.div`
1287
+ }, cs = S.div`
1292
1288
  padding: 4px 8px;
1293
1289
  padding-bottom: 0;
1294
1290
 
@@ -1296,7 +1292,7 @@ const Tn = S(Me)`
1296
1292
  opacity: 0.5;
1297
1293
  pointer-events: none;
1298
1294
  }
1299
- `, cs = ({
1295
+ `, ds = ({
1300
1296
  subtasksFilter: e,
1301
1297
  setSubtasksFilter: n,
1302
1298
  users: t,
@@ -1305,7 +1301,7 @@ const Tn = S(Me)`
1305
1301
  doneCount: a = 0,
1306
1302
  onSearchTextChange: r
1307
1303
  }) => {
1308
- const c = I(
1304
+ const c = P(
1309
1305
  () => [
1310
1306
  {
1311
1307
  id: "isDone",
@@ -1349,25 +1345,25 @@ const Tn = S(Me)`
1349
1345
  // },
1350
1346
  ],
1351
1347
  [t]
1352
- ), p = I(() => is(e, c), [e, c]), [b, u] = K(p), g = Y(null), f = wn();
1348
+ ), p = P(() => rs(e, c), [e, c]), [b, u] = K(p), g = Y(null), f = xn();
1353
1349
  W(() => {
1354
1350
  u(p);
1355
1351
  }, [JSON.stringify(p)]);
1356
1352
  const x = (d) => {
1357
- const h = rs(d);
1358
- n(h), r?.("");
1359
- }, A = (d) => {
1353
+ const m = ls(d);
1354
+ n(m), r?.("");
1355
+ }, j = (d) => {
1360
1356
  f.wrapFilterChange(d, b, u);
1361
- }, R = (d, h) => {
1362
- h || r?.(d);
1357
+ }, R = (d, m) => {
1358
+ m || r?.(d);
1363
1359
  };
1364
1360
  let E = "";
1365
1361
  s > 0 && (E = `${a}/${s}`);
1366
- const l = I(
1362
+ const l = P(
1367
1363
  () => [{ id: "isDone", label: E, tooltip: "Status" }],
1368
1364
  [E]
1369
1365
  );
1370
- return /* @__PURE__ */ k(ls, { className: o ? "loading" : void 0, children: [
1366
+ return /* @__PURE__ */ k(cs, { className: o ? "loading" : void 0, children: [
1371
1367
  /* @__PURE__ */ i(
1372
1368
  vt,
1373
1369
  {
@@ -1375,7 +1371,7 @@ const Tn = S(Me)`
1375
1371
  compact: !0,
1376
1372
  options: c,
1377
1373
  filters: b,
1378
- onChange: A,
1374
+ onChange: j,
1379
1375
  onFinish: x,
1380
1376
  enableGlobalSearch: !0,
1381
1377
  enableMultipleSameFilters: !1,
@@ -1398,7 +1394,7 @@ const Tn = S(Me)`
1398
1394
  }
1399
1395
  ),
1400
1396
  /* @__PURE__ */ i(
1401
- xn,
1397
+ bn,
1402
1398
  {
1403
1399
  isOpen: !!f.customRangeFilterId,
1404
1400
  header: c.find((d) => d.id === f.customRangeFilterId?.split("__")[0])?.label ?? "Custom range",
@@ -1411,8 +1407,8 @@ const Tn = S(Me)`
1411
1407
  }
1412
1408
  )
1413
1409
  ] });
1414
- }, ds = ({ ...e }) => {
1415
- const [n, t] = K({}), [o, s] = K(""), [a, r] = K([]), { dispatch: c } = G(), { data: p = [] } = ze({ projectName: e.projectName }), b = e.subtasks?.length || 0, u = e.subtasks?.filter((f) => f.isDone).length || 0, g = I(() => {
1410
+ }, us = ({ ...e }) => {
1411
+ const [n, t] = K({}), [o, s] = K(""), [a, r] = K([]), { dispatch: c } = G(), { data: p = [] } = ze({ projectName: e.projectName }), b = e.subtasks?.length || 0, u = e.subtasks?.filter((f) => f.isDone).length || 0, g = P(() => {
1416
1412
  let f = n;
1417
1413
  if (o) {
1418
1414
  const x = { key: "search", operator: "like", value: o };
@@ -1422,11 +1418,11 @@ const Tn = S(Me)`
1422
1418
  operator: "and"
1423
1419
  };
1424
1420
  }
1425
- return an(f);
1421
+ return Sn(f);
1426
1422
  }, [n, o]);
1427
1423
  return /* @__PURE__ */ k(Ne, { children: [
1428
1424
  /* @__PURE__ */ i(
1429
- as,
1425
+ os,
1430
1426
  {
1431
1427
  label: `Subtasks (${b})`,
1432
1428
  filters: [],
@@ -1435,7 +1431,7 @@ const Tn = S(Me)`
1435
1431
  }
1436
1432
  ),
1437
1433
  /* @__PURE__ */ i(
1438
- cs,
1434
+ ds,
1439
1435
  {
1440
1436
  subtasksFilter: n,
1441
1437
  setSubtasksFilter: t,
@@ -1446,7 +1442,7 @@ const Tn = S(Me)`
1446
1442
  }
1447
1443
  ),
1448
1444
  /* @__PURE__ */ i(
1449
- vn,
1445
+ yn,
1450
1446
  {
1451
1447
  ...e,
1452
1448
  style: { padding: 8, height: "unset" },
@@ -1459,7 +1455,7 @@ const Tn = S(Me)`
1459
1455
  }
1460
1456
  )
1461
1457
  ] });
1462
- }, us = ["product", "representation"], ps = ({
1458
+ }, ps = ["product", "representation"], ms = ({
1463
1459
  entityType: e,
1464
1460
  entitySubTypes: n = [],
1465
1461
  // entities is data we already have from kanban
@@ -1476,16 +1472,16 @@ const Tn = S(Me)`
1476
1472
  isSlideOut: g = !1,
1477
1473
  style: f = {},
1478
1474
  scope: x,
1479
- isCompact: A = !1,
1475
+ isCompact: j = !1,
1480
1476
  onClose: R,
1481
1477
  onWatchersUpdate: E,
1482
1478
  onOpenViewer: l,
1483
1479
  onEntityFocus: d,
1484
- onOpen: h,
1480
+ onOpen: m,
1485
1481
  onUriOpen: C,
1486
1482
  // when the details panel is opened from uri
1487
1483
  // annotations
1488
- annotations: j,
1484
+ annotations: A,
1489
1485
  removeAnnotation: T,
1490
1486
  exportAnnotationComposite: v,
1491
1487
  entityListId: w,
@@ -1498,30 +1494,30 @@ const Tn = S(Me)`
1498
1494
  openPip: ee,
1499
1495
  user: te,
1500
1496
  isGuest: ne,
1501
- entities: P,
1497
+ entities: I,
1502
1498
  setEntities: se,
1503
1499
  slideOut: ie,
1504
1500
  useSearchParams: le,
1505
1501
  SubtasksManager: Q,
1506
1502
  useNavigate: re
1507
- } = G(), { currentTab: L, setTab: V, isFeed: q } = en(x), [ce, pe] = le(), de = Y(!1), N = P?.entityType ?? e, me = P?.entities ?? o, he = P?.entitySubTypes ?? n, m = P?.entities ? [] : t, D = P?.entities ? P.entities.map((y) => y.projectName) : u;
1503
+ } = G(), { currentTab: L, setTab: V, isFeed: q } = Yt(x), [ce, pe] = le(), de = Y(!1), N = I?.entityType ?? e, me = I?.entities ?? o, he = I?.entitySubTypes ?? n, h = I?.entities ? [] : t, D = I?.entities ? I.entities.map((y) => y.projectName) : u;
1508
1504
  W(() => {
1509
- h && !de.current && (de.current = !0, h());
1505
+ m && !de.current && (de.current = !0, m());
1510
1506
  }, []), W(() => {
1511
- us.includes(N) && L !== "details" && V("details");
1507
+ ps.includes(N) && L !== "details" && V("details");
1512
1508
  }, [N, L, V]), W(() => {
1513
- o.length && P && se(null);
1514
- }, [o, P, se]);
1515
- const H = I(
1509
+ o.length && I && se(null);
1510
+ }, [o, I, se]);
1511
+ const H = P(
1516
1512
  () => nt(b, D),
1517
1513
  [b, D]
1518
- ), ot = I(() => Ye(H), [H]);
1514
+ ), ot = P(() => Ye(H), [H]);
1519
1515
  W(() => {
1520
1516
  L === "files" && N !== "version" && V("feed"), L === "subtasks" && N !== "task" && V("feed");
1521
1517
  }, [N, L, x]);
1522
1518
  let J = me.length ? me.map((y) => ({ id: y.id, projectName: y.projectName })) : (
1523
1519
  // @ts-expect-error = not sure what's going on with activeEntitiesData, we should try and remove it
1524
- m.map((y) => ({ id: y.id, projectName: y.projectName }))
1520
+ h.map((y) => ({ id: y.id, projectName: y.projectName }))
1525
1521
  );
1526
1522
  J = J.filter((y) => y.id);
1527
1523
  const {
@@ -1532,7 +1528,7 @@ const Tn = S(Me)`
1532
1528
  } = Ge(
1533
1529
  { entityType: N, entities: J },
1534
1530
  {
1535
- skip: !J.length || !Nt.includes(N)
1531
+ skip: !J.length || !Dt.includes(N)
1536
1532
  }
1537
1533
  );
1538
1534
  W(() => {
@@ -1540,25 +1536,25 @@ const Tn = S(Me)`
1540
1536
  }, [rt, g]);
1541
1537
  const be = Y(null);
1542
1538
  W(() => {
1543
- P || (be.current = null);
1544
- }, [P]), W(() => {
1545
- if (!ae && (P?.source === "uri" || P?.source === "url") && P?.entities?.length && C) {
1546
- const y = P.entities[0].id;
1539
+ I || (be.current = null);
1540
+ }, [I]), W(() => {
1541
+ if (!ae && (I?.source === "uri" || I?.source === "url") && I?.entities?.length && C) {
1542
+ const y = I.entities[0].id;
1547
1543
  if (be.current === y) return;
1548
1544
  const F = $.find((B) => B.id === y);
1549
1545
  if (!F) return;
1550
- be.current = y, C(F, P.source);
1546
+ be.current = y, C(F, I.source);
1551
1547
  }
1552
- }, [$, ae, P, C]);
1553
- const Ie = et(b), z = D[0], Pe = b[z] || {}, M = $[0] || {}, ge = $[$.length - 1], ve = D[D.length - 1], Ee = x === "inbox" && N === "version" && $.length === 1 ? Ln($[0]) : void 0, [Fe, lt] = Kn({
1548
+ }, [$, ae, I, C]);
1549
+ const Pe = et(b), z = D[0], Ie = b[z] || {}, M = $[0] || {}, ge = $[$.length - 1], ve = D[D.length - 1], Ee = x === "inbox" && N === "version" && $.length === 1 ? _n($[0]) : void 0, [Fe, lt] = Jn({
1554
1550
  entity: M,
1555
1551
  entityType: N,
1556
1552
  projectName: z,
1557
1553
  isLoading: ae
1558
- }), { setEntityUri: ct, setUri: je } = tn();
1554
+ }), { setEntityUri: ct, setUri: Ae } = Zt();
1559
1555
  W(() => {
1560
1556
  if (!ge?.parents || !ve) return;
1561
- const { folderPath: y, taskName: F, versionName: B, productName: Ue } = Yt(
1557
+ const { folderPath: y, taskName: F, versionName: B, productName: Ue } = Qt(
1562
1558
  ge.parents,
1563
1559
  N,
1564
1560
  ge.name
@@ -1570,9 +1566,9 @@ const Tn = S(Me)`
1570
1566
  productName: Ue,
1571
1567
  versionName: B
1572
1568
  }), () => {
1573
- je("");
1569
+ Ae("");
1574
1570
  };
1575
- }, [$, D, N]), Cn({
1571
+ }, [$, D, N]), Tn({
1576
1572
  entityData: ge,
1577
1573
  project: ve,
1578
1574
  activeEntityType: N,
@@ -1587,7 +1583,7 @@ const Tn = S(Me)`
1587
1583
  { replace: !0 }
1588
1584
  );
1589
1585
  }, ye = () => {
1590
- R?.(), se(null), je(""), dt(), Z();
1586
+ R?.(), se(null), Ae(""), dt(), Z();
1591
1587
  };
1592
1588
  W(() => {
1593
1589
  const y = (F) => {
@@ -1599,7 +1595,7 @@ const Tn = S(Me)`
1599
1595
  };
1600
1596
  return window.addEventListener("keydown", y), () => window.removeEventListener("keydown", y);
1601
1597
  }, [ye, g, ie]);
1602
- const { requestPipWindow: ut } = qt(), Ae = Y(null), Oe = Y(null), pt = $.length === 1 && N !== "representation", mt = I(() => {
1598
+ const { requestPipWindow: ut } = en(), Oe = Y(null), je = Y(null), pt = $.length === 1 && N !== "representation", mt = P(() => {
1603
1599
  const y = M?.label || M?.name || "", F = M?.parents || [], B = [z];
1604
1600
  switch (N) {
1605
1601
  case "folder":
@@ -1628,15 +1624,15 @@ const Tn = S(Me)`
1628
1624
  te.attrib?.email || ""
1629
1625
  )));
1630
1626
  return /* @__PURE__ */ i(
1631
- Kt,
1627
+ nn,
1632
1628
  {
1633
- thumbnailInputRef: Ae,
1634
- versionsInputRef: Oe,
1629
+ thumbnailInputRef: Oe,
1630
+ versionsInputRef: je,
1635
1631
  canUploadVersion: pt,
1636
- children: /* @__PURE__ */ k(Dn, { className: "details-panel", children: [
1637
- /* @__PURE__ */ k(Tn, { children: [
1632
+ children: /* @__PURE__ */ k(Pn, { className: "details-panel", children: [
1633
+ /* @__PURE__ */ k(Nn, { children: [
1638
1634
  /* @__PURE__ */ i(
1639
- Wt,
1635
+ zt,
1640
1636
  {
1641
1637
  segments: Fe,
1642
1638
  versions: lt,
@@ -1648,9 +1644,9 @@ const Tn = S(Me)`
1648
1644
  entityTypeIcons: ot
1649
1645
  }
1650
1646
  ),
1651
- /* @__PURE__ */ k(Nn, { className: "right-tools", children: [
1647
+ /* @__PURE__ */ k(Dn, { className: "right-tools", children: [
1652
1648
  /* @__PURE__ */ i(
1653
- Gn,
1649
+ Qn,
1654
1650
  {
1655
1651
  entityType: N,
1656
1652
  entityId: M?.id,
@@ -1678,7 +1674,7 @@ const Tn = S(Me)`
1678
1674
  }
1679
1675
  ),
1680
1676
  /* @__PURE__ */ i(
1681
- _t,
1677
+ Mt,
1682
1678
  {
1683
1679
  entities: J,
1684
1680
  entityType: N,
@@ -1706,7 +1702,7 @@ const Tn = S(Me)`
1706
1702
  }
1707
1703
  ),
1708
1704
  /* @__PURE__ */ i(
1709
- Rn,
1705
+ Un,
1710
1706
  {
1711
1707
  entityType: N,
1712
1708
  entitySubTypes: he,
@@ -1716,14 +1712,14 @@ const Tn = S(Me)`
1716
1712
  disabledStatuses: a,
1717
1713
  tagsOptions: s,
1718
1714
  isFetching: ae,
1719
- isCompact: A,
1715
+ isCompact: j,
1720
1716
  currentTab: L,
1721
1717
  onTabChange: V,
1722
1718
  projectInfo: H,
1723
1719
  onOpenViewer: (y) => l?.(y),
1724
1720
  onEntityFocus: d,
1725
- thumbnailInputRef: Ae,
1726
- versionsInputRef: Oe
1721
+ thumbnailInputRef: Oe,
1722
+ versionsInputRef: je
1727
1723
  }
1728
1724
  ),
1729
1725
  /* @__PURE__ */ k(Ke, { projectName: z, children: [
@@ -1733,21 +1729,21 @@ const Tn = S(Me)`
1733
1729
  entityType: N,
1734
1730
  entities: $,
1735
1731
  activeUsers: p || [],
1736
- projectInfo: Pe,
1732
+ projectInfo: Ie,
1737
1733
  projectName: z,
1738
1734
  disabled: !Re(),
1739
1735
  scope: x,
1740
- statuses: Ie,
1736
+ statuses: Pe,
1741
1737
  readOnly: !1,
1742
1738
  entityListId: w,
1743
- annotations: j,
1739
+ annotations: A,
1744
1740
  removeAnnotation: T,
1745
1741
  exportAnnotationComposite: v,
1746
1742
  isSlideOut: g
1747
1743
  }
1748
1744
  ),
1749
1745
  L === "subtasks" && N === "task" && M?.id && Q && /* @__PURE__ */ i(
1750
- ds,
1746
+ us,
1751
1747
  {
1752
1748
  projectName: z,
1753
1749
  taskId: M.id,
@@ -1760,7 +1756,7 @@ const Tn = S(Me)`
1760
1756
  }
1761
1757
  ),
1762
1758
  L === "files" && /* @__PURE__ */ i(
1763
- Vn,
1759
+ Ln,
1764
1760
  {
1765
1761
  entities: $,
1766
1762
  scope: x,
@@ -1768,22 +1764,22 @@ const Tn = S(Me)`
1768
1764
  }
1769
1765
  ),
1770
1766
  L === "details" && /* @__PURE__ */ i(
1771
- Jn,
1767
+ Xn,
1772
1768
  {
1773
1769
  entityType: N,
1774
1770
  entities: $,
1775
1771
  activeUsers: p || [],
1776
- projectInfo: Pe,
1772
+ projectInfo: Ie,
1777
1773
  projectName: z,
1778
1774
  disabled: !Re(),
1779
1775
  scope: x,
1780
- statuses: Ie,
1776
+ statuses: Pe,
1781
1777
  readOnly: !1,
1782
- annotations: j,
1778
+ annotations: A,
1783
1779
  removeAnnotation: T,
1784
1780
  exportAnnotationComposite: v,
1785
1781
  children: /* @__PURE__ */ i(
1786
- Mt,
1782
+ Ht,
1787
1783
  {
1788
1784
  entities: $,
1789
1785
  isLoading: ae
@@ -1795,14 +1791,14 @@ const Tn = S(Me)`
1795
1791
  ] })
1796
1792
  }
1797
1793
  );
1798
- }, ms = ({
1794
+ }, hs = ({
1799
1795
  isOpen: e,
1800
1796
  entityType: n,
1801
1797
  ...t
1802
1798
  }) => {
1803
1799
  const { entities: o } = G();
1804
- return !e && !o || !n && !o ? null : /* @__PURE__ */ i(ps, { ...t, entityType: n || o?.entityType });
1805
- }, hs = xt`
1800
+ return !e && !o || !n && !o ? null : /* @__PURE__ */ i(ms, { ...t, entityType: n || o?.entityType });
1801
+ }, gs = xt`
1806
1802
  from {
1807
1803
  translate: 0 0;
1808
1804
  }
@@ -1810,7 +1806,7 @@ to {
1810
1806
  translate: calc(-100% - 8px) 0;
1811
1807
 
1812
1808
  }
1813
- `, gs = S.div`
1809
+ `, fs = S.div`
1814
1810
  position: absolute;
1815
1811
  left: 0;
1816
1812
  top: 0;
@@ -1819,11 +1815,11 @@ to {
1819
1815
  width: 100%;
1820
1816
  max-width: 533px;
1821
1817
 
1822
- animation: ${hs} 0.2s ease forwards;
1823
- `, ba = ({ projectsInfo: e, scope: n }) => {
1824
- const { slideOut: t, onOpenViewer: o } = G(), { entityType: s, entityId: a, projectName: r } = t || {}, c = !!s && !!a && !!r, { data: p } = ze({ projectName: r }, { skip: !r }), b = e[r || ""] || {}, { tags: u = [] } = b, { closeSlideOut: g } = G(), f = () => g(), x = (A) => o?.(A);
1825
- return c ? /* @__PURE__ */ i(gs, { children: /* @__PURE__ */ i(
1826
- ms,
1818
+ animation: ${gs} 0.2s ease forwards;
1819
+ `, ha = ({ projectsInfo: e, scope: n }) => {
1820
+ const { slideOut: t, onOpenViewer: o } = G(), { entityType: s, entityId: a, projectName: r } = t || {}, c = !!s && !!a && !!r, { data: p } = ze({ projectName: r }, { skip: !r }), b = e[r || ""] || {}, { tags: u = [] } = b, { closeSlideOut: g } = G(), f = () => g(), x = (j) => o?.(j);
1821
+ return c ? /* @__PURE__ */ i(fs, { children: /* @__PURE__ */ i(
1822
+ hs,
1827
1823
  {
1828
1824
  isOpen: !0,
1829
1825
  entityType: s,
@@ -1841,20 +1837,20 @@ to {
1841
1837
  }
1842
1838
  ) }) : null;
1843
1839
  };
1844
- S(Sn)`
1840
+ S(Cn)`
1845
1841
  .p-dialog-header-icons {
1846
1842
  display: none;
1847
1843
  }
1848
1844
  .p-dialog-content {
1849
1845
  }
1850
1846
  `;
1851
- const fs = S.div`
1847
+ const bs = S.div`
1852
1848
  display: flex;
1853
1849
  flex-direction: column;
1854
1850
  margin: -8px;
1855
1851
  width: calc(100% + 16px);
1856
1852
  height: calc(100% + 16px);
1857
- `, bs = S.header`
1853
+ `, vs = S.header`
1858
1854
  display: flex;
1859
1855
  align-items: flex-start;
1860
1856
  gap: var(--base-gap-large);
@@ -1866,7 +1862,7 @@ const fs = S.div`
1866
1862
  display: none;
1867
1863
  }
1868
1864
  }
1869
- `, vs = S.div`
1865
+ `, ys = S.div`
1870
1866
  display: flex;
1871
1867
  flex-direction: column;
1872
1868
  height: 100%;
@@ -1903,12 +1899,12 @@ const fs = S.div`
1903
1899
  align-items: center;
1904
1900
  gap: var(--base-gap-medium);
1905
1901
  }
1906
- `, ys = S.div`
1902
+ `, ks = S.div`
1907
1903
  display: flex;
1908
1904
  justify-content: space-between;
1909
1905
  padding: 8px;
1910
1906
  padding-top: 0;
1911
- `, ks = S.div`
1907
+ `, ws = S.div`
1912
1908
  border-top: solid 1px var(--md-sys-color-outline-variant);
1913
1909
  height: 100%;
1914
1910
  overflow: hidden;
@@ -1927,7 +1923,7 @@ const fs = S.div`
1927
1923
  display: none;
1928
1924
  }
1929
1925
  }
1930
- `, ws = S.div`
1926
+ `, xs = S.div`
1931
1927
  display: flex;
1932
1928
  align-items: center;
1933
1929
  gap: var(--base-gap-small);
@@ -1938,13 +1934,13 @@ const fs = S.div`
1938
1934
  .icon {
1939
1935
  font-variation-settings: 'FILL' 1, 'wght' 300, 'GRAD' 300, 'opsz' 20;
1940
1936
  }
1941
- `, va = () => {
1942
- const { pip: e } = G(), n = e?.entityType, t = e?.entities || [], o = e?.scope || "", s = t.length > 0 && !!n, a = t.map((v) => v.projectName), { data: r = [] } = Dt({ projects: a }, { skip: !s }), { data: c = {}, isFetching: p } = It(
1937
+ `, ga = () => {
1938
+ const { pip: e } = G(), n = e?.entityType, t = e?.entities || [], o = e?.scope || "", s = t.length > 0 && !!n, a = t.map((v) => v.projectName), { data: r = [] } = Pt({ projects: a }, { skip: !s }), { data: c = {}, isFetching: p } = It(
1943
1939
  {
1944
1940
  projects: a
1945
1941
  },
1946
1942
  { skip: !s }
1947
- ), b = I(
1943
+ ), b = P(
1948
1944
  () => et(c, a),
1949
1945
  [c, a]
1950
1946
  ), { data: u = [], isFetching: g } = Ge(
@@ -1953,20 +1949,20 @@ const fs = S.div`
1953
1949
  {
1954
1950
  skip: !s || p
1955
1951
  }
1956
- ), f = I(
1952
+ ), f = P(
1957
1953
  () => nt(c, a),
1958
1954
  [c, a]
1959
- ), x = I(
1955
+ ), x = P(
1960
1956
  () => ({
1961
1957
  task: f.taskTypes.filter((v) => !!v.icon).reduce((v, w) => ({ ...v, [w.name]: w.icon }), {}),
1962
1958
  folder: f.folderTypes.filter((v) => !!v.icon).reduce((v, w) => ({ ...v, [w.name]: w.icon }), {}),
1963
1959
  product: f.productTypes.filter((v) => !!v.icon).reduce((v, w) => ({ ...v, [w.name]: w.icon }), {})
1964
1960
  }),
1965
1961
  [f]
1966
- ), A = I(
1962
+ ), j = P(
1967
1963
  () => n ? Xe(u, n, x) : [],
1968
1964
  [u, n]
1969
- ), R = I(() => r.filter((v) => u.some((w) => w?.task?.assignees?.includes(v.name))).map((v) => ({ ...v, avatarUrl: `/api/users/${v.name}/avatar` })), [r, t]), E = u[0];
1965
+ ), R = P(() => r.filter((v) => u.some((w) => w?.task?.assignees?.includes(v.name))).map((v) => ({ ...v, avatarUrl: `/api/users/${v.name}/avatar` })), [r, t]), E = u[0];
1970
1966
  if (!u.length || !E) return null;
1971
1967
  if (g) return /* @__PURE__ */ i("div", { children: "Loading..." });
1972
1968
  const l = E?.projectName, C = u.some((v) => v?.status !== E?.status) ? {
@@ -1979,12 +1975,12 @@ const fs = S.div`
1979
1975
  name: "None"
1980
1976
  };
1981
1977
  if (!n) return null;
1982
- const { title: j, subTitle: T } = Ze(u, n);
1983
- return /* @__PURE__ */ i(Jt, { children: /* @__PURE__ */ i(Ke, { projectName: l, children: /* @__PURE__ */ k(fs, { children: [
1984
- /* @__PURE__ */ k(bs, { children: [
1985
- /* @__PURE__ */ i(Qe, { thumbnails: A }),
1986
- /* @__PURE__ */ k(vs, { children: [
1987
- /* @__PURE__ */ i("h2", { children: j }),
1978
+ const { title: A, subTitle: T } = Ze(u, n);
1979
+ return /* @__PURE__ */ i(tn, { children: /* @__PURE__ */ i(Ke, { projectName: l, children: /* @__PURE__ */ k(bs, { children: [
1980
+ /* @__PURE__ */ k(vs, { children: [
1981
+ /* @__PURE__ */ i(Qe, { thumbnails: j }),
1982
+ /* @__PURE__ */ k(ys, { children: [
1983
+ /* @__PURE__ */ i("h2", { children: A }),
1988
1984
  /* @__PURE__ */ k("div", { className: "sub-title", children: [
1989
1985
  /* @__PURE__ */ k("span", { children: [
1990
1986
  qe(n),
@@ -1994,9 +1990,9 @@ const fs = S.div`
1994
1990
  ] })
1995
1991
  ] })
1996
1992
  ] }),
1997
- /* @__PURE__ */ k(ys, { children: [
1993
+ /* @__PURE__ */ k(ks, { children: [
1998
1994
  /* @__PURE__ */ k(
1999
- ws,
1995
+ xs,
2000
1996
  {
2001
1997
  style: {
2002
1998
  backgroundColor: C?.color,
@@ -2010,7 +2006,7 @@ const fs = S.div`
2010
2006
  ),
2011
2007
  /* @__PURE__ */ i(yt, { users: R, style: { pointerEvents: "none" } })
2012
2008
  ] }),
2013
- /* @__PURE__ */ i(ks, { children: /* @__PURE__ */ i(
2009
+ /* @__PURE__ */ i(ws, { children: /* @__PURE__ */ i(
2014
2010
  tt,
2015
2011
  {
2016
2012
  entityType: n,
@@ -2028,22 +2024,22 @@ const fs = S.div`
2028
2024
  ] }) }) });
2029
2025
  };
2030
2026
  export {
2031
- Lt as AssigneeSelect,
2032
- wa as CloseButton,
2033
- Ot as Content,
2034
- xa as ContentRow,
2035
- ms as DetailsPanel,
2036
- va as DetailsPanelFloating,
2037
- ba as DetailsPanelSlideOut,
2038
- Sa as Footer,
2039
- jt as Grid,
2040
- At as Header,
2041
- Ft as HeaderContainer,
2042
- Ca as LabelWrapper,
2043
- $t as PriorityEnumDropdown,
2044
- Vt as StatusSelect,
2045
- Ut as TagsSelect,
2046
- Ta as ThumbnailWrapper,
2047
- Rt as Title,
2048
- us as entitiesWithoutFeed
2027
+ $t as AssigneeSelect,
2028
+ va as CloseButton,
2029
+ Rt as Content,
2030
+ ya as ContentRow,
2031
+ hs as DetailsPanel,
2032
+ ga as DetailsPanelFloating,
2033
+ ha as DetailsPanelSlideOut,
2034
+ ka as Footer,
2035
+ Ot as Grid,
2036
+ jt as Header,
2037
+ At as HeaderContainer,
2038
+ wa as LabelWrapper,
2039
+ _t as PriorityEnumDropdown,
2040
+ Lt as StatusSelect,
2041
+ Vt as TagsSelect,
2042
+ xa as ThumbnailWrapper,
2043
+ Ut as Title,
2044
+ ps as entitiesWithoutFeed
2049
2045
  };