@ynput/ayon-frontend-shared 0.6.9 → 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 (65) hide show
  1. package/dist/ContextMenu.es.js +44 -27
  2. package/dist/DetailsPanel.es.js +225 -224
  3. package/dist/ListTable.es.js +420 -420
  4. package/dist/NewEntity.es.js +42 -41
  5. package/dist/ProjectTreeTable.es.js +3517 -3378
  6. package/dist/Slicer.es.js +301 -276
  7. package/dist/Views.es.js +366 -352
  8. package/dist/api.es.js +428 -413
  9. package/dist/chunks/Actions.es.js +18 -17
  10. package/dist/chunks/ColumnDropIndicator.es.js +19 -18
  11. package/dist/chunks/ColumnHeaderMenuUI.es.js +2 -2
  12. package/dist/chunks/ContextMenuContextInstance.es.js +4 -3
  13. package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +53 -41
  14. package/dist/chunks/DetailsDialog.es.js +26 -24
  15. package/dist/chunks/EmptyPlaceholder.es.js +3 -3
  16. package/dist/chunks/EmptyPlaceholderFlex.styled.es.js +40 -0
  17. package/dist/chunks/EntityPath.es.js +60 -59
  18. package/dist/chunks/EntityPickerDialog.es.js +88 -83
  19. package/dist/chunks/EntityTooltip.es.js +15 -14
  20. package/dist/chunks/EntityUpdatesContext.es.js +11 -11
  21. package/dist/chunks/Feed.es.js +864 -859
  22. package/dist/chunks/FilterErrorActions.es.js +4 -3
  23. package/dist/chunks/Menu.es.js +633 -289
  24. package/dist/chunks/MenuContext.es.js +1 -1
  25. package/dist/chunks/MetaWidget.es.js +2457 -2196
  26. package/dist/chunks/PlayableIcon.es.js +77 -76
  27. package/dist/chunks/ProjectContext.es.js +6 -6
  28. package/dist/chunks/RepresentationsList.es.js +1 -1
  29. package/dist/chunks/ReviewablesSelector.es.js +625 -609
  30. package/dist/chunks/SimpleForm.es.js +1 -1
  31. package/dist/chunks/SimpleTable.es.js +386 -363
  32. package/dist/chunks/Slicer.es.js +954 -821
  33. package/dist/chunks/{DeleteEntitiesContextInstance.es.js → TableExportContextInstance.es.js} +190 -186
  34. package/dist/chunks/TableSettingsFallback.es.js +4 -3
  35. package/dist/chunks/ThumbnailSimple.es.js +100 -99
  36. package/dist/chunks/VideoPlayer.es.js +1 -1
  37. package/dist/chunks/Watchers.es.js +222 -221
  38. package/dist/chunks/getBundleMode.es.js +1 -1
  39. package/dist/chunks/getEntityTypeIcon.es.js +5 -4
  40. package/dist/chunks/getUris.es.js +3873 -3736
  41. package/dist/chunks/realtimeUpdatesUtils.es.js +91 -82
  42. package/dist/chunks/searchTerms.es.js +621 -499
  43. package/dist/chunks/sortLists.es.js +22 -0
  44. package/dist/chunks/useAttributeEnums.es.js +43 -43
  45. package/dist/chunks/useHierarchySelection.es.js +6 -5
  46. package/dist/chunks/useLoadModule.es.js +24 -23
  47. package/dist/chunks/viewUpdateHelper.es.js +16 -15
  48. package/dist/components.es.js +565 -531
  49. package/dist/context.es.js +529 -503
  50. package/dist/hooks.es.js +13 -13
  51. package/dist/index.es.js +4 -4
  52. package/dist/types/ContextMenu.d.ts +4 -1
  53. package/dist/types/Feed.d.ts +1 -1
  54. package/dist/types/ListTable.d.ts +1 -1
  55. package/dist/types/ProjectTreeTable.d.ts +123 -13
  56. package/dist/types/SimpleTable.d.ts +2 -1
  57. package/dist/types/Slicer.d.ts +26 -1
  58. package/dist/types/Views.d.ts +2 -0
  59. package/dist/types/api.d.ts +2359 -590
  60. package/dist/types/components.d.ts +30 -4
  61. package/dist/types/context.d.ts +94 -2
  62. package/dist/types/util.d.ts +54 -0
  63. package/dist/util.es.js +129 -119
  64. package/package.json +2 -2
  65. package/dist/chunks/MenuItem.es.js +0 -420
