@feelflow/ffid-sdk 1.6.1 → 1.7.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/dist/{chunk-Q5XWUQHV.js → chunk-AZQOPZI6.js} +56 -1
- package/dist/{chunk-C254ATU6.cjs → chunk-FAX3PU43.cjs} +56 -1
- 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-CpTGcffN.d.cts} +43 -1
- package/dist/{index-oF_MAO2T.d.ts → index-CpTGcffN.d.ts} +43 -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
|
@@ -149,6 +149,7 @@ function normalizeUserinfo(raw) {
|
|
|
149
149
|
picture: raw.picture,
|
|
150
150
|
organizationId: raw.organization_id ?? null,
|
|
151
151
|
subscription: raw.subscription ? {
|
|
152
|
+
subscriptionId: raw.subscription.subscription_id ?? null,
|
|
152
153
|
status: raw.subscription.status ?? null,
|
|
153
154
|
planCode: raw.subscription.plan_code ?? null,
|
|
154
155
|
seatModel: raw.subscription.seat_model ?? null,
|
|
@@ -164,7 +165,7 @@ function mapUserinfoSubscriptionToSession(userinfo, serviceCode) {
|
|
|
164
165
|
}
|
|
165
166
|
return [
|
|
166
167
|
{
|
|
167
|
-
id: `userinfo:${serviceCode}`,
|
|
168
|
+
id: subscription.subscriptionId ?? `userinfo:${serviceCode}`,
|
|
168
169
|
serviceCode,
|
|
169
170
|
serviceName: serviceCode,
|
|
170
171
|
planCode: subscription.planCode,
|
|
@@ -351,6 +352,7 @@ function createVerifyAccessToken(deps) {
|
|
|
351
352
|
const raw = introspectResponse.subscription ? {
|
|
352
353
|
...base,
|
|
353
354
|
subscription: {
|
|
355
|
+
subscription_id: introspectResponse.subscription.subscription_id ?? null,
|
|
354
356
|
status: introspectResponse.subscription.status,
|
|
355
357
|
plan_code: introspectResponse.subscription.plan_code,
|
|
356
358
|
seat_model: introspectResponse.subscription.seat_model,
|
|
@@ -363,6 +365,53 @@ function createVerifyAccessToken(deps) {
|
|
|
363
365
|
return verifyAccessToken;
|
|
364
366
|
}
|
|
365
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
|
+
|
|
366
415
|
// src/client/ffid-client.ts
|
|
367
416
|
var NO_CONTENT_STATUS = 204;
|
|
368
417
|
var SESSION_ENDPOINT = "/api/v1/auth/session";
|
|
@@ -909,6 +958,10 @@ function createFFIDClient(config) {
|
|
|
909
958
|
`${EXT_CHECK_ENDPOINT}?${query.toString()}`
|
|
910
959
|
);
|
|
911
960
|
}
|
|
961
|
+
const { createCheckoutSession, createPortalSession } = createBillingMethods({
|
|
962
|
+
fetchWithAuth,
|
|
963
|
+
createError
|
|
964
|
+
});
|
|
912
965
|
const verifyAccessToken = createVerifyAccessToken({
|
|
913
966
|
authMode,
|
|
914
967
|
baseUrl,
|
|
@@ -929,6 +982,8 @@ function createFFIDClient(config) {
|
|
|
929
982
|
exchangeCodeForTokens,
|
|
930
983
|
refreshAccessToken,
|
|
931
984
|
checkSubscription,
|
|
985
|
+
createCheckoutSession,
|
|
986
|
+
createPortalSession,
|
|
932
987
|
verifyAccessToken,
|
|
933
988
|
/** Token store (token mode only) */
|
|
934
989
|
tokenStore,
|
|
@@ -151,6 +151,7 @@ function normalizeUserinfo(raw) {
|
|
|
151
151
|
picture: raw.picture,
|
|
152
152
|
organizationId: raw.organization_id ?? null,
|
|
153
153
|
subscription: raw.subscription ? {
|
|
154
|
+
subscriptionId: raw.subscription.subscription_id ?? null,
|
|
154
155
|
status: raw.subscription.status ?? null,
|
|
155
156
|
planCode: raw.subscription.plan_code ?? null,
|
|
156
157
|
seatModel: raw.subscription.seat_model ?? null,
|
|
@@ -166,7 +167,7 @@ function mapUserinfoSubscriptionToSession(userinfo, serviceCode) {
|
|
|
166
167
|
}
|
|
167
168
|
return [
|
|
168
169
|
{
|
|
169
|
-
id: `userinfo:${serviceCode}`,
|
|
170
|
+
id: subscription.subscriptionId ?? `userinfo:${serviceCode}`,
|
|
170
171
|
serviceCode,
|
|
171
172
|
serviceName: serviceCode,
|
|
172
173
|
planCode: subscription.planCode,
|
|
@@ -353,6 +354,7 @@ function createVerifyAccessToken(deps) {
|
|
|
353
354
|
const raw = introspectResponse.subscription ? {
|
|
354
355
|
...base,
|
|
355
356
|
subscription: {
|
|
357
|
+
subscription_id: introspectResponse.subscription.subscription_id ?? null,
|
|
356
358
|
status: introspectResponse.subscription.status,
|
|
357
359
|
plan_code: introspectResponse.subscription.plan_code,
|
|
358
360
|
seat_model: introspectResponse.subscription.seat_model,
|
|
@@ -365,6 +367,53 @@ function createVerifyAccessToken(deps) {
|
|
|
365
367
|
return verifyAccessToken;
|
|
366
368
|
}
|
|
367
369
|
|
|
370
|
+
// src/client/billing-methods.ts
|
|
371
|
+
var BILLING_CHECKOUT_ENDPOINT = "/api/v1/billing/checkout";
|
|
372
|
+
var BILLING_PORTAL_ENDPOINT = "/api/v1/billing/portal";
|
|
373
|
+
function createBillingMethods(deps) {
|
|
374
|
+
const { fetchWithAuth, createError } = deps;
|
|
375
|
+
async function createCheckoutSession(params) {
|
|
376
|
+
if (!params.organizationId || !params.subscriptionId) {
|
|
377
|
+
return {
|
|
378
|
+
error: createError("VALIDATION_ERROR", "organizationId \u3068 subscriptionId \u306F\u5FC5\u9808\u3067\u3059")
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
if (!params.successUrl || !params.cancelUrl) {
|
|
382
|
+
return {
|
|
383
|
+
error: createError("VALIDATION_ERROR", "successUrl \u3068 cancelUrl \u306F\u5FC5\u9808\u3067\u3059")
|
|
384
|
+
};
|
|
385
|
+
}
|
|
386
|
+
return fetchWithAuth(
|
|
387
|
+
BILLING_CHECKOUT_ENDPOINT,
|
|
388
|
+
{
|
|
389
|
+
method: "POST",
|
|
390
|
+
body: JSON.stringify({
|
|
391
|
+
organizationId: params.organizationId,
|
|
392
|
+
subscriptionId: params.subscriptionId,
|
|
393
|
+
successUrl: params.successUrl,
|
|
394
|
+
cancelUrl: params.cancelUrl,
|
|
395
|
+
...params.planId ? { planId: params.planId } : {}
|
|
396
|
+
})
|
|
397
|
+
}
|
|
398
|
+
);
|
|
399
|
+
}
|
|
400
|
+
async function createPortalSession(params) {
|
|
401
|
+
if (!params.organizationId || !params.returnUrl) {
|
|
402
|
+
return {
|
|
403
|
+
error: createError("VALIDATION_ERROR", "organizationId \u3068 returnUrl \u306F\u5FC5\u9808\u3067\u3059")
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
const query = new URLSearchParams({
|
|
407
|
+
organizationId: params.organizationId,
|
|
408
|
+
returnUrl: params.returnUrl
|
|
409
|
+
});
|
|
410
|
+
return fetchWithAuth(
|
|
411
|
+
`${BILLING_PORTAL_ENDPOINT}?${query.toString()}`
|
|
412
|
+
);
|
|
413
|
+
}
|
|
414
|
+
return { createCheckoutSession, createPortalSession };
|
|
415
|
+
}
|
|
416
|
+
|
|
368
417
|
// src/client/ffid-client.ts
|
|
369
418
|
var NO_CONTENT_STATUS = 204;
|
|
370
419
|
var SESSION_ENDPOINT = "/api/v1/auth/session";
|
|
@@ -911,6 +960,10 @@ function createFFIDClient(config) {
|
|
|
911
960
|
`${EXT_CHECK_ENDPOINT}?${query.toString()}`
|
|
912
961
|
);
|
|
913
962
|
}
|
|
963
|
+
const { createCheckoutSession, createPortalSession } = createBillingMethods({
|
|
964
|
+
fetchWithAuth,
|
|
965
|
+
createError
|
|
966
|
+
});
|
|
914
967
|
const verifyAccessToken = createVerifyAccessToken({
|
|
915
968
|
authMode,
|
|
916
969
|
baseUrl,
|
|
@@ -931,6 +984,8 @@ function createFFIDClient(config) {
|
|
|
931
984
|
exchangeCodeForTokens,
|
|
932
985
|
refreshAccessToken,
|
|
933
986
|
checkSubscription,
|
|
987
|
+
createCheckoutSession,
|
|
988
|
+
createPortalSession,
|
|
934
989
|
verifyAccessToken,
|
|
935
990
|
/** Token store (token mode only) */
|
|
936
991
|
tokenStore,
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkFAX3PU43_cjs = require('../chunk-FAX3PU43.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 chunkFAX3PU43_cjs.FFIDAnnouncementBadge; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, "FFIDAnnouncementList", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkFAX3PU43_cjs.FFIDAnnouncementList; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "FFIDLoginButton", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkFAX3PU43_cjs.FFIDLoginButton; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "FFIDOrganizationSwitcher", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkFAX3PU43_cjs.FFIDOrganizationSwitcher; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "FFIDSubscriptionBadge", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkFAX3PU43_cjs.FFIDSubscriptionBadge; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "FFIDUserMenu", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkFAX3PU43_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-CpTGcffN.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-CpTGcffN.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-AZQOPZI6.js';
|
|
@@ -92,6 +92,7 @@ interface FFIDSubscription {
|
|
|
92
92
|
}
|
|
93
93
|
/** OAuth userinfo subscription summary */
|
|
94
94
|
interface FFIDOAuthUserInfoSubscription {
|
|
95
|
+
subscriptionId: string | null;
|
|
95
96
|
status: 'trialing' | 'active' | 'past_due' | 'canceled' | 'paused' | null;
|
|
96
97
|
planCode: string | null;
|
|
97
98
|
seatModel: FFIDSeatModel | null;
|
|
@@ -285,6 +286,46 @@ interface FFIDSubscriptionCheckResponse {
|
|
|
285
286
|
planCode: string | null;
|
|
286
287
|
currentPeriodEnd: string | null;
|
|
287
288
|
}
|
|
289
|
+
/**
|
|
290
|
+
* Checkout session response from billing checkout endpoint
|
|
291
|
+
*/
|
|
292
|
+
interface FFIDCheckoutSessionResponse {
|
|
293
|
+
/** Stripe Checkout session ID */
|
|
294
|
+
sessionId: string;
|
|
295
|
+
/** Stripe Checkout session URL (null if session creation had issues) */
|
|
296
|
+
url: string | null;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Portal session response from billing portal endpoint
|
|
300
|
+
*/
|
|
301
|
+
interface FFIDPortalSessionResponse {
|
|
302
|
+
/** Stripe Billing Portal URL */
|
|
303
|
+
url: string;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Parameters for creating a checkout session
|
|
307
|
+
*/
|
|
308
|
+
interface FFIDCreateCheckoutParams {
|
|
309
|
+
/** Organization ID (UUID) */
|
|
310
|
+
organizationId: string;
|
|
311
|
+
/** Subscription ID (UUID) */
|
|
312
|
+
subscriptionId: string;
|
|
313
|
+
/** URL to redirect after successful checkout */
|
|
314
|
+
successUrl: string;
|
|
315
|
+
/** URL to redirect after cancelled checkout */
|
|
316
|
+
cancelUrl: string;
|
|
317
|
+
/** Optional plan ID for upgrade or resubscription */
|
|
318
|
+
planId?: string;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Parameters for creating a billing portal session
|
|
322
|
+
*/
|
|
323
|
+
interface FFIDCreatePortalParams {
|
|
324
|
+
/** Organization ID (UUID) */
|
|
325
|
+
organizationId: string;
|
|
326
|
+
/** URL to redirect when user exits the portal */
|
|
327
|
+
returnUrl: string;
|
|
328
|
+
}
|
|
288
329
|
/**
|
|
289
330
|
* OAuth 2.0 token response from FFID token endpoint
|
|
290
331
|
*/
|
|
@@ -316,6 +357,7 @@ interface FFIDTokenIntrospectionResponse {
|
|
|
316
357
|
client_id?: string;
|
|
317
358
|
organization_id?: string | null;
|
|
318
359
|
subscription?: {
|
|
360
|
+
subscription_id: string | null;
|
|
319
361
|
status: FFIDOAuthUserInfoSubscription['status'];
|
|
320
362
|
plan_code: string | null;
|
|
321
363
|
seat_model: FFIDOAuthUserInfoSubscription['seatModel'];
|
|
@@ -685,4 +727,4 @@ interface FFIDAnnouncementListProps {
|
|
|
685
727
|
*/
|
|
686
728
|
declare function FFIDAnnouncementList({ announcements, isLoading, className, classNames, style, formatDate, emptyMessage, loadingRender, renderItem, maxContentLines, }: FFIDAnnouncementListProps): react_jsx_runtime.JSX.Element;
|
|
687
729
|
|
|
688
|
-
export { type AnnouncementListResponse as A,
|
|
730
|
+
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 };
|
|
@@ -92,6 +92,7 @@ interface FFIDSubscription {
|
|
|
92
92
|
}
|
|
93
93
|
/** OAuth userinfo subscription summary */
|
|
94
94
|
interface FFIDOAuthUserInfoSubscription {
|
|
95
|
+
subscriptionId: string | null;
|
|
95
96
|
status: 'trialing' | 'active' | 'past_due' | 'canceled' | 'paused' | null;
|
|
96
97
|
planCode: string | null;
|
|
97
98
|
seatModel: FFIDSeatModel | null;
|
|
@@ -285,6 +286,46 @@ interface FFIDSubscriptionCheckResponse {
|
|
|
285
286
|
planCode: string | null;
|
|
286
287
|
currentPeriodEnd: string | null;
|
|
287
288
|
}
|
|
289
|
+
/**
|
|
290
|
+
* Checkout session response from billing checkout endpoint
|
|
291
|
+
*/
|
|
292
|
+
interface FFIDCheckoutSessionResponse {
|
|
293
|
+
/** Stripe Checkout session ID */
|
|
294
|
+
sessionId: string;
|
|
295
|
+
/** Stripe Checkout session URL (null if session creation had issues) */
|
|
296
|
+
url: string | null;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Portal session response from billing portal endpoint
|
|
300
|
+
*/
|
|
301
|
+
interface FFIDPortalSessionResponse {
|
|
302
|
+
/** Stripe Billing Portal URL */
|
|
303
|
+
url: string;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Parameters for creating a checkout session
|
|
307
|
+
*/
|
|
308
|
+
interface FFIDCreateCheckoutParams {
|
|
309
|
+
/** Organization ID (UUID) */
|
|
310
|
+
organizationId: string;
|
|
311
|
+
/** Subscription ID (UUID) */
|
|
312
|
+
subscriptionId: string;
|
|
313
|
+
/** URL to redirect after successful checkout */
|
|
314
|
+
successUrl: string;
|
|
315
|
+
/** URL to redirect after cancelled checkout */
|
|
316
|
+
cancelUrl: string;
|
|
317
|
+
/** Optional plan ID for upgrade or resubscription */
|
|
318
|
+
planId?: string;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Parameters for creating a billing portal session
|
|
322
|
+
*/
|
|
323
|
+
interface FFIDCreatePortalParams {
|
|
324
|
+
/** Organization ID (UUID) */
|
|
325
|
+
organizationId: string;
|
|
326
|
+
/** URL to redirect when user exits the portal */
|
|
327
|
+
returnUrl: string;
|
|
328
|
+
}
|
|
288
329
|
/**
|
|
289
330
|
* OAuth 2.0 token response from FFID token endpoint
|
|
290
331
|
*/
|
|
@@ -316,6 +357,7 @@ interface FFIDTokenIntrospectionResponse {
|
|
|
316
357
|
client_id?: string;
|
|
317
358
|
organization_id?: string | null;
|
|
318
359
|
subscription?: {
|
|
360
|
+
subscription_id: string | null;
|
|
319
361
|
status: FFIDOAuthUserInfoSubscription['status'];
|
|
320
362
|
plan_code: string | null;
|
|
321
363
|
seat_model: FFIDOAuthUserInfoSubscription['seatModel'];
|
|
@@ -685,4 +727,4 @@ interface FFIDAnnouncementListProps {
|
|
|
685
727
|
*/
|
|
686
728
|
declare function FFIDAnnouncementList({ announcements, isLoading, className, classNames, style, formatDate, emptyMessage, loadingRender, renderItem, maxContentLines, }: FFIDAnnouncementListProps): react_jsx_runtime.JSX.Element;
|
|
687
729
|
|
|
688
|
-
export { type AnnouncementListResponse as A,
|
|
730
|
+
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 chunkFAX3PU43_cjs = require('./chunk-FAX3PU43.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 } = chunkFAX3PU43_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 chunkFAX3PU43_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 chunkFAX3PU43_cjs.FFIDAnnouncementBadge; }
|
|
39
39
|
});
|
|
40
40
|
Object.defineProperty(exports, "FFIDAnnouncementList", {
|
|
41
41
|
enumerable: true,
|
|
42
|
-
get: function () { return
|
|
42
|
+
get: function () { return chunkFAX3PU43_cjs.FFIDAnnouncementList; }
|
|
43
43
|
});
|
|
44
44
|
Object.defineProperty(exports, "FFIDLoginButton", {
|
|
45
45
|
enumerable: true,
|
|
46
|
-
get: function () { return
|
|
46
|
+
get: function () { return chunkFAX3PU43_cjs.FFIDLoginButton; }
|
|
47
47
|
});
|
|
48
48
|
Object.defineProperty(exports, "FFIDOrganizationSwitcher", {
|
|
49
49
|
enumerable: true,
|
|
50
|
-
get: function () { return
|
|
50
|
+
get: function () { return chunkFAX3PU43_cjs.FFIDOrganizationSwitcher; }
|
|
51
51
|
});
|
|
52
52
|
Object.defineProperty(exports, "FFIDProvider", {
|
|
53
53
|
enumerable: true,
|
|
54
|
-
get: function () { return
|
|
54
|
+
get: function () { return chunkFAX3PU43_cjs.FFIDProvider; }
|
|
55
55
|
});
|
|
56
56
|
Object.defineProperty(exports, "FFIDSubscriptionBadge", {
|
|
57
57
|
enumerable: true,
|
|
58
|
-
get: function () { return
|
|
58
|
+
get: function () { return chunkFAX3PU43_cjs.FFIDSubscriptionBadge; }
|
|
59
59
|
});
|
|
60
60
|
Object.defineProperty(exports, "FFIDUserMenu", {
|
|
61
61
|
enumerable: true,
|
|
62
|
-
get: function () { return
|
|
62
|
+
get: function () { return chunkFAX3PU43_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 chunkFAX3PU43_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 chunkFAX3PU43_cjs.createFFIDAnnouncementsClient; }
|
|
71
71
|
});
|
|
72
72
|
Object.defineProperty(exports, "createFFIDClient", {
|
|
73
73
|
enumerable: true,
|
|
74
|
-
get: function () { return
|
|
74
|
+
get: function () { return chunkFAX3PU43_cjs.createFFIDClient; }
|
|
75
75
|
});
|
|
76
76
|
Object.defineProperty(exports, "createTokenStore", {
|
|
77
77
|
enumerable: true,
|
|
78
|
-
get: function () { return
|
|
78
|
+
get: function () { return chunkFAX3PU43_cjs.createTokenStore; }
|
|
79
79
|
});
|
|
80
80
|
Object.defineProperty(exports, "generateCodeChallenge", {
|
|
81
81
|
enumerable: true,
|
|
82
|
-
get: function () { return
|
|
82
|
+
get: function () { return chunkFAX3PU43_cjs.generateCodeChallenge; }
|
|
83
83
|
});
|
|
84
84
|
Object.defineProperty(exports, "generateCodeVerifier", {
|
|
85
85
|
enumerable: true,
|
|
86
|
-
get: function () { return
|
|
86
|
+
get: function () { return chunkFAX3PU43_cjs.generateCodeVerifier; }
|
|
87
87
|
});
|
|
88
88
|
Object.defineProperty(exports, "retrieveCodeVerifier", {
|
|
89
89
|
enumerable: true,
|
|
90
|
-
get: function () { return
|
|
90
|
+
get: function () { return chunkFAX3PU43_cjs.retrieveCodeVerifier; }
|
|
91
91
|
});
|
|
92
92
|
Object.defineProperty(exports, "storeCodeVerifier", {
|
|
93
93
|
enumerable: true,
|
|
94
|
-
get: function () { return
|
|
94
|
+
get: function () { return chunkFAX3PU43_cjs.storeCodeVerifier; }
|
|
95
95
|
});
|
|
96
96
|
Object.defineProperty(exports, "useFFID", {
|
|
97
97
|
enumerable: true,
|
|
98
|
-
get: function () { return
|
|
98
|
+
get: function () { return chunkFAX3PU43_cjs.useFFID; }
|
|
99
99
|
});
|
|
100
100
|
Object.defineProperty(exports, "useFFIDAnnouncements", {
|
|
101
101
|
enumerable: true,
|
|
102
|
-
get: function () { return
|
|
102
|
+
get: function () { return chunkFAX3PU43_cjs.useFFIDAnnouncements; }
|
|
103
103
|
});
|
|
104
104
|
Object.defineProperty(exports, "useSubscription", {
|
|
105
105
|
enumerable: true,
|
|
106
|
-
get: function () { return
|
|
106
|
+
get: function () { return chunkFAX3PU43_cjs.useSubscription; }
|
|
107
107
|
});
|
|
108
108
|
Object.defineProperty(exports, "withSubscription", {
|
|
109
109
|
enumerable: true,
|
|
110
|
-
get: function () { return
|
|
110
|
+
get: function () { return chunkFAX3PU43_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-CpTGcffN.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-CpTGcffN.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-CpTGcffN.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-CpTGcffN.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-AZQOPZI6.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-AZQOPZI6.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.1",
|
|
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",
|