@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
package/dist/Views.es.js CHANGED
@@ -1,22 +1,624 @@
1
- import { u as L, S as X, W as Y, V as Z, a as ee, N as oe } from "./chunks/ViewsContext.es.js";
2
- import { B as _e, b as je, c as Je, d as $e, g as Ge, e as Ke, i as qe, f as ze, h as Qe, j as Xe, k as Ye, l as Ze, v as eo } from "./chunks/ViewsContext.es.js";
3
- import { jsx as g, jsxs as x, Fragment as A } from "react/jsx-runtime";
4
- import { useRef as _, useEffect as k, useCallback as v, useState as b, useMemo as j } from "react";
5
- import { createPortal as J } from "react-dom";
6
- import { Icon as U, Button as $, Dialog as te } from "@ynput/ayon-react-components";
7
- import F from "styled-components";
8
- import G from "clsx";
9
- import { u as se } from "./chunks/GlobalContext.es.js";
10
- import { a as S, u as ne, e as re } from "./chunks/useLocalStorage.es.js";
11
- import { confirmDialog as ie } from "primereact/confirmdialog";
12
- import { a as K } from "./chunks/viewUpdateHelper.es.js";
13
- import { b as to, u as so } from "./chunks/viewUpdateHelper.es.js";
14
- import "lodash";
15
- import "react-toastify";
16
- import "uuid";
17
- import { c as q, a as R } from "./chunks/columnConfigConverter.es.js";
1
+ import { jsx as b, jsxs as A, Fragment as j } from "react/jsx-runtime";
2
+ import { useMemo as _, useCallback as h, useRef as te, useState as W, useEffect as U } from "react";
3
+ import { createPortal as we } from "react-dom";
18
4
  import "./chunks/searchTerms.es.js";
