@ynput/ayon-frontend-shared 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/ContextMenu.es.js +34 -16
  2. package/dist/DetailsPanel.es.js +292 -298
  3. package/dist/Feed.es.js +179 -50
  4. package/dist/ListTable.es.js +32 -35
  5. package/dist/NewEntity.es.js +1256 -11
  6. package/dist/ProjectTreeTable.es.js +4451 -2965
  7. package/dist/SimpleTable.es.js +8 -7
  8. package/dist/Slicer.es.js +451 -147
  9. package/dist/Views.es.js +918 -310
  10. package/dist/chunks/Actions.es.js +9 -4
  11. package/dist/chunks/ColumnDropIndicator.es.js +174 -328
  12. package/dist/chunks/ColumnDropIndicator.styled.es.js +281 -0
  13. package/dist/chunks/ColumnHeaderMenuUI.es.js +52 -0
  14. package/dist/chunks/ContextMenuContextInstance.es.js +12 -0
  15. package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +229 -0
  16. package/dist/chunks/DeleteEntitiesContextInstance.es.js +827 -0
  17. package/dist/chunks/EmptyPlaceholder.es.js +4 -4
  18. package/dist/chunks/EntityPath.es.js +58 -53
  19. package/dist/chunks/EntityPickerDialog.es.js +24 -20
  20. package/dist/chunks/EntityTooltip.es.js +20 -13
  21. package/dist/chunks/EntityUpdatesContext.es.js +38 -96
  22. package/dist/chunks/Feed.es.js +1495 -1439
  23. package/dist/chunks/FilterErrorActions.es.js +25 -229
  24. package/dist/chunks/Menu.es.js +21 -17
  25. package/dist/chunks/MenuContext.es.js +14 -65
  26. package/dist/chunks/MenuItem.es.js +34 -24
  27. package/dist/chunks/MetaWidget.es.js +2835 -4301
  28. package/dist/chunks/NewEntityContextInstance.es.js +11 -0
  29. package/dist/chunks/PlayableIcon.es.js +1532 -1594
  30. package/dist/chunks/ProjectContext.es.js +102 -66
  31. package/dist/chunks/RepresentationsList.es.js +1 -1
  32. package/dist/chunks/ReviewablesSelector.es.js +457 -458
  33. package/dist/chunks/SimpleForm.es.js +9 -9
  34. package/dist/chunks/SimpleTable.es.js +15 -13
  35. package/dist/chunks/Slicer.es.js +163 -154
  36. package/dist/chunks/TableSettingsFallback.es.js +25 -13
  37. package/dist/chunks/ThumbnailSimple.es.js +150 -261
  38. package/dist/chunks/VersionUploadContextInstance.es.js +12 -0
  39. package/dist/chunks/VideoPlayer.es.js +24 -28
  40. package/dist/chunks/Watchers.es.js +384 -389
  41. package/dist/chunks/entityDefinitions.es.js +2 -350
  42. package/dist/chunks/extractVersionFromFilename.es.js +28 -0
  43. package/dist/chunks/getBundleMode.es.js +61 -16
  44. package/dist/chunks/getUris.es.js +737 -712
  45. package/dist/chunks/searchTerms.es.js +57 -56
  46. package/dist/chunks/useAttributeEnums.es.js +4 -4
  47. package/dist/chunks/useCreateContextMenu.es.js +66 -90
  48. package/dist/chunks/useHierarchySelection.es.js +24 -0
  49. package/dist/chunks/useLoadModule.es.js +74 -0
  50. package/dist/chunks/useQueryArgumentChangeLoading.es.js +11 -0
  51. package/dist/chunks/versionUploadHelpers.es.js +16 -42
  52. package/dist/chunks/viewUpdateHelper.es.js +67 -50
  53. package/dist/components.es.js +1425 -999
  54. package/dist/context.es.js +791 -80
  55. package/dist/hooks.es.js +115 -120
  56. package/dist/index.es.js +19 -23
  57. package/dist/types/Actions.d.ts +7 -7
  58. package/dist/types/ContextMenu.d.ts +11 -8
  59. package/dist/types/DetailsPanel.d.ts +102 -9
  60. package/dist/types/EntityPickerDialog.d.ts +7 -7
  61. package/dist/types/Feed.d.ts +11 -8
  62. package/dist/types/ListTable.d.ts +7 -7
  63. package/dist/types/NewEntity.d.ts +16 -10
  64. package/dist/types/ProjectTreeTable.d.ts +22 -115
  65. package/dist/types/RepresentationsList.d.ts +7 -7
  66. package/dist/types/SimpleTable.d.ts +11 -8
  67. package/dist/types/Slicer.d.ts +10 -7
  68. package/dist/types/Views.d.ts +10 -7
  69. package/dist/types/api.d.ts +132 -120
  70. package/dist/types/components.d.ts +13 -8
  71. package/dist/types/context.d.ts +56 -16
  72. package/dist/types/hooks.d.ts +7 -7
  73. package/dist/types/index.d.ts +7 -7
  74. package/dist/types/util.d.ts +12 -7
  75. package/dist/util.es.js +72 -71
  76. package/package.json +1 -1
  77. package/dist/chunks/DeleteEntitiesContext.es.js +0 -748
  78. package/dist/chunks/DetailsPanelContext.es.js +0 -155
  79. package/dist/chunks/GlobalContext.es.js +0 -52
  80. package/dist/chunks/NewEntityContext.es.js +0 -1242
  81. package/dist/chunks/ProjectFoldersContext.es.js +0 -134
  82. package/dist/chunks/ProjectFoldersContextInstance.es.js +0 -7
  83. package/dist/chunks/VersionUploadContext.es.js +0 -232
  84. package/dist/chunks/ViewsContext.es.js +0 -878
  85. package/dist/chunks/uriUtils.es.js +0 -48
  86. package/dist/chunks/useColumnDragRestriction.es.js +0 -158
  87. package/dist/chunks/useLocalStorage.es.js +0 -355
  88. package/dist/chunks/useSessionStorage.es.js +0 -61
  89. /package/dist/{useCreateContextMenu.css → ContextMenuContextInstance.css} +0 -0
@@ -1,29 +1,24 @@
1
- import { jsx as g, jsxs as A, Fragment as G } from "react/jsx-runtime";
1
+ import { jsx as g, jsxs as N, Fragment as G } from "react/jsx-runtime";
2
2
  import { useMemo as L, useCallback as B, useState as M, useEffect as O, useRef as K, forwardRef as H, useContext as ye } from "react";
3
3
  import { upperFirst as be, intersectionBy as ae } from "lodash";
4
4
  import "primereact/confirmdialog";
5
5
  import { toast as Q } from "react-toastify";
6
6
  import { c as _ } from "./copyToClipboard.es.js";
7
7
  import "uuid";
8
- import { aw as ne, aY as xe, bj as ie, a$ as we, b0 as ke, b1 as Ee, bg as Te, bn as Se, bu as De, bi as je, a as I } from "./searchTerms.es.js";
8
+ import { aw as ne, aY as xe, bh as ie, a$ as we, b0 as ke, b1 as Ee, bj as Te, bn as Se, bv as De, bg as je, a as I, bo as Fe } from "./searchTerms.es.js";
9
9
  import d, { keyframes as se, css as le } from "styled-components";
10
10
  import z from "clsx";
11
- import { BorderedSection as V, Button as P, StatusSelect as Fe, AssigneeSelect as Ce, TagsSelect as Ne, EnumDropdown as Ae, Icon as U, getMimeTypeIcon as $e, theme as Re, getFileSizeString as ze, WatcherSelect as Me } from "@ynput/ayon-react-components";
12
- import { j as Ue, M as Le, T as Pe, i as We, B as Oe, D as Ie } from "./MetaWidget.es.js";
11
+ import { BorderedSection as V, Button as P, StatusSelect as Ce, AssigneeSelect as Ae, TagsSelect as Ne, EnumDropdown as $e, Icon as U, getMimeTypeIcon as Re, theme as ze, getFileSizeString as Me, WatcherSelect as Ue } from "@ynput/ayon-react-components";
12
+ import { m as Le, M as Pe, T as We, l as Oe, B as Ie, D as Ve } from "./MetaWidget.es.js";
13
13
  import "./PlayableIcon.es.js";
14
- import { df as Ve, c6 as ce, bf as Be, an as He, bu as Qe, d3 as _e } from "./getUris.es.js";
15
- import "./useLocalStorage.es.js";
14
+ import { df as Be, c6 as ce, bf as He, an as Qe, bu as _e, d3 as qe } from "./getUris.es.js";
16
15
  import "@module-federation/enhanced/runtime";
16
+ import { v as q, d as Ge, x as Ke, T as Ye } from "./DeleteEntitiesContextInstance.es.js";
17
17
  import "semver";
18
- import "./MenuContext.es.js";
19
- import { T as qe } from "./DeleteEntitiesContext.es.js";
18
+ import "./ContextMenuContextInstance.es.js";
20
19
  import "react-dom";
21
- import { u as Ge } from "./GlobalContext.es.js";
22
- import { a as Ke } from "./ProjectContext.es.js";
23
- import "./ProjectFoldersContextInstance.es.js";
24
20
  import "react-redux";
25
- import "./ViewsContext.es.js";
26
- import { format as Ye } from "date-fns";
21
+ import { format as Ze } from "date-fns";
27
22
  import "lexical";
28
23
  import "@lexical/markdown";
29
24
  import "@lexical/react/LexicalBlockWithAlignableContents";
@@ -36,15 +31,14 @@ import "@lexical/selection";
36
31
  import "@lexical/utils";
37
32
  import "react-router-dom";
38
33
  import "@tanstack/react-table";
39
- import { a as Ze } from "./useCreateContextMenu.es.js";
40
34
  import { g as Je, h as Y } from "./humanizeFieldName.es.js";
41
- import { u as q } from "./DetailsPanelContext.es.js";
42
- import { b as Xe, A as et } from "./ThumbnailSimple.es.js";
35
+ import { a as Xe, A as et } from "./ThumbnailSimple.es.js";
43
36
  import de from "axios";
44
37
  import { p as W } from "./parseFilename.es.js";
45
38
  import { classNames as tt } from "primereact/utils";
