@ynput/ayon-frontend-shared 0.6.5 → 0.6.7

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 (46) hide show
  1. package/dist/DetailsPanel.es.js +3 -3
  2. package/dist/NewEntity.es.js +15 -15
  3. package/dist/ProjectTreeTable.es.js +430 -433
  4. package/dist/Slicer.es.js +11 -11
  5. package/dist/Views.es.js +213 -206
  6. package/dist/chunks/CodeEditor.es.js +30 -0
  7. package/dist/chunks/ColumnDropIndicator.styled.es.js +24 -24
  8. package/dist/chunks/ColumnHeaderMenuUI.es.js +2 -2
  9. package/dist/chunks/DeleteEntitiesContextInstance.es.js +103 -103
  10. package/dist/chunks/EntityPath.es.js +2 -2
  11. package/dist/chunks/EntityTooltip.es.js +1 -1
  12. package/dist/chunks/Feed.es.js +958 -931
  13. package/dist/chunks/JsonViewer.es.js +1 -1
  14. package/dist/chunks/Menu.es.js +169 -167
  15. package/dist/chunks/MenuItem.es.js +109 -74
  16. package/dist/chunks/MetaWidget.es.js +1537 -1516
  17. package/dist/chunks/PlayableIcon.es.js +127 -127
  18. package/dist/chunks/ReviewablesSelector.es.js +199 -196
  19. package/dist/chunks/SimpleForm.es.js +78 -75
  20. package/dist/chunks/SimpleTable.es.js +110 -110
  21. package/dist/chunks/Slicer.es.js +22 -22
  22. package/dist/chunks/TableSettingsFallback.es.js +1 -1
  23. package/dist/chunks/ThumbnailSimple.es.js +2 -2
  24. package/dist/chunks/VideoPlayer.es.js +1 -1
  25. package/dist/chunks/Watchers.es.js +19 -19
  26. package/dist/chunks/afterStartup.es.js +13 -0
  27. package/dist/chunks/getUris.es.js +926 -964
  28. package/dist/chunks/queryFilterToClientFilter.es.js +90 -81
  29. package/dist/chunks/searchTerms.es.js +1 -0
  30. package/dist/chunks/useHierarchySelection.es.js +2 -2
  31. package/dist/chunks/useLoadModule.es.js +24 -23
  32. package/dist/components.es.js +202 -200
  33. package/dist/context.es.js +521 -492
  34. package/dist/hooks.es.js +190 -166
  35. package/dist/types/ContextMenu.d.ts +1 -0
  36. package/dist/types/Feed.d.ts +1 -1
  37. package/dist/types/ProjectTreeTable.d.ts +4 -5
  38. package/dist/types/Slicer.d.ts +1 -1
  39. package/dist/types/Views.d.ts +13 -2
  40. package/dist/types/api.d.ts +203 -1175
  41. package/dist/types/components.d.ts +14 -3
  42. package/dist/types/context.d.ts +3 -2
  43. package/dist/types/hooks.d.ts +25 -1
  44. package/dist/types/util.d.ts +11 -1
  45. package/dist/util.es.js +44 -41
  46. package/package.json +2 -2
