12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- "use client";
- import * as React from 'react';
- import classNames from 'classnames';
- import { Panel } from 'rc-cascader';
- import DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';
- import DisabledContext from '../config-provider/DisabledContext';
- import useCSSVarCls from '../config-provider/hooks/useCSSVarCls';
- import useBase from './hooks/useBase';
- import useCheckable from './hooks/useCheckable';
- import useColumnIcons from './hooks/useColumnIcons';
- import useStyle from './style';
- import usePanelStyle from './style/panel';
- function CascaderPanel(props) {
- const {
- prefixCls: customizePrefixCls,
- className,
- multiple,
- rootClassName,
- notFoundContent,
- direction,
- expandIcon,
- disabled: customDisabled
- } = props;
- const disabled = React.useContext(DisabledContext);
- const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;
- const [prefixCls, cascaderPrefixCls, mergedDirection, renderEmpty] = useBase(customizePrefixCls, direction);
- const rootCls = useCSSVarCls(cascaderPrefixCls);
- const [wrapCSSVar, hashId, cssVarCls] = useStyle(cascaderPrefixCls, rootCls);
- usePanelStyle(cascaderPrefixCls);
- const isRtl = mergedDirection === 'rtl';
- // ===================== Icon ======================
- const [mergedExpandIcon, loadingIcon] = useColumnIcons(prefixCls, isRtl, expandIcon);
- // ===================== Empty =====================
- const mergedNotFoundContent = notFoundContent || (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Cascader')) || (/*#__PURE__*/React.createElement(DefaultRenderEmpty, {
- componentName: "Cascader"
- }));
- // =================== Multiple ====================
- const checkable = useCheckable(cascaderPrefixCls, multiple);
- // ==================== Render =====================
- return wrapCSSVar(/*#__PURE__*/React.createElement(Panel, Object.assign({}, props, {
- checkable: checkable,
- prefixCls: cascaderPrefixCls,
- className: classNames(className, hashId, rootClassName, cssVarCls, rootCls),
- notFoundContent: mergedNotFoundContent,
- direction: mergedDirection,
- expandIcon: mergedExpandIcon,
- loadingIcon: loadingIcon,
- disabled: mergedDisabled
- })));
- }
- export default CascaderPanel;
|