@ynput/ayon-frontend-shared 0.7.6 → 0.8.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 (70) hide show
  1. package/dist/DetailsPanel.es.js +361 -355
  2. package/dist/Feed.es.js +1 -1
  3. package/dist/ListTable.es.js +18 -18
  4. package/dist/NewEntity.es.js +30 -30
  5. package/dist/ProjectTreeTable.es.js +984 -974
  6. package/dist/ProjectsTable.es.js +3 -3
  7. package/dist/Slicer.es.js +53 -50
  8. package/dist/Views.es.js +150 -151
  9. package/dist/api.es.js +166 -165
  10. package/dist/chunks/Actions.es.js +9 -10
  11. package/dist/chunks/ColumnDropIndicator.es.js +2 -2
  12. package/dist/chunks/ColumnHeaderMenuUI.es.js +3 -4
  13. package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +2 -2
  14. package/dist/chunks/DetailsDialog.es.js +3 -3
  15. package/dist/chunks/EmptyPlaceholder.es.js +7 -7
  16. package/dist/chunks/EntityPath.es.js +38 -39
  17. package/dist/chunks/EntityPickerDialog.es.js +65 -66
  18. package/dist/chunks/EntityTooltip.es.js +18 -19
  19. package/dist/chunks/Feed.es.js +1381 -1355
  20. package/dist/chunks/FilmstripEntityCard.es.js +5201 -0
  21. package/dist/chunks/FilterErrorActions.es.js +2 -3
  22. package/dist/chunks/GroupSettingsFallback.es.js +2 -2
  23. package/dist/chunks/Menu.es.js +52 -53
  24. package/dist/chunks/MetaWidget.es.js +1948 -1875
  25. package/dist/chunks/ProjectFoldersContext.es.js +40 -40
  26. package/dist/chunks/RepresentationsList.es.js +1 -1
  27. package/dist/chunks/ReviewablesSelector.es.js +759 -742
  28. package/dist/chunks/SimpleTable.es.js +2 -1
  29. package/dist/chunks/Slicer.es.js +49 -50
  30. package/dist/chunks/TableExportContextInstance.es.js +600 -402
  31. package/dist/chunks/TableSettingsFallback.es.js +3 -4
  32. package/dist/chunks/ThumbnailSimple.es.js +114 -99
  33. package/dist/chunks/VideoPlayer.es.js +8 -9
  34. package/dist/chunks/Watchers.es.js +928 -871
  35. package/dist/chunks/expandRelativeDates.es.js +1 -1
  36. package/dist/chunks/getThumbnailUrl.es.js +33 -21
  37. package/dist/chunks/getUris.es.js +1580 -1610
  38. package/dist/chunks/queryFilterToClientFilter.es.js +1 -1
  39. package/dist/chunks/realtimeUpdatesUtils.es.js +15 -15
  40. package/dist/chunks/searchTerms.es.js +774 -696
  41. package/dist/chunks/useAttributeEnums.es.js +22 -22
  42. package/dist/chunks/useDateRangeFilter.es.js +1 -1
  43. package/dist/chunks/useHierarchySelection.es.js +3 -4
  44. package/dist/chunks/useLoadModule.es.js +3 -4
  45. package/dist/components.es.js +1261 -1206
  46. package/dist/context.es.js +615 -540
  47. package/dist/hooks.es.js +193 -171
  48. package/dist/index.es.js +2 -2
  49. package/dist/types/Actions.d.ts +10 -8
  50. package/dist/types/DetailsPanel.d.ts +54 -76
  51. package/dist/types/EntityPickerDialog.d.ts +12 -6
  52. package/dist/types/Feed.d.ts +24 -24
  53. package/dist/types/ListTable.d.ts +33 -27
  54. package/dist/types/NewEntity.d.ts +26 -39
  55. package/dist/types/ProjectTreeTable.d.ts +275 -194
  56. package/dist/types/ProjectsTable.d.ts +6 -6
  57. package/dist/types/RepresentationsList.d.ts +4 -0
  58. package/dist/types/Slicer.d.ts +63 -246
  59. package/dist/types/Views.d.ts +71 -298
  60. package/dist/types/api.d.ts +3165 -2363
  61. package/dist/types/components.d.ts +444 -473
  62. package/dist/types/context.d.ts +285 -572
  63. package/dist/types/hooks.d.ts +76 -47
  64. package/dist/types/index.d.ts +6 -0
  65. package/dist/types/util.d.ts +141 -120
  66. package/dist/util.es.js +71 -68
  67. package/package.json +6 -6
  68. package/dist/chunks/EntityUpdatesContext.es.js +0 -61
  69. package/dist/chunks/PlayableIcon.es.js +0 -5020
  70. package/dist/chunks/viewUpdateHelper.es.js +0 -153
@@ -1,12 +1,12 @@
1
- import { jsxs as x, jsx as i, Fragment as Ie } from "react/jsx-runtime";
2
- import { Toolbar as nt, Panel as At, Button as te, Spacer as st, Icon as Ee, getMixedCounts as Qe, getTextColor as Re, applyMixedChange as Ft, Dialog as Ot, SEARCH_FILTER_ID as at, buildFilterId as Ae, getFilterFromId as jt, SearchFilter as Rt, AssigneeField as Lt } from "@ynput/ayon-react-components";
3
- import { useEffect as Q, useMemo as w, useRef as le, useState as oe, useContext as Vt, useId as Ut, useCallback as $t } from "react";
4
- import I, { keyframes as Mt } from "styled-components";
1
+ import { jsxs as x, jsx as i, Fragment as Ee } from "react/jsx-runtime";
2
+ import { Toolbar as nt, Panel as At, Button as ne, Spacer as st, Icon as Ie, getMixedCounts as Qe, getTextColor as Re, applyMixedChange as Ft, Dialog as jt, SEARCH_FILTER_ID as at, buildFilterId as Ae, getFilterFromId as Ot, SearchFilter as Rt, AssigneeField as Lt } from "@ynput/ayon-react-components";
3
+ import { useEffect as Q, useMemo as w, useRef as le, useState as ie, useContext as Vt, useId as Ut, useCallback as $t } from "react";
4
+ import E, { keyframes as Mt } from "styled-components";
5
5
  import { bz as _t, bH as Ht } from "./chunks/searchTerms.es.js";
6
- import { bq as Bt, bO as Wt, c3 as zt, cz as ot, by as it, v as Gt, bS as Qt, ce as qt } from "./chunks/getUris.es.js";
6
+ import { br as Bt, bP as Wt, c4 as zt, cA as ot, bz as it, v as Gt, bT as Qt, cf as qt } from "./chunks/getUris.es.js";
7
7
  import "primereact/confirmdialog";
8
- import { c as Kt, y as Jt, H as Xt, G as Yt, z as Zt, w as rt, A as en, B as tn, E as nn, I as sn, J as an, K as on, N as rn, W as ln, s as cn } from "./chunks/Watchers.es.js";
9
- import { O as za, Q as Ga, V as Qa, X as qa, T as Ka } from "./chunks/Watchers.es.js";
8
+ import { o as Kt, y as Jt, H as Xt, G as Yt, z as Zt, w as rt, A as en, B as tn, E as nn, I as sn, J as an, K as on, N as rn, W as ln, s as cn } from "./chunks/Watchers.es.js";
9
+ import { O as Ga, Q as Qa, V as qa, X as Ka, T as Ja } from "./chunks/Watchers.es.js";
10
10
  import { E as dn, R as un, a as pn } from "./chunks/EntityPath.es.js";
11
11
  import { union as ke, upperFirst as lt } from "lodash";
12
12
  import "react-toastify";
@@ -15,39 +15,39 @@ import { a as mn, b as hn, A as qe, e as gn } from "./chunks/activeEntities.es.j
15
15
  import "axios";
16
16
  import "@module-federation/enhanced/runtime";
17
17
  import { menuItemsAt as Ne } from "@ynput/ayon-addon/host";
18
- import { x as ne, u as fn, T as bn, ad as vn, a7 as yn, ag as kn, a6 as Ke, L as wn, af as xn, a1 as Sn } from "./chunks/TableExportContextInstance.es.js";
18
+ import { m as se, u as fn, T as bn, af as vn, a6 as yn, ah as kn, a5 as Ke, G as wn, ag as xn, $ as Sn } from "./chunks/TableExportContextInstance.es.js";
19
19
  import "semver";
20
20
  import { T as Cn } from "./chunks/ThumbnailUploaderContext.es.js";
21
21
  import "react-dom";
22
22
  import { u as Tn, P as ct } from "./chunks/ProjectFoldersContext.es.js";
23
- import "react-redux";
24
23
  import "react-router-dom";
25
- import fe from "clsx";
24
+ import be from "clsx";
26
25
  import { A as Nn } from "./chunks/Actions.es.js";
27
- import { c as En, n as In, E as Pn, q as Dn } from "./chunks/MetaWidget.es.js";
26
+ import { f as In, n as En, E as Pn, q as Dn } from "./chunks/MetaWidget.es.js";
28
27
  import "./chunks/ContextMenuContextInstance.es.js";
29
28
  import { useContributions as dt, prefetchPiece as Le, entityUrl as An, runContribution as Je, ContributionView as Fn } from "@ynput/ayon-addon";
30
29
  import { g as Fe } from "./chunks/getEntityTypeIcon.es.js";
31
- import { _ as On } from "./chunks/PlayableIcon.es.js";
32
- import { R as jn } from "./chunks/RepresentationsList.es.js";
33
- import { I as Rn } from "./chunks/InfoMessage.es.js";
34
- import { M as Ln, a as Vn } from "./chunks/Menu.es.js";
35
- import { D as Un } from "./chunks/DetailsDialog.es.js";
36
- import { u as $n } from "./chunks/VersionUploadContextInstance.es.js";
37
- import { p as Mn } from "./chunks/pluralize.es.js";
38
- import { c as _n } from "./chunks/copyToClipboard.es.js";
39
- import { d as ut, c as Hn } from "./chunks/Feed.es.js";
40
- import { A as Bn, C as Wn } from "./chunks/ThumbnailSimple.es.js";
41
- import { t as zn, c as Gn } from "./chunks/queryFilterToClientFilter.es.js";
42
- import { u as Qn } from "./chunks/useDateRangeFilter.es.js";
43
- import { e as qn } from "./chunks/expandRelativeDates.es.js";
30
+ import { a8 as jn, T as On } from "./chunks/FilmstripEntityCard.es.js";
31
+ import { R as Rn } from "./chunks/RepresentationsList.es.js";
32
+ import { I as Ln } from "./chunks/InfoMessage.es.js";
33
+ import { M as Vn, a as Un } from "./chunks/Menu.es.js";
34
+ import { D as $n } from "./chunks/DetailsDialog.es.js";
35
+ import { u as Mn } from "./chunks/VersionUploadContextInstance.es.js";
36
+ import { p as _n } from "./chunks/pluralize.es.js";
37
+ import { c as Hn } from "./chunks/copyToClipboard.es.js";
38
+ import { d as ut, c as Bn } from "./chunks/Feed.es.js";
39
+ import { A as Wn, C as zn } from "./chunks/ThumbnailSimple.es.js";
40
+ import { t as Gn, c as Qn } from "./chunks/queryFilterToClientFilter.es.js";
41
+ import { u as qn } from "./chunks/useDateRangeFilter.es.js";
42
+ import { e as Kn } from "./chunks/expandRelativeDates.es.js";
44
43
  import "@dnd-kit/core";
45
44
  import "@dnd-kit/sortable";
46
45
  import "@dnd-kit/utilities";
46
+ import "react-redux";
47
47
  import "custom-protocol-check";
48
48
  import "./chunks/SimpleForm.es.js";
