@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/index.mjs CHANGED
@@ -4735,6 +4735,289 @@ function ElectronDownloadLink({
4735
4735
  }
4736
4736
  );
4737
4737
  }
4738
+
4739
+ // src/components/explore-i18n.ts
4740
+ var EXPLORE_LOCALES = ["en", "zh", "hi", "es", "ar", "ta"];
4741
+ var RTL_LOCALES = /* @__PURE__ */ new Set(["ar"]);
4742
+ function isRtlLocale(locale) {
4743
+ return RTL_LOCALES.has(locale);
4744
+ }
4745
+ var EN = {
4746
+ badge: "AI answers, grounded in our documentation",
4747
+ welcomeTitle: "Ask anything about our products",
4748
+ welcomeBody: "Describe what you are trying to do and I will point you at the product, the page and the next step.",
4749
+ tryAsking: "Try asking",
4750
+ focusProduct: "Focus on a product",
4751
+ allProducts: "All products",
4752
+ showAll: "All",
4753
+ showLess: "Show less",
4754
+ sources: "Sources",
4755
+ nextYouCouldAsk: "Next you could ask",
4756
+ placeholder: "Ask anything about our products\u2026",
4757
+ placeholderProduct: "Ask about {product}\u2026",
4758
+ send: "Send",
4759
+ stop: "Stop",
4760
+ newChat: "New chat",
4761
+ history: "History",
4762
+ clearHistory: "Clear history",
4763
+ share: "Share",
4764
+ copied: "Copied",
4765
+ copying: "Copying\u2026",
4766
+ shareUnavailable: "Unavailable",
4767
+ disclaimer: "Disclaimer",
4768
+ disclaimerShort: "Grounded in our docs \u2014 check anything important.",
4769
+ dictate: "Dictate your question",
4770
+ stopDictating: "Stop dictating",
4771
+ noAnswer: "I couldn't find this in our documentation, so the answer below is not grounded in a source. Try rephrasing, or",
4772
+ askHuman: "ask a human",
4773
+ prevSuggestion: "Previous suggestion",
4774
+ nextSuggestion: "Next suggestion",
4775
+ capabilities: [
4776
+ "Grounded in our own docs",
4777
+ "Compare across the ecosystem",
4778
+ "Straight to the right page"
4779
+ ],
4780
+ prompts: [
4781
+ "What does this product actually do?",
4782
+ "Which product fits my team?",
4783
+ "How do I get started, step by step?",
4784
+ "How much does it cost?"
4785
+ ]
4786
+ };
4787
+ var ZH = {
4788
+ badge: "\u57FA\u4E8E\u6211\u4EEC\u6587\u6863\u7684 AI \u56DE\u7B54",
4789
+ welcomeTitle: "\u5173\u4E8E\u6211\u4EEC\u7684\u4EA7\u54C1\uFF0C\u968F\u4FBF\u95EE",
4790
+ 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",
4791
+ tryAsking: "\u8BD5\u7740\u95EE",
4792
+ focusProduct: "\u805A\u7126\u67D0\u4E2A\u4EA7\u54C1",
4793
+ allProducts: "\u5168\u90E8\u4EA7\u54C1",
4794
+ showAll: "\u5168\u90E8",
4795
+ showLess: "\u6536\u8D77",
4796
+ sources: "\u6765\u6E90",
4797
+ nextYouCouldAsk: "\u4F60\u8FD8\u53EF\u4EE5\u95EE",
4798
+ placeholder: "\u5173\u4E8E\u6211\u4EEC\u7684\u4EA7\u54C1\uFF0C\u968F\u4FBF\u95EE\u2026",
4799
+ placeholderProduct: "\u8BE2\u95EE\u5173\u4E8E {product} \u7684\u95EE\u9898\u2026",
4800
+ send: "\u53D1\u9001",
4801
+ stop: "\u505C\u6B62",
4802
+ newChat: "\u65B0\u5BF9\u8BDD",
4803
+ history: "\u5386\u53F2",
4804
+ clearHistory: "\u6E05\u9664\u5386\u53F2",
4805
+ share: "\u5206\u4EAB",
4806
+ copied: "\u5DF2\u590D\u5236",
4807
+ copying: "\u590D\u5236\u4E2D\u2026",
4808
+ shareUnavailable: "\u4E0D\u53EF\u7528",
4809
+ disclaimer: "\u514D\u8D23\u58F0\u660E",
4810
+ disclaimerShort: "\u5185\u5BB9\u57FA\u4E8E\u6211\u4EEC\u7684\u6587\u6863\uFF0C\u91CD\u8981\u4FE1\u606F\u8BF7\u81EA\u884C\u6838\u5BF9\u3002",
4811
+ dictate: "\u8BED\u97F3\u8F93\u5165",
4812
+ stopDictating: "\u505C\u6B62\u8BED\u97F3\u8F93\u5165",
4813
+ 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",
4814
+ askHuman: "\u8054\u7CFB\u6211\u4EEC",
4815
+ prevSuggestion: "\u4E0A\u4E00\u4E2A\u5EFA\u8BAE",
4816
+ nextSuggestion: "\u4E0B\u4E00\u4E2A\u5EFA\u8BAE",
4817
+ capabilities: ["\u57FA\u4E8E\u6211\u4EEC\u81EA\u5DF1\u7684\u6587\u6863", "\u8DE8\u4EA7\u54C1\u5BF9\u6BD4", "\u76F4\u8FBE\u6B63\u786E\u7684\u9875\u9762"],
4818
+ prompts: [
4819
+ "\u8FD9\u4E2A\u4EA7\u54C1\u5230\u5E95\u80FD\u505A\u4EC0\u4E48\uFF1F",
4820
+ "\u54EA\u4E2A\u4EA7\u54C1\u9002\u5408\u6211\u7684\u56E2\u961F\uFF1F",
4821
+ "\u5982\u4F55\u4E00\u6B65\u6B65\u5F00\u59CB\u4F7F\u7528\uFF1F",
4822
+ "\u4EF7\u683C\u662F\u591A\u5C11\uFF1F"
4823
+ ]
4824
+ };
4825
+ var HI = {
4826
+ 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",
4827
+ 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",
4828
+ 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",
4829
+ tryAsking: "\u092F\u0939 \u092A\u0942\u091B\u0915\u0930 \u0926\u0947\u0916\u0947\u0902",
4830
+ focusProduct: "\u0915\u093F\u0938\u0940 \u0909\u0924\u094D\u092A\u093E\u0926 \u092A\u0930 \u0927\u094D\u092F\u093E\u0928 \u0926\u0947\u0902",
4831
+ allProducts: "\u0938\u092D\u0940 \u0909\u0924\u094D\u092A\u093E\u0926",
4832
+ showAll: "\u0938\u092D\u0940",
4833
+ showLess: "\u0915\u092E \u0926\u093F\u0916\u093E\u090F\u0901",
4834
+ sources: "\u0938\u094D\u0930\u094B\u0924",
4835
+ nextYouCouldAsk: "\u0906\u0917\u0947 \u0906\u092A \u092A\u0942\u091B \u0938\u0915\u0924\u0947 \u0939\u0948\u0902",
4836
+ 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",
4837
+ placeholderProduct: "{product} \u0915\u0947 \u092C\u093E\u0930\u0947 \u092E\u0947\u0902 \u092A\u0942\u091B\u0947\u0902\u2026",
4838
+ send: "\u092D\u0947\u091C\u0947\u0902",
4839
+ stop: "\u0930\u094B\u0915\u0947\u0902",
4840
+ newChat: "\u0928\u0908 \u092C\u093E\u0924\u091A\u0940\u0924",
4841
+ history: "\u0907\u0924\u093F\u0939\u093E\u0938",
4842
+ clearHistory: "\u0907\u0924\u093F\u0939\u093E\u0938 \u092E\u093F\u091F\u093E\u090F\u0901",
4843
+ share: "\u0938\u093E\u091D\u093E \u0915\u0930\u0947\u0902",
4844
+ copied: "\u0915\u0949\u092A\u0940 \u0939\u094B \u0917\u092F\u093E",
4845
+ copying: "\u0915\u0949\u092A\u0940 \u0939\u094B \u0930\u0939\u093E \u0939\u0948\u2026",
4846
+ shareUnavailable: "\u0909\u092A\u0932\u092C\u094D\u0927 \u0928\u0939\u0940\u0902",
4847
+ disclaimer: "\u0905\u0938\u094D\u0935\u0940\u0915\u0930\u0923",
4848
+ 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",
4849
+ dictate: "\u092C\u094B\u0932\u0915\u0930 \u092A\u0942\u091B\u0947\u0902",
4850
+ stopDictating: "\u092C\u094B\u0932\u0928\u093E \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
4851
+ 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",
4852
+ askHuman: "\u0939\u092E\u0938\u0947 \u0938\u0902\u092A\u0930\u094D\u0915 \u0915\u0930\u0947\u0902",
4853
+ prevSuggestion: "\u092A\u093F\u091B\u0932\u093E \u0938\u0941\u091D\u093E\u0935",
4854
+ nextSuggestion: "\u0905\u0917\u0932\u093E \u0938\u0941\u091D\u093E\u0935",
4855
+ capabilities: [
4856
+ "\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",
4857
+ "\u0938\u092D\u0940 \u0909\u0924\u094D\u092A\u093E\u0926\u094B\u0902 \u0915\u0940 \u0924\u0941\u0932\u0928\u093E \u0915\u0930\u0947\u0902",
4858
+ "\u0938\u0940\u0927\u0947 \u0938\u0939\u0940 \u092A\u0947\u091C \u092A\u0930"
4859
+ ],
4860
+ prompts: [
4861
+ "\u092F\u0939 \u0909\u0924\u094D\u092A\u093E\u0926 \u0905\u0938\u0932 \u092E\u0947\u0902 \u0915\u094D\u092F\u093E \u0915\u0930\u0924\u093E \u0939\u0948?",
4862
+ "\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?",
4863
+ "\u0936\u0941\u0930\u0941\u0906\u0924 \u0915\u0948\u0938\u0947 \u0915\u0930\u0947\u0902, \u091A\u0930\u0923 \u0926\u0930 \u091A\u0930\u0923?",
4864
+ "\u0907\u0938\u0915\u0940 \u0915\u0940\u092E\u0924 \u0915\u093F\u0924\u0928\u0940 \u0939\u0948?"
4865
+ ]
4866
+ };
4867
+ var ES = {
4868
+ badge: "Respuestas de IA basadas en nuestra documentaci\xF3n",
4869
+ welcomeTitle: "Pregunta lo que quieras sobre nuestros productos",
4870
+ welcomeBody: "Cu\xE9ntame qu\xE9 necesitas hacer y te indicar\xE9 el producto, la p\xE1gina y el siguiente paso.",
4871
+ tryAsking: "Prueba a preguntar",
4872
+ focusProduct: "Centrarse en un producto",
4873
+ allProducts: "Todos los productos",
4874
+ showAll: "Todos",
4875
+ showLess: "Ver menos",
4876
+ sources: "Fuentes",
4877
+ nextYouCouldAsk: "Tambi\xE9n puedes preguntar",
4878
+ placeholder: "Pregunta lo que quieras sobre nuestros productos\u2026",
4879
+ placeholderProduct: "Pregunta sobre {product}\u2026",
4880
+ send: "Enviar",
4881
+ stop: "Detener",
4882
+ newChat: "Nueva conversaci\xF3n",
4883
+ history: "Historial",
4884
+ clearHistory: "Borrar historial",
4885
+ share: "Compartir",
4886
+ copied: "Copiado",
4887
+ copying: "Copiando\u2026",
4888
+ shareUnavailable: "No disponible",
4889
+ disclaimer: "Aviso",
4890
+ disclaimerShort: "Basado en nuestra documentaci\xF3n: comprueba cualquier dato importante.",
4891
+ dictate: "Dictar tu pregunta",
4892
+ stopDictating: "Dejar de dictar",
4893
+ 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",
4894
+ askHuman: "habla con una persona",
4895
+ prevSuggestion: "Sugerencia anterior",
4896
+ nextSuggestion: "Sugerencia siguiente",
4897
+ capabilities: [
4898
+ "Basado en nuestra documentaci\xF3n",
4899
+ "Compara todo el ecosistema",
4900
+ "Directo a la p\xE1gina correcta"
4901
+ ],
4902
+ prompts: [
4903
+ "\xBFQu\xE9 hace realmente este producto?",
4904
+ "\xBFQu\xE9 producto encaja con mi equipo?",
4905
+ "\xBFC\xF3mo empiezo, paso a paso?",
4906
+ "\xBFCu\xE1nto cuesta?"
4907
+ ]
4908
+ };
4909
+ var AR = {
4910
+ 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",
4911
+ welcomeTitle: "\u0627\u0633\u0623\u0644 \u0623\u064A \u0634\u064A\u0621 \u0639\u0646 \u0645\u0646\u062A\u062C\u0627\u062A\u0646\u0627",
4912
+ 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.",
4913
+ tryAsking: "\u062C\u0631\u0651\u0628 \u0623\u0646 \u062A\u0633\u0623\u0644",
4914
+ focusProduct: "\u0627\u0644\u062A\u0631\u0643\u064A\u0632 \u0639\u0644\u0649 \u0645\u0646\u062A\u062C",
4915
+ allProducts: "\u0643\u0644 \u0627\u0644\u0645\u0646\u062A\u062C\u0627\u062A",
4916
+ showAll: "\u0627\u0644\u0643\u0644",
4917
+ showLess: "\u0639\u0631\u0636 \u0623\u0642\u0644",
4918
+ sources: "\u0627\u0644\u0645\u0635\u0627\u062F\u0631",
4919
+ nextYouCouldAsk: "\u064A\u0645\u0643\u0646\u0643 \u0623\u0646 \u062A\u0633\u0623\u0644 \u0628\u0639\u062F \u0630\u0644\u0643",
4920
+ placeholder: "\u0627\u0633\u0623\u0644 \u0623\u064A \u0634\u064A\u0621 \u0639\u0646 \u0645\u0646\u062A\u062C\u0627\u062A\u0646\u0627\u2026",
4921
+ placeholderProduct: "\u0627\u0633\u0623\u0644 \u0639\u0646 {product}\u2026",
4922
+ send: "\u0625\u0631\u0633\u0627\u0644",
4923
+ stop: "\u0625\u064A\u0642\u0627\u0641",
4924
+ newChat: "\u0645\u062D\u0627\u062F\u062B\u0629 \u062C\u062F\u064A\u062F\u0629",
4925
+ history: "\u0627\u0644\u0633\u062C\u0644",
4926
+ clearHistory: "\u0645\u0633\u062D \u0627\u0644\u0633\u062C\u0644",
4927
+ share: "\u0645\u0634\u0627\u0631\u0643\u0629",
4928
+ copied: "\u062A\u0645 \u0627\u0644\u0646\u0633\u062E",
4929
+ copying: "\u062C\u0627\u0631\u064D \u0627\u0644\u0646\u0633\u062E\u2026",
4930
+ shareUnavailable: "\u063A\u064A\u0631 \u0645\u062A\u0627\u062D",
4931
+ disclaimer: "\u0625\u062E\u0644\u0627\u0621 \u0645\u0633\u0624\u0648\u0644\u064A\u0629",
4932
+ 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.",
4933
+ dictate: "\u0623\u0645\u0644\u0650 \u0633\u0624\u0627\u0644\u0643",
4934
+ stopDictating: "\u0625\u064A\u0642\u0627\u0641 \u0627\u0644\u0625\u0645\u0644\u0627\u0621",
4935
+ 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",
4936
+ askHuman: "\u062A\u062D\u062F\u0651\u062B \u0625\u0644\u0649 \u0634\u062E\u0635",
4937
+ prevSuggestion: "\u0627\u0644\u0627\u0642\u062A\u0631\u0627\u062D \u0627\u0644\u0633\u0627\u0628\u0642",
4938
+ nextSuggestion: "\u0627\u0644\u0627\u0642\u062A\u0631\u0627\u062D \u0627\u0644\u062A\u0627\u0644\u064A",
4939
+ capabilities: [
4940
+ "\u0645\u0628\u0646\u064A \u0639\u0644\u0649 \u0648\u062B\u0627\u0626\u0642\u0646\u0627",
4941
+ "\u0642\u0627\u0631\u0646 \u0639\u0628\u0631 \u0627\u0644\u0645\u0646\u0638\u0648\u0645\u0629",
4942
+ "\u0645\u0628\u0627\u0634\u0631\u0629\u064B \u0625\u0644\u0649 \u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u0635\u062D\u064A\u062D\u0629"
4943
+ ],
4944
+ prompts: [
4945
+ "\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",
4946
+ "\u0623\u064A \u0645\u0646\u062A\u062C \u064A\u0646\u0627\u0633\u0628 \u0641\u0631\u064A\u0642\u064A\u061F",
4947
+ "\u0643\u064A\u0641 \u0623\u0628\u062F\u0623 \u062E\u0637\u0648\u0629 \u0628\u062E\u0637\u0648\u0629\u061F",
4948
+ "\u0643\u0645 \u062A\u0628\u0644\u063A \u0627\u0644\u062A\u0643\u0644\u0641\u0629\u061F"
4949
+ ]
4950
+ };
4951
+ var TA = {
4952
+ 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",
4953
+ 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",
4954
+ 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.",
4955
+ tryAsking: "\u0B87\u0BA4\u0BC8\u0B95\u0BCD \u0B95\u0BC7\u0B9F\u0BCD\u0B9F\u0BC1\u0BAA\u0BCD \u0BAA\u0BBE\u0BB0\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
4956
+ focusProduct: "\u0B92\u0BB0\u0BC1 \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BBF\u0BB2\u0BCD \u0B95\u0BB5\u0BA9\u0BAE\u0BCD",
4957
+ allProducts: "\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",
4958
+ showAll: "\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1\u0BAE\u0BCD",
4959
+ showLess: "\u0B95\u0BC1\u0BB1\u0BC8\u0BB5\u0BBE\u0B95\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1",
4960
+ sources: "\u0BAE\u0BC2\u0BB2\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
4961
+ nextYouCouldAsk: "\u0B85\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1 \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B95\u0BC7\u0B9F\u0BCD\u0B95\u0BB2\u0BBE\u0BAE\u0BCD",
4962
+ 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",
4963
+ placeholderProduct: "{product} \u0BAA\u0BB1\u0BCD\u0BB1\u0BBF\u0B95\u0BCD \u0B95\u0BC7\u0BB3\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD\u2026",
4964
+ send: "\u0B85\u0BA9\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1",
4965
+ stop: "\u0BA8\u0BBF\u0BB1\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1",
4966
+ newChat: "\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0B89\u0BB0\u0BC8\u0BAF\u0BBE\u0B9F\u0BB2\u0BCD",
4967
+ history: "\u0BB5\u0BB0\u0BB2\u0BBE\u0BB1\u0BC1",
4968
+ clearHistory: "\u0BB5\u0BB0\u0BB2\u0BBE\u0BB1\u0BCD\u0BB1\u0BC8 \u0B85\u0BB4\u0BBF",
4969
+ share: "\u0BAA\u0B95\u0BBF\u0BB0\u0BCD",
4970
+ copied: "\u0BA8\u0B95\u0BB2\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1",
4971
+ copying: "\u0BA8\u0B95\u0BB2\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BBF\u0BB1\u0BA4\u0BC1\u2026",
4972
+ shareUnavailable: "\u0B95\u0BBF\u0B9F\u0BC8\u0B95\u0BCD\u0B95\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8",
4973
+ disclaimer: "\u0BAA\u0BCA\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0BA4\u0BCD \u0BA4\u0BC1\u0BB1\u0BAA\u0BCD\u0BAA\u0BC1",
4974
+ 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.",
4975
+ 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",
4976
+ stopDictating: "\u0BAA\u0BC7\u0B9A\u0BC1\u0BB5\u0BA4\u0BC8 \u0BA8\u0BBF\u0BB1\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1",
4977
+ 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",
4978
+ 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",
4979
+ prevSuggestion: "\u0BAE\u0BC1\u0BA8\u0BCD\u0BA4\u0BC8\u0BAF \u0BAA\u0BB0\u0BBF\u0BA8\u0BCD\u0BA4\u0BC1\u0BB0\u0BC8",
4980
+ nextSuggestion: "\u0B85\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4 \u0BAA\u0BB0\u0BBF\u0BA8\u0BCD\u0BA4\u0BC1\u0BB0\u0BC8",
4981
+ capabilities: [
4982
+ "\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",
4983
+ "\u0BA4\u0BAF\u0BBE\u0BB0\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BC8 \u0B92\u0BAA\u0BCD\u0BAA\u0BBF\u0B9F\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",
4984
+ "\u0BA8\u0BC7\u0BB0\u0BBE\u0B95 \u0B9A\u0BB0\u0BBF\u0BAF\u0BBE\u0BA9 \u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1"
4985
+ ],
4986
+ prompts: [
4987
+ "\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?",
4988
+ "\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?",
4989
+ "\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?",
4990
+ "\u0B87\u0BA4\u0BA9\u0BCD \u0BB5\u0BBF\u0BB2\u0BC8 \u0B8E\u0BA9\u0BCD\u0BA9?"
4991
+ ]
4992
+ };
4993
+ var STRINGS = {
4994
+ en: EN,
4995
+ zh: ZH,
4996
+ hi: HI,
4997
+ es: ES,
4998
+ ar: AR,
4999
+ ta: TA
5000
+ };
5001
+ function resolveExploreLocale(explicit) {
5002
+ const candidates = [
5003
+ explicit,
5004
+ typeof document === "undefined" ? void 0 : document.documentElement.lang,
5005
+ typeof navigator === "undefined" ? void 0 : navigator.language
5006
+ ];
5007
+ for (const candidate of candidates) {
5008
+ if (!candidate) continue;
5009
+ const primary = candidate.toLowerCase().split("-")[0];
5010
+ const match = EXPLORE_LOCALES.find((locale) => locale === primary);
5011
+ if (match) return match;
5012
+ }
5013
+ return "en";
5014
+ }
5015
+ function exploreStrings(locale) {
5016
+ return STRINGS[locale] ?? EN;
5017
+ }
5018
+ function fill(template, values) {
5019
+ return template.replace(/\{(\w+)\}/g, (match, key) => values[key] ?? match);
5020
+ }
4738
5021
  var PROSE_CSS = `
4739
5022
  .boff-prose {
4740
5023
  max-width: none;
@@ -6225,6 +6508,39 @@ function useSpeechInput({
6225
6508
  );
6226
6509
  return { supported, listening, interim, error, start, stop, toggle };
6227
6510
  }
6511
+ var SWIPE_THRESHOLD = 40;
6512
+ function useSwipe({
6513
+ onSwipeLeft,
6514
+ onSwipeRight,
6515
+ enabled = true
6516
+ }) {
6517
+ const start = useRef(null);
6518
+ const onPointerDown = useCallback(
6519
+ (event) => {
6520
+ if (!enabled) return;
6521
+ start.current = { x: event.clientX, y: event.clientY };
6522
+ },
6523
+ [enabled]
6524
+ );
6525
+ const onPointerUp = useCallback(
6526
+ (event) => {
6527
+ const from = start.current;
6528
+ start.current = null;
6529
+ if (!enabled || !from) return;
6530
+ const dx = event.clientX - from.x;
6531
+ const dy = event.clientY - from.y;
6532
+ if (Math.abs(dx) < SWIPE_THRESHOLD || Math.abs(dx) <= Math.abs(dy))
6533
+ return;
6534
+ if (dx < 0) onSwipeLeft?.();
6535
+ else onSwipeRight?.();
6536
+ },
6537
+ [enabled, onSwipeLeft, onSwipeRight]
6538
+ );
6539
+ const onPointerCancel = useCallback(() => {
6540
+ start.current = null;
6541
+ }, []);
6542
+ return { onPointerDown, onPointerUp, onPointerCancel };
6543
+ }
6228
6544
  var EXPLORE_CSS = `
6229
6545
  @keyframes boff-explore-pulse {
6230
6546
  0%, 80%, 100% { opacity: 0.25; transform: translateY(0); }
@@ -6312,6 +6628,70 @@ var EXPLORE_CSS = `
6312
6628
  max-width: 100%;
6313
6629
  height: auto;
6314
6630
  }
6631
+
6632
+ /* ---- Ambient backdrop -----------------------------------------------------------------
6633
+ Two very low-opacity radial washes behind the welcome state, drifting slowly. Painted on
6634
+ a pseudo-element with pointer-events:none so it can never intercept a click \u2014 a
6635
+ decorative overlay that swallows clicks is a bug we have shipped before.
6636
+ Colours come from the product's own --primary token, so this picks up each site's palette
6637
+ instead of introducing one. */
6638
+ .boff-explore-aura {
6639
+ position: relative;
6640
+ isolation: isolate;
6641
+ }
6642
+ .boff-explore-aura::before {
6643
+ content: "";
6644
+ position: absolute;
6645
+ inset: -10% -20% auto -20%;
6646
+ height: 60%;
6647
+ z-index: -1;
6648
+ pointer-events: none;
6649
+ background:
6650
+ radial-gradient(38% 55% at 22% 30%, hsl(var(--primary) / 0.10), transparent 70%),
6651
+ radial-gradient(32% 48% at 78% 18%, hsl(var(--primary) / 0.07), transparent 72%);
6652
+ filter: blur(6px);
6653
+ animation: boff-explore-drift 26s ease-in-out infinite alternate;
6654
+ }
6655
+ @keyframes boff-explore-drift {
6656
+ from { transform: translate3d(-1.5%, -1%, 0) scale(1); }
6657
+ to { transform: translate3d(1.5%, 1.5%, 0) scale(1.06); }
6658
+ }
6659
+
6660
+ /* Entrance: content settles rather than snapping in. Short, and only once. */
6661
+ @keyframes boff-explore-rise {
6662
+ from { opacity: 0; transform: translateY(6px); }
6663
+ to { opacity: 1; transform: none; }
6664
+ }
6665
+ .boff-explore-rise {
6666
+ animation: boff-explore-rise 380ms cubic-bezier(0.22, 1, 0.36, 1) both;
6667
+ }
6668
+ .boff-explore-rise-1 { animation-delay: 40ms; }
6669
+ .boff-explore-rise-2 { animation-delay: 90ms; }
6670
+ .boff-explore-rise-3 { animation-delay: 140ms; }
6671
+
6672
+ /* A soft sheen that crosses the send button while a turn is in flight \u2014 enough to say
6673
+ "working" without another spinner competing with the thinking dots. */
6674
+ @keyframes boff-explore-sheen {
6675
+ from { transform: translateX(-120%); }
6676
+ to { transform: translateX(220%); }
6677
+ }
6678
+ .boff-explore-busy { position: relative; overflow: hidden; }
6679
+ .boff-explore-busy::after {
6680
+ content: "";
6681
+ position: absolute;
6682
+ inset: 0;
6683
+ pointer-events: none;
6684
+ background: linear-gradient(100deg, transparent 20%, hsl(var(--primary) / 0.22) 50%, transparent 80%);
6685
+ animation: boff-explore-sheen 1.5s ease-in-out infinite;
6686
+ }
6687
+
6688
+ /* Every one of the above is decoration. Reduced motion removes the movement and keeps the
6689
+ final state, rather than leaving content mid-animation and invisible. */
6690
+ @media (prefers-reduced-motion: reduce) {
6691
+ .boff-explore-aura::before,
6692
+ .boff-explore-busy::after { animation: none; }
6693
+ .boff-explore-rise { animation: none; opacity: 1; transform: none; }
6694
+ }
6315
6695
  `;
6316
6696
  function ExploreStyles() {
6317
6697
  return /* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: EXPLORE_CSS } });
@@ -6520,6 +6900,7 @@ function UserBubble({ message }) {
6520
6900
  ) });
6521
6901
  }
6522
6902
  function AssistantBubble({
6903
+ strings: T,
6523
6904
  message,
6524
6905
  activity,
6525
6906
  onNavigate,
@@ -6536,7 +6917,7 @@ function AssistantBubble({
6536
6917
  ref: anchorRef,
6537
6918
  "data-boff-explore": "assistant",
6538
6919
  "data-status": message.status,
6539
- className: "flex scroll-mt-4 gap-3",
6920
+ className: "boff-explore-rise flex scroll-mt-4 gap-3",
6540
6921
  children: [
6541
6922
  /* @__PURE__ */ jsx(
6542
6923
  "span",
@@ -6567,7 +6948,7 @@ function AssistantBubble({
6567
6948
  event.preventDefault();
6568
6949
  onNavigate("/contact");
6569
6950
  },
6570
- children: "ask a human"
6951
+ children: T.askHuman
6571
6952
  }
6572
6953
  ),
6573
6954
  "."
@@ -6582,7 +6963,7 @@ function AssistantBubble({
6582
6963
  streaming ? /* @__PURE__ */ jsx(ThinkingIndicator, { activity }) : null,
6583
6964
  failed && !body ? /* @__PURE__ */ jsx("div", { className: "rounded-2xl rounded-tl-md border border-border bg-muted px-4 py-3 text-sm text-muted-foreground", children: "That answer didn't come through. Try asking again." }) : null,
6584
6965
  message.references.length > 0 ? /* @__PURE__ */ jsxs("div", { children: [
6585
- /* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: "Sources" }),
6966
+ /* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.sources }),
6586
6967
  /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3", children: message.references.map((reference) => /* @__PURE__ */ jsx(
6587
6968
  ReferenceCard,
6588
6969
  {
@@ -6602,7 +6983,7 @@ function AssistantBubble({
6602
6983
  `${cta.kind}-${cta.url}`
6603
6984
  )) }) : null,
6604
6985
  message.status === "COMPLETED" && (message.followUps?.length ?? 0) > 0 ? /* @__PURE__ */ jsxs("div", { className: "space-y-1.5 pt-0.5", children: [
6605
- /* @__PURE__ */ jsx("p", { className: "text-xs font-medium text-muted-foreground", children: "Next you could ask" }),
6986
+ /* @__PURE__ */ jsx("p", { className: "text-xs font-medium text-muted-foreground", children: T.nextYouCouldAsk }),
6606
6987
  /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1.5", children: (message.followUps ?? []).map((question) => /* @__PURE__ */ jsxs(
6607
6988
  "button",
6608
6989
  {
@@ -6664,6 +7045,7 @@ function ErrorBanner({
6664
7045
  );
6665
7046
  }
6666
7047
  function PromptCarousel({
7048
+ strings: T,
6667
7049
  prompts,
6668
7050
  onPrompt,
6669
7051
  disabled
@@ -6678,6 +7060,11 @@ function PromptCarousel({
6678
7060
  },
6679
7061
  [count]
6680
7062
  );
7063
+ const swipe = useSwipe({
7064
+ onSwipeLeft: () => go(1),
7065
+ onSwipeRight: () => go(-1),
7066
+ enabled: count > 1
7067
+ });
6681
7068
  useEffect(() => {
6682
7069
  if (paused || disabled || count < 2) return;
6683
7070
  if (typeof window !== "undefined" && window.matchMedia?.("(prefers-reduced-motion: reduce)").matches) {
@@ -6690,7 +7077,7 @@ function PromptCarousel({
6690
7077
  return /* @__PURE__ */ jsxs(
6691
7078
  "div",
6692
7079
  {
6693
- className: "flex min-w-0 items-center gap-1.5",
7080
+ className: "flex min-w-0 touch-pan-y items-center gap-1.5",
6694
7081
  role: "group",
6695
7082
  "aria-roledescription": "carousel",
6696
7083
  "aria-label": "Example questions",
@@ -6698,14 +7085,15 @@ function PromptCarousel({
6698
7085
  onMouseLeave: () => setPaused(false),
6699
7086
  onFocusCapture: () => setPaused(true),
6700
7087
  onBlurCapture: () => setPaused(false),
7088
+ ...swipe,
6701
7089
  children: [
6702
7090
  count > 1 ? /* @__PURE__ */ jsx(
6703
7091
  "button",
6704
7092
  {
6705
7093
  type: "button",
6706
- "aria-label": "Previous suggestion",
7094
+ "aria-label": T.prevSuggestion,
6707
7095
  onClick: () => go(-1),
6708
- className: "hidden 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 sm:inline-flex",
7096
+ 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",
6709
7097
  children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" })
6710
7098
  }
6711
7099
  ) : null,
@@ -6732,7 +7120,7 @@ function PromptCarousel({
6732
7120
  "button",
6733
7121
  {
6734
7122
  type: "button",
6735
- "aria-label": "Next suggestion",
7123
+ "aria-label": T.nextSuggestion,
6736
7124
  onClick: () => go(1),
6737
7125
  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",
6738
7126
  children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" })
@@ -6743,6 +7131,7 @@ function PromptCarousel({
6743
7131
  );
6744
7132
  }
6745
7133
  function ProductStrip({
7134
+ strings: T,
6746
7135
  products,
6747
7136
  focusProduct,
6748
7137
  onFocus
@@ -6777,7 +7166,7 @@ function ProductStrip({
6777
7166
  "aria-pressed": focusProduct === null,
6778
7167
  onClick: () => onFocus(null),
6779
7168
  className: chipClass(focusProduct === null),
6780
- children: "All products"
7169
+ children: T.allProducts
6781
7170
  }
6782
7171
  ),
6783
7172
  products.map((product) => /* @__PURE__ */ jsx(
@@ -6806,7 +7195,7 @@ function ProductStrip({
6806
7195
  "aria-expanded": expanded,
6807
7196
  onClick: () => setExpanded((v) => !v),
6808
7197
  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",
6809
- children: expanded ? "Show less" : `All ${products.length}`
7198
+ children: expanded ? T.showLess : `${T.showAll} ${products.length}`
6810
7199
  }
6811
7200
  ) : null
6812
7201
  ]
@@ -6914,6 +7303,7 @@ function DisclaimerDialog({
6914
7303
  );
6915
7304
  }
6916
7305
  function WelcomeState({
7306
+ strings: T,
6917
7307
  title,
6918
7308
  body,
6919
7309
  prompts,
@@ -6923,43 +7313,45 @@ function WelcomeState({
6923
7313
  onFocus,
6924
7314
  disabled
6925
7315
  }) {
6926
- return /* @__PURE__ */ jsxs("div", { className: "mx-auto w-full max-w-3xl px-4 py-8 sm:py-12", children: [
6927
- /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
7316
+ return /* @__PURE__ */ jsxs("div", { className: "boff-explore-aura mx-auto my-auto w-full max-w-3xl px-4 py-6 sm:py-8 lg:py-10", children: [
7317
+ /* @__PURE__ */ jsxs("div", { className: "boff-explore-rise text-center", children: [
6928
7318
  /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5 rounded-full border border-border bg-muted px-3 py-1 text-xs font-medium text-muted-foreground", children: [
6929
7319
  /* @__PURE__ */ jsx(Sparkles, { className: "h-3.5 w-3.5" }),
6930
- "AI answers, grounded in our documentation"
7320
+ T.badge
6931
7321
  ] }),
6932
7322
  /* @__PURE__ */ jsx("h1", { className: "mt-4 text-balance break-words text-2xl font-bold tracking-tight sm:text-4xl", children: title }),
6933
7323
  /* @__PURE__ */ jsx("p", { className: "mx-auto mt-2.5 max-w-2xl text-pretty text-sm leading-relaxed text-muted-foreground sm:text-lg", children: body })
6934
7324
  ] }),
6935
- /* @__PURE__ */ jsx("ul", { className: "mt-7 grid gap-2.5 sm:grid-cols-3", children: CAPABILITIES.map(({ icon: Icon, title: capTitle, body: capBody }) => /* @__PURE__ */ jsxs(
7325
+ /* @__PURE__ */ jsx("ul", { className: "boff-explore-rise boff-explore-rise-1 mt-6 grid grid-cols-3 gap-2 sm:mt-7 sm:gap-2.5", children: CAPABILITIES.map(({ icon: Icon, body: capBody }, i) => /* @__PURE__ */ jsxs(
6936
7326
  "li",
6937
7327
  {
6938
- className: "rounded-xl border border-border/70 bg-card/60 p-3.5 text-left transition-colors hover:border-border",
7328
+ 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",
6939
7329
  children: [
6940
- /* @__PURE__ */ jsx("span", { className: "mb-2.5 flex h-8 w-8 items-center justify-center rounded-lg bg-primary/10 text-primary", children: /* @__PURE__ */ jsx(Icon, { className: "h-4 w-4" }) }),
6941
- /* @__PURE__ */ jsx("p", { className: "text-sm font-semibold text-card-foreground", children: capTitle }),
6942
- /* @__PURE__ */ jsx("p", { className: "mt-1 text-xs leading-relaxed text-muted-foreground", children: capBody })
7330
+ /* @__PURE__ */ jsx("span", { className: "mx-auto mb-1.5 flex h-7 w-7 items-center justify-center rounded-lg bg-primary/10 text-primary sm:mx-0 sm:mb-2.5 sm:h-8 sm:w-8", children: /* @__PURE__ */ jsx(Icon, { className: "h-3.5 w-3.5 sm:h-4 sm:w-4" }) }),
7331
+ /* @__PURE__ */ jsx("p", { className: "text-[11px] font-semibold leading-tight text-card-foreground sm:text-sm sm:leading-normal", children: T.capabilities[i] ?? "" }),
7332
+ /* @__PURE__ */ jsx("p", { className: "mt-1 hidden text-xs leading-relaxed text-muted-foreground sm:block", children: capBody })
6943
7333
  ]
6944
7334
  },
6945
- capTitle
7335
+ i
6946
7336
  )) }),
6947
- prompts.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "mt-8", children: [
6948
- /* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: "Try asking" }),
7337
+ prompts.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "boff-explore-rise boff-explore-rise-2 mt-8", children: [
7338
+ /* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.tryAsking }),
6949
7339
  /* @__PURE__ */ jsx(
6950
7340
  PromptCarousel,
6951
7341
  {
7342
+ strings: T,
6952
7343
  prompts,
6953
7344
  onPrompt,
6954
7345
  disabled
6955
7346
  }
6956
7347
  )
6957
7348
  ] }) : null,
6958
- products.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "mt-6", children: [
6959
- /* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: "Focus on a product" }),
7349
+ products.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "boff-explore-rise boff-explore-rise-3 mt-6", children: [
7350
+ /* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.focusProduct }),
6960
7351
  /* @__PURE__ */ jsx(
6961
7352
  ProductStrip,
6962
7353
  {
7354
+ strings: T,
6963
7355
  products,
6964
7356
  focusProduct,
6965
7357
  onFocus
@@ -6978,7 +7370,8 @@ function ExplorePage({
6978
7370
  onNavigate,
6979
7371
  onSend,
6980
7372
  welcomeTitle,
6981
- welcomeBody
7373
+ welcomeBody,
7374
+ locale
6982
7375
  }) {
6983
7376
  const pageUrl = useMemo(
6984
7377
  () => typeof window === "undefined" ? void 0 : window.location.href,
@@ -7022,6 +7415,12 @@ function ExplorePage({
7022
7415
  }
7023
7416
  });
7024
7417
  speechStopRef.current = speech.stop;
7418
+ const activeLocale = useMemo(
7419
+ () => resolveExploreLocale(locale),
7420
+ [locale]
7421
+ );
7422
+ const T = useMemo(() => exploreStrings(activeLocale), [activeLocale]);
7423
+ const rtl = isRtlLocale(activeLocale);
7025
7424
  const [disclaimerOpen, setDisclaimerOpen] = useState(false);
7026
7425
  const [shareLabel, setShareLabel] = useState("Share");
7027
7426
  const [shareUrl, setShareUrl] = useState(null);
@@ -7136,6 +7535,8 @@ function ExplorePage({
7136
7535
  {
7137
7536
  "data-boff-explore": "page",
7138
7537
  "data-phase": phase,
7538
+ "data-locale": activeLocale,
7539
+ dir: rtl ? "rtl" : void 0,
7139
7540
  className: cn(
7140
7541
  "flex w-full min-w-0 flex-col overflow-x-hidden bg-background text-foreground",
7141
7542
  heightMode === "auto" && "min-h-[70vh]",
@@ -7297,10 +7698,17 @@ function ExplorePage({
7297
7698
  role: "log",
7298
7699
  "aria-live": "polite",
7299
7700
  "aria-label": "Explore conversation",
7300
- className: "boff-explore-scroll min-h-0 min-w-0 flex-1 overflow-y-auto overflow-x-hidden",
7701
+ className: cn(
7702
+ "boff-explore-scroll min-h-0 min-w-0 flex-1 overflow-y-auto overflow-x-hidden",
7703
+ // Only while the welcome state is showing: a flex column is what lets its
7704
+ // `my-auto` centre the block on a tall screen. The transcript must NOT be a flex
7705
+ // column — that would fight the natural top-down flow of messages.
7706
+ showWelcome && "flex flex-col"
7707
+ ),
7301
7708
  children: showWelcome ? /* @__PURE__ */ jsx(
7302
7709
  WelcomeState,
7303
7710
  {
7711
+ strings: T,
7304
7712
  title: resolvedTitle,
7305
7713
  body: resolvedBody,
7306
7714
  prompts,
@@ -7314,6 +7722,7 @@ function ExplorePage({
7314
7722
  (message) => message.role === "USER" ? /* @__PURE__ */ jsx(UserBubble, { message }, message.id) : /* @__PURE__ */ jsx(
7315
7723
  AssistantBubble,
7316
7724
  {
7725
+ strings: T,
7317
7726
  message,
7318
7727
  activity,
7319
7728
  onNavigate,
@@ -7350,6 +7759,7 @@ function ExplorePage({
7350
7759
  {
7351
7760
  className: cn(
7352
7761
  "flex min-w-0 items-end gap-2 rounded-2xl border bg-card p-2 shadow-sm transition-all",
7762
+ busy && "boff-explore-busy",
7353
7763
  overLimit ? "border-destructive/60" : "border-border focus-within:border-primary/40 focus-within:ring-1 focus-within:ring-ring"
7354
7764
  ),
7355
7765
  children: [
@@ -7369,7 +7779,9 @@ function ExplorePage({
7369
7779
  composingRef.current = false;
7370
7780
  },
7371
7781
  "aria-label": "Ask a question",
7372
- placeholder: composerDisabled ? phase === "limited" ? "Message limit reached \u2014 please try again later" : "Explore is unavailable right now" : focusedProductName ? `Ask about ${focusedProductName}\u2026` : "Ask anything about our products\u2026",
7782
+ placeholder: composerDisabled ? phase === "limited" ? "Message limit reached \u2014 please try again later" : "Explore is unavailable right now" : focusedProductName ? fill(T.placeholderProduct, {
7783
+ product: focusedProductName
7784
+ }) : T.placeholder,
7373
7785
  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"
7374
7786
  }
7375
7787
  ),
@@ -7382,9 +7794,9 @@ function ExplorePage({
7382
7794
  size: "icon",
7383
7795
  variant: speech.listening ? "default" : "ghost",
7384
7796
  disabled: composerDisabled,
7385
- "aria-label": speech.listening ? "Stop dictating" : "Dictate your question",
7797
+ "aria-label": speech.listening ? T.stopDictating : T.dictate,
7386
7798
  "aria-pressed": speech.listening,
7387
- title: speech.listening ? "Stop dictating" : "Dictate your question",
7799
+ title: speech.listening ? T.stopDictating : T.dictate,
7388
7800
  onClick: speech.toggle,
7389
7801
  className: cn(speech.listening && "animate-pulse"),
7390
7802
  children: /* @__PURE__ */ jsx(Mic, { className: "h-4 w-4" })
@@ -7484,7 +7896,7 @@ function ExplorePage({
7484
7896
  )
7485
7897
  ] }) : null,
7486
7898
  /* @__PURE__ */ jsxs("div", { className: "mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-muted-foreground", children: [
7487
- /* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children: "Grounded in our docs \u2014 check anything important." }),
7899
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children: T.disclaimerShort }),
7488
7900
  /* @__PURE__ */ jsx(
7489
7901
  "button",
7490
7902
  {
@@ -7492,7 +7904,7 @@ function ExplorePage({
7492
7904
  "data-boff-explore": "disclaimer",
7493
7905
  onClick: () => setDisclaimerOpen(true),
7494
7906
  className: "shrink-0 underline underline-offset-2 transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
7495
- children: "Disclaimer"
7907
+ children: T.disclaimer
7496
7908
  }
7497
7909
  )
7498
7910
  ] })
@@ -12163,6 +12575,6 @@ function StoreProductDetailPage({
12163
12575
  ] });
12164
12576
  }
12165
12577
 
12166
- export { BlogListPage, BlogPostPage, Button, CareersApplyForm, CareersSubmissionForm, CaseStudiesListPage, CaseStudyPage, ChangelogPage, ContactPage, ContentRenderer, ContractsPage, DEFAULT_CONTACT_CATEGORIES, DEFAULT_EXPLORE_EXAMPLE_PROMPTS, ECOSYSTEM_PRODUCTS, EXPLORE_CATALOG_QUERY, EXPLORE_MESSAGE_QUERY, EXPLORE_RECAPTCHA_ACTION, ElectronDownloadLink, ExploreCta, ExplorePage, FALLBACK_EXPLORE_LIMITS, Input, Label, LaunchCountdown, Markdown, NewsletterForm, NewsletterPage, PageHead, PartnersPage, PressKitPage, PricingPage, PricingSection, ProblemsSolvedSection, ProductCard, ProductProvider, ResourceLinks, RybbitAnalytics, SEND_EXPLORE_MESSAGE_MUTATION, Select, SocialLinks, StarRating, StoreBrowsePage, StoreHomePage, StoreProductDetailPage, Textarea, TypeBadge, UnsubscribePage, WaitlistForm, WaitlistPage, WebSDKClient, WebSDKProvider, WebsiteSwitcher, buttonVariants, classifyExploreError, cn, detectElectronPlatform, fetchPublicJobPosting, fetchPublicJobPostings, fetchPublicJobPostingsForSubmission, formatDownloads, formatPrice2 as formatPrice, getRecaptchaV3Token, isValidUrl, loadRecaptchaV3, useContentPage, useContentPages, useExploreChat, useProduct, useProductConfig, usePublicJobPosting, usePublicJobPostings, usePublicJobPostingsForSubmission, useWebSDK, useWebSDKConfig };
12578
+ export { BlogListPage, BlogPostPage, Button, CareersApplyForm, CareersSubmissionForm, CaseStudiesListPage, CaseStudyPage, ChangelogPage, ContactPage, ContentRenderer, ContractsPage, DEFAULT_CONTACT_CATEGORIES, DEFAULT_EXPLORE_EXAMPLE_PROMPTS, ECOSYSTEM_PRODUCTS, EXPLORE_CATALOG_QUERY, EXPLORE_LOCALES, EXPLORE_MESSAGE_QUERY, EXPLORE_RECAPTCHA_ACTION, ElectronDownloadLink, ExploreCta, ExplorePage, FALLBACK_EXPLORE_LIMITS, Input, Label, LaunchCountdown, Markdown, NewsletterForm, NewsletterPage, PageHead, PartnersPage, PressKitPage, PricingPage, PricingSection, ProblemsSolvedSection, ProductCard, ProductProvider, ResourceLinks, RybbitAnalytics, SEND_EXPLORE_MESSAGE_MUTATION, Select, SocialLinks, StarRating, StoreBrowsePage, StoreHomePage, StoreProductDetailPage, Textarea, TypeBadge, UnsubscribePage, WaitlistForm, WaitlistPage, WebSDKClient, WebSDKProvider, WebsiteSwitcher, buttonVariants, classifyExploreError, cn, detectElectronPlatform, fetchPublicJobPosting, fetchPublicJobPostings, fetchPublicJobPostingsForSubmission, formatDownloads, formatPrice2 as formatPrice, getRecaptchaV3Token, isValidUrl, loadRecaptchaV3, useContentPage, useContentPages, useExploreChat, useProduct, useProductConfig, usePublicJobPosting, usePublicJobPostings, usePublicJobPostingsForSubmission, useWebSDK, useWebSDKConfig };
12167
12579
  //# sourceMappingURL=index.mjs.map
12168
12580
  //# sourceMappingURL=index.mjs.map