@c15t/react 2.2.1 → 2.3.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/AGENTS.md +6 -3
- package/README.md +1 -1
- package/dist/components/iab-consent-dialog/atoms/purpose-item.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/purpose-item.js +1 -1
- package/dist/components/iab-consent-dialog/hooks/use-gvl-data.cjs +1 -1
- package/dist/components/iab-consent-dialog/hooks/use-gvl-data.js +1 -1
- package/dist/components/iab-consent-dialog/iab-consent-dialog.cjs +1 -1
- package/dist/components/iab-consent-dialog/iab-consent-dialog.js +1 -1
- package/dist/iab/styles.tw3.css +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.js +1 -1
- package/dist-types/components/consent-banner/components.d.ts +3 -3
- package/dist-types/components/consent-banner/consent-banner.d.ts +1 -1
- package/dist-types/components/consent-banner/index.d.ts +9 -9
- package/dist-types/components/consent-banner/policy-actions.d.ts +2 -2
- package/dist-types/components/consent-dialog/atoms/card.d.ts +5 -5
- package/dist-types/components/consent-dialog/atoms/overlay.d.ts +1 -1
- package/dist-types/components/consent-dialog/consent-dialog.d.ts +2 -2
- package/dist-types/components/consent-dialog/index.d.ts +7 -7
- package/dist-types/components/consent-dialog-link/index.d.ts +1 -1
- package/dist-types/components/consent-dialog-trigger/atoms/button.d.ts +1 -1
- package/dist-types/components/consent-dialog-trigger/atoms/icon.d.ts +1 -1
- package/dist-types/components/consent-dialog-trigger/atoms/root.d.ts +2 -2
- package/dist-types/components/consent-dialog-trigger/atoms/toolbar.d.ts +2 -2
- package/dist-types/components/consent-dialog-trigger/consent-dialog-trigger-toolbar.d.ts +1 -1
- package/dist-types/components/consent-dialog-trigger/consent-dialog-trigger.d.ts +5 -5
- package/dist-types/components/consent-dialog-trigger/index.d.ts +4 -4
- package/dist-types/components/consent-dialog-trigger/types.d.ts +1 -1
- package/dist-types/components/consent-preferences-link/consent-preferences-link.d.ts +1 -1
- package/dist-types/components/consent-preferences-link/index.d.ts +1 -1
- package/dist-types/components/consent-widget/atoms/accordion.d.ts +3 -3
- package/dist-types/components/consent-widget/atoms/button.d.ts +1 -1
- package/dist-types/components/consent-widget/atoms/footer.d.ts +1 -1
- package/dist-types/components/consent-widget/atoms/root.d.ts +1 -1
- package/dist-types/components/consent-widget/consent-widget.d.ts +1 -1
- package/dist-types/components/consent-widget/index.d.ts +11 -11
- package/dist-types/components/consent-widget/policy-actions.d.ts +2 -2
- package/dist-types/components/consent-widget/types.d.ts +1 -1
- package/dist-types/components/frame/atoms.d.ts +2 -2
- package/dist-types/components/frame/frame.d.ts +1 -1
- package/dist-types/components/frame/index.d.ts +3 -3
- package/dist-types/components/frame/types.d.ts +1 -1
- package/dist-types/components/iab-consent-banner/iab-consent-banner.d.ts +2 -2
- package/dist-types/components/iab-consent-banner/index.d.ts +19 -19
- package/dist-types/components/iab-consent-dialog/atoms/purpose-item.d.ts +21 -2
- package/dist-types/components/iab-consent-dialog/atoms/stack-item.d.ts +1 -1
- package/dist-types/components/iab-consent-dialog/atoms/vendor-list.d.ts +1 -1
- package/dist-types/components/iab-consent-dialog/hooks/use-gvl-data.d.ts +7 -1
- package/dist-types/components/iab-consent-dialog/iab-consent-dialog.d.ts +5 -4
- package/dist-types/components/iab-consent-dialog/index.d.ts +25 -25
- package/dist-types/components/iab-consent-dialog/use-iab-translations.d.ts +4 -0
- package/dist-types/components/integrations/index.d.ts +2 -2
- package/dist-types/components/integrations/shared.d.ts +1 -1
- package/dist-types/components/integrations/youtube-embed.d.ts +1 -1
- package/dist-types/components/shared/policy-actions.d.ts +2 -2
- package/dist-types/components/shared/primitives/box.d.ts +1 -1
- package/dist-types/components/shared/primitives/button.d.ts +4 -4
- package/dist-types/components/shared/primitives/button.types.d.ts +1 -1
- package/dist-types/components/shared/primitives/legal-links/index.d.ts +1 -1
- package/dist-types/components/shared/ui/accordion/accordion.d.ts +2 -2
- package/dist-types/components/shared/ui/accordion/index.d.ts +2 -2
- package/dist-types/components/shared/ui/animated-collapse/index.d.ts +2 -2
- package/dist-types/components/shared/ui/branding.d.ts +1 -1
- package/dist-types/components/shared/ui/button/button.d.ts +1 -1
- package/dist-types/components/shared/ui/button/index.d.ts +2 -2
- package/dist-types/components/shared/ui/collapsible/index.d.ts +1 -1
- package/dist-types/components/shared/ui/dialog/index.d.ts +1 -1
- package/dist-types/components/shared/ui/preference-item/index.d.ts +1 -1
- package/dist-types/components/shared/ui/switch/index.d.ts +2 -2
- package/dist-types/components/shared/ui/switch/switch.d.ts +1 -1
- package/dist-types/components/shared/ui/tabs/index.d.ts +1 -1
- package/dist-types/context/theme-context.d.ts +1 -1
- package/dist-types/headless.d.ts +9 -9
- package/dist-types/hooks/index.d.ts +12 -12
- package/dist-types/hooks/use-headless-consent-ui.d.ts +1 -1
- package/dist-types/hooks/use-headless-iab-consent-ui.d.ts +1 -1
- package/dist-types/hooks/use-styles.d.ts +1 -1
- package/dist-types/hooks/use-theme.d.ts +1 -1
- package/dist-types/iab.d.ts +4 -4
- package/dist-types/index.d.ts +20 -20
- package/dist-types/primitives/accordion.d.ts +1 -1
- package/dist-types/primitives/button.d.ts +1 -1
- package/dist-types/primitives/collapsible.d.ts +1 -1
- package/dist-types/primitives/dialog.d.ts +1 -1
- package/dist-types/primitives/preference-item.d.ts +1 -1
- package/dist-types/primitives/switch.d.ts +1 -1
- package/dist-types/primitives/tabs.d.ts +1 -1
- package/dist-types/primitives.d.ts +7 -7
- package/dist-types/providers/consent-manager-provider.d.ts +1 -1
- package/dist-types/server/fetch-ssr-data.d.ts +1 -1
- package/dist-types/server/index.d.ts +5 -5
- package/dist-types/types/theme/index.d.ts +2 -2
- package/dist-types/types/theme/style-types.d.ts +1 -1
- package/dist-types/utils/merge-styles.d.ts +1 -1
- package/dist-types/utils/test-helpers.d.ts +1 -1
- package/dist-types/utils/theme-utils.d.ts +1 -1
- package/dist-types/version.d.ts +1 -1
- package/docs/README.md +6 -3
- package/docs/frameworks/react/concepts/client-modes.md +5 -3
- package/docs/frameworks/react/concepts/consent-models.md +2 -2
- package/docs/frameworks/react/concepts/cookie-management.md +4 -0
- package/docs/frameworks/react/concepts/glossary.md +1 -1
- package/docs/frameworks/react/concepts/initialization-flow.md +3 -3
- package/docs/frameworks/react/concepts/policy-packs.md +4 -2
- package/docs/frameworks/react/hooks/use-consent-manager/overview.md +1 -1
- package/docs/frameworks/react/iab/consent-banner.md +2 -2
- package/docs/frameworks/react/iab/consent-dialog.md +12 -3
- package/docs/frameworks/react/iab/overview.md +18 -6
- package/docs/frameworks/react/iframe-blocking.md +2 -0
- package/docs/frameworks/react/policy-packs.md +1 -1
- package/docs/integrations/front-chat.md +178 -0
- package/docs/integrations/one-dollar-stats.md +118 -0
- package/docs/integrations/overview.md +3 -0
- package/docs/integrations/pinterest-tag.md +236 -0
- package/docs/shared/concepts/client-modes.md +5 -3
- package/docs/shared/concepts/consent-models.md +2 -2
- package/docs/shared/concepts/cookie-management.md +4 -0
- package/docs/shared/concepts/glossary.md +1 -1
- package/docs/shared/concepts/initialization-flow.md +3 -3
- package/docs/shared/concepts/policy-packs.md +4 -2
- package/docs/shared/react/guides/iframe-blocking.md +2 -0
- package/docs/shared/react/guides/policy-packs.md +1 -1
- package/docs/shared/react/hooks/use-consent-manager/overview.md +1 -1
- package/docs/shared/react/iab/consent-banner.md +1 -1
- package/docs/shared/react/iab/consent-dialog.md +11 -2
- package/docs/shared/react/iab/overview.md +16 -4
- package/package.json +6 -6
- package/readme.json +1 -1
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Provides the core components for building consent banners.
|
|
4
4
|
* Implements accessible, customizable components following GDPR requirements.
|
|
5
5
|
*/
|
|
6
|
-
import { type BoxProps } from '../shared/primitives/box';
|
|
7
|
-
import type { ConsentButtonProps } from '../shared/primitives/button.types';
|
|
8
|
-
import type { InlineLegalLinksProps } from '../shared/primitives/legal-links';
|
|
6
|
+
import { type BoxProps } from '../shared/primitives/box.js';
|
|
7
|
+
import type { ConsentButtonProps } from '../shared/primitives/button.types.js';
|
|
8
|
+
import type { InlineLegalLinksProps } from '../shared/primitives/legal-links/index.js';
|
|
9
9
|
/**
|
|
10
10
|
* Title component for the consent banner.
|
|
11
11
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type PolicyUiActionDirection } from '@c15t/ui/utils';
|
|
2
2
|
import { type FC, type ReactNode } from 'react';
|
|
3
|
-
import type { InlineLegalLinksProps } from '../shared/primitives/legal-links';
|
|
3
|
+
import type { InlineLegalLinksProps } from '../shared/primitives/legal-links/index.js';
|
|
4
4
|
/**
|
|
5
5
|
* Identifiers for the available buttons in the consent banner.
|
|
6
6
|
* @public
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
10
|
import type { FC } from 'react';
|
|
11
|
-
import { Overlay } from './atoms/overlay';
|
|
12
|
-
import { Root } from './atoms/root';
|
|
13
|
-
import { AcceptButton, Card, CustomizeButton, Description, Footer, FooterSubGroup, Header, RejectButton, Title } from './components';
|
|
14
|
-
import { type ConsentBannerButton, type ConsentBannerLayout, type ConsentBannerProps } from './consent-banner';
|
|
15
|
-
import { PolicyActions } from './policy-actions';
|
|
11
|
+
import { Overlay } from './atoms/overlay.js';
|
|
12
|
+
import { Root } from './atoms/root.js';
|
|
13
|
+
import { AcceptButton, Card, CustomizeButton, Description, Footer, FooterSubGroup, Header, RejectButton, Title } from './components.js';
|
|
14
|
+
import { type ConsentBannerButton, type ConsentBannerLayout, type ConsentBannerProps } from './consent-banner.js';
|
|
15
|
+
import { PolicyActions } from './policy-actions.js';
|
|
16
16
|
/**
|
|
17
17
|
* This interface extends the base ConsentBanner component with additional sub-components
|
|
18
18
|
* that can be used to compose the banner's structure.
|
|
@@ -108,8 +108,8 @@ export interface ConsentBannerCompoundComponent extends FC<ConsentBannerProps> {
|
|
|
108
108
|
*/
|
|
109
109
|
declare const ConsentBanner: ConsentBannerCompoundComponent;
|
|
110
110
|
export default ConsentBanner;
|
|
111
|
-
export { ConsentBannerOverlay, Overlay } from './atoms/overlay';
|
|
112
|
-
export { ConsentBannerRoot, Root } from './atoms/root';
|
|
113
|
-
export { AcceptButton, Card, ConsentBannerAcceptButton, ConsentBannerCard, ConsentBannerCustomizeButton, ConsentBannerDescription, ConsentBannerFooter, ConsentBannerFooterSubGroup, ConsentBannerHeader, ConsentBannerRejectButton, ConsentBannerTitle, CustomizeButton, Description, Footer, FooterSubGroup, Header, RejectButton, Title, } from './components';
|
|
114
|
-
export { type ConsentBannerPolicyActionRenderProps, ConsentBannerPolicyActions, type ConsentBannerPolicyActionsProps, PolicyActions, } from './policy-actions';
|
|
111
|
+
export { ConsentBannerOverlay, Overlay } from './atoms/overlay.js';
|
|
112
|
+
export { ConsentBannerRoot, Root } from './atoms/root.js';
|
|
113
|
+
export { AcceptButton, Card, ConsentBannerAcceptButton, ConsentBannerCard, ConsentBannerCustomizeButton, ConsentBannerDescription, ConsentBannerFooter, ConsentBannerFooterSubGroup, ConsentBannerHeader, ConsentBannerRejectButton, ConsentBannerTitle, CustomizeButton, Description, Footer, FooterSubGroup, Header, RejectButton, Title, } from './components.js';
|
|
114
|
+
export { type ConsentBannerPolicyActionRenderProps, ConsentBannerPolicyActions, type ConsentBannerPolicyActionsProps, PolicyActions, } from './policy-actions.js';
|
|
115
115
|
export { ConsentBanner, type ConsentBannerButton, type ConsentBannerLayout, type ConsentBannerProps, };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import { type HeadlessConsentBannerAction } from '../../hooks/use-headless-consent-ui';
|
|
3
|
-
import { type PolicyActionRenderProps } from '../shared/policy-actions';
|
|
2
|
+
import { type HeadlessConsentBannerAction } from '../../hooks/use-headless-consent-ui.js';
|
|
3
|
+
import { type PolicyActionRenderProps } from '../shared/policy-actions.js';
|
|
4
4
|
export interface ConsentBannerPolicyActionRenderProps extends PolicyActionRenderProps<HeadlessConsentBannerAction> {
|
|
5
5
|
}
|
|
6
6
|
export interface ConsentBannerPolicyActionsProps {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
-
import { type BoxProps } from '../../shared/primitives/box';
|
|
3
|
-
import type { InlineLegalLinksProps } from '../../shared/primitives/legal-links';
|
|
4
|
-
import { type BrandingVariant } from '../../shared/ui/branding';
|
|
5
|
-
import type { ClassNameStyle } from '../../../types/theme';
|
|
2
|
+
import { type BoxProps } from '../../shared/primitives/box.js';
|
|
3
|
+
import type { InlineLegalLinksProps } from '../../shared/primitives/legal-links/index.js';
|
|
4
|
+
import { type BrandingVariant } from '../../shared/ui/branding.js';
|
|
5
|
+
import type { ClassNameStyle } from '../../../types/theme/index.js';
|
|
6
6
|
declare const ConsentDialogCard: import("react").ForwardRefExoticComponent<{
|
|
7
7
|
/** The content to be rendered inside the consent dialog card */
|
|
8
8
|
children?: ReactNode;
|
|
@@ -61,7 +61,7 @@ declare const ConsentDialogFooter: import("react").ForwardRefExoticComponent<Box
|
|
|
61
61
|
type BrandingProps = {
|
|
62
62
|
hideBranding: boolean;
|
|
63
63
|
variant?: BrandingVariant;
|
|
64
|
-
themeKey?: import('../../shared/ui/branding').BrandingThemeKey;
|
|
64
|
+
themeKey?: import('../../shared/ui/branding.js').BrandingThemeKey;
|
|
65
65
|
className?: string;
|
|
66
66
|
'data-testid'?: string;
|
|
67
67
|
};
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Implements accessible modal behavior with animation support.
|
|
5
5
|
*/
|
|
6
6
|
import { type CSSProperties, type HTMLAttributes } from 'react';
|
|
7
|
-
import type { ThemeValue } from '../../../types/theme';
|
|
7
|
+
import type { ThemeValue } from '../../../types/theme/index.js';
|
|
8
8
|
/**
|
|
9
9
|
* Props for the Overlay component.
|
|
10
10
|
*
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* prefer a one-line `<ConsentDialog />` usage still have it.
|
|
8
8
|
*/
|
|
9
9
|
import type { FC } from 'react';
|
|
10
|
-
import { type ConsentDialogTriggerProps } from '../consent-dialog-trigger';
|
|
11
|
-
import type { InlineLegalLinksProps } from '../shared/primitives/legal-links';
|
|
10
|
+
import { type ConsentDialogTriggerProps } from '../consent-dialog-trigger/index.js';
|
|
11
|
+
import type { InlineLegalLinksProps } from '../shared/primitives/legal-links/index.js';
|
|
12
12
|
/**
|
|
13
13
|
* Props for the `<ConsentDialog />` convenience component.
|
|
14
14
|
*/
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
* of the dialog's parts.
|
|
8
8
|
*/
|
|
9
9
|
import type { FC } from 'react';
|
|
10
|
-
import { Card, ConsentCustomizationCard, ConsentDialogContent, ConsentDialogFooter, ConsentDialogHeader, ConsentDialogHeaderDescription, ConsentDialogHeaderTitle, Content, Footer, Header, HeaderDescription, HeaderTitle } from './atoms/card';
|
|
11
|
-
import { Overlay } from './atoms/overlay';
|
|
12
|
-
import { Root } from './atoms/root';
|
|
13
|
-
import { type ConsentDialogProps } from './consent-dialog';
|
|
10
|
+
import { Card, ConsentCustomizationCard, ConsentDialogContent, ConsentDialogFooter, ConsentDialogHeader, ConsentDialogHeaderDescription, ConsentDialogHeaderTitle, Content, Footer, Header, HeaderDescription, HeaderTitle } from './atoms/card.js';
|
|
11
|
+
import { Overlay } from './atoms/overlay.js';
|
|
12
|
+
import { Root } from './atoms/root.js';
|
|
13
|
+
import { type ConsentDialogProps } from './consent-dialog.js';
|
|
14
14
|
export type { ConsentDialogProps };
|
|
15
15
|
/**
|
|
16
16
|
* This interface extends the base ConsentDialog component with additional sub-components
|
|
@@ -93,7 +93,7 @@ export interface ConsentDialogCompoundComponent extends FC<ConsentDialogProps> {
|
|
|
93
93
|
*/
|
|
94
94
|
declare const ConsentDialog: ConsentDialogCompoundComponent;
|
|
95
95
|
export default ConsentDialog;
|
|
96
|
-
export { Card, ConsentCustomizationCard, ConsentDialogContent, ConsentDialogFooter, ConsentDialogHeader, ConsentDialogHeaderDescription, ConsentDialogHeaderTitle, Content, Footer, Header, HeaderDescription, HeaderTitle, } from './atoms/card';
|
|
97
|
-
export { ConsentDialogOverlay, Overlay } from './atoms/overlay';
|
|
98
|
-
export { ConsentDialogRoot, Root } from './atoms/root';
|
|
96
|
+
export { Card, ConsentCustomizationCard, ConsentDialogContent, ConsentDialogFooter, ConsentDialogHeader, ConsentDialogHeaderDescription, ConsentDialogHeaderTitle, Content, Footer, Header, HeaderDescription, HeaderTitle, } from './atoms/card.js';
|
|
97
|
+
export { ConsentDialogOverlay, Overlay } from './atoms/overlay.js';
|
|
98
|
+
export { ConsentDialogRoot, Root } from './atoms/root.js';
|
|
99
99
|
export { ConsentDialog };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { ConsentDialogLink, type ConsentDialogLinkProps, } from '../consent-preferences-link/consent-preferences-link';
|
|
1
|
+
export { ConsentDialogLink, type ConsentDialogLinkProps, } from '../consent-preferences-link/consent-preferences-link.js';
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* @packageDocumentation
|
|
6
6
|
*/
|
|
7
7
|
import { type ReactNode } from 'react';
|
|
8
|
-
import type { CornerPosition, TriggerVisibility } from '../types';
|
|
9
|
-
import { type UseDraggableReturn } from '../use-draggable';
|
|
8
|
+
import type { CornerPosition, TriggerVisibility } from '../types.js';
|
|
9
|
+
import { type UseDraggableReturn } from '../use-draggable.js';
|
|
10
10
|
/**
|
|
11
11
|
* Context value for the ConsentDialogTrigger compound component.
|
|
12
12
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import type { ClassNameStyle } from '../../../types/theme';
|
|
3
|
-
import type { ConsentDialogTriggerToolbarAction, ConsentDialogTriggerToolbarPreferences, TriggerOrientation, TriggerSize } from '../types';
|
|
2
|
+
import type { ClassNameStyle } from '../../../types/theme/index.js';
|
|
3
|
+
import type { ConsentDialogTriggerToolbarAction, ConsentDialogTriggerToolbarPreferences, TriggerOrientation, TriggerSize } from '../types.js';
|
|
4
4
|
export interface TriggerToolbarProps extends Omit<ClassNameStyle, 'baseClassName'> {
|
|
5
5
|
/** App-owned actions rendered alongside the preferences action. */
|
|
6
6
|
actions: readonly ConsentDialogTriggerToolbarAction[];
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @packageDocumentation
|
|
6
6
|
*/
|
|
7
7
|
import type { ReactNode } from 'react';
|
|
8
|
-
import type { ConsentDialogTriggerToolbarProps } from './types';
|
|
8
|
+
import type { ConsentDialogTriggerToolbarProps } from './types.js';
|
|
9
9
|
/**
|
|
10
10
|
* A draggable toolbar that always includes one action for opening consent
|
|
11
11
|
* preferences and can include app-owned actions such as theme or support
|
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
* @packageDocumentation
|
|
8
8
|
*/
|
|
9
9
|
import type { FC } from 'react';
|
|
10
|
-
import { TriggerButton, type TriggerButtonProps } from './atoms/button';
|
|
11
|
-
import { TriggerIcon, type TriggerIconProps } from './atoms/icon';
|
|
12
|
-
import { TriggerRoot, type TriggerRootProps, useTriggerContext } from './atoms/root';
|
|
13
|
-
import { TriggerText, type TriggerTextProps } from './atoms/text';
|
|
14
|
-
import type { ConsentDialogTriggerProps } from './types';
|
|
10
|
+
import { TriggerButton, type TriggerButtonProps } from './atoms/button.js';
|
|
11
|
+
import { TriggerIcon, type TriggerIconProps } from './atoms/icon.js';
|
|
12
|
+
import { TriggerRoot, type TriggerRootProps, useTriggerContext } from './atoms/root.js';
|
|
13
|
+
import { TriggerText, type TriggerTextProps } from './atoms/text.js';
|
|
14
|
+
import type { ConsentDialogTriggerProps } from './types.js';
|
|
15
15
|
/**
|
|
16
16
|
* Compound component interface for ConsentDialogTrigger.
|
|
17
17
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
|
-
export { ConsentDialogTrigger, type ConsentDialogTriggerCompound, TriggerButton, type TriggerButtonProps, TriggerIcon, type TriggerIconProps, TriggerRoot, type TriggerRootProps, TriggerText, type TriggerTextProps, useTriggerContext, } from './consent-dialog-trigger';
|
|
7
|
-
export { ConsentDialogTriggerToolbar } from './consent-dialog-trigger-toolbar';
|
|
8
|
-
export type { ConsentDialogTriggerProps, ConsentDialogTriggerToolbarAction, ConsentDialogTriggerToolbarPreferences, ConsentDialogTriggerToolbarProps, CornerPosition, TriggerIcon as TriggerIconType, TriggerOrientation, TriggerSize, TriggerVisibility, } from './types';
|
|
9
|
-
export { type UseDraggableOptions, type UseDraggableReturn, useDraggable, } from './use-draggable';
|
|
6
|
+
export { ConsentDialogTrigger, type ConsentDialogTriggerCompound, TriggerButton, type TriggerButtonProps, TriggerIcon, type TriggerIconProps, TriggerRoot, type TriggerRootProps, TriggerText, type TriggerTextProps, useTriggerContext, } from './consent-dialog-trigger.js';
|
|
7
|
+
export { ConsentDialogTriggerToolbar } from './consent-dialog-trigger-toolbar.js';
|
|
8
|
+
export type { ConsentDialogTriggerProps, ConsentDialogTriggerToolbarAction, ConsentDialogTriggerToolbarPreferences, ConsentDialogTriggerToolbarProps, CornerPosition, TriggerIcon as TriggerIconType, TriggerOrientation, TriggerSize, TriggerVisibility, } from './types.js';
|
|
9
|
+
export { type UseDraggableOptions, type UseDraggableReturn, useDraggable, } from './use-draggable.js';
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { CornerPosition } from '@c15t/ui/utils/trigger-utils';
|
|
7
7
|
import type { ReactNode } from 'react';
|
|
8
|
-
import type { ClassNameStyle } from '../../types/theme';
|
|
8
|
+
import type { ClassNameStyle } from '../../types/theme/index.js';
|
|
9
9
|
/**
|
|
10
10
|
* Icon rendered by a consent dialog trigger control.
|
|
11
11
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
-
import type { ConsentButtonProps } from '../shared/primitives/button.types';
|
|
2
|
+
import type { ConsentButtonProps } from '../shared/primitives/button.types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Inline trigger for opening the consent dialog from places like site footers.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { ConsentDialogLink, type ConsentDialogLinkProps, } from './consent-preferences-link';
|
|
1
|
+
export { ConsentDialogLink, type ConsentDialogLinkProps, } from './consent-preferences-link.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
-
import { type BoxProps } from '../../shared/primitives/box';
|
|
3
|
-
import * as PreferenceItem from '../../shared/ui/preference-item';
|
|
4
|
-
import * as RadixSwitch from '../../shared/ui/switch';
|
|
2
|
+
import { type BoxProps } from '../../shared/primitives/box.js';
|
|
3
|
+
import * as PreferenceItem from '../../shared/ui/preference-item/index.js';
|
|
4
|
+
import * as RadixSwitch from '../../shared/ui/switch/index.js';
|
|
5
5
|
declare const ConsentWidgetAccordionTrigger: import("react").ForwardRefExoticComponent<BoxProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
6
6
|
declare const ConsentWidgetAccordionTriggerInner: import("react").ForwardRefExoticComponent<PreferenceItem.PreferenceItemTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
7
7
|
declare const ConsentWidgetAccordionContent: import("react").ForwardRefExoticComponent<PreferenceItem.PreferenceItemContentProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { ConsentWidgetProps } from './types';
|
|
1
|
+
import type { ConsentWidgetProps } from './types.js';
|
|
2
2
|
export declare const ConsentWidget: ({ hideBranding, noStyle: localNoStyle, disableAnimation: localDisableAnimation, scrollLock: localScrollLock, trapFocus: localTrapFocus, ...props }: ConsentWidgetProps) => import("react").JSX.Element;
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
10
|
import type { FC } from 'react';
|
|
11
|
-
import { Accordion, AccordionArrow, AccordionContent, AccordionItem, AccordionItems, AccordionTrigger, AccordionTriggerInner, Switch } from './atoms/accordion';
|
|
12
|
-
import { AcceptAllButton, CustomizeButton, RejectButton, SaveButton } from './atoms/button';
|
|
13
|
-
import { Footer, FooterSubGroup } from './atoms/footer';
|
|
14
|
-
import { Root } from './atoms/root';
|
|
15
|
-
import { PolicyActions } from './policy-actions';
|
|
16
|
-
import type { ConsentWidgetProps } from './types';
|
|
11
|
+
import { Accordion, AccordionArrow, AccordionContent, AccordionItem, AccordionItems, AccordionTrigger, AccordionTriggerInner, Switch } from './atoms/accordion.js';
|
|
12
|
+
import { AcceptAllButton, CustomizeButton, RejectButton, SaveButton } from './atoms/button.js';
|
|
13
|
+
import { Footer, FooterSubGroup } from './atoms/footer.js';
|
|
14
|
+
import { Root } from './atoms/root.js';
|
|
15
|
+
import { PolicyActions } from './policy-actions.js';
|
|
16
|
+
import type { ConsentWidgetProps } from './types.js';
|
|
17
17
|
export type { ConsentWidgetProps };
|
|
18
18
|
/**
|
|
19
19
|
* This interface extends the base ConsentWidget component with additional sub-components
|
|
@@ -92,9 +92,9 @@ export interface ConsentWidgetCompoundComponent extends FC<ConsentWidgetProps> {
|
|
|
92
92
|
*/
|
|
93
93
|
declare const ConsentWidget: ConsentWidgetCompoundComponent;
|
|
94
94
|
export default ConsentWidget;
|
|
95
|
-
export { Accordion, AccordionArrow, AccordionContent, AccordionItem, AccordionItems, AccordionTrigger, AccordionTriggerInner, ConsentWidgetAccordion, ConsentWidgetAccordionArrow, ConsentWidgetAccordionContent, ConsentWidgetAccordionItem, ConsentWidgetAccordionItems, ConsentWidgetAccordionTrigger, ConsentWidgetAccordionTriggerInner, ConsentWidgetSwitch, Switch, } from './atoms/accordion';
|
|
96
|
-
export { AcceptAllButton, ConsentWidgetAcceptAllButton, ConsentWidgetCustomizeButton, ConsentWidgetRejectButton, ConsentWidgetSaveButton, CustomizeButton, RejectButton, SaveButton, } from './atoms/button';
|
|
97
|
-
export { ConsentWidgetFooter, ConsentWidgetFooterSubGroup, Footer, FooterSubGroup, } from './atoms/footer';
|
|
98
|
-
export { ConsentWidgetRoot, Root, } from './atoms/root';
|
|
99
|
-
export { type ConsentWidgetPolicyActionRenderProps, ConsentWidgetPolicyActions, type ConsentWidgetPolicyActionsProps, PolicyActions, } from './policy-actions';
|
|
95
|
+
export { Accordion, AccordionArrow, AccordionContent, AccordionItem, AccordionItems, AccordionTrigger, AccordionTriggerInner, ConsentWidgetAccordion, ConsentWidgetAccordionArrow, ConsentWidgetAccordionContent, ConsentWidgetAccordionItem, ConsentWidgetAccordionItems, ConsentWidgetAccordionTrigger, ConsentWidgetAccordionTriggerInner, ConsentWidgetSwitch, Switch, } from './atoms/accordion.js';
|
|
96
|
+
export { AcceptAllButton, ConsentWidgetAcceptAllButton, ConsentWidgetCustomizeButton, ConsentWidgetRejectButton, ConsentWidgetSaveButton, CustomizeButton, RejectButton, SaveButton, } from './atoms/button.js';
|
|
97
|
+
export { ConsentWidgetFooter, ConsentWidgetFooterSubGroup, Footer, FooterSubGroup, } from './atoms/footer.js';
|
|
98
|
+
export { ConsentWidgetRoot, Root, } from './atoms/root.js';
|
|
99
|
+
export { type ConsentWidgetPolicyActionRenderProps, ConsentWidgetPolicyActions, type ConsentWidgetPolicyActionsProps, PolicyActions, } from './policy-actions.js';
|
|
100
100
|
export { ConsentWidget };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import { type HeadlessConsentDialogAction } from '../../hooks/use-headless-consent-ui';
|
|
3
|
-
import { type PolicyActionRenderProps } from '../shared/policy-actions';
|
|
2
|
+
import { type HeadlessConsentDialogAction } from '../../hooks/use-headless-consent-ui.js';
|
|
3
|
+
import { type PolicyActionRenderProps } from '../shared/policy-actions.js';
|
|
4
4
|
export interface ConsentWidgetPolicyActionRenderProps extends PolicyActionRenderProps<HeadlessConsentDialogAction> {
|
|
5
5
|
}
|
|
6
6
|
export interface ConsentWidgetPolicyActionsProps {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import type { InlineLegalLinksProps } from '../shared/primitives/legal-links';
|
|
2
|
+
import type { InlineLegalLinksProps } from '../shared/primitives/legal-links/index.js';
|
|
3
3
|
export interface ConsentWidgetRootProps {
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
useProvider?: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AllConsentNames } from 'c15t';
|
|
2
|
-
import { type BoxProps } from '../shared/primitives/box';
|
|
3
|
-
import type { ConsentButtonProps } from '../shared/primitives/button.types';
|
|
2
|
+
import { type BoxProps } from '../shared/primitives/box.js';
|
|
3
|
+
import type { ConsentButtonProps } from '../shared/primitives/button.types.js';
|
|
4
4
|
declare const FrameRoot: import("react").ForwardRefExoticComponent<Omit<BoxProps, "themeKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
5
5
|
declare const FrameTitle: import("react").ForwardRefExoticComponent<Omit<BoxProps, "themeKey"> & {
|
|
6
6
|
category?: AllConsentNames;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { FrameProps } from './types';
|
|
1
|
+
import type { FrameProps } from './types.js';
|
|
2
2
|
export declare const Frame: import("react").ForwardRefExoticComponent<Omit<FrameProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FrameCompoundComponent } from './types';
|
|
1
|
+
import type { FrameCompoundComponent } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* The Frame component that provides consent-gated content rendering
|
|
4
4
|
*
|
|
@@ -19,6 +19,6 @@ import type { FrameCompoundComponent } from './types';
|
|
|
19
19
|
* @see {@link AllConsentNames} for consent categories
|
|
20
20
|
*/
|
|
21
21
|
declare const Frame: FrameCompoundComponent;
|
|
22
|
-
export { FrameButton, FrameRoot, FrameTitle } from './atoms';
|
|
23
|
-
export type { FrameCompoundComponent, FrameProps } from './types';
|
|
22
|
+
export { FrameButton, FrameRoot, FrameTitle } from './atoms.js';
|
|
23
|
+
export type { FrameCompoundComponent, FrameProps } from './types.js';
|
|
24
24
|
export { Frame };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AllConsentNames } from 'c15t';
|
|
2
2
|
import type { ComponentPropsWithRef, FC, ReactNode } from 'react';
|
|
3
|
-
import type * as Atom from './atoms';
|
|
3
|
+
import type * as Atom from './atoms.js';
|
|
4
4
|
export interface FrameProps extends ComponentPropsWithRef<'div'> {
|
|
5
5
|
/**
|
|
6
6
|
* Content rendered when consent is granted. Children are not mounted until
|
|
@@ -41,10 +41,10 @@ export interface IABConsentBannerProps {
|
|
|
41
41
|
uiSource?: string;
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
|
-
* IAB TCF 2.
|
|
44
|
+
* IAB TCF 2.4 compliant cookie consent banner.
|
|
45
45
|
*
|
|
46
46
|
* @remarks
|
|
47
|
-
* This component implements the required IAB TCF 2.
|
|
47
|
+
* This component implements the required IAB TCF 2.4 UI elements:
|
|
48
48
|
* - Partner count disclosure
|
|
49
49
|
* - Purpose summary
|
|
50
50
|
* - Legitimate interest notice
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
* of the banner's parts.
|
|
8
8
|
*/
|
|
9
9
|
import type { FC } from 'react';
|
|
10
|
-
import { IABConsentBannerButtonGroup, IABConsentBannerFooterSpacer } from './atoms/button-group';
|
|
11
|
-
import { IABConsentBannerCard } from './atoms/card';
|
|
12
|
-
import { IABConsentBannerDescription } from './atoms/description';
|
|
13
|
-
import { IABConsentBannerFooter } from './atoms/footer';
|
|
14
|
-
import { IABConsentBannerHeader } from './atoms/header';
|
|
15
|
-
import { IABConsentBannerOverlay } from './atoms/overlay';
|
|
16
|
-
import { IABConsentBannerRoot } from './atoms/root';
|
|
17
|
-
import { IABConsentBannerTitle } from './atoms/title';
|
|
18
|
-
import { type IABConsentBannerProps } from './iab-consent-banner';
|
|
10
|
+
import { IABConsentBannerButtonGroup, IABConsentBannerFooterSpacer } from './atoms/button-group.js';
|
|
11
|
+
import { IABConsentBannerCard } from './atoms/card.js';
|
|
12
|
+
import { IABConsentBannerDescription } from './atoms/description.js';
|
|
13
|
+
import { IABConsentBannerFooter } from './atoms/footer.js';
|
|
14
|
+
import { IABConsentBannerHeader } from './atoms/header.js';
|
|
15
|
+
import { IABConsentBannerOverlay } from './atoms/overlay.js';
|
|
16
|
+
import { IABConsentBannerRoot } from './atoms/root.js';
|
|
17
|
+
import { IABConsentBannerTitle } from './atoms/title.js';
|
|
18
|
+
import { type IABConsentBannerProps } from './iab-consent-banner.js';
|
|
19
19
|
/**
|
|
20
20
|
* This interface extends the base IABConsentBanner component with additional sub-components
|
|
21
21
|
* that can be used to compose the banner's structure.
|
|
@@ -32,14 +32,14 @@ export interface IABConsentBannerCompoundComponent extends FC<IABConsentBannerPr
|
|
|
32
32
|
Overlay: typeof IABConsentBannerOverlay;
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
|
-
* IAB TCF 2.
|
|
35
|
+
* IAB TCF 2.4 compliant cookie consent banner component.
|
|
36
36
|
*
|
|
37
37
|
* @remarks
|
|
38
38
|
* This component serves as the main entry point for rendering an IAB-compliant consent banner.
|
|
39
39
|
* It provides a structured layout with required IAB TCF elements.
|
|
40
40
|
*
|
|
41
41
|
* Key features:
|
|
42
|
-
* - IAB TCF 2.
|
|
42
|
+
* - IAB TCF 2.4 compliant
|
|
43
43
|
* - Fully accessible by default
|
|
44
44
|
* - Customizable appearance
|
|
45
45
|
* - Compound component pattern support
|
|
@@ -76,12 +76,12 @@ export interface IABConsentBannerCompoundComponent extends FC<IABConsentBannerPr
|
|
|
76
76
|
*/
|
|
77
77
|
declare const IABConsentBanner: IABConsentBannerCompoundComponent;
|
|
78
78
|
export default IABConsentBanner;
|
|
79
|
-
export { IABConsentBannerButtonGroup, IABConsentBannerFooterSpacer, } from './atoms/button-group';
|
|
80
|
-
export { IABConsentBannerCard } from './atoms/card';
|
|
81
|
-
export { IABConsentBannerDescription } from './atoms/description';
|
|
82
|
-
export { IABConsentBannerFooter } from './atoms/footer';
|
|
83
|
-
export { IABConsentBannerHeader } from './atoms/header';
|
|
84
|
-
export { IABConsentBannerOverlay } from './atoms/overlay';
|
|
85
|
-
export { IABConsentBannerRoot } from './atoms/root';
|
|
86
|
-
export { IABConsentBannerTitle } from './atoms/title';
|
|
79
|
+
export { IABConsentBannerButtonGroup, IABConsentBannerFooterSpacer, } from './atoms/button-group.js';
|
|
80
|
+
export { IABConsentBannerCard } from './atoms/card.js';
|
|
81
|
+
export { IABConsentBannerDescription } from './atoms/description.js';
|
|
82
|
+
export { IABConsentBannerFooter } from './atoms/footer.js';
|
|
83
|
+
export { IABConsentBannerHeader } from './atoms/header.js';
|
|
84
|
+
export { IABConsentBannerOverlay } from './atoms/overlay.js';
|
|
85
|
+
export { IABConsentBannerRoot } from './atoms/root.js';
|
|
86
|
+
export { IABConsentBannerTitle } from './atoms/title.js';
|
|
87
87
|
export { IABConsentBanner, type IABConsentBannerProps };
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type FC } from 'react';
|
|
2
|
-
import type { ProcessedPurpose, VendorId } from '../types';
|
|
3
|
-
interface
|
|
2
|
+
import type { ProcessedPurpose, VendorId } from '../types.js';
|
|
3
|
+
interface InteractivePurposeItemProps {
|
|
4
4
|
purpose: ProcessedPurpose;
|
|
5
|
+
/** Omit or set to `false` to render a row with a consent switch. */
|
|
6
|
+
informational?: false;
|
|
5
7
|
isEnabled: boolean;
|
|
6
8
|
onToggle: (value: boolean) => void;
|
|
7
9
|
vendorConsents: Record<string, boolean>;
|
|
@@ -17,5 +19,22 @@ interface PurposeItemProps {
|
|
|
17
19
|
/** Handler for purpose-level legitimate interest objection toggle */
|
|
18
20
|
onPurposeLegitimateInterestToggle?: (purposeId: number, value: boolean) => void;
|
|
19
21
|
}
|
|
22
|
+
interface InformationalPurposeItemProps {
|
|
23
|
+
purpose: ProcessedPurpose;
|
|
24
|
+
/**
|
|
25
|
+
* Renders the row without any control: name, description, examples, and
|
|
26
|
+
* a read-only list of vendor names. Used for TCF Features, which users
|
|
27
|
+
* cannot turn on or off.
|
|
28
|
+
*/
|
|
29
|
+
informational: true;
|
|
30
|
+
}
|
|
31
|
+
type PurposeItemProps = InteractivePurposeItemProps | InformationalPurposeItemProps;
|
|
32
|
+
/**
|
|
33
|
+
* A purpose row in the IAB consent dialog.
|
|
34
|
+
*
|
|
35
|
+
* @remarks
|
|
36
|
+
* By default the row has a consent switch and per-vendor controls. Pass
|
|
37
|
+
* `informational` to render a read-only row without any control.
|
|
38
|
+
*/
|
|
20
39
|
export declare const PurposeItem: FC<PurposeItemProps>;
|
|
21
40
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { GlobalVendorList } from 'c15t';
|
|
2
2
|
import { type FC } from 'react';
|
|
3
|
-
import type { ProcessedPurpose, VendorId } from '../types';
|
|
3
|
+
import type { ProcessedPurpose, VendorId } from '../types.js';
|
|
4
4
|
/** Custom vendor not registered with IAB */
|
|
5
5
|
interface CustomVendor {
|
|
6
6
|
id: string | number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ProcessedFeature, ProcessedPurpose, ProcessedSpecialFeature, ProcessedStack } from '../types';
|
|
1
|
+
import type { ProcessedFeature, ProcessedPurpose, ProcessedSpecialFeature, ProcessedStack } from '../types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Processed GVL data for the IAB Consent Dialog.
|
|
4
4
|
* @public
|
|
@@ -8,6 +8,12 @@ export interface GVLData {
|
|
|
8
8
|
specialPurposes: ProcessedPurpose[];
|
|
9
9
|
specialFeatures: ProcessedSpecialFeature[];
|
|
10
10
|
features: ProcessedFeature[];
|
|
11
|
+
/**
|
|
12
|
+
* Standard text for the Features section, from the GVL's
|
|
13
|
+
* `standardTexts.features`. `null` when the GVL does not include it; fall
|
|
14
|
+
* back to the `features.description` translation in that case.
|
|
15
|
+
*/
|
|
16
|
+
featuresStandardText: string | null;
|
|
11
17
|
stacks: ProcessedStack[];
|
|
12
18
|
standalonePurposes: ProcessedPurpose[];
|
|
13
19
|
totalVendors: number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type FC } from 'react';
|
|
2
|
-
import { type ConsentDialogTriggerProps } from '../consent-dialog-trigger';
|
|
2
|
+
import { type ConsentDialogTriggerProps } from '../consent-dialog-trigger/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Props for the IABConsentDialog component.
|
|
5
5
|
* @public
|
|
@@ -57,14 +57,15 @@ export interface IABConsentDialogProps {
|
|
|
57
57
|
uiSource?: string;
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
60
|
-
* IAB TCF 2.
|
|
60
|
+
* IAB TCF 2.4 compliant consent dialog dialog.
|
|
61
61
|
*
|
|
62
62
|
* @remarks
|
|
63
|
-
* This component implements the required IAB TCF 2.
|
|
63
|
+
* This component implements the required IAB TCF 2.4 UI elements:
|
|
64
64
|
* - Tabbed interface for Purposes and Vendors
|
|
65
65
|
* - Purpose grouping with stacks
|
|
66
66
|
* - Individual purpose and vendor consent toggles
|
|
67
|
-
* - Special purposes and features
|
|
67
|
+
* - Special purposes (locked) and special features (opt-in)
|
|
68
|
+
* - An informational Features section with the IAB standard text
|
|
68
69
|
* - Legitimate interest handling
|
|
69
70
|
*
|
|
70
71
|
* @public
|