package/dist/hooks.es.js CHANGED
@@ -1,26 +1,26 @@
1
- import { d as V, a as G } from "./chunks/DeleteEntitiesContextInstance.es.js";
2
- import { r as te, o as ee, p as re, q as oe, w as ne, s as se } from "./chunks/DeleteEntitiesContextInstance.es.js";
3
- import { u as C } from "./chunks/useLoadModule.es.js";
4
- import { loadRemote as M } from "@module-federation/enhanced/runtime";
5
- import { useRef as N, useState as k, useEffect as v, useCallback as R } from "react";
6
- import b from "semver";
7
- import { f as ae, u as de, a as ue, b as ce, c as le, d as me } from "./chunks/Watchers.es.js";
8
- import { u as pe } from "./chunks/useActionTriggers.es.js";
9
- import { b2 as T } from "./chunks/searchTerms.es.js";
10
- import { bw as K, cQ as U } from "./chunks/getUris.es.js";
1
+ import { d as k, a as T } from "./chunks/DeleteEntitiesContextInstance.es.js";
2
+ import { q as ie, r as ae, s as ue, p as de, v as ce, w as le } from "./chunks/DeleteEntitiesContextInstance.es.js";
3
+ import { u as R } from "./chunks/useLoadModule.es.js";
4
+ import { loadRemote as V } from "@module-federation/enhanced/runtime";
5
+ import { useRef as G, useState as S, useEffect as v, useCallback as M } from "react";
6
+ import A from "semver";
7
+ import { k as fe, l as pe, m as ge, n as he, o as ye, p as we } from "./chunks/Watchers.es.js";
8
+ import { u as Le } from "./chunks/useActionTriggers.es.js";
9
+ import { b2 as C } from "./chunks/searchTerms.es.js";
10
+ import { bw as N, cQ as O } from "./chunks/getUris.es.js";
11
11
  import "primereact/confirmdialog";
12
- import { jsx as P, jsxs as j } from "react/jsx-runtime";
12
+ import { jsx as x, jsxs as K } from "react/jsx-runtime";
13
+ import { toast as U } from "react-toastify";
14
+ import { Button as _, Icon as j } from "@ynput/ayon-react-components";
13
15
  import "lodash";
14
- import { toast as F } from "react-toastify";
15
16
  import "uuid";
16
- import { Button as O, Icon as $ } from "@ynput/ayon-react-components";
17
17
  import "./chunks/ContextMenuContextInstance.es.js";
18
18
  import "clsx";
19
19
  import "react-dom";
20
20
  import "react-redux";
21
- import { u as ye } from "./chunks/EntityPickerDialog.es.js";
22
- import { u as we } from "./chunks/useQueryArgumentChangeLoading.es.js";
23
- import { u as Se } from "./chunks/useGroupedPagination.es.js";
21
+ import { u as ve } from "./chunks/EntityPickerDialog.es.js";
22
+ import { u as Ie } from "./chunks/useQueryArgumentChangeLoading.es.js";
23
+ import { u as xe } from "./chunks/useGroupedPagination.es.js";
24
24
  import "./chunks/ReviewablesSelector.es.js";
25
25
  import "match-sorter";
26
26
  import "./chunks/SimpleForm.es.js";
@@ -48,30 +48,31 @@ import "./chunks/VersionUploadContextInstance.es.js";
48
48
  import "./chunks/EntityTooltip.es.js";
49
49
  import "./chunks/ColumnDropIndicator.styled.es.js";
50
50
  import "@tanstack/react-table";
51
- import { T as Q } from "./chunks/TableSettingsFallback.es.js";
51
+ import { T as F } from "./chunks/TableSettingsFallback.es.js";
52
52
  import "react-router-dom";
53
53
  import "./chunks/Slicer.es.js";
54
54
  import "primereact/splitter";
55
55
  import "./chunks/ThumbnailSimple.es.js";
56
56
  import "./chunks/MenuItem.es.js";
