{"version":3,"file":"js/3540-26cf280ebc2c11e745ac.js","mappings":"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","sources":["webpack://Oneflare/./node_modules/@oneflare/flarekit/lib/utils/slugify.js","webpack://Oneflare/./node_modules/dom-scroll-into-view/index.js","webpack://Oneflare/./node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js","webpack://Oneflare/./node_modules/dom-scroll-into-view/lib/util.js","webpack://Oneflare/./node_modules/react-autocomplete/build/lib/Autocomplete.js","webpack://Oneflare/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://Oneflare/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Oneflare/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://Oneflare/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n/**\n * @Slugify, convert string to a slug\n * @param {String} string The original string\n * @return {String} The slugify string\n */\nvar _default = exports.default = function _default(string) {\n return string.toLowerCase().replace(/\\s+/g, '-').replace(/[^\\w\\-]+/g, '') // eslint-disable-line\n .replace(/\\-\\-+/g, '-') // eslint-disable-line\n .replace(/^-+/, '').replace(/-+$/, '');\n};","module.exports = require('./lib/dom-scroll-into-view');\n","var util = require('./util');\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {};\n // document 归一化到 window\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset, ch, cw, containerScroll,\n diffTop, diffBottom, win,\n winScroll, ww, wh;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n };\n // elem 相对 container 可视视窗的距离\n diffTop = {\n left: elemOffset.left - winScroll.left,\n top: elemOffset.top - winScroll.top\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww),\n top: elemOffset.top + eh - (winScroll.top + wh)\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n };\n // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n diffTop = {\n left: elemOffset.left - (containerOffset.left +\n (parseFloat(util.css(container, 'borderLeftWidth')) || 0)),\n top: elemOffset.top - (containerOffset.top +\n (parseFloat(util.css(container, 'borderTopWidth')) || 0))\n };\n diffBottom = {\n left: elemOffset.left + ew -\n (containerOffset.left + cw +\n (parseFloat(util.css(container, 'borderRightWidth')) || 0)),\n top: elemOffset.top + eh -\n (containerOffset.top + ch +\n (parseFloat(util.css(container, 'borderBottomWidth')) || 0))\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nmodule.exports = scrollIntoView;\n","var RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box, x, y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {left: x, top: y};\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n //ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n //quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\nfunction _getComputedStyle(elem, name, computedStyle) {\n var val = '';\n var d = elem.ownerDocument;\n\n // https://github.com/kissyteam/kissy/issues/61\n if ((computedStyle = (computedStyle || d.defaultView.getComputedStyle(elem, null)))) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/,\n CURRENT_STYLE = 'currentStyle',\n RUNTIME_STYLE = 'runtimeStyle',\n LEFT = 'left',\n PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style,\n left = style[LEFT],\n rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : (ret || 0);\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX;\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem),\n ret = {},\n current, key;\n\n for (key in offset) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n css(elem, ret);\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'],\n CONTENT_INDEX = -1,\n PADDING_INDEX = 2,\n BORDER_INDEX = 1,\n MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {},\n style = elem.style,\n name;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n old[name] = style[name];\n style[name] = options[name];\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n style[name] = old[name];\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0, prop, j, i;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp;\n if (prop === 'border') {\n cssProp = prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /*jshint eqeqeq:false*/\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n //firefox chrome documentElement.scrollHeight< body.scrollHeight\n //ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n //quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name],\n domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name,\n doc = win.document,\n body = doc.body,\n documentElement = doc.documentElement,\n documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp ||\n body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'],\n borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue == null || (Number(cssBoxValue)) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'],\n which, computedStyle);\n } else {\n return cssBoxValue;\n }\n } else if (borderBoxValueOrIsBorderBox) {\n return val + (extra === BORDER_INDEX ? 0 :\n (extra === PADDING_INDEX ?\n -getPBMWidth(elem, ['border'], which, computedStyle) :\n getPBMWidth(elem, ['margin'], which, computedStyle)));\n } else {\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra),\n which, computedStyle);\n }\n}\n\nvar cssShow = {position: 'absolute', visibility: 'hidden', display: 'block'};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(elem) {\n var val, args = arguments;\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction css(el, name, value) {\n if (typeof name === 'object') {\n for (var i in name) {\n css(el, i, name[i]);\n }\n return;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = value + 'px';\n }\n el.style[name] = value;\n } else {\n return getComputedStyleX(el, name);\n }\n}\n\nfunction mix(to, from) {\n for (var i in from) {\n to[i] = from[i];\n }\n return to;\n}\n\nvar utils = module.exports = {\n getWindow: function (node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function (el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function (obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n return ret;\n },\n mix: mix,\n scrollLeft: function (w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n } else {\n window.scrollTo(v, getScrollTop(w));\n }\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n } else {\n w.scrollLeft = v;\n }\n }\n },\n scrollTop: function (w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n } else {\n window.scrollTo(getScrollLeft(w), v);\n }\n } else {\n if (v === undefined) {\n return w.scrollTop;\n } else {\n w.scrollTop = v;\n }\n }\n },\n merge: function () {\n var ret = {};\n for (var i = 0; i < arguments.length; i++) {\n utils.mix(ret, arguments[i]);\n }\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\n\nmix(utils, domUtils);\n","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar React = require('react');\nvar PropTypes = require('prop-types');\n\nvar _require = require('react-dom'),\n findDOMNode = _require.findDOMNode;\n\nvar scrollIntoView = require('dom-scroll-into-view');\n\nvar IMPERATIVE_API = ['blur', 'checkValidity', 'click', 'focus', 'select', 'setCustomValidity', 'setSelectionRange', 'setRangeText'];\n\nfunction getScrollOffset() {\n return {\n x: window.pageXOffset !== undefined ? window.pageXOffset : (document.documentElement || document.body.parentNode || document.body).scrollLeft,\n y: window.pageYOffset !== undefined ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop\n };\n}\n\nvar Autocomplete = function (_React$Component) {\n _inherits(Autocomplete, _React$Component);\n\n function Autocomplete(props) {\n _classCallCheck(this, Autocomplete);\n\n var _this = _possibleConstructorReturn(this, (Autocomplete.__proto__ || Object.getPrototypeOf(Autocomplete)).call(this, props));\n\n _this.state = {\n isOpen: false,\n highlightedIndex: null\n };\n _this._debugStates = [];\n _this.ensureHighlightedIndex = _this.ensureHighlightedIndex.bind(_this);\n _this.exposeAPI = _this.exposeAPI.bind(_this);\n _this.handleInputFocus = _this.handleInputFocus.bind(_this);\n _this.handleInputBlur = _this.handleInputBlur.bind(_this);\n _this.handleChange = _this.handleChange.bind(_this);\n _this.handleKeyDown = _this.handleKeyDown.bind(_this);\n _this.handleInputClick = _this.handleInputClick.bind(_this);\n _this.maybeAutoCompleteText = _this.maybeAutoCompleteText.bind(_this);\n return _this;\n }\n\n _createClass(Autocomplete, [{\n key: 'componentWillMount',\n value: function componentWillMount() {\n // this.refs is frozen, so we need to assign a new object to it\n this.refs = {};\n this._ignoreBlur = false;\n this._ignoreFocus = false;\n this._scrollOffset = null;\n this._scrollTimer = null;\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n clearTimeout(this._scrollTimer);\n this._scrollTimer = null;\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (this.state.highlightedIndex !== null) {\n this.setState(this.ensureHighlightedIndex);\n }\n if (nextProps.autoHighlight && (this.props.value !== nextProps.value || this.state.highlightedIndex === null)) {\n this.setState(this.maybeAutoCompleteText);\n }\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.isOpen()) {\n this.setMenuPositions();\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n if (this.state.isOpen && !prevState.isOpen || 'open' in this.props && this.props.open && !prevProps.open) this.setMenuPositions();\n\n this.maybeScrollItemIntoView();\n if (prevState.isOpen !== this.state.isOpen) {\n this.props.onMenuVisibilityChange(this.state.isOpen);\n }\n }\n }, {\n key: 'exposeAPI',\n value: function exposeAPI(el) {\n var _this2 = this;\n\n this.refs.input = el;\n IMPERATIVE_API.forEach(function (ev) {\n return _this2[ev] = el && el[ev] && el[ev].bind(el);\n });\n }\n }, {\n key: 'maybeScrollItemIntoView',\n value: function maybeScrollItemIntoView() {\n if (this.isOpen() && this.state.highlightedIndex !== null) {\n var itemNode = this.refs['item-' + this.state.highlightedIndex];\n var menuNode = this.refs.menu;\n scrollIntoView(findDOMNode(itemNode), findDOMNode(menuNode), { onlyScrollIfNeeded: true });\n }\n }\n }, {\n key: 'handleKeyDown',\n value: function handleKeyDown(event) {\n if (Autocomplete.keyDownHandlers[event.key]) Autocomplete.keyDownHandlers[event.key].call(this, event);else if (!this.isOpen()) {\n this.setState({\n isOpen: true\n });\n }\n }\n }, {\n key: 'handleChange',\n value: function handleChange(event) {\n this.props.onChange(event, event.target.value);\n }\n }, {\n key: 'getFilteredItems',\n value: function getFilteredItems(props) {\n var items = props.items;\n\n if (props.shouldItemRender) {\n items = items.filter(function (item) {\n return props.shouldItemRender(item, props.value);\n });\n }\n\n if (props.sortItems) {\n items.sort(function (a, b) {\n return props.sortItems(a, b, props.value);\n });\n }\n\n return items;\n }\n }, {\n key: 'maybeAutoCompleteText',\n value: function maybeAutoCompleteText(state, props) {\n var highlightedIndex = state.highlightedIndex;\n var value = props.value,\n getItemValue = props.getItemValue;\n\n var index = highlightedIndex === null ? 0 : highlightedIndex;\n var items = this.getFilteredItems(props);\n for (var i = 0; i < items.length; i++) {\n if (props.isItemSelectable(items[index])) break;\n index = (index + 1) % items.length;\n }\n var matchedItem = items[index] && props.isItemSelectable(items[index]) ? items[index] : null;\n if (value !== '' && matchedItem) {\n var itemValue = getItemValue(matchedItem);\n var itemValueDoesMatch = itemValue.toLowerCase().indexOf(value.toLowerCase()) === 0;\n if (itemValueDoesMatch) {\n return { highlightedIndex: index };\n }\n }\n return { highlightedIndex: null };\n }\n }, {\n key: 'ensureHighlightedIndex',\n value: function ensureHighlightedIndex(state, props) {\n if (state.highlightedIndex >= this.getFilteredItems(props).length) {\n return { highlightedIndex: null };\n }\n }\n }, {\n key: 'setMenuPositions',\n value: function setMenuPositions() {\n var node = this.refs.input;\n var rect = node.getBoundingClientRect();\n var computedStyle = global.window.getComputedStyle(node);\n var marginBottom = parseInt(computedStyle.marginBottom, 10) || 0;\n var marginLeft = parseInt(computedStyle.marginLeft, 10) || 0;\n var marginRight = parseInt(computedStyle.marginRight, 10) || 0;\n this.setState({\n menuTop: rect.bottom + marginBottom,\n menuLeft: rect.left + marginLeft,\n menuWidth: rect.width + marginLeft + marginRight\n });\n }\n }, {\n key: 'highlightItemFromMouse',\n value: function highlightItemFromMouse(index) {\n this.setState({ highlightedIndex: index });\n }\n }, {\n key: 'selectItemFromMouse',\n value: function selectItemFromMouse(item) {\n var _this3 = this;\n\n var value = this.props.getItemValue(item);\n // The menu will de-render before a mouseLeave event\n // happens. Clear the flag to release control over focus\n this.setIgnoreBlur(false);\n this.setState({\n isOpen: false,\n highlightedIndex: null\n }, function () {\n _this3.props.onSelect(value, item);\n });\n }\n }, {\n key: 'setIgnoreBlur',\n value: function setIgnoreBlur(ignore) {\n this._ignoreBlur = ignore;\n }\n }, {\n key: 'renderMenu',\n value: function renderMenu() {\n var _this4 = this;\n\n var items = this.getFilteredItems(this.props).map(function (item, index) {\n var element = _this4.props.renderItem(item, _this4.state.highlightedIndex === index, { cursor: 'default' });\n return React.cloneElement(element, {\n onMouseEnter: _this4.props.isItemSelectable(item) ? function () {\n return _this4.highlightItemFromMouse(index);\n } : null,\n onClick: _this4.props.isItemSelectable(item) ? function () {\n return _this4.selectItemFromMouse(item);\n } : null,\n ref: function ref(e) {\n return _this4.refs['item-' + index] = e;\n }\n });\n });\n var style = {\n left: this.state.menuLeft,\n top: this.state.menuTop,\n minWidth: this.state.menuWidth\n };\n var menu = this.props.renderMenu(items, this.props.value, style);\n return React.cloneElement(menu, {\n ref: function ref(e) {\n return _this4.refs.menu = e;\n },\n // Ignore blur to prevent menu from de-rendering before we can process click\n onTouchStart: function onTouchStart() {\n return _this4.setIgnoreBlur(true);\n },\n onMouseEnter: function onMouseEnter() {\n return _this4.setIgnoreBlur(true);\n },\n onMouseLeave: function onMouseLeave() {\n return _this4.setIgnoreBlur(false);\n }\n });\n }\n }, {\n key: 'handleInputBlur',\n value: function handleInputBlur(event) {\n var _this5 = this;\n\n if (this._ignoreBlur) {\n this._ignoreFocus = true;\n this._scrollOffset = getScrollOffset();\n this.refs.input.focus();\n return;\n }\n var setStateCallback = void 0;\n var highlightedIndex = this.state.highlightedIndex;\n\n if (this.props.selectOnBlur && highlightedIndex !== null) {\n var items = this.getFilteredItems(this.props);\n var item = items[highlightedIndex];\n var value = this.props.getItemValue(item);\n setStateCallback = function setStateCallback() {\n return _this5.props.onSelect(value, item);\n };\n }\n this.setState({\n isOpen: false,\n highlightedIndex: null\n }, setStateCallback);\n var onBlur = this.props.inputProps.onBlur;\n\n if (onBlur) {\n onBlur(event);\n }\n }\n }, {\n key: 'handleInputFocus',\n value: function handleInputFocus(event) {\n var _this6 = this;\n\n if (this._ignoreFocus) {\n this._ignoreFocus = false;\n var _scrollOffset = this._scrollOffset,\n x = _scrollOffset.x,\n y = _scrollOffset.y;\n\n this._scrollOffset = null;\n // Focus will cause the browser to scroll the into view.\n // This can cause the mouse coords to change, which in turn\n // could cause a new highlight to happen, cancelling the click\n // event (when selecting with the mouse)\n window.scrollTo(x, y);\n // Some browsers wait until all focus event handlers have been\n // processed before scrolling the into view, so let's\n // scroll again on the next tick to ensure we're back to where\n // the user was before focus was lost. We could do the deferred\n // scroll only, but that causes a jarring split second jump in\n // some browsers that scroll before the focus event handlers\n // are triggered.\n clearTimeout(this._scrollTimer);\n this._scrollTimer = setTimeout(function () {\n _this6._scrollTimer = null;\n window.scrollTo(x, y);\n }, 0);\n return;\n }\n this.setState({ isOpen: true });\n var onFocus = this.props.inputProps.onFocus;\n\n if (onFocus) {\n onFocus(event);\n }\n }\n }, {\n key: 'isInputFocused',\n value: function isInputFocused() {\n var el = this.refs.input;\n return el.ownerDocument && el === el.ownerDocument.activeElement;\n }\n }, {\n key: 'handleInputClick',\n value: function handleInputClick() {\n // Input will not be focused if it's disabled\n if (this.isInputFocused() && !this.isOpen()) this.setState({ isOpen: true });\n }\n }, {\n key: 'composeEventHandlers',\n value: function composeEventHandlers(internal, external) {\n return external ? function (e) {\n internal(e);external(e);\n } : internal;\n }\n }, {\n key: 'isOpen',\n value: function isOpen() {\n return 'open' in this.props ? this.props.open : this.state.isOpen;\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.props.debug) {\n // you don't like it, you love it\n this._debugStates.push({\n id: this._debugStates.length,\n state: this.state\n });\n }\n\n var inputProps = this.props.inputProps;\n\n var open = this.isOpen();\n return React.createElement(\n 'div',\n _extends({ style: _extends({}, this.props.wrapperStyle) }, this.props.wrapperProps),\n this.props.renderInput(_extends({}, inputProps, {\n role: 'combobox',\n 'aria-autocomplete': 'list',\n 'aria-expanded': open,\n autoComplete: 'off',\n ref: this.exposeAPI,\n onFocus: this.handleInputFocus,\n onBlur: this.handleInputBlur,\n onChange: this.handleChange,\n onKeyDown: this.composeEventHandlers(this.handleKeyDown, inputProps.onKeyDown),\n onClick: this.composeEventHandlers(this.handleInputClick, inputProps.onClick),\n value: this.props.value\n })),\n open && this.renderMenu(),\n this.props.debug && React.createElement(\n 'pre',\n { style: { marginLeft: 300 } },\n JSON.stringify(this._debugStates.slice(Math.max(0, this._debugStates.length - 5), this._debugStates.length), null, 2)\n )\n );\n }\n }]);\n\n return Autocomplete;\n}(React.Component);\n\nAutocomplete.propTypes = {\n /**\n * The items to display in the dropdown menu\n */\n items: PropTypes.array.isRequired,\n /**\n * The value to display in the input field\n */\n value: PropTypes.any,\n /**\n * Arguments: `event: Event, value: String`\n *\n * Invoked every time the user changes the input's value.\n */\n onChange: PropTypes.func,\n /**\n * Arguments: `value: String, item: Any`\n *\n * Invoked when the user selects an item from the dropdown menu.\n */\n onSelect: PropTypes.func,\n /**\n * Arguments: `item: Any, value: String`\n *\n * Invoked for each entry in `items` and its return value is used to\n * determine whether or not it should be displayed in the dropdown menu.\n * By default all items are always rendered.\n */\n shouldItemRender: PropTypes.func,\n /**\n * Arguments: `item: Any`\n *\n * Invoked when attempting to select an item. The return value is used to\n * determine whether the item should be selectable or not.\n * By default all items are selectable.\n */\n isItemSelectable: PropTypes.func,\n /**\n * Arguments: `itemA: Any, itemB: Any, value: String`\n *\n * The function which is used to sort `items` before display.\n */\n sortItems: PropTypes.func,\n /**\n * Arguments: `item: Any`\n *\n * Used to read the display value from each entry in `items`.\n */\n getItemValue: PropTypes.func.isRequired,\n /**\n * Arguments: `item: Any, isHighlighted: Boolean, styles: Object`\n *\n * Invoked for each entry in `items` that also passes `shouldItemRender` to\n * generate the render tree for each item in the dropdown menu. `styles` is\n * an optional set of styles that can be applied to improve the look/feel\n * of the items in the dropdown menu.\n */\n renderItem: PropTypes.func.isRequired,\n /**\n * Arguments: `items: Array, value: String, styles: Object`\n *\n * Invoked to generate the render tree for the dropdown menu. Ensure the\n * returned tree includes every entry in `items` or else the highlight order\n * and keyboard navigation logic will break. `styles` will contain\n * { top, left, minWidth } which are the coordinates of the top-left corner\n * and the width of the dropdown menu.\n */\n renderMenu: PropTypes.func,\n /**\n * Styles that are applied to the dropdown menu in the default `renderMenu`\n * implementation. If you override `renderMenu` and you want to use\n * `menuStyle` you must manually apply them (`this.props.menuStyle`).\n */\n menuStyle: PropTypes.object,\n /**\n * Arguments: `props: Object`\n *\n * Invoked to generate the input element. The `props` argument is the result\n * of merging `props.inputProps` with a selection of props that are required\n * both for functionality and accessibility. At the very least you need to\n * apply `props.ref` and all `props.on` event handlers. Failing to do\n * this will cause `Autocomplete` to behave unexpectedly.\n */\n renderInput: PropTypes.func,\n /**\n * Props passed to `props.renderInput`. By default these props will be\n * applied to the `` element rendered by `Autocomplete`, unless you\n * have specified a custom value for `props.renderInput`. Any properties\n * supported by `HTMLInputElement` can be specified, apart from the\n * following which are set by `Autocomplete`: value, autoComplete, role,\n * aria-autocomplete. `inputProps` is commonly used for (but not limited to)\n * placeholder, event handlers (onFocus, onBlur, etc.), autoFocus, etc..\n */\n inputProps: PropTypes.object,\n /**\n * Props that are applied to the element which wraps the `` and\n * dropdown menu elements rendered by `Autocomplete`.\n */\n wrapperProps: PropTypes.object,\n /**\n * This is a shorthand for `wrapperProps={{ style: }}`.\n * Note that `wrapperStyle` is applied before `wrapperProps`, so the latter\n * will win if it contains a `style` entry.\n */\n wrapperStyle: PropTypes.object,\n /**\n * Whether or not to automatically highlight the top match in the dropdown\n * menu.\n */\n autoHighlight: PropTypes.bool,\n /**\n * Whether or not to automatically select the highlighted item when the\n * `` loses focus.\n */\n selectOnBlur: PropTypes.bool,\n /**\n * Arguments: `isOpen: Boolean`\n *\n * Invoked every time the dropdown menu's visibility changes (i.e. every\n * time it is displayed/hidden).\n */\n onMenuVisibilityChange: PropTypes.func,\n /**\n * Used to override the internal logic which displays/hides the dropdown\n * menu. This is useful if you want to force a certain state based on your\n * UX/business logic. Use it together with `onMenuVisibilityChange` for\n * fine-grained control over the dropdown menu dynamics.\n */\n open: PropTypes.bool,\n debug: PropTypes.bool\n};\nAutocomplete.defaultProps = {\n value: '',\n wrapperProps: {},\n wrapperStyle: {\n display: 'inline-block'\n },\n inputProps: {},\n renderInput: function renderInput(props) {\n return React.createElement('input', props);\n },\n onChange: function onChange() {},\n onSelect: function onSelect() {},\n isItemSelectable: function isItemSelectable() {\n return true;\n },\n renderMenu: function renderMenu(items, value, style) {\n return React.createElement('div', { style: _extends({}, style, this.menuStyle), children: items });\n },\n\n menuStyle: {\n borderRadius: '3px',\n boxShadow: '0 2px 12px rgba(0, 0, 0, 0.1)',\n background: 'rgba(255, 255, 255, 0.9)',\n padding: '2px 0',\n fontSize: '90%',\n position: 'fixed',\n overflow: 'auto',\n maxHeight: '50%' },\n autoHighlight: true,\n selectOnBlur: false,\n onMenuVisibilityChange: function onMenuVisibilityChange() {}\n};\nAutocomplete.keyDownHandlers = {\n ArrowDown: function ArrowDown(event) {\n event.preventDefault();\n var items = this.getFilteredItems(this.props);\n if (!items.length) return;\n var highlightedIndex = this.state.highlightedIndex;\n\n var index = highlightedIndex === null ? -1 : highlightedIndex;\n for (var i = 0; i < items.length; i++) {\n var p = (index + i + 1) % items.length;\n if (this.props.isItemSelectable(items[p])) {\n index = p;\n break;\n }\n }\n if (index > -1 && index !== highlightedIndex) {\n this.setState({\n highlightedIndex: index,\n isOpen: true\n });\n }\n },\n ArrowUp: function ArrowUp(event) {\n event.preventDefault();\n var items = this.getFilteredItems(this.props);\n if (!items.length) return;\n var highlightedIndex = this.state.highlightedIndex;\n\n var index = highlightedIndex === null ? items.length : highlightedIndex;\n for (var i = 0; i < items.length; i++) {\n var p = (index - (1 + i) + items.length) % items.length;\n if (this.props.isItemSelectable(items[p])) {\n index = p;\n break;\n }\n }\n if (index !== items.length) {\n this.setState({\n highlightedIndex: index,\n isOpen: true\n });\n }\n },\n Enter: function Enter(event) {\n var _this7 = this;\n\n // Key code 229 is used for selecting items from character selectors (Pinyin, Kana, etc)\n if (event.keyCode !== 13) return;\n // In case the user is currently hovering over the menu\n this.setIgnoreBlur(false);\n if (!this.isOpen()) {\n // menu is closed so there is no selection to accept -> do nothing\n return;\n } else if (this.state.highlightedIndex == null) {\n // input has focus but no menu item is selected + enter is hit -> close the menu, highlight whatever's in input\n this.setState({\n isOpen: false\n }, function () {\n _this7.refs.input.select();\n });\n } else {\n // text entered + menu item has been highlighted + enter is hit -> update value to that of selected menu item, close the menu\n event.preventDefault();\n var item = this.getFilteredItems(this.props)[this.state.highlightedIndex];\n var value = this.props.getItemValue(item);\n this.setState({\n isOpen: false,\n highlightedIndex: null\n }, function () {\n //this.refs.input.focus() // TODO: file issue\n _this7.refs.input.setSelectionRange(value.length, value.length);\n _this7.props.onSelect(value, item);\n });\n }\n },\n Escape: function Escape() {\n // In case the user is currently hovering over the menu\n this.setIgnoreBlur(false);\n this.setState({\n highlightedIndex: null,\n isOpen: false\n });\n },\n Tab: function Tab() {\n // In case the user is currently hovering over the menu\n this.setIgnoreBlur(false);\n }\n};\n\n\nmodule.exports = Autocomplete;","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };"],"names":["exports","string","toLowerCase","replace","module","util","elem","container","config","nodeType","getWindow","allowHorizontalScroll","onlyScrollIfNeeded","alignWithTop","alignWithLeft","undefined","containerOffset","ch","cw","containerScroll","diffTop","diffBottom","win","winScroll","ww","wh","isWin","isWindow","elemOffset","offset","eh","outerHeight","ew","outerWidth","height","width","left","scrollLeft","top","scrollTop","clientHeight","clientWidth","parseFloat","css","getScroll","w","ret","method","d","document","documentElement","body","getScrollLeft","getScrollTop","getOffset","el","pos","box","x","y","doc","ownerDocument","docElem","getBoundingClientRect","clientLeft","clientTop","getClientPosition","defaultView","parentWindow","getComputedStyleX","_RE_NUM_NO_PX","RegExp","source","RE_POS","CURRENT_STYLE","RUNTIME_STYLE","LEFT","each","arr","fn","i","length","isBorderBoxFn","window","getComputedStyle","name","computedStyle","val","getPropertyValue","test","style","rsLeft","pixelLeft","BOX_MODELS","CONTENT_INDEX","PADDING_INDEX","BORDER_INDEX","getPBMWidth","props","which","prop","j","value","cssProp","obj","domUtils","getWH","extra","viewportWidth","viewportHeight","docWidth","docHeight","borderBoxValue","offsetWidth","offsetHeight","isBorderBox","cssBoxValue","Number","borderBoxValueOrIsBorderBox","slice","refWin","Math","max","documentElementProp","compatMode","cssShow","position","visibility","display","getWHIgnoreDisplay","args","arguments","apply","options","callback","old","call","swap","mix","to","from","first","charAt","toUpperCase","includeMargin","utils","node","current","key","setOffset","clone","overflow","v","scrollTo","merge","_extends","Object","assign","target","prototype","hasOwnProperty","_createClass","defineProperties","descriptor","enumerable","configurable","writable","defineProperty","Constructor","protoProps","staticProps","React","PropTypes","findDOMNode","scrollIntoView","IMPERATIVE_API","Autocomplete","_React$Component","instance","TypeError","_classCallCheck","this","_this","self","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","state","isOpen","highlightedIndex","_debugStates","ensureHighlightedIndex","bind","exposeAPI","handleInputFocus","handleInputBlur","handleChange","handleKeyDown","handleInputClick","maybeAutoCompleteText","subClass","superClass","create","constructor","setPrototypeOf","_inherits","refs","_ignoreBlur","_ignoreFocus","_scrollOffset","_scrollTimer","clearTimeout","nextProps","setState","autoHighlight","setMenuPositions","prevProps","prevState","open","maybeScrollItemIntoView","onMenuVisibilityChange","_this2","input","forEach","ev","itemNode","menuNode","menu","event","keyDownHandlers","onChange","items","shouldItemRender","filter","item","sortItems","sort","a","b","getItemValue","index","getFilteredItems","isItemSelectable","matchedItem","indexOf","rect","g","marginBottom","parseInt","marginLeft","marginRight","menuTop","bottom","menuLeft","menuWidth","_this3","setIgnoreBlur","onSelect","ignore","_this4","map","element","renderItem","cursor","cloneElement","onMouseEnter","highlightItemFromMouse","onClick","selectItemFromMouse","ref","e","minWidth","renderMenu","onTouchStart","onMouseLeave","_this5","pageXOffset","parentNode","pageYOffset","focus","setStateCallback","selectOnBlur","onBlur","inputProps","_this6","setTimeout","onFocus","activeElement","isInputFocused","internal","external","debug","push","id","createElement","wrapperStyle","wrapperProps","renderInput","role","autoComplete","onKeyDown","composeEventHandlers","JSON","stringify","Component","propTypes","array","isRequired","any","func","menuStyle","object","bool","defaultProps","children","borderRadius","boxShadow","background","padding","fontSize","maxHeight","ArrowDown","preventDefault","p","ArrowUp","Enter","_this7","keyCode","select","setSelectionRange","Escape","Tab","asyncGeneratorStep","n","t","r","o","c","u","done","Promise","resolve","then","_asyncToGenerator","_next","_throw","_getPrototypeOf"],"sourceRoot":""}