@burdenoff/website-sdk 2026.829.3 → 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 +468 -32
- package/dist/components/explore.js.map +1 -1
- package/dist/components/explore.mjs +468 -32
- 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 +469 -32
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +469 -33
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4765,6 +4765,289 @@ function ElectronDownloadLink({
|
|
|
4765
4765
|
}
|
|
4766
4766
|
);
|
|
4767
4767
|
}
|
|
4768
|
+
|
|
4769
|
+
// src/components/explore-i18n.ts
|
|
4770
|
+
var EXPLORE_LOCALES = ["en", "zh", "hi", "es", "ar", "ta"];
|
|
4771
|
+
var RTL_LOCALES = /* @__PURE__ */ new Set(["ar"]);
|
|
4772
|
+
function isRtlLocale(locale) {
|
|
4773
|
+
return RTL_LOCALES.has(locale);
|
|
4774
|
+
}
|
|
4775
|
+
var EN = {
|
|
4776
|
+
badge: "AI answers, grounded in our documentation",
|
|
4777
|
+
welcomeTitle: "Ask anything about our products",
|
|
4778
|
+
welcomeBody: "Describe what you are trying to do and I will point you at the product, the page and the next step.",
|
|
4779
|
+
tryAsking: "Try asking",
|
|
4780
|
+
focusProduct: "Focus on a product",
|
|
4781
|
+
allProducts: "All products",
|
|
4782
|
+
showAll: "All",
|
|
4783
|
+
showLess: "Show less",
|
|
4784
|
+
sources: "Sources",
|
|
4785
|
+
nextYouCouldAsk: "Next you could ask",
|
|
4786
|
+
placeholder: "Ask anything about our products\u2026",
|
|
4787
|
+
placeholderProduct: "Ask about {product}\u2026",
|
|
4788
|
+
send: "Send",
|
|
4789
|
+
stop: "Stop",
|
|
4790
|
+
newChat: "New chat",
|
|
4791
|
+
history: "History",
|
|
4792
|
+
clearHistory: "Clear history",
|
|
4793
|
+
share: "Share",
|
|
4794
|
+
copied: "Copied",
|
|
4795
|
+
copying: "Copying\u2026",
|
|
4796
|
+
shareUnavailable: "Unavailable",
|
|
4797
|
+
disclaimer: "Disclaimer",
|
|
4798
|
+
disclaimerShort: "Grounded in our docs \u2014 check anything important.",
|
|
4799
|
+
dictate: "Dictate your question",
|
|
4800
|
+
stopDictating: "Stop dictating",
|
|
4801
|
+
noAnswer: "I couldn't find this in our documentation, so the answer below is not grounded in a source. Try rephrasing, or",
|
|
4802
|
+
askHuman: "ask a human",
|
|
4803
|
+
prevSuggestion: "Previous suggestion",
|
|
4804
|
+
nextSuggestion: "Next suggestion",
|
|
4805
|
+
capabilities: [
|
|
4806
|
+
"Grounded in our own docs",
|
|
4807
|
+
"Compare across the ecosystem",
|
|
4808
|
+
"Straight to the right page"
|
|
4809
|
+
],
|
|
4810
|
+
prompts: [
|
|
4811
|
+
"What does this product actually do?",
|
|
4812
|
+
"Which product fits my team?",
|
|
4813
|
+
"How do I get started, step by step?",
|
|
4814
|
+
"How much does it cost?"
|
|
4815
|
+
]
|
|
4816
|
+
};
|
|
4817
|
+
var ZH = {
|
|
4818
|
+
badge: "\u57FA\u4E8E\u6211\u4EEC\u6587\u6863\u7684 AI \u56DE\u7B54",
|
|
4819
|
+
welcomeTitle: "\u5173\u4E8E\u6211\u4EEC\u7684\u4EA7\u54C1\uFF0C\u968F\u4FBF\u95EE",
|
|
4820
|
+
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",
|
|
4821
|
+
tryAsking: "\u8BD5\u7740\u95EE",
|
|
4822
|
+
focusProduct: "\u805A\u7126\u67D0\u4E2A\u4EA7\u54C1",
|
|
4823
|
+
allProducts: "\u5168\u90E8\u4EA7\u54C1",
|
|
4824
|
+
showAll: "\u5168\u90E8",
|
|
4825
|
+
showLess: "\u6536\u8D77",
|
|
4826
|
+
sources: "\u6765\u6E90",
|
|
4827
|
+
nextYouCouldAsk: "\u4F60\u8FD8\u53EF\u4EE5\u95EE",
|
|
4828
|
+
placeholder: "\u5173\u4E8E\u6211\u4EEC\u7684\u4EA7\u54C1\uFF0C\u968F\u4FBF\u95EE\u2026",
|
|
4829
|
+
placeholderProduct: "\u8BE2\u95EE\u5173\u4E8E {product} \u7684\u95EE\u9898\u2026",
|
|
4830
|
+
send: "\u53D1\u9001",
|
|
4831
|
+
stop: "\u505C\u6B62",
|
|
4832
|
+
newChat: "\u65B0\u5BF9\u8BDD",
|
|
4833
|
+
history: "\u5386\u53F2",
|
|
4834
|
+
clearHistory: "\u6E05\u9664\u5386\u53F2",
|
|
4835
|
+
share: "\u5206\u4EAB",
|
|
4836
|
+
copied: "\u5DF2\u590D\u5236",
|
|
4837
|
+
copying: "\u590D\u5236\u4E2D\u2026",
|
|
4838
|
+
shareUnavailable: "\u4E0D\u53EF\u7528",
|
|
4839
|
+
disclaimer: "\u514D\u8D23\u58F0\u660E",
|
|
4840
|
+
disclaimerShort: "\u5185\u5BB9\u57FA\u4E8E\u6211\u4EEC\u7684\u6587\u6863\uFF0C\u91CD\u8981\u4FE1\u606F\u8BF7\u81EA\u884C\u6838\u5BF9\u3002",
|
|
4841
|
+
dictate: "\u8BED\u97F3\u8F93\u5165",
|
|
4842
|
+
stopDictating: "\u505C\u6B62\u8BED\u97F3\u8F93\u5165",
|
|
4843
|
+
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",
|
|
4844
|
+
askHuman: "\u8054\u7CFB\u6211\u4EEC",
|
|
4845
|
+
prevSuggestion: "\u4E0A\u4E00\u4E2A\u5EFA\u8BAE",
|
|
4846
|
+
nextSuggestion: "\u4E0B\u4E00\u4E2A\u5EFA\u8BAE",
|
|
4847
|
+
capabilities: ["\u57FA\u4E8E\u6211\u4EEC\u81EA\u5DF1\u7684\u6587\u6863", "\u8DE8\u4EA7\u54C1\u5BF9\u6BD4", "\u76F4\u8FBE\u6B63\u786E\u7684\u9875\u9762"],
|
|
4848
|
+
prompts: [
|
|
4849
|
+
"\u8FD9\u4E2A\u4EA7\u54C1\u5230\u5E95\u80FD\u505A\u4EC0\u4E48\uFF1F",
|
|
4850
|
+
"\u54EA\u4E2A\u4EA7\u54C1\u9002\u5408\u6211\u7684\u56E2\u961F\uFF1F",
|
|
4851
|
+
"\u5982\u4F55\u4E00\u6B65\u6B65\u5F00\u59CB\u4F7F\u7528\uFF1F",
|
|
4852
|
+
"\u4EF7\u683C\u662F\u591A\u5C11\uFF1F"
|
|
4853
|
+
]
|
|
4854
|
+
};
|
|
4855
|
+
var HI = {
|
|
4856
|
+
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",
|
|
4857
|
+
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",
|
|
4858
|
+
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",
|
|
4859
|
+
tryAsking: "\u092F\u0939 \u092A\u0942\u091B\u0915\u0930 \u0926\u0947\u0916\u0947\u0902",
|
|
4860
|
+
focusProduct: "\u0915\u093F\u0938\u0940 \u0909\u0924\u094D\u092A\u093E\u0926 \u092A\u0930 \u0927\u094D\u092F\u093E\u0928 \u0926\u0947\u0902",
|
|
4861
|
+
allProducts: "\u0938\u092D\u0940 \u0909\u0924\u094D\u092A\u093E\u0926",
|
|
4862
|
+
showAll: "\u0938\u092D\u0940",
|
|
4863
|
+
showLess: "\u0915\u092E \u0926\u093F\u0916\u093E\u090F\u0901",
|
|
4864
|
+
sources: "\u0938\u094D\u0930\u094B\u0924",
|
|
4865
|
+
nextYouCouldAsk: "\u0906\u0917\u0947 \u0906\u092A \u092A\u0942\u091B \u0938\u0915\u0924\u0947 \u0939\u0948\u0902",
|
|
4866
|
+
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",
|
|
4867
|
+
placeholderProduct: "{product} \u0915\u0947 \u092C\u093E\u0930\u0947 \u092E\u0947\u0902 \u092A\u0942\u091B\u0947\u0902\u2026",
|
|
4868
|
+
send: "\u092D\u0947\u091C\u0947\u0902",
|
|
4869
|
+
stop: "\u0930\u094B\u0915\u0947\u0902",
|
|
4870
|
+
newChat: "\u0928\u0908 \u092C\u093E\u0924\u091A\u0940\u0924",
|
|
4871
|
+
history: "\u0907\u0924\u093F\u0939\u093E\u0938",
|
|
4872
|
+
clearHistory: "\u0907\u0924\u093F\u0939\u093E\u0938 \u092E\u093F\u091F\u093E\u090F\u0901",
|
|
4873
|
+
share: "\u0938\u093E\u091D\u093E \u0915\u0930\u0947\u0902",
|
|
4874
|
+
copied: "\u0915\u0949\u092A\u0940 \u0939\u094B \u0917\u092F\u093E",
|
|
4875
|
+
copying: "\u0915\u0949\u092A\u0940 \u0939\u094B \u0930\u0939\u093E \u0939\u0948\u2026",
|
|
4876
|
+
shareUnavailable: "\u0909\u092A\u0932\u092C\u094D\u0927 \u0928\u0939\u0940\u0902",
|
|
4877
|
+
disclaimer: "\u0905\u0938\u094D\u0935\u0940\u0915\u0930\u0923",
|
|
4878
|
+
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",
|
|
4879
|
+
dictate: "\u092C\u094B\u0932\u0915\u0930 \u092A\u0942\u091B\u0947\u0902",
|
|
4880
|
+
stopDictating: "\u092C\u094B\u0932\u0928\u093E \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
|
|
4881
|
+
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",
|
|
4882
|
+
askHuman: "\u0939\u092E\u0938\u0947 \u0938\u0902\u092A\u0930\u094D\u0915 \u0915\u0930\u0947\u0902",
|
|
4883
|
+
prevSuggestion: "\u092A\u093F\u091B\u0932\u093E \u0938\u0941\u091D\u093E\u0935",
|
|
4884
|
+
nextSuggestion: "\u0905\u0917\u0932\u093E \u0938\u0941\u091D\u093E\u0935",
|
|
4885
|
+
capabilities: [
|
|
4886
|
+
"\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",
|
|
4887
|
+
"\u0938\u092D\u0940 \u0909\u0924\u094D\u092A\u093E\u0926\u094B\u0902 \u0915\u0940 \u0924\u0941\u0932\u0928\u093E \u0915\u0930\u0947\u0902",
|
|
4888
|
+
"\u0938\u0940\u0927\u0947 \u0938\u0939\u0940 \u092A\u0947\u091C \u092A\u0930"
|
|
4889
|
+
],
|
|
4890
|
+
prompts: [
|
|
4891
|
+
"\u092F\u0939 \u0909\u0924\u094D\u092A\u093E\u0926 \u0905\u0938\u0932 \u092E\u0947\u0902 \u0915\u094D\u092F\u093E \u0915\u0930\u0924\u093E \u0939\u0948?",
|
|
4892
|
+
"\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?",
|
|
4893
|
+
"\u0936\u0941\u0930\u0941\u0906\u0924 \u0915\u0948\u0938\u0947 \u0915\u0930\u0947\u0902, \u091A\u0930\u0923 \u0926\u0930 \u091A\u0930\u0923?",
|
|
4894
|
+
"\u0907\u0938\u0915\u0940 \u0915\u0940\u092E\u0924 \u0915\u093F\u0924\u0928\u0940 \u0939\u0948?"
|
|
4895
|
+
]
|
|
4896
|
+
};
|
|
4897
|
+
var ES = {
|
|
4898
|
+
badge: "Respuestas de IA basadas en nuestra documentaci\xF3n",
|
|
4899
|
+
welcomeTitle: "Pregunta lo que quieras sobre nuestros productos",
|
|
4900
|
+
welcomeBody: "Cu\xE9ntame qu\xE9 necesitas hacer y te indicar\xE9 el producto, la p\xE1gina y el siguiente paso.",
|
|
4901
|
+
tryAsking: "Prueba a preguntar",
|
|
4902
|
+
focusProduct: "Centrarse en un producto",
|
|
4903
|
+
allProducts: "Todos los productos",
|
|
4904
|
+
showAll: "Todos",
|
|
4905
|
+
showLess: "Ver menos",
|
|
4906
|
+
sources: "Fuentes",
|
|
4907
|
+
nextYouCouldAsk: "Tambi\xE9n puedes preguntar",
|
|
4908
|
+
placeholder: "Pregunta lo que quieras sobre nuestros productos\u2026",
|
|
4909
|
+
placeholderProduct: "Pregunta sobre {product}\u2026",
|
|
4910
|
+
send: "Enviar",
|
|
4911
|
+
stop: "Detener",
|
|
4912
|
+
newChat: "Nueva conversaci\xF3n",
|
|
4913
|
+
history: "Historial",
|
|
4914
|
+
clearHistory: "Borrar historial",
|
|
4915
|
+
share: "Compartir",
|
|
4916
|
+
copied: "Copiado",
|
|
4917
|
+
copying: "Copiando\u2026",
|
|
4918
|
+
shareUnavailable: "No disponible",
|
|
4919
|
+
disclaimer: "Aviso",
|
|
4920
|
+
disclaimerShort: "Basado en nuestra documentaci\xF3n: comprueba cualquier dato importante.",
|
|
4921
|
+
dictate: "Dictar tu pregunta",
|
|
4922
|
+
stopDictating: "Dejar de dictar",
|
|
4923
|
+
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",
|
|
4924
|
+
askHuman: "habla con una persona",
|
|
4925
|
+
prevSuggestion: "Sugerencia anterior",
|
|
4926
|
+
nextSuggestion: "Sugerencia siguiente",
|
|
4927
|
+
capabilities: [
|
|
4928
|
+
"Basado en nuestra documentaci\xF3n",
|
|
4929
|
+
"Compara todo el ecosistema",
|
|
4930
|
+
"Directo a la p\xE1gina correcta"
|
|
4931
|
+
],
|
|
4932
|
+
prompts: [
|
|
4933
|
+
"\xBFQu\xE9 hace realmente este producto?",
|
|
4934
|
+
"\xBFQu\xE9 producto encaja con mi equipo?",
|
|
4935
|
+
"\xBFC\xF3mo empiezo, paso a paso?",
|
|
4936
|
+
"\xBFCu\xE1nto cuesta?"
|
|
4937
|
+
]
|
|
4938
|
+
};
|
|
4939
|
+
var AR = {
|
|
4940
|
+
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",
|
|
4941
|
+
welcomeTitle: "\u0627\u0633\u0623\u0644 \u0623\u064A \u0634\u064A\u0621 \u0639\u0646 \u0645\u0646\u062A\u062C\u0627\u062A\u0646\u0627",
|
|
4942
|
+
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.",
|
|
4943
|
+
tryAsking: "\u062C\u0631\u0651\u0628 \u0623\u0646 \u062A\u0633\u0623\u0644",
|
|
4944
|
+
focusProduct: "\u0627\u0644\u062A\u0631\u0643\u064A\u0632 \u0639\u0644\u0649 \u0645\u0646\u062A\u062C",
|
|
4945
|
+
allProducts: "\u0643\u0644 \u0627\u0644\u0645\u0646\u062A\u062C\u0627\u062A",
|
|
4946
|
+
showAll: "\u0627\u0644\u0643\u0644",
|
|
4947
|
+
showLess: "\u0639\u0631\u0636 \u0623\u0642\u0644",
|
|
4948
|
+
sources: "\u0627\u0644\u0645\u0635\u0627\u062F\u0631",
|
|
4949
|
+
nextYouCouldAsk: "\u064A\u0645\u0643\u0646\u0643 \u0623\u0646 \u062A\u0633\u0623\u0644 \u0628\u0639\u062F \u0630\u0644\u0643",
|
|
4950
|
+
placeholder: "\u0627\u0633\u0623\u0644 \u0623\u064A \u0634\u064A\u0621 \u0639\u0646 \u0645\u0646\u062A\u062C\u0627\u062A\u0646\u0627\u2026",
|
|
4951
|
+
placeholderProduct: "\u0627\u0633\u0623\u0644 \u0639\u0646 {product}\u2026",
|
|
4952
|
+
send: "\u0625\u0631\u0633\u0627\u0644",
|
|
4953
|
+
stop: "\u0625\u064A\u0642\u0627\u0641",
|
|
4954
|
+
newChat: "\u0645\u062D\u0627\u062F\u062B\u0629 \u062C\u062F\u064A\u062F\u0629",
|
|
4955
|
+
history: "\u0627\u0644\u0633\u062C\u0644",
|
|
4956
|
+
clearHistory: "\u0645\u0633\u062D \u0627\u0644\u0633\u062C\u0644",
|
|
4957
|
+
share: "\u0645\u0634\u0627\u0631\u0643\u0629",
|
|
4958
|
+
copied: "\u062A\u0645 \u0627\u0644\u0646\u0633\u062E",
|
|
4959
|
+
copying: "\u062C\u0627\u0631\u064D \u0627\u0644\u0646\u0633\u062E\u2026",
|
|
4960
|
+
shareUnavailable: "\u063A\u064A\u0631 \u0645\u062A\u0627\u062D",
|
|
4961
|
+
disclaimer: "\u0625\u062E\u0644\u0627\u0621 \u0645\u0633\u0624\u0648\u0644\u064A\u0629",
|
|
4962
|
+
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.",
|
|
4963
|
+
dictate: "\u0623\u0645\u0644\u0650 \u0633\u0624\u0627\u0644\u0643",
|
|
4964
|
+
stopDictating: "\u0625\u064A\u0642\u0627\u0641 \u0627\u0644\u0625\u0645\u0644\u0627\u0621",
|
|
4965
|
+
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",
|
|
4966
|
+
askHuman: "\u062A\u062D\u062F\u0651\u062B \u0625\u0644\u0649 \u0634\u062E\u0635",
|
|
4967
|
+
prevSuggestion: "\u0627\u0644\u0627\u0642\u062A\u0631\u0627\u062D \u0627\u0644\u0633\u0627\u0628\u0642",
|
|
4968
|
+
nextSuggestion: "\u0627\u0644\u0627\u0642\u062A\u0631\u0627\u062D \u0627\u0644\u062A\u0627\u0644\u064A",
|
|
4969
|
+
capabilities: [
|
|
4970
|
+
"\u0645\u0628\u0646\u064A \u0639\u0644\u0649 \u0648\u062B\u0627\u0626\u0642\u0646\u0627",
|
|
4971
|
+
"\u0642\u0627\u0631\u0646 \u0639\u0628\u0631 \u0627\u0644\u0645\u0646\u0638\u0648\u0645\u0629",
|
|
4972
|
+
"\u0645\u0628\u0627\u0634\u0631\u0629\u064B \u0625\u0644\u0649 \u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u0635\u062D\u064A\u062D\u0629"
|
|
4973
|
+
],
|
|
4974
|
+
prompts: [
|
|
4975
|
+
"\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",
|
|
4976
|
+
"\u0623\u064A \u0645\u0646\u062A\u062C \u064A\u0646\u0627\u0633\u0628 \u0641\u0631\u064A\u0642\u064A\u061F",
|
|
4977
|
+
"\u0643\u064A\u0641 \u0623\u0628\u062F\u0623 \u062E\u0637\u0648\u0629 \u0628\u062E\u0637\u0648\u0629\u061F",
|
|
4978
|
+
"\u0643\u0645 \u062A\u0628\u0644\u063A \u0627\u0644\u062A\u0643\u0644\u0641\u0629\u061F"
|
|
4979
|
+
]
|
|
4980
|
+
};
|
|
4981
|
+
var TA = {
|
|
4982
|
+
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",
|
|
4983
|
+
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",
|
|
4984
|
+
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.",
|
|
4985
|
+
tryAsking: "\u0B87\u0BA4\u0BC8\u0B95\u0BCD \u0B95\u0BC7\u0B9F\u0BCD\u0B9F\u0BC1\u0BAA\u0BCD \u0BAA\u0BBE\u0BB0\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
|
|
4986
|
+
focusProduct: "\u0B92\u0BB0\u0BC1 \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BBF\u0BB2\u0BCD \u0B95\u0BB5\u0BA9\u0BAE\u0BCD",
|
|
4987
|
+
allProducts: "\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",
|
|
4988
|
+
showAll: "\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1\u0BAE\u0BCD",
|
|
4989
|
+
showLess: "\u0B95\u0BC1\u0BB1\u0BC8\u0BB5\u0BBE\u0B95\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1",
|
|
4990
|
+
sources: "\u0BAE\u0BC2\u0BB2\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
|
|
4991
|
+
nextYouCouldAsk: "\u0B85\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1 \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B95\u0BC7\u0B9F\u0BCD\u0B95\u0BB2\u0BBE\u0BAE\u0BCD",
|
|
4992
|
+
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",
|
|
4993
|
+
placeholderProduct: "{product} \u0BAA\u0BB1\u0BCD\u0BB1\u0BBF\u0B95\u0BCD \u0B95\u0BC7\u0BB3\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD\u2026",
|
|
4994
|
+
send: "\u0B85\u0BA9\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1",
|
|
4995
|
+
stop: "\u0BA8\u0BBF\u0BB1\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1",
|
|
4996
|
+
newChat: "\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0B89\u0BB0\u0BC8\u0BAF\u0BBE\u0B9F\u0BB2\u0BCD",
|
|
4997
|
+
history: "\u0BB5\u0BB0\u0BB2\u0BBE\u0BB1\u0BC1",
|
|
4998
|
+
clearHistory: "\u0BB5\u0BB0\u0BB2\u0BBE\u0BB1\u0BCD\u0BB1\u0BC8 \u0B85\u0BB4\u0BBF",
|
|
4999
|
+
share: "\u0BAA\u0B95\u0BBF\u0BB0\u0BCD",
|
|
5000
|
+
copied: "\u0BA8\u0B95\u0BB2\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1",
|
|
5001
|
+
copying: "\u0BA8\u0B95\u0BB2\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BBF\u0BB1\u0BA4\u0BC1\u2026",
|
|
5002
|
+
shareUnavailable: "\u0B95\u0BBF\u0B9F\u0BC8\u0B95\u0BCD\u0B95\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8",
|
|
5003
|
+
disclaimer: "\u0BAA\u0BCA\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0BA4\u0BCD \u0BA4\u0BC1\u0BB1\u0BAA\u0BCD\u0BAA\u0BC1",
|
|
5004
|
+
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.",
|
|
5005
|
+
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",
|
|
5006
|
+
stopDictating: "\u0BAA\u0BC7\u0B9A\u0BC1\u0BB5\u0BA4\u0BC8 \u0BA8\u0BBF\u0BB1\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1",
|
|
5007
|
+
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",
|
|
5008
|
+
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",
|
|
5009
|
+
prevSuggestion: "\u0BAE\u0BC1\u0BA8\u0BCD\u0BA4\u0BC8\u0BAF \u0BAA\u0BB0\u0BBF\u0BA8\u0BCD\u0BA4\u0BC1\u0BB0\u0BC8",
|
|
5010
|
+
nextSuggestion: "\u0B85\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4 \u0BAA\u0BB0\u0BBF\u0BA8\u0BCD\u0BA4\u0BC1\u0BB0\u0BC8",
|
|
5011
|
+
capabilities: [
|
|
5012
|
+
"\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",
|
|
5013
|
+
"\u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BC8 \u0B92\u0BAA\u0BCD\u0BAA\u0BBF\u0B9F\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
|
|
5014
|
+
"\u0BA8\u0BC7\u0BB0\u0BBE\u0B95 \u0B9A\u0BB0\u0BBF\u0BAF\u0BBE\u0BA9 \u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1"
|
|
5015
|
+
],
|
|
5016
|
+
prompts: [
|
|
5017
|
+
"\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?",
|
|
5018
|
+
"\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?",
|
|
5019
|
+
"\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?",
|
|
5020
|
+
"\u0B87\u0BA4\u0BA9\u0BCD \u0BB5\u0BBF\u0BB2\u0BC8 \u0B8E\u0BA9\u0BCD\u0BA9?"
|
|
5021
|
+
]
|
|
5022
|
+
};
|
|
5023
|
+
var STRINGS = {
|
|
5024
|
+
en: EN,
|
|
5025
|
+
zh: ZH,
|
|
5026
|
+
hi: HI,
|
|
5027
|
+
es: ES,
|
|
5028
|
+
ar: AR,
|
|
5029
|
+
ta: TA
|
|
5030
|
+
};
|
|
5031
|
+
function resolveExploreLocale(explicit) {
|
|
5032
|
+
const candidates = [
|
|
5033
|
+
explicit,
|
|
5034
|
+
typeof document === "undefined" ? void 0 : document.documentElement.lang,
|
|
5035
|
+
typeof navigator === "undefined" ? void 0 : navigator.language
|
|
5036
|
+
];
|
|
5037
|
+
for (const candidate of candidates) {
|
|
5038
|
+
if (!candidate) continue;
|
|
5039
|
+
const primary = candidate.toLowerCase().split("-")[0];
|
|
5040
|
+
const match = EXPLORE_LOCALES.find((locale) => locale === primary);
|
|
5041
|
+
if (match) return match;
|
|
5042
|
+
}
|
|
5043
|
+
return "en";
|
|
5044
|
+
}
|
|
5045
|
+
function exploreStrings(locale) {
|
|
5046
|
+
return STRINGS[locale] ?? EN;
|
|
5047
|
+
}
|
|
5048
|
+
function fill(template, values) {
|
|
5049
|
+
return template.replace(/\{(\w+)\}/g, (match, key) => values[key] ?? match);
|
|
5050
|
+
}
|
|
4768
5051
|
var PROSE_CSS = `
|
|
4769
5052
|
.boff-prose {
|
|
4770
5053
|
max-width: none;
|
|
@@ -6255,6 +6538,39 @@ function useSpeechInput({
|
|
|
6255
6538
|
);
|
|
6256
6539
|
return { supported, listening, interim, error, start, stop, toggle };
|
|
6257
6540
|
}
|
|
6541
|
+
var SWIPE_THRESHOLD = 40;
|
|
6542
|
+
function useSwipe({
|
|
6543
|
+
onSwipeLeft,
|
|
6544
|
+
onSwipeRight,
|
|
6545
|
+
enabled = true
|
|
6546
|
+
}) {
|
|
6547
|
+
const start = React.useRef(null);
|
|
6548
|
+
const onPointerDown = React.useCallback(
|
|
6549
|
+
(event) => {
|
|
6550
|
+
if (!enabled) return;
|
|
6551
|
+
start.current = { x: event.clientX, y: event.clientY };
|
|
6552
|
+
},
|
|
6553
|
+
[enabled]
|
|
6554
|
+
);
|
|
6555
|
+
const onPointerUp = React.useCallback(
|
|
6556
|
+
(event) => {
|
|
6557
|
+
const from = start.current;
|
|
6558
|
+
start.current = null;
|
|
6559
|
+
if (!enabled || !from) return;
|
|
6560
|
+
const dx = event.clientX - from.x;
|
|
6561
|
+
const dy = event.clientY - from.y;
|
|
6562
|
+
if (Math.abs(dx) < SWIPE_THRESHOLD || Math.abs(dx) <= Math.abs(dy))
|
|
6563
|
+
return;
|
|
6564
|
+
if (dx < 0) onSwipeLeft?.();
|
|
6565
|
+
else onSwipeRight?.();
|
|
6566
|
+
},
|
|
6567
|
+
[enabled, onSwipeLeft, onSwipeRight]
|
|
6568
|
+
);
|
|
6569
|
+
const onPointerCancel = React.useCallback(() => {
|
|
6570
|
+
start.current = null;
|
|
6571
|
+
}, []);
|
|
6572
|
+
return { onPointerDown, onPointerUp, onPointerCancel };
|
|
6573
|
+
}
|
|
6258
6574
|
var EXPLORE_CSS = `
|
|
6259
6575
|
@keyframes boff-explore-pulse {
|
|
6260
6576
|
0%, 80%, 100% { opacity: 0.25; transform: translateY(0); }
|
|
@@ -6342,6 +6658,70 @@ var EXPLORE_CSS = `
|
|
|
6342
6658
|
max-width: 100%;
|
|
6343
6659
|
height: auto;
|
|
6344
6660
|
}
|
|
6661
|
+
|
|
6662
|
+
/* ---- Ambient backdrop -----------------------------------------------------------------
|
|
6663
|
+
Two very low-opacity radial washes behind the welcome state, drifting slowly. Painted on
|
|
6664
|
+
a pseudo-element with pointer-events:none so it can never intercept a click \u2014 a
|
|
6665
|
+
decorative overlay that swallows clicks is a bug we have shipped before.
|
|
6666
|
+
Colours come from the product's own --primary token, so this picks up each site's palette
|
|
6667
|
+
instead of introducing one. */
|
|
6668
|
+
.boff-explore-aura {
|
|
6669
|
+
position: relative;
|
|
6670
|
+
isolation: isolate;
|
|
6671
|
+
}
|
|
6672
|
+
.boff-explore-aura::before {
|
|
6673
|
+
content: "";
|
|
6674
|
+
position: absolute;
|
|
6675
|
+
inset: -10% -20% auto -20%;
|
|
6676
|
+
height: 60%;
|
|
6677
|
+
z-index: -1;
|
|
6678
|
+
pointer-events: none;
|
|
6679
|
+
background:
|
|
6680
|
+
radial-gradient(38% 55% at 22% 30%, hsl(var(--primary) / 0.10), transparent 70%),
|
|
6681
|
+
radial-gradient(32% 48% at 78% 18%, hsl(var(--primary) / 0.07), transparent 72%);
|
|
6682
|
+
filter: blur(6px);
|
|
6683
|
+
animation: boff-explore-drift 26s ease-in-out infinite alternate;
|
|
6684
|
+
}
|
|
6685
|
+
@keyframes boff-explore-drift {
|
|
6686
|
+
from { transform: translate3d(-1.5%, -1%, 0) scale(1); }
|
|
6687
|
+
to { transform: translate3d(1.5%, 1.5%, 0) scale(1.06); }
|
|
6688
|
+
}
|
|
6689
|
+
|
|
6690
|
+
/* Entrance: content settles rather than snapping in. Short, and only once. */
|
|
6691
|
+
@keyframes boff-explore-rise {
|
|
6692
|
+
from { opacity: 0; transform: translateY(6px); }
|
|
6693
|
+
to { opacity: 1; transform: none; }
|
|
6694
|
+
}
|
|
6695
|
+
.boff-explore-rise {
|
|
6696
|
+
animation: boff-explore-rise 380ms cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
6697
|
+
}
|
|
6698
|
+
.boff-explore-rise-1 { animation-delay: 40ms; }
|
|
6699
|
+
.boff-explore-rise-2 { animation-delay: 90ms; }
|
|
6700
|
+
.boff-explore-rise-3 { animation-delay: 140ms; }
|
|
6701
|
+
|
|
6702
|
+
/* A soft sheen that crosses the send button while a turn is in flight \u2014 enough to say
|
|
6703
|
+
"working" without another spinner competing with the thinking dots. */
|
|
6704
|
+
@keyframes boff-explore-sheen {
|
|
6705
|
+
from { transform: translateX(-120%); }
|
|
6706
|
+
to { transform: translateX(220%); }
|
|
6707
|
+
}
|
|
6708
|
+
.boff-explore-busy { position: relative; overflow: hidden; }
|
|
6709
|
+
.boff-explore-busy::after {
|
|
6710
|
+
content: "";
|
|
6711
|
+
position: absolute;
|
|
6712
|
+
inset: 0;
|
|
6713
|
+
pointer-events: none;
|
|
6714
|
+
background: linear-gradient(100deg, transparent 20%, hsl(var(--primary) / 0.22) 50%, transparent 80%);
|
|
6715
|
+
animation: boff-explore-sheen 1.5s ease-in-out infinite;
|
|
6716
|
+
}
|
|
6717
|
+
|
|
6718
|
+
/* Every one of the above is decoration. Reduced motion removes the movement and keeps the
|
|
6719
|
+
final state, rather than leaving content mid-animation and invisible. */
|
|
6720
|
+
@media (prefers-reduced-motion: reduce) {
|
|
6721
|
+
.boff-explore-aura::before,
|
|
6722
|
+
.boff-explore-busy::after { animation: none; }
|
|
6723
|
+
.boff-explore-rise { animation: none; opacity: 1; transform: none; }
|
|
6724
|
+
}
|
|
6345
6725
|
`;
|
|
6346
6726
|
function ExploreStyles() {
|
|
6347
6727
|
return /* @__PURE__ */ jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: EXPLORE_CSS } });
|
|
@@ -6550,6 +6930,7 @@ function UserBubble({ message }) {
|
|
|
6550
6930
|
) });
|
|
6551
6931
|
}
|
|
6552
6932
|
function AssistantBubble({
|
|
6933
|
+
strings: T,
|
|
6553
6934
|
message,
|
|
6554
6935
|
activity,
|
|
6555
6936
|
onNavigate,
|
|
@@ -6566,7 +6947,7 @@ function AssistantBubble({
|
|
|
6566
6947
|
ref: anchorRef,
|
|
6567
6948
|
"data-boff-explore": "assistant",
|
|
6568
6949
|
"data-status": message.status,
|
|
6569
|
-
className: "flex scroll-mt-4 gap-3",
|
|
6950
|
+
className: "boff-explore-rise flex scroll-mt-4 gap-3",
|
|
6570
6951
|
children: [
|
|
6571
6952
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6572
6953
|
"span",
|
|
@@ -6597,7 +6978,7 @@ function AssistantBubble({
|
|
|
6597
6978
|
event.preventDefault();
|
|
6598
6979
|
onNavigate("/contact");
|
|
6599
6980
|
},
|
|
6600
|
-
children:
|
|
6981
|
+
children: T.askHuman
|
|
6601
6982
|
}
|
|
6602
6983
|
),
|
|
6603
6984
|
"."
|
|
@@ -6612,7 +6993,7 @@ function AssistantBubble({
|
|
|
6612
6993
|
streaming ? /* @__PURE__ */ jsxRuntime.jsx(ThinkingIndicator, { activity }) : null,
|
|
6613
6994
|
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,
|
|
6614
6995
|
message.references.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
6615
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children:
|
|
6996
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.sources }),
|
|
6616
6997
|
/* @__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(
|
|
6617
6998
|
ReferenceCard,
|
|
6618
6999
|
{
|
|
@@ -6632,7 +7013,7 @@ function AssistantBubble({
|
|
|
6632
7013
|
`${cta.kind}-${cta.url}`
|
|
6633
7014
|
)) }) : null,
|
|
6634
7015
|
message.status === "COMPLETED" && (message.followUps?.length ?? 0) > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5 pt-0.5", children: [
|
|
6635
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium text-muted-foreground", children:
|
|
7016
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium text-muted-foreground", children: T.nextYouCouldAsk }),
|
|
6636
7017
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1.5", children: (message.followUps ?? []).map((question) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6637
7018
|
"button",
|
|
6638
7019
|
{
|
|
@@ -6694,6 +7075,7 @@ function ErrorBanner({
|
|
|
6694
7075
|
);
|
|
6695
7076
|
}
|
|
6696
7077
|
function PromptCarousel({
|
|
7078
|
+
strings: T,
|
|
6697
7079
|
prompts,
|
|
6698
7080
|
onPrompt,
|
|
6699
7081
|
disabled
|
|
@@ -6708,6 +7090,11 @@ function PromptCarousel({
|
|
|
6708
7090
|
},
|
|
6709
7091
|
[count]
|
|
6710
7092
|
);
|
|
7093
|
+
const swipe = useSwipe({
|
|
7094
|
+
onSwipeLeft: () => go(1),
|
|
7095
|
+
onSwipeRight: () => go(-1),
|
|
7096
|
+
enabled: count > 1
|
|
7097
|
+
});
|
|
6711
7098
|
React.useEffect(() => {
|
|
6712
7099
|
if (paused || disabled || count < 2) return;
|
|
6713
7100
|
if (typeof window !== "undefined" && window.matchMedia?.("(prefers-reduced-motion: reduce)").matches) {
|
|
@@ -6720,7 +7107,7 @@ function PromptCarousel({
|
|
|
6720
7107
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6721
7108
|
"div",
|
|
6722
7109
|
{
|
|
6723
|
-
className: "flex min-w-0 items-center gap-1.5",
|
|
7110
|
+
className: "flex min-w-0 touch-pan-y items-center gap-1.5",
|
|
6724
7111
|
role: "group",
|
|
6725
7112
|
"aria-roledescription": "carousel",
|
|
6726
7113
|
"aria-label": "Example questions",
|
|
@@ -6728,14 +7115,15 @@ function PromptCarousel({
|
|
|
6728
7115
|
onMouseLeave: () => setPaused(false),
|
|
6729
7116
|
onFocusCapture: () => setPaused(true),
|
|
6730
7117
|
onBlurCapture: () => setPaused(false),
|
|
7118
|
+
...swipe,
|
|
6731
7119
|
children: [
|
|
6732
7120
|
count > 1 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6733
7121
|
"button",
|
|
6734
7122
|
{
|
|
6735
7123
|
type: "button",
|
|
6736
|
-
"aria-label":
|
|
7124
|
+
"aria-label": T.prevSuggestion,
|
|
6737
7125
|
onClick: () => go(-1),
|
|
6738
|
-
className: "
|
|
7126
|
+
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",
|
|
6739
7127
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "h-4 w-4" })
|
|
6740
7128
|
}
|
|
6741
7129
|
) : null,
|
|
@@ -6762,7 +7150,7 @@ function PromptCarousel({
|
|
|
6762
7150
|
"button",
|
|
6763
7151
|
{
|
|
6764
7152
|
type: "button",
|
|
6765
|
-
"aria-label":
|
|
7153
|
+
"aria-label": T.nextSuggestion,
|
|
6766
7154
|
onClick: () => go(1),
|
|
6767
7155
|
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",
|
|
6768
7156
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-4 w-4" })
|
|
@@ -6773,6 +7161,7 @@ function PromptCarousel({
|
|
|
6773
7161
|
);
|
|
6774
7162
|
}
|
|
6775
7163
|
function ProductStrip({
|
|
7164
|
+
strings: T,
|
|
6776
7165
|
products,
|
|
6777
7166
|
focusProduct,
|
|
6778
7167
|
onFocus
|
|
@@ -6807,7 +7196,7 @@ function ProductStrip({
|
|
|
6807
7196
|
"aria-pressed": focusProduct === null,
|
|
6808
7197
|
onClick: () => onFocus(null),
|
|
6809
7198
|
className: chipClass(focusProduct === null),
|
|
6810
|
-
children:
|
|
7199
|
+
children: T.allProducts
|
|
6811
7200
|
}
|
|
6812
7201
|
),
|
|
6813
7202
|
products.map((product) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6836,7 +7225,7 @@ function ProductStrip({
|
|
|
6836
7225
|
"aria-expanded": expanded,
|
|
6837
7226
|
onClick: () => setExpanded((v) => !v),
|
|
6838
7227
|
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",
|
|
6839
|
-
children: expanded ?
|
|
7228
|
+
children: expanded ? T.showLess : `${T.showAll} ${products.length}`
|
|
6840
7229
|
}
|
|
6841
7230
|
) : null
|
|
6842
7231
|
]
|
|
@@ -6944,6 +7333,7 @@ function DisclaimerDialog({
|
|
|
6944
7333
|
);
|
|
6945
7334
|
}
|
|
6946
7335
|
function WelcomeState({
|
|
7336
|
+
strings: T,
|
|
6947
7337
|
title,
|
|
6948
7338
|
body,
|
|
6949
7339
|
prompts,
|
|
@@ -6953,43 +7343,45 @@ function WelcomeState({
|
|
|
6953
7343
|
onFocus,
|
|
6954
7344
|
disabled
|
|
6955
7345
|
}) {
|
|
6956
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto w-full max-w-3xl px-4 py-
|
|
6957
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
7346
|
+
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: [
|
|
7347
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "boff-explore-rise text-center", children: [
|
|
6958
7348
|
/* @__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: [
|
|
6959
7349
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-3.5 w-3.5" }),
|
|
6960
|
-
|
|
7350
|
+
T.badge
|
|
6961
7351
|
] }),
|
|
6962
7352
|
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "mt-4 text-balance break-words text-2xl font-bold tracking-tight sm:text-4xl", children: title }),
|
|
6963
7353
|
/* @__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 })
|
|
6964
7354
|
] }),
|
|
6965
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "mt-
|
|
7355
|
+
/* @__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(
|
|
6966
7356
|
"li",
|
|
6967
7357
|
{
|
|
6968
|
-
className: "rounded-xl border border-border/70 bg-card/60 p-
|
|
7358
|
+
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",
|
|
6969
7359
|
children: [
|
|
6970
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mb-
|
|
6971
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-
|
|
6972
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs leading-relaxed text-muted-foreground", children: capBody })
|
|
7360
|
+
/* @__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" }) }),
|
|
7361
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] font-semibold leading-tight text-card-foreground sm:text-sm sm:leading-normal", children: T.capabilities[i] ?? "" }),
|
|
7362
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 hidden text-xs leading-relaxed text-muted-foreground sm:block", children: capBody })
|
|
6973
7363
|
]
|
|
6974
7364
|
},
|
|
6975
|
-
|
|
7365
|
+
i
|
|
6976
7366
|
)) }),
|
|
6977
|
-
prompts.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8", children: [
|
|
6978
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children:
|
|
7367
|
+
prompts.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "boff-explore-rise boff-explore-rise-2 mt-8", children: [
|
|
7368
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.tryAsking }),
|
|
6979
7369
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6980
7370
|
PromptCarousel,
|
|
6981
7371
|
{
|
|
7372
|
+
strings: T,
|
|
6982
7373
|
prompts,
|
|
6983
7374
|
onPrompt,
|
|
6984
7375
|
disabled
|
|
6985
7376
|
}
|
|
6986
7377
|
)
|
|
6987
7378
|
] }) : null,
|
|
6988
|
-
products.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-6", children: [
|
|
6989
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children:
|
|
7379
|
+
products.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "boff-explore-rise boff-explore-rise-3 mt-6", children: [
|
|
7380
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.focusProduct }),
|
|
6990
7381
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6991
7382
|
ProductStrip,
|
|
6992
7383
|
{
|
|
7384
|
+
strings: T,
|
|
6993
7385
|
products,
|
|
6994
7386
|
focusProduct,
|
|
6995
7387
|
onFocus
|
|
@@ -7008,7 +7400,8 @@ function ExplorePage({
|
|
|
7008
7400
|
onNavigate,
|
|
7009
7401
|
onSend,
|
|
7010
7402
|
welcomeTitle,
|
|
7011
|
-
welcomeBody
|
|
7403
|
+
welcomeBody,
|
|
7404
|
+
locale
|
|
7012
7405
|
}) {
|
|
7013
7406
|
const pageUrl = React.useMemo(
|
|
7014
7407
|
() => typeof window === "undefined" ? void 0 : window.location.href,
|
|
@@ -7052,8 +7445,15 @@ function ExplorePage({
|
|
|
7052
7445
|
}
|
|
7053
7446
|
});
|
|
7054
7447
|
speechStopRef.current = speech.stop;
|
|
7448
|
+
const activeLocale = React.useMemo(
|
|
7449
|
+
() => resolveExploreLocale(locale),
|
|
7450
|
+
[locale]
|
|
7451
|
+
);
|
|
7452
|
+
const T = React.useMemo(() => exploreStrings(activeLocale), [activeLocale]);
|
|
7453
|
+
const rtl = isRtlLocale(activeLocale);
|
|
7055
7454
|
const [disclaimerOpen, setDisclaimerOpen] = React.useState(false);
|
|
7056
7455
|
const [shareLabel, setShareLabel] = React.useState("Share");
|
|
7456
|
+
const [shareUrl, setShareUrl] = React.useState(null);
|
|
7057
7457
|
const scrollRef = React.useRef(null);
|
|
7058
7458
|
const latestAssistantRef = React.useRef(null);
|
|
7059
7459
|
const alignedForRef = React.useRef(null);
|
|
@@ -7110,6 +7510,7 @@ function ExplorePage({
|
|
|
7110
7510
|
}, [activity, latestAssistantId, messages]);
|
|
7111
7511
|
const handleShare = React.useCallback(async () => {
|
|
7112
7512
|
setShareLabel("Copying\u2026");
|
|
7513
|
+
setShareUrl(null);
|
|
7113
7514
|
const token = await createShareLink();
|
|
7114
7515
|
if (!token) {
|
|
7115
7516
|
setShareLabel("Unavailable");
|
|
@@ -7121,11 +7522,11 @@ function ExplorePage({
|
|
|
7121
7522
|
try {
|
|
7122
7523
|
await navigator.clipboard.writeText(url);
|
|
7123
7524
|
setShareLabel("Copied");
|
|
7525
|
+
setTimeout(() => setShareLabel("Share"), 2500);
|
|
7124
7526
|
} catch {
|
|
7125
|
-
|
|
7527
|
+
setShareUrl(url);
|
|
7126
7528
|
setShareLabel("Share");
|
|
7127
7529
|
}
|
|
7128
|
-
setTimeout(() => setShareLabel("Share"), 2500);
|
|
7129
7530
|
}, [createShareLink, pageUrl]);
|
|
7130
7531
|
const submitDraft = React.useCallback(() => {
|
|
7131
7532
|
const text = draft.trim();
|
|
@@ -7164,6 +7565,8 @@ function ExplorePage({
|
|
|
7164
7565
|
{
|
|
7165
7566
|
"data-boff-explore": "page",
|
|
7166
7567
|
"data-phase": phase,
|
|
7568
|
+
"data-locale": activeLocale,
|
|
7569
|
+
dir: rtl ? "rtl" : void 0,
|
|
7167
7570
|
className: cn(
|
|
7168
7571
|
"flex w-full min-w-0 flex-col overflow-x-hidden bg-background text-foreground",
|
|
7169
7572
|
heightMode === "auto" && "min-h-[70vh]",
|
|
@@ -7325,10 +7728,17 @@ function ExplorePage({
|
|
|
7325
7728
|
role: "log",
|
|
7326
7729
|
"aria-live": "polite",
|
|
7327
7730
|
"aria-label": "Explore conversation",
|
|
7328
|
-
className:
|
|
7731
|
+
className: cn(
|
|
7732
|
+
"boff-explore-scroll min-h-0 min-w-0 flex-1 overflow-y-auto overflow-x-hidden",
|
|
7733
|
+
// Only while the welcome state is showing: a flex column is what lets its
|
|
7734
|
+
// `my-auto` centre the block on a tall screen. The transcript must NOT be a flex
|
|
7735
|
+
// column — that would fight the natural top-down flow of messages.
|
|
7736
|
+
showWelcome && "flex flex-col"
|
|
7737
|
+
),
|
|
7329
7738
|
children: showWelcome ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7330
7739
|
WelcomeState,
|
|
7331
7740
|
{
|
|
7741
|
+
strings: T,
|
|
7332
7742
|
title: resolvedTitle,
|
|
7333
7743
|
body: resolvedBody,
|
|
7334
7744
|
prompts,
|
|
@@ -7342,6 +7752,7 @@ function ExplorePage({
|
|
|
7342
7752
|
(message) => message.role === "USER" ? /* @__PURE__ */ jsxRuntime.jsx(UserBubble, { message }, message.id) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
7343
7753
|
AssistantBubble,
|
|
7344
7754
|
{
|
|
7755
|
+
strings: T,
|
|
7345
7756
|
message,
|
|
7346
7757
|
activity,
|
|
7347
7758
|
onNavigate,
|
|
@@ -7378,6 +7789,7 @@ function ExplorePage({
|
|
|
7378
7789
|
{
|
|
7379
7790
|
className: cn(
|
|
7380
7791
|
"flex min-w-0 items-end gap-2 rounded-2xl border bg-card p-2 shadow-sm transition-all",
|
|
7792
|
+
busy && "boff-explore-busy",
|
|
7381
7793
|
overLimit ? "border-destructive/60" : "border-border focus-within:border-primary/40 focus-within:ring-1 focus-within:ring-ring"
|
|
7382
7794
|
),
|
|
7383
7795
|
children: [
|
|
@@ -7397,7 +7809,9 @@ function ExplorePage({
|
|
|
7397
7809
|
composingRef.current = false;
|
|
7398
7810
|
},
|
|
7399
7811
|
"aria-label": "Ask a question",
|
|
7400
|
-
placeholder: composerDisabled ? phase === "limited" ? "Message limit reached \u2014 please try again later" : "Explore is unavailable right now" : focusedProductName ?
|
|
7812
|
+
placeholder: composerDisabled ? phase === "limited" ? "Message limit reached \u2014 please try again later" : "Explore is unavailable right now" : focusedProductName ? fill(T.placeholderProduct, {
|
|
7813
|
+
product: focusedProductName
|
|
7814
|
+
}) : T.placeholder,
|
|
7401
7815
|
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"
|
|
7402
7816
|
}
|
|
7403
7817
|
),
|
|
@@ -7410,9 +7824,9 @@ function ExplorePage({
|
|
|
7410
7824
|
size: "icon",
|
|
7411
7825
|
variant: speech.listening ? "default" : "ghost",
|
|
7412
7826
|
disabled: composerDisabled,
|
|
7413
|
-
"aria-label": speech.listening ?
|
|
7827
|
+
"aria-label": speech.listening ? T.stopDictating : T.dictate,
|
|
7414
7828
|
"aria-pressed": speech.listening,
|
|
7415
|
-
title: speech.listening ?
|
|
7829
|
+
title: speech.listening ? T.stopDictating : T.dictate,
|
|
7416
7830
|
onClick: speech.toggle,
|
|
7417
7831
|
className: cn(speech.listening && "animate-pulse"),
|
|
7418
7832
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mic, { className: "h-4 w-4" })
|
|
@@ -7489,8 +7903,30 @@ function ExplorePage({
|
|
|
7489
7903
|
}
|
|
7490
7904
|
)
|
|
7491
7905
|
] }),
|
|
7906
|
+
shareUrl ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 flex items-center gap-2", children: [
|
|
7907
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7908
|
+
"input",
|
|
7909
|
+
{
|
|
7910
|
+
"data-boff-explore": "share-url",
|
|
7911
|
+
readOnly: true,
|
|
7912
|
+
value: shareUrl,
|
|
7913
|
+
"aria-label": "Read-only link to this conversation",
|
|
7914
|
+
onFocus: (event) => event.currentTarget.select(),
|
|
7915
|
+
className: "min-w-0 flex-1 rounded-md border border-border bg-muted px-2 py-1 text-xs text-muted-foreground"
|
|
7916
|
+
}
|
|
7917
|
+
),
|
|
7918
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7919
|
+
"button",
|
|
7920
|
+
{
|
|
7921
|
+
type: "button",
|
|
7922
|
+
className: "shrink-0 text-xs underline underline-offset-2",
|
|
7923
|
+
onClick: () => setShareUrl(null),
|
|
7924
|
+
children: "Done"
|
|
7925
|
+
}
|
|
7926
|
+
)
|
|
7927
|
+
] }) : null,
|
|
7492
7928
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-muted-foreground", children: [
|
|
7493
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children:
|
|
7929
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children: T.disclaimerShort }),
|
|
7494
7930
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7495
7931
|
"button",
|
|
7496
7932
|
{
|
|
@@ -7498,7 +7934,7 @@ function ExplorePage({
|
|
|
7498
7934
|
"data-boff-explore": "disclaimer",
|
|
7499
7935
|
onClick: () => setDisclaimerOpen(true),
|
|
7500
7936
|
className: "shrink-0 underline underline-offset-2 transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
7501
|
-
children:
|
|
7937
|
+
children: T.disclaimer
|
|
7502
7938
|
}
|
|
7503
7939
|
)
|
|
7504
7940
|
] })
|
|
@@ -12184,6 +12620,7 @@ exports.DEFAULT_CONTACT_CATEGORIES = DEFAULT_CONTACT_CATEGORIES;
|
|
|
12184
12620
|
exports.DEFAULT_EXPLORE_EXAMPLE_PROMPTS = DEFAULT_EXPLORE_EXAMPLE_PROMPTS;
|
|
12185
12621
|
exports.ECOSYSTEM_PRODUCTS = ECOSYSTEM_PRODUCTS;
|
|
12186
12622
|
exports.EXPLORE_CATALOG_QUERY = EXPLORE_CATALOG_QUERY;
|
|
12623
|
+
exports.EXPLORE_LOCALES = EXPLORE_LOCALES;
|
|
12187
12624
|
exports.EXPLORE_MESSAGE_QUERY = EXPLORE_MESSAGE_QUERY;
|
|
12188
12625
|
exports.EXPLORE_RECAPTCHA_ACTION = EXPLORE_RECAPTCHA_ACTION;
|
|
12189
12626
|
exports.ElectronDownloadLink = ElectronDownloadLink;
|