@feelflow/ffid-sdk 1.6.1 → 1.7.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-C254ATU6.cjs → chunk-FJKSIZMK.cjs} +53 -0
- package/dist/{chunk-Q5XWUQHV.js → chunk-WDRRWSZV.js} +53 -0
- 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-oF_MAO2T.d.cts → index-Ca9M6Hde.d.cts} +41 -1
- package/dist/{index-oF_MAO2T.d.ts → index-Ca9M6Hde.d.ts} +41 -1
- package/dist/index.cjs +22 -22
- package/dist/index.d.cts +5 -3
- package/dist/index.d.ts +5 -3
- package/dist/index.js +2 -2
- package/package.json +2 -1
|
@@ -365,6 +365,53 @@ function createVerifyAccessToken(deps) {
|
|
|
365
365
|
return verifyAccessToken;
|
|
366
366
|
}
|
|
367
367
|
|
|
368
|
+
// src/client/billing-methods.ts
|
|
369
|
+
var BILLING_CHECKOUT_ENDPOINT = "/api/v1/billing/checkout";
|
|
370
|
+
var BILLING_PORTAL_ENDPOINT = "/api/v1/billing/portal";
|
|
371
|
+
function createBillingMethods(deps) {
|
|
372
|
+
const { fetchWithAuth, createError } = deps;
|
|
373
|
+
async function createCheckoutSession(params) {
|
|
374
|
+
if (!params.organizationId || !params.subscriptionId) {
|
|
375
|
+
return {
|
|
376
|
+
error: createError("VALIDATION_ERROR", "organizationId \u3068 subscriptionId \u306F\u5FC5\u9808\u3067\u3059")
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
if (!params.successUrl || !params.cancelUrl) {
|
|
380
|
+
return {
|
|
381
|
+
error: createError("VALIDATION_ERROR", "successUrl \u3068 cancelUrl \u306F\u5FC5\u9808\u3067\u3059")
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
return fetchWithAuth(
|
|
385
|
+
BILLING_CHECKOUT_ENDPOINT,
|
|
386
|
+
{
|
|
387
|
+
method: "POST",
|
|
388
|
+
body: JSON.stringify({
|
|
389
|
+
organizationId: params.organizationId,
|
|
390
|
+
subscriptionId: params.subscriptionId,
|
|
391
|
+
successUrl: params.successUrl,
|
|
392
|
+
cancelUrl: params.cancelUrl,
|
|
393
|
+
...params.planId ? { planId: params.planId } : {}
|
|
394
|
+
})
|
|
395
|
+
}
|
|
396
|
+
);
|
|
397
|
+
}
|
|
398
|
+
async function createPortalSession(params) {
|
|
399
|
+
if (!params.organizationId || !params.returnUrl) {
|
|
400
|
+
return {
|
|
401
|
+
error: createError("VALIDATION_ERROR", "organizationId \u3068 returnUrl \u306F\u5FC5\u9808\u3067\u3059")
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
const query = new URLSearchParams({
|
|
405
|
+
organizationId: params.organizationId,
|
|
406
|
+
returnUrl: params.returnUrl
|
|
407
|
+
});
|
|
408
|
+
return fetchWithAuth(
|
|
409
|
+
`${BILLING_PORTAL_ENDPOINT}?${query.toString()}`
|
|
410
|
+
);
|
|
411
|
+
}
|
|
412
|
+
return { createCheckoutSession, createPortalSession };
|
|
413
|
+
}
|
|
414
|
+
|
|
368
415
|
// src/client/ffid-client.ts
|
|
369
416
|
var NO_CONTENT_STATUS = 204;
|
|
370
417
|
var SESSION_ENDPOINT = "/api/v1/auth/session";
|
|
@@ -911,6 +958,10 @@ function createFFIDClient(config) {
|
|
|
911
958
|
`${EXT_CHECK_ENDPOINT}?${query.toString()}`
|
|
912
959
|
);
|
|
913
960
|
}
|
|
961
|
+
const { createCheckoutSession, createPortalSession } = createBillingMethods({
|
|
962
|
+
fetchWithAuth,
|
|
963
|
+
createError
|
|
964
|
+
});
|
|
914
965
|
const verifyAccessToken = createVerifyAccessToken({
|
|
915
966
|
authMode,
|
|
916
967
|
baseUrl,
|
|
@@ -931,6 +982,8 @@ function createFFIDClient(config) {
|
|
|
931
982
|
exchangeCodeForTokens,
|
|
932
983
|
refreshAccessToken,
|
|
933
984
|
checkSubscription,
|
|
985
|
+
createCheckoutSession,
|
|
986
|
+
createPortalSession,
|
|
934
987
|
verifyAccessToken,
|
|
935
988
|
/** Token store (token mode only) */
|
|
936
989
|
tokenStore,
|
|
@@ -363,6 +363,53 @@ function createVerifyAccessToken(deps) {
|
|
|
363
363
|
return verifyAccessToken;
|
|
364
364
|
}
|
|
365
365
|
|
|
366
|
+
// src/client/billing-methods.ts
|
|
367
|
+
var BILLING_CHECKOUT_ENDPOINT = "/api/v1/billing/checkout";
|
|
368
|
+
var BILLING_PORTAL_ENDPOINT = "/api/v1/billing/portal";
|
|
369
|
+
function createBillingMethods(deps) {
|
|
370
|
+
const { fetchWithAuth, createError } = deps;
|
|
371
|
+
async function createCheckoutSession(params) {
|
|
372
|
+
if (!params.organizationId || !params.subscriptionId) {
|
|
373
|
+
return {
|
|
374
|
+
error: createError("VALIDATION_ERROR", "organizationId \u3068 subscriptionId \u306F\u5FC5\u9808\u3067\u3059")
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
if (!params.successUrl || !params.cancelUrl) {
|
|
378
|
+
return {
|
|
379
|
+
error: createError("VALIDATION_ERROR", "successUrl \u3068 cancelUrl \u306F\u5FC5\u9808\u3067\u3059")
|
|
380
|
+
};
|
|
381
|
+
}
|
|
382
|
+
return fetchWithAuth(
|
|
383
|
+
BILLING_CHECKOUT_ENDPOINT,
|
|
384
|
+
{
|
|
385
|
+
method: "POST",
|
|
386
|
+
body: JSON.stringify({
|
|
387
|
+
organizationId: params.organizationId,
|
|
388
|
+
subscriptionId: params.subscriptionId,
|
|
389
|
+
successUrl: params.successUrl,
|
|
390
|
+
cancelUrl: params.cancelUrl,
|
|
391
|
+
...params.planId ? { planId: params.planId } : {}
|
|
392
|
+
})
|
|
393
|
+
}
|
|
394
|
+
);
|
|
395
|
+
}
|
|
396
|
+
async function createPortalSession(params) {
|
|
397
|
+
if (!params.organizationId || !params.returnUrl) {
|
|
398
|
+
return {
|
|
399
|
+
error: createError("VALIDATION_ERROR", "organizationId \u3068 returnUrl \u306F\u5FC5\u9808\u3067\u3059")
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
const query = new URLSearchParams({
|
|
403
|
+
organizationId: params.organizationId,
|
|
404
|
+
returnUrl: params.returnUrl
|
|
405
|
+
});
|
|
406
|
+
return fetchWithAuth(
|
|
407
|
+
`${BILLING_PORTAL_ENDPOINT}?${query.toString()}`
|
|
408
|
+
);
|
|
409
|
+
}
|
|
410
|
+
return { createCheckoutSession, createPortalSession };
|
|
411
|
+
}
|
|
412
|
+
|
|
366
413
|
// src/client/ffid-client.ts
|
|
367
414
|
var NO_CONTENT_STATUS = 204;
|
|
368
415
|
var SESSION_ENDPOINT = "/api/v1/auth/session";
|
|
@@ -909,6 +956,10 @@ function createFFIDClient(config) {
|
|
|
909
956
|
`${EXT_CHECK_ENDPOINT}?${query.toString()}`
|
|
910
957
|
);
|
|
911
958
|
}
|
|
959
|
+
const { createCheckoutSession, createPortalSession } = createBillingMethods({
|
|
960
|
+
fetchWithAuth,
|
|
961
|
+
createError
|
|
962
|
+
});
|
|
912
963
|
const verifyAccessToken = createVerifyAccessToken({
|
|
913
964
|
authMode,
|
|
914
965
|
baseUrl,
|
|
@@ -929,6 +980,8 @@ function createFFIDClient(config) {
|
|
|
929
980
|
exchangeCodeForTokens,
|
|
930
981
|
refreshAccessToken,
|
|
931
982
|
checkSubscription,
|
|
983
|
+
createCheckoutSession,
|
|
984
|
+
createPortalSession,
|
|
932
985
|
verifyAccessToken,
|
|
933
986
|
/** Token store (token mode only) */
|
|
934
987
|
tokenStore,
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkFJKSIZMK_cjs = require('../chunk-FJKSIZMK.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, "FFIDAnnouncementBadge", {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunkFJKSIZMK_cjs.FFIDAnnouncementBadge; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, "FFIDAnnouncementList", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkFJKSIZMK_cjs.FFIDAnnouncementList; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "FFIDLoginButton", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkFJKSIZMK_cjs.FFIDLoginButton; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "FFIDOrganizationSwitcher", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkFJKSIZMK_cjs.FFIDOrganizationSwitcher; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "FFIDSubscriptionBadge", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkFJKSIZMK_cjs.FFIDSubscriptionBadge; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "FFIDUserMenu", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkFJKSIZMK_cjs.FFIDUserMenu; }
|
|
30
30
|
});
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { t as FFIDAnnouncementBadge, Q as FFIDAnnouncementBadgeClassNames, R as FFIDAnnouncementBadgeProps, u as FFIDAnnouncementList, S as FFIDAnnouncementListClassNames, T as FFIDAnnouncementListProps, B as FFIDLoginButton, V as FFIDLoginButtonProps, G as FFIDOrganizationSwitcher, W as FFIDOrganizationSwitcherClassNames, X as FFIDOrganizationSwitcherProps, J as FFIDSubscriptionBadge, Y as FFIDSubscriptionBadgeClassNames, Z as FFIDSubscriptionBadgeProps, N as FFIDUserMenu, _ as FFIDUserMenuClassNames, $ as FFIDUserMenuProps } from '../index-Ca9M6Hde.cjs';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import 'react';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { t as FFIDAnnouncementBadge, Q as FFIDAnnouncementBadgeClassNames, R as FFIDAnnouncementBadgeProps, u as FFIDAnnouncementList, S as FFIDAnnouncementListClassNames, T as FFIDAnnouncementListProps, B as FFIDLoginButton, V as FFIDLoginButtonProps, G as FFIDOrganizationSwitcher, W as FFIDOrganizationSwitcherClassNames, X as FFIDOrganizationSwitcherProps, J as FFIDSubscriptionBadge, Y as FFIDSubscriptionBadgeClassNames, Z as FFIDSubscriptionBadgeProps, N as FFIDUserMenu, _ as FFIDUserMenuClassNames, $ as FFIDUserMenuProps } from '../index-Ca9M6Hde.js';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import 'react';
|
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDSubscriptionBadge, FFIDUserMenu } from '../chunk-
|
|
1
|
+
export { FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDSubscriptionBadge, FFIDUserMenu } from '../chunk-WDRRWSZV.js';
|
|
@@ -285,6 +285,46 @@ interface FFIDSubscriptionCheckResponse {
|
|
|
285
285
|
planCode: string | null;
|
|
286
286
|
currentPeriodEnd: string | null;
|
|
287
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* Checkout session response from billing checkout endpoint
|
|
290
|
+
*/
|
|
291
|
+
interface FFIDCheckoutSessionResponse {
|
|
292
|
+
/** Stripe Checkout session ID */
|
|
293
|
+
sessionId: string;
|
|
294
|
+
/** Stripe Checkout session URL (null if session creation had issues) */
|
|
295
|
+
url: string | null;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Portal session response from billing portal endpoint
|
|
299
|
+
*/
|
|
300
|
+
interface FFIDPortalSessionResponse {
|
|
301
|
+
/** Stripe Billing Portal URL */
|
|
302
|
+
url: string;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Parameters for creating a checkout session
|
|
306
|
+
*/
|
|
307
|
+
interface FFIDCreateCheckoutParams {
|
|
308
|
+
/** Organization ID (UUID) */
|
|
309
|
+
organizationId: string;
|
|
310
|
+
/** Subscription ID (UUID) */
|
|
311
|
+
subscriptionId: string;
|
|
312
|
+
/** URL to redirect after successful checkout */
|
|
313
|
+
successUrl: string;
|
|
314
|
+
/** URL to redirect after cancelled checkout */
|
|
315
|
+
cancelUrl: string;
|
|
316
|
+
/** Optional plan ID for upgrade or resubscription */
|
|
317
|
+
planId?: string;
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Parameters for creating a billing portal session
|
|
321
|
+
*/
|
|
322
|
+
interface FFIDCreatePortalParams {
|
|
323
|
+
/** Organization ID (UUID) */
|
|
324
|
+
organizationId: string;
|
|
325
|
+
/** URL to redirect when user exits the portal */
|
|
326
|
+
returnUrl: string;
|
|
327
|
+
}
|
|
288
328
|
/**
|
|
289
329
|
* OAuth 2.0 token response from FFID token endpoint
|
|
290
330
|
*/
|
|
@@ -685,4 +725,4 @@ interface FFIDAnnouncementListProps {
|
|
|
685
725
|
*/
|
|
686
726
|
declare function FFIDAnnouncementList({ announcements, isLoading, className, classNames, style, formatDate, emptyMessage, loadingRender, renderItem, maxContentLines, }: FFIDAnnouncementListProps): react_jsx_runtime.JSX.Element;
|
|
687
727
|
|
|
688
|
-
export { type AnnouncementListResponse as A,
|
|
728
|
+
export { type FFIDUserMenuProps as $, type AnnouncementListResponse as A, FFIDLoginButton as B, type FFIDOAuthTokenResponse as C, type FFIDOAuthUserInfoMemberRole as D, type FFIDOAuthUserInfoSubscription as E, type FFIDConfig as F, FFIDOrganizationSwitcher as G, type FFIDSeatModel as H, type FFIDSubscription as I, FFIDSubscriptionBadge as J, type FFIDSubscriptionStatus as K, type ListAnnouncementsOptions as L, type FFIDTokenIntrospectionResponse as M, FFIDUserMenu as N, type UseFFIDAnnouncementsReturn as O, useFFIDAnnouncements as P, type FFIDAnnouncementBadgeClassNames as Q, type FFIDAnnouncementBadgeProps as R, type FFIDAnnouncementListClassNames as S, type FFIDAnnouncementListProps as T, type UseFFIDAnnouncementsOptions as U, type FFIDLoginButtonProps as V, type FFIDOrganizationSwitcherClassNames as W, type FFIDOrganizationSwitcherProps as X, type FFIDSubscriptionBadgeClassNames as Y, type FFIDSubscriptionBadgeProps as Z, type FFIDUserMenuClassNames as _, type FFIDApiResponse as a, type FFIDSessionResponse as b, type FFIDError as c, type FFIDSubscriptionCheckResponse as d, type FFIDCreateCheckoutParams as e, type FFIDCheckoutSessionResponse as f, type FFIDCreatePortalParams as g, type FFIDPortalSessionResponse as h, type FFIDOAuthUserInfo as i, type FFIDLogger as j, type FFIDUser as k, type FFIDOrganization as l, type FFIDSubscriptionContextValue as m, type FFIDAnnouncementsClientConfig as n, type FFIDAnnouncementsApiResponse as o, type FFIDAnnouncementsLogger as p, type Announcement as q, type AnnouncementStatus as r, type AnnouncementType as s, FFIDAnnouncementBadge as t, FFIDAnnouncementList as u, type FFIDAnnouncementsError as v, type FFIDAnnouncementsErrorCode as w, type FFIDAnnouncementsServerResponse as x, type FFIDContextValue as y, type FFIDJwtClaims as z };
|
|
@@ -285,6 +285,46 @@ interface FFIDSubscriptionCheckResponse {
|
|
|
285
285
|
planCode: string | null;
|
|
286
286
|
currentPeriodEnd: string | null;
|
|
287
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* Checkout session response from billing checkout endpoint
|
|
290
|
+
*/
|
|
291
|
+
interface FFIDCheckoutSessionResponse {
|
|
292
|
+
/** Stripe Checkout session ID */
|
|
293
|
+
sessionId: string;
|
|
294
|
+
/** Stripe Checkout session URL (null if session creation had issues) */
|
|
295
|
+
url: string | null;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Portal session response from billing portal endpoint
|
|
299
|
+
*/
|
|
300
|
+
interface FFIDPortalSessionResponse {
|
|
301
|
+
/** Stripe Billing Portal URL */
|
|
302
|
+
url: string;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Parameters for creating a checkout session
|
|
306
|
+
*/
|
|
307
|
+
interface FFIDCreateCheckoutParams {
|
|
308
|
+
/** Organization ID (UUID) */
|
|
309
|
+
organizationId: string;
|
|
310
|
+
/** Subscription ID (UUID) */
|
|
311
|
+
subscriptionId: string;
|
|
312
|
+
/** URL to redirect after successful checkout */
|
|
313
|
+
successUrl: string;
|
|
314
|
+
/** URL to redirect after cancelled checkout */
|
|
315
|
+
cancelUrl: string;
|
|
316
|
+
/** Optional plan ID for upgrade or resubscription */
|
|
317
|
+
planId?: string;
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Parameters for creating a billing portal session
|
|
321
|
+
*/
|
|
322
|
+
interface FFIDCreatePortalParams {
|
|
323
|
+
/** Organization ID (UUID) */
|
|
324
|
+
organizationId: string;
|
|
325
|
+
/** URL to redirect when user exits the portal */
|
|
326
|
+
returnUrl: string;
|
|
327
|
+
}
|
|
288
328
|
/**
|
|
289
329
|
* OAuth 2.0 token response from FFID token endpoint
|
|
290
330
|
*/
|
|
@@ -685,4 +725,4 @@ interface FFIDAnnouncementListProps {
|
|
|
685
725
|
*/
|
|
686
726
|
declare function FFIDAnnouncementList({ announcements, isLoading, className, classNames, style, formatDate, emptyMessage, loadingRender, renderItem, maxContentLines, }: FFIDAnnouncementListProps): react_jsx_runtime.JSX.Element;
|
|
687
727
|
|
|
688
|
-
export { type AnnouncementListResponse as A,
|
|
728
|
+
export { type FFIDUserMenuProps as $, type AnnouncementListResponse as A, FFIDLoginButton as B, type FFIDOAuthTokenResponse as C, type FFIDOAuthUserInfoMemberRole as D, type FFIDOAuthUserInfoSubscription as E, type FFIDConfig as F, FFIDOrganizationSwitcher as G, type FFIDSeatModel as H, type FFIDSubscription as I, FFIDSubscriptionBadge as J, type FFIDSubscriptionStatus as K, type ListAnnouncementsOptions as L, type FFIDTokenIntrospectionResponse as M, FFIDUserMenu as N, type UseFFIDAnnouncementsReturn as O, useFFIDAnnouncements as P, type FFIDAnnouncementBadgeClassNames as Q, type FFIDAnnouncementBadgeProps as R, type FFIDAnnouncementListClassNames as S, type FFIDAnnouncementListProps as T, type UseFFIDAnnouncementsOptions as U, type FFIDLoginButtonProps as V, type FFIDOrganizationSwitcherClassNames as W, type FFIDOrganizationSwitcherProps as X, type FFIDSubscriptionBadgeClassNames as Y, type FFIDSubscriptionBadgeProps as Z, type FFIDUserMenuClassNames as _, type FFIDApiResponse as a, type FFIDSessionResponse as b, type FFIDError as c, type FFIDSubscriptionCheckResponse as d, type FFIDCreateCheckoutParams as e, type FFIDCheckoutSessionResponse as f, type FFIDCreatePortalParams as g, type FFIDPortalSessionResponse as h, type FFIDOAuthUserInfo as i, type FFIDLogger as j, type FFIDUser as k, type FFIDOrganization as l, type FFIDSubscriptionContextValue as m, type FFIDAnnouncementsClientConfig as n, type FFIDAnnouncementsApiResponse as o, type FFIDAnnouncementsLogger as p, type Announcement as q, type AnnouncementStatus as r, type AnnouncementType as s, FFIDAnnouncementBadge as t, FFIDAnnouncementList as u, type FFIDAnnouncementsError as v, type FFIDAnnouncementsErrorCode as w, type FFIDAnnouncementsServerResponse as x, type FFIDContextValue as y, type FFIDJwtClaims as z };
|
package/dist/index.cjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkFJKSIZMK_cjs = require('./chunk-FJKSIZMK.cjs');
|
|
4
4
|
var react = require('react');
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
|
|
7
7
|
function withFFIDAuth(Component, options = {}) {
|
|
8
8
|
const WrappedComponent = (props) => {
|
|
9
|
-
const { isLoading, isAuthenticated, login } =
|
|
9
|
+
const { isLoading, isAuthenticated, login } = chunkFJKSIZMK_cjs.useFFIDContext();
|
|
10
10
|
const hasRedirected = react.useRef(false);
|
|
11
11
|
react.useEffect(() => {
|
|
12
12
|
if (!isLoading && !isAuthenticated && options.redirectToLogin && !hasRedirected.current) {
|
|
@@ -31,82 +31,82 @@ function withFFIDAuth(Component, options = {}) {
|
|
|
31
31
|
|
|
32
32
|
Object.defineProperty(exports, "DEFAULT_API_BASE_URL", {
|
|
33
33
|
enumerable: true,
|
|
34
|
-
get: function () { return
|
|
34
|
+
get: function () { return chunkFJKSIZMK_cjs.DEFAULT_API_BASE_URL; }
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "FFIDAnnouncementBadge", {
|
|
37
37
|
enumerable: true,
|
|
38
|
-
get: function () { return
|
|
38
|
+
get: function () { return chunkFJKSIZMK_cjs.FFIDAnnouncementBadge; }
|
|
39
39
|
});
|
|
40
40
|
Object.defineProperty(exports, "FFIDAnnouncementList", {
|
|
41
41
|
enumerable: true,
|
|
42
|
-
get: function () { return
|
|
42
|
+
get: function () { return chunkFJKSIZMK_cjs.FFIDAnnouncementList; }
|
|
43
43
|
});
|
|
44
44
|
Object.defineProperty(exports, "FFIDLoginButton", {
|
|
45
45
|
enumerable: true,
|
|
46
|
-
get: function () { return
|
|
46
|
+
get: function () { return chunkFJKSIZMK_cjs.FFIDLoginButton; }
|
|
47
47
|
});
|
|
48
48
|
Object.defineProperty(exports, "FFIDOrganizationSwitcher", {
|
|
49
49
|
enumerable: true,
|
|
50
|
-
get: function () { return
|
|
50
|
+
get: function () { return chunkFJKSIZMK_cjs.FFIDOrganizationSwitcher; }
|
|
51
51
|
});
|
|
52
52
|
Object.defineProperty(exports, "FFIDProvider", {
|
|
53
53
|
enumerable: true,
|
|
54
|
-
get: function () { return
|
|
54
|
+
get: function () { return chunkFJKSIZMK_cjs.FFIDProvider; }
|
|
55
55
|
});
|
|
56
56
|
Object.defineProperty(exports, "FFIDSubscriptionBadge", {
|
|
57
57
|
enumerable: true,
|
|
58
|
-
get: function () { return
|
|
58
|
+
get: function () { return chunkFJKSIZMK_cjs.FFIDSubscriptionBadge; }
|
|
59
59
|
});
|
|
60
60
|
Object.defineProperty(exports, "FFIDUserMenu", {
|
|
61
61
|
enumerable: true,
|
|
62
|
-
get: function () { return
|
|
62
|
+
get: function () { return chunkFJKSIZMK_cjs.FFIDUserMenu; }
|
|
63
63
|
});
|
|
64
64
|
Object.defineProperty(exports, "FFID_ANNOUNCEMENTS_ERROR_CODES", {
|
|
65
65
|
enumerable: true,
|
|
66
|
-
get: function () { return
|
|
66
|
+
get: function () { return chunkFJKSIZMK_cjs.FFID_ANNOUNCEMENTS_ERROR_CODES; }
|
|
67
67
|
});
|
|
68
68
|
Object.defineProperty(exports, "createFFIDAnnouncementsClient", {
|
|
69
69
|
enumerable: true,
|
|
70
|
-
get: function () { return
|
|
70
|
+
get: function () { return chunkFJKSIZMK_cjs.createFFIDAnnouncementsClient; }
|
|
71
71
|
});
|
|
72
72
|
Object.defineProperty(exports, "createFFIDClient", {
|
|
73
73
|
enumerable: true,
|
|
74
|
-
get: function () { return
|
|
74
|
+
get: function () { return chunkFJKSIZMK_cjs.createFFIDClient; }
|
|
75
75
|
});
|
|
76
76
|
Object.defineProperty(exports, "createTokenStore", {
|
|
77
77
|
enumerable: true,
|
|
78
|
-
get: function () { return
|
|
78
|
+
get: function () { return chunkFJKSIZMK_cjs.createTokenStore; }
|
|
79
79
|
});
|
|
80
80
|
Object.defineProperty(exports, "generateCodeChallenge", {
|
|
81
81
|
enumerable: true,
|
|
82
|
-
get: function () { return
|
|
82
|
+
get: function () { return chunkFJKSIZMK_cjs.generateCodeChallenge; }
|
|
83
83
|
});
|
|
84
84
|
Object.defineProperty(exports, "generateCodeVerifier", {
|
|
85
85
|
enumerable: true,
|
|
86
|
-
get: function () { return
|
|
86
|
+
get: function () { return chunkFJKSIZMK_cjs.generateCodeVerifier; }
|
|
87
87
|
});
|
|
88
88
|
Object.defineProperty(exports, "retrieveCodeVerifier", {
|
|
89
89
|
enumerable: true,
|
|
90
|
-
get: function () { return
|
|
90
|
+
get: function () { return chunkFJKSIZMK_cjs.retrieveCodeVerifier; }
|
|
91
91
|
});
|
|
92
92
|
Object.defineProperty(exports, "storeCodeVerifier", {
|
|
93
93
|
enumerable: true,
|
|
94
|
-
get: function () { return
|
|
94
|
+
get: function () { return chunkFJKSIZMK_cjs.storeCodeVerifier; }
|
|
95
95
|
});
|
|
96
96
|
Object.defineProperty(exports, "useFFID", {
|
|
97
97
|
enumerable: true,
|
|
98
|
-
get: function () { return
|
|
98
|
+
get: function () { return chunkFJKSIZMK_cjs.useFFID; }
|
|
99
99
|
});
|
|
100
100
|
Object.defineProperty(exports, "useFFIDAnnouncements", {
|
|
101
101
|
enumerable: true,
|
|
102
|
-
get: function () { return
|
|
102
|
+
get: function () { return chunkFJKSIZMK_cjs.useFFIDAnnouncements; }
|
|
103
103
|
});
|
|
104
104
|
Object.defineProperty(exports, "useSubscription", {
|
|
105
105
|
enumerable: true,
|
|
106
|
-
get: function () { return
|
|
106
|
+
get: function () { return chunkFJKSIZMK_cjs.useSubscription; }
|
|
107
107
|
});
|
|
108
108
|
Object.defineProperty(exports, "withSubscription", {
|
|
109
109
|
enumerable: true,
|
|
110
|
-
get: function () { return
|
|
110
|
+
get: function () { return chunkFJKSIZMK_cjs.withSubscription; }
|
|
111
111
|
});
|
|
112
112
|
exports.withFFIDAuth = withFFIDAuth;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { F as FFIDConfig, a as FFIDApiResponse, b as FFIDSessionResponse, c as FFIDError, d as FFIDSubscriptionCheckResponse, e as
|
|
2
|
-
export {
|
|
1
|
+
import { F as FFIDConfig, a as FFIDApiResponse, b as FFIDSessionResponse, c as FFIDError, d as FFIDSubscriptionCheckResponse, e as FFIDCreateCheckoutParams, f as FFIDCheckoutSessionResponse, g as FFIDCreatePortalParams, h as FFIDPortalSessionResponse, i as FFIDOAuthUserInfo, j as FFIDLogger, k as FFIDUser, l as FFIDOrganization, m as FFIDSubscriptionContextValue, n as FFIDAnnouncementsClientConfig, L as ListAnnouncementsOptions, o as FFIDAnnouncementsApiResponse, A as AnnouncementListResponse, p as FFIDAnnouncementsLogger } from './index-Ca9M6Hde.cjs';
|
|
2
|
+
export { q as Announcement, r as AnnouncementStatus, s as AnnouncementType, t as FFIDAnnouncementBadge, u as FFIDAnnouncementList, v as FFIDAnnouncementsError, w as FFIDAnnouncementsErrorCode, x as FFIDAnnouncementsServerResponse, y as FFIDContextValue, z as FFIDJwtClaims, B as FFIDLoginButton, C as FFIDOAuthTokenResponse, D as FFIDOAuthUserInfoMemberRole, E as FFIDOAuthUserInfoSubscription, G as FFIDOrganizationSwitcher, H as FFIDSeatModel, I as FFIDSubscription, J as FFIDSubscriptionBadge, K as FFIDSubscriptionStatus, M as FFIDTokenIntrospectionResponse, N as FFIDUserMenu, U as UseFFIDAnnouncementsOptions, O as UseFFIDAnnouncementsReturn, P as useFFIDAnnouncements } from './index-Ca9M6Hde.cjs';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import { ReactNode, ComponentType, FC } from 'react';
|
|
5
5
|
|
|
@@ -98,6 +98,8 @@ declare function createFFIDClient(config: FFIDConfig): {
|
|
|
98
98
|
userId: string;
|
|
99
99
|
organizationId: string;
|
|
100
100
|
}) => Promise<FFIDApiResponse<FFIDSubscriptionCheckResponse>>;
|
|
101
|
+
createCheckoutSession: (params: FFIDCreateCheckoutParams) => Promise<FFIDApiResponse<FFIDCheckoutSessionResponse>>;
|
|
102
|
+
createPortalSession: (params: FFIDCreatePortalParams) => Promise<FFIDApiResponse<FFIDPortalSessionResponse>>;
|
|
101
103
|
verifyAccessToken: (accessToken: string) => Promise<FFIDApiResponse<FFIDOAuthUserInfo>>;
|
|
102
104
|
/** Token store (token mode only) */
|
|
103
105
|
tokenStore: TokenStore;
|
|
@@ -339,4 +341,4 @@ declare function createFFIDAnnouncementsClient(config?: FFIDAnnouncementsClientC
|
|
|
339
341
|
/** Type of the FFID Announcements client */
|
|
340
342
|
type FFIDAnnouncementsClient = ReturnType<typeof createFFIDAnnouncementsClient>;
|
|
341
343
|
|
|
342
|
-
export { AnnouncementListResponse, DEFAULT_API_BASE_URL, FFIDAnnouncementsApiResponse, type FFIDAnnouncementsClient, FFIDAnnouncementsClientConfig, FFIDAnnouncementsLogger, FFIDApiResponse, type FFIDClient, FFIDConfig, FFIDError, FFIDLogger, FFIDOAuthUserInfo, FFIDOrganization, FFIDProvider, type FFIDProviderProps, FFIDSessionResponse, FFIDSubscriptionCheckResponse, FFIDSubscriptionContextValue, FFIDUser, FFID_ANNOUNCEMENTS_ERROR_CODES, ListAnnouncementsOptions, type TokenData, type TokenStore, type UseFFIDReturn, type WithFFIDAuthOptions, type WithSubscriptionOptions, createFFIDAnnouncementsClient, createFFIDClient, createTokenStore, generateCodeChallenge, generateCodeVerifier, retrieveCodeVerifier, storeCodeVerifier, useFFID, useSubscription, withFFIDAuth, withSubscription };
|
|
344
|
+
export { AnnouncementListResponse, DEFAULT_API_BASE_URL, FFIDAnnouncementsApiResponse, type FFIDAnnouncementsClient, FFIDAnnouncementsClientConfig, FFIDAnnouncementsLogger, FFIDApiResponse, FFIDCheckoutSessionResponse, type FFIDClient, FFIDConfig, FFIDCreateCheckoutParams, FFIDCreatePortalParams, FFIDError, FFIDLogger, FFIDOAuthUserInfo, FFIDOrganization, FFIDPortalSessionResponse, FFIDProvider, type FFIDProviderProps, FFIDSessionResponse, FFIDSubscriptionCheckResponse, FFIDSubscriptionContextValue, FFIDUser, FFID_ANNOUNCEMENTS_ERROR_CODES, ListAnnouncementsOptions, type TokenData, type TokenStore, type UseFFIDReturn, type WithFFIDAuthOptions, type WithSubscriptionOptions, createFFIDAnnouncementsClient, createFFIDClient, 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 FFIDError, d as FFIDSubscriptionCheckResponse, e as
|
|
2
|
-
export {
|
|
1
|
+
import { F as FFIDConfig, a as FFIDApiResponse, b as FFIDSessionResponse, c as FFIDError, d as FFIDSubscriptionCheckResponse, e as FFIDCreateCheckoutParams, f as FFIDCheckoutSessionResponse, g as FFIDCreatePortalParams, h as FFIDPortalSessionResponse, i as FFIDOAuthUserInfo, j as FFIDLogger, k as FFIDUser, l as FFIDOrganization, m as FFIDSubscriptionContextValue, n as FFIDAnnouncementsClientConfig, L as ListAnnouncementsOptions, o as FFIDAnnouncementsApiResponse, A as AnnouncementListResponse, p as FFIDAnnouncementsLogger } from './index-Ca9M6Hde.js';
|
|
2
|
+
export { q as Announcement, r as AnnouncementStatus, s as AnnouncementType, t as FFIDAnnouncementBadge, u as FFIDAnnouncementList, v as FFIDAnnouncementsError, w as FFIDAnnouncementsErrorCode, x as FFIDAnnouncementsServerResponse, y as FFIDContextValue, z as FFIDJwtClaims, B as FFIDLoginButton, C as FFIDOAuthTokenResponse, D as FFIDOAuthUserInfoMemberRole, E as FFIDOAuthUserInfoSubscription, G as FFIDOrganizationSwitcher, H as FFIDSeatModel, I as FFIDSubscription, J as FFIDSubscriptionBadge, K as FFIDSubscriptionStatus, M as FFIDTokenIntrospectionResponse, N as FFIDUserMenu, U as UseFFIDAnnouncementsOptions, O as UseFFIDAnnouncementsReturn, P as useFFIDAnnouncements } from './index-Ca9M6Hde.js';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import { ReactNode, ComponentType, FC } from 'react';
|
|
5
5
|
|
|
@@ -98,6 +98,8 @@ declare function createFFIDClient(config: FFIDConfig): {
|
|
|
98
98
|
userId: string;
|
|
99
99
|
organizationId: string;
|
|
100
100
|
}) => Promise<FFIDApiResponse<FFIDSubscriptionCheckResponse>>;
|
|
101
|
+
createCheckoutSession: (params: FFIDCreateCheckoutParams) => Promise<FFIDApiResponse<FFIDCheckoutSessionResponse>>;
|
|
102
|
+
createPortalSession: (params: FFIDCreatePortalParams) => Promise<FFIDApiResponse<FFIDPortalSessionResponse>>;
|
|
101
103
|
verifyAccessToken: (accessToken: string) => Promise<FFIDApiResponse<FFIDOAuthUserInfo>>;
|
|
102
104
|
/** Token store (token mode only) */
|
|
103
105
|
tokenStore: TokenStore;
|
|
@@ -339,4 +341,4 @@ declare function createFFIDAnnouncementsClient(config?: FFIDAnnouncementsClientC
|
|
|
339
341
|
/** Type of the FFID Announcements client */
|
|
340
342
|
type FFIDAnnouncementsClient = ReturnType<typeof createFFIDAnnouncementsClient>;
|
|
341
343
|
|
|
342
|
-
export { AnnouncementListResponse, DEFAULT_API_BASE_URL, FFIDAnnouncementsApiResponse, type FFIDAnnouncementsClient, FFIDAnnouncementsClientConfig, FFIDAnnouncementsLogger, FFIDApiResponse, type FFIDClient, FFIDConfig, FFIDError, FFIDLogger, FFIDOAuthUserInfo, FFIDOrganization, FFIDProvider, type FFIDProviderProps, FFIDSessionResponse, FFIDSubscriptionCheckResponse, FFIDSubscriptionContextValue, FFIDUser, FFID_ANNOUNCEMENTS_ERROR_CODES, ListAnnouncementsOptions, type TokenData, type TokenStore, type UseFFIDReturn, type WithFFIDAuthOptions, type WithSubscriptionOptions, createFFIDAnnouncementsClient, createFFIDClient, createTokenStore, generateCodeChallenge, generateCodeVerifier, retrieveCodeVerifier, storeCodeVerifier, useFFID, useSubscription, withFFIDAuth, withSubscription };
|
|
344
|
+
export { AnnouncementListResponse, DEFAULT_API_BASE_URL, FFIDAnnouncementsApiResponse, type FFIDAnnouncementsClient, FFIDAnnouncementsClientConfig, FFIDAnnouncementsLogger, FFIDApiResponse, FFIDCheckoutSessionResponse, type FFIDClient, FFIDConfig, FFIDCreateCheckoutParams, FFIDCreatePortalParams, FFIDError, FFIDLogger, FFIDOAuthUserInfo, FFIDOrganization, FFIDPortalSessionResponse, FFIDProvider, type FFIDProviderProps, FFIDSessionResponse, FFIDSubscriptionCheckResponse, FFIDSubscriptionContextValue, FFIDUser, FFID_ANNOUNCEMENTS_ERROR_CODES, ListAnnouncementsOptions, type TokenData, type TokenStore, type UseFFIDReturn, type WithFFIDAuthOptions, type WithSubscriptionOptions, createFFIDAnnouncementsClient, createFFIDClient, 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-WDRRWSZV.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-WDRRWSZV.js';
|
|
3
3
|
import { useRef, useEffect } from 'react';
|
|
4
4
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@feelflow/ffid-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "FeelFlow ID Platform SDK for React/Next.js applications",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"feelflow",
|
|
@@ -93,6 +93,7 @@
|
|
|
93
93
|
"@testing-library/react": "^16.0.0",
|
|
94
94
|
"@types/react": "^19.0.0",
|
|
95
95
|
"@types/react-dom": "^19.0.0",
|
|
96
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
96
97
|
"jsdom": "^27.0.0",
|
|
97
98
|
"react": "^19.0.0",
|
|
98
99
|
"react-dom": "^19.0.0",
|