UNPKG

linkmore-design

Version:

🌈 πŸš€lmη»„δ»ΆεΊ“γ€‚πŸš€

72 lines (69 loc) β€’ 2.75 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireWildcard(require("react")); var _LocaleReceiver = _interopRequireDefault(require("../../locale-provider/LocaleReceiver")); var _utils = require("../utils"); var _GhostRender = _interopRequireDefault(require("./GhostRender")); var _GhostText = _interopRequireDefault(require("./GhostText")); var _PopDropDown = _interopRequireDefault(require("./PopDropDown")); const Control = /*#__PURE__*/(0, _react.memo)(props => { const { popupClassName, dropdownRender, type, value, onChange, className, size, style } = props; const ghostRef = (0, _react.useRef)(null); const [visible, setVisible] = (0, _react.useState)(false); // ζ˜―ε¦ζœ‰η­›ι€‰ε€Ό/ζ˜―ε¦ε€„δΊŽη­›ι€‰ηŠΆζ€ const active = (0, _react.useMemo)(() => (0, _utils.getIsHas)(value), [value]); const overlayClassName = (0, _classnames.default)(`filter_dropdown_container_${type}`, popupClassName); const onOpenChange = v => { setVisible(v); props.componentProps?.onVisibleChange?.(v); // v && ghostRef.current?.focus?.() }; const handleChange = val => { onChange?.(val); setVisible(false); }; const onCancel = () => setVisible(false); const overlayRender = () => dropdownRender?.(props) || /*#__PURE__*/_react.default.createElement(_GhostRender.default, (0, _extends2.default)({}, props, { ref: ghostRef, onChange: handleChange, onCancel: onCancel, visible: visible })); return /*#__PURE__*/_react.default.createElement(_PopDropDown.default, { overlayClassName: overlayClassName, dropdownRender: overlayRender, open: visible, onOpenChange: onOpenChange }, /*#__PURE__*/_react.default.createElement("div", { className: (0, _classnames.default)('lm_filter_basic_item', className, size, { expand: visible, active }), style: style }, /*#__PURE__*/_react.default.createElement(_GhostText.default, props))); }); const LocalcControl = props => { return /*#__PURE__*/_react.default.createElement(_LocaleReceiver.default, { componentName: "FilterWidget" }, contextLocale => /*#__PURE__*/_react.default.createElement(Control, (0, _extends2.default)({}, props, { locale: contextLocale }))); }; var _default = /*#__PURE__*/(0, _react.memo)(LocalcControl); exports.default = _default;