{"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\", \"validateSearch\", \"filterOption\", \"onChange\", \"onKeyDown\", \"onKeyUp\", \"onPressEnter\", \"onSearch\", \"onSelect\", \"onFocus\", \"onBlur\", \"transitionName\", \"placement\", \"direction\", \"getPopupContainer\", \"dropdownClassName\", \"rows\"],\n  _excluded2 = [\"suffix\", \"prefixCls\", \"classes\", \"value\"];\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, 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, getBeforeSelectionText, getLastMeasureIndex, replaceWithMeasure, setInputSelection, validateSearch as defaultValidateSearch } from \"./util\";\nvar InternalMentions = /*#__PURE__*/forwardRef(function (props, ref) {\n  var _props$prefixCls = props.prefixCls,\n    prefixCls = _props$prefixCls === void 0 ? 'rc-mentions' : _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    _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    restProps = _objectWithoutProperties(props, _excluded);\n  var mergedPrefix = useMemo(function () {\n    return Array.isArray(prefix) ? prefix : [prefix];\n  }, [prefix]);\n\n  // =============================== Refs ===============================\n  var textareaRef = useRef(null);\n  var measureRef = useRef(null);\n  var getTextArea = function getTextArea() {\n    var _textareaRef$current, _textareaRef$current$;\n    return (_textareaRef$current = textareaRef.current) === null || _textareaRef$current === void 0 ? 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, _textareaRef$current5;\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 ? void 0 : (_textareaRef$current5 = _textareaRef$current4.resizableTextArea) === null || _textareaRef$current5 === void 0 ? void 0 : _textareaRef$current5.textArea\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 ? 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 ? 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 ? 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      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 ? 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        if (key === nextMeasurePrefix || key === 'Shift' || 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 ? 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  // ============================== Render ==============================\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: classNames(prefixCls, className),\n    style: style\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    }\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    prefixCls = _ref3.prefixCls,\n    classes = _ref3.classes,\n    value = _ref3.value,\n    rest = _objectWithoutProperties(_ref3, _excluded2);\n  return /*#__PURE__*/React.createElement(BaseInput, {\n    inputElement: /*#__PURE__*/React.createElement(InternalMentions, _extends({\n      prefixCls: prefixCls,\n      ref: ref\n    }, rest)),\n    suffix: suffix,\n    prefixCls: prefixCls,\n    classes: classes,\n    value: value\n  });\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","useMemo","useRef","useState","useEffectState","KeywordTrigger","MentionsContext","Option","filterOption","defaultFilterOption","getBeforeSelectionText","getLastMeasureIndex","replaceWithMeasure","setInputSelection","validateSearch","defaultValidateSearch","InternalMentions","props","ref","_props$prefixCls","prefixCls","className","style","_props$prefix","prefix","_props$split","split","_props$notFoundConten","notFoundContent","value","defaultValue","children","options","open","_props$validateSearch","_props$filterOption","onChange","onKeyDown","onKeyUp","onPressEnter","onSearch","onSelect","onFocus","onBlur","transitionName","placement","direction","getPopupContainer","dropdownClassName","_props$rows","rows","restProps","mergedPrefix","Array","isArray","textareaRef","measureRef","getTextArea","_textareaRef$current","_textareaRef$current$","current","resizableTextArea","textArea","useImperativeHandle","_textareaRef$current4","_textareaRef$current5","focus","_textareaRef$current2","blur","_textareaRef$current3","textarea","_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","onInternalPressEnter","focusRef","onInternalFocus","window","clearTimeout","onInternalBlur","setTimeout","onDropdownFocus","onDropdownBlur","createElement","concat","Provider","visible","Mentions","_ref3","suffix","classes","rest","inputElement"],"sources":["/var/www/gavt/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\", \"validateSearch\", \"filterOption\", \"onChange\", \"onKeyDown\", \"onKeyUp\", \"onPressEnter\", \"onSearch\", \"onSelect\", \"onFocus\", \"onBlur\", \"transitionName\", \"placement\", \"direction\", \"getPopupContainer\", \"dropdownClassName\", \"rows\"],\n  _excluded2 = [\"suffix\", \"prefixCls\", \"classes\", \"value\"];\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, 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, getBeforeSelectionText, getLastMeasureIndex, replaceWithMeasure, setInputSelection, validateSearch as defaultValidateSearch } from \"./util\";\nvar InternalMentions = /*#__PURE__*/forwardRef(function (props, ref) {\n  var _props$prefixCls = props.prefixCls,\n    prefixCls = _props$prefixCls === void 0 ? 'rc-mentions' : _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    _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    restProps = _objectWithoutProperties(props, _excluded);\n  var mergedPrefix = useMemo(function () {\n    return Array.isArray(prefix) ? prefix : [prefix];\n  }, [prefix]);\n\n  // =============================== Refs ===============================\n  var textareaRef = useRef(null);\n  var measureRef = useRef(null);\n  var getTextArea = function getTextArea() {\n    var _textareaRef$current, _textareaRef$current$;\n    return (_textareaRef$current = textareaRef.current) === null || _textareaRef$current === void 0 ? 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, _textareaRef$current5;\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 ? void 0 : (_textareaRef$current5 = _textareaRef$current4.resizableTextArea) === null || _textareaRef$current5 === void 0 ? void 0 : _textareaRef$current5.textArea\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 ? 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 ? 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 ? 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      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 ? 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        if (key === nextMeasurePrefix || key === 'Shift' || 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 ? 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  // ============================== Render ==============================\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: classNames(prefixCls, className),\n    style: style\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    }\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    prefixCls = _ref3.prefixCls,\n    classes = _ref3.classes,\n    value = _ref3.value,\n    rest = _objectWithoutProperties(_ref3, _excluded2);\n  return /*#__PURE__*/React.createElement(BaseInput, {\n    inputElement: /*#__PURE__*/React.createElement(InternalMentions, _extends({\n      prefixCls: prefixCls,\n      ref: ref\n    }, rest)),\n    suffix: suffix,\n    prefixCls: prefixCls,\n    classes: classes,\n    value: value\n  });\n});\nMentions.Option = Option;\nexport default Mentions;"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}