@@ -7,7 +7,7 @@ import "react-toastify";
7
7
  import "./searchTerms.es.js";
8
8
  import "./getUris.es.js";
9
9
  import "primereact/confirmdialog";
10
- import { a as c } from "./DeleteEntitiesContextInstance.es.js";
10
+ import { a as c } from "./TableExportContextInstance.es.js";
11
11
  import "lodash";
12
12
  import "uuid";
13
13
  import "semver";
@@ -15,7 +15,8 @@ import "./ContextMenuContextInstance.es.js";
15
15
  import "clsx";
16
16
  import "react-dom";
17
17
  import "react-redux";
18
- const A = ({
18
+ import "react-router-dom";
19
+ const B = ({
19
20
  requiredVersion: r,
20
21
  feature: t,
21
22
  button: i,
@@ -37,5 +38,5 @@ const A = ({
37
38
  ] });
38
39
  };
39
40
  export {
40
- A as T
41
+ B as T
41
42
  };
@@ -1,37 +1,38 @@
1
1
  import { jsxs as m, jsx as i } from "react/jsx-runtime";
2
- import { createPortal as I } from "react-dom";
3
- import { createContext as z, useContext as L, useEffect as $ } from "react";
4
- import { aR as j } from "./searchTerms.es.js";
5
- import { D as A } from "./getUris.es.js";
2
+ import { createPortal as R } from "react-dom";
3
+ import { createContext as z, useContext as L, useEffect as F } from "react";
4
+ import { bH as $, a_ as j } from "./searchTerms.es.js";
5
+ import { G as A } from "./getUris.es.js";
6
6
  import "primereact/confirmdialog";
7
7
  import "lodash";
8
- import { e as F } from "./expandRelativeDates.es.js";
8
+ import { e as N } from "./expandRelativeDates.es.js";
9
9
  import "@module-federation/enhanced/runtime";
10
10
  import "react-toastify";
11
- import { Icon as w, Dialog as N, FormRow as v, InputDate as x, SaveButton as B } from "@ynput/ayon-react-components";
12
- import "./DeleteEntitiesContextInstance.es.js";
11
+ import { Icon as w, Dialog as B, FormRow as v, InputDate as x, SaveButton as U } from "@ynput/ayon-react-components";
12
+ import "./TableExportContextInstance.es.js";
13
13
  import "uuid";
14
14
  import "semver";
15
15
  import "./ContextMenuContextInstance.es.js";
16
16
  import "clsx";
17
17
  import "react-redux";
18
- import { U } from "./PlayableIcon.es.js";
19
- import p, { keyframes as O } from "styled-components";
20
- import { a as K } from "./EntityTooltip.es.js";
18
+ import "react-router-dom";
19
+ import { U as O } from "./PlayableIcon.es.js";
20
+ import p, { keyframes as K } from "styled-components";
21
+ import { a as P } from "./EntityTooltip.es.js";
21
22
  import { format as b, parse as k } from "date-fns";
22
- import { g as P } from "./getThumbnailUrl.es.js";
23
- const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
23
+ import { g as Y } from "./getThumbnailUrl.es.js";
24
+ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), H = {
24
25
  has_attachments: "activity_data.files",
25
26
  // not `entity_type`: on inbox rows that column is always 'user'
26
27
  origin_type: "activity_data.origin.type"
27
- }, q = (e) => !!e && "key" in e, H = (e) => {
28
- const t = Y[e.key] ?? e.key;
28
+ }, q = (e) => !!e && "key" in e, G = (e) => {
29
+ const o = H[e.key] ?? e.key;
29
30
  if (e.key === "has_attachments")
30
- return e.value ? { key: t, operator: "ne", value: [] } : null;
31
+ return e.value ? { key: o, operator: "ne", value: [] } : null;
31
32
  if (e.key === "in_review_session")
32
33
  return e.value ? { key: "activity_data.entityList", operator: "notnull" } : null;
33
34
  if (e.key === "category") {
34
- const o = Array.isArray(e.value) ? e.value : [], n = o.includes("__none__"), s = o.filter((a) => a !== "__none__"), l = {
35
+ const t = Array.isArray(e.value) ? e.value : [], n = t.includes("__none__"), s = t.filter((a) => a !== "__none__"), l = {
35
36
  operator: "or",
36
37
  conditions: [
37
38
  { key: "activity_data.category", operator: "isnull" },
@@ -44,37 +45,37 @@ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
44
45
  };
45
46
  return n && s.length ? { operator: "or", conditions: [l, c] } : n ? l : s.length ? c : null;
46
47
  }
47
- return e.key === "body" && e.operator === "like" && typeof e.value == "string" ? { ...e, key: t, value: `%${e.value}%` } : e.key === "author" ? {
48
+ return e.key === "body" && e.operator === "like" && typeof e.value == "string" ? $(e.value, (t) => ({ ...e, key: o, value: `%${t}%` })) : e.key === "author" ? {
48
49
  operator: "or",
49
50
  conditions: [
50
51
  { ...e, key: "activity_data.author" },
51
52
  { ...e, key: "activity_data.assignee" }
52
53
  ]
53
- } : { ...e, key: t };
54
+ } : { ...e, key: o };
54
55
  }, C = (e) => {
55
56
  if (q(e))
56
- return D.has(e.key) ? null : H(e);
57
- const t = (e.conditions || []).map((o) => C(o)).filter((o) => o !== null);
58
- return t.length === 0 ? null : { operator: e.operator || "and", conditions: t };
59
- }, W = (e) => {
57
+ return D.has(e.key) ? null : G(e);
58
+ const o = (e.conditions || []).map((t) => C(t)).filter((t) => t !== null);
59
+ return o.length === 0 ? null : { operator: e.operator || "and", conditions: o };
60
+ }, Q = (e) => {
60
61
  if (!e || !e.conditions?.length) return null;
61
- const t = F(e), o = C(t);
62
- return o || null;
63
- }, $e = (e) => {
64
- const t = W(e);
65
- if (t)
66
- return JSON.stringify(t);
67
- }, G = z(void 0), g = () => {
68
- const e = L(G);
62
+ const o = N(e), t = C(o);
63
+ return t || null;
64
+ }, je = (e) => {
65
+ const o = Q(e);
66
+ if (o)
67
+ return JSON.stringify(o);
68
+ }, W = z(void 0), g = () => {
69
+ const e = L(W);
69
70
  if (!e)
70
71
  throw new Error("useFeedContext must be used within a FeedProvider");
71
72
  return e;
72
73
  }, J = () => {
73
- const { refTooltip: e, setRefTooltip: t } = g();
74
+ const { refTooltip: e, setRefTooltip: o } = g();
74
75
  return [e, (n) => {
75
- n && n.id !== e?.id && t(n), n || t(null);
76
+ n && n.id !== e?.id && o(n), n || o(null);
76
77
  }];
77
- }, Q = p.span`
78
+ }, V = p.span`
78
79
  display: flex;
79
80
  align-items: center;
80
81
  gap: var(--base-gap-large);
@@ -91,7 +92,7 @@ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
91
92
  span {
92
93
  white-space: nowrap;
93
94
  }
94
- `, V = p.span`
95
+ `, X = p.span`
95
96
  display: flex;
96
97
  flex-direction: column;
97
98
 
@@ -99,13 +100,13 @@ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
99
100
  color: var(--md-sys-color-outline);
100
101
  font-size: 0.85em;
101
102
  }
102
- `, E = ({ name: e, fullName: t, showSubtitle: o, size: n = 24 }) => /* @__PURE__ */ m(Q, { $size: n, children: [
103
- /* @__PURE__ */ i(U, { name: e, size: n }),
104
- o ? /* @__PURE__ */ m(V, { children: [
105
- /* @__PURE__ */ i("span", { children: t || e }),
106
- t && /* @__PURE__ */ i("span", { className: "label", children: e })
107
- ] }) : /* @__PURE__ */ i("span", { children: t || e })
108
- ] }), X = O`
103
+ `, T = ({ name: e, fullName: o, showSubtitle: t, size: n = 24 }) => /* @__PURE__ */ m(V, { $size: n, children: [
104
+ /* @__PURE__ */ i(O, { name: e, size: n }),
105
+ t ? /* @__PURE__ */ m(X, { children: [
106
+ /* @__PURE__ */ i("span", { children: o || e }),
107
+ o && /* @__PURE__ */ i("span", { className: "label", children: e })
108
+ ] }) : /* @__PURE__ */ i("span", { children: o || e })
109
+ ] }), Z = K`
109
110
  from {
110
111
  opacity: 0.4;
111
112
  scale: 0.9;
@@ -114,7 +115,7 @@ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
114
115
  opacity: 1;
115
116
  scale: 1;
116
117
  }
117
- `, M = p.span`
118
+ `, E = p.span`
118
119
  display: flex;
119
120
  padding: 8px;
120
121
  gap: var(--base-gap-large);
@@ -138,14 +139,14 @@ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
138
139
  }
139
140
  }
