UNPKG

tdesign-react

Version:
209 lines (201 loc) 9.88 kB
/** * tdesign v1.15.1 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var defineProperty = require('../../_chunks/dep-0006fcfa.js'); var slicedToArray = require('../../_chunks/dep-8e4d656d.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-ec8d2dca.js'); require('../../_chunks/dep-667ac7af.js'); require('../../_chunks/dep-00b49251.js'); require('../../loading/Loading.js'); require('../../_chunks/dep-381fa848.js'); require('../../_chunks/dep-4ed9eda4.js'); require('../../_chunks/dep-25585736.js'); require('../../_chunks/dep-64577888.js'); require('../../_chunks/dep-62e73936.js'); require('../../common/Portal.js'); require('react-dom'); require('../../hooks/useLayoutEffect.js'); require('../../config-provider/ConfigContext.js'); require('../../_chunks/dep-1df1dad8.js'); require('../../_chunks/dep-5b5ab11b.js'); require('dayjs'); require('../../_chunks/dep-f32c03f1.js'); require('../../_chunks/dep-31c4bc3d.js'); require('../../_chunks/dep-eea2872a.js'); require('../../_chunks/dep-71455db7.js'); require('../../_chunks/dep-9e5a468d.js'); require('../../_chunks/dep-f26edb7b.js'); require('../../_chunks/dep-f33c1939.js'); require('../../_chunks/dep-21ece627.js'); require('../../_chunks/dep-25e4aa84.js'); require('../../_chunks/dep-fc596d16.js'); require('../../_chunks/dep-e1fbe1c3.js'); require('../../_chunks/dep-df2b541f.js'); require('../../_chunks/dep-edd366db.js'); require('../../_chunks/dep-a56c4939.js'); require('../../_chunks/dep-6c297e20.js'); require('../../_chunks/dep-b7ad4d54.js'); require('../../_chunks/dep-a2cb9299.js'); require('../../_chunks/dep-f981815b.js'); require('../../loading/gradient.js'); require('../../_chunks/dep-dc4ce063.js'); require('../../_chunks/dep-002fcc1e.js'); require('../../_chunks/dep-e4e1901e.js'); require('../../_chunks/dep-2ffa3ff1.js'); require('../../loading/defaultProps.js'); require('../../hooks/useDefaultProps.js'); require('../../loading/plugin.js'); require('../../_util/react-render.js'); require('../../_chunks/dep-65ef8e09.js'); require('../../common/PluginContainer.js'); require('../../config-provider/ConfigProvider.js'); require('../../_chunks/dep-ab2f63ec.js'); require('../../_chunks/dep-a48c7e8b.js'); require('../../_chunks/dep-3d4656ee.js'); require('../../_chunks/dep-0ffc9d96.js'); require('../../_chunks/dep-efe6d243.js'); require('../../_chunks/dep-4b18243f.js'); require('../../_chunks/dep-bff2c990.js'); require('../../_chunks/dep-e136a981.js'); require('../../_util/forwardRefWithStatics.js'); require('hoist-non-react-statics'); require('../../common/Check.js'); require('../../_chunks/dep-8fa3a4c2.js'); require('../../_util/helper.js'); require('../../_chunks/dep-840b1644.js'); require('../../_chunks/dep-255ceed8.js'); require('../../_chunks/dep-79629634.js'); require('../../_chunks/dep-66114ce9.js'); require('../../_chunks/dep-62d1dd66.js'); require('../../_chunks/dep-7a148045.js'); require('../../hooks/useControlled.js'); require('../../_util/noop.js'); require('../../_chunks/dep-c16f1dc4.js'); require('../../checkbox/defaultProps.js'); require('../../_chunks/dep-6283cbd9.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, optionChild = props.optionChild, 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; if (!inputVal && optionChild) { return optionChild; } 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