@burdenoff/microfe-conversations 2026.510.117

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 (155) hide show
  1. package/README.md +12 -0
  2. package/dist/__tests__/setup.d.ts +2 -0
  3. package/dist/__tests__/setup.d.ts.map +1 -0
  4. package/dist/conversations/ConversationsAdminRoot.d.ts +19 -0
  5. package/dist/conversations/ConversationsAdminRoot.d.ts.map +1 -0
  6. package/dist/conversations/ConversationsAdminRoot.js +104 -0
  7. package/dist/conversations/ConversationsAdminRoot.js.map +1 -0
  8. package/dist/conversations/ConversationsAdminRoutes.d.ts +18 -0
  9. package/dist/conversations/ConversationsAdminRoutes.d.ts.map +1 -0
  10. package/dist/conversations/ConversationsAdminRoutes.js +42 -0
  11. package/dist/conversations/ConversationsAdminRoutes.js.map +1 -0
  12. package/dist/conversations/ConversationsRoot.d.ts +33 -0
  13. package/dist/conversations/ConversationsRoot.d.ts.map +1 -0
  14. package/dist/conversations/ConversationsRoot.js +100 -0
  15. package/dist/conversations/ConversationsRoot.js.map +1 -0
  16. package/dist/conversations/ConversationsUserRoot.d.ts +17 -0
  17. package/dist/conversations/ConversationsUserRoot.d.ts.map +1 -0
  18. package/dist/conversations/ConversationsUserRoot.js +101 -0
  19. package/dist/conversations/ConversationsUserRoot.js.map +1 -0
  20. package/dist/conversations/ConversationsUserRoutes.d.ts +12 -0
  21. package/dist/conversations/ConversationsUserRoutes.d.ts.map +1 -0
  22. package/dist/conversations/ConversationsUserRoutes.js +45 -0
  23. package/dist/conversations/ConversationsUserRoutes.js.map +1 -0
  24. package/dist/conversations/components/ConversationCard.d.ts +14 -0
  25. package/dist/conversations/components/ConversationCard.d.ts.map +1 -0
  26. package/dist/conversations/components/ConversationCard.js +118 -0
  27. package/dist/conversations/components/ConversationCard.js.map +1 -0
  28. package/dist/conversations/components/LazyPageBoundary.d.ts +25 -0
  29. package/dist/conversations/components/LazyPageBoundary.d.ts.map +1 -0
  30. package/dist/conversations/components/LazyPageBoundary.js +144 -0
  31. package/dist/conversations/components/LazyPageBoundary.js.map +1 -0
  32. package/dist/conversations/components/MessageBubble.d.ts +21 -0
  33. package/dist/conversations/components/MessageBubble.d.ts.map +1 -0
  34. package/dist/conversations/components/MessageBubble.js +242 -0
  35. package/dist/conversations/components/MessageBubble.js.map +1 -0
  36. package/dist/conversations/components/PageLayout.d.ts +55 -0
  37. package/dist/conversations/components/PageLayout.d.ts.map +1 -0
  38. package/dist/conversations/components/PageLayout.js +93 -0
  39. package/dist/conversations/components/PageLayout.js.map +1 -0
  40. package/dist/conversations/components/PermissionGuard.d.ts +21 -0
  41. package/dist/conversations/components/PermissionGuard.d.ts.map +1 -0
  42. package/dist/conversations/components/PermissionGuard.js +25 -0
  43. package/dist/conversations/components/PermissionGuard.js.map +1 -0
  44. package/dist/conversations/constants/featureFlags.d.ts +8 -0
  45. package/dist/conversations/constants/featureFlags.d.ts.map +1 -0
  46. package/dist/conversations/constants/featureFlags.js +12 -0
  47. package/dist/conversations/constants/featureFlags.js.map +1 -0
  48. package/dist/conversations/constants/permissions.d.ts +174 -0
  49. package/dist/conversations/constants/permissions.d.ts.map +1 -0
  50. package/dist/conversations/constants/permissions.js +68 -0
  51. package/dist/conversations/constants/permissions.js.map +1 -0
  52. package/dist/conversations/hooks/useAdminFeatureFlags.d.ts +8 -0
  53. package/dist/conversations/hooks/useAdminFeatureFlags.d.ts.map +1 -0
  54. package/dist/conversations/hooks/useAdminFeatureFlags.js +16 -0
  55. package/dist/conversations/hooks/useAdminFeatureFlags.js.map +1 -0
  56. package/dist/conversations/hooks/useConversationQueries.d.ts +83 -0
  57. package/dist/conversations/hooks/useConversationQueries.d.ts.map +1 -0
  58. package/dist/conversations/hooks/useConversationQueries.js +136 -0
  59. package/dist/conversations/hooks/useConversationQueries.js.map +1 -0
  60. package/dist/conversations/hooks/useExportConversation.d.ts +10 -0
  61. package/dist/conversations/hooks/useExportConversation.d.ts.map +1 -0
  62. package/dist/conversations/hooks/useExportConversation.js +41 -0
  63. package/dist/conversations/hooks/useExportConversation.js.map +1 -0
  64. package/dist/conversations/hooks/useMessageQueries.d.ts +84 -0
  65. package/dist/conversations/hooks/useMessageQueries.d.ts.map +1 -0
  66. package/dist/conversations/hooks/useMessageQueries.js +123 -0
  67. package/dist/conversations/hooks/useMessageQueries.js.map +1 -0
  68. package/dist/conversations/hooks/useMessageSubscriptions.d.ts +24 -0
  69. package/dist/conversations/hooks/useMessageSubscriptions.d.ts.map +1 -0
  70. package/dist/conversations/hooks/useMessageSubscriptions.js +90 -0
  71. package/dist/conversations/hooks/useMessageSubscriptions.js.map +1 -0
  72. package/dist/conversations/hooks/useUserFeatureFlags.d.ts +5 -0
  73. package/dist/conversations/hooks/useUserFeatureFlags.d.ts.map +1 -0
  74. package/dist/conversations/hooks/useUserFeatureFlags.js +10 -0
  75. package/dist/conversations/hooks/useUserFeatureFlags.js.map +1 -0
  76. package/dist/conversations/index.d.ts +31 -0
  77. package/dist/conversations/index.d.ts.map +1 -0
  78. package/dist/conversations/index.js +5 -0
  79. package/dist/conversations/pages/AdminConversationsLandingPage.d.ts +9 -0
  80. package/dist/conversations/pages/AdminConversationsLandingPage.d.ts.map +1 -0
  81. package/dist/conversations/pages/AdminConversationsLandingPage.js +117 -0
  82. package/dist/conversations/pages/AdminConversationsLandingPage.js.map +1 -0
  83. package/dist/conversations/pages/ConversationAdminPages.d.ts +5 -0
  84. package/dist/conversations/pages/ConversationAdminPages.d.ts.map +1 -0
  85. package/dist/conversations/pages/ConversationAdminPages.js +573 -0
  86. package/dist/conversations/pages/ConversationAdminPages.js.map +1 -0
  87. package/dist/conversations/pages/ConversationDetailPage.d.ts +2 -0
  88. package/dist/conversations/pages/ConversationDetailPage.d.ts.map +1 -0
  89. package/dist/conversations/pages/ConversationDetailPage.js +439 -0
  90. package/dist/conversations/pages/ConversationDetailPage.js.map +1 -0
  91. package/dist/conversations/pages/ConversationListPage.d.ts +6 -0
  92. package/dist/conversations/pages/ConversationListPage.d.ts.map +1 -0
  93. package/dist/conversations/pages/ConversationListPage.js +269 -0
  94. package/dist/conversations/pages/ConversationListPage.js.map +1 -0
  95. package/dist/conversations/pages/ConversationsLandingPage.d.ts +9 -0
  96. package/dist/conversations/pages/ConversationsLandingPage.d.ts.map +1 -0
  97. package/dist/conversations/pages/ConversationsLandingPage.js +124 -0
  98. package/dist/conversations/pages/ConversationsLandingPage.js.map +1 -0
  99. package/dist/conversations/pages/ConversationsSettingsPage.d.ts +2 -0
  100. package/dist/conversations/pages/ConversationsSettingsPage.d.ts.map +1 -0
  101. package/dist/conversations/pages/ConversationsSettingsPage.js +215 -0
  102. package/dist/conversations/pages/ConversationsSettingsPage.js.map +1 -0
  103. package/dist/conversations/pages/NewConversationPage.d.ts +2 -0
  104. package/dist/conversations/pages/NewConversationPage.d.ts.map +1 -0
  105. package/dist/conversations/pages/NewConversationPage.js +287 -0
  106. package/dist/conversations/pages/NewConversationPage.js.map +1 -0
  107. package/dist/conversations/providers/ConversationsProvider.d.ts +13 -0
  108. package/dist/conversations/providers/ConversationsProvider.d.ts.map +1 -0
  109. package/dist/conversations/providers/ConversationsProvider.js +109 -0
  110. package/dist/conversations/providers/ConversationsProvider.js.map +1 -0
  111. package/dist/conversations/store/conversationsStore.d.ts +29 -0
  112. package/dist/conversations/store/conversationsStore.d.ts.map +1 -0
  113. package/dist/conversations/store/conversationsStore.js +56 -0
  114. package/dist/conversations/store/conversationsStore.js.map +1 -0
  115. package/dist/conversations/types/index.d.ts +352 -0
  116. package/dist/conversations/types/index.d.ts.map +1 -0
  117. package/dist/conversations/utils/cn.d.ts +8 -0
  118. package/dist/conversations/utils/cn.d.ts.map +1 -0
  119. package/dist/conversations/utils/cn.js +10 -0
  120. package/dist/conversations/utils/cn.js.map +1 -0
  121. package/dist/conversations/utils/i18n.d.ts +15 -0
  122. package/dist/conversations/utils/i18n.d.ts.map +1 -0
  123. package/dist/conversations/utils/i18n.js +14 -0
  124. package/dist/conversations/utils/i18n.js.map +1 -0
  125. package/dist/conversations/utils/mappers.d.ts +32 -0
  126. package/dist/conversations/utils/mappers.d.ts.map +1 -0
  127. package/dist/conversations/utils/mappers.js +164 -0
  128. package/dist/conversations/utils/mappers.js.map +1 -0
  129. package/dist/conversations/utils/navigation.d.ts +18 -0
  130. package/dist/conversations/utils/navigation.d.ts.map +1 -0
  131. package/dist/conversations/utils/navigation.js +8 -0
  132. package/dist/conversations/utils/navigation.js.map +1 -0
  133. package/dist/dev/main.d.ts +2 -0
  134. package/dist/dev/main.d.ts.map +1 -0
  135. package/dist/generated/global-operations.d.ts +2 -0
  136. package/dist/generated/global-operations.d.ts.map +1 -0
  137. package/dist/generated/global-types.d.ts +20716 -0
  138. package/dist/generated/global-types.d.ts.map +1 -0
  139. package/dist/generated/wspace-operations.d.ts +2008 -0
  140. package/dist/generated/wspace-operations.d.ts.map +1 -0
  141. package/dist/generated/wspace-operations.js +997 -0
  142. package/dist/generated/wspace-operations.js.map +1 -0
  143. package/dist/generated/wspace-types.d.ts +53363 -0
  144. package/dist/generated/wspace-types.d.ts.map +1 -0
  145. package/dist/index.d.ts +6 -0
  146. package/dist/index.d.ts.map +1 -0
  147. package/dist/index.js +7 -0
  148. package/dist/node_modules/clsx/dist/clsx.js +18 -0
  149. package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
  150. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +1674 -0
  151. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  152. package/dist/utils/nativeBridge.d.ts +3 -0
  153. package/dist/utils/nativeBridge.d.ts.map +1 -0
  154. package/dist/utils/nativeBridge.js +2 -0
  155. package/package.json +115 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","names":[],"sources":["../../../src/conversations/utils/i18n.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useI18n } from \"@burdenoff/fe-libs/shared/providers/shell/I18nProvider\";\n\n/**\n * Stable translate helper used throughout the conversations MFE.\n *\n * Wraps the shell's `useI18n().t()` with a two-argument signature that\n * returns the English `fallback` when the translation key is not\n * resolved. Memoises around `t` so the returned function is referentially\n * stable across renders — safe to list in `useMemo` / `useEffect` dep\n * arrays without triggering churn on every render.\n *\n * @example\n * const tr = useTr();\n * const label = tr(\"conversations.inbox\", \"Inbox\");\n */\nexport function useTr(): (key: string, fallback: string) => string {\n const { t } = useI18n();\n return useCallback(\n (key: string, fallback: string): string => {\n const value = t(key);\n return value === key ? fallback : value;\n },\n [t],\n );\n}\n"],"mappings":";;;AAgBA,SAAgB,IAAmD;CACjE,IAAM,EAAE,SAAM,GAAS;AACvB,QAAO,GACJ,GAAa,MAA6B;EACzC,IAAM,IAAQ,EAAE,EAAI;AACpB,SAAO,MAAU,IAAM,IAAW;IAEpC,CAAC,EAAE,CACJ"}
