antd
Version:
An enterprise-class UI design language and React components implementation
42 lines (41 loc) • 1.29 kB
JavaScript
"use client";
import React from 'react';
import { clsx } from 'clsx';
import { getStatusClassNames } from '../_util/statusUtils';
import { ConfigContext } from '../config-provider';
import { useCompactItemContext } from './Compact';
import useStyle from './style/addon';
const SpaceAddon = /*#__PURE__*/React.forwardRef((props, ref) => {
const {
className,
children,
style,
prefixCls: customizePrefixCls,
variant = 'outlined',
disabled,
status,
...restProps
} = props;
const {
getPrefixCls,
direction: directionConfig
} = React.useContext(ConfigContext);
const prefixCls = getPrefixCls('space-addon', customizePrefixCls);
const [hashId, cssVarCls] = useStyle(prefixCls);
const {
compactItemClassnames,
compactSize
} = useCompactItemContext(prefixCls, directionConfig);
const statusCls = getStatusClassNames(prefixCls, status);
const classes = clsx(prefixCls, hashId, compactItemClassnames, cssVarCls, `${prefixCls}-variant-${variant}`, statusCls, {
[`${prefixCls}-${compactSize}`]: compactSize,
[`${prefixCls}-disabled`]: disabled
}, className);
return /*#__PURE__*/React.createElement("div", {
ref: ref,
className: classes,
style: style,
...restProps
}, children);
});
export default SpaceAddon;