49
- import { Dialog as Kn } from "primereact/dialog";
50
- function Jn({
49
+ import { Dialog as Jn } from "primereact/dialog";
50
+ function Xn({
51
51
  entityData: e,
52
52
  project: n,
53
53
  activeEntityType: t,
@@ -63,7 +63,7 @@ function Jn({
63
63
  l !== u && window.history.replaceState(window.history.state, "", l);
64
64
  }, [e, n, t, o]);
65
65
  }
66
- const Xn = I(nt)`
66
+ const Yn = E(nt)`
67
67
  display: flex;
68
68
  justify-content: space-between;
69
69
  align-items: flex-start;
@@ -75,7 +75,7 @@ const Xn = I(nt)`
75
75
  & > * {
76
76
  min-width: max-content;
77
77
  }
78
- `, Yn = I.div`
78
+ `, Zn = E.div`
79
79
  display: flex;
80
80
  align-items: flex-start;
81
81
  gap: 4px;
@@ -84,13 +84,13 @@ const Xn = I(nt)`
84
84
  right: 0;
85
85
  padding: var(--padding-m);
86
86
  background-color: var(--md-sys-color-surface-container-low);
87
- `, Zn = I.div`
87
+ `, es = E.div`
88
88
  flex: 1;
89
89
  min-height: 0;
90
90
  overflow: auto;
91
91
  display: flex;
92
92
  flex-direction: column;
93
- `, es = I(At)`
93
+ `, ts = E(At)`
94
94
  gap: 0px;
95
95
  height: 100%;
96
96
  padding: 0px;
@@ -104,22 +104,22 @@ const Xn = I(nt)`
104
104
  ),
105
105
  [n, e]
106
106
  ), isLoading: t };
107
- }, ts = I(nt)`
107
+ }, ns = E(nt)`
108
108
  border-radius: 8px 8px 0 0;
109
109
  gap: var(--base-gap-small) !important;
110
110
  position: relative;
111
111
  z-index: 100;
112
112
  grid-column: span 2;
113
- `, ns = ["product", "representation"], ss = ["task"], as = ({
113
+ `, ss = ["product", "representation"], as = ["task"], os = ({
114
114
  entityType: e,
115
115
  currentTab: n,
116
116
  onTabChange: t,
117
117
  isLoading: o
118
118
  }) => {
119
- const s = !ns.includes(e), a = ss.includes(e), r = e === "version", { tabs: l } = pt(e);
120
- return /* @__PURE__ */ x(ts, { className: o ? "loading" : "", children: [
119
+ const s = !ss.includes(e), a = as.includes(e), r = e === "version", { tabs: l } = pt(e);
120
+ return /* @__PURE__ */ x(ns, { className: o ? "loading" : "", children: [
121
121
  s && /* @__PURE__ */ i(
122
- te,
122
+ ne,
123
123
  {
124
124
  icon: "forum",
125
125
  selected: n === "feed",
@@ -130,7 +130,7 @@ const Xn = I(nt)`
130
130
  }
131
131
  ),
132
132
  a && /* @__PURE__ */ i(
133
- te,
133
+ ne,
134
134
  {
135
135
  icon: "checklist",
136
136
  selected: n === "subtasks",
@@ -141,7 +141,7 @@ const Xn = I(nt)`
141
141
  }
142
142
  ),
143
143
  l.map((u) => /* @__PURE__ */ i(
144
- te,
144
+ ne,
145
145
  {
146
146
  icon: u.icon,
147
147
  selected: n === u.key,
@@ -156,7 +156,7 @@ const Xn = I(nt)`
156
156
  )),
157
157
  /* @__PURE__ */ i(st, {}),
158
158
  r && /* @__PURE__ */ i(
159
- te,
159
+ ne,
160
160
  {
161
161
  icon: "order_play",
162
162
  onClick: () => t("files"),
@@ -167,7 +167,7 @@ const Xn = I(nt)`
167
167
  }
168
168
  ),
169
169
  /* @__PURE__ */ i(
170
- te,
170
+ ne,
171
171
  {
172
172
  onClick: () => t("details"),
173
173
  selected: n === "details",
@@ -177,12 +177,12 @@ const Xn = I(nt)`
177
177
  }
178
178
  )
179
179
  ] });
180
- }, os = I.div`
180
+ }, is = E.div`
181
181
  display: flex;
182
182
  align-items: center;
183
183
  gap: var(--base-gap-small);
184
184
  overflow: hidden;
185
- `, is = I.button`
185
+ `, rs = E.button`
186
186
  display: inline-flex;
187
187
  align-items: center;
188
188
  gap: var(--base-gap-small);
@@ -204,18 +204,18 @@ const Xn = I(nt)`
204
204
  text-overflow: ellipsis;
205
205
  white-space: nowrap;
206
206
  }
207
- `, rs = ({ entity: e, taskTypes: n }) => {
208
- const { openSlideOut: t } = ne(), { projectName: o } = e, s = e.task?.name ? e.task : void 0;
207
+ `, ls = ({ entity: e, taskTypes: n }) => {
208
+ const { openSlideOut: t } = se(), { projectName: o } = e, s = e.task?.name ? e.task : void 0;
209
209
  if (!s?.id) return null;
210
210
  const a = n.find((r) => r.name === s.taskType);
211
- return /* @__PURE__ */ x(os, { className: "linked-task", children: [
211
+ return /* @__PURE__ */ x(is, { className: "linked-task", children: [
212
212
  /* @__PURE__ */ i("span", { children: "Task" }),
213
213
  /* @__PURE__ */ x(
214
- is,
214
+ rs,
215
215
  {
216
216
  onClick: () => t({ entityId: s.id, entityType: "task", projectName: o }),
217
217
  children: [
218
- /* @__PURE__ */ i(Ee, { icon: a?.icon || "task_alt", style: { color: a?.color || void 0 } }),
218
+ /* @__PURE__ */ i(Ie, { icon: a?.icon || "task_alt", style: { color: a?.color || void 0 } }),
219
219
  /* @__PURE__ */ i("span", { className: "label", children: s.label || s.name })
220
220
  ]
221
221
  }
@@ -241,10 +241,10 @@ const Xn = I(nt)`
241
241
  thumbnailHash: s.thumbnailHash,
242
242
  projectName: s.projectName
243
243
  }));
