@ant-design/x
Version:
Craft AI-driven interfaces effortlessly
53 lines (50 loc) • 1.86 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import { Divider } from 'antd';
import { clsx } from 'clsx';
import React from 'react';
import useXComponentConfig from "../_util/hooks/use-x-component-config";
import { useXProviderContext } from "../x-provider";
import Bubble from "./Bubble";
import useStyle from "./style";
const DividerBubble = ({
prefixCls: customizePrefixCls,
content = '',
rootClassName,
style,
className,
styles = {},
classNames = {},
dividerProps,
...restProps
}, ref) => {
// ============================ Prefix ============================
const {
getPrefixCls
} = useXProviderContext();
// ============================ Styles ============================
// ===================== Component Config =========================
const contextConfig = useXComponentConfig('bubble');
const prefixCls = getPrefixCls('bubble', customizePrefixCls);
const [hashId, cssVarCls] = useStyle(prefixCls);
// ============================ Styles ============================
const rootMergedCls = clsx(hashId, cssVarCls, prefixCls, `${prefixCls}-divider`, contextConfig.className, contextConfig.classNames.root, className, classNames.root, rootClassName);
const dividerContentRender = content => {
return /*#__PURE__*/React.createElement(Divider, dividerProps, content);
};
return /*#__PURE__*/React.createElement(Bubble, _extends({
ref: ref,
style: style,
styles: styles,
className: rootMergedCls,
classNames: classNames,
prefixCls: prefixCls,
variant: "borderless",
content: content,
contentRender: dividerContentRender
}, restProps));
};
const ForwardDividerBubble = /*#__PURE__*/React.forwardRef(DividerBubble);
if (process.env.NODE_ENV !== 'production') {
ForwardDividerBubble.displayName = 'DividerBubble';
}
export default ForwardDividerBubble;