UNPKG

tdesign-react

Version:
206 lines (198 loc) 9.77 kB
/** * tdesign v1.11.6 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var defineProperty = require('../../_chunks/dep-56a79f9c.js'); var slicedToArray = require('../../_chunks/dep-48e1db8c.js'); var React = require('react'); var classNames = require('classnames'); var tdesignIconsReact = require('tdesign-icons-react'); var loading_index = require('../../loading/index.js'); var checkbox_index = require('../../checkbox/index.js'); var hooks_useConfig = require('../../hooks/useConfig.js'); var hooks_useGlobalIcon = require('../../hooks/useGlobalIcon.js'); var hooks_useDomRefCallback = require('../../hooks/useDomRefCallback.js'); var hooks_useCommonClassName = require('../../hooks/useCommonClassName.js'); var cascader_core_helper = require('../core/helper.js'); var cascader_core_className = require('../core/className.js'); var isFunction = require('../../_chunks/dep-8d4e8f1c.js'); require('../../_chunks/dep-5b35215f.js'); require('../../_chunks/dep-6b4846c3.js'); require('../../loading/Loading.js'); require('../../_util/dom.js'); require('raf'); require('../../_util/easing.js'); require('../../_chunks/dep-3c8023f1.js'); require('../../_chunks/dep-6e34d7d7.js'); require('../../_chunks/dep-ec3beb8d.js'); require('../../_chunks/dep-d45b3350.js'); require('../../common/Portal.js'); require('react-dom'); require('../../hooks/useLayoutEffect.js'); require('../../config-provider/ConfigContext.js'); require('../../_chunks/dep-fa2097c1.js'); require('../../_chunks/dep-f6f16bd8.js'); require('dayjs'); require('../../_chunks/dep-59bb0827.js'); require('../../_chunks/dep-68f8743f.js'); require('../../_chunks/dep-a8d0483a.js'); require('../../_chunks/dep-b7e21379.js'); require('../../_chunks/dep-73937edb.js'); require('../../_chunks/dep-ab08e148.js'); require('../../_chunks/dep-9df70348.js'); require('../../_chunks/dep-af16359b.js'); require('../../_chunks/dep-e11afe29.js'); require('../../_chunks/dep-1d022321.js'); require('../../_chunks/dep-346ac5f4.js'); require('../../_chunks/dep-612ec5c9.js'); require('../../_chunks/dep-4d25d6c0.js'); require('../../_chunks/dep-496c0353.js'); require('../../_chunks/dep-1f530d81.js'); require('../../_chunks/dep-a4bc3144.js'); require('../../_chunks/dep-535a3b69.js'); require('../../_chunks/dep-d11b328f.js'); require('../../_chunks/dep-c43c91af.js'); require('../../_chunks/dep-9ecc1939.js'); require('../../_chunks/dep-f500d2b7.js'); require('../../_chunks/dep-82a8b824.js'); require('../../loading/defaultProps.js'); require('../../hooks/useDefaultProps.js'); require('../../loading/plugin.js'); require('../../_util/react-render.js'); require('../../_chunks/dep-e9660f30.js'); require('../../common/PluginContainer.js'); require('../../config-provider/ConfigProvider.js'); require('../../_chunks/dep-48ac011e.js'); require('../../_chunks/dep-c4eb94d2.js'); require('../../_chunks/dep-d5a77c7c.js'); require('../../_chunks/dep-b7847924.js'); require('../../_chunks/dep-0d35f53a.js'); require('../../_chunks/dep-d8727aa2.js'); require('../../_chunks/dep-440a0ba0.js'); require('../../_chunks/dep-3609604e.js'); require('../../_util/forwardRefWithStatics.js'); require('hoist-non-react-statics'); require('../../common/Check.js'); require('../../_chunks/dep-da07bc8c.js'); require('../../_util/helper.js'); require('../../_chunks/dep-3b342ce7.js'); require('../../_chunks/dep-dc26f226.js'); require('../../_chunks/dep-02a1b59c.js'); require('../../_chunks/dep-35df84a1.js'); require('../../_chunks/dep-fe42fca8.js'); require('../../_chunks/dep-4546f1ae.js'); require('../../hooks/useControlled.js'); require('../../_util/noop.js'); require('../../_chunks/dep-a7854794.js'); require('../../checkbox/defaultProps.js'); require('../../_chunks/dep-7c59bcf4.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var Item = /*#__PURE__*/React.forwardRef(function (props, ref) { var node = props.node, multiple = props.cascaderContext.multiple, _onClick = props.onClick, _onChange = props.onChange, _onMouseEnter = props.onMouseEnter, cascaderContext = props.cascaderContext; var _useConfig = hooks_useConfig["default"](), prefix = _useConfig.classPrefix; var _useGlobalIcon = hooks_useGlobalIcon["default"]({ ChevronRightIcon: tdesignIconsReact.ChevronRightIcon }), ChevronRightIcon = _useGlobalIcon.ChevronRightIcon; var COMPONENT_NAME = "".concat(prefix, "-cascader__item"); var _useDomRefCallback = hooks_useDomRefCallback["default"](), _useDomRefCallback2 = slicedToArray._slicedToArray(_useDomRefCallback, 2); _useDomRefCallback2[0]; _useDomRefCallback2[1]; var _useCommonClassName = hooks_useCommonClassName["default"](), STATUS = _useCommonClassName.STATUS, SIZE = _useCommonClassName.SIZE; var itemClass = React.useMemo(function () { return classNames__default["default"](cascader_core_className.getCascaderItemClass(prefix, node, SIZE, STATUS, cascaderContext)); }, [prefix, node, SIZE, STATUS, cascaderContext]); var iconClass = React.useMemo(function () { return classNames__default["default"](cascader_core_className.getCascaderItemIconClass(prefix, node, STATUS, cascaderContext)); }, [prefix, node, STATUS, cascaderContext]); var RenderLabelInner = function RenderLabelInner(node2, cascaderContext2) { var inputVal = cascaderContext2.inputVal; var labelText = inputVal ? cascader_core_helper.getFullPathLabel(node2) : node2.label; if (inputVal) { var texts = labelText.split(inputVal); var doms = []; for (var index = 0; index < texts.length; index++) { doms.push(/* @__PURE__ */React__default["default"].createElement("span", { key: index }, texts[index])); if (index === texts.length - 1) break; doms.push(/* @__PURE__ */React__default["default"].createElement("span", { key: "".concat(index, "filter"), className: "".concat(COMPONENT_NAME, "-label--filter") }, inputVal)); } return doms; } return labelText; }; var RenderLabelContent = function RenderLabelContent(node2, cascaderContext2) { var label = RenderLabelInner(node2, cascaderContext2); var labelCont = /* @__PURE__ */React__default["default"].createElement("span", { title: cascaderContext2.inputVal ? cascader_core_helper.getFullPathLabel(node2) : node2.label, className: classNames__default["default"]("".concat(COMPONENT_NAME, "-label"), "".concat(COMPONENT_NAME, "-label--ellipsis")), role: "label" }, label); return labelCont; }; var RenderCheckBox = function RenderCheckBox(node2, cascaderContext2) { var checkProps = cascaderContext2.checkProps, value = cascaderContext2.value, max = cascaderContext2.max, inputVal = cascaderContext2.inputVal; var label = RenderLabelInner(node2, cascaderContext2); return /* @__PURE__ */React__default["default"].createElement(checkbox_index.Checkbox, _objectSpread({ checked: node2.checked, indeterminate: node2.indeterminate, disabled: node2.isDisabled() || value && value.length >= max && max !== 0, name: String(node2.value), stopLabelTrigger: !!node2.children, title: inputVal ? cascader_core_helper.getFullPathLabel(node2) : node2.label, onChange: function onChange() { _onChange(node2); } }, checkProps), label); }; var isFiltering = React.useMemo(function () { return Boolean(cascaderContext.filterable) || isFunction.isFunction(cascaderContext.filter); }, [cascaderContext.filterable, cascaderContext.filter]); return /* @__PURE__ */React__default["default"].createElement("li", { ref: ref, className: itemClass, onClick: function onClick(e) { var _e$nativeEvent, _e$nativeEvent$stopIm; e.stopPropagation(); e === null || e === void 0 || (_e$nativeEvent = e.nativeEvent) === null || _e$nativeEvent === void 0 || (_e$nativeEvent$stopIm = _e$nativeEvent.stopImmediatePropagation) === null || _e$nativeEvent$stopIm === void 0 || _e$nativeEvent$stopIm.call(_e$nativeEvent); if (multiple && cascaderContext.inputVal && isFiltering) return; _onClick(node); }, onMouseEnter: function onMouseEnter(e) { e.stopPropagation(); if (cascaderContext.inputVal && isFiltering) return; _onMouseEnter(node); } }, multiple ? RenderCheckBox(node, cascaderContext) : RenderLabelContent(node, cascaderContext), !cascaderContext.inputVal && node.children && (node.loading ? /* @__PURE__ */React__default["default"].createElement(loading_index.Loading, { className: iconClass, loading: true, size: "small" }) : /* @__PURE__ */React__default["default"].createElement(ChevronRightIcon, { className: iconClass }))); }); exports["default"] = Item; //# sourceMappingURL=Item.js.map