@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
|
@@ -40,6 +40,289 @@ var remarkGfm__default = /*#__PURE__*/_interopDefault(remarkGfm);
|
|
|
40
40
|
var __defProp = Object.defineProperty;
|
|
41
41
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
42
42
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
43
|
+
|
|
44
|
+
// src/components/explore-i18n.ts
|
|
45
|
+
var EXPLORE_LOCALES = ["en", "zh", "hi", "es", "ar", "ta"];
|
|
46
|
+
var RTL_LOCALES = /* @__PURE__ */ new Set(["ar"]);
|
|
47
|
+
function isRtlLocale(locale) {
|
|
48
|
+
return RTL_LOCALES.has(locale);
|
|
49
|
+
}
|
|
50
|
+
var EN = {
|
|
51
|
+
badge: "AI answers, grounded in our documentation",
|
|
52
|
+
welcomeTitle: "Ask anything about our products",
|
|
53
|
+
welcomeBody: "Describe what you are trying to do and I will point you at the product, the page and the next step.",
|
|
54
|
+
tryAsking: "Try asking",
|
|
55
|
+
focusProduct: "Focus on a product",
|
|
56
|
+
allProducts: "All products",
|
|
57
|
+
showAll: "All",
|
|
58
|
+
showLess: "Show less",
|
|
59
|
+
sources: "Sources",
|
|
60
|
+
nextYouCouldAsk: "Next you could ask",
|
|
61
|
+
placeholder: "Ask anything about our products\u2026",
|
|
62
|
+
placeholderProduct: "Ask about {product}\u2026",
|
|
63
|
+
send: "Send",
|
|
64
|
+
stop: "Stop",
|
|
65
|
+
newChat: "New chat",
|
|
66
|
+
history: "History",
|
|
67
|
+
clearHistory: "Clear history",
|
|
68
|
+
share: "Share",
|
|
69
|
+
copied: "Copied",
|
|
70
|
+
copying: "Copying\u2026",
|
|
71
|
+
shareUnavailable: "Unavailable",
|
|
72
|
+
disclaimer: "Disclaimer",
|
|
73
|
+
disclaimerShort: "Grounded in our docs \u2014 check anything important.",
|
|
74
|
+
dictate: "Dictate your question",
|
|
75
|
+
stopDictating: "Stop dictating",
|
|
76
|
+
noAnswer: "I couldn't find this in our documentation, so the answer below is not grounded in a source. Try rephrasing, or",
|
|
77
|
+
askHuman: "ask a human",
|
|
78
|
+
prevSuggestion: "Previous suggestion",
|
|
79
|
+
nextSuggestion: "Next suggestion",
|
|
80
|
+
capabilities: [
|
|
81
|
+
"Grounded in our own docs",
|
|
82
|
+
"Compare across the ecosystem",
|
|
83
|
+
"Straight to the right page"
|
|
84
|
+
],
|
|
85
|
+
prompts: [
|
|
86
|
+
"What does this product actually do?",
|
|
87
|
+
"Which product fits my team?",
|
|
88
|
+
"How do I get started, step by step?",
|
|
89
|
+
"How much does it cost?"
|
|
90
|
+
]
|
|
91
|
+
};
|
|
92
|
+
var ZH = {
|
|
93
|
+
badge: "\u57FA\u4E8E\u6211\u4EEC\u6587\u6863\u7684 AI \u56DE\u7B54",
|
|
94
|
+
welcomeTitle: "\u5173\u4E8E\u6211\u4EEC\u7684\u4EA7\u54C1\uFF0C\u968F\u4FBF\u95EE",
|
|
95
|
+
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",
|
|
96
|
+
tryAsking: "\u8BD5\u7740\u95EE",
|
|
97
|
+
focusProduct: "\u805A\u7126\u67D0\u4E2A\u4EA7\u54C1",
|
|
98
|
+
allProducts: "\u5168\u90E8\u4EA7\u54C1",
|
|
99
|
+
showAll: "\u5168\u90E8",
|
|
100
|
+
showLess: "\u6536\u8D77",
|
|
101
|
+
sources: "\u6765\u6E90",
|
|
102
|
+
nextYouCouldAsk: "\u4F60\u8FD8\u53EF\u4EE5\u95EE",
|
|
103
|
+
placeholder: "\u5173\u4E8E\u6211\u4EEC\u7684\u4EA7\u54C1\uFF0C\u968F\u4FBF\u95EE\u2026",
|
|
104
|
+
placeholderProduct: "\u8BE2\u95EE\u5173\u4E8E {product} \u7684\u95EE\u9898\u2026",
|
|
105
|
+
send: "\u53D1\u9001",
|
|
106
|
+
stop: "\u505C\u6B62",
|
|
107
|
+
newChat: "\u65B0\u5BF9\u8BDD",
|
|
108
|
+
history: "\u5386\u53F2",
|
|
109
|
+
clearHistory: "\u6E05\u9664\u5386\u53F2",
|
|
110
|
+
share: "\u5206\u4EAB",
|
|
111
|
+
copied: "\u5DF2\u590D\u5236",
|
|
112
|
+
copying: "\u590D\u5236\u4E2D\u2026",
|
|
113
|
+
shareUnavailable: "\u4E0D\u53EF\u7528",
|
|
114
|
+
disclaimer: "\u514D\u8D23\u58F0\u660E",
|
|
115
|
+
disclaimerShort: "\u5185\u5BB9\u57FA\u4E8E\u6211\u4EEC\u7684\u6587\u6863\uFF0C\u91CD\u8981\u4FE1\u606F\u8BF7\u81EA\u884C\u6838\u5BF9\u3002",
|
|
116
|
+
dictate: "\u8BED\u97F3\u8F93\u5165",
|
|
117
|
+
stopDictating: "\u505C\u6B62\u8BED\u97F3\u8F93\u5165",
|
|
118
|
+
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",
|
|
119
|
+
askHuman: "\u8054\u7CFB\u6211\u4EEC",
|
|
120
|
+
prevSuggestion: "\u4E0A\u4E00\u4E2A\u5EFA\u8BAE",
|
|
121
|
+
nextSuggestion: "\u4E0B\u4E00\u4E2A\u5EFA\u8BAE",
|
|
122
|
+
capabilities: ["\u57FA\u4E8E\u6211\u4EEC\u81EA\u5DF1\u7684\u6587\u6863", "\u8DE8\u4EA7\u54C1\u5BF9\u6BD4", "\u76F4\u8FBE\u6B63\u786E\u7684\u9875\u9762"],
|
|
123
|
+
prompts: [
|
|
124
|
+
"\u8FD9\u4E2A\u4EA7\u54C1\u5230\u5E95\u80FD\u505A\u4EC0\u4E48\uFF1F",
|
|
125
|
+
"\u54EA\u4E2A\u4EA7\u54C1\u9002\u5408\u6211\u7684\u56E2\u961F\uFF1F",
|
|
126
|
+
"\u5982\u4F55\u4E00\u6B65\u6B65\u5F00\u59CB\u4F7F\u7528\uFF1F",
|
|
127
|
+
"\u4EF7\u683C\u662F\u591A\u5C11\uFF1F"
|
|
128
|
+
]
|
|
129
|
+
};
|
|
130
|
+
var HI = {
|
|
131
|
+
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",
|
|
132
|
+
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",
|
|
133
|
+
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",
|
|
134
|
+
tryAsking: "\u092F\u0939 \u092A\u0942\u091B\u0915\u0930 \u0926\u0947\u0916\u0947\u0902",
|
|
135
|
+
focusProduct: "\u0915\u093F\u0938\u0940 \u0909\u0924\u094D\u092A\u093E\u0926 \u092A\u0930 \u0927\u094D\u092F\u093E\u0928 \u0926\u0947\u0902",
|
|
136
|
+
allProducts: "\u0938\u092D\u0940 \u0909\u0924\u094D\u092A\u093E\u0926",
|
|
137
|
+
showAll: "\u0938\u092D\u0940",
|
|
138
|
+
showLess: "\u0915\u092E \u0926\u093F\u0916\u093E\u090F\u0901",
|
|
139
|
+
sources: "\u0938\u094D\u0930\u094B\u0924",
|
|
140
|
+
nextYouCouldAsk: "\u0906\u0917\u0947 \u0906\u092A \u092A\u0942\u091B \u0938\u0915\u0924\u0947 \u0939\u0948\u0902",
|
|
141
|
+
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",
|
|
142
|
+
placeholderProduct: "{product} \u0915\u0947 \u092C\u093E\u0930\u0947 \u092E\u0947\u0902 \u092A\u0942\u091B\u0947\u0902\u2026",
|
|
143
|
+
send: "\u092D\u0947\u091C\u0947\u0902",
|
|
144
|
+
stop: "\u0930\u094B\u0915\u0947\u0902",
|
|
145
|
+
newChat: "\u0928\u0908 \u092C\u093E\u0924\u091A\u0940\u0924",
|
|
146
|
+
history: "\u0907\u0924\u093F\u0939\u093E\u0938",
|
|
147
|
+
clearHistory: "\u0907\u0924\u093F\u0939\u093E\u0938 \u092E\u093F\u091F\u093E\u090F\u0901",
|
|
148
|
+
share: "\u0938\u093E\u091D\u093E \u0915\u0930\u0947\u0902",
|
|
149
|
+
copied: "\u0915\u0949\u092A\u0940 \u0939\u094B \u0917\u092F\u093E",
|
|
150
|
+
copying: "\u0915\u0949\u092A\u0940 \u0939\u094B \u0930\u0939\u093E \u0939\u0948\u2026",
|
|
151
|
+
shareUnavailable: "\u0909\u092A\u0932\u092C\u094D\u0927 \u0928\u0939\u0940\u0902",
|
|
152
|
+
disclaimer: "\u0905\u0938\u094D\u0935\u0940\u0915\u0930\u0923",
|
|
153
|
+
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",
|
|
154
|
+
dictate: "\u092C\u094B\u0932\u0915\u0930 \u092A\u0942\u091B\u0947\u0902",
|
|
155
|
+
stopDictating: "\u092C\u094B\u0932\u0928\u093E \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
|
|
156
|
+
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",
|
|
157
|
+
askHuman: "\u0939\u092E\u0938\u0947 \u0938\u0902\u092A\u0930\u094D\u0915 \u0915\u0930\u0947\u0902",
|
|
158
|
+
prevSuggestion: "\u092A\u093F\u091B\u0932\u093E \u0938\u0941\u091D\u093E\u0935",
|
|
159
|
+
nextSuggestion: "\u0905\u0917\u0932\u093E \u0938\u0941\u091D\u093E\u0935",
|
|
160
|
+
capabilities: [
|
|
161
|
+
"\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",
|
|
162
|
+
"\u0938\u092D\u0940 \u0909\u0924\u094D\u092A\u093E\u0926\u094B\u0902 \u0915\u0940 \u0924\u0941\u0932\u0928\u093E \u0915\u0930\u0947\u0902",
|
|
163
|
+
"\u0938\u0940\u0927\u0947 \u0938\u0939\u0940 \u092A\u0947\u091C \u092A\u0930"
|
|
164
|
+
],
|
|
165
|
+
prompts: [
|
|
166
|
+
"\u092F\u0939 \u0909\u0924\u094D\u092A\u093E\u0926 \u0905\u0938\u0932 \u092E\u0947\u0902 \u0915\u094D\u092F\u093E \u0915\u0930\u0924\u093E \u0939\u0948?",
|
|
167
|
+
"\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?",
|
|
168
|
+
"\u0936\u0941\u0930\u0941\u0906\u0924 \u0915\u0948\u0938\u0947 \u0915\u0930\u0947\u0902, \u091A\u0930\u0923 \u0926\u0930 \u091A\u0930\u0923?",
|
|
169
|
+
"\u0907\u0938\u0915\u0940 \u0915\u0940\u092E\u0924 \u0915\u093F\u0924\u0928\u0940 \u0939\u0948?"
|
|
170
|
+
]
|
|
171
|
+
};
|
|
172
|
+
var ES = {
|
|
173
|
+
badge: "Respuestas de IA basadas en nuestra documentaci\xF3n",
|
|
174
|
+
welcomeTitle: "Pregunta lo que quieras sobre nuestros productos",
|
|
175
|
+
welcomeBody: "Cu\xE9ntame qu\xE9 necesitas hacer y te indicar\xE9 el producto, la p\xE1gina y el siguiente paso.",
|
|
176
|
+
tryAsking: "Prueba a preguntar",
|
|
177
|
+
focusProduct: "Centrarse en un producto",
|
|
178
|
+
allProducts: "Todos los productos",
|
|
179
|
+
showAll: "Todos",
|
|
180
|
+
showLess: "Ver menos",
|
|
181
|
+
sources: "Fuentes",
|
|
182
|
+
nextYouCouldAsk: "Tambi\xE9n puedes preguntar",
|
|
183
|
+
placeholder: "Pregunta lo que quieras sobre nuestros productos\u2026",
|
|
184
|
+
placeholderProduct: "Pregunta sobre {product}\u2026",
|
|
185
|
+
send: "Enviar",
|
|
186
|
+
stop: "Detener",
|
|
187
|
+
newChat: "Nueva conversaci\xF3n",
|
|
188
|
+
history: "Historial",
|
|
189
|
+
clearHistory: "Borrar historial",
|
|
190
|
+
share: "Compartir",
|
|
191
|
+
copied: "Copiado",
|
|
192
|
+
copying: "Copiando\u2026",
|
|
193
|
+
shareUnavailable: "No disponible",
|
|
194
|
+
disclaimer: "Aviso",
|
|
195
|
+
disclaimerShort: "Basado en nuestra documentaci\xF3n: comprueba cualquier dato importante.",
|
|
196
|
+
dictate: "Dictar tu pregunta",
|
|
197
|
+
stopDictating: "Dejar de dictar",
|
|
198
|
+
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",
|
|
199
|
+
askHuman: "habla con una persona",
|
|
200
|
+
prevSuggestion: "Sugerencia anterior",
|
|
201
|
+
nextSuggestion: "Sugerencia siguiente",
|
|
202
|
+
capabilities: [
|
|
203
|
+
"Basado en nuestra documentaci\xF3n",
|
|
204
|
+
"Compara todo el ecosistema",
|
|
205
|
+
"Directo a la p\xE1gina correcta"
|
|
206
|
+
],
|
|
207
|
+
prompts: [
|
|
208
|
+
"\xBFQu\xE9 hace realmente este producto?",
|
|
209
|
+
"\xBFQu\xE9 producto encaja con mi equipo?",
|
|
210
|
+
"\xBFC\xF3mo empiezo, paso a paso?",
|
|
211
|
+
"\xBFCu\xE1nto cuesta?"
|
|
212
|
+
]
|
|
213
|
+
};
|
|
214
|
+
var AR = {
|
|
215
|
+
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",
|
|
216
|
+
welcomeTitle: "\u0627\u0633\u0623\u0644 \u0623\u064A \u0634\u064A\u0621 \u0639\u0646 \u0645\u0646\u062A\u062C\u0627\u062A\u0646\u0627",
|
|
217
|
+
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.",
|
|
218
|
+
tryAsking: "\u062C\u0631\u0651\u0628 \u0623\u0646 \u062A\u0633\u0623\u0644",
|
|
219
|
+
focusProduct: "\u0627\u0644\u062A\u0631\u0643\u064A\u0632 \u0639\u0644\u0649 \u0645\u0646\u062A\u062C",
|
|
220
|
+
allProducts: "\u0643\u0644 \u0627\u0644\u0645\u0646\u062A\u062C\u0627\u062A",
|
|
221
|
+
showAll: "\u0627\u0644\u0643\u0644",
|
|
222
|
+
showLess: "\u0639\u0631\u0636 \u0623\u0642\u0644",
|
|
223
|
+
sources: "\u0627\u0644\u0645\u0635\u0627\u062F\u0631",
|
|
224
|
+
nextYouCouldAsk: "\u064A\u0645\u0643\u0646\u0643 \u0623\u0646 \u062A\u0633\u0623\u0644 \u0628\u0639\u062F \u0630\u0644\u0643",
|
|
225
|
+
placeholder: "\u0627\u0633\u0623\u0644 \u0623\u064A \u0634\u064A\u0621 \u0639\u0646 \u0645\u0646\u062A\u062C\u0627\u062A\u0646\u0627\u2026",
|
|
226
|
+
placeholderProduct: "\u0627\u0633\u0623\u0644 \u0639\u0646 {product}\u2026",
|
|
227
|
+
send: "\u0625\u0631\u0633\u0627\u0644",
|
|
228
|
+
stop: "\u0625\u064A\u0642\u0627\u0641",
|
|
229
|
+
newChat: "\u0645\u062D\u0627\u062F\u062B\u0629 \u062C\u062F\u064A\u062F\u0629",
|
|
230
|
+
history: "\u0627\u0644\u0633\u062C\u0644",
|
|
231
|
+
clearHistory: "\u0645\u0633\u062D \u0627\u0644\u0633\u062C\u0644",
|
|
232
|
+
share: "\u0645\u0634\u0627\u0631\u0643\u0629",
|
|
233
|
+
copied: "\u062A\u0645 \u0627\u0644\u0646\u0633\u062E",
|
|
234
|
+
copying: "\u062C\u0627\u0631\u064D \u0627\u0644\u0646\u0633\u062E\u2026",
|
|
235
|
+
shareUnavailable: "\u063A\u064A\u0631 \u0645\u062A\u0627\u062D",
|
|
236
|
+
disclaimer: "\u0625\u062E\u0644\u0627\u0621 \u0645\u0633\u0624\u0648\u0644\u064A\u0629",
|
|
237
|
+
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.",
|
|
238
|
+
dictate: "\u0623\u0645\u0644\u0650 \u0633\u0624\u0627\u0644\u0643",
|
|
239
|
+
stopDictating: "\u0625\u064A\u0642\u0627\u0641 \u0627\u0644\u0625\u0645\u0644\u0627\u0621",
|
|
240
|
+
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",
|
|
241
|
+
askHuman: "\u062A\u062D\u062F\u0651\u062B \u0625\u0644\u0649 \u0634\u062E\u0635",
|
|
242
|
+
prevSuggestion: "\u0627\u0644\u0627\u0642\u062A\u0631\u0627\u062D \u0627\u0644\u0633\u0627\u0628\u0642",
|
|
243
|
+
nextSuggestion: "\u0627\u0644\u0627\u0642\u062A\u0631\u0627\u062D \u0627\u0644\u062A\u0627\u0644\u064A",
|
|
244
|
+
capabilities: [
|
|
245
|
+
"\u0645\u0628\u0646\u064A \u0639\u0644\u0649 \u0648\u062B\u0627\u0626\u0642\u0646\u0627",
|
|
246
|
+
"\u0642\u0627\u0631\u0646 \u0639\u0628\u0631 \u0627\u0644\u0645\u0646\u0638\u0648\u0645\u0629",
|
|
247
|
+
"\u0645\u0628\u0627\u0634\u0631\u0629\u064B \u0625\u0644\u0649 \u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u0635\u062D\u064A\u062D\u0629"
|
|
248
|
+
],
|
|
249
|
+
prompts: [
|
|
250
|
+
"\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",
|
|
251
|
+
"\u0623\u064A \u0645\u0646\u062A\u062C \u064A\u0646\u0627\u0633\u0628 \u0641\u0631\u064A\u0642\u064A\u061F",
|
|
252
|
+
"\u0643\u064A\u0641 \u0623\u0628\u062F\u0623 \u062E\u0637\u0648\u0629 \u0628\u062E\u0637\u0648\u0629\u061F",
|
|
253
|
+
"\u0643\u0645 \u062A\u0628\u0644\u063A \u0627\u0644\u062A\u0643\u0644\u0641\u0629\u061F"
|
|
254
|
+
]
|
|
255
|
+
};
|
|
256
|
+
var TA = {
|
|
257
|
+
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",
|
|
258
|
+
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",
|
|
259
|
+
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.",
|
|
260
|
+
tryAsking: "\u0B87\u0BA4\u0BC8\u0B95\u0BCD \u0B95\u0BC7\u0B9F\u0BCD\u0B9F\u0BC1\u0BAA\u0BCD \u0BAA\u0BBE\u0BB0\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
|
|
261
|
+
focusProduct: "\u0B92\u0BB0\u0BC1 \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BBF\u0BB2\u0BCD \u0B95\u0BB5\u0BA9\u0BAE\u0BCD",
|
|
262
|
+
allProducts: "\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",
|
|
263
|
+
showAll: "\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1\u0BAE\u0BCD",
|
|
264
|
+
showLess: "\u0B95\u0BC1\u0BB1\u0BC8\u0BB5\u0BBE\u0B95\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1",
|
|
265
|
+
sources: "\u0BAE\u0BC2\u0BB2\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
|
|
266
|
+
nextYouCouldAsk: "\u0B85\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1 \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B95\u0BC7\u0B9F\u0BCD\u0B95\u0BB2\u0BBE\u0BAE\u0BCD",
|
|
267
|
+
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",
|
|
268
|
+
placeholderProduct: "{product} \u0BAA\u0BB1\u0BCD\u0BB1\u0BBF\u0B95\u0BCD \u0B95\u0BC7\u0BB3\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD\u2026",
|
|
269
|
+
send: "\u0B85\u0BA9\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1",
|
|
270
|
+
stop: "\u0BA8\u0BBF\u0BB1\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1",
|
|
271
|
+
newChat: "\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0B89\u0BB0\u0BC8\u0BAF\u0BBE\u0B9F\u0BB2\u0BCD",
|
|
272
|
+
history: "\u0BB5\u0BB0\u0BB2\u0BBE\u0BB1\u0BC1",
|
|
273
|
+
clearHistory: "\u0BB5\u0BB0\u0BB2\u0BBE\u0BB1\u0BCD\u0BB1\u0BC8 \u0B85\u0BB4\u0BBF",
|
|
274
|
+
share: "\u0BAA\u0B95\u0BBF\u0BB0\u0BCD",
|
|
275
|
+
copied: "\u0BA8\u0B95\u0BB2\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1",
|
|
276
|
+
copying: "\u0BA8\u0B95\u0BB2\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BBF\u0BB1\u0BA4\u0BC1\u2026",
|
|
277
|
+
shareUnavailable: "\u0B95\u0BBF\u0B9F\u0BC8\u0B95\u0BCD\u0B95\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8",
|
|
278
|
+
disclaimer: "\u0BAA\u0BCA\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0BA4\u0BCD \u0BA4\u0BC1\u0BB1\u0BAA\u0BCD\u0BAA\u0BC1",
|
|
279
|
+
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.",
|
|
280
|
+
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",
|
|
281
|
+
stopDictating: "\u0BAA\u0BC7\u0B9A\u0BC1\u0BB5\u0BA4\u0BC8 \u0BA8\u0BBF\u0BB1\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1",
|
|
282
|
+
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",
|
|
283
|
+
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",
|
|
284
|
+
prevSuggestion: "\u0BAE\u0BC1\u0BA8\u0BCD\u0BA4\u0BC8\u0BAF \u0BAA\u0BB0\u0BBF\u0BA8\u0BCD\u0BA4\u0BC1\u0BB0\u0BC8",
|
|
285
|
+
nextSuggestion: "\u0B85\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4 \u0BAA\u0BB0\u0BBF\u0BA8\u0BCD\u0BA4\u0BC1\u0BB0\u0BC8",
|
|
286
|
+
capabilities: [
|
|
287
|
+
"\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",
|
|
288
|
+
"\u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BC8 \u0B92\u0BAA\u0BCD\u0BAA\u0BBF\u0B9F\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
|
|
289
|
+
"\u0BA8\u0BC7\u0BB0\u0BBE\u0B95 \u0B9A\u0BB0\u0BBF\u0BAF\u0BBE\u0BA9 \u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1"
|
|
290
|
+
],
|
|
291
|
+
prompts: [
|
|
292
|
+
"\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?",
|
|
293
|
+
"\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?",
|
|
294
|
+
"\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?",
|
|
295
|
+
"\u0B87\u0BA4\u0BA9\u0BCD \u0BB5\u0BBF\u0BB2\u0BC8 \u0B8E\u0BA9\u0BCD\u0BA9?"
|
|
296
|
+
]
|
|
297
|
+
};
|
|
298
|
+
var STRINGS = {
|
|
299
|
+
en: EN,
|
|
300
|
+
zh: ZH,
|
|
301
|
+
hi: HI,
|
|
302
|
+
es: ES,
|
|
303
|
+
ar: AR,
|
|
304
|
+
ta: TA
|
|
305
|
+
};
|
|
306
|
+
function resolveExploreLocale(explicit) {
|
|
307
|
+
const candidates = [
|
|
308
|
+
explicit,
|
|
309
|
+
typeof document === "undefined" ? void 0 : document.documentElement.lang,
|
|
310
|
+
typeof navigator === "undefined" ? void 0 : navigator.language
|
|
311
|
+
];
|
|
312
|
+
for (const candidate of candidates) {
|
|
313
|
+
if (!candidate) continue;
|
|
314
|
+
const primary = candidate.toLowerCase().split("-")[0];
|
|
315
|
+
const match = EXPLORE_LOCALES.find((locale) => locale === primary);
|
|
316
|
+
if (match) return match;
|
|
317
|
+
}
|
|
318
|
+
return "en";
|
|
319
|
+
}
|
|
320
|
+
function exploreStrings(locale) {
|
|
321
|
+
return STRINGS[locale] ?? EN;
|
|
322
|
+
}
|
|
323
|
+
function fill(template, values) {
|
|
324
|
+
return template.replace(/\{(\w+)\}/g, (match, key) => values[key] ?? match);
|
|
325
|
+
}
|
|
43
326
|
var defaultComponents = {
|
|
44
327
|
a: ({ href, children, ...props }) => {
|
|
45
328
|
const isExternal = typeof href === "string" && (href.startsWith("http://") || href.startsWith("https://"));
|
|
@@ -1785,6 +2068,39 @@ function useSpeechInput({
|
|
|
1785
2068
|
);
|
|
1786
2069
|
return { supported, listening, interim, error, start, stop, toggle };
|
|
1787
2070
|
}
|
|
2071
|
+
var SWIPE_THRESHOLD = 40;
|
|
2072
|
+
function useSwipe({
|
|
2073
|
+
onSwipeLeft,
|
|
2074
|
+
onSwipeRight,
|
|
2075
|
+
enabled = true
|
|
2076
|
+
}) {
|
|
2077
|
+
const start = React.useRef(null);
|
|
2078
|
+
const onPointerDown = React.useCallback(
|
|
2079
|
+
(event) => {
|
|
2080
|
+
if (!enabled) return;
|
|
2081
|
+
start.current = { x: event.clientX, y: event.clientY };
|
|
2082
|
+
},
|
|
2083
|
+
[enabled]
|
|
2084
|
+
);
|
|
2085
|
+
const onPointerUp = React.useCallback(
|
|
2086
|
+
(event) => {
|
|
2087
|
+
const from = start.current;
|
|
2088
|
+
start.current = null;
|
|
2089
|
+
if (!enabled || !from) return;
|
|
2090
|
+
const dx = event.clientX - from.x;
|
|
2091
|
+
const dy = event.clientY - from.y;
|
|
2092
|
+
if (Math.abs(dx) < SWIPE_THRESHOLD || Math.abs(dx) <= Math.abs(dy))
|
|
2093
|
+
return;
|
|
2094
|
+
if (dx < 0) onSwipeLeft?.();
|
|
2095
|
+
else onSwipeRight?.();
|
|
2096
|
+
},
|
|
2097
|
+
[enabled, onSwipeLeft, onSwipeRight]
|
|
2098
|
+
);
|
|
2099
|
+
const onPointerCancel = React.useCallback(() => {
|
|
2100
|
+
start.current = null;
|
|
2101
|
+
}, []);
|
|
2102
|
+
return { onPointerDown, onPointerUp, onPointerCancel };
|
|
2103
|
+
}
|
|
1788
2104
|
function canonicalFromLocation() {
|
|
1789
2105
|
if (typeof window === "undefined" || !window.location) return void 0;
|
|
1790
2106
|
const { origin, pathname } = window.location;
|
|
@@ -1997,6 +2313,70 @@ var EXPLORE_CSS = `
|
|
|
1997
2313
|
max-width: 100%;
|
|
1998
2314
|
height: auto;
|
|
1999
2315
|
}
|
|
2316
|
+
|
|
2317
|
+
/* ---- Ambient backdrop -----------------------------------------------------------------
|
|
2318
|
+
Two very low-opacity radial washes behind the welcome state, drifting slowly. Painted on
|
|
2319
|
+
a pseudo-element with pointer-events:none so it can never intercept a click \u2014 a
|
|
2320
|
+
decorative overlay that swallows clicks is a bug we have shipped before.
|
|
2321
|
+
Colours come from the product's own --primary token, so this picks up each site's palette
|
|
2322
|
+
instead of introducing one. */
|
|
2323
|
+
.boff-explore-aura {
|
|
2324
|
+
position: relative;
|
|
2325
|
+
isolation: isolate;
|
|
2326
|
+
}
|
|
2327
|
+
.boff-explore-aura::before {
|
|
2328
|
+
content: "";
|
|
2329
|
+
position: absolute;
|
|
2330
|
+
inset: -10% -20% auto -20%;
|
|
2331
|
+
height: 60%;
|
|
2332
|
+
z-index: -1;
|
|
2333
|
+
pointer-events: none;
|
|
2334
|
+
background:
|
|
2335
|
+
radial-gradient(38% 55% at 22% 30%, hsl(var(--primary) / 0.10), transparent 70%),
|
|
2336
|
+
radial-gradient(32% 48% at 78% 18%, hsl(var(--primary) / 0.07), transparent 72%);
|
|
2337
|
+
filter: blur(6px);
|
|
2338
|
+
animation: boff-explore-drift 26s ease-in-out infinite alternate;
|
|
2339
|
+
}
|
|
2340
|
+
@keyframes boff-explore-drift {
|
|
2341
|
+
from { transform: translate3d(-1.5%, -1%, 0) scale(1); }
|
|
2342
|
+
to { transform: translate3d(1.5%, 1.5%, 0) scale(1.06); }
|
|
2343
|
+
}
|
|
2344
|
+
|
|
2345
|
+
/* Entrance: content settles rather than snapping in. Short, and only once. */
|
|
2346
|
+
@keyframes boff-explore-rise {
|
|
2347
|
+
from { opacity: 0; transform: translateY(6px); }
|
|
2348
|
+
to { opacity: 1; transform: none; }
|
|
2349
|
+
}
|
|
2350
|
+
.boff-explore-rise {
|
|
2351
|
+
animation: boff-explore-rise 380ms cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
2352
|
+
}
|
|
2353
|
+
.boff-explore-rise-1 { animation-delay: 40ms; }
|
|
2354
|
+
.boff-explore-rise-2 { animation-delay: 90ms; }
|
|
2355
|
+
.boff-explore-rise-3 { animation-delay: 140ms; }
|
|
2356
|
+
|
|
2357
|
+
/* A soft sheen that crosses the send button while a turn is in flight \u2014 enough to say
|
|
2358
|
+
"working" without another spinner competing with the thinking dots. */
|
|
2359
|
+
@keyframes boff-explore-sheen {
|
|
2360
|
+
from { transform: translateX(-120%); }
|
|
2361
|
+
to { transform: translateX(220%); }
|
|
2362
|
+
}
|
|
2363
|
+
.boff-explore-busy { position: relative; overflow: hidden; }
|
|
2364
|
+
.boff-explore-busy::after {
|
|
2365
|
+
content: "";
|
|
2366
|
+
position: absolute;
|
|
2367
|
+
inset: 0;
|
|
2368
|
+
pointer-events: none;
|
|
2369
|
+
background: linear-gradient(100deg, transparent 20%, hsl(var(--primary) / 0.22) 50%, transparent 80%);
|
|
2370
|
+
animation: boff-explore-sheen 1.5s ease-in-out infinite;
|
|
2371
|
+
}
|
|
2372
|
+
|
|
2373
|
+
/* Every one of the above is decoration. Reduced motion removes the movement and keeps the
|
|
2374
|
+
final state, rather than leaving content mid-animation and invisible. */
|
|
2375
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2376
|
+
.boff-explore-aura::before,
|
|
2377
|
+
.boff-explore-busy::after { animation: none; }
|
|
2378
|
+
.boff-explore-rise { animation: none; opacity: 1; transform: none; }
|
|
2379
|
+
}
|
|
2000
2380
|
`;
|
|
2001
2381
|
function ExploreStyles() {
|
|
2002
2382
|
return /* @__PURE__ */ jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: EXPLORE_CSS } });
|
|
@@ -2205,6 +2585,7 @@ function UserBubble({ message }) {
|
|
|
2205
2585
|
) });
|
|
2206
2586
|
}
|
|
2207
2587
|
function AssistantBubble({
|
|
2588
|
+
strings: T,
|
|
2208
2589
|
message,
|
|
2209
2590
|
activity,
|
|
2210
2591
|
onNavigate,
|
|
@@ -2221,7 +2602,7 @@ function AssistantBubble({
|
|
|
2221
2602
|
ref: anchorRef,
|
|
2222
2603
|
"data-boff-explore": "assistant",
|
|
2223
2604
|
"data-status": message.status,
|
|
2224
|
-
className: "flex scroll-mt-4 gap-3",
|
|
2605
|
+
className: "boff-explore-rise flex scroll-mt-4 gap-3",
|
|
2225
2606
|
children: [
|
|
2226
2607
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2227
2608
|
"span",
|
|
@@ -2252,7 +2633,7 @@ function AssistantBubble({
|
|
|
2252
2633
|
event.preventDefault();
|
|
2253
2634
|
onNavigate("/contact");
|
|
2254
2635
|
},
|
|
2255
|
-
children:
|
|
2636
|
+
children: T.askHuman
|
|
2256
2637
|
}
|
|
2257
2638
|
),
|
|
2258
2639
|
"."
|
|
@@ -2267,7 +2648,7 @@ function AssistantBubble({
|
|
|
2267
2648
|
streaming ? /* @__PURE__ */ jsxRuntime.jsx(ThinkingIndicator, { activity }) : null,
|
|
2268
2649
|
failed && !body ? /* @__PURE__ */ jsxRuntime.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,
|
|
2269
2650
|
message.references.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2270
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children:
|
|
2651
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.sources }),
|
|
2271
2652
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3", children: message.references.map((reference) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2272
2653
|
ReferenceCard,
|
|
2273
2654
|
{
|
|
@@ -2287,7 +2668,7 @@ function AssistantBubble({
|
|
|
2287
2668
|
`${cta.kind}-${cta.url}`
|
|
2288
2669
|
)) }) : null,
|
|
2289
2670
|
message.status === "COMPLETED" && (message.followUps?.length ?? 0) > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5 pt-0.5", children: [
|
|
2290
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium text-muted-foreground", children:
|
|
2671
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium text-muted-foreground", children: T.nextYouCouldAsk }),
|
|
2291
2672
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1.5", children: (message.followUps ?? []).map((question) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2292
2673
|
"button",
|
|
2293
2674
|
{
|
|
@@ -2349,6 +2730,7 @@ function ErrorBanner({
|
|
|
2349
2730
|
);
|
|
2350
2731
|
}
|
|
2351
2732
|
function PromptCarousel({
|
|
2733
|
+
strings: T,
|
|
2352
2734
|
prompts,
|
|
2353
2735
|
onPrompt,
|
|
2354
2736
|
disabled
|
|
@@ -2363,6 +2745,11 @@ function PromptCarousel({
|
|
|
2363
2745
|
},
|
|
2364
2746
|
[count]
|
|
2365
2747
|
);
|
|
2748
|
+
const swipe = useSwipe({
|
|
2749
|
+
onSwipeLeft: () => go(1),
|
|
2750
|
+
onSwipeRight: () => go(-1),
|
|
2751
|
+
enabled: count > 1
|
|
2752
|
+
});
|
|
2366
2753
|
React.useEffect(() => {
|
|
2367
2754
|
if (paused || disabled || count < 2) return;
|
|
2368
2755
|
if (typeof window !== "undefined" && window.matchMedia?.("(prefers-reduced-motion: reduce)").matches) {
|
|
@@ -2375,7 +2762,7 @@ function PromptCarousel({
|
|
|
2375
2762
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2376
2763
|
"div",
|
|
2377
2764
|
{
|
|
2378
|
-
className: "flex min-w-0 items-center gap-1.5",
|
|
2765
|
+
className: "flex min-w-0 touch-pan-y items-center gap-1.5",
|
|
2379
2766
|
role: "group",
|
|
2380
2767
|
"aria-roledescription": "carousel",
|
|
2381
2768
|
"aria-label": "Example questions",
|
|
@@ -2383,14 +2770,15 @@ function PromptCarousel({
|
|
|
2383
2770
|
onMouseLeave: () => setPaused(false),
|
|
2384
2771
|
onFocusCapture: () => setPaused(true),
|
|
2385
2772
|
onBlurCapture: () => setPaused(false),
|
|
2773
|
+
...swipe,
|
|
2386
2774
|
children: [
|
|
2387
2775
|
count > 1 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2388
2776
|
"button",
|
|
2389
2777
|
{
|
|
2390
2778
|
type: "button",
|
|
2391
|
-
"aria-label":
|
|
2779
|
+
"aria-label": T.prevSuggestion,
|
|
2392
2780
|
onClick: () => go(-1),
|
|
2393
|
-
className: "
|
|
2781
|
+
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",
|
|
2394
2782
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "h-4 w-4" })
|
|
2395
2783
|
}
|
|
2396
2784
|
) : null,
|
|
@@ -2417,7 +2805,7 @@ function PromptCarousel({
|
|
|
2417
2805
|
"button",
|
|
2418
2806
|
{
|
|
2419
2807
|
type: "button",
|
|
2420
|
-
"aria-label":
|
|
2808
|
+
"aria-label": T.nextSuggestion,
|
|
2421
2809
|
onClick: () => go(1),
|
|
2422
2810
|
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",
|
|
2423
2811
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-4 w-4" })
|
|
@@ -2428,6 +2816,7 @@ function PromptCarousel({
|
|
|
2428
2816
|
);
|
|
2429
2817
|
}
|
|
2430
2818
|
function ProductStrip({
|
|
2819
|
+
strings: T,
|
|
2431
2820
|
products,
|
|
2432
2821
|
focusProduct,
|
|
2433
2822
|
onFocus
|
|
@@ -2462,7 +2851,7 @@ function ProductStrip({
|
|
|
2462
2851
|
"aria-pressed": focusProduct === null,
|
|
2463
2852
|
onClick: () => onFocus(null),
|
|
2464
2853
|
className: chipClass(focusProduct === null),
|
|
2465
|
-
children:
|
|
2854
|
+
children: T.allProducts
|
|
2466
2855
|
}
|
|
2467
2856
|
),
|
|
2468
2857
|
products.map((product) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2491,7 +2880,7 @@ function ProductStrip({
|
|
|
2491
2880
|
"aria-expanded": expanded,
|
|
2492
2881
|
onClick: () => setExpanded((v) => !v),
|
|
2493
2882
|
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",
|
|
2494
|
-
children: expanded ?
|
|
2883
|
+
children: expanded ? T.showLess : `${T.showAll} ${products.length}`
|
|
2495
2884
|
}
|
|
2496
2885
|
) : null
|
|
2497
2886
|
]
|
|
@@ -2599,6 +2988,7 @@ function DisclaimerDialog({
|
|
|
2599
2988
|
);
|
|
2600
2989
|
}
|
|
2601
2990
|
function WelcomeState({
|
|
2991
|
+
strings: T,
|
|
2602
2992
|
title,
|
|
2603
2993
|
body,
|
|
2604
2994
|
prompts,
|
|
@@ -2608,43 +2998,45 @@ function WelcomeState({
|
|
|
2608
2998
|
onFocus,
|
|
2609
2999
|
disabled
|
|
2610
3000
|
}) {
|
|
2611
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto w-full max-w-3xl px-4 py-
|
|
2612
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
3001
|
+
return /* @__PURE__ */ jsxRuntime.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: [
|
|
3002
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "boff-explore-rise text-center", children: [
|
|
2613
3003
|
/* @__PURE__ */ jsxRuntime.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: [
|
|
2614
3004
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-3.5 w-3.5" }),
|
|
2615
|
-
|
|
3005
|
+
T.badge
|
|
2616
3006
|
] }),
|
|
2617
3007
|
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "mt-4 text-balance break-words text-2xl font-bold tracking-tight sm:text-4xl", children: title }),
|
|
2618
3008
|
/* @__PURE__ */ jsxRuntime.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 })
|
|
2619
3009
|
] }),
|
|
2620
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "mt-
|
|
3010
|
+
/* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsxs(
|
|
2621
3011
|
"li",
|
|
2622
3012
|
{
|
|
2623
|
-
className: "rounded-xl border border-border/70 bg-card/60 p-
|
|
3013
|
+
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",
|
|
2624
3014
|
children: [
|
|
2625
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mb-
|
|
2626
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-
|
|
2627
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs leading-relaxed text-muted-foreground", children: capBody })
|
|
3015
|
+
/* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx(Icon, { className: "h-3.5 w-3.5 sm:h-4 sm:w-4" }) }),
|
|
3016
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] font-semibold leading-tight text-card-foreground sm:text-sm sm:leading-normal", children: T.capabilities[i] ?? "" }),
|
|
3017
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 hidden text-xs leading-relaxed text-muted-foreground sm:block", children: capBody })
|
|
2628
3018
|
]
|
|
2629
3019
|
},
|
|
2630
|
-
|
|
3020
|
+
i
|
|
2631
3021
|
)) }),
|
|
2632
|
-
prompts.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8", children: [
|
|
2633
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children:
|
|
3022
|
+
prompts.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "boff-explore-rise boff-explore-rise-2 mt-8", children: [
|
|
3023
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.tryAsking }),
|
|
2634
3024
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2635
3025
|
PromptCarousel,
|
|
2636
3026
|
{
|
|
3027
|
+
strings: T,
|
|
2637
3028
|
prompts,
|
|
2638
3029
|
onPrompt,
|
|
2639
3030
|
disabled
|
|
2640
3031
|
}
|
|
2641
3032
|
)
|
|
2642
3033
|
] }) : null,
|
|
2643
|
-
products.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-6", children: [
|
|
2644
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children:
|
|
3034
|
+
products.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "boff-explore-rise boff-explore-rise-3 mt-6", children: [
|
|
3035
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.focusProduct }),
|
|
2645
3036
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2646
3037
|
ProductStrip,
|
|
2647
3038
|
{
|
|
3039
|
+
strings: T,
|
|
2648
3040
|
products,
|
|
2649
3041
|
focusProduct,
|
|
2650
3042
|
onFocus
|
|
@@ -2663,7 +3055,8 @@ function ExplorePage({
|
|
|
2663
3055
|
onNavigate,
|
|
2664
3056
|
onSend,
|
|
2665
3057
|
welcomeTitle,
|
|
2666
|
-
welcomeBody
|
|
3058
|
+
welcomeBody,
|
|
3059
|
+
locale
|
|
2667
3060
|
}) {
|
|
2668
3061
|
const pageUrl = React.useMemo(
|
|
2669
3062
|
() => typeof window === "undefined" ? void 0 : window.location.href,
|
|
@@ -2707,6 +3100,12 @@ function ExplorePage({
|
|
|
2707
3100
|
}
|
|
2708
3101
|
});
|
|
2709
3102
|
speechStopRef.current = speech.stop;
|
|
3103
|
+
const activeLocale = React.useMemo(
|
|
3104
|
+
() => resolveExploreLocale(locale),
|
|
3105
|
+
[locale]
|
|
3106
|
+
);
|
|
3107
|
+
const T = React.useMemo(() => exploreStrings(activeLocale), [activeLocale]);
|
|
3108
|
+
const rtl = isRtlLocale(activeLocale);
|
|
2710
3109
|
const [disclaimerOpen, setDisclaimerOpen] = React.useState(false);
|
|
2711
3110
|
const [shareLabel, setShareLabel] = React.useState("Share");
|
|
2712
3111
|
const [shareUrl, setShareUrl] = React.useState(null);
|
|
@@ -2821,6 +3220,8 @@ function ExplorePage({
|
|
|
2821
3220
|
{
|
|
2822
3221
|
"data-boff-explore": "page",
|
|
2823
3222
|
"data-phase": phase,
|
|
3223
|
+
"data-locale": activeLocale,
|
|
3224
|
+
dir: rtl ? "rtl" : void 0,
|
|
2824
3225
|
className: cn(
|
|
2825
3226
|
"flex w-full min-w-0 flex-col overflow-x-hidden bg-background text-foreground",
|
|
2826
3227
|
heightMode === "auto" && "min-h-[70vh]",
|
|
@@ -2982,10 +3383,17 @@ function ExplorePage({
|
|
|
2982
3383
|
role: "log",
|
|
2983
3384
|
"aria-live": "polite",
|
|
2984
3385
|
"aria-label": "Explore conversation",
|
|
2985
|
-
className:
|
|
3386
|
+
className: cn(
|
|
3387
|
+
"boff-explore-scroll min-h-0 min-w-0 flex-1 overflow-y-auto overflow-x-hidden",
|
|
3388
|
+
// Only while the welcome state is showing: a flex column is what lets its
|
|
3389
|
+
// `my-auto` centre the block on a tall screen. The transcript must NOT be a flex
|
|
3390
|
+
// column — that would fight the natural top-down flow of messages.
|
|
3391
|
+
showWelcome && "flex flex-col"
|
|
3392
|
+
),
|
|
2986
3393
|
children: showWelcome ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2987
3394
|
WelcomeState,
|
|
2988
3395
|
{
|
|
3396
|
+
strings: T,
|
|
2989
3397
|
title: resolvedTitle,
|
|
2990
3398
|
body: resolvedBody,
|
|
2991
3399
|
prompts,
|
|
@@ -2999,6 +3407,7 @@ function ExplorePage({
|
|
|
2999
3407
|
(message) => message.role === "USER" ? /* @__PURE__ */ jsxRuntime.jsx(UserBubble, { message }, message.id) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
3000
3408
|
AssistantBubble,
|
|
3001
3409
|
{
|
|
3410
|
+
strings: T,
|
|
3002
3411
|
message,
|
|
3003
3412
|
activity,
|
|
3004
3413
|
onNavigate,
|
|
@@ -3035,6 +3444,7 @@ function ExplorePage({
|
|
|
3035
3444
|
{
|
|
3036
3445
|
className: cn(
|
|
3037
3446
|
"flex min-w-0 items-end gap-2 rounded-2xl border bg-card p-2 shadow-sm transition-all",
|
|
3447
|
+
busy && "boff-explore-busy",
|
|
3038
3448
|
overLimit ? "border-destructive/60" : "border-border focus-within:border-primary/40 focus-within:ring-1 focus-within:ring-ring"
|
|
3039
3449
|
),
|
|
3040
3450
|
children: [
|
|
@@ -3054,7 +3464,9 @@ function ExplorePage({
|
|
|
3054
3464
|
composingRef.current = false;
|
|
3055
3465
|
},
|
|
3056
3466
|
"aria-label": "Ask a question",
|
|
3057
|
-
placeholder: composerDisabled ? phase === "limited" ? "Message limit reached \u2014 please try again later" : "Explore is unavailable right now" : focusedProductName ?
|
|
3467
|
+
placeholder: composerDisabled ? phase === "limited" ? "Message limit reached \u2014 please try again later" : "Explore is unavailable right now" : focusedProductName ? fill(T.placeholderProduct, {
|
|
3468
|
+
product: focusedProductName
|
|
3469
|
+
}) : T.placeholder,
|
|
3058
3470
|
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"
|
|
3059
3471
|
}
|
|
3060
3472
|
),
|
|
@@ -3067,9 +3479,9 @@ function ExplorePage({
|
|
|
3067
3479
|
size: "icon",
|
|
3068
3480
|
variant: speech.listening ? "default" : "ghost",
|
|
3069
3481
|
disabled: composerDisabled,
|
|
3070
|
-
"aria-label": speech.listening ?
|
|
3482
|
+
"aria-label": speech.listening ? T.stopDictating : T.dictate,
|
|
3071
3483
|
"aria-pressed": speech.listening,
|
|
3072
|
-
title: speech.listening ?
|
|
3484
|
+
title: speech.listening ? T.stopDictating : T.dictate,
|
|
3073
3485
|
onClick: speech.toggle,
|
|
3074
3486
|
className: cn(speech.listening && "animate-pulse"),
|
|
3075
3487
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mic, { className: "h-4 w-4" })
|
|
@@ -3169,7 +3581,7 @@ function ExplorePage({
|
|
|
3169
3581
|
)
|
|
3170
3582
|
] }) : null,
|
|
3171
3583
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-muted-foreground", children: [
|
|
3172
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children:
|
|
3584
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children: T.disclaimerShort }),
|
|
3173
3585
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3174
3586
|
"button",
|
|
3175
3587
|
{
|
|
@@ -3177,7 +3589,7 @@ function ExplorePage({
|
|
|
3177
3589
|
"data-boff-explore": "disclaimer",
|
|
3178
3590
|
onClick: () => setDisclaimerOpen(true),
|
|
3179
3591
|
className: "shrink-0 underline underline-offset-2 transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
3180
|
-
children:
|
|
3592
|
+
children: T.disclaimer
|
|
3181
3593
|
}
|
|
3182
3594
|
)
|
|
3183
3595
|
] })
|