@burdenoff/website-sdk 2026.1102.3 → 2026.1104.1
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/README.md +22 -6
- package/dist/avatar-live-view/index.d.mts +17 -2
- package/dist/avatar-live-view/index.d.ts +17 -2
- package/dist/avatar-live-view/index.js +64 -21
- package/dist/avatar-live-view/index.js.map +1 -1
- package/dist/avatar-live-view/index.mjs +64 -21
- package/dist/avatar-live-view/index.mjs.map +1 -1
- package/dist/{chunk-DZLUZKOX.js → chunk-22OT6E26.js} +44 -12
- package/dist/chunk-22OT6E26.js.map +1 -0
- package/dist/{chunk-ZWEEBHXJ.mjs → chunk-5JQGE3XI.mjs} +44 -12
- package/dist/chunk-5JQGE3XI.mjs.map +1 -0
- package/dist/components/explore.d.mts +1 -1
- package/dist/components/explore.d.ts +1 -1
- package/dist/components/explore.js +13 -13
- package/dist/components/explore.mjs +1 -1
- package/dist/{explore-DtSPdlEy.d.ts → explore-BV4dRwoC.d.ts} +7 -0
- package/dist/{explore-DaSNdm4O.d.mts → explore-BgEeGPvY.d.mts} +7 -0
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +49 -41
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +10 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-DZLUZKOX.js.map +0 -1
- package/dist/chunk-ZWEEBHXJ.mjs.map +0 -1
|
@@ -3115,23 +3115,29 @@ var ANSWER_ACTION_ACTIVE = "border-primary/40 bg-accent text-primary";
|
|
|
3115
3115
|
function ReadAloudButton({
|
|
3116
3116
|
strings: T,
|
|
3117
3117
|
text,
|
|
3118
|
-
lang
|
|
3118
|
+
lang,
|
|
3119
|
+
hold
|
|
3119
3120
|
}) {
|
|
3120
3121
|
const speech = chunkP5GMVPR6_js.useSpeechOutput({ lang });
|
|
3121
3122
|
if (!speech.supported) return null;
|
|
3122
3123
|
const label = speech.speaking ? T.stopReading : T.readAloud;
|
|
3124
|
+
const held = hold !== null && !speech.speaking;
|
|
3123
3125
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3124
3126
|
"button",
|
|
3125
3127
|
{
|
|
3126
3128
|
"data-boff-explore": "read-aloud",
|
|
3127
3129
|
"data-speaking": speech.speaking ? "true" : "false",
|
|
3128
3130
|
type: "button",
|
|
3129
|
-
title: label,
|
|
3131
|
+
title: held ? hold : label,
|
|
3130
3132
|
"aria-pressed": speech.speaking,
|
|
3131
|
-
|
|
3133
|
+
"aria-disabled": held ? "true" : void 0,
|
|
3134
|
+
onClick: () => {
|
|
3135
|
+
if (!held) speech.toggle(text);
|
|
3136
|
+
},
|
|
3132
3137
|
className: chunkC6OJIHNO_js.cn(
|
|
3133
3138
|
ANSWER_ACTION_PILL,
|
|
3134
|
-
speech.speaking ? ANSWER_ACTION_ACTIVE : ANSWER_ACTION_IDLE
|
|
3139
|
+
speech.speaking ? ANSWER_ACTION_ACTIVE : ANSWER_ACTION_IDLE,
|
|
3140
|
+
held && "cursor-not-allowed opacity-50"
|
|
3135
3141
|
),
|
|
3136
3142
|
children: [
|
|
3137
3143
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Volume2, { className: "h-3 w-3 shrink-0", "aria-hidden": "true" }),
|
|
@@ -3144,7 +3150,8 @@ function AnswerActions({
|
|
|
3144
3150
|
strings: T,
|
|
3145
3151
|
text,
|
|
3146
3152
|
speechText,
|
|
3147
|
-
speechLang
|
|
3153
|
+
speechLang,
|
|
3154
|
+
voiceHold
|
|
3148
3155
|
}) {
|
|
3149
3156
|
const [outcome, setOutcome] = react.useState("idle");
|
|
3150
3157
|
const resetRef = react.useRef(null);
|
|
@@ -3196,7 +3203,15 @@ function AnswerActions({
|
|
|
3196
3203
|
]
|
|
3197
3204
|
}
|
|
3198
3205
|
),
|
|
3199
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3206
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3207
|
+
ReadAloudButton,
|
|
3208
|
+
{
|
|
3209
|
+
strings: T,
|
|
3210
|
+
text: speechText,
|
|
3211
|
+
lang: speechLang,
|
|
3212
|
+
hold: voiceHold
|
|
3213
|
+
}
|
|
3214
|
+
),
|
|
3200
3215
|
/* @__PURE__ */ jsxRuntime.jsx("span", { "data-boff-explore": "copy-status", role: "status", className: "sr-only", children: outcome === "idle" ? "" : label })
|
|
3201
3216
|
]
|
|
3202
3217
|
}
|
|
@@ -3250,6 +3265,7 @@ function AssistantBubble({
|
|
|
3250
3265
|
productSlugs,
|
|
3251
3266
|
productNames,
|
|
3252
3267
|
speechLang,
|
|
3268
|
+
voiceHold,
|
|
3253
3269
|
onNavigate,
|
|
3254
3270
|
anchorRef,
|
|
3255
3271
|
onFollow,
|
|
@@ -3416,7 +3432,8 @@ function AssistantBubble({
|
|
|
3416
3432
|
strings: T,
|
|
3417
3433
|
text: copyText,
|
|
3418
3434
|
speechText,
|
|
3419
|
-
speechLang
|
|
3435
|
+
speechLang,
|
|
3436
|
+
voiceHold
|
|
3420
3437
|
}
|
|
3421
3438
|
) : null,
|
|
3422
3439
|
completed && onFeedback ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4036,6 +4053,7 @@ function ExploreView({
|
|
|
4036
4053
|
locale,
|
|
4037
4054
|
presentation = "page",
|
|
4038
4055
|
active = true,
|
|
4056
|
+
voiceHold = null,
|
|
4039
4057
|
explorePath = "/explore",
|
|
4040
4058
|
examplePrompts,
|
|
4041
4059
|
scope,
|
|
@@ -4114,6 +4132,12 @@ function ExploreView({
|
|
|
4114
4132
|
stopDictation();
|
|
4115
4133
|
chunkP5GMVPR6_js.stopSpeaking();
|
|
4116
4134
|
}, [active, stopDictation]);
|
|
4135
|
+
const voiceHeld = voiceHold !== null;
|
|
4136
|
+
react.useEffect(() => {
|
|
4137
|
+
if (!voiceHeld) return;
|
|
4138
|
+
stopDictation();
|
|
4139
|
+
chunkP5GMVPR6_js.stopSpeaking();
|
|
4140
|
+
}, [voiceHeld, stopDictation]);
|
|
4117
4141
|
const [disclaimerOpen, setDisclaimerOpen] = react.useState(false);
|
|
4118
4142
|
const [attachmentNotice, setAttachmentNotice] = react.useState(null);
|
|
4119
4143
|
const fileInputRef = react.useRef(null);
|
|
@@ -4793,6 +4817,7 @@ function ExploreView({
|
|
|
4793
4817
|
productSlugs,
|
|
4794
4818
|
productNames,
|
|
4795
4819
|
speechLang,
|
|
4820
|
+
voiceHold,
|
|
4796
4821
|
onNavigate,
|
|
4797
4822
|
anchorRef: message.id === latestAssistantId ? latestAssistantRef : void 0,
|
|
4798
4823
|
onFollow: (kind, url) => recordClick(message.id, kind, url),
|
|
@@ -5003,9 +5028,16 @@ function ExploreView({
|
|
|
5003
5028
|
disabled: composerDisabled,
|
|
5004
5029
|
"aria-label": speech.listening ? T.stopDictating : T.dictate,
|
|
5005
5030
|
"aria-pressed": speech.listening,
|
|
5006
|
-
|
|
5007
|
-
|
|
5008
|
-
|
|
5031
|
+
"aria-disabled": voiceHeld && !speech.listening ? "true" : void 0,
|
|
5032
|
+
title: speech.listening ? T.stopDictating : voiceHold ?? T.dictate,
|
|
5033
|
+
onClick: () => {
|
|
5034
|
+
if (voiceHeld && !speech.listening) return;
|
|
5035
|
+
speech.toggle();
|
|
5036
|
+
},
|
|
5037
|
+
className: chunkC6OJIHNO_js.cn(
|
|
5038
|
+
speech.listening && "animate-pulse",
|
|
5039
|
+
voiceHeld && !speech.listening && "cursor-not-allowed opacity-50"
|
|
5040
|
+
),
|
|
5009
5041
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mic, { className: "h-4 w-4" })
|
|
5010
5042
|
}
|
|
5011
5043
|
) : null,
|
|
@@ -5156,5 +5188,5 @@ exports.resolveExploreLocale = resolveExploreLocale;
|
|
|
5156
5188
|
exports.speechLocaleOf = speechLocaleOf;
|
|
5157
5189
|
exports.summariseReferences = summariseReferences;
|
|
5158
5190
|
exports.useExploreConversation = useExploreConversation;
|
|
5159
|
-
//# sourceMappingURL=chunk-
|
|
5160
|
-
//# sourceMappingURL=chunk-
|
|
5191
|
+
//# sourceMappingURL=chunk-22OT6E26.js.map
|
|
5192
|
+
//# sourceMappingURL=chunk-22OT6E26.js.map
|