@feelflow/ffid-sdk 5.1.0 → 5.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{FFIDCookieLink-CAKupVSS.d.cts → FFIDCookieLink-DY60yHYu.d.cts} +66 -3
- package/dist/{FFIDCookieLink-CAKupVSS.d.ts → FFIDCookieLink-DY60yHYu.d.ts} +66 -3
- package/dist/{chunk-Y4JGEGPS.js → chunk-GBQGMXBM.js} +1 -1
- package/dist/{chunk-VVACPX7Q.js → chunk-UWU2757V.js} +52 -6
- package/dist/{chunk-5AJFDSMG.cjs → chunk-W2FNRQKT.cjs} +54 -4
- package/dist/{chunk-7IOAHDFM.cjs → chunk-Z4D37JR3.cjs} +1 -1
- package/dist/components/index.cjs +8 -8
- package/dist/components/index.js +1 -1
- package/dist/consent/index.cjs +76 -60
- package/dist/consent/index.d.cts +2 -2
- package/dist/consent/index.d.ts +2 -2
- package/dist/consent/index.js +1 -1
- package/dist/index.cjs +65 -49
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.js +1 -1
- package/package.json +1 -1
|
@@ -477,6 +477,16 @@ declare const CONSENT_COOKIE_MAX_AGE_SEC: number;
|
|
|
477
477
|
* first, then fall back to cookie. See `FFIDAnalyticsProvider.bootstrap`.
|
|
478
478
|
*/
|
|
479
479
|
declare const CONSENT_SESSION_STORAGE_KEY = "ffid_consent_state";
|
|
480
|
+
/**
|
|
481
|
+
* sessionStorage key for the dismissal timestamp ("あとで" cooldown).
|
|
482
|
+
*
|
|
483
|
+
* EDPB Guidelines 05/2020 §86 forbids treating dismissal as a refusal, so we
|
|
484
|
+
* never write this to a cookie or DB. Holding the timestamp in sessionStorage
|
|
485
|
+
* keeps it scoped to the current tab session — once the tab closes, the user
|
|
486
|
+
* is reprompted on next visit. See `FFIDAnalyticsProvider`'s
|
|
487
|
+
* `dismissalCooldownMinutes` prop for the auto-show suppression policy.
|
|
488
|
+
*/
|
|
489
|
+
declare const CONSENT_DISMISSAL_TIMESTAMP_KEY = "ffid_consent_dismissed_at";
|
|
480
490
|
interface WriteConsentCookieOptions {
|
|
481
491
|
/** Override Secure flag for non-https custom domains. Defaults to production. */
|
|
482
492
|
secure?: boolean;
|
|
@@ -520,6 +530,34 @@ declare function deleteConsentCookie(opts?: WriteConsentCookieOptions): boolean;
|
|
|
520
530
|
declare function readConsentSessionMirror(): FFIDConsentCategories | null;
|
|
521
531
|
declare function writeConsentSessionMirror(cats: FFIDConsentCategories): boolean;
|
|
522
532
|
declare function clearConsentSessionMirror(): void;
|
|
533
|
+
/**
|
|
534
|
+
* Read the millisecond unix timestamp at which the banner was last dismissed,
|
|
535
|
+
* or `null` if absent / invalid / sessionStorage unavailable.
|
|
536
|
+
*
|
|
537
|
+
* Defensive parsing rejects non-finite values, negatives, and future-dated
|
|
538
|
+
* timestamps (clock-skew / tampering). When a corrupted value is detected,
|
|
539
|
+
* the helper **auto-heals** by clearing the slot — otherwise the same bad
|
|
540
|
+
* value would be re-parsed on every Provider mount and a buggy / extension-
|
|
541
|
+
* polluted consumer site could leave the cooldown effectively permanently
|
|
542
|
+
* disabled with no surface signal.
|
|
543
|
+
*/
|
|
544
|
+
declare function readConsentDismissalTimestamp(): number | null;
|
|
545
|
+
/**
|
|
546
|
+
* Write the dismissal timestamp. Returns `true` on success, `false` when
|
|
547
|
+
* sessionStorage is unavailable / throws (e.g., quota, old Safari Private
|
|
548
|
+
* Browsing) **or** when `nowMs` is non-finite / negative.
|
|
549
|
+
*
|
|
550
|
+
* Callers may safely ignore the return — failure degrades to the legacy
|
|
551
|
+
* "reprompt every Provider mount" behavior, which is the published v5.1.0
|
|
552
|
+
* baseline. Dismissal carries no GDPR weight (EDPB §86) so there is no
|
|
553
|
+
* obligation to surface storage failure via `onError`.
|
|
554
|
+
*/
|
|
555
|
+
declare function writeConsentDismissalTimestamp(nowMs?: number): boolean;
|
|
556
|
+
/**
|
|
557
|
+
* Idempotent clear of the dismissal timestamp. Safe to call when no value is
|
|
558
|
+
* present or sessionStorage is unavailable; never throws.
|
|
559
|
+
*/
|
|
560
|
+
declare function clearConsentDismissalTimestamp(): void;
|
|
523
561
|
|
|
524
562
|
/**
|
|
525
563
|
* Cookie Consent — Google Consent Mode v2 wiring.
|
|
@@ -652,11 +690,29 @@ interface FFIDAnalyticsProviderProps {
|
|
|
652
690
|
onError?: (error: FFIDConsentError) => void;
|
|
653
691
|
/** Whether to open banner automatically when no decision is on file. Default: true. */
|
|
654
692
|
autoShowBanner?: boolean;
|
|
693
|
+
/**
|
|
694
|
+
* Minutes to suppress auto-reopen after the user presses "あとで" (closeBanner).
|
|
695
|
+
*
|
|
696
|
+
* The dismissal timestamp is held in `sessionStorage` only — never written
|
|
697
|
+
* to cookie or DB — so it expires when the tab closes. This is EDPB
|
|
698
|
+
* Guidelines 05/2020 §86 compliant: dismissal is not a refusal, and the
|
|
699
|
+
* user is reprompted on the next fresh visit regardless of cooldown.
|
|
700
|
+
*
|
|
701
|
+
* Accepts any `number`; non-finite (`NaN` / `±Infinity`) and negative
|
|
702
|
+
* values are treated as `0` (suppression disabled). `0` reverts to the
|
|
703
|
+
* legacy v5.1.0 "reprompt on every Provider mount" behavior. Default: 30.
|
|
704
|
+
*
|
|
705
|
+
* Manual `openBanner()` calls ignore the cooldown so consumer "Cookie 設定"
|
|
706
|
+
* links keep working, and `needsRenewal=true` overrides the cooldown so the
|
|
707
|
+
* renewal reprompt (CNIL/ICO renewal guidance — see PR #3261) is never
|
|
708
|
+
* suppressed by a UX dismissal.
|
|
709
|
+
*/
|
|
710
|
+
dismissalCooldownMinutes?: number;
|
|
655
711
|
/** Optional fetch override (mainly for tests). */
|
|
656
712
|
fetchImpl?: typeof fetch;
|
|
657
713
|
children: ReactNode;
|
|
658
714
|
}
|
|
659
|
-
declare function FFIDAnalyticsProvider({ baseUrl, serviceApiKey, getAccessToken, gaMeasurementId, sentryReplay, sentry, onConsentChange, onError, autoShowBanner, fetchImpl, children, }: FFIDAnalyticsProviderProps): React.JSX.Element;
|
|
715
|
+
declare function FFIDAnalyticsProvider({ baseUrl, serviceApiKey, getAccessToken, gaMeasurementId, sentryReplay, sentry, onConsentChange, onError, autoShowBanner, dismissalCooldownMinutes, fetchImpl, children, }: FFIDAnalyticsProviderProps): React.JSX.Element;
|
|
660
716
|
|
|
661
717
|
interface FFIDConsentContextValue {
|
|
662
718
|
/** Current consent state. Always non-null; "not yet decided" is encoded by `hasDecided=false`. */
|
|
@@ -795,7 +851,14 @@ declare function useFFIDConsentPreferences(): UseFFIDConsentPreferencesReturn;
|
|
|
795
851
|
/**
|
|
796
852
|
* `<FFIDCookieBanner>` — bottom-sheet consent banner.
|
|
797
853
|
*
|
|
798
|
-
*
|
|
854
|
+
* Rendering is gated solely by `isBannerOpen` from the consent context (see
|
|
855
|
+
* `FFIDAnalyticsProvider`). The provider's bootstrap effect flips it to
|
|
856
|
+
* `true` for fresh visitors / policy-version renewal, and the banner's own
|
|
857
|
+
* buttons (or any consumer calling `closeBanner()` / `openBanner()`) flip
|
|
858
|
+
* it back. The earlier `hasDecided=false || needsRenewal=true` fallback
|
|
859
|
+
* was removed in v5.2.1 (#3289) because it overrode `setIsBannerOpen(false)`
|
|
860
|
+
* for fresh visitors and silently kept the banner mounted on "あとで" click.
|
|
861
|
+
*
|
|
799
862
|
* Four buttons (spec §6.2):
|
|
800
863
|
* 1. "すべて同意" (Accept all)
|
|
801
864
|
* 2. "同意しない" (Necessary only — `necessary=true` is enforced by ePrivacy
|
|
@@ -916,4 +979,4 @@ interface FFIDCookieLinkProps {
|
|
|
916
979
|
}
|
|
917
980
|
declare function FFIDCookieLink({ children, className, style, id, }: FFIDCookieLinkProps): React.JSX.Element;
|
|
918
981
|
|
|
919
|
-
export {
|
|
982
|
+
export { type GetCategoriesWire as $, ALL_DENIED_EXCEPT_NECESSARY as A, type FFIDConsentMergeWarning as B, CONSENT_COOKIE_MAX_AGE_SEC as C, DEFAULT_CONSENT_ERROR_MESSAGES as D, FFIDConsentMergeWarningSchema as E, type FFIDConsentResult as F, type GetConsentMeWire as G, type FFIDConsentSource as H, FFIDConsentSourceSchema as I, FFIDConsentStateSchema as J, FFIDConsentUpdateSchema as K, FFIDCookieBanner as L, type FFIDCookieBannerClassNames as M, type FFIDCookieBannerProps as N, FFIDCookieLink as O, type PostConsentWire as P, type FFIDCookieLinkProps as Q, FFIDCookiePolicySchema as R, FFIDCookieSettings as S, type FFIDCookieSettingsClassNames as T, type FFIDCookieSettingsProps as U, type FFIDInternalConsentSource as V, FFIDInternalConsentSourceSchema as W, type FFIDPublicConsentSource as X, FFIDPublicConsentSourceSchema as Y, FFID_CONSENT_ERROR_CODES as Z, FFID_CONSENT_NOT_DECIDED_STATE as _, type FFIDConsentState as a, GetCategoriesWireSchema as a0, GetConsentMeWireSchema as a1, type GetDocumentWire as a2, GetDocumentWireSchema as a3, type GtagBridge as a4, type GtagBridgeOptions as a5, type PostConsentRequest as a6, PostConsentRequestSchema as a7, PostConsentWireSchema as a8, type PostSyncRequest as a9, PostSyncRequestSchema as aa, PostSyncWireSchema as ab, PostWithdrawWireSchema as ac, type UseFFIDConsentPreferencesReturn as ad, type UseFFIDConsentReturn as ae, clearConsentDismissalTimestamp as af, clearConsentSessionMirror as ag, createGtagBridge as ah, decodeConsentCookie as ai, deleteConsentCookie as aj, encodeConsentCookie as ak, mapCategoriesToGtagParams as al, readConsentCookie as am, readConsentDismissalTimestamp as an, readConsentSessionMirror as ao, useFFIDConsent as ap, useFFIDConsentPreferences as aq, writeConsentCookie as ar, writeConsentDismissalTimestamp as as, writeConsentSessionMirror as at, type FFIDConsentUpdate as b, type FFIDConsentCategories as c, type FFIDConsentSyncResult as d, type FFIDConsentCategoryMetadata as e, type FFIDCookiePolicy as f, type PostSyncWire as g, type PostWithdrawWire as h, CONSENT_COOKIE_NAME as i, CONSENT_DISMISSAL_TIMESTAMP_KEY as j, CONSENT_SESSION_STORAGE_KEY as k, COOKIE_VERSION as l, DEFAULT_MERGE_WARNING_MESSAGES as m, DeviceIdSchema as n, FFIDAnalyticsProvider as o, type FFIDAnalyticsProviderProps as p, FFIDConsentCategoriesSchema as q, type FFIDConsentCategoryCode as r, FFIDConsentCategoryCodeSchema as s, FFIDConsentCategoryMetadataSchema as t, FFIDConsentContext as u, type FFIDConsentContextValue as v, FFIDConsentError as w, type FFIDConsentErrorCode as x, type FFIDConsentMergeStrategy as y, FFIDConsentMergeStrategySchema as z };
|
|
@@ -477,6 +477,16 @@ declare const CONSENT_COOKIE_MAX_AGE_SEC: number;
|
|
|
477
477
|
* first, then fall back to cookie. See `FFIDAnalyticsProvider.bootstrap`.
|
|
478
478
|
*/
|
|
479
479
|
declare const CONSENT_SESSION_STORAGE_KEY = "ffid_consent_state";
|
|
480
|
+
/**
|
|
481
|
+
* sessionStorage key for the dismissal timestamp ("あとで" cooldown).
|
|
482
|
+
*
|
|
483
|
+
* EDPB Guidelines 05/2020 §86 forbids treating dismissal as a refusal, so we
|
|
484
|
+
* never write this to a cookie or DB. Holding the timestamp in sessionStorage
|
|
485
|
+
* keeps it scoped to the current tab session — once the tab closes, the user
|
|
486
|
+
* is reprompted on next visit. See `FFIDAnalyticsProvider`'s
|
|
487
|
+
* `dismissalCooldownMinutes` prop for the auto-show suppression policy.
|
|
488
|
+
*/
|
|
489
|
+
declare const CONSENT_DISMISSAL_TIMESTAMP_KEY = "ffid_consent_dismissed_at";
|
|
480
490
|
interface WriteConsentCookieOptions {
|
|
481
491
|
/** Override Secure flag for non-https custom domains. Defaults to production. */
|
|
482
492
|
secure?: boolean;
|
|
@@ -520,6 +530,34 @@ declare function deleteConsentCookie(opts?: WriteConsentCookieOptions): boolean;
|
|
|
520
530
|
declare function readConsentSessionMirror(): FFIDConsentCategories | null;
|
|
521
531
|
declare function writeConsentSessionMirror(cats: FFIDConsentCategories): boolean;
|
|
522
532
|
declare function clearConsentSessionMirror(): void;
|
|
533
|
+
/**
|
|
534
|
+
* Read the millisecond unix timestamp at which the banner was last dismissed,
|
|
535
|
+
* or `null` if absent / invalid / sessionStorage unavailable.
|
|
536
|
+
*
|
|
537
|
+
* Defensive parsing rejects non-finite values, negatives, and future-dated
|
|
538
|
+
* timestamps (clock-skew / tampering). When a corrupted value is detected,
|
|
539
|
+
* the helper **auto-heals** by clearing the slot — otherwise the same bad
|
|
540
|
+
* value would be re-parsed on every Provider mount and a buggy / extension-
|
|
541
|
+
* polluted consumer site could leave the cooldown effectively permanently
|
|
542
|
+
* disabled with no surface signal.
|
|
543
|
+
*/
|
|
544
|
+
declare function readConsentDismissalTimestamp(): number | null;
|
|
545
|
+
/**
|
|
546
|
+
* Write the dismissal timestamp. Returns `true` on success, `false` when
|
|
547
|
+
* sessionStorage is unavailable / throws (e.g., quota, old Safari Private
|
|
548
|
+
* Browsing) **or** when `nowMs` is non-finite / negative.
|
|
549
|
+
*
|
|
550
|
+
* Callers may safely ignore the return — failure degrades to the legacy
|
|
551
|
+
* "reprompt every Provider mount" behavior, which is the published v5.1.0
|
|
552
|
+
* baseline. Dismissal carries no GDPR weight (EDPB §86) so there is no
|
|
553
|
+
* obligation to surface storage failure via `onError`.
|
|
554
|
+
*/
|
|
555
|
+
declare function writeConsentDismissalTimestamp(nowMs?: number): boolean;
|
|
556
|
+
/**
|
|
557
|
+
* Idempotent clear of the dismissal timestamp. Safe to call when no value is
|
|
558
|
+
* present or sessionStorage is unavailable; never throws.
|
|
559
|
+
*/
|
|
560
|
+
declare function clearConsentDismissalTimestamp(): void;
|
|
523
561
|
|
|
524
562
|
/**
|
|
525
563
|
* Cookie Consent — Google Consent Mode v2 wiring.
|
|
@@ -652,11 +690,29 @@ interface FFIDAnalyticsProviderProps {
|
|
|
652
690
|
onError?: (error: FFIDConsentError) => void;
|
|
653
691
|
/** Whether to open banner automatically when no decision is on file. Default: true. */
|
|
654
692
|
autoShowBanner?: boolean;
|
|
693
|
+
/**
|
|
694
|
+
* Minutes to suppress auto-reopen after the user presses "あとで" (closeBanner).
|
|
695
|
+
*
|
|
696
|
+
* The dismissal timestamp is held in `sessionStorage` only — never written
|
|
697
|
+
* to cookie or DB — so it expires when the tab closes. This is EDPB
|
|
698
|
+
* Guidelines 05/2020 §86 compliant: dismissal is not a refusal, and the
|
|
699
|
+
* user is reprompted on the next fresh visit regardless of cooldown.
|
|
700
|
+
*
|
|
701
|
+
* Accepts any `number`; non-finite (`NaN` / `±Infinity`) and negative
|
|
702
|
+
* values are treated as `0` (suppression disabled). `0` reverts to the
|
|
703
|
+
* legacy v5.1.0 "reprompt on every Provider mount" behavior. Default: 30.
|
|
704
|
+
*
|
|
705
|
+
* Manual `openBanner()` calls ignore the cooldown so consumer "Cookie 設定"
|
|
706
|
+
* links keep working, and `needsRenewal=true` overrides the cooldown so the
|
|
707
|
+
* renewal reprompt (CNIL/ICO renewal guidance — see PR #3261) is never
|
|
708
|
+
* suppressed by a UX dismissal.
|
|
709
|
+
*/
|
|
710
|
+
dismissalCooldownMinutes?: number;
|
|
655
711
|
/** Optional fetch override (mainly for tests). */
|
|
656
712
|
fetchImpl?: typeof fetch;
|
|
657
713
|
children: ReactNode;
|
|
658
714
|
}
|
|
659
|
-
declare function FFIDAnalyticsProvider({ baseUrl, serviceApiKey, getAccessToken, gaMeasurementId, sentryReplay, sentry, onConsentChange, onError, autoShowBanner, fetchImpl, children, }: FFIDAnalyticsProviderProps): React.JSX.Element;
|
|
715
|
+
declare function FFIDAnalyticsProvider({ baseUrl, serviceApiKey, getAccessToken, gaMeasurementId, sentryReplay, sentry, onConsentChange, onError, autoShowBanner, dismissalCooldownMinutes, fetchImpl, children, }: FFIDAnalyticsProviderProps): React.JSX.Element;
|
|
660
716
|
|
|
661
717
|
interface FFIDConsentContextValue {
|
|
662
718
|
/** Current consent state. Always non-null; "not yet decided" is encoded by `hasDecided=false`. */
|
|
@@ -795,7 +851,14 @@ declare function useFFIDConsentPreferences(): UseFFIDConsentPreferencesReturn;
|
|
|
795
851
|
/**
|
|
796
852
|
* `<FFIDCookieBanner>` — bottom-sheet consent banner.
|
|
797
853
|
*
|
|
798
|
-
*
|
|
854
|
+
* Rendering is gated solely by `isBannerOpen` from the consent context (see
|
|
855
|
+
* `FFIDAnalyticsProvider`). The provider's bootstrap effect flips it to
|
|
856
|
+
* `true` for fresh visitors / policy-version renewal, and the banner's own
|
|
857
|
+
* buttons (or any consumer calling `closeBanner()` / `openBanner()`) flip
|
|
858
|
+
* it back. The earlier `hasDecided=false || needsRenewal=true` fallback
|
|
859
|
+
* was removed in v5.2.1 (#3289) because it overrode `setIsBannerOpen(false)`
|
|
860
|
+
* for fresh visitors and silently kept the banner mounted on "あとで" click.
|
|
861
|
+
*
|
|
799
862
|
* Four buttons (spec §6.2):
|
|
800
863
|
* 1. "すべて同意" (Accept all)
|
|
801
864
|
* 2. "同意しない" (Necessary only — `necessary=true` is enforced by ePrivacy
|
|
@@ -916,4 +979,4 @@ interface FFIDCookieLinkProps {
|
|
|
916
979
|
}
|
|
917
980
|
declare function FFIDCookieLink({ children, className, style, id, }: FFIDCookieLinkProps): React.JSX.Element;
|
|
918
981
|
|
|
919
|
-
export {
|
|
982
|
+
export { type GetCategoriesWire as $, ALL_DENIED_EXCEPT_NECESSARY as A, type FFIDConsentMergeWarning as B, CONSENT_COOKIE_MAX_AGE_SEC as C, DEFAULT_CONSENT_ERROR_MESSAGES as D, FFIDConsentMergeWarningSchema as E, type FFIDConsentResult as F, type GetConsentMeWire as G, type FFIDConsentSource as H, FFIDConsentSourceSchema as I, FFIDConsentStateSchema as J, FFIDConsentUpdateSchema as K, FFIDCookieBanner as L, type FFIDCookieBannerClassNames as M, type FFIDCookieBannerProps as N, FFIDCookieLink as O, type PostConsentWire as P, type FFIDCookieLinkProps as Q, FFIDCookiePolicySchema as R, FFIDCookieSettings as S, type FFIDCookieSettingsClassNames as T, type FFIDCookieSettingsProps as U, type FFIDInternalConsentSource as V, FFIDInternalConsentSourceSchema as W, type FFIDPublicConsentSource as X, FFIDPublicConsentSourceSchema as Y, FFID_CONSENT_ERROR_CODES as Z, FFID_CONSENT_NOT_DECIDED_STATE as _, type FFIDConsentState as a, GetCategoriesWireSchema as a0, GetConsentMeWireSchema as a1, type GetDocumentWire as a2, GetDocumentWireSchema as a3, type GtagBridge as a4, type GtagBridgeOptions as a5, type PostConsentRequest as a6, PostConsentRequestSchema as a7, PostConsentWireSchema as a8, type PostSyncRequest as a9, PostSyncRequestSchema as aa, PostSyncWireSchema as ab, PostWithdrawWireSchema as ac, type UseFFIDConsentPreferencesReturn as ad, type UseFFIDConsentReturn as ae, clearConsentDismissalTimestamp as af, clearConsentSessionMirror as ag, createGtagBridge as ah, decodeConsentCookie as ai, deleteConsentCookie as aj, encodeConsentCookie as ak, mapCategoriesToGtagParams as al, readConsentCookie as am, readConsentDismissalTimestamp as an, readConsentSessionMirror as ao, useFFIDConsent as ap, useFFIDConsentPreferences as aq, writeConsentCookie as ar, writeConsentDismissalTimestamp as as, writeConsentSessionMirror as at, type FFIDConsentUpdate as b, type FFIDConsentCategories as c, type FFIDConsentSyncResult as d, type FFIDConsentCategoryMetadata as e, type FFIDCookiePolicy as f, type PostSyncWire as g, type PostWithdrawWire as h, CONSENT_COOKIE_NAME as i, CONSENT_DISMISSAL_TIMESTAMP_KEY as j, CONSENT_SESSION_STORAGE_KEY as k, COOKIE_VERSION as l, DEFAULT_MERGE_WARNING_MESSAGES as m, DeviceIdSchema as n, FFIDAnalyticsProvider as o, type FFIDAnalyticsProviderProps as p, FFIDConsentCategoriesSchema as q, type FFIDConsentCategoryCode as r, FFIDConsentCategoryCodeSchema as s, FFIDConsentCategoryMetadataSchema as t, FFIDConsentContext as u, type FFIDConsentContextValue as v, FFIDConsentError as w, type FFIDConsentErrorCode as x, type FFIDConsentMergeStrategy as y, FFIDConsentMergeStrategySchema as z };
|
|
@@ -838,7 +838,7 @@ function createProfileMethods(deps) {
|
|
|
838
838
|
}
|
|
839
839
|
|
|
840
840
|
// src/client/version-check.ts
|
|
841
|
-
var SDK_VERSION = "5.1
|
|
841
|
+
var SDK_VERSION = "5.2.1";
|
|
842
842
|
var SDK_USER_AGENT = `FFID-SDK/${SDK_VERSION} (TypeScript)`;
|
|
843
843
|
var SDK_VERSION_HEADER = "X-FFID-SDK-Version";
|
|
844
844
|
function sdkHeaders() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { createContext, useState, useRef,
|
|
2
|
+
import { createContext, useCallback, useState, useRef, useEffect, useMemo, useContext } from 'react';
|
|
3
3
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
5
|
var FFIDConsentCategoryCodeSchema = z.enum([
|
|
@@ -282,6 +282,7 @@ var HOURS_PER_DAY = 24;
|
|
|
282
282
|
var DAYS_PER_YEAR = 365;
|
|
283
283
|
var CONSENT_COOKIE_MAX_AGE_SEC = SECONDS_PER_MINUTE * MINUTES_PER_HOUR * HOURS_PER_DAY * DAYS_PER_YEAR;
|
|
284
284
|
var CONSENT_SESSION_STORAGE_KEY = "ffid_consent_state";
|
|
285
|
+
var CONSENT_DISMISSAL_TIMESTAMP_KEY = "ffid_consent_dismissed_at";
|
|
285
286
|
function hasDocument() {
|
|
286
287
|
return typeof document !== "undefined";
|
|
287
288
|
}
|
|
@@ -372,6 +373,39 @@ function clearConsentSessionMirror() {
|
|
|
372
373
|
} catch {
|
|
373
374
|
}
|
|
374
375
|
}
|
|
376
|
+
function readConsentDismissalTimestamp() {
|
|
377
|
+
if (!hasSessionStorage()) return null;
|
|
378
|
+
try {
|
|
379
|
+
const raw = sessionStorage.getItem(CONSENT_DISMISSAL_TIMESTAMP_KEY);
|
|
380
|
+
if (!raw) return null;
|
|
381
|
+
const parsed = Number(raw);
|
|
382
|
+
const CLOCK_SKEW_GRACE_MS = 6e4;
|
|
383
|
+
if (!Number.isFinite(parsed) || parsed < 0 || parsed > Date.now() + CLOCK_SKEW_GRACE_MS) {
|
|
384
|
+
clearConsentDismissalTimestamp();
|
|
385
|
+
return null;
|
|
386
|
+
}
|
|
387
|
+
return parsed;
|
|
388
|
+
} catch {
|
|
389
|
+
return null;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
function writeConsentDismissalTimestamp(nowMs = Date.now()) {
|
|
393
|
+
if (!Number.isFinite(nowMs) || nowMs < 0) return false;
|
|
394
|
+
if (!hasSessionStorage()) return false;
|
|
395
|
+
try {
|
|
396
|
+
sessionStorage.setItem(CONSENT_DISMISSAL_TIMESTAMP_KEY, String(nowMs));
|
|
397
|
+
return true;
|
|
398
|
+
} catch {
|
|
399
|
+
return false;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
function clearConsentDismissalTimestamp() {
|
|
403
|
+
if (!hasSessionStorage()) return;
|
|
404
|
+
try {
|
|
405
|
+
sessionStorage.removeItem(CONSENT_DISMISSAL_TIMESTAMP_KEY);
|
|
406
|
+
} catch {
|
|
407
|
+
}
|
|
408
|
+
}
|
|
375
409
|
|
|
376
410
|
// src/consent/storage/device-id.ts
|
|
377
411
|
var DEVICE_ID_LOCAL_STORAGE_KEY = "ffid_device_id";
|
|
@@ -1012,6 +1046,8 @@ var DEFAULT_MERGE_WARNING_MESSAGES = {
|
|
|
1012
1046
|
shared_device_detected: "\u3053\u306E\u7AEF\u672B\u306F\u5225\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u3067\u3082\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002Cookie \u8A2D\u5B9A\u306F\u30A2\u30AB\u30A6\u30F3\u30C8\u3054\u3068\u306B\u4FDD\u5B58\u3055\u308C\u3066\u3044\u307E\u3059",
|
|
1013
1047
|
drift_detected: "\u4FDD\u5B58\u3055\u308C\u3066\u3044\u305F\u8A2D\u5B9A\u3068\u7570\u306A\u308B\u9805\u76EE\u304C\u3042\u3063\u305F\u305F\u3081\u3001\u65B0\u3057\u304F\u8A18\u9332\u3055\u308C\u307E\u3057\u305F"
|
|
1014
1048
|
};
|
|
1049
|
+
var DEFAULT_DISMISSAL_COOLDOWN_MINUTES = 30;
|
|
1050
|
+
var MS_PER_MINUTE = 6e4;
|
|
1015
1051
|
function applyChanges(base, changes) {
|
|
1016
1052
|
return {
|
|
1017
1053
|
necessary: true,
|
|
@@ -1030,9 +1066,17 @@ function FFIDAnalyticsProvider({
|
|
|
1030
1066
|
onConsentChange,
|
|
1031
1067
|
onError,
|
|
1032
1068
|
autoShowBanner = true,
|
|
1069
|
+
dismissalCooldownMinutes = DEFAULT_DISMISSAL_COOLDOWN_MINUTES,
|
|
1033
1070
|
fetchImpl,
|
|
1034
1071
|
children
|
|
1035
1072
|
}) {
|
|
1073
|
+
const cooldownMs = Number.isFinite(dismissalCooldownMinutes) && dismissalCooldownMinutes > 0 ? dismissalCooldownMinutes * MS_PER_MINUTE : 0;
|
|
1074
|
+
const isWithinDismissalCooldown = useCallback(() => {
|
|
1075
|
+
if (cooldownMs <= 0) return false;
|
|
1076
|
+
const dismissedAt = readConsentDismissalTimestamp();
|
|
1077
|
+
if (dismissedAt === null) return false;
|
|
1078
|
+
return Date.now() - dismissedAt < cooldownMs;
|
|
1079
|
+
}, [cooldownMs]);
|
|
1036
1080
|
const [state, setState] = useState(
|
|
1037
1081
|
FFID_CONSENT_NOT_DECIDED_STATE
|
|
1038
1082
|
);
|
|
@@ -1143,7 +1187,7 @@ function FFIDAnalyticsProvider({
|
|
|
1143
1187
|
applyCategoriesSideEffects(result.value.categories);
|
|
1144
1188
|
writeConsentSessionMirror(result.value.categories);
|
|
1145
1189
|
setIsLoading(false);
|
|
1146
|
-
if (!result.value.hasDecided && autoShowBanner) {
|
|
1190
|
+
if (!result.value.hasDecided && autoShowBanner && !isWithinDismissalCooldown()) {
|
|
1147
1191
|
setIsBannerOpen(true);
|
|
1148
1192
|
}
|
|
1149
1193
|
if (result.value.needsRenewal && autoShowBanner) {
|
|
@@ -1271,7 +1315,10 @@ function FFIDAnalyticsProvider({
|
|
|
1271
1315
|
persistCategories
|
|
1272
1316
|
]);
|
|
1273
1317
|
const openBanner = useCallback(() => setIsBannerOpen(true), []);
|
|
1274
|
-
const closeBanner = useCallback(() =>
|
|
1318
|
+
const closeBanner = useCallback(() => {
|
|
1319
|
+
if (cooldownMs > 0) writeConsentDismissalTimestamp();
|
|
1320
|
+
setIsBannerOpen(false);
|
|
1321
|
+
}, [cooldownMs]);
|
|
1275
1322
|
const openPreferences = useCallback(async () => {
|
|
1276
1323
|
if (!categoryMetadata) {
|
|
1277
1324
|
const client = clientRef.current;
|
|
@@ -1405,7 +1452,6 @@ function FFIDCookieBanner({
|
|
|
1405
1452
|
style
|
|
1406
1453
|
}) {
|
|
1407
1454
|
const {
|
|
1408
|
-
state,
|
|
1409
1455
|
isBannerOpen,
|
|
1410
1456
|
acceptAll,
|
|
1411
1457
|
acceptNecessaryOnly,
|
|
@@ -1413,7 +1459,7 @@ function FFIDCookieBanner({
|
|
|
1413
1459
|
closeBanner,
|
|
1414
1460
|
error
|
|
1415
1461
|
} = useFFIDConsent();
|
|
1416
|
-
if (!isBannerOpen
|
|
1462
|
+
if (!isBannerOpen) return null;
|
|
1417
1463
|
return /* @__PURE__ */ jsxs(
|
|
1418
1464
|
"div",
|
|
1419
1465
|
{
|
|
@@ -1790,4 +1836,4 @@ function FFIDCookieLink({
|
|
|
1790
1836
|
);
|
|
1791
1837
|
}
|
|
1792
1838
|
|
|
1793
|
-
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 };
|
|
1839
|
+
export { ALL_DENIED_EXCEPT_NECESSARY, CONSENT_COOKIE_MAX_AGE_SEC, CONSENT_COOKIE_NAME, CONSENT_DISMISSAL_TIMESTAMP_KEY, 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, clearConsentDismissalTimestamp, clearConsentSessionMirror, clearDeviceId, createConsentClient, createGtagBridge, decodeConsentCookie, deleteConsentCookie, encodeConsentCookie, generateDeviceId, getOrCreateDeviceId, isUuidV7, isValidDeviceId, mapCategoriesToGtagParams, mapConsentWireToState, mapMeWireToState, mapSyncWireToResult, mapWithdrawWireToState, readConsentCookie, readConsentDismissalTimestamp, readConsentSessionMirror, useFFIDConsent, useFFIDConsentPreferences, writeConsentCookie, writeConsentDismissalTimestamp, writeConsentSessionMirror };
|
|
@@ -284,6 +284,7 @@ var HOURS_PER_DAY = 24;
|
|
|
284
284
|
var DAYS_PER_YEAR = 365;
|
|
285
285
|
var CONSENT_COOKIE_MAX_AGE_SEC = SECONDS_PER_MINUTE * MINUTES_PER_HOUR * HOURS_PER_DAY * DAYS_PER_YEAR;
|
|
286
286
|
var CONSENT_SESSION_STORAGE_KEY = "ffid_consent_state";
|
|
287
|
+
var CONSENT_DISMISSAL_TIMESTAMP_KEY = "ffid_consent_dismissed_at";
|
|
287
288
|
function hasDocument() {
|
|
288
289
|
return typeof document !== "undefined";
|
|
289
290
|
}
|
|
@@ -374,6 +375,39 @@ function clearConsentSessionMirror() {
|
|
|
374
375
|
} catch {
|
|
375
376
|
}
|
|
376
377
|
}
|
|
378
|
+
function readConsentDismissalTimestamp() {
|
|
379
|
+
if (!hasSessionStorage()) return null;
|
|
380
|
+
try {
|
|
381
|
+
const raw = sessionStorage.getItem(CONSENT_DISMISSAL_TIMESTAMP_KEY);
|
|
382
|
+
if (!raw) return null;
|
|
383
|
+
const parsed = Number(raw);
|
|
384
|
+
const CLOCK_SKEW_GRACE_MS = 6e4;
|
|
385
|
+
if (!Number.isFinite(parsed) || parsed < 0 || parsed > Date.now() + CLOCK_SKEW_GRACE_MS) {
|
|
386
|
+
clearConsentDismissalTimestamp();
|
|
387
|
+
return null;
|
|
388
|
+
}
|
|
389
|
+
return parsed;
|
|
390
|
+
} catch {
|
|
391
|
+
return null;
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
function writeConsentDismissalTimestamp(nowMs = Date.now()) {
|
|
395
|
+
if (!Number.isFinite(nowMs) || nowMs < 0) return false;
|
|
396
|
+
if (!hasSessionStorage()) return false;
|
|
397
|
+
try {
|
|
398
|
+
sessionStorage.setItem(CONSENT_DISMISSAL_TIMESTAMP_KEY, String(nowMs));
|
|
399
|
+
return true;
|
|
400
|
+
} catch {
|
|
401
|
+
return false;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
function clearConsentDismissalTimestamp() {
|
|
405
|
+
if (!hasSessionStorage()) return;
|
|
406
|
+
try {
|
|
407
|
+
sessionStorage.removeItem(CONSENT_DISMISSAL_TIMESTAMP_KEY);
|
|
408
|
+
} catch {
|
|
409
|
+
}
|
|
410
|
+
}
|
|
377
411
|
|
|
378
412
|
// src/consent/storage/device-id.ts
|
|
379
413
|
var DEVICE_ID_LOCAL_STORAGE_KEY = "ffid_device_id";
|
|
@@ -1014,6 +1048,8 @@ var DEFAULT_MERGE_WARNING_MESSAGES = {
|
|
|
1014
1048
|
shared_device_detected: "\u3053\u306E\u7AEF\u672B\u306F\u5225\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u3067\u3082\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002Cookie \u8A2D\u5B9A\u306F\u30A2\u30AB\u30A6\u30F3\u30C8\u3054\u3068\u306B\u4FDD\u5B58\u3055\u308C\u3066\u3044\u307E\u3059",
|
|
1015
1049
|
drift_detected: "\u4FDD\u5B58\u3055\u308C\u3066\u3044\u305F\u8A2D\u5B9A\u3068\u7570\u306A\u308B\u9805\u76EE\u304C\u3042\u3063\u305F\u305F\u3081\u3001\u65B0\u3057\u304F\u8A18\u9332\u3055\u308C\u307E\u3057\u305F"
|
|
1016
1050
|
};
|
|
1051
|
+
var DEFAULT_DISMISSAL_COOLDOWN_MINUTES = 30;
|
|
1052
|
+
var MS_PER_MINUTE = 6e4;
|
|
1017
1053
|
function applyChanges(base, changes) {
|
|
1018
1054
|
return {
|
|
1019
1055
|
necessary: true,
|
|
@@ -1032,9 +1068,17 @@ function FFIDAnalyticsProvider({
|
|
|
1032
1068
|
onConsentChange,
|
|
1033
1069
|
onError,
|
|
1034
1070
|
autoShowBanner = true,
|
|
1071
|
+
dismissalCooldownMinutes = DEFAULT_DISMISSAL_COOLDOWN_MINUTES,
|
|
1035
1072
|
fetchImpl,
|
|
1036
1073
|
children
|
|
1037
1074
|
}) {
|
|
1075
|
+
const cooldownMs = Number.isFinite(dismissalCooldownMinutes) && dismissalCooldownMinutes > 0 ? dismissalCooldownMinutes * MS_PER_MINUTE : 0;
|
|
1076
|
+
const isWithinDismissalCooldown = react.useCallback(() => {
|
|
1077
|
+
if (cooldownMs <= 0) return false;
|
|
1078
|
+
const dismissedAt = readConsentDismissalTimestamp();
|
|
1079
|
+
if (dismissedAt === null) return false;
|
|
1080
|
+
return Date.now() - dismissedAt < cooldownMs;
|
|
1081
|
+
}, [cooldownMs]);
|
|
1038
1082
|
const [state, setState] = react.useState(
|
|
1039
1083
|
FFID_CONSENT_NOT_DECIDED_STATE
|
|
1040
1084
|
);
|
|
@@ -1145,7 +1189,7 @@ function FFIDAnalyticsProvider({
|
|
|
1145
1189
|
applyCategoriesSideEffects(result.value.categories);
|
|
1146
1190
|
writeConsentSessionMirror(result.value.categories);
|
|
1147
1191
|
setIsLoading(false);
|
|
1148
|
-
if (!result.value.hasDecided && autoShowBanner) {
|
|
1192
|
+
if (!result.value.hasDecided && autoShowBanner && !isWithinDismissalCooldown()) {
|
|
1149
1193
|
setIsBannerOpen(true);
|
|
1150
1194
|
}
|
|
1151
1195
|
if (result.value.needsRenewal && autoShowBanner) {
|
|
@@ -1273,7 +1317,10 @@ function FFIDAnalyticsProvider({
|
|
|
1273
1317
|
persistCategories
|
|
1274
1318
|
]);
|
|
1275
1319
|
const openBanner = react.useCallback(() => setIsBannerOpen(true), []);
|
|
1276
|
-
const closeBanner = react.useCallback(() =>
|
|
1320
|
+
const closeBanner = react.useCallback(() => {
|
|
1321
|
+
if (cooldownMs > 0) writeConsentDismissalTimestamp();
|
|
1322
|
+
setIsBannerOpen(false);
|
|
1323
|
+
}, [cooldownMs]);
|
|
1277
1324
|
const openPreferences = react.useCallback(async () => {
|
|
1278
1325
|
if (!categoryMetadata) {
|
|
1279
1326
|
const client = clientRef.current;
|
|
@@ -1407,7 +1454,6 @@ function FFIDCookieBanner({
|
|
|
1407
1454
|
style
|
|
1408
1455
|
}) {
|
|
1409
1456
|
const {
|
|
1410
|
-
state,
|
|
1411
1457
|
isBannerOpen,
|
|
1412
1458
|
acceptAll,
|
|
1413
1459
|
acceptNecessaryOnly,
|
|
@@ -1415,7 +1461,7 @@ function FFIDCookieBanner({
|
|
|
1415
1461
|
closeBanner,
|
|
1416
1462
|
error
|
|
1417
1463
|
} = useFFIDConsent();
|
|
1418
|
-
if (!isBannerOpen
|
|
1464
|
+
if (!isBannerOpen) return null;
|
|
1419
1465
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1420
1466
|
"div",
|
|
1421
1467
|
{
|
|
@@ -1795,6 +1841,7 @@ function FFIDCookieLink({
|
|
|
1795
1841
|
exports.ALL_DENIED_EXCEPT_NECESSARY = ALL_DENIED_EXCEPT_NECESSARY;
|
|
1796
1842
|
exports.CONSENT_COOKIE_MAX_AGE_SEC = CONSENT_COOKIE_MAX_AGE_SEC;
|
|
1797
1843
|
exports.CONSENT_COOKIE_NAME = CONSENT_COOKIE_NAME;
|
|
1844
|
+
exports.CONSENT_DISMISSAL_TIMESTAMP_KEY = CONSENT_DISMISSAL_TIMESTAMP_KEY;
|
|
1798
1845
|
exports.CONSENT_SESSION_STORAGE_KEY = CONSENT_SESSION_STORAGE_KEY;
|
|
1799
1846
|
exports.COOKIE_VERSION = COOKIE_VERSION;
|
|
1800
1847
|
exports.DEFAULT_CONSENT_ERROR_MESSAGES = DEFAULT_CONSENT_ERROR_MESSAGES;
|
|
@@ -1829,6 +1876,7 @@ exports.PostConsentWireSchema = PostConsentWireSchema;
|
|
|
1829
1876
|
exports.PostSyncRequestSchema = PostSyncRequestSchema;
|
|
1830
1877
|
exports.PostSyncWireSchema = PostSyncWireSchema;
|
|
1831
1878
|
exports.PostWithdrawWireSchema = PostWithdrawWireSchema;
|
|
1879
|
+
exports.clearConsentDismissalTimestamp = clearConsentDismissalTimestamp;
|
|
1832
1880
|
exports.clearConsentSessionMirror = clearConsentSessionMirror;
|
|
1833
1881
|
exports.clearDeviceId = clearDeviceId;
|
|
1834
1882
|
exports.createConsentClient = createConsentClient;
|
|
@@ -1846,8 +1894,10 @@ exports.mapMeWireToState = mapMeWireToState;
|
|
|
1846
1894
|
exports.mapSyncWireToResult = mapSyncWireToResult;
|
|
1847
1895
|
exports.mapWithdrawWireToState = mapWithdrawWireToState;
|
|
1848
1896
|
exports.readConsentCookie = readConsentCookie;
|
|
1897
|
+
exports.readConsentDismissalTimestamp = readConsentDismissalTimestamp;
|
|
1849
1898
|
exports.readConsentSessionMirror = readConsentSessionMirror;
|
|
1850
1899
|
exports.useFFIDConsent = useFFIDConsent;
|
|
1851
1900
|
exports.useFFIDConsentPreferences = useFFIDConsentPreferences;
|
|
1852
1901
|
exports.writeConsentCookie = writeConsentCookie;
|
|
1902
|
+
exports.writeConsentDismissalTimestamp = writeConsentDismissalTimestamp;
|
|
1853
1903
|
exports.writeConsentSessionMirror = writeConsentSessionMirror;
|
|
@@ -840,7 +840,7 @@ function createProfileMethods(deps) {
|
|
|
840
840
|
}
|
|
841
841
|
|
|
842
842
|
// src/client/version-check.ts
|
|
843
|
-
var SDK_VERSION = "5.1
|
|
843
|
+
var SDK_VERSION = "5.2.1";
|
|
844
844
|
var SDK_USER_AGENT = `FFID-SDK/${SDK_VERSION} (TypeScript)`;
|
|
845
845
|
var SDK_VERSION_HEADER = "X-FFID-SDK-Version";
|
|
846
846
|
function sdkHeaders() {
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkZ4D37JR3_cjs = require('../chunk-Z4D37JR3.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, "FFIDAnnouncementBadge", {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunkZ4D37JR3_cjs.FFIDAnnouncementBadge; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, "FFIDAnnouncementList", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkZ4D37JR3_cjs.FFIDAnnouncementList; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "FFIDInquiryForm", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkZ4D37JR3_cjs.FFIDInquiryForm; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "FFIDLoginButton", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkZ4D37JR3_cjs.FFIDLoginButton; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "FFIDOrganizationSwitcher", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkZ4D37JR3_cjs.FFIDOrganizationSwitcher; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "FFIDSubscriptionBadge", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkZ4D37JR3_cjs.FFIDSubscriptionBadge; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "FFIDUserMenu", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunkZ4D37JR3_cjs.FFIDUserMenu; }
|
|
34
34
|
});
|
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-GBQGMXBM.js';
|