@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.
@@ -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 chunkC254ATU6_cjs = require('../chunk-C254ATU6.cjs');
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 chunkC254ATU6_cjs.FFIDAnnouncementBadge; }
9
+ get: function () { return chunkFAX3PU43_cjs.FFIDAnnouncementBadge; }
10
10
  });
11
11
  Object.defineProperty(exports, "FFIDAnnouncementList", {
12
12
  enumerable: true,
13
- get: function () { return chunkC254ATU6_cjs.FFIDAnnouncementList; }
13
+ get: function () { return chunkFAX3PU43_cjs.FFIDAnnouncementList; }
14
14
  });
15
15
  Object.defineProperty(exports, "FFIDLoginButton", {
16
16
  enumerable: true,
17
- get: function () { return chunkC254ATU6_cjs.FFIDLoginButton; }
17
+ get: function () { return chunkFAX3PU43_cjs.FFIDLoginButton; }
18
18
  });
19
19
  Object.defineProperty(exports, "FFIDOrganizationSwitcher", {
20
20
  enumerable: true,
21
- get: function () { return chunkC254ATU6_cjs.FFIDOrganizationSwitcher; }
21
+ get: function () { return chunkFAX3PU43_cjs.FFIDOrganizationSwitcher; }
22
22
  });
23
23
  Object.defineProperty(exports, "FFIDSubscriptionBadge", {
24
24
  enumerable: true,
25
- get: function () { return chunkC254ATU6_cjs.FFIDSubscriptionBadge; }
25
+ get: function () { return chunkFAX3PU43_cjs.FFIDSubscriptionBadge; }
26
26
  });
27
27
  Object.defineProperty(exports, "FFIDUserMenu", {
28
28
  enumerable: true,
29
- get: function () { return chunkC254ATU6_cjs.FFIDUserMenu; }
29
+ get: function () { return chunkFAX3PU43_cjs.FFIDUserMenu; }
30
30
  });
