@feelflow/ffid-sdk 2.8.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-GB5OHEVY.cjs → chunk-55KLWKM7.cjs} +354 -189
- package/dist/{chunk-SR4UAQ3C.js → chunk-6DYAJ6IJ.js} +354 -189
- package/dist/components/index.cjs +8 -8
- 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-BBAzyBFG.d.cts → index-BSuGxrqG.d.cts} +126 -6
- package/dist/{index-BBAzyBFG.d.ts → index-BSuGxrqG.d.ts} +126 -6
- package/dist/index.cjs +24 -24
- package/dist/index.d.cts +3 -45
- package/dist/index.d.ts +3 -45
- package/dist/index.js +2 -2
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { H as FFIDAnnouncementBadge, ac as FFIDAnnouncementBadgeClassNames, ad as FFIDAnnouncementBadgeProps, I as FFIDAnnouncementList, ae as FFIDAnnouncementListClassNames, af as FFIDAnnouncementListProps, Q as FFIDInquiryForm, R as FFIDInquiryFormCategoryItem, S as FFIDInquiryFormOrganization, T as FFIDInquiryFormPlaceholderContext, U as FFIDInquiryFormPrefill, V as FFIDInquiryFormProps, W as FFIDInquiryFormSubmitData, X as FFIDInquiryFormSubmitResult, Z as FFIDLoginButton, ag as FFIDLoginButtonProps, a3 as FFIDOrganizationSwitcher, ah as FFIDOrganizationSwitcherClassNames, ai as FFIDOrganizationSwitcherProps, a5 as FFIDSubscriptionBadge, aj as FFIDSubscriptionBadgeClassNames, ak as FFIDSubscriptionBadgeProps, a7 as FFIDUserMenu, al as FFIDUserMenuClassNames, am as FFIDUserMenuProps } from '../index-BSuGxrqG.js';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import 'react';
|
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDInquiryForm, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDSubscriptionBadge, FFIDUserMenu } from '../chunk-
|
|
1
|
+
export { FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDInquiryForm, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDSubscriptionBadge, FFIDUserMenu } from '../chunk-6DYAJ6IJ.js';
|
|
@@ -630,6 +630,48 @@ interface UseFFIDAnnouncementsReturn {
|
|
|
630
630
|
*/
|
|
631
631
|
declare function useFFIDAnnouncements(options?: UseFFIDAnnouncementsOptions): UseFFIDAnnouncementsReturn;
|
|
632
632
|
|
|
633
|
+
/**
|
|
634
|
+
* Inquiry types exposed by the FFID SDK.
|
|
635
|
+
*
|
|
636
|
+
* Mirrors the `/api/v1/ext/inquiry` and `/api/contact` endpoints
|
|
637
|
+
* with a single shared shape so that consumers can render one
|
|
638
|
+
* `<FFIDInquiryForm />` and submit through either endpoint.
|
|
639
|
+
*/
|
|
640
|
+
/**
|
|
641
|
+
* Categories surfaced by the default form. Consumers are free to
|
|
642
|
+
* pass their own list via `<FFIDInquiryForm categories={...} />`.
|
|
643
|
+
*/
|
|
644
|
+
declare const FFID_INQUIRY_CATEGORIES: readonly ["general", "sales", "support", "partnership", "press", "other"];
|
|
645
|
+
type FFIDInquiryCategory = (typeof FFID_INQUIRY_CATEGORIES)[number];
|
|
646
|
+
/**
|
|
647
|
+
* Parameters for `client.inquiry.create()`. When submitting from a
|
|
648
|
+
* server-side SDK (Service API Key), set `source` to a stable
|
|
649
|
+
* origin string so admins can trace the submission back.
|
|
650
|
+
*/
|
|
651
|
+
interface FFIDInquiryCreateParams {
|
|
652
|
+
email: string;
|
|
653
|
+
name: string;
|
|
654
|
+
message: string;
|
|
655
|
+
category?: FFIDInquiryCategory | (string & {});
|
|
656
|
+
company?: string;
|
|
657
|
+
phone?: string;
|
|
658
|
+
locale?: 'ja' | 'en';
|
|
659
|
+
/** Current terms-of-service version the submitter agreed to. */
|
|
660
|
+
termsVersion: string;
|
|
661
|
+
/** Current privacy-policy version the submitter agreed to. */
|
|
662
|
+
privacyVersion: string;
|
|
663
|
+
/** Opt-in to the post-inquiry follow-up newsletter (Type A). */
|
|
664
|
+
inquiryFollowupOptIn?: boolean;
|
|
665
|
+
/** Opt-in to the general marketing newsletter (Type B). */
|
|
666
|
+
generalNewsletterOptIn?: boolean;
|
|
667
|
+
}
|
|
668
|
+
interface FFIDInquiryCreateResponse {
|
|
669
|
+
ok: true;
|
|
670
|
+
inquiryId: string;
|
|
671
|
+
/** True only when the submitter is already a confirmed newsletter subscriber. */
|
|
672
|
+
newsletterSubscribed: boolean;
|
|
673
|
+
}
|
|
674
|
+
|
|
633
675
|
interface FFIDLoginButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
634
676
|
/** Button content */
|
|
635
677
|
children?: ReactNode;
|
|
@@ -844,6 +886,12 @@ interface FFIDAnnouncementListProps {
|
|
|
844
886
|
*/
|
|
845
887
|
declare function FFIDAnnouncementList({ announcements, isLoading, className, classNames, style, formatDate, emptyMessage, loadingRender, renderItem, maxContentLines, }: FFIDAnnouncementListProps): react_jsx_runtime.JSX.Element;
|
|
846
888
|
|
|
889
|
+
/**
|
|
890
|
+
* Known category literal with an escape hatch for arbitrary strings, so
|
|
891
|
+
* IDE autocomplete suggests the built-in set while still accepting any
|
|
892
|
+
* consumer-defined value.
|
|
893
|
+
*/
|
|
894
|
+
type FFIDInquiryCategoryValue = FFIDInquiryCategory | (string & {});
|
|
847
895
|
/** Organization summary rendered in the selector. */
|
|
848
896
|
interface FFIDInquiryFormOrganization {
|
|
849
897
|
id: string;
|
|
@@ -851,9 +899,39 @@ interface FFIDInquiryFormOrganization {
|
|
|
851
899
|
slug?: string;
|
|
852
900
|
role?: string;
|
|
853
901
|
}
|
|
902
|
+
/**
|
|
903
|
+
* Initial form values. Prefill is read **only on mount**; later changes
|
|
904
|
+
* to these keys are ignored (remount via `key={...}` to reseed). In
|
|
905
|
+
* `mode='authenticated'` the company/phone fields are hidden, so
|
|
906
|
+
* `prefill.company` / `prefill.phone` are ignored to avoid submitting
|
|
907
|
+
* values the user cannot see or edit.
|
|
908
|
+
*/
|
|
854
909
|
interface FFIDInquiryFormPrefill {
|
|
855
910
|
name?: string;
|
|
856
911
|
email?: string;
|
|
912
|
+
company?: string;
|
|
913
|
+
phone?: string;
|
|
914
|
+
/**
|
|
915
|
+
* Preselected category value. Silently ignored if the value does not
|
|
916
|
+
* match any entry in `categories` (or the default list when `categories`
|
|
917
|
+
* is omitted), so consumers can safely forward URL query strings.
|
|
918
|
+
*/
|
|
919
|
+
category?: FFIDInquiryCategoryValue;
|
|
920
|
+
message?: string;
|
|
921
|
+
}
|
|
922
|
+
/**
|
|
923
|
+
* Category option rendered in the form select. If any item has a
|
|
924
|
+
* `group` the select switches into `<optgroup>` mode; ungrouped items
|
|
925
|
+
* are emitted as bare `<option>` entries before the first `<optgroup>`
|
|
926
|
+
* in DOM order. Groups render in the order each `group` key first
|
|
927
|
+
* appears in `categories`, and the first encountered `groupLabel` wins
|
|
928
|
+
* when a `group` key repeats with inconsistent labels.
|
|
929
|
+
*/
|
|
930
|
+
interface FFIDInquiryFormCategoryItem {
|
|
931
|
+
value: string;
|
|
932
|
+
label: string;
|
|
933
|
+
group?: string;
|
|
934
|
+
groupLabel?: string;
|
|
857
935
|
}
|
|
858
936
|
interface FFIDInquiryFormSubmitData {
|
|
859
937
|
name: string;
|
|
@@ -883,10 +961,7 @@ interface FFIDInquiryFormProps {
|
|
|
883
961
|
prefill?: FFIDInquiryFormPrefill;
|
|
884
962
|
organizations?: FFIDInquiryFormOrganization[];
|
|
885
963
|
preselectedOrganizationId?: string | null;
|
|
886
|
-
categories?: ReadonlyArray<
|
|
887
|
-
value: string;
|
|
888
|
-
label: string;
|
|
889
|
-
}>;
|
|
964
|
+
categories?: ReadonlyArray<FFIDInquiryFormCategoryItem>;
|
|
890
965
|
termsVersion: string;
|
|
891
966
|
privacyVersion: string;
|
|
892
967
|
termsHref?: string;
|
|
@@ -896,9 +971,54 @@ interface FFIDInquiryFormProps {
|
|
|
896
971
|
/** Slot for the consumer's Turnstile widget (anonymous mode only). */
|
|
897
972
|
turnstileSlot?: ReactNode;
|
|
898
973
|
onSubmit: (data: FFIDInquiryFormSubmitData) => Promise<FFIDInquiryFormSubmitResult>;
|
|
974
|
+
/**
|
|
975
|
+
* Called after every change to a field that is part of the submit
|
|
976
|
+
* payload (including the initial mount with prefilled values and
|
|
977
|
+
* re-fires when `termsVersion`/`privacyVersion`/`turnstileToken`/
|
|
978
|
+
* `locale` props change). Enables consumers to mirror state for
|
|
979
|
+
* URL-driven banners, analytics, or dynamic placeholders without
|
|
980
|
+
* owning the form. Consent checkboxes (`separateLegalCheckboxes` or
|
|
981
|
+
* the combined variant) are intentionally excluded — they are not
|
|
982
|
+
* part of `FFIDInquiryFormSubmitData`. Emitted values use the same
|
|
983
|
+
* normalization as `onSubmit` (string fields are trimmed; empty
|
|
984
|
+
* strings become `null` for `company` / `phone`).
|
|
985
|
+
*
|
|
986
|
+
* React StrictMode double-invokes effects in development, so expect
|
|
987
|
+
* two calls per mount in dev builds.
|
|
988
|
+
*/
|
|
989
|
+
onChange?: (data: FFIDInquiryFormSubmitData) => void;
|
|
990
|
+
/**
|
|
991
|
+
* When true, renders the legal agreement as two independent checkboxes
|
|
992
|
+
* (terms and privacy). Defaults to `false`, preserving the combined
|
|
993
|
+
* single-checkbox behavior from SDK ≤ 2.8.
|
|
994
|
+
*/
|
|
995
|
+
separateLegalCheckboxes?: boolean;
|
|
996
|
+
/**
|
|
997
|
+
* Overrides the `<textarea>` placeholder. A plain string is applied
|
|
998
|
+
* verbatim; a function is called with the currently selected category
|
|
999
|
+
* so consumers can vary the copy per selection (e.g. different hint
|
|
1000
|
+
* text for "sales" vs "support"). The SDK memoizes the resolved
|
|
1001
|
+
* placeholder keyed on `category` and the `messagePlaceholder`
|
|
1002
|
+
* identity, so the function typically re-runs only when the user
|
|
1003
|
+
* picks a different category or the prop reference changes — keep it
|
|
1004
|
+
* cheap and pure so that contract is safe to rely on.
|
|
1005
|
+
*
|
|
1006
|
+
* When omitted, no `placeholder` attribute is emitted (SDK ≤ 2.9
|
|
1007
|
+
* behavior).
|
|
1008
|
+
*/
|
|
1009
|
+
messagePlaceholder?: string | ((ctx: FFIDInquiryFormPlaceholderContext) => string);
|
|
899
1010
|
locale?: 'ja' | 'en';
|
|
900
1011
|
className?: string;
|
|
901
1012
|
}
|
|
902
|
-
|
|
1013
|
+
/**
|
|
1014
|
+
* Context passed to a function-form `messagePlaceholder`. `category` is
|
|
1015
|
+
* typed `string | null` so a future unselected-state can be introduced
|
|
1016
|
+
* without breaking consumers, even though the current form always has a
|
|
1017
|
+
* non-null category value selected.
|
|
1018
|
+
*/
|
|
1019
|
+
interface FFIDInquiryFormPlaceholderContext {
|
|
1020
|
+
category: string | null;
|
|
1021
|
+
}
|
|
1022
|
+
declare function FFIDInquiryForm({ mode, prefill, organizations, preselectedOrganizationId, categories, termsVersion, privacyVersion, termsHref, privacyHref, turnstileToken, turnstileSlot, onSubmit, onChange, separateLegalCheckboxes, messagePlaceholder, locale, className, }: FFIDInquiryFormProps): react_jsx_runtime.JSX.Element;
|
|
903
1023
|
|
|
904
|
-
export { type
|
|
1024
|
+
export { type FFIDOAuthTokenResponse as $, type FFIDAnnouncementsApiResponse as A, type AnnouncementListResponse as B, type FFIDAnnouncementsLogger as C, type Announcement as D, type AnnouncementStatus as E, type FFIDSubscriptionStatus as F, type AnnouncementType as G, FFIDAnnouncementBadge as H, FFIDAnnouncementList as I, type FFIDAnnouncementsError as J, type FFIDAnnouncementsErrorCode as K, type ListAnnouncementsOptions as L, type FFIDAnnouncementsServerResponse as M, type FFIDCacheConfig as N, type FFIDContextValue as O, type FFIDInquiryCategory as P, FFIDInquiryForm as Q, type FFIDInquiryFormCategoryItem as R, type FFIDInquiryFormOrganization as S, type FFIDInquiryFormPlaceholderContext as T, type FFIDInquiryFormPrefill as U, type FFIDInquiryFormProps as V, type FFIDInquiryFormSubmitData as W, type FFIDInquiryFormSubmitResult as X, type FFIDJwtClaims as Y, FFIDLoginButton as Z, type FFIDMemberStatus as _, type FFIDConfig as a, type FFIDOAuthUserInfoMemberRole as a0, type FFIDOAuthUserInfoSubscription as a1, type FFIDOrganizationMember as a2, FFIDOrganizationSwitcher as a3, type FFIDSeatModel as a4, FFIDSubscriptionBadge as a5, type FFIDTokenIntrospectionResponse as a6, FFIDUserMenu as a7, FFID_INQUIRY_CATEGORIES as a8, type UseFFIDAnnouncementsOptions as a9, type UseFFIDAnnouncementsReturn as aa, useFFIDAnnouncements as ab, type FFIDAnnouncementBadgeClassNames as ac, type FFIDAnnouncementBadgeProps as ad, type FFIDAnnouncementListClassNames as ae, type FFIDAnnouncementListProps as af, type FFIDLoginButtonProps as ag, type FFIDOrganizationSwitcherClassNames as ah, type FFIDOrganizationSwitcherProps as ai, type FFIDSubscriptionBadgeClassNames as aj, type FFIDSubscriptionBadgeProps as ak, type FFIDUserMenuClassNames as al, type FFIDUserMenuProps as am, type FFIDApiResponse as b, type FFIDSessionResponse as c, type FFIDRedirectResult as d, type FFIDError as e, type FFIDSubscriptionCheckResponse as f, type FFIDListMembersResponse as g, type FFIDMemberRole as h, type FFIDUpdateMemberRoleResponse as i, type FFIDRemoveMemberResponse as j, type FFIDCreateCheckoutParams as k, type FFIDCheckoutSessionResponse as l, type FFIDCreatePortalParams as m, type FFIDPortalSessionResponse as n, type FFIDVerifyAccessTokenOptions as o, type FFIDOAuthUserInfo as p, type FFIDInquiryCreateParams as q, type FFIDInquiryCreateResponse as r, type FFIDAuthMode as s, type FFIDLogger as t, type FFIDCacheAdapter as u, type FFIDUser as v, type FFIDOrganization as w, type FFIDSubscription as x, type FFIDSubscriptionContextValue as y, type FFIDAnnouncementsClientConfig as z };
|
|
@@ -630,6 +630,48 @@ interface UseFFIDAnnouncementsReturn {
|
|
|
630
630
|
*/
|
|
631
631
|
declare function useFFIDAnnouncements(options?: UseFFIDAnnouncementsOptions): UseFFIDAnnouncementsReturn;
|
|
632
632
|
|
|
633
|
+
/**
|
|
634
|
+
* Inquiry types exposed by the FFID SDK.
|
|
635
|
+
*
|
|
636
|
+
* Mirrors the `/api/v1/ext/inquiry` and `/api/contact` endpoints
|
|
637
|
+
* with a single shared shape so that consumers can render one
|
|
638
|
+
* `<FFIDInquiryForm />` and submit through either endpoint.
|
|
639
|
+
*/
|
|
640
|
+
/**
|
|
641
|
+
* Categories surfaced by the default form. Consumers are free to
|
|
642
|
+
* pass their own list via `<FFIDInquiryForm categories={...} />`.
|
|
643
|
+
*/
|
|
644
|
+
declare const FFID_INQUIRY_CATEGORIES: readonly ["general", "sales", "support", "partnership", "press", "other"];
|
|
645
|
+
type FFIDInquiryCategory = (typeof FFID_INQUIRY_CATEGORIES)[number];
|
|
646
|
+
/**
|
|
647
|
+
* Parameters for `client.inquiry.create()`. When submitting from a
|
|
648
|
+
* server-side SDK (Service API Key), set `source` to a stable
|
|
649
|
+
* origin string so admins can trace the submission back.
|
|
650
|
+
*/
|
|
651
|
+
interface FFIDInquiryCreateParams {
|
|
652
|
+
email: string;
|
|
653
|
+
name: string;
|
|
654
|
+
message: string;
|
|
655
|
+
category?: FFIDInquiryCategory | (string & {});
|
|
656
|
+
company?: string;
|
|
657
|
+
phone?: string;
|
|
658
|
+
locale?: 'ja' | 'en';
|
|
659
|
+
/** Current terms-of-service version the submitter agreed to. */
|
|
660
|
+
termsVersion: string;
|
|
661
|
+
/** Current privacy-policy version the submitter agreed to. */
|
|
662
|
+
privacyVersion: string;
|
|
663
|
+
/** Opt-in to the post-inquiry follow-up newsletter (Type A). */
|
|
664
|
+
inquiryFollowupOptIn?: boolean;
|
|
665
|
+
/** Opt-in to the general marketing newsletter (Type B). */
|
|
666
|
+
generalNewsletterOptIn?: boolean;
|
|
667
|
+
}
|
|
668
|
+
interface FFIDInquiryCreateResponse {
|
|
669
|
+
ok: true;
|
|
670
|
+
inquiryId: string;
|
|
671
|
+
/** True only when the submitter is already a confirmed newsletter subscriber. */
|
|
672
|
+
newsletterSubscribed: boolean;
|
|
673
|
+
}
|
|
674
|
+
|
|
633
675
|
interface FFIDLoginButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
634
676
|
/** Button content */
|
|
635
677
|
children?: ReactNode;
|
|
@@ -844,6 +886,12 @@ interface FFIDAnnouncementListProps {
|
|
|
844
886
|
*/
|
|
845
887
|
declare function FFIDAnnouncementList({ announcements, isLoading, className, classNames, style, formatDate, emptyMessage, loadingRender, renderItem, maxContentLines, }: FFIDAnnouncementListProps): react_jsx_runtime.JSX.Element;
|
|
846
888
|
|
|
889
|
+
/**
|
|
890
|
+
* Known category literal with an escape hatch for arbitrary strings, so
|
|
891
|
+
* IDE autocomplete suggests the built-in set while still accepting any
|
|
892
|
+
* consumer-defined value.
|
|
893
|
+
*/
|
|
894
|
+
type FFIDInquiryCategoryValue = FFIDInquiryCategory | (string & {});
|
|
847
895
|
/** Organization summary rendered in the selector. */
|
|
848
896
|
interface FFIDInquiryFormOrganization {
|
|
849
897
|
id: string;
|
|
@@ -851,9 +899,39 @@ interface FFIDInquiryFormOrganization {
|
|
|
851
899
|
slug?: string;
|
|
852
900
|
role?: string;
|
|
853
901
|
}
|
|
902
|
+
/**
|
|
903
|
+
* Initial form values. Prefill is read **only on mount**; later changes
|
|
904
|
+
* to these keys are ignored (remount via `key={...}` to reseed). In
|
|
905
|
+
* `mode='authenticated'` the company/phone fields are hidden, so
|
|
906
|
+
* `prefill.company` / `prefill.phone` are ignored to avoid submitting
|
|
907
|
+
* values the user cannot see or edit.
|
|
908
|
+
*/
|
|
854
909
|
interface FFIDInquiryFormPrefill {
|
|
855
910
|
name?: string;
|
|
856
911
|
email?: string;
|
|
912
|
+
company?: string;
|
|
913
|
+
phone?: string;
|
|
914
|
+
/**
|
|
915
|
+
* Preselected category value. Silently ignored if the value does not
|
|
916
|
+
* match any entry in `categories` (or the default list when `categories`
|
|
917
|
+
* is omitted), so consumers can safely forward URL query strings.
|
|
918
|
+
*/
|
|
919
|
+
category?: FFIDInquiryCategoryValue;
|
|
920
|
+
message?: string;
|
|
921
|
+
}
|
|
922
|
+
/**
|
|
923
|
+
* Category option rendered in the form select. If any item has a
|
|
924
|
+
* `group` the select switches into `<optgroup>` mode; ungrouped items
|
|
925
|
+
* are emitted as bare `<option>` entries before the first `<optgroup>`
|
|
926
|
+
* in DOM order. Groups render in the order each `group` key first
|
|
927
|
+
* appears in `categories`, and the first encountered `groupLabel` wins
|
|
928
|
+
* when a `group` key repeats with inconsistent labels.
|
|
929
|
+
*/
|
|
930
|
+
interface FFIDInquiryFormCategoryItem {
|
|
931
|
+
value: string;
|
|
932
|
+
label: string;
|
|
933
|
+
group?: string;
|
|
934
|
+
groupLabel?: string;
|
|
857
935
|
}
|
|
858
936
|
interface FFIDInquiryFormSubmitData {
|
|
859
937
|
name: string;
|
|
@@ -883,10 +961,7 @@ interface FFIDInquiryFormProps {
|
|
|
883
961
|
prefill?: FFIDInquiryFormPrefill;
|
|
884
962
|
organizations?: FFIDInquiryFormOrganization[];
|
|
885
963
|
preselectedOrganizationId?: string | null;
|
|
886
|
-
categories?: ReadonlyArray<
|
|
887
|
-
value: string;
|
|
888
|
-
label: string;
|
|
889
|
-
}>;
|
|
964
|
+
categories?: ReadonlyArray<FFIDInquiryFormCategoryItem>;
|
|
890
965
|
termsVersion: string;
|
|
891
966
|
privacyVersion: string;
|
|
892
967
|
termsHref?: string;
|
|
@@ -896,9 +971,54 @@ interface FFIDInquiryFormProps {
|
|
|
896
971
|
/** Slot for the consumer's Turnstile widget (anonymous mode only). */
|
|
897
972
|
turnstileSlot?: ReactNode;
|
|
898
973
|
onSubmit: (data: FFIDInquiryFormSubmitData) => Promise<FFIDInquiryFormSubmitResult>;
|
|
974
|
+
/**
|
|
975
|
+
* Called after every change to a field that is part of the submit
|
|
976
|
+
* payload (including the initial mount with prefilled values and
|
|
977
|
+
* re-fires when `termsVersion`/`privacyVersion`/`turnstileToken`/
|
|
978
|
+
* `locale` props change). Enables consumers to mirror state for
|
|
979
|
+
* URL-driven banners, analytics, or dynamic placeholders without
|
|
980
|
+
* owning the form. Consent checkboxes (`separateLegalCheckboxes` or
|
|
981
|
+
* the combined variant) are intentionally excluded — they are not
|
|
982
|
+
* part of `FFIDInquiryFormSubmitData`. Emitted values use the same
|
|
983
|
+
* normalization as `onSubmit` (string fields are trimmed; empty
|
|
984
|
+
* strings become `null` for `company` / `phone`).
|
|
985
|
+
*
|
|
986
|
+
* React StrictMode double-invokes effects in development, so expect
|
|
987
|
+
* two calls per mount in dev builds.
|
|
988
|
+
*/
|
|
989
|
+
onChange?: (data: FFIDInquiryFormSubmitData) => void;
|
|
990
|
+
/**
|
|
991
|
+
* When true, renders the legal agreement as two independent checkboxes
|
|
992
|
+
* (terms and privacy). Defaults to `false`, preserving the combined
|
|
993
|
+
* single-checkbox behavior from SDK ≤ 2.8.
|
|
994
|
+
*/
|
|
995
|
+
separateLegalCheckboxes?: boolean;
|
|
996
|
+
/**
|
|
997
|
+
* Overrides the `<textarea>` placeholder. A plain string is applied
|
|
998
|
+
* verbatim; a function is called with the currently selected category
|
|
999
|
+
* so consumers can vary the copy per selection (e.g. different hint
|
|
1000
|
+
* text for "sales" vs "support"). The SDK memoizes the resolved
|
|
1001
|
+
* placeholder keyed on `category` and the `messagePlaceholder`
|
|
1002
|
+
* identity, so the function typically re-runs only when the user
|
|
1003
|
+
* picks a different category or the prop reference changes — keep it
|
|
1004
|
+
* cheap and pure so that contract is safe to rely on.
|
|
1005
|
+
*
|
|
1006
|
+
* When omitted, no `placeholder` attribute is emitted (SDK ≤ 2.9
|
|
1007
|
+
* behavior).
|
|
1008
|
+
*/
|
|
1009
|
+
messagePlaceholder?: string | ((ctx: FFIDInquiryFormPlaceholderContext) => string);
|
|
899
1010
|
locale?: 'ja' | 'en';
|
|
900
1011
|
className?: string;
|
|
901
1012
|
}
|
|
902
|
-
|
|
1013
|
+
/**
|
|
1014
|
+
* Context passed to a function-form `messagePlaceholder`. `category` is
|
|
1015
|
+
* typed `string | null` so a future unselected-state can be introduced
|
|
1016
|
+
* without breaking consumers, even though the current form always has a
|
|
1017
|
+
* non-null category value selected.
|
|
1018
|
+
*/
|
|
1019
|
+
interface FFIDInquiryFormPlaceholderContext {
|
|
1020
|
+
category: string | null;
|
|
1021
|
+
}
|
|
1022
|
+
declare function FFIDInquiryForm({ mode, prefill, organizations, preselectedOrganizationId, categories, termsVersion, privacyVersion, termsHref, privacyHref, turnstileToken, turnstileSlot, onSubmit, onChange, separateLegalCheckboxes, messagePlaceholder, locale, className, }: FFIDInquiryFormProps): react_jsx_runtime.JSX.Element;
|
|
903
1023
|
|
|
904
|
-
export { type
|
|
1024
|
+
export { type FFIDOAuthTokenResponse as $, type FFIDAnnouncementsApiResponse as A, type AnnouncementListResponse as B, type FFIDAnnouncementsLogger as C, type Announcement as D, type AnnouncementStatus as E, type FFIDSubscriptionStatus as F, type AnnouncementType as G, FFIDAnnouncementBadge as H, FFIDAnnouncementList as I, type FFIDAnnouncementsError as J, type FFIDAnnouncementsErrorCode as K, type ListAnnouncementsOptions as L, type FFIDAnnouncementsServerResponse as M, type FFIDCacheConfig as N, type FFIDContextValue as O, type FFIDInquiryCategory as P, FFIDInquiryForm as Q, type FFIDInquiryFormCategoryItem as R, type FFIDInquiryFormOrganization as S, type FFIDInquiryFormPlaceholderContext as T, type FFIDInquiryFormPrefill as U, type FFIDInquiryFormProps as V, type FFIDInquiryFormSubmitData as W, type FFIDInquiryFormSubmitResult as X, type FFIDJwtClaims as Y, FFIDLoginButton as Z, type FFIDMemberStatus as _, type FFIDConfig as a, type FFIDOAuthUserInfoMemberRole as a0, type FFIDOAuthUserInfoSubscription as a1, type FFIDOrganizationMember as a2, FFIDOrganizationSwitcher as a3, type FFIDSeatModel as a4, FFIDSubscriptionBadge as a5, type FFIDTokenIntrospectionResponse as a6, FFIDUserMenu as a7, FFID_INQUIRY_CATEGORIES as a8, type UseFFIDAnnouncementsOptions as a9, type UseFFIDAnnouncementsReturn as aa, useFFIDAnnouncements as ab, type FFIDAnnouncementBadgeClassNames as ac, type FFIDAnnouncementBadgeProps as ad, type FFIDAnnouncementListClassNames as ae, type FFIDAnnouncementListProps as af, type FFIDLoginButtonProps as ag, type FFIDOrganizationSwitcherClassNames as ah, type FFIDOrganizationSwitcherProps as ai, type FFIDSubscriptionBadgeClassNames as aj, type FFIDSubscriptionBadgeProps as ak, type FFIDUserMenuClassNames as al, type FFIDUserMenuProps as am, type FFIDApiResponse as b, type FFIDSessionResponse as c, type FFIDRedirectResult as d, type FFIDError as e, type FFIDSubscriptionCheckResponse as f, type FFIDListMembersResponse as g, type FFIDMemberRole as h, type FFIDUpdateMemberRoleResponse as i, type FFIDRemoveMemberResponse as j, type FFIDCreateCheckoutParams as k, type FFIDCheckoutSessionResponse as l, type FFIDCreatePortalParams as m, type FFIDPortalSessionResponse as n, type FFIDVerifyAccessTokenOptions as o, type FFIDOAuthUserInfo as p, type FFIDInquiryCreateParams as q, type FFIDInquiryCreateResponse as r, type FFIDAuthMode as s, type FFIDLogger as t, type FFIDCacheAdapter as u, type FFIDUser as v, type FFIDOrganization as w, type FFIDSubscription as x, type FFIDSubscriptionContextValue as y, type FFIDAnnouncementsClientConfig as z };
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk55KLWKM7_cjs = require('./chunk-55KLWKM7.cjs');
|
|
4
4
|
var react = require('react');
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
|
|
@@ -46,7 +46,7 @@ function createKVCacheAdapter(kv) {
|
|
|
46
46
|
}
|
|
47
47
|
function withFFIDAuth(Component, options = {}) {
|
|
48
48
|
const WrappedComponent = (props) => {
|
|
49
|
-
const { isLoading, isAuthenticated, login } =
|
|
49
|
+
const { isLoading, isAuthenticated, login } = chunk55KLWKM7_cjs.useFFIDContext();
|
|
50
50
|
const hasRedirected = react.useRef(false);
|
|
51
51
|
react.useEffect(() => {
|
|
52
52
|
if (!isLoading && !isAuthenticated && options.redirectToLogin && !hasRedirected.current) {
|
|
@@ -74,91 +74,91 @@ var FFID_NEWSLETTER_TYPES = ["inquiry_followup", "general"];
|
|
|
74
74
|
|
|
75
75
|
Object.defineProperty(exports, "DEFAULT_API_BASE_URL", {
|
|
76
76
|
enumerable: true,
|
|
77
|
-
get: function () { return
|
|
77
|
+
get: function () { return chunk55KLWKM7_cjs.DEFAULT_API_BASE_URL; }
|
|
78
78
|
});
|
|
79
79
|
Object.defineProperty(exports, "FFIDAnnouncementBadge", {
|
|
80
80
|
enumerable: true,
|
|
81
|
-
get: function () { return
|
|
81
|
+
get: function () { return chunk55KLWKM7_cjs.FFIDAnnouncementBadge; }
|
|
82
82
|
});
|
|
83
83
|
Object.defineProperty(exports, "FFIDAnnouncementList", {
|
|
84
84
|
enumerable: true,
|
|
85
|
-
get: function () { return
|
|
85
|
+
get: function () { return chunk55KLWKM7_cjs.FFIDAnnouncementList; }
|
|
86
86
|
});
|
|
87
87
|
Object.defineProperty(exports, "FFIDInquiryForm", {
|
|
88
88
|
enumerable: true,
|
|
89
|
-
get: function () { return
|
|
89
|
+
get: function () { return chunk55KLWKM7_cjs.FFIDInquiryForm; }
|
|
90
90
|
});
|
|
91
91
|
Object.defineProperty(exports, "FFIDLoginButton", {
|
|
92
92
|
enumerable: true,
|
|
93
|
-
get: function () { return
|
|
93
|
+
get: function () { return chunk55KLWKM7_cjs.FFIDLoginButton; }
|
|
94
94
|
});
|
|
95
95
|
Object.defineProperty(exports, "FFIDOrganizationSwitcher", {
|
|
96
96
|
enumerable: true,
|
|
97
|
-
get: function () { return
|
|
97
|
+
get: function () { return chunk55KLWKM7_cjs.FFIDOrganizationSwitcher; }
|
|
98
98
|
});
|
|
99
99
|
Object.defineProperty(exports, "FFIDProvider", {
|
|
100
100
|
enumerable: true,
|
|
101
|
-
get: function () { return
|
|
101
|
+
get: function () { return chunk55KLWKM7_cjs.FFIDProvider; }
|
|
102
102
|
});
|
|
103
103
|
Object.defineProperty(exports, "FFIDSubscriptionBadge", {
|
|
104
104
|
enumerable: true,
|
|
105
|
-
get: function () { return
|
|
105
|
+
get: function () { return chunk55KLWKM7_cjs.FFIDSubscriptionBadge; }
|
|
106
106
|
});
|
|
107
107
|
Object.defineProperty(exports, "FFIDUserMenu", {
|
|
108
108
|
enumerable: true,
|
|
109
|
-
get: function () { return
|
|
109
|
+
get: function () { return chunk55KLWKM7_cjs.FFIDUserMenu; }
|
|
110
110
|
});
|
|
111
111
|
Object.defineProperty(exports, "FFID_ANNOUNCEMENTS_ERROR_CODES", {
|
|
112
112
|
enumerable: true,
|
|
113
|
-
get: function () { return
|
|
113
|
+
get: function () { return chunk55KLWKM7_cjs.FFID_ANNOUNCEMENTS_ERROR_CODES; }
|
|
114
114
|
});
|
|
115
115
|
Object.defineProperty(exports, "FFID_INQUIRY_CATEGORIES", {
|
|
116
116
|
enumerable: true,
|
|
117
|
-
get: function () { return
|
|
117
|
+
get: function () { return chunk55KLWKM7_cjs.FFID_INQUIRY_CATEGORIES; }
|
|
118
118
|
});
|
|
119
119
|
Object.defineProperty(exports, "createFFIDAnnouncementsClient", {
|
|
120
120
|
enumerable: true,
|
|
121
|
-
get: function () { return
|
|
121
|
+
get: function () { return chunk55KLWKM7_cjs.createFFIDAnnouncementsClient; }
|
|
122
122
|
});
|
|
123
123
|
Object.defineProperty(exports, "createFFIDClient", {
|
|
124
124
|
enumerable: true,
|
|
125
|
-
get: function () { return
|
|
125
|
+
get: function () { return chunk55KLWKM7_cjs.createFFIDClient; }
|
|
126
126
|
});
|
|
127
127
|
Object.defineProperty(exports, "createTokenStore", {
|
|
128
128
|
enumerable: true,
|
|
129
|
-
get: function () { return
|
|
129
|
+
get: function () { return chunk55KLWKM7_cjs.createTokenStore; }
|
|
130
130
|
});
|
|
131
131
|
Object.defineProperty(exports, "generateCodeChallenge", {
|
|
132
132
|
enumerable: true,
|
|
133
|
-
get: function () { return
|
|
133
|
+
get: function () { return chunk55KLWKM7_cjs.generateCodeChallenge; }
|
|
134
134
|
});
|
|
135
135
|
Object.defineProperty(exports, "generateCodeVerifier", {
|
|
136
136
|
enumerable: true,
|
|
137
|
-
get: function () { return
|
|
137
|
+
get: function () { return chunk55KLWKM7_cjs.generateCodeVerifier; }
|
|
138
138
|
});
|
|
139
139
|
Object.defineProperty(exports, "retrieveCodeVerifier", {
|
|
140
140
|
enumerable: true,
|
|
141
|
-
get: function () { return
|
|
141
|
+
get: function () { return chunk55KLWKM7_cjs.retrieveCodeVerifier; }
|
|
142
142
|
});
|
|
143
143
|
Object.defineProperty(exports, "storeCodeVerifier", {
|
|
144
144
|
enumerable: true,
|
|
145
|
-
get: function () { return
|
|
145
|
+
get: function () { return chunk55KLWKM7_cjs.storeCodeVerifier; }
|
|
146
146
|
});
|
|
147
147
|
Object.defineProperty(exports, "useFFID", {
|
|
148
148
|
enumerable: true,
|
|
149
|
-
get: function () { return
|
|
149
|
+
get: function () { return chunk55KLWKM7_cjs.useFFID; }
|
|
150
150
|
});
|
|
151
151
|
Object.defineProperty(exports, "useFFIDAnnouncements", {
|
|
152
152
|
enumerable: true,
|
|
153
|
-
get: function () { return
|
|
153
|
+
get: function () { return chunk55KLWKM7_cjs.useFFIDAnnouncements; }
|
|
154
154
|
});
|
|
155
155
|
Object.defineProperty(exports, "useSubscription", {
|
|
156
156
|
enumerable: true,
|
|
157
|
-
get: function () { return
|
|
157
|
+
get: function () { return chunk55KLWKM7_cjs.useSubscription; }
|
|
158
158
|
});
|
|
159
159
|
Object.defineProperty(exports, "withSubscription", {
|
|
160
160
|
enumerable: true,
|
|
161
|
-
get: function () { return
|
|
161
|
+
get: function () { return chunk55KLWKM7_cjs.withSubscription; }
|
|
162
162
|
});
|
|
163
163
|
exports.FFID_NEWSLETTER_TYPES = FFID_NEWSLETTER_TYPES;
|
|
164
164
|
exports.createKVCacheAdapter = createKVCacheAdapter;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { F as FFIDSubscriptionStatus, a as FFIDConfig, b as FFIDApiResponse, c as FFIDSessionResponse, d as FFIDRedirectResult, e as FFIDError, f as FFIDSubscriptionCheckResponse, g as FFIDListMembersResponse, h as FFIDMemberRole, i as FFIDUpdateMemberRoleResponse, j as FFIDRemoveMemberResponse, k as FFIDCreateCheckoutParams, l as FFIDCheckoutSessionResponse, m as FFIDCreatePortalParams, n as FFIDPortalSessionResponse, o as FFIDVerifyAccessTokenOptions, p as FFIDOAuthUserInfo, q as
|
|
2
|
-
export {
|
|
1
|
+
import { F as FFIDSubscriptionStatus, a as FFIDConfig, b as FFIDApiResponse, c as FFIDSessionResponse, d as FFIDRedirectResult, e as FFIDError, f as FFIDSubscriptionCheckResponse, g as FFIDListMembersResponse, h as FFIDMemberRole, i as FFIDUpdateMemberRoleResponse, j as FFIDRemoveMemberResponse, k as FFIDCreateCheckoutParams, l as FFIDCheckoutSessionResponse, m as FFIDCreatePortalParams, n as FFIDPortalSessionResponse, o as FFIDVerifyAccessTokenOptions, p as FFIDOAuthUserInfo, q as FFIDInquiryCreateParams, r as FFIDInquiryCreateResponse, s as FFIDAuthMode, t as FFIDLogger, u as FFIDCacheAdapter, v as FFIDUser, w as FFIDOrganization, x as FFIDSubscription, y as FFIDSubscriptionContextValue, z as FFIDAnnouncementsClientConfig, L as ListAnnouncementsOptions, A as FFIDAnnouncementsApiResponse, B as AnnouncementListResponse, C as FFIDAnnouncementsLogger } from './index-BSuGxrqG.cjs';
|
|
2
|
+
export { D as Announcement, E as AnnouncementStatus, G as AnnouncementType, H as FFIDAnnouncementBadge, I as FFIDAnnouncementList, J as FFIDAnnouncementsError, K as FFIDAnnouncementsErrorCode, M as FFIDAnnouncementsServerResponse, N as FFIDCacheConfig, O as FFIDContextValue, P as FFIDInquiryCategory, Q as FFIDInquiryForm, R as FFIDInquiryFormCategoryItem, S as FFIDInquiryFormOrganization, T as FFIDInquiryFormPlaceholderContext, U as FFIDInquiryFormPrefill, V as FFIDInquiryFormProps, W as FFIDInquiryFormSubmitData, X as FFIDInquiryFormSubmitResult, Y as FFIDJwtClaims, Z as FFIDLoginButton, _ as FFIDMemberStatus, $ as FFIDOAuthTokenResponse, a0 as FFIDOAuthUserInfoMemberRole, a1 as FFIDOAuthUserInfoSubscription, a2 as FFIDOrganizationMember, a3 as FFIDOrganizationSwitcher, a4 as FFIDSeatModel, a5 as FFIDSubscriptionBadge, a6 as FFIDTokenIntrospectionResponse, a7 as FFIDUserMenu, a8 as FFID_INQUIRY_CATEGORIES, a9 as UseFFIDAnnouncementsOptions, aa as UseFFIDAnnouncementsReturn, ab as useFFIDAnnouncements } from './index-BSuGxrqG.cjs';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import { ReactNode, ComponentType, FC } from 'react';
|
|
5
5
|
|
|
@@ -833,48 +833,6 @@ declare function createNewsletterMethods(deps: NewsletterMethodsDeps): {
|
|
|
833
833
|
};
|
|
834
834
|
type FFIDNewsletterClient = ReturnType<typeof createNewsletterMethods>;
|
|
835
835
|
|
|
836
|
-
/**
|
|
837
|
-
* Inquiry types exposed by the FFID SDK.
|
|
838
|
-
*
|
|
839
|
-
* Mirrors the `/api/v1/ext/inquiry` and `/api/contact` endpoints
|
|
840
|
-
* with a single shared shape so that consumers can render one
|
|
841
|
-
* `<FFIDInquiryForm />` and submit through either endpoint.
|
|
842
|
-
*/
|
|
843
|
-
/**
|
|
844
|
-
* Categories surfaced by the default form. Consumers are free to
|
|
845
|
-
* pass their own list via `<FFIDInquiryForm categories={...} />`.
|
|
846
|
-
*/
|
|
847
|
-
declare const FFID_INQUIRY_CATEGORIES: readonly ["general", "sales", "support", "partnership", "press", "other"];
|
|
848
|
-
type FFIDInquiryCategory = (typeof FFID_INQUIRY_CATEGORIES)[number];
|
|
849
|
-
/**
|
|
850
|
-
* Parameters for `client.inquiry.create()`. When submitting from a
|
|
851
|
-
* server-side SDK (Service API Key), set `source` to a stable
|
|
852
|
-
* origin string so admins can trace the submission back.
|
|
853
|
-
*/
|
|
854
|
-
interface FFIDInquiryCreateParams {
|
|
855
|
-
email: string;
|
|
856
|
-
name: string;
|
|
857
|
-
message: string;
|
|
858
|
-
category?: FFIDInquiryCategory | (string & {});
|
|
859
|
-
company?: string;
|
|
860
|
-
phone?: string;
|
|
861
|
-
locale?: 'ja' | 'en';
|
|
862
|
-
/** Current terms-of-service version the submitter agreed to. */
|
|
863
|
-
termsVersion: string;
|
|
864
|
-
/** Current privacy-policy version the submitter agreed to. */
|
|
865
|
-
privacyVersion: string;
|
|
866
|
-
/** Opt-in to the post-inquiry follow-up newsletter (Type A). */
|
|
867
|
-
inquiryFollowupOptIn?: boolean;
|
|
868
|
-
/** Opt-in to the general marketing newsletter (Type B). */
|
|
869
|
-
generalNewsletterOptIn?: boolean;
|
|
870
|
-
}
|
|
871
|
-
interface FFIDInquiryCreateResponse {
|
|
872
|
-
ok: true;
|
|
873
|
-
inquiryId: string;
|
|
874
|
-
/** True only when the submitter is already a confirmed newsletter subscriber. */
|
|
875
|
-
newsletterSubscribed: boolean;
|
|
876
|
-
}
|
|
877
|
-
|
|
878
836
|
/** Inquiry methods - create external inquiries via the FFID public API. */
|
|
879
837
|
|
|
880
838
|
interface InquiryMethodsDeps {
|
|
@@ -886,4 +844,4 @@ declare function createInquiryMethods(deps: InquiryMethodsDeps): {
|
|
|
886
844
|
};
|
|
887
845
|
type FFIDInquiryClient = ReturnType<typeof createInquiryMethods>;
|
|
888
846
|
|
|
889
|
-
export { AnnouncementListResponse, type ContractWizardFlowType, type ContractWizardResubscribeOptions, type ContractWizardSubscribeOptions, type ContractWizardSubscriptionOptions, DEFAULT_API_BASE_URL, FFIDAnnouncementsApiResponse, type FFIDAnnouncementsClient, FFIDAnnouncementsClientConfig, FFIDAnnouncementsLogger, FFIDApiResponse, type FFIDBillingInterval, FFIDCacheAdapter, type FFIDCancelPendingDowngradeResponse, type FFIDCancelSubscriptionParams, type FFIDCancelSubscriptionResponse, type FFIDChangePlanParams, type FFIDChangePlanResponse, FFIDCheckoutSessionResponse, type FFIDClient, FFIDConfig, FFIDCreateCheckoutParams, FFIDCreatePortalParams, FFIDError, type
|
|
847
|
+
export { AnnouncementListResponse, type ContractWizardFlowType, type ContractWizardResubscribeOptions, type ContractWizardSubscribeOptions, type ContractWizardSubscriptionOptions, DEFAULT_API_BASE_URL, FFIDAnnouncementsApiResponse, type FFIDAnnouncementsClient, FFIDAnnouncementsClientConfig, FFIDAnnouncementsLogger, FFIDApiResponse, type FFIDBillingInterval, FFIDCacheAdapter, type FFIDCancelPendingDowngradeResponse, type FFIDCancelSubscriptionParams, type FFIDCancelSubscriptionResponse, type FFIDChangePlanParams, type FFIDChangePlanResponse, FFIDCheckoutSessionResponse, type FFIDClient, FFIDConfig, FFIDCreateCheckoutParams, FFIDCreatePortalParams, FFIDError, type FFIDInquiryClient, FFIDInquiryCreateParams, FFIDInquiryCreateResponse, FFIDListMembersResponse, type FFIDListPlansResponse, FFIDLogger, FFIDMemberRole, type FFIDNewsletterClient, type FFIDNewsletterConfirmParams, type FFIDNewsletterConfirmResponse, type FFIDNewsletterSubscribeParams, type FFIDNewsletterSubscribeResponse, type FFIDNewsletterType, type FFIDNewsletterUnsubscribeParams, type FFIDNewsletterUnsubscribeResponse, FFIDOAuthUserInfo, FFIDOrganization, type FFIDOtpSendResponse, type FFIDOtpVerifyResponse, type FFIDPasswordResetConfirmResponse, type FFIDPasswordResetResponse, type FFIDPasswordResetVerifyResponse, type FFIDPlanChangeLineItem, type FFIDPlanChangePreview, type FFIDPlanChangePreviewResponse, type FFIDPlanInfo, FFIDPortalSessionResponse, type FFIDPreviewPlanChangeParams, FFIDProvider, type FFIDProviderProps, FFIDRedirectResult, FFIDRemoveMemberResponse, type FFIDResetSessionResponse, type FFIDServiceInfo, FFIDSessionResponse, type FFIDSubscribeParams, type FFIDSubscribeResponse, FFIDSubscription, FFIDSubscriptionCheckResponse, FFIDSubscriptionContextValue, type FFIDSubscriptionDetail, FFIDSubscriptionStatus, type FFIDSubscriptionSummary, type FFIDSupportedCurrency, FFIDUpdateMemberRoleResponse, FFIDUser, FFIDVerifyAccessTokenOptions, FFID_ANNOUNCEMENTS_ERROR_CODES, FFID_NEWSLETTER_TYPES, type KVNamespaceLike, ListAnnouncementsOptions, type RedirectToAuthorizeOptions, type TokenData, type TokenStore, type UseFFIDReturn, type WithFFIDAuthOptions, type WithSubscriptionOptions, createFFIDAnnouncementsClient, createFFIDClient, createKVCacheAdapter, createMemoryCacheAdapter, createTokenStore, generateCodeChallenge, generateCodeVerifier, retrieveCodeVerifier, storeCodeVerifier, useFFID, useSubscription, withFFIDAuth, withSubscription };
|