{"version":3,"file":"defaultVendors-node_modules_blueprintjs_select_lib_esm_common_classes_js-node_modules_bluepri-af9f81.09d231c615711d53.prod.js","mappings":"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","sources":["webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/lib/esm/common/classes.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/utils/compareUtils.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/abstractComponent2.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/lib/esm/common/listItemsProps.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/lib/esm/common/listItemsUtils.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/lib/esm/components/query-list/queryList.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/lib/esm/common/itemListRenderer.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/alignment.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/classes.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/elevation.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/intent.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/errors.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/keys.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/position.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/props.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/utils/functionUtils.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/utils/jsUtils.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/utils/safeInvokeMember.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/configureDom4.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/refs.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/utils/reactUtils.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/icon/icon.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/abstractPureComponent2.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/spinner/spinner.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/button/abstractButton.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/button/buttons.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/forms/asyncControllableInput.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/forms/inputGroup.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/html/html.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/menu/menuDivider.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/portal/portal.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/overlay/overlay.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/utils/freeze.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/utils/element.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/utils/global.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/utils/process.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/utils/scheduler.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/ResizeObservation.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","webpack://aurora-new-frontend/./node_modules/@juggle/resize-observer/lib/ResizeObserver.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/resize-sensor/resizeSensor.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/tooltip/tooltip.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/popover/popperUtils.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/popover/popoverArrow.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/popover/popoverMigrationUtils.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/popover/popover.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/common/utils/domUtils.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/text/text.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/menu/menuItem.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/lib/esm/components/menu/menu.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/@blueprintjs/core/node_modules/tslib/tslib.es6.js","webpack://aurora-new-frontend/./node_modules/@blueprintjs/select/node_modules/tslib/tslib.es6.js","webpack://aurora-new-frontend/./packages/lead-capture/src/utils/image-matcher.tsx","webpack://aurora-new-frontend/./packages/lead-capture/src/shared-components/image.tsx"],"sourcesContent":["/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Classes } from \"@blueprintjs/core\";\nvar NS = Classes.getClassNamespace();\nexport var MULTISELECT = NS + \"-multi-select\";\nexport var MULTISELECT_POPOVER = MULTISELECT + \"-popover\";\nexport var MULTISELECT_TAG_INPUT_INPUT = MULTISELECT + \"-tag-input-input\";\nexport var OMNIBAR = NS + \"-omnibar\";\nexport var OMNIBAR_OVERLAY = OMNIBAR + \"-overlay\";\nexport var SELECT = NS + \"-select\";\nexport var SELECT_POPOVER = SELECT + \"-popover\";\n//# sourceMappingURL=classes.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint-enable deprecation/deprecation */\n/**\n * Returns true if the arrays are equal. Elements will be shallowly compared by\n * default, or they will be compared using the custom `compare` function if one\n * is provided.\n */\nexport function arraysEqual(arrA, arrB, compare) {\n if (compare === void 0) { compare = function (a, b) { return a === b; }; }\n // treat `null` and `undefined` as the same\n if (arrA == null && arrB == null) {\n return true;\n }\n else if (arrA == null || arrB == null || arrA.length !== arrB.length) {\n return false;\n }\n else {\n return arrA.every(function (a, i) { return compare(a, arrB[i]); });\n }\n}\n/**\n * Shallow comparison between objects. If `keys` is provided, just that subset\n * of keys will be compared; otherwise, all keys will be compared.\n *\n * @returns true if items are equal.\n */\nexport function shallowCompareKeys(objA, objB, keys) {\n // treat `null` and `undefined` as the same\n if (objA == null && objB == null) {\n return true;\n }\n else if (objA == null || objB == null) {\n return false;\n }\n else if (Array.isArray(objA) || Array.isArray(objB)) {\n return false;\n }\n else if (keys != null) {\n return shallowCompareKeysImpl(objA, objB, keys);\n }\n else {\n // shallowly compare all keys from both objects\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n return (shallowCompareKeysImpl(objA, objB, { include: keysA }) &&\n shallowCompareKeysImpl(objA, objB, { include: keysB }));\n }\n}\n/**\n * Deep comparison between objects. If `keys` is provided, just that subset of\n * keys will be compared; otherwise, all keys will be compared.\n *\n * @returns true if items are equal.\n */\nexport function deepCompareKeys(objA, objB, keys) {\n if (objA === objB) {\n return true;\n }\n else if (objA == null && objB == null) {\n // treat `null` and `undefined` as the same\n return true;\n }\n else if (objA == null || objB == null) {\n return false;\n }\n else if (Array.isArray(objA) || Array.isArray(objB)) {\n return arraysEqual(objA, objB, deepCompareKeys);\n }\n else if (isSimplePrimitiveType(objA) || isSimplePrimitiveType(objB)) {\n return objA === objB;\n }\n else if (keys != null) {\n return deepCompareKeysImpl(objA, objB, keys);\n }\n else if (objA.constructor !== objB.constructor) {\n return false;\n }\n else {\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA == null || keysB == null) {\n return false;\n }\n if (keysA.length === 0 && keysB.length === 0) {\n return true;\n }\n return arraysEqual(keysA, keysB) && deepCompareKeysImpl(objA, objB, keysA);\n }\n}\n/**\n * Returns a descriptive object for each key whose values are deeply unequal\n * between two provided objects. Useful for debugging shouldComponentUpdate.\n */\nexport function getDeepUnequalKeyValues(objA, objB, keys) {\n if (objA === void 0) { objA = {}; }\n if (objB === void 0) { objB = {}; }\n var filteredKeys = keys == null ? unionKeys(objA, objB) : keys;\n return getUnequalKeyValues(objA, objB, filteredKeys, function (a, b, key) {\n return deepCompareKeys(a, b, [key]);\n });\n}\n// Private helpers\n// ===============\n/**\n * Partial shallow comparison between objects using the given list of keys.\n */\nfunction shallowCompareKeysImpl(objA, objB, keys) {\n return filterKeys(objA, objB, keys).every(function (key) {\n return objA.hasOwnProperty(key) === objB.hasOwnProperty(key) && objA[key] === objB[key];\n });\n}\n/**\n * Partial deep comparison between objects using the given list of keys.\n */\nfunction deepCompareKeysImpl(objA, objB, keys) {\n return keys.every(function (key) {\n return objA.hasOwnProperty(key) === objB.hasOwnProperty(key) && deepCompareKeys(objA[key], objB[key]);\n });\n}\nfunction isSimplePrimitiveType(value) {\n return typeof value === \"number\" || typeof value === \"string\" || typeof value === \"boolean\";\n}\nfunction filterKeys(objA, objB, keys) {\n if (isAllowlist(keys)) {\n return keys.include;\n }\n else if (isDenylist(keys)) {\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n // merge keys from both objects into a big set for quick access\n var keySet_1 = arrayToObject(keysA.concat(keysB));\n // delete denied keys from the key set\n keys.exclude.forEach(function (key) { return delete keySet_1[key]; });\n // return the remaining keys as an array\n return Object.keys(keySet_1);\n }\n return [];\n}\nfunction isAllowlist(keys) {\n return keys != null && keys.include != null;\n}\nfunction isDenylist(keys) {\n return keys != null && keys.exclude != null;\n}\nfunction arrayToObject(arr) {\n return arr.reduce(function (obj, element) {\n obj[element] = true;\n return obj;\n }, {});\n}\nfunction getUnequalKeyValues(objA, objB, keys, compareFn) {\n var unequalKeys = keys.filter(function (key) { return !compareFn(objA, objB, key); });\n var unequalKeyValues = unequalKeys.map(function (key) { return ({\n key: key,\n valueA: objA[key],\n valueB: objB[key],\n }); });\n return unequalKeyValues;\n}\nfunction unionKeys(objA, objB) {\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n var concatKeys = keysA.concat(keysB);\n var keySet = arrayToObject(concatKeys);\n return Object.keys(keySet);\n}\n//# sourceMappingURL=compareUtils.js.map","/*\n * Copyright 2019 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __extends } from \"tslib\";\nimport * as React from \"react\";\nimport { isNodeEnv } from \"./utils\";\n/**\n * An abstract component that Blueprint components can extend\n * in order to add some common functionality like runtime props validation.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nvar AbstractComponent2 = /** @class */ (function (_super) {\n __extends(AbstractComponent2, _super);\n function AbstractComponent2(props, context) {\n var _this = _super.call(this, props, context) || this;\n // Not bothering to remove entries when their timeouts finish because clearing invalid ID is a no-op\n _this.timeoutIds = [];\n _this.requestIds = [];\n /**\n * Clear all known timeouts.\n */\n _this.clearTimeouts = function () {\n if (_this.timeoutIds.length > 0) {\n for (var _i = 0, _a = _this.timeoutIds; _i < _a.length; _i++) {\n var timeoutId = _a[_i];\n window.clearTimeout(timeoutId);\n }\n _this.timeoutIds = [];\n }\n };\n /**\n * Clear all known animation frame requests.\n */\n _this.cancelAnimationFrames = function () {\n if (_this.requestIds.length > 0) {\n for (var _i = 0, _a = _this.requestIds; _i < _a.length; _i++) {\n var requestId = _a[_i];\n window.cancelAnimationFrame(requestId);\n }\n _this.requestIds = [];\n }\n };\n if (!isNodeEnv(\"production\")) {\n _this.validateProps(_this.props);\n }\n return _this;\n }\n AbstractComponent2.prototype.componentDidUpdate = function (_prevProps, _prevState, _snapshot) {\n if (!isNodeEnv(\"production\")) {\n this.validateProps(this.props);\n }\n };\n AbstractComponent2.prototype.componentWillUnmount = function () {\n this.clearTimeouts();\n this.cancelAnimationFrames();\n };\n /**\n * Request an animation frame and remember its ID.\n * All pending requests will be canceled when component unmounts.\n *\n * @returns a \"cancel\" function that will cancel the request when invoked.\n */\n AbstractComponent2.prototype.requestAnimationFrame = function (callback) {\n var handle = window.requestAnimationFrame(callback);\n this.requestIds.push(handle);\n return function () { return window.cancelAnimationFrame(handle); };\n };\n /**\n * Set a timeout and remember its ID.\n * All stored timeouts will be cleared when component unmounts.\n *\n * @returns a \"cancel\" function that will clear timeout when invoked.\n */\n AbstractComponent2.prototype.setTimeout = function (callback, timeout) {\n var handle = window.setTimeout(callback, timeout);\n this.timeoutIds.push(handle);\n return function () { return window.clearTimeout(handle); };\n };\n /**\n * Ensures that the props specified for a component are valid.\n * Implementations should check that props are valid and usually throw an Error if they are not.\n * Implementations should not duplicate checks that the type system already guarantees.\n *\n * This method should be used instead of React's\n * [propTypes](https://facebook.github.io/react/docs/reusable-components.html#prop-validation) feature.\n * Like propTypes, these runtime checks run only in development mode.\n */\n AbstractComponent2.prototype.validateProps = function (_props) {\n // implement in subclass\n };\n return AbstractComponent2;\n}(React.Component));\nexport { AbstractComponent2 };\n//# sourceMappingURL=abstractComponent2.js.map","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Utils } from \"@blueprintjs/core\";\n/**\n * Utility function for executing the {@link IListItemsProps#itemsEqual} prop to test\n * for equality between two items.\n * @return `true` if the two items are equivalent according to `itemsEqualProp`.\n */\nexport function executeItemsEqual(itemsEqualProp, itemA, itemB) {\n // Use strict equality if:\n // A) Default equality check is necessary because itemsEqualProp is undefined.\n // OR\n // B) Either item is null/undefined. Note that null represents \"no item\", while\n // undefined represents an uncontrolled prop. This strict equality check ensures\n // nothing will ever be considered equivalent to an uncontrolled prop.\n if (itemsEqualProp === undefined || itemA == null || itemB == null) {\n return itemA === itemB;\n }\n if (Utils.isFunction(itemsEqualProp)) {\n // itemsEqualProp is an equality comparator function, so use it\n return itemsEqualProp(itemA, itemB);\n }\n else {\n // itemsEqualProp is a property name, so strictly compare the values of the property.\n return itemA[itemsEqualProp] === itemB[itemsEqualProp];\n }\n}\n//# sourceMappingURL=listItemsProps.js.map","/*!\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/** Returns an instance of a \"Create Item\" object. */\nexport function getCreateNewItem() {\n return { __blueprintCreateNewItemBrand: \"blueprint-create-new-item\" };\n}\n/**\n * Type guard returning `true` if the provided item (e.g. the current\n * `activeItem`) is a \"Create Item\" option.\n */\nexport function isCreateNewItem(item) {\n if (item == null) {\n return false;\n }\n // see if the provided item exactly matches the `ICreateNewItem` object,\n // with no superfluous keys.\n var keys = Object.keys(item);\n if (keys.length !== 1 || keys[0] !== \"__blueprintCreateNewItemBrand\") {\n return false;\n }\n return item.__blueprintCreateNewItemBrand === \"blueprint-create-new-item\";\n}\n/**\n * Returns the type of the the current active item. This will be a no-op unless\n * the `activeItem` is `undefined` or a \"Create Item\" option, in which case\n * `null` will be returned instead.\n */\nexport function getActiveItem(activeItem) {\n return activeItem == null || isCreateNewItem(activeItem) ? null : activeItem;\n}\n//# sourceMappingURL=listItemsUtils.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends, __rest } from \"tslib\";\nimport * as React from \"react\";\nimport { AbstractComponent2, DISPLAYNAME_PREFIX, Keys, Menu, Utils } from \"@blueprintjs/core\";\nimport { executeItemsEqual, getActiveItem, getCreateNewItem, isCreateNewItem, renderFilteredItems, } from \"../../common\";\nvar QueryList = /** @class */ (function (_super) {\n __extends(QueryList, _super);\n function QueryList(props, context) {\n var _a;\n var _this = _super.call(this, props, context) || this;\n _this.refHandlers = {\n itemsParent: function (ref) { return (_this.itemsParentRef = ref); },\n };\n /**\n * Flag indicating that we should check whether selected item is in viewport\n * after rendering, typically because of keyboard change. Set to `true` when\n * manipulating state in a way that may cause active item to scroll away.\n */\n _this.shouldCheckActiveItemInViewport = false;\n /**\n * The item that we expect to be the next selected active item (based on click\n * or key interactions). When scrollToActiveItem = false, used to detect if\n * an unexpected external change to the active item has been made.\n */\n _this.expectedNextActiveItem = null;\n /** default `itemListRenderer` implementation */\n _this.renderItemList = function (listProps) {\n var _a = _this.props, initialContent = _a.initialContent, noResults = _a.noResults;\n // omit noResults if createNewItemFromQuery and createNewItemRenderer are both supplied, and query is not empty\n var maybeNoResults = _this.isCreateItemRendered() ? null : noResults;\n var menuContent = renderFilteredItems(listProps, maybeNoResults, initialContent);\n var createItemView = _this.isCreateItemRendered() ? _this.renderCreateItemMenuItem(_this.state.query) : null;\n if (menuContent == null && createItemView == null) {\n return null;\n }\n return (React.createElement(Menu, { ulRef: listProps.itemsParentRef },\n menuContent,\n createItemView));\n };\n /** wrapper around `itemRenderer` to inject props */\n _this.renderItem = function (item, index) {\n if (_this.props.disabled !== true) {\n var _a = _this.state, activeItem = _a.activeItem, query = _a.query;\n var matchesPredicate = _this.state.filteredItems.indexOf(item) >= 0;\n var modifiers = {\n active: executeItemsEqual(_this.props.itemsEqual, getActiveItem(activeItem), item),\n disabled: isItemDisabled(item, index, _this.props.itemDisabled),\n matchesPredicate: matchesPredicate,\n };\n return _this.props.itemRenderer(item, {\n handleClick: function (e) { return _this.handleItemSelect(item, e); },\n index: index,\n modifiers: modifiers,\n query: query,\n });\n }\n return null;\n };\n _this.renderCreateItemMenuItem = function (query) {\n var activeItem = _this.state.activeItem;\n var handleClick = function (evt) {\n _this.handleItemCreate(query, evt);\n };\n var isActive = isCreateNewItem(activeItem);\n return Utils.safeInvoke(_this.props.createNewItemRenderer, query, isActive, handleClick);\n };\n _this.handleItemCreate = function (query, evt) {\n // we keep a cached createNewItem in state, but might as well recompute\n // the result just to be sure it's perfectly in sync with the query.\n var item = Utils.safeInvoke(_this.props.createNewItemFromQuery, query);\n if (item != null) {\n Utils.safeInvoke(_this.props.onItemSelect, item, evt);\n _this.setQuery(\"\", true);\n }\n };\n _this.handleItemSelect = function (item, event) {\n _this.setActiveItem(item);\n Utils.safeInvoke(_this.props.onItemSelect, item, event);\n if (_this.props.resetOnSelect) {\n _this.setQuery(\"\", true);\n }\n };\n _this.handlePaste = function (queries) {\n var _a = _this.props, createNewItemFromQuery = _a.createNewItemFromQuery, onItemsPaste = _a.onItemsPaste;\n var nextActiveItem;\n var nextQueries = [];\n // Find an exising item that exactly matches each pasted value, or\n // create a new item if possible. Ignore unmatched values if creating\n // items is disabled.\n var pastedItemsToEmit = [];\n for (var _i = 0, queries_1 = queries; _i < queries_1.length; _i++) {\n var query = queries_1[_i];\n var equalItem = getMatchingItem(query, _this.props);\n if (equalItem !== undefined) {\n nextActiveItem = equalItem;\n pastedItemsToEmit.push(equalItem);\n }\n else if (_this.canCreateItems()) {\n var newItem = Utils.safeInvoke(createNewItemFromQuery, query);\n if (newItem !== undefined) {\n pastedItemsToEmit.push(newItem);\n }\n }\n else {\n nextQueries.push(query);\n }\n }\n // UX nicety: combine all unmatched queries into a single\n // comma-separated query in the input, so we don't lose any information.\n // And don't reset the active item; we'll do that ourselves below.\n _this.setQuery(nextQueries.join(\", \"), false);\n // UX nicety: update the active item if we matched with at least one\n // existing item.\n if (nextActiveItem !== undefined) {\n _this.setActiveItem(nextActiveItem);\n }\n Utils.safeInvoke(onItemsPaste, pastedItemsToEmit);\n };\n _this.handleKeyDown = function (event) {\n var keyCode = event.keyCode;\n if (keyCode === Keys.ARROW_UP || keyCode === Keys.ARROW_DOWN) {\n event.preventDefault();\n var nextActiveItem = _this.getNextActiveItem(keyCode === Keys.ARROW_UP ? -1 : 1);\n if (nextActiveItem != null) {\n _this.setActiveItem(nextActiveItem);\n }\n }\n Utils.safeInvoke(_this.props.onKeyDown, event);\n };\n _this.handleKeyUp = function (event) {\n var onKeyUp = _this.props.onKeyUp;\n var activeItem = _this.state.activeItem;\n // using keyup for enter to play nice with Button's keyboard clicking.\n // if we were to process enter on keydown, then Button would click itself on keyup\n // and the popvoer would re-open out of our control :(.\n if (event.keyCode === Keys.ENTER) {\n event.preventDefault();\n if (activeItem == null || isCreateNewItem(activeItem)) {\n _this.handleItemCreate(_this.state.query, event);\n }\n else {\n _this.handleItemSelect(activeItem, event);\n }\n }\n Utils.safeInvoke(onKeyUp, event);\n };\n _this.handleQueryChange = function (event) {\n var query = event == null ? \"\" : event.target.value;\n _this.setQuery(query);\n Utils.safeInvoke(_this.props.onQueryChange, query, event);\n };\n var _b = props.query, query = _b === void 0 ? \"\" : _b;\n var createNewItem = Utils.safeInvoke(props.createNewItemFromQuery, query);\n var filteredItems = getFilteredItems(query, props);\n _this.state = {\n activeItem: props.activeItem !== undefined\n ? props.activeItem\n : (_a = props.initialActiveItem, (_a !== null && _a !== void 0 ? _a : getFirstEnabledItem(filteredItems, props.itemDisabled))),\n createNewItem: createNewItem,\n filteredItems: filteredItems,\n query: query,\n };\n return _this;\n }\n QueryList.ofType = function () {\n return QueryList;\n };\n QueryList.prototype.render = function () {\n var _a = this.props, className = _a.className, items = _a.items, renderer = _a.renderer, _b = _a.itemListRenderer, itemListRenderer = _b === void 0 ? this.renderItemList : _b;\n var _c = this.state, createNewItem = _c.createNewItem, spreadableState = __rest(_c, [\"createNewItem\"]);\n return renderer(__assign(__assign({}, spreadableState), { className: className, handleItemSelect: this.handleItemSelect, handleKeyDown: this.handleKeyDown, handleKeyUp: this.handleKeyUp, handlePaste: this.handlePaste, handleQueryChange: this.handleQueryChange, itemList: itemListRenderer(__assign(__assign({}, spreadableState), { items: items, itemsParentRef: this.refHandlers.itemsParent, renderItem: this.renderItem })) }));\n };\n QueryList.prototype.componentDidUpdate = function (prevProps) {\n var _this = this;\n if (this.props.activeItem !== undefined && this.props.activeItem !== this.state.activeItem) {\n this.shouldCheckActiveItemInViewport = true;\n this.setState({ activeItem: this.props.activeItem });\n }\n if (this.props.query != null && this.props.query !== prevProps.query) {\n // new query\n this.setQuery(this.props.query, this.props.resetOnQuery, this.props);\n }\n else if (\n // same query (or uncontrolled query), but items in the list changed\n !Utils.shallowCompareKeys(this.props, prevProps, {\n include: [\"items\", \"itemListPredicate\", \"itemPredicate\"],\n })) {\n this.setQuery(this.state.query);\n }\n if (this.shouldCheckActiveItemInViewport) {\n // update scroll position immediately before repaint so DOM is accurate\n // (latest filteredItems) and to avoid flicker.\n requestAnimationFrame(function () { return _this.scrollActiveItemIntoView(); });\n // reset the flag\n this.shouldCheckActiveItemInViewport = false;\n }\n };\n QueryList.prototype.scrollActiveItemIntoView = function () {\n var scrollToActiveItem = this.props.scrollToActiveItem !== false;\n var externalChangeToActiveItem = !executeItemsEqual(this.props.itemsEqual, getActiveItem(this.expectedNextActiveItem), getActiveItem(this.props.activeItem));\n this.expectedNextActiveItem = null;\n if (!scrollToActiveItem && externalChangeToActiveItem) {\n return;\n }\n var activeElement = this.getActiveElement();\n if (this.itemsParentRef != null && activeElement != null) {\n var activeTop = activeElement.offsetTop, activeHeight = activeElement.offsetHeight;\n var _a = this.itemsParentRef, parentOffsetTop = _a.offsetTop, parentScrollTop = _a.scrollTop, parentHeight = _a.clientHeight;\n // compute padding on parent element to ensure we always leave space\n var _b = this.getItemsParentPadding(), paddingTop = _b.paddingTop, paddingBottom = _b.paddingBottom;\n // compute the two edges of the active item for comparison, including parent padding\n var activeBottomEdge = activeTop + activeHeight + paddingBottom - parentOffsetTop;\n var activeTopEdge = activeTop - paddingTop - parentOffsetTop;\n if (activeBottomEdge >= parentScrollTop + parentHeight) {\n // offscreen bottom: align bottom of item with bottom of viewport\n this.itemsParentRef.scrollTop = activeBottomEdge + activeHeight - parentHeight;\n }\n else if (activeTopEdge <= parentScrollTop) {\n // offscreen top: align top of item with top of viewport\n this.itemsParentRef.scrollTop = activeTopEdge - activeHeight;\n }\n }\n };\n QueryList.prototype.setQuery = function (query, resetActiveItem, props) {\n if (resetActiveItem === void 0) { resetActiveItem = this.props.resetOnQuery; }\n if (props === void 0) { props = this.props; }\n var createNewItemFromQuery = props.createNewItemFromQuery;\n this.shouldCheckActiveItemInViewport = true;\n var hasQueryChanged = query !== this.state.query;\n if (hasQueryChanged) {\n Utils.safeInvoke(props.onQueryChange, query);\n }\n var filteredItems = getFilteredItems(query, props);\n var createNewItem = createNewItemFromQuery != null && query !== \"\" ? createNewItemFromQuery(query) : undefined;\n this.setState({ createNewItem: createNewItem, filteredItems: filteredItems, query: query });\n // always reset active item if it's now filtered or disabled\n var activeIndex = this.getActiveIndex(filteredItems);\n var shouldUpdateActiveItem = resetActiveItem ||\n activeIndex < 0 ||\n isItemDisabled(getActiveItem(this.state.activeItem), activeIndex, props.itemDisabled);\n if (shouldUpdateActiveItem) {\n this.setActiveItem(getFirstEnabledItem(filteredItems, props.itemDisabled));\n }\n };\n QueryList.prototype.setActiveItem = function (activeItem) {\n this.expectedNextActiveItem = activeItem;\n if (this.props.activeItem === undefined) {\n // indicate that the active item may need to be scrolled into view after update.\n this.shouldCheckActiveItemInViewport = true;\n this.setState({ activeItem: activeItem });\n }\n if (isCreateNewItem(activeItem)) {\n Utils.safeInvoke(this.props.onActiveItemChange, null, true);\n }\n else {\n Utils.safeInvoke(this.props.onActiveItemChange, activeItem, false);\n }\n };\n QueryList.prototype.getActiveElement = function () {\n var activeItem = this.state.activeItem;\n if (this.itemsParentRef != null) {\n if (isCreateNewItem(activeItem)) {\n return this.itemsParentRef.children.item(this.state.filteredItems.length);\n }\n else {\n var activeIndex = this.getActiveIndex();\n return this.itemsParentRef.children.item(activeIndex);\n }\n }\n return undefined;\n };\n QueryList.prototype.getActiveIndex = function (items) {\n if (items === void 0) { items = this.state.filteredItems; }\n var activeItem = this.state.activeItem;\n if (activeItem == null || isCreateNewItem(activeItem)) {\n return -1;\n }\n // NOTE: this operation is O(n) so it should be avoided in render(). safe for events though.\n for (var i = 0; i < items.length; ++i) {\n if (executeItemsEqual(this.props.itemsEqual, items[i], activeItem)) {\n return i;\n }\n }\n return -1;\n };\n QueryList.prototype.getItemsParentPadding = function () {\n // assert ref exists because it was checked before calling\n var _a = getComputedStyle(this.itemsParentRef), paddingTop = _a.paddingTop, paddingBottom = _a.paddingBottom;\n return {\n paddingBottom: pxToNumber(paddingBottom),\n paddingTop: pxToNumber(paddingTop),\n };\n };\n /**\n * Get the next enabled item, moving in the given direction from the start\n * index. A `null` return value means no suitable item was found.\n * @param direction amount to move in each iteration, typically +/-1\n * @param startIndex item to start iteration\n */\n QueryList.prototype.getNextActiveItem = function (direction, startIndex) {\n if (startIndex === void 0) { startIndex = this.getActiveIndex(); }\n if (this.isCreateItemRendered()) {\n var reachedCreate = (startIndex === 0 && direction === -1) ||\n (startIndex === this.state.filteredItems.length - 1 && direction === 1);\n if (reachedCreate) {\n return getCreateNewItem();\n }\n }\n return getFirstEnabledItem(this.state.filteredItems, this.props.itemDisabled, direction, startIndex);\n };\n QueryList.prototype.isCreateItemRendered = function () {\n return (this.canCreateItems() &&\n this.state.query !== \"\" &&\n // this check is unfortunately O(N) on the number of items, but\n // alas, hiding the \"Create Item\" option when it exactly matches an\n // existing item is much clearer.\n !this.wouldCreatedItemMatchSomeExistingItem());\n };\n QueryList.prototype.canCreateItems = function () {\n return this.props.createNewItemFromQuery != null && this.props.createNewItemRenderer != null;\n };\n QueryList.prototype.wouldCreatedItemMatchSomeExistingItem = function () {\n var _this = this;\n // search only the filtered items, not the full items list, because we\n // only need to check items that match the current query.\n return this.state.filteredItems.some(function (item) {\n return executeItemsEqual(_this.props.itemsEqual, item, _this.state.createNewItem);\n });\n };\n QueryList.displayName = DISPLAYNAME_PREFIX + \".QueryList\";\n QueryList.defaultProps = {\n disabled: false,\n resetOnQuery: true,\n };\n return QueryList;\n}(AbstractComponent2));\nexport { QueryList };\nfunction pxToNumber(value) {\n return value == null ? 0 : parseInt(value.slice(0, -2), 10);\n}\nfunction getMatchingItem(query, _a) {\n var items = _a.items, itemPredicate = _a.itemPredicate;\n if (Utils.isFunction(itemPredicate)) {\n // .find() doesn't exist in ES5. Alternative: use a for loop instead of\n // .filter() so that we can return as soon as we find the first match.\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n if (itemPredicate(query, item, i, true)) {\n return item;\n }\n }\n }\n return undefined;\n}\nfunction getFilteredItems(query, _a) {\n var items = _a.items, itemPredicate = _a.itemPredicate, itemListPredicate = _a.itemListPredicate;\n if (Utils.isFunction(itemListPredicate)) {\n // note that implementations can reorder the items here\n return itemListPredicate(query, items);\n }\n else if (Utils.isFunction(itemPredicate)) {\n return items.filter(function (item, index) { return itemPredicate(query, item, index); });\n }\n return items;\n}\n/** Wrap number around min/max values: if it exceeds one bound, return the other. */\nfunction wrapNumber(value, min, max) {\n if (value < min) {\n return max;\n }\n else if (value > max) {\n return min;\n }\n return value;\n}\nfunction isItemDisabled(item, index, itemDisabled) {\n if (itemDisabled == null || item == null) {\n return false;\n }\n else if (Utils.isFunction(itemDisabled)) {\n return itemDisabled(item, index);\n }\n return !!item[itemDisabled];\n}\n/**\n * Get the next enabled item, moving in the given direction from the start\n * index. A `null` return value means no suitable item was found.\n * @param items the list of items\n * @param itemDisabled callback to determine if a given item is disabled\n * @param direction amount to move in each iteration, typically +/-1\n * @param startIndex which index to begin moving from\n */\nexport function getFirstEnabledItem(items, itemDisabled, direction, startIndex) {\n if (direction === void 0) { direction = 1; }\n if (startIndex === void 0) { startIndex = items.length - 1; }\n if (items.length === 0) {\n return null;\n }\n // remember where we started to prevent an infinite loop\n var index = startIndex;\n var maxIndex = items.length - 1;\n do {\n // find first non-disabled item\n index = wrapNumber(index + direction, 0, maxIndex);\n if (!isItemDisabled(items[index], index, itemDisabled)) {\n return items[index];\n }\n } while (index !== startIndex && startIndex !== -1);\n return null;\n}\n//# sourceMappingURL=queryList.js.map","/*!\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * `ItemListRenderer` helper method for rendering each item in `filteredItems`,\n * with optional support for `noResults` (when filtered items is empty)\n * and `initialContent` (when query is empty).\n */\nexport function renderFilteredItems(props, noResults, initialContent) {\n if (props.query.length === 0 && initialContent !== undefined) {\n return initialContent;\n }\n var items = props.filteredItems.map(props.renderItem).filter(function (item) { return item != null; });\n return items.length > 0 ? items : noResults;\n}\n//# sourceMappingURL=itemListRenderer.js.map","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/** Alignment along the horizontal axis. */\nexport var Alignment = {\n CENTER: \"center\",\n LEFT: \"left\",\n RIGHT: \"right\",\n};\n//# sourceMappingURL=alignment.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar _a, _b, _c, _d;\nimport { Alignment } from \"./alignment\";\nimport { Elevation } from \"./elevation\";\nimport { Intent } from \"./intent\";\nimport { Position } from \"./position\";\nvar NS = \"bp3\";\nif (typeof process !== \"undefined\") {\n NS = (_d = (_b = (_a = process.env) === null || _a === void 0 ? void 0 : _a.BLUEPRINT_NAMESPACE) !== null && _b !== void 0 ? _b : (_c = process.env) === null || _c === void 0 ? void 0 : _c.REACT_APP_BLUEPRINT_NAMESPACE) !== null && _d !== void 0 ? _d : NS;\n}\n// modifiers\nexport var ACTIVE = \"\".concat(NS, \"-active\");\nexport var ALIGN_LEFT = \"\".concat(NS, \"-align-left\");\nexport var ALIGN_RIGHT = \"\".concat(NS, \"-align-right\");\nexport var DARK = \"\".concat(NS, \"-dark\");\nexport var DISABLED = \"\".concat(NS, \"-disabled\");\nexport var FILL = \"\".concat(NS, \"-fill\");\nexport var FIXED = \"\".concat(NS, \"-fixed\");\nexport var FIXED_TOP = \"\".concat(NS, \"-fixed-top\");\nexport var INLINE = \"\".concat(NS, \"-inline\");\nexport var INTERACTIVE = \"\".concat(NS, \"-interactive\");\nexport var LARGE = \"\".concat(NS, \"-large\");\nexport var LOADING = \"\".concat(NS, \"-loading\");\nexport var MINIMAL = \"\".concat(NS, \"-minimal\");\nexport var OUTLINED = \"\".concat(NS, \"-outlined\");\nexport var MULTILINE = \"\".concat(NS, \"-multiline\");\nexport var ROUND = \"\".concat(NS, \"-round\");\nexport var SMALL = \"\".concat(NS, \"-small\");\nexport var VERTICAL = \"\".concat(NS, \"-vertical\");\nexport var POSITION_TOP = positionClass(Position.TOP);\nexport var POSITION_BOTTOM = positionClass(Position.BOTTOM);\nexport var POSITION_LEFT = positionClass(Position.LEFT);\nexport var POSITION_RIGHT = positionClass(Position.RIGHT);\nexport var ELEVATION_0 = elevationClass(Elevation.ZERO);\nexport var ELEVATION_1 = elevationClass(Elevation.ONE);\nexport var ELEVATION_2 = elevationClass(Elevation.TWO);\nexport var ELEVATION_3 = elevationClass(Elevation.THREE);\nexport var ELEVATION_4 = elevationClass(Elevation.FOUR);\nexport var INTENT_PRIMARY = intentClass(Intent.PRIMARY);\nexport var INTENT_SUCCESS = intentClass(Intent.SUCCESS);\nexport var INTENT_WARNING = intentClass(Intent.WARNING);\nexport var INTENT_DANGER = intentClass(Intent.DANGER);\nexport var FOCUS_DISABLED = \"\".concat(NS, \"-focus-disabled\");\n// text utilities\nexport var UI_TEXT = \"\".concat(NS, \"-ui-text\");\nexport var RUNNING_TEXT = \"\".concat(NS, \"-running-text\");\nexport var MONOSPACE_TEXT = \"\".concat(NS, \"-monospace-text\");\nexport var TEXT_LARGE = \"\".concat(NS, \"-text-large\");\nexport var TEXT_SMALL = \"\".concat(NS, \"-text-small\");\nexport var TEXT_MUTED = \"\".concat(NS, \"-text-muted\");\nexport var TEXT_DISABLED = \"\".concat(NS, \"-text-disabled\");\nexport var TEXT_OVERFLOW_ELLIPSIS = \"\".concat(NS, \"-text-overflow-ellipsis\");\n// textual elements\nexport var BLOCKQUOTE = \"\".concat(NS, \"-blockquote\");\nexport var CODE = \"\".concat(NS, \"-code\");\nexport var CODE_BLOCK = \"\".concat(NS, \"-code-block\");\nexport var HEADING = \"\".concat(NS, \"-heading\");\nexport var LIST = \"\".concat(NS, \"-list\");\nexport var LIST_UNSTYLED = \"\".concat(NS, \"-list-unstyled\");\nexport var RTL = \"\".concat(NS, \"-rtl\");\n// layout utilities\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n * @deprecated this is no longer needed for ContextMenu2, will be removed in v4.0\n */\nexport var FIXED_POSITIONING_CONTAINING_BLOCK = \"\".concat(NS, \"-fixed-positioning-containing-block\");\n// components\nexport var ALERT = \"\".concat(NS, \"-alert\");\nexport var ALERT_BODY = \"\".concat(ALERT, \"-body\");\nexport var ALERT_CONTENTS = \"\".concat(ALERT, \"-contents\");\nexport var ALERT_FOOTER = \"\".concat(ALERT, \"-footer\");\nexport var BREADCRUMB = \"\".concat(NS, \"-breadcrumb\");\nexport var BREADCRUMB_CURRENT = \"\".concat(BREADCRUMB, \"-current\");\nexport var BREADCRUMBS = \"\".concat(BREADCRUMB, \"s\");\nexport var BREADCRUMBS_COLLAPSED = \"\".concat(BREADCRUMB, \"s-collapsed\");\nexport var BUTTON = \"\".concat(NS, \"-button\");\nexport var BUTTON_GROUP = \"\".concat(BUTTON, \"-group\");\nexport var BUTTON_SPINNER = \"\".concat(BUTTON, \"-spinner\");\nexport var BUTTON_TEXT = \"\".concat(BUTTON, \"-text\");\nexport var CALLOUT = \"\".concat(NS, \"-callout\");\nexport var CALLOUT_ICON = \"\".concat(CALLOUT, \"-icon\");\nexport var CARD = \"\".concat(NS, \"-card\");\nexport var COLLAPSE = \"\".concat(NS, \"-collapse\");\nexport var COLLAPSE_BODY = \"\".concat(COLLAPSE, \"-body\");\nexport var COLLAPSIBLE_LIST = \"\".concat(NS, \"-collapse-list\");\nexport var CONTEXT_MENU = \"\".concat(NS, \"-context-menu\");\nexport var CONTEXT_MENU_POPOVER_TARGET = \"\".concat(CONTEXT_MENU, \"-popover-target\");\nexport var CONTROL_GROUP = \"\".concat(NS, \"-control-group\");\nexport var DIALOG = \"\".concat(NS, \"-dialog\");\nexport var DIALOG_CONTAINER = \"\".concat(DIALOG, \"-container\");\nexport var DIALOG_BODY = \"\".concat(DIALOG, \"-body\");\nexport var DIALOG_CLOSE_BUTTON = \"\".concat(DIALOG, \"-close-button\");\nexport var DIALOG_FOOTER = \"\".concat(DIALOG, \"-footer\");\nexport var DIALOG_FOOTER_ACTIONS = \"\".concat(DIALOG, \"-footer-actions\");\nexport var DIALOG_HEADER = \"\".concat(DIALOG, \"-header\");\nexport var DIALOG_STEP = \"\".concat(NS, \"-dialog-step\");\nexport var DIALOG_STEP_CONTAINER = \"\".concat(DIALOG_STEP, \"-container\");\nexport var DIALOG_STEP_TITLE = \"\".concat(DIALOG_STEP, \"-title\");\nexport var DIALOG_STEP_ICON = \"\".concat(DIALOG_STEP, \"-icon\");\nexport var DIALOG_STEP_VIEWED = \"\".concat(DIALOG_STEP, \"-viewed\");\nexport var DIVIDER = \"\".concat(NS, \"-divider\");\nexport var DRAWER = \"\".concat(NS, \"-drawer\");\nexport var DRAWER_BODY = \"\".concat(DRAWER, \"-body\");\nexport var DRAWER_FOOTER = \"\".concat(DRAWER, \"-footer\");\nexport var DRAWER_HEADER = \"\".concat(DRAWER, \"-header\");\nexport var EDITABLE_TEXT = \"\".concat(NS, \"-editable-text\");\nexport var EDITABLE_TEXT_CONTENT = \"\".concat(EDITABLE_TEXT, \"-content\");\nexport var EDITABLE_TEXT_EDITING = \"\".concat(EDITABLE_TEXT, \"-editing\");\nexport var EDITABLE_TEXT_INPUT = \"\".concat(EDITABLE_TEXT, \"-input\");\nexport var EDITABLE_TEXT_PLACEHOLDER = \"\".concat(EDITABLE_TEXT, \"-placeholder\");\nexport var FLEX_EXPANDER = \"\".concat(NS, \"-flex-expander\");\nexport var HTML_SELECT = \"\".concat(NS, \"-html-select\");\n/** @deprecated prefer `` component */\nexport var SELECT = \"\".concat(NS, \"-select\");\nexport var HTML_TABLE = \"\".concat(NS, \"-html-table\");\nexport var HTML_TABLE_BORDERED = \"\".concat(HTML_TABLE, \"-bordered\");\nexport var HTML_TABLE_CONDENSED = \"\".concat(HTML_TABLE, \"-condensed\");\nexport var HTML_TABLE_STRIPED = \"\".concat(HTML_TABLE, \"-striped\");\nexport var INPUT = \"\".concat(NS, \"-input\");\nexport var INPUT_GHOST = \"\".concat(INPUT, \"-ghost\");\nexport var INPUT_GROUP = \"\".concat(INPUT, \"-group\");\nexport var INPUT_LEFT_CONTAINER = \"\".concat(INPUT, \"-left-container\");\nexport var INPUT_ACTION = \"\".concat(INPUT, \"-action\");\nexport var CONTROL = \"\".concat(NS, \"-control\");\nexport var CONTROL_INDICATOR = \"\".concat(CONTROL, \"-indicator\");\nexport var CONTROL_INDICATOR_CHILD = \"\".concat(CONTROL_INDICATOR, \"-child\");\nexport var CHECKBOX = \"\".concat(NS, \"-checkbox\");\nexport var RADIO = \"\".concat(NS, \"-radio\");\nexport var SWITCH = \"\".concat(NS, \"-switch\");\nexport var SWITCH_INNER_TEXT = \"\".concat(SWITCH, \"-inner-text\");\nexport var FILE_INPUT = \"\".concat(NS, \"-file-input\");\nexport var FILE_INPUT_HAS_SELECTION = \"\".concat(NS, \"-file-input-has-selection\");\nexport var FILE_UPLOAD_INPUT = \"\".concat(NS, \"-file-upload-input\");\nexport var FILE_UPLOAD_INPUT_CUSTOM_TEXT = \"\".concat(NS, \"-file-upload-input-custom-text\");\nexport var KEY = \"\".concat(NS, \"-key\");\nexport var KEY_COMBO = \"\".concat(KEY, \"-combo\");\nexport var MODIFIER_KEY = \"\".concat(NS, \"-modifier-key\");\nexport var HOTKEY = \"\".concat(NS, \"-hotkey\");\nexport var HOTKEY_LABEL = \"\".concat(HOTKEY, \"-label\");\nexport var HOTKEY_COLUMN = \"\".concat(HOTKEY, \"-column\");\nexport var HOTKEY_DIALOG = \"\".concat(HOTKEY, \"-dialog\");\nexport var LABEL = \"\".concat(NS, \"-label\");\nexport var FORM_GROUP = \"\".concat(NS, \"-form-group\");\nexport var FORM_CONTENT = \"\".concat(NS, \"-form-content\");\nexport var FORM_HELPER_TEXT = \"\".concat(NS, \"-form-helper-text\");\nexport var FORM_GROUP_SUB_LABEL = \"\".concat(NS, \"-form-group-sub-label\");\nexport var MENU = \"\".concat(NS, \"-menu\");\nexport var MENU_ITEM = \"\".concat(MENU, \"-item\");\nexport var MENU_ITEM_LABEL = \"\".concat(MENU_ITEM, \"-label\");\nexport var MENU_SUBMENU = \"\".concat(NS, \"-submenu\");\nexport var MENU_DIVIDER = \"\".concat(MENU, \"-divider\");\nexport var MENU_HEADER = \"\".concat(MENU, \"-header\");\nexport var MULTISTEP_DIALOG = \"\".concat(NS, \"-multistep-dialog\");\nexport var MULTISTEP_DIALOG_PANELS = \"\".concat(MULTISTEP_DIALOG, \"-panels\");\nexport var MULTISTEP_DIALOG_LEFT_PANEL = \"\".concat(MULTISTEP_DIALOG, \"-left-panel\");\nexport var MULTISTEP_DIALOG_RIGHT_PANEL = \"\".concat(MULTISTEP_DIALOG, \"-right-panel\");\nexport var MULTISTEP_DIALOG_FOOTER = \"\".concat(MULTISTEP_DIALOG, \"-footer\");\nexport var NAVBAR = \"\".concat(NS, \"-navbar\");\nexport var NAVBAR_GROUP = \"\".concat(NAVBAR, \"-group\");\nexport var NAVBAR_HEADING = \"\".concat(NAVBAR, \"-heading\");\nexport var NAVBAR_DIVIDER = \"\".concat(NAVBAR, \"-divider\");\nexport var NON_IDEAL_STATE = \"\".concat(NS, \"-non-ideal-state\");\nexport var NON_IDEAL_STATE_VISUAL = \"\".concat(NON_IDEAL_STATE, \"-visual\");\nexport var NUMERIC_INPUT = \"\".concat(NS, \"-numeric-input\");\nexport var OVERFLOW_LIST = \"\".concat(NS, \"-overflow-list\");\nexport var OVERFLOW_LIST_SPACER = \"\".concat(OVERFLOW_LIST, \"-spacer\");\nexport var OVERLAY = \"\".concat(NS, \"-overlay\");\nexport var OVERLAY_BACKDROP = \"\".concat(OVERLAY, \"-backdrop\");\nexport var OVERLAY_CONTAINER = \"\".concat(OVERLAY, \"-container\");\nexport var OVERLAY_CONTENT = \"\".concat(OVERLAY, \"-content\");\nexport var OVERLAY_INLINE = \"\".concat(OVERLAY, \"-inline\");\nexport var OVERLAY_OPEN = \"\".concat(OVERLAY, \"-open\");\nexport var OVERLAY_SCROLL_CONTAINER = \"\".concat(OVERLAY, \"-scroll-container\");\nexport var OVERLAY_START_FOCUS_TRAP = \"\".concat(OVERLAY, \"-start-focus-trap\");\nexport var OVERLAY_END_FOCUS_TRAP = \"\".concat(OVERLAY, \"-end-focus-trap\");\nexport var PANEL_STACK = \"\".concat(NS, \"-panel-stack\");\nexport var PANEL_STACK_HEADER = \"\".concat(PANEL_STACK, \"-header\");\nexport var PANEL_STACK_HEADER_BACK = \"\".concat(PANEL_STACK, \"-header-back\");\nexport var PANEL_STACK_VIEW = \"\".concat(PANEL_STACK, \"-view\");\nexport var PANEL_STACK2 = \"\".concat(NS, \"-panel-stack2\");\nexport var PANEL_STACK2_HEADER = \"\".concat(PANEL_STACK, \"-header\");\nexport var PANEL_STACK2_HEADER_BACK = \"\".concat(PANEL_STACK, \"-header-back\");\nexport var PANEL_STACK2_VIEW = \"\".concat(PANEL_STACK, \"-view\");\nexport var POPOVER = \"\".concat(NS, \"-popover\");\nexport var POPOVER_ARROW = \"\".concat(POPOVER, \"-arrow\");\nexport var POPOVER_BACKDROP = \"\".concat(POPOVER, \"-backdrop\");\nexport var POPOVER_CAPTURING_DISMISS = \"\".concat(POPOVER, \"-capturing-dismiss\");\nexport var POPOVER_CONTENT = \"\".concat(POPOVER, \"-content\");\nexport var POPOVER_CONTENT_SIZING = \"\".concat(POPOVER_CONTENT, \"-sizing\");\nexport var POPOVER_DISMISS = \"\".concat(POPOVER, \"-dismiss\");\nexport var POPOVER_DISMISS_OVERRIDE = \"\".concat(POPOVER_DISMISS, \"-override\");\nexport var POPOVER_OPEN = \"\".concat(POPOVER, \"-open\");\nexport var POPOVER_OUT_OF_BOUNDARIES = \"\".concat(POPOVER, \"-out-of-boundaries\");\nexport var POPOVER_TARGET = \"\".concat(POPOVER, \"-target\");\nexport var POPOVER_WRAPPER = \"\".concat(POPOVER, \"-wrapper\");\nexport var TRANSITION_CONTAINER = \"\".concat(NS, \"-transition-container\");\nexport var PROGRESS_BAR = \"\".concat(NS, \"-progress-bar\");\nexport var PROGRESS_METER = \"\".concat(NS, \"-progress-meter\");\nexport var PROGRESS_NO_STRIPES = \"\".concat(NS, \"-no-stripes\");\nexport var PROGRESS_NO_ANIMATION = \"\".concat(NS, \"-no-animation\");\nexport var PORTAL = \"\".concat(NS, \"-portal\");\nexport var SKELETON = \"\".concat(NS, \"-skeleton\");\nexport var SLIDER = \"\".concat(NS, \"-slider\");\nexport var SLIDER_AXIS = \"\".concat(SLIDER, \"-axis\");\nexport var SLIDER_HANDLE = \"\".concat(SLIDER, \"-handle\");\nexport var SLIDER_LABEL = \"\".concat(SLIDER, \"-label\");\nexport var SLIDER_TRACK = \"\".concat(SLIDER, \"-track\");\nexport var SLIDER_PROGRESS = \"\".concat(SLIDER, \"-progress\");\nexport var START = \"\".concat(NS, \"-start\");\nexport var END = \"\".concat(NS, \"-end\");\nexport var SPINNER = \"\".concat(NS, \"-spinner\");\nexport var SPINNER_ANIMATION = \"\".concat(SPINNER, \"-animation\");\nexport var SPINNER_HEAD = \"\".concat(SPINNER, \"-head\");\nexport var SPINNER_NO_SPIN = \"\".concat(NS, \"-no-spin\");\nexport var SPINNER_TRACK = \"\".concat(SPINNER, \"-track\");\nexport var TAB = \"\".concat(NS, \"-tab\");\nexport var TAB_INDICATOR = \"\".concat(TAB, \"-indicator\");\nexport var TAB_INDICATOR_WRAPPER = \"\".concat(TAB_INDICATOR, \"-wrapper\");\nexport var TAB_LIST = \"\".concat(TAB, \"-list\");\nexport var TAB_PANEL = \"\".concat(TAB, \"-panel\");\nexport var TABS = \"\".concat(TAB, \"s\");\nexport var TAG = \"\".concat(NS, \"-tag\");\nexport var TAG_REMOVE = \"\".concat(TAG, \"-remove\");\nexport var TAG_INPUT = \"\".concat(NS, \"-tag-input\");\nexport var TAG_INPUT_ICON = \"\".concat(TAG_INPUT, \"-icon\");\nexport var TAG_INPUT_VALUES = \"\".concat(TAG_INPUT, \"-values\");\nexport var TOAST = \"\".concat(NS, \"-toast\");\nexport var TOAST_CONTAINER = \"\".concat(TOAST, \"-container\");\nexport var TOAST_MESSAGE = \"\".concat(TOAST, \"-message\");\nexport var TOOLTIP = \"\".concat(NS, \"-tooltip\");\nexport var TOOLTIP_INDICATOR = \"\".concat(TOOLTIP, \"-indicator\");\nexport var TREE = \"\".concat(NS, \"-tree\");\nexport var TREE_NODE = \"\".concat(NS, \"-tree-node\");\nexport var TREE_NODE_CARET = \"\".concat(TREE_NODE, \"-caret\");\nexport var TREE_NODE_CARET_CLOSED = \"\".concat(TREE_NODE_CARET, \"-closed\");\nexport var TREE_NODE_CARET_NONE = \"\".concat(TREE_NODE_CARET, \"-none\");\nexport var TREE_NODE_CARET_OPEN = \"\".concat(TREE_NODE_CARET, \"-open\");\nexport var TREE_NODE_CONTENT = \"\".concat(TREE_NODE, \"-content\");\nexport var TREE_NODE_EXPANDED = \"\".concat(TREE_NODE, \"-expanded\");\nexport var TREE_NODE_ICON = \"\".concat(TREE_NODE, \"-icon\");\nexport var TREE_NODE_LABEL = \"\".concat(TREE_NODE, \"-label\");\nexport var TREE_NODE_LIST = \"\".concat(TREE_NODE, \"-list\");\nexport var TREE_NODE_SECONDARY_LABEL = \"\".concat(TREE_NODE, \"-secondary-label\");\nexport var TREE_NODE_SELECTED = \"\".concat(TREE_NODE, \"-selected\");\nexport var TREE_ROOT = \"\".concat(NS, \"-tree-root\");\nexport var ICON = \"\".concat(NS, \"-icon\");\n/** @deprecated use components and iconName prop APIs instead */\nexport var ICON_STANDARD = \"\".concat(ICON, \"-standard\");\n/** @deprecated use components and iconName prop APIs instead */\nexport var ICON_LARGE = \"\".concat(ICON, \"-large\");\n/**\n * Returns the namespace prefix for all Blueprint CSS classes.\n * Customize this namespace at build time with the `process.env.BLUEPRINT_NAMESPACE` environment variable.\n */\nexport function getClassNamespace() {\n return NS;\n}\n/** Return CSS class for alignment. */\nexport function alignmentClass(alignment) {\n switch (alignment) {\n case Alignment.LEFT:\n return ALIGN_LEFT;\n case Alignment.RIGHT:\n return ALIGN_RIGHT;\n default:\n return undefined;\n }\n}\nexport function elevationClass(elevation) {\n if (elevation === undefined) {\n return undefined;\n }\n return \"\".concat(NS, \"-elevation-\").concat(elevation);\n}\nexport function iconClass(iconName) {\n if (iconName == null) {\n return undefined;\n }\n return iconName.indexOf(\"\".concat(NS, \"-icon-\")) === 0 ? iconName : \"\".concat(NS, \"-icon-\").concat(iconName);\n}\nexport function intentClass(intent) {\n if (intent == null || intent === Intent.NONE) {\n return undefined;\n }\n return \"\".concat(NS, \"-intent-\").concat(intent.toLowerCase());\n}\nexport function positionClass(position) {\n if (position === undefined) {\n return undefined;\n }\n return \"\".concat(NS, \"-position-\").concat(position);\n}\n//# sourceMappingURL=classes.js.map","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// tslint:disable:object-literal-sort-keys\nexport var Elevation = {\n ZERO: 0,\n ONE: 1,\n TWO: 2,\n THREE: 3,\n FOUR: 4,\n};\n//# sourceMappingURL=elevation.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// tslint:disable:object-literal-sort-keys\n/**\n * The four basic intents.\n */\nexport var Intent = {\n NONE: \"none\",\n PRIMARY: \"primary\",\n SUCCESS: \"success\",\n WARNING: \"warning\",\n DANGER: \"danger\",\n};\n//# sourceMappingURL=intent.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar ns = \"[Blueprint]\";\nexport var CLAMP_MIN_MAX = ns + \" clamp: max cannot be less than min\";\nexport var ALERT_WARN_CANCEL_PROPS = ns + \" cancelButtonText and onCancel should be set together.\";\nexport var ALERT_WARN_CANCEL_ESCAPE_KEY = ns + \" canEscapeKeyCancel enabled without onCancel or onClose handler.\";\nexport var ALERT_WARN_CANCEL_OUTSIDE_CLICK = ns + \" canOutsideClickCancel enabled without onCancel or onClose handler.\";\nexport var COLLAPSIBLE_LIST_INVALID_CHILD = ns + \" children must be s\";\nexport var CONTEXTMENU_WARN_DECORATOR_NO_METHOD = ns + \" @ContextMenuTarget-decorated class should implement renderContextMenu.\";\nexport var CONTEXTMENU_WARN_DECORATOR_NEEDS_REACT_ELEMENT = ns + \" \\\"@ContextMenuTarget-decorated components must return a single JSX.Element or an empty render.\";\nexport var HOTKEYS_HOTKEY_CHILDREN = ns + \" only accepts children.\";\nexport var HOTKEYS_WARN_DECORATOR_NO_METHOD = ns + \" @HotkeysTarget-decorated class should implement renderHotkeys.\";\nexport var HOTKEYS_WARN_DECORATOR_NEEDS_REACT_ELEMENT = ns + \" \\\"@HotkeysTarget-decorated components must return a single JSX.Element or an empty render.\";\nexport var HOTKEYS_TARGET2_CHILDREN_LOCAL_HOTKEYS = ns +\n \" was configured with local hotkeys, but you did not use the generated event handlers to bind their event handlers. Try using a render function as the child of this component.\";\nexport var INPUT_WARN_LEFT_ELEMENT_LEFT_ICON_MUTEX = ns + \" leftElement and leftIcon prop are mutually exclusive, with leftElement taking priority.\";\nexport var NUMERIC_INPUT_MIN_MAX = ns + \" requires min to be no greater than max if both are defined.\";\nexport var NUMERIC_INPUT_MINOR_STEP_SIZE_BOUND = ns + \" requires minorStepSize to be no greater than stepSize.\";\nexport var NUMERIC_INPUT_MAJOR_STEP_SIZE_BOUND = ns + \" requires stepSize to be no greater than majorStepSize.\";\nexport var NUMERIC_INPUT_MINOR_STEP_SIZE_NON_POSITIVE = ns + \" requires minorStepSize to be strictly greater than zero.\";\nexport var NUMERIC_INPUT_MAJOR_STEP_SIZE_NON_POSITIVE = ns + \" requires majorStepSize to be strictly greater than zero.\";\nexport var NUMERIC_INPUT_STEP_SIZE_NON_POSITIVE = ns + \" requires stepSize to be strictly greater than zero.\";\nexport var NUMERIC_INPUT_CONTROLLED_VALUE_INVALID = ns + \" controlled value prop does not adhere to stepSize, min, and/or max constraints.\";\nexport var PANEL_STACK_INITIAL_PANEL_STACK_MUTEX = ns + \" requires exactly one of initialPanel and stack prop\";\nexport var PANEL_STACK_REQUIRES_PANEL = ns + \" requires at least one panel in the stack\";\nexport var OVERFLOW_LIST_OBSERVE_PARENTS_CHANGED = ns + \" does not support changing observeParents after mounting.\";\nexport var POPOVER_REQUIRES_TARGET = ns + \" requires target prop or at least one child element.\";\nexport var POPOVER_HAS_BACKDROP_INTERACTION = ns + \" requires interactionKind={PopoverInteractionKind.CLICK}.\";\nexport var POPOVER_WARN_TOO_MANY_CHILDREN = ns +\n \" supports one or two children; additional children are ignored.\" +\n \" First child is the target, second child is the content. You may instead supply these two as props.\";\nexport var POPOVER_WARN_DOUBLE_CONTENT = ns + \" with two children ignores content prop; use either prop or children.\";\nexport var POPOVER_WARN_DOUBLE_TARGET = ns + \" with children ignores target prop; use either prop or children.\";\nexport var POPOVER_WARN_EMPTY_CONTENT = ns + \" Disabling with empty/whitespace content...\";\nexport var POPOVER_WARN_HAS_BACKDROP_INLINE = ns + \" ignores hasBackdrop\";\nexport var POPOVER_WARN_PLACEMENT_AND_POSITION_MUTEX = ns + \" supports either placement or position prop, not both.\";\nexport var POPOVER_WARN_UNCONTROLLED_ONINTERACTION = ns + \" onInteraction is ignored when uncontrolled.\";\nexport var PORTAL_CONTEXT_CLASS_NAME_STRING = ns + \" context blueprintPortalClassName must be string\";\nexport var RADIOGROUP_WARN_CHILDREN_OPTIONS_MUTEX = ns + \" children and options prop are mutually exclusive, with options taking priority.\";\nexport var SLIDER_ZERO_STEP = ns + \" stepSize must be greater than zero.\";\nexport var SLIDER_ZERO_LABEL_STEP = ns + \" labelStepSize must be greater than zero.\";\nexport var RANGESLIDER_NULL_VALUE = ns + \" value prop must be an array of two non-null numbers.\";\nexport var MULTISLIDER_INVALID_CHILD = ns + \" children must be s or s\";\nexport var MULTISLIDER_WARN_LABEL_STEP_SIZE_LABEL_VALUES_MUTEX = ns +\n \" labelStepSize and labelValues prop are mutually exclusive, with labelStepSize taking priority.\";\nexport var SPINNER_WARN_CLASSES_SIZE = ns + \" Classes.SMALL/LARGE are ignored if size prop is set.\";\nexport var TOASTER_CREATE_NULL = ns +\n \" Toaster.create() is not supported inside React lifecycle methods in React 16.\" +\n \" See usage example on the docs site.\";\nexport var TOASTER_WARN_INLINE = ns + \" Toaster.create() ignores inline prop as it always creates a new element.\";\nexport var DIALOG_WARN_NO_HEADER_ICON = ns + \" iconName is ignored if title is omitted.\";\nexport var DIALOG_WARN_NO_HEADER_CLOSE_BUTTON = ns + \" isCloseButtonShown prop is ignored if title is omitted.\";\nexport var DRAWER_VERTICAL_IS_IGNORED = ns + \" vertical is ignored if position is defined\";\nexport var DRAWER_ANGLE_POSITIONS_ARE_CASTED = ns + \" all angle positions are casted into pure position (TOP, BOTTOM, LEFT or RIGHT)\";\nexport var TOASTER_MAX_TOASTS_INVALID = ns + \" maxToasts is set to an invalid number, must be greater than 0\";\n//# sourceMappingURL=errors.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport var BACKSPACE = 8;\nexport var TAB = 9;\nexport var ENTER = 13;\nexport var SHIFT = 16;\nexport var ESCAPE = 27;\nexport var SPACE = 32;\nexport var ARROW_LEFT = 37;\nexport var ARROW_UP = 38;\nexport var ARROW_RIGHT = 39;\nexport var ARROW_DOWN = 40;\nexport var DELETE = 46;\n/** Returns whether the key code is `enter` or `space`, the two keys that can click a button. */\nexport function isKeyboardClick(keyCode) {\n return keyCode === ENTER || keyCode === SPACE;\n}\n//# sourceMappingURL=keys.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport var Position = {\n BOTTOM: \"bottom\",\n BOTTOM_LEFT: \"bottom-left\",\n BOTTOM_RIGHT: \"bottom-right\",\n LEFT: \"left\",\n LEFT_BOTTOM: \"left-bottom\",\n LEFT_TOP: \"left-top\",\n RIGHT: \"right\",\n RIGHT_BOTTOM: \"right-bottom\",\n RIGHT_TOP: \"right-top\",\n TOP: \"top\",\n TOP_LEFT: \"top-left\",\n TOP_RIGHT: \"top-right\",\n};\nexport function isPositionHorizontal(position) {\n /* istanbul ignore next */\n return (position === Position.TOP ||\n position === Position.TOP_LEFT ||\n position === Position.TOP_RIGHT ||\n position === Position.BOTTOM ||\n position === Position.BOTTOM_LEFT ||\n position === Position.BOTTOM_RIGHT);\n}\nexport function isPositionVertical(position) {\n /* istanbul ignore next */\n return (position === Position.LEFT ||\n position === Position.LEFT_TOP ||\n position === Position.LEFT_BOTTOM ||\n position === Position.RIGHT ||\n position === Position.RIGHT_TOP ||\n position === Position.RIGHT_BOTTOM);\n}\nexport function getPositionIgnoreAngles(position) {\n if (position === Position.TOP || position === Position.TOP_LEFT || position === Position.TOP_RIGHT) {\n return Position.TOP;\n }\n else if (position === Position.BOTTOM ||\n position === Position.BOTTOM_LEFT ||\n position === Position.BOTTOM_RIGHT) {\n return Position.BOTTOM;\n }\n else if (position === Position.LEFT || position === Position.LEFT_TOP || position === Position.LEFT_BOTTOM) {\n return Position.LEFT;\n }\n else {\n return Position.RIGHT;\n }\n}\n//# sourceMappingURL=position.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nexport var DISPLAYNAME_PREFIX = \"Blueprint3\";\n/** A collection of curated prop keys used across our Components which are not valid HTMLElement props. */\nvar INVALID_PROPS = [\n \"active\",\n \"alignText\",\n \"asyncControl\",\n \"containerRef\",\n \"current\",\n \"elementRef\",\n \"fill\",\n \"icon\",\n \"inputRef\",\n \"intent\",\n \"inline\",\n \"large\",\n \"loading\",\n \"leftElement\",\n \"leftIcon\",\n \"minimal\",\n \"onRemove\",\n \"outlined\",\n \"panel\",\n \"panelClassName\",\n \"popoverProps\",\n \"rightElement\",\n \"rightIcon\",\n \"round\",\n \"small\",\n \"text\",\n];\n/**\n * Typically applied to HTMLElements to filter out disallowed props. When applied to a Component,\n * can filter props from being passed down to the children. Can also filter by a combined list of\n * supplied prop keys and the denylist (only appropriate for HTMLElements).\n *\n * @param props The original props object to filter down.\n * @param {string[]} invalidProps If supplied, overwrites the default denylist.\n * @param {boolean} shouldMerge If true, will merge supplied invalidProps and denylist together.\n */\nexport function removeNonHTMLProps(props, invalidProps, shouldMerge) {\n if (invalidProps === void 0) { invalidProps = INVALID_PROPS; }\n if (shouldMerge === void 0) { shouldMerge = false; }\n if (shouldMerge) {\n invalidProps = invalidProps.concat(INVALID_PROPS);\n }\n return invalidProps.reduce(function (prev, curr) {\n // Props with hyphens (e.g. data-*) are always considered html props\n if (curr.indexOf(\"-\") !== -1) {\n return prev;\n }\n if (prev.hasOwnProperty(curr)) {\n delete prev[curr];\n }\n return prev;\n }, __assign({}, props));\n}\n//# sourceMappingURL=props.js.map","/*\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/** Returns whether the value is a function. Acts as a type guard. */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isFunction(value) {\n return typeof value === \"function\";\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function safeInvoke(func) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (isFunction(func)) {\n return func.apply(void 0, args);\n }\n return undefined;\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function safeInvokeOrValue(funcOrValue) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return isFunction(funcOrValue) ? funcOrValue.apply(void 0, args) : funcOrValue;\n}\n//# sourceMappingURL=functionUtils.js.map","/*\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CLAMP_MIN_MAX } from \"../errors\";\n/** Returns whether `process.env.NODE_ENV` exists and equals `env`. */\nexport function isNodeEnv(env) {\n return typeof process !== \"undefined\" && process.env && process.env.NODE_ENV === env;\n}\n/**\n * Returns the difference in length between two arrays. A `null` argument is\n * considered an empty list. The return value will be positive if `a` is longer\n * than `b`, negative if the opposite is true, and zero if their lengths are\n * equal.\n */\nexport function arrayLengthCompare(a, b) {\n if (a === void 0) { a = []; }\n if (b === void 0) { b = []; }\n return a.length - b.length;\n}\n/**\n * Returns true if the two numbers are within the given tolerance of each other.\n * This is useful to correct for floating point precision issues, less useful\n * for integers.\n */\nexport function approxEqual(a, b, tolerance) {\n if (tolerance === void 0) { tolerance = 0.00001; }\n return Math.abs(a - b) <= tolerance;\n}\n/**\n * Clamps the given number between min and max values. Returns value if within\n * range, or closest bound.\n */\nexport function clamp(val, min, max) {\n if (val == null) {\n return val;\n }\n if (max < min) {\n throw new Error(CLAMP_MIN_MAX);\n }\n return Math.min(Math.max(val, min), max);\n}\n/** Returns the number of decimal places in the given number. */\nexport function countDecimalPlaces(num) {\n if (!isFinite(num)) {\n return 0;\n }\n var e = 1;\n var p = 0;\n while (Math.round(num * e) / e !== num) {\n e *= 10;\n p++;\n }\n return p;\n}\nvar uniqueCountForNamespace = new Map();\n/** Generate a unique ID within a given namespace, using a simple counter-based implementation to avoid collisions. */\nexport function uniqueId(namespace) {\n var _a;\n var curCount = (_a = uniqueCountForNamespace.get(namespace)) !== null && _a !== void 0 ? _a : 0;\n uniqueCountForNamespace.set(namespace, curCount + 1);\n return \"\".concat(namespace, \"-\").concat(curCount);\n}\n//# sourceMappingURL=jsUtils.js.map","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { isFunction } from \"./functionUtils\";\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function safeInvokeMember(obj, key) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n if (obj != null) {\n var member = obj[key];\n if (isFunction(member)) {\n return member.apply(void 0, args);\n }\n }\n return undefined;\n}\n//# sourceMappingURL=safeInvokeMember.js.map","/*\n * Copyright 2019 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nif (typeof require !== \"undefined\" && typeof window !== \"undefined\" && typeof document !== \"undefined\") {\n // we're in browser\n require(\"dom4\"); // only import actual dom4 if we're in the browser (not server-compatible)\n // we'll still need dom4 types for the TypeScript to compile, these are included in package.json\n}\nexport {};\n//# sourceMappingURL=configureDom4.js.map","/*\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport function isRefObject(value) {\n return value != null && typeof value !== \"function\";\n}\nexport function isRefCallback(value) {\n return typeof value === \"function\";\n}\n/**\n * Assign the given ref to a target, either a React ref object or a callback which takes the ref as its first argument.\n */\nexport function setRef(refTarget, ref) {\n if (isRefObject(refTarget)) {\n refTarget.current = ref;\n }\n else if (isRefCallback(refTarget)) {\n refTarget(ref);\n }\n}\n/** @deprecated use mergeRefs() instead */\nexport function combineRefs(ref1, ref2) {\n return mergeRefs(ref1, ref2);\n}\n/**\n * Utility for merging refs into one singular callback ref.\n * If using in a functional component, would recomend using `useMemo` to preserve function identity.\n */\nexport function mergeRefs() {\n var refs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n refs[_i] = arguments[_i];\n }\n return function (value) {\n refs.forEach(function (ref) {\n setRef(ref, value);\n });\n };\n}\nexport function getRef(ref) {\n var _a;\n if (ref === null) {\n return null;\n }\n return (_a = ref.current) !== null && _a !== void 0 ? _a : ref;\n}\n/**\n * Creates a ref handler which assigns the ref returned by React for a mounted component to a field on the target object.\n * The target object is usually a component class.\n *\n * If provided, it will also update the given `refProp` with the value of the ref.\n */\nexport function refHandler(refTargetParent, refTargetKey, refProp) {\n return function (ref) {\n refTargetParent[refTargetKey] = ref;\n setRef(refProp, ref);\n };\n}\n//# sourceMappingURL=refs.js.map","/*\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport * as React from \"react\";\n/**\n * Returns true if `node` is null/undefined, false, empty string, or an array\n * composed of those. If `node` is an array, only one level of the array is\n * checked, for performance reasons.\n */\nexport function isReactNodeEmpty(node, skipArray) {\n if (skipArray === void 0) { skipArray = false; }\n return (node == null ||\n node === \"\" ||\n node === false ||\n (!skipArray &&\n Array.isArray(node) &&\n // only recurse one level through arrays, for performance\n (node.length === 0 || node.every(function (n) { return isReactNodeEmpty(n, true); }))));\n}\n/**\n * Returns true if children are a mappable children array\n *\n * @internal\n */\nexport function isReactChildrenElementOrElements(children) {\n return !isReactNodeEmpty(children, true) && children !== true;\n}\n/**\n * Converts a React node to an element: non-empty string or number or\n * `React.Fragment` (React 16.3+) is wrapped in given tag name; empty strings\n * and booleans are discarded.\n */\nexport function ensureElement(child, tagName) {\n if (tagName === void 0) { tagName = \"span\"; }\n if (child == null || typeof child === \"boolean\") {\n return undefined;\n }\n else if (typeof child === \"string\") {\n // cull whitespace strings\n return child.trim().length > 0 ? React.createElement(tagName, {}, child) : undefined;\n }\n else if (typeof child === \"number\" || typeof child.type === \"symbol\" || Array.isArray(child)) {\n // React.Fragment has a symbol type, ReactNodeArray extends from Array\n return React.createElement(tagName, {}, child);\n }\n else if (isReactElement(child)) {\n return child;\n }\n else {\n // child is inferred as {}\n return undefined;\n }\n}\nfunction isReactElement(child) {\n return (typeof child === \"object\" &&\n typeof child.type !== \"undefined\" &&\n typeof child.props !== \"undefined\");\n}\n/**\n * @deprecated will be removed in 4.0\n */\nexport function getDisplayName(ComponentClass) {\n return ComponentClass.displayName || ComponentClass.name || \"Unknown\";\n}\n/**\n * Returns true if the given JSX element matches the given component type.\n *\n * NOTE: This function only checks equality of `displayName` for performance and\n * to tolerate multiple minor versions of a component being included in one\n * application bundle.\n *\n * @param element JSX element in question\n * @param ComponentType desired component type of element\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isElementOfType(element, ComponentType) {\n return (element != null &&\n element.type != null &&\n element.type.displayName != null &&\n element.type.displayName === ComponentType.displayName);\n}\n/**\n * Returns React.createRef if it's available, or a ref-like object if not.\n *\n * @deprecated use React.createRef or React.useRef\n */\nexport function createReactRef() {\n return typeof React.createRef !== \"undefined\" ? React.createRef() : { current: null };\n}\n//# sourceMappingURL=reactUtils.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __decorate, __extends, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { IconSvgPaths16, IconSvgPaths20 } from \"@blueprintjs/icons\";\nimport { AbstractPureComponent2, Classes, DISPLAYNAME_PREFIX } from \"../../common\";\nexport var IconSize;\n(function (IconSize) {\n IconSize[IconSize[\"STANDARD\"] = 16] = \"STANDARD\";\n IconSize[IconSize[\"LARGE\"] = 20] = \"LARGE\";\n})(IconSize || (IconSize = {}));\nvar Icon = /** @class */ (function (_super) {\n __extends(Icon, _super);\n function Icon() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Icon.prototype.render = function () {\n var icon = this.props.icon;\n if (icon == null || typeof icon === \"boolean\") {\n return null;\n }\n else if (typeof icon !== \"string\") {\n return icon;\n }\n var _a = this.props, className = _a.className, color = _a.color, htmlTitle = _a.htmlTitle, \n // eslint-disable-next-line deprecation/deprecation\n iconSize = _a.iconSize, intent = _a.intent, _b = _a.size, size = _b === void 0 ? iconSize !== null && iconSize !== void 0 ? iconSize : IconSize.STANDARD : _b, title = _a.title, _c = _a.tagName, tagName = _c === void 0 ? \"span\" : _c, htmlprops = __rest(_a, [\"className\", \"color\", \"htmlTitle\", \"iconSize\", \"intent\", \"size\", \"title\", \"tagName\"]);\n // choose which pixel grid is most appropriate for given icon size\n var pixelGridSize = size >= IconSize.LARGE ? IconSize.LARGE : IconSize.STANDARD;\n // render path elements, or nothing if icon name is unknown.\n var paths = this.renderSvgPaths(pixelGridSize, icon);\n // eslint-disable-next-line deprecation/deprecation\n var classes = classNames(Classes.ICON, Classes.iconClass(icon), Classes.intentClass(intent), className);\n var viewBox = \"0 0 \".concat(pixelGridSize, \" \").concat(pixelGridSize);\n return React.createElement(tagName, __assign(__assign({}, htmlprops), { \"aria-hidden\": title ? undefined : true, className: classes, title: htmlTitle }), React.createElement(\"svg\", { fill: color, \"data-icon\": icon, width: size, height: size, viewBox: viewBox },\n title && React.createElement(\"desc\", null, title),\n paths));\n };\n /** Render `` elements for the given icon name. Returns `null` if name is unknown. */\n Icon.prototype.renderSvgPaths = function (pathsSize, iconName) {\n var svgPathsRecord = pathsSize === IconSize.STANDARD ? IconSvgPaths16 : IconSvgPaths20;\n var pathStrings = svgPathsRecord[iconName];\n if (pathStrings == null) {\n return null;\n }\n return pathStrings.map(function (d, i) { return React.createElement(\"path\", { key: i, d: d, fillRule: \"evenodd\" }); });\n };\n Icon.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Icon\");\n /** @deprecated use IconSize.STANDARD */\n Icon.SIZE_STANDARD = IconSize.STANDARD;\n /** @deprecated use IconSize.LARGE */\n Icon.SIZE_LARGE = IconSize.LARGE;\n Icon = __decorate([\n polyfill\n ], Icon);\n return Icon;\n}(AbstractPureComponent2));\nexport { Icon };\n//# sourceMappingURL=icon.js.map","/*\n * Copyright 2019 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __extends } from \"tslib\";\nimport * as React from \"react\";\nimport { isNodeEnv } from \"./utils\";\n/**\n * An abstract component that Blueprint components can extend\n * in order to add some common functionality like runtime props validation.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nvar AbstractPureComponent2 = /** @class */ (function (_super) {\n __extends(AbstractPureComponent2, _super);\n function AbstractPureComponent2(props, context) {\n var _this = _super.call(this, props, context) || this;\n // Not bothering to remove entries when their timeouts finish because clearing invalid ID is a no-op\n _this.timeoutIds = [];\n _this.requestIds = [];\n /**\n * Clear all known timeouts.\n */\n _this.clearTimeouts = function () {\n if (_this.timeoutIds.length > 0) {\n for (var _i = 0, _a = _this.timeoutIds; _i < _a.length; _i++) {\n var timeoutId = _a[_i];\n window.clearTimeout(timeoutId);\n }\n _this.timeoutIds = [];\n }\n };\n /**\n * Clear all known animation frame requests.\n */\n _this.cancelAnimationFrames = function () {\n if (_this.requestIds.length > 0) {\n for (var _i = 0, _a = _this.requestIds; _i < _a.length; _i++) {\n var requestId = _a[_i];\n window.cancelAnimationFrame(requestId);\n }\n _this.requestIds = [];\n }\n };\n if (!isNodeEnv(\"production\")) {\n _this.validateProps(_this.props);\n }\n return _this;\n }\n AbstractPureComponent2.prototype.componentDidUpdate = function (_prevProps, _prevState, _snapshot) {\n if (!isNodeEnv(\"production\")) {\n this.validateProps(this.props);\n }\n };\n AbstractPureComponent2.prototype.componentWillUnmount = function () {\n this.clearTimeouts();\n this.cancelAnimationFrames();\n };\n /**\n * Request an animation frame and remember its ID.\n * All pending requests will be canceled when component unmounts.\n *\n * @returns a \"cancel\" function that will cancel the request when invoked.\n */\n AbstractPureComponent2.prototype.requestAnimationFrame = function (callback) {\n var handle = window.requestAnimationFrame(callback);\n this.requestIds.push(handle);\n return function () { return window.cancelAnimationFrame(handle); };\n };\n /**\n * Set a timeout and remember its ID.\n * All pending timeouts will be cleared when component unmounts.\n *\n * @returns a \"cancel\" function that will clear timeout when invoked.\n */\n AbstractPureComponent2.prototype.setTimeout = function (callback, timeout) {\n var handle = window.setTimeout(callback, timeout);\n this.timeoutIds.push(handle);\n return function () { return window.clearTimeout(handle); };\n };\n /**\n * Ensures that the props specified for a component are valid.\n * Implementations should check that props are valid and usually throw an Error if they are not.\n * Implementations should not duplicate checks that the type system already guarantees.\n *\n * This method should be used instead of React's\n * [propTypes](https://facebook.github.io/react/docs/reusable-components.html#prop-validation) feature.\n * Like propTypes, these runtime checks run only in development mode.\n */\n AbstractPureComponent2.prototype.validateProps = function (_props) {\n // implement in subclass\n };\n return AbstractPureComponent2;\n}(React.PureComponent));\nexport { AbstractPureComponent2 };\n//# sourceMappingURL=abstractPureComponent2.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __decorate, __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { AbstractPureComponent2, Classes } from \"../../common\";\nimport { SPINNER_WARN_CLASSES_SIZE } from \"../../common/errors\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nimport { clamp } from \"../../common/utils\";\nexport var SpinnerSize;\n(function (SpinnerSize) {\n SpinnerSize[SpinnerSize[\"SMALL\"] = 20] = \"SMALL\";\n SpinnerSize[SpinnerSize[\"STANDARD\"] = 50] = \"STANDARD\";\n SpinnerSize[SpinnerSize[\"LARGE\"] = 100] = \"LARGE\";\n})(SpinnerSize || (SpinnerSize = {}));\n// see http://stackoverflow.com/a/18473154/3124288 for calculating arc path\nvar R = 45;\nvar SPINNER_TRACK = \"M 50,50 m 0,-\".concat(R, \" a \").concat(R, \",\").concat(R, \" 0 1 1 0,\").concat(R * 2, \" a \").concat(R, \",\").concat(R, \" 0 1 1 0,-\").concat(R * 2);\n// unitless total length of SVG path, to which stroke-dash* properties are relative.\n// https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pathLength\n// this value is the result of `.getTotalLength()` and works in all browsers:\nvar PATH_LENGTH = 280;\nvar MIN_SIZE = 10;\nvar STROKE_WIDTH = 4;\nvar MIN_STROKE_WIDTH = 16;\nvar Spinner = /** @class */ (function (_super) {\n __extends(Spinner, _super);\n function Spinner() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Spinner.prototype.componentDidUpdate = function (prevProps) {\n if (prevProps.value !== this.props.value) {\n // IE/Edge: re-render after changing value to force SVG update\n this.forceUpdate();\n }\n };\n Spinner.prototype.render = function () {\n var _a;\n var _b = this.props, className = _b.className, intent = _b.intent, value = _b.value, _c = _b.tagName, tagName = _c === void 0 ? \"div\" : _c;\n var size = this.getSize();\n var classes = classNames(Classes.SPINNER, Classes.intentClass(intent), (_a = {}, _a[Classes.SPINNER_NO_SPIN] = value != null, _a), className);\n // keep spinner track width consistent at all sizes (down to about 10px).\n var strokeWidth = Math.min(MIN_STROKE_WIDTH, (STROKE_WIDTH * SpinnerSize.LARGE) / size);\n var strokeOffset = PATH_LENGTH - PATH_LENGTH * (value == null ? 0.25 : clamp(value, 0, 1));\n // multiple DOM elements around SVG are necessary to properly isolate animation:\n // - SVG elements in IE do not support anim/trans so they must be set on a parent HTML element.\n // - SPINNER_ANIMATION isolates svg from parent display and is always centered inside root element.\n return React.createElement(tagName, {\n className: classes,\n role: \"progressbar\",\n }, React.createElement(tagName, { className: Classes.SPINNER_ANIMATION }, React.createElement(\"svg\", { width: size, height: size, strokeWidth: strokeWidth.toFixed(2), viewBox: this.getViewBox(strokeWidth) },\n React.createElement(\"path\", { className: Classes.SPINNER_TRACK, d: SPINNER_TRACK }),\n React.createElement(\"path\", { className: Classes.SPINNER_HEAD, d: SPINNER_TRACK, pathLength: PATH_LENGTH, strokeDasharray: \"\".concat(PATH_LENGTH, \" \").concat(PATH_LENGTH), strokeDashoffset: strokeOffset }))));\n };\n Spinner.prototype.validateProps = function (_a) {\n var _b = _a.className, className = _b === void 0 ? \"\" : _b, size = _a.size;\n if (size != null && (className.indexOf(Classes.SMALL) >= 0 || className.indexOf(Classes.LARGE) >= 0)) {\n console.warn(SPINNER_WARN_CLASSES_SIZE);\n }\n };\n /**\n * Resolve size to a pixel value.\n * Size can be set by className, props, default, or minimum constant.\n */\n Spinner.prototype.getSize = function () {\n var _a = this.props, _b = _a.className, className = _b === void 0 ? \"\" : _b, size = _a.size;\n if (size == null) {\n // allow Classes constants to determine default size.\n if (className.indexOf(Classes.SMALL) >= 0) {\n return SpinnerSize.SMALL;\n }\n else if (className.indexOf(Classes.LARGE) >= 0) {\n return SpinnerSize.LARGE;\n }\n return SpinnerSize.STANDARD;\n }\n return Math.max(MIN_SIZE, size);\n };\n /** Compute viewbox such that stroked track sits exactly at edge of image frame. */\n Spinner.prototype.getViewBox = function (strokeWidth) {\n var radius = R + strokeWidth / 2;\n var viewBoxX = (50 - radius).toFixed(2);\n var viewBoxWidth = (radius * 2).toFixed(2);\n return \"\".concat(viewBoxX, \" \").concat(viewBoxX, \" \").concat(viewBoxWidth, \" \").concat(viewBoxWidth);\n };\n Spinner.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Spinner\");\n /** @deprecated use SpinnerSize.SMALL */\n Spinner.SIZE_SMALL = SpinnerSize.SMALL;\n /** @deprecated use SpinnerSize.STANDARD */\n Spinner.SIZE_STANDARD = SpinnerSize.STANDARD;\n /** @deprecated use SpinnerSize.LARGE */\n Spinner.SIZE_LARGE = SpinnerSize.LARGE;\n Spinner = __decorate([\n polyfill\n ], Spinner);\n return Spinner;\n}(AbstractPureComponent2));\nexport { Spinner };\n//# sourceMappingURL=spinner.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { AbstractPureComponent2, Classes, Keys, Utils, } from \"../../common\";\nimport { Icon, IconSize } from \"../icon/icon\";\nimport { Spinner } from \"../spinner/spinner\";\nvar AbstractButton = /** @class */ (function (_super) {\n __extends(AbstractButton, _super);\n function AbstractButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n isActive: false,\n };\n // we're casting as `any` to get around a somewhat opaque safeInvoke error\n // that \"Type argument candidate 'KeyboardEvent' is not a valid type\n // argument because it is not a supertype of candidate\n // 'KeyboardEvent'.\"\n _this.handleKeyDown = function (e) {\n var _a, _b;\n // HACKHACK: https://github.com/palantir/blueprint/issues/4165\n /* eslint-disable deprecation/deprecation */\n if (Keys.isKeyboardClick(e.which)) {\n e.preventDefault();\n if (e.which !== _this.currentKeyDown) {\n _this.setState({ isActive: true });\n }\n }\n _this.currentKeyDown = e.which;\n (_b = (_a = _this.props).onKeyDown) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n _this.handleKeyUp = function (e) {\n var _a, _b, _c;\n // HACKHACK: https://github.com/palantir/blueprint/issues/4165\n /* eslint-disable deprecation/deprecation */\n if (Keys.isKeyboardClick(e.which)) {\n _this.setState({ isActive: false });\n (_a = _this.buttonRef) === null || _a === void 0 ? void 0 : _a.click();\n }\n _this.currentKeyDown = undefined;\n (_c = (_b = _this.props).onKeyUp) === null || _c === void 0 ? void 0 : _c.call(_b, e);\n };\n _this.handleBlur = function (e) {\n var _a, _b;\n if (_this.state.isActive) {\n _this.setState({ isActive: false });\n }\n (_b = (_a = _this.props).onBlur) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n return _this;\n }\n AbstractButton.prototype.getCommonButtonProps = function () {\n var _a;\n var _b = this.props, active = _b.active, alignText = _b.alignText, fill = _b.fill, large = _b.large, loading = _b.loading, outlined = _b.outlined, minimal = _b.minimal, small = _b.small, tabIndex = _b.tabIndex;\n var disabled = this.props.disabled || loading;\n var className = classNames(Classes.BUTTON, (_a = {},\n _a[Classes.ACTIVE] = !disabled && (active || this.state.isActive),\n _a[Classes.DISABLED] = disabled,\n _a[Classes.FILL] = fill,\n _a[Classes.LARGE] = large,\n _a[Classes.LOADING] = loading,\n _a[Classes.MINIMAL] = minimal,\n _a[Classes.OUTLINED] = outlined,\n _a[Classes.SMALL] = small,\n _a), Classes.alignmentClass(alignText), Classes.intentClass(this.props.intent), this.props.className);\n return {\n className: className,\n disabled: disabled,\n onBlur: this.handleBlur,\n onClick: disabled ? undefined : this.props.onClick,\n onKeyDown: this.handleKeyDown,\n onKeyUp: this.handleKeyUp,\n tabIndex: disabled ? -1 : tabIndex,\n };\n };\n AbstractButton.prototype.renderChildren = function () {\n var _a = this.props, children = _a.children, icon = _a.icon, loading = _a.loading, rightIcon = _a.rightIcon, text = _a.text;\n var maybeHasText = !Utils.isReactNodeEmpty(text) || !Utils.isReactNodeEmpty(children);\n return [\n loading && React.createElement(Spinner, { key: \"loading\", className: Classes.BUTTON_SPINNER, size: IconSize.LARGE }),\n // The icon is purely decorative if text is provided\n React.createElement(Icon, { key: \"leftIcon\", icon: icon, \"aria-hidden\": maybeHasText, tabIndex: maybeHasText ? -1 : 0 }),\n maybeHasText && (React.createElement(\"span\", { key: \"text\", className: Classes.BUTTON_TEXT },\n text,\n children)),\n React.createElement(Icon, { key: \"rightIcon\", icon: rightIcon }),\n ];\n };\n return AbstractButton;\n}(AbstractPureComponent2));\nexport { AbstractButton };\n//# sourceMappingURL=abstractButton.js.map","/*\n * Copyright 2016 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends } from \"tslib\";\n// HACKHACK: these components should go in separate files\n/* eslint-disable max-classes-per-file */\nimport * as React from \"react\";\nimport { DISPLAYNAME_PREFIX, removeNonHTMLProps } from \"../../common/props\";\nimport { refHandler, setRef } from \"../../common/refs\";\nimport { AbstractButton } from \"./abstractButton\";\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // need to keep this ref so that we can access it in AbstractButton#handleKeyUp\n _this.buttonRef = null;\n _this.handleRef = refHandler(_this, \"buttonRef\", _this.props.elementRef);\n return _this;\n }\n Button.prototype.render = function () {\n return (React.createElement(\"button\", __assign({ type: \"button\", ref: this.handleRef }, removeNonHTMLProps(this.props), this.getCommonButtonProps()), this.renderChildren()));\n };\n Button.prototype.componentDidUpdate = function (prevProps) {\n if (prevProps.elementRef !== this.props.elementRef) {\n setRef(prevProps.elementRef, null);\n this.handleRef = refHandler(this, \"buttonRef\", this.props.elementRef);\n setRef(this.props.elementRef, this.buttonRef);\n }\n };\n Button.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Button\");\n return Button;\n}(AbstractButton));\nexport { Button };\nvar AnchorButton = /** @class */ (function (_super) {\n __extends(AnchorButton, _super);\n function AnchorButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // need to keep this ref so that we can access it in AbstractButton#handleKeyUp\n _this.buttonRef = null;\n _this.handleRef = refHandler(_this, \"buttonRef\", _this.props.elementRef);\n return _this;\n }\n AnchorButton.prototype.render = function () {\n var _a = this.props, href = _a.href, _b = _a.tabIndex, tabIndex = _b === void 0 ? 0 : _b;\n var commonProps = this.getCommonButtonProps();\n return (React.createElement(\"a\", __assign({ role: \"button\", ref: this.handleRef }, removeNonHTMLProps(this.props), commonProps, { href: commonProps.disabled ? undefined : href, tabIndex: commonProps.disabled ? -1 : tabIndex }), this.renderChildren()));\n };\n AnchorButton.prototype.componentDidUpdate = function (prevProps) {\n if (prevProps.elementRef !== this.props.elementRef) {\n setRef(prevProps.elementRef, null);\n this.handleRef = refHandler(this, \"buttonRef\", this.props.elementRef);\n setRef(this.props.elementRef, this.buttonRef);\n }\n };\n AnchorButton.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".AnchorButton\");\n return AnchorButton;\n}(AbstractButton));\nexport { AnchorButton };\n//# sourceMappingURL=buttons.js.map","/* !\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __decorate, __extends, __rest } from \"tslib\";\nimport * as React from \"react\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { AbstractPureComponent2, DISPLAYNAME_PREFIX } from \"../../common\";\n/**\n * A stateful wrapper around the low-level component which works around a\n * [React bug](https://github.com/facebook/react/issues/3926). This bug is reproduced when an input\n * receives CompositionEvents (for example, through IME composition) and has its value prop updated\n * asychronously. This might happen if a component chooses to do async validation of a value\n * returned by the input's `onChange` callback.\n *\n * Note: this component does not apply any Blueprint-specific styling.\n */\nvar AsyncControllableInput = /** @class */ (function (_super) {\n __extends(AsyncControllableInput, _super);\n function AsyncControllableInput() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n hasPendingUpdate: false,\n isComposing: false,\n nextValue: _this.props.value,\n value: _this.props.value,\n };\n _this.cancelPendingCompositionEnd = null;\n _this.handleCompositionStart = function (e) {\n var _a, _b, _c;\n (_a = _this.cancelPendingCompositionEnd) === null || _a === void 0 ? void 0 : _a.call(_this);\n _this.setState({ isComposing: true });\n (_c = (_b = _this.props).onCompositionStart) === null || _c === void 0 ? void 0 : _c.call(_b, e);\n };\n _this.handleCompositionEnd = function (e) {\n var _a, _b;\n // In some non-latin languages, a keystroke can end a composition event and immediately afterwards start another.\n // This can lead to unexpected characters showing up in the text input. In order to circumvent this problem, we\n // use a timeout which creates a delay which merges the two composition events, creating a more natural and predictable UX.\n // `this.state.nextValue` will become \"locked\" (it cannot be overwritten by the `value` prop) until a delay (10ms) has\n // passed without a new composition event starting.\n _this.cancelPendingCompositionEnd = _this.setTimeout(function () { return _this.setState({ isComposing: false }); }, AsyncControllableInput_1.COMPOSITION_END_DELAY);\n (_b = (_a = _this.props).onCompositionEnd) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n _this.handleChange = function (e) {\n var _a, _b;\n var value = e.target.value;\n _this.setState({ nextValue: value });\n (_b = (_a = _this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n return _this;\n }\n AsyncControllableInput_1 = AsyncControllableInput;\n AsyncControllableInput.getDerivedStateFromProps = function (nextProps, nextState) {\n if (nextState.isComposing || nextProps.value === undefined) {\n // don't derive anything from props if:\n // - in uncontrolled mode, OR\n // - currently composing, since we'll do that after composition ends\n return null;\n }\n var userTriggeredUpdate = nextState.nextValue !== nextState.value;\n if (userTriggeredUpdate) {\n if (nextProps.value === nextState.nextValue) {\n // parent has processed and accepted our update\n if (nextState.hasPendingUpdate) {\n return { value: nextProps.value, hasPendingUpdate: false };\n }\n else {\n return { value: nextState.nextValue };\n }\n }\n else {\n if (nextProps.value === nextState.value) {\n // we have sent the update to our parent, but it has not been processed yet. just wait.\n // DO NOT set nextValue here, since that will temporarily render a potentially stale controlled value,\n // causing the cursor to jump once the new value is accepted\n return { hasPendingUpdate: true };\n }\n // accept controlled update overriding user action\n return { value: nextProps.value, nextValue: nextProps.value, hasPendingUpdate: false };\n }\n }\n else {\n // accept controlled update, could be confirming or denying user action\n return { value: nextProps.value, nextValue: nextProps.value, hasPendingUpdate: false };\n }\n };\n AsyncControllableInput.prototype.render = function () {\n var _a = this.state, isComposing = _a.isComposing, hasPendingUpdate = _a.hasPendingUpdate, value = _a.value, nextValue = _a.nextValue;\n var _b = this.props, inputRef = _b.inputRef, restProps = __rest(_b, [\"inputRef\"]);\n return (React.createElement(\"input\", __assign({}, restProps, { ref: inputRef, \n // render the pending value even if it is not confirmed by a parent's async controlled update\n // so that the cursor does not jump to the end of input as reported in\n // https://github.com/palantir/blueprint/issues/4298\n value: isComposing || hasPendingUpdate ? nextValue : value, onCompositionStart: this.handleCompositionStart, onCompositionEnd: this.handleCompositionEnd, onChange: this.handleChange })));\n };\n var AsyncControllableInput_1;\n AsyncControllableInput.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".AsyncControllableInput\");\n /**\n * The amount of time (in milliseconds) which the input will wait after a compositionEnd event before\n * unlocking its state value for external updates via props. See `handleCompositionEnd` for more details.\n */\n AsyncControllableInput.COMPOSITION_END_DELAY = 10;\n AsyncControllableInput = AsyncControllableInput_1 = __decorate([\n polyfill\n ], AsyncControllableInput);\n return AsyncControllableInput;\n}(AbstractPureComponent2));\nexport { AsyncControllableInput };\n//# sourceMappingURL=asyncControllableInput.js.map","/*\n * Copyright 2016 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __decorate, __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { AbstractPureComponent2, Classes } from \"../../common\";\nimport * as Errors from \"../../common/errors\";\nimport { DISPLAYNAME_PREFIX, removeNonHTMLProps, } from \"../../common/props\";\nimport { Icon } from \"../icon/icon\";\nimport { AsyncControllableInput } from \"./asyncControllableInput\";\nvar InputGroup = /** @class */ (function (_super) {\n __extends(InputGroup, _super);\n function InputGroup() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {};\n _this.leftElement = null;\n _this.rightElement = null;\n _this.refHandlers = {\n leftElement: function (ref) { return (_this.leftElement = ref); },\n rightElement: function (ref) { return (_this.rightElement = ref); },\n };\n return _this;\n }\n InputGroup.prototype.render = function () {\n var _a;\n var _b = this.props, _c = _b.asyncControl, asyncControl = _c === void 0 ? false : _c, className = _b.className, disabled = _b.disabled, fill = _b.fill, inputRef = _b.inputRef, intent = _b.intent, large = _b.large, small = _b.small, round = _b.round;\n var inputGroupClasses = classNames(Classes.INPUT_GROUP, Classes.intentClass(intent), (_a = {},\n _a[Classes.DISABLED] = disabled,\n _a[Classes.FILL] = fill,\n _a[Classes.LARGE] = large,\n _a[Classes.SMALL] = small,\n _a[Classes.ROUND] = round,\n _a), className);\n var style = __assign(__assign({}, this.props.style), { paddingLeft: this.state.leftElementWidth, paddingRight: this.state.rightElementWidth });\n var inputProps = __assign(__assign({ type: \"text\" }, removeNonHTMLProps(this.props)), { className: Classes.INPUT, style: style });\n return (React.createElement(\"div\", { className: inputGroupClasses },\n this.maybeRenderLeftElement(),\n asyncControl ? (React.createElement(AsyncControllableInput, __assign({}, inputProps, { inputRef: inputRef }))) : (React.createElement(\"input\", __assign({}, inputProps, { ref: inputRef }))),\n this.maybeRenderRightElement()));\n };\n InputGroup.prototype.componentDidMount = function () {\n this.updateInputWidth();\n };\n InputGroup.prototype.componentDidUpdate = function (prevProps) {\n var _a = this.props, leftElement = _a.leftElement, rightElement = _a.rightElement;\n if (prevProps.leftElement !== leftElement || prevProps.rightElement !== rightElement) {\n this.updateInputWidth();\n }\n };\n InputGroup.prototype.validateProps = function (props) {\n if (props.leftElement != null && props.leftIcon != null) {\n console.warn(Errors.INPUT_WARN_LEFT_ELEMENT_LEFT_ICON_MUTEX);\n }\n };\n InputGroup.prototype.maybeRenderLeftElement = function () {\n var _a = this.props, leftElement = _a.leftElement, leftIcon = _a.leftIcon;\n if (leftElement != null) {\n return (React.createElement(\"span\", { className: Classes.INPUT_LEFT_CONTAINER, ref: this.refHandlers.leftElement }, leftElement));\n }\n else if (leftIcon != null) {\n return React.createElement(Icon, { icon: leftIcon, \"aria-hidden\": true, tabIndex: -1 });\n }\n return undefined;\n };\n InputGroup.prototype.maybeRenderRightElement = function () {\n var rightElement = this.props.rightElement;\n if (rightElement == null) {\n return undefined;\n }\n return (React.createElement(\"span\", { className: Classes.INPUT_ACTION, ref: this.refHandlers.rightElement }, rightElement));\n };\n InputGroup.prototype.updateInputWidth = function () {\n var _a = this.state, leftElementWidth = _a.leftElementWidth, rightElementWidth = _a.rightElementWidth;\n if (this.leftElement != null) {\n var clientWidth = this.leftElement.clientWidth;\n // small threshold to prevent infinite loops\n if (leftElementWidth === undefined || Math.abs(clientWidth - leftElementWidth) > 2) {\n this.setState({ leftElementWidth: clientWidth });\n }\n }\n else {\n this.setState({ leftElementWidth: undefined });\n }\n if (this.rightElement != null) {\n var clientWidth = this.rightElement.clientWidth;\n // small threshold to prevent infinite loops\n if (rightElementWidth === undefined || Math.abs(clientWidth - rightElementWidth) > 2) {\n this.setState({ rightElementWidth: clientWidth });\n }\n }\n else {\n this.setState({ rightElementWidth: undefined });\n }\n };\n InputGroup.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".InputGroup\");\n InputGroup = __decorate([\n polyfill\n ], InputGroup);\n return InputGroup;\n}(AbstractPureComponent2));\nexport { InputGroup };\n//# sourceMappingURL=inputGroup.js.map","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { BLOCKQUOTE, CODE, CODE_BLOCK, HEADING, LABEL, LIST } from \"../../common/classes\";\nfunction htmlElement(tagName, tagClassName) {\n /* eslint-disable-next-line react/display-name */\n return function (props) {\n var className = props.className, elementRef = props.elementRef, htmlProps = __rest(props, [\"className\", \"elementRef\"]);\n return React.createElement(tagName, __assign(__assign({}, htmlProps), { className: classNames(tagClassName, className), ref: elementRef }));\n };\n}\n// the following components are linted by blueprint-html-components because\n// they should rarely be used without the Blueprint classes/styles:\nexport var H1 = htmlElement(\"h1\", HEADING);\nexport var H2 = htmlElement(\"h2\", HEADING);\nexport var H3 = htmlElement(\"h3\", HEADING);\nexport var H4 = htmlElement(\"h4\", HEADING);\nexport var H5 = htmlElement(\"h5\", HEADING);\nexport var H6 = htmlElement(\"h6\", HEADING);\nexport var Blockquote = htmlElement(\"blockquote\", BLOCKQUOTE);\nexport var Code = htmlElement(\"code\", CODE);\nexport var Pre = htmlElement(\"pre\", CODE_BLOCK);\nexport var Label = htmlElement(\"label\", LABEL);\n// these two are not linted by blueprint-html-components because there are valid\n// uses of these elements without Blueprint styles:\nexport var OL = htmlElement(\"ol\", LIST);\nexport var UL = htmlElement(\"ul\", LIST);\n//# sourceMappingURL=html.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport * as Classes from \"../../common/classes\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nimport { H6 } from \"../html/html\";\nvar MenuDivider = /** @class */ (function (_super) {\n __extends(MenuDivider, _super);\n function MenuDivider() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MenuDivider.prototype.render = function () {\n var _a = this.props, className = _a.className, title = _a.title;\n if (title == null) {\n // simple divider\n return React.createElement(\"li\", { className: classNames(Classes.MENU_DIVIDER, className) });\n }\n else {\n // section header with title\n return (React.createElement(\"li\", { className: classNames(Classes.MENU_HEADER, className) },\n React.createElement(H6, null, title)));\n }\n };\n MenuDivider.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".MenuDivider\");\n return MenuDivider;\n}(React.Component));\nexport { MenuDivider };\n//# sourceMappingURL=menuDivider.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __extends } from \"tslib\";\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport * as Classes from \"../../common/classes\";\nimport * as Errors from \"../../common/errors\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nimport { isFunction } from \"../../common/utils\";\n/** Detect if `React.createPortal()` API method does not exist. */\nvar cannotCreatePortal = !isFunction(ReactDOM.createPortal);\nvar REACT_CONTEXT_TYPES = {\n blueprintPortalClassName: function (obj, key) {\n if (obj[key] != null && typeof obj[key] !== \"string\") {\n return new Error(Errors.PORTAL_CONTEXT_CLASS_NAME_STRING);\n }\n return undefined;\n },\n};\n/**\n * This component detaches its contents and re-attaches them to document.body.\n * Use it when you need to circumvent DOM z-stacking (for dialogs, popovers, etc.).\n * Any class names passed to this element will be propagated to the new container element on document.body.\n */\nvar Portal = /** @class */ (function (_super) {\n __extends(Portal, _super);\n function Portal() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.context = {};\n _this.state = { hasMounted: false };\n _this.portalElement = null;\n return _this;\n }\n Portal.prototype.render = function () {\n // Only render `children` once this component has mounted in a browser environment, so they are\n // immediately attached to the DOM tree and can do DOM things like measuring or `autoFocus`.\n // See long comment on componentDidMount in https://reactjs.org/docs/portals.html#event-bubbling-through-portals\n if (cannotCreatePortal ||\n typeof document === \"undefined\" ||\n !this.state.hasMounted ||\n this.portalElement === null) {\n return null;\n }\n else {\n return ReactDOM.createPortal(this.props.children, this.portalElement);\n }\n };\n Portal.prototype.componentDidMount = function () {\n if (!this.props.container) {\n return;\n }\n this.portalElement = this.createContainerElement();\n this.props.container.appendChild(this.portalElement);\n /* eslint-disable-next-line react/no-did-mount-set-state */\n this.setState({ hasMounted: true }, this.props.onChildrenMount);\n if (cannotCreatePortal) {\n this.unstableRenderNoPortal();\n }\n };\n Portal.prototype.componentDidUpdate = function (prevProps) {\n // update className prop on portal DOM element\n if (this.portalElement != null && prevProps.className !== this.props.className) {\n maybeRemoveClass(this.portalElement.classList, prevProps.className);\n maybeAddClass(this.portalElement.classList, this.props.className);\n }\n if (cannotCreatePortal) {\n this.unstableRenderNoPortal();\n }\n };\n Portal.prototype.componentWillUnmount = function () {\n if (this.portalElement != null) {\n if (cannotCreatePortal) {\n ReactDOM.unmountComponentAtNode(this.portalElement);\n }\n this.portalElement.remove();\n }\n };\n Portal.prototype.createContainerElement = function () {\n var container = document.createElement(\"div\");\n container.classList.add(Classes.PORTAL);\n maybeAddClass(container.classList, this.props.className);\n if (this.context != null) {\n maybeAddClass(container.classList, this.context.blueprintPortalClassName);\n }\n return container;\n };\n Portal.prototype.unstableRenderNoPortal = function () {\n if (this.portalElement === null) {\n return;\n }\n ReactDOM.unstable_renderSubtreeIntoContainer(\n /* parentComponent */ this, React.createElement(\"div\", null, this.props.children), this.portalElement);\n };\n Portal.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Portal\");\n Portal.contextTypes = REACT_CONTEXT_TYPES;\n Portal.defaultProps = {\n container: typeof document !== \"undefined\" ? document.body : undefined,\n };\n return Portal;\n}(React.Component));\nexport { Portal };\nfunction maybeRemoveClass(classList, className) {\n if (className != null && className !== \"\") {\n classList.remove.apply(classList, className.split(\" \"));\n }\n}\nfunction maybeAddClass(classList, className) {\n if (className != null && className !== \"\") {\n classList.add.apply(classList, className.split(\" \"));\n }\n}\n//# sourceMappingURL=portal.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __decorate, __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { findDOMNode } from \"react-dom\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\nimport { AbstractPureComponent2, Classes, Keys } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nimport { isFunction } from \"../../common/utils\";\nimport { Portal } from \"../portal/portal\";\n// HACKHACK: https://github.com/palantir/blueprint/issues/4342\n// eslint-disable-next-line deprecation/deprecation\nvar Overlay = /** @class */ (function (_super) {\n __extends(Overlay, _super);\n function Overlay() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.isAutoFocusing = false;\n _this.state = {\n hasEverOpened: _this.props.isOpen,\n };\n // an HTMLElement that contains the backdrop and any children, to query for focus target\n _this.containerElement = null;\n // An empty, keyboard-focusable div at the beginning of the Overlay content\n _this.startFocusTrapElement = null;\n // An empty, keyboard-focusable div at the end of the Overlay content\n _this.endFocusTrapElement = null;\n _this.refHandlers = {\n // HACKHACK: see https://github.com/palantir/blueprint/issues/3979\n /* eslint-disable-next-line react/no-find-dom-node */\n container: function (ref) { return (_this.containerElement = findDOMNode(ref)); },\n endFocusTrap: function (ref) { return (_this.endFocusTrapElement = ref); },\n startFocusTrap: function (ref) { return (_this.startFocusTrapElement = ref); },\n };\n _this.maybeRenderChild = function (child) {\n if (isFunction(child)) {\n child = child();\n }\n if (child == null) {\n return null;\n }\n // add a special class to each child element that will automatically set the appropriate\n // CSS position mode under the hood.\n var decoratedChild = typeof child === \"object\" ? (React.cloneElement(child, {\n className: classNames(child.props.className, Classes.OVERLAY_CONTENT),\n })) : (React.createElement(\"span\", { className: Classes.OVERLAY_CONTENT }, child));\n var _a = _this.props, onOpening = _a.onOpening, onOpened = _a.onOpened, onClosing = _a.onClosing, transitionDuration = _a.transitionDuration, transitionName = _a.transitionName;\n // a breaking change in react-transition-group types requires us to be explicit about the type overload here,\n // using a technique similar to Select.ofType() in @blueprintjs/select\n var CSSTransitionImplicit = CSSTransition;\n return (React.createElement(CSSTransitionImplicit, { classNames: transitionName, onEntering: onOpening, onEntered: onOpened, onExiting: onClosing, onExited: _this.handleTransitionExited, timeout: transitionDuration, addEndListener: _this.handleTransitionAddEnd }, decoratedChild));\n };\n /**\n * Ensures repeatedly pressing shift+tab keeps focus inside the Overlay. Moves focus to\n * the `endFocusTrapElement` or the first keyboard-focusable element in the Overlay (excluding\n * the `startFocusTrapElement`), depending on whether the element losing focus is inside the\n * Overlay.\n */\n _this.handleStartFocusTrapElementFocus = function (e) {\n var _a;\n if (!_this.props.enforceFocus || _this.isAutoFocusing) {\n return;\n }\n // e.relatedTarget will not be defined if this was a programmatic focus event, as is the\n // case when we call this.bringFocusInsideOverlay() after a user clicked on the backdrop.\n // Otherwise, we're handling a user interaction, and we should wrap around to the last\n // element in this transition group.\n if (e.relatedTarget != null &&\n _this.containerElement.contains(e.relatedTarget) &&\n e.relatedTarget !== _this.endFocusTrapElement) {\n (_a = _this.endFocusTrapElement) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });\n }\n };\n /**\n * Wrap around to the end of the dialog if `enforceFocus` is enabled.\n */\n _this.handleStartFocusTrapElementKeyDown = function (e) {\n var _a;\n if (!_this.props.enforceFocus) {\n return;\n }\n // HACKHACK: https://github.com/palantir/blueprint/issues/4165\n /* eslint-disable-next-line deprecation/deprecation */\n if (e.shiftKey && e.which === Keys.TAB) {\n var lastFocusableElement = _this.getKeyboardFocusableElements().pop();\n if (lastFocusableElement != null) {\n lastFocusableElement.focus();\n }\n else {\n (_a = _this.endFocusTrapElement) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });\n }\n }\n };\n /**\n * Ensures repeatedly pressing tab keeps focus inside the Overlay. Moves focus to the\n * `startFocusTrapElement` or the last keyboard-focusable element in the Overlay (excluding the\n * `startFocusTrapElement`), depending on whether the element losing focus is inside the\n * Overlay.\n */\n _this.handleEndFocusTrapElementFocus = function (e) {\n var _a, _b;\n // No need for this.props.enforceFocus check here because this element is only rendered\n // when that prop is true.\n // During user interactions, e.relatedTarget will be defined, and we should wrap around to the\n // \"start focus trap\" element.\n // Otherwise, we're handling a programmatic focus event, which can only happen after a user\n // presses shift+tab from the first focusable element in the overlay.\n if (e.relatedTarget != null &&\n _this.containerElement.contains(e.relatedTarget) &&\n e.relatedTarget !== _this.startFocusTrapElement) {\n var firstFocusableElement = _this.getKeyboardFocusableElements().shift();\n // ensure we don't re-focus an already active element by comparing against e.relatedTarget\n if (!_this.isAutoFocusing && firstFocusableElement != null && firstFocusableElement !== e.relatedTarget) {\n firstFocusableElement.focus();\n }\n else {\n (_a = _this.startFocusTrapElement) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });\n }\n }\n else {\n var lastFocusableElement = _this.getKeyboardFocusableElements().pop();\n if (lastFocusableElement != null) {\n lastFocusableElement.focus();\n }\n else {\n // Keeps focus within Overlay even if there are no keyboard-focusable children\n (_b = _this.startFocusTrapElement) === null || _b === void 0 ? void 0 : _b.focus({ preventScroll: true });\n }\n }\n };\n _this.handleTransitionExited = function (node) {\n var _a, _b;\n if (_this.props.shouldReturnFocusOnClose && _this.lastActiveElementBeforeOpened instanceof HTMLElement) {\n _this.lastActiveElementBeforeOpened.focus();\n }\n (_b = (_a = _this.props).onClosed) === null || _b === void 0 ? void 0 : _b.call(_a, node);\n };\n _this.handleBackdropMouseDown = function (e) {\n var _a;\n var _b = _this.props, backdropProps = _b.backdropProps, canOutsideClickClose = _b.canOutsideClickClose, enforceFocus = _b.enforceFocus, onClose = _b.onClose;\n if (canOutsideClickClose) {\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n }\n if (enforceFocus) {\n _this.bringFocusInsideOverlay();\n }\n (_a = backdropProps === null || backdropProps === void 0 ? void 0 : backdropProps.onMouseDown) === null || _a === void 0 ? void 0 : _a.call(backdropProps, e);\n };\n _this.handleDocumentClick = function (e) {\n var _a = _this.props, canOutsideClickClose = _a.canOutsideClickClose, isOpen = _a.isOpen, onClose = _a.onClose;\n // get the actual target even in the Shadow DOM\n var eventTarget = (e.composed ? e.composedPath()[0] : e.target);\n var stackIndex = Overlay_1.openStack.indexOf(_this);\n var isClickInThisOverlayOrDescendant = Overlay_1.openStack\n .slice(stackIndex)\n .some(function (_a) {\n var elem = _a.containerElement;\n // `elem` is the container of backdrop & content, so clicking on that container\n // should not count as being \"inside\" the overlay.\n return elem && elem.contains(eventTarget) && !elem.isSameNode(eventTarget);\n });\n if (isOpen && !isClickInThisOverlayOrDescendant && canOutsideClickClose) {\n // casting to any because this is a native event\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n }\n };\n /**\n * When multiple Overlays are open, this event handler is only active for the most recently\n * opened one to avoid Overlays competing with each other for focus.\n */\n _this.handleDocumentFocus = function (e) {\n // get the actual target even in the Shadow DOM\n var eventTarget = e.composed ? e.composedPath()[0] : e.target;\n if (_this.props.enforceFocus &&\n _this.containerElement != null &&\n eventTarget instanceof Node &&\n !_this.containerElement.contains(eventTarget)) {\n // prevent default focus behavior (sometimes auto-scrolls the page)\n e.preventDefault();\n e.stopImmediatePropagation();\n _this.bringFocusInsideOverlay();\n }\n };\n _this.handleKeyDown = function (e) {\n var _a = _this.props, canEscapeKeyClose = _a.canEscapeKeyClose, onClose = _a.onClose;\n // HACKHACK: https://github.com/palantir/blueprint/issues/4165\n /* eslint-disable-next-line deprecation/deprecation */\n if (e.which === Keys.ESCAPE && canEscapeKeyClose) {\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n // prevent browser-specific escape key behavior (Safari exits fullscreen)\n e.preventDefault();\n }\n };\n _this.handleTransitionAddEnd = function () {\n // no-op\n };\n return _this;\n }\n Overlay_1 = Overlay;\n Overlay.getDerivedStateFromProps = function (_a) {\n var hasEverOpened = _a.isOpen;\n if (hasEverOpened) {\n return { hasEverOpened: hasEverOpened };\n }\n return null;\n };\n Overlay.prototype.render = function () {\n var _a;\n var _b;\n // oh snap! no reason to render anything at all if we're being truly lazy\n if (this.props.lazy && !this.state.hasEverOpened) {\n return null;\n }\n var _c = this.props, autoFocus = _c.autoFocus, children = _c.children, className = _c.className, enforceFocus = _c.enforceFocus, usePortal = _c.usePortal, isOpen = _c.isOpen;\n // TransitionGroup types require single array of children; does not support nested arrays.\n // So we must collapse backdrop and children into one array, and every item must be wrapped in a\n // Transition element (no ReactText allowed).\n var childrenWithTransitions = isOpen ? (_b = React.Children.map(children, this.maybeRenderChild)) !== null && _b !== void 0 ? _b : [] : [];\n var maybeBackdrop = this.maybeRenderBackdrop();\n if (maybeBackdrop !== null) {\n childrenWithTransitions.unshift(maybeBackdrop);\n }\n if (isOpen && (autoFocus || enforceFocus) && childrenWithTransitions.length > 0) {\n childrenWithTransitions.unshift(this.renderDummyElement(\"__start\", {\n className: Classes.OVERLAY_START_FOCUS_TRAP,\n onFocus: this.handleStartFocusTrapElementFocus,\n onKeyDown: this.handleStartFocusTrapElementKeyDown,\n ref: this.refHandlers.startFocusTrap,\n }));\n if (enforceFocus) {\n childrenWithTransitions.push(this.renderDummyElement(\"__end\", {\n className: Classes.OVERLAY_END_FOCUS_TRAP,\n onFocus: this.handleEndFocusTrapElementFocus,\n ref: this.refHandlers.endFocusTrap,\n }));\n }\n }\n var containerClasses = classNames(Classes.OVERLAY, (_a = {},\n _a[Classes.OVERLAY_OPEN] = isOpen,\n _a[Classes.OVERLAY_INLINE] = !usePortal,\n _a), className);\n var transitionGroup = (React.createElement(TransitionGroup, { appear: true, \"aria-live\": \"polite\", className: containerClasses, component: \"div\", onKeyDown: this.handleKeyDown, ref: this.refHandlers.container }, childrenWithTransitions));\n if (usePortal) {\n return (React.createElement(Portal, { className: this.props.portalClassName, container: this.props.portalContainer }, transitionGroup));\n }\n else {\n return transitionGroup;\n }\n };\n Overlay.prototype.componentDidMount = function () {\n if (this.props.isOpen) {\n this.overlayWillOpen();\n }\n };\n Overlay.prototype.componentDidUpdate = function (prevProps) {\n if (prevProps.isOpen && !this.props.isOpen) {\n this.overlayWillClose();\n }\n else if (!prevProps.isOpen && this.props.isOpen) {\n this.overlayWillOpen();\n }\n };\n Overlay.prototype.componentWillUnmount = function () {\n this.overlayWillClose();\n };\n /**\n * @public for testing\n * @internal\n */\n Overlay.prototype.bringFocusInsideOverlay = function () {\n var _this = this;\n // always delay focus manipulation to just before repaint to prevent scroll jumping\n return this.requestAnimationFrame(function () {\n var _a;\n // container ref may be undefined between component mounting and Portal rendering\n // activeElement may be undefined in some rare cases in IE\n if (_this.containerElement == null || document.activeElement == null || !_this.props.isOpen) {\n return;\n }\n var isFocusOutsideModal = !_this.containerElement.contains(document.activeElement);\n if (isFocusOutsideModal) {\n (_a = _this.startFocusTrapElement) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });\n _this.isAutoFocusing = false;\n }\n });\n };\n Overlay.prototype.maybeRenderBackdrop = function () {\n var _a = this.props, backdropClassName = _a.backdropClassName, backdropProps = _a.backdropProps, hasBackdrop = _a.hasBackdrop, isOpen = _a.isOpen, transitionDuration = _a.transitionDuration, transitionName = _a.transitionName;\n if (hasBackdrop && isOpen) {\n return (React.createElement(CSSTransition, { classNames: transitionName, key: \"__backdrop\", timeout: transitionDuration, addEndListener: this.handleTransitionAddEnd },\n React.createElement(\"div\", __assign({}, backdropProps, { className: classNames(Classes.OVERLAY_BACKDROP, backdropClassName, backdropProps === null || backdropProps === void 0 ? void 0 : backdropProps.className), onMouseDown: this.handleBackdropMouseDown }))));\n }\n else {\n return null;\n }\n };\n Overlay.prototype.renderDummyElement = function (key, props) {\n var _a = this.props, transitionDuration = _a.transitionDuration, transitionName = _a.transitionName;\n return (React.createElement(CSSTransition, { classNames: transitionName, key: key, addEndListener: this.handleTransitionAddEnd, timeout: transitionDuration, unmountOnExit: true },\n React.createElement(\"div\", __assign({ tabIndex: 0 }, props))));\n };\n Overlay.prototype.getKeyboardFocusableElements = function () {\n var focusableElements = this.containerElement !== null\n ? Array.from(\n // Order may not be correct if children elements use tabindex values > 0.\n // Selectors derived from this SO question:\n // https://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus\n this.containerElement.querySelectorAll([\n 'a[href]:not([tabindex=\"-1\"])',\n 'button:not([disabled]):not([tabindex=\"-1\"])',\n 'details:not([tabindex=\"-1\"])',\n 'input:not([disabled]):not([tabindex=\"-1\"])',\n 'select:not([disabled]):not([tabindex=\"-1\"])',\n 'textarea:not([disabled]):not([tabindex=\"-1\"])',\n '[tabindex]:not([tabindex=\"-1\"])',\n ].join(\",\")))\n : [];\n return focusableElements.filter(function (el) {\n return !el.classList.contains(Classes.OVERLAY_START_FOCUS_TRAP) &&\n !el.classList.contains(Classes.OVERLAY_END_FOCUS_TRAP);\n });\n };\n Overlay.prototype.overlayWillClose = function () {\n document.removeEventListener(\"focus\", this.handleDocumentFocus, /* useCapture */ true);\n document.removeEventListener(\"mousedown\", this.handleDocumentClick);\n var openStack = Overlay_1.openStack;\n var stackIndex = openStack.indexOf(this);\n if (stackIndex !== -1) {\n openStack.splice(stackIndex, 1);\n if (openStack.length > 0) {\n var lastOpenedOverlay = Overlay_1.getLastOpened();\n // Only bring focus back to last overlay if it had autoFocus _and_ enforceFocus enabled.\n // If `autoFocus={false}`, it's likely that the overlay never received focus in the first place,\n // so it would be surprising for us to send it there. See https://github.com/palantir/blueprint/issues/4921\n if (lastOpenedOverlay.props.autoFocus && lastOpenedOverlay.props.enforceFocus) {\n lastOpenedOverlay.bringFocusInsideOverlay();\n document.addEventListener(\"focus\", lastOpenedOverlay.handleDocumentFocus, /* useCapture */ true);\n }\n }\n if (openStack.filter(function (o) { return o.props.usePortal && o.props.hasBackdrop; }).length === 0) {\n document.body.classList.remove(Classes.OVERLAY_OPEN);\n }\n }\n };\n Overlay.prototype.overlayWillOpen = function () {\n var getLastOpened = Overlay_1.getLastOpened, openStack = Overlay_1.openStack;\n if (openStack.length > 0) {\n document.removeEventListener(\"focus\", getLastOpened().handleDocumentFocus, /* useCapture */ true);\n }\n openStack.push(this);\n if (this.props.autoFocus) {\n this.isAutoFocusing = true;\n this.bringFocusInsideOverlay();\n }\n if (this.props.enforceFocus) {\n // Focus events do not bubble, but setting useCapture allows us to listen in and execute\n // our handler before all others\n document.addEventListener(\"focus\", this.handleDocumentFocus, /* useCapture */ true);\n }\n if (this.props.canOutsideClickClose && !this.props.hasBackdrop) {\n document.addEventListener(\"mousedown\", this.handleDocumentClick);\n }\n if (this.props.hasBackdrop && this.props.usePortal) {\n // add a class to the body to prevent scrolling of content below the overlay\n document.body.classList.add(Classes.OVERLAY_OPEN);\n }\n this.lastActiveElementBeforeOpened = document.activeElement;\n };\n var Overlay_1;\n Overlay.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Overlay\");\n Overlay.defaultProps = {\n autoFocus: true,\n backdropProps: {},\n canEscapeKeyClose: true,\n canOutsideClickClose: true,\n enforceFocus: true,\n hasBackdrop: true,\n isOpen: false,\n lazy: true,\n shouldReturnFocusOnClose: true,\n transitionDuration: 300,\n transitionName: Classes.OVERLAY,\n usePortal: true,\n };\n Overlay.openStack = [];\n Overlay.getLastOpened = function () { return Overlay_1.openStack[Overlay_1.openStack.length - 1]; };\n Overlay = Overlay_1 = __decorate([\n polyfill\n ], Overlay);\n return Overlay;\n}(AbstractPureComponent2));\nexport { Overlay };\n//# sourceMappingURL=overlay.js.map","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","var resizeObservers = [];\nexport { resizeObservers };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __decorate, __extends } from \"tslib\";\nimport { ResizeObserver } from \"@juggle/resize-observer\";\nimport * as React from \"react\";\nimport { findDOMNode } from \"react-dom\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { AbstractPureComponent2 } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\n/** `ResizeSensor` requires a single DOM element child and will error otherwise. */\nvar ResizeSensor = /** @class */ (function (_super) {\n __extends(ResizeSensor, _super);\n function ResizeSensor() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.element = null;\n _this.observer = new ResizeObserver(function (entries) { var _a, _b; return (_b = (_a = _this.props).onResize) === null || _b === void 0 ? void 0 : _b.call(_a, entries); });\n return _this;\n }\n ResizeSensor.prototype.render = function () {\n // pass-through render of single child\n return React.Children.only(this.props.children);\n };\n ResizeSensor.prototype.componentDidMount = function () {\n this.observeElement();\n };\n ResizeSensor.prototype.componentDidUpdate = function (prevProps) {\n this.observeElement(this.props.observeParents !== prevProps.observeParents);\n };\n ResizeSensor.prototype.componentWillUnmount = function () {\n this.observer.disconnect();\n };\n /**\n * Observe the DOM element, if defined and different from the currently\n * observed element. Pass `force` argument to skip element checks and always\n * re-observe.\n */\n ResizeSensor.prototype.observeElement = function (force) {\n if (force === void 0) { force = false; }\n var element = this.getElement();\n if (!(element instanceof Element)) {\n // stop everything if not defined\n this.observer.disconnect();\n return;\n }\n if (element === this.element && !force) {\n // quit if given same element -- nothing to update (unless forced)\n return;\n }\n else {\n // clear observer list if new element\n this.observer.disconnect();\n // remember element reference for next time\n this.element = element;\n }\n // observer callback is invoked immediately when observing new elements\n this.observer.observe(element);\n if (this.props.observeParents) {\n var parent_1 = element.parentElement;\n while (parent_1 != null) {\n this.observer.observe(parent_1);\n parent_1 = parent_1.parentElement;\n }\n }\n };\n ResizeSensor.prototype.getElement = function () {\n try {\n // using findDOMNode for two reasons:\n // 1. cloning to insert a ref is unwieldy and not performant.\n // 2. ensure that we resolve to an actual DOM node (instead of any JSX ref instance).\n // HACKHACK: see https://github.com/palantir/blueprint/issues/3979\n /* eslint-disable-next-line react/no-find-dom-node */\n return findDOMNode(this);\n }\n catch (_a) {\n // swallow error if findDOMNode is run on unmounted component.\n return null;\n }\n };\n ResizeSensor.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".ResizeSensor\");\n ResizeSensor = __decorate([\n polyfill\n ], ResizeSensor);\n return ResizeSensor;\n}(AbstractPureComponent2));\nexport { ResizeSensor };\n//# sourceMappingURL=resizeSensor.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __decorate, __extends, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { AbstractPureComponent2, Classes } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\n// eslint-disable-next-line import/no-cycle\nimport { Popover, PopoverInteractionKind } from \"../popover/popover\";\n/** @deprecated use { Tooltip2 } from \"@blueprintjs/popover2\" */\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // eslint-disable-next-line deprecation/deprecation\n _this.popover = null;\n return _this;\n }\n Tooltip.prototype.render = function () {\n var _a;\n var _this = this;\n var _b = this.props, children = _b.children, intent = _b.intent, popoverClassName = _b.popoverClassName, restProps = __rest(_b, [\"children\", \"intent\", \"popoverClassName\"]);\n var classes = classNames(Classes.TOOLTIP, (_a = {}, _a[Classes.MINIMAL] = this.props.minimal, _a), Classes.intentClass(intent), popoverClassName);\n return (\n /* eslint-disable deprecation/deprecation */\n React.createElement(Popover, __assign({ interactionKind: PopoverInteractionKind.HOVER_TARGET_ONLY, modifiers: { arrow: { enabled: !this.props.minimal } } }, restProps, { autoFocus: false, canEscapeKeyClose: false, enforceFocus: false, lazy: true, popoverClassName: classes, portalContainer: this.props.portalContainer, ref: function (ref) { return (_this.popover = ref); } }), children));\n };\n Tooltip.prototype.reposition = function () {\n if (this.popover != null) {\n this.popover.reposition();\n }\n };\n Tooltip.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Tooltip\");\n Tooltip.defaultProps = {\n hoverCloseDelay: 0,\n hoverOpenDelay: 100,\n minimal: false,\n transitionDuration: 100,\n };\n Tooltip = __decorate([\n polyfill\n ], Tooltip);\n return Tooltip;\n}(AbstractPureComponent2));\nexport { Tooltip };\n//# sourceMappingURL=tooltip.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// Popper placement utils\n// ======================\n/** Converts a full placement to one of the four positions by stripping text after the `-`. */\nexport function getPosition(placement) {\n return placement.split(\"-\")[0];\n}\n/** Returns true if position is left or right. */\nexport function isVerticalPosition(side) {\n return [\"left\", \"right\"].indexOf(side) !== -1;\n}\n/** Returns the opposite position. */\nexport function getOppositePosition(side) {\n switch (side) {\n case \"top\":\n return \"bottom\";\n case \"left\":\n return \"right\";\n case \"bottom\":\n return \"top\";\n default:\n return \"left\";\n }\n}\n/** Returns the CSS alignment keyword corresponding to given placement. */\nexport function getAlignment(placement) {\n var align = placement.split(\"-\")[1];\n switch (align) {\n case \"start\":\n return \"left\";\n case \"end\":\n return \"right\";\n default:\n return \"center\";\n }\n}\n// Popper modifiers\n// ================\n/** Modifier helper function to compute popper transform-origin based on arrow position */\nexport function getTransformOrigin(data) {\n var position = getPosition(data.placement);\n if (data.arrowElement == null) {\n return isVerticalPosition(position)\n ? \"\".concat(getOppositePosition(position), \" \").concat(getAlignment(position))\n : \"\".concat(getAlignment(position), \" \").concat(getOppositePosition(position));\n }\n else {\n var arrowSizeShift = data.arrowElement.clientHeight / 2;\n var arrow = data.offsets.arrow;\n // can use keyword for dimension without the arrow, to ease computation burden.\n // move origin by half arrow's height to keep it centered.\n return isVerticalPosition(position)\n ? \"\".concat(getOppositePosition(position), \" \").concat(arrow.top + arrowSizeShift, \"px\")\n : \"\".concat(arrow.left + arrowSizeShift, \"px \").concat(getOppositePosition(position));\n }\n}\n// additional space between arrow and edge of target\nvar ARROW_SPACING = 4;\n/** Popper modifier that offsets popper and arrow so arrow points out of the correct side */\nexport var arrowOffsetModifier = function (data) {\n if (data.arrowElement == null) {\n return data;\n }\n // our arrows have equal width and height\n var arrowSize = data.arrowElement.clientWidth;\n // this logic borrowed from original Popper arrow modifier itself\n var position = getPosition(data.placement);\n var isVertical = isVerticalPosition(position);\n var len = isVertical ? \"width\" : \"height\";\n var offsetSide = isVertical ? \"left\" : \"top\";\n var arrowOffsetSize = Math.round(arrowSize / 2 / Math.sqrt(2));\n // offset popover by arrow size, offset arrow in the opposite direction\n if (position === \"top\" || position === \"left\") {\n // the \"up & back\" directions require negative popper offsets\n data.offsets.popper[offsetSide] -= arrowOffsetSize + ARROW_SPACING;\n // can only use left/top on arrow so gotta get clever with 100% + X\n data.offsets.arrow[offsetSide] = data.offsets.popper[len] - arrowSize + arrowOffsetSize;\n }\n else {\n data.offsets.popper[offsetSide] += arrowOffsetSize + ARROW_SPACING;\n data.offsets.arrow[offsetSide] = -arrowOffsetSize;\n }\n return data;\n};\n//# sourceMappingURL=popperUtils.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport * as React from \"react\";\nimport * as Classes from \"../../common/classes\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nimport { getPosition } from \"./popperUtils\";\n// these paths come from the Core Kit Sketch file\n// https://github.com/palantir/blueprint/blob/develop/resources/sketch/Core%20Kit.sketch\nvar SVG_SHADOW_PATH = \"M8.11 6.302c1.015-.936 1.887-2.922 1.887-4.297v26c0-1.378\" +\n \"-.868-3.357-1.888-4.297L.925 17.09c-1.237-1.14-1.233-3.034 0-4.17L8.11 6.302z\";\nvar SVG_ARROW_PATH = \"M8.787 7.036c1.22-1.125 2.21-3.376 2.21-5.03V0v30-2.005\" +\n \"c0-1.654-.983-3.9-2.21-5.03l-7.183-6.616c-.81-.746-.802-1.96 0-2.7l7.183-6.614z\";\n/** Modifier helper function to compute arrow rotate() transform */\nfunction getArrowAngle(placement) {\n if (placement == null) {\n return 0;\n }\n // can only be top/left/bottom/right - auto is resolved internally\n switch (getPosition(placement)) {\n case \"top\":\n return -90;\n case \"left\":\n return 180;\n case \"bottom\":\n return 90;\n default:\n return 0;\n }\n}\nexport var PopoverArrow = function (_a) {\n var _b = _a.arrowProps, ref = _b.ref, style = _b.style, placement = _a.placement;\n return (React.createElement(\"div\", { className: Classes.POPOVER_ARROW, ref: ref, style: style.left == null || isNaN(+style.left) ? {} : style },\n React.createElement(\"svg\", { viewBox: \"0 0 30 30\", style: { transform: \"rotate(\".concat(getArrowAngle(placement), \"deg)\") } },\n React.createElement(\"path\", { className: Classes.POPOVER_ARROW + \"-border\", d: SVG_SHADOW_PATH }),\n React.createElement(\"path\", { className: Classes.POPOVER_ARROW + \"-fill\", d: SVG_ARROW_PATH }))));\n};\nPopoverArrow.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".PopoverArrow\");\n//# sourceMappingURL=popoverArrow.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Position } from \"../../common/position\";\n/**\n * Convert a position to a placement.\n *\n * @param position the position to convert\n */\nexport function positionToPlacement(position) {\n /* istanbul ignore next */\n switch (position) {\n case Position.TOP_LEFT:\n return \"top-start\";\n case Position.TOP:\n return \"top\";\n case Position.TOP_RIGHT:\n return \"top-end\";\n case Position.RIGHT_TOP:\n return \"right-start\";\n case Position.RIGHT:\n return \"right\";\n case Position.RIGHT_BOTTOM:\n return \"right-end\";\n case Position.BOTTOM_RIGHT:\n return \"bottom-end\";\n case Position.BOTTOM:\n return \"bottom\";\n case Position.BOTTOM_LEFT:\n return \"bottom-start\";\n case Position.LEFT_BOTTOM:\n return \"left-end\";\n case Position.LEFT:\n return \"left\";\n case Position.LEFT_TOP:\n return \"left-start\";\n case \"auto\":\n case \"auto-start\":\n case \"auto-end\":\n // Return the string unchanged.\n return position;\n default:\n return assertNever(position);\n }\n}\n/* istanbul ignore next */\nfunction assertNever(x) {\n throw new Error(\"Unexpected position: \" + x);\n}\n//# sourceMappingURL=popoverMigrationUtils.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __decorate, __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { Manager, Popper, Reference } from \"react-popper\";\nimport { AbstractPureComponent2, Classes, refHandler, setRef } from \"../../common\";\nimport * as Errors from \"../../common/errors\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nimport * as Utils from \"../../common/utils\";\nimport { Overlay } from \"../overlay/overlay\";\nimport { ResizeSensor } from \"../resize-sensor/resizeSensor\";\n// eslint-disable-next-line import/no-cycle\nimport { Tooltip } from \"../tooltip/tooltip\";\nimport { PopoverArrow } from \"./popoverArrow\";\nimport { positionToPlacement } from \"./popoverMigrationUtils\";\nimport { arrowOffsetModifier, getTransformOrigin } from \"./popperUtils\";\nexport var PopoverInteractionKind = {\n CLICK: \"click\",\n CLICK_TARGET_ONLY: \"click-target\",\n HOVER: \"hover\",\n HOVER_TARGET_ONLY: \"hover-target\",\n};\n/** @deprecated use { Popover2 } from \"@blueprintjs/popover2\" */\nvar Popover = /** @class */ (function (_super) {\n __extends(Popover, _super);\n function Popover() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // eslint-disable-next-line deprecation/deprecation\n _this.popoverRef = Utils.createReactRef();\n /**\n * DOM element that contains the popover.\n * When `usePortal={true}`, this element will be portaled outside the usual DOM flow,\n * so this reference can be very useful for testing.\n */\n _this.popoverElement = null;\n /** DOM element that contains the target. */\n _this.targetElement = null;\n _this.state = {\n hasDarkParent: false,\n isOpen: _this.getIsOpen(_this.props),\n transformOrigin: \"\",\n };\n // a flag that lets us detect mouse movement between the target and popover,\n // now that mouseleave is triggered when you cross the gap between the two.\n _this.isMouseInTargetOrPopover = false;\n // a flag that indicates whether the target previously lost focus to another\n // element on the same page.\n _this.lostFocusOnSamePage = true;\n _this.handlePopoverRef = refHandler(_this, \"popoverElement\", _this.props.popoverRef);\n _this.handleTargetRef = function (ref) { return (_this.targetElement = ref); };\n /**\n * Instance method to instruct the `Popover` to recompute its position.\n *\n * This method should only be used if you are updating the target in a way\n * that does not cause it to re-render, such as changing its _position_\n * without changing its _size_ (since `Popover` already repositions when it\n * detects a resize).\n */\n _this.reposition = function () { var _a; return (_a = _this.popperScheduleUpdate) === null || _a === void 0 ? void 0 : _a.call(_this); };\n _this.renderPopover = function (popperProps) {\n var _a;\n var _b = _this.props, interactionKind = _b.interactionKind, usePortal = _b.usePortal;\n var transformOrigin = _this.state.transformOrigin;\n // Need to update our reference to this on every render as it will change.\n _this.popperScheduleUpdate = popperProps.scheduleUpdate;\n var popoverHandlers = {\n // always check popover clicks for dismiss class\n onClick: _this.handlePopoverClick,\n };\n if (interactionKind === PopoverInteractionKind.HOVER ||\n (!usePortal && interactionKind === PopoverInteractionKind.HOVER_TARGET_ONLY)) {\n popoverHandlers.onMouseEnter = _this.handleMouseEnter;\n popoverHandlers.onMouseLeave = _this.handleMouseLeave;\n }\n var popoverClasses = classNames(Classes.POPOVER, (_a = {},\n _a[Classes.DARK] = _this.props.inheritDarkTheme && _this.state.hasDarkParent,\n _a[Classes.MINIMAL] = _this.props.minimal,\n _a[Classes.POPOVER_CAPTURING_DISMISS] = _this.props.captureDismiss,\n _a[Classes.POPOVER_OUT_OF_BOUNDARIES] = popperProps.outOfBoundaries === true,\n _a), _this.props.popoverClassName);\n return (React.createElement(\"div\", { className: Classes.TRANSITION_CONTAINER, ref: popperProps.ref, style: popperProps.style },\n React.createElement(ResizeSensor, { onResize: _this.reposition },\n React.createElement(\"div\", __assign({ className: popoverClasses, style: { transformOrigin: transformOrigin }, ref: _this.popoverRef }, popoverHandlers),\n _this.isArrowEnabled() && (React.createElement(PopoverArrow, { arrowProps: popperProps.arrowProps, placement: popperProps.placement })),\n React.createElement(\"div\", { className: Classes.POPOVER_CONTENT }, _this.understandChildren().content)))));\n };\n _this.renderTarget = function (referenceProps) {\n var _a, _b;\n var _c = _this.props, fill = _c.fill, openOnTargetFocus = _c.openOnTargetFocus, targetClassName = _c.targetClassName, _d = _c.targetProps, targetProps = _d === void 0 ? {} : _d;\n var isOpen = _this.state.isOpen;\n var isControlled = _this.isControlled();\n var isHoverInteractionKind = _this.isHoverInteractionKind();\n var targetTagName = _this.props.targetTagName;\n if (fill) {\n targetTagName = \"div\";\n }\n var finalTargetProps = isHoverInteractionKind\n ? {\n // HOVER handlers\n onBlur: _this.handleTargetBlur,\n onFocus: _this.handleTargetFocus,\n onMouseEnter: _this.handleMouseEnter,\n onMouseLeave: _this.handleMouseLeave,\n }\n : {\n // CLICK needs only one handler\n onClick: _this.handleTargetClick,\n };\n finalTargetProps[\"aria-haspopup\"] = \"true\";\n finalTargetProps.className = classNames(Classes.POPOVER_TARGET, (_a = {}, _a[Classes.POPOVER_OPEN] = isOpen, _a), targetProps.className, targetClassName);\n finalTargetProps.ref = referenceProps.ref;\n var rawTarget = Utils.ensureElement(_this.understandChildren().target);\n if (rawTarget === undefined) {\n return null;\n }\n var rawTabIndex = rawTarget.props.tabIndex;\n // ensure target is focusable if relevant prop enabled\n var tabIndex = rawTabIndex == null && openOnTargetFocus && isHoverInteractionKind ? 0 : rawTabIndex;\n var clonedTarget = React.cloneElement(rawTarget, {\n className: classNames(rawTarget.props.className, (_b = {},\n // this class is mainly useful for button targets; we should only apply it for uncontrolled popovers\n // when they are opened by a user interaction\n _b[Classes.ACTIVE] = isOpen && !isControlled && !isHoverInteractionKind,\n _b)),\n // force disable single Tooltip child when popover is open (BLUEPRINT-552)\n /* eslint-disable-next-line deprecation/deprecation */\n disabled: isOpen && Utils.isElementOfType(rawTarget, Tooltip) ? true : rawTarget.props.disabled,\n tabIndex: tabIndex,\n });\n var target = React.createElement(targetTagName, __assign(__assign({}, targetProps), finalTargetProps), clonedTarget);\n return React.createElement(ResizeSensor, { onResize: _this.reposition }, target);\n };\n _this.isControlled = function () { return _this.props.isOpen !== undefined; };\n _this.handleTargetFocus = function (e) {\n var _a, _b;\n if (_this.props.openOnTargetFocus && _this.isHoverInteractionKind()) {\n if (e.relatedTarget == null && !_this.lostFocusOnSamePage) {\n // ignore this focus event -- the target was already focused but the page itself\n // lost focus (e.g. due to switching tabs).\n return;\n }\n _this.handleMouseEnter(e);\n }\n (_b = (_a = _this.props.targetProps) === null || _a === void 0 ? void 0 : _a.onFocus) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n _this.handleTargetBlur = function (e) {\n var _a, _b;\n if (_this.props.openOnTargetFocus && _this.isHoverInteractionKind()) {\n // if the next element to receive focus is within the popover, we'll want to leave the\n // popover open. e.relatedTarget ought to tell us the next element to receive focus, but if the user just\n // clicked on an element which is not focusable (either by default or with a tabIndex attribute),\n // it won't be set. So, we filter those out here and assume that a click handler somewhere else will\n // close the popover if necessary.\n if (e.relatedTarget != null && !_this.isElementInPopover(e.relatedTarget)) {\n _this.handleMouseLeave(e);\n }\n }\n _this.lostFocusOnSamePage = e.relatedTarget != null;\n (_b = (_a = _this.props.targetProps) === null || _a === void 0 ? void 0 : _a.onBlur) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n _this.handleMouseEnter = function (e) {\n var _a, _b;\n _this.isMouseInTargetOrPopover = true;\n // if we're entering the popover, and the mode is set to be HOVER_TARGET_ONLY, we want to manually\n // trigger the mouse leave event, as hovering over the popover shouldn't count.\n if (!_this.props.usePortal &&\n _this.isElementInPopover(e.target) &&\n _this.props.interactionKind === PopoverInteractionKind.HOVER_TARGET_ONLY &&\n !_this.props.openOnTargetFocus) {\n _this.handleMouseLeave(e);\n }\n else if (!_this.props.disabled) {\n // only begin opening popover when it is enabled\n _this.setOpenState(true, e, _this.props.hoverOpenDelay);\n }\n (_b = (_a = _this.props.targetProps) === null || _a === void 0 ? void 0 : _a.onMouseEnter) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n _this.handleMouseLeave = function (e) {\n var _a, _b;\n _this.isMouseInTargetOrPopover = false;\n // wait until the event queue is flushed, because we want to leave the\n // popover open if the mouse entered the popover immediately after\n // leaving the target (or vice versa).\n _this.setTimeout(function () {\n if (_this.isMouseInTargetOrPopover) {\n return;\n }\n // user-configurable closing delay is helpful when moving mouse from target to popover\n _this.setOpenState(false, e, _this.props.hoverCloseDelay);\n });\n (_b = (_a = _this.props.targetProps) === null || _a === void 0 ? void 0 : _a.onMouseLeave) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n _this.handlePopoverClick = function (e) {\n var eventTarget = e.target;\n var eventPopover = eventTarget.closest(\".\".concat(Classes.POPOVER));\n var isEventFromSelf = eventPopover === _this.popoverRef.current;\n var isEventPopoverCapturing = eventPopover === null || eventPopover === void 0 ? void 0 : eventPopover.classList.contains(Classes.POPOVER_CAPTURING_DISMISS);\n // an OVERRIDE inside a DISMISS does not dismiss, and a DISMISS inside an OVERRIDE will dismiss.\n var dismissElement = eventTarget.closest(\".\".concat(Classes.POPOVER_DISMISS, \", .\").concat(Classes.POPOVER_DISMISS_OVERRIDE));\n var shouldDismiss = dismissElement != null && dismissElement.classList.contains(Classes.POPOVER_DISMISS);\n var isDisabled = eventTarget.closest(\":disabled, .\".concat(Classes.DISABLED)) != null;\n if (shouldDismiss && !isDisabled && (!isEventPopoverCapturing || isEventFromSelf)) {\n _this.setOpenState(false, e);\n }\n };\n _this.handleOverlayClose = function (e) {\n if (_this.targetElement === null || e === undefined) {\n return;\n }\n var eventTarget = e.target;\n // if click was in target, target event listener will handle things, so don't close\n if (!Utils.elementIsOrContains(_this.targetElement, eventTarget) || e.nativeEvent instanceof KeyboardEvent) {\n _this.setOpenState(false, e);\n }\n };\n _this.handleTargetClick = function (e) {\n var _a, _b;\n // ensure click did not originate from within inline popover before closing\n if (!_this.props.disabled && !_this.isElementInPopover(e.target)) {\n if (_this.props.isOpen == null) {\n _this.setState(function (prevState) { return ({ isOpen: !prevState.isOpen }); });\n }\n else {\n _this.setOpenState(!_this.props.isOpen, e);\n }\n }\n (_b = (_a = _this.props.targetProps) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n /** Popper modifier that updates React state (for style properties) based on latest data. */\n _this.updatePopoverState = function (data) {\n // always set string; let shouldComponentUpdate determine if update is necessary\n _this.setState({ transformOrigin: getTransformOrigin(data) });\n return data;\n };\n return _this;\n }\n Popover.prototype.render = function () {\n var _a;\n var _b;\n // rename wrapper tag to begin with uppercase letter so it's recognized\n // as JSX component instead of intrinsic element. but because of its\n // type, tsc actually recognizes that it is _any_ intrinsic element, so\n // it can typecheck the HTML props!!\n var _c = this.props, className = _c.className, disabled = _c.disabled, fill = _c.fill, placement = _c.placement, _d = _c.position, position = _d === void 0 ? \"auto\" : _d, shouldReturnFocusOnClose = _c.shouldReturnFocusOnClose;\n var isOpen = this.state.isOpen;\n var wrapperTagName = this.props.wrapperTagName;\n if (fill) {\n wrapperTagName = \"div\";\n }\n var isContentEmpty = Utils.ensureElement(this.understandChildren().content) == null;\n // need to do this check in render(), because `isOpen` is derived from\n // state, and state can't necessarily be accessed in validateProps.\n if (isContentEmpty && !disabled && isOpen !== false && !Utils.isNodeEnv(\"production\")) {\n console.warn(Errors.POPOVER_WARN_EMPTY_CONTENT);\n }\n var wrapperClasses = classNames(Classes.POPOVER_WRAPPER, className, (_a = {},\n _a[Classes.FILL] = fill,\n _a));\n var defaultAutoFocus = this.isHoverInteractionKind() ? false : undefined;\n var wrapper = React.createElement(wrapperTagName, { className: wrapperClasses }, React.createElement(Reference, { innerRef: this.handleTargetRef }, this.renderTarget), React.createElement(Overlay, { autoFocus: (_b = this.props.autoFocus) !== null && _b !== void 0 ? _b : defaultAutoFocus, backdropClassName: Classes.POPOVER_BACKDROP, backdropProps: this.props.backdropProps, canEscapeKeyClose: this.props.canEscapeKeyClose, canOutsideClickClose: this.props.interactionKind === PopoverInteractionKind.CLICK, className: this.props.portalClassName, enforceFocus: this.props.enforceFocus, hasBackdrop: this.props.hasBackdrop, isOpen: isOpen && !isContentEmpty, onClose: this.handleOverlayClose, onClosed: this.props.onClosed, onClosing: this.props.onClosing, onOpened: this.props.onOpened, onOpening: this.props.onOpening, transitionDuration: this.props.transitionDuration, transitionName: Classes.POPOVER, usePortal: this.props.usePortal, portalContainer: this.props.portalContainer, \n // if hover interaciton, it doesn't make sense to take over focus control\n shouldReturnFocusOnClose: this.isHoverInteractionKind() ? false : shouldReturnFocusOnClose },\n React.createElement(Popper, { innerRef: this.handlePopoverRef, placement: placement !== null && placement !== void 0 ? placement : positionToPlacement(position), modifiers: this.getPopperModifiers() }, this.renderPopover)));\n return React.createElement(Manager, null, wrapper);\n };\n Popover.prototype.componentDidMount = function () {\n this.updateDarkParent();\n };\n Popover.prototype.componentDidUpdate = function (prevProps, prevState) {\n _super.prototype.componentDidUpdate.call(this, prevProps, prevState);\n if (prevProps.popoverRef !== this.props.popoverRef) {\n setRef(prevProps.popoverRef, null);\n this.handlePopoverRef = refHandler(this, \"popoverElement\", this.props.popoverRef);\n setRef(this.props.popoverRef, this.popoverElement);\n }\n this.updateDarkParent();\n var nextIsOpen = this.getIsOpen(this.props);\n if (this.props.isOpen != null && nextIsOpen !== this.state.isOpen) {\n this.setOpenState(nextIsOpen);\n // tricky: setOpenState calls setState only if this.props.isOpen is\n // not controlled, so we need to invoke setState manually here.\n this.setState({ isOpen: nextIsOpen });\n }\n else if (this.props.disabled && this.state.isOpen && this.props.isOpen == null) {\n // special case: close an uncontrolled popover when disabled is set to true\n this.setOpenState(false);\n }\n };\n Popover.prototype.validateProps = function (props) {\n if (props.isOpen == null && props.onInteraction != null) {\n console.warn(Errors.POPOVER_WARN_UNCONTROLLED_ONINTERACTION);\n }\n if (props.hasBackdrop && !props.usePortal) {\n console.warn(Errors.POPOVER_WARN_HAS_BACKDROP_INLINE);\n }\n if (props.hasBackdrop && props.interactionKind !== PopoverInteractionKind.CLICK) {\n console.error(Errors.POPOVER_HAS_BACKDROP_INTERACTION);\n }\n if (props.placement !== undefined && props.position !== undefined) {\n console.warn(Errors.POPOVER_WARN_PLACEMENT_AND_POSITION_MUTEX);\n }\n var childrenCount = React.Children.count(props.children);\n var hasContentProp = props.content !== undefined;\n var hasTargetProp = props.target !== undefined;\n if (childrenCount === 0 && !hasTargetProp) {\n console.error(Errors.POPOVER_REQUIRES_TARGET);\n }\n if (childrenCount > 2) {\n console.warn(Errors.POPOVER_WARN_TOO_MANY_CHILDREN);\n }\n if (childrenCount > 0 && hasTargetProp) {\n console.warn(Errors.POPOVER_WARN_DOUBLE_TARGET);\n }\n if (childrenCount === 2 && hasContentProp) {\n console.warn(Errors.POPOVER_WARN_DOUBLE_CONTENT);\n }\n };\n Popover.prototype.updateDarkParent = function () {\n if (this.props.usePortal && this.state.isOpen) {\n var hasDarkParent = this.targetElement != null && this.targetElement.closest(\".\".concat(Classes.DARK)) != null;\n this.setState({ hasDarkParent: hasDarkParent });\n }\n };\n // content and target can be specified as props or as children. this method\n // normalizes the two approaches, preferring child over prop.\n Popover.prototype.understandChildren = function () {\n var _a = this.props, children = _a.children, contentProp = _a.content, targetProp = _a.target;\n // #validateProps asserts that 1 <= children.length <= 2 so content is optional\n var _b = React.Children.toArray(children), targetChild = _b[0], contentChild = _b[1];\n return {\n content: contentChild == null ? contentProp : contentChild,\n target: targetChild == null ? targetProp : targetChild,\n };\n };\n Popover.prototype.getIsOpen = function (props) {\n // disabled popovers should never be allowed to open.\n if (props.disabled) {\n return false;\n }\n else if (props.isOpen != null) {\n return props.isOpen;\n }\n else {\n return props.defaultIsOpen;\n }\n };\n Popover.prototype.getPopperModifiers = function () {\n var _a = this.props, boundary = _a.boundary, modifiers = _a.modifiers;\n var _b = modifiers, _c = _b.flip, flip = _c === void 0 ? {} : _c, _d = _b.preventOverflow, preventOverflow = _d === void 0 ? {} : _d;\n return __assign(__assign({}, modifiers), { arrowOffset: {\n enabled: this.isArrowEnabled(),\n fn: arrowOffsetModifier,\n order: 510,\n }, flip: __assign({ boundariesElement: boundary }, flip), preventOverflow: __assign({ boundariesElement: boundary }, preventOverflow), updatePopoverState: {\n enabled: true,\n fn: this.updatePopoverState,\n order: 900,\n } });\n };\n // a wrapper around setState({isOpen}) that will call props.onInteraction instead when in controlled mode.\n // starts a timeout to delay changing the state if a non-zero duration is provided.\n Popover.prototype.setOpenState = function (isOpen, e, timeout) {\n var _this = this;\n var _a, _b, _c, _d, _e;\n // cancel any existing timeout because we have new state\n (_a = this.cancelOpenTimeout) === null || _a === void 0 ? void 0 : _a.call(this);\n if (timeout !== undefined && timeout > 0) {\n this.cancelOpenTimeout = this.setTimeout(function () { return _this.setOpenState(isOpen, e); }, timeout);\n }\n else {\n if (this.props.isOpen == null) {\n this.setState({ isOpen: isOpen });\n }\n else {\n (_c = (_b = this.props).onInteraction) === null || _c === void 0 ? void 0 : _c.call(_b, isOpen, e);\n }\n if (!isOpen) {\n // non-null assertion because the only time `e` is undefined is when in controlled mode\n // or the rare special case in uncontrolled mode when the `disabled` flag is toggled true\n (_e = (_d = this.props).onClose) === null || _e === void 0 ? void 0 : _e.call(_d, e);\n }\n }\n };\n Popover.prototype.isArrowEnabled = function () {\n var _a = this.props, minimal = _a.minimal, modifiers = _a.modifiers;\n // omitting `arrow` from `modifiers` uses Popper default, which does show an arrow.\n return !minimal && ((modifiers === null || modifiers === void 0 ? void 0 : modifiers.arrow) == null || modifiers.arrow.enabled);\n };\n Popover.prototype.isElementInPopover = function (element) {\n var _a;\n return (_a = this.popoverElement) === null || _a === void 0 ? void 0 : _a.contains(element);\n };\n Popover.prototype.isHoverInteractionKind = function () {\n return (this.props.interactionKind === PopoverInteractionKind.HOVER ||\n this.props.interactionKind === PopoverInteractionKind.HOVER_TARGET_ONLY);\n };\n Popover.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Popover\");\n Popover.defaultProps = {\n boundary: \"scrollParent\",\n captureDismiss: false,\n defaultIsOpen: false,\n disabled: false,\n fill: false,\n hasBackdrop: false,\n hoverCloseDelay: 300,\n hoverOpenDelay: 150,\n inheritDarkTheme: true,\n interactionKind: PopoverInteractionKind.CLICK,\n minimal: false,\n modifiers: {},\n openOnTargetFocus: true,\n shouldReturnFocusOnClose: false,\n // N.B. we don't set a default for `placement` or `position` here because that would trigger\n // a warning in validateProps if the other prop is specified by a user of this component\n targetTagName: \"span\",\n transitionDuration: 300,\n usePortal: true,\n wrapperTagName: \"span\",\n };\n Popover = __decorate([\n polyfill\n ], Popover);\n return Popover;\n}(AbstractPureComponent2));\nexport { Popover };\n//# sourceMappingURL=popover.js.map","/*\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { isFunction } from \"./functionUtils\";\nexport function elementIsOrContains(element, testElement) {\n return element === testElement || element.contains(testElement);\n}\n/**\n * Throttle an event on an EventTarget by wrapping it in a\n * `requestAnimationFrame` call. Returns the event handler that was bound to\n * given eventName so you can clean up after yourself.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/Events/scroll\n */\nexport function throttleEvent(target, eventName, newEventName) {\n var throttledFunc = throttleImpl(function (event) {\n target.dispatchEvent(new CustomEvent(newEventName, event));\n });\n target.addEventListener(eventName, throttledFunc);\n return throttledFunc;\n}\n/**\n * Throttle a callback by wrapping it in a `requestAnimationFrame` call. Returns\n * the throttled function.\n *\n * @see https://www.html5rocks.com/en/tutorials/speed/animations/\n */\nexport function throttleReactEventCallback(callback, options) {\n if (options === void 0) { options = {}; }\n var throttledFunc = throttleImpl(callback, function (event2) {\n if (options.preventDefault) {\n event2.preventDefault();\n }\n }, \n // prevent React from reclaiming the event object before we reference it\n function (event2) { return event2.persist(); });\n return throttledFunc;\n}\n/**\n * Throttle a method by wrapping it in a `requestAnimationFrame` call. Returns\n * the throttled function.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function throttle(method) {\n return throttleImpl(method);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction throttleImpl(onAnimationFrameRequested, onBeforeIsRunningCheck, onAfterIsRunningCheck) {\n var isRunning = false;\n var func = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n // don't use safeInvoke, because we might have more than its max number\n // of typed params\n if (isFunction(onBeforeIsRunningCheck)) {\n onBeforeIsRunningCheck.apply(void 0, args);\n }\n if (isRunning) {\n return;\n }\n isRunning = true;\n if (isFunction(onAfterIsRunningCheck)) {\n onAfterIsRunningCheck.apply(void 0, args);\n }\n requestAnimationFrame(function () {\n onAnimationFrameRequested.apply(void 0, args);\n isRunning = false;\n });\n };\n return func;\n}\n//# sourceMappingURL=domUtils.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __decorate, __extends, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { AbstractPureComponent2, Classes } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nvar Text = /** @class */ (function (_super) {\n __extends(Text, _super);\n function Text() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n isContentOverflowing: false,\n textContent: \"\",\n };\n _this.textRef = null;\n return _this;\n }\n Text.prototype.componentDidMount = function () {\n this.update();\n };\n Text.prototype.componentDidUpdate = function () {\n this.update();\n };\n Text.prototype.render = function () {\n var _a;\n var _this = this;\n var _b = this.props, children = _b.children, className = _b.className, ellipsize = _b.ellipsize, _c = _b.tagName, tagName = _c === void 0 ? \"div\" : _c, title = _b.title, htmlProps = __rest(_b, [\"children\", \"className\", \"ellipsize\", \"tagName\", \"title\"]);\n var classes = classNames(className, (_a = {},\n _a[Classes.TEXT_OVERFLOW_ELLIPSIS] = ellipsize,\n _a));\n return React.createElement(tagName, __assign(__assign({}, htmlProps), { className: classes, ref: function (ref) { return (_this.textRef = ref); }, title: title !== null && title !== void 0 ? title : (this.state.isContentOverflowing ? this.state.textContent : undefined) }), children);\n };\n Text.prototype.update = function () {\n var _a;\n if (((_a = this.textRef) === null || _a === void 0 ? void 0 : _a.textContent) == null) {\n return;\n }\n var newState = {\n isContentOverflowing: this.props.ellipsize && this.textRef.scrollWidth > this.textRef.clientWidth,\n textContent: this.textRef.textContent,\n };\n this.setState(newState);\n };\n Text.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Text\");\n Text.defaultProps = {\n ellipsize: false,\n };\n Text = __decorate([\n polyfill\n ], Text);\n return Text;\n}(AbstractPureComponent2));\nexport { Text };\n//# sourceMappingURL=text.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __decorate, __extends, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { AbstractPureComponent2, Classes, Position } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nimport { Icon } from \"../icon/icon\";\nimport { Popover, PopoverInteractionKind } from \"../popover/popover\";\nimport { Text } from \"../text/text\";\n// this cyclic import can be removed in v4.0 (https://github.com/palantir/blueprint/issues/3829)\n// eslint-disable-next-line import/no-cycle\nimport { Menu } from \"./menu\";\nvar MenuItem = /** @class */ (function (_super) {\n __extends(MenuItem, _super);\n function MenuItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MenuItem.prototype.render = function () {\n var _a, _b;\n var _c = this.props, active = _c.active, className = _c.className, children = _c.children, disabled = _c.disabled, icon = _c.icon, intent = _c.intent, labelClassName = _c.labelClassName, labelElement = _c.labelElement, multiline = _c.multiline, popoverProps = _c.popoverProps, shouldDismissPopover = _c.shouldDismissPopover, text = _c.text, textClassName = _c.textClassName, _d = _c.tagName, tagName = _d === void 0 ? \"a\" : _d, htmlTitle = _c.htmlTitle, htmlProps = __rest(_c, [\"active\", \"className\", \"children\", \"disabled\", \"icon\", \"intent\", \"labelClassName\", \"labelElement\", \"multiline\", \"popoverProps\", \"shouldDismissPopover\", \"text\", \"textClassName\", \"tagName\", \"htmlTitle\"]);\n var hasSubmenu = children != null;\n var intentClass = Classes.intentClass(intent);\n var anchorClasses = classNames(Classes.MENU_ITEM, intentClass, (_a = {},\n _a[Classes.ACTIVE] = active,\n _a[Classes.INTENT_PRIMARY] = active && intentClass == null,\n _a[Classes.DISABLED] = disabled,\n // prevent popover from closing when clicking on submenu trigger or disabled item\n _a[Classes.POPOVER_DISMISS] = shouldDismissPopover && !disabled && !hasSubmenu,\n _a), className);\n var target = React.createElement(tagName, __assign(__assign(__assign({ tabIndex: 0 }, htmlProps), (disabled ? DISABLED_PROPS : {})), { className: anchorClasses }), React.createElement(Icon, { icon: icon, \"aria-hidden\": true, tabIndex: -1 }), React.createElement(Text, { className: classNames(Classes.FILL, textClassName), ellipsize: !multiline, title: htmlTitle }, text), this.maybeRenderLabel(labelElement), hasSubmenu ? React.createElement(Icon, { title: \"Open sub menu\", icon: \"caret-right\" }) : undefined);\n var liClasses = classNames((_b = {}, _b[Classes.MENU_SUBMENU] = hasSubmenu, _b));\n return React.createElement(\"li\", { className: liClasses }, this.maybeRenderPopover(target, children));\n };\n MenuItem.prototype.maybeRenderLabel = function (labelElement) {\n var _a = this.props, label = _a.label, labelClassName = _a.labelClassName;\n if (label == null && labelElement == null) {\n return null;\n }\n return (React.createElement(\"span\", { className: classNames(Classes.MENU_ITEM_LABEL, labelClassName) },\n label,\n labelElement));\n };\n MenuItem.prototype.maybeRenderPopover = function (target, children) {\n if (children == null) {\n return target;\n }\n var _a = this.props, disabled = _a.disabled, popoverProps = _a.popoverProps;\n return (\n /* eslint-disable-next-line deprecation/deprecation */\n React.createElement(Popover, __assign({ autoFocus: false, captureDismiss: false, disabled: disabled, enforceFocus: false, hoverCloseDelay: 0, interactionKind: PopoverInteractionKind.HOVER, modifiers: SUBMENU_POPOVER_MODIFIERS, position: Position.RIGHT_TOP, usePortal: false }, popoverProps, { content: React.createElement(Menu, null, children), minimal: true, popoverClassName: classNames(Classes.MENU_SUBMENU, popoverProps === null || popoverProps === void 0 ? void 0 : popoverProps.popoverClassName), target: target })));\n };\n MenuItem.defaultProps = {\n disabled: false,\n multiline: false,\n popoverProps: {},\n shouldDismissPopover: true,\n text: \"\",\n };\n MenuItem.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".MenuItem\");\n MenuItem = __decorate([\n polyfill\n ], MenuItem);\n return MenuItem;\n}(AbstractPureComponent2));\nexport { MenuItem };\nvar SUBMENU_POPOVER_MODIFIERS = {\n // 20px padding - scrollbar width + a bit\n flip: { boundariesElement: \"viewport\", padding: 20 },\n // shift popover up 5px so MenuItems align\n offset: { offset: -5 },\n preventOverflow: { boundariesElement: \"viewport\", padding: 20 },\n};\n// props to ignore when disabled\nvar DISABLED_PROPS = {\n href: undefined,\n onClick: undefined,\n onMouseDown: undefined,\n onMouseEnter: undefined,\n onMouseLeave: undefined,\n tabIndex: -1,\n};\n//# sourceMappingURL=menuItem.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __decorate, __extends, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { AbstractPureComponent2, Classes } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nimport { MenuDivider } from \"./menuDivider\";\n// this cyclic import can be removed in v4.0 (https://github.com/palantir/blueprint/issues/3829)\n// eslint-disable-next-line import/no-cycle\nimport { MenuItem } from \"./menuItem\";\nvar Menu = /** @class */ (function (_super) {\n __extends(Menu, _super);\n function Menu() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Menu.prototype.render = function () {\n var _a;\n var _b = this.props, className = _b.className, children = _b.children, large = _b.large, ulRef = _b.ulRef, htmlProps = __rest(_b, [\"className\", \"children\", \"large\", \"ulRef\"]);\n var classes = classNames(Classes.MENU, (_a = {}, _a[Classes.LARGE] = large, _a), className);\n return (React.createElement(\"ul\", __assign({}, htmlProps, { className: classes, ref: ulRef }), children));\n };\n Menu.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Menu\");\n /** @deprecated use MenuDivider */\n Menu.Divider = MenuDivider;\n /** @deprecated use MenuItem*/\n Menu.Item = MenuItem;\n Menu = __decorate([\n polyfill\n ], Menu);\n return Menu;\n}(AbstractPureComponent2));\nexport { Menu };\n//# sourceMappingURL=menu.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { SourcePage } from './source-page';\n\nexport interface LCAIImage {\n alt: string;\n name: string;\n position?: string;\n}\n\nexport const IMAGES = {\n AddressImage: { alt: 'View of earth from space', name: 'location' },\n BillUploadImage: {\n alt: 'Bungalow with solar panels with lots of shrubs and two trees in the foreground',\n name: 'bill-upload',\n position: '0% 90%',\n },\n ComingSoonImage: {\n alt: 'Women in kitchen with wood shelves containing dishes',\n name: 'coming-soon',\n },\n DropOffImage: {\n alt: \"Bird's-eye view of a neighborhood at sunrise showing roofs with and without solar\",\n name: 'drop-off',\n },\n LandingImage: {\n alt: 'Patio scene with solar home in background',\n name: 'how-it-works',\n position: 'center 30%',\n },\n ProfileReviewImage: {\n alt: 'An older couple reviewing their solar needs with a solar expert',\n name: 'profile-review',\n position: '60% 10%',\n },\n QuoteImage: {\n alt: 'Yellow brick house with solar panels with greenery in foreground',\n name: 'get-in-touch',\n },\n ThankYouImage: {\n alt: 'Open french doors to balcony containing potted plants with trees in the distance',\n name: 'thank-you',\n },\n UtilityImage: {\n alt: 'String of electric lights hanging between trees',\n name: 'savings',\n position: 'center 75%',\n },\n};\n\nconst MAPPED_IMAGES = {\n [SourcePage.ADDRESS]: IMAGES.AddressImage,\n [SourcePage.ADDRESS_DROP]: IMAGES.DropOffImage,\n [SourcePage.BILL_UPLOAD]: IMAGES.BillUploadImage,\n [SourcePage.ERROR]: IMAGES.ComingSoonImage,\n [SourcePage.GENERIC_DROP]: IMAGES.DropOffImage,\n [SourcePage.LANDING]: IMAGES.LandingImage,\n [SourcePage.OWNERSHIP_DROP]: IMAGES.ComingSoonImage,\n [SourcePage.QUOTE]: IMAGES.QuoteImage,\n [SourcePage.THANK_YOU]: IMAGES.ThankYouImage,\n [SourcePage.UTILITY]: IMAGES.UtilityImage,\n};\n\nexport function ImageMatcher(sourcePage: SourcePage): LCAIImage {\n return MAPPED_IMAGES[sourcePage];\n}\n","import styled from 'styled-components';\n\nimport { CustomImageFragment } from '../lead-capture.generated';\nimport { S3_IMAGE_LOCATION } from '../utils/constants';\nimport { ImageMatcher } from '../utils/image-matcher';\nimport { SourcePage } from '../utils/source-page';\n\nconst DEFAULT_POSITION = 'center';\n\nexport interface ImageProps {\n customImage?: CustomImageFragment | null;\n alt?: string;\n children?: JSX.Element;\n name?: string;\n position?: string;\n sourcePage?: SourcePage;\n}\n\nexport const Image = ({\n alt,\n children,\n customImage,\n name,\n position = DEFAULT_POSITION,\n sourcePage,\n}: ImageProps) => {\n const matchedImage = sourcePage && ImageMatcher(sourcePage);\n\n const webpSrc = `${S3_IMAGE_LOCATION + (matchedImage?.name || name)}.webp`;\n const jpgSrc = `${S3_IMAGE_LOCATION + (matchedImage?.name || name)}.jpg`;\n\n const url = (customImage?.isActive && customImage?.url) || webpSrc;\n const fallbackUrl = (customImage?.isActive && customImage?.fallbackUrl) || jpgSrc;\n const altText = (customImage?.isActive && customImage?.altText) || matchedImage?.alt || alt;\n const positionAttr = (!customImage?.isActive && matchedImage?.position) || position;\n\n return (\n \n \n \n {altText}\n \n {children}\n \n );\n};\n\nconst ImageContainer = styled.div`\n position: relative;\n height: 100%;\n`;\n\nconst Img = styled.img`\n object-fit: cover;\n object-position: ${(props: Pick) => `${props.position}`};\n height: 100%;\n width: 100%;\n`;\n"],"names":["NS","SELECT_POPOVER","shallowCompareKeysImpl","objA","objB","keys","include","isAllowlist","exclude","isDenylist","keysA","Object","keysB","keySet_1","arrayToObject","concat","forEach","key","filterKeys","every","hasOwnProperty","arr","reduce","obj","element","AbstractComponent2","_super","props","context","_this","call","this","timeoutIds","requestIds","clearTimeouts","length","_i","_a","timeoutId","window","clearTimeout","cancelAnimationFrames","requestId","cancelAnimationFrame","validateProps","prototype","componentDidUpdate","_prevProps","_prevState","_snapshot","componentWillUnmount","requestAnimationFrame","callback","handle","push","setTimeout","timeout","_props","executeItemsEqual","itemsEqualProp","itemA","itemB","undefined","isCreateNewItem","item","__blueprintCreateNewItemBrand","getActiveItem","activeItem","QueryList","refHandlers","itemsParent","ref","itemsParentRef","shouldCheckActiveItemInViewport","expectedNextActiveItem","renderItemList","listProps","initialContent","noResults","menuContent","query","items","filteredItems","map","renderItem","filter","renderFilteredItems","isCreateItemRendered","createItemView","renderCreateItemMenuItem","state","ulRef","index","disabled","matchesPredicate","indexOf","modifiers","active","itemsEqual","isItemDisabled","itemDisabled","itemRenderer","handleClick","e","handleItemSelect","isActive","createNewItemRenderer","evt","handleItemCreate","createNewItemFromQuery","onItemSelect","setQuery","event","setActiveItem","resetOnSelect","handlePaste","queries","nextActiveItem","onItemsPaste","nextQueries","pastedItemsToEmit","queries_1","equalItem","getMatchingItem","canCreateItems","newItem","join","handleKeyDown","keyCode","preventDefault","getNextActiveItem","onKeyDown","handleKeyUp","onKeyUp","handleQueryChange","target","value","onQueryChange","_b","createNewItem","getFilteredItems","initialActiveItem","getFirstEnabledItem","ofType","render","className","renderer","itemListRenderer","_c","spreadableState","itemList","prevProps","setState","resetOnQuery","Array","isArray","scrollActiveItemIntoView","scrollToActiveItem","externalChangeToActiveItem","activeElement","getActiveElement","activeTop","offsetTop","activeHeight","offsetHeight","parentOffsetTop","parentScrollTop","scrollTop","parentHeight","clientHeight","getItemsParentPadding","paddingTop","activeBottomEdge","paddingBottom","activeTopEdge","resetActiveItem","activeIndex","getActiveIndex","onActiveItemChange","children","i","getComputedStyle","pxToNumber","direction","startIndex","wouldCreatedItemMatchSomeExistingItem","some","displayName","defaultProps","parseInt","slice","itemPredicate","itemListPredicate","min","max","maxIndex","_d","Alignment","CENTER","LEFT","RIGHT","Elevation","Intent","NONE","PRIMARY","SUCCESS","WARNING","DANGER","process","env","BLUEPRINT_NAMESPACE","REACT_APP_BLUEPRINT_NAMESPACE","ACTIVE","ALIGN_LEFT","ALIGN_RIGHT","DARK","DISABLED","FILL","LARGE","LOADING","MINIMAL","OUTLINED","ROUND","SMALL","INTENT_PRIMARY","positionClass","TOP","BOTTOM","elevationClass","intentClass","TEXT_OVERFLOW_ELLIPSIS","BLOCKQUOTE","CODE","CODE_BLOCK","HEADING","LIST","ALERT","BREADCRUMB","BUTTON","BUTTON_SPINNER","BUTTON_TEXT","CALLOUT","COLLAPSE","CONTEXT_MENU","DIALOG","DIALOG_STEP","DRAWER","EDITABLE_TEXT","HTML_TABLE","INPUT","INPUT_GROUP","INPUT_LEFT_CONTAINER","INPUT_ACTION","CONTROL","CONTROL_INDICATOR","SWITCH","KEY","HOTKEY","LABEL","MENU","MENU_ITEM","MENU_ITEM_LABEL","MENU_SUBMENU","MENU_DIVIDER","MENU_HEADER","MULTISTEP_DIALOG","NAVBAR","NON_IDEAL_STATE","OVERFLOW_LIST","OVERLAY","OVERLAY_BACKDROP","OVERLAY_CONTENT","OVERLAY_INLINE","OVERLAY_OPEN","OVERLAY_START_FOCUS_TRAP","OVERLAY_END_FOCUS_TRAP","PANEL_STACK","POPOVER","POPOVER_ARROW","POPOVER_BACKDROP","POPOVER_CAPTURING_DISMISS","POPOVER_CONTENT","POPOVER_DISMISS","POPOVER_DISMISS_OVERRIDE","POPOVER_OPEN","POPOVER_OUT_OF_BOUNDARIES","POPOVER_TARGET","POPOVER_WRAPPER","TRANSITION_CONTAINER","PORTAL","SLIDER","SPINNER","SPINNER_ANIMATION","SPINNER_HEAD","SPINNER_NO_SPIN","SPINNER_TRACK","TAB","TAB_INDICATOR","TAG","TAG_INPUT","TOAST","TOOLTIP","TREE_NODE","TREE_NODE_CARET","ICON","getClassNamespace","alignmentClass","alignment","elevation","iconClass","iconName","intent","toLowerCase","position","ns","CLAMP_MIN_MAX","INPUT_WARN_LEFT_ELEMENT_LEFT_ICON_MUTEX","POPOVER_REQUIRES_TARGET","POPOVER_HAS_BACKDROP_INTERACTION","POPOVER_WARN_TOO_MANY_CHILDREN","POPOVER_WARN_DOUBLE_CONTENT","POPOVER_WARN_DOUBLE_TARGET","POPOVER_WARN_EMPTY_CONTENT","POPOVER_WARN_HAS_BACKDROP_INLINE","POPOVER_WARN_PLACEMENT_AND_POSITION_MUTEX","POPOVER_WARN_UNCONTROLLED_ONINTERACTION","PORTAL_CONTEXT_CLASS_NAME_STRING","SPINNER_WARN_CLASSES_SIZE","BACKSPACE","ENTER","ESCAPE","SPACE","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","isKeyboardClick","Position","BOTTOM_LEFT","BOTTOM_RIGHT","LEFT_BOTTOM","LEFT_TOP","RIGHT_BOTTOM","RIGHT_TOP","TOP_LEFT","TOP_RIGHT","DISPLAYNAME_PREFIX","INVALID_PROPS","removeNonHTMLProps","invalidProps","shouldMerge","prev","curr","isFunction","safeInvoke","func","args","arguments","apply","isNodeEnv","clamp","val","Error","Math","Map","safeInvokeMember","member","document","setRef","refTarget","current","isRefCallback","refHandler","refTargetParent","refTargetKey","refProp","isReactNodeEmpty","node","skipArray","n","ensureElement","child","tagName","trim","type","isReactElement","IconSize","AbstractPureComponent2","SpinnerSize","Icon","icon","color","htmlTitle","iconSize","size","STANDARD","title","htmlprops","pixelGridSize","paths","renderSvgPaths","classes","viewBox","fill","width","height","pathsSize","pathStrings","d","fillRule","SIZE_STANDARD","SIZE_LARGE","polyfill","R","PATH_LENGTH","Spinner","forceUpdate","getSize","strokeWidth","strokeOffset","role","toFixed","getViewBox","pathLength","strokeDasharray","strokeDashoffset","console","warn","radius","viewBoxX","viewBoxWidth","SIZE_SMALL","AbstractButton","which","currentKeyDown","buttonRef","click","handleBlur","onBlur","getCommonButtonProps","alignText","large","loading","outlined","minimal","small","tabIndex","onClick","renderChildren","rightIcon","text","maybeHasText","Button","handleRef","elementRef","AsyncControllableInput","AnchorButton","href","commonProps","hasPendingUpdate","isComposing","nextValue","cancelPendingCompositionEnd","handleCompositionStart","onCompositionStart","handleCompositionEnd","AsyncControllableInput_1","COMPOSITION_END_DELAY","onCompositionEnd","handleChange","onChange","getDerivedStateFromProps","nextProps","nextState","inputRef","restProps","InputGroup","leftElement","rightElement","asyncControl","round","inputGroupClasses","style","paddingLeft","leftElementWidth","paddingRight","rightElementWidth","inputProps","maybeRenderLeftElement","maybeRenderRightElement","componentDidMount","updateInputWidth","leftIcon","clientWidth","abs","htmlElement","tagClassName","htmlProps","H6","MenuDivider","cannotCreatePortal","REACT_CONTEXT_TYPES","blueprintPortalClassName","Portal","hasMounted","portalElement","container","createContainerElement","appendChild","onChildrenMount","unstableRenderNoPortal","classList","remove","split","maybeAddClass","createElement","add","contextTypes","body","ResizeObserverBoxOptions","Overlay","isAutoFocusing","hasEverOpened","isOpen","containerElement","startFocusTrapElement","endFocusTrapElement","findDOMNode","endFocusTrap","startFocusTrap","maybeRenderChild","decoratedChild","onOpening","onOpened","onClosing","transitionDuration","transitionName","CSSTransitionImplicit","CSSTransition","classNames","onEntering","onEntered","onExiting","onExited","handleTransitionExited","addEndListener","handleTransitionAddEnd","handleStartFocusTrapElementFocus","enforceFocus","relatedTarget","contains","focus","preventScroll","handleStartFocusTrapElementKeyDown","shiftKey","lastFocusableElement","getKeyboardFocusableElements","pop","handleEndFocusTrapElementFocus","firstFocusableElement","shift","shouldReturnFocusOnClose","lastActiveElementBeforeOpened","HTMLElement","onClosed","handleBackdropMouseDown","backdropProps","canOutsideClickClose","onClose","bringFocusInsideOverlay","onMouseDown","handleDocumentClick","eventTarget","composed","composedPath","stackIndex","Overlay_1","openStack","isClickInThisOverlayOrDescendant","elem","isSameNode","handleDocumentFocus","Node","stopImmediatePropagation","canEscapeKeyClose","lazy","autoFocus","usePortal","childrenWithTransitions","maybeBackdrop","maybeRenderBackdrop","unshift","renderDummyElement","onFocus","containerClasses","transitionGroup","TransitionGroup","appear","component","portalClassName","portalContainer","overlayWillOpen","overlayWillClose","backdropClassName","hasBackdrop","unmountOnExit","from","querySelectorAll","el","removeEventListener","splice","lastOpenedOverlay","getLastOpened","addEventListener","o","resizeObservers","msg","trigger","freeze","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","x","y","top","left","bottom","right","toJSON","fromRect","rectangle","isSVG","SVGElement","isHidden","getBBox","offsetWidth","getClientRects","isElement","Element","scope","ownerDocument","defaultView","global","cache","WeakMap","scrollRegexp","verticalRegexp","IE","test","navigator","userAgent","parseDimension","pixel","parseFloat","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","has","get","set","cs","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","horizontalPadding","verticalPadding","horizontalBorderArea","borderLeftWidth","verticalBorderArea","horizontalScrollbarThickness","verticalScrollbarThickness","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","Infinity","depth","parent","parentNode","broadcastActiveObservations","shallowestDepth","callbacks","ro","activeTargets","entries","ot","entry","targetDepth","lastReportedSize","observer","callbacks_1","gatherActiveObservationsAtDepth","skippedTargets","observationTargets","ErrorEvent","message","createEvent","initEvent","dispatchEvent","queueMicroTask","toggle_1","el_1","createTextNode","MutationObserver","cb","observe","characterData","textContent","watching","observerConfig","attributes","childList","subtree","events","time","Date","now","scheduled","scheduler","Scheduler","stopped","listener","schedule","run","until","elementsHaveResized","start","stop","name","disconnect","updateCount","ResizeObservation","CONTENT_BOX","isReplacedElement","display","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","ResizeObserverController","connect","detail","options","firstObservation","box","unobserve","lastObservation","ResizeObserver","TypeError","toString","ResizeSensor","onResize","only","observeElement","observeParents","force","getElement","parent_1","parentElement","Tooltip","popover","popoverClassName","Popover","interactionKind","PopoverInteractionKind","HOVER_TARGET_ONLY","arrow","enabled","reposition","hoverCloseDelay","hoverOpenDelay","getPosition","placement","isVerticalPosition","side","getOppositePosition","getAlignment","getTransformOrigin","data","arrowElement","arrowSizeShift","offsets","arrowOffsetModifier","arrowSize","isVertical","len","offsetSide","arrowOffsetSize","sqrt","popper","getArrowAngle","PopoverArrow","arrowProps","isNaN","transform","positionToPlacement","assertNever","CLICK","CLICK_TARGET_ONLY","HOVER","popoverRef","popoverElement","targetElement","hasDarkParent","getIsOpen","transformOrigin","isMouseInTargetOrPopover","lostFocusOnSamePage","handlePopoverRef","handleTargetRef","popperScheduleUpdate","renderPopover","popperProps","scheduleUpdate","popoverHandlers","handlePopoverClick","onMouseEnter","handleMouseEnter","onMouseLeave","handleMouseLeave","popoverClasses","inheritDarkTheme","captureDismiss","outOfBoundaries","isArrowEnabled","understandChildren","content","renderTarget","referenceProps","openOnTargetFocus","targetClassName","targetProps","isControlled","isHoverInteractionKind","targetTagName","finalTargetProps","handleTargetBlur","handleTargetFocus","handleTargetClick","rawTarget","ComponentType","rawTabIndex","clonedTarget","isElementInPopover","setOpenState","eventPopover","closest","isEventFromSelf","isEventPopoverCapturing","dismissElement","shouldDismiss","isDisabled","handleOverlayClose","testElement","nativeEvent","KeyboardEvent","prevState","updatePopoverState","wrapperTagName","isContentEmpty","wrapperClasses","defaultAutoFocus","wrapper","Reference","innerRef","Popper","getPopperModifiers","Manager","updateDarkParent","nextIsOpen","onInteraction","error","childrenCount","count","hasContentProp","hasTargetProp","contentProp","targetProp","toArray","targetChild","contentChild","defaultIsOpen","boundary","flip","preventOverflow","arrowOffset","fn","order","boundariesElement","_e","cancelOpenTimeout","Text","isContentOverflowing","textRef","update","ellipsize","newState","scrollWidth","MenuItem","labelElement","labelClassName","multiline","shouldDismissPopover","popoverProps","textClassName","hasSubmenu","anchorClasses","DISABLED_PROPS","maybeRenderLabel","liClasses","maybeRenderPopover","label","SUBMENU_POPOVER_MODIFIERS","Menu","padding","offset","Divider","Item","extendStatics","b","setPrototypeOf","__proto__","p","__extends","String","__","constructor","create","__assign","assign","t","s","__rest","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","IMAGES","AddressImage","alt","BillUploadImage","ComingSoonImage","DropOffImage","LandingImage","ProfileReviewImage","QuoteImage","ThankYouImage","UtilityImage","MAPPED_IMAGES","ADDRESS","ADDRESS_DROP","BILL_UPLOAD","ERROR","GENERIC_DROP","LANDING","OWNERSHIP_DROP","QUOTE","THANK_YOU","UTILITY","Image","customImage","sourcePage","matchedImage","ImageMatcher","webpSrc","jpgSrc","url","fallbackUrl","altText","positionAttr","ImageContainer","srcSet","Img","src","div","img"],"sourceRoot":""}