@teamvortexsoftware/vortex-react-native 0.0.13 → 1.0.1

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 (228) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1227 -11
  3. package/dist/InviteFormCore-D4HkMMo0.d.mts +721 -0
  4. package/dist/InviteFormCore-D9oUCbu7.d.ts +721 -0
  5. package/dist/VortexClient.js +192 -0
  6. package/dist/VortexClient.js.map +1 -0
  7. package/dist/VortexDeferredLinks.js +127 -0
  8. package/dist/VortexDeferredLinks.js.map +1 -0
  9. package/dist/clientInfo.js +45 -0
  10. package/dist/clientInfo.js.map +1 -0
  11. package/dist/components/ContactsPickerModal.js +182 -0
  12. package/dist/components/ContactsPickerModal.js.map +1 -0
  13. package/dist/components/InviteFormCore.js +2141 -0
  14. package/dist/components/InviteFormCore.js.map +1 -0
  15. package/dist/components/InviteFormMobile.js +463 -0
  16. package/dist/components/InviteFormMobile.js.map +1 -0
  17. package/dist/components/InviteFormWeb.js +295 -0
  18. package/dist/components/InviteFormWeb.js.map +1 -0
  19. package/dist/components/PlacedItemToolbar.js +147 -0
  20. package/dist/components/PlacedItemToolbar.js.map +1 -0
  21. package/dist/components/ShareButtons.js +1 -0
  22. package/dist/components/ShareButtons.js.map +1 -0
  23. package/dist/components/VrtxContactsImport.js +234 -0
  24. package/dist/components/VrtxContactsImport.js.map +1 -0
  25. package/dist/components/VrtxEmailInvitations.js +341 -0
  26. package/dist/components/VrtxEmailInvitations.js.map +1 -0
  27. package/dist/components/VrtxFindFriends.js +400 -0
  28. package/dist/components/VrtxFindFriends.js.map +1 -0
  29. package/dist/components/VrtxHeading.js +58 -0
  30. package/dist/components/VrtxHeading.js.map +1 -0
  31. package/dist/components/VrtxIncomingInvitations.js +657 -0
  32. package/dist/components/VrtxIncomingInvitations.js.map +1 -0
  33. package/dist/components/VrtxInvitationSuggestions.js +506 -0
  34. package/dist/components/VrtxInvitationSuggestions.js.map +1 -0
  35. package/dist/components/VrtxInviteContacts.js +512 -0
  36. package/dist/components/VrtxInviteContacts.js.map +1 -0
  37. package/dist/components/VrtxOutgoingInvitations.js +572 -0
  38. package/dist/components/VrtxOutgoingInvitations.js.map +1 -0
  39. package/dist/components/VrtxSearchBox.js +487 -0
  40. package/dist/components/VrtxSearchBox.js.map +1 -0
  41. package/dist/components/VrtxSelect.js +27 -0
  42. package/dist/components/VrtxSelect.js.map +1 -0
  43. package/dist/components/VrtxShareOptions.js +435 -0
  44. package/dist/components/VrtxShareOptions.js.map +1 -0
  45. package/dist/components/VrtxSubmit.js +132 -0
  46. package/dist/components/VrtxSubmit.js.map +1 -0
  47. package/dist/components/VrtxText.js +146 -0
  48. package/dist/components/VrtxText.js.map +1 -0
  49. package/dist/constants/mockData.d.mts +7 -0
  50. package/dist/constants/mockData.d.ts +7 -0
  51. package/dist/constants/mockData.js +48 -0
  52. package/dist/constants/mockData.js.map +1 -0
  53. package/dist/constants/mockData.mjs +22 -0
  54. package/dist/constants/mockData.mjs.map +1 -0
  55. package/dist/context/VortexModulesContext.js +135 -0
  56. package/dist/context/VortexModulesContext.js.map +1 -0
  57. package/dist/hooks/useInvitationFormLogic.d.mts +2 -0
  58. package/dist/hooks/useInvitationFormLogic.d.ts +2 -0
  59. package/dist/hooks/useInvitationFormLogic.js +300 -0
  60. package/dist/hooks/useInvitationFormLogic.js.map +1 -0
  61. package/dist/hooks/useInvitationFormLogic.mjs +276 -0
  62. package/dist/hooks/useInvitationFormLogic.mjs.map +1 -0
  63. package/dist/hooks/usePrefetchWidgetConfiguration.js +117 -0
  64. package/dist/hooks/usePrefetchWidgetConfiguration.js.map +1 -0
  65. package/dist/hooks/useThemeStyles.js +2 -0
  66. package/dist/hooks/useThemeStyles.js.map +1 -0
  67. package/dist/hooks/useVortexInvite.js +467 -56
  68. package/dist/hooks/useVortexInvite.js.map +1 -0
  69. package/dist/index-web.d.mts +93 -0
  70. package/dist/index-web.d.ts +93 -0
  71. package/dist/index-web.js +7397 -0
  72. package/dist/index-web.js.map +1 -0
  73. package/dist/index-web.mjs +7445 -0
  74. package/dist/index-web.mjs.map +1 -0
  75. package/dist/index.d.mts +656 -0
  76. package/dist/index.d.ts +656 -0
  77. package/dist/index.js +10205 -4
  78. package/dist/index.js.map +1 -0
  79. package/dist/index.mjs +10244 -0
  80. package/dist/index.mjs.map +1 -0
  81. package/dist/types/VortexClient.d.ts +106 -0
  82. package/dist/types/VortexClient.d.ts.map +1 -0
  83. package/dist/types/VortexDeferredLinks.d.ts +73 -0
  84. package/dist/types/VortexDeferredLinks.d.ts.map +1 -0
  85. package/dist/types/clientInfo.d.ts +5 -0
  86. package/dist/types/clientInfo.d.ts.map +1 -0
  87. package/dist/types/components/ContactsPickerModal.d.ts +18 -0
  88. package/dist/types/components/ContactsPickerModal.d.ts.map +1 -0
  89. package/dist/types/components/InviteFormCore.d.ts +166 -0
  90. package/dist/types/components/InviteFormCore.d.ts.map +1 -0
  91. package/dist/types/components/InviteFormMobile.d.ts +42 -0
  92. package/dist/types/components/InviteFormMobile.d.ts.map +1 -0
  93. package/dist/types/components/InviteFormWeb.d.ts +87 -0
  94. package/dist/types/components/InviteFormWeb.d.ts.map +1 -0
  95. package/dist/types/components/PlacedItemToolbar.d.ts +16 -0
  96. package/dist/types/components/PlacedItemToolbar.d.ts.map +1 -0
  97. package/dist/types/components/VrtxContactsImport.d.ts +14 -0
  98. package/dist/types/components/VrtxContactsImport.d.ts.map +1 -0
  99. package/dist/types/components/VrtxEmailInvitations.d.ts +31 -0
  100. package/dist/types/components/VrtxEmailInvitations.d.ts.map +1 -0
  101. package/dist/types/components/VrtxFindFriends.d.ts +25 -0
  102. package/dist/types/components/VrtxFindFriends.d.ts.map +1 -0
  103. package/dist/types/components/VrtxHeading.d.ts +6 -0
  104. package/dist/types/components/VrtxHeading.d.ts.map +1 -0
  105. package/dist/types/components/VrtxIncomingInvitations.d.ts +27 -0
  106. package/dist/types/components/VrtxIncomingInvitations.d.ts.map +1 -0
  107. package/dist/types/components/VrtxInvitationSuggestions.d.ts +25 -0
  108. package/dist/types/components/VrtxInvitationSuggestions.d.ts.map +1 -0
  109. package/dist/types/components/VrtxInviteContacts.d.ts +24 -0
  110. package/dist/types/components/VrtxInviteContacts.d.ts.map +1 -0
  111. package/dist/types/components/VrtxOutgoingInvitations.d.ts +27 -0
  112. package/dist/types/components/VrtxOutgoingInvitations.d.ts.map +1 -0
  113. package/dist/types/components/VrtxSearchBox.d.ts +28 -0
  114. package/dist/types/components/VrtxSearchBox.d.ts.map +1 -0
  115. package/dist/types/components/VrtxSelect.d.ts +6 -0
  116. package/dist/types/components/VrtxSelect.d.ts.map +1 -0
  117. package/dist/types/components/VrtxShareOptions.d.ts +41 -0
  118. package/dist/types/components/VrtxShareOptions.d.ts.map +1 -0
  119. package/dist/types/components/VrtxSubmit.d.ts +18 -0
  120. package/dist/types/components/VrtxSubmit.d.ts.map +1 -0
  121. package/dist/types/components/VrtxText.d.ts +8 -0
  122. package/dist/types/components/VrtxText.d.ts.map +1 -0
  123. package/dist/types/constants/mockData.d.ts +4 -0
  124. package/dist/types/constants/mockData.d.ts.map +1 -0
  125. package/dist/types/context/VortexModulesContext.d.ts +238 -0
  126. package/dist/types/context/VortexModulesContext.d.ts.map +1 -0
  127. package/dist/types/findFriends.js +10 -0
  128. package/dist/types/findFriends.js.map +1 -0
  129. package/dist/types/hooks/useInvitationFormLogic.d.ts +55 -0
  130. package/dist/types/hooks/useInvitationFormLogic.d.ts.map +1 -0
  131. package/dist/types/hooks/usePrefetchWidgetConfiguration.d.ts +39 -0
  132. package/dist/types/hooks/usePrefetchWidgetConfiguration.d.ts.map +1 -0
  133. package/dist/types/hooks/useThemeStyles.d.ts +1 -0
  134. package/dist/types/hooks/useThemeStyles.d.ts.map +1 -1
  135. package/dist/types/hooks/useVortexInvite.d.ts +48 -6
  136. package/dist/types/hooks/useVortexInvite.d.ts.map +1 -1
  137. package/dist/types/index-web.d.ts +23 -0
  138. package/dist/types/index-web.d.ts.map +1 -0
  139. package/dist/types/index.d.ts +21 -0
  140. package/dist/types/index.d.ts.map +1 -1
  141. package/dist/types/invitations.js +13 -0
  142. package/dist/types/invitations.js.map +1 -0
  143. package/dist/types/inviteContacts.js +14 -0
  144. package/dist/types/inviteContacts.js.map +1 -0
  145. package/dist/{shared/InvitationResult.js → types/platformOperations.js} +1 -0
  146. package/dist/types/platformOperations.js.map +1 -0
  147. package/dist/types/searchBox.js +11 -0
  148. package/dist/types/searchBox.js.map +1 -0
  149. package/dist/types/types/findFriends.d.ts +101 -0
  150. package/dist/types/types/findFriends.d.ts.map +1 -0
  151. package/dist/types/types/invitations.d.ts +301 -0
  152. package/dist/types/types/invitations.d.ts.map +1 -0
  153. package/dist/types/types/inviteContacts.d.ts +86 -0
  154. package/dist/types/types/inviteContacts.d.ts.map +1 -0
  155. package/dist/types/types/platformOperations.d.ts +185 -0
  156. package/dist/types/types/platformOperations.d.ts.map +1 -0
  157. package/dist/types/types/searchBox.d.ts +69 -0
  158. package/dist/types/types/searchBox.d.ts.map +1 -0
  159. package/dist/types/types/unfurlConfig.d.ts +34 -0
  160. package/dist/types/types/unfurlConfig.d.ts.map +1 -0
  161. package/dist/types/unfurlConfig.js +21 -0
  162. package/dist/types/unfurlConfig.js.map +1 -0
  163. package/dist/types/utils/analytics.d.ts +54 -0
  164. package/dist/types/utils/analytics.d.ts.map +1 -0
  165. package/dist/types/utils/configCache.d.ts +34 -0
  166. package/dist/types/utils/configCache.d.ts.map +1 -0
  167. package/dist/types/utils/contactUtils.d.ts +9 -0
  168. package/dist/types/utils/contactUtils.d.ts.map +1 -0
  169. package/dist/types/utils/featureWarnings.d.ts +56 -0
  170. package/dist/types/utils/featureWarnings.d.ts.map +1 -0
  171. package/dist/types/utils/formUtils.d.ts +11 -3
  172. package/dist/types/utils/formUtils.d.ts.map +1 -1
  173. package/dist/types/utils/gradientUtils.d.ts +67 -0
  174. package/dist/types/utils/gradientUtils.d.ts.map +1 -0
  175. package/dist/types/utils/invitationEvents.d.ts +21 -0
  176. package/dist/types/utils/invitationEvents.d.ts.map +1 -0
  177. package/dist/types/utils/moduleLoaders.d.ts +115 -0
  178. package/dist/types/utils/moduleLoaders.d.ts.map +1 -0
  179. package/dist/types/utils/moduleLoaders.web.d.ts +73 -0
  180. package/dist/types/utils/moduleLoaders.web.d.ts.map +1 -0
  181. package/dist/types/utils/nameUtils.d.ts +15 -0
  182. package/dist/types/utils/nameUtils.d.ts.map +1 -0
  183. package/dist/types/utils/themeUtils.d.ts +3 -1
  184. package/dist/types/utils/themeUtils.d.ts.map +1 -1
  185. package/dist/types/vortexInvite.d.ts +145 -5
  186. package/dist/types/vortexInvite.d.ts.map +1 -1
  187. package/dist/useInvitationFormLogic-Ct73M19B.d.mts +242 -0
  188. package/dist/useInvitationFormLogic-Ct73M19B.d.ts +242 -0
  189. package/dist/utils/analytics.js +92 -0
  190. package/dist/utils/analytics.js.map +1 -0
  191. package/dist/utils/configCache.js +68 -0
  192. package/dist/utils/configCache.js.map +1 -0
  193. package/dist/utils/contactUtils.d.mts +12 -0
  194. package/dist/utils/contactUtils.d.ts +12 -0
  195. package/dist/utils/contactUtils.js +37 -0
  196. package/dist/utils/contactUtils.js.map +1 -0
  197. package/dist/utils/contactUtils.mjs +12 -0
  198. package/dist/utils/contactUtils.mjs.map +1 -0
  199. package/dist/utils/featureWarnings.js +214 -0
  200. package/dist/utils/featureWarnings.js.map +1 -0
  201. package/dist/utils/formUtils.js +161 -51
  202. package/dist/utils/formUtils.js.map +1 -0
  203. package/dist/utils/gradientUtils.js +120 -0
  204. package/dist/utils/gradientUtils.js.map +1 -0
  205. package/dist/utils/invitationEvents.js +45 -0
  206. package/dist/utils/invitationEvents.js.map +1 -0
  207. package/dist/utils/moduleLoaders.js +275 -0
  208. package/dist/utils/moduleLoaders.js.map +1 -0
  209. package/dist/utils/moduleLoaders.web.js +72 -0
  210. package/dist/utils/moduleLoaders.web.js.map +1 -0
  211. package/dist/utils/nameUtils.js +51 -0
  212. package/dist/utils/nameUtils.js.map +1 -0
  213. package/dist/utils/themeUtils.js +117 -32
  214. package/dist/utils/themeUtils.js.map +1 -0
  215. package/dist/vortexInvite.js +78 -167
  216. package/dist/vortexInvite.js.map +1 -0
  217. package/package.json +69 -31
  218. package/dist/components/Clipboard.js +0 -64
  219. package/dist/shared/api.js +0 -90
  220. package/dist/tests/TestVortexInvite.js +0 -134
  221. package/dist/types/components/Clipboard.d.ts +0 -16
  222. package/dist/types/components/Clipboard.d.ts.map +0 -1
  223. package/dist/types/shared/InvitationResult.d.ts +0 -24
  224. package/dist/types/shared/InvitationResult.d.ts.map +0 -1
  225. package/dist/types/shared/api.d.ts +0 -14
  226. package/dist/types/shared/api.d.ts.map +0 -1
  227. package/dist/types/tests/TestVortexInvite.d.ts +0 -4
  228. package/dist/types/tests/TestVortexInvite.d.ts.map +0 -1
