@burdenoff/fe-libs 2026.911.1 → 2026.911.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/shared/assistant/index.d.ts +1 -0
- package/dist/shared/assistant/index.d.ts.map +1 -1
- package/dist/shared/assistant/preview/AssistantPreviewOverlay.d.ts.map +1 -1
- package/dist/shared/assistant/preview/AssistantPreviewOverlay.js +26 -23
- package/dist/shared/assistant/ui/AssistantConversationList.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantConversationList.js +81 -76
- package/dist/shared/assistant/ui/useOverlayFocus.d.ts +4 -0
- package/dist/shared/assistant/ui/useOverlayFocus.d.ts.map +1 -0
- package/dist/shared/assistant/ui/useOverlayFocus.js +17 -0
- package/dist/shared-assistant.js +38 -37
- package/package.json +1 -1
|
@@ -95,6 +95,7 @@ export * from './preview/types';
|
|
|
95
95
|
export * from './preview/context';
|
|
96
96
|
export * from './preview/previewTransitions';
|
|
97
97
|
export * from './ui/panelOverlays';
|
|
98
|
+
export * from './ui/useOverlayFocus';
|
|
98
99
|
export * from './preview/useAssistantPreviewBridge';
|
|
99
100
|
export * from './preview/AssistantPreviewOverlay';
|
|
100
101
|
export * from './ui/composer/AssistantLanguageSelector';
|
|
@@ -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":"AssistantPreviewOverlay.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/preview/AssistantPreviewOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAA6B,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AssistantPreviewOverlay.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/preview/AssistantPreviewOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAA6B,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AA2E3E,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAwF/D,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { useAssistantTr as e } from "../i18n.js";
|
|
2
2
|
import { useAssistantStore as t } from "../store.js";
|
|
3
3
|
import { useAssistantPreview as n } from "./context.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { useOverlayFocus as r } from "../ui/useOverlayFocus.js";
|
|
5
|
+
import { Component as i } from "react";
|
|
6
|
+
import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
6
7
|
//#region src/shared/assistant/preview/AssistantPreviewOverlay.tsx
|
|
7
|
-
var
|
|
8
|
+
var c = class extends i {
|
|
8
9
|
state = {
|
|
9
10
|
failed: !1,
|
|
10
11
|
shownFor: this.props.resetKey
|
|
@@ -24,42 +25,44 @@ var s = class extends r {
|
|
|
24
25
|
render() {
|
|
25
26
|
return this.state.failed ? this.props.fallback : this.props.children;
|
|
26
27
|
}
|
|
27
|
-
},
|
|
28
|
-
let
|
|
28
|
+
}, l = ({ controller: e }) => /* @__PURE__ */ o(a, { children: e.render() }), u = ({ onClose: i }) => {
|
|
29
|
+
let a = n(), u = e(), d = t((e) => {
|
|
29
30
|
let t = e.activeConversationId, n = t ? e.processingByConversationId[t]?.messageId : null;
|
|
30
31
|
return !t || !n ? "idle" : `${t}:${n}#${e.conversations.find((e) => e.id === t)?.updatedAt ?? ""}`;
|
|
31
|
-
});
|
|
32
|
-
return
|
|
33
|
-
|
|
32
|
+
}), f = r("assistant-toggle-preview");
|
|
33
|
+
return a ? /* @__PURE__ */ s("div", {
|
|
34
|
+
ref: f,
|
|
35
|
+
tabIndex: -1,
|
|
36
|
+
className: "absolute inset-0 z-10 flex flex-col bg-bg-surface outline-none animate-in slide-in-from-right-2 fade-in duration-200",
|
|
34
37
|
role: "region",
|
|
35
|
-
"aria-label":
|
|
38
|
+
"aria-label": a.label ?? u("preview.title", "Preview"),
|
|
36
39
|
"data-testid": "assistant-preview",
|
|
37
|
-
children: [/* @__PURE__ */
|
|
40
|
+
children: [/* @__PURE__ */ s("div", {
|
|
38
41
|
className: "flex items-center justify-between border-b border-border-default px-3 py-2",
|
|
39
|
-
children: [/* @__PURE__ */
|
|
42
|
+
children: [/* @__PURE__ */ o("span", {
|
|
40
43
|
className: "text-sm font-medium text-text-primary",
|
|
41
|
-
children:
|
|
42
|
-
}), /* @__PURE__ */
|
|
44
|
+
children: a.label ?? u("preview.title", "Preview")
|
|
45
|
+
}), /* @__PURE__ */ o("button", {
|
|
43
46
|
type: "button",
|
|
44
|
-
onClick:
|
|
47
|
+
onClick: i,
|
|
45
48
|
className: "rounded-md px-2 py-1 text-xs text-text-secondary transition-colors hover:bg-bg-sunken hover:text-text-primary focus:outline-none focus-visible:ring-2 focus-visible:ring-border-strong",
|
|
46
|
-
"aria-label":
|
|
49
|
+
"aria-label": u("preview.close", "Close preview"),
|
|
47
50
|
"data-testid": "assistant-preview-close",
|
|
48
|
-
children:
|
|
51
|
+
children: u("preview.close", "Close preview")
|
|
49
52
|
})]
|
|
50
|
-
}), /* @__PURE__ */
|
|
53
|
+
}), /* @__PURE__ */ o("div", {
|
|
51
54
|
className: "min-h-0 flex-1 overflow-y-auto",
|
|
52
|
-
children: /* @__PURE__ */
|
|
53
|
-
resetKey:
|
|
54
|
-
fallback: /* @__PURE__ */
|
|
55
|
+
children: /* @__PURE__ */ o(c, {
|
|
56
|
+
resetKey: d,
|
|
57
|
+
fallback: /* @__PURE__ */ o("p", {
|
|
55
58
|
className: "p-4 text-sm text-text-muted",
|
|
56
59
|
"data-testid": "assistant-preview-failed",
|
|
57
|
-
children:
|
|
60
|
+
children: u("preview.failed", "The preview could not be displayed.")
|
|
58
61
|
}),
|
|
59
|
-
children: /* @__PURE__ */
|
|
62
|
+
children: /* @__PURE__ */ o(l, { controller: a })
|
|
60
63
|
})
|
|
61
64
|
})]
|
|
62
65
|
}) : null;
|
|
63
66
|
};
|
|
64
67
|
//#endregion
|
|
65
|
-
export {
|
|
68
|
+
export { u as AssistantPreviewOverlay };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantConversationList.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantConversationList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AssistantConversationList.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantConversationList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAgB1C,eAAO,MAAM,yBAAyB,EAAE,EA8PvC,CAAC"}
|
|
@@ -2,151 +2,156 @@ import { useAssistantProduct as e } from "../product.js";
|
|
|
2
2
|
import { useAssistantTr as t } from "../i18n.js";
|
|
3
3
|
import { chatTurns as n } from "../voice/turnVisibility.js";
|
|
4
4
|
import { useAssistantStore as r } from "../store.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { useOverlayFocus as i } from "./useOverlayFocus.js";
|
|
6
|
+
import { useState as a } from "react";
|
|
7
|
+
import { Check as o, MessageSquare as s, PanelLeftClose as c, Pencil as l, Plus as u, Trash2 as d } from "lucide-react";
|
|
8
|
+
import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
8
9
|
//#region src/shared/assistant/ui/AssistantConversationList.tsx
|
|
9
|
-
var
|
|
10
|
-
let
|
|
11
|
-
|
|
12
|
-
},
|
|
13
|
-
let t =
|
|
14
|
-
|
|
15
|
-
},
|
|
16
|
-
|
|
17
|
-
},
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
e.stopPropagation(),
|
|
10
|
+
var h = () => {
|
|
11
|
+
let h = t(), { modes: g } = e(), { conversations: _, activeConversationId: v, processingByConversationId: y, setActiveConversation: b, setMode: x, createConversation: S, deleteConversation: C, renameConversation: w, setConversationListOpen: T } = r(), [E, D] = a(null), [O, k] = a(""), A = () => {
|
|
12
|
+
S(), T(!1);
|
|
13
|
+
}, j = (e) => {
|
|
14
|
+
let t = _.find((t) => t.id === e);
|
|
15
|
+
b(e), t && x(t.mode), T(!1);
|
|
16
|
+
}, M = (e, t) => {
|
|
17
|
+
D(e), k(t);
|
|
18
|
+
}, N = () => {
|
|
19
|
+
E && O.trim() && w(E, O.trim()), D(null);
|
|
20
|
+
}, P = (e, t) => {
|
|
21
|
+
e.stopPropagation(), C(t);
|
|
21
22
|
};
|
|
22
|
-
return /* @__PURE__ */
|
|
23
|
-
|
|
23
|
+
return /* @__PURE__ */ m("div", {
|
|
24
|
+
ref: i("assistant-open-history"),
|
|
25
|
+
tabIndex: -1,
|
|
26
|
+
role: "region",
|
|
27
|
+
"aria-label": h("conversations.title", "History"),
|
|
28
|
+
className: "absolute inset-0 z-10 flex flex-col bg-bg-surface outline-none animate-in slide-in-from-left-2 fade-in duration-200",
|
|
24
29
|
"data-testid": "conversation-list",
|
|
25
|
-
children: [/* @__PURE__ */
|
|
30
|
+
children: [/* @__PURE__ */ m("div", {
|
|
26
31
|
className: "flex items-center justify-between px-4 py-3 border-b border-border-default bg-bg-elevated",
|
|
27
|
-
children: [/* @__PURE__ */
|
|
32
|
+
children: [/* @__PURE__ */ p("span", {
|
|
28
33
|
className: "text-[13px] font-semibold text-text-primary",
|
|
29
|
-
children:
|
|
30
|
-
}), /* @__PURE__ */
|
|
34
|
+
children: h("conversations.title", "History")
|
|
35
|
+
}), /* @__PURE__ */ m("div", {
|
|
31
36
|
className: "flex items-center gap-0.5",
|
|
32
|
-
children: [/* @__PURE__ */
|
|
37
|
+
children: [/* @__PURE__ */ p("button", {
|
|
33
38
|
type: "button",
|
|
34
|
-
onClick:
|
|
39
|
+
onClick: A,
|
|
35
40
|
className: "p-1.5 rounded-lg text-text-secondary hover:bg-bg-sunken transition-colors",
|
|
36
|
-
"aria-label":
|
|
41
|
+
"aria-label": h("conversations.new", "New conversation"),
|
|
37
42
|
"data-testid": "new-conversation",
|
|
38
|
-
children: /* @__PURE__ */
|
|
39
|
-
}), /* @__PURE__ */
|
|
43
|
+
children: /* @__PURE__ */ p(u, { className: "size-4" })
|
|
44
|
+
}), /* @__PURE__ */ m("button", {
|
|
40
45
|
type: "button",
|
|
41
|
-
onClick: () =>
|
|
46
|
+
onClick: () => T(!1),
|
|
42
47
|
className: "flex items-center gap-1 px-2 py-1.5 rounded-lg text-text-secondary hover:bg-bg-sunken transition-colors",
|
|
43
|
-
"aria-label":
|
|
48
|
+
"aria-label": h("conversations.collapse", "Collapse history"),
|
|
44
49
|
"data-testid": "collapse-conversation-list",
|
|
45
|
-
children: [/* @__PURE__ */
|
|
50
|
+
children: [/* @__PURE__ */ p(c, { className: "size-4" }), /* @__PURE__ */ p("span", {
|
|
46
51
|
className: "text-[11px] font-medium",
|
|
47
|
-
children:
|
|
52
|
+
children: h("conversations.collapseLabel", "Collapse")
|
|
48
53
|
})]
|
|
49
54
|
})]
|
|
50
55
|
})]
|
|
51
|
-
}), /* @__PURE__ */
|
|
56
|
+
}), /* @__PURE__ */ p("div", {
|
|
52
57
|
className: "flex-1 overflow-y-auto",
|
|
53
|
-
children:
|
|
58
|
+
children: _.length === 0 ? /* @__PURE__ */ m("div", {
|
|
54
59
|
className: "flex flex-col items-center justify-center h-full text-center px-4",
|
|
55
60
|
children: [
|
|
56
|
-
/* @__PURE__ */
|
|
57
|
-
/* @__PURE__ */
|
|
61
|
+
/* @__PURE__ */ p(s, { className: "size-6 text-text-muted mb-2" }),
|
|
62
|
+
/* @__PURE__ */ p("p", {
|
|
58
63
|
className: "text-xs text-text-muted",
|
|
59
|
-
children:
|
|
64
|
+
children: h("conversations.empty", "No conversations yet")
|
|
60
65
|
}),
|
|
61
|
-
/* @__PURE__ */
|
|
66
|
+
/* @__PURE__ */ p("button", {
|
|
62
67
|
type: "button",
|
|
63
|
-
onClick:
|
|
68
|
+
onClick: A,
|
|
64
69
|
className: "mt-2 text-xs text-action-primary-bg hover:underline",
|
|
65
|
-
children:
|
|
70
|
+
children: h("conversations.startNew", "Start a new conversation")
|
|
66
71
|
})
|
|
67
72
|
]
|
|
68
|
-
}) : /* @__PURE__ */
|
|
73
|
+
}) : /* @__PURE__ */ p("div", {
|
|
69
74
|
className: "py-1",
|
|
70
|
-
children:
|
|
71
|
-
let t = e.id ===
|
|
72
|
-
return /* @__PURE__ */
|
|
75
|
+
children: _.map((e) => {
|
|
76
|
+
let t = e.id === v, r = e.id === E, i = g.find((t) => t.id === e.mode), a = n(e.messages), s = a[a.length - 1], c = a.length === 0 && e.messages.length > 0, u = y[e.id];
|
|
77
|
+
return /* @__PURE__ */ p("div", {
|
|
73
78
|
role: "button",
|
|
74
79
|
tabIndex: 0,
|
|
75
80
|
onKeyDown: (t) => {
|
|
76
|
-
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), !r &&
|
|
81
|
+
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), !r && j(e.id));
|
|
77
82
|
},
|
|
78
|
-
onClick: () => !r &&
|
|
83
|
+
onClick: () => !r && j(e.id),
|
|
79
84
|
className: `group px-3 py-2 cursor-pointer hover:bg-bg-elevated transition-colors ${t ? "bg-bg-elevated border-l-2 border-action-primary-bg" : ""}`,
|
|
80
|
-
children: r ? /* @__PURE__ */
|
|
85
|
+
children: r ? /* @__PURE__ */ m("div", {
|
|
81
86
|
className: "flex items-center gap-1",
|
|
82
|
-
children: [/* @__PURE__ */
|
|
83
|
-
"aria-label":
|
|
84
|
-
value:
|
|
85
|
-
onChange: (e) =>
|
|
87
|
+
children: [/* @__PURE__ */ p("input", {
|
|
88
|
+
"aria-label": h("conversations.renameLabel", "Conversation title"),
|
|
89
|
+
value: O,
|
|
90
|
+
onChange: (e) => k(e.target.value),
|
|
86
91
|
onKeyDown: (e) => {
|
|
87
|
-
e.key === "Enter" &&
|
|
92
|
+
e.key === "Enter" && N(), e.key === "Escape" && D(null);
|
|
88
93
|
},
|
|
89
94
|
className: "flex-1 text-xs bg-bg-sunken border border-border-default rounded px-2 py-1 text-text-primary focus:outline-none focus:border-action-primary-bg",
|
|
90
95
|
onClick: (e) => e.stopPropagation()
|
|
91
|
-
}), /* @__PURE__ */
|
|
96
|
+
}), /* @__PURE__ */ p("button", {
|
|
92
97
|
type: "button",
|
|
93
98
|
onClick: (e) => {
|
|
94
|
-
e.stopPropagation(),
|
|
99
|
+
e.stopPropagation(), N();
|
|
95
100
|
},
|
|
96
101
|
className: "p-1 hover:bg-bg-sunken rounded",
|
|
97
|
-
"aria-label":
|
|
98
|
-
children: /* @__PURE__ */
|
|
102
|
+
"aria-label": h("conversations.saveTitle", "Save title"),
|
|
103
|
+
children: /* @__PURE__ */ p(o, { className: "size-3 text-status-success-text" })
|
|
99
104
|
})]
|
|
100
|
-
}) : /* @__PURE__ */
|
|
101
|
-
/* @__PURE__ */
|
|
105
|
+
}) : /* @__PURE__ */ m(f, { children: [
|
|
106
|
+
/* @__PURE__ */ m("div", {
|
|
102
107
|
className: "flex items-center justify-between",
|
|
103
|
-
children: [/* @__PURE__ */
|
|
108
|
+
children: [/* @__PURE__ */ p("span", {
|
|
104
109
|
className: "text-xs font-medium text-text-primary truncate flex-1",
|
|
105
110
|
children: e.title
|
|
106
|
-
}), /* @__PURE__ */
|
|
111
|
+
}), /* @__PURE__ */ m("div", {
|
|
107
112
|
className: "hidden group-hover:flex group-focus-within:flex items-center gap-0.5 ml-1",
|
|
108
|
-
children: [/* @__PURE__ */
|
|
113
|
+
children: [/* @__PURE__ */ p("button", {
|
|
109
114
|
type: "button",
|
|
110
115
|
onClick: (t) => {
|
|
111
|
-
t.stopPropagation(),
|
|
116
|
+
t.stopPropagation(), M(e.id, e.title);
|
|
112
117
|
},
|
|
113
118
|
className: "p-0.5 hover:bg-bg-sunken rounded",
|
|
114
|
-
"aria-label":
|
|
115
|
-
children: /* @__PURE__ */
|
|
116
|
-
}), /* @__PURE__ */
|
|
119
|
+
"aria-label": h("conversations.rename", "Rename conversation"),
|
|
120
|
+
children: /* @__PURE__ */ p(l, { className: "size-3 text-text-muted" })
|
|
121
|
+
}), /* @__PURE__ */ p("button", {
|
|
117
122
|
type: "button",
|
|
118
|
-
onClick: (t) =>
|
|
123
|
+
onClick: (t) => P(t, e.id),
|
|
119
124
|
className: "p-0.5 hover:bg-bg-sunken rounded",
|
|
120
|
-
"aria-label":
|
|
125
|
+
"aria-label": h("conversations.delete", "Delete conversation"),
|
|
121
126
|
"data-testid": "delete-conversation",
|
|
122
|
-
children: /* @__PURE__ */
|
|
127
|
+
children: /* @__PURE__ */ p(d, { className: "size-3 text-status-error-text" })
|
|
123
128
|
})]
|
|
124
129
|
})]
|
|
125
130
|
}),
|
|
126
|
-
/* @__PURE__ */
|
|
131
|
+
/* @__PURE__ */ m("div", {
|
|
127
132
|
className: "flex items-center gap-1.5 mt-0.5",
|
|
128
133
|
children: [
|
|
129
|
-
/* @__PURE__ */
|
|
134
|
+
/* @__PURE__ */ p("span", {
|
|
130
135
|
className: "text-[10px] text-text-muted px-1 py-0.5 bg-bg-sunken rounded",
|
|
131
136
|
children: i?.label ?? e.mode
|
|
132
137
|
}),
|
|
133
|
-
/* @__PURE__ */
|
|
138
|
+
/* @__PURE__ */ m("span", {
|
|
134
139
|
className: "text-[10px] text-text-muted",
|
|
135
|
-
children: [
|
|
140
|
+
children: [a.length, " msgs"]
|
|
136
141
|
}),
|
|
137
|
-
|
|
142
|
+
u && u.status !== "idle" && /* @__PURE__ */ p("span", {
|
|
138
143
|
className: "text-[10px] text-action-primary-bg px-1 py-0.5 bg-bg-sunken rounded",
|
|
139
|
-
children:
|
|
144
|
+
children: u.status
|
|
140
145
|
})
|
|
141
146
|
]
|
|
142
147
|
}),
|
|
143
|
-
s && /* @__PURE__ */
|
|
148
|
+
s && /* @__PURE__ */ p("p", {
|
|
144
149
|
className: "text-[10px] text-text-muted truncate mt-0.5",
|
|
145
150
|
children: s.content.slice(0, 60)
|
|
146
151
|
}),
|
|
147
|
-
|
|
152
|
+
c && /* @__PURE__ */ p("p", {
|
|
148
153
|
className: "text-[10px] text-text-muted truncate mt-0.5",
|
|
149
|
-
children:
|
|
154
|
+
children: h("conversationList.voiceOnly", "Spoken conversation")
|
|
150
155
|
})
|
|
151
156
|
] })
|
|
152
157
|
}, e.id);
|
|
@@ -156,4 +161,4 @@ var m = () => {
|
|
|
156
161
|
});
|
|
157
162
|
};
|
|
158
163
|
//#endregion
|
|
159
|
-
export {
|
|
164
|
+
export { h as AssistantConversationList };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOverlayFocus.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/useOverlayFocus.ts"],"names":[],"mappings":"AAmDA,wBAAgB,eAAe,CAAC,CAAC,SAAS,WAAW;AACnD,8EAA8E;AAC9E,iBAAiB,CAAC,EAAE,MAAM,uCAmD3B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useEffect as e, useLayoutEffect as t, useRef as n } from "react";
|
|
2
|
+
//#region src/shared/assistant/ui/useOverlayFocus.ts
|
|
3
|
+
var r = "[data-testid=\"ai-assistant-panel\"]", i = typeof document > "u" ? e : t;
|
|
4
|
+
function a(e) {
|
|
5
|
+
let t = n(null);
|
|
6
|
+
return i(() => {
|
|
7
|
+
let n = t.current, i = n?.closest(r) ?? null;
|
|
8
|
+
return n?.focus({ preventScroll: !0 }), () => {
|
|
9
|
+
let t = document.activeElement;
|
|
10
|
+
if (!(n && (n === t || n.contains(t)))) return;
|
|
11
|
+
let r = e ? i?.querySelector(`[data-testid="${e}"]`) : null;
|
|
12
|
+
(r?.isConnected ? r : i)?.focus({ preventScroll: !0 }), i && (document.activeElement === i || i.contains(document.activeElement)) || i?.focus({ preventScroll: !0 });
|
|
13
|
+
};
|
|
14
|
+
}, [e]), t;
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { a as useOverlayFocus };
|
package/dist/shared-assistant.js
CHANGED
|
@@ -62,40 +62,41 @@ import { AssistantAttachmentChips as ai } from "./shared/assistant/ui/composer/A
|
|
|
62
62
|
import { AssistantPreviewProvider as oi, useAssistantPreview as si } from "./shared/assistant/preview/context.js";
|
|
63
63
|
import { IDLE_PREVIEW_STATE as ci, nextPreviewEvents as li } from "./shared/assistant/preview/previewTransitions.js";
|
|
64
64
|
import { NO_PANEL_OVERLAY as ui, escapeDismisses as di, nextPanelOverlays as fi } from "./shared/assistant/ui/panelOverlays.js";
|
|
65
|
-
import {
|
|
66
|
-
import {
|
|
67
|
-
import {
|
|
68
|
-
import {
|
|
69
|
-
import {
|
|
70
|
-
import {
|
|
71
|
-
import {
|
|
72
|
-
import {
|
|
73
|
-
import {
|
|
74
|
-
import {
|
|
75
|
-
import {
|
|
76
|
-
import {
|
|
77
|
-
import {
|
|
78
|
-
import {
|
|
79
|
-
import {
|
|
80
|
-
import {
|
|
81
|
-
import {
|
|
82
|
-
import {
|
|
83
|
-
import {
|
|
84
|
-
import {
|
|
85
|
-
import {
|
|
86
|
-
import {
|
|
87
|
-
import {
|
|
88
|
-
import {
|
|
89
|
-
import {
|
|
90
|
-
import {
|
|
91
|
-
import {
|
|
92
|
-
import {
|
|
93
|
-
import {
|
|
94
|
-
import {
|
|
95
|
-
import {
|
|
96
|
-
import {
|
|
97
|
-
import {
|
|
98
|
-
import {
|
|
99
|
-
import {
|
|
100
|
-
import {
|
|
101
|
-
|
|
65
|
+
import { useOverlayFocus as pi } from "./shared/assistant/ui/useOverlayFocus.js";
|
|
66
|
+
import { useAssistantPreviewBridge as mi } from "./shared/assistant/preview/useAssistantPreviewBridge.js";
|
|
67
|
+
import { AssistantPreviewOverlay as hi } from "./shared/assistant/preview/AssistantPreviewOverlay.js";
|
|
68
|
+
import { AssistantLanguageSelector as gi, FOLLOW_APP_LOCALE as _i } from "./shared/assistant/ui/composer/AssistantLanguageSelector.js";
|
|
69
|
+
import { ASSISTANT_MODE_META as vi, AssistantModeSelector as yi, nextModeIndex as bi } from "./shared/assistant/ui/composer/AssistantModeSelector.js";
|
|
70
|
+
import { AssistantVoiceButton as xi } from "./shared/assistant/ui/composer/AssistantVoiceButton.js";
|
|
71
|
+
import { AUTO_VOICE as Si, AssistantVoiceSelector as Ci } from "./shared/assistant/ui/composer/AssistantVoiceSelector.js";
|
|
72
|
+
import { AssistantVoiceOrb as wi } from "./shared/assistant/ui/voice/AssistantVoiceOrb.js";
|
|
73
|
+
import { AssistantVoiceSessionButton as Ti } from "./shared/assistant/ui/voice/AssistantVoiceSessionButton.js";
|
|
74
|
+
import { CAPTION_SCROLL_ATTR as Ei, VoiceCaption as Di } from "./shared/assistant/ui/voice/VoiceCaption.js";
|
|
75
|
+
import { VoiceConversationView as Oi } from "./shared/assistant/ui/voice/VoiceConversationView.js";
|
|
76
|
+
import { VoiceWaveform as ki } from "./shared/assistant/ui/voice/VoiceWaveform.js";
|
|
77
|
+
import { VoiceMiniController as Ai } from "./shared/assistant/ui/voice/VoiceMiniController.js";
|
|
78
|
+
import { VoiceStage as ji } from "./shared/assistant/ui/voice/VoiceStage.js";
|
|
79
|
+
import { VoiceTranscriptDrawer as Mi } from "./shared/assistant/ui/voice/VoiceTranscriptDrawer.js";
|
|
80
|
+
import { downloadFile as Ni, exportConversation as Pi } from "./shared/assistant/exportConversation.js";
|
|
81
|
+
import { AssistantMoreMenu as Fi } from "./shared/assistant/ui/AssistantMoreMenu.js";
|
|
82
|
+
import { AssistantHeader as Ii } from "./shared/assistant/ui/AssistantHeader.js";
|
|
83
|
+
import { AssistantConversationList as Li } from "./shared/assistant/ui/AssistantConversationList.js";
|
|
84
|
+
import { AssistantEmptyState as Ri } from "./shared/assistant/ui/AssistantEmptyState.js";
|
|
85
|
+
import { AssistantMessageItem as zi } from "./shared/assistant/ui/AssistantMessageItem.js";
|
|
86
|
+
import { AssistantMessageList as Bi } from "./shared/assistant/ui/AssistantMessageList.js";
|
|
87
|
+
import { AssistantVoiceSession as Vi } from "./shared/assistant/ui/voice/AssistantVoiceSession.js";
|
|
88
|
+
import { useAssistantApiAccess as Hi } from "./shared/assistant/useAssistantApiAccess.js";
|
|
89
|
+
import { useConversationTurns as Ui } from "./shared/assistant/useConversationTurns.js";
|
|
90
|
+
import { isMultimodalBodyRejection as Wi, isRecoverableAssistantError as Gi } from "./shared/assistant/transportErrors.js";
|
|
91
|
+
import { aiCreditsUpdatedEventName as Ki, dispatchAssistantQuotaExhausted as qi, notifyAiCreditsUpdated as Ji } from "./shared/assistant/aiCredits.js";
|
|
92
|
+
import { useWorkspaceWriteAccess as Yi } from "./shared/assistant/useWorkspaceWriteAccess.js";
|
|
93
|
+
import { extractDocumentText as Xi } from "./shared/assistant/documentExtract.js";
|
|
94
|
+
import { useAssistantAttachments as Zi } from "./shared/assistant/useAssistantAttachments.js";
|
|
95
|
+
import { AssistantComposer as Qi } from "./shared/assistant/ui/composer/AssistantComposer.js";
|
|
96
|
+
import { isProdRuntime as $i } from "./shared/assistant/env.js";
|
|
97
|
+
import { useAssistantHeartbeat as ea } from "./shared/assistant/useAssistantHeartbeat.js";
|
|
98
|
+
import { useAssistantKeyboardShortcuts as ta } from "./shared/assistant/useAssistantKeyboardShortcuts.js";
|
|
99
|
+
import { AssistantApiCallsConsentDialog as na } from "./shared/assistant/ui/AssistantApiCallsConsentDialog.js";
|
|
100
|
+
import { AssistantChatArea as ra } from "./shared/assistant/ui/AssistantChatArea.js";
|
|
101
|
+
import { AIAssistantPanel as ia } from "./shared/assistant/ui/AIAssistantPanel.js";
|
|
102
|
+
export { ia as AIAssistantPanel, L as ASSISTANT_API_AUTH_STRATEGY, sn as ASSISTANT_LANGUAGES, vi as ASSISTANT_MODE_META, Kn as ATTACHMENT_ACCEPT, Hr as ATTACHMENT_SOURCES, Si as AUTO_VOICE, na as AssistantApiCallsConsentDialog, ii as AssistantAttachmentButton, ai as AssistantAttachmentChips, Jr as AssistantAutoSpeakToggle, ra as AssistantChatArea, Qi as AssistantComposer, ri as AssistantConnectSourceItem, ti as AssistantConnectSourceProvider, Li as AssistantConversationList, Ri as AssistantEmptyState, Ii as AssistantHeader, s as AssistantI18nProvider, Zr as AssistantLanguageMenu, gi as AssistantLanguageSelector, f as AssistantMarkdownImage, h as AssistantMarkdownRenderer, Yr as AssistantMessageAttachments, zi as AssistantMessageItem, Bi as AssistantMessageList, yi as AssistantModeSelector, Fi as AssistantMoreMenu, g as AssistantNavigateProvider, Xr as AssistantPendingWriteCard, hi as AssistantPreviewOverlay, oi as AssistantPreviewProvider, t as AssistantProductProvider, Qr as AssistantReplyLanguageSelector, _e as AssistantRuntimeManager, $r as AssistantSpeakButton, Ir as AssistantSpeechProvider, ei as AssistantSpokenTurnsNotice, Pr as AssistantToolActivity, xi as AssistantVoiceButton, wi as AssistantVoiceOrb, Ci as AssistantVoiceSelector, Vi as AssistantVoiceSession, Ti as AssistantVoiceSessionButton, qn as AttachmentRejectedError, En as BOILERPLATE_PAGE_SHARE, Ei as CAPTION_SCROLL_ATTR, O as CHECK_AI_CREDITS, k as CREATE_SANDBOX, zt as DEFAULT_SPEAKABLE_LABELS, cn as DEFAULT_SPEECH_RATE, ft as ENDPOINT_GRACE_MS, A as EXTEND_SANDBOX_TTL, _i as FOLLOW_APP_LOCALE, j as GET_ACTIVE_SANDBOXES, M as GET_SANDBOX, He as HOSTED_TTS_MAX_CHARS, Re as HOSTED_TTS_TIER, ze as HOSTED_VOICES, yn as IDLE_PLAYBACK, ci as IDLE_PREVIEW_STATE, pt as INITIAL_SESSION, Jn as INLINE_IMAGE_MAX_DIM, Yn as INLINE_IMAGE_QUALITY, mt as INTERRUPT_MAX_MS, ht as INTERRUPT_MIN_MS, Xn as MAX_ATTACHMENTS, Dn as MAX_BOILERPLATE_LINE_CHARS, On as MAX_EXTRACTED_CHARS, Zn as MAX_FILE_BYTES, Qn as MAX_INLINE_CHARS_PER_FILE, $n as MAX_INLINE_CHARS_TOTAL, wn as MAX_INLINE_IMAGE_BASE64_BYTES, er as MAX_INLINE_IMAGE_BASE64_CHARS, tr as MAX_INLINE_IMAGE_PARTS, nr as MAX_INLINE_TURN_BODY_BYTES, kn as MAX_PDF_PAGES_SCANNED, Tn as MAX_REQUEST_BODY_BYTES, Bt as MAX_SPEAKABLE_CHARS, Vt as MAX_SPOKEN_TABLE_ROWS, rr as MAX_TURN_BODY_BYTES, Zt as MINI_CAPTION_BUDGET, An as MIN_PAGE_TEXT_CHARS, jn as MIN_TEXT_PAGE_SHARE, ui as NO_PANEL_OVERLAY, Dr as PHRASE_ROTATE_MS, $t as POLL_FAST_MS, en as POLL_FAST_UNTIL_MS, tn as POLL_SLOW_MS, nn as POLL_STEADY_MS, rn as POLL_STEADY_UNTIL_MS, Yt as PREVIEW_LANGUAGES, ir as PROMPT_ENVELOPE_RESERVE_BYTES, N as PROXY_SANDBOX_REQUEST, P as REPORT_AI_TOKEN_USAGE, Gr as SANDBOX_READY_TTL_MS, gt as SILENCE_SUBMIT_MS, Ue as SPEAKING_RATE_MAX, We as SPEAKING_RATE_MAX_STREAMING, Ge as SPEAKING_RATE_MAX_SYNC, Ke as SPEAKING_RATE_MIN, Ht as SPEECH_CHUNK_CHARS, Ut as SPEECH_CHUNK_CJK_CHARS, wt as SPEECH_LANG, hn as SPOKEN_LABEL_LANGUAGES, Or as STAGE_COPY, F as STOP_ASSISTANT_SANDBOX, kr as THINKING_PHRASES, ar as TURN_BODY_HEADROOM_BYTES, Tt as VOICE_LIST_TIMEOUT_MS, Di as VoiceCaption, Oi as VoiceConversationView, Ai as VoiceMiniController, ji as VoiceStage, Mi as VoiceTranscriptDrawer, ki as VoiceWaveform, I as WAIT_FOR_SANDBOX_RUNNING, q as abortAssistantTurn, Ki as aiCreditsUpdatedEventName, J as approvePendingWrite, _ as assistantRoutePath, c as assistantTranslationKey, v as assistantUrlTransform, Ur as availableAttachmentSources, qe as base64ToBytes, y as browserShouldHandle, Le as browserSpeechEngine, Y as buildAssistantSandboxEnv, or as buildAttachmentPromptBlock, It as buildContinuedFromVoiceNote, ve as buildProgress, sr as buildPromptParts, X as buildPromptRequestBody, cr as buildPromptWithAttachments, Je as buildRequest, E as buildSandboxContextInput, Lt as buildVoiceTranscriptMarkdown, Ae as chatTurns, Z as checkAssistantAiCredits, Wt as chunkForSpeech, b as classifyAssistantHref, lr as classifyAttachment, Ye as classifyHttpFailure, S as classifyQuotaError, Mn as columnLetterToIndex, tt as configureSpeechEngine, Gt as containsCjk, d as copyToClipboard, ur as countInlineImageCandidates, dr as countInlinedImageParts, Q as createAssistantSandbox, $ as createAssistantSession, $e as createHostedTtsEngine, Kr as createReadinessTracker, et as createRoutingSpeechEngine, Oe as createSandboxAssistantTransport, nt as createSpeechEngines, Xe as decodeAudioResponse, Nn as decodeXmlEntities, C as describeQuotaError, fr as detectDocumentFormat, _n as detectScriptLocale, Wr as deviceHasCamera, qi as dispatchAssistantQuotaExhausted, Pn as docxXmlToText, ee as downloadAssistantArtifact, Ni as downloadFile, di as escapeDismisses, pr as estimateTurnBodyBytes, D as executeSandboxGraphQL, Pi as exportConversation, te as extendAssistantSandboxTTL, Xi as extractDocumentText, ln as findAssistantLanguage, ne as findExistingSandbox, pn as findPendingWrite, Fn as fitPdfPages, mr as formatBytes, In as formatPageRanges, zr as getActorId, re as getAssistantArtifacts, ye as getAssistantMedia, ie as getAssistantMessages, ae as getAssistantSession, oe as getAssistantStreamAccess, be as getAssistantText, hr as getAttachmentSendBlocker, U as getCapability, gr as getExtension, R as getImageForMode, z as getImageTagForMode, Br as getOrganizationId, xe as getRawMessageCreatedAt, B as getResourcesForMode, V as getSandboxImageRegistry, _r as getSendableAttachments, rt as getSpeechEngine, Se as getToolProgress, Vr as getWorkspaceId, je as groupBySession, Me as groupConsecutiveBySession, vr as hasAttachmentWorkInFlight, Be as hostedLocaleFor, Ve as hostedSupportsLanguage, p as imageHostLabel, _t as isCapturing, vt as isEcho, Ln as isMostlyImagePages, Wi as isMultimodalBodyRejection, $i as isProdRuntime, w as isQuotaExhaustedError, Ce as isReapedSandboxConnectionError, qr as isRecentlyVerified, we as isRecoverable, Gi as isRecoverableAssistantError, m as isRemoteImageSrc, bn as isSpeakingMessage, Et as isSpeechBlocked, Ar as isStageCopy, yt as isSubmittable, wr as isTurnInFlight, W as isUnknownFieldError, Ne as isVoiceTurn, Rn as joinSheets, Dt as languageDisplayName, Te as mapSessionToHistory, G as markSupported, K as markUnsupported, Ee as mergeMessagesById, ot as micIsInterrupt, se as modeRequiresConfirmWrites, bi as nextModeIndex, fi as nextPanelOverlays, li as nextPreviewEvents, Ot as normalizeLangTag, Ji as notifyAiCreditsUpdated, bt as orbMode, zn as pageMarker, mn as parseConfirmationRefusal, yr as parseDataUrl, Bn as parseSharedStrings, Fr as parseToolActivity, Vn as parseWorkbookSheets, Hn as pdfTextItemsToPage, Tr as planAbandonedTurn, xt as planReplyConsumption, Er as planTurnAbort, an as pollDelayMs, kt as primaryLanguageSubtag, xn as publishedChunks, T as quotaExhaustedEventName, it as readSpeechEngineConfig, ce as releaseSupersededAssistantSandboxes, dn as replyFollowsInput, le as reportAssistantAiTokenUsage, Sn as requiresCancel, at as resetSpeechEngine, un as resolveAssistantLanguage, fn as resolveLanguagePair, n as resolveModeConfig, H as resolveSandboxAssistantMode, vn as resolveSpeechLocale, De as sanitize, ue as selectExistingAssistantSandbox, de as selectSupersededAssistantSandboxes, At as selectVoiceForLocale, fe as sendAssistantPromptAsync, pe as sendHeartbeat, Un as sheetXmlToRows, Ze as shouldDisableEngine, Qt as showPreviousChunk, st as showsAssistantCaption, ct as showsUserCaption, Kt as speakableEmail, jt as speechGate, gn as speechLabelsFor, Mt as speechLangForLocale, Cn as speechPlaybackReducer, Qe as splitForVendor, qt as splitTableRow, St as spokenSoFar, jr as stageText, Mr as statusStageCopy, me as stopReapedAssistantSandbox, Wn as summarisePageText, Nr as thinkingPhrase, on as toCaptionText, br as toMessageAttachment, Jt as toSpeakableText, xr as truncateForInline, Gn as truncatePagesForInline, Hi as useAssistantApiAccess, Zi as useAssistantAttachments, ni as useAssistantConnectSource, ea as useAssistantHeartbeat, l as useAssistantI18nNamespace, ta as useAssistantKeyboardShortcuts, x as useAssistantNavigate, r as useAssistantPageLabel, si as useAssistantPreview, mi as useAssistantPreviewBridge, i as useAssistantProduct, a as useAssistantProductOrNull, Lr as useAssistantSpeech, o as useAssistantStorageFolders, Cr as useAssistantStore, u as useAssistantTr, Ui as useConversationTurns, pi as useOverlayFocus, ke as useSandboxAssistantTransport, e as useVoiceInput, Rr as useVoiceSession, Yi as useWorkspaceWriteAccess, Sr as validateFile, Nt as voiceAvailability, Pe as voiceMarker, Xt as voicePreviewText, Pt as voiceQualityRank, Fe as voiceSessionIdOf, Ct as voiceSessionReducer, lt as voiceStageState, Rt as voiceTranscriptFilename, Ie as voiceTurnsOnly, Ft as voicesForLocale, he as waitForAssistantServiceReady, ge as waitForSandboxRunning, ut as waveformIsActive, dt as waveformIsSettled };
|