@burdenoff/website-sdk 2026.829.4 → 2026.829.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/explore.d.mts +7 -1
- package/dist/components/explore.d.ts +7 -1
- package/dist/components/explore.js +442 -30
- package/dist/components/explore.js.map +1 -1
- package/dist/components/explore.mjs +442 -30
- package/dist/components/explore.mjs.map +1 -1
- package/dist/index.d.mts +59 -1
- package/dist/index.d.ts +59 -1
- package/dist/index.js +443 -30
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +443 -31
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -14,6 +14,289 @@ import { twMerge } from 'tailwind-merge';
|
|
|
14
14
|
var __defProp = Object.defineProperty;
|
|
15
15
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
16
16
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
17
|
+
|
|
18
|
+
// src/components/explore-i18n.ts
|
|
19
|
+
var EXPLORE_LOCALES = ["en", "zh", "hi", "es", "ar", "ta"];
|
|
20
|
+
var RTL_LOCALES = /* @__PURE__ */ new Set(["ar"]);
|
|
21
|
+
function isRtlLocale(locale) {
|
|
22
|
+
return RTL_LOCALES.has(locale);
|
|
23
|
+
}
|
|
24
|
+
var EN = {
|
|
25
|
+
badge: "AI answers, grounded in our documentation",
|
|
26
|
+
welcomeTitle: "Ask anything about our products",
|
|
27
|
+
welcomeBody: "Describe what you are trying to do and I will point you at the product, the page and the next step.",
|
|
28
|
+
tryAsking: "Try asking",
|
|
29
|
+
focusProduct: "Focus on a product",
|
|
30
|
+
allProducts: "All products",
|
|
31
|
+
showAll: "All",
|
|
32
|
+
showLess: "Show less",
|
|
33
|
+
sources: "Sources",
|
|
34
|
+
nextYouCouldAsk: "Next you could ask",
|
|
35
|
+
placeholder: "Ask anything about our products\u2026",
|
|
36
|
+
placeholderProduct: "Ask about {product}\u2026",
|
|
37
|
+
send: "Send",
|
|
38
|
+
stop: "Stop",
|
|
39
|
+
newChat: "New chat",
|
|
40
|
+
history: "History",
|
|
41
|
+
clearHistory: "Clear history",
|
|
42
|
+
share: "Share",
|
|
43
|
+
copied: "Copied",
|
|
44
|
+
copying: "Copying\u2026",
|
|
45
|
+
shareUnavailable: "Unavailable",
|
|
46
|
+
disclaimer: "Disclaimer",
|
|
47
|
+
disclaimerShort: "Grounded in our docs \u2014 check anything important.",
|
|
48
|
+
dictate: "Dictate your question",
|
|
49
|
+
stopDictating: "Stop dictating",
|
|
50
|
+
noAnswer: "I couldn't find this in our documentation, so the answer below is not grounded in a source. Try rephrasing, or",
|
|
51
|
+
askHuman: "ask a human",
|
|
52
|
+
prevSuggestion: "Previous suggestion",
|
|
53
|
+
nextSuggestion: "Next suggestion",
|
|
54
|
+
capabilities: [
|
|
55
|
+
"Grounded in our own docs",
|
|
56
|
+
"Compare across the ecosystem",
|
|
57
|
+
"Straight to the right page"
|
|
58
|
+
],
|
|
59
|
+
prompts: [
|
|
60
|
+
"What does this product actually do?",
|
|
61
|
+
"Which product fits my team?",
|
|
62
|
+
"How do I get started, step by step?",
|
|
63
|
+
"How much does it cost?"
|
|
64
|
+
]
|
|
65
|
+
};
|
|
66
|
+
var ZH = {
|
|
67
|
+
badge: "\u57FA\u4E8E\u6211\u4EEC\u6587\u6863\u7684 AI \u56DE\u7B54",
|
|
68
|
+
welcomeTitle: "\u5173\u4E8E\u6211\u4EEC\u7684\u4EA7\u54C1\uFF0C\u968F\u4FBF\u95EE",
|
|
69
|
+
welcomeBody: "\u63CF\u8FF0\u4F60\u60F3\u505A\u7684\u4E8B\uFF0C\u6211\u4F1A\u4E3A\u4F60\u6307\u51FA\u5BF9\u5E94\u7684\u4EA7\u54C1\u3001\u9875\u9762\u548C\u4E0B\u4E00\u6B65\u3002",
|
|
70
|
+
tryAsking: "\u8BD5\u7740\u95EE",
|
|
71
|
+
focusProduct: "\u805A\u7126\u67D0\u4E2A\u4EA7\u54C1",
|
|
72
|
+
allProducts: "\u5168\u90E8\u4EA7\u54C1",
|
|
73
|
+
showAll: "\u5168\u90E8",
|
|
74
|
+
showLess: "\u6536\u8D77",
|
|
75
|
+
sources: "\u6765\u6E90",
|
|
76
|
+
nextYouCouldAsk: "\u4F60\u8FD8\u53EF\u4EE5\u95EE",
|
|
77
|
+
placeholder: "\u5173\u4E8E\u6211\u4EEC\u7684\u4EA7\u54C1\uFF0C\u968F\u4FBF\u95EE\u2026",
|
|
78
|
+
placeholderProduct: "\u8BE2\u95EE\u5173\u4E8E {product} \u7684\u95EE\u9898\u2026",
|
|
79
|
+
send: "\u53D1\u9001",
|
|
80
|
+
stop: "\u505C\u6B62",
|
|
81
|
+
newChat: "\u65B0\u5BF9\u8BDD",
|
|
82
|
+
history: "\u5386\u53F2",
|
|
83
|
+
clearHistory: "\u6E05\u9664\u5386\u53F2",
|
|
84
|
+
share: "\u5206\u4EAB",
|
|
85
|
+
copied: "\u5DF2\u590D\u5236",
|
|
86
|
+
copying: "\u590D\u5236\u4E2D\u2026",
|
|
87
|
+
shareUnavailable: "\u4E0D\u53EF\u7528",
|
|
88
|
+
disclaimer: "\u514D\u8D23\u58F0\u660E",
|
|
89
|
+
disclaimerShort: "\u5185\u5BB9\u57FA\u4E8E\u6211\u4EEC\u7684\u6587\u6863\uFF0C\u91CD\u8981\u4FE1\u606F\u8BF7\u81EA\u884C\u6838\u5BF9\u3002",
|
|
90
|
+
dictate: "\u8BED\u97F3\u8F93\u5165",
|
|
91
|
+
stopDictating: "\u505C\u6B62\u8BED\u97F3\u8F93\u5165",
|
|
92
|
+
noAnswer: "\u6211\u5728\u6587\u6863\u4E2D\u6CA1\u6709\u627E\u5230\u76F8\u5173\u5185\u5BB9\uFF0C\u4E0B\u9762\u7684\u56DE\u7B54\u6CA1\u6709\u6765\u6E90\u652F\u6301\u3002\u8BF7\u6362\u4E2A\u8BF4\u6CD5\uFF0C\u6216",
|
|
93
|
+
askHuman: "\u8054\u7CFB\u6211\u4EEC",
|
|
94
|
+
prevSuggestion: "\u4E0A\u4E00\u4E2A\u5EFA\u8BAE",
|
|
95
|
+
nextSuggestion: "\u4E0B\u4E00\u4E2A\u5EFA\u8BAE",
|
|
96
|
+
capabilities: ["\u57FA\u4E8E\u6211\u4EEC\u81EA\u5DF1\u7684\u6587\u6863", "\u8DE8\u4EA7\u54C1\u5BF9\u6BD4", "\u76F4\u8FBE\u6B63\u786E\u7684\u9875\u9762"],
|
|
97
|
+
prompts: [
|
|
98
|
+
"\u8FD9\u4E2A\u4EA7\u54C1\u5230\u5E95\u80FD\u505A\u4EC0\u4E48\uFF1F",
|
|
99
|
+
"\u54EA\u4E2A\u4EA7\u54C1\u9002\u5408\u6211\u7684\u56E2\u961F\uFF1F",
|
|
100
|
+
"\u5982\u4F55\u4E00\u6B65\u6B65\u5F00\u59CB\u4F7F\u7528\uFF1F",
|
|
101
|
+
"\u4EF7\u683C\u662F\u591A\u5C11\uFF1F"
|
|
102
|
+
]
|
|
103
|
+
};
|
|
104
|
+
var HI = {
|
|
105
|
+
badge: "\u0939\u092E\u093E\u0930\u0947 \u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C\u094B\u0902 \u092A\u0930 \u0906\u0927\u093E\u0930\u093F\u0924 AI \u0909\u0924\u094D\u0924\u0930",
|
|
106
|
+
welcomeTitle: "\u0939\u092E\u093E\u0930\u0947 \u0909\u0924\u094D\u092A\u093E\u0926\u094B\u0902 \u0915\u0947 \u092C\u093E\u0930\u0947 \u092E\u0947\u0902 \u0915\u0941\u091B \u092D\u0940 \u092A\u0942\u091B\u0947\u0902",
|
|
107
|
+
welcomeBody: "\u092C\u0924\u093E\u0907\u090F \u0906\u092A \u0915\u094D\u092F\u093E \u0915\u0930\u0928\u093E \u091A\u093E\u0939\u0924\u0947 \u0939\u0948\u0902, \u0914\u0930 \u092E\u0948\u0902 \u0906\u092A\u0915\u094B \u0938\u0939\u0940 \u0909\u0924\u094D\u092A\u093E\u0926, \u092A\u0947\u091C \u0914\u0930 \u0905\u0917\u0932\u093E \u0915\u0926\u092E \u092C\u0924\u093E\u090A\u0901\u0917\u093E\u0964",
|
|
108
|
+
tryAsking: "\u092F\u0939 \u092A\u0942\u091B\u0915\u0930 \u0926\u0947\u0916\u0947\u0902",
|
|
109
|
+
focusProduct: "\u0915\u093F\u0938\u0940 \u0909\u0924\u094D\u092A\u093E\u0926 \u092A\u0930 \u0927\u094D\u092F\u093E\u0928 \u0926\u0947\u0902",
|
|
110
|
+
allProducts: "\u0938\u092D\u0940 \u0909\u0924\u094D\u092A\u093E\u0926",
|
|
111
|
+
showAll: "\u0938\u092D\u0940",
|
|
112
|
+
showLess: "\u0915\u092E \u0926\u093F\u0916\u093E\u090F\u0901",
|
|
113
|
+
sources: "\u0938\u094D\u0930\u094B\u0924",
|
|
114
|
+
nextYouCouldAsk: "\u0906\u0917\u0947 \u0906\u092A \u092A\u0942\u091B \u0938\u0915\u0924\u0947 \u0939\u0948\u0902",
|
|
115
|
+
placeholder: "\u0939\u092E\u093E\u0930\u0947 \u0909\u0924\u094D\u092A\u093E\u0926\u094B\u0902 \u0915\u0947 \u092C\u093E\u0930\u0947 \u092E\u0947\u0902 \u0915\u0941\u091B \u092D\u0940 \u092A\u0942\u091B\u0947\u0902\u2026",
|
|
116
|
+
placeholderProduct: "{product} \u0915\u0947 \u092C\u093E\u0930\u0947 \u092E\u0947\u0902 \u092A\u0942\u091B\u0947\u0902\u2026",
|
|
117
|
+
send: "\u092D\u0947\u091C\u0947\u0902",
|
|
118
|
+
stop: "\u0930\u094B\u0915\u0947\u0902",
|
|
119
|
+
newChat: "\u0928\u0908 \u092C\u093E\u0924\u091A\u0940\u0924",
|
|
120
|
+
history: "\u0907\u0924\u093F\u0939\u093E\u0938",
|
|
121
|
+
clearHistory: "\u0907\u0924\u093F\u0939\u093E\u0938 \u092E\u093F\u091F\u093E\u090F\u0901",
|
|
122
|
+
share: "\u0938\u093E\u091D\u093E \u0915\u0930\u0947\u0902",
|
|
123
|
+
copied: "\u0915\u0949\u092A\u0940 \u0939\u094B \u0917\u092F\u093E",
|
|
124
|
+
copying: "\u0915\u0949\u092A\u0940 \u0939\u094B \u0930\u0939\u093E \u0939\u0948\u2026",
|
|
125
|
+
shareUnavailable: "\u0909\u092A\u0932\u092C\u094D\u0927 \u0928\u0939\u0940\u0902",
|
|
126
|
+
disclaimer: "\u0905\u0938\u094D\u0935\u0940\u0915\u0930\u0923",
|
|
127
|
+
disclaimerShort: "\u092F\u0939 \u0939\u092E\u093E\u0930\u0947 \u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C\u094B\u0902 \u092A\u0930 \u0906\u0927\u093E\u0930\u093F\u0924 \u0939\u0948 \u2014 \u092E\u0939\u0924\u094D\u0935\u092A\u0942\u0930\u094D\u0923 \u092C\u093E\u0924\u0947\u0902 \u091C\u093C\u0930\u0942\u0930 \u091C\u093E\u0901\u091A \u0932\u0947\u0902\u0964",
|
|
128
|
+
dictate: "\u092C\u094B\u0932\u0915\u0930 \u092A\u0942\u091B\u0947\u0902",
|
|
129
|
+
stopDictating: "\u092C\u094B\u0932\u0928\u093E \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
|
|
130
|
+
noAnswer: "\u092F\u0939 \u092E\u0941\u091D\u0947 \u0939\u092E\u093E\u0930\u0947 \u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C\u094B\u0902 \u092E\u0947\u0902 \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E, \u0907\u0938\u0932\u093F\u090F \u0928\u0940\u091A\u0947 \u0926\u093F\u092F\u093E \u0909\u0924\u094D\u0924\u0930 \u0915\u093F\u0938\u0940 \u0938\u094D\u0930\u094B\u0924 \u092A\u0930 \u0906\u0927\u093E\u0930\u093F\u0924 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964 \u0926\u0942\u0938\u0930\u0947 \u0936\u092C\u094D\u0926\u094B\u0902 \u092E\u0947\u0902 \u092A\u0942\u091B\u0947\u0902, \u092F\u093E",
|
|
131
|
+
askHuman: "\u0939\u092E\u0938\u0947 \u0938\u0902\u092A\u0930\u094D\u0915 \u0915\u0930\u0947\u0902",
|
|
132
|
+
prevSuggestion: "\u092A\u093F\u091B\u0932\u093E \u0938\u0941\u091D\u093E\u0935",
|
|
133
|
+
nextSuggestion: "\u0905\u0917\u0932\u093E \u0938\u0941\u091D\u093E\u0935",
|
|
134
|
+
capabilities: [
|
|
135
|
+
"\u0939\u092E\u093E\u0930\u0947 \u0905\u092A\u0928\u0947 \u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C\u094B\u0902 \u092A\u0930 \u0906\u0927\u093E\u0930\u093F\u0924",
|
|
136
|
+
"\u0938\u092D\u0940 \u0909\u0924\u094D\u092A\u093E\u0926\u094B\u0902 \u0915\u0940 \u0924\u0941\u0932\u0928\u093E \u0915\u0930\u0947\u0902",
|
|
137
|
+
"\u0938\u0940\u0927\u0947 \u0938\u0939\u0940 \u092A\u0947\u091C \u092A\u0930"
|
|
138
|
+
],
|
|
139
|
+
prompts: [
|
|
140
|
+
"\u092F\u0939 \u0909\u0924\u094D\u092A\u093E\u0926 \u0905\u0938\u0932 \u092E\u0947\u0902 \u0915\u094D\u092F\u093E \u0915\u0930\u0924\u093E \u0939\u0948?",
|
|
141
|
+
"\u092E\u0947\u0930\u0940 \u091F\u0940\u092E \u0915\u0947 \u0932\u093F\u090F \u0915\u094C\u0928 \u0938\u093E \u0909\u0924\u094D\u092A\u093E\u0926 \u0938\u0939\u0940 \u0939\u0948?",
|
|
142
|
+
"\u0936\u0941\u0930\u0941\u0906\u0924 \u0915\u0948\u0938\u0947 \u0915\u0930\u0947\u0902, \u091A\u0930\u0923 \u0926\u0930 \u091A\u0930\u0923?",
|
|
143
|
+
"\u0907\u0938\u0915\u0940 \u0915\u0940\u092E\u0924 \u0915\u093F\u0924\u0928\u0940 \u0939\u0948?"
|
|
144
|
+
]
|
|
145
|
+
};
|
|
146
|
+
var ES = {
|
|
147
|
+
badge: "Respuestas de IA basadas en nuestra documentaci\xF3n",
|
|
148
|
+
welcomeTitle: "Pregunta lo que quieras sobre nuestros productos",
|
|
149
|
+
welcomeBody: "Cu\xE9ntame qu\xE9 necesitas hacer y te indicar\xE9 el producto, la p\xE1gina y el siguiente paso.",
|
|
150
|
+
tryAsking: "Prueba a preguntar",
|
|
151
|
+
focusProduct: "Centrarse en un producto",
|
|
152
|
+
allProducts: "Todos los productos",
|
|
153
|
+
showAll: "Todos",
|
|
154
|
+
showLess: "Ver menos",
|
|
155
|
+
sources: "Fuentes",
|
|
156
|
+
nextYouCouldAsk: "Tambi\xE9n puedes preguntar",
|
|
157
|
+
placeholder: "Pregunta lo que quieras sobre nuestros productos\u2026",
|
|
158
|
+
placeholderProduct: "Pregunta sobre {product}\u2026",
|
|
159
|
+
send: "Enviar",
|
|
160
|
+
stop: "Detener",
|
|
161
|
+
newChat: "Nueva conversaci\xF3n",
|
|
162
|
+
history: "Historial",
|
|
163
|
+
clearHistory: "Borrar historial",
|
|
164
|
+
share: "Compartir",
|
|
165
|
+
copied: "Copiado",
|
|
166
|
+
copying: "Copiando\u2026",
|
|
167
|
+
shareUnavailable: "No disponible",
|
|
168
|
+
disclaimer: "Aviso",
|
|
169
|
+
disclaimerShort: "Basado en nuestra documentaci\xF3n: comprueba cualquier dato importante.",
|
|
170
|
+
dictate: "Dictar tu pregunta",
|
|
171
|
+
stopDictating: "Dejar de dictar",
|
|
172
|
+
noAnswer: "No he encontrado esto en nuestra documentaci\xF3n, as\xED que la respuesta de abajo no se apoya en ninguna fuente. Prueba a reformularla, o",
|
|
173
|
+
askHuman: "habla con una persona",
|
|
174
|
+
prevSuggestion: "Sugerencia anterior",
|
|
175
|
+
nextSuggestion: "Sugerencia siguiente",
|
|
176
|
+
capabilities: [
|
|
177
|
+
"Basado en nuestra documentaci\xF3n",
|
|
178
|
+
"Compara todo el ecosistema",
|
|
179
|
+
"Directo a la p\xE1gina correcta"
|
|
180
|
+
],
|
|
181
|
+
prompts: [
|
|
182
|
+
"\xBFQu\xE9 hace realmente este producto?",
|
|
183
|
+
"\xBFQu\xE9 producto encaja con mi equipo?",
|
|
184
|
+
"\xBFC\xF3mo empiezo, paso a paso?",
|
|
185
|
+
"\xBFCu\xE1nto cuesta?"
|
|
186
|
+
]
|
|
187
|
+
};
|
|
188
|
+
var AR = {
|
|
189
|
+
badge: "\u0625\u062C\u0627\u0628\u0627\u062A \u0630\u0643\u0627\u0621 \u0627\u0635\u0637\u0646\u0627\u0639\u064A \u0645\u0628\u0646\u064A\u0629 \u0639\u0644\u0649 \u0648\u062B\u0627\u0626\u0642\u0646\u0627",
|
|
190
|
+
welcomeTitle: "\u0627\u0633\u0623\u0644 \u0623\u064A \u0634\u064A\u0621 \u0639\u0646 \u0645\u0646\u062A\u062C\u0627\u062A\u0646\u0627",
|
|
191
|
+
welcomeBody: "\u0635\u0650\u0641 \u0645\u0627 \u062A\u0631\u064A\u062F \u0625\u0646\u062C\u0627\u0632\u0647 \u0648\u0633\u0623\u062F\u0644\u0651\u0643 \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u062A\u062C \u0648\u0627\u0644\u0635\u0641\u062D\u0629 \u0648\u0627\u0644\u062E\u0637\u0648\u0629 \u0627\u0644\u062A\u0627\u0644\u064A\u0629.",
|
|
192
|
+
tryAsking: "\u062C\u0631\u0651\u0628 \u0623\u0646 \u062A\u0633\u0623\u0644",
|
|
193
|
+
focusProduct: "\u0627\u0644\u062A\u0631\u0643\u064A\u0632 \u0639\u0644\u0649 \u0645\u0646\u062A\u062C",
|
|
194
|
+
allProducts: "\u0643\u0644 \u0627\u0644\u0645\u0646\u062A\u062C\u0627\u062A",
|
|
195
|
+
showAll: "\u0627\u0644\u0643\u0644",
|
|
196
|
+
showLess: "\u0639\u0631\u0636 \u0623\u0642\u0644",
|
|
197
|
+
sources: "\u0627\u0644\u0645\u0635\u0627\u062F\u0631",
|
|
198
|
+
nextYouCouldAsk: "\u064A\u0645\u0643\u0646\u0643 \u0623\u0646 \u062A\u0633\u0623\u0644 \u0628\u0639\u062F \u0630\u0644\u0643",
|
|
199
|
+
placeholder: "\u0627\u0633\u0623\u0644 \u0623\u064A \u0634\u064A\u0621 \u0639\u0646 \u0645\u0646\u062A\u062C\u0627\u062A\u0646\u0627\u2026",
|
|
200
|
+
placeholderProduct: "\u0627\u0633\u0623\u0644 \u0639\u0646 {product}\u2026",
|
|
201
|
+
send: "\u0625\u0631\u0633\u0627\u0644",
|
|
202
|
+
stop: "\u0625\u064A\u0642\u0627\u0641",
|
|
203
|
+
newChat: "\u0645\u062D\u0627\u062F\u062B\u0629 \u062C\u062F\u064A\u062F\u0629",
|
|
204
|
+
history: "\u0627\u0644\u0633\u062C\u0644",
|
|
205
|
+
clearHistory: "\u0645\u0633\u062D \u0627\u0644\u0633\u062C\u0644",
|
|
206
|
+
share: "\u0645\u0634\u0627\u0631\u0643\u0629",
|
|
207
|
+
copied: "\u062A\u0645 \u0627\u0644\u0646\u0633\u062E",
|
|
208
|
+
copying: "\u062C\u0627\u0631\u064D \u0627\u0644\u0646\u0633\u062E\u2026",
|
|
209
|
+
shareUnavailable: "\u063A\u064A\u0631 \u0645\u062A\u0627\u062D",
|
|
210
|
+
disclaimer: "\u0625\u062E\u0644\u0627\u0621 \u0645\u0633\u0624\u0648\u0644\u064A\u0629",
|
|
211
|
+
disclaimerShort: "\u0645\u0628\u0646\u064A \u0639\u0644\u0649 \u0648\u062B\u0627\u0626\u0642\u0646\u0627 \u2014 \u062A\u062D\u0642\u0651\u0642 \u0645\u0646 \u0623\u064A \u0645\u0639\u0644\u0648\u0645\u0629 \u0645\u0647\u0645\u0629.",
|
|
212
|
+
dictate: "\u0623\u0645\u0644\u0650 \u0633\u0624\u0627\u0644\u0643",
|
|
213
|
+
stopDictating: "\u0625\u064A\u0642\u0627\u0641 \u0627\u0644\u0625\u0645\u0644\u0627\u0621",
|
|
214
|
+
noAnswer: "\u0644\u0645 \u0623\u062C\u062F \u0647\u0630\u0627 \u0641\u064A \u0648\u062B\u0627\u0626\u0642\u0646\u0627\u060C \u0644\u0630\u0627 \u0641\u0627\u0644\u0625\u062C\u0627\u0628\u0629 \u0623\u062F\u0646\u0627\u0647 \u063A\u064A\u0631 \u0645\u0633\u062A\u0646\u062F\u0629 \u0625\u0644\u0649 \u0645\u0635\u062F\u0631. \u062D\u0627\u0648\u0644 \u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0635\u064A\u0627\u063A\u0629\u060C \u0623\u0648",
|
|
215
|
+
askHuman: "\u062A\u062D\u062F\u0651\u062B \u0625\u0644\u0649 \u0634\u062E\u0635",
|
|
216
|
+
prevSuggestion: "\u0627\u0644\u0627\u0642\u062A\u0631\u0627\u062D \u0627\u0644\u0633\u0627\u0628\u0642",
|
|
217
|
+
nextSuggestion: "\u0627\u0644\u0627\u0642\u062A\u0631\u0627\u062D \u0627\u0644\u062A\u0627\u0644\u064A",
|
|
218
|
+
capabilities: [
|
|
219
|
+
"\u0645\u0628\u0646\u064A \u0639\u0644\u0649 \u0648\u062B\u0627\u0626\u0642\u0646\u0627",
|
|
220
|
+
"\u0642\u0627\u0631\u0646 \u0639\u0628\u0631 \u0627\u0644\u0645\u0646\u0638\u0648\u0645\u0629",
|
|
221
|
+
"\u0645\u0628\u0627\u0634\u0631\u0629\u064B \u0625\u0644\u0649 \u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u0635\u062D\u064A\u062D\u0629"
|
|
222
|
+
],
|
|
223
|
+
prompts: [
|
|
224
|
+
"\u0645\u0627 \u0627\u0644\u0630\u064A \u064A\u0641\u0639\u0644\u0647 \u0647\u0630\u0627 \u0627\u0644\u0645\u0646\u062A\u062C \u0641\u0639\u0644\u064A\u064B\u0627\u061F",
|
|
225
|
+
"\u0623\u064A \u0645\u0646\u062A\u062C \u064A\u0646\u0627\u0633\u0628 \u0641\u0631\u064A\u0642\u064A\u061F",
|
|
226
|
+
"\u0643\u064A\u0641 \u0623\u0628\u062F\u0623 \u062E\u0637\u0648\u0629 \u0628\u062E\u0637\u0648\u0629\u061F",
|
|
227
|
+
"\u0643\u0645 \u062A\u0628\u0644\u063A \u0627\u0644\u062A\u0643\u0644\u0641\u0629\u061F"
|
|
228
|
+
]
|
|
229
|
+
};
|
|
230
|
+
var TA = {
|
|
231
|
+
badge: "\u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B86\u0BB5\u0BA3\u0B99\u0BCD\u0B95\u0BB3\u0BC8 \u0B85\u0B9F\u0BBF\u0BAA\u0BCD\u0BAA\u0B9F\u0BC8\u0BAF\u0BBE\u0B95\u0B95\u0BCD \u0B95\u0BCA\u0BA3\u0BCD\u0B9F AI \u0BAA\u0BA4\u0BBF\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",
|
|
232
|
+
welcomeTitle: "\u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD \u0BAA\u0BB1\u0BCD\u0BB1\u0BBF \u0B8E\u0BA4\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0B95\u0BC7\u0BB3\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
|
|
233
|
+
welcomeBody: "\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B8E\u0BA9\u0BCD\u0BA9 \u0B9A\u0BC6\u0BAF\u0BCD\u0BAF \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B8E\u0BA9\u0BCD\u0BB1\u0BC1 \u0B9A\u0BCA\u0BB2\u0BCD\u0BB2\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD; \u0B9A\u0BB0\u0BBF\u0BAF\u0BBE\u0BA9 \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1, \u0BAA\u0B95\u0BCD\u0B95\u0BAE\u0BCD, \u0B85\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4 \u0BAA\u0B9F\u0BBF \u0B86\u0B95\u0BBF\u0BAF\u0BB5\u0BB1\u0BCD\u0BB1\u0BC8\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B95\u0BBF\u0BB1\u0BC7\u0BA9\u0BCD.",
|
|
234
|
+
tryAsking: "\u0B87\u0BA4\u0BC8\u0B95\u0BCD \u0B95\u0BC7\u0B9F\u0BCD\u0B9F\u0BC1\u0BAA\u0BCD \u0BAA\u0BBE\u0BB0\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
|
|
235
|
+
focusProduct: "\u0B92\u0BB0\u0BC1 \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BBF\u0BB2\u0BCD \u0B95\u0BB5\u0BA9\u0BAE\u0BCD",
|
|
236
|
+
allProducts: "\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",
|
|
237
|
+
showAll: "\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1\u0BAE\u0BCD",
|
|
238
|
+
showLess: "\u0B95\u0BC1\u0BB1\u0BC8\u0BB5\u0BBE\u0B95\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1",
|
|
239
|
+
sources: "\u0BAE\u0BC2\u0BB2\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
|
|
240
|
+
nextYouCouldAsk: "\u0B85\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1 \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B95\u0BC7\u0B9F\u0BCD\u0B95\u0BB2\u0BBE\u0BAE\u0BCD",
|
|
241
|
+
placeholder: "\u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD \u0BAA\u0BB1\u0BCD\u0BB1\u0BBF \u0B8E\u0BA4\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0B95\u0BC7\u0BB3\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD\u2026",
|
|
242
|
+
placeholderProduct: "{product} \u0BAA\u0BB1\u0BCD\u0BB1\u0BBF\u0B95\u0BCD \u0B95\u0BC7\u0BB3\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD\u2026",
|
|
243
|
+
send: "\u0B85\u0BA9\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1",
|
|
244
|
+
stop: "\u0BA8\u0BBF\u0BB1\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1",
|
|
245
|
+
newChat: "\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0B89\u0BB0\u0BC8\u0BAF\u0BBE\u0B9F\u0BB2\u0BCD",
|
|
246
|
+
history: "\u0BB5\u0BB0\u0BB2\u0BBE\u0BB1\u0BC1",
|
|
247
|
+
clearHistory: "\u0BB5\u0BB0\u0BB2\u0BBE\u0BB1\u0BCD\u0BB1\u0BC8 \u0B85\u0BB4\u0BBF",
|
|
248
|
+
share: "\u0BAA\u0B95\u0BBF\u0BB0\u0BCD",
|
|
249
|
+
copied: "\u0BA8\u0B95\u0BB2\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1",
|
|
250
|
+
copying: "\u0BA8\u0B95\u0BB2\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BBF\u0BB1\u0BA4\u0BC1\u2026",
|
|
251
|
+
shareUnavailable: "\u0B95\u0BBF\u0B9F\u0BC8\u0B95\u0BCD\u0B95\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8",
|
|
252
|
+
disclaimer: "\u0BAA\u0BCA\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0BA4\u0BCD \u0BA4\u0BC1\u0BB1\u0BAA\u0BCD\u0BAA\u0BC1",
|
|
253
|
+
disclaimerShort: "\u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B86\u0BB5\u0BA3\u0B99\u0BCD\u0B95\u0BB3\u0BC8 \u0B85\u0B9F\u0BBF\u0BAA\u0BCD\u0BAA\u0B9F\u0BC8\u0BAF\u0BBE\u0B95\u0B95\u0BCD \u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BA4\u0BC1 \u2014 \u0BAE\u0BC1\u0B95\u0BCD\u0B95\u0BBF\u0BAF\u0BAE\u0BBE\u0BA9\u0BA4\u0BC8\u0B9A\u0BCD \u0B9A\u0BB0\u0BBF\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD.",
|
|
254
|
+
dictate: "\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B95\u0BC7\u0BB3\u0BCD\u0BB5\u0BBF\u0BAF\u0BC8\u0BAA\u0BCD \u0BAA\u0BC7\u0B9A\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
|
|
255
|
+
stopDictating: "\u0BAA\u0BC7\u0B9A\u0BC1\u0BB5\u0BA4\u0BC8 \u0BA8\u0BBF\u0BB1\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1",
|
|
256
|
+
noAnswer: "\u0B87\u0BA4\u0BC1 \u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B86\u0BB5\u0BA3\u0B99\u0BCD\u0B95\u0BB3\u0BBF\u0BB2\u0BCD \u0B95\u0BBF\u0B9F\u0BC8\u0B95\u0BCD\u0B95\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8, \u0B8E\u0BA9\u0BB5\u0BC7 \u0B95\u0BC0\u0BB4\u0BC7 \u0B89\u0BB3\u0BCD\u0BB3 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BC1 \u0BAE\u0BC2\u0BB2\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8. \u0BB5\u0BC7\u0BB1\u0BC1 \u0BB5\u0B95\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0B95\u0BC7\u0BB3\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD, \u0B85\u0BB2\u0BCD\u0BB2\u0BA4\u0BC1",
|
|
257
|
+
askHuman: "\u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BC8\u0BA4\u0BCD \u0BA4\u0BCA\u0B9F\u0BB0\u0BCD\u0BAA\u0BC1 \u0B95\u0BCA\u0BB3\u0BCD\u0BB3\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
|
|
258
|
+
prevSuggestion: "\u0BAE\u0BC1\u0BA8\u0BCD\u0BA4\u0BC8\u0BAF \u0BAA\u0BB0\u0BBF\u0BA8\u0BCD\u0BA4\u0BC1\u0BB0\u0BC8",
|
|
259
|
+
nextSuggestion: "\u0B85\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4 \u0BAA\u0BB0\u0BBF\u0BA8\u0BCD\u0BA4\u0BC1\u0BB0\u0BC8",
|
|
260
|
+
capabilities: [
|
|
261
|
+
"\u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BCA\u0BA8\u0BCD\u0BA4 \u0B86\u0BB5\u0BA3\u0B99\u0BCD\u0B95\u0BB3\u0BBF\u0BA9\u0BCD \u0B85\u0B9F\u0BBF\u0BAA\u0BCD\u0BAA\u0B9F\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD",
|
|
262
|
+
"\u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BC8 \u0B92\u0BAA\u0BCD\u0BAA\u0BBF\u0B9F\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
|
|
263
|
+
"\u0BA8\u0BC7\u0BB0\u0BBE\u0B95 \u0B9A\u0BB0\u0BBF\u0BAF\u0BBE\u0BA9 \u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1"
|
|
264
|
+
],
|
|
265
|
+
prompts: [
|
|
266
|
+
"\u0B87\u0BA8\u0BCD\u0BA4\u0BA4\u0BCD \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1 \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0B8E\u0BA9\u0BCD\u0BA9 \u0B9A\u0BC6\u0BAF\u0BCD\u0B95\u0BBF\u0BB1\u0BA4\u0BC1?",
|
|
267
|
+
"\u0B8E\u0BA9\u0BCD \u0B95\u0BC1\u0BB4\u0BC1\u0BB5\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0B8E\u0BA8\u0BCD\u0BA4\u0BA4\u0BCD \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1 \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1\u0BAE\u0BCD?",
|
|
268
|
+
"\u0BAA\u0B9F\u0BBF\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF\u0BAF\u0BBE\u0B95 \u0B8E\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF\u0BA4\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95\u0BC1\u0BB5\u0BA4\u0BC1?",
|
|
269
|
+
"\u0B87\u0BA4\u0BA9\u0BCD \u0BB5\u0BBF\u0BB2\u0BC8 \u0B8E\u0BA9\u0BCD\u0BA9?"
|
|
270
|
+
]
|
|
271
|
+
};
|
|
272
|
+
var STRINGS = {
|
|
273
|
+
en: EN,
|
|
274
|
+
zh: ZH,
|
|
275
|
+
hi: HI,
|
|
276
|
+
es: ES,
|
|
277
|
+
ar: AR,
|
|
278
|
+
ta: TA
|
|
279
|
+
};
|
|
280
|
+
function resolveExploreLocale(explicit) {
|
|
281
|
+
const candidates = [
|
|
282
|
+
explicit,
|
|
283
|
+
typeof document === "undefined" ? void 0 : document.documentElement.lang,
|
|
284
|
+
typeof navigator === "undefined" ? void 0 : navigator.language
|
|
285
|
+
];
|
|
286
|
+
for (const candidate of candidates) {
|
|
287
|
+
if (!candidate) continue;
|
|
288
|
+
const primary = candidate.toLowerCase().split("-")[0];
|
|
289
|
+
const match = EXPLORE_LOCALES.find((locale) => locale === primary);
|
|
290
|
+
if (match) return match;
|
|
291
|
+
}
|
|
292
|
+
return "en";
|
|
293
|
+
}
|
|
294
|
+
function exploreStrings(locale) {
|
|
295
|
+
return STRINGS[locale] ?? EN;
|
|
296
|
+
}
|
|
297
|
+
function fill(template, values) {
|
|
298
|
+
return template.replace(/\{(\w+)\}/g, (match, key) => values[key] ?? match);
|
|
299
|
+
}
|
|
17
300
|
var defaultComponents = {
|
|
18
301
|
a: ({ href, children, ...props }) => {
|
|
19
302
|
const isExternal = typeof href === "string" && (href.startsWith("http://") || href.startsWith("https://"));
|
|
@@ -1759,6 +2042,39 @@ function useSpeechInput({
|
|
|
1759
2042
|
);
|
|
1760
2043
|
return { supported, listening, interim, error, start, stop, toggle };
|
|
1761
2044
|
}
|
|
2045
|
+
var SWIPE_THRESHOLD = 40;
|
|
2046
|
+
function useSwipe({
|
|
2047
|
+
onSwipeLeft,
|
|
2048
|
+
onSwipeRight,
|
|
2049
|
+
enabled = true
|
|
2050
|
+
}) {
|
|
2051
|
+
const start = useRef(null);
|
|
2052
|
+
const onPointerDown = useCallback(
|
|
2053
|
+
(event) => {
|
|
2054
|
+
if (!enabled) return;
|
|
2055
|
+
start.current = { x: event.clientX, y: event.clientY };
|
|
2056
|
+
},
|
|
2057
|
+
[enabled]
|
|
2058
|
+
);
|
|
2059
|
+
const onPointerUp = useCallback(
|
|
2060
|
+
(event) => {
|
|
2061
|
+
const from = start.current;
|
|
2062
|
+
start.current = null;
|
|
2063
|
+
if (!enabled || !from) return;
|
|
2064
|
+
const dx = event.clientX - from.x;
|
|
2065
|
+
const dy = event.clientY - from.y;
|
|
2066
|
+
if (Math.abs(dx) < SWIPE_THRESHOLD || Math.abs(dx) <= Math.abs(dy))
|
|
2067
|
+
return;
|
|
2068
|
+
if (dx < 0) onSwipeLeft?.();
|
|
2069
|
+
else onSwipeRight?.();
|
|
2070
|
+
},
|
|
2071
|
+
[enabled, onSwipeLeft, onSwipeRight]
|
|
2072
|
+
);
|
|
2073
|
+
const onPointerCancel = useCallback(() => {
|
|
2074
|
+
start.current = null;
|
|
2075
|
+
}, []);
|
|
2076
|
+
return { onPointerDown, onPointerUp, onPointerCancel };
|
|
2077
|
+
}
|
|
1762
2078
|
function canonicalFromLocation() {
|
|
1763
2079
|
if (typeof window === "undefined" || !window.location) return void 0;
|
|
1764
2080
|
const { origin, pathname } = window.location;
|
|
@@ -1971,6 +2287,70 @@ var EXPLORE_CSS = `
|
|
|
1971
2287
|
max-width: 100%;
|
|
1972
2288
|
height: auto;
|
|
1973
2289
|
}
|
|
2290
|
+
|
|
2291
|
+
/* ---- Ambient backdrop -----------------------------------------------------------------
|
|
2292
|
+
Two very low-opacity radial washes behind the welcome state, drifting slowly. Painted on
|
|
2293
|
+
a pseudo-element with pointer-events:none so it can never intercept a click \u2014 a
|
|
2294
|
+
decorative overlay that swallows clicks is a bug we have shipped before.
|
|
2295
|
+
Colours come from the product's own --primary token, so this picks up each site's palette
|
|
2296
|
+
instead of introducing one. */
|
|
2297
|
+
.boff-explore-aura {
|
|
2298
|
+
position: relative;
|
|
2299
|
+
isolation: isolate;
|
|
2300
|
+
}
|
|
2301
|
+
.boff-explore-aura::before {
|
|
2302
|
+
content: "";
|
|
2303
|
+
position: absolute;
|
|
2304
|
+
inset: -10% -20% auto -20%;
|
|
2305
|
+
height: 60%;
|
|
2306
|
+
z-index: -1;
|
|
2307
|
+
pointer-events: none;
|
|
2308
|
+
background:
|
|
2309
|
+
radial-gradient(38% 55% at 22% 30%, hsl(var(--primary) / 0.10), transparent 70%),
|
|
2310
|
+
radial-gradient(32% 48% at 78% 18%, hsl(var(--primary) / 0.07), transparent 72%);
|
|
2311
|
+
filter: blur(6px);
|
|
2312
|
+
animation: boff-explore-drift 26s ease-in-out infinite alternate;
|
|
2313
|
+
}
|
|
2314
|
+
@keyframes boff-explore-drift {
|
|
2315
|
+
from { transform: translate3d(-1.5%, -1%, 0) scale(1); }
|
|
2316
|
+
to { transform: translate3d(1.5%, 1.5%, 0) scale(1.06); }
|
|
2317
|
+
}
|
|
2318
|
+
|
|
2319
|
+
/* Entrance: content settles rather than snapping in. Short, and only once. */
|
|
2320
|
+
@keyframes boff-explore-rise {
|
|
2321
|
+
from { opacity: 0; transform: translateY(6px); }
|
|
2322
|
+
to { opacity: 1; transform: none; }
|
|
2323
|
+
}
|
|
2324
|
+
.boff-explore-rise {
|
|
2325
|
+
animation: boff-explore-rise 380ms cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
2326
|
+
}
|
|
2327
|
+
.boff-explore-rise-1 { animation-delay: 40ms; }
|
|
2328
|
+
.boff-explore-rise-2 { animation-delay: 90ms; }
|
|
2329
|
+
.boff-explore-rise-3 { animation-delay: 140ms; }
|
|
2330
|
+
|
|
2331
|
+
/* A soft sheen that crosses the send button while a turn is in flight \u2014 enough to say
|
|
2332
|
+
"working" without another spinner competing with the thinking dots. */
|
|
2333
|
+
@keyframes boff-explore-sheen {
|
|
2334
|
+
from { transform: translateX(-120%); }
|
|
2335
|
+
to { transform: translateX(220%); }
|
|
2336
|
+
}
|
|
2337
|
+
.boff-explore-busy { position: relative; overflow: hidden; }
|
|
2338
|
+
.boff-explore-busy::after {
|
|
2339
|
+
content: "";
|
|
2340
|
+
position: absolute;
|
|
2341
|
+
inset: 0;
|
|
2342
|
+
pointer-events: none;
|
|
2343
|
+
background: linear-gradient(100deg, transparent 20%, hsl(var(--primary) / 0.22) 50%, transparent 80%);
|
|
2344
|
+
animation: boff-explore-sheen 1.5s ease-in-out infinite;
|
|
2345
|
+
}
|
|
2346
|
+
|
|
2347
|
+
/* Every one of the above is decoration. Reduced motion removes the movement and keeps the
|
|
2348
|
+
final state, rather than leaving content mid-animation and invisible. */
|
|
2349
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2350
|
+
.boff-explore-aura::before,
|
|
2351
|
+
.boff-explore-busy::after { animation: none; }
|
|
2352
|
+
.boff-explore-rise { animation: none; opacity: 1; transform: none; }
|
|
2353
|
+
}
|
|
1974
2354
|
`;
|
|
1975
2355
|
function ExploreStyles() {
|
|
1976
2356
|
return /* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: EXPLORE_CSS } });
|
|
@@ -2179,6 +2559,7 @@ function UserBubble({ message }) {
|
|
|
2179
2559
|
) });
|
|
2180
2560
|
}
|
|
2181
2561
|
function AssistantBubble({
|
|
2562
|
+
strings: T,
|
|
2182
2563
|
message,
|
|
2183
2564
|
activity,
|
|
2184
2565
|
onNavigate,
|
|
@@ -2195,7 +2576,7 @@ function AssistantBubble({
|
|
|
2195
2576
|
ref: anchorRef,
|
|
2196
2577
|
"data-boff-explore": "assistant",
|
|
2197
2578
|
"data-status": message.status,
|
|
2198
|
-
className: "flex scroll-mt-4 gap-3",
|
|
2579
|
+
className: "boff-explore-rise flex scroll-mt-4 gap-3",
|
|
2199
2580
|
children: [
|
|
2200
2581
|
/* @__PURE__ */ jsx(
|
|
2201
2582
|
"span",
|
|
@@ -2226,7 +2607,7 @@ function AssistantBubble({
|
|
|
2226
2607
|
event.preventDefault();
|
|
2227
2608
|
onNavigate("/contact");
|
|
2228
2609
|
},
|
|
2229
|
-
children:
|
|
2610
|
+
children: T.askHuman
|
|
2230
2611
|
}
|
|
2231
2612
|
),
|
|
2232
2613
|
"."
|
|
@@ -2241,7 +2622,7 @@ function AssistantBubble({
|
|
|
2241
2622
|
streaming ? /* @__PURE__ */ jsx(ThinkingIndicator, { activity }) : null,
|
|
2242
2623
|
failed && !body ? /* @__PURE__ */ jsx("div", { className: "rounded-2xl rounded-tl-md border border-border bg-muted px-4 py-3 text-sm text-muted-foreground", children: "That answer didn't come through. Try asking again." }) : null,
|
|
2243
2624
|
message.references.length > 0 ? /* @__PURE__ */ jsxs("div", { children: [
|
|
2244
|
-
/* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children:
|
|
2625
|
+
/* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.sources }),
|
|
2245
2626
|
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3", children: message.references.map((reference) => /* @__PURE__ */ jsx(
|
|
2246
2627
|
ReferenceCard,
|
|
2247
2628
|
{
|
|
@@ -2261,7 +2642,7 @@ function AssistantBubble({
|
|
|
2261
2642
|
`${cta.kind}-${cta.url}`
|
|
2262
2643
|
)) }) : null,
|
|
2263
2644
|
message.status === "COMPLETED" && (message.followUps?.length ?? 0) > 0 ? /* @__PURE__ */ jsxs("div", { className: "space-y-1.5 pt-0.5", children: [
|
|
2264
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs font-medium text-muted-foreground", children:
|
|
2645
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs font-medium text-muted-foreground", children: T.nextYouCouldAsk }),
|
|
2265
2646
|
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1.5", children: (message.followUps ?? []).map((question) => /* @__PURE__ */ jsxs(
|
|
2266
2647
|
"button",
|
|
2267
2648
|
{
|
|
@@ -2323,6 +2704,7 @@ function ErrorBanner({
|
|
|
2323
2704
|
);
|
|
2324
2705
|
}
|
|
2325
2706
|
function PromptCarousel({
|
|
2707
|
+
strings: T,
|
|
2326
2708
|
prompts,
|
|
2327
2709
|
onPrompt,
|
|
2328
2710
|
disabled
|
|
@@ -2337,6 +2719,11 @@ function PromptCarousel({
|
|
|
2337
2719
|
},
|
|
2338
2720
|
[count]
|
|
2339
2721
|
);
|
|
2722
|
+
const swipe = useSwipe({
|
|
2723
|
+
onSwipeLeft: () => go(1),
|
|
2724
|
+
onSwipeRight: () => go(-1),
|
|
2725
|
+
enabled: count > 1
|
|
2726
|
+
});
|
|
2340
2727
|
useEffect(() => {
|
|
2341
2728
|
if (paused || disabled || count < 2) return;
|
|
2342
2729
|
if (typeof window !== "undefined" && window.matchMedia?.("(prefers-reduced-motion: reduce)").matches) {
|
|
@@ -2349,7 +2736,7 @@ function PromptCarousel({
|
|
|
2349
2736
|
return /* @__PURE__ */ jsxs(
|
|
2350
2737
|
"div",
|
|
2351
2738
|
{
|
|
2352
|
-
className: "flex min-w-0 items-center gap-1.5",
|
|
2739
|
+
className: "flex min-w-0 touch-pan-y items-center gap-1.5",
|
|
2353
2740
|
role: "group",
|
|
2354
2741
|
"aria-roledescription": "carousel",
|
|
2355
2742
|
"aria-label": "Example questions",
|
|
@@ -2357,14 +2744,15 @@ function PromptCarousel({
|
|
|
2357
2744
|
onMouseLeave: () => setPaused(false),
|
|
2358
2745
|
onFocusCapture: () => setPaused(true),
|
|
2359
2746
|
onBlurCapture: () => setPaused(false),
|
|
2747
|
+
...swipe,
|
|
2360
2748
|
children: [
|
|
2361
2749
|
count > 1 ? /* @__PURE__ */ jsx(
|
|
2362
2750
|
"button",
|
|
2363
2751
|
{
|
|
2364
2752
|
type: "button",
|
|
2365
|
-
"aria-label":
|
|
2753
|
+
"aria-label": T.prevSuggestion,
|
|
2366
2754
|
onClick: () => go(-1),
|
|
2367
|
-
className: "
|
|
2755
|
+
className: "inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
2368
2756
|
children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" })
|
|
2369
2757
|
}
|
|
2370
2758
|
) : null,
|
|
@@ -2391,7 +2779,7 @@ function PromptCarousel({
|
|
|
2391
2779
|
"button",
|
|
2392
2780
|
{
|
|
2393
2781
|
type: "button",
|
|
2394
|
-
"aria-label":
|
|
2782
|
+
"aria-label": T.nextSuggestion,
|
|
2395
2783
|
onClick: () => go(1),
|
|
2396
2784
|
className: "inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
2397
2785
|
children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" })
|
|
@@ -2402,6 +2790,7 @@ function PromptCarousel({
|
|
|
2402
2790
|
);
|
|
2403
2791
|
}
|
|
2404
2792
|
function ProductStrip({
|
|
2793
|
+
strings: T,
|
|
2405
2794
|
products,
|
|
2406
2795
|
focusProduct,
|
|
2407
2796
|
onFocus
|
|
@@ -2436,7 +2825,7 @@ function ProductStrip({
|
|
|
2436
2825
|
"aria-pressed": focusProduct === null,
|
|
2437
2826
|
onClick: () => onFocus(null),
|
|
2438
2827
|
className: chipClass(focusProduct === null),
|
|
2439
|
-
children:
|
|
2828
|
+
children: T.allProducts
|
|
2440
2829
|
}
|
|
2441
2830
|
),
|
|
2442
2831
|
products.map((product) => /* @__PURE__ */ jsx(
|
|
@@ -2465,7 +2854,7 @@ function ProductStrip({
|
|
|
2465
2854
|
"aria-expanded": expanded,
|
|
2466
2855
|
onClick: () => setExpanded((v) => !v),
|
|
2467
2856
|
className: "shrink-0 whitespace-nowrap rounded-full px-2 py-1 text-xs font-medium text-primary underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
2468
|
-
children: expanded ?
|
|
2857
|
+
children: expanded ? T.showLess : `${T.showAll} ${products.length}`
|
|
2469
2858
|
}
|
|
2470
2859
|
) : null
|
|
2471
2860
|
]
|
|
@@ -2573,6 +2962,7 @@ function DisclaimerDialog({
|
|
|
2573
2962
|
);
|
|
2574
2963
|
}
|
|
2575
2964
|
function WelcomeState({
|
|
2965
|
+
strings: T,
|
|
2576
2966
|
title,
|
|
2577
2967
|
body,
|
|
2578
2968
|
prompts,
|
|
@@ -2582,43 +2972,45 @@ function WelcomeState({
|
|
|
2582
2972
|
onFocus,
|
|
2583
2973
|
disabled
|
|
2584
2974
|
}) {
|
|
2585
|
-
return /* @__PURE__ */ jsxs("div", { className: "mx-auto w-full max-w-3xl px-4 py-
|
|
2586
|
-
/* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
2975
|
+
return /* @__PURE__ */ jsxs("div", { className: "boff-explore-aura mx-auto my-auto w-full max-w-3xl px-4 py-6 sm:py-8 lg:py-10", children: [
|
|
2976
|
+
/* @__PURE__ */ jsxs("div", { className: "boff-explore-rise text-center", children: [
|
|
2587
2977
|
/* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5 rounded-full border border-border bg-muted px-3 py-1 text-xs font-medium text-muted-foreground", children: [
|
|
2588
2978
|
/* @__PURE__ */ jsx(Sparkles, { className: "h-3.5 w-3.5" }),
|
|
2589
|
-
|
|
2979
|
+
T.badge
|
|
2590
2980
|
] }),
|
|
2591
2981
|
/* @__PURE__ */ jsx("h1", { className: "mt-4 text-balance break-words text-2xl font-bold tracking-tight sm:text-4xl", children: title }),
|
|
2592
2982
|
/* @__PURE__ */ jsx("p", { className: "mx-auto mt-2.5 max-w-2xl text-pretty text-sm leading-relaxed text-muted-foreground sm:text-lg", children: body })
|
|
2593
2983
|
] }),
|
|
2594
|
-
/* @__PURE__ */ jsx("ul", { className: "mt-
|
|
2984
|
+
/* @__PURE__ */ jsx("ul", { className: "boff-explore-rise boff-explore-rise-1 mt-6 grid grid-cols-3 gap-2 sm:mt-7 sm:gap-2.5", children: CAPABILITIES.map(({ icon: Icon, body: capBody }, i) => /* @__PURE__ */ jsxs(
|
|
2595
2985
|
"li",
|
|
2596
2986
|
{
|
|
2597
|
-
className: "rounded-xl border border-border/70 bg-card/60 p-
|
|
2987
|
+
className: "rounded-xl border border-border/70 bg-card/60 p-2.5 text-center transition-colors hover:border-border sm:p-3.5 sm:text-left",
|
|
2598
2988
|
children: [
|
|
2599
|
-
/* @__PURE__ */ jsx("span", { className: "mb-
|
|
2600
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
2601
|
-
/* @__PURE__ */ jsx("p", { className: "mt-1 text-xs leading-relaxed text-muted-foreground", children: capBody })
|
|
2989
|
+
/* @__PURE__ */ jsx("span", { className: "mx-auto mb-1.5 flex h-7 w-7 items-center justify-center rounded-lg bg-primary/10 text-primary sm:mx-0 sm:mb-2.5 sm:h-8 sm:w-8", children: /* @__PURE__ */ jsx(Icon, { className: "h-3.5 w-3.5 sm:h-4 sm:w-4" }) }),
|
|
2990
|
+
/* @__PURE__ */ jsx("p", { className: "text-[11px] font-semibold leading-tight text-card-foreground sm:text-sm sm:leading-normal", children: T.capabilities[i] ?? "" }),
|
|
2991
|
+
/* @__PURE__ */ jsx("p", { className: "mt-1 hidden text-xs leading-relaxed text-muted-foreground sm:block", children: capBody })
|
|
2602
2992
|
]
|
|
2603
2993
|
},
|
|
2604
|
-
|
|
2994
|
+
i
|
|
2605
2995
|
)) }),
|
|
2606
|
-
prompts.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "mt-8", children: [
|
|
2607
|
-
/* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children:
|
|
2996
|
+
prompts.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "boff-explore-rise boff-explore-rise-2 mt-8", children: [
|
|
2997
|
+
/* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.tryAsking }),
|
|
2608
2998
|
/* @__PURE__ */ jsx(
|
|
2609
2999
|
PromptCarousel,
|
|
2610
3000
|
{
|
|
3001
|
+
strings: T,
|
|
2611
3002
|
prompts,
|
|
2612
3003
|
onPrompt,
|
|
2613
3004
|
disabled
|
|
2614
3005
|
}
|
|
2615
3006
|
)
|
|
2616
3007
|
] }) : null,
|
|
2617
|
-
products.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "mt-6", children: [
|
|
2618
|
-
/* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children:
|
|
3008
|
+
products.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "boff-explore-rise boff-explore-rise-3 mt-6", children: [
|
|
3009
|
+
/* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.focusProduct }),
|
|
2619
3010
|
/* @__PURE__ */ jsx(
|
|
2620
3011
|
ProductStrip,
|
|
2621
3012
|
{
|
|
3013
|
+
strings: T,
|
|
2622
3014
|
products,
|
|
2623
3015
|
focusProduct,
|
|
2624
3016
|
onFocus
|
|
@@ -2637,7 +3029,8 @@ function ExplorePage({
|
|
|
2637
3029
|
onNavigate,
|
|
2638
3030
|
onSend,
|
|
2639
3031
|
welcomeTitle,
|
|
2640
|
-
welcomeBody
|
|
3032
|
+
welcomeBody,
|
|
3033
|
+
locale
|
|
2641
3034
|
}) {
|
|
2642
3035
|
const pageUrl = useMemo(
|
|
2643
3036
|
() => typeof window === "undefined" ? void 0 : window.location.href,
|
|
@@ -2681,6 +3074,12 @@ function ExplorePage({
|
|
|
2681
3074
|
}
|
|
2682
3075
|
});
|
|
2683
3076
|
speechStopRef.current = speech.stop;
|
|
3077
|
+
const activeLocale = useMemo(
|
|
3078
|
+
() => resolveExploreLocale(locale),
|
|
3079
|
+
[locale]
|
|
3080
|
+
);
|
|
3081
|
+
const T = useMemo(() => exploreStrings(activeLocale), [activeLocale]);
|
|
3082
|
+
const rtl = isRtlLocale(activeLocale);
|
|
2684
3083
|
const [disclaimerOpen, setDisclaimerOpen] = useState(false);
|
|
2685
3084
|
const [shareLabel, setShareLabel] = useState("Share");
|
|
2686
3085
|
const [shareUrl, setShareUrl] = useState(null);
|
|
@@ -2795,6 +3194,8 @@ function ExplorePage({
|
|
|
2795
3194
|
{
|
|
2796
3195
|
"data-boff-explore": "page",
|
|
2797
3196
|
"data-phase": phase,
|
|
3197
|
+
"data-locale": activeLocale,
|
|
3198
|
+
dir: rtl ? "rtl" : void 0,
|
|
2798
3199
|
className: cn(
|
|
2799
3200
|
"flex w-full min-w-0 flex-col overflow-x-hidden bg-background text-foreground",
|
|
2800
3201
|
heightMode === "auto" && "min-h-[70vh]",
|
|
@@ -2956,10 +3357,17 @@ function ExplorePage({
|
|
|
2956
3357
|
role: "log",
|
|
2957
3358
|
"aria-live": "polite",
|
|
2958
3359
|
"aria-label": "Explore conversation",
|
|
2959
|
-
className:
|
|
3360
|
+
className: cn(
|
|
3361
|
+
"boff-explore-scroll min-h-0 min-w-0 flex-1 overflow-y-auto overflow-x-hidden",
|
|
3362
|
+
// Only while the welcome state is showing: a flex column is what lets its
|
|
3363
|
+
// `my-auto` centre the block on a tall screen. The transcript must NOT be a flex
|
|
3364
|
+
// column — that would fight the natural top-down flow of messages.
|
|
3365
|
+
showWelcome && "flex flex-col"
|
|
3366
|
+
),
|
|
2960
3367
|
children: showWelcome ? /* @__PURE__ */ jsx(
|
|
2961
3368
|
WelcomeState,
|
|
2962
3369
|
{
|
|
3370
|
+
strings: T,
|
|
2963
3371
|
title: resolvedTitle,
|
|
2964
3372
|
body: resolvedBody,
|
|
2965
3373
|
prompts,
|
|
@@ -2973,6 +3381,7 @@ function ExplorePage({
|
|
|
2973
3381
|
(message) => message.role === "USER" ? /* @__PURE__ */ jsx(UserBubble, { message }, message.id) : /* @__PURE__ */ jsx(
|
|
2974
3382
|
AssistantBubble,
|
|
2975
3383
|
{
|
|
3384
|
+
strings: T,
|
|
2976
3385
|
message,
|
|
2977
3386
|
activity,
|
|
2978
3387
|
onNavigate,
|
|
@@ -3009,6 +3418,7 @@ function ExplorePage({
|
|
|
3009
3418
|
{
|
|
3010
3419
|
className: cn(
|
|
3011
3420
|
"flex min-w-0 items-end gap-2 rounded-2xl border bg-card p-2 shadow-sm transition-all",
|
|
3421
|
+
busy && "boff-explore-busy",
|
|
3012
3422
|
overLimit ? "border-destructive/60" : "border-border focus-within:border-primary/40 focus-within:ring-1 focus-within:ring-ring"
|
|
3013
3423
|
),
|
|
3014
3424
|
children: [
|
|
@@ -3028,7 +3438,9 @@ function ExplorePage({
|
|
|
3028
3438
|
composingRef.current = false;
|
|
3029
3439
|
},
|
|
3030
3440
|
"aria-label": "Ask a question",
|
|
3031
|
-
placeholder: composerDisabled ? phase === "limited" ? "Message limit reached \u2014 please try again later" : "Explore is unavailable right now" : focusedProductName ?
|
|
3441
|
+
placeholder: composerDisabled ? phase === "limited" ? "Message limit reached \u2014 please try again later" : "Explore is unavailable right now" : focusedProductName ? fill(T.placeholderProduct, {
|
|
3442
|
+
product: focusedProductName
|
|
3443
|
+
}) : T.placeholder,
|
|
3032
3444
|
className: "max-h-[200px] min-h-[44px] w-full min-w-0 flex-1 resize-none border-0 bg-transparent px-2 py-2.5 text-sm shadow-none focus-visible:ring-0 md:text-sm"
|
|
3033
3445
|
}
|
|
3034
3446
|
),
|
|
@@ -3041,9 +3453,9 @@ function ExplorePage({
|
|
|
3041
3453
|
size: "icon",
|
|
3042
3454
|
variant: speech.listening ? "default" : "ghost",
|
|
3043
3455
|
disabled: composerDisabled,
|
|
3044
|
-
"aria-label": speech.listening ?
|
|
3456
|
+
"aria-label": speech.listening ? T.stopDictating : T.dictate,
|
|
3045
3457
|
"aria-pressed": speech.listening,
|
|
3046
|
-
title: speech.listening ?
|
|
3458
|
+
title: speech.listening ? T.stopDictating : T.dictate,
|
|
3047
3459
|
onClick: speech.toggle,
|
|
3048
3460
|
className: cn(speech.listening && "animate-pulse"),
|
|
3049
3461
|
children: /* @__PURE__ */ jsx(Mic, { className: "h-4 w-4" })
|
|
@@ -3143,7 +3555,7 @@ function ExplorePage({
|
|
|
3143
3555
|
)
|
|
3144
3556
|
] }) : null,
|
|
3145
3557
|
/* @__PURE__ */ jsxs("div", { className: "mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-muted-foreground", children: [
|
|
3146
|
-
/* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children:
|
|
3558
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children: T.disclaimerShort }),
|
|
3147
3559
|
/* @__PURE__ */ jsx(
|
|
3148
3560
|
"button",
|
|
3149
3561
|
{
|
|
@@ -3151,7 +3563,7 @@ function ExplorePage({
|
|
|
3151
3563
|
"data-boff-explore": "disclaimer",
|
|
3152
3564
|
onClick: () => setDisclaimerOpen(true),
|
|
3153
3565
|
className: "shrink-0 underline underline-offset-2 transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
3154
|
-
children:
|
|
3566
|
+
children: T.disclaimer
|
|
3155
3567
|
}
|
|
3156
3568
|
)
|
|
3157
3569
|
] })
|