@voicethere/client 0.8.1 → 0.8.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/CHANGELOG.md +14 -0
- package/README.md +18 -0
- package/dist/embed/config.d.ts +30 -1
- package/dist/embed/config.d.ts.map +1 -1
- package/dist/embed/config.js +165 -3
- package/dist/embed/config.js.map +1 -1
- package/dist/embed/css.d.ts +23 -0
- package/dist/embed/css.d.ts.map +1 -0
- package/dist/embed/css.js +43 -0
- package/dist/embed/css.js.map +1 -0
- package/dist/embed/index.d.ts +7 -3
- package/dist/embed/index.d.ts.map +1 -1
- package/dist/embed/index.js +284 -56
- package/dist/embed/index.js.map +1 -1
- package/dist/embed/presets.d.ts +8 -4
- package/dist/embed/presets.d.ts.map +1 -1
- package/dist/embed/presets.js +76 -12
- package/dist/embed/presets.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## 0.8.2 — 2026-09-19
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- **Embed positions** — `position` supports corners, edges, center anchors, and `custom` with `positionOffset` (CSS lengths).
|
|
10
|
+
- **Embed typography and chat chrome** — `theme.fontFamily`, `theme.fontSize`, and `theme.chat` for incoming/outgoing bubble fonts, colors, panel size, header/input colors.
|
|
11
|
+
- **Custom CSS** — `customCss` (max 16 KiB) injects a scoped `<style data-vt-widget-custom>` via `textContent`.
|
|
12
|
+
- **Stable hooks** — exported `WIDGET_CSS_CLASSES` and `WIDGET_CSS_VARIABLES`; `updateConfig()` reapplies appearance without tearing down an active session.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- **Embed panel UX** — opening the chat hides the launcher pill; panel header includes a close control (`data-vt-open` on the root).
|
|
17
|
+
- **Embed transcript** — message bubbles replace the debug `<pre>` log; `onControlMessage` appends incoming agent/chat text.
|
|
18
|
+
|
|
5
19
|
## 0.8.1 — 2026-09-01
|
|
6
20
|
|
|
7
21
|
### Fixed
|
package/README.md
CHANGED
|
@@ -158,3 +158,21 @@ setRootConnectionErrorHandler((error) => {
|
|
|
158
158
|
|
|
159
159
|
`onSessionError` still runs for per-session UI. Details:
|
|
160
160
|
[node-webrtc-rust `docs/connection-errors.md`](https://github.com/akirilyuk/node-webrtc-rust/blob/main/docs/connection-errors.md).
|
|
161
|
+
|
|
162
|
+
## Embed widget customization
|
|
163
|
+
|
|
164
|
+
Import from `@voicethere/client/embed`. CDN JSON (`VoiceThereWidgetConfigV1`) and inline options support `preset`, `position` (`bottom-right`, `top-left`, `custom`, …), `positionOffset`, `theme` (including `theme.chat` bubble fonts/colors), and `customCss`. Call `widget.updateConfig({ … })` to restyle without remounting during a live session.
|
|
165
|
+
|
|
166
|
+
Opening the panel hides the launcher; use `widget.close()` or the header close control to show it again.
|
|
167
|
+
|
|
168
|
+
| Class | Role |
|
|
169
|
+
| -------------------------------------------------------------- | ------------------------------------------------------ |
|
|
170
|
+
| `vt-widget` | Root fixed container; CSS variables below are set here |
|
|
171
|
+
| `vt-widget-launcher` | Closed-state pill button |
|
|
172
|
+
| `vt-widget-panel` | Open chat panel |
|
|
173
|
+
| `vt-widget-header` / `vt-widget-close` | Panel title row and close button |
|
|
174
|
+
| `vt-widget-transcript` | Scrollable message list |
|
|
175
|
+
| `vt-widget-msg--incoming` / `--outgoing` / `--system` | Message bubbles |
|
|
176
|
+
| `vt-widget-composer` / `vt-widget-input` / `vt-widget-connect` | Message input and Connect |
|
|
177
|
+
|
|
178
|
+
CSS variables on `.vt-widget` include `--vt-color-primary`, `--vt-color-bg`, `--vt-color-text`, `--vt-font-ui`, `--vt-font-incoming`, `--vt-font-outgoing`, `--vt-bubble-incoming-bg`, `--vt-bubble-outgoing-bg`, `--vt-panel-width`, `--vt-panel-height`, and `--vt-panel-radius`. Export constants: `WIDGET_CSS_CLASSES`, `WIDGET_CSS_VARIABLES`.
|
package/dist/embed/config.d.ts
CHANGED
|
@@ -1,14 +1,40 @@
|
|
|
1
1
|
import type { BrowserSessionMode } from "../browser/browser-session.js";
|
|
2
|
+
export type WidgetMessageRoleTheme = {
|
|
3
|
+
fontFamily?: string;
|
|
4
|
+
fontSize?: string;
|
|
5
|
+
color?: string;
|
|
6
|
+
bubble?: string;
|
|
7
|
+
};
|
|
8
|
+
export type VoiceThereWidgetChatTheme = {
|
|
9
|
+
incoming?: WidgetMessageRoleTheme;
|
|
10
|
+
outgoing?: WidgetMessageRoleTheme;
|
|
11
|
+
headerBackground?: string;
|
|
12
|
+
inputBackground?: string;
|
|
13
|
+
inputColor?: string;
|
|
14
|
+
panelWidth?: string;
|
|
15
|
+
panelHeight?: string;
|
|
16
|
+
panelRadius?: string;
|
|
17
|
+
};
|
|
2
18
|
export type VoiceThereWidgetTheme = {
|
|
3
19
|
primary?: string;
|
|
4
20
|
background?: string;
|
|
5
21
|
text?: string;
|
|
22
|
+
fontFamily?: string;
|
|
23
|
+
fontSize?: string;
|
|
24
|
+
chat?: VoiceThereWidgetChatTheme;
|
|
6
25
|
};
|
|
7
26
|
export declare const WIDGET_PRESET_IDS: readonly ["pill-dark", "pill-light", "rounded-card", "minimal-bar", "voice-orb"];
|
|
8
27
|
export type WidgetPresetId = (typeof WIDGET_PRESET_IDS)[number];
|
|
9
28
|
export declare function isWidgetPresetId(value: string): value is WidgetPresetId;
|
|
10
29
|
export declare const WIDGET_CONFIG_VERSION: 1;
|
|
11
|
-
export
|
|
30
|
+
export declare const WIDGET_POSITIONS: readonly ["bottom-right", "bottom-left", "top-right", "top-left", "bottom-center", "top-center", "center-right", "center-left", "custom"];
|
|
31
|
+
export type WidgetPosition = (typeof WIDGET_POSITIONS)[number];
|
|
32
|
+
export type WidgetPositionOffset = {
|
|
33
|
+
top?: string;
|
|
34
|
+
right?: string;
|
|
35
|
+
bottom?: string;
|
|
36
|
+
left?: string;
|
|
37
|
+
};
|
|
12
38
|
export type WidgetConfigMode = "chat" | "voice";
|
|
13
39
|
export type VoiceThereWidgetConfigV1 = {
|
|
14
40
|
v: typeof WIDGET_CONFIG_VERSION;
|
|
@@ -21,11 +47,14 @@ export type VoiceThereWidgetConfigV1 = {
|
|
|
21
47
|
launcherLabel?: string;
|
|
22
48
|
greeting?: string;
|
|
23
49
|
position?: WidgetPosition;
|
|
50
|
+
positionOffset?: WidgetPositionOffset;
|
|
51
|
+
customCss?: string;
|
|
24
52
|
mode?: WidgetConfigMode;
|
|
25
53
|
};
|
|
26
54
|
export declare class WidgetConfigError extends Error {
|
|
27
55
|
constructor(message: string);
|
|
28
56
|
}
|
|
57
|
+
export declare function isValidCssLength(value: string): boolean;
|
|
29
58
|
export declare function parseVoiceThereWidgetConfigV1(input: unknown): VoiceThereWidgetConfigV1;
|
|
30
59
|
export declare function parseVoiceThereWidgetConfigJson(json: string): VoiceThereWidgetConfigV1;
|
|
31
60
|
export declare function widgetConfigModeToSessionMode(mode: WidgetConfigMode | undefined): BrowserSessionMode | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/embed/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/embed/config.ts"],"names":[],"mappings":"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"}
|
package/dist/embed/config.js
CHANGED
|
@@ -10,6 +10,17 @@ export function isWidgetPresetId(value) {
|
|
|
10
10
|
return WIDGET_PRESET_IDS.includes(value);
|
|
11
11
|
}
|
|
12
12
|
export const WIDGET_CONFIG_VERSION = 1;
|
|
13
|
+
export const WIDGET_POSITIONS = [
|
|
14
|
+
"bottom-right",
|
|
15
|
+
"bottom-left",
|
|
16
|
+
"top-right",
|
|
17
|
+
"top-left",
|
|
18
|
+
"bottom-center",
|
|
19
|
+
"top-center",
|
|
20
|
+
"center-right",
|
|
21
|
+
"center-left",
|
|
22
|
+
"custom",
|
|
23
|
+
];
|
|
13
24
|
const ALLOWED_TOP_LEVEL_KEYS = new Set([
|
|
14
25
|
"v",
|
|
15
26
|
"publicId",
|
|
@@ -21,9 +32,35 @@ const ALLOWED_TOP_LEVEL_KEYS = new Set([
|
|
|
21
32
|
"launcherLabel",
|
|
22
33
|
"greeting",
|
|
23
34
|
"position",
|
|
35
|
+
"positionOffset",
|
|
36
|
+
"customCss",
|
|
24
37
|
"mode",
|
|
25
38
|
]);
|
|
26
|
-
const ALLOWED_THEME_KEYS = new Set([
|
|
39
|
+
const ALLOWED_THEME_KEYS = new Set([
|
|
40
|
+
"primary",
|
|
41
|
+
"background",
|
|
42
|
+
"text",
|
|
43
|
+
"fontFamily",
|
|
44
|
+
"fontSize",
|
|
45
|
+
"chat",
|
|
46
|
+
]);
|
|
47
|
+
const ALLOWED_CHAT_KEYS = new Set([
|
|
48
|
+
"incoming",
|
|
49
|
+
"outgoing",
|
|
50
|
+
"headerBackground",
|
|
51
|
+
"inputBackground",
|
|
52
|
+
"inputColor",
|
|
53
|
+
"panelWidth",
|
|
54
|
+
"panelHeight",
|
|
55
|
+
"panelRadius",
|
|
56
|
+
]);
|
|
57
|
+
const ALLOWED_MESSAGE_ROLE_KEYS = new Set([
|
|
58
|
+
"fontFamily",
|
|
59
|
+
"fontSize",
|
|
60
|
+
"color",
|
|
61
|
+
"bubble",
|
|
62
|
+
]);
|
|
63
|
+
const ALLOWED_OFFSET_KEYS = new Set(["top", "right", "bottom", "left"]);
|
|
27
64
|
const SECRET_LIKE_KEYS = new Set([
|
|
28
65
|
"clientkey",
|
|
29
66
|
"authorization",
|
|
@@ -39,13 +76,20 @@ const MAX_API_BASE_LEN = 512;
|
|
|
39
76
|
const MAX_PUBLIC_ID_LEN = 64;
|
|
40
77
|
const MAX_LAUNCHER_LABEL_LEN = 64;
|
|
41
78
|
const MAX_GREETING_LEN = 500;
|
|
79
|
+
const MAX_FONT_FAMILY_LEN = 128;
|
|
80
|
+
const MAX_CUSTOM_CSS_LEN = 16384;
|
|
81
|
+
const MAX_CSS_LENGTH_LEN = 24;
|
|
42
82
|
const HEX_COLOR_RE = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;
|
|
83
|
+
const CSS_LENGTH_RE = /^(?:0|auto|[-+]?\d+(?:\.\d+)?(?:px|%|rem|em|vh|vw))$/;
|
|
43
84
|
export class WidgetConfigError extends Error {
|
|
44
85
|
constructor(message) {
|
|
45
86
|
super(message);
|
|
46
87
|
this.name = "WidgetConfigError";
|
|
47
88
|
}
|
|
48
89
|
}
|
|
90
|
+
export function isValidCssLength(value) {
|
|
91
|
+
return value.length <= MAX_CSS_LENGTH_LEN && CSS_LENGTH_RE.test(value);
|
|
92
|
+
}
|
|
49
93
|
function isPlainObject(value) {
|
|
50
94
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
51
95
|
}
|
|
@@ -89,6 +133,78 @@ function parseHexColor(value, field) {
|
|
|
89
133
|
}
|
|
90
134
|
return color;
|
|
91
135
|
}
|
|
136
|
+
function parseCssLength(value, field) {
|
|
137
|
+
const len = parseString(value, field, MAX_CSS_LENGTH_LEN);
|
|
138
|
+
if (!isValidCssLength(len)) {
|
|
139
|
+
throw new WidgetConfigError(`${field} must be a CSS length (0, auto, or number with px|%|rem|em|vh|vw)`);
|
|
140
|
+
}
|
|
141
|
+
return len;
|
|
142
|
+
}
|
|
143
|
+
function parseFontFamily(value, field) {
|
|
144
|
+
const family = parseString(value, field, MAX_FONT_FAMILY_LEN);
|
|
145
|
+
if (family.includes("<") || family.includes(">")) {
|
|
146
|
+
throw new WidgetConfigError(`${field} must not contain < or >`);
|
|
147
|
+
}
|
|
148
|
+
return family;
|
|
149
|
+
}
|
|
150
|
+
function parseMessageRoleTheme(value, path) {
|
|
151
|
+
if (value === undefined)
|
|
152
|
+
return undefined;
|
|
153
|
+
if (!isPlainObject(value)) {
|
|
154
|
+
throw new WidgetConfigError(`${path} must be an object`);
|
|
155
|
+
}
|
|
156
|
+
assertNoSecretLikeKeys(value, path);
|
|
157
|
+
rejectUnknownKeys(value, ALLOWED_MESSAGE_ROLE_KEYS, path);
|
|
158
|
+
const role = {};
|
|
159
|
+
if (value.fontFamily !== undefined) {
|
|
160
|
+
role.fontFamily = parseFontFamily(value.fontFamily, `${path}.fontFamily`);
|
|
161
|
+
}
|
|
162
|
+
if (value.fontSize !== undefined) {
|
|
163
|
+
role.fontSize = parseCssLength(value.fontSize, `${path}.fontSize`);
|
|
164
|
+
}
|
|
165
|
+
if (value.color !== undefined) {
|
|
166
|
+
role.color = parseHexColor(value.color, `${path}.color`);
|
|
167
|
+
}
|
|
168
|
+
if (value.bubble !== undefined) {
|
|
169
|
+
role.bubble = parseHexColor(value.bubble, `${path}.bubble`);
|
|
170
|
+
}
|
|
171
|
+
return role;
|
|
172
|
+
}
|
|
173
|
+
function parseChatTheme(value) {
|
|
174
|
+
if (value === undefined)
|
|
175
|
+
return undefined;
|
|
176
|
+
if (!isPlainObject(value)) {
|
|
177
|
+
throw new WidgetConfigError("theme.chat must be an object");
|
|
178
|
+
}
|
|
179
|
+
assertNoSecretLikeKeys(value, ".theme.chat");
|
|
180
|
+
rejectUnknownKeys(value, ALLOWED_CHAT_KEYS, ".theme.chat");
|
|
181
|
+
const chat = {};
|
|
182
|
+
if (value.incoming !== undefined) {
|
|
183
|
+
chat.incoming = parseMessageRoleTheme(value.incoming, ".theme.chat.incoming");
|
|
184
|
+
}
|
|
185
|
+
if (value.outgoing !== undefined) {
|
|
186
|
+
chat.outgoing = parseMessageRoleTheme(value.outgoing, ".theme.chat.outgoing");
|
|
187
|
+
}
|
|
188
|
+
if (value.headerBackground !== undefined) {
|
|
189
|
+
chat.headerBackground = parseHexColor(value.headerBackground, "theme.chat.headerBackground");
|
|
190
|
+
}
|
|
191
|
+
if (value.inputBackground !== undefined) {
|
|
192
|
+
chat.inputBackground = parseHexColor(value.inputBackground, "theme.chat.inputBackground");
|
|
193
|
+
}
|
|
194
|
+
if (value.inputColor !== undefined) {
|
|
195
|
+
chat.inputColor = parseHexColor(value.inputColor, "theme.chat.inputColor");
|
|
196
|
+
}
|
|
197
|
+
if (value.panelWidth !== undefined) {
|
|
198
|
+
chat.panelWidth = parseCssLength(value.panelWidth, "theme.chat.panelWidth");
|
|
199
|
+
}
|
|
200
|
+
if (value.panelHeight !== undefined) {
|
|
201
|
+
chat.panelHeight = parseCssLength(value.panelHeight, "theme.chat.panelHeight");
|
|
202
|
+
}
|
|
203
|
+
if (value.panelRadius !== undefined) {
|
|
204
|
+
chat.panelRadius = parseCssLength(value.panelRadius, "theme.chat.panelRadius");
|
|
205
|
+
}
|
|
206
|
+
return chat;
|
|
207
|
+
}
|
|
92
208
|
function parseTheme(value) {
|
|
93
209
|
if (value === undefined)
|
|
94
210
|
return undefined;
|
|
@@ -107,16 +223,60 @@ function parseTheme(value) {
|
|
|
107
223
|
if (value.text !== undefined) {
|
|
108
224
|
theme.text = parseHexColor(value.text, "theme.text");
|
|
109
225
|
}
|
|
226
|
+
if (value.fontFamily !== undefined) {
|
|
227
|
+
theme.fontFamily = parseFontFamily(value.fontFamily, "theme.fontFamily");
|
|
228
|
+
}
|
|
229
|
+
if (value.fontSize !== undefined) {
|
|
230
|
+
theme.fontSize = parseCssLength(value.fontSize, "theme.fontSize");
|
|
231
|
+
}
|
|
232
|
+
if (value.chat !== undefined) {
|
|
233
|
+
theme.chat = parseChatTheme(value.chat);
|
|
234
|
+
}
|
|
110
235
|
return theme;
|
|
111
236
|
}
|
|
112
237
|
function parsePosition(value) {
|
|
113
238
|
if (value === undefined)
|
|
114
239
|
return undefined;
|
|
115
|
-
if (
|
|
116
|
-
throw new WidgetConfigError(
|
|
240
|
+
if (typeof value !== "string") {
|
|
241
|
+
throw new WidgetConfigError("position must be a string");
|
|
242
|
+
}
|
|
243
|
+
if (!WIDGET_POSITIONS.includes(value)) {
|
|
244
|
+
throw new WidgetConfigError(`position must be one of: ${WIDGET_POSITIONS.join(", ")}`);
|
|
117
245
|
}
|
|
118
246
|
return value;
|
|
119
247
|
}
|
|
248
|
+
function parsePositionOffset(value) {
|
|
249
|
+
if (value === undefined)
|
|
250
|
+
return undefined;
|
|
251
|
+
if (!isPlainObject(value)) {
|
|
252
|
+
throw new WidgetConfigError("positionOffset must be an object");
|
|
253
|
+
}
|
|
254
|
+
assertNoSecretLikeKeys(value, ".positionOffset");
|
|
255
|
+
rejectUnknownKeys(value, ALLOWED_OFFSET_KEYS, ".positionOffset");
|
|
256
|
+
const offset = {};
|
|
257
|
+
if (value.top !== undefined) {
|
|
258
|
+
offset.top = parseCssLength(value.top, "positionOffset.top");
|
|
259
|
+
}
|
|
260
|
+
if (value.right !== undefined) {
|
|
261
|
+
offset.right = parseCssLength(value.right, "positionOffset.right");
|
|
262
|
+
}
|
|
263
|
+
if (value.bottom !== undefined) {
|
|
264
|
+
offset.bottom = parseCssLength(value.bottom, "positionOffset.bottom");
|
|
265
|
+
}
|
|
266
|
+
if (value.left !== undefined) {
|
|
267
|
+
offset.left = parseCssLength(value.left, "positionOffset.left");
|
|
268
|
+
}
|
|
269
|
+
return offset;
|
|
270
|
+
}
|
|
271
|
+
function parseCustomCss(value) {
|
|
272
|
+
if (value === undefined)
|
|
273
|
+
return undefined;
|
|
274
|
+
const css = parseString(value, "customCss", MAX_CUSTOM_CSS_LEN);
|
|
275
|
+
if (css.toLowerCase().includes("</style")) {
|
|
276
|
+
throw new WidgetConfigError("customCss must not contain </style");
|
|
277
|
+
}
|
|
278
|
+
return css;
|
|
279
|
+
}
|
|
120
280
|
function parseMode(value) {
|
|
121
281
|
if (value === undefined)
|
|
122
282
|
return undefined;
|
|
@@ -162,6 +322,8 @@ export function parseVoiceThereWidgetConfigV1(input) {
|
|
|
162
322
|
launcherLabel: parseOptionalString(input.launcherLabel, "launcherLabel", MAX_LAUNCHER_LABEL_LEN),
|
|
163
323
|
greeting: parseOptionalString(input.greeting, "greeting", MAX_GREETING_LEN),
|
|
164
324
|
position: parsePosition(input.position),
|
|
325
|
+
positionOffset: parsePositionOffset(input.positionOffset),
|
|
326
|
+
customCss: parseCustomCss(input.customCss),
|
|
165
327
|
mode: parseMode(input.mode),
|
|
166
328
|
};
|
|
167
329
|
}
|
package/dist/embed/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/embed/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/embed/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Stable BEM-style class hooks for embed customization (scope under `.vt-widget`). */
|
|
2
|
+
export declare const WIDGET_CSS_CLASSES: {
|
|
3
|
+
readonly root: "vt-widget";
|
|
4
|
+
readonly launcher: "vt-widget-launcher";
|
|
5
|
+
readonly panel: "vt-widget-panel";
|
|
6
|
+
readonly header: "vt-widget-header";
|
|
7
|
+
readonly close: "vt-widget-close";
|
|
8
|
+
readonly greeting: "vt-widget-greeting";
|
|
9
|
+
readonly status: "vt-widget-status";
|
|
10
|
+
readonly transcript: "vt-widget-transcript";
|
|
11
|
+
readonly msg: "vt-widget-msg";
|
|
12
|
+
readonly msgIncoming: "vt-widget-msg--incoming";
|
|
13
|
+
readonly msgOutgoing: "vt-widget-msg--outgoing";
|
|
14
|
+
readonly msgSystem: "vt-widget-msg--system";
|
|
15
|
+
readonly composer: "vt-widget-composer";
|
|
16
|
+
readonly input: "vt-widget-input";
|
|
17
|
+
readonly connect: "vt-widget-connect";
|
|
18
|
+
readonly micWarning: "vt-widget-mic-warning";
|
|
19
|
+
readonly playbackWarning: "vt-widget-playback-warning";
|
|
20
|
+
};
|
|
21
|
+
export declare const WIDGET_CSS_VARIABLES: readonly ["--vt-color-primary", "--vt-color-bg", "--vt-color-text", "--vt-font-ui", "--vt-font-size-ui", "--vt-font-incoming", "--vt-font-outgoing", "--vt-font-size-incoming", "--vt-font-size-outgoing", "--vt-bubble-incoming-bg", "--vt-bubble-incoming-fg", "--vt-bubble-outgoing-bg", "--vt-bubble-outgoing-fg", "--vt-header-bg", "--vt-input-bg", "--vt-input-fg", "--vt-panel-width", "--vt-panel-height", "--vt-panel-radius"];
|
|
22
|
+
export declare const WIDGET_CUSTOM_STYLE_ATTR = "data-vt-widget-custom";
|
|
23
|
+
//# sourceMappingURL=css.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../src/embed/css.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;CAkBrB,CAAC;AAEX,eAAO,MAAM,oBAAoB,0aAoBvB,CAAC;AAEX,eAAO,MAAM,wBAAwB,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** Stable BEM-style class hooks for embed customization (scope under `.vt-widget`). */
|
|
2
|
+
export const WIDGET_CSS_CLASSES = {
|
|
3
|
+
root: "vt-widget",
|
|
4
|
+
launcher: "vt-widget-launcher",
|
|
5
|
+
panel: "vt-widget-panel",
|
|
6
|
+
header: "vt-widget-header",
|
|
7
|
+
close: "vt-widget-close",
|
|
8
|
+
greeting: "vt-widget-greeting",
|
|
9
|
+
status: "vt-widget-status",
|
|
10
|
+
transcript: "vt-widget-transcript",
|
|
11
|
+
msg: "vt-widget-msg",
|
|
12
|
+
msgIncoming: "vt-widget-msg--incoming",
|
|
13
|
+
msgOutgoing: "vt-widget-msg--outgoing",
|
|
14
|
+
msgSystem: "vt-widget-msg--system",
|
|
15
|
+
composer: "vt-widget-composer",
|
|
16
|
+
input: "vt-widget-input",
|
|
17
|
+
connect: "vt-widget-connect",
|
|
18
|
+
micWarning: "vt-widget-mic-warning",
|
|
19
|
+
playbackWarning: "vt-widget-playback-warning",
|
|
20
|
+
};
|
|
21
|
+
export const WIDGET_CSS_VARIABLES = [
|
|
22
|
+
"--vt-color-primary",
|
|
23
|
+
"--vt-color-bg",
|
|
24
|
+
"--vt-color-text",
|
|
25
|
+
"--vt-font-ui",
|
|
26
|
+
"--vt-font-size-ui",
|
|
27
|
+
"--vt-font-incoming",
|
|
28
|
+
"--vt-font-outgoing",
|
|
29
|
+
"--vt-font-size-incoming",
|
|
30
|
+
"--vt-font-size-outgoing",
|
|
31
|
+
"--vt-bubble-incoming-bg",
|
|
32
|
+
"--vt-bubble-incoming-fg",
|
|
33
|
+
"--vt-bubble-outgoing-bg",
|
|
34
|
+
"--vt-bubble-outgoing-fg",
|
|
35
|
+
"--vt-header-bg",
|
|
36
|
+
"--vt-input-bg",
|
|
37
|
+
"--vt-input-fg",
|
|
38
|
+
"--vt-panel-width",
|
|
39
|
+
"--vt-panel-height",
|
|
40
|
+
"--vt-panel-radius",
|
|
41
|
+
];
|
|
42
|
+
export const WIDGET_CUSTOM_STYLE_ATTR = "data-vt-widget-custom";
|
|
43
|
+
//# sourceMappingURL=css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","sourceRoot":"","sources":["../../src/embed/css.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,oBAAoB;IAC9B,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,kBAAkB;IAC1B,KAAK,EAAE,iBAAiB;IACxB,QAAQ,EAAE,oBAAoB;IAC9B,MAAM,EAAE,kBAAkB;IAC1B,UAAU,EAAE,sBAAsB;IAClC,GAAG,EAAE,eAAe;IACpB,WAAW,EAAE,yBAAyB;IACtC,WAAW,EAAE,yBAAyB;IACtC,SAAS,EAAE,uBAAuB;IAClC,QAAQ,EAAE,oBAAoB;IAC9B,KAAK,EAAE,iBAAiB;IACxB,OAAO,EAAE,mBAAmB;IAC5B,UAAU,EAAE,uBAAuB;IACnC,eAAe,EAAE,4BAA4B;CACrC,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,oBAAoB;IACpB,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;IACpB,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;CACX,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG,uBAAuB,CAAC"}
|
package/dist/embed/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { type BrowserSessionMode } from "../browser/browser-session.js";
|
|
2
|
-
import { type VoiceThereWidgetConfigV1, type VoiceThereWidgetTheme, type WidgetPosition, type WidgetPresetId } from "./config.js";
|
|
3
|
-
export type { VoiceThereWidgetConfigV1, VoiceThereWidgetTheme, WidgetPosition, WidgetPresetId, };
|
|
4
|
-
export { WidgetConfigError, fetchVoiceThereWidgetConfig, parseVoiceThereWidgetConfigJson, parseVoiceThereWidgetConfigV1, WIDGET_CONFIG_VERSION, WIDGET_PRESET_IDS, } from "./config.js";
|
|
2
|
+
import { type VoiceThereWidgetConfigV1, type VoiceThereWidgetTheme, type WidgetPosition, type WidgetPositionOffset, type WidgetPresetId } from "./config.js";
|
|
3
|
+
export type { VoiceThereWidgetConfigV1, VoiceThereWidgetTheme, WidgetPosition, WidgetPositionOffset, WidgetPresetId, };
|
|
4
|
+
export { WidgetConfigError, fetchVoiceThereWidgetConfig, parseVoiceThereWidgetConfigJson, parseVoiceThereWidgetConfigV1, WIDGET_CONFIG_VERSION, WIDGET_POSITIONS, WIDGET_PRESET_IDS, } from "./config.js";
|
|
5
5
|
export { applyPreset, getWidgetPreset } from "./presets.js";
|
|
6
|
+
export { WIDGET_CSS_CLASSES, WIDGET_CSS_VARIABLES } from "./css.js";
|
|
6
7
|
export type VoiceThereWidgetOptions = {
|
|
7
8
|
clientKey: string;
|
|
8
9
|
projectId?: string;
|
|
@@ -15,11 +16,14 @@ export type VoiceThereWidgetOptions = {
|
|
|
15
16
|
launcherLabel?: string;
|
|
16
17
|
greeting?: string;
|
|
17
18
|
position?: WidgetPosition;
|
|
19
|
+
positionOffset?: WidgetPositionOffset;
|
|
20
|
+
customCss?: string;
|
|
18
21
|
};
|
|
19
22
|
export type VoiceThereWidget = {
|
|
20
23
|
open: () => void;
|
|
21
24
|
close: () => void;
|
|
22
25
|
destroy: () => void;
|
|
26
|
+
updateConfig: (partial: Partial<VoiceThereWidgetConfigV1>) => void;
|
|
23
27
|
};
|
|
24
28
|
export declare function createVoiceThereWidgetAsync(options: VoiceThereWidgetOptions): Promise<VoiceThereWidget>;
|
|
25
29
|
export declare function createVoiceThereWidget(options: VoiceThereWidgetOptions): VoiceThereWidget;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/embed/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,kBAAkB,EAExB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAIL,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/embed/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,kBAAkB,EAExB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAIL,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAarB,YAAY,EACV,wBAAwB,EACxB,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,cAAc,GACf,CAAC;AACF,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,+BAA+B,EAC/B,6BAA6B,EAC7B,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEpE,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,KAAK,IAAI,CAAC;CACpE,CAAC;AAuDF,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAiB3B;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,gBAAgB,CAOlB"}
|
package/dist/embed/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { BrowserSessionModeType, connectBrowserSession, createDebugConsole, startSession, unlockAudioPlayback, } from "../browser/browser-session.js";
|
|
2
2
|
import { fetchVoiceThereWidgetConfig, WidgetConfigError, widgetConfigModeToSessionMode, } from "./config.js";
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import { WIDGET_CSS_CLASSES, WIDGET_CUSTOM_STYLE_ATTR, } from "./css.js";
|
|
4
|
+
import { applyPreset, applyWidgetPosition, getWidgetPreset, } from "./presets.js";
|
|
5
|
+
export { WidgetConfigError, fetchVoiceThereWidgetConfig, parseVoiceThereWidgetConfigJson, parseVoiceThereWidgetConfigV1, WIDGET_CONFIG_VERSION, WIDGET_POSITIONS, WIDGET_PRESET_IDS, } from "./config.js";
|
|
5
6
|
export { applyPreset, getWidgetPreset } from "./presets.js";
|
|
7
|
+
export { WIDGET_CSS_CLASSES, WIDGET_CSS_VARIABLES } from "./css.js";
|
|
6
8
|
function mergeWidgetOptions(inline, remote) {
|
|
7
9
|
const projectId = inline.projectId ?? remote?.projectId;
|
|
8
10
|
const apiBase = inline.apiBase ?? remote?.apiBase;
|
|
@@ -26,6 +28,8 @@ function mergeWidgetOptions(inline, remote) {
|
|
|
26
28
|
launcherLabel: inline.launcherLabel ?? remote?.launcherLabel ?? "Chat",
|
|
27
29
|
greeting: inline.greeting ?? remote?.greeting,
|
|
28
30
|
position: inline.position ?? remote?.position ?? "bottom-right",
|
|
31
|
+
positionOffset: inline.positionOffset ?? remote?.positionOffset,
|
|
32
|
+
customCss: inline.customCss ?? remote?.customCss,
|
|
29
33
|
};
|
|
30
34
|
}
|
|
31
35
|
export async function createVoiceThereWidgetAsync(options) {
|
|
@@ -85,31 +89,181 @@ function applyAccentTheme(elements, theme) {
|
|
|
85
89
|
el.style.color = theme.text;
|
|
86
90
|
}
|
|
87
91
|
}
|
|
88
|
-
function
|
|
89
|
-
const
|
|
90
|
-
const
|
|
92
|
+
function applyWidgetCssVariables(root, resolved, theme, presetId) {
|
|
93
|
+
const preset = presetId ? getWidgetPreset(presetId) : undefined;
|
|
94
|
+
const chat = theme?.chat;
|
|
95
|
+
const incoming = chat?.incoming;
|
|
96
|
+
const outgoing = chat?.outgoing;
|
|
97
|
+
root.style.setProperty("--vt-color-primary", resolved.primary);
|
|
98
|
+
root.style.setProperty("--vt-color-bg", resolved.background);
|
|
99
|
+
root.style.setProperty("--vt-color-text", resolved.text);
|
|
100
|
+
root.style.setProperty("--vt-font-ui", theme?.fontFamily ?? "system-ui, sans-serif");
|
|
101
|
+
root.style.setProperty("--vt-font-size-ui", theme?.fontSize ?? "14px");
|
|
102
|
+
root.style.setProperty("--vt-font-incoming", incoming?.fontFamily ?? theme?.fontFamily ?? "inherit");
|
|
103
|
+
root.style.setProperty("--vt-font-outgoing", outgoing?.fontFamily ?? theme?.fontFamily ?? "inherit");
|
|
104
|
+
root.style.setProperty("--vt-font-size-incoming", incoming?.fontSize ?? "13px");
|
|
105
|
+
root.style.setProperty("--vt-font-size-outgoing", outgoing?.fontSize ?? "13px");
|
|
106
|
+
root.style.setProperty("--vt-bubble-incoming-bg", incoming?.bubble ?? "rgba(255,255,255,0.08)");
|
|
107
|
+
root.style.setProperty("--vt-bubble-incoming-fg", incoming?.color ?? resolved.text);
|
|
108
|
+
root.style.setProperty("--vt-bubble-outgoing-bg", outgoing?.bubble ?? resolved.primary);
|
|
109
|
+
root.style.setProperty("--vt-bubble-outgoing-fg", outgoing?.color ?? resolved.text);
|
|
110
|
+
root.style.setProperty("--vt-header-bg", chat?.headerBackground ?? resolved.background);
|
|
111
|
+
root.style.setProperty("--vt-input-bg", chat?.inputBackground ?? "#111827");
|
|
112
|
+
root.style.setProperty("--vt-input-fg", chat?.inputColor ?? resolved.text);
|
|
113
|
+
root.style.setProperty("--vt-panel-width", chat?.panelWidth ?? preset?.panelWidth ?? "320px");
|
|
114
|
+
root.style.setProperty("--vt-panel-height", chat?.panelHeight ?? preset?.panelHeight ?? "420px");
|
|
115
|
+
root.style.setProperty("--vt-panel-radius", chat?.panelRadius ?? preset?.panelBorderRadius ?? "12px");
|
|
116
|
+
root.style.fontFamily = `var(--vt-font-ui)`;
|
|
117
|
+
root.style.fontSize = `var(--vt-font-size-ui)`;
|
|
118
|
+
}
|
|
119
|
+
function syncCustomCssStyle(root, customCss) {
|
|
120
|
+
let style = root.querySelector(`style[${WIDGET_CUSTOM_STYLE_ATTR}]`);
|
|
121
|
+
if (!customCss?.trim()) {
|
|
122
|
+
style?.remove();
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
if (!style) {
|
|
126
|
+
style = document.createElement("style");
|
|
127
|
+
style.setAttribute(WIDGET_CUSTOM_STYLE_ATTR, "");
|
|
128
|
+
root.append(style);
|
|
129
|
+
}
|
|
130
|
+
style.textContent = customCss;
|
|
131
|
+
return style;
|
|
132
|
+
}
|
|
133
|
+
function appendTranscriptBubble(transcript, role, text) {
|
|
134
|
+
const trimmed = text.trim();
|
|
135
|
+
if (!trimmed)
|
|
136
|
+
return;
|
|
137
|
+
const bubble = document.createElement("div");
|
|
138
|
+
bubble.className = WIDGET_CSS_CLASSES.msg;
|
|
139
|
+
if (role === "incoming") {
|
|
140
|
+
bubble.classList.add(WIDGET_CSS_CLASSES.msgIncoming);
|
|
141
|
+
bubble.style.fontFamily = "var(--vt-font-incoming)";
|
|
142
|
+
bubble.style.fontSize = "var(--vt-font-size-incoming)";
|
|
143
|
+
bubble.style.background = "var(--vt-bubble-incoming-bg)";
|
|
144
|
+
bubble.style.color = "var(--vt-bubble-incoming-fg)";
|
|
145
|
+
bubble.style.alignSelf = "flex-start";
|
|
146
|
+
}
|
|
147
|
+
else if (role === "outgoing") {
|
|
148
|
+
bubble.classList.add(WIDGET_CSS_CLASSES.msgOutgoing);
|
|
149
|
+
bubble.style.fontFamily = "var(--vt-font-outgoing)";
|
|
150
|
+
bubble.style.fontSize = "var(--vt-font-size-outgoing)";
|
|
151
|
+
bubble.style.background = "var(--vt-bubble-outgoing-bg)";
|
|
152
|
+
bubble.style.color = "var(--vt-bubble-outgoing-fg)";
|
|
153
|
+
bubble.style.alignSelf = "flex-end";
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
bubble.classList.add(WIDGET_CSS_CLASSES.msgSystem);
|
|
157
|
+
bubble.style.fontFamily = "var(--vt-font-incoming)";
|
|
158
|
+
bubble.style.fontSize = "var(--vt-font-size-incoming)";
|
|
159
|
+
bubble.style.opacity = "0.85";
|
|
160
|
+
bubble.style.alignSelf = "center";
|
|
161
|
+
}
|
|
162
|
+
bubble.style.maxWidth = "85%";
|
|
163
|
+
bubble.style.padding = "8px 10px";
|
|
164
|
+
bubble.style.borderRadius = "10px";
|
|
165
|
+
bubble.style.lineHeight = "1.4";
|
|
166
|
+
bubble.style.wordBreak = "break-word";
|
|
167
|
+
bubble.textContent = trimmed;
|
|
168
|
+
transcript.append(bubble);
|
|
169
|
+
transcript.scrollTop = transcript.scrollHeight;
|
|
170
|
+
}
|
|
171
|
+
function incomingTextFromControlMessage(payload) {
|
|
172
|
+
const type = typeof payload.type === "string" ? payload.type : "";
|
|
173
|
+
if (type === "session_error" ||
|
|
174
|
+
type === "agent_error" ||
|
|
175
|
+
type === "session_close" ||
|
|
176
|
+
type === "session_reconnect_token") {
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
if (type === "speech_event") {
|
|
180
|
+
const event = typeof payload.event === "string" ? payload.event : "";
|
|
181
|
+
const text = typeof payload.text === "string" ? payload.text.trim() : "";
|
|
182
|
+
if (!text)
|
|
183
|
+
return null;
|
|
184
|
+
if (event.includes("final") || event.includes("agent")) {
|
|
185
|
+
return text;
|
|
186
|
+
}
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
if (type === "chat_reply") {
|
|
190
|
+
const text = typeof payload.text === "string" ? payload.text.trim() : "";
|
|
191
|
+
return text || null;
|
|
192
|
+
}
|
|
193
|
+
if (type === "chat_broadcast") {
|
|
194
|
+
const text = typeof payload.text === "string" ? payload.text.trim() : "";
|
|
195
|
+
return text || null;
|
|
196
|
+
}
|
|
197
|
+
if (type === "chat") {
|
|
198
|
+
const role = typeof payload.role === "string" ? payload.role : "";
|
|
199
|
+
const text = typeof payload.text === "string" ? payload.text.trim() : "";
|
|
200
|
+
if (!text)
|
|
201
|
+
return null;
|
|
202
|
+
if (role === "agent" || role === "assistant") {
|
|
203
|
+
return text;
|
|
204
|
+
}
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
const text = typeof payload.text === "string" ? payload.text.trim() : "";
|
|
208
|
+
if (text &&
|
|
209
|
+
(type === "agent_message" || type === "message" || type === "assistant")) {
|
|
210
|
+
return text;
|
|
211
|
+
}
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
214
|
+
function buildVoiceThereWidget(initialOptions) {
|
|
215
|
+
const runtime = { ...initialOptions };
|
|
216
|
+
const mount = runtime.mount ?? document.body;
|
|
217
|
+
const mode = runtime.mode;
|
|
91
218
|
const root = document.createElement("div");
|
|
219
|
+
root.className = WIDGET_CSS_CLASSES.root;
|
|
92
220
|
root.style.position = "fixed";
|
|
93
221
|
root.style.zIndex = "99999";
|
|
94
|
-
root.style.
|
|
222
|
+
root.style.display = "flex";
|
|
223
|
+
root.style.flexDirection = "column";
|
|
224
|
+
root.style.alignItems = "flex-end";
|
|
225
|
+
root.style.gap = "8px";
|
|
95
226
|
const launcher = document.createElement("button");
|
|
96
|
-
launcher.
|
|
227
|
+
launcher.type = "button";
|
|
228
|
+
launcher.className = WIDGET_CSS_CLASSES.launcher;
|
|
229
|
+
launcher.textContent = runtime.launcherLabel;
|
|
97
230
|
launcher.style.border = "none";
|
|
98
231
|
launcher.style.cursor = "pointer";
|
|
99
232
|
const panel = document.createElement("div");
|
|
233
|
+
panel.className = WIDGET_CSS_CLASSES.panel;
|
|
100
234
|
panel.style.display = "none";
|
|
101
235
|
panel.style.boxSizing = "border-box";
|
|
102
|
-
|
|
103
|
-
|
|
236
|
+
panel.style.flexDirection = "column";
|
|
237
|
+
const header = document.createElement("div");
|
|
238
|
+
header.className = WIDGET_CSS_CLASSES.header;
|
|
239
|
+
header.style.display = "flex";
|
|
240
|
+
header.style.alignItems = "center";
|
|
241
|
+
header.style.justifyContent = "space-between";
|
|
242
|
+
header.style.marginBottom = "8px";
|
|
243
|
+
header.style.padding = "4px 0";
|
|
244
|
+
header.style.background = "var(--vt-header-bg)";
|
|
245
|
+
const headerTitle = document.createElement("span");
|
|
246
|
+
headerTitle.textContent = runtime.launcherLabel;
|
|
247
|
+
headerTitle.style.fontWeight = "600";
|
|
248
|
+
const closeBtn = document.createElement("button");
|
|
249
|
+
closeBtn.type = "button";
|
|
250
|
+
closeBtn.className = WIDGET_CSS_CLASSES.close;
|
|
251
|
+
closeBtn.setAttribute("aria-label", "Close chat");
|
|
252
|
+
closeBtn.textContent = "×";
|
|
253
|
+
closeBtn.style.border = "none";
|
|
254
|
+
closeBtn.style.background = "transparent";
|
|
255
|
+
closeBtn.style.cursor = "pointer";
|
|
256
|
+
closeBtn.style.fontSize = "20px";
|
|
257
|
+
closeBtn.style.lineHeight = "1";
|
|
258
|
+
closeBtn.style.color = "inherit";
|
|
259
|
+
header.append(headerTitle, closeBtn);
|
|
104
260
|
const greeting = document.createElement("div");
|
|
261
|
+
greeting.className = WIDGET_CSS_CLASSES.greeting;
|
|
105
262
|
greeting.setAttribute("data-voicethere-greeting", "");
|
|
106
|
-
greeting.style.display =
|
|
107
|
-
greeting.
|
|
108
|
-
greeting.style.lineHeight = "1.4";
|
|
109
|
-
greeting.style.marginBottom = "8px";
|
|
110
|
-
greeting.style.color = theme.text;
|
|
111
|
-
greeting.textContent = options.greeting ?? "";
|
|
263
|
+
greeting.style.display = "none";
|
|
264
|
+
greeting.textContent = runtime.greeting ?? "";
|
|
112
265
|
const status = document.createElement("div");
|
|
266
|
+
status.className = WIDGET_CSS_CLASSES.status;
|
|
113
267
|
status.style.fontSize = "12px";
|
|
114
268
|
status.style.marginBottom = "8px";
|
|
115
269
|
status.style.display = "flex";
|
|
@@ -143,6 +297,7 @@ function buildVoiceThereWidget(options) {
|
|
|
143
297
|
inboundAudio.setAttribute("playsinline", "");
|
|
144
298
|
inboundAudio.style.display = "none";
|
|
145
299
|
const micWarning = document.createElement("div");
|
|
300
|
+
micWarning.className = WIDGET_CSS_CLASSES.micWarning;
|
|
146
301
|
micWarning.setAttribute("data-voicethere-mic-warning", "");
|
|
147
302
|
micWarning.style.display = "none";
|
|
148
303
|
micWarning.style.fontSize = "11px";
|
|
@@ -167,6 +322,7 @@ function buildVoiceThereWidget(options) {
|
|
|
167
322
|
micRequestBtn.style.fontSize = "11px";
|
|
168
323
|
micWarning.append(micRequestBtn);
|
|
169
324
|
const playbackWarning = document.createElement("div");
|
|
325
|
+
playbackWarning.className = WIDGET_CSS_CLASSES.playbackWarning;
|
|
170
326
|
playbackWarning.setAttribute("data-voicethere-playback-warning", "");
|
|
171
327
|
playbackWarning.style.display = "none";
|
|
172
328
|
playbackWarning.style.fontSize = "11px";
|
|
@@ -189,38 +345,32 @@ function buildVoiceThereWidget(options) {
|
|
|
189
345
|
playbackEnableBtn.style.cursor = "pointer";
|
|
190
346
|
playbackEnableBtn.style.fontSize = "11px";
|
|
191
347
|
playbackWarning.append(playbackEnableBtn);
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
const log = document.createElement("pre");
|
|
206
|
-
log.style.flex = "1";
|
|
207
|
-
log.style.overflow = "auto";
|
|
208
|
-
log.style.fontSize = "11px";
|
|
209
|
-
log.style.background = "rgba(0,0,0,0.25)";
|
|
210
|
-
log.style.padding = "8px";
|
|
211
|
-
log.style.borderRadius = "8px";
|
|
212
|
-
log.style.height = "260px";
|
|
213
|
-
log.style.whiteSpace = "pre-wrap";
|
|
348
|
+
const transcript = document.createElement("div");
|
|
349
|
+
transcript.className = WIDGET_CSS_CLASSES.transcript;
|
|
350
|
+
transcript.style.flex = "1";
|
|
351
|
+
transcript.style.overflow = "auto";
|
|
352
|
+
transcript.style.display = "flex";
|
|
353
|
+
transcript.style.flexDirection = "column";
|
|
354
|
+
transcript.style.gap = "6px";
|
|
355
|
+
transcript.style.minHeight = "160px";
|
|
356
|
+
transcript.style.maxHeight = "260px";
|
|
357
|
+
transcript.style.padding = "4px 0";
|
|
358
|
+
const composer = document.createElement("div");
|
|
359
|
+
composer.className = WIDGET_CSS_CLASSES.composer;
|
|
360
|
+
composer.style.marginTop = "8px";
|
|
214
361
|
const input = document.createElement("input");
|
|
362
|
+
input.className = WIDGET_CSS_CLASSES.input;
|
|
215
363
|
input.placeholder = "Type a message…";
|
|
216
364
|
input.style.width = "100%";
|
|
217
|
-
input.style.marginTop = "8px";
|
|
218
365
|
input.style.padding = "8px";
|
|
219
366
|
input.style.borderRadius = "8px";
|
|
220
367
|
input.style.border = "1px solid rgba(255,255,255,0.15)";
|
|
221
|
-
input.style.background = "
|
|
222
|
-
input.style.color =
|
|
368
|
+
input.style.background = "var(--vt-input-bg)";
|
|
369
|
+
input.style.color = "var(--vt-input-fg)";
|
|
370
|
+
input.style.boxSizing = "border-box";
|
|
223
371
|
const connectBtn = document.createElement("button");
|
|
372
|
+
connectBtn.type = "button";
|
|
373
|
+
connectBtn.className = WIDGET_CSS_CLASSES.connect;
|
|
224
374
|
connectBtn.textContent = "Connect";
|
|
225
375
|
connectBtn.style.marginTop = "8px";
|
|
226
376
|
connectBtn.style.width = "100%";
|
|
@@ -228,22 +378,73 @@ function buildVoiceThereWidget(options) {
|
|
|
228
378
|
connectBtn.style.borderRadius = "8px";
|
|
229
379
|
connectBtn.style.border = "none";
|
|
230
380
|
connectBtn.style.cursor = "pointer";
|
|
231
|
-
|
|
232
|
-
panel.
|
|
381
|
+
composer.append(input, connectBtn);
|
|
382
|
+
panel.style.display = "none";
|
|
383
|
+
panel.style.flexDirection = "column";
|
|
384
|
+
panel.append(header, greeting, status, micWarning, playbackWarning, transcript, composer);
|
|
233
385
|
root.append(launcher, panel, inboundAudio);
|
|
234
386
|
mount.append(root);
|
|
235
387
|
let session = null;
|
|
236
|
-
|
|
237
|
-
|
|
388
|
+
let isOpen = false;
|
|
389
|
+
const debug = createDebugConsole(() => {
|
|
390
|
+
/* transcript is primary UI; debug export kept for session wiring */
|
|
391
|
+
});
|
|
392
|
+
const refreshGreetingBubble = () => {
|
|
393
|
+
const firstSystem = transcript.querySelector(`.${WIDGET_CSS_CLASSES.msgSystem}`);
|
|
394
|
+
if (firstSystem) {
|
|
395
|
+
firstSystem.remove();
|
|
396
|
+
}
|
|
397
|
+
greeting.textContent = runtime.greeting ?? "";
|
|
398
|
+
if (runtime.greeting?.trim()) {
|
|
399
|
+
appendTranscriptBubble(transcript, "system", runtime.greeting);
|
|
400
|
+
}
|
|
401
|
+
};
|
|
402
|
+
let resolvedTheme;
|
|
403
|
+
const applyAppearance = () => {
|
|
404
|
+
resolvedTheme = applyPreset({ root, launcher, panel }, runtime.preset, runtime.theme);
|
|
405
|
+
applyWidgetPosition(root, runtime.position, runtime.preset, runtime.positionOffset);
|
|
406
|
+
applyWidgetCssVariables(root, resolvedTheme, runtime.theme, runtime.preset);
|
|
407
|
+
applyAccentTheme([micRequestBtn, playbackEnableBtn, connectBtn], resolvedTheme);
|
|
408
|
+
launcher.textContent = runtime.launcherLabel;
|
|
409
|
+
headerTitle.textContent = runtime.launcherLabel;
|
|
410
|
+
input.style.background = "var(--vt-input-bg)";
|
|
411
|
+
input.style.color = "var(--vt-input-fg)";
|
|
412
|
+
header.style.background = "var(--vt-header-bg)";
|
|
413
|
+
syncCustomCssStyle(root, runtime.customCss);
|
|
414
|
+
refreshGreetingBubble();
|
|
415
|
+
};
|
|
416
|
+
applyAppearance();
|
|
417
|
+
const setOpen = (open) => {
|
|
418
|
+
isOpen = open;
|
|
419
|
+
if (open) {
|
|
420
|
+
panel.style.display = "flex";
|
|
421
|
+
launcher.style.display = "none";
|
|
422
|
+
root.dataset.vtOpen = "true";
|
|
423
|
+
}
|
|
424
|
+
else {
|
|
425
|
+
panel.style.display = "none";
|
|
426
|
+
launcher.style.display = "";
|
|
427
|
+
delete root.dataset.vtOpen;
|
|
428
|
+
}
|
|
429
|
+
};
|
|
430
|
+
const hideSessionNotices = () => {
|
|
431
|
+
micWarning.style.display = "none";
|
|
432
|
+
playbackWarning.style.display = "none";
|
|
433
|
+
};
|
|
434
|
+
const refreshMicNotice = () => {
|
|
435
|
+
if (!session || !isVoiceSessionMode(session.mode)) {
|
|
436
|
+
micWarning.style.display = "none";
|
|
437
|
+
return;
|
|
438
|
+
}
|
|
439
|
+
const micState = session.getAudioInputState();
|
|
440
|
+
micWarning.style.display = isMicLimitedState(micState) ? "block" : "none";
|
|
238
441
|
};
|
|
239
|
-
const debug = createDebugConsole(() => renderLog());
|
|
240
442
|
micRequestBtn.onclick = () => {
|
|
241
443
|
void (async () => {
|
|
242
444
|
if (!session)
|
|
243
445
|
return;
|
|
244
446
|
await session.requestAudioInputAccess();
|
|
245
447
|
refreshMicNotice();
|
|
246
|
-
renderLog();
|
|
247
448
|
})();
|
|
248
449
|
};
|
|
249
450
|
playbackEnableBtn.onclick = () => {
|
|
@@ -254,7 +455,6 @@ function buildVoiceThereWidget(options) {
|
|
|
254
455
|
if (ok) {
|
|
255
456
|
playbackWarning.style.display = "none";
|
|
256
457
|
}
|
|
257
|
-
renderLog();
|
|
258
458
|
})();
|
|
259
459
|
};
|
|
260
460
|
connectBtn.onclick = () => {
|
|
@@ -271,9 +471,9 @@ function buildVoiceThereWidget(options) {
|
|
|
271
471
|
}
|
|
272
472
|
setStatusDisplay("Connecting…", true);
|
|
273
473
|
const started = await startSession({
|
|
274
|
-
apiBase:
|
|
275
|
-
projectId:
|
|
276
|
-
headers: { Authorization: `Bearer ${
|
|
474
|
+
apiBase: runtime.apiBase,
|
|
475
|
+
projectId: runtime.projectId,
|
|
476
|
+
headers: { Authorization: `Bearer ${runtime.clientKey}` },
|
|
277
477
|
onStatus: (s) => {
|
|
278
478
|
if (s.status === "waiting") {
|
|
279
479
|
const position = s.queue_position != null ? ` (position ${s.queue_position})` : "";
|
|
@@ -285,7 +485,6 @@ function buildVoiceThereWidget(options) {
|
|
|
285
485
|
},
|
|
286
486
|
debug,
|
|
287
487
|
});
|
|
288
|
-
renderLog();
|
|
289
488
|
if (!started.ok) {
|
|
290
489
|
setStatusDisplay(started.message);
|
|
291
490
|
return;
|
|
@@ -295,6 +494,12 @@ function buildVoiceThereWidget(options) {
|
|
|
295
494
|
credentials: started.credentials,
|
|
296
495
|
audioElement: inboundAudio,
|
|
297
496
|
onDebugEvent: debug,
|
|
497
|
+
onControlMessage: (payload) => {
|
|
498
|
+
const incoming = incomingTextFromControlMessage(payload);
|
|
499
|
+
if (incoming) {
|
|
500
|
+
appendTranscriptBubble(transcript, "incoming", incoming);
|
|
501
|
+
}
|
|
502
|
+
},
|
|
298
503
|
onConnectionStatus: (connectionStatus) => {
|
|
299
504
|
setStatusDisplay(formatWebRtcStatus(connectionStatus));
|
|
300
505
|
},
|
|
@@ -312,7 +517,6 @@ function buildVoiceThereWidget(options) {
|
|
|
312
517
|
connectBtn.textContent = "Disconnect";
|
|
313
518
|
connectBtn.title =
|
|
314
519
|
"Disconnect this session. Connect again to start a new orchestrator session.";
|
|
315
|
-
renderLog();
|
|
316
520
|
})();
|
|
317
521
|
};
|
|
318
522
|
input.addEventListener("keydown", (event) => {
|
|
@@ -322,24 +526,48 @@ function buildVoiceThereWidget(options) {
|
|
|
322
526
|
if (!text)
|
|
323
527
|
return;
|
|
324
528
|
session.sendChat(text);
|
|
529
|
+
appendTranscriptBubble(transcript, "outgoing", text);
|
|
325
530
|
input.value = "";
|
|
326
|
-
renderLog();
|
|
327
531
|
});
|
|
328
532
|
launcher.onclick = () => {
|
|
329
|
-
|
|
533
|
+
setOpen(true);
|
|
534
|
+
};
|
|
535
|
+
closeBtn.onclick = () => {
|
|
536
|
+
setOpen(false);
|
|
537
|
+
};
|
|
538
|
+
const updateConfig = (partial) => {
|
|
539
|
+
if (partial.preset !== undefined)
|
|
540
|
+
runtime.preset = partial.preset;
|
|
541
|
+
if (partial.theme !== undefined) {
|
|
542
|
+
runtime.theme = { ...runtime.theme, ...partial.theme };
|
|
543
|
+
}
|
|
544
|
+
if (partial.launcherLabel !== undefined) {
|
|
545
|
+
runtime.launcherLabel = partial.launcherLabel;
|
|
546
|
+
}
|
|
547
|
+
if (partial.greeting !== undefined)
|
|
548
|
+
runtime.greeting = partial.greeting;
|
|
549
|
+
if (partial.position !== undefined)
|
|
550
|
+
runtime.position = partial.position;
|
|
551
|
+
if (partial.positionOffset !== undefined) {
|
|
552
|
+
runtime.positionOffset = partial.positionOffset;
|
|
553
|
+
}
|
|
554
|
+
if (partial.customCss !== undefined)
|
|
555
|
+
runtime.customCss = partial.customCss;
|
|
556
|
+
applyAppearance();
|
|
330
557
|
};
|
|
331
558
|
return {
|
|
332
559
|
open: () => {
|
|
333
|
-
|
|
560
|
+
setOpen(true);
|
|
334
561
|
},
|
|
335
562
|
close: () => {
|
|
336
|
-
|
|
563
|
+
setOpen(false);
|
|
337
564
|
},
|
|
338
565
|
destroy: () => {
|
|
339
566
|
session?.disconnect();
|
|
340
567
|
inboundAudio.remove();
|
|
341
568
|
root.remove();
|
|
342
569
|
},
|
|
570
|
+
updateConfig,
|
|
343
571
|
};
|
|
344
572
|
}
|
|
345
573
|
//# sourceMappingURL=index.js.map
|
package/dist/embed/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embed/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embed/index.ts"],"names":[],"mappings":"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"}
|
package/dist/embed/presets.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { VoiceThereWidgetTheme, WidgetPresetId } from "./config.js";
|
|
1
|
+
import type { VoiceThereWidgetTheme, WidgetPosition, WidgetPositionOffset, WidgetPresetId } from "./config.js";
|
|
2
2
|
export type WidgetPresetLayout = {
|
|
3
3
|
launcherBorderRadius: string;
|
|
4
4
|
launcherPadding: string;
|
|
@@ -10,7 +10,7 @@ export type WidgetPresetLayout = {
|
|
|
10
10
|
panelHeight: string;
|
|
11
11
|
panelBorder: string;
|
|
12
12
|
panelBoxShadow: string;
|
|
13
|
-
defaultTheme: Required<VoiceThereWidgetTheme
|
|
13
|
+
defaultTheme: Required<Pick<VoiceThereWidgetTheme, "primary" | "background" | "text">>;
|
|
14
14
|
/** Distinct marker for tests — preset-specific layout token. */
|
|
15
15
|
layoutToken: string;
|
|
16
16
|
};
|
|
@@ -20,8 +20,12 @@ export type ApplyPresetTarget = {
|
|
|
20
20
|
launcher: HTMLButtonElement;
|
|
21
21
|
panel: HTMLDivElement;
|
|
22
22
|
};
|
|
23
|
-
export type ResolvedWidgetTheme = Required<VoiceThereWidgetTheme
|
|
23
|
+
export type ResolvedWidgetTheme = Required<Pick<VoiceThereWidgetTheme, "primary" | "background" | "text">>;
|
|
24
24
|
export declare function resolveWidgetTheme(presetId: WidgetPresetId, themeOverride?: VoiceThereWidgetTheme): ResolvedWidgetTheme;
|
|
25
25
|
export declare function applyPreset(target: ApplyPresetTarget, presetId: WidgetPresetId, themeOverride?: VoiceThereWidgetTheme): ResolvedWidgetTheme;
|
|
26
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Named corners/edges use a 16px inset. Center-aligned positions use 50% + translate
|
|
28
|
+
* so the widget stays anchored on the chosen axis when the panel opens.
|
|
29
|
+
*/
|
|
30
|
+
export declare function applyWidgetPosition(root: HTMLElement, position: WidgetPosition, presetId: WidgetPresetId, positionOffset?: WidgetPositionOffset): void;
|
|
27
31
|
//# sourceMappingURL=presets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/embed/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/embed/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,QAAQ,CACpB,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC,CAC/D,CAAC;IACF,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AA+FF,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,kBAAkB,CAEtE;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CACxC,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC,CAC/D,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EACxB,aAAa,CAAC,EAAE,qBAAqB,GACpC,mBAAmB,CAOrB;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,cAAc,EACxB,aAAa,CAAC,EAAE,qBAAqB,GACpC,mBAAmB,CAiCrB;AAYD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,cAAc,EACxB,cAAc,CAAC,EAAE,oBAAoB,GACpC,IAAI,CAsEN"}
|
package/dist/embed/presets.js
CHANGED
|
@@ -112,10 +112,11 @@ export function applyPreset(target, presetId, themeOverride) {
|
|
|
112
112
|
launcher.style.minHeight = preset.launcherMinHeight;
|
|
113
113
|
launcher.style.background = theme.primary;
|
|
114
114
|
launcher.style.color = theme.text;
|
|
115
|
-
|
|
115
|
+
const chat = themeOverride?.chat;
|
|
116
|
+
panel.style.borderRadius = chat?.panelRadius ?? preset.panelBorderRadius;
|
|
116
117
|
panel.style.padding = preset.panelPadding;
|
|
117
|
-
panel.style.width = preset.panelWidth;
|
|
118
|
-
panel.style.height = preset.panelHeight;
|
|
118
|
+
panel.style.width = chat?.panelWidth ?? preset.panelWidth;
|
|
119
|
+
panel.style.height = chat?.panelHeight ?? preset.panelHeight;
|
|
119
120
|
panel.style.border = preset.panelBorder;
|
|
120
121
|
panel.style.boxShadow = preset.panelBoxShadow;
|
|
121
122
|
panel.style.background = theme.background;
|
|
@@ -130,22 +131,85 @@ export function applyPreset(target, presetId, themeOverride) {
|
|
|
130
131
|
}
|
|
131
132
|
return theme;
|
|
132
133
|
}
|
|
133
|
-
|
|
134
|
-
|
|
134
|
+
const INSET = "16px";
|
|
135
|
+
function clearPositionInsets(root) {
|
|
136
|
+
root.style.top = "";
|
|
137
|
+
root.style.right = "";
|
|
138
|
+
root.style.bottom = "";
|
|
139
|
+
root.style.left = "";
|
|
140
|
+
root.style.transform = "";
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Named corners/edges use a 16px inset. Center-aligned positions use 50% + translate
|
|
144
|
+
* so the widget stays anchored on the chosen axis when the panel opens.
|
|
145
|
+
*/
|
|
146
|
+
export function applyWidgetPosition(root, position, presetId, positionOffset) {
|
|
147
|
+
clearPositionInsets(root);
|
|
135
148
|
root.dataset.voicetherePosition = position;
|
|
149
|
+
if (position === "custom") {
|
|
150
|
+
if (positionOffset?.top !== undefined)
|
|
151
|
+
root.style.top = positionOffset.top;
|
|
152
|
+
if (positionOffset?.right !== undefined) {
|
|
153
|
+
root.style.right = positionOffset.right;
|
|
154
|
+
}
|
|
155
|
+
if (positionOffset?.bottom !== undefined) {
|
|
156
|
+
root.style.bottom = positionOffset.bottom;
|
|
157
|
+
}
|
|
158
|
+
if (positionOffset?.left !== undefined)
|
|
159
|
+
root.style.left = positionOffset.left;
|
|
160
|
+
if (presetId === "minimal-bar") {
|
|
161
|
+
root.style.width = positionOffset ? "" : "100%";
|
|
162
|
+
}
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
136
165
|
if (presetId === "minimal-bar") {
|
|
137
166
|
root.style.left = "0";
|
|
138
167
|
root.style.right = "0";
|
|
139
168
|
root.style.bottom = "0";
|
|
169
|
+
root.style.width = "100%";
|
|
140
170
|
return;
|
|
141
171
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
172
|
+
switch (position) {
|
|
173
|
+
case "bottom-right":
|
|
174
|
+
root.style.bottom = INSET;
|
|
175
|
+
root.style.right = INSET;
|
|
176
|
+
break;
|
|
177
|
+
case "bottom-left":
|
|
178
|
+
root.style.bottom = INSET;
|
|
179
|
+
root.style.left = INSET;
|
|
180
|
+
break;
|
|
181
|
+
case "top-right":
|
|
182
|
+
root.style.top = INSET;
|
|
183
|
+
root.style.right = INSET;
|
|
184
|
+
break;
|
|
185
|
+
case "top-left":
|
|
186
|
+
root.style.top = INSET;
|
|
187
|
+
root.style.left = INSET;
|
|
188
|
+
break;
|
|
189
|
+
case "bottom-center":
|
|
190
|
+
root.style.bottom = INSET;
|
|
191
|
+
root.style.left = "50%";
|
|
192
|
+
root.style.transform = "translateX(-50%)";
|
|
193
|
+
break;
|
|
194
|
+
case "top-center":
|
|
195
|
+
root.style.top = INSET;
|
|
196
|
+
root.style.left = "50%";
|
|
197
|
+
root.style.transform = "translateX(-50%)";
|
|
198
|
+
break;
|
|
199
|
+
case "center-right":
|
|
200
|
+
root.style.right = INSET;
|
|
201
|
+
root.style.top = "50%";
|
|
202
|
+
root.style.transform = "translateY(-50%)";
|
|
203
|
+
break;
|
|
204
|
+
case "center-left":
|
|
205
|
+
root.style.left = INSET;
|
|
206
|
+
root.style.top = "50%";
|
|
207
|
+
root.style.transform = "translateY(-50%)";
|
|
208
|
+
break;
|
|
209
|
+
default:
|
|
210
|
+
root.style.bottom = INSET;
|
|
211
|
+
root.style.right = INSET;
|
|
212
|
+
break;
|
|
149
213
|
}
|
|
150
214
|
}
|
|
151
215
|
//# sourceMappingURL=presets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/embed/presets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/embed/presets.ts"],"names":[],"mappings":"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"}
|