1 |
- {"ast":null,"code":"import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"prefix\", \"split\", \"notFoundContent\", \"value\", \"defaultValue\", \"children\", \"options\", \"open\", \"allowClear\", \"silent\", \"validateSearch\", \"filterOption\", \"onChange\", \"onKeyDown\", \"onKeyUp\", \"onPressEnter\", \"onSearch\", \"onSelect\", \"onFocus\", \"onBlur\", \"transitionName\", \"placement\", \"direction\", \"getPopupContainer\", \"dropdownClassName\", \"rows\", \"visible\", \"onPopupScroll\"],\n _excluded2 = [\"suffix\", \"prefixCls\", \"defaultValue\", \"value\", \"allowClear\", \"onChange\", \"classNames\", \"className\", \"disabled\", \"onClear\"];\nimport classNames from 'classnames';\nimport { BaseInput } from 'rc-input';\nimport TextArea from 'rc-textarea';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport warning from \"rc-util/es/warning\";\nimport React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport useEffectState from \"./hooks/useEffectState\";\nimport KeywordTrigger from \"./KeywordTrigger\";\nimport MentionsContext from \"./MentionsContext\";\nimport Option from \"./Option\";\nimport { filterOption as defaultFilterOption, validateSearch as defaultValidateSearch, getBeforeSelectionText, getLastMeasureIndex, replaceWithMeasure, setInputSelection } from \"./util\";\nvar InternalMentions = /*#__PURE__*/forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n _props$prefix = props.prefix,\n prefix = _props$prefix === void 0 ? '@' : _props$prefix,\n _props$split = props.split,\n split = _props$split === void 0 ? ' ' : _props$split,\n _props$notFoundConten = props.notFoundContent,\n notFoundContent = _props$notFoundConten === void 0 ? 'Not Found' : _props$notFoundConten,\n value = props.value,\n defaultValue = props.defaultValue,\n children = props.children,\n options = props.options,\n open = props.open,\n allowClear = props.allowClear,\n silent = props.silent,\n _props$validateSearch = props.validateSearch,\n validateSearch = _props$validateSearch === void 0 ? defaultValidateSearch : _props$validateSearch,\n _props$filterOption = props.filterOption,\n filterOption = _props$filterOption === void 0 ? defaultFilterOption : _props$filterOption,\n onChange = props.onChange,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp,\n onPressEnter = props.onPressEnter,\n onSearch = props.onSearch,\n onSelect = props.onSelect,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n transitionName = props.transitionName,\n placement = props.placement,\n direction = props.direction,\n getPopupContainer = props.getPopupContainer,\n dropdownClassName = props.dropdownClassName,\n _props$rows = props.rows,\n rows = _props$rows === void 0 ? 1 : _props$rows,\n visible = props.visible,\n onPopupScroll = props.onPopupScroll,\n restProps = _objectWithoutProperties(props, _excluded);\n var mergedPrefix = useMemo(function () {\n return Array.isArray(prefix) ? prefix : [prefix];\n }, [prefix]);\n\n // =============================== Refs ===============================\n var containerRef = useRef(null);\n var textareaRef = useRef(null);\n var measureRef = useRef(null);\n var getTextArea = function getTextArea() {\n var _textareaRef$current;\n return (_textareaRef$current = textareaRef.current) === null || _textareaRef$current === void 0 || (_textareaRef$current = _textareaRef$current.resizableTextArea) === null || _textareaRef$current === void 0 ? void 0 : _textareaRef$current.textArea;\n };\n React.useImperativeHandle(ref, function () {\n var _textareaRef$current4;\n return {\n focus: function focus() {\n var _textareaRef$current2;\n return (_textareaRef$current2 = textareaRef.current) === null || _textareaRef$current2 === void 0 ? void 0 : _textareaRef$current2.focus();\n },\n blur: function blur() {\n var _textareaRef$current3;\n return (_textareaRef$current3 = textareaRef.current) === null || _textareaRef$current3 === void 0 ? void 0 : _textareaRef$current3.blur();\n },\n textarea: (_textareaRef$current4 = textareaRef.current) === null || _textareaRef$current4 === void 0 || (_textareaRef$current4 = _textareaRef$current4.resizableTextArea) === null || _textareaRef$current4 === void 0 ? void 0 : _textareaRef$current4.textArea,\n nativeElement: containerRef.current\n };\n });\n\n // ============================== State ===============================\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n measuring = _useState2[0],\n setMeasuring = _useState2[1];\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n measureText = _useState4[0],\n setMeasureText = _useState4[1];\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n measurePrefix = _useState6[0],\n setMeasurePrefix = _useState6[1];\n var _useState7 = useState(0),\n _useState8 = _slicedToArray(_useState7, 2),\n measureLocation = _useState8[0],\n setMeasureLocation = _useState8[1];\n var _useState9 = useState(0),\n _useState10 = _slicedToArray(_useState9, 2),\n activeIndex = _useState10[0],\n setActiveIndex = _useState10[1];\n var _useState11 = useState(false),\n _useState12 = _slicedToArray(_useState11, 2),\n isFocus = _useState12[0],\n setIsFocus = _useState12[1];\n\n // ============================== Value ===============================\n var _useMergedState = useMergedState('', {\n defaultValue: defaultValue,\n value: value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setMergedValue = _useMergedState2[1];\n\n // =============================== Open ===============================\n useEffect(function () {\n // Sync measure div top with textarea for rc-trigger usage\n if (measuring && measureRef.current) {\n measureRef.current.scrollTop = getTextArea().scrollTop;\n }\n }, [measuring]);\n var _React$useMemo = React.useMemo(function () {\n if (open) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`open` of Mentions is only used for debug usage. Do not use in you production.');\n }\n for (var i = 0; i < mergedPrefix.length; i += 1) {\n var curPrefix = mergedPrefix[i];\n var index = mergedValue.lastIndexOf(curPrefix);\n if (index >= 0) {\n return [true, '', curPrefix, index];\n }\n }\n }\n return [measuring, measureText, measurePrefix, measureLocation];\n }, [open, measuring, mergedPrefix, mergedValue, measureText, measurePrefix, measureLocation]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 4),\n mergedMeasuring = _React$useMemo2[0],\n mergedMeasureText = _React$useMemo2[1],\n mergedMeasurePrefix = _React$useMemo2[2],\n mergedMeasureLocation = _React$useMemo2[3];\n\n // ============================== Option ==============================\n var getOptions = React.useCallback(function (targetMeasureText) {\n var list;\n if (options && options.length > 0) {\n list = options.map(function (item) {\n var _item$key;\n return _objectSpread(_objectSpread({}, item), {}, {\n key: (_item$key = item === null || item === void 0 ? void 0 : item.key) !== null && _item$key !== void 0 ? _item$key : item.value\n });\n });\n } else {\n list = toArray(children).map(function (_ref) {\n var optionProps = _ref.props,\n key = _ref.key;\n return _objectSpread(_objectSpread({}, optionProps), {}, {\n label: optionProps.children,\n key: key || optionProps.value\n });\n });\n }\n return list.filter(function (option) {\n /** Return all result if `filterOption` is false. */\n if (filterOption === false) {\n return true;\n }\n return filterOption(targetMeasureText, option);\n });\n }, [children, options, filterOption]);\n var mergedOptions = React.useMemo(function () {\n return getOptions(mergedMeasureText);\n }, [getOptions, mergedMeasureText]);\n\n // ============================= Measure ==============================\n // Mark that we will reset input selection to target position when user select option\n var onSelectionEffect = useEffectState();\n var startMeasure = function startMeasure(nextMeasureText, nextMeasurePrefix, nextMeasureLocation) {\n setMeasuring(true);\n setMeasureText(nextMeasureText);\n setMeasurePrefix(nextMeasurePrefix);\n setMeasureLocation(nextMeasureLocation);\n setActiveIndex(0);\n };\n var stopMeasure = function stopMeasure(callback) {\n setMeasuring(false);\n setMeasureLocation(0);\n setMeasureText('');\n onSelectionEffect(callback);\n };\n\n // ============================== Change ==============================\n var triggerChange = function triggerChange(nextValue) {\n setMergedValue(nextValue);\n onChange === null || onChange === void 0 || onChange(nextValue);\n };\n var onInternalChange = function onInternalChange(_ref2) {\n var nextValue = _ref2.target.value;\n triggerChange(nextValue);\n };\n var selectOption = function selectOption(option) {\n var _getTextArea;\n var _option$value = option.value,\n mentionValue = _option$value === void 0 ? '' : _option$value;\n var _replaceWithMeasure = replaceWithMeasure(mergedValue, {\n measureLocation: mergedMeasureLocation,\n targetText: mentionValue,\n prefix: mergedMeasurePrefix,\n selectionStart: (_getTextArea = getTextArea()) === null || _getTextArea === void 0 ? void 0 : _getTextArea.selectionStart,\n split: split\n }),\n text = _replaceWithMeasure.text,\n selectionLocation = _replaceWithMeasure.selectionLocation;\n triggerChange(text);\n stopMeasure(function () {\n // We need restore the selection position\n setInputSelection(getTextArea(), selectionLocation);\n });\n onSelect === null || onSelect === void 0 || onSelect(option, mergedMeasurePrefix);\n };\n\n // ============================= KeyEvent =============================\n // Check if hit the measure keyword\n var onInternalKeyDown = function onInternalKeyDown(event) {\n var which = event.which;\n onKeyDown === null || onKeyDown === void 0 || onKeyDown(event);\n\n // Skip if not measuring\n if (!mergedMeasuring) {\n return;\n }\n if (which === KeyCode.UP || which === KeyCode.DOWN) {\n // Control arrow function\n var optionLen = mergedOptions.length;\n var offset = which === KeyCode.UP ? -1 : 1;\n var newActiveIndex = (activeIndex + offset + optionLen) % optionLen;\n setActiveIndex(newActiveIndex);\n event.preventDefault();\n } else if (which === KeyCode.ESC) {\n stopMeasure();\n } else if (which === KeyCode.ENTER) {\n // Measure hit\n event.preventDefault();\n // loading skip\n if (silent) {\n return;\n }\n if (!mergedOptions.length) {\n stopMeasure();\n return;\n }\n var _option = mergedOptions[activeIndex];\n selectOption(_option);\n }\n };\n\n /**\n * When to start measure:\n * 1. When user press `prefix`\n * 2. When measureText !== prevMeasureText\n * - If measure hit\n * - If measuring\n *\n * When to stop measure:\n * 1. Selection is out of range\n * 2. Contains `space`\n * 3. ESC or select one\n */\n var onInternalKeyUp = function onInternalKeyUp(event) {\n var key = event.key,\n which = event.which;\n var target = event.target;\n var selectionStartText = getBeforeSelectionText(target);\n var _getLastMeasureIndex = getLastMeasureIndex(selectionStartText, mergedPrefix),\n measureIndex = _getLastMeasureIndex.location,\n nextMeasurePrefix = _getLastMeasureIndex.prefix;\n\n // If the client implements an onKeyUp handler, call it\n onKeyUp === null || onKeyUp === void 0 || onKeyUp(event);\n\n // Skip if match the white key list\n if ([KeyCode.ESC, KeyCode.UP, KeyCode.DOWN, KeyCode.ENTER].indexOf(which) !== -1) {\n return;\n }\n if (measureIndex !== -1) {\n var nextMeasureText = selectionStartText.slice(measureIndex + nextMeasurePrefix.length);\n var validateMeasure = validateSearch(nextMeasureText, split);\n var matchOption = !!getOptions(nextMeasureText).length;\n if (validateMeasure) {\n // adding AltGraph also fort azert keyboard\n if (key === nextMeasurePrefix || key === 'Shift' || which === KeyCode.ALT || key === 'AltGraph' || mergedMeasuring || nextMeasureText !== mergedMeasureText && matchOption) {\n startMeasure(nextMeasureText, nextMeasurePrefix, measureIndex);\n }\n } else if (mergedMeasuring) {\n // Stop if measureText is invalidate\n stopMeasure();\n }\n\n /**\n * We will trigger `onSearch` to developer since they may use for async update.\n * If met `space` means user finished searching.\n */\n if (onSearch && validateMeasure) {\n onSearch(nextMeasureText, nextMeasurePrefix);\n }\n } else if (mergedMeasuring) {\n stopMeasure();\n }\n };\n var onInternalPressEnter = function onInternalPressEnter(event) {\n if (!mergedMeasuring && onPressEnter) {\n onPressEnter(event);\n }\n };\n\n // ============================ Focus Blur ============================\n var focusRef = useRef();\n var onInternalFocus = function onInternalFocus(event) {\n window.clearTimeout(focusRef.current);\n if (!isFocus && event && onFocus) {\n onFocus(event);\n }\n setIsFocus(true);\n };\n var onInternalBlur = function onInternalBlur(event) {\n focusRef.current = window.setTimeout(function () {\n setIsFocus(false);\n stopMeasure();\n onBlur === null || onBlur === void 0 || onBlur(event);\n }, 0);\n };\n var onDropdownFocus = function onDropdownFocus() {\n onInternalFocus();\n };\n var onDropdownBlur = function onDropdownBlur() {\n onInternalBlur();\n };\n\n // ============================== Scroll ===============================\n var onInternalPopupScroll = function onInternalPopupScroll(event) {\n onPopupScroll === null || onPopupScroll === void 0 || onPopupScroll(event);\n };\n\n // ============================== Render ==============================\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(prefixCls, className),\n style: style,\n ref: containerRef\n }, /*#__PURE__*/React.createElement(TextArea, _extends({\n ref: textareaRef,\n value: mergedValue\n }, restProps, {\n rows: rows,\n onChange: onInternalChange,\n onKeyDown: onInternalKeyDown,\n onKeyUp: onInternalKeyUp,\n onPressEnter: onInternalPressEnter,\n onFocus: onInternalFocus,\n onBlur: onInternalBlur\n })), mergedMeasuring && /*#__PURE__*/React.createElement(\"div\", {\n ref: measureRef,\n className: \"\".concat(prefixCls, \"-measure\")\n }, mergedValue.slice(0, mergedMeasureLocation), /*#__PURE__*/React.createElement(MentionsContext.Provider, {\n value: {\n notFoundContent: notFoundContent,\n activeIndex: activeIndex,\n setActiveIndex: setActiveIndex,\n selectOption: selectOption,\n onFocus: onDropdownFocus,\n onBlur: onDropdownBlur,\n onScroll: onInternalPopupScroll\n }\n }, /*#__PURE__*/React.createElement(KeywordTrigger, {\n prefixCls: prefixCls,\n transitionName: transitionName,\n placement: placement,\n direction: direction,\n options: mergedOptions,\n visible: true,\n getPopupContainer: getPopupContainer,\n dropdownClassName: dropdownClassName\n }, /*#__PURE__*/React.createElement(\"span\", null, mergedMeasurePrefix))), mergedValue.slice(mergedMeasureLocation + mergedMeasurePrefix.length)));\n});\nvar Mentions = /*#__PURE__*/forwardRef(function (_ref3, ref) {\n var suffix = _ref3.suffix,\n _ref3$prefixCls = _ref3.prefixCls,\n prefixCls = _ref3$prefixCls === void 0 ? 'rc-mentions' : _ref3$prefixCls,\n defaultValue = _ref3.defaultValue,\n customValue = _ref3.value,\n allowClear = _ref3.allowClear,\n onChange = _ref3.onChange,\n classes = _ref3.classNames,\n className = _ref3.className,\n disabled = _ref3.disabled,\n onClear = _ref3.onClear,\n rest = _objectWithoutProperties(_ref3, _excluded2);\n // =============================== Ref ================================\n var holderRef = useRef(null);\n var mentionRef = useRef(null);\n useImperativeHandle(ref, function () {\n var _holderRef$current, _mentionRef$current;\n return _objectSpread(_objectSpread({}, mentionRef.current), {}, {\n nativeElement: ((_holderRef$current = holderRef.current) === null || _holderRef$current === void 0 ? void 0 : _holderRef$current.nativeElement) || ((_mentionRef$current = mentionRef.current) === null || _mentionRef$current === void 0 ? void 0 : _mentionRef$current.nativeElement)\n });\n });\n\n // ============================== Value ===============================\n var _useMergedState3 = useMergedState('', {\n defaultValue: defaultValue,\n value: customValue\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedValue = _useMergedState4[0],\n setMergedValue = _useMergedState4[1];\n\n // ============================== Change ==============================\n var triggerChange = function triggerChange(currentValue) {\n setMergedValue(currentValue);\n onChange === null || onChange === void 0 || onChange(currentValue);\n };\n\n // ============================== Reset ===============================\n var handleReset = function handleReset() {\n triggerChange('');\n };\n return /*#__PURE__*/React.createElement(BaseInput, {\n suffix: suffix,\n prefixCls: prefixCls,\n value: mergedValue,\n allowClear: allowClear,\n handleReset: handleReset,\n className: className,\n classNames: classes,\n disabled: disabled,\n ref: holderRef,\n onClear: onClear\n }, /*#__PURE__*/React.createElement(InternalMentions, _extends({\n className: classes === null || classes === void 0 ? void 0 : classes.mentions,\n prefixCls: prefixCls,\n ref: mentionRef,\n onChange: triggerChange,\n disabled: disabled\n }, rest)));\n});\nMentions.Option = Option;\nexport default Mentions;","map":{"version":3,"names":["_extends","_objectSpread","_slicedToArray","_objectWithoutProperties","_excluded","_excluded2","classNames","BaseInput","TextArea","toArray","useMergedState","KeyCode","warning","React","forwardRef","useEffect","useImperativeHandle","useMemo","useRef","useState","useEffectState","KeywordTrigger","MentionsContext","Option","filterOption","defaultFilterOption","validateSearch","defaultValidateSearch","getBeforeSelectionText","getLastMeasureIndex","replaceWithMeasure","setInputSelection","InternalMentions","props","ref","prefixCls","className","style","_props$prefix","prefix","_props$split","split","_props$notFoundConten","notFoundContent","value","defaultValue","children","options","open","allowClear","silent","_props$validateSearch","_props$filterOption","onChange","onKeyDown","onKeyUp","onPressEnter","onSearch","onSelect","onFocus","onBlur","transitionName","placement","direction","getPopupContainer","dropdownClassName","_props$rows","rows","visible","onPopupScroll","restProps","mergedPrefix","Array","isArray","containerRef","textareaRef","measureRef","getTextArea","_textareaRef$current","current","resizableTextArea","textArea","_textareaRef$current4","focus","_textareaRef$current2","blur","_textareaRef$current3","textarea","nativeElement","_useState","_useState2","measuring","setMeasuring","_useState3","_useState4","measureText","setMeasureText","_useState5","_useState6","measurePrefix","setMeasurePrefix","_useState7","_useState8","measureLocation","setMeasureLocation","_useState9","_useState10","activeIndex","setActiveIndex","_useState11","_useState12","isFocus","setIsFocus","_useMergedState","_useMergedState2","mergedValue","setMergedValue","scrollTop","_React$useMemo","process","env","NODE_ENV","i","length","curPrefix","index","lastIndexOf","_React$useMemo2","mergedMeasuring","mergedMeasureText","mergedMeasurePrefix","mergedMeasureLocation","getOptions","useCallback","targetMeasureText","list","map","item","_item$key","key","_ref","optionProps","label","filter","option","mergedOptions","onSelectionEffect","startMeasure","nextMeasureText","nextMeasurePrefix","nextMeasureLocation","stopMeasure","callback","triggerChange","nextValue","onInternalChange","_ref2","target","selectOption","_getTextArea","_option$value","mentionValue","_replaceWithMeasure","targetText","selectionStart","text","selectionLocation","onInternalKeyDown","event","which","UP","DOWN","optionLen","offset","newActiveIndex","preventDefault","ESC","ENTER","_option","onInternalKeyUp","selectionStartText","_getLastMeasureIndex","measureIndex","location","indexOf","slice","validateMeasure","matchOption","ALT","onInternalPressEnter","focusRef","onInternalFocus","window","clearTimeout","onInternalBlur","setTimeout","onDropdownFocus","onDropdownBlur","onInternalPopupScroll","createElement","concat","Provider","onScroll","Mentions","_ref3","suffix","_ref3$prefixCls","customValue","classes","disabled","onClear","rest","holderRef","mentionRef","_holderRef$current","_mentionRef$current","_useMergedState3","_useMergedState4","currentValue","handleReset","mentions"],"sources":["/Users/max_liu/max_liu/company/tools_auto_pt/node_modules/rc-mentions/es/Mentions.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"prefix\", \"split\", \"notFoundContent\", \"value\", \"defaultValue\", \"children\", \"options\", \"open\", \"allowClear\", \"silent\", \"validateSearch\", \"filterOption\", \"onChange\", \"onKeyDown\", \"onKeyUp\", \"onPressEnter\", \"onSearch\", \"onSelect\", \"onFocus\", \"onBlur\", \"transitionName\", \"placement\", \"direction\", \"getPopupContainer\", \"dropdownClassName\", \"rows\", \"visible\", \"onPopupScroll\"],\n _excluded2 = [\"suffix\", \"prefixCls\", \"defaultValue\", \"value\", \"allowClear\", \"onChange\", \"classNames\", \"className\", \"disabled\", \"onClear\"];\nimport classNames from 'classnames';\nimport { BaseInput } from 'rc-input';\nimport TextArea from 'rc-textarea';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport warning from \"rc-util/es/warning\";\nimport React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport useEffectState from \"./hooks/useEffectState\";\nimport KeywordTrigger from \"./KeywordTrigger\";\nimport MentionsContext from \"./MentionsContext\";\nimport Option from \"./Option\";\nimport { filterOption as defaultFilterOption, validateSearch as defaultValidateSearch, getBeforeSelectionText, getLastMeasureIndex, replaceWithMeasure, setInputSelection } from \"./util\";\nvar InternalMentions = /*#__PURE__*/forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n _props$prefix = props.prefix,\n prefix = _props$prefix === void 0 ? '@' : _props$prefix,\n _props$split = props.split,\n split = _props$split === void 0 ? ' ' : _props$split,\n _props$notFoundConten = props.notFoundContent,\n notFoundContent = _props$notFoundConten === void 0 ? 'Not Found' : _props$notFoundConten,\n value = props.value,\n defaultValue = props.defaultValue,\n children = props.children,\n options = props.options,\n open = props.open,\n allowClear = props.allowClear,\n silent = props.silent,\n _props$validateSearch = props.validateSearch,\n validateSearch = _props$validateSearch === void 0 ? defaultValidateSearch : _props$validateSearch,\n _props$filterOption = props.filterOption,\n filterOption = _props$filterOption === void 0 ? defaultFilterOption : _props$filterOption,\n onChange = props.onChange,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp,\n onPressEnter = props.onPressEnter,\n onSearch = props.onSearch,\n onSelect = props.onSelect,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n transitionName = props.transitionName,\n placement = props.placement,\n direction = props.direction,\n getPopupContainer = props.getPopupContainer,\n dropdownClassName = props.dropdownClassName,\n _props$rows = props.rows,\n rows = _props$rows === void 0 ? 1 : _props$rows,\n visible = props.visible,\n onPopupScroll = props.onPopupScroll,\n restProps = _objectWithoutProperties(props, _excluded);\n var mergedPrefix = useMemo(function () {\n return Array.isArray(prefix) ? prefix : [prefix];\n }, [prefix]);\n\n // =============================== Refs ===============================\n var containerRef = useRef(null);\n var textareaRef = useRef(null);\n var measureRef = useRef(null);\n var getTextArea = function getTextArea() {\n var _textareaRef$current;\n return (_textareaRef$current = textareaRef.current) === null || _textareaRef$current === void 0 || (_textareaRef$current = _textareaRef$current.resizableTextArea) === null || _textareaRef$current === void 0 ? void 0 : _textareaRef$current.textArea;\n };\n React.useImperativeHandle(ref, function () {\n var _textareaRef$current4;\n return {\n focus: function focus() {\n var _textareaRef$current2;\n return (_textareaRef$current2 = textareaRef.current) === null || _textareaRef$current2 === void 0 ? void 0 : _textareaRef$current2.focus();\n },\n blur: function blur() {\n var _textareaRef$current3;\n return (_textareaRef$current3 = textareaRef.current) === null || _textareaRef$current3 === void 0 ? void 0 : _textareaRef$current3.blur();\n },\n textarea: (_textareaRef$current4 = textareaRef.current) === null || _textareaRef$current4 === void 0 || (_textareaRef$current4 = _textareaRef$current4.resizableTextArea) === null || _textareaRef$current4 === void 0 ? void 0 : _textareaRef$current4.textArea,\n nativeElement: containerRef.current\n };\n });\n\n // ============================== State ===============================\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n measuring = _useState2[0],\n setMeasuring = _useState2[1];\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n measureText = _useState4[0],\n setMeasureText = _useState4[1];\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n measurePrefix = _useState6[0],\n setMeasurePrefix = _useState6[1];\n var _useState7 = useState(0),\n _useState8 = _slicedToArray(_useState7, 2),\n measureLocation = _useState8[0],\n setMeasureLocation = _useState8[1];\n var _useState9 = useState(0),\n _useState10 = _slicedToArray(_useState9, 2),\n activeIndex = _useState10[0],\n setActiveIndex = _useState10[1];\n var _useState11 = useState(false),\n _useState12 = _slicedToArray(_useState11, 2),\n isFocus = _useState12[0],\n setIsFocus = _useState12[1];\n\n // ============================== Value ===============================\n var _useMergedState = useMergedState('', {\n defaultValue: defaultValue,\n value: value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setMergedValue = _useMergedState2[1];\n\n // =============================== Open ===============================\n useEffect(function () {\n // Sync measure div top with textarea for rc-trigger usage\n if (measuring && measureRef.current) {\n measureRef.current.scrollTop = getTextArea().scrollTop;\n }\n }, [measuring]);\n var _React$useMemo = React.useMemo(function () {\n if (open) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`open` of Mentions is only used for debug usage. Do not use in you production.');\n }\n for (var i = 0; i < mergedPrefix.length; i += 1) {\n var curPrefix = mergedPrefix[i];\n var index = mergedValue.lastIndexOf(curPrefix);\n if (index >= 0) {\n return [true, '', curPrefix, index];\n }\n }\n }\n return [measuring, measureText, measurePrefix, measureLocation];\n }, [open, measuring, mergedPrefix, mergedValue, measureText, measurePrefix, measureLocation]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 4),\n mergedMeasuring = _React$useMemo2[0],\n mergedMeasureText = _React$useMemo2[1],\n mergedMeasurePrefix = _React$useMemo2[2],\n mergedMeasureLocation = _React$useMemo2[3];\n\n // ============================== Option ==============================\n var getOptions = React.useCallback(function (targetMeasureText) {\n var list;\n if (options && options.length > 0) {\n list = options.map(function (item) {\n var _item$key;\n return _objectSpread(_objectSpread({}, item), {}, {\n key: (_item$key = item === null || item === void 0 ? void 0 : item.key) !== null && _item$key !== void 0 ? _item$key : item.value\n });\n });\n } else {\n list = toArray(children).map(function (_ref) {\n var optionProps = _ref.props,\n key = _ref.key;\n return _objectSpread(_objectSpread({}, optionProps), {}, {\n label: optionProps.children,\n key: key || optionProps.value\n });\n });\n }\n return list.filter(function (option) {\n /** Return all result if `filterOption` is false. */\n if (filterOption === false) {\n return true;\n }\n return filterOption(targetMeasureText, option);\n });\n }, [children, options, filterOption]);\n var mergedOptions = React.useMemo(function () {\n return getOptions(mergedMeasureText);\n }, [getOptions, mergedMeasureText]);\n\n // ============================= Measure ==============================\n // Mark that we will reset input selection to target position when user select option\n var onSelectionEffect = useEffectState();\n var startMeasure = function startMeasure(nextMeasureText, nextMeasurePrefix, nextMeasureLocation) {\n setMeasuring(true);\n setMeasureText(nextMeasureText);\n setMeasurePrefix(nextMeasurePrefix);\n setMeasureLocation(nextMeasureLocation);\n setActiveIndex(0);\n };\n var stopMeasure = function stopMeasure(callback) {\n setMeasuring(false);\n setMeasureLocation(0);\n setMeasureText('');\n onSelectionEffect(callback);\n };\n\n // ============================== Change ==============================\n var triggerChange = function triggerChange(nextValue) {\n setMergedValue(nextValue);\n onChange === null || onChange === void 0 || onChange(nextValue);\n };\n var onInternalChange = function onInternalChange(_ref2) {\n var nextValue = _ref2.target.value;\n triggerChange(nextValue);\n };\n var selectOption = function selectOption(option) {\n var _getTextArea;\n var _option$value = option.value,\n mentionValue = _option$value === void 0 ? '' : _option$value;\n var _replaceWithMeasure = replaceWithMeasure(mergedValue, {\n measureLocation: mergedMeasureLocation,\n targetText: mentionValue,\n prefix: mergedMeasurePrefix,\n selectionStart: (_getTextArea = getTextArea()) === null || _getTextArea === void 0 ? void 0 : _getTextArea.selectionStart,\n split: split\n }),\n text = _replaceWithMeasure.text,\n selectionLocation = _replaceWithMeasure.selectionLocation;\n triggerChange(text);\n stopMeasure(function () {\n // We need restore the selection position\n setInputSelection(getTextArea(), selectionLocation);\n });\n onSelect === null || onSelect === void 0 || onSelect(option, mergedMeasurePrefix);\n };\n\n // ============================= KeyEvent =============================\n // Check if hit the measure keyword\n var onInternalKeyDown = function onInternalKeyDown(event) {\n var which = event.which;\n onKeyDown === null || onKeyDown === void 0 || onKeyDown(event);\n\n // Skip if not measuring\n if (!mergedMeasuring) {\n return;\n }\n if (which === KeyCode.UP || which === KeyCode.DOWN) {\n // Control arrow function\n var optionLen = mergedOptions.length;\n var offset = which === KeyCode.UP ? -1 : 1;\n var newActiveIndex = (activeIndex + offset + optionLen) % optionLen;\n setActiveIndex(newActiveIndex);\n event.preventDefault();\n } else if (which === KeyCode.ESC) {\n stopMeasure();\n } else if (which === KeyCode.ENTER) {\n // Measure hit\n event.preventDefault();\n // loading skip\n if (silent) {\n return;\n }\n if (!mergedOptions.length) {\n stopMeasure();\n return;\n }\n var _option = mergedOptions[activeIndex];\n selectOption(_option);\n }\n };\n\n /**\n * When to start measure:\n * 1. When user press `prefix`\n * 2. When measureText !== prevMeasureText\n * - If measure hit\n * - If measuring\n *\n * When to stop measure:\n * 1. Selection is out of range\n * 2. Contains `space`\n * 3. ESC or select one\n */\n var onInternalKeyUp = function onInternalKeyUp(event) {\n var key = event.key,\n which = event.which;\n var target = event.target;\n var selectionStartText = getBeforeSelectionText(target);\n var _getLastMeasureIndex = getLastMeasureIndex(selectionStartText, mergedPrefix),\n measureIndex = _getLastMeasureIndex.location,\n nextMeasurePrefix = _getLastMeasureIndex.prefix;\n\n // If the client implements an onKeyUp handler, call it\n onKeyUp === null || onKeyUp === void 0 || onKeyUp(event);\n\n // Skip if match the white key list\n if ([KeyCode.ESC, KeyCode.UP, KeyCode.DOWN, KeyCode.ENTER].indexOf(which) !== -1) {\n return;\n }\n if (measureIndex !== -1) {\n var nextMeasureText = selectionStartText.slice(measureIndex + nextMeasurePrefix.length);\n var validateMeasure = validateSearch(nextMeasureText, split);\n var matchOption = !!getOptions(nextMeasureText).length;\n if (validateMeasure) {\n // adding AltGraph also fort azert keyboard\n if (key === nextMeasurePrefix || key === 'Shift' || which === KeyCode.ALT || key === 'AltGraph' || mergedMeasuring || nextMeasureText !== mergedMeasureText && matchOption) {\n startMeasure(nextMeasureText, nextMeasurePrefix, measureIndex);\n }\n } else if (mergedMeasuring) {\n // Stop if measureText is invalidate\n stopMeasure();\n }\n\n /**\n * We will trigger `onSearch` to developer since they may use for async update.\n * If met `space` means user finished searching.\n */\n if (onSearch && validateMeasure) {\n onSearch(nextMeasureText, nextMeasurePrefix);\n }\n } else if (mergedMeasuring) {\n stopMeasure();\n }\n };\n var onInternalPressEnter = function onInternalPressEnter(event) {\n if (!mergedMeasuring && onPressEnter) {\n onPressEnter(event);\n }\n };\n\n // ============================ Focus Blur ============================\n var focusRef = useRef();\n var onInternalFocus = function onInternalFocus(event) {\n window.clearTimeout(focusRef.current);\n if (!isFocus && event && onFocus) {\n onFocus(event);\n }\n setIsFocus(true);\n };\n var onInternalBlur = function onInternalBlur(event) {\n focusRef.current = window.setTimeout(function () {\n setIsFocus(false);\n stopMeasure();\n onBlur === null || onBlur === void 0 || onBlur(event);\n }, 0);\n };\n var onDropdownFocus = function onDropdownFocus() {\n onInternalFocus();\n };\n var onDropdownBlur = function onDropdownBlur() {\n onInternalBlur();\n };\n\n // ============================== Scroll ===============================\n var onInternalPopupScroll = function onInternalPopupScroll(event) {\n onPopupScroll === null || onPopupScroll === void 0 || onPopupScroll(event);\n };\n\n // ============================== Render ==============================\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(prefixCls, className),\n style: style,\n ref: containerRef\n }, /*#__PURE__*/React.createElement(TextArea, _extends({\n ref: textareaRef,\n value: mergedValue\n }, restProps, {\n rows: rows,\n onChange: onInternalChange,\n onKeyDown: onInternalKeyDown,\n onKeyUp: onInternalKeyUp,\n onPressEnter: onInternalPressEnter,\n onFocus: onInternalFocus,\n onBlur: onInternalBlur\n })), mergedMeasuring && /*#__PURE__*/React.createElement(\"div\", {\n ref: measureRef,\n className: \"\".concat(prefixCls, \"-measure\")\n }, mergedValue.slice(0, mergedMeasureLocation), /*#__PURE__*/React.createElement(MentionsContext.Provider, {\n value: {\n notFoundContent: notFoundContent,\n activeIndex: activeIndex,\n setActiveIndex: setActiveIndex,\n selectOption: selectOption,\n onFocus: onDropdownFocus,\n onBlur: onDropdownBlur,\n onScroll: onInternalPopupScroll\n }\n }, /*#__PURE__*/React.createElement(KeywordTrigger, {\n prefixCls: prefixCls,\n transitionName: transitionName,\n placement: placement,\n direction: direction,\n options: mergedOptions,\n visible: true,\n getPopupContainer: getPopupContainer,\n dropdownClassName: dropdownClassName\n }, /*#__PURE__*/React.createElement(\"span\", null, mergedMeasurePrefix))), mergedValue.slice(mergedMeasureLocation + mergedMeasurePrefix.length)));\n});\nvar Mentions = /*#__PURE__*/forwardRef(function (_ref3, ref) {\n var suffix = _ref3.suffix,\n _ref3$prefixCls = _ref3.prefixCls,\n prefixCls = _ref3$prefixCls === void 0 ? 'rc-mentions' : _ref3$prefixCls,\n defaultValue = _ref3.defaultValue,\n customValue = _ref3.value,\n allowClear = _ref3.allowClear,\n onChange = _ref3.onChange,\n classes = _ref3.classNames,\n className = _ref3.className,\n disabled = _ref3.disabled,\n onClear = _ref3.onClear,\n rest = _objectWithoutProperties(_ref3, _excluded2);\n // =============================== Ref ================================\n var holderRef = useRef(null);\n var mentionRef = useRef(null);\n useImperativeHandle(ref, function () {\n var _holderRef$current, _mentionRef$current;\n return _objectSpread(_objectSpread({}, mentionRef.current), {}, {\n nativeElement: ((_holderRef$current = holderRef.current) === null || _holderRef$current === void 0 ? void 0 : _holderRef$current.nativeElement) || ((_mentionRef$current = mentionRef.current) === null || _mentionRef$current === void 0 ? void 0 : _mentionRef$current.nativeElement)\n });\n });\n\n // ============================== Value ===============================\n var _useMergedState3 = useMergedState('', {\n defaultValue: defaultValue,\n value: customValue\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedValue = _useMergedState4[0],\n setMergedValue = _useMergedState4[1];\n\n // ============================== Change ==============================\n var triggerChange = function triggerChange(currentValue) {\n setMergedValue(currentValue);\n onChange === null || onChange === void 0 || onChange(currentValue);\n };\n\n // ============================== Reset ===============================\n var handleReset = function handleReset() {\n triggerChange('');\n };\n return /*#__PURE__*/React.createElement(BaseInput, {\n suffix: suffix,\n prefixCls: prefixCls,\n value: mergedValue,\n allowClear: allowClear,\n handleReset: handleReset,\n className: className,\n classNames: classes,\n disabled: disabled,\n ref: holderRef,\n onClear: onClear\n }, /*#__PURE__*/React.createElement(InternalMentions, _extends({\n className: classes === null || classes === void 0 ? void 0 : classes.mentions,\n prefixCls: prefixCls,\n ref: mentionRef,\n onChange: triggerChange,\n disabled: disabled\n }, rest)));\n});\nMentions.Option = Option;\nexport default Mentions;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|