@repzo/widget-react-native 1.0.1 → 1.0.4

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.
Files changed (97) hide show
  1. package/lib/commonjs/api/client.js +3 -1
  2. package/lib/commonjs/api/client.js.map +1 -1
  3. package/lib/commonjs/api/realtime.js +2 -0
  4. package/lib/commonjs/api/realtime.js.map +1 -1
  5. package/lib/commonjs/i18n.js +26 -0
  6. package/lib/commonjs/i18n.js.map +1 -1
  7. package/lib/commonjs/locales.js +5 -0
  8. package/lib/commonjs/locales.js.map +1 -1
  9. package/lib/commonjs/state/widget-store.js +111 -7
  10. package/lib/commonjs/state/widget-store.js.map +1 -1
  11. package/lib/commonjs/types.js +2 -0
  12. package/lib/commonjs/types.js.map +1 -1
  13. package/lib/commonjs/ui/WidgetProvider.js +17 -2
  14. package/lib/commonjs/ui/WidgetProvider.js.map +1 -1
  15. package/lib/commonjs/ui/components/TeamAvatars.js +63 -0
  16. package/lib/commonjs/ui/components/TeamAvatars.js.map +1 -0
  17. package/lib/commonjs/ui/components/icons.js +50 -0
  18. package/lib/commonjs/ui/components/icons.js.map +1 -1
  19. package/lib/commonjs/ui/screens/chat/ChatView.js +105 -6
  20. package/lib/commonjs/ui/screens/chat/ChatView.js.map +1 -1
  21. package/lib/commonjs/ui/screens/chat/ChatView.styles.js +51 -0
  22. package/lib/commonjs/ui/screens/chat/ChatView.styles.js.map +1 -1
  23. package/lib/module/api/client.js +3 -1
  24. package/lib/module/api/client.js.map +1 -1
  25. package/lib/module/api/realtime.js +2 -0
  26. package/lib/module/api/realtime.js.map +1 -1
  27. package/lib/module/i18n.js +25 -0
  28. package/lib/module/i18n.js.map +1 -1
  29. package/lib/module/locales.js +5 -0
  30. package/lib/module/locales.js.map +1 -1
  31. package/lib/module/state/widget-store.js +111 -7
  32. package/lib/module/state/widget-store.js.map +1 -1
  33. package/lib/module/types.js +2 -0
  34. package/lib/module/types.js.map +1 -1
  35. package/lib/module/ui/WidgetProvider.js +18 -3
  36. package/lib/module/ui/WidgetProvider.js.map +1 -1
  37. package/lib/module/ui/components/TeamAvatars.js +59 -0
  38. package/lib/module/ui/components/TeamAvatars.js.map +1 -0
  39. package/lib/module/ui/components/icons.js +49 -0
  40. package/lib/module/ui/components/icons.js.map +1 -1
  41. package/lib/module/ui/screens/chat/ChatView.js +106 -7
  42. package/lib/module/ui/screens/chat/ChatView.js.map +1 -1
  43. package/lib/module/ui/screens/chat/ChatView.styles.js +51 -0
  44. package/lib/module/ui/screens/chat/ChatView.styles.js.map +1 -1
  45. package/lib/typescript/commonjs/api/client.d.ts.map +1 -1
  46. package/lib/typescript/commonjs/api/realtime.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/i18n.d.ts +7 -0
  48. package/lib/typescript/commonjs/i18n.d.ts.map +1 -1
  49. package/lib/typescript/commonjs/locales.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/state/widget-store.d.ts +17 -0
  51. package/lib/typescript/commonjs/state/widget-store.d.ts.map +1 -1
  52. package/lib/typescript/commonjs/types.d.ts +14 -1
  53. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  54. package/lib/typescript/commonjs/ui/WidgetProvider.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/ui/components/TeamAvatars.d.ts +17 -0
  56. package/lib/typescript/commonjs/ui/components/TeamAvatars.d.ts.map +1 -0
  57. package/lib/typescript/commonjs/ui/components/icons.d.ts +2 -0
  58. package/lib/typescript/commonjs/ui/components/icons.d.ts.map +1 -1
  59. package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts +1 -1
  60. package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts.map +1 -1
  61. package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts +51 -0
  62. package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts +13 -0
  64. package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts.map +1 -1
  65. package/lib/typescript/module/api/client.d.ts.map +1 -1
  66. package/lib/typescript/module/api/realtime.d.ts.map +1 -1
  67. package/lib/typescript/module/i18n.d.ts +7 -0
  68. package/lib/typescript/module/i18n.d.ts.map +1 -1
  69. package/lib/typescript/module/locales.d.ts.map +1 -1
  70. package/lib/typescript/module/state/widget-store.d.ts +17 -0
  71. package/lib/typescript/module/state/widget-store.d.ts.map +1 -1
  72. package/lib/typescript/module/types.d.ts +14 -1
  73. package/lib/typescript/module/types.d.ts.map +1 -1
  74. package/lib/typescript/module/ui/WidgetProvider.d.ts.map +1 -1
  75. package/lib/typescript/module/ui/components/TeamAvatars.d.ts +17 -0
  76. package/lib/typescript/module/ui/components/TeamAvatars.d.ts.map +1 -0
  77. package/lib/typescript/module/ui/components/icons.d.ts +2 -0
  78. package/lib/typescript/module/ui/components/icons.d.ts.map +1 -1
  79. package/lib/typescript/module/ui/screens/chat/ChatView.d.ts +1 -1
  80. package/lib/typescript/module/ui/screens/chat/ChatView.d.ts.map +1 -1
  81. package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts +51 -0
  82. package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts.map +1 -1
  83. package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts +13 -0
  84. package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts.map +1 -1
  85. package/package.json +1 -1
  86. package/src/api/client.ts +3 -1
  87. package/src/api/realtime.ts +2 -0
  88. package/src/i18n.ts +28 -0
  89. package/src/locales.ts +5 -0
  90. package/src/state/widget-store.ts +106 -5
  91. package/src/types.ts +16 -0
  92. package/src/ui/WidgetProvider.tsx +25 -3
  93. package/src/ui/components/TeamAvatars.tsx +58 -0
  94. package/src/ui/components/icons.tsx +37 -0
  95. package/src/ui/screens/chat/ChatView.styles.ts +51 -0
  96. package/src/ui/screens/chat/ChatView.tsx +111 -20
  97. package/src/ui/screens/chat/ChatView.types.ts +13 -0
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetProvider.d.ts","sourceRoot":"","sources":["../../../../src/ui/WidgetProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwCH,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;CAChD;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,iBAA+B,GAChC,EAAE,wBAAwB,+BAuY1B"}
1
+ {"version":3,"file":"WidgetProvider.d.ts","sourceRoot":"","sources":["../../../../src/ui/WidgetProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwCH,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;CAChD;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,iBAA+B,GAChC,EAAE,wBAAwB,+BA6Z1B"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Up to three overlapping teammate avatars — the Messenger header when no
3
+ * teammate has joined yet, and the "Waiting for a teammate" row (Intercom-style).
4
+ * Falls back to a single placeholder avatar when the workspace sent none.
5
+ */
6
+ import type { TeamAvatar } from '../../types';
7
+ interface TeamAvatarsProps {
8
+ avatars: TeamAvatar[];
9
+ size?: number;
10
+ color?: string;
11
+ /** Ring between overlapping avatars; matches the surface behind them. */
12
+ ringColor?: string;
13
+ translucent?: boolean;
14
+ }
15
+ export declare function TeamAvatars({ avatars, size, color, ringColor, translucent, }: TeamAvatarsProps): import("react").JSX.Element;
16
+ export {};
17
+ //# sourceMappingURL=TeamAvatars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TeamAvatars.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/TeamAvatars.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,UAAU,gBAAgB;IACxB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,IAAS,EACT,KAAmB,EACnB,SAAyB,EACzB,WAAmB,GACpB,EAAE,gBAAgB,+BAyBlB"}
@@ -34,5 +34,7 @@ export declare function PersonIcon({ size, color, style }: IconProps): import("r
34
34
  /** Circle-with-bang used on the offline notice. */
35
35
  export declare function AlertIcon({ size, color, style }: IconProps): import("react").JSX.Element;
36
36
  export declare function PaperclipIcon({ size, color, style }: IconProps): import("react").JSX.Element;
37
+ /** A ring with two hands — the reply-time hint beside the team name. */
38
+ export declare function ClockIcon({ size, color, style }: IconProps): import("react").JSX.Element;
37
39
  export {};
38
40
  //# sourceMappingURL=icons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/icons.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIhE,UAAU,SAAS;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,wBAAwB;AACxB,wBAAgB,SAAS,CAAC,EAAE,IAAS,EAAE,KAAyB,EAAE,KAAK,EAAE,EAAE,SAAS,+BAcnF;AAED,KAAK,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AASzD,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,EAC1B,IAAS,EACT,KAAyB,EACzB,SAAkB,EAClB,KAAK,GACN,EAAE,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,gBAAgB,CAAA;CAAE,+BAgB9C;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,EAAE,IAAS,EAAE,KAAyB,EAAE,KAAK,EAAE,EAAE,SAAS,+BA2BxF;AAED,mDAAmD;AACnD,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,EAAE,IAAS,EAAE,KAAqB,EAAE,KAAK,EAAE,EAAE,SAAS,+BA2BjF;AAED,yCAAyC;AACzC,wBAAgB,QAAQ,CAAC,EAAE,IAAS,EAAE,KAAqB,EAAE,KAAK,EAAE,EAAE,SAAS,+BA4B9E;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,EAAE,IAAS,EAAE,KAA0B,EAAE,KAAK,EAAE,EAAE,SAAS,+BA6B1F;AAED,oCAAoC;AACpC,wBAAgB,QAAQ,CAAC,EAAE,IAAS,EAAE,KAA0B,EAAE,KAAK,EAAE,EAAE,SAAS,+BA6BnF;AAED,6DAA6D;AAC7D,wBAAgB,UAAU,CAAC,EAAE,IAAS,EAAE,KAAqB,EAAE,KAAK,EAAE,EAAE,SAAS,+BA8BhF;AAED,mDAAmD;AACnD,wBAAgB,SAAS,CAAC,EAAE,IAAS,EAAE,KAA2B,EAAE,KAAK,EAAE,EAAE,SAAS,+BA+BrF;AAED,wBAAgB,aAAa,CAAC,EAAE,IAAS,EAAE,KAAyB,EAAE,KAAK,EAAE,EAAE,SAAS,+BAgBvF"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/icons.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIhE,UAAU,SAAS;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,wBAAwB;AACxB,wBAAgB,SAAS,CAAC,EAAE,IAAS,EAAE,KAAyB,EAAE,KAAK,EAAE,EAAE,SAAS,+BAcnF;AAED,KAAK,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AASzD,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,EAC1B,IAAS,EACT,KAAyB,EACzB,SAAkB,EAClB,KAAK,GACN,EAAE,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,gBAAgB,CAAA;CAAE,+BAgB9C;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,EAAE,IAAS,EAAE,KAAyB,EAAE,KAAK,EAAE,EAAE,SAAS,+BA2BxF;AAED,mDAAmD;AACnD,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,EAAE,IAAS,EAAE,KAAqB,EAAE,KAAK,EAAE,EAAE,SAAS,+BA2BjF;AAED,yCAAyC;AACzC,wBAAgB,QAAQ,CAAC,EAAE,IAAS,EAAE,KAAqB,EAAE,KAAK,EAAE,EAAE,SAAS,+BA4B9E;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,EAAE,IAAS,EAAE,KAA0B,EAAE,KAAK,EAAE,EAAE,SAAS,+BA6B1F;AAED,oCAAoC;AACpC,wBAAgB,QAAQ,CAAC,EAAE,IAAS,EAAE,KAA0B,EAAE,KAAK,EAAE,EAAE,SAAS,+BA6BnF;AAED,6DAA6D;AAC7D,wBAAgB,UAAU,CAAC,EAAE,IAAS,EAAE,KAAqB,EAAE,KAAK,EAAE,EAAE,SAAS,+BA8BhF;AAED,mDAAmD;AACnD,wBAAgB,SAAS,CAAC,EAAE,IAAS,EAAE,KAA2B,EAAE,KAAK,EAAE,EAAE,SAAS,+BA+BrF;AAED,wBAAgB,aAAa,CAAC,EAAE,IAAS,EAAE,KAAyB,EAAE,KAAK,EAAE,EAAE,SAAS,+BAgBvF;AASD,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,EAAE,IAAS,EAAE,KAAyB,EAAE,KAAK,EAAE,EAAE,SAAS,+BAkCnF"}
@@ -8,5 +8,5 @@
8
8
  * `attachments/pickers.ts`).
9
9
  */
10
10
  import type { ChatViewProps } from './ChatView.types';
11
- export declare function ChatView({ messages, loading, hasMoreMessages, agentTyping, color, agentName, agentAvatar, isOnline, locale, prefillText, offlineMessage, labels, attachmentSources, onPickAttachments, onSendMessage, onIdentifyVisitor, onLoadMore, onTyping, onBack, onClose, }: ChatViewProps): import("react").JSX.Element;
11
+ export declare function ChatView({ messages, loading, hasMoreMessages, agentTyping, color, agentName, agentAvatar, agentOnline, isOnline, teamName, teamAvatars, replyTimeLabel, locale, prefillText, offlineMessage, labels, attachmentSources, onPickAttachments, onSendMessage, onIdentifyVisitor, onLoadMore, onTyping, onBack, onClose, }: ChatViewProps): import("react").JSX.Element;
12
12
  //# sourceMappingURL=ChatView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatView.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/chat/ChatView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmDH,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAElE,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,eAAe,EACf,WAAW,EACX,KAAK,EACL,SAAS,EACT,WAAW,EACX,QAAQ,EACR,MAAM,EACN,WAAW,EACX,cAAc,EACd,MAAM,EACN,iBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACR,MAAM,EACN,OAAO,GACR,EAAE,aAAa,+BAwef"}
1
+ {"version":3,"file":"ChatView.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/chat/ChatView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoDH,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAElE,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,eAAe,EACf,WAAW,EACX,KAAK,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAgB,EAChB,cAAc,EACd,MAAM,EACN,WAAW,EACX,cAAc,EACd,MAAM,EACN,iBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACR,MAAM,EACN,OAAO,GACR,EAAE,aAAa,+BAwhBf"}
@@ -44,6 +44,36 @@ export declare const styles: {
44
44
  fontSize: 12;
45
45
  marginTop: number;
46
46
  };
47
+ headerReplyTime: {
48
+ flexDirection: "row";
49
+ alignItems: "center";
50
+ gap: number;
51
+ marginTop: number;
52
+ };
53
+ headerReplyTimeText: {
54
+ flexShrink: number;
55
+ marginTop: number;
56
+ };
57
+ waitingRow: {
58
+ flexDirection: "row";
59
+ alignItems: "center";
60
+ justifyContent: "center";
61
+ gap: 8;
62
+ paddingVertical: 8;
63
+ };
64
+ waitingText: {
65
+ color: "#6b7280";
66
+ fontSize: 12;
67
+ };
68
+ joinedRow: {
69
+ flexDirection: "row";
70
+ justifyContent: "center";
71
+ gap: 4;
72
+ };
73
+ joinedName: {
74
+ fontWeight: "700";
75
+ color: "#1a1a1a";
76
+ };
47
77
  messagesContentEmpty: {
48
78
  flexGrow: number;
49
79
  justifyContent: "center";
@@ -102,6 +132,13 @@ export declare const styles: {
102
132
  marginBottom: number;
103
133
  marginStart: 4;
104
134
  };
135
+ receiptText: {
136
+ alignSelf: "flex-end";
137
+ marginTop: number;
138
+ marginEnd: 4;
139
+ fontSize: number;
140
+ color: "#9ca3af";
141
+ };
105
142
  messageTime: {
106
143
  fontSize: number;
107
144
  alignSelf: "flex-end";
@@ -183,6 +220,20 @@ export declare const styles: {
183
220
  fontSize: 12;
184
221
  marginTop: 4;
185
222
  };
223
+ deletedBubble: {
224
+ maxWidth: "80%";
225
+ paddingHorizontal: 12;
226
+ paddingVertical: 8;
227
+ borderRadius: number;
228
+ borderWidth: number;
229
+ borderStyle: "dashed";
230
+ borderColor: "#e5e7eb";
231
+ };
232
+ deletedText: {
233
+ color: "#6b7280";
234
+ fontSize: 12;
235
+ fontStyle: "italic";
236
+ };
186
237
  systemRow: {
187
238
  alignItems: "center";
188
239
  paddingVertical: 8;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatView.styles.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/chat/ChatView.styles.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAOlF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgXjB,CAAC"}
1
+ {"version":3,"file":"ChatView.styles.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/chat/ChatView.styles.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAOlF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmajB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { TeamAvatar } from '../../../types';
1
2
  /** Props and label bundle for the chat thread. */
2
3
  import type { DraftAttachment, PickResult } from '../../../attachments/pickers';
3
4
  import type { AgentUiAction, AttachmentSource, Message, OutgoingAttachment } from '../../../types';
@@ -18,6 +19,11 @@ export interface ChatLabels {
18
19
  today: string;
19
20
  yesterday: string;
20
21
  conversationUpdated: string;
22
+ messageDeleted: string;
23
+ messageSent: string;
24
+ messageSeen: string;
25
+ waitingForTeammate: string;
26
+ joinedConversation: string;
21
27
  procedureSend: string;
22
28
  procedureSent: string;
23
29
  blocks: AgentUiBlockLabels;
@@ -47,7 +53,14 @@ export interface ChatViewProps {
47
53
  /** Whoever is handling this thread, once the backend assigns someone. */
48
54
  agentName?: string | null;
49
55
  agentAvatar?: string | null;
56
+ /** The assigned teammate's own presence; falls back to `isOnline` when absent. */
57
+ agentOnline?: boolean | null;
50
58
  isOnline: boolean;
59
+ /** Header title with no teammate yet (or after close); falls back to the Team label. */
60
+ teamName?: string | null;
61
+ teamAvatars?: TeamAvatar[];
62
+ /** e.g. "We usually reply within a few minutes", under the team name. */
63
+ replyTimeLabel?: string;
51
64
  prefillText?: string;
52
65
  offlineMessage?: string;
53
66
  locale: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatView.types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/chat/ChatView.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatView.types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/chat/ChatView.types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@repzo/widget-react-native",
3
- "version": "1.0.1",
3
+ "version": "1.0.4",
4
4
  "description": "Repzo chat widget for React Native \u2014 pure JavaScript, no native modules",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
package/src/api/client.ts CHANGED
@@ -265,7 +265,9 @@ export class WidgetApiClient {
265
265
  conversationId: string,
266
266
  cursor?: string | null
267
267
  ): Promise<{ data: Message[]; meta: { hasMore: boolean; nextCursor: string | null } }> {
268
- const query = cursor ? `?cursor=${encodeURIComponent(cursor)}` : '';
268
+ // includeDeleted: get a content-free placeholder where a teammate deleted a
269
+ // message, so the thread can show "This message was deleted".
270
+ const query = `?includeDeleted=1${cursor ? `&cursor=${encodeURIComponent(cursor)}` : ''}`;
269
271
  return this.request(
270
272
  `/api/widget/conversations/${encodeURIComponent(conversationId)}/messages${query}`
271
273
  );
@@ -17,6 +17,8 @@ import { SseParser } from './sse-parser';
17
17
  const SERVER_EVENTS = {
18
18
  connected: 'connected',
19
19
  'widget.message.new': 'message.new',
20
+ 'widget.message.deleted': 'message.deleted',
21
+ 'widget.message.status': 'message.status',
20
22
  'widget.typing.start': 'typing.start',
21
23
  'widget.typing.stop': 'typing.stop',
22
24
  'widget.conversation.updated': 'conversation.updated',
package/src/i18n.ts CHANGED
@@ -29,6 +29,29 @@ export function createTranslator(config: WidgetConfig | null, locale: string): T
29
29
  fallback;
30
30
  }
31
31
 
32
+ /**
33
+ * Dashboard copy that's written per language: the default language's text is
34
+ * the plain config field and every other enabled language's lives under the
35
+ * same key in `translations`.
36
+ */
37
+ const WELCOME_TEXT_KEYS = [
38
+ 'welcomeHeading',
39
+ 'welcomeSubheading',
40
+ 'startConversationLabel',
41
+ 'replyTimeLabel',
42
+ ] as const;
43
+
44
+ /** The config with its welcome text in the active locale. */
45
+ export function localizeWelcomeText(config: WidgetConfig | null, locale: string): WidgetConfig | null {
46
+ if (!config) return config;
47
+ const translate = createTranslator(config, locale);
48
+ const localized = { ...config };
49
+ WELCOME_TEXT_KEYS.forEach((key) => {
50
+ localized[key] = translate(key, config[key]);
51
+ });
52
+ return localized;
53
+ }
54
+
32
55
  export const DEFAULT_LABELS = {
33
56
  back: 'Back',
34
57
  loading: 'Loading...',
@@ -90,6 +113,11 @@ export const DEFAULT_LABELS = {
90
113
  today: 'Today',
91
114
  yesterday: 'Yesterday',
92
115
  conversationUpdated: 'Conversation updated',
116
+ messageDeleted: 'This message was deleted',
117
+ messageSent: 'Sent',
118
+ messageSeen: 'Seen',
119
+ waitingForTeammate: 'Waiting for a teammate',
120
+ joinedConversation: 'joined the conversation',
93
121
  // Forms.
94
122
  procedureSend: 'Send details',
95
123
  procedureSent: 'Sent',
package/src/locales.ts CHANGED
@@ -69,6 +69,11 @@ const ar: LabelMap = {
69
69
  today: 'اليوم',
70
70
  yesterday: 'أمس',
71
71
  conversationUpdated: 'تم تحديث المحادثة',
72
+ messageDeleted: 'تم حذف هذه الرسالة',
73
+ messageSent: 'تم الإرسال',
74
+ messageSeen: 'تمت المشاهدة',
75
+ waitingForTeammate: 'بانتظار أحد أعضاء الفريق',
76
+ joinedConversation: 'انضم إلى المحادثة',
72
77
  procedureSend: 'إرسال التفاصيل',
73
78
  procedureSent: 'تم الإرسال',
74
79
  fieldRequired: '{field} مطلوب',
@@ -35,7 +35,7 @@ import type {
35
35
  } from '../types';
36
36
  import { setOpenUrlHandler } from '../ui/utils/safe-url';
37
37
 
38
- const SDK_VERSION = '@repzo/widget-react-native@1.0.1';
38
+ const SDK_VERSION = '@repzo/widget-react-native@1.0.4';
39
39
 
40
40
  /** The platform this session reports — mobile sessions get the Mobile SDKs overrides. */
41
41
  function sessionPlatform(): 'ios' | 'android' | 'web' {
@@ -168,6 +168,8 @@ export class WidgetStore {
168
168
  private visitorTypingActive = false;
169
169
 
170
170
  private seenMessageIds: string[] = [];
171
+ /** Statuses (e.g. "read") that arrived for an id before a send response revealed it. */
172
+ private earlyStatuses = new Map<string, string>();
171
173
 
172
174
  /**
173
175
  * Identity generation. Bumped whenever boot/login/logout is requested; every
@@ -888,7 +890,7 @@ export class WidgetStore {
888
890
 
889
891
  private handleRealtimeEvent(event: string, data: any) {
890
892
  if (
891
- (event === 'message.new' || event === 'conversation.event') &&
893
+ (event === 'message.new' || event === 'message.deleted' || event === 'message.status' || event === 'conversation.event') &&
892
894
  this.shouldHoldForDraft(data?.conversationId)
893
895
  ) {
894
896
  this.draftEvents.push({ event, data });
@@ -915,6 +917,14 @@ export class WidgetStore {
915
917
  this.handleNewMessage(data);
916
918
  break;
917
919
 
920
+ case 'message.deleted':
921
+ this.handleDeletedMessage(data);
922
+ break;
923
+
924
+ case 'message.status':
925
+ this.handleMessageStatus(data);
926
+ break;
927
+
918
928
  case 'conversation.updated':
919
929
  this.rememberConversationAgent(data);
920
930
  this.setState((current) => ({
@@ -927,6 +937,7 @@ export class WidgetStore {
927
937
  data.agentAvatar === undefined
928
938
  ? conversation.agentAvatar
929
939
  : this.client.resolveUrl(data.agentAvatar),
940
+ agentOnline: data.agentOnline === undefined ? conversation.agentOnline : data.agentOnline,
930
941
  }
931
942
  : conversation
932
943
  ),
@@ -1044,6 +1055,50 @@ export class WidgetStore {
1044
1055
  return false;
1045
1056
  }
1046
1057
 
1058
+ /**
1059
+ * A teammate deleted a message: the visitor sees "This message was deleted"
1060
+ * in its place (they can't delete anything themselves), and the list is
1061
+ * refreshed so its preview stops showing the text. The id stays in
1062
+ * `seenMessageIds`, so a replayed `message.new` can't restore the content.
1063
+ */
1064
+ /**
1065
+ * A teammate opened the conversation: the visitor's messages are now Seen.
1066
+ * The ids are also remembered, because the event can arrive before the send
1067
+ * response swaps a pending bubble's temporary id for the server id.
1068
+ */
1069
+ private handleMessageStatus(data: any) {
1070
+ const ids: string[] = Array.isArray(data?.messageIds) ? data.messageIds : [];
1071
+ const status: string | undefined = typeof data?.status === 'string' ? data.status : undefined;
1072
+ if (!status || ids.length === 0) return;
1073
+ for (const id of ids) this.earlyStatuses.set(id, status);
1074
+ if (this.earlyStatuses.size > SEEN_MESSAGE_LIMIT) {
1075
+ this.earlyStatuses.delete(this.earlyStatuses.keys().next().value as string);
1076
+ }
1077
+ if (!this.isThreadOnScreen(data?.conversationId)) return;
1078
+ this.setState((current) => ({
1079
+ messages: current.messages.map((message) =>
1080
+ ids.includes(message.id) ? { ...message, status } : message
1081
+ ),
1082
+ }));
1083
+ }
1084
+
1085
+ private handleDeletedMessage(data: any) {
1086
+ const messageId: string | undefined = data?.messageId;
1087
+ if (!messageId) return;
1088
+ if (!this.seenMessageIds.includes(messageId)) this.isReplayedMessage(messageId);
1089
+ if (this.isThreadOnScreen(data?.conversationId)) {
1090
+ this.setState((current) => ({
1091
+ messages: current.messages.map((message) =>
1092
+ message.id === messageId ? asDeletedPlaceholder(message, new Date().toISOString()) : message
1093
+ ),
1094
+ }));
1095
+ }
1096
+ if (this.state.inAppNotification?.messageId === messageId) {
1097
+ this.setState({ inAppNotification: null });
1098
+ }
1099
+ void this.refreshConversations();
1100
+ }
1101
+
1047
1102
  private handleNewMessage(data: any) {
1048
1103
  if (this.isReplayedMessage(data?.messageId)) return;
1049
1104
 
@@ -1060,7 +1115,7 @@ export class WidgetStore {
1060
1115
  body: data?.body || null,
1061
1116
  bodyPlain: data?.bodyPlain || null,
1062
1117
  attachments: this.hydrateAttachments(data?.attachments, messageId),
1063
- metadata: data?.metadata || null,
1118
+ metadata: this.hydrateMetadata(data?.metadata || null),
1064
1119
  status: 'delivered',
1065
1120
  createdAt: data?.createdAt || new Date().toISOString(),
1066
1121
  };
@@ -1557,7 +1612,10 @@ export class WidgetStore {
1557
1612
  this.setState((current) => {
1558
1613
  const known = new Set(current.messages.map((message) => message.id));
1559
1614
  const missing = fresh.filter((message) => !known.has(message.id));
1560
- const upgraded = adoptServerAttachments(current.messages, fresh);
1615
+ const upgraded = adoptServerStatuses(
1616
+ adoptServerDeletions(adoptServerAttachments(current.messages, fresh), fresh),
1617
+ fresh
1618
+ );
1561
1619
  if (missing.length === 0) return upgraded === current.messages ? {} : { messages: upgraded };
1562
1620
 
1563
1621
  const local = current.messages.filter(isLocalMessage);
@@ -1588,10 +1646,17 @@ export class WidgetStore {
1588
1646
  .map((message) => ({
1589
1647
  ...message,
1590
1648
  attachments: this.hydrateAttachments(message.attachments, message.id),
1649
+ metadata: this.hydrateMetadata(message.metadata),
1591
1650
  }))
1592
1651
  .reverse();
1593
1652
  }
1594
1653
 
1654
+ /** The "joined" line's avatar can be a server-relative media path. */
1655
+ private hydrateMetadata(metadata: Message['metadata']): Message['metadata'] {
1656
+ if (!metadata || typeof metadata.agentAvatar !== 'string') return metadata ?? null;
1657
+ return { ...metadata, agentAvatar: this.client.resolveUrl(metadata.agentAvatar) };
1658
+ }
1659
+
1595
1660
  /**
1596
1661
  * Rejects when the message wasn't sent, so the composer can keep
1597
1662
  * attachments for a retry. A text-only bubble is marked failed; one with
@@ -1710,7 +1775,9 @@ export class WidgetStore {
1710
1775
  const messages = delivered
1711
1776
  ? current.messages.filter((message) => message.id !== tempId)
1712
1777
  : current.messages.map((message) =>
1713
- message.id === tempId ? { ...message, id: result.messageId, status: 'sent' } : message
1778
+ message.id === tempId
1779
+ ? { ...message, id: result.messageId, status: this.earlyStatuses.get(result.messageId) ?? 'sent' }
1780
+ : message
1714
1781
  );
1715
1782
 
1716
1783
  if (!createdId) return { messages };
@@ -1856,6 +1923,40 @@ function isLocalMessage(message: Message): boolean {
1856
1923
  * at all) until the server copy shows up — the stream echo or a history page.
1857
1924
  * Its attachments, the only ones that can be opened, then replace them.
1858
1925
  */
1926
+ /** A "Seen" missed while the stream was down shows up on the next re-read. */
1927
+ function adoptServerStatuses(messages: Message[], server: Message[]): Message[] {
1928
+ const seen = new Set(server.filter((message) => message.status === 'read').map((message) => message.id));
1929
+ if (seen.size === 0) return messages;
1930
+ let changed = false;
1931
+ const next = messages.map((message) => {
1932
+ if (!seen.has(message.id) || message.status === 'read') return message;
1933
+ changed = true;
1934
+ return { ...message, status: 'read' };
1935
+ });
1936
+ return changed ? next : messages;
1937
+ }
1938
+
1939
+ /** Keeps who/when, drops everything the visitor could read. */
1940
+ function asDeletedPlaceholder(message: Message, deletedAt: string): Message {
1941
+ return { ...message, body: null, bodyPlain: null, attachments: null, metadata: null, deletedAt };
1942
+ }
1943
+
1944
+ /** A deletion missed while the stream was down shows up on the next re-read. */
1945
+ function adoptServerDeletions(messages: Message[], server: Message[]): Message[] {
1946
+ const deleted = new Map(
1947
+ server.filter((message) => message.deletedAt).map((message) => [message.id, message.deletedAt!])
1948
+ );
1949
+ if (deleted.size === 0) return messages;
1950
+ let changed = false;
1951
+ const next = messages.map((message) => {
1952
+ const deletedAt = deleted.get(message.id);
1953
+ if (!deletedAt || message.deletedAt) return message;
1954
+ changed = true;
1955
+ return asDeletedPlaceholder(message, deletedAt);
1956
+ });
1957
+ return changed ? next : messages;
1958
+ }
1959
+
1859
1960
  function adoptServerAttachments(messages: Message[], server: Message[]): Message[] {
1860
1961
  const serverCopies = new Map(
1861
1962
  server.filter((message) => message.attachments?.length).map((message) => [message.id, message])
package/src/types.ts CHANGED
@@ -21,6 +21,12 @@ export interface PreChatField {
21
21
  options?: string[];
22
22
  }
23
23
 
24
+ /** A teammate's face for the stacked header / "Waiting for a teammate" avatars. */
25
+ export interface TeamAvatar {
26
+ initials: string;
27
+ avatarUrl: string | null;
28
+ }
29
+
24
30
  export interface WidgetConfig {
25
31
  primaryColor: string;
26
32
  homeLogoUrl: string | null;
@@ -66,6 +72,10 @@ export interface WidgetConfig {
66
72
  identityVerificationEnabled: boolean;
67
73
  hmacMandatory: boolean;
68
74
  isOnline: boolean;
75
+ /** Header title while no teammate has joined (and after the conversation closes). */
76
+ workspaceName?: string | null;
77
+ /** Up to three teammates shown stacked beside it. Absent on older servers. */
78
+ teamAvatars?: TeamAvatar[];
69
79
  }
70
80
 
71
81
  /** Received attachments are normalized: a missing `id`/`size` is filled in. */
@@ -102,6 +112,8 @@ export interface Conversation {
102
112
  createdAt: string;
103
113
  agentName: string | null;
104
114
  agentAvatar: string | null;
115
+ /** The assigned teammate's own presence ("Active"/"Away"); absent on older servers. */
116
+ agentOnline?: boolean | null;
105
117
  /**
106
118
  * Agent replies the visitor hasn't seen, computed server-side from their
107
119
  * read cursor. Absent on older Workstation deployments — the SDK then falls
@@ -122,6 +134,8 @@ export interface Message {
122
134
  metadata?: Record<string, unknown> | null;
123
135
  status: string | null;
124
136
  createdAt: string;
137
+ /** Set when a teammate deleted the message; the content fields are then empty. */
138
+ deletedAt?: string | null;
125
139
  }
126
140
 
127
141
  export interface OutboundMessage {
@@ -438,6 +452,8 @@ export interface AgentProcedureForm {
438
452
  export type WidgetRealtimeEvent =
439
453
  | 'connected'
440
454
  | 'message.new'
455
+ | 'message.deleted'
456
+ | 'message.status'
441
457
  | 'typing.start'
442
458
  | 'typing.stop'
443
459
  | 'conversation.updated'
@@ -26,7 +26,7 @@ import {
26
26
  pickAttachments,
27
27
  } from '../attachments/pickers';
28
28
  import { controller } from '../controller';
29
- import { buildLabels, createTranslator, formatLabel } from '../i18n';
29
+ import { buildLabels, createTranslator, formatLabel, localizeWelcomeText } from '../i18n';
30
30
  import { useWidgetState } from '../state/use-widget-state';
31
31
  import type { AgentUiAction, OutgoingAttachment, WidgetSpaceType } from '../types';
32
32
  import { WidgetErrorBoundary } from './components/ErrorBoundary';
@@ -69,7 +69,20 @@ export function RepzoWidgetProvider({
69
69
  // not, so they own the top inset.
70
70
  const topInset = Platform.OS === 'ios' && presentationStyle === 'pageSheet' ? 0 : insets.top;
71
71
 
72
- const theme = useMemo(() => buildTheme(state.config), [state.config]);
72
+ const localizedConfig = useMemo(
73
+ () => localizeWelcomeText(state.config, state.locale),
74
+ [state.config, state.locale]
75
+ );
76
+ const theme = useMemo(() => buildTheme(localizedConfig), [localizedConfig]);
77
+ // Teammate photos can be server-relative media paths.
78
+ const teamAvatars = useMemo(
79
+ () =>
80
+ (state.config?.teamAvatars ?? []).map((avatar) => ({
81
+ ...avatar,
82
+ avatarUrl: store.client.resolveUrl(avatar.avatarUrl),
83
+ })),
84
+ [state.config, store]
85
+ );
73
86
  const labels = useMemo(
74
87
  () => buildLabels(createTranslator(state.config, state.locale)),
75
88
  [state.config, state.locale]
@@ -251,7 +264,11 @@ export function RepzoWidgetProvider({
251
264
  color={theme.primaryColor}
252
265
  agentName={activeConversation?.agentName}
253
266
  agentAvatar={activeConversation?.agentAvatar}
267
+ agentOnline={activeConversation?.agentOnline}
254
268
  isOnline={theme.isOnline}
269
+ teamName={state.config?.workspaceName}
270
+ teamAvatars={teamAvatars}
271
+ replyTimeLabel={theme.replyTimeLabel}
255
272
  locale={state.locale}
256
273
  prefillText={state.prefillText}
257
274
  offlineMessage={theme.offlineMessage}
@@ -270,6 +287,11 @@ export function RepzoWidgetProvider({
270
287
  today: labels.today,
271
288
  yesterday: labels.yesterday,
272
289
  conversationUpdated: labels.conversationUpdated,
290
+ messageDeleted: labels.messageDeleted,
291
+ messageSent: labels.messageSent,
292
+ messageSeen: labels.messageSeen,
293
+ waitingForTeammate: labels.waitingForTeammate,
294
+ joinedConversation: labels.joinedConversation,
273
295
  procedureSend: labels.procedureSend,
274
296
  procedureSent: labels.procedureSent,
275
297
  blocks: blockLabels,
@@ -295,7 +317,7 @@ export function RepzoWidgetProvider({
295
317
  if (isHomeSurface) {
296
318
  return (
297
319
  <HomeView
298
- config={state.config}
320
+ config={localizedConfig}
299
321
  color={theme.primaryColor}
300
322
  visitorName={state.visitorProfile.name}
301
323
  conversationCount={state.conversations.length}