@ynput/ayon-frontend-shared 0.7.5 → 0.8.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 (74) hide show
  1. package/dist/DetailsPanel.es.js +471 -469
  2. package/dist/Feed.es.js +1 -1
  3. package/dist/ListTable.es.js +20 -20
  4. package/dist/NewEntity.es.js +7 -7
  5. package/dist/ProjectTreeTable.es.js +2523 -2502
  6. package/dist/ProjectsTable.es.js +5 -5
  7. package/dist/Slicer.es.js +28 -25
  8. package/dist/Views.es.js +150 -151
  9. package/dist/api.es.js +166 -165
  10. package/dist/chunks/Actions.es.js +9 -10
  11. package/dist/chunks/ColumnDropIndicator.es.js +4 -4
  12. package/dist/chunks/ColumnHeaderMenuUI.es.js +4 -5
  13. package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +2 -2
  14. package/dist/chunks/DetailsDialog.es.js +3 -3
  15. package/dist/chunks/EmptyPlaceholder.es.js +7 -7
  16. package/dist/chunks/EntityPath.es.js +38 -39
  17. package/dist/chunks/EntityPickerDialog.es.js +482 -462
  18. package/dist/chunks/EntityTooltip.es.js +18 -19
  19. package/dist/chunks/Feed.es.js +1382 -1355
  20. package/dist/chunks/FilmstripEntityCard.es.js +5201 -0
  21. package/dist/chunks/FilterErrorActions.es.js +3 -4
  22. package/dist/chunks/GroupSettingsFallback.es.js +4 -4
  23. package/dist/chunks/Menu.es.js +242 -240
  24. package/dist/chunks/MetaWidget.es.js +1948 -1875
  25. package/dist/chunks/ProjectFoldersContext.es.js +237 -0
  26. package/dist/chunks/RepresentationsList.es.js +1 -1
  27. package/dist/chunks/ReviewablesSelector.es.js +1260 -1190
  28. package/dist/chunks/SimpleTable.es.js +303 -297
  29. package/dist/chunks/Slicer.es.js +420 -413
  30. package/dist/chunks/TableExportContextInstance.es.js +622 -378
  31. package/dist/chunks/TableSettingsFallback.es.js +3 -4
  32. package/dist/chunks/ThumbnailSimple.es.js +114 -99
  33. package/dist/chunks/ThumbnailUploaderContext.es.js +48 -0
  34. package/dist/chunks/VideoPlayer.es.js +8 -9
  35. package/dist/chunks/Watchers.es.js +929 -872
  36. package/dist/chunks/{ColumnDropIndicator.styled.es.js → addonColumnTags.es.js} +60 -47
  37. package/dist/chunks/expandRelativeDates.es.js +1 -1
  38. package/dist/chunks/getThumbnailUrl.es.js +33 -21
  39. package/dist/chunks/getUris.es.js +1580 -1610
  40. package/dist/chunks/queryFilterToClientFilter.es.js +1 -1
  41. package/dist/chunks/realtimeUpdatesUtils.es.js +15 -15
  42. package/dist/chunks/searchTerms.es.js +773 -696
  43. package/dist/chunks/useAttributeEnums.es.js +22 -22
  44. package/dist/chunks/useDateRangeFilter.es.js +1 -1
  45. package/dist/chunks/useHierarchySelection.es.js +3 -4
  46. package/dist/chunks/useLoadModule.es.js +3 -4
  47. package/dist/components.es.js +1391 -1253
  48. package/dist/context.es.js +645 -668
  49. package/dist/hooks.es.js +193 -171
  50. package/dist/index.es.js +4 -4
  51. package/dist/types/Actions.d.ts +10 -8
  52. package/dist/types/DetailsPanel.d.ts +54 -76
  53. package/dist/types/EntityPickerDialog.d.ts +51 -2
  54. package/dist/types/Feed.d.ts +24 -24
  55. package/dist/types/ListTable.d.ts +33 -27
  56. package/dist/types/NewEntity.d.ts +26 -39
  57. package/dist/types/ProjectTreeTable.d.ts +318 -212
  58. package/dist/types/ProjectsTable.d.ts +6 -6
  59. package/dist/types/RepresentationsList.d.ts +4 -0
  60. package/dist/types/Slicer.d.ts +63 -246
  61. package/dist/types/Views.d.ts +71 -298
  62. package/dist/types/api.d.ts +3164 -2363
  63. package/dist/types/components.d.ts +537 -497
  64. package/dist/types/context.d.ts +293 -572
  65. package/dist/types/hooks.d.ts +76 -47
  66. package/dist/types/index.d.ts +6 -0
  67. package/dist/types/util.d.ts +141 -120
  68. package/dist/util.es.js +71 -68
  69. package/package.json +6 -6
  70. package/dist/chunks/EntityUpdatesContext.es.js +0 -61
  71. package/dist/chunks/PlayableIcon.es.js +0 -5020
  72. package/dist/chunks/ProjectContext.es.js +0 -158
  73. package/dist/chunks/useQueryArgumentChangeLoading.es.js +0 -11
  74. package/dist/chunks/viewUpdateHelper.es.js +0 -153
