import { ThemeColorPaletteTones } from './color'; export type ThemeTokenDefinition = Record; export type ThemeButtonTokenDefinition = { 'border-radius': string; 'border-width': string; }; export type ThemeTextFieldTokenDefinition = { 'border-radius': string; 'border-width': string; 'x-padding': string; 'y-padding': string; 'font-size'?: string; 'font-weight'?: string | number; 'line-height'?: string | number; }; export type ThemeCheckboxTokenDefinition = { 'border-width': string; 'border-radius': string; size: string; /** * Margin around the checkbox element */ inset: string; 'icon-size': string; }; export type ThemeRadioButtonTokenDefinition = { 'border-width': string; size: string; /** * Margin around the checkbox element */ inset: string; 'icon-size': string; }; export type ThemeContextChipTokenDefinition = { 'border-radius': string; 'border-width': string; height: string; }; export type ThemeFilterChipTokenDefinition = { 'border-radius': string; 'border-width': string; height: string; }; export type ThemeInputChipTokenDefinition = { 'border-radius': string; 'border-width': string; height: string; }; /** * This is intended to be overridden by the dev in it's own project in order to * have autocomplete for custom token names */ export interface ThemeTokenOverride { } export type ThemeListTokenDefinition = { 'horizontal-padding': string; 'vertical-padding': string; gap: string; }; export type ThemeListItemTokenDefinition = { 'horizontal-padding': string; 'vertical-padding': string; 'border-radius': string; /** * Gap between prefix, content and suffix */ gap: string; }; export type ThemeAvatarGroupTokenDefinition = { overlap: string; }; export type ThemeAvatarTokenDefinition = { small: string; medium: string; large: string; 'border-radius': string; }; export type ThemeIconButtonTokenDefinition = { small: string; medium: string; large: string; 'border-radius': string; 'border-width': string; }; export type ThemeMenuTokenDefinition = { 'horizontal-padding': string; 'vertical-padding': string; 'border-radius': string; 'flyout-gap': string; 'gap': string; 'flyout-max-height': string | null; }; export type ThemeMenuItemTokenDefinition = { 'gap': string; 'horizontal-padding': string; 'vertical-padding': string; 'border-radius': string; }; export type ThemeAccordionTokenDefinition = { 'horizontal-padding': string; 'vertical-padding': string; }; export type ThemeSelectTokenDefinition = { 'border-width': string; 'border-radius': string; }; export type ThemeCardTokenDefinition = { 'border-width': string; 'border-radius': string; 'horizontal-padding': string; 'vertical-padding': string; 'outline-color-tone': ThemeColorPaletteTones; }; export type ThemeTextImageTokenDefinition = { 'padding': string; 'content-padding': string; }; export type ThemeDialogTokenDefinition = { 'border-radius': string; 'border-width': string; 'padding': string; }; export type ThemeMainColumnLayoutTokenDefinition = { width: string; }; export type ThemeCallToActionTokenDefinition = { 'border-width': string; 'border-radius': string; 'horizontal-padding': string; 'vertical-padding': string; }; export type ThemeSwitchTokenDefinition = { 'border-radius': string; inset: string; 'knob-border-radius': string; }; export type ThemeFlyoutTokenDefinition = { offset: string; 'border-width': string; 'border-radius': string; }; export type ThemeToggleMenuTokenDefinition = { gap: string; padding: string; }; export type ThemeToggleMenuItemTokenDefinition = { 'border-radius': string; 'border-width': string; padding: string; }; export type ThemeFeatureGridTokenDefinition = { gap: string; 'padding': string; }; export type ThemeLayoutTokenDefinition = { width: number; padding: number; }; export type ThemeAppBarTokenDefinition = { width: number; padding: string; }; export type ThemeTokensConfig = { accordion: ThemeAccordionTokenDefinition; 'app-bar': ThemeAppBarTokenDefinition; avatar: ThemeAvatarTokenDefinition; 'avatar-group': ThemeAvatarGroupTokenDefinition; button: ThemeButtonTokenDefinition; 'call-to-action': ThemeCallToActionTokenDefinition; card: ThemeCardTokenDefinition; checkbox: ThemeCheckboxTokenDefinition; 'context-chip': ThemeContextChipTokenDefinition; 'filter-chip': ThemeFilterChipTokenDefinition; 'flyout-navigation': ThemeFlyoutTokenDefinition; 'icon-button': ThemeIconButtonTokenDefinition; 'input-chip': ThemeInputChipTokenDefinition; layout: ThemeLayoutTokenDefinition; list: ThemeListTokenDefinition; 'list-item': ThemeListItemTokenDefinition; 'main-column-layout': ThemeMainColumnLayoutTokenDefinition; menu: ThemeMenuTokenDefinition; 'menu-option': ThemeMenuItemTokenDefinition; 'radio-button': ThemeRadioButtonTokenDefinition; select: ThemeSelectTokenDefinition; 'text-field': ThemeTextFieldTokenDefinition; 'text-image': ThemeTextImageTokenDefinition; 'toggle-menu': ThemeToggleMenuTokenDefinition; 'toggle-menu-item': ThemeToggleMenuItemTokenDefinition; 'feature-grid': ThemeFeatureGridTokenDefinition; switch: ThemeSwitchTokenDefinition; dialog: ThemeDialogTokenDefinition; } & Record & ThemeTokenOverride;