@ynput/ayon-frontend-shared 0.6.8 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/ContextMenu.es.js +44 -27
  2. package/dist/DetailsPanel.es.js +225 -224
  3. package/dist/Feed.es.js +64 -58
  4. package/dist/ListTable.es.js +423 -423
  5. package/dist/NewEntity.es.js +44 -43
  6. package/dist/ProjectTreeTable.es.js +3517 -3378
  7. package/dist/Slicer.es.js +301 -276
  8. package/dist/Views.es.js +366 -352
  9. package/dist/api.es.js +428 -413
  10. package/dist/chunks/Actions.es.js +18 -17
  11. package/dist/chunks/ColumnDropIndicator.es.js +21 -20
  12. package/dist/chunks/ColumnHeaderMenuUI.es.js +2 -2
  13. package/dist/chunks/ContextMenuContextInstance.es.js +4 -3
  14. package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +53 -41
  15. package/dist/chunks/DetailsDialog.es.js +26 -24
  16. package/dist/chunks/EmptyPlaceholder.es.js +3 -3
  17. package/dist/chunks/EmptyPlaceholderFlex.styled.es.js +40 -0
  18. package/dist/chunks/EntityPath.es.js +60 -59
  19. package/dist/chunks/EntityPickerDialog.es.js +88 -83
  20. package/dist/chunks/EntityTooltip.es.js +15 -14
  21. package/dist/chunks/EntityUpdatesContext.es.js +11 -11
  22. package/dist/chunks/Feed.es.js +1072 -1088
  23. package/dist/chunks/FilterErrorActions.es.js +4 -3
  24. package/dist/chunks/Menu.es.js +633 -289
  25. package/dist/chunks/MenuContext.es.js +1 -1
  26. package/dist/chunks/MetaWidget.es.js +2449 -2199
  27. package/dist/chunks/PlayableIcon.es.js +128 -88
  28. package/dist/chunks/ProjectContext.es.js +6 -6
  29. package/dist/chunks/RepresentationsList.es.js +1 -1
  30. package/dist/chunks/ReviewablesSelector.es.js +627 -611
  31. package/dist/chunks/SimpleForm.es.js +11 -10
  32. package/dist/chunks/SimpleTable.es.js +386 -363
  33. package/dist/chunks/Slicer.es.js +956 -823
  34. package/dist/chunks/{DeleteEntitiesContextInstance.es.js → TableExportContextInstance.es.js} +190 -186
  35. package/dist/chunks/TableSettingsFallback.es.js +4 -3
  36. package/dist/chunks/ThumbnailSimple.es.js +100 -99
  37. package/dist/chunks/VideoPlayer.es.js +1 -1
  38. package/dist/chunks/Watchers.es.js +224 -223
  39. package/dist/chunks/getBundleMode.es.js +33 -25
  40. package/dist/chunks/getEntityTypeIcon.es.js +5 -4
  41. package/dist/chunks/getUris.es.js +3873 -3736
  42. package/dist/chunks/realtimeUpdatesUtils.es.js +91 -82
  43. package/dist/chunks/searchTerms.es.js +621 -499
  44. package/dist/chunks/sortLists.es.js +22 -0
  45. package/dist/chunks/useAttributeEnums.es.js +43 -43
  46. package/dist/chunks/useDateRangeFilter.es.js +85 -59
  47. package/dist/chunks/useHierarchySelection.es.js +6 -5
  48. package/dist/chunks/useLoadModule.es.js +24 -23
  49. package/dist/chunks/viewUpdateHelper.es.js +41 -40
  50. package/dist/components.es.js +963 -891
  51. package/dist/context.es.js +528 -501
  52. package/dist/hooks.es.js +15 -15
  53. package/dist/index.es.js +6 -6
  54. package/dist/types/ContextMenu.d.ts +4 -1
  55. package/dist/types/Feed.d.ts +55 -1
  56. package/dist/types/ListTable.d.ts +1 -1
  57. package/dist/types/ProjectTreeTable.d.ts +128 -15
  58. package/dist/types/SimpleTable.d.ts +2 -1
  59. package/dist/types/Slicer.d.ts +26 -1
  60. package/dist/types/Views.d.ts +2 -0
  61. package/dist/types/api.d.ts +2359 -590
  62. package/dist/types/components.d.ts +542 -4
  63. package/dist/types/context.d.ts +94 -2
  64. package/dist/types/util.d.ts +58 -0
  65. package/dist/util.es.js +141 -129
  66. package/package.json +2 -2
  67. package/dist/chunks/MenuItem.es.js +0 -420
@@ -1,36 +1,37 @@
1
- import { jsx as m, jsxs as z, Fragment as J } from "react/jsx-runtime";
1
+ import { jsx as m, jsxs as z, Fragment as Z } from "react/jsx-runtime";
2
2
  import { useMemo as W, useCallback as Q, useState as L, useEffect as V, useRef as X, forwardRef as q, useContext as Ee } from "react";
3
3
  import { snakeCase as Te, upperFirst as Se, intersectionBy as le } from "lodash";
4
4
  import "primereact/confirmdialog";
5
5
  import { toast as G } from "react-toastify";
6
6
  import { c as K } from "./copyToClipboard.es.js";
7
7
  import "uuid";
8
- import { ax as ce, aZ as De, bi as de, b0 as je, b1 as Fe, b2 as Ce, bk as Ae, bo as Ne, bx as $e, bh as Re, a as B, bp as ze } from "./searchTerms.es.js";
8
+ import { aF as ce, b6 as De, bs as de, b9 as je, ba as Fe, bb as Ce, bB as Ae, by as Ne, bJ as $e, br as Re, a as B, bz as ze } from "./searchTerms.es.js";
9
9
  import p, { keyframes as pe, css as ue } from "styled-components";
10
10
  import U from "clsx";
11
11
  import { BorderedSection as H, Button as O, StatusSelect as Me, AssigneeSelect as Ue, TagsSelect as Le, EnumDropdown as Pe, Icon as P, getMimeTypeIcon as We, theme as Oe, getFileSizeString as Ie, WatcherSelect as Ve } from "@ynput/ayon-react-components";
12
12
  import { o as Be, M as He, T as _e, n as Qe, B as qe, D as Ge } from "./MetaWidget.es.js";
13
13
  import "./PlayableIcon.es.js";
14
- import { di as Ke, bW as Ze, c8 as me, bg as Je, ao as Xe, bv as Ye, d6 as et } from "./getUris.es.js";
14
+ import { dn as Ke, b$ as Je, cd as me, bj as Ze, ar as Xe, by as Ye, db as et } from "./getUris.es.js";
15
15
  import "@module-federation/enhanced/runtime";
16
- import { o as Z, d as tt, x as ot, T as rt } from "./DeleteEntitiesContextInstance.es.js";
16
+ import { o as J, d as tt, x as ot, T as rt } from "./TableExportContextInstance.es.js";
17
17
  import "semver";
18
18
  import "./ContextMenuContextInstance.es.js";
19
19
  import "react-dom";
20
20
  import "react-redux";
21
- import { format as at } from "date-fns";
21
+ import "react-router-dom";
22
+ import { format as nt } from "date-fns";
22
23
  import "lexical";
23
24
  import "@lexical/markdown";
24
- import "@lexical/react/LexicalBlockWithAlignableContents";
25
- import "@lexical/react/LexicalDecoratorBlockNode";
26
25
  import "match-sorter";
27
26
  import "@lexical/code";
28
27
  import "@lexical/list";
29
28
  import "@lexical/rich-text";
30
29
  import "@lexical/selection";
31
30
  import "@lexical/utils";
31
+ import "@lexical/react/LexicalBlockWithAlignableContents";
32
+ import "@lexical/react/LexicalDecoratorBlockNode";
32
33
  import "@tanstack/react-table";