@@ -0,0 +1,237 @@
1
+ import { jsx as M } from "react/jsx-runtime";
2
+ import { useCallback as v, useRef as O, useState as Q, useEffect as G, useMemo as h } from "react";
3
+ import "./searchTerms.es.js";
4
+ import { cb as z, c8 as E, dJ as R, bP as U } from "./getUris.es.js";
5
+ import "primereact/confirmdialog";
6
+ import "lodash";
7
+ import "react-toastify";
8
+ import { g as j } from "./getEntityTypeIcon.es.js";
9
+ import "uuid";
10
+ import "axios";
11
+ import { P as _, j as q } from "./TableExportContextInstance.es.js";
12
+ const J = {
13
+ name: "",
14
+ code: "",
15
+ productTypes: [],
16
+ folderTypes: [],
17
+ taskTypes: [],
18
+ tags: [],
19
+ statuses: [],
20
+ createdAt: "",
21
+ updatedAt: "",
22
+ active: !0,
23
+ attrib: {},
24
+ data: {},
25
+ config: {},
26
+ library: !1,
27
+ linkTypes: [],
28
+ ownAttrib: []
29
+ };
30
+ function V(t) {
31
+ if (!t)
32
+ return { productTypes: [], productBaseTypes: [] };
33
+ const a = t.productTypes || [], n = /* @__PURE__ */ new Map();
34
+ return a.forEach((i) => {
35
+ n.has(i.baseType) || n.set(i.baseType, {
36
+ name: i.baseType,
37
+ icon: i.icon,
38
+ color: i.color
39
+ });
40
+ }), {
41
+ productTypes: a,
42
+ productBaseTypes: Array.from(n.values())
43
+ };
44
+ }
45
+ const re = ({
46
+ projectName: t,
47
+ children: a
48
+ }) => {
49
+ const {
50
+ data: n,
51
+ isLoading: i,
52
+ isFetching: g,
53
+ isSuccess: p,
54
+ isUninitialized: T,
55
+ error: u,
56
+ refetch: A
57
+ } = z({ projectName: t }, { skip: !t }), { data: m = {}, refetch: f } = E(
58
+ { projectName: t },
59
+ { skip: !t }
60
+ ), y = m.product_base_types?.default, { data: w } = R(
61
+ { projectName: t },
62
+ {
63
+ skip: !t
64
+ }
65
+ ), { productTypes: l, productBaseTypes: F } = V(w), k = v(
66
+ (s) => n?.folderTypes?.find((e) => e.name === s),
67
+ [n]
68
+ ), C = v(
69
+ (s) => n?.taskTypes?.find((e) => e.name === s),
70
+ [n]
71
+ ), L = v(
72
+ (s) => {
73
+ const e = l.find((c) => c.name === s);
74
+ return {
75
+ icon: e?.icon || y?.icon || j("product"),
76
+ color: e?.color || y?.color
77
+ };
78
+ },
79
+ [l, y]
80
+ ), x = v(() => l.map((e) => ({
81
+ value: e.name,
82
+ label: e.name,
83
+ icon: e.icon || y?.icon || j("product"),
84
+ color: e.color || y?.color || ""
85
+ })), [l, y]), o = v(() => {
86
+ A(), f();
87
+ }, [A, f]), r = {
88
+ getFolderType: k,
89
+ getTaskType: C,
90
+ getProductType: L,
91
+ getProductTypeOptions: x,
92
+ refetch: o
93
+ };
94
+ return /* @__PURE__ */ M(
95
+ _.Provider,
96
+ {
97
+ value: {
98
+ ...J,
99
+ ...n,
100
+ projectName: t,
101
+ productTypes: l,
102
+ productBaseTypes: F,
103
+ anatomy: m,
104
+ isLoading: i || g,
105
+ isSuccess: p,
106
+ isUninitialized: T,
107
+ error: u,
108
+ ...r
109
+ },
110
+ children: a
111
+ }
112
+ );
113
+ }, W = (t, a) => {
114
+ const n = O(null), [i, g] = Q(!1);
115
+ return G(() => {
116
+ const p = n.current;
117
+ !p || Object.keys(t).some((u) => p[u] !== t[u]) || Object.keys(p).some((u) => p[u] !== t[u]) ? (n.current = { ...t }, g(a)) : a || g(!1);
118
+ }, [Object.values(t).join(","), a]), i;
119
+ }, se = ({
120
+ projectName: t,
121
+ children: a
122
+ }) => {
123
+ const {
124
+ data: { folders: n = [] } = {},
125
+ isLoading: i,
126
+ isFetching: g,
127
+ isSuccess: p,
128
+ isUninitialized: T,
129
+ error: u,
130
+ refetch: A
131
+ } = U({ projectName: t, attrib: !0 }), m = W({ projectName: t }, g || i), f = h(() => {
132
+ const o = /* @__PURE__ */ new Map();
133
+ for (const r of n)
134
+ o.set(r.id, r);
135
+ return o;
136
+ }, [n]), y = h(() => (o) => f.get(o), [f]), w = h(
137
+ () => (o, r, s = {}) => {
138
+ if (!r.length) return {};
139
+ const e = {}, c = new Set(r), b = /* @__PURE__ */ new Set();
140
+ let P = o;
141
+ for (; c.size > 0 && P && !b.has(P); ) {
142
+ b.add(P);
143
+ const d = f.get(P);
144
+ if (!d) break;
145
+ const S = d.attrib || {};
146
+ for (const I of Array.from(c))
147
+ d.ownAttrib?.includes(I) && I in S && (e[I] = Object.entries(S).find(
148
+ ([B]) => B === I
149
+ )?.[1], c.delete(I));
150
+ P = d.parentId;
151
+ }
152
+ for (const d of Array.from(c))
153
+ d in s && (e[d] = s[d], c.delete(d));
154
+ for (const d of c)
155
+ e[d] = null;
156
+ return e;
157
+ },
158
+ [f]
159
+ ), l = h(
160
+ () => (o) => {
161
+ const r = [], s = /* @__PURE__ */ new Set();
162
+ let e = o;
163
+ for (; e && !s.has(e); ) {
164
+ s.add(e);
165
+ const c = f.get(e);
166
+ if (!c?.parentId) break;
167
+ r.push(c.parentId), e = c.parentId;
168
+ }
169
+ return r;
170
+ },
171
+ [f]
172
+ ), F = h(
173
+ () => (o) => {
174
+ const r = new Set(o);
175
+ return o.filter((s) => !l(s).some((e) => r.has(e)));
176
+ },
177
+ [l]
178
+ ), k = h(() => {
179
+ const o = /* @__PURE__ */ new Map();
180
+ for (const r of n) {
181
+ if (!r.parentId) continue;
182
+ const s = o.get(r.parentId);
183
+ s ? s.push(r.id) : o.set(r.parentId, [r.id]);
184
+ }
185
+ return o;
186
+ }, [n]), C = h(
187
+ () => (o, r = !1) => {
188
+ const s = r ? [...o] : [], e = [...o];
189
+ for (; e.length > 0; ) {
190
+ const c = e.shift();
191
+ for (const b of k.get(c) || [])
192
+ s.push(b), e.push(b);
193
+ }
194
+ return s;
195
+ },
196
+ [k]
197
+ ), L = () => A().unwrap(), x = h(
198
+ () => ({
199
+ projectName: t,
200
+ folders: n,
201
+ getFolderById: y,
202
+ findNonInheritedValues: w,
203
+ getParentFolderIds: l,
204
+ getFolderIdsWithoutChildren: F,
205
+ getChildFolderIds: C,
206
+ isLoading: m,
207
+ // first time and when args change
208
+ isFetching: g,
209
+ // any background fetching
210
+ isSuccess: p,
211
+ isUninitialized: T,
212
+ error: u,
213
+ refetch: L
214
+ }),
215
+ [
216
+ t,
217
+ n,
218
+ y,
219
+ w,
220
+ l,
221
+ F,
222
+ C,
223
+ m,
224
+ g,
225
+ p,
226
+ T,
227
+ u,
228
+ L
229
+ ]
230
+ );
231
+ return /* @__PURE__ */ M(q.Provider, { value: x, children: a });
232
+ };
233
+ export {
234
+ re as P,
235
+ se as a,
236
+ W as u
237
+ };
@@ -13,7 +13,7 @@ import "./searchTerms.es.js";
13
13
  import "axios";
14
14
  import { u as E } from "./useCreateContextMenu.es.js";
15
15
  import { D as F } from "./DetailsDialog.es.js";
16
- import { c7 as H } from "./getUris.es.js";
16
+ import { c8 as H } from "./getUris.es.js";
17
17
  const I = (d = []) => {
18
18
  let n = [];
19
19
  for (const t of d) {