57
- import A from "styled-components";
58
- import { i as q } from "./chunks/isHTMLElement.es.js";
59
- import { u as Ee } from "./chunks/useAttributeEnums.es.js";
60
- const Ht = (t, c, e) => {
61
- const a = N(/* @__PURE__ */ new Set()), [m, r] = k(
62
- () => h(t)
63
- ), [n, f] = k(c.length > 0 && !e);
57
+ import H from "styled-components";
58
+ import { i as W } from "./chunks/isHTMLElement.es.js";
59
+ import { u as Pe } from "./chunks/useAttributeEnums.es.js";
60
+ import { a as $ } from "./chunks/afterStartup.es.js";
61
+ const Jt = (t, n, e) => {
62
+ const o = G(/* @__PURE__ */ new Set()), [m, r] = S(
63
+ () => p(t)
64
+ ), [s, f] = S(n.length > 0 && !e);
64
65
  v(() => {
65
- e || (console.log("resetting processedModules"), a.current = /* @__PURE__ */ new Set(), r(h(t)));
66
+ e || (console.log("resetting processedModules"), o.current = /* @__PURE__ */ new Set(), r(p(t)));
66
67
  }, [JSON.stringify(t), e]);
67
- const l = async (s, d, i, p, u) => {
68
+ const i = async (u, c, d, h, l) => {
68
69
  try {
69
- const o = await M(`${s}/${d}`, {
70
+ const a = await V(`${u}/${c}`, {
70
71
  from: "runtime"
71
72
  });
72
- w(i, s, d, o?.default || p, u);
73
- } catch (o) {
74
- throw console.error("Error loading remote module", s, d, o), o;
73
+ g(d, u, c, a?.default || h, l);
74
+ } catch (a) {
75
+ throw console.error("Error loading remote module", u, c, a), a;
75
76
  }
76
77
  };
77
78
  v(() => {
@@ -79,243 +80,266 @@ const Ht = (t, c, e) => {
79
80
  f(!1);
80
81
  return;
81
82
  }
82
- m.every((i) => !i[1].isLoaded) && a.current.size > 0 && (console.log("resetting processedModules - results were reset"), a.current = /* @__PURE__ */ new Set()), console.log("loading modules");
83
- const d = [];
84
- if (t.forEach((i, p) => {
85
- const { addon: u, remote: o, module: g, fallback: L, minVersion: y } = i;
86
- if (!u || !o || !g) {
87
- console.log("Invalid module spec", i);
83
+ m.every((d) => !d[1].isLoaded) && o.current.size > 0 && (console.log("resetting processedModules - results were reset"), o.current = /* @__PURE__ */ new Set()), console.log("loading modules");
84
+ const c = [];
85
+ if (t.forEach((d, h) => {
86
+ const { addon: l, remote: a, module: y, fallback: L, minVersion: w } = d;
87
+ if (!l || !a || !y) {
88
+ console.log("Invalid module spec", d);
88
89
  return;
89
90
  }
90
- const x = `${u}/${o}/${g}`;
91
- if (a.current.has(x)) {
92
- console.log("skipping already processed module", x);
91
+ const b = `${l}/${a}/${y}`;
92
+ if (o.current.has(b)) {
93
+ console.log("skipping already processed module", b);
93
94
  return;
94
95
  }
95
- if (m[p]?.[1]?.isLoaded) {
96
- a.current.add(x);
96
+ if (m[h]?.[1]?.isLoaded) {
97
+ o.current.add(b);
97
98
  return;
98
99
  }
99
- a.current.add(x);
100
- const E = c.find((I) => I.addonName === u);
101
- if (!E) {
102
- console.log("Addon not found", { addon: u, remote: o, module: g });
100
+ o.current.add(b);
101
+ const I = n.find((P) => P.addonName === l);
102
+ if (!I) {
103
+ console.log("Addon not found", { addon: l, remote: a, module: y });
103
104
  return;
104
105
  }
105
- if (y && !b.gte(E.addonVersion, y)) {
106
- S(
107
- p,
108
- u,
109
- o,
110
- g,
111
- L,
106
+ if (w && !A.gte(I.addonVersion, w)) {
107
+ E(
108
+ h,
109
+ l,
110
+ a,
112
111
  y,
113
- E.addonVersion
112
+ L,
113
+ w,
114
+ I.addonVersion
114
115
  );
115
116
  return;
116
117
  }
117
- if (!E.modules[o]) {
118
- console.log("Module not found", { addon: u, remote: o, module: g });
118
+ if (!I.modules[a]) {
119
+ console.log("Module not found", { addon: l, remote: a, module: y });
119
120
  return;
120
121
  }
121
- d.push(l(o, g, u, L, y));
122
- }), !d.length) {
122
+ c.push(i(a, y, l, L, w));
123
+ }), !c.length) {
123
124
  f(!1);
124
125
  return;
125
126
  }
126
- f(!0), Promise.all(d).then(() => {
127
+ f(!0), Promise.all(c).then(() => {
127
128
  f(!1);
128
- }).catch((i) => {
129
- console.error("Error loading modules", i), f(!1);
129
+ }).catch((d) => {
130
+ console.error("Error loading modules", d), f(!1);
130
131
  });
131
- }, [e, c, JSON.stringify(t), m]);
132
- function h(s) {
133
- return s.map(
134
- ({ addon: d = "", remote: i = "", module: p = "", fallback: u, minVersion: o }) => [
135
- u,
132
+ }, [e, n, JSON.stringify(t), m]);
133
+ function p(u) {
134
+ return u.map(
135
+ ({ addon: c = "", remote: d = "", module: h = "", fallback: l, minVersion: a }) => [
136
+ l,
136
137
  {
137
138
  isLoaded: !1,
138
- addon: d,
139
- remote: i,
140
- module: p,
141
- minVersion: o,
139
+ addon: c,
140
+ remote: d,
141
+ module: h,
142
+ minVersion: a,
142
143
  outdated: void 0
143
144
  }
144
145
  ]
145
146
  );
146
147
  }
147
- function S(s, d, i, p, u, o, g) {
148
+ function E(u, c, d, h, l, a, y) {
148
149
  r((L) => {
149
- const y = [...L];
150
- return s >= 0 && s < y.length && (y[s] = [
151
- u,
150
+ const w = [...L];
151
+ return u >= 0 && u < w.length && (w[u] = [
152
+ l,
152
153
  {
153
154
  isLoaded: !1,
154
- addon: d,
155
- remote: i,
156
- module: p,
157
- minVersion: o,
155
+ addon: c,
156
+ remote: d,
157
+ module: h,
158
+ minVersion: a,
158
159
  outdated: {
159
- current: g,
160
- required: o
160
+ current: y,
161
+ required: a
161
162
  }
162
163
  }
163
- ]), y;
164
+ ]), w;
164
165
  });
165
166
  }
166
- function w(s, d, i, p, u) {
167
- r((o) => {
168
- const g = [...o], L = t.findIndex(
169
- (y) => y.addon === s && y.remote === d && y.module === i
167
+ function g(u, c, d, h, l) {
168
+ r((a) => {
169
+ const y = [...a], L = t.findIndex(
170
+ (w) => w.addon === u && w.remote === c && w.module === d
170
171
  );
171
- return L >= 0 && L < g.length && (g[L] = [
172
- p,
172
+ return L >= 0 && L < y.length && (y[L] = [
173
+ h,
173
174
  {
174
175
  isLoaded: !0,
175
- addon: s,
176
- remote: d,
177
- module: i,
178
- minVersion: u,
176
+ addon: u,
177
+ remote: c,
178
+ module: d,
179
+ minVersion: l,
179
180
  outdated: void 0
180
181
  }
181
- ]), g;
182
+ ]), y;
182
183
  });
183
184
  }
184
- return { modules: m, isLoading: n };
185
- }, Jt = ({ selectors: t = [], init: c }) => {
186
- const { user: e } = V(), { data: { frontendPreferences: a = {} } = {} } = e || {}, m = t.filter((l) => l != null).map((l) => l.replace(/\s/g, ""));
187
- let r = a;
188
- for (const l of m)
189
- r = r?.[l];
190
- r = r || c || {};
191
- const [n] = T();
192
- return [r, async (l) => {
185
+ return { modules: m, isLoading: s };
186
+ }, Xt = ({ selectors: t = [], init: n }) => {
187
+ const { user: e } = k(), { data: { frontendPreferences: o = {} } = {} } = e || {}, m = t.filter((i) => i != null).map((i) => i.replace(/\s/g, ""));
188
+ let r = o;
189
+ for (const i of m)
190
+ r = r?.[i];
191
+ r = r || n || {};
192
+ const [s] = C();
193
+ return [r, async (i) => {
193
194
  try {
194
195
  if (!e?.name) throw { data: { detail: "User not found" } };
195
- let h = { ...a };
196
- const S = (w, s, d) => {
197
- if (s.length === 0) return { ...w, ...d };
198
- const [i, ...p] = s, u = w?.[i] || {};
196
+ let p = { ...o };
197
+ const E = (g, u, c) => {
198
+ if (u.length === 0) return { ...g, ...c };
199
+ const [d, ...h] = u, l = g?.[d] || {};
199
200
  return {
200
- ...w,
201
- [i]: S(u, p, d)
201
+ ...g,
202
+ [d]: E(l, h, c)
202
203
  };
203
204
  };
204
- h = S(h, m, l), await n({
205
+ p = E(p, m, i), await s({
205
206
  userName: e.name,
206
- patchData: h,
207
+ patchData: p,
207
208
  // @ts-expect-error - disableInvalidations is not in the api
208
209
  disableInvalidations: !0
209
210
  }).unwrap();
210
- } catch (h) {
211
- console.error(h), F.error(h.data?.detail);
211
+ } catch (p) {
212
+ console.error(p), U.error(p.data?.detail);
212
213
  }
213
214
  }, { isSuccess: !0 }];
214
- }, Wt = ({ groupBy: t, projectName: c, entityType: e }) => {
215
+ }, Yt = ({ groupBy: t, projectName: n, entityType: e }) => {
215
216
  t?.id === "taskType" && (e = "task");
216
- const a = t?.id || "", { data: { groups: m = [] } = {}, error: r } = K(
217
- { projectName: c, entityType: e, groupingKey: a, empty: !0 },
217
+ const o = t?.id || "", { data: { groups: m = [] } = {}, error: r } = N(
218
+ { projectName: n, entityType: e, groupingKey: o, empty: !0 },
218
219
  { skip: !t?.id }
219
220
  );
220
221
  return {
221
222
  groups: m,
222
223
  error: r
223
224
  };
224
- }, z = A.li`
225
+ }, Q = H.li`
225
226
  display: flex;
226
227
  align-items: center;
227
228
  padding: 0;
228
229
  margin: 0;
229
- `, D = A(O)`
230
+ `, q = H(_)`
230
231
  width: 100%;
231
232
  justify-content: start;
232
- `, H = ({
233
+ `, z = ({
233
234
  requiredVersion: t,
234
- fields: c
235
- }) => /* @__PURE__ */ P(Q, { feature: "groupAttributes", requiredVersion: t, children: c.map((e) => /* @__PURE__ */ P(z, { children: /* @__PURE__ */ j(D, { variant: "text", icon: e.icon, children: [
235
+ fields: n
236
+ }) => /* @__PURE__ */ x(F, { feature: "groupAttributes", requiredVersion: t, children: n.map((e) => /* @__PURE__ */ x(Q, { children: /* @__PURE__ */ K(q, { variant: "text", icon: e.icon, children: [
236
237
  e.label,
237
- /* @__PURE__ */ P($, { icon: "bolt", style: { marginLeft: "auto" } })
238
- ] }) }, e.value)) }), Bt = () => {
239
- const { powerLicense: t } = G(), [c, { outdated: e, isLoading: a }] = C({
238
+ /* @__PURE__ */ x(j, { icon: "bolt", style: { marginLeft: "auto" } })
239
+ ] }) }, e.value)) }), Zt = () => {
240
+ const { powerLicense: t } = T(), [n, { outdated: e, isLoading: o }] = R({
240
241
  addon: "powerpack",
241
242
  remote: "slicer",
242
243
  module: "GroupSettings",
243
- fallback: H,
244
+ fallback: z,
244
245
  minVersion: "1.1.1-dev",
245
246
  skip: !t
246
247
  // skip loading if powerpack license is not available
247
248
  });
248
249
  return {
249
- GroupSettings: c,
250
+ GroupSettings: n,
250
251
  requiredVersion: e?.required,
251
- isLoading: a
252
+ isLoading: o
252
253
  };
253
- }, J = ["w", "s"];
254
- function Xt({
254
+ }, B = ["w", "s"];
255
+ function te({
255
256
  reviewables: t,
256
- selected: c,
257
+ selected: n,
257
258
  onChange: e,
258
- onNavigate: a,
259
+ onNavigate: o,
259
260
  enabled: m = !0
260
261
  }) {
261
262
  v(() => {
262
263
  if (!m || t.length <= 1) return;
263
- const r = (n) => {
264
- const f = n.key.length === 1 ? n.key.toLowerCase() : n.key;
265
- if (!J.includes(f) || n.metaKey || n.ctrlKey || n.altKey || q(n.target) && (n.target.tagName === "INPUT" || n.target.tagName === "TEXTAREA" || n.target.isContentEditable))
264
+ const r = (s) => {
265
+ const f = s.key.length === 1 ? s.key.toLowerCase() : s.key;
266
+ if (!B.includes(f) || s.metaKey || s.ctrlKey || s.altKey || W(s.target) && (s.target.tagName === "INPUT" || s.target.tagName === "TEXTAREA" || s.target.isContentEditable))
266
267
  return;
267
- const S = t.findIndex(({ fileId: s }) => c.includes(s)) + (f === "w" ? -1 : 1), w = t[S < 0 ? t.length - 1 : S % t.length];
268
- w && (e?.(w.fileId), a?.(w));
268
+ const E = t.findIndex(({ fileId: u }) => n.includes(u)) + (f === "w" ? -1 : 1), g = t[E < 0 ? t.length - 1 : E % t.length];
269
+ g && (e?.(g.fileId), o?.(g));
269
270
  };
270
271
  return window.addEventListener("keydown", r), () => window.removeEventListener("keydown", r);
271
- }, [m, t, c, e, a]);
272
+ }, [m, t, n, e, o]);
273
+ }
274
+ const D = 4, J = 0.3;
275
+ function ee({
276
+ containerRef: t,
277
+ toolsRef: n,
278
+ reviewablesCount: e
279
+ }) {
280
+ const [o, m] = S(0), [r, s] = S(0);
281
+ return console.log("containerHeight:", o, "toolsHeight:", r), v(() => {
282
+ const i = t.current, p = n.current;
283
+ if (!i) return;
284
+ const E = () => {
285
+ m(i.clientHeight), s(p?.offsetHeight ?? 0);
286
+ };
287
+ E();
288
+ const g = new ResizeObserver(E);
289
+ return g.observe(i), p && g.observe(p), () => g.disconnect();
290
+ }, [t, n]), e <= D || !o || !r ? "column" : o - r < o * J ? "row" : "column";
272
291
  }
273
- const Yt = () => {
274
- const { data: t, isLoading: c, isError: e } = U({});
292
+ const re = () => {
293
+ const { data: t, isLoading: n, isError: e } = O({});
275
294
  return {
276
- getProductionAddon: R(
295
+ getProductionAddon: M(
277
296
  (m, r) => {
278
297
  if (!t?.addons) return;
279
- const n = t.addons.find((l) => l.name === m), f = n?.productionVersion;
280
- if (!(!n || !f) && !(r?.version && f !== r.version)) {
298
+ const s = t.addons.find((i) => i.name === m), f = s?.productionVersion;
299
+ if (!(!s || !f) && !(r?.version && f !== r.version)) {
281
300
  if (r?.minVersion)
282
301
  try {
283
- if (!(b.gte(f, r.minVersion) || b.gte(b.coerce(f) || "0.0.0", r.minVersion))) return;
302
+ if (!(A.gte(f, r.minVersion) || A.gte(A.coerce(f) || "0.0.0", r.minVersion))) return;
284
303
  } catch {
285
304
  return;
286
305
  }
287
- return n;
306
+ return s;
288
307
  }
289
308
  },
290
309
  [t]
291
310
  ),
292
- isLoading: c,
311
+ isLoading: n,
293
312
  isError: e
294
313
  };
314
+ }, oe = (t) => {
315
+ const [n, e] = S(!1);
316
+ return v(() => $(() => e(!0), t), [t]), n;
295
317
  };
296
318
  export {
297
- ae as filterProjectStatuses,
298
- te as readLocalStorage,
299
- ee as readSessionStorage,
300
- pe as useActionTriggers,
301
- de as useAttributeEnumOptions,
302
- Ee as useAttributeEnums,
303
- ue as useEntityUpdate,
304
- ce as useFetchAttributeEnumOptions,
305
- Wt as useGetEntityGroups,
306
- Yt as useGetProductionAddon,
307
- Bt as useGroupByRemoteModules,
308
- Se as useGroupedPagination,
309
- ye as useHierarchyTable,
310
- C as useLoadModule,
311
- Ht as useLoadModules,
312
- re as useLocalStorage,
313
- we as useQueryArgumentChangeLoading,
314
- Xt as useReviewablesKeyboardNavigation,
315
- le as useScopedStatuses,
316
- me as useScopedTypes,
317
- oe as useSessionStorage,
318
- Jt as useUserProjectConfig,
319
- ne as writeLocalStorage,
320
- se as writeSessionStorage
319
+ fe as filterProjectStatuses,
320
+ ie as readLocalStorage,
321
+ ae as readSessionStorage,
322
+ Le as useActionTriggers,
323
+ oe as useAfterStartup,
324
+ pe as useAttributeEnumOptions,
325
+ Pe as useAttributeEnums,
326
+ ge as useEntityUpdate,
327
+ he as useFetchAttributeEnumOptions,
328
+ Yt as useGetEntityGroups,
329
+ re as useGetProductionAddon,
330
+ Zt as useGroupByRemoteModules,
331
+ xe as useGroupedPagination,
332
+ ve as useHierarchyTable,
333
+ R as useLoadModule,
334
+ Jt as useLoadModules,
335
+ ue as useLocalStorage,
336
+ Ie as useQueryArgumentChangeLoading,
337
+ te as useReviewablesKeyboardNavigation,
338
+ ee as useReviewablesLayout,
339
+ ye as useScopedStatuses,
340
+ we as useScopedTypes,
341
+ de as useSessionStorage,
342
+ Xt as useUserProjectConfig,
343
+ ce as writeLocalStorage,
344
+ le as writeSessionStorage
321
345
  };
@@ -98,6 +98,7 @@ declare type PowerpackContextType = {
98
98
  }) | null;
99
99
  powerLicense: boolean;
100
100
  isLoading: boolean;
101
+ storedLicense: boolean | null;
101
102
  };
102
103
 
103
104
  /** The dialog can be opened for a power feature or an addon */
@@ -210,7 +210,7 @@ declare type QueryCondition = {
210
210
  /** Value to compare against */
211
211
  value?: string | number | number | boolean | string[] | number[] | number[];
212
212
  /** Comparison operator */
213
- operator?: 'eq' | 'like' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
213
+ operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
214
214
  };
215
215
 
216
216
  declare type QueryFilter = {
@@ -1336,8 +1336,6 @@ export declare const getEntitiesLabelFromScopes: (scopes?: string[]) => string;
1336
1336
 
1337
1337
  export declare const getEntityDataById: <T extends "folder" | "task" | "product" | "version">(id: string, entitiesMap: EntitiesMap) => EMapResult<T> | undefined;
1338
1338
 
1339
- export declare const getEntityPath: (entityId: string, entitiesMap: EntitiesMap) => string;
1340
-
1341
1339
  export declare const getEntityViewierIds: (entity: EntityMap) => {
1342
1340
  [id: string]: string;
1343
1341
  };
@@ -2322,6 +2320,7 @@ declare type PowerpackContextType = {
2322
2320
  }) | null;
2323
2321
  powerLicense: boolean;
2324
2322
  isLoading: boolean;
2323
+ storedLicense: boolean | null;
2325
2324
  };
2326
2325
 
2327
2326
  /** The dialog can be opened for a power feature or an addon */
@@ -2847,7 +2846,7 @@ export declare type QueryCondition = {
2847
2846
  /** Value to compare against */
2848
2847
  value?: string | number | number | string[] | number[] | number[];
2849
2848
  /** Comparison operator */
2850
- operator?: 'eq' | 'like' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
2849
+ operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
2851
2850
  };
2852
2851
 
2853
2852
  declare type QueryCondition_2 = {
@@ -2856,7 +2855,7 @@ declare type QueryCondition_2 = {
2856
2855
  /** Value to compare against */
2857
2856
  value?: string | number | number | string[] | number[] | number[];
2858
2857
  /** Comparison operator */
2859
- operator?: 'eq' | 'like' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
2858
+ operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
2860
2859
  };
2861
2860
 
2862
2861
  declare type QueryCondition_3 = {
@@ -2865,7 +2864,7 @@ declare type QueryCondition_3 = {
2865
2864
  /** Value to compare against */
2866
2865
  value?: string | number | number | boolean | string[] | number[] | number[];
2867
2866
  /** Comparison operator */
2868
- operator?: 'eq' | 'like' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
2867
+ operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
2869
2868
  };
2870
2869
 
2871
2870
  export declare type QueryFilter = {
@@ -411,7 +411,7 @@ declare type QueryCondition_5 = {
411
411
  /** Value to compare against */
412
412
  value?: string | number | number | boolean | string[] | number[] | number[];
413
413
  /** Comparison operator */
414
- operator?: 'eq' | 'like' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
414
+ operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
415
415
  };
416
416
 
417
417
  declare type QueryFilter_5 = {
@@ -378,7 +378,7 @@ declare type QueryCondition = {
378
378
  /** Value to compare against */
379
379
  value?: string | number | number | string[] | number[] | number[];
380
380
  /** Comparison operator */
381
- operator?: 'eq' | 'like' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
381
+ operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
382
382
  };
383
383
 
384
384
  declare type QueryCondition_5 = {
@@ -387,7 +387,7 @@ declare type QueryCondition_5 = {
387
387
  /** Value to compare against */
388
388
  value?: string | number | number | boolean | string[] | number[] | number[];
389
389
  /** Comparison operator */
390
- operator?: 'eq' | 'like' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
390
+ operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
391
391
  };
392
392
 
393
393
  declare type QueryFilter = {
@@ -590,6 +590,17 @@ export declare const useListsViewSettings: () => ListsViewSettings;
590
590
 
591
591
  export declare const useOverviewViewSettings: ({ viewSettings, updateViewSettings }: Props_7) => Return_3;
592
592
 
593
+ /**
594
+ * Subscribes to the same queries ViewsProvider loads (keep the arguments in sync with
595
+ * ViewsContext and useSelectedView), so they can start before the provider mounts.
596
+ * Pages wait for views before they load their data, e.g. the project pages render
597
+ * ViewsProvider only once the project has loaded.
598
+ */
599
+ export declare const usePrefetchViews: ({ viewType, projectName, }: {
600
+ viewType?: string;
601
+ projectName?: string;
602
+ }) => void;
603
+
593
604
  declare type UserAttribModel = {
594
605
  fullName?: string;
595
606
  email?: string;