244
- }, Oe = (e) => e.filter((n) => !!n.icon).reduce((n, t) => ({ ...n, [t.name]: t.icon }), {}), ht = (e) => ({
245
- task: Oe(e.taskTypes),
246
- folder: Oe(e.folderTypes),
247
- product: Oe(e.productTypes)
244
+ }, je = (e) => e.filter((n) => !!n.icon).reduce((n, t) => ({ ...n, [t.name]: t.icon }), {}), ht = (e) => ({
245
+ task: je(e.taskTypes),
246
+ folder: je(e.folderTypes),
247
+ product: je(e.productTypes)
248
248
  }), gt = (e, n) => {
249
249
  const t = e.length > 1, o = e[0];
250
250
  if (t)
@@ -280,7 +280,7 @@ const Xn = I(nt)`
280
280
  subTitle: o.entityType || "Unknown Type"
281
281
  };
282
282
  }
283
- }, ls = ({
283
+ }, cs = ({
284
284
  entityType: e,
285
285
  entitySubTypes: n,
286
286
  entities: t = [],
@@ -298,7 +298,7 @@ const Xn = I(nt)`
298
298
  thumbnailInputRef: V,
299
299
  versionsInputRef: U
300
300
  }) => {
301
- const { useSearchParams: j, useNavigate: c, bundleMode: g } = ne(), C = c(), [E, T] = j(), D = le(null), v = w(() => ht(h), [h]), y = Kt(
301
+ const { useSearchParams: O, useNavigate: c, bundleMode: g } = se(), C = c(), [I, T] = O(), D = le(null), v = w(() => ht(h), [h]), y = Kt(
302
302
  t.map((d) => d.projectName),
303
303
  [e]
304
304
  ), A = w(() => e === "task" ? ke(...t.map((d) => d.task?.assignees || [])) : e === "version" ? ke(
@@ -324,7 +324,7 @@ const Xn = I(nt)`
324
324
  updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
325
325
  path: ""
326
326
  });
327
- const se = t.length > 1 ? void 0 : R?.projectName;
327
+ const ae = t.length > 1 ? void 0 : R?.projectName;
328
328
  t.filter((d) => d.projectName === R?.projectName && d.id).map((d) => d.id);
329
329
  const { data: ce } = Bt({ attributeName: "priority" }), de = mn(ce, e), ue = w(
330
330
  () => mt(t, e, v),
@@ -332,50 +332,55 @@ const Xn = I(nt)`
332
332
  ), F = w(() => t.map((d) => d.status), [t]), pe = w(() => t.map((d) => d.attrib?.priority), [t]), K = w(() => t.map((d) => d.tags), [t]), me = w(
333
333
  () => r.reduce((d, P) => (d[P.name] = P, d), {}),
334
334
  [r]
335
- ), J = w(() => ke(...K), [K]), he = t.every((d) => d.projectName === R?.projectName), O = En(
335
+ ), X = w(() => ke(...K), [K]), he = t.every((d) => d.projectName === R?.projectName), j = In(
336
336
  he ? R?.projectName : void 0,
337
337
  r
338
- ), B = t.length > 1, X = w(() => Qe(K), [K]), xe = w(
338
+ ), z = t.length > 1, Y = w(() => Qe(K), [K]), xe = w(
339
339
  () => Qe(t.map((d) => d.task?.assignees || [])),
340
340
  [t]
341
- ), be = !B && !!R?.hasReviewables, ve = ue.length === 1, { attribAccess: S, updateEntity: ge } = Jt({
341
+ ), ge = !z && !!R?.hasReviewables, ve = ue.length === 1, { attribAccess: S, updateEntity: fe } = Jt({
342
342
  entities: t,
343
343
  entityType: e
344
- }), { writableFields: k } = S, H = !k || k.includes("status"), _ = !k || k.includes("tags"), ie = e === "task" && (!k || k.includes("assignees")), ae = (d, P) => {
345
- if (!(d !== "attrib" && k && !k.includes(d)) && !(d === "assignees" && !ie))
346
- return P == null ? console.error("value is null or undefined") : ge(d, P);
347
- }, Y = (d, P) => {
344
+ }), { writableFields: k } = S, B = !k || k.includes("status"), _ = !k || k.includes("tags"), re = e === "task" && (!k || k.includes("assignees")), oe = (d, P) => {
345
+ if (!(d !== "attrib" && k && !k.includes(d)) && !(d === "assignees" && !re))
346
+ return P == null ? console.error("value is null or undefined") : fe(d, P);
347
+ }, Z = (d, P) => {
348
348
  const W = new Map(
349
- t.map((re) => [re.id, (d === "tags" ? re.tags : re.task?.assignees) || []])
349
+ t.map((J) => [J.id, (d === "tags" ? J.tags : J.task?.assignees) || []])
350
350
  );
351
- d === "tags" && O?.addTags(P.add), ae(d, (re) => Ft(W.get(re) || [], P));
352
- }, Se = () => {
353
- let d, P = R.id, W = e + "Id";
354
- e === "version" && R.product?.id && (d = [R.id], P = R.product?.id, W = "productId"), P && b({
355
- [W]: P,
356
- projectName: se,
357
- versionIds: d
358
- });
351
+ d === "tags" && j?.addTags(P.add), oe(d, (J) => Ft(W.get(J) || [], P));
352
+ }, Se = (d) => {
353
+ let P, W = R.id, J = e + "Id";
354
+ if (e === "version" && R.product?.id && (P = [R.id], W = R.product?.id, J = "productId"), W) {
355
+ const H = On(d);
356
+ b({
357
+ [J]: W,
358
+ projectName: ae,
359
+ versionIds: P,
360
+ reviewableIds: H && [H.fileId],
361
+ goToPosition: H?.position
362
+ });
363
+ }
359
364
  }, ye = (e === "task" || e === "version") && (A.length > 0 || e === "task"), Ce = [..._t(s, A)];
360
365
  if (ye) {
361
366
  const d = s.map((W) => W.name), P = A.filter((W) => !d.includes(W));
362
367
  P.length && Ce.push(...P.map((W) => ({ name: W, fullName: W })));
363
368
  }
364
- const { title: Z, subTitle: M } = gt(t, e), ee = y?.length !== 0 && y?.find((d) => d.name === F[0]);
369
+ const { title: ee, subTitle: M } = gt(t, e), te = y?.length !== 0 && y?.find((d) => d.name === F[0]);
365
370
  return /* @__PURE__ */ i(Xt, { children: /* @__PURE__ */ i(
366
371
  dn,
367
372
  {
368
373
  entities: t,
369
374
  entityType: e,
370
- projectName: se,
375
+ projectName: ae,
371
376
  thumbnailInputRef: V,
372
377
  versionsInputRef: U,
373
378
  onVersionCreated: (d) => N?.(d, "version"),
374
- children: /* @__PURE__ */ x(Yt, { className: fe("details-panel-header", { isCompact: u }), children: [
379
+ children: /* @__PURE__ */ x(Yt, { className: be("details-panel-header", { isCompact: u }), children: [
375
380
  /* @__PURE__ */ x(
376
381
  Zt,
377
382
  {
378
- className: fe("titles", { isCompact: u, loading: $ }, "no-shimmer"),
383
+ className: be("titles", { isCompact: u, loading: $ }, "no-shimmer"),
379
384
  children: [
380
385
  /* @__PURE__ */ x("div", { style: { position: "relative" }, children: [
381
386
  /* @__PURE__ */ i(
@@ -385,15 +390,16 @@ const Xn = I(nt)`
385
390
  shimmer: $,
386
391
  thumbnails: ue,
387
392
  onClick: ve ? Se : void 0,
388
- hoverIcon: be ? "play_circle" : void 0
393
+ hoverIcon: ge ? "play_circle" : void 0,
394
+ filmstrip: ge
389
395
  }
390
396
  ),
391
- be && /* @__PURE__ */ i(On, {})
397
+ ge && /* @__PURE__ */ i(jn, {})
392
398
  ] }),
393
- /* @__PURE__ */ x(en, { className: fe({ loading: $ }), children: [
399
+ /* @__PURE__ */ x(en, { className: be({ loading: $ }), children: [
394
400
  /* @__PURE__ */ x(tn, { children: [
395
- /* @__PURE__ */ i("h2", { children: Z }),
396
- _ ? /* @__PURE__ */ x(Ie, { children: [
401
+ /* @__PURE__ */ i("h2", { children: ee }),
402
+ _ ? /* @__PURE__ */ x(Ee, { children: [
397
403
  /* @__PURE__ */ i(
398
404
  nn,
399
405
  {
@@ -404,13 +410,13 @@ const Xn = I(nt)`
404
410
  editable: !0,
405
411
  editor: !0,
406
412
  onChange: (d) => {
407
- O?.addTags(d.filter((P) => !J.includes(P))), ae("tags", d);
413
+ j?.addTags(d.filter((P) => !X.includes(P))), oe("tags", d);
408
414
  },
409
- mixedCounts: B ? X : void 0,
415
+ mixedCounts: z ? Y : void 0,
410
416
  mixedTotal: t.length,
411
417
  mixedLabel: `${e}s`,
412
- onMixedChange: (d) => Y("tags", d),
413
- onEditOption: O?.onEditOption,
418
+ onMixedChange: (d) => Z("tags", d),
419
+ onEditOption: j?.onEditOption,
414
420
  editOptionTooltip: "Change the colour in the project tags",
415
421
  align: "right",
416
422
  styleDropdown: { display: $ ? "none" : "unset" },
@@ -418,7 +424,7 @@ const Xn = I(nt)`
418
424
  itemClassName: "details-tag"
419
425
  }
420
426
  ),
421
- O && /* @__PURE__ */ i(In, { ...O.dialog })
427
+ j && /* @__PURE__ */ i(En, { ...j.dialog })
422
428
  ] }) : /* @__PURE__ */ i(sn, { className: "tags-select", children: ke(...K).length ? ke(...K).map((d) => {
423
429
  const P = me[d]?.color;
424
430
  return /* @__PURE__ */ i(
@@ -441,8 +447,8 @@ const Xn = I(nt)`
441
447
  ] }),
442
448
  /* @__PURE__ */ i("h3", { children: M })
443
449
  ] }),
444
- e === "version" && !B && !$ && R && /* @__PURE__ */ i(
445
- rs,
450
+ e === "version" && !z && !$ && R && /* @__PURE__ */ i(
451
+ ls,
446
452
  {
447
453
  entity: R,
448
454
  taskTypes: h.taskTypes
@@ -459,13 +465,13 @@ const Xn = I(nt)`
459
465
  value: F,
460
466
  options: y || [],
461
467
  disabledValues: a,
462
- disableOpen: !H,
468
+ disableOpen: !B,
463
469
  invert: !0,
464
470
  style: { maxWidth: "unset" },
465
- onChange: (d) => ae("status", d),
466
- className: fe("status-select", { loading: $ }),
471
+ onChange: (d) => oe("status", d),
472
+ className: be("status-select", { loading: $ }),
467
473
  align: u ? "right" : "left",
468
- $textColor: Re(ee !== void 0 ? ee.color : "#OOO")
474
+ $textColor: Re(te !== void 0 ? te.color : "#OOO")
469
475
  }
470
476
  ),
471
477
  !u && (!ye || $ ? /* @__PURE__ */ i("div", {}) : /* @__PURE__ */ i(
@@ -474,15 +480,15 @@ const Xn = I(nt)`
474
480
  value: A,
475
481
  options: Ce,
476
482
  disabledValues: o.map((d) => d.name),
477
- isMultiple: B && A.length > 1 && e === "task",
478
- readOnly: !ie,
479
- emptyMessage: ie ? "Assign user" : "-",
483
+ isMultiple: z && A.length > 1 && e === "task",
484
+ readOnly: !re,
485
+ emptyMessage: re ? "Assign user" : "-",
480
486
  align: "right",
481
- onChange: (d) => ae("assignees", d),
482
- mixedCounts: B && e === "task" ? xe : void 0,
487
+ onChange: (d) => oe("assignees", d),
488
+ mixedCounts: z && e === "task" ? xe : void 0,
483
489
  mixedTotal: t.length,
484
490
  mixedLabel: `${e}s`,
485
- onMixedChange: (d) => Y("assignees", d),
491
+ onMixedChange: (d) => Z("assignees", d),
486
492
  className: "assignee-select",
487
493
  "data-tooltip": A.length ? e === "task" ? "Assigned users" : "Author" : ""
488
494
  }
@@ -494,7 +500,7 @@ const Xn = I(nt)`
494
500
  entityType: e,
495
501
  entitySubTypes: n,
496
502
  isLoadingEntity: !!l || !!$,
497
- searchParams: E,
503
+ searchParams: I,
498
504
  bundleMode: g,
499
505
  onSetSearchParams: T,
500
506
  onNavigate: C
@@ -506,12 +512,12 @@ const Xn = I(nt)`
506
512
  options: de,
507
513
  placeholder: "No priority",
508
514
  value: pe,
509
- onChange: (d) => ae("attrib", { priority: d[0] }),
515
+ onChange: (d) => oe("attrib", { priority: d[0] }),
510
516
  align: "right"
511
517
  }
512
518
  ) : /* @__PURE__ */ i("div", { style: { height: 32 } }),
513
519
  /* @__PURE__ */ i(
514
- as,
520
+ os,
515
521
  {
516
522
  entityType: e,
517
523
  currentTab: f,
@@ -522,13 +528,13 @@ const Xn = I(nt)`
522
528
  ] })
523
529
  }
524
530
  ) });
525
- }, cs = I.div`
531
+ }, ds = E.div`
526
532
  display: flex;
527
533
  flex-direction: column;
528
534
 
529
535
  height: 100%;
530
536
  overflow: hidden;
531
- `, Xe = I.div`
537
+ `, Xe = E.div`
532
538
  position: relative;
533
539
  flex: 1;
534
540
  display: flex;
@@ -542,7 +548,7 @@ const Xn = I(nt)`
542
548
  &:first-child {
543
549
  border-bottom: 1px solid var(--md-sys-color-outline-variant);
544
550
  }
545
- `, ds = ({
551
+ `, us = ({
546
552
  entities: e = [],
547
553
  scope: n,
548
554
  isLoadingVersion: t
@@ -550,7 +556,7 @@ const Xn = I(nt)`
550
556
  const o = e[0];
551
557
  if (!o) return null;
552
558
  let s = "Reviewables";
553
- return e.length > 1 && (s += ` (${o.name})`), e.some((a) => a.entityType !== "version") ? null : /* @__PURE__ */ x(cs, { children: [
559
+ return e.length > 1 && (s += ` (${o.name})`), e.some((a) => a.entityType !== "version") ? null : /* @__PURE__ */ x(ds, { children: [
554
560
  /* @__PURE__ */ x(Xe, { children: [
555
561
  /* @__PURE__ */ i("h4", { children: s }),
556
562
  /* @__PURE__ */ i(
@@ -566,16 +572,16 @@ const Xn = I(nt)`
566
572
  ] }),
567
573
  /* @__PURE__ */ x(Xe, { children: [
568
574
  /* @__PURE__ */ i("h4", { children: "Representations" }),
569
- /* @__PURE__ */ i(jn, { entities: e })
575
+ /* @__PURE__ */ i(Rn, { entities: e })
570
576
  ] })
571
577
  ] });
572
- }, us = ({
578
+ }, ps = ({
573
579
  latestVersion: e,
574
580
  resolveVersionJump: n
575
581
  }) => {
576
582
  const t = n?.(e.id);
577
583
  return /* @__PURE__ */ i(
578
- Rn,
584
+ Ln,
579
585
  {
580
586
  variant: "info",
581
587
  compact: !0,
@@ -589,16 +595,16 @@ const Xn = I(nt)`
589
595
  } : void 0
590
596
  }
591
597
  );
592
- }, ps = (e) => {
598
+ }, ms = (e) => {
593
599
  const n = e?.version?.version, t = e?.product?.latestVersion;
594
600
  if (!(e?.entityType !== "version" || !n || n <= 0 || !t?.active))
595
601
  return t.version > n ? t : void 0;
596
- }, ms = () => ({
597
- onOpenVersionUpload: $n()?.onOpenVersionUpload ?? null
598
- }), hs = (e, n, t) => {
602
+ }, hs = () => ({
603
+ onOpenVersionUpload: Mn()?.onOpenVersionUpload ?? null
604
+ }), gs = (e, n, t) => {
599
605
  const o = An({ entityType: e, id: n, projectName: t });
600
606
  return o ? `${typeof window < "u" ? window.location.origin : ""}${o}` : null;
601
- }, gs = ({
607
+ }, fs = ({
602
608
  entityType: e,
603
609
  entityId: n,
604
610
  projectName: t,
@@ -615,12 +621,12 @@ const Xn = I(nt)`
615
621
  onPip: N,
616
622
  onOpenViewer: V,
617
623
  onUploadThumbnail: U,
618
- onUploadVersion: j,
624
+ onUploadVersion: O,
619
625
  onShare: c,
620
626
  onViewData: g,
621
627
  onDelete: C
622
628
  }) => {
623
- const E = w(() => o.length ? o.filter((T) => !!T?.entityId).map((T) => ({
629
+ const I = w(() => o.length ? o.filter((T) => !!T?.entityId).map((T) => ({
624
630
  entityId: T.entityId,
625
631
  entityType: T.entityType || e,
626
632
  hasReviewables: T.hasReviewables
@@ -646,27 +652,27 @@ const Xn = I(nt)`
646
652
  id: "upload-version",
647
653
  label: "Upload version",
648
654
  icon: "upload",
649
- onClick: j
650
- }), m?.openAddToListDialog && t && E.length) {
651
- const y = E[0]?.entityType || e, A = m.openAddToListDialog;
655
+ onClick: O
656
+ }), m?.openAddToListDialog && t && I.length) {
657
+ const y = I[0]?.entityType || e, A = m.openAddToListDialog;
652
658
  if (T.push({
653
659
  id: "add-to-list",
654
660
  label: "Add to list",
655
661
  icon: "list_alt_add",
656
- onClick: () => A(y, E)
662
+ onClick: () => A(y, I)
657
663
  }), (y === "version" || y === "representation") && m.hasReviewAddon) {
658
- const $ = E.some((se) => se.hasReviewables === !0);
664
+ const $ = I.some((ae) => ae.hasReviewables === !0);
659
665
  T.push({
660
666
  id: "add-to-review-list",
661
667
  label: "Add to session",
662
668
  icon: "list_alt_add",
663
669
  disabled: !$,
664
670
  ...$ ? {} : { "data-tooltip": "No reviewables on selected version" },
665
- onClick: () => A(y, E, { isReview: !0 })
671
+ onClick: () => A(y, I, { isReview: !0 })
666
672
  });
667
673
  }
668
674
  }
669
- const D = E[0], v = D?.entityId && t ? hs(
675
+ const D = I[0], v = D?.entityId && t ? gs(
670
676
  D.entityType || e,
671
677
  D.entityId,
672
678
  t
@@ -682,7 +688,7 @@ const Xn = I(nt)`
682
688
  icon: "database",
683
689
  onClick: g
684
690
  }), f && s.length > 0) {
685
- const y = new Set(s.map(($) => $.entityType)), A = y.size === 1 ? [...y][0] : "item", R = s.length === 1 ? `Delete ${A}` : `Delete ${Mn(s.length, A)}`;
691
+ const y = new Set(s.map(($) => $.entityType)), A = y.size === 1 ? [...y][0] : "item", R = s.length === 1 ? `Delete ${A}` : `Delete ${_n(s.length, A)}`;
686
692
  T.push({
687
693
  id: "delete",
688
694
  label: R,
@@ -703,28 +709,28 @@ const Xn = I(nt)`
703
709
  h,
704
710
  b,
705
711
  t,
706
- E,
712
+ I,
707
713
  e,
708
714
  N,
709
715
  V,
710
716
  U,
711
- j,
717
+ O,
712
718
  c,
713
719
  g,
714
720
  C
715
721
  ]);
716
- }, fs = I.div`
722
+ }, bs = E.div`
717
723
  display: flex;
718
724
  flex-direction: column;
719
725
  gap: 16px;
720
- `, Ye = I.div`
726
+ `, Ye = E.div`
721
727
  display: flex;
722
728
  flex-direction: column;
723
729
  gap: 6px;
724
- `, Ze = I.span`
730
+ `, Ze = E.span`
725
731
  font-size: 13px;
726
732
  color: var(--md-sys-color-on-surface);
727
- `, et = I.button`
733
+ `, et = E.button`
728
734
  display: flex;
729
735
  align-items: center;
730
736
  gap: 12px;
@@ -753,28 +759,28 @@ const Xn = I(nt)`
753
759
  text-overflow: ellipsis;
754
760
  white-space: nowrap;
755
761
  }
756
- `, bs = ({ link: e, entityLabel: n, visible: t, onHide: o }) => {
762
+ `, vs = ({ link: e, entityLabel: n, visible: t, onHide: o }) => {
757
763
  if (!t) return null;
758
764
  const s = `[${n}](${e})`, a = (r) => {
759
- _n(r, !0), o();
765
+ Hn(r, !0), o();
760
766
  };
761
- return /* @__PURE__ */ i(Ot, { isOpen: !0, onClose: o, size: "sm", header: "Share", children: /* @__PURE__ */ x(fs, { children: [
767
+ return /* @__PURE__ */ i(jt, { isOpen: !0, onClose: o, size: "sm", header: "Share", children: /* @__PURE__ */ x(bs, { children: [
762
768
  /* @__PURE__ */ x(Ye, { children: [
763
769
  /* @__PURE__ */ i(Ze, { children: "Link" }),
764
770
  /* @__PURE__ */ x(et, { type: "button", onClick: () => a(e), "aria-label": "Copy link", children: [
765
771
  /* @__PURE__ */ i("span", { className: "value", children: e }),
766
- /* @__PURE__ */ i(Ee, { icon: "content_copy" })
772
+ /* @__PURE__ */ i(Ie, { icon: "content_copy" })
767
773
  ] })
768
774
  ] }),
769
775
  /* @__PURE__ */ x(Ye, { children: [
770
776
  /* @__PURE__ */ i(Ze, { children: "Markdown Link" }),
771
777
  /* @__PURE__ */ x(et, { type: "button", onClick: () => a(s), "aria-label": "Copy markdown link", children: [
772
778
  /* @__PURE__ */ i("span", { className: "value", children: s }),
773
- /* @__PURE__ */ i(Ee, { icon: "content_copy" })
779
+ /* @__PURE__ */ i(Ie, { icon: "content_copy" })
774
780
  ] })
775
781
  ] })
776
782
  ] }) });
777
- }, vs = (e, n, t, o) => {
783
+ }, ys = (e, n, t, o) => {
778
784
  const s = { projectName: t, quickView: !0 };
779
785
  switch (e) {
780
786
  case "folder":
@@ -788,7 +794,7 @@ const Xn = I(nt)`
788
794
  default:
789
795
  return null;
790
796
  }
791
- }, ys = ({
797
+ }, ks = ({
792
798
  entityType: e,
793
799
  entityId: n,
794
800
  entityIds: t,
@@ -802,39 +808,39 @@ const Xn = I(nt)`
802
808
  taskId: m,
803
809
  folderId: h
804
810
  }) => {
805
- const b = le(null), [N, V] = oe(!1), [U, j] = oe(null), { menuOpen: c, toggleMenuOpen: g, setMenuOpen: C } = fn(), { triggerThumbnailUpload: E, canUploadVersion: T } = Vt(bn), { onOpenVersionUpload: D } = ms(), v = Ut(), y = w(() => {
811
+ const b = le(null), [N, V] = ie(!1), [U, O] = ie(null), { menuOpen: c, toggleMenuOpen: g, setMenuOpen: C } = fn(), { triggerThumbnailUpload: I, canUploadVersion: T } = Vt(bn), { onOpenVersionUpload: D } = hs(), v = Ut(), y = w(() => {
806
812
  const k = n || t?.[0] || "noentity";
807
813
  return `details-more-menu-${v}-${k}-${s || "noproject"}`;
808
- }, [v, n, t, s]), A = c === y, R = !!n && !!s && !!E, $ = !!T && !!D, se = () => {
814
+ }, [v, n, t, s]), A = c === y, R = !!n && !!s && !!I, $ = !!T && !!D, ae = () => {
809
815
  D?.({ productId: f, taskId: m, folderId: h });
810
- }, ce = n && s ? vs(e, n, s, f) : null, de = !!u && !!ce, ue = vn(), F = w(() => (a.length ? a : n ? [{ entityId: n, entityType: e, projectName: s }] : []).map((H) => {
811
- const _ = H.entityType || e, ie = H.projectName || s;
812
- return !yn(_) || !H.entityId || !ie ? null : {
813
- id: H.entityId,
816
+ }, ce = n && s ? ys(e, n, s, f) : null, de = !!u && !!ce, ue = vn(), F = w(() => (a.length ? a : n ? [{ entityId: n, entityType: e, projectName: s }] : []).map((B) => {
817
+ const _ = B.entityType || e, re = B.projectName || s;
818
+ return !yn(_) || !B.entityId || !re ? null : {
819
+ id: B.entityId,
814
820
  entityType: _,
815
- name: H.name,
816
- label: H.label,
817
- projectName: ie,
818
- folderId: H.folderId,
819
- parentId: H.parentId
821
+ name: B.name,
822
+ label: B.label,
823
+ projectName: re,
824
+ folderId: B.folderId,
825
+ parentId: B.parentId
820
826
  };
821
- }).filter((H) => H !== null), [a, n, e, s]), pe = !!ue && F.length > 0, K = () => {
827
+ }).filter((B) => B !== null), [a, n, e, s]), pe = !!ue && F.length > 0, K = () => {
822
828
  C(!1), ue?.deleteEntities(F);
823
- }, { contributions: me } = dt("detailsPanel.menuItem"), J = w(
829
+ }, { contributions: me } = dt("detailsPanel.menuItem"), X = w(
824
830
  () => me.filter(
825
831
  (k) => !k.entityTypes?.length || k.entityTypes.includes(e)
826
832
  ),
827
833
  [me, e]
828
834
  ), he = w(() => {
829
- const H = (a.length ? a : n ? [{ entityId: n, entityType: e, projectName: s }] : []).map((_) => ({
835
+ const B = (a.length ? a : n ? [{ entityId: n, entityType: e, projectName: s }] : []).map((_) => ({
830
836
  id: _.entityId,
831
837
  entityType: _.entityType || e,
832
838
  projectName: _.projectName || s || "",
833
839
  name: _.name,
834
840
  label: _.label || void 0
835
841
  }));
836
- return { projectName: s || "", entityType: e, entities: H };
837
- }, [a, n, e, s]), O = $t(
842
+ return { projectName: s || "", entityType: e, entities: B };
843
+ }, [a, n, e, s]), j = $t(
838
844
  (k) => ({
839
845
  id: k.key,
840
846
  label: k.label,
@@ -843,26 +849,26 @@ const Xn = I(nt)`
843
849
  onClick: () => Je(k, he)
844
850
  }),
845
851
  [he]
846
- ), B = w(
852
+ ), z = w(
847
853
  () => [
848
- ...Ne(J, "top"),
849
- ...Ne(J, "bottom")
854
+ ...Ne(X, "top"),
855
+ ...Ne(X, "bottom")
850
856
  ].filter((k) => k.pinned),
851
- [J]
852
- ), X = w(
853
- () => J.filter((k) => !k.pinned),
854
- [J]
857
+ [X]
858
+ ), Y = w(
859
+ () => X.filter((k) => !k.pinned),
860
+ [X]
855
861
  ), xe = w(
856
- () => Ne(X, "top").map(O),
857
- [X, O]
858
- ), be = w(
859
- () => Ne(X, "bottom").map(O),
860
- [X, O]
862
+ () => Ne(Y, "top").map(j),
863
+ [Y, j]
864
+ ), ge = w(
865
+ () => Ne(Y, "bottom").map(j),
866
+ [Y, j]
861
867
  );
862
868
  Q(() => {
863
- A && X.forEach((k) => Le(k.run));
864
- }, [A, X]);
865
- const { items: ve } = gs({
869
+ A && Y.forEach((k) => Le(k.run));
870
+ }, [A, Y]);
871
+ const { items: ve } = fs({
866
872
  entityType: e,
867
873
  entityId: n,
868
874
  projectName: s,
@@ -875,18 +881,18 @@ const Xn = I(nt)`
875
881
  canDelete: pe,
876
882
  entityListsContext: r,
877
883
  extraTopItems: xe,
878
- extraItems: be,
884
+ extraItems: ge,
879
885
  onPip: () => l?.(),
880
886
  onOpenViewer: () => ce && u?.(ce),
881
- onUploadThumbnail: () => E?.(),
882
- onUploadVersion: se,
883
- onShare: (k) => j(k),
887
+ onUploadThumbnail: () => I?.(),
888
+ onUploadVersion: ae,
889
+ onShare: (k) => O(k),
884
890
  onViewData: () => V(!0),
885
891
  onDelete: K
886
- }), S = t?.length ? t : n ? [n] : [], ge = o || n || "";
887
- return /* @__PURE__ */ x(Ie, { children: [
888
- B.map((k) => /* @__PURE__ */ i(
889
- te,
892
+ }), S = t?.length ? t : n ? [n] : [], fe = o || n || "";
893
+ return /* @__PURE__ */ x(Ee, { children: [
894
+ z.map((k) => /* @__PURE__ */ i(
895
+ ne,
890
896
  {
891
897
  icon: k.icon,
892
898
  variant: "text",
@@ -899,20 +905,20 @@ const Xn = I(nt)`
899
905
  k.key
900
906
  )),
901
907
  /* @__PURE__ */ i(
902
- te,
908
+ ne,
903
909
  {
904
910
  ref: b,
905
911
  icon: "more_horiz",
906
912
  variant: "text",
907
913
  "data-tooltip": "More actions",
908
914
  "aria-label": "More actions",
909
- className: fe({ active: A }),
915
+ className: be({ active: A }),
910
916
  onClick: () => g(y)
911
917
  }
912
918
  ),
913
- /* @__PURE__ */ i(Ln, { id: y, target: b.current, align: "right", children: /* @__PURE__ */ i(Vn, { menu: ve, onClose: () => C(!1) }) }),
919
+ /* @__PURE__ */ i(Vn, { id: y, target: b.current, align: "right", children: /* @__PURE__ */ i(Un, { menu: ve, onClose: () => C(!1) }) }),
914
920
  N && s && S.length > 0 && /* @__PURE__ */ i(
915
- Un,
921
+ $n,
916
922
  {
917
923
  projectName: s,
918
924
  entityType: e,
@@ -922,16 +928,16 @@ const Xn = I(nt)`
922
928
  }
923
929
  ),
924
930
  U && /* @__PURE__ */ i(
925
- bs,
931
+ vs,
926
932
  {
927
933
  link: U,
928
- entityLabel: ge,
934
+ entityLabel: fe,
929
935
  visible: !0,
930
- onHide: () => j(null)
936
+ onHide: () => O(null)
931
937
  }
932
938
  )
933
939
  ] });
934
- }, ks = (e, n) => {
940
+ }, ws = (e, n) => {
935
941
  const t = [e];
936
942
  let o = e;
937
943
  for (; o.parentId && o.parentId !== "root"; ) {
@@ -941,17 +947,17 @@ const Xn = I(nt)`
941
947
  t.unshift(s), o = s;
942
948
  }
943
949
  return t;
944
- }, ws = (e, n) => {
950
+ }, xs = (e, n) => {
945
951
  const t = [];
946
952
  let o = n.get(e.folder?.id || "");
947
- if ((o ? ks(o, n) : []).forEach((a) => {
953
+ if ((o ? ws(o, n) : []).forEach((a) => {
948
954
  t.push({ type: "folder", label: a.label || a.name, id: a.id });
949
955
  }), e.entityType === "version") {
950
956
  const a = `${e.product?.name} - ${e.name}`;
951
957
  t.push({ type: "version", label: a, id: e.id });
952
958
  }
953
959
  return e.entityType === "task" && t.push({ type: "task", label: e.label || e.name, id: e.id }), t;
954
- }, xs = ({
960
+ }, Ss = ({
955
961
  entity: e,
956
962
  entityType: n,
957
963
  projectName: t,
@@ -981,7 +987,7 @@ const Xn = I(nt)`
981
987
  [s]
982
988
  );
983
989
  return [w(
984
- () => r ? [] : ws(e, f),
990
+ () => r ? [] : xs(e, f),
985
991
  [r, s, e]
986
992
  ), u];
987
993
  }, ft = (e, n) => {
@@ -1000,7 +1006,7 @@ const Xn = I(nt)`
1000
1006
  exportAnnotationComposite: u,
1001
1007
  ...f
1002
1008
  }) => {
1003
- const m = { annotations: r, removeAnnotation: l, exportAnnotationComposite: u }, { user: h } = ne(), b = h.name || "", N = h.attrib?.fullName || "";
1009
+ const m = { annotations: r, removeAnnotation: l, exportAnnotationComposite: u }, { user: h } = se(), b = h.name || "", N = h.attrib?.fullName || "";
1004
1010
  return /* @__PURE__ */ x(
1005
1011
  ut,
1006
1012
  {
@@ -1014,12 +1020,12 @@ const Xn = I(nt)`
1014
1020
  ...m,
1015
1021
  ...f,
1016
1022
  children: [
1017
- /* @__PURE__ */ i(Hn, { ...f, statuses: f.statuses }),
1018
- /* @__PURE__ */ i(Bn, {})
1023
+ /* @__PURE__ */ i(Bn, { ...f, statuses: f.statuses }),
1024
+ /* @__PURE__ */ i(Wn, {})
1019
1025
  ]
1020
1026
  }
1021
1027
  );
1022
- }, Ss = ({
1028
+ }, Cs = ({
1023
1029
  children: e,
1024
1030
  scope: n = "dashboard",
1025
1031
  entities: t,
@@ -1031,7 +1037,7 @@ const Xn = I(nt)`
1031
1037
  exportAnnotationComposite: u,
1032
1038
  ...f
1033
1039
  }) => {
1034
- const m = { annotations: r, removeAnnotation: l, exportAnnotationComposite: u }, { user: h } = ne(), b = h?.name ?? "", N = h?.attrib?.fullName ?? "", [V, U] = oe(null);
1040
+ const m = { annotations: r, removeAnnotation: l, exportAnnotationComposite: u }, { user: h } = se(), b = h?.name ?? "", N = h?.attrib?.fullName ?? "", [V, U] = ie(null);
1035
1041
  return /* @__PURE__ */ i(
1036
1042
  ut,
1037
1043
  {
@@ -1093,23 +1099,23 @@ const Xn = I(nt)`
1093
1099
  }), Object.keys(s).forEach((a) => {
1094
1100
  (a === "productTypes" || s[a].length > 0) && (t[a] = o(s[a]));
1095
1101
  }), t;
1096
- }, Cs = I.div`
1102
+ }, Ts = E.div`
1097
1103
  display: flex;
1098
1104
  align-items: center;
1099
1105
  padding: 4px 8px;
1100
1106
  gap: var(--base-gap-small);
1101
- `, Ts = I.span`
1107
+ `, Ns = E.span`
1102
1108
  font-weight: 600;
1103
1109
  user-select: none;
1104
- `, Ns = I.div`
1110
+ `, Is = E.div`
1105
1111
  display: flex;
1106
1112
  gap: var(--base-gap-small);
1107
- `, je = I(te)`
1113
+ `, Oe = E(ne)`
1108
1114
  background-color: unset;
1109
1115
  &.hasIcon {
1110
1116
  padding: 4px;
1111
1117
  }
1112
- `, Es = I.div`
1118
+ `, Es = E.div`
1113
1119
  display: flex;
1114
1120
  align-items: center;
1115
1121
  gap: var(--base-gap-small);
@@ -1126,10 +1132,10 @@ const Xn = I(nt)`
1126
1132
  box-shadow: 0 0 0 1px var(--md-sys-color-primary-container);
1127
1133
  background-color: var(--md-sys-color-surface-container-lowest);
1128
1134
  }
1129
- `, Is = I(Pn)`
1135
+ `, Ps = E(Pn)`
1130
1136
  width: 28px;
1131
1137
  height: 28px;
1132
- `, Ps = I.input`
1138
+ `, Ds = E.input`
1133
1139
  flex: 1;
1134
1140
  min-width: 0;
1135
1141
  border: none;
@@ -1142,7 +1148,7 @@ const Xn = I(nt)`
1142
1148
  &::placeholder {
1143
1149
  color: var(--md-sys-color-outline);
1144
1150
  }
1145
- `, Ds = I(te)`
1151
+ `, As = E(ne)`
1146
1152
  background-color: unset;
1147
1153
  min-width: unset;
1148
1154
  &.hasIcon {
@@ -1179,14 +1185,14 @@ const Xn = I(nt)`
1179
1185
  operator: t,
1180
1186
  value: a[0] || ""
1181
1187
  };
1182
- }, As = ({
1188
+ }, Fs = ({
1183
1189
  label: e,
1184
1190
  filters: n,
1185
1191
  currentFilter: t,
1186
1192
  onFilterChange: o,
1187
1193
  isLoading: s
1188
1194
  }) => {
1189
- const [a, r] = oe(null), [l, u] = oe(""), f = le(null), m = (c) => typeof c == "object" && c !== null && !Array.isArray(c);
1195
+ const [a, r] = ie(null), [l, u] = ie(""), f = le(null), m = (c) => typeof c == "object" && c !== null && !Array.isArray(c);
1190
1196
  Q(() => {
1191
1197
  a && f.current && f.current.focus();
1192
1198
  }, [a]), Q(() => {
@@ -1201,7 +1207,7 @@ const Xn = I(nt)`
1201
1207
  o(c.id);
1202
1208
  return;
1203
1209
  }
1204
- const C = t.conditions ? [...t.conditions] : [], E = {
1210
+ const C = t.conditions ? [...t.conditions] : [], I = {
1205
1211
  ...t,
1206
1212
  conditions: C,
1207
1213
  operator: t.operator || "and"
@@ -1229,38 +1235,38 @@ const Xn = I(nt)`
1229
1235
  D > -1 ? C[D] = A : C.push(A);
1230
1236
  }
1231
1237
  }
1232
- o(E);
1238
+ o(I);
1233
1239
  }, b = (c) => {
1234
1240
  const g = String(c.id);
1235
1241
  if (a !== g && (r(g), m(t))) {
1236
- const C = t.conditions?.find((E) => we(E, g));
1242
+ const C = t.conditions?.find((I) => we(I, g));
1237
1243
  u(C ? Ve(C) : "");
1238
1244
  }
1239
1245
  }, N = (c, g) => {
1240
1246
  u(g), h(c, g);
1241
1247
  }, V = (c) => {
1242
1248
  u(""), r(null), h(c, "");
1243
- }, U = (c) => m(t) ? t.conditions?.some((g) => we(g, String(c.id))) : c.id === t, j = (c) => m(t) ? t.conditions?.find(
1249
+ }, U = (c) => m(t) ? t.conditions?.some((g) => we(g, String(c.id))) : c.id === t, O = (c) => m(t) ? t.conditions?.find(
1244
1250
  (C) => Ue(C) && C.key === String(c.id)
1245
1251
  )?.value || [] : [];
1246
- return /* @__PURE__ */ x(Cs, { className: fe("panel-tabs", { loading: s }), children: [
1247
- /* @__PURE__ */ i(Ts, { className: "panel-header-label", children: e }),
1252
+ return /* @__PURE__ */ x(Ts, { className: be("panel-tabs", { loading: s }), children: [
1253
+ /* @__PURE__ */ i(Ns, { className: "panel-header-label", children: e }),
1248
1254
  /* @__PURE__ */ i(st, {}),
1249
- /* @__PURE__ */ i(Ns, { className: "panel-header-filters", children: n.map((c) => {
1255
+ /* @__PURE__ */ i(Is, { className: "panel-header-filters", children: n.map((c) => {
1250
1256
  const g = U(c), C = c.type || "boolean";
1251
1257
  if (C === "enum")
1252
1258
  return /* @__PURE__ */ i(
1253
- Is,
1259
+ Ps,
1254
1260
  {
1255
1261
  options: c.options || [],
1256
- value: j(c),
1257
- onChange: (E) => h(c, E),
1262
+ value: O(c),
1263
+ onChange: (I) => h(c, I),
1258
1264
  isEditing: !0,
1259
1265
  autoOpen: !1,
1260
1266
  align: "right",
1261
1267
  type: "list_of_strings",
1262
1268
  valueTemplate: () => /* @__PURE__ */ i(
1263
- je,
1269
+ Oe,
1264
1270
  {
1265
1271
  selected: g,
1266
1272
  icon: c.icon,
@@ -1274,25 +1280,25 @@ const Xn = I(nt)`
1274
1280
  String(c.id)
1275
1281
  );
1276
1282
  if (C === "search") {
1277
- const E = a === String(c.id);
1283
+ const I = a === String(c.id);
1278
1284
  return /* @__PURE__ */ x(
1279
1285
  Es,
1280
1286
  {
1281
- className: fe("panel-filter", "panel-filter-search", { expanded: E }),
1287
+ className: be("panel-filter", "panel-filter-search", { expanded: I }),
1282
1288
  children: [
1283
1289
  /* @__PURE__ */ i(
1284
- je,
1290
+ Oe,
1285
1291
  {
1286
- selected: g || E,
1292
+ selected: g || I,
1287
1293
  onClick: () => b(c),
1288
1294
  icon: c.icon,
1289
- "data-tooltip": E ? void 0 : c.tooltip,
1295
+ "data-tooltip": I ? void 0 : c.tooltip,
1290
1296
  "data-tooltip-delay": 0
1291
1297
  }
1292
1298
  ),
1293
- E && /* @__PURE__ */ x(Ie, { children: [
1299
+ I && /* @__PURE__ */ x(Ee, { children: [
1294
1300
  /* @__PURE__ */ i(
1295
- Ps,
1301
+ Ds,
1296
1302
  {
1297
1303
  ref: f,
1298
1304
  value: l,
@@ -1304,7 +1310,7 @@ const Xn = I(nt)`
1304
1310
  }
1305
1311
  ),
1306
1312
  /* @__PURE__ */ i(
1307
- Ds,
1313
+ As,
1308
1314
  {
1309
1315
  icon: "close",
1310
1316
  onClick: () => V(c),
@@ -1319,7 +1325,7 @@ const Xn = I(nt)`
1319
1325
  );
1320
1326
  }
1321
1327
  return /* @__PURE__ */ i(
1322
- je,
1328
+ Oe,
1323
1329
  {
1324
1330
  selected: g,
1325
1331
  onClick: () => h(c),
@@ -1332,7 +1338,7 @@ const Xn = I(nt)`
1332
1338
  );
1333
1339
  }) })
1334
1340
  ] });
1335
- }, kt = ["done", "isDone"], wt = (e) => !!e && "key" in e, Fs = (e, n) => {
1341
+ }, kt = ["done", "isDone"], wt = (e) => !!e && "key" in e, js = (e, n) => {
1336
1342
  const t = [], o = [], s = (a) => {
1337
1343
  if (!a) return;
1338
1344
  if (wt(a)) {
@@ -1387,7 +1393,7 @@ const Xn = I(nt)`
1387
1393
  });
1388
1394
  return;
1389
1395
  }
1390
- const r = zn(a, n);
1396
+ const r = Gn(a, n);
1391
1397
  if (r) {
1392
1398
  t.push(r);
1393
1399
  return;
@@ -1398,7 +1404,7 @@ const Xn = I(nt)`
1398
1404
  }, Os = (e) => {
1399
1405
  const n = [], t = [];
1400
1406
  return e.forEach((o) => {
1401
- const s = jt(o.id), a = (o.values || []).map((r) => r.id);
1407
+ const s = Ot(o.id), a = (o.values || []).map((r) => r.id);
1402
1408
  if (a.length)
1403
1409
  if (s === at)
1404
1410
  a.forEach(
@@ -1408,12 +1414,12 @@ const Xn = I(nt)`
1408
1414
  const r = a[0] === "true";
1409
1415
  n.push({ key: s, operator: "eq", value: r });
1410
1416
  } else if (o.type === "datetime") {
1411
- const r = Gn(s, o);
1417
+ const r = Qn(s, o);
1412
1418
  r && n.push(r);
1413
1419
  } else
1414
1420
  n.push({ key: s, operator: "in", value: a.map(String) });
1415
1421
  }), t.length === 1 ? n.push(t[0]) : t.length > 1 && n.push({ operator: "or", conditions: t }), { operator: "and", conditions: n };
1416
- }, xt = (e) => wt(e) ? e.key !== "search" || typeof e.value != "string" ? e : Ht(e.value, (n) => ({ ...e, value: n })) ?? e : { ...e, conditions: e.conditions?.map(xt) }, js = I.div`
1422
+ }, xt = (e) => wt(e) ? e.key !== "search" || typeof e.value != "string" ? e : Ht(e.value, (n) => ({ ...e, value: n })) ?? e : { ...e, conditions: e.conditions?.map(xt) }, Rs = E.div`
1417
1423
  padding: 4px 8px;
1418
1424
  padding-bottom: 0;
1419
1425
 
@@ -1421,7 +1427,7 @@ const Xn = I(nt)`
1421
1427
  opacity: 0.5;
1422
1428
  pointer-events: none;
1423
1429
  }
1424
- `, Rs = ({
1430
+ `, Ls = ({
1425
1431
  subtasksFilter: e,
1426
1432
  setSubtasksFilter: n,
1427
1433
  users: t,
@@ -1474,7 +1480,7 @@ const Xn = I(nt)`
1474
1480
  // },
1475
1481
  ],
1476
1482
  [t]
1477
- ), u = w(() => Fs(e, l), [e, l]), [f, m] = oe(u), h = le(null), b = Qn();
1483
+ ), u = w(() => js(e, l), [e, l]), [f, m] = ie(u), h = le(null), b = qn();
1478
1484
  Q(() => {
1479
1485
  m(u);
1480
1486
  }, [JSON.stringify(u)]);
@@ -1486,13 +1492,13 @@ const Xn = I(nt)`
1486
1492
  }, U = (g, C) => {
1487
1493
  C || r?.(g);
1488
1494
  };
1489
- let j = "";
1490
- s > 0 && (j = `${a}/${s}`);
1495
+ let O = "";
1496
+ s > 0 && (O = `${a}/${s}`);
1491
1497
  const c = w(
1492
- () => [{ id: "isDone", label: j, tooltip: "Status" }],
1493
- [j]
1498
+ () => [{ id: "isDone", label: O, tooltip: "Status" }],
1499
+ [O]
1494
1500
  );
1495
- return /* @__PURE__ */ x(js, { className: o ? "loading" : void 0, children: [
1501
+ return /* @__PURE__ */ x(Rs, { className: o ? "loading" : void 0, children: [
1496
1502
  /* @__PURE__ */ i(
1497
1503
  Rt,
1498
1504
  {
@@ -1523,7 +1529,7 @@ const Xn = I(nt)`
1523
1529
  }
1524
1530
  ),
1525
1531
  /* @__PURE__ */ i(
1526
- Wn,
1532
+ zn,
1527
1533
  {
1528
1534
  isOpen: !!b.customRangeFilterId,
1529
1535
  header: l.find((g) => g.id === b.customRangeFilterId?.split("__")[0])?.label ?? "Custom range",
@@ -1536,8 +1542,8 @@ const Xn = I(nt)`
1536
1542
  }
1537
1543
  )
1538
1544
  ] });
1539
- }, Ls = ({ ...e }) => {
1540
- const [n, t] = oe({}), [o, s] = oe(""), [a, r] = oe([]), { dispatch: l } = ne(), { data: u = [] } = ot({ projectName: e.projectName }), f = e.subtasks?.length || 0, m = e.subtasks?.filter((b) => b.isDone).length || 0, h = w(() => {
1545
+ }, Vs = ({ ...e }) => {
1546
+ const [n, t] = ie({}), [o, s] = ie(""), [a, r] = ie([]), { dispatch: l } = se(), { data: u = [] } = ot({ projectName: e.projectName }), f = e.subtasks?.length || 0, m = e.subtasks?.filter((b) => b.isDone).length || 0, h = w(() => {
1541
1547
  let b = n;
1542
1548
  if (o) {
1543
1549
  const N = { key: "search", operator: "like", value: o };
@@ -1547,11 +1553,11 @@ const Xn = I(nt)`
1547
1553
  operator: "and"
1548
1554
  };
1549
1555
  }
1550
- return qn(xt(b));
1556
+ return Kn(xt(b));
1551
1557
  }, [n, o]);
1552
- return /* @__PURE__ */ x(Ie, { children: [
1558
+ return /* @__PURE__ */ x(Ee, { children: [
1553
1559
  /* @__PURE__ */ i(
1554
- As,
1560
+ Fs,
1555
1561
  {
1556
1562
  label: `Subtasks (${f})`,
1557
1563
  filters: [],
@@ -1560,7 +1566,7 @@ const Xn = I(nt)`
1560
1566
  }
1561
1567
  ),
1562
1568
  /* @__PURE__ */ i(
1563
- Rs,
1569
+ Ls,
1564
1570
  {
1565
1571
  subtasksFilter: n,
1566
1572
  setSubtasksFilter: t,
@@ -1584,7 +1590,7 @@ const Xn = I(nt)`
1584
1590
  }
1585
1591
  )
1586
1592
  ] });
1587
- }, tt = ["product", "representation"], Vs = ({
1593
+ }, tt = ["product", "representation"], Us = ({
1588
1594
  entityType: e,
1589
1595
  entitySubTypes: n = [],
1590
1596
  // entities is data we already have from kanban
@@ -1603,11 +1609,11 @@ const Xn = I(nt)`
1603
1609
  scope: N,
1604
1610
  isCompact: V = !1,
1605
1611
  onClose: U,
1606
- onWatchersUpdate: j,
1612
+ onWatchersUpdate: O,
1607
1613
  onOpenViewer: c,
1608
1614
  onEntityFocus: g,
1609
1615
  onOpen: C,
1610
- onUriOpen: E,
1616
+ onUriOpen: I,
1611
1617
  // when the details panel is opened from uri
1612
1618
  // annotations
1613
1619
  annotations: T,
@@ -1619,7 +1625,7 @@ const Xn = I(nt)`
1619
1625
  resolveVersionJump: $
1620
1626
  }) => {
1621
1627
  const {
1622
- closeSlideOut: se,
1628
+ closeSlideOut: ae,
1623
1629
  openPip: ce,
1624
1630
  user: de,
1625
1631
  isGuest: ue,
@@ -1627,19 +1633,19 @@ const Xn = I(nt)`
1627
1633
  setEntities: pe,
1628
1634
  slideOut: K,
1629
1635
  useSearchParams: me,
1630
- SubtasksManager: J,
1636
+ SubtasksManager: X,
1631
1637
  useNavigate: he
1632
- } = ne(), { currentTab: O, setTab: B, isFeed: X } = kn(N), [xe, be] = me(), ve = le(!1), S = F?.entityType ?? e, ge = F?.entities ?? o, k = F?.entitySubTypes ?? n, H = F?.entities ? [] : t, _ = F?.entities ? F.entities.map((p) => p.projectName) : m;
1638
+ } = se(), { currentTab: j, setTab: z, isFeed: Y } = kn(N), [xe, ge] = me(), ve = le(!1), S = F?.entityType ?? e, fe = F?.entities ?? o, k = F?.entitySubTypes ?? n, B = F?.entities ? [] : t, _ = F?.entities ? F.entities.map((p) => p.projectName) : m;
1633
1639
  hn(
1634
- S ? ge.map((p) => ({ ...p, entityType: S })) : [],
1640
+ S ? fe.map((p) => ({ ...p, entityType: S })) : [],
1635
1641
  h ? qe.slideOut : qe.detailsPanel
1636
1642
  ), Q(() => {
1637
1643
  C && !ve.current && (ve.current = !0, C());
1638
1644
  }, []);
1639
- const { tabs: ie, isLoading: ae } = pt(S), Y = ie.find((p) => p.key === O), Se = Ke(O) && ae;
1645
+ const { tabs: re, isLoading: oe } = pt(S), Z = re.find((p) => p.key === j), Se = Ke(j) && oe;
1640
1646
  Q(() => {
1641
- tt.includes(S) && O !== "details" && !Y && !Se && B("details");
1642
- }, [S, O, B, Y, Se]), Q(() => {
1647
+ tt.includes(S) && j !== "details" && !Z && !Se && z("details");
1648
+ }, [S, j, z, Z, Se]), Q(() => {
1643
1649
  o.length && F && pe(null);
1644
1650
  }, [o, F, pe]);
1645
1651
  const ye = w(
@@ -1647,44 +1653,44 @@ const Xn = I(nt)`
1647
1653
  [f, _]
1648
1654
  ), Ce = w(() => ht(ye), [ye]);
1649
1655
  Q(() => {
1650
- O === "files" && S !== "version" && B("feed"), O === "subtasks" && S !== "task" && B("feed"), Ke(O) && !ae && !Y && B(tt.includes(S) ? "details" : "feed");
1651
- }, [S, O, N, ae, Y]);
1652
- let Z = ge.length ? ge.map((p) => ({ id: p.id, projectName: p.projectName })) : (
1656
+ j === "files" && S !== "version" && z("feed"), j === "subtasks" && S !== "task" && z("feed"), Ke(j) && !oe && !Z && z(tt.includes(S) ? "details" : "feed");
1657
+ }, [S, j, N, oe, Z]);
1658
+ let ee = fe.length ? fe.map((p) => ({ id: p.id, projectName: p.projectName })) : (
1653
1659
  // @ts-expect-error = not sure what's going on with activeEntitiesData, we should try and remove it
1654
- H.map((p) => ({ id: p.id, projectName: p.projectName }))
1660
+ B.map((p) => ({ id: p.id, projectName: p.projectName }))
1655
1661
  );
1656
- Z = Z.filter((p) => p.id);
1662
+ ee = ee.filter((p) => p.id);
1657
1663
  const {
1658
1664
  data: M = [],
1659
- isFetching: ee,
1665
+ isFetching: te,
1660
1666
  isError: d,
1661
1667
  originalArgs: P
1662
1668
  } = it(
1663
- { entityType: S, entities: Z },
1669
+ { entityType: S, entities: ee },
1664
1670
  {
1665
- skip: !Z.length || !Gt.includes(S)
1671
+ skip: !ee.length || !Gt.includes(S)
1666
1672
  }
1667
1673
  );
1668
1674
  Q(() => {
1669
- h || se();
1675
+ h || ae();
1670
1676
  }, [P, h]);
1671
1677
  const W = le(null);
1672
1678
  Q(() => {
1673
1679
  F || (W.current = null);
1674
1680
  }, [F]), Q(() => {
1675
- if (!ee && (F?.source === "uri" || F?.source === "url") && F?.entities?.length && E) {
1681
+ if (!te && (F?.source === "uri" || F?.source === "url") && F?.entities?.length && I) {
1676
1682
  const p = F.entities[0].id;
1677
1683
  if (W.current === p) return;
1678
1684
  const L = M.find((q) => q.id === p);
1679
1685
  if (!L) return;
1680
- W.current = p, E(L, F.source);
1686
+ W.current = p, I(L, F.source);
1681
1687
  }
1682
- }, [M, ee, F, E]);
1683
- const re = ft(f), z = _[0], $e = f[z] || {}, G = M[0] || {}, Te = M[M.length - 1], Pe = _[_.length - 1], Me = N === "inbox" && S === "version" && M.length === 1 ? ps(M[0]) : void 0, [_e, St] = xs({
1688
+ }, [M, te, F, I]);
1689
+ const J = ft(f), H = _[0], $e = f[H] || {}, G = M[0] || {}, Te = M[M.length - 1], Pe = _[_.length - 1], Me = N === "inbox" && S === "version" && M.length === 1 ? ms(M[0]) : void 0, [_e, St] = Ss({
1684
1690
  entity: G,
1685
1691
  entityType: S,
1686
- projectName: z,
1687
- isLoading: ee
1692
+ projectName: H,
1693
+ isLoading: te
1688
1694
  }), { setEntityUri: Ct, setUri: He } = wn();
1689
1695
  Q(() => {
1690
1696
  if (!Te?.parents || !Pe) return;
@@ -1702,14 +1708,14 @@ const Xn = I(nt)`
1702
1708
  }), () => {
1703
1709
  He("");
1704
1710
  };
1705
- }, [M, _, S]), Jn({
1711
+ }, [M, _, S]), Xn({
1706
1712
  entityData: Te,
1707
1713
  project: Pe,
1708
1714
  activeEntityType: S,
1709
- entitiesToQuery: Z
1715
+ entitiesToQuery: ee
1710
1716
  });
1711
1717
  const Tt = () => {
1712
- be(
1718
+ ge(
1713
1719
  (p) => {
1714
1720
  const L = new URLSearchParams(p);
1715
1721
  return L.delete("project"), L.delete("type"), L.delete("id"), L;
@@ -1717,7 +1723,7 @@ const Xn = I(nt)`
1717
1723
  { replace: !0 }
1718
1724
  );
1719
1725
  }, De = () => {
1720
- U?.(), pe(null), He(""), Tt(), se();
1726
+ U?.(), pe(null), He(""), Tt(), ae();
1721
1727
  };
1722
1728
  Q(() => {
1723
1729
  const p = (L) => {
@@ -1729,8 +1735,8 @@ const Xn = I(nt)`
1729
1735
  };
1730
1736
  return window.addEventListener("keydown", p), () => window.removeEventListener("keydown", p);
1731
1737
  }, [De, h, K]);
1732
- const { requestPipWindow: Nt } = xn(), Be = le(null), We = le(null), Et = M.length === 1 && S !== "representation", It = w(() => {
1733
- const p = G?.label || G?.name || "", L = G?.parents || [], q = [z];
1738
+ const { requestPipWindow: Nt } = xn(), Be = le(null), We = le(null), It = M.length === 1 && S !== "representation", Et = w(() => {
1739
+ const p = G?.label || G?.name || "", L = G?.parents || [], q = [H];
1734
1740
  switch (S) {
1735
1741
  case "folder":
1736
1742
  case "task":
@@ -1747,26 +1753,26 @@ const Xn = I(nt)`
1747
1753
  q.push(p);
1748
1754
  }
1749
1755
  return q.filter(Boolean).join(" - ");
1750
- }, [G, S, z]), Pt = () => {
1756
+ }, [G, S, H]), Pt = () => {
1751
1757
  ce({
1752
1758
  entityType: S,
1753
- entities: Z,
1759
+ entities: ee,
1754
1760
  scope: N
1755
1761
  }), Nt(500, 500);
1756
1762
  }, Dt = w(
1757
1763
  () => ({
1758
- projectName: z,
1764
+ projectName: H,
1759
1765
  entityType: S,
1760
1766
  entities: M.filter((p) => !!p?.id).map((p) => ({
1761
1767
  id: p.id,
1762
1768
  entityType: p.entityType || S,
1763
- projectName: p.projectName || z,
1769
+ projectName: p.projectName || H,
1764
1770
  name: p.name,
1765
1771
  label: p.label || void 0
1766
1772
  })),
1767
1773
  scope: N
1768
1774
  }),
1769
- [z, S, M, N]
1775
+ [H, S, M, N]
1770
1776
  ), ze = () => !(_.length > 1 || ue && (!y || !Object.prototype.hasOwnProperty.call(
1771
1777
  A,
1772
1778
  de.attrib?.email || ""
@@ -1776,31 +1782,31 @@ const Xn = I(nt)`
1776
1782
  {
1777
1783
  thumbnailInputRef: Be,
1778
1784
  versionsInputRef: We,
1779
- canUploadVersion: Et,
1780
- children: /* @__PURE__ */ x(es, { className: "details-panel", children: [
1781
- /* @__PURE__ */ x(Xn, { children: [
1785
+ canUploadVersion: It,
1786
+ children: /* @__PURE__ */ x(ts, { className: "details-panel", children: [
1787
+ /* @__PURE__ */ x(Yn, { children: [
1782
1788
  /* @__PURE__ */ i(
1783
1789
  pn,
1784
1790
  {
1785
1791
  segments: _e,
1786
1792
  versions: St,
1787
- projectName: z,
1793
+ projectName: H,
1788
1794
  hideProjectName: h,
1789
- isLoading: ee || !_e.length,
1795
+ isLoading: te || !_e.length,
1790
1796
  entityType: S,
1791
1797
  scope: N,
1792
1798
  entityTypeIcons: Ce
1793
1799
  }
1794
1800
  ),
1795
- /* @__PURE__ */ x(Yn, { className: "right-tools", children: [
1801
+ /* @__PURE__ */ x(Zn, { className: "right-tools", children: [
1796
1802
  /* @__PURE__ */ i(
1797
- ys,
1803
+ ks,
1798
1804
  {
1799
1805
  entityType: S,
1800
1806
  entityId: G?.id,
1801
- entityIds: Z.map((p) => p.id).filter(Boolean),
1802
- entityLabel: It,
1803
- projectName: z,
1807
+ entityIds: ee.map((p) => p.id).filter(Boolean),
1808
+ entityLabel: Et,
1809
+ projectName: H,
1804
1810
  selectedEntities: M.filter((p) => !!p?.id).map((p) => {
1805
1811
  const L = p.entityType || S;
1806
1812
  return {
@@ -1809,7 +1815,7 @@ const Xn = I(nt)`
1809
1815
  hasReviewables: !!p.hasReviewables,
1810
1816
  name: p.name,
1811
1817
  label: p.label,
1812
- projectName: p.projectName || z,
1818
+ projectName: p.projectName || H,
1813
1819
  folderId: L === "task" ? p.folder?.id : void 0
1814
1820
  };
1815
1821
  }),
@@ -1824,15 +1830,15 @@ const Xn = I(nt)`
1824
1830
  /* @__PURE__ */ i(
1825
1831
  ln,
1826
1832
  {
1827
- entities: Z,
1833
+ entities: ee,
1828
1834
  entityType: S,
1829
1835
  options: r || [],
1830
- onWatchersUpdate: j && j,
1836
+ onWatchersUpdate: O && O,
1831
1837
  userName: de.name
1832
1838
  }
1833
1839
  ),
1834
1840
  U && /* @__PURE__ */ i(
1835
- te,
1841
+ ne,
1836
1842
  {
1837
1843
  icon: "close",
1838
1844
  variant: "text",
@@ -1843,14 +1849,14 @@ const Xn = I(nt)`
1843
1849
  ] })
1844
1850
  ] }),
1845
1851
  Me && /* @__PURE__ */ i(
1846
- us,
1852
+ ps,
1847
1853
  {
1848
1854
  latestVersion: Me,
1849
1855
  resolveVersionJump: $
1850
1856
  }
1851
1857
  ),
1852
1858
  /* @__PURE__ */ i(
1853
- ls,
1859
+ cs,
1854
1860
  {
1855
1861
  entityType: S,
1856
1862
  entitySubTypes: k,
@@ -1859,10 +1865,10 @@ const Xn = I(nt)`
1859
1865
  disabledAssignees: l,
1860
1866
  disabledStatuses: a,
1861
1867
  tagsOptions: s,
1862
- isFetching: ee,
1868
+ isFetching: te,
1863
1869
  isCompact: V,
1864
- currentTab: O,
1865
- onTabChange: B,
1870
+ currentTab: j,
1871
+ onTabChange: z,
1866
1872
  projectInfo: ye,
1867
1873
  onOpenViewer: (p) => c?.(p),
1868
1874
  onEntityFocus: g,
@@ -1870,18 +1876,18 @@ const Xn = I(nt)`
1870
1876
  versionsInputRef: We
1871
1877
  }
1872
1878
  ),
1873
- /* @__PURE__ */ x(ct, { projectName: z, children: [
1874
- X && !d && /* @__PURE__ */ i(
1879
+ /* @__PURE__ */ x(ct, { projectName: H, children: [
1880
+ Y && !d && /* @__PURE__ */ i(
1875
1881
  bt,
1876
1882
  {
1877
1883
  entityType: S,
1878
1884
  entities: M,
1879
1885
  activeUsers: u || [],
1880
1886
  projectInfo: $e,
1881
- projectName: z,
1887
+ projectName: H,
1882
1888
  disabled: !ze(),
1883
1889
  scope: N,
1884
- statuses: re,
1890
+ statuses: J,
1885
1891
  readOnly: !1,
1886
1892
  entityListId: y,
1887
1893
  annotations: T,
@@ -1890,46 +1896,46 @@ const Xn = I(nt)`
1890
1896
  isSlideOut: h
1891
1897
  }
1892
1898
  ),
1893
- O === "subtasks" && S === "task" && G?.id && J && /* @__PURE__ */ i(
1894
- Ls,
1899
+ j === "subtasks" && S === "task" && G?.id && X && /* @__PURE__ */ i(
1900
+ Vs,
1895
1901
  {
1896
- projectName: z,
1902
+ projectName: H,
1897
1903
  taskId: G.id,
1898
1904
  taskName: G.name,
1899
1905
  folderId: G.folder?.id,
1900
1906
  subtasks: G.task?.subtasks || [],
1901
- SubtasksManager: J,
1907
+ SubtasksManager: X,
1902
1908
  useNavigate: he,
1903
- onNotFound: () => B("feed")
1909
+ onNotFound: () => z("feed")
1904
1910
  }
1905
1911
  ),
1906
- Y && /* @__PURE__ */ i(Zn, { children: /* @__PURE__ */ i(
1912
+ Z && /* @__PURE__ */ i(es, { children: /* @__PURE__ */ i(
1907
1913
  Fn,
1908
1914
  {
1909
- contribution: Y,
1915
+ contribution: Z,
1910
1916
  context: Dt
1911
1917
  },
1912
- Y.key
1918
+ Z.key
1913
1919
  ) }),
1914
- O === "files" && /* @__PURE__ */ i(
1915
- ds,
1920
+ j === "files" && /* @__PURE__ */ i(
1921
+ us,
1916
1922
  {
1917
1923
  entities: M,
1918
1924
  scope: N,
1919
- isLoadingVersion: ee
1925
+ isLoadingVersion: te
1920
1926
  }
1921
1927
  ),
1922
- O === "details" && /* @__PURE__ */ i(
1923
- Ss,
1928
+ j === "details" && /* @__PURE__ */ i(
1929
+ Cs,
1924
1930
  {
1925
1931
  entityType: S,
1926
1932
  entities: M,
1927
1933
  activeUsers: u || [],
1928
1934
  projectInfo: $e,
1929
- projectName: z,
1935
+ projectName: H,
1930
1936
  disabled: !ze(),
1931
1937
  scope: N,
1932
- statuses: re,
1938
+ statuses: J,
1933
1939
  readOnly: !1,
1934
1940
  annotations: T,
1935
1941
  removeAnnotation: D,
@@ -1938,7 +1944,7 @@ const Xn = I(nt)`
1938
1944
  cn,
1939
1945
  {
1940
1946
  entities: M,
1941
- isLoading: ee
1947
+ isLoading: te
1942
1948
  }
1943
1949
  )
1944
1950
  }
@@ -1947,14 +1953,14 @@ const Xn = I(nt)`
1947
1953
  ] })
1948
1954
  }
1949
1955
  );
1950
- }, Us = ({
1956
+ }, $s = ({
1951
1957
  isOpen: e,
1952
1958
  entityType: n,
1953
1959
  ...t
1954
1960
  }) => {
1955
- const { entities: o } = ne();
1956
- return !e && !o || !n && !o ? null : /* @__PURE__ */ i(Vs, { ...t, entityType: n || o?.entityType });
1957
- }, $s = Mt`
1961
+ const { entities: o } = se();
1962
+ return !e && !o || !n && !o ? null : /* @__PURE__ */ i(Us, { ...t, entityType: n || o?.entityType });
1963
+ }, Ms = Mt`
1958
1964
  from {
1959
1965
  translate: 0 0;
1960
1966
  }
@@ -1962,7 +1968,7 @@ to {
1962
1968
  translate: calc(-100% - 8px) 0;
1963
1969
 
1964
1970
  }
1965
- `, Ms = I.div`
1971
+ `, _s = E.div`
1966
1972
  position: absolute;
1967
1973
  left: 0;
1968
1974
  top: 0;
@@ -1971,11 +1977,11 @@ to {
1971
1977
  width: 100%;
1972
1978
  max-width: 533px;
1973
1979
 
1974
- animation: ${$s} 0.2s ease forwards;
1975
- `, _a = ({ projectsInfo: e, scope: n }) => {
1976
- const { slideOut: t, onOpenViewer: o } = ne(), { entityType: s, entityId: a, projectName: r } = t || {}, l = !!s && !!a && !!r, { data: u } = ot({ projectName: r }, { skip: !r }), f = e[r || ""] || {}, { tags: m = [] } = f, { closeSlideOut: h } = ne(), b = () => h(), N = (V) => o?.(V);
1977
- return l ? /* @__PURE__ */ i(Ms, { children: /* @__PURE__ */ i(
1978
- Us,
1980
+ animation: ${Ms} 0.2s ease forwards;
1981
+ `, Ha = ({ projectsInfo: e, scope: n }) => {
1982
+ const { slideOut: t, onOpenViewer: o } = se(), { entityType: s, entityId: a, projectName: r } = t || {}, l = !!s && !!a && !!r, { data: u } = ot({ projectName: r }, { skip: !r }), f = e[r || ""] || {}, { tags: m = [] } = f, { closeSlideOut: h } = se(), b = () => h(), N = (V) => o?.(V);
1983
+ return l ? /* @__PURE__ */ i(_s, { children: /* @__PURE__ */ i(
1984
+ $s,
1979
1985
  {
1980
1986
  isOpen: !0,
1981
1987
  entityType: s,
@@ -1993,20 +1999,20 @@ to {
1993
1999
  }
1994
2000
  ) }) : null;
1995
2001
  };
1996
- I(Kn)`
2002
+ E(Jn)`
1997
2003
  .p-dialog-header-icons {
1998
2004
  display: none;
1999
2005
  }
2000
2006
  .p-dialog-content {
2001
2007
  }
2002
2008
  `;
2003
- const _s = I.div`
2009
+ const Hs = E.div`
2004
2010
  display: flex;
2005
2011
  flex-direction: column;
2006
2012
  margin: -8px;
2007
2013
  width: calc(100% + 16px);
2008
2014
  height: calc(100% + 16px);
2009
- `, Hs = I.header`
2015
+ `, Bs = E.header`
2010
2016
  display: flex;
2011
2017
  align-items: flex-start;
2012
2018
  gap: var(--base-gap-large);
@@ -2018,7 +2024,7 @@ const _s = I.div`
2018
2024
  display: none;
2019
2025
  }
2020
2026
  }
2021
- `, Bs = I.div`
2027
+ `, Ws = E.div`
2022
2028
  display: flex;
2023
2029
  flex-direction: column;
2024
2030
  height: 100%;
@@ -2055,12 +2061,12 @@ const _s = I.div`
2055
2061
  align-items: center;
2056
2062
  gap: var(--base-gap-medium);
2057
2063
  }
2058
- `, Ws = I.div`
2064
+ `, zs = E.div`
2059
2065
  display: flex;
2060
2066
  justify-content: space-between;
2061
2067
  padding: 8px;
2062
2068
  padding-top: 0;
2063
- `, zs = I.div`
2069
+ `, Gs = E.div`
2064
2070
  border-top: solid 1px var(--md-sys-color-outline-variant);
2065
2071
  height: 100%;
2066
2072
  overflow: hidden;
@@ -2079,7 +2085,7 @@ const _s = I.div`
2079
2085
  display: none;
2080
2086
  }
2081
2087
  }
2082
- `, Gs = I.div`
2088
+ `, Qs = E.div`
2083
2089
  display: flex;
2084
2090
  align-items: center;
2085
2091
  gap: var(--base-gap-small);
@@ -2090,8 +2096,8 @@ const _s = I.div`
2090
2096
  .icon {
2091
2097
  font-variation-settings: 'FILL' 1;
2092
2098
  }
2093
- `, Ha = () => {
2094
- const { pip: e } = ne(), n = e?.entityType, t = e?.entities || [], o = e?.scope || "", s = t.length > 0 && !!n, a = t.map((v) => v.projectName), { data: r = [] } = Qt({ projects: a }, { skip: !s }), { data: l = {}, isFetching: u } = qt(
2099
+ `, Ba = () => {
2100
+ const { pip: e } = se(), n = e?.entityType, t = e?.entities || [], o = e?.scope || "", s = t.length > 0 && !!n, a = t.map((v) => v.projectName), { data: r = [] } = Qt({ projects: a }, { skip: !s }), { data: l = {}, isFetching: u } = qt(
2095
2101
  {
2096
2102
  projects: a
2097
2103
  },
@@ -2118,24 +2124,24 @@ const _s = I.div`
2118
2124
  ), V = w(
2119
2125
  () => n ? mt(m, n, N) : [],
2120
2126
  [m, n]
2121
- ), U = w(() => r.filter((v) => m.some((y) => y?.task?.assignees?.includes(v.name))).map((v) => ({ ...v, avatarUrl: `/api/users/${v.name}/avatar` })), [r, t]), j = m[0];
2122
- if (!m.length || !j) return null;
2127
+ ), U = w(() => r.filter((v) => m.some((y) => y?.task?.assignees?.includes(v.name))).map((v) => ({ ...v, avatarUrl: `/api/users/${v.name}/avatar` })), [r, t]), O = m[0];
2128
+ if (!m.length || !O) return null;
2123
2129
  if (h) return /* @__PURE__ */ i("div", { children: "Loading..." });
2124
- const c = j?.projectName, E = m.some((v) => v?.status !== j?.status) ? {
2130
+ const c = O?.projectName, I = m.some((v) => v?.status !== O?.status) ? {
2125
2131
  icon: "question_mark",
2126
2132
  color: "var(--md-sys-color-surface-container-highest)",
2127
2133
  name: "Mixed statuses"
2128
- } : f.find((v) => v.name === j?.status) || {
2134
+ } : f.find((v) => v.name === O?.status) || {
2129
2135
  icon: "",
2130
2136
  color: "",
2131
2137
  name: "None"
2132
2138
  };
2133
2139
  if (!n) return null;
2134
2140
  const { title: T, subTitle: D } = gt(m, n);
2135
- return /* @__PURE__ */ i(Sn, { children: /* @__PURE__ */ i(ct, { projectName: c, children: /* @__PURE__ */ x(_s, { children: [
2136
- /* @__PURE__ */ x(Hs, { children: [
2141
+ return /* @__PURE__ */ i(Sn, { children: /* @__PURE__ */ i(ct, { projectName: c, children: /* @__PURE__ */ x(Hs, { children: [
2142
+ /* @__PURE__ */ x(Bs, { children: [
2137
2143
  /* @__PURE__ */ i(rt, { thumbnails: V }),
2138
- /* @__PURE__ */ x(Bs, { children: [
2144
+ /* @__PURE__ */ x(Ws, { children: [
2139
2145
  /* @__PURE__ */ i("h2", { children: T }),
2140
2146
  /* @__PURE__ */ x("div", { className: "sub-title", children: [
2141
2147
  /* @__PURE__ */ x("span", { children: [
@@ -2146,28 +2152,28 @@ const _s = I.div`
2146
2152
  ] })
2147
2153
  ] })
2148
2154
  ] }),
2149
- /* @__PURE__ */ x(Ws, { children: [
2155
+ /* @__PURE__ */ x(zs, { children: [
2150
2156
  /* @__PURE__ */ x(
2151
- Gs,
2157
+ Qs,
2152
2158
  {
2153
2159
  style: {
2154
- backgroundColor: E?.color,
2155
- color: Re(E?.color)
2160
+ backgroundColor: I?.color,
2161
+ color: Re(I?.color)
2156
2162
  },
2157
2163
  children: [
2158
- /* @__PURE__ */ i(Ee, { icon: E.icon || "question_mark", style: { color: "inherit" } }),
2159
- /* @__PURE__ */ i("span", { className: "label", children: E?.name })
2164
+ /* @__PURE__ */ i(Ie, { icon: I.icon || "question_mark", style: { color: "inherit" } }),
2165
+ /* @__PURE__ */ i("span", { className: "label", children: I?.name })
2160
2166
  ]
2161
2167
  }
2162
2168
  ),
2163
2169
  /* @__PURE__ */ i(Lt, { users: U, style: { pointerEvents: "none" } })
2164
2170
  ] }),
2165
- /* @__PURE__ */ i(zs, { children: /* @__PURE__ */ i(
2171
+ /* @__PURE__ */ i(Gs, { children: /* @__PURE__ */ i(
2166
2172
  bt,
2167
2173
  {
2168
2174
  entityType: n,
2169
2175
  entities: m,
2170
- thumbnailHash: j?.thumbnailHash,
2176
+ thumbnailHash: O?.thumbnailHash,
2171
2177
  activeUsers: [],
2172
2178
  projectInfo: l[c],
2173
2179
  projectName: c,
@@ -2181,22 +2187,22 @@ const _s = I.div`
2181
2187
  };
2182
2188
  export {
2183
2189
  on as AssigneeSelect,
2184
- za as CloseButton,
2190
+ Ga as CloseButton,
2185
2191
  en as Content,
2186
- Ga as ContentRow,
2187
- Us as DetailsPanel,
2188
- Ha as DetailsPanelFloating,
2189
- _a as DetailsPanelSlideOut,
2190
- Qa as Footer,
2192
+ Qa as ContentRow,
2193
+ $s as DetailsPanel,
2194
+ Ba as DetailsPanelFloating,
2195
+ Ha as DetailsPanelSlideOut,
2196
+ qa as Footer,
2191
2197
  Yt as Grid,
2192
2198
  Zt as Header,
2193
2199
  Xt as HeaderContainer,
2194
- qa as LabelWrapper,
2200
+ Ka as LabelWrapper,
2195
2201
  rn as PriorityEnumDropdown,
2196
2202
  sn as ReadOnlyTags,
2197
2203
  an as StatusSelect,
2198
2204
  nn as TagsSelect,
2199
- Ka as ThumbnailWrapper,
2205
+ Ja as ThumbnailWrapper,
2200
2206
  tn as Title,
2201
2207
  tt as entitiesWithoutFeed
2202
2208
  };