@@ -1,3 +1,3 @@
1
- export { p as FFIDAnnouncementBadge, M as FFIDAnnouncementBadgeClassNames, N as FFIDAnnouncementBadgeProps, q as FFIDAnnouncementList, O as FFIDAnnouncementListClassNames, P as FFIDAnnouncementListProps, w as FFIDLoginButton, Q as FFIDLoginButtonProps, B as FFIDOrganizationSwitcher, R as FFIDOrganizationSwitcherClassNames, S as FFIDOrganizationSwitcherProps, E as FFIDSubscriptionBadge, T as FFIDSubscriptionBadgeClassNames, V as FFIDSubscriptionBadgeProps, I as FFIDUserMenu, W as FFIDUserMenuClassNames, X as FFIDUserMenuProps } from '../index-oF_MAO2T.cjs';
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 { p as FFIDAnnouncementBadge, M as FFIDAnnouncementBadgeClassNames, N as FFIDAnnouncementBadgeProps, q as FFIDAnnouncementList, O as FFIDAnnouncementListClassNames, P as FFIDAnnouncementListProps, w as FFIDLoginButton, Q as FFIDLoginButtonProps, B as FFIDOrganizationSwitcher, R as FFIDOrganizationSwitcherClassNames, S as FFIDOrganizationSwitcherProps, E as FFIDSubscriptionBadge, T as FFIDSubscriptionBadgeClassNames, V as FFIDSubscriptionBadgeProps, I as FFIDUserMenu, W as FFIDUserMenuClassNames, X as FFIDUserMenuProps } from '../index-oF_MAO2T.js';
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';
@@ -1 +1 @@
1
- export { FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDSubscriptionBadge, FFIDUserMenu } from '../chunk-Q5XWUQHV.js';
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, FFIDOrganizationSwitcher as B, type FFIDSeatModel as C, type FFIDSubscription as D, FFIDSubscriptionBadge as E, type FFIDConfig as F, type FFIDSubscriptionStatus as G, type FFIDTokenIntrospectionResponse as H, FFIDUserMenu as I, type UseFFIDAnnouncementsReturn as J, useFFIDAnnouncements as K, type ListAnnouncementsOptions as L, type FFIDAnnouncementBadgeClassNames as M, type FFIDAnnouncementBadgeProps as N, type FFIDAnnouncementListClassNames as O, type FFIDAnnouncementListProps as P, type FFIDLoginButtonProps as Q, type FFIDOrganizationSwitcherClassNames as R, type FFIDOrganizationSwitcherProps as S, type FFIDSubscriptionBadgeClassNames as T, type UseFFIDAnnouncementsOptions as U, type FFIDSubscriptionBadgeProps as V, type FFIDUserMenuClassNames as W, type FFIDUserMenuProps as X, type FFIDApiResponse as a, type FFIDSessionResponse as b, type FFIDError as c, type FFIDSubscriptionCheckResponse as d, type FFIDOAuthUserInfo as e, type FFIDLogger as f, type FFIDUser as g, type FFIDOrganization as h, type FFIDSubscriptionContextValue as i, type FFIDAnnouncementsClientConfig as j, type FFIDAnnouncementsApiResponse as k, type FFIDAnnouncementsLogger as l, type Announcement as m, type AnnouncementStatus as n, type AnnouncementType as o, FFIDAnnouncementBadge as p, FFIDAnnouncementList as q, type FFIDAnnouncementsError as r, type FFIDAnnouncementsErrorCode as s, type FFIDAnnouncementsServerResponse as t, type FFIDContextValue as u, type FFIDJwtClaims as v, FFIDLoginButton as w, type FFIDOAuthTokenResponse as x, type FFIDOAuthUserInfoMemberRole as y, type FFIDOAuthUserInfoSubscription as z };
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, FFIDOrganizationSwitcher as B, type FFIDSeatModel as C, type FFIDSubscription as D, FFIDSubscriptionBadge as E, type FFIDConfig as F, type FFIDSubscriptionStatus as G, type FFIDTokenIntrospectionResponse as H, FFIDUserMenu as I, type UseFFIDAnnouncementsReturn as J, useFFIDAnnouncements as K, type ListAnnouncementsOptions as L, type FFIDAnnouncementBadgeClassNames as M, type FFIDAnnouncementBadgeProps as N, type FFIDAnnouncementListClassNames as O, type FFIDAnnouncementListProps as P, type FFIDLoginButtonProps as Q, type FFIDOrganizationSwitcherClassNames as R, type FFIDOrganizationSwitcherProps as S, type FFIDSubscriptionBadgeClassNames as T, type UseFFIDAnnouncementsOptions as U, type FFIDSubscriptionBadgeProps as V, type FFIDUserMenuClassNames as W, type FFIDUserMenuProps as X, type FFIDApiResponse as a, type FFIDSessionResponse as b, type FFIDError as c, type FFIDSubscriptionCheckResponse as d, type FFIDOAuthUserInfo as e, type FFIDLogger as f, type FFIDUser as g, type FFIDOrganization as h, type FFIDSubscriptionContextValue as i, type FFIDAnnouncementsClientConfig as j, type FFIDAnnouncementsApiResponse as k, type FFIDAnnouncementsLogger as l, type Announcement as m, type AnnouncementStatus as n, type AnnouncementType as o, FFIDAnnouncementBadge as p, FFIDAnnouncementList as q, type FFIDAnnouncementsError as r, type FFIDAnnouncementsErrorCode as s, type FFIDAnnouncementsServerResponse as t, type FFIDContextValue as u, type FFIDJwtClaims as v, FFIDLoginButton as w, type FFIDOAuthTokenResponse as x, type FFIDOAuthUserInfoMemberRole as y, type FFIDOAuthUserInfoSubscription as z };
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 chunkC254ATU6_cjs = require('./chunk-C254ATU6.cjs');
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 } = chunkC254ATU6_cjs.useFFIDContext();
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 chunkC254ATU6_cjs.DEFAULT_API_BASE_URL; }
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 chunkC254ATU6_cjs.FFIDAnnouncementBadge; }
38
+ get: function () { return chunkFAX3PU43_cjs.FFIDAnnouncementBadge; }
39
39
  });