140
141
 
141
- animation: ${X} 50ms ease-out;
142
+ animation: ${Z} 50ms ease-out;
142
143
  transform-origin: left bottom;
143
- `, Z = ({ name: e, label: t, pos: o }) => /* @__PURE__ */ i(M, { style: { ...o }, children: /* @__PURE__ */ i(E, { name: e || "", fullName: t, showSubtitle: !0, size: 32 }) }), ee = p(M)`
144
+ `, ee = ({ name: e, label: o, pos: t }) => /* @__PURE__ */ i(E, { style: { ...t }, children: /* @__PURE__ */ i(T, { name: e || "", fullName: o, showSubtitle: !0, size: 32 }) }), te = p(E)`
144
145
  flex-direction: column;
145
146
  align-items: flex-start;
146
147
  gap: 8px;
147
148
  min-width: 180px;
148
- `, te = p.span`
149
+ `, oe = p.span`
149
150
  display: flex;
150
151
  align-items: center;
151
152
  gap: var(--base-gap-large);
@@ -153,7 +154,7 @@ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
153
154
  .icon {
154
155
  font-size: 20px;
155
156
  }
156
- `, oe = p.span`
157
+ `, ne = p.span`
157
158
  display: flex;
158
159
  flex-direction: column;
159
160
 
@@ -165,7 +166,7 @@ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
165
166
  color: var(--md-sys-color-outline);
