42 lines
1.3 KiB
JavaScript
42 lines
1.3 KiB
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; |