1 line
141 KiB
JSON
1 line
141 KiB
JSON
{"ast":null,"code":"import React, { Component, createRef } from 'react';\nimport { InputText } from 'primereact/inputtext';\nimport { Button } from 'primereact/button';\nimport { ObjectUtils, classNames, ZIndexUtils, DomHandler, ConnectedOverlayScrollHandler, UniqueComponentId, IconUtils } from 'primereact/utils';\nimport { Ripple } from 'primereact/ripple';\nimport { CSSTransition } from 'primereact/csstransition';\nimport { Portal } from 'primereact/portal';\nimport { VirtualScroller } from 'primereact/virtualscroller';\nimport { tip } from 'primereact/tooltip';\nimport { OverlayService } from 'primereact/overlayservice';\nimport PrimeReact from 'primereact/api';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _arrayLikeToArray$1(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray$1(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray$1(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray$1(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread();\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys$1(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _createSuper$1(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct$1();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _isNativeReflectConstruct$1() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar AutoCompletePanelComponent = /*#__PURE__*/function (_Component) {\n _inherits(AutoCompletePanelComponent, _Component);\n\n var _super = _createSuper$1(AutoCompletePanelComponent);\n\n function AutoCompletePanelComponent() {\n _classCallCheck(this, AutoCompletePanelComponent);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(AutoCompletePanelComponent, [{\n key: \"getOptionGroupRenderKey\",\n value: function getOptionGroupRenderKey(optionGroup) {\n return ObjectUtils.resolveFieldData(optionGroup, this.props.optionGroupLabel);\n }\n }, {\n key: \"renderGroupChildren\",\n value: function renderGroupChildren(optionGroup, i) {\n var _this = this;\n\n var groupChildren = this.props.getOptionGroupChildren(optionGroup);\n return groupChildren.map(function (item, j) {\n var itemContent = _this.props.itemTemplate ? ObjectUtils.getJSXElement(_this.props.itemTemplate, item, j) : _this.props.field ? ObjectUtils.resolveFieldData(item, _this.props.field) : item;\n return /*#__PURE__*/React.createElement(\"li\", {\n key: j + '_item',\n role: \"option\",\n \"aria-selected\": _this.props.ariaSelected === item,\n className: \"p-autocomplete-item\",\n onClick: function onClick(e) {\n return _this.props.onItemClick(e, item);\n },\n \"data-group\": i,\n \"data-index\": j\n }, itemContent, /*#__PURE__*/React.createElement(Ripple, null));\n });\n }\n }, {\n key: \"renderItem\",\n value: function renderItem(suggestion, index) {\n var _this2 = this;\n\n if (this.props.optionGroupLabel) {\n var groupContent = this.props.optionGroupTemplate ? ObjectUtils.getJSXElement(this.props.optionGroupTemplate, suggestion, index) : this.props.getOptionGroupLabel(suggestion);\n var groupChildrenContent = this.renderGroupChildren(suggestion, index);\n var key = index + '_' + this.getOptionGroupRenderKey(suggestion);\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: key\n }, /*#__PURE__*/React.createElement(\"li\", {\n className: \"p-autocomplete-item-group\"\n }, groupContent), groupChildrenContent);\n } else {\n var itemContent = this.props.itemTemplate ? ObjectUtils.getJSXElement(this.props.itemTemplate, suggestion, index) : this.props.field ? ObjectUtils.resolveFieldData(suggestion, this.props.field) : suggestion;\n return /*#__PURE__*/React.createElement(\"li\", {\n key: index + '_item',\n role: \"option\",\n \"aria-selected\": this.props.ariaSelected === suggestion,\n className: \"p-autocomplete-item\",\n onClick: function onClick(e) {\n return _this2.props.onItemClick(e, suggestion);\n }\n }, itemContent, /*#__PURE__*/React.createElement(Ripple, null));\n }\n }\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var _this3 = this;\n\n if (this.props.suggestions) {\n return this.props.suggestions.map(function (suggestion, index) {\n return _this3.renderItem(suggestion, index);\n });\n }\n\n return null;\n }\n }, {\n key: \"renderContent\",\n value: function renderContent() {\n var _this4 = this;\n\n if (this.props.virtualScrollerOptions) {\n var virtualScrollerProps = _objectSpread$1(_objectSpread$1({}, this.props.virtualScrollerOptions), {\n style: _objectSpread$1(_objectSpread$1({}, this.props.virtualScrollerOptions.style), {\n height: this.props.scrollHeight\n }),\n items: this.props.suggestions,\n itemTemplate: function itemTemplate(item, options) {\n return item && _this4.renderItem(item, options.index);\n },\n contentTemplate: function contentTemplate(options) {\n var className = classNames('p-autocomplete-items', options.className);\n return /*#__PURE__*/React.createElement(\"ul\", {\n ref: options.contentRef,\n className: className,\n role: \"listbox\",\n id: _this4.props.listId\n }, options.children);\n }\n });\n\n return /*#__PURE__*/React.createElement(VirtualScroller, _extends({\n ref: this.props.virtualScrollerRef\n }, virtualScrollerProps));\n } else {\n var items = this.renderItems();\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"p-autocomplete-items\",\n role: \"listbox\",\n id: this.props.listId\n }, items);\n }\n }\n }, {\n key: \"renderElement\",\n value: function renderElement() {\n var panelClassName = classNames('p-autocomplete-panel p-component', this.props.panelClassName);\n\n var panelStyle = _objectSpread$1({\n maxHeight: this.props.scrollHeight\n }, this.props.panelStyle);\n\n var content = this.renderContent();\n return /*#__PURE__*/React.createElement(CSSTransition, {\n nodeRef: this.props.forwardRef,\n classNames: \"p-connected-overlay\",\n \"in\": this.props[\"in\"],\n timeout: {\n enter: 120,\n exit: 100\n },\n options: this.props.transitionOptions,\n unmountOnExit: true,\n onEnter: this.props.onEnter,\n onEntering: this.props.onEntering,\n onEntered: this.props.onEntered,\n onExit: this.props.onExit,\n onExited: this.props.onExited\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: this.props.forwardRef,\n className: panelClassName,\n style: panelStyle,\n onClick: this.props.onClick\n }, content));\n }\n }, {\n key: \"render\",\n value: function render() {\n var element = this.renderElement();\n return /*#__PURE__*/React.createElement(Portal, {\n element: element,\n appendTo: this.props.appendTo\n });\n }\n }]);\n\n return AutoCompletePanelComponent;\n}(Component);\n\nvar AutoCompletePanel = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(AutoCompletePanelComponent, _extends({\n forwardRef: ref\n }, props));\n});\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar AutoComplete = /*#__PURE__*/function (_Component) {\n _inherits(AutoComplete, _Component);\n\n var _super = _createSuper(AutoComplete);\n\n function AutoComplete(props) {\n var _this;\n\n _classCallCheck(this, AutoComplete);\n\n _this = _super.call(this, props);\n _this.state = {\n id: _this.props.id,\n searching: false,\n focused: false,\n overlayVisible: false\n };\n _this.onInputChange = _this.onInputChange.bind(_assertThisInitialized(_this));\n _this.onInputFocus = _this.onInputFocus.bind(_assertThisInitialized(_this));\n _this.onInputBlur = _this.onInputBlur.bind(_assertThisInitialized(_this));\n _this.onInputKeyDown = _this.onInputKeyDown.bind(_assertThisInitialized(_this));\n _this.onDropdownClick = _this.onDropdownClick.bind(_assertThisInitialized(_this));\n _this.onMultiContainerClick = _this.onMultiContainerClick.bind(_assertThisInitialized(_this));\n _this.onMultiInputFocus = _this.onMultiInputFocus.bind(_assertThisInitialized(_this));\n _this.onMultiInputBlur = _this.onMultiInputBlur.bind(_assertThisInitialized(_this));\n _this.selectItem = _this.selectItem.bind(_assertThisInitialized(_this));\n _this.getOptionGroupLabel = _this.getOptionGroupLabel.bind(_assertThisInitialized(_this));\n _this.getOptionGroupChildren = _this.getOptionGroupChildren.bind(_assertThisInitialized(_this));\n _this.onOverlayEnter = _this.onOverlayEnter.bind(_assertThisInitialized(_this));\n _this.onOverlayEntering = _this.onOverlayEntering.bind(_assertThisInitialized(_this));\n _this.onOverlayEntered = _this.onOverlayEntered.bind(_assertThisInitialized(_this));\n _this.onOverlayExit = _this.onOverlayExit.bind(_assertThisInitialized(_this));\n _this.onOverlayExited = _this.onOverlayExited.bind(_assertThisInitialized(_this));\n _this.onPanelClick = _this.onPanelClick.bind(_assertThisInitialized(_this));\n _this.overlayRef = /*#__PURE__*/createRef();\n _this.virtualScrollerRef = /*#__PURE__*/createRef();\n _this.inputRef = /*#__PURE__*/createRef(_this.props.inputRef);\n return _this;\n }\n\n _createClass(AutoComplete, [{\n key: \"onInputChange\",\n value: function onInputChange(event) {\n var _this2 = this; //Cancel the search request if user types within the timeout\n\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\n var query = event.target.value;\n\n if (!this.props.multiple) {\n this.updateModel(event, query);\n }\n\n if (query.length === 0) {\n this.hideOverlay();\n\n if (this.props.onClear) {\n this.props.onClear(event);\n }\n } else {\n if (query.length >= this.props.minLength) {\n this.timeout = setTimeout(function () {\n _this2.search(event, query, 'input');\n }, this.props.delay);\n } else {\n this.hideOverlay();\n }\n }\n }\n }, {\n key: \"search\",\n value: function search(event, query, source) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n } //do not search blank values on input change\n\n\n if (source === 'input' && query.trim().length === 0) {\n return;\n }\n\n if (this.props.completeMethod) {\n this.setState({\n searching: true\n });\n this.props.completeMethod({\n originalEvent: event,\n query: query\n });\n }\n }\n }, {\n key: \"selectItem\",\n value: function selectItem(event, option, preventInputFocus) {\n if (this.props.multiple) {\n this.inputRef.current.value = '';\n\n if (!this.isSelected(option)) {\n var newValue = this.props.value ? [].concat(_toConsumableArray(this.props.value), [option]) : [option];\n this.updateModel(event, newValue);\n }\n } else {\n this.updateInputField(option);\n this.updateModel(event, option);\n }\n\n if (this.props.onSelect) {\n this.props.onSelect({\n originalEvent: event,\n value: option\n });\n }\n\n if (!preventInputFocus) {\n this.inputRef.current.focus();\n this.hideOverlay();\n }\n }\n }, {\n key: \"updateModel\",\n value: function updateModel(event, value) {\n if (this.props.onChange) {\n this.props.onChange({\n originalEvent: event,\n value: value,\n stopPropagation: function stopPropagation() {},\n preventDefault: function preventDefault() {},\n target: {\n name: this.props.name,\n id: this.state.id,\n value: value\n }\n });\n }\n\n this.ariaSelected = value;\n }\n }, {\n key: \"formatValue\",\n value: function formatValue(value) {\n if (value) {\n if (this.props.selectedItemTemplate && (this.props.multiple ? this.isSelected(value) : this.findOptionIndex(value) > -1)) {\n var resolvedFieldData = ObjectUtils.getJSXElement(this.props.selectedItemTemplate, value);\n return resolvedFieldData ? resolvedFieldData : value;\n } else if (this.props.field) {\n var _resolvedFieldData = ObjectUtils.resolveFieldData(value, this.props.field);\n\n return _resolvedFieldData !== null && _resolvedFieldData !== undefined ? _resolvedFieldData : value;\n } else return value;\n } else return '';\n }\n }, {\n key: \"updateInputField\",\n value: function updateInputField(value) {\n var formattedValue = this.formatValue(value);\n this.inputRef.current.value = formattedValue;\n }\n }, {\n key: \"showOverlay\",\n value: function showOverlay() {\n this.setState({\n overlayVisible: true\n });\n }\n }, {\n key: \"hideOverlay\",\n value: function hideOverlay() {\n this.setState({\n overlayVisible: false,\n searching: false\n });\n }\n }, {\n key: \"onOverlayEnter\",\n value: function onOverlayEnter() {\n ZIndexUtils.set('overlay', this.overlayRef.current, PrimeReact.autoZIndex, PrimeReact.zIndex['overlay']);\n this.alignOverlay();\n }\n }, {\n key: \"onOverlayEntering\",\n value: function onOverlayEntering() {\n if (this.props.autoHighlight && this.props.suggestions && this.props.suggestions.length) {\n DomHandler.addClass(this.overlayRef.current.firstChild.firstChild, 'p-highlight');\n }\n }\n }, {\n key: \"onOverlayEntered\",\n value: function onOverlayEntered() {\n this.bindDocumentClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.props.onShow && this.props.onShow();\n }\n }, {\n key: \"onOverlayExit\",\n value: function onOverlayExit() {\n this.unbindDocumentClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n }\n }, {\n key: \"onOverlayExited\",\n value: function onOverlayExited() {\n ZIndexUtils.clear(this.overlayRef.current);\n this.props.onHide && this.props.onHide();\n }\n }, {\n key: \"alignOverlay\",\n value: function alignOverlay() {\n var target = this.props.multiple ? this.multiContainer : this.inputRef.current;\n DomHandler.alignOverlay(this.overlayRef.current, target, this.props.appendTo || PrimeReact.appendTo);\n }\n }, {\n key: \"onPanelClick\",\n value: function onPanelClick(event) {\n OverlayService.emit('overlay-click', {\n originalEvent: event,\n target: this.container\n });\n }\n }, {\n key: \"onDropdownClick\",\n value: function onDropdownClick(event) {\n this.inputRef.current.focus();\n if (this.props.dropdownMode === 'blank') this.search(event, '', 'dropdown');else if (this.props.dropdownMode === 'current') this.search(event, this.inputRef.current.value, 'dropdown');\n\n if (this.props.onDropdownClick) {\n this.props.onDropdownClick({\n originalEvent: event,\n query: this.inputRef.current.value\n });\n }\n }\n }, {\n key: \"removeItem\",\n value: function removeItem(event, index) {\n var removedValue = this.props.value[index];\n var newValue = this.props.value.filter(function (val, i) {\n return index !== i;\n });\n this.updateModel(event, newValue);\n\n if (this.props.onUnselect) {\n this.props.onUnselect({\n originalEvent: event,\n value: removedValue\n });\n }\n }\n }, {\n key: \"onInputKeyDown\",\n value: function onInputKeyDown(event) {\n if (this.state.overlayVisible) {\n var highlightItem = DomHandler.findSingle(this.overlayRef.current, 'li.p-highlight');\n\n switch (event.which) {\n //down\n case 40:\n if (highlightItem) {\n var nextElement = this.findNextItem(highlightItem);\n\n if (nextElement) {\n DomHandler.addClass(nextElement, 'p-highlight');\n DomHandler.removeClass(highlightItem, 'p-highlight');\n DomHandler.scrollInView(this.overlayRef.current, nextElement);\n }\n } else {\n highlightItem = DomHandler.findSingle(this.overlayRef.current, 'li');\n\n if (DomHandler.hasClass(highlightItem, 'p-autocomplete-item-group')) {\n highlightItem = this.findNextItem(highlightItem);\n }\n\n if (highlightItem) {\n DomHandler.addClass(highlightItem, 'p-highlight');\n }\n }\n\n event.preventDefault();\n break;\n //up\n\n case 38:\n if (highlightItem) {\n var previousElement = this.findPrevItem(highlightItem);\n\n if (previousElement) {\n DomHandler.addClass(previousElement, 'p-highlight');\n DomHandler.removeClass(highlightItem, 'p-highlight');\n DomHandler.scrollInView(this.overlayRef.current, previousElement);\n }\n }\n\n event.preventDefault();\n break;\n //enter\n\n case 13:\n if (highlightItem) {\n this.selectHighlightItem(event, highlightItem);\n this.hideOverlay();\n }\n\n event.preventDefault();\n break;\n //escape\n\n case 27:\n this.hideOverlay();\n event.preventDefault();\n break;\n //tab\n\n case 9:\n if (highlightItem) {\n this.selectHighlightItem(event, highlightItem);\n }\n\n this.hideOverlay();\n break;\n }\n }\n\n if (this.props.multiple) {\n switch (event.which) {\n //backspace\n case 8:\n if (this.props.value && this.props.value.length && !this.inputRef.current.value) {\n var removedValue = this.props.value[this.props.value.length - 1];\n var newValue = this.props.value.slice(0, -1);\n this.updateModel(event, newValue);\n\n if (this.props.onUnselect) {\n this.props.onUnselect({\n originalEvent: event,\n value: removedValue\n });\n }\n }\n\n break;\n }\n }\n }\n }, {\n key: \"selectHighlightItem\",\n value: function selectHighlightItem(event, item) {\n if (this.props.optionGroupLabel) {\n var optionGroup = this.props.suggestions[item.dataset.group];\n this.selectItem(event, this.getOptionGroupChildren(optionGroup)[item.dataset.index]);\n } else {\n this.selectItem(event, this.props.suggestions[DomHandler.index(item)]);\n }\n }\n }, {\n key: \"findNextItem\",\n value: function findNextItem(item) {\n var nextItem = item.nextElementSibling;\n return nextItem ? DomHandler.hasClass(nextItem, 'p-autocomplete-item-group') ? this.findNextItem(nextItem) : nextItem : null;\n }\n }, {\n key: \"findPrevItem\",\n value: function findPrevItem(item) {\n var prevItem = item.previousElementSibling;\n return prevItem ? DomHandler.hasClass(prevItem, 'p-autocomplete-item-group') ? this.findPrevItem(prevItem) : prevItem : null;\n }\n }, {\n key: \"onInputFocus\",\n value: function onInputFocus(event) {\n var _this3 = this;\n\n event.persist();\n this.setState({\n focused: true\n }, function () {\n if (_this3.props.onFocus) {\n _this3.props.onFocus(event);\n }\n });\n }\n }, {\n key: \"forceItemSelection\",\n value: function forceItemSelection(event) {\n var valid = false;\n var inputValue = event.target.value.trim();\n\n if (this.props.suggestions) {\n var _iterator = _createForOfIteratorHelper(this.props.suggestions),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var item = _step.value;\n var itemValue = this.props.field ? ObjectUtils.resolveFieldData(item, this.props.field) : item;\n\n if (itemValue && inputValue === itemValue.trim()) {\n valid = true;\n this.selectItem(event, item, true);\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n if (!valid) {\n this.inputRef.current.value = '';\n this.updateModel(event, null);\n\n if (this.props.onClear) {\n this.props.onClear(event);\n }\n }\n }\n }, {\n key: \"onInputBlur\",\n value: function onInputBlur(event) {\n var _this4 = this;\n\n event.persist();\n this.setState({\n focused: false\n }, function () {\n if (_this4.props.forceSelection) {\n _this4.forceItemSelection(event);\n }\n\n if (_this4.props.onBlur) {\n _this4.props.onBlur(event);\n }\n });\n }\n }, {\n key: \"onMultiContainerClick\",\n value: function onMultiContainerClick(event) {\n this.inputRef.current.focus();\n\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n }\n }, {\n key: \"onMultiInputFocus\",\n value: function onMultiInputFocus(event) {\n this.onInputFocus(event);\n DomHandler.addClass(this.multiContainer, 'p-focus');\n }\n }, {\n key: \"onMultiInputBlur\",\n value: function onMultiInputBlur(event) {\n this.onInputBlur(event);\n DomHandler.removeClass(this.multiContainer, 'p-focus');\n }\n }, {\n key: \"isSelected\",\n value: function isSelected(val) {\n var selected = false;\n\n if (this.props.value && this.props.value.length) {\n for (var i = 0; i < this.props.value.length; i++) {\n if (ObjectUtils.equals(this.props.value[i], val)) {\n selected = true;\n break;\n }\n }\n }\n\n return selected;\n }\n }, {\n key: \"findOptionIndex\",\n value: function findOptionIndex(option) {\n var index = -1;\n\n if (this.props.suggestions) {\n for (var i = 0; i < this.props.suggestions.length; i++) {\n if (ObjectUtils.equals(option, this.props.suggestions[i])) {\n index = i;\n break;\n }\n }\n }\n\n return index;\n }\n }, {\n key: \"getOptionGroupLabel\",\n value: function getOptionGroupLabel(optionGroup) {\n return this.props.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.props.optionGroupLabel) : optionGroup;\n }\n }, {\n key: \"getOptionGroupChildren\",\n value: function getOptionGroupChildren(optionGroup) {\n return ObjectUtils.resolveFieldData(optionGroup, this.props.optionGroupChildren);\n }\n }, {\n key: \"bindDocumentClickListener\",\n value: function bindDocumentClickListener() {\n var _this5 = this;\n\n if (!this.documentClickListener) {\n this.documentClickListener = function (event) {\n if (event.which === 3) {\n // right click\n return;\n }\n\n if (_this5.state.overlayVisible && _this5.isOutsideClicked(event)) {\n _this5.hideOverlay();\n }\n };\n\n document.addEventListener('click', this.documentClickListener);\n }\n }\n }, {\n key: \"unbindDocumentClickListener\",\n value: function unbindDocumentClickListener() {\n if (this.documentClickListener) {\n document.removeEventListener('click', this.documentClickListener);\n this.documentClickListener = null;\n }\n }\n }, {\n key: \"bindScrollListener\",\n value: function bindScrollListener() {\n var _this6 = this;\n\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.container, function () {\n if (_this6.state.overlayVisible) {\n _this6.hideOverlay();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n }, {\n key: \"unbindScrollListener\",\n value: function unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n }, {\n key: \"bindResizeListener\",\n value: function bindResizeListener() {\n var _this7 = this;\n\n if (!this.resizeListener) {\n this.resizeListener = function () {\n if (_this7.state.overlayVisible && !DomHandler.isTouchDevice()) {\n _this7.hideOverlay();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n }\n }, {\n key: \"unbindResizeListener\",\n value: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n }\n }, {\n key: \"isOutsideClicked\",\n value: function isOutsideClicked(event) {\n return this.container && this.overlayRef && this.overlayRef.current && !this.overlayRef.current.contains(event.target) && !this.isInputClicked(event);\n }\n }, {\n key: \"isInputClicked\",\n value: function isInputClicked(event) {\n if (this.props.multiple) return event.target === this.multiContainer || this.multiContainer.contains(event.target);else return event.target === this.inputRef.current;\n }\n }, {\n key: \"updateInputRef\",\n value: function updateInputRef() {\n var ref = this.props.inputRef;\n\n if (ref) {\n if (typeof ref === 'function') {\n ref(this.inputRef.current);\n } else {\n ref.current = this.inputRef.current;\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateInputRef();\n\n if (!this.state.id) {\n this.setState({\n id: UniqueComponentId()\n });\n }\n\n if (this.props.autoFocus && this.inputRef && this.inputRef.current) {\n this.inputRef.current.focus();\n }\n\n if (this.props.tooltip) {\n this.renderTooltip();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.suggestions !== this.props.suggestions && this.state.searching) {\n if (this.props.suggestions && this.props.suggestions.length) {\n this.showOverlay();\n } else {\n this.hideOverlay();\n }\n\n this.setState({\n searching: false\n });\n }\n\n if (this.inputRef && this.inputRef.current && !this.props.multiple) {\n this.updateInputField(this.props.value);\n }\n\n if (prevProps.tooltip !== this.props.tooltip || prevProps.tooltipOptions !== this.props.tooltipOptions) {\n if (this.tooltip) this.tooltip.update(_objectSpread({\n content: this.props.tooltip\n }, this.props.tooltipOptions || {}));else this.renderTooltip();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unbindDocumentClickListener();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.tooltip) {\n this.tooltip.destroy();\n this.tooltip = null;\n }\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\n ZIndexUtils.clear(this.overlayRef.current);\n }\n }, {\n key: \"renderTooltip\",\n value: function renderTooltip() {\n this.tooltip = tip({\n target: this.container,\n content: this.props.tooltip,\n options: this.props.tooltipOptions\n });\n }\n }, {\n key: \"renderSimpleAutoComplete\",\n value: function renderSimpleAutoComplete() {\n var inputClassName = classNames('p-autocomplete-input', this.props.inputClassName, {\n 'p-autocomplete-dd-input': this.props.dropdown\n });\n return /*#__PURE__*/React.createElement(InputText, {\n ref: this.inputRef,\n id: this.props.inputId,\n type: this.props.type,\n name: this.props.name,\n defaultValue: this.formatValue(this.props.value),\n role: \"searchbox\",\n \"aria-autocomplete\": \"list\",\n \"aria-controls\": this.state.id + '_list',\n \"aria-labelledby\": this.props.ariaLabelledBy,\n className: inputClassName,\n style: this.props.inputStyle,\n autoComplete: \"off\",\n readOnly: this.props.readOnly,\n disabled: this.props.disabled,\n placeholder: this.props.placeholder,\n size: this.props.size,\n maxLength: this.props.maxLength,\n tabIndex: this.props.tabIndex,\n onBlur: this.onInputBlur,\n onFocus: this.onInputFocus,\n onChange: this.onInputChange,\n onMouseDown: this.props.onMouseDown,\n onKeyUp: this.props.onKeyUp,\n onKeyDown: this.onInputKeyDown,\n onKeyPress: this.props.onKeyPress,\n onContextMenu: this.props.onContextMenu,\n onClick: this.props.onClick,\n onDoubleClick: this.props.onDblClick\n });\n }\n }, {\n key: \"renderChips\",\n value: function renderChips() {\n var _this8 = this;\n\n if (this.props.value && this.props.value.length) {\n return this.props.value.map(function (val, index) {\n return /*#__PURE__*/React.createElement(\"li\", {\n key: index + 'multi-item',\n className: \"p-autocomplete-token p-highlight\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"p-autocomplete-token-label\"\n }, _this8.formatValue(val)), !_this8.props.disabled && IconUtils.getJSXIcon(_this8.props.removeIcon, {\n className: 'p-autocomplete-token-icon',\n onClick: function onClick(e) {\n return _this8.removeItem(e, index);\n }\n }, {\n props: _this8.props\n }));\n });\n }\n\n return null;\n }\n }, {\n key: \"renderMultiInput\",\n value: function renderMultiInput() {\n return /*#__PURE__*/React.createElement(\"li\", {\n className: \"p-autocomplete-input-token\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n ref: this.inputRef,\n type: this.props.type,\n disabled: this.props.disabled,\n placeholder: this.props.placeholder,\n role: \"searchbox\",\n \"aria-autocomplete\": \"list\",\n \"aria-controls\": this.state.id + '_list',\n \"aria-labelledby\": this.props.ariaLabelledBy,\n autoComplete: \"off\",\n tabIndex: this.props.tabIndex,\n onChange: this.onInputChange,\n id: this.props.inputId,\n name: this.props.name,\n style: this.props.inputStyle,\n className: this.props.inputClassName,\n maxLength: this.props.maxLength,\n onKeyUp: this.props.onKeyUp,\n onKeyDown: this.onInputKeyDown,\n onKeyPress: this.props.onKeyPress,\n onFocus: this.onMultiInputFocus,\n onBlur: this.onMultiInputBlur\n }));\n }\n }, {\n key: \"renderMultipleAutoComplete\",\n value: function renderMultipleAutoComplete() {\n var _this9 = this;\n\n var multiContainerClass = classNames('p-autocomplete-multiple-container p-component p-inputtext', {\n 'p-disabled': this.props.disabled\n });\n var tokens = this.renderChips();\n var input = this.renderMultiInput();\n return /*#__PURE__*/React.createElement(\"ul\", {\n ref: function ref(el) {\n _this9.multiContainer = el;\n },\n className: multiContainerClass,\n onContextMenu: this.props.onContextMenu,\n onMouseDown: this.props.onMouseDown,\n onClick: this.onMultiContainerClick,\n onDoubleClick: this.props.onDblClick\n }, tokens, input);\n }\n }, {\n key: \"renderDropdown\",\n value: function renderDropdown() {\n var _this10 = this;\n\n return /*#__PURE__*/React.createElement(Button, {\n ref: function ref(el) {\n return _this10.dropdownButton = el;\n },\n type: \"button\",\n icon: this.props.dropdownIcon,\n className: \"p-autocomplete-dropdown\",\n disabled: this.props.disabled,\n onClick: this.onDropdownClick\n });\n }\n }, {\n key: \"renderLoader\",\n value: function renderLoader() {\n if (this.state.searching) {\n return /*#__PURE__*/React.createElement(\"i\", {\n className: \"p-autocomplete-loader pi pi-spinner pi-spin\"\n });\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this11 = this;\n\n var input, dropdown;\n var className = classNames('p-autocomplete p-component p-inputwrapper', this.props.className, {\n 'p-autocomplete-dd': this.props.dropdown,\n 'p-autocomplete-multiple': this.props.multiple,\n 'p-inputwrapper-filled': this.props.value,\n 'p-inputwrapper-focus': this.state.focused\n });\n var loader = this.renderLoader();\n if (this.props.multiple) input = this.renderMultipleAutoComplete();else input = this.renderSimpleAutoComplete();\n\n if (this.props.dropdown) {\n dropdown = this.renderDropdown();\n }\n\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: function ref(el) {\n return _this11.container = el;\n },\n id: this.state.id,\n style: this.props.style,\n className: className,\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": this.state.overlayVisible,\n \"aria-owns\": this.state.id + '_list'\n }, input, loader, dropdown, /*#__PURE__*/React.createElement(AutoCompletePanel, _extends({\n ref: this.overlayRef,\n virtualScrollerRef: this.virtualScrollerRef\n }, this.props, {\n listId: this.state.id + '_list',\n onItemClick: this.selectItem,\n ariaSelected: this.ariaSelected,\n onClick: this.onPanelClick,\n getOptionGroupLabel: this.getOptionGroupLabel,\n getOptionGroupChildren: this.getOptionGroupChildren,\n \"in\": this.state.overlayVisible,\n onEnter: this.onOverlayEnter,\n onEntering: this.onOverlayEntering,\n onEntered: this.onOverlayEntered,\n onExit: this.onOverlayExit,\n onExited: this.onOverlayExited\n })));\n }\n }]);\n\n return AutoComplete;\n}(Component);\n\n_defineProperty(AutoComplete, \"defaultProps\", {\n id: null,\n inputRef: null,\n value: null,\n name: null,\n type: 'text',\n suggestions: null,\n field: null,\n optionGroupLabel: null,\n optionGroupChildren: null,\n optionGroupTemplate: null,\n forceSelection: false,\n autoHighlight: false,\n virtualScrollerOptions: null,\n scrollHeight: '200px',\n dropdown: false,\n dropdownMode: 'blank',\n multiple: false,\n minLength: 1,\n delay: 300,\n style: null,\n className: null,\n inputId: null,\n inputStyle: null,\n inputClassName: null,\n panelClassName: null,\n panelStyle: null,\n placeholder: null,\n readOnly: false,\n disabled: false,\n maxLength: null,\n size: null,\n appendTo: null,\n tabIndex: null,\n autoFocus: false,\n tooltip: null,\n tooltipOptions: null,\n ariaLabelledBy: null,\n completeMethod: null,\n itemTemplate: null,\n selectedItemTemplate: null,\n transitionOptions: null,\n dropdownIcon: 'pi pi-chevron-down',\n removeIcon: 'pi pi-times-circle',\n onChange: null,\n onFocus: null,\n onBlur: null,\n onSelect: null,\n onUnselect: null,\n onDropdownClick: null,\n onClick: null,\n onDblClick: null,\n onMouseDown: null,\n onKeyUp: null,\n onKeyPress: null,\n onContextMenu: null,\n onClear: null,\n onShow: null,\n onHide: null\n});\n\nexport { AutoComplete };","map":{"version":3,"names":["React","Component","createRef","InputText","Button","ObjectUtils","classNames","ZIndexUtils","DomHandler","ConnectedOverlayScrollHandler","UniqueComponentId","IconUtils","Ripple","CSSTransition","Portal","VirtualScroller","tip","OverlayService","PrimeReact","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_arrayLikeToArray$1","arr","len","arr2","Array","_arrayWithoutHoles","isArray","_iterableToArray","iter","Symbol","iterator","from","_unsupportedIterableToArray$1","o","minLen","n","toString","slice","constructor","name","test","_nonIterableSpread","TypeError","_toConsumableArray","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","_createClass","protoProps","staticProps","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","p","setPrototypeOf","__proto__","_inherits","subClass","superClass","create","value","_typeof","obj","_possibleConstructorReturn","_getPrototypeOf","getPrototypeOf","_defineProperty","ownKeys$1","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","_objectSpread$1","forEach","getOwnPropertyDescriptors","defineProperties","_createSuper$1","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct$1","_createSuperInternal","Super","result","NewTarget","Reflect","construct","sham","Proxy","Boolean","valueOf","e","AutoCompletePanelComponent","_Component","_super","getOptionGroupRenderKey","optionGroup","resolveFieldData","optionGroupLabel","renderGroupChildren","_this","groupChildren","getOptionGroupChildren","map","item","j","itemContent","itemTemplate","getJSXElement","field","createElement","role","ariaSelected","className","onClick","onItemClick","renderItem","suggestion","index","_this2","groupContent","optionGroupTemplate","getOptionGroupLabel","groupChildrenContent","Fragment","renderItems","_this3","suggestions","renderContent","_this4","virtualScrollerOptions","virtualScrollerProps","style","height","scrollHeight","items","options","contentTemplate","ref","contentRef","id","listId","children","virtualScrollerRef","renderElement","panelClassName","panelStyle","maxHeight","content","nodeRef","forwardRef","timeout","enter","exit","transitionOptions","unmountOnExit","onEnter","onEntering","onEntered","onExit","onExited","render","element","appendTo","AutoCompletePanel","ownKeys","_objectSpread","_createForOfIteratorHelper","allowArrayLike","it","_unsupportedIterableToArray","F","s","done","_e","f","normalCompletion","didErr","err","step","next","_e2","_arrayLikeToArray","_createSuper","_isNativeReflectConstruct","AutoComplete","state","searching","focused","overlayVisible","onInputChange","bind","onInputFocus","onInputBlur","onInputKeyDown","onDropdownClick","onMultiContainerClick","onMultiInputFocus","onMultiInputBlur","selectItem","onOverlayEnter","onOverlayEntering","onOverlayEntered","onOverlayExit","onOverlayExited","onPanelClick","overlayRef","inputRef","event","clearTimeout","query","multiple","updateModel","hideOverlay","onClear","minLength","setTimeout","search","delay","undefined","trim","completeMethod","setState","originalEvent","option","preventInputFocus","current","isSelected","newValue","concat","updateInputField","onSelect","focus","onChange","stopPropagation","preventDefault","formatValue","selectedItemTemplate","findOptionIndex","resolvedFieldData","_resolvedFieldData","formattedValue","showOverlay","set","autoZIndex","zIndex","alignOverlay","autoHighlight","addClass","firstChild","bindDocumentClickListener","bindScrollListener","bindResizeListener","onShow","unbindDocumentClickListener","unbindScrollListener","unbindResizeListener","clear","onHide","multiContainer","emit","container","dropdownMode","removeItem","removedValue","val","onUnselect","highlightItem","findSingle","which","nextElement","findNextItem","removeClass","scrollInView","hasClass","previousElement","findPrevItem","selectHighlightItem","dataset","group","nextItem","nextElementSibling","prevItem","previousElementSibling","persist","onFocus","forceItemSelection","valid","inputValue","_iterator","_step","itemValue","forceSelection","onBlur","selected","equals","optionGroupChildren","_this5","documentClickListener","isOutsideClicked","document","addEventListener","removeEventListener","_this6","scrollHandler","_this7","resizeListener","isTouchDevice","window","contains","isInputClicked","updateInputRef","componentDidMount","autoFocus","tooltip","renderTooltip","componentDidUpdate","prevProps","tooltipOptions","update","componentWillUnmount","destroy","renderSimpleAutoComplete","inputClassName","dropdown","inputId","type","defaultValue","ariaLabelledBy","inputStyle","autoComplete","readOnly","disabled","placeholder","size","maxLength","tabIndex","onMouseDown","onKeyUp","onKeyDown","onKeyPress","onContextMenu","onDoubleClick","onDblClick","renderChips","_this8","getJSXIcon","removeIcon","renderMultiInput","renderMultipleAutoComplete","_this9","multiContainerClass","tokens","input","el","renderDropdown","_this10","dropdownButton","icon","dropdownIcon","renderLoader","_this11","loader"],"sources":["/Users/paolasanchez/Desktop/Pry4/Katoikia/katoikia-app/web-ui/sakai-react/node_modules/primereact/autocomplete/autocomplete.esm.js"],"sourcesContent":["import React, { Component, createRef } from 'react';\nimport { InputText } from 'primereact/inputtext';\nimport { Button } from 'primereact/button';\nimport { ObjectUtils, classNames, ZIndexUtils, DomHandler, ConnectedOverlayScrollHandler, UniqueComponentId, IconUtils } from 'primereact/utils';\nimport { Ripple } from 'primereact/ripple';\nimport { CSSTransition } from 'primereact/csstransition';\nimport { Portal } from 'primereact/portal';\nimport { VirtualScroller } from 'primereact/virtualscroller';\nimport { tip } from 'primereact/tooltip';\nimport { OverlayService } from 'primereact/overlayservice';\nimport PrimeReact from 'primereact/api';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _arrayLikeToArray$1(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray$1(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray$1(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray$1(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread();\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar AutoCompletePanelComponent = /*#__PURE__*/function (_Component) {\n _inherits(AutoCompletePanelComponent, _Component);\n\n var _super = _createSuper$1(AutoCompletePanelComponent);\n\n function AutoCompletePanelComponent() {\n _classCallCheck(this, AutoCompletePanelComponent);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(AutoCompletePanelComponent, [{\n key: \"getOptionGroupRenderKey\",\n value: function getOptionGroupRenderKey(optionGroup) {\n return ObjectUtils.resolveFieldData(optionGroup, this.props.optionGroupLabel);\n }\n }, {\n key: \"renderGroupChildren\",\n value: function renderGroupChildren(optionGroup, i) {\n var _this = this;\n\n var groupChildren = this.props.getOptionGroupChildren(optionGroup);\n return groupChildren.map(function (item, j) {\n var itemContent = _this.props.itemTemplate ? ObjectUtils.getJSXElement(_this.props.itemTemplate, item, j) : _this.props.field ? ObjectUtils.resolveFieldData(item, _this.props.field) : item;\n return /*#__PURE__*/React.createElement(\"li\", {\n key: j + '_item',\n role: \"option\",\n \"aria-selected\": _this.props.ariaSelected === item,\n className: \"p-autocomplete-item\",\n onClick: function onClick(e) {\n return _this.props.onItemClick(e, item);\n },\n \"data-group\": i,\n \"data-index\": j\n }, itemContent, /*#__PURE__*/React.createElement(Ripple, null));\n });\n }\n }, {\n key: \"renderItem\",\n value: function renderItem(suggestion, index) {\n var _this2 = this;\n\n if (this.props.optionGroupLabel) {\n var groupContent = this.props.optionGroupTemplate ? ObjectUtils.getJSXElement(this.props.optionGroupTemplate, suggestion, index) : this.props.getOptionGroupLabel(suggestion);\n var groupChildrenContent = this.renderGroupChildren(suggestion, index);\n var key = index + '_' + this.getOptionGroupRenderKey(suggestion);\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: key\n }, /*#__PURE__*/React.createElement(\"li\", {\n className: \"p-autocomplete-item-group\"\n }, groupContent), groupChildrenContent);\n } else {\n var itemContent = this.props.itemTemplate ? ObjectUtils.getJSXElement(this.props.itemTemplate, suggestion, index) : this.props.field ? ObjectUtils.resolveFieldData(suggestion, this.props.field) : suggestion;\n return /*#__PURE__*/React.createElement(\"li\", {\n key: index + '_item',\n role: \"option\",\n \"aria-selected\": this.props.ariaSelected === suggestion,\n className: \"p-autocomplete-item\",\n onClick: function onClick(e) {\n return _this2.props.onItemClick(e, suggestion);\n }\n }, itemContent, /*#__PURE__*/React.createElement(Ripple, null));\n }\n }\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var _this3 = this;\n\n if (this.props.suggestions) {\n return this.props.suggestions.map(function (suggestion, index) {\n return _this3.renderItem(suggestion, index);\n });\n }\n\n return null;\n }\n }, {\n key: \"renderContent\",\n value: function renderContent() {\n var _this4 = this;\n\n if (this.props.virtualScrollerOptions) {\n var virtualScrollerProps = _objectSpread$1(_objectSpread$1({}, this.props.virtualScrollerOptions), {\n style: _objectSpread$1(_objectSpread$1({}, this.props.virtualScrollerOptions.style), {\n height: this.props.scrollHeight\n }),\n items: this.props.suggestions,\n itemTemplate: function itemTemplate(item, options) {\n return item && _this4.renderItem(item, options.index);\n },\n contentTemplate: function contentTemplate(options) {\n var className = classNames('p-autocomplete-items', options.className);\n return /*#__PURE__*/React.createElement(\"ul\", {\n ref: options.contentRef,\n className: className,\n role: \"listbox\",\n id: _this4.props.listId\n }, options.children);\n }\n });\n\n return /*#__PURE__*/React.createElement(VirtualScroller, _extends({\n ref: this.props.virtualScrollerRef\n }, virtualScrollerProps));\n } else {\n var items = this.renderItems();\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"p-autocomplete-items\",\n role: \"listbox\",\n id: this.props.listId\n }, items);\n }\n }\n }, {\n key: \"renderElement\",\n value: function renderElement() {\n var panelClassName = classNames('p-autocomplete-panel p-component', this.props.panelClassName);\n\n var panelStyle = _objectSpread$1({\n maxHeight: this.props.scrollHeight\n }, this.props.panelStyle);\n\n var content = this.renderContent();\n return /*#__PURE__*/React.createElement(CSSTransition, {\n nodeRef: this.props.forwardRef,\n classNames: \"p-connected-overlay\",\n \"in\": this.props[\"in\"],\n timeout: {\n enter: 120,\n exit: 100\n },\n options: this.props.transitionOptions,\n unmountOnExit: true,\n onEnter: this.props.onEnter,\n onEntering: this.props.onEntering,\n onEntered: this.props.onEntered,\n onExit: this.props.onExit,\n onExited: this.props.onExited\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: this.props.forwardRef,\n className: panelClassName,\n style: panelStyle,\n onClick: this.props.onClick\n }, content));\n }\n }, {\n key: \"render\",\n value: function render() {\n var element = this.renderElement();\n return /*#__PURE__*/React.createElement(Portal, {\n element: element,\n appendTo: this.props.appendTo\n });\n }\n }]);\n\n return AutoCompletePanelComponent;\n}(Component);\n\nvar AutoCompletePanel = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(AutoCompletePanelComponent, _extends({\n forwardRef: ref\n }, props));\n});\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar AutoComplete = /*#__PURE__*/function (_Component) {\n _inherits(AutoComplete, _Component);\n\n var _super = _createSuper(AutoComplete);\n\n function AutoComplete(props) {\n var _this;\n\n _classCallCheck(this, AutoComplete);\n\n _this = _super.call(this, props);\n _this.state = {\n id: _this.props.id,\n searching: false,\n focused: false,\n overlayVisible: false\n };\n _this.onInputChange = _this.onInputChange.bind(_assertThisInitialized(_this));\n _this.onInputFocus = _this.onInputFocus.bind(_assertThisInitialized(_this));\n _this.onInputBlur = _this.onInputBlur.bind(_assertThisInitialized(_this));\n _this.onInputKeyDown = _this.onInputKeyDown.bind(_assertThisInitialized(_this));\n _this.onDropdownClick = _this.onDropdownClick.bind(_assertThisInitialized(_this));\n _this.onMultiContainerClick = _this.onMultiContainerClick.bind(_assertThisInitialized(_this));\n _this.onMultiInputFocus = _this.onMultiInputFocus.bind(_assertThisInitialized(_this));\n _this.onMultiInputBlur = _this.onMultiInputBlur.bind(_assertThisInitialized(_this));\n _this.selectItem = _this.selectItem.bind(_assertThisInitialized(_this));\n _this.getOptionGroupLabel = _this.getOptionGroupLabel.bind(_assertThisInitialized(_this));\n _this.getOptionGroupChildren = _this.getOptionGroupChildren.bind(_assertThisInitialized(_this));\n _this.onOverlayEnter = _this.onOverlayEnter.bind(_assertThisInitialized(_this));\n _this.onOverlayEntering = _this.onOverlayEntering.bind(_assertThisInitialized(_this));\n _this.onOverlayEntered = _this.onOverlayEntered.bind(_assertThisInitialized(_this));\n _this.onOverlayExit = _this.onOverlayExit.bind(_assertThisInitialized(_this));\n _this.onOverlayExited = _this.onOverlayExited.bind(_assertThisInitialized(_this));\n _this.onPanelClick = _this.onPanelClick.bind(_assertThisInitialized(_this));\n _this.overlayRef = /*#__PURE__*/createRef();\n _this.virtualScrollerRef = /*#__PURE__*/createRef();\n _this.inputRef = /*#__PURE__*/createRef(_this.props.inputRef);\n return _this;\n }\n\n _createClass(AutoComplete, [{\n key: \"onInputChange\",\n value: function onInputChange(event) {\n var _this2 = this;\n\n //Cancel the search request if user types within the timeout\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\n var query = event.target.value;\n\n if (!this.props.multiple) {\n this.updateModel(event, query);\n }\n\n if (query.length === 0) {\n this.hideOverlay();\n\n if (this.props.onClear) {\n this.props.onClear(event);\n }\n } else {\n if (query.length >= this.props.minLength) {\n this.timeout = setTimeout(function () {\n _this2.search(event, query, 'input');\n }, this.props.delay);\n } else {\n this.hideOverlay();\n }\n }\n }\n }, {\n key: \"search\",\n value: function search(event, query, source) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n } //do not search blank values on input change\n\n\n if (source === 'input' && query.trim().length === 0) {\n return;\n }\n\n if (this.props.completeMethod) {\n this.setState({\n searching: true\n });\n this.props.completeMethod({\n originalEvent: event,\n query: query\n });\n }\n }\n }, {\n key: \"selectItem\",\n value: function selectItem(event, option, preventInputFocus) {\n if (this.props.multiple) {\n this.inputRef.current.value = '';\n\n if (!this.isSelected(option)) {\n var newValue = this.props.value ? [].concat(_toConsumableArray(this.props.value), [option]) : [option];\n this.updateModel(event, newValue);\n }\n } else {\n this.updateInputField(option);\n this.updateModel(event, option);\n }\n\n if (this.props.onSelect) {\n this.props.onSelect({\n originalEvent: event,\n value: option\n });\n }\n\n if (!preventInputFocus) {\n this.inputRef.current.focus();\n this.hideOverlay();\n }\n }\n }, {\n key: \"updateModel\",\n value: function updateModel(event, value) {\n if (this.props.onChange) {\n this.props.onChange({\n originalEvent: event,\n value: value,\n stopPropagation: function stopPropagation() {},\n preventDefault: function preventDefault() {},\n target: {\n name: this.props.name,\n id: this.state.id,\n value: value\n }\n });\n }\n\n this.ariaSelected = value;\n }\n }, {\n key: \"formatValue\",\n value: function formatValue(value) {\n if (value) {\n if (this.props.selectedItemTemplate && (this.props.multiple ? this.isSelected(value) : this.findOptionIndex(value) > -1)) {\n var resolvedFieldData = ObjectUtils.getJSXElement(this.props.selectedItemTemplate, value);\n return resolvedFieldData ? resolvedFieldData : value;\n } else if (this.props.field) {\n var _resolvedFieldData = ObjectUtils.resolveFieldData(value, this.props.field);\n\n return _resolvedFieldData !== null && _resolvedFieldData !== undefined ? _resolvedFieldData : value;\n } else return value;\n } else return '';\n }\n }, {\n key: \"updateInputField\",\n value: function updateInputField(value) {\n var formattedValue = this.formatValue(value);\n this.inputRef.current.value = formattedValue;\n }\n }, {\n key: \"showOverlay\",\n value: function showOverlay() {\n this.setState({\n overlayVisible: true\n });\n }\n }, {\n key: \"hideOverlay\",\n value: function hideOverlay() {\n this.setState({\n overlayVisible: false,\n searching: false\n });\n }\n }, {\n key: \"onOverlayEnter\",\n value: function onOverlayEnter() {\n ZIndexUtils.set('overlay', this.overlayRef.current, PrimeReact.autoZIndex, PrimeReact.zIndex['overlay']);\n this.alignOverlay();\n }\n }, {\n key: \"onOverlayEntering\",\n value: function onOverlayEntering() {\n if (this.props.autoHighlight && this.props.suggestions && this.props.suggestions.length) {\n DomHandler.addClass(this.overlayRef.current.firstChild.firstChild, 'p-highlight');\n }\n }\n }, {\n key: \"onOverlayEntered\",\n value: function onOverlayEntered() {\n this.bindDocumentClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.props.onShow && this.props.onShow();\n }\n }, {\n key: \"onOverlayExit\",\n value: function onOverlayExit() {\n this.unbindDocumentClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n }\n }, {\n key: \"onOverlayExited\",\n value: function onOverlayExited() {\n ZIndexUtils.clear(this.overlayRef.current);\n this.props.onHide && this.props.onHide();\n }\n }, {\n key: \"alignOverlay\",\n value: function alignOverlay() {\n var target = this.props.multiple ? this.multiContainer : this.inputRef.current;\n DomHandler.alignOverlay(this.overlayRef.current, target, this.props.appendTo || PrimeReact.appendTo);\n }\n }, {\n key: \"onPanelClick\",\n value: function onPanelClick(event) {\n OverlayService.emit('overlay-click', {\n originalEvent: event,\n target: this.container\n });\n }\n }, {\n key: \"onDropdownClick\",\n value: function onDropdownClick(event) {\n this.inputRef.current.focus();\n if (this.props.dropdownMode === 'blank') this.search(event, '', 'dropdown');else if (this.props.dropdownMode === 'current') this.search(event, this.inputRef.current.value, 'dropdown');\n\n if (this.props.onDropdownClick) {\n this.props.onDropdownClick({\n originalEvent: event,\n query: this.inputRef.current.value\n });\n }\n }\n }, {\n key: \"removeItem\",\n value: function removeItem(event, index) {\n var removedValue = this.props.value[index];\n var newValue = this.props.value.filter(function (val, i) {\n return index !== i;\n });\n this.updateModel(event, newValue);\n\n if (this.props.onUnselect) {\n this.props.onUnselect({\n originalEvent: event,\n value: removedValue\n });\n }\n }\n }, {\n key: \"onInputKeyDown\",\n value: function onInputKeyDown(event) {\n if (this.state.overlayVisible) {\n var highlightItem = DomHandler.findSingle(this.overlayRef.current, 'li.p-highlight');\n\n switch (event.which) {\n //down\n case 40:\n if (highlightItem) {\n var nextElement = this.findNextItem(highlightItem);\n\n if (nextElement) {\n DomHandler.addClass(nextElement, 'p-highlight');\n DomHandler.removeClass(highlightItem, 'p-highlight');\n DomHandler.scrollInView(this.overlayRef.current, nextElement);\n }\n } else {\n highlightItem = DomHandler.findSingle(this.overlayRef.current, 'li');\n\n if (DomHandler.hasClass(highlightItem, 'p-autocomplete-item-group')) {\n highlightItem = this.findNextItem(highlightItem);\n }\n\n if (highlightItem) {\n DomHandler.addClass(highlightItem, 'p-highlight');\n }\n }\n\n event.preventDefault();\n break;\n //up\n\n case 38:\n if (highlightItem) {\n var previousElement = this.findPrevItem(highlightItem);\n\n if (previousElement) {\n DomHandler.addClass(previousElement, 'p-highlight');\n DomHandler.removeClass(highlightItem, 'p-highlight');\n DomHandler.scrollInView(this.overlayRef.current, previousElement);\n }\n }\n\n event.preventDefault();\n break;\n //enter\n\n case 13:\n if (highlightItem) {\n this.selectHighlightItem(event, highlightItem);\n this.hideOverlay();\n }\n\n event.preventDefault();\n break;\n //escape\n\n case 27:\n this.hideOverlay();\n event.preventDefault();\n break;\n //tab\n\n case 9:\n if (highlightItem) {\n this.selectHighlightItem(event, highlightItem);\n }\n\n this.hideOverlay();\n break;\n }\n }\n\n if (this.props.multiple) {\n switch (event.which) {\n //backspace\n case 8:\n if (this.props.value && this.props.value.length && !this.inputRef.current.value) {\n var removedValue = this.props.value[this.props.value.length - 1];\n var newValue = this.props.value.slice(0, -1);\n this.updateModel(event, newValue);\n\n if (this.props.onUnselect) {\n this.props.onUnselect({\n originalEvent: event,\n value: removedValue\n });\n }\n }\n\n break;\n }\n }\n }\n }, {\n key: \"selectHighlightItem\",\n value: function selectHighlightItem(event, item) {\n if (this.props.optionGroupLabel) {\n var optionGroup = this.props.suggestions[item.dataset.group];\n this.selectItem(event, this.getOptionGroupChildren(optionGroup)[item.dataset.index]);\n } else {\n this.selectItem(event, this.props.suggestions[DomHandler.index(item)]);\n }\n }\n }, {\n key: \"findNextItem\",\n value: function findNextItem(item) {\n var nextItem = item.nextElementSibling;\n return nextItem ? DomHandler.hasClass(nextItem, 'p-autocomplete-item-group') ? this.findNextItem(nextItem) : nextItem : null;\n }\n }, {\n key: \"findPrevItem\",\n value: function findPrevItem(item) {\n var prevItem = item.previousElementSibling;\n return prevItem ? DomHandler.hasClass(prevItem, 'p-autocomplete-item-group') ? this.findPrevItem(prevItem) : prevItem : null;\n }\n }, {\n key: \"onInputFocus\",\n value: function onInputFocus(event) {\n var _this3 = this;\n\n event.persist();\n this.setState({\n focused: true\n }, function () {\n if (_this3.props.onFocus) {\n _this3.props.onFocus(event);\n }\n });\n }\n }, {\n key: \"forceItemSelection\",\n value: function forceItemSelection(event) {\n var valid = false;\n var inputValue = event.target.value.trim();\n\n if (this.props.suggestions) {\n var _iterator = _createForOfIteratorHelper(this.props.suggestions),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var item = _step.value;\n var itemValue = this.props.field ? ObjectUtils.resolveFieldData(item, this.props.field) : item;\n\n if (itemValue && inputValue === itemValue.trim()) {\n valid = true;\n this.selectItem(event, item, true);\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n if (!valid) {\n this.inputRef.current.value = '';\n this.updateModel(event, null);\n\n if (this.props.onClear) {\n this.props.onClear(event);\n }\n }\n }\n }, {\n key: \"onInputBlur\",\n value: function onInputBlur(event) {\n var _this4 = this;\n\n event.persist();\n this.setState({\n focused: false\n }, function () {\n if (_this4.props.forceSelection) {\n _this4.forceItemSelection(event);\n }\n\n if (_this4.props.onBlur) {\n _this4.props.onBlur(event);\n }\n });\n }\n }, {\n key: \"onMultiContainerClick\",\n value: function onMultiContainerClick(event) {\n this.inputRef.current.focus();\n\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n }\n }, {\n key: \"onMultiInputFocus\",\n value: function onMultiInputFocus(event) {\n this.onInputFocus(event);\n DomHandler.addClass(this.multiContainer, 'p-focus');\n }\n }, {\n key: \"onMultiInputBlur\",\n value: function onMultiInputBlur(event) {\n this.onInputBlur(event);\n DomHandler.removeClass(this.multiContainer, 'p-focus');\n }\n }, {\n key: \"isSelected\",\n value: function isSelected(val) {\n var selected = false;\n\n if (this.props.value && this.props.value.length) {\n for (var i = 0; i < this.props.value.length; i++) {\n if (ObjectUtils.equals(this.props.value[i], val)) {\n selected = true;\n break;\n }\n }\n }\n\n return selected;\n }\n }, {\n key: \"findOptionIndex\",\n value: function findOptionIndex(option) {\n var index = -1;\n\n if (this.props.suggestions) {\n for (var i = 0; i < this.props.suggestions.length; i++) {\n if (ObjectUtils.equals(option, this.props.suggestions[i])) {\n index = i;\n break;\n }\n }\n }\n\n return index;\n }\n }, {\n key: \"getOptionGroupLabel\",\n value: function getOptionGroupLabel(optionGroup) {\n return this.props.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.props.optionGroupLabel) : optionGroup;\n }\n }, {\n key: \"getOptionGroupChildren\",\n value: function getOptionGroupChildren(optionGroup) {\n return ObjectUtils.resolveFieldData(optionGroup, this.props.optionGroupChildren);\n }\n }, {\n key: \"bindDocumentClickListener\",\n value: function bindDocumentClickListener() {\n var _this5 = this;\n\n if (!this.documentClickListener) {\n this.documentClickListener = function (event) {\n if (event.which === 3) {\n // right click\n return;\n }\n\n if (_this5.state.overlayVisible && _this5.isOutsideClicked(event)) {\n _this5.hideOverlay();\n }\n };\n\n document.addEventListener('click', this.documentClickListener);\n }\n }\n }, {\n key: \"unbindDocumentClickListener\",\n value: function unbindDocumentClickListener() {\n if (this.documentClickListener) {\n document.removeEventListener('click', this.documentClickListener);\n this.documentClickListener = null;\n }\n }\n }, {\n key: \"bindScrollListener\",\n value: function bindScrollListener() {\n var _this6 = this;\n\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.container, function () {\n if (_this6.state.overlayVisible) {\n _this6.hideOverlay();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n }, {\n key: \"unbindScrollListener\",\n value: function unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n }, {\n key: \"bindResizeListener\",\n value: function bindResizeListener() {\n var _this7 = this;\n\n if (!this.resizeListener) {\n this.resizeListener = function () {\n if (_this7.state.overlayVisible && !DomHandler.isTouchDevice()) {\n _this7.hideOverlay();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n }\n }, {\n key: \"unbindResizeListener\",\n value: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n }\n }, {\n key: \"isOutsideClicked\",\n value: function isOutsideClicked(event) {\n return this.container && this.overlayRef && this.overlayRef.current && !this.overlayRef.current.contains(event.target) && !this.isInputClicked(event);\n }\n }, {\n key: \"isInputClicked\",\n value: function isInputClicked(event) {\n if (this.props.multiple) return event.target === this.multiContainer || this.multiContainer.contains(event.target);else return event.target === this.inputRef.current;\n }\n }, {\n key: \"updateInputRef\",\n value: function updateInputRef() {\n var ref = this.props.inputRef;\n\n if (ref) {\n if (typeof ref === 'function') {\n ref(this.inputRef.current);\n } else {\n ref.current = this.inputRef.current;\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateInputRef();\n\n if (!this.state.id) {\n this.setState({\n id: UniqueComponentId()\n });\n }\n\n if (this.props.autoFocus && this.inputRef && this.inputRef.current) {\n this.inputRef.current.focus();\n }\n\n if (this.props.tooltip) {\n this.renderTooltip();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.suggestions !== this.props.suggestions && this.state.searching) {\n if (this.props.suggestions && this.props.suggestions.length) {\n this.showOverlay();\n } else {\n this.hideOverlay();\n }\n\n this.setState({\n searching: false\n });\n }\n\n if (this.inputRef && this.inputRef.current && !this.props.multiple) {\n this.updateInputField(this.props.value);\n }\n\n if (prevProps.tooltip !== this.props.tooltip || prevProps.tooltipOptions !== this.props.tooltipOptions) {\n if (this.tooltip) this.tooltip.update(_objectSpread({\n content: this.props.tooltip\n }, this.props.tooltipOptions || {}));else this.renderTooltip();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unbindDocumentClickListener();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.tooltip) {\n this.tooltip.destroy();\n this.tooltip = null;\n }\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\n ZIndexUtils.clear(this.overlayRef.current);\n }\n }, {\n key: \"renderTooltip\",\n value: function renderTooltip() {\n this.tooltip = tip({\n target: this.container,\n content: this.props.tooltip,\n options: this.props.tooltipOptions\n });\n }\n }, {\n key: \"renderSimpleAutoComplete\",\n value: function renderSimpleAutoComplete() {\n var inputClassName = classNames('p-autocomplete-input', this.props.inputClassName, {\n 'p-autocomplete-dd-input': this.props.dropdown\n });\n return /*#__PURE__*/React.createElement(InputText, {\n ref: this.inputRef,\n id: this.props.inputId,\n type: this.props.type,\n name: this.props.name,\n defaultValue: this.formatValue(this.props.value),\n role: \"searchbox\",\n \"aria-autocomplete\": \"list\",\n \"aria-controls\": this.state.id + '_list',\n \"aria-labelledby\": this.props.ariaLabelledBy,\n className: inputClassName,\n style: this.props.inputStyle,\n autoComplete: \"off\",\n readOnly: this.props.readOnly,\n disabled: this.props.disabled,\n placeholder: this.props.placeholder,\n size: this.props.size,\n maxLength: this.props.maxLength,\n tabIndex: this.props.tabIndex,\n onBlur: this.onInputBlur,\n onFocus: this.onInputFocus,\n onChange: this.onInputChange,\n onMouseDown: this.props.onMouseDown,\n onKeyUp: this.props.onKeyUp,\n onKeyDown: this.onInputKeyDown,\n onKeyPress: this.props.onKeyPress,\n onContextMenu: this.props.onContextMenu,\n onClick: this.props.onClick,\n onDoubleClick: this.props.onDblClick\n });\n }\n }, {\n key: \"renderChips\",\n value: function renderChips() {\n var _this8 = this;\n\n if (this.props.value && this.props.value.length) {\n return this.props.value.map(function (val, index) {\n return /*#__PURE__*/React.createElement(\"li\", {\n key: index + 'multi-item',\n className: \"p-autocomplete-token p-highlight\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"p-autocomplete-token-label\"\n }, _this8.formatValue(val)), !_this8.props.disabled && IconUtils.getJSXIcon(_this8.props.removeIcon, {\n className: 'p-autocomplete-token-icon',\n onClick: function onClick(e) {\n return _this8.removeItem(e, index);\n }\n }, {\n props: _this8.props\n }));\n });\n }\n\n return null;\n }\n }, {\n key: \"renderMultiInput\",\n value: function renderMultiInput() {\n return /*#__PURE__*/React.createElement(\"li\", {\n className: \"p-autocomplete-input-token\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n ref: this.inputRef,\n type: this.props.type,\n disabled: this.props.disabled,\n placeholder: this.props.placeholder,\n role: \"searchbox\",\n \"aria-autocomplete\": \"list\",\n \"aria-controls\": this.state.id + '_list',\n \"aria-labelledby\": this.props.ariaLabelledBy,\n autoComplete: \"off\",\n tabIndex: this.props.tabIndex,\n onChange: this.onInputChange,\n id: this.props.inputId,\n name: this.props.name,\n style: this.props.inputStyle,\n className: this.props.inputClassName,\n maxLength: this.props.maxLength,\n onKeyUp: this.props.onKeyUp,\n onKeyDown: this.onInputKeyDown,\n onKeyPress: this.props.onKeyPress,\n onFocus: this.onMultiInputFocus,\n onBlur: this.onMultiInputBlur\n }));\n }\n }, {\n key: \"renderMultipleAutoComplete\",\n value: function renderMultipleAutoComplete() {\n var _this9 = this;\n\n var multiContainerClass = classNames('p-autocomplete-multiple-container p-component p-inputtext', {\n 'p-disabled': this.props.disabled\n });\n var tokens = this.renderChips();\n var input = this.renderMultiInput();\n return /*#__PURE__*/React.createElement(\"ul\", {\n ref: function ref(el) {\n _this9.multiContainer = el;\n },\n className: multiContainerClass,\n onContextMenu: this.props.onContextMenu,\n onMouseDown: this.props.onMouseDown,\n onClick: this.onMultiContainerClick,\n onDoubleClick: this.props.onDblClick\n }, tokens, input);\n }\n }, {\n key: \"renderDropdown\",\n value: function renderDropdown() {\n var _this10 = this;\n\n return /*#__PURE__*/React.createElement(Button, {\n ref: function ref(el) {\n return _this10.dropdownButton = el;\n },\n type: \"button\",\n icon: this.props.dropdownIcon,\n className: \"p-autocomplete-dropdown\",\n disabled: this.props.disabled,\n onClick: this.onDropdownClick\n });\n }\n }, {\n key: \"renderLoader\",\n value: function renderLoader() {\n if (this.state.searching) {\n return /*#__PURE__*/React.createElement(\"i\", {\n className: \"p-autocomplete-loader pi pi-spinner pi-spin\"\n });\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this11 = this;\n\n var input, dropdown;\n var className = classNames('p-autocomplete p-component p-inputwrapper', this.props.className, {\n 'p-autocomplete-dd': this.props.dropdown,\n 'p-autocomplete-multiple': this.props.multiple,\n 'p-inputwrapper-filled': this.props.value,\n 'p-inputwrapper-focus': this.state.focused\n });\n var loader = this.renderLoader();\n if (this.props.multiple) input = this.renderMultipleAutoComplete();else input = this.renderSimpleAutoComplete();\n\n if (this.props.dropdown) {\n dropdown = this.renderDropdown();\n }\n\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: function ref(el) {\n return _this11.container = el;\n },\n id: this.state.id,\n style: this.props.style,\n className: className,\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": this.state.overlayVisible,\n \"aria-owns\": this.state.id + '_list'\n }, input, loader, dropdown, /*#__PURE__*/React.createElement(AutoCompletePanel, _extends({\n ref: this.overlayRef,\n virtualScrollerRef: this.virtualScrollerRef\n }, this.props, {\n listId: this.state.id + '_list',\n onItemClick: this.selectItem,\n ariaSelected: this.ariaSelected,\n onClick: this.onPanelClick,\n getOptionGroupLabel: this.getOptionGroupLabel,\n getOptionGroupChildren: this.getOptionGroupChildren,\n \"in\": this.state.overlayVisible,\n onEnter: this.onOverlayEnter,\n onEntering: this.onOverlayEntering,\n onEntered: this.onOverlayEntered,\n onExit: this.onOverlayExit,\n onExited: this.onOverlayExited\n })));\n }\n }]);\n\n return AutoComplete;\n}(Component);\n\n_defineProperty(AutoComplete, \"defaultProps\", {\n id: null,\n inputRef: null,\n value: null,\n name: null,\n type: 'text',\n suggestions: null,\n field: null,\n optionGroupLabel: null,\n optionGroupChildren: null,\n optionGroupTemplate: null,\n forceSelection: false,\n autoHighlight: false,\n virtualScrollerOptions: null,\n scrollHeight: '200px',\n dropdown: false,\n dropdownMode: 'blank',\n multiple: false,\n minLength: 1,\n delay: 300,\n style: null,\n className: null,\n inputId: null,\n inputStyle: null,\n inputClassName: null,\n panelClassName: null,\n panelStyle: null,\n placeholder: null,\n readOnly: false,\n disabled: false,\n maxLength: null,\n size: null,\n appendTo: null,\n tabIndex: null,\n autoFocus: false,\n tooltip: null,\n tooltipOptions: null,\n ariaLabelledBy: null,\n completeMethod: null,\n itemTemplate: null,\n selectedItemTemplate: null,\n transitionOptions: null,\n dropdownIcon: 'pi pi-chevron-down',\n removeIcon: 'pi pi-times-circle',\n onChange: null,\n onFocus: null,\n onBlur: null,\n onSelect: null,\n onUnselect: null,\n onDropdownClick: null,\n onClick: null,\n onDblClick: null,\n onMouseDown: null,\n onKeyUp: null,\n onKeyPress: null,\n onContextMenu: null,\n onClear: null,\n onShow: null,\n onHide: null\n});\n\nexport { AutoComplete };\n"],"mappings":"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"},"metadata":{},"sourceType":"module"} |