46
- import { g as ot } from "./getThumbnailUrl.es.js";
47
- const Z = [], rt = (e) => {
39
+ import { u as ot } from "./useCreateContextMenu.es.js";
40
+ import { g as rt } from "./getThumbnailUrl.es.js";
41
+ const Z = [], at = (e) => {
48
42
  const { data: t, isError: r } = Ee(void 0, { skip: !e });
49
43
  return L(
50
44
  () => ({
@@ -54,7 +48,7 @@ const Z = [], rt = (e) => {
54
48
  }),
55
49
  [t, r, e]
56
50
  );
57
- }, Vo = () => {
51
+ }, Lo = () => {
58
52
  const [e] = we(), [t] = ke();
59
53
  return B(
60
54
  async (r, o) => {
@@ -68,12 +62,12 @@ const Z = [], rt = (e) => {
68
62
  if (n.error) throw new Error(n.error);
69
63
  return ie(n.items);
70
64
  } catch (n) {
71
- throw at(n);
65
+ throw nt(n);
72
66
  }
73
67
  },
74
68
  [e, t]
75
69
  );
76
- }, at = (e) => {
70
+ }, nt = (e) => {
77
71
  if (e instanceof Error) return e;
78
72
  const {
79
73
  message: t,
@@ -82,27 +76,27 @@ const Z = [], rt = (e) => {
82
76
  error: i
83
77
  } = e || {};
84
78
  return typeof r?.detail == "string" ? new Error(r.detail) : typeof i == "string" ? new Error(i) : typeof t == "string" ? new Error(t) : new Error(o ? `Request failed (${o})` : "Request failed");
85
- }, nt = (e, { projectName: t, skip: r } = {}) => {
86
- const o = e?.enumResolver, { acceptedParams: i, isRegistryLoaded: a } = rt(o), n = L(
79
+ }, it = (e, { projectName: t, skip: r } = {}) => {
80
+ const o = e?.enumResolver, { acceptedParams: i, isRegistryLoaded: a } = at(o), n = L(
87
81
  () => ne(e, { projectName: t }, i),
88
82
  // eslint-disable-next-line react-hooks/exhaustive-deps
89
83
  [o, e?.enumResolverSettings, t, i]
90
84
  ), {
91
85
  currentData: s,
92
- isFetching: v,
86
+ isFetching: f,
93
87
  isError: y
94
88
  } = xe(n, {
95
89
  // waiting for the registry keeps the cache key final: no request is sent with params that get dropped
96
90
  skip: !o || !!r || !a
97
- }), c = L(() => o ? s ? ie(s.items) : Z : e?.enum || Z, [o, s, e?.enum]), l = !!o && !v && (y || !!s?.error);
91
+ }), l = L(() => o ? s ? ie(s.items) : Z : e?.enum || Z, [o, s, e?.enum]), c = !!o && !f && (y || !!s?.error);
98
92
  return {
99
- options: c,
93
+ options: l,
100
94
  // a background refetch (tag invalidation) keeps the cached options, so it is not a load
101
- isLoading: !!o && !r && (!a || v && !s),
102
- isError: l,
103
- errorMessage: l ? s?.error : void 0
95
+ isLoading: !!o && !r && (!a || f && !s),
96
+ isError: c,
97
+ errorMessage: c ? s?.error : void 0
104
98
  };
105
- }, it = [
99
+ }, st = [
106
100
  "id",
107
101
  "name",
108
102
  "label",
@@ -124,7 +118,7 @@ const Z = [], rt = (e) => {
124
118
  "path",
125
119
  "createdAt",
126
120
  "updatedAt"
127
- ], st = [
121
+ ], lt = [
128
122
  "name",
129
123
  "label",
130
124
  "taskType",
@@ -132,11 +126,11 @@ const Z = [], rt = (e) => {
132
126
  "productType",
133
127
  "tags",
134
128
  "status"
135
- ], lt = (e, t) => {
129
+ ], ct = (e, t) => {
136
130
  const [r, o] = M([]), [i, a] = M(null), n = () => {
137
- const y = {}, c = /* @__PURE__ */ new Set();
131
+ const y = {}, l = /* @__PURE__ */ new Set();
138
132
  e.forEach((h) => {
139
- const f = {
133
+ const v = {
140
134
  id: h.id,
141
135
  name: h.name,
142
136
  label: h.label,
@@ -152,8 +146,8 @@ const Z = [], rt = (e) => {
152
146
  taskType: h.task?.taskType,
153
147
  description: h.attrib?.description?.toString() ?? ""
154
148
  };
155
- Object.keys(f).forEach((u) => {
156
- it.includes(u) && (y[u] = y[u] || [], y[u].push(f[u]));
149
+ Object.keys(v).forEach((u) => {
150
+ st.includes(u) && (y[u] = y[u] || [], y[u].push(v[u]));
157
151
  }), h.attrib && Object.keys(h.attrib).forEach((u) => {
158
152
  if (u !== "description") {
159
153
  const k = `attrib.${u}`;
@@ -161,28 +155,28 @@ const Z = [], rt = (e) => {
161
155
  }
162
156
  });
163
157
  });
164
- const l = Object.entries(y).reduce((h, [f, u]) => {
158
+ const c = Object.entries(y).reduce((h, [v, u]) => {
165
159
  const { value: k, isMixed: b } = Je(u);
166
- return h[f] = k, b && c.add(f), h;
160
+ return h[v] = k, b && l.add(v), h;
167
161
  }, {});
168
- a(l), o(Array.from(c));
162
+ a(c), o(Array.from(l));
169
163
  };
170
164
  return O(() => {
171
165
  t || e.length === 0 || n();
172
166
  }, [e, t]), {
173
167
  formData: i,
174
168
  mixedFields: r,
175
- updateFormData: (y, c) => {
176
- a((l) => l && {
177
- ...l,
178
- [y]: c
169
+ updateFormData: (y, l) => {
170
+ a((c) => c && {
171
+ ...c,
172
+ [y]: l
179
173
  });
180
174
  },
181
175
  clearMixedField: (y) => {
182
- o((c) => c.filter((l) => l !== y));
176
+ o((l) => l.filter((c) => c !== y));
183
177
  }
184
178
  };
185
- }, ct = ({
179
+ }, dt = ({
186
180
  attributes: e,
187
181
  folderTypes: t,
188
182
  taskTypes: r,
@@ -192,7 +186,7 @@ const Z = [], rt = (e) => {
192
186
  folderHasVersions: n
193
187
  }) => {
194
188
  const s = L(() => {
195
- const l = [
189
+ const c = [
196
190
  {
197
191
  name: "name",
198
192
  data: {
@@ -273,10 +267,10 @@ const Z = [], rt = (e) => {
273
267
  }
274
268
  } : m
275
269
  ), h = a === "version" ? [
276
- ...l.map(
270
+ ...c.map(
277
271
  (m) => ["tags", "status"].includes(m.name) ? m : { ...m, readonly: !0 }
278
272
  )
279
- ] : l, f = a ? e.filter((m) => m.scope?.includes(a) && m.name !== "description").map((m) => ({
273
+ ] : c, v = a ? e.filter((m) => m.scope?.includes(a) && m.name !== "description").map((m) => ({
280
274
  name: "attrib." + m.name,
281
275
  data: m.data,
282
276
  ...a === "version" && m.builtin ? { readonly: !0 } : {}
@@ -287,38 +281,38 @@ const Z = [], rt = (e) => {
287
281
  type: "string",
288
282
  title: be(m)
289
283
  }
290
- })), k = [...h, ...f, ...u], b = ["path", "name"];
284
+ })), k = [...h, ...v, ...u], b = ["path", "name"];
291
285
  return [...k].sort((m, T) => {
292
286
  const j = b.indexOf(m.name), w = b.indexOf(T.name);
293
287
  return j === -1 && w === -1 ? 0 : j === -1 ? 1 : w === -1 ? -1 : j - w;
294
288
  });
295
- }, [e, t, r, o, i, a, n]), v = s.filter(
296
- (c) => st.includes(c.name) || c.name.startsWith("attrib.")
289
+ }, [e, t, r, o, i, a, n]), f = s.filter(
290
+ (l) => lt.includes(l.name) || l.name.startsWith("attrib.")
297
291
  ), y = s.filter(
298
- (c) => J.includes(c.name)
292
+ (l) => J.includes(l.name)
299
293
  );
300
294
  return {
301
295
  fields: s,
302
- editableFields: v,
296
+ editableFields: f,
303
297
  readOnlyFieldsData: y
304
298
  };
305
- }, dt = ({ entities: e, entityType: t }) => {
306
- const [r] = Ve(), { onUpdateEntity: o } = q();
299
+ }, pt = ({ entities: e, entityType: t }) => {
300
+ const [r] = Be(), { onUpdateEntity: o } = q();
307
301
  return { updateEntity: async (a, n) => {
308
302
  if (n == null) {
309
303
  console.error("value is null or undefined");
310
304
  return;
311
305
  }
312
306
  try {
313
- const s = e.map((v) => ({
314
- id: v.id,
315
- projectName: v.projectName,
307
+ const s = e.map((f) => ({
308
+ id: f.id,
309
+ projectName: f.projectName,
316
310
  data: {
317
311
  [a]: n
318
312
  },
319
- currentAssignees: v.users,
313
+ currentAssignees: f.users,
320
314
  meta: {
321
- folderId: v.folderId
315
+ folderId: f.folderId
322
316
  }
323
317
  }));
324
318
  await r({ operations: s, entityType: t }), o?.({ operations: s, entityType: t });
@@ -326,8 +320,8 @@ const Z = [], rt = (e) => {
326
320
  Q.error(`Error updating ${t}`);
327
321
  }
328
322
  } };
329
- }, pt = ({ entities: e, entityType: t }) => {
330
- const { updateEntity: o } = dt({
323
+ }, ut = ({ entities: e, entityType: t }) => {
324
+ const { updateEntity: o } = pt({
331
325
  entities: e.map((i) => ({
332
326
  id: i.id,
333
327
  projectName: i.projectName || "",
@@ -340,7 +334,7 @@ const Z = [], rt = (e) => {
340
334
  enableEditing: !0,
341
335
  updateEntity: o
342
336
  };
343
- }, ut = (e, t) => {
337
+ }, mt = (e, t) => {
344
338
  const r = ce({ projects: [...new Set(e).values()] });
345
339
  if (!r || !r.data)
346
340
  return [];
@@ -356,12 +350,12 @@ const Z = [], rt = (e) => {
356
350
  o = ae(o, a, "name");
357
351
  }
358
352
  return o;
359
- }, Bo = (e, t) => {
353
+ }, Po = (e, t) => {
360
354
  let r = Object.values(e || {});
361
355
  return r.length == 0 || r[0].scope === void 0 ? r : r.filter(
362
356
  (o) => t.every((i) => o.scope === void 0 || o.scope.includes(i))
363
357
  );
364
- }, mt = (e, t) => {
358
+ }, gt = (e, t) => {
365
359
  const r = ce({ projects: [...new Set(e).values()] });
366
360
  if (!r || !r.data)
367
361
  return [];
@@ -375,7 +369,7 @@ const Z = [], rt = (e) => {
375
369
  o = ae(o, a, "name");
376
370
  }
377
371
  return o || [];
378
- }, gt = d.div`
372
+ }, ht = d.div`
379
373
  width: 100%;
380
374
  overflow: hidden;
381
375
  text-overflow: ellipsis;
@@ -385,7 +379,7 @@ const Z = [], rt = (e) => {
385
379
  input {
386
380
  text-align: left;
387
381
  }
388
- `, ht = d(Ue)`
382
+ `, ft = d(Le)`
389
383
  .enum,
390
384
  .edit-trigger {
391
385
  &:hover {
@@ -395,7 +389,7 @@ const Z = [], rt = (e) => {
395
389
  &:hover {
396
390
  background-color: unset;
397
391
  }
398
- `, ft = ({
392
+ `, vt = ({
399
393
  field: e,
400
394
  value: t,
401
395
  isEditing: r,
@@ -404,32 +398,32 @@ const Z = [], rt = (e) => {
404
398
  onChange: a,
405
399
  onCancelEdit: n,
406
400
  onExpand: s,
407
- entities: v = [],
401
+ entities: f = [],
408
402
  entityType: y = "task",
409
- projectName: c
403
+ projectName: l
410
404
  }) => {
411
- const { type: l, widget: h } = e.data, f = {
405
+ const { type: c, widget: h } = e.data, v = {
412
406
  isEditing: r && !o,
413
407
  isReadOnly: o,
414
408
  isInherited: !1,
415
409
  onChange: (C) => a(e.name, C)
416
- }, u = v.map((C) => C.projectName), k = ut(u, [y]), b = mt(u, y), E = c || u[0], {
410
+ }, u = f.map((C) => C.projectName), k = mt(u, [y]), b = gt(u, y), E = l || u[0], {
417
411
  options: m,
418
412
  isLoading: T,
419
413
  isError: j,
420
414
  errorMessage: w
421
- } = nt(e.data, { projectName: E }), S = j ? je(w) : void 0, F = e.name === "attrib.endDate" && v.length > 0 && v.every((C) => C.data?.schedulerSyncData?.allDay === !0);
415
+ } = it(e.data, { projectName: E }), S = j ? je(w) : void 0, F = e.name === "attrib.endDate" && f.length > 0 && f.every((C) => C.data?.schedulerSyncData?.allDay === !0);
422
416
  let D = t ?? "";
423
417
  const $ = e.data.title || e.name;
424
418
  switch (!0) {
425
- case l === "boolean":
426
- return /* @__PURE__ */ g(Oe, { value: !!D, ...f, style: { margin: 0 } });
427
- case l === "datetime":
419
+ case c === "boolean":
420
+ return /* @__PURE__ */ g(Ie, { value: !!D, ...v, style: { margin: 0 } });
421
+ case c === "datetime":
428
422
  return /* @__PURE__ */ g(
429
- We,
423
+ Oe,
430
424
  {
431
425
  value: D,
432
- ...f,
426
+ ...v,
433
427
  isEditing: !0,
434
428
  onCancelEdit: n,
435
429
  style: { width: "fit-content" },
@@ -438,7 +432,7 @@ const Z = [], rt = (e) => {
438
432
  }
439
433
  );
440
434
  case Te(e.data): {
441
- const C = l?.includes("list");
435
+ const C = c?.includes("list");
442
436
  let R = [];
443
437
  C ? R = Array.isArray(D) ? D : [] : i ? R = [] : R = [D];
444
438
  let x = m.map((p) => ({
@@ -449,12 +443,12 @@ const Z = [], rt = (e) => {
449
443
  group: p.group,
450
444
  hidden: p.hidden
451
445
  }));
452
- return e.name === "status" && v.length > 0 && k && k.length > 0 && (x = k.map((p) => ({
446
+ return e.name === "status" && f.length > 0 && k && k.length > 0 && (x = k.map((p) => ({
453
447
  value: p.name,
454
448
  label: p.name,
455
449
  icon: p.icon,
456
450
  color: p.color
457
- }))), e.name === "taskType" && v.length > 0 && b && b.length > 0 && (x = b.map((p) => ({
451
+ }))), e.name === "taskType" && f.length > 0 && b && b.length > 0 && (x = b.map((p) => ({
458
452
  value: p.name,
459
453
  label: p.name,
460
454
  icon: p.icon,
@@ -463,12 +457,12 @@ const Z = [], rt = (e) => {
463
457
  { value: "", label: `No ${e.data.title || e.name}` },
464
458
  ...x
465
459
  ]), /* @__PURE__ */ g(
466
- ht,
460
+ ft,
467
461
  {
468
462
  "data-tooltip": S,
469
463
  value: R,
470
464
  options: x,
471
- type: l,
465
+ type: c,
472
466
  pt: {
473
467
  template: {
474
468
  style: { height: 32 },
@@ -483,32 +477,32 @@ const Z = [], rt = (e) => {
483
477
  isLoadingOptions: T,
484
478
  search: e.enableSearch ?? x.length >= 5,
485
479
  sortBySelected: !x,
486
- ...f
480
+ ...v
487
481
  }
488
482
  );
489
483
  }
490
- case (l === "string" || l === "integer" || l === "float"):
484
+ case (c === "string" || c === "integer" || c === "float"):
491
485
  default:
492
486
  return h === "markdown" ? /* @__PURE__ */ g(
493
- Le,
487
+ Pe,
494
488
  {
495
489
  value: D.toString(),
496
490
  onCancelEdit: n,
497
491
  onExpand: s,
498
492
  showExpand: !!s,
499
- ...f
493
+ ...v
500
494
  }
501
- ) : /* @__PURE__ */ g(gt, { children: /* @__PURE__ */ g(
502
- Pe,
495
+ ) : /* @__PURE__ */ g(ht, { children: /* @__PURE__ */ g(
496
+ We,
503
497
  {
504
498
  value: D.toString(),
505
499
  onCancelEdit: n,
506
- type: l,
507
- ...f
500
+ type: c,
501
+ ...v
508
502
  }
509
503
  ) });
510
504
  }
511
- }, vt = d.div`
505
+ }, yt = d.div`
512
506
  color: var(--md-sys-color-outline);
513
507
  white-space: nowrap;
514
508
  overflow: hidden;
@@ -522,7 +516,7 @@ const Z = [], rt = (e) => {
522
516
  }) => {
523
517
  const i = t.title ? Y(t.title) : Y(e), a = r ? `${i} (${e}) ${t.description ? "-" : ""} ${t.description || ""}` : t.description || i;
524
518
  return /* @__PURE__ */ g(
525
- vt,
519
+ yt,
526
520
  {
527
521
  "data-tooltip": r ? a : void 0,
528
522
  "data-tooltip-delay": 700,
@@ -564,7 +558,7 @@ const Z = [], rt = (e) => {
564
558
  margin-top: 6px;
565
559
  }
566
560
  }
567
- `, yt = d.div`
561
+ `, bt = d.div`
568
562
  height: 32px;
569
563
  overflow: hidden;
570
564
  width: 100%;
@@ -600,7 +594,7 @@ const Z = [], rt = (e) => {
600
594
  &.readonly {
601
595
  pointer-events: none;
602
596
  }
603
- `, bt = d.div`
597
+ `, xt = d.div`
604
598
  display: flex;
605
599
  flex-direction: column;
606
600
  gap: var(--base-gap-small);
@@ -610,7 +604,7 @@ const Z = [], rt = (e) => {
610
604
  height: 32px;
611
605
  padding: 2px;
612
606
  }
613
- `, xt = d(ue)`
607
+ `, wt = d(ue)`
614
608
  &.loading {
615
609
  width: 100%;
616
610
  height: 33px;
@@ -618,7 +612,7 @@ const Z = [], rt = (e) => {
618
612
  border-radius: 4px;
619
613
  margin-bottom: 4px;
620
614
  }
621
- `, wt = ({
615
+ `, kt = ({
622
616
  title: e,
623
617
  isLoading: t,
624
618
  form: r,
@@ -627,27 +621,27 @@ const Z = [], rt = (e) => {
627
621
  mixedFields: a,
628
622
  onChange: n,
629
623
  entities: s = [],
630
- projectName: v,
624
+ projectName: f,
631
625
  entityType: y = "task"
632
626
  }) => {
633
- const [c, l] = M(null), h = L(
627
+ const [l, c] = M(null), h = L(
634
628
  () => s.map((b) => b?.id).join("|"),
635
629
  [s]
636
630
  );
637
631
  O(() => {
638
- l(null);
632
+ c(null);
639
633
  }, [h]);
640
- const f = (b) => {
641
- i && !o.find((E) => E.name === b)?.readonly ? l(b) : console.log("Editing not allowed:", {
634
+ const v = (b) => {
635
+ i && !o.find((E) => E.name === b)?.readonly ? c(b) : console.log("Editing not allowed:", {
642
636
  enableEditing: i,
643
637
  fieldReadonly: o.find((E) => E.name === b)?.readonly
644
638
  });
645
639
  }, u = (b, E) => {
646
- l(null), n?.(b, E);
640
+ c(null), n?.(b, E);
647
641
  }, k = () => {
648
- l(null);
642
+ c(null);
649
643
  };
650
- return t ? /* @__PURE__ */ g(V, { title: "Attributes", withPadding: !0, children: Array.from({ length: 10 }).map((b, E) => /* @__PURE__ */ A(xt, { children: [
644
+ return t ? /* @__PURE__ */ g(V, { title: "Attributes", withPadding: !0, children: Array.from({ length: 10 }).map((b, E) => /* @__PURE__ */ N(wt, { children: [
651
645
  /* @__PURE__ */ g("div", { className: "loading" }),
652
646
  /* @__PURE__ */ g("div", { className: "loading" })
653
647
  ] }, E)) }) : /* @__PURE__ */ g(
@@ -659,8 +653,8 @@ const Z = [], rt = (e) => {
659
653
  withPadding: !0,
660
654
  pt: { content: { style: { minHeight: "unset" } } },
661
655
  children: o.filter((b) => !b.hidden).map((b) => {
662
- const E = r[b.name], m = c === b.name, T = b.readonly || !i, j = a?.includes(b.name) || !1;
663
- return /* @__PURE__ */ A(
656
+ const E = r[b.name], m = l === b.name, T = b.readonly || !i, j = a?.includes(b.name) || !1;
657
+ return /* @__PURE__ */ N(
664
658
  ue,
665
659
  {
666
660
  className: z("field-row", { "multi-line": b.data.widget === "markdown" }),
@@ -675,17 +669,17 @@ const Z = [], rt = (e) => {
675
669
  }
676
670
  ),
677
671
  /* @__PURE__ */ g(
678
- yt,
672
+ bt,
679
673
  {
680
674
  className: z("field-value", {
681
675
  editing: m,
682
676
  readonly: T
683
677
  }),
684
678
  onClick: (w) => {
685
- w.target.closest("a") || (w.preventDefault(), !m && !T && b.data.type !== "boolean" && f(b.name));
679
+ w.target.closest("a") || (w.preventDefault(), !m && !T && b.data.type !== "boolean" && v(b.name));
686
680
  },
687
681
  children: /* @__PURE__ */ g(
688
- ft,
682
+ vt,
689
683
  {
690
684
  field: b,
691
685
  value: E,
@@ -697,13 +691,13 @@ const Z = [], rt = (e) => {
697
691
  onExpand: () => {
698
692
  },
699
693
  entities: s,
700
- projectName: v,
694
+ projectName: f,
701
695
  entityType: y
702
696
  }
703
697
  )
704
698
  }
705
699
  ),
706
- /* @__PURE__ */ g(bt, { className: "field-tools", children: /* @__PURE__ */ g(
700
+ /* @__PURE__ */ g(xt, { className: "field-tools", children: /* @__PURE__ */ g(
707
701
  P,
708
702
  {
709
703
  className: "tool",
@@ -744,7 +738,7 @@ const Z = [], rt = (e) => {
744
738
  &:hover .copy-icon {
745
739
  opacity: 1;
746
740
  }
747
- `, kt = d.div`
741
+ `, Et = d.div`
748
742
  text-align: left;
749
743
  color: var(--md-sys-color-on-surface);
750
744
  white-space: nowrap;
@@ -770,7 +764,7 @@ const Z = [], rt = (e) => {
770
764
  opacity: 0.5;
771
765
  }
772
766
  }
773
- `, Et = ({
767
+ `, Tt = ({
774
768
  fields: e,
775
769
  form: t,
776
770
  mixedFields: r = [],
@@ -781,28 +775,28 @@ const Z = [], rt = (e) => {
781
775
  return "-";
782
776
  if (n === "createdAt" || n === "updatedAt")
783
777
  try {
784
- return Ye(new Date(a), "PPpp");
778
+ return Ze(new Date(a), "PPpp");
785
779
  } catch {
786
780
  return a.toString();
787
781
  }
788
782
  return a.toString();
789
783
  };
790
- return o ? /* @__PURE__ */ g(V, { title: "Details", withPadding: !0, children: Array.from({ length: 6 }).map((a, n) => /* @__PURE__ */ A(X, { children: [
784
+ return o ? /* @__PURE__ */ g(V, { title: "Details", withPadding: !0, children: Array.from({ length: 6 }).map((a, n) => /* @__PURE__ */ N(X, { children: [
791
785
  /* @__PURE__ */ g(ee, { style: { width: "80px" } }),
792
786
  /* @__PURE__ */ g(ee, { style: { width: "120px", justifySelf: "end" } }),
793
787
  /* @__PURE__ */ g("div", { style: { width: "24px" } })
794
788
  ] }, n)) }) : /* @__PURE__ */ g(V, { title: "Details", autoHeight: !0, showHeader: !0, withPadding: !0, children: e.filter((a) => !a.hidden).map((a) => {
795
- const n = t[a.name], s = r.includes(a.name), v = s ? "Multiple values" : i(n, a.name);
796
- return /* @__PURE__ */ A(X, { children: [
789
+ const n = t[a.name], s = r.includes(a.name), f = s ? "Multiple values" : i(n, a.name);
790
+ return /* @__PURE__ */ N(X, { children: [
797
791
  /* @__PURE__ */ g(pe, { name: a.name, data: a.data, showDetailedTooltip: !0 }),
798
792
  /* @__PURE__ */ g(
799
- kt,
793
+ Et,
800
794
  {
801
795
  style: {
802
796
  color: s ? "var(--md-sys-color-on-surface-variant)" : "var(--md-sys-color-on-surface)",
803
797
  fontStyle: s ? "italic" : "normal"
804
798
  },
805
- children: v
799
+ children: f
806
800
  }
807
801
  ),
808
802
  /* @__PURE__ */ g(
@@ -818,7 +812,7 @@ const Z = [], rt = (e) => {
818
812
  )
819
813
  ] }, a.name);
820
814
  }) });
821
- }, Tt = d.div`
815
+ }, St = d.div`
822
816
  display: flex;
823
817
  flex-direction: column;
824
818
  height: 100%;
@@ -827,17 +821,17 @@ const Z = [], rt = (e) => {
827
821
  padding-right: 8px;
828
822
  padding-left: 8px;
829
823
  margin-top: 16px;
830
- `, Ho = ({ entities: e = [], isLoading: t }) => {
831
- const { formData: r, mixedFields: o, updateFormData: i, clearMixedField: a } = lt(
824
+ `, Wo = ({ entities: e = [], isLoading: t }) => {
825
+ const { formData: r, mixedFields: o, updateFormData: i, clearMixedField: a } = ct(
832
826
  e,
833
827
  t
834
828
  ), { attributes: n } = Ge(), {
835
829
  folderTypes: s = [],
836
- taskTypes: v = [],
830
+ taskTypes: f = [],
837
831
  statuses: y = [],
838
- tags: c = [],
839
- productTypes: l
840
- } = Ke(), { openSlideOut: h } = q(), [, f] = Xe(), u = (e || []).filter((p) => p.entityType === "folder"), { data: k } = Be(
832
+ tags: l = [],
833
+ productTypes: c
834
+ } = Ke(), { openSlideOut: h } = q(), [, v] = Xe(), u = (e || []).filter((p) => p.entityType === "folder"), { data: k } = He(
841
835
  {
842
836
  entityIds: u.map((p) => p.id),
843
837
  projectName: r?.projectName || "",
@@ -847,35 +841,35 @@ const Z = [], rt = (e) => {
847
841
  {
848
842
  skip: !r?.projectName || u.length === 0
849
843
  }
850
- ), b = !!k?.pages?.[0]?.activities?.length, { editableFields: E, readOnlyFieldsData: m } = ct({
844
+ ), b = !!k?.pages?.[0]?.activities?.length, { editableFields: E, readOnlyFieldsData: m } = dt({
851
845
  attributes: n,
852
846
  folderTypes: s,
853
- taskTypes: v,
847
+ taskTypes: f,
854
848
  statuses: y,
855
- tags: c,
849
+ tags: l,
856
850
  entityType: r?.entityType,
857
851
  folderHasVersions: b
858
- }), T = r?.entityType || "task", { enableEditing: j, updateEntity: w } = pt({
852
+ }), T = r?.entityType || "task", { enableEditing: j, updateEntity: w } = ut({
859
853
  entities: e,
860
854
  entityType: T
861
- }), S = (p, N) => {
862
- p === "tags" && (Array.isArray(N) || (N == null || N === "" ? N = [] : N = [String(N)])), p.startsWith("attrib.") && (N = {
863
- [p.replace("attrib.", "")]: N
864
- }, p = "attrib"), i(p, N), w(p, N);
855
+ }), S = (p, A) => {
856
+ p === "tags" && (Array.isArray(A) || (A == null || A === "" ? A = [] : A = [String(A)])), p.startsWith("attrib.") && (A = {
857
+ [p.replace("attrib.", "")]: A
858
+ }, p = "attrib"), i(p, A), w(p, A);
865
859
  }, F = r?.projectName || e[0]?.projectName, D = e[0]?.id, $ = L(
866
- () => F && D ? { projectName: F, entityType: T, entityId: D, productTypes: l, taskTypes: v } : void 0,
867
- [F, T, D, l, v]
868
- ), C = ({ type: p, id: N }) => {
869
- p === "user" || p === "team" || !F || h({ entityId: N, entityType: p, projectName: F });
870
- }, R = ({ type: p, id: N, label: me }, ge) => {
860
+ () => F && D ? { projectName: F, entityType: T, entityId: D, productTypes: c, taskTypes: f } : void 0,
861
+ [F, T, D, c, f]
862
+ ), C = ({ type: p, id: A }) => {
863
+ p === "user" || p === "team" || !F || h({ entityId: A, entityType: p, projectName: F });
864
+ }, R = ({ type: p, id: A, label: me }, ge) => {
871
865
  const { x: he, y: fe, width: ve } = ge.getBoundingClientRect();
872
- f({ id: N, name: N, type: p, label: me, pos: { left: he + ve / 2, top: fe } });
866
+ v({ id: A, name: A, type: p, label: me, pos: { left: he + ve / 2, top: fe } });
873
867
  }, x = (p) => {
874
868
  i("description", p), a("description"), w("attrib", { description: p });
875
869
  };
876
- return /* @__PURE__ */ A(Tt, { children: [
870
+ return /* @__PURE__ */ N(St, { children: [
877
871
  /* @__PURE__ */ g(
878
- Ie,
872
+ Ve,
879
873
  {
880
874
  description: r?.description || "",
881
875
  isMixed: o.includes("description"),
@@ -889,7 +883,7 @@ const Z = [], rt = (e) => {
889
883
  ),
890
884
  /* @__PURE__ */ g(et, {}),
891
885
  /* @__PURE__ */ g(
892
- wt,
886
+ kt,
893
887
  {
894
888
  fields: E,
895
889
  form: r || {},
@@ -902,7 +896,7 @@ const Z = [], rt = (e) => {
902
896
  }
903
897
  ),
904
898
  /* @__PURE__ */ g(
905
- Et,
899
+ Tt,
906
900
  {
907
901
  fields: m,
908
902
  form: r || {},
@@ -911,9 +905,9 @@ const Z = [], rt = (e) => {
911
905
  }
912
906
  )
913
907
  ] });
914
- }, Qo = d.div`
908
+ }, Oo = d.div`
915
909
  position: relative;
916
- `, _o = d.div`
910
+ `, Io = d.div`
917
911
  position: relative;
918
912
  padding: 8px;
919
913
  border-bottom: 1px solid var(--md-sys-color-outline-variant);
@@ -945,13 +939,13 @@ const Z = [], rt = (e) => {
945
939
  /* align center */
946
940
  align-items: center;
947
941
  }
948
- `, qo = d(P)`
942
+ `, Vo = d(P)`
949
943
  position: absolute;
950
944
  right: 4px;
951
945
  top: 4px;
952
946
  width: fit-content;
953
947
  z-index: 50;
954
- `, Go = d.header`
948
+ `, Bo = d.header`
955
949
  display: flex;
956
950
  align-items: center;
957
951
  gap: var(--base-gap-large);
@@ -966,7 +960,7 @@ const Z = [], rt = (e) => {
966
960
  display: none;
967
961
  }
968
962
  }
969
- `, Ko = d.div`
963
+ `, Ho = d.div`
970
964
  display: flex;
971
965
  align-items: center;
972
966
  gap: var(--base-gap-small);
@@ -974,7 +968,7 @@ const Z = [], rt = (e) => {
974
968
  h2 {
975
969
  min-width: fit-content;
976
970
  }
977
- `, Yo = d.div`
971
+ `, Qo = d.div`
978
972
  position: relative;
979
973
  height: 100%;
980
974
 
@@ -989,7 +983,7 @@ const Z = [], rt = (e) => {
989
983
  flex-direction: column;
990
984
  gap: var(--base-gap-small);
991
985
  }
992
- `, Zo = d.div`
986
+ `, _o = d.div`
993
987
  display: flex;
994
988
  flex-direction: column;
995
989
  height: 100%;
@@ -1027,7 +1021,7 @@ const Z = [], rt = (e) => {
1027
1021
  align-items: center;
1028
1022
  gap: var(--base-gap-medium);
1029
1023
  }
1030
- `, Jo = d.div`
1024
+ `, qo = d.div`
1031
1025
  display: flex;
1032
1026
  justify-content: space-between;
1033
1027
  align-items: flex-start;
@@ -1036,10 +1030,10 @@ const Z = [], rt = (e) => {
1036
1030
  label {
1037
1031
  color: var(--md-sys-color-outline);
1038
1032
  }
1039
- `, Xo = d.div`
1033
+ `, Go = d.div`
1040
1034
  display: flex;
1041
1035
  flex-direction: column;
1042
- `, er = d(Fe)`
1036
+ `, Ko = d(Ce)`
1043
1037
  width: fit-content;
1044
1038
  .status-field.value {
1045
1039
  position: relative;
@@ -1050,11 +1044,11 @@ const Z = [], rt = (e) => {
1050
1044
  margin-bottom: 2px;
1051
1045
  color: ${(e) => e.$textColor};
1052
1046
  }
1053
- `, tr = d(Ce)`
1047
+ `, Yo = d(Ae)`
1054
1048
  width: fit-content;
1055
1049
  justify-self: end;
1056
1050
  max-width: 100%;
1057
- `, or = d(Ne)`
1051
+ `, Zo = d(Ne)`
1058
1052
  height: 24px;
1059
1053
  .template-value {
1060
1054
  padding: 0 2px;
@@ -1068,7 +1062,7 @@ const Z = [], rt = (e) => {
1068
1062
  display: none;
1069
1063
  }
1070
1064
  }
1071
- `, rr = d(Ae)`
1065
+ `, Jo = d($e)`
1072
1066
  width: max-content;
1073
1067
  justify-self: end;
1074
1068
  /* remove text and dropdown icon */
@@ -1092,12 +1086,12 @@ const Z = [], rt = (e) => {
1092
1086
  background-color: var(--md-sys-color-surface-container-low-hover);
1093
1087
  }
1094
1088
  }
1095
- `, ar = d.footer`
1089
+ `, Xo = d.footer`
1096
1090
  display: flex;
1097
1091
  align-items: center;
1098
1092
  gap: var(--base-gap-small);
1099
1093
  justify-content: space-between;
1100
- `, nr = d.div`
1094
+ `, er = d.div`
1101
1095
  height: 100%;
1102
1096
 
1103
1097
  > input[type='file'] {
@@ -1108,7 +1102,7 @@ const Z = [], rt = (e) => {
1108
1102
  input[type='file'] {
1109
1103
  display: none;
1110
1104
  }
1111
- `, ir = d.div`
1105
+ `, tr = d.div`
1112
1106
  z-index: 100;
1113
1107
  position: absolute;
1114
1108
  inset: 0;
@@ -1120,7 +1114,7 @@ const Z = [], rt = (e) => {
1120
1114
  display: flex;
1121
1115
  align-items: center;
1122
1116
  justify-content: center;
1123
- `, sr = d.div`
1117
+ `, or = d.div`
1124
1118
  flex: 1;
1125
1119
  height: 100%;
1126
1120
  border-radius: var(--border-radius-l);
@@ -1149,11 +1143,11 @@ const Z = [], rt = (e) => {
1149
1143
  /* show children */
1150
1144
  opacity: 1;
1151
1145
  }
1152
- `, lr = d(P)`
1146
+ `, rr = d(P)`
1153
1147
  position: absolute;
1154
1148
  top: 4px;
1155
1149
  right: 4px;
1156
- `, cr = d.div`
1150
+ `, ar = d.div`
1157
1151
  display: flex;
1158
1152
  flex-direction: column;
1159
1153
  align-items: center;
@@ -1166,7 +1160,7 @@ const Z = [], rt = (e) => {
1166
1160
  top: 12px;
1167
1161
  position: relative;
1168
1162
  }
1169
- `, dr = d.div`
1163
+ `, nr = d.div`
1170
1164
  height: 8px;
1171
1165
  position: absolute;
1172
1166
  border-radius: 4px;
@@ -1175,14 +1169,14 @@ const Z = [], rt = (e) => {
1175
1169
  background-color: var(--md-sys-color-primary);
1176
1170
 
1177
1171
  transition: right 0.2s;
1178
- `, St = se`
1172
+ `, Dt = se`
1179
1173
  from {
1180
1174
  transform: rotate(0deg);
1181
1175
  }
1182
1176
  to {
1183
1177
  transform: rotate(360deg);
1184
1178
  }
1185
- `, Dt = d.div`
1179
+ `, jt = d.div`
1186
1180
  position: relative;
1187
1181
  display: flex;
1188
1182
  justify-content: center;
@@ -1191,10 +1185,10 @@ const Z = [], rt = (e) => {
1191
1185
  overflow: hidden;
1192
1186
 
1193
1187
  background-color: var(--md-sys-color-surface-container-low);
1194
- `, jt = d(U)`
1195
- animation: ${St} 1s linear infinite;
1188
+ `, Ft = d(U)`
1189
+ animation: ${Dt} 1s linear infinite;
1196
1190
  opacity: 0.6;
1197
- `, Ft = d.img`
1191
+ `, Ct = d.img`
1198
1192
  position: absolute;
1199
1193
  inset: 0;
1200
1194
  object-fit: cover;
@@ -1206,17 +1200,17 @@ const Z = [], rt = (e) => {
1206
1200
  &.hidden {
1207
1201
  opacity: 0;
1208
1202
  }
1209
- `, Ct = ({ mimetype: e = "", src: t, ...r }) => {
1210
- const [o, i] = M(!1), [a, n] = M(!1), s = K(null), v = K(0);
1203
+ `, At = ({ mimetype: e = "", src: t, ...r }) => {
1204
+ const [o, i] = M(!1), [a, n] = M(!1), s = K(null), f = K(0);
1211
1205
  return O(() => {
1212
- const y = v.current + 1;
1213
- v.current = y, n(!1), i(!1);
1214
- const c = s.current;
1215
- let l = !1, h = 0, f = 0, u = 0;
1206
+ const y = f.current + 1;
1207
+ f.current = y, n(!1), i(!1);
1208
+ const l = s.current;
1209
+ let c = !1, h = 0, v = 0, u = 0;
1216
1210
  const k = (T) => {
1217
- l || y !== v.current || (l = !0, cancelAnimationFrame(h), window.clearInterval(f), window.clearTimeout(u), T());
1211
+ c || y !== f.current || (c = !0, cancelAnimationFrame(h), window.clearInterval(v), window.clearTimeout(u), T());
1218
1212
  }, b = () => {
1219
- !c || y !== v.current || c.complete && c.naturalWidth > 0 && k(() => {
1213
+ !l || y !== f.current || l.complete && l.naturalWidth > 0 && k(() => {
1220
1214
  n(!0), i(!1);
1221
1215
  });
1222
1216
  }, E = () => k(() => {
@@ -1224,23 +1218,23 @@ const Z = [], rt = (e) => {
1224
1218
  }), m = () => k(() => {
1225
1219
  n(!0), i(!0);
1226
1220
  });
1227
- return c && (c.addEventListener("load", E), c.addEventListener("error", m), typeof c.decode == "function" && c.decode().then(
1221
+ return l && (l.addEventListener("load", E), l.addEventListener("error", m), typeof l.decode == "function" && l.decode().then(
1228
1222
  () => k(() => {
1229
1223
  n(!0), i(!1);
1230
1224
  })
1231
1225
  ).catch(() => {
1232
1226
  b();
1233
- })), h = requestAnimationFrame(b), f = window.setInterval(b, 250), u = window.setTimeout(() => {
1227
+ })), h = requestAnimationFrame(b), v = window.setInterval(b, 250), u = window.setTimeout(() => {
1234
1228
  k(() => {
1235
- c && c.naturalWidth > 0 ? (n(!0), i(!1)) : n(!0);
1229
+ l && l.naturalWidth > 0 ? (n(!0), i(!1)) : n(!0);
1236
1230
  });
1237
1231
  }, 1e4), () => {
1238
- cancelAnimationFrame(h), window.clearInterval(f), window.clearTimeout(u), c && (c.removeEventListener("load", E), c.removeEventListener("error", m));
1232
+ cancelAnimationFrame(h), window.clearInterval(v), window.clearTimeout(u), l && (l.removeEventListener("load", E), l.removeEventListener("error", m));
1239
1233
  };
1240
- }, [t]), /* @__PURE__ */ A(Dt, { ...r, className: z("file-thumbnail", r.className), children: [
1241
- a ? /* @__PURE__ */ g(U, { icon: $e(e) }) : /* @__PURE__ */ g(jt, { icon: "progress_activity" }),
1234
+ }, [t]), /* @__PURE__ */ N(jt, { ...r, className: z("file-thumbnail", r.className), children: [
1235
+ a ? /* @__PURE__ */ g(U, { icon: Re(e) }) : /* @__PURE__ */ g(Ft, { icon: "progress_activity" }),
1242
1236
  /* @__PURE__ */ g(
1243
- Ft,
1237
+ Ct,
1244
1238
  {
1245
1239
  ref: s,
1246
1240
  src: t,
@@ -1322,7 +1316,7 @@ const Z = [], rt = (e) => {
1322
1316
  background-color: var(--md-sys-color-primary-container);
1323
1317
  }
1324
1318
  }
1325
- `, At = d.div`
1319
+ `, $t = d.div`
1326
1320
  display: flex;
1327
1321
  flex-direction: column;
1328
1322
  flex: 1;
@@ -1347,15 +1341,15 @@ const Z = [], rt = (e) => {
1347
1341
  .name {
1348
1342
  color: var(--md-sys-color-outline);
1349
1343
  }
1350
- `, $t = d.div`
1344
+ `, Rt = d.div`
1351
1345
  display: flex;
1352
1346
  align-items: center;
1353
1347
  gap: var(--base-gap-small);
1354
1348
 
1355
1349
  h4 {
1356
- ${Re.titleSmall}
1350
+ ${ze.titleSmall}
1357
1351
  }
1358
- `, Rt = d(P)`
1352
+ `, zt = d(P)`
1359
1353
  /* hidden by default and show on card hover */
1360
1354
  display: none;
1361
1355
  .icon {
@@ -1367,21 +1361,21 @@ const Z = [], rt = (e) => {
1367
1361
  }
1368
1362
 
1369
1363
  margin: -2px;
1370
- `, zt = d(Ct)`
1364
+ `, Mt = d(At)`
1371
1365
  width: 71px;
1372
1366
  height: 40px;
1373
1367
 
1374
1368
  border-radius: var(--border-radius-m);
1375
1369
 
1376
1370
  object-fit: cover;
1377
- `, Mt = d(U)`
1371
+ `, Ut = d(U)`
1378
1372
  font-size: 25px;
1379
1373
 
1380
1374
  cursor: grab;
1381
1375
 
1382
1376
  /* default hidden */
1383
1377
  opacity: 0;
1384
- `, pr = H(
1378
+ `, ir = H(
1385
1379
  ({
1386
1380
  availability: e,
1387
1381
  projectName: t,
@@ -1391,54 +1385,54 @@ const Z = [], rt = (e) => {
1391
1385
  processing: a,
1392
1386
  mimetype: n,
1393
1387
  isDragOverlay: s,
1394
- isDropPlaceholder: v,
1388
+ isDropPlaceholder: f,
1395
1389
  isSelected: y,
1396
- isDragging: c,
1397
- dragProps: l = {},
1390
+ isDragging: l,
1391
+ dragProps: c = {},
1398
1392
  sortingDisabled: h,
1399
- onEdit: f,
1393
+ onEdit: v,
1400
1394
  ...u
1401
1395
  }, k) => {
1402
- const b = (l || s) && !h, E = e === "conversionRecommended", m = E && !!a;
1396
+ const b = (c || s) && !h, E = e === "conversionRecommended", m = E && !!a;
1403
1397
  let T = o;
1404
1398
  E && (T = "Unoptimized - conversion recommended"), m && (T = "Unoptimized - queued for conversion");
1405
1399
  let j = i;
1406
- return E && (j = o), /* @__PURE__ */ A(
1400
+ return E && (j = o), /* @__PURE__ */ N(
1407
1401
  Nt,
1408
1402
  {
1409
1403
  id: r,
1410
1404
  ref: k,
1411
1405
  className: z({
1412
1406
  draggable: b,
1413
- "drop-placeholder": v,
1407
+ "drop-placeholder": f,
1414
1408
  "drag-overlay": s,
1415
- dragging: c,
1409
+ dragging: l,
1416
1410
  // is anything dragging
1417
1411
  selected: y,
1418
- editable: !!f
1412
+ editable: !!v
1419
1413
  }),
1420
1414
  ...u,
1421
1415
  children: [
1422
1416
  /* @__PURE__ */ g(
1423
- zt,
1417
+ Mt,
1424
1418
  {
1425
1419
  src: `/api/projects/${t}/files/${r}/thumbnail`,
1426
1420
  mimetype: n
1427
1421
  }
1428
1422
  ),
1429
- /* @__PURE__ */ A(At, { children: [
1430
- /* @__PURE__ */ A($t, { children: [
1423
+ /* @__PURE__ */ N($t, { children: [
1424
+ /* @__PURE__ */ N(Rt, { children: [
1431
1425
  /* @__PURE__ */ g("h4", { children: j }),
1432
- !!f && /* @__PURE__ */ g(Rt, { icon: "edit", variant: "text", className: "edit", onClick: f })
1426
+ !!v && /* @__PURE__ */ g(zt, { icon: "edit", variant: "text", className: "edit", onClick: v })
1433
1427
  ] }),
1434
1428
  /* @__PURE__ */ g("span", { className: "name", children: T })
1435
1429
  ] }),
1436
- b && /* @__PURE__ */ g(Mt, { className: "handle", ...l, icon: "drag_indicator" })
1430
+ b && /* @__PURE__ */ g(Ut, { className: "handle", ...c, icon: "drag_indicator" })
1437
1431
  ]
1438
1432
  }
1439
1433
  );
1440
1434
  }
1441
- ), Ut = se`
1435
+ ), Lt = se`
1442
1436
  from {
1443
1437
  transform: rotate(360deg);
1444
1438
  }
@@ -1447,7 +1441,7 @@ const Z = [], rt = (e) => {
1447
1441
  transform: rotate(0deg);
1448
1442
  }
1449
1443
 
1450
- `, Lt = d.div`
1444
+ `, Pt = d.div`
1451
1445
  position: relative;
1452
1446
  width: 100%;
1453
1447
  min-height: 50px;
@@ -1513,13 +1507,13 @@ const Z = [], rt = (e) => {
1513
1507
  & > * {
1514
1508
  z-index: 10;
1515
1509
  }
1516
- `, Pt = d.div`
1510
+ `, Wt = d.div`
1517
1511
  position: absolute;
1518
1512
  inset: 0;
1519
1513
  background-color: var(--md-sys-color-primary-container);
1520
1514
  z-index: 0;
1521
1515
  transition: right 0.2s;
1522
- `, Wt = d.div`
1516
+ `, Ot = d.div`
1523
1517
  position: relative;
1524
1518
  width: 71px;
1525
1519
  height: 40px;
@@ -1538,7 +1532,7 @@ const Z = [], rt = (e) => {
1538
1532
 
1539
1533
  &.spinning {
1540
1534
  /* spin animation */
1541
- animation: ${Ut} 1s infinite linear;
1535
+ animation: ${Lt} 1s infinite linear;
1542
1536
  }
1543
1537
  }
1544
1538
 
@@ -1559,54 +1553,54 @@ const Z = [], rt = (e) => {
1559
1553
  src: a,
1560
1554
  error: n,
1561
1555
  tooltip: s,
1562
- onRemove: v,
1556
+ onRemove: f,
1563
1557
  ...y
1564
1558
  }) => {
1565
- let c = "", l = !1, h = "";
1559
+ let l = "", c = !1, h = "";
1566
1560
  switch (o) {
1567
1561
  case "processing":
1568
- c = "Transcoding", l = !0, h = "settings";
1562
+ l = "Transcoding", c = !0, h = "settings";
1569
1563
  break;
1570
1564
  case "unsupported":
1571
- c = "Unsupported - conversion required", h = "visibility_off";
1565
+ l = "Unsupported - conversion required", h = "visibility_off";
1572
1566
  break;
1573
1567
  case "upload":
1574
- c = "Uploading", l = !0, h = "sync";
1568
+ l = "Uploading", c = !0, h = "sync";
1575
1569
  break;
1576
1570
  case "queued":
1577
- c = "Queued - waiting to be transcoded", h = "hourglass";
1571
+ l = "Queued - waiting to be transcoded", h = "hourglass";
1578
1572
  break;
1579
1573
  case "waiting":
1580
- c = "Waiting for upload", h = "schedule";
1574
+ l = "Waiting for upload", h = "schedule";
1581
1575
  break;
1582
1576
  case "importing":
1583
- c = "Importing", h = "upload_file";
1577
+ l = "Importing", h = "upload_file";
1584
1578
  break;
1585
1579
  case "validating":
1586
- c = "Validating", h = "checklist";
1580
+ l = "Validating", h = "checklist";
1587
1581
  break;
1588
1582
  }
1589
- n && (l = !1, h = "error");
1590
- const f = t !== void 0 ? `- ${t}%` : "";
1591
- return /* @__PURE__ */ A(
1592
- Lt,
1583
+ n && (c = !1, h = "error");
1584
+ const v = t !== void 0 ? `- ${t}%` : "";
1585
+ return /* @__PURE__ */ N(
1586
+ Pt,
1593
1587
  {
1594
1588
  className: z({ finished: t === 100, error: !!n, [o]: !0 }),
1595
1589
  id: i,
1596
1590
  ...y,
1597
1591
  children: [
1598
- /* @__PURE__ */ A(Wt, { children: [
1592
+ /* @__PURE__ */ N(Ot, { children: [
1599
1593
  a && /* @__PURE__ */ g("img", { src: a }),
1600
- h && /* @__PURE__ */ g(U, { icon: h, className: z({ spinning: l }) })
1594
+ h && /* @__PURE__ */ g(U, { icon: h, className: z({ spinning: c }) })
1601
1595
  ] }),
1602
- /* @__PURE__ */ A("span", { className: "content", children: [
1596
+ /* @__PURE__ */ N("span", { className: "content", children: [
1603
1597
  /* @__PURE__ */ g("span", { className: "name", children: e }),
1604
- /* @__PURE__ */ g("span", { className: "message", children: n || `${c} ${f}` })
1598
+ /* @__PURE__ */ g("span", { className: "message", children: n || `${l} ${v}` })
1605
1599
  ] }),
1606
- r && /* @__PURE__ */ g("span", { className: "size", children: ze(r) }),
1600
+ r && /* @__PURE__ */ g("span", { className: "size", children: Me(r) }),
1607
1601
  s && /* @__PURE__ */ g(U, { icon: "info", className: "info", "data-tooltip": s, "data-tooltip-as": "markdown" }),
1608
- (n || o === "waiting") && /* @__PURE__ */ g(P, { icon: "close", variant: "text", onClick: v }),
1609
- /* @__PURE__ */ g(Pt, { className: "progress", style: { right: `${100 - (t ?? 0)}%` } })
1602
+ (n || o === "waiting") && /* @__PURE__ */ g(P, { icon: "close", variant: "text", onClick: f }),
1603
+ /* @__PURE__ */ g(Wt, { className: "progress", style: { right: `${100 - (t ?? 0)}%` } })
1610
1604
  ]
1611
1605
  },
1612
1606
  e
@@ -1619,15 +1613,15 @@ d.div`
1619
1613
  min-height: 100%;
1620
1614
  padding-bottom: var(--padding-m);
1621
1615
  `;
1622
- const ur = d.div`
1616
+ const sr = d.div`
1623
1617
  position: relative;
1624
1618
  overflow: hidden;
1625
1619
  border-radius: var(--border-radius-m);
1626
1620
  width: 100%;
1627
1621
  min-height: 50px;
1628
- `, mr = d.div`
1622
+ `, lr = d.div`
1629
1623
  word-break: break-all;
1630
- `, Ot = d.div`
1624
+ `, It = d.div`
1631
1625
  display: flex;
1632
1626
  flex-direction: column;
1633
1627
  gap: var(--base-gap-small);
@@ -1644,7 +1638,7 @@ const ur = d.div`
1644
1638
  &.dragging {
1645
1639
  opacity: 0;
1646
1640
  }
1647
- `, It = d.div`
1641
+ `, Vt = d.div`
1648
1642
  position: relative;
1649
1643
  min-height: 50px;
1650
1644
  display: flex;
@@ -1673,7 +1667,7 @@ const ur = d.div`
1673
1667
  opacity: 0;
1674
1668
  cursor: pointer;
1675
1669
  }
1676
- `, Vt = d.div`
1670
+ `, Bt = d.div`
1677
1671
  position: absolute;
1678
1672
  inset: var(--padding-s);
1679
1673
  background-color: var(--md-sys-color-surface-container-lowest);
@@ -1708,7 +1702,7 @@ const ur = d.div`
1708
1702
  return e.message || e.response?.statusText || "Unknown upload error";
1709
1703
  }
1710
1704
  return e instanceof Error ? e.message : typeof e == "string" ? e : "Unknown upload error";
1711
- }, Bt = ({
1705
+ }, Ht = ({
1712
1706
  projectName: e,
1713
1707
  versionId: t,
1714
1708
  taskId: r,
@@ -1718,40 +1712,40 @@ const ur = d.div`
1718
1712
  onUpload: n,
1719
1713
  onProgress: s
1720
1714
  }) => {
1721
- const [v, y] = M({}), c = B(
1715
+ const [f, y] = M({}), l = B(
1722
1716
  (h) => {
1723
- t && y((f) => ({
1724
- ...f,
1725
- [t]: f[t]?.filter((u) => u.name !== h) || []
1717
+ t && y((v) => ({
1718
+ ...v,
1719
+ [t]: v[t]?.filter((u) => u.name !== h) || []
1726
1720
  }));
1727
1721
  },
1728
1722
  [t]
1729
1723
  );
1730
1724
  return {
1731
1725
  handleFileUpload: B(
1732
- async (h, f) => {
1733
- const u = f || t;
1726
+ async (h, v) => {
1727
+ const u = v || t;
1734
1728
  if (!u || !e) return;
1735
1729
  const k = Array.from(h), b = k.map((w) => ({
1736
1730
  name: W(w.name),
1737
1731
  size: w.size,
1738
1732
  progress: 0
1739
- })), E = [...v[u] || [], ...b];
1740
- y({ ...v, [u]: E });
1733
+ })), E = [...f[u] || [], ...b];
1734
+ y({ ...f, [u]: E });
1741
1735
  const m = (w) => (S) => {
1742
1736
  if (!u) return;
1743
1737
  console.log(`Upload successful for ${w.name}`);
1744
1738
  const F = S.data;
1745
1739
  e && (a(
1746
1740
  // @ts-ignore
1747
- He.util.updateQueryData(
1741
+ Qe.util.updateQueryData(
1748
1742
  "getReviewablesForVersion",
1749
1743
  { projectName: e, versionId: u },
1750
1744
  (D) => {
1751
1745
  D.reviewables || (D.reviewables = []), D.reviewables.push(F);
1752
1746
  }
1753
1747
  )
1754
- ), i && a(I.util.invalidateTags([{ type: "viewer", id: i }])), a(I.util.invalidateTags([{ type: "viewer", id: u }])), o && a(I.util.invalidateTags([{ type: "viewer", id: o }])), r && a(I.util.invalidateTags([{ type: "viewer", id: r }])), c(W(w.name)));
1748
+ ), i && a(I.util.invalidateTags([{ type: "viewer", id: i }])), a(I.util.invalidateTags([{ type: "viewer", id: u }])), o && a(I.util.invalidateTags([{ type: "viewer", id: o }])), r && a(I.util.invalidateTags([{ type: "viewer", id: r }])), l(W(w.name)));
1755
1749
  }, T = (w) => (S) => {
1756
1750
  u && (console.error(`Upload failed for ${w.name}: ${S}`), y((F) => {
1757
1751
  const $ = (F[u] || []).map((C) => C.name !== W(w.name) ? C : {
@@ -1792,20 +1786,20 @@ const ur = d.div`
1792
1786
  [
1793
1787
  t,
1794
1788
  e,
1795
- v,
1789
+ f,
1796
1790
  a,
1797
1791
  i,
1798
1792
  o,
1799
1793
  r,
1800
- c,
1794
+ l,
1801
1795
  n,
1802
1796
  s
1803
1797
  ]
1804
1798
  ),
1805
- handleRemoveUpload: c,
1806
- uploading: v
1799
+ handleRemoveUpload: l,
1800
+ uploading: f
1807
1801
  };
1808
- }, gr = ({
1802
+ }, cr = ({
1809
1803
  projectName: e,
1810
1804
  taskId: t,
1811
1805
  folderId: r,
@@ -1814,12 +1808,12 @@ const ur = d.div`
1814
1808
  onUpload: a,
1815
1809
  onFilesAdded: n,
1816
1810
  children: s,
1817
- dispatch: v,
1811
+ dispatch: f,
1818
1812
  variant: y = "normal",
1819
- pendingFiles: c = [],
1820
- setPendingFiles: l,
1813
+ pendingFiles: l = [],
1814
+ setPendingFiles: c,
1821
1815
  className: h,
1822
- readOnly: f = !1,
1816
+ readOnly: v = !1,
1823
1817
  pt: u,
1824
1818
  ...k
1825
1819
  }) => {
@@ -1827,30 +1821,30 @@ const ur = d.div`
1827
1821
  handleFileUpload: m,
1828
1822
  handleRemoveUpload: T,
1829
1823
  uploading: j
1830
- } = Bt({
1824
+ } = Ht({
1831
1825
  projectName: e,
1832
1826
  versionId: o,
1833
1827
  taskId: t,
1834
1828
  folderId: r,
1835
1829
  productId: i,
1836
- dispatch: v,
1830
+ dispatch: f,
1837
1831
  onUpload: a
1838
1832
  }), w = !!o;
1839
1833
  O(() => {
1840
- if (w && o && c.length > 0 && l) {
1841
- const x = c.map((p) => p.file);
1842
- c.forEach((p) => {
1834
+ if (w && o && l.length > 0 && c) {
1835
+ const x = l.map((p) => p.file);
1836
+ l.forEach((p) => {
1843
1837
  p.preview && URL.revokeObjectURL(p.preview);
1844
- }), l([]), m(x);
1838
+ }), c([]), m(x);
1845
1839
  }
1846
- }, [w, o, c.length, m, l]);
1840
+ }, [w, o, l.length, m, c]);
1847
1841
  const S = (x) => x.type.startsWith("image/"), F = (x) => x.map((p) => ({
1848
1842
  file: p,
1849
1843
  preview: S(p) ? URL.createObjectURL(p) : void 0
1850
1844
  })), D = async (x) => {
1851
1845
  const p = Array.from(x);
1852
1846
  if (n?.(p), !w || !o) {
1853
- l && l((N) => [...N, ...F(p)]);
1847
+ c && c((A) => [...A, ...F(p)]);
1854
1848
  return;
1855
1849
  }
1856
1850
  await m(x);
@@ -1862,20 +1856,20 @@ const ur = d.div`
1862
1856
  const p = x.dataTransfer.files;
1863
1857
  p && D(p);
1864
1858
  }, R = y === "large" ? { minWidth: "360px", maxWidth: "480px", alignSelf: "center" } : {};
1865
- return /* @__PURE__ */ A(G, { children: [
1859
+ return /* @__PURE__ */ N(G, { children: [
1866
1860
  /* @__PURE__ */ g(
1867
- Ot,
1861
+ It,
1868
1862
  {
1869
1863
  className: z(h, y, { dragging: b }),
1870
1864
  ...k,
1871
- onDragEnter: () => !f && E(!0),
1865
+ onDragEnter: () => !v && E(!0),
1872
1866
  onDragOver: (x) => x.preventDefault(),
1873
1867
  onDrop: (x) => {
1874
- f && (x.preventDefault(), x.stopPropagation());
1868
+ v && (x.preventDefault(), x.stopPropagation());
1875
1869
  },
1876
- children: /* @__PURE__ */ A(G, { children: [
1870
+ children: /* @__PURE__ */ N(G, { children: [
1877
1871
  s,
1878
- !w && c?.map((x) => /* @__PURE__ */ g(
1872
+ !w && l?.map((x) => /* @__PURE__ */ g(
1879
1873
  te,
1880
1874
  {
1881
1875
  name: x.file.name,
@@ -1883,7 +1877,7 @@ const ur = d.div`
1883
1877
  src: x.preview,
1884
1878
  type: "waiting",
1885
1879
  onRemove: () => {
1886
- l && l((p) => p.filter((N) => N.file.name !== x.file.name));
1880
+ c && c((p) => p.filter((A) => A.file.name !== x.file.name));
1887
1881
  }
1888
1882
  },
1889
1883
  x.file.name
@@ -1897,8 +1891,8 @@ const ur = d.div`
1897
1891
  },
1898
1892
  x.name
1899
1893
  )),
1900
- !f && /* @__PURE__ */ A(
1901
- It,
1894
+ !v && /* @__PURE__ */ N(
1895
+ Vt,
1902
1896
  {
1903
1897
  id: "upload",
1904
1898
  className: z("upload", y),
@@ -1913,8 +1907,8 @@ const ur = d.div`
1913
1907
  ] })
1914
1908
  }
1915
1909
  ),
1916
- b && !f && /* @__PURE__ */ A(
1917
- Vt,
1910
+ b && !v && /* @__PURE__ */ N(
1911
+ Bt,
1918
1912
  {
1919
1913
  onDragOver: (x) => x.preventDefault(),
1920
1914
  onDragLeave: () => E(!1),
@@ -1927,7 +1921,7 @@ const ur = d.div`
1927
1921
  }
1928
1922
  )
1929
1923
  ] });
1930
- }, hr = d.div`
1924
+ }, dr = d.div`
1931
1925
  position: relative;
1932
1926
  border-radius: var(--border-radius-m);
1933
1927
  display: flex;
@@ -1942,9 +1936,9 @@ const ur = d.div`
1942
1936
  }
1943
1937
 
1944
1938
  flex: 1;
1945
- `, fr = d.div`
1939
+ `, pr = d.div`
1946
1940
  position: relative;
1947
- `, vr = d.span`
1941
+ `, ur = d.span`
1948
1942
  position: relative;
1949
1943
  padding: 0px 2px;
1950
1944
  border-radius: var(--border-radius-m);
@@ -1966,7 +1960,7 @@ const ur = d.div`
1966
1960
  color: var(--md-sys-color-on-surface);
1967
1961
  }
1968
1962
  }
1969
- `, yr = d.span`
1963
+ `, mr = d.span`
1970
1964
  text-overflow: ellipsis;
1971
1965
  overflow: hidden;
1972
1966
  display: inline-block;
@@ -1977,7 +1971,7 @@ const ur = d.div`
1977
1971
  .icon {
1978
1972
  color: var(--md-sys-color-on-surface);
1979
1973
  }
1980
- `, Ht = d.div`
1974
+ `, Qt = d.div`
1981
1975
  & > span,
1982
1976
  & > li {
1983
1977
  cursor: pointer;
@@ -2000,7 +1994,7 @@ const ur = d.div`
2000
1994
  }
2001
1995
  }
2002
1996
  }
2003
- `, br = d.div`
1997
+ `, gr = d.div`
2004
1998
  position: absolute;
2005
1999
  top: 100%;
2006
2000
  left: 0px;
@@ -2009,7 +2003,7 @@ const ur = d.div`
2009
2003
 
2010
2004
  z-index: 200;
2011
2005
  padding-top: 4px;
2012
- `, xr = d.ul`
2006
+ `, hr = d.ul`
2013
2007
  display: flex;
2014
2008
  flex-direction: column;
2015
2009
  gap: var(--base-gap-small);
@@ -2024,46 +2018,46 @@ const ur = d.div`
2024
2018
 
2025
2019
  max-height: 500px;
2026
2020
  overflow: auto;
2027
- `, wr = d.li`
2021
+ `, fr = d.li`
2028
2022
  padding: var(--base-gap-small);
2029
2023
  border-radius: var(--border-radius-m);
2030
2024
  color: var(--md-sys-color-on-surface);
2031
2025
  min-width: max-content;
2032
2026
  width: 100%;
2033
- `, kr = H(
2027
+ `, vr = H(
2034
2028
  ({ children: e, segment: t, isOpen: r, scope: o, projectName: i, ...a }, n) => {
2035
- const { openSlideOut: s } = q(), v = t?.type !== "product" && t?.type !== "project", y = () => {
2036
- if (!v) return;
2037
- const { type: f, id: u } = t || {};
2038
- !f || f === "project" || f === "product" || !u || s({
2039
- entityType: f,
2029
+ const { openSlideOut: s } = q(), f = t?.type !== "product" && t?.type !== "project", y = () => {
2030
+ if (!f) return;
2031
+ const { type: v, id: u } = t || {};
2032
+ !v || v === "project" || v === "product" || !u || s({
2033
+ entityType: v,
2040
2034
  entityId: u,
2041
2035
  projectName: i
2042
2036
  });
2043
- }, c = (f) => [
2037
+ }, l = (v) => [
2044
2038
  {
2045
- label: `ID: ${f}`,
2039
+ label: `ID: ${v}`,
2046
2040
  icon: "content_copy",
2047
- command: () => _(f)
2041
+ command: () => _(v)
2048
2042
  }
2049
- ], [l] = Ze();
2043
+ ], [c] = ot();
2050
2044
  return /* @__PURE__ */ g(
2051
- Ht,
2045
+ Qt,
2052
2046
  {
2053
2047
  onClick: y,
2054
- onContextMenu: (f) => {
2048
+ onContextMenu: (v) => {
2055
2049
  if (!t) return;
2056
- const u = c(t.id);
2057
- l(f, u);
2050
+ const u = l(t.id);
2051
+ c(v, u);
2058
2052
  },
2059
- className: tt({ link: v, open: r }),
2053
+ className: tt({ link: f, open: r }),
2060
2054
  ...a,
2061
2055
  ref: n,
2062
2056
  children: e
2063
2057
  }
2064
2058
  );
2065
2059
  }
2066
- ), Qt = d.div`
2060
+ ), _t = d.div`
2067
2061
  position: relative;
2068
2062
  width: 100%;
2069
2063
  height: 52px;
@@ -2153,7 +2147,7 @@ const ur = d.div`
2153
2147
  border: none;
2154
2148
  border-color: transparent;
2155
2149
  }
2156
- `, _t = d.img`
2150
+ `, qt = d.img`
2157
2151
  width: 100%;
2158
2152
  height: 100%;
2159
2153
  object-fit: contain;
@@ -2165,7 +2159,7 @@ const ur = d.div`
2165
2159
  inset: 0;
2166
2160
 
2167
2161
  transition: scale 0.2s, opacity 0.2s;
2168
- `, qt = ({
2162
+ `, Gt = ({
2169
2163
  projectName: e = "",
2170
2164
  entityType: t = "",
2171
2165
  entityId: r = "",
@@ -2174,16 +2168,16 @@ const ur = d.div`
2174
2168
  thumbnailHash: a,
2175
2169
  isLoading: n,
2176
2170
  shimmer: s,
2177
- className: v,
2171
+ className: f,
2178
2172
  disabled: y,
2179
- src: c,
2180
- hoverIcon: l,
2173
+ src: l,
2174
+ hoverIcon: c,
2181
2175
  showBorder: h = !0,
2182
- ...f
2176
+ ...v
2183
2177
  }) => {
2184
2178
  const u = t === "project", k = ["product"].includes(t), b = u ? !!e : !!r;
2185
2179
  let E = "";
2186
- t && (a || u) && b && (c ? E = c : E = ot({ projectName: e, entityType: t, entityId: r, thumbnailHash: a }) ?? "");
2180
+ t && (a || u) && b && (l ? E = l : E = rt({ projectName: e, entityType: t, entityId: r, thumbnailHash: a }) ?? "");
2187
2181
  const [m, T] = M(!1), [j, w] = M(!1);
2188
2182
  return O(() => {
2189
2183
  if (E === "") {
@@ -2191,21 +2185,21 @@ const ur = d.div`
2191
2185
  return;
2192
2186
  }
2193
2187
  w(!1), T(!1);
2194
- }, [E]), /* @__PURE__ */ A(
2195
- Qt,
2188
+ }, [E]), /* @__PURE__ */ N(
2189
+ _t,
2196
2190
  {
2197
- className: z(v, "thumbnail", {
2191
+ className: z(f, "thumbnail", {
2198
2192
  loading: s && (n || !j),
2199
2193
  loaded: j,
2200
2194
  error: m,
2201
- clickable: !!f.onClick,
2195
+ clickable: !!v.onClick,
2202
2196
  border: h
2203
2197
  }),
2204
- ...f,
2198
+ ...v,
2205
2199
  children: [
2206
2200
  (!n || !j) && !y && /* @__PURE__ */ g(U, { style: { color: i || void 0 }, icon: o || "image", className: "type-icon" }),
2207
2201
  t && e && !k && b && /* @__PURE__ */ g(
2208
- _t,
2202
+ qt,
2209
2203
  {
2210
2204
  alt: `Entity thumbnail ${r || e}`,
2211
2205
  src: E,
@@ -2217,11 +2211,11 @@ const ur = d.div`
2217
2211
  }
2218
2212
  }
2219
2213
  ),
2220
- l && /* @__PURE__ */ g(U, { icon: l, className: "hover-icon" })
2214
+ c && /* @__PURE__ */ g(U, { icon: c, className: "hover-icon" })
2221
2215
  ]
2222
2216
  }
2223
2217
  );
2224
- }, Gt = d.div`
2218
+ }, Kt = d.div`
2225
2219
  display: flex;
2226
2220
  z-index: 10;
2227
2221
  height: 100%;
@@ -2258,75 +2252,76 @@ const ur = d.div`
2258
2252
  object-fit: cover;
2259
2253
  }
2260
2254
  }
2261
- `, Er = ({
2255
+ `, yr = ({
2262
2256
  thumbnails: e = [],
2263
2257
  isLoading: t,
2264
2258
  className: r,
2265
2259
  style: o,
2266
2260
  ...i
2267
2261
  }) => {
2268
- const { onContextMenu: a } = ye(qe);
2262
+ const { onContextMenu: a } = ye(Ye);
2269
2263
  e = e.slice(0, 5);
2270
2264
  const n = e.length > 1;
2271
2265
  return e.length ? /* @__PURE__ */ g(
2272
- Gt,
2266
+ Kt,
2273
2267
  {
2274
2268
  $length: e.length,
2275
2269
  className: z("stacked-thumbnails", r, { stacking: n }),
2276
2270
  children: e.map(
2277
- (s, v) => s ? /* @__PURE__ */ g(
2278
- qt,
2271
+ (s, f) => s ? /* @__PURE__ */ g(
2272
+ Gt,
2279
2273
  {
2280
2274
  projectName: s.projectName,
2281
2275
  entityType: s.type,
2282
2276
  entityId: s.id,
2283
2277
  icon: s.icon,
2284
2278
  color: s.color,
2285
- style: { ...o, zIndex: -v },
2279
+ style: { ...o, zIndex: -f },
2286
2280
  thumbnailHash: s.thumbnailHash,
2287
2281
  isLoading: t,
2288
2282
  src: s.src,
2289
2283
  onContextMenu: a,
2290
2284
  ...i
2291
2285
  },
2292
- s.id || s.src || v
2286
+ s.id || s.src || f
2293
2287
  ) : null
2294
2288
  )
2295
2289
  }
2296
2290
  ) : null;
2297
- }, Tr = H(
2291
+ }, br = H(
2298
2292
  ({ entities: e, entityType: t, onWatchersUpdate: r, userName: o, ...i }, a) => {
2299
- const n = e.map((l) => ({
2300
- entityId: l.id,
2293
+ const n = e.map((c) => ({
2294
+ entityId: c.id,
2301
2295
  entityType: t,
2302
- projectName: l.projectName
2303
- })), { data: s = [] } = Qe(
2296
+ projectName: c.projectName
2297
+ })), { data: s = [] } = _e(
2304
2298
  {
2305
2299
  entities: n
2306
2300
  },
2307
2301
  { skip: !e.length }
2308
- ), v = Array.from(new Set(s.flatMap((l) => l.watchers))), [y] = _e();
2302
+ ), f = Array.from(new Set(s.flatMap((c) => c.watchers))), [y] = qe(), l = async (c) => {
2303
+ const h = c.filter((k) => !f.includes(k)), v = f.filter((k) => !c.includes(k)), u = s.map((k) => {
2304
+ const b = k.watchers.filter((E) => !v.includes(E));
2305
+ return b.push(...h), {
2306
+ ...k,
2307
+ watchers: b
2308
+ };
2309
+ });
2310
+ try {
2311
+ await y({ entities: u }).unwrap(), r && r(h, v);
2312
+ } catch {
2313
+ Q.error("Failed to update watchers");
2314
+ }
2315
+ };
2309
2316
  return /* @__PURE__ */ g(
2310
- Me,
2317
+ Ue,
2311
2318
  {
2312
2319
  align: "right",
2313
2320
  ...i,
2314
- value: v,
2321
+ options: Fe(i.options, f),
2322
+ value: f,
2315
2323
  currentUser: o,
2316
- onChange: async (l) => {
2317
- const h = l.filter((k) => !v.includes(k)), f = v.filter((k) => !l.includes(k)), u = s.map((k) => {
2318
- const b = k.watchers.filter((E) => !f.includes(E));
2319
- return b.push(...h), {
2320
- ...k,
2321
- watchers: b
2322
- };
2323
- });
2324
- try {
2325
- await y({ entities: u }).unwrap(), r && r(h, f);
2326
- } catch {
2327
- Q.error("Failed to update watchers");
2328
- }
2329
- },
2324
+ onChange: l,
2330
2325
  ref: a,
2331
2326
  buttonProps: { "data-tooltip": "Watchers" }
2332
2327
  }
@@ -2334,52 +2329,52 @@ const ur = d.div`
2334
2329
  }
2335
2330
  );
2336
2331
  export {
2337
- Ko as A,
2338
- or as B,
2339
- lr as C,
2340
- sr as D,
2341
- er as E,
2342
- yr as F,
2343
- _o as G,
2344
- Qo as H,
2345
- tr as I,
2346
- rr as J,
2347
- qo as K,
2348
- ur as L,
2349
- br as M,
2350
- Jo as N,
2351
- ar as O,
2352
- dr as P,
2353
- Xo as Q,
2354
- pr as R,
2355
- vr as S,
2356
- Yo as T,
2357
- cr as U,
2358
- Tr as W,
2359
- dt as a,
2360
- Vo as b,
2361
- ut as c,
2362
- mt as d,
2363
- mr as e,
2364
- Bo as f,
2365
- gr as g,
2332
+ Ho as A,
2333
+ Zo as B,
2334
+ rr as C,
2335
+ or as D,
2336
+ Ko as E,
2337
+ mr as F,
2338
+ Io as G,
2339
+ Oo as H,
2340
+ Yo as I,
2341
+ Jo as J,
2342
+ Vo as K,
2343
+ sr as L,
2344
+ gr as M,
2345
+ qo as N,
2346
+ Xo as O,
2347
+ nr as P,
2348
+ Go as Q,
2349
+ ir as R,
2350
+ ur as S,
2351
+ Qo as T,
2352
+ ar as U,
2353
+ br as W,
2354
+ pt as a,
2355
+ Lo as b,
2356
+ mt as c,
2357
+ gt as d,
2358
+ lr as e,
2359
+ Po as f,
2360
+ cr as g,
2366
2361
  te as h,
2367
- Bt as i,
2368
- nr as j,
2369
- ir as k,
2370
- hr as l,
2371
- xr as m,
2372
- kr as n,
2373
- wr as o,
2374
- fr as p,
2375
- wt as q,
2376
- Et as r,
2377
- Ho as s,
2362
+ Ht as i,
2363
+ er as j,
2364
+ tr as k,
2365
+ dr as l,
2366
+ hr as m,
2367
+ vr as n,
2368
+ fr as o,
2369
+ pr as p,
2370
+ kt as q,
2371
+ Tt as r,
2372
+ Wo as s,
2378
2373
  pe as t,
2379
- nt as u,
2380
- Ct as v,
2381
- Er as w,
2382
- qt as x,
2383
- Go as y,
2384
- Zo as z
2374
+ it as u,
2375
+ At as v,
2376
+ yr as w,
2377
+ Gt as x,
2378
+ Bo as y,
2379
+ _o as z
2385
2380
  };