@feelflow/ffid-sdk 1.14.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-TMUFELR5.cjs → chunk-THHBQAFX.cjs} +126 -11
- package/dist/{chunk-WJI7D5C7.js → chunk-ZJIZTYXQ.js} +126 -11
- package/dist/components/index.cjs +7 -7
- package/dist/components/index.d.cts +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.js +1 -1
- package/dist/{index-DU-lFo9B.d.cts → index-BHh-uxYS.d.cts} +60 -2
- package/dist/{index-DU-lFo9B.d.ts → index-BHh-uxYS.d.ts} +60 -2
- package/dist/index.cjs +22 -22
- package/dist/index.d.cts +28 -4
- package/dist/index.d.ts +28 -4
- package/dist/index.js +2 -2
- package/dist/server/index.cjs +89 -5
- package/dist/server/index.d.cts +66 -0
- package/dist/server/index.d.ts +66 -0
- package/dist/server/index.js +89 -5
- package/package.json +1 -1
|
@@ -107,6 +107,8 @@ interface FFIDSubscription {
|
|
|
107
107
|
status: 'trialing' | 'active' | 'past_due' | 'canceled' | 'paused';
|
|
108
108
|
/** Current billing period end date */
|
|
109
109
|
currentPeriodEnd: string | null;
|
|
110
|
+
/** Trial end date (null if not a trial or no trial_end set) */
|
|
111
|
+
trialEnd: string | null;
|
|
110
112
|
/** Service seat model (available when sourced from OAuth userinfo) */
|
|
111
113
|
seatModel?: FFIDSeatModel | undefined;
|
|
112
114
|
/** Member role in the resolved organization context */
|
|
@@ -122,6 +124,7 @@ interface FFIDOAuthUserInfoSubscription {
|
|
|
122
124
|
seatModel: FFIDSeatModel | null;
|
|
123
125
|
memberRole: FFIDOAuthUserInfoMemberRole | null;
|
|
124
126
|
organizationId: string | null;
|
|
127
|
+
hasSeatAssignment: boolean | null;
|
|
125
128
|
}
|
|
126
129
|
/** OAuth userinfo response exposed by FFID */
|
|
127
130
|
interface FFIDOAuthUserInfo {
|
|
@@ -129,6 +132,10 @@ interface FFIDOAuthUserInfo {
|
|
|
129
132
|
email: string | null;
|
|
130
133
|
name: string | null;
|
|
131
134
|
picture: string | null;
|
|
135
|
+
companyName?: string | null | undefined;
|
|
136
|
+
department?: string | null | undefined;
|
|
137
|
+
position?: string | null | undefined;
|
|
138
|
+
phoneNumber?: string | null | undefined;
|
|
132
139
|
organizationId?: string | null | undefined;
|
|
133
140
|
subscription?: FFIDOAuthUserInfoSubscription | undefined;
|
|
134
141
|
}
|
|
@@ -250,7 +257,13 @@ interface FFIDContextValue {
|
|
|
250
257
|
login: () => void;
|
|
251
258
|
/** Sign out and clear session */
|
|
252
259
|
logout: () => Promise<void>;
|
|
253
|
-
/**
|
|
260
|
+
/**
|
|
261
|
+
* Switch to a different organization.
|
|
262
|
+
*
|
|
263
|
+
* Cookie mode: updates local state synchronously.
|
|
264
|
+
* Token mode: triggers a full-page redirect for OAuth re-authorization.
|
|
265
|
+
* Errors surface via the `error` state and `onError` callback.
|
|
266
|
+
*/
|
|
254
267
|
switchOrganization: (organizationId: string) => void;
|
|
255
268
|
/** Refresh session data */
|
|
256
269
|
refresh: () => Promise<void>;
|
|
@@ -267,6 +280,8 @@ interface FFIDSubscriptionContextValue {
|
|
|
267
280
|
isActive: boolean;
|
|
268
281
|
/** Whether in trial period */
|
|
269
282
|
isTrialing: boolean;
|
|
283
|
+
/** Whether trial has expired (status is 'trialing' but period end is in the past) */
|
|
284
|
+
isTrialExpired: boolean;
|
|
270
285
|
/** Whether subscription is canceled */
|
|
271
286
|
isCanceled: boolean;
|
|
272
287
|
/** Check if user has specific plan */
|
|
@@ -375,6 +390,44 @@ interface FFIDCreatePortalParams {
|
|
|
375
390
|
/** URL to redirect when user exits the portal */
|
|
376
391
|
returnUrl: string;
|
|
377
392
|
}
|
|
393
|
+
/** Member role in an organization */
|
|
394
|
+
type FFIDMemberRole = 'owner' | 'admin' | 'member' | 'viewer';
|
|
395
|
+
/** Member status in an organization */
|
|
396
|
+
type FFIDMemberStatus = 'active' | 'invited' | 'suspended';
|
|
397
|
+
/** Organization member returned by the ext members API */
|
|
398
|
+
interface FFIDOrganizationMember {
|
|
399
|
+
/** User ID (UUID) */
|
|
400
|
+
userId: string;
|
|
401
|
+
/** Email address */
|
|
402
|
+
email: string;
|
|
403
|
+
/** Display name */
|
|
404
|
+
displayName: string | null;
|
|
405
|
+
/** Avatar URL */
|
|
406
|
+
avatarUrl: string | null;
|
|
407
|
+
/** Role in the organization */
|
|
408
|
+
role: FFIDMemberRole;
|
|
409
|
+
/** Membership status */
|
|
410
|
+
status: FFIDMemberStatus;
|
|
411
|
+
/** When the user joined */
|
|
412
|
+
joinedAt: string | null;
|
|
413
|
+
/** When the user was invited */
|
|
414
|
+
invitedAt: string | null;
|
|
415
|
+
/** Last sign-in timestamp */
|
|
416
|
+
lastSignInAt: string | null;
|
|
417
|
+
}
|
|
418
|
+
/** Response from listMembers (ext) */
|
|
419
|
+
interface FFIDListMembersResponse {
|
|
420
|
+
organizationId: string;
|
|
421
|
+
members: FFIDOrganizationMember[];
|
|
422
|
+
}
|
|
423
|
+
/** Response from updateMemberRole (ext) */
|
|
424
|
+
interface FFIDUpdateMemberRoleResponse {
|
|
425
|
+
member: FFIDOrganizationMember;
|
|
426
|
+
}
|
|
427
|
+
/** Response from removeMember (ext) */
|
|
428
|
+
interface FFIDRemoveMemberResponse {
|
|
429
|
+
message: string;
|
|
430
|
+
}
|
|
378
431
|
/**
|
|
379
432
|
* Result of a redirect operation (redirectToLogin / redirectToAuthorize / redirectToLogout)
|
|
380
433
|
*
|
|
@@ -410,6 +463,10 @@ interface FFIDTokenIntrospectionResponse {
|
|
|
410
463
|
email?: string;
|
|
411
464
|
name?: string;
|
|
412
465
|
picture?: string | null;
|
|
466
|
+
company_name?: string | null;
|
|
467
|
+
department?: string | null;
|
|
468
|
+
position?: string | null;
|
|
469
|
+
phone_number?: string | null;
|
|
413
470
|
scope?: string | null;
|
|
414
471
|
exp?: number;
|
|
415
472
|
iat?: number;
|
|
@@ -424,6 +481,7 @@ interface FFIDTokenIntrospectionResponse {
|
|
|
424
481
|
seat_model: FFIDOAuthUserInfoSubscription['seatModel'];
|
|
425
482
|
member_role: FFIDOAuthUserInfoSubscription['memberRole'];
|
|
426
483
|
organization_id: string | null;
|
|
484
|
+
has_seat_assignment?: boolean;
|
|
427
485
|
};
|
|
428
486
|
}
|
|
429
487
|
|
|
@@ -788,4 +846,4 @@ interface FFIDAnnouncementListProps {
|
|
|
788
846
|
*/
|
|
789
847
|
declare function FFIDAnnouncementList({ announcements, isLoading, className, classNames, style, formatDate, emptyMessage, loadingRender, renderItem, maxContentLines, }: FFIDAnnouncementListProps): react_jsx_runtime.JSX.Element;
|
|
790
848
|
|
|
791
|
-
export {
|
|
849
|
+
export { useFFIDAnnouncements as $, type AnnouncementListResponse as A, type AnnouncementStatus as B, type AnnouncementType as C, FFIDAnnouncementBadge as D, FFIDAnnouncementList as E, type FFIDConfig as F, type FFIDAnnouncementsError as G, type FFIDAnnouncementsErrorCode as H, type FFIDAnnouncementsServerResponse as I, type FFIDCacheConfig as J, type FFIDContextValue as K, type ListAnnouncementsOptions as L, type FFIDJwtClaims as M, FFIDLoginButton as N, type FFIDMemberStatus as O, type FFIDOAuthTokenResponse as P, type FFIDOAuthUserInfoMemberRole as Q, type FFIDOAuthUserInfoSubscription as R, type FFIDOrganizationMember as S, FFIDOrganizationSwitcher as T, type FFIDSeatModel as U, FFIDSubscriptionBadge as V, type FFIDSubscriptionStatus as W, type FFIDTokenIntrospectionResponse as X, FFIDUserMenu as Y, type UseFFIDAnnouncementsOptions as Z, type UseFFIDAnnouncementsReturn as _, type FFIDApiResponse as a, type FFIDAnnouncementBadgeClassNames as a0, type FFIDAnnouncementBadgeProps as a1, type FFIDAnnouncementListClassNames as a2, type FFIDAnnouncementListProps as a3, type FFIDLoginButtonProps as a4, type FFIDOrganizationSwitcherClassNames as a5, type FFIDOrganizationSwitcherProps as a6, type FFIDSubscriptionBadgeClassNames as a7, type FFIDSubscriptionBadgeProps as a8, type FFIDUserMenuClassNames as a9, type FFIDUserMenuProps as aa, type FFIDSessionResponse as b, type FFIDRedirectResult as c, type FFIDError as d, type FFIDSubscriptionCheckResponse as e, type FFIDListMembersResponse as f, type FFIDMemberRole as g, type FFIDUpdateMemberRoleResponse as h, type FFIDRemoveMemberResponse as i, type FFIDCreateCheckoutParams as j, type FFIDCheckoutSessionResponse as k, type FFIDCreatePortalParams as l, type FFIDPortalSessionResponse as m, type FFIDVerifyAccessTokenOptions as n, type FFIDOAuthUserInfo as o, type FFIDAuthMode as p, type FFIDLogger as q, type FFIDCacheAdapter as r, type FFIDUser as s, type FFIDOrganization as t, type FFIDSubscription as u, type FFIDSubscriptionContextValue as v, type FFIDAnnouncementsClientConfig as w, type FFIDAnnouncementsApiResponse as x, type FFIDAnnouncementsLogger as y, type Announcement as z };
|
|
@@ -107,6 +107,8 @@ interface FFIDSubscription {
|
|
|
107
107
|
status: 'trialing' | 'active' | 'past_due' | 'canceled' | 'paused';
|
|
108
108
|
/** Current billing period end date */
|
|
109
109
|
currentPeriodEnd: string | null;
|
|
110
|
+
/** Trial end date (null if not a trial or no trial_end set) */
|
|
111
|
+
trialEnd: string | null;
|
|
110
112
|
/** Service seat model (available when sourced from OAuth userinfo) */
|
|
111
113
|
seatModel?: FFIDSeatModel | undefined;
|
|
112
114
|
/** Member role in the resolved organization context */
|
|
@@ -122,6 +124,7 @@ interface FFIDOAuthUserInfoSubscription {
|
|
|
122
124
|
seatModel: FFIDSeatModel | null;
|
|
123
125
|
memberRole: FFIDOAuthUserInfoMemberRole | null;
|
|
124
126
|
organizationId: string | null;
|
|
127
|
+
hasSeatAssignment: boolean | null;
|
|
125
128
|
}
|
|
126
129
|
/** OAuth userinfo response exposed by FFID */
|
|
127
130
|
interface FFIDOAuthUserInfo {
|
|
@@ -129,6 +132,10 @@ interface FFIDOAuthUserInfo {
|
|
|
129
132
|
email: string | null;
|
|
130
133
|
name: string | null;
|
|
131
134
|
picture: string | null;
|
|
135
|
+
companyName?: string | null | undefined;
|
|
136
|
+
department?: string | null | undefined;
|
|
137
|
+
position?: string | null | undefined;
|
|
138
|
+
phoneNumber?: string | null | undefined;
|
|
132
139
|
organizationId?: string | null | undefined;
|
|
133
140
|
subscription?: FFIDOAuthUserInfoSubscription | undefined;
|
|
134
141
|
}
|
|
@@ -250,7 +257,13 @@ interface FFIDContextValue {
|
|
|
250
257
|
login: () => void;
|
|
251
258
|
/** Sign out and clear session */
|
|
252
259
|
logout: () => Promise<void>;
|
|
253
|
-
/**
|
|
260
|
+
/**
|
|
261
|
+
* Switch to a different organization.
|
|
262
|
+
*
|
|
263
|
+
* Cookie mode: updates local state synchronously.
|
|
264
|
+
* Token mode: triggers a full-page redirect for OAuth re-authorization.
|
|
265
|
+
* Errors surface via the `error` state and `onError` callback.
|
|
266
|
+
*/
|
|
254
267
|
switchOrganization: (organizationId: string) => void;
|
|
255
268
|
/** Refresh session data */
|
|
256
269
|
refresh: () => Promise<void>;
|
|
@@ -267,6 +280,8 @@ interface FFIDSubscriptionContextValue {
|
|
|
267
280
|
isActive: boolean;
|
|
268
281
|
/** Whether in trial period */
|
|
269
282
|
isTrialing: boolean;
|
|
283
|
+
/** Whether trial has expired (status is 'trialing' but period end is in the past) */
|
|
284
|
+
isTrialExpired: boolean;
|
|
270
285
|
/** Whether subscription is canceled */
|
|
271
286
|
isCanceled: boolean;
|
|
272
287
|
/** Check if user has specific plan */
|
|
@@ -375,6 +390,44 @@ interface FFIDCreatePortalParams {
|
|
|
375
390
|
/** URL to redirect when user exits the portal */
|
|
376
391
|
returnUrl: string;
|
|
377
392
|
}
|
|
393
|
+
/** Member role in an organization */
|
|
394
|
+
type FFIDMemberRole = 'owner' | 'admin' | 'member' | 'viewer';
|
|
395
|
+
/** Member status in an organization */
|
|
396
|
+
type FFIDMemberStatus = 'active' | 'invited' | 'suspended';
|
|
397
|
+
/** Organization member returned by the ext members API */
|
|
398
|
+
interface FFIDOrganizationMember {
|
|
399
|
+
/** User ID (UUID) */
|
|
400
|
+
userId: string;
|
|
401
|
+
/** Email address */
|
|
402
|
+
email: string;
|
|
403
|
+
/** Display name */
|
|
404
|
+
displayName: string | null;
|
|
405
|
+
/** Avatar URL */
|
|
406
|
+
avatarUrl: string | null;
|
|
407
|
+
/** Role in the organization */
|
|
408
|
+
role: FFIDMemberRole;
|
|
409
|
+
/** Membership status */
|
|
410
|
+
status: FFIDMemberStatus;
|
|
411
|
+
/** When the user joined */
|
|
412
|
+
joinedAt: string | null;
|
|
413
|
+
/** When the user was invited */
|
|
414
|
+
invitedAt: string | null;
|
|
415
|
+
/** Last sign-in timestamp */
|
|
416
|
+
lastSignInAt: string | null;
|
|
417
|
+
}
|
|
418
|
+
/** Response from listMembers (ext) */
|
|
419
|
+
interface FFIDListMembersResponse {
|
|
420
|
+
organizationId: string;
|
|
421
|
+
members: FFIDOrganizationMember[];
|
|
422
|
+
}
|
|
423
|
+
/** Response from updateMemberRole (ext) */
|
|
424
|
+
interface FFIDUpdateMemberRoleResponse {
|
|
425
|
+
member: FFIDOrganizationMember;
|
|
426
|
+
}
|
|
427
|
+
/** Response from removeMember (ext) */
|
|
428
|
+
interface FFIDRemoveMemberResponse {
|
|
429
|
+
message: string;
|
|
430
|
+
}
|
|
378
431
|
/**
|
|
379
432
|
* Result of a redirect operation (redirectToLogin / redirectToAuthorize / redirectToLogout)
|
|
380
433
|
*
|
|
@@ -410,6 +463,10 @@ interface FFIDTokenIntrospectionResponse {
|
|
|
410
463
|
email?: string;
|
|
411
464
|
name?: string;
|
|
412
465
|
picture?: string | null;
|
|
466
|
+
company_name?: string | null;
|
|
467
|
+
department?: string | null;
|
|
468
|
+
position?: string | null;
|
|
469
|
+
phone_number?: string | null;
|
|
413
470
|
scope?: string | null;
|
|
414
471
|
exp?: number;
|
|
415
472
|
iat?: number;
|
|
@@ -424,6 +481,7 @@ interface FFIDTokenIntrospectionResponse {
|
|
|
424
481
|
seat_model: FFIDOAuthUserInfoSubscription['seatModel'];
|
|
425
482
|
member_role: FFIDOAuthUserInfoSubscription['memberRole'];
|
|
426
483
|
organization_id: string | null;
|
|
484
|
+
has_seat_assignment?: boolean;
|
|
427
485
|
};
|
|
428
486
|
}
|
|
429
487
|
|
|
@@ -788,4 +846,4 @@ interface FFIDAnnouncementListProps {
|
|
|
788
846
|
*/
|
|
789
847
|
declare function FFIDAnnouncementList({ announcements, isLoading, className, classNames, style, formatDate, emptyMessage, loadingRender, renderItem, maxContentLines, }: FFIDAnnouncementListProps): react_jsx_runtime.JSX.Element;
|
|
790
848
|
|
|
791
|
-
export {
|
|
849
|
+
export { useFFIDAnnouncements as $, type AnnouncementListResponse as A, type AnnouncementStatus as B, type AnnouncementType as C, FFIDAnnouncementBadge as D, FFIDAnnouncementList as E, type FFIDConfig as F, type FFIDAnnouncementsError as G, type FFIDAnnouncementsErrorCode as H, type FFIDAnnouncementsServerResponse as I, type FFIDCacheConfig as J, type FFIDContextValue as K, type ListAnnouncementsOptions as L, type FFIDJwtClaims as M, FFIDLoginButton as N, type FFIDMemberStatus as O, type FFIDOAuthTokenResponse as P, type FFIDOAuthUserInfoMemberRole as Q, type FFIDOAuthUserInfoSubscription as R, type FFIDOrganizationMember as S, FFIDOrganizationSwitcher as T, type FFIDSeatModel as U, FFIDSubscriptionBadge as V, type FFIDSubscriptionStatus as W, type FFIDTokenIntrospectionResponse as X, FFIDUserMenu as Y, type UseFFIDAnnouncementsOptions as Z, type UseFFIDAnnouncementsReturn as _, type FFIDApiResponse as a, type FFIDAnnouncementBadgeClassNames as a0, type FFIDAnnouncementBadgeProps as a1, type FFIDAnnouncementListClassNames as a2, type FFIDAnnouncementListProps as a3, type FFIDLoginButtonProps as a4, type FFIDOrganizationSwitcherClassNames as a5, type FFIDOrganizationSwitcherProps as a6, type FFIDSubscriptionBadgeClassNames as a7, type FFIDSubscriptionBadgeProps as a8, type FFIDUserMenuClassNames as a9, type FFIDUserMenuProps as aa, type FFIDSessionResponse as b, type FFIDRedirectResult as c, type FFIDError as d, type FFIDSubscriptionCheckResponse as e, type FFIDListMembersResponse as f, type FFIDMemberRole as g, type FFIDUpdateMemberRoleResponse as h, type FFIDRemoveMemberResponse as i, type FFIDCreateCheckoutParams as j, type FFIDCheckoutSessionResponse as k, type FFIDCreatePortalParams as l, type FFIDPortalSessionResponse as m, type FFIDVerifyAccessTokenOptions as n, type FFIDOAuthUserInfo as o, type FFIDAuthMode as p, type FFIDLogger as q, type FFIDCacheAdapter as r, type FFIDUser as s, type FFIDOrganization as t, type FFIDSubscription as u, type FFIDSubscriptionContextValue as v, type FFIDAnnouncementsClientConfig as w, type FFIDAnnouncementsApiResponse as x, type FFIDAnnouncementsLogger as y, type Announcement as z };
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkTHHBQAFX_cjs = require('./chunk-THHBQAFX.cjs');
|
|
4
4
|
var react = require('react');
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
|
|
@@ -46,7 +46,7 @@ function createKVCacheAdapter(kv) {
|
|
|
46
46
|
}
|
|
47
47
|
function withFFIDAuth(Component, options = {}) {
|
|
48
48
|
const WrappedComponent = (props) => {
|
|
49
|
-
const { isLoading, isAuthenticated, login } =
|
|
49
|
+
const { isLoading, isAuthenticated, login } = chunkTHHBQAFX_cjs.useFFIDContext();
|
|
50
50
|
const hasRedirected = react.useRef(false);
|
|
51
51
|
react.useEffect(() => {
|
|
52
52
|
if (!isLoading && !isAuthenticated && options.redirectToLogin && !hasRedirected.current) {
|
|
@@ -71,83 +71,83 @@ function withFFIDAuth(Component, options = {}) {
|
|
|
71
71
|
|
|
72
72
|
Object.defineProperty(exports, "DEFAULT_API_BASE_URL", {
|
|
73
73
|
enumerable: true,
|
|
74
|
-
get: function () { return
|
|
74
|
+
get: function () { return chunkTHHBQAFX_cjs.DEFAULT_API_BASE_URL; }
|
|
75
75
|
});
|
|
76
76
|
Object.defineProperty(exports, "FFIDAnnouncementBadge", {
|
|
77
77
|
enumerable: true,
|
|
78
|
-
get: function () { return
|
|
78
|
+
get: function () { return chunkTHHBQAFX_cjs.FFIDAnnouncementBadge; }
|
|
79
79
|
});
|
|
80
80
|
Object.defineProperty(exports, "FFIDAnnouncementList", {
|
|
81
81
|
enumerable: true,
|
|
82
|
-
get: function () { return
|
|
82
|
+
get: function () { return chunkTHHBQAFX_cjs.FFIDAnnouncementList; }
|
|
83
83
|
});
|
|
84
84
|
Object.defineProperty(exports, "FFIDLoginButton", {
|
|
85
85
|
enumerable: true,
|
|
86
|
-
get: function () { return
|
|
86
|
+
get: function () { return chunkTHHBQAFX_cjs.FFIDLoginButton; }
|
|
87
87
|
});
|
|
88
88
|
Object.defineProperty(exports, "FFIDOrganizationSwitcher", {
|
|
89
89
|
enumerable: true,
|
|
90
|
-
get: function () { return
|
|
90
|
+
get: function () { return chunkTHHBQAFX_cjs.FFIDOrganizationSwitcher; }
|
|
91
91
|
});
|
|
92
92
|
Object.defineProperty(exports, "FFIDProvider", {
|
|
93
93
|
enumerable: true,
|
|
94
|
-
get: function () { return
|
|
94
|
+
get: function () { return chunkTHHBQAFX_cjs.FFIDProvider; }
|
|
95
95
|
});
|
|
96
96
|
Object.defineProperty(exports, "FFIDSubscriptionBadge", {
|
|
97
97
|
enumerable: true,
|
|
98
|
-
get: function () { return
|
|
98
|
+
get: function () { return chunkTHHBQAFX_cjs.FFIDSubscriptionBadge; }
|
|
99
99
|
});
|
|
100
100
|
Object.defineProperty(exports, "FFIDUserMenu", {
|
|
101
101
|
enumerable: true,
|
|
102
|
-
get: function () { return
|
|
102
|
+
get: function () { return chunkTHHBQAFX_cjs.FFIDUserMenu; }
|
|
103
103
|
});
|
|
104
104
|
Object.defineProperty(exports, "FFID_ANNOUNCEMENTS_ERROR_CODES", {
|
|
105
105
|
enumerable: true,
|
|
106
|
-
get: function () { return
|
|
106
|
+
get: function () { return chunkTHHBQAFX_cjs.FFID_ANNOUNCEMENTS_ERROR_CODES; }
|
|
107
107
|
});
|
|
108
108
|
Object.defineProperty(exports, "createFFIDAnnouncementsClient", {
|
|
109
109
|
enumerable: true,
|
|
110
|
-
get: function () { return
|
|
110
|
+
get: function () { return chunkTHHBQAFX_cjs.createFFIDAnnouncementsClient; }
|
|
111
111
|
});
|
|
112
112
|
Object.defineProperty(exports, "createFFIDClient", {
|
|
113
113
|
enumerable: true,
|
|
114
|
-
get: function () { return
|
|
114
|
+
get: function () { return chunkTHHBQAFX_cjs.createFFIDClient; }
|
|
115
115
|
});
|
|
116
116
|
Object.defineProperty(exports, "createTokenStore", {
|
|
117
117
|
enumerable: true,
|
|
118
|
-
get: function () { return
|
|
118
|
+
get: function () { return chunkTHHBQAFX_cjs.createTokenStore; }
|
|
119
119
|
});
|
|
120
120
|
Object.defineProperty(exports, "generateCodeChallenge", {
|
|
121
121
|
enumerable: true,
|
|
122
|
-
get: function () { return
|
|
122
|
+
get: function () { return chunkTHHBQAFX_cjs.generateCodeChallenge; }
|
|
123
123
|
});
|
|
124
124
|
Object.defineProperty(exports, "generateCodeVerifier", {
|
|
125
125
|
enumerable: true,
|
|
126
|
-
get: function () { return
|
|
126
|
+
get: function () { return chunkTHHBQAFX_cjs.generateCodeVerifier; }
|
|
127
127
|
});
|
|
128
128
|
Object.defineProperty(exports, "retrieveCodeVerifier", {
|
|
129
129
|
enumerable: true,
|
|
130
|
-
get: function () { return
|
|
130
|
+
get: function () { return chunkTHHBQAFX_cjs.retrieveCodeVerifier; }
|
|
131
131
|
});
|
|
132
132
|
Object.defineProperty(exports, "storeCodeVerifier", {
|
|
133
133
|
enumerable: true,
|
|
134
|
-
get: function () { return
|
|
134
|
+
get: function () { return chunkTHHBQAFX_cjs.storeCodeVerifier; }
|
|
135
135
|
});
|
|
136
136
|
Object.defineProperty(exports, "useFFID", {
|
|
137
137
|
enumerable: true,
|
|
138
|
-
get: function () { return
|
|
138
|
+
get: function () { return chunkTHHBQAFX_cjs.useFFID; }
|
|
139
139
|
});
|
|
140
140
|
Object.defineProperty(exports, "useFFIDAnnouncements", {
|
|
141
141
|
enumerable: true,
|
|
142
|
-
get: function () { return
|
|
142
|
+
get: function () { return chunkTHHBQAFX_cjs.useFFIDAnnouncements; }
|
|
143
143
|
});
|
|
144
144
|
Object.defineProperty(exports, "useSubscription", {
|
|
145
145
|
enumerable: true,
|
|
146
|
-
get: function () { return
|
|
146
|
+
get: function () { return chunkTHHBQAFX_cjs.useSubscription; }
|
|
147
147
|
});
|
|
148
148
|
Object.defineProperty(exports, "withSubscription", {
|
|
149
149
|
enumerable: true,
|
|
150
|
-
get: function () { return
|
|
150
|
+
get: function () { return chunkTHHBQAFX_cjs.withSubscription; }
|
|
151
151
|
});
|
|
152
152
|
exports.createKVCacheAdapter = createKVCacheAdapter;
|
|
153
153
|
exports.createMemoryCacheAdapter = createMemoryCacheAdapter;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { F as FFIDConfig, a as FFIDApiResponse, b as FFIDSessionResponse, c as FFIDRedirectResult, d as FFIDError, e as FFIDSubscriptionCheckResponse, f as
|
|
2
|
-
export {
|
|
1
|
+
import { F as FFIDConfig, a as FFIDApiResponse, b as FFIDSessionResponse, c as FFIDRedirectResult, d as FFIDError, e as FFIDSubscriptionCheckResponse, f as FFIDListMembersResponse, g as FFIDMemberRole, h as FFIDUpdateMemberRoleResponse, i as FFIDRemoveMemberResponse, j as FFIDCreateCheckoutParams, k as FFIDCheckoutSessionResponse, l as FFIDCreatePortalParams, m as FFIDPortalSessionResponse, n as FFIDVerifyAccessTokenOptions, o as FFIDOAuthUserInfo, p as FFIDAuthMode, q as FFIDLogger, r as FFIDCacheAdapter, s as FFIDUser, t as FFIDOrganization, u as FFIDSubscription, v as FFIDSubscriptionContextValue, w as FFIDAnnouncementsClientConfig, L as ListAnnouncementsOptions, x as FFIDAnnouncementsApiResponse, A as AnnouncementListResponse, y as FFIDAnnouncementsLogger } from './index-BHh-uxYS.cjs';
|
|
2
|
+
export { z as Announcement, B as AnnouncementStatus, C as AnnouncementType, D as FFIDAnnouncementBadge, E as FFIDAnnouncementList, G as FFIDAnnouncementsError, H as FFIDAnnouncementsErrorCode, I as FFIDAnnouncementsServerResponse, J as FFIDCacheConfig, K as FFIDContextValue, M as FFIDJwtClaims, N as FFIDLoginButton, O as FFIDMemberStatus, P as FFIDOAuthTokenResponse, Q as FFIDOAuthUserInfoMemberRole, R as FFIDOAuthUserInfoSubscription, S as FFIDOrganizationMember, T as FFIDOrganizationSwitcher, U as FFIDSeatModel, V as FFIDSubscriptionBadge, W as FFIDSubscriptionStatus, X as FFIDTokenIntrospectionResponse, Y as FFIDUserMenu, Z as UseFFIDAnnouncementsOptions, _ as UseFFIDAnnouncementsReturn, $ as useFFIDAnnouncements } from './index-BHh-uxYS.cjs';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import { ReactNode, ComponentType, FC } from 'react';
|
|
5
5
|
|
|
@@ -129,11 +129,20 @@ type FFIDResetSessionResponse = FFIDPasswordResetResponse;
|
|
|
129
129
|
/** Response from confirmPasswordReset */
|
|
130
130
|
type FFIDPasswordResetConfirmResponse = FFIDPasswordResetResponse;
|
|
131
131
|
|
|
132
|
+
/** Redirect and URL generation - redirectToLogin / redirectToAuthorize / redirectToLogout / getLoginUrl / getSignupUrl / getLogoutUrl */
|
|
133
|
+
|
|
134
|
+
/** Options for redirectToAuthorize */
|
|
135
|
+
interface RedirectToAuthorizeOptions {
|
|
136
|
+
/** Target organization ID — triggers org-scoped OAuth re-authorization */
|
|
137
|
+
organizationId?: string;
|
|
138
|
+
}
|
|
139
|
+
|
|
132
140
|
/** Creates an FFID API client instance */
|
|
133
141
|
declare function createFFIDClient(config: FFIDConfig): {
|
|
134
142
|
getSession: () => Promise<FFIDApiResponse<FFIDSessionResponse>>;
|
|
135
143
|
signOut: () => Promise<FFIDApiResponse<void>>;
|
|
136
144
|
redirectToLogin: () => Promise<FFIDRedirectResult>;
|
|
145
|
+
redirectToAuthorize: (options?: RedirectToAuthorizeOptions) => Promise<FFIDRedirectResult>;
|
|
137
146
|
redirectToLogout: (postLogoutRedirectUri?: string) => FFIDRedirectResult;
|
|
138
147
|
getLoginUrl: (redirectUrl?: string) => string;
|
|
139
148
|
getLogoutUrl: (postLogoutRedirectUri?: string) => string;
|
|
@@ -145,6 +154,18 @@ declare function createFFIDClient(config: FFIDConfig): {
|
|
|
145
154
|
userId: string;
|
|
146
155
|
organizationId: string;
|
|
147
156
|
}) => Promise<FFIDApiResponse<FFIDSubscriptionCheckResponse>>;
|
|
157
|
+
listMembers: (params: {
|
|
158
|
+
organizationId: string;
|
|
159
|
+
}) => Promise<FFIDApiResponse<FFIDListMembersResponse>>;
|
|
160
|
+
updateMemberRole: (params: {
|
|
161
|
+
organizationId: string;
|
|
162
|
+
userId: string;
|
|
163
|
+
role: FFIDMemberRole;
|
|
164
|
+
}) => Promise<FFIDApiResponse<FFIDUpdateMemberRoleResponse>>;
|
|
165
|
+
removeMember: (params: {
|
|
166
|
+
organizationId: string;
|
|
167
|
+
userId: string;
|
|
168
|
+
}) => Promise<FFIDApiResponse<FFIDRemoveMemberResponse>>;
|
|
148
169
|
createCheckoutSession: (params: FFIDCreateCheckoutParams) => Promise<FFIDApiResponse<FFIDCheckoutSessionResponse>>;
|
|
149
170
|
createPortalSession: (params: FFIDCreatePortalParams) => Promise<FFIDApiResponse<FFIDPortalSessionResponse>>;
|
|
150
171
|
verifyAccessToken: (accessToken: string, options?: FFIDVerifyAccessTokenOptions) => Promise<FFIDApiResponse<FFIDOAuthUserInfo>>;
|
|
@@ -237,7 +258,10 @@ interface UseFFIDReturn {
|
|
|
237
258
|
login: () => void;
|
|
238
259
|
/** Sign out */
|
|
239
260
|
logout: () => Promise<void>;
|
|
240
|
-
/**
|
|
261
|
+
/**
|
|
262
|
+
* Switch current organization.
|
|
263
|
+
* Cookie mode: local state change. Token mode: OAuth re-authorization redirect.
|
|
264
|
+
*/
|
|
241
265
|
switchOrganization: (organizationId: string) => void;
|
|
242
266
|
/** Refresh session data */
|
|
243
267
|
refresh: () => Promise<void>;
|
|
@@ -424,4 +448,4 @@ declare function createFFIDAnnouncementsClient(config?: FFIDAnnouncementsClientC
|
|
|
424
448
|
/** Type of the FFID Announcements client */
|
|
425
449
|
type FFIDAnnouncementsClient = ReturnType<typeof createFFIDAnnouncementsClient>;
|
|
426
450
|
|
|
427
|
-
export { AnnouncementListResponse, DEFAULT_API_BASE_URL, FFIDAnnouncementsApiResponse, type FFIDAnnouncementsClient, FFIDAnnouncementsClientConfig, FFIDAnnouncementsLogger, FFIDApiResponse, FFIDCacheAdapter, FFIDCheckoutSessionResponse, type FFIDClient, FFIDConfig, FFIDCreateCheckoutParams, FFIDCreatePortalParams, FFIDError, FFIDLogger, FFIDOAuthUserInfo, FFIDOrganization, type FFIDOtpSendResponse, type FFIDOtpVerifyResponse, type FFIDPasswordResetConfirmResponse, type FFIDPasswordResetResponse, type FFIDPasswordResetVerifyResponse, FFIDPortalSessionResponse, FFIDProvider, type FFIDProviderProps, FFIDRedirectResult, type FFIDResetSessionResponse, FFIDSessionResponse, FFIDSubscription, FFIDSubscriptionCheckResponse, FFIDSubscriptionContextValue, FFIDUser, FFIDVerifyAccessTokenOptions, FFID_ANNOUNCEMENTS_ERROR_CODES, type KVNamespaceLike, ListAnnouncementsOptions, type TokenData, type TokenStore, type UseFFIDReturn, type WithFFIDAuthOptions, type WithSubscriptionOptions, createFFIDAnnouncementsClient, createFFIDClient, createKVCacheAdapter, createMemoryCacheAdapter, createTokenStore, generateCodeChallenge, generateCodeVerifier, retrieveCodeVerifier, storeCodeVerifier, useFFID, useSubscription, withFFIDAuth, withSubscription };
|
|
451
|
+
export { AnnouncementListResponse, DEFAULT_API_BASE_URL, FFIDAnnouncementsApiResponse, type FFIDAnnouncementsClient, FFIDAnnouncementsClientConfig, FFIDAnnouncementsLogger, FFIDApiResponse, FFIDCacheAdapter, FFIDCheckoutSessionResponse, type FFIDClient, FFIDConfig, FFIDCreateCheckoutParams, FFIDCreatePortalParams, FFIDError, FFIDListMembersResponse, FFIDLogger, FFIDMemberRole, FFIDOAuthUserInfo, FFIDOrganization, type FFIDOtpSendResponse, type FFIDOtpVerifyResponse, type FFIDPasswordResetConfirmResponse, type FFIDPasswordResetResponse, type FFIDPasswordResetVerifyResponse, FFIDPortalSessionResponse, FFIDProvider, type FFIDProviderProps, FFIDRedirectResult, FFIDRemoveMemberResponse, type FFIDResetSessionResponse, FFIDSessionResponse, FFIDSubscription, FFIDSubscriptionCheckResponse, FFIDSubscriptionContextValue, FFIDUpdateMemberRoleResponse, FFIDUser, FFIDVerifyAccessTokenOptions, FFID_ANNOUNCEMENTS_ERROR_CODES, type KVNamespaceLike, ListAnnouncementsOptions, type RedirectToAuthorizeOptions, type TokenData, type TokenStore, type UseFFIDReturn, type WithFFIDAuthOptions, type WithSubscriptionOptions, createFFIDAnnouncementsClient, createFFIDClient, createKVCacheAdapter, createMemoryCacheAdapter, createTokenStore, generateCodeChallenge, generateCodeVerifier, retrieveCodeVerifier, storeCodeVerifier, useFFID, useSubscription, withFFIDAuth, withSubscription };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { F as FFIDConfig, a as FFIDApiResponse, b as FFIDSessionResponse, c as FFIDRedirectResult, d as FFIDError, e as FFIDSubscriptionCheckResponse, f as
|
|
2
|
-
export {
|
|
1
|
+
import { F as FFIDConfig, a as FFIDApiResponse, b as FFIDSessionResponse, c as FFIDRedirectResult, d as FFIDError, e as FFIDSubscriptionCheckResponse, f as FFIDListMembersResponse, g as FFIDMemberRole, h as FFIDUpdateMemberRoleResponse, i as FFIDRemoveMemberResponse, j as FFIDCreateCheckoutParams, k as FFIDCheckoutSessionResponse, l as FFIDCreatePortalParams, m as FFIDPortalSessionResponse, n as FFIDVerifyAccessTokenOptions, o as FFIDOAuthUserInfo, p as FFIDAuthMode, q as FFIDLogger, r as FFIDCacheAdapter, s as FFIDUser, t as FFIDOrganization, u as FFIDSubscription, v as FFIDSubscriptionContextValue, w as FFIDAnnouncementsClientConfig, L as ListAnnouncementsOptions, x as FFIDAnnouncementsApiResponse, A as AnnouncementListResponse, y as FFIDAnnouncementsLogger } from './index-BHh-uxYS.js';
|
|
2
|
+
export { z as Announcement, B as AnnouncementStatus, C as AnnouncementType, D as FFIDAnnouncementBadge, E as FFIDAnnouncementList, G as FFIDAnnouncementsError, H as FFIDAnnouncementsErrorCode, I as FFIDAnnouncementsServerResponse, J as FFIDCacheConfig, K as FFIDContextValue, M as FFIDJwtClaims, N as FFIDLoginButton, O as FFIDMemberStatus, P as FFIDOAuthTokenResponse, Q as FFIDOAuthUserInfoMemberRole, R as FFIDOAuthUserInfoSubscription, S as FFIDOrganizationMember, T as FFIDOrganizationSwitcher, U as FFIDSeatModel, V as FFIDSubscriptionBadge, W as FFIDSubscriptionStatus, X as FFIDTokenIntrospectionResponse, Y as FFIDUserMenu, Z as UseFFIDAnnouncementsOptions, _ as UseFFIDAnnouncementsReturn, $ as useFFIDAnnouncements } from './index-BHh-uxYS.js';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import { ReactNode, ComponentType, FC } from 'react';
|
|
5
5
|
|
|
@@ -129,11 +129,20 @@ type FFIDResetSessionResponse = FFIDPasswordResetResponse;
|
|
|
129
129
|
/** Response from confirmPasswordReset */
|
|
130
130
|
type FFIDPasswordResetConfirmResponse = FFIDPasswordResetResponse;
|
|
131
131
|
|
|
132
|
+
/** Redirect and URL generation - redirectToLogin / redirectToAuthorize / redirectToLogout / getLoginUrl / getSignupUrl / getLogoutUrl */
|
|
133
|
+
|
|
134
|
+
/** Options for redirectToAuthorize */
|
|
135
|
+
interface RedirectToAuthorizeOptions {
|
|
136
|
+
/** Target organization ID — triggers org-scoped OAuth re-authorization */
|
|
137
|
+
organizationId?: string;
|
|
138
|
+
}
|
|
139
|
+
|
|
132
140
|
/** Creates an FFID API client instance */
|
|
133
141
|
declare function createFFIDClient(config: FFIDConfig): {
|
|
134
142
|
getSession: () => Promise<FFIDApiResponse<FFIDSessionResponse>>;
|
|
135
143
|
signOut: () => Promise<FFIDApiResponse<void>>;
|
|
136
144
|
redirectToLogin: () => Promise<FFIDRedirectResult>;
|
|
145
|
+
redirectToAuthorize: (options?: RedirectToAuthorizeOptions) => Promise<FFIDRedirectResult>;
|
|
137
146
|
redirectToLogout: (postLogoutRedirectUri?: string) => FFIDRedirectResult;
|
|
138
147
|
getLoginUrl: (redirectUrl?: string) => string;
|
|
139
148
|
getLogoutUrl: (postLogoutRedirectUri?: string) => string;
|
|
@@ -145,6 +154,18 @@ declare function createFFIDClient(config: FFIDConfig): {
|
|
|
145
154
|
userId: string;
|
|
146
155
|
organizationId: string;
|
|
147
156
|
}) => Promise<FFIDApiResponse<FFIDSubscriptionCheckResponse>>;
|
|
157
|
+
listMembers: (params: {
|
|
158
|
+
organizationId: string;
|
|
159
|
+
}) => Promise<FFIDApiResponse<FFIDListMembersResponse>>;
|
|
160
|
+
updateMemberRole: (params: {
|
|
161
|
+
organizationId: string;
|
|
162
|
+
userId: string;
|
|
163
|
+
role: FFIDMemberRole;
|
|
164
|
+
}) => Promise<FFIDApiResponse<FFIDUpdateMemberRoleResponse>>;
|
|
165
|
+
removeMember: (params: {
|
|
166
|
+
organizationId: string;
|
|
167
|
+
userId: string;
|
|
168
|
+
}) => Promise<FFIDApiResponse<FFIDRemoveMemberResponse>>;
|
|
148
169
|
createCheckoutSession: (params: FFIDCreateCheckoutParams) => Promise<FFIDApiResponse<FFIDCheckoutSessionResponse>>;
|
|
149
170
|
createPortalSession: (params: FFIDCreatePortalParams) => Promise<FFIDApiResponse<FFIDPortalSessionResponse>>;
|
|
150
171
|
verifyAccessToken: (accessToken: string, options?: FFIDVerifyAccessTokenOptions) => Promise<FFIDApiResponse<FFIDOAuthUserInfo>>;
|
|
@@ -237,7 +258,10 @@ interface UseFFIDReturn {
|
|
|
237
258
|
login: () => void;
|
|
238
259
|
/** Sign out */
|
|
239
260
|
logout: () => Promise<void>;
|
|
240
|
-
/**
|
|
261
|
+
/**
|
|
262
|
+
* Switch current organization.
|
|
263
|
+
* Cookie mode: local state change. Token mode: OAuth re-authorization redirect.
|
|
264
|
+
*/
|
|
241
265
|
switchOrganization: (organizationId: string) => void;
|
|
242
266
|
/** Refresh session data */
|
|
243
267
|
refresh: () => Promise<void>;
|
|
@@ -424,4 +448,4 @@ declare function createFFIDAnnouncementsClient(config?: FFIDAnnouncementsClientC
|
|
|
424
448
|
/** Type of the FFID Announcements client */
|
|
425
449
|
type FFIDAnnouncementsClient = ReturnType<typeof createFFIDAnnouncementsClient>;
|
|
426
450
|
|
|
427
|
-
export { AnnouncementListResponse, DEFAULT_API_BASE_URL, FFIDAnnouncementsApiResponse, type FFIDAnnouncementsClient, FFIDAnnouncementsClientConfig, FFIDAnnouncementsLogger, FFIDApiResponse, FFIDCacheAdapter, FFIDCheckoutSessionResponse, type FFIDClient, FFIDConfig, FFIDCreateCheckoutParams, FFIDCreatePortalParams, FFIDError, FFIDLogger, FFIDOAuthUserInfo, FFIDOrganization, type FFIDOtpSendResponse, type FFIDOtpVerifyResponse, type FFIDPasswordResetConfirmResponse, type FFIDPasswordResetResponse, type FFIDPasswordResetVerifyResponse, FFIDPortalSessionResponse, FFIDProvider, type FFIDProviderProps, FFIDRedirectResult, type FFIDResetSessionResponse, FFIDSessionResponse, FFIDSubscription, FFIDSubscriptionCheckResponse, FFIDSubscriptionContextValue, FFIDUser, FFIDVerifyAccessTokenOptions, FFID_ANNOUNCEMENTS_ERROR_CODES, type KVNamespaceLike, ListAnnouncementsOptions, type TokenData, type TokenStore, type UseFFIDReturn, type WithFFIDAuthOptions, type WithSubscriptionOptions, createFFIDAnnouncementsClient, createFFIDClient, createKVCacheAdapter, createMemoryCacheAdapter, createTokenStore, generateCodeChallenge, generateCodeVerifier, retrieveCodeVerifier, storeCodeVerifier, useFFID, useSubscription, withFFIDAuth, withSubscription };
|
|
451
|
+
export { AnnouncementListResponse, DEFAULT_API_BASE_URL, FFIDAnnouncementsApiResponse, type FFIDAnnouncementsClient, FFIDAnnouncementsClientConfig, FFIDAnnouncementsLogger, FFIDApiResponse, FFIDCacheAdapter, FFIDCheckoutSessionResponse, type FFIDClient, FFIDConfig, FFIDCreateCheckoutParams, FFIDCreatePortalParams, FFIDError, FFIDListMembersResponse, FFIDLogger, FFIDMemberRole, FFIDOAuthUserInfo, FFIDOrganization, type FFIDOtpSendResponse, type FFIDOtpVerifyResponse, type FFIDPasswordResetConfirmResponse, type FFIDPasswordResetResponse, type FFIDPasswordResetVerifyResponse, FFIDPortalSessionResponse, FFIDProvider, type FFIDProviderProps, FFIDRedirectResult, FFIDRemoveMemberResponse, type FFIDResetSessionResponse, FFIDSessionResponse, FFIDSubscription, FFIDSubscriptionCheckResponse, FFIDSubscriptionContextValue, FFIDUpdateMemberRoleResponse, FFIDUser, FFIDVerifyAccessTokenOptions, FFID_ANNOUNCEMENTS_ERROR_CODES, type KVNamespaceLike, ListAnnouncementsOptions, type RedirectToAuthorizeOptions, type TokenData, type TokenStore, type UseFFIDReturn, type WithFFIDAuthOptions, type WithSubscriptionOptions, createFFIDAnnouncementsClient, createFFIDClient, createKVCacheAdapter, createMemoryCacheAdapter, createTokenStore, generateCodeChallenge, generateCodeVerifier, retrieveCodeVerifier, storeCodeVerifier, useFFID, useSubscription, withFFIDAuth, withSubscription };
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useFFIDContext } from './chunk-
|
|
2
|
-
export { DEFAULT_API_BASE_URL, FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDProvider, FFIDSubscriptionBadge, FFIDUserMenu, FFID_ANNOUNCEMENTS_ERROR_CODES, createFFIDAnnouncementsClient, createFFIDClient, createTokenStore, generateCodeChallenge, generateCodeVerifier, retrieveCodeVerifier, storeCodeVerifier, useFFID, useFFIDAnnouncements, useSubscription, withSubscription } from './chunk-
|
|
1
|
+
import { useFFIDContext } from './chunk-ZJIZTYXQ.js';
|
|
2
|
+
export { DEFAULT_API_BASE_URL, FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDProvider, FFIDSubscriptionBadge, FFIDUserMenu, FFID_ANNOUNCEMENTS_ERROR_CODES, createFFIDAnnouncementsClient, createFFIDClient, createTokenStore, generateCodeChallenge, generateCodeVerifier, retrieveCodeVerifier, storeCodeVerifier, useFFID, useFFIDAnnouncements, useSubscription, withSubscription } from './chunk-ZJIZTYXQ.js';
|
|
3
3
|
import { useRef, useEffect } from 'react';
|
|
4
4
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
|