@@ -0,0 +1,106 @@
1
+ /**
2
+ * VortexClient provides API methods for invitation management.
3
+ *
4
+ * @example
5
+ * ```tsx
6
+ * import { VortexClient } from '@teamvortexsoftware/vortex-react-native';
7
+ *
8
+ * const client = new VortexClient({
9
+ * jwt: 'your-jwt-token',
10
+ * baseURL: 'https://client-api.vortexsoftware.com', // optional
11
+ * });
12
+ *
13
+ * // Revoke an outgoing invitation
14
+ * await client.revokeInvitation('invitation-id');
15
+ *
16
+ * // Accept an incoming invitation
17
+ * await client.acceptIncomingInvitation('invitation-id');
18
+ *
19
+ * // Delete an incoming invitation
20
+ * await client.deleteIncomingInvitation('invitation-id');
21
+ * ```
22
+ */
23
+ export interface VortexClientOptions {
24
+ /** JWT token for authentication */
25
+ jwt: string;
26
+ /** Optional base URL override (defaults to production) */
27
+ baseURL?: string;
28
+ }
29
+ export interface InvitationResponse {
30
+ success: boolean;
31
+ message?: string;
32
+ data?: any;
33
+ }
34
+ /** Target of an invitation (e.g., email or SMS recipient) */
35
+ export interface InvitationTarget {
36
+ targetType: string;
37
+ targetValue: string;
38
+ targetName?: string;
39
+ targetAvatarUrl?: string;
40
+ }
41
+ /** Individual incoming invitation from the API */
42
+ export interface IncomingInvitation {
43
+ id: string;
44
+ targets?: InvitationTarget[];
45
+ senderIdentifier?: string;
46
+ senderIdentifierType?: string;
47
+ avatarUrl?: string;
48
+ status?: string;
49
+ createdAt?: string;
50
+ source?: string;
51
+ deliveryType?: string;
52
+ /** Name of the user who created this invitation */
53
+ creatorName?: string | null;
54
+ /** Avatar URL of the user who created this invitation */
55
+ creatorAvatarUrl?: string | null;
56
+ /** Internal ID of the user who created this invitation */
57
+ foreignCreatorId?: string | null;
58
+ /** Optional metadata attached to the invitation */
59
+ metadata?: Record<string, unknown>;
60
+ }
61
+ /** Response from GET /api/v1/invitations endpoint */
62
+ export interface IncomingInvitationsResponse {
63
+ data: {
64
+ invitations: IncomingInvitation[];
65
+ nextCursor?: string;
66
+ hasMore?: boolean;
67
+ count?: number;
68
+ };
69
+ }
70
+ export declare class VortexClient {
71
+ private jwt;
72
+ private baseURL;
73
+ constructor(options: VortexClientOptions);
74
+ /**
75
+ * Updates the JWT token used for authentication.
76
+ */
77
+ setJwt(jwt: string): void;
78
+ /**
79
+ * Revokes an outgoing invitation that the user has sent.
80
+ *
81
+ * @param invitationId - The ID of the invitation to revoke
82
+ * @returns Promise resolving to the response
83
+ */
84
+ revokeInvitation(invitationId: string): Promise<InvitationResponse>;
85
+ /**
86
+ * Accepts an incoming invitation that the user has received.
87
+ *
88
+ * @param invitationId - The ID of the invitation to accept
89
+ * @returns Promise resolving to the response
90
+ */
91
+ acceptIncomingInvitation(invitationId: string): Promise<InvitationResponse>;
92
+ /**
93
+ * Fetches incoming (open) invitations for the current user.
94
+ *
95
+ * @returns Promise resolving to the list of incoming invitations
96
+ */
97
+ getIncomingInvitations(): Promise<IncomingInvitation[]>;
98
+ /**
99
+ * Deletes/declines an incoming invitation that the user has received.
100
+ *
101
+ * @param invitationId - The ID of the invitation to delete
102
+ * @returns Promise resolving to the response
103
+ */
104
+ deleteIncomingInvitation(invitationId: string): Promise<InvitationResponse>;
105
+ }
106
+ //# sourceMappingURL=VortexClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VortexClient.d.ts","sourceRoot":"","sources":["../../src/VortexClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,6DAA6D;AAC7D,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE;QACJ,WAAW,EAAE,kBAAkB,EAAE,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,mBAAmB;IAKxC;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB;;;;;OAKG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgCzE;;;;;OAKG;IACG,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiCjF;;;;OAIG;IACG,sBAAsB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAuB7D;;;;;OAKG;IACG,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA+BlF"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Device fingerprint data collected for deferred deep linking.
3
+ */
4
+ export interface DeviceFingerprint {
5
+ platform: 'ios' | 'android';
6
+ osVersion: string;
7
+ deviceModel: string;
8
+ deviceBrand: string;
9
+ timezone: string;
10
+ language: string;
11
+ screenWidth: number;
12
+ screenHeight: number;
13
+ carrierName?: string;
14
+ totalMemory?: number;
15
+ }
16
+ /**
17
+ * Response from the match-fingerprint API endpoint.
18
+ */
19
+ export interface MatchFingerprintResponse {
20
+ matched: boolean;
21
+ invitationId?: string;
22
+ deepLink?: string;
23
+ metadata?: Record<string, any>;
24
+ }
25
+ /**
26
+ * Options for retrieving deferred deep links.
27
+ */
28
+ export interface RetrieveDeferredDeepLinkOptions {
29
+ /** JWT token for authentication */
30
+ jwt: string;
31
+ /** Optional base URL override (defaults to production) */
32
+ baseURL?: string;
33
+ }
34
+ /**
35
+ * VortexDeferredLinks provides deferred deep linking functionality.
36
+ *
37
+ * Deferred deep linking allows you to track invitation attribution even when
38
+ * the app wasn't installed at the time the invitation link was clicked.
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * import { VortexDeferredLinks } from '@teamvortexsoftware/vortex-react-native';
43
+ *
44
+ * // On app first launch after install
45
+ * async function checkDeferredDeepLink(jwt: string) {
46
+ * const result = await VortexDeferredLinks.retrieveDeferredDeepLink({ jwt });
47
+ * if (result.matched && result.deepLink) {
48
+ * // Handle the deferred deep link
49
+ * console.log('User came from invitation:', result.invitationId);
50
+ * // Navigate to appropriate screen
51
+ * }
52
+ * }
53
+ * ```
54
+ */
55
+ export declare class VortexDeferredLinks {
56
+ /**
57
+ * Collects device fingerprint data for matching.
58
+ * This data is used to match the device against fingerprints collected
59
+ * when invitation links were clicked.
60
+ */
61
+ static collectDeviceFingerprint(): DeviceFingerprint;
62
+ /**
63
+ * Retrieves a deferred deep link by matching the device fingerprint.
64
+ *
65
+ * Call this method on first app launch after installation to check if
66
+ * the user came from an invitation link.
67
+ *
68
+ * @param options - Configuration options including JWT and optional base URL
69
+ * @returns Promise resolving to match result with optional deep link
70
+ */
71
+ static retrieveDeferredDeepLink(options: RetrieveDeferredDeepLinkOptions): Promise<MatchFingerprintResponse>;
72
+ }
73
+ //# sourceMappingURL=VortexDeferredLinks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VortexDeferredLinks.d.ts","sourceRoot":"","sources":["../../src/VortexDeferredLinks.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,mBAAmB;IAC9B;;;;OAIG;IACH,MAAM,CAAC,wBAAwB,IAAI,iBAAiB;IA6CpD;;;;;;;;OAQG;WACU,wBAAwB,CACnC,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,wBAAwB,CAAC;CAkCrC"}
@@ -0,0 +1,5 @@
1
+ export declare function getReactNativeClientInfo(): {
2
+ name: string;
3
+ version: string;
4
+ };
5
+ //# sourceMappingURL=clientInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientInfo.d.ts","sourceRoot":"","sources":["../../src/clientInfo.ts"],"names":[],"mappings":"AAKA,wBAAgB,wBAAwB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA6C5E"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { ThemeColors } from '../utils/themeUtils';
3
+ export interface ContactItem {
4
+ id: string;
5
+ name: string;
6
+ emails: string[];
7
+ }
8
+ interface ContactsPickerModalProps {
9
+ visible: boolean;
10
+ contacts: ContactItem[];
11
+ onCancel: () => void;
12
+ onConfirm: (selected: ContactItem[]) => void;
13
+ themeStyles: any;
14
+ themeColors: ThemeColors;
15
+ }
16
+ export declare function ContactsPickerModal({ visible, contacts, onCancel, onConfirm, themeStyles, themeColors, }: ContactsPickerModalProps): React.JSX.Element;
17
+ export {};
18
+ //# sourceMappingURL=ContactsPickerModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContactsPickerModal.d.ts","sourceRoot":"","sources":["../../../src/components/ContactsPickerModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,UAAU,wBAAwB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAC7C,WAAW,EAAE,GAAG,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,GACZ,EAAE,wBAAwB,qBAyF1B"}
@@ -0,0 +1,166 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { PlatformOperations } from '../types/platformOperations';
3
+ import { FindFriendsConfig } from '../types/findFriends';
4
+ import { IncomingInvitationsConfig, OutgoingInvitationsConfig, InvitationSuggestionsConfig } from '../types/invitations';
5
+ import { InviteContactsConfig } from '../types/inviteContacts';
6
+ import { SearchBoxConfig } from '../types/searchBox';
7
+ export type IconName = 'close' | 'arrow-back' | 'link' | 'share' | 'import-contacts' | 'email' | 'google' | 'x-twitter' | 'instagram' | 'sms' | 'whatsapp' | 'line' | 'qr-code' | 'telegram' | 'discord' | 'facebook-messenger' | 'search';
8
+ export interface IconRendererProps {
9
+ name: IconName;
10
+ size: number;
11
+ color: string;
12
+ opacity?: number;
13
+ }
14
+ export interface ComponentInfo {
15
+ id: string;
16
+ type: string;
17
+ element: HTMLElement | null;
18
+ styles: React.CSSProperties;
19
+ content?: string;
20
+ droppedItem?: any;
21
+ }
22
+ export interface InvitationFormCoreProps {
23
+ /**
24
+ * Function to render icons - allows different icon libraries to be used
25
+ */
26
+ renderIcon: (props: IconRendererProps) => ReactNode;
27
+ /**
28
+ * Function to render QR code - allows platform-specific QR libraries to be used
29
+ * - Native: uses react-native-qrcode-svg
30
+ * - Web: uses react-qr-code
31
+ */
32
+ renderQRCode?: (props: {
33
+ value: string;
34
+ size: number;
35
+ }) => ReactNode;
36
+ /**
37
+ * Platform-specific operations (clipboard, share, close)
38
+ */
39
+ platformOperations: PlatformOperations;
40
+ /**
41
+ * Font family to use for text
42
+ */
43
+ fontFamily?: string;
44
+ /**
45
+ * Container style overrides
46
+ */
47
+ containerStyle?: Record<string, any>;
48
+ /**
49
+ * Widget configuration containing component settings
50
+ */
51
+ widgetConfiguration?: any;
52
+ /**
53
+ * Whether edit mode is enabled (for hover highlighting and drag-drop)
54
+ */
55
+ isEditMode?: boolean;
56
+ /**
57
+ * Callback when a component is selected in edit mode
58
+ */
59
+ onComponentSelect?: (componentInfo: ComponentInfo) => void;
60
+ /**
61
+ * Callback when a palette item is dropped onto a component
62
+ */
63
+ onDrop?: (componentInfo: ComponentInfo, droppedItem: any) => void;
64
+ /**
65
+ * Callbacks for setting/clearing drop targets (for Redux integration)
66
+ */
67
+ onSetDropTarget?: (target: {
68
+ elementId: string;
69
+ elementType: string;
70
+ position: string;
71
+ rowId?: string;
72
+ insertionIndex?: number;
73
+ }) => void;
74
+ onClearDropTarget?: () => void;
75
+ /**
76
+ * Function to fetch the shareable invitation link for QR code
77
+ */
78
+ getShareableInviteLink?: () => Promise<string | undefined>;
79
+ /**
80
+ * Whether a drag is currently active (to show drop zones)
81
+ */
82
+ isDragging?: boolean;
83
+ /**
84
+ * Callback when a component is deleted in edit mode
85
+ */
86
+ onComponentDelete?: (componentId: string, componentType: string) => void;
87
+ /**
88
+ * Track share link click events
89
+ */
90
+ onShareLinkClick?: (clickName: string) => void;
91
+ /**
92
+ * Track email field focus events
93
+ */
94
+ onEmailFieldFocus?: () => void;
95
+ /**
96
+ * Track email field blur events
97
+ */
98
+ onEmailFieldBlur?: () => void;
99
+ /**
100
+ * Track email validation events
101
+ */
102
+ onEmailValidation?: (email: string, isValid: boolean) => void;
103
+ /**
104
+ * Track email invitations submitted events
105
+ */
106
+ onEmailInvitationsSubmitted?: (formData: Record<string, any>) => void;
107
+ /**
108
+ * Track email validation error events
109
+ */
110
+ onEmailValidationError?: (formData: Record<string, any>) => void;
111
+ /**
112
+ * Track email submit error events
113
+ */
114
+ onEmailSubmitError?: (error: string) => void;
115
+ /**
116
+ * Configuration for the Find Friends feature.
117
+ * When provided, enables the Find Friends component to display
118
+ * contacts with Connect buttons.
119
+ */
120
+ findFriendsConfig?: FindFriendsConfig;
121
+ /**
122
+ * Function to create an invitation with internal ID target type.
123
+ * Called when user taps Connect and the onConnect callback returns true.
124
+ */
125
+ createUserIdInvitation?: (userId: string, name?: string, avatarUrl?: string, metadata?: Record<string, unknown>) => Promise<void>;
126
+ /**
127
+ * Configuration for the Incoming Invitations feature.
128
+ * When provided, enables the Incoming Invitations component to display
129
+ * invitations the user has received with Accept/Delete buttons.
130
+ */
131
+ incomingInvitationsConfig?: IncomingInvitationsConfig;
132
+ /**
133
+ * Configuration for the Outgoing Invitations feature.
134
+ * When provided, enables the Outgoing Invitations component to display
135
+ * invitations the user has sent with a Cancel button.
136
+ */
137
+ outgoingInvitationsConfig?: OutgoingInvitationsConfig;
138
+ /**
139
+ * Configuration for the Invitation Suggestions feature.
140
+ * When provided, enables the Invitation Suggestions component to display
141
+ * "People you may know" with Invite and Dismiss buttons.
142
+ */
143
+ invitationSuggestionsConfig?: InvitationSuggestionsConfig;
144
+ /**
145
+ * Configuration for the Invite Contacts feature.
146
+ * When provided, enables the Invite Contacts component to display
147
+ * a list of contacts that can be invited via SMS.
148
+ */
149
+ inviteContactsConfig?: InviteContactsConfig;
150
+ /**
151
+ * Configuration for the Search Box feature.
152
+ * When provided, enables the Search Box component with a search input,
153
+ * search button, and results list with Connect buttons.
154
+ */
155
+ searchBoxConfig?: SearchBoxConfig;
156
+ /**
157
+ * API URL for server operations (e.g., fetching outgoing invitations)
158
+ */
159
+ apiUrl: string;
160
+ /**
161
+ * JWT token for authentication
162
+ */
163
+ jwt: string;
164
+ }
165
+ export declare function InviteFormCore({ renderIcon, renderQRCode, platformOperations, fontFamily, containerStyle, widgetConfiguration, isEditMode, isDragging, onComponentSelect, onDrop, onSetDropTarget, onClearDropTarget, onComponentDelete, getShareableInviteLink, onShareLinkClick, onEmailFieldFocus, onEmailFieldBlur, onEmailValidation, onEmailInvitationsSubmitted, onEmailValidationError, onEmailSubmitError, findFriendsConfig, createUserIdInvitation, incomingInvitationsConfig, outgoingInvitationsConfig, invitationSuggestionsConfig, inviteContactsConfig, searchBoxConfig, apiUrl, jwt, }: InvitationFormCoreProps): React.JSX.Element;
166
+ //# sourceMappingURL=InviteFormCore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InviteFormCore.d.ts","sourceRoot":"","sources":["../../../src/components/InviteFormCore.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import { FindFriendsConfig } from '../types/findFriends';
3
+ import { IncomingInvitationsConfig, OutgoingInvitationsConfig, InvitationSuggestionsConfig } from '../types/invitations';
4
+ import { InviteContactsConfig } from '../types/inviteContacts';
5
+ import { UnfurlConfig } from '../types/unfurlConfig';
6
+ import { SearchBoxConfig } from '../types/searchBox';
7
+ import { UnsignedData } from '@teamvortexsoftware/vortex-types';
8
+ import { VortexAnalyticsEvent, GroupDTO } from '../utils/analytics';
9
+ interface InvitationFormProps {
10
+ platform?: 'ios' | 'android';
11
+ onClose?: () => void;
12
+ widgetConfiguration?: any;
13
+ componentId: string;
14
+ jwt?: string;
15
+ user?: string | UnsignedData | undefined;
16
+ vortexApiUrl?: string;
17
+ group?: {
18
+ name: string;
19
+ type: string;
20
+ id?: string;
21
+ groupId?: string;
22
+ };
23
+ groups?: GroupDTO[];
24
+ scope?: string;
25
+ scopeType?: string;
26
+ googleIosClientId?: string;
27
+ googleWebClientId?: string;
28
+ analyticsBaseURL?: string;
29
+ onEvent?: (event: VortexAnalyticsEvent) => void;
30
+ analyticsSegmentation?: Record<string, any>;
31
+ findFriendsConfig?: FindFriendsConfig;
32
+ incomingInvitationsConfig?: IncomingInvitationsConfig;
33
+ outgoingInvitationsConfig?: OutgoingInvitationsConfig;
34
+ invitationSuggestionsConfig?: InvitationSuggestionsConfig;
35
+ inviteContactsConfig?: InviteContactsConfig;
36
+ searchBoxConfig?: SearchBoxConfig;
37
+ locale?: string;
38
+ unfurlConfig?: UnfurlConfig;
39
+ }
40
+ export declare function InviteFormMobile({ platform, onClose, widgetConfiguration: propsWidgetConfiguration, componentId, jwt, user, vortexApiUrl, group, groups, scope, scopeType, googleIosClientId, googleWebClientId, analyticsBaseURL, onEvent, analyticsSegmentation, findFriendsConfig, incomingInvitationsConfig, outgoingInvitationsConfig, inviteContactsConfig, searchBoxConfig, locale, invitationSuggestionsConfig, unfurlConfig, }: InvitationFormProps): React.JSX.Element;
41
+ export {};
42
+ //# sourceMappingURL=InviteFormMobile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InviteFormMobile.d.ts","sourceRoot":"","sources":["../../../src/components/InviteFormMobile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAKlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACzH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEpE,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAE1B,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAChD,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE5C,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IAEtD,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAE1D,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAE5C,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAuBD,wBAAgB,gBAAgB,CAAC,EAC/B,QAAgB,EAChB,OAAO,EACP,mBAAmB,EAAE,wBAAwB,EAC7C,WAAW,EACX,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,MAAM,EACN,KAAK,EACL,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,EACP,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EACf,MAAM,EACN,2BAA2B,EAC3B,YAAY,GACb,EAAE,mBAAmB,qBA4crB"}
@@ -0,0 +1,87 @@
1
+ import React from 'react';
2
+ import { type IconRendererProps } from './InviteFormCore';
3
+ /**
4
+ * InviteFormWeb - Web-compatible version of InviteFormMobile
5
+ *
6
+ * This component is designed for web preview environments where native dependencies
7
+ * like react-native-vector-icons are not available. It accepts a custom icon renderer
8
+ * that should use FontAwesome5-compatible icon libraries to match the mobile experience.
9
+ *
10
+ * The mobile InviteFormMobile uses FontAwesome5 icons. To ensure consistency between
11
+ * preview and mobile, use FontAwesome5 equivalents in your web icon library.
12
+ *
13
+ * @example
14
+ * // Using with React Icons (FontAwesome5)
15
+ * import { FaTimes, FaArrowLeft, FaLink, FaShareAlt, FaAddressBook, FaEnvelope, FaGoogle } from 'react-icons/fa';
16
+ *
17
+ * const iconComponents = {
18
+ * 'close': FaTimes,
19
+ * 'arrow-back': FaArrowLeft,
20
+ * 'link': FaLink,
21
+ * 'share': FaShareAlt,
22
+ * 'import-contacts': FaAddressBook,
23
+ * 'email': FaEnvelope,
24
+ * 'google': FaGoogle,
25
+ * };
26
+ *
27
+ * const renderIcon = ({ name, size, color }) => {
28
+ * const IconComponent = iconComponents[name];
29
+ * if (!IconComponent) return null;
30
+ * return <IconComponent style={{ fontSize: size, color }} />;
31
+ * };
32
+ *
33
+ * <InviteFormWeb renderIcon={renderIcon} />
34
+ */
35
+ export interface ComponentInfo {
36
+ id: string;
37
+ type: string;
38
+ element: HTMLElement | null;
39
+ styles: React.CSSProperties;
40
+ content?: string;
41
+ }
42
+ export interface InvitationFormPreviewProps {
43
+ /**
44
+ * Function to render icons - allows web-compatible icon libraries to be used
45
+ * Must handle all icon names and should use FontAwesome5 equivalents for consistency:
46
+ * 'close' (times), 'arrow-back' (arrow-left), 'link', 'share' (share-alt),
47
+ * 'import-contacts' (address-book), 'email' (envelope), 'google'
48
+ */
49
+ renderIcon: (props: IconRendererProps) => React.ReactNode;
50
+ /**
51
+ * Optional font family override
52
+ */
53
+ fontFamily?: string;
54
+ /**
55
+ * Widget configuration containing component settings
56
+ */
57
+ widgetConfiguration?: any;
58
+ /**
59
+ * Whether edit mode is enabled (for hover highlighting)
60
+ */
61
+ isEditMode?: boolean;
62
+ /**
63
+ * Whether a drag is currently active (to show drop zones)
64
+ */
65
+ isDragging?: boolean;
66
+ /**
67
+ * Callback when a component is selected in edit mode
68
+ */
69
+ onComponentSelect?: (componentInfo: ComponentInfo) => void;
70
+ /**
71
+ * Callback when a palette item is dropped onto a component
72
+ */
73
+ onDrop?: (componentInfo: ComponentInfo, droppedItem: any) => void;
74
+ /**
75
+ * Callbacks for setting/clearing drop targets (for Redux integration)
76
+ */
77
+ onSetDropTarget?: (target: {
78
+ elementId: string;
79
+ elementType: string;
80
+ position: string;
81
+ rowId?: string;
82
+ insertionIndex?: number;
83
+ }) => void;
84
+ onClearDropTarget?: () => void;
85
+ }
86
+ export declare function InviteFormWeb({ renderIcon, fontFamily, widgetConfiguration, isEditMode, isDragging, onComponentSelect, onDrop, onSetDropTarget, onClearDropTarget, }: InvitationFormPreviewProps): React.JSX.Element;
87
+ //# sourceMappingURL=InviteFormWeb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InviteFormWeb.d.ts","sourceRoot":"","sources":["../../../src/components/InviteFormWeb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAW1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,KAAK,CAAC,SAAS,CAAC;IAE1D;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IAE3D;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,KAAK,IAAI,CAAC;IAElE;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1I,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,UAAkG,EAClG,mBAAmB,EACnB,UAAkB,EAClB,UAAkB,EAClB,iBAAiB,EACjB,MAAM,EACN,eAAe,EACf,iBAAiB,GAClB,EAAE,0BAA0B,qBAsS5B"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ interface PlacedItemToolbarProps {
3
+ wrapperRef: React.RefObject<HTMLDivElement | null>;
4
+ isSelected: boolean;
5
+ componentId: string;
6
+ componentType: string;
7
+ isRow: boolean;
8
+ nodeSubtype?: string;
9
+ }
10
+ /**
11
+ * PlacedItemToolbar - A portal-based toolbar that appears on the right side of selected elements
12
+ * Displays a delete button for removing the element from the page builder
13
+ */
14
+ export declare const usePlacedItemToolbar: ({ wrapperRef, isSelected, componentId, componentType, isRow, nodeSubtype, }: PlacedItemToolbarProps) => null;
15
+ export {};
16
+ //# sourceMappingURL=PlacedItemToolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlacedItemToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/PlacedItemToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,sBAAsB;IAC9B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACnD,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,6EAOlC,sBAAsB,SAmJxB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { IconRendererProps } from './InviteFormCore';
3
+ export interface VrtxContactsImportProps {
4
+ block: any;
5
+ renderIcon: (props: IconRendererProps) => React.ReactNode;
6
+ isNativeContactsEnabled: () => boolean;
7
+ isGoogleContactsEnabled: () => boolean;
8
+ handleSelectFromContacts: () => void;
9
+ handleSelectFromGoogle: () => void;
10
+ triggerHaptic?: (style: 'light' | 'medium' | 'heavy') => Promise<void>;
11
+ isEditMode?: boolean;
12
+ }
13
+ export declare function VrtxContactsImport({ block, renderIcon, isNativeContactsEnabled, isGoogleContactsEnabled, handleSelectFromContacts, handleSelectFromGoogle, triggerHaptic, isEditMode, }: VrtxContactsImportProps): React.JSX.Element;
14
+ //# sourceMappingURL=VrtxContactsImport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VrtxContactsImport.d.ts","sourceRoot":"","sources":["../../../src/components/VrtxContactsImport.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAmFrD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1D,uBAAuB,EAAE,MAAM,OAAO,CAAC;IACvC,uBAAuB,EAAE,MAAM,OAAO,CAAC;IACvC,wBAAwB,EAAE,MAAM,IAAI,CAAC;IACrC,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,UAAU,EACV,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,UAAkB,GACnB,EAAE,uBAAuB,qBA0KzB"}
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import type { ViewType } from '../hooks/useInvitationFormLogic';
3
+ export interface VrtxEmailInvitationsProps {
4
+ block: any;
5
+ view: ViewType;
6
+ emails: string[];
7
+ emailInput: string;
8
+ setEmailInput: (value: string) => void;
9
+ handleEmailSubmit: (overrideEmail?: string) => void;
10
+ handleRemoveEmail: (email: string) => void;
11
+ submitButtonBlock?: any;
12
+ handleSendInvitation?: () => Promise<void>;
13
+ triggerHaptic?: (style: 'light' | 'medium' | 'heavy') => Promise<void>;
14
+ loadingEmailInvite?: boolean;
15
+ sendSuccess?: boolean;
16
+ /** When set, the input briefly shows a red border to indicate invalid email */
17
+ lastInvalidEmail?: string | null;
18
+ EditableWrapper?: React.ComponentType<{
19
+ children: React.ReactNode;
20
+ componentId: string;
21
+ componentType: string;
22
+ node?: any;
23
+ }>;
24
+ onEmailFieldFocus?: () => void;
25
+ onEmailFieldBlur?: () => void;
26
+ handleAddByEmail?: () => void;
27
+ renderIcon?: (props: any) => React.ReactNode;
28
+ isEditMode?: boolean;
29
+ }
30
+ export declare function VrtxEmailInvitations({ block, view, emails, emailInput, setEmailInput, handleEmailSubmit, handleRemoveEmail, submitButtonBlock, handleSendInvitation, triggerHaptic, loadingEmailInvite, sendSuccess, lastInvalidEmail, EditableWrapper, onEmailFieldFocus, onEmailFieldBlur, handleAddByEmail, renderIcon, isEditMode, }: VrtxEmailInvitationsProps): React.JSX.Element | null;
31
+ //# sourceMappingURL=VrtxEmailInvitations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VrtxEmailInvitations.d.ts","sourceRoot":"","sources":["../../../src/components/VrtxEmailInvitations.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAoBhE,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,GAAG,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,iBAAiB,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,CAAC,CAAC;IAEH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE9B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,CAAC,SAAS,CAAC;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAwED,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,IAAI,EACJ,MAAM,EACN,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,kBAA0B,EAC1B,WAAmB,EACnB,gBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,UAAkB,GACnB,EAAE,yBAAyB,4BAmR3B"}
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { FindFriendsConfig } from '../types/findFriends';
3
+ import type { SimpleAnalyticsEvent } from '../utils/analytics';
4
+ export interface VrtxFindFriendsProps {
5
+ block: any;
6
+ /** Find Friends configuration with contacts and callbacks */
7
+ findFriendsConfig?: FindFriendsConfig;
8
+ /** Function to create an invitation with internal ID target type */
9
+ createUserIdInvitation?: (userId: string, name?: string, avatarUrl?: string, metadata?: Record<string, unknown>) => Promise<void>;
10
+ /** Trigger haptic feedback */
11
+ triggerHaptic?: (style: 'light' | 'medium' | 'heavy') => Promise<void>;
12
+ /** Callback to emit analytics events */
13
+ onAnalyticsEvent?: (event: SimpleAnalyticsEvent) => void;
14
+ /** Theme colors from widget configuration */
15
+ theme?: {
16
+ primaryBackground?: string;
17
+ primaryForeground?: string;
18
+ secondaryBackground?: string;
19
+ secondaryForeground?: string;
20
+ foreground?: string;
21
+ border?: string;
22
+ };
23
+ }
24
+ export declare function VrtxFindFriends({ block, findFriendsConfig, createUserIdInvitation, triggerHaptic, onAnalyticsEvent, theme, }: VrtxFindFriendsProps): React.JSX.Element;
25
+ //# sourceMappingURL=VrtxFindFriends.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VrtxFindFriends.d.ts","sourceRoot":"","sources":["../../../src/components/VrtxFindFriends.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAYrD,OAAO,EAAE,iBAAiB,EAAsB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAoG/D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,GAAG,CAAC;IACX,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,oEAAoE;IACpE,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClI,8BAA8B;IAC9B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACzD,6CAA6C;IAC7C,KAAK,CAAC,EAAE;QACN,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,KAAK,GACN,EAAE,oBAAoB,qBAwUtB"}