@burdenoff/fe-libs 2026.927.3 → 2026.928.2
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.
- package/dist/chrome/SideNavigation.d.ts.map +1 -1
- package/dist/chrome/SideNavigation.js +71 -68
- package/dist/chrome/sideNavigation/sideNavEscape.d.ts +41 -0
- package/dist/chrome/sideNavigation/sideNavEscape.d.ts.map +1 -0
- package/dist/chrome/sideNavigation/sideNavEscape.js +8 -0
- package/dist/chrome/sideNavigation/useSideNavigationState.d.ts +8 -1
- package/dist/chrome/sideNavigation/useSideNavigationState.d.ts.map +1 -1
- package/dist/chrome/sideNavigation/useSideNavigationState.js +35 -23
- package/dist/shared/assistant/index.d.ts +1 -0
- package/dist/shared/assistant/index.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AIAssistantPanel.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AIAssistantPanel.js +82 -79
- package/dist/shared/assistant/ui/AssistantOverlay.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantOverlay.js +98 -96
- package/dist/shared/assistant/ui/assistantOverlayState.d.ts +31 -8
- package/dist/shared/assistant/ui/assistantOverlayState.d.ts.map +1 -1
- package/dist/shared/assistant/ui/assistantOverlayState.js +22 -16
- package/dist/shared/assistant/ui/panelOverlays.d.ts +31 -0
- package/dist/shared/assistant/ui/panelOverlays.d.ts.map +1 -1
- package/dist/shared/assistant/ui/panelOverlays.js +11 -8
- package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts.map +1 -1
- package/dist/shared/assistant/ui/voice/AssistantVoiceSession.js +82 -72
- package/dist/shared/assistant/ui/voice/VoiceTranscriptDrawer.d.ts.map +1 -1
- package/dist/shared/assistant/ui/voice/VoiceTranscriptDrawer.js +40 -39
- package/dist/shared/assistant/ui/voice/voiceSessionEscape.d.ts +57 -0
- package/dist/shared/assistant/ui/voice/voiceSessionEscape.d.ts.map +1 -0
- package/dist/shared/assistant/ui/voice/voiceSessionEscape.js +19 -0
- package/dist/shared/assistant/useAssistantKeyboardShortcuts.d.ts +3 -1
- package/dist/shared/assistant/useAssistantKeyboardShortcuts.d.ts.map +1 -1
- package/dist/shared/assistant/useAssistantKeyboardShortcuts.js +25 -25
- package/dist/shared/hooks/index.d.ts +1 -0
- package/dist/shared/hooks/index.d.ts.map +1 -1
- package/dist/shared/hooks/useReturnFocus.d.ts +56 -0
- package/dist/shared/hooks/useReturnFocus.d.ts.map +1 -0
- package/dist/shared/hooks/useReturnFocus.js +41 -0
- package/dist/shared/providers/AppShellProvider.d.ts +12 -1
- package/dist/shared/providers/AppShellProvider.d.ts.map +1 -1
- package/dist/shared/providers/AppShellProvider.js +175 -161
- package/dist/shared-assistant.js +76 -75
- package/dist/shared-hooks.js +34 -33
- package/dist/shared.js +89 -88
- package/dist/ui/modal-shell.d.ts.map +1 -1
- package/dist/ui/modal-shell.js +23 -13
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavigation.d.ts","sourceRoot":"","sources":["../../src/chrome/SideNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"SideNavigation.d.ts","sourceRoot":"","sources":["../../src/chrome/SideNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAMtD,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,KAAK,EAAE,OAAO,EAAE,CAAC;IAEjB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IAEpB,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,yBAAyB;IACzB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE9B,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,sEAAsE;IACtE,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEnC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErC,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,eAAe,CAAC;CACvC;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CA0NlD,CAAC"}
|
|
@@ -4,40 +4,43 @@ import { NavItemRenderer as a } from "./sideNavigation/NavItemRenderer.js";
|
|
|
4
4
|
import { SidebarHeader as o } from "./sideNavigation/SidebarHeader.js";
|
|
5
5
|
import { MobileActionsBar as s } from "./sideNavigation/MobileActionsBar.js";
|
|
6
6
|
import { useSideNavigationState as c } from "./sideNavigation/useSideNavigationState.js";
|
|
7
|
-
import {
|
|
7
|
+
import { useRef as l } from "react";
|
|
8
|
+
import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
8
9
|
//#region src/chrome/SideNavigation.tsx
|
|
9
|
-
var
|
|
10
|
-
let { expandedItems:
|
|
11
|
-
items:
|
|
12
|
-
currentPath:
|
|
13
|
-
collapsed:
|
|
14
|
-
onToggleCollapse:
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
var p = ({ items: p, currentPath: m, collapsed: h = !1, onItemClick: g, onToggleCollapse: _, collapseLabel: v, header: y, footer: b, mobileActions: x, groupOrder: S, groupLabels: C, maxDepth: w = 4, contextSearchParams: T }) => {
|
|
11
|
+
let E = l(null), { expandedItems: D, toggleExpand: O, collapseAll: k } = c({
|
|
12
|
+
items: p,
|
|
13
|
+
currentPath: m,
|
|
14
|
+
collapsed: h,
|
|
15
|
+
onToggleCollapse: _,
|
|
16
|
+
navRef: E
|
|
17
|
+
}), A = i(), j = v ?? A("nav.collapse", "Collapse"), M = A("nav.expand", "Expand"), N = p.filter((e) => e.visible !== !1), P = (() => {
|
|
18
|
+
if (h) return [{
|
|
17
19
|
id: "__all__",
|
|
18
20
|
label: null,
|
|
19
|
-
items:
|
|
21
|
+
items: N
|
|
20
22
|
}];
|
|
21
23
|
let e = /* @__PURE__ */ new Map();
|
|
22
|
-
for (let t of
|
|
24
|
+
for (let t of N) {
|
|
23
25
|
let n = t.group ?? "__default__", r = e.get(n);
|
|
24
26
|
r ? r.push(t) : e.set(n, [t]);
|
|
25
27
|
}
|
|
26
|
-
return [...
|
|
28
|
+
return [...S ?? [], ...Array.from(e.keys()).filter((e) => !(S ?? []).includes(e))].filter((t) => (e.get(t)?.length ?? 0) > 0).map((t) => ({
|
|
27
29
|
id: t,
|
|
28
|
-
label: t === "__default__" ? null :
|
|
30
|
+
label: t === "__default__" ? null : C?.[t] ?? t,
|
|
29
31
|
items: e.get(t) ?? []
|
|
30
32
|
}));
|
|
31
33
|
})();
|
|
32
|
-
return /* @__PURE__ */
|
|
34
|
+
return /* @__PURE__ */ f(u, { children: [!h && /* @__PURE__ */ f(u, { children: [/* @__PURE__ */ d("div", {
|
|
33
35
|
className: "fixed inset-0 bg-bg-overlay z-[109] md:hidden",
|
|
34
36
|
"aria-hidden": "true"
|
|
35
|
-
}), /* @__PURE__ */
|
|
37
|
+
}), /* @__PURE__ */ d("button", {
|
|
36
38
|
type: "button",
|
|
37
39
|
className: "fixed inset-y-0 right-0 left-64 z-[112] md:hidden cursor-pointer",
|
|
38
|
-
onClick:
|
|
40
|
+
onClick: _,
|
|
39
41
|
"aria-label": "Close sidebar"
|
|
40
|
-
})] }), /* @__PURE__ */
|
|
42
|
+
})] }), /* @__PURE__ */ f("aside", {
|
|
43
|
+
ref: E,
|
|
41
44
|
className: `
|
|
42
45
|
bg-bg-canvas supports-[backdrop-filter]:bg-[var(--color-surface-glass)] supports-[backdrop-filter]:backdrop-blur-[var(--blur-glass)]
|
|
43
46
|
border-r border-border-seam
|
|
@@ -48,28 +51,28 @@ var f = ({ items: f, currentPath: p, collapsed: m = !1, onItemClick: h, onToggle
|
|
|
48
51
|
z-[110] md:z-auto
|
|
49
52
|
md:h-full
|
|
50
53
|
overflow-x-hidden
|
|
51
|
-
${
|
|
54
|
+
${h ? "-translate-x-full md:translate-x-0" : "translate-x-0"}
|
|
52
55
|
w-64 md:w-auto
|
|
53
|
-
${
|
|
56
|
+
${h ? "md:w-16" : "md:w-64"}
|
|
54
57
|
`,
|
|
55
58
|
style: {
|
|
56
59
|
paddingTop: "env(safe-area-inset-top)",
|
|
57
60
|
paddingBottom: "env(safe-area-inset-bottom)"
|
|
58
61
|
},
|
|
59
62
|
children: [
|
|
60
|
-
!
|
|
63
|
+
!h && _ && /* @__PURE__ */ d("div", {
|
|
61
64
|
className: "md:hidden flex justify-end px-2 pt-2",
|
|
62
|
-
children: /* @__PURE__ */
|
|
65
|
+
children: /* @__PURE__ */ d("button", {
|
|
63
66
|
type: "button",
|
|
64
|
-
onClick:
|
|
67
|
+
onClick: _,
|
|
65
68
|
className: "p-2 rounded-button hover:bg-bg-sunken text-text-secondary hover:text-text-primary transition-colors",
|
|
66
69
|
"aria-label": "Close sidebar",
|
|
67
|
-
children: /* @__PURE__ */
|
|
70
|
+
children: /* @__PURE__ */ d("svg", {
|
|
68
71
|
className: "size-5",
|
|
69
72
|
fill: "none",
|
|
70
73
|
stroke: "currentColor",
|
|
71
74
|
viewBox: "0 0 24 24",
|
|
72
|
-
children: /* @__PURE__ */
|
|
75
|
+
children: /* @__PURE__ */ d("path", {
|
|
73
76
|
strokeLinecap: "round",
|
|
74
77
|
strokeLinejoin: "round",
|
|
75
78
|
strokeWidth: 2,
|
|
@@ -78,62 +81,62 @@ var f = ({ items: f, currentPath: p, collapsed: m = !1, onItemClick: h, onToggle
|
|
|
78
81
|
})
|
|
79
82
|
})
|
|
80
83
|
}),
|
|
81
|
-
(
|
|
82
|
-
header:
|
|
83
|
-
collapsed:
|
|
84
|
-
expandedCount:
|
|
85
|
-
onCollapseAll:
|
|
86
|
-
onToggleCollapse:
|
|
87
|
-
collapseLabel:
|
|
88
|
-
expandLabel:
|
|
84
|
+
(y || _) && /* @__PURE__ */ d(o, {
|
|
85
|
+
header: y,
|
|
86
|
+
collapsed: h,
|
|
87
|
+
expandedCount: D.size,
|
|
88
|
+
onCollapseAll: k,
|
|
89
|
+
onToggleCollapse: _,
|
|
90
|
+
collapseLabel: j,
|
|
91
|
+
expandLabel: M
|
|
89
92
|
}),
|
|
90
|
-
/* @__PURE__ */
|
|
93
|
+
/* @__PURE__ */ d("nav", {
|
|
91
94
|
className: "scrollbar-slim scrollbar-hover-only flex-1 min-h-0 py-card-padding overflow-y-auto overflow-x-hidden",
|
|
92
|
-
children: /* @__PURE__ */
|
|
95
|
+
children: /* @__PURE__ */ d(n, {
|
|
93
96
|
delayDuration: 300,
|
|
94
|
-
children: /* @__PURE__ */
|
|
97
|
+
children: /* @__PURE__ */ d("ul", {
|
|
95
98
|
className: "space-y-list-gap",
|
|
96
|
-
children:
|
|
99
|
+
children: P.map((n, i) => /* @__PURE__ */ f("li", {
|
|
97
100
|
className: "list-none",
|
|
98
101
|
children: [
|
|
99
|
-
i > 0 && !
|
|
100
|
-
n.label && !
|
|
102
|
+
i > 0 && !h && /* @__PURE__ */ d("div", { className: "my-2 border-t border-border-subtle" }),
|
|
103
|
+
n.label && !h && /* @__PURE__ */ d("p", {
|
|
101
104
|
className: "px-3 pb-1.5 pt-0.5 text-[11px] font-medium uppercase tracking-wider text-text-muted",
|
|
102
105
|
children: n.label
|
|
103
106
|
}),
|
|
104
|
-
/* @__PURE__ */
|
|
107
|
+
/* @__PURE__ */ d("ul", {
|
|
105
108
|
className: "space-y-list-gap",
|
|
106
|
-
children: n.items.map((n) =>
|
|
109
|
+
children: n.items.map((n) => h ? /* @__PURE__ */ f(e, { children: [/* @__PURE__ */ d(r, {
|
|
107
110
|
asChild: !0,
|
|
108
|
-
children: /* @__PURE__ */
|
|
111
|
+
children: /* @__PURE__ */ d(a, {
|
|
109
112
|
item: n,
|
|
110
113
|
depth: 0,
|
|
111
|
-
maxDepth:
|
|
112
|
-
currentPath:
|
|
113
|
-
expandedItems:
|
|
114
|
-
toggleExpand:
|
|
115
|
-
onItemClick:
|
|
116
|
-
onToggleCollapse:
|
|
117
|
-
collapsed:
|
|
118
|
-
contextSearchParams:
|
|
114
|
+
maxDepth: w,
|
|
115
|
+
currentPath: m,
|
|
116
|
+
expandedItems: D,
|
|
117
|
+
toggleExpand: O,
|
|
118
|
+
onItemClick: g,
|
|
119
|
+
onToggleCollapse: _,
|
|
120
|
+
collapsed: h,
|
|
121
|
+
contextSearchParams: T
|
|
119
122
|
})
|
|
120
|
-
}), /* @__PURE__ */
|
|
123
|
+
}), /* @__PURE__ */ f(t, {
|
|
121
124
|
side: "right",
|
|
122
|
-
children: [/* @__PURE__ */
|
|
125
|
+
children: [/* @__PURE__ */ d("p", { children: n.label }), n.badge !== void 0 && n.badge > 0 && /* @__PURE__ */ d("span", {
|
|
123
126
|
className: "ml-2 text-xs bg-status-error-bg-subtle text-status-error-text px-2 py-0.5 rounded-full",
|
|
124
127
|
children: n.badge
|
|
125
128
|
})]
|
|
126
|
-
})] }, n.id) : /* @__PURE__ */
|
|
129
|
+
})] }, n.id) : /* @__PURE__ */ d(a, {
|
|
127
130
|
item: n,
|
|
128
131
|
depth: 0,
|
|
129
|
-
maxDepth:
|
|
130
|
-
currentPath:
|
|
131
|
-
expandedItems:
|
|
132
|
-
toggleExpand:
|
|
133
|
-
onItemClick:
|
|
134
|
-
onToggleCollapse:
|
|
135
|
-
collapsed:
|
|
136
|
-
contextSearchParams:
|
|
132
|
+
maxDepth: w,
|
|
133
|
+
currentPath: m,
|
|
134
|
+
expandedItems: D,
|
|
135
|
+
toggleExpand: O,
|
|
136
|
+
onItemClick: g,
|
|
137
|
+
onToggleCollapse: _,
|
|
138
|
+
collapsed: h,
|
|
139
|
+
contextSearchParams: T
|
|
137
140
|
}, n.id))
|
|
138
141
|
})
|
|
139
142
|
]
|
|
@@ -141,17 +144,17 @@ var f = ({ items: f, currentPath: p, collapsed: m = !1, onItemClick: h, onToggle
|
|
|
141
144
|
})
|
|
142
145
|
})
|
|
143
146
|
}),
|
|
144
|
-
|
|
145
|
-
className: `py-card-padding border-t border-border-subtle ${
|
|
146
|
-
children:
|
|
147
|
+
b && /* @__PURE__ */ d("div", {
|
|
148
|
+
className: `py-card-padding border-t border-border-subtle ${h ? "md:px-2" : "px-card-padding"}`,
|
|
149
|
+
children: b
|
|
147
150
|
}),
|
|
148
|
-
|
|
149
|
-
actions:
|
|
150
|
-
collapsed:
|
|
151
|
-
onToggleCollapse:
|
|
151
|
+
x && x.length > 0 && /* @__PURE__ */ d(s, {
|
|
152
|
+
actions: x,
|
|
153
|
+
collapsed: h,
|
|
154
|
+
onToggleCollapse: _
|
|
152
155
|
})
|
|
153
156
|
]
|
|
154
157
|
})] });
|
|
155
158
|
};
|
|
156
159
|
//#endregion
|
|
157
|
-
export {
|
|
160
|
+
export { p as SideNavigation };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whose Escape is it: the side nav's, or someone else's? (BOFF-8073)
|
|
3
|
+
*
|
|
4
|
+
* The expanded side nav used to collapse on ANY Escape that reached `window`
|
|
5
|
+
* unclaimed. With focus on the page body, the Escape that ended a voice
|
|
6
|
+
* session also collapsed the nav (VibeControls prod, 2026-09-28): one key,
|
|
7
|
+
* two things closed, and one of them was not even in front of the person.
|
|
8
|
+
*
|
|
9
|
+
* Escape is "back out of the thing I am in". The nav is that thing only when:
|
|
10
|
+
*
|
|
11
|
+
* - focus is inside it: the person is working the nav with the keyboard; or
|
|
12
|
+
* - it is an open OVERLAY: below `md` the expanded nav is a drawer over the
|
|
13
|
+
* page, with a backdrop, and Escape dismissing a drawer is the expected
|
|
14
|
+
* gesture wherever focus happens to be.
|
|
15
|
+
*
|
|
16
|
+
* It is never a global fallback, and a key another handler already took
|
|
17
|
+
* (`defaultPrevented`, as Radix sets when it closes a dialog or popover) is
|
|
18
|
+
* never the nav's.
|
|
19
|
+
*
|
|
20
|
+
* Kept DOM-free so it can be tested without rendering.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Below this viewport width the expanded nav is an overlay drawer: the same
|
|
24
|
+
* `md` breakpoint its classes switch on (`fixed … md:relative`, the
|
|
25
|
+
* `md:hidden` backdrop), and the one `useSideNavigationState` already
|
|
26
|
+
* collapses on when the window shrinks.
|
|
27
|
+
*/
|
|
28
|
+
export declare const SIDE_NAV_OVERLAY_MAX_WIDTH_PX = 768;
|
|
29
|
+
/** Is the expanded nav an overlay drawer at this viewport width? */
|
|
30
|
+
export declare function sideNavIsOverlay(viewportWidth: number): boolean;
|
|
31
|
+
export type SideNavEscapeAction = 'collapse' | 'ignore';
|
|
32
|
+
/** What the side nav does with a key press. */
|
|
33
|
+
export declare function sideNavEscapeAction(input: {
|
|
34
|
+
key: string;
|
|
35
|
+
/** The key's `defaultPrevented`: an earlier handler already took it. */
|
|
36
|
+
alreadyHandled: boolean;
|
|
37
|
+
collapsed: boolean;
|
|
38
|
+
focusInsideNav: boolean;
|
|
39
|
+
navIsOverlay: boolean;
|
|
40
|
+
}): SideNavEscapeAction;
|
|
41
|
+
//# sourceMappingURL=sideNavEscape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sideNavEscape.d.ts","sourceRoot":"","sources":["../../../src/chrome/sideNavigation/sideNavEscape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAEjD,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAExD,+CAA+C;AAC/C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;CACvB,GAAG,mBAAmB,CAKtB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
function e(e) {
|
|
2
|
+
return e < 768;
|
|
3
|
+
}
|
|
4
|
+
function t(e) {
|
|
5
|
+
return e.key !== "Escape" || e.collapsed || e.alreadyHandled ? "ignore" : e.focusInsideNav || e.navIsOverlay ? "collapse" : "ignore";
|
|
6
|
+
}
|
|
7
|
+
//#endregion
|
|
8
|
+
export { t as sideNavEscapeAction, e as sideNavIsOverlay };
|
|
@@ -1,15 +1,22 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
1
2
|
import { NavItem } from './types';
|
|
2
3
|
interface UseSideNavigationStateArgs {
|
|
3
4
|
items: NavItem[];
|
|
4
5
|
currentPath: string;
|
|
5
6
|
collapsed: boolean;
|
|
6
7
|
onToggleCollapse?: () => void;
|
|
8
|
+
/**
|
|
9
|
+
* The nav's root element. Escape collapses the nav only when focus is inside
|
|
10
|
+
* it, or when it is an open overlay (BOFF-8073). Without it, only the
|
|
11
|
+
* overlay case applies.
|
|
12
|
+
*/
|
|
13
|
+
navRef?: RefObject<HTMLElement | null>;
|
|
7
14
|
}
|
|
8
15
|
interface UseSideNavigationStateResult {
|
|
9
16
|
expandedItems: Set<string>;
|
|
10
17
|
toggleExpand: (id: string) => void;
|
|
11
18
|
collapseAll: () => void;
|
|
12
19
|
}
|
|
13
|
-
export declare function useSideNavigationState({ items, currentPath, collapsed, onToggleCollapse, }: UseSideNavigationStateArgs): UseSideNavigationStateResult;
|
|
20
|
+
export declare function useSideNavigationState({ items, currentPath, collapsed, onToggleCollapse, navRef, }: UseSideNavigationStateArgs): UseSideNavigationStateResult;
|
|
14
21
|
export {};
|
|
15
22
|
//# sourceMappingURL=useSideNavigationState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSideNavigationState.d.ts","sourceRoot":"","sources":["../../../src/chrome/sideNavigation/useSideNavigationState.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSideNavigationState.d.ts","sourceRoot":"","sources":["../../../src/chrome/sideNavigation/useSideNavigationState.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKvC,UAAU,0BAA0B;IAClC,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACxC;AAED,UAAU,4BAA4B;IACpC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,MAAM,GACP,EAAE,0BAA0B,GAAG,4BAA4B,CAgG3D"}
|
|
@@ -1,46 +1,58 @@
|
|
|
1
1
|
import { NAV_MORE_ID_PREFIX as e } from "./navVisibility.js";
|
|
2
2
|
import { findAncestorIds as t } from "./helpers.js";
|
|
3
|
-
import {
|
|
3
|
+
import { sideNavEscapeAction as n, sideNavIsOverlay as r } from "./sideNavEscape.js";
|
|
4
|
+
import { useCallback as i, useEffect as a, useRef as o, useState as s } from "react";
|
|
4
5
|
//#region src/chrome/sideNavigation/useSideNavigationState.ts
|
|
5
|
-
function
|
|
6
|
-
let [
|
|
7
|
-
return
|
|
8
|
-
|
|
9
|
-
}, [
|
|
10
|
-
let n = new Set([...t(
|
|
11
|
-
n.size > 0 &&
|
|
6
|
+
function c({ items: c, currentPath: l, collapsed: u, onToggleCollapse: d, navRef: f }) {
|
|
7
|
+
let [p, m] = s(/* @__PURE__ */ new Set()), h = o(u);
|
|
8
|
+
return a(() => {
|
|
9
|
+
h.current = u;
|
|
10
|
+
}, [u]), a(() => {
|
|
11
|
+
let n = new Set([...t(c, l)].filter((t) => !t.startsWith(e)));
|
|
12
|
+
n.size > 0 && m((e) => {
|
|
12
13
|
let t = new Set(e), r = !1;
|
|
13
14
|
return n.forEach((e) => {
|
|
14
15
|
t.has(e) || (t.add(e), r = !0);
|
|
15
16
|
}), r ? t : e;
|
|
16
17
|
});
|
|
17
|
-
}, [
|
|
18
|
-
if (typeof window > "u" || !
|
|
19
|
-
let e = window.innerWidth
|
|
20
|
-
let t = window.innerWidth
|
|
21
|
-
t && (!e || !
|
|
18
|
+
}, [l, c]), a(() => {
|
|
19
|
+
if (typeof window > "u" || !d) return;
|
|
20
|
+
let e = r(window.innerWidth), t = () => {
|
|
21
|
+
let t = r(window.innerWidth);
|
|
22
|
+
t && (!e || !h.current) && d(), e = t;
|
|
22
23
|
};
|
|
23
24
|
return t(), window.addEventListener("resize", t), () => {
|
|
24
25
|
window.removeEventListener("resize", t);
|
|
25
26
|
};
|
|
26
|
-
}, [
|
|
27
|
-
if (
|
|
27
|
+
}, [d]), a(() => {
|
|
28
|
+
if (u || !d) return;
|
|
28
29
|
let e = (e) => {
|
|
29
|
-
|
|
30
|
+
let t = f?.current ?? null, i = document.activeElement;
|
|
31
|
+
n({
|
|
32
|
+
key: e.key,
|
|
33
|
+
alreadyHandled: e.defaultPrevented,
|
|
34
|
+
collapsed: !1,
|
|
35
|
+
focusInsideNav: !!(t && i && t.contains(i)),
|
|
36
|
+
navIsOverlay: r(window.innerWidth)
|
|
37
|
+
}) === "collapse" && (e.preventDefault(), d());
|
|
30
38
|
};
|
|
31
39
|
return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
|
|
32
|
-
}, [
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
40
|
+
}, [
|
|
41
|
+
u,
|
|
42
|
+
d,
|
|
43
|
+
f
|
|
44
|
+
]), {
|
|
45
|
+
expandedItems: p,
|
|
46
|
+
toggleExpand: i((e) => {
|
|
47
|
+
m((t) => {
|
|
36
48
|
let n = new Set(t);
|
|
37
49
|
return n.has(e) ? n.delete(e) : n.add(e), n;
|
|
38
50
|
});
|
|
39
51
|
}, []),
|
|
40
|
-
collapseAll:
|
|
41
|
-
|
|
52
|
+
collapseAll: i(() => {
|
|
53
|
+
m(/* @__PURE__ */ new Set());
|
|
42
54
|
}, [])
|
|
43
55
|
};
|
|
44
56
|
}
|
|
45
57
|
//#endregion
|
|
46
|
-
export {
|
|
58
|
+
export { c as useSideNavigationState };
|
|
@@ -139,6 +139,7 @@ export * from './ui/voice/VoiceStage';
|
|
|
139
139
|
export * from './ui/voice/VoiceStatusText';
|
|
140
140
|
export * from './ui/voice/VoiceTranscriptDrawer';
|
|
141
141
|
export * from './ui/voice/VoiceWaveform';
|
|
142
|
+
export * from './ui/voice/voiceSessionEscape';
|
|
142
143
|
export * from './product';
|
|
143
144
|
export * from './ui/AssistantMoreMenu';
|
|
144
145
|
export * from './ui/AssistantHeader';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIAssistantPanel.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AIAssistantPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAU,KAAK,EAAE,EAAY,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAIvE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AAkBrC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"AIAssistantPanel.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AIAssistantPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAU,KAAK,EAAE,EAAY,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAIvE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AAkBrC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAKnE,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG;IAC/C,gEAAgE;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAkPtD,CAAC"}
|
|
@@ -1,97 +1,100 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
1
|
+
import { useReturnFocus as e } from "../../hooks/useReturnFocus.js";
|
|
2
|
+
import { useAssistantPageLabel as t } from "../product.js";
|
|
3
|
+
import { useAssistantTr as n } from "../i18n.js";
|
|
4
|
+
import { AssistantNavigateProvider as r } from "./AssistantMarkdownRenderer.js";
|
|
5
|
+
import { useAssistantStore as i } from "../store.js";
|
|
6
|
+
import { AssistantSpeechProvider as a } from "./AssistantSpeechProvider.js";
|
|
7
|
+
import { AssistantConnectSourceProvider as o } from "./composer/connectSource.js";
|
|
8
|
+
import { ASSISTANT_OVERLAY_ATTR as s, ASSISTANT_PANEL_ATTR as c, activePanelOverlay as l, escapeDismisses as u, nextPanelOverlays as d } from "./panelOverlays.js";
|
|
9
|
+
import { AssistantPreviewProvider as f } from "../preview/context.js";
|
|
10
|
+
import { useAssistantPreviewBridge as p } from "../preview/useAssistantPreviewBridge.js";
|
|
11
|
+
import { panelOwnedPreviewBridge as m, useHostedAssistantPreviewBridge as h } from "../preview/bridgeHostContext.js";
|
|
12
|
+
import { AssistantPreviewOverlay as g } from "../preview/AssistantPreviewOverlay.js";
|
|
13
|
+
import { AssistantHeader as _ } from "./AssistantHeader.js";
|
|
14
|
+
import { AssistantConversationList as v } from "./AssistantConversationList.js";
|
|
15
|
+
import { useAssistantServerHistory as y } from "../history/useAssistantServerHistory.js";
|
|
16
|
+
import { useFilesServiceWarmup as b } from "../../../storage/warmFilesService.js";
|
|
17
|
+
import { useAssistantHeartbeat as x } from "../useAssistantHeartbeat.js";
|
|
18
|
+
import { useAssistantKeyboardShortcuts as S } from "../useAssistantKeyboardShortcuts.js";
|
|
19
|
+
import { AssistantChatArea as C } from "./AssistantChatArea.js";
|
|
20
|
+
import { useRef as w, useState as T } from "react";
|
|
21
|
+
import { jsx as E, jsxs as D } from "react/jsx-runtime";
|
|
21
22
|
//#region src/shared/assistant/ui/AIAssistantPanel.tsx
|
|
22
|
-
var
|
|
23
|
-
let
|
|
24
|
-
|
|
25
|
-
let [
|
|
26
|
-
|
|
27
|
-
let
|
|
28
|
-
|
|
29
|
-
let
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
23
|
+
var O = ({ onClose: O, visible: k, docked: A, onToggleDock: j, writeAccess: M, onNavigate: N, connectSourceHref: P, onConnectSource: F, preview: I, serverHistory: L = !1 }) => {
|
|
24
|
+
let R = n();
|
|
25
|
+
y(L);
|
|
26
|
+
let [z, B] = T(!1);
|
|
27
|
+
z && !I && B(!1);
|
|
28
|
+
let V = z && !!I;
|
|
29
|
+
p(m(I, h()));
|
|
30
|
+
let H = w(null);
|
|
31
|
+
e(H);
|
|
32
|
+
let { conversations: U, activeConversationId: W, conversationListOpen: G, setConversationListOpen: K, createConversation: q } = i(), J = G || V, Y = l({
|
|
33
|
+
historyOpen: G,
|
|
34
|
+
previewOpen: V
|
|
35
|
+
}), X = (e) => {
|
|
36
|
+
let t = d({
|
|
37
|
+
historyOpen: G,
|
|
38
|
+
previewOpen: V
|
|
36
39
|
}, e);
|
|
37
|
-
|
|
38
|
-
},
|
|
39
|
-
|
|
40
|
-
let
|
|
41
|
-
return
|
|
42
|
-
panelRef:
|
|
40
|
+
K(t.historyOpen), B(t.previewOpen);
|
|
41
|
+
}, Z = U.find((e) => e.id === W);
|
|
42
|
+
x(Z?.backendSessionId ?? null, Z?.mode ?? null, k ?? !0), b(k ?? !0);
|
|
43
|
+
let Q = t(k !== !1);
|
|
44
|
+
return S({
|
|
45
|
+
panelRef: H,
|
|
43
46
|
onClose: () => {
|
|
44
|
-
if (
|
|
45
|
-
historyOpen:
|
|
46
|
-
previewOpen:
|
|
47
|
+
if (u({
|
|
48
|
+
historyOpen: G,
|
|
49
|
+
previewOpen: V
|
|
47
50
|
}) === "overlay") {
|
|
48
|
-
|
|
51
|
+
K(!1), B(!1);
|
|
49
52
|
return;
|
|
50
53
|
}
|
|
51
|
-
|
|
54
|
+
O();
|
|
52
55
|
}
|
|
53
|
-
}), /* @__PURE__ */
|
|
54
|
-
visible:
|
|
55
|
-
children: /* @__PURE__ */
|
|
56
|
-
value:
|
|
57
|
-
children: /* @__PURE__ */
|
|
58
|
-
value:
|
|
59
|
-
children: /* @__PURE__ */
|
|
60
|
-
value:
|
|
61
|
-
onOpen:
|
|
62
|
-
children: /* @__PURE__ */
|
|
63
|
-
ref:
|
|
56
|
+
}), /* @__PURE__ */ E(a, {
|
|
57
|
+
visible: k ?? !0,
|
|
58
|
+
children: /* @__PURE__ */ E(f, {
|
|
59
|
+
value: I,
|
|
60
|
+
children: /* @__PURE__ */ E(r, {
|
|
61
|
+
value: N,
|
|
62
|
+
children: /* @__PURE__ */ E(o, {
|
|
63
|
+
value: P,
|
|
64
|
+
onOpen: F,
|
|
65
|
+
children: /* @__PURE__ */ D("div", {
|
|
66
|
+
ref: H,
|
|
64
67
|
className: "relative flex h-full w-full flex-col bg-bg-surface",
|
|
65
68
|
role: "complementary",
|
|
66
|
-
"aria-label":
|
|
69
|
+
"aria-label": R("panel.ariaLabel", "AI Assistant"),
|
|
67
70
|
"data-testid": "ai-assistant-panel",
|
|
68
|
-
[
|
|
69
|
-
...
|
|
71
|
+
[c]: "",
|
|
72
|
+
...Y ? { [s]: Y } : {},
|
|
70
73
|
tabIndex: -1,
|
|
71
74
|
children: [
|
|
72
|
-
/* @__PURE__ */
|
|
75
|
+
/* @__PURE__ */ E("div", {
|
|
73
76
|
className: "contents",
|
|
74
|
-
inert:
|
|
75
|
-
children: /* @__PURE__ */
|
|
76
|
-
contextLabel:
|
|
77
|
-
onNewConversation: () =>
|
|
78
|
-
onOpenHistory: () =>
|
|
79
|
-
historyOpen:
|
|
80
|
-
onTogglePreview: () =>
|
|
81
|
-
previewOpen:
|
|
82
|
-
onClose:
|
|
83
|
-
docked:
|
|
84
|
-
onToggleDock:
|
|
77
|
+
inert: J || void 0,
|
|
78
|
+
children: /* @__PURE__ */ E(_, {
|
|
79
|
+
contextLabel: Q,
|
|
80
|
+
onNewConversation: () => q(),
|
|
81
|
+
onOpenHistory: () => X("history"),
|
|
82
|
+
historyOpen: G,
|
|
83
|
+
onTogglePreview: () => X("preview"),
|
|
84
|
+
previewOpen: V,
|
|
85
|
+
onClose: O,
|
|
86
|
+
docked: A,
|
|
87
|
+
onToggleDock: j
|
|
85
88
|
})
|
|
86
89
|
}),
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
/* @__PURE__ */
|
|
90
|
+
G && /* @__PURE__ */ E(v, {}),
|
|
91
|
+
V && /* @__PURE__ */ E(g, { onClose: () => B(!1) }),
|
|
92
|
+
/* @__PURE__ */ E("div", {
|
|
90
93
|
className: "contents",
|
|
91
|
-
inert:
|
|
92
|
-
children: /* @__PURE__ */
|
|
93
|
-
visible:
|
|
94
|
-
writeAccess:
|
|
94
|
+
inert: J || void 0,
|
|
95
|
+
children: /* @__PURE__ */ E(C, {
|
|
96
|
+
visible: k ?? !0,
|
|
97
|
+
writeAccess: M
|
|
95
98
|
})
|
|
96
99
|
})
|
|
97
100
|
]
|
|
@@ -102,4 +105,4 @@ var D = ({ onClose: D, visible: O, docked: k, onToggleDock: A, writeAccess: j, o
|
|
|
102
105
|
});
|
|
103
106
|
};
|
|
104
107
|
//#endregion
|
|
105
|
-
export {
|
|
108
|
+
export { O as AIAssistantPanel };
|