components.d.ts 1.0 KB

12345678910
  1. import type { TokenType } from '@ant-design/cssinjs';
  2. export type TokenMap = Record<PropertyKey, any>;
  3. export type TokenMapKey<CompTokenMap extends TokenMap> = Extract<keyof CompTokenMap, string>;
  4. export type GlobalToken<CompTokenMap extends TokenMap, AliasToken extends TokenType> = AliasToken & CompTokenMap;
  5. export type OverrideTokenMap<CompTokenMap extends TokenMap, AliasToken extends TokenType> = {
  6. [key in keyof CompTokenMap]: Partial<CompTokenMap[key]> & Partial<AliasToken>;
  7. };
  8. export type GlobalTokenWithComponent<CompTokenMap extends TokenMap, AliasToken extends TokenType, C extends TokenMapKey<CompTokenMap>> = GlobalToken<CompTokenMap, AliasToken> & CompTokenMap[C];
  9. export type ComponentToken<CompTokenMap extends TokenMap, AliasToken extends TokenType, C extends TokenMapKey<CompTokenMap>> = Exclude<OverrideTokenMap<CompTokenMap, AliasToken>[C], undefined>;
  10. export type ComponentTokenKey<CompTokenMap extends TokenMap, AliasToken extends TokenType, C extends TokenMapKey<CompTokenMap>> = keyof ComponentToken<CompTokenMap, AliasToken, C>;