40
40
  Object.defineProperty(exports, "FFIDAnnouncementList", {
41
41
  enumerable: true,
42
- get: function () { return chunkC254ATU6_cjs.FFIDAnnouncementList; }
42
+ get: function () { return chunkFAX3PU43_cjs.FFIDAnnouncementList; }
43
43
  });
44
44
  Object.defineProperty(exports, "FFIDLoginButton", {
45
45
  enumerable: true,
46
- get: function () { return chunkC254ATU6_cjs.FFIDLoginButton; }
46
+ get: function () { return chunkFAX3PU43_cjs.FFIDLoginButton; }
47
47
  });
48
48
  Object.defineProperty(exports, "FFIDOrganizationSwitcher", {
49
49
  enumerable: true,
50
- get: function () { return chunkC254ATU6_cjs.FFIDOrganizationSwitcher; }
50
+ get: function () { return chunkFAX3PU43_cjs.FFIDOrganizationSwitcher; }
51
51
  });
52
52
  Object.defineProperty(exports, "FFIDProvider", {
53
53
  enumerable: true,
54
- get: function () { return chunkC254ATU6_cjs.FFIDProvider; }
54
+ get: function () { return chunkFAX3PU43_cjs.FFIDProvider; }
55
55
  });
56
56
  Object.defineProperty(exports, "FFIDSubscriptionBadge", {
57
57
  enumerable: true,
58
- get: function () { return chunkC254ATU6_cjs.FFIDSubscriptionBadge; }
58
+ get: function () { return chunkFAX3PU43_cjs.FFIDSubscriptionBadge; }
59
59
  });
60
60
  Object.defineProperty(exports, "FFIDUserMenu", {
61
61
  enumerable: true,
62
- get: function () { return chunkC254ATU6_cjs.FFIDUserMenu; }
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 chunkC254ATU6_cjs.FFID_ANNOUNCEMENTS_ERROR_CODES; }
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 chunkC254ATU6_cjs.createFFIDAnnouncementsClient; }
70
+ get: function () { return chunkFAX3PU43_cjs.createFFIDAnnouncementsClient; }
71
71
  });
72
72
  Object.defineProperty(exports, "createFFIDClient", {
73
73
  enumerable: true,
74
- get: function () { return chunkC254ATU6_cjs.createFFIDClient; }
74
+ get: function () { return chunkFAX3PU43_cjs.createFFIDClient; }
75
75
  });
76
76
  Object.defineProperty(exports, "createTokenStore", {
77
77
  enumerable: true,
78
- get: function () { return chunkC254ATU6_cjs.createTokenStore; }
78
+ get: function () { return chunkFAX3PU43_cjs.createTokenStore; }
79
79
  });
80
80
  Object.defineProperty(exports, "generateCodeChallenge", {
81
81
  enumerable: true,
82
- get: function () { return chunkC254ATU6_cjs.generateCodeChallenge; }
82
+ get: function () { return chunkFAX3PU43_cjs.generateCodeChallenge; }
83
83
  });
84
84
  Object.defineProperty(exports, "generateCodeVerifier", {
85
85
  enumerable: true,
86
- get: function () { return chunkC254ATU6_cjs.generateCodeVerifier; }
86
+ get: function () { return chunkFAX3PU43_cjs.generateCodeVerifier; }
87
87
  });
88
88
  Object.defineProperty(exports, "retrieveCodeVerifier", {
89
89
  enumerable: true,
90
- get: function () { return chunkC254ATU6_cjs.retrieveCodeVerifier; }
90
+ get: function () { return chunkFAX3PU43_cjs.retrieveCodeVerifier; }
91
91
  });
92
92
  Object.defineProperty(exports, "storeCodeVerifier", {
93
93
  enumerable: true,
94
- get: function () { return chunkC254ATU6_cjs.storeCodeVerifier; }
94
+ get: function () { return chunkFAX3PU43_cjs.storeCodeVerifier; }
95
95
  });
