import useCacheToken from './hooks/useCacheToken'; import type { CSSInterpolation, CSSObject } from './hooks/useStyleRegister'; import useStyleRegister, { extractStyle } from './hooks/useStyleRegister'; import Keyframes from './Keyframes'; import type { Linter } from './linters'; import { legacyNotSelectorLinter, logicalPropertiesLinter, parentSelectorLinter } from './linters'; import type { StyleContextProps, StyleProviderProps } from './StyleContext'; import { createCache, useStyleInject, useStyleProvider, StyleProvider } from './StyleContext'; import type { DerivativeFunc, TokenType } from './theme'; import { createTheme, Theme } from './theme'; import type { Transformer } from './transformers/interface'; import legacyLogicalPropertiesTransformer from './transformers/legacyLogicalProperties'; import px2remTransformer from './transformers/px2rem'; import { supportLogicProps, supportWhere } from './util'; const cssinjs = { Theme, createTheme, useStyleRegister, useCacheToken, createCache, useStyleInject, useStyleProvider, Keyframes, extractStyle, // Transformer legacyLogicalPropertiesTransformer, px2remTransformer, // Linters logicalPropertiesLinter, legacyNotSelectorLinter, parentSelectorLinter, // cssinjs StyleProvider, }; export { Theme, createTheme, useStyleRegister, useCacheToken, createCache, useStyleInject, useStyleProvider, Keyframes, extractStyle, // Transformer legacyLogicalPropertiesTransformer, px2remTransformer, // Linters logicalPropertiesLinter, legacyNotSelectorLinter, parentSelectorLinter, // cssinjs StyleProvider, }; export type { TokenType, CSSObject, CSSInterpolation, DerivativeFunc, Transformer, Linter, StyleContextProps, StyleProviderProps, }; export const _experimental = { supportModernCSS: () => supportWhere() && supportLogicProps(), }; export default cssinjs;