@ynput/ayon-frontend-shared 0.7.4 → 0.7.6

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