96
96
  Object.defineProperty(exports, "useFFID", {
97
97
  enumerable: true,
98
- get: function () { return chunkC254ATU6_cjs.useFFID; }
98
+ get: function () { return chunkFAX3PU43_cjs.useFFID; }
99
99
  });
100
100
  Object.defineProperty(exports, "useFFIDAnnouncements", {
101
101
  enumerable: true,
102
- get: function () { return chunkC254ATU6_cjs.useFFIDAnnouncements; }
102
+ get: function () { return chunkFAX3PU43_cjs.useFFIDAnnouncements; }
103
103
  });
104
104
  Object.defineProperty(exports, "useSubscription", {
105
105
  enumerable: true,
106
- get: function () { return chunkC254ATU6_cjs.useSubscription; }
106
+ get: function () { return chunkFAX3PU43_cjs.useSubscription; }
107
107
  });
108
108
  Object.defineProperty(exports, "withSubscription", {
109
109
  enumerable: true,
110
- get: function () { return chunkC254ATU6_cjs.withSubscription; }
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 FFIDOAuthUserInfo, f as FFIDLogger, g as FFIDUser, h as FFIDOrganization, i as FFIDSubscriptionContextValue, j as FFIDAnnouncementsClientConfig, L as ListAnnouncementsOptions, k as FFIDAnnouncementsApiResponse, A as AnnouncementListResponse, l as FFIDAnnouncementsLogger } from './index-oF_MAO2T.cjs';
2
- export { m as Announcement, n as AnnouncementStatus, o as AnnouncementType, p as FFIDAnnouncementBadge, q as FFIDAnnouncementList, r as FFIDAnnouncementsError, s as FFIDAnnouncementsErrorCode, t as FFIDAnnouncementsServerResponse, u as FFIDContextValue, v as FFIDJwtClaims, w as FFIDLoginButton, x as FFIDOAuthTokenResponse, y as FFIDOAuthUserInfoMemberRole, z as FFIDOAuthUserInfoSubscription, B as FFIDOrganizationSwitcher, C as FFIDSeatModel, D as FFIDSubscription, E as FFIDSubscriptionBadge, G as FFIDSubscriptionStatus, H as FFIDTokenIntrospectionResponse, I as FFIDUserMenu, U as UseFFIDAnnouncementsOptions, J as UseFFIDAnnouncementsReturn, K as useFFIDAnnouncements } from './index-oF_MAO2T.cjs';
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 FFIDOAuthUserInfo, f as FFIDLogger, g as FFIDUser, h as FFIDOrganization, i as FFIDSubscriptionContextValue, j as FFIDAnnouncementsClientConfig, L as ListAnnouncementsOptions, k as FFIDAnnouncementsApiResponse, A as AnnouncementListResponse, l as FFIDAnnouncementsLogger } from './index-oF_MAO2T.js';
2
- export { m as Announcement, n as AnnouncementStatus, o as AnnouncementType, p as FFIDAnnouncementBadge, q as FFIDAnnouncementList, r as FFIDAnnouncementsError, s as FFIDAnnouncementsErrorCode, t as FFIDAnnouncementsServerResponse, u as FFIDContextValue, v as FFIDJwtClaims, w as FFIDLoginButton, x as FFIDOAuthTokenResponse, y as FFIDOAuthUserInfoMemberRole, z as FFIDOAuthUserInfoSubscription, B as FFIDOrganizationSwitcher, C as FFIDSeatModel, D as FFIDSubscription, E as FFIDSubscriptionBadge, G as FFIDSubscriptionStatus, H as FFIDTokenIntrospectionResponse, I as FFIDUserMenu, U as UseFFIDAnnouncementsOptions, J as UseFFIDAnnouncementsReturn, K as useFFIDAnnouncements } from './index-oF_MAO2T.js';
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-Q5XWUQHV.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-Q5XWUQHV.js';
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.6.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",