UNPKG

@codegouvfr/react-dsfr

Version:

French State Design System React integration library

32 lines (31 loc) 1.61 kB
import { type ReactNode } from "react"; import type { ExtractFinalityFromFinalityDescription } from "./types"; import type { RegisteredLinkProps } from "../link"; import { type ConsentCallback } from "./processConsentChanges"; export declare const defaultLocalStorageKeyPrefix = "@codegouvfr/react-dsfr finalityConsent"; export declare function createConsentManagement<FinalityDescription extends Record<string, { title: ReactNode; description?: ReactNode; subFinalities?: Record<string, ReactNode>; }>>(params: { finalityDescription: ((params: { lang: string; }) => FinalityDescription) | FinalityDescription; consentCallback?: ConsentCallback<ExtractFinalityFromFinalityDescription<FinalityDescription>>; /** Optional: If you have a dedicated page that provides comprehensive information about your website's GDPR policies. */ personalDataPolicyLinkProps?: RegisteredLinkProps; localStorageKeyPrefix?: string; }): { useConsent: import("./useConsent").UseConsent<ExtractFinalityFromFinalityDescription<FinalityDescription>>; ConsentBannerAndConsentManagement: () => JSX.Element | null; FooterConsentManagementItem: () => JSX.Element; FooterPersonalDataPolicyItem: () => JSX.Element; }; /** pure, exported for testing */ export declare function getFinalitiesFromFinalityDescription<FinalityDescription extends Record<string, { title: ReactNode; description?: ReactNode; subFinalities?: Record<string, ReactNode>; }>>(params: { finalityDescription: FinalityDescription; }): ExtractFinalityFromFinalityDescription<FinalityDescription>[];