19
- const ae = (e) => `${e}-views-portal`, z = (e) => e ? document.getElementById(ae(e)) : null, ce = F(U)`
5
+ import { aP as se, br as _e, d2 as oe, b3 as ge, ds as fe, dv as q, S as T, cf as qe, cT as Ae, cA as Ge, bn as de, cy as He } from "./chunks/getUris.es.js";
6
+ import { confirmDialog as Je } from "primereact/confirmdialog";
7
+ import { a as J, ae as Ke, d as Ve, p as me, af as Qe, e as G, ag as ze, ah as Xe, ai as je } from "./chunks/DeleteEntitiesContextInstance.es.js";
8
+ import { Icon as K, Button as pe, Dialog as Ye } from "@ynput/ayon-react-components";
9
+ import "uuid";
10
+ import { toast as x } from "react-toastify";
11
+ import "@module-federation/enhanced/runtime";
12
+ import "lodash";
13
+ import "./chunks/ContextMenuContextInstance.es.js";
14
+ import he from "clsx";
15
+ import { useDispatch as Ze } from "react-redux";
16
+ import "semver";
17
+ import H from "styled-components";
18
+ import { u as ve } from "./chunks/useLoadModule.es.js";
19
+ import { g as ye, a as ke } from "./chunks/viewUpdateHelper.es.js";
20
+ import { c as Xt, b as jt, u as Yt } from "./chunks/viewUpdateHelper.es.js";
21
+ import { c as Ce, a as ee } from "./chunks/columnConfigConverter.es.js";
22
+ const qt = [
23
+ "overview",
24
+ "taskProgress",
25
+ "versions",
26
+ "lists",
27
+ "reviews",
28
+ "reports"
29
+ ], ie = "_working_", Ne = "_new_view_", be = "__base__", Te = (e) => {
30
+ const { viewsList: t, onEdit: i, onSelect: s, onSave: c } = e, n = (o, V = {}) => ({
31
+ id: o.id,
32
+ label: o.label,
33
+ isSelected: !1,
34
+ highlighted: o.highlighted,
35
+ onClick: () => s(o.id),
36
+ ...V
37
+ }), r = t.filter((o) => o.visibility === "private" && o.isOwner && !o.working).map(
38
+ (o) => n(o, {
39
+ isEditable: !0,
40
+ isSaveable: !0,
41
+ onEdit: () => i(o.id),
42
+ onSave: () => c(o.id)
43
+ })
44
+ ), w = t.filter((o) => o.visibility === "public" && !o.working).map(
45
+ (o) => n(o, {
46
+ isEditable: o.isOwner,
47
+ isSaveable: o.isOwner,
48
+ ...o.isOwner && {
49
+ onEdit: () => i(o.id),
50
+ onSave: () => c(o.id)
51
+ }
52
+ })
53
+ ), g = t.filter((o) => o.visibility === "private" && !o.isOwner && !o.working).map(
54
+ (o) => n(o, {
55
+ isEditable: !1,
56
+ isSaveable: !1
57
+ })
58
+ );
59
+ return {
60
+ myViews: r,
61
+ sharedViews: w,
62
+ allPrivateViews: g
63
+ };
64
+ }, et = ({
65
+ viewsList: e,
66
+ workingView: t,
67
+ viewType: i,
68
+ viewAlias: s,
69
+ projectName: c,
70
+ currentUser: n,
71
+ useWorkingView: r,
72
+ editingViewId: w,
73
+ collapsed: g,
74
+ setCollapsed: o,
75
+ onSelect: V,
76
+ onEdit: v,
77
+ onSave: p,
78
+ onResetWorkingView: d,
79
+ selectedId: l
80
+ }) => {
81
+ const { powerLicense: a } = J(), [u] = se(), y = _(
82
+ () => e.map((f) => ({
83
+ ...f,
84
+ isOwner: f.owner === n?.name,
85
+ highlighted: w === f.id ? "save" : void 0
86
+ })),
87
+ [e, n, w]
88
+ ), B = {
89
+ id: ie,
90
+ label: r ? `Personal ${s.toLowerCase()}` : `Working ${s.toLowerCase()}`,
91
+ startContent: r && /* @__PURE__ */ b(K, { icon: "person" }),
92
+ isEditable: !1
93
+ }, D = h(async () => {
94
+ let f = t?.id;
95
+ if (!t)
96
+ try {
97
+ console.warn(`No working ${s.toLowerCase()} found, creating a new one`);
98
+ const O = ye();
99
+ await u({
100
+ payload: O,
101
+ viewType: i,
102
+ projectName: c
103
+ }).unwrap(), f = O.id;
104
+ } catch (O) {
105
+ x.error(`Failed to create working ${s}: ${O}`);
106
+ }
107
+ V(f);
108
+ }, [t, i, u, c, V]), M = async (f) => {
109
+ try {
110
+ await p(f), V(f);
111
+ } catch (O) {
112
+ x.error(O);
113
+ }
114
+ }, [P, { isLoading: m }] = ve({
115
+ addon: "powerpack",
116
+ remote: "views",
117
+ module: "getCustomViews",
118
+ fallback: Te,
119
+ // minVersion: minVersion,
120
+ skip: !i || !a
121
+ }), { myViews: k, sharedViews: L, allPrivateViews: C } = P({
122
+ viewsList: y,
123
+ onEdit: v,
124
+ onSelect: V,
125
+ onSave: M
126
+ }), E = h(
127
+ (f) => {
128
+ o({ ...g, [f]: !g[f] });
129
+ },
130
+ [g, o]
131
+ ), S = _(() => [
132
+ { id: "myViews", title: `My ${s.toLowerCase()}s`, items: k },
133
+ {
134
+ id: "sharedViews",
135
+ title: `Shared ${s.toLowerCase()}s`,
136
+ items: L
137
+ },
138
+ {
139
+ id: "allPrivateViews",
140
+ title: `All private ${s.toLowerCase()}s`,
141
+ items: C
142
+ }
143
+ ], [k, L, C]), F = _(() => ({
144
+ ...B,
145
+ onClick: D,
146
+ // expose reset button when handler is provided
147
+ isEditable: !!d,
148
+ onResetView: d
149
+ }), [D, d]);
150
+ return _(() => {
151
+ const f = [F], O = S.filter((R) => a && (R.items?.length || 0) > 0);
152
+ return O.length > 0 && f.push(Ke), O.forEach((R) => {
153
+ const Q = !!g[R.id];
154
+ if (f.push({
155
+ type: "section",
156
+ id: R.id,
157
+ title: R.title,
158
+ collapsed: Q,
159
+ onToggle: () => E(R.id)
160
+ }), !Q)
161
+ f.push(...R.items);
162
+ else if (l) {
163
+ const z = R.items.find((Y) => Y.id === l);
164
+ z && f.push(z);
165
+ }
166
+ }), f;
167
+ }, [F, S, g, E, l, a]);
168
+ }, tt = ({ viewType: e, projectName: t }) => {
169
+ const { currentData: i, isLoading: s } = _e(
170
+ { viewType: e, projectName: t },
171
+ { skip: !e }
172
+ ), [c] = oe(), n = te({}), r = n.current[e];
173
+ return [i, async (g) => {
174
+ if (!e) throw "No view type provided for setting default view";
175
+ i?.id && i.id !== g && (n.current[e] = i.id);
176
+ try {
177
+ await c({
178
+ setDefaultViewRequestModel: {
179
+ viewId: g
180
+ },
181
+ viewType: e,
182
+ projectName: t
183
+ }).unwrap();
184
+ } catch (o) {
185
+ x.warn(`Failed to set default view: ${o}`);
186
+ }
187
+ }, r, s];
188
+ }, st = ({
189
+ viewType: e,
190
+ projectName: t,
191
+ viewsList: i,
192
+ onCreate: s,
193
+ onDelete: c,
194
+ onUpdate: n
195
+ }) => {
196
+ const r = Ze(), [w] = se(), [g] = ge(), [o] = fe(), [V] = oe(), v = h(
197
+ async (a, u) => {
198
+ if (!e)
199
+ throw new Error("viewType are required for creating a view");
200
+ try {
201
+ await w({
202
+ viewType: e,
203
+ projectName: u ? void 0 : t,
204
+ payload: a
205
+ }).unwrap(), s && s(a);
206
+ } catch (y) {
207
+ throw y;
208
+ }
209
+ },
210
+ [w, e, t, s]
211
+ ), p = h(
212
+ async (a, u, y) => {
213
+ if (!e)
214
+ throw new Error("viewType are required for updating a view");
215
+ try {
216
+ await o({
217
+ viewId: a,
218
+ viewType: e,
219
+ projectName: y ? void 0 : t,
220
+ payload: u
221
+ }).unwrap(), n && n({ ...u, id: a });
222
+ } catch (B) {
223
+ throw B;
224
+ }
225
+ },
226
+ [o, e, t, n]
227
+ ), d = h(
228
+ async (a, u) => {
229
+ if (!e)
230
+ throw new Error("viewType are required for deleting a view");
231
+ try {
232
+ await g({
233
+ viewType: e,
234
+ projectName: u ? void 0 : t,
235
+ viewId: a
236
+ }).unwrap(), c && c(a);
237
+ } catch (y) {
238
+ throw y;
239
+ }
240
+ },
241
+ [g, e, t, c]
242
+ ), l = h(
243
+ async (a) => {
244
+ const { existingWorkingViewId: u, selectedViewId: y, setSelectedView: B, setSettingsChanged: D, notify: M } = a || {};
245
+ if (!e)
246
+ throw new Error("viewType are required for resetting a view");
247
+ try {
248
+ r(
249
+ q.util.invalidateTags([
250
+ { type: "Views", id: `base-${e}-${t}` },
251
+ { type: "Views", id: `base-${e}` }
252
+ ])
253
+ );
254
+ const k = (await r(
255
+ q.endpoints.getBaseView.initiate(
256
+ { viewType: e, projectName: t },
257
+ { subscribe: !1, forceRefetch: !0 }
258
+ )
259
+ )).data;
260
+ let L = {}, C = "default";
261
+ if (k && k.settings && Object.keys(k.settings).length > 0)
262
+ L = k.settings, C = "project";
263
+ else {
264
+ const f = (await r(
265
+ q.endpoints.getBaseView.initiate(
266
+ { viewType: e },
267
+ { subscribe: !1, forceRefetch: !0 }
268
+ )
269
+ )).data;
270
+ f && f.settings && Object.keys(f.settings).length > 0 && (L = f.settings, C = "studio");
271
+ }
272
+ const E = u ?? ye().id;
273
+ if (u ? await o({
274
+ viewId: u,
275
+ viewType: e,
276
+ projectName: t,
277
+ payload: { settings: L }
278
+ }).unwrap() : await w({
279
+ viewType: e,
280
+ projectName: t,
281
+ payload: {
282
+ id: E,
283
+ label: "Working",
284
+ working: !0,
285
+ settings: L
286
+ }
287
+ }).unwrap(), await V({
288
+ viewType: e,
289
+ projectName: t,
290
+ setDefaultViewRequestModel: { viewId: E }
291
+ }).unwrap(), B && B(E), D && D(!1), M) {
292
+ const F = C === "project" ? "View reset to project default view" : C === "studio" ? "View reset to studio default view" : "View reset to default settings";
293
+ x.success(F);
294
+ }
295
+ return E;
296
+ } catch (P) {
297
+ throw M && x.error("Failed to reset view to default"), P;
298
+ }
299
+ },
300
+ [w, o, V, e, t, r]
301
+ );
302
+ return {
303
+ onCreateView: v,
304
+ onUpdateView: p,
305
+ onDeleteView: d,
306
+ onResetWorkingView: l
307
+ };
308
+ }, ot = ({
309
+ viewType: e,
310
+ projectName: t,
311
+ viewSettings: i,
312
+ workingView: s,
313
+ dispatch: c
314
+ }) => {
315
+ const [n] = se(), [r] = fe(), [w] = ge(), [g] = oe(), o = h(
316
+ async (d) => {
317
+ try {
318
+ const u = await n({
319
+ payload: {
320
+ label: be,
321
+ working: !1,
322
+ settings: i || {}
323
+ },
324
+ viewType: e,
325
+ projectName: d ? void 0 : t
326
+ }).unwrap();
327
+ c(
328
+ q.util.invalidateTags([
329
+ { type: "view", id: u.id },
330
+ T(e, d ? void 0 : t)
331
+ ])
332
+ );
333
+ const y = d ? "Studio" : "Project";
334
+ x.success(`${y} default view created successfully`);
335
+ } catch (l) {
336
+ const a = d ? "studio" : "project";
337
+ x.error(`Failed to create ${a} base view: ${l?.message || l}`);
338
+ }
339
+ },
340
+ [n, e, t, i, c]
341
+ ), V = h(
342
+ async (d, l) => {
343
+ try {
344
+ await r({
345
+ viewId: d,
346
+ viewType: e,
347
+ projectName: l ? void 0 : t,
348
+ payload: { settings: i || {} }
349
+ }).unwrap(), c(
350
+ q.util.invalidateTags([
351
+ { type: "view", id: d },
352
+ T(e, l ? void 0 : t)
353
+ ])
354
+ );
355
+ const u = l ? "Studio" : "Project";
356
+ x.success(`${u} default view updated successfully`);
357
+ } catch (a) {
358
+ const u = l ? "studio" : "project";
359
+ x.error(`Failed to update ${u} base view: ${a?.message || a}`);
360
+ }
361
+ },
362
+ [r, e, t, i, c]
363
+ ), v = h(
364
+ async (d, l) => {
365
+ try {
366
+ await w({
367
+ viewId: d,
368
+ viewType: e,
369
+ projectName: l ? void 0 : t
370
+ }).unwrap(), c(
371
+ q.util.invalidateTags([
372
+ { type: "view", id: d },
373
+ T(e, l ? void 0 : t)
374
+ ])
375
+ );
376
+ const a = l ? "Studio" : "Project";
377
+ x.success(`${a} default view removed successfully`);
378
+ } catch (a) {
379
+ const u = l ? "studio" : "project";
380
+ x.error(`Failed to remove ${u} base view: ${a?.message || a}`);
381
+ }
382
+ },
383
+ [w, e, t, c]
384
+ ), p = h(
385
+ async (d) => {
386
+ try {
387
+ if (!s?.id)
388
+ throw new Error("No working view available to update");
389
+ const u = (await c(
390
+ q.endpoints.getBaseView.initiate(
391
+ {
392
+ viewType: e,
393
+ projectName: d ? void 0 : t
394
+ },
395
+ { subscribe: !1, forceRefetch: !0 }
396
+ )
397
+ )).data;
398
+ if (!u || !u.settings)
399
+ throw new Error("Base view not found or has no settings");
400
+ await r({
401
+ viewId: s.id,
402
+ viewType: e,
403
+ projectName: t,
404
+ payload: { settings: u.settings }
405
+ }).unwrap(), await g({
406
+ viewType: e,
407
+ projectName: t,
408
+ setDefaultViewRequestModel: { viewId: s.id }
409
+ }).unwrap();
410
+ const y = d ? "Studio" : "Project";
411
+ x.success(`Loaded ${y} default view to working view`);
412
+ } catch (l) {
413
+ const a = d ? "studio" : "project";
414
+ x.error(`Failed to load ${a} base view: ${l?.message || l}`);
415
+ }
416
+ },
417
+ [s, r, g, e, t, c]
418
+ );
419
+ return {
420
+ onCreateBaseView: o,
421
+ onUpdateBaseView: V,
422
+ onDeleteBaseView: v,
423
+ onLoadBaseView: p
424
+ };
425
+ }, Le = (e, t) => e ? t.find((s) => s.id === e)?.scope === "studio" : !0, it = ({
426
+ viewType: e,
427
+ projectName: t,
428
+ viewsList: i,
429
+ sourceSettings: s,
430
+ onUpdateView: c
431
+ }) => ({ onSaveViewFromCurrent: h(
432
+ async (r) => {
433
+ if (!e)
434
+ throw "viewType are required for saving a view from another view";
435
+ if (!s)
436
+ throw "sourceView is required for saving a view from another view";
437
+ try {
438
+ await c(
439
+ r,
440
+ {
441
+ settings: s
442
+ },
443
+ Le(r, i)
444
+ ), x.success("View settings saved");
445
+ } catch (w) {
446
+ const g = typeof w == "string" ? "Failed to save view settings: " + w : "Failed to save view settings";
447
+ throw console.error(g), g;
448
+ }
449
+ },
450
+ [e, t, s]
451
+ ) }), nt = ({
452
+ viewType: e
453
+ }) => {
454
+ const [t, i] = W({}), s = h(
455
+ (n) => {
456
+ e && i((r) => ({ ...r, [e]: n }));
457
+ },
458
+ [e, i]
459
+ );
460
+ return [e ? t[e] : !1, s];
461
+ }, rt = "view", At = ({
462
+ children: e,
463
+ viewType: t,
464
+ viewAlias: i = rt,
465
+ projectName: s,
466
+ dispatch: c,
467
+ debug: n
468
+ }) => {
469
+ let { powerLicense: r } = J();
470
+ n?.powerLicense !== void 0 && (console.warn("Using debug power license:", n.powerLicense), r = n.powerLicense);
471
+ const { user: w } = Ve(), [g, o] = W(!1), [V, v] = W(null), p = "viewsMenuCollapsed", [d, l] = me(
472
+ p,
473
+ {}
474
+ ), a = (I) => {
475
+ const X = I.visibility === "private" ? "myViews" : "sharedViews";
476
+ if (d[X]) {
477
+ const le = { ...d };
478
+ le[X] = !1, l(le);
479
+ }
480
+ }, { data: u } = qe(
481
+ { projectName: s },
482
+ { skip: !r || !V }
483
+ ), [y, B, D, M] = tt({
484
+ viewType: t,
485
+ projectName: s
486
+ }), [P, m] = nt({
487
+ viewType: t
488
+ }), { currentData: k = [], isLoading: L } = Ae(
489
+ { projectName: s, viewType: t },
490
+ { skip: !t }
491
+ ), C = _(
492
+ () => k.filter(
493
+ (I) => I.label !== be && !(s && I.working && I.scope === "studio")
494
+ ),
495
+ [k]
496
+ ), { onCreateView: E, onDeleteView: S, onUpdateView: F, onResetWorkingView: $ } = st({
497
+ viewType: t,
498
+ projectName: s,
499
+ viewsList: C,
500
+ onCreate: a
501
+ }), {
502
+ currentData: f,
503
+ isLoading: O,
504
+ isError: R
505
+ } = Ge(
506
+ { projectName: s, viewType: t },
507
+ { skip: !t }
508
+ ), { currentData: Q, isLoading: z } = de(
509
+ { projectName: s, viewType: t },
510
+ { skip: !t }
511
+ ), { currentData: Y, isLoading: Ee } = de(
512
+ { projectName: void 0, viewType: t },
513
+ { skip: !t }
514
+ ), Ie = L || M || O || z || Ee, ne = f?.settings, Z = y?.id === ie ? ne : y?.settings, re = y?.id === f?.id, ae = P && re && D && D !== f?.id ? D : void 0, { currentData: N, isFetching: xe } = He(
515
+ {
516
+ viewId: V,
517
+ projectName: Le(V, C) ? void 0 : s,
518
+ viewType: t
519
+ },
520
+ { skip: typeof V != "string" || !r }
521
+ ), Fe = _(
522
+ () => V === N?.id ? N : void 0,
523
+ [V, N]
524
+ ), { onSaveViewFromCurrent: Me } = it({
525
+ viewType: t,
526
+ projectName: s,
527
+ viewsList: C,
528
+ sourceSettings: Z,
529
+ onUpdateView: F
530
+ }), { onCreateBaseView: Pe, onUpdateBaseView: Se, onDeleteBaseView: Oe, onLoadBaseView: $e } = ot({
531
+ viewType: t,
532
+ projectName: s,
533
+ viewSettings: Z,
534
+ workingView: f,
535
+ dispatch: c
536
+ }), Re = h(
537
+ async (I, { selectView: X } = {}) => {
538
+ if (!f?.id) {
539
+ console.error("No working view to update");
540
+ return;
541
+ }
542
+ await F(f.id, I, !s), X && B(f.id);
543
+ },
544
+ [F, f]
545
+ ), ce = h(async () => {
546
+ try {
547
+ await $({
548
+ existingWorkingViewId: f?.id,
549
+ selectedViewId: y?.id,
550
+ setSelectedView: B,
551
+ setSettingsChanged: m,
552
+ notify: !0
553
+ });
554
+ } catch (I) {
555
+ console.error("Failed to reset view:", I);
556
+ }
557
+ }, [f, $, y, B, m]), We = et({
558
+ viewsList: C,
559
+ workingView: f,
560
+ viewType: t,
561
+ viewAlias: i,
562
+ projectName: s,
563
+ currentUser: w,
564
+ useWorkingView: !r,
565
+ editingViewId: ae,
566
+ selectedId: y?.id,
567
+ collapsed: d,
568
+ setCollapsed: l,
569
+ onResetWorkingView: ce,
570
+ onSelect: (I) => {
571
+ B(I), m(!1), o(!1);
572
+ },
573
+ onEdit: (I) => v(I),
574
+ onSave: async (I) => Me(I)
575
+ }), Ue = {
576
+ viewType: t,
577
+ viewAlias: i,
578
+ projectName: s,
579
+ isMenuOpen: g,
580
+ editingView: V,
581
+ currentUser: w,
582
+ selectedView: y,
583
+ viewSettings: Z,
584
+ editingViewData: Fe,
585
+ isLoadingEditingViewData: xe,
586
+ viewsList: C,
587
+ // Working view
588
+ workingSettings: ne,
589
+ workingView: f,
590
+ isViewWorking: re,
591
+ onUpdateWorkingView: Re,
592
+ // base views
593
+ projectBaseView: Q,
594
+ studioBaseView: Y,
595
+ // base view mutations
596
+ onCreateBaseView: Pe,
597
+ onUpdateBaseView: Se,
598
+ onDeleteBaseView: Oe,
599
+ onLoadBaseView: $e,
600
+ editingViewId: ae,
601
+ viewMenuItems: We,
602
+ isLoadingViews: Ie,
603
+ isErrorWorkingView: R,
604
+ // data
605
+ shareOptions: u,
606
+ setIsMenuOpen: o,
607
+ setEditingView: v,
608
+ setSelectedView: B,
609
+ onSettingsChanged: m,
610
+ // mutations
611
+ onCreateView: E,
612
+ onUpdateView: F,
613
+ onDeleteView: S,
614
+ // shared actions
615
+ resetWorkingView: ce,
616
+ // api
617
+ api: q,
618
+ dispatch: c
619
+ };
620
+ return /* @__PURE__ */ b(Qe.Provider, { value: Ue, children: e });
621
+ }, at = (e) => `${e}-views-portal`, Be = (e) => e ? document.getElementById(at(e)) : null, ct = H(K)`
20
622
  padding: var(--padding-s);