33
- import { g as nt, h as Y } from "./humanizeFieldName.es.js";
34
+ import { g as at, h as Y } from "./humanizeFieldName.es.js";
34
35
  import { a as it, A as st } from "./ThumbnailSimple.es.js";
35
36
  import ge from "axios";
36
37
  import { p as I } from "./parseFilename.es.js";
@@ -47,21 +48,21 @@ const ee = [], pt = (e) => {
47
48
  }),
48
49
  [t, r, e]
49
50
  );
50
- }, Vo = () => {
51
+ }, Bo = () => {
51
52
  const [e] = je(), [t] = Fe();
52
53
  return Q(
53
54
  async (r, o) => {
54
- const n = (await t(void 0, !0).unwrap().catch(() => {
55
- }))?.find(({ name: a }) => a === r.enumResolver)?.acceptedParams;
55
+ const a = (await t(void 0, !0).unwrap().catch(() => {
56
+ }))?.find(({ name: n }) => n === r.enumResolver)?.acceptedParams;
56
57
  try {
57
- const a = await e(
58
- ce(r, { projectName: o }, n),
58
+ const n = await e(
59
+ ce(r, { projectName: o }, a),
59
60
  !0
60
61
  ).unwrap();
61
- if (a.error) throw new Error(a.error);
62
- return de(a.items);
63
- } catch (a) {
64
- throw ut(a);
62
+ if (n.error) throw new Error(n.error);
63
+ return de(n.items);
64
+ } catch (n) {
65
+ throw ut(n);
65
66
  }
66
67
  },
67
68
  [e, t]
@@ -76,7 +77,7 @@ const ee = [], pt = (e) => {
76
77
  } = e || {};
77
78
  return typeof r?.detail == "string" ? new Error(r.detail) : typeof l == "string" ? new Error(l) : typeof t == "string" ? new Error(t) : new Error(o ? `Request failed (${o})` : "Request failed");
78
79
  }, mt = (e, { projectName: t, skip: r } = {}) => {
79
- const o = e?.enumResolver, { acceptedParams: l, isRegistryLoaded: n } = pt(o), a = W(
80
+ const o = e?.enumResolver, { acceptedParams: l, isRegistryLoaded: a } = pt(o), n = W(
80
81
  () => ce(e, { projectName: t }, l),
81
82
  // eslint-disable-next-line react-hooks/exhaustive-deps
82
83
  [o, e?.enumResolverSettings, t, l]
@@ -84,14 +85,14 @@ const ee = [], pt = (e) => {
84
85
  currentData: c,
85
86
  isFetching: g,
86
87
  isError: s
87
- } = De(a, {
88
+ } = De(n, {
88
89
  // waiting for the registry keeps the cache key final: no request is sent with params that get dropped
89
- skip: !o || !!r || !n
90
+ skip: !o || !!r || !a
90
91
  }), u = W(() => o ? c ? de(c.items) : ee : e?.enum || ee, [o, c, e?.enum]), i = !!o && !g && (s || !!c?.error);
91
92
  return {
92
93
  options: u,
93
94
  // a background refetch (tag invalidation) keeps the cached options, so it is not a load
94
- isLoading: !!o && !r && (!n || g && !c),
95
+ isLoading: !!o && !r && (!a || g && !c),
95
96
  isError: i,
96
97
  errorMessage: i ? c?.error : void 0
97
98
  };
@@ -126,7 +127,7 @@ const ee = [], pt = (e) => {
126
127
  "tags",
127
128
  "status"
128
129
  ], ft = (e, t) => {
129
- const [r, o] = L([]), [l, n] = L(null), a = () => {
130
+ const [r, o] = L([]), [l, a] = L(null), n = () => {
130
131
  const s = {}, u = /* @__PURE__ */ new Set();
131
132
  e.forEach((h) => {
132
133
  const v = {
@@ -155,18 +156,18 @@ const ee = [], pt = (e) => {
155
156
  });
156
157
  });
157
158
  const i = Object.entries(s).reduce((h, [v, f]) => {
158
- const { value: w, isMixed: y } = nt(f);
159
+ const { value: w, isMixed: y } = at(f);
159
160
  return h[v] = w, y && u.add(v), h;
160
161
  }, {});
161
- n(i), o(Array.from(u));
162
+ a(i), o(Array.from(u));
162
163
  };
163
164
  return V(() => {
164
- t || e.length === 0 || a();
165
+ t || e.length === 0 || n();
165
166
  }, [e, t]), {
166
167
  formData: l,
167
168
  mixedFields: r,
168
169
  updateFormData: (s, u) => {
169
- n((i) => i && {
170
+ a((i) => i && {
170
171
  ...i,
171
172
  [s]: u
172
173
  });
@@ -181,8 +182,8 @@ const ee = [], pt = (e) => {
181
182
  taskTypes: r,
182
183
  statuses: o,
183
184
  tags: l,
184
- entityType: n,
185
- folderHasVersions: a,
185
+ entityType: a,
186
+ folderHasVersions: n,
186
187
  attribAccess: c
187
188
  }) => {
188
189
  const g = W(() => {
@@ -205,7 +206,7 @@ const ee = [], pt = (e) => {
205
206
  },
206
207
  {
207
208
  name: "folderType",
208
- hidden: n !== "folder",
209
+ hidden: a !== "folder",
209
210
  data: {
210
211
  type: "string",
211
212
  title: "Folder Type",
@@ -219,7 +220,7 @@ const ee = [], pt = (e) => {
219
220
  },
220
221
  {
221
222
  name: "taskType",
222
- hidden: n !== "task",
223
+ hidden: a !== "task",
223
224
  data: {
224
225
  type: "string",
225
226
  title: "Task Type",
@@ -258,7 +259,7 @@ const ee = [], pt = (e) => {
258
259
  }
259
260
  }
260
261
  ].map(
261
- (d) => d.name === "folderType" && n === "folder" && a ? {
262
+ (d) => d.name === "folderType" && a === "folder" && n ? {
262
263
  ...d,
263
264
  readonly: !0,
264
265
  data: {
@@ -266,16 +267,16 @@ const ee = [], pt = (e) => {
266
267
  description: "Folder type is locked because the folder has published versions."
267
268
  }
268
269
  } : d
269
- ), y = n === "version" ? [
270
+ ), y = a === "version" ? [
270
271
  ...w.map(
271
272
  (d) => ["tags", "status"].includes(d.name) ? d : { ...d, readonly: !0 }
272
273
  )
273
274
  ] : w, x = v ? y.map(
274
275
  (d) => v.includes(d.name) || v.includes(Te(d.name)) ? d : { ...d, readonly: !0 }
275
- ) : y, F = n ? e.filter((d) => d.scope?.includes(n) && d.name !== "description").filter((d) => !i || i.includes(d.name)).map((d) => ({
276
+ ) : y, F = a ? e.filter((d) => d.scope?.includes(a) && d.name !== "description").filter((d) => !i || i.includes(d.name)).map((d) => ({
276
277
  name: "attrib." + d.name,
277
278
  data: d.data,
278
- ...n === "version" && d.builtin ? { readonly: !0 } : {},
279
+ ...a === "version" && d.builtin ? { readonly: !0 } : {},
279
280
  ...h && !h.includes(d.name) ? { readonly: !0 } : {}
280
281
  })) : [], T = te.map((d) => ({
281
282
  name: d,
@@ -299,8 +300,8 @@ const ee = [], pt = (e) => {
299
300
  r,
300
301
  o,
301
302
  l,
302
- n,
303
303
  a,
304
+ n,
304
305
  c
305
306
  ]), s = g.filter(
306
307
  (i) => ht.includes(i.name) || i.name.startsWith("attrib.")
@@ -313,9 +314,9 @@ const ee = [], pt = (e) => {
313
314
  readOnlyFieldsData: u
314
315
  };
315
316
  }, yt = ({ entities: e, entityType: t }) => {
316
- const [r] = Ke(), { onUpdateEntity: o } = Z();
317
- return { updateEntity: async (n, a) => {
318
- if (a == null) {
317
+ const [r] = Ke(), { onUpdateEntity: o } = J();
318
+ return { updateEntity: async (a, n) => {
319
+ if (n == null) {
319
320
  console.error("value is null or undefined");
320
321
  return;
321
322
  }
@@ -324,7 +325,7 @@ const ee = [], pt = (e) => {
324
325
  id: g.id,
325
326
  projectName: g.projectName,
326
327
  data: {
327
- [n]: a
328
+ [a]: n
328
329
  },
329
330
  currentAssignees: g.users,
330
331
  meta: {
@@ -340,11 +341,11 @@ const ee = [], pt = (e) => {
340
341
  (t, r) => r ? t ? t.filter((o) => r.includes(o)) : r : t,
341
342
  void 0
342
343
  ), bt = ({ entities: e, entityType: t }) => {
343
- const { data: o } = Ze(), l = W(() => {
344
+ const { data: o } = Je(), l = W(() => {
344
345
  if (!o?.projects) return {};
345
- const a = [...new Set(e.map((s) => s.projectName))].map(
346
+ const n = [...new Set(e.map((s) => s.projectName))].map(
346
347
  (s) => o.projects?.[s] || {}
347
- ), c = a.map((s) => s.attrib_read), g = a.map((s) => s.attrib_write);
348
+ ), c = n.map((s) => s.attrib_read), g = n.map((s) => s.attrib_write);
348
349
  return {
349
350
  readableAttributes: _(
350
351
  c.map((s) => s?.enabled ? s.attributes ?? [] : void 0)
@@ -354,20 +355,20 @@ const ee = [], pt = (e) => {
354
355
  ),
355
356
  writableFields: _(g.map((s) => s?.enabled ? s.fields ?? [] : void 0))
356
357
  };
357
- }, [o, e]), { updateEntity: n } = yt({
358
- entities: e.map((a) => ({
359
- id: a.id,
360
- projectName: a.projectName || "",
361
- folderId: a.folder?.id,
362
- productId: a.product?.id,
363
- users: a.task?.assignees || []
358
+ }, [o, e]), { updateEntity: a } = yt({
359
+ entities: e.map((n) => ({
360
+ id: n.id,
361
+ projectName: n.projectName || "",
362
+ folderId: n.folder?.id,
363
+ productId: n.product?.id,
364
+ users: n.task?.assignees || []
364
365
  })),
365
366
  entityType: t
366
367
  });
367
368
  return {
368
369
  enableEditing: !0,
369
370
  attribAccess: l,
370
- updateEntity: n
371
+ updateEntity: a
371
372
  };
372
373
  }, xt = (e, t) => {
373
374
  const r = me({ projects: [...new Set(e).values()] });
@@ -375,17 +376,17 @@ const ee = [], pt = (e) => {
375
376
  return [];
376
377
  let o;
377
378
  for (const l of Object.values(r.data)) {
378
- const n = l.statuses?.filter(
379
- (a) => t.every((c) => !a.scope || a.scope?.includes(c))
379
+ const a = l.statuses?.filter(
380
+ (n) => t.every((c) => !n.scope || n.scope?.includes(c))
380
381
  ) || [];
381
382
  if (o === void 0) {
382
- o = n;
383
+ o = a;
383
384
  continue;
384
385
  }
385
- o = le(o, n, "name");
386
+ o = le(o, a, "name");
386
387
  }
387
388
  return o;
388
- }, Bo = (e, t) => {
389
+ }, Ho = (e, t) => {
389
390
  let r = Object.values(e || {});
390
391
  return r.length == 0 || r[0].scope === void 0 ? r : r.filter(
391
392
  (o) => t.every((l) => o.scope === void 0 || o.scope.includes(l))
@@ -396,12 +397,12 @@ const ee = [], pt = (e) => {
396
397
  return [];
397
398
  let o;
398
399
  for (const l of Object.values(r.data)) {
399
- let n = [];
400
- if (t === "task" ? n = l.taskTypes || [] : t === "folder" && (n = l.folderTypes || []), o === void 0) {
401
- o = n;
400
+ let a = [];
401
+ if (t === "task" ? a = l.taskTypes || [] : t === "folder" && (a = l.folderTypes || []), o === void 0) {
402
+ o = a;
402
403
  continue;
403
404
  }
404
- o = le(o, n, "name");
405
+ o = le(o, a, "name");
405
406
  }
406
407
  return o || [];
407
408
  }, oe = p.div`
@@ -430,8 +431,8 @@ const ee = [], pt = (e) => {
430
431
  isEditing: r,
431
432
  isReadOnly: o,
432
433
  isMixed: l,
433
- onChange: n,
434
- onCancelEdit: a,
434
+ onChange: a,
435
+ onCancelEdit: n,
435
436
  onExpand: c,
436
437
  entities: g = [],
437
438
  entityType: s = "task",
@@ -441,7 +442,7 @@ const ee = [], pt = (e) => {
441
442
  isEditing: r && !o,
442
443
  isReadOnly: o,
443
444
  isInherited: !1,
444
- onChange: ($) => n(e.name, $)
445
+ onChange: ($) => a(e.name, $)
445
446
  }, f = g.map(($) => $.projectName), w = xt(f, [s]), y = wt(f, s), x = u || f[0], {
446
447
  options: F,
447
448
  isLoading: T,
@@ -462,7 +463,7 @@ const ee = [], pt = (e) => {
462
463
  value: D,
463
464
  ...v,
464
465
  isEditing: !0,
465
- onCancelEdit: a,
466
+ onCancelEdit: n,
466
467
  style: { width: "fit-content" },
467
468
  autoFocus: !1,
468
469
  isMidnightExclusive: d
@@ -508,7 +509,7 @@ const ee = [], pt = (e) => {
508
509
  },
509
510
  placeholder: S ? `Could not load ${N}` : l ? `Mixed ${N}` : `Select ${N}...`,
510
511
  error: $e(S),
511
- onCancelEdit: a,
512
+ onCancelEdit: n,
512
513
  align: "right",
513
514
  enableCustomValues: e.enableCustomValues,
514
515
  isLoadingOptions: T,
@@ -524,7 +525,7 @@ const ee = [], pt = (e) => {
524
525
  He,
525
526
  {
526
527
  value: D.toString(),
527
- onCancelEdit: a,
528
+ onCancelEdit: n,
528
529
  onExpand: c,
529
530
  showExpand: !!c,
530
531
  ...v
@@ -533,7 +534,7 @@ const ee = [], pt = (e) => {
533
534
  _e,
534
535
  {
535
536
  value: D.toString(),
536
- onCancelEdit: a,
537
+ onCancelEdit: n,
537
538
  type: i,
538
539
  ...v
539
540
  }
@@ -551,11 +552,11 @@ const ee = [], pt = (e) => {
551
552
  showDetailedTooltip: r = !1,
552
553
  ...o
553
554
  }) => {
554
- const l = t.title ? Y(t.title) : Y(e), n = r ? `${l} (${e}) ${t.description ? "-" : ""} ${t.description || ""}` : t.description || l;
555
+ const l = t.title ? Y(t.title) : Y(e), a = r ? `${l} (${e}) ${t.description ? "-" : ""} ${t.description || ""}` : t.description || l;
555
556
  return /* @__PURE__ */ m(
556
557
  Tt,
557
558
  {
558
- "data-tooltip": r ? n : void 0,
559
+ "data-tooltip": r ? a : void 0,
559
560
  "data-tooltip-delay": 700,
560
561
  ...o,
561
562
  children: l
@@ -655,8 +656,8 @@ const ee = [], pt = (e) => {
655
656
  form: r,
656
657
  fields: o,
657
658
  enableEditing: l,
658
- mixedFields: n,
659
- onChange: a,
659
+ mixedFields: a,
660
+ onChange: n,
660
661
  entities: c = [],
661
662
  projectName: g,
662
663
  entityType: s = "task"
@@ -674,7 +675,7 @@ const ee = [], pt = (e) => {
674
675
  fieldReadonly: o.find((x) => x.name === y)?.readonly
675
676
  });
676
677
  }, f = (y, x) => {
677
- i(null), a?.(y, x);
678
+ i(null), n?.(y, x);
678
679
  }, w = () => {
679
680
  i(null);
680
681
  };
@@ -690,7 +691,7 @@ const ee = [], pt = (e) => {
690
691
  withPadding: !0,
691
692
  pt: { content: { style: { minHeight: "unset" } } },
692
693
  children: o.filter((y) => !y.hidden).map((y) => {
693
- const x = r[y.name], F = u === y.name, T = y.readonly || !l, A = n?.includes(y.name) || !1;
694
+ const x = r[y.name], F = u === y.name, T = y.readonly || !l, A = a?.includes(y.name) || !1;
694
695
  return /* @__PURE__ */ z(
695
696
  fe,
696
697
  {
@@ -784,7 +785,7 @@ const ee = [], pt = (e) => {
784
785
  justify-self: end;
785
786
  font-size: 14px;
786
787
  width: 100%;
787
- `, ae = p.div`
788
+ `, ne = p.div`
788
789
  height: 20px;
789
790
  background: var(--md-sys-color-surface-container-low);
790
791
  border-radius: 4px;
@@ -807,25 +808,25 @@ const ee = [], pt = (e) => {
807
808
  mixedFields: r = [],
808
809
  isLoading: o
809
810
  }) => {
810
- const l = (n, a) => {
811
- if (n == null)
811
+ const l = (a, n) => {
812
+ if (a == null)
812
813
  return "-";
813
- if (a === "createdAt" || a === "updatedAt")
814
+ if (n === "createdAt" || n === "updatedAt")
814
815
  try {
815
- return at(new Date(n), "PPpp");
816
+ return nt(new Date(a), "PPpp");
816
817
  } catch {
817
- return n.toString();
818
+ return a.toString();
818
819
  }
819
- return n.toString();
820
+ return a.toString();
820
821
  };
821
- return o ? /* @__PURE__ */ m(H, { title: "Details", withPadding: !0, children: Array.from({ length: 6 }).map((n, a) => /* @__PURE__ */ z(re, { children: [
822
- /* @__PURE__ */ m(ae, { style: { width: "80px" } }),
823
- /* @__PURE__ */ m(ae, { style: { width: "120px", justifySelf: "end" } }),
822
+ return o ? /* @__PURE__ */ m(H, { title: "Details", withPadding: !0, children: Array.from({ length: 6 }).map((a, n) => /* @__PURE__ */ z(re, { children: [
823
+ /* @__PURE__ */ m(ne, { style: { width: "80px" } }),
824
+ /* @__PURE__ */ m(ne, { style: { width: "120px", justifySelf: "end" } }),
824
825
  /* @__PURE__ */ m("div", { style: { width: "24px" } })
825
- ] }, a)) }) : /* @__PURE__ */ m(H, { title: "Details", autoHeight: !0, showHeader: !0, withPadding: !0, children: e.filter((n) => !n.hidden).map((n) => {
826
- const a = t[n.name], c = r.includes(n.name), g = c ? "Multiple values" : l(a, n.name);
826
+ ] }, n)) }) : /* @__PURE__ */ m(H, { title: "Details", autoHeight: !0, showHeader: !0, withPadding: !0, children: e.filter((a) => !a.hidden).map((a) => {
827
+ const n = t[a.name], c = r.includes(a.name), g = c ? "Multiple values" : l(n, a.name);
827
828
  return /* @__PURE__ */ z(re, { children: [
828
- /* @__PURE__ */ m(he, { name: n.name, data: n.data, showDetailedTooltip: !0 }),
829
+ /* @__PURE__ */ m(he, { name: a.name, data: a.data, showDetailedTooltip: !0 }),
829
830
  /* @__PURE__ */ m(
830
831
  Ct,
831
832
  {
@@ -843,11 +844,11 @@ const ee = [], pt = (e) => {
843
844
  variant: "text",
844
845
  icon: "content_copy",
845
846
  onClick: (s) => {
846
- s.stopPropagation(), K((a ?? "").toString(), !0);
847
+ s.stopPropagation(), K((n ?? "").toString(), !0);
847
848
  }
848
849
  }
849
850
  )
850
- ] }, n.name);
851
+ ] }, a.name);
851
852
  }) });
852
853
  }, Nt = p.div`
853
854
  display: flex;
@@ -858,17 +859,17 @@ const ee = [], pt = (e) => {
858
859
  padding-right: 8px;
859
860
  padding-left: 8px;
860
861
  margin-top: 16px;
861
- `, Ho = ({ entities: e = [], isLoading: t }) => {
862
- const { formData: r, mixedFields: o, updateFormData: l, clearMixedField: n } = ft(
862
+ `, _o = ({ entities: e = [], isLoading: t }) => {
863
+ const { formData: r, mixedFields: o, updateFormData: l, clearMixedField: a } = ft(
863
864
  e,
864
865
  t
865
- ), { attributes: a } = tt(), {
866
+ ), { attributes: n } = tt(), {
866
867
  folderTypes: c = [],
867
868
  taskTypes: g = [],
868
869
  statuses: s = [],
869
870
  tags: u = [],
870
871
  productTypes: i
871
- } = ot(), { openSlideOut: h } = Z(), [, v] = it(), f = (e || []).filter((R) => R.entityType === "folder"), { data: w } = Je(
872
+ } = ot(), { openSlideOut: h } = J(), [, v] = it(), f = (e || []).filter((R) => R.entityType === "folder"), { data: w } = Ze(
872
873
  {
873
874
  entityIds: f.map((R) => R.id),
874
875
  projectName: r?.projectName || "",
@@ -882,7 +883,7 @@ const ee = [], pt = (e) => {
882
883
  entities: e,
883
884
  entityType: x
884
885
  }), { editableFields: k, readOnlyFieldsData: S } = vt({
885
- attributes: a,
886
+ attributes: n,
886
887
  folderTypes: c,
887
888
  taskTypes: g,
888
889
  statuses: s,
@@ -903,7 +904,7 @@ const ee = [], pt = (e) => {
903
904
  const { x: xe, y: we, width: ke } = be.getBoundingClientRect();
904
905
  v({ id: M, name: M, type: R, label: ye, pos: { left: xe + ke / 2, top: we } });
905
906
  }, ve = (R) => {
906
- l("description", R), n("description"), A("attrib", { description: R });
907
+ l("description", R), a("description"), A("attrib", { description: R });
907
908
  };
908
909
  return /* @__PURE__ */ z(Nt, { children: [
909
910
  /* @__PURE__ */ m(
@@ -943,9 +944,9 @@ const ee = [], pt = (e) => {
943
944
  }
944
945
  )
945
946
  ] });
946
- }, _o = p.div`
947
+ }, Qo = p.div`
947
948
  position: relative;
948
- `, Qo = p.div`
949
+ `, qo = p.div`
949
950
  position: relative;
950
951
  padding: 8px;
951
952
  border-bottom: 1px solid var(--md-sys-color-outline-variant);
@@ -977,13 +978,13 @@ const ee = [], pt = (e) => {
977
978
  /* align center */
978
979
  align-items: center;
979
980
  }
980
- `, qo = p(O)`
981
+ `, Go = p(O)`
981
982
  position: absolute;
982
983
  right: 4px;
983
984
  top: 4px;
984
985
  width: fit-content;
985
986
  z-index: 50;
986
- `, Go = p.header`
987
+ `, Ko = p.header`
987
988
  display: flex;
988
989
  align-items: center;
989
990
  gap: var(--base-gap-large);
@@ -998,7 +999,7 @@ const ee = [], pt = (e) => {
998
999
  display: none;
999
1000
  }
1000
1001
  }
1001
- `, Ko = p.div`
1002
+ `, Jo = p.div`
1002
1003
  display: flex;
1003
1004
  align-items: center;
1004
1005
  gap: var(--base-gap-small);
@@ -1021,7 +1022,7 @@ const ee = [], pt = (e) => {
1021
1022
  flex-direction: column;
1022
1023
  gap: var(--base-gap-small);
1023
1024
  }
1024
- `, Jo = p.div`
1025
+ `, Xo = p.div`
1025
1026
  display: flex;
1026
1027
  flex-direction: column;
1027
1028
  height: 100%;
@@ -1059,7 +1060,7 @@ const ee = [], pt = (e) => {
1059
1060
  align-items: center;
1060
1061
  gap: var(--base-gap-medium);
1061
1062
  }
1062
- `, Xo = p.div`
1063
+ `, Yo = p.div`
1063
1064
  display: flex;
1064
1065
  justify-content: space-between;
1065
1066
  align-items: flex-start;
@@ -1068,10 +1069,10 @@ const ee = [], pt = (e) => {
1068
1069
  label {
1069
1070
  color: var(--md-sys-color-outline);
1070
1071
  }
1071
- `, Yo = p.div`
1072
+ `, er = p.div`
1072
1073
  display: flex;
1073
1074
  flex-direction: column;
1074
- `, er = p(Me)`
1075
+ `, tr = p(Me)`
1075
1076
  width: fit-content;
1076
1077
  .status-field.value {
1077
1078
  position: relative;
@@ -1082,11 +1083,11 @@ const ee = [], pt = (e) => {
1082
1083
  margin-bottom: 2px;
1083
1084
  color: ${(e) => e.$textColor};
1084
1085
  }
1085
- `, tr = p(Ue)`
1086
+ `, or = p(Ue)`
1086
1087
  width: fit-content;
1087
1088
  justify-self: end;
1088
1089
  max-width: 100%;
1089
- `, or = p(Le)`
1090
+ `, rr = p(Le)`
1090
1091
  height: 24px;
1091
1092
  .template-value {
1092
1093
  padding: 0 2px;
@@ -1100,7 +1101,7 @@ const ee = [], pt = (e) => {
1100
1101
  display: none;
1101
1102
  }
1102
1103
  }
1103
- `, rr = p.div`
1104
+ `, nr = p.div`
1104
1105
  display: flex;
1105
1106
  align-items: center;
1106
1107
  gap: 4px;
@@ -1144,12 +1145,12 @@ const ee = [], pt = (e) => {
1144
1145
  background-color: var(--md-sys-color-surface-container-low-hover);
1145
1146
  }
1146
1147
  }
1147
- `, nr = p.footer`
1148
+ `, ir = p.footer`
1148
1149
  display: flex;
1149
1150
  align-items: center;
1150
1151
  gap: var(--base-gap-small);
1151
1152
  justify-content: space-between;
1152
- `, ir = p.div`
1153
+ `, sr = p.div`
1153
1154
  height: 100%;
1154
1155
 
1155
1156
  > input[type='file'] {
@@ -1160,7 +1161,7 @@ const ee = [], pt = (e) => {
1160
1161
  input[type='file'] {
1161
1162
  display: none;
1162
1163
  }
1163
- `, sr = p.div`
1164
+ `, lr = p.div`
1164
1165
  z-index: 100;
1165
1166
  position: absolute;
1166
1167
  inset: 0;
@@ -1172,7 +1173,7 @@ const ee = [], pt = (e) => {
1172
1173
  display: flex;
1173
1174
  align-items: center;
1174
1175
  justify-content: center;
1175
- `, lr = p.div`
1176
+ `, cr = p.div`
1176
1177
  flex: 1;
1177
1178
  height: 100%;
1178
1179
  border-radius: var(--border-radius-l);
@@ -1201,11 +1202,11 @@ const ee = [], pt = (e) => {
1201
1202
  /* show children */
1202
1203
  opacity: 1;
1203
1204
  }
1204
- `, cr = p(O)`
1205
+ `, dr = p(O)`
1205
1206
  position: absolute;
1206
1207
  top: 4px;
1207
1208
  right: 4px;
1208
- `, dr = p.div`
1209
+ `, pr = p.div`
1209
1210
  display: flex;
1210
1211
  flex-direction: column;
1211
1212
  align-items: center;
@@ -1218,7 +1219,7 @@ const ee = [], pt = (e) => {
1218
1219
  top: 12px;
1219
1220
  position: relative;
1220
1221
  }
1221
- `, pr = p.div`
1222
+ `, ur = p.div`
1222
1223
  height: 8px;
1223
1224
  position: absolute;
1224
1225
  border-radius: 4px;
@@ -1259,38 +1260,38 @@ const ee = [], pt = (e) => {
1259
1260
  opacity: 0;
1260
1261
  }
1261
1262
  `, Ut = ({ mimetype: e = "", src: t, ...r }) => {
1262
- const [o, l] = L(!1), [n, a] = L(!1), c = X(null), g = X(0);
1263
+ const [o, l] = L(!1), [a, n] = L(!1), c = X(null), g = X(0);
1263
1264
  return V(() => {
1264
1265
  const s = g.current + 1;
1265
- g.current = s, a(!1), l(!1);
1266
+ g.current = s, n(!1), l(!1);
1266
1267
  const u = c.current;
1267
1268
  let i = !1, h = 0, v = 0, f = 0;
1268
1269
  const w = (T) => {
1269
1270
  i || s !== g.current || (i = !0, cancelAnimationFrame(h), window.clearInterval(v), window.clearTimeout(f), T());
1270
1271
  }, y = () => {
1271
1272
  !u || s !== g.current || u.complete && u.naturalWidth > 0 && w(() => {
1272
- a(!0), l(!1);
1273
+ n(!0), l(!1);
1273
1274
  });
1274
1275
  }, x = () => w(() => {
1275
- a(!0), l(!1);
1276
+ n(!0), l(!1);
1276
1277
  }), F = () => w(() => {
1277
- a(!0), l(!0);
1278
+ n(!0), l(!0);
1278
1279
  });
1279
1280
  return u && (u.addEventListener("load", x), u.addEventListener("error", F), typeof u.decode == "function" && u.decode().then(
1280
1281
  () => w(() => {
1281
- a(!0), l(!1);
1282
+ n(!0), l(!1);
1282
1283
  })
1283
1284
  ).catch(() => {
1284
1285
  y();
1285
1286
  })), h = requestAnimationFrame(y), v = window.setInterval(y, 250), f = window.setTimeout(() => {
1286
1287
  w(() => {
1287
- u && u.naturalWidth > 0 ? (a(!0), l(!1)) : a(!0);
1288
+ u && u.naturalWidth > 0 ? (n(!0), l(!1)) : n(!0);
1288
1289
  });
1289
1290
  }, 1e4), () => {
1290
1291
  cancelAnimationFrame(h), window.clearInterval(v), window.clearTimeout(f), u && (u.removeEventListener("load", x), u.removeEventListener("error", F));
1291
1292
  };
1292
1293
  }, [t]), /* @__PURE__ */ z(Rt, { ...r, className: U("file-thumbnail", r.className), children: [
1293
- n ? /* @__PURE__ */ m(P, { icon: We(e) }) : /* @__PURE__ */ m(zt, { icon: "progress_activity" }),
1294
+ a ? /* @__PURE__ */ m(P, { icon: We(e) }) : /* @__PURE__ */ m(zt, { icon: "progress_activity" }),
1294
1295
  /* @__PURE__ */ m(
1295
1296
  Mt,
1296
1297
  {
@@ -1298,12 +1299,12 @@ const ee = [], pt = (e) => {
1298
1299
  src: t,
1299
1300
  ...r,
1300
1301
  onError: (s) => {
1301
- s.currentTarget === c.current && (a(!0), l(!0));
1302
+ s.currentTarget === c.current && (n(!0), l(!0));
1302
1303
  },
1303
1304
  onLoad: (s) => {
1304
- s.currentTarget === c.current && (a(!0), l(!1));
1305
+ s.currentTarget === c.current && (n(!0), l(!1));
1305
1306
  },
1306
- className: U({ hidden: !n || o })
1307
+ className: U({ hidden: !a || o })
1307
1308
  }
1308
1309
  )
1309
1310
  ] });
@@ -1433,15 +1434,15 @@ const ee = [], pt = (e) => {
1433
1434
 
1434
1435
  /* default hidden */
1435
1436
  opacity: 0;
1436
- `, ur = q(
1437
+ `, mr = q(
1437
1438
  ({
1438
1439
  availability: e,
1439
1440
  projectName: t,
1440
1441
  fileId: r,
1441
1442
  filename: o,
1442
1443
  label: l,
1443
- processing: n,
1444
- mimetype: a,
1444
+ processing: a,
1445
+ mimetype: n,
1445
1446
  isDragOverlay: c,
1446
1447
  isDropPlaceholder: g,
1447
1448
  isSelected: s,
@@ -1451,7 +1452,7 @@ const ee = [], pt = (e) => {
1451
1452
  onEdit: v,
1452
1453
  ...f
1453
1454
  }, w) => {
1454
- const y = (i || c) && !h, x = e === "conversionRecommended", F = x && !!n;
1455
+ const y = (i || c) && !h, x = e === "conversionRecommended", F = x && !!a;
1455
1456
  let T = o;
1456
1457
  x && (T = "Unoptimized - conversion recommended"), F && (T = "Unoptimized - queued for conversion");
1457
1458
  let A = l;
@@ -1475,7 +1476,7 @@ const ee = [], pt = (e) => {
1475
1476
  It,
1476
1477
  {
1477
1478
  src: `/api/projects/${t}/files/${r}/thumbnail`,
1478
- mimetype: a
1479
+ mimetype: n
1479
1480
  }
1480
1481
  ),
1481
1482
  /* @__PURE__ */ z(Pt, { children: [
@@ -1602,14 +1603,14 @@ const ee = [], pt = (e) => {
1602
1603
  object-fit: cover;
1603
1604
  opacity: 0.5;
1604
1605
  }
1605
- `, ne = ({
1606
+ `, ae = ({
1606
1607
  name: e,
1607
1608
  progress: t,
1608
1609
  size: r,
1609
1610
  type: o,
1610
1611
  fileId: l,
1611
- src: n,
1612
- error: a,
1612
+ src: a,
1613
+ error: n,
1613
1614
  tooltip: c,
1614
1615
  onRemove: g,
1615
1616
  ...s
@@ -1638,26 +1639,26 @@ const ee = [], pt = (e) => {
1638
1639
  u = "Validating", h = "checklist";
1639
1640
  break;
1640
1641
  }
1641
- a && (i = !1, h = "error");
1642
+ n && (i = !1, h = "error");
1642
1643
  const v = t !== void 0 ? `- ${t}%` : "";
1643
1644
  return /* @__PURE__ */ z(
1644
1645
  Ht,
1645
1646
  {
1646
- className: U({ finished: t === 100, error: !!a, [o]: !0 }),
1647
+ className: U({ finished: t === 100, error: !!n, [o]: !0 }),
1647
1648
  id: l,
1648
1649
  ...s,
1649
1650
  children: [
1650
1651
  /* @__PURE__ */ z(Qt, { children: [
1651
- n && /* @__PURE__ */ m("img", { src: n }),
1652
+ a && /* @__PURE__ */ m("img", { src: a }),
1652
1653
  h && /* @__PURE__ */ m(P, { icon: h, className: U({ spinning: i }) })
1653
1654
  ] }),
1654
1655
  /* @__PURE__ */ z("span", { className: "content", children: [
1655
1656
  /* @__PURE__ */ m("span", { className: "name", children: e }),
1656
- /* @__PURE__ */ m("span", { className: "message", children: a || `${u} ${v}` })
1657
+ /* @__PURE__ */ m("span", { className: "message", children: n || `${u} ${v}` })
1657
1658
  ] }),
1658
1659
  r && /* @__PURE__ */ m("span", { className: "size", children: Ie(r) }),
1659
1660
  c && /* @__PURE__ */ m(P, { icon: "info", className: "info", "data-tooltip": c, "data-tooltip-as": "markdown" }),
1660
- (a || o === "waiting") && /* @__PURE__ */ m(O, { icon: "close", variant: "text", onClick: g }),
1661
+ (n || o === "waiting") && /* @__PURE__ */ m(O, { icon: "close", variant: "text", onClick: g }),
1661
1662
  /* @__PURE__ */ m(_t, { className: "progress", style: { right: `${100 - (t ?? 0)}%` } })
1662
1663
  ]
1663
1664
  },
@@ -1671,13 +1672,13 @@ p.div`
1671
1672
  min-height: 100%;
1672
1673
  padding-bottom: var(--padding-m);
1673
1674
  `;
1674
- const mr = p.div`
1675
+ const gr = p.div`
1675
1676
  position: relative;
1676
1677
  overflow: hidden;
1677
1678
  border-radius: var(--border-radius-m);
1678
1679
  width: 100%;
1679
1680
  min-height: 50px;
1680
- `, gr = p.div`
1681
+ `, hr = p.div`
1681
1682
  word-break: break-all;
1682
1683
  `, qt = p.div`
1683
1684
  display: flex;
@@ -1760,14 +1761,14 @@ const mr = p.div`
1760
1761
  return e.message || e.response?.statusText || "Unknown upload error";
1761
1762
  }
1762
1763
  return e instanceof Error ? e.message : typeof e == "string" ? e : "Unknown upload error";
1763
- }, Zt = ({
1764
+ }, Jt = ({
1764
1765
  projectName: e,
1765
1766
  versionId: t,
1766
1767
  taskId: r,
1767
1768
  folderId: o,
1768
1769
  productId: l,
1769
- dispatch: n,
1770
- onUpload: a,
1770
+ dispatch: a,
1771
+ onUpload: n,
1771
1772
  onProgress: c
1772
1773
  }) => {
1773
1774
  const [g, s] = L({}), u = Q(
@@ -1794,7 +1795,7 @@ const mr = p.div`
1794
1795
  if (!f) return;
1795
1796
  console.log(`Upload successful for ${k.name}`);
1796
1797
  const d = S.data;
1797
- e && (n(
1798
+ e && (a(
1798
1799
  // @ts-ignore
1799
1800
  Xe.util.updateQueryData(
1800
1801
  "getReviewablesForVersion",
@@ -1803,7 +1804,7 @@ const mr = p.div`
1803
1804
  D.reviewables || (D.reviewables = []), D.reviewables.push(d);
1804
1805
  }
1805
1806
  )
1806
- ), l && n(B.util.invalidateTags([{ type: "viewer", id: l }])), n(B.util.invalidateTags([{ type: "viewer", id: f }])), o && n(B.util.invalidateTags([{ type: "viewer", id: o }])), r && n(B.util.invalidateTags([{ type: "viewer", id: r }])), u(I(k.name)));
1807
+ ), l && a(B.util.invalidateTags([{ type: "viewer", id: l }])), a(B.util.invalidateTags([{ type: "viewer", id: f }])), o && a(B.util.invalidateTags([{ type: "viewer", id: o }])), r && a(B.util.invalidateTags([{ type: "viewer", id: r }])), u(I(k.name)));
1807
1808
  }, T = (k) => (S) => {
1808
1809
  f && (console.error(`Upload failed for ${k.name}: ${S}`), s((d) => {
1809
1810
  const N = (d[f] || []).map((C) => C.name !== I(k.name) ? C : {
@@ -1836,7 +1837,7 @@ const mr = p.div`
1836
1837
  throw T(S)($), $;
1837
1838
  });
1838
1839
  });
1839
- await Promise.all(k), a && a();
1840
+ await Promise.all(k), n && n();
1840
1841
  } catch (k) {
1841
1842
  throw console.error(k), G.error(`Failed to upload file/s: ${ie(k)}`), k;
1842
1843
  }
@@ -1845,26 +1846,26 @@ const mr = p.div`
1845
1846
  t,
1846
1847
  e,
1847
1848
  g,
1848
- n,
1849
+ a,
1849
1850
  l,
1850
1851
  o,
1851
1852
  r,
1852
1853
  u,
1853
- a,
1854
+ n,
1854
1855
  c
1855
1856
  ]
1856
1857
  ),
1857
1858
  handleRemoveUpload: u,
1858
1859
  uploading: g
1859
1860
  };
1860
- }, hr = ({
1861
+ }, fr = ({
1861
1862
  projectName: e,
1862
1863
  taskId: t,
1863
1864
  folderId: r,
1864
1865
  versionId: o,
1865
1866
  productId: l,
1866
- onUpload: n,
1867
- onFilesAdded: a,
1867
+ onUpload: a,
1868
+ onFilesAdded: n,
1868
1869
  children: c,
1869
1870
  dispatch: g,
1870
1871
  variant: s = "normal",
@@ -1879,14 +1880,14 @@ const mr = p.div`
1879
1880
  handleFileUpload: F,
1880
1881
  handleRemoveUpload: T,
1881
1882
  uploading: A
1882
- } = Zt({
1883
+ } = Jt({
1883
1884
  projectName: e,
1884
1885
  versionId: o,
1885
1886
  taskId: t,
1886
1887
  folderId: r,
1887
1888
  productId: l,
1888
1889
  dispatch: g,
1889
- onUpload: n
1890
+ onUpload: a
1890
1891
  }), k = !!o;
1891
1892
  V(() => {
1892
1893
  if (k && o && u.length > 0 && i) {
@@ -1901,7 +1902,7 @@ const mr = p.div`
1901
1902
  preview: S(E) ? URL.createObjectURL(E) : void 0
1902
1903
  })), D = async (b) => {
1903
1904
  const E = Array.from(b);
1904
- if (a?.(E), !k || !o) {
1905
+ if (n?.(E), !k || !o) {
1905
1906
  i && i((j) => [...j, ...d(E)]);
1906
1907
  return;
1907
1908
  }
@@ -1914,7 +1915,7 @@ const mr = p.div`
1914
1915
  const E = b.dataTransfer.files;
1915
1916
  E && D(E);
1916
1917
  }, $ = s === "large" ? { minWidth: "360px", maxWidth: "480px", alignSelf: "center" } : {};
1917
- return /* @__PURE__ */ z(J, { children: [
1918
+ return /* @__PURE__ */ z(Z, { children: [
1918
1919
  /* @__PURE__ */ m(
1919
1920
  qt,
1920
1921
  {
@@ -1925,10 +1926,10 @@ const mr = p.div`
1925
1926
  onDrop: (b) => {
1926
1927
  v && (b.preventDefault(), b.stopPropagation());
1927
1928
  },
1928
- children: /* @__PURE__ */ z(J, { children: [
1929
+ children: /* @__PURE__ */ z(Z, { children: [
1929
1930
  c,
1930
1931
  !k && u?.map((b) => /* @__PURE__ */ m(
1931
- ne,
1932
+ ae,
1932
1933
  {
1933
1934
  name: b.file.name,
1934
1935
  size: b.file.size,
@@ -1941,7 +1942,7 @@ const mr = p.div`
1941
1942
  b.file.name
1942
1943
  )),
1943
1944
  o && A[o]?.map((b) => /* @__PURE__ */ m(
1944
- ne,
1945
+ ae,
1945
1946
  {
1946
1947
  ...b,
1947
1948
  type: "upload",
@@ -1979,7 +1980,7 @@ const mr = p.div`
1979
1980
  }
1980
1981
  )
1981
1982
  ] });
1982
- }, fr = p.div`
1983
+ }, vr = p.div`
1983
1984
  position: relative;
1984
1985
  border-radius: var(--border-radius-m);
1985
1986
  display: flex;
@@ -1994,9 +1995,9 @@ const mr = p.div`
1994
1995
  }
1995
1996
 
1996
1997
  flex: 1;
1997
- `, vr = p.div`
1998
+ `, yr = p.div`
1998
1999
  position: relative;
1999
- `, yr = p.span`
2000
+ `, br = p.span`
2000
2001
  position: relative;
2001
2002
  padding: 0px 2px;
2002
2003
  border-radius: var(--border-radius-m);
@@ -2018,7 +2019,7 @@ const mr = p.div`
2018
2019
  color: var(--md-sys-color-on-surface);
2019
2020
  }
2020
2021
  }
2021
- `, br = p.span`
2022
+ `, xr = p.span`
2022
2023
  text-overflow: ellipsis;
2023
2024
  overflow: hidden;
2024
2025
  display: inline-block;
@@ -2029,7 +2030,7 @@ const mr = p.div`
2029
2030
  .icon {
2030
2031
  color: var(--md-sys-color-on-surface);
2031
2032
  }
2032
- `, Jt = p.div`
2033
+ `, Zt = p.div`
2033
2034
  & > span,
2034
2035
  & > li {
2035
2036
  cursor: pointer;
@@ -2052,7 +2053,7 @@ const mr = p.div`
2052
2053
  }
2053
2054
  }
2054
2055
  }
2055
- `, xr = p.div`
2056
+ `, wr = p.div`
2056
2057
  position: absolute;
2057
2058
  top: 100%;
2058
2059
  left: 0px;
@@ -2061,7 +2062,7 @@ const mr = p.div`
2061
2062
 
2062
2063
  z-index: 200;
2063
2064
  padding-top: 4px;
2064
- `, wr = p.ul`
2065
+ `, kr = p.ul`
2065
2066
  display: flex;
2066
2067
  flex-direction: column;
2067
2068
  gap: var(--base-gap-small);
@@ -2076,15 +2077,15 @@ const mr = p.div`
2076
2077
 
2077
2078
  max-height: 500px;
2078
2079
  overflow: auto;
2079
- `, kr = p.li`
2080
+ `, Er = p.li`
2080
2081
  padding: var(--base-gap-small);
2081
2082
  border-radius: var(--border-radius-m);
2082
2083
  color: var(--md-sys-color-on-surface);
2083
2084
  min-width: max-content;
2084
2085
  width: 100%;
2085
- `, Er = q(
2086
- ({ children: e, segment: t, isOpen: r, scope: o, projectName: l, ...n }, a) => {
2087
- const { openSlideOut: c } = Z(), g = t?.type !== "product" && t?.type !== "project", s = () => {
2086
+ `, Tr = q(
2087
+ ({ children: e, segment: t, isOpen: r, scope: o, projectName: l, ...a }, n) => {
2088
+ const { openSlideOut: c } = J(), g = t?.type !== "product" && t?.type !== "project", s = () => {
2088
2089
  if (!g) return;
2089
2090
  const { type: v, id: f } = t || {};
2090
2091
  !v || v === "project" || v === "product" || !f || c({
@@ -2100,7 +2101,7 @@ const mr = p.div`
2100
2101
  }
2101
2102
  ], [i] = ct();
2102
2103
  return /* @__PURE__ */ m(
2103
- Jt,
2104
+ Zt,
2104
2105
  {
2105
2106
  onClick: s,
2106
2107
  onContextMenu: (v) => {
@@ -2109,8 +2110,8 @@ const mr = p.div`
2109
2110
  i(v, f);
2110
2111
  },
2111
2112
  className: lt({ link: g, open: r }),
2112
- ...n,
2113
- ref: a,
2113
+ ...a,
2114
+ ref: n,
2114
2115
  children: e
2115
2116
  }
2116
2117
  );
@@ -2223,8 +2224,8 @@ const mr = p.div`
2223
2224
  entityId: r = "",
2224
2225
  icon: o,
2225
2226
  color: l,
2226
- thumbnailHash: n,
2227
- isLoading: a,
2227
+ thumbnailHash: a,
2228
+ isLoading: n,
2228
2229
  shimmer: c,
2229
2230
  className: g,
2230
2231
  disabled: s,
@@ -2235,7 +2236,7 @@ const mr = p.div`
2235
2236
  }) => {
2236
2237
  const f = t === "project", w = ["product"].includes(t), y = f ? !!e : !!r;
2237
2238
  let x = "";
2238
- t && (n || f) && y && (u ? x = u : x = dt({ projectName: e, entityType: t, entityId: r, thumbnailHash: n }) ?? "");
2239
+ t && (a || f) && y && (u ? x = u : x = dt({ projectName: e, entityType: t, entityId: r, thumbnailHash: a }) ?? "");
2239
2240
  const [F, T] = L(!1), [A, k] = L(!1);
2240
2241
  return V(() => {
2241
2242
  if (x === "") {
@@ -2247,7 +2248,7 @@ const mr = p.div`
2247
2248
  Xt,
2248
2249
  {
2249
2250
  className: U(g, "thumbnail", {
2250
- loading: c && (a || !A),
2251
+ loading: c && (n || !A),
2251
2252
  loaded: A,
2252
2253
  error: F,
2253
2254
  clickable: !!v.onClick,
@@ -2255,7 +2256,7 @@ const mr = p.div`
2255
2256
  }),
2256
2257
  ...v,
2257
2258
  children: [
2258
- (!a || !A) && !s && /* @__PURE__ */ m(P, { style: { color: l || void 0 }, icon: o || "image", className: "type-icon" }),
2259
+ (!n || !A) && !s && /* @__PURE__ */ m(P, { style: { color: l || void 0 }, icon: o || "image", className: "type-icon" }),
2259
2260
  t && e && !w && y && /* @__PURE__ */ m(
2260
2261
  Yt,
2261
2262
  {
@@ -2310,21 +2311,21 @@ const mr = p.div`
2310
2311
  object-fit: cover;
2311
2312
  }
2312
2313
  }
2313
- `, Tr = ({
2314
+ `, Sr = ({
2314
2315
  thumbnails: e = [],
2315
2316
  isLoading: t,
2316
2317
  className: r,
2317
2318
  style: o,
2318
2319
  ...l
2319
2320
  }) => {
2320
- const { onContextMenu: n } = Ee(rt);
2321
+ const { onContextMenu: a } = Ee(rt);
2321
2322
  e = e.slice(0, 5);
2322
- const a = e.length > 1;
2323
+ const n = e.length > 1;
2323
2324
  return e.length ? /* @__PURE__ */ m(
2324
2325
  to,
2325
2326
  {
2326
2327
  $length: e.length,
2327
- className: U("stacked-thumbnails", r, { stacking: a }),
2328
+ className: U("stacked-thumbnails", r, { stacking: n }),
2328
2329
  children: e.map(
2329
2330
  (c, g) => c ? /* @__PURE__ */ m(
2330
2331
  eo,
@@ -2338,7 +2339,7 @@ const mr = p.div`
2338
2339
  thumbnailHash: c.thumbnailHash,
2339
2340
  isLoading: t,
2340
2341
  src: c.src,
2341
- onContextMenu: n,
2342
+ onContextMenu: a,
2342
2343
  ...l
2343
2344
  },
2344
2345
  c.id || c.src || g
@@ -2346,15 +2347,15 @@ const mr = p.div`
2346
2347
  )
2347
2348
  }
2348
2349
  ) : null;
2349
- }, Sr = q(
2350
- ({ entities: e, entityType: t, onWatchersUpdate: r, userName: o, ...l }, n) => {
2351
- const a = e.map((i) => ({
2350
+ }, Dr = q(
2351
+ ({ entities: e, entityType: t, onWatchersUpdate: r, userName: o, ...l }, a) => {
2352
+ const n = e.map((i) => ({
2352
2353
  entityId: i.id,
2353
2354
  entityType: t,
2354
2355
  projectName: i.projectName
2355
2356
  })), { data: c = [] } = Ye(
2356
2357
  {
2357
- entities: a
2358
+ entities: n
2358
2359
  },
2359
2360
  { skip: !e.length }
2360
2361
  ), g = Array.from(new Set(c.flatMap((i) => i.watchers))), [s] = et(), u = async (i) => {
@@ -2380,61 +2381,61 @@ const mr = p.div`
2380
2381
  value: g,
2381
2382
  currentUser: o,
2382
2383
  onChange: u,
2383
- ref: n,
2384
+ ref: a,
2384
2385
  buttonProps: { "data-tooltip": "Watchers" }
2385
2386
  }
2386
2387
  );
2387
2388
  }
2388
2389
  );
2389
2390
  export {
2390
- Jo as A,
2391
- Ko as B,
2392
- cr as C,
2393
- lr as D,
2394
- or as E,
2395
- br as F,
2396
- Qo as G,
2397
- _o as H,
2398
- rr as I,
2399
- er as J,
2400
- tr as K,
2401
- mr as L,
2402
- xr as M,
2391
+ Xo as A,
2392
+ Jo as B,
2393
+ dr as C,
2394
+ cr as D,
2395
+ rr as E,
2396
+ xr as F,
2397
+ qo as G,
2398
+ Qo as H,
2399
+ nr as I,
2400
+ tr as J,
2401
+ or as K,
2402
+ gr as L,
2403
+ wr as M,
2403
2404
  ar as N,
2404
- qo as O,
2405
- pr as P,
2406
- Xo as Q,
2407
- ur as R,
2408
- yr as S,
2405
+ Go as O,
2406
+ ur as P,
2407
+ Yo as Q,
2408
+ mr as R,
2409
+ br as S,
2409
2410
  Zo as T,
2410
- dr as U,
2411
- nr as V,
2412
- Sr as W,
2413
- Yo as X,
2414
- gr as a,
2415
- hr as b,
2416
- ne as c,
2417
- ir as d,
2418
- sr as e,
2419
- fr as f,
2420
- wr as g,
2421
- Er as h,
2422
- kr as i,
2423
- vr as j,
2424
- Bo as k,
2411
+ pr as U,
2412
+ ir as V,
2413
+ Dr as W,
2414
+ er as X,
2415
+ hr as a,
2416
+ fr as b,
2417
+ ae as c,
2418
+ sr as d,
2419
+ lr as e,
2420
+ vr as f,
2421
+ kr as g,
2422
+ Tr as h,
2423
+ Er as i,
2424
+ yr as j,
2425
+ Ho as k,
2425
2426
  mt as l,
2426
2427
  yt as m,
2427
- Vo as n,
2428
+ Bo as n,
2428
2429
  xt as o,
2429
2430
  wt as p,
2430
2431
  Ft as q,
2431
2432
  At as r,
2432
- Ho as s,
2433
+ _o as s,
2433
2434
  he as t,
2434
- Zt as u,
2435
+ Jt as u,
2435
2436
  Ut as v,
2436
- Tr as w,
2437
+ Sr as w,
2437
2438
  eo as x,
2438
2439
  bt as y,
2439
- Go as z
2440
+ Ko as z
2440
2441
  };