@ynput/ayon-frontend-shared 0.6.6 → 0.6.8

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 (53) hide show
  1. package/dist/DetailsPanel.es.js +4 -4
  2. package/dist/ListTable.es.js +2 -2
  3. package/dist/NewEntity.es.js +49 -49
  4. package/dist/ProjectTreeTable.es.js +501 -496
  5. package/dist/Slicer.es.js +27 -27
  6. package/dist/Views.es.js +213 -206
  7. package/dist/api.es.js +362 -360
  8. package/dist/chunks/Actions.es.js +21 -21
  9. package/dist/chunks/CodeEditor.es.js +30 -0
  10. package/dist/chunks/ColumnDropIndicator.es.js +5 -5
  11. package/dist/chunks/ColumnDropIndicator.styled.es.js +24 -24
  12. package/dist/chunks/ColumnHeaderMenuUI.es.js +2 -2
  13. package/dist/chunks/DeleteEntitiesContextInstance.es.js +96 -96
  14. package/dist/chunks/EmptyPlaceholder.es.js +9 -9
  15. package/dist/chunks/EntityPath.es.js +3 -3
  16. package/dist/chunks/EntityTooltip.es.js +1 -1
  17. package/dist/chunks/EntityUpdatesContext.es.js +1 -1
  18. package/dist/chunks/Feed.es.js +1625 -1573
  19. package/dist/chunks/JsonViewer.es.js +1 -1
  20. package/dist/chunks/Menu.es.js +1 -1
  21. package/dist/chunks/MenuItem.es.js +25 -25
  22. package/dist/chunks/MetaWidget.es.js +1537 -1516
  23. package/dist/chunks/PlayableIcon.es.js +128 -128
  24. package/dist/chunks/ProjectContext.es.js +11 -11
  25. package/dist/chunks/ReviewablesSelector.es.js +553 -462
  26. package/dist/chunks/SimpleForm.es.js +7 -7
  27. package/dist/chunks/SimpleTable.es.js +110 -110
  28. package/dist/chunks/Slicer.es.js +80 -80
  29. package/dist/chunks/TableSettingsFallback.es.js +1 -1
  30. package/dist/chunks/ThumbnailSimple.es.js +17 -17
  31. package/dist/chunks/VideoPlayer.es.js +1 -1
  32. package/dist/chunks/Watchers.es.js +50 -50
  33. package/dist/chunks/afterStartup.es.js +13 -0
  34. package/dist/chunks/getBundleMode.es.js +1 -1
  35. package/dist/chunks/getUris.es.js +797 -827
  36. package/dist/chunks/searchTerms.es.js +353 -336
  37. package/dist/chunks/useAttributeEnums.es.js +16 -16
  38. package/dist/chunks/useHierarchySelection.es.js +2 -2
  39. package/dist/chunks/useLoadModule.es.js +24 -23
  40. package/dist/chunks/viewUpdateHelper.es.js +8 -8
  41. package/dist/components.es.js +205 -202
  42. package/dist/context.es.js +525 -496
  43. package/dist/hooks.es.js +190 -166
  44. package/dist/types/ContextMenu.d.ts +1 -0
  45. package/dist/types/ProjectTreeTable.d.ts +1 -0
  46. package/dist/types/Views.d.ts +11 -0
  47. package/dist/types/api.d.ts +823 -1427
  48. package/dist/types/components.d.ts +9 -1
  49. package/dist/types/context.d.ts +1 -0
  50. package/dist/types/hooks.d.ts +25 -1
  51. package/dist/types/util.d.ts +10 -0
  52. package/dist/util.es.js +45 -42
  53. 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 R } 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 T } 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 { b3 as C } from "./chunks/searchTerms.es.js";
10
+ import { bw as N, cR 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
+ `, z = H(_)`
230
231
  width: 100%;
231
232
  justify-content: start;
232
- `, H = ({
233
+ `, B = ({
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(z, { 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 } = R(), [n, { outdated: e, isLoading: o }] = T({
240
241
  addon: "powerpack",
241
242
  remote: "slicer",
242
243
  module: "GroupSettings",
243
- fallback: H,
244
+ fallback: B,
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
+ }, Q = ["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 (!Q.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
+ T 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 */
@@ -2320,6 +2320,7 @@ declare type PowerpackContextType = {
2320
2320
  }) | null;
2321
2321
  powerLicense: boolean;
2322
2322
  isLoading: boolean;
2323
+ storedLicense: boolean | null;
2323
2324
  };
2324
2325
 
2325
2326
  /** The dialog can be opened for a power feature or an addon */
@@ -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;