UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

67 lines 4.39 kB
import * as React from 'react'; import { CanvasActionBrandRamp, CanvasBrandRamp, CanvasNeutralBrandRamp, CanvasNumericalBrandTheme, CanvasProviderTheme, CanvasTheme, PartialEmotionCanvasTheme } from './types'; /** True when a semantic theme intentionally passes a non-empty `canvas.palette`. */ export declare function hasExplicitSemanticPalette(theme: CanvasProviderTheme): theme is PartialEmotionCanvasTheme; /** Tokens that change when a consumer sets only their primary brand color. */ export declare const BRAND_SCOPE_PRIMARY_BUNDLE: { readonly action: readonly ["base", "dark", "darkest", "accent"]; readonly accent: readonly ["primary", "action"]; readonly selected: { readonly fg: "--cnvs-sys-color-brand-fg-selected"; readonly surface: "--cnvs-sys-color-brand-surface-selected"; }; }; /** * Independently brandable tokens — writable when explicitly provided, * but NEVER derived from primary.main / brand.primary.600 / brand.primary.500. */ export declare const BRAND_SCOPE_INDEPENDENT: { readonly focus: { readonly primary: "--cnvs-sys-color-brand-focus-primary"; readonly semanticKey: "focusOutline"; }; readonly border: { readonly primary: "--cnvs-sys-color-brand-border-primary"; readonly semanticKey: "focusOutline"; }; }; type BrandColor = 'primary' | 'critical' | 'caution' | 'positive' | 'neutral'; /** Maps a numerical brand ramp onto `brand.<color><rampKey>` CSS variables. */ export declare function writeNumericalBrandRamp(color: BrandColor | 'action', ramp: CanvasBrandRamp | CanvasNeutralBrandRamp | CanvasActionBrandRamp | undefined, style: React.CSSProperties, options?: { skipKeys?: Set<string>; }): void; /** Called when consumer sets only `primary.main` or `brand.primary['600']`. */ export declare function applyPrimaryBrandBundle(primaryColor: string, style: React.CSSProperties): void; /** Called when consumer sets only `error.main` or `brand.critical['600']`. */ export declare function applyCriticalBrandBundle(criticalColor: string, style: React.CSSProperties): void; /** Called when consumer sets only `alert.main` or `brand.caution['400']`. */ export declare function applyCautionBrandBundle(cautionColor: string, style: React.CSSProperties): void; /** Called when consumer sets only `success.main` or `brand.positive['600']`. */ export declare function applyPositiveBrandBundle(positiveColor: string, style: React.CSSProperties): void; /** Called when consumer sets only `neutral.main` or `brand.neutral['600']`. */ export declare function applyNeutralBrandBundle(neutralColor: string, style: React.CSSProperties): void; /** Writes first-class selected shortcuts from numerical theme input. */ export declare function writeSelectedShortcuts(selected: CanvasNumericalBrandTheme['selected'] | undefined, style: React.CSSProperties): void; /** Writes first-class focus shortcuts — never derived from brand.primary. */ export declare function writeFocusShortcuts(focus: CanvasNumericalBrandTheme['focus'] | undefined, style: React.CSSProperties): void; /** * Writes focus/border from explicit input — never from primary.main or primary.500. * Numerical themes use {@link writeFocusShortcuts}; legacy uses `common.focusOutline`. */ export declare function writeIndependentBrandTokens(theme: CanvasProviderTheme | undefined, style: React.CSSProperties): void; /** Walks nested system override object and sets matching system CSS vars. */ export declare function writeSystemBrandOverrides(systemOverrides: { color?: { brand?: Record<string, unknown>; }; } | undefined, style: React.CSSProperties): void; /** Full-scope semantic writer — filled palette compared against defaults unless `writeAll`. */ export declare function writeSemanticTheme(palette: CanvasTheme['palette'], style: React.CSSProperties, options?: { writeAll?: boolean; }): void; /** Writes numerical theme — brand scope applies per-family shortcuts; remaining keys write 1:1. */ export declare function writeNumericalTheme(theme: CanvasNumericalBrandTheme, style: React.CSSProperties, scope: 'brand' | 'full'): void; /** Brand-scope semantic path — reads raw input only, not useTheme-filled palette. */ export declare function writeBrandScopeSemantic(theme: PartialEmotionCanvasTheme, style: React.CSSProperties): void; export {}; //# sourceMappingURL=brandScope.d.ts.map