@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 +1 @@
1
- {"version":3,"file":"NavCustomizeDialog.d.ts","sourceRoot":"","sources":["../../src/chrome/NavCustomizeDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAwBH,MAAM,WAAW,uBAAuB;IACtC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA6DD,wBAAgB,kBAAkB,CAAC,EACjC,WAAW,EACX,UAAU,EACV,eAA8B,GAC/B,EAAE,uBAAuB,kDAmIzB"}
1
+ {"version":3,"file":"NavCustomizeDialog.d.ts","sourceRoot":"","sources":["../../src/chrome/NavCustomizeDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAwBH,MAAM,WAAW,uBAAuB;IACtC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAyFD,wBAAgB,kBAAkB,CAAC,EACjC,WAAW,EACX,UAAU,EACV,eAA8B,GAC/B,EAAE,uBAAuB,kDA6RzB"}
@@ -4,24 +4,24 @@ import { Switch as o } from "../ui/switch.js";
4
4
  import { useSafePermissions as s } from "../shared/providers/shell/PermissionProvider.js";
5
5
  import { useSafePersonaSurface as c } from "../shared/providers/shell/PersonaSurfaceProvider.js";
6
6
  import { applyPermissionFilter as l, isItemEffectivelyShown as u } from "./sideNavigation/navVisibility.js";
7
- import { useMemo as d } from "react";
8
- import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
7
+ import { useEffect as d, useMemo as f, useState as p } from "react";
8
+ import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
9
9
  //#region src/chrome/NavCustomizeDialog.tsx
10
- function h({ item: e, depth: t, parentShown: n, surfaceVisibleItems: r, overrides: i, onToggle: a }) {
10
+ function _({ item: e, depth: t, parentShown: n, surfaceVisibleItems: r, overrides: i, onToggle: a }) {
11
11
  let s = u(e, n, r, i), c = s && (!r || r.includes(e.id) || i[e.id] === "shown");
12
- return /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ m("div", {
12
+ return /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ g("div", {
13
13
  className: "flex items-center justify-between gap-3 py-1.5",
14
14
  style: { paddingLeft: t * 16 },
15
- children: [/* @__PURE__ */ p("span", {
15
+ children: [/* @__PURE__ */ h("span", {
16
16
  className: `truncate text-body-sm ${s ? "text-text-primary" : "text-text-muted"}`,
17
17
  children: e.label
18
- }), /* @__PURE__ */ p(o, {
18
+ }), /* @__PURE__ */ h(o, {
19
19
  checked: s,
20
20
  onCheckedChange: (t) => a(e, n, t === !0),
21
21
  "aria-label": `Show ${e.label} in the menu`,
22
22
  "data-testid": `persona-toggle-${e.id}`
23
23
  })]
24
- }), e.children?.map((e) => /* @__PURE__ */ p(h, {
24
+ }), e.children?.map((e) => /* @__PURE__ */ h(_, {
25
25
  item: e,
26
26
  depth: t + 1,
27
27
  parentShown: c,
@@ -30,94 +30,221 @@ function h({ item: e, depth: t, parentShown: n, surfaceVisibleItems: r, override
30
30
  onToggle: a
31
31
  }, e.id))] });
32
32
  }
33
- function g({ groupLabels: o, groupOrder: f, everythingLabel: g = "Everything" }) {
34
- let _ = c(), v = s(), y = a((e) => e.items), b = v?.hasPermission, x = v?.isLoading ?? !1, S = d(() => {
35
- let e = y.filter((e) => e.visible !== !1);
36
- return !b || x ? e : l(e, b);
33
+ function v(e, t, n) {
34
+ let r = [], i = (e, a) => {
35
+ for (let o of e) {
36
+ let e = u(o, a, t, n);
37
+ e && r.push(o.id);
38
+ let s = e && (!t || t.includes(o.id) || n[o.id] === "shown");
39
+ o.children && i(o.children, s);
40
+ }
41
+ };
42
+ return i(e, !1), r;
43
+ }
44
+ function y({ groupLabels: o, groupOrder: m, everythingLabel: y = "Everything" }) {
45
+ let b = c(), x = s(), S = a((e) => e.items), [C, w] = p(""), [T, E] = p(null), [D, O] = p(!1), [k, A] = p(null), j = x?.hasPermission, M = x?.isLoading ?? !1, N = f(() => {
46
+ let e = S.filter((e) => e.visible !== !1);
47
+ return !j || M ? e : l(e, j);
37
48
  }, [
38
- y,
39
- b,
40
- x
41
- ]), C = d(() => {
49
+ S,
50
+ j,
51
+ M
52
+ ]);
53
+ d(() => {
54
+ w(""), E(null), A(null);
55
+ }, [b?.customizeOpen ?? !1]);
56
+ let ee = f(() => {
42
57
  let e = /* @__PURE__ */ new Map();
43
- for (let t of S) {
58
+ for (let t of N) {
44
59
  let n = t.group ?? "__default__", r = e.get(n);
45
60
  r ? r.push(t) : e.set(n, [t]);
46
61
  }
47
- return [...f ?? [], ...Array.from(e.keys()).filter((e) => !(f ?? []).includes(e))].filter((t) => (e.get(t)?.length ?? 0) > 0).map((t) => ({
62
+ return [...m ?? [], ...Array.from(e.keys()).filter((e) => !(m ?? []).includes(e))].filter((t) => (e.get(t)?.length ?? 0) > 0).map((t) => ({
48
63
  key: t,
49
64
  label: t === "__default__" ? null : o?.[t] ?? t,
50
65
  items: e.get(t) ?? []
51
66
  }));
52
67
  }, [
53
- S,
54
- f,
68
+ N,
69
+ m,
55
70
  o
56
71
  ]);
57
- if (!_) return null;
58
- let { activeSurfaceId: w, activeSurface: T, overrides: E, setItemOverride: D, resetOverrides: O, customizeOpen: k, setCustomizeOpen: A, simulation: j } = _, M = T ? T.visibleItems : null, N = (e, t, n) => {
59
- let r = u(e, t, M, {});
60
- D(e.id, n === r ? null : n ? "shown" : "hidden");
61
- }, P = Object.keys(E).length, F = w === "everything" ? g : T?.label ?? w;
62
- return /* @__PURE__ */ p(e, {
63
- open: k,
64
- onOpenChange: A,
65
- children: /* @__PURE__ */ m(t, {
72
+ if (!b) return null;
73
+ let { activeSurfaceId: P, activeSurface: F, overrides: I, setItemOverride: L, resetOverrides: R, customizeOpen: z, setCustomizeOpen: te, simulation: B, customViews: ne, canManageViews: V, createCustomView: H, renameCustomView: U, deleteCustomView: W } = b, G = F ? F.visibleItems : null, K = (e, t, n) => {
74
+ let r = u(e, t, G, {});
75
+ L(e.id, n === r ? null : n ? "shown" : "hidden");
76
+ }, q = Object.keys(I).length, J = P === "everything" ? y : F?.label ?? P, Y = ne.find((e) => e.id === P) ?? null, X = async () => {
77
+ let e = C.trim();
78
+ if (!e || D) return;
79
+ O(!0), A(null);
80
+ let t = await H(e, v(N, G, I));
81
+ O(!1), t ? w("") : A("Could not save the view — try a different name.");
82
+ }, Z = async () => {
83
+ if (!Y || T === null || D) return;
84
+ let e = T.trim();
85
+ if (!e || e === Y.name) {
86
+ E(null);
87
+ return;
88
+ }
89
+ O(!0), A(null);
90
+ let t = await U(Y.id, e);
91
+ O(!1), t ? E(null) : A("Could not rename the view — try a different name.");
92
+ }, re = async () => {
93
+ if (!Y || D) return;
94
+ O(!0), A(null);
95
+ let e = await W(Y.id);
96
+ O(!1), e || A("Could not delete the view.");
97
+ }, Q = "w-full rounded-button border border-border-subtle bg-bg-canvas px-3 py-2 text-body-sm text-text-primary placeholder:text-text-muted", $ = "rounded-button border border-border-subtle px-3 py-2 text-body-sm font-medium text-text-primary hover:bg-bg-sunken transition-colors disabled:opacity-50";
98
+ return /* @__PURE__ */ h(e, {
99
+ open: z,
100
+ onOpenChange: te,
101
+ children: /* @__PURE__ */ g(t, {
66
102
  className: "max-h-[85vh] overflow-y-auto sm:max-w-lg",
67
- children: [/* @__PURE__ */ m(r, { children: [/* @__PURE__ */ p(i, { children: "Customize menu" }), /* @__PURE__ */ m(n, { children: [
103
+ children: [/* @__PURE__ */ g(r, { children: [/* @__PURE__ */ h(i, { children: "Customize menu" }), /* @__PURE__ */ g(n, { children: [
68
104
  "Choose which pages appear in the",
69
105
  " ",
70
- /* @__PURE__ */ p("span", {
106
+ /* @__PURE__ */ h("span", {
71
107
  className: "font-medium text-text-primary",
72
- children: F
108
+ children: J
73
109
  }),
74
110
  " view. Hidden pages stay one click away under “more” and in search — nothing is removed."
75
- ] })] }), /* @__PURE__ */ p("div", {
111
+ ] })] }), /* @__PURE__ */ g("div", {
76
112
  className: "space-y-5",
77
- children: /* @__PURE__ */ m("section", {
78
- className: "space-y-1",
79
- "data-testid": "persona-dialog-items",
80
- children: [/* @__PURE__ */ m("div", {
81
- className: "flex items-center justify-between",
82
- children: [/* @__PURE__ */ p("h3", {
113
+ children: [
114
+ Y && !B && /* @__PURE__ */ g("section", {
115
+ className: "space-y-2",
116
+ "data-testid": "persona-dialog-manage-view",
117
+ children: [/* @__PURE__ */ h("h3", {
83
118
  className: "text-[11px] font-medium uppercase tracking-wider text-text-muted",
84
- children: "Menu items"
85
- }), P > 0 && /* @__PURE__ */ m("button", {
86
- type: "button",
87
- onClick: O,
88
- className: "text-body-sm text-text-secondary underline-offset-2 hover:text-text-primary hover:underline",
89
- "data-testid": "persona-dialog-reset-overrides",
119
+ children: "This view"
120
+ }), T === null ? /* @__PURE__ */ g("div", {
121
+ className: "flex items-center gap-2",
90
122
  children: [
91
- "Reset ",
92
- P,
93
- " change",
94
- P === 1 ? "" : "s"
123
+ /* @__PURE__ */ h("span", {
124
+ className: "min-w-0 flex-1 truncate text-body-sm text-text-primary",
125
+ children: Y.name
126
+ }),
127
+ /* @__PURE__ */ h("button", {
128
+ type: "button",
129
+ onClick: () => E(Y.name),
130
+ className: $,
131
+ "data-testid": "persona-dialog-rename-view",
132
+ children: "Rename"
133
+ }),
134
+ /* @__PURE__ */ h("button", {
135
+ type: "button",
136
+ onClick: re,
137
+ disabled: D,
138
+ className: `${$} text-status-error-text`,
139
+ "data-testid": "persona-dialog-delete-view",
140
+ children: "Delete"
141
+ })
95
142
  ]
143
+ }) : /* @__PURE__ */ g("div", {
144
+ className: "flex items-center gap-2",
145
+ children: [/* @__PURE__ */ h("input", {
146
+ value: T,
147
+ onChange: (e) => E(e.target.value),
148
+ onKeyDown: (e) => {
149
+ e.key === "Enter" && Z();
150
+ },
151
+ maxLength: 60,
152
+ className: Q,
153
+ "data-testid": "persona-dialog-rename-input"
154
+ }), /* @__PURE__ */ h("button", {
155
+ type: "button",
156
+ onClick: () => void Z(),
157
+ disabled: D,
158
+ className: $,
159
+ "data-testid": "persona-dialog-rename-save",
160
+ children: "Save"
161
+ })]
96
162
  })]
97
- }), j ? /* @__PURE__ */ p("p", {
98
- className: "py-2 text-body-sm text-text-muted",
99
- children: "Exit role simulation to customize your own menu."
100
- }) : C.map((e) => /* @__PURE__ */ m("div", {
101
- className: "pt-2",
102
- children: [e.label && /* @__PURE__ */ p("p", {
103
- className: "pb-1 text-[11px] font-medium uppercase tracking-wider text-text-muted",
104
- children: e.label
105
- }), /* @__PURE__ */ p("div", {
106
- className: "divide-y divide-border-subtle",
107
- children: e.items.map((e) => /* @__PURE__ */ p(h, {
108
- item: e,
109
- depth: 0,
110
- parentShown: !1,
111
- surfaceVisibleItems: M,
112
- overrides: E,
113
- onToggle: N
114
- }, e.id))
115
- })]
116
- }, e.key))]
117
- })
163
+ }),
164
+ /* @__PURE__ */ g("section", {
165
+ className: "space-y-1",
166
+ "data-testid": "persona-dialog-items",
167
+ children: [/* @__PURE__ */ g("div", {
168
+ className: "flex items-center justify-between",
169
+ children: [/* @__PURE__ */ h("h3", {
170
+ className: "text-[11px] font-medium uppercase tracking-wider text-text-muted",
171
+ children: "Menu items"
172
+ }), q > 0 && /* @__PURE__ */ g("button", {
173
+ type: "button",
174
+ onClick: R,
175
+ className: "text-body-sm text-text-secondary underline-offset-2 hover:text-text-primary hover:underline",
176
+ "data-testid": "persona-dialog-reset-overrides",
177
+ children: [
178
+ "Reset ",
179
+ q,
180
+ " change",
181
+ q === 1 ? "" : "s"
182
+ ]
183
+ })]
184
+ }), B ? /* @__PURE__ */ h("p", {
185
+ className: "py-2 text-body-sm text-text-muted",
186
+ children: "Exit role simulation to customize your own menu."
187
+ }) : ee.map((e) => /* @__PURE__ */ g("div", {
188
+ className: "pt-2",
189
+ children: [e.label && /* @__PURE__ */ h("p", {
190
+ className: "pb-1 text-[11px] font-medium uppercase tracking-wider text-text-muted",
191
+ children: e.label
192
+ }), /* @__PURE__ */ h("div", {
193
+ className: "divide-y divide-border-subtle",
194
+ children: e.items.map((e) => /* @__PURE__ */ h(_, {
195
+ item: e,
196
+ depth: 0,
197
+ parentShown: !1,
198
+ surfaceVisibleItems: G,
199
+ overrides: I,
200
+ onToggle: K
201
+ }, e.id))
202
+ })]
203
+ }, e.key))]
204
+ }),
205
+ V && !B && /* @__PURE__ */ g("section", {
206
+ className: "space-y-2",
207
+ "data-testid": "persona-dialog-save-view",
208
+ children: [
209
+ /* @__PURE__ */ h("h3", {
210
+ className: "text-[11px] font-medium uppercase tracking-wider text-text-muted",
211
+ children: "Save as new view"
212
+ }),
213
+ /* @__PURE__ */ h("p", {
214
+ className: "text-body-sm text-text-muted",
215
+ children: "Saves the menu exactly as configured above as your own view, available on all your devices."
216
+ }),
217
+ /* @__PURE__ */ g("div", {
218
+ className: "flex items-center gap-2",
219
+ children: [/* @__PURE__ */ h("input", {
220
+ value: C,
221
+ onChange: (e) => w(e.target.value),
222
+ onKeyDown: (e) => {
223
+ e.key === "Enter" && X();
224
+ },
225
+ placeholder: "View name (e.g. Harvest season)",
226
+ maxLength: 60,
227
+ className: Q,
228
+ "data-testid": "persona-dialog-new-view-name"
229
+ }), /* @__PURE__ */ h("button", {
230
+ type: "button",
231
+ onClick: () => void X(),
232
+ disabled: D || !C.trim(),
233
+ className: $,
234
+ "data-testid": "persona-dialog-new-view-save",
235
+ children: "Save"
236
+ })]
237
+ }),
238
+ k && /* @__PURE__ */ h("p", {
239
+ className: "text-body-sm text-status-error-text",
240
+ children: k
241
+ })
242
+ ]
243
+ })
244
+ ]
118
245
  })]
119
246
  })
120
247
  });
121
248
  }
122
249
  //#endregion
123
- export { g as NavCustomizeDialog };
250
+ export { y as NavCustomizeDialog };
@@ -1 +1 @@
1
- {"version":3,"file":"PersonaSurfaceControls.d.ts","sourceRoot":"","sources":["../../src/chrome/PersonaSurfaceControls.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkBH,MAAM,WAAW,2BAA2B;IAC1C,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqTD,wBAAgB,sBAAsB,CAAC,EACrC,eAA8B,EAC9B,cAAiC,GAClC,EAAE,2BAA2B,kDA6C7B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,mDAyBpC"}
1
+ {"version":3,"file":"PersonaSurfaceControls.d.ts","sourceRoot":"","sources":["../../src/chrome/PersonaSurfaceControls.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkBH,MAAM,WAAW,2BAA2B;IAC1C,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqWD,wBAAgB,sBAAsB,CAAC,EACrC,eAA8B,EAC9B,cAAiC,GAClC,EAAE,2BAA2B,kDA6C7B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,mDAyBpC"}
@@ -1,11 +1,11 @@
1
1
  import { useShellUi as e } from "../shared/providers/shell/ShellUiProvider.js";
2
2
  import { useSafePersonaSurface as t } from "../shared/providers/shell/PersonaSurfaceProvider.js";
3
3
  import { useCallback as n, useEffect as r, useRef as i, useState as a } from "react";
4
- import { Check as o, ChevronsUpDown as s, Eye as c, Search as l, SlidersHorizontal as u, X as d } from "lucide-react";
4
+ import { Check as o, ChevronsUpDown as s, Eye as c, Plus as l, Search as u, SlidersHorizontal as d, X as ee } from "lucide-react";
5
5
  import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
6
6
  import { createPortal as h } from "react-dom";
7
7
  //#region src/chrome/PersonaSurfaceControls.tsx
8
- function g(e, t) {
8
+ function te(e, t) {
9
9
  let { surfaces: n, availableSurfaceIds: r, resolvedSurfaceId: i } = e, a = (e) => e === "everything" ? t : n.find((t) => t.id === e)?.label ?? e, o = [...r];
10
10
  return o.sort((e, t) => {
11
11
  let n = (e) => e === i ? 0 : e === "everything" ? 2 : 1;
@@ -16,14 +16,14 @@ function g(e, t) {
16
16
  isResolved: e === i
17
17
  }));
18
18
  }
19
- var _ = 300;
20
- function v({ everythingLabel: e }) {
21
- let u = t(), [v, y] = a(!1), [b, x] = a(""), [S, C] = a(null), w = i(null), T = i(null), E = i(null), D = i(null), O = n(() => {
19
+ var g = 300;
20
+ function _({ everythingLabel: e, onOpenCustomize: d }) {
21
+ let _ = t(), [v, y] = a(!1), [b, x] = a(""), [S, C] = a(null), w = i(null), T = i(null), E = i(null), D = i(null), O = n(() => {
22
22
  y(!1), x("");
23
23
  }, []), k = n(() => {
24
24
  let e = T.current?.getBoundingClientRect();
25
25
  if (!e) return;
26
- let t = window.innerWidth, n = Math.min(Math.max(e.width, _), t - 16), r = Math.min(Math.max(8, e.left), t - n - 8);
26
+ let t = window.innerWidth, n = Math.min(Math.max(e.width, g), t - 16), r = Math.min(Math.max(8, e.left), t - n - 8);
27
27
  C((t) => {
28
28
  let i = window.innerHeight - e.top + 8;
29
29
  return t && t.left === r && t.bottom === i && t.width === n ? t : {
@@ -54,22 +54,22 @@ function v({ everythingLabel: e }) {
54
54
  };
55
55
  }, [v, O]), r(() => {
56
56
  v && D.current?.focus();
57
- }, [v]), !u) return null;
58
- let { activeSurfaceId: A, surfaces: j, resolvedSurfaceId: M, setSurfaceId: N, canSimulate: P, simulation: F, startSimulation: I, stopSimulation: L, simulatableRoles: R, simulatableRolesLoading: z, loadSimulatableRoles: B } = u, V = g(u, e), H = b.trim().toLowerCase(), U = H ? V.filter((e) => e.label.toLowerCase().includes(H)) : V, W = H ? R.filter((e) => e.name.toLowerCase().includes(H)) : R, G = F ? F.roleName : V.find((e) => e.id === A)?.label ?? j.find((e) => e.id === A)?.label ?? e, K = () => {
57
+ }, [v]), !_) return null;
58
+ let { activeSurfaceId: A, surfaces: j, resolvedSurfaceId: M, setSurfaceId: N, canSimulate: P, simulation: F, startSimulation: I, stopSimulation: L, simulatableRoles: R, simulatableRolesLoading: z, loadSimulatableRoles: B, customViews: V, canManageViews: H } = _, U = te(_, e), W = b.trim().toLowerCase(), G = W ? U.filter((e) => e.label.toLowerCase().includes(W)) : U, K = W ? V.filter((e) => e.name.toLowerCase().includes(W)) : V, q = W ? R.filter((e) => e.name.toLowerCase().includes(W)) : R, J = F ? F.roleName : U.find((e) => e.id === A)?.label ?? j.find((e) => e.id === A)?.label ?? V.find((e) => e.id === A)?.name ?? e, Y = () => {
59
59
  if (v) {
60
60
  O();
61
61
  return;
62
62
  }
63
63
  P && B(), y(!0);
64
- }, q = (e) => {
64
+ }, X = (e) => {
65
65
  e.key === "Escape" && v && (e.preventDefault(), e.stopPropagation(), O());
66
- }, J = (e) => {
66
+ }, Z = (e) => {
67
67
  F && L(), N(e === M ? null : e), O();
68
- }, Y = "flex w-full min-h-9 items-center gap-2 rounded-button px-2.5 py-1.5 text-left text-body-sm text-text-primary hover:bg-bg-sunken transition-colors", X = "px-2.5 pb-1 pt-2.5 text-[11px] font-medium uppercase tracking-wider text-text-muted";
68
+ }, Q = "flex w-full min-h-9 items-center gap-2 rounded-button px-2.5 py-1.5 text-left text-body-sm text-text-primary hover:bg-bg-sunken transition-colors", $ = "px-2.5 pb-1 pt-2.5 text-[11px] font-medium uppercase tracking-wider text-text-muted";
69
69
  return /* @__PURE__ */ m("div", {
70
70
  ref: w,
71
71
  className: "relative min-w-0 flex-1",
72
- onKeyDown: q,
72
+ onKeyDown: X,
73
73
  children: [v && S && typeof document < "u" && h(/* @__PURE__ */ m("div", {
74
74
  ref: E,
75
75
  style: {
@@ -80,10 +80,10 @@ function v({ everythingLabel: e }) {
80
80
  className: "fixed z-[130] flex max-h-80 flex-col overflow-hidden rounded-card border border-border-subtle bg-bg-canvas shadow-lg",
81
81
  role: "listbox",
82
82
  "data-testid": "persona-view-panel",
83
- onKeyDown: q,
83
+ onKeyDown: X,
84
84
  children: [/* @__PURE__ */ m("div", {
85
85
  className: "flex items-center gap-2 border-b border-border-subtle px-2.5 py-2",
86
- children: [/* @__PURE__ */ p(l, { className: "size-4 flex-shrink-0 text-text-muted" }), /* @__PURE__ */ p("input", {
86
+ children: [/* @__PURE__ */ p(u, { className: "size-4 flex-shrink-0 text-text-muted" }), /* @__PURE__ */ p("input", {
87
87
  ref: D,
88
88
  value: b,
89
89
  onChange: (e) => x(e.target.value),
@@ -94,16 +94,16 @@ function v({ everythingLabel: e }) {
94
94
  }), /* @__PURE__ */ m("div", {
95
95
  className: "overflow-y-auto py-1",
96
96
  children: [
97
- U.length > 0 && /* @__PURE__ */ p("p", {
98
- className: X,
97
+ G.length > 0 && /* @__PURE__ */ p("p", {
98
+ className: $,
99
99
  children: "Views"
100
100
  }),
101
- U.map((e) => {
101
+ G.map((e) => {
102
102
  let t = !F && e.id === A;
103
103
  return /* @__PURE__ */ m("button", {
104
104
  type: "button",
105
- onClick: () => J(e.id),
106
- className: Y,
105
+ onClick: () => Z(e.id),
106
+ className: Q,
107
107
  "data-testid": `persona-view-${e.id}`,
108
108
  children: [
109
109
  /* @__PURE__ */ p(o, { className: `size-4 flex-shrink-0 ${t ? "text-text-primary" : "invisible"}` }),
@@ -118,9 +118,37 @@ function v({ everythingLabel: e }) {
118
118
  ]
119
119
  }, e.id);
120
120
  }),
121
+ (K.length > 0 || H && !W) && /* @__PURE__ */ m(f, { children: [
122
+ /* @__PURE__ */ p("p", {
123
+ className: $,
124
+ children: "My views"
125
+ }),
126
+ K.map((e) => {
127
+ let t = !F && e.id === A;
128
+ return /* @__PURE__ */ m("button", {
129
+ type: "button",
130
+ onClick: () => Z(e.id),
131
+ className: Q,
132
+ "data-testid": `persona-view-${e.id}`,
133
+ children: [/* @__PURE__ */ p(o, { className: `size-4 flex-shrink-0 ${t ? "text-text-primary" : "invisible"}` }), /* @__PURE__ */ p("span", {
134
+ className: "truncate",
135
+ children: e.name
136
+ })]
137
+ }, e.id);
138
+ }),
139
+ H && !W && /* @__PURE__ */ m("button", {
140
+ type: "button",
141
+ onClick: () => {
142
+ O(), d();
143
+ },
144
+ className: `${Q} text-text-secondary`,
145
+ "data-testid": "persona-view-create",
146
+ children: [/* @__PURE__ */ p(l, { className: "size-4 flex-shrink-0" }), /* @__PURE__ */ p("span", { children: "New view from current…" })]
147
+ })
148
+ ] }),
121
149
  P && /* @__PURE__ */ m(f, { children: [
122
150
  /* @__PURE__ */ p("p", {
123
- className: X,
151
+ className: $,
124
152
  children: "Preview a role"
125
153
  }),
126
154
  F && /* @__PURE__ */ m("button", {
@@ -128,22 +156,22 @@ function v({ everythingLabel: e }) {
128
156
  onClick: () => {
129
157
  L(), O();
130
158
  },
131
- className: `${Y} text-status-warning-text`,
159
+ className: `${Q} text-status-warning-text`,
132
160
  "data-testid": "persona-view-exit-preview",
133
- children: [/* @__PURE__ */ p(d, { className: "size-4 flex-shrink-0" }), /* @__PURE__ */ p("span", { children: "Exit preview" })]
161
+ children: [/* @__PURE__ */ p(ee, { className: "size-4 flex-shrink-0" }), /* @__PURE__ */ p("span", { children: "Exit preview" })]
134
162
  }),
135
163
  z && /* @__PURE__ */ p("p", {
136
164
  className: "px-2.5 py-1.5 text-body-sm text-text-muted",
137
165
  children: "Loading roles…"
138
166
  }),
139
- W.map((e) => {
167
+ q.map((e) => {
140
168
  let t = F?.roleId === e.id;
141
169
  return /* @__PURE__ */ m("button", {
142
170
  type: "button",
143
171
  onClick: () => {
144
172
  I(e), O();
145
173
  },
146
- className: Y,
174
+ className: Q,
147
175
  "data-testid": `persona-preview-${e.id}`,
148
176
  children: [
149
177
  /* @__PURE__ */ p(c, { className: `size-4 flex-shrink-0 ${t ? "text-status-warning-text" : "text-text-muted"}` }),
@@ -155,12 +183,12 @@ function v({ everythingLabel: e }) {
155
183
  ]
156
184
  }, e.id);
157
185
  }),
158
- !z && W.length === 0 && H && /* @__PURE__ */ p("p", {
186
+ !z && q.length === 0 && W && /* @__PURE__ */ p("p", {
159
187
  className: "px-2.5 py-1.5 text-body-sm text-text-muted",
160
188
  children: "No matching roles"
161
189
  })
162
190
  ] }),
163
- U.length === 0 && (!P || W.length === 0) && H && /* @__PURE__ */ p("p", {
191
+ G.length === 0 && (!P || q.length === 0) && W && /* @__PURE__ */ p("p", {
164
192
  className: "px-2.5 py-1.5 text-body-sm text-text-muted",
165
193
  children: "No matches"
166
194
  })
@@ -169,7 +197,7 @@ function v({ everythingLabel: e }) {
169
197
  }), document.body), /* @__PURE__ */ m("button", {
170
198
  ref: T,
171
199
  type: "button",
172
- onClick: K,
200
+ onClick: Y,
173
201
  "aria-expanded": v,
174
202
  "aria-haspopup": "listbox",
175
203
  className: `flex w-full min-h-9 items-center gap-2 rounded-button border px-2.5 py-1.5 text-body-sm transition-colors ${F ? "border-status-warning-text/40 bg-status-warning-bg-subtle text-text-primary" : "border-border-subtle bg-bg-canvas text-text-primary hover:bg-bg-sunken"}`,
@@ -178,38 +206,41 @@ function v({ everythingLabel: e }) {
178
206
  F ? /* @__PURE__ */ p(c, { className: "size-4 flex-shrink-0 text-status-warning-text" }) : /* @__PURE__ */ p(o, { className: "size-4 flex-shrink-0 text-text-muted" }),
179
207
  /* @__PURE__ */ p("span", {
180
208
  className: "min-w-0 flex-1 truncate text-left",
181
- children: F ? `Preview: ${G}` : G
209
+ children: F ? `Preview: ${J}` : J
182
210
  }),
183
211
  /* @__PURE__ */ p(s, { className: "size-4 flex-shrink-0 text-text-muted" })
184
212
  ]
185
213
  })]
186
214
  });
187
215
  }
188
- function y({ everythingLabel: n = "Everything", customizeLabel: r = "Customize menu" }) {
216
+ function v({ everythingLabel: n = "Everything", customizeLabel: r = "Customize menu" }) {
189
217
  let i = t(), { sidebarCollapsed: a, toggleSidebar: o } = e();
190
218
  if (!i) return null;
191
- let { setCustomizeOpen: s } = i, c = /* @__PURE__ */ p("button", {
219
+ let { setCustomizeOpen: s } = i, c = () => {
220
+ typeof window < "u" && window.innerWidth < 768 && !a && o(), s(!0);
221
+ }, l = /* @__PURE__ */ p("button", {
192
222
  type: "button",
193
- onClick: () => {
194
- typeof window < "u" && window.innerWidth < 768 && !a && o(), s(!0);
195
- },
223
+ onClick: c,
196
224
  className: "p-2 rounded-button text-text-secondary hover:bg-bg-sunken hover:text-text-primary transition-colors flex-shrink-0",
197
225
  "aria-label": r,
198
226
  title: r,
199
227
  "data-testid": "persona-customize-trigger",
200
- children: /* @__PURE__ */ p(u, { className: "size-4" })
228
+ children: /* @__PURE__ */ p(d, { className: "size-4" })
201
229
  });
202
230
  return a ? /* @__PURE__ */ p("div", {
203
231
  className: "hidden md:flex justify-center",
204
232
  "data-testid": "persona-controls-collapsed",
205
- children: c
233
+ children: l
206
234
  }) : /* @__PURE__ */ m("div", {
207
235
  className: "flex items-center gap-1",
208
236
  "data-testid": "persona-controls",
209
- children: [/* @__PURE__ */ p(v, { everythingLabel: n }), c]
237
+ children: [/* @__PURE__ */ p(_, {
238
+ everythingLabel: n,
239
+ onOpenCustomize: c
240
+ }), l]
210
241
  });
211
242
  }
212
- function b() {
243
+ function y() {
213
244
  let e = t();
214
245
  return e?.simulation ? /* @__PURE__ */ m("div", {
215
246
  className: "fixed bottom-4 left-1/2 z-[120] -translate-x-1/2 flex max-w-[calc(100vw-2rem)] items-center gap-2 rounded-full border border-border-subtle bg-bg-canvas px-4 py-2 shadow-lg",
@@ -240,4 +271,4 @@ function b() {
240
271
  }) : null;
241
272
  }
242
273
  //#endregion
243
- export { b as PersonaSimulationPill, y as PersonaSurfaceControls };
274
+ export { y as PersonaSimulationPill, v as PersonaSurfaceControls };
@@ -28,6 +28,8 @@ export declare const GATEWAYS: {
28
28
  readonly defaultBaseUrl: "https://gw-global.local.burdenoff.com";
29
29
  /** GraphQL endpoint path */
30
30
  readonly graphql: "/global/graphql";
31
+ /** SSE endpoint path for subscriptions (same endpoint, gateway detects via Accept header) */
32
+ readonly sse: "/global/graphql";
31
33
  /** WebSocket endpoint for subscriptions (if needed) */
32
34
  readonly ws: "/global/graphql/ws";
33
35
  };
@@ -53,6 +55,8 @@ export declare function getGatewayConfig(gateway: Gateway): {
53
55
  readonly defaultBaseUrl: "https://gw-global.local.burdenoff.com";
54
56
  /** GraphQL endpoint path */
55
57
  readonly graphql: "/global/graphql";
58
+ /** SSE endpoint path for subscriptions (same endpoint, gateway detects via Accept header) */
59
+ readonly sse: "/global/graphql";
56
60
  /** WebSocket endpoint for subscriptions (if needed) */
57
61
  readonly ws: "/global/graphql/ws";
58
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ;;QAEjB,uCAAuC;;QAEvC,4BAA4B;;QAE5B,6FAA6F;;;;QAI7F,uCAAuC;;QAEvC,4BAA4B;;QAE5B,uDAAuD;;;CAGjD,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAC;AACjD,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,QAAQ,CAAC;AAE5C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAMlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO;IAlC7C,uCAAuC;;IAEvC,4BAA4B;;IAE5B,6FAA6F;;;IAI7F,uCAAuC;;IAEvC,4BAA4B;;IAE5B,uDAAuD;;EAwB1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAKnF;AAGD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAGhE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACxF,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ;;QAEjB,uCAAuC;;QAEvC,4BAA4B;;QAE5B,6FAA6F;;;;QAI7F,uCAAuC;;QAEvC,4BAA4B;;QAE5B,6FAA6F;;QAE7F,uDAAuD;;;CAGjD,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAC;AACjD,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,QAAQ,CAAC;AAE5C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAMlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO;IApC7C,uCAAuC;;IAEvC,4BAA4B;;IAE5B,6FAA6F;;;IAI7F,uCAAuC;;IAEvC,4BAA4B;;IAE5B,6FAA6F;;IAE7F,uDAAuD;;EAwB1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAKnF;AAGD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAGhE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACxF,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/shared/graphql/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/shared/graphql/client.ts"],"names":[],"mappings":"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"}