@diffsome/react 1.2.15 → 1.2.16

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/chat.css CHANGED
@@ -316,6 +316,35 @@
316
316
  background: var(--diffsome-chat-primary-dark);
317
317
  }
318
318
 
319
+ /* Login Prompt */
320
+ .diffsome-chat-login-prompt {
321
+ display: flex;
322
+ align-items: center;
323
+ justify-content: space-between;
324
+ gap: 12px;
325
+ padding: 10px 16px;
326
+ background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
327
+ border-top: 1px solid #bae6fd;
328
+ font-size: 13px;
329
+ color: #0369a1;
330
+ }
331
+
332
+ .diffsome-chat-login-btn {
333
+ background: var(--diffsome-chat-primary);
334
+ color: white;
335
+ text-decoration: none;
336
+ padding: 6px 14px;
337
+ border-radius: 16px;
338
+ font-size: 12px;
339
+ font-weight: 500;
340
+ white-space: nowrap;
341
+ transition: background-color 0.2s ease;
342
+ }
343
+
344
+ .diffsome-chat-login-btn:hover {
345
+ background: var(--diffsome-chat-primary-dark);
346
+ }
347
+
319
348
  /* System Message */
320
349
  .diffsome-chat-message-system {
321
350
  align-self: center;
package/dist/index.d.mts CHANGED
@@ -872,6 +872,12 @@ interface ChatBubbleProps {
872
872
  onClose?: () => void;
873
873
  /** Member auth token for logged-in users (optional) */
874
874
  memberToken?: string;
875
+ /** Show login prompt for non-logged-in users */
876
+ showLoginPrompt?: boolean;
877
+ /** Login page URL (used when showLoginPrompt is true) */
878
+ loginUrl?: string;
879
+ /** Custom login prompt message */
880
+ loginPromptMessage?: string;
875
881
  }
876
882
  declare const ChatBubble: React__default.FC<ChatBubbleProps>;
877
883
 
@@ -899,6 +905,14 @@ interface ChatWidgetProps {
899
905
  typing?: boolean;
900
906
  ended?: boolean;
901
907
  className?: string;
908
+ /** Whether user is logged in */
909
+ isLoggedIn?: boolean;
910
+ /** Show login prompt for non-logged-in users */
911
+ showLoginPrompt?: boolean;
912
+ /** Login page URL */
913
+ loginUrl?: string;
914
+ /** Custom login prompt message */
915
+ loginPromptMessage?: string;
902
916
  }
903
917
  declare const ChatWidget: React__default.FC<ChatWidgetProps>;
904
918
 
package/dist/index.d.ts CHANGED
@@ -872,6 +872,12 @@ interface ChatBubbleProps {
872
872
  onClose?: () => void;
873
873
  /** Member auth token for logged-in users (optional) */
874
874
  memberToken?: string;
875
+ /** Show login prompt for non-logged-in users */
876
+ showLoginPrompt?: boolean;
877
+ /** Login page URL (used when showLoginPrompt is true) */
878
+ loginUrl?: string;
879
+ /** Custom login prompt message */
880
+ loginPromptMessage?: string;
875
881
  }
876
882
  declare const ChatBubble: React__default.FC<ChatBubbleProps>;
877
883
 
@@ -899,6 +905,14 @@ interface ChatWidgetProps {
899
905
  typing?: boolean;
900
906
  ended?: boolean;
901
907
  className?: string;
908
+ /** Whether user is logged in */
909
+ isLoggedIn?: boolean;
910
+ /** Show login prompt for non-logged-in users */
911
+ showLoginPrompt?: boolean;
912
+ /** Login page URL */
913
+ loginUrl?: string;
914
+ /** Custom login prompt message */
915
+ loginPromptMessage?: string;
902
916
  }
903
917
  declare const ChatWidget: React__default.FC<ChatWidgetProps>;
904
918
 
package/dist/index.js CHANGED
@@ -2738,7 +2738,11 @@ var ChatWidget = ({
2738
2738
  loading = false,
2739
2739
  typing = false,
2740
2740
  ended = false,
2741
- className = ""
2741
+ className = "",
2742
+ isLoggedIn = false,
2743
+ showLoginPrompt = false,
2744
+ loginUrl = "/auth/login",
2745
+ loginPromptMessage = "Login to save your chat history across devices"
2742
2746
  }) => {
2743
2747
  const messagesEndRef = (0, import_react23.useRef)(null);
2744
2748
  const scrollToBottom = () => {
@@ -2816,6 +2820,10 @@ var ChatWidget = ({
2816
2820
  }
2817
2821
  )
2818
2822
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
2823
+ showLoginPrompt && !isLoggedIn && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "diffsome-chat-login-prompt", children: [
2824
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { children: loginPromptMessage }),
2825
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("a", { href: loginUrl, className: "diffsome-chat-login-btn", children: "Login" })
2826
+ ] }),
2819
2827
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2820
2828
  ChatInput,
