useToken.d.ts 1.1 KB

1234567891011121314151617181920
  1. import type { Theme, TokenType } from '@ant-design/cssinjs';
  2. import type { OverrideTokenMap, TokenMap, GlobalToken } from '../interface';
  3. export type TokenMapWithTheme<CompTokenMap extends TokenMap, AliasToken extends TokenType, DesignToken extends TokenType> = {
  4. [key in keyof OverrideTokenMap<CompTokenMap, AliasToken>]?: OverrideTokenMap<CompTokenMap, AliasToken>[key] & {
  5. theme?: Theme<DesignToken, AliasToken>;
  6. };
  7. };
  8. export interface UseTokenReturn<CompTokenMap extends TokenMap, AliasToken extends TokenType, DesignToken extends TokenType> {
  9. token: GlobalToken<CompTokenMap, AliasToken>;
  10. realToken?: GlobalToken<CompTokenMap, AliasToken>;
  11. theme?: Theme<DesignToken, AliasToken>;
  12. components?: TokenMapWithTheme<CompTokenMap, DesignToken, AliasToken>;
  13. hashId?: string;
  14. hashed?: string | boolean;
  15. cssVar?: {
  16. prefix?: string;
  17. key?: string;
  18. };
  19. }
  20. export type UseToken<CompTokenMap extends TokenMap, DesignToken extends TokenType, AliasToken extends TokenType> = () => UseTokenReturn<CompTokenMap, DesignToken, AliasToken>;