@feelflow/ffid-sdk 4.2.0 → 5.0.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.
@@ -0,0 +1,166 @@
1
+ import { F as FFIDConsentResult, a as FFIDConsentState, b as FFIDConsentUpdate, c as FFIDConsentCategories, d as FFIDConsentSyncResult, e as FFIDConsentCategoryMetadata, f as FFIDCookiePolicy, P as PostConsentWire, G as GetConsentMeWire, g as PostSyncWire, h as PostWithdrawWire } from '../FFIDCookieLink-B-9ggxsL.js';
2
+ export { A as ALL_DENIED_EXCEPT_NECESSARY, C as CONSENT_COOKIE_MAX_AGE_SEC, i as CONSENT_COOKIE_NAME, j as CONSENT_SESSION_STORAGE_KEY, k as COOKIE_VERSION, D as DEFAULT_CONSENT_ERROR_MESSAGES, l as DEFAULT_MERGE_WARNING_MESSAGES, m as DeviceIdSchema, n as FFIDAnalyticsProvider, o as FFIDAnalyticsProviderProps, p as FFIDConsentCategoriesSchema, q as FFIDConsentCategoryCode, r as FFIDConsentCategoryCodeSchema, s as FFIDConsentCategoryMetadataSchema, t as FFIDConsentContext, u as FFIDConsentContextValue, v as FFIDConsentError, w as FFIDConsentErrorCode, x as FFIDConsentMergeStrategy, y as FFIDConsentMergeStrategySchema, z as FFIDConsentMergeWarning, B as FFIDConsentMergeWarningSchema, E as FFIDConsentSource, H as FFIDConsentSourceSchema, I as FFIDConsentStateSchema, J as FFIDConsentUpdateSchema, K as FFIDCookieBanner, L as FFIDCookieBannerClassNames, M as FFIDCookieBannerProps, N as FFIDCookieLink, O as FFIDCookieLinkProps, Q as FFIDCookiePolicySchema, R as FFIDCookieSettings, S as FFIDCookieSettingsClassNames, T as FFIDCookieSettingsProps, U as FFIDInternalConsentSource, V as FFIDInternalConsentSourceSchema, W as FFIDPublicConsentSource, X as FFIDPublicConsentSourceSchema, Y as FFID_CONSENT_ERROR_CODES, Z as FFID_CONSENT_NOT_DECIDED_STATE, _ as GetCategoriesWire, $ as GetCategoriesWireSchema, a0 as GetConsentMeWireSchema, a1 as GetDocumentWire, a2 as GetDocumentWireSchema, a3 as GtagBridge, a4 as GtagBridgeOptions, a5 as PostConsentRequest, a6 as PostConsentRequestSchema, a7 as PostConsentWireSchema, a8 as PostSyncRequest, a9 as PostSyncRequestSchema, aa as PostSyncWireSchema, ab as PostWithdrawWireSchema, ac as UseFFIDConsentPreferencesReturn, ad as UseFFIDConsentReturn, ae as clearConsentSessionMirror, af as createGtagBridge, ag as decodeConsentCookie, ah as deleteConsentCookie, ai as encodeConsentCookie, aj as mapCategoriesToGtagParams, ak as readConsentCookie, al as readConsentSessionMirror, am as useFFIDConsent, an as useFFIDConsentPreferences, ao as writeConsentCookie, ap as writeConsentSessionMirror } from '../FFIDCookieLink-B-9ggxsL.js';
3
+ import 'react';
4
+ import 'zod';
5
+
6
+ /**
7
+ * Cookie Consent — Device ID generation and persistence.
8
+ *
9
+ * Spec §5.3 / §6.5:
10
+ * - 36-char UUIDv7 (time-ordered) stored in `localStorage:ffid_device_id`
11
+ * - sessionStorage ephemeral fallback when localStorage is unavailable
12
+ * (Safari Private Browsing, ITP cookie partition edge cases, etc.)
13
+ * - Server validates against `DeviceIdSchema` (UUIDv4 or UUIDv7 accepted).
14
+ *
15
+ * UUIDv7 layout (RFC 9562):
16
+ * - 48 bits: unix milliseconds (big-endian)
17
+ * - 4 bits: version (0b0111)
18
+ * - 12 bits: random
19
+ * - 2 bits: variant (0b10)
20
+ * - 62 bits: random
21
+ *
22
+ * Refs: docs/02-design/COOKIE_CONSENT.md §5.3, §6.5
23
+ */
24
+ declare const DEVICE_ID_LOCAL_STORAGE_KEY = "ffid_device_id";
25
+ declare const DEVICE_ID_SESSION_STORAGE_KEY = "ffid_device_id_ephemeral";
26
+ /**
27
+ * Generate a UUIDv7 string. Falls back to crypto.randomUUID() (v4) if
28
+ * `crypto.getRandomValues` is unavailable.
29
+ */
30
+ declare function generateDeviceId(): string;
31
+ declare function isValidDeviceId(id: string): boolean;
32
+ declare function isUuidV7(id: string): boolean;
33
+ /**
34
+ * Return existing device ID or create + persist a new one.
35
+ *
36
+ * Persistence order: localStorage (preferred) → sessionStorage (ephemeral
37
+ * fallback). If neither is available the ID is still returned but not
38
+ * persisted; the caller can pass it in headers but each call will get a fresh
39
+ * value (acceptable degradation per spec §5.3).
40
+ *
41
+ * Falling through to ephemeral triggers a one-time `console.warn` so the
42
+ * operator can debug Safari Private Browsing / quota / ITP cases without
43
+ * silently breaking the shared-device merge UX.
44
+ */
45
+ declare function getOrCreateDeviceId(): string;
46
+ /** Clear all stored device IDs (used by full withdrawal flows + tests). */
47
+ declare function clearDeviceId(): void;
48
+
49
+ /**
50
+ * Cookie Consent — FFID API client (6 endpoints, Zod-validated).
51
+ *
52
+ * All responses are safe-parsed against `*WireSchema`. Parse failures or
53
+ * network errors are mapped to `FFIDConsentError` so consumers receive a
54
+ * uniform error surface via `Result<T>` returns.
55
+ *
56
+ * **HTTP 429 auto-retry** (spec §5.6): one transparent retry with
57
+ * `Retry-After + ±20% jitter`. On the second 429 (or any other error) the
58
+ * mapped `FFIDConsentError` surfaces to `Result.error`.
59
+ *
60
+ * Auth:
61
+ * - `X-Service-Api-Key`: required for all endpoints (spec §5.2).
62
+ * - `X-FFID-Device-Id`: required for write paths (`/consent`, `/sync`,
63
+ * `/withdraw`) and recommended for reads.
64
+ * - `Authorization: Bearer <jwt>`: required only for `/sync`; optional for
65
+ * other endpoints. When present, server links the row to the user_id.
66
+ *
67
+ * Refs: docs/02-design/COOKIE_CONSENT.md §5 + §8
68
+ */
69
+
70
+ interface ConsentClientOptions {
71
+ /** FFID API base URL, e.g., `https://id.feelflow.net`. */
72
+ baseUrl: string;
73
+ /**
74
+ * Service API key that scopes this client to a registered FFID service.
75
+ * Surfaced through the `X-Service-Api-Key` header on every request.
76
+ */
77
+ serviceApiKey: string;
78
+ /** Resolves the current Bearer token, or null when the user is logged out. */
79
+ getAccessToken?: () => string | null | Promise<string | null>;
80
+ /**
81
+ * Resolves the device ID (UUIDv7). MUST return a non-empty string; the
82
+ * SDK throws `auth_failure` if this returns empty (state-not-ready guard).
83
+ */
84
+ getDeviceId: () => string;
85
+ /**
86
+ * Optional fetch implementation override. Defaults to global `fetch`.
87
+ * Useful for SSR contexts and tests.
88
+ */
89
+ fetchImpl?: typeof fetch;
90
+ /**
91
+ * Optional language code for `/categories` and `/document` (defaults to 'ja').
92
+ * The server falls back to JA when EN content is missing.
93
+ */
94
+ defaultLang?: 'ja' | 'en';
95
+ /**
96
+ * Maximum number of auto-retries on HTTP 429 (default: 1, per spec §5.6).
97
+ * Set to 0 to disable.
98
+ */
99
+ maxAutoRetry429?: number;
100
+ }
101
+ interface FFIDConsentClient {
102
+ /** `GET /api/v1/ext/consent/me` */
103
+ getMe(signal?: AbortSignal): Promise<FFIDConsentResult<FFIDConsentState>>;
104
+ /** `POST /api/v1/ext/consent` (banner / preference_center submit) */
105
+ submit(categories: Required<FFIDConsentUpdate>, source: 'banner' | 'preference_center', cookiePolicyVersion: string, signal?: AbortSignal): Promise<FFIDConsentResult<FFIDConsentState>>;
106
+ /** `POST /api/v1/ext/consent/sync` */
107
+ sync(localConsent: (FFIDConsentCategories & {
108
+ cookiePolicyVersion: string;
109
+ }) | null, signal?: AbortSignal): Promise<FFIDConsentResult<FFIDConsentSyncResult>>;
110
+ /** `POST /api/v1/ext/consent/withdraw` */
111
+ withdraw(signal?: AbortSignal): Promise<FFIDConsentResult<FFIDConsentState>>;
112
+ /** `GET /api/v1/ext/consent/categories` */
113
+ getCategories(lang?: 'ja' | 'en', signal?: AbortSignal): Promise<FFIDConsentResult<FFIDConsentCategoryMetadata[]>>;
114
+ /** `GET /api/v1/ext/consent/document` */
115
+ getDocument(lang?: 'ja' | 'en', signal?: AbortSignal): Promise<FFIDConsentResult<FFIDCookiePolicy>>;
116
+ }
117
+ /**
118
+ * Factory function returning a configured client. Idiomatic to the rest of
119
+ * the SDK (see `createFFIDClient`, `createKVCacheAdapter` etc.) — avoids
120
+ * exposing a class so the API surface stays narrow.
121
+ */
122
+ declare function createConsentClient(opts: ConsentClientOptions): FFIDConsentClient;
123
+
124
+ /**
125
+ * Cookie Consent — wire ↔ consumer type mappers.
126
+ *
127
+ * Routes return snake_case envelopes ("wire" types); React consumers expect
128
+ * the camelCase discriminated union (`FFIDConsentState`, see spec §6.4).
129
+ * Map at the SDK boundary so consumer code never touches snake_case keys.
130
+ */
131
+
132
+ /**
133
+ * Convert `GET /me` wire response to the SDK consumer's discriminated union.
134
+ *
135
+ * When `consent` is null the server hasn't recorded any decision yet — emit
136
+ * the "no decision" branch with `default_state` (or hard-coded default-deny)
137
+ * as the categories.
138
+ *
139
+ * When `consent` is non-null but the server doesn't surface the original
140
+ * source (spec §6.4 wire schema omits `source` on `/me`), we report
141
+ * `persisted_unknown` to signal "decision is on file but its origin label is
142
+ * not available" — distinct from `sdk_default` which means "no decision yet".
143
+ */
144
+ declare function mapMeWireToState(wire: GetConsentMeWire): FFIDConsentState;
145
+ /**
146
+ * Convert a `POST /consent` response into a consumer state. The submission
147
+ * `source` is supplied by the caller because the wire envelope echoes the
148
+ * stored row but not the original `source` field.
149
+ */
150
+ declare function mapConsentWireToState(wire: PostConsentWire, source: 'banner' | 'preference_center'): FFIDConsentState;
151
+ /**
152
+ * Convert a `POST /withdraw` response into a consumer state. Withdrawal sets
153
+ * all optional categories to false (DB CHECK invariant per spec §4.1).
154
+ */
155
+ declare function mapWithdrawWireToState(wire: PostWithdrawWire): FFIDConsentState;
156
+ /**
157
+ * Convert a `POST /sync` response into the structured sync result. SDK
158
+ * consumers should always read `warning` and surface non-null values to the
159
+ * user per spec §5.3 (silent merge forbidden).
160
+ *
161
+ * `wire.merge_strategy` and `wire.warning` are already typed via Zod-derived
162
+ * `PostSyncWire`, so no `as` cast is needed at this boundary.
163
+ */
164
+ declare function mapSyncWireToResult(wire: PostSyncWire): FFIDConsentSyncResult;
165
+
166
+ export { type ConsentClientOptions, DEVICE_ID_LOCAL_STORAGE_KEY, DEVICE_ID_SESSION_STORAGE_KEY, FFIDConsentCategories, FFIDConsentCategoryMetadata, type FFIDConsentClient, FFIDConsentResult, FFIDConsentState, FFIDConsentSyncResult, FFIDConsentUpdate, FFIDCookiePolicy, GetConsentMeWire, PostConsentWire, PostSyncWire, PostWithdrawWire, clearDeviceId, createConsentClient, generateDeviceId, getOrCreateDeviceId, isUuidV7, isValidDeviceId, mapConsentWireToState, mapMeWireToState, mapSyncWireToResult, mapWithdrawWireToState };
@@ -0,0 +1 @@
1
+ export { ALL_DENIED_EXCEPT_NECESSARY, CONSENT_COOKIE_MAX_AGE_SEC, CONSENT_COOKIE_NAME, CONSENT_SESSION_STORAGE_KEY, COOKIE_VERSION, DEFAULT_CONSENT_ERROR_MESSAGES, DEFAULT_MERGE_WARNING_MESSAGES, DEVICE_ID_LOCAL_STORAGE_KEY, DEVICE_ID_SESSION_STORAGE_KEY, DeviceIdSchema, FFIDAnalyticsProvider, FFIDConsentCategoriesSchema, FFIDConsentCategoryCodeSchema, FFIDConsentCategoryMetadataSchema, FFIDConsentContext, FFIDConsentError, FFIDConsentMergeStrategySchema, FFIDConsentMergeWarningSchema, FFIDConsentSourceSchema, FFIDConsentStateSchema, FFIDConsentUpdateSchema, FFIDCookieBanner, FFIDCookieLink, FFIDCookiePolicySchema, FFIDCookieSettings, FFIDInternalConsentSourceSchema, FFIDPublicConsentSourceSchema, FFID_CONSENT_ERROR_CODES, FFID_CONSENT_NOT_DECIDED_STATE, GetCategoriesWireSchema, GetConsentMeWireSchema, GetDocumentWireSchema, PostConsentRequestSchema, PostConsentWireSchema, PostSyncRequestSchema, PostSyncWireSchema, PostWithdrawWireSchema, clearConsentSessionMirror, clearDeviceId, createConsentClient, createGtagBridge, decodeConsentCookie, deleteConsentCookie, encodeConsentCookie, generateDeviceId, getOrCreateDeviceId, isUuidV7, isValidDeviceId, mapCategoriesToGtagParams, mapConsentWireToState, mapMeWireToState, mapSyncWireToResult, mapWithdrawWireToState, readConsentCookie, readConsentSessionMirror, useFFIDConsent, useFFIDConsentPreferences, writeConsentCookie, writeConsentSessionMirror } from '../chunk-CISVLEY5.js';
@@ -867,6 +867,8 @@ interface FFIDCreatePortalParams {
867
867
 
868
868
  /** Member role in an organization */
869
869
  type FFIDMemberRole = 'owner' | 'admin' | 'member' | 'viewer';
870
+ /** Member role assignable through organization member management APIs */
871
+ type FFIDAssignableMemberRole = Exclude<FFIDMemberRole, 'owner'>;
870
872
  /** Member status in an organization */
871
873
  type FFIDMemberStatus = 'active' | 'invited' | 'suspended';
872
874
  /** Organization member returned by the ext members API */
@@ -895,6 +897,19 @@ interface FFIDListMembersResponse {
895
897
  organizationId: string;
896
898
  members: FFIDOrganizationMember[];
897
899
  }
900
+ /** Request body for addMember (ext) */
901
+ interface FFIDAddMemberRequest {
902
+ email: string;
903
+ role?: FFIDAssignableMemberRole;
904
+ }
905
+ /** Params object for addMember (ext), matching the existing organization members methods */
906
+ interface FFIDAddMemberParams extends FFIDAddMemberRequest {
907
+ organizationId: string;
908
+ }
909
+ /** Response from addMember (ext) */
910
+ interface FFIDAddMemberResponse {
911
+ member: FFIDOrganizationMember;
912
+ }
898
913
  /** Response from updateMemberRole (ext) */
899
914
  interface FFIDUpdateMemberRoleResponse {
900
915
  member: FFIDOrganizationMember;
@@ -1223,6 +1238,10 @@ declare function createFFIDClient(config: FFIDConfig): {
1223
1238
  listMembers: (params: {
1224
1239
  organizationId: string;
1225
1240
  }) => Promise<FFIDApiResponse<FFIDListMembersResponse>>;
1241
+ addMember: {
1242
+ (params: FFIDAddMemberParams): Promise<FFIDApiResponse<FFIDAddMemberResponse>>;
1243
+ (organizationId: string, data: FFIDAddMemberRequest): Promise<FFIDApiResponse<FFIDAddMemberResponse>>;
1244
+ };
1226
1245
  updateMemberRole: (params: {
1227
1246
  organizationId: string;
1228
1247
  userId: string;
@@ -1292,4 +1311,4 @@ declare function createFFIDClient(config: FFIDConfig): {
1292
1311
  /** Type of the FFID client */
1293
1312
  type FFIDClient = ReturnType<typeof createFFIDClient>;
1294
1313
 
1295
- export { type FFIDLogger as F, type TokenData as T, type FFIDError as a, type FFIDCacheAdapter as b, type FFIDVerifyAccessTokenOptions as c, type FFIDApiResponse as d, type FFIDOAuthUserInfo as e, type FFIDCacheConfig as f, type FFIDClient as g, type FFIDConfig as h, type FFIDOrganization as i, type FFIDOtpSendResponse as j, type FFIDOtpVerifyResponse as k, type FFIDPasswordResetConfirmResponse as l, type FFIDPasswordResetResponse as m, type FFIDPasswordResetVerifyResponse as n, type FFIDProfileCallOptions as o, type FFIDResetSessionResponse as p, type FFIDSubscription as q, type FFIDUpdateUserProfileRequest as r, type FFIDUser as s, type FFIDUserProfile as t, type TokenStore as u, createFFIDClient as v, createTokenStore as w };
1314
+ export { type FFIDUpdateUserProfileRequest as A, type FFIDUser as B, type FFIDUserProfile as C, type TokenStore as D, createFFIDClient as E, type FFIDLogger as F, createTokenStore as G, type TokenData as T, type FFIDError as a, type FFIDCacheAdapter as b, type FFIDVerifyAccessTokenOptions as c, type FFIDApiResponse as d, type FFIDOAuthUserInfo as e, type FFIDAddMemberParams as f, type FFIDAddMemberRequest as g, type FFIDAddMemberResponse as h, type FFIDAssignableMemberRole as i, type FFIDCacheConfig as j, type FFIDClient as k, type FFIDConfig as l, type FFIDListMembersResponse as m, type FFIDMemberRole as n, type FFIDOrganization as o, type FFIDOrganizationMember as p, type FFIDOtpSendResponse as q, type FFIDOtpVerifyResponse as r, type FFIDPasswordResetConfirmResponse as s, type FFIDPasswordResetResponse as t, type FFIDPasswordResetVerifyResponse as u, type FFIDProfileCallOptions as v, type FFIDRemoveMemberResponse as w, type FFIDResetSessionResponse as x, type FFIDSubscription as y, type FFIDUpdateMemberRoleResponse as z };
@@ -867,6 +867,8 @@ interface FFIDCreatePortalParams {
867
867
 
868
868
  /** Member role in an organization */
869
869
  type FFIDMemberRole = 'owner' | 'admin' | 'member' | 'viewer';
870
+ /** Member role assignable through organization member management APIs */
871
+ type FFIDAssignableMemberRole = Exclude<FFIDMemberRole, 'owner'>;
870
872
  /** Member status in an organization */
871
873
  type FFIDMemberStatus = 'active' | 'invited' | 'suspended';
872
874
  /** Organization member returned by the ext members API */
@@ -895,6 +897,19 @@ interface FFIDListMembersResponse {
895
897
  organizationId: string;
896
898
  members: FFIDOrganizationMember[];
897
899
  }
900
+ /** Request body for addMember (ext) */
901
+ interface FFIDAddMemberRequest {
902
+ email: string;
903
+ role?: FFIDAssignableMemberRole;
904
+ }
905
+ /** Params object for addMember (ext), matching the existing organization members methods */
906
+ interface FFIDAddMemberParams extends FFIDAddMemberRequest {
907
+ organizationId: string;
908
+ }
909
+ /** Response from addMember (ext) */
910
+ interface FFIDAddMemberResponse {
911
+ member: FFIDOrganizationMember;
912
+ }
898
913
  /** Response from updateMemberRole (ext) */
899
914
  interface FFIDUpdateMemberRoleResponse {
900
915
  member: FFIDOrganizationMember;
@@ -1223,6 +1238,10 @@ declare function createFFIDClient(config: FFIDConfig): {
1223
1238
  listMembers: (params: {
1224
1239
  organizationId: string;
1225
1240
  }) => Promise<FFIDApiResponse<FFIDListMembersResponse>>;
1241
+ addMember: {
1242
+ (params: FFIDAddMemberParams): Promise<FFIDApiResponse<FFIDAddMemberResponse>>;
1243
+ (organizationId: string, data: FFIDAddMemberRequest): Promise<FFIDApiResponse<FFIDAddMemberResponse>>;
1244
+ };
1226
1245
  updateMemberRole: (params: {
1227
1246
  organizationId: string;
1228
1247
  userId: string;
@@ -1292,4 +1311,4 @@ declare function createFFIDClient(config: FFIDConfig): {
1292
1311
  /** Type of the FFID client */
1293
1312
  type FFIDClient = ReturnType<typeof createFFIDClient>;
1294
1313
 
1295
- export { type FFIDLogger as F, type TokenData as T, type FFIDError as a, type FFIDCacheAdapter as b, type FFIDVerifyAccessTokenOptions as c, type FFIDApiResponse as d, type FFIDOAuthUserInfo as e, type FFIDCacheConfig as f, type FFIDClient as g, type FFIDConfig as h, type FFIDOrganization as i, type FFIDOtpSendResponse as j, type FFIDOtpVerifyResponse as k, type FFIDPasswordResetConfirmResponse as l, type FFIDPasswordResetResponse as m, type FFIDPasswordResetVerifyResponse as n, type FFIDProfileCallOptions as o, type FFIDResetSessionResponse as p, type FFIDSubscription as q, type FFIDUpdateUserProfileRequest as r, type FFIDUser as s, type FFIDUserProfile as t, type TokenStore as u, createFFIDClient as v, createTokenStore as w };
1314
+ export { type FFIDUpdateUserProfileRequest as A, type FFIDUser as B, type FFIDUserProfile as C, type TokenStore as D, createFFIDClient as E, type FFIDLogger as F, createTokenStore as G, type TokenData as T, type FFIDError as a, type FFIDCacheAdapter as b, type FFIDVerifyAccessTokenOptions as c, type FFIDApiResponse as d, type FFIDOAuthUserInfo as e, type FFIDAddMemberParams as f, type FFIDAddMemberRequest as g, type FFIDAddMemberResponse as h, type FFIDAssignableMemberRole as i, type FFIDCacheConfig as j, type FFIDClient as k, type FFIDConfig as l, type FFIDListMembersResponse as m, type FFIDMemberRole as n, type FFIDOrganization as o, type FFIDOrganizationMember as p, type FFIDOtpSendResponse as q, type FFIDOtpVerifyResponse as r, type FFIDPasswordResetConfirmResponse as s, type FFIDPasswordResetResponse as t, type FFIDPasswordResetVerifyResponse as u, type FFIDProfileCallOptions as v, type FFIDRemoveMemberResponse as w, type FFIDResetSessionResponse as x, type FFIDSubscription as y, type FFIDUpdateMemberRoleResponse as z };
@@ -573,6 +573,8 @@ interface FFIDCreatePortalParams {
573
573
 
574
574
  /** Member role in an organization */
575
575
  type FFIDMemberRole = 'owner' | 'admin' | 'member' | 'viewer';
576
+ /** Member role assignable through organization member management APIs */
577
+ type FFIDAssignableMemberRole = Exclude<FFIDMemberRole, 'owner'>;
576
578
  /** Member status in an organization */
577
579
  type FFIDMemberStatus = 'active' | 'invited' | 'suspended';
578
580
  /** Organization member returned by the ext members API */
@@ -601,6 +603,19 @@ interface FFIDListMembersResponse {
601
603
  organizationId: string;
602
604
  members: FFIDOrganizationMember[];
603
605
  }
606
+ /** Request body for addMember (ext) */
607
+ interface FFIDAddMemberRequest {
608
+ email: string;
609
+ role?: FFIDAssignableMemberRole;
610
+ }
611
+ /** Params object for addMember (ext), matching the existing organization members methods */
612
+ interface FFIDAddMemberParams extends FFIDAddMemberRequest {
613
+ organizationId: string;
614
+ }
615
+ /** Response from addMember (ext) */
616
+ interface FFIDAddMemberResponse {
617
+ member: FFIDOrganizationMember;
618
+ }
604
619
  /** Response from updateMemberRole (ext) */
605
620
  interface FFIDUpdateMemberRoleResponse {
606
621
  member: FFIDOrganizationMember;
@@ -1518,4 +1533,4 @@ interface FFIDInquiryFormPlaceholderContext {
1518
1533
  }
1519
1534
  declare function FFIDInquiryForm({ mode, prefill, organizations, preselectedOrganizationId, categories, termsVersion, privacyVersion, termsHref, privacyHref, turnstileToken, turnstileSlot, onSubmit, onChange, legalLayout, messagePlaceholder, requireCategorySelection, unstyled, classNames, locale, className, }: FFIDInquiryFormProps): react_jsx_runtime.JSX.Element;
1520
1535
 
1521
- export { type FFIDInquiryFormLegalLayout as $, type FFIDCacheAdapter as A, type FFIDUser as B, type FFIDOrganization as C, type FFIDSubscription as D, type FFIDSubscriptionContextValue as E, type FFIDSubscriptionStatus as F, type EffectiveSubscriptionStatus as G, type FFIDAnnouncementsClientConfig as H, type FFIDAnnouncementsApiResponse as I, type AnnouncementListResponse as J, type FFIDAnnouncementsLogger as K, type ListAnnouncementsOptions 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 FFIDCacheConfig as U, type FFIDContextValue as V, type FFIDInquiryCategory as W, type FFIDInquiryCategorySite2026 as X, FFIDInquiryForm as Y, type FFIDInquiryFormCategoryItem as Z, type FFIDInquiryFormClassNames as _, type FFIDConfig as a, type FFIDInquiryFormOrganization as a0, type FFIDInquiryFormPlaceholderContext as a1, type FFIDInquiryFormPrefill as a2, type FFIDInquiryFormProps as a3, type FFIDInquiryFormSubmitData as a4, type FFIDInquiryFormSubmitResult as a5, type FFIDJwtClaims as a6, FFIDLoginButton as a7, type FFIDMemberStatus as a8, type FFIDOAuthTokenResponse as a9, type FFIDUserMenuClassNames as aA, type FFIDUserMenuProps as aB, type FFIDOAuthUserInfoMemberRole as aa, type FFIDOAuthUserInfoSubscription as ab, type FFIDOrganizationMember as ac, FFIDOrganizationSwitcher as ad, type FFIDRedirectErrorCode as ae, type FFIDSeatModel as af, type FFIDServiceAccessDenialReason as ag, type FFIDServiceAccessFailPolicy as ah, FFIDSubscriptionBadge as ai, type FFIDTokenIntrospectionResponse as aj, FFIDUserMenu as ak, FFID_INQUIRY_CATEGORIES as al, FFID_INQUIRY_CATEGORIES_SITE_2026 as am, type UseFFIDAnnouncementsOptions as an, type UseFFIDAnnouncementsReturn as ao, isFFIDInquiryCategorySite2026 as ap, useFFIDAnnouncements as aq, type FFIDAnnouncementBadgeClassNames as ar, type FFIDAnnouncementBadgeProps as as, type FFIDAnnouncementListClassNames as at, type FFIDAnnouncementListProps as au, type FFIDLoginButtonProps as av, type FFIDOrganizationSwitcherClassNames as aw, type FFIDOrganizationSwitcherProps as ax, type FFIDSubscriptionBadgeClassNames as ay, type FFIDSubscriptionBadgeProps as az, type FFIDApiResponse as b, type FFIDSessionResponse as c, type FFIDRedirectResult as d, type FFIDError as e, type FFIDSubscriptionCheckResponse as f, type FFIDCheckServiceAccessParams as g, type FFIDServiceAccessDecision as h, type FFIDListMembersResponse as i, type FFIDMemberRole as j, type FFIDUpdateMemberRoleResponse as k, type FFIDRemoveMemberResponse as l, type FFIDProfileCallOptions as m, type FFIDUserProfile as n, type FFIDUpdateUserProfileRequest as o, type FFIDAnalyticsConfig as p, type FFIDCreateCheckoutParams as q, type FFIDCheckoutSessionResponse as r, type FFIDCreatePortalParams as s, type FFIDPortalSessionResponse as t, type FFIDVerifyAccessTokenOptions as u, type FFIDOAuthUserInfo as v, type FFIDInquiryCreateParams as w, type FFIDInquiryCreateResponse as x, type FFIDAuthMode as y, type FFIDLogger as z };
1536
+ export { type FFIDInquiryCategorySite2026 as $, type FFIDInquiryCreateResponse as A, type FFIDAuthMode as B, type FFIDLogger as C, type FFIDCacheAdapter as D, type FFIDUser as E, type FFIDSubscriptionStatus as F, type FFIDOrganization as G, type FFIDSubscription as H, type FFIDSubscriptionContextValue as I, type EffectiveSubscriptionStatus as J, type FFIDAnnouncementsClientConfig as K, type ListAnnouncementsOptions as L, type FFIDAnnouncementsApiResponse as M, type AnnouncementListResponse as N, type FFIDAnnouncementsLogger as O, type Announcement as P, type AnnouncementStatus as Q, type AnnouncementType as R, FFIDAnnouncementBadge as S, FFIDAnnouncementList as T, type FFIDAnnouncementsError as U, type FFIDAnnouncementsErrorCode as V, type FFIDAnnouncementsServerResponse as W, type FFIDAssignableMemberRole as X, type FFIDCacheConfig as Y, type FFIDContextValue as Z, type FFIDInquiryCategory as _, type FFIDConfig as a, FFIDInquiryForm as a0, type FFIDInquiryFormCategoryItem as a1, type FFIDInquiryFormClassNames as a2, type FFIDInquiryFormLegalLayout as a3, type FFIDInquiryFormOrganization as a4, type FFIDInquiryFormPlaceholderContext as a5, type FFIDInquiryFormPrefill as a6, type FFIDInquiryFormProps as a7, type FFIDInquiryFormSubmitData as a8, type FFIDInquiryFormSubmitResult as a9, type FFIDOrganizationSwitcherClassNames as aA, type FFIDOrganizationSwitcherProps as aB, type FFIDSubscriptionBadgeClassNames as aC, type FFIDSubscriptionBadgeProps as aD, type FFIDUserMenuClassNames as aE, type FFIDUserMenuProps as aF, type FFIDJwtClaims as aa, FFIDLoginButton as ab, type FFIDMemberStatus as ac, type FFIDOAuthTokenResponse as ad, type FFIDOAuthUserInfoMemberRole as ae, type FFIDOAuthUserInfoSubscription as af, type FFIDOrganizationMember as ag, FFIDOrganizationSwitcher as ah, type FFIDRedirectErrorCode as ai, type FFIDSeatModel as aj, type FFIDServiceAccessDenialReason as ak, type FFIDServiceAccessFailPolicy as al, FFIDSubscriptionBadge as am, type FFIDTokenIntrospectionResponse as an, FFIDUserMenu as ao, FFID_INQUIRY_CATEGORIES as ap, FFID_INQUIRY_CATEGORIES_SITE_2026 as aq, type UseFFIDAnnouncementsOptions as ar, type UseFFIDAnnouncementsReturn as as, isFFIDInquiryCategorySite2026 as at, useFFIDAnnouncements as au, type FFIDAnnouncementBadgeClassNames as av, type FFIDAnnouncementBadgeProps as aw, type FFIDAnnouncementListClassNames as ax, type FFIDAnnouncementListProps as ay, type FFIDLoginButtonProps as az, type FFIDApiResponse as b, type FFIDSessionResponse as c, type FFIDRedirectResult as d, type FFIDError as e, type FFIDSubscriptionCheckResponse as f, type FFIDCheckServiceAccessParams as g, type FFIDServiceAccessDecision as h, type FFIDListMembersResponse as i, type FFIDAddMemberParams as j, type FFIDAddMemberResponse as k, type FFIDAddMemberRequest as l, type FFIDMemberRole as m, type FFIDUpdateMemberRoleResponse as n, type FFIDRemoveMemberResponse as o, type FFIDProfileCallOptions as p, type FFIDUserProfile as q, type FFIDUpdateUserProfileRequest as r, type FFIDAnalyticsConfig as s, type FFIDCreateCheckoutParams as t, type FFIDCheckoutSessionResponse as u, type FFIDCreatePortalParams as v, type FFIDPortalSessionResponse as w, type FFIDVerifyAccessTokenOptions as x, type FFIDOAuthUserInfo as y, type FFIDInquiryCreateParams as z };
@@ -573,6 +573,8 @@ interface FFIDCreatePortalParams {
573
573
 
574
574
  /** Member role in an organization */
575
575
  type FFIDMemberRole = 'owner' | 'admin' | 'member' | 'viewer';
576
+ /** Member role assignable through organization member management APIs */
577
+ type FFIDAssignableMemberRole = Exclude<FFIDMemberRole, 'owner'>;
576
578
  /** Member status in an organization */
577
579
  type FFIDMemberStatus = 'active' | 'invited' | 'suspended';
578
580
  /** Organization member returned by the ext members API */
@@ -601,6 +603,19 @@ interface FFIDListMembersResponse {
601
603
  organizationId: string;
602
604
  members: FFIDOrganizationMember[];
603
605
  }
606
+ /** Request body for addMember (ext) */
607
+ interface FFIDAddMemberRequest {
608
+ email: string;
609
+ role?: FFIDAssignableMemberRole;
610
+ }
611
+ /** Params object for addMember (ext), matching the existing organization members methods */
612
+ interface FFIDAddMemberParams extends FFIDAddMemberRequest {
613
+ organizationId: string;
614
+ }
615
+ /** Response from addMember (ext) */
616
+ interface FFIDAddMemberResponse {
617
+ member: FFIDOrganizationMember;
618
+ }
604
619
  /** Response from updateMemberRole (ext) */
605
620
  interface FFIDUpdateMemberRoleResponse {
606
621
  member: FFIDOrganizationMember;
@@ -1518,4 +1533,4 @@ interface FFIDInquiryFormPlaceholderContext {
1518
1533
  }
1519
1534
  declare function FFIDInquiryForm({ mode, prefill, organizations, preselectedOrganizationId, categories, termsVersion, privacyVersion, termsHref, privacyHref, turnstileToken, turnstileSlot, onSubmit, onChange, legalLayout, messagePlaceholder, requireCategorySelection, unstyled, classNames, locale, className, }: FFIDInquiryFormProps): react_jsx_runtime.JSX.Element;
1520
1535
 
1521
- export { type FFIDInquiryFormLegalLayout as $, type FFIDCacheAdapter as A, type FFIDUser as B, type FFIDOrganization as C, type FFIDSubscription as D, type FFIDSubscriptionContextValue as E, type FFIDSubscriptionStatus as F, type EffectiveSubscriptionStatus as G, type FFIDAnnouncementsClientConfig as H, type FFIDAnnouncementsApiResponse as I, type AnnouncementListResponse as J, type FFIDAnnouncementsLogger as K, type ListAnnouncementsOptions 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 FFIDCacheConfig as U, type FFIDContextValue as V, type FFIDInquiryCategory as W, type FFIDInquiryCategorySite2026 as X, FFIDInquiryForm as Y, type FFIDInquiryFormCategoryItem as Z, type FFIDInquiryFormClassNames as _, type FFIDConfig as a, type FFIDInquiryFormOrganization as a0, type FFIDInquiryFormPlaceholderContext as a1, type FFIDInquiryFormPrefill as a2, type FFIDInquiryFormProps as a3, type FFIDInquiryFormSubmitData as a4, type FFIDInquiryFormSubmitResult as a5, type FFIDJwtClaims as a6, FFIDLoginButton as a7, type FFIDMemberStatus as a8, type FFIDOAuthTokenResponse as a9, type FFIDUserMenuClassNames as aA, type FFIDUserMenuProps as aB, type FFIDOAuthUserInfoMemberRole as aa, type FFIDOAuthUserInfoSubscription as ab, type FFIDOrganizationMember as ac, FFIDOrganizationSwitcher as ad, type FFIDRedirectErrorCode as ae, type FFIDSeatModel as af, type FFIDServiceAccessDenialReason as ag, type FFIDServiceAccessFailPolicy as ah, FFIDSubscriptionBadge as ai, type FFIDTokenIntrospectionResponse as aj, FFIDUserMenu as ak, FFID_INQUIRY_CATEGORIES as al, FFID_INQUIRY_CATEGORIES_SITE_2026 as am, type UseFFIDAnnouncementsOptions as an, type UseFFIDAnnouncementsReturn as ao, isFFIDInquiryCategorySite2026 as ap, useFFIDAnnouncements as aq, type FFIDAnnouncementBadgeClassNames as ar, type FFIDAnnouncementBadgeProps as as, type FFIDAnnouncementListClassNames as at, type FFIDAnnouncementListProps as au, type FFIDLoginButtonProps as av, type FFIDOrganizationSwitcherClassNames as aw, type FFIDOrganizationSwitcherProps as ax, type FFIDSubscriptionBadgeClassNames as ay, type FFIDSubscriptionBadgeProps as az, type FFIDApiResponse as b, type FFIDSessionResponse as c, type FFIDRedirectResult as d, type FFIDError as e, type FFIDSubscriptionCheckResponse as f, type FFIDCheckServiceAccessParams as g, type FFIDServiceAccessDecision as h, type FFIDListMembersResponse as i, type FFIDMemberRole as j, type FFIDUpdateMemberRoleResponse as k, type FFIDRemoveMemberResponse as l, type FFIDProfileCallOptions as m, type FFIDUserProfile as n, type FFIDUpdateUserProfileRequest as o, type FFIDAnalyticsConfig as p, type FFIDCreateCheckoutParams as q, type FFIDCheckoutSessionResponse as r, type FFIDCreatePortalParams as s, type FFIDPortalSessionResponse as t, type FFIDVerifyAccessTokenOptions as u, type FFIDOAuthUserInfo as v, type FFIDInquiryCreateParams as w, type FFIDInquiryCreateResponse as x, type FFIDAuthMode as y, type FFIDLogger as z };
1536
+ export { type FFIDInquiryCategorySite2026 as $, type FFIDInquiryCreateResponse as A, type FFIDAuthMode as B, type FFIDLogger as C, type FFIDCacheAdapter as D, type FFIDUser as E, type FFIDSubscriptionStatus as F, type FFIDOrganization as G, type FFIDSubscription as H, type FFIDSubscriptionContextValue as I, type EffectiveSubscriptionStatus as J, type FFIDAnnouncementsClientConfig as K, type ListAnnouncementsOptions as L, type FFIDAnnouncementsApiResponse as M, type AnnouncementListResponse as N, type FFIDAnnouncementsLogger as O, type Announcement as P, type AnnouncementStatus as Q, type AnnouncementType as R, FFIDAnnouncementBadge as S, FFIDAnnouncementList as T, type FFIDAnnouncementsError as U, type FFIDAnnouncementsErrorCode as V, type FFIDAnnouncementsServerResponse as W, type FFIDAssignableMemberRole as X, type FFIDCacheConfig as Y, type FFIDContextValue as Z, type FFIDInquiryCategory as _, type FFIDConfig as a, FFIDInquiryForm as a0, type FFIDInquiryFormCategoryItem as a1, type FFIDInquiryFormClassNames as a2, type FFIDInquiryFormLegalLayout as a3, type FFIDInquiryFormOrganization as a4, type FFIDInquiryFormPlaceholderContext as a5, type FFIDInquiryFormPrefill as a6, type FFIDInquiryFormProps as a7, type FFIDInquiryFormSubmitData as a8, type FFIDInquiryFormSubmitResult as a9, type FFIDOrganizationSwitcherClassNames as aA, type FFIDOrganizationSwitcherProps as aB, type FFIDSubscriptionBadgeClassNames as aC, type FFIDSubscriptionBadgeProps as aD, type FFIDUserMenuClassNames as aE, type FFIDUserMenuProps as aF, type FFIDJwtClaims as aa, FFIDLoginButton as ab, type FFIDMemberStatus as ac, type FFIDOAuthTokenResponse as ad, type FFIDOAuthUserInfoMemberRole as ae, type FFIDOAuthUserInfoSubscription as af, type FFIDOrganizationMember as ag, FFIDOrganizationSwitcher as ah, type FFIDRedirectErrorCode as ai, type FFIDSeatModel as aj, type FFIDServiceAccessDenialReason as ak, type FFIDServiceAccessFailPolicy as al, FFIDSubscriptionBadge as am, type FFIDTokenIntrospectionResponse as an, FFIDUserMenu as ao, FFID_INQUIRY_CATEGORIES as ap, FFID_INQUIRY_CATEGORIES_SITE_2026 as aq, type UseFFIDAnnouncementsOptions as ar, type UseFFIDAnnouncementsReturn as as, isFFIDInquiryCategorySite2026 as at, useFFIDAnnouncements as au, type FFIDAnnouncementBadgeClassNames as av, type FFIDAnnouncementBadgeProps as aw, type FFIDAnnouncementListClassNames as ax, type FFIDAnnouncementListProps as ay, type FFIDLoginButtonProps as az, type FFIDApiResponse as b, type FFIDSessionResponse as c, type FFIDRedirectResult as d, type FFIDError as e, type FFIDSubscriptionCheckResponse as f, type FFIDCheckServiceAccessParams as g, type FFIDServiceAccessDecision as h, type FFIDListMembersResponse as i, type FFIDAddMemberParams as j, type FFIDAddMemberResponse as k, type FFIDAddMemberRequest as l, type FFIDMemberRole as m, type FFIDUpdateMemberRoleResponse as n, type FFIDRemoveMemberResponse as o, type FFIDProfileCallOptions as p, type FFIDUserProfile as q, type FFIDUpdateUserProfileRequest as r, type FFIDAnalyticsConfig as s, type FFIDCreateCheckoutParams as t, type FFIDCheckoutSessionResponse as u, type FFIDCreatePortalParams as v, type FFIDPortalSessionResponse as w, type FFIDVerifyAccessTokenOptions as x, type FFIDOAuthUserInfo as y, type FFIDInquiryCreateParams as z };
package/dist/index.cjs CHANGED
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkU4XDH7TI_cjs = require('./chunk-U4XDH7TI.cjs');
3
+ var chunkCJA3XQUF_cjs = require('./chunk-CJA3XQUF.cjs');
4
+ var chunkPAQ4GZXN_cjs = require('./chunk-PAQ4GZXN.cjs');
4
5
  var react = require('react');
5
6
  var jsxRuntime = require('react/jsx-runtime');
6
7
 
@@ -53,8 +54,8 @@ function defaultRedirect(url) {
53
54
  }
54
55
  function useRequireActiveSubscription(options) {
55
56
  const { redirectTo, allowGrace = true, onRedirect } = options;
56
- const { isLoading, error } = chunkU4XDH7TI_cjs.useFFIDContext();
57
- const { effectiveStatus, isBlocked, isGrace } = chunkU4XDH7TI_cjs.useSubscription();
57
+ const { isLoading, error } = chunkCJA3XQUF_cjs.useFFIDContext();
58
+ const { effectiveStatus, isBlocked, isGrace } = chunkCJA3XQUF_cjs.useSubscription();
58
59
  const hasFetchError = error !== null && effectiveStatus === null;
59
60
  const shouldRedirect = !isLoading && !hasFetchError && (isBlocked || !allowGrace && isGrace || effectiveStatus === null);
60
61
  react.useEffect(() => {
@@ -75,7 +76,7 @@ function useRequireActiveSubscription(options) {
75
76
  }
76
77
  function withFFIDAuth(Component, options = {}) {
77
78
  const WrappedComponent = (props) => {
78
- const { isLoading, isAuthenticated, login } = chunkU4XDH7TI_cjs.useFFIDContext();
79
+ const { isLoading, isAuthenticated, login } = chunkCJA3XQUF_cjs.useFFIDContext();
79
80
  const hasRedirected = react.useRef(false);
80
81
  react.useEffect(() => {
81
82
  if (!isLoading && !isAuthenticated && options.redirectToLogin && !hasRedirected.current) {
@@ -104,115 +105,179 @@ var FFID_NEWSLETTER_DISPATCH_MAX_RECIPIENTS = 1e3;
104
105
 
105
106
  Object.defineProperty(exports, "DEFAULT_API_BASE_URL", {
106
107
  enumerable: true,
107
- get: function () { return chunkU4XDH7TI_cjs.DEFAULT_API_BASE_URL; }
108
+ get: function () { return chunkCJA3XQUF_cjs.DEFAULT_API_BASE_URL; }
108
109
  });
109
110
  Object.defineProperty(exports, "DEFAULT_OAUTH_SCOPES", {
110
111
  enumerable: true,
111
- get: function () { return chunkU4XDH7TI_cjs.DEFAULT_OAUTH_SCOPES; }
112
+ get: function () { return chunkCJA3XQUF_cjs.DEFAULT_OAUTH_SCOPES; }
112
113
  });
113
114
  Object.defineProperty(exports, "FFIDAnnouncementBadge", {
114
115
  enumerable: true,
115
- get: function () { return chunkU4XDH7TI_cjs.FFIDAnnouncementBadge; }
116
+ get: function () { return chunkCJA3XQUF_cjs.FFIDAnnouncementBadge; }
116
117
  });
117
118
  Object.defineProperty(exports, "FFIDAnnouncementList", {
118
119
  enumerable: true,
119
- get: function () { return chunkU4XDH7TI_cjs.FFIDAnnouncementList; }
120
+ get: function () { return chunkCJA3XQUF_cjs.FFIDAnnouncementList; }
120
121
  });
121
122
  Object.defineProperty(exports, "FFIDInquiryForm", {
122
123
  enumerable: true,
123
- get: function () { return chunkU4XDH7TI_cjs.FFIDInquiryForm; }
124
+ get: function () { return chunkCJA3XQUF_cjs.FFIDInquiryForm; }
124
125
  });
125
126
  Object.defineProperty(exports, "FFIDLoginButton", {
126
127
  enumerable: true,
127
- get: function () { return chunkU4XDH7TI_cjs.FFIDLoginButton; }
128
+ get: function () { return chunkCJA3XQUF_cjs.FFIDLoginButton; }
128
129
  });
129
130
  Object.defineProperty(exports, "FFIDOrganizationSwitcher", {
130
131
  enumerable: true,
131
- get: function () { return chunkU4XDH7TI_cjs.FFIDOrganizationSwitcher; }
132
+ get: function () { return chunkCJA3XQUF_cjs.FFIDOrganizationSwitcher; }
132
133
  });
133
134
  Object.defineProperty(exports, "FFIDProvider", {
134
135
  enumerable: true,
135
- get: function () { return chunkU4XDH7TI_cjs.FFIDProvider; }
136
+ get: function () { return chunkCJA3XQUF_cjs.FFIDProvider; }
136
137
  });
137
138
  Object.defineProperty(exports, "FFIDSDKError", {
138
139
  enumerable: true,
139
- get: function () { return chunkU4XDH7TI_cjs.FFIDSDKError; }
140
+ get: function () { return chunkCJA3XQUF_cjs.FFIDSDKError; }
140
141
  });
141
142
  Object.defineProperty(exports, "FFIDSubscriptionBadge", {
142
143
  enumerable: true,
143
- get: function () { return chunkU4XDH7TI_cjs.FFIDSubscriptionBadge; }
144
+ get: function () { return chunkCJA3XQUF_cjs.FFIDSubscriptionBadge; }
144
145
  });
145
146
  Object.defineProperty(exports, "FFIDUserMenu", {
146
147
  enumerable: true,
147
- get: function () { return chunkU4XDH7TI_cjs.FFIDUserMenu; }
148
+ get: function () { return chunkCJA3XQUF_cjs.FFIDUserMenu; }
148
149
  });
149
150
  Object.defineProperty(exports, "FFID_ANNOUNCEMENTS_ERROR_CODES", {
150
151
  enumerable: true,
151
- get: function () { return chunkU4XDH7TI_cjs.FFID_ANNOUNCEMENTS_ERROR_CODES; }
152
+ get: function () { return chunkCJA3XQUF_cjs.FFID_ANNOUNCEMENTS_ERROR_CODES; }
152
153
  });
153
154
  Object.defineProperty(exports, "FFID_INQUIRY_CATEGORIES", {
154
155
  enumerable: true,
155
- get: function () { return chunkU4XDH7TI_cjs.FFID_INQUIRY_CATEGORIES; }
156
+ get: function () { return chunkCJA3XQUF_cjs.FFID_INQUIRY_CATEGORIES; }
156
157
  });
157
158
  Object.defineProperty(exports, "FFID_INQUIRY_CATEGORIES_SITE_2026", {
158
159
  enumerable: true,
159
- get: function () { return chunkU4XDH7TI_cjs.FFID_INQUIRY_CATEGORIES_SITE_2026; }
160
+ get: function () { return chunkCJA3XQUF_cjs.FFID_INQUIRY_CATEGORIES_SITE_2026; }
160
161
  });
161
162
  Object.defineProperty(exports, "computeEffectiveStatusFromSession", {
162
163
  enumerable: true,
163
- get: function () { return chunkU4XDH7TI_cjs.computeEffectiveStatusFromSession; }
164
+ get: function () { return chunkCJA3XQUF_cjs.computeEffectiveStatusFromSession; }
164
165
  });
165
166
  Object.defineProperty(exports, "createFFIDAnnouncementsClient", {
166
167
  enumerable: true,
167
- get: function () { return chunkU4XDH7TI_cjs.createFFIDAnnouncementsClient; }
168
+ get: function () { return chunkCJA3XQUF_cjs.createFFIDAnnouncementsClient; }
168
169
  });
169
170
  Object.defineProperty(exports, "createFFIDClient", {
170
171
  enumerable: true,
171
- get: function () { return chunkU4XDH7TI_cjs.createFFIDClient; }
172
+ get: function () { return chunkCJA3XQUF_cjs.createFFIDClient; }
172
173
  });
173
174
  Object.defineProperty(exports, "createTokenStore", {
174
175
  enumerable: true,
175
- get: function () { return chunkU4XDH7TI_cjs.createTokenStore; }
176
+ get: function () { return chunkCJA3XQUF_cjs.createTokenStore; }
176
177
  });
177
178
  Object.defineProperty(exports, "generateCodeChallenge", {
178
179
  enumerable: true,
179
- get: function () { return chunkU4XDH7TI_cjs.generateCodeChallenge; }
180
+ get: function () { return chunkCJA3XQUF_cjs.generateCodeChallenge; }
180
181
  });
181
182
  Object.defineProperty(exports, "generateCodeVerifier", {
182
183
  enumerable: true,
183
- get: function () { return chunkU4XDH7TI_cjs.generateCodeVerifier; }
184
+ get: function () { return chunkCJA3XQUF_cjs.generateCodeVerifier; }
184
185
  });
185
186
  Object.defineProperty(exports, "isFFIDInquiryCategorySite2026", {
186
187
  enumerable: true,
187
- get: function () { return chunkU4XDH7TI_cjs.isFFIDInquiryCategorySite2026; }
188
+ get: function () { return chunkCJA3XQUF_cjs.isFFIDInquiryCategorySite2026; }
188
189
  });
189
190
  Object.defineProperty(exports, "normalizeRedirectUri", {
190
191
  enumerable: true,
191
- get: function () { return chunkU4XDH7TI_cjs.normalizeRedirectUri; }
192
+ get: function () { return chunkCJA3XQUF_cjs.normalizeRedirectUri; }
192
193
  });
193
194
  Object.defineProperty(exports, "retrieveCodeVerifier", {
194
195
  enumerable: true,
195
- get: function () { return chunkU4XDH7TI_cjs.retrieveCodeVerifier; }
196
+ get: function () { return chunkCJA3XQUF_cjs.retrieveCodeVerifier; }
196
197
  });
197
198
  Object.defineProperty(exports, "storeCodeVerifier", {
198
199
  enumerable: true,
199
- get: function () { return chunkU4XDH7TI_cjs.storeCodeVerifier; }
200
+ get: function () { return chunkCJA3XQUF_cjs.storeCodeVerifier; }
200
201
  });
201
202
  Object.defineProperty(exports, "useFFID", {
202
203
  enumerable: true,
203
- get: function () { return chunkU4XDH7TI_cjs.useFFID; }
204
+ get: function () { return chunkCJA3XQUF_cjs.useFFID; }
204
205
  });
205
206
  Object.defineProperty(exports, "useFFIDAnnouncements", {
206
207
  enumerable: true,
207
- get: function () { return chunkU4XDH7TI_cjs.useFFIDAnnouncements; }
208
+ get: function () { return chunkCJA3XQUF_cjs.useFFIDAnnouncements; }
208
209
  });
209
210
  Object.defineProperty(exports, "useSubscription", {
210
211
  enumerable: true,
211
- get: function () { return chunkU4XDH7TI_cjs.useSubscription; }
212
+ get: function () { return chunkCJA3XQUF_cjs.useSubscription; }
212
213
  });
213
214
  Object.defineProperty(exports, "withSubscription", {
214
215
  enumerable: true,
215
- get: function () { return chunkU4XDH7TI_cjs.withSubscription; }
216
+ get: function () { return chunkCJA3XQUF_cjs.withSubscription; }
217
+ });
218
+ Object.defineProperty(exports, "ALL_DENIED_EXCEPT_NECESSARY", {
219
+ enumerable: true,
220
+ get: function () { return chunkPAQ4GZXN_cjs.ALL_DENIED_EXCEPT_NECESSARY; }
221
+ });
222
+ Object.defineProperty(exports, "CONSENT_COOKIE_NAME", {
223
+ enumerable: true,
224
+ get: function () { return chunkPAQ4GZXN_cjs.CONSENT_COOKIE_NAME; }
225
+ });
226
+ Object.defineProperty(exports, "COOKIE_VERSION", {
227
+ enumerable: true,
228
+ get: function () { return chunkPAQ4GZXN_cjs.COOKIE_VERSION; }
229
+ });
230
+ Object.defineProperty(exports, "DEFAULT_CONSENT_ERROR_MESSAGES", {
231
+ enumerable: true,
232
+ get: function () { return chunkPAQ4GZXN_cjs.DEFAULT_CONSENT_ERROR_MESSAGES; }
233
+ });
234
+ Object.defineProperty(exports, "FFIDAnalyticsProvider", {
235
+ enumerable: true,
236
+ get: function () { return chunkPAQ4GZXN_cjs.FFIDAnalyticsProvider; }
237
+ });
238
+ Object.defineProperty(exports, "FFIDConsentError", {
239
+ enumerable: true,
240
+ get: function () { return chunkPAQ4GZXN_cjs.FFIDConsentError; }
241
+ });
242
+ Object.defineProperty(exports, "FFIDCookieBanner", {
243
+ enumerable: true,
244
+ get: function () { return chunkPAQ4GZXN_cjs.FFIDCookieBanner; }
245
+ });
246
+ Object.defineProperty(exports, "FFIDCookieLink", {
247
+ enumerable: true,
248
+ get: function () { return chunkPAQ4GZXN_cjs.FFIDCookieLink; }
249
+ });
250
+ Object.defineProperty(exports, "FFIDCookieSettings", {
251
+ enumerable: true,
252
+ get: function () { return chunkPAQ4GZXN_cjs.FFIDCookieSettings; }
253
+ });
254
+ Object.defineProperty(exports, "FFID_CONSENT_ERROR_CODES", {
255
+ enumerable: true,
256
+ get: function () { return chunkPAQ4GZXN_cjs.FFID_CONSENT_ERROR_CODES; }
257
+ });
258
+ Object.defineProperty(exports, "decodeConsentCookie", {
259
+ enumerable: true,
260
+ get: function () { return chunkPAQ4GZXN_cjs.decodeConsentCookie; }
261
+ });
262
+ Object.defineProperty(exports, "encodeConsentCookie", {
263
+ enumerable: true,
264
+ get: function () { return chunkPAQ4GZXN_cjs.encodeConsentCookie; }
265
+ });
266
+ Object.defineProperty(exports, "readConsentCookie", {
267
+ enumerable: true,
268
+ get: function () { return chunkPAQ4GZXN_cjs.readConsentCookie; }
269
+ });
270
+ Object.defineProperty(exports, "useFFIDConsent", {
271
+ enumerable: true,
272
+ get: function () { return chunkPAQ4GZXN_cjs.useFFIDConsent; }
273
+ });
274
+ Object.defineProperty(exports, "useFFIDConsentPreferences", {
275
+ enumerable: true,
276
+ get: function () { return chunkPAQ4GZXN_cjs.useFFIDConsentPreferences; }
277
+ });
278
+ Object.defineProperty(exports, "writeConsentCookie", {
279
+ enumerable: true,
280
+ get: function () { return chunkPAQ4GZXN_cjs.writeConsentCookie; }
216
281
  });
217
282
  exports.FFID_NEWSLETTER_DISPATCH_MAX_RECIPIENTS = FFID_NEWSLETTER_DISPATCH_MAX_RECIPIENTS;
218
283
  exports.FFID_NEWSLETTER_TYPES = FFID_NEWSLETTER_TYPES;