21
623
  border-radius: var(--border-radius-m);
22
624
  margin: -4px 0;
@@ -37,7 +639,7 @@ const ae = (e) => `${e}-views-portal`, z = (e) => e ? document.getElementById(ae
37
639
  background-color: var(--md-sys-color-primary-hover);
38
640
  }
39
641
  }
40
- `, le = F.div`
642
+ `, lt = H.div`
41
643
  position: fixed;
42
644
  top: 0;
43
645
  left: 0;
@@ -52,13 +654,13 @@ const ae = (e) => `${e}-views-portal`, z = (e) => e ? document.getElementById(ae
52
654
  background-color: var(--md-sys-color-surface-container-high);
53
655
  border-radius: var(--border-radius-l);
54
656
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
55
- `, de = F.li`
657
+ `, dt = H.li`
56
658
  height: 1px;
57
659
  background-color: var(--md-sys-color-outline-variant);
58
660
  margin: 4px 0;
59
- `, ue = F.div`
661
+ `, ut = H.div`
60
662
  margin-left: 6px;
61
- `, pe = F($)`
663
+ `, wt = H(pe)`
62
664
  padding: 0 8px 0 4px !important;
63
665
  outline: 1px dashed var(--md-sys-color-outline);
64
666
  margin: 0 8px 4px 0;
@@ -100,453 +702,459 @@ const ae = (e) => `${e}-views-portal`, z = (e) => e ? document.getElementById(ae
100
702
  font-variation-settings: 'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20;
101
703
  }
102
704
  }