166
167
  font-size: 0.85em;
167
168
  }
168
- `, ne = p.ul`
169
+ `, ie = p.ul`
169
170
  list-style: none;
170
171
  margin: 0;
171
172
  padding: 0;
@@ -173,22 +174,22 @@ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
173
174
  flex-direction: column;
174
175
  gap: 4px;
175
176
  width: 100%;
176
- `, ie = p.li`
177
+ `, re = p.li`
177
178
  display: flex;
178
179
  align-items: center;
179
- `, re = p.span`
180
+ `, ae = p.span`
180
181
  color: var(--md-sys-color-outline);
181
182
  font-size: 0.85em;
182
183
  padding-left: 32px;
183
- `, _ = 5, ae = ({ name: e, pos: t }) => {
184
- const { projectName: o, users: n } = g(), { data: s = [] } = j.useGetTeamsQuery(
185
- { projectName: o, showMembers: !0 },
186
- { skip: !o || !e }
184
+ `, _ = 5, se = ({ name: e, pos: o }) => {
185
+ const { projectName: t, users: n } = g(), { data: s = [] } = j.useGetTeamsQuery(
186
+ { projectName: t, showMembers: !0 },
187
+ { skip: !t || !e }
187
188
  ), l = s.find((d) => d.name === e), c = l?.members ?? [], a = l?.memberCount ?? 0, r = c.slice(0, _), u = Math.max(0, a - _), f = new Map(n.map((d) => [d.name, d.attrib?.fullName || void 0]));
188
- return /* @__PURE__ */ m(ee, { style: { ...t }, children: [
189
- /* @__PURE__ */ m(te, { children: [
189
+ return /* @__PURE__ */ m(te, { style: { ...o }, children: [
190
+ /* @__PURE__ */ m(oe, { children: [
190
191
  /* @__PURE__ */ i(w, { icon: "group" }),
191
- /* @__PURE__ */ m(oe, { children: [
192
+ /* @__PURE__ */ m(ne, { children: [
192
193
  /* @__PURE__ */ i("span", { children: e }),
193
194
  l && /* @__PURE__ */ m("span", { className: "label", children: [
194
195
  a,
@@ -197,85 +198,85 @@ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
197
198
  ] })
198
199
  ] })
199
200
  ] }),
200
- r.length > 0 && /* @__PURE__ */ m(ne, { children: [
201
- r.map((d) => /* @__PURE__ */ i(ie, { children: /* @__PURE__ */ i(
202
- E,
201
+ r.length > 0 && /* @__PURE__ */ m(ie, { children: [
202
+ r.map((d) => /* @__PURE__ */ i(re, { children: /* @__PURE__ */ i(
203
+ T,
203
204
  {
204
205
  name: d.name,
205
206
  fullName: f.get(d.name),
206
207
  size: 20
207
208
  }
208
209
  ) }, d.name)),
209
- u > 0 && /* @__PURE__ */ m(re, { children: [
210
+ u > 0 && /* @__PURE__ */ m(ae, { children: [
210
211
  "+",
211
212
  u,
212
213
  " more"
213
214
  ] })
214
215
  ] })
215
216
  ] });
216
- }, se = ({ type: e, id: t, pos: o }) => {
217
+ }, le = ({ type: e, id: o, pos: t }) => {
217
218
  const { projectInfo: n, projectName: s } = g();
218
219
  return /* @__PURE__ */ i(
219
- K,
220
+ P,
220
221
  {
221
222
  entityType: e,
222
- entityId: t,
223
+ entityId: o,
223
224
  projectName: s,
224
225
  projectInfo: n,
225
- pos: o
226
+ pos: t
226
227
  }
227
228
  );
228
- }, je = () => {
229
- const [e, t] = J(), { type: o, label: n, name: s, pos: l, id: c } = e || {}, a = document.querySelector(".feed ul");
230
- return $(() => {
229
+ }, Ae = () => {
230
+ const [e, o] = J(), { type: t, label: n, name: s, pos: l, id: c } = e || {}, a = document.querySelector(".feed ul");
231
+ return F(() => {
231
232
  if (c) {
232
233
  const r = (u) => {
233
234
  const f = u.target, d = CSS.escape(`ref-${c.replaceAll(".", "-")}`), y = f?.closest(`#${d}`), h = f?.closest("[data-mention-value], .reference");
234
- !y && !h && (t(null), document.removeEventListener("mouseover", r), a && a.removeEventListener("scroll", r));
235
+ !y && !h && (o(null), document.removeEventListener("mouseover", r), a && a.removeEventListener("scroll", r));
235
236
  };
236
237
  return document.addEventListener("mouseover", r), a && a.addEventListener("scroll", r), () => {
237
238
  document.removeEventListener("mouseover", r), a && a.removeEventListener("scroll", r);
238
239
  };
239
240
  }
240
- }, [c, t, a]), c ? I(
241
- o === "user" && l ? /* @__PURE__ */ i(Z, { name: s, label: n, pos: l }) : o === "team" && l ? /* @__PURE__ */ i(ae, { name: s, pos: l }) : /* @__PURE__ */ i(se, { type: o, label: n, name: s, pos: l, id: c }),
241
+ }, [c, o, a]), c ? R(
242
+ t === "user" && l ? /* @__PURE__ */ i(ee, { name: s, label: n, pos: l }) : t === "team" && l ? /* @__PURE__ */ i(se, { name: s, pos: l }) : /* @__PURE__ */ i(le, { type: t, label: n, name: s, pos: l, id: c }),
242
243
  document.body
243
244
  ) : null;
244
- }, le = p.div`
245
+ }, ce = p.div`
245
246
  display: flex;
246
247
  flex-direction: column;
247
248
  gap: 12px;
248
- `, Ae = ({
249
+ `, Ne = ({
249
250
  isOpen: e,
250
- header: t,
251
- startDate: o,
251
+ header: o,
252
+ startDate: t,
252
253
  endDate: n,
253
254
  onStartDateChange: s,
254
255
  onEndDateChange: l,
255
256
  onApply: c,
256
257
  onClose: a
257
258
  }) => /* @__PURE__ */ i(
258
- N,
259
+ B,
259
260
  {
260
261
  isOpen: e,
261
262
  onClose: a,
262
- header: t,
263
+ header: o,
263
264
  size: "sm",
264
265
  hideCancelButton: !0,
265
266
  footer: /* @__PURE__ */ i(
266
- B,
267
+ U,
267
268
  {
268
269
  label: "Confirm",
269
270
  icon: "check",
270
271
  onClick: c,
271
- active: !!o && !!n && n >= o
272
+ active: !!t && !!n && n >= t
272
273
  }
273
274
  ),
274
- children: /* @__PURE__ */ m(le, { children: [
275
+ children: /* @__PURE__ */ m(ce, { children: [
275
276
  /* @__PURE__ */ i(v, { label: "Start date", children: /* @__PURE__ */ i(
276
277
  x,
277
278
  {
278
- selected: o ? k(o, "yyyy-MM-dd", /* @__PURE__ */ new Date()) : void 0,
279
+ selected: t ? k(t, "yyyy-MM-dd", /* @__PURE__ */ new Date()) : void 0,
279
280
  onChange: (r) => s(r ? b(r, "yyyy-MM-dd") : ""),
280
281
  autoFocus: !0
281
282
  }
@@ -285,12 +286,12 @@ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
285
286
  {
286
287
  selected: n ? k(n, "yyyy-MM-dd", /* @__PURE__ */ new Date()) : void 0,
287
288
  onChange: (r) => l(r ? b(r, "yyyy-MM-dd") : ""),
288
- openToDate: o ? new Date(o) : void 0
289
+ openToDate: t ? new Date(t) : void 0
289
290
  }
290
291
  ) })
291
292
  ] })
292
293
  }
293
- ), ce = p.div`
294
+ ), de = p.div`
294
295
  position: relative;
295
296
  width: 100%;
296
297
  max-width: 500px;
@@ -312,7 +313,7 @@ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
312
313
  background-color: hsl(220 20% 8%);
313
314
  color: var(--md-sys-color-outline);
314
315
  }
315
- `, de = p.img`
316
+ `, pe = p.img`
316
317
  width: 100%;
317
318
  height: 100%;
318
319
  object-fit: contain;
@@ -321,10 +322,10 @@ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
321
322
  display: block;
322
323
  position: absolute;
323
324
  inset: 0;
324
- `, Fe = ({
325
+ `, Be = ({
325
326
  projectName: e,
326
- entityType: t,
327
- entityId: o,
327
+ entityType: o,
328
+ entityId: t,
328
329
  icon: n,
329
330
  thumbnailHash: s,
330
331
  isLoading: l,
@@ -336,18 +337,18 @@ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
336
337
  iconOnly: d,
337
338
  ...y
338
339
  }) => {
339
- const h = P({
340
+ const h = Y({
340
341
  projectName: e,
341
- entityType: t,
342
- entityId: o,
342
+ entityType: o,
343
+ entityId: t,
343
344
  thumbnailHash: s ? String(s) : void 0
344
- }), T = t === "project", S = ["product"].includes(t), R = T ? !!e : !!o;
345
- return /* @__PURE__ */ m(ce, { className: c + " thumbnail", ...y, children: [
345
+ }), M = o === "project", S = ["product"].includes(o), I = M ? !!e : !!t;
346
+ return /* @__PURE__ */ m(de, { className: c + " thumbnail", ...y, children: [
346
347
  !l && !a && /* @__PURE__ */ i(w, { icon: n || "image" }),
347
- (t && !S && R || r) && !d && /* @__PURE__ */ i(
348
- de,
348
+ (o && !S && I || r) && !d && /* @__PURE__ */ i(
349
+ pe,
349
350
  {
350
- alt: `Entity thumbnail ${o || e}`,
351
+ alt: `Entity thumbnail ${t || e}`,
351
352
  src: r || h || void 0,
352
353
  onLoad: u,
353
354
  onError: f
@@ -356,11 +357,11 @@ const D = new Set(Object.keys(A).filter((e) => e !== "activity")), Y = {
356
357
  ] });
357
358
  };
358
359
  export {
359
- je as A,
360
- Ae as C,
361
- G as F,
362
- Fe as T,
360
+ Ae as A,
361
+ Ne as C,
362
+ W as F,
363
+ Be as T,
363
364
  J as a,
364
- $e as b,
365
+ je as b,
365
366
  g as u
366
367
  };
@@ -9,7 +9,7 @@ import "@ynput/ayon-react-components";
9
9
  import "./searchTerms.es.js";
10
10
  import "./getUris.es.js";
11
11
  import "primereact/confirmdialog";
12
- import { d as D } from "./DeleteEntitiesContextInstance.es.js";
12
+ import { d as D } from "./TableExportContextInstance.es.js";
13
13
  import "lodash";
14
14
  import "uuid";
15
15
  import "semver";