@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.
- package/LICENSE +201 -0
- package/README.md +1227 -11
- package/dist/InviteFormCore-D4HkMMo0.d.mts +721 -0
- package/dist/InviteFormCore-D9oUCbu7.d.ts +721 -0
- package/dist/VortexClient.js +192 -0
- package/dist/VortexClient.js.map +1 -0
- package/dist/VortexDeferredLinks.js +127 -0
- package/dist/VortexDeferredLinks.js.map +1 -0
- package/dist/clientInfo.js +45 -0
- package/dist/clientInfo.js.map +1 -0
- package/dist/components/ContactsPickerModal.js +182 -0
- package/dist/components/ContactsPickerModal.js.map +1 -0
- package/dist/components/InviteFormCore.js +2141 -0
- package/dist/components/InviteFormCore.js.map +1 -0
- package/dist/components/InviteFormMobile.js +463 -0
- package/dist/components/InviteFormMobile.js.map +1 -0
- package/dist/components/InviteFormWeb.js +295 -0
- package/dist/components/InviteFormWeb.js.map +1 -0
- package/dist/components/PlacedItemToolbar.js +147 -0
- package/dist/components/PlacedItemToolbar.js.map +1 -0
- package/dist/components/ShareButtons.js +1 -0
- package/dist/components/ShareButtons.js.map +1 -0
- package/dist/components/VrtxContactsImport.js +234 -0
- package/dist/components/VrtxContactsImport.js.map +1 -0
- package/dist/components/VrtxEmailInvitations.js +341 -0
- package/dist/components/VrtxEmailInvitations.js.map +1 -0
- package/dist/components/VrtxFindFriends.js +400 -0
- package/dist/components/VrtxFindFriends.js.map +1 -0
- package/dist/components/VrtxHeading.js +58 -0
- package/dist/components/VrtxHeading.js.map +1 -0
- package/dist/components/VrtxIncomingInvitations.js +657 -0
- package/dist/components/VrtxIncomingInvitations.js.map +1 -0
- package/dist/components/VrtxInvitationSuggestions.js +506 -0
- package/dist/components/VrtxInvitationSuggestions.js.map +1 -0
- package/dist/components/VrtxInviteContacts.js +512 -0
- package/dist/components/VrtxInviteContacts.js.map +1 -0
- package/dist/components/VrtxOutgoingInvitations.js +572 -0
- package/dist/components/VrtxOutgoingInvitations.js.map +1 -0
- package/dist/components/VrtxSearchBox.js +487 -0
- package/dist/components/VrtxSearchBox.js.map +1 -0
- package/dist/components/VrtxSelect.js +27 -0
- package/dist/components/VrtxSelect.js.map +1 -0
- package/dist/components/VrtxShareOptions.js +435 -0
- package/dist/components/VrtxShareOptions.js.map +1 -0
- package/dist/components/VrtxSubmit.js +132 -0
- package/dist/components/VrtxSubmit.js.map +1 -0
- package/dist/components/VrtxText.js +146 -0
- package/dist/components/VrtxText.js.map +1 -0
- package/dist/constants/mockData.d.mts +7 -0
- package/dist/constants/mockData.d.ts +7 -0
- package/dist/constants/mockData.js +48 -0
- package/dist/constants/mockData.js.map +1 -0
- package/dist/constants/mockData.mjs +22 -0
- package/dist/constants/mockData.mjs.map +1 -0
- package/dist/context/VortexModulesContext.js +135 -0
- package/dist/context/VortexModulesContext.js.map +1 -0
- package/dist/hooks/useInvitationFormLogic.d.mts +2 -0
- package/dist/hooks/useInvitationFormLogic.d.ts +2 -0
- package/dist/hooks/useInvitationFormLogic.js +300 -0
- package/dist/hooks/useInvitationFormLogic.js.map +1 -0
- package/dist/hooks/useInvitationFormLogic.mjs +276 -0
- package/dist/hooks/useInvitationFormLogic.mjs.map +1 -0
- package/dist/hooks/usePrefetchWidgetConfiguration.js +117 -0
- package/dist/hooks/usePrefetchWidgetConfiguration.js.map +1 -0
- package/dist/hooks/useThemeStyles.js +2 -0
- package/dist/hooks/useThemeStyles.js.map +1 -0
- package/dist/hooks/useVortexInvite.js +467 -56
- package/dist/hooks/useVortexInvite.js.map +1 -0
- package/dist/index-web.d.mts +93 -0
- package/dist/index-web.d.ts +93 -0
- package/dist/index-web.js +7397 -0
- package/dist/index-web.js.map +1 -0
- package/dist/index-web.mjs +7445 -0
- package/dist/index-web.mjs.map +1 -0
- package/dist/index.d.mts +656 -0
- package/dist/index.d.ts +656 -0
- package/dist/index.js +10205 -4
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +10244 -0
- package/dist/index.mjs.map +1 -0
- package/dist/types/VortexClient.d.ts +106 -0
- package/dist/types/VortexClient.d.ts.map +1 -0
- package/dist/types/VortexDeferredLinks.d.ts +73 -0
- package/dist/types/VortexDeferredLinks.d.ts.map +1 -0
- package/dist/types/clientInfo.d.ts +5 -0
- package/dist/types/clientInfo.d.ts.map +1 -0
- package/dist/types/components/ContactsPickerModal.d.ts +18 -0
- package/dist/types/components/ContactsPickerModal.d.ts.map +1 -0
- package/dist/types/components/InviteFormCore.d.ts +166 -0
- package/dist/types/components/InviteFormCore.d.ts.map +1 -0
- package/dist/types/components/InviteFormMobile.d.ts +42 -0
- package/dist/types/components/InviteFormMobile.d.ts.map +1 -0
- package/dist/types/components/InviteFormWeb.d.ts +87 -0
- package/dist/types/components/InviteFormWeb.d.ts.map +1 -0
- package/dist/types/components/PlacedItemToolbar.d.ts +16 -0
- package/dist/types/components/PlacedItemToolbar.d.ts.map +1 -0
- package/dist/types/components/VrtxContactsImport.d.ts +14 -0
- package/dist/types/components/VrtxContactsImport.d.ts.map +1 -0
- package/dist/types/components/VrtxEmailInvitations.d.ts +31 -0
- package/dist/types/components/VrtxEmailInvitations.d.ts.map +1 -0
- package/dist/types/components/VrtxFindFriends.d.ts +25 -0
- package/dist/types/components/VrtxFindFriends.d.ts.map +1 -0
- package/dist/types/components/VrtxHeading.d.ts +6 -0
- package/dist/types/components/VrtxHeading.d.ts.map +1 -0
- package/dist/types/components/VrtxIncomingInvitations.d.ts +27 -0
- package/dist/types/components/VrtxIncomingInvitations.d.ts.map +1 -0
- package/dist/types/components/VrtxInvitationSuggestions.d.ts +25 -0
- package/dist/types/components/VrtxInvitationSuggestions.d.ts.map +1 -0
- package/dist/types/components/VrtxInviteContacts.d.ts +24 -0
- package/dist/types/components/VrtxInviteContacts.d.ts.map +1 -0
- package/dist/types/components/VrtxOutgoingInvitations.d.ts +27 -0
- package/dist/types/components/VrtxOutgoingInvitations.d.ts.map +1 -0
- package/dist/types/components/VrtxSearchBox.d.ts +28 -0
- package/dist/types/components/VrtxSearchBox.d.ts.map +1 -0
- package/dist/types/components/VrtxSelect.d.ts +6 -0
- package/dist/types/components/VrtxSelect.d.ts.map +1 -0
- package/dist/types/components/VrtxShareOptions.d.ts +41 -0
- package/dist/types/components/VrtxShareOptions.d.ts.map +1 -0
- package/dist/types/components/VrtxSubmit.d.ts +18 -0
- package/dist/types/components/VrtxSubmit.d.ts.map +1 -0
- package/dist/types/components/VrtxText.d.ts +8 -0
- package/dist/types/components/VrtxText.d.ts.map +1 -0
- package/dist/types/constants/mockData.d.ts +4 -0
- package/dist/types/constants/mockData.d.ts.map +1 -0
- package/dist/types/context/VortexModulesContext.d.ts +238 -0
- package/dist/types/context/VortexModulesContext.d.ts.map +1 -0
- package/dist/types/findFriends.js +10 -0
- package/dist/types/findFriends.js.map +1 -0
- package/dist/types/hooks/useInvitationFormLogic.d.ts +55 -0
- package/dist/types/hooks/useInvitationFormLogic.d.ts.map +1 -0
- package/dist/types/hooks/usePrefetchWidgetConfiguration.d.ts +39 -0
- package/dist/types/hooks/usePrefetchWidgetConfiguration.d.ts.map +1 -0
- package/dist/types/hooks/useThemeStyles.d.ts +1 -0
- package/dist/types/hooks/useThemeStyles.d.ts.map +1 -1
- package/dist/types/hooks/useVortexInvite.d.ts +48 -6
- package/dist/types/hooks/useVortexInvite.d.ts.map +1 -1
- package/dist/types/index-web.d.ts +23 -0
- package/dist/types/index-web.d.ts.map +1 -0
- package/dist/types/index.d.ts +21 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/invitations.js +13 -0
- package/dist/types/invitations.js.map +1 -0
- package/dist/types/inviteContacts.js +14 -0
- package/dist/types/inviteContacts.js.map +1 -0
- package/dist/{shared/InvitationResult.js → types/platformOperations.js} +1 -0
- package/dist/types/platformOperations.js.map +1 -0
- package/dist/types/searchBox.js +11 -0
- package/dist/types/searchBox.js.map +1 -0
- package/dist/types/types/findFriends.d.ts +101 -0
- package/dist/types/types/findFriends.d.ts.map +1 -0
- package/dist/types/types/invitations.d.ts +301 -0
- package/dist/types/types/invitations.d.ts.map +1 -0
- package/dist/types/types/inviteContacts.d.ts +86 -0
- package/dist/types/types/inviteContacts.d.ts.map +1 -0
- package/dist/types/types/platformOperations.d.ts +185 -0
- package/dist/types/types/platformOperations.d.ts.map +1 -0
- package/dist/types/types/searchBox.d.ts +69 -0
- package/dist/types/types/searchBox.d.ts.map +1 -0
- package/dist/types/types/unfurlConfig.d.ts +34 -0
- package/dist/types/types/unfurlConfig.d.ts.map +1 -0
- package/dist/types/unfurlConfig.js +21 -0
- package/dist/types/unfurlConfig.js.map +1 -0
- package/dist/types/utils/analytics.d.ts +54 -0
- package/dist/types/utils/analytics.d.ts.map +1 -0
- package/dist/types/utils/configCache.d.ts +34 -0
- package/dist/types/utils/configCache.d.ts.map +1 -0
- package/dist/types/utils/contactUtils.d.ts +9 -0
- package/dist/types/utils/contactUtils.d.ts.map +1 -0
- package/dist/types/utils/featureWarnings.d.ts +56 -0
- package/dist/types/utils/featureWarnings.d.ts.map +1 -0
- package/dist/types/utils/formUtils.d.ts +11 -3
- package/dist/types/utils/formUtils.d.ts.map +1 -1
- package/dist/types/utils/gradientUtils.d.ts +67 -0
- package/dist/types/utils/gradientUtils.d.ts.map +1 -0
- package/dist/types/utils/invitationEvents.d.ts +21 -0
- package/dist/types/utils/invitationEvents.d.ts.map +1 -0
- package/dist/types/utils/moduleLoaders.d.ts +115 -0
- package/dist/types/utils/moduleLoaders.d.ts.map +1 -0
- package/dist/types/utils/moduleLoaders.web.d.ts +73 -0
- package/dist/types/utils/moduleLoaders.web.d.ts.map +1 -0
- package/dist/types/utils/nameUtils.d.ts +15 -0
- package/dist/types/utils/nameUtils.d.ts.map +1 -0
- package/dist/types/utils/themeUtils.d.ts +3 -1
- package/dist/types/utils/themeUtils.d.ts.map +1 -1
- package/dist/types/vortexInvite.d.ts +145 -5
- package/dist/types/vortexInvite.d.ts.map +1 -1
- package/dist/useInvitationFormLogic-Ct73M19B.d.mts +242 -0
- package/dist/useInvitationFormLogic-Ct73M19B.d.ts +242 -0
- package/dist/utils/analytics.js +92 -0
- package/dist/utils/analytics.js.map +1 -0
- package/dist/utils/configCache.js +68 -0
- package/dist/utils/configCache.js.map +1 -0
- package/dist/utils/contactUtils.d.mts +12 -0
- package/dist/utils/contactUtils.d.ts +12 -0
- package/dist/utils/contactUtils.js +37 -0
- package/dist/utils/contactUtils.js.map +1 -0
- package/dist/utils/contactUtils.mjs +12 -0
- package/dist/utils/contactUtils.mjs.map +1 -0
- package/dist/utils/featureWarnings.js +214 -0
- package/dist/utils/featureWarnings.js.map +1 -0
- package/dist/utils/formUtils.js +161 -51
- package/dist/utils/formUtils.js.map +1 -0
- package/dist/utils/gradientUtils.js +120 -0
- package/dist/utils/gradientUtils.js.map +1 -0
- package/dist/utils/invitationEvents.js +45 -0
- package/dist/utils/invitationEvents.js.map +1 -0
- package/dist/utils/moduleLoaders.js +275 -0
- package/dist/utils/moduleLoaders.js.map +1 -0
- package/dist/utils/moduleLoaders.web.js +72 -0
- package/dist/utils/moduleLoaders.web.js.map +1 -0
- package/dist/utils/nameUtils.js +51 -0
- package/dist/utils/nameUtils.js.map +1 -0
- package/dist/utils/themeUtils.js +117 -32
- package/dist/utils/themeUtils.js.map +1 -0
- package/dist/vortexInvite.js +78 -167
- package/dist/vortexInvite.js.map +1 -0
- package/package.json +69 -31
- package/dist/components/Clipboard.js +0 -64
- package/dist/shared/api.js +0 -90
- package/dist/tests/TestVortexInvite.js +0 -134
- package/dist/types/components/Clipboard.d.ts +0 -16
- package/dist/types/components/Clipboard.d.ts.map +0 -1
- package/dist/types/shared/InvitationResult.d.ts +0 -24
- package/dist/types/shared/InvitationResult.d.ts.map +0 -1
- package/dist/types/shared/api.d.ts +0 -14
- package/dist/types/shared/api.d.ts.map +0 -1
- package/dist/types/tests/TestVortexInvite.d.ts +0 -4
- 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 @@
|
|
|
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"}
|