103
- `, me = ({ fullButton: e = !1, fullButtonProps: t = () => ({}) }) => {
104
- const { viewType: n, viewAlias: o, isMenuOpen: a, setIsMenuOpen: s, selectedView: i, isViewWorking: p, editingViewId: f } = L(), w = _(null);
105
- if (!n) return null;
106
- const y = (l) => {
107
- l.preventDefault(), l.stopPropagation(), s(!a);
108
- }, m = {
705
+ `, gt = ({
706
+ fullButton: e = !1,
707
+ fullButtonProps: t = () => ({})
708
+ }) => {
709
+ const {
710
+ viewType: i,
711
+ viewAlias: s,
712
+ isMenuOpen: c,
713
+ setIsMenuOpen: n,
714
+ selectedView: r,
715
+ isViewWorking: w,
716
+ editingViewId: g
717
+ } = G(), o = te(null);
718
+ if (!i) return null;
719
+ const V = (l) => {
720
+ l.preventDefault(), l.stopPropagation(), n(!c);
721
+ }, v = {
109
722
  icon: "view_quilt",
110
- onClick: y,
111
- className: G({ active: !!f, open: a }),
723
+ onClick: V,
724
+ className: he({ active: !!g, open: c }),
112
725
  tabIndex: 0,
113
- "data-tooltip": p ? `Working ${o.toLowerCase()}` : `${o}: ` + i?.label || "None",
726
+ "data-tooltip": w ? `Working ${s.toLowerCase()}` : `${s}: ` + r?.label || "None",
114
727
  "data-tooltip-delay": 0,
115
728
  onKeyDown: (l) => {
116
- (l.key === "Enter" || l.key === " ") && y(l);
729
+ (l.key === "Enter" || l.key === " ") && V(l);
117
730
  }
118
- }, c = e ? /* @__PURE__ */ g($, { ...m, ...t(i) }) : /* @__PURE__ */ g(
119
- ce,
120
- {
121
- ref: w,
122
- ...m
123
- }
124
- ), u = z(n);
125
- return u ? J(c, u) : null;
126
- }, ge = () => null, Q = "views-dialog", we = ({}) => {
731
+ }, p = e ? /* @__PURE__ */ b(pe, { ...v, ...t(r) }) : /* @__PURE__ */ b(ct, { ref: o, ...v }), d = Be(i);
732
+ return d ? we(p, d) : null;
733
+ }, ft = () => null, De = "views-dialog", Vt = ({}) => {
127
734
  const {
128
735
  editingView: e,
129
736
  editingViewData: t,
130
- isLoadingEditingViewData: n,
131
- setEditingView: o,
132
- viewType: a,
133
- viewAlias: s,
134
- projectName: i,
135
- currentUser: p,
136
- viewSettings: f,
137
- shareOptions: w,
138
- setSelectedView: y,
139
- onCreateView: m,
140
- onUpdateView: c,
141
- onDeleteView: u,
737
+ isLoadingEditingViewData: i,
738
+ setEditingView: s,
739
+ viewType: c,
740
+ viewAlias: n,
741
+ projectName: r,
742
+ currentUser: w,
743
+ viewSettings: g,
744
+ shareOptions: o,
745
+ setSelectedView: V,
746
+ onCreateView: v,
747
+ onUpdateView: p,
748
+ onDeleteView: d,
142
749
  api: l,
143
- dispatch: d
144
- } = L(), { powerLicense: h } = S(), [E, { isLoading: T, outdated: I }] = ne({
750
+ dispatch: a
751
+ } = G(), { powerLicense: u } = J(), [y, { isLoading: B, outdated: D }] = ve({
145
752
  addon: "powerpack",
146
753
  remote: "views",
147
754
  module: "ViewFormDialog",
148
- fallback: ge,
755
+ fallback: ft,
149
756
  minVersion: "1.1.1",
150
- skip: !a || !h
757
+ skip: !c || !u
151
758
  });
152
- return !a || !e ? null : e && I ? /* @__PURE__ */ g(
153
- te,
759
+ return !c || !e ? null : e && D ? /* @__PURE__ */ b(
760
+ Ye,
154
761
  {
155
762
  isOpen: !0,
156
763
  header: "Powerpack Update Required",
157
- onClose: () => o(null),
764
+ onClose: () => s(null),
158
765
  size: "sm",
159
- children: /* @__PURE__ */ x("p", { children: [
766
+ children: /* @__PURE__ */ A("p", { children: [
160
767
  "Please update the Powerpack addon to at least ",
161
- I.required
768
+ D.required
162
769
  ] })
163
770
  }
164
- ) : /* @__PURE__ */ g(
165
- E,
771
+ ) : /* @__PURE__ */ b(
772
+ y,
166
773
  {
167
774
  editingView: {
168
775
  viewId: e === !0 ? void 0 : e,
169
776
  ...t || {}
170
777
  },
171
- isLoading: n,
172
- viewSettings: f,
173
- setEditingView: o,
174
- viewType: a,
175
- viewAlias: s,
176
- projectName: i,
177
- shareOptions: w,
178
- setSelected: y,
179
- onCreateView: m,
180
- onUpdateView: c,
181
- onDeleteView: u,
778
+ isLoading: i,
779
+ viewSettings: g,
780
+ setEditingView: s,
781
+ viewType: c,
782
+ viewAlias: n,
783
+ projectName: r,
784
+ shareOptions: o,
785
+ setSelected: V,
786
+ onCreateView: v,
787
+ onUpdateView: p,
788
+ onDeleteView: d,
182
789
  api: l,
183
- dispatch: d,
184
- currentUser: p,
790
+ dispatch: a,
791
+ currentUser: w,
185
792
  pt: {
186
793
  dialog: {
187
- className: Q
794
+ className: De
188
795
  }
189
796
  }
190
797
  }
191
798
  );
192
- }, fe = ({ projectName: e }) => {
799
+ }, mt = ({ projectName: e }) => {
193
800
  const {
194
801
  projectBaseView: t,
195
- studioBaseView: n,
196
- onCreateBaseView: o,
197
- onDeleteBaseView: a,
198
- onLoadBaseView: s,
199
- viewAlias: i
200
- } = L(), { powerLicense: p, setPowerpackDialog: f } = S(), [w, y] = re("collapsed-default-view", !1), m = async (c, u) => {
201
- const l = c ? n : t, d = !c && p === !1;
202
- if (d && !u) {
203
- f("sharedViews");
802
+ studioBaseView: i,
803
+ onCreateBaseView: s,
804
+ onDeleteBaseView: c,
805
+ onLoadBaseView: n,
806
+ viewAlias: r
807
+ } = G(), { powerLicense: w, setPowerpackDialog: g } = J(), [o, V] = me("collapsed-default-view", !1), v = async (p, d) => {
808
+ const l = p ? i : t, a = !p && w === !1;
809
+ if (a && !d) {
810
+ g("sharedViews");
204
811
  return;
205
812
  }
206
- l ? u || d ? ie({
207
- message: `Are you sure you want to remove this default ${i.toLowerCase()}?`,
208
- header: `Remove Default ${i}`,
813
+ l ? d || a ? Je({
814
+ message: `Are you sure you want to remove this default ${r.toLowerCase()}?`,
815
+ header: `Remove Default ${r}`,
209
816
  acceptLabel: "Remove",
210
817
  rejectLabel: "Cancel",
211
818
  accept: async () => {
212
- await a(l.id, c);
819
+ await c(l.id, p);
213
820
  }
214
- }) : await s(c) : await o(c);
821
+ }) : await n(p) : await s(p);
215
822
  };
216
- return /* @__PURE__ */ x(A, { children: [
217
- /* @__PURE__ */ g(
218
- X,
823
+ return /* @__PURE__ */ A(j, { children: [
824
+ /* @__PURE__ */ b(
825
+ ze,
219
826
  {
220
- onClick: () => y(!w),
221
- collapsed: w,
827
+ onClick: () => V(!o),
828
+ collapsed: o,
222
829
  id: "default-views",
223
- title: `Default ${i.toLowerCase()}`,
830
+ title: `Default ${r.toLowerCase()}`,
224
831
  style: { marginBottom: "10px" }
225
832
  }
226
833
  ),
227
- !w && /* @__PURE__ */ x(ue, { children: [
228
- /* @__PURE__ */ g(
229
- W,
834
+ !o && /* @__PURE__ */ A(ut, { children: [
835
+ /* @__PURE__ */ b(
836
+ ue,
230
837
  {
231
- existingView: !!n,
838
+ existingView: !!i,
232
839
  label: "Studio",
233
- onClick: (c) => m(!0, c)
840
+ onClick: (p) => v(!0, p)
234
841
  }
235
842
  ),
236
- e && /* @__PURE__ */ g(
237
- W,
843
+ e && /* @__PURE__ */ b(
844
+ ue,
238
845
  {
239
846
  existingView: !!t,
240
847
  label: "Project",
241
- onClick: (c) => m(!1, c),
242
- powerLicense: p
848
+ onClick: (p) => v(!1, p),
849
+ powerLicense: w
243
850
  }
244
851
  )
245
852
  ] })
246
853
  ] });
247
- }, W = ({
854
+ }, ue = ({
248
855
  existingView: e,
249
856
  onClick: t,
250
- label: n,
251
- powerLicense: o = void 0
857
+ label: i,
858
+ powerLicense: s = void 0
252
859
  }) => {
253
- const a = (i) => {
254
- i.stopPropagation(), t();
255
- }, s = (i) => {
256
- i.stopPropagation(), t(!0);
860
+ const c = (r) => {
861
+ r.stopPropagation(), t();
862
+ }, n = (r) => {
863
+ r.stopPropagation(), t(!0);
257
864
  };
258
- return /* @__PURE__ */ x(
259
- pe,
865
+ return /* @__PURE__ */ A(
866
+ wt,
260
867
  {
261
- className: G({
262
- "powerpack-locked": o === !1,
868
+ className: he({
869
+ "powerpack-locked": s === !1,
263
870
  active: e
264
871
  }),
265
- onClick: a,
872
+ onClick: c,
266
873
  children: [
267
- /* @__PURE__ */ g(
268
- U,
874
+ /* @__PURE__ */ b(
875
+ K,
269
876
  {
270
- icon: o === !1 ? "bolt" : e ? "close" : "add",
271
- onClick: (i) => e && s(i)
877
+ icon: s === !1 ? "bolt" : e ? "close" : "add",
878
+ onClick: (r) => e && n(r)
272
879
  }
273
880
  ),
274
- n
881
+ i
275
882
  ]
276
883
  }
277
884
  );
278
- }, ye = F(U)`
885
+ }, pt = H(K)`
279
886
  color: var(--md-sys-color-tertiary);
280
887
  font-variation-settings: 'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20;
281
- `, ve = () => {
888
+ `, ht = () => {
282
889
  const {
283
890
  viewType: e,
284
891
  viewAlias: t,
285
- isMenuOpen: n,
286
- setIsMenuOpen: o,
287
- setEditingView: a,
288
- selectedView: s,
289
- workingView: i,
290
- viewMenuItems: p,
291
- projectName: f
292
- } = L(), { powerLicense: w, setPowerpackDialog: y } = S(), m = _(null), { user: c } = se(), u = (c?.uiExposureLevel || 0) >= 900, l = z(e), d = l?.getBoundingClientRect(), E = {
293
- top: d ? d.bottom + 8 : 0,
294
- left: d ? d.left : 0
892
+ isMenuOpen: i,
893
+ setIsMenuOpen: s,
894
+ setEditingView: c,
895
+ selectedView: n,
896
+ workingView: r,
897
+ viewMenuItems: w,
898
+ projectName: g
899
+ } = G(), { powerLicense: o, setPowerpackDialog: V } = J(), v = te(null), { user: p } = Ve(), d = (p?.uiExposureLevel || 0) >= 900, l = Be(e), a = l?.getBoundingClientRect(), y = {
900
+ top: a ? a.bottom + 8 : 0,
901
+ left: a ? a.left : 0
295
902
  };
296
- k(() => {
297
- const O = (r) => {
298
- const V = r.target, C = m.current?.contains(V) || l?.contains(V), D = document.querySelector("." + Q)?.contains(V), B = document.querySelector(".options")?.contains(V), M = document.querySelector(".p-confirm-dialog")?.contains(V);
299
- !C && !D && !B && !M && n && o(!1);
300
- }, N = (r) => {
301
- r.key === "Escape" && n && o(!1);
903
+ U(() => {
904
+ const M = (m) => {
905
+ const k = m.target, L = v.current?.contains(k) || l?.contains(k), C = document.querySelector("." + De)?.contains(k), E = document.querySelector(".options")?.contains(k), S = document.querySelector(".p-confirm-dialog")?.contains(k);
906
+ !L && !C && !E && !S && i && s(!1);
907
+ }, P = (m) => {
908
+ m.key === "Escape" && i && s(!1);
302
909
  };
303
- return document.addEventListener("mousedown", O), document.addEventListener("keydown", N), () => {
304
- document.removeEventListener("mousedown", O), document.removeEventListener("keydown", N);
910
+ return document.addEventListener("mousedown", M), document.addEventListener("keydown", P), () => {
911
+ document.removeEventListener("mousedown", M), document.removeEventListener("keydown", P);
305
912
  };
306
- }, [n, l, o]), k(() => {
307
- n && m.current && m.current.focus();
308
- }, [n]);
309
- const T = v(() => {
310
- w ? a(!0) : y("sharedViews");
311
- }, [w, y, a, o]), I = !s || i?.id === s.id ? Y : s.id;
312
- return /* @__PURE__ */ g(A, { children: n && J(
313
- /* @__PURE__ */ x(le, { style: E, ref: m, tabIndex: 0, children: [
314
- /* @__PURE__ */ g(Z, { items: p, selected: I }),
315
- u && /* @__PURE__ */ x(A, { children: [
316
- /* @__PURE__ */ g(fe, { projectName: f }),
317
- /* @__PURE__ */ g(de, {})
913
+ }, [i, l, s]), U(() => {
914
+ i && v.current && v.current.focus();
915
+ }, [i]);
916
+ const B = h(() => {
917
+ o ? c(!0) : V("sharedViews");
918
+ }, [o, V, c, s]), D = !n || r?.id === n.id ? ie : n.id;
919
+ return /* @__PURE__ */ b(j, { children: i && we(
920
+ /* @__PURE__ */ A(lt, { style: y, ref: v, tabIndex: 0, children: [
921
+ /* @__PURE__ */ b(Xe, { items: w, selected: D }),
922
+ d && /* @__PURE__ */ A(j, { children: [
923
+ /* @__PURE__ */ b(mt, { projectName: g }),
924
+ /* @__PURE__ */ b(dt, {})
318
925
  ] }),
319
- /* @__PURE__ */ g(
320
- ee,
926
+ /* @__PURE__ */ b(
927
+ je,
321
928
  {
322
929
  label: `Create new ${t.toLowerCase()}`,
323
- id: oe,
324
- startContent: /* @__PURE__ */ g(U, { icon: "add" }),
325
- endContent: !w && /* @__PURE__ */ g(ye, { icon: "bolt" }),
326
- onClick: T,
930
+ id: Ne,
931
+ startContent: /* @__PURE__ */ b(K, { icon: "add" }),
932
+ endContent: !o && /* @__PURE__ */ b(pt, { icon: "bolt" }),
933
+ onClick: B,
327
934
  tabIndex: 0
328
935
  }
329
936
  )
330
937
  ] }),
331
938
  document.body
332
939
  ) });
333
- }, he = () => {
334
- const { resetWorkingView: e } = L(), t = v(async () => {
940
+ }, vt = () => {
941
+ const { resetWorkingView: e } = G(), t = h(async () => {
335
942
  await e();
336
943
  }, [e]);
337
- return k(() => {
338
- const n = (o) => {
339
- o.target instanceof HTMLElement && (o.target.tagName === "INPUT" || o.target.tagName === "TEXTAREA" || o.target.isContentEditable || o.target.getAttribute("role") === "textbox" || o.target.closest(".block-shortcuts")) || o.shiftKey && (o.ctrlKey || o.metaKey) && o.key === "0" && (o.preventDefault(), t());
944
+ return U(() => {
945
+ const i = (s) => {
946
+ s.target instanceof HTMLElement && (s.target.tagName === "INPUT" || s.target.tagName === "TEXTAREA" || s.target.isContentEditable || s.target.getAttribute("role") === "textbox" || s.target.closest(".block-shortcuts")) || s.shiftKey && (s.ctrlKey || s.metaKey) && s.key === "0" && (s.preventDefault(), t());
340
947
  };
341
- return window.addEventListener("keydown", n), () => {
342
- window.removeEventListener("keydown", n);
948
+ return window.addEventListener("keydown", i), () => {
949
+ window.removeEventListener("keydown", i);
343
950
  };
344
951
  }, [t]), {
345
952
  resetViewToDefault: t
346
953
  };
347
- }, Ae = () => (he(), /* @__PURE__ */ x(A, { children: [
348
- /* @__PURE__ */ g(me, {}),
349
- /* @__PURE__ */ g(ve, {}),
350
- /* @__PURE__ */ g(we, {})
351
- ] })), Ue = () => {
352
- const { viewSettings: e } = L(), [t, n] = b(null), [o, a] = b(null), { updateViewSettings: s } = K(), i = e, p = i?.filter ?? {}, f = i?.columns ?? [], w = i?.sliceType;
353
- k(() => {
354
- n(null);
355
- }, [JSON.stringify(e?.filter)]), k(() => {
356
- a(null);
954
+ }, Gt = () => (vt(), /* @__PURE__ */ A(j, { children: [
955
+ /* @__PURE__ */ b(gt, {}),
956
+ /* @__PURE__ */ b(ht, {}),
957
+ /* @__PURE__ */ b(Vt, {})
958
+ ] })), Ht = () => {
959
+ const { viewSettings: e } = G(), [t, i] = W(null), [s, c] = W(null), { updateViewSettings: n } = ke(), r = e, w = r?.filter ?? {}, g = r?.columns ?? [], o = r?.sliceType;
960
+ U(() => {
961
+ i(null);
962
+ }, [JSON.stringify(e?.filter)]), U(() => {
963
+ c(null);
357
964
  }, [JSON.stringify(e?.columns)]);
358
- const y = t !== null ? t : p, m = o !== null ? o : f, c = v(
359
- async (h) => {
360
- await s({ filter: h }, n, h, {
965
+ const V = t !== null ? t : w, v = s !== null ? s : g, p = h(
966
+ async (u) => {
967
+ await n({ filter: u }, i, u, {
361
968
  errorMessage: "Failed to update filter settings"
362
969
  });
363
970
  },
364
- [s]
365
- ), u = v(
366
- async (h) => {
367
- await s({ columns: h }, a, h, {
971
+ [n]
972
+ ), d = h(
973
+ async (u) => {
974
+ await n({ columns: u }, c, u, {
368
975
  errorMessage: "Failed to update column width settings"
369
976
  });
370
977
  },
371
- [s]
372
- ), l = v(() => {
373
- }, []), d = v(
374
- async (h) => {
375
- await s({ sliceType: h }, l, h, {
978
+ [n]
979
+ ), l = h(() => {
980
+ }, []), a = h(
981
+ async (u) => {
982
+ await n({ sliceType: u }, l, u, {
376
983
  errorMessage: "Failed to update slicer type"
377
984
  });
378
985
  },
379
- [s]
986
+ [n]
380
987
  );
381
988
  return {
382
- filters: y,
383
- onUpdateFilters: c,
384
- columns: m,
385
- onUpdateColumns: u,
386
- sliceType: w,
387
- onUpdateSliceType: d
989
+ filters: V,
990
+ onUpdateFilters: p,
991
+ columns: v,
992
+ onUpdateColumns: d,
993
+ sliceType: o,
994
+ onUpdateSliceType: a
388
995
  };
389
- }, Re = ({ viewSettings: e, updateViewSettings: t }) => {
390
- const [n, o] = b(null), [a, s] = b(null), [i, p] = b(null), f = e, w = f?.filter ?? {}, y = f?.showHierarchy ?? !0, m = f?.sliceType, c = j(
391
- () => q(f),
996
+ }, Jt = ({ viewSettings: e, updateViewSettings: t }) => {
997
+ const [i, s] = W(null), [c, n] = W(null), [r, w] = W(null), g = e, o = g?.filter ?? {}, V = g?.showHierarchy ?? !0, v = g?.sliceType, p = _(
998
+ () => Ce(g),
392
999
  [JSON.stringify(e)]
393
1000
  );
394
- k(() => {
395
- o(null);
396
- }, [JSON.stringify(e?.filter)]), k(() => {
1001
+ U(() => {
397
1002
  s(null);
1003
+ }, [JSON.stringify(e?.filter)]), U(() => {
1004
+ n(null);
398
1005
  }, [
399
1006
  e?.showHierarchy,
400
1007
  e?.groupBy
401
- ]), k(() => {
402
- p(null);
1008
+ ]), U(() => {
1009
+ w(null);
403
1010
  }, [JSON.stringify(e?.columns)]);
404
- const u = n !== null ? n : w, l = a !== null ? a : y, d = i || c, h = v(() => {
405
- }, []), E = v(
406
- async (r) => {
407
- await t({ sliceType: r }, h, r, {
1011
+ const d = i !== null ? i : o, l = c !== null ? c : V, a = r || p, u = h(() => {
1012
+ }, []), y = h(
1013
+ async (m) => {
1014
+ await t({ sliceType: m }, u, m, {
408
1015
  errorMessage: "Failed to update slicer type"
409
1016
  });
410
1017
  },
411
1018
  [t]
412
- ), T = v(
413
- async (r) => {
414
- await t({ filter: r }, o, r, {
1019
+ ), B = h(
1020
+ async (m) => {
1021
+ await t({ filter: m }, s, m, {
415
1022
  errorMessage: "Failed to update filter settings"
416
1023
  });
417
1024
  },
418
1025
  [t]
419
- ), I = v(
420
- async (r) => {
421
- if (r && d?.groupBy) {
422
- const V = { ...d, groupBy: void 0 };
423
- p(V);
424
- const C = R(V);
1026
+ ), D = h(
1027
+ async (m) => {
1028
+ if (m && a?.groupBy) {
1029
+ const k = { ...a, groupBy: void 0 };
1030
+ w(k);
1031
+ const L = ee(k);
425
1032
  await t(
426
- { ...C, showHierarchy: !0 },
427
- s,
428
- r,
1033
+ { ...L, showHierarchy: !0 },
1034
+ n,
1035
+ m,
429
1036
  { errorMessage: "Failed to update hierarchy setting" }
430
1037
  );
431
1038
  return;
432
1039
  }
433
1040
  await t(
434
- { showHierarchy: r },
435
- s,
436
- r,
1041
+ { showHierarchy: m },
1042
+ n,
1043
+ m,
437
1044
  { errorMessage: "Failed to update hierarchy setting" }
438
1045
  );
439
1046
  },
440
- [t, d]
441
- ), O = v(
442
- async (r, V) => {
443
- const C = V || [
444
- ...r.columnOrder || [],
445
- ...Object.keys(r.columnVisibility || {}),
446
- ...r.columnPinning?.left || [],
447
- ...r.columnPinning?.right || []
448
- ].filter(Boolean).filter((M, H, P) => P.indexOf(M) === H), D = R(r, C), B = !!r.groupBy;
449
- B && s(!1), await t(
450
- B ? { ...D, showHierarchy: !1 } : D,
451
- p,
452
- r,
1047
+ [t, a]
1048
+ ), M = h(
1049
+ async (m, k) => {
1050
+ const L = k || [
1051
+ ...m.columnOrder || [],
1052
+ ...Object.keys(m.columnVisibility || {}),
1053
+ ...m.columnPinning?.left || [],
1054
+ ...m.columnPinning?.right || []
1055
+ ].filter(Boolean).filter((S, F, $) => $.indexOf(S) === F), C = ee(m, L), E = !!m.groupBy;
1056
+ E && n(!1), await t(
1057
+ E ? { ...C, showHierarchy: !1 } : C,
1058
+ w,
1059
+ m,
453
1060
  { errorMessage: "Failed to update columns" }
454
1061
  );
455
1062
  },
456
1063
  [t]
457
- ), N = v(
458
- async (r, V, C) => {
459
- const D = {
460
- showHierarchy: V,
461
- groupBy: r,
462
- groupSortByDesc: r ? C ?? !1 : void 0
463
- }, M = {
464
- ...d,
465
- groupBy: r ? { id: r, desc: C ?? !1 } : void 0
1064
+ ), P = h(
1065
+ async (m, k, L) => {
1066
+ const C = {
1067
+ showHierarchy: k,
1068
+ groupBy: m,
1069
+ groupSortByDesc: m ? L ?? !1 : void 0
1070
+ }, S = {
1071
+ ...a,
1072
+ groupBy: m ? { id: m, desc: L ?? !1 } : void 0
466
1073
  };
467
1074
  await t(
468
- D,
469
- (P) => {
470
- P === null ? (s(null), p(null)) : (s(P.showHierarchy), p(P.columns));
1075
+ C,
1076
+ ($) => {
1077
+ $ === null ? (n(null), w(null)) : (n($.showHierarchy), w($.columns));
471
1078
  },
472
- { showHierarchy: V, columns: M },
1079
+ { showHierarchy: k, columns: S },
473
1080
  { errorMessage: "Failed to update grouping" }
474
1081
  );
475
1082
  },
476
- [t, d]
1083
+ [t, a]
477
1084
  );
478
1085
  return {
479
- filters: u,
480
- onUpdateFilters: T,
1086
+ filters: d,
1087
+ onUpdateFilters: B,
481
1088
  showHierarchy: l,
482
- onUpdateHierarchy: I,
483
- columns: d,
484
- onUpdateColumns: O,
485
- onUpdateGroupBy: N,
486
- sliceType: m,
487
- onUpdateSliceType: E
1089
+ onUpdateHierarchy: D,
1090
+ columns: a,
1091
+ onUpdateColumns: M,
1092
+ onUpdateGroupBy: P,
1093
+ sliceType: v,
1094
+ onUpdateSliceType: y
488
1095
  };
489
- }, Se = () => {
490
- const { viewSettings: e } = L(), [t, n] = b(null), [o, a] = b(null), { updateViewSettings: s } = K(), i = e, p = i?.filter ?? {}, f = j(
491
- () => q(i),
1096
+ }, Kt = () => {
1097
+ const { viewSettings: e } = G(), [t, i] = W(null), [s, c] = W(null), { updateViewSettings: n } = ke(), r = e, w = r?.filter ?? {}, g = _(
1098
+ () => Ce(r),
492
1099
  [JSON.stringify(e)]
493
1100
  );
494
- k(() => {
495
- n(null);
496
- }, [JSON.stringify(e?.filter)]), k(() => {
497
- a(null);
1101
+ U(() => {
1102
+ i(null);
1103
+ }, [JSON.stringify(e?.filter)]), U(() => {
1104
+ c(null);
498
1105
  }, [JSON.stringify(e?.columns)]);
499
- const w = t !== null ? t : p, y = o || f, m = v(
500
- async (u) => {
501
- await s({ filter: u }, n, u, {
1106
+ const o = t !== null ? t : w, V = s || g, v = h(
1107
+ async (d) => {
1108
+ await n({ filter: d }, i, d, {
502
1109
  errorMessage: "Failed to update filter settings"
503
1110
  });
504
1111
  },
505
- [s]
506
- ), c = v(
507
- async (u, l) => {
508
- const d = R(u, l);
509
- await s(d, a, u, {
1112
+ [n]
1113
+ ), p = h(
1114
+ async (d, l) => {
1115
+ const a = ee(d, l);
1116
+ await n(a, c, d, {
510
1117
  errorMessage: "Failed to update columns"
511
1118
  });
512
1119
  },
513
- [s]
1120
+ [n]
514
1121
  );
515
1122
  return {
516
- filters: w,
517
- onUpdateFilters: m,
518
- columns: y,
519
- onUpdateColumns: c
1123
+ filters: o,
1124
+ onUpdateFilters: v,
1125
+ columns: V,
1126
+ onUpdateColumns: p
520
1127
  };
521
1128
  };
522
1129
  export {
523
- _e as BASE_VIEW_ID,
524
- oe as NEW_VIEW_ID,
525
- je as VIEW_DIVIDER,
526
- Ae as Views,
527
- me as ViewsButton,
528
- Z as ViewsMenu,
529
- ve as ViewsMenuContainer,
530
- Je as ViewsProvider,
531
- Y as WORKING_VIEW_ID,
532
- $e as generateViewId,
533
- Ge as generateWorkingView,
534
- Ke as getCustomViewsFallback,
535
- z as getViewsPortalContainer,
536
- ae as getViewsPortalId,
537
- qe as isViewStudioScope,
538
- to as updateViewSettings,
539
- ze as useBaseViewMutations,
540
- Qe as useBuildViewMenuItems,
541
- Se as useListsViewSettings,
542
- Re as useOverviewViewSettings,
543
- Xe as useSaveViewFromCurrent,
544
- Ye as useSelectedView,
545
- Ue as useTaskProgressViewSettings,
546
- K as useViewUpdateHelper,
547
- L as useViewsContext,
548
- Ze as useViewsMutations,
549
- he as useViewsShortcuts,
550
- so as useViewsState,
551
- eo as viewTypes
1130
+ be as BASE_VIEW_ID,
1131
+ Ne as NEW_VIEW_ID,
1132
+ Ke as VIEW_DIVIDER,
1133
+ Gt as Views,
1134
+ gt as ViewsButton,
1135
+ Qe as ViewsContext,
1136
+ Xe as ViewsMenu,
1137
+ ht as ViewsMenuContainer,
1138
+ At as ViewsProvider,
1139
+ ie as WORKING_VIEW_ID,
1140
+ Xt as generateViewId,
1141
+ ye as generateWorkingView,
1142
+ Te as getCustomViewsFallback,
1143
+ Be as getViewsPortalContainer,
1144
+ at as getViewsPortalId,
1145
+ Le as isViewStudioScope,
1146
+ jt as updateViewSettings,
1147
+ ot as useBaseViewMutations,
1148
+ et as useBuildViewMenuItems,
1149
+ Kt as useListsViewSettings,
1150
+ Jt as useOverviewViewSettings,
1151
+ it as useSaveViewFromCurrent,
1152
+ tt as useSelectedView,
1153
+ Ht as useTaskProgressViewSettings,
1154
+ ke as useViewUpdateHelper,
1155
+ G as useViewsContext,
1156
+ st as useViewsMutations,
1157
+ vt as useViewsShortcuts,
1158
+ Yt as useViewsState,
1159
+ qt as viewTypes
552
1160
  };