@@ -0,0 +1,32 @@
1
+ import { Conversation, Message, Reaction, Attachment, Mention, ConversationMembership, Participant } from '../types';
2
+
3
+ /**
4
+ * Map a GraphQL Conversation response to the frontend Conversation type.
5
+ * Gracefully handles undefined/null fields from partial queries.
6
+ */
7
+ export declare function mapConversation(raw: Record<string, unknown>): Conversation;
8
+ /**
9
+ * Map a GraphQL Message response to the frontend Message type.
10
+ */
11
+ export declare function mapMessage(raw: Record<string, unknown>): Message;
12
+ /**
13
+ * Map a GraphQL Reaction response
14
+ */
15
+ export declare function mapReaction(raw: Record<string, unknown>): Reaction;
16
+ /**
17
+ * Map a GraphQL Mention response
18
+ */
19
+ export declare function mapMention(raw: Record<string, unknown>): Mention;
20
+ /**
21
+ * Map a GraphQL Attachment response
22
+ */
23
+ export declare function mapAttachment(raw: Record<string, unknown>): Attachment;
24
+ /**
25
+ * Map a GraphQL ConversationMembership response
26
+ */
27
+ export declare function mapMembership(raw: Record<string, unknown>): ConversationMembership;
28
+ /**
29
+ * Map a participant from membership data
30
+ */
31
+ export declare function mapParticipant(raw: Record<string, unknown>): Participant;
32
+ //# sourceMappingURL=mappers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../../src/conversations/utils/mappers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,OAAO,EACP,sBAAsB,EACtB,WAAW,EAGZ,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAqF1E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAsDhE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAalE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAQhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAatE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,sBAAsB,CAoBxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAWxE"}
@@ -0,0 +1,164 @@
1
+ //#region src/conversations/utils/mappers.ts
2
+ function e(e) {
3
+ let n = e.settings && typeof e.settings == "object" ? e.settings : void 0, r = n && typeof n.metadata == "object" && n.metadata !== null && typeof n.metadata.sourceContext == "object" && n.metadata.sourceContext !== null ? n.metadata.sourceContext : void 0;
4
+ return {
5
+ id: String(e.id ?? ""),
6
+ title: String(e.title ?? "Untitled"),
7
+ description: e.description ? String(e.description) : void 0,
8
+ avatar: e.avatar ? String(e.avatar) : void 0,
9
+ settings: n,
10
+ sourceContext: r ? {
11
+ product: r.product ? String(r.product) : void 0,
12
+ pagePath: String(r.pagePath ?? ""),
13
+ contextHref: String(r.contextHref ?? ""),
14
+ contextTitle: r.contextTitle ? String(r.contextTitle) : void 0,
15
+ entityType: r.entityType ? String(r.entityType) : void 0,
16
+ entityId: r.entityId ? String(r.entityId) : void 0,
17
+ activeTab: r.activeTab ? String(r.activeTab) : void 0
18
+ } : void 0,
19
+ type: String(e.type ?? "DIRECT"),
20
+ state: String(e.state ?? "ACTIVE"),
21
+ visibility: String(e.visibility ?? "PRIVATE"),
22
+ isGroup: !!e.isGroup || String(e.type ?? "DIRECT") !== "DIRECT",
23
+ memberCount: Number(e.memberCount ?? 0),
24
+ unreadCount: Number(e.unreadCount ?? 0),
25
+ mentionCount: Number(e.mentionCount ?? 0),
26
+ lastMessage: e.lastMessage ? t(e.lastMessage) : void 0,
27
+ isPinned: !!(e.currentUserMembership && e.currentUserMembership.isPinned),
28
+ isMuted: !!(e.currentUserMembership && e.currentUserMembership.isMuted),
29
+ features: e.features ? a(e.features) : s(),
30
+ createdBy: {
31
+ id: String(e.createdBy && typeof e.createdBy == "object" ? e.createdBy.id : e.createdBy ?? ""),
32
+ name: String(e.createdBy && typeof e.createdBy == "object" ? e.createdBy.name : "")
33
+ },
34
+ createdAt: String(e.createdAt ?? (/* @__PURE__ */ new Date()).toISOString()),
35
+ updatedAt: String(e.updatedAt ?? (/* @__PURE__ */ new Date()).toISOString())
36
+ };
37
+ }
38
+ function t(e) {
39
+ let t = Array.isArray(e.reactions) ? e.reactions.map(n) : [], a = Array.isArray(e.mentions) ? e.mentions.map(r) : [], s = Array.isArray(e.attachments) ? e.attachments.map(i) : [];
40
+ return {
41
+ id: String(e.id ?? ""),
42
+ conversationId: String(e.conversationId ?? ""),
43
+ type: String(e.type ?? "TEXT"),
44
+ status: String(e.status ?? "SENT"),
45
+ content: l(e.content),
46
+ authorId: String(e.authorId ?? ""),
47
+ authorType: String(e.authorType ?? "user"),
48
+ isAnonymous: !!e.isAnonymous,
49
+ sender: {
50
+ id: String(e.authorId ?? ""),
51
+ name: String(e.sender && typeof e.sender == "object" ? e.sender.name : e.authorId ?? "Unknown"),
52
+ avatarUrl: e.sender && typeof e.sender == "object" ? e.sender.avatarUrl : void 0
53
+ },
54
+ parentMessageId: e.parentMessageId ? String(e.parentMessageId) : void 0,
55
+ threadRootId: e.threadRootId ? String(e.threadRootId) : void 0,
56
+ threadLevel: Number(e.threadLevel ?? 0),
57
+ replyCount: Number(e.replyCount ?? 0),
58
+ isEdited: !!e.isEdited,
59
+ editedAt: e.editedAt ? String(e.editedAt) : void 0,
60
+ isPinned: !!e.isPinned,
61
+ reactions: t,
62
+ mentions: a,
63
+ attachments: s,
64
+ permissions: e.permissions ? o(e.permissions) : c(),
65
+ createdAt: String(e.createdAt ?? (/* @__PURE__ */ new Date()).toISOString()),
66
+ updatedAt: String(e.updatedAt ?? (/* @__PURE__ */ new Date()).toISOString())
67
+ };
68
+ }
69
+ function n(e) {
70
+ return {
71
+ id: String(e.id ?? ""),
72
+ emoji: String(e.emoji ?? ""),
73
+ count: Number(e.count ?? 1),
74
+ users: Array.isArray(e.users) ? e.users.map((e) => ({
75
+ id: String(e.id ?? ""),
76
+ name: String(e.name ?? "")
77
+ })) : [],
78
+ currentUserReacted: !!e.currentUserReacted
79
+ };
80
+ }
81
+ function r(e) {
82
+ return {
83
+ id: String(e.id ?? ""),
84
+ mentionedUser: e.mentionedUser ? String(e.mentionedUser) : void 0,
85
+ mentionType: String(e.mentionType ?? "USER"),
86
+ offset: Number(e.offset ?? 0),
87
+ length: Number(e.length ?? 0)
88
+ };
89
+ }
90
+ function i(e) {
91
+ return {
92
+ id: String(e.id ?? ""),
93
+ fileId: String(e.fileId ?? ""),
94
+ fileName: String(e.fileName ?? "file"),
95
+ fileSize: Number(e.fileSize ?? 0),
96
+ mimeType: String(e.mimeType ?? "application/octet-stream"),
97
+ downloadUrl: e.downloadUrl ? String(e.downloadUrl) : void 0,
98
+ width: e.width ? Number(e.width) : void 0,
99
+ height: e.height ? Number(e.height) : void 0,
100
+ duration: e.duration ? Number(e.duration) : void 0,
101
+ thumbnail: e.thumbnail ? String(e.thumbnail) : void 0
102
+ };
103
+ }
104
+ function a(e) {
105
+ return {
106
+ threads: !!(e.threads ?? !0),
107
+ reactions: !!(e.reactions ?? !0),
108
+ mentions: !!(e.mentions ?? !0),
109
+ calls: !!(e.calls ?? !0),
110
+ apps: !!(e.apps ?? !0),
111
+ polls: !!(e.polls ?? !0),
112
+ anonymousMode: !!e.anonymousMode,
113
+ screenShare: !!(e.screenShare ?? !0),
114
+ recording: !!e.recording
115
+ };
116
+ }
117
+ function o(e) {
118
+ return {
119
+ canEdit: !!e.canEdit,
120
+ canDelete: !!e.canDelete,
121
+ canReact: !!(e.canReact ?? !0),
122
+ canReply: !!(e.canReply ?? !0),
123
+ canPin: !!e.canPin,
124
+ canHide: !!e.canHide,
125
+ canReport: !!(e.canReport ?? !0)
126
+ };
127
+ }
128
+ function s() {
129
+ return {
130
+ threads: !0,
131
+ reactions: !0,
132
+ mentions: !0,
133
+ calls: !0,
134
+ apps: !0,
135
+ polls: !0,
136
+ anonymousMode: !1,
137
+ screenShare: !0,
138
+ recording: !1
139
+ };
140
+ }
141
+ function c() {
142
+ return {
143
+ canEdit: !1,
144
+ canDelete: !1,
145
+ canReact: !0,
146
+ canReply: !0,
147
+ canPin: !1,
148
+ canHide: !1,
149
+ canReport: !0
150
+ };
151
+ }
152
+ function l(e) {
153
+ if (typeof e == "string") return e;
154
+ if (e && typeof e == "object") {
155
+ let t = e;
156
+ if (typeof t.text == "string") return t.text;
157
+ if (typeof t.payload == "string") return t.payload;
158
+ }
159
+ return "";
160
+ }
161
+ //#endregion
162
+ export { e as mapConversation, t as mapMessage };
163
+
164
+ //# sourceMappingURL=mappers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mappers.js","names":[],"sources":["../../../src/conversations/utils/mappers.ts"],"sourcesContent":["import type {\n Conversation,\n Message,\n Reaction,\n Attachment,\n Mention,\n ConversationMembership,\n Participant,\n MessagePermissions,\n ConversationFeatures,\n} from \"../types\";\n\n/**\n * Map a GraphQL Conversation response to the frontend Conversation type.\n * Gracefully handles undefined/null fields from partial queries.\n */\nexport function mapConversation(raw: Record<string, unknown>): Conversation {\n const settings =\n raw.settings && typeof raw.settings === \"object\"\n ? (raw.settings as Record<string, unknown>)\n : undefined;\n const sourceContext =\n settings &&\n typeof settings.metadata === \"object\" &&\n settings.metadata !== null &&\n typeof (settings.metadata as Record<string, unknown>).sourceContext ===\n \"object\" &&\n (settings.metadata as Record<string, unknown>).sourceContext !== null\n ? ((settings.metadata as Record<string, unknown>).sourceContext as Record<\n string,\n unknown\n >)\n : undefined;\n\n return {\n id: String(raw.id ?? \"\"),\n title: String(raw.title ?? \"Untitled\"),\n description: raw.description ? String(raw.description) : undefined,\n avatar: raw.avatar ? String(raw.avatar) : undefined,\n settings,\n sourceContext: sourceContext\n ? {\n product: sourceContext.product\n ? String(sourceContext.product)\n : undefined,\n pagePath: String(sourceContext.pagePath ?? \"\"),\n contextHref: String(sourceContext.contextHref ?? \"\"),\n contextTitle: sourceContext.contextTitle\n ? String(sourceContext.contextTitle)\n : undefined,\n entityType: sourceContext.entityType\n ? String(sourceContext.entityType)\n : undefined,\n entityId: sourceContext.entityId\n ? String(sourceContext.entityId)\n : undefined,\n activeTab: sourceContext.activeTab\n ? String(sourceContext.activeTab)\n : undefined,\n }\n : undefined,\n type: String(raw.type ?? \"DIRECT\") as Conversation[\"type\"],\n state: String(raw.state ?? \"ACTIVE\") as Conversation[\"state\"],\n visibility: String(\n raw.visibility ?? \"PRIVATE\",\n ) as Conversation[\"visibility\"],\n isGroup: Boolean(raw.isGroup) || String(raw.type ?? \"DIRECT\") !== \"DIRECT\",\n memberCount: Number(raw.memberCount ?? 0),\n unreadCount: Number(raw.unreadCount ?? 0),\n mentionCount: Number(raw.mentionCount ?? 0),\n lastMessage: raw.lastMessage\n ? mapMessage(raw.lastMessage as Record<string, unknown>)\n : undefined,\n isPinned: Boolean(\n raw.currentUserMembership\n ? (raw.currentUserMembership as Record<string, unknown>).isPinned\n : false,\n ),\n isMuted: Boolean(\n raw.currentUserMembership\n ? (raw.currentUserMembership as Record<string, unknown>).isMuted\n : false,\n ),\n features: raw.features\n ? mapConversationFeatures(raw.features as Record<string, unknown>)\n : defaultFeatures(),\n createdBy: {\n id: String(\n raw.createdBy && typeof raw.createdBy === \"object\"\n ? (raw.createdBy as Record<string, unknown>).id\n : (raw.createdBy ?? \"\"),\n ),\n name: String(\n raw.createdBy && typeof raw.createdBy === \"object\"\n ? (raw.createdBy as Record<string, unknown>).name\n : \"\",\n ),\n },\n createdAt: String(raw.createdAt ?? new Date().toISOString()),\n updatedAt: String(raw.updatedAt ?? new Date().toISOString()),\n };\n}\n\n/**\n * Map a GraphQL Message response to the frontend Message type.\n */\nexport function mapMessage(raw: Record<string, unknown>): Message {\n const reactions = Array.isArray(raw.reactions)\n ? (raw.reactions as Record<string, unknown>[]).map(mapReaction)\n : [];\n\n const mentions = Array.isArray(raw.mentions)\n ? (raw.mentions as Record<string, unknown>[]).map(mapMention)\n : [];\n\n const attachments = Array.isArray(raw.attachments)\n ? (raw.attachments as Record<string, unknown>[]).map(mapAttachment)\n : [];\n\n return {\n id: String(raw.id ?? \"\"),\n conversationId: String(raw.conversationId ?? \"\"),\n type: String(raw.type ?? \"TEXT\") as Message[\"type\"],\n status: String(raw.status ?? \"SENT\") as Message[\"status\"],\n content: extractTextContent(raw.content),\n authorId: String(raw.authorId ?? \"\"),\n authorType: String(raw.authorType ?? \"user\"),\n isAnonymous: Boolean(raw.isAnonymous),\n sender: {\n id: String(raw.authorId ?? \"\"),\n name: String(\n raw.sender && typeof raw.sender === \"object\"\n ? (raw.sender as Record<string, unknown>).name\n : (raw.authorId ?? \"Unknown\"),\n ),\n avatarUrl:\n raw.sender && typeof raw.sender === \"object\"\n ? ((raw.sender as Record<string, unknown>).avatarUrl as\n | string\n | undefined)\n : undefined,\n },\n parentMessageId: raw.parentMessageId\n ? String(raw.parentMessageId)\n : undefined,\n threadRootId: raw.threadRootId ? String(raw.threadRootId) : undefined,\n threadLevel: Number(raw.threadLevel ?? 0),\n replyCount: Number(raw.replyCount ?? 0),\n isEdited: Boolean(raw.isEdited),\n editedAt: raw.editedAt ? String(raw.editedAt) : undefined,\n isPinned: Boolean(raw.isPinned),\n reactions,\n mentions,\n attachments,\n permissions: raw.permissions\n ? mapMessagePermissions(raw.permissions as Record<string, unknown>)\n : defaultMessagePermissions(),\n createdAt: String(raw.createdAt ?? new Date().toISOString()),\n updatedAt: String(raw.updatedAt ?? new Date().toISOString()),\n };\n}\n\n/**\n * Map a GraphQL Reaction response\n */\nexport function mapReaction(raw: Record<string, unknown>): Reaction {\n return {\n id: String(raw.id ?? \"\"),\n emoji: String(raw.emoji ?? \"\"),\n count: Number(raw.count ?? 1),\n users: Array.isArray(raw.users)\n ? (raw.users as Record<string, unknown>[]).map((u) => ({\n id: String(u.id ?? \"\"),\n name: String(u.name ?? \"\"),\n }))\n : [],\n currentUserReacted: Boolean(raw.currentUserReacted),\n };\n}\n\n/**\n * Map a GraphQL Mention response\n */\nexport function mapMention(raw: Record<string, unknown>): Mention {\n return {\n id: String(raw.id ?? \"\"),\n mentionedUser: raw.mentionedUser ? String(raw.mentionedUser) : undefined,\n mentionType: String(raw.mentionType ?? \"USER\") as Mention[\"mentionType\"],\n offset: Number(raw.offset ?? 0),\n length: Number(raw.length ?? 0),\n };\n}\n\n/**\n * Map a GraphQL Attachment response\n */\nexport function mapAttachment(raw: Record<string, unknown>): Attachment {\n return {\n id: String(raw.id ?? \"\"),\n fileId: String(raw.fileId ?? \"\"),\n fileName: String(raw.fileName ?? \"file\"),\n fileSize: Number(raw.fileSize ?? 0),\n mimeType: String(raw.mimeType ?? \"application/octet-stream\"),\n downloadUrl: raw.downloadUrl ? String(raw.downloadUrl) : undefined,\n width: raw.width ? Number(raw.width) : undefined,\n height: raw.height ? Number(raw.height) : undefined,\n duration: raw.duration ? Number(raw.duration) : undefined,\n thumbnail: raw.thumbnail ? String(raw.thumbnail) : undefined,\n };\n}\n\n/**\n * Map a GraphQL ConversationMembership response\n */\nexport function mapMembership(\n raw: Record<string, unknown>,\n): ConversationMembership {\n return {\n id: String(raw.id ?? \"\"),\n conversationId: String(raw.conversationId ?? \"\"),\n userId: String(raw.userId ?? \"\"),\n role: String(raw.role ?? \"MEMBER\") as ConversationMembership[\"role\"],\n status: String(raw.status ?? \"ACTIVE\") as ConversationMembership[\"status\"],\n unreadCount: Number(raw.unreadCount ?? 0),\n mentionCount: Number(raw.mentionCount ?? 0),\n notificationLevel: String(\n raw.notificationLevel ?? \"ALL\",\n ) as ConversationMembership[\"notificationLevel\"],\n isMuted: Boolean(raw.isMuted),\n isPinned: Boolean(raw.isPinned),\n canSendMessages: Boolean(raw.canSendMessages ?? true),\n canAddMembers: Boolean(raw.canAddMembers),\n canRemoveMembers: Boolean(raw.canRemoveMembers),\n joinedAt: String(raw.joinedAt ?? new Date().toISOString()),\n lastReadAt: raw.lastReadAt ? String(raw.lastReadAt) : undefined,\n };\n}\n\n/**\n * Map a participant from membership data\n */\nexport function mapParticipant(raw: Record<string, unknown>): Participant {\n return {\n id: String(raw.id ?? \"\"),\n userId: String(raw.userId ?? \"\"),\n name: String(raw.name ?? \"Unknown\"),\n avatarUrl: raw.avatarUrl ? String(raw.avatarUrl) : undefined,\n role: String(raw.role ?? \"MEMBER\") as Participant[\"role\"],\n status: String(raw.status ?? \"OFFLINE\") as Participant[\"status\"],\n joinedAt: String(raw.joinedAt ?? new Date().toISOString()),\n lastSeenAt: raw.lastSeenAt ? String(raw.lastSeenAt) : undefined,\n };\n}\n\n// ============================================================================\n// HELPERS\n// ============================================================================\n\nfunction mapConversationFeatures(\n raw: Record<string, unknown>,\n): ConversationFeatures {\n return {\n threads: Boolean(raw.threads ?? true),\n reactions: Boolean(raw.reactions ?? true),\n mentions: Boolean(raw.mentions ?? true),\n calls: Boolean(raw.calls ?? true),\n apps: Boolean(raw.apps ?? true),\n polls: Boolean(raw.polls ?? true),\n anonymousMode: Boolean(raw.anonymousMode),\n screenShare: Boolean(raw.screenShare ?? true),\n recording: Boolean(raw.recording),\n };\n}\n\nfunction mapMessagePermissions(\n raw: Record<string, unknown>,\n): MessagePermissions {\n return {\n canEdit: Boolean(raw.canEdit),\n canDelete: Boolean(raw.canDelete),\n canReact: Boolean(raw.canReact ?? true),\n canReply: Boolean(raw.canReply ?? true),\n canPin: Boolean(raw.canPin),\n canHide: Boolean(raw.canHide),\n canReport: Boolean(raw.canReport ?? true),\n };\n}\n\nfunction defaultFeatures(): ConversationFeatures {\n return {\n threads: true,\n reactions: true,\n mentions: true,\n calls: true,\n apps: true,\n polls: true,\n anonymousMode: false,\n screenShare: true,\n recording: false,\n };\n}\n\nfunction defaultMessagePermissions(): MessagePermissions {\n return {\n canEdit: false,\n canDelete: false,\n canReact: true,\n canReply: true,\n canPin: false,\n canHide: false,\n canReport: true,\n };\n}\n\n/**\n * Extract text content from a JSON content field.\n * The GraphQL schema stores content as JSON — this handles\n * both string and structured rich-text formats.\n */\nfunction extractTextContent(content: unknown): string {\n if (typeof content === \"string\") return content;\n if (content && typeof content === \"object\") {\n const obj = content as Record<string, unknown>;\n if (typeof obj.text === \"string\") return obj.text;\n if (typeof obj.payload === \"string\") return obj.payload;\n }\n return \"\";\n}\n"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Navigation utilities for the Conversations microfrontend
3
+ */
4
+ /**
5
+ * Join basePath with a relative path, correctly handling slashes
6
+ *
7
+ * @param basePath - The base path (e.g., '/' or '/conversations')
8
+ * @param relativePath - The relative path (e.g., 'new' or '/new')
9
+ * @returns The joined path (e.g., '/conversations/new')
10
+ *
11
+ * @example
12
+ * joinPath('/', 'conversations/new') // => '/conversations/new'
13
+ * joinPath('/', '/conversations/new') // => '/conversations/new'
14
+ * joinPath('/conversations', 'new') // => '/conversations/new'
15
+ * joinPath('/conversations/', 'new') // => '/conversations/new'
16
+ */
17
+ export declare function joinPath(basePath: string, relativePath: string): string;
18
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/conversations/utils/navigation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAMvE"}
@@ -0,0 +1,8 @@
1
+ //#region src/conversations/utils/navigation.ts
2
+ function e(e, t) {
3
+ return (e.endsWith("/") ? e.slice(0, -1) : e) + (t.startsWith("/") ? t : `/${t}`);
4
+ }
5
+ //#endregion
6
+ export { e as joinPath };
7
+
8
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","names":[],"sources":["../../../src/conversations/utils/navigation.ts"],"sourcesContent":["/**\n * Navigation utilities for the Conversations microfrontend\n */\n\n/**\n * Join basePath with a relative path, correctly handling slashes\n *\n * @param basePath - The base path (e.g., '/' or '/conversations')\n * @param relativePath - The relative path (e.g., 'new' or '/new')\n * @returns The joined path (e.g., '/conversations/new')\n *\n * @example\n * joinPath('/', 'conversations/new') // => '/conversations/new'\n * joinPath('/', '/conversations/new') // => '/conversations/new'\n * joinPath('/conversations', 'new') // => '/conversations/new'\n * joinPath('/conversations/', 'new') // => '/conversations/new'\n */\nexport function joinPath(basePath: string, relativePath: string): string {\n const cleanBase = basePath.endsWith(\"/\") ? basePath.slice(0, -1) : basePath;\n const cleanPath = relativePath.startsWith(\"/\")\n ? relativePath\n : `/${relativePath}`;\n return cleanBase + cleanPath;\n}\n"],"mappings":";AAiBA,SAAgB,EAAS,GAAkB,GAA8B;AAKvE,SAJkB,EAAS,SAAS,IAAI,GAAG,EAAS,MAAM,GAAG,GAAG,GAAG,MACjD,EAAa,WAAW,IAAI,GAC1C,IACA,IAAI"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/dev/main.tsx"],"names":[],"mappings":"AAaA,OAAO,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=global-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-operations.d.ts","sourceRoot":"","sources":["../../src/generated/global-operations.ts"],"names":[],"mappings":""}