2821
2829
  {
@@ -2856,7 +2864,10 @@ var ChatBubble = ({
2856
2864
  className = "",
2857
2865
  onOpen,
2858
2866
  onClose,
2859
- memberToken
2867
+ memberToken,
2868
+ showLoginPrompt = false,
2869
+ loginUrl = "/auth/login",
2870
+ loginPromptMessage = "Login to save your chat history across devices"
2860
2871
  }) => {
2861
2872
  (0, import_react24.useEffect)(() => {
2862
2873
  if (memberToken) {
@@ -3054,7 +3065,11 @@ var ChatBubble = ({
3054
3065
  placeholder,
3055
3066
  loading,
3056
3067
  typing,
3057
- ended
3068
+ ended,
3069
+ isLoggedIn: !!memberToken,
3070
+ showLoginPrompt,
3071
+ loginUrl,
3072
+ loginPromptMessage
3058
3073
  }
3059
3074
  ),
3060
3075
  /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
package/dist/index.mjs CHANGED
@@ -2646,7 +2646,11 @@ var ChatWidget = ({
2646
2646
  loading = false,
2647
2647
  typing = false,
2648
2648
  ended = false,
2649
- className = ""
2649
+ className = "",
2650
+ isLoggedIn = false,
2651
+ showLoginPrompt = false,
2652
+ loginUrl = "/auth/login",
2653
+ loginPromptMessage = "Login to save your chat history across devices"
2650
2654
  }) => {
2651
2655
  const messagesEndRef = useRef2(null);
2652
2656
  const scrollToBottom = () => {
@@ -2724,6 +2728,10 @@ var ChatWidget = ({
2724
2728
  }
2725
2729
  )
2726
2730
  ] }) : /* @__PURE__ */ jsxs4(Fragment3, { children: [
2731
+ showLoginPrompt && !isLoggedIn && /* @__PURE__ */ jsxs4("div", { className: "diffsome-chat-login-prompt", children: [
2732
+ /* @__PURE__ */ jsx5("span", { children: loginPromptMessage }),
2733
+ /* @__PURE__ */ jsx5("a", { href: loginUrl, className: "diffsome-chat-login-btn", children: "Login" })
2734
+ ] }),
2727
2735
  /* @__PURE__ */ jsx5(
2728
2736
  ChatInput,
2729
2737
  {
@@ -2764,7 +2772,10 @@ var ChatBubble = ({
2764
2772
  className = "",
2765
2773
  onOpen,
2766
2774
  onClose,
2767
- memberToken
2775
+ memberToken,
2776
+ showLoginPrompt = false,
2777
+ loginUrl = "/auth/login",
2778
+ loginPromptMessage = "Login to save your chat history across devices"
2768
2779
  }) => {
2769
2780
  useEffect20(() => {
2770
2781
  if (memberToken) {
@@ -2962,7 +2973,11 @@ var ChatBubble = ({
2962
2973
  placeholder,
2963
2974
  loading,
2964
2975
  typing,
2965
- ended
2976
+ ended,
2977
+ isLoggedIn: !!memberToken,
2978
+ showLoginPrompt,
2979
+ loginUrl,
2980
+ loginPromptMessage
2966
2981
  }
2967
2982
  ),
2968
2983
  /* @__PURE__ */ jsxs5(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diffsome/react",
3
- "version": "1.2.15",
3
+ "version": "1.2.16",
4
4
  "description": "React hooks and providers for Diffsome SDK - Headless e-commerce & CMS",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",