@burdenoff/fe-libs 2026.723.3 → 2026.723.5

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.
@@ -1,18 +1,19 @@
1
1
  import { graphqlFetch as e } from "../../graphql/fetch.js";
2
2
  import { useSafePermissions as t } from "./PermissionProvider.js";
3
- import { createContext as n, use as r, useCallback as i, useEffect as a, useMemo as o, useState as s } from "react";
4
- import { jsx as c } from "react/jsx-runtime";
5
- import { useQuery as l } from "@tanstack/react-query";
3
+ import { createNavView as n, deleteNavView as r, fetchNavPreferences as i, saveNavPreferences as ee, updateNavView as te } from "./personaSurfaceRemote.js";
4
+ import { createContext as a, use as o, useCallback as s, useEffect as c, useMemo as l, useRef as ne, useState as u } from "react";
5
+ import { jsx as re } from "react/jsx-runtime";
6
+ import { useQuery as d } from "@tanstack/react-query";
6
7
  //#region src/shared/providers/shell/PersonaSurfaceProvider.tsx
7
- var u = "everything", d = n(null), f = [
8
+ var f = "everything", p = a(null), m = [
8
9
  "read",
9
10
  "list",
10
11
  "download",
11
12
  "join",
12
13
  "leave",
13
14
  "vote"
14
- ], p = [
15
- ...f,
15
+ ], h = [
16
+ ...m,
16
17
  "create",
17
18
  "update",
18
19
  "share",
@@ -26,7 +27,7 @@ var u = "everything", d = n(null), f = [
26
27
  "upload",
27
28
  "sync"
28
29
  ];
29
- function m(e) {
30
+ function g(e) {
30
31
  let t = [];
31
32
  for (let n of e.defaultPermissions) {
32
33
  if (n.level === "NONE") continue;
@@ -34,24 +35,24 @@ function m(e) {
34
35
  t.push(`${n.resourceType}:*`);
35
36
  continue;
36
37
  }
37
- let e = n.level === "EDITOR" ? p : f;
38
+ let e = n.level === "EDITOR" ? h : m;
38
39
  for (let r of e) t.push(`${n.resourceType}:${r}`);
39
40
  }
40
41
  return t;
41
42
  }
42
- function h(e, t) {
43
- if (t.length === 0) return u;
43
+ function _(e, t) {
44
+ if (t.length === 0) return f;
44
45
  let n = new Set(t);
45
46
  for (let t of e) if (t.roleNames.some((e) => n.has(e))) return t.id;
46
- return u;
47
+ return f;
47
48
  }
48
- function g(e, t) {
49
+ function ie(e, t) {
49
50
  if (t.templateKey) {
50
51
  for (let n of e) if (n.templateKeys?.includes(t.templateKey)) return n.id;
51
52
  }
52
- return h(e, [t.roleName]);
53
+ return _(e, [t.roleName]);
53
54
  }
54
- function _(e, t) {
55
+ function ae(e, t) {
55
56
  return `boff-persona:${e}:${t ?? "no-scope"}`;
56
57
  }
57
58
  function v(e) {
@@ -71,146 +72,273 @@ function y(e, t) {
71
72
  !t.surfaceId && !n ? window.localStorage.removeItem(e) : window.localStorage.setItem(e, JSON.stringify(t));
72
73
  } catch {}
73
74
  }
74
- var b = "\n query NavSimulatableRoles($scopeId: String!, $filter: RoleFilterInput, $pagination: PaginationInput) {\n roles(scopeId: $scopeId, filter: $filter, pagination: $pagination) {\n id\n name\n templateKey\n priority\n defaultPermissions {\n resourceType\n level\n }\n }\n }\n";
75
- function x({ children: n, surfaces: r, productKey: f, gateway: p = "workspace" }) {
76
- let x = t(), S = x?.scopeId ?? null, C = _(f, S), [w, T] = s(() => v(C));
77
- a(() => {
78
- T(v(C));
75
+ var oe = "\n query NavSimulatableRoles($scopeId: String!, $filter: RoleFilterInput, $pagination: PaginationInput) {\n roles(scopeId: $scopeId, filter: $filter, pagination: $pagination) {\n id\n name\n templateKey\n priority\n defaultPermissions {\n resourceType\n level\n }\n }\n }\n";
76
+ function b({ children: a, surfaces: o, productKey: m, gateway: h = "workspace", persistence: b = "local" }) {
77
+ let x = t(), S = x?.scopeId ?? null, C = ae(m, S), w = b === "remote", [T, E] = u(() => v(C));
78
+ c(() => {
79
+ E(v(C));
79
80
  }, [C]);
80
- let E = i((e) => {
81
- T((t) => {
81
+ let [D, O] = u([]);
82
+ c(() => {
83
+ O([]);
84
+ }, [S]);
85
+ let k = d({
86
+ queryKey: [
87
+ "persona-nav-preferences",
88
+ h,
89
+ S,
90
+ m
91
+ ],
92
+ queryFn: () => i(h, S, m),
93
+ enabled: w && !!S && !!x,
94
+ staleTime: 60 * 1e3,
95
+ retry: 2
96
+ }), { data: A } = k;
97
+ c(() => {
98
+ if (!A) return;
99
+ let e = {
100
+ surfaceId: A.activeViewId ?? void 0,
101
+ overridesBySurface: A.overridesByView
102
+ };
103
+ E(e), y(C, e), O(A.customViews);
104
+ }, [A, C]);
105
+ let j = ne(null), M = s((e) => {
106
+ !w || !S || (j.current && clearTimeout(j.current), j.current = setTimeout(() => {
107
+ ee(h, {
108
+ workspaceId: S,
109
+ productSlug: m,
110
+ activeViewId: e.surfaceId ?? null,
111
+ overridesByView: e.overridesBySurface ?? {}
112
+ }).catch(() => {});
113
+ }, 700));
114
+ }, [
115
+ w,
116
+ S,
117
+ h,
118
+ m
119
+ ]);
120
+ c(() => () => {
121
+ j.current && clearTimeout(j.current);
122
+ }, []);
123
+ let N = s((e) => {
124
+ E((t) => {
82
125
  let n = e(t);
83
- return y(C, n), n;
126
+ return y(C, n), M(n), n;
84
127
  });
85
- }, [C]), [D, O] = s(null), [k, A] = s(!1);
86
- a(() => {
87
- O(null), A(!1);
128
+ }, [C, M]), [P, F] = u(null), [I, L] = u(!1);
129
+ c(() => {
130
+ F(null), L(!1);
88
131
  }, [S]);
89
- let j = x?.isSuperAdmin ?? !1, M = !!x && (j || x.hasPermission("rbac:read")), N = l({
132
+ let R = x?.isSuperAdmin ?? !1, z = !!x && (R || x.hasPermission("rbac:read")), B = d({
90
133
  queryKey: [
91
134
  "persona-simulatable-roles",
92
- p,
135
+ h,
93
136
  S,
94
- f
137
+ m
95
138
  ],
96
139
  queryFn: async () => {
97
140
  let t = await e({
98
- query: b,
141
+ query: oe,
99
142
  variables: {
100
143
  scopeId: S,
101
- filter: { product: f },
144
+ filter: { product: m },
102
145
  pagination: { limit: 100 }
103
146
  },
104
- gateway: p
147
+ gateway: h
105
148
  });
106
149
  if (t.errors?.length) throw Error(t.errors[0].message);
107
150
  return [...t.data?.roles ?? []].sort((e, t) => t.priority - e.priority);
108
151
  },
109
- enabled: k && M && !!S,
152
+ enabled: I && z && !!S,
110
153
  staleTime: 300 * 1e3
111
- }), P = i(() => {
112
- A(!0);
113
- }, []), F = i((e) => {
114
- O({
154
+ }), V = s(() => {
155
+ L(!0);
156
+ }, []), H = s((e) => {
157
+ F({
115
158
  roleId: e.id,
116
159
  roleName: e.name,
117
160
  templateKey: e.templateKey,
118
- permissionStrings: m(e)
161
+ permissionStrings: g(e)
119
162
  });
120
- }, []), I = i(() => {
121
- O(null);
122
- }, []), L = o(() => x?.permissions?.roles ?? [], [x?.permissions?.roles]), R = o(() => D ? g(r, D) : h(r, L), [
123
- r,
124
- D,
125
- L
126
- ]), z = o(() => {
127
- if (D) return R;
128
- let e = w.surfaceId;
129
- return e && (e === "everything" || r.some((t) => t.id === e)) ? e : R;
163
+ }, []), U = s(() => {
164
+ F(null);
165
+ }, []), W = l(() => x?.permissions?.roles ?? [], [x?.permissions?.roles]), G = l(() => P ? ie(o, P) : _(o, W), [
166
+ o,
167
+ P,
168
+ W
169
+ ]), K = l(() => {
170
+ if (P) return G;
171
+ let e = T.surfaceId;
172
+ return e && (e === "everything" || o.some((t) => t.id === e) || D.some((t) => t.id === e)) ? e : G;
130
173
  }, [
174
+ P,
175
+ G,
176
+ T.surfaceId,
177
+ o,
178
+ D
179
+ ]), q = l(() => {
180
+ let e = o.find((e) => e.id === K);
181
+ if (e) return e;
182
+ let t = D.find((e) => e.id === K);
183
+ return t ? {
184
+ id: t.id,
185
+ label: t.name,
186
+ roleNames: [],
187
+ visibleItems: t.visibleItems,
188
+ homePath: t.homePath ?? void 0
189
+ } : null;
190
+ }, [
191
+ o,
131
192
  D,
132
- R,
133
- w.surfaceId,
134
- r
135
- ]), B = o(() => r.find((e) => e.id === z) ?? null, [r, z]), V = o(() => {
136
- let e = new Set(L);
137
- return [...r.filter((t) => j || t.roleNames.some((t) => e.has(t))).map((e) => e.id), u];
193
+ K
194
+ ]), J = l(() => {
195
+ let e = new Set(W);
196
+ return [...o.filter((t) => R || t.roleNames.some((t) => e.has(t))).map((e) => e.id), f];
138
197
  }, [
139
- r,
140
- j,
141
- L
142
- ]), H = i((e) => {
143
- E((t) => ({
198
+ o,
199
+ R,
200
+ W
201
+ ]), Y = s((e) => {
202
+ N((t) => ({
144
203
  ...t,
145
204
  surfaceId: e ?? void 0
146
205
  }));
147
- }, [E]), U = o(() => w.overridesBySurface?.[z] ?? {}, [w.overridesBySurface, z]), W = i((e, t) => {
148
- E((n) => {
149
- let r = { ...n.overridesBySurface ?? {} }, i = { ...r[z] ?? {} };
150
- return t === null ? delete i[e] : i[e] = t, Object.keys(i).length === 0 ? delete r[z] : r[z] = i, {
206
+ }, [N]), X = l(() => T.overridesBySurface?.[K] ?? {}, [T.overridesBySurface, K]), Z = s((e, t) => {
207
+ N((n) => {
208
+ let r = { ...n.overridesBySurface ?? {} }, i = { ...r[K] ?? {} };
209
+ return t === null ? delete i[e] : i[e] = t, Object.keys(i).length === 0 ? delete r[K] : r[K] = i, {
151
210
  ...n,
152
211
  overridesBySurface: r
153
212
  };
154
213
  });
155
- }, [E, z]), G = i(() => {
156
- E((e) => {
214
+ }, [N, K]), Q = s(() => {
215
+ N((e) => {
157
216
  let t = { ...e.overridesBySurface ?? {} };
158
- return delete t[z], {
217
+ return delete t[K], {
159
218
  ...e,
160
219
  overridesBySurface: t
161
220
  };
162
221
  });
163
- }, [E, z]), [K, q] = s(!1), J = o(() => ({
164
- surfaces: r,
165
- activeSurfaceId: z,
166
- activeSurface: B,
167
- resolvedSurfaceId: R,
168
- availableSurfaceIds: V,
169
- setSurfaceId: H,
170
- overrides: U,
171
- setItemOverride: W,
172
- resetOverrides: G,
173
- customizeOpen: K,
174
- setCustomizeOpen: q,
175
- canSimulate: M,
176
- simulation: D,
177
- startSimulation: F,
178
- stopSimulation: I,
179
- simulatableRoles: N.data ?? [],
180
- simulatableRolesLoading: N.isLoading && k,
181
- loadSimulatableRoles: P
222
+ }, [N, K]), [$, se] = u(!1), ce = w && !!S && !!k.data, le = s(async (e, t, r) => {
223
+ if (!w || !S) return null;
224
+ try {
225
+ let i = await n(h, {
226
+ workspaceId: S,
227
+ productSlug: m,
228
+ name: e,
229
+ visibleItems: t,
230
+ homePath: r ?? null
231
+ });
232
+ return O((e) => [...e, i]), N((e) => ({
233
+ ...e,
234
+ surfaceId: i.id
235
+ })), i;
236
+ } catch {
237
+ return null;
238
+ }
239
+ }, [
240
+ w,
241
+ S,
242
+ h,
243
+ m,
244
+ N
245
+ ]), ue = s(async (e, t) => {
246
+ if (!w || !S) return !1;
247
+ try {
248
+ let n = await te(h, e, {
249
+ workspaceId: S,
250
+ name: t
251
+ });
252
+ return O((t) => t.map((t) => t.id === e ? {
253
+ ...t,
254
+ name: n.name
255
+ } : t)), !0;
256
+ } catch {
257
+ return !1;
258
+ }
259
+ }, [
260
+ w,
261
+ S,
262
+ h
263
+ ]), de = s(async (e) => {
264
+ if (!w || !S) return !1;
265
+ try {
266
+ return await r(h, e, S), O((t) => t.filter((t) => t.id !== e)), N((t) => {
267
+ let n = { ...t.overridesBySurface ?? {} };
268
+ return delete n[e], {
269
+ surfaceId: t.surfaceId === e ? void 0 : t.surfaceId,
270
+ overridesBySurface: n
271
+ };
272
+ }), !0;
273
+ } catch {
274
+ return !1;
275
+ }
276
+ }, [
277
+ w,
278
+ S,
279
+ h,
280
+ N
281
+ ]), fe = l(() => ({
282
+ surfaces: o,
283
+ activeSurfaceId: K,
284
+ activeSurface: q,
285
+ resolvedSurfaceId: G,
286
+ availableSurfaceIds: J,
287
+ setSurfaceId: Y,
288
+ overrides: X,
289
+ setItemOverride: Z,
290
+ resetOverrides: Q,
291
+ customizeOpen: $,
292
+ setCustomizeOpen: se,
293
+ canSimulate: z,
294
+ simulation: P,
295
+ startSimulation: H,
296
+ stopSimulation: U,
297
+ simulatableRoles: B.data ?? [],
298
+ simulatableRolesLoading: B.isLoading && I,
299
+ loadSimulatableRoles: V,
300
+ customViews: D,
301
+ canManageViews: ce,
302
+ createCustomView: le,
303
+ renameCustomView: ue,
304
+ deleteCustomView: de
182
305
  }), [
183
- r,
306
+ o,
307
+ K,
308
+ q,
309
+ G,
310
+ J,
311
+ Y,
312
+ X,
313
+ Z,
314
+ Q,
315
+ $,
184
316
  z,
185
- B,
186
- R,
187
- V,
317
+ P,
188
318
  H,
189
319
  U,
190
- W,
191
- G,
192
- K,
193
- M,
194
- D,
195
- F,
320
+ B.data,
321
+ B.isLoading,
196
322
  I,
197
- N.data,
198
- N.isLoading,
199
- k,
200
- P
323
+ V,
324
+ D,
325
+ ce,
326
+ le,
327
+ ue,
328
+ de
201
329
  ]);
202
- return /* @__PURE__ */ c(d.Provider, {
203
- value: J,
204
- children: n
330
+ return /* @__PURE__ */ re(p.Provider, {
331
+ value: fe,
332
+ children: a
205
333
  });
206
334
  }
207
- function S() {
208
- let e = r(d);
335
+ function x() {
336
+ let e = o(p);
209
337
  if (!e) throw Error("usePersonaSurface must be used within a PersonaSurfaceProvider");
210
338
  return e;
211
339
  }
212
- function C() {
213
- return r(d);
340
+ function S() {
341
+ return o(p);
214
342
  }
215
343
  //#endregion
216
- export { u as EVERYTHING_SURFACE_ID, x as PersonaSurfaceProvider, h as resolveSurfaceForRoles, m as synthesizeSimulatedPermissionStrings, S as usePersonaSurface, C as useSafePersonaSurface };
344
+ export { f as EVERYTHING_SURFACE_ID, b as PersonaSurfaceProvider, _ as resolveSurfaceForRoles, g as synthesizeSimulatedPermissionStrings, x as usePersonaSurface, S as useSafePersonaSurface };
@@ -26,7 +26,7 @@ export type { GeographyContextValue, GeographyProviderProps, } from '../../geogr
26
26
  export { PermissionProvider, usePermissions, useSafePermissions, usePermission, useRole, usePermissionLoading, matchPermission, hasMatchingPermission, isSuperAdminBypass, SUPER_ADMIN_ROLE, SUPER_ADMIN_ACTOR_TYPE, } from './PermissionProvider';
27
27
  export type { EffectivePermissions, EffectiveResourcePermission, MyRolesResult, RoleInfo, PermissionCheckOptions, PermissionContextValue, PermissionProviderProps, } from './PermissionProvider';
28
28
  export { PersonaSurfaceProvider, usePersonaSurface, useSafePersonaSurface, resolveSurfaceForRoles, synthesizeSimulatedPermissionStrings, EVERYTHING_SURFACE_ID, } from './PersonaSurfaceProvider';
29
- export type { PersonaSurfaceDefinition, PersonaSurfaceContextValue, PersonaSurfaceProviderProps, NavItemOverrideState, SimulatableRole, SimulationState, } from './PersonaSurfaceProvider';
29
+ export type { PersonaSurfaceDefinition, PersonaSurfaceContextValue, PersonaSurfaceProviderProps, PersonaCustomView, NavItemOverrideState, SimulatableRole, SimulationState, } from './PersonaSurfaceProvider';
30
30
  export { AuthTokenProvider, useAuthToken } from './AuthTokenProvider';
31
31
  export type { AuthTokenContextValue, AuthTokenProviderProps } from './AuthTokenProvider';
32
32
  export { MultiGatewayProvider } from './MultiGatewayProvider';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/shell/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/shell/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { NavItemOverrideState } from './PersonaSurfaceProvider';
2
+ export interface RemoteCustomView {
3
+ id: string;
4
+ productSlug: string;
5
+ name: string;
6
+ visibleItems: string[];
7
+ homePath: string | null;
8
+ }
9
+ export interface RemoteNavPreferences {
10
+ activeViewId: string | null;
11
+ overridesByView: Record<string, Record<string, NavItemOverrideState>>;
12
+ customViews: RemoteCustomView[];
13
+ }
14
+ type Gateway = 'workspace' | 'global';
15
+ export declare function fetchNavPreferences(gateway: Gateway, workspaceId: string, productSlug: string): Promise<RemoteNavPreferences>;
16
+ export declare function saveNavPreferences(gateway: Gateway, input: {
17
+ workspaceId: string;
18
+ productSlug: string;
19
+ activeViewId: string | null;
20
+ overridesByView: Record<string, Record<string, NavItemOverrideState>>;
21
+ }): Promise<void>;
22
+ export declare function createNavView(gateway: Gateway, input: {
23
+ workspaceId: string;
24
+ productSlug: string;
25
+ name: string;
26
+ visibleItems: string[];
27
+ homePath?: string | null;
28
+ }): Promise<RemoteCustomView>;
29
+ export declare function updateNavView(gateway: Gateway, id: string, input: {
30
+ workspaceId: string;
31
+ name?: string;
32
+ visibleItems?: string[];
33
+ homePath?: string | null;
34
+ }): Promise<RemoteCustomView>;
35
+ export declare function deleteNavView(gateway: Gateway, id: string, workspaceId: string): Promise<void>;
36
+ export {};
37
+ //# sourceMappingURL=personaSurfaceRemote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personaSurfaceRemote.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/shell/personaSurfaceRemote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACtE,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED,KAAK,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC;AA8EtC,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,CAAC,CAsB/B;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE;IACL,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;CACvE,GACA,OAAO,CAAC,IAAI,CAAC,CAef;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE;IACL,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GACA,OAAO,CAAC,gBAAgB,CAAC,CAW3B;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC/F,OAAO,CAAC,gBAAgB,CAAC,CAW3B;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAQf"}
@@ -0,0 +1,84 @@
1
+ import { graphqlFetch as e } from "../../graphql/fetch.js";
2
+ //#region src/shared/providers/shell/personaSurfaceRemote.ts
3
+ var t = "\n query MyNavPreferences($workspaceId: String!, $productSlug: String!) {\n myNavPreferences(workspaceId: $workspaceId, productSlug: $productSlug) {\n \n activeViewId\n overridesJson\n customViews {\n id\n productSlug\n name\n visibleItems\n homePath\n }\n\n }\n }\n", n = "\n mutation SaveMyNavPreferences($input: SaveNavPreferencesInput!) {\n saveMyNavPreferences(input: $input) {\n activeViewId\n overridesJson\n }\n }\n", r = "\n mutation CreateMyNavView($input: CreateNavViewInput!) {\n createMyNavView(input: $input) {\n id\n productSlug\n name\n visibleItems\n homePath\n }\n }\n", i = "\n mutation UpdateMyNavView($id: ID!, $input: UpdateNavViewInput!) {\n updateMyNavView(id: $id, input: $input) {\n id\n productSlug\n name\n visibleItems\n homePath\n }\n }\n", a = "\n mutation DeleteMyNavView($id: ID!, $workspaceId: String!) {\n deleteMyNavView(id: $id, workspaceId: $workspaceId)\n }\n";
4
+ function o(e) {
5
+ if (!e) return {};
6
+ try {
7
+ let t = JSON.parse(e);
8
+ return !t || typeof t != "object" ? {} : t;
9
+ } catch {
10
+ return {};
11
+ }
12
+ }
13
+ function s(e) {
14
+ return e?.length ? Error(e[0].message) : null;
15
+ }
16
+ async function c(n, r, i) {
17
+ let a = await e({
18
+ query: t,
19
+ variables: {
20
+ workspaceId: r,
21
+ productSlug: i
22
+ },
23
+ gateway: n
24
+ }), c = s(a.errors);
25
+ if (c) throw c;
26
+ let l = a.data?.myNavPreferences;
27
+ if (!l) throw Error("No nav preferences returned");
28
+ return {
29
+ activeViewId: l.activeViewId,
30
+ overridesByView: o(l.overridesJson),
31
+ customViews: l.customViews ?? []
32
+ };
33
+ }
34
+ async function l(t, r) {
35
+ let i = s((await e({
36
+ query: n,
37
+ variables: { input: {
38
+ workspaceId: r.workspaceId,
39
+ productSlug: r.productSlug,
40
+ activeViewId: r.activeViewId,
41
+ overridesJson: JSON.stringify(r.overridesByView)
42
+ } },
43
+ gateway: t
44
+ })).errors);
45
+ if (i) throw i;
46
+ }
47
+ async function u(t, n) {
48
+ let i = await e({
49
+ query: r,
50
+ variables: { input: n },
51
+ gateway: t
52
+ }), a = s(i.errors);
53
+ if (a) throw a;
54
+ let o = i.data?.createMyNavView;
55
+ if (!o) throw Error("View was not created");
56
+ return o;
57
+ }
58
+ async function d(t, n, r) {
59
+ let a = await e({
60
+ query: i,
61
+ variables: {
62
+ id: n,
63
+ input: r
64
+ },
65
+ gateway: t
66
+ }), o = s(a.errors);
67
+ if (o) throw o;
68
+ let c = a.data?.updateMyNavView;
69
+ if (!c) throw Error("View was not updated");
70
+ return c;
71
+ }
72
+ async function f(t, n, r) {
73
+ let i = s((await e({
74
+ query: a,
75
+ variables: {
76
+ id: n,
77
+ workspaceId: r
78
+ },
79
+ gateway: t
80
+ })).errors);
81
+ if (i) throw i;
82
+ }
83
+ //#endregion
84
+ export { u as createNavView, f as deleteNavView, c as fetchNavPreferences, l as saveNavPreferences, d as updateNavView };
@@ -12,6 +12,7 @@ var f = 20, p = {
12
12
  global: {
13
13
  defaultBaseUrl: "https://gw-global.local.burdenoff.com",
14
14
  graphql: "/global/graphql",
15
+ sse: "/global/graphql",
15
16
  ws: "/global/graphql/ws"
16
17
  }
17
18
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.723.3",
3
+ "version": "2026.723.5",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "imports": {