import type { FullToken, GenerateStyle } from '../../theme/internal'; import { genComponentStyleHook } from '../../theme/internal'; import genSpaceCompactStyle from './compact'; /** Component only token. Which will handle additional calculation of alias token */ export interface ComponentToken { // Component token here } interface SpaceToken extends FullToken<'Space'> { // Custom token here } const genSpaceStyle: GenerateStyle = (token) => { const { componentCls } = token; return { [componentCls]: { display: 'inline-flex', '&-rtl': { direction: 'rtl', }, '&-vertical': { flexDirection: 'column', }, '&-align': { flexDirection: 'column', '&-center': { alignItems: 'center', }, '&-start': { alignItems: 'flex-start', }, '&-end': { alignItems: 'flex-end', }, '&-baseline': { alignItems: 'baseline', }, }, [`${componentCls}-item:empty`]: { display: 'none', }, }, }; }; // ============================== Export ============================== export default genComponentStyleHook( 'Space', (token) => [genSpaceStyle(token), genSpaceCompactStyle(token)], () => ({}), { // Space component don't apply extra font style // https://github.com/ant-design/ant-design/issues